IP Library › Granted Patent US 10,666,939
Granted Patent B2
US 10,666,939 · App. 16/308,600 · Granted May 26, 2020

Method and apparatus for processing video bitrate, storage medium, and electronic device

Inventors: Xunan Mao (Shenzhen, CN); Chenchen Gu (Shenzhen, CN); Yongfang Shi (Shenzhen, CN); Anlin Gao (Shenzhen, CN)
Assignee: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
H04N19/105H04N19/115H04N19/146H04N19/159H04N19/172H04N19/177H04N7/147
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,666,939
App. No.
16/308,600
Granted
May 26, 2020
Kind
B2
Abstract

A method and an apparatus for processing a video bitrate, a storage medium, and an electronic device are provided. The method is performed by at least one processor and includes acquiring a number of video frames included in a current group of pictures, a starting frame of the current group of pictures being a current I frame, acquiring a target bitrate of the current I frame, based on the number of the video frames included in the current group of pictures, and encoding the current I frame, based on the target bitrate.

Claims (556)

1. A method for processing a video bitrate, the method being performed by at least one processor, and the method comprising:

acquiring a number of video frames comprised in a current group of pictures, a starting frame of the current group of pictures being a current I frame;

acquiring a target bitrate of the current I frame, based on the number of the video frames comprised in the current group of pictures, using a following formula:

Isize

Target

=

Bit

I

,

pre

Bit

ave

,

not

⁢

⁢

I

,

preGOP

·

h

⁡

(

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

)

,

h(δQP proGOP −δQP Target ) representing a correction parameter of the current group of pictures, Isize Target representing the target bitrate, Bit I,pre representing an actual bitrate of a previous I frame, and Bit ave,not I,preGOP average value of actual bitrates of a previous non-I frame; and

encoding the current I frame, based on the target bitrate.

2. The method according to claim 1 , wherein the acquiring the target bitrate comprises:

calculating a target value of a first quantization parameter difference of the current group of pictures, based on the number of the video frames comprised in the current group of pictures, the first quantization parameter difference being between a first quantization parameter of the current I frame and a second quantization parameter of a current non-I frame;

calculating a correction value of the correction parameter of the current group of pictures, based on the target value of the first quantization parameter difference and a second quantization parameter difference of a previous group of pictures from the current group of pictures, the second quantization parameter difference being between a first average value of first actual quantization parameters of the previous non-I frame in the previous group of pictures and a second average value of second actual quantization parameters of the previous I frame in the previous group of pictures; and

correcting the target bitrate of the current I frame, based on the correction value of the correction parameter.

3. The method according to claim 2 , wherein the calculating the target value of the first quantization parameter difference comprises:

comparing the number of the video frames comprised in the current group of pictures with a first preset threshold and a second preset threshold, the first preset threshold being greater than the second preset threshold;

determining the target value of the first quantization parameter difference as a first preset quantization parameter value, based on the number of the video frames comprised in the current group of pictures being less than or equal to the second preset threshold;

calculating the target value of the first quantization parameter difference, based on a first function, based on the number of the video frames comprised in the current group of pictures being greater than the second preset threshold and less than or equal to the first preset threshold, the number of the video frames comprised in the current group of pictures being input in the first function, and in the first function, when the number of the video frames comprised in the current group of pictures is larger, the target value of the first quantization parameter difference is larger; and

calculating the target value of the first quantization parameter difference, based on a second function, based on the number of the video frames comprised in the current group of pictures being greater than the first preset threshold, the number of the video frames comprised in the current group of pictures being input in the second function, and in the second function, when the number of the video frames comprised in the current group of pictures is smaller, the target value of the first quantization parameter difference is smaller.

4. The method according to claim 2 , wherein the calculating the correction value of the correction parameter comprises:

calculating a difference δQP preGOP −δQP Target between an actual value of an actual quantization parameter δQP preGOP of the previous group of pictures and the target value δQP Target of the first quantization parameter difference; and

calculating the correction value of the correction parameter h(δQP preGOP −δQP Target ), based on the difference δQP preGOP −δQP Target , using a following formula:

h

⁡

(

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

)

=

{

1

+

λ

⁢

□

δ

⁢

⁢

QP

max

⁢

⁢

1

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

<

-

δ

⁢

⁢

QP

max

⁢

⁢

1

1

-

λ

⁢

□

δ

⁢

⁢

QP

max

⁢

⁢

2

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

>

δ

⁢

⁢

QP

max

⁢

⁢

2

1

-

λ

⁢

□

(

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

)

,

δ

⁢

⁢

QP

max

⁢

⁢

1

≤

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

≤

δ

⁢

⁢

QP

max

⁢

⁢

2

,

δQP max1 representing a first preset value, δQP max2 representing a second preset value, and λ representing a third preset value.

5. The method according to claim 1 , further comprising controlling to play the current group of pictures, based on the current I frame that is encoded.

6. An apparatus for processing a video bitrate, the apparatus comprising:

at least one memory configured to store computer program code; and

at least one processor configured to access the at least one memory and operate according to the computer program code, the computer program code comprising:

first acquiring code configured to cause the at least one processor to acquire a number of video frames comprised in a current group of pictures, a starting frame of the current group of pictures being a current I frame;

second acquiring code configured to cause the at least one processor to acquire a target bitrate of the current I frame, based on the number of the video frames comprised in the current group of pictures, using a following formula:

Isize

Target

=

Bit

I

,

pre

Bit

ave

,

not

⁢

⁢

I

,

preGOP

·

h

⁡

(

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

)

,

h(δQP preGOP −δQP Target ) representing a correction parameter of the current group of pictures, Isize Target representing the target bitrate, Bit I,pre representing an actual bitrate of a previous I frame, and Bit ave,not I,preGOP representing an average value of actual bitrates of a previous non-I frame; and

encoding code configured to cause the at least one processor to encode the current I frame, based on the target bitrate.

7. The apparatus according to claim 6 , wherein the second acquiring code is further configured to cause the at least one processor to:

calculate a target value of a first quantization parameter difference of the current group of pictures, based on the number of the video frames comprised in the current group of pictures, the first quantization parameter difference being between a first quantization parameter of the current I frame and a second quantization parameter of a current non-I frame;

calculate a correction value of the correction parameter of the current group of pictures, based on the target value of the first quantization parameter difference and a second quantization parameter difference of a previous group of pictures from the current group of pictures, the second quantization parameter difference being between a first average value of first actual quantization parameters of the previous non-I frame in the previous group of pictures and a second average value of second actual quantization parameters of the previous I frame in the previous group of pictures; and

correct the target bitrate of the current I frame, based on the correction value of the correction parameter.

8. The apparatus according to claim 7 , wherein the second acquiring code is further configured to cause the at least one processor to:

compare the number of the video frames comprised in the current group of pictures with a first preset threshold and a second preset threshold, the first preset threshold being greater than the second preset threshold;

determine the target value of the first quantization parameter difference as a first preset quantization parameter value, based on the number of the video frames comprised in the current group of pictures being less than or equal to the second preset threshold;

calculate the target value of the first quantization parameter difference, based on a first function, based on the number of the video frames comprised in the current group of pictures being greater than the second preset threshold and less than or equal to the first preset threshold, the number of the video frames comprised in the current group of pictures being input in the first function, and in the first function, when the number of the video frames comprised in the current group of pictures is larger, the target value of the first quantization parameter difference is larger; and

calculate the target value of the first quantization parameter difference, based on a second function, based on the number of the video frames comprised in the current group of pictures being greater than the first preset threshold, the number of the video frames comprised in the current group of pictures being input in the second function, and in the second function, when the number of the video frames comprised in the current group of pictures is smaller, the target value of the first quantization parameter difference is smaller.

9. The apparatus according to claim 7 , wherein the second acquiring code is further configured to cause the at least one processor to:

calculate a difference δQP preGOP −δQP Target between an actual value of an actual quantization parameter δQP preGOP of the previous group of pictures and the target value δQP Target of the first quantization parameter difference; and

calculate the correction value of the correction parameter h(δQP preGOP −δQP Target ) based on the difference δQP preGOP −δQP Target , using a following formula:

h

⁡

(

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

)

=

{

1

+

λ

⁢

□

δ

⁢

⁢

QP

max

⁢

⁢

1

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

<

-

δ

⁢

⁢

QP

max

⁢

⁢

1

1

-

λ

⁢

□

δ

⁢

⁢

QP

max

⁢

⁢

2

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

>

δ

⁢

⁢

QP

max

⁢

⁢

2

1

-

λ

⁢

□

(

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

)

,

δ

⁢

⁢

QP

max

⁢

⁢

1

≤

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

≤

δ

⁢

⁢

QP

max

⁢

⁢

2

,

δQP max1 representing a first preset value, δQP max2 representing a second preset value, and λ representing a third preset value.

10. The apparatus according to claim 6 , wherein the apparatus comprises an electronic device.

11. The apparatus according to claim 6 , wherein the at least one processor is further configured to control to play the current group of pictures is played based on the current I frame that is encoded.

12. The apparatus according to claim 6 , wherein the apparatus comprises either one or both of a terminal and a server.

13. A non-transitory computer-readable storage medium storing instructions that, when executed, cause at least one processor to:

acquire a number of video frames comprised in a current group of pictures, a starting frame of the current group of pictures being a current I frame;

acquire a target bitrate of the current I frame, based on the number of the video frames comprised in the current group of pictures, using a following formula:

Isize

Target

=

Bit

I

,

pre

Bit

ave

,

P

,

preGOP

·

h

⁡

(

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

)

,

h(δQP preGOP −δQP Target ) representing a correction parameter of the current group of pictures, Isize Target representing the target bitrate, Bit I,pre representing an actual bitrate of a previous I frame, and Bit ave,not I,preGOP representing an average of actual bitrates of a previous non-I frame; and

encode the current I frame, based on the target bitrate.

14. The non-transitory computer-readable storage medium according to claim 13 , wherein the instructions further cause the at least one processor to:

calculate a target value of a first quantization parameter difference of the current group of pictures, based on the number of the video frames comprised in the current group of pictures, the first quantization parameter difference being between a first quantization parameter of the current I frame and a second quantization parameter of a current non-I frame;

calculate a correction value of the correction parameter of the current group of pictures, based on the target value of the first quantization parameter difference and a second quantization parameter difference of a previous group of pictures from the current group of pictures, the second quantization parameter difference being between a first average value of first actual quantization parameters of the previous non-I frame in the previous group of pictures and a second average value of second actual quantization parameters of the previous I frame in the previous group of pictures; and

correct the target bitrate of the current I frame, based on to the correction value of the correction parameter.

15. The non-transitory computer-readable storage medium according to claim 14 , wherein the instructions further cause the at least one processor to:

compare the number of the video frames comprised in the current group of pictures with a first preset threshold and a second preset threshold, the first preset threshold being greater than the second preset threshold;

determine the target value of the first quantization parameter difference as a first preset quantization parameter value, based on the number of the video frames comprised in the current group of pictures being less than or equal to the second preset threshold;

calculate the target value of the first quantization parameter difference, based on a first function, based on the number of the video frames comprised in the current group of pictures being greater than the second preset threshold and less than or equal to the first preset threshold, the number of the video frames comprised in the current group of pictures being input in the first function, and in the first function, when the number of the video frames comprised in the current group of pictures is larger, the target value of the first quantization parameter difference is larger; and

calculate the target value of the first quantization parameter difference, based on a second function, based on the number of the video frames comprised in the current group of pictures being greater than the first preset threshold, the number of the video frames comprised in the current group of pictures being input in the second function, and in the second function, when the number of the video frames comprised in the current group of pictures is smaller, the target value of the first quantization parameter difference is smaller.

16. The non-transitory computer-readable storage medium according to claim 14 , wherein the instructions further cause the at least one processor to:

calculate a difference δQP preGOP −δQP Target between an value of an actual quantization parameter δQP preGOP of the previous group of pictures and the target value δQP Target of the first quantization parameter difference; and

calculate the correction value of the correction parameter h(δQP preGOP −δQP Target ), based on the difference δQP preGOP −δQP Target , using a following formula:

h

⁡

(

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

)

=

{

1

+

λ

⁢

□

δ

⁢

⁢

QP

max

⁢

⁢

1

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

<

-

δ

⁢

⁢

QP

max

⁢

⁢

1

1

-

λ

⁢

□

δ

⁢

⁢

QP

max

⁢

⁢

2

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

>

δ

⁢

⁢

QP

max

⁢

⁢

2

1

-

λ

⁢

□

(

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

)

,

δ

⁢

⁢

QP

max

⁢

⁢

1

≤

δ

⁢

⁢

QP

preGOP

-

δ

⁢

⁢

QP

Target

≤

δ

⁢

⁢

QP

max

⁢

⁢

2

,

δQP max1 representing a first preset value, δQP max2 representing a second preset value, and λ representing a third preset value.

17. The non-transitory computer-readable storage medium according to claim 13 , wherein the instructions further cause the at least one processor to control to play the current group of pictures, based on the current I frame that is encoded.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2018
From: MAO, XUNAN; GU, CHENCHEN; SHI, YONGFANG; GAO, ANLIN
To: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
Reel/Frame 047729/0987 →
Priority Claims (1)
CN 2016 1 0856103 · Sep 27, 2016 · national
Continuity (1)
Related Publication 20190182480A1 · Jun 13, 2019