Memory Access Reordering for Video Transform Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional video compression methods face inefficiencies in accessing multiple contiguous data points in memory, particularly when dealing with different transform block sizes and types, as they often require sequential access rather than parallel access, limiting memory throughput.

Innovation Solution

The implementation of a system with multiple memories and a circuit configuration that allows for parallel access of data points across different memories, enabling the transfer of 8 or 16 data points per clock cycle, regardless of transform block size or type, by reordering memory access to access rectangular regions of data points efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential memory access is used for transform blocks, then memory access order is simple, but memory throughput is limited and processing speed is reduced

Engineering Contradiction:
Improvememory throughputVSAvoidmemory access ordering complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The transform block is divided into multiple segments that can be accessed in parallel from different memories. The memory access is segmented into multiple independent read cycles, each accessing a different portion of the transform block simultaneously, thereby increasing overall memory throughput without requiring complex sequential ordering logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to memory access by organizing data in a two-dimensional layout and accessing it along different dimensions (rows vs. columns). This allows the same transform block to be accessed in multiple orders (horizontal vs. vertical scanning) without changing the underlying data storage, resolving the contradiction between access flexibility and complexity.

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

2Adaptability or versatility

If hardware is designed to handle different transform sizes, then adaptability is improved, but hardware complexity increases

Engineering Contradiction:
Improvetransform size adaptabilityVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory access hardware is designed with universal interfaces and control logic that can handle multiple transform sizes (4×4, 8×8, 16×16) and transform types (frame, field) through the same basic architecture. By using parameterized address generation and flexible memory organization, the hardware achieves multi-functionality without requiring separate dedicated circuits for each transform size.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses parameter changes to adapt the memory access pattern to different transform sizes. By modifying address generation parameters, block size indicators, and memory address offsets based on the detected transform type, the same hardware structure can efficiently access data for various transform configurations without structural changes.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If data points are accessed in different orders based on transform type, then transform accuracy is maintained, but access time varies

Engineering Contradiction:
Improvetransform accuracyVSAvoidaccess time variation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-organizing data in memory according to the expected transform type and size before the actual transform operation. Memory addresses and data layouts are prepared in advance based on macroblock characteristics, allowing the transform engine to access data in the optimal order without real-time decision delays, thus maintaining both accuracy and consistent access time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10412400B1Memory access ordering for a transformation
Publication Date: 2019.09.10 AMBARELLA INT LP
  • US10412400B1 patent drawing
  • US10412400B1 patent drawing
  • US10412400B1 patent drawing

AI summary

An apparatus generally having a plurality of memories and a first circuit is disclosed. The memories may be configured to store a plurality of first data points. The first data points generally form a two-dimensional block. The first data points may be arranged among the memories such that a load cycle from the memories accesses a rectangular region of the two-dimensional block. The load cycle generally comprises a plurality of read cycles, a different one of the read cycles corresponding to each one of the memories. The first circuit may be configured to (i) receive the first data points as read from the memories and (ii) generate a plurality of second data points by a video codec transformation of the first data points between a spatial domain and a frequency domain.