ISO/EC CD15444-1: 1999(V1.0,9 December 1999) SOS: Start of scan marker SOT: Start of tile marker TLM: Tile length marker URI Uniform Resource ldentifier URL: Uniform Resource location General description This specification describes an image compression system that allows great flexibility, not only for the compression of images, but also for the access into the compressed data. The codestream provides a number of mechanisms for locating and extracting data for the purpose of retransmission, storage, display, or editing. This access allows the storage and the retrieval of data appropriate for a given application, without decoding The division of the both the original data and the compressed data in a number of ways leads to the ability to extract data from the compressed codestream to form reconstructed images with lower resolution, lower bit-rate, or regions of the original images. This allows the matching of a codestream to the transmission channel, storage device, or display device, regardless of the size, number of components, and sample precision of the original image. The codestream can be manipulated without decoding to achieve a more efficient arrangement for a given application. Thus, the sophisticated features of this specification allow a single codestream to be used efficiently by a number of applications. The largest image source devices can provide a codestream that is easily processed for the smallest image display device, for example 6.1 Purpose There are three main elements described in this Recommendation International Standard: Encoder: An embodiment of an encoding process. An encoder takes as input digital source image data and parameter specifications, and by means of a set of procedures generates as output compressed image Decoder: An embodiment of a decoding process and a sample transformation process. a decoder takes as input compressed image data and parameter specifications, and by means of a sp procedures generates as output digital reconstructed image data Codestream format: A compressed image data representation that includes all parameter specifications used the encoding process. The interchange format is for exchange between application environments. The interchange format is specified in Annex. A ITU-T Rec T 800(1999 CDV10) 7
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) ITU-T Rec. T.800 (1999 CDV1.0) 7 SOS: Start of scan marker SOT: Start of tile marker TLM: Tile length marker URI: Uniform Resource Identifier URL: Uniform Resource Location 6 General description This specification describes an image compression system that allows great flexibility, not only for the compression of images, but also for the access into the compressed data. The codestream provides a number of mechanisms for locating and extracting data for the purpose of retransmission, storage, display, or editing. This access allows the storage and the retrieval of data appropriate for a given application, without decoding. The division of the both the original data and the compressed data in a number of ways leads to the ability to extract data from the compressed codestream to form reconstructed images with lower resolution, lower bit-rate, or regions of the original images. This allows the matching of a codestream to the transmission channel, storage device, or display device, regardless of the size, number of components, and sample precision of the original image. The codestream can be manipulated without decoding to achieve a more efficient arrangement for a given application. Thus, the sophisticated features of this specification allow a single codestream to be used efficiently by a number of applications. The largest image source devices can provide a codestream that is easily processed for the smallest image display device, for example. 6.1 Purpose There are three main elements described in this Recommendation | International Standard: Encoder: An embodiment of an encoding process. An encoder takes as input digital source image data and parameter specifications, and by means of a set of procedures generates as output compressed image data. Decoder: An embodiment of a decoding process and a sample transformation process. A decoder takes as input compressed image data and parameter specifications, and by means of a specified set of procedures generates as output digital reconstructed image data. Codestream format: A compressed image data representation that includes all parameter specifications used in the encoding process. The interchange format is for exchange between application environments. The interchange format is specified in Annex. A
ISO/ECCD15444-1:1999(v1.0,9 December1999 6.2 Coding principles The main procedures for this Recommendation International Standard are shown in Figure 6-1. Procedures are presented in the Annexes in the order of the decoding process Compressed data syntax(Annex A) Arithmetic Coefficient Bit stream. QuantizationTransform Multiple (Annex E (Annex F) (Annex B) (Annex C) (Annex D) (Annex G) Error resilience(Annex D) Region of interest(Annex H) File format(optional, Annex K) Figure 6-1- Specification block diagram The key to this specification is the multiple ways that both the image and the codestream can be divided. Many images have multiple components. This specification has a facility to decorrelate three component planes. Other than that, the components can be extracted and reconstructed without regard to the other components (See Annex G) The image may be divided into tiles. These tiles are rectangular arrays that include the same relative portion of all the components. These tile-components can also be extracted and reconstructed independently. This tile independence provides one of the methods for extracting a region of the image. ( See Annex D The tile-components are decomposed into different decomposition levels using a wavelet transform. These decomposition levels contain a number of sub-bands populated with coefficients that describe the horizontal and vertical spatial frequency characteristics of the original tile-component planes. The coefficients provide local frequency information. That is, a small number of coefficients completely describe a single sample. a decomposition level is related to the next decomposition level by spatial powers of two. That is, each successive decomposition level of the sub-bands is has approximately half the horizontal and half the vertical resolution of the previous. Images of lower resolution than the original are generated by decoding a selected sub-set of these sub-bands ( See Annex F) Although there are the same number of coefficients as samples, the information content tends to be concentrated in just a few coefficients. Through quantization, the information content of a large number of small magnitude coefficients is further reduced. Additional processing reduces the bits required to represent these quantized coefficients, sometimes significantly compared to the original image. With the same bits, however, the reconstructed image suffers proportionally less loss in terms of visual quality. This holds true for a large enough range of bit-rates and quality factors to make this image compression system useful for a number of applications. (See Annex E) The individual sub-bands of a tile-component are further divided into code-blocks. These rectangular arrays of coefficients can be extracted independently. The individual bit-planes of the coefficients in a code-block are coded with three coding passes. Each of these coding passes collects contextual information about the bit-plane data. See Annex C) An arithmetic coder this contextual information, and its internal state, to decode a compressed bit-stream. (See Annex B )Different termination mechanisms allow different levels of independent extraction of this coding pass data The bit stream data created from these coding passes is conceptually grouped in layers. Layers are an arbitrary number of groupings of coding passes from each code-block. Although there is great flexibility in layering, the basic premise is that each successive layer contributes to a higher quality image. (See Annex D) ITU-T Rec. T 800(1999 CDV10)
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) 8 ITU-T Rec. T.800 (1999 CDV1.0) 6.2 Coding principles The main procedures for this Recommendation | International Standard are shown in Figure 6-1. Procedures are presented in the Annexes in the order of the decoding process. The key to this specification is the multiple ways that both the image and the codestream can be divided. Many images have multiple components. This specification has a facility to decorrelate three component planes. Other than that, the components can be extracted and reconstructed without regard to the other components. (See Annex G.) The image may be divided into tiles. These tiles are rectangular arrays that include the same relative portion of all the components. These tile-components can also be extracted and reconstructed independently. This tile independence provides one of the methods for extracting a region of the image. (See Annex D.) The tile-components are decomposed into different decomposition levels using a wavelet transform. These decomposition levels contain a number of sub-bands populated with coefficients that describe the horizontal and vertical spatial frequency characteristics of the original tile-component planes. The coefficients provide local frequency information. That is, a small number of coefficients completely describe a single sample. A decomposition level is related to the next decomposition level by spatial powers of two. That is, each successive decomposition level of the sub-bands is has approximately half the horizontal and half the vertical resolution of the previous. Images of lower resolution than the original are generated by decoding a selected sub-set of these sub-bands. (See Annex F.) Although there are the same number of coefficients as samples, the information content tends to be concentrated in just a few coefficients. Through quantization, the information content of a large number of small magnitude coefficients is further reduced. Additional processing reduces the bits required to represent these quantized coefficients, sometimes significantly compared to the original image. With the same bits, however, the reconstructed image suffers proportionally less loss in terms of visual quality. This holds true for a large enough range of bit-rates and quality factors to make this image compression system useful for a number of applications. (See Annex E.) The individual sub-bands of a tile-component are further divided into code-blocks. These rectangular arrays of coefficients can be extracted independently. The individual bit-planes of the coefficients in a code-block are coded with three coding passes. Each of these coding passes collects contextual information about the bit-plane data. (See Annex C.) An arithmetic coder uses this contextual information, and its internal state, to decode a compressed bit-stream. (See Annex B.) Different termination mechanisms allow different levels of independent extraction of this coding pass data. The bit stream data created from these coding passes is conceptually grouped in layers. Layers are an arbitrary number of groupings of coding passes from each code-block. Although there is great flexibility in layering, the basic premise is that each successive layer contributes to a higher quality image. (See Annex D.) Figure 6-1 — Specification block diagram Arithmetic coding (Annex B) Bit stream ordering (Annex D) Quantization (Annex E) Transform (Annex F) Multiple component (Annex G) Compressed data syntax (Annex A) Error resilience (Annex I) Region of interest (Annex H) Coefficient bit modeling (Annex C) File format (optional, Annex K)
ISO/EC CD15444-1: 1999(V1.0,9 December 1999) Packets are a fundamental unit of the compressed codestream. a packet is a particular partition of one layer of one decomposition level of one tile-component. This partition provides another method for extracting a spatial region independently from the codestream. These packets may be interleaved in the codestream using a few different methods (See Annex D. A mechanism is provided that allows the data corresponding to regions of interest in the original tile-components to Several mechanisms are provided to allow the detection and concealment of bit errors that might occur over a noisy transmission channel. (See Annex I) The compressed data relating to a tile, organized in packets, are arranged in one, or more, tile-parts. a tile-part header, comprising a series of markers and marker segments, contains information about the various mechanisms and coding styles that are needed to locate, extract, decode, and reconstruct every tile-component. At the beginning of the entire codestream is a main header, comprised of markers and marker segments, that offer similar information as well nformation about the original image. (See Annex A The codestream is wrapped in a file format that allows applications to interpret the meaning of, and other information about, the image. The file format may also contain other data besides the codestream.(See Annex J) To review, procedures that divide the original image are the following The image is decomposed into component The and its components are decomposed into rectangular tiles. The tile-component is the basic Performing the wavelet transform on a tile-component creates decomposition levels that are related to These decomposition levels are made up of sub-bands of coefficients that describe the local frequency The sub-bands of coefficients are quantized and collected into rectangular arrays of code-blocks The bit-planes of the coefficients in a code-block are entropy coded in three coding passes Some of the coefficients can be coded first to provide a region of interest. At this point the data is fully decomposed and coded. The procedures that reassemble these bit stream units into the codestream are the following The coding-passes from the code-blocks are collected in layers Packets are composed of a single partition of a single layer of a single decomposition level of a single tile-component. The packets are the basic unit of the compressed data. All the packets from a tile are interleaved in one of several orders and placed in one, or more, tile-parts The tile-parts have a descriptive tile-part header and can be interleaved in any order. The codestream has a main header at the beginning that describes the original image and the various recomposition and coding styles that shall be used to locate, extract, decode, and reconstruct the image that is appro The file format describes the meaning of the image and its components in the context of the appli Interchange format requirements The interchange format is the coded representation of compressed image data for exchange between applicat environments. This specification differentiates between file format and codestream syntax(Annex A). The codestr ITU-T Rec. T 800(1999 CDV10)
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) ITU-T Rec. T.800 (1999 CDV1.0) 9 Packets are a fundamental unit of the compressed codestream. A packet is a particular partition of one layer of one decomposition level of one tile-component. This partition provides another method for extracting a spatial region independently from the codestream. These packets may be interleaved in the codestream using a few different methods. (See Annex D.) A mechanism is provided that allows the data corresponding to regions of interest in the original tile-components to be coded and placed earlier in the bit stream. (See Annex H.) Several mechanisms are provided to allow the detection and concealment of bit errors that might occur over a noisy transmission channel. (See Annex I.) The compressed data relating to a tile, organized in packets, are arranged in one, or more, tile-parts. A tile-part header, comprising a series of markers and marker segments, contains information about the various mechanisms and coding styles that are needed to locate, extract, decode, and reconstruct every tile-component. At the beginning of the entire codestream is a main header, comprised of markers and marker segments, that offer similar information as well as information about the original image. (See Annex A.) The codestream is wrapped in a file format that allows applications to interpret the meaning of, and other information about, the image. The file format may also contain other data besides the codestream. (See Annex J.) To review, procedures that divide the original image are the following: — The image is decomposed into components. — The image and its components are decomposed into rectangular tiles. The tile-component is the basic unit of the original or reconstructed image. — Performing the wavelet transform on a tile-component creates decomposition levels that are related to the original resolution by powers of two. — These decomposition levels are made up of sub-bands of coefficients that describe the local frequency characteristics of the tile-component. — The sub-bands of coefficients are quantized and collected into rectangular arrays of code-blocks. — The bit-planes of the coefficients in a code-block are entropy coded in three coding passes. — Some of the coefficients can be coded first to provide a region of interest. At this point the data is fully decomposed and coded. The procedures that reassemble these bit stream units into the codestream are the following: — The coding-passes from the code-blocks are collected in layers. — Packets are composed of a single partition of a single layer of a single decomposition level of a single tile-component. The packets are the basic unit of the compressed data. — All the packets from a tile are interleaved in one of several orders and placed in one, or more, tile-parts. — The tile-parts have a descriptive tile-part header and can be interleaved in any order. — The codestream has a main header at the beginning that describes the original image and the various recomposition and coding styles that shall be used to locate, extract, decode, and reconstruct the image that is appropriate. — The file format describes the meaning of the image and its components in the context of the application. 7 Interchange format requirements The interchange format is the coded representation of compressed image data for exchange between application environments. This specification differentiates between file format and codestream syntax (Annex A). The codestream
ISO/ECCD15444-1:1999(1.0,9 December1999 syntax is the required description of the coded data in the codestream. The file format contains medatata about the image addition to the codestream, for example to allow for visualization, printing The interchange format requirements are that any compressed image data represented in interchange format shall comply with the syntax and code assignments appropriate for the coding processes defined in this recommendation International Standard, as specified in Annex A Encoder requirements An encoding process converts source image data to compressed image data. Annexes A, B, C, D, E, F, G, and H describe the encoding process. Note that all encoding processes are specified informatively. An encoder is an embodiment of the encoding process. In order to conform to this Recommendation International Standard, an encoder shall convert source image data to compressed image data, which conform to the interchange format syntax specified in Annex A Decoder requirements a decoding process converts compressed image data to reconstructed image data. Annexes A, B, C, D, E, F, G, and H describe and specify the decoding process. a decoder is an embodiment of the decoding process. In order to conform to this Recommendation International Standard, a decoder shall convert all, or specific parts of any compressed image data which conforms to the interchange format syntax specified in Annex a to a reconstructed image that is related to the source image. ITU-T Rec. T 800(1999 CDV10)
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) 10 ITU-T Rec. T.800 (1999 CDV1.0) syntax is the required description of the coded data in the codestream. The file format contains medatata about the image in addition to the codestream, for example to allow for visualization, printing. The interchange format requirements are that any compressed image data represented in interchange format shall comply with the syntax and code assignments appropriate for the coding processes defined in this Recommendation | International Standard, as specified in Annex A. 8 Encoder requirements An encoding process converts source image data to compressed image data. Annexes A, B, C, D, E, F, G, and H describe the encoding process. Note that all encoding processes are specified informatively. An encoder is an embodiment of the encoding process. In order to conform to this Recommendation | International Standard, an encoder shall convert source image data to compressed image data, which conform to the interchange format syntax specified in Annex A. 9 Decoder requirements A decoding process converts compressed image data to reconstructed image data. Annexes A, B, C, D, E, F, G, and H describe and specify the decoding process. A decoder is an embodiment of the decoding process. In order to conform to this Recommendation | International Standard, a decoder shall convert all, or specific parts of any compressed image data which conforms to the interchange format syntax specified in Annex A to a reconstructed image that is related to the source image
ISO/EC CD15444-1: 1999(V1.0,9 December 1999) Annex a Compressed data syntax (This annex forms an integral part of this Recommendation International Standard) This Annex specifies the marker and marker segment syntax defined by this Recommendation International Standard These marker segments provide codestream signaling for this Recommendation International Standard. Further, it anticipates signaling needed for future specifications that include this Recommendation International Standard as a ormative reference Headers and marker segments This Recommendation International Standard uses marker segments to delimit and signal the characteristics of the codestream. This set of markers and marker segments is the minimal information needed to achieve the features of this Recommendation International Standard and is not a complete or generic file format A 1.1 Markers and marker segments Every marker is two bytes long. The first byte is all ones or OxFF. The second byte denotes which marker and ranges between Ox01 and OxFE. Many of these markers are already used in ITU-T Rec. T81 ISO/EC 10918-1 and ITU-T Rec T84 ISO/IEC 10918-3 A marker segment includes a marker and associated parameters. Many marker segments just contain the marker. If there are more parameters in a marker segment than just the marker then there is a two byte value that denotes the length of the rker segment(not including the marker) A 1.2 Types of marker segments Six types of marker segments are used: delimiting, fixed information, functional, in bit stream, pointer, and informational marker segments. Delimiting marker and marker segments must be used to frame the headers and the data Markers are only used for delimiting. However, there are delimiting marker segments as well Fixed information marker segments give required information about an image. The location of these marker segments, like delimiting marker segments, is specified Functional marker segments must be used to describe the coding functions used In bit stream markers are used for error resilience. These marker segments are the only ones without a length field. Pointer marker segments point to specific places in the bit stream Informational marker segments provide optional information about the data A.13 ntax compatibility with ITUT RecT 81 ISO/EC 10918-1 The marker segment syntax uses the same construction as the JPEG standard. Some of the marker segments are exactly the same. Those that are not, have numbers that were reserved in ITU.T Rec. 81 Is 10918-1 and are registered by ITU-T Rec T 800(1999 CDV10) 1
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) ITU-T Rec. T.800 (1999 CDV1.0) 11 Annex A Compressed data syntax (This annex forms an integral part of this Recommendation | International Standard) This Annex specifies the marker and marker segment syntax defined by this Recommendation | International Standard. These marker segments provide codestream signaling for this Recommendation | International Standard. Further, it anticipates signaling needed for future specifications that include this Recommendation | International Standard as a normative reference. A.1 Headers and marker segments This Recommendation | International Standard uses marker segments to delimit and signal the characteristics of the codestream. This set of markers and marker segments is the minimal information needed to achieve the features of this Recommendation | International Standard and is not a complete or generic file format. A.1.1 Markers and marker segments Every marker is two bytes long. The first byte is all ones or 0xFF. The second byte denotes which marker and ranges between 0x01 and 0xFE. Many of these markers are already used in ITU-T Rec. T.81 | ISO/IEC 10918-1 and ITU-T Rec. T.84 | ISO/IEC 10918-3. A marker segment includes a marker and associated parameters. Many marker segments just contain the marker. If there are more parameters in a marker segment than just the marker then there is a two byte value that denotes the length of the marker segment (not including the marker). A.1.2 Types of marker segments Six types of marker segments are used: delimiting, fixed information, functional, in bit stream, pointer, and informational marker segments. Delimiting marker and marker segments must be used to frame the headers and the data. Markers are only used for delimiting. However, there are delimiting marker segments as well. Fixed information marker segments give required information about an image. The location of these marker segments, like delimiting marker segments, is specified. Functional marker segments must be used to describe the coding functions used. In bit stream markers are used for error resilience. These marker segments are the only ones without a length field. Pointer marker segments point to specific places in the bit stream. Informational marker segments provide optional information about the data. A.1.3 Syntax compatibility with ITU.T Rec.T.81 | IS0/IEC 10918-1 The marker segment syntax uses the same construction as the JPEG standard. Some of the marker segments are exactly the same. Those that are not, have numbers that were reserved in ITU.T Rec. 81 | IS 10918-1 and are registered by