Parallel Intra-Prediction Encoding Using Independent Sections

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video encoding and decoding technologies face challenges in parallelizing intra-prediction processes due to dependencies on neighboring blocks, which restricts the number of macroblocks that can be processed in parallel and necessitates synchronization points, limiting the utilization of GPU processing capability, especially for single-slice bitstreams.

Innovation Solution

The proposed solution involves encoding strategies that allow parallel intra-prediction by selecting sections that can be encoded independently, using methods like Pulse Code Modulation (PCM) or DC mode, to break dependencies on neighboring blocks, enabling efficient processing on GPUs without the need for multiple slices, thereby reducing synchronization points and achieving peak block processing rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If intra-prediction processes are parallelized using conventional methods, then processing speed is improved, but dependencies on neighboring blocks restrict the number of macroblocks that can be processed in parallel and necessitate synchronization points

Engineering Contradiction:
Improveprocessing speedVSAvoidsynchronization points
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the picture into multiple independent sections (e.g., slices or tile groups) that can be processed in parallel without dependencies on neighboring blocks. Each section is encoded independently with its own set of macroblocks, eliminating cross-section dependencies and allowing full parallelization on GPU architectures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary organization of macroblocks into independent processing sections before the actual encoding begins. By pre-structuring the bitstream and processing order to ensure no inter-section dependencies exist, the system enables immediate parallel processing without runtime synchronization requirements.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple slices are used to enable parallel processing, then GPU utilization is improved, but bitstream complexity and overhead increase

Engineering Contradiction:
ImproveGPU utilizationVSAvoidbitstream structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies different processing strategies to different sections of the picture. Each section is optimized for independent parallel processing while maintaining appropriate prediction modes for local characteristics. This allows GPU utilization improvement without requiring complex global bitstream structures, as each section handles its own dependencies locally.

Inventive Principle:
Principle #3Local quality

3Productivity

If intra-prediction is parallelized for decoders, then decoding efficiency is improved, but efficient parallelization is not possible with single-slice bitstreams

Engineering Contradiction:
Improvedecoding efficiencyVSAvoidslice configuration flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic section division strategy that adapts to different bitstream configurations. Whether the input is a single-slice or multi-slice bitstream, the system dynamically organizes macroblocks into independent processing sections suitable for parallel decoding, making the solution versatile across different encoder configurations while maintaining high decoding efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10200716B2Parallel intra-prediction encoding/decoding process utilizing PIPCM and/or PIDC for selected sections
Publication Date: 2019.02.05 SONY INTERACTIVE ENTERTAINMENT LLC
  • US10200716B2 patent drawing
  • US10200716B2 patent drawing
  • US10200716B2 patent drawing

AI summary

Digital pictures may be encoded and decoded in a way that optimizes parallelization. Selected sections of a digital picture in a first list are encoded independently of encoding any of their neighbor sections. Sections in a second list located to the right of corresponding sections in the first list are encoded using at most the section to their immediate left. Sections in a third list located to the right of a corresponding section in the second list and immediately below a corresponding section in the first list are encoded using at most the sections to the immediate left, immediately above and immediately to its above-right. All other sections of the picture may be encoded in a normal manner.