Method and device for block-based conditional motion compensation
AssigneeXilinx, Inc.
InventorKristof Denolf
Life of this patent
Estimating the term…
Abstract
Methods and devices for encoding and decoding video data are provided, wherein an image data structure can be represented as a group of macroblocks and each macroblock contains a plurality of blocks. One inventive aspect includes a method of decoding image data comprises decoding a current block of data, comprising retrieving a related reference block, decoding texture information of the current block, and reconstructing the current block, prior to the decoding of another block of data.
Claims17
A method of decoding a video bit stream, wherein the bit stream comprises a representation of a sequence of image data structures, wherein each of the image data structures comprises a group of macroblock data structures, wherein each macroblock data structure comprises a group of block data structures, wherein the block data structures comprise luminance or chrominance data structures, the method comprising:
- decoding a block data structure before another block data structure is decoded, wherein the block data structure is at least a portion of a current macroblock data structure, and wherein the macroblock data structure is at least a portion of a current image data structure.
A non-transitory computer readable medium that includes a program executing a method of decoding a video bit stream, wherein the bit stream comprises a representation of a sequence of image data structures, wherein each of the image data structures comprises a group of macroblock data structures, wherein each macroblock data structure comprises a group of block data structures, wherein the block data structures comprise luminance or chrominance data structures, wherein a portion of the data of one image data structure of the sequence is mapped within predefined similarity criteria to a portion of the data of another reference data structure of the sequence, the method comprising:
- retrieving a reference data structure;
- retrieving additional information, from at least one data header in the bit stream, regarding the similarity between the block data structure and the reference data structure;
- and
- decoding a block data structure before another block data structure is decoded, wherein the decoding of a block data structure comprises determining whether to perform motion compensation based at least in part on the additional information, wherein the block data structure is a portion of a current macroblock data structure, and wherein the macroblock data structure is a portion of a current image data structure.
A video decoder, comprising:
- a coding unit configured to receive a bit stream, the bit stream comprising a representation of a sequence of image data structures, wherein each image data structure comprises a group of macroblock data structures, wherein each macroblock data structure comprises a plurality of block data structures, wherein each block data structure comprises luminance or chrominance data structures;
- a processing unit, coupled to the coding unit, configured to a) retrieve a reference data structure, b) retrieve additional information, from at least one data header in the bit stream, regarding the similarity between the block data structure and the reference data structure, and c) decode a block data structure before another block data structure is decoded, wherein the decoding of a block data structure comprises determining whether to perform motion compensation based at least in part on additional information;
- and
- a memory, coupled to the processing unit, allocated for storage of pixel information, and configured to store a maximum of two of the received image data structures simultaneously.
A video coder, comprising a decoder, the decoder comprising:
- a coding unit configured to receive a bit stream, the bit stream comprising a representation of a sequence of image data structures, wherein each image data structure comprises a group of macroblock data structures, wherein each macroblock data structure comprises a plurality of block data structures, wherein each block data structure comprises luminance or chrominance data structures;
- a processing unit, coupled to the coding unit, configured to a) retrieve a reference data structure, b) retrieve additional information, from at least one data header in the bit stream, regarding the similarity between the block data structure and the reference data structure, and c) decode a block data structure before another block data structure is decoded, wherein the decoding of a block data structure comprises determining whether to perform motion compensation based at least in part on the additional information;
- and
- a memory, coupled to the processing unit, allocated for storage of pixel information, and configured to store a maximum of two of the received image data structures simultaneously.
Dependencies are inferred from the claim text.