Parallel Entropy Coding With Vertical Sections for Faster Video Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The challenge in video encoding is optimizing parallel processing for multi-processor platforms with more than two processor cores, where data dependencies between video pixels slow down the encoding process or reduce quality, especially in entropy coding which is computationally intensive and highly sequential.
Innovation Solution
The solution involves partitioning a video picture into vertical sections and distributing the encoding task across multiple encoder units, allowing for parallel processing while managing data dependencies through staged entropy encoding, where Stage 1 encodes symbols in parallel and Stage 2 forms the final bitstream, reducing bandwidth requirements and network delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If video encoding is performed in parallel on multiple processor cores, then encoding speed and productivity are improved, but data dependencies between video pixels cause encoding delays and quality reduction
Solution Approach 1:
The video picture is divided into multiple vertical sections that can be processed in parallel by different encoder units. Each section is independently encodable while maintaining minimal data dependency across section boundaries, enabling parallel processing without significant quality loss or encoding delays.
Solution Approach 2:
The patent introduces a two-stage entropy encoding process where Stage 1 performs parallel symbol encoding and Stage 2 performs sequential bitstream formation. This dimensional separation of encoding stages allows parallel processing in the first dimension (symbol encoding) while handling data dependencies in the second dimension (bitstream formation).
2Reliability
If data dependencies are resolved by sequential encoding of sections, then data dependency issues are avoided, but encoding delays increase significantly
Solution Approach 1:
The picture is segmented into vertical sections that can be encoded in parallel. Each section contains independent data that can be processed simultaneously by different encoder units, eliminating the need for sequential processing while maintaining data dependency integrity through the two-stage entropy coding approach.
Solution Approach 2:
Stage 1 of the entropy encoding process performs preliminary symbol encoding in parallel across all sections before the final bitstream formation in Stage 2. This preliminary parallel action completes most of the encoding work before data dependencies require sequential coordination.
3Productivity
If data dependencies are resolved by creating artificial data isolations, then parallel encoding can proceed, but encoding quality is reduced
Solution Approach 1:
The video picture is divided into vertical sections that maintain natural data boundaries. This segmentation allows parallel processing without requiring artificial data isolations that would degrade quality, as the section boundaries align with the video data structure and dependency patterns.
Solution Approach 2:
The two-stage entropy encoding process acts as an intermediary mechanism that handles data dependencies between sections. Stage 1 performs parallel symbol encoding with minimal quality impact, while Stage 2 resolves remaining dependencies during bitstream formation, avoiding the need for quality-degrading artificial isolations.
4Manufacturing precision
If entropy coding is performed sequentially to maintain data accuracy, then encoding quality is maintained, but processing speed and productivity decrease
Solution Approach 1:
The entropy coding process is segmented into two distinct stages: Stage 1 for parallel symbol encoding and Stage 2 for sequential bitstream formation. This segmentation allows the majority of entropy coding work to be performed in parallel while maintaining quality through the final sequential coordination stage.
Solution Approach 2:
The patent transforms the single-dimension sequential entropy coding process into a two-dimension process where parallel symbol encoding occurs in one dimension and sequential bitstream formation occurs in another dimension. This dimensional transformation enables both high processing speed and encoding quality.
Data Source
AI summary
Parallel coding of digital pictures is described. A digital picture is divided into two or more vertical sections. Two or more corresponding Stage 1 encoder units can perform a first stage of entropy coding on the two or more vertical sections on a row-by-row basis. The entropy coding of the vertical sections can be performed in parallel such that each Stage 1 encoder unit performs entropy coding on its respective vertical section and returns a partially coded Stage 1 output to a Stage 2 encoder unit. Each partially coded Stage 1 output includes a representation of data for a corresponding vertical section that has been compressed by a compression factor greater than 1. The Stage 2 encoder unit can generate a final coded bitstream from the partially encoded Stage 1 output as a Stage 2 output.


