Image Encoding and Decoding With Rectangular Slices for Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing video encoding methods, such as HEVC and VVC, face inefficiencies in parallel processing due to redundant syntax elements and lack of optimal division strategies for tiles and slices, which hinder effective utilization of multicore CPUs for faster encoding and decoding.
Innovation Solution
The proposed solution involves dividing images into rectangular regions with at least one block row and slicing them in raster order, specifying start positions of coded data based on first and second information, and multiplexing these with the coded data in a bitstream to facilitate efficient parallel processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tiles or slices are divided for parallel processing, then processing speed is improved, but redundant syntax elements increase device complexity
Solution Approach 1:
The patent extracts and removes the redundant num_entry_point_offset syntax element from the bitstream. Since entry_point_offset_minus1 is already encoded for each block row to enable parallel processing, the separate num_entry_point_offset parameter becomes unnecessary. This extraction eliminates the redundancy while preserving the parallel processing capability.
Solution Approach 2:
The patent discards the redundant num_entry_point_offset information by deriving it from existing syntax elements. The decoder can recover the number of entry points by counting the entry_point_offset_minus1 values or calculating from picture parameters, making the explicit transmission of num_entry_point_offset unnecessary.
2Adaptability or versatility
If conventional binary arithmetic encoding is used, then encoding compatibility is maintained, but encoding efficiency is reduced due to sequential processing requirements
Solution Approach 1:
The patent segments the picture into multiple block rows with independent entry points, allowing parallel processing of different row segments. By ensuring that blocks in different rows have no data dependence, the encoding can be divided into independent parallel tasks while maintaining the overall encoding structure and compatibility.
Solution Approach 2:
The patent performs preliminary organization of the picture into tiles and slices with predefined block row structures before encoding. This preliminary segmentation establishes the parallel processing framework in advance, allowing multiple block rows to be encoded simultaneously without requiring complex runtime coordination.
3Measurement precision
If more syntax elements are encoded for precise parallel processing control, then processing precision is improved, but bitstream size increases
Solution Approach 1:
The patent extracts and removes the redundant num_entry_point_offset syntax element from the bitstream. Since entry_point_offset_minus1 is already encoded for each block row to enable parallel processing, the separate num_entry_point_offset parameter becomes unnecessary. This extraction eliminates the redundancy while preserving the parallel processing capability.
Data Source
AI summary
An image is divided into rectangular regions each including at least one block row, and the image is divided into rectangular slices or slices to be processed in raster order. In a case where the image is divided into the rectangular slices, based on first information for specifying a rectangular region to be processed first and second information for specifying a rectangular region to be processed last, the rectangular regions in the rectangular slice is specified. Based on the number of blocks in a vertical direction in each of the specified rectangular regions, the number of pieces of information for specifying a start position of coded data of the block row in the rectangular slice is specified. A bitstream in which at least the pieces of information, the first and second information, and the coded data are multiplexed is generated.


