Annex 3 to AVC-553R

ISO/IEC JTC1/SC29/WG11
MPEG93/699
July 1993

Source:	Experts Group for ATM Video Coding.
Subject:	Proposed text for WD Annex C - Video Buffer Verifier.
Purpose:	Proposal.

The TSS Experts Group for ATM Video Coding discussed the item of VBV operation to take care of picture skipping at the last meeting.  It was agreed that a new text to replace Annex C in the WD was needed.  I hereby send the agreed outcome from the group.  First some background for our proposal:

1.	VBV specifications of MPEG-1 are based on the following;

a) Use of a virtual buffer with size B which never underflows nor overflows
b) Removal of coded data for a complete picture
c) Data removal at every picture period

2.	If we allow occasional picture skipping, b) or c) should be extended.  The current VBV specifications in Annex C to WD is extending b) by introducing "removal of partial coded data", but maintaining c).  This method, however, allows an infinite number of bits for a picture unless we specify a certain upper bound in addition to a).

3.	The other possibility is to extend c) but maintaining b).  We propose to adopt this method by making the data removal conditional; to remove a complete picture if it is available at a picture period, otherwise the coded data remains in the buffer.  This method does not need additional specification of the upper bound for the number of bits per picture, because a) automatically guarantees this.

4.	An important clarification is to specify to allow picture skipping only in local IPPP... situations.  This seems to be a common understanding obtained in Sydney as expressed in Section 2.3.1/TM5.2 "skipped frames are only allowed for M=1".  The problem is, however, that there is no way to convey M value, thus our interpretation is "local IPPP...  situations" where no B picture is involved.

5.	Another improvement of our proposal is to integrate the two cases in the current text distinguishing between all pictures being coded and some pictures being skipped.  We think the above extension does not need this distinction.

Proposal for new text for Annex C:

Annex C	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 this Annex

Background.

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.3 below. Sequence header and group of picture layer data elements which immediately precede a picture are removed at the same time as that picture.  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.  This is a requirement on the video bitstream including coded picture data, user data and all stuffing.

Encoders may wish to assign a large number of bits to a particular picture to cope with a scene change or for other purposes.  If all of the subsequent pictures are to be coded, a large (but constant) delay is incurred.  Hence some of the subsequent pictures can be skipped to realize low delay in the steady state.  As a result of this it may happen that 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 neither the picture to be removed nor the previously removed picture is B type.

Definitions.

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

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

-  To "Inspect the VBV" means to check if the occupancy of the VBV lies between zero bits and B bits and to report VBV violation if the requirement is not fulfilled.

-  The period of time, t, is 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 picture about to be decoded.  The definition of t is 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.

Procedure for VBV examination

1  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.

2  Inspect the VBV.

3  If the buffer contains complete data for one picture, all of the data for the picture which has been in the buffer longest is instantaneously removed from the VBV.

4  If the buffer does not contain complete data for one picture, either of two actions are taken: If the picture to be removed or the previously removed picture is B type, then report VBV violation.  Otherwise proceed without further action to clause 5.

5  After a period of time, t,  go back to Clause 2.

END