Parallel Entropy Coding With Vertical Sections for Faster Video Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveencoding speedVSAvoidencoding delay
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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).

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If data dependencies are resolved by sequential encoding of sections, then data dependency issues are avoided, but encoding delays increase significantly

Engineering Contradiction:
Improvedata dependency handlingVSAvoidencoding delay
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If data dependencies are resolved by creating artificial data isolations, then parallel encoding can proceed, but encoding quality is reduced

Engineering Contradiction:
Improveparallel encoding capabilityVSAvoidencoding quality
Core Design Contradiction:
ProductivityVSManufacturing precision

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Manufacturing precision

If entropy coding is performed sequentially to maintain data accuracy, then encoding quality is maintained, but processing speed and productivity decrease

Engineering Contradiction:
Improveencoding qualityVSAvoidprocessing speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8660177B2Parallel entropy coding
Publication Date: 2014.02.25 SONY INTERACTIVE ENTERTAINMENT LLC
  • US8660177B2 patent drawing
  • US8660177B2 patent drawing
  • US8660177B2 patent drawing

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.