throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2003/0081850 A1
`(43) Pub. Date:
`May 1, 2003
`Karczewicz et al.
`
`US 20030081850A1
`
`(54) METHOD AND SYSTEM FOR
`CONTEXT-BASED ADAPTIVE BINARY
`ARTHMETIC CODING
`(75) Inventors: Marta Karczewicz, Irving, TX (US);
`Ragip Kurceren, Irving, TX (US)
`Correspondence Address:
`WARE FRESSOLAWAN DER SLUYS &
`ADOLPHSON, LLP
`BRADFORD GREEN BUILDING 5
`755 MAIN STREET, PO BOX 224
`MONROE, CT 06468 (US)
`Assignee: Nokia Corporation
`
`Appl. No.:
`
`09/995,240
`
`(73)
`(21)
`(22)
`
`Filed:
`
`Nov. 27, 2001
`Related U.S. Application Data
`(60) Provisional application No. 60/322,112, filed on Sep.
`14, 2001.
`
`Publication Classification
`
`(51) Int. Cl. ................................................... G06K 9/36
`(52) U.S. Cl. .............................................................. 382/247
`
`(57)
`
`ABSTRACT
`
`A method and System for image coding, wherein an image
`is divided into a plurality of blocks for Scanning. The pixels
`values in the Scanned block are represented by a plurality of
`level-run value pairs, wherein the level value is indicative of
`a non-Zero pixel value and the run value is indicative of the
`number of consecutive Zero pixel values preceding the
`non-Zero pixel value. A plurality of contexts indicative of the
`level-run value pairs are conveyed to a decoder for allowing
`the decoder to reconstruct the image based on the contexts.
`The assignment of the contexts is also based on the level
`value of a preceding level-run pair. Additionally, instead of
`an end-of-block symbol, the number of non-zero coefficients
`is provided to the decoder prior to conveying the contexts
`thereto.
`
`30
`
`INTRAINTER trigger
`
`CONG CONRO
`
`
`
`360
`
`
`
`
`
`(tlag for transmitted
`
`32
`
`322
`
`323
`
`WE
`
`3.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`q (quantization Indicaicini
`
`32A
`
`quantized transform coefficients
`
`325
`
`G8
`
`
`
`R
`UANIAER
`
`c
`NWERSE
`aware
`
`T-1
`MWESE
`NS
`
`335
`
`AXA
`EUX
`
`w
`
`notion wector)
`
`
`
`SWITCH
`
`ON
`COMPENSATED
`partian
`
`Moton EL
`CCN
`
`from
`SMAC
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 1
`
`

`

`Patent Application Publication
`
`May 1, 2003 Sheet 1 of 16
`
`US 2003/0081850 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`00£
`
`| 08
`
`
`
`TT?||-|| NOHLÓ}|
`
`
`
`?NICKOO !!!----------------------------------------
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 2
`
`

`

`Patent Application Publication
`
`US 2003/0081850 A1
`
`
`
`
`
`-louingoo engqco rºt------------------------------
`
`
`
`
`
`
`
`
`09%NJ
`
`
`
`{!:3?n?? vb-NI 10, fiel]] dZZ$
`
`
`
`
`
`
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 3
`
`

`

`Patent Application Publication May 1, 2003 Sheet 3 of 16
`
`US 2003/0081850 A1
`
`
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 4
`
`

`

`US 2003/0081850 A1
`
`0 & L
`
`
`
`(IHW HOR?d)
`
`
`
`
`
`
`
`
`
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 5
`
`

`

`Patent Application Publication
`
`May 1, 2003. Sheet 5 of 16
`
`US 2003/0081850 A1
`
`Q93
`
`ZT?L?
`
`
`
`(IHW HOR?d)
`
`N/a-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 6
`
`

`

`Patent Application Publication May 1, 2003 Sheet 6 of 16
`
`US 2003/0081850 A1
`
`
`
`1-6 6b
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 7
`
`

`

`Patent Application Publication May 1, 2003 Sheet 7 of 16
`
`US 2003/0081850 A1
`
`
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 8
`
`

`

`Patent Application Publication May 1, 2003 Sheet 8 of 16
`
`US 2003/0081850 A1
`
`i
`s
`
`
`
`- -
`
`-
`\)
`\-
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 9
`
`

`

`Patent Application Publication
`
`May 1, 2003 Sheet 9 of 16
`
`US 2003/0081850 A1
`
`
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 10
`
`

`

`Patent Application Publication
`
`May 1, 2003. Sheet 10 of 16
`
`US 2003/0081850 A1
`
`
`
`----j++;-------------
`i–,{---;
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 11
`
`

`

`Patent Application Publication
`
`May 1, 2003 Sheet 11 of 16
`
`US 2003/0081850 A1
`
`
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 12
`
`

`

`Patent Application Publication
`
`May 1, 2003 Sheet 12 of 16
`
`US 2003/0081850 A1
`
`
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 13
`
`

`

`Patent Application Publication
`
`May 1, 2003 Sheet 13 of 16
`
`US 2003/0081850 A1
`
`
`
`
`
`SÍÐAÐI Sno|Ae])
`
`Sun», pue
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 14
`
`

`

`Patent Application Publication May 1, 2003 Sheet 14 of 16 US 2003/0081850 A1
`
`g
`
`2
`S.
`is
`
`
`
`
`
`&
`e
`NO)
`
`S.
`
`
`
`
`
`.
`
`
`
`
`
`cN
`co
`CN
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 15
`
`

`

`Patent Application Publication
`
`May 1, 2003. Sheet 15 of 16
`
`US 2003/0081850 A1
`
`
`
`
`
`Receiving
`image
`
`Dividing image
`into blockS
`
`Scanning
`blockS
`
`510
`
`520
`
`530
`
`Obtaining current
`and previous
`levels/runs
`
`540
`
`
`
`550
`
`ASSigining
`Contexts
`
`560
`
`
`
`
`
`
`
`
`
`FIG.
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 16
`
`

`

`Patent Application Publication
`
`May 1, 2003 Sheet 16 of 16 US 2003/0081850 A1
`
`
`
`Receiving
`image
`
`Dividing image
`into blocks
`
`Scanning
`blockS
`
`Providing
`No
`
`ASSigning
`COntexts
`
`
`
`
`
`
`
`
`
`
`
`
`510
`
`520
`
`530
`
`542
`
`550
`
`
`
`560
`
`FIG. 12
`
`OS 2.
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 17
`
`

`

`US 2003/0081850 A1
`
`May 1, 2003
`
`METHOD AND SYSTEM FOR CONTEXT-BASED
`ADAPTIVE BINARY ARTHMETIC CODING
`
`FIELD OF THE INVENTION
`0001. The present invention relates generally to the com
`pression of Still images and Video Sequences and, more
`particularly, to a method and System for context-based
`adaptive binary arithmetic coding.
`
`BACKGROUND OF THE INVENTION
`0002. A digital image in uncompressed form comprises
`an array of image pixels or picture elements. For example,
`in a commonly used digital image format, known as the
`Quarter Common Interchange Format (QCIF), an image, or
`frame, comprises 25,344 pixels arranged in an array 176x
`144 pixels. Each pixel, in turn, is represented by a certain
`number of bits, which carry information about the brightness
`(luminance) and/or color (chrominance) of the pixel. Dif
`ferent Schemes exist for representing the luminance and/or
`chrominance of pixels in a digital image. Commonly, a
`So-called YUV color model is used. The luminance, or Y,
`component represents the luminance of the pixel, while the
`color of the pixel is represented by two chrominance or color
`difference components, labelled U and V. Other color mod
`els, such as RGB (Red, Green, Blue) color models, which
`are based on components representing the three primary
`colors of light, are also commonly used. However, color
`models based on a luminance/chrominance representation
`provide advantages compared with color models based on
`primary colors. These stem from the nature of the human
`Visual System, which is more Sensitive to intensity variations
`than it is to color variations. YUV color models typically
`exploit this property by using a lower spatial resolution for
`the chrominance components (U, V) than for the luminance
`component (Y). In this way the amount of information
`needed to represent the color information in an image can be
`reduced without a noticeable reduction in perceived image
`quality.
`0003. The lower spatial resolution of the chrominance
`components is usually attained by Sub-Sampling. Typically,
`a block of 16x16 image pixels is represented by four blockS
`of 8x8 pixels comprising luminance information and the
`corresponding chrominance components are each repre
`Sented by one block of 8x8 pixels representing an area of the
`image equivalent to that of the 16x16 pixels in the lumi
`nance component. The chrominance components are thus
`Spatially Sub-Sampled by a factor of 2 in the X and y
`directions. The resulting assembly of four 8x8 pixel lumi
`nance blocks and two spatially corresponding 8x8 pixel
`chrominance blocks is commonly referred to as a YUV
`macroblock, or macroblock, for Short. A QCIF image com
`prises 11x9 such macroblocks. If the luminance blocks and
`chrominance blocks are represented with 8 bit resolution
`(that is by numbers in the range 0 to 255), the total number
`of bits required to represent the luminance and chrominance
`information associated with each macroblock is 6x(8x8x8)=
`3072 bits. Thus, the number of bits needed to represent an
`image in QCIF format is 99x3072=304,128 bits.
`0004.
`It should be appreciated that even in the situation
`described above, where both chrominance components of a
`digital color image are Sub-Sampled by a factor of two, an
`uncompressed image of only moderate size (e.g. 176x144
`
`pixels) requires a large number of bits for its representation.
`This means that the amount of memory required to Store
`digital images in uncompressed form is excessive. Further
`more, if Still images are to be transferred, for example over
`a data communications network having a moderate or low
`available bandwidth, transmission times may become
`lengthy, or the network may become congested. Bandwidth
`requirements are even more Severe if it is desired to transmit
`a Series of imageS as a digital Video Sequence in real time.
`For example, transmission of a digital Video Sequence com
`prising a Series of images in uncompressed QCIF format,
`represented using a YUV color model, at a rate of 30 frames
`per second, requires more than 9 Mbits/s (million bits per
`Second). Such a high data rate is generally impractical for
`use in Video recording, transmission and display applica
`tions because of the very large Storage capacity, transmission
`channel capacity and hardware performance required. If a
`Video Sequence is to be transmitted in real-time over a fixed
`line network such as an ISDN (Integrated Services Digital
`Network) or a PSTN (Public Service Telephone Network),
`the available data transmission bandwidth is typically of the
`order of 64 kbits/s. In mobile video-telephony, where trans
`mission takes place at least in part over a radio communi
`cations link, the available bandwidth can be as low as 20
`kbitS/S. This means that a significant reduction in the amount
`of information used to represent Video data must be achieved
`in order to enable transmission of digital images or video
`Sequences over low bandwidth communication networks. It
`is nevertheless desirable that this reduction should be
`achieved without Significantly degrading the quality of the
`imageS/video Sequence.
`0005 Over the past years, a considerable amount of
`research work has been directed towards reducing the
`amount of data required to represent digital images and
`Video Sequences, resulting in the development of numerous
`different Schemes and international Standards for compress
`ing digital Still images and digital Video. The basic approach
`to image compression used in almost all Still image and
`Video encoders existing today involves block-based trans
`form coding. Typically, transform coding translates image
`data from a representation comprising pixel values to a form
`comprising a set of coefficient values, each of which is a
`weighting factor (multiplier) for a basis function of the
`transform in question. It can be shown that there is a
`considerable degree of Spatial redundancy within a typical
`digital image. In practical terms, this means that in general
`the value of any pixel within an image is Substantially the
`Same as the value of other pixels in its immediate vicinity;
`that is, there is a significant degree of correlation between
`pixel values. It is further known that when certain math
`ematical transformations, Such as the two-dimensional Dis
`crete Cosine Transform (DCT), are performed on image
`data, this spatial redundancy is reduced Significantly, thereby
`producing a more compact representation of the image data.
`0006 Block-based Transform Coding as Used in JPEG
`Still Image Coding
`0007. In still image compression, such as that performed
`according to the baseline mode of the widely-used JPEG
`Standard, an image to be coded is first divided into an array
`of non-overlapping Square blocks, each block comprising,
`for example, an 8x8 array of image pixels. In the case of the
`JPEG baseline, a two-dimensional Discrete Cosine Trans
`form (DCT) is then applied independently to each of the
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 18
`
`

`

`US 2003/0081850 A1
`
`May 1, 2003
`
`image blocks. This has the effect of converting the image
`data from the pixel value domain to the Spatial frequency
`domain and to produce a corresponding Set of coefficient
`values, each of which is a weighting factor for a basis
`function of the two-dimensional DCT. The coefficient values
`thus produced are quantized and then coded in a lossleSS
`manner using entropy coding to further reduce the amount of
`data (i.e. number of bits) required for their representation.
`According to the JPEG baseline, the entropy coder employs
`only Huffinan coding to produce a compressed bit-Stream,
`although in other modes arithmetic coding may alternatively
`be used. Finally, data describing image and coding param
`eters (e.g. type of compression, quantization and coding
`tables, image size, etc.) is embedded in the bit-stream
`produced by the entropy encoder. As the JPEG standard
`comprises four alternative coding modes and places few
`constraints on the quantization and coding tables that can be
`used, this is necessary in order to enable JPEG compressed
`bit-Streams to be interchanged among different platforms
`and for images to be reconstructed without any ambiguity.
`0008. A digital video sequence, like an ordinary motion
`picture recorded on film, comprises a Sequence of Still
`images (often referred to as frames), the illusion of motion
`being created by displaying the frames one after the other at
`a relatively fast rate, typically 15 to 30 frames per Second.
`AS in any Still image, the pixel values of an individual frame
`within a digital Video Sequence exhibit considerable Spatial
`redundancy. Therefore, the frames of a digital video
`Sequence are amenable to block-based transform coding,
`just like individual still images.
`0009 Images in the consecutive frames of a video
`Sequence also tend to be quite Similar and thus the overall
`change between one video frame and the next is rather Small.
`This means that there is considerable temporal redundancy
`within a typical digital Video Sequence. For example, a Scene
`may comprise Some Stationary elements, Such as back
`ground Scenery, and Some moving areas, for example the
`face of a newsreader. In consecutive frames of the Sequence,
`it is likely that the background will remain unaltered and the
`only movement in the Scene will be due to changes in facial
`expression of the newsreader. Thus, when forming a com
`pressed representation of a Video Sequence there is also a
`possibility to use techniques which reduce the temporal
`redundancy of the image data of the Sequence in addition to
`methods that reduce Spatial redundancy, thereby allowing
`further data compression to be achieved.
`0010 Hybrid Video Encoder/Decoder
`0.011
`State of the art video coding systems make use of
`a technique known as motion-compensated prediction, to
`reduce the temporal redundancy in Video Sequences. Using
`motion-compensated prediction, the image content of Some
`(often many) frames in a digital video Sequence is pre
`dicted from one or more other frames in the Sequence,
`known as reference frames. Prediction of image content is
`achieved by tracing the motion of objects or regions of an
`image between a frame to be coded (compressed) and the
`reference frame(s) using motion vectors. In general, the
`reference frame(s) may precede the frame to be coded or
`may follow it in the video sequence. However, as will
`become apparent from discussions later in the text, it is not
`appropriate (or possible) to apply motion-compensated pre
`
`diction to all frames of a Video Sequence and thus at least two
`types of encoding are used in State of the art Video coding
`Systems.
`0012 Frames of a video sequence which are compressed
`using motion-compensated prediction are generally referred
`to as INTER-coded or P-frames. Motion-compensated pre
`diction alone rarely provides a Sufficiently precise represen
`tation of the image content of a Video frame and therefore it
`is typically necessary to provide a So-called prediction
`error (PE) frame with each INTER-coded frame. As will be
`explained in greater detail later in the text, the prediction
`error frame represents the difference between a decoded
`version of the INTER-coded frame and the image content of
`the frame to be coded. More specifically, the prediction error
`frame comprises values that represent the difference
`between pixel values in the frame to be coded and corre
`sponding reconstructed pixel values formed on the basis of
`a predicted (INTER-coded) version of the frame in question.
`Consequently, the prediction error frame has characteristics
`Similar to a still image and block-based transform coding
`can be applied in order to reduce the amount of data (number
`of bits) required to represent it.
`0013 Frames of a video sequence which are not com
`pressed using motion-compensated prediction are referred to
`as INTRA-coded or I-frames. Generally, INTRA-coded
`frames are produced by applying block-based transform
`coding directly to the pixel values of the frame to be coded.
`Additionally, where possible, blocks of INTRA-coded
`frames are predicted from previously coded blocks within
`the same frame. This technique, known as INTRA-predic
`tion, has the effect of further reducing the amount of data
`required to represent an INTRA-coded frame.
`0014.
`In order to illustrate principles of block-based
`transform coding and motion-compensated prediction in
`greater detail, reference will now be made to FIG. 1, which
`is a Schematic of a generic hybrid Video encoder that
`employs a combination of INTRA- and INTER-coding to
`produce a compressed (encoded) video bit-stream. A corre
`sponding decoder is illustrated in FIG. 2 and will be
`described later in the text.
`0.015 The video encoder 300 comprises an input 301 for
`receiving a digital Video signal from a camera or other video
`Source (not shown). It also comprises a transformation unit
`304 which is arranged to perform a block-based discrete
`cosine transform (DCT), a quantizer 306, an inverse quan
`tizer 308, an inverse transformation unit 310, arranged to
`perform an inverse block-based discrete cosine transform
`(IDCT), combiners 312 and 316, and a frame store 320. The
`encoder further comprises a motion estimator 330, a motion
`field coder 340 and a motion compensated predictor 350.
`Switches 302 and 314 are operated co-operatively by control
`manager 360 to Switch the encoder between an INTRA
`mode of video encoding and an INTER-mode of video
`encoding. The encoder 300 also comprises a video multiplex
`coder 370 which forms a single bit-stream from the various
`types of information produced by the encoder 300 for further
`transmission to a remote receiving terminal or, for example,
`for Storage on a mass Storage medium, Such as a computer
`hard drive (not shown).
`0016 Encoder 300 operates as follows. Each frame of
`uncompressed Video provided from the video Source to input
`301 is received and processed macroblock-by-macroblock,
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 19
`
`

`

`US 2003/0081850 A1
`
`May 1, 2003
`
`preferably in raster-Scan order. When the encoding of a new
`Video Sequence Starts, the first frame of the Sequence is
`encoded as an INTRA-coded frame. Subsequently, the
`encoder is programmed to code each frame in INTER-coded
`format, unless one of the following conditions is met: 1) it
`is judged that the current frame being coded is So dissimilar
`from the reference frame used in its prediction that excessive
`prediction error information is produced; 2) a predefined
`INTRA frame repetition interval has expired; or 3) feedback
`is received from a receiving terminal indicating a request for
`a frame to be provided in INTRA-coded format.
`0017. The occurrence of condition 1) is detected by
`monitoring the output of the combiner 316. The combiner
`316 forms a difference between the current macroblock of
`the frame being coded and its prediction, produced in the
`motion compensated prediction block 350. If a measure of
`this difference (for example a sum of absolute differences of
`pixel values) exceeds a predetermined threshold, the com
`biner 316 informs the control manager 360 via a control line
`319 and the control manager 360 operates the Switches 302
`and 314 via control line 313 So as to Switch the encoder 300
`into INTRA-coding mode. Occurrence of condition 2) is
`monitored by means of a timer or frame counter imple
`mented in the control manager 360, in such a way that if the
`timer expires, or the frame counter reaches a predetermined
`number of frames, the control manager 360 operates the
`Switches 302 and 314 via control line 313 to Switch the
`encoder into INTRA-coding mode. Condition3) is triggered
`if the control manager 360 receives a feedback Signal from,
`for example, a receiving terminal, via control line 321
`indicating that an INTRA frame refresh is required by the
`receiving terminal. Such a condition may arise, for example,
`if a previously transmitted frame is badly corrupted by
`interference during its transmission, rendering it impossible
`to decode at the receiver. In this situation, the receiving
`decoder issues a request for the next frame to be encoded in
`INTRA-coded format, thus re-initialising the coding
`Sequence.
`0018) Operation of the encoder 300 in INTRA-coding
`mode will now be described. In INTRA-coding mode, the
`control manager 360 operates the Switch 302 to accept video
`input from input line 318. The video signal input is received
`macroblock by macroblock from input 301 via the input line
`318. As they are received, the blocks of luminance and
`chrominance values which make up the macroblock are
`passed to the DCT transformation block 304, which per
`forms a 2-dimensional discrete cosine transform on each
`block of values, producing a 2-dimensional array of DCT
`coefficients for each block. In a situation Such as that
`described earlier, where each macroblock comprises four
`8x8 pixel blocks of luminance values and two spatially
`corresponding 8x8 pixel blocks of chrominance values,
`DCT transformation block 304 produces an 8x8 array of
`coefficient values for each block.
`0019. The DCT coefficients for each block are passed to
`the quantizer 306, where they are quantized using a quan
`tization parameter QP. Selection of the quantization param
`eter QP is controlled by the control manager 360 via control
`line 315. Quantization introduces a loss of information, as
`the quantized coefficients have a lower numerical precision
`than the coefficients originally generated by the DCT trans
`formation block 304. This provides a further mechanism by
`which the amount of data required to represent each image
`
`of the Video Sequence can be reduced. However, unlike the
`DCT transformation, which is essentially lossless, the loss of
`information introduced by quantization causes an irrevers
`ible degradation in image quality. The greater the degree of
`quantization applied to the DCT coefficients, the greater the
`loSS of image quality.
`0020. The quantized DCT coefficients for each block are
`passed from the quantizer 306 to the video multiplex coder
`370, as indicated by line 325 in FIG.1. The video multiplex
`coder 370 orders the transform coefficients for each block
`using a ZigZag Scanning procedure. This operation converts
`the two-dimensional array of quantized transform coeffi
`cients into a one-dimensional array. Typical ZigZag Scanning
`orders, such as that shown in FIG. 3, order the coefficients
`approximately in ascending order of Spatial frequency. This
`also tends to order the coefficients according to their values,
`Such that coefficients positioned earlier in the one-dimen
`Sional array are more likely to have larger absolute values
`than coefficients positioned later in the array. This is because
`lower Spatial frequencies tend to have higher amplitudes
`within the image blockS. Consequently, the last values in the
`one-dimensional array of quantized transform coefficients
`are commonly Zeros.
`0021 Run-Level Coding of DCT Transform Coefficients
`0022 Typically, the video multiplex coder 370 represents
`each non-Zero quantized coefficient in the one dimensional
`array by two values, referred to as level and run. Level is the
`value of the quantized coefficient and run is the number of
`consecutive Zero-valued coefficients preceding the coeffi
`cient in question. The run and level values for a given
`coefficient are ordered Such that the level value precedes the
`asSociated run value. A level value equal to Zero is used to
`indicate that there are no more non-Zero coefficient values in
`the block. This O-level value is referred to as an EOB
`(end-of-block) symbol.
`0023) Entropy Coding
`0024. The run and level values are further compressed in
`the video multiplex coder 370 using entropy coding.
`Entropy coding is a lossleSS operation, which exploits the
`fact that Symbols within a data Set to be coded generally
`have different probabilities of occurrence. Therefore, instead
`of using a fixed number of bits to represent each Symbol, a
`variable number of bits is assigned such that symbols which
`are more likely to occur are represented by code-words
`having fewer bits. For this reason, entropy coding is often
`referred to as Variable Length Coding (VLC). Since certain
`values of levels and runs are more likely than other values
`to occur, entropy coding techniques can be used effectively
`to reduce the number of bits required to represent the run and
`level values. A number of different methods can be used to
`implement entropy coding. For example, entropy coding of
`the run and level parameters may be implemented by means
`of look-up tables which define the mapping between each
`possible Symbol in the data Set to be coded and its corre
`sponding variable length code. Such look-up tables are often
`defined by Statistical analysis of training material compris
`ing Symbols identical to those to be coded and having similar
`Statistical properties. An alternative technique, known as
`arithmetic coding, can also be used to convert the run and
`level values into variable length code-words. In arithmetic
`coding a group of Symbols, for example the run and level
`values for a block of quantized transform coefficients, are
`coded as a floating point decimal number.
`
`Unified Patents, LLC v. Elects. & Telecomm. Res. Inst., et al.
`
`Ex. 1038, p. 20
`
`

`

`US 2003/0081850 A1
`
`May 1, 2003
`
`0.025. Once the run and level values have been entropy
`coded using an appropriate method, the Video multiplex
`coder further combines them with control information, also
`entropy coded using a variable length coding method appro
`priate for the kind of information in question, to form a
`Single compressed bit-stream of coded image information
`335.
`0026. A locally decoded version of the macroblock is also
`formed in the encoder 300. This is done by passing the
`quantized transform coefficients for each block, output by
`quantizer 306, through inverse quantizer 308 and applying
`an inverse DCT transform in inverse transformation block
`310. In this way a reconstructed array of pixel values is
`constructed for each block of the macroblock. The resulting
`decoded image data is input to combiner 312. In INTRA
`coding mode, Switch 314 is Set So that the input to the
`combiner 312 via Switch 314 is zero. In this way, the
`operation performed by combiner 312 is equivalent to
`passing the decoded image data unaltered.
`0.027 AS Subsequent macroblocks of the current frame
`are received and undergo the previously described encoding
`and decoding steps in blocks 304,306, 308,310 and 312, a
`decoded version of the INTRA-coded frame is built up in
`frame store 320. When the last macroblock of the current
`frame has been INTRA-coded and Subsequently decoded,
`the frame store 320 contains a completely decoded frame,
`available for use as a prediction reference frame in coding a
`Subsequently received video frame in INTER-coded format.
`0028 Operation of the encoder 300 in INTER-coding
`mode will now be described. In INTER-coding mode, the
`control manager 360 operates Switch 302 to receive its input
`from line 317, which comprises the output of combiner 316.
`The combiner 316 receives the video input signal macrob
`lock by macroblock from input 301. As combiner 316
`receives the blocks of luminance and chrominance values
`which make up the macroblock, it forms corresponding
`blocks of prediction error information. The prediction error
`information represents the difference between the block in
`question and its prediction, produced in the motion com
`pensated prediction block 350. More specifically, the pre
`diction error information for each block of the macroblock
`comprises a two-dimensional array of values, each of which
`represents the difference between a pixel value in the block
`of luminance or chrominance information being coded and
`a decoded pixel value obtained by forming a motion
`compensated prediction for the block, according to the
`procedure described below. Thus, in a Situation where each
`macroblock comprises four 8x8 pixel blocks of luminance
`values and two spatially corresponding 8x8 pixel blocks of
`chrominance values, the prediction error information for the
`macroblock similarly comprises four 8x8 blocks of lumi
`nance prediction error values and two spatially correspond
`ing 8x8 blocks of chrominance prediction error values.
`0029. The prediction error information for each block of
`the macroblock is passed to DCT transformation block 304,
`which performs a two-dimensional discrete cosine transform
`on each block of prediction error values to produce a
`two-dimensional array of DCT transform coefficients for
`each block. Thus, in a Situation where the prediction error
`information for each macroblock comprises four 8x8 blocks
`of luminance prediction error values and two spatially
`corresponding 8x8 blocks of chrominance prediction error
`
`values, DCT transformation block 304 produces an 8x8
`array of transform coefficient values for each prediction
`error block. The transform coefficients for each prediction
`error block are passed to quantizer 306 where they are
`quantized using a quantization parameter QP, in a manner
`analogous to that described above in connection with opera
`tion of the encoder in INTRA-coding mode. Again, Selection
`of the quantization parameter QP is controlled by the control
`manager 360 via control line 315.
`0030 The quantized DCT coefficients representing the
`prediction error information for each block of the macrob
`lock are passed from quantizer 306 to video multiplex coder
`370, as indicated by line 325 in FIG.1. As in INTRA-coding
`mode, the video multiplex coder 370 orders the transform
`coefficients for each prediction error block using the previ
`ously described ZigZag Scanning procedure (see FIG. 3) and
`then represents each non-Zero quantized coefficient as a
`level and a run value. It further compresses the run and level
`values using entropy coding, in a manner analogous to that
`described above in connection with INTRA-coding mode.
`Video multiplex coder 370 also receives motion vector
`information (described in the following) from motion field
`coding block 340 via line 326 and control information from
`control manager 360. It entropy codes the motion vector
`information and forms a Single bit-Stream of coded image
`information, 335 comprising the entropy coded motion
`vector, prediction error and control information.
`0031. The quantized DCT coefficients representing the
`prediction error information for each block of the macrob
`lock are also passed from quantizer 306 to inverse quantizer
`308. Here they are inverse quantized and the resulting blocks
`of inverse quantized DCT coefficients are applied to inverse
`DCT transform block 310, where they

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket