# US 2016/0261884 A1 · Adaptive switching of color spaces, color sampling rates and/or bit depths

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2016/0261884 A1
- Document ID: US20160261884A1
- Status: Published application
- Kind: A1
- Application number: 15/029,242
- Filed: 2014-03-04
- Published: 2016-09-08
- Earliest claimed: 2014-03-04
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Bin Li; Jizheng Xu; Feng Wu
- Web page: https://patentgrep.com/patent/US20160261884A1

## CPC

- H04N 19/59: involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/157: Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/587: involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
- H04N 19/82: involving filtering within a prediction loop
- H04N 19/88: involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
- H04N 19/172: the region being a picture, frame or field
- H04N 19/61: in combination with predictive coding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## 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.

## Claims

### Claim 1

A computing device comprising:
one or more buffers configured to store video in a sequence; and
a video encoder or image encoder configured to perform operations comprising:
encoding the video in the 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, wherein the encoder is configured to:
for lossy coding, use color space conversion operations to switch between the RGB-type color space and the YCoCg color space; and
for lossless coding, use invertible color space conversion operations and an increased intermediate bit depth to switch between the RGB-type color space and the YCoCg color space; 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.

### Claim at position 2

-4. (canceled)

### Claim 5 (depends on 1)

The computing device of claim 1 wherein the units of the video are transform blocks of a given picture of the sequence.

### Claim at position 4

-9. (canceled)

### Claim 10 (depends on 1)

The computing device of claim 1 wherein the encoded data further includes information identifying or defining the color spaces.

### Claim at position 6

-15. (canceled)

### Claim 16 (depends on 1)

The computing device of claim 1 wherein different color components of a given unit of the units of the video have different bit depths.

### Claim 17 (depends on 1)

The computing device of claim 1 wherein the one or more signals include a flag value for a given unit of the units of the video, the flag value indicating a selection between two options for the color spaces, and wherein the encoding includes entropy coding the flag value using context-adaptive binary arithmetic coding.

### Claim at position 9

-29. (canceled)

### Claim 30 (depends on 1)

The computing device of claim 1 wherein the encoding includes deblocking previously reconstructed content according to one or more rules.

### Claim 31 (depends on 30)

The computing device of claim 30 wherein the deblocking includes adjusting strength of a deblocking filter depending on whether primary components of two adjacent blocks have non-zero residual values.

### Claim at position 12

-34. (canceled)

### Claim 35 (depends on 17)

The computing device of claim 17 wherein the flag value is signaled as part of a block syntax structure for the given unit when there are residual values for the given unit.

### Claim 36

In a computing device with a video decoder or image decoder, a method 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 and 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.

### Claim 37 (depends on 36)

The method of claim 36, at least some of the encoded data having been encoded with lossless coding that uses invertible color space conversion operations and an increased intermediate bit depth to switch between the RGB-type color space and the YCoCg color space.

### Claim 38 (depends on 36)

The method claim 36 wherein the units of the video are transform blocks of a given picture of the sequence.

### Claim 39 (depends on 36)

The method of claim 36 wherein the encoded data further includes information identifying or defining the color spaces.

### Claim 40 (depends on 36)

The method of claim 36 wherein different color components of the given unit have different bit depths.

### Claim 41 (depends on 36)

The method of claim 36 wherein the decoding further includes deblocking previously reconstructed content according to one or more rules.

### Claim 42 (depends on 40)

The method of claim 40 wherein the deblocking includes adjusting strength of a deblocking filter depending on whether primary components of two adjacent blocks have non-zero residual values.

### Claim 43 (depends on 36)

The method of claim 36 wherein the flag value is signaled as part of a block syntax structure for the given unit when there are residual values for the given unit.

### Claim 44

One or more computer-readable media storing computer-executable instructions for causing a computing device, when programmed thereby, to perform operations 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, wherein the encoding includes:
for lossy coding, using color space conversion operations to switch between the RGB-type color space and the YCoCg color space; and
for lossless coding, using invertible color space conversion operations and an increased intermediate bit depth to switch between the RGB-type color space and the YCoCg color space; 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.

### Claim 45 (depends on 44)

The one or more computer-readable media of claim 44 wherein the one or more signals include a flag value for a given unit of the units of the video, the flag value indicating a selection between two options for the color spaces, and wherein the encoding includes entropy coding the flag value using context-adaptive binary arithmetic coding.

### Claim 46 (depends on 44)

The one or more computer-readable media of claim 44 wherein the flag value is signaled as part of a block syntax structure for the given unit when there are residual values for the given unit.
