Annex 5 to AVC-496R

VBV operation to take care of skipped pictures

Note - This is a draft revision to TD-10 subject to changes according to the review by members through correspondence (see §6.2.2 of this report).

Annex C to WD	Video buffering verifier
(This annex forms an integral part of this Recommendation | International Standard)

Constant rate coded video bit streams shall meet constraints imposed through a Video Buffering Verifier (VBV) defined in Clause C.1.

The VBV is a hypothetical decoder which is conceptually connected to the output of an encoder. Coded data is placed in the buffer at the constant bit rate that is being used. Coded data is removed from the buffer as defined in Clause C.1.4, below. It is a requirement of the encoder (or editor) that the bit stream it produces will not cause the VBV to either overflow or underflow.  Encoders may wish to realize low buffering delay by allowing pictures to be dropped occasionally.  As a result of this it may happen that at some time when a picture is expected to be removed from the VBV buffer there will not be sufficient data in the buffer to remove a complete picture.  This situation is allowed to occur only if both the picture about to be coded and the previously decoded picture are I or P.

1	The VBV and the video encoder have the same clock frequency as well as the same picture rate, and are operated synchronously.

2	The VBV has a receiving buffer of size B, where B is given in the vbv_buffer_size field in the sequence header.

3	The VBV is initially empty. It is filled from the bit stream for the time specified by the vbv_delay field in the video bit stream.

4	All of the data for the picture which has been in the buffer longest is instantaneously removed.  Then after a period of time, t, specified by the picture_rate in the sequence header and the picture_structure and the number_of_field_displayed_code in the picture header of the last picture decoded, the buffer is inspected.  If both the picture about to be coded and the previously decoded picture are I or P and there is not sufficient data in the buffer, no data is read out of the buffer and the previous decoded pictures are displayed again.  Otherwise  all of the data for the picture which (at that time) has been in the buffer longest is instantaneously removed.  The period of time, t, is defined as follows:

	t = * field_count

	Where

	fields_per_picture = 2 when picture_structure equals 11 (frame structure).
or	fields_per_picture = 1 when picture_structure takes any other value (field structure)
	P = Number of pictures per second calculated from the picture_rate field.
	field_count is the number of displayed fields calculated from the 	number_of_field_displayed_code in the picture header of the  picture about to be 	decoded

Sequence header and group of picture layer data elements which immediately precede a picture are removed at the same time as that picture. The VBV is examined immediately before removing any data (sequence header data, group of picture layer or picture) and immediately after each picture is removed. Each time the VBV is examined its occupancy shall lie between zero bits and B bits where B is the size of the VBV buffer indicated by vbv_buffer_size in the sequence header.