Scalable Video CABAC Engine Reducing Bit Stream Size

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional video coding standards do not allow for efficient conversion of video sequences to different bit rates, requiring re-encoding when a lower bit rate is needed, and existing scalable video coding methods are inefficient due to redundant information in bit streams.

Innovation Solution

The development of a context-based adaptive binary arithmetic coding (CABAC) engine suitable for scalable video coding, which selectively decodes syntax elements and reuses existing coding contexts to reduce the size of the enhancement layer bit stream by avoiding redundant information, using techniques such as differential encoding and context-based adaptive binary arithmetic coding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional video coding standards are used, then video sequences can be encoded at a specific bit rate, but re-encoding is required when a different bit rate is needed, increasing computational effort and time

Engineering Contradiction:
Improvebit rate adaptabilityVSAvoidre-encoding time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The video sequence is divided into multiple layers (base layer and enhancement layers), where each layer represents a different quality level. The base layer contains essential video information that can be decoded independently, while enhancement layers contain additional details. This segmentation allows the decoder to reconstruct video at different bit rates by selectively decoding only the necessary layers, eliminating the need for complete re-encoding when bit rate changes are required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to bit rate adaptation by organizing video data in a scalable structure across multiple quality layers. Instead of treating video as a single monolithic stream, it creates a hierarchical structure where base layer and enhancement layers are stacked, enabling bit rate flexibility through selective layer decomposition rather than temporal re-encoding.

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

2Adaptability or versatility

If scalable video coding is implemented, then bit stream manipulation can produce lower bit rate versions, but redundant information increases the size of the enhancement layer bit stream

Engineering Contradiction:
Improvescalable video coding capabilityVSAvoidbit stream size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts and removes redundant information from the enhancement layer bit stream by identifying and eliminating duplicate data that exists between base and enhancement layers. Specifically, it extracts only the differential information needed to represent enhancement layer content, rather than encoding complete enhancement layer data independently. This extraction process significantly reduces the quantity of bits required while preserving the scalable video coding capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges the encoding of base layer and enhancement layer by using the base layer decoded data as a reference for enhancement layer encoding. Instead of treating them as completely separate streams, it combines the encoding process such that enhancement layer data is represented as differences or residuals relative to the base layer, thereby reducing overall bit stream size while maintaining scalability.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If context-based adaptive binary arithmetic coding is used, then compression efficiency is improved, but the CABAC engine requires modification to be suitable for scalable video coding

Engineering Contradiction:
Improvecompression efficiencyVSAvoidCABAC engine complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent modifies the CABAC engine to serve multiple functions: it can encode both base layer and enhancement layer data using the same contextual modeling mechanisms. By making the CABAC engine universal, it handles different layer types and syntax elements through a unified coding framework, thereby maintaining high compression efficiency without requiring separate specialized engines for each layer type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces dynamic adaptation into the CABAC engine by allowing contextual models to be selectively applied or modified based on the current encoding context (base layer vs. enhancement layer). The engine dynamically adjusts its behavior and parameter selection according to the layer being encoded, optimizing compression efficiency for each specific case while using a single flexible engine architecture rather than multiple rigid engines.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7664176B2Method and system for entropy decoding for scalable video bit stream
Publication Date: 2010.02.16 RPX CORP
  • US7664176B2 patent drawing
  • US7664176B2 patent drawing
  • US7664176B2 patent drawing

AI summary

A method, program product and apparatus for decoding from a scalable bit stream the binarization results of a video sequence by selectively decoding syntax elements and avoiding redundancy in coding. The result is a decrease in the size of the compressed bit stream of an enhancement layer bit stream. It has been demonstrated that the compression efficiency equals that of a single, non-scalable video stream for some video sequences. These features may be achieved by determining whether a skipping flag in the base layer macro block of the video data is set, and decoding a skipping flag from an enhancement layer macro block of the video data, corresponding to the base layer macro block, only if the base layer macro block skipping flag is set.