Digital Video Decoding Using Pointer Storage Areas

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional digital video decoding systems face inefficiencies due to fixed size allocation policies, leading to space redundancy and data block fragmentation, particularly in handling variable bit rate digital video streams with DCT coefficients that require different bit representations.

Innovation Solution

A method and apparatus for digital video decoding that utilizes pointer storage areas to record and decode data blocks of compressed macroblocks and inter-macroblocks, allowing for efficient allocation and decoding of data blocks through a parser, compressed video buffer, and inverse arrangement unit with variable length decode capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed size allocation policy is used for storing DCT coefficients, then memory management is simplified, but space redundancy and data block fragmentation occur

Engineering Contradiction:
Improvememory management complexityVSAvoidmemory space utilization
Core Design Contradiction:
Device complexityVSLoss of substance

Solution Approach 1:

The patent segments the storage structure by creating separate pointer storage areas for different data block types (intra-macroblock and inter-macroblock). Each pointer storage area independently manages pointers to data blocks, allowing flexible allocation without fixed size constraints. This segmentation enables efficient memory utilization while maintaining simple management through dedicated pointer arrays.

Inventive Principle:
Principle #1Segmentation

2Productivity

If variable length decoding is implemented for data blocks, then decoding efficiency improves, but decoding complexity increases

Engineering Contradiction:
Improvedecoding efficiencyVSAvoiddecoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-organizing data blocks and their pointers in a structured manner before decoding. The pointer storage areas are prepared in advance, and data blocks are arranged with their corresponding pointers ready for variable length decoding. This preliminary organization simplifies the variable length decoding process by providing ready-to-use structures, thereby improving decoding efficiency without proportionally increasing complexity.

Inventive Principle:
Principle #10Preliminary action

3Speed

If pointers to data blocks are stored in a structured manner, then memory access efficiency improves, but memory usage increases

Engineering Contradiction:
Improvememory access efficiencyVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent introduces pointer storage areas as intermediary structures between the main memory and the decoding process. These pointer arrays act as mediators that store references to data blocks in an organized manner, enabling efficient memory access through direct pointer retrieval. The intermediary structure optimizes access patterns without requiring excessive memory, as pointers are compact representations that facilitate fast lookup and data block access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7423652B2Apparatus and method for digital video decoding
Publication Date: 2008.09.09 VIA TECH INC
  • US7423652B2 patent drawing
  • US7423652B2 patent drawing
  • US7423652B2 patent drawing

AI summary

The decoding method is disclosed. The steps of the method includes recording each status of a plurality of data blocks of compressed macroblocks indicated by a first pointer to a first pointer storage area and each status of a plurality of data blocks of compressed inter-macroblocks indicated by a second pointer to a second pointer storage area; decoding the data blocks of compressed macroblocks according to the first pointer storage area and the data blocks of compressed inter-macroblocks according to the second pointer storage area; and outputting the decoded data blocks to an inverse quantization unit and an inverse discrete cosine transform unit.