IP Library › Granted Patent US 12,177,430
Granted Patent B2
US 12,177,430 · App. 17/268,062 · Granted Dec 24, 2024

Method, apparatus and system for encoding and decoding a transformed block of video samples

Inventors: Christopher James Rosewarne (Concord West, AU); Andrew James Dorrell (Glenbrook, AU)
Assignee: Canon Kabushiki Kaisha
H04N19/119H04N19/1883H04N19/46H04N19/96
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 12,177,430
App. No.
17/268,062
Granted
Dec 24, 2024
Kind
B2
Abstract

A system and method of decoding a coding unit in an image frame from a bitstream. The method comprises determining a size of the coding unit from the bitstream; and dividing the image frame into a plurality of equally sized processing regions, each of the equally sized processing regions being a block processed during a single stage of a pipeline decoding the bitstream. If the coding unit overlaps a boundary between the determined processing regions, the method comprises selecting a transform size for the coding unit from a plurality of transform sizes, the transform size being selected to fit within the coding unit and being different in size to the processing regions; and decoding the coding unit by applying an inverse transform to residual coefficients of each transform unit in the coding unit, each of the transform units being of the selected transform size.

Claims (72)

1. An image decoding method for decoding a coding unit from a bitstream according to a predetermined manner, the method comprising:

decoding, from the bitstream, information for determining a coding unit in a coding tree unit, wherein at least one side of the coding unit is capable of being 128 samples in the predetermined manner;

in a case where a first constraint is applied, determining transform units in the coding unit in a manner such that a maximum size selectable for the transform units as a size of a luma component is 32 samples even if at least one side of the coding unit is 128 samples;

in a case where a second constraint is applied, determining the transform units in the coding unit in a manner such that the maximum size selectable for the transform units as the size of the luma component is 64 samples even if at least one side of the coding unit is 128 samples; and

decoding the coding unit by using the determined transform units,

wherein, a shape in which one side of a horizontal side and a vertical side is longer than other side is capable of being used as a shape of a transform unit in the predetermined manner, and

wherein, the method further comprises:

performing first and second tests to determine whether a cu_skip_flag is to be decoded, the first test including determining whether a current slice type is an intra slice, and the second test including comparison between a fixed threshold and at least one of a width and a height of the coding unit; and

determining that cu_skip_flag is to be decoded in a case where the current slice type is not the intra slice, a predetermined prediction mode is enabled, and the width and the height of the coding unit are equal to or less than the fixed threshold which is independent from the maximum size and is not signalled in the bitstream,

wherein, the second test is performed after the first test in a case where it is determined, in the first test, that the current slice type is not the intra slice, and the second test is not performed in a case where it is determined, in the first test, that the current slice type is the intra slice.

2. The method according to claim 1 , wherein at least one side of the coding unit is 128 samples.

3. The method according to claim 1 , wherein a ternary split is capable of being used for determining the coding unit in the coding tree unit.

4. The method according to claim 1 , wherein a shape of each of the transform units is different to a shape of the coding unit.

5. The method according to claim 1 , wherein an aspect ratio of each of the transform units is different to an aspect ratio of the coding unit.

6. An image encoding method for encoding a coding unit into a bitstream according to a predetermined encoding manner, the method comprising:

determining a coding unit in a coding tree unit, wherein at least one side of the coding unit is capable of being 128 samples in the predetermined encoding manner;

in a case where a first constraint is applied, determining transform units in the coding unit in a manner such that a maximum size selectable for the transform units as a size of a luma component is 32 samples even if at least one side of the coding unit is 128 samples;

in a case where a second constraint is applied, determining the transform units in the coding unit in a manner such that the maximum size selectable for the transform units as the size of the luma component is 64 samples even if at least one side of the coding unit is 128 samples; and

encoding the coding unit by using the determined transform units,

wherein, a shape in which one side of a horizontal side and a vertical side is longer than other side is capable of being used as a shape of a transform unit in the predetermined encoding manner,

wherein, the method further comprises:

performing first and second tests to determine whether a cu_skip_flag is to be encoded, the first test including determining whether a current slice type is an intra slice, and the second test including comparison between a fixed threshold and at least one of a width and a height of the coding unit; and

determining that the cu_skip_flag is to be encoded in a case where the current slice type is not the intra slice, a predetermined prediction mode is enabled, and the width and the height of the coding unit are equal to or less than the fixed threshold which is independent from the maximum size and is not signalled in the bitstream,

wherein, the second test is performed after the first test in a case where it is determined, in the first test, that the current slice type is not the intra slice, and the second test is not performed in a case where it is determined, in the first test, that the current slice type is the intra slice.

7. The method according to claim 6 , wherein at least one side of the coding unit is 128 samples.

8. The method according to claim 6 , wherein a ternary split is capable of being used for determining the coding unit in the coding tree unit.

9. The method according to claim 6 , wherein a shape of each of the transform units is different to a shape of the coding unit.

10. The method according to claim 6 , wherein an aspect ratio of each of the transform units is different to an aspect ratio of the coding unit.

11. An image decoding apparatus for decoding a coding unit from a bitstream according to a predetermined manner, the apparatus comprising:

a decoding unit configured to decode, from the bitstream, information for determining a coding unit in a coding tree unit, wherein at least one side of the coding unit is capable of being 128 samples in the predetermined manner; and

a first determining unit configured to determine, in a case where a first constraint is applied, transform units in the coding unit in a manner such that a maximum size selectable for the transform units as a size of a luma component is 32 samples even if at least one side of the coding unit is 128 samples,

wherein, in a case where a second constraint is applied, the first determining unit is configured to determine the transform units in the coding unit in a manner such that the maximum size selectable for the transform units as the size of the luma component is 64 samples even if at least one side of the coding unit is 128 samples,

wherein, the decoding unit is configured to decode the coding unit by using the determined transform units,

wherein, a shape in which one side of a horizontal side and a vertical side is longer than other side is capable of being used as a shape of a transform unit in the predetermined manner, and

wherein, the apparatus further comprises:

a performing unit configured to perform first and second tests to determine whether a cu_skip_flag is to be decoded,

the first test including determining whether a current slice type is an intra slice, and the second test including comparison between a fixed threshold and at least one of a width and a height of the coding unit; and

a second determining unit configured to determine that cu_skip_flag is to be decoded, in a case where the current slice type is not the intra slice, a predetermined prediction mode is enabled and the width and the height of the coding unit are equal to or less than the fixed threshold which is independent from the maximum size and is not signalled in the bitstream,

wherein, the second test is performed after the first test in a case where it is determined, in the first test, that the current slice type is not the intra slice, and the second test is not performed in a case where it is determined, in the first test, that the current slice type is the intra slice.

12. A non-transitory computer-readable storage medium storing a program for causing a computer to execute an image decoding method for decoding a coding unit from a bitstream according to a predetermined manner, the method comprising:

decoding, from the bitstream, information for determining a coding unit in a coding tree unit, wherein at least one side of the coding unit is capable of being 128 samples in the predetermined manner;

in a case where a first constraint is applied, determining transform units in the coding unit in a manner such that a maximum size selectable for the transform units as a size of a luma component is 32 samples even if at least one side of the coding unit is 128 samples;

in a case where a second constraint is applied, determining the transform units in the coding unit in a manner such that the maximum size selectable for the transform units as the size of the luma component is 64 samples even if at least one side of the coding unit is 128 samples; and

decoding the coding unit by using the determined transform units,

wherein, a shape in which one side of a horizontal side and a vertical side is longer than other side is capable of being used as a shape of a transform unit in the predetermined manner, and

wherein, the method further comprises:

performing first and second tests to determine whether a cu_skip_flag is to be decoded, the first test including determining whether a current slice type is an intra slice, and the second test including comparison between a fixed threshold and at least one of a width and a height of the coding unit; and

determining that cu_skip_flag is to be decoded, in a case where the current slice type is not the intra slice, a predetermined prediction mode is enabled, and the width and the height of the coding unit are equal to or less than the fixed threshold which is independent from the maximum size and is not signalled in the bitstream,

wherein, the second test is performed after the first test in a case where it is determined, in the first test, that the current slice type is not the intra slice, and the second test is not performed in a case where it is determined, in the first test, that the current slice type is the intra slice.

13. An image encoding apparatus for encoding a coding unit into a bitstream according to a predetermined encoding manner, the apparatus comprising:

a first determining unit configured to determine a coding unit in a coding tree unit, wherein at least one side of the coding unit is capable of being 128 samples in the predetermined encoding manner;

a second determining unit configured to determine, in a case where a first constraint is applied, transform units in the coding unit in a manner such that a maximum size selectable for the transform units as a size of a luma component is 32 samples even if at least one side of the coding unit is 128 samples,

wherein, in a case where a second constraint is applied, the second determining unit is configured to determine the transform units in the coding unit in a manner such that the maximum size selectable for the transform units as the size of the luma component is 64 samples even if at least one side of the coding unit is 128 samples; and

an encoding unit configured to encode the coding unit by using the determined transform units,

wherein, a shape in which one side of a horizontal side and a vertical side is longer than other side is capable of being used as a shape of a transform unit in the predetermined encoding manner, and

wherein, the apparatus further comprises:

a performing unit configured to perform first and second tests to determine whether a cu_skip_flag is to be encoded,

the first test including determining whether a current slice type is an intra slice, and

the second test including comparison between a fixed threshold and at least one of a width and a height of the coding unit; and

a third determining unit configured to determine that the cu_skip_flag is to be encoded in a case where the current slice type is not the intra slice, a predetermined prediction mode is enabled and the width and the height of the coding unit are equal to or less than the fixed threshold which is independent from the maximum size and is not signalled in the bitstream,

wherein, the second test is performed after the first test in a case where it is determined, in the first test, that the current slice type is not the intra slice, and the second test is not performed in a case where it is determined, in the first test, that the current slice type is the intra slice.

14. A non-transitory computer-readable storage medium storing a program for causing a computer to execute an image encoding method for encoding a coding unit into a bitstream according to a predetermined encoding manner, the method comprising:

determining a coding unit in a coding tree unit, wherein at least one side of the coding unit is capable of being 128 samples in the predetermined encoding manner;

in a case where a first constraint is applied, determining transform units in the coding unit in a manner such that a maximum size selectable for the transform units as a size of a luma component is 32 samples even if at least one side of the coding unit is 128 samples;

in a case where a second constraint is applied, determining the transform units in the coding unit in a manner such that the maximum size selectable for the transform units as the size of the luma component is 64 samples even if at least one side of the coding unit is 128 samples; and

encoding the coding unit by using the determined transform units,

wherein, a shape in which one side of a horizontal side and a vertical side is longer than other side is capable of being used as a shape of a transform unit in the predetermined encoding manner, and

wherein, the method further comprises:

performing first and second tests to determine whether a cu_skip_flag is to be encoded, the first test including determining whether a current slice type is an intra slice, and

the second test including comparison between a fixed threshold and at least one of a width and a height of the coding unit; and

determining that the cu_skip_flag is to be encoded in a case where the current slice type is not the intra slice, a predetermined prediction mode is enabled, and the width and the height of the coding unit are equal to or less than the fixed threshold which is independent from the maximum size and is not signalled in the bitstream,

wherein, the second test is performed after the first test in a case where it is determined, in the first test, that the current slice type is not the intra slice, and the second test is not performed in a case where it is determined, in the first test, that the current slice type is the intra slice.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2021
From: ROSEWARNE, CHRISTOPHER JAMES; DORRELL, ANDREW JAMES
To: CANON KABUSHIKI KAISHA
Reel/Frame 056101/0384 →
Priority Claims (1)
AU 2018217333 · Aug 17, 2018 · national
Continuity (1)
Related Publication 20220116600A1 · Apr 14, 2022