A data sending method and device, electronic equipment and storage medium

By calculating the expected packet transmission interval of GOP image groups in the video network terminal, the problem of sudden increase in network bandwidth caused by frame size differences was solved, and uniform transmission of data packets was achieved, thereby improving the data transmission efficiency and bandwidth utilization of the video network.

CN113891173BActive Publication Date: 2025-11-21VISIONVERA INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111096124.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-15
Publication Date
2025-11-21
Estimated Expiration
2041-09-15

AI Technical Summary

Technical Problem

In video networks, due to the large differences in frame size between different types, and when the frame time interval is not set reasonably, the transmission time interval between data packets becomes uneven, causing a sudden increase in network bandwidth and putting pressure on the video network bandwidth.

Method used

By obtaining the actual packet transmission interval between each data packet in the historical GOP image group and calculating the expected packet transmission interval based on the transmission interval adjustment parameter, the transmission time interval of the data packets in the GOP image group to be sent is controlled, thereby achieving uniform transmission of data packets.

Benefits of technology

It reduces the bandwidth pressure on the video network caused by sudden surges in bandwidth, and improves data transmission efficiency and network bandwidth utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113891173B_ABST
    Figure CN113891173B_ABST
Patent Text Reader

Abstract

The application provides a data sending method and device, electronic equipment and storage medium. The method comprises the following steps: acquiring actual packet sending intervals between each data packet in a historical GOP image group; acquiring an expected packet sending interval for controlling intervals between adjacent data packets in a to-be-sent GOP image group according to the actual packet sending interval of the historical GOP image group and a transmission interval adjustment parameter, the transmission interval adjustment parameter representing a proportional relationship between the number of data packets in the to-be-sent GOP image group and the number of data packets in a single historical GOP image group; and sending the data packets in the to-be-sent GOP image group to a receiving end according to the expected packet sending interval. The method uses the actual packet sending interval of the historical GOP image group to obtain the expected packet sending interval, and controls the data packets in the to-be-sent GOP image group to be sent uniformly according to the expected packet sending interval, thereby realizing uniform packet optimization processing of the video data packets in the video live interaction network, and reducing the bandwidth pressure of the video live interaction network caused by the sudden surge of bandwidth.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a data transmission method, apparatus, electronic device, and storage medium. Background Technology

[0002] With the development and promotion of video network technology, more and more video network terminal devices are being deployed and used. One of the main functions of video network terminal devices is video data transmission, so the efficiency of video data transmission in video networks is crucial to the performance of the network. Various algorithms and network technologies are widely used in network data transmission and play an important role in optimizing network performance.

[0003] In related technologies, video data acquired by video network terminals is transmitted over the network after encoding, according to frame intervals. That is, video encoded frame data is generated according to the frame rate, and the application layer obtains the encoded frames for network transmission. However, different types of frames vary significantly in size. If the frame interval is not set appropriately, the transmission time between data packets of a certain type of frame data may become too short, leading to a sudden surge in network bandwidth and thus impacting the bandwidth of the video network. Therefore, controlling the transmission interval between data packets to prevent bandwidth pressure on the video network caused by sudden bandwidth spikes has become an urgent problem to be solved. Summary of the Invention

[0004] In view of the above problems, this application provides a data transmission method, apparatus, electronic device and storage medium, which can ensure uniform transmission of data packets and reduce the bandwidth pressure on the video network caused by sudden bandwidth surges.

[0005] The first aspect of this application provides a data transmission method applied to a video network terminal, the method comprising:

[0006] Obtain the actual packet transmission interval between each data packet in the historical GOP image group;

[0007] Based on the actual packet sending interval and transmission interval adjustment parameters of the historical GOP image group, the expected packet sending interval is obtained. The transmission interval adjustment parameter represents the ratio of the number of data packets in the GOP image group to be sent to the number of data packets in a single historical GOP image group. The expected packet sending interval is used to control the transmission time interval between adjacent data packets in the GOP image group to be sent.

[0008] The data packets in the GOP image group to be sent are sent to the receiving end according to the expected packet sending interval.

[0009] Optionally, the transmission interval adjustment parameter is a number not less than 1. The expected transmission interval is obtained based on the actual packet transmission interval of the historical GOP image group and the transmission interval adjustment parameter, including:

[0010] The actual packet transmission interval of the historical GOP image group is reduced according to the transmission interval adjustment parameter, and the reduced actual packet transmission interval is used as the expected packet transmission interval.

[0011] Optionally, before obtaining the expected packet sending interval by adjusting parameters based on the actual packet sending interval and transmission interval of the historical GOP image group, the method further includes:

[0012] The parameters input by the user are used as the transmission interval adjustment parameters; or

[0013] Use the default adjustment parameter as the transmission interval adjustment parameter;

[0014] The default adjustment parameter is obtained as follows: a first adjustment parameter and a second adjustment parameter are set. Based on the actual packet sending interval and packet accumulation status of data packets in the GOP image group under different adjustment parameters, a new third adjustment parameter is determined by a binary search method. The above steps are repeated until a transmission interval adjustment parameter that meets the preset conditions is obtained, wherein the first adjustment parameter is less than the second adjustment parameter.

[0015] Optionally, the method further includes:

[0016] Obtain the data packet to be sent. If the data packet to be sent is a video network data packet, parse the data packet to be sent using the video network protocol to obtain the parsing result.

[0017] Based on the channel address in the parsing result, the data packet to be sent is cached in the cache queue corresponding to the channel address;

[0018] According to the expected packet transmission interval, the data packets in the GOP image group to be sent are sent to the receiving end, including:

[0019] For the target buffer queue where the GOP image group to be sent is located, when the data packets in the previous GOP image group in the target buffer queue have been sent, the data packets in the GOP image group to be sent are sent to the receiving end according to the expected packet sending interval.

[0020] Optionally, according to the expected packet transmission interval, data packets in the GOP image group to be sent are sent to the receiving end, including:

[0021] Every preset time interval, check whether each of the cache queues has reached the expected packet sending time interval;

[0022] For each buffer queue that reaches the expected packet transmission interval, the data packets in the GOP image group to be sent are sent to the receiving end according to the expected packet transmission interval.

[0023] Optionally, the actual packet transmission interval between each packet in the historical GOP image group is obtained, including:

[0024] Get the number of data packets and the actual transmission time in the latest preset number of GOP image groups;

[0025] The ratio of the actual transmission duration to the number of data packets in the preset number of GOP image groups is used as the actual packet transmission interval; or

[0026] The ratio of the preset transmission duration to the number of data packets in the preset number of GOP image groups is used as the actual packet transmission interval.

[0027] Optionally, the actual packet transmission interval between each packet in the historical GOP image group is obtained, including:

[0028] Upon receiving the first data packet of a new I-frame, it is determined that all data packets in the previous GOP image group have been sent, and the number of data packets and the actual transmission duration in the previous GOP image group are obtained. A GOP image group includes one I-frame, and the I-frame is the first frame in the GOP image group.

[0029] The actual packet transmission interval is the ratio of the actual transmission duration to the number of data packets in the previous GOP image group; or

[0030] The ratio of the preset transmission duration to the number of data packets in the previous GOP image group is used as the actual packet transmission interval. A second aspect of this application provides a data transmission apparatus applied to a video network terminal, the apparatus comprising:

[0031] The first acquisition module is used to acquire the actual packet transmission interval between each data packet in the historical GOP image group;

[0032] The second acquisition module is used to acquire the expected packet sending interval based on the actual packet sending interval and transmission interval adjustment parameters of the historical GOP image group. The transmission interval adjustment parameters represent the ratio of the number of data packets in the GOP image group to be sent to the number of data packets in a single historical GOP image group. The expected packet sending interval is used to control the transmission time interval between adjacent data packets in the GOP image group to be sent.

[0033] The sending module is used to send data packets from the GOP image group to be sent to the receiving end according to the expected packet sending interval.

[0034] Optionally, the transmission interval adjustment parameter is a number not less than 1, and the second acquisition module includes:

[0035] The first determining submodule is used to reduce the actual packet transmission interval of the historical GOP image group according to the transmission interval adjustment parameter, and use the reduced actual packet transmission interval as the expected packet transmission interval.

[0036] Optionally, the device further includes:

[0037] The first determining module is used to use the parameters input by the user as the transmission interval adjustment parameters; or

[0038] The second determining module is used to use the default adjustment parameter as the transmission interval adjustment parameter;

[0039] The default adjustment parameter is obtained as follows: a first adjustment parameter and a second adjustment parameter are set. Based on the actual packet sending interval and packet accumulation status of data packets in the GOP image group under different adjustment parameters, a new third adjustment parameter is determined by a binary search method. The above steps are repeated until a transmission interval adjustment parameter that meets the preset conditions is obtained, wherein the first adjustment parameter is less than the second adjustment parameter.

[0040] Optionally, the device further includes:

[0041] The third acquisition module is used to acquire the data packet to be sent. If the data packet to be sent is a video network data packet, the data packet to be sent is parsed through the video network protocol to obtain the parsing result.

[0042] The caching module is used to cache the data packet to be sent into a cache queue corresponding to the channel address based on the channel address in the parsing result;

[0043] The sending module includes:

[0044] The first sending submodule is configured to send the data packets of the GOP image group to be sent to the receiving end according to the expected packet sending interval, when the data packets of the previous GOP image group in the target buffer queue where the GOP image group to be sent is located are sent.

[0045] Optionally, the sending module includes:

[0046] The detection submodule is used to detect whether each of the cache queues has reached the expected packet sending time interval at preset intervals.

[0047] The second sending submodule is used to send the data packets in the GOP image group to be sent to the receiving end according to the expected packet sending interval for each buffer queue that has reached the expected packet sending interval.

[0048] Optionally, the first acquisition module includes:

[0049] The first acquisition submodule is used to acquire the number of data packets and the actual transmission time in the latest preset number of GOP image groups;

[0050] The second determining submodule is used to take the ratio of the actual transmission duration to the number of data packets in the preset number of GOP image groups as the actual packet transmission interval; or

[0051] The third determining submodule is used to take the ratio of the preset transmission duration to the number of data packets in the preset number of GOP image groups as the actual packet transmission interval.

[0052] Optionally, the first acquisition module includes:

[0053] The second acquisition submodule is used to determine that all data packets in the previous GOP image group have been sent when the first data packet of the new I frame is received, and to obtain the number of data packets and the actual transmission time in the previous GOP image group. A GOP image group includes an I frame, and the I frame is the first frame in the GOP image group.

[0054] The fourth determining submodule is used to take the ratio of the actual transmission duration to the number of data packets in the previous GOP image group as the actual packet transmission interval; or

[0055] The fifth determining submodule is used to take the ratio of the preset transmission duration to the number of data packets in the previous GOP image group as the actual packet transmission interval.

[0056] A third aspect of this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executed, implements the steps of the data transmission method described in the first aspect of this application.

[0057] A fourth aspect of this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the data transmission method as described in the first aspect of this application.

[0058] The data transmission method of this application first obtains the actual packet transmission interval between each data packet in a historical GOP image group. Then, based on the actual packet transmission interval and transmission interval adjustment parameters of the historical GOP image group, the expected packet transmission interval is obtained. The transmission interval adjustment parameter represents the ratio of the number of data packets in the GOP image group to be transmitted to the number of data packets in a historical GOP image group. The expected packet transmission interval controls the transmission time interval between adjacent data packets in the GOP image group to be transmitted. Finally, the data packets in the GOP image group to be transmitted are sent to the receiving end according to the expected packet transmission interval. This method adjusts the actual packet transmission interval between each data packet in a historical GOP image group based on the ratio of the number of data packets in the GOP image group to be transmitted to the number of data packets in a single historical GOP image group to obtain the expected packet transmission interval. Then, based on the expected packet transmission interval, the data packets in the GOP image group to be transmitted are controlled to be transmitted evenly, achieving optimized packet distribution of video data packets in the video network and reducing the bandwidth pressure on the video network caused by sudden bandwidth surges. Attached Figure Description

[0059] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below.

[0060] Figure 1 This is a flowchart illustrating a data transmission method according to an embodiment of this application;

[0061] Figure 2 This is a schematic diagram illustrating a packet sending control result according to an embodiment of this application;

[0062] Figure 3 This is a schematic diagram illustrating another packet control result according to an embodiment of this application;

[0063] Figure 4 This is a schematic diagram illustrating a data transmission method according to an embodiment of this application;

[0064] Figure 5 This is a schematic diagram illustrating another data transmission method according to an embodiment of this application;

[0065] Figure 6 This is a structural block diagram of a data transmission device according to an embodiment of this application. Detailed Implementation

[0066] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0067] In related technologies, video data collected by video network terminals is transmitted over the network after encoding, and the transmission is based on frame intervals. That is, video encoded frame data is generated according to the frame rate, and the application layer obtains the encoded frames for network transmission, with the frame intervals being the same. Because P-frames and I-frames differ significantly in size, but the data transmission time for each frame is the same, the data transmission interval for each packet during I-frame data transmission is short, causing a sudden surge in network bandwidth and impacting the bandwidth of the video network.

[0068] Taking a 1080P 30fps video stream as an example, the video network terminal will send about 30 frames of video data per second (one GOP image group). One video frame is sent every 33ms. Each frame contains multiple video data packets, and the size of the video frames is different. That is, the amount of data to be sent every 33ms is different, which will lead to uneven video data transmission. When facing I-frames with a large amount of data, network bandwidth will easily increase suddenly, packet accumulation will occur, and the data transmission quality will be reduced.

[0069] To address the problems in related technologies, this application provides a data transmission method. Based on the ratio of the number of data packets in the GOP image group to be transmitted to the number of data packets in a single historical GOP image group, the actual packet transmission interval between each data packet in the historical GOP image group is adjusted to obtain the expected packet transmission interval suitable for adjacent data packets in the GOP image group to be transmitted. This ensures uniform transmission of data packets in the GOP image group and avoids phenomena such as sudden increases in network bandwidth. The data transmission method provided in this application, when applied to a video network terminal, can effectively solve the problem of instantaneous network bandwidth surges in related technologies. Figure 1 This is a flowchart illustrating a data transmission method according to an embodiment of this application. (Refer to...) Figure 1 The data transmission method of this application may include the following steps:

[0070] Step S11: Obtain the actual packet sending interval between each data packet in the historical GOP image group.

[0071] In this embodiment, the application layer of the video network terminal sends data packets through network sockets. The data packets pass through the protocol layer to the bottom layer of the operating system's network subsystem. The bottom layer of the network subsystem identifies whether the data packets need to be sent for control. If no packet sending control is needed, the data packets are sent directly to the receiving end through the network card. If packet sending control is needed, the data packets are cached in the cache queue.

[0072] Upon receiving a data packet, the network subsystem first identifies whether it is a video network packet based on its packet length and protocol type. If it is a video network packet, it then identifies whether the data within the packet is video stream data based on its data type. If it is video stream data, it identifies the video channel based on the channel address (video network address) carried in the packet, determining which video stream it is. After identifying the video channel, it determines which packet number within the GOP (Group of Pictures) it belongs to. Finally, the packet is buffered in the buffer queue corresponding to the video channel. If the data packet is not a video network packet, or its data type is not video stream data, it indicates that packet transmission control is not required, and the packet is directly sent to the receiving end via the network interface card (NIC).

[0073] In this embodiment, the video network terminal includes various video network remote conferencing terminals, which are mostly small computer systems composed of input / output interfaces, MCU core processing units, GPU and other computing units, flash and other storage units, and peripheral functional modules. These are deployed at various final nodes of the video network and communicate with various servers of the video network via the video network or IP network. They are capable of acquiring, encoding / decoding, outputting, and transmitting audio and video streams, and can realize functions such as remote video conferencing and remote video scheduling. The receiving end can also be a video network terminal.

[0074] The video data collected in the video network terminal is transmitted over the network after encoding, according to the frame time interval. The next frame of video image data will only be sent after one frame of video image data has been sent.

[0075] Frame types can include I-frames (Intra-coded picture, often called keyframes), P-frames (Predictive-coded picture, which is an inter-coded frame that uses the previous I-frame or P-frame for predictive coding), and B-frames (Bi-directionally predicted picture, which is an inter-coded frame that uses the previous and / or subsequent I-frames or P-frames for bidirectional predictive coding; B-frames cannot be used as reference frames).

[0076] A GOP (Group of Pictures) is a group of consecutive images, consisting of one I-frame and multiple B / P frames, and is the basic unit accessed by the codec. Each frame of video image data consists of at least one data packet, and the first data packet in a GOP is the first data packet of the I-frame.

[0077] In this embodiment, all video data from a specific video channel is stored in the corresponding buffer queue for that video channel (one buffer queue for each video channel). The data transmission method of this application can be applied to packet control for each video channel's data packets. To better illustrate this data transmission method, it is specifically stated that subsequent embodiments will use packet control for data packets in a single buffer queue as an example; the principle for controlling packet transmission for data packets in other buffer queues is the same. Here, "historical GOP image group" refers to a GOP image group that has already been transmitted. "Actual packet transmission interval" refers to the actual transmission interval between packets in a transmitted GOP image group when they are transmitted; it can also be understood as the average packet transmission interval of data packets in the historical GOP image group.

[0078] Step S12: Based on the actual packet sending interval and transmission interval adjustment parameters of the historical GOP image group, obtain the expected packet sending interval. The transmission interval adjustment parameter represents the ratio of the number of data packets in the GOP image group to be sent to the number of data packets in the historical GOP image group. The expected packet sending interval is used to control the transmission time interval between adjacent data packets in the GOP image group to be sent.

[0079] In this embodiment, the expected packet transmission interval can be obtained at any time before sending the data packets in the GOP image group to be sent. This embodiment does not impose specific restrictions on the time for obtaining the expected packet transmission interval.

[0080] In this embodiment, the expected packet sending interval is an ideal packet sending interval. By using this ideal packet sending interval to control the sending of adjacent data packets in the GOP image group to be sent, the data packets can be sent evenly.

[0081] The transmission interval adjustment parameter reflects the ratio of the number of data packets in the upcoming GOP image group to the number of data packets in a single historical GOP image group. Since the data packets in the upcoming GOP image group have not yet been transmitted, to achieve uniform data packet transmission, the number of data packets in the upcoming GOP image group can be reasonably predicted. This prediction can be made using the transmission interval adjustment parameter. Specifically, multiplying a single historical GOP image group by the transmission interval adjustment parameter yields the number of data packets in the current upcoming GOP image group. Because the total transmission duration (GOP duration) of different GOP image groups is usually constant, the expected transmission interval applicable to the upcoming GOP image group can be obtained using the single GOP duration and the predicted number of data packets in the upcoming GOP image group.

[0082] Step S13: Send the data packets in the GOP image group to be sent to the receiving end according to the expected packet sending interval.

[0083] In this embodiment, when sending data packets in a group of images (GOPs) to be sent, the sending interval between packets is controlled according to the expected packet sending interval. This can achieve uniform transmission of data packets, prevent data packet accumulation from causing a sudden increase in network bandwidth, and thus achieve optimized packet processing of video network data packets, reducing the bandwidth pressure on the video network caused by sudden bandwidth surges.

[0084] For example, assuming the expected packet transmission interval is T, then for the first data packet b1 in the GOP image group to be sent, the first data packet b1 will be sent when the time between the current time and the time of the last data packet in the previous sent GOP image group is T. Next, the second data packet b2 will be sent when the time between the current time and the time of the first data packet b1 is T, and the third data packet b3 will be sent when the time between the current time and the time of the first data packet b2 is T, and so on, until all data packets in the GOP image group to be sent are sent according to the expected packet transmission interval T.

[0085] The data transmission method in this embodiment first obtains the actual packet transmission interval between each data packet in the historical GOP image group. Then, based on the actual packet transmission interval and transmission interval adjustment parameters of the historical GOP image group, the expected packet transmission interval is obtained. The transmission interval adjustment parameter represents the ratio of the number of data packets in the GOP image group to be transmitted to the number of data packets in the historical GOP image group. The expected packet transmission interval controls the transmission time interval between adjacent data packets in the GOP image group to be transmitted. Finally, the data packets in the GOP image group to be transmitted are sent to the receiving end according to the expected packet transmission interval. This method adjusts the actual packet transmission interval between each data packet in the historical GOP image group based on the ratio of the number of data packets in the GOP image group to be transmitted to the number of data packets in a single historical GOP image group to obtain the expected packet transmission interval. Then, based on the expected packet transmission interval, the data packets in the GOP image group to be transmitted are controlled to be transmitted evenly, achieving optimized packet distribution of video data packets in the video network, reducing the bandwidth pressure on the video network caused by sudden bandwidth surges, and ensuring data transmission efficiency.

[0086] In conjunction with the above embodiments, in one implementation, obtaining the expected packet sending interval based on the actual packet sending interval and transmission interval adjustment parameters of historical GOP image groups may include:

[0087] The actual packet transmission interval of the historical GOP image group is reduced according to the transmission interval adjustment parameter, and the reduced actual packet transmission interval is used as the expected packet transmission interval.

[0088] In this embodiment, the transmission interval adjustment parameter is an auxiliary coefficient. Adjusting the expected packet transmission interval of the data packets in the GOP image group to be sent using this parameter maximizes the data packet transmission capacity of the GOP image group, thus preventing packet accumulation at the end of the GOP duration. If the transmission interval adjustment parameter is less than 1, the expected packet transmission interval of the GOP image group to be sent will increase, causing packet accumulation, which does not meet the purpose of transmission control. Therefore, in this embodiment, the transmission interval adjustment parameter will not be less than 1.

[0089] When the transmission interval adjustment parameter is not less than 1, the number of data packets in the predicted GOP image group is relatively large. Therefore, it is necessary to appropriately shorten the expected packet transmission interval between packets. If the expected packet transmission interval between packets is not shortened, it will also result in the inability to send all data packets within one GOP duration (the GOP duration of different GOP image groups is generally the same; for example, in a 1080P 30fps video stream, the GOP duration is approximately 1 second). Therefore, in order to ensure that data packets are sent on time, when the transmission interval adjustment parameter is not less than 1, the ratio of the actual packet transmission interval of the historical GOP image group to the transmission interval adjustment parameter can be directly used as the expected packet transmission interval, thereby reducing the actual packet transmission interval of the historical GOP image group.

[0090] For example, taking a single GOP duration of T microseconds as an example, and transmitting M packets of video data in a historical GOP image group, if the transmission interval adjustment parameter is 1.1, then the expected packet transmission interval of the GOP image group to be transmitted is tn = T / N = T / (M*1.1) = tn' / 1.1. Where tn' is the actual packet transmission interval of the data packets in the historical GOP image group, and N is the predicted number of data packets in the GOP image group to be transmitted. From the above reasoning, it can be seen that in actual operation, the actual packet transmission interval of the historical GOP image group can be directly obtained, and the ratio of the actual packet transmission interval of the historical GOP image group to the transmission interval adjustment parameter is determined as the expected packet transmission interval.

[0091] For another example, taking a single GOP duration of T microseconds as an example, if 2M packets of video data are transmitted between two historical GOP image groups, and the transmission interval adjustment parameter is 1.1, then the expected packet transmission interval of the GOP image group to be transmitted is tn = tn' / 1.1 = 2T / (2M*1.1).

[0092] In this embodiment, the ratio of the actual packet transmission interval to the transmission interval adjustment parameter of the historical GOP image group can be directly used as the expected packet transmission interval, so that the video network terminal can quickly obtain the expected packet transmission interval after obtaining the actual packet transmission interval of the historical GOP image group, thereby improving the efficiency of data packet transmission control.

[0093] In conjunction with the above embodiments, in one implementation, this application also provides a method for adjusting transmission interval parameters, which may specifically include:

[0094] Use the parameters input by the user as the transmission interval adjustment parameters; or

[0095] Use the default adjustment parameters as the transmission interval adjustment parameters;

[0096] The default adjustment parameters are obtained as follows: a first adjustment parameter and a second adjustment parameter are set. Based on the actual packet sending interval and packet accumulation status of data packets in the GOP image group under different adjustment parameters, a third adjustment parameter is determined by a binary search method. The above steps are repeated until a transmission interval adjustment parameter that meets the preset conditions is obtained, and the first adjustment parameter is less than the second adjustment parameter.

[0097] In this embodiment, either user-inputted parameters or default adjustment parameters can be used as transmission interval adjustment parameters, which can be set in the video network terminal. The default adjustment parameters are obtained based on empirical values.

[0098] The transmission interval adjustment parameter is an appropriate value obtained through experimentation. The following will take a commonly used terminal 1080P 30fps 4M as an example to introduce how to obtain the transmission interval adjustment parameter based on experience. The specific idea is to gradually narrow down the range using the binary search method to determine the transmission interval adjustment parameter.

[0099] Step 1: Set the transmission interval adjustment parameter to 1 (first adjustment parameter), conduct video call service, use network packet capture software (such as Wireshark) to capture network data packets of the video network terminal, extract the video data packets of this video channel, analyze the time interval between data packets, and find that the underlying packet transmission interval is uniform. Then, check the packet distribution status through the proc file system (a virtual file system that stores a series of special files of the current kernel running state. Users can view information about system hardware and currently running processes through these files, and even change the kernel running state by modifying some of these files). Occasionally, packet accumulation can be seen in the packet distribution buffer, and the accumulated packets will accumulate. The data packet time scatter plot is uniform, such as... Figure 2 As shown. Figure 2 This is a schematic diagram illustrating a packet sending control result in one embodiment of this application.

[0100] Step 2: Set the transmission interval adjustment parameter to 2 (second adjustment parameter), conduct video call service, use network packet capture software to capture network data packets of the video network terminal, extract the video data packets of this video channel, and analyze the time interval between data packets. It was found that the packet time interval within each frame is uniform, and the data of this frame is sent out in less than 33ms. The time interval between each frame is relatively long. Checking the packet distribution status through the proc file system, no packet aggregation is observed, and the scatter plot of data packet time is uneven. Figure 3 As shown. Figure 3 This is a schematic diagram illustrating another packet control result according to an embodiment of this application.

[0101] The two steps above show that a transmission interval adjustment parameter of 1 is too small, while a parameter of 2 is too large.

[0102] Step 3: Use binary search to gradually narrow down the range, set the transmission interval adjustment parameter to 1.5 (third adjustment parameter), conduct video call service, use network packet capture software to capture network data packets of the video network terminal, extract the video data packets of the video channel, and analyze the time interval between data packets.

[0103] Step 4: Repeat the above process. After several narrowing experiments, obtain an appropriate transmission interval adjustment parameter. After setting this transmission interval adjustment parameter, it will not cause packet accumulation in the packet buffer, nor will it cause uneven data packets.

[0104] This embodiment provides two methods for obtaining transmission interval adjustment parameters, allowing users to select and obtain the expected packet transmission interval according to actual needs, thereby improving the flexibility of data packet distribution control.

[0105] In conjunction with the above embodiments, in one implementation, the method of this application may further include:

[0106] Obtain the data packet to be sent. If the data packet to be sent is a video network data packet, parse the data packet to be sent using the video network protocol to obtain the parsing result.

[0107] Based on the channel address in the parsing result, the data packets to be sent are cached in the cache queue corresponding to the channel address.

[0108] The description of this part has been given above, so it will not be repeated here.

[0109] Based on this, according to the expected packet transmission interval, the data packets in the GOP image group to be sent are sent to the receiving end, including:

[0110] For the target buffer queue containing the GOP image group to be sent, when the data packets of the previous GOP image group in the target buffer queue have been sent, the data packets of the GOP image group to be sent are sent to the receiving end according to the expected packet sending interval.

[0111] In this embodiment, the GOP image group to be sent is buffered in the target buffer queue. The video network terminal will send the data packets of the GOP image group to be sent to the receiving end according to the expected packet sending interval while waiting for the data packets in the previous GOP image group to be sent.

[0112] In conjunction with the above embodiments, in one implementation, data packets from the GOP image group to be sent are sent to the receiving end according to the expected packet transmission interval, which may specifically include:

[0113] Every preset time interval, check whether each cache queue has reached the expected packet sending interval;

[0114] For each buffer queue that has reached the expected packet sending interval, the data packets in the GOP image group to be sent are sent to the receiving end according to the expected packet sending interval.

[0115] In this embodiment, a unified timer is installed within the video network terminal. This timer polls each cache queue at preset intervals to check whether the expected packet transmission interval has been reached. Each cache queue has a corresponding expected packet transmission interval, and different cache queues have different expected packet transmission intervals.

[0116] When a buffer queue is detected to have reached the expected packet transmission interval, the video network terminal sends the data packets in the GOP image group to be sent to the receiving end according to the expected packet transmission interval.

[0117] In this embodiment, each cache queue is polled at preset intervals, realizing the monitoring and management of multiple cache queues. This allows the video network terminal to better transmit data packets in multiple cache queues in parallel, improving the efficiency of data packet transmission control.

[0118] In conjunction with the above embodiments, in one implementation, obtaining the actual packet transmission interval between each data packet in a historical GOP image group may specifically include:

[0119] Get the number of data packets and the actual transmission time in the latest preset number of GOP image groups;

[0120] The actual packet transmission interval is the ratio of the actual transmission duration to the number of data packets in a preset number of GOP image groups; or

[0121] The ratio of the preset transmission duration to the number of data packets in a preset number of GOP image groups is used as the actual packet transmission interval.

[0122] In this embodiment, the actual packet transmission interval between each data packet in the historical GOP image group can be obtained in any of the following ways:

[0123] 1. The actual packet transmission interval is the ratio of the actual transmission time of the data packets in the latest one or more GOP image groups to the total number.

[0124] 2. The ratio of the preset transmission duration of data packets in the latest one or more GOP image groups to the total number is used as the actual packet transmission interval.

[0125] The preset transmission duration is derived from the GOP duration. For example, for a single GOP image group, the preset transmission duration is the duration of one GOP; for N GOP image groups, the preset transmission duration is the sum of the durations of N GOPs.

[0126] This embodiment provides two methods for obtaining the actual packet sending interval, enriching the ways to obtain the expected packet sending interval.

[0127] In conjunction with the above embodiments, in one implementation, obtaining the actual packet transmission interval between each data packet in a historical GOP image group may specifically include:

[0128] Upon receiving the first data packet of a new I-frame, it is determined that all data packets in the previous GOP image group have been sent, and the number of data packets and the actual transmission duration in the previous GOP image group are obtained. A GOP image group includes one I-frame, and the I-frame is the first frame in the GOP image group.

[0129] The actual packet transmission interval is the ratio of the actual transmission duration to the number of packets in the previous GOP (Group of Pictures).

[0130] The ratio of the preset transmission duration to the number of data packets in the previous GOP image group is used as the actual packet transmission interval.

[0131] In this embodiment, when the video network terminal obtains the first data packet in the GOP image group to be sent from the application layer, it can further obtain the actual packet sending interval between each data packet in the most recent (previous) sent GOP image group in the target buffer queue.

[0132] In practice, when the video network terminal receives the first data packet of an I-frame, it can be determined that it has received the first data packet in the Group of Pictures (GOP) to be sent. Generally, the first data packet of an I-frame is the data packet numbered 0 in the I-frame, the second data packet is the data packet numbered 1 in the I-frame, and so on.

[0133] In this embodiment, when obtaining the expected packet sending interval, the actual packet sending interval of the latest sent GOP image group can be used, because the network environment in which the latest sent GOP image group was sent is most similar to the network environment in which the GOP image group to be sent is currently located. By using the packet sending data generated in this similar network environment to obtain the expected packet sending interval and controlling the sending of data packets in the unsent GOP image group, the packet sending control effect can be made more ideal.

[0134] In conjunction with the above embodiments, in one implementation, the data transmission method of this application may further include:

[0135] During the process of sending data packets from the GOP image group to be sent to the receiving end, packet sending information is obtained. The packet sending information includes at least: the actual packet sending interval between each data packet in the previous sent GOP image group, the expected packet sending interval, and information about the data packets in the GOP image group to be sent.

[0136] Packet information is displayed through a virtual file system.

[0137] In this embodiment, the sending end is configured with a virtual file system, such as the proc file system, which stores a series of special files that contain the current kernel running state. Users can view information about the system hardware and currently running processes through these files, and can even change the kernel running state by modifying some of these files.

[0138] During the process of sending data packets from a group of images (GOPs) to the receiving end, the sending end can display the packet information through a virtual file system.

[0139] The packet sending information may include the actual packet sending interval between each data packet in the previously sent GOP image group, the expected packet sending interval, and information about the data packets in the GOP image group to be sent. In addition, the packet sending information may also include the total number of data packets in the previously sent GOP image group, the total transmission duration of the data packets in the previously sent GOP image group, and the increment coefficient, etc. The specific packet sending information can be set according to actual needs, and this embodiment does not impose specific limitations on it.

[0140] In one implementation, the user can also operate on the virtual file system to set parameters during the packet sending process, such as the increment coefficient. After detecting the increment coefficient input by the user, the sending end prioritizes the user-input increment coefficient and obtains the expected packet sending interval based on it. Secondly, the user can also set a packet sending control function switch on the virtual file system. When packet sending control is needed, the function switch is set to the "on" state; when packet sending control is not needed, the function switch is set to the "off" state.

[0141] In this embodiment, the sending end displays packet information in real time, enabling users to better view the current packet sending status and make subsequent decisions, thus optimizing the user experience.

[0142] Figure 4 This is a schematic diagram illustrating a data transmission method according to an embodiment of this application. The following will be combined with... Figure 4 This paper provides an overall description of the data transmission method of this application.

[0143] exist Figure 4 In this context, the sending end includes the application layer, kernel layer, driver layer, and physical layer.

[0144] The application layer packages the video data to be sent into data packets via network sockets and transmits them to the kernel layer (the bottom layer of the network subsystem).

[0145] The kernel layer identifies the data packet data type as a video stream, determines this portion of the data packet as requiring packet transmission control, and inserts the data packet into the buffer queue corresponding to the video channel based on the channel address. If the kernel layer identifies the data packet data type as not being a video stream, this portion of the data packet is determined as not requiring packet transmission control, and is then directly sent to the receiving end through the physical layer network card.

[0146] When the kernel layer obtains the first data packet in the GOP image group to be sent, it obtains the actual packet sending interval between each data packet in the previous sent GOP image group in the current buffer queue (it can also obtain the actual packet sending interval between each data packet in the historical GOP image group, as described above), and obtains the expected packet sending interval.

[0147] The kernel layer uses a high-precision timer to monitor in real time whether each data packet in the buffer queue has reached the expected packet sending interval. When it arrives, the data packet is sent directly to the receiving end through the physical layer network card.

[0148] In this embodiment, when the network subsystem of the sending end operating system receives the network data to be sent by the application layer, it identifies the video network data packets through the video network transmission protocol and caches the video network video data packets that need packet control into the cache queue corresponding to the video channel. Based on the actual packet sending interval between each data packet in the historical GOP image group, the expected packet sending interval is obtained. The video network video data packets in the cache queue are sent according to the expected packet sending interval through a high-precision timer, thereby realizing the packet distribution optimization of the video network video data packets, reducing the video network bandwidth pressure caused by sudden bandwidth surges, ensuring data transmission efficiency, and improving the utilization rate of network bandwidth during idle time.

[0149] Figure 5 This is a schematic diagram illustrating another data transmission method according to an embodiment of this application.

[0150] exist Figure 5In the protocol layer, before the kernel layer calls the network card driver to send data packets, it intercepts the network skb (used to maintain socket buffer state and description information; it is a carrier for network data packets to be transmitted through various layers of the system, acting on the entire process of network packet transmission in the operating system) and passes the skb to the kernel layer. Next, the kernel layer identifies the type of network data packet. If the network data packet is a video stream, it determines that packet transmission control is required and then buffers the data packet into the corresponding buffer queue based on the channel address. If the network data packet is not a video stream, it determines that packet transmission control is not required and directly sends the data packet through the network card. If the currently received data packet is the first data packet of an I-frame, it calculates the actual packet transmission interval between each data packet in the previously sent GOP (Group of Pictures) and obtains the expected packet transmission interval based on the calculated actual packet transmission interval.

[0151] After the high-precision timer in the kernel layer obtains the expected packet sending interval, it monitors in real time whether each data packet in the buffer queue has reached the expected packet sending interval. When it arrives, the data packet is sent directly to the receiving end through the physical layer network card.

[0152] Since there may be multiple channels, the kernel layer can also use a polling mechanism. A timer is set, and when the timer reaches its set interval, each channel is checked for data requiring packet control, and the timer is updated accordingly. When searching a specific channel, if the difference between the current time and the last packet transmission time reaches the expected transmission interval, and there are data packets to be sent in the buffer queue, then the network card driver is directly invoked to send the data packets to the receiving end.

[0153] In this embodiment, all network data packets of the video network terminal are transmitted through the underlying network subsystem. Before the network card driver is called at the kernel layer to send data packets, the network skb is intercepted, enabling buffering and other processing of all network data to be sent. By parsing the video network data packets, I-frame and P-frame information in the video network data packets can be obtained, thereby calculating the GOP time between I-frames. By counting and statistical methods, the number of video data packets in a GOP can be obtained simultaneously, thus calculating the actual packet sending interval and obtaining the expected packet sending interval. The system's high-precision timer has a time accuracy of 5µs. Through timed polling and sending interval judgment, the video network data packets can be sent evenly with a small time error, thereby achieving optimized packet distribution of video network data packets, reducing the bandwidth pressure on the video network caused by sudden bandwidth surges, and improving the utilization rate of network bandwidth during idle time.

[0154] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.

[0155] Based on the same inventive concept, this application provides a device control device 600, which is applied to the transmitting end. Figure 6 This is a structural block diagram of a data transmission device according to an embodiment of this application. (Refer to...) Figure 6 The apparatus 600 of this application may include:

[0156] The first acquisition module 601 is used to acquire the actual packet sending interval between each data packet in the historical GOP image group;

[0157] The second acquisition module 602 is used to acquire the expected packet sending interval based on the actual packet sending interval and transmission interval adjustment parameter of the historical GOP image group. The transmission interval adjustment parameter represents the ratio of the number of data packets in the GOP image group to be sent to the number of data packets in a single historical GOP image group. The expected packet sending interval is used to control the transmission time interval between adjacent data packets in the GOP image group to be sent.

[0158] The sending module 603 is used to send the data packets in the GOP image group to be sent to the receiving end according to the expected packet sending interval.

[0159] Optionally, the transmission interval adjustment parameter is a number not less than 1, and the second acquisition module 602 includes:

[0160] The first determining submodule is used to reduce the actual packet transmission interval of the historical GOP image group according to the transmission interval adjustment parameter, and use the reduced actual packet transmission interval as the expected packet transmission interval.

[0161] Optionally, the device 600 further includes:

[0162] The first determining module is used to use the parameters input by the user as the transmission interval adjustment parameters; or

[0163] The second determining module is used to use the default adjustment parameter as the transmission interval adjustment parameter;

[0164] The default adjustment parameter is obtained as follows: a first adjustment parameter and a second adjustment parameter are set. Based on the actual packet sending interval and packet accumulation status of data packets in the GOP image group under different adjustment parameters, a new third adjustment parameter is determined by a binary search method. The above steps are repeated until a transmission interval adjustment parameter that meets the preset conditions is obtained, wherein the first adjustment parameter is less than the second adjustment parameter.

[0165] Optionally, the device 600 further includes:

[0166] The third acquisition module is used to acquire the data packet to be sent. If the data packet to be sent is a video network data packet, the data packet to be sent is parsed through the video network protocol to obtain the parsing result.

[0167] The caching module is used to cache the data packet to be sent into a cache queue corresponding to the channel address based on the channel address in the parsing result;

[0168] The sending module 603 includes:

[0169] The first sending submodule is configured to send the data packets of the GOP image group to be sent to the receiving end according to the expected packet sending interval, when the data packets of the previous GOP image group in the target buffer queue where the GOP image group to be sent is located are sent.

[0170] Optionally, the sending module 603 includes:

[0171] The detection submodule is used to detect whether each of the cache queues has reached the expected packet sending time interval at preset intervals.

[0172] The second sending submodule is used to send the data packets in the GOP image group to be sent to the receiving end according to the expected packet sending interval for each buffer queue that has reached the expected packet sending interval.

[0173] Optionally, the first acquisition module 601 includes:

[0174] The first acquisition submodule is used to acquire the number of data packets and the actual transmission time in the latest preset number of GOP image groups;

[0175] The second determining submodule is used to take the ratio of the actual transmission duration to the number of data packets in the preset number of GOP image groups as the actual packet transmission interval; or

[0176] The third determining submodule is used to take the ratio of the preset transmission duration to the number of data packets in the preset number of GOP image groups as the actual packet transmission interval.

[0177] Optionally, the first acquisition module 601 includes:

[0178] The second acquisition submodule is used to determine that all data packets in the previous GOP image group have been sent when the first data packet of the new I frame is received, and to obtain the number of data packets and the actual transmission time in the previous GOP image group. A GOP image group includes an I frame, and the I frame is the first frame in the GOP image group.

[0179] The fourth determining submodule is used to take the ratio of the actual transmission duration to the number of data packets in the previous GOP image group as the actual packet transmission interval; or

[0180] The fifth determining submodule is used to take the ratio of the preset transmission duration to the number of data packets in the previous GOP image group as the actual packet transmission interval. Based on the same inventive concept, this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When executed by the processor, the program implements the steps of the data transmission method in any of the above embodiments of this application.

[0181] Based on the same inventive concept, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps in the data transmission method of any of the above embodiments of this application.

[0182] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0183] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0184] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, embodiments of the present invention can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of the present invention can take the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0185] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0186] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0187] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0188] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes the element.

[0189] The present invention has provided a detailed description of a data transmission method, apparatus, electronic device, and storage medium. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A data transmission method, characterized in that, Applied to video network terminals, the method includes: Obtain the actual packet transmission interval between each data packet in the historical GOP image group; Based on the actual packet sending interval and transmission interval adjustment parameters of the historical GOP image group, the expected packet sending interval is obtained. The transmission interval adjustment parameter represents the ratio of the number of data packets in the GOP image group to be sent to the number of data packets in a single historical GOP image group. The expected packet sending interval is used to control the transmission time interval between adjacent data packets in the GOP image group to be sent. According to the expected packet transmission interval, the data packets in the GOP image group to be sent are sent to the receiving end; Before adjusting parameters based on the actual packet sending interval and transmission interval of the historical GOP image group to obtain the expected packet sending interval, the method further includes: The parameters input by the user are used as the transmission interval adjustment parameters; or Use the default adjustment parameter as the transmission interval adjustment parameter; The default adjustment parameter is obtained as follows: a first adjustment parameter and a second adjustment parameter are set. Based on the actual packet sending interval and packet accumulation status of data packets in the GOP image group under different adjustment parameters, a third adjustment parameter is determined by a binary search method. The above steps are repeated until a transmission interval adjustment parameter that meets the preset conditions is obtained, wherein the first adjustment parameter is less than the second adjustment parameter.

2. The method according to claim 1, characterized in that, The transmission interval adjustment parameter is a number not less than 1. Based on the actual packet transmission interval of the historical GOP image group and the transmission interval adjustment parameter, the expected packet transmission interval is obtained, including: The actual packet transmission interval of the historical GOP image group is reduced according to the transmission interval adjustment parameter, and the reduced actual packet transmission interval is used as the expected packet transmission interval.

3. The method according to any one of claims 1-2, characterized in that, The method further includes: Obtain the data packet to be sent. If the data packet to be sent is a video network data packet, parse the data packet to be sent using the video network protocol to obtain the parsing result. Based on the channel address in the parsing result, the data packet to be sent is cached in the cache queue corresponding to the channel address; According to the expected packet transmission interval, the data packets in the GOP image group to be sent are sent to the receiving end, including: For the target buffer queue where the GOP image group to be sent is located, when the data packets in the previous GOP image group in the target buffer queue have been sent, the data packets in the GOP image group to be sent are sent to the receiving end according to the expected packet sending interval.

4. The method according to claim 3, characterized in that, According to the expected packet transmission interval, the data packets in the GOP image group to be sent are sent to the receiving end, including: Every preset time interval, check whether each of the cache queues has reached the expected packet sending interval; For each buffer queue that has reached the expected packet sending interval, the data packets in the GOP image group to be sent are sent to the receiving end according to the expected packet sending interval.

5. The method according to claim 3, characterized in that, Obtain the actual packet transmission interval between each packet in the historical GOP image group, including: Get the number of data packets and the actual transmission time in the latest preset number of GOP image groups; The ratio of the actual transmission duration to the number of data packets in the preset number of GOP image groups is used as the actual packet transmission interval; or The ratio of the preset transmission duration to the number of data packets in the preset number of GOP image groups is used as the actual packet transmission interval.

6. The method according to claim 3, characterized in that, Obtain the actual packet transmission interval between each packet in the historical GOP image group, including: Upon receiving the first data packet of a new I-frame, it is determined that all data packets in the previous GOP image group have been sent, and the number of data packets and the actual transmission duration in the previous GOP image group are obtained. A GOP image group includes one I-frame, and the I-frame is the first frame in the GOP image group. The actual packet transmission interval is the ratio of the actual transmission duration to the number of data packets in the previous GOP image group; or The ratio of the preset transmission duration to the number of data packets in the previous GOP image group is used as the actual packet transmission interval.

7. A data transmission device, characterized in that, The device, applied to a video network terminal, includes: The first acquisition module is used to acquire the actual packet transmission interval between each data packet in the historical GOP image group; The second acquisition module is used to acquire the expected packet sending interval based on the actual packet sending interval and transmission interval adjustment parameters of the historical GOP image group. The transmission interval adjustment parameters represent the ratio of the number of data packets in the GOP image group to be sent to the number of data packets in a single historical GOP image group. The expected packet sending interval is used to control the transmission time interval between adjacent data packets in the GOP image group to be sent. The sending module is used to send the data packets in the GOP image group to be sent to the receiving end according to the expected packet sending interval; The device further includes: The first determining module is used to use the parameters input by the user as the transmission interval adjustment parameters; or The second determining module is used to use the default adjustment parameter as the transmission interval adjustment parameter; The default adjustment parameter is obtained as follows: a first adjustment parameter and a second adjustment parameter are set. Based on the actual packet sending interval and packet accumulation status of data packets in the GOP image group under different adjustment parameters, a new third adjustment parameter is determined by a binary search method. The above steps are repeated until a transmission interval adjustment parameter that meets the preset conditions is obtained, wherein the first adjustment parameter is less than the second adjustment parameter.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the steps of the data transmission method as described in any one of claims 1-6.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes, it implements the steps of the data transmission method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Transmission method for quickly previewing H.264 coded picture

    CN102547375A

  • Video streaming system, wireless communication apparatus in wireless LAN environment and method thereof

    KR1020130014093A