ISO/IEC TR 11172-5:1998
(Main)Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 5: Software simulation
Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 5: Software simulation
Technologies de l'information — Codage de l'image animée et du son associé pour les supports de stockage numérique jusqu'à environ 1,5 Mbit/s — Partie 5: Simulation de logiciel
General Information
Relations
Standards Content (Sample)
TECHNICAL ISO/IEC
REPORT TR 11172-5
First edition
1998-11-01
Information technology — Coding of
moving pictures and associated audio for
digital storage media at up to about
1,5 Mbit/s —
Part 5:
Software simulation
Technologies de l'information — Codage de l'image animée et du son
associé pour les supports de stockage numérique jusqu'à environ
1,5 Mbit/s —
Partie 5: Simulation de logiciel
Reference number
B C
ISO/IEC TR 11172-5:1998(E)
---------------------- Page: 1 ----------------------
ISO/IEC TR 11172-5 : 1998 (E)
Contents
Foreword. iii
Introduction. iv
Purpose . iv
1 Scope. 1
2 Normative references. 1
3 Definitions. 1
4 Symbols and abbreviations. 1
5 Systems simulation . 2
6 Video simulation . 2
7 Audio simulation . 2
Annex A Diskette containing software . 3
Annex B List of patent holders . 11
Bibliography. 13
© ISO/IEC 1998
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or
utilized in any form or by any means, electronic or mechanical, including photocopying and micro-
film, without permission in writing from the publisher.
ISO/IEC Copyright Office • Case postale 56 • CH-1211 Genève 20 • Switzerland
Printed in Switzerland
ii
---------------------- Page: 2 ----------------------
© ISO/IEC ISO/IEC TR 11172-5 : 1998 (E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the
specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the
development of International Standards through technical committees established by the respective organization to deal with
particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other
international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work.
In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
The main task of technical committees is to prepare International Standards, but in exceptional circumstances a technical
committee may propose the publication of a Technical Report of one of the following types:
— type 1, when the required support cannot be obtained for the publication of an International Standard, despite repeated
efforts;
— type 2, when the subject is still under technical development or where for any other reason there is the future but not
immediate possibility of an agreement on an International Standard;
— type 3, when a technical committee has collected data of a different kind from that which is normally published as an
International Standard (“state of the art”, for example).
Technical Reports of types 1 and 2 are subject to review within three years of publication, to decide whether they can be
transformed into International Standards. Technical Reports of type 3 do not necessarily have to be reviewed until the data
they provide are considered to be no longer valid or useful.
ISO/IEC TR 11172-5, which is a Technical Report of type 3, was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.
ISO/IEC 11172 consists of the following parts, under the general title Information technology — Coding of moving pictures
and associated audio for digital storage media at up to about 1,5 Mbit/s:
— Part 1: Systems
— Part 2: Video
— Part 3: Audio
— Part 4: Compliance testing
— Part 5: Software simulation
iii
---------------------- Page: 3 ----------------------
ISO/IEC TR 11172-5 : 1998 (E) © ISO/IEC
Introduction
Purpose
This Technical Report was developed in response to the growing need for a generic coding method of moving pictures and of
associated sound for various applications such as digital storage media, television broadcasting and communication. The use of
this specification means that motion video can be manipulated as a form of computer data and can be stored on various storage
media, transmitted and received over existing and future networks and distributed on existing and future broadcasting
channels.
iv
---------------------- Page: 4 ----------------------
TECHNICAL REPORT © ISO/IEC ISO/IEC TR 11172-5 : 1998 (E)
Information technology — Coding of moving pictures and associated
audio for digital storage media at up to about 1,5 Mbit/s —
Part 5:
Software simulation
1 Scope
This Technical Report provides a C language software simulation of an encoder and decoder for Part 1 (Systems), Part 2
(Video), and Part 3 (Audio) of ISO/IEC 11172.
2 References
Recommendations and reports of the CCIR, 1990 XVIIth Plenary Assembly, Dusseldorf, 1990 Volume XI - Part 1
Broadcasting Service (Television) ITU-R Rec. BT.601-3, Encoding parameters of digital television for studios.
CCIR Volume X and XI Part 3 ITU-R Rec. BR.648, Recording of audio signals.
CCIR Volume X and XI Part 3 Report ITU-R 955-2 Satellite sound broadcasting to vehicular, portable and fixed receivers in
the range 500 - 3000Mhz.
ISO/IEC 11172-1:1993, Information technology - Coding of moving pictures and associated audio for digital storage media at
up to about 1,5 Mbit/s - Part 1: Systems.
ISO/IEC 11172-2:1993, Information technology - Coding of moving pictures and associated audio for digital storage media at
up to about 1,5 Mbit/s - Part 2: Video.
ISO/IEC 11172-3:1993, Information technology - Coding of moving pictures and associated audio for digital storage media at
up to about 1,5 Mbit/s - Part 3: Audio.
ISO/IEC 11172-4:1995, Information technology - Coding of moving pictures and associated audio for digital storage media at
up to about 1,5 Mbit/s – Part 4: Compliance testing.
IEEE Standard Specifications for the Implementations of 8 by 8 Inverse Discrete Cosine Transform, IEEE Std 1180-1990,
December 6, 1990.
IEC 461:1986, Time and control code for video tape recorders.
IEC 908:1987, Compact disc digital audio system.
ITU-T Rec. H.261 (Formerly CCITT Rec. H.261) Codes for audiovisual services at px64 kbit/s, Geneva 1990.
ITU-T Rec. T.81 | ISO/IEC 10918-1:1994, Information technology - Digital compression and coding of continuous-tone still
images: Requirements and guidelines.
3 Definitions
For the purposes of this Technical Report, the definitions given in ISO/IEC 11172-1, ISO/IEC 11172-2 and ISO/IEC 11172-3
apply.
4 Symbols and abbreviations
The ISO/IEC 9899:1990, Programming languages – C defines the programming language used in the source annexes of this
Technical Report.
1
---------------------- Page: 5 ----------------------
ISO/IEC TR 11172-5 : 1998 (E) © ISO/IEC
5 Systems simulation
The diskette included in Annex A contains the implementation of an ISO/IEC 11172-1 codec.
6 Video simulation
The diskette included in Annex A contains the implementation of an ISO/IEC 11172-2 codec.
7 Audio simulation
The diskette included in Annex A contains the implementation of an ISO/IEC 11172-3 codec.
2
---------------------- Page: 6 ----------------------
© ISO/IEC ISO/IEC TR 11172-5 : 1998 (E)
Annex A
Diskette containing software
A.1 General
This Annex contains C source code and information for Systems, Video and Audio codec and is distributed on the attached
diskette. The diskette contains the ISO/IEC 11172 source code for Systems, Video, and Audio.
Source code files use MS-DOS line feeds. Files need to be translated to alternate line-feed formats if used on UNIX, for
example.
The source code, once compiled, is capable of producing compliant ISO/IEC 11172 bitstreams, except as noted, per ISO/IEC
11172-4. Clauses A.2, A.3, and A.4 and their subclauses contain the README files associated with the source code
directories on the diskette.
A.2 Systems
A.2.1 Decoder
Every line starts with an ID, followed by a colon. The ID is one of PACK, SYS,
or an ISO stream ID, representing a pack header, system header information, or
a stream packet of the type and number represented by the ID.
Depending upon the object being described, the following information is
available, separated by at least one character of white space. Objects are
separated by linefeeds.
PACK: number of pack in sequence
SCR value
MUX rate
SYS: length
rate bound
audio bound
fixed flag
CSPS flag
audio lock
video lock
video bound
/* the following may be repeated for each stream referenced */
streamID
STD_buffer_bound_scale
STD_buffer_size_bound
: length
# bytes stuffing ( * if omitted )
STD_buffer_scale
STD_buffer_size
PTS or *
DTS or *
data size
A.2.2 Encoder
Introduction:
This program is designed to create ISO/IEC 11172-1 system streams from
ISO/IEC 11172-2 and -3 compressed video and audio files. It is limited
Compilation/Installation Instructions:
- Modify the Makefile to match your system. If you want
all types of messages define one of the DEBUG's.
3
---------------------- Page: 7 ----------------------
ISO/IEC TR 11172-5 : 1998 (E) © ISO/IEC
- Type "make binary"
- Put wherever you wish.
Usage:
cdisys paramfile
Parameter file explanation:
The parameter file is used to control the behavior of this
encoder. It is line oriented, and therefore it is very important
for the right parameters to be on the correct line.
Here is a sample parameter file that would create a multiplexed
MPEG file suitable for playing back from a 2x cdrom, using
mode 2 form 2 sectors.
--------------Start of parameter file, cut here -----------------------
# Sample parameter file for system encoder, your comments may go on this line
audio.abs # Name of the input audio file
video.vbs # Name of the input video file
/tmp/sys.mpg # Name of the output system file
e0 # hex value for video id, normally e0 (dec 224)
c0 # hex value for audio id, normally c0 (dec 192)
3 # MPEG video M value, ie size between P frames
1152000.0 # Video bit rate
224000.0 # Audio bit rate
0 # bool flag, if set, encoder continues even on EOF of aud/vid
999999 # max number of sectors to create
7056 # muxrate
21000 # First Audio pts in 90khz clock units
21000 # First Video pts in 90khz clock units
0 # Fixed bitrate flag 1->set, 0->variable bitrate stream
1 # CSPS flag
1 # Audio lock flag 1 or 0
1 # Video lock flag 1 or 0
44100.0 # Audio sample rate
29.97 # Video frame rate
2324 # Number of bytes per pack (CDI = 2324)
2352 # Number of bytes per pack + any DSM related stuff (CDI = 2352)
2312 # Number of bytes per video packet (CDI=2312)
2294 # Number of data bytes per video packet (CDI=2294)
2312 # Number of bytes per audio packet (CDI=2312)
2299 # Number of data bytes per audio packet (CDI=2279, don't include the 20 bytes of
nulls here)
1 # Number of packets per pack (not implemented, fixed to 1, CDI=1)
0 # (0|1) If set then output CDI type headers and audio (20byte) padding
0 # (0|1) If set output Video CD NULLS with audio packs
---------------------End of parameter file, cut here ----------------------------
The first line is for any comments you may wish to identify the
parameter file.
The next two lines are the audio and video input files that
are to be multiplexed into a system stream specified in the
following parameter.
The stream ID for video is specified next as a hexadecimal value.
Values from 0xE0 to 0xEF are allowed as specified according to
ISO 11172-1. In other words up to 16 video elementary streams
can be multiplexed into one system stream (but not with this encoder).
The stream ID for audio allows values from 0xC0 to 0xDF are allowed.
This allows for as many as 32 separate audio elementary streams
to be multiplexed together.
The number of video frames (plus 1) between 'reference' frames is specified
next (more specifically, the 11172-2 parameter of M). For example,
if the number of B frames between reference frames is 2 then this
number is 2+1
Video bitrate is the encoded 11172-2 video bitrate of the video stream.
Audio bitrate is the encoded 11172-3 audio bitrate of the audio stream.
4
---------------------- Page: 8 ----------------------
© ISO/IEC ISO/IEC TR 11172-5 : 1998 (E)
The next parameter is used to control when the encoder stops
encoding. If this is set the encoder will continue even after
the EOF of the elementary streams. This will result in the encoder
simply creating padding streams.
Max number of sectors is used to control how many packs/sectors
that the encoder can generate. This can be used to terminate
the encoder before the EOF of one or more of the elementary streams.
Muxrate is the number (divided by 50) of bytes that are delivered
to the system decoder every second. For example 7056 is equal
to 352800 bytes/second, or looking up the specs on cdrom's
this is what 2x cdroms can actually deliver.
First audio and video PTS are used by the encoder to
determine when each stream should start playback. If the
streams are initially in sync, then make sure that these
values are set to the same value. If there is a startup
difference between audio to video then set the audio
video PTS value to reflect the difference.
Fixed bitrate, constrained system parameters, audio lock and
video lock are parameters that come right out of the 11172-1
specification.
Audio sample rate and video sample rate are the next parameters.
Each parameter is set according to the value actually set
within the elementary stream.
Bytes per pack is the number of bytes that each pack may contain.
Bytes per pack + DSM, is the total number of bytes that
are contained within a "sector". This value is necessary
to account for any 'time' that takes place for sector headers
and other non-MPEG data. For example, with CD's a sector
is actually 2352 bytes, of which only 2324 bytes are used
for ISO/IEC 11172-1 systems data. The remaining bytes still take time
to pass under the read head, so the system encoder uses this
size to calculate the amount of time this will take.
The next parameter controls the size of a video packet. The
parameter after this one controls how many video bytes
are copied from the video elementary stream into the video packet.
The next parameter controls the size of a audio packet. The
parameter after this one controls how many audio bytes
are copied from the audio elementary stream into the audio packet.
Number of packets per pack controls the max number of packets
that can be put within a ISO/IEC 11172-1 system pack. At present this
is fixed to 1.
The next parameter is used to put the encoder into a CDI or
non-CDI generating mode. If you are creating CDI/VCD type
MPEG files, this should be set to 1. It will turn on the notion
of each elementary stream being multiplexed into its own
system stream (albeit still producing 1 muxed file).
The last parameter controls the generation of Video CD NULLS.
If set th
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.