Adaptive Buffer Injection for Playback Continuity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for playing back Moving Picture Experts Group (MPEG) or Digital Broadcast System (DBS) transport streams struggle to maintain optimal buffer levels during playback, leading to potential data loss due to overflow or underflow, which interrupts the playback experience.

Innovation Solution

An adaptive transport injection method and apparatus that manages buffer fullness by dynamically adjusting the data injection size based on the smallest available space in the buffer, ensuring that data is injected at the right time to prevent overflow and underflow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is continuously injected into the buffer during playback, then the buffer remains full and playback can proceed without underflow interruptions, but the buffer may overflow and cause data loss

Engineering Contradiction:
Improveplayback continuityVSAvoiddata loss
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The system dynamically adjusts the data injection rate based on real-time buffer status. The playback manager continuously monitors buffer fullness and adapts the injection rate accordingly - increasing injection when buffer level is low and decreasing or pausing injection when buffer is nearly full, thereby preventing both underflow and overflow conditions

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements a feedback mechanism where the playback manager monitors the buffer fullness level and uses this information to control the data injection process. The buffer status feedback loop enables the system to automatically adjust injection rates to maintain optimal buffer levels, preventing data loss while ensuring continuous playback

Inventive Principle:
Principle #23Feedback

2Productivity

If data injection rate is increased to prevent buffer underflow, then playback continuity is improved, but buffer overflow risk increases causing data loss

Engineering Contradiction:
Improvedata injection rateVSAvoiddata loss
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The injection rate is made dynamic rather than fixed. The playback manager adjusts the data injection rate in real-time based on buffer fullness monitoring, enabling the system to optimize productivity by injecting data at higher rates when buffer has capacity while preventing data loss by reducing injection rate when buffer is nearly full

Inventive Principle:
Principle #15Dynamics

3Device complexity

If fixed buffer management is used during playback, then system complexity is reduced, but buffer overflow or underflow occurs interrupting playback

Engineering Contradiction:
Improvebuffer management complexityVSAvoidplayback continuity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The buffer management system is self-regulating through automatic monitoring and adjustment. The playback manager autonomously monitors buffer fullness and adjusts data injection without requiring external intervention or complex manual control mechanisms, achieving reliable playback continuity while keeping the control logic relatively simple

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9432729B2Method and apparatus for adaptive transport injection for playback
Publication Date: 2016.08.30 HELIOS STREAMING LLC
  • US9432729B2 patent drawing
  • US9432729B2 patent drawing
  • US9432729B2 patent drawing

AI summary

There are provided a method and apparatus for adaptive transport injection for playback. The apparatus includes a playback manager for managing at least one buffer to maintain a fullness of the at least one buffer for a data playback by adapting a data injection size, relating an amount of data injected at a given time into the at least one buffer, to smallest available space in the at least one buffer.