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