IP Library Granted Patent US 8,050,320
Granted Patent B2
US 8,050,320 · App. 11/704,826 · Granted Nov 1, 2011

Statistical adaptive video rate control

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 8,050,320
App. No.
11/704,826
Granted
Nov 1, 2011
Kind
B2
Abstract

A method and apparatus for video rate control for a video encoding system for encoding a video signal includes determining 12 a variance of pixel values over a time t of the video signal and calculating 13 a quantization parameter for the time t using the pixel variance and a number of output bits for the time t and a quantization parameter, pixel variance and a number of output bits used for an immediately previous time t−1.

Claims (428)

1. A method of video rate control for a video encoding system for encoding a video signal comprising:

a) determining, using a processor, a variance of pixel values over a time t of the video signal; and

b) calculating, using a processor, a quantization parameter for the time t using the pixel variance and a number of output bits over the time t and a quantization parameter used for an immediately preceding time t−1, a pixel variance over the immediately preceding time t−1, and a number of output bits over the immediately preceding time t−1;

wherein the variance is a modified variance being a function of the calculated variance over the time t and a similarly modified variance over the immediately preceding time t−1, and

wherein the modified variance V(t) is defined as: V(t)=(1−α)V a (t)+αV(t−1) where V a (t) is the calculated variance over a time t, V(t−1) is the modified variance over the immediately preceding time t−1 and α is a constant such that 0<α<1.

2. A method as claimed in claim 1 , wherein the quantization parameter over the time t is given by:

QP ( t )=(1−β)Δ qp+βQP ( t− 1)

where:

Δ qp =(ε( V ( t )− V ( t− 1))+ R ( t− 1) V ( t− 1)− R ( t ) V ( t ))/η

where QP(t−1) is the quantization parameter over an immediately preceding time t−1, β is a constant such that 0>β>1, R(t) is the number of output bits over the time t, R(t−1) is the number of output bits over the immediately preceding time t−1 and ε and η are constants.

3. A method as claimed in claim 1 , wherein the quantization parameter over the time t is given by:

QP ( t )=(1−β)Δ qp+βQP ( t− 1)

where:

Δ qp =(ε( V ( t )− V ( t− 1))+ R ( t− 1) V ( t− 1)− R ( t ) V ( t ))/η

where QP(t−1) is the quantization parameter over an immediately preceding time t−1, β is a constant such that 0>β>1, R(t) is the number of output bits over the time t, R(t−1) is the number of output bits over the immediately preceding time t−1 and:

η

=

R

(

t

-

1

)

-

R

(

t

)

QP

(

t

)

V

(

t

)

-

QP

(

t

-

1

)

V

(

t

-

1

)

,

and

ɛ

=

R

(

t

)

+

R

(

t

-

1

)

-

R

(

t

)

1

-

V

(

t

)

·

QP

(

t

-

1

)

V

(

t

-

1

)

·

QP

(

t

)

.

4. A method as claimed in claim 1 , wherein the quantization parameter is further dependent on a current fill rate of an output buffer.

5. A method as claimed in claim 4 , wherein the quantization parameter is increased if the rate exceeds an upper threshold corresponding to overfilling of the output buffer and decreased if the rate is below a lower threshold corresponding to underfilling of the output buffer.

6. A method as claimed in claim 1 , wherein the time t corresponds to one of a macroblock, a slice, a picture and a group of pictures.

7. A method as claimed in claim 1 , further comprising calculating the quantization parameter dependant on a current average value of a motion vector for the video signal.

8. A method as claimed in claim 7 , wherein the quantization parameter is adapted by the equation: QP m =QP s +ΔQP where ΔQP=φ(V m −V s )/V s +τ|MV| 2 where φ and τ are parameters selected to provide a chosen degree of adaptation and QP m and QP s are values of the quantization parameter for a current macroblock and current slice respectively and V m and V s are the variances of the current macroblock and current slice respectively and MV is an average of the N most recent values of the motion vector such that

MV

2

=

1

N

i

=

0

N

-

1

(

x

i

2

+

y

i

2

)

,

where x i and y i are horizontal and vertical components respectively of the motion vector.

9. A video rate controller for a video encoding system for encoding a video signal, the video rate controller comprising:

at least one processor;

a non-transitory, computer-readable storage medium, coupled to the at least one processor, wherein the non-transitory, computer-readable storage medium further comprises computer-readable instructions, when executed by the at least one processor, configured to:

determine a variance of pixel values over a time t of the video signal; and

calculate a quantization parameter for the time t using the pixel variance and a number of output bits over the time t and a quantization parameter used for an immediately preceding time t−1, a pixel variance over the immediately preceding time t−1, and a number of output bits over the immediately preceding time t−1, wherein

the variance is a modified variance being a function of the calculated variance over the time t and a similarly modified variance over the immediately preceding time t−1, and

wherein the modified variance V(t) is defined as: V(t)=(1−α)V a (t)+αV(t−1) where V a (t) is the calculated variance over a time t, V(t−1) is the modified variance over the immediately preceding time t−1 and α is a constant such that 0<α<1.

10. A video rate controller as claimed in claim 9 , wherein the quantization parameter over the time t is given by:

QP ( t )=(1−β)Δ qp+βQP ( t− 1)

where:

Δ qp =(ε( V ( t )− V ( t− 1))+ R ( t− 1) V ( t− 1)− R ( t ) V ( t ))/η

where QP(t−1) is the quantization parameter over an immediately preceding time t−1, β is a constant such that 0>β>1, R(t) is a number of output bits over the time t, R(t−1) is a number of output bits over the immediately preceding time t−1 and ε and η are constants.

11. A video rate controller as claimed in claim 9 , wherein the quantization parameter over the time t is given by:

QP ( t )=(1−β)Δ qp+βQP ( t− 1)

where:

Δ qp =(ε( V ( t )− V ( t− 1))+ R ( t− 1) V ( t− 1)− R ( t ) V ( t ))/η

where QP(t−1) is the quantization parameter over an immediately preceding time t−1, β is a constant such that 0>β>1, R(t) is a number of output bits over the time t, R(t−1) is a number of output bits over the immediately preceding time t−1, where:

η

=

R

(

t

-

1

)

-

R

(

t

)

QP

(

t

)

V

(

t

)

-

QP

(

t

-

1

)

V

(

t

-

1

)

,

and

ɛ

=

R

(

t

)

+

R

(

t

-

1

)

-

R

(

t

)

1

-

V

(

t

)

·

QP

(

t

-

1

)

V

(

t

-

1

)

·

QP

(

t

)

.

12. A video rate controller as claimed in claim 9 , wherein the quantization parameter is further dependent on a current fill rate of an output buffer.

13. A video rate controller as claimed in claim 12 , wherein the quantization parameter is increased if the rate exceeds an upper threshold corresponding to overfilling of the output buffer and decreased if the rate is below a lower threshold corresponding to underfilling of the output buffer.

14. A video rate controller as claimed in claim 9 , wherein the time t corresponds to one of a macroblock, a slice, a picture and a group of pictures.

15. A video rate controller as claimed in claim 9 , further arranged to calculate the quantization parameter dependant on a current average value of a motion vector for the video signal.

16. A video rate controller as claimed in claim 15 , wherein the quantization parameter is adapted by the equation: QP m =QP s +ΔQP where ΔQP=φ(V m −V s )/V s +τ|MV| 2 where φ and τ are parameters selected for a chosen degree of adaptation and QP m and QP s are values of the uantization parameter for a current macroblock and current slice respectively and V m and V s are the variances of the current macroblock and current slice respectively and MV is an average of the N most recent values of the motion vector such that

MV

2

=

1

N

i

=

0

N

-

1

(

x

i

2

+

y

i

2

)

,

where x i and y i are horizontal and vertical components respectively of the motion vector.

17. A non-transitory computer readable medium embodying stored computer executable software code, when executed by a processor, the computer executable software code is configured to:

determine a variance of pixel values over a time t of the video signal; and

calculate a quantization parameter for the time t using the pixel variance and a number of output bits over the time t and a quantization parameter used for an immediately preceding time t−1, a pixel variance over the immediately preceding time t−1, and a number of output bits over the immediately preceding time t−1, wherein

the variance is a modified variance being a function of the calculated variance over the time t and a similarly modified variance over the immediately preceding time t−1, and

wherein the modified variance V(t) is defined as: V(t)=(1−α)V a (t)+αV(t−1) where V a (t) is the calculated variance over a time t, V(t−1) is the modified variance over the immediately preceding time t−1 and a is a constant such that 0<α<1.

18. A computer readable medium as claimed in claim 17 , wherein the quantization parameter over the time t is given by:

QP ( t )=(1−β)Δ qp+βQP ( t− 1)

where:

Δ qp =(ε( V ( t )− V ( t− 1))+ R ( t− 1) V ( t− 1)− R ( t ) V ( t ))/η

where QP(t−1) is the quantization parameter used for an immediately preceding time t−1, β is a constant such that 0<β<1, R(t) is the number of output bits over the time t, R(t−1) is the number of output bits over the immediately preceding time t−1 and ε and η are constants.

19. A computer readable medium as claimed in claim 17 , wherein the quantization parameter over the time t is given by:

QP ( t )=(1−β)Δ qp+βQP ( t− 1)

where:

Δ qp =(ε( V ( t )− V ( t− 1))+ R ( t− 1) V ( t− 1)− R ( t ) V ( t ))/η

where QP(t−1) is the quantization parameter used for an immediately preceding time t−1, β is a constant such that 0<β<1, R(t) is the number of output bits over the time t, R(t−1) is the number of output bits over the immediately preceding time t−1, where:

η

=

R

(

t

-

1

)

-

R

(

t

)

QP

(

t

)

V

(

t

)

-

QP

(

t

-

1

)

V

(

t

-

1

)

,

and

ɛ

=

R

(

t

)

+

R

(

t

-

1

)

-

R

(

t

)

1

-

V

(

t

)

·

QP

(

t

-

1

)

V

(

t

-

1

)

·

QP

(

t

)

.

20. A computer readable medium as claimed in claim 17 , wherein the quantization parameter is further dependent on a current fill rate of an output buffer.

21. A computer readable medium as claimed in claim 20 , wherein the quantization parameter is increased if the rate exceeds an upper threshold corresponding to overfilling of the output buffer and decreased if the rate is below a lower threshold corresponding to underfilling of the output buffer.

22. A computer readable medium as claimed in claim 17 , wherein the time t corresponds to one of a macroblock, a slice, a picture and a group of pictures.

23. A computer readable medium as claimed in claim 17 , for further calculating the quantization parameter dependant on a current average value of a motion vector for the video signal.

24. A computer readable medium as claimed in claim 23 , wherein the quantization parameter is adapted by the equation: QP m =QP s +ΔQP where ΔQP=φ(V m −V s )/V s +τ|MV| 2 where φ and τ are parameters selected for a chosen degree of adaptation and QP m and QP s are values of the quantization parameter for a current macroblock and current slice respectively and V m and V s are the variances of the current macroblock and current slice respectively and MV is an average of the N most recent values of the motion vector such that

MV

2

=

1

N

i

=

0

N

-

1

(

x

i

2

+

y

i

2

)

,

where x i and y i are horizontal and vertical components respectively of the motion vector.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2025
From: CITIBANK, N.A., AS AGENT
To: MK SYSTEMS USA INC.
Reel/Frame 073070/0114 →
SECURITY INTEREST Recorded Oct 10, 2025
From: MK SYSTEMS USA INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073062/0487 →
SECURITY INTEREST Recorded Apr 3, 2020
From: MK SYSTEMS USA INC.
To: CITIBANK, N.A., AS AGENT
Reel/Frame 052312/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2019
From: MK SYSTEMS US SUB-HOLDCO INC.
To: MK SYSTEMS USA INC.
Reel/Frame 050277/0946 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: MK SYSTEMS US HOLDCO INC.
To: MK SYSTEMS US SUB-HOLDCO INC.
Reel/Frame 050272/0448 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: LEONE MEDIA INC.
To: MK SYSTEMS US HOLDCO INC.
Reel/Frame 050265/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2019
From: ERICSSON AB
To: LEONE MEDIA INC.
Reel/Frame 050237/0248 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2018
From: ERICSSON TELEVISION INC.
To: ERICSSON AB
Reel/Frame 047315/0346 →
CHANGE OF NAME Recorded Jan 6, 2011
From: TANDBERG TELEVISION, INC.
To: ERICSSON TELEVISION INC.
Reel/Frame 025594/0263 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2007
From: TANDBERG TELEVISION ASA
To: TANDBERG TELEVISION INC
Reel/Frame 019979/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2007
From: WANG, ZHICHENG LANCELOT
To: TANDBERG TELEVISION ASA
Reel/Frame 019606/0209 →