IP Library Granted Patent US 7,197,072
Granted Patent B1
US 7,197,072 · App. 10/452,799 · Granted Mar 27, 2007

Systems and methods for resetting rate control state variables upon the detection of a scene change within a group of pictures

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 7,197,072
App. No.
10/452,799
Granted
Mar 27, 2007
Kind
B1
Abstract

The invention is related to methods and apparatus that advantageously improve picture quality in a video encoder, such as an MPEG video encoder. Scene changes typically occur relatively frequently in picture sequences, such as movies. One embodiment of the invention detects a scene change within a group of pictures and allocates bits within the group of pictures in response to the detected scene change without changing a predetermined structure for the group of pictures.

Claims (224)

1. A method for allocating bits in a video encoding process, the method comprising:

receiving an indication for a group of pictures for encoding, wherein the indication includes a structure indicating picture types for the pictures in the group of pictures;

comparing a picture in the group of pictures to a previous picture in the group of pictures, the picture having bits allocated thereto for encoding;

determining from the comparison that a scene change has occurred in the group of pictures at the picture;

determining whether the picture is a P-picture; and

reallocating bits for encoding remaining pictures in the group of pictures in response to the determination that there has been a scene change at the picture and that the picture is a P-picture, wherein such reallocation occurs without changing the structure of picture types, and the reallocated bits are allocated to the P-picture with the scene change according to:

T

p

=

max

{

(

R

(

1

+

(

N

p

-

1

)

X

p

X

i

K

p

+

N

b

X

b

X

i

K

b

)

)

,

(

bit_rate

8

·

picture_rate

)

}

where T p′ corresponds to the reallocation bits for the P-picture, where R corresponds to a remaining number of bits reallocated to the group of pictures, where N p corresponds to a number of P-pictures remaining to be encoded in the group, where N b corresponds to a number of B-pictures remaining to be encoded in the group, where bit_rate corresponds to a constant bit rate at which data is transmitted in a data channel, where picture_rate corresponds to a rate at which pictures are presented, where X i , X p , and X b correspond to constant bit rate complexity estimators respectively for I-pictures, for P-pictures, and for B-pictures, and where K p and K b are values determined by quantization matrices used to encode the pictures.

2. The method as defined in claim 1 , wherein the previous picture is determined by encoding order and not by presentation order.

3. The method as defined in claim 1 , wherein the video encoding process is performed in real time.

4. The method as defined in claim 1 , wherein the video encoding process is adapted to encode video for transmission over a constant-bit-rate data channel.

5. The method as defined in claim 1 , wherein comparing is performed by computing a sum of absolute differences (SAD) measurement.

6. The method as defined in claim 1 , wherein comparing further comprises reusing the results of a comparison between pictures that has already been performed in connection with a motion estimation task.

7. The method as defined in claim 1 , wherein reallocating bits among the remaining pictures further comprises allocating more bits to the P-picture with the scene change than were originally allocated and allocating fewer bits to the other pictures in the remaining pictures than were originally allocated.

8. The method as defined in claim 1 , wherein reallocating bits further comprises allocating bits to the P-picture with the scene change as if the P-picture were an I-picture.

9. The method as defined in claim 1 , further comprising resetting complexity estimators X i , X p , and X b upon the detection of the scene change in the P-picture.

10. A method for allocating bits in a real-time video encoding process, the method comprising:

detecting a scene change in a P-picture of a group of pictures, the P-picture having bits allocated thereto; and

reallocating bits in response to the detection of the scene change, where the reallocation excludes changing a type of picture in the group of pictures, and the bits are reallocated to the P-picture with the scene change according to:

T

p

=

max

{

(

R

(

1

+

(

N

p

-

1

)

X

p

X

i

K

p

+

N

b

X

b

X

i

K

b

)

)

,

(

bit_rate

8

·

picture_rate

)

}

where T p′ corresponds to the reallocation bits for the P-picture, where R corresponds to a remaining number of bits reallocated to the group of pictures, where N p corresponds to a number of P-pictures remaining to be encoded in the group, where N b corresponds to a number of B-pictures remaining to be encoded in the group, where bit_rate corresponds to a constant bit rate at which data is transmitted in a data channel, where picture_rate corresponds to a rate at which pictures are presented, where X i , X p , and X b correspond to constant bit rate complexity estimators respectively for I-pictures, for P-pictures, and for B-pictures, and where K p and K b are values determined by quantization matrices that are used to encode the pictures.

11. The method as defined in claim 10 , wherein the P-picture is reallocated with an amount of bits that would have been allocated had the P-picture been an I-picture.

12. A computer readable medium encoded with computer executable instructions in the form of a computer program for allocating bits in a video encoding process, that:

receives an indication for a group of pictures for encoding, wherein the indication includes a structure indicating picture types for the pictures in the group of pictures;

allocates a target number of bits for a picture in the group of pictures;

compares the picture in the group of pictures to a previous picture in the group of pictures;

determines from the comparison to determine that a scene change has occurred in the group of pictures at the picture;

determines that the picture is a P-picture; and

reallocates bits for encoding remaining pictures in the group of pictures in response to the determination that there has been a scene change at the picture and that the picture is a P-picture, wherein such reallocation occurs without changing the structure of picture types, and the bits are allocated to the P-picture with the scene change according to:

T

p

=

max

{

(

R

(

1

+

(

N

p

-

1

)

X

p

X

i

K

p

+

N

b

X

b

X

i

K

b

)

)

,

(

bit_rate

8

·

picture_rate

)

}

where T p′ corresponds to the reallocation bits for the P-picture, where R corresponds to a remaining number of bits reallocated to the group of pictures, where N p corresponds to a number of P-pictures remaining to be encoded in the group, where N b corresponds to a number of B-pictures remaining to be encoded in the group, where bit_rate corresponds to a constant bit rate at which data is transmitted in a data channel, where picture_rate corresponds to a rate at which pictures are presented, where X i , X p , and X b correspond to constant bit rate complexity estimators respectively for I-pictures, for P-pictures, and for B-pictures, and where K p and K b are values determined from quantization matrices used to encode the pictures.

13. A circuit adapted to allocate bits in a video encoding process comprising:

a module adapted to receiving an indication for a group of pictures for encoding, wherein the indication includes a structure indicating picture types for the pictures in the group of pictures;

a module adapted to compare a picture in the group of pictures to a previous picture in the group of pictures, the picture having bits for encoding allocated thereto;

a module adapted to determine whether a scene change has occurred in the group of pictures at the picture;

a module adapted to determine whether the picture is a P-picture; and

a module adapted to reallocate bits for encoding remaining pictures of the group of pictures in response to the determination that there has been a scene change at the picture and that the picture is a P-picture, wherein such reallocation occurs without changing the structure of picture types, and the bits are reallocated to the P-picture with the scene change according to:

T

p

=

max

{

(

R

(

1

+

(

N

p

-

1

)

X

p

X

i

K

p

+

N

b

X

b

X

i

K

b

)

)

,

(

bit_rate

8

·

picture_rate

)

}

where T p′ corresponds to the reallocation bits for the P-picture, where R corresponds to a remaining number of bits reallocated to the group of pictures, where N p corresponds to a number of P-pictures remaining to be encoded in the group, where N b corresponds to a number of B-pictures remaining to be encoded in the group, where bit_rate corresponds to a constant bit rate at which data is transmitted in a data channel, where picture_rate corresponds to a rate at which pictures are presented, where X i , X p , and X b correspond to constant bit rate complexity estimators respectively for I-pictures, for P-pictures, and for B-pictures, and where K p and K b are values determined from quantization matrices used to encode the pictures.

14. A video encoder that embodies the circuit of claim 13 .

Assignments (15)
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded May 6, 2026
From: CANTOR FITZGERALD SECURITIES, AS COLLATERAL AGENT
To: CLEARSLIDE INC.; COREL CORPORATION (AS SUCCESSOR IN INTEREST TO CASCADE BIDCO CORP.)
Reel/Frame 075522/0510 →
RELEASE OF SECURITY INTEREST Recorded May 5, 2026
From: CITIBANK, N.A., AS AGENT
To: COREL CORPORATION; CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
Reel/Frame 075559/0953 →
SECURITY INTEREST Recorded Jul 3, 2019
From: CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
To: CITIBANK, N.A.
Reel/Frame 049678/0950 →
SECURITY INTEREST Recorded Jul 3, 2019
From: CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
To: CANTOR FITZGERALD SECURITIES
Reel/Frame 049678/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2019
From: COREL SOFTWARE LLC
To: COREL CORPORATION
Reel/Frame 048067/0586 →
CHANGE OF NAME Recorded Nov 29, 2018
From: 8324450 CANADA INC.
To: COREL SOFTWARE LLC
Reel/Frame 047675/0950 →
ENTITY DOMICILE CHANGE Recorded Dec 17, 2014
From: 8324450 CANADA INC.
To: 8324450 DELAWARE LLC
Reel/Frame 034651/0817 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE, AND REPLACE THE ASSIGNMENT PREVIOUSLY RECORDED ON REEL 030427 FRAME 0331. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT TO 8324450 CANADA INC. Recorded Aug 1, 2013
From: COREL CORPORATION
To: 8324450 CANADA INC.
Reel/Frame 030986/0268 →
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2013
From: JPMORGAN CHASE BANK, N.A.
To: COREL CORPORATION; COREL INC.; WINZIP INTERNATIONAL LLC; WINZIP COMPUTING LP; WINZIP COMPUTING LLC; CAYMAN LTD. HOLDCO; WINZIP COMPUTING, S.L.U.; WINZIP HOLDINGS SPAIN, S.L.U.; COREL US HOLDINGS, LLC; INTERVIDEO, INC.; INTERVIDEO DIGITAL TECHNOLOGY CORP.
Reel/Frame 030591/0383 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2013
From: VECTOR CC HOLDINGS, SRL; VECTOR CC HOLDINGS III, SRL; VECTOR CC HOLDINGS IV, SRL
To: 8324450 CANADA INC.
Reel/Frame 030427/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2013
From: COREL CORPORATION
To: VECTOR CC HOLDINGS, SRL; VECTOR CC HOLDINGS III, SRL; VECTOR CC HOLDINGS IV, SRL
Reel/Frame 030427/0331 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2010
From: COREL INCORPORATED
To: COREL CORPORATION
Reel/Frame 025404/0624 →
MERGER Recorded Mar 11, 2009
From: INTERVIDEO, INC.
To: COREL INC.
Reel/Frame 022380/0357 →
REAFFIRMATION AND JOINDER AGREEMENT Recorded Dec 28, 2006
From: COREL CORPORATION; COREL INC.; WINZIP INTERNATIONAL LLC; WINZIP COMPUTING LLC; WINZIP COMPUTING LP; CAYMAN LTD. HOLDCO; WINZIP COMPUTING, S.L.U.; WINZIP HOLDINGS SPAIN, S.L.U.; INTERVIDEO, INC.; INTERVIDEO DIGITAL TECHNOLOGY CORP.; COREL US HOLDINGS, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 018688/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2004
From: HSU, KUO-WEI; KATSAVOUNIDIS, IOANNIS
To: INTERVIDEO, INC.
Reel/Frame 014914/0087 →