WO1997013374A1 - Motion estimation for predictive image coding - Google Patents
Motion estimation for predictive image coding Download PDFInfo
- Publication number
- WO1997013374A1 WO1997013374A1 PCT/IB1996/000970 IB9600970W WO9713374A1 WO 1997013374 A1 WO1997013374 A1 WO 1997013374A1 IB 9600970 W IB9600970 W IB 9600970W WO 9713374 A1 WO9713374 A1 WO 9713374A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- macroblock
- vector
- cost function
- motion
- motion vectors
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present invention relates to a method and apparatus for the encoding of pixel images and, in particular, to coding techniques using motion compensated prediction in accordance with standards such as MPEG and H.261.
- Motion compensated prediction is an essential element of techniques such as MPEG video compression, where it is used to reduce the temporal redundancy in the signal. Since one picture in an image sequence is normally very similar to a displaced copy of its predecessors, transmitting motion vector data allows a good prediction of the current picture from previous pictures.
- MPEG video coding a coded picture is transmitted by multiplexing into a single stream data representing different types of information. It is a layered coding syntax, with the higher layers transmitting information about the encoding parameters used, and the lower layers containing several classes of information that allow a decoder to reconstruct individual pixel values.
- the basic unit of coding is the 16x16 (256-pixel) macroblock.
- Each macroblock has an associated "macroblock type" that defines the coding mode in use in that block, other overhead information defining parameters of coding, suitably one or more motion vectors used for motion compensated prediction, and coded data representing discrete cosine transform (DCT) coefficients.
- the motion vectors are used to form an estimator (or prediction) of the pixel values of the current macroblock based on past and future "reference" pictures.
- the motion vector defines a displacement in the reference picture from the position of the current macroblock where a prediction of the current macroblock may be found.
- Known MPEG-compatible encoders search for a set of motion vectors that give a good prediction of the current frame without regard to the bit-rate needed to represent the vectors.
- An example of such an encoder is described in European Patent Application EP-A-0,540,961 (Gonzales et al/IBM), which is concerned with allocating a budget of bits to the different pictures in a sequence and optimizing the visual quality of each picture given the number of allocated bits, by adaptive quantisation of the DCT coefficients in the picture.
- a method for 2o encoding an ordered sequence of pixel image frames in which each frame is divided into rows containing an integer number of pixel macroblocks, at least some of the macroblocks are coded with motion vectors specifying a displacement for macroblock data from a further image frame of the sequence, and the image data is then subject to transform compression to provide an 25 encoded signal; characterised in that the motion vectors are selected from a set of candidate motion vectors on the basis of a cost function relating motion vector accuracy to vector data bit rate in the encoded signal.
- the selected motion vectors are not necessarily optimum but
- the bit rate saving can then be applied to the coded transform coefficients such as to produce an overall improvement in the quality of the decoded image.
- the selection of the coding mode may also be subject to the cost function such as to produce a further enhancement.
- the cost function is preferably made cumulative over a macroblock row, with the motion vectors (and optionally coding mode) per macroblock ofthe row being chosen to minimise the accumulated row cost function.
- Dynamic programming may suitably be used to specify a recurrence relationship between the cost function for each macroblock of a row and that of the row as a whole.
- the motion vector accuracy is suitably determined by the displaced frame difference for the macroblock (i.e. the difference between what is predicted by the vector and what is actually present) and the cost function may relate this displaced frame difference to an exponential function of the vector data bit rate.
- the candidate motion vectors are preferably selected by a rate constrained search, in which a number of motion vectors to half pixel accuracy are derived for the N integer pixel placements having the lowest frame difference, where N is an integer.
- DCT discrete cosine transform
- an image signal encoding apparatus for encoding an ordered sequence of pixel image frames, the apparatus comprising: an encoder arranged to receive the image frames, apply transform compression to the image data, and output an encoded image signal; and a motion estimator arranged to receive the image frames, to divide each into rows of pixel macroblocks and, for predetermined ones of the macroblocks, to generate motion vectors specifying a displacement for the macroblock data from a further image frame of the sequence, wherein the generated motion vector data is passed to the encoder and incorporated in the output encoded signal; characterised in that the motion estimator comprises a vector generator arranged to generate a set of candidate motion vectors for each of the predetermined ones of the macroblocks in accordance with a predetermined criteria and with an indication of the accuracy for each, and a vector selection means operable to apply, to each candidate motion vector, a cost function relating the respective accuracy to the motion vector data bit rate in the encoded signal and to selectively pass to the encoder those motion vectors
- the encoder may be operable to assign data bit rates in the encoded signal to motion vector data and to transform coefficient data in a ratio where the addition of one extra bit to either provides substantially the same reduction in image distortion for an encoded image when decoded, and the motion estimator is operable to modify the cost function in accordance with changes in the assigned motion vector data bit rate.
- the encoder is operable to apply a selected one from a number of coding modes (as described previously)
- the selection may suitably be made on the basis of the cost function from the vector selection means.
- the vector selection means and encoder may suitably be respectively arranged to select the motion vectors and coding mode for each macroblock such as to minimise the accumulated row cost function.
- FIG. 1 is a block schematic diagram representing an MPEG encoder arrangement
- Figure 2 shows an arrangement for the motion estimator stage of Figure 1 , embodying the present invention
- Figure 3 schematically illustrates the relationship between different factors of an encoding optimisation of the invention
- Figure 4 represents a macroblock line consisting of T blocks across an image
- FIGS. 5 to 7 are tables containing experimental results for a conventional technique and techniques embodying the present invention
- MPEG-compatible coding schemes (as defined in ISO 11172 and ISO 13818), although it will be recognised that it is applicable to otner coding schemes, particularly hybnd-DCT (discrete cosine transformation) based coding schemes, such as the H 261 standard for video-telephony MPEG and H 261 are digital coding systems conventionally used for storing and compressing natural picture sequences, with the decoders being designed to interpret such encoded data and reproduce the same original sequence of images
- Compressed MPEG streams consist of a number of different data-types in a layered structure some of the data is overhead that describes the coding parameters and options chosen and the motion vectors, and some is a direct representation of the DCT coefficient data
- FIG. 1 An MPEG encoding arrangement is shown in Figure 1 where the re ⁇ ordered sequence of image frames is fed to an encoder stage 10 and also to a motion estimator stage 12 In the motion estimator 12, the motion vectors for each macroblock of an image are selected to define a displacement in the reference image frame for that block These motion vectors are then passed to the encoder stage 10 Motion vectors based on recreated (i e decoded) pictures obtained from the encoder may also be generated
- the motion estimator selects which mode to use and searches for the motion vectors that give the best prediction, irrespective of the number of bits that must be used to transmit this data
- the available bit-rate (from bandwidth considerations) that is left over after subtracting this overhead is used for the coefficient data
- 3Mb ⁇ t/sec for example motion vector data forms up to about 25% of the data rate In these circumstances, this bit allocation strategy will not generally give the best picture quality
- improvements are proposed for the selection of both motion vectors and coding modes.
- the present invention provides the means for selecting a different choice on the basis of a cost function (to be described) where the choice consumes fewer bits for the motion vectors but provides nearly as good a prediction, thus providing a better use of the bit-rate as the bits that are saved can be used to provide more accurate representations of the DCT coefficients.
- Figure 2 shows an arrangement for the motion estimator stage of Figure 1 embodying the present invention.
- a first stage 14 generates a set of candidate motion vectors, suitably from a list of half-pixel candidates from about each of N candidate integer pixels.
- Those candidate vectors, together with an indication of their respective accuracies, are passed to a vector selection stage 16.
- a vector bit counter 18 determines the number of bits required per vector and the selection stage 16 then selects those of the candidate vectors for a macroblock line (or "slice") which minimise a cumulative cost function for the line and provide the best trade-off between motion vector accuracy and required bit rate for each block of the line.
- This displaced frame difference may of course be generalised to include the case of interpolation prediction in MPEG B-pictures.
- a first (direct) approach to the problem is to minimise the total bit-rate (R, + R 2 ) given a certain distortion D after decoding. This may be done by means of optimisation techniques using a
- bit-rate associated with a macroblock vector in MPEG is determined by the vector in the previous macroblock, because each motion vector is coded differentially with respect to the vector in the previous macroblock. This means that it is not possible to make optimal macroblock decisions in isolation from the neighbouring blocks (the bit-rate R 2 in equation 4 depends on the choice of vector in the previous macroblock), leading to the problem that the decisions have to made jointly over an entire MPEG "slice" (a line of macroblocks).
- each macroblock may have up to four vectors depending on its macroblock type. There may be 0, 1 or 2 frame based vectors or there may be 0, 1 , 2, 3 or 4 field-based vectors, and vectors may reference a future field or frame or a past field or frame or a combination of past and future.
- the capability is preferably provided for handling different vector types synchronously. For example, we consider the frame-based forward vectors separately from the frame-based backwards vectors.
- a set of candidate motion vectors is calculated to half pixel accuracy (as specified by MPEG) and a value of a prediction error function is found. From the values found, a table is built up for each macroblock in the slice giving candidate vectors and their prediction error cost.
- dfd is the prediction error cost.
- a different prediction error function may be required, as will be understood.
- a dynamic program is used to find the set of vectors, one per macroblock, that give the minimum value of the cost function C from equation 4 summed over all the macroblocks in the slice.
- a dynamic program starts from the final decision in the problem and works backwards to the earlier ones. It is based on the Principle of Optimality which states that: for a complete set of N decisions to be optimal, if the first (N-1) decisions are optimal then the Nth decision must also be optimal. We use this principle to break the optimisation problem down into a sequential set of decisions and to generate a recurrence relation that works backwards through the problem.
- equation 4 in generalised terms for a block slice as in Figure 4, the cost of choosing a particular vector in a macroblock may be written as:
- CJvJ .v ⁇ O)) is the cost of choosing vector v i) for the mth macroblock given the vector v ⁇ was chosen in the (m-1)th macroblock.
- dfd vji)) is the difference dfd with vector v i) in the mth macroblock.
- R(v m (i),v m _ is the bit-rate with vector v i) in the mth macroblock given the choice of vector v m ⁇ (j) in the
- J(n) is the summed cost of continuing the optimal set of decisions at a point n macroblocks from the end of the slice, where J(1) is the cost of the optimal decision for the last macroblock in the slice given optimal decisions up to that point, J(2) is the cost of the optimal decision in the last two macroblocks of the slice and so on.
- m is the number of the macroblock
- n is the distance from the end of the slice
- m (number of macroblocks in slice + 1 - n) as shown in Figure 4.
- MPEG defines that vectors giving accuracy of prediction to within half a pixel may be used.
- the vector search is done in two phases. First, the best matching integer vector is found by making comparisons between the current source picture and the reference picture (either the original uncoded picture or the decoded version). The second stage is to examine the eight neighbouring half-pixel vector locations around the integer pixel match to find the best half-pixel accurate vector.
- the first phase finds a set of N candidate integer pixels with the lowest displaced frame (field) difference.
- a list of half-pixel candidates is drawn up based on the eight neighbours of each integer pixel candidate. Duplicate half-pixel vectors are eliminated from this list (duplicates can arise where neighbouring integer pixels both define the same half-pixel vector).
- the displaced frame difference dfd for each half-pixel vector in the candidate list is calculated using the current source frame and the decoded and reconstructed reference frames.
- the dynamic program is run to find the best set of macroblock vectors for each slice.
- This procedure is run independently of each set of the vectors (that is the forwards frame- based vectors, forwards field-based vectors, backwards frame-based vectors and backwards field-based vectors) although, as mentioned above, independent runs may occur synchronously.
- the bit ⁇ rate for coding the vectors should also take into account the macroblock type (coding mode) decision although the improvements in image quality will generally be at the expense of system complexity.
- vector information will be needed before the macroblock type decision is made.
- a two-pass procedure may be used with the first pass finding provisional vectors and making macroblock type decisions, and the second pass using the macroblock type decisions find the optimal set of vectors and, optionally, refining the macroblock type decisions.
- a preferred option is to make the macroblock type decisions jointly with i s the vector decisions in a larger decision making process (i.e applying cost function optimisation to each), although this may have penalties in terms of complexity.
- the optimisation of macroblock type/coding mode works in the manner previously described for the motion vector search procedure.
- the cost function in the form of d d.exp (rate/constant) is calculated for each vector and
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP96929478A EP0801867B1 (en) | 1995-09-29 | 1996-09-20 | Motion estimation for predictive image coding |
| JP9514094A JPH10510132A (ja) | 1995-09-29 | 1996-09-20 | 予測画像符号化の動き評価 |
| DE69618171T DE69618171T2 (de) | 1995-09-29 | 1996-09-20 | Bewegungsschätzung für prädiktive bildkodierung |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9519923.8 | 1995-09-29 | ||
| GBGB9519923.8A GB9519923D0 (en) | 1995-09-29 | 1995-09-29 | Motion estimation for predictive image coding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO1997013374A1 true WO1997013374A1 (en) | 1997-04-10 |
Family
ID=10781510
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB1996/000970 Ceased WO1997013374A1 (en) | 1995-09-29 | 1996-09-20 | Motion estimation for predictive image coding |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5818536A (enExample) |
| EP (1) | EP0801867B1 (enExample) |
| JP (1) | JPH10510132A (enExample) |
| DE (1) | DE69618171T2 (enExample) |
| GB (1) | GB9519923D0 (enExample) |
| WO (1) | WO1997013374A1 (enExample) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1515563A3 (en) * | 2003-08-14 | 2009-11-04 | Corel Inc. | Systems and methods for selecting a macroblock mode in a video encoder |
| US8938009B2 (en) | 2007-10-12 | 2015-01-20 | Qualcomm Incorporated | Layered encoded bitstream structure |
| RU2547240C1 (ru) * | 2011-03-21 | 2015-04-10 | Квэлкомм Инкорпорейтед | Двойной предсказывающий режим слияния, основанный на одинарных предсказывающих соседях, в кодировании видео |
| US9386316B2 (en) | 2007-10-12 | 2016-07-05 | Qualcomm Incorporated | Adaptive coding of video block header information |
Families Citing this family (66)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2897763B2 (ja) * | 1997-07-28 | 1999-05-31 | 日本ビクター株式会社 | 動き補償符号化装置、復号化装置、符号化方法及び復号化方法 |
| KR100249223B1 (ko) * | 1997-09-12 | 2000-03-15 | 구자홍 | 엠팩(mpeg)-4의움직임벡터코딩방법 |
| KR100582856B1 (ko) * | 1997-09-23 | 2006-05-24 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 움직임 추정 및 움직임 보상된 보간법 |
| US6037987A (en) * | 1997-12-31 | 2000-03-14 | Sarnoff Corporation | Apparatus and method for selecting a rate and distortion based coding mode for a coding system |
| EP0994627B1 (en) * | 1998-10-13 | 2006-03-08 | Matsushita Electric Industrial Co., Ltd. | Regulation of the computational and memory requirements of a compressed bitstream in a video decoder |
| EP1057343A1 (en) * | 1998-12-29 | 2000-12-06 | Koninklijke Philips Electronics N.V. | Method and device for encoding a video signal |
| US6735249B1 (en) * | 1999-08-11 | 2004-05-11 | Nokia Corporation | Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding |
| US7295614B1 (en) * | 2000-09-08 | 2007-11-13 | Cisco Technology, Inc. | Methods and apparatus for encoding a video signal |
| US20030072368A1 (en) * | 2001-10-15 | 2003-04-17 | Chan Joseph C. | Selectively protecting motion information of multimedia data |
| US7460722B2 (en) * | 2002-01-11 | 2008-12-02 | Canon Kabushiki Kaisha | Encoding of digital data with determination of sample path |
| KR100457517B1 (ko) * | 2002-02-19 | 2004-11-17 | 삼성전자주식회사 | 프레임 레이트 변환장치 및 그 방법 |
| US7305032B2 (en) * | 2002-08-02 | 2007-12-04 | Kddi Corporation | Image matching device and method for motion pictures |
| US8824553B2 (en) | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
| CN100542287C (zh) * | 2003-06-27 | 2009-09-16 | Nxp股份有限公司 | 用于手持设备的编码的方法 |
| JP4891234B2 (ja) * | 2004-06-23 | 2012-03-07 | エージェンシー フォー サイエンス, テクノロジー アンド リサーチ | グリッド動き推定/補償を用いたスケーラブルビデオ符号化 |
| US7953152B1 (en) | 2004-06-28 | 2011-05-31 | Google Inc. | Video compression and encoding method |
| US20060120612A1 (en) * | 2004-12-08 | 2006-06-08 | Sharath Manjunath | Motion estimation techniques for video encoding |
| US20070064805A1 (en) * | 2005-09-16 | 2007-03-22 | Sony Corporation | Motion vector selection |
| US7620108B2 (en) * | 2005-09-16 | 2009-11-17 | Sony Corporation | Integrated spatial-temporal prediction |
| US7596243B2 (en) * | 2005-09-16 | 2009-09-29 | Sony Corporation | Extracting a moving object boundary |
| US8761259B2 (en) | 2005-09-22 | 2014-06-24 | Qualcomm Incorporated | Multi-dimensional neighboring block prediction for video encoding |
| US8358693B2 (en) | 2006-07-14 | 2013-01-22 | Microsoft Corporation | Encoding visual data with computation scheduling and allocation |
| US8311102B2 (en) * | 2006-07-26 | 2012-11-13 | Microsoft Corporation | Bitstream switching in multiple bit-rate video streaming environments |
| US8340193B2 (en) * | 2006-08-04 | 2012-12-25 | Microsoft Corporation | Wyner-Ziv and wavelet video coding |
| US7388521B2 (en) * | 2006-10-02 | 2008-06-17 | Microsoft Corporation | Request bits estimation for a Wyner-Ziv codec |
| US8340192B2 (en) * | 2007-05-25 | 2012-12-25 | Microsoft Corporation | Wyner-Ziv coding with multiple side information |
| US8432970B1 (en) * | 2007-12-14 | 2013-04-30 | Marvell International Ltd. | Block type selection |
| FR2925819A1 (fr) * | 2007-12-21 | 2009-06-26 | Thomson Licensing Sas | Procede de codage double passe par macrobloc |
| US20090168871A1 (en) * | 2007-12-31 | 2009-07-02 | Ning Lu | Video motion estimation |
| US8175160B1 (en) * | 2008-06-09 | 2012-05-08 | Nvidia Corporation | System, method, and computer program product for refining motion vectors |
| US8326075B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video encoding using adaptive loop filter |
| US8325796B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
| US8385404B2 (en) | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
| KR20110017302A (ko) * | 2009-08-13 | 2011-02-21 | 삼성전자주식회사 | 움직임 벡터의 정확도 조절을 이용한 영상 부호화, 복호화 방법 및 장치 |
| TWI566586B (zh) | 2009-10-20 | 2017-01-11 | 湯姆生特許公司 | 一序列形象的現時區塊之寫碼方法和重建方法 |
| US20110268365A1 (en) * | 2010-04-30 | 2011-11-03 | Acer Incorporated | 3d hand posture recognition system and vision based hand posture recognition method thereof |
| WO2012048055A1 (en) | 2010-10-05 | 2012-04-12 | General Instrument Corporation | Coding and decoding utilizing adaptive context model selection with zigzag scan |
| US8938001B1 (en) | 2011-04-05 | 2015-01-20 | Google Inc. | Apparatus and method for coding using combinations |
| US8638854B1 (en) | 2011-04-07 | 2014-01-28 | Google Inc. | Apparatus and method for creating an alternate reference frame for video compression using maximal differences |
| US8781004B1 (en) | 2011-04-07 | 2014-07-15 | Google Inc. | System and method for encoding video using variable loop filter |
| US8780996B2 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method for encoding and decoding video data |
| US8780971B1 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method of encoding using selectable loop filters |
| US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
| US8891616B1 (en) | 2011-07-27 | 2014-11-18 | Google Inc. | Method and apparatus for entropy encoding based on encoding cost |
| US8885706B2 (en) | 2011-09-16 | 2014-11-11 | Google Inc. | Apparatus and methodology for a video codec system with noise reduction capability |
| WO2013069975A1 (ko) * | 2011-11-08 | 2013-05-16 | 주식회사 케이티 | 예측 단위의 파티션 모드에 기초한 계수 스캔 방법 및 장치 |
| US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
| US9262670B2 (en) | 2012-02-10 | 2016-02-16 | Google Inc. | Adaptive region of interest |
| US9131073B1 (en) | 2012-03-02 | 2015-09-08 | Google Inc. | Motion estimation aided noise reduction |
| US11039138B1 (en) | 2012-03-08 | 2021-06-15 | Google Llc | Adaptive coding of prediction modes using probability distributions |
| US9609341B1 (en) | 2012-04-23 | 2017-03-28 | Google Inc. | Video data encoding and decoding using reference picture lists |
| EP2842337B1 (en) | 2012-04-23 | 2019-03-13 | Google LLC | Managing multi-reference picture buffers for video data coding |
| US9014266B1 (en) | 2012-06-05 | 2015-04-21 | Google Inc. | Decimated sliding windows for multi-reference prediction in video coding |
| US8819525B1 (en) | 2012-06-14 | 2014-08-26 | Google Inc. | Error concealment guided robustness |
| US9774856B1 (en) | 2012-07-02 | 2017-09-26 | Google Inc. | Adaptive stochastic entropy coding |
| US9344729B1 (en) | 2012-07-11 | 2016-05-17 | Google Inc. | Selective prediction signal filtering |
| US9509998B1 (en) | 2013-04-04 | 2016-11-29 | Google Inc. | Conditional predictive multi-symbol run-length coding |
| US9756331B1 (en) | 2013-06-17 | 2017-09-05 | Google Inc. | Advance coded reference prediction |
| US9392288B2 (en) | 2013-10-17 | 2016-07-12 | Google Inc. | Video coding using scatter-based scan tables |
| US9179151B2 (en) | 2013-10-18 | 2015-11-03 | Google Inc. | Spatial proximity context entropy coding |
| US10009626B2 (en) | 2014-01-29 | 2018-06-26 | Ecole De Technologie Superieure | Method and system for rate-constrained search ordering |
| US10102613B2 (en) | 2014-09-25 | 2018-10-16 | Google Llc | Frequency-domain denoising |
| EP3225026A4 (en) * | 2015-07-31 | 2017-12-13 | SZ DJI Technology Co., Ltd. | Method of sensor-assisted rate control |
| GB2544083B (en) * | 2015-11-05 | 2020-05-20 | Advanced Risc Mach Ltd | Data stream assembly control |
| US10007519B2 (en) | 2015-12-22 | 2018-06-26 | Intel IP Corporation | Instructions and logic for vector bit field compression and expansion |
| CA2986600A1 (en) * | 2016-11-24 | 2018-05-24 | Ecole De Technologie Superieure | Method and system for parallel rate-constrained motion estimation in video coding |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0535746A2 (en) * | 1991-09-30 | 1993-04-07 | Philips Electronics Uk Limited | Motion vector estimation, motion picture encoding and storage |
| EP0540961A2 (en) * | 1991-11-08 | 1993-05-12 | International Business Machines Corporation | A motion video compression system with adaptive bit allocation and quantization |
| FR2712449A1 (fr) * | 1993-11-12 | 1995-05-19 | Kokusai Denshin Denwa Co Ltd | Codeur d'image en mouvement. |
| EP0673171A2 (en) * | 1994-03-17 | 1995-09-20 | International Business Machines Corporation | Video decoder |
| WO1996017479A1 (en) * | 1994-11-30 | 1996-06-06 | National Semiconductor Corporation | Motion estimation using minimum bit rate criterion |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2651405B1 (fr) * | 1989-08-29 | 1992-05-22 | Philips Electronique Lab | Procede et dispositif de traitement d'images a estimation de mouvement amelioree. |
| DE69417832T2 (de) * | 1993-09-28 | 1999-08-12 | Hewlett-Packard Co., Palo Alto, Calif. | Digitale Halbtonrasterwiedergabe eines Grautonbildes mit frequenzabhängiger diagonaler Korrelation |
| US5654759A (en) * | 1995-02-15 | 1997-08-05 | Hitachi America Ltd. | Methods and apparatus for reducing blockiness in decoded video |
-
1995
- 1995-09-29 GB GBGB9519923.8A patent/GB9519923D0/en active Pending
-
1996
- 1996-09-20 EP EP96929478A patent/EP0801867B1/en not_active Expired - Lifetime
- 1996-09-20 JP JP9514094A patent/JPH10510132A/ja not_active Ceased
- 1996-09-20 WO PCT/IB1996/000970 patent/WO1997013374A1/en not_active Ceased
- 1996-09-20 DE DE69618171T patent/DE69618171T2/de not_active Expired - Fee Related
- 1996-09-27 US US08/721,915 patent/US5818536A/en not_active Expired - Lifetime
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0535746A2 (en) * | 1991-09-30 | 1993-04-07 | Philips Electronics Uk Limited | Motion vector estimation, motion picture encoding and storage |
| EP0540961A2 (en) * | 1991-11-08 | 1993-05-12 | International Business Machines Corporation | A motion video compression system with adaptive bit allocation and quantization |
| FR2712449A1 (fr) * | 1993-11-12 | 1995-05-19 | Kokusai Denshin Denwa Co Ltd | Codeur d'image en mouvement. |
| EP0673171A2 (en) * | 1994-03-17 | 1995-09-20 | International Business Machines Corporation | Video decoder |
| WO1996017479A1 (en) * | 1994-11-30 | 1996-06-06 | National Semiconductor Corporation | Motion estimation using minimum bit rate criterion |
Non-Patent Citations (2)
| Title |
|---|
| PAPADIMITRIOU and STEIGLITZ, "Combinatorial Optimization Algorithms and Complexity", 1982, PRENTICE-HALL, pages 448-451. * |
| PROCEEDINGS OF THE SPIE-THE INTERNATIONAL SOCIETY FOR OPTICAL ..., Volume 2308, No. 2, 1994, (USA), BERND GIROD, "Rate-Constrained Motion Estimation", pages 1026-1034. * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1515563A3 (en) * | 2003-08-14 | 2009-11-04 | Corel Inc. | Systems and methods for selecting a macroblock mode in a video encoder |
| US8938009B2 (en) | 2007-10-12 | 2015-01-20 | Qualcomm Incorporated | Layered encoded bitstream structure |
| US9386316B2 (en) | 2007-10-12 | 2016-07-05 | Qualcomm Incorporated | Adaptive coding of video block header information |
| RU2547240C1 (ru) * | 2011-03-21 | 2015-04-10 | Квэлкомм Инкорпорейтед | Двойной предсказывающий режим слияния, основанный на одинарных предсказывающих соседях, в кодировании видео |
Also Published As
| Publication number | Publication date |
|---|---|
| DE69618171D1 (de) | 2002-01-31 |
| EP0801867B1 (en) | 2001-12-19 |
| US5818536A (en) | 1998-10-06 |
| JPH10510132A (ja) | 1998-09-29 |
| EP0801867A1 (en) | 1997-10-22 |
| DE69618171T2 (de) | 2002-08-29 |
| GB9519923D0 (en) | 1995-11-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5818536A (en) | Motion vector selection using a cost function relating accuracy to bit rate | |
| US6084912A (en) | Very low bit rate video coding/decoding method and apparatus | |
| US5786856A (en) | Method for adaptive quantization by multiplication of luminance pixel blocks by a modified, frequency ordered hadamard matrix | |
| US5500678A (en) | Optimized scanning of transform coefficients in video coding | |
| US5438374A (en) | System and method for filtering video signals | |
| EP0871336B1 (en) | Image predictive coding and decoding method and apparatus | |
| US4816914A (en) | Method and apparatus for efficiently encoding and decoding image sequences | |
| US6023296A (en) | Apparatus and method for object based rate control in a coding system | |
| CN100362863C (zh) | 在视频编码器中选择宏块量化参数的方法和装置 | |
| US5991453A (en) | Method of coding/decoding image information | |
| EP1059812B1 (en) | Methods and apparatus for context-based inter/intra coding mode selection | |
| EP0615386B1 (en) | A motion vector processor for compressing video signal | |
| US5563593A (en) | Video coding with optimized low complexity variable length codes | |
| US20070025628A1 (en) | Image encoding method and image encoder, image decoding method and image decoder, and image processing system | |
| US20060153294A1 (en) | Inter-layer coefficient coding for scalable video coding | |
| KR20010021879A (ko) | 코딩 시스템의 매크로 블록 기반 비율을 제어하기 위한장치 및 방법 | |
| US6339617B1 (en) | Moving picture compressing apparatus and moving picture compressing method | |
| KR19990067723A (ko) | 비디오 프레임 시퀀스의 인코딩 방법 및 시스템과, 제조 물품 | |
| JPH0955945A (ja) | 動きベクトル特定方法及び装置 | |
| US6360014B1 (en) | Image decoding method, image decoding apparatus, and data recording medium | |
| US5920359A (en) | Video encoding method, system and computer program product for optimizing center of picture quality | |
| JP4632049B2 (ja) | 動画像符号化方法及び装置 | |
| KR100238622B1 (ko) | 새로운 적응형 양자화기를 이용한 동영상 압축 시스템 및 방법 | |
| US6480544B1 (en) | Encoding apparatus and encoding method | |
| KR100384327B1 (ko) | 블록-기반코딩시스템에서코딩모드를선택하기위한방법및장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1996929478 Country of ref document: EP |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWP | Wipo information: published in national office |
Ref document number: 1996929478 Country of ref document: EP |
|
| WWG | Wipo information: grant in national office |
Ref document number: 1996929478 Country of ref document: EP |