IP Library › Granted Patent US 10,326,992
Granted Patent B2
US 10,326,992 · App. 15/819,585 · Granted Jun 18, 2019

Method, apparatus and system for encoding and decoding the transform units of a coding unit

Inventors: Christopher James Rosewarne (Gosford, AU); Volodymyr Kolesnikov (Marsfield, AU)
Assignee: Canon Kabushiki Kaisha
H04N19/122H04N19/119H04N19/136H04N19/186H04N19/60H04N19/70
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,326,992
App. No.
15/819,585
Granted
Jun 18, 2019
Kind
B2
Abstract

Disclosed is method of decoding, from a video bitstream, a transform unit containing at least one chroma residual coefficient array associated with a single chroma channel. The method determines a size of the transform unit related to a hierarchical level of the transform unit in a corresponding coding unit, and identifies a maximum number of inverse transforms according to the determined size. The method decodes from the video bitstream the at least one chroma residual coefficient array using the identified maximum number of transforms, selects an inverse transform for the decoded chroma residual coefficient arrays, the inverse transform being selected from a predetermined set of inverse transforms, and applies the selected inverse transform to each of the chroma residual coefficient arrays to decode chroma residual samples for the chroma channel of the transform unit. A similar encoding method is also disclosed.

Claims (26)

1. A method of encoding chroma residual samples into a video bitstream as a transform unit including two chroma residual coefficient arrays associated with a first chroma channel and two chroma residual coefficient arrays associated with a second chroma channel in a 4:2:2 chroma format, the method comprising:

selecting a square transform to transform the chroma residual samples from a frequency domain to a spatial domain, the square transform being selected from a predetermined set of square transforms according to a transform size of the transform unit;

applying the selected square transform to the chroma residual samples to produce, for the transform unit, the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel; and

encoding four coded block flag values into the video bitstream for the transform unit, wherein the transform unit includes the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel, and each coded block flag value of the four coded block flag values corresponds to one chroma residual coefficient array of the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel.

2. The method according to claim 1 , wherein each coded block flag value indicates whether all residual coefficients of the corresponding residual coefficient array are zero or at least one residual coefficient of the corresponding residual coefficient array is non-zero.

3. A method of decoding a transform unit including two chroma residual coefficient arrays associated with a first chroma channel and two chroma residual coefficient arrays associated with a second chroma channel in a 4:2:2 chroma format, the method comprising:

decoding four coded block flag values from the video bitstream for the transform unit, wherein the transform unit includes the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel, and each coded block flag value of the four coded block flag values corresponds to one chroma residual coefficient array of the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel;

decoding, from the video bitstream, the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel according to each corresponding coded block flag value of the four coded block flag values;

selecting a square transform for the decoded chroma residual coefficient arrays, the square transform being selected from a predetermined set of square transforms to transform the decoded chroma residual coefficient arrays from a frequency domain to a spatial domain, according to a chroma transform size of the transform unit; and

applying the selected square transform to at least one of the decoded chroma residual coefficient arrays to produce chroma residual samples of the first chroma channel and chroma residual samples of the second chroma channel.

4. The method according to claim 3 , wherein each coded block flag value indicates whether all residual coefficients of the corresponding residual coefficient array are zero or at least one residual coefficient of the corresponding residual coefficient array is non-zero.

5. A non-transitory computer readable storage medium having a program recorded thereon, the program being executable by a processor to encode chroma residual samples into a video bitstream as a transform unit including two chroma residual coefficient arrays associated with a first chroma channel and two chroma residual coefficient arrays associated with a second chroma channel in a 4:2:2 chroma format, the program comprising: code for selecting a square transform to transform the chroma residual samples from a frequency domain to a spatial domain, the square transform being selected from a predetermined set of square transforms according to a transform size of the transform unit; code for applying the selected square transform to the chroma residual samples to produce, for the transform unit, the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel; and code for encoding four coded block flag values into the video bitstream for the transform unit, wherein the transform unit includes the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel, and each coded block flag value of the four coded block flag values corresponds to one chroma residual coefficient array of the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel.

6. The non-transitory computer readable storage medium according to claim 5 , wherein each coded block flag value indicates whether all residual coefficients of the corresponding residual coefficient array are zero or at least one residual coefficient of the corresponding residual coefficient array is non-zero.

7. A non-transitory computer readable storage medium having a program recorded thereon, the program being executable by a processor to decode a transform unit including two chroma residual coefficient arrays associated with a first chroma channel and two chroma residual coefficient arrays associated with a second chroma channel in a 4:2:2 chroma format, the program comprising: code for decoding four coded block flag values from the video bitstream for the transform unit, wherein the transform unit includes the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel, and each coded block flag value of the four coded block flag values corresponds to one chroma residual coefficient array of the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel; code for decoding, from the video bitstream, the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel according to each corresponding coded block flag value of the four coded block flag values; code for selecting a square transform for the decoded chroma residual coefficient arrays, the square transform being selected from a predetermined set of square transforms to transform the decoded chroma residual coefficient arrays from a frequency domain to a spatial domain, according to a chroma transform size of the transform unit; and code for applying the selected square transform to at least one of the decoded chroma residual coefficient arrays to produce chroma residual samples of the first chroma channel and chroma residual samples of the second chroma channel.

8. The non-transitory computer readable storage medium according to claim 7 , wherein each coded block flag value indicates whether all residual coefficients of the corresponding residual coefficient array are zero or at least one residual coefficient of the corresponding residual coefficient array is non-zero.

9. A video encoder for encoding chroma residual samples into a video bitstream as a transform unit including two chroma residual coefficient arrays associated with a first chroma channel and two chroma residual coefficient arrays associated with a second chroma channel in a 4:2:2 chroma format, the video encoder comprising:

a selector for selecting a square transform to transform the chroma residual samples from a frequency domain to a spatial domain, the square transform being selected from a predetermined set of square transforms according to a transform size of the transform unit;

an applicator for applying the selected square transform to the chroma residual samples to produce, for the transform unit, the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel; and

an encoder for encoding four coded block flag values into the video bitstream for the transform unit, wherein the transform unit includes the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel, and each coded block flag value of the four coded block flag values corresponds to one chroma residual coefficient array of the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel.

10. The video encoder according to claim 9 , wherein each coded block flag value indicates whether all residual coefficients of the corresponding residual coefficient array are zero or at least one residual coefficient of the corresponding residual coefficient array is non-zero.

11. A video decoder for decoding a transform unit including two chroma residual coefficient arrays associated with a first chroma channel and two chroma residual coefficient arrays associated with a second chroma channel in a 4:2:2 chroma format, the video decoder comprising:

a first decoder for decoding four coded block flag values from the video bitstream for the transform unit, wherein the transform unit includes the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel, and each coded block flag value of the four coded block flag values corresponds to one chroma residual coefficient array of the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel;

a second decoder for decoding, from the video bitstream, the two chroma residual coefficient arrays associated with the first chroma channel and the two chroma residual coefficient arrays associated with the second chroma channel according to each corresponding coded block flag value of the four coded block flag values;

a selector for selecting a square transform for the decoded chroma residual coefficient arrays, the square transform being selected from a predetermined set of square transforms to transform the decoded chroma residual coefficient arrays from a frequency domain to a spatial domain, according to a chroma transform size of the transform unit; and

an applicator for applying the selected square transform to at least one of the decoded chroma residual coefficient arrays to produce chroma residual samples of the first chroma channel and chroma residual samples of the second chroma channel.

12. The video decoder according to claim 11 , wherein each coded block flag value indicates whether all residual coefficients of the corresponding residual coefficient array are zero or at least one residual coefficient of the corresponding residual coefficient array is non-zero.

Priority Claims (1)
AU 2012232992 · Sep 28, 2012 · national
Continuity (2)
Continuation 14431724
Related Publication 20180098068A1 · Apr 5, 2018