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 RED_BLUE_NOT_SWAPPED_FLAG
8.3.17 PREMULTIPLIED_ALPHA_FLAG
8.3.18 ALPHA_IMAGE_PLANE_FLAG
8.3.19 OUTPUT_CLR_FMT
8.3.20 OUTPUT_BITDEPTH
8.3.21 WIDTH_MINUS1
8.3.22 HEIGHT_MINUS1
8.3.23 NUM_VER_TILES_MINUS1
8.3.24 NUM_HOR_TILES_MINUS1
8.3.25 TILE_WIDTH_IN_MB[n]
8.3.26 TILE_HEIGHT_IN_MB[n]
8.3.27 TOP_MARGIN
8.3.28 LEFT_MARGIN
8.3.29 BOTTOM_MARGIN
8.3.30 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 stage
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
Annex E Media type specification
E.1 General
E.2 Media type
specification template information
Bibliography