SYSTEM AND METHOD FOR SYNCHRONIZED DATA PLAYBACK AND AIRCRAFT
20230396813 · 2023-12-07
Inventors
Cpc classification
H04N21/4305
ELECTRICITY
B64D11/00155
PERFORMING OPERATIONS; TRANSPORTING
H04N21/47217
ELECTRICITY
International classification
H04N21/214
ELECTRICITY
H04N21/472
ELECTRICITY
H04N21/43
ELECTRICITY
Abstract
A system for synchronized data playback comprising at least one offset calculation device; and a plurality of clients; wherein the plurality of clients are each synchronized to a shared reference timeframe, each of the plurality of clients is configured to receive a common set of timestamped data frames, the offset calculation device is configured to determine a synchronized playback time for each of the common set of timestamped data frames with respect to the shared reference timeframe; and each of the plurality of clients is configured to playback each of the common set of timestamped data frames at the respective determined playback time.
Claims
1. A system for synchronized data playback comprising: at least one offset calculation device; and a plurality of clients; wherein the plurality of clients are each synchronized to a shared reference timeframe, wherein each of the plurality of clients is configured to receive a common set of timestamped data frames, wherein the offset calculation device is configured to determine a synchronized playback time for each of the common set of timestamped data frames with respect to the shared reference timeframe; and wherein each of the plurality of clients is configured to playback each of the common set of timestamped data frames at the respective determined playback time.
2. The system according to claim 1, further comprising a reference clock configured to provide the shared reference timeframe to each of the plurality of clients.
3. The system according to claim 1, further comprising a server configured to provide the common set of timestamped data frames to each of the plurality of clients.
4. The system according to claim 3, wherein the server comprises at least one offset calculation device.
5. The system according to claim 1, wherein each of the plurality of clients comprises one of the at least one offset calculation device.
6. The system according to claim 1, wherein each of the plurality of clients comprises a synchronization buffer configured to store at least one of the common set of data frames until the respective determined playback time.
7. The system according to claim 1, further comprising a plurality of decoders, wherein each of the plurality of decoders is associated with one of the plurality of clients, and wherein each of the plurality of clients is configured to control a speed at which the decoder associated with each respective client processes the common set of data frames.
8. A method for synchronized data playback, comprising the steps of: providing a shared synchronized timeframe to a plurality of clients; receiving a common set of timestamped data frames at each of the plurality of clients; determining a synchronized playback time for each of the timestamped data with respect to the shared synchronized timeframe by an offset calculation device; playing back each of the common set of timestamped data frames at the determined synchronized playback time by each of the plurality of clients.
9. The method according to claim 8, wherein the shared synchronized timeframe is provided by a reference clock.
10. The method according to claim 8, wherein the common set of timestamped data frames are provided to each of the plurality of clients by a server.
11. The method according to claim 10, wherein the server comprises at least one offset calculation device.
12. The method according to claim 8, wherein each of the plurality of clients comprises one of the at least one offset calculation device.
13. The method according to claim 8, further comprising a storing of at least one of the common set of data frames until the respective determined playback time in a synchronization buffer of each of the plurality of clients.
14. The method according to claim 8, further comprising each of the plurality of clients controlling a speed at which a decoder associated with each respective client processes the common set of data frames.
15. An aircraft comprising a system according to claim 1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The present invention is explained in more detail below with reference to the embodiments shown in the schematic figures.
[0021]
[0022]
[0023]
[0024]
[0025] The accompanying figures are intended to provide a further understanding of embodiments of the invention. They illustrate embodiments and, in connection with the description, serve to explain principles and concepts of the invention. Other embodiments and many of the advantages mentioned will be apparent with reference to the drawings. The elements of the drawings are not necessarily shown to scale with respect to each other.
[0026] In the figures of the drawings, identical elements, features and components that have the same function and the same effect are each given the same reference signs, unless otherwise specified.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0027]
[0028] The clients 120a and 120b are each synchronized to a shared reference timeframe. The clients 120a and 120b are further configured to receive a common set of timestamped data frames. The offset calculation device 110 is configured to determine a synchronized playback time for each of the common set of timestamped data frames with respect to the shared reference timeframe. The clients 120a and 120b are further configured to playback each of the common set of timestamped data frames at the respective determined playback time.
[0029] One way of determining the synchronized playback time is to calculate an offset between the timeframe in which the data frames are stamped and the synchronized timeframe and then to set a time delay for the data playback which is equal to or greater than the offset between the two timeframes. This offset between the two timeframes can be calculated if both a relative clock drift, which can arise if the respective clocks run at different speeds, and an offset at an initial point in time are known. If there is no relative clock drift, this offset remains constant for all frames. If a relative clock drift exists, it can be necessary to determine an individual offset for each data frame.
[0030]
[0031] The features of the system 100 shown in
[0032] As shown in
[0033] The server 140 might comprise an encoder for transforming a data stream, which could be either a live feed or stored on a storage medium, into the common set of timestamped data frames. Alternatively, the common set of timestamped data frames might be provided to the server 140, which then distributes the set to each of the plurality of clients 120. The server 140 might comprise a storage medium to store the original data stream and/or the common set of timestamped data frames.
[0034]
[0035] The synchronization buffer 121 is configured to store at least one of the common set of data frames until the respective determined playback time. The decoder 150 is associated with the client 120, and the client is configured to control a speed at which the decoder 150 processes the common set of data frames.
[0036] The client 120 passes the common set of data frames along to the decoder 150 for further processing in such a way that the data frames are played back at the determined synchronized playback time.
[0037] Through increasing or decreasing the speed at which the decoder 150 processes the data frames and/or by discarding data frames from the synchronization buffer 121 instead of passing them along to the decoder 150, synchronicity between clients can be restored if one or more of the plurality of clients 120 start lagging behind the others.
[0038] In an alternative embodiment, the client 120 may comprise the decoder 150. In a different alternative embodiment, the system 100 might not comprise a decoder 150, but the client 120 might be associated with a decoder of a different device, and be able to control the decoder in the way described above.
[0039]
[0040]
[0041] Throughout the application, reference has been made to a common set of timestamped data frames. It should be understood that for the present invention to be performed, it is not actually necessary that each and every one of the common set of data frames be timestamped. It can suffice that at least one of the data frames be timestamped, if the relation between the data frames allows for the time associated with each data frame in the timeframe of the timestamps to be determined, e.g., if the data frames are numbered and the time duration for each data frame is known. In this way, it can suffice to timestamp a single, initial data frame, to timestamp data frames at set intervals, or even to timestamp random data frames. All these scenarios are explicitly part of the present invention.
[0042] Throughout the application, reference has been made to “a common set of data frames”. In general, this can be understood to mean that every client receives the exact same data frames. However, as has been mentioned, there may be cases where different clients receive different data frames, which should nevertheless be played back in synchronicity, i.e., such that the total sum of all frames played back by all clients leads to the desired outcome. Such cases are to be explicitly incorporated into the present invention and in these cases the term “common set of data frames” is to be understood that all the frames received by all clients come from a common set, even though different clients may receive different data frames.
[0043] While at least one exemplary embodiment of the present invention(s) is disclosed herein, it should be understood that modifications, substitutions and alternatives may be apparent to one of ordinary skill in the art and can be made without departing from the scope of this disclosure. This disclosure is intended to cover any adaptations or variations of the exemplary embodiment(s). In addition, in this disclosure, the terms “comprise” or “comprising” do not exclude other elements or steps, the terms “a” or “one” do not exclude a plural number, and the term “or” means either or both. Furthermore, characteristics or steps which have been described may also be used in combination with other characteristics or steps and in any order unless the disclosure or context suggests otherwise. This disclosure hereby incorporates by reference the complete disclosure of any patent or application from which it claims benefit or priority.
LIST OF REFERENCE SIGNS
[0044] 100 system [0045] 110 offset calculation device [0046] 120 client [0047] 120a client [0048] 120b client [0049] 121 synchronization buffer [0050] 130 reference clock [0051] 140 server [0052] 150 decoder [0053] M method [0054] M1 step of providing a shared reference timeframe [0055] M2 step of receiving data frames [0056] M3 step of determining synchronized playback time [0057] M4 step of playing back data frames [0058] M5 step of storing data frames [0059] M6 step of controlling speed of data processing