1. Field of the Invention
The present invention generally relates to rate-distortion optimization (RDO) for video coding, and more particularly to a perceptual RDO using structural similarity (SSIM) index as a quality metric.
2. Description of Related Art
The high performance of H.264 video coding is attributed to, among other things, adoption of the rate-distortion optimization (RDO) framework. An objective distortion metric, such as mean square error (MSE), sum of square difference (SSD) or sum of absolute difference (SAD), is conventionally used in the RDO framework. However, these conventional metrics are poorly correlated with perceptual quality because they do not take the characteristics of the human visual system (e.g., visual perception) into account. Further, most conventional video coding systems are disadvantageously designed with such non-perceptual-based metrics.
The object of RDO is to minimize the distortion D at a given rate R by an appropriate selection of the coding modes. The RDO problem is commonly formulated as
where J is a cost function, and λ is the Lagrange multiplier that controls the tradeoff between the distortion and the rate.
As the rate-distortion (R-D) characteristic of the video content cannot be obtained until the video is encoded and the video cannot be encoded unless the R-D characteristic is given, the Lagrange multiplier cannot be directly calculated from the above expression. In order to resolve this dilemma, methods have been proposed but, as known to the inventors of the present application, none of them is both content-adaptive and computationally efficient. Furthermore, most of them are not perceptual-based.
For the reason that conventional methods could not effectively and economically obtain the Lagrange multiplier in order to encode the image, a need has arisen to propose a novel scheme for economically determining the Lagrange multiplier in a perceptual-based manner.
In view of the foregoing, it is an object of the embodiments of the present invention to provide a perceptual-based video coding method adopting perceptual-based rate-distortion optimization (RDO), which is more adaptive to content as compared to the conventional methods.
According to one embodiment, a frame is received followed by determining whether it is a key frame. When the received frame is determined to be a key frame, the key frame is encoded using a non-perceptual-based (e.g., MSE-based) rate distortion optimization (RDO) for at least two different quantization parameters (QPs), therefore obtaining at least two R-D points. Subsequently, the two R-D points are fit to provide a perceptual-based (e.g., SSIM-based) rate-distortion (R-D) curve as a predictive R-D curve. When the received frame is determined as a non-key frame, a previous R-D point is obtained according to an encoded previous frame. The Lagrange multiplier for the current non-key frame is then determined by deciding a slope, with sign reversed, of a tangent to the predictive R-D curve at a current point that is on the predictive R-D curve and closest to the previous R-D point. The current non-key frame is then encoded according to the determined Lagrange multiplier.
Referring to the embodiment, in block 10, an input frame is received. Subsequently, the input frame is determined, in block 11, as a key frame or a non-key frame. In general, the first frame of a whole video sequence is assigned as a key frame, and the first frame of a sub-sequence in the video sequence is determined or assigned as a key frame. The frames in a sub-sequence may have similar R-D characteristics, and different sub-sequences may have distinct R-D characteristics due, for example to high motion or scene change. Accordingly, the key frame may be periodically or non-periodically renewed.
When the received frame is determined as a key frame, the key frame is then encoded using the MSE-based RDO for at least two different quantization parameters (QPs). As a result, two R-D points (or pairs), (R1, D1) and (R2, D2), are obtained. A curve fit is applied to these two R-D pairs in order to derive an R-D curve. It may be empirically shown that the R-D points may be well fitted (e.g., represented, applied, or approximated) by a power function of the form D=αRβ, where α and β are model parameters (MPs), and β is a negative number. Therefore, the power function is used, in the embodiment, to approximate the MSE-based R-D curve in the perceptual R-D space.
DSSIM=1−SSIM.
In the embodiment, the model parameters (MPs) may be directly computed, in block 12, from the following equations:
Once the model parameters α and β are computed, the R-D model or curve may then be obtained in block 13. The obtained R-D model may be used as a predictive R-D model for the following consecutive frames, which generally have high correlation and hence similar R-D characteristics with the key frame. As discussed above, the key frame may be periodically or non-periodically renewed, and the R-D model may thus be refreshed accordingly.
On the other hand, when the current input frame is determined as a non-key frame in block 11, the non-key frame is then encoded in block 14. Accordingly, a corresponding R-D point may be obtained in block 15.
Afterwards, the Lagrange multiplier λSSIM (abbreviated as λ) of the current frame may be obtained (e.g., estimated), in block 16, by determining the slope, with sign reversed, of the tangent to the predictive R-D model at the current point that is on the predictive R-D curve and closest to the previous R-D point of the previous coded frame (from block 15). In other words, the Lagrange multiplier λ for the current frame may be obtained in a predictive manner by using the R-D model (from block 13) of the previous coded key frame and the previous R-D point of the previous coded frame (from block 15). Details of determining the Lagrange multiplier λ for the current frame will be described later. The relationship among the Lagrange multiplier λSSIM, the SSIM-based distortion DSSIM, and the rate R may be expressed as
J=DSSIM+λSSIMR
where J is, for example, the cost function of a H.264 mode decision.
For monotonic sequences of images (e.g., video conferencing types of sequences) having similar R-D characteristics or for applications that demand light-weight computation, a low-complexity mode is provided. In this mode, blocks 11 and 12 may be omitted. Instead, the R-D model is predetermined beforehand.
where d(.,.) denotes the 2-norm distance between two points, and C denotes the R-D curve; d(p0,q) may be expressed as
d(p0,q)=√{square root over ((R−Rprev)2+(D−Dprev)2)}{square root over ((R−Rprev)2+(D−Dprev)2)}=√{square root over ((R−Rprev)2+(αRβ−Dprev)2)}{square root over ((R−Rprev)2+(αRβ−Dprev)2)}
where Dprev denotes the distortion of the previous coded frame, and Rprev denotes the rate of the previous coded frame.
The current point p on the R-D curve may be found by solving the preceding formula by gradient descent. The gradient descent is a first-order optimization algorithm, and it itself is a conventional algorithm. Details of the gradient descent algorithm are thus omitted here for brevity. Once the current point p on the R-D curve is found, the Lagrange multiplier λSSIM, which is the slope, with sign reversed, of the tangent 30 (
It is noted that the gradient descent is an iterative algorithm, and the initial point as required in the gradient descent algorithm may be chosen, in the embodiment, to be the point vertically projected to the R-D curve from the point p0.
where p0=(Rp,Dp).
Therefore, the Lagrange multiplier λSSIM for the current frame may be determined as
It is noted that the present embodiment is an approximation approach. The advantage of this embodiment is simplicity in calculation. As opposed to the gradient descent embodiment, no iteration is required.
It is further noted that the present embodiment is not limited to that illustrated, and a variety of modifications may be made. For example, instead of connecting the horizontally projected point (Rh,Dh) and the vertically projected point (Rv,Dv), the slope at the current point p on the R-D curve may be obtained, in a modified embodiment, by averaging a slope Sh at the horizontally projected point (Rh,Dh) and a slope Sv at the vertically projected point (Rv,Dv):
λSSIM=−(Sh+Sv)/2.
Generally speaking, the slope at the current R-D point p that is on the R-D curve and closest to the previous R-D point po may be estimated according to two or more obtained points on the R-D curve. Accordingly, the Lagrange multiplier λ for the current frame is obtained as the estimated slope with sign reversed.
For the foregoing, the embodiments disclosed herein are more adaptive to content than the conventional methods that determine the Lagrange multiplier according to quantization parameters only. Given a perceptual quality level, the resulting video encoder according to the proposed embodiments may achieve 5%-10% bit rate reduction over, for example, the JM reference software. Subjective evaluation further confirms that, at the same bit-rate, the proposed perceptual RDO preserves image details and prevents block artifact better than the conventional RDO.
Although specific embodiments have been illustrated and described, it will be appreciated by those skilled in the art that various modifications may be made without departing from the scope of the present invention, which is intended to be limited solely by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
7042943 | Haskell et al. | May 2006 | B2 |
7308146 | Becker et al. | Dec 2007 | B2 |
7742643 | Yang et al. | Jun 2010 | B2 |
7876819 | Wang et al. | Jan 2011 | B2 |
20070009026 | Kwon et al. | Jan 2007 | A1 |
20080084929 | Li | Apr 2008 | A1 |
20080279466 | Yang | Nov 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20110142124 A1 | Jun 2011 | US |