Image Coding with Slice-Specific Probability Updates for Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional image coding methods, such as the H.264 standard, face challenges in improving coding efficiency due to the need to code macroblocks in raster order while updating probability tables, which limits parallel processing and operation frequency, and fails to utilize spatial correlation between slices effectively.
Innovation Solution
An image coding method that updates probability information based on the characteristics of each region or slice, allowing for sequential coding of blocks using region-specific probability information, which is updated after coding certain blocks and before others, enabling more accurate and efficient coding by referencing spatially close blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If macroblocks are coded in raster order with continuous probability table updating, then coding efficiency is improved through spatial correlation, but parallel processing capability deteriorates and operation frequency cannot be improved
Solution Approach 1:
The image is divided into multiple slices that can be processed independently in parallel. Each slice contains a set of macroblocks that are coded using probability information from reference slices, allowing simultaneous processing of multiple slices while maintaining coding efficiency through inter-slice reference.
Solution Approach 2:
Probability information is pre-calculated and stored for reference macroblocks in previous slices before the actual coding of current slice macroblocks begins. This preliminary preparation of probability data enables parallel processing without sacrificing the benefit of spatial correlation.
2Productivity
If slices are divided for parallel coding, then parallel processing capability is improved, but spatial correlation between slices cannot be utilized and coding efficiency deteriorates
Solution Approach 1:
Probability information serves as an intermediary that bridges separate slices. By calculating and transferring probability data from reference slices to current slices, the system maintains the benefits of spatial correlation while enabling independent parallel processing of each slice.
Solution Approach 2:
The probability parameters are dynamically adjusted and transferred between slices. By modifying and reusing probability information across slice boundaries, the system enables parallel processing while maintaining coding efficiency through adaptive parameter inheritance from spatially correlated regions.
3Measurement precision
If probability table is updated continuously in raster order, then accurate probability information is maintained for neighboring blocks, but processing speed and operation frequency are limited
Solution Approach 1:
Probability information is pre-calculated for reference macroblocks in previous slices before coding the current slice. This preliminary computation allows the current slice to be processed in parallel with accurate probability data already prepared, improving both speed and accuracy.
Solution Approach 2:
The probability updating process is segmented into independent slice-level operations rather than continuous macroblock-level updates. This segmentation allows parallel computation of probability information for multiple slices while maintaining accuracy through reference to spatially correlated regions.
Data Source
AI summary
An image coding method for improving coding efficiency by using more appropriate probability information is provided. The image coding method includes: a first coding step of coding a first set of blocks included in a first region sequentially based on first probability information; and a second coding step of coding a second set of blocks included in a second region sequentially based on second probability information. In the first coding step, the first probability information is updated depending on data of a target block to be coded, after coding the target block and before coding a next target block. In the second coding step, the second probability information is updated depending on the first probability information updated in the first coding step, before coding the first target block.


