`(12) Patent Application Publication (10) Pub. No.: US 2003/0123738A1
`Frojdh et al.
`(43) Pub. Date:
`Jul. 3, 2003
`
`US 2003.01.23738A1
`
`(54)
`
`(76)
`
`(21)
`(22)
`
`(60)
`
`(51)
`(52)
`
`GLOBAL MOTION COMPENSATION FOR
`VIDEO PICTURES
`
`(57)
`
`ABSTRACT
`
`Inventors: Per Frojdh, Stockholm (SE); Rickard
`Sjoberg, Tumba (SE); Torbjorn
`Einarsson, Stockholm (SE)
`Correspondence Address:
`JENKENS & GILCHRIST, PC
`1445 ROSS AVENUE
`SUTE 3200
`DALLAS, TX 75202 (US)
`Appl. No.:
`10/306,349
`
`Filed:
`
`Nov. 27, 2002
`Related U.S. Application Data
`Provisional application No. 60/334,979, filed on Nov.
`30, 2001.
`
`Publication Classification
`
`... G06K 9/36
`Int. Cl." .
`U.S. Cl. .............................................................. 382/236
`
`A System and a method for coding and decoding Video data
`are invented. In a System and method of Video data com
`pression a Video frame is divided into a Sequence of image
`blocks, wherein one of Several possible block-coding modes
`is an implicit global motion compensation (IGMC) mode,
`which is used to copy pixels from a previous frame displaced
`by a predicted motion vector. In another embodiment of the
`invention, a System and method of a Video data compression,
`a Video frame is Segmented into a sequence of Slices,
`wherein each slice includes a number of macroblockS.
`Respective Slices are encoded and a signal is included in the
`header of an encoded Slice to indicate whether the Slice is
`GMC enabled, that is, whether global motion compensation
`is to be used in reconstructing the encoded slice. If so, GMC
`information, Such as information representing a set of
`motion vectors, is included with the Slice. In a useful
`embodiment each slice of a frame contains the same GMC
`information, to enhance resiliency against errors. In another
`embodiment different slices of a frame contain different
`GMC information. In either embodiment, motion vectors for
`each image of a particular encoded slice can be recon
`structed using GMC information contained only in the
`particular encoded slice.
`
`32
`
`
`
`36
`
`38
`
`38
`
`AMAZON-1007
`7,532,808
`
`
`
`Patent Application Publication
`
`Jul. 3, 2003 Sheet 1 of 4
`
`US 2003/0123738A1
`
`
`
`ORIGINAL
`PICTURE
`AREA
`
`WARPED
`PICTURE
`AREA
`
`FIG. 1
`
`32-1
`
`
`
`
`
`Patent Application Publication
`
`Jul. 3, 2003 Sheet 2 of 4
`
`US 2003/0123738A1
`
`12
`
`VIDEO
`COMPRESS
`
`- 22
`
`
`
`16
`
`RCVR
`
`18
`
`VIDEO
`DECODER
`
`FIG. 2
`
`
`
`20
`
`24
`
`26
`
`Transform
`
`Output Bit Stream
`
`FIG. 3
`
`
`
`Patent Application Publication
`
`Jul. 3, 2003 Sheet 3 of 4
`
`US 2003/0123738A1
`
`
`
`
`
`Patent Application Publication
`
`Jul. 3, 2003 Sheet 4 of 4
`
`US 2003/0123738A1
`
`Inter MV (if not COPY)
`or Intra prediction
`
`
`
`
`
`Picture
`Header
`
`CMVC Flag
`(if INTER)
`
`
`
`60
`
`
`
`5.
`7
`
`
`
`560
`HDR-N
`R8
`/h,
`
`52 -58
`
`
`
`56b
`
`54b.
`
`FIG. 1 O
`
`
`
`US 2003/O123738A1
`
`Jul. 3, 2003
`
`GLOBAL MOTION COMPENSATION FOR VIDEO
`PICTURES
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`0001. This application for patent claims the benefit of
`priority from, and hereby incorporates by reference the
`entire disclosure of, co-pending U.S provisional application
`for patent serial No. 60/334,979, filed Nov. 30, 2001.
`
`BACKGROUND OF THE INVENTION
`0002 The invention disclosed and claimed herein gener
`ally pertains to a method for compression of Video signal
`data. More particularly, the invention pertains to a method of
`the above type which employs global motion compensation.
`Even more particularly, Some embodiments of the invention
`pertains to a method of the above type wherein macroblockS
`are grouped into Slices and global motion compensation
`information is transmitted with encoded slices.
`0003. It is anticipated that embodiments of the invention
`could be used in connection with television decoders of
`standard (SDTV) and high (HDTV) definition digital TV
`Signals, as a part of Video conferencing Systems, and in
`computers including PCs, laptops and the like for decoding
`video. Embodiments could also be used in mobile devices
`Such as mobile phones and PDAS, as a part of a decoder in
`a digital cinema projector, and in Video recorders, players
`and home entertainment Systems. However, it is not intended
`to limit the invention to such embodiments.
`0004 Digital video signals, in non-compressed form,
`typically contain large amounts of data. However, the actual
`necessary information content is considerably Smaller due to
`high temporal and Spatial correlations. Accordingly, Video
`compression, or coding, is used to reduce the amount of data
`which is actually required for certain tasks, Such as Storage
`of the Video signals or for transmitting them from one
`location to another. In the coding process temporal redun
`dancy can be used by making So-called motion-compensated
`predictions, where regions of a Video frame are predicted
`from Similar regions of a previous frame. That is, there may
`be parts of a frame that contain little or no change from
`corresponding parts of the previous frame. Such regions can
`thus be skipped or non-coded, in order to maximize com
`pression efficiency. On the other hand, if a good match with
`a previous frame cannot be found, predictions within a frame
`can be used to reduce Spatial redundancy. With a Successful
`prediction Scheme, the prediction error will be Small and the
`amount of information that has to be coded greatly reduced.
`Moreover, by transforming pixels to a frequency domain,
`e.g., by using the discrete cosine transform, Spatial correla
`tions provide further gains in efficiency.
`0005. Herein, the terms “picture” and “frame” are used
`interchangeably to refer to a frame of image data in a video
`Sequence.
`0006 High temporal correlations are characteristic of
`Video. Hence, much effort in optimizing video compression
`is focused on making accurate temporal predictions of
`regions of a frame. The better the prediction, the less bits are
`needed to code the discrepancy. The prediction itself is
`coded as instructions on how to translate, or even Scale or
`rotate, a previously coded region. If many regions of a frame
`
`have Similar motion, Such as in a pan or Zoom, further
`improvements in compression efficiency can result from
`coding a global motion Separately, which then applies to all
`or Some regions of the frame. This technique is often
`referred to as global motion compensation (GMC).
`0007. There are several reasons, however, why one
`should not address the whole frame when global motion
`compensation is used. The first reason is error resilience. In
`order to prevent error propagation from corrupted parts of an
`image, prediction is often constrained within bounded Seg
`ments called Slices. Each slice of a frame should therefore
`also be Self-contained regarding global motion information.
`Another reason is that global motion compensation may not
`be relevant for an entire frame, even though Smaller parts of
`the frame may benefit from global motion compensation
`applied to each part Separately.
`0008 Still Image Coding Versus Motion Compensation
`0009. A typical video codec, such as ITU-T Recommen
`dations H.261 and H.263, MPEG-1 part 2, MPEG-2 part 2
`(H.262), or MPEG-4 part 2, operates by sequentially encod
`ing a Video Sequence frame by frame. A frame is further
`divided into blocks that are coded sequentially row by row,
`Starting at the top left corner and ending at the bottom right
`corner. A typical block size is that of a macroblock (MB)
`covering 16x16 luminance pixels.
`0010. The first frame in the sequence is encoded as a still
`image, called an intra frame. Such a frame is Self-contained
`and does not depend on previously coded frames. However,
`they are not only used at the start of the Sequence, but may
`also be advantageously used at instances where the Video
`changes abruptly, Such as Scene cuts, or where it is desirable
`to have a random-access point, from which a decoder can
`Start decoding without having to decode the previous part of
`the bit stream. The pixel values of intra-coded macroblocks
`are usually transformed to a frequency domain, e.g. using
`discrete cosine transform and the transform coefficients
`quantized in order to reduce the Size of the resulting bit
`Stream.
`0011. In contrast, an inter frame is coded as a motion
`compensated difference image relative to an earlier frame.
`By using an already decoded frame (reconstructed frame) as
`reference, the Video coder can Signal for each macroblock a
`set of motion vectors (MVs) and coefficients. The motion
`vectors (one or Several depending on how the macroblock is
`partitioned) inform the decoder how to spatially translate the
`corresponding regions of the reference frame in order to
`make a prediction for the macroblock under consideration.
`This is referred to as motion compensation. The difference
`between the prediction and the original is encoded in terms
`of transform coefficients. However, not all macroblocks of
`an inter frame need to be motion compensated. If the change
`from the reference macroblock to the current macroblock is
`Small, the macroblock can be coded in COPY mode, i.e. not
`coded per Sebut signaled to be copied. See Section 5.3.1 of
`ITU-T Recommendation H.263 “Coded macroblock indica
`tion (COD) (1 bit)” for an example of a COPY mode
`implementation. On the other hand, if the macroblocks differ
`Substantially, it may be better to code it as an intra macrob
`lock.
`0012 Global Motion Compensation in H.263
`0013 Instead of addressing the motion compensation on
`a block basis only, it might be advantageous to extract the
`
`
`
`US 2003/O123738A1
`
`Jul. 3, 2003
`
`global motion of a frame Separately and code the deviations
`from the global motion for each block. In a passing or
`Zooming Sequence, or when a large object moves over the
`frame, the overall motion information is likely to be kept at
`a minimum by Such a Scheme. A well-known technique is to
`add an additional Step in the coding process before an inter
`frame is coded. Annex P*Reference Picture Resampling” of
`H.263 provides a method for “warping” the reference picture
`given four displacement vectors v, v', v'Y, and v'Y
`Specifying the displacements of the corner pixels of a frame.
`FIG. 1 shows a reference frame, with these vectors respec
`tively extending from the corner pixels 8. The displacements
`of all other pixels are given by a bilinear interpolation of
`these vectors, that is:
`
`Eqn. (1)
`
`0014) where (x, y) is the initial location of a pixel, Hand
`V represent locations of the corner pixels in the reference
`frame, and
`
`rty-oo-Ho-OV-vi-V
`0.015
`For a detailed description of implementation of
`these formulae, reference may be made to Recommendation
`H.263. When this global motion compensation is used for a
`Subsequent or inter frame, the reference frame is resampled,
`pixel-by-pixel, using the above interpolation. After the resa
`mpling has been performed, the coder can continue with
`coding the inter frame, based on the resampled reference
`frame.
`0016 Global Motion Compensation in MPEG-4 part 2
`0017 Global motion compensation is also specified in
`the MPEG-4 visual standard using so-called S(GMC)-
`VOPs. Here the global motion compensation is applied
`pixel-by-pixel as for H.263 Annex P. However, one can still
`choose on a macroblock level whether the (interpolated)
`global motion compensated reference frame should be used
`Or not.
`0018 Global Motion Compensation Proposed for H.26L
`0.019 ITU-T is currently developing a new video-coding
`standard, Recommendation H.26L, which is also likely to be
`jointly published as an International Standard by ISO/IEC
`called MPEG-4 AVC (ISO/IEC 14496-10). The current
`H.26L standard follows the above-mentioned general video
`coding design with frames and macroblocks, where each
`picture is encoded by a picture header followed by macrob
`locks. This Standard is discussed further hereinafter, in
`connection with FIGS. 8-9.
`0020. A significant disadvantage in using global motion
`compensation for a Video frame is the loSS of error resilience
`and flexibility caused by addressing entire frames Thus, if
`the global motion vectors are coded only once for a picture,
`e g. at the beginning of the picture, and this part of the
`bitstream is lost during transmission, the whole picture is
`likely to be corrupted. Accordingly, motion vectors for
`
`blocks throughout the picture cannot be decoded and must
`be concealed. Such errorS may also propagate in time, Since
`the next picture can be an inter picture as well, thus using a
`corrupted picture as reference. Another problem, Specifically
`regarding proposed global motion vector coding (GMVC)
`design for the H.26L standard, is that different global
`motions for parts of a frame cannot be specified.
`
`SUMMARY OF THE INVENTION
`0021. The present invention addresses the above problem
`of using global motion compensation for frames by applying
`global motion compensation to frames which have been
`Segmented into Slices. Each Slice is treated as a Self-con
`tained unit that does not use motion vectors from macrob
`locks outside itself for prediction. By coding global motion
`vectors for each Slice, all motion vectors within the Slice can
`be constructed or decoded in a Self-contained manner. More
`over, the global motion vectors can be applied differently to
`each Slice, or can be used to repeat global motion vectors
`referencing the entire frame. By Signaling global motion
`compensation for each Slice, the advantages of global
`motion compensation can be realized without neglecting
`error resilience. In addition, compression efficiency can be
`improved, Since the invention enables global motion to be
`better fitted for smaller regions
`0022. As a further benefit, the invention introduces a new
`mode for global motion compensation, referred to as
`Implicit Global Motion Compensation (IGMC). This mode
`can be used as a tool in many coding Scenarios which require
`a more useful MB mode than COPY mode, in order to
`minimize the total number of bits needed for motion vectors.
`In COPY mode the motion vector is always Zero. In contrast,
`IGMC uses implicit motion vectors that are predicted.
`0023 The invention can be directed to a method of video
`data compression for use with image blocks derived by
`dividing a Video frame into a Sequence of blockS. In a
`preferred embodiment, the blocks are macroblocks compris
`ing 16x16 (luminance) pixels and where one of several
`possible macroblock-coding modes is an implicit global
`motion compensation (IGMC) mode. This mode is used to
`copy pixels from a previous frame of a collocated block,
`dislocated by a motion vector that is predicted from neigh
`boring image blocks of the current frame.
`0024. Another part of the invention can be directed to a
`method of Video data compression for use with Slices
`derived by Segmenting a video frame into a Sequence of
`Slices, wherein each Slice comprises a plurality of image
`blocks. The method comprises the Steps of encoding the data
`of respective slices to generate corresponding encoded
`Slices, applying a signal to each encoded slice to indicate
`whether global motion compensation (GMC) is to be used in
`reconstructing its corresponding original slice, and if So,
`including GMC information with the encoded slice. Prefer
`ably, motion vectors for each image block of an encoded
`Slice can be reconstructed using only GMC information
`contained in the Slice. In one embodiment, at least two of the
`encoded slices contain the same GMC information. In
`another embodiment, at least two of the encoded slices
`contain different GMC information. Usefully, GMC infor
`mation contained by respective Slices of the frame comprises
`global motion vectors respectively referenced to the Video
`frame.
`
`
`
`US 2003/O123738A1
`
`Jul. 3, 2003
`
`In a preferred embodiment, the GMC information
`0.025
`contained in a given encoded slice comprises or represents
`a set of encoded global motion (GM) vectors. The set of GM
`vectors may be used together with bilinear interpolation to
`calculate the global motion compensation for each pixel
`contained in the given encoded slice. Alternatively, the GM
`vectors may be used with bilinear interpolation to calculate
`global motion compensation for each block in an array of
`4x4 pixel blocks comprising the given encoded slice.
`0026. In yet another embodiment, a particular encoded
`Slice has a macroblock copy mode that Signals encoding of
`the image blocks of the particular encoded slice by copying
`respectively corresponding image blockS located in a global
`motion compensated reference frame derived from the Video
`frame.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0.027
`FIG. 1 is a schematic diagram illustrating global
`motion compensation of a frame in accordance with the
`H.263 video compression standard.
`0028 FIG. 2 is a schematic diagram showing a simpli
`fied System for compressing, transmitting and decoding
`Video information in accordance with embodiments of the
`invention.
`0029 FIG. 3 is a block diagram showing certain com
`ponents for the compressor of the system shown in FIG. 2.
`0030 FIG. 4 is a schematic diagram illustrating the
`partitioning of a frame from a Video Sequence into slices
`respectively comprising macroblockS.
`0.031
`FIG. 5 is a schematic diagram illustrating motion
`vectors associated with respective pixel blocks of a mac
`roblock.
`FIGS. 6-7 are schematic diagrams, each showing a
`0.032
`Slice comprising a Sequence of macroblocks for illustrating
`embodiments of the invention.
`0.033
`FIG. 8 is a schematic diagram representing the
`bitstream Syntax of the H.26L design on picture and mac
`roblock levels.
`0034 FIG. 9 is a schematic diagram representing pro
`posed global motion compensation in H.26L on picture and
`macroblock levels.
`0.035
`FIG. 10 is a schematic diagram showing a slice
`comprising 4x4 macroblocks for illustrating embodiments
`of the invention pertaining to the H.26L Video compression
`Standard.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`0036) Referring to FIG. 2, there is shown a source 10 of
`Video information Such as a video camera. The information,
`comprising a Succession of Video frames, is coupled to a
`Video coder or compressor 12, which compresses Successive
`frames of data in accordance with an embodiment of an
`invention, as described herein. Abit Stream representing the
`compressed data is transmitted through a communication
`channel 22, which may be a wireleSS communication chan
`nel, from a transmitter 14 to a receiver 16. The received data
`is applied to a decoder 18 to recover the video information.
`
`0037 Referring to FIG. 3, there are shown certain con
`ventional components of a compressor 12 for processing a
`16x16 pixel macroblock 20, derived by dividing a frame in
`a sequence of video frames such as is shown in FIG. 4. The
`components shown in FIG. 3 include a transform module,
`Such as a Discrete Fourier Transform module 24, a quantizer
`26 and a binary encoder 28.
`0038 AS is known in the art, transform module 24
`receives an array of integers, comprising respective gray
`Scale levels (luminance) and color levels (chrominance) of
`the pixels of macroblock 20. Module 24 applies the trans
`form to the pixel levels to generate an output array of
`transform coefficients. AS is likewise well known, quantizer
`26 divides each transform coefficient by a corresponding
`Step size or quantization level. The output of quantizer 26 is
`directed to binary encoder 28, which generates a correspond
`ing Stream of digital bits 30 for transmission through chan
`nel 22.
`0039) Referring now to FIG.4, there is shown a frame 32
`comprising one of the frames in a Video Sequence 34. FIG.
`4 further shows frame 32 segmented into a number of slices
`36a-d, wherein each Slice 36a-d comprises a Sequence of
`macroblockS 38. Each macroblock comprises an array of
`pixels from frame 32. As described hereinafter in further
`detail, a slice 36 may contain GMC information pertaining
`to its macroblocks 38 and/or to frame 32, in accordance with
`embodiments of the invention.
`0040 FIG. 4 also shows slice 36a in further detail, to
`emphasize that a slice boundary can appear after any mac
`roblock of a frame. Slice 36b is shown to include marcob
`locks located in several rows 37 of the frame. Moreover,
`slice 36b starts a few macroblocks from the left frame
`boundary of the slice and ends a few macroblocks before the
`right frame boundary on the last row of the Slice. Thus, Some
`slices span over more than one row 37, and a row 37 can
`contain more than one slice, Such as the bottom row con
`taining slices 36c and 36d.
`0041) Referring to FIG. 5, the pixel blocks 40a'-40d" of
`a previous frame are used for predicting the blocks 40a-40d
`of the current frame. The motion vectors 42a-42d are
`describing the location from where pixels from the first
`frame shall be copied to blocks 40a-40d of the current
`frame. This illustrates that the pixel blocks 40a-40d can be
`readily determined or reconstructed by using a previously
`decoded frame together with the motion vectors 42a-42d.
`0042 Referring to FIG. 6, there is shown an encoded
`Slice 40 generated by encoding a slice Such as Slice 36b
`shown in FIG. 4. Encoded slice 40 comprises macroblocks
`or image blocks 42 and is provided with a header 44. In one
`embodiment of the invention, a Signal is applied to encoded
`Slice 40, for example by including the Signal in header 44,
`to indicate whether or not global motion compensation
`(GMC) is to be used in reconstructing the corresponding
`original slice 36. If GMC is to be used in slice construction,
`header 44 also includes GMC information. Such GMC
`information usefully comprises or represents motion vector
`information from which the motion vectors for each of the
`blocks 42 of slice 40 can be reconstructed at the decoder.
`Thus, all motion vectors in slice 40 can be derived exclu
`sively from information contained in slice 40.
`0043. In another useful embodiment, all of the slices 40
`encoded from respective slices 36 of video frame 32,
`
`
`
`US 2003/O123738A1
`
`Jul. 3, 2003
`
`referred to above, contain the same GMC information. For
`example, the GMC information could comprise an encoded
`set of the GM vectors r", r, r, and r described above in
`connection with FIG. 1. These vectors are referenced to the
`entire warped video frame, as shown in FIG. 1, and are
`derived from the corner pixel displacement vectors shown
`therein according to relationships described above. Resil
`iency is significantly enhanced by repeating this information
`in each encoded slice, Since the information would reach the
`decoder even if Some of the Slices were lost in the trans
`mission channel. The encoded GM vectors could be used
`with bilinear interpolation, in accordance with Equation (1)
`Set forth above, to calculate the global motion compensation
`for each pixel contained in the slice 40.
`0044) In a further embodiment, each encoded slice 40
`would have GMC information comprising the global motion
`vectors r", r, r, and r, wherein the vectors are referenced
`to the bounding box of the slice rather than to the entire
`frame. Referring further to FIG. 6, there is shown bounding
`box 46 of Slice 40 comprising the Smallest rectangle that can
`contain the slice. FIG. 6 shows corner pixels 46a-d at
`respective corners of bounding box 46, with vectors v,
`v", v'Y, and v'Y in this case specifying displacement of the
`respective corner pixels of the bounding box, rather than of
`the entire frame. The four vectors r", r, r, and r can be
`determined from the corner pixel vectors by means of the
`same relationships set forth above in connection with H.263
`for corner pixel displacement of an entire frame. From the
`four vectors coded for the bounding 46, the global motion
`compensation for each pixel contained in the Slice 40 may be
`readily calculated using bilinear interpolation, in accordance
`with Equation (1). It will be readily apparent that in this
`embodiment, different encoded slices 40 will contain differ
`ent GMC information.
`0.045
`Referring to FIG. 7, there is again shown encoded
`slice 40 with bounding box 46. However, only two global
`motion vectors 48a and 48b are shown, which are encoded
`as the GMC information for slice 40. These vectors refer to
`the left-most and right-most pixels, respectively, of bound
`ing box 46. Global motion compensation for respective
`pixels of slice 40 can be determined therefrom. For pixels
`along a vertical axis, the global motion vectors are the same,
`whereas along a horizontal axis they are interpolated linearly
`from the two coded global-motion vectors 48a and 48b.
`0046. In a further embodiment, all of the GMC informa
`tion in a slice can be repeated on the picture or frame level,
`Such as in the header of the frame 32.
`0047 Referring to FIG. 8, there is shown the bitstream
`Syntax of the H.26L Standard on picture and macroblock
`levels. In H.26L the macroblocks of an inter frame have one
`of several modes, which currently include 7 inter modes
`(16x16, 16x8, 8x16, 8x8, 8x4, 4x8 and 4x4 intra mode for
`4x4 and 23 intra modes for 16x16. Here NxM refers to the
`size of the blocks the macroblock is partitioned into. For
`inter MBS, each block has an MV and for intra MBS, each
`block is predicted as a unit. Furthermore, there is one COPY
`mode, which uses no MV and no coefficients. This is the
`cheapest mode to Signal. In fact, run-length coding is used
`to signal a number of copied (skipped) macroblocks with
`one codeword.
`0.048. A global-motion compensation has been proposed
`for the H.26L standard. It resembles the GMC used in Annex
`
`P of H.263 in the way the global motion vectors are defined.
`A main difference, however, is that the reference picture is
`not resampled and that the interpolated motion vectors do
`not apply to pixels but rather to blocks of pixels. The motion
`vector of an image block with its upper-left pixel as (x,y) can
`be derived as
`
`Eqn. (2)
`
`0049 where r, r, ry, andry are related to v, v', wV,
`and v'Y as for H.263 Annex P. However, these motion
`vectors apply to image blocks consisting of 4x4 pixels. In
`particular, the vectors v, v', v'Y, and v'Y apply to the
`corner blocks of the frame with their upper-left pixels at
`(0.0), (H-4.0), (0, V-4) and (H-4, V-4), respectively.
`0050 Global Motion Vector Coding (GMVC) for H.26L
`is proposed to apply only for certain macroblock modes of
`the picture. Whether or not it is used is signaled for each
`inter frame in the picture header by a flag (GMVC flag). If
`GMVC is turned on the four GMVs r, r, r and r follow
`the flag. These are used for the current picture whenever a
`mode using GMVC is signaled in a macroblock. The pro
`posed syntax is shown in FIG. 9.
`0051. The macroblock modes for macroblocks in a frame
`with GMVC enabled have two new modes. The COPY mode
`is replaced by GMVC COPY and there is an additional
`mode called GMVC 16. Both modes are inter 4x4 modes,
`i.e. the macroblock is partitioned into image blocks of 4x4
`pixels. The motion vectors for each block is given by the
`interpolated GMVs as given by the above formula. For
`GMVC COPY no coefficients are coded, i.e. the motion
`compensated reference picture is copied, whereas for
`GMVC 16, coefficients are added as well.
`0.052
`Referring to FIG. 10, there is shown an encoded
`slice 50 comprising macroblocks 52, wherein each macrob
`lock 52 is partitioned into 4x4 image blocks 54 in accor
`dance with the H.26L standard. In FIG. 10, interpolated GM
`vectors apply to 4x4 blocks 54 rather than to pixels. Refer
`ring further to FIG. 10, there are shown corner blocks54a-d
`having associated global motion vectors 56a-d, Specifying
`their displacements. Corner blocks 54a-d define the corners
`of a rectangular bounding box 58 containing slice 50. The
`motion vectors 56a-d are represented by GMC information
`contained in header 60 of slice 50. From the information
`pertaining to GM vectorS 56a-d, global motion compensa
`tion can be calculated for each of the 4x4 blocks 54 of slice
`50, by means of linear interpolation in accordance with
`Equation(2) above.
`0053. In a further embodiment, global motion compen
`sation for each of the image blockS 54 can be calculated
`from two encoded GM vectors (not shown) specifying
`displacement of the left-most and right-most 4x4 blockS
`contained within bounding box 58. In yet another embodi
`ment, global motion compensation for each block 54 can be
`derived from a single encoded GM vector comprising the
`GMC information contained in header 60.
`0054.
`In another embodiment wherein a slice is GMC
`enabled, i.e. contains a Signal indicating GMC information,
`the information comprises a COPY mode signal. In response
`
`
`
`US 2003/O123738A1
`
`Jul. 3, 2003
`
`to this signal in regard to a particular macroblock of the
`Slice, the encoder will copy the corresponding macroblock
`from the global motion compensated reference picture, that
`is, from the warped frame as shown in FIG. 1. In this
`embodiment coefficients pertaining to the macroblock may
`or may not be coded as well.
`0055. In an embodiment referred to as Implicit global
`motion compensation (IGMC) no explicit motion vector is
`sent with the encoded slice 40. Instead, the macroblock
`COPY (aka SKIP) mode is reinterpreted as an Inter mac
`roblock mode without coefficients or explicitly coded
`motion vectors. The motion vector used for motion com
`pensating the macroblock is predicted from neighboring
`blockS. More Specifically, in applying this embodiment to a
`particular image block in the current frame, a collocated
`block in a previous frame, dislocated by a motion vector is
`copied from the previous frame. The motion vector is
`predicted from neighboring blocks in the current frame, that
`is, from blocks which are adjacent to or proximate to the
`particular image block. The IGMC mode can be used to
`replace the COPY mode in coding an image block.
`0056. As a further feature of the IGMC embodiment, a
`bitstream representing a coded image block can include a
`Syntactic element which may be interpreted to indicate either
`the IGMC mode or the COPY mode. A Switch between the
`IGMC and COPY modes may be signalled implicitly, by
`means of other code elements. Alternatively, this Switch may
`be signalled explicitly by a code word.
`0057. In a modification of this embodiment, one extra
`motion vector is sent for each slice, to be used in predicting
`the first inter block of the slice.
`0.058
`Obviously, many other modifications and varia
`tions of the present invention are possible in light of the
`above teachings. It is therefore to be understood that within
`the Scope of the disclosed concept, the invention may be
`practiced otherwise than as has been Specifically described.
`
`What is claimed is:
`1. In a method of video data compression for use with
`Video frames comprising a plurality of image blocks,
`wherein each image block shall be decoded according to one
`of a plurality of coding modes, a method of decoding a
`particular image block in a current frame according to an
`implicit global motion compensation (IGMC) mode com
`prising the Steps of
`copying from a previous frame a collocated block dislo
`cated by a motion vector; and
`predicting Said motion vector from neighboring image
`blocks of Said current frame.
`2. The method of claim 1 wherein:
`one of said plurality of modes comprises a COPY mode
`used to copy a collocated block with Zero displacement;
`and
`said IGMC mode is used to replace said COPY mode in
`decoding Said particular image block.
`3. The method of claim 2 wherein:
`a data bitstream representing Said coded particular image
`block includes a Syntactic element which is interpreted
`to indicate either said IGMC mode or said COPY
`mode.
`
`4. The method of claim 3 wherein:
`a Switch between said IGMC and COPY modes is sig
`nalled explicitly by a code word.
`5. The method of claim 3 wherein:
`a Switch between said IGMC and COPY modes is sig
`nalled implicitly by previously decoded code elements.
`6. The method of claim 1 wherein:
`Said motion vector prediction is computed, for each vector
`component individually, as the median of three neigh
`boring motion vectors.
`7. A video decoder for decoding an image block in a
`current frame according to one of a plurality of coding
`modes, Said Video decoder comprising:
`means for copying from a previous frame a collocated
`bock dislocated by a motion vector according to an
`implicit global motion compensation (IGMC) mode;
`and
`means for predicting Said motion vector from neighboring
`image blocks of Said current frame according to Said
`IGMC mode.