Already a subscriber? 

MADCAD.com Free Trial
Sign up for a 3 day free trial to explore the MADCAD.com interface, PLUS access the
2009 International Building Code to see how it all works.
If you like to setup a quick demo, let us know at support@madcad.com
or +1 800.798.9296 and we will be happy to schedule a webinar for you.
Security check
Please login to your personal account to use this feature.
Please login to your authorized staff account to use this feature.
Are you sure you want to empty the cart?
IEEE Standard for Neural Network-Based Image Coding (Published), 2024
- IEEE Std 1857.11-2024 Front Cover
- Title page
- Important Notices and Disclaimers Concerning IEEE Standards Documents [Go to Page]
- Notice and Disclaimer of Liability Concerning the Use of IEEE Standards Documents
- Translations
- Use by artificial intelligence systems
- Official statements
- Comments on standards
- Laws and regulations
- Data privacy
- Copyrights
- Photocopies
- Updating of IEEE Standards documents
- Errata
- Patents
- IMPORTANT NOTICE
- Participants
- Introduction
- Contents
- 1. Overview [Go to Page]
- 1.1 Scope
- 1.2 Purpose
- 1.3 Word usage
- 2. Normative references
- 3. Definitions
- 4. Conventions [Go to Page]
- 4.1 Overview
- 4.2 Arithmetic operators
- 4.3 Logical operators
- 4.4 Relational operators
- 4.5 Bit-wise operators
- 4.6 Assignment operators
- 4.7 Tensor operators [Go to Page]
- 4.7.1 Tensor operators defined in IEEE Std 2941-2021
- 4.7.2 Additional tensor operators [Go to Page]
- 4.7.2.1 conv2d operator
- 4.7.2.2 conv2d_transpose operator
- 4.7.2.3 gelu operator
- 4.7.2.4 lut_query operator
- 4.7.2.5 matmul operator
- 4.7.2.6 multiply operator
- 4.7.2.7 resize_bicubic operator
- 4.7.2.8 resize_bilinear operator
- 4.7.2.9 resize_lanczos operator
- 4.7.2.10 average_pool operator
- 4.8 Mathematical functions
- 4.9 Structure relation
- 4.10 Description methods of bitstream syntax, parsing process, and decoding process [Go to Page]
- 4.10.1 Description method of bitstream syntax
- 4.10.2 Functions [Go to Page]
- 4.10.2.1 Overview
- 4.10.2.2 byte_aligned( )
- 4.10.2.3 next_bits( n )
- 4.10.2.4 byte_aligned_next_bits( n )
- 4.10.2.5 next_start_code( )
- 4.10.2.6 is_end_of_patch( )
- 4.10.2.7 is_stuffing_pattern( )
- 4.10.2.8 read_bits( n )
- 4.10.2.9 lut_query(key, table)
- 4.10.2.10 qconv2d(X, W, B, num_channels, num_filters, filter_size, stride, padding, dilation, groups)
- 4.10.2.11 qconv2d_transpose(X, W, B, num_channels, num_filters, filter_size, stride, padding, dilation, groups)
- 4.10.2.12 bounded_leaky_ReLU
- 4.10.2.13 qsoftmax
- 4.10.3 Descriptors
- 4.10.4 Reserved, forbidden and marker
- 5. Structure of coded bitstream [Go to Page]
- 5.1 Picture [Go to Page]
- 5.1.1 Picture format [Go to Page]
- 5.1.1.1 RGB 4:4:4 format
- 5.1.1.2 YUV 4:0:0 format
- 5.1.1.3 YUV 4:2:0 format
- 5.1.1.4 YUV 4:2:2 format
- 5.1.1.5 YUV 4:4:4 format
- 5.2 Slice
- 6. Bitstream syntax and semantics [Go to Page]
- 6.1 Syntax description [Go to Page]
- 6.1.1 Start code
- 6.1.2 Definition of picture [Go to Page]
- 6.1.2.1 Definition of picture header
- 6.1.2.2 Definition of coding tool [Go to Page]
- 6.1.2.2.1 Definition of the function “coding_tool_0( )”
- 6.1.2.2.2 Definition of the function “coding_tool_1( )”
- 6.1.2.2.3 Definition of the function “coding_tool_2( )”
- 6.1.3 Definition of slice [Go to Page]
- 6.1.3.1 Definition of slice header
- 6.1.3.2 Definition of slice data [Go to Page]
- 6.1.3.2.1 Definition of the function “slice_data_0( )”
- 6.1.3.2.2 Definition of the function “slice_data_1( )”
- 6.1.3.2.3 Definition of the function “slice_data_2( )”
- 6.2 Semantics description [Go to Page]
- 6.2.1 Picture [Go to Page]
- 6.2.1.1 Picture header
- 6.2.1.2 Coding tool [Go to Page]
- 6.2.1.2.1 The function “coding_tool_0( )”
- 6.2.1.2.2 The function “coding_tool_1( )”
- 6.2.1.2.3 The function “coding_tool_2( )”
- 6.2.2 Slice [Go to Page]
- 6.2.2.1 Slice header
- 6.2.2.2 Slice data [Go to Page]
- 6.2.2.2.1 The function “slice_data_0( )”
- 6.2.2.2.2 The function “slice_data_1( )”
- 6.2.2.2.3 The function “slice_data_2( )”
- 7. Parsing process [Go to Page]
- 7.1 Overview
- 7.2 Entropy decoding engine
- 7.3 Parsing of latents [Go to Page]
- 7.3.1 Parsing of latents for base profile [Go to Page]
- 7.3.1.1 Overview
- 7.3.1.2 Parsing of the quantized hyper latents
- 7.3.1.3 Parsing of the quantized residual latents [Go to Page]
- 7.3.1.3.1 Gaussian variance parameters estimation process
- 7.3.1.3.2 Gaussian variance parameters masking and scaling
- 7.3.1.3.3 Determination of skipped quantized residual latent samples
- 7.3.1.3.4 Determination of the mask samples
- 7.3.1.3.5 Determination of cdfTable
- 7.3.1.3.6 Parsing of the quantized residual latent samples
- 7.3.2 Parsing of latents for main profile [Go to Page]
- 7.3.2.1 Overview
- 7.3.2.2 Parsing of the quantized hyper2 latent samples [Go to Page]
- 7.3.2.2.1 Factorized probability distribution estimation for quantized hyper2 latent samples parsing
- 7.3.2.2.2 rANS decoding of quantized hyper2 latent samples
- 7.3.2.3 Parsing of the quantized hyper1 latent samples [Go to Page]
- 7.3.2.3.1 Gaussian mixture probability distribution estimation for quantized hyper1 latent samples parsing
- 7.3.2.3.2 rANS decoding of quantized hyper1 latent samples
- 7.3.2.4 Parsing of the quantized main latent samples [Go to Page]
- 7.3.2.4.1 Probability distribution estimation for quantized main latent samples
- 7.3.2.4.2 rANS decoding of quantized main latent samples
- 7.3.3 Parsing of latents for high profile [Go to Page]
- 7.3.3.1 Overview
- 7.3.3.2 Picture splitting
- 7.3.3.3 Deriving upper and lower bounds
- 7.3.3.4 Slice parsing [Go to Page]
- 7.3.3.4.1 First subband entropy estimation
- 7.3.3.4.2 Cross-subbands entropy estimation
- 7.3.3.4.3 GMM probability estimation
- 8. Decoding process [Go to Page]
- 8.1 Overview
- 8.2 Decoding process for base profile [Go to Page]
- 8.2.1.1 Latent samples reconstruction
- 8.2.1.2 Hyper decoding
- 8.2.1.3 Adaptive quantization
- 8.2.1.4 Channel space shuffle context modeling [Go to Page]
- 8.2.1.4.1 Slice0_context_prediction() process
- 8.2.1.4.2 Slice1_context_prediction() process
- 8.2.1.4.3 Slice2_context_prediction() process
- 8.2.1.4.4 Slice3_context_prediction() process
- 8.2.1.4.5 Auxiliary information process
- 8.2.1.4.6 Space shuffle context process
- 8.2.2 Synthesis transformation process [Go to Page]
- 8.2.2.1 Synthesis transformation
- 8.2.2.2 Latent scaling before synthesis (LSBS)
- 8.2.2.3 Latent domain adaptive offset (LDAO)
- 8.2.2.4 First part of synthesis transformation with overlapped tiles
- 8.2.2.5 Second part of synthesis transformation with overlapped tiles
- 8.2.3 Image cropping
- 8.2.4 Adaptive resampling
- 8.2.5 YUV to RGB color space conversion
- 8.3 Decoding process for main profile [Go to Page]
- 8.3.1 Overview
- 8.3.2 Picture decoding [Go to Page]
- 8.3.2.1 Overview
- 8.3.2.2 Model parameters loading
- 8.3.2.3 Slice reconstruction
- 8.3.3 Filtering
- 8.3.4 Image conversion and cropping
- 8.4 Decoding process for high profile [Go to Page]
- 8.4.1 Overview
- 8.4.2 Picture decoding [Go to Page]
- 8.4.2.1 Overview
- 8.4.2.2 Model parameters initialization [Go to Page]
- 8.4.2.2.1 Model parameters loading process
- 8.4.2.2.2 Slice-level decoding parameters initialization process
- 8.4.2.3 Slices reconstruction [Go to Page]
- 8.4.2.3.1 Slice-level quantization computing process
- 8.4.2.3.2 Inverse quantization process
- 8.4.2.3.3 Additive inverse transform process
- 8.4.2.3.4 Affine inverse transform process
- 8.4.2.3.5 Inverse lossless transform process
- 8.4.2.4 Slices merging
- 8.4.2.5 Color space converting
- 8.4.2.6 Image cropping
- 8.4.3 Filtering [Go to Page]
- 8.4.3.1 Restormer filtering
- Annex A (normative) Pseudo start code
- Annex B (normative) Models and lookup tables
- Back Cover [Go to Page]