Adaptive weighting of reference pictures in video encoding
3 claims: 3 independent, 0 dependent
- 1A method for encoding to produce video data for a picture having a plurality of image blocks, the video data including coded data for an image block of the plurality of image blocks and including at least one reference picture index, the method comprising:accessing (712) the image block and a single reference picture index for predicting the image block, the accessed single reference picture index corresponding to a particular reference picture;characterized byencoding (724) the image block using the particular reference picture corresponding to the single reference picture index and using a weighting factor, determined from a set of weighting factors, and corresponding to the single reference picture index,wherein (714) the single reference picture index determines both the particular reference picture and the weighting factor, and each weighting factor in the set of weighting factors corresponds to a different particular reference picture. Un procédé de codage permettant de produire des données vidéo pour une image présentant une pluralité de blocs d'images, les données vidéo comprenant des données codées pour un bloc d'images de la pluralité de blocs d'images et comprenant au moins un index d'images de référence, le procédé comprenant : une évaluation (712) du bloc d'images et un index d'images de référence unique permettant de prédire le bloc d'images, l'index d'images de référence unique accessible correspondant à une image de référence en particulier ;caractérisé parun codage (724) du bloc d'images en utilisant l'image de référence en particulier qui correspond à l'index d'images de référence unique et en utilisant un facteur de pondération, déterminé à partir d'un ensemble de facteurs de pondération, et qui correspond à l'index d'images de référence unique,dans lequel (714) l'index d'images de référence unique détermine à la fois l'image de référence en particulier et le facteur de pondération, et chaque facteur de pondération dans l'ensemble de facteurs de pondération correspond à une image de référence différente en particulier. Verfahren zum Codieren, um Videodaten für ein Bild mit mehreren Bildblöcken zu erzeugen, wobei die Videodaten codierte Daten für einen Bildblock der mehreren Bildblöcke enthalten und mindestens einen Referenzbildindex enthalten, wobei das Verfahren umfasst: Zugreifen (712) auf den Bildblock und auf einen einzelnen Referenzbildindex, um den Bildblock vorherzusagen, wobei der einzelne Referenzbildindex, auf den zugegriffen wird, einem bestimmten Referenzbild entspricht;gekennzeichnet durchCodieren (724) des Bildblocks unter Verwendung des bestimmten Referenzbilds, das dem einzelnen Referenzbildindex entspricht, und unter Verwendung eines Gewichtungsfaktors, der aus einem Satz von Gewichtungsfaktoren bestimmt wird, und entsprechend dem einzelnen Referenzbildindex,wobei (714) der einzelne Referenzbildindex sowohl das bestimmte Referenzbild als auch den Gewichtungsfaktor bestimmt und wobei jeder Gewichtungsfaktor in dem Satz von Gewichtungsfaktoren einem anderen bestimmten Referenzbild entspricht.
- 2A method as defined in claim 1, wherein encoding comprises:determining a motion-compensated block from the particular reference picture;weighting the motion-compensated block using the weighting factor to produce a weighted motion-compensated block;determining an offset;andadjusting the weighted motion-compensated block using the offset to produce an adjusted weighted motion-compensated block. Un procédé tel que défini dans la revendication 1, dans lequel le codage comprend : la détermination d'un bloc à mouvement compensé à partir de l'image de référence en particulier ;la pondération du bloc à mouvement compensé en utilisant le facteur de pondération pour produire un bloc pondéré à mouvement compensé ;la détermination d'un décalage ;etl'ajustement du bloc à mouvement compensé pondéré à l'aide du décalage pour produire un bloc à mouvement compensé pondéré ajusté. Verfahren nach Anspruch 1, wobei das Codieren umfasst: Bestimmen eines bewegungskompensierten Blocks aus dem bestimmten Referenzbild;Gewichten des bewegungskompensierten Blocks unter Verwendung des Gewichtungsfaktors, um einen gewichteten bewegungskompensierten Block zu erzeugen;Bestimmen eines Versatzes;undEinstellen des gewichteten bewegungskompensierten Blocks unter Verwendung des Versatzes, um einen eingestellten gewichteten bewegungskompensierten Block zu erzeugen.
- 3A method as defined in claim 2, wherein encoding further comprises subtracting the adjusted weighted motion-compensated block and the image block. Un procédé tel que défini dans la revendication 2, dans lequel le codage comprend en outre la soustraction du bloc à mouvement compensé pondéré ajusté et le bloc d'images. Verfahren nach Anspruch 2, wobei das Codieren ferner das Subtrahieren des eingestellten gewichteten bewegungskompensierten Blocks und des Bildblocks umfasst.
Independent claims3
42 paragraphs in 6 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of <patcit id="pcit0001" dnum="US39584302P" dnum-type="L"><text>U.S. Provisional Patent Application Serial No. 60/395,843</text></patcit> (Atty. Docket No. PU020340), entitled "Adaptive Weighting Of Reference Pictures In Video CODEC" and filed July 15, 2002, which is incorporated by reference herein in its entirety. In addition, this application claims the benefit of <patcit id="pcit0002" dnum="US39587402P" dnum-type="L"><text>U.S. Provisional Patent Application Serial No. 60/395,874</text></patcit> (Atty. Docket No. PU020339), entitled "Motion Estimation With Weighting Prediction" also filed July 15, 2002, which is incorporated by reference herein in its entirety.
FIELD OF THE INVENTION
The present invention is directed towards video encoders and in particular, towards adaptive weighting of reference pictures in video encoders.
BACKGROUND OF THE INVENTION
Video data is generally processed and transferred in the form of bit streams. Typical video compression coders and decoders ("CODECs") gain much of their compression efficiency by forming a reference picture prediction of a picture to be encoded, and encoding the difference between the current picture and the prediction. The more closely that the prediction is correlated with the current picture, the fewer bits that are needed to compress that picture, thereby increasing the efficiency of the process. Thus, it is desirable for the best possible reference picture prediction to be formed.
In many video compression standards, including Moving Picture Experts Group ("MPEG")-1, MPEG-2 and MPEG-4, a motion compensated version of a previous reference picture is used as a prediction for the current picture, and only the difference between the current picture and the prediction is coded. When a single picture prediction ("P" picture) is used, the reference picture is not scaled when the motion compensated prediction is formed. When bi-directional picture predictions ("B" pictures) are used, intermediate predictions are formed from two different pictures, and then the two intermediate predictions are averaged together, using equal weighting factors of (½, ½) for each, to form a single averaged prediction. In these MPEG standards, the two reference pictures are always one each from the forward direction and the backward direction for B pictures.
The standard document JVT-B075 entitled "Improved multiple frame motion compensation using frame interpolation" describes an improved motion compensation method for multiple reference frames.
The standard document JVT-C066 entitled "Multi-frame interpolative prediction with modified syntax" describes a modified syntax based on the B-picture that supports multi-frame interpolative prediction
SUMMARY OF THE INVENTION
The invention is a video encoding method as defined in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
Adaptive weighting of reference pictures in video coders and decoders in accordance with the principles of the present invention are shown in the following exemplary figures, in which: <ul id="ul0001" list-style="none" compact="compact"><li><figref idref="f0001">Figure 1</figref> shows a block diagram for a standard video decoder;</li><li><figref idref="f0001">Figure 2</figref> shows a block diagram for a video decoder with adaptive bi-prediction;</li><li><figref idref="f0002">Figure 3</figref> shows a block diagram for a video decoder with reference picture weighting in accordance with the principles of the present invention;</li><li><figref idref="f0002">Figure 4</figref> shows a block diagram for a standard video encoder;</li><li><figref idref="f0003">Figure 5</figref> shows a block diagram for a video encoder with reference picture weighting in accordance with the principles of the present invention;</li><li><figref idref="f0004">Figure 6</figref> shows a flowchart for a decoding process in accordance with the principles of the present invention; and</li><li><figref idref="f0005">Figure 7</figref> shows a flowchart for an encoding process in accordance with the principles of the present invention.</li></ul>
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
In some video sequences, in particular those with fading, the current picture or image block to be coded is more strongly correlated to a reference picture scaled by a weighting factor than to the reference picture itself. Video CODECs without weighting factors applied to reference pictures encode fading sequences very inefficiently. When weighting factors are used in encoding, a video encoder needs to determine both weighting factors and motion vectors, but the best choice for each of these depends on the other, with motion estimation typically being the most computationally intensive part of a digital video compression encoder.
In the proposed Joint Video Team ("JVT") video compression standard, each P picture can use multiple reference pictures to form a picture's prediction, but each individual motion block or 8x8 region of a macroblock uses only a single reference picture for prediction. In addition to coding and transmitting the motion vectors, a reference picture index is transmitted for each motion block or 8x8 region, indicating which reference picture is used. A limited set of possible reference pictures is stored at both the encoder and decoder, and the number of allowable reference pictures is transmitted.
In the JVT standard, for bi-predictive pictures (also called "B" pictures), two predictors are formed for each motion block or 8x8 region, each of which can be from a separate reference picture, and the two predictors are averaged together to form a single averaged predictor. For bi-predictively coded motion blocks, the reference pictures can both be from the forward direction, both be from the backward direction, or one each from the forward and backward directions. Two lists are maintained of the available reference pictures that may used for prediction. The two reference pictures are referred to as the list 0 and list 1 predictors. An index for each reference picture is coded and transmitted, ref_idx_l0 and ref_idx_l1, for the list 0 and list 1 reference pictures, respectively. Joint Video Team ("JVT") bi-predictive or "B" pictures allows adaptive weighting between the two predictions, i.e., <maths id="math0001" num=""><math display="block"><mrow><mi mathvariant="normal">Pred</mi><mo>=</mo><mfenced open="[" close="]" separators=""><mfenced separators=""><mi mathvariant="normal">P</mi><mo></mo><mn mathvariant="normal">0</mn></mfenced><mo></mo><mfenced separators=""><mi mathvariant="normal">Pred</mi><mo></mo><mn mathvariant="normal">0</mn></mfenced></mfenced><mo>+</mo><mfenced open="[" close="]" separators=""><mfenced separators=""><mi mathvariant="normal">P</mi><mo></mo><mn mathvariant="normal">1</mn></mfenced><mo></mo><mfenced separators=""><mi mathvariant="normal">Pred</mi><mo></mo><mn mathvariant="normal">1</mn></mfenced></mfenced><mo>+</mo><mi mathvariant="normal">D</mi><mo>,</mo></mrow></math><img file="EP1540952B1_D0001.tif" /></maths> where P0 and P1 are weighting factors, Pred0 and Pred1 are the reference picture predictions for list 0 and list 1 respectively, and D is an offset.
Two methods have been proposed for indication of weighting factors. In the first, the weighting factors are determined by the directions that are used for the reference pictures. In this method, if the ref_idx_l0 index is less than or equal to ref_idx_l1, weighting factors of (½, ½) are used, otherwise (2, -1) factors are used.
In the second method offered, any number of weighting factors is transmitted for each slice. Then a weighting factor index is transmitted for each motion block or 8x8 region of a macroblock that uses bi-directional prediction. The decoder uses the received weighting factor index to choose the appropriate weighting factor, from the transmitted set, to use when decoding the motion block or 8x8 region. For example, if three weighting factors were sent at the slice layer, they would correspond to weight factor indices 0, 1 and 2, respectively.
The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor ("DSP") hardware, read-only memory ("ROM") for storing software, random access memory ("RAM"), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
As shown in <figref idref="f0001">Figure 1</figref>, a standard video decoder is indicated generally by the reference numeral 100. The video decoder 100 includes a variable length decoder ("VLD") 110 connected in signal communication with an inverse quantizer 120. The inverse quantizer 120 is connected in signal communication with an inverse transformer 130. The inverse transformer 130 is connected in signal communication with a first input terminal of an adder or summing junction 140, where the output of the summing junction 140 provides the output of the video decoder 100. The output of the summing junction 140 is connected in signal communication with a reference picture store 150. The reference picture store 150 is connected in signal communication with a motion compensator 160, which is connected in signal communication with a second input terminal of the summing junction 140.
Turning to <figref idref="f0001">Figure 2</figref>, a video decoder with adaptive bi-prediction is indicated generally by the reference numeral 200. The video decoder 200 includes a VLD 210 connected in signal communication with an inverse quantizer 220. The inverse quantizer 220 is connected in signal communication with an inverse transformer 230. The inverse transformer 230 is connected in signal communication with a first input terminal of a summing junction 240, where the output of the summing junction 240 provides the output of the video decoder 200. The output of the summing junction 240 is connected in signal communication with a reference picture store 250. The reference picture store 250 is connected in signal communication with a motion compensator 260, which is connected in signal communication with a first input of a multiplier 270.
The VLD 210 is further connected in signal communication with a reference picture weighting factor lookup 280 for providing an adaptive bi-prediction ("ABP") coefficient index to the lookup 280. A first output of the lookup 280 is for providing a weighting factor, and is connected in signal communication to a second input of the multiplier 270. The output of the multiplier 270 is connected in signal communication to a first input of a summing junction 290. A second output of the lookup 280 is for providing an offset, and is connected in signal communication to a second input of the summing junction 290. The output of the summing junction 290 is connected in signal communication with a second input terminal of the summing junction 240.
Turning now to <figref idref="f0002">Figure 3</figref>, a video decoder with reference picture weighting is indicated generally by the reference numeral 300. The video decoder 300 includes a VLD 310 connected in signal communication with an inverse quantizer 320. The inverse quantizer 320 is connected in signal communication with an inverse transformer 330. The inverse transformer 330 is connected in signal communication with a first input terminal of a summing junction 340, where the output of the summing junction 340 provides the output of the video decoder 300. The output of the summing junction 340 is connected in signal communication with a reference picture store 350. The reference picture store 350 is connected in signal communication with a motion compensator 360, which is connected in signal communication with a first input of a multiplier 370.
The VLD 310 is further connected in signal communication with a reference picture weighting factor lookup 380 for providing a reference picture index to the lookup 380. A first output of the lookup 380 is for providing a weighting factor, and is connected in signal communication to a second input of the multiplier 370. The output of the multiplier 370 is connected in signal communication to a first input of a summing junction 390. A second output of the lookup 380 is for providing an offset, and is connected in signal communication to a second input of the summing junction 390. The output of the summing junction 390 is connected in signal communication with a second input terminal of the summing junction 340.
As shown in <figref idref="f0002">Figure 4</figref>, a standard video encoder is indicated generally by the reference numeral 400. An input to the encoder 400 is connected in signal communication with a non-inverting input of a summing junction 410. The output of the summing junction 410 is connected in signal communication with a block transformer 420. The transformer 420 is connected in signal communication with a quantizer 430. The output of the quantizer 430 is connected in signal communication with a variable length coder ("VLC") 440, where the output of the VLC 440 is an externally available output of the encoder 400.
The output of the quantizer 430 is further connected in signal communication with an inverse quantizer 450. The inverse quantizer 450 is connected in signal communication with an inverse block transformer 460, which, in turn, is connected in signal communication with a reference picture store 470. A first output of the reference picture store 470 is connected in signal communication with a first input of a motion estimator 480. The input to the encoder 400 is further connected in signal communication with a second input of the motion estimator 480. The output of the motion estimator 480 is connected in signal communication with a first input of a motion compensator 490. A second output of the reference picture store 470 is connected in signal communication with a second input of the motion compensator 490. The output of the motion compensator 490 is connected in signal communication with an inverting input of the summing junction 410.
Turning to <figref idref="f0003">Figure 5</figref>, a video encoder with reference picture weighting is indicated generally by the reference numeral 500. An input to the encoder 500 is connected in signal communication with a non-inverting input of a summing junction 510. The output of the summing junction 510 is connected in signal communication with a block transformer 520. The transformer 520 is connected in signal communication with a quantizer 530. The output of the quantizer 530 is connected in signal communication with a VLC 540, where the output of the VLC 440 is an externally available output of the encoder 500.
The output of the quantizer 530 is further connected in signal communication with an inverse quantizer 550. The inverse quantizer 550 is connected in signal communication with an inverse block transformer 560, which, in turn, is connected in signal communication with a reference picture store 570. A first output of the reference picture store 570 is connected in signal communication with a first input of a reference picture weighting factor assignor 572. The input to the encoder 500 is further connected in signal communication with a second input of the reference picture weighting factor assignor 572. The output of the reference picture weighting factor assignor 572, which is indicative of a weighting factor, is connected in signal communication with a first input of a motion estimator 580. A second output of the reference picture store 570 is connected in signal communication with a second input of the motion estimator 580.
The input to the encoder 500 is further connected in signal communication with a third input of the motion estimator 580. The output of the motion estimator 580, which is indicative of motion vectors, is connected in signal communication with a first input of a motion compensator 590. A third output of the reference picture store 570 is connected in signal communication with a second input of the motion compensator 590. The output of the motion compensator 590, which is indicative of a motion compensated reference picture, is connected in signal communication with a first input of a multiplier 592. The output of the reference picture weighting factor assignor 572, which is indicative of a weighting factor, is connected in signal communication with a second input of the multiplier 592. The output of the multiplier 592 is connected in signal communication with an inverting input of the summing junction 510.
Turning now to <figref idref="f0004">Figure 6</figref>, an exemplary process for decoding video signal data for an image block is indicated generally by the reference numeral 600. The process includes a start block 610 that passes control to an input block 612. The input block 612 receives the image block compressed data, and passes control to an input block 614. The input block 614 receives at least one reference picture index with the data for the image block, each reference picture index corresponding to a particular reference picture. The input block 614 passes control to a function block 616, which determines a weighting factor corresponding to each of the received reference picture indices, and passes control to an optional function block 617. The optional function block 617 determines an offset corresponding to each of the received reference picture indices, and passes control to a function block 618. The function block 618 retrieves a reference picture corresponding to each of the received reference picture indices, and passes control to a function block 620. The function block 620, in turn, motion compensates the retrieved reference picture, and passes control to a function block 622. The function block 622 multiplies the motion compensated reference picture by the corresponding weighting factor, and passes control to an optional function block 623. The optional function block 623 adds the motion compensated reference picture to the corresponding offset, and passes control to a function block 624. The function block 624, in turn, forms a weighted motion compensated reference picture, and passes control to an end block 626.
Turning now to <figref idref="f0005">Figure 7</figref>, an exemplary process for encoding video signal data for an image block is indicated generally by the reference numeral 700. The process includes a start block 710 that passes control to an input block 712. The input block 712 receives substantially uncompressed image block data, and passes control to a function block 714. The function block 714 assigns a weighting factor for the image block corresponding to a particular reference picture having a corresponding index. The function block 714 passes control to an optional function block 715. The optional function block 715 assigns an offset for the image block corresponding to a particular reference picture having a corresponding index. The optional function block 715 passes control to a function block 716, which computes motion vectors corresponding to the difference between the image block and the particular reference picture, and passes control to a function block 718. The function block 718 motion compensates the particular reference picture in correspondence with the motion vectors, and passes control to a function block 720. The function block 720, in turn, multiplies the motion compensated reference picture by the assigned weighting factor to form a weighted motion compensated reference picture, and passes control to an optional function block 721. The optional function block 721, in turn, adds the motion compensated reference picture to the assigned offset to form a weighted motion compensated reference picture, and passes control to a function block 722. The function block 722 subtracts the weighted motion compensated reference picture from the substantially uncompressed image block, and passes control to a function block 724. The function block 724, in turn, encodes a signal with the difference between the substantially uncompressed image block and the weighted motion compensated reference picture along with the corresponding index of the particular reference picture, and passes control to an end block 726.
In the present exemplary embodiment, for each coded picture or slice, a weighting factor is associated with each allowable reference picture that blocks of the current picture can be encoded with respect to. When each individual block in the current picture is encoded or decoded, the weighting factor(s) and offset(s) that correspond to its reference picture indices are applied to the reference prediction to form a weight predictor. All blocks in the slice that are coded with respect to the same reference picture apply the same weighting factor to the reference picture prediction.
Whether or not to use adaptive weighting when coding a picture can be indicated in the picture parameter set or sequence parameter set, or in the slice or picture header. For each slice or picture that uses adaptive weighting, a weighting factor may be transmitted for each of the allowable reference pictures that may be used for encoding this slice or picture. The number of allowable reference pictures is transmitted in the slice header. For example, if three reference pictures can be used to encode the current slice, up to three weighting factors are transmitted, and they are associated with the reference picture with the same index.
If no weighting factors are transmitted, default weights are used. In one embodiment of the current invention, default weights of (½, ½) are used when no weighting factors are transmitted. The weighting factors may be transmitted using either fixed or variable length codes.
Unlike typical systems, each weighting factor that is transmitted with each slice, block or picture corresponds to a particular reference picture index. Previously, any set of weighting factors transmitted with each slice or picture were not associated with any particular reference pictures. Instead, an adaptive bi-prediction weighting index was transmitted for each motion block or 8x8 region to select which of the weighting factors from the transmitted set was to be applied for that particular motion block or 8x8 region.
In the present embodiment, the weighting factor index for each motion block or 8x8 region is not explicitly transmitted. Instead, the weighting factor that is associated with the transmitted reference picture index is used. This dramatically reduces the amount of overhead in the transmitted bitstream to allow adaptive weighting of reference pictures.
This system and technique may be applied to either Predictive "P" pictures, which are encoded with a single predictor, or to Bi-predictive "B" pictures, which are encoded with two predictors. The decoding processes, which are present in both encoder and decoders, are described below for the P and B picture cases. Alternatively, this technique may also be applied to coding systems using the concepts similar to I, B, and P pictures.
The same weighting factors can be used for single directional prediction in B pictures and for bi-directional prediction in B pictures. When a single predictor is used for a macroblock, in P pictures or for single directional prediction in B pictures, a single reference picture index is transmitted for the block. After the decoding process step of motion compensation produces a predictor, the weighting factor is applied to predictor. The weighted predictor is then added to the coded residual, and clipping is performed on the sum, to form the decoded picture. For use for blocks in P pictures or for blocks in B pictures that use only list 0 prediction, the weighted predictor is formed as: <maths id="math0002" num="(1)"><math display="block"><mrow><mi mathvariant="normal">Pred</mi><mo>=</mo><mi mathvariant="normal">W</mi><mo></mo><mn mathvariant="normal">0</mn><mo>*</mo><mi mathvariant="normal">Pred</mi><mo></mo><mn mathvariant="normal">0</mn><mo>+</mo><mi mathvariant="normal">D</mi><mo></mo><mn mathvariant="normal">0</mn></mrow></math><img file="EP1540952B1_D0002.tif" /></maths> where W0 is the weighting factor associated with the list 0 reference picture, D0 is the offset associated with the list 0 reference picture, and Pred0 is the motion-compensated prediction block from the list 0 reference picture.
For use for blocks in B pictures which use only list 0 prediction, the weighted predictor is formed as: <maths id="math0003" num="(2)"><math display="block"><mrow><mi mathvariant="normal">Pred</mi><mo>=</mo><mi mathvariant="normal">W</mi><mo></mo><mn mathvariant="normal">1</mn><mo>*</mo><mi mathvariant="normal">Pred</mi><mo></mo><mn mathvariant="normal">1</mn><mo>+</mo><mi mathvariant="normal">D</mi><mo></mo><mn mathvariant="normal">1</mn></mrow></math><img file="EP1540952B1_D0003.tif" /></maths> where W1 is the weighting factor associated with the list 1 reference picture, D0 is the offset associated with the list 1 reference picture, and Pred1 is the motion-compensated prediction block from the list 1 reference picture.
The weighted predictors may be clipped to guarantee that the resulting values will be within the allowable range of pixel values, typically 0 to 255. The precision of the multiplication in the weighting formulas may be limited to any pre-determined number of bits of resolution.
In the bi-predictive case, reference picture indexes are transmitted for each of the two predictors. Motion compensation is performed to form the two predictors. Each predictor uses the weighting factor associated with its reference picture index to form two weighted predictors. The two weighted predictors are then averaged together to form an averaged predictor, which is then added to the coded residual..
For use for blocks in B pictures that use list 0 and list 1 predictions, the weighted predictor is formed as: <maths id="math0004" num="(3)"><math display="block"><mrow><mi mathvariant="normal">Pred</mi><mo>=</mo><mfenced separators=""><mi mathvariant="normal">P</mi><mo></mo><mn mathvariant="normal">0</mn><mo>*</mo><mi mathvariant="normal">Pred</mi><mo></mo><mn mathvariant="normal">0</mn><mo>+</mo><mi mathvariant="normal">D</mi><mo></mo><mn mathvariant="normal">0</mn><mo>+</mo><mi mathvariant="normal">P</mi><mo></mo><mn>1</mn><mo>*</mo><mi mathvariant="normal">Pred</mi><mo></mo><mn mathvariant="normal">1</mn><mo>+</mo><mi mathvariant="normal">D</mi><mo></mo><mn mathvariant="normal">1</mn></mfenced><mo>/</mo><mn>2</mn></mrow></math><img file="EP1540952B1_D0004.tif" /></maths>
Clipping may be applied to the weighted predictor or any of the intermediate values in the calculation of the weighted predictor to guarantee that the resulting values will be within the allowable range of pixel values, typically 0 to 255.
Thus, a weighting factor is applied to the reference picture prediction of a video compression encoder and decoder that uses multiple reference pictures. The weighting factor adapts for individual motion blocks within a picture, based on the reference picture index that is used for that motion block. Because the reference picture index is already transmitted in the compressed video bitstream, the additional overhead to adapt the weighting factor on a motion block basis is dramatically reduced. All motion blocks that are coded with respect to the same reference picture apply the same weighting factor to the reference picture prediction.
These and other features and advantages of the present invention may be readily ascertained by one of ordinary skill in the pertinent art based on the teachings herein. It is to be understood that the teachings of the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or combinations thereof.
Most preferably, the teachings of the present invention are implemented as a combination of hardware and software. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units ("CPU"), a random access memory ("RAM"), and input/output ("I/O") interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit.
It is to be further understood that, because some of the constituent system components and methods depicted in the accompanying drawings are preferably implemented in software, the actual connections between the system components or the process function blocks may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the pertinent art will be able to contemplate these and similar implementations or configurations of the present invention.
Contents6
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
199 members in 22 offices
Priority claims19
| Document | Office | Kind | Date |
|---|---|---|---|
| 395843P | United States of America | – | |
| 39584302 | United States of America | P | |
| 39584302 | United States of America | P | |
| 395874P | United States of America | – | |
| 39587402 | United States of America | P | |
| 39587402 | United States of America | P | |
| 410456 | United States of America | – | |
| 41045603 | United States of America | A | |
| 41045603 | United States of America | A | |
| 0321728 | United States of America | W | |
| 0321728 | United States of America | W | |
| 2003021728 | – | – | – |
| 395843P | – | – | – |
| 395874P | – | – | – |
| 410456 | – | – | – |
| US20020395843P | – | – | – |
| US20020395874P | – | – | – |
| US20030410456 | – | – | – |
| WO2003US21728 | – | – | – |
Members199
| Document | Office | Kind | |
|---|---|---|---|
| US2004008782A1 | United States of America | A1 | |
| US2004008783A1 | United States of America | A1 | |
| US2004008786A1 | United States of America | A1 | |
| CA2491862A1 | Canada | A1 | |
| CA2491865A1 | Canada | A1 | |
| WO2004008642A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2004008761A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2004008762A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003249053A1 | Australia | A1 | |
| AU2003249056A1 | Australia | A1 | |
| AU2003259110A1 | Australia | A1 | |
| AU2003259110A8 | Australia | A8 | |
| WO2004008642A3 | World Intellectual Property Organization (WIPO) | A3 | |
| TW200406126A | Taiwan Province of China | A | |
| TW200408280A | Taiwan Province of China | A | |
| TW200412799A | Taiwan Province of China | A | |
| BR0305518A | Brazil | A | |
| BR0305519A | Brazil | A | |
| BR0305517A | Brazil | A | |
| KR20050021487A | Republic of Korea | A | |
| KR20050028025A | Republic of Korea | A | |
| KR20050028026A | Republic of Korea | A | |
| MXPA05000672A | Mexico | A | |
| MXPA05000673A | Mexico | A | |
| MXPA05000676A | Mexico | A | |
| TWI230555B | Taiwan Province of China | B | |
| TWI234402B | Taiwan Province of China | B | |
| EP1540824A2 | European Patent Office (EPO) | A2 | |
| EP1540952A1 | European Patent Office (EPO) | A1 | |
| EP1552692A1 | European Patent Office (EPO) | A1 | |
| RU2005103829A | Russian Federation | A | |
| RU2005103830A | Russian Federation | A | |
| TWI238661B | Taiwan Province of China | B | |
| EP1540824A4 | European Patent Office (EPO) | A4 | |
| CN1669323A | China | A | |
| CN1669324A | China | A | |
| CN1669330A | China | A | |
| PL374025A1 | Poland | A1 | |
| PL374264A1 | Poland | A1 | |
| JP2005533464A | Japan | A | |
| JP2005533466A | Japan | A | |
| JP2005533467A | Japan | A | |
| ZA200500416B | South Africa | B | |
| ZA200500417B | South Africa | B | |
| AU2007231634A1 | Australia | A1 | |
| AU2007231898A1 | Australia | A1 | |
| EP1540824B1 | European Patent Office (EPO) | B1 | |
| AU2008201158A1 | Australia | A1 | |
| DE60319239D1 | Germany | D1 | |
| US7376186B2 | United States of America | B2 | |
| RU2325783C2 | Russian Federation | C2 | |
| ES2301828T3 | Spain | T3 | |
| RU2333615C2 | Russian Federation | C2 | |
| MY137057A | Malaysia | A | |
| CN100450185C | China | C | |
| DE60319239T2 | Germany | T2 | |
| AU2003249056B2 | Australia | B2 | |
| CN100559862C | China | C | |
| AU2009233592A1 | Australia | A1 | |
| MY140733A | Malaysia | A | |
| EP1552692A4 | European Patent Office (EPO) | A4 | |
| CN101668213A | China | A | |
| CN101668214A | China | A | |
| CN101668216A | China | A | |
| KR100958504B1 | Republic of Korea | B1 | |
| JP2010124513A | Japan | A | |
| JP2010124514A | Japan | A | |
| KR20100058684A | Republic of Korea | A | |
| AU2003249053B2 | Australia | B2 | |
| KR20100067133A | Republic of Korea | A | |
| AU2010202556A1 | Australia | A1 | |
| AU2010202555A1 | Australia | A1 | |
| AU2010202727A1 | Australia | A1 | |
| AU2010202728A1 | Australia | A1 | |
| AU2010202729A1 | Australia | A1 | |
| AU2010202730A1 | Australia | A1 | |
| AU2010202769A1 | Australia | A1 | |
| JP2010183647A | Japan | A | |
| JP4533841B2 | Japan | B2 | |
| CN1669323B | China | B | |
| AU2010219324A1 | Australia | A1 | |
| KR100986913B1 | Republic of Korea | B1 | |
| CN101902645A | China | A | |
| CN101902646A | China | A | |
| CN101902647A | China | A | |
| KR101005215B1 | Republic of Korea | B1 | |
| US2011019731A1 | United States of America | A1 | |
| US2011019732A1 | United States of America | A1 | |
| US2011019733A1 | United States of America | A1 | |
| US2011019734A1 | United States of America | A1 | |
| US2011019743A1 | United States of America | A1 | |
| US2011026586A1 | United States of America | A1 | |
| US2011026587A1 | United States of America | A1 | |
| US2011026588A1 | United States of America | A1 | |
| US2011026589A1 | United States of America | A1 | |
| US2011026590A1 | United States of America | A1 | |
| US7903742B2 | United States of America | B2 | |
| AU2010202555B2 | Australia | B2 | |
| AU2010202556B2 | Australia | B2 | |
| AU2010202769B2 | Australia | B2 |
105 legal events, as 16 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| ExpiryMK07 | MK07 | AT | |
| Patent expiredExpiredMK9A | MK9A | IE | |
| Ep patent has lapsedLapsedEUG | EUG | SE | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expired because of reaching the maximum lifetime of a patentExpiredMK | MK | BE | |
| Announcement of lapse in spainLapsedFD2A | FD2A | ES | |
| Patent expired because of reaching the maximum lifetime of a patentExpiredMK | MK | NL | |
| Ep patent expiredExpiredEUP | EUP | DK | |
| Patent ceasedCeasedPL | PL | CH | |
| Expiry of rightR071 | R071 | DE | |
| Opt-out of the competence of the unified patent court (upc) registeredP01 | P01 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Change of ownershipPD | PD | BE | |
| Appointment of representativeFH1C | FH1C | HU | |
| Succession in titleGB9C | GB9C | HU | |
| Change of name, addressHC9C | HC9C | HU | |
| Change of ownershipPD | PD | NL | |
| New agentNV | NV | CH | |
| AssignmentPUE | PUE | CH | |
| Change of the ownerPC | PC | AT | |
| Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)REGISTERED BETWEEN 20190801 AND 20190807732E | 732E | GB | |
| Transfer of patentPC2A | PC2A | ES | |
| Change of applicant/patenteeR081 | R081 | DE | |
| Change of representativeR082 | R082 | DE | |
| Change of representativeR082 | R082 | DE | |
| Fee paymentPLFP | PLFP | FR | |
| Change of representativeR082 | R082 | DE | |
| Change of representativeR082 | R082 | DE | |
| Change of representativeR082 | R082 | DE | |
| Fee paymentPLFP | PLFP | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Fee paymentPLFP | PLFP | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Filing of the translation of the text of european patentsAG4A | AG4A | HU | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Publication of translation of european patent specificationUEP | UEP | AT | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filed against granted patent, or epo opposition proceedings concluded without decisionGrantedR097 | R097 | DE | |
| Ep patent validated in greeceEP | EP | GR | |
| Translation is availableAVAILABILITY OF NATIONAL TRANSLATIONSC4A | SC4A | PT | |
| Definitive protectionFG2A | FG2A | ES | |
| Dpma publication of mentioned ep patent grantGrantedR096 | R096 | DE | |
| Translation filed for an european patent granted for nl, confirming art. 52 par. 1 or 6 of the patents act 1995GrantedT3 | T3 | NL | |
| Reference to at number (ep patent validated in austria)REF | REF | AT | |
| Translation of granted ep patentGrantedTRGR | TRGR | SE | |
| Ep patent with danish claimsT3 | T3 | DK | |
| Ep patent valid in romaniaEPE | EPE | RO | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Intention to grant announcedINTG | INTG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Intention to grant announcedINTG | INTG | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Amendment of ipc main classPREVIOUS MAIN CLASS: H04N0007120000R079 | R079 | DE | |
| First examination report despatched17Q | 17Q | EP | |
| Supplementary search report drawn up and despatchedA4 | A4 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Party data changed (applicant data changed or rights of an application transferred)RAP1 | RAP1 | EP | |
| Request for extension of the european patent (deleted)DAX | DAX | EP |
Numbers
- Publication
- 1540952
- Publication, DOCDB
- 1540952
- Publication, EPODOC
- EP1540952
- Application
- 37645082
- Application, DOCDB
- 03764508
- Application, EPODOC
- EP20030764508
Titles3
- German
- ADAPTIVE GEWICHTUNG VON REFERENZBILDERN BEI DER VIDEOCODIERUNG
- English
- ADAPTIVE WEIGHTING OF REFERENCE PICTURES IN VIDEO ENCODING
- French
- PONDERATION ADAPTATIVE D'IMAGES DE REFERENCE DANS UN CODAGE VIDEO
Classification
- CPC, 11
- H04N19/196
- H04N19/105
- H04N19/126
- H04N19/513
- H04N19/197
- H04N19/149
- H04N19/176
- H04N19/46
- H04N19/573
- H04N19/61
- H04N19/172
- IPC, 14
- H04N19 51
- H04N19 196
- H04N19 105
- H04N19 176
- H04N19 61
- H04N19 149
- H04N19 46
- H04N7 32
- G06T9 00
- H03M7 36
- H04N7 26
- H04N7 46
- H04N7 50
- H04N19 94
Designated states27
- Contracting states, 27
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Hungary
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Romania
- Sweden
and 3 moreShow fewer
- Slovenia
- Slovakia
- Türkiye
