ISO IEC 14478-3-1998 Scan
ISO IEC 14478-3-1998 Scan
Fi rst edition
1 998-1 2-1 5
Part 3:
M u l ti m ed i a System s Servi ces
Reference nu m ber
Contents
Foreword ........................................................ V
Introduction .................................................... vi
1 Scope ........................................................... 1
2 Normative references .............................................. 2
3 Definitions ....................................................... 2
5 Conformance .................................................... 3
.
7. 1 Introduction ................................................
@ I SO/I EC 1 998
Al l ri g h t s r es er ved . Un l es s o t h er wi s e s p ec i f i ed , no p ar i of th i s p u b l i c at i o n m ay be r ep r o d u c ed or u t i l i zed
in any form or by any means, electronic or mechanical, including photocopying and microfilm, without
Pr i n t ed in Swi t zer l an d
ii
0 ISO/IEC ISO/IEC 1 4478-3: 1 998(E)
1 0. S. 2. 3 InterNodeTrrmslJorr o b j ec t s ..................
III
0 IS O/IEC
ISO/IEC 1 4478-3: 1 998(E)
............................................... .39
1 0. 7 . 4 Groupobj ect. ,
C. l. 1 Videoformats. . .............................................. . 47
C. 4. 2 Video. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 I
C. 4. 3 Audio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 I
C. 4. 4 Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2
C. 4. 5 CDplayer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2
C. 4. 6 CATVtuner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2
Foreword
IS0 (the International Organization for Standardization) and IEC (the International
Electrotechnical Commission) form the specialized system for worldwide standardi-
zation. National bodies that are members of IS0 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. IS0 and IEC technical
committees collaborate in fields of mutual interest. Other international organizations,
government and non-governmental, in liaison with IS0 and IEC, also take part in the
work.
In the field of information technology, IS0 and IEC have established a joint technical
committee ISO/IEC JTC 1. Draft International Standards adopted by the joint technical
committees are circulated to the national bodies for voting. Publication as an Interna-
tional Standard requires approval by at least 75% of the national bodies casting a vote.
ISO/IEC 14478-3 was prepared by Joint Technical Committee ISO/IEC JTC 1, In fo r-
This International Standard currently consists of the following four parts under the
general title Information technology - Computer graphics and image processing -
Annex A forms an integral part of this part of ISO/IEC 14478. Annexes B to D are for
information only.
ISO/IEC 1 4478-3 : 1 998(E) 0 ISO/IEC
I ntr o ductio n
tributed computing environment is the design motivation for the MS S . This is an in-
creasingly prevalent computing model, and a solution that meets the needs of this
environment can more easily be scaIed to stand-alone systems than vice versa.
encing;
c) provide abstractions that make it possible for applications to deal with media
trend is towards multimedia enabled computing. The inevitable result will be an inter-
The MS S is intended to address a broad range of application needs. It extends the mul-
timedia capabilities of stand-alone computers to capabilities that are usable both local-
ly and remotely. The Multimedia Systems Services gives applications the ability to
handle:
Vi
0 IS O/IEC ISO/-IEC 1 4478-3: 1 998(E)
A p p lica t io n
< 1
vii
ISO/IEC 1 4478-3: 1 998(E) 0 ISO/IEC
To provide support for remote media device control and remote media access that de-
rive from the above application scenarios, the Multimedia System Services uses two
distinct mechanisms. To support interaction with remote obj ects, the Multimedia Sys-
tems Services depends upon an underlying obj ect model and infrastructure, as de-
of time critical data, the Multimedia Systems Services defines a Media Stream Con-
trol.
p) scripting;
q) user interfaces; or
VI I I
INTERNATIONAL STANDARD 0 ISOLIEC ISO/IEC 1447&3:1998(E)
(P R EM O ) -
1 Scope
This part of ISO/IEC 1 4478 defines a standard set of multimedia system services that can be used by multimedia application de-
velopers in a variety of computing environments. The focus is on enabling multimedia applications in a heterogeneous, distrib-
uted computing environment. Throughout this part of ISO/IEC 1 4478, this component will also be referred to as “Multimedia
The Multimedia Systems Services constitutes a framework of “middleware” - system software components lying in the region
between the generic operating system and specific applications. As middleware, the Multimedia Systems Services marshals low-
er-level system resources to the task of supporting multimedia processing, providing a set of common services which can be used
a) provision of an abstract type for a media processing node, extensible through subtyping to support abstractions of real
b) provision of an abstract type for the data tlow path or the connection between media processing nodes, encapsulating
c) grouping of multiple processing nodes and connections into a single unit for purposes of resource reservation and stream
control;
d) provision of a media dataflow abstraction, with support for a variety of position, time and/or synchronization capabili-
ties:
j) definition of a Media Stream Protocol to support media independent transport and synchronization.
The Multimedia Systems Services rely on the obj ect model of ISO/IEC 1 4478-I (Fundamentals of PREMO) and the obj ect types
and non-obj ect data types defined in ISO/IEC 1 4478-2 (PREMO Foundation Component).
0 IS O/IEC ISO/IEC 1 4478-3: 1 998(E)
DigitalVideoFormaf <iIv~;Format
Format
DigifalAudioFormal DynamicDigifalAudioFormat
CA TVForma t
’ MID/Formal
a) In the region of the diagram descending from VirtualResource, the descendants of VirtualDevice are often multiple sub-
types of other types (Audio, Video, etc. ) which specify operations required by real devices.
b) The diagram shows increasingly media and device specific types from left to right. These types are meant to illustrate
sample types that can be supported by the Multimedia Systems S ervices and are not meant to be the final word in media-spe-
c) Note the varieties of Format and Stream interfaces. These are discussed in subsequent clauses.
c. 1 F o r ma t obj ects
This Annex defines a hierarchy of Format types that can be used to describe a variety of media formats. Each Format type un-
derstands the details of a particular kind of media format and, through the property mechanism, has methods to set and get details
Figure 1 6 gives the hierarchy of the various format obj ects defined in this Annex. The Format obj ects proper acts as a common
supertypes for all format obj ects; it defines only two general properties: byte order for the bitstream, and name of the format. All
The following sub-clauses give only a short overview of the various format obj ects defined in this Annex.
This Annex defines several video Format types. These types are used to encapsulate the video formats which can flow between
The DigitalVideoFormat type is the simplest video format. The type defines a property to describe the raster size, common colour
space, and frame rate. There are properties for the video components to characterize the ordering and sub-sampling of the com-
ponents.
The PseudoColourVideoFormat type provides information to specify the colour table for video devices with an indexed colour
space. The colour table translates the index colour space into a true colour space.
47
ISO/IEC 1 4478-3: 1 998(E) 0 ISO/IEC
The JPEGVide o Fo rm a t type defines the segment keys which this compression technique requires. These segment keys represent
in-band control messages. For example, the key JPEGVide o Fo rm a t: : D qtK defines the quantization table. This video format il-
lustrates how the format obj ect can encapsulate dynamic formats which encode commands into the data stream.
The MPEGVide o Fo rm a t interface defines properties for this compression technique. The list of keys is extensive. The allocation
of these details to the format type, however, consolidates the conventions to one interface.
This Annex defines some additional external video format properties. These format keys anticipate the integration of device con-
trol into the framework. Assume someone provides a virtual device obj ect which provides the type to control a VCR device. The
virtual device would describe the video stream which it can export in terms of a video format obj ect. Assume the framework also
provides a video capture device. Since both virtual devices describe video formats, the client (or the connection obj ect) can verify
the formats are compatible. For example, the key “ En c o din g I? for the Vide o Co n n e c to rFo rm a t obj ect may have the value of “NT-
SC’ , “ PA L” , “ SECA M” , “ R GB ” , ” YUV’ , “ A UTO ” to describe the various available formats for digital and analogue video.
This Annex offers three audio specific format types. These types are used to abstract the format of audio data that can flow across
The D ig ita lA u dio Fo rm a t type is intended to abstract the set of audio formats. Its characteristics are those that are necessary to
fully specify a digital audio bitstream, and they include such things as encoding, sample rate, and bits per sample.
The special properties of the D ig ita lA u dio Fo rm a t are such that they cannot be changed once either of the following two condi-
tions occur:
a) The port with which it is associated is connected to another virtual device (see clause 9) via the co n n e ct operation; or
b) The Virtu a lD e vic e , Virtu a lCo n n e c tio n , or Gro u p with which it is associated has its resources acquired via the a c qu ire R e -
s o u rc e operation.
The reason for the first condition is that the data format abstracted by D ig ita lA u dio Fo rm a t does not define any in-band signalling
of changes in its characteristics, such as sample rate. The Virtu a lCo n n e c tio n establishes an agreement between the source and
destination format obj ects; changing the value of a characteristic of one of the format obj ects on the fly violates this agreement
The reason for the second condition is that the resources required to process or transport the audio data are dependent on the set-
tings of the D ig ita lA u dio Fo rm a t characteristics. Once the Virtu a lR e s o u rc e . a c qu ire R e s o u rc e operation is invoked, a quality of
service contract is established; changing the constraint on the properties of a format obj ect may cause this contract to be violated.
The D yr~ a m ic D ig ita lA u dio Fo rm a t type is a subtype of the D ig ita lA u dio Fo rm a t type, It defines no new methods or properties, but
it is intended to abstract audio data formats that provide the in-band signalling necessary to change values of its characteristics,
B ecause of the in-band signalling capability, the conditions that prevented the characteristic settings of a D ig ita lA u dio Fo rm u t
obj ect from being changed do not prevent fhe characteristic settings of a D yn a m ic D ig ita lA u dio Fo rm a t obj ect from being
changed. However, the client should be careful to constrain the range of characteristic settings to those it expects to use in order
48
0 ISO/IEC ISO/IEC 1 4478-3: 1 998(E)
The AudioCormector interface abstracts audio formats that are made external to a computer system, such as line, headphones,
and microphone level analogue signals. The properties of this format are used to determine the compatibility of data types in the
same way as for internal digital audio data types. For example, it is possible to determine that a port that uses a line level cannot
The AudioConnectorFormat is an example of a Format type that is associated with VirtualDevice ports that model physical con-
nections to a device. Exposing the physical connectors of a device as ports and describing the data that can flow across them as
Formats permits external devices to be modelled in exactly the same way as internal devices.
CATV is the acronym for Cable TV. The CATVFormat obj ect gives a standardized way to describe access to CATV network
information.
MIDI is the acronym for Musical Instrument Digital Interface, used to interface synthesizers, sequencers, rhythm machines, etc.
All MIDI communication is achieved through multi-byte messages which are defined in separate specifications. The MIDIFor-
c. 2 D ig it al st r e am co nt r o ls
All devices, described in this Annex, use digital stream control. This means that the generic SyncStream and SyncStreamControl
obj ects, as defined in clause 8, are actualized so that their progression space is defined to be Z,, and all virtual device obj ects in
this Annex used these obj ects instead of the general ones.
c. 3 Vi d e o and au d io p r o c e ssin g
The basic video specific processing interface is defined by the Video type. This is an abstract base type that is “mixed in” with
the VirtualDevice type through multiple subtyping to create the VideoDevice interface.
The Video type was made a distinct type itself. rather than defining its methods directly in the VideoDevice type defined later, in
order to allow adding video processing operations to other types of devices (such as an audio/video device) without encountering
ambiguous multiple subtyping. This approach ensures that there is exactly one path from a VirtualDe\, ice subtype to Its base
types.
The interface of the type allows the client to manipulate standard video controls. Since devices often provide additional controls,
the interface casts the controls as a property list. With this syntax it is straightforward to define additional KeyValue pairs, and
still inherit the operations found in the video type. Note that since the operations includes the stream position, the client can en-
queue methods which modify the controls as a function of the steam time.
The interface of the Video type provides an operation to set the Area Of lrlterest within the source raster. The structure to define
an area of interest describes the origin (x. J) and size (width, /zeight) within the source raster which the obj ect is to process. Note
that the width and height can assume negative values. The four combinations of positive and negative values allow the client to
reflect the image across either or both of the vertical and horizontal axes.
The operation which specifies the area of interest (setlmageAOI) also takes a stream position (i. e. , stream relative time) argument
to allow for changes in the area of interest as the stream flows. The current value of the area of interest can also be inquired. Also,
since the region within the source raster can be larger than the target raster, there is a property to specify whether the obj ect is to
clip 01 . scale.
49
ISO/IEC 1447%3:1998(E) 0 ISYIEC
VideoDevice
Video
A VDevice
Audio MicrophoneDevice
AudioDevice
FileDevice
CDPlayer
CANTuner
\ M/D/Device
the VirtualDevice type through multiple subtyping to create the AudioDevice interface.
The Audio type was made a distinct type itself, rather than defining its methods directly in the AudioDevice type defined later, in
order to allow adding audio processing operations to other types of devices (such as an audio/video device) without encountering
ambiguous multiple subtyping. This approach ensures that there is exactly one path from a VirtualDevice subtype to its base
types.
The interface of Audio is very simple: it only defines a properties for both the gain and the attenuation of the signal from the
c. 4 S p e c i fi c d e vi c e s
a) video,
b) audio,
c) file, and
d) external device.
These types will demonstrate how abstractions of real world devices can be realized within the Multimedia Systems Services
model. The types used here are examples only. Additional devices may be defined by registration.
50
0 ISO/IEC ISO/IEC 1 4478-3: 1 998(E)
The answer to the first question determines the new operations that the new Virtu a lD e vic e subtype should have. The answer to
the second question determines what new Fo rm a t and possibly Pro to c o l type(s) are necessary to configure the ports. The answer
to the third question determines if any new Stre a m Co n tro l subtype or position keys may be needed.
In addition, one should consider what the configuration of the device’ s ports should be. Typically, each point to which a connec-
tion can be made (either virtual or physical) should be exposed as a virtual device port. For example, an audio digitizer device
that can input data from a line input and produce a stream of digital data would have one input and one output port; in contrast,
a speaker device that can input data from a digital stream and produce sound would have one input port and no output ports.
C.4.2 Video
Most of the generat characteristics of video processing are abstracted in the separate Vide o obj ect type (see Annex C. 3 of this
Part), as well as in the various video related Fo rm a t types (see Annex Cl of this Part). No new stream control vocabulary is
necessary. This Annex of PREMO defines only one Vide o D e vic e type; the definition of specific subtypes for various operating
environments would go beyond the scope of this Annex and should refer to the special features of these environments.
NOTE - Informal IS0 documents or appendices to this standard may however be published to give a general highlight of how this could be
c.4.3 Audio
The addition of audio devices to this Annex involves the definition of audio specific processing capabilities and media formats.
The basic audio specific processing interface is defined by the A u di o interface (see Annex C. 3 . 2 of this Part). This type is an
abstract base type that is “mixed in” with the Virtu a lD e vic e type to create the A u dio D e vic e type. In addition, certain characteris-
tics specific to audio processing are defined, such as the encoding and sample rate associated with the inputs and outputs; this
defines a vocabulary sufficient for the client to specify simple constraints about the type of A u dio D e vic e , such as “an Audio De-
vice that can process 44. I KHz at its input and produce 8 KHz at its output”.
The A u dio D e vic e interface can be used to represent any device that processes audio and supports the gain and attenuation prop-
erties. If a device is incapable of affecting the gain, it can either be represented as an A u dio D e v ic e with its gain value fixed at
unity, or simply as a Virtu a lD e vic e that admits to audio Fo rm a t obj ects at its ports (see below).
The Sp e a ke rD e v ice is a subtype of the A u dio D e vic e type. It is used to abstract a built-in speaker device. This device presents one
input port and has no output ports (it j ust pushes air). It defines no new operations.
The Sp e a ke rD e v ice type is defined to make an easy distinction for the client between this type of device and, say, an audio display
device that drives a line output. B oth can be equally well represented by the A u dio D e vic e interface. The Sp e a ke rD e vic e type pro-
vides a simple way for the client to get a speaker, without having to set the appropriate constraints on a generic A u dio D e v ic e .
The Mic ro p h o n e D e vic e is a subtype of A u dio D e vic e . It is used to abstract a built-in microphone device. It presents one output
port and no input ports. Like Sp e a ke rD e vic e , it is defined as a simple way for a client to obtain a microphone, without having to
51
ISO/IEC 1 4478-3: 1 998(E) 0 ISO/IEC
c.4.4 Files
A pervasive characteristic of multimedia applications is the use of files to store and play back media. Defining a separate device
to describe file processing in a multimedia setting gives a high level of uniformity to multimedia applications.
Common to the processing of most media file types is a core set of operations required by clients for the playback and storage of
Files introduce no new media formats, but rather use the same Fo rma t obj ects as already defined for the media-specific device
(i. e. , D ig ita lA u dio Fo rm a t, D ig ita lVide o Fo rm a t, etc. ). The operations unique to particular file formats are supplied by subtyping
The specific characteristics of a file virtual device are determined by the file format type which it represents and its mode of op-
eration, e. g. , reading or writing. Several approaches are possible for managing the process of discovering the file’ s type and
launching the appropriate file reader or writer device. One fairly simple strategy is to assume that the client has knowledge, by
some means, of the type of file it wishes to read or write. The client creates a file virtual device by first locating a factory that can
provide an obj ect of the desired File D e vice subtype, then creates an obj ect on the factory with a constraint list that describes the
client’ s requirements and knowledge of the file. The constraint list minimally includes a file name, open mode, and file type, in
addition to any constraints required by supertypes. It may optionally include a location, a temporary file name, and an “automatic
A variation on this approach could utilize a special factory to perform the task of creating File D e vic e obj ects, rather than the cli-
ent. Still other approaches could easily be described for handling complex file types, such as container files, but this is beyond
Whichever approach is used, as part of the creation process, a subtype of File D e vic e , identified by the file type, is instantiated
and the file device configures itself with the appropriate number and type of ports and associated Fo rm a t and File Stre a m obj ects.
Ports are designated for input or output according to the open mode constraint. Formats are defined according to information
found in the file, e. g. , a header that describes the media characteristics of the data. The client may inquire about the nature of the
ports configured by using the Virtu a lD e vic e . g e tPo rtCo rzfig method. This returns a list of ports which includes associated format
classes and input/output designations for each port. The client can use this information to decide which port to designate when
c.4.5 CD player
The CD Pla ye r is a subtype of the D e vic e obj ect, used to abstract the access to compact disk players. It does not use any particular
The CA TVTu n e r is a subtype of the D e vic e obj ect, used to abstract the access to cable TV information. Its ports are controlled by
52
0 ISO/IEC ISO/IEC 1 4478-3: 1 998(E)
Annex C. I .4 of this Part). It is used to abstract access to various MIDI hardware, like synthesizers, rhythm machines, etc. It may
have several input and several output ports.
C.4.8 External resources
An important aspect of multimedia in any computer environment, distributed or otherwise, is control of external devices. External
devices such as cameras, microphones, speakers, etc. provide the “eyes” and “ears” and “mouth” of a computer system, trans-
ducing real world analog signals to digital signals for communication or storage, and transducing digital signals to analog signals
for interaction with people. External devices such as VCRs and laser disc players provide source material and inexpensive mass
storage for analog information; TV or radio tuners provide access to additional analog sources. The list of useful external devices
is long, and the Multimedia Systems Services must allow for external device attachment and control.
The abstraction for external devices is the As with all virtual devices, the inputs and outputs for external devices
Virtu a lD e vic e .
are exposed as ports, which have associated objects. Since ports on external devices are used to represent external con-
Fo rma t
defines those characteristics specific to the type of data that passes through the port. It could be used to represent a physical con-
nector on an external device or an internal adapter card, such as an audio capture device.
By extending the same abstraction used for “internal” devices to “external” devices, the Multimedia Systems Services allows the
same sort of actions on external devices as on internal devices. For instance, external connectors can be connected (although some
connections may be hard wired), external formats can be constrained, queried, etc., in the same manner as for internal devices.
As an example, consider the in clause C.4.6. This device takes an RF analog video input and generates two channels
CA TVTu n e r
of analog audio (stereo) output plus one channel of analog video output. Thus, the admits to one input port and three
CA TVTu n e r
output ports all of which have The input format would actually be a
Co n n e cto rFo rm a ts . representing the RF analog
CA TVFo rm a t,
video. The audio output channels would each be represented by an The video output channel would be
A u dio Co n n e c to rFo rm a t.
Next consider a video capture adapter. Its output port would be represented by a Its input connector would
D ig ita lVide o Fo rm a t.
to a video capture device input port to allow capture of the video output of the tuner. It is possible to connect the CA TVTu n e r
audio connectors to one or more audio capture adapters making similar assumptions.
It should be noted that there are a variety of ways to realize virtual connections between external devices. Some installations may
have physical device inputs and outputs routed to a switching device, such as an analog crossbar switch. When a Virtu a lCo n n e c -
tio rtobject is created, the resource manager controlling the crossbar switch could be instructed to connect the appropriate ports.
Another realization might simply be to display a message on a user’s screen and ask that the appropriate connection be made.
Finally, “persistent” connections could be stored in the Registration & Retrieval Service database, permitting a virtual connection
factory to determine whether a reference to a requested virtual connection could be made.
53
ISO/IEC 1447%3:1998(E) 0 IS O/IEC
C. 5 F un c t io n al S p e c i fi c a t i o n
This clause gives a more formal specification of the obj ects defined in this Annex. Note that the specifications are here as example
only, hence some of the keys and properties are not fully specified.
I== Im a g e A
Simp le PR EMO O b je ct
{ y, w idth , h e ig h t: R
Im a g e A
Fo rma t
Co n n e c to rFo rm a t
54
0 IS O/IEC ISOAEC 1 4478-3: 1 998(E)
Vide o Co n n e c to rFo rm a t
Co n n e c to rFo rm a t
Vide o Co n n e c to rFo rm a t
Properties defined:
nized.
chronization signal.
Capabilities defined:
“ No Syn c ” >
‘ A u to Syn c” >
55
ISO/IEC 1 4478-3: 1 998(E) 0 ISOAEC
7 A u dio Co n n e c to rFo rm a t
Co n n e c to rFo rm a t
A u dio Co n n e c to rFo rm a t
Properties defined:
Capabilities defined:
“ Mic ro p h o n e ” , “ Sp e a ke r” >
56
0 IS O/IEC ISO/IEC 1 4478-3: 1 998(E)
I==
Fo rma t
D ig ita lVide o Fo rm a t
Properties defined:
Width K z R. O.
He ig h tK Z R. O.
A s p e c tR a tio K R R. O .
Co lo u rSp a c e K Strin g R. O .
Pe rio dK R R. O .
Sa m p le R a te K R R. O .
Co m p o n e n tCo u n tK Z R. O .
CITjp e K Strin g R. O.
CID e p th K O c te t R. O.
CISu h s a m p lin g XK O c te t R. O.
C2 Typ e K Strin g R. O .
C2 D e p th K O c te t R. O .
C2 Su b s a m p lin g YK O c te t R. O .
C3 irjp e K Strin g R. O .
C3 D e p th K O c te t R. O.
C3 Su lxa m p lin g XK Oc te t R. O .
C3 Su h s a m p lin g YK Oc te t R. O.
C4 7jp e K Strin g R. O.
C4 Lkp th K O c te t R. O.
C4 Su b s a m p lin g XK O c te t R. O.
C4 Su b s a m p lin g YK O c te t R. O.
51
ISO/IEC 1 4478-3: 1 998(E) 0 IS O/IEC
Capabilities defined:
“ Sa m p le R a te K” ,
“ Co m p o n e n tCo u n tK” ,
“ ClTyp e K” , “ CID e p th K” ,
“ C2 Typ e K” , “ C2 D e p th K” ,
“ C2 Su b s a m p lin g XK” ,
“ C2 Su b s a m p lin g YK”
“ C3 Typ e K” , “ C3 D e p th K” ,
“ C3 Su b s a m p lin g XK” ,
“ C3 Su b s a m p lin g YK”
“ C3 Typ e K” , “ C3 D e p th K” ,
“ C3 Su b s a m p lin g XK” ,
58
0 ISO/IEC ISO/IEC 1 4478-3: 1 998(E)
MPEGVide o Fo rm a t
I===
D ig ita lVide o Fo rm a t
MPEGVide o Fo rm a t
Properties defined:
preted as FALSE.
Capabilities defined:
“ Tim e Co de K’ b
JPEG Vide o Fo rm a t
f===
D ig ita lVide o Fo rm a t
JPEGVide o Fo rm a t
Properties defined:
None.
Capabilifies defined:
None.
Ps e u do Co lo u rVide o Fo rm a t
I==
D ig ita lVide o Fo rm a t
Ps e u do Co lo u rVide o Fo rm a t
59
ISO/IEC 1 4478-3: 1 998(E) 0 ISO/IEC
Properties defined:
NumColoursK 2 R. O.
ues.
Capabilities defined:
S ee also the restrictions on changing property values, described in Annex C. 4. 3 . 1 of this Part.
r DigitalAudioFormat
Format
L DigitalAudioFornzat
Properties defined:
SampleRateK String
NunzCharlnelsK Z R. O.
indicates variable.
60
0 ISO/IEC ISO/IEC 1 4478-3: 1 998(E)
Capabilities defined:
“ADPCM”>
per channel)
S ee also the restrictions on changing property values, described in Annex C. 1 . 2. 1 . 1 of this Part. This type does not add any op-
eration nor does it add new properties or capabilities; the type is defined separately to stress the semantic differences.
DpnamicDigitalAudioFormat
t====
DigitalAudioFormat
c DynamicDigitalAudioFormat
This type does not add any operation nor does it add new properties or capabilities; the type is defined separately to stress the
semantic differences. The format is relevant with relation to the CATVTuner device.
I== CATVFormat
Format
CATVFormat
I=== MlDlFormat
Format
MIDIFormat
61
ISO/IEC 1 4478-3: 1 998(E) 0 ISO/IEC
C. 5. 3 . 2 D igita lS tre a m Co n td o b je c ts
62
0 ISO/IEC ISO/IEC 1 4478-3: 1 998(E)
Videorrbsrruct
I=
Propertylnquiry
[; ; ; ; , g Aoz
exceptions: { InvalidPosition]
The operation allows the client to specify the area of interest within the source image. The default value is the
entire source raster. aoii, , describes the origin (x, y) and size (width, height) within the source image which is
to be processed. The width and height can assume negative values. The four possible sign combinations allow
the client to reflect the image across either or both of the vertical (negative height value) and horizontal (nega-
tive weight value) axes, or to specify no reflection (both weight and height positive.) positioni, is a stream
position. Using it, the client can specify that the A01 is to be effective at and following the specified steam
time.
Exceptions raised:
- getlmageAO1
positioni, , : Time
The operation returns the area of interest at the specified stream time.
Exceptions raised:
Video
Properties defined:
BrightnessK Z
ContrastK Z
SaturationK Z
SharpnessK Z
InzageAOlModeK String
63
ISO/IEC 1 4478-3: 1 998(E) 0 IS O/IEC
Capabilities defined:
“SaturationK” , “SharpnessK” ,
Propertylnquiry
L A udio
Properties defined:
Capabilities defined:
64
0 IS O/IEC ISO/IEC 1 4478-3: 1 998(E)
c. 5. 5 Specific devices
Vide o D e v ic e
I===
Virtu a lD e vic e . Vide o
c Vide o D e v ic e
Properties defined:
In p u tFra m e R a te K R
O u tp u tFra m e R a te K R
Capabilities defined:
InputPortCK Z I
OutputPortCK Z I
A u dio D e vic e
I===
i A u dio D e vic e
Capabilities defined:
InputPortCK Z 1
OutputPortCK Z 1
65
0 IS O/IEC
ISO/IEC 1 4478-3: 1 998(E)
C. 5. 5. 3 A VD e v ic e obj ect
This type represents A/V multiplexors, demultiplexors, A/V capture and display devices.
A VD e vic e
I==
L-
A VD e vic e
Capabilities defined:
InputPortCK z 2
OutputPortCK Z 2
The Mic ro p h o n e D e vic e obj ect is a subtype of A u dio D e vic e . It is defined j ust to make it eas y for a client to get a microphone,
Mic ro p h o n e D e vic e
f===
A u dio D e vic e
Mic ro p h o n e D e vic e
Capabilities defined:
InputPortCK Z 0
OutputPortCK Z I
m a t>
66
0 IS O/IEC ISOflEC 1447%3:1998(E)
C. 5. 5. 5 SpeakerDevice object
The SpeakerDevice obj ect is a subtype of A udioDevice. It is defined j ust to make it easy for a client to get a s peaker, rather than
SpeakerDevice
I= = =
A udioDevice
SpeakerDevice
Capabilities defined:
Key Type of Value Values
InputPortCK Z I
OutputPortCK Z 0
mat>
67
ISO/IEC 1 4478-3: 1 998(E) 0 ISO/IEC
FileDevice
I====
VirtualDevice
save
exceptions: (InvalidAccess)
r
Exceptions raised:
FileDevice
Properties defined:
NameK String
OpenMode K String
TypeK String
AutoSaveK String
Capabilities defined:
InputPortCK Z 1
OutputPortCK Z 1
a. an instance of FileDevice may have either one output port or one input port, but not both (this is reflected in
the native property values for the properties InputPortC and OutputPortC)
68
0 IS O/IEC ISO/IEC 1447%3:1998(E)
C. 5. 5. 7 CD Pla ye r object
I=== CD Pla ye r
Virtu a lD e vic e
L CD Pla ye r
Properties defined:
Qpe of Value R.0 or R/W Description
Tra c kK Z R. 0 Current track
Capabilities defined:
Key Qpe of Value Values
DynamicPropertyListCK seq Ke y < “ Pla yListK” >
InputPortCK Z 0
OutputPortCK Z 2
Fo rm a t>
69
ISO/IEC 1447%3:1998(E) 0 IS O/IEC
C. 5. 5. 8 CA TVTu n e r object
This device models a CATV tuner that takes an RF analog video at its input and generates two channels of audio plus one channel
of video as o u tp u t. Thus, it has one input port and three output ports .
I= CA TVPla ye r
Virtu a lD e vic e
CA TVPla ye r
Properties defined:
Capabilities defined:
Key Type of Value Values
DynamicPropertyListCK se q Ke y < “ Cu rre n tCh a n n e lK” >
InputPortCK Z 1
OutputPortCK Z 3
Fo rma t>
m a t>
70
0 IS O/IEC ISO/IEC 1447%3:1998(E)
C. 5. 5. 9 MID ID e v ic e object
This device models a MIDI device, to acces s synthesizers, rythm machines, etc. It may have several input and output ports .
I= MlD ID e vic e
Virtu a lD e vic e
MlD ID e vic e
Properties defined:
Key mpe of Value R.0 or R/W Description
Nu m b e rO fCh a n n e ls K Z R. 0 “Channel” is the term us ed in the MIDI
without discrimination.
may be allocated.
Capabilities defined:
Key Type of Value Values
InputPortCK Z 16
OutputPortCK Z 16
MutablePropertyListCK se q Ke y < “ O m n i’ 5
71
ISO/IEC 1447%3:1998(E) 0 ISO/IEC
Annex D
(informative)
in 9. 3 .
D. l H a r d wa r e c o n n e c t io n e x a mp l e
In some cases, system hardware or operating system software performs the media data transport between the virtual devices. The
virtual connection determines this, but it is then the responsibility of the virtual devices to carry this out. Figure I8 shows an ex-
D.2 D ir e c t c o n n e c t io n e x a mp l e
The direct connection case shown in Figure 1 9 is typical of a stand-alone system and will also be used when possible for optimi-
D.3 Lo c a l c o n n e c t io n e x a mp l e
The local connection configuration is illustrated in Figure 20. Here a virtual connection adapter is instantiated and inserted by the
virtual connection between two virtual devices on the same system. This might be necessary when the virtual devices ports are
incompatible.
In the local virtual connection adapter case, the virtual connection adapter provides two ports. The virtual device port never knows
whether it is working with another virtual device port or a virtual connection adapter.
H ard ware )/
Si n g l e System
-b Data flow
72
0 ISOAEC ISO/IEC 1 4478-3: 1 998(E)
Single System
-b Data flow
Single System
I
-b Data flow
Figure 20 - Local virtual connection adapter example
73
ISO/IEC 1 4478-3: 1 998(E) 0 IS O/IEC
Virtual
Connection
( >
Virtual
Lonnecoon
I Device
Adapter
p
( ii- - j
Buffer
Manager
J
System 1 System 2
\ /
D.4 N e t wo r k c o n n e c t io n e x a mp l e
In a distributed environment, the two virtual devices res ide on s eparate systems and a virtual connection adapter is required. Un-
like the local virtual connection adapter, which may be implemented as a single entity, the network virtual connection adapter
consists of two s eparate entities which must communicate acros s the network. This communication between the two parts of the
virtual connection adapter will include the media trans fer as well as control information. This communication will be accom-
74
I SOAEC 1 4478-3: 1 998(E) 0 I SOAEC
I CS 35. 1 40
Descri ptors: data processi n g , i n form ati on i n terch an g e, g raph i c data processi n g , i m ag e processi n g , vi deo data, au d i o data, cod i n g (d ata