Image Encoding and Decoding with Rectangular Slice Offsets
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, specifying start positions of coded data based on first and second information, and multiplexing these with other necessary data to create a bitstream for efficient encoding and decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If images are divided into tiles or slices 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. By deriving the number of entry_point_offset_minus1 values from the brick structure information (number of bricks per slice and number of basic block rows per brick), the patent eliminates unnecessary data transmission while maintaining parallel processing capability through WPP.
Solution Approach 2:
The patent enables the decoding apparatus to self-determine the number of entry point offsets by using locally available information (brick configuration parameters). Instead of receiving this information from the bitstream, the decoder calculates it using the formula: number of entry_point_offset_minus1 = number of bricks per slice × (number of basic block rows per brick - 1), making the system self-sufficient.
2Adaptability or versatility
If conventional binary arithmetic encoding is used for each slice, then encoding compatibility is maintained, but encoding efficiency is reduced due to lack of parallel processing optimization
Solution Approach 1:
The patent segments the slice into multiple bricks, where each brick contains a specific number of basic block rows. This segmentation enables independent parallel processing of different brick groups while maintaining the overall slice structure. The entry_point_offset_minus1 values mark the start positions of basic block rows within each brick, facilitating parallel entropy decoding across multiple bricks simultaneously.
Solution Approach 2:
The patent performs preliminary organization of the slice into bricks with defined structures before encoding/decoding. By pre-defining the brick configuration (number of bricks per slice, number of basic block rows per brick) and calculating the corresponding entry point offsets in advance, the system prepares the data structure to enable efficient parallel processing during the actual encoding/decoding operation.
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.


