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

Status
Published
Publication Date
26-Nov-1997
Current Stage
9020 - International Standard under periodical review
Start Date
15-Jul-2024
Completion Date
15-Jul-2024
Ref Project

Buy Standard

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
Preview
sale 15% off
Preview

Standards Content (Sample)



INT ERNAT ION A L lSO /IEC
ST ANDARD 12089
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
(W
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)
ISO/IEC 12089: 1997(E)
Foreword
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
INTERNATIONAL STANDARD 0 ISO/IEC ISO/IEC 12089:1997(E)
Information technology - Computer graphics and image
processing - Encoding for the Image Interchange Facility
(IIF)
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.

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.

ISO/IEC 12089: 1997(E)
0 ISO/IEC
3 Definitions and abbreviations
ASN.l Abstract Syntax Notation One
Basic Encoding Rules
BER
frc fraction
Isb least significant bit
least significant Byte
1sB
most significant bit
most significant Byte
msB
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.

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.

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

ISO/IEC 12089: 1997(E) 0 ISO/IEC
IIF module declaration IIFEncoding
Semantics
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) }
DEFINITIONS : :=
BEGIN
EXPORTS
PixelFieldEncoding,
BooleanEncoding.
IntegerEncoding,
FixedPointEncoding,
RealEncoding,
ComplexEncoding,
EnumeratedEncoding;
IMPORTS;
-+cdeclarations>>
END
Constraints
None.
ISO/IEC 12089: 1997(E)
0 ISO/IEC
PixelFieldEncoding
IIF Syntax entity No. 1001
Semantics
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
specified.
Possible values are:
The physical Order matches the significance:
,,O“
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).
Syntax:
PixelFieldEncoding ::= SEQUENCE
{
[o] INTEGER (O.l),
byte-order-swapped
encoding-rules [l] EncodingRules,
[ 2 3 BITSTRING
Pixel-values
Constraints
The number field elements contained in the Pixel-values component must match the number of array elements
declared by the corresponding image structure definition.

0 ISOIIEC
ISO/IEC 12089: 1997(E)
EncodingRules
IIF Syntax entity No. 1002
Semantics
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.
EncodingRules
uniform-encoding
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.
EncodingRules
hierarchical-encoding
iteration-and-alignment
= IterationAndAlignment
explicit-iteration = INTEGER 64
alignment = Padding
-
octet-boundary - INTEGER 2
components-encoding
= SEQUENCE OF
1 = ComplexEncoding
elementary-component = ElementEncoding
non-negative-integer = UnsignedIntegerEncoding
number-of-bits = INTEGER 6
= ComplexEncoding
elementary-component = ElementEncoding
real = RealEncoding
ieee-basic-Single = NULL
0 ISO/IE@
...

Questions, Comments and Discussion

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