is increased by six, which statistically leads to
decreasing the actual bit rate by half. Average
complexity weights used in the G012 version are not
needed in the presented rate control.
Complexity weights for composite frames take
into account area S
i
of a single frame from the i-th
sequence:
∑
∑
∗
1
0
1
0
–quencesNumberOfSe
=j
j
–quencesNumberOfSe
=j
jj
X
S
WxS
=W
(4)
3.2 Joint Buffer Verifier
The buffer verifier keeps track of the occupancy of
the output buffer, which receives codestreams from
several video encoders concurrently and releases
joint stream (e.g., transport stream) at a given rate
(e.g., channel bandwidth). Thus, after coding i-th
frame, the buffer occupancy (level) BL
i
is:
FrameRate
RateChannelBit
RBL=BL
quencesNumberOfSe
j
ijii
−+
∑
−
=
−−
1
0
1,1
(5)
where R
i,j
denotes the number of bits utilized to code
a given frame in the j-th sequence. The desired
occupancy should be close to zero. Although the
occupancy can assume negative value in that
approach, the real implementation will have positive
values by the introduction of a delay for removal of
codestreams from the buffer.
For each P or I frame, the buffer occupancy is
checked, and the target buffer level is updated. After
coding of the first frame (I frame) in a GOP, the
buffer occupancy may be considerably far from zero
due to the inaccurate RD model (i.e., statistics for I-
frames are updated relatively rarely). The deviation
is distributed among the remaining frames in the
GOP. Therefore, the target buffer level TBL
i
is
determined after coding of the i-th P frame and the
following B frames as follows:
P
ii
N
BL
TBL=TBL
0
1
−
−
(6)
where N
P
and BL
0
denotes the total number of P
frames in the GOP and the buffer level after coding
of the first frame in the GOP, respectively. Note that
TBL
0
is equal to BL
0
.
Due to changes in video content, the buffer
occupancy deviates from the target buffer level.
Thus, the rate control should compensate for this
changes. Particularly, the deviation is taken into
account to determine the target rate resulting from
the buffer verifier:
()
iibuffer
BLTBL
rameRate
RateChannelBit
=T −+
γ
(7)
where γ is a constant that determines the strength of
the buffer regulation. In the G012 version, the
constant is equal 0.75 when there is no B frames and
0.25 otherwise.
3.3 Joint Rate Allocation
Allocation of bits for the multi-sequence coding is
similar to that used in the G012 version. However,
the proposed allocation refers to bit-rates and
complexity weights computed for composite frames.
Joint rate allocation is performed with reference to
the hierarchy of frames. On the top level, there is a
Group of Pictures (GOP), which is a contiguous
block of frames from an I frame, inclusive, up to the
next I frame, exclusive. On the second level, GOP
consists of sections of pictures including one I or P
frame and B frames following in the decoding order.
The third level distinguishes single frames.
Before encoding each composite GOP, the bit
budget for this GOP is estimated as a quotient of
channel bit rate and frame rate. The quotient denotes
an ideal number of bits per a composite frame,
which, when multiplied by this GOP length, yields
the bit budget under Constant Bit Rate (CBR)
conditions:
1−
+
iGOPi
R
rameRate
RateChannelBit
N=R
(8)
N
GOP
and R
i
denote the number of frames in GOP
and the number of allocated bits for the i-th GOP in
the sequence, respectively. The number of allocated
bits is decreased by the actual number of utilized bits
R
i,p
after coding of each (indexed by p) P frame and
associated B frames:
−−
b
bpipiii
RRR=R
,,,
(9)
After coding of the entire GOP, the remainder from
the equation (9), which may be negative, is used to
allocate bits for the next GOP (equation 8). During
processing of a GOP, the number of remaining bits
is allocated to P frames based on complexity weights
of composite frames as follows:
i
BBpp
p
P
R
NWNW
W
=T
+
(10)
where N
P
and N
B
denote the number of P and B
frames remaining to code, respectively. Finally, the
target rate for a given P frame is computed as a
weighted average from the allocated bits and the
target rate from the buffer verifier:
bufferPP
TT=T ∗
)1(
(11)
SIGMAP 2007 - International Conference on Signal Processing and Multimedia Applications
458