2D Transform Engine Zero-Bypass Processing for Lower Power

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for performing 2D transforms on 2D arrays of data values, particularly inverse discrete cosine transforms, are inefficient in reducing power consumption when dealing with sparse data, as they often perform unnecessary operations on non-zero values and fail to effectively bypass operations on zero values, leading to increased power consumption and processing cycles.

Innovation Solution

The system performs 2D transforms by determining subsets of rows and columns that consist entirely of zero values and bypassing or reducing power consumption for these operations, allowing for sequential processing of subsets to minimize redundant computations and optimize power usage, specifically by reordering data values and using reduced-power transformation methods for zero values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If conventional 2D transform methods are applied to sparse data blocks, then complete transform operations are performed on all data values, but this results in unnecessary power consumption and redundant processing cycles on zero values

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The data block is divided into multiple subsets (e.g., 4x4 sub-blocks within an 8x8 block). The system processes each subset independently, allowing it to identify and skip zero-value subsets without transforming the entire block, thereby reducing power consumption while maintaining processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing complete transform operations on all data values, the system performs partial transformations only on non-zero subsets. When a subset contains only zero values, the transform operation is completely bypassed for that subset, eliminating redundant computations and power consumption.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If transform operations are performed on all data values in a block, then no operations are skipped, but this leads to increased power consumption when dealing with sparse data containing many zero values

Engineering Contradiction:
Improvetransform accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The system extracts and identifies zero-value subsets from the data block before performing transformations. By separating zero-value subsets from non-zero subsets, the system can selectively apply transform operations only where necessary, ensuring transform accuracy for non-zero values while eliminating power consumption on zero values.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary analysis of the data block to identify zero-value subsets before executing transform operations. This preliminary action allows the system to pre-determine which subsets require transformation and which can be skipped, ensuring that no transform accuracy is compromised while minimizing power consumption.

Inventive Principle:
Principle #10Preliminary action

3Use of energy by stationary object

If the system processes each subset of data values to determine zero values and bypass operations, then power consumption is reduced, but this requires additional processing overhead for subset identification

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing complexity
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The data block is segmented into fixed-size subsets (e.g., 4x4 sub-blocks), which simplifies the identification process. Each subset can be independently analyzed for zero values using straightforward comparison operations, reducing the overall processing complexity compared to analyzing the entire block at once while still achieving power savings.

Inventive Principle:
Principle #1Segmentation

4Productivity

If complete transform operations are performed on all subsets, then no power-saving opportunities are missed, but this results in redundant computations on subsets containing only zero values

Engineering Contradiction:
Improveprocessing throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs partial transformations only on non-zero subsets identified during the preliminary analysis phase. For subsets containing only zero values, the transform operation is completely omitted. This selective approach maintains processing throughput by focusing computational resources on non-zero data while eliminating redundant computations on zero subsets, thereby reducing power consumption.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8660380B2Method and system for performing two-dimensional transform on data value array with reduced power consumption
Publication Date: 2014.02.25 NVIDIA CORP
  • US8660380B2 patent drawing
  • US8660380B2 patent drawing
  • US8660380B2 patent drawing

AI summary

In some embodiments, a method for performing and a system configured to perform a 2D transform (for example, an inverse discrete cosine transform) on each block of a sequence of data blocks, where the 2D transform includes a row transform and a column transform. To perform the row or column transform on a row or column of data, these embodiments determine whether each of different subsets of the data values comprising a partition of the row (column) includes at least one zero value, whether each of different subsets of a first subset of the partition includes at least one zero value, and whether each of different subsets of at least one other subset of the partition includes at least one zero value. When performing the row (column) transform on each row or column that includes at least one zero value and at least one non-zero value, at least one transformation operation on at least one zero value is bypassed or performed in a reduced-power manner, where such transformation operation would otherwise be performed in a manner consuming full power if the zero value were a non-zero value. In some embodiments, the system is a pipelined video decoding system or other video processing system (or a video processing subsystem of a portable media player or other system) including a transform engine implemented in accordance with the invention. Other aspects are transform engines and transform engine circuitry for use in any embodiment of the system.