CN116996460A - Data transmitting apparatus, data receiving apparatus, data transmitting method, and data transmitting system - Google Patents

Data transmitting apparatus, data receiving apparatus, data transmitting method, and data transmitting system Download PDF

Info

Publication number
CN116996460A
CN116996460A CN202210451952.XA CN202210451952A CN116996460A CN 116996460 A CN116996460 A CN 116996460A CN 202210451952 A CN202210451952 A CN 202210451952A CN 116996460 A CN116996460 A CN 116996460A
Authority
CN
China
Prior art keywords
data
data packets
clock
data frame
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210451952.XA
Other languages
Chinese (zh)
Inventor
高林
韩云锋
岳华伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210451952.XA priority Critical patent/CN116996460A/en
Priority to PCT/CN2022/134820 priority patent/WO2023207067A1/en
Publication of CN116996460A publication Critical patent/CN116996460A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

The embodiment of the application provides a data sending device, a receiving device, a transmission method and a transmission system, which are used for transmitting data to the data receiving device through a data frame in a synchronous link; the data carries a data clock and the synchronous link has a link clock. The data transmission device comprises a first controller and a first communication interface. The first controller is used for: controlling a first communication interface, and transmitting data to a data receiving device in a data frame form in a preset time; acquiring a count value of a link clock and a count value of a data clock in preset time, and obtaining a clock count difference value according to a difference value between a count value variation of the link clock and a count value variation of the data clock in the preset time; and controlling the first communication interface to adjust the number of data packets transmitted by the data frame according to the clock count difference value, and sending indication information to the data receiving device, wherein the indication information is used for indicating the number of the data packets transmitted on the data frame to be adjusted.

Description

Data transmitting apparatus, data receiving apparatus, data transmitting method, and data transmitting system
Technical Field
The present application relates to the field of synchronous data transmission technologies, and in particular, to a data transmitting apparatus, a data receiving apparatus, a data transmitting method, and a data transmitting system.
Background
Synchronous transmission is the transmission of data in real time over synchronous links based on the same clock beat.
When the synchronous link is used for synchronous transmission of data carrying a data clock, synchronous transmission deviation is generated because the data clock and the link clock of the synchronous link do not belong to the same clock domain, the quality of the data synchronously transmitted in real time is greatly reduced, and the synchronous transmission deviation is accumulated more and more along with time.
Disclosure of Invention
The embodiment of the application provides a data sending device, a receiving device, a transmission method and a transmission system, which are used for solving the problem that a data clock of data and a link clock of a synchronous link generate synchronous transmission deviation during synchronous transmission.
In order to achieve the above purpose, the embodiment of the present application adopts the following technical scheme:
in a first aspect, a data transmitting apparatus is provided for transmitting data to a data receiving apparatus over a data frame in a synchronous link; the data carries a data clock, and the synchronous link is provided with a link clock; the data transmission device includes: a first controller and a first communication interface; the first controller is used for: controlling a first communication interface, and transmitting data to a data receiving device in a data frame form in a preset time; acquiring a count value of a link clock and a count value of a data clock in preset time; calculating a clock count difference; the clock count difference is the difference between the count value variation of the link clock and the count value variation of the data clock in preset time; and controlling the first communication interface to adjust the number of data packets transmitted by the data frame according to the clock count difference value, and sending indication information to the data receiving device, wherein the indication information is used for indicating the number of the data packets transmitted on the data frame to be adjusted.
According to the data transmitting device provided by the embodiment of the application, the clock count difference is calculated by respectively acquiring the count value of the data clock of the data and the count value of the link clock of the synchronous link, the deviation between the data clock and the link clock is calculated by the clock count difference, the number of data packets in a single data frame on the synchronous link is adjusted according to the calculated deviation, and the indication information is transmitted to the data receiving device. By the arrangement, accurate measurement of deviation between the data clock of the data in synchronous wireless transmission and the link clock of the synchronous link is realized, and the data packet is adjusted according to the measurement result, so that errors generated in the process of receiving the data packet by the data receiving device due to the deviation are avoided, and finally the quality of the transmitted data is influenced.
In one possible embodiment, the indication information includes adjustment direction information; the adjustment direction information indicates to increase the number of data packets transmitted in the data frame; alternatively, the adjustment direction information indicates to reduce the number of data packets transmitted in the data frame. In the present embodiment, whether the number of data packets is increased or decreased in the data frame to which the data receiving apparatus is adjusted is indicated by the adjustment direction information. The data receiving device correspondingly adjusts and analyzes the quantity of data packets transmitted in the data frame according to the adjustment direction information.
In a possible embodiment, the indication information further comprises adjustment quantity information; when the adjustment direction information indicates to increase the number of data packets transmitted in the data frame, the adjustment amount information is the increased number of data packets transmitted in the data frame. Alternatively, when the adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, the adjustment amount information is the reduced number of data packets transmitted in the data frame. The data receiving device may increase the number of parsed data packets or decrease the number of parsed data packets according to a preset number after receiving the indication information. In this embodiment, the data transmitting apparatus may include the adjustment amount information, which is the amount of the data packets actually adjusted, in the instruction information, and transmit the adjustment amount information to the data receiving apparatus, and then the data receiving apparatus may adjust the amount of the data packets analyzed according to the adjustment amount information included in the received instruction information.
In a possible embodiment, the indication information further comprises an adjustment time point; the adjusting time point is used for indicating the time point of increasing or decreasing the number of the data packets on the data frame, and the adjusting time point comprises absolute time A or relative time B; the absolute time A is a corresponding moment when the count value of the link clock is A; the relative time B is a time point at which the time B has elapsed after the time point of the instruction information. The data transmitting device transmits the time of the data packet of the adjusted data frame to the data receiving device in the form of absolute time A or relative time B, and the data receiving device can position the data frame of the adjusted data packet according to the absolute time A or the relative time B and correspondingly adjust the number of the analyzed data packets.
In one possible implementation, the data is audio data or video data.
In one possible implementation manner, the data sending device further comprises a first player; the first controller is also used for adjusting the progress of playing the audio data or the video data on the first player according to the clock count difference value. According to the embodiment, the progress of playing the audio data or the video data on the first player is adjusted through the clock count difference value, so that the synchronization of the playing progress on the first player of the data sending device and the playing progress on the data receiving device is realized.
In a second aspect, a data receiving device is provided, configured to receive, through a data frame in a synchronous link, a data packet from a data sending device, where the data packet carries data; the data carries a data clock, and the synchronous link is provided with a link clock; the data receiving device includes: a second controller and a second communication interface; the second controller is used for: controlling a second communication interface to receive data packets through the data frames and receive indication information, wherein the indication information is used for indicating and adjusting the number of the data packets transmitted on the data frames; and adjusting and analyzing the number of the data packets received through the data frames according to the indication information.
In one possible embodiment, the indication information includes adjustment direction information; the adjustment direction information indicates an increase in the number of data packets transmitted in the data frame. Alternatively, the adjustment direction information indicates to reduce the number of data packets transmitted in the data frame. The second controller is used for: if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing the number of data packets received by parsing the data frame; if the received adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, the number of data packets received over the data frame is reduced.
In a possible embodiment, the indication information further comprises adjustment quantity information; the adjustment amount information is an increased amount of data packets transmitted in the data frame or a decreased amount of data packets transmitted in the data frame. The second controller is used for: if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing parsing of the data packets received through the data frame; increasing the number of the parsed data packets to be the adjustment number information; if the received adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, reducing parsing the data packets received over the data frame; and reducing the number of the parsed data packets to be the adjustment number information.
In a possible embodiment, the indication information further comprises an adjustment time point; the adjusting time point is used for indicating the time point of increasing or decreasing the number of the data packets on the data frame, and the adjusting time point comprises absolute time A or relative time B; the absolute time A is a corresponding moment when the count value of the link clock is A; the relative time B is a time point at which the time B has elapsed after the time point of the instruction information. The second controller is used for: if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, after the adjustment time point, increasing the number of data packets received by the data frame; if the received adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, after the adjustment point in time, the number of data packets received over the data frame is reduced.
In one possible implementation, the data is audio data or video data.
In a third aspect, a data transmission method is provided, in which data is transmitted to a data receiving device in a data frame of a synchronous link in a data packet form within a preset time; the data carries a data clock, and the synchronous link is provided with a link clock; acquiring a count value of a link clock and a count value of a data clock in preset time; calculating a clock count difference; the clock count difference is the difference between the count value variation of the link clock and the count value variation of the data clock in preset time; and controlling the first communication interface to adjust the number of data packets transmitted by the data frame according to the clock count difference value, and sending indication information to the data receiving device, wherein the indication information is used for indicating the number of the data packets transmitted on the data frame to be adjusted.
In one possible embodiment, the indication information includes adjustment direction information; the adjustment direction information is used to indicate an increase in the number of data packets transmitted in the data frame. Alternatively, the adjustment direction information is used to indicate a reduction in the number of data packets transmitted in the data frame.
In a possible embodiment, the indication information further comprises adjustment quantity information; when the adjustment direction information indicates to increase the number of data packets transmitted in the data frame, the adjustment amount information is the increased number of data packets transmitted in the data frame. Alternatively, when the adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, the adjustment amount information is the reduced number of data packets transmitted in the data frame.
In a possible embodiment, the indication information further comprises an adjustment time point; the adjusting time point is used for indicating the time point of increasing or decreasing the number of the data packets on the data frame, and the adjusting time point comprises absolute time A or relative time B; the absolute time A is a corresponding moment when the count value of the link clock is A; the relative time B is a time point at which the time B has elapsed after the time point of the instruction information.
In one possible implementation, the data is audio data or video data.
In a fourth aspect, a data transmission method is provided, where a data packet is received through a data frame of a synchronous link, and indication information is received; the indication information is used for indicating and adjusting the number of data packets transmitted on the data frame; carrying data in the data packet; the data carries a data clock, and the synchronous link is provided with a link clock; and adjusting and analyzing the number of the data packets received through the data frames according to the indication information.
In one possible embodiment, the indication information includes adjustment direction information; the adjustment direction information indicates to increase the number of data packets transmitted in the data frame; alternatively, the adjustment direction information indicates to reduce the number of data packets transmitted in the data frame. If the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing the number of data packets received by parsing the data frame; if the received adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, the number of data packets received over the data frame is reduced.
In a possible embodiment, the indication information further comprises adjustment quantity information; the adjustment amount information is an increased amount of data packets transmitted in the data frame or a decreased amount of data packets transmitted in the data frame. If the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing parsing of the data packets received through the data frame; and increasing the number of the parsed data packets to be the adjustment number information. If the received adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, reducing parsing the data packets received over the data frame; and reducing the number of the parsed data packets to be the adjustment number information.
In a possible embodiment, the indication information further comprises an adjustment time point; the adjusting time point is used for indicating the time point of increasing or decreasing the number of the data packets on the data frame, and the adjusting time point comprises absolute time A or relative time B; the absolute time A is a corresponding moment when the count value of the link clock is A; the relative time B is the time point of the indication information after the time point of the elapsed time B; if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, after the adjustment time point, increasing the number of data packets received by the data frame; if the received adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, after the adjustment point in time, the number of data packets received over the data frame is reduced.
In a fifth aspect, a communication device is provided, where the communication device includes a transceiver module, where the transceiver module is configured to transmit data in a data packet form to a data receiving device through a data frame of a synchronous link in a preset time period; the data carries a data clock, and the synchronous link is provided with a link clock; and adjusting the number of data packets transmitted by the data frame, and sending indication information to the data receiving device, wherein the indication information is used for indicating the number of the data packets transmitted on the data frame.
In a sixth aspect, a communication device is provided, the communication device including a transceiver module configured to receive a data packet through a data frame of a synchronous link and receive indication information; the indication information is used for indicating and adjusting the number of data packets transmitted on the data frame; carrying data in the data packet; the data carries a data clock, and the synchronous link is provided with a link clock; and adjusting and analyzing the number of the data packets received through the data frames according to the indication information.
A seventh aspect provides a data transmission system comprising a data transmitting device as in the first aspect and a data receiving device as in the second aspect; the data transmitting device is used for transmitting data to the data receiving device in the form of data packets through a data frame of the synchronous link and transmitting indication information to the data receiving device through the synchronous link; the data carries a data clock, and the indication information is used for indicating and adjusting the number of data packets transmitted on the data frame; the data receiving device is used for receiving the data packets and the indication information from the synchronous link, analyzing the data packets to obtain data, and adjusting and analyzing the number of the data packets received through the data frames according to the indication information.
In an eighth aspect, a system on a chip is provided. The system-on-chip includes at least one processor and at least one interface circuit. The at least one processor and the at least one interface circuit may be interconnected by wires. The processor is configured to enable the electronic device to perform the functions or steps of the above-described method embodiments, and at least one interface circuit may be configured to receive signals from other devices (e.g., memory) or to transmit signals to other devices (e.g., communication interfaces). The system-on-chip may include a chip, and may also include other discrete devices.
In a ninth aspect, a computer readable storage medium is provided, the computer readable storage medium comprising instructions which, when run on the above-described chip system, cause the chip system to perform the functions or steps of the above-described method embodiments, e.g. the method according to the above-described third or fourth aspect.
In a tenth aspect, there is provided a computer program product comprising instructions which, when run on a chip system as described above, cause the chip system to perform the functions or steps of the method embodiments described above, for example the method described in the third or fourth aspect.
The technical effects concerning the second to tenth aspects are described with reference to the technical effects of the foregoing first aspect.
Drawings
Fig. 1 is a schematic structural diagram of a data frame on a synchronous link according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a data transmission system according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a data transmitting apparatus according to an embodiment of the present application;
FIG. 4 is a schematic diagram of accumulating clock errors according to an embodiment of the present application;
fig. 5 is an exemplary diagram of adjusting the number of data packets in a data frame according to an embodiment of the present application;
FIG. 6 is a diagram illustrating another example of adjusting the number of packets in a data frame according to an embodiment of the present application;
FIG. 7 is an exemplary diagram of determining an absolute time A according to an embodiment of the present application;
FIG. 8 is an exemplary diagram of determining relative time B provided by an embodiment of the present application;
FIG. 9A is a diagram illustrating an example of an unadjusted number of packets for a plurality of data frames according to an embodiment of the present application;
FIG. 9B is a diagram illustrating an embodiment of adding a data packet to a plurality of data frames;
FIG. 9C is a diagram illustrating an exemplary addition of multiple data packets to multiple data frames according to an embodiment of the present application;
Fig. 10 is a schematic flow chart of a data transmission method according to an embodiment of the present application;
fig. 11 is a flowchart of another data transmission method according to an embodiment of the present application;
fig. 12 is a schematic structural diagram of a communication device according to an embodiment of the present application;
fig. 13 is a schematic structural diagram of a chip system according to an embodiment of the present application.
Detailed Description
It should be noted that the terms "first," "second," and the like in the embodiments of the present application are used for distinguishing between similar features and not necessarily for indicating a relative importance, quantity, or sequence.
The terms "exemplary" or "such as" and the like, as used in relation to embodiments of the present application, are used to denote examples, illustrations, or descriptions. Any embodiment or design described herein as "exemplary" or "for example" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
The terms "coupled" and "connected" in accordance with embodiments of the application are to be construed broadly, and may refer, for example, to a physical direct connection, or to an indirect connection via electronic devices, such as, for example, electrical resistance, inductance, capacitance, or other electrical devices.
Some concepts to which the present application relates will be first described:
in multimedia systems, signal lines are often used to transmit data. The transmission mode has higher requirements on field wiring and also has larger limit on transmission. With the development of transmission technology, the wireless real-time transmission technology is widely applied by virtue of the characteristics of simple equipment deployment, convenient transmission and the like.
Wireless real-time network transmission is one of the key technologies for wireless digital communication. The application of the system comprises a sending end and a receiving end, wherein the sending end synchronously transmits data to the receiving end in real time through a transmission link.
In some application scenarios with high requirements on the quality of the transmitted data, the data is not compressed when the data is transmitted, and the data stream when the data is transmitted can be regarded as a fixed code rate service or an isochronous service. When such data is transmitted wirelessly in real time, it is often necessary to ensure a low transmission delay.
From the physical layer characteristics of the transmission link of the wireless real-time network transmission, the transmission link carrying data can be divided into two types: contention-based links and non-contention-based links.
In contention-based links, such as wireless fidelity networks (Wireless Fidelity, wi-Fi), all senders need to detect the idle state of the transmission link. The transmitting end can transmit a signal only when the transmission link is idle. When the data transmission system adopts a competitive link, if there are more transmission ends, there may be a large number of access competition between transmission ends with respect to the channel, thereby causing uncontrollable time that each transmission end occupies the transmission link. Therefore, the wireless real-time network adopting the competitive link cannot ensure the requirement of the transmitting end on low transmission delay in the process of carrying out wireless real-time transmission on the data.
Therefore, in the case where there is a high demand for transmission delay, as shown in fig. 1, the transmission link often employs the synchronous link 200 which is a non-competing link. Such as a synchronous transmission network (synchronous transmission) based on a central control system, common synchronous transmission networks are cellular wireless communication networks, etc. In a synchronous transmission network, clocks of a transmitting end and a receiving end are unified. In the transmission process, time synchronization and frequency synchronization on a synchronous link are realized through a symbol correlation technique. Symbol correlation techniques mainly refer to symbol synchronization. In wireless digital communication, in order to restore the signal received in the synchronization link 200 to data, the receiving end periodically samples and decides the received signal. A clock signal synchronized with the signal received from the synchronization link 200 at the symbol rate needs to be set at the receiving end to obtain accurate sampling. The synchronous transmission network based on the central control system reserves periodic and equally spaced link resources on the synchronous link 200 for carrying data with a specific length, which is very beneficial to data transmission. Such equally spaced link resources are data frames 210. Data is transmitted in the form of data packets 214 over the data frames 210 of the synchronous link 200.
The data transmitted by the synchronous transmission network using the non-competing link can be divided into data carrying the data clock and data not carrying the data clock according to whether the data clock is carried. For data not carrying a data clock, the playing rate of the data can be specified by the playing device or the transmission device, so that the synchronous link 200 of the synchronous transmission network can be directly adopted for transmission according to the link clock. Common data that does not carry a data clock includes audio streams or video streams from either a networked or file system. As shown in fig. 4, when the data carrying the data clock is transmitted by using the synchronous link 200, there is often a synchronous transmission deviation accumulated for a long period of time because the data clock and the link clock are not synchronous, and further, the data sampling is lost in the transmission process due to the synchronous transmission deviation. For example, at a data clock and link clock that are offset by 20ppm, a data sample rate of 48KHz will produce an offset of 20 microseconds per second, which is approximately equal to one sample period. In this case, the transmitting end accumulates one packet 214 per second without being transmitted to the receiving end, or accumulates less than one packet 214 per second to be transmitted to the receiving end, which eventually results in impaired quality of the transmitted data.
One solution is to perform resampling of the data carrying the data clock at the time of transmission, and then convert the resampled data into data packets 214 for transmission over the synchronous link 200. The resampling method includes converting the data from digital signal to analog signal and resampling; or resampling the data using a simple interpolation. Both resampling approaches can result in impaired sampling accuracy of the data, thereby degrading the quality of the transmitted data. In addition, the resampling process consumes additional computing resources of the device.
Another solution is to periodically discard a certain amount of data or leave a certain amount of space in the data frame 210 after sampling the data during transmission, and then transmit the data from the transmitting end to the receiving end through the data frame 210 of the synchronous link 200. This approach is simple and easy to implement, but can also lead to impaired quality of the data.
Yet another solution is to adjust the data clock and the link clock during transmission so that the data transfer rate and the data consumption rate remain synchronized at all times. Although this approach can ensure the quality of the transmitted data, the stability of the link clock is often greater than that of the data clock, and it is very difficult to adjust the link clock to achieve the synchronization of the clocks, and other problems are introduced due to the modification of the link clock.
To this end, an embodiment of the present application further proposes a data transmission system, as shown in fig. 2, including a data transmitting apparatus 100 and a data receiving apparatus 300. The data transmitting apparatus 100 is configured to transmit data in the form of a data packet 214, carried on a data frame 210 of a synchronous link 200 having a link clock, to the data receiving apparatus 300; the data carries a data clock. The data transmitting apparatus 100 is further configured to detect a deviation between the data clock and the link clock, adjust the number of data packets 214 in the data frame 210 according to the deviation, and send indication information to the data receiving apparatus 300, where the indication information is used to indicate that the number of data packets 214 transmitted on the data frame is adjusted. The data receiving device 300 is configured to receive the data packet 214 from the data transmitting device 100 through the data frame 210 in the synchronous link 200; and adjusts and parses the number of data packets 214 received from the data frame 210 based on the received indication information.
The data transmission apparatus 100 includes a first controller 110 and a first communication interface 120. The first controller 110 is configured to: controlling the first communication interface 120 to carry data in the form of data packets 214 on the data frame 210 for a preset time period and send the data to the data receiving device 300; the first communication interface 120 is controlled to adjust the number of data packets 214 transmitted on the current data frame 210 while transmitting indication information to the data reception apparatus 300.
By the operation, the synchronous transmission of the data carrying the data clock can be realized simply and easily under the condition that the data clock and the link clock deviate, and meanwhile, the transmission ensures the quality of the transmitted data.
The following data transmission method as shown in fig. 10 can be implemented by the data transmission system shown in fig. 2, including steps S110 to S140:
s110, the data transmitting device 100 receives sampled data; the data carries a data clock.
S120, the data transmitting apparatus 100 transmits data to the data receiving apparatus 300 via the synchronization link 200.
In some embodiments, as shown in fig. 2, the first controller 110 controls the first communication interface 120 to carry data in the form of data packets 214 on the data frame 210 for a preset time period and send the data to the data receiving device 300; acquiring a counting value of a link clock and a counting value of a data clock in preset time, and calculating a difference value between a counting value variation of the link clock and a counting value variation of the data clock to obtain a clock counting difference value; the first communication interface 120 is controlled to adjust the number of data packets 214 transmitted on the current data frame 210 according to the clock count difference, and at the same time, transmit indication information to the data receiving apparatus 300.
Specifically, as shown in fig. 11, step S120 includes steps S121 to S124:
s121, the first controller 110 of the data transmitting apparatus 100 converts the received data into the data packet 214, and sends a transmission signaling to the data receiving apparatus 300, where the transmission signaling is used to instruct the data receiving apparatus 300 to receive the data transmitted in the data frame 210 of the synchronization link 200.
Illustratively, the data transmitting apparatus 100, upon receiving the sampled data, first transmits transmission signaling to the data receiving apparatus 300. The transmission signaling includes the following parameter information of the transmission data: a start time domain, a stop time domain, a start frequency domain, a stop frequency domain, and a transmission power; after receiving the transmission signaling, the data receiving apparatus 300 prepares the received data for synchronous transmission according to the parameter information included in the transmission signaling.
By transmitting the transmission signaling in advance, it is ensured that the data transmitting apparatus 100 and the data receiving apparatus 300 perform synchronous, real-time transmission through the synchronous link 200.
Illustratively, the method by which the data transmitting apparatus 100 converts data into the data packet 214 includes modulation or encoding. In the case of modulation, the transmission signaling transmitted from the data transmitting apparatus 100 to the data receiving apparatus 300 further includes a modulation parameter, so that the data receiving apparatus 300 demodulates the data packet 214 according to the received modulation parameter to obtain data. In the case of encoding, the transmission signaling transmitted from the data transmitting apparatus 100 to the data receiving apparatus 300 further includes encoding parameters, so that the data receiving apparatus 300 decodes the data packet 214 according to the received encoding parameters to obtain data.
S122, the first controller 110 of the data transmission device 100 controls the first communication interface 120 to transmit the data packet 214 to the data receiving device 300 through the data frame 210 in the synchronous link 200 within a preset time.
S123, the first controller 110 obtains the count value of the link clock and the count value of the data clock of the synchronous link 200, and obtains a clock count difference value according to the difference between the count value variation of the link clock and the count value variation of the data clock in the preset time. The first controller 110 controls the first communication interface 120 to adjust the number of data packets 214 transmitted by the data frame 210 according to the clock count difference, and sends indication information to the data receiving apparatus 300.
Illustratively, after starting to transmit data, the data transmitting apparatus 100 counts the link clock and the data clock, respectively, by a counter, wherein the count value of the data clock represents the data reception amount when the data receiving apparatus 300 receives the sampled data, and the count value of the link clock represents the transmission amount of the data packet 214 on the synchronous link 200. The data transmission apparatus 100 obtains a clock count difference value by calculating a difference between a count value variation of a link clock and a count value variation of a data clock within a preset time. The resulting clock count difference may reflect the link clock and data clock bias. When the clock count difference reaches a certain value, the difference between the clock count difference and the clock count difference reaches the time required to generate one data packet 214, and at this time, the first controller 110 may switch more than one data packet 214 to the data receiving apparatus 300 or switch less than one data packet 214 to the data receiving apparatus 300. The deviation here may be either that the data clock is slower than the link clock or that the data clock is faster than the link clock. When the data clock is slower than the link clock, the consumption rate of the data is lower than the transmission rate of the data, the deviation gradually increases with the accumulation of time, and the first controller 110 has less than one data packet 214 converted; when the data clock is faster than the link clock, the consumption rate of the data is higher than the transmission rate of the data, the deviation gradually increases, and the first controller 110 switches more than one data packet 214.
The data transmitting apparatus 100 adjusts the number of data packets 214 in a single data frame 210 according to the obtained size of the clock count difference, and generates instruction information according to the adjustment, and transmits both the instruction information and the adjusted data frame 210 to the data receiving apparatus 300. The data receiving apparatus 300 acquires the count value of the link clock of the synchronous link 200 and receives the data frame 210 according to the acquired count value of the link clock. After the data receiving apparatus 300 receives the data frame 210, the received data frame 210 is buffered, and during the buffered time difference, the data receiving apparatus 300 determines whether the data frame 210 is the data frame 210 with the adjusted number of data packets 214, and whether the adjusted data frame 210 has the increased number of data packets 214 or the decreased number of data packets 214, and then adaptively adjusts the number of data packets 214 parsed from the data frame 210.
Illustratively, the operations for the data transmission apparatus 100 to adjust the number of data packets 214 in the data frame 210 are exemplified as follows:
taking the example that the data clock is slower than the link clock. As shown in fig. 5, there is a series of data frames 210 on the synchronous link 200. It is assumed that the data transmission apparatus 100 carries the data packets 214 in groups of four in a single data frame 210. When the data transmission device 100 transmits the first data frame 210 via the synchronous link 200, the data clock and the link clock start to deviate, but the deviation is smaller at this time, and no significant deviation has yet occurred, at this time, four data packets 214 are generated from the data and are carried on the carrying section 212 of the first data frame 210. With the transmission of data, when the data transmission apparatus 100 prepares the third data frame 210 in the transmission diagram, the accumulation of the deviation between the data clock and the link clock over time is detected, at which time the data clock has been slower than the time required for the link clock to transmit one data packet 214, at which time the data transmission apparatus 100 has generated only three data packets 214 from the data, and the synchronization link 200 has been going through the third data frame 210, so that the data transmission apparatus 100 places three data packets 214 in the carrying section 212 of the third data frame 210, leaves an empty space 215, and then transmits the third data frame 210 to the data reception apparatus 300 via the synchronization link 200. The data transmission device 100 transmits the third data frame 210 and also generates an indication information to transmit to the data reception device 300, by which the data reception device 300 is instructed to generate the gap 215 when transmitting the data frame 210.
Taking the example of a data clock faster than the link clock. As shown in fig. 6, there is a series of data frames 210 on the synchronous link 200. It is assumed that the data transmission apparatus 100 carries the data packets 214 in groups of four in a single data frame 210. When the data transmission device 100 transmits the first data frame 210 via the synchronous link 200, the data clock and the link clock start to deviate, but the deviation is smaller at this time, and no significant deviation has yet occurred, at this time, four data packets 214 are generated from the data and are carried on the carrying section 212 of the first data frame 210. With the transmission of data, when the data transmission apparatus 100 is preparing to transmit the third data frame 210 in the map, the accumulation of the deviation between the data clock and the link clock over time is detected, at which time the data clock is already faster than the time that the link clock needs to consume to transmit one data packet 214, at which time the data transmission apparatus 100 generates five data packets 214 from the data, and the synchronization link 200 is preparing to transmit the third data frame 210, and is not preparing to start transmitting the fourth data frame 210. The data transmission apparatus 100 places five data packets 214 in the carrying portion 212 of the third data frame 210 (i.e., increases the number of data packets 214 transmitted in the third data frame 210) and then transmits the third data frame 210 to the data reception apparatus 300 through the synchronous link 200. The data transmission apparatus 100 transmits the third data frame 210 and also generates an indication information to transmit to the data reception apparatus 300, by which the data reception apparatus 300 is instructed to increase one data packet 214 when transmitting the third data frame 210, so that the data reception apparatus 300 increases the number of data packets 214 transmitted in the parsed third data frame 210.
The above is an example of two cases of adjusting the data packets 214 on the synchronous link, but when a plurality of data packets 214 need to be adjusted, the number of the plurality of data packets 214 may be increased in one data frame 210, and the number of the data packets 214 may be increased in a plurality of data frames 210, respectively.
As shown in fig. 9A, in an exemplary case where no deviation occurs, the first controller 110 converts the received data into 20 data packets 214, and the 20 data packets 214 are carried in five data frames 210 and transmitted to the data receiving device 300, and 4 data packets 214 are carried in each data frame 210. Taking the example of the link clock being faster than the data clock, the first controller 110 finds that there is a skew between the data clock and the link clock transmitting four data packets 214 when transmission is to be performed. As shown in fig. 9B, the first controller 110 may add one data packet 214 to the data frame 210, that is, transmit 20 data packets 214 to the data receiving apparatus 300 using four data frames 210, where each data frame 210 carries 5 data packets 214. As shown in fig. 9C, the first controller 110 may transmit 20 data packets 214 to the data receiving apparatus 300 using four data frames 210, where each of the first two data frames 210 carries 6 data packets 214, and each of the second two data frames 210 carries 4 data packets 214.
In some implementations, the indication information includes adjustment direction information; the adjustment direction information indicates increasing the number of data packets 214 transmitted in the data frame 210; alternatively, the adjustment direction information indicates that the number of data packets 214 transmitted in the data frame 210 is reduced.
By adjusting the direction information, the data transmission apparatus 100 can indicate to the data reception apparatus 300 whether the number of data packets 214 transmitted in the data frame 210 is increased or the number of data packets 214 transmitted in the data frame 210 is decreased. The data receiving apparatus 300 can increase or decrease the number of data packets 214 transmitted in the parsed corresponding data frame 210 without additional judgment.
In some embodiments, the indication information further includes adjustment quantity information; the adjustment amount information is an increased amount of data packets transmitted in the data frame or a decreased amount of data packets transmitted in the data frame.
By adjusting the amount information, the data transmitting apparatus 100 may indicate to the data receiving apparatus 300 that the specific amount of the data packets 214 transmitted in the data frame 210 is increased or decreased, and the data receiving apparatus 300 may increase or decrease the corresponding amount of the data packets 214 transmitted in the corresponding data frame 210 without additional judgment.
In some embodiments, the indication information further includes an adjustment time point; the adjusting time point is used for indicating the time point of increasing or decreasing the number of the data packets on the data frame, and the adjusting time point comprises absolute time A or relative time B; the absolute time A is a corresponding moment when the count value of the link clock is A; the relative time B is a time point at which the time B has elapsed after the time point of the instruction information.
The data transmitting apparatus 100 transmits the adjustment time point to the data receiving apparatus 300, and the data receiving apparatus 300 can accurately find the data frame in which the number of the data packets 214 is adjusted according to the adjustment time point, and perform the corresponding adjustment operation.
In some embodiments, the point in time when the data transmission device 100 transmits the instruction information to the data reception device 300 may be before or after the point in time when the data frame 210 corresponding to the instruction information is transmitted, or may be the point in time when the data frame 210 corresponding to the instruction information is transmitted.
For example, when the data transmitting apparatus 100 detects that the clock count difference reaches a certain value, the data receiving apparatus 300 may transmit the indication information first and then transmit the data frame 210 with the number of data packets 214 adjusted, or may transmit the indication information and the data frame 210 with the number of data packets 214 adjusted in the same message, or may transmit the indication information after transmitting the data frame 210 with the number of data packets 214 adjusted. Because the data receiving apparatus 300 needs to buffer the data packet 214 in the data frame 210 after receiving the data frame 210, the data packet 214 is parsed. As long as the data receiving apparatus 300 receives the indication information during the period from buffering the data packets 214 in the data frames 210 to parsing the data packets 214 and adjusts the number of the data packets 214 in the corresponding data frames 210 to parse according to the indication information.
Illustratively, as shown in fig. 3, the first controller 110 of the data transmission apparatus 100 includes a control module 111, a deviation calculation module 112, and a clock synchronization module 113. The clock control module 113 is configured to obtain a count value of a link clock and a count value of a data clock in a preset time; the deviation calculating module 112 is configured to calculate a difference between a count value variation of the link clock and a count value variation of the data clock according to the count value of the link clock and the calculated value of the data clock in a preset time, so as to obtain a clock count difference; the control module 111 is configured to send data in the form of data packets 214 to the data receiving device 300 through the data frame 210 of the synchronization link 200 via the first communication interface 120; the control module 111 is further configured to control the first communication interface 120 to adjust the number of data packets 214 transmitted on the current data frame 210 according to the clock count difference, and send indication information to the data receiving device 300.
In some embodiments, the data carrying the data clock is audio data or video data.
In some embodiments, as shown in fig. 2, the data transmission apparatus 100 further includes a first player 130. The first controller 110 is configured to adjust a progress of playing the audio data or the video data on the first player 130 according to the clock count difference.
In some application scenarios, the data transmitting device 100 needs to transmit the received sampled audio data or video data to the data receiving device 300 via the synchronization link 200. At the same time, the audio data or video data needs to be played synchronously with the data receiving apparatus 300 at the local side of the data transmitting apparatus 100. The first controller 110 of the data transmission apparatus 100 may adjust the progress of playing the audio data or the video data on the first player 130 according to the clock count difference, thereby implementing the playing of the audio data or the video data in synchronization with the data reception apparatus 300.
S124, the first controller 110 adjusts the progress of playing the audio data or the video data on the first player 130 according to the clock count difference.
The data transmitting apparatus 100 transmits data to the data receiving apparatus 300 in real time. In some scenarios, such as multimedia data applications, the data carrying the data clock is audio data or video data, and when audio data or video data is transmitted, the audio data or video data needs to be synchronously played in real time on the side of the data transmitting apparatus 100. The audio data and the video data played on the first player 130 are adjusted in play progress by the clock count difference. The adjustment of the playing progress is substantially the amount of data sent by the first controller 110 to the first player 130, so long as the progress of the data sent by the first controller 110 to the first player 130 is consistent with the progress of the data packet 214 transmitted by the first controller 110 through the data frame 210, synchronous playing can be achieved.
In some embodiments, as shown in fig. 2, the data receiving apparatus 300 includes a second controller 310 and a second communication interface 320. The second controller 310 is configured to receive the data packet 214 from the data frame 210 of the synchronous link 200 through the second communication interface 320, and parse the data packet 214 to obtain data. The second controller 310 is further configured to receive the indication information through the second communication interface 320, and adjust the number of the parsed data packets 214 from the data frame 210 according to the indication information.
S130, the second controller 310 receives the data packet 214 from the data transmission device 100 from the data frame 210 in the synchronous link 200 through the second interface 320, and parses the data packet 214 to obtain data.
Illustratively, the data clock is slower than the link clock. As shown in fig. 5, there is a series of data frames 210 on the synchronous link 200. It is assumed that the data transmission apparatus 100 carries the data packets 214 in groups of four in a single data frame 210. The data receiving apparatus 300 receives the data frames 210 respectively, and parses the data of the four data packets 214 from the carrying portion 212 of each data frame 210. And the third data frame 210 transmitted by the data transmitting apparatus 100 has three data packets 214 and a gap 215 carried in its carrying portion 212 due to the occurrence of the deviation. Meanwhile, the data transmitting apparatus 100 also transmits indication information to the data receiving apparatus 300 to indicate that the number of data packets 214 in the data frame 210 is adjusted, specifically, the number of data frames 210 is reduced, and then the data frame 210 reduces the number of parsing the data packets 214 in the data frame 210 according to the received indication information.
Illustratively, if the received adjustment direction information indicates to increase the number of data packets 214 transmitted in the data frame 210, the second controller 310 increases parsing the data packets 214 received over the data frame 210; the number of the parsed data packets 214 is increased to be the number corresponding to the adjustment number information.
If the received adjustment direction information indicates to reduce the number of data packets 214 transmitted in the data frame 210, the second controller 310 reduces parsing the data packets 214 received through the data frame 210; the number of the parsed data packets 214 is reduced to the number corresponding to the adjustment number information.
Illustratively, the data receiving apparatus 300 may set an adjustment amount, and increase or decrease the data packet 214 transmitted in the set adjustment amount data frame 210 every time the indication information is received.
Or after receiving the indication information, the data receiving apparatus 300 correspondingly adjusts the number of the data packets 214 in the analysis data frame 210 according to the adjustment number information in the indication information. By the method, the data packet 214 in the data frame 210 can be accurately analyzed, and the quality of data obtained by analysis can be improved.
Illustratively, as shown in fig. 7, taking the absolute time a as an example, it is assumed that the data transmission apparatus 100 determines that one data packet 214 needs to be reduced in the third data frame 210 according to the clock count difference when preparing to transmit the second data frame 210. Therefore, an indication message is transmitted simultaneously with the transmission of the second data frame 210, and because the link clock count value of the second data frame 210 is two, the absolute time a included in the indication message is the absolute time three, which represents the time point corresponding to the third data frame 210. When the second controller 310 of the data receiving apparatus 300 receives the indication information, it can know that the number of data packets 214 in the third data frame 210 needs to be adjusted and analyzed according to the absolute time three, and can know that the number of data packets 214 is reduced and analyzed according to the adjustment direction information in the indication information, and can know that the number of data packets 214 is reduced and analyzed according to the adjustment number information in the indication information.
As shown in fig. 8, taking the relative time B as an example, assume that the data transmission apparatus 100 determines that it is necessary to reduce the number of data packets 214 by one in the third data frame 210 based on the clock count difference when preparing to transmit the second data frame 210. An indication is transmitted at the same time as the second data frame 210 because the second data frame 210 and the third data frame 210 differ by one point in time. The indication information includes a relative time one. When the second controller 310 of the data receiving apparatus 300 receives the indication information, it can know that the number of data packets 214 in the third data frame 210 needs to be adjusted and analyzed according to the relative time, and can know that the number of data packets 214 is reduced and analyzed according to the adjustment direction information in the indication information, and can know that the number of data packets 214 is reduced and analyzed according to the adjustment number information in the indication information.
In some embodiments, as shown in fig. 2, the data receiving apparatus 300 further includes a second player 330. The second controller 310 is configured to transmit the audio data or the video data parsed from the data packet 214 to the second player 330 for playing.
And S140, the second controller 310 sends the audio data or the video data obtained by parsing to the second player 330 for playing.
Illustratively, when the data transmission apparatus 100 includes the first player 130 and the data reception apparatus 300 includes the second player 330, the data transmission apparatus 100 may adjust the progress of playing the audio data or the video data on the first player 130 by the clock count difference value to achieve synchronous playing of the audio data or the video data by the first player 130 and the second player 330.
According to the data sending device, the receiving device, the transmission method and the transmission system, the clock count difference is calculated by respectively obtaining the count value of the data clock of the data and the count value of the link clock of the synchronous link, the deviation between the data clock and the link clock is calculated by the clock count difference, the number of data packets in a single data frame on the synchronous link is adjusted according to the calculated deviation, and the indication information is sent to the data receiving device. By the arrangement, accurate measurement of deviation between the data clock of the data in synchronous wireless transmission and the link clock of the synchronous link is realized, and the data packet is adjusted according to the measurement result, so that errors generated in the process of receiving the data packet by the data receiving device due to the deviation are avoided, and finally the quality of the transmitted data is influenced.
The embodiment of the application also provides a communication device. The communication device may be the data transmission device 100 in the above-described method embodiment, or a device including the above-described data transmission device 100, or a chip or a functional module within the data transmission device 100. Alternatively, the communication device may be the data receiving device 300 in the above-described method embodiment, or a device including the above-described data receiving device 300, or a chip or a functional module within the data receiving device 300. Thereby realizing the various methods.
The communication device comprises corresponding hardware structures and/or software modules for executing the functions in order to realize the functions. Those of skill in the art will readily appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The embodiment of the application can divide the functional modules of the communication device according to the embodiment of the method, for example, each functional module can be divided corresponding to each function, or two or more functions can be integrated in one processing module. The integrated modules may be implemented in hardware or in software functional modules. It should be noted that, in the embodiment of the present application, the division of the modules is schematic, which is merely a logic function division, and other division manners may be implemented in actual implementation.
Fig. 12 shows a schematic structural diagram of a communication device 500, the communication device 500 comprising a processing module 510 and a transceiver module 520; the processing module 510 may also be referred to as a processing unit, and is configured to implement the processing functions of the data transmitting device or the data receiving device in the foregoing method embodiment. The transceiver module 520 may be referred to as a transceiver circuit, a transceiver, or a communication interface, for implementing the transceiver function of the data transmitting device or the data receiving device in the above-described method embodiment. Such that the communication device 500 performs the respective functions or steps performed by the data transmitting device or the data receiving device in the above-described method embodiments, for example, performing the methods shown in fig. 10, 11.
Taking the communication device 500 as an example, the data receiving device in the above-described method embodiment is taken as an example.
In one possible implementation, the transceiver module 520 is configured to send data to the data receiving device in the form of data packets through the data frame of the synchronous link within a preset time; the data carries a data clock, and the synchronous link is provided with a link clock; and adjusting the number of data packets transmitted by the data frame, and sending indication information to the data receiving device, wherein the indication information is used for indicating the number of the data packets transmitted on the data frame.
Taking the communication device 500 as an example, the data receiving device in the above-described method embodiment is taken as an example.
In one possible implementation, the transceiver module 520 is configured to receive a data packet through a data frame of the synchronous link and receive indication information; the indication information is used for indicating and adjusting the number of data packets transmitted on the data frame; carrying data in the data packet; the data carries a data clock, and the synchronous link is provided with a link clock; and adjusting and analyzing the number of the data packets received through the data frames according to the indication information.
The embodiment of the application also provides a chip system 400. As shown in fig. 13, the chip system 400 includes at least one processor 401 and at least one interface circuit 402. The at least one processor 401 and the at least one interface circuit 402 may be interconnected by wires. The processor 401 is configured to support the chip system 400 in implementing the various functions or steps of the method embodiments described above, and the at least one interface circuit 402 may be configured to receive signals from other devices (e.g., memory) or to transmit signals to other devices (e.g., communication interfaces). The chip system 400 may include a chip and may also include other discrete devices.
The embodiments of the present application also provide a computer readable storage medium comprising instructions which, when run on the above-described chip system 2, cause the chip system 2 to perform the functions or steps of the above-described method embodiments, for example, performing the method as shown in fig. 10 or 11.
The embodiments of the present application also provide a computer program product comprising instructions which, when run on the above-described chip system 2, cause the chip system 2 to perform the functions or steps of the above-described method embodiments, for example, performing the method as shown in fig. 10 or 11.
Technical effects concerning the communication device, the chip system, the computer readable storage medium, the computer program product refer to technical effects of the previous method embodiments.
The processor referred to in the embodiments of the present application may be a chip. For example, it may be a field programmable gate array (field programmable gate array, FPGA), an application specific integrated chip (application specific integrated circuit, ASIC), a system on chip (SoC), a central processing unit (central processor unit, CPU), a network processor (network processor, NP), a digital signal processing circuit (digital signal processor, DSP), a microcontroller (micro controller unit, MCU), a programmable controller (programmable logic device, PLD) or other integrated chip.
The memory to which embodiments of the present application relate may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The nonvolatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. The volatile memory may be random access memory (random access memory, RAM) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous DRAM (SLDRAM), and direct memory bus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
It should be understood that, in various embodiments of the present application, the sequence numbers of the foregoing processes do not mean the order of execution, and the order of execution of the processes should be determined by the functions and internal logic thereof, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Those of ordinary skill in the art will appreciate that the various illustrative modules and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It will be clearly understood by those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described system, apparatus and module may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the modules is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple modules or components may be combined or integrated into another device, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interface, indirect coupling or communication connection of devices or modules, electrical, mechanical, or other form.
The modules described as separate components may or may not be physically separate, and components shown as modules may or may not be physically separate, i.e., may be located in one device, or may be distributed over multiple devices. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional module in the embodiments of the present application may be integrated in one device, or each module may exist alone physically, or two or more modules may be integrated in one device.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using a software program, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with embodiments of the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line (Digital Subscriber Line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device including one or more servers, data centers, etc. that can be integrated with the medium. The usable medium may be a magnetic medium (e.g., a floppy Disk, a hard Disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a Solid State Disk (SSD)), or the like.
The foregoing is merely illustrative of the present application, and the present application is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (21)

1. A data transmission device for transmitting data to a data reception device via a data frame in a synchronous link; the data carries a data clock, and the synchronous link is provided with a link clock; the data transmission device includes: a first controller and a first communication interface;
the first controller is used for:
controlling the first communication interface, and transmitting the data to the data receiving device in the form of data packets through the data frames in preset time;
acquiring the count value of the link clock and the count value of the data clock in the preset time;
calculating a clock count difference; the clock count difference value is a difference value between the count value variation of the link clock and the count value variation of the data clock in the preset time;
And controlling the first communication interface to adjust the number of the data packets transmitted by the data frame according to the clock count difference value, and sending indication information to the data receiving device, wherein the indication information is used for indicating and adjusting the number of the data packets transmitted on the data frame.
2. The apparatus of claim 1, wherein the indication information comprises adjustment direction information;
the adjustment direction information indicates to increase the number of the data packets transmitted in the data frame;
or alternatively, the process may be performed,
the adjustment direction information indicates a reduction in the number of data packets transmitted in the data frame.
3. The apparatus of claim 2, wherein the indication information further comprises adjustment quantity information;
when the adjustment direction information indicates to increase the number of the data packets transmitted in the data frame, the adjustment amount information is the increased number of the data packets transmitted in the data frame,
or alternatively, the process may be performed,
when the adjustment direction information indicates to reduce the number of the data packets transmitted in the data frame, the adjustment amount information is the reduced number of the data packets transmitted in the data frame.
4. A device according to claim 2 or 3, wherein the indication information further comprises an adjustment point in time;
the adjustment time point is used for indicating a time point for increasing or decreasing the number of the data packets on the data frame, and comprises absolute time A or relative time B;
the absolute time A is a corresponding moment point when the count value of the link clock is A;
the relative time B is a time point of the indication information after the time point of the elapsed time B.
5. The apparatus of any of claims 1-4, wherein the data is audio data or video data.
6. The apparatus of claim 5, wherein the data transmission apparatus further comprises a first player;
the first controller is further configured to adjust a progress of playing the audio data or the video data on the first player according to the clock count difference.
7. A data receiving device, characterized by being configured to receive a data packet from a data transmitting device through a data frame in a synchronous link, where the data packet carries data; the data carries a data clock, and the synchronous link is provided with a link clock; the data receiving apparatus includes: a second controller and a second communication interface;
The second controller is used for:
controlling the second communication interface, receiving the data packets through the data frames, and receiving indication information, wherein the indication information is used for indicating and adjusting the number of the data packets transmitted on the data frames;
and adjusting and analyzing the number of the data packets received through the data frames according to the indication information.
8. The apparatus of claim 7, wherein the indication information comprises adjustment direction information;
the adjustment direction information indicates to increase the number of the data packets transmitted in the data frame;
or alternatively, the process may be performed,
the adjustment direction information indicates to reduce the number of the data packets transmitted in the data frame;
the second controller is used for:
if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing the number of data packets received by parsing the data frame;
if the received adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, reducing the number of data packets received over the data frame.
9. The apparatus of claim 8, wherein the indication information further comprises adjustment quantity information; the adjustment amount information is an increased amount of the data packets transmitted in the data frame or a decreased amount of the data packets transmitted in the data frame;
The second controller is used for:
if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing parsing of the data packets received over the data frame; increasing the number of the parsed data packets to be the adjustment number information;
reducing parsing of the data packets received over the data frame if the received adjustment direction information indicates reducing the number of data packets transmitted in the data frame; and reducing the number of the parsed data packets to be the adjustment number information.
10. The apparatus according to claim 8 or 9, wherein the indication information further comprises an adjustment time point;
the adjustment time point is used for indicating a time point for increasing or decreasing the number of the data packets on the data frame, and comprises absolute time A or relative time B;
the absolute time A is a corresponding moment point when the count value of the link clock is A;
the relative time B is a time point of the time B after the time point of the indication information;
the second controller is used for:
if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing the number of data packets received by the data frame after an adjustment time point;
And if the received adjustment direction information indicates to reduce the number of the data packets transmitted in the data frame, reducing the number of the data packets received by the data frame after the adjustment time point.
11. The apparatus according to any one of claims 7-10, wherein the data is audio data or video data.
12. A data transmission method, comprising:
transmitting data to a data receiving device in a data frame of a synchronous link in a data packet form within a preset time; the data carries a data clock, and the synchronous link is provided with a link clock;
acquiring the count value of the link clock and the count value of the data clock in the preset time;
calculating a clock count difference; the clock count difference value is a difference value between the count value variation of the link clock and the count value variation of the data clock in the preset time;
and adjusting the number of the data packets transmitted by the data frame according to the clock count difference value, and sending indication information to the data receiving device, wherein the indication information is used for indicating and adjusting the number of the data packets transmitted on the data frame.
13. The method of claim 12, wherein the indication information comprises adjustment direction information;
the adjustment direction information is used for indicating to increase the number of the data packets transmitted in the data frame;
or alternatively, the process may be performed,
the adjustment direction information is used to indicate a reduction in the number of data packets transmitted in the data frame.
14. The method of claim 13, wherein the indication information further comprises adjustment quantity information;
when the adjustment direction information indicates to increase the number of the data packets transmitted in the data frame, the adjustment amount information is the increased number of the data packets transmitted in the data frame,
or alternatively, the process may be performed,
when the adjustment direction information indicates to reduce the number of the data packets transmitted in the data frame, the adjustment amount information is the reduced number of the data packets transmitted in the data frame.
15. The method according to claim 13 or 14, wherein the indication information further comprises an adjustment point in time;
the adjustment time point is used for indicating a time point for increasing or decreasing the number of the data packets on the data frame, and comprises absolute time A or relative time B;
The absolute time A is a corresponding moment point when the count value of the link clock is A;
the relative time B is a time point of the indication information after the time point of the elapsed time B.
16. The method according to any one of claims 12-15, wherein the data is audio data or video data.
17. A data transmission method, comprising:
receiving a data packet through a data frame of a synchronous link and receiving indication information; the indication information is used for indicating and adjusting the number of the data packets transmitted on the data frame; carrying data in the data packet; the data carries a data clock, and the synchronous link is provided with a link clock;
and adjusting and analyzing the number of the data packets received through the data frames according to the indication information.
18. The method of claim 17, wherein the indication information comprises adjustment direction information;
the adjustment direction information indicates to increase the number of the data packets transmitted in the data frame;
or alternatively, the process may be performed,
the adjustment direction information indicates to reduce the number of the data packets transmitted in the data frame;
if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing the number of data packets received by parsing the data frame;
If the received adjustment direction information indicates to reduce the number of data packets transmitted in the data frame, reducing the number of data packets received over the data frame.
19. The method of claim 18, wherein the indication information further comprises adjustment quantity information; the adjustment amount information is an increased amount of the data packets transmitted in the data frame or a decreased amount of the data packets transmitted in the data frame;
if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing parsing of the data packets received over the data frame; increasing the number of the parsed data packets to be the adjustment number information;
reducing parsing of the data packets received over the data frame if the received adjustment direction information indicates reducing the number of data packets transmitted in the data frame; and reducing the number of the parsed data packets to be the adjustment number information.
20. The method according to claim 18 or 19, wherein the indication information further comprises an adjustment point in time;
The adjustment time point is used for indicating a time point for increasing or decreasing the number of the data packets on the data frame, and comprises absolute time A or relative time B;
the absolute time A is a corresponding moment point when the count value of the link clock is A;
the relative time B is a time point of the time B after the time point of the indication information;
if the received adjustment direction information indicates to increase the number of data packets transmitted in the data frame, increasing the number of data packets received by the data frame after an adjustment time point;
and if the received adjustment direction information indicates to reduce the number of the data packets transmitted in the data frame, reducing the number of the data packets received by the data frame after the adjustment time point.
21. A data transmission system comprising a data transmitting device according to any one of claims 1 to 6 and a data receiving device according to any one of claims 7 to 11;
the data transmitting device is used for transmitting data to the data receiving device in the form of data packets through a data frame of a synchronous link, and transmitting indication information to the data receiving device through the synchronous link; the data carries a data clock, and the indication information is used for indicating and adjusting the number of the data packets transmitted on the data frame;
The data receiving device is used for receiving the data packets and the indication information from the synchronous link, analyzing the data packets to obtain the data, and adjusting and analyzing the number of the data packets received through the data frames according to the indication information.
CN202210451952.XA 2022-04-26 2022-04-26 Data transmitting apparatus, data receiving apparatus, data transmitting method, and data transmitting system Pending CN116996460A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210451952.XA CN116996460A (en) 2022-04-26 2022-04-26 Data transmitting apparatus, data receiving apparatus, data transmitting method, and data transmitting system
PCT/CN2022/134820 WO2023207067A1 (en) 2022-04-26 2022-11-28 Data sending apparatus, data receiving apparatus, data transmission method, and data transmission system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210451952.XA CN116996460A (en) 2022-04-26 2022-04-26 Data transmitting apparatus, data receiving apparatus, data transmitting method, and data transmitting system

Publications (1)

Publication Number Publication Date
CN116996460A true CN116996460A (en) 2023-11-03

Family

ID=88517169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210451952.XA Pending CN116996460A (en) 2022-04-26 2022-04-26 Data transmitting apparatus, data receiving apparatus, data transmitting method, and data transmitting system

Country Status (2)

Country Link
CN (1) CN116996460A (en)
WO (1) WO2023207067A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873180B (en) * 2014-03-31 2017-02-15 重庆华伟工业(集团)有限责任公司 Receiving clock generating method and device for synchronous service in time division multiple access communication system
US9749123B1 (en) * 2016-06-08 2017-08-29 Google Inc. Fast clock and data recovery for free-space optical communications
CN111628841B (en) * 2020-05-20 2021-06-29 武汉东湖学院 Method and system for realizing multi-service transmission clock synchronization
CN114257772A (en) * 2021-11-26 2022-03-29 苏州华兴源创科技股份有限公司 Data transmission adjusting method and device, computer equipment and readable storage medium

Also Published As

Publication number Publication date
WO2023207067A1 (en) 2023-11-02

Similar Documents

Publication Publication Date Title
CN104320843B (en) Audio synchronization method of Bluetooth sound production device
EP1763175B1 (en) Stream data reception/reproduction device and stream data reception/reproduction method
CN101778405A (en) Method and system for synchronous acquisition of wireless sensor network for structural health monitoring
CN104618195A (en) Bandwidth estimation method and device
JP6575529B2 (en) Usable band estimation system, usable band estimation method, receiving apparatus, and control program for receiving apparatus
CN101599965A (en) Based on the self-adaption high-speed information transmission protocol of measuring
JP6232870B2 (en) Wireless communication system, wireless communication method, program, and recording medium
WO2012093283A1 (en) Controlling and optimizing system latency
CN109981214B (en) Transmission control method and device
US20130114423A1 (en) Packet synchronization receiver
CN111988106B (en) Synchronization system for single-wire transmission of PPS and TOD information
US20140241479A1 (en) Frequency difference detection device, frequency difference detection method, and program
CN104426623A (en) Mobile Internet radio receiver
CN112911650A (en) Mobile high-definition video intelligent bidirectional detection bandwidth control system
CN107534606B (en) Frame start optimization method, system and readable medium in telecommunication system
US20220029927A1 (en) Electronic device and frame transmission method of electronic device
CN116260772A (en) Bridge end-to-end deterministic forwarding method, bridge transmitting end and receiving end
KR20080012920A (en) Method and apparatus for adaptive polling in a wireless communication device
US20160127245A1 (en) System Architecture for Varying Rate Transmission
CN116996460A (en) Data transmitting apparatus, data receiving apparatus, data transmitting method, and data transmitting system
US8107500B2 (en) Communication control apparatus, communication control method, and computer program
CN112640355B (en) MAC device and time point estimation method
CN113542215A (en) Method for improving streaming media transmission performance and related device
EP3327996A1 (en) Method and circuit for congestion detection
JP5234845B2 (en) Packet transmitting / receiving apparatus, method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination