Wavefront parallel processing of luma and chroma components
At least a method and an apparatus are presented for improving parallelization for wavefront parallel encoding and decoding of luma and chroma components of a vide picture. For example, a luma component and a chroma component of a video picture are independently subdivided into respectively a plurality of luma coding units and a plurality of chroma coding units. A context-based adaptive binary coding context variable is propagated from a previous row to a current row of the independently subdivided plurality of luma coding units, and a context-based adaptive binary coding context variable is propagated from a previous row to a current row of the independently subdivided plurality of chroma coding units. The video picture is encoded or decoded using the propagations to provide the wavefront parallel processing.
1. A method for video encoding, comprising:
independently subdividing a luma component and a chroma component of a video picture into respectively a plurality of luma coding tree units and a plurality of chroma coding tree units;
propagating a context-based adaptive binary coding context variable from a previous row to a current row of the plurality of luma coding tree units;
propagating a context-based adaptive binary coding context variable from a previous row to a current row of the plurality of chroma coding tree units; and
encoding the video picture into a bitstream, using the propagated context-based adaptive binary coding context variable of the plurality of luma coding tree units and the propagated context-based adaptive binary coding context variable of the plurality of chroma coding tree units,
wherein syntax data for luma and chroma for a given coding tree unit are separated in two different sub-streams of the bitstream,
wherein a first one of the two sub-streams includes syntax data for a plurality of coding tree units and only includes syntax data for luma, and
wherein a second one of the two sub-streams includes syntax data for the plurality of coding tree units and only includes syntax data for chroma.
2. The method of claim 1 , wherein the context-based adaptive binary coding context variable for the luma component is propagated from a luma coding tree unit in a second position of the previous row to a first position of the current row and the context-based adaptive binary coding context variable for the chroma component is propagated from a chroma coding tree unit in a second position of the previous row to a first position of the current row.
3. The method of claim 2 , wherein the plurality of coding tree units included in the first sub-stream correspond to a row of coding tree units or the video picture.
4. The method of claim 1 , wherein a respective entry point is used to indicate where to start decoding for each of the two different sub-stream.
5. The method of claim 1 , wherein the propagating of the context-based adaptive binary coding context variable in luma coding tree units is independent of the propagating of the context-based adaptive binary coding context variable in chroma coding tree units.
6. The method of claim 1 , wherein separate syntax elements are used to independently represent luma context-based adaptive binary coding context variables for the luma component and chroma context-based adaptive binary coding context variables for the chroma component.
7. The method of claim 1 , wherein the luma component and the chroma component are in different slices or slice segments.
8. The method of claim 1 , wherein the luma component and the chroma component are post filtered independently.
9. A method for video decoding using wavefront parallel processing, comprising:
accessing from a bitstream luma component and chroma component of a video picture, wherein the luma component is independently subdivided into a plurality of luma coding tree units and the chroma component is independently subdivided into a plurality of chroma coding tree units,
wherein syntax data for luma and chroma for a given coding tree unit are separated in two different sub-streams of the bitstream,
wherein a first one of the two sub-streams includes syntax data for a plurality of coding tree units and only includes syntax data for luma,
wherein a second one of the two sub-streams includes syntax data for the plurality of coding tree units and only includes syntax data for chroma, and
wherein a context-based adaptive binary coding context variable from a previous row is propagated to a current row of the plurality of luma coding tree units and a context-based adaptive binary coding context variable from a previous row is propagated to a current row of the plurality of chroma coding tree units; and
decoding the video picture using the propagated context-based adaptive binary coding context variable of the plurality of luma coding tree units and the propagated context-based adaptive binary coding context variable of the plurality of chroma coding tree units to provide the wavefront parallel processing.
10. The method of claim 9 , wherein the context-based adaptive binary coding context variable for the luma component is propagated from a luma coding tree unit in a second position of the previous row to a first position of the current row and the context-based adaptive binary coding context variable for the chroma component is propagated from a chroma coding tree unit in a second position of the previous row to a first position of the current row.
11. The method of claim 9 , wherein the plurality of coding tree units included in the first sub-stream correspond to a row of coding tree units or the video picture.
12. The method of claim 9 , wherein a respective entry point is used to indicate where to start decoding for each of the two different sub-streams.
13. The method of claim 9 , wherein the propagating of the context-based adaptive binary coding context variable in luma coding tree units is independent of the propagating of the context-based adaptive binary coding context variable in chroma coding tree units.
14. The method of claim 9 , wherein separate syntax elements are used to independently represent luma context-based adaptive binary coding context variables for the luma component and chroma context-based adaptive binary coding context variables for the chroma component.
15. An apparatus for encoding video data, comprising:
one or more processors, wherein said one or more processors are configured to:
independently subdivide a luma component and a chroma component of a video picture into respectively a plurality of luma coding tree units and a plurality of chroma coding tree units;
propagate a context-based adaptive binary coding context variable from a previous row to a current row of the plurality of luma coding tree units;
propagate a context-based adaptive binary coding context variable from a previous row to a current row of the plurality of chroma coding tree units; and
encode the video picture into a bitstream, using the propagated context-based adaptive binary coding context variable of the luma coding tree units and the propagated context-based adaptive binary coding context variable of the plurality of chroma coding tree units, wherein syntax data for luma and chroma for a given coding tree unit are separated in two different sub-streams of the bitstream,
wherein a first one of the two sub-streams includes syntax data for a plurality of coding tree units and only includes syntax data for luma, and
wherein a second one of the two sub-streams includes syntax data for the plurality of coding tree units and only includes syntax data for chroma.
16. An apparatus for decoding video data, comprising:
one or more processors, wherein said one or more processors are configured to:
access from a bitstream luma component and chroma component of a video picture,
wherein the luma component is independently subdivided into a plurality of luma coding tree units and the chroma component is independently subdivided into a plurality of chroma coding tree units,
wherein syntax data for luma and chroma for a given coding tree unit are separated in two different sub-streams of the bitstream,
wherein a first one of the two sub-streams includes syntax data for a plurality of coding tree units and only includes syntax data for luma,
wherein a second one of the two sub-streams includes syntax data for the plurality of coding tree units and only includes syntax data for chroma, and
wherein a context-based adaptive binary coding context variable from a previous row is propagated to a current row of the plurality of luma coding tree units and a context-based adaptive binary coding context variable from a previous row is propagated to a current row of the plurality of chroma coding tree units; and
decode the video picture using the propagated context-based adaptive binary coding context variable of the plurality of luma coding tree units and the propagated context-based adaptive binary coding context variable of the plurality of chroma coding tree units to provide the wavefront parallel processing.
17. The apparatus of claim 16 , wherein the context-based adaptive binary coding context variable for the luma component is propagated from a luma coding tree unit in a second position of the previous row to a first position of the current row and the context-based adaptive binary coding context variable for the chroma component is propagated from a chroma coding tree unit in a second position of the previous row to a first position of the current row.
18. The apparatus of claim 16 , wherein the plurality of coding tree units included in the first sub-stream correspond to a row of coding tree units or the video picture.
19. The apparatus of claim 16 , wherein a respective entry point is used to indicate where to start decoding for each of the two different sub-streams.
20. The apparatus of claim 16 , wherein the propagating of the context-based adaptive binary coding context variable in luma coding tree units is independent of the propagating of the context-based adaptive binary coding context variable in chroma coding tree units.