WO2006096612A2 - System and method for motion estimation and mode decision for low-complexity h.264 decoder - Google Patents

System and method for motion estimation and mode decision for low-complexity h.264 decoder Download PDF

Info

Publication number
WO2006096612A2
WO2006096612A2 PCT/US2006/007862 US2006007862W WO2006096612A2 WO 2006096612 A2 WO2006096612 A2 WO 2006096612A2 US 2006007862 W US2006007862 W US 2006007862W WO 2006096612 A2 WO2006096612 A2 WO 2006096612A2
Authority
WO
WIPO (PCT)
Prior art keywords
complexity
block
accordance
motion
video data
Prior art date
Application number
PCT/US2006/007862
Other languages
French (fr)
Other versions
WO2006096612A3 (en
Inventor
Yong Wang
Shih-Fu Chang
Original Assignee
The Trustees Of Columbia University In The City Of New York
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 The Trustees Of Columbia University In The City Of New York filed Critical The Trustees Of Columbia University In The City Of New York
Publication of WO2006096612A2 publication Critical patent/WO2006096612A2/en
Publication of WO2006096612A3 publication Critical patent/WO2006096612A3/en
Priority to US11/846,088 priority Critical patent/US9060175B2/en
Priority to US14/708,820 priority patent/US20150245033A1/en

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/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/103Selection of coding mode or of prediction mode
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving 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/189Methods 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/19Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on 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/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

Definitions

  • the present invention relates to systems and methods for motion estimation and mode decision for low-complexity H.264 standard encoders/decoders.
  • Equation (1) does not explicitly model this required complexity in video encoding or decoding. As a matter of fact, many recent advances in coding efficiency are accomplished by using increasingly complex computational modules. Methods for reducing computational complexity in the prior art include
  • ARMS and National Semiconductor develop a systematic approach called PowerWise technology, which can efficiently reduce the power consumption of mobile multimedia applications through adaptive voltage scaling (AVS).
  • AVS adaptive voltage scaling
  • Zhou et al. implements an H.264 decoder based on Intel's single-instruction-multiple-data (SIMD) architecture that reduces the decoding complexity and improved the H.264 decoding speed by up to three times.
  • SIMD single-instruction-multiple-data
  • Ray and Radha propose a method to reduce the decoding complexity by selectively replacing the I-B-P Group of Pictures (GOP) structure with one using I-P only.
  • GOP Group of Pictures
  • Lengwehasatit and Ortega developed a method to reduce the decoding complexity by optimizing the Inverse DCT implementation.
  • Girod et al propose a distributed video coding system which transfers the motion estimation process from the encoder to the decoder so that the encoding complexity can be greatly reduced.
  • each component of a video decoding system varies. Some are relatively constant and independent of the encoded data while others heavily depend on the coding results. For example, the components of inverse quantization and inverse transform have nearly fixed computational cost per coding unit while the motion compensation component has variable complexity depending on the block mode and the type of motion vector. Furthermore, the decoder complexity is dominated by the interpolation filtering process used in motion compensation if the motion vectors are sub-pixel. Other parts of the decoding system, like entropy decoding and inverse transform, do not incur significant computational cost when compared to the interpolation process.
  • motion estimation is usually the most computationally complex process since it involves searching over a large range of possible reference locations, each of which may require interpolation filtering.
  • the interpolation procedure used in the motion compensation component consumes the most computational resources (about 50%) due to the use of sub-pixel motion vectors. Accordingly, one way to increase power consumption efficiency in video decoding would be to reduce the major computational cost of the motion compensation interpolation procedure.
  • the objects of the present invention may be met with a novel system and method for optimizing the selection of the motion vectors and motion compensation block modes in video decoding to reduce the computational cost of decoding while maintaining the desired video quality.
  • the present invention meets needs in the prior art by providing a system and method for optimizing a video encoder, including the steps of receiving an input video data sequence which includes at least one macroblock, identifying a target complexity level for the video data sequence, determining a Lagrange multiplier for the video data sequence, for each macroblock, calculating at least one motion vector for each block mode based on the determined Lagrange multiplier, for each at least one macroblock, selecting one of the block modes based on the determined Lagrange multiplier, and applying a complexity-control algorithm to encode the received input video data sequence in accordance with the identified target complexity level while maintaining a consistent complexity throughout decoding of the input video data sequence.
  • the present invention provides a system and method for optimizing a video encoder, including the steps of receiving an input video data sequence including one or more macroblocks, for each macroblock, enumerating at least one inter-predictive block mode whose one or more motion vectors are to be calculated based on motion estimation, for each block of each enumerated block mode, selecting the one or more motion vectors that yield minimum rate-distortion-complexity, and storing the selected one or more motion vectors for each block of each enumerated block mode.
  • the present invention provides a system and method for optimizing a video encoder, including the steps of receiving an input video data sequence including one or more macroblocks, identifying one or more possible block modes for each macroblock, retrieving one or more selected motion vectors for each block mode, using the selected motion vectors, calculating the rate-distortion-complexity cost for each block mode, selecting, for each macroblock, a block mode that yields a minimum rate-distortion-complexity cost function, and storing at least one of the selected block modes for further processing.
  • Fig. 1 is a conceptual diagram of an exemplary video coding system
  • Fig. 2 is an exemplary diagram showing sub-pixel locations within a macroblock for exemplary purposes
  • Fig. 3 is a flow chart describing the steps of a method in accordance with an exemplary embodiment of the present invention
  • Fig. 4 is a flow chart describing the steps of a method in accordance with an exemplary embodiment of the present invention
  • Fig. 5 is a flow chart describing the steps of a method in accordance with an exemplary embodiment of the present invention.
  • the present invention relates to an important aspect of the complexity minimization problem in video decoding - i.e., developing an encoding algorithm that achieves both high video quality and low decoding complexity while satisfying the bit rate constraint.
  • the object is to reduce the complexity requirement of emerging video codecs, such as H.264, particularly on resource-limited devices such as handheld devices.
  • the present invention is different from the approaches described above in that the present invention modifies the video encoding algorithm to minimize the required complexity at the decoder, not the encoder.
  • the approach does not require substantial modification to existing decoder implementations.
  • the present invention may be implemented such that it modifies the non-normative parts of, e.g., the H.264 encoding algorithm, such that it is compatible with standards-compliant decoders.
  • the present invention is not limited to H.264, but may be implemented in accordance with any video encoding/decoding system, including systems operating in accordance with the MPEG-4 standard, the Motion Compensated Embedded Zero Block Coding ("MC-EZBC”) standard, and others.
  • MC-EZBC Motion Compensated Embedded Zero Block Coding
  • the exemplary system as described herein below may be implemented in accordance with the H.264 protocol.
  • the present invention is not limited to H.264, but may be implemented in accordance with any video encoding/decoding system, including systems operating in accordance with the MPEG-4 standard and the Motion Compensated Embedded Zero Block Coding ("MC-EZBC") standard.
  • MC-EZBC Motion Compensated Embedded Zero Block Coding
  • Equation (2) generally determines the best control variables, P, for each coding unit. Similar to the case for Equation (1), the control variables include quantization parameter, block mode of the motion compensation process, and the associated motion vectors.
  • Motion vectors can be of integer or fractional values corresponding to a displacement distance of integral pixels or fractional pixels.
  • multi-tap filtering is required to compute interpolation to form a reference block that is needed in the motion compensation process in the decoder.
  • interpolation filtering involves huge computational cost and typically significantly increases the overall decoding complexity (the interpolation component constitutes about 50% of the decoding complexity).
  • the decoding process is typically a significant one. Therefore improving the cost associated with the interpolation process is important for implementing a low-power decoding system, either in hardware or software.
  • the conventional rate-distortion framework is extended based on the Lagrange optimization method to incorporate the computational complexity.
  • models are used to approximate the implementation cost involved in the interpolation filtering process.
  • the rate control algorithm may be extended to handle the joint rate- complexity control issue so that both the targets of rate and complexity can be met.
  • This optimization method intelligently selects the block mode and motion vector type of each coding unit to achieve the highest video quality.
  • FIG. 1 an exemplary diagram for a typical hybrid motion compensation and block-transform video coding system is shown.
  • the interior box components 10 include the decoding portion (which typically is also simulated in the encoder system for rate control purpose). Additional components of a companion encoder system are shown in exterior box components 20.
  • the present invention focuses generally on improvements in the motion compensation functions 30 by way of the motion estimation and mode decision functions 40.
  • the basic decoding unit in a video decoder is a macroblock (MB), which is an array of spatially-adjacent pixels in a video sequence.
  • MB macroblock
  • Fig. 2 is a diagram showing sub-pixel locations within a macroblock.
  • the encoded bit stream may first undergo entropy decoding to obtain the syntax bits (this step is not shown in the figure, but would be known to one of ordinary skill in the art), motion vector V , and quantized coefficients d ⁇ (t) , where t is the time index of the image frame.
  • Typical entropy codecs include variable length coding (VLC) and adaptive arithmetical coding (AAC).
  • Inverse quantization is then employed to obtain the transform coefficient d ⁇ (t) , which is further fed to an inverse transform module to reconstruct the pixel value or prediction error d(t) , depending on whether intro- or inter-coded mode is utilized during encoding.
  • motion compensation is applied to generate the reference image P R (0 using motion vector V and previously decoded and buffered reference image P(t - ⁇ ) .
  • Motion compensation refers to the process of compensating the image displacement due to motion across frames.
  • interpolation is needed to compute the reference image.
  • the prediction error d(t) and the reference image P R (t) the decoded image of the current frame is output.
  • the basic concept of motion estimation is to search for an optimal block with similar values in previous coded frames as the reference signal for the block in current frame so that the encoding cost can be minimized.
  • the optimal reference signal position is indicated by the displacement vector, called a motion vector.
  • Motion estimation applies the basic idea of inter-frame predictive coding.
  • multiple reference signals are used to form motion estimation, for example in bi-directional inter-frame prediction.
  • Motion vectors are entropy encoded in a differential and predictive manner. ⁇ See T. Wiegand, G. J. Sullivan, G. Bjontegaard, A. Luthra, "Overview of the H.264/AVC Video Coding Standard,” IEEE Trans. Circuits Syst. Video Technol., vol 13, ⁇ p.560-576. JuI. 2003, which is incorporated herein by reference).
  • motion compensation is the procedure by which the decoder extracts a reference signal from the location indicated by the motion vector.
  • interpolation is a widely adopted technique used to improve the compensation precision when the motion vector has a sub-pixel value.
  • the effectiveness of the sub-pixel motion compensation has been verified in H.263 and subsequent coding standards, at the cost of increasing complexity. Therefore reducing the motion compensation complexity is the most important target for improvement.
  • H.264 uses up to quarter pixel precision during interpolation. ⁇ See T.
  • H.264 defines a diverse set of block mode options. Besides the conventional modes (intra, forward, backward and bi-directional), two new important modes are introduced: variable block size and SKIP/DIRECT.
  • H.264 allows for partitioning of an
  • An MB into several blocks with variable block size, ranging from 16 pixels to 4 pixels in each dimension.
  • An MB can comprise up to 16 blocks.
  • Each block with reduced size can have individual motion vectors to estimate the local motion at a finer granularity.
  • the SKIP/DIRECT mode is utilized for the P/B frame in H.264 motion compensation to further increase the coding efficiency.
  • the spatial/temporal neighbor motion vectors are used to predict the motion vector of the current block, without sending extra bits to encode the current motion vector. Details regarding the SKIP/DIRECT modes can be found in the Wiegand et al and Tourapis et al. references, cited and incorporated by reference hereinabove.
  • both the variable- size block mode and the SKIP/DIRECT mode may be considered during the search process.
  • the selection of block mode has a direct and substantial impact on the decoder computational complexity, because it determines what kind of motion vectors are recorded in the bit stream.
  • Optimal selection of the block mode and the associated motion vectors are important problems addressed by the present invention. These steps are discussed in greater detail hereinafter.
  • conventional video coding systems generally encode a video bit stream by solving the optimization problem defined in Equation (1).
  • the main control variables P involved in this procedure include motion vector V , block mode M and quantization parameter QP . There is complex interaction between the choices of these variables and thus the optimal solution is difficult to achieve.
  • the motion vector associated with the block is selected through a rate-distortion joint cost function:
  • V * (B,M) argmin ⁇ Dro (V
  • V * is the optimal motion vector
  • su ⁇ V ⁇ defines the search space, whose dimensions include the prediction direction, the reference frame list and the search range.
  • R MOTION is me estimated bit rate to record the motion vector.
  • D DPD represents the prediction error between the current block and the reference block.
  • SAD sum of absolute difference
  • SSD sum of squared difference
  • J ' y£ TI0N (V) is the rate-distortion joint cost comprising of Ryono N m d D DFD - ⁇ - MOTION is me Lagrange multiplier to control the weight of the bit rate cost, relative to the signal distortion caused by the prediction error.
  • M * ⁇ MB, QP) ⁇ argmin QP) arg min ⁇ D REC (M ⁇ MB, QP) + A MOUE R RBC (M (4)
  • M * is the optimal block mode
  • sup ⁇ M ⁇ is the set of block mode options (such as INTRA, SKIP, DIRECT, FORWARD, BACKWARD, BIDIRECTION, etc).
  • D 1 ⁇ 0 is the SSD between the current MB and the reconstructed one through motion compensation.
  • R mc is the estimated bit rate associated with mode M.
  • J ⁇ D ⁇ (Af) is the joint cost comprising of rate R M and distortion D M
  • ⁇ uom is the Lagrange multiplier.
  • the motion vectors associated with the optimal block mode V * (B, M * ⁇ will be the final coded data recorded in the bit stream.
  • the Lagrange multipliers used in the above two cost functions determine the relative weights between signal quality and bit rate.
  • an empirically derived relationship as the following is typically used in practice in the prior art.
  • the square root relationship is partly due to the fact that
  • SAD is used in modeling D DFD while SSD is used for D ⁇ 0 .
  • Rate control is the procedure of adjusting control variables so that the target rate requirement can be achieved while optimizing the overall video quality.
  • the average allocated bit rate may be computed for each basic coding unit.
  • the Lagrange optimization method may be used to find the optimal set of control variables.
  • searching over the entire variable space is very complex.
  • most implementations use empirical models to restrict the search space. For example, a popular method, called rate-quantization modeling, maps the target bit rate to the quantization parameter, from which the Lagrange multipliers are decided.
  • buffer management since coding of a data unit may not result in a bit rate that exactly matches the target, a separate process, called buffer management, may be used to monitor the available bit rate budget for the remaining data units and thus update the allocated recourse. A brief discussion of these processes is provided below.
  • a rate-Quantization (RQ) model describes the relationship between QP and the bit rate.
  • RQ rate-Quantization
  • a typical RQ modeling procedure involves two major steps: model estimation and QP prediction. First several basic coding units are coded using some preset QP values. The coding units may include a certain number of MBs or one whole frame. The resulting rate-quantization-distortion (R-Q- D) points are collected. The model in Equation (6) is then estimated based on the observations. The estimated model can then be used to determine the QP value for the next coding unit based on the target bit rate R 1 and source complexity D 1 for the new unit.
  • R-Q- D rate-quantization-distortion
  • the former is determined by the buffer management process to be described below, and the latter is predicted using previous observations of the source complexity. Usually the source complexity is assumed to vary gradually and can be estimated using some simple relationship such as a linear model.
  • new observations of the R-Q-D points are collected and used to update the estimation of the RQ model in a sliding window manner. Namely, the oldest R-Q-D point is purged and the latest point is added to update the model.
  • the buffer management employs a virtual buffer to simulate the behavior of the data buffer on the decoder side. It is an important component in rate control in order to adjust the target bit rate for each coding unit and avoid the problem of buffer overflow or underflow.
  • the average bit rate allocation for each Group of Pictures can be computed, and the allocated bit rate, R, , for a new frame to be coded (such as P frame) can be determined by monitoring the actual number of bits spent on the previous frames,
  • the present invention is an improvement on the above procedures and provides a new system and method for complexity-adaptive motion estimation and mode decision ("CAMED").
  • CAMED complexity-adaptive motion estimation and mode decision
  • the tradeoff between video quality and resource consumption may be considered to approximate the optimal motion vectors and block mode used in the motion compensation process in the decoder, thereby reducing decoding complexity and power consumption.
  • a system and method of the present invention may consist of several sub-components: a rate-distortion-complexity ("R-D-C") joint optimization framework, a complexity cost function, and a complexity control algorithm.
  • the R- D-C framework extends the previously discussed Lagrange optimization framework to incorporate the complexity term.
  • the complexity cost function provides quantitative measurements of the required computation for each motion vector type.
  • the complexity control algorithm is used to control the complexity over different coding units to meet the overall target complexity.
  • the present invention provides a solution to the problem defined in Equation (2), with an explicit Lagrange term to model the complexity cost. Therefore, in accordance with an exemplary embodiment of the present invention, the motion vectors may be selected through a rate-distortion-complexity joint cost function as follows:
  • Vc(B 1 M) argmin ⁇ j ⁇ , ⁇ N (8) Vesup ⁇ V) v
  • C M0Tl0N is the complexity cost function associated with the selected motion vector > Y MOTION * S the Lagrange multiplier for the complexity term, J MOTION W) * s the rate-distortion joint cost function defined in Equation (3), and J MOTION W) ⁇ s me rate-distortion-complexity joint cost function.
  • the block mode search process of the present invention may be performed according to the following.
  • C M0DE is the complexity cost function associated with the block mode
  • J MODE W) is the rate-distortion-complexity joint cost function.
  • Equations (8) and (9) are identical with the ones in Equations (3) and (4), namely no consideration is given to the complexity constraint and many motion vectors may be of sub-pixel values in order to minimize the distortion.
  • Y MO DE
  • all motion vectors are forced to integer pixel locations in order to minimize the complexity involved in interpolation for sub-pixel locations.
  • a quantitative model may be used to estimate the complexity associated with each candidate motion vector and block mode.
  • the computational complexity is heavily influenced by the type of the motion vector (integer, half-pixel, or quarter-pixel) and the interpolation filters used in the motion compensation process. Focusing on the interpolation filtering cost, quantitative estimates of such complexities can be approximated by the number of filtering operations needed in interpolation, such as those listed in Table 1. For example, using the same 6-tap filter and 2-tap filter implementations, the complexity of each motion vector type is as follows.
  • V is integer MV ⁇ 6 V is subpixel b,h e 6 + e 2 V is subpixel a, c, d, n
  • c B (V) is the computational cost for the current coding block
  • V is the motion vector
  • c P (V) is the computational complexity required for calculating a reference pixel
  • N B is the number of pixels in the current coding block
  • ⁇ e 6 ,e 2 ⁇ are the estimated complexities for 6-tap and 2-tap interpolation respectively.
  • Equations (11) and (13) may be used to estimate the computational complexity based on the interpolation operation — these models provide platform- independent modeling.
  • the complexity cost may be derived from specific software or hardware implementations (platform-dependant modeling).
  • platform-dependent modeling in accordance with exemplary embodiments of the present invention.
  • Equation (11) and (13) are also considered to be pixel-based in that the complexity is calculated for each pixel independently without considering the reusability of previous calculated pixel (or sub pixel) values.
  • some interpolations can be saved by directly using previous computed results.
  • the following categories of sub pixels may be considered:
  • the topmost sub pixel requires full 7 6-tap interpolations.
  • block-based complexity may be modeled as (after value scaling):
  • V is subpixel a, b, c, d, h and n Cp(Y) - (14)
  • V is subpixel i, j, f, k, q
  • Equation (14) above can even be further fine tuned considering variable block size implementation during MC, in accordance with the lookup table below:
  • Table 2 Lookup table for complexity cost using variable block size MC implementation
  • each interpolation operation can be divided into a number of basic operators such as addition, shifts, and/or multiplications.
  • ⁇ e 6 ,e 2 ⁇ can be modeled with more detail, such as:
  • each block may be associated with multiple reference blocks, each of which needs a motion vector. For example, for bi-directional prediction, each block may need two motion vectors for forward and backward prediction respectively.
  • Each MB may consist of several smaller blocks, depending on the block mode, M
  • the overall computational cost associated with a MB and a block mode can be calculated as:
  • Equations (17) and (18) are generic and applicable to all inter-coded block modes, including foreword/backward/bi- directional motion compensation and SKIP/DIRECT.
  • Equations (8) and (9) use the Lagrange multiplier to formulate R-D-C combined optimization problems. Assuming that the selection of motion vector and block mode for a certain MB is independent of behaviors in other MBs (which is a reasonable approximation of the real case), at the optimal solution each MB will have the same Lagrange multiplier (y MOTION ⁇ Y MODE ) ⁇ This is an important property of the Lagrange multiplier. In other words, given a specific ⁇ M0DE and considering Equation (10), the bit stream with complexity C( ⁇ M0DE ) can be derived. This ⁇ M0DE is
  • the complexity level C( ⁇ M0DE ) associated with ⁇ uom cannot be known in advance unless the bit stream has been encoded. Therefore, the Lagrange multiplier has to be adjusted in order to match certain target complexity level. This procedure implemented in the context of the present invention is referred to as "complexity control.”
  • Complexity control is a process to allocate the complexity resource among the coding units and to determine parameters like Lagrange multiplier Y MO D E to be used in the optimization procedure.
  • the allocated bit rate is mapped to the quantization parameter, which in turn is used to find the Lagrange multiplier ⁇ M0DE .
  • two components of the complexity control algorithm are described - complexity modeling and buffer management. The former is used to characterize the relationship between the target complexity and the Lagrange multiplier 7 MODE • The latter is for monitoring the complexity usage and updating the available computational resource for each new data unit.
  • the Lagrange multiplier ⁇ /OOE (0 f° r me current coding unit t can be determined by the following:
  • C(t) is the allocated computational budget and D(t) is the predicted complexity measurement for unit t .
  • the change rate of ⁇ M0DK ( ⁇ may be bounded by some thresholds.
  • step 310 an input video data sequence is received.
  • step 320 a target complexity level for the video decoder is determined.
  • step 330 a Lagrange multiplier is determined.
  • step 340 for each macroblock, a motion vector is calculated for one or more of the H.264 block modes. This may preferably be performed for every block mode available in H.264 (or the applicable video standard).
  • step 350 for each macroblock, a best block mode is selected, based on the Lagrange multiplier.
  • step 360 a complexity-control algorithm, as described in detail above, is applied to encode the received input video data sequence in accordance with the identified target complexity level, such that, upon decoding, a consistent complexity level is maintained throughout decoding.
  • step 410 an input video data sequence comprising one or more macroblocks is received.
  • step 420 for each macroblock, at least one inter-predictive block mode is enumerated.
  • step 430 for each block of each enumerated block mode, one or more motion vectors that yields the minimum rate-distortion-complexity is selected.
  • step 440 the selected one or more motion vectors is stored.
  • Fig. 5 a flow chart for another method in accordance with the above-described present invention for selecting a block mode in an optimized video decoder is shown.
  • step 510 an input video data sequence is received.
  • step 520 one or more possible block modes for each macroblock is selected.
  • step 530 one or more motion vectors for each block mode is received.
  • a rate- distortion-complexity cost for each block mode is then calculated in step 540.
  • step 550 for each macroblock, a block mode is selected that yields a minimum rate- distortion-complexity cost function.
  • step 560 the selected block mode is stored for further processing.
  • a complexity buffer may also be implemented.
  • a complexity buffer is a virtual buffer used to simulate the complexity usage status on the decoder side.
  • the target complexity levels for P, B frame C P ,C B may be calculated using the following equations:
  • Equations (22) and (23) assume the basic coding unit as one frame. It can be easily extended to smaller units for a finer granularity.
  • the exemplary system as described herein is not limited to H.264, but may be implemented in accordance with any video encoding/decoding system, including systems operating in accordance with the MPEG-4 standard, the Motion Compensated Embedded Zero Block Coding ("MC- EZBC") standard, and others. Additionally, the present invention may be implemented using software, hardware, or some combination thereof, as would be understood by one of ordinary skill in the art. The scope of the invention is not limited to any particular implementation of the inventive system and method described herein.
  • ISCAS International Symposium on Circuits and Systems

Abstract

The present invention relates to systems and methods for motion estimation and mode decision for low-complexity H.264 standard decoders. The present invention includes a method for optimizing the selection of motion vectors and motion compensation block modules in a video encoder in order to decrease the complexity of the video upon decoding. The novel method of the present invention may include novel steps for selecting motion vectors, block modes, and for applying a complexity-control algorithm to encode the received input video data sequence in accordance with the identified target complexity level. The present invention may be implemented in accordance with current and future video decoding standards to optimize decoding by reducing decoding complexity and thereby reducing required resources and power consumption.

Description

SYSTEM AND METHOD FOR MOTION ESTIMATION AND MODE DECISION FOR LOW-COMPLEXITY H.264 DECODER
SPECIFICATION
CROSS-REFERENCE TO RELATED APPLICATIONS This application is based on United States provisional patent application serial no. 60/658,440, filed March 4, 2005, which is incorporated herein by reference for all purposes and from which priority is claimed.
BACKGROUND OF THE INVENTION
Technical Field. The present invention relates to systems and methods for motion estimation and mode decision for low-complexity H.264 standard encoders/decoders.
Background Art. Emerging video coding standards like H.264 achieve significant advances in improving video quality and reducing bandwidth, but generally at the cost of greatly increased computational complexity at both the encoder and the decoder. Playing encoded videos produced by such compression standards requires substantial computational resources and thus results in substantial power consumption. This may be a serious concern in power-sensitive applications, such as handheld devices and other devices used in mobile applications.
Many portable media application devices such as mobile handheld devices are becoming increasingly popular. The computational resources available on these handheld devices is becoming relatively scarce as applications of increasing complexity and number are operated by the devices. Accordingly, there is growing interest in complexity-aware/power-aware video coding solutions.
Most of today's video coding systems encode video bit streams to achieve the best video quality (e.g., the minimal signal distortion) while satisfying certain bitrate constraints. Specifically the following optimization problem formulation is often adopted: min £>(P) s.t.,R(¥) ≤ Rτ (1)
where P represents the control variables (CV) which eventually determine the final video quality and bit rate. Typical CVs include quantization parameter (QP), motion vector, motion estimation block mode, etc. D is the distortion introduced by the encoding process. R is the bit rate of the encoded video and Rτ is the target bit rate. The solution of the above problem aims at identifying the optimal control variables for each coding unit in order to minimize the average distortion while satisfying the bit rate constraint. Though in practice, some design choices for the control variables may be made based on real-world resource limitations (e.g., memory and computational complexity), Equation (1) does not explicitly model this required complexity in video encoding or decoding. As a matter of fact, many recent advances in coding efficiency are accomplished by using increasingly complex computational modules. Methods for reducing computational complexity in the prior art include
ARMS and National Semiconductor develop a systematic approach called PowerWise technology, which can efficiently reduce the power consumption of mobile multimedia applications through adaptive voltage scaling (AVS). (See National's PowerWise™ technology, described at http://www.national.com/appinfo/power/powerwise.html, which is fully incorporated herein by reference). Zhou et al. implements an H.264 decoder based on Intel's single-instruction-multiple-data (SIMD) architecture that reduces the decoding complexity and improved the H.264 decoding speed by up to three times. (See X. Zhou, E. Li, and Y.-K. Chen, "Implementation of H.264 Decoder on General-Purpose Processors with Media Instructions", in Proc, of SPIE Visual Communications and Image Processing, Jan. 2003, which is fully incorporated herein by reference). Ray and Radha propose a method to reduce the decoding complexity by selectively replacing the I-B-P Group of Pictures (GOP) structure with one using I-P only. (See A. Ray and H. Radha, "Complexity-Distortion Analysis of H.264/JVT Decoder on Mobile Devices," Picture Coding Symposium (PCS), December 2004, which is fully incorporated herein by reference). Lengwehasatit and Ortega developed a method to reduce the decoding complexity by optimizing the Inverse DCT implementation. (See K. Lengwehasatit and A. Ortega, " Rate Complexity Distortion Optimization for Quadtree-Based DCT Coding ",ICIP 2000, Vancouver,BC, Canada, September 2000, which is fully incorporated herein by reference). He et al optimizes the power-rate- distortion performance by constraining the sum of absolute difference (SAD) operations during the motion estimation process at the encoder. (See Z. He, Y. Liang, L. Chen, I. Ahmad, and D. Wu5 "Power-Rate-Distortion Analysis for Wireless Video Communication under Energy Constraints," IEEE Transactions on Circuits and Systems for Video Technology, Special Issue on Integrated Multimedia Platforms, 2004, which is fully incorporated herein by reference). In addition, power-aware joint source channel coding is also an active topic for mobile wireless video communication. (See Y. Eisenberg, C. E. Luna, T. N. Pappas, R. Berry, A.K. Katsaggelos, Joint source coding and transmission power management for energy efficient wireless video communications, CirSysVideo(12), No. 6, June 2002, pp. 411-424; Q. Zhang, W. Zhu, Zu Ji, and Y. Zhang, "A Power-Optimized Joint Source Channel Coding for Scalable Video Streaming over Wireless Channel", IEEE International Symposium on Circuits and Systems (ISCAS) 2001, May, 2001, Sydney, Australia; X. Lu, E. Erkip, Y. Wang and D. Goodman, "Power efficient multimedia communication over wireless channels", IEEE Journal on Selected Areas on Communications, Special Issue on Recent Advances in Wireless Multimedia, Vol. 21, No. 10, pp. 1738-1751, Dec, 2003, all of which are fully incorporated herein by reference). Unlike the conventional paradigm using complex encoding and light decoding, Girod et al propose a distributed video coding system which transfers the motion estimation process from the encoder to the decoder so that the encoding complexity can be greatly reduced. (See B. Girod, A. Aaron, S. Rane and D. Rebollo- Monedero , "Distributed video coding," Proc. of the IEEE, Special Issue on Video Coding and Delivery, 2005, which is fully incorporated herein by reference).
Furthermore, the computational complexity of each component of a video decoding system varies. Some are relatively constant and independent of the encoded data while others heavily depend on the coding results. For example, the components of inverse quantization and inverse transform have nearly fixed computational cost per coding unit while the motion compensation component has variable complexity depending on the block mode and the type of motion vector. Furthermore, the decoder complexity is dominated by the interpolation filtering process used in motion compensation if the motion vectors are sub-pixel. Other parts of the decoding system, like entropy decoding and inverse transform, do not incur significant computational cost when compared to the interpolation process.
As noted, motion estimation is usually the most computationally complex process since it involves searching over a large range of possible reference locations, each of which may require interpolation filtering. Among the components in the decoding system, the interpolation procedure used in the motion compensation component consumes the most computational resources (about 50%) due to the use of sub-pixel motion vectors. Accordingly, one way to increase power consumption efficiency in video decoding would be to reduce the major computational cost of the motion compensation interpolation procedure.
Many fast motion estimation algorithms have been developed to reduce the motion estimation complexity during encoding. (See A. M. Tourapis. "Enhanced Predictive Zonal Search for Single and Multiple Frame Motion Estimation," Proceedings of Visual Communications and Image Processing 2002 (VCIP-2002), San Jose, CA, Jan 2002, pp. 1069-79; H.- Y. Cheong, A. M. Tourapis, "Fast Motion Estimation within the H.264 codec," in proceedings of ICME-2003, Baltimore, MD, July 6-9, 2003, both of which are incorporated herein by reference). Other work proposes scalable methods for motion estimation to control the coding complexity. (See M. Schaar, H. Radha, Adaptive motion-compensation fine- granular-scalability (AMC-FGS) for wireless video, IEEE Trans, on CSVT, vol. 12, no. 6, 360-371, 2002, which is incorporated herein by reference). Nevertheless these methods all focus on the encoding complexity reduction instead of the decoding complexity.
Accordingly, there exists a need in the art for an improved system and method for video encoding/decoding with improved motion estimation which reduces computational costs and power consumption in the decoder.
SUMMARY OF THE INVENTION
The objects of the present invention may be met with a novel system and method for optimizing the selection of the motion vectors and motion compensation block modes in video decoding to reduce the computational cost of decoding while maintaining the desired video quality.
The present invention meets needs in the prior art by providing a system and method for optimizing a video encoder, including the steps of receiving an input video data sequence which includes at least one macroblock, identifying a target complexity level for the video data sequence, determining a Lagrange multiplier for the video data sequence, for each macroblock, calculating at least one motion vector for each block mode based on the determined Lagrange multiplier, for each at least one macroblock, selecting one of the block modes based on the determined Lagrange multiplier, and applying a complexity-control algorithm to encode the received input video data sequence in accordance with the identified target complexity level while maintaining a consistent complexity throughout decoding of the input video data sequence. In another exemplary embodiment, the present invention provides a system and method for optimizing a video encoder, including the steps of receiving an input video data sequence including one or more macroblocks, for each macroblock, enumerating at least one inter-predictive block mode whose one or more motion vectors are to be calculated based on motion estimation, for each block of each enumerated block mode, selecting the one or more motion vectors that yield minimum rate-distortion-complexity, and storing the selected one or more motion vectors for each block of each enumerated block mode.
In another exemplary embodiment, the present invention provides a system and method for optimizing a video encoder, including the steps of receiving an input video data sequence including one or more macroblocks, identifying one or more possible block modes for each macroblock, retrieving one or more selected motion vectors for each block mode, using the selected motion vectors, calculating the rate-distortion-complexity cost for each block mode, selecting, for each macroblock, a block mode that yields a minimum rate-distortion-complexity cost function, and storing at least one of the selected block modes for further processing.
The accompanying drawings, which are incorporated and constitute part of this disclosure, illustrate preferred embodiments of the invention and serve to explain the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a conceptual diagram of an exemplary video coding system; Fig. 2 is an exemplary diagram showing sub-pixel locations within a macroblock for exemplary purposes; Fig. 3 is a flow chart describing the steps of a method in accordance with an exemplary embodiment of the present invention;
Fig. 4 is a flow chart describing the steps of a method in accordance with an exemplary embodiment of the present invention; Fig. 5 is a flow chart describing the steps of a method in accordance with an exemplary embodiment of the present invention.
Throughout the Figures, the same reference numerals and characters, unless otherwise stated, are used to denote like features, elements, components or portions of the illustrated embodiments. Moreover, while the present invention will now be described in detail with reference to the Figures, it is done so in connection with the illustrative embodiments.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention relates to an important aspect of the complexity minimization problem in video decoding - i.e., developing an encoding algorithm that achieves both high video quality and low decoding complexity while satisfying the bit rate constraint. The object is to reduce the complexity requirement of emerging video codecs, such as H.264, particularly on resource-limited devices such as handheld devices. The present invention is different from the approaches described above in that the present invention modifies the video encoding algorithm to minimize the required complexity at the decoder, not the encoder. The approach does not require substantial modification to existing decoder implementations. The present invention may be implemented such that it modifies the non-normative parts of, e.g., the H.264 encoding algorithm, such that it is compatible with standards-compliant decoders. However, the present invention is not limited to H.264, but may be implemented in accordance with any video encoding/decoding system, including systems operating in accordance with the MPEG-4 standard, the Motion Compensated Embedded Zero Block Coding ("MC-EZBC") standard, and others.
Additionally, other techniques for the decoder power minimization, such as those discussed above, are complementary and can be used in conjunction with the present invention. Notably, the exemplary system as described herein below may be implemented in accordance with the H.264 protocol. However, the present invention is not limited to H.264, but may be implemented in accordance with any video encoding/decoding system, including systems operating in accordance with the MPEG-4 standard and the Motion Compensated Embedded Zero Block Coding ("MC-EZBC") standard.
By way of background, generally, when considering the decoder's complexity during video encoding, the optimization problem is formulated as follows. min D(P) p s.t.,R(V) ≤ Rr (2)
C(P) < C7 where C is the computational complexity at the decoder. Compared with the problem defined in Equation (1), a constraint on computational complexity is explicitly added. The solution for Equation (2) generally determines the best control variables, P, for each coding unit. Similar to the case for Equation (1), the control variables include quantization parameter, block mode of the motion compensation process, and the associated motion vectors.
Among the control variables, the motion vectors have the largest impact on the decoding complexity. Motion vectors can be of integer or fractional values corresponding to a displacement distance of integral pixels or fractional pixels. When a motion vector is of a sub-pixel value, multi-tap filtering is required to compute interpolation to form a reference block that is needed in the motion compensation process in the decoder. Such interpolation filtering involves huge computational cost and typically significantly increases the overall decoding complexity (the interpolation component constitutes about 50% of the decoding complexity). Although for mobile multimedia applications there are other power consuming components like wireless communication, display, and memory access, the decoding process is typically a significant one. Therefore improving the cost associated with the interpolation process is important for implementing a low-power decoding system, either in hardware or software.
In accordance with an exemplary embodiment of the present invention, the conventional rate-distortion framework is extended based on the Lagrange optimization method to incorporate the computational complexity. To estimate the complexity associated with different types of motion vectors, models are used to approximate the implementation cost involved in the interpolation filtering process.
In addition, in accordance with an exemplary embodiment of the present invention, the rate control algorithm may be extended to handle the joint rate- complexity control issue so that both the targets of rate and complexity can be met.
This optimization method intelligently selects the block mode and motion vector type of each coding unit to achieve the highest video quality.
Referring now to Fig. 1, an exemplary diagram for a typical hybrid motion compensation and block-transform video coding system is shown. The interior box components 10 include the decoding portion (which typically is also simulated in the encoder system for rate control purpose). Additional components of a companion encoder system are shown in exterior box components 20. The present invention focuses generally on improvements in the motion compensation functions 30 by way of the motion estimation and mode decision functions 40. A general
discussion of video encoding/decoding principles follows herein, followed by a discussion of these principles as modified in accordance with exemplary embodiments of the present invention.
Further referring to Fig. 1 , the basic decoding unit in a video decoder is a macroblock (MB), which is an array of spatially-adjacent pixels in a video sequence.
For exemplary purposes, Fig. 2 is a diagram showing sub-pixel locations within a macroblock.
For each MB, the encoded bit stream may first undergo entropy decoding to obtain the syntax bits (this step is not shown in the figure, but would be known to one of ordinary skill in the art), motion vector V , and quantized coefficients dτ(t) , where t is the time index of the image frame. Typical entropy codecs include variable length coding (VLC) and adaptive arithmetical coding (AAC). Inverse quantization is then employed to obtain the transform coefficient dτ(t) , which is further fed to an inverse transform module to reconstruct the pixel value or prediction error d(t) , depending on whether intro- or inter-coded mode is utilized during encoding. For inter-coding mode, motion compensation is applied to generate the reference image PR (0 using motion vector V and previously decoded and buffered reference image P(t -\) . Motion compensation refers to the process of compensating the image displacement due to motion across frames. When the motion vector is of a sub-pixel value, interpolation is needed to compute the reference image. Lastly, by combining the prediction error d(t) and the reference image PR (t) the decoded image of the current frame is output. The basic concept of motion estimation is to search for an optimal block with similar values in previous coded frames as the reference signal for the block in current frame so that the encoding cost can be minimized. The optimal reference signal position is indicated by the displacement vector, called a motion vector. Motion estimation applies the basic idea of inter-frame predictive coding. Sometimes, multiple reference signals are used to form motion estimation, for example in bi-directional inter-frame prediction. Motion vectors are entropy encoded in a differential and predictive manner. {See T. Wiegand, G. J. Sullivan, G. Bjontegaard, A. Luthra, "Overview of the H.264/AVC Video Coding Standard," IEEE Trans. Circuits Syst. Video Technol., vol 13, ρp.560-576. JuI. 2003, which is incorporated herein by reference).
Compared to motion estimation, motion compensation is the procedure by which the decoder extracts a reference signal from the location indicated by the motion vector. In reconstructing the reference signal, interpolation is a widely adopted technique used to improve the compensation precision when the motion vector has a sub-pixel value. The effectiveness of the sub-pixel motion compensation has been verified in H.263 and subsequent coding standards, at the cost of increasing complexity. Therefore reducing the motion compensation complexity is the most important target for improvement. H.264 uses up to quarter pixel precision during interpolation. {See T.
Wedi; H.G. Musmann, Motion- and aliasing-compensated prediction for hybrid video codingPage(s): IEEE Trans. Circuits Syst. Video Technol., vol 13, pp.577- 586. JuI. 2003, which is incorporated herein by reference). All half-pixel locations undergo 6- tap FIR filtering horizontally and vertically, whenever any one applies. All quarter- pixel locations undergo 2-tap average filtering using integer and half pixels. For example, the following formulae are used to calculate sub pixel b and e\ b = ((E-5F + 20G + 20H -5I-j) + \6)/32
e = (b + h + l)/2
The amount of filtering varies depending on the exact location of the pixel. Referring again to Fig. 2, Table 1 below lists the possible interpolation operations and their associated complexities:
Figure imgf000011_0001
Table 1. Sub pixel locations and their interpolation complexities
It is clear that different interpolation methods have quite different computing complexities. Some up-to-date video codecs may even have more complex interpolation. For example, in recent 3D scalable video coding standards such as MC- EZBC, an 8-tap floating filtering process is used to achieve high interpolation accuracy.
Given the information about the interpolation cost associated with each type of motion vector, the basic premise behind reducing the decoder complexity is to select motion vectors that involve less interpolation complexity while maintaining high video quality. An empirical analysis of some H.264 statistical data shows that depending on the video content, 40% to 80% of motion vectors are located on sub pixels with different interpolation complexities. Therefore the principal approach to complexity reduction is to change motion vectors from high complexity sub pixel positions into low complexity, or even to integer-pixel positions. In order to further reduce the temporal redundancy and improve the efficiency of motion estimation, H.264 defines a diverse set of block mode options. Besides the conventional modes (intra, forward, backward and bi-directional), two new important modes are introduced: variable block size and SKIP/DIRECT.
First, unlike earlier coding standards which use a fixed block size (usually 16x16 or 8x8) during motion estimation, H.264 allows for partitioning of an
MB into several blocks with variable block size, ranging from 16 pixels to 4 pixels in each dimension. An MB can comprise up to 16 blocks. Each block with reduced size can have individual motion vectors to estimate the local motion at a finer granularity.
Though such finer block sizes incur overhead such as extra computation for searching and extra bits for coding the motion vectors, they allow more accurate prediction in the motion compensation process and consequently the residual errors can be considerably reduced (which is generally favorable for the final rate-distortion performance). Secondly, the SKIP/DIRECT mode is utilized for the P/B frame in H.264 motion compensation to further increase the coding efficiency. The spatial/temporal neighbor motion vectors are used to predict the motion vector of the current block, without sending extra bits to encode the current motion vector. Details regarding the SKIP/DIRECT modes can be found in the Wiegand et al and Tourapis et al. references, cited and incorporated by reference hereinabove. In the mode decision algorithm used in accordance with the present invention, both the variable- size block mode and the SKIP/DIRECT mode may be considered during the search process. The selection of block mode has a direct and substantial impact on the decoder computational complexity, because it determines what kind of motion vectors are recorded in the bit stream. Optimal selection of the block mode and the associated motion vectors are important problems addressed by the present invention. These steps are discussed in greater detail hereinafter. As discussed above, conventional video coding systems generally encode a video bit stream by solving the optimization problem defined in Equation (1). The main control variables P involved in this procedure include motion vector V , block mode M and quantization parameter QP . There is complex interaction between the choices of these variables and thus the optimal solution is difficult to achieve. In practice, compromise approaches are taken and approximate solutions are often developed. For example, typically QP is determined through some empirical models and updated throughout the video sequence by some rate control algorithms. Given QP , the other variables, motion vector and block mode, are decided by applying some rate-distortion optimization process. A survey of these prior art procedures is described in G. J. Sullivan and T, Wiegand, Rate-Distortion Optimization for Video Compression IEEE Signal Processing Magazine, Vol. 15, Num. 6, pp. 74-90, Nov. 1998, which is incorporated herein by reference. A brief background summary follows.
Specifically, for each block B with a block mode M, the motion vector associated with the block is selected through a rate-distortion joint cost function:
V* (B,M) = argmin {βDro(V|i5,M) +
Figure imgf000012_0001
(3)
Figure imgf000012_0002
Vesup(V) where V* is the optimal motion vector, suρ{V} defines the search space, whose dimensions include the prediction direction, the reference frame list and the search range. R MOTION is me estimated bit rate to record the motion vector. DDPD represents the prediction error between the current block and the reference block. Usually the sum of absolute difference (SAD) is adopted because the search space of motion vector is much larger than that of mode and SAD has lighter computation cost compared with the sum of squared difference (SSD). J 'TI0N (V) is the rate-distortion joint cost comprising of RyonoN md D DFD - ^-MOTION is me Lagrange multiplier to control the weight of the bit rate cost, relative to the signal distortion caused by the prediction error. In a similar manner the block mode M for an MB is decided by the following. M* {MB, QP) ~ argmin
Figure imgf000013_0001
QP) = arg min {DREC (M \MB, QP) + AMOUERRBC (M (4)
Mesυ${M) Λ-fesup(W)
Figure imgf000013_0002
where M* is the optimal block mode, and sup{M} is the set of block mode options (such as INTRA, SKIP, DIRECT, FORWARD, BACKWARD, BIDIRECTION, etc). A full list of block mode options in H.264 can be found in the Tourapis et al. reference, cited and incorporated by reference hereinabove. D1^0 is the SSD between the current MB and the reconstructed one through motion compensation. Rmc is the estimated bit rate associated with mode M. J^(Af) is the joint cost comprising of rate RM and distortion DM , and λuom is the Lagrange multiplier. The motion vectors associated with the optimal block mode V* (B, M* \ will be the final coded data recorded in the bit stream.
The Lagrange multipliers used in the above two cost functions determine the relative weights between signal quality and bit rate. To simplify the search process, an empirically derived relationship as the following is typically used in practice in the prior art. The square root relationship is partly due to the fact that
SAD is used in modeling DDFD while SSD is used for D^0 .
^MOTION = ^MODE (5)
Rate control (RC) is the procedure of adjusting control variables so that the target rate requirement can be achieved while optimizing the overall video quality. Given a target bit rate, the average allocated bit rate may be computed for each basic coding unit. Then the Lagrange optimization method may be used to find the optimal set of control variables. However, searching over the entire variable space is very complex. In practice, most implementations use empirical models to restrict the search space. For example, a popular method, called rate-quantization modeling, maps the target bit rate to the quantization parameter, from which the Lagrange multipliers are decided. In addition, since coding of a data unit may not result in a bit rate that exactly matches the target, a separate process, called buffer management, may be used to monitor the available bit rate budget for the remaining data units and thus update the allocated recourse. A brief discussion of these processes is provided below.
A rate-Quantization (RQ) model describes the relationship between QP and the bit rate. A widely adopted quadratic RQ model, as described in T. Chiang and Y.-Q. Zhang, "A New Rate Control Scheme Using Quadratic Rate Distortion Model," IEEE Trans. Circuits Syst. Video Technol., Vol. 7, pp. 246-250, Feb. 1997, which is fully incorporated herein by reference, is:
R ^= D(P, - QP-1 + P2 - QP~2) (6)
where D is the source complexity of the video signal, and usually measured using the motion estimation prediction errors (such as SAD), and (P1, P2] are model parameters. Some systems use P2 = 0 for simplicity. A typical RQ modeling procedure involves two major steps: model estimation and QP prediction. First several basic coding units are coded using some preset QP values. The coding units may include a certain number of MBs or one whole frame. The resulting rate-quantization-distortion (R-Q- D) points are collected. The model in Equation (6) is then estimated based on the observations. The estimated model can then be used to determine the QP value for the next coding unit based on the target bit rate R1 and source complexity D1 for the new unit. The former is determined by the buffer management process to be described below, and the latter is predicted using previous observations of the source complexity. Usually the source complexity is assumed to vary gradually and can be estimated using some simple relationship such as a linear model. Once coding of the new unit is completed, new observations of the R-Q-D points are collected and used to update the estimation of the RQ model in a sliding window manner. Namely, the oldest R-Q-D point is purged and the latest point is added to update the model. The buffer management employs a virtual buffer to simulate the behavior of the data buffer on the decoder side. It is an important component in rate control in order to adjust the target bit rate for each coding unit and avoid the problem of buffer overflow or underflow. For example, given a target bit rate for the video sequence, the average bit rate allocation for each Group of Pictures (GOP) can be computed, and the allocated bit rate, R, , for a new frame to be coded (such as P frame) can be determined by monitoring the actual number of bits spent on the previous frames,
In H.264, given the target rate and QP for the coding unit, the following empirical relationship is often used to determine the Lagrange multiplier needed in the rate-distortion tradeoff optimization.
OP~\ 2
^MODE - 0.85 X 2 3 (7)
Such an empirical model is useful to simplify the search process in the Lagrange optimization method, while practical implementations have often shown satisfactory performance. Other parameters such as ΛM0T!0N can also be determined according to Equation (5).
The present invention is an improvement on the above procedures and provides a new system and method for complexity-adaptive motion estimation and mode decision ("CAMED"). In accordance with an exemplary embodiment of the present invention, given defined metrics for signal distortion and computational complexity, the tradeoff between video quality and resource consumption (both bit rate and computational complexity) may be considered to approximate the optimal motion vectors and block mode used in the motion compensation process in the decoder, thereby reducing decoding complexity and power consumption.
A system and method of the present invention may consist of several sub-components: a rate-distortion-complexity ("R-D-C") joint optimization framework, a complexity cost function, and a complexity control algorithm. The R- D-C framework extends the previously discussed Lagrange optimization framework to incorporate the complexity term. The complexity cost function provides quantitative measurements of the required computation for each motion vector type. The complexity control algorithm is used to control the complexity over different coding units to meet the overall target complexity. The present invention provides a solution to the problem defined in Equation (2), with an explicit Lagrange term to model the complexity cost. Therefore, in accordance with an exemplary embodiment of the present invention, the motion vectors may be selected through a rate-distortion-complexity joint cost function as follows:
Vc(B1M) = argmin {jΑ,θN
Figure imgf000016_0001
(8)
Figure imgf000016_0002
Vesup{V) v
where CM0Tl0N is the complexity cost function associated with the selected motion vector
Figure imgf000016_0003
> YMOTION *S the Lagrange multiplier for the complexity term, J MOTION W) *s the rate-distortion joint cost function defined in Equation (3), and J MOTION W) ^s me rate-distortion-complexity joint cost function.
Similar to the earlier case described in Equation (4), the block mode search process of the present invention may be performed according to the following.
Mc {MB, QP) = arg min jj$£ (M \MB, QP) = arg min [j$gDE (M \MB, QP) + YM0DECM0DE (M \MB)} (9)
where CM0DE is the complexity cost function associated with the block mode, /MODE *S the Lagrange multiplier, J MODE W) *s the rate-distortion joint cost function defined in (4), and J MODE W) is the rate-distortion-complexity joint cost function. The effect of Y MODE = 0 is apparent in view of the above. When
Y MODE ~ 0 > the solutions of Equations (8) and (9) are identical with the ones in Equations (3) and (4), namely no consideration is given to the complexity constraint and many motion vectors may be of sub-pixel values in order to minimize the distortion. When YMODE = ∞ , all motion vectors are forced to integer pixel locations in order to minimize the complexity involved in interpolation for sub-pixel locations. Clearly there is a tradeoff between these two extremes to balance the performance in terms of quality and complexity.
For simplification, restrictions may be adopted, like those described in Equation (5), to limit the search space. For example, the following relationship may be used to link /MODE and γM0τl0N :
Y MOTION ~
Figure imgf000016_0004
(10) In the joint cost function described above, a quantitative model may be used to estimate the complexity associated with each candidate motion vector and block mode. As discussed above, the computational complexity is heavily influenced by the type of the motion vector (integer, half-pixel, or quarter-pixel) and the interpolation filters used in the motion compensation process. Focusing on the interpolation filtering cost, quantitative estimates of such complexities can be approximated by the number of filtering operations needed in interpolation, such as those listed in Table 1. For example, using the same 6-tap filter and 2-tap filter implementations, the complexity of each motion vector type is as follows.
Figure imgf000017_0001
0 V is integer MV β6 V is subpixel b,h e 6 + e 2 V is subpixel a, c, d, n
,(V) =
2e6 + <?2 V is subpixel e, g,p, r (12)
7e6 V is subpixel j
7e6 +e2 V is subpixel i,f,k,q
where cB (V) is the computational cost for the current coding block, V is the motion vector, cP(V) is the computational complexity required for calculating a reference pixel, NB is the number of pixels in the current coding block, and {e6,e2} are the estimated complexities for 6-tap and 2-tap interpolation respectively. Experimental results indicate that a simplified model ignoring the 2-tap interpolation will mostly result in the same selection of the motion vectors. With such simplification, the above model may be reduced to the following with a common factor e6 removed.
0 integer MV
1 subpixel atb,c,d,h & n
Cp (V) =
2 subpixel e,g,p,r ^ ) 7 subpixel ij,f,hq
Equations (11) and (13) may be used to estimate the computational complexity based on the interpolation operation — these models provide platform- independent modeling. Alternatively, the complexity cost may be derived from specific software or hardware implementations (platform-dependant modeling). The following are two examples of platform-dependent modeling in accordance with exemplary embodiments of the present invention.
The complexity cost functions defined in Equation (11) and (13) are also considered to be pixel-based in that the complexity is calculated for each pixel independently without considering the reusability of previous calculated pixel (or sub pixel) values. For block-based motion compensation as adopted in H.264, some interpolations can be saved by directly using previous computed results. Again according to the H.264 standard description, the following categories of sub pixels may be considered:
For integer pixel no interpolation is necessary, and the complexity is zero;
For sub pixels a, b, c, d, h and n, they are located in either integer row or integer column, only one 6-tap filtering is necessary for them. Considering a 4 x 4 block (the minimum MC unit in H.264), the complexity is 1 x 16 = 16;
For sub pixels e, g, p and r, similar to previous case, the complexity is 2 x 16 = 32;
For sub pixels i,j,f, k and q, on each column within a 4 x 4 block, the topmost sub pixel requires full 7 6-tap interpolations. Whereas for each of the remaining three sub pixels located in the same column, 5 6-tap interpolations calculating its upper sub pixel value can be reused and only two additional 6-tap interpolations are necessary. Therefore, the complexity is 7 x 4 + 2 x 12 = 52.
Therefore, block-based complexity may be modeled as (after value scaling):
0 V is integer MV
4 V is subpixel a, b, c, d, h and n Cp(Y) - (14)
8 V is subpixel e, g, p, r
13 V is subpixel i, j, f, k, q The model in Equation (14) above can even be further fine tuned considering variable block size implementation during MC, in accordance with the lookup table below:
Figure imgf000019_0002
Table 2: Lookup table for complexity cost using variable block size MC implementation
In an exemplary hardware implementation of an embodiment of the present invention, each interpolation operation can be divided into a number of basic operators such as addition, shifts, and/or multiplications. In this case, {e6,e2} can be modeled with more detail, such as:
^Σ j ^WH-''^6 (15) where o;is the basic operator involved in the interpolation implementation, N (θj) is the required number of operator o3 P{θj) is the power consumption of operator o3 and p>\ is the adjustment factor to consider additional power cost such as memory access. For instance, a hardware implementation of interpolation \ was introduced in T.-C. Chen, Y.-C. Huang and L.-G. Chen, "Full Utilized and Resuable Architecture for Fractional Motion Estimation of H.264/AVC", ICASSP2004, Montreal, Canada, May 17-21, 2004, which is fully incorporated herein by reference. Its estimated complexity is
= p{W 'cadd + 2Psh,fl ) (16)
where
Figure imgf000019_0001
&re the power consumption for the addition operator and the 2-bit shift operator respectively. Each block may be associated with multiple reference blocks, each of which needs a motion vector. For example, for bi-directional prediction, each block may need two motion vectors for forward and backward prediction respectively. Thus, the computational cost for a block B with the block mode Mis calculated as:
Figure imgf000020_0001
where the summation is over each reference block.
Each MB may consist of several smaller blocks, depending on the block mode, M The overall computational cost associated with a MB and a block mode can be calculated as:
CMODE
Figure imgf000020_0002
= ∑∑(cfl (*„ Vj, MB)) (18)
* J where / is the index of the individual blocks contained in the MB, andy is the index for multiple motion vectors associated with a single block. Equations (17) and (18) are generic and applicable to all inter-coded block modes, including foreword/backward/bi- directional motion compensation and SKIP/DIRECT.
Equations (8) and (9) use the Lagrange multiplier to formulate R-D-C combined optimization problems. Assuming that the selection of motion vector and block mode for a certain MB is independent of behaviors in other MBs (which is a reasonable approximation of the real case), at the optimal solution each MB will have the same Lagrange multiplier (y MOTION < Y MODE) ■ This is an important property of the Lagrange multiplier. In other words, given a specific γM0DE and considering Equation (10), the bit stream with complexity C(χM0DE) can be derived. This γM0DE is
(approximately) the optimal solution for the following problem:
N min , -
{V, M} ^ T.J (V1, M1) (19)
Figure imgf000020_0003
where V = (V1, V2,- - -, V^) and M = (M1 , M2, ■ • •, MN) are the motion vectors and block modes for all MBs respectively, V1 and M, are the motion vector and block mode for ith MB respectively, β'D is the R-D cost function, and C(V, M) is the complexity cost function. Unfortunately, the complexity level C(γM0DE) associated with γuom cannot be known in advance unless the bit stream has been encoded. Therefore, the Lagrange multiplier has to be adjusted in order to match certain target complexity level. This procedure implemented in the context of the present invention is referred to as "complexity control."
Complexity control, analogous to the rate control process described above, is a process to allocate the complexity resource among the coding units and to determine parameters like Lagrange multiplier Y MODE to be used in the optimization procedure. In the exemplary embodiment of the present invention described above, the allocated bit rate is mapped to the quantization parameter, which in turn is used to find the Lagrange multiplier λM0DE . In the following exemplary embodiment of the present invention, two components of the complexity control algorithm are described - complexity modeling and buffer management. The former is used to characterize the relationship between the target complexity and the Lagrange multiplier 7 MODE • The latter is for monitoring the complexity usage and updating the available computational resource for each new data unit.
In complexity control a feasible modeling of complexity and control parameters {γM0m in this case) is necessary. One of the objectives of this modeling is to identify the relationship between the target complexity and the optimization control parameter, /MODE ■ Based on experimentation, there is an approximately linear relationship between the complexity value and log of the Lagrange multiplier, and the type of the frame (B or P) greatly influences this relationship.
A reasonable model based on these observations is as follows: C(γMODE) ~ D(K{ \n (γmDE) + K0) (20) where C is the complexity, D is a factor measuring the video source complexity similar to that used in Equation (6) for rate control. Kx, K0 are the model parameters obtained during the coding procedure. Due to different coding mechanism, P and B frames will have distinguished model parameters and may need to be handled separately.
The above model is driven by empirical simulation observations. The linear dependence of the computational complexity on the signal source complexity is also intuitive - the more complex the signal source is, the higher the accuracy required to estimate the motion vector, and thus there is a larger gain in using sub- pixel motion vectors, resulting in an increased computational cost.
Using this model, the Lagrange multiplier ^/OOE (0 f°r me current coding unit t can be determined by the following:
Figure imgf000022_0001
where C(t) is the allocated computational budget and D(t) is the predicted complexity measurement for unit t . In practice, in order to avoid large quality fluctuation, the change rate of γM0DK (ή may be bounded by some thresholds.
Referring now to Fig. 3, a flow chart for a method for optimizing the selection of motion vectors and motion compensation block modules in a video decoder in accordance with the above-described present invention is shown. In step 310, an input video data sequence is received. Next, in step 320, a target complexity level for the video decoder is determined. Then, in step 330, a Lagrange multiplier is determined. Next, in step 340, for each macroblock, a motion vector is calculated for one or more of the H.264 block modes. This may preferably be performed for every block mode available in H.264 (or the applicable video standard). Next, in step 350, for each macroblock, a best block mode is selected, based on the Lagrange multiplier. Finally, in step 360, a complexity-control algorithm, as described in detail above, is applied to encode the received input video data sequence in accordance with the identified target complexity level, such that, upon decoding, a consistent complexity level is maintained throughout decoding.
Referring now to Fig. 4, a flow chart for another method in accordance with the above-described present invention for selecting motion vectors in an optimized video decoder is shown. In step 410, an input video data sequence comprising one or more macroblocks is received. In step 420, for each macroblock, at least one inter-predictive block mode is enumerated. In step 430, for each block of each enumerated block mode, one or more motion vectors that yields the minimum rate-distortion-complexity is selected. Finally, in step 440, the selected one or more motion vectors is stored. Referring now to Fig. 5, a flow chart for another method in accordance with the above-described present invention for selecting a block mode in an optimized video decoder is shown. In step 510, an input video data sequence is received. Next, in step 520, one or more possible block modes for each macroblock is selected. In step 530, one or more motion vectors for each block mode is received. A rate- distortion-complexity cost for each block mode is then calculated in step 540. In step 550, for each macroblock, a block mode is selected that yields a minimum rate- distortion-complexity cost function. Finally, in step 560, the selected block mode is stored for further processing. In accordance with an exemplary embodiment of the present invention, a complexity buffer may also be implemented. A complexity buffer is a virtual buffer used to simulate the complexity usage status on the decoder side. It is analogous to the rate buffer used in the rate control to update the estimation of available resources and avoid issues of buffer overflow or underflow. Denoting Ca0P the remaining complexity budget in one GOP, NP , NB the remaining numbers of P, B frames respectively, and η the complexity ratio between P and B, which is updated during video coding, the target complexity levels for P, B frame CP,CB may be calculated using the following equations:
CR
-~ = n (22)
NPCP + NBCB = CG0P (23)
Once Cp , CB are available, γM0DE (ή is determined using the models and techniques described above. The formulations in Equations (22) and (23) assume the basic coding unit as one frame. It can be easily extended to smaller units for a finer granularity.
Notably, experiments involving an exemplary implementation of the present invention using an H.264 codec over different video sequences, different bit rates, and different complexity levels demonstrated that up to 60% of the interpolation complexity can be saved at the decoder without incurring noticeable quality loss (within 0.2 dB). Even for challenging video clips, 33% of the complexity can be reduced with quality difference less than 0.3dB. Accordingly, the present invention can improve video decoding systems to reliably meet target complexity requirements for a wide range of video content.
As noted previously, the exemplary system as described herein is not limited to H.264, but may be implemented in accordance with any video encoding/decoding system, including systems operating in accordance with the MPEG-4 standard, the Motion Compensated Embedded Zero Block Coding ("MC- EZBC") standard, and others. Additionally, the present invention may be implemented using software, hardware, or some combination thereof, as would be understood by one of ordinary skill in the art. The scope of the invention is not limited to any particular implementation of the inventive system and method described herein.
The foregoing merely illustrates the principles of the invention. Various modifications and alterations to the described embodiments will be apparent to those skilled in the art in view of the teachings herein. It will thus be appreciated that those skilled in the art will be able to devise numerous systems and methods which, although not explicitly shown or described herein, embody the principles of the invention and are thus within the spirit and scope of the invention.
REFERENCES
[1] T. Wiegand, G. J. Sullivan, G. Bjontegaard, A, Luthra, "Overview of the H.264/AVC Video Coding
Standard," IEEE Trans. Circuits Syst. Video Technol., vol 13, pp.560-576. JuI. 2003. [2] T. Wedi; RG. Musmann, Motion- and aliasing-compensated prediction for hybrid video codingPage(s):
IEEE Trans. Circuits Syst. Video Technol., vol 13, pp.577- 586. JuI. 2003. [3] V. Lappalainen, A. Hallapuro, and T.D. Hama'Iainen, "Complexity of OptimizedH.26L Video Decoder
Implementation," IEEE Trans. Circuits Syst. Video Technol., vol 13, pp. 717-725. JuI. 2003 [4] A. M. Tourapis, F. Wu, S. Li, "Direct mode coding for bi-predictive pictures in the JVT standard", ISCAS2003, vol. 2, 700-703, Thailand, 2003. [5] G. J. Sullivan and T. Wiegand, Rate-Distortion Optimization for Video Compression IEEE Signal
Processing Magazine, Vol. 15, Num. 6, pp. 74-90, Nov. 1998 [6] T. Chiang and Y.-Q. Zhang, "A New Rate Control Scheme Using Quadratic Rate Distortion Model," IEEE
Trans. Circuits Syst. Video Technol., Vol. 7, pp. 246-250, Feb. 1997 [7] T.-C. Chen, Y.-C. Huang and L.-G. Chen, "Full Utilized and Resuable Architecture for Fractional Motion
Estimation of H.264/AVC", ICASSP2004, Montreal, Canada, May 17-21, 2004 [8] X. Zhou, E. Li, and Y.-K. Chen, "Implementation of H.264 Decoder on General-Purpose Processors with
Media Instructions", in Proc. of SPIE Visual Communications and Image Processing, Jan. 2003 [9] National's PowerWise™ technology. http://www,national.com/appinfo/power/powerwise.html [10]Y. Eisenberg, C. E. Luna, T. N. Pappas, R. Berry, A.K. Katsaggelos, Joint source coding and transmission power management for energy efficient wireless video communications, CirSysVideo(12), No. 6, June
2002, pp. 411-424.
[H] Q. Zhang, W. Zhu, Zu Ji, and Y. Zhang, "A Power-Optimized Joint Source Channel Coding for Scalable
Video Streaming over Wireless Channel", IEEE International Symposium on Circuits and Systems (ISCAS)
2001, May, 2001, Sydney, Australia. [12] X. Lu, E. Erkip, Y. Wang and D. Goodman, "Power efficient multimedia communication over wireless channels", IEEE Journal on Selected Areas on Communications, Special Issue on Recent Advances in
Wireless Multimedia, Vol. 21, No. 10, pp. 1738-1751, Dec, 2003 [13] H. Kim and Y. Altunbasak, "Low-complexity macroblock mode selection for the H.264/AVC encoders,"
IEEE Int. Conf. on Image Processing, Suntec City, Singapore, October 2004 [14] A. Ray and H. Radha, "Complexity-Distortion Analysis of H.264/JVT Decoder on Mobile Devices,"
Picture Coding Symposium (PCS), December 2004 [15] K. Lengwehasatit and A. Ortega, " Rate Complexity Distortion Optimization for Quadtree-Based DCT
Coding ",ICIP 2000, Vancouver,BC, Canada, September 2000. [16] Z. He, Y. Liang, L. Chen, I. Ahmad, and D. Wu, "Power-Rate-Distortion Analysis for Wireless Video
Communication under Energy Constraints," IEEE Transactions on Circuits and Systems for Video
Technology, Special Issue on Integrated Multimedia Platforms, 2004. [17] B. Girod, A. Aaron, S. Rane and D. Rebollo-Monedero , "Distributed video coding," Proc. of the IEEE,
Special Issue on Video Coding and Delivery, 2005. [18] A. M. Tourapis. "Enhanced Predictive Zonal Search for Single and Multiple Frame Motion Estimation,"
Proceedings of Visual Communications and Image Processing 2002 (VCIP-2002), San Jose, CA, Jan 2002, pp. 1069-79. [19]H,-Y. Cheong, A. M. Tourapis, "Fast Motion Estimation within the H.264 codec," in proceedings of ICME-
2003, Baltimore, MD, July 6-9, 2003
[2O]M. Schaar, H. Radha, Adaptive motion-compensation fine- granular-scalability (AMC-FGS) for wireless video, IEEE Trans, on CSVT, vol. 12, no. 6, 360-371, 2002.

Claims

1. A method for optimizing the selection of motion vectors and motion compensation block modules in a video encoder comprising: receiving an input video data sequence comprising at least one macroblock; identifying a target complexity level for the video data sequence; determining a Lagrange multiplier for the video data sequence; for each at least one macroblock, calculating at least one motion vector for one or more block modes based on the determined Lagrange multiplier; for each at least one macroblock, selecting one of the one or more block modes based on the determined Lagrange multiplier; encoding the received input video data sequence in accordance with the identified target complexity level to produce an encoded bitstream that may be decoded with consistent complexity.
2. The method of claim 1, wherein the step of encoding the received input video data sequence comprises applying a complexity control algorithm.
3. The method of claim 1 , wherein the received input video data is data in accordance with the H.264 standard.
4. The method of claim 1, wherein the received input video data is data in accordance with the MPEG-4 standard.
5. The method of claim 1, wherein the received input video data is data in accordance with the Motion Compensated Embedded Zero Block Coding (MC-EZBC) standard.
6. A method for selecting motion vectors for optimized video encoding comprising: receiving an input video data sequence comprising one or more macroblocks; for each macroblock, enumerating at least one inter-predictive block mode whose one or more motion vectors are to be calculated based on motion estimation; for each block of each enumerated block mode, selecting the one or more motion vectors that yield minimum rate-distortion-complexity; storing the selected one or more motion vectors for each block of each enumerated block mode.
7. The method of claim 6, wherein the received video frame data is data in accordance with the H.264 standard.
8. The method of claim 6, wherein the received video frame data is data in accordance with the MPEG-4 standard.
9. The method of claim 6, wherein the received video frame data is data in accordance with the Motion Compensated Embedded Zero Block Coding (MC-EZBC) standard.
10. A method for selecting a block mode for optimized video encoding comprising: receiving an input video data sequence comprising one or more macroblocks; identifying one or more possible block modes for each macroblock; retrieving one or more selected motion vectors for each block mode; using the selected motion vectors, calculating the rate-distortion-complexity cost for each block mode; selecting, for each macroblock, a block mode that yields a minimum rate- distortion-complexity cost function; storing at least one of the selected block modes for further processing.
11. The method of claim 10, wherein the received video frame data is data in accordance with the H.264 standard.
12. The method of claim 10, wherein the received video frame data is data in accordance with the MPEG-4 standard.
13. The method of claim 10, wherein the received video frame data is data in accordance with the Motion Compensated Embedded Zero Block Coding (MC-EZBC) standard.
14. An optimized video encoding system comprising: at least one processor; a memory coupled to the at least one processor and containing instructions which, when executed by the processor, cause the processor to perform the steps of: receiving an input video data sequence comprising at least one macroblock; identifying a target complexity level for the video data sequence; determining a Lagrange multiplier for the video data sequence; for each at least one macroblock, calculating at least one motion vector for one or more block modes based on the determined Lagrange multiplier; for each at least one macroblock, selecting one of the one or more block modes based on the determined Lagrange multiplier; encoding the received input video data sequence in accordance with the identified target complexity level to produce an encoded bitstream that may be decoded with consistent complexity.
15. The method of claim 14, wherein the memory further contains instructions for applying a complexity control algorithm in conjunction with the encoding of the received input video data sequence,
16. The system of claim 14, wherein the received input video data sequence is data in accordance with the H.264 standard.
17. The system of claim 14, wherein the received input video data sequence is data in accordance with the MPEG-4 standard.
18. The system of claim 14, wherein the received input video data sequence is data in accordance with the Motion Compensated Embedded Zero Block Coding (MC-EZBC) standard.
19. An optimized video encoding system comprising: at least one processor; a memory coupled to the at least one processor and containing instructions which, when executed by the processor, cause the processor to perform the steps of: receiving an input video data sequence comprising one or more macroblocks; identifying one or more possible block modes for each macroblock; retrieving one or more selected motion vectors for each block mode; using the selected motion vectors, calculating the rate-distortion-complexity cost for each block mode; selecting, for each macroblock, a block mode that yields a minimum rate- distortion-complexity cost function; storing at least one of the selected block modes for further processing.
20. An optimized video encoding system comprising: at least one processor; a memory coupled to the at least one processor and containing instructions which, when executed by the processor, cause the processor to perform the steps of: receiving an input video data sequence comprising one or more macroblocks; for each macroblock, enumerating at least one inter-predictive block mode whose one or more motion vectors are to be calculated based on motion estimation; for each block of each enumerated block mode, selecting the one or more motion vectors that yield minimum rate-distortion-complexity; storing the selected one or more motion vectors for each block of each enumerated block mode.
PCT/US2006/007862 2005-03-04 2006-03-06 System and method for motion estimation and mode decision for low-complexity h.264 decoder WO2006096612A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/846,088 US9060175B2 (en) 2005-03-04 2007-08-28 System and method for motion estimation and mode decision for low-complexity H.264 decoder
US14/708,820 US20150245033A1 (en) 2005-03-04 2015-05-11 System and method for motion estimation and mode decision for low-complexity h.264 decoder

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65844005P 2005-03-04 2005-03-04
US60/658,440 2005-03-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/846,088 Continuation US9060175B2 (en) 2005-03-04 2007-08-28 System and method for motion estimation and mode decision for low-complexity H.264 decoder

Publications (2)

Publication Number Publication Date
WO2006096612A2 true WO2006096612A2 (en) 2006-09-14
WO2006096612A3 WO2006096612A3 (en) 2007-07-05

Family

ID=36953922

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/007862 WO2006096612A2 (en) 2005-03-04 2006-03-06 System and method for motion estimation and mode decision for low-complexity h.264 decoder

Country Status (2)

Country Link
US (2) US9060175B2 (en)
WO (1) WO2006096612A2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008147565A2 (en) * 2007-05-25 2008-12-04 Arc International, Plc Adaptive video encoding apparatus and methods
US7747088B2 (en) 2005-09-28 2010-06-29 Arc International (Uk) Limited System and methods for performing deblocking in microprocessor-based video codec applications
CN102547264A (en) * 2010-12-28 2012-07-04 深圳市融创天下科技股份有限公司 Motion prediction method and system of interframe coding
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US8837600B2 (en) 2011-06-30 2014-09-16 Microsoft Corporation Reducing latency in video encoding and decoding
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
CN105282557A (en) * 2015-09-28 2016-01-27 天津大学 H264 rapid movement estimation method for prediction movement vector
US9554134B2 (en) 2007-06-30 2017-01-24 Microsoft Technology Licensing, Llc Neighbor determination in video decoding
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
US9769485B2 (en) 2011-09-16 2017-09-19 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
CN108124163A (en) * 2017-12-14 2018-06-05 西北工业大学 A kind of all-zero blocks method suitable for HEVC
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
USRE49334E1 (en) 2005-10-04 2022-12-13 Hoffberg Family Trust 2 Multifactorial optimization system and method

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735253B1 (en) 1997-05-16 2004-05-11 The Trustees Of Columbia University In The City Of New York Methods and architecture for indexing and editing compressed video over the world wide web
US7143434B1 (en) 1998-11-06 2006-11-28 Seungyup Paek Video description system and method
US7339992B2 (en) 2001-12-06 2008-03-04 The Trustees Of Columbia University In The City Of New York System and method for extracting text captions from video and generating video summaries
JP2005348093A (en) * 2004-06-03 2005-12-15 Sony Corp Image processor, program and method thereof
KR100703760B1 (en) * 2005-03-18 2007-04-06 삼성전자주식회사 Video encoding/decoding method using motion prediction between temporal levels and apparatus thereof
TWI271106B (en) * 2005-10-25 2007-01-11 Novatek Microelectronics Corp Apparatus and method for motion estimation supporting multiple video compression standards
US8804829B2 (en) * 2006-12-20 2014-08-12 Microsoft Corporation Offline motion description for video generation
TW200840366A (en) * 2007-03-28 2008-10-01 Univ Nat Central Complexity control method of video encoder
US8467451B2 (en) * 2007-11-07 2013-06-18 Industrial Technology Research Institute Methods for selecting a prediction mode
KR101505195B1 (en) * 2008-02-20 2015-03-24 삼성전자주식회사 Method for direct mode encoding and decoding
KR100939917B1 (en) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 Encoding system using motion estimation and encoding method using motion estimation
WO2009126785A2 (en) 2008-04-10 2009-10-15 The Trustees Of Columbia University In The City Of New York Systems and methods for image archaeology
WO2009155281A1 (en) 2008-06-17 2009-12-23 The Trustees Of Columbia University In The City Of New York System and method for dynamically and interactively searching media data
KR101364195B1 (en) * 2008-06-26 2014-02-21 에스케이텔레콤 주식회사 Method and Apparatus for Encoding and Decoding Motion Vector
JP5128389B2 (en) * 2008-07-01 2013-01-23 株式会社日立国際電気 Moving picture coding apparatus and moving picture coding method
US8463053B1 (en) 2008-08-08 2013-06-11 The Research Foundation Of State University Of New York Enhanced max margin learning on multimodal data mining in a multimedia database
US20100074336A1 (en) * 2008-09-25 2010-03-25 Mina Goor Fractional motion estimation engine
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US8671069B2 (en) 2008-12-22 2014-03-11 The Trustees Of Columbia University, In The City Of New York Rapid image annotation via brain state decoding and visual pattern mining
US9654792B2 (en) * 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US20120082228A1 (en) 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
PT2485488T (en) * 2011-02-02 2017-06-30 Nagravision Sa A media decoder and a decoding method allowing for the media decoder to be traced
US9682315B1 (en) * 2011-09-07 2017-06-20 Zynga Inc. Social surfacing and messaging interactions
KR101889101B1 (en) * 2011-09-14 2018-08-17 세종대학교산학협력단 Method and apparatus for restoring image using copy memory
US20130195180A1 (en) * 2012-02-01 2013-08-01 Motorola Mobility, Inc. Encoding an image using embedded zero block coding along with a discrete cosine transformation
US9332276B1 (en) 2012-08-09 2016-05-03 Google Inc. Variable-sized super block based direct prediction mode
US10230956B2 (en) 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements
US10277907B2 (en) 2012-10-25 2019-04-30 Integrated Device Technology, Inc. Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components
US9053366B2 (en) 2013-02-20 2015-06-09 Honeywell International Inc. System and method for detecting motion in compressed video
US9398302B2 (en) * 2013-03-08 2016-07-19 Mediatek Inc. Image encoding method and apparatus with rate control by selecting target bit budget from pre-defined candidate bit budgets and related image decoding method and apparatus
KR102114252B1 (en) 2013-07-05 2020-05-22 삼성전자 주식회사 Method and apparatus for deciding video prediction mode
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US10142647B2 (en) 2014-11-13 2018-11-27 Google Llc Alternating block constrained decision mode coding
TWI511530B (en) * 2014-12-09 2015-12-01 Univ Nat Kaohsiung 1St Univ Sc Distributed video coding system and decoder for distributed video coding system
US10462480B2 (en) * 2014-12-31 2019-10-29 Microsoft Technology Licensing, Llc Computationally efficient motion estimation
US9984301B2 (en) 2015-04-20 2018-05-29 Qualcomm Incorporated Non-matching feature-based visual motion estimation for pose determination
US10805643B2 (en) * 2016-03-30 2020-10-13 Advanced Micro Devices, Inc. Adaptive error-controlled dynamic voltage and frequency scaling for low power video codecs
US11651016B2 (en) * 2018-08-09 2023-05-16 Walmart Apollo, Llc System and method for electronic text classification
CN112383776B (en) * 2020-12-08 2022-05-03 重庆邮电大学 Method and device for quickly selecting SHVC (scalable video coding) video coding mode
CN112702601B (en) * 2020-12-17 2023-03-10 北京达佳互联信息技术有限公司 Method and apparatus for determining motion vector for inter prediction
KR20220157765A (en) * 2021-05-21 2022-11-29 삼성전자주식회사 Video Encoder and the operating method thereof
CN114173134B (en) * 2021-12-03 2024-04-05 京东科技信息技术有限公司 Video encoding method, apparatus, electronic device, and computer-readable medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560284B1 (en) * 1997-09-12 2003-05-06 Netergy Microelectronics, Inc. Video coder/decoder
US20040131121A1 (en) * 2003-01-08 2004-07-08 Adriana Dumitras Method and apparatus for improved coding mode selection
US6807231B1 (en) * 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor

Family Cites Families (297)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2141607A (en) 1983-06-15 1984-12-19 Philips Electronic Associated Video display system with index pages
JPS60204086A (en) 1984-03-28 1985-10-15 Fuji Electric Co Ltd Object discriminating device
US4649482A (en) 1984-08-31 1987-03-10 Bio-Logic Systems Corp. Brain electrical activity topographical mapping
US5579444A (en) 1987-08-28 1996-11-26 Axiom Bildverarbeitungssysteme Gmbh Adaptive vision-based controller
US5664177A (en) 1988-04-13 1997-09-02 Digital Equipment Corporation Data processing system having a data structure with a single, simple primitive
CA2001390C (en) 1988-12-19 1997-12-30 Ming-Chien Shan View composition in a data-base management system
US5144685A (en) 1989-03-31 1992-09-01 Honeywell Inc. Landmark recognition for autonomous mobile robots
US5682425A (en) 1990-04-23 1997-10-28 Canon Kabushiki Kaisha Information signal transmission system
FR2661585B1 (en) 1990-04-25 1992-08-07 Telediffusion Fse METHOD AND DEVICE FOR SCRAMBLING-SCRATCHING DIGITAL IMAGE DATA.
JPH04207878A (en) 1990-11-30 1992-07-29 Toshiba Corp Moving image management device
US5191645A (en) 1991-02-28 1993-03-02 Sony Corporation Of America Digital signal processing system employing icon displays
JP3177746B2 (en) 1991-03-20 2001-06-18 株式会社日立製作所 Data processing system and method
US5212742A (en) 1991-05-24 1993-05-18 Apple Computer, Inc. Method and apparatus for encoding/decoding image data
DE69131251T2 (en) 1991-08-15 1999-12-09 Ibm System and method for processing data representing stored images
US5546572A (en) 1991-08-28 1996-08-13 Hitachi, Ltd. Method for retrieving database of image information
US5701510A (en) 1991-11-14 1997-12-23 International Business Machines Corporation Method and system for efficient designation and retrieval of particular segments within a multimedia presentation utilizing a data processing system
US7006881B1 (en) 1991-12-23 2006-02-28 Steven Hoffberg Media recording device with remote graphic user interface
JPH0756652B2 (en) 1992-03-24 1995-06-14 インターナショナル・ビジネス・マシーンズ・コーポレイション Search for video frame sequence
US5623690A (en) 1992-06-03 1997-04-22 Digital Equipment Corporation Audio/video storage and retrieval for multimedia workstations by interleaving audio and video data in data file
US5262856A (en) 1992-06-04 1993-11-16 Massachusetts Institute Of Technology Video image compositing techniques
GB9215102D0 (en) 1992-07-16 1992-08-26 Philips Electronics Uk Ltd Tracking moving objects
US5721788A (en) 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
GB2270436A (en) 1992-09-05 1994-03-09 Ibm Target tracking system
JP2903904B2 (en) 1992-10-09 1999-06-14 松下電器産業株式会社 Image retrieval device
US5579471A (en) 1992-11-09 1996-11-26 International Business Machines Corporation Image query system and method
US5615112A (en) 1993-01-29 1997-03-25 Arizona Board Of Regents Synthesized object-oriented entity-relationship (SOOER) model for coupled knowledge-base/database of image retrieval expert system (IRES)
US5630121A (en) 1993-02-02 1997-05-13 International Business Machines Corporation Archiving and retrieving multimedia objects using structured indexes
US5408274A (en) 1993-03-11 1995-04-18 The Regents Of The University Of California Method and apparatus for compositing compressed video data
US5555354A (en) 1993-03-23 1996-09-10 Silicon Graphics Inc. Method and apparatus for navigation within three-dimensional information landscape
US5585852A (en) 1993-06-16 1996-12-17 Intel Corporation Processing video signals for scalable video playback using independently encoded component-plane bands
US5391199A (en) 1993-07-20 1995-02-21 Biosense, Inc. Apparatus and method for treating cardiac arrhythmias
US5619709A (en) 1993-09-20 1997-04-08 Hnc, Inc. System and method of context vector generation and retrieval
JP3303543B2 (en) 1993-09-27 2002-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション How to organize and play multimedia segments, and how to organize and play two or more multimedia stories as hyperstory
US6122403A (en) 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
US6614914B1 (en) 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
US5600831A (en) 1994-02-28 1997-02-04 Lucent Technologies Inc. Apparatus and methods for retrieving information by modifying query plan based on description of information sources
US5555378A (en) 1994-03-02 1996-09-10 Bell Communications Research, Inc. Scheduling transmission multimedia information in broadband networks using a token passing scheme
US5668897A (en) 1994-03-15 1997-09-16 Stolfo; Salvatore J. Method and apparatus for imaging, image processing and data compression merge/purge techniques for document image databases
US5606655A (en) 1994-03-31 1997-02-25 Siemens Corporate Research, Inc. Method for representing contents of a single video shot using frames
US5465353A (en) 1994-04-01 1995-11-07 Ricoh Company, Ltd. Image matching and retrieval by multi-access redundant hashing
TW259725B (en) * 1994-04-11 1995-10-11 Mitsubishi Heavy Ind Ltd
US5488664A (en) 1994-04-22 1996-01-30 Yeda Research And Development Co., Ltd. Method and apparatus for protecting visual information with printed cryptographic watermarks
US5493677A (en) 1994-06-08 1996-02-20 Systems Research & Applications Corporation Generation, archiving, and retrieval of digital images with evoked suggestion-set captions and natural language interface
US5708473A (en) * 1994-08-30 1998-01-13 Hughes Aircraft Company Two stage video film compression method and system
US5613032A (en) 1994-09-02 1997-03-18 Bell Communications Research, Inc. System and method for recording, playing back and searching multimedia events wherein video, audio and text can be searched and retrieved
WO1996008095A1 (en) 1994-09-08 1996-03-14 Virtex Communications, Inc. Method and apparatus for electronic distribution of digital multi-media information
US5642477A (en) 1994-09-22 1997-06-24 International Business Machines Corporation Method and apparatus for selectably retrieving and outputting digitally stored multimedia presentations with real-time non-interrupting, dynamically selectable introduction of output processing
US5802361A (en) 1994-09-30 1998-09-01 Apple Computer, Inc. Method and system for searching graphic images and videos
US5566089A (en) 1994-10-26 1996-10-15 General Instrument Corporation Of Delaware Syntax parser for a video decompression processor
US6246804B1 (en) 1994-11-15 2001-06-12 Canon Kabushiki Kaisha Image retrieval method and apparatus using a compound image formed from a plurality of detected regions
WO1996017313A1 (en) 1994-11-18 1996-06-06 Oracle Corporation Method and apparatus for indexing multimedia information streams
WO1996017306A2 (en) 1994-11-21 1996-06-06 Oracle Corporation Media server
US5805733A (en) 1994-12-12 1998-09-08 Apple Computer, Inc. Method and system for detecting scenes and summarizing video sequences
US5646997A (en) 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
US5530759A (en) 1995-02-01 1996-06-25 International Business Machines Corporation Color correct digital watermarking of images
US5821945A (en) 1995-02-03 1998-10-13 The Trustees Of Princeton University Method and apparatus for video browsing based on content and structure
US5794242A (en) 1995-02-07 1998-08-11 Digital Equipment Corporation Temporally and spatially organized database
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
JPH08262965A (en) 1995-03-20 1996-10-11 Mitsubishi Electric Corp Closed caption decoder with pause function for language learning
JP3609488B2 (en) 1995-05-17 2005-01-12 株式会社日立製作所 Information processing system
US5721815A (en) 1995-06-07 1998-02-24 International Business Machines Corporation Media-on-demand communication system and method employing direct access storage device
US5684715A (en) 1995-06-07 1997-11-04 Canon Information Systems, Inc. Interactive video system with dynamic video object descriptors
JPH0916457A (en) 1995-06-28 1997-01-17 Fujitsu Ltd Multimedia data retrieval system
US5758076A (en) 1995-07-19 1998-05-26 International Business Machines Corporation Multimedia server system having rate adjustable data retrieval based on buffer capacity
US5822524A (en) 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
EP0757490A3 (en) 1995-08-02 1999-01-13 Matsushita Electric Industrial Co., Ltd. Video coding device and video transmission system using the same, quantization control method and average throughput calculation method used therein
DE69618759T2 (en) 1995-09-06 2002-09-12 Koninkl Philips Electronics Nv METHOD AND SYSTEM FOR CODING A SEQUENCE OF SEGMENTED IMAGES, CODED SIGNAL AND STORAGE MEDIUM, METHOD AND SYSTEM FOR DECODING THE ENCODED SIGNAL
US5734893A (en) 1995-09-28 1998-03-31 Ibm Corporation Progressive content-based retrieval of image and video with adaptive and iterative refinement
US5969755A (en) 1996-02-05 1999-10-19 Texas Instruments Incorporated Motion based event detection system and method
US5664018A (en) 1996-03-12 1997-09-02 Leighton; Frank Thomson Watermarking process resilient to collusion attacks
US5949885A (en) 1996-03-12 1999-09-07 Leighton; F. Thomson Method for protecting content using watermarking
US5987459A (en) 1996-03-15 1999-11-16 Regents Of The University Of Minnesota Image and document management system for content-based retrieval
US5893095A (en) 1996-03-29 1999-04-06 Virage, Inc. Similarity engine for content-based retrieval of images
US5884298A (en) 1996-03-29 1999-03-16 Cygnet Storage Solutions, Inc. Method for accessing and updating a library of optical discs
US5767922A (en) 1996-04-05 1998-06-16 Cornell Research Foundation, Inc. Apparatus and process for detecting scene breaks in a sequence of video frames
US5852435A (en) 1996-04-12 1998-12-22 Avid Technology, Inc. Digital multimedia editing and data management system
US5696964A (en) 1996-04-16 1997-12-09 Nec Research Institute, Inc. Multimedia database retrieval system which maintains a posterior probability distribution that each item in the database is a target of a search
US5870754A (en) 1996-04-25 1999-02-09 Philips Electronics North America Corporation Video retrieval of MPEG compressed sequences using DC and motion signatures
JP3423835B2 (en) 1996-05-01 2003-07-07 沖電気工業株式会社 Compression encoding device with scramble and decompression reproduction device thereof
MY119560A (en) 1996-05-27 2005-06-30 Nippon Telegraph & Telephone Scheme for detecting captions in coded video data without decoding coded video data
US6078664A (en) 1996-12-20 2000-06-20 Moskowitz; Scott A. Z-transform implementation of digital watermarks
US6154755A (en) 1996-07-31 2000-11-28 Eastman Kodak Company Index imaging system
US6031914A (en) 1996-08-30 2000-02-29 Regents Of The University Of Minnesota Method and apparatus for embedding data, including watermarks, in human perceptible images
US6282299B1 (en) 1996-08-30 2001-08-28 Regents Of The University Of Minnesota Method and apparatus for video watermarking using perceptual masks
US5848155A (en) 1996-09-04 1998-12-08 Nec Research Institute, Inc. Spread spectrum watermark for embedded signalling
US5809139A (en) 1996-09-13 1998-09-15 Vivo Software, Inc. Watermarking method and apparatus for compressed digital video
US5873080A (en) 1996-09-20 1999-02-16 International Business Machines Corporation Using multiple search engines to search multimedia data
US5734752A (en) 1996-09-24 1998-03-31 Xerox Corporation Digital watermarking using stochastic screen patterns
US6075875A (en) 1996-09-30 2000-06-13 Microsoft Corporation Segmentation of image features using hierarchical analysis of multi-valued image data and weighted averaging of segmentation results
US5852823A (en) 1996-10-16 1998-12-22 Microsoft Image classification and retrieval system using a query-by-example paradigm
SE515535C2 (en) 1996-10-25 2001-08-27 Ericsson Telefon Ab L M A transcoder
US5825892A (en) 1996-10-28 1998-10-20 International Business Machines Corporation Protecting images with an image watermark
US5915027A (en) 1996-11-05 1999-06-22 Nec Research Institute Digital watermarking
US6141447A (en) * 1996-11-21 2000-10-31 C-Cube Microsystems, Inc. Compressed video transcoder
US6172675B1 (en) 1996-12-05 2001-01-09 Interval Research Corporation Indirect manipulation of data using temporally related data, with particular application to manipulation of audio or audiovisual data
JPH10174103A (en) * 1996-12-13 1998-06-26 Matsushita Electric Ind Co Ltd Image encoder, encoded image recording medium, image decoder, image encoding method and encoded image transmitting method
US5953506A (en) 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
JP3106985B2 (en) 1996-12-25 2000-11-06 日本電気株式会社 Electronic watermark insertion device and detection device
US6058205A (en) 1997-01-09 2000-05-02 International Business Machines Corporation System and method for partitioning the feature space of a classifier in a pattern classification system
US5963203A (en) 1997-07-03 1999-10-05 Obvious Technology, Inc. Interactive video icon with designated viewing position
US5790703A (en) 1997-01-21 1998-08-04 Xerox Corporation Digital watermarking using conjugate halftone screens
US5901245A (en) 1997-01-23 1999-05-04 Eastman Kodak Company Method and system for detection and characterization of open space in digital images
TR199700058A2 (en) 1997-01-29 1998-08-21 Onural Levent Moving object segmentation based on rules.
US6157746A (en) 1997-02-12 2000-12-05 Sarnoff Corporation Apparatus and method for encoding wavelet trees generated by a wavelet-based coding method
US5930783A (en) 1997-02-21 1999-07-27 Nec Usa, Inc. Semantic and cognition based image retrieval
AUPO525497A0 (en) 1997-02-21 1997-03-20 Mills, Dudley John Network-based classified information systems
JP3736706B2 (en) 1997-04-06 2006-01-18 ソニー株式会社 Image display apparatus and method
US6079566A (en) 1997-04-07 2000-06-27 At&T Corp System and method for processing object-based audiovisual information
US5937422A (en) 1997-04-15 1999-08-10 The United States Of America As Represented By The National Security Agency Automatically generating a topic description for text and searching and sorting text by topic using the same
JP3485438B2 (en) 1997-04-16 2004-01-13 シャープ株式会社 Electronic calculator with graph display function
US6741655B1 (en) 1997-05-05 2004-05-25 The Trustees Of Columbia University In The City Of New York Algorithms and system for object-oriented content-based video search
US6208746B1 (en) * 1997-05-09 2001-03-27 Gte Service Corporation Biometric watermarks
US6735253B1 (en) 1997-05-16 2004-05-11 The Trustees Of Columbia University In The City Of New York Methods and architecture for indexing and editing compressed video over the world wide web
US6125229A (en) 1997-06-02 2000-09-26 Philips Electronics North America Corporation Visual indexing system
US6131162A (en) 1997-06-05 2000-10-10 Hitachi Ltd. Digital data authentication method
US5960081A (en) 1997-06-05 1999-09-28 Cray Research, Inc. Embedding a digital signature in a video sequence
US6222932B1 (en) 1997-06-27 2001-04-24 International Business Machines Corporation Automatic adjustment of image watermark strength based on computed image texture
US5983218A (en) 1997-06-30 1999-11-09 Xerox Corporation Multimedia database for use over networks
US6195458B1 (en) 1997-07-29 2001-02-27 Eastman Kodak Company Method for content-based temporal segmentation of video
US6360234B2 (en) 1997-08-14 2002-03-19 Virage, Inc. Video cataloger system with synchronized encoders
US6208735B1 (en) 1997-09-10 2001-03-27 Nec Research Institute, Inc. Secure spread spectrum watermarking for multimedia data
US6886013B1 (en) 1997-09-11 2005-04-26 International Business Machines Corporation HTTP caching proxy to filter and control display of data in a web browser
US6108434A (en) 1997-09-12 2000-08-22 Signafy, Inc. Counteracting geometric distortions for DCT based watermarking
US5995978A (en) 1997-09-24 1999-11-30 Ricoh Company, Ltd. Navigation system for document image database
US6070167A (en) 1997-09-29 2000-05-30 Sharp Laboratories Of America, Inc. Hierarchical method and system for object-based audiovisual descriptive tagging of images for information retrieval, editing, and manipulation
US6070228A (en) 1997-09-30 2000-05-30 International Business Machines Corp. Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters
WO1999022318A1 (en) 1997-10-27 1999-05-06 Massachusetts Institute Of Technology Image search and retrieval system
US7154560B1 (en) 1997-10-27 2006-12-26 Shih-Fu Chang Watermarking of digital image data
JPH11196386A (en) 1997-10-30 1999-07-21 Toshiba Corp Computer system and closed caption display method
US6072542A (en) 1997-11-25 2000-06-06 Fuji Xerox Co., Ltd. Automatic video segmentation using hidden markov model
FR2772538B1 (en) 1997-12-17 2000-02-11 Telediffusion Fse METHOD AND SYSTEM FOR MEASURING THE QUALITY OF DIGITAL TELEVISION SIGNALS
US5956026A (en) 1997-12-19 1999-09-21 Sharp Laboratories Of America, Inc. Method for hierarchical summarization and browsing of digital video
US6100930A (en) 1997-12-19 2000-08-08 Thomson Consumer Electronics, Inc. Process and apparatus for performing wipes on compressed MPEG video bitstreams
US6037984A (en) 1997-12-24 2000-03-14 Sarnoff Corporation Method and apparatus for embedding a watermark into a digital image or image sequence
US6208745B1 (en) 1997-12-30 2001-03-27 Sarnoff Corporation Method and apparatus for imbedding a watermark into a bitstream representation of a digital image sequence
US6332030B1 (en) 1998-01-15 2001-12-18 The Regents Of The University Of California Method for embedding and extracting digital data in images and video
US6654931B1 (en) 1998-01-27 2003-11-25 At&T Corp. Systems and methods for playing, browsing and interacting with MPEG-4 coded audio-visual objects
JP3738939B2 (en) 1998-03-05 2006-01-25 Kddi株式会社 Moving image cut point detection device
US6628824B1 (en) 1998-03-20 2003-09-30 Ken Belanger Method and apparatus for image identification and comparison
US6064764A (en) 1998-03-30 2000-05-16 Seiko Epson Corporation Fragile watermarks for detecting tampering in images
US6092072A (en) 1998-04-07 2000-07-18 Lucent Technologies, Inc. Programmed medium for clustering large databases
US6240424B1 (en) 1998-04-22 2001-05-29 Nbc Usa, Inc. Method and system for similarity-based image classification
US6504941B2 (en) 1998-04-30 2003-01-07 Hewlett-Packard Company Method and apparatus for digital watermarking of images
US6487301B1 (en) 1998-04-30 2002-11-26 Mediasec Technologies Llc Digital authentication with digital and analog documents
US7444308B2 (en) 2001-06-15 2008-10-28 Health Discovery Corporation Data mining platform for bioinformatics and other knowledge discovery
CA2269651A1 (en) 1998-05-12 1999-11-12 Lucent Technologies, Inc. Transform domain image watermarking method and system
US6581058B1 (en) 1998-05-22 2003-06-17 Microsoft Corporation Scalable system for clustering of large databases having mixed data attributes
JP3615657B2 (en) 1998-05-27 2005-02-02 株式会社日立製作所 Video search method and apparatus, and recording medium
US6081278A (en) 1998-06-11 2000-06-27 Chen; Shenchang Eric Animation object having multiple resolution format
US6178416B1 (en) 1998-06-15 2001-01-23 James U. Parker Method and apparatus for knowledgebase searching
US6285995B1 (en) 1998-06-22 2001-09-04 U.S. Philips Corporation Image retrieval system using a query image
US6476814B1 (en) 1998-06-25 2002-11-05 Wordgraph, Inc. Display structure for representation of complex systems
EP1090505A1 (en) 1998-06-26 2001-04-11 General Instrument Corporation Terminal for composing and presenting mpeg-4 video programs
US6041079A (en) 1998-06-30 2000-03-21 Thomson Consumer Electronics, Inc, Field/frame conversion of DCT domain mixed field/frame mode macroblocks using 1-dimensional DCT/IDCT
US6480538B1 (en) * 1998-07-08 2002-11-12 Koninklijke Philips Electronics N.V. Low bandwidth encoding scheme for video transmission
CN1150765C (en) * 1998-07-10 2004-05-19 皇家菲利浦电子有限公司 Bit-rate modification
WO2000004723A1 (en) 1998-07-17 2000-01-27 Koninklijke Philips Electronics N.V. Device for demultiplexing coded data
US6532262B1 (en) * 1998-07-22 2003-03-11 Matsushita Electric Industrial Co., Ltd. Coding method and apparatus and recorder
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6714909B1 (en) 1998-08-13 2004-03-30 At&T Corp. System and method for automated multimedia content indexing and retrieval
US6346124B1 (en) 1998-08-25 2002-02-12 University Of Florida Autonomous boundary detection system for echocardiographic images
US6708055B2 (en) 1998-08-25 2004-03-16 University Of Florida Method for automated analysis of apical four-chamber images of the heart
US6167084A (en) 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
US6275599B1 (en) 1998-08-28 2001-08-14 International Business Machines Corporation Compressed image authentication and verification
JP3563270B2 (en) 1998-08-28 2004-09-08 株式会社日立製作所 Authentication method of digital watermark image
US6970602B1 (en) 1998-10-06 2005-11-29 International Business Machines Corporation Method and apparatus for transcoding multimedia using content analysis
US6185329B1 (en) 1998-10-13 2001-02-06 Hewlett-Packard Company Automatic caption text detection and processing for digital images
US6549911B2 (en) 1998-11-02 2003-04-15 Survivors Of The Shoah Visual History Foundation Method and apparatus for cataloguing multimedia data
US6385602B1 (en) 1998-11-03 2002-05-07 E-Centives, Inc. Presentation of search results using dynamic categorization
US7254285B1 (en) 1998-11-06 2007-08-07 Seungup Paek Image description system and method
US7653635B1 (en) 1998-11-06 2010-01-26 The Trustees Of Columbia University In The City Of New York Systems and methods for interoperable multimedia content descriptions
US7143434B1 (en) 1998-11-06 2006-11-28 Seungyup Paek Video description system and method
US6252975B1 (en) 1998-12-17 2001-06-26 Xerox Corporation Method and system for real time feature based motion analysis for key frame selection from a video
WO2000039954A1 (en) 1998-12-29 2000-07-06 Kent Ridge Digital Labs Method and apparatus for embedding digital information in digital multimedia data
US6327390B1 (en) 1999-01-14 2001-12-04 Mitsubishi Electric Research Laboratories, Inc. Methods of scene fade detection for indexing of video sequences
US6532541B1 (en) 1999-01-22 2003-03-11 The Trustees Of Columbia University In The City Of New York Method and apparatus for image authentication
US6366701B1 (en) 1999-01-28 2002-04-02 Sarnoff Corporation Apparatus and method for describing the motion parameters of an object in an image sequence
US6643387B1 (en) 1999-01-28 2003-11-04 Sarnoff Corporation Apparatus and method for context-based indexing and retrieval of image sequences
US6223183B1 (en) 1999-01-29 2001-04-24 International Business Machines Corporation System and method for describing views in space, time, frequency, and resolution
US6236395B1 (en) 1999-02-01 2001-05-22 Sharp Laboratories Of America, Inc. Audiovisual information management system
US7185049B1 (en) 1999-02-01 2007-02-27 At&T Corp. Multimedia integration description scheme, method and system for MPEG-7
US6941325B1 (en) 1999-02-01 2005-09-06 The Trustees Of Columbia University Multimedia archive description scheme
US6556695B1 (en) 1999-02-05 2003-04-29 Mayo Foundation For Medical Education And Research Method for producing high resolution real-time images, of structure and function during medical procedures
WO2000049797A1 (en) 1999-02-16 2000-08-24 Koninklijke Philips Electronics N.V. Authentication and verification within a digital camera architecture
US6404925B1 (en) 1999-03-11 2002-06-11 Fuji Xerox Co., Ltd. Methods and apparatuses for segmenting an audio-visual recording using image similarity searching and audio speaker recognition
US6556958B1 (en) 1999-04-23 2003-04-29 Microsoft Corporation Fast clustering with sparse data
US6847980B1 (en) 1999-07-03 2005-01-25 Ana B. Benitez Fundamental entity-relationship models for the generic audio visual data signal description
US6393394B1 (en) 1999-07-19 2002-05-21 Qualcomm Incorporated Method and apparatus for interleaving line spectral information quantization methods in a speech coder
US6594629B1 (en) 1999-08-06 2003-07-15 International Business Machines Corporation Methods and apparatus for audio-visual speech detection and recognition
US6546135B1 (en) 1999-08-30 2003-04-08 Mitsubishi Electric Research Laboratories, Inc Method for representing and comparing multimedia content
US6339450B1 (en) 1999-09-21 2002-01-15 At&T Corp Error resilient transcoding for video over wireless channels
US7072398B2 (en) 2000-12-06 2006-07-04 Kai-Kuang Ma System and method for motion vector generation and analysis of digital video clips
JP2001145113A (en) * 1999-11-17 2001-05-25 Sony Corp Device and method for image information conversion
US6725372B1 (en) 1999-12-02 2004-04-20 Verizon Laboratories Inc. Digital watermarking
US6606393B1 (en) 1999-12-02 2003-08-12 Verizon Laboratories Inc. Message authentication code using image histograms
US6820111B1 (en) 1999-12-07 2004-11-16 Microsoft Corporation Computer user interface architecture that saves a user's non-linear navigation history and intelligently maintains that history
DE19960372A1 (en) 1999-12-14 2001-06-21 Definiens Ag Process for processing data structures
US7093028B1 (en) 1999-12-15 2006-08-15 Microsoft Corporation User and content aware object-based data stream transmission methods and arrangements
US6282300B1 (en) 2000-01-21 2001-08-28 Signafy, Inc. Rotation, scale, and translation resilient public watermarking for images using a log-polar fourier transform
US6385329B1 (en) 2000-02-14 2002-05-07 Digimarc Corporation Wavelet domain watermarks
WO2001061448A1 (en) 2000-02-18 2001-08-23 The University Of Maryland Methods for the electronic annotation, retrieval, and use of electronic images
KR20010087552A (en) 2000-03-07 2001-09-21 구자홍 Dissolve/fade detection method for mpeg-compressed video using spatio-temporal distribution of the macro blocks
CN101035277A (en) 2000-03-13 2007-09-12 索尼公司 Method and apparatus for generating compact code-switching hints metadata
US6701309B1 (en) 2000-04-21 2004-03-02 Lycos, Inc. Method and system for collecting related queries
US6567805B1 (en) 2000-05-15 2003-05-20 International Business Machines Corporation Interactive automated response system
US7177358B2 (en) * 2000-06-27 2007-02-13 Mitsubishi Denki Kabushiki Kaisha Picture coding apparatus, and picture coding method
US7624337B2 (en) 2000-07-24 2009-11-24 Vmark, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
US20020157116A1 (en) 2000-07-28 2002-10-24 Koninklijke Philips Electronics N.V. Context and content based information processing for multimedia segmentation and indexing
US8538770B2 (en) 2000-08-01 2013-09-17 Logical Images, Inc. System and method to aid diagnoses using cross-referenced knowledge and image databases
US6714683B1 (en) 2000-08-24 2004-03-30 Digimarc Corporation Wavelet based feature modulation watermarks and related applications
WO2002025588A2 (en) 2000-09-21 2002-03-28 Md Online Inc. Medical image processing systems
DE10048029A1 (en) 2000-09-26 2002-04-25 Philips Corp Intellectual Pty Procedure for calculating a transformation connecting two images
US6904408B1 (en) 2000-10-19 2005-06-07 Mccarthy John Bionet method, system and personalized web content manager responsive to browser viewers' psychological preferences, behavioral responses and physiological stress indicators
US7398275B2 (en) 2000-10-20 2008-07-08 Sony Corporation Efficient binary coding scheme for multimedia content descriptions
GB0029880D0 (en) 2000-12-07 2001-01-24 Sony Uk Ltd Video and audio information processing
US7266148B2 (en) * 2001-01-05 2007-09-04 Lg Electronics Inc. Video transcoding apparatus
WO2002061669A1 (en) 2001-01-10 2002-08-08 The Trustees Of Columbia University In The City Of New York Method and apparatus for watermarking images
US20020124104A1 (en) 2001-03-01 2002-09-05 Yigal Rappaport Network element and a method for preventing a disorder of a sequence of data packets traversing the network
US6792434B2 (en) 2001-04-20 2004-09-14 Mitsubishi Electric Research Laboratories, Inc. Content-based visualization and user-modeling for interactive browsing and retrieval in multimedia databases
US6915241B2 (en) 2001-04-20 2005-07-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method for segmentation and identification of nonstationary time series
US20020169771A1 (en) 2001-05-09 2002-11-14 Melmon Kenneth L. System & method for facilitating knowledge management
ES2187353B1 (en) 2001-06-15 2004-08-16 Consultores Ub 57, S.L. DYNAMIC NAVIGATION INTERFACE.
US7145946B2 (en) 2001-07-27 2006-12-05 Sony Corporation MPEG video drift reduction
BR0205949A (en) 2001-08-28 2003-12-23 Koninkl Philips Electronics Nv Electronic equipment including a reading medium for reading multimedia content that is described in a document containing descriptions, method for asking a question, program including program code instructions for implementing said method, and system including equipment
US6959042B1 (en) * 2001-10-01 2005-10-25 Cisco Technology, Inc. Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing
US7339992B2 (en) 2001-12-06 2008-03-04 The Trustees Of Columbia University In The City Of New York System and method for extracting text captions from video and generating video summaries
US6700935B2 (en) 2002-02-08 2004-03-02 Sony Electronics, Inc. Stream based bitrate transcoder for MPEG coded video
JP4193990B2 (en) 2002-03-22 2008-12-10 ディーリング,マイケル,エフ. Scalable high-performance 3D graphics
US7043474B2 (en) 2002-04-15 2006-05-09 International Business Machines Corporation System and method for measuring image similarity based on semantic meaning
AU2003231102A1 (en) 2002-04-26 2003-11-10 Electronics And Telecommunications Research Institute Method and system for optimal video transcoding based on utility function descriptors
US20030229278A1 (en) 2002-06-06 2003-12-11 Usha Sinha Method and system for knowledge extraction from image data
JP3944016B2 (en) 2002-07-18 2007-07-11 パロマ工業株式会社 rice cooker
WO2004010329A1 (en) 2002-07-19 2004-01-29 British Telecommunications Public Limited Company Method and system for classification of semantic content of audio/video data
JP3988599B2 (en) 2002-09-20 2007-10-10 富士ゼロックス株式会社 Image processing method, falsification detection method, image processing apparatus, falsification detection apparatus, image processing program, falsification detection program, and image forming medium
US7103225B2 (en) 2002-11-07 2006-09-05 Honda Motor Co., Ltd. Clustering appearances of objects under varying illumination conditions
US8054880B2 (en) * 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
AU2003301143A1 (en) 2002-12-19 2004-07-14 Drexel University Apparatus and method for removing non-discriminatory indices of an indexed dataset
JP4112968B2 (en) 2002-12-26 2008-07-02 富士通株式会社 Video text processing device
JP4662779B2 (en) 2003-01-06 2011-03-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Device for switching to similar video content
US7327885B2 (en) 2003-06-30 2008-02-05 Mitsubishi Electric Research Laboratories, Inc. Method for detecting short term unusual events in videos
US7403302B2 (en) 2003-08-06 2008-07-22 Hewlett-Packard Development Company, L.P. Method and a system for indexing and tracking digital images
EP1513350A1 (en) * 2003-09-03 2005-03-09 Thomson Licensing S.A. Process and arrangement for encoding video pictures
JP2007507784A (en) 2003-09-30 2007-03-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Audio-visual content composition system and method
US7313269B2 (en) 2003-12-12 2007-12-25 Mitsubishi Electric Research Laboratories, Inc. Unsupervised learning of video structures in videos using hierarchical statistical models to detect events
US20050154987A1 (en) 2004-01-14 2005-07-14 Isao Otsuka System and method for recording and reproducing multimedia
WO2005076594A1 (en) 2004-02-06 2005-08-18 Agency For Science, Technology And Research Automatic video event detection and indexing
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US7603370B2 (en) 2004-03-22 2009-10-13 Microsoft Corporation Method for duplicate detection and suppression
US20050289531A1 (en) 2004-06-08 2005-12-29 Daniel Illowsky Device interoperability tool set and method for processing interoperability application specifications into interoperable application packages
US7590589B2 (en) 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US7551780B2 (en) 2005-08-23 2009-06-23 Ricoh Co., Ltd. System and method for using individualized mixed document
US8156427B2 (en) 2005-08-23 2012-04-10 Ricoh Co. Ltd. User interface for mixed media reality
US7812986B2 (en) 2005-08-23 2010-10-12 Ricoh Co. Ltd. System and methods for use of voice mail and email in a mixed media environment
US7574409B2 (en) 2004-11-04 2009-08-11 Vericept Corporation Method, apparatus, and system for clustering and classification
US7519217B2 (en) 2004-11-23 2009-04-14 Microsoft Corporation Method and system for generating a classifier using inter-sample relationships
US7308443B1 (en) 2004-12-23 2007-12-11 Ricoh Company, Ltd. Techniques for video retrieval based on HMM similarity
US7386806B2 (en) 2005-01-05 2008-06-10 Hillcrest Laboratories, Inc. Scaling and layout methods and systems for handling one-to-many objects
US8031774B2 (en) * 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control
US7653264B2 (en) 2005-03-04 2010-01-26 The Regents Of The University Of Michigan Method of determining alignment of images in high dimensional feature space
US20060224532A1 (en) 2005-03-09 2006-10-05 Case Western Reserve University Iterative feature weighting with neural networks
US7809192B2 (en) 2005-05-09 2010-10-05 Like.Com System and method for recognizing objects from images and identifying relevancy amongst images and information
US8732025B2 (en) 2005-05-09 2014-05-20 Google Inc. System and method for enabling image recognition and searching of remote content on display
EP1879673A4 (en) 2005-05-11 2010-11-03 Planetwide Games Inc Creating publications using gaming-based media content
WO2007028166A2 (en) 2005-09-02 2007-03-08 Blindsight, Inc. A system and method for detecting text in real-world color images
US7801893B2 (en) 2005-09-30 2010-09-21 Iac Search & Media, Inc. Similarity detection and clustering of images
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7773813B2 (en) 2005-10-31 2010-08-10 Microsoft Corporation Capture-intention detection for video content analysis
US7644373B2 (en) 2006-01-23 2010-01-05 Microsoft Corporation User interface for viewing clusters of images
US7439989B2 (en) 2006-02-17 2008-10-21 Microsoft Corporation Detecting doctored JPEG images
US8019763B2 (en) 2006-02-27 2011-09-13 Microsoft Corporation Propagating relevance from labeled documents to unlabeled documents
US7949186B2 (en) 2006-03-15 2011-05-24 Massachusetts Institute Of Technology Pyramid match kernel and related techniques
US7860317B2 (en) 2006-04-04 2010-12-28 Microsoft Corporation Generating search results based on duplicate image detection
US7707481B2 (en) 2006-05-16 2010-04-27 Pitney Bowes Inc. System and method for efficient uncorrectable error detection in flash memory
US7720851B2 (en) 2006-05-16 2010-05-18 Eastman Kodak Company Active context-based concept fusion
US8392418B2 (en) 2009-06-25 2013-03-05 University Of Tennessee Research Foundation Method and apparatus for predicting object properties and events using similarity-based information retrieval and model
US9049408B2 (en) 2006-09-01 2015-06-02 Texas Instruments Incorporated Color space appearance model video processor
US8332333B2 (en) 2006-10-19 2012-12-11 Massachusetts Institute Of Technology Learning algorithm for ranking on graph data
KR100805591B1 (en) 2006-11-16 2008-02-20 삼성에스디아이 주식회사 Fuel cell system and operating method of it
US7756338B2 (en) 2007-02-14 2010-07-13 Mitsubishi Electric Research Laboratories, Inc. Method for detecting scene boundaries in genre independent videos
US8230457B2 (en) 2007-03-07 2012-07-24 The Nielsen Company (Us), Llc. Method and system for using coherence of biological responses as a measure of performance of a media
US8145677B2 (en) 2007-03-27 2012-03-27 Faleh Jassem Al-Shameri Automated generation of metadata for mining image and text data
JP5273042B2 (en) 2007-05-25 2013-08-28 日本電気株式会社 Image sound section group association apparatus, method, and program
JP4632096B2 (en) 2007-06-07 2011-02-16 ソニー株式会社 Navigation device and nearest search method
US8045800B2 (en) 2007-06-11 2011-10-25 Microsoft Corporation Active segmentation for groups of images
US7996762B2 (en) 2007-09-21 2011-08-09 Microsoft Corporation Correlative multi-label image annotation
US20090132561A1 (en) 2007-11-21 2009-05-21 At&T Labs, Inc. Link-based classification of graph nodes
WO2009126785A2 (en) 2008-04-10 2009-10-15 The Trustees Of Columbia University In The City Of New York Systems and methods for image archaeology
WO2009155281A1 (en) 2008-06-17 2009-12-23 The Trustees Of Columbia University In The City Of New York System and method for dynamically and interactively searching media data
US8520949B1 (en) 2008-06-20 2013-08-27 Google Inc. Self-similar descriptor filtering
US8180766B2 (en) 2008-09-22 2012-05-15 Microsoft Corporation Bayesian video search reranking
WO2010057546A1 (en) 2008-11-21 2010-05-27 Nero Ag Apparatus for verifying and for generating an encrypted token and methods for same
US8671069B2 (en) 2008-12-22 2014-03-11 The Trustees Of Columbia University, In The City Of New York Rapid image annotation via brain state decoding and visual pattern mining
WO2010075408A1 (en) 2008-12-22 2010-07-01 The Trustees Of Columbia University In The City Of New York System and method for annotating and searching media
US8135221B2 (en) 2009-10-07 2012-03-13 Eastman Kodak Company Video concept classification using audio-visual atoms
US8725766B2 (en) 2010-03-25 2014-05-13 Rovi Technologies Corporation Searching text and other types of content by using a frequency domain
US8788434B2 (en) 2010-10-28 2014-07-22 Google Inc. Search with joint image-audio queries
US8854973B2 (en) 2012-08-29 2014-10-07 International Business Machines Corporation Sliced routing table management with replication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560284B1 (en) * 1997-09-12 2003-05-06 Netergy Microelectronics, Inc. Video coder/decoder
US6807231B1 (en) * 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US20040131121A1 (en) * 2003-01-08 2004-07-08 Adriana Dumitras Method and apparatus for improved coding mode selection

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747088B2 (en) 2005-09-28 2010-06-29 Arc International (Uk) Limited System and methods for performing deblocking in microprocessor-based video codec applications
US7971042B2 (en) 2005-09-28 2011-06-28 Synopsys, Inc. Microprocessor system and method for instruction-initiated recording and execution of instruction sequences in a dynamically decoupleable extended instruction pipeline
US8212823B2 (en) 2005-09-28 2012-07-03 Synopsys, Inc. Systems and methods for accelerating sub-pixel interpolation in video processing applications
US8218635B2 (en) 2005-09-28 2012-07-10 Synopsys, Inc. Systolic-array based systems and methods for performing block matching in motion compensation
USRE49334E1 (en) 2005-10-04 2022-12-13 Hoffberg Family Trust 2 Multifactorial optimization system and method
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US9161034B2 (en) 2007-02-06 2015-10-13 Microsoft Technology Licensing, Llc Scalable multi-thread video decoding
US8743948B2 (en) 2007-02-06 2014-06-03 Microsoft Corporation Scalable multi-thread video decoding
US8879636B2 (en) 2007-05-25 2014-11-04 Synopsys, Inc. Adaptive video encoding apparatus and methods
WO2008147565A3 (en) * 2007-05-25 2009-01-22 Arc International Plc Adaptive video encoding apparatus and methods
WO2008147565A2 (en) * 2007-05-25 2008-12-04 Arc International, Plc Adaptive video encoding apparatus and methods
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US10567770B2 (en) 2007-06-30 2020-02-18 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US9819970B2 (en) 2007-06-30 2017-11-14 Microsoft Technology Licensing, Llc Reducing memory consumption during video decoding
US9554134B2 (en) 2007-06-30 2017-01-24 Microsoft Technology Licensing, Llc Neighbor determination in video decoding
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
CN102547264A (en) * 2010-12-28 2012-07-04 深圳市融创天下科技股份有限公司 Motion prediction method and system of interframe coding
US9743114B2 (en) 2011-06-30 2017-08-22 Microsoft Technology Licensing, Llc Reducing latency in video encoding and decoding
US9729898B2 (en) 2011-06-30 2017-08-08 Mircosoft Technology Licensing, LLC Reducing latency in video encoding and decoding
US10003824B2 (en) 2011-06-30 2018-06-19 Microsoft Technology Licensing, Llc Reducing latency in video encoding and decoding
US8837600B2 (en) 2011-06-30 2014-09-16 Microsoft Corporation Reducing latency in video encoding and decoding
US9210421B2 (en) 2011-08-31 2015-12-08 Microsoft Technology Licensing, Llc Memory management for video decoding
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US9769485B2 (en) 2011-09-16 2017-09-19 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
CN105282557B (en) * 2015-09-28 2018-05-18 天津大学 A kind of H.264 rapid motion estimating method of predicted motion vector
CN105282557A (en) * 2015-09-28 2016-01-27 天津大学 H264 rapid movement estimation method for prediction movement vector
CN108124163A (en) * 2017-12-14 2018-06-05 西北工业大学 A kind of all-zero blocks method suitable for HEVC

Also Published As

Publication number Publication date
US9060175B2 (en) 2015-06-16
WO2006096612A3 (en) 2007-07-05
US20080181308A1 (en) 2008-07-31
US20150245033A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
US9060175B2 (en) System and method for motion estimation and mode decision for low-complexity H.264 decoder
JP5400876B2 (en) Rate control model adaptation based on slice dependency for video coding
EP2213006B1 (en) Method and apparatus for performing motion estimation
US10091507B2 (en) Perceptual optimization for model-based video encoding
JP6698077B2 (en) Perceptual optimization for model-based video coding
KR101437719B1 (en) Digital video coding with interpolation filters and offsets
US8457202B2 (en) Method and apparatus for determining expected distortion in decoded video blocks
CA2883133C (en) A video encoding method and a video encoding apparatus using the same
US20060209952A1 (en) Image encoding/decoding method and apparatus therefor
US8976856B2 (en) Optimized deblocking filters
KR101098739B1 (en) Apparatus and method for encoding/decoding a video signal
WO2008149327A2 (en) Method and apparatus for motion-compensated video signal prediction
US8170110B2 (en) Method and apparatus for zoom motion estimation
Wang et al. Complexity adaptive H. 264 encoding for light weight streams
CN115428451A (en) Video encoding method, encoder, system, and computer storage medium
Shen et al. Fast H. 264/MPEG-4 AVC transcoding using power-spectrum based rate-distortion optimization
Yang et al. Description of video coding technology proposal by Huawei Technologies & Hisilicon Technologies
Wang et al. Motion estimation and mode decision for low-complexity h. 264 decoder
Tsai Rate control for low-delay video using a dynamic rate table
JP2011077721A (en) Image encoding device, image decoding device, image encoding method, and image decoding method
KR101647484B1 (en) Method and apparatus for encoding video
Zhang Advanced techniques for high fidelity video coding
Kwon Performance and computational complexity optimization techniques in configurable video coding system
Jing Motion compensation and bit-rate control techniques for video encoder optimization
Wu et al. Fast Coding Mode Selection for Rate-Distortion Optimization in H. 264/AVC

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06737083

Country of ref document: EP

Kind code of ref document: A2