Stream Synchronization via Random Access Point Transcoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods fail to synchronize the processing of a second stream with a first stream in a seamless manner, particularly in scenarios like Virtual Reality video streaming, due to delays in decoding and lack of independent decodability of stream frames, which results in noticeable switching latency.
Innovation Solution
A method involving buffering the second stream, receiving a request for streaming a content part at a specific time point, transcoding it to create a random access point closer to the desired time, and streaming the transcoded version to the client device, allowing for synchronized processing with the first stream.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the second stream is streamed directly without transcoding to create a random access point, then the streaming speed is maintained, but the switching latency increases and processing synchronization is compromised
Solution Approach 1:
The system performs preliminary transcoding to create random access points (I-frames) at predetermined positions in the second stream before the actual stream switching occurs. This advance preparation allows the client device to immediately decode and process the stream from the desired time point without waiting for decoding dependencies, thereby reducing switching latency while managing complexity through pre-planned transcoding positions
2Reliability
If the second stream is buffered completely before streaming, then processing synchronization is improved, but the loss of time increases due to waiting for buffering
Solution Approach 1:
Instead of buffering the entire second stream before streaming, the system buffers only the necessary portion of the stream up to the random access point that corresponds to the desired time point. This partial buffering approach maintains processing synchronization by ensuring the required data is available while minimizing the buffering wait time by not unnecessarily waiting for the complete stream
3Loss of time
If random access points are created frequently in the second stream, then processing can start closer to the desired time point, but the device complexity and processing overhead increase
Solution Approach 1:
The system creates random access points at specific local positions in the second stream that are strategically chosen to correspond to the desired time point for processing. Rather than uniformly distributing random access points throughout the stream, the transcoding focuses on creating I-frames at locally optimal positions that enable immediate processing at the needed time, thereby reducing the time to start processing while minimizing overall transcoding overhead
Data Source
AI summary
A client device is facilitated to synchronize streaming and processing a second stream to streaming and processing a first stream. Both streams may share a common content timeline. The second stream may be buffered in a data storage. A request for streaming a content part of the second stream may be received. The request may be indicative of a selected time point on the common content timeline from which point onwards the second stream is to be processed. The second stream may then be transcoded to obtain a transcoded second stream. The transcoding may create a random access point in the transcoded second stream from which point onwards the client device is able to decode the transcoded second stream, wherein the random access point is nearer in time to the selected time point than any random access point of the second stream. The transcoded second stream may then be streamed to the client device instead of the non-transcoded second stream, thereby providing the client device with direct access to a part, such as a frame, of said second stream.


