US2008123738A1PendingUtilityA1
Systems methods for adjusting targeted bit allocation based on an occupancy level of a VBV buffer model
Est. expiryMay 30, 2022(expired)· nominal 20-yr term from priority
H04N 19/124H04N 19/159H04N 19/142H04N 19/176H04N 19/14H04N 19/137H04N 19/115H04N 19/152H04N 19/149
53
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
The invention is related to methods and apparatus that advantageously improve bit rate control in a video encoder, such as an MPEG video encoder. One embodiment of the invention advantageously varies the targeted bit allocation for a picture to be encoded based on an occupancy level of a buffer model, such as a video buffer verifier (VBV) buffer model.
Claims
exact text as granted — not AI-modified1 . A method implemented in computer executable form in a video encoding process for adjusting a targeted bit allocation T for a picture that is to be encoded and transmitted to a decoder, the method comprising:
computing at an encoder a targeted bit allocation T for encoding the picture and storing in an encoder buffer; determining a threshold from at least one desired occupancy level of a buffer model characterizing a decoder buffer status of the decoder; adaptively adjusting the targeted bit allocation T at the encoder at least partially in response to a comparison of an occupancy status of the buffer model with the threshold; and providing the adjusted targeted bit allocation T to the video encoding process.
2 . The method as defined in claim 1 , wherein the targeted bit allocation T prior to adaptive adjustment is an original targeted bit allocation T and the threshold is a first threshold, further comprising:
comparing the original targeted bit allocation T to the first threshold; and adaptively adjusting the original targeted bit allocation T when the original targeted bit allocation T exceeds the first threshold but not otherwise.
3 . The method as defined in claim 2 , wherein the first threshold corresponds to T mid , where T mid comprises:
T mid =V status −V mid ,
where V status is the occupancy status and V mid is the desired occupancy level.
4 . The method as defined in claim 1 , wherein the targeted bit allocation T prior to adaptive adjustment is an original targeted bit allocation T and the threshold is a second threshold, further comprising:
comparing the original targeted bit allocation T to the second threshold; and adaptively adjusting the original targeted bit allocation T when the original targeted bit allocation T is below the second threshold but not otherwise.
5 . The method as defined in claim 1 , wherein the targeted bit allocation T prior to adaptive adjustment is an original targeted bit allocation T and the threshold includes a first threshold and a second threshold, further comprising:
comparing the original targeted bit allocation T to at least one of the first threshold and the second threshold; adaptively adjusting the original targeted bit allocation T when the original targeted bit allocation T exceeds the first threshold or when the targeted bit allocation T is below the second threshold, but not otherwise.
6 . The method as defined in claim 1 , wherein computing the targeted bit allocation T for I-pictures, for P-pictures, and for B-pictures corresponds to computing T i , T p , and T p , respectively, where T i , T p , and T b further comprise:
T
i
=
max
{
(
R
(
1
+
N
p
X
p
X
t
K
p
+
N
b
X
b
X
t
K
b
)
)
,
(
bit_rate
8
·
picture_rate
)
}
;
T
p
=
max
{
(
R
(
N
p
+
N
b
K
p
X
b
K
b
X
p
)
)
,
(
bit_rate
8
·
picture_rate
)
}
;
and
T
b
=
max
{
R
(
N
b
+
N
p
K
b
X
p
K
p
X
b
)
,
(
bit_rate
8
·
picture_rate
)
}
,
where R is a remaining number of bits allocated to a group of pictures to which the picture belongs, N p and N b are a number of P-pictures and B-pictures in the group of pictures, respectively, K b and K p are constants associated with complexity matrices for P-pictures and B-pictures, respectively, X i , X p and X b are complexity estimators for I-pictures, P-pictures and B-pictures, respectively, bit_rate is a bit rate of a transmission channel from the encoder to the decoder and picture_rate is a display rate of pictures.
7 . The method as defined in claim 1 , wherein the adaptively adjusting further comprises multiplying the targeted bit allocation T by a factor α, where α comprises:
α
=
1
+
V
status
-
V
target
V
high
-
V
low
,
where V status is the occupancy status, V target is a desired occupancy level of the buffer model, V high and V low are high and low occupancy levels of the buffer model, respectively.
8 . The method as defined in claim 7 , where V target is about 7/8 of a capacity of the buffer model, where V high is about 63/64 of the capacity of the buffer model, and where V low is about 3/8 of the capacity of the buffer model.
9 . The method as defined in claim 7 , wherein the targeted bit allocation T adaptively varies such that over time, the buffer occupancy level V status of the buffer model trends to the desired buffer occupancy level V target .
10 . The method as defined in claim 7 , where the desired buffer occupancy level V target is configured by a user.
11 . The method as defined in claim 1 , wherein the buffer model is a virtual buffer verifier (VBV) buffer model.
12 . The method as defined in claim 1 , wherein the video encoding process is performed in real time, and where a constant bit rate is used to update a calculation of the buffer occupancy level.
13 . The method as defined in claim 1 , further comprising bounding the targeted bit allocation T to a maximum value of T max , where T max comprises:
T max =V status −V low ,
where V status is the occupancy status and V low is a low occupancy level of the buffer model.
14 . The method as defined in claim 13 , wherein V low is about 3/8 of a capacity of the buffer model.
15 . The method as defined in claim 1 , wherein the video encoding process is performed in real time.
16 . A method implemented in computer executable form in a video encoding process for calculating a targeted bit allocation T for a picture that is to be encoded and transmitted to a decoder comprising:
computing at an encoder a targeted bit allocation T for encoding the picture and storing in an encoder buffer; determining a threshold from at least one desired occupancy level of a buffer model characterizing a decoder buffer status of the decoder; scaling the targeted bit allocation T at the encoder by a factor at least partially in response to a comparison of an occupancy status of the buffer model with the threshold; and providing the adjusted targeted bit allocation T to the video encoding process.
17 . The method as defined in claim 16 , wherein the factor is a factor α, where α comprises:
α
=
1
+
V
status
-
V
target
V
high
-
V
low
,
where V status the occupancy status, V target is a desired occupancy level of the buffer model, V high and V low are high and low occupancy levels of the buffer model, respectively.
18 . The method as defined in claim 17 , where V target is about 7/8 of a capacity of the buffer model, where V high is about 63/64 of the capacity of the buffer model, and where V low is about 3/8 of the capacity of the buffer model.
19 . The method as defined in claim 16 , wherein the targeted bit allocation T adaptively varies such that over time, the buffer occupancy level of the buffer model trends to the desired buffer occupancy level.
20 . The method as defined in claim 16 , where the desired buffer occupancy level is configured by a user.
21 . The method as defined in claim 16 , wherein the buffer model is a virtual buffer verifier (VBV) buffer model.
22 . The method as defined in claim 16 , wherein the video encoding process is performed in real time, and where a constant bit rate is used to update a calculation of the buffer occupancy level.
23 . The method as defined in claim 16 , further comprising bounding the targeted bit allocation T to a maximum value of T max , where T max comprises:
T max =V status −V low ,
where V status is the occupancy status and V low is a low occupancy level of the buffer model.
24 . The method as defined in claim 23 , wherein V low is about 3/8 of a capacity of the buffer model.
25 . A computer readable medium with computer executable instructions for adjusting a targeted bit allocation T for a picture that is to be encoded and transmitted to a decoder, comprising:
instructions for computing a targeted bit allocation T for storage in an encoder buffer; instructions for determining a threshold from a desired occupancy level of a buffer model characterizing a decoder buffer status of the decoder; instructions for comparing an occupancy status of the buffer model with the threshold; and instructions for adaptively adjusting the targeted bit allocation T at least partially in response to the comparison.
26 . A circuit for adjusting a targeted bit allocation T for a picture that is to be encoded in a real-time video encoder and transmitted to a decoder, comprising:
means at an encoder for computing a targeted bit allocation T for encoding the picture and storing in an encoder buffer; means for determining a threshold from a desired occupancy level of a buffer model characterizing a decoder buffer status of the decoder; means for comparing an occupancy status of the buffer model with the threshold; means for adaptively adjusting the targeted bit allocation T at least partially in response to the comparison; and means for providing the adjusted targeted bit allocation T to the video encoding process.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.