Category-Prefixed Data Batching for Low-Latency Video Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video codec standards face challenges in reducing latency for real-time applications like video conferencing, as existing approaches to splitting encoding and decoding tasks can introduce more latency than is tolerable, impacting user experience.

Innovation Solution

The implementation of category-prefixed data batching (CPDB) for entropy-coded data, which facilitates parallel processing by organizing data into batches with category identifiers and data quantity indicators, allowing for efficient encoding and decoding across multiple categories.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If encoding and decoding tasks are split up to utilize computational power, then resource utilization improves, but latency increases

Engineering Contradiction:
Improveresource utilizationVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the encoded bitstream into multiple categories (e.g., intra-coded blocks, inter-coded blocks, transform coefficients, motion vectors) and processes each category independently through separate decoding units. This segmentation enables parallel processing of different data types simultaneously, improving resource utilization while maintaining low latency because each segment can be decoded independently without waiting for other segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a categorical dimension to the decoding process by organizing data into multiple independent categories. Instead of processing a single sequential stream, the system creates parallel processing paths for different data categories, effectively adding a dimensional aspect to the decoding architecture that enables simultaneous execution of multiple decoding operations.

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

2Speed

If parallel processing is implemented to reduce latency, then processing speed improves, but system complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the decoding system into multiple independent decoding units, each responsible for a specific data category. This segmentation reduces the processing load on each individual unit and enables parallel execution, improving overall processing speed while keeping each decoder relatively simple in structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal decoding framework where multiple decoding units operate under a common architecture and data format. Each decoder unit can handle its specific category using the same basic decoding mechanisms, reducing overall system complexity through reuse of proven components while still achieving parallel processing capabilities.

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

Data Source

PatentUS10489426B2Category-prefixed data batching of coded media data in multiple categories
Publication Date: 2019.11.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10489426B2 patent drawing
  • US10489426B2 patent drawing
  • US10489426B2 patent drawing

AI summary

Innovations for category-prefixed data batching (“CPDB”) of entropy-coded data or other payload data for coded media data, as well as innovations for corresponding recovery of the entropy-coded data (or other payload data) formatted with CPDB. The CPDB can be used in conjunction with coding/decoding for video content, image content, audio content or another type of content. For example, after receiving coded media data in multiple categories from encoding units, a formatting tool formats payload data with CPDB, generating a batch prefix for a batch of the CPDB-formatted payload data. The batch prefix includes a category identifier and a data quantity indicator. The formatting tool outputs the CPDB-formatted payload data to a bitstream. At the decoder side, a formatting tool receives the CPDB-formatted payload data in a bitstream, recovers the payload data from the CPDB-formatted payload data, and outputs the payload data (e.g., to decoding units).