Block-Request Streaming via URL Templates and Dynamic Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current media streaming systems face challenges in providing uninterrupted playback and efficient bandwidth utilization due to decoupling of media data delivery and playout, leading to issues like buffering, storage resource consumption, and the need for complex network architectures.

Innovation Solution

A block-request streaming system that uses HTTP streaming with segment-based media delivery, where clients request and play media segments dynamically based on available bandwidth, utilizing FEC codes for error correction and intelligent client procedures to manage buffer occupancy and network measurements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If media data is downloaded far in advance of playout to ensure availability, then playout continuity is improved, but storage resources and network resources are consumed excessively

Engineering Contradiction:
Improveplayout continuityVSAvoidstorage resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments media content into discrete blocks that can be independently requested and delivered. This allows the client to request only the specific blocks needed for upcoming playout rather than downloading entire media files in advance, significantly reducing storage requirements while maintaining playout continuity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts block requests based on real-time buffer occupancy, network conditions, and playout timing. The client continuously monitors these parameters and adapts its requesting strategy, requesting blocks closer to playout time when buffer conditions permit, thereby reducing advance downloads and storage needs.

Inventive Principle:
Principle #15Dynamics

2Reliability

If media data is downloaded far in advance of playout to ensure availability, then playout continuity is improved, but network resources are consumed excessively

Engineering Contradiction:
Improveplayout continuityVSAvoidnetwork resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

By segmenting media into blocks and using selective block requesting, the system downloads only the specific blocks needed for imminent playout rather than pre-downloading entire media files. This dramatically reduces network resource consumption while ensuring continuity by maintaining an adequate buffer of requested blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client autonomously manages block requests based on its own buffer state and playout schedule, requesting blocks only when needed and at the optimal time. This self-regulating mechanism prevents wasteful network usage by avoiding downloads of blocks that are not yet required for playout.

Inventive Principle:
Principle #25Self-service

3Reliability

If tight coupling between delivery timing and playout timing is implemented, then playout continuity is improved, but system complexity increases

Engineering Contradiction:
Improveplayout continuityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a block buffer as an intermediary between the media delivery system and the playout system. This buffer decouples the tight timing coupling while maintaining continuity, as it absorbs timing variations and allows flexible block requesting without directly impacting playout timing. The buffer acts as a shock absorber that simplifies the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Quantity of substance

If block requests are made closer to playout time to reduce storage needs, then storage efficiency is improved, but risk of buffering and playout interruption increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidplayout continuity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system dynamically adjusts the timing and quantity of block requests based on real-time buffer occupancy levels, network conditions, and playout schedule. When buffer occupancy is sufficient, requests are made closer to playout time to minimize storage needs. When buffer levels drop or network conditions deteriorate, the system proactively requests additional blocks earlier, preventing buffering and maintaining continuity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The client continuously monitors buffer occupancy, network throughput, and block delivery timing, using this feedback to adaptively adjust its block requesting strategy. This closed-loop control ensures that blocks are requested at optimal times that balance storage efficiency with playout continuity, preventing both excessive storage usage and buffering interruptions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2481195B1Enhanced block-request streaming using URL templates and construction rules
Publication Date: 2019.10.30 QUALCOMM INC
  • EP2481195B1 patent drawingFigure 1
  • EP2481195B1 patent drawingFigure 2
  • EP2481195B1 patent drawingFigure 3

AI summary

A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server, which might include a cache. A client device can be adapted to take advantage of the ingestion process as well as improvements that make for a better presentation independent of the ingestion process. The client devices and ingestion system can be coordinated to have a predefined mapping and template for making block requests to HTTP file names that a conventional file server can accept through the use of URL construction rules. Segment size might be specified in an approximate manner for more efficient organization.