Parallel Transcode Engines for Video Encoding Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing image data encoding technologies face limitations in achieving real-time or near real-time output rates due to variations in throughput between prediction encoding and entropy encoding processes, with entropy encoding often acting as a bottleneck.

Innovation Solution

Implementing a video encoding pipeline with multiple transcode engines that operate in parallel to enhance entropy encoding throughput, utilizing a neighbor buffer for interdependent coding group data communication and a context buffer for wavefront parallel processing, and stitching output streams to maintain compatibility with decoding devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single transcode engine is used for entropy encoding, then device complexity is low, but output rate of encoded image data is limited

Engineering Contradiction:
Improveoutput rate of encoded image dataVSAvoidnumber of transcode engines
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the entropy encoding task into multiple segments by implementing multiple transcode engines that process different coding group rows in parallel. Each transcode engine handles a specific portion of the encoding work, thereby increasing the overall output rate of encoded image data while maintaining manageable device complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple transcode engines operate in parallel, then entropy encoding throughput increases, but coordination complexity between engines increases

Engineering Contradiction:
Improveentropy encoding throughputVSAvoidcoordination mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a context buffer as an intermediary mechanism that stores context information shared between multiple transcode engines. This mediator allows engines to access necessary encoding context without direct complex coordination, enabling parallel operation while simplifying the interaction protocol between engines.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements wavefront parallel processing where context information is copied and distributed to multiple transcode engines. Each engine receives a copy of the necessary context data, allowing independent parallel processing while maintaining encoding consistency across all engines without requiring continuous coordination.

Inventive Principle:
Principle #26Copying

3Reliability

If coding group data is shared between transcode engines, then encoding consistency is maintained, but data communication overhead increases

Engineering Contradiction:
Improveencoding consistencyVSAvoiddata communication time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-loading context information into the context buffer before multiple transcode engines begin processing. This advance preparation ensures that all engines have the necessary encoding context readily available, maintaining encoding consistency while minimizing data communication overhead during the actual parallel encoding process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11924478B2Multiple transcode engine systems and methods
Publication Date: 2024.03.05 APPLE INC
  • US11924478B2 patent drawing
  • US11924478B2 patent drawing
  • US11924478B2 patent drawing

AI summary

Systems and methods for improving determination of encoded image data using a video encoding pipeline, which includes a first transcode engine that entropy encodes a first portion of a bin stream to determine a first bit stream including first encoded image data that indicates a first coding group row and that determines first characteristic data corresponding to the first bit stream to facilitate communicating a combined bit stream; and a second transcode engine that entropy encodes a second portion of the bin stream to determine a second bit stream including second encoded image data that indicates a second coding group row while the first transcode engine entropy encodes the first portion of the bin stream and that determines second characteristic data corresponding to the second bit stream to facilitate communicating the combined bit stream, which includes the first bit stream and the second bit stream, to a decoding device.