Information technology -- Computer graphics and image processing -- Encoding for the Image Interchange Facility (IIF)

Technologies de l'information -- Infographie et traitement de l'image -- Codage pour les accessoires pour l'échange de l'image (IIF)

General Information

Publication Date
Current Stage
6060 - International Standard published
Completion Date
Ref Project

Buy Standard

ISO/IEC 12089:1997 - Information technology -- Computer graphics and image processing -- Encoding for the Image Interchange Facility (IIF)
English language
23 pages
sale 15% off
sale 15% off

Standards Content (sample)

F irs t edi tion
1997 -12 -15
In fo rma tion technology - Compu te r
g raph ics and image p rocessing -
E ncoding fo r the Image In te rchange Fa cili ty
In fog raphie e t trai temen t de I’image -
Technologies de I’in fo rma tion -
Codage pou r /es accessoi res pou r khange de I’image (IIF )
Re fe rence numbe r
ISO /1 EC 12089 : 1997 (E)
---------------------- Page: 1 ----------------------
ISO/IEC 12089: 1997(E)
ISO (the International Organization for Standardization) and IEC (the Inter-
national 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. Draft International Standards adopted by the

joint technical committee are circulated to national bodies for voting. Publication

as an International Standard requires approval by at least 75 % of the national
bodies casting a vote.
International Standard ISO/IEC 12089 was prepared by Joint Technical
Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 24,
Computer graphics and image processing.
0 ISO/IEC 1997

All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or

utilized in any form or by any means, electronie or mechamcal, including photocopying and micro-

film, without permission in writing from the publisher.
ISO/IEC Copyright Office l Case postale
56 l CH-121 1 Geneve 20 l Switzerland
Printed in Switzerland
---------------------- Page: 2 ----------------------
Information technology - Computer graphics and image
processing - Encoding for the Image Interchange Facility
1 Scope

This International Standard defines the encoding rules which shall apply to the representation of IPI-IIF image

data. The IPI-IIF data format is defined in ISOLEC 12087-3, called ,,Image Interchange Facility (IIF) “. It is

Part 3 of the Image Processing and Interchange International Standard, defined in ISO/IEC 12087. The IPI-IIF

facilitates the interchange of digital images. It consists of two major Parts:

(1) the IPI-IIF data format (IIF-DF) definition, whose Syntax is described using ASN. 1;

(2) the IPI-IIF gateway definition, whose functionality is described by an application programmers interface.

The IPI-IIF is based on the definition described in Part 1, Common Architecture for Zmaging (CAI) of the

ISO/IEC 12087.

Due to the fact that the Syntax of the IIF-DF is expressed using the Abstract Syntax Notation One (ASN.l),

defined by ISO/IEC 8824, this Standard makes use of the Basic Encoding RuZes (BER) for ASN. 1, by referring

to ISO/IEC 8825 for the definition of encoding rules.

NOTE - A rationale for the introduction of new encoding rules in addition to those defined by the BER is given in

clause 4.

Reference shall be made to this International Standard, and its definitions shall be employed, whenever images

are interchanged, according to the IIF-DF, defined in ISO/IEC 12087-3.
---------------------- Page: 3 ----------------------
ISO/IEC 12089: 1997(E) 0 ISO/IEC
2 Normative references

The following Standards contain provisions which, through reference in this text, constitute provisions of this

International Standard. At the time of publication, the editions indicated were valid. All Standards are subject to

revision, and Parties to agreements based on this International Standard are encouraged to investigate the

possibility of applying the most recent editions of the Standards indicated below. Members of IEC and ISO

maintain registers of currently valid International Standards.

ISO/IEC 8632:(all Parts), Information technology - Computer graphics - Metafile for the storage and transfer of

picture description information.

ISO/IEC 8824: 1990, Information technology - Open Systems Interconnection - Specification of Abstract

Syntax Notation One (ASN. 1).

ISO/IEC 8825: 1990, Information technology - Open Systems Interconnection - Specification of Basic

Encoding Rules for Abstract Syntax Notation One (ASN. 1).

ISOIIEC 8825-2: 1996, Information technology - ASN.1 encoding rules: Specification of Packed Encoding

Rules (PER).

ISO/IEC 12087- 1: 1995, Information technology - Computer graphics and image processing - Image

Processing and Interchange (IPI) - Functional specification - Part 1: Common
architecture for imaging.

ISOIIEC 12087-2: 1994, Information technology - Computer graphics and image processing - Image

Processing and Interchange (IPI) - Functional specification - Part 2: Programmers ’

imaging kerne1 System application Programme integace.

ISO/IEC 12087-3: 1995, Information technology - Computer graphics and image processing - Image

Processing and Interchange (IPI) - Functional specification - Part 3: Image
Interchange Facility (IIFj.

NOTE - Some ISO Standards are technically aligned with CCITT Recommendations, in particular the ASN. 1 Standard (ISO

Standards 882418825 and CCITT Rets. X.208/X.209). The differentes between the International Standard definitions

and the CCITI’ definitions are quite small, and should not affect interoperability between implernentations written

against either document. Within this part of ISO/IEC 12087, the ISO Standards are referenced whenever possible.

---------------------- Page: 4 ----------------------
ISO/IEC 12089: 1997(E)
3 Definitions and abbreviations
ASN.l Abstract Syntax Notation One
Basic Encoding Rules
frc fraction
Isb least significant bit
least significant Byte
most significant bit
most significant Byte
S sign

NOTE - For definitions and abbreviations concerning the Image Processing and Interchange Standard (IPI), refer also to

clause 3 of ISO/IEC 12087-1, ISO/IEC 12087-2 and ISO/IEC 12087-3.
---------------------- Page: 5 ----------------------
ISO/IEC 12089: 1997(E) 0 ISOIIEC
4 Encoding rules for the IIF Syntax entities

The encoding of Syntax entities shall conform to the Basic Encoding Rules (BER) for ASN.l - ISO/IEC 8825.

NOTE - Using the BER encoding overheads may occur. In particular, the encoding of a large Pixel data field tan produce

considerable space and processing time overhead, when every Pixel is represented as an elementary ASN. 1 data

entity, consisting of a ,,tag“ and a Jength“ field that proceeds the ,,value“ field.

For this reason this International Standard describes additional encoding methods that may be applied to Pixel

fields. These methods may neither be regarded as extensions, nor as changes to the tag-length-value concept of the

BER. Instead, they only describe how to interpret the data contained in the elementary ASN.l type OCTET

STRING, when this elementary type was used to encode an entire field of Pixel values (instead of just one value).

Thus, these encoding rules may rather be regarded to lie ,,on top of‘ BER encoding/decoding tools.

This International Standard defines additional encodings for space-efficient representation of Pixel fields. They

are outlined in clause 5 in conjunction with additional IIF Syntax entities which describe the degree of freedom

for the selection of an encoding method.
---------------------- Page: 6 ----------------------
0 ISO/IEC ISO/XEC 12089: 1997(E)
5 IIF Syntax entities for the representation of Pixel fields

The Syntax is expressed in ASN.1 (Abstract Syntax Notation One), according to ISO/IEC Standard 8824,

“Specification of Abstract Syntax Notation One (ASN.1)” ASN.l is a formal description language. It defines a

set of primitive data types, such as INTEGER, ENUMERATED, and REAL and provides a facility to construct

new elements with their own typing inherent in the structure using the constructors SEQUENCE, SEQUENCE

OF and CHOICE. This allows for new data types to be defined which are uniquely recognisable within an

application. To make these definitions more readable, textual labels may be associated with the elements in a

constructor type. In Order to distinguish different occurrences of the same type within one constructor, various

types of tags are provided that may be associated with the constructors ’ elements.

Within the semantic description each element (which is either a primitive data type or a constructed type) is

called syntax entify. According to ASN.l, the names of the Syntax entities begin with capital letters. Syntax

entities consist of a number of components. According to ASN.l, the component labels begin with lower case

a semantics

In the following, ASN. 1 code is indicated by courier f ont. All Syntax rules are preceded by

Statement. Some rules are succeeded by constraints Statements. The rules are ordered in prefix form.

---------------------- Page: 7 ----------------------
ISO/IEC 12089: 1997(E) 0 ISO/IEC
IIF module declaration IIFEncoding

IIFEncoding is the name of the ASN. 1 module responsible for the encoding of fields of Pixel values to be used

mainly by the HF-DF. Besides the full Syntax (given by the PixeZFieIdEncoding entity), the module also exports

the BooleanEncoding, IntegerEncoding, FixedPointEncoding, RealEncoding, CompEexEncoding and the

EnumeratedEncoding entities. This provides other ASN.1 notated applications with direct access to these sub-

objects. No objects are imported.

In Order to obtain the full Syntax for the module specification, the term <>

needs to be

replaced with the Syntax portions of all subsequent Syntax entities within this clause.

IIFEncoding {iso(l> Standard (0) ipi-encoding(12089)
iif-encoding(1) }
---------------------- Page: 8 ----------------------
ISO/IEC 12089: 1997(E)
IIF Syntax entity No. 1001

The PixelFieZdEncoding entity is used to represent a field of Pixel values whose structure is defined by an

external image structure definition.

NOTE - In case of the IIF-DF, this image structure definition is given by the ImageStructure entity.

The byte-order-swapped component indicates the sequential Order in which consecutive octets appear within the

corresponding Pixel-value component. The definitions of subsequent data types apply after octet swapping, if

Possible values are:
The physical Order matches the significance:
7 6 5 4 3 2 1 0
T-7-T-6-T-5-T-4-T-s-T-2-I-1 ------- , o ,
-------e-e --------_------_-------
1 66
The octets are swapped:
7 6 5 4 3 2 1 0
T-6-T-7-T-4-T-;-!-2-T-S-T-O-I-1 --- ,

NOTE -When using ASN.1, machine dependencies, such as byte swapping are managed by the BER. However, within the

PixeZFieZdEncoding entity an ASN.l OCTET STRING is used to represent not just one value, but multiple values of

various types such as integer or real. Thus, these machine dependencies need to be managed by the application again.

The encoding-rules component determines the encoding rules that apply to the field of Pixel values.

The Pixel-values component represents the field of Pixel values by the ASN. 1 type BITSTRING.

NOTE -A field element is either the value of a Pixel, or the value of an elementary part of a Pixel, depending on whether the

Pixel type is defined to be elementary or compound (e.g., a record of some elementary types).

PixelFieldEncoding ::= SEQUENCE
[o] INTEGER (O..l),
encoding-rules [l] EncodingRules,

The number field elements contained in the Pixel-values component must match the number of array elements

declared by the corresponding image structure definition.
---------------------- Page: 9 ----------------------
ISO/IEC 12089: 1997(E)
IIF Syntax entity No. 1002

The EncodingRules entity provides a generic method for the specification of the packed encoding of Pixel

values. The uniform-encoding component describes the encoding of heterogeneous Pixel fields, while the

hierarchical-encoding component facilitate the description of the complex hierarchical encodings.

EXAMPLE - Given a 2D image, which consists of two bands, called hi and Zo, whereby hi has three times the resolution of

Zo in both dimensions: 192x192 Pixels for hi, and 64x64 Pixels for Zo. According to its Image structure definition, the

image is represented Pixel-interleaved, i.e. it consists of 3 by 3 blocks of hi Pixels followed by a Single Zo Pixel,

followed by another block of hi Pixels, etc, Let us now look at two cases
1) Let us assume that both bands have 8 bit unsigned integer Pixels:

In this case the Pixel values of both bands are represented in the same way. Thus, on the level of the encoding

specification it is not necessary to express the complex Pixel interleaved Organisation. Instead it is sufficient to specify

a plain (1 -dimensional) sequence of 8 bit integers. The iteration component is being set to 49960 = 192~ 192 + 64x64.

The bit pad component is set to Zero, since no padding bits occur in the sequence.

iteration-and-alignments = SEQUENCE OF
1 = IterationAndAlignment
explicit-iteration = INTEGER 40960
alignment = Padding
bi t-pad = INTEGER 0
components-encoding = SEQUENCE OF
= ElementEncoding
non-negative-integer = UnsignedIntegerEncoding
number-of-bits = INTEGER 8

2) Let us assume that hi band consists of 6 bit integers and the low band consists of 4 octet floats.

In this heterogeneous case a hierarchical encoding specifications is required, if each block of Pixel elements is aligned

to a 2 octet boundary. The first level describes the loop over Pixel blocks. The second level describes the representation

within one block.
= IterationAndAlignment
explicit-iteration = INTEGER 64
alignment = Padding
octet-boundary - INTEGER 2
1 = ComplexEncoding
elementary-component = ElementEncoding
non-negative-integer = UnsignedIntegerEncoding
number-of-bits = INTEGER 6
= ComplexEncoding
elementary-component = ElementEncoding
real = RealEncoding
ieee-basic-Single = NULL
---------------------- Page: 10 ----------------------
ISO/IEC 12089: 1997(E)
EncodingRules ::= CHOICE
uniform-encoding [0] UniformEncoding,
[l] HierarchicalEncoding
---------------------- Page: 11 ----------------------
ISOIIEC 12089: P997(E) 0 ISOAEC
IIF Syntax entity No. 1003 VniformEncoding

The UniformEncoding entity describes the encoding of uniform encoded Pixel fields. The iteration-and-

alignment component is used to describe the place and size of padding bits. It is organised as a sequence of

IterationAndAZignment en

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.