Parallel Macroblock Encoding for H.264 Video Stream Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The H.264 video encoding process is time-consuming due to successive prediction processes for each frame, particularly when frames have numerous macroblocks, leading to inefficiencies in video encoding.

Innovation Solution

A method for simultaneously encoding groups of macroblocks in a frame by performing multiple encoding procedures in parallel, where each group is compared with a macroblock set from a preceding frame to generate strings of data, reducing the time required for encoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If successive prediction processes are performed for each macroblock, then encoding accuracy is maintained, but encoding time increases significantly

Engineering Contradiction:
Improveencoding accuracyVSAvoidencoding time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The frame is divided into multiple groups of macroblocks (e.g., four groups), allowing parallel processing of different groups while maintaining the necessary prediction accuracy within each group. This segmentation enables simultaneous encoding of multiple groups without compromising overall encoding quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Reference frames are pre-encoded and stored in frame buffers before the current frame encoding begins. This preliminary action allows the parallel encoding processes to access reference data without waiting, reducing the overall encoding time while maintaining prediction accuracy.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple encoding procedures are performed simultaneously, then encoding speed increases, but system complexity increases

Engineering Contradiction:
Improveencoding speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The encoding system is segmented into multiple independent encoding procedures, each handling a specific group of macroblocks. This modular segmentation allows parallel execution while keeping each processing unit relatively simple, managing system complexity through structured division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces parallelism as a new dimension of processing by simultaneously executing multiple encoding procedures for different macroblock groups. This dimensional change from sequential to parallel processing increases encoding speed without proportionally increasing the complexity of individual encoding units.

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

Data Source

PatentUS9456213B2Method for simultaneously encoding macroblock groups of frame
Publication Date: 2016.09.27 HANGZHOU ARCVIDEO TECHNOLOGY CO LTD
  • US9456213B2 patent drawing
  • US9456213B2 patent drawing
  • US9456213B2 patent drawing

AI summary

A first frame associated with a video stream is in a prior sequence than a second frame of the video stream. Each of the first frame and the second frame has a plurality of groups, and each of the groups contains a plurality of macroblocks. A plurality of encoding procedures of the groups of the second frame are simultaneously performed to encode the second frame into a plurality of strings of data, and encoded data of the second frame is outputted by the encoder according to the strings of data. Since a plurality of groups of the macroblocks in the second frame are simultaneously encoded, the encoder has a high efficiency of encoding the video stream.