Media Playback Buffer Manager for Streaming Quality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing media presentation systems face challenges in maintaining high-quality playback due to fluctuating network bandwidth, leading to interruptions and reduced quality, as they rely on CDN delivery and adaptive bitrate streaming, which can result in delayed trick-mode features and inconsistent ad insertion.

Innovation Solution

A helper process on the media playing device anticipates and stores streaming files in persistent storage, managing requests to ensure continuous high-quality playback by switching between locally stored and CDN-sourced files based on network conditions, and optimizing ad delivery through pre-caching and manifest manipulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If adaptive bitrate streaming is used to deliver media items from CDN, then network bandwidth utilization is improved, but playback quality and smoothness deteriorate due to fluctuating bandwidth and delayed file delivery

Engineering Contradiction:
Improvenetwork bandwidth utilizationVSAvoidplayback quality and smoothness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system pre-loads media segment files into local buffer memory before they are needed for playback. The buffer manager proactively requests and stores multiple ahead-of-time segments, ensuring high-quality files are available locally even when network conditions deteriorate, thus maintaining playback smoothness and quality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A local buffer memory acts as an intermediary between the CDN and the media player. Instead of directly streaming from CDN to player, files are first stored in local buffer, decoupling the playback quality from network fluctuations. The buffer manager mediates between network availability and player requirements, serving high-quality pre-cached files during network instability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If high-quality streaming files are delivered from CDN, then presentation quality is improved, but network bandwidth consumption increases and delivery time increases under poor network conditions

Engineering Contradiction:
Improvepresentation qualityVSAvoiddelivery time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

High-quality media segment files are pre-loaded into local buffer memory in advance of playback needs. By proactively caching files before network conditions worsen or playback is required, the system ensures high-quality delivery without real-time network dependency, eliminating delivery time delays under poor network conditions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer manager dynamically adjusts file pre-loading behavior based on current network conditions and playback state. When network bandwidth is充足, it pre-loads high-quality files; when network conditions deteriorate or playback is actively occurring, it prioritizes serving cached files over new downloads, optimizing the balance between quality and delivery timing.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If a small buffer in short-term memory is used, then device memory usage is reduced, but playback interruptions occur when network bandwidth is insufficient

Engineering Contradiction:
Improvememory usageVSAvoidplayback continuity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system pre-loads multiple media segment files into the limited buffer memory before they are needed for playback. By proactively caching ahead-of-time segments (e.g., pre-loading 5-10 seconds of content), the small buffer can sustain playback through network interruptions or bandwidth fluctuations, preventing playback interruptions despite limited memory capacity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer manager continuously monitors playback progress and proactively refills the buffer with upcoming segments during playback. This continuous pre-loading ensures the buffer remains populated with sufficient content to maintain uninterrupted playback, even with small buffer size, by constantly anticipating and preparing for future playback needs.

Inventive Principle:
Principle #20Continuity of useful action

4Adaptability or versatility

If trick-mode features are implemented during media playback, then user interaction capability is improved, but delivery delay increases due to CDN request-response time

Engineering Contradiction:
Improveuser interaction capabilityVSAvoidtrick-mode delivery delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Multiple media segment files are pre-loaded into local buffer memory in advance of user trick-mode requests. When users request rewind, fast-forward, or pause functions, the required segments are already cached locally, enabling immediate response without waiting for CDN retrieval. This pre-caching strategy provides responsive trick-mode features even under poor network conditions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The local buffer acts as an intermediary that enables trick-mode operations independently of real-time network connectivity. Instead of requiring immediate CDN access for seek operations, the buffer provides local access to previously loaded segments, mediating between user interaction requests and network availability, thus eliminating trick-mode delivery delays.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11910071B2Presenting media items on a playing device
Publication Date: 2024.02.20 PENTHERA PARTNERS INC
  • US11910071B2 patent drawing
  • US11910071B2 patent drawing
  • US11910071B2 patent drawing

AI summary

In general, in an aspect, versions of representations of segments of a media item are received and temporarily stored on a media playing device. The segments have a sequence. The temporarily stored versions are used in sequence to present at least part of the media item to a user. One or more other versions of representations of segments of the media item are also received and persistently stored on the media playing device. The one or more persistently stored other versions are used to enhance the presentation of at least part of the media item to the user.