1.1.1         CONTENTS

1 Scope
2 Normative references
3 Definitions
4 Abbreviations
5 Conventions
5.1 Conformance language
5.2 Operators
5.2.1 Arithmetic operators
5.2.2 Logical operators
5.2.3 Relational operators
5.2.4 Bit-wise operators
5.2.5 Assignment operators
5.2.6 Precedence order of operators
5.2.7 Pseudocode operations
5.2.8 Mathematical functions
5.3 Syntax and semantics notation
5.3.1 Method of specifying syntax in tabular form
5.3.2 SYNTAX_ELEMENT_EXAMPLE semantics
5.3.3 Syntax functions
5.4 Formatting conventions
5.4.1 Variable and array naming conventions
5.4.2 Data structure naming conventions
5.4.3 Syntax element naming conventions
5.4.4 Syntax structure naming conventions
5.4.5 Naming conventions for mnemonic constants
5.4.6 Naming conventions for numerical values
5.4.7 Array dimensions convention
5.5 Global variables
5.5.1 Image variables
5.5.2 Image plane variables
5.5.3 Tile variables
5.5.4 Macroblock variables
5.5.5 Data structures for adaptive VLC table selection
5.5.6 Adaptive coefficient normalization data structure instances
5.5.7 Adaptive CBPHP prediction data structure instance
5.5.8 Adaptive count CBPLP variables
5.6 Adaptive VLC deltaDisc tables
5.7 Adaptive inverse scanning tables
6 Image and codestream structures
6.1 General
6.2 Image planes and component arrays
6.3 Image windowing
6.4 Image partitioning
6.5 Transform coefficients and frequency bands
6.6 Codestream structure
6.7 Precision and word length
7 Overview of decoder
7.1 General
7.2 Overview of parsing process
7.2.1 Overview of image layer codestream parsing
7.2.2 Overview of tile layer codestream parsing
7.2.3 Overview of macroblock layer codestream parsing
7.3 Overview of the decoding process
7.3.1 Overview of coefficient mapping
7.3.2 Overview of coefficient prediction
7.3.3 Overview of dequantization
7.3.4 Overview of sample reconstruction
7.3.5 Overview of output formatting
8 Syntax, semantics, and parsing process
8.1 General
8.2 CODED_IMAGE( )
8.2.1 Syntax structure
8.2.2 SubsequentBytes
8.2.3 RESERVED_A_BYTE
8.2.4 VLW_ESC( )
8.3 IMAGE_HEADER( )
8.3.1 Syntax structure
8.3.2 GDI_SIGNATURE
8.3.3 RESERVED_B
8.3.4 HARD_TILING_FLAG
8.3.5 RESERVED_C
8.3.6 TILING_FLAG
8.3.7 FREQUENCY_MODE_CODESTREAM_FLAG
8.3.8 SPATIAL_XFRM_SUBORDINATE
8.3.9 INDEX_TABLE_PRESENT_FLAG
8.3.10 OVERLAP_MODE
8.3.11 SHORT_HEADER_FLAG
8.3.12 LONG_WORD_FLAG
8.3.13 WINDOWING_FLAG
8.3.14 TRIM_FLEXBITS_FLAG
8.3.15 RESERVED_D
8.3.16 ALPHA_IMAGE_PLANE_FLAG
8.3.17 OUTPUT_CLR_FMT
8.3.18 OUTPUT_BITDEPTH
8.3.19 WIDTH_MINUS1
8.3.20 HEIGHT_MINUS1
8.3.21 NUM_VER_TILES_MINUS1
8.3.22 NUM_HOR_TILES_MINUS1
8.3.23 TILE_WIDTH_IN_MB[n]
8.3.24 TILE_HEIGHT_IN_MB[n]
8.3.25 TOP_MARGIN
8.3.26 LEFT_MARGIN
8.3.27 BOTTOM_MARGIN
8.3.28 RIGHT_MARGIN
8.4 IMAGE_PLANE_HEADER( )
8.4.1 Syntax structure
8.4.2 INTERNAL_CLR_FMT
8.4.3 SCALED_FLAG
8.4.4 BANDS_PRESENT
8.4.5 RESERVED_E_BIT
8.4.6 CHROMA_CENTERING_X
8.4.7 RESERVED_F
8.4.8 RESERVED_G_BIT
8.4.9 CHROMA_CENTERING_Y
8.4.10 RESERVED_H
8.4.11 NUM_COMPONENTS_MINUS1
8.4.12 NUM_COMPONENTS_EXTENDED_MINUS16
8.4.13 SHIFT_BITS
8.4.14 LEN_MANTISSA
8.4.15 EXP_BIAS
8.4.16 DC_IMAGE_PLANE_UNIFORM_FLAG
8.4.17 RESERVED_I_BIT
8.4.18 LP_IMAGE_PLANE_UNIFORM_FLAG
8.4.19 RESERVED_J_BIT
8.4.20 HP_IMAGE_PLANE_UNIFORM_FLAG
8.4.21 BYTE_ALIGNMENT_BIT
8.4.22 DC_QP( )
8.4.23 LP_QP( )
8.4.24 HP_QP( )
8.5 INDEX_TABLE_TILES( )
8.5.1 Syntax structure
8.5.2 INDEX_TABLE_STARTCODE
8.5.3 IndexOffsetTile[n]
8.6 PROFILE_LEVEL_INFO( )
8.6.1 Syntax structure
8.6.2 PROFILE_IDC
8.6.3 LEVEL_IDC
8.6.4 RESERVED_L
8.6.5 LAST_FLAG
8.7 CODED_TILES( )
8.7.1 Syntax structure
8.7.2 TILE_SPATIAL( )
8.7.3 TILE_DC( )
8.7.4 TILE_HEADER_DC( )
8.7.5 TILE_LOWPASS( )
8.7.6 TILE_HEADER_LOWPASS( )
8.7.7 TILE_HIGHPASS( )
8.7.8 TILE_HEADER_HIGHPASS( )
8.7.9 TILE_FLEXBITS( )
8.7.10 Tile-level semantics
8.7.11 MB_DC( )
8.7.12 DECODE_DC( )
8.7.13 DECODE_ABS_LEVEL( )
8.7.14 Macroblock DC( ) semantics
8.7.15 Macroblock low-pass
8.7.16 General
8.7.17 Coded block pattern high-pass (CBPHP)
8.7.18 Macroblock high-pass
8.7.19 Macroblock FLEXBITS
8.8 Adaptive VLC code table selection
8.8.1 General
8.8.2 Adaptive VLC deltaDisc tables
8.8.3 Initialization
8.8.4 Update of adaptive VLC code table selection
8.9 Adaptation of CBPLP state variables
8.9.1 General
8.9.2 InitializeCountCBPLP( )
8.9.3 UpdateCountCBPLP( )
8.10 Adaptive CBPHP prediction
8.10.1 InitializeCBPHPModel( )
8.10.2 UpdateCBPHPModel( )
8.11 Adaptive inverse scanning
8.11.1 Adaptive inverse scanning tables
8.11.2 InitializeAdaptiveScanLP( )
8.11.3 InitializeAdaptiveScanHP( )
8.11.4 ResetTotalsAdaptiveScanLP( )
8.11.5 ResetTotalsAdaptiveScanHP( )
8.11.6 AdaptiveLPScan( )
8.11.7 AdaptiveHPScan( )
8.12 Adaptive coefficient normalization
8.12.1 InitializeModelMB( )
8.12.2 UpdateModelMB( )
9 Decoding process
9.1 General
9.2 Image decoding
9.3 Image plane decoding
9.4 Tile transform coefficient processing
9.4.1 Overview
9.4.2 DC transform coefficient decoding
9.4.3 Low-pass transform coefficient decoding
9.4.4 High-pass transform coefficient decoding
9.5 Coefficient remapping
9.5.1 DC coefficient remapping
9.5.2 Low-pass coefficient remapping
9.5.3 High-pass macroblock coefficient remapping
9.5.4 High-pass block coefficient remapping
9.6 Transform coefficient prediction
9.6.1 DC coefficient prediction
9.6.2 Low-pass prediction
9.6.3 High-pass prediction
9.7 Derivation of quantization parameters
9.7.1 Derivation of DC quantization parameters
9.7.2 Derivation of low-pass quantization parameters
9.7.3 Derivation of high-pass quantization parameters
9.8 Dequantization
9.8.1 Dequantization of DC coefficients
9.8.2 Dequantization of low-pass coefficients
9.8.3 Dequantization of high-pass coefficients
9.8.4 QuantMap( )
9.9 Sample reconstruction
9.9.1 Overview
9.9.2 First level inverse transform
9.9.3 First level overlap filtering
9.9.4 Second level coefficient combination
9.9.5 Second level inverse transform
9.9.6 Second level overlap filtering
9.9.7 Inverse transform basic operations
9.9.8 Overlap Filtering Functions
9.10 Output formatting
9.10.1 Overview
9.10.2 Output formatting stages
9.10.3 Sampling conversion
9.10.4 Conversion from INTERNAL_CLR_FMT to OUTPUT_CLR_FMT
9.10.5 AddBias( )
9.10.6 ComputeScaling( )
9.10.7 Postscaling process
9.10.8 Clipping and Packing Stage
Annex A Tag-based file format
A.1 General
A.2 Normative references
A.2.1 Identical Recommendations | International Standards
A.2.2 Paired Recommendations | International Standards equivalent in technical content
A.2.3 Additional references
A.3 Definitions
A.4 Abbreviations
A.5 FILE_HEADER( )
A.5.1 Syntax structure
A.5.2 FIXED_FILE_HEADER_II_2BYTES
A.5.3 FIXED_FILE_HEADER_0XBC_BYTE
A.5.4 FILE_VERSION_ID
A.5.5 FIRST_IFD_OFFSET
A.6 IMAGE_FILE_DIRECTORY( )
A.6.1 Syntax structure
A.6.2 NUM_ENTRIES
A.6.3 ZERO_OR_NEXT_IFD_OFFSET
A.7 IFD_ENTRY( )
A.7.1 Syntax structure
A.7.2 FIELD_TAG
A.7.3 ELEMENT_TYPE
A.7.4 NUM_ELEMENTS
A.7.5 VALUES_OR_OFFSET
A.7.6 DOCUMENT_NAME
A.7.7 IMAGE_DESCRIPTION
A.7.8 EQUIPMENT_MAKE
A.7.9 EQUIPMENT_MODEL
A.7.10 PAGE_NAME
A.7.11 PAGE_NUMBER
A.7.12 SOFTWARE_NAME_VERSION
A.7.13 DATE_TIME
A.7.14 ARTIST_NAME
A.7.15 HOST_COMPUTER
A.7.16 COPYRIGHT_NOTICE
A.7.17 COLOR_SPACE
A.7.18 PIXEL_FORMAT
A.7.19 SPATIAL_XFRM_PRIMARY
A.7.20 IMAGE_TYPE
A.7.21 PTM_COLOR_INFO( )
A.7.22 PROFILE_LEVEL_CONTAINER( )
A.7.23 IMAGE_WIDTH
A.7.24 IMAGE_HEIGHT
A.7.25 WIDTH_RESOLUTION
A.7.26 HEIGHT_RESOLUTION
A.7.27 IMAGE_OFFSET
A.7.28 IMAGE_BYTE_COUNT
A.7.29 ALPHA_OFFSET
A.7.30 ALPHA_BYTE_COUNT
A.7.31 IMAGE_BAND_PRESENCE
A.7.32 ALPHA_BAND_PRESENCE
A.7.33 PADDING_DATA
Annex B Profiles and Levels
B.1 General
B.2 Profiles
B.2.1 Sub-Baseline profile
B.2.2 Baseline profile
B.2.3 Main profile
B.2.4 Advanced profile
B.2.5 Reserved values of PROFILE_IDC
B.3 Levels
Annex C Color imagery representation and color management
C.1 Background information
C.2 Color interpretation in the JPEG XR context
Annex D Encoder processing
D.1 Overview
D.2 Pre-scaling
D.3 Color conversion
D.3.1 General
D.3.2 FwdColorFmtConvert1( )
D.3.3 FwdColorFmtConvert2( )
D.3.4 FwdColorFmtConvert3( )
D.3.5 Macroblock alignment and padding
D.4 Transform
D.4.1 T2x2h( )
D.4.2 TOdd( )
D.4.3 TOddOdd( )
D.4.4 FwdPermute( )
D.4.5 FCT operations
D.5 Overlap pre-filtering
D.5.1 Overview
D.5.2 OverlapPreFilter4( )
D.5.3 OverlapPrefilter2x2
D.5.4 OverlapPreFilter2
D.6 Coefficient prediction
D.7 Coefficient scanning
D.8 Quantization
D.9 Adaptive coefficient normalization
Bibliography