IP Library Granted Patent US 10,212,451
Granted Patent B2
US 10,212,451 · App. 15/175,429 · Granted Feb 19, 2019

Methods for RDO (rate-distortion optimization) based on fit-curves and apparatuses using the same

Inventor: ChuanChuan Zhu (Shanghai, CN)
Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
H04N19/567H04N19/119H04N19/147H04N19/172H04N19/176H04N19/593
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,212,451
App. No.
15/175,429
Granted
Feb 19, 2019
Kind
B2
Abstract

A method for RDO (Rate-Distortion Optimization) based on fit-curves contains at least the following steps: calculating a first fit-curve and a second fit-curve according to information regarding a first frame; carrying information regarding a second frame into the first and second fit-curves to calculate fit distortions and fit bit counts; calculating costs according to the fit distortions and the fit bit counts; determining the best block-division mode for the second frame according to the costs; and dividing the second frame into blocks according to the best block-division mode and encoding the second frame.

Claims (1316)

1. A method for RDO (Rate-Distortion Optimization) based on fit-curves, comprising:

calculating a first fit-curve and a second fit-curve according to information regarding a first frame;

carrying information regarding a second frame into the first and second fit-curves to calculate a plurality of fit distortions and a plurality of fit bit counts;

calculating a plurality of costs according to the fit distortions and the fit bit counts;

determining the best block-division mode for the second frame according to the costs; and

dividing the second frame into blocks according to the best block-division mode and encoding the second frame;

wherein the step for calculating a first fit-curve and a second fit-curve according to information regarding a first frame further comprises:

obtaining a plurality of first distortions between a plurality of original pixel values and a plurality of predicted pixel values of a plurality of PUs (Prediction Units) of the first frame;

obtaining a plurality of second distortions between the original pixel values and a plurality of reconstructed pixel values of the PUs of the first frame;

calculating the first fit-curve according to the first distortions and the second distortions;

obtaining a plurality of first absolute values of syntax of residuals of the PUs of the first frame;

obtaining a plurality of bit counts required to encode the first frame; and

calculating the second fit-curve according to the first absolute values of syntax of residuals and the bit counts;

wherein the step for calculating the first fit-curve according to the first distortions and the second distortions further comprises:

calculating the first fit-curve using Equations (1) and (2):

[

i

=

1

N

1

i

=

1

N

x

i

1

i

=

1

N

x

i

1

2

i

=

1

N

x

i

1

3

i

=

1

N

x

i

1

i

=

1

N

x

i

1

2

i

=

1

N

x

i

1

3

i

=

1

N

x

i

1

4

i

=

1

N

x

i

1

2

i

=

1

N

x

i

1

3

i

=

1

N

x

i

1

4

i

=

1

N

x

i

1

5

i

=

1

N

x

i

1

3

i

=

1

N

x

i

1

4

i

=

1

N

x

i

1

5

i

=

1

N

x

i

1

6

]

·

[

a

1

b

1

c

1

d

1

]

=

[

i

=

1

N

y

i

1

i

=

1

N

x

i

1

·

y

i

1

i

=

1

N

x

i

1

2

·

y

i

1

i

=

1

N

x

i

1

3

·

y

i

1

]

(

1

)

y

1

(

x

)

=

a

1

·

x

3

+

b

1

·

x

2

+

c

1

·

x

+

d

1

(

2

)

wherein x i1 indicates the distortion between the original pixel value and the predicted pixel value of the i-th PU and y i1 indicates the distortion between the original pixel value and the reconstructed pixel value of the i-th PU, and a 1 , b 1 , c 1 and d 1 indicates coefficients of the first fit-curve; and

calculating the second fit-curve using Equations (3) and (4):

[

i

=

1

N

1

i

=

1

N

x

i

2

i

=

1

N

x

i

2

2

i

=

1

N

x

i

2

3

i

=

1

N

x

i

2

i

=

1

N

x

i

2

2

i

=

1

N

x

i

2

3

i

=

1

N

x

i

2

4

i

=

1

N

x

i

2

2

i

=

1

N

x

i

2

3

i

=

1

N

x

i

2

4

i

=

1

N

x

i

2

5

i

=

1

N

x

i

2

3

i

=

1

N

x

i

2

4

i

=

1

N

x

i

2

5

i

=

1

N

x

i

2

6

]

·

[

a

2

b

2

c

2

d

2

]

=

[

i

=

1

N

y

i

2

i

=

1

N

x

i

2

·

y

i

2

i

=

1

N

x

i

2

2

·

y

i

2

i

=

1

N

x

i

2

3

·

y

i

2

]

(

3

)

y

2

(

x

)

=

a

2

·

x

3

+

b

2

·

x

2

+

c

2

·

x

+

d

2

(

4

)

wherein x i2 indicates the first absolute value of syntax of residual of the i-th PU and y i2 indicates the bit count required to encode the syntax of the i-th PU, and a 2 , b 2 , c 2 , and d 2 indicates coefficients of the second fit-curve.

2. The method of claim 1 , wherein the first fit-curve and the second fit-curve are third-order functions.

3. The method of claim 1 , wherein the step for carrying information regarding a second frame into the first and second fit-curves to calculate a plurality of fit distortions and a plurality of fit bit counts further comprises:

obtaining a plurality of third distortions between a plurality of original pixel values and a plurality of predicted pixel values of a plurality of PUs of the second frame;

carrying the third distortions into the first fit-curve to calculate the fit distortions;

obtaining a plurality of second absolute values of syntax of residuals of the PUs of the second frame; and

carrying the second absolute values of syntax of residuals into the second fit-curve to calculate a plurality of fit bit counts.

4. The method of claim 3 , wherein the step for calculating a plurality of costs according to the fit distortions and the fit bit counts further comprises:

calculating the costs using Equation (5):

min{ J},J=D+λ·R   (5)

wherein λ indicates a Lagrange constant, D′ indicates the fit distortions, R′ indicates a total amount of the fit bit counts, and J indicates the costs.

5. An apparatus for RDO (Rate-Distortion Optimization) based on fit-curves, comprising:

an intra-frame/inter-frame prediction module;

an RD cost calculation module; and

a curve-fitting module,

wherein the curve-fitting module calculates a first fit-curve and a second fit-curve according to information regarding a first frame; and carries information regarding a second frame into the first and second fit-curves to calculate a plurality of fit distortions and a plurality of fit bit counts,

wherein the RD cost calculation module calculates a plurality of costs according to the fit distortions and the fit bit counts, and

wherein the intra-frame/inter-frame prediction module determines the best block-division mode for the second frame according to the costs; and divides the second frame into blocks according to the best block-division mode and encodes the second frame;

wherein the apparatus further comprises:

a distortion calculation module; and

an entropy coding module,

wherein the curve-fitting module obtains a plurality of first distortions between original pixel values and a plurality of predicted pixel values of a plurality of PUs (Prediction Units) of the first frame from the intra-frame/inter-frame prediction module; obtains a plurality of second distortions between the original pixel values and a plurality of reconstructed pixel values of the PUs of the first frame from the distortion calculation module; calculates the first fit-curve according to the first distortions and the second distortions; obtains a plurality of first absolute values of syntax of residuals of the PUs of the first frame from the intra-frame/inter-frame prediction module; obtains a plurality of bit counts required to encode the first frame from the entropy coding module; and calculates the second fit-curve according to the first absolute values of syntax of residuals and the bit counts;

wherein the first fit-curve is calculated using Equations (1) and (2):

[

i

=

1

N

1

i

=

1

N

x

i

1

i

=

1

N

x

i

1

2

i

=

1

N

x

i

1

3

i

=

1

N

x

i

1

i

=

1

N

x

i

1

2

i

=

1

N

x

i

1

3

i

=

1

N

x

i

1

4

i

=

1

N

x

i

1

2

i

=

1

N

x

i

1

3

i

=

1

N

x

i

1

4

i

=

1

N

x

i

1

5

i

=

1

N

x

i

1

3

i

=

1

N

x

i

1

4

i

=

1

N

x

i

1

5

i

=

1

N

x

i

1

6

]

·

[

a

1

b

1

c

1

d

1

]

=

[

i

=

1

N

y

i

1

i

=

1

N

x

i

1

·

y

i

1

i

=

1

N

x

i

1

2

·

y

i

1

i

=

1

N

x

i

1

3

·

y

i

1

]

(

1

)

y

1

(

x

)

=

a

1

·

x

3

+

b

1

·

x

2

+

c

1

·

x

+

d

1

(

2

)

wherein x i1 indicates the distortion between the original pixel value and the predicted pixel value of the i-th PU and y i1 indicates the distortion between the original pixel value and the reconstructed pixel value of the i-th PU, and a 1 , b 1 , c 1 and d 1 indicates coefficients of the first fit-curve; and

wherein the second fit-curve is calculated using Equations (3) and (4):

[

i

=

1

N

1

i

=

1

N

x

i

2

i

=

1

N

x

i

2

2

i

=

1

N

x

i

2

3

i

=

1

N

x

i

2

i

=

1

N

x

i

2

2

i

=

1

N

x

i

2

3

i

=

1

N

x

i

2

4

i

=

1

N

x

i

2

2

i

=

1

N

x

i

2

3

i

=

1

N

x

i

2

4

i

=

1

N

x

i

2

5

i

=

1

N

x

i

2

3

i

=

1

N

x

i

2

4

i

=

1

N

x

i

2

5

i

=

1

N

x

i

2

6

]

·

[

a

2

b

2

c

2

d

2

]

=

[

i

=

1

N

y

i

2

i

=

1

N

x

i

2

·

y

i

2

i

=

1

N

x

i

2

2

·

y

i

2

i

=

1

N

x

i

2

3

·

y

i

2

]

(

3

)

y

2

(

x

)

=

a

2

·

x

3

+

b

2

·

x

2

+

c

2

·

x

+

d

2

(

4

)

wherein x i2 indicates the first absolute value of syntax of residual of the i-th PU and y i2 indicates the bit count required to encode the syntax of the i-th PU, and a 2 , b 2 , c 2 and d 2 indicates coefficients of the second fit-curve.

6. The apparatus of claim 5 , wherein the first fit-curve and the second fit-curve are third-order functions.

7. The apparatus of claim 5 , wherein the curve fitting module obtains a plurality of third distortions between a plurality of original pixel values and a plurality of predicted pixel values of PUs of the second frame from the intra-frame/inter-frame prediction module; carries the third distortions into the first fit-curve to calculate the fit distortions; obtains a plurality of second absolute values of syntax of residuals of the PUs of the second frame from the intra-frame/inter-frame prediction module; and carries the second absolute values of syntax of residuals into the second fit-curve to calculate fit bit counts.

8. The apparatus of claim 7 , wherein the costs is calculated using Equation (5):

min{ J},J=D+λ·R   (5)

wherein λ indicates a Lagrange constant, D′ indicates the fit distortions, R′ indicates a total amount of the fit bit counts, and J indicates the costs.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
To: GLENFLY TECH CO., LTD.
Reel/Frame 058965/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2016
From: ZHU, CHUANCHUAN
To: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
Reel/Frame 038830/0241 →
Priority Claims (1)
CN 2016 1 0284379 · May 3, 2016 · national
Continuity (1)
Related Publication 20170324979A1 · Nov 9, 2017