Byte-Range Processing Levels for Low-Latency Media Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current adaptive HTTP streaming protocols using TCP for encapsulated media data, such as ISOBMFF, experience delays due to packet retransmissions, which is undesirable for low-latency applications, and unreliable protocols like UDP or QUIC extensions may lead to client failures during streaming.

Innovation Solution

A method for transmitting encapsulated media data that identifies and sends byte-ranges with associated processing levels, allowing for streaming partial media segments over HTTP without inspecting media format or packets, enabling the server to decide what to send first and the client to prioritize data retransmission based on importance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TCP protocol is used for transmitting encapsulated media data, then reliability is improved, but latency increases due to packet retransmissions

Engineering Contradiction:
Improvetransmission reliabilityVSAvoidstreaming latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The media data is divided into byte-range segments with different processing levels. The server can transmit high-priority byte ranges first and skip low-priority ones, enabling partial playback without waiting for retransmissions of all packets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client can process and play back media data from received byte ranges even if not all packets are successfully transmitted. This partial action approach allows playback to proceed with available data rather than waiting for complete reliable delivery.

Inventive Principle:
Principle #16Partial or excessive action

2Loss of time

If unreliable protocols like UDP or QUIC are used for transmitting encapsulated media data, then latency is reduced, but reliability deteriorates leading to client failures

Engineering Contradiction:
Improvestreaming latencyVSAvoidstreaming reliability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

Different byte ranges are assigned different processing levels indicating their relative importance. High-priority byte ranges contain essential data for playback, while low-priority ranges contain supplementary data. This local differentiation allows the system to tolerate losses in low-priority regions.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The processing level map is transmitted beforehand to the client, providing advance information about the importance of each byte range. This allows the client to prepare for potential losses and know which data is critical and which can be recovered or skipped.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Productivity

If the server inspects media format and packets to determine transmission priority, then transmission optimization is improved, but device complexity increases

Engineering Contradiction:
Improvetransmission optimizationVSAvoidserver complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processing level map is generated and associated with the media data before transmission begins. This preliminary organization of data by importance allows the server to simply follow the pre-determined priority information without performing complex inspections during transmission.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11805302B2Method, device, and computer program for transmitting portions of encapsulated media content
Publication Date: 2023.10.31 CANON KK
  • US11805302B2 patent drawing
  • US11805302B2 patent drawing
  • US11805302B2 patent drawing

AI summary

According to embodiments, the invention provides a method for transmitting encapsulated media data from a server to a client, the media data being requested by the client, the method being carried out by the server and comprising: —identifying at least one byte-range of the encapsulated media data to be transmitted, the at least one byte-range representing a portion of the encapsulated media data; —obtaining a processing level of the at least one identified byte-range, the processing level being indicative of the role of data contained in the at least one identified byte-range for processing the encapsulated media data; and—sending the at least one identified byte-range and an item of information determined as a function of the obtained processing level to the client.