ISO/ECCD15444-1:1999(1.0,9 December1999 JURA. Some of this marker field (OxFF30-OxFF3F) is reserved by this specification as markers without marker segments. This will enable backward compatibility. Table A-1 shows in which specification these marker are defined Table A-1- Marker definitions larker value range Standard definition OxFFO0. OxFFOI OxFFFE. OxFFCO Defined in ITU-T Rec. T 81 ISO/EC 10918- OxFFDF OxFFF0-OxFFF6 Defined in ITU-T Rec. T84 ISO/EC 10918-3 0xFFF7—0xFFF8 Defined in ITU-T Rec. T87 ISO/EC 14495-1 OxFF4F-OXFF6F Defined in this Intermational Standard Recommendation OxFF30-OXFF3F Reserved for definition as markers only (no marker segments) A 1. 4 Marker segment and codestream rules Marker segments, and therefore the headers, are a multiple of 8 bits(one byte). Further, the bit stream data between the headers are padded to also be aligned to a multiple of 8 bits All marker segments in a tile-part header apply only to the tile to which it belongs All marker segments in the main header apply to the whole image unless specifically overridden by segments in a tile-part he ader Packets are located at 8 bit(one byte)boundaries. The data before a packet are padded with enough extra bits to make a multiple of 8 bits Delimiting and fixed information marker segments must appear at specific points in the codestream. The marker segments should always correctly describe the image as represented by the codestream. If truncation, alteration, or editing of the codestream has been performed, the marker segments shall be Marker segments include a length parameter (except for some delimiting markers) that indicates the length of marker segment, excluding the two byte marker. This allows a decoder to skip over a marker and marker segment as needed t All markers with the marker value between OxFF30 to OxFF3F are defined to only have the two byte marker, i.e. there are no length parameter or other parameters A 1.5 Key to graphical descriptions Each marker segment is described in terms of function, usage, and length. The function describes the information contained in the marker segment. The usage describes the logical location and frequency of this marker segment in the codestream. The length describes which parameters determine the length of the marker segment These descriptions are followed by a figure that shows the order and relationship of the parameters in the marker segment. Figure A-1 shows an example of this type of figure. The marker segments are designated by a three letter abbreviation. The parameter values have capital letter designations with the markers abbreviation as a sub-script. A rectangle is used to indicate the parameters in the marker segment. The width of the rectangle is proportional to the number of bytes in the field. a shaded rectangle indicates that the parameter is of varying size. Two parameters with ITU-T Rec. T 800(1999 CDV10)
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) 12 ITU-T Rec. T.800 (1999 CDV1.0) JURA. Some of this marker field (0xFF30 — 0xFF3F) is reserved by this specification as markers without marker segments. This will enable backward compatibility. Table A-1 shows in which specification these marker are defined. A.1.4Marker segment and codestream rules — Marker segments, and therefore the headers, are a multiple of 8 bits (one byte). Further, the bit stream data between the headers are padded to also be aligned to a multiple of 8 bits. — All marker segments in a tile-part header apply only to the tile to which it belongs. — All marker segments in the main header apply to the whole image unless specifically overridden by marker segments in a tile-part header. — Packets are located at 8 bit (one byte) boundaries. The data before a packet are padded with enough extra bits to make a multiple of 8 bits. — Delimiting and fixed information marker segments must appear at specific points in the codestream. — The marker segments should always correctly describe the image as represented by the codestream. If truncation, alteration, or editing of the codestream has been performed, the marker segments shall be updated accordingly. — Marker segments include a length parameter (except for some delimiting markers) that indicates the length of marker segment, excluding the two byte marker. This allows a decoder to skip over a marker and marker segment as needed. — All parameter values in marker segments are big endian (most significant byte first). — All markers with the marker value between 0xFF30 to 0xFF3F are defined to only have the two byte marker, i.e. there are no length parameter or other parameters. A.1.5 Key to graphical descriptions Each marker segment is described in terms of function, usage, and length. The function describes the information contained in the marker segment. The usage describes the logical location and frequency of this marker segment in the codestream. The length describes which parameters determine the length of the marker segment. These descriptions are followed by a figure that shows the order and relationship of the parameters in the marker segment. Figure A-1 shows an example of this type of figure. The marker segments are designated by a three letter abbreviation. The parameter values have capital letter designations with the markers abbreviation as a sub-script. A rectangle is used to indicate the parameters in the marker segment. The width of the rectangle is proportional to the number of bytes in the field. A shaded rectangle indicates that the parameter is of varying size. Two parameters with Table A-1 — Marker definitions Marker value range Standard definition 0xFF00, 0xFF01, 0xFFFE, 0xFFC0 — 0xFFDF Defined in ITU-T Rec. T.81 | ISO/IEC 10918-1 0xFFF0 — 0xFFF6 Defined in ITU-T Rec. T.84 | ISO/IEC 10918-3 0xFFF7 — 0xFFF8 Defined in ITU-T Rec. T.87 | ISO/IEC 14495-1 0xFF4F — 0xFF6F Defined in this International Standard | Recommendation 0xFF30 — 0xFF3F Reserved for definition as markers only (no marker segments)
ISO/EC CD15444-1: 1999(V1.0,9 December 1999) superscripts and a gray area between indicate a run of several of these parameters. a dashed rectangle indicates that the parameter is only present if necessary 16 bit marker 8 bit parameter 32 bit parameter Run of n parameters MAR C OmarAma parameter Figure A-l- Example of the marker segment description figures The meaning of each parameter in the marker segment is defined in a list. If there is a run of the same parameter, the length and nature of that run is defined. The first rectangle is the marker value and is always 16 bits. The second rectangle is the length and is 16 bits There is a table that describes the parameter values or references which refer to other tables. Tables for individual parameters are provided to describe any parameter without a simple numerical value. The term "use Table A-x " will be used to specify a parameter. The term"refer to Table A-x"means that Table A-x will define which other table describes a Some marker segments use an Sxxx and SPxxx syntax for the xXX marker segment. The Sxxx parameter selects between many possible states. According to this selection, the SPxxx parameter, or parameter, list is modified. A.2 Information in the marker segments Table A-2 lists the markers specified in this Recommendation International Standard. Table A-3 shows a list of the information provided by the syntax and which marker segment contains that information. Table A-2- List of marker segments Main header Tile-part header Delimiting marker segments Start of codestream SOC 0xFF4F required Start of tile-part OxFF90 X required Start of data SOSOxFFDA last marker End of imag EOI OxFFD9 Fixed information marker segments Image and tile size SIZ OxFF51 required Functional marker segments Coding style default COD OxFF52 required Coding style component COC OxFF53 optional Region-of-interest RGNOxFF5E ITU-T Rec T 800(1999 CDV10) 13
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) ITU-T Rec. T.800 (1999 CDV1.0) 13 superscripts and a gray area between indicate a run of several of these parameters. A dashed rectangle indicates that the parameter is only present if necessary. The meaning of each parameter in the marker segment is defined in a list. If there is a run of the same parameter, the length and nature of that run is defined. The first rectangle is the marker value and is always 16 bits. The second rectangle is the length and is 16 bits. There is a table that describes the parameter values or references which refer to other tables. Tables for individual parameters are provided to describe any parameter without a simple numerical value. The term “use Table A-x” will be used to specify a parameter. The term “refer to Table A-x” means that Table A-x will define which other table describes a parameter. Some marker segments use an Sxxx and SPxxx syntax for the XXX marker segment. The Sxxx parameter selects between many possible states. According to this selection, the SPxxx parameter, or parameter, list is modified. A.2 Information in the marker segments Table A-2 lists the markers specified in this Recommendation | International Standard. Table A-3 shows a list of the information provided by the syntax and which marker segment contains that information. Table A-2 — List of marker segments Name Code Main header Tile-part header Delimiting marker segments Start of codestream SOC 0xFF4F required xa Start of tile-part SOT 0xFF90 x required Start of data SOS 0xFFDA x last marker End of imageb EOI 0xFFD9 x Fixed information marker segments Image and tile size SIZ 0xFF51 required x Functional marker segments Coding style default COD 0xFF52 required optional Coding style component COC 0xFF53 optional optional Region-of-interest RGN 0xFF5E optional optional Figure A-1 — Example of the marker segment description figures MAR Lmar Amar Cmar Emari Bmar 16 bit marker 8 bit parameter 32 bit parameter Emarn Run of n parameters Dmar Variable size parameter
ISO/ECCD15444-1:1999(1.0,9 December1999 Table A-2- List of marker segments Name Code Main header Tile-part header Quantization default QCD OxFF5C required Quantization component QCC OxFFSD optional Progression order change, main POMOxFFSD Progression order change tile POT OxFFSF optional Error resilience style ERS OxFF59 optiona optiona Pointer marker segments Tile-part lengths, main header TLM OxFF55 optional Packet length, main header PLM OxFF57 optional X Packet length, tile-part header PLT OxFF58 X optional Packed packet headers, main header PPM OxFF60 Packed packet headers, tile-part header OxFF61 In bit stream marker segments tart of partition SOPOxFF91 optional,in bit stream Informational marker segments Comment and extension CMEOxFF64 optiona a. Required means the marker segment shall be in this header, optional means it may be, and"x"means not used in this header b. The Eol marker is the last in the image. It is in neither the main nor the tile-part headers c. Either the POM or POT marker segment is required if there are progression order changes. If the POM marker segment is used then POT marker segments shall not be used, and visa versa. d. Either the PPM or PPT marker segment is required if there packet headers are not distribuited in the bit stream. If the PPM marker segment is used then PPT marker segments shall not be used, and visa versa. Table A-3- Information in the marker segments Information Marker segment Image size or reference grid size(height and width) Tile size(height and width) Number of components correlating transform used Component precision Component mapping to the reference grid(sub-sampling) Tile number Tile-part data length SOT TLM ITU-T Rec. T 800(1999 CDV10)
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) 14ITU-T Rec. T.800 (1999 CDV1.0) Quantization default QCD 0xFF5C required optional Quantization component QCC 0xFF5D optional optional Progression order change, main POM 0xFF5D optionalc x Progression order change, tile POT 0xFF5F x optionalc Error resilience style ERS 0xFF59 optional optional Pointer marker segments Tile-part lengths, main header TLM 0xFF55 optional x Packet length, main header PLM 0xFF57 optional x Packet length, tile-part header PLT 0xFF58 x optional Packed packet headers, main header PPM 0xFF60 optionald x Packed packet headers, tile-part header PPT 0xFF61 x optionald In bit stream marker segments Start of partition SOP 0xFF91 optional, in bit stream Informational marker segments Comment and extension CME 0xFF64 optional optional a. Required means the marker segment shall be in this header, optional means it may be, and “x” means not used in this header. b. The EOI marker is the last in the image. It is in neither the main nor the tile-part headers. c. Either the POM or POT marker segment is required if there are progression order changes. If the POM marker segment is used then POT marker segments shall not be used, and visa versa. d. Either the PPM or PPT marker segment is required if there packet headers are not distribuited in the bit stream. If the PPM marker segment is used then PPT marker segments shall not be used, and visa versa. Table A-3 — Information in the marker segments Information Marker segment Capabilities Image size or reference grid size (height and width) Tile size (height and width) Number of components Decorrelating transform used Component precision Component mapping to the reference grid (sub-sampling) SIZ Tile number Tile-part data length SOT, TLM Table A-2 — List of marker segments Name Code Main header Tile-part header
ISO/EC CD15444-1: 1999(V1.0,9 December 1999) Table a-3- Information in the marker segments Information Marker segment Coding style(wavelet coding, uncoded, etc. Number of decomposition levels Progression style Number of layers COD. COC Code-block size Coding contexts Wavelet transform of interest location Region of interest size RGN Region of interest shift Quantization implicit QCD, QCC Quantization explicit Progression point (layer, resolution, component) POM. POT Progression order change Error resilience ERS SOP Code-block layer number Code-block inclusion ket header Maximum bit depth M. PPt Bit stream length for decomposition level and layer in a block Packet lengths PLM, PLT Optional information CME Construction of the codestream Figure A-2 shows the construction of the codestream. Figure A-3 shows the main header construction. Note that all o solid lines show required marker segments. The marker segments on the left are required to be in a specific location The dashed lines show optional or possibly not required marker segments. Figure A-4 shows the construction of a tile-part header ITU-T Rec T800(1999 CDV10) 15
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) ITU-T Rec. T.800 (1999 CDV1.0) 15 A.3 Construction of the codestream Figure A-2 shows the construction of the codestream. Figure A-3 shows the main header construction. Note that all of the solid lines show required marker segments. The marker segments on the left are required to be in a specific location. The dashed lines show optional or possibly not required marker segments. Figure A-4 shows the construction of a tile-part header. Coding style (wavelet coding, uncoded, etc.) Number of decomposition levels Progression style Number of layers Code-block size Coding contexts Wavelet transform COD, COC Region of interest location Region of interest size Region of interest shift RGN No quantization Quantization implicit Quantization explicit QCD, QCC Progression point (layer, resolution, component) Progression order change POM, POT Error resilience ERS, SOP Code-block values for new layers Code-block layer number Code-block inclusion Maximum bit depth Truncation point Bit stream length for decomposition level and layer in a block packet header, PPM, PPT Packet lengths PLM, PLT Optional information CME Table A-3 — Information in the marker segments Information Marker segment
ISO/ECCD15444-1:1999(v1.0,9 December1999 Main header SOC Required as the first marker. maIn Main header marker segments SOT Required at the beginning of each tile-part header. Tile header tile I marker Tile-part header marker segments Required at the end of each tile-part header. tile-part 1 Tile-part bit stream Might include SOP ile header tile 2 marker tile-part 2 EOI Required as the last marker in the codestream Figure a-2- Construction of the codestream ITU-T Rec. T 800(1999 CDV10)
ISO/IEC CD15444-1 : 1999 (V1.0, 9 December 1999) 16 ITU-T Rec. T.800 (1999 CDV1.0) SOC main SOT tile 1 marker SOS SOT tile 2 marker SOS tile-part 2 EOI Required at the beginning of each tile-part header. Tile-part header marker segments Required at the end of each tile-part header. Tile-part bit stream. Might include SOP. Main header marker segments Required as the first marker. Required as the last marker in the codestream. Figure A-2 — Construction of the codestream tile-part 1 Main header Tile header Tile header