Entropy Coding Substreams for Parallel Image Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoders face inefficiencies due to sequential encoding and decoding processes that lack local probability adequacy and prevent parallel processing, leading to suboptimal compression performance and limited scalability on multi-core architectures.
Innovation Solution
The method involves segmenting images into subsets of blocks, encoding these subsets independently using entropy coding with initialized state variables, and generating substreams for parallel decoding, allowing flexible parallelism levels and improved probability learning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If sequential entropy coding is used with probability learning from previous blocks, then compression efficiency is improved through context adaptation, but parallel processing capability deteriorates and processing time increases
Solution Approach 1:
The image is divided into multiple independent subsets of blocks, where each subset can be encoded and decoded independently. This segmentation allows parallel processing of different subsets while maintaining compression efficiency within each subset through context-adaptive entropy coding.
Solution Approach 2:
The entropy coding module is initialized with predetermined probability values before processing each subset. This preliminary setup enables independent parallel processing of multiple subsets without requiring sequential probability learning from previously processed blocks.
2Measurement precision
If probability learning is performed on-the-fly during sequential encoding, then local probability adequacy is improved, but device complexity increases due to state variable management
Solution Approach 1:
By dividing the image into independent subsets, the complexity of managing state variables is reduced. Each subset requires its own initialized probability values, but the independence allows parallel processing and reduces the overall computational burden compared to sequential processing of the entire image.
Solution Approach 2:
The probability values are changed from dynamically learned sequential values to predetermined initialized values for each subset. This parameter change simplifies the state variable management while maintaining adequate probability representation for entropy coding.
3Ease of manufacture
If raster-scan encoding order is used for entropy coding, then implementation simplicity is improved, but local probability adequacy deteriorates due to spatial variation in symbol probabilities
Solution Approach 1:
The image is segmented into multiple subsets that can be processed independently. This segmentation allows the use of simple raster-scan encoding within each subset while the independence of subsets mitigates the issue of spatial variation in symbol probabilities that affects global sequential processing.
Solution Approach 2:
Probability values are preliminarily initialized for each subset before processing. This preliminary action ensures that each subset starts with appropriate probability values, addressing the local probability adequacy issue without complicating the raster-scan implementation within each subset.
Data Source
Figure 1~2A
Figure 2B
Figure 3A~3C
AI summary
The invention relates to a coding method comprising the partitioning (C1) of the image into a plurality of blocks (MB) capable of containing symbols belonging to a predetermined set of symbols, the grouping (C2) of blocks into a predetermined number (P) of subsets of blocks (SE1, SE2,..., SEk,..., SEP), the coding (C3), by means of an entropy coding module, of each of said subsets of blocks, by association of digital information to the symbols of each block of a subset considered, said coding step comprising, for the first block of the image, a substep (C33) of initialization of state variables of said entropy coding module, then the generation of at least one substream of data representative of at least one of said coded subsets of blocks.If the current block is the first block to be coded from a given subset of blocks, the symbol occurrence probabilities for said first current block are those determined for a predetermined block coded and decoded from at least one other subset. If the current block is the last coded block from the given subset, all the numerical information associated with the symbols during the coding of the blocks in said subset is written (C45) to the representative substream, and the initialization substep is implemented (C46).