Video Encoding Wavefront Parallel Processing Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding and decoding systems face challenges in achieving parallel operation without undesirable latency, as the division of images into portions affects coding efficiency and decoder latency, with current methods like slicing and tiles not fully addressing the need for independent decoding of portions and efficient entropy encoding.
Innovation Solution
The method involves partitioning each image into an array of coding tree units, further partitioning these into rectangular portions for independent encoding, using wavefront parallel processing to encode successive rows without breaking dependencies, and outputting encoded units in a non-raster order to optimize encoding and decoding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If an image is divided into portions for parallel decoding, then decoder latency is reduced and parallel operation is enabled, but coding efficiency deteriorates due to increased buffering requirements and complex portion division
Solution Approach 1:
The image is divided into multiple portions (tiles) that can be decoded independently in parallel. Each portion is processed separately by different decoding units, enabling parallel operation and reducing overall decoder latency while maintaining reasonable coding efficiency through optimized portion boundaries
Solution Approach 2:
The patent implements dynamic wavefront parallel processing where the processing front moves through the image data in a controlled wave pattern. This dynamic approach allows optimal balancing between parallel processing benefits and maintaining encoding dependencies, improving both latency and coding efficiency simultaneously
2Productivity
If successive rows of coding tree units are encoded using wavefront parallel processing, then parallel encoding efficiency is improved, but encoding complexity increases due to parameter propagation requirements
Solution Approach 1:
Encoding parameters are propagated in advance from intermediate positions along each row to the start of the next row before actual encoding begins. This preliminary parameter preparation enables parallel encoding of multiple rows simultaneously without breaking dependencies, improving encoding efficiency while managing complexity through pre-computation
Solution Approach 2:
The patent uses intermediate positions along each row as mediator points for parameter propagation. These intermediary locations serve as transition zones where encoding parameters are prepared and transferred to enable smooth parallel processing across row boundaries, reducing the need for complex inter-row dependency management
3Reliability
If encoding parameters are propagated from intermediate position to start of next row, then encoding dependencies are maintained without breaking at row boundaries, but processing overhead increases
Solution Approach 1:
The parameter propagation mechanism ensures continuous encoding dependencies are maintained across row boundaries without interruption. By propagating parameters from intermediate positions, the encoding process continues seamlessly across rows, maintaining reliability of encoding dependencies while minimizing processing overhead through efficient parameter transfer
Data Source
AI summary
A video encoding method comprises partitioning each image of a video signal into an array of coding tree units; partitioning the array of coding tree units of each image into a portion pattern of rectangular portions for independent encoding such that the prediction dependencies of samples within a portion do not extend into any other portion and the entropy encoding parameters of one portion are independent of those of any other portion, the portion pattern being such that each row of coding tree units is partitioned into at least two of the portions; encoding the coding tree units within each portion using wavefront parallel processing in which, for each portion, successive rows of coding tree units within the portion are encoded so that encoding dependencies are not broken at row boundaries and encoding parameters are propagated from an intermediate position along each row to the start of the next row of coding tree units; and outputting the encoded coding tree units according to an order with respect to the array of coding tree units which is different to a raster order of coding tree units within successive respective portions.


