U-pattern Video Scan for Memory Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional video coding standards face challenges in efficiently encoding and decoding high-resolution video due to high memory bandwidth requirements, particularly with increasing frame sizes and frame rates, as they limit search window overlap and caching efficiency.

Innovation Solution

The implementation of a U-pattern scanning method for encoding and decoding video, which allows for larger overlap of cached search regions by scanning data units and clusters in a U-pattern, enabling better prediction and coding efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If raster scan pattern is used for encoding macroblocks, then encoding simplicity is maintained, but search window overlap between successive macroblocks is limited

Engineering Contradiction:
Improveencoding simplicityVSAvoidsearch window overlap
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent inverts the traditional raster scan pattern by implementing a U-pattern scan that processes macroblocks in a non-linear sequence (e.g., 0, 2, 1, 4, 3, 5...). This inversion allows search windows of spatially adjacent macroblocks to overlap more effectively in the scan order, enabling better cache utilization and reduced memory bandwidth requirements while maintaining encoding simplicity through the systematic reordering of the scan pattern.

Inventive Principle:
Principle #13The other way round (Inversion)

2Productivity

If frame size and frame rate are increased to meet high-definition video requirements, then video quality is improved, but memory bandwidth requirements increase

Engineering Contradiction:
Improvevideo qualityVSAvoidmemory bandwidth requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The U-pattern scan pattern performs preliminary organization of macroblock processing order to maximize search window overlap before actual motion estimation begins. By pre-establishing the scan sequence that ensures adjacent macroblocks in the U-pattern have overlapping search regions, the system prepares the data access pattern in advance, enabling efficient cache utilization and reducing peak memory bandwidth requirements for high-definition video processing.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If cache size is increased to improve data re-use, then memory bandwidth savings are achieved, but system cost increases

Engineering Contradiction:
Improvedata re-useVSAvoidsystem cost
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent changes the scanning pattern parameter from traditional raster scan to U-pattern scan, which fundamentally alters the access sequence of macroblocks. This parameter change in the scan pattern enables the same cache size to achieve higher data re-use efficiency by ensuring that search windows of consecutively processed macroblocks overlap, thereby maximizing cache hit rates without requiring any increase in cache capacity or system cost.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10630985B2Method for scanning coding blocks inside a video frame by video codecs
Publication Date: 2020.04.21 SAMSUNG ELECTRONICS CO LTD
  • US10630985B2 patent drawing
  • US10630985B2 patent drawing
  • US10630985B2 patent drawing

AI summary

A method for encoding video and an encoder for encoding video, a method for decoding video and a decoder for decoding video are provided. Accordingly, in one embodiment, a method for decoding video receives a bit-stream including a plurality of data units encoded according to a scan pattern comprising at least one U-pattern, and decodes a data unit among the plurality of data units by using at least one data unit included among the plurality of data units, the at least one other data unit being decoded prior to the data unit according to the scan pattern. When the plurality of data units are included in a data cluster, the method includes scanning the plurality of data units according to the at least one U-pattern, and the scanning includes scanning and decoding the data unit, followed by scanning and decoding a neighboring data unit horizontally or vertically adjacent to the data unit.