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 and decoding for units of a video sequence can improve coding efficiency. For example, some of the innovations relate to encoding/decoding that includes adaptive switching of color spaces between units within a video sequence. Other innovations relate encoding/decoding that includes adaptive switching of color sampling rates between units within a video sequence. Still other innovations relate encoding/decoding that includes adaptive switching of bit depths between units within a video sequence.
Claims21
-34. (canceled)
One or more computer-readable media storing computer-executable instructions for causing a computing device, when programmed thereby, to perform operations comprising:
- receiving encoded data in a bitstream, the encoded data including one or more signals indicating how color spaces, color sampling rates and/or bit depths switch between at least some units of video within a sequence, the color spaces including an RGB-type color space and a YCoCg color space, wherein the one or more signals include a flag value for a given unit of the units of the video, the flag value having been entropy coded using context-adaptive binary arithmetic coding, and wherein the flag value indicates a selection between the RGB-type color space and the YCoCg color space for the given unit;
- and
- decoding the encoded data, including:
- entropy decoding the flag value;
- switching the color spaces, the color sampling rates and/or the bit depths spatially and/or temporally between the at least some units of the video within the sequence during the decoding;
- and
- selectively performing deblock filtering of previously reconstructed content according to one or more rules, including adjusting strength of the deblock filtering depending on whether primary components of two adjacent blocks have non-zero residual values.
In a computing device that implements a video encoder, a method comprising:
- encoding video in a sequence, including:
- switching color spaces, color sampling rates and/or bit depths spatially and/or temporally between at least some units of the video within the sequence during the encoding, the color spaces including an RGB-type color space and a YCoCg color space;
- setting a flag value for a given unit of the units of the video, the flag value indicating a selection between the RGB-type color space and the YCoCg color space for the given unit;
- entropy coding the flag value using context-adaptive binary arithmetic coding;
- and
- selectively performing deblock filtering of previously reconstructed content according to one or more rules, including adjusting strength of the deblock filtering depending on whether primary components of two adjacent blocks have non-zero residual values;
- and
- outputting encoded data in a bitstream, the encoded data including one or more signals indicating how the color spaces, the color sampling rates and/or the bit depths switch between the at least some units of the video within the sequence, wherein the one or more signals include the flag value for the given unit.
A computer system comprising one or more processors and memory, wherein the computer system implements a video decoder configured to perform operations comprising:
- receiving encoded data in a bitstream, the encoded data including one or more signals indicating how color spaces, color sampling rates and/or bit depths switch between at least some units of video within a sequence, the color spaces including an RGB-type color space and a YCoCg color space, wherein the one or more signals include a flag value for a given unit of the units of the video, the flag value having been entropy coded using context-adaptive binary arithmetic coding, and wherein the flag value indicates a selection between the RGB-type color space and the YCoCg color space for the given unit;
- and
- decoding the encoded data, including:
- entropy decoding the flag value;
- switching the color spaces, the color sampling rates and/or the bit depths spatially and/or temporally between the at least some units of the video within the sequence during the decoding;
- and
- selectively performing deblock filtering of previously reconstructed content according to one or more rules, including adjusting strength of the deblock filtering depending on whether primary components of two adjacent blocks have non-zero residual values.
Dependencies are inferred from the claim text.