Browse Prior Art Database

Optimized Calculation for Chrominance Address Offsets

IP.com Disclosure Number: IPCOM000118506D
Original Publication Date: 1997-Mar-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 2 page(s) / 55K

Publishing Venue

IBM

Related People

Stein, CJ: AUTHOR

Abstract

In MPEG2 video encoding, quite often the encoding process requires the fetching of reference picture data for both Luminance and Chrominance. Since this can be done on a macroblock basis, it is important to calculate these addresses as quickly and efficiently as possible.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 59% of the total text.

Optimized Calculation for Chrominance Address Offsets

      In MPEG2 video encoding, quite often the encoding process
requires the fetching of reference picture data for both Luminance
and Chrominance.  Since this can be done on a macroblock basis, it is
important to calculate these addresses as quickly and efficiently as
possible.

      In this implementation, the Luminance is stored in one place
and both Chrominance components "U" and "V" are stored together in
another area.  The Chrominance is stored as follows:
"U1V1U2V2U3V3.....".  The Luminance and Chrominance data are always
stored in reference memory as frame pictures.  When encoding field
pictures, the reference data will be stored as a frame so each field
will access an interlaced half of the frame data.

      Given that both the Luminance and Chrominance addresses for a
macroblock are needed, there are some simplifications that can be
done to calculate the Chrominance.  This is assuming that the
Luminance address is available for the specific macroblock.

      Shown below are the definitions and equations for calculating
the Luminance and Chrominance addresses for a macroblock.

      DEFINITIONS

      MB(y,x) = is the designation of a macroblock.  The first
macroblock of a picture is MB(0,0).  The second macroblock is
MB(0,1).  The macroblock directly below the first macroblock is
MB(1,0).
  HORZ_SIZE = is the number of pixels horizontally across a
   picture.
  MBPROW = t...