Methods and apparatus of encoding/decoding video picture partitioned in CTU grids
A method for encoding a video picture into a bitstream of encoded video picture data, includes: encoding into the bitstream a default width and a default height of coding-tree unit of a grid of coding-tree units splitting the video picture into picture areas, each coding-tree unit being a picture area subdivided according to a coding tree; encoding, into the bitstream, a width of at least one coding-tree unit of the grid of coding-tree units different from the default width and/or a height of at least one coding-tree unit of the grid of coding-tree units different from the default height; obtaining encoded video picture data by encoding at least one coding unit (CU) of a coding tree associated with each coding-tree unit (CTU) of the grid of coding-tree units; and writing the encoded video data into the bitstream.
1 . A method for encoding a video picture into a bitstream of encoded video picture data, the method comprising:
encoding into the bitstream a default width and a default height of coding-tree unit of a grid of coding-tree units splitting the video picture into picture areas, each coding-tree unit being a picture area subdivided according to a coding tree;
encoding, into the bitstream, a width of at least one coding-tree unit of the grid of coding-tree units different from the default width and/or a height of at least one coding-tree unit of the grid of coding-tree units different from the default height;
obtaining encoded video picture data by encoding at least one coding unit (CU) of a coding tree associated with each coding-tree unit (CTU) of the grid of coding-tree units; and
writing the encoded video data into the bitstream.
2 . The method of claim 1 , wherein the grid of coding-tree units is determined by
determining picture areas with low spatial activity and picture areas with high spatial activity by analyzing video picture content; and
determining the grid of coding-tree units to separate the picture areas with low spatial activity from the picture areas with high spatial activity.
3 . The method of claim 1 , wherein a spatial activity of the video picture is determined by detecting vertical and horizontal edges from video picture content.
4 . The method of claim 3 , wherein vertical and horizontal edges of the video picture are detected by applying horizontal and vertical filters on the video picture.
5 . The method of claim 3 , wherein boundaries of coding-tree units of the grid of coding-tree units are aligned with determined principal vertical and horizontal edges among the detected vertical and horizontal edges.
6 . The method of claim 5 , wherein a boundary coding-tree unit of the grid of coding-tree units is aligned with a vertical or horizontal edge by minimizing a spatial distance between the boundary and the vertical or horizontal edge.
7 . A method of decoding a video picture from a bitstream of encoded video picture data, the method comprising:
decoding from the bitstream a default width and a default height of coding-tree unit of a grid of coding-tree units splitting the video picture into picture areas, each coding-tree unit being a picture area subdivided according to a coding tree;
decoding, from the bitstream, a width of at least one coding-tree unit of the grid of coding-tree units different from the default width of coding-tree unit and/or a height of at least one coding-tree unit of the grid of coding-tree units different from the default height of coding-tree unit;
obtaining a grid of coding-tree units based on the width of at least one coding-tree unit different from the default width and/or the height of at least one coding-tree unit different from the default height;
obtaining video picture data by decoding at least one coding unit (CU) of a coding tree associated with each coding-tree unit (CTU) of the grid of coding-tree units from the bitstream; and
obtaining the video picture from the video picture data.
8 . The method of claim 7 , wherein:
only some widths of the coding-tree units different from the default width are decoded from the bitstream; and/or
only some heights of the coding-tree units different from the default height are decoded from the bitstream.
9 . The method of claim 7 , wherein at least one width of the coding-tree units different from the default width and/or at least one height of the coding-tree units different from the default height is/are decoded from a picture parameter set, a picture header, a slice header or an adaptation parameter set, a slice being a set of coding-tree units.
10 . The method of claim 7 , further comprising:
decoding a syntax element indicating if a width of at least one coding-tree unit column is different from the default coding-tree unit width or if a height of at least one coding-tree unit row of the grid of coding-tree units is different from the default coding-tree unit height.
11 . The method of claim 7 , wherein a syntax element is decoded from the bitstream to indicate if a supra-coding unit is aligned either to a top or a bottom of a coding-tree unit, the supra-coding unit representing a coding-tree root node of a coding-tree associated with a coding-tree unit.
12 . An apparatus for decoding a video picture from a bitstream of encoded video picture data, comprising:
a processor; and
a memory storing instructions executable by the processor;
wherein the processor is configured to:
decoding from the bitstream a default width and a default height of coding-tree unit of a grid of coding-tree units splitting the video picture into picture areas, each coding-tree unit being a picture area subdivided according to a coding tree;
decoding, from the bitstream, a width of at least one coding-tree unit of the grid of coding-tree units different from the default width of coding-tree unit and/or a height of at least one coding-tree unit of the grid of coding-tree units different from the default height of coding-tree unit;
obtaining a grid of coding-tree units based on the width of at least one coding-tree unit different from the default width and/or the height of at least one coding-tree unit different from the default height;
obtaining video picture data by decoding at least one coding unit (CU) of a coding tree associated with each coding-tree unit (CTU) of the grid of coding-tree units from the bitstream; and
obtaining the video picture from the video picture data.
13 . A non-transitory storage medium carrying instructions of program code for executing the method of claim 7 .
14 . The method of claim 1 , wherein:
only some widths of the coding-tree units different from the default width are encoded into the bitstream; and/or
only some heights of the coding-tree units different from the default height are encoded into the bitstream.
15 . The method of claim 1 , wherein at least one width of the coding-tree units different from the default width and/or at least one height of the coding-tree units different from the default height is/are encoded into a picture parameter set, a picture header, a slice header or an adaptation parameter set, a slice being a set of coding-tree units.
16 . The method of claim 1 , further comprising:
encoding a syntax element indicating if a width of at least one coding-tree unit column is different from the default coding-tree unit width or if a height of at least one coding-tree unit row of the grid of coding-tree units is different from the default coding-tree unit height.
17 . The method of claim 1 , wherein a syntax element is encoded into the bitstream to indicate if a supra-coding unit is aligned either to a top or a bottom of a coding-tree unit, the supra-coding unit representing a coding-tree root node of a coding-tree associated with a coding-tree unit.
18 . The apparatus of claim 12 , wherein:
only some widths of the coding-tree units different from the default width are decoded from the bitstream; and/or
only some heights of the coding-tree units different from the default height are decoded from the bitstream.
19 . An apparatus of encoding a video picture into a bitstream of encoded video picture data, comprising:
a processor; and
a memory storing instructions executable by the processor;
wherein the processor is configured to perform the method of claim 1 .
20 . A non-transitory storage medium carrying instructions of program code for executing the method of claim 1 .