Moving-Window Codebook Encoding for Low-Latency Media Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based digital media storage systems face significant challenges in managing encoding latency, which leads to operational inefficiencies and undesirable user experiences due to the need for real-time processing and storage of large digital media files, particularly in applications like DVR services where immediate access and playback are expected.

Innovation Solution

The implementation of a 'moving window' codebook training and encoding approach, where codebooks are trained and employed in real-time as digital assets are received, allowing for immediate encoding and storage with minimal delay, using a bootstrap codebook for initial portions and progressively training new codebooks for subsequent portions, thereby reducing latency and optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If codebook training is performed before encoding the entire digital asset, then encoding quality is improved, but encoding latency increases

Engineering Contradiction:
Improveencoding qualityVSAvoidencoding latency
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent divides the digital asset into multiple portions and trains codebooks incrementally for each portion rather than training a single codebook for the entire asset beforehand. This segmentation allows encoding to begin earlier with available codebooks while continuing to improve quality as more codebooks are trained, thus reducing latency while maintaining encoding quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary codebook training on initial portions of the digital asset before the entire asset is received. These pre-trained codebooks are then available to start encoding subsequent portions immediately, eliminating the need to wait for complete asset reception and full codebook training before beginning encoding, thereby reducing encoding latency.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If the entire digital asset is received before encoding, then complete asset encoding quality is improved, but playback latency increases

Engineering Contradiction:
Improveencoding qualityVSAvoidplayback latency
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent segments the digital asset into multiple portions that can be processed independently. Each portion is encoded with codebooks trained on that specific portion, allowing incremental encoding and storage as portions are received, enabling earlier playback without compromising overall encoding quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent maintains continuous encoding operations by training codebooks on received portions and immediately encoding subsequent portions without interruption. This continuous process ensures that encoding quality is maintained throughout while minimizing delays, enabling near real-time playback.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of time

If codebooks are trained on received portions in real-time, then encoding latency is reduced, but processing resource demands increase

Engineering Contradiction:
Improveencoding latencyVSAvoidprocessing resource demands
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent divides the codebook training process into smaller segments corresponding to different portions of the digital asset. This allows training to occur incrementally on available portions rather than requiring all resources simultaneously for complete asset training, reducing peak processing demands while maintaining low encoding latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs partial codebook training on initial portions of the digital asset before the entire asset is received, using available data to create functional codebooks. This partial action enables encoding to begin with sufficient quality while distributing processing demands over time rather than concentrating them all at once.

Inventive Principle:
Principle #16Partial or excessive action

4Quantity of substance

If compression is applied to reduce storage requirements, then storage capacity is optimized, but encoding complexity increases

Engineering Contradiction:
Improvestorage capacityVSAvoidencoding complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies compression through codebook training on segmented portions of the digital asset rather than attempting to compress the entire asset at once. This segmentation simplifies the encoding process by breaking down the complex task into manageable portions while achieving cumulative compression effects that optimize storage capacity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11120363B2Latency mitigation for encoding data
Publication Date: 2021.09.14 ADOBE INC
  • US11120363B2 patent drawing
  • US11120363B2 patent drawing
  • US11120363B2 patent drawing

AI summary

Embodiments of the present disclosure provide systems, methods, and computer storage media for mitigating latencies associated with the encoding of digital assets. Instead of waiting for codebook generation to complete in order to encode a digital asset for storage, embodiments described herein describe a shifting codebook generation and employment technique that significantly mitigates any latencies typically associated with encoding schemes. As a digital asset is received, a single codebook is trained based on each portion of the digital asset, or in some instances along with each portion of other digital assets being received. The single codebook is employed to encode subsequent portion(s) of the digital asset as it is received. The process continues until an end of the digital asset is reached or another command to terminate the encoding process is received. To encode an initial portion of the digital asset, a bootstrap codebook can be employed.