Techniques for content adaptive video frame slicing and non-uniform access unit coding
AssigneeQUALCOMM Incorporated
InventorSeyfullah Halit Oguz
Life of this patent
Estimating the term…
Abstract
Techniques for content adaptive video frame slicing and non-uniform access unit coding for improved coding efficiency are provided. An encoder and decoder are disclosed to process (encode or decode) a single non-uniform video access unit (VAU) employing flexible macroblock ordering (FMO) in conjunction with different slice coding types in response to global motion detection of a camera pan or a scroll within the single VAU.
Claims39
A device comprising:
- a processor that:
- segments a frame into slice groups and slices based on predictability attributes of macroblock groups within the frame, the predictability attributes including intra-predictability of the macroblock groups and inter-predictability of the macroblock groups;
- determines slice coding types for the frame;
- and
- encodes the slices in accordance with inter-coding or intra-coding techniques based at least in part on the determined slice coding types, wherein there are different slice coding types within the frame;
- and
- a memory coupled to the processor,
- wherein the slice groups include a first slice group having a single one of the slices and a second slice group having a plurality of the slices, the slice of the first slice group comprises a strip of intra-coded macroblocks, the slices of the second slice group comprise inter-coded macroblocks and are parallel horizontally extending slices, and the strip having three edges coinciding with three border edges of the frame and a fourth edge coinciding with the inter-coded macroblocks of the second slice group.
A multimedia system comprising:
- a content adaptive frame partitioning unit that segments a frame, based on predictability attributes of macroblock groups within the frame, into at least a first slice group and a second slice group, the first slice group including a slice that contains a strip of intra-coded macroblocks, the second slice group including a plurality of parallel horizontally extending inter-coded slices, wherein the strip has three edges coinciding with three border edges of the frame and a fourth edge coinciding with the inter-coded slices of the second slice group;
- a determiner that determines slice coding types for the frame;
- and
- a non-uniform video access unit (VAU) coding unit that encodes the slices in accordance with inter-coding or intra-coding techniques based at least in part on the determined slice coding types, wherein there are different slice coding types within the frame.
A method for processing multimedia data, the method comprising:
- segmenting a frame, based on predictability attributes of macroblock groups within the frame, into at least a first slice group and a second slice group, the first slice group including a slice that contains a strip of intra-coded macroblocks, the second slice group including a plurality of parallel horizontally extending inter-coded slices, wherein the strip has three edges coinciding with three border edges of the frame and a fourth edge coinciding with the inter-coded slices of the second slice group;
- determining slice coding types for the frame;
- and
- performing non-uniform VAU coding that encodes the slices in accordance with inter-coding or intra-coding techniques based at least in part on the determined slice coding types, wherein there are different slice coding types within the frame.
An encoding apparatus comprising:
- means for segmenting a video access unit (VAU) into slices and slice groups using flexible macroblock ordering (FMO), the VAU segmented into the slice groups and slices based on predictability attributes of macroblock groups within the VAU, the predictability attributes including intra-predictability of the macroblock groups and inter-predictability of the macroblock groups, two or more of the slices having different slice coding types, the predictability attributes including global motion operations, the global motion operations including a camera pan or a scroll,
- wherein the slice groups comprise a first slice group and a second slice group, the second slice group having a plurality of parallel horizontally extending inter-coded slices, and the first slice group having a single strip of intra-coded macroblocks having three edges coinciding with three border edges of the VAU and a fourth edge coinciding with the inter-coded slices of the second slice group.
A computer program product that includes a non-transitory computer readable medium comprising instructions for processing multimedia data, wherein the instructions cause a computer to:
- use flexible macroblock ordering (FMO) to segment a frame, based on predictability attributes of macroblock groups within the frame, into at least a first slice group and a second slice group, the first slice group including one or more slices and the second slice group including one or more slices, the predictability attributes including intra predictability of the macroblock groups and inter predictability of the macroblock groups, wherein the second slice group includes a plurality of parallel horizontally extending inter-coded slices, and wherein the first slice group includes a single strip of intra-coded macroblocks having three edges coinciding with three border edges of the frame and a fourth edge coinciding with the inter-coded slices of the second slice group;
- determine slice coding types for the frame;
- and
- perform non-uniform video access unit (VAU) coding on the partitioned frame to encode the slices in accordance with inter-coding or intra-coding techniques based at least in part on the determined slice coding types, wherein there are different slice coding types within the frame.
An apparatus for processing multimedia data, the apparatus comprising:
- means for segmenting a frame into slice groups and slices based on predictability attributes of macroblock groups within the frame, the predictability attributes including intra predictability of the macroblock groups and inter predictability of the macroblock groups;
- means for determining slice coding types for the frame;
- and
- means for performing non-uniform video access unit (VAU) coding on the frame to encode the slices in accordance with inter-coding or intra-coding techniques based at least in part on the determined slice coding types, wherein there are different slice coding types within the frame, wherein the slice groups include a first slice group and a second slice group, the second slice group having a plurality of parallel horizontally extending inter-coded slices, and the first slice group having a single strip of intra-coded macroblocks having three edges coinciding with three border edges of the frame and a fourth edge coinciding with the inter-coded slices of the second slice group.
A decoding apparatus comprising:
- a decoding engine that decodes a single non-uniformly coded video access unit (VAU), wherein the VAU is segmented into slice groups and the slices using flexible macroblock ordering (FMO), the VAU segmented into the slice groups and slices based on predictability attributes of macroblock groups within the VAU, the predictability attributes including intra-predictability of the macroblock groups and inter-predictability of the macroblock groups, two or more of the slices having different slice coding types,
- wherein the decoding engine includes a selective decoder to decode a first slice group of the VAU and a second slice group of the VAU, the second slice group having a plurality of parallel horizontally extending inter-coded slices, and the first slice group having a single strip of intra-coded macroblocks having three edges coinciding with three border edges of the VAU and a fourth edge coinciding with the inter-coded slices of the second slice group.
A computer program product that includes a non-transitory computer readable medium comprising instructions for processing multimedia data, wherein the instructions cause a computer to:
- decode a single non-uniformly coded video access unit (VAU), wherein the VAU is segmented into slice groups and slices using flexible macroblock ordering (FMO), the VAU segmented into the slice groups and the slices based on predictability attributes of macroblock groups within the VAU, the predictability attributes including intra-predictability of the macroblock groups and inter-predictability of the macroblock groups, two or more of the slices having different slice coding types,
- wherein the instructions to decode the VAU include instructions to cause the computer to decode a first slice group of the VAU and a second slice group of the VAU, the second slice group having a plurality of parallel horizontally extending inter-coded slices, and the first slice group having a single strip of intra-coded macroblocks having three edges coinciding with three border edges of the VAU and a fourth edge coinciding with the inter-coded slices of the second slice group.
An encoding apparatus comprising an encoding engine that segments a video access unit (VAU) into slices and slice groups using flexible macroblock ordering (FMO), the VAU segmented into the slice groups and slices based on predictability attributes of macroblock groups within the VAU, the predictability attributes including intra-predictability of the macroblock groups and inter-predictability of the macroblock groups, two or more of the slices having different slice coding types,
- wherein the slice groups comprise a first slice group and a second slice group, the second slice group having a plurality of parallel horizontally extending inter-coded slices, and the first slice group having a single strip of intra-coded macroblocks having three edges coinciding with three border edges of the VAU and a fourth edge coinciding with the inter-coded slices of the second slice group.
Dependencies are inferred from the claim text.