Parameter set for picture segmentation
First Claim
1. A method for encoding in an encoder a bitstream of coded pictures, the method comprising:
- receiving an uncoded picture;
encoding, by one or more processors, the uncoded picture into the bitstream as a first coded picture,wherein the first coded picture comprises a plurality of coded tree blocks (CTBs),wherein the first coded picture is segmented into at least two columns and at least two slices,wherein each CTB belongs to both a respective column and a respective slice,wherein a slice boundary in the first coded picture is not equal to a column boundary in the first coded picture and wherein a first slice of the at least two slices spans multiple columns, andwherein encoding the uncoded picture is performed using both columns and slices, and wherein encoding the uncoded picture comprises;
for each of the plurality of slices, encoding the CTBs in the slice in an order that is based on the respective columns to which the CTBs in the slice belong, comprising during encoding of the first slice, breaking in-loop filtering within the first slice at each column boundary between adjacent columns of the multiple columns spanned by the first splice, wherein the CTBs in the first slice are decoded in an ordered sequence, first by CTB from left to right and top to bottom across all CTBs within a first column of the respective columns, and second by column from left to right across all the columns in the slice;
encoding, by the one or more processors and in a first picture parameter set in the bitstream, a value for a number of columns N minus one for the first coded picture of the bitstream;
encoding, by the one or more processors and in the first picture parameter set in the bitstream, column width parameters pertaining to a leftmost N−
1 columns of the first coded picture, the column width parameters being measured in units of CTBs having a first size;
encoding, by the one or more processors and in the first picture parameter set in the bitsream, a width of the first coded picture measured in units of the CTBs;
wherein the column width parameters pertaining to the leftmost N−
1 columns determine a width of a rightmost column of the first coded picture, and wherein the width of the rightmost column of the first coded picture is calculated using the width of the first coded picture in units of CTBS having the first size and the column width parameters pertaining to the N−
1 leftmost columns in units of CTBs for the first coded picture; and
transmitting, by the one or more processors, the bitstream including the first coded picture and the first picture parameter set to a decoder for reconstruction of the coded pictures in the bitstream.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for picture segmentation through columns and slices in video encoding and decoding. A video picture is divided into a plurality of columns, each column covering only a part of the video picture in a horizontal dimension. All coded tree blocks (“CTBs”) belonging to a slice may belong to one or more columns. The columns may be used to break the same or different prediction or in-loop filtering mechanisms of the video coding, and the CTB scan order used for encoding and/or decoding may be local to a column. Column widths may be indicated in a parameter set and/or may be adjusted at the slice level. At the decoder, column width may be parsed from the bitstream, and slice decoding may occur in one or more columns.
56 Citations
23 Claims
-
1. A method for encoding in an encoder a bitstream of coded pictures, the method comprising:
-
receiving an uncoded picture; encoding, by one or more processors, the uncoded picture into the bitstream as a first coded picture, wherein the first coded picture comprises a plurality of coded tree blocks (CTBs), wherein the first coded picture is segmented into at least two columns and at least two slices, wherein each CTB belongs to both a respective column and a respective slice, wherein a slice boundary in the first coded picture is not equal to a column boundary in the first coded picture and wherein a first slice of the at least two slices spans multiple columns, and wherein encoding the uncoded picture is performed using both columns and slices, and wherein encoding the uncoded picture comprises; for each of the plurality of slices, encoding the CTBs in the slice in an order that is based on the respective columns to which the CTBs in the slice belong, comprising during encoding of the first slice, breaking in-loop filtering within the first slice at each column boundary between adjacent columns of the multiple columns spanned by the first splice, wherein the CTBs in the first slice are decoded in an ordered sequence, first by CTB from left to right and top to bottom across all CTBs within a first column of the respective columns, and second by column from left to right across all the columns in the slice; encoding, by the one or more processors and in a first picture parameter set in the bitstream, a value for a number of columns N minus one for the first coded picture of the bitstream; encoding, by the one or more processors and in the first picture parameter set in the bitstream, column width parameters pertaining to a leftmost N−
1 columns of the first coded picture, the column width parameters being measured in units of CTBs having a first size;encoding, by the one or more processors and in the first picture parameter set in the bitsream, a width of the first coded picture measured in units of the CTBs; wherein the column width parameters pertaining to the leftmost N−
1 columns determine a width of a rightmost column of the first coded picture, and wherein the width of the rightmost column of the first coded picture is calculated using the width of the first coded picture in units of CTBS having the first size and the column width parameters pertaining to the N−
1 leftmost columns in units of CTBs for the first coded picture; andtransmitting, by the one or more processors, the bitstream including the first coded picture and the first picture parameter set to a decoder for reconstruction of the coded pictures in the bitstream. - View Dependent Claims (2, 3, 4, 20)
-
-
5. A method for decoding in a decoder a bitstream of coded pictures, the method comprising:
-
receiving the bitstream of coded pictures from an encoder; obtaining, by one or more processors and from a first picture parameter set encoded in the bitstream, a value for a number of columns N minus one for a first coded picture of the bitstream, wherein the first coded picture comprises a plurality of coded tree blocks (CTBs), wherein the first coded picture is segmented into at least two columns and at least two slices, wherein each CTB belongs to both a respective column and a respective slice, and wherein a slice boundary in the first coded picture is not equal to a column boundary in the first coded picture and wherein a first slice of the two or more slices spans multiple columns; obtaining, by the one or more processors and from the first picture parameter set encoded in the bitstream, column width parameters pertaining to a leftmost N−
1 columns of the first coded picture, the column width parameters being measured in units having a first CTB size;determining, by the one or more processors, a width of the first coded picture in units of the first CTB size; calculating, by the one or more processors, a width of a rightmost column of the first coded picture using the width of the first coded picture and the column width parameters pertaining to the leftmost N−
1 columns of the first coded picture; anddecoding, by the one or more processors, the first coded picture using both columns and slices, the calculated width of the rightmost column of the first coded picture, and the obtained column width for the leftmost N−
1 columns of the first coded picture to reconstruct a decoded image, comprising;determining, for each of the CTBs in the first coded picture, a respective column to which the MB belongs using (i) the column width parameters obtained from the first picture parameter set encoded in the bitstream and (ii) the calculated width, and for each slice in the first coded picture, decoding the CTBs in the slice in an order that is based on the respective columns to which the CTBs in the slice belong, comprising during decoding of the first slice, breaking in-loop filtering within the first slice at each column boundary between adjacent columns of the multiple columns spanned by the first slice, wherein the CTBs in the slice are decoded in an ordered sequence, first by CTB from left to right and top to bottom across all CTBs within a first column of the respective columns, and second by column from left to right across all the columns in the slice; and outputting, by the one or more processors, the reconstructed image. - View Dependent Claims (6, 7, 8, 9, 21)
-
-
10. A decoder for decoding a bitstream of coded pictures, the decoder comprising:
-
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; receiving the bitstream of coded pictures from an encoder; obtaining, from a first picture parameter set encoded in the bitstream, a value for a number of columns N minus one for a first coded picture of the bitstream, wherein the first coded picture comprises a plurality of coded tree blocks (CTBs), wherein the first coded picture is segmented into at least two columns and at least two slices, wherein each CTB belongs to both a respective column and a respective slice, and wherein a slice boundary in the first coded picture is not equal to a column boundary in the first coded picture and wherein a first slice of the two or more slices spans multiple columns; obtaining, from the first picture parameter set encoded in the bitstream, column width parameters pertaining to a leftmost N−
1 columns of the first coded picture, the column width parameters being measured in units having a first CTB size;determining a width of the first coded picture in units of the first CTB size; calculating a width of a rightmost column of the first coded picture using the width of the first coded picture and the column width parameters pertaining to the leftmost N−
1 columns of the first coded picture; anddecoding the first coded picture using both columns and slices, the calculated width of the rightmost column of the first coded picture, and the obtained column width for the leftmost N−
1 columns of the first coded picture to reconstruct a decoded image, comprising;determining, for each of the CTBs in the first coded picture, a respective column to which the MB belongs using (i) the column width parameters obtained from the first picture parameter set encoded in the bitstream and (ii) the calculated width, and for each slice in the first coded picture, decoding the CTBs in the slice in an order that is based on the respective columns to which the CTBs in the slice belong, comprising during decoding of the first slice, breaking in-loop filtering within the first slice at each column boundary between adjacent columns of the multiple columns spanned by the first slice, wherein the CTBs in the slice are decoded in an ordered sequence, first by CTB from left to right and top to bottom across all CTBs within a first column of the respective columns, and second by column from left to right across all the columns in the slice; and outputting the reconstructed image. - View Dependent Claims (11, 12, 13, 14, 22)
-
-
15. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
-
receiving the bitstream of coded pictures from an encoder; obtaining, by one or more processors and from a first picture parameter set encoded in the bitstream, a value for a number of columns N minus one for a first coded picture of the bitstream, wherein the first coded picture comprises a plurality of coded tree blocks (CTBs), wherein the first coded picture is segmented into at least two columns and at least two slices, wherein each CTB belongs to both a respective column and a respective slice, and wherein a slice boundary in the first coded picture is not equal to a column boundary in the first coded picture and wherein a first slice of the two or more slices spans multiple columns; obtaining, by the one or more processors and from the first picture parameter set encoded in the bitstream, column width parameters pertaining to a leftmost N−
1 columns of the first coded picture, the column width parameters being measured in units having a first CTB size;determining, by the one or more processors, a width of the first coded picture in units of the first CTB size; calculating, by the one or more processors, a width of a rightmost column of the first coded picture using the width of the first coded picture and the column width parameters pertaining to the leftmost N−
1 columns of the first coded picture; anddecoding, by the one or more processors, the first coded picture using both columns and slices, the calculated width of the rightmost column of the first coded picture, and the obtained column width for the leftmost N−
1 columns of the first coded picture to reconstruct a decoded image, comprising;determining, for each of the CTBs in the first coded picture, a respective column to which the MB belongs using (i) the column width parameters obtained from the first picture parameter set encoded in the bitstream and (ii) the calculated width, and for each slice in the first coded picture, decoding the CTBs in the slice in an order that is based on the respective columns to which the CTBs in the slice belong, comprising during decoding of the first slice, breaking in-loop filtering within the first slice at each column boundary between adjacent columns of the multiple columns spanned by the first slice, wherein the CTBs in the slice are decoded in an ordered sequence, first by CTB from left to right and top to bottom across all CTBs within a first column of the respective columns, and second by column from left to right across all the columns in the slice; and outputting, by the one or more processors, the reconstructed image. - View Dependent Claims (16, 17, 18, 19, 23)
-
Specification