Rectangular Slice Image Coding with Reduced Syntax Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding methods, such as HEVC and VVC, face inefficiencies in parallel processing due to redundant syntax elements and lack of optimal division techniques for tiles and slices, which hinder effective utilization of multicore CPUs for faster encoding and decoding.
Innovation Solution
The image is divided into rectangular regions with at least one block row, forming rectangular slices processed 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.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the image is 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. Since entry_point_offset_minus1 can be derived from other existing syntax elements (picture width, tile width, slice height, brick height), the separate num_entry_point_offset parameter is no longer needed and is eliminated to reduce complexity
Solution Approach 2:
The patent makes existing syntax elements serve multiple functions. The entry_point_offset_minus1, originally used for positioning, now also implicitly defines the number of blocks per slice through its derivation relationship with other syntax elements, eliminating the need for a separate counter parameter
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 inability to process in parallel
Solution Approach 1:
The patent segments the image into independent rectangular regions (tiles divided into bricks, which are further divided into block rows). Each block row can be independently encoded using conventional binary arithmetic encoding, maintaining compatibility while enabling parallel processing across multiple block rows
Solution Approach 2:
The patent performs preliminary division of the image into rectangular regions with specified block row structures before encoding. This pre-organization allows multiple block rows to be prepared and encoded in parallel, improving encoding efficiency while maintaining standard compatibility
3Productivity
If tiles are divided into rectangles (bricks) with multiple block rows, then parallel processing capability is improved, but redundant syntax elements (num_entry_point_offset) increase data complexity
Solution Approach 1:
The patent removes the redundant num_entry_point_offset syntax element from the data structure. The number of entry points can be derived from the relationship between entry_point_offset_minus1 and other existing syntax elements (picture width, tile width, slice height, brick height), eliminating the need for this separate parameter
Solution Approach 2:
The patent changes the representation approach from explicitly storing the number of entry points (num_entry_point_offset) to deriving it from the offset values themselves. This parameter transformation reduces the total number of syntax elements while preserving all necessary information for parallel processing
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.


