Live Video Encoding Synchronization via Time Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding systems face challenges in maintaining frame accuracy and scalability when encoding live video streams, particularly in adaptive streaming, due to variations in consumer broadband internet speeds and the need for seamless switching between different bit rates, which is complicated by the lack of a single capture system and the impracticality of handling uncompressed video feeds.
Innovation Solution
A system and method that allow multiple live encoding subsystems to start asynchronously while maintaining frame-accurate and time-based associations, using synchronized encode frame timestamps generated based on time codes, allowing for GOP alignment and efficient switching between streams, even after system failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple encoding systems are used to provide scalability and redundancy, then system robustness and adaptability improve, but maintaining frame-accurate synchronization between systems becomes more difficult
Solution Approach 1:
The patent introduces a common time code signal as an intermediary reference that all encoding systems synchronize to. This time code acts as a mediator that coordinates frame timing across multiple independent encoding systems, allowing them to maintain frame-accurate synchronization without requiring direct communication or complex coordination protocols between the systems themselves.
Solution Approach 2:
The patent establishes frame-accurate relationships between encoding systems in advance by synchronizing to a common time code before encoding begins. This preliminary synchronization ensures that when switching between streams occurs, the frame-accurate relationship is already established, eliminating the need for complex real-time coordination during playback.
2Ease of operation
If seamless switching between bit rate streams is enabled, then viewing experience quality improves, but the complexity of maintaining frame-accurate relationships between streams increases
Solution Approach 1:
The common time code serves as an intermediary reference that simplifies the switching process. By having all streams reference the same time code, the delivery system can determine the correct frame in each stream based on the current time code value, enabling seamless switching without complex frame-by-frame synchronization logic.
Solution Approach 2:
The time code mechanism serves multiple functions simultaneously: it provides timing information for frame display, establishes frame-accurate relationships between different bit rate streams, and enables seamless switching. This multi-functionality reduces the need for separate synchronization mechanisms for each purpose.
3Device complexity
If a single capture system is used to ensure frame-accurate relationships, then synchronization simplicity improves, but system robustness and scalability are reduced
Solution Approach 1:
The patent segments the capture function across multiple independent encoding systems, each capable of independently encoding the live video signal at different bit rates. Despite this segmentation, frame-accurate relationships are maintained through synchronization to a common time code, allowing the system to scale by adding or removing encoding systems as needed.
Solution Approach 2:
The common time code acts as an intermediary that coordinates the segmented encoding systems. Each system independently synchronizes to the time code rather than relying on a single capture system, enabling both scalability and frame-accurate synchronization.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
Methods of encoding a live video signal in a video encoding system including a plurality of video capture and encoding subsystems include providing the live video signal and an associated time code signal to the plurality of video capture and encoding subsystems, starting video capture and encoding in a first one of the subsystems at a first frame of the live video signal, starting video capture and encoding in a second one of the subsystems at a second frame of the live video signal that is later than the first frame, generating encode frame timestamps for the second frame in both the first and second video capture and encoding subsystems that are synchronized across the first and second subsystems, and associating the encode frame timestamp with the second frame in both the first and second subsystems. Related systems are also disclosed.