Motion estimation with weighting prediction
18 claims: 2 independent, 16 dependent
- 1A video encoder (300) for encoding video signal data for an image block relative to at least one particular reference picture, characterised in that the encoder comprises:a reference picture weighting factor selector (372) having an output indicative of a weighting factor corresponding to the at least one particular reference picture;a weighting factor applicator (374) in signal communication with the reference picture weighting factor selector for providing a weighted version of the at least one particular reference picture;and a motion estimator (380) in signal communication with the weighting factor applicator for providing motion vectors corresponding to the weighted version of the at least one particular reference picture.
- 2A video encoder (300) as defined in Claim 1, further comprising a reference picture store (370) in signal communication with the reference picture weighting factor selector (372) for providing the at least one particular reference picture and a corresponding particular reference picture index.
- 3A video encoder (300) as defined in Claim 2, further comprising a variable length coder (340) in signal communication with the reference picture store (370) for encoding the particular reference picture index corresponding to the at least one particular reference picture.
- 4A video encoder (300) as defined in Claim 1, further comprising a weighted reference picture store (376) in signal communication with the reference picture weighting factor selector for storing a weighted version of the reference picture.
- 5A video encoder (300) as defined in Claim 1, further comprising a motion compensator (390) in signal communication with the reference picture weighting factor selector (372) for providing motion compensated reference pictures responsive to the reference picture weighting factor selector.
- 6A video encoder (300) as defined in Claim 5, further comprising a multiplier (392) in signal communication with the motion compensator (390) and the reference picture weighting factor selector (372) for applying a weighting factor to a motion compensated reference picture.
- 7A video encoder (300) as defined in Claim 1, further comprising a motion compensator (382) in signal communication with the motion estimator (380) for providing weighted motion compensated reference pictures responsive to the reference picture weighting factor selector and the motion estimator.
- 8A video encoder (300) as defined in Claim 7 usable with bi-predictive picture predictors, the encoder further comprising prediction means for forming first and second predictors from two different reference pictures.
- 9A video encoder (300) as defined in Claim 8 wherein the two different reference pictures are both from the same direction relative to the image block.
- 10A method (600) for encoding video signal data for an image block relative to at least one particular reference picture, the method characterised in the steps of:receiving an image block to be compressed;assigning (610) a weighted factor for the image block corresponding to the at least one particular reference picture;weighting (616) the at least one particular reference picture by the weighting factor;computing (618) motion vectors corresponding to the difference between the image block and the weighted reference picture;motion compensating (620) the weighted reference picture in correspondence with the motion vectors;and refining (632) the weighting factor selection in response to the motion compensated weighted reference picture.
- 11A method as defined in Claim 10, further comprising:motion compensating (630) the original unweighted reference picture in correspondence with the motion vectors;multiplying the motion compensated original reference picture by the assigned weighting factor to form a weighted motion compensated reference picture;subtracting the weighted motion compensated reference picture from the substantially uncompressed image block;and encoding a signal indicative of the difference between the substantially uncompressed image block and the weighted motion compensated reference picture.
- 12A method as defined in Claim 10 wherein computing motion vectors comprises:testing within a search region for every displacement within a pre-determined range of offsets relative to the image block;calculating at least one of the sum of the absolute difference and the mean squared error of each pixel in the image block with a motion compensated reference picture;and selecting the offset with the lowest sum of the absolute difference and mean squared error as the motion vector.
- 13A method as defined in Claim 10 wherein bi-predictive picture predictors are used, the method further comprising:assigning a second weighting factor for the image block corresponding to a second particular reference picture;weighting the second reference picture by the second weighting factor;computing second motion vectors corresponding to the difference between the image block and the second weighted reference picture;motion compensating the second weighted reference picture in correspondence with the second motion vectors;and refining the second weighting factor selection in response to the second motion compensated weighted reference picture.
- 14A method as defined in Claim 11 wherein bi-predictive picture predictors are used, the method further comprising:assigning a second weighting factor for the image block corresponding to a second particular reference picture;weighting the second reference picture by the second weighting factor;computing second motion vectors corresponding to the difference between the image block and the second weighted reference picture;motion compensating the second weighted reference picture in correspondence with the second motion vectors;refining the second weighting factor selection in response to the second motion compensated weighted reference picture;motion compensating the original unweighted second reference picture in correspondence with the second motion vectors;multiplying the motion compensated original second reference picture by the assigned second weighting factor to form a second weighted motion compensated reference picture;subtracting the second weighted motion compensated reference picture from the substantially uncompressed image block;and encoding a signal indicative of the difference between the substantially uncompressed image block and the second weighted motion compensated reference picture.
- 15A method as defined in Claim 13 wherein the first and second particular reference pictures are both from the same direction relative to the image block.
- 16A method as defined in Claim 13 wherein computing motion vectors comprises:testing within a search region for every displacement within a pre-determined range of offsets relative to the image block;calculating at least one of the sum of the absolute difference and the mean squared error of each pixel in the image block with a first motion compensated reference picture corresponding to the first predictor;selecting an offset with the lowest sum of the absolute difference and mean squared error as the motion vector for the first predictor;calculating at least one of the sum of the absolute difference and the mean squared error of each pixel in the image block with a second motion compensated reference picture corresponding to the second predictor;and selecting an offset with the lowest sum of the absolute difference and mean squared error as the motion vector for the second predictor.
- 17A method as defined in Claim 10 wherein weighting the reference picture by the weighting factor comprises:determining whether the weighting factor is close to about 1;and using the original reference picture as the weighted reference picture if the weighting factor is close to about 1.
- 18A method as defined in Claim 10 wherein refining the weighting factor selection in response to the motion compensated weighted reference picture comprises:calculating a difference between the image block and the motion compensated weighted reference picture;comparing the calculated difference to a pre-determined tolerance;and further refining the weighting factor if the calculated difference is outside of the predetermined tolerance.
Independent claims18
66 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
0001The present invention is directed towards video encoders and decoders, and in particular, towards integrated motion estimation with weighting prediction in video encoders and decoders.
BACKGROUND OF THE INVENTION
0002Video 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.
0003In 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.
0004<patcit id="pcit0001" dnum="US5436665A"><text>US 5,436,665</text></patcit> describes an encoding apparatus containing a predictor adapted to produce a plurality of predictive signals from a low-resolution picture signal and from a high-resolution picture signal; the low-resolution picture having been formed through down-sampling of the high-resolution picture and the predictive signal that minimises a prediction error is used to produce the data encoded by the encoding apparatus during inter frame prediction.
0005<patcit id="pcit0002" dnum="US6122318A"><text>US 6,122,318</text></patcit> discloses a video encoding apparatus which encodes an alpha-map signal as subsidiary information related to an image containing an object and a background, the alpha-map signal expressing the shape of an object and its position in a frame. The alpha-map signal is encoded by the video encoding apparatus using relative address encoding and encodes a symbol that represents a position of the next change pixel to be encoded relative to a reference change pixel through the use of a variable length coding table as the already encoded change pixel using a variable-length coding table.
0006<patcit id="pcit0003" dnum="US5488482A"><text>US 5,488,482</text></patcit> describes a video tape recorder in which video and audio signals are recorded and reproduced in digital format. The video tape recorder contains an encoding apparatus for encoding the digital data that produces improved data compression while also yielding a high image quality, a consequent reduction of recording tape consumption and a video tape recorder that is compact and light.
0007<patcit id="pcit0004" dnum="US6108040A"><text>US 6 108 040</text></patcit> describes a method of detecting motion vector data indicative of motion of a partial area in an input picture from any area on a reference picture, a first distortion between a partial area constructed by fields of the input picture and a partial area constructed by fields of the reference picture is calculated as a first evaluation value; a position of the partial area constructed by the fields of the reference picture at which the first evaluation value becomes the minimum value is detected; a search window on a frame of the reference picture is set on the basis of a detected position of the partial area constructed by the fields of the reference picture previously detected; and a second distortion between a partial area constructed by a frame in the set search window and a partial area constructed by a frame of the input picture is calculated as a second evaluation value, and a position of the partial area constructed by the frame of the reference picture at which the second evaluation value becomes the minimum value is detected. The frame vectors can therefore be detected on the basis of the field vector detection positions, so that the amount of calculations required to retrieve frame vectors can be reduced markedly without degrading the detection precision of the frame vectors.
SUMMARY OF THE INVENTION
0008These and other drawbacks and disadvantages of the prior art are addressed by the present invention, the present invention being a video encoder for encoding video signal data for an image block relative to at least one particular reference picture according to claim 1 and a method for encoding video signal data for an image block according to claim 10.
0009Other features of the invention are found in the dependent claims.
0010A video encoder and decoder are provided for encoding and decoding video signal data for an image block and a particular reference picture index to predict the image block, where the encoder includes a reference picture weighting factor selector having an output indicative of a weighting factor corresponding to the particular reference picture index, a multiplier in signal communication with the reference picture weighting factor selector for providing a weighted version of the reference picture, and a motion estimator in signal communication with the multiplier for providing motion vectors corresponding to the weighted version of the reference picture; and the corresponding decoder a reference picture weighting factor unit having an output for determining a weighting factor corresponding to the particular reference picture index.
0011A corresponding method for encoding video signal data for an image block includes receiving a substantially uncompressed image block, assigning a weighting factor for the image block corresponding to a particular reference picture, weighting the reference picture by the weighting factor, computing motion vectors corresponding to the difference between the image block and the weighted reference picture, motion compensating the weighted reference picture in correspondence with the motion vectors, refining the weighting factor selection in response to the motion compensated weighted reference picture, motion compensating the original unweighted reference picture in correspondence with the motion vectors, multiplying the motion compensated original reference picture by the assigned weighting factor to form a weighted motion compensated reference picture, subtracting the weighted motion compensated reference picture from the substantially uncompressed image block, and encoding a signal indicative of the difference between the substantially uncompressed image block and the weighted motion compensated reference picture.
0012These and other aspects, features and advantages of the present invention will become apparent from the following description of exemplary embodiments, which is to be read in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
0013The present invention incorporates integrated motion estimation with weighting prediction in video encoders and decoders in accordance with 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 encoder;</li><li><figref idref="f0001">Figure 2</figref> shows a block diagram for a video encoder with reference picture weighting;</li><li><figref idref="f0002">Figure 3</figref> shows a block diagram for a video encoder with integrated motion estimation and weighting prediction in accordance with the principles of the present invention;</li><li><figref idref="f0003">Figure 4</figref> shows a block diagram for a standard video decoder;</li><li><figref idref="f0003">Figure 5</figref> shows a block diagram for a video decoder with adaptive bi-prediction;</li><li><figref idref="f0004">Figure 6</figref> shows a flowchart for an encoding process in accordance with the principles of the present invention; and</li><li><figref idref="f0005">Figure 7</figref> shows a flowchart for a decoding process in accordance with the principles of the present invention.</li></ul>
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
0014An efficient process is provided for integrated motion vector estimation and adaptive reference picture weighting factor selection. An iterative process is used where an initial weighting factor is estimated and used in the motion estimation process. The weighting factor estimate is refined based on the results of the motion estimation process. When weighting factors are used in encoding, a video encoder determines both weighting factors and motion vectors, but the best choice for each of these depends on the other. Motion estimation is typically the most computationally intensive part of a digital video compression encoder.
0015In 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.
0016In 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.
0017In 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_I0 and ref_idx_I1, for the list 0 and list 1 reference pictures, respectively. Joint Video Team ("JVT") bi-predictive or "B" pictures shall allow adaptive weighting between the two predictions, i.e., <maths id="math0001" num=""><math display="block"><mi>Pred</mi><mo mathvariant="normal">=</mo><mfenced open="[" close="]" separators=""><mfenced separators=""><mi mathvariant="normal">P</mi><mo></mo><mn mathvariant="normal">0</mn></mfenced><mo mathvariant="normal">*</mo><mfenced separators=""><mi>Pred</mi><mo></mo><mn mathvariant="normal">0</mn></mfenced></mfenced><mo mathvariant="normal">+</mo><mfenced open="[" close="]" separators=""><mfenced separators=""><mi mathvariant="normal">P</mi><mo></mo><mn mathvariant="normal">1</mn></mfenced><mo mathvariant="normal">*</mo><mfenced separators=""><mi>Pred</mi><mo></mo><mn mathvariant="normal">1</mn></mfenced></mfenced><mo mathvariant="normal">+</mo><mi mathvariant="normal">D</mi><mo mathvariant="normal">,</mo></math><img file="EP1540824B1_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.
0018Two 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_I0 index is less than or equal to ref_idx_I1, weighting factors of (½, ½) are used, otherwise (2, -1) factors are used.
0019In the second method, 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.
0020It will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudocode, and the like represent various processes which may be substantially represented in computer readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
0021The 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.
0022As shown in <figref idref="f0001">Figure 1</figref>, a standard video encoder is indicated generally by the reference numeral 100. An input to the encoder 100 is connected in signal communication with a non-inverting input of a summing junction 110. The output of the summing junction 110 is connected in signal communication with a block transform function 120. The transform 120 is connected in signal communication with a quantizer 130. The output of the quantizer 130 is connected in signal communication with a variable length coder ("VLC") 140, where the output of the VLC 140 is an externally available output of the encoder 100.
0023The output of the quantizer 130 is further connected in signal communication with an inverse quantizer 150. The inverse quantizer 150 is connected in signal communication with an inverse block transformer 160, which, in turn, is connected in signal communication with a reference picture store 170. A first output of the reference picture store 170 is connected in signal communication with a first input of a motion estimator 180. The input to the encoder 100 is further connected in signal communication with a second input of the motion estimator 180. The output of the motion estimator 180 is connected in signal communication with a first input of a motion compensator 190. A second output of the reference picture store 170 is connected in signal communication with a second input of the motion compensator 190. The output of the motion compensator 190 is connected in signal communication with an inverting input of the summing junction 110.
0024Turning to <figref idref="f0001">Figure 2</figref>, a video encoder with reference picture weighting is indicated generally by the reference numeral 200. An input to the encoder 200 is connected in signal communication with a non-inverting input of a summing junction 210. The output of the summing junction 210 is connected in signal communication with a block transformer 220. The transformer 220 is connected in signal communication with a quantizer 230. The output of the quantizer 230 is connected in signal communication with a VLC 240, where the output of the VLC 440 is an externally available output of the encoder 200.
0025The output of the quantizer 230 is further connected in signal communication with an inverse quantizer 250. The inverse quantizer 250 is connected in signal communication with an inverse block transformer 260, which, in turn, is connected in signal communication with a reference picture store 270. A first output of the reference picture store 270 is connected in signal communication with a first input of a reference picture weighting factor assignor 272. The input to the encoder 200 is further connected in signal communication with a second input of the reference picture weighting factor assignor 272. The output of the reference picture weighting factor assignor 272, which is indicative of a weighting factor, is connected in signal communication with a first input of a motion estimator 280. A second output of the reference picture store 270 is connected in signal communication with a second input of the motion estimator 280.
0026The input to the encoder 200 is further connected in signal communication with a third input of the motion estimator 280. The output of the motion estimator 280, which is indicative of motion vectors, is connected in signal communication with a first input of a motion compensator 290. A third output of the reference picture store 270 is connected in signal communication with a second input of the motion compensator 290. The output of the motion compensator 290, which is indicative of a motion compensated reference picture, is connected in signal communication with a first input of a multiplier 292. The output of the reference picture weighting factor assignor 272, which is indicative of a weighting factor, is connected in signal communication with a second input of the multiplier 292. The output of the multiplier 292 is connected in signal communication with an inverting input of the summing junction 210.
0027Turning now to <figref idref="f0002">Figure 3</figref>, a video encoder with integrated motion estimation and weighting prediction is indicated generally by the reference numeral 300. An input to the encoder 300 is connected in signal communication with a non-inverting input of a summing junction 310. The output of the summing junction 310 is connected in signal communication with a block transformer 320. The transformer 320 is connected in signal communication with a quantizer 330. The output of the quantizer 330 is connected in signal communication with a VLC 340, where the output of the VLC 440 is an externally available output of the encoder 300.
0028The output of the quantizer 330 is further connected in signal communication with an inverse quantizer 350. The inverse quantizer 350 is connected in signal communication with an inverse block transformer 360, which, in turn, is connected in signal communication with a reference picture store 370. A first output of the reference picture store 370 is connected in signal communication with a first input of a reference picture weighting factor selector 372. The input to the encoder 300 is further connected in signal communication with a second input of the reference picture weighting factor selector 372 to provide the current picture to the selector. The output of the reference picture weighting factor selector 372, which is indicative of a weighting factor, is connected in signal communication with a first input of a multiplier 374. A second input of the multiplier 374 is connected in signal communication with the reference picture output of the reference picture store 370. It should be noted that although shown simply as a multiplier 374, other types of weighting factor applicators may be constructed other than a multiplier, as would be apparent to those of ordinary skill in the art, all of which are contemplated within the spirit and scope of the invention.
0029The output of the multiplier 374 is connected in signal communication with a weighted reference picture store 376. The output of the weighted reference picture store 376 is connected in signal communication with a first input of a motion estimator 380 for providing a weighted reference picture. The output of the motion estimator 380 is connected in signal communication with a first motion compensator 382 for providing motion vectors. The output of the motion estimator 380 is further connected in signal communication with a first input of a second motion compensator 390. A second output of the weighted reference picture store 376 is connected in signal communication with a second input of the first motion compensator 382.
0030The output of the first motion compensator 382, which is indicative of a weighted motion compensated reference picture, is connected in signal communication with a first input of an absolute difference generator 384. The input to the encoder 300, which is the current picture, is further connected in signal communication with a second input of the absolute difference generator 384. The output of the absolute difference function 384 is connected in signal communication with a third input of the reference picture weighting factor selector 372.
0031A third output of the reference picture store 370 is connected in signal communication with a second input of the second motion compensator 390. The output of the second motion compensator 390, which is indicative of a motion compensated reference picture, is connected in signal communication with a first input of a multiplier 392. The output of the reference picture weighting factor selector 372, which is indicative of a weighting factor, is connected in signal communication with a second input of the multiplier 392. The output of the multiplier 392 is connected in signal communication with an inverting input of the summing junction 310.
0032As shown in <figref idref="f0003">Figure 4</figref> a standard video decoder is indicated generally by the reference numeral 400. The video decoder 400 includes a variable length decoder ("VLD") 410 connected in signal communication with an inverse quantizer 420. The inverse quantizer 420 is connected in signal communication with an inverse transformer 430. The inverse transformer 430 is connected in signal communication with a first input terminal of an adder or summing junction 440, where the output of the summing junction 440 provides the output of the video decoder 400. The output of the summing junction 440 is connected in signal communication with a reference picture store 450. The reference picture store 450 is connected in signal communication with a motion compensator 460, which is connected in signal communication with a second input terminal of the summing junction 440.
0033Turning to <figref idref="f0003">Figure 5</figref> a video decoder with adaptive bi-prediction is indicated generally by the reference numeral 500. The video decoder 500 includes a VLD 510 connected in signal communication with an inverse quantizer 520. The inverse quantizer 520 is connected in signal communication with an inverse transformer 530. The inverse transformer 530 is connected in signal communication with a first input terminal of a summing junction 540, where the output of the summing junction 540 provides the output of the video decoder 500. The output of the summing junction 540 is connected in signal communication with a reference picture store 550. The reference picture store 550 is connected in signal communication with a motion compensator 560, which is connected in signal communication with a first input of a multiplier 570.
0034The VLD 510 is further connected in signal communication with a reference picture weighting factor lookup 580 for providing an adaptive bi-prediction ("ABP") coefficient index to the lookup 580. A first output of the lookup 580 is for providing a weighting factor, and is connected in signal communication to a second input of the multiplier 570. The output of the multiplier 570 is connected in signal communication to a first input of a summing junction 590. A second output of the lookup 580 is for providing an offset, and is connected in signal communication to a second input of the summing junction 590. The output of the summing junction 590 is connected in signal communication with a second input terminal of the summing junction 540.
0035Turning now to <figref idref="f0004">Figure 6</figref>, a motion vector and weighting factor determination process is indicated generally by the reference numeral 600. Here, a function block 610 finds the initial weighting factor estimate for the current picture or image block ("<i>cur</i>") and reference picture ("<i>ref</i>") by computing the weighting factor "<i>w</i>" = avg(<i>cur</i>) / avg(<i>ref</i>). The block 610 passes control to a decision block 612 that determines whether the weighting factor w is greater than a threshold value <i>T1</i> and less than a threshold value <i>T2.</i> If w is between <i>T1</i> and <i>T2,</i> control is passed to a return block 614 and <i>w</i> = 1 is used as the initial weighting factor. If <i>w</i> is not between <i>T1</i> and <i>T2,</i> control is passed to a function block 616 that applies the weighting factor w to the reference picture to form a weighted reference picture <i>wref.</i> The block 616 passes control to a function block 618 to perform motion estimation by finding motion vectors ("MVs") using the weighted reference picture <i>wref.</i> The block 618 passes control to a function block 620 that forms a motion compensated weighted reference picture, <i>mcwref,</i> by applying the MVs to <i>wref.</i> The block 620 passes control to a function block 622 that calculates a difference measure, <i>diff,</i> where <i>diff</i> equals the absolute value of the sum of the pixel differences between <i>cur</i> and <i>wmcref.</i>
0036The block 622 passes control to a decision block 624 that determines whether <i>diff</i> is greater than the previous best <i>diff.</i> If <i>diff</i> is greater than the previous best <i>diff</i>, control is passed to a return block 626, which uses the previous best <i>diff.</i> If <i>diff</i> is not greater than the previous best <i>diff,</i> control is passed to a decision block 628 that determines whether <i>diff</i> is less than a threshold <i>T</i>. If <i>diff</i> is less than the threshold <i>T</i>, then control is passed to a return block 634 that uses the current estimates. If <i>diff</i> is not less than the threshold <i>T,</i> then control is passed to a function block 630 that forms a motion compensated reference picture, <i>mcref,</i> by applying the MVs to <i>ref.</i> The block 630 passes control to a function block 632 that refines the weighting factor estimate by setting <i>w</i> equal to avg(<i>cur</i>) / avg(<i>mcref</i>)<i>.</i> The block 632 passes control back to the function block 616 for further processing. Thus, the decision to further refine the weighting factor is based on comparing a difference measure to a threshold or tolerance.
0037Turning now to <figref idref="f0005">Figure 7</figref> an exemplary process for decoding 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 the image block compressed data, and passes control to an input block 714. The input block 714 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 714 passes control to a function block 716, which determines a weighting factor corresponding to each of the received reference picture indices, and passes control to an optional function block 717. The optional function block 717 determines an offset corresponding to each of the received reference picture indices, and passes control to a function block 718. The function block 718 retrieves a reference picture corresponding to each of the received reference picture indices, and passes control to a function block 720. The function block 720, in turn, motion compensates the retrieved reference picture, and passes control to a function block 722. The function block 722 multiplies the motion compensated reference picture by the corresponding weighting factor, and passes control to an optional function block 723. The optional function block 723 adds the motion compensated reference picture to the corresponding offset, and passes control to a function block 724. The function block 724, in turn, forms a weighted motion compensated reference picture, and passes control to an end block 726.
0038In 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.
0039Whether 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.
0040If no weighting factors are transmitted, default weights are used. In one embodiment of the present 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.
0041Unlike 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 was 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.
0042In the instant embodiment of the present invention, 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.
0043This 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.
0044The 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"><mi>Pred</mi><mo mathvariant="normal">=</mo><mi mathvariant="normal">W</mi><mo></mo><mn mathvariant="normal">0</mn><mo mathvariant="normal">*</mo><mi>Pred</mi><mo></mo><mn mathvariant="normal">0</mn><mo mathvariant="normal">+</mo><mi mathvariant="normal">D</mi><mo></mo><mn mathvariant="normal">0</mn></math><img file="EP1540824B1_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.
0045For use for blocks in B pictures that use only list 1 prediction, the weighted predictor is formed as: <maths id="math0003" num="(2)"><math display="block"><mi>Pred</mi><mo mathvariant="normal">=</mo><mi mathvariant="normal">W</mi><mo></mo><mn mathvariant="normal">1</mn><mo mathvariant="normal">*</mo><mi>Pred</mi><mo></mo><mn>1</mn><mo>+</mo><mi mathvariant="normal">D</mi><mo></mo><mn mathvariant="normal">1</mn></math><img file="EP1540824B1_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.
0046The 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.
0047In 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..
0048For 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"><mi>Pred</mi><mo mathvariant="normal">=</mo><mfenced separators=""><mi mathvariant="normal">P</mi><mo></mo><mn mathvariant="normal">0</mn><mo mathvariant="normal">*</mo><mi>Pred</mi><mo></mo><mn mathvariant="normal">0</mn><mo mathvariant="normal">+</mo><mi mathvariant="normal">D</mi><mo></mo><mn mathvariant="normal">0</mn><mo mathvariant="normal">+</mo><mi mathvariant="normal">P</mi><mo></mo><mn mathvariant="normal">1</mn><mo mathvariant="normal">*</mo><mi>Pred</mi><mo></mo><mn mathvariant="normal">1</mn><mo mathvariant="normal">+</mo><mi mathvariant="normal">D</mi><mo></mo><mn mathvariant="normal">1</mn></mfenced><mo mathvariant="normal">/</mo><mn mathvariant="normal">2</mn></math><img file="EP1540824B1_D0004.tif" /></maths>
0049Clipping 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.
0050Thus, 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.
0051Motion estimation techniques have been widely studied. For each motion block of a picture being coded, a motion vector is chosen that represents a displacement of the motion block from a reference picture. In an exhaustive search method within a search region, every displacement within a pre-determined range of offsets relative to the motion block position is tested. The test includes calculating the sum of the absolute difference ("SAD") or mean squared error ("MSE") of each pixel in the motion block in the current picture with the displaced motion block in a reference picture. The offset with the lowest SAD or MSE is selected as the motion vector. Numerous variations on this technique have been proposed, such as three-step search and rate-distortion optimized motion estimation, all of which include the step of computing the SAD or MSE of the current motion block with a displaced motion block in a reference picture.
0052Computational costs of determining motion vectors and adaptive reference picture weighting factors can be reduced by using an iterative process, while still selecting motion vectors and weighting factors that are able to achieve high compression efficiencies. An exemplary embodiment motion vector and weighting factor determination process is described assuming that a single weighting factor is applied to the entire reference picture, although application of the principles of the present invention are not limited to such a case. The process could also be applied over smaller regions of the picture, such as slices, for example. In addition, although one exemplary embodiment of the invention is described as using only a single reference picture, the present invention may also be applied to multiple reference picture prediction and to bi-predictive pictures.
0053Calculation of the motion vector for a motion block can typically best be done when the weighting factor to be used is known. In an exemplary embodiment, an estimate of the weighting factor is formed, using the reference picture and the current picture pixel values. The weighting factor may be limited to a number of bits of resolution. If the weighting factor is very close to 1, there is no need to consider the weighting factor in the motion estimation process, and normal motion estimation can be done with the weighting factor assumed to be equal to 1. Otherwise, the weighting factor estimate is applied to the reference picture. Motion estimation is then performed using any method which calculates SAD or MSE, but with the SAD or MSE calculation performed between the current picture motion block and the displaced motion block in the weighted version of the reference picture, rather than the un-weighted reference picture. After motion vectors have been selected, the estimation of the weighting factor can be refined, if necessary.
0054The current motion vectors are applied to the weighted reference picture to form the weighted, motion compensated reference picture. A difference measure between the weighted, motion compensated reference picture and the current picture is computed. If the difference measure is lower than a threshold, or lower than the previous best difference measure, the process is complete, and the current candidate motion vectors and weighting factor are accepted.
0055If the difference measure is higher than some threshold, the weighting factor can be refined. In this case, a motion compensated but un-weighted reference picture is formed based on the current candidate motion vectors. The weighting factor estimate is refined using the motion compensated reference picture and the current picture, rather than using the un-compensated reference picture, as was done in forming the initial estimate of the weighting factor.
0056The selection process proceeds to iterate, applying the newly refined weighting factor to the reference picture to form the weighted reference picture. The iterative process continues until the difference measure is equal or higher than a previous best difference measure, or lower than a threshold, or alternatively, until a defined number of cycles has been completed. If the difference measure of the current iteration is higher than for the best previous iteration, the weighting factor and motion vectors for the best previous iteration are used. If the difference measure of the current iteration is less than a threshold, the current weighting factor and motion vectors are used. If the maximum number of iteration cycles has been completed, the weighting factor and motion vectors from the previous iteration that had the best difference measure are used.
0057In one embodiment, the initial estimate of the weighting factor, <i>w,</i> is the ratio between the average value of the pixels in the current picture, <i>cur</i>, divided by the average value of the pixels in the reference picture, <i>ref</i>, where: <maths id="math0005" num="(4)"><math display="block"><mi mathvariant="normal">w</mi><mo mathvariant="normal">=</mo><mi>avg</mi><mfenced><mi>cur</mi></mfenced><mo mathvariant="normal">/</mo><mi>avg</mi><mfenced><mi>ref</mi></mfenced></math><img file="EP1540824B1_D0005.tif" /></maths>
0058The refinement estimates are the ratio between the average of pixels in the current picture and the average of pixels in the motion compensated reference picture, <i>mcref,</i> where: <maths id="math0006" num="(5)"><math display="block"><mi mathvariant="normal">w</mi><mo mathvariant="normal">=</mo><mi>avg</mi><mfenced><mi>cur</mi></mfenced><mo mathvariant="normal">/</mo><mi>avg</mi><mfenced><mi>mcref</mi></mfenced></math><img file="EP1540824B1_D0006.tif" /></maths>
0059The difference measure <i>diff</i> is the absolute value of the average of pixel differences between the current picture, <i>cur</i>, and the weighted motion compensated reference picture, <i>wmcref,</i> where: <maths id="math0007" num="(6)"><math display="block"><mi>diff</mi><mo>=</mo><mfenced open="|" close="|"><mstyle displaystyle="false"><munder><mo>∑</mo><mspace width="1em" /></munder><mo></mo><mi>cur</mi><mo>-</mo><mi>wmcref</mi></mstyle></mfenced></math><img file="EP1540824B1_D0007.tif" /></maths>
0060In another embodiment, the difference measure is the sum of the absolute differences of the pixels in the current picture and in the weighed motion compensated reference picture, where: <maths id="math0008" num="(7)"><math display="block"><mi>diff</mi><mo>=</mo><mstyle displaystyle="false"><munder><mo>∑</mo><mspace width="1em" /></munder><mo></mo><mfenced open="|" close="|" separators=""><mi>cur</mi><mo>-</mo><mi>wmcref</mi></mfenced></mstyle></math><img file="EP1540824B1_D0008.tif" /></maths>
0061When block-based motion estimation is performed, the same pixel in a reference picture is used for numerous SAD calculations. In an exemplary embodiment during the motion estimation process, once a weighting factor has been applied to a pixel in a reference picture, the weighted pixel is stored, in addition to the normal pixel. The storage may be done either for a region of the picture, or for the entire picture.
0062The weighted reference picture values may be clipped to be stored with the same number of bits as an unweighted reference, such as 8 bits, for example, or may be stored using more bits. If clipping is performed for the motion compensation process, which is more memory efficient, the weighting factor is reapplied to the reference picture for the actual selected motion vector, the difference is calculated using additional bits, and the clipping is performed after the difference in order to avoid mismatch with a decoder, which might otherwise occur if the decoder does not perform clipping after the weighting factor is applied.
0063When multiple reference pictures are used to encode a picture, a separate weighting factor can be calculated for each reference picture. During motion estimation, a motion vector and a reference picture index are selected for each motion block. For each iteration of the process, motion vectors and weighting factors are found for each reference picture.
0064In a preferred embodiment, during motion estimation, the best reference picture for a given motion block is determined. Calculation of the difference measure is done separately for each reference picture, with only those motion blocks that use that reference picture being used in the calculation. Refinement of the weighting factor estimate for a given reference picture also uses only those motion blocks that are coded using that reference picture. For bi-predictive coding, weighting factors and motion vectors can be determined separately for each of the two predictions, which will be averaged together to form the averaged prediction.
0065The principles of the present invention can be applied to many different types of motion estimation algorithms. When used with hierarchical approaches, the iteration of weighting factor selection and motion vector selection can be used with any level of the motion estimation hierarchy. For example, the iterative approach could be used with integer picture element ("pel") motion estimation. After the weighting factor and integer motion vectors are found using the provided iterative algorithm, the sub-pel motion vectors may be found without requiring another iteration of the weighting factor selection.
0066Most preferably, the principles 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.
Contents5
13 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| US5436665A | Cites | United States of America |
| US5488482A | Cites | United States of America |
| US6108040A | Cites | United States of America |
| US6122318A | Cites | United States of America |
201 members in 22 offices
Priority claims15
| Document | Office | Kind | Date |
|---|---|---|---|
| 395843P | United States of America | – | |
| 39584302 | United States of America | P | |
| 395874P | United States of America | – | |
| 39587402 | United States of America | P | |
| 410479 | United States of America | – | |
| 41047903 | United States of America | A | |
| 0321653 | United States of America | W | |
| 395843P | – | – | – |
| 395874P | – | – | – |
| 410479 | – | – | – |
| US20020395843P | – | – | – |
| US20020395874P | – | – | – |
| US2003021653 | – | – | – |
| US20030410479 | – | – | – |
| WO2003US21653 | – | – | – |
Members201
| 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 | |
| EP1540824B1This record | 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 |
50 legal events, as 5 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 | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Announcement of lapse in spainLapsedFD2A | FD2A | ES | |
| 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 | |
| Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)REGISTERED BETWEEN 20190815 AND 20190821732E | 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 | |
| Fee paymentPLFP | PLFP | FR | |
| No opposition filed against granted patent, or epo opposition proceedings concluded without decisionGrantedR097 | R097 | DE | |
| No opposition filedOpposition26N | 26N | EP | |
| 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 | |
| Fr: translation filedET | ET | EP | |
| Definitive protectionFG2A | FG2A | ES | |
| Dpma publication of mentioned ep patent grantGrantedR096 | R096 | DE | |
| Corresponds to:REF | REF | EP | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| Change of applicant/patenteeR081 | R081 | DE | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Request for extension of the european patent (deleted)DAX | DAX | EP | |
| Designated contracting states (corrected)RBV | RBV | EP | |
| Party data changed (applicant data changed or rights of an application transferred)RAP1 | RAP1 | 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 | |
| Amendment of ipc main classPREVIOUS MAIN CLASS: H03M0001000000R079 | R079 | DE | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1540824
- Publication, DOCDB
- 1540824
- Publication, EPODOC
- EP1540824
- Application
- 3764471
- Application, DOCDB
- 03764471
- Application, EPODOC
- EP20030764471
Titles3
- German
- BEWEGUNGSSCHÄTZUNG MIT GEWICHTETER VORHERSAGE
- English
- MOTION ESTIMATION WITH WEIGHTING PREDICTION
- French
- ESTIMATION DE MOUVEMENT A PREDICTION DE PONDERATION
Classification
- CPC, 12
- H04N19/577
- H04N19/196
- H04N19/105
- H04N19/513
- H04N19/149
- H04N19/176
- H04N19/192
- H04N19/172
- H04N19/197
- H04N19/46
- H04N19/61
- H04N19/90
- IPC, 8
- H04N7 26
- G06T9 00
- H04N7 32
- H03M7 36
- H04N1 00
- H04N7 12
- H04N7 46
- H04N7 50
Designated states1
- Contracting states, 1
- Italy
