Byte-Range Processing Levels for Low-Latency Media Streaming
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If TCP protocol is used for transmitting encapsulated media data, then reliability is improved, but latency increases due to packet retransmissions
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.
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.
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
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.
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.
3Productivity
If the server inspects media format and packets to determine transmission priority, then transmission optimization is improved, but device complexity increases
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.
Data Source
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.


