Interleaved strip data storage system for video processing
AssigneeChips and Technologies, Inc.
InventorsXiaoping Hu, Hungviet H. Nguyen, David Sokmin Kang
Life of this patent
Estimating the term…
Abstract
A method and apparatus for storing a macroblock from a video data stream is disclosed. A macroblock is received, the macroblock having a plurality of blocks corresponding to a plurality of color space components and having a width defined by a plurality of pixels. According to a first aspect of the present invention, the macroblock is stored in a vertical strip format. According to a second aspect of the present invention, the contents of the plurality of blocks are interleaved. According to a third aspect of the present invention, the contents of the plurality of blocks are interleaved and the macroblock is then stored in a vertical strip format.
Claims21
A method for storing data of a macroblock of a video frame, the video frame including a plurality of macroblocks each having a first width, the macroblock data having a chroma format including a plurality of color space components, each of the plurality of color space components having at least one block of data, the block of data having a plurality of lines, each line including a plurality of pixels, the macroblock having a width of a plurality of pixels, the method comprising:
- receiving the macroblock data from a digital video data stream;
- defining a plurality of vertical strips in the video frame by dividing the video frame in the vertical direction, each vertical strip having said first width;
- and
- storing the macroblock data for the entire video frame into a contiguous memory in a vertical strip format in which a sequence of the stored macroblock data maintains a sequence of the corresponding macroblocks in the vertical direction within each vertical strip and a sequence of the vertical strips within the video frame.
A method for storing data of a macroblock of a video frame, the macroblock data having a chroma format having a plurality of color space components, each of the plurality of color space components having at least one block of data, the block of data having a plurality of lines, each line including a plurality of pixels, said method comprising:
- receiving the macroblock data from a digital video data stream;
- interleaving said plurality of color space components to create interleaved macroblock data;
- and
- writing the entire interleaved macroblock data for the macroblock into sequential memory lines in a contiguous memory block according to a horizontal scan line order within the macroblock.
A compressed video processing system, comprising:
- means for receiving data of a macroblock of a video frame from a digital video data stream, the macroblock data having a plurality of color space components, each of the plurality of color space components having at least one block of data, the block of data having a plurality of lines, each line including a plurality of pixels;
- means for interleaving the plurality of color space components to produce interleaved macroblock data;
- and
- means for writing the entire interleaved macroblock data for the corresponding macroblock into sequential memory lines in a contiguous memory block according to a horizontal scan line order.
A compressed video processing system, comprising:
- means for receiving data of a macroblock of a video frame from a digital video data stream, the macroblock data having a plurality of color space components, each of the plurality of color space components having at least one block of data, the block of data having a plurality of lines, each line including a plurality of pixels;
- means for defining a plurality of vertical strips in the video frame by dividing the video frame in the vertical direction, each vertical strip having a width of the macroblock;
- and
- means for storing the macroblock data for the entire video frame into a contiguous memory in a vertical strip format in which a sequence of the stored macroblock data maintains a sequence of the corresponding macroblocks in the vertical direction within each vertical strip and a sequence of the vertical strips within the video frame.
A compressed video processing system, comprising:
- means for receiving data of a macroblock of a video frame from a digital video data stream;
- a first memory for storing the received macroblock data, the macroblock data having a plurality of color space components, each of the plurality of color space components having at least one block of data, the block of data having a plurality of lines, each line including a plurality of pixels;
- means for interleaving the plurality of color space components of the macroblock data stored in the first memory to produce interleaved macroblock data;
- a second memory for storing the entire interleaved macroblock data for the macroblock in sequential memory lines of a contiguous memory block according to a horizontal scan line order within the macroblock;
- and
- a data bus connecting the first memory, the second memory, the receiving means and the interleaving means.
A compressed video processing system, comprising:
- means for receiving data of a macroblock of a video frame from a digital video data stream;
- a first memory for storing the received macroblock data, the macroblock data having a plurality of color space components, each of the plurality of color space components having at least one block of data, the block of data having a plurality of lines, each line including a plurality of pixels;
- means for defining a plurality of vertical strips in the video frame by dividing the video frame in the vertical direction, each vertical strip having a width of the macroblock;
- a second memory for storing the macroblock data for the entire video frame into a plurality of contiguous memory blocks in a vertical strip format in which a sequence of the stored macroblock data maintains a sequence of the corresponding macroblocks in the vertical direction within each vertical strip and a sequence of the vertical strips within the video frame;
- and
- a data bus for connecting the receiving means, the first memory, the defining means, and the second memory.
A compressed video processing system, comprising:
- means for receiving data of a macroblock of a video frame from a digital video data stream;
- a first memory for storing the received macroblock data, the macroblock data having a plurality of color space components, each of the plurality of color space components having at least one block of data, the block of data having a plurality of lines, each line including a plurality of pixels;
- means for interleaving the plurality of color space components of the macroblock data stored in the first memory to produce interleaved macroblock data;
- a second memory for storing the entire interleaved macroblock data for the macroblock in sequential memory lines of a contiguous memory block according to a horizontal scan line order;
- means for defining a plurality of vertical strips in the video frame by dividing the video frame in the vertical direction, each vertical strip having a width of the macroblock;
- a third memory for storing the interleaved macroblock data for all macroblocks included in the video frame;
- means for writing the interleaved macroblock data stored in the second memory into the third memory in a vertical strip format in which a sequence of the interleaved macroblock data maintains a sequence of the corresponding macroblocks in the vertical direction within each vertical strip and a sequence of the vertical strips within the video frame;
- and
- a data bus for connecting the receiving means, the first memory, interleaving means, the second memory the defining means, the third memory, and the writing means.
Dependencies are inferred from the claim text.