Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths
AssigneeMicrosoft Technology Licensing, LLC
InventorsBin Li, Jizheng Xu, Feng Wu
Life of this patent
Estimating the term…
Abstract
Innovations in adaptive encoding for units of a video sequence can improve coding efficiency. For example, some of the innovations relate to encoding that includes adaptive switching of color spaces between units within a video sequence. Other innovations relate encoding that includes adaptive switching of color sampling rates between units within a video sequence. Still other innovations relate encoding that includes adaptive switching of bit depths between units within a video sequence.
Claims21
-20. (canceled)
One or more non-transitory computer-readable media having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform encoding operations for a video encoder, the encoding operations comprising:
- encoding video in a sequence, thereby producing encoded data, wherein the encoding the video includes:
- determining that color space conversion operations between a first color space and a second color space are permitted, the second color space being different than the first color space;
- setting a value of a syntax element, for a parameter set, that indicates the color space conversion operations between the first color space and the second color space are permitted;
- and
- encoding multiple units of the video within the sequence, including, for a given unit among the multiple units:
- performing rate-distortion analysis to evaluate encoding of the given unit in the first color space and encoding of the given unit in the second color space, including performing the color space conversion operations between the first color space and the second color space for the given unit;
- selecting between the first color space and the second color space for the given unit depending on results of the rate-distortion analysis;
- setting a flag value for the given unit, the flag value indicating the selection between the first color space and the second color space for the given unit;
- and
- entropy coding the flag value using context-adaptive binary arithmetic coding;
- and
- outputting the encoded data in a bitstream, the encoded data including the parameter set and the flag value for the given unit.
A computer system comprising:
- a video encoder, implemented with one or more processing units of the computer system, configured to encode video in a sequence, thereby producing encoded data, by performing encoding operations that include:
- determining that color space conversion operations between a first color space and a second color space are permitted, the second color space being different than the first color space;
- setting a value of a syntax element, for a parameter set, that indicates the color space conversion operations between the first color space and the second color space are permitted;
- and
- encoding multiple units of the video within the sequence, including, for a given unit among the multiple units:
- evaluating one or more criteria for switching between encoding of the given unit in the first color space and encoding of the given unit in the second color space, including determining a type of video content for the given unit;
- selecting between the first color space and the second color space for the given unit depending on results of the evaluating the one or more criteria;
- setting a flag value for the given unit, the flag value indicating the selection between the first color space and the second color space for the given unit;
- and
- entropy coding the flag value using context-adaptive binary arithmetic coding;
- and
- a buffer, implemented with memory of the computer system, configured to store the encoded data for output in a bitstream, the encoded data including the parameter set and the flag value for the given unit.
In a computer system that implements a video encoder, a method comprising:
- encoding video in a sequence, thereby producing encoded data, wherein the encoding the video includes:
- determining that color space conversion operations between a first color space and a second color space are permitted, the second color space being different than the first color space;
- setting a value of a syntax element, for a parameter set, that indicates the color space conversion operations between the first color space and the second color space are permitted;
- and
- encoding multiple units of the video within the sequence, including, for a given unit among the multiple units:
- performing rate-distortion analysis to evaluate encoding of the given unit in the first color space and encoding of the given unit in the second color space, including performing the color space conversion operations between the first color space and the second color space for the given unit;
- selecting between the first color space and the second color space for the given unit depending on results of the rate-distortion analysis;
- setting a flag value for the given unit, the flag value indicating the selection between the first color space and the second color space for the given unit;
- and
- entropy coding the flag value using context-adaptive binary arithmetic coding;
- and
- outputting the encoded data in a bitstream, the encoded data including the parameter set and the flag value for the given unit.
Dependencies are inferred from the claim text.