Selectable Transcode Engine Systems 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 display and transmission 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 process different coding groups in parallel, utilizing a neighbor buffer for interdependent data communication and a context buffer for wavefront parallel processing, and stitching output streams to generate a combined bit stream for 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 reduced, but entropy encoding throughput is limited and cannot meet real-time display requirements

Engineering Contradiction:
Improveentropy encoding throughputVSAvoidnumber 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 (e.g., first transcode engine and second transcode engine) that process different coding groups in parallel. Each transcode engine handles a portion of the bit stream, thereby increasing overall entropy encoding throughput while maintaining manageable device complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple transcode engines process different coding groups in parallel, then entropy encoding throughput is improved, but device complexity increases

Engineering Contradiction:
Improveencoding speedVSAvoidsystem architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a buffer as an intermediary component that stores and manages data between multiple transcode engines. The buffer receives coded data from prediction encoding, distributes it to multiple transcode engines for parallel processing, and collects the resulting bit streams. This intermediary structure enables parallel processing to improve encoding speed while the buffer manages the complexity of coordinating multiple engines.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If multiple transcode engines are used to increase throughput, then latency is reduced for real-time display, but power consumption increases

Engineering Contradiction:
Improveencoding latencyVSAvoidpower consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic selection of transcode engine configurations based on operational requirements. The system can adaptively activate or deactivate transcode engines depending on the encoding workload and real-time display requirements. When real-time processing is needed, multiple engines are activated to reduce latency; when real-time requirements are not critical, fewer engines are used to conserve power, thus dynamically balancing latency and power consumption.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11716480B2Selectable transcode engine systems and methods
Publication Date: 2023.08.01 APPLE INC
  • US11716480B2 patent drawing
  • US11716480B2 patent drawing
  • US11716480B2 patent drawing

AI summary

An electronic device includes a video encoding pipeline configured to encode source image data. The video encoding pipeline includes a first transcode engine and a second transcode engine. The electronic device also includes processing circuitry configured to determine a target throughput for a bin stream and determine whether to encode the bin stream using only the first transcode engine or both the first and second transcode engines based on the target throughput. The processing circuitry is also configured to cause only the first transcode engine to encode the bin stream or both the first and second transcode engines to encode the bin stream based on determining whether to encode the bin stream using only the first transcode engine or both the first and second transcode engines.