Motion Compensated Video Decoder Caching Method

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional video decoder systems face high power consumption and DRAM bandwidth issues due to large memory requirements for motion compensated video compression, especially in portable high-definition implementations, and traditional caching techniques are inefficient, leading to increased power usage and cache misses.

Innovation Solution

A caching method that fetches and stores only reference samples within a limited vertical range of the current target block, using a single valid bit per cache block, rather than address tags, to minimize cache misses and reduce DRAM bandwidth utilization, thereby reducing power consumption and overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional set associative caches are used with large cache blocks, then cache hit rate improves, but DRAM bandwidth utilization increases and power consumption increases due to transferring unused data

Engineering Contradiction:
Improvecache hit rateVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the cache into multiple smaller ways (e.g., 4-way set associative instead of 8-way) and uses selective invalidation of cache ways based on motion vector analysis. This allows the system to maintain high cache hit rates by keeping relevant data while avoiding the power penalty of transferring and caching unnecessary data blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial caching by invalidating specific cache ways that are not needed for the current motion compensation operation. Instead of caching all possible reference data, only the necessary portions are kept in cache, reducing DRAM bandwidth utilization and power consumption while maintaining adequate cache performance.

Inventive Principle:
Principle #16Partial or excessive action

2Loss of energy

If traditional set associative caches are used with small cache blocks, then DRAM bandwidth utilization decreases, but cache miss rate increases and overhead from address tags increases

Engineering Contradiction:
ImproveDRAM bandwidth utilizationVSAvoidcache hit rate
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The patent dynamically adjusts the number of active cache ways based on the motion complexity and reference frame requirements. This dynamic configuration allows the system to optimize between cache hit rate and DRAM bandwidth utilization in real-time, adapting to different video sequences and motion patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the cache organization parameters by using fewer cache ways with selective invalidation rather than traditional many-way associativity. This parameter change reduces the overhead from address tags and improves cache efficiency while maintaining adequate hit rates through intelligent cache management.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If cache block size is increased, then fewer cache blocks are needed, but address tag overhead increases and cache area increases

Engineering Contradiction:
Improvenumber of cache blocksVSAvoidaddress tag overhead
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent segments the cache into multiple smaller ways, which reduces the address tag overhead per cache block. By using selective invalidation of these segmented ways, the system achieves efficient caching with reduced overhead compared to using fewer, larger cache blocks.

Inventive Principle:
Principle #1Segmentation

4Productivity

If DRAM access is increased to handle cache misses, then cache performance improves, but power consumption increases due to DRAM latency

Engineering Contradiction:
Improvecache performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent performs preliminary analysis of motion vectors to predict which cache ways will be needed before executing cache operations. This preliminary action allows the system to pre-validate cache ways and avoid unnecessary DRAM accesses, improving cache performance while reducing power consumption from DRAM latency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8963809B1High performance caching for motion compensated video decoder
Publication Date: 2015.02.24 AMBARELLA INT LP
  • US8963809B1 patent drawing
  • US8963809B1 patent drawing
  • US8963809B1 patent drawing

AI summary

A method for high performance caching is disclosed. The method generally includes steps (A) and (B). Step (A) may fetch a plurality of reference samples of a reference image from a first circuit to a cache of a second circuit. The cache may include a plurality of cache blocks and a plurality of valid bits. Each of the cache blocks generally corresponds to at most one of the valid bits. A size of the cache blocks may match a smallest read access size of the first circuit. Step (B) may transfer the reference samples having the corresponding valid bit set to valid from the cache to a processor of the second circuit.