Method based on coding tree unit level rate-distortion optimization for rate control in video coding
A method based on CTU level rate-distortion optimization for rate control in video coding which can effectively improve the perceptual rate-distortion performance and coding efficiency is provided. Firstly, a perceptual rate-distortion model is established using a divisive normalization framework, which characterizes the relationship between local visual quality and coding bits. Subsequently, the established perceptual rate-distortion model is applied to overall distortion optimization which is transformed into a global optimization problem and solved with convex optimization algorithms to obtain optimal CTU level coding bit allocation.
1. An encoding method in an encoding device using coding tree unit (CTU) level rate-distortion (R-D) optimization for rate control (RC) in video coding, comprising:
generating, in an encoding device, multiple frames of a received input video in a frame generating module;
generating, in the coding device, one or more coding tree units from at least one frame of the received input video;
dividing a frame of the input video into one or more CTUs in a CTU module;
determining one or more CTU level coding bits through R-D performance optimization, comprising using a divisive normalization framework to characterize a CTU level perceptual distortion (D′(R)), in relation with a CTU level mean square error (MSE) distortion (D(R)), and a divisive normalized factor (f), by:
D ′( R )= D ( R )/ f 2 ,
where R is the CTU level coding bit rate; wherein the relationship between the perceptual distortion D′(R) and the bit rate R is depicted with a R-D logarithmic model:
D ′( R )=ln( c×R −k )
where c and k are model parameters depending on the video content;
estimating the model parameters k of the frame on basis of the coding statistics of a previous frame; wherein an optimal value of a parameter k j for a j-th CTU in the current frame is obtained by minimizing the difference between a true distortion D real of a co-located j-th CTU in the previous frame and an estimated distortion D comp for the j-th CTU of the current frame; and
generating a video bitstream based on coded video.
2. An encoding method according to claim 1 , further comprising:
dividing each CTU into a number, l, of sub-blocks for Direct Cosine Transform (DCT); and
obtaining the divisive normalization factor, f, from Structural Similarity (SSIM) index in DCT domain by:
f
=
1
l
∑
i
=
1
l
∑
j
=
1
N
L
-
1
(
U
i
(
j
)
2
+
V
i
(
j
)
2
)
N
L
-
1
+
C
1
E
(
∑
j
=
1
N
L
-
1
(
U
(
j
)
2
+
V
(
j
)
2
)
N
L
-
1
+
C
1
)
,
where E( ) is the expectation operation in the frame, U(j) and V(j) are the DCT coefficients of the input and reconstructed signals, respectively, U i (j) and V i (j) are the corresponding j-th DCT coefficient in the i-th sub-block, respectively, C l is the constant in accordance with the definition of SSIM index, and N L is the sub-block size.
3. An encoding method according to claim 2 , wherein the sub-block size, N L , is set to be 16.
4. An encoding method according to claim 1 , wherein the optimization of R-D performance further comprises:
converting a perceptual rate distortion cost function J to:
J
=
∑
i
=
1
N
D
′
(
R
i
)
+
λ
(
R
C
-
∑
i
=
1
N
R
i
)
,
where λ is the Lagrangian multiplier, D′(R i ) is the perceptual distortion of the i-th CTU with a coding bit rate R i , and N is the number of CTUs in the frame, R c , is the target frame-level coding bit of the current frame of the input video; and
determining one or more optimal CTU level coding bit by:
R
j
=
k
j
∑
i
=
1
N
k
i
R
c
,
where R j is the initial CTU level coding bit for the jth CTU in the current frame.
5. An encoding method according to claim 4 , wherein the optimization of R-D performance further comprises:
adjusting the one or more optimal CTU level coding bit R j * by:
R
j
*
=
R
j
×
ω
a
ω
a
=
(
1
-
∑
p
=
1
j
-
1
(
R
act
,
p
-
R
p
*
)
R
c
)
,
where ω a is an adjustment term to regularize the CTU level coding bit to ensure the frame-level coding bit budget can be met, R act,p and R p * are the actual coding bits and the target coding bits after bit allocation, respectively.
6. An encoding method according to claim 1 , wherein the difference between D real and D comp is expressed as squared error function, e 2 , defined as:
e 2 ( D real −D comp ) 2
and the optimal value of k for the j-th CTU the i-th frame, k new , is obtained by:
k new =k old −δ(−2( D real −D comp ))ln R,
= k old +δ k ( D real −D comp )ln R.
where δ k is set to be 0.05 and k old is the value of k of the co-located CTU in the previous frame.
7. An encoding method according to claim 1 , wherein the true distortion D real is obtained by:
D ′( R )= D ( R )/ f 2 .
8. An encoding method according to claim 1 , wherein the estimated distortion D comp for the j-th CTU of the current frame is obtained from the distortion of a co-located j-th CTU in the previously encoded frame.