Video Encoder Slice Constraint Pipeline Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Pipelined video encoder systems face inefficiencies due to the need to re-encode macroblocks when a macroblock overshoot occurs, leading to reduced encoding throughput and increased computational power usage.

Innovation Solution

The implementation of a continuous encoding data pipeline that allows encoded macroblocks to be inserted into a second slice without re-encoding, eliminating the need to flush the data pipeline and re-encode macroblocks, thereby supporting intra-prediction between video slices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If macroblocks are packed into video slices up to maximum slice size, then network efficiency is improved, but encoding throughput deteriorates due to pipeline flushing and re-encoding

Engineering Contradiction:
Improvecomputational power usageVSAvoidencoding throughput
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing the costs of including additional macroblocks in video slices before encoding occurs. This allows the system to make informed decisions about slice construction that balance network efficiency against encoding throughput, avoiding pipeline flushing and re-encoding operations. The pre-computed cost information guides the selection of macroblocks to include in each slice, optimizing both network utilization and encoder performance.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If pipeline is flushed and macroblocks are re-encoded into data pipe, then slice size constraints are satisfied, but encoding inefficiencies are introduced

Engineering Contradiction:
Improveslice size constraint adherenceVSAvoidencoding throughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent replaces the mechanical pipeline flushing and re-encoding mechanism with a cost-based decision-making system. Instead of physically flushing the pipeline and re-processing macroblocks, the system uses pre-computed cost information to guide slice construction decisions. This substitution eliminates the harmful re-encoding operations while maintaining slice size constraints, thereby preserving encoding throughput.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Loss of energy

If maximum allowed slice size is reached, then network overhead is minimized, but macroblocks must be re-encoded causing performance penalty

Engineering Contradiction:
Improvenetwork overheadVSAvoidencoding time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent changes the parameter consideration from a fixed maximum slice size constraint to a dynamic cost-based approach. By pre-calculating the costs associated with including different numbers of macroblocks in slices, the system can adjust slice construction decisions to minimize both network overhead and encoding time. This parameter transformation allows the system to find optimal trade-offs between packet utilization and encoding performance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9888256B2Technique to constrain a video slice size with reduced performance penalty on pipelined encoder architectures
Publication Date: 2018.02.06 ATI TECHNOLOGIES ULC
  • US9888256B2 patent drawing
  • US9888256B2 patent drawing
  • US9888256B2 patent drawing

AI summary

Methods and apparatus that allow encoding of video data in pipelined encoder architectures with reduced encoding performance penalty. The methods and apparatus encode video data without the need to flush the data pipeline and re-encode macroblocks, thus saving time and resulting in an increase in the encoder's throughput. In one embodiment, macroblocks are encoded in a data pipeline to form a first video slice of a plurality of video slices. Once a macroblock overshoot condition occurs, the overshooting macroblock is determined and a second video slice is formed that includes at least one of the overshooting macroblock and the encoded macroblocks without re-encoding the included overshooting macroblock and encoded macroblocks. For example, a second video slice may be formed from the overshooting macroblock, and any remaining encoded macroblocks, that do not form the first video slice.