US20150245033A1 - 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
US20150245033A1
US20150245033A1 US14/708,820 US201514708820A US2015245033A1 US 20150245033 A1 US20150245033 A1 US 20150245033A1 US 201514708820 A US201514708820 A US 201514708820A US 2015245033 A1 US2015245033 A1 US 2015245033A1
Authority
US
United States
Prior art keywords
complexity
block
motion
accordance
video data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/708,820
Inventor
Yong Wang
Shih-Fu Chang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Columbia University of New York
Original Assignee
Columbia University 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 Columbia University of New York filed Critical Columbia University of New York
Priority to US14/708,820 priority Critical patent/US20150245033A1/en
Publication of US20150245033A1 publication Critical patent/US20150245033A1/en
Abandoned legal-status Critical Current

Links

Images

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/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/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/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 .
  • 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.
  • 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 (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 (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 (t) using motion vector V and previously decoded and buffered reference image P (t ⁇ 1).
  • 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.
  • 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, pp. 560-576. July 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. 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. July 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:
  • 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.
  • 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 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.
  • 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).
  • 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 motion vector associated with the block is selected through a rate-distortion joint cost function:
  • V* is the optimal motion vector
  • sup ⁇ V ⁇ defines the search space, whose dimensions include the prediction direction, the reference frame list and the search range.
  • R MOTION is the estimated bit rate to record the motion vector.
  • D DFD represents the prediction error between the current block and the reference block.
  • SAD sum of absolute difference
  • J MOTION R,D (V) is the rate-distortion joint cost comprising of R MOTION and D DFD .
  • ⁇ MOTION is the Lagrange multiplier to control the weight of the bit rate cost, relative to the signal distortion caused by the prediction error.
  • the block mode M for an MB is decided by the following.
  • 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 REC is the SSD between the current MB and the reconstructed one through motion compensation.
  • R REC is the estimated bit rate associated with mode M.
  • J MODE R,D (M) is the joint cost comprising of rate R M and distortion D M
  • ⁇ MODE 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 REC .
  • 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 t and source complexity D t 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.
  • the source complexity is assumed to vary gradually and can be estimated using some simple relationship such as a linear 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 t , 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.
  • GOP Group of Pictures
  • 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.
  • R-D-C rate-distortion-complexity
  • 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 motion vectors may be selected through a rate-distortion-complexity joint cost function as follows:
  • C MOTION is the complexity cost function associated with the selected motion vector (V
  • ⁇ MOTION is the Lagrange multiplier for the complexity term
  • J MOTION R,D (V) is the rate-distortion joint cost function defined in Equation (3)
  • J MOTION R,D,C (V) is the rate-distortion-complexity joint cost function.
  • the block mode search process of the present invention may be performed according to the following.
  • C MODE is the complexity cost function associated with the block mode
  • ⁇ MODE is the Lagrange multiplier
  • J MODE R,D (V) is the rate-distortion joint cost function defined in (4)
  • J MODE R,D,C (V) is the rate-distortion-complexity joint cost function.
  • 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 ⁇ ( V ) N B ⁇ c P ⁇ ( V ) ( 11 )
  • c P ⁇ ( V ) ⁇ 0 V ⁇ ⁇ is ⁇ ⁇ integer ⁇ ⁇ MV e 6
  • V ⁇ ⁇ is ⁇ ⁇ subpixel ⁇ ⁇ b
  • V ⁇ ⁇ is ⁇ ⁇ subpixel ⁇ ⁇ a , c , d , n 2 ⁇ ⁇ e 6 + e 2
  • V ⁇ ⁇ is ⁇ ⁇ subpixel ⁇ ⁇ e , g , p , r 7 ⁇ ⁇ e 6
  • V ⁇ ⁇ is ⁇ ⁇ subpixel ⁇ ⁇ j 7 ⁇ ⁇ e 6 + e 2
  • V ⁇ ⁇ is ⁇ ⁇ subpixel ⁇ i , f , k , q ( 12 )
  • 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.
  • c P ⁇ ( V ) ⁇ 0 integer ⁇ ⁇ MV 1 subpixel ⁇ ⁇ a , b , c , d , h ⁇ & ⁇ ⁇ n 2 subpixel ⁇ ⁇ e , g , p , r 7 subpixel ⁇ ⁇ i , j , f , k , q ( 13 )
  • 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:
  • block-based complexity may be modeled as (after value scaling):
  • V ⁇ ⁇ is ⁇ ⁇ integer ⁇ ⁇ MV 4
  • V ⁇ ⁇ is ⁇ ⁇ subpixel ⁇ ⁇ a , b , c , d , h ⁇ ⁇ and ⁇ ⁇ n 8
  • V ⁇ ⁇ is ⁇ ⁇ subpixel ⁇ ⁇ e , g , p , r 13
  • V ⁇ ⁇ is ⁇ ⁇ subpixel ⁇ ⁇ i , j , f , k , q ( 14 )
  • Equation (14) can even be further fine tuned considering variable block size implementation during MC, in accordance with the lookup table below:
  • 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:
  • o j is the basic operator involved in the interpolation implementation
  • N(o j ) is the required number of operator o j
  • P(o j ) is the power consumption of operator o j
  • ⁇ 1 is the adjustment factor to consider additional power cost such as memory access.
  • 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 add are 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.
  • the computational cost for a block B with the block mode M is calculated as:
  • 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 ( ⁇ MOTION , ⁇ MODE ). This is an important property of the Lagrange multiplier. In other words, given a specific ⁇ circumflex over ( ⁇ ) ⁇ MODE and considering Equation (10), the bit stream with complexity C( ⁇ circumflex over ( ⁇ ) ⁇ MODE ) can be derived. This ⁇ circumflex over ( ⁇ ) ⁇ MODE is (approximately) the optimal solution for the following problem:
  • V i and M i are the motion vector and block mode for i th MB respectively
  • J R,D is the R-D cost function
  • C(V, M) is the complexity cost function.
  • the complexity level C( ⁇ circumflex over ( ⁇ ) ⁇ MODE ) associated with ⁇ circumflex over ( ⁇ ) ⁇ MODE 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 ⁇ MODE 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 ⁇ MODE .
  • 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 ⁇ MODE . The latter is for monitoring the complexity usage and updating the available computational resource for each new data unit.
  • ⁇ MODE complexity and control parameters
  • 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.
  • K 1 , K 0 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 Lagrange multiplier ⁇ MODE (t) for the 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 ⁇ MODE (t) 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.
  • 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. 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.
  • C GOP the remaining complexity budget in one GOP
  • N P , N B the remaining numbers of P, B frames respectively
  • the complexity ratio between P and B, which is updated during video coding
  • the target complexity levels for P, B frame C P , C B may be calculated using the following equations:
  • Equation (22) assumes 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.

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

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 11/846,088 filed Aug. 28, 2007, which is a continuation of PCT International Application No. PCT/US06/07862, filed Mar. 6, 2006, which is based on U.S. provisional patent application No. 60/658,440, filed Mar. 4, 2005, the contents of each of which are incorporated by reference in their entireties herein, and from which priority is claimed.
  • BACKGROUND OF THE INVENTION
  • 1. Technical Field
  • The present invention relates to systems and methods for motion estimation and mode decision for low-complexity H.264 standard encoders/decoders.
  • 2. 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 D ( P ) s . t . , R ( P ) R T ( 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 RT 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, January 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. 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, 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, December, 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, Calif., January 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., Jul. 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 P D ( P ) s . t . , R ( P ) R T C ( P ) C T ( 2 )
  • 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(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 dT(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 P R(t) using motion vector V and previously decoded and buffered reference image P(t−1). 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 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. 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, pp. 560-576. July 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. July 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=((5F+20G+20H−5I−J)+16)/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:
  • TABLE 1
    Sub pixel locations and their interpolation complexities
    Sub Pixel Type Points Interpolation
    (0, 0) G No
    (0, ½), (½, 0) b, h 1 6-tap
    (0, ¼), (¼, 0), (0, ¾), (¾, 0) a, c, d, n 1 6-tap + 1 2-tap
    (¼, ¼), (¼, ¾), (¾, ¼), (¾, ¾) e, g, p, r 2 6-tap + 1 2-tap
    (½), (½) j 7 6-tap
    (½, ¼), (¼, ½), (¾, ½), (½, ¾) i, f, k, q 7 6-tap + 1
    Bilinear
  • 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 16×16 or 8×8) 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, November 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 ) = arg min V sup { V } J MOTION R , D ( V B , M ) = arg min V sup { V { D DFD ( V B , M ) + λ MOTION R MOTION ( V B , M ) } ( 3 )
  • where V* is the optimal motion vector, sup{V} defines the search space, whose dimensions include the prediction direction, the reference frame list and the search range. RMOTION is the estimated bit rate to record the motion vector. DDFD 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). JMOTION R,D(V) is the rate-distortion joint cost comprising of RMOTION and DDFD. λMOTION is the 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 ) = arg min M sup { M } J MODE R , D ( M MB , QP ) = arg min M sup { M } { D REC ( M MB , QP ) + λ MODE R REC ( M MB , QP ) } ( 4 )
  • 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. DREC is the SSD between the current MB and the reconstructed one through motion compensation. RREC is the estimated bit rate associated with mode M. JMODE R,D(M) is the joint cost comprising of rate RM and distortion DM, and λMODE 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 DREC.

  • λMOTION=√{square root over (λ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, February 1997, which is fully incorporated herein by reference, is:

  • R=D(P 1 ·QP −1 +P 2 ·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 Rt and source complexity Dt 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, Rt, 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.
  • λ MODE = 0.85 × QP - 12 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 λMOTION 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:
  • V C * ( B , M ) = arg min V sup { V } J MOTION R , D , C ( V B , M ) = arg min V sup { V } { J MOTION R , D ( V B , M ) + γ MOTION C MOTION ( V B , M ) } ( 8 )
  • where CMOTION is the complexity cost function associated with the selected motion vector (V|B, M), γMOTION is the Lagrange multiplier for the complexity term, JMOTION R,D(V) is the rate-distortion joint cost function defined in Equation (3), and JMOTION R,D,C(V) is the 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.
  • M C * ( MB , QP ) = arg min M sup { M } J MODE R , D , C ( M MB , QP ) = arg min M sup { M } { J MODE R , D ( M MB , QP ) + γ MODE C MODE ( M MB ) } ( 9 )
  • where CMODE is the complexity cost function associated with the block mode, γMODE is the Lagrange multiplier, JMODE R,D(V) is the rate-distortion joint cost function defined in (4), and JMODE R,D,C(V) is the rate-distortion-complexity joint cost function.
  • The effect of γMODE=0 is apparent in view of the above. When γ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 γMODE=∞, 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 γMOTION:

  • γMOTION=√{square root over (γMODE)}  (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.
  • c B ( V ) = N B · c P ( V ) ( 11 ) c P ( V ) = { 0 V is integer MV e 6 V is subpixel b , h e 6 + e 2 V is subpixel a , c , d , n 2 e 6 + e 2 V is subpixel e , g , p , r 7 e 6 V is subpixel j 7 e 6 + e 2 V is subpixel i , f , k , q ( 12 )
  • 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.
  • c P ( V ) = { 0 integer MV 1 subpixel a , b , c , d , h & n 2 subpixel e , g , p , r 7 subpixel i , j , f , k , q ( 13 )
  • 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×4 block (the minimum MC unit in H.264), the complexity is 1×16=16;
      • For sub pixels e, g, p and r, similar to previous case, the complexity is 2×16=32;
      • For sub pixels i, j, f, k and q, on each column within a 4×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×4+2×12=52.
  • Therefore, block-based complexity may be modeled as (after value scaling):
  • Cp ( V ) = 0 V is integer MV 4 V is subpixel a , b , c , d , h and n 8 V is subpixel e , g , p , r 13 V is subpixel i , j , f , k , q ( 14 )
  • 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:
  • TABLE 2
    Lookup table for complexity cost using
    variable block size MC implementation
    Mode Integer
    1 6-tap 2 6-tap 7 6-tap
    SKIP/DIRECT 0 256 512 592
    16 × 16 0 256 512 592
    16 × 8  0 128 256 296
     8 × 16 0 128 256 296
    8 × 8 0 64 128 168
    8 × 4 0 32 64 84
    4 × 8 0 32 64 84
    4 × 4 0 16 32 52
    Intra 0 0 0 0
  • 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:
  • e i = j ρ N ( o j ) P ( o j ) , i = 2 , 6 ( 15 )
  • where oj is the basic operator involved in the interpolation implementation, N(oj) is the required number of operator oj, P(oj) is the power consumption of operator oj, and ρ≧1 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

  • e 6=ρ(6P add+2P shift)   (16)
  • where Padd, Pshift are 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 M is calculated as:
  • C MOTION ( V B , M ) = j ( c B ( V j , M , B ) ) ( 17 )
  • 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:
  • C MODE ( M MB ) = i j ( c B ( B i , V j , MB ) ) ( 18 )
  • where i is the index of the individual blocks contained in the MB, and j 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 (γMOTION, γMODE). This is an important property of the Lagrange multiplier. In other words, given a specific {circumflex over (γ)}MODE and considering Equation (10), the bit stream with complexity C({circumflex over (γ)}MODE) can be derived. This {circumflex over (γ)}MODE is (approximately) the optimal solution for the following problem:
  • min { V _ , M _ } i = 1 N J R , D ( V i , M i ) s . t . , i = 1 N C ( V i , M i ) C ( γ ^ MODE ) ( 19 )
  • where V=(V1, V2, . . . , VN) and M=(M1, M2, . . . , MN) are the motion vectors and block modes for all MBs respectively, Vi and Mi are the motion vector and block mode for ith MB respectively, JR,D is the R-D cost function, and C(V, M) is the complexity cost function. Unfortunately, the complexity level C({circumflex over (γ)}MODE) associated with {circumflex over (γ)}MODE 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 γ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 λMODE. 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 γ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 (γMODE 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:

  • CMODE)=D(K 1 ln(γMODE)+K 0)   (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. K1, 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 γMODE(t) for the current coding unit t can be determined by the following:
  • γ MODE ( t ) = exp { C ( t ) - K 0 D ( t ) K 1 D ( t ) } ( 21 )
  • 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 γMODE(t) 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 CGOP 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:
  • C B C P = η ( 22 ) N P C P + N B C B = C GOP ( 23 )
  • Once CP, CB are available, γMODE(t) 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.3 dB. 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. July 2003.
    • [2] 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. July 2003.
    • [3] V. Lappalainen, A. Hallapuro, and T. D. Hämäläinen, “Complexity of OptimizedH.26L Video Decoder Implementation,” IEEE Trans. Circuits Syst. Video Technol., vol 13, pp. 717-725. July 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, November 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, February 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, January 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.
    • [11] 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, December, 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, Calif., January 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., Jul. 6-9, 2003
    • [20] 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 (20)

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.
US14/708,820 2005-03-04 2015-05-11 System and method for motion estimation and mode decision for low-complexity h.264 decoder Abandoned US20150245033A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
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 (4)

Application Number Priority Date Filing Date Title
US65844005P 2005-03-04 2005-03-04
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
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

Related Parent 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 (1)

Publication Number Publication Date
US20150245033A1 true US20150245033A1 (en) 2015-08-27

Family

ID=36953922

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/846,088 Expired - Fee Related 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 Abandoned US20150245033A1 (en) 2005-03-04 2015-05-11 System and method for motion estimation and mode decision for low-complexity h.264 decoder

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/846,088 Expired - Fee Related US9060175B2 (en) 2005-03-04 2007-08-28 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074336A1 (en) * 2008-09-25 2010-03-25 Mina Goor Fractional motion estimation engine

Families Citing this family (59)

* 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
AU2002351310A1 (en) 2001-12-06 2003-06-23 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
US20070073925A1 (en) 2005-09-28 2007-03-29 Arc International (Uk) Limited Systems and methods for synchronizing multiple processing engines of a microprocessor
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
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
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
TW200840366A (en) * 2007-03-28 2008-10-01 Univ Nat Central Complexity control method of video encoder
US8879636B2 (en) 2007-05-25 2014-11-04 Synopsys, Inc. Adaptive video encoding apparatus and methods
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
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
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
US20120082228A1 (en) * 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
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
CN102547264B (en) * 2010-12-28 2014-09-03 深圳市云宙多媒体技术有限公司 Motion prediction method and system of interframe coding
ES2628427T3 (en) * 2011-02-02 2017-08-02 Nagravision S.A. Multimedia decoder and decoding method that allows multimedia decoder tracking
LT3691268T (en) 2011-06-30 2023-10-10 Microsoft Technology Licensing, Llc Reducing latency in video encoding and decoding
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
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
US9591318B2 (en) 2011-09-16 2017-03-07 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
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
CN105282557B (en) * 2015-09-28 2018-05-18 天津大学 A kind of H.264 rapid motion estimating method of predicted motion vector
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
CN108124163B (en) * 2017-12-14 2020-07-14 西北工业大学 All-zero block detection method suitable for HEVC (high efficiency video coding)
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

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708473A (en) * 1994-08-30 1998-01-13 Hughes Aircraft Company Two stage video film compression method and system
US6044115A (en) * 1996-12-13 2000-03-28 Matsushita Electric Industrial Co., Ltd. Method and apparatus for coding and decoding digital image data using image quantization modification
US20020131494A1 (en) * 1998-07-22 2002-09-19 Matsushita Electric Industrial Co., Ltd. Coding method and apparatus and recorder
US6570921B1 (en) * 1998-07-10 2003-05-27 Koninklijke Philips Electronics N.V. Data compression assembly having several data-compression channels
US6687296B1 (en) * 1999-11-17 2004-02-03 Sony Corporation Apparatus and method for transforming picture information
US6959042B1 (en) * 2001-10-01 2005-10-25 Cisco Technology, Inc. Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing
US20060126728A1 (en) * 2004-12-10 2006-06-15 Guoyao Yu Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US20060171456A1 (en) * 2005-01-31 2006-08-03 Mediatek Incorporation Video encoding methods and systems with frame-layer rate control
US20070297507A1 (en) * 2001-01-05 2007-12-27 Lg Electronics Inc. Video transcoding apparatus
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder

Family Cites Families (290)

* 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
EP0528084B1 (en) 1991-08-15 1999-05-19 International Business Machines Corporation 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
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
US5694334A (en) 1994-09-08 1997-12-02 Starguide Digital Networks, 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
US5684715A (en) 1995-06-07 1997-11-04 Canon Information Systems, Inc. Interactive video system with dynamic video object descriptors
US5721815A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Media-on-demand communication system and method employing direct access storage device
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
EP0789973B1 (en) 1995-09-06 2002-01-23 Koninklijke Philips Electronics N.V. Method and system for coding a sequence of segmented images, corresponding coded signal and storage medium, and method and system for decoding such a coded 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
US5884298A (en) * 1996-03-29 1999-03-16 Cygnet Storage Solutions, Inc. Method for accessing and updating a library of optical discs
US5893095A (en) * 1996-03-29 1999-04-06 Virage, Inc. Similarity engine for content-based retrieval of images
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
US6282299B1 (en) 1996-08-30 2001-08-28 Regents Of The University Of Minnesota Method and apparatus for video watermarking using perceptual masks
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
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
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
TR199700058A3 (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
AUPO525497A0 (en) 1997-02-21 1997-03-20 Mills, Dudley John Network-based classified information systems
US5930783A (en) 1997-02-21 1999-07-27 Nec Usa, Inc. Semantic and cognition based image retrieval
JP3736706B2 (en) 1997-04-06 2006-01-18 ソニー株式会社 Image display apparatus and method
EP0914636A4 (en) 1997-04-07 2008-07-30 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
US5960081A (en) 1997-06-05 1999-09-28 Cray Research, Inc. Embedding a digital signature in a video sequence
US6131162A (en) 1997-06-05 2000-10-10 Hitachi Ltd. Digital data authentication method
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
US6807231B1 (en) * 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US6249318B1 (en) * 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
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
US7154560B1 (en) 1997-10-27 2006-12-26 Shih-Fu Chang Watermarking of digital image data
AU1365699A (en) 1997-10-27 1999-05-17 Imagen Incorporated Image search and retrieval system
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
KR100705992B1 (en) 1998-07-17 2007-04-12 코닌클리케 필립스 일렉트로닉스 엔.브이. Device for demultiplexing coded data
US6714909B1 (en) 1998-08-13 2004-03-30 At&T Corp. System and method for automated multimedia content indexing and retrieval
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6708055B2 (en) * 1998-08-25 2004-03-16 University Of Florida Method for automated analysis of apical four-chamber images of the heart
US6346124B1 (en) * 1998-08-25 2002-02-12 University Of Florida Autonomous boundary detection system for echocardiographic images
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
JP2002529858A (en) 1998-11-06 2002-09-10 ザ トゥルスティーズ オブ コロンビア ユニバーシティ イン ザ シティ オブニュー ヨーク System and method for interoperable multimedia content description
US7143434B1 (en) 1998-11-06 2006-11-28 Seungyup Paek Video description system and method
US7254285B1 (en) 1998-11-06 2007-08-07 Seungup Paek Image 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
GB2366112B (en) * 1998-12-29 2003-05-28 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
EP1072149A1 (en) 1999-02-16 2001-01-31 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
US6606393B1 (en) 1999-12-02 2003-08-12 Verizon Laboratories Inc. Message authentication code using image histograms
US6725372B1 (en) * 1999-12-02 2004-04-20 Verizon Laboratories Inc. Digital watermarking
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
AU2001238354A1 (en) * 2000-02-18 2001-08-27 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
KR20040041082A (en) * 2000-07-24 2004-05-13 비브콤 인코포레이티드 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
AU2001291175A1 (en) * 2000-09-21 2002-04-02 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
US6879703B2 (en) 2001-01-10 2005-04-12 Trustees Of Columbia University Of 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
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
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
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
EP1423803A1 (en) * 2001-08-28 2004-06-02 Koninklijke Philips Electronics N.V. Automatic question formulation from a user selection in multimedia content
AU2002351310A1 (en) 2001-12-06 2003-06-23 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
JP2005525011A (en) 2002-04-26 2005-08-18 ザ トラスティーズ オブ コロンビア ユニヴァーシティ イン ザ シティ オブ ニューヨーク Method and system for optimal video transcoding based on utility function description
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
EP1523717A1 (en) 2002-07-19 2005-04-20 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
EP1579378B1 (en) 2002-11-07 2009-02-25 HONDA MOTOR CO., Ltd. Clustering appearances of objects under varying illumination conditions
US8010296B2 (en) 2002-12-19 2011-08-30 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
WO2004061711A1 (en) * 2003-01-06 2004-07-22 Koninklijke Philips Electronics N.V. Method and apparatus for similar video content hopping
US7194035B2 (en) * 2003-01-08 2007-03-20 Apple Computer, Inc. Method and apparatus for improved coding mode selection
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
KR20060090687A (en) 2003-09-30 2006-08-14 코닌클리케 필립스 일렉트로닉스 엔.브이. System and method for audio-visual content synthesis
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
US20080193016A1 (en) 2004-02-06 2008-08-14 Agency For Science, Technology And Research Automatic Video Event Detection and Indexing
US7603370B2 (en) 2004-03-22 2009-10-13 Microsoft Corporation Method for duplicate detection and suppression
US7730482B2 (en) 2004-06-08 2010-06-01 Covia Labs, Inc. Method and system for customized programmatic dynamic creation of interoperability content
US7590589B2 (en) 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
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
US8156427B2 (en) * 2005-08-23 2012-04-10 Ricoh Co. Ltd. User interface for mixed media reality
US7551780B2 (en) 2005-08-23 2009-06-23 Ricoh Co., Ltd. System and method for using individualized mixed document
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
WO2006074266A2 (en) 2005-01-05 2006-07-13 Hillcrest Laboratories, Inc. Scaling and layout methods and systems for handling one-to-many objects
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
US8732025B2 (en) * 2005-05-09 2014-05-20 Google Inc. System and method for enabling image recognition and searching of remote content on display
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
WO2006122329A2 (en) 2005-05-11 2006-11-16 Planetwide Games, Inc. Creating publications using gaming-based media content
EP1938249A2 (en) 2005-09-02 2008-07-02 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
US7720851B2 (en) 2006-05-16 2010-05-18 Eastman Kodak Company Active context-based concept fusion
US7707481B2 (en) 2006-05-16 2010-04-27 Pitney Bowes Inc. System and method for efficient uncorrectable error detection in flash memory
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
EP2353251B1 (en) 2008-11-21 2012-10-17 Nero Ag Apparatus for verifying and for generating an encrypted token and methods for same
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
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
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 (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708473A (en) * 1994-08-30 1998-01-13 Hughes Aircraft Company Two stage video film compression method and system
US6044115A (en) * 1996-12-13 2000-03-28 Matsushita Electric Industrial Co., Ltd. Method and apparatus for coding and decoding digital image data using image quantization modification
US6570921B1 (en) * 1998-07-10 2003-05-27 Koninklijke Philips Electronics N.V. Data compression assembly having several data-compression channels
US20020131494A1 (en) * 1998-07-22 2002-09-19 Matsushita Electric Industrial Co., Ltd. Coding method and apparatus and recorder
US6687296B1 (en) * 1999-11-17 2004-02-03 Sony Corporation Apparatus and method for transforming picture information
US20070297507A1 (en) * 2001-01-05 2007-12-27 Lg Electronics Inc. Video transcoding apparatus
US6959042B1 (en) * 2001-10-01 2005-10-25 Cisco Technology, Inc. Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US20060126728A1 (en) * 2004-12-10 2006-06-15 Guoyao Yu Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US20060171456A1 (en) * 2005-01-31 2006-08-03 Mediatek Incorporation Video encoding methods and systems with frame-layer rate control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074336A1 (en) * 2008-09-25 2010-03-25 Mina Goor Fractional motion estimation engine

Also Published As

Publication number Publication date
US20080181308A1 (en) 2008-07-31
WO2006096612A2 (en) 2006-09-14
WO2006096612A3 (en) 2007-07-05
US9060175B2 (en) 2015-06-16

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
US7792193B2 (en) Image encoding/decoding method and apparatus therefor
US8908765B2 (en) Method and apparatus for performing motion estimation
US8073048B2 (en) Method and apparatus for minimizing number of reference pictures used for inter-coding
US6167162A (en) Rate-distortion optimized coding mode selection for video coders
US8811484B2 (en) Video encoding by filter selection
US20090135901A1 (en) Complexity adaptive video encoding using multiple reference frames
US20050276493A1 (en) Selecting macroblock coding modes for video encoding
US8948243B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
US9307241B2 (en) Video encoding method and a video encoding apparatus using the same
US20070081589A1 (en) Adaptive quantization controller and methods thereof
US9036712B1 (en) Methods and/or apparatus for controlling zero-residual coding in predictive image/video coding
KR101098739B1 (en) Apparatus and method for encoding/decoding a video signal
US20100020881A1 (en) Motion vector detecting device, motion vector detecting method, image encoding device, and program
JP2001145113A (en) Device and method for image information conversion
RU2340115C1 (en) Method of coding video signals, supporting fast algorithm of precise scalability on quality
Flierl et al. Video Coding with Superimposed Motion-Compensated Signals: Applications to H. 264 and Beyond
US20070206681A1 (en) Mode decision for intra video encoding
Shen et al. Fast H. 264/MPEG-4 AVC transcoding using power-spectrum based rate-distortion optimization
US7991048B2 (en) Device and method for double-pass encoding of a video data stream
Yang et al. Description of video coding technology proposal by Huawei Technologies & Hisilicon Technologies
JP4243286B2 (en) Encoding method
Wang et al. Motion estimation and mode decision for low-complexity h. 264 decoder
JP4169767B2 (en) Encoding method

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION