Parallel CABAC Entropy Encoder for Faster Multi-Bin Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video data compression techniques, particularly those using context-based adaptive binary arithmetic coding (CABAC), face challenges in achieving efficient encoding due to complex algorithms and long coding times, especially when handling high-resolution video data.

Innovation Solution

An entropy encoder is designed with a binarizer, bin buffer, and multiple bin encoding circuits, allowing for single-bin and multi-bin encoding operations based on context values, and a bit generator to produce a bit stream efficiently, with the bin buffer independently managing the flow of bin values and context information to optimize encoding processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If context-based adaptive binary arithmetic coding (CABAC) is used for video data compression, then compression efficiency is improved, but coding time increases and algorithm complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcoding time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The entropy encoder is divided into multiple independent bin encoding circuits (first bin encoding circuit, second bin encoding circuit, third bin encoding circuit) that can process different bin sequences in parallel. The binarizer generates multiple bin sequences that are distributed to different encoding circuits, enabling simultaneous encoding operations that reduce overall coding time while maintaining CABAC compression efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-bin encoding to parallel multi-bin encoding by adding a temporal dimension to the processing. Multiple bin sequences are encoded simultaneously across different circuits rather than one after another, effectively using parallel processing dimensions to reduce coding time while preserving the compression benefits of CABAC.

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

2Loss of substance

If context-based adaptive binary arithmetic coding (CABAC) is used for video data compression, then compression efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidalgorithm complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The complex CABAC algorithm is segmented into multiple independent bin encoding circuits, each handling a specific bin sequence. This segmentation distributes the computational complexity across parallel units rather than concentrating it in a single sequential processor, making the overall system more manageable and efficient despite the inherent complexity of CABAC.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple bin encoding circuits are designed with identical functional capabilities, each able to perform complete CABAC encoding operations independently. This universality allows the system to handle different bin sequences through identical proven logic, reducing design complexity compared to creating specialized circuits for different encoding tasks.

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

3Device complexity

If multiple bin sequences are processed sequentially in a single encoding circuit, then device complexity is reduced, but productivity decreases

Engineering Contradiction:
Improveencoding circuit complexityVSAvoidencoding speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The encoding task is segmented into multiple bin sequences that are distributed to separate encoding circuits. Each circuit processes its assigned sequences independently and simultaneously, transforming a single-threaded sequential process into a multi-threaded parallel process that dramatically increases encoding throughput and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The binarizer performs preliminary action by generating and organizing multiple bin sequences before distribution to encoding circuits. This preprocessing step ensures that each encoding circuit receives ready-to-process data in advance, enabling immediate parallel encoding operations without waiting for sequential data preparation, thus maximizing encoding speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10291913B2Entropy encoder, video encoder including the same and electronic system including the same
Publication Date: 2019.05.14 SAMSUNG ELECTRONICS CO LTD
  • US10291913B2 patent drawing
  • US10291913B2 patent drawing
  • US10291913B2 patent drawing

AI summary

An entropy encoder includes a binarizer, a bin buffer, a plurality of bin encoding circuits and a bit generator. The binarizer generates a plurality of bin values based on a plurality of syntax elements. The bin buffer sequentially stores the plurality of bin values, and outputs at least some of the plurality of bin values based on a storing condition of the bin buffer. The plurality of bin encoding circuits performs an encoding operation on a single bin value based on a single context value when the bin buffer outputs the single bin value, and perform a multi-bin encoding operation on two or more bin values based on two or more context values when the bin buffer outputs the two or more bin values. The bit generator generates a bit stream based on bit values output from the plurality of bin encoding circuits.