Streaming Pre-Carry Processing for Low-Latency AV1 Entropy Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The AV1 video coding standard introduces a pre-carry buffer in entropy coding, requiring memory resources and causing latency due to the need to store a complete set of pre-carry data before processing, which increases hardware and operational costs.

Innovation Solution

Process pre-carry data as a streaming input, summing the least significant byte (LSB) of each pre-carry word with the most significant byte (MSB) of the next word, and increment a counter if the LSB equals 0xFF, outputting the hold sum or incremented sum based on the MSB, while updating the hold sum and resetting the counter as needed, to generate encoded output on the fly without buffering the entire data set.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If pre-carry data is buffered in memory before processing, then processing completeness is ensured, but memory resources increase and latency is introduced

Engineering Contradiction:
Improveprocessing completenessVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by initializing the hold sum with the LSB of the first pre-carry word and MSB of the second pre-carry word before the main processing loop begins. This preliminary setup enables immediate processing of subsequent words without waiting for complete buffer filling, thereby reducing latency while ensuring processing correctness through proper carry propagation setup.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the pre-carry data processing into individual word-level operations that can be processed sequentially as data arrives. By handling one pre-carry word at a time through the iterative loop (processing word i and word i+1), the system avoids the need to buffer complete data sets, thus reducing memory requirements and latency while maintaining processing completeness.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a complete pre-carry buffer is stored in memory, then processing accuracy is maintained, but hardware resources increase

Engineering Contradiction:
Improveprocessing accuracyVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential elements needed for accurate processing - specifically the hold sum and FFcount - and maintains them in registers rather than storing complete pre-carry data sets in memory. By extracting and maintaining only the critical state variables (hold sum initialized from first two words, FFcount for tracking consecutive 0xFF values), the system preserves processing accuracy while dramatically reducing memory resource requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the state representation from storing complete pre-carry data sets to maintaining condensed state variables (hold sum and FFcount). This parameter transformation allows the system to track processing state accurately using minimal memory resources, as the hold sum captures the essential carry propagation state and FFcount captures the sequence of maximum values, eliminating the need for large buffers.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If pre-carry data is processed sequentially from first to last word, then processing simplicity is maintained, but processing speed decreases

Engineering Contradiction:
Improveprocessing simplicityVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent ensures continuous useful action by processing pre-carry words immediately as they become available through the iterative loop structure. The hold sum is continuously updated with each new word processed, and output is generated continuously based on the current hold sum and FFcount values. This continuous processing eliminates idle waiting time while maintaining the simplicity of sequential logic, thereby improving processing speed without increasing complexity.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12373168B2Pre-carry data processing apparatus and method
Publication Date: 2025.07.29 XILINX INC
  • US12373168B2 patent drawing
  • US12373168B2 patent drawing
  • US12373168B2 patent drawing

AI summary

Disclosed approaches for accumulating pre-carry data include initializing hold sum to a sum of a LSB of the first pre-carry word of an input stream and an MSB of a second pre-carry word by a pre-carry processing circuit. For successive pre-carry words, the LSB of pre-carry word i and the MSB of pre-carry word i+1 are summed into a next sum. An FFcount is incremented by an adder circuit if the LSB of the next sum is equal to 0xFF. If the LSB of the next sum is not equal to 0xFF, the pre-carry processing circuit outputs either: the hold sum followed by FFcount consecutive 0xFF values, if the MSB of the next sum is equal to 0x00, or the hold sum plus one, followed by FFcount consecutive 0x00 values, if the MSB of the next sum is not equal to 0x00. If the LSB of the next sum is not equal to 0xFF, the hold sum is updated with the LSB of the next sum, and the FFcount is reset to 0. Processing repeats for successive pre-carry words in the stream.