Grouping Bypass-Coded SAO Bins for Video Encoding Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding standards face inefficiencies due to frequent transitions between CABAC and bypass coding for SAO syntax elements, leading to reduced throughput and increased processing overhead, as bypass-coded bins are often interspersed with regular CABAC-coded bins.

Innovation Solution

Grouping bypass-coded bins together with regular CABAC-coded bins within the sequence of SAO syntax elements, using a regular CABAC engine for the latter and a bypass coding engine for the former to encode and decode, ensuring that no bypass-coded bins are between regular CABAC-coded bins, thereby optimizing encoding and decoding processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If bypass-coded bins are interspersed with regular CABAC-coded bins in the sequence of SAO syntax elements, then the encoding can handle diverse data types, but the throughput is reduced and processing overhead is increased

Engineering Contradiction:
Improveencoding flexibilityVSAvoidthroughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the SAO syntax element sequence into distinct groups: regular CABAC-coded bins are grouped together and bypass-coded bins are grouped together. This segmentation allows the encoder to process each group with its appropriate coding method without frequent switching, thereby improving throughput while maintaining the ability to handle both regular and bypass coding types.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If frequent transitions between CABAC and bypass coding are made, then the encoding can adapt to different bin types, but the processing overhead is increased

Engineering Contradiction:
Improvecoding adaptationVSAvoidprocessing overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges bins of the same coding type together in the sequence. All regular CABAC-coded bins are placed adjacent to each other, and all bypass-coded bins are placed adjacent to each other. This merging reduces the number of transitions between coding modes, thereby reducing processing overhead while maintaining adaptability to different bin types through the grouped structure.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If bypass-coded bins are placed between regular CABAC-coded bins, then the syntax structure can be flexible, but the computational efficiency is reduced

Engineering Contradiction:
Improvesyntax structure flexibilityVSAvoidcomputational efficiency
Core Design Contradiction:
Adaptability or versatilityVSPower

Solution Approach 1:

The patent applies segmentation by creating distinct segments for regular CABAC-coded bins and bypass-coded bins. This segmentation ensures that bins of the same type are processed contiguously, eliminating the need for the CABAC engine to frequently switch to bypass coding and back, thereby improving computational efficiency while maintaining syntax flexibility through the organized structure.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9386307B2Grouping of bypass-coded bins for SAO syntax elements
Publication Date: 2016.07.05 QUALCOMM INC
  • US9386307B2 patent drawing
  • US9386307B2 patent drawing
  • US9386307B2 patent drawing

AI summary

A video encoder generates a sequence of sample adaptive offset (SAO) syntax elements for a coding tree block. The SAO syntax elements include regular context-adaptive binary arithmetic coding (CABAC) coded bins for a color component and bypass-coded bins for the color component. None of the bypass-coded bins is between two of the regular CABAC-coded bins in the sequence. The video encoder uses regular CABAC to encode the regular CABAC-coded bins and uses bypass coding to encode the bypass-coded bins. The video encoder outputs the SAO syntax elements in a bitstream. A video decoder receives the bitstream, uses regular CABAC to decode the regular CABAC-coded bins, uses bypass coding to decode the bypass-coded bins, and modifies a reconstructed picture based on the SAO syntax elements.