Video Prediction Cache Subcaches for Memory Bandwidth Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional caching systems display suboptimal performance in handling the increasing demands of emerging video coding applications due to memory bandwidth limitations, particularly exacerbated by higher resolutions and frame rates, and the use of various prediction modes and larger interpolation filters in standards like HEVC.

Innovation Solution

An integrated circuit with a video prediction cache comprising independently- and synchronously-addressable subcaches, connected to a cache controller that controls synchronous reads from multiple subcaches to efficiently store and retrieve video prediction data, reducing memory bandwidth usage by distributing cache back-end words across multiple subcaches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If conventional caching systems are used, then memory bandwidth is reduced, but system performance deteriorates due to inability to handle high-resolution and high-frame-rate video coding demands

Engineering Contradiction:
Improvememory bandwidth usageVSAvoidvideo coding performance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The cache is divided into multiple independently-addressable subcaches, each handling a portion of the cache back-end word. This segmentation allows parallel access to different subcaches, enabling the system to serve multiple video prediction requests simultaneously, thereby maintaining high video coding performance while efficiently utilizing memory bandwidth

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by organizing the cache into multiple subcaches that can be accessed independently and synchronously. This dimensional transformation from a single-cache sequential access model to a multi-subcache parallel access model enables the system to handle the increased data demands of high-resolution and high-frame-rate video coding without proportionally increasing memory bandwidth usage

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

2Measurement precision

If higher resolutions and frame rates are used, then video quality is improved, but memory bandwidth requirements increase

Engineering Contradiction:
Improvevideo resolutionVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

By segmenting the cache into multiple subcaches, the system can store and retrieve video prediction data for high-resolution frames more efficiently. Each subcache handles a portion of the data, allowing parallel retrieval operations that reduce the total memory bandwidth required to support high-resolution and high-frame-rate video coding

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the organizational parameter of the cache from a single unified structure to multiple subcaches with independent addressing. This parameter change enables the cache to accommodate the increased data volume of high-resolution video while maintaining efficient access patterns that reduce memory bandwidth consumption

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If larger interpolation filters are used for motion prediction, then prediction accuracy is improved, but memory access overhead increases

Engineering Contradiction:
Improveprediction accuracyVSAvoidmemory access overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The multi-subcache structure segments the memory access operations, allowing different parts of the interpolation filter data to be retrieved from different subcaches in parallel. This reduces the memory access overhead associated with using larger interpolation filters, as the segmented access pattern eliminates sequential access bottlenecks

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache stores video prediction data from memory in a pre-organized manner across multiple subcaches, performing preliminary data preparation so that when large interpolation filters are needed, the data is already positioned for efficient parallel access, reducing the overhead of memory access operations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10085016B1Video prediction cache indexing systems and methods
Publication Date: 2018.09.25 OVICS
  • US10085016B1 patent drawing
  • US10085016B1 patent drawing
  • US10085016B1 patent drawing

AI summary

In some embodiments, a video prediction (reference block) cache includes multiple (e.g. 4) independently-addressable subcaches, each storing a predetermined part of a cache back-end (memory subsystem) word. For example, a 16-byte word received by the cache from memory may be split between four 4-byte subcaches. Each subcache line/block stores the data of a 2-D pixel array. Retrieving a cached prediction may be performed by accessing different subcaches synchronously (on the same clock cycle) to assemble the prediction from parts stored in different subcaches. A cache tag may be defined by a 4-D vector having x-position, y-position, frame ID, and color component (luma/chroma) fields. Using sub-word, independently-addressable subcaches allows increasing the efficiency of cache access and allows addressing memory bandwidth limitations facing emerging video coding standards and applications, which employ relatively large and varied prediction sizes.