CABAC Error Detection via Delimiter and Data Filler

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Error detection in Context-Adaptive Binary Arithmetic Coding (CABAC) is challenging due to the presence of cabac_zero_word, which makes it difficult to determine the size of the Network Abstract Layer (NAL) unit, leading to inefficient error detection processes that are resource-intensive for hardware and software.

Innovation Solution

Implementing a delimiter (such as a startcode or pointer) to separate slice data and stuffing bytes, and using a data filler (like filler_data RBSP) instead of cabac_zero_words, simplifies error detection by allowing comparison of decoded bits to NAL unit size without needing to read all remaining bytes, thereby reducing implementation complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If decoder reads all data from end of rbsp_trailing_bits to end of NAL unit to confirm cabac_zero_word, then error detection accuracy is improved, but processing time and computational complexity increase significantly

Engineering Contradiction:
Improveerror detection accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The encoder performs preliminary action by inserting a delimiter at a known position (e.g., after a fixed number of bytes following rbsp_trailing_bits) before the cabac_zero_word stuffing bytes. This allows the decoder to stop reading at the delimiter position without needing to read through all remaining bytes to the end of NAL unit, thus maintaining error detection accuracy while significantly reducing processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The NAL unit structure is segmented by introducing a delimiter that divides the trailing bits section into two parts: the data portion and the stuffing bytes portion. This segmentation allows the decoder to process only the necessary data portion and use the delimiter as a stopping point, eliminating the need to read through all remaining bytes including the variable-length cabac_zero_word sequences.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If decoder uses traditional cabac_zero_word identification method, then compatibility with AVC standard is maintained, but device complexity and implementation difficulty increase

Engineering Contradiction:
Improvestandard compatibilityVSAvoidimplementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A delimiter is introduced as an intermediary element between the rbsp_trailing_bits and the cabac_zero_word stuffing bytes. This delimiter serves as a clear marker that simplifies the decoder's task of identifying where the actual data ends and where the stuffing bytes begin, without changing the fundamental CABAC encoding structure or reducing compatibility with the AVC standard.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The delimiter extracts the function of marking the end of meaningful data from the ambiguous cabac_zero_word sequence. By separating the data termination marker from the stuffing bytes, the implementation complexity is reduced while maintaining the same error detection capability and standard compatibility.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If encoder inserts arbitrary numbers of cabac_zero_word to adjust NAL unit size, then NAL unit size flexibility is improved, but error detection difficulty increases

Engineering Contradiction:
ImproveNAL unit size flexibilityVSAvoiderror detection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The encoder performs preliminary action by inserting a delimiter at a predetermined position before inserting the variable number of cabac_zero_word bytes. This preliminary delimiter insertion creates a clear boundary that allows the decoder to easily identify where data ends and stuffing begins, maintaining NAL unit size flexibility while simplifying error detection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The delimiter acts as an intermediary marker that separates the functional data portion from the size-adjustment stuffing bytes. This intermediary element allows the encoder to maintain flexibility in NAL unit size through variable cabac_zero_word insertion while providing the decoder with a clear stopping point for data processing, thus reducing error detection difficulty.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9819968B2Method and apparatus for error detection in CABAC
Publication Date: 2017.11.14 TEXAS INSTRUMENTS INC
  • US9819968B2 patent drawing
  • US9819968B2 patent drawing
  • US9819968B2 patent drawing

AI summary

A method and apparatus for error detection. The method includes decoding slice header when a unit is a NAL unit, decoding a macroblock unit and detecting an end of slice flag setting indicating end of slice, decoding RBSP (Raw Byte Sequence Payload) trailing bits and determining if it is end of slice, and determining an error occurred when it is not end of slice. The apparatus configured to decoding via a digital processor a slice header when a unit is a NAL unit, decoding a macroblock unit and detecting an end of slice flag setting indicating an end of slice, decoding RBSP trailing bits and determining if it is the end of slice, and determining an error occurred when it is not end of slice.