Streaming Media Back Buffer for Low-Latency Seek Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional streaming technologies face issues with re-buffering and latency during seek operations, such as fast forward, rewind, and slow motion, due to the need to refill the buffer from the server, which wastes bandwidth and introduces latency, especially in resource-constrained devices.

Innovation Solution

Implementing a back buffer that retains recently played frames, allowing for seek operations within the buffer without re-downloading data, and configuring the buffer size based on device memory and keyframe positions to enable efficient seeking without re-buffering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the buffer is refilled from the server during seek operations, then the stream can be updated with latest content, but bandwidth is wasted and latency is introduced

Engineering Contradiction:
Improvestream content freshnessVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent pre-loads and stores keyframes and intermediate frames in the client buffer before they are needed during seek operations. By having these frames already available in the buffer, the system can perform seek operations locally without refilling from the server, thus avoiding bandwidth waste while maintaining content freshness for the duration of the buffer validity period

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent differentiates between different types of frames (keyframes and intermediate frames) and handles them differently. Keyframes are stored and validated in the buffer, while intermediate frames are used for smooth playback. This local differentiation allows the system to maintain content freshness for keyframes while using locally stored intermediate frames to avoid server requests during seeking, reducing bandwidth usage

Inventive Principle:
Principle #3Local quality

2Reliability

If the buffer is refilled from the server during seek operations, then the stream can be updated with latest content, but latency is introduced

Engineering Contradiction:
Improvestream content freshnessVSAvoidseek latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary validation and storage of keyframes in the client buffer before seek operations occur. By having keyframes pre-loaded and validated, the system can immediately perform seek operations using locally stored frames without waiting for server responses, thus eliminating seek latency while maintaining content freshness through periodic buffer validation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates local copies of keyframes and intermediate frames in the client buffer. These copies can be used for seek operations without requiring real-time server access. The system validates these copies periodically to ensure they represent fresh content, thus achieving low-latency seeking while maintaining content freshness

Inventive Principle:
Principle #26Copying

3Ease of operation

If a large buffer is maintained to enable seeking, then seek operations can be performed without re-buffering, but device memory is consumed

Engineering Contradiction:
Improveseek capabilityVSAvoidmemory usage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent segments the buffer into different types of frames: keyframes and intermediate frames. Keyframes are stored and validated to ensure content freshness, while intermediate frames are used for smooth playback and seeking. This segmentation allows the system to maintain a functional buffer for seeking operations while using less memory than storing complete high-quality frames, thus balancing seek capability with memory constraints

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies different quality standards to different frame types in the buffer. Keyframes are maintained with full validation to ensure freshness, while intermediate frames can be lower quality or more compressed since they are used primarily for seeking and smooth playback. This local quality differentiation enables seek operations with reduced memory consumption

Inventive Principle:
Principle #3Local quality

4Reliability

If keyframe validation is performed, then content freshness can be ensured, but processing overhead is increased

Engineering Contradiction:
Improvecontent freshness verificationVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates simplified copies of keyframe data that can be validated without requiring complete frame decoding or processing. By validating only essential keyframe metadata and headers rather than full frame content, the system ensures content freshness while minimizing processing overhead and complexity

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system extracts only the essential validation information from keyframes (such as timestamps, frame identifiers, and critical metadata) rather than processing entire frames. This extraction approach allows content freshness verification with minimal processing overhead, maintaining reliability while reducing device complexity

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8060638B1Streaming media seek
Publication Date: 2011.11.15 ADOBE INC
  • US8060638B1 patent drawing
  • US8060638B1 patent drawing
  • US8060638B1 patent drawing

AI summary

Streaming media technology includes a back buffer configured to begin at a stream frame most recently played by the streaming media player. The back buffer continues, for each played frame of the stream, for a length determined by a nominal fill and an offset. In some embodiments, the offset is determined in runtime. In some embodiments the runtime-determined offset is determined by the position of a keyframe in the vicinity of the nominal fill. The keyframe in the vicinity of the nominal fill can be a keyframe next earlier, next later, or nearest in the stream to the location of the nominal fill.