Annex 2 to AVC-444R

INTERNATIONAL ORGANIZATION FOR STANDARDIZATION
ORGANISATION INTERNATIONALE DE NORMALISATION

ISO/IEC JTC1/SC29/WG11
CODING OF MOVING PICTURES AND ASSOCIATED AUDIO

ISO/IEC JTC1/SC29/WG11
MPEG 93/237
28 January 1993

Source:	REQUIREMENTS Sub-group
Title:  	Definition of Profiles and the Main Profile

Note - Term of "Core" has been changed to "Main", and term "Main Level" is subject to further discussion.

1. Definition of Terms

MPEG-2 Syntax	The set of syntactic elements used for specifying MPEG-2 bitstreams
MPEG-2 Parameter	A variable within the MPEG-2 syntax which may take one of a large range of values.  A variable which can take one of only two values is a flag and not a parameter.
Profile	A defined sub-set of the MPEG-2 syntax.
Level	A defined set of constraints on the values which may be taken by MPEG-2 parameters within a particular profile.  A profile may contain one or more levels.
Main Profile	A particular profile which is intended to be suitable for use by the largest possible number of major initial applications of MPEG-2 in terms of both functionality requirements and cost constraints.
Main Level	A particular level within the Main Profile which defines a set of MPEG-2 parameter constraints which are intended to be appropriate for use by the largest possible number of major initial applications of MPEG-2 in terms of both functionality requirements and cost constraints.

2. Use of Profiles and Levels

1.	Compliance tests will be carried out against a defined level of a defined profile.
2.	Full compliance* to the same level of the same profile by two codecs will be a sufficient guarantee of their ability to successfully decode each other's bitstreams.
3.	The number of profiles should be kept as small as practical.  In particular, the development of profiles which are very similar, but not quite identical, will be discouraged.
4.	Wherever practical, a new profile will be defined to be either a superset or a subset of each existing profile.  Particular attention will be paid to try to make this true for the Main Profile.
5.	The number of levels within a Profile should be kept small and, wherever practical, levels will be defined so that higher level conforming decoders can decode lower level bitstreams.
6.	Wherever practical, the meaning of levels will be harmonised between different profiles.
7.	The MPEG-2 bitstream will support the indication of the profile and level which will be required to decode the bitstream.

*) Meaning of full compliance is to be defined.

3. Specifications for Video Main Profile at Main Level

Main Profile at Main Level is specified in terms of syntactic elements and their associated values as shown in Table 1.  In this table, syntactic elements are taken from the TM3 document.  These elements should be updated according to the emerging specifications of the future TM/WD document.

END

Table 1 Main Profile at Main Level

Note - It was agreed at the London meeting that the Main Profile should support robustness to bit errors and cell losses. Specific syntax elements to be included in the Main Profile awaits the study of Video Group on frequency layering (coefficient scanning), leaky prediction, etc.

Notations:

x :	included in Main Profile Syntax
o :	not included in Main Profile Syntax
D (in type) : 	item with level-dependent parameters
I (in type) : 	item independent of levels in a profile
P (in type) : 	item for postprocessing after decoding
CH:I : 	to be consulted with Implementation Group
CH:V : 	to be consulted with Video Group
CH:V,I : 	to be consulted with Implementation Group and Video Group

Sequence layer (SEL)

General

#	Syntactic element	Status	Type	Parameter range	
1	horizontal_size_value	x	D	up to 720 in multiples of 16 *1	
2	vertical_size_value	x	D	up to 480/576 in multiples of 16 *1	
3	pel_aspect_ratio	x	P		
4	picture_rate	x	D	23.976/24/25/29.97/30*1	
5	bit_rate	x	D	up to 15Mbps	
6	vbv_buffer_size	x	D	2Mb? CH:V	
7	profile_and_level_ID (for bitstream)	x	D	(specific values are under stduy)	
8	load_intra_quantizer_matrix	x	I		
9	load_non_intra_quantizer_
matrix	x	I		
10	chroma_format	x	?	4:2:0*2	
11	extent_horizontal_size	o	-		
12	extent_vertical_size	o	-		
13	video_format	x	P		
14	intra_vlc_format	x	I	CH:V	
15	tcoef_escape_format	x	I		
16	display_horizontal_
dimension	x	P		
17	display_vertical_dimension	x	P		

*1)	Horizontal: up to 720, Vertical: up to 576, Frame rate: up to 30,
	and Horizontal x Vertical. x Frame rate: up to 10368k pels/s.

	Only 5 combinations are relevant for full size pictures;
		720 x 480 x 30
		720 x 480 x 29.97
		720 x 480 x 24
		720 x 480 x 23.976
		720 x 576 x 25

*2) 4:2:2 may be in another level, or in another profile.

Spatial scalability

#	Syntactic element	Status	Type	Parameter range	
18	sscalable	o	-		
19	sscale_code	o	-		
20	compatible_mtype	o	-		
21	load_prediction_
weighting_matrix	o	-		

Frequency scalabilty
#	Syntactic element	Status	Type	Parameter range	
22	fscalable	o	-		
23	interlaced	o	-		
24	subband	o	-		
25	linked_prediction	o	-		
26	scalable_side_information	o	-		
27	motion_refinement	o	-		
28	MUVLC_coding	o	-		
29	fscale_code	o	-		
30	motion_compensation_loop	o	-		

Spatial scalability or Frequency scalability

#	Syntactic element	Status	Type	Parameter range	
31	low_resolution_prediction_horizontal_dimension	o	-		
32	low_resolution_prediction_vertical_dimension	o	-		

GOP layer (GL)

General

#	Syntactic element	Status	Type	Parameter range	
1	time_code	x	I		
2	closed_gop	x	I		
3	broken_link	x	I		

Picture layer (PL)

General

#	Syntactic element	Status	Type	Parameter range	
1	picture_coding_type	x	I	I,P,B	
2	vbv_delay	x	I		
3	full_pel_forward_vector	x	I		
4	forward_f_code	x	D?	CH:V	
5	full_pel_backward_vector	x	I		
6	backward_f_code	x	D?	CH:V	
7	picture_structure	x	I	Fr & Fi structures	
8	forward_reference_field	x	I		
9	backward_reference_field	x	I		
10	chroma_postprocessing_
type	x	P		
11	v-axis / field_sequence / sub_carrier_phase / burst_amplitude / sub_carrier_phase	x	P		
12	pan_horizontal_left_upper_offset	x	P		
13	pan_vertical_left_upper_offset	x	P		
14	intra_dc_prediction	x	I	single value (9 or 10 bits?)
CH:V	
15	qscale_type	?	I	CH:V	
16	leak_factor_code	?	I	CH:V,I	

Spatial scalability or Frequency scalability				

#	Syntactic element	Status	Type	Parameter range	
17	overlap_horizontal_left_upper_offset	o	-		
18	overlap_vertical_left_upper_offset	o	-		
19	slave_slice	o	-		

Slice layer (SLL)

General

#	Syntactic element	Status	Type	Parameter range	
1	quantizer_scale	x	I		

Frequency scalability

#	Syntactic element	Status	Type	Parameter range	
2	dct_size	o	-		

MB layer (ML)

General

#	Syntactic element	Status	Type	Parameter range	
1	macroblock_address_increment	x	I	*3	
2	macroblock_type	x	I		
3	frame_motion_type	x	I	Fr/Fi/smart prediction	
4	field_motion_type	x	I	Fi/16x8/smart prediction	
5	8x8/16x8 MV	o	I		
6	dct_type	?	I	Fr/Fi or zigzag/vertical, or 8x8/8x1DCT/NTC?  CH:V,I	
7	quantizer_scale	x	I		
8	forward_motion_vectors	x	I		
9	backward_motion_vectors	x	I		
10	coded_block_pattern	x	I	*3	

*3: Included for consistancy with low delay and low bitrate operations.

Spatial Scalability

#	Syntactic element	Status	Type	Parameter range	
11	compatible_type	o	-		
12	compat_macroblock_type	o	-		
13	wt_code	o	-		
14	scaled_block	o	-		

Others

#	Syntactic element	Status	Type	Parameter range	
1	Maximum period for refresh	x	D	132	
2	Presentation-related indications	x	P	e.g. colorimetry, color matrix, gamma	
3	Decoder-related indications	x	D	e.g. interlace/progressive, 3-2 pull down	
4	VBR operation	x	I