WO2011032852A1 - Weighted motion compensation of video - Google Patents

Weighted motion compensation of video Download PDF

Info

Publication number
WO2011032852A1
WO2011032852A1 PCT/EP2010/063024 EP2010063024W WO2011032852A1 WO 2011032852 A1 WO2011032852 A1 WO 2011032852A1 EP 2010063024 W EP2010063024 W EP 2010063024W WO 2011032852 A1 WO2011032852 A1 WO 2011032852A1
Authority
WO
WIPO (PCT)
Prior art keywords
segment
data
motion
weighting
video data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2010/063024
Other languages
French (fr)
Inventor
Nikola Sprljan
Leszek Cieplinski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Mitsubishi Electric R&D Centre Europe BV Netherlands
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric R&D Centre Europe BV Netherlands
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, Mitsubishi Electric R&D Centre Europe BV Netherlands filed Critical Mitsubishi Electric Corp
Priority to JP2012529206A priority Critical patent/JP2013505615A/en
Publication of WO2011032852A1 publication Critical patent/WO2011032852A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Definitions

  • the present invention relates to video encoding and decoding.
  • Background Most modern video compression methods are based on spatio-temporal prediction of pictures, which essentially consists of encoding the difference between the prediction signal and the predicted picture. Generally, the closer in the appropriate metric the prediction signal is to the predicted picture, the better that picture can be compressed, i.e. it can be represented with fewer bits.
  • the prediction is formed by taking decoded samples of previously encoded pictures, or previously encoded blocks of the current picture.
  • Temporal prediction is the critical gain factor in the overall compression efficiency, since typical video signals exhibit significant temporal correlation. Besides compensating for spatial displacement between parts of different pictures by means of motion vectors, by using weighting prediction the changes in luminance levels can be also compensated for.
  • RDO Rate Distortion Optimisation
  • a video encoding mode will be decided for achieving the best possible coding efficiency gain.
  • the RDO process is important for capturing the video coding efficiency gain if several coding modes are possible for given video data.
  • H.264 / MPEG-4 AVC video coding standard has adopted weighted prediction, where arbitrary multiplicative weighting factors and additive offset factors can be applied to the reference picture predictions.
  • a separate offset/weight pair can be assigned to each of the reference picture signals used to predict the current picture.
  • H.264 / MPEG-4 AVC at most two pictures are used for temporal compensation for any given macroblock. In P pictures only a single prediction originating from a single picture is used, while in B pictures two prediction signals can be used.
  • weight and offset are specified at the slice level and their derivation is not defined by the standard.
  • the weights are computed according to the distance to the referenced pictures, where the relationship between the picture distances and the applied weights are defined by the standard.
  • the standard leaves a provision for applying different explicit weighting parameters for different segments of a slice, down to the size of a macroblock, in a form of memory management control operations (MMCO). This is explained, for example, in US2006/0198440 Al . However, this comes with a considerable penalty in overhead information for weighted prediction parameter sets large enough to be of practi cal use.
  • the derivation of the picture-level weighted prediction parameters normally entails some multipass scheme, where picture data has to be processed at least twice.
  • One possibility is just to estimate the parameters, for which the whole picture statistics need to be captured before the actual compression, in order to compute the optimal weighting parameters using some criteria related to the expected compression performance.
  • a scheme known as "Picture Level Rate-Distortion Optimisation” can be employed, in which the picture is compressed multiple times, each time with different weighted prediction parameters, including a mode where weighted prediction is disabled, and the best outcome in terms of Lagrangian cost is preserved. This has the disadvantage of very high computational complexity while providing only limited performance improvement.
  • WO2007/092215 A2 Since the derivation of the explicit weighting parameters is not defined by the standard, various schemes exist. In WO2007/092215 A2 the following derivation methods are discussed: offset only by subtracting means of two pictures, weight only by dividing means of two pictures, histogram based and linear regression based methods, and also iterative variations of all previous methods, where the parameters are adjusted after motion compensation.
  • the heuristic based methods in WO2007/092215 A2 compute several pairs of parameters, each by using a different derivation method, and then by using a particular metric decide which one would perform the best.
  • the operation of weighted prediction in an embodiment of the present invention is defined at the local level, where for each picture segment a different set of weighting parameters is defined and sent in the part of the bit-stream that conveys parameters for the current block.
  • the operation of weighted prediction can be defined with:
  • Bc garbage is the n+l-st picture segment
  • o is an additive offset weighting parameter
  • w n is a multiplicative weight weighting parameter associated with the picture segment Bcrada.
  • Reference picture Bp is the prediction signal used to predict the currently encoded picture segment.
  • the picture segment Bc garbage may be associated with the «+l -st reference picture, but in a general case it can be any previously processed picture segment. Furthermore, it can be a resampled (e.g. by means of interpolation) picture segment.
  • the aforementioned picture segments can be of arbitrary shape.
  • the weighting parameters are adapted to local variations in content, thereby improving prediction.
  • a video decoding method of decoding predictively-encoded video data defining a sequence of pictures, each picture divided into a plurality of segments, the method comprising: decoding the encoded video data to generate decoded difference data for a segment of a picture, motion data for the segment and weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter, wherein the weighting parameters are weighting parameters which minimise a rate- constrained cost formulation taking into account both the representation distortion and coding cost; processing the motion data and previously decoded video data to generate motion- compensated video data for the segment; generating predicted video data for the segment by combining the motion-compensated video data for the segment with weighting parameters for the segment comprising an offset weighting parameter and a weight weighting parameter, wherein at least one weighting parameter for the segment is different from a weighting parameter used for a different segment in the same picture; and combining the decoded difference data for the segment with the predicted video data for
  • the encoded video data may be decoded to generate a respective weight weighting parameter for each of a plurality of segments; the motion data and previously decoded video data for a plurality of segments may be processed to generate respective motion-compensated video data for each of the plurality of segments; and the motion-compensated video data for each of the plurality of segments may be combined with a respective one of the weight weighting parameters to generate the predicted video data.
  • the motion data and previously decoded video data for a plurality of segments in different respective pictures may be processed to generate the respective motion-compensated video data for each of the plurality of segments.
  • the decoding process may decode the encoded video data to generate difference data for the weighting parameters; and the predicted video data for the segment may be generated by deriving weighting parameters for the segment using the decoded difference data for the weighting parameters and previously decoded weighting parameters derived for a previously decoded segment.
  • the predicted video data for the segment may be generated by: predicting weighting parameters for the segment from weighting parameters of at least one neighbouring segment that has been previously decoded; combining the predicted weighting parameters with the weighting parameters obtained from the decoding process to generate resultant predicted weighting parameters; and combining the motion-compensated video data for the segment with the resultant predicted weighting parameters to generate the predicted video data for the segment.
  • the weighting parameters for the segment may be predicted by calculating an average of the weighting parameters of at least two neighbouring segments that have been previously decoded.
  • the process of generating predicted video data may comprise: comparing the motion data for the segment with the motion data for at least one previously decoded segment to determine a measure of the similarity therebetween; and if the determined measure indicates a high similarity, using weighting parameters for the at least one previously decoded segment to generate predicted weighting parameters for the segment and combining the motion-compensated video data with the predicted weighting parameters.
  • the encoded video data may be decoded to generate the offset weighting parameter and the weight weighting parameter such that the value of the offset weighting parameter is represented with fewer bits the closer the value is to zero and the value of the weight weighting parameter is represented with fewer bits the closer the value is to one.
  • the present invention also provides a video encoding method of predictively encoding video data defining a sequence of pictures, each picture divided into a plurality of segments, the method comprising: processing video data for a segment to generate motion data for the segment and motion- compensated video-data; calculating weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter which minimise a rate- constrained cost formulation taking into account both the representation distortion and coding costs, with at least one weighting parameter for the segment being different from a weighting parameter used for a different segment in the same picture; combining the motion-compensated video data and the weighting parameters to generate weighted-motion-compensated-data for the segment; generating difference data defining the difference between the video data for the segment and the weighted-motion-compensated-data for the segment; and encoding data for the segment comprising the difference data for the segment, the motion data for the segment, and the weighting parameters for the segment.
  • a respective weight weighting parameter may be calculated for each of a plurality of segments; the video data for a segment and a plurality of different segments may be processed to generate a plurality of respective motion-compensated video data segments; the weighted-motion-compensated-data may be generated by combining the plurality of motion-compensated video data segments and the plurality of weight weighting parameters such that each respective one of the plurality of motion-compensated video data segments is weighted by a respective one of the plurality of weight weighting parameters.
  • the video data for the segment and a plurality of segments in different respective pictures may be processed to generate the plurality of respective motion-compensated video data segments.
  • the video encoding method may further comprise calculating, for each weighting parameter for the segment, a weighting parameter difference value for the segment comprising a difference between the weighting parameter for the segment and the weighting parameter for a previous segment; and the encoding process may comprise encoding the difference data for the segment, the motion data for the segment, and the weighting parameter difference values for the segment.
  • Each difference value for the segment may be generated by: predicting a predicted weighting parameter for the segment from a weighting parameter of at least one previous neighbouring segment; and calculating a difference between the weighting parameter calculated by the weighting parameter calculation process and the predicted weighting parameter.
  • the offset (o) and a weight (w) may be calculated which minimise the cost function J(o,w):
  • J(o,w) D(o,w) + XR(o,w)
  • o is the offset
  • w is the weight
  • D is a distortion measure comprising a difference between the weighted-motion-compensated-data for the segment and the video data for the segment
  • R is a measure of encoded data rate
  • is a Lagrangian multiplier by: a) calculating a line in offset-weight space defining pairs of offset-weight values which represent a minimum of the distortion measure D;
  • Process f) above may be performed such that continuously increasing or continuously decreasing values of the first search parameter within the local search range are tested while:
  • the present invention also provides a video decoder operable to decode predictively- encoded video data defining a sequence of pictures, each picture divided into a plurality of segments, the decoder comprising: a decoder operable to decode the encoded video data to generate decoded difference data for a segment of a picture, motion data for the segment and weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter, wherein the weighting parameters are weighting parameters which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding cost; and a motion-compensated-data generator operable to process the motion data and previously decoded video data to generate motion-compensated video data for the segment; a predicted-data generator operable to generate predicted video data for the segment by combining the motion-compensated video data for the segment with weighting parameters for the segment comprising an offset weighting parameter and a weight weighting parameter, wherein at least
  • the present invention also provides a video encoder operable to predictively encode video data defining a sequence of pictures, each picture divided into a plurality of segments, the encoder comprising: a motion-compensated-data generator operable to process video data for a segment to generate motion data for the segment and motion-compensated video data; a weighting parameter calculator operable to calculate weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding costs, with at least one weighting parameter for the segment being different from a weighting parameter used for a different segment in the same picture; a weighted-motion-compensated-data generator operable to combine the motion- compensated video data and the weighting parameters to generate weighted-motion- compensated-data for the segment; a difference-data generator operable to generate difference data defining the difference between the video data for the segment and the weighted-motion-compensated-data for the segment; and an encode
  • Figure 1 is a block diagram of a video decoder in an embodiment
  • Figure 2 is a block diagram of a video encoder in an embodiment
  • Figure 3 is an example for a block being matched and a candidate block in motion estimation
  • Figure 4 is an example of the distortion function D(o,w) plotted for (o qi , w q i) in the range - 10, .. .,10, respectively;
  • Figure 5 is an example plot of the rate part of the Lagrangian cost;
  • Figure 6 is a plot of the overall Lagrangian cost (distortion and rate combined).
  • Figure 7 shows two examples of local search for global minimum of the Lagrangian.
  • Figure 8 is a flowchart showing the processing operations performed by the encoder in an embodiment to calculate weighting parameters.
  • a picture segment on which the weighted prediction operates is the macroblock as defined in H.264 / MPEG-4 AVC.
  • MBWP MicroBlock Weighted Prediction
  • the approach described herein is referred to as MBWP (MacroBlock Weighted Prediction).
  • MBWP is only presented here for the unidirectional prediction case (e.g. P pictures in H.264 / MPEG-4 AVC), with generalisation considerations to multi- reference pictures discussed where required.
  • MBc' is a decoded macroblock, obtained by means of interpolation in the case of sub-pel precision motion vectors or directly from the previously decoded pictures
  • o is an additive offset weighting parameter
  • w is a multiplicative weight weighting parameter (referred to hereinafter merely as an offset and a weight, respectively, with the term "weighting parameter" covering both).
  • MBp is the resulting prediction signal, used to predict the current macroblock.
  • the process of weighting is adapted within the macroblock for smaller blocks (e.g. those specified by H.264 / MPEG-4 AVC standard) or for each pixel:
  • MBp(«) / 0 ( 0 , «) + / w ( W ,») - MBc'( «) .. . (5)
  • n is the index of the currently processed pixel
  • functions 0 ( ) and / w ( ) determine the current offset and weight, respectively, and are dependent on the already processed data (already encoded in the encoder, or already decoded in the decoder). For instance, these can be the values of the previously processed predicted signal samples MBc'(0),. ..,MBc'( « - l) , previously obtained samples of the predicted signal MBp(0),...,MBp * ( « -l) , etc.
  • this function can perform adaptive rounding of the result given by weighted prediction, as the application of multiplicative weight in general yields a non-integer value.
  • the prediction signal is added to the decoded difference signal MBr' and the current macroblock MB' is then reconstructed as:
  • FIG. 1 A diagram of a decoder incorporating MBWP is presented in Figure 1.
  • the input stream of the current macroblock is entropy decoded by entropy decoder 10, resulting in the following data: quantised transformed samples of the current macroblock 12, motion vectors 14 and weighting parameters 16. All and any of these can be difference signals obtained by subtraction from the previously decoded data, and in that case prediction needs to be done, e.g. weighting parameters are predicted from the previously decoded ones, similarly as it is done for motion vectors, as shown in Figure 1.
  • Motion compensation is then performed, using the decoded motion vectors and the previously decoded reference signal. Such motion compensated signal is then modified by applying weight and offset.
  • the residual macroblock signal is obtained by inverse quantisation by inverse quantiser 20 and inverse spatial transform by inverse spatial transformer 30, after which the weighted prediction signal is added to obtain the decoded macroblock samples. Accordingly, it will be understood from the above that the entropy decoder 10, the inverse quantiser 20 and the inverse transformer 30 operate as a decoder which decodes the encoded video data for a segment of a picture to generate decoded difference data MBr' for the segment, motion data 14 for the segment and weighting parameters 16 for the segment.
  • the motion vector predictor 40, adder 42 and the motion compensator 60 act as a motion- compensated-data generator which processes the motion data 14 together with previously decoded video data to generate motion-compensated video data MBc' for the segment.
  • the weighting parameter predictor 50, adder 52, multiplier 70 and adder 80 act as a predicted-data generator which generates predicted video data MBp for the segment by combining the motion-compensated video data MBc' for the segment with weighting parameters for the segment.
  • the weighting parameters for a segment may be different from the weighting parameters used for a different segment in the same picture.
  • the adder 90 acts as a data combiner which combines the decoded difference data MBr' for the segment with the predicted video data MBp for the segment, thereby generating overall decoded video data MB' for the segment.
  • weighting prediction is defined only for the luma component, while in the alternative embodiments weighting prediction can be applied also for the chroma components, either by using the same or a separate set of weighting parameters.
  • the MBWP parameters can be conveyed as the difference in the weighting parameters for a particular macroblock from globally defined ones.
  • the required signalling for MBWP is achieved with the additional information placed in the macroblock header portion of the video bit-stream instead of the slice (picture) header as in previous codecs.
  • the required video bit-stream syntax elements are the following:
  • MBWP_parameters_present_flag signals the presence of the MBWP parameters if equal to 1. If this flag is equal to 0, then weighted prediction is not performed, and both parameters MBWPo and MBWPw are set to default values. Default values are defined to be those that, if applied, are equivalent to not performing MBWP.
  • multiple flags can be encoded jointly across macroblocks by using run-length or quadtree coding, in order to avoid redundancy when MBWP is not utilised in large areas of the picture.
  • variable length codes are used for entropy coding of these difference signals, but alternatively any other entropy coding method can be used, for instance arithmetic coding.
  • the values of the previously decoded syntax elements may also be used by an entropy coding method in order to improve its efficiency.
  • Prediction operations predict MB WPo() and predictJMBWPw() entail a spatial prediction of weighting parameters from the neighbouring macroblocks.
  • the averaging of the first neighbouring macroblock from the top (same column as current, previous row) and the first from the left (previously encoded) is employed:
  • [ ⁇ ] denotes rounding to the nearest integer. It should be noted that this prediction can be modified in various ways - it can utilise more or fewer than two neighbouring macroblocks and/or use weighting in the prediction operator, or it can employ different operators, for instance median.
  • the offset value for the current macroblock is used for prediction of the weight parameter for the same macroblock in addition to the previously decoded weighting parameters.
  • the prediction of the weighted parameters uses other previously decoded syntax elements. In one example, the values of the motion vectors for current and previously decoded macroblocks are compared and the outcome of the comparison is used to guide the decision on the use of the previously decoded weighting parameters for the derivation of the weighting parameters for the current macroblock.
  • the weighting parameters for the corresponding macroblock are excluded from being used for the prediction of the weighting parameters for the current macroblock.
  • one option is to omit the prediction operation altogether and in that case the result of predict_MBWPo() and predi ctJVTB WPw() is 0.
  • the row and column indices are omitted as the presented steps are understood to be working on the current macroblock.
  • the parameters are quantised in order to send them efficiently in the bitstream.
  • the uniform quantisation step of 128 is used, while other quantisation steps and schemes are also possible.
  • the offset and weight parameters are quantised in the following way:
  • the values o qi and w qi are directly represented with MBWPo and MBWPw in the syntax description above.
  • the weighted prediction can be then written as: The obtained values are subsequently clipped to the defined range of the picture samples. It is worth noting that the process of weighted prediction can be easily implemented as division-free integer-safe operation, by replacing divisions by bit-shift operators.
  • the motion estimator 210 and motion compensator 220 act as a motion-compensated-data generator which processes video data MB for a segment to generate motion data for the segment (this motion data comprising motion vectors in the present embodiment) and applies the motion data to the video data of the segment to generate motion-compensated video data for the segment.
  • the weighting parameter calculator 200 acts as a weighting parameter calculator which calculates weighting parameters for the segment. As noted previously, the weighting parameters for a segment can be different from the weighting parameter used for a different segment in the same picture.
  • the multiplier 230 and the adder 240 act as a weighted-motion-compensated-data generator which combines the motion-compensated video data and the weighting parameters to generate weighted-mofion-compensated-data MBp for the segment.
  • the adder 250 acts as a difference-data generator which generates difference data MBr defining a difference between the input video data MB for the segment and the weighted-motion- compensated-data MBp.
  • the transformer 260, quantiser 270 and entropy coder 320 act as an encoder which encodes data for the segment comprising the difference data MBr for the segment, the motion data for the segment, and the weighting parameters for the segment. This is the data which is transmitted to the decoder described previously for decoding.
  • the procedure of fast derivation of the MBWP parameters is divided into three steps, which are described in the following.
  • the description is based on a single reference picture MBWP, while the same idea can be applied to the case of multiple reference pictures as a straightforward extension of the presented relations and algorithmic steps.
  • the selection of motion vectors for which the MBWP is tested for is not discussed here, as the described method applies for a single macroblock matching and is independent of the motion estimation process. /. Finding distortion-optimal weighting parameters
  • Exp-Golomb entropy coding is used for coding the MBWP parameters, but other schemes are also possible, with the requirement that the exact or approximate code lengths are available to the cost estimator.
  • CABAC Context- Adaptive Binary Arithmetic Coding
  • R(o,w) is defined only in points (c ,w f/( ).
  • An equivalent formulation is used in motion estimation for the purpose of regularising the motion vector field.
  • MV information can be added to (29) and (30) to obtain a joint MV-MBWP cost, for example as: where mv is the motion vector, and the Lagrangian multipliers for motion vectors ⁇ ⁇ and weighting parameters WP generally can differ. This cost is used when comparing joint pairs of motion vectors and weighting parameters when selection is made prior to the macroblock mode selection.
  • the formulation for the predictive coding of MBWP parameters is similar, with the correction consisting of redefining the o qi - w i space so that the predicted value is in its origin.
  • the rate part of the Lagrangian cost function effectively moves the position of the global minimum from its position when only the distortion function is considered, and since the relation for the Lagrangian cost is non-analytical (expression for global minimum cannot be derived) some other way of locating it is needed.
  • distortion component functions is conducted so that the distortion (26) needs to be computed only for a small subset of all possible.
  • some other coding method apart from Exp-Golomb can be used having the same property of rate strictly increasing with the distance from the coordinates with the shortest code (e.g. (0,0)).
  • the general form of the search algorithm then can be written as:
  • J mm J(o,w)
  • L J and ⁇ 1 are floor and ceiling functions, respectively.
  • rounding down is performed when the variable w is larger than WQ meaning this corresponds to the part of the minimal distortion line that lies on the left of the w axis (all negative offsets).
  • the direction of search is arbitrary.
  • the condition for possibility of reduction of cost can be expressed with rate and distortion gradients fulfilling relation A
  • This relation is constructed so that the local search visits the offset coordinates in such a way that AD(o,w) is strictly non-decreasing, while AR(o + ⁇ ,w) is either 0 or some fixed negative value (for instance, -2 bits for Exp-Golomb coding). Note that the roles of offset and weight could be reversed in this search, and in that case the search around the line of minimum distortion for the constant o would be used.
  • Figure 8 is a flowchart summarizing the processing operations described above that are performed by the encoder in the preferred embodiment to calculate the offset and weight.
  • the search range is extended to cover the potential location of this minimum.
  • the constant distortion ellipse can be defined as:
  • D c can be picked arbitrarily as long it encompassed at least one coordinate, but the closer it is to D min the better as the ellipse will be smaller
  • D c is selected by computing the distortion at the point closest to the global minimum . Then the extreme o coordinates of
  • weight values that correspond to o e1 and o e2 are used to modify w start and w end so that the range includes them.
  • an embodiment of the present invention comprises a computer program product, in the form of a storage device or a signal, carrying computer program instructions to program a programmable processing apparatus to become operable to perform the processing operations described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A video decoder is disclosed that is operable to decode predictively encoded data wherein each encoded data segment has been encoded with a local weighting parameter. When encoding each segment of a picture, a weighting parameter is derived from a previously encoded segment of the picture. Advantageously, by allowing for different weighting parameters for each segment, the illumination changes within the picture are adapted to better than if a single global weighting parameter is used for all of the segments of a picture. Applications include MPEG video encoding and decoding. Accordingly, there is provided a video decoder operable to decode predictively-encoded video data defining a sequence of pictures, each picture divided into a plurality of segments, the decoder comprising a decoder operable to decode the encoded video data to generate decoded difference data (MBr') for a segment of a picture, motion data (14) for the segment and at least one weighting parameter for the segment; a motion-compensated-data generator operable to process the motion data and previously decoded video data to generate motion- compensated video data (MBc') for the segment; a predicted-data generator operable to generate predicted video data (MBp) for the segment by combining the motion- compensated video data (MBc') for the segment with at least one weighting parameter for the segment that is different from a weighting parameter used for a different segment in the same picture; and a data combiner operable to combine the decoded difference data (MBr') for the segment with the predicted video data (MBp) for the segment.

Description

Weighted Motion Compensation of Video
Claim to Priority This application claims priority from European Patent Application number EP 09 170 576.4 filed on 17 September 2009, the full contents of which are hereby incorporated by cross-reference.
Field of the Invention
The present invention relates to video encoding and decoding. Background Most modern video compression methods are based on spatio-temporal prediction of pictures, which essentially consists of encoding the difference between the prediction signal and the predicted picture. Generally, the closer in the appropriate metric the prediction signal is to the predicted picture, the better that picture can be compressed, i.e. it can be represented with fewer bits. The prediction is formed by taking decoded samples of previously encoded pictures, or previously encoded blocks of the current picture. Temporal prediction is the critical gain factor in the overall compression efficiency, since typical video signals exhibit significant temporal correlation. Besides compensating for spatial displacement between parts of different pictures by means of motion vectors, by using weighting prediction the changes in luminance levels can be also compensated for. Another prominent technique in encoding is the Rate Distortion Optimisation (RDO), which is widely used to assist in the video coding mode selection for achieving the best possible coding efficiency gain. This process can be described as follows: for a valid coding mode, the bits consumption is obtained and the distortion between the original video data and decoded video data is measured. A cost function J is constructed by using a Lagrange multiplier λΐο balance the rate R and the distortion D:
J = D + AR ... (1)
According to the smallest cost value a video encoding mode will be decided for achieving the best possible coding efficiency gain. The RDO process is important for capturing the video coding efficiency gain if several coding modes are possible for given video data.
H.264 / MPEG-4 AVC video coding standard has adopted weighted prediction, where arbitrary multiplicative weighting factors and additive offset factors can be applied to the reference picture predictions. Weighted prediction can generally be represented with the following relation: Y = o + wX (2) where X is a reference picture signal, Y is the predicted image signal, o is an additive offset weighting parameter and w is a multiplicative weight weighting parameter. A separate offset/weight pair can be assigned to each of the reference picture signals used to predict the current picture. In H.264 / MPEG-4 AVC at most two pictures are used for temporal compensation for any given macroblock. In P pictures only a single prediction originating from a single picture is used, while in B pictures two prediction signals can be used. In the explicit mode, weight and offset are specified at the slice level and their derivation is not defined by the standard. In the implicit mode the weights are computed according to the distance to the referenced pictures, where the relationship between the picture distances and the applied weights are defined by the standard. The standard leaves a provision for applying different explicit weighting parameters for different segments of a slice, down to the size of a macroblock, in a form of memory management control operations (MMCO). This is explained, for example, in US2006/0198440 Al . However, this comes with a considerable penalty in overhead information for weighted prediction parameter sets large enough to be of practi cal use. Furthermore, the derivation of the picture-level weighted prediction parameters normally entails some multipass scheme, where picture data has to be processed at least twice. One possibility is just to estimate the parameters, for which the whole picture statistics need to be captured before the actual compression, in order to compute the optimal weighting parameters using some criteria related to the expected compression performance. Since in practice the compression performance utilising picture level weighted prediction cannot be estimated reliably without actually compressing the data, a scheme known as "Picture Level Rate-Distortion Optimisation" can be employed, in which the picture is compressed multiple times, each time with different weighted prediction parameters, including a mode where weighted prediction is disabled, and the best outcome in terms of Lagrangian cost is preserved. This has the disadvantage of very high computational complexity while providing only limited performance improvement.
Since the derivation of the explicit weighting parameters is not defined by the standard, various schemes exist. In WO2007/092215 A2 the following derivation methods are discussed: offset only by subtracting means of two pictures, weight only by dividing means of two pictures, histogram based and linear regression based methods, and also iterative variations of all previous methods, where the parameters are adjusted after motion compensation. The heuristic based methods in WO2007/092215 A2 compute several pairs of parameters, each by using a different derivation method, and then by using a particular metric decide which one would perform the best.
A number of problems exist with the known techniques, however. In particular, due to the global nature of the weighting prediction parameters, the outcome of known weighted prediction techniques is generally unreliable in terms of the coding efficiency. If a multipass picture level optimisation approach is not used, the coding performance may even become worse. The multipass approach guarantees improvement, but in many cases it is still quite small and comes at the cost of very high computational complexity.
Summary of the Invention
In general, to adapt to the illumination changes within a picture, the operation of weighted prediction in an embodiment of the present invention is defined at the local level, where for each picture segment a different set of weighting parameters is defined and sent in the part of the bit-stream that conveys parameters for the current block. The operation of weighted prediction can be defined with:
Figure imgf000005_0001
where Bc„ is the n+l-st picture segment, o is an additive offset weighting parameter and wn is a multiplicative weight weighting parameter associated with the picture segment Bc„. Reference picture Bp is the prediction signal used to predict the currently encoded picture segment. The picture segment Bc„ may be associated with the «+l -st reference picture, but in a general case it can be any previously processed picture segment. Furthermore, it can be a resampled (e.g. by means of interpolation) picture segment. The aforementioned picture segments can be of arbitrary shape.
As a result of these features, the weighting parameters are adapted to local variations in content, thereby improving prediction.
More particularly, according to the present invention, there is provided a video decoding method of decoding predictively-encoded video data defining a sequence of pictures, each picture divided into a plurality of segments, the method comprising: decoding the encoded video data to generate decoded difference data for a segment of a picture, motion data for the segment and weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter, wherein the weighting parameters are weighting parameters which minimise a rate- constrained cost formulation taking into account both the representation distortion and coding cost; processing the motion data and previously decoded video data to generate motion- compensated video data for the segment; generating predicted video data for the segment by combining the motion-compensated video data for the segment with weighting parameters for the segment comprising an offset weighting parameter and a weight weighting parameter, wherein at least one weighting parameter for the segment is different from a weighting parameter used for a different segment in the same picture; and combining the decoded difference data for the segment with the predicted video data for the segment.
In the video decoding method: the encoded video data may be decoded to generate a respective weight weighting parameter for each of a plurality of segments; the motion data and previously decoded video data for a plurality of segments may be processed to generate respective motion-compensated video data for each of the plurality of segments; and the motion-compensated video data for each of the plurality of segments may be combined with a respective one of the weight weighting parameters to generate the predicted video data.
The motion data and previously decoded video data for a plurality of segments in different respective pictures may be processed to generate the respective motion-compensated video data for each of the plurality of segments.
In the video decoding method: the decoding process may decode the encoded video data to generate difference data for the weighting parameters; and the predicted video data for the segment may be generated by deriving weighting parameters for the segment using the decoded difference data for the weighting parameters and previously decoded weighting parameters derived for a previously decoded segment. The predicted video data for the segment may be generated by: predicting weighting parameters for the segment from weighting parameters of at least one neighbouring segment that has been previously decoded; combining the predicted weighting parameters with the weighting parameters obtained from the decoding process to generate resultant predicted weighting parameters; and combining the motion-compensated video data for the segment with the resultant predicted weighting parameters to generate the predicted video data for the segment.
The weighting parameters for the segment may be predicted by calculating an average of the weighting parameters of at least two neighbouring segments that have been previously decoded.
In the video decoding method, the process of generating predicted video data may comprise: comparing the motion data for the segment with the motion data for at least one previously decoded segment to determine a measure of the similarity therebetween; and if the determined measure indicates a high similarity, using weighting parameters for the at least one previously decoded segment to generate predicted weighting parameters for the segment and combining the motion-compensated video data with the predicted weighting parameters.
In the video decoding method, the encoded video data may be decoded to generate the offset weighting parameter and the weight weighting parameter such that the value of the offset weighting parameter is represented with fewer bits the closer the value is to zero and the value of the weight weighting parameter is represented with fewer bits the closer the value is to one.
The present invention also provides a video encoding method of predictively encoding video data defining a sequence of pictures, each picture divided into a plurality of segments, the method comprising: processing video data for a segment to generate motion data for the segment and motion- compensated video-data; calculating weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter which minimise a rate- constrained cost formulation taking into account both the representation distortion and coding costs, with at least one weighting parameter for the segment being different from a weighting parameter used for a different segment in the same picture; combining the motion-compensated video data and the weighting parameters to generate weighted-motion-compensated-data for the segment; generating difference data defining the difference between the video data for the segment and the weighted-motion-compensated-data for the segment; and encoding data for the segment comprising the difference data for the segment, the motion data for the segment, and the weighting parameters for the segment.
In the video encoding method: a respective weight weighting parameter may be calculated for each of a plurality of segments; the video data for a segment and a plurality of different segments may be processed to generate a plurality of respective motion-compensated video data segments; the weighted-motion-compensated-data may be generated by combining the plurality of motion-compensated video data segments and the plurality of weight weighting parameters such that each respective one of the plurality of motion-compensated video data segments is weighted by a respective one of the plurality of weight weighting parameters.
The video data for the segment and a plurality of segments in different respective pictures may be processed to generate the plurality of respective motion-compensated video data segments.
The video encoding method may further comprise calculating, for each weighting parameter for the segment, a weighting parameter difference value for the segment comprising a difference between the weighting parameter for the segment and the weighting parameter for a previous segment; and the encoding process may comprise encoding the difference data for the segment, the motion data for the segment, and the weighting parameter difference values for the segment.
Each difference value for the segment may be generated by: predicting a predicted weighting parameter for the segment from a weighting parameter of at least one previous neighbouring segment; and calculating a difference between the weighting parameter calculated by the weighting parameter calculation process and the predicted weighting parameter. The offset (o) and a weight (w) may be calculated which minimise the cost function J(o,w):
J(o,w) = D(o,w) + XR(o,w) where o is the offset, w is the weight, D is a distortion measure comprising a difference between the weighted-motion-compensated-data for the segment and the video data for the segment, R is a measure of encoded data rate and λ is a Lagrangian multiplier by: a) calculating a line in offset-weight space defining pairs of offset-weight values which represent a minimum of the distortion measure D;
b) selecting one of the offset and the weight as a first search parameter and the other as a second search parameter;
c) selecting a global range of the first search parameter;
d) selecting a value of the first search parameter from the selected global range;
e) selecting a local search range for the second search parameter;
f) for the selected constant value of the first search parameter, searching in the vicinity of the line within the local search range to identify therein the value of the second search parameter which gives a minimum value of J(o,w);
g) repeating process d) to f) for different constant values of the first search parameter to find the combination of offset and weight values which give an overall minimum value of J(o,w).
Process f) above may be performed such that continuously increasing or continuously decreasing values of the first search parameter within the local search range are tested while:
Figure imgf000009_0001
where AD is the change in distortion measure and AR is the change in rate measure. The present invention also provides a video decoder operable to decode predictively- encoded video data defining a sequence of pictures, each picture divided into a plurality of segments, the decoder comprising: a decoder operable to decode the encoded video data to generate decoded difference data for a segment of a picture, motion data for the segment and weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter, wherein the weighting parameters are weighting parameters which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding cost; and a motion-compensated-data generator operable to process the motion data and previously decoded video data to generate motion-compensated video data for the segment; a predicted-data generator operable to generate predicted video data for the segment by combining the motion-compensated video data for the segment with weighting parameters for the segment comprising an offset weighting parameter and a weight weighting parameter, wherein at least one weighting parameter for the segment is different from a weighting parameter used for a different segment in the same picture; and a data combiner operable to combine the decoded difference data for the segment with the predicted video data for the segment. The present invention also provides a video encoder operable to predictively encode video data defining a sequence of pictures, each picture divided into a plurality of segments, the encoder comprising: a motion-compensated-data generator operable to process video data for a segment to generate motion data for the segment and motion-compensated video data; a weighting parameter calculator operable to calculate weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding costs, with at least one weighting parameter for the segment being different from a weighting parameter used for a different segment in the same picture; a weighted-motion-compensated-data generator operable to combine the motion- compensated video data and the weighting parameters to generate weighted-motion- compensated-data for the segment; a difference-data generator operable to generate difference data defining the difference between the video data for the segment and the weighted-motion-compensated-data for the segment; and an encoder operable to encode data for the segment comprising the difference data for the segment, the motion data for the segment, and the weighting parameters for the segment. The present invention further provides a computer program product, comprising a storage medium or a signal, carrying computer program instructions to program a programmable processing apparatus to become operable to perform the video decoding method or the video encoding method. Brief Description of the Drawings
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: Figure 1 is a block diagram of a video decoder in an embodiment;
Figure 2 is a block diagram of a video encoder in an embodiment;
Figure 3 is an example for a block being matched and a candidate block in motion estimation;
Figure 4 is an example of the distortion function D(o,w) plotted for (oqi, wqi) in the range - 10, .. .,10, respectively; Figure 5 is an example plot of the rate part of the Lagrangian cost;
Figure 6 is a plot of the overall Lagrangian cost (distortion and rate combined);
Figure 7 shows two examples of local search for global minimum of the Lagrangian; and
Figure 8 is a flowchart showing the processing operations performed by the encoder in an embodiment to calculate weighting parameters.
Embodiments of the Invention
In the preferred embodiment a picture segment on which the weighted prediction operates is the macroblock as defined in H.264 / MPEG-4 AVC. In that context the approach described herein is referred to as MBWP (MacroBlock Weighted Prediction). For the sake of simpler notation, MBWP is only presented here for the unidirectional prediction case (e.g. P pictures in H.264 / MPEG-4 AVC), with generalisation considerations to multi- reference pictures discussed where required. In that case MBWP can be defined with: MBp = o + wMBc' (4) where MBc' is a decoded macroblock, obtained by means of interpolation in the case of sub-pel precision motion vectors or directly from the previously decoded pictures, o is an additive offset weighting parameter and w is a multiplicative weight weighting parameter (referred to hereinafter merely as an offset and a weight, respectively, with the term "weighting parameter" covering both). MBp is the resulting prediction signal, used to predict the current macroblock. In an alternative embodiment, the process of weighting is adapted within the macroblock for smaller blocks (e.g. those specified by H.264 / MPEG-4 AVC standard) or for each pixel:
MBp(«) = /0 (0,«) + /w(W,») - MBc'(«) .. . (5) where n is the index of the currently processed pixel, functions 0 ( ) and /w( ) determine the current offset and weight, respectively, and are dependent on the already processed data (already encoded in the encoder, or already decoded in the decoder). For instance, these can be the values of the previously processed predicted signal samples MBc'(0),. ..,MBc'(« - l) , previously obtained samples of the predicted signal MBp(0),...,MBp*(« -l) , etc. In one particular example, this function can perform adaptive rounding of the result given by weighted prediction, as the application of multiplicative weight in general yields a non-integer value. The prediction signal is added to the decoded difference signal MBr' and the current macroblock MB' is then reconstructed as:
MB' = MBp + MBr' .. . ( 6) Decoder
A diagram of a decoder incorporating MBWP is presented in Figure 1. The input stream of the current macroblock is entropy decoded by entropy decoder 10, resulting in the following data: quantised transformed samples of the current macroblock 12, motion vectors 14 and weighting parameters 16. All and any of these can be difference signals obtained by subtraction from the previously decoded data, and in that case prediction needs to be done, e.g. weighting parameters are predicted from the previously decoded ones, similarly as it is done for motion vectors, as shown in Figure 1. Motion compensation is then performed, using the decoded motion vectors and the previously decoded reference signal. Such motion compensated signal is then modified by applying weight and offset. The residual macroblock signal is obtained by inverse quantisation by inverse quantiser 20 and inverse spatial transform by inverse spatial transformer 30, after which the weighted prediction signal is added to obtain the decoded macroblock samples. Accordingly, it will be understood from the above that the entropy decoder 10, the inverse quantiser 20 and the inverse transformer 30 operate as a decoder which decodes the encoded video data for a segment of a picture to generate decoded difference data MBr' for the segment, motion data 14 for the segment and weighting parameters 16 for the segment. The motion vector predictor 40, adder 42 and the motion compensator 60 act as a motion- compensated-data generator which processes the motion data 14 together with previously decoded video data to generate motion-compensated video data MBc' for the segment. The weighting parameter predictor 50, adder 52, multiplier 70 and adder 80 act as a predicted-data generator which generates predicted video data MBp for the segment by combining the motion-compensated video data MBc' for the segment with weighting parameters for the segment. As noted above, the weighting parameters for a segment may be different from the weighting parameters used for a different segment in the same picture. The adder 90 acts as a data combiner which combines the decoded difference data MBr' for the segment with the predicted video data MBp for the segment, thereby generating overall decoded video data MB' for the segment.
In the preferred embodiment the weighting prediction is defined only for the luma component, while in the alternative embodiments weighting prediction can be applied also for the chroma components, either by using the same or a separate set of weighting parameters.
In another alternative embodiment, the MBWP parameters can be conveyed as the difference in the weighting parameters for a particular macroblock from globally defined ones. When applied to a codec with the structure similar to that of MPEG-4 AVC/H.264, the required signalling for MBWP is achieved with the additional information placed in the macroblock header portion of the video bit-stream instead of the slice (picture) header as in previous codecs. In the first embodiment, the required video bit-stream syntax elements are the following:
Figure imgf000013_0001
Figure imgf000014_0002
MBWP_parameters_present_flag signals the presence of the MBWP parameters if equal to 1. If this flag is equal to 0, then weighted prediction is not performed, and both parameters MBWPo and MBWPw are set to default values. Default values are defined to be those that, if applied, are equivalent to not performing MBWP. In an alternative embodiment, multiple flags can be encoded jointly across macroblocks by using run-length or quadtree coding, in order to avoid redundancy when MBWP is not utilised in large areas of the picture. \ I B \Y Po d i if cr en cc and MBWPw_difference are the difference signals from the predicted offset and weight values, where the derivation of weighting parameters MBWPo and MBWPw is done as presented below. In a preferred embodiment, variable length codes are used for entropy coding of these difference signals, but alternatively any other entropy coding method can be used, for instance arithmetic coding. In an alternative embodiment, the values of the previously decoded syntax elements may also be used by an entropy coding method in order to improve its efficiency.
Prediction operations predict MB WPo() and predictJMBWPw() entail a spatial prediction of weighting parameters from the neighbouring macroblocks. In the preferred embodiment, for the prediction of the weighting parameters for the current macroblock, with position at row r and column c in the current picture, the averaging of the first neighbouring macroblock from the top (same column as current, previous row) and the first from the left (previously encoded) is employed:
Figure imgf000014_0001
where [] denotes rounding to the nearest integer. It should be noted that this prediction can be modified in various ways - it can utilise more or fewer than two neighbouring macroblocks and/or use weighting in the prediction operator, or it can employ different operators, for instance median. In an alternative embodiment, the offset value for the current macroblock is used for prediction of the weight parameter for the same macroblock in addition to the previously decoded weighting parameters. In another alternative embodiment, the prediction of the weighted parameters uses other previously decoded syntax elements. In one example, the values of the motion vectors for current and previously decoded macroblocks are compared and the outcome of the comparison is used to guide the decision on the use of the previously decoded weighting parameters for the derivation of the weighting parameters for the current macroblock. For example, if the difference between the pair of motion vectors is large, the weighting parameters for the corresponding macroblock are excluded from being used for the prediction of the weighting parameters for the current macroblock. Also note that one option is to omit the prediction operation altogether and in that case the result of predict_MBWPo() and predi ctJVTB WPw() is 0. In the following the row and column indices are omitted as the presented steps are understood to be working on the current macroblock.
The parameters are quantised in order to send them efficiently in the bitstream. Here the uniform quantisation step of 128 is used, while other quantisation steps and schemes are also possible. The offset and weight parameters are quantised in the following way:
Figure imgf000015_0001
The integer values to be encoded o■ and w · are obtained in the following way:
Figure imgf000015_0003
so that the inverse mapping is defined as:
Figure imgf000015_0002
The default non-weighted prediction values are o = 0 ( o · = 0 ) and w = 1 ( wqi = 0 ).
With the quantisation scheme as presented above the values oqi and wqi increase with the increasing absolute difference from (o,w) = (0,1) . Since the majority of weighting parameters in practice are close to (0,1) , this is used in the subsequent entropy coding by assigning shorter codes to oqi and wqi of smaller absolute values. Other quantisation schemes can, for instance, employ non-uniform step sizes for weights to achieve higher precision in the ranges of values where it brings compression performance benefit.
The values oqi and wqi are directly represented with MBWPo and MBWPw in the syntax description above. The weighted prediction can be then written as:
Figure imgf000015_0004
The obtained values are subsequently clipped to the defined range of the picture samples. It is worth noting that the process of weighted prediction can be easily implemented as division-free integer-safe operation, by replacing divisions by bit-shift operators.
Encoder
An embodiment will now be described of an encoder which performs a fast method for deriving optimal or near-optimal offset and weight parameters during the encoding process. The location of this procedure (MBWP parameter derivation) in the overall encoding process is illustrated in Figure 2.
Referring to Figure 2, the motion estimator 210 and motion compensator 220 act as a motion-compensated-data generator which processes video data MB for a segment to generate motion data for the segment (this motion data comprising motion vectors in the present embodiment) and applies the motion data to the video data of the segment to generate motion-compensated video data for the segment. The weighting parameter calculator 200 acts as a weighting parameter calculator which calculates weighting parameters for the segment. As noted previously, the weighting parameters for a segment can be different from the weighting parameter used for a different segment in the same picture. The multiplier 230 and the adder 240 act as a weighted-motion-compensated-data generator which combines the motion-compensated video data and the weighting parameters to generate weighted-mofion-compensated-data MBp for the segment. The adder 250 acts as a difference-data generator which generates difference data MBr defining a difference between the input video data MB for the segment and the weighted-motion- compensated-data MBp. The transformer 260, quantiser 270 and entropy coder 320 act as an encoder which encodes data for the segment comprising the difference data MBr for the segment, the motion data for the segment, and the weighting parameters for the segment. This is the data which is transmitted to the decoder described previously for decoding.
The procedure of fast derivation of the MBWP parameters is divided into three steps, which are described in the following. For the sake of simpler representation the description is based on a single reference picture MBWP, while the same idea can be applied to the case of multiple reference pictures as a straightforward extension of the presented relations and algorithmic steps. The selection of motion vectors for which the MBWP is tested for is not discussed here, as the described method applies for a single macroblock matching and is independent of the motion estimation process. /. Finding distortion-optimal weighting parameters
In this step the optimal weighting prediction parameters are found with respect only to the distortion part of the encoding cost.
To minimise the distortion in the form of the L2 norm between two macroblocks the following expression needs to be optimised, with offset and weight as the optimisation variables:
Figure imgf000017_0002
To simplify the expressions, the following is defined:
Figure imgf000017_0003
where MB is the current block, and N is the number of pixels in a macroblock. The distortion expression then becomes:
Figure imgf000017_0004
This corresponding minimisation problem is modelled as a linear least squares optimisation problem, and represented with the following relation:
Figure imgf000017_0005
Partial derivative by o and w yields:
Figure imgf000017_0001
Solving these two for o and w gives:
Figure imgf000017_0006
However, since the problem at hand is somewhat different to the conventional least squares fitting because the parameters o, w and the operation of weighting are quantised, this problem can be generally classified as an integer least squares estimation. This problem is known to be NP-hard (i.e. impossible to determine the optimal parameters in practical amount of time), thus some fast approximation is required.
Distortion expression now can be written as a function of o and w:
Figure imgf000018_0002
In the following an example is given, where two blocks depicted in Figure 3 are selected for which the above defined function is plotted in Figure 4.
Computation of the minimum distortion point leads to (with the introduction of shorthand varibles ^, B, C, D, E):
Figure imgf000018_0003
where the denominator in the relations above is equal to the variance of X, i.e.,
2 2
A - B = <Tx . The computed values correspond to the example blocks in Figure 3. In the case σχ = 0 (constant value X), it is defined wmm = 1 and omm = D - B . Using this notation, the relation for distortion can be written in a form of general bivariate quadratic curve:
Figure imgf000018_0001
Also, when (25) is plugged into (26):
Figure imgf000018_0004
2. Rate- constrained cost formulation
In this step a complete relation for rate-constrained Lagrangian cost is derived, taking into account both the representation distortion and coding cost.
In the following the Exp-Golomb entropy coding is used for coding the MBWP parameters, but other schemes are also possible, with the requirement that the exact or approximate code lengths are available to the cost estimator. One example is the Context- Adaptive Binary Arithmetic Coding (CABAC). If the data to be encoded is denoted as x, the length of the associated Exp-Golomb code R(x) is defined as:
Figure imgf000019_0001
A rate constrained formulation of the MBWP encoding, for non-predictive MBWP parameters coding, then can be written in the Lagrangian multiplier form:
Figure imgf000019_0003
Here R(o,w) is defined only in points (c ,wf/(). An equivalent formulation is used in motion estimation for the purpose of regularising the motion vector field. Here the same principle is extended for MBWP of which the parameters can be understood as an extension to the MV information. More particularly, MV information can be added to (29) and (30) to obtain a joint MV-MBWP cost, for example as:
Figure imgf000019_0002
where mv is the motion vector, and the Lagrangian multipliers for motion vectors λΜν and weighting parameters WP generally can differ. This cost is used when comparing joint pairs of motion vectors and weighting parameters when selection is made prior to the macroblock mode selection.
The formulation for the predictive coding of MBWP parameters is similar, with the correction consisting of redefining the oqi - w i space so that the predicted value is in its origin.
In Figures 4 to 6, an example is given, where two blocks are selected for which the above defined functions are plotted. 3. Local search for a globally minimal cost
In this step a local search in the direction of the decreasing rate cost is perfonned, in order to find the global minimum of the Lagrangian on an integer grid.
From Figures 4 to 6, it is evident that the rate part of the Lagrangian cost can affect the location of the global minimum. Influence of the rate part strongly depends on the operational Lagrangian multiplier, and is higher for the lower bit-rates (larger WP ). Note that the effect of rounding operation in the weighting operation is not considered at this stage, only the quantisation of the MBWP parameters.
The rate part of the Lagrangian cost function effectively moves the position of the global minimum from its position when only the distortion function is considered, and since the relation for the Lagrangian cost is non-analytical (expression for global minimum cannot be derived) some other way of locating it is needed. To avoid computing J(o,w) for each Pau" > a local search in the oqi - wqi space that exploits the properties of the rate and
Figure imgf000020_0003
distortion component functions is conducted so that the distortion (26) needs to be computed only for a small subset of all possible Also, note that some other coding method apart from Exp-Golomb can be used having the same property of rate strictly increasing with the distance from the coordinates with the shortest code (e.g. (0,0)).
The search computes the cost around the line of minimum distortion for the constant w, Figure 5. This line can be found by using (21) and is defined with: o + wB - D = 0 . .. (32)
The search loops over different w, where for each w the cost is computed for the certain range of the parameter o around the line (32), in the direction of axis w as that is the direction of decreasing rate cost. It can be seen that the line (32) crosses the w-axis (where o = 0) at point ¼¾ = Df B , and this point divides the search into two segments, one looping over increasing o (points w > vv0 ) and the other over decreasing o (points W < WQ ). The general form of the search algorithm then can be written as:
Find the weight parameter search window
Figure imgf000020_0001
Figure imgf000020_0002
For o = ostart to oend
If J(o,w) < Jmm then Jmm = J(o,w)
If reduction of cost is not expected then break in the above, L J and Γ 1 are floor and ceiling functions, respectively. In particular, rounding down is performed when the variable w is larger than WQ meaning this corresponds to the part of the minimal distortion line that lies on the left of the w axis (all negative offsets). Note that the direction of search is arbitrary. In the prefen'ed embodiment, the condition for possibility of reduction of cost can be expressed with rate and distortion gradients fulfilling relation A
Figure imgf000021_0004
This relation is constructed so that the local search visits the offset coordinates in such a way that AD(o,w) is strictly non-decreasing, while AR(o + \,w) is either 0 or some fixed negative value (for instance, -2 bits for Exp-Golomb coding). Note that the roles of offset and weight could be reversed in this search, and in that case the search around the line of minimum distortion for the constant o would be used.
Figure 8 is a flowchart summarizing the processing operations described above that are performed by the encoder in the preferred embodiment to calculate the offset and weight.
4. Weighting parameters quantisation consideration
To take into account the location ambiguity of the global distortion minimum for quantised MBWP parameters, the search range is extended to cover the potential location of this minimum. To this end, the constant distortion ellipse can be defined as:
D(o,w) - Dc = 0 , ... (33) where Dc is the selected distortion. That this an ellipse can be checked by plugging it into the necessary conditions, from which it follows that conditions
Figure imgf000021_0003
must be fulfilled. Here Dc can be picked arbitrarily as long it encompassed at least one coordinate, but the closer it is to Dmin the better as the ellipse will be smaller
Figure imgf000021_0002
and capture less potential integer minimums that would need to be visited in the search loop. Here, Dc is selected by computing the distortion at the point closest to the global minimum . Then the extreme o coordinates of
Figure imgf000021_0001
such ellipse are found, which are used when setting the start and end points of the search:
Figure imgf000022_0001
The weight values that correspond to oe1 and oe2 are used to modify wstart and wend so that the range includes them. The procedure of search for two distinct
Figure imgf000022_0002
exemplary cases is depicted in Figure 7.
Modifications and Variations
It will be appreciated that many modifications and variations can be made to the embodiment described above.
In particular, although the components of the decoder and the encoder described above comprise hardware components, the decoder and/or the encoder may be implemented using software and/or firmware. Similarly, the decoder and/or encoder may comprise a combination of hardware and software/firmware components. Accordingly, an embodiment of the present invention comprises a computer program product, in the form of a storage device or a signal, carrying computer program instructions to program a programmable processing apparatus to become operable to perform the processing operations described above.

Claims

1. A video decoder operable to decode predictively-encoded video data defining a sequence of pictures, each picture divided into a plurality of segments, the decoder comprising:
a decoder operable to decode the encoded video data to generate decoded difference data for a segment of a picture, motion data for the segment and weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter, wherein the weighting parameters are weighting parameters which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding cost; and
a motion-compensated-data generator operable to process the motion data and previously decoded video data to generate motion-compensated video data for the segment;
a predicted-data generator operable to generate predicted video data for the segment by combining the motion-compensated video data for the segment with weighting parameters for the segment comprising an offset weighting parameter and a weight weighting parameter, wherein at least one weighting parameter for the segment is different from a weighting parameter used for a different segment in the same picture; and
a data combiner operable to combine the decoded difference data for the segment with the predicted video data for the segment.
2. A video decoder according to Claim 1, wherein:
the decoder is operable to decode the encoded video data to generate a respective weight weighting parameter for each of a plurality of segments;
the motion-compensated-data generator is operable to process the motion data and previously decoded video data for a plurality of segments to generate respective motion- compensated video data for each of the plurality of segments; and
the predicted-data generator is operable to combine the motion-compensated video data for each of the plurality of segments with a respective one of the weight weighting parameters to generate the predicted video data.
3. A video decoder according to Claim 2, wherein the motion-compensated-data generator is operable to process the motion data and previously decoded video data for a plurality of segments in different respective pictures to generate the respective motion- compensated video data for each of the plurality of segments.
4. A video decoder according to any preceding claim, wherein: the decoder is operable to decode the encoded video data to generate difference data for the weighting parameters; and
the predicted-data generator is operable to generate the predicted video data for the segment by deriving weighting parameters for the segment using the difference data for the weighting parameters from the decoder and previously decoded weighting parameters derived for a previously decoded segment.
5. A video decoder according to Claim 4, wherein the predicted-data generator is operable to generate the predicted video data for the segment by:
predicting weighting parameters for the segment from weighting parameters of at least one neighbouring segment that has been previously decoded;
combining the predicted weighting parameters with the weighting parameters from the decoder to generate resultant predicted weighting parameters; and
combining the motion-compensated video data for the segment with the resultant predicted weighting parameters to generate the predicted video data for the segment.
6. A video decoder according to Claim 5, wherein the predicted-data generator is operable to predict the weighting parameters for the segment by calculating an average of the weighting parameters of at least two neighbouring segments that have been previously decoded.
7. A video decoder according to any preceding claim, wherein the predicted-data generator is operable to:
compare the motion data for the segment with the motion data for at least one previously decoded segment to determine a measure of the similarity therebetween; and if the determined measure indicates a high similarity, use weighting parameters for the at least one previously decoded segment to generate predicted weighting parameters for the segment and combine the motion-compensated video data with the predicted weighting parameters.
8. A video decoder according to any preceding claim, wherein the decoder is operable to decode the encoded video data to generate the offset weighting parameter and the weight weighting parameter such that the value of the offset weighting parameter is represented with fewer bits the closer the value is to zero and the value of the weight weighting parameter is represented with fewer bits the closer the value is to one.
9. A video encoder operable to predictively encode video data defining a sequence of pictures, each picture divided into a plurality of segments, the encoder comprising: a motion-compensated-data generator operable to process video data for a segment to generate motion data for the segment and motion-compensated video data;
a weighting parameter calculator operable to calculate weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding costs, with at least one weighting parameter for the segment being different from a weighting parameter used for a different segment in the same picture;
a weighted-motion-compensated-data generator operable to combine the motion- compensated video data and the weighting parameters to generate weighted-motion- compensated-data for the segment;
a difference-data generator operable to generate difference data defining the difference between the video data for the segment and the weighted-motion-compensated- data for the segment; and
an encoder operable to encode data for the segment comprising the difference data for the segment, the motion data for the segment, and the weighting parameters for the segment.
10. A video encoder according to Claim 9, wherein:
the weighting parameter calculator is operable to calculate a respective weight weighting parameter for each of a plurality of segments;
the motion-compensated-data-generator is operable to process the video data for a segment and a plurality of different segments to generate a plurality of respective motion- compensated video data segments;
the weighted-motion-compensated-data generator is operable to generate the weighted-motion-compensated-data by combining the plurality of motion-compensated video data segments and the plurality of weight weighting parameters such that each respective one of the plurality of motion-compensated video data segments is weighted by a respective one of the plurality of weight weighting parameters.
1 1 . A video encoder according to Claim 10, wherein the motion-compensated-data generator is operable to process the video data for the segment and a plurality of segments in different respective pictures to generate the plurality of respective motion-compensated video data segments.
12. A video encoder according to any of Claims 9 to 1 1, further comprising a weighting parameter difference calculator operable to calculate, for each weighting parameter for the segment, a weighting parameter difference value for the segment comprising a difference between the weighting parameter for the segment and the weighting parameter for a previous segment;
and wherein the encoder is arranged to encode data for the segment comprising the difference data for the segment, the motion data for the segment, and the weighting parameter difference values for the segment.
13. A video encoder according to Claim 12, wherein the weighting parameter difference calculator is operable to generate each difference value for the segment by: predicting a predicted weighting parameter for the segment from a weighting parameter of at least one previous neighbouring segment; and
calculating a difference between the weighting parameter calculated by the weighting parameter calculator and the predicted weighting parameter.
14. A video encoder according to any of Claims 9 to 13, wherein the weighting parameter calculator is arranged to calculate an offset weighting parameter and a weight weighting parameter which minimise the cost function J(o,w):
J(o,w) = D(o,w) + XR(o,w) where o is the offset, w is the weight, D is a distortion measure comprising a difference between the weighted-motion-compensated-data for the segment and the video data for the segment, R is a measure of encoded data rate and λ is a Lagrangian multiplier by:
a) calculating a line in offset-weight space defining pairs of offset-weight values which represent a minimum of the distortion measure D;
b) selecting one of the offset and the weight as a first search parameter and the other as a second search parameter;
c) selecting a global range of the first search parameter;
d) selecting a value of the first search parameter from the selected global range;
e) selecting a local search range for the second search parameter;
f) for the selected constant value of the first search parameter, searching in the vicinity of the line within the local search range to identify therein the value of the second search parameter which gives a minimum value of J(o,w);
g) repeating process d) to f) for different constant values of the first search parameter to find the combination of offset and weight values which give an overall minimum value of J(o,w).
15. A video encoder according to Claim 14, wherein the weighting parameter calculator is arranged to perform process f) such that continuously increasing or continuously decreasing values of the first search parameter within the local search range are tested while:
Figure imgf000027_0001
where AD is the change in distortion measure and AR is the change in rate measure.
16. A video decoding method of decoding predictively-encoded video data defining a sequence of pictures, each picture divided into a plurality of segments, the method comprising:
decoding the encoded video data to generate decoded difference data for a segment of a picture, motion data for the segment and weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter, wherein the weighting parameters are weighting parameters which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding cost;
processing the motion data and previously decoded video data to generate motion- compensated video data for the segment;
generating predicted video data for the segment by combining the motion- compensated video data for the segment with weighting parameters for the segment comprising an offset weighting parameter and a weight weighting parameter, wherein at least one weighting parameter for the segment is different from a weighting parameter used for a different segment in the same picture; and
combining the decoded difference data for the segment with the predicted video data for the segment.
1 7. A video encoding method of predictively encoding video data defining a sequence of pictures, each picture divided into a plurality of segments, the method comprising:
processing video data for a segment to generate motion data for the segment and motion-compensated video-data;
calculating weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding costs, with at least one weighting parameter for the segment being different from a weighting parameter used for a different segment in the same picture; combining the motion-compensated video data and the weighting parameters to generate weighted-motion-compensated-data for the segment;
generating difference data defining the difference between the video data for the segment and the weighted-motion-compensated-data for the segment; and
encoding data for the segment comprising the difference data for the segment, the motion data for the segment, and the weighting parameters for the segment.
18. A computer program product carrying computer program instructions to program a programmable processing apparatus to become operable to perform a video decoding method of decoding predictively-encoded video data defining a sequence of pictures, each picture divided into a plurality of segments, the method comprising:
decoding the encoded video data to generate decoded difference data for a segment of a picture, motion data for the segment and weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter, wherein the weighting parameters are weighting parameters which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding cost;
processing the motion data and previously decoded video data to generate motion- compensated video data for the segment;
generating predicted video data for the segment by combining the motion- compensated video data for the segment with weighting parameters for the segment comprising an offset weighting parameter and a weight weighting parameter, wherein at least one weighting parameter for the segment is different from a weighting parameter used for a different segment in the same picture; and
combining the decoded difference data for the segment with the predicted video data for the segment.
19. A computer program product carrying computer program instructions to program a programmable processing apparatus to become operable to perform a video encoding method of predictively encoding video data defining a sequence of pictures, each picture divided into a plurality of segments, the method comprising:
processing video data for a segment to generate motion data for the segment and motion-compensated video-data;
calculating weighting parameters for weighted prediction of the segment comprising an offset weighting parameter and a weight weighting parameter which minimise a rate-constrained cost formulation taking into account both the representation distortion and coding costs, with at least one weighting parameter for the segment being different from a weighting parameter used for a different segment in the same picture; combining the motion-compensated video data and the weighting parameters to generate weighted-motion-compensated-data for the segment;
generating difference data defining the difference between the video data for the segment and the weighted-motion-compensated-data for the segment; and
encoding data for the segment comprising the difference data for the segment, the motion data for the segment, and the weighting parameters for the segment.
PCT/EP2010/063024 2009-09-17 2010-09-06 Weighted motion compensation of video Ceased WO2011032852A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012529206A JP2013505615A (en) 2009-09-17 2010-09-06 Video weighted motion compensation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09170576A EP2302933A1 (en) 2009-09-17 2009-09-17 Weighted motion compensation of video
EP09170576.4 2009-09-17

Publications (1)

Publication Number Publication Date
WO2011032852A1 true WO2011032852A1 (en) 2011-03-24

Family

ID=41138739

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/063024 Ceased WO2011032852A1 (en) 2009-09-17 2010-09-06 Weighted motion compensation of video

Country Status (3)

Country Link
EP (1) EP2302933A1 (en)
JP (1) JP2013505615A (en)
WO (1) WO2011032852A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014131360A (en) * 2014-04-07 2014-07-10 Toshiba Corp Encoding method, encoding device, and program
JP2015119499A (en) * 2015-02-16 2015-06-25 株式会社東芝 Decoding method, decoding device, and program
JP2016096567A (en) * 2015-12-22 2016-05-26 株式会社東芝 Decoding method, decoding device, and program
US20160277767A1 (en) * 2015-03-16 2016-09-22 Thomson Licensing Methods, systems and apparatus for determining prediction adjustment factors
JP2017099016A (en) * 2017-01-30 2017-06-01 株式会社東芝 Electronic device, decoding method, and program
JP2017121070A (en) * 2017-02-23 2017-07-06 株式会社東芝 Electronic device, decoding method and program
US9826247B2 (en) 2011-10-17 2017-11-21 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method for efficient coding
JP2018042266A (en) * 2017-10-20 2018-03-15 株式会社東芝 Electronic apparatus, decoding method, and program
JP2019009792A (en) * 2018-08-22 2019-01-17 株式会社東芝 Encoding method, decoding method, and encoded data
US10257516B2 (en) 2012-06-27 2019-04-09 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method for coding efficiency
JP2020058073A (en) * 2020-01-07 2020-04-09 株式会社東芝 Encoding method, decoding method and encoded data
JP2020129848A (en) * 2020-05-29 2020-08-27 株式会社東芝 Data structure of encoded data, storage device, transmission device, and encoding method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2505169B (en) * 2012-08-13 2016-03-16 Gurulogic Microsystems Oy decoder and method
US10412410B2 (en) * 2017-08-14 2019-09-10 Google Llc Compound motion-compensated prediction
CN115695812A (en) * 2021-07-30 2023-02-03 中兴通讯股份有限公司 Video encoding method, video decoding method, video encoding device, video decoding device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060198440A1 (en) 2003-06-25 2006-09-07 Peng Yin Method and apparatus for weighted prediction estimation using a displaced frame differential
WO2007092215A2 (en) 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
WO2008004940A1 (en) * 2006-07-07 2008-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Video data management
US20090034854A1 (en) * 2007-07-31 2009-02-05 Samsung Electronics Co., Ltd. Video encoding and decoding method and apparatus using weighted prediction

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4485157B2 (en) * 2002-08-08 2010-06-16 パナソニック株式会社 Image decoding method and image decoding apparatus
JP2004120138A (en) * 2002-09-24 2004-04-15 Matsushita Electric Ind Co Ltd Video encoding method and video decoding method
US8457203B2 (en) * 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
CN101288311B (en) * 2005-10-12 2011-05-11 汤姆森特许公司 Method and apparatus for weighted prediction in scalable video coding and decoding
US8115804B2 (en) * 2006-01-12 2012-02-14 Lg Electronics Inc. Processing multiview video
JP2007221201A (en) * 2006-02-14 2007-08-30 Victor Co Of Japan Ltd Moving image coding apparatus and program
US8023562B2 (en) * 2007-09-07 2011-09-20 Vanguard Software Solutions, Inc. Real-time video coding/decoding
CN101855910B (en) * 2007-09-28 2014-10-29 杜比实验室特许公司 Video compression and transmission techniques
JP5529040B2 (en) * 2008-01-10 2014-06-25 トムソン ライセンシング Intra-predicted video illumination compensation method and apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060198440A1 (en) 2003-06-25 2006-09-07 Peng Yin Method and apparatus for weighted prediction estimation using a displaced frame differential
WO2007092215A2 (en) 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
WO2008004940A1 (en) * 2006-07-07 2008-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Video data management
US20090034854A1 (en) * 2007-07-31 2009-02-05 Samsung Electronics Co., Ltd. Video encoding and decoding method and apparatus using weighted prediction

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BOYCE J M: "Weighted prediction in the H.264/MPEG AVC video coding standard", CIRCUITS AND SYSTEMS, 2004. ISCAS '04. PROCEEDINGS OF THE 2004 INTERNA TIONAL SYMPOSIUM ON VANCOUVER, BC, CANADA 23-26 MAY 2004, PISCATAWAY, NJ, USA,IEEE, US, 23 May 2004 (2004-05-23), pages III - 789, XP010719383, ISBN: 978-0-7803-8251-0 *
ELLINAS J N ET AL: "Stereo video coding based on quad-tree decomposition of B-P frames by motion and disparity interpolation", IEE PROCEEDINGS: VISION, IMAGE AND SIGNAL PROCESSING, INSTITUTION OF ELECTRICAL ENGINEERS, GB, vol. 152, no. 5, 7 October 2005 (2005-10-07), pages 639 - 647, XP006024995, ISSN: 1350-245X *
SULLIVAN G J ET AL: "Video Compression-From Concepts to the H.264/AVC Standard", PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 93, no. 1, 1 January 2005 (2005-01-01), pages 18 - 31, XP011123850, ISSN: 0018-9219 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10602173B2 (en) 2011-10-17 2020-03-24 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method for efficient coding
US10271061B2 (en) 2011-10-17 2019-04-23 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method for efficient coding
US11153593B2 (en) 2011-10-17 2021-10-19 Kabushiki Kaisha Toshiba Decoding method, encoding method, and electronic apparatus for decoding/coding
US11140405B2 (en) 2011-10-17 2021-10-05 Kabushiki Kaisha Toshiba Decoding method, encoding method, and transmission apparatus for efficient coding
US9826247B2 (en) 2011-10-17 2017-11-21 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method for efficient coding
US10277900B2 (en) 2012-06-27 2019-04-30 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method for coding efficiency
US12506872B2 (en) 2012-06-27 2025-12-23 Kabushiki Kaisha Toshiba Encoding method that encodes a first denominator for a luma weighting factor, transfer device, and decoding method
US12088810B2 (en) 2012-06-27 2024-09-10 Kabushiki Kaisha Toshiba Encoding method that encodes a first denominator for a luma weighting factor, transfer device, and decoding method
US10257516B2 (en) 2012-06-27 2019-04-09 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method for coding efficiency
US11800111B2 (en) 2012-06-27 2023-10-24 Kabushiki Kaisha Toshiba Encoding method that encodes a first denominator for a luma weighting factor, transfer device, and decoding method
US11363270B2 (en) 2012-06-27 2022-06-14 Kabushiki Kaisha Toshiba Decoding method, encoding method, and transfer device for coding efficiency
US11202075B2 (en) 2012-06-27 2021-12-14 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method for coding efficiency
US10609376B2 (en) 2012-06-27 2020-03-31 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method for coding efficiency
JP2014131360A (en) * 2014-04-07 2014-07-10 Toshiba Corp Encoding method, encoding device, and program
JP2015119499A (en) * 2015-02-16 2015-06-25 株式会社東芝 Decoding method, decoding device, and program
US20160277767A1 (en) * 2015-03-16 2016-09-22 Thomson Licensing Methods, systems and apparatus for determining prediction adjustment factors
JP2016096567A (en) * 2015-12-22 2016-05-26 株式会社東芝 Decoding method, decoding device, and program
JP2017099016A (en) * 2017-01-30 2017-06-01 株式会社東芝 Electronic device, decoding method, and program
JP2017121070A (en) * 2017-02-23 2017-07-06 株式会社東芝 Electronic device, decoding method and program
JP2018042266A (en) * 2017-10-20 2018-03-15 株式会社東芝 Electronic apparatus, decoding method, and program
JP2019009792A (en) * 2018-08-22 2019-01-17 株式会社東芝 Encoding method, decoding method, and encoded data
JP2020058073A (en) * 2020-01-07 2020-04-09 株式会社東芝 Encoding method, decoding method and encoded data
JP2020129848A (en) * 2020-05-29 2020-08-27 株式会社東芝 Data structure of encoded data, storage device, transmission device, and encoding method
JP7000498B2 (en) 2020-05-29 2022-01-19 株式会社東芝 Storage device, transmitter and coding method

Also Published As

Publication number Publication date
JP2013505615A (en) 2013-02-14
EP2302933A1 (en) 2011-03-30

Similar Documents

Publication Publication Date Title
WO2011032852A1 (en) Weighted motion compensation of video
US10764599B2 (en) Moving picture decoding method and moving picture encoding method
Yang et al. An effective variable block-size early termination algorithm for H. 264 video coding
US7177360B2 (en) Video encoding method and video decoding method
US9900611B2 (en) Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US6711211B1 (en) Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US20120230405A1 (en) Video coding methods and video encoders and decoders with localized weighted prediction
EP2375754A1 (en) Weighted motion compensation of video
CN116233463A (en) Motion vector correction for multi-reference prediction
WO2005022923A2 (en) Method and apparatus for minimizing number of reference pictures used for inter-coding
EP2664152A1 (en) Video encoding and decoding with improved error resilience
US7809063B2 (en) Method and system for adaptive motion estimation
KR20050089838A (en) Video encoding with skipping motion estimation for selected macroblocks
US20060188018A1 (en) Method and system for motion estimation using chrominance information
US8194740B2 (en) Apparatus and method for compression-encoding moving picture
JP5649296B2 (en) Image encoding device
EP1593271A2 (en) Device for encoding a video data stream
JP2009284058A (en) Moving image encoding device
KR100939280B1 (en) Video encoding method using multiple reference frames and computer-readable recording medium recording the method
JP2009194474A (en) Video encoding device
US20250247526A1 (en) Combined intra and inter prediction mode
KR20160041387A (en) Method and apparatus for encoding video

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10749656

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012529206

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10749656

Country of ref document: EP

Kind code of ref document: A1