Video transmission method, network, apparatus, electronic device, and storage medium

By acquiring I-frame occupancy distribution and using staggered transmission methods, the problem of insufficient video transmission resource competition among multiple devices was solved, achieving efficient and reliable video transmission.

CN120935421BActive Publication Date: 2026-01-06ZHEJIANG DAHUA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511463654.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-14
Publication Date
2026-01-06
Estimated Expiration
2045-10-14

AI Technical Summary

Technical Problem

When multiple electronic devices send video data to a single receiver simultaneously, insufficient competition for communication resources leads to transmission delays, data packet loss, and other issues, especially severe resource congestion during I-frame transmission in 5G cellular networks.

Method used

By obtaining the I-frame occupancy distribution, the timing of video transmission is determined, avoiding peak transmission periods at access points. A staggered transmission method is adopted to generate I-frame follow-up messages and update the occupancy distribution of neighboring terminals during transmission.

Benefits of technology

It improves the efficiency and reliability of video transmission, reduces transmission delay and packet loss, and achieves real-time and stable video transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120935421B_ABST
    Figure CN120935421B_ABST
Patent Text Reader

Abstract

The application discloses a video transmission method, network, device, electronic equipment and storage medium. The video transmission method comprises the following steps: acquiring a first I-frame placeholder distribution and a first video to be transmitted to a first access point; the first I-frame placeholder distribution is obtained by analyzing an I-frame following message received before the current time, and is used for representing a distribution rule of an I-frame transmission time of a terminal in a first competitive terminal set on a preset statistical period; the first competitive terminal set is a subset of terminals in the first terminal set accessing the first access point; a transmission time of the first video is determined according to the first I-frame placeholder distribution; in the case that the time reaches the transmission time, the first video is started to be transmitted to the first access point, a first I-frame following message of a first I-frame in the first video is generated, and the first I-frame following message is sent to a neighboring terminal of the first terminal in the transmission process of the first I-frame. Through the above method, the video off-peak transmission can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, more specifically to the field of computer communications, and particularly to a video transmission method, network, apparatus, electronic device, and storage medium. Background Technology

[0002] With the advancement of network technology, data exchange between various electronic devices can be easily achieved, and the forms of data that can be exchanged between these devices are diverse, such as various formats of text data, audio data, image data, and video data.

[0003] Video data is relatively large. Therefore, transmitting video data between two electronic devices consumes a significant amount of their communication resources. If multiple electronic devices (referred to as sending ends) simultaneously send video data to one electronic device (referred to as receiving end), the sending ends will compete for the receiving end's communication resources. If this competition exceeds the receiving end's maximum capacity, some sending ends may not receive enough communication resources from the receiving end. This can lead to transmission delays, packet loss, and other issues with the video data sent by these sending ends, resulting in abnormalities in the video data received by the receiving end. Summary of the Invention

[0004] The main technical problem addressed by this application is to provide a video transmission method, network, device, electronic device, and storage medium that enables staggered video transmission.

[0005] To address the aforementioned technical problems, the first aspect of this application provides a video transmission method applied to a first terminal among network-connected terminals in a network, the network including... a There are one access point, and the network access terminal is... a Terminals accessing a network point can communicate directly with each other and with other network access points whose communication distance is less than a preset distance threshold. These directly connected network access points are considered neighboring terminals. A first terminal is any terminal in a first terminal set, which is the set of all network access terminals that have neighboring terminals. , The set of positive integers is represented. The video transmission method includes: acquiring a first I-frame occupancy distribution and a first video to be transmitted to a first access point; wherein, the first access point is the access point accessed by the first terminal, the first I-frame occupancy distribution is obtained by analyzing the I-frame follow-up messages received before the current time, and is used to characterize the distribution pattern of the I-frame transmission time of terminals in the first competing terminal set on a preset statistical period, and the first competing terminal set is a subset of terminals in the first terminal set that access the first access point; determining the transmission timing of the first video based on the first I-frame occupancy distribution; when the transmission timing arrives, starting to transmit the first video to the first access point, and generating a first I-frame follow-up message for the first I-frame in the first video, and sending the first I-frame follow-up message to the neighboring terminals of the first terminal during the transmission of the first I-frame; wherein, the first I-frame follow-up message carries first occupancy-related attribute information for the terminals in the first competing terminal set to update the first I-frame occupancy distribution.

[0006] To address the aforementioned technical problems, a second aspect of this application provides a network for video transmission, the network comprising: a One access point and one network access terminal; , Represents the set of positive integers; the network access terminal is a Terminals accessing the network at each access point; direct communication is established between each network access terminal and the access point it accesses, as well as between each network access terminal and other network access terminals whose communication distance to each other is less than a preset distance threshold; terminals that are directly connected to each other are neighboring terminals; each network access terminal includes: a memory and a processor; the memory stores computer programs or instructions; all network access terminals that have neighboring terminals form a first terminal set; the processor in any terminal in the first terminal set executes the computer programs or instructions stored in its own memory to implement the steps of the above-described video transmission method.

[0007] To address the aforementioned technical problems, a third aspect of this application provides a video transmission apparatus applied to a first terminal among network access terminals in a network, the network including... a There are one access point, and the network access terminal is... a Terminals accessing a network point can communicate directly with each other and with other network access points whose communication distance is less than a preset distance threshold. These directly connected network access points are considered neighboring terminals. A first terminal is any terminal in a first terminal set, which is the set of all network access terminals that have neighboring terminals. , The set of positive integers is represented. The video transmission device includes a first acquisition module, used to acquire a first I-frame occupancy distribution and a first video to be transmitted to a first access point. The first access point is the access point accessed by the first terminal. The first I-frame occupancy distribution is obtained by analyzing I-frame follow-up messages received before the current time, and is used to characterize the distribution pattern of I-frame transmission times of terminals in the first competing terminal set over a preset statistical period. The first competing terminal set is a subset of terminals in the first terminal set that access the first access point. The first determination module is used to determine the transmission timing of the first video based on the first I-frame occupancy distribution. The first sending module is used to start transmitting the first video to the first access point when the transmission timing arrives, and to generate a first I-frame follow-up message for the first I-frame in the first video, and to send the first I-frame follow-up message to the neighboring terminals of the first terminal during the transmission of the first I-frame. The first I-frame follow-up message carries first occupancy-related attribute information for the terminals in the first competing terminal set to update the first I-frame occupancy distribution.

[0008] To address the aforementioned technical problems, a fourth aspect of this application provides an electronic device comprising a memory and a processor. The memory stores computer programs or instructions executable on the processor, and when the computer programs or instructions are executed by the processor, they implement the steps of the aforementioned video transmission method.

[0009] To address the aforementioned technical problems, the fifth aspect of this application provides a readable storage medium storing a computer program or instructions, which, when executed by a processor, implement the steps of the aforementioned video transmission method.

[0010] The above technical solution determines the transmission timing of the first video based on the occupancy distribution of the first I-frame. Therefore, the determined transmission timing avoids the congestion period of the first access point's transmission resources; that is, it occurs during the idle period of the first access point's transmission resources. Thus, transmitting the first video to the first access point at the designated transmission timing means transmitting the first video, or the first I-frame of the first video, to the first access point during its idle period, avoiding congestion periods and achieving staggered transmission. Furthermore, since the first video or its I-frame is transmitted to the first access point during its idle period, the first access point has sufficient transmission resources to support the transmission of the first video or its first I-frame. This improves the efficiency and real-time performance of the first video or its first I-frame transmission, reducing transmission latency. It also enhances the reliability and stability of the first video or its first I-frame transmission, reducing transmission stuttering and packet loss. Attached Figure Description

[0011] Figure 1 This is a schematic diagram of the structure of a video frame in a video provided in this application;

[0012] Figure 2 This is a schematic diagram of the structure of an embodiment of the network provided in this application;

[0013] Figure 3 This is a flowchart illustrating an embodiment of the video transmission method provided in this application;

[0014] Figure 4 This is a schematic diagram of another embodiment of the network provided in this application;

[0015] Figure 5 This is a schematic diagram of an embodiment of the I-frame occupancy distribution provided in this application;

[0016] Figure 6 yes Figure 3 The flowchart of step S32 shown is a schematic diagram of one embodiment;

[0017] Figure 7 This is a flowchart illustrating an embodiment of the terminal network access method provided in this application;

[0018] Figure 8 This is a flowchart illustrating another embodiment of the terminal network access method provided in this application;

[0019] Figure 9 This is a schematic diagram of the structure of an embodiment of the video transmission device provided in this application;

[0020] Figure 10 This is a schematic diagram of the structure of an embodiment of the electronic device provided in this application;

[0021] Figure 11 This is a schematic diagram of an embodiment of the computer-readable storage medium provided in this application. Detailed Implementation

[0022] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.

[0023] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0024] Video transmission encoding includes: I-frames (Intra-coded Frames, keyframes / intra-coded frames), B-frames (Bidirectional Frames, bidirectional prediction frames / interpolated coded frames), and P-frames (Predicted Frames, predicted frames / forward predictive coded frames). P-frames are generated based on preceding I-frames or P-frames, while B-frames are generated based on both preceding and following I-frames and P-frames.

[0025] Please see Figure 1 , Figure 1 This is a schematic diagram of the structure of video frames provided in this application. The schematic video illustrates the relationship between I-frames, B-frames, and P-frames. For example, the fourth frame... It's a P-frame, a frame. It is based on the first frame Generated frames It's an I-frame, the seventh frame. It's also a P-frame, a frame. It is based on the fourth frame Generated. Second frame. It's a B-frame, a frame. It is based on the first frame and the fourth frame Therefore, I-frames are relatively more important in videos, and correspondingly, the amount of data in an I-frame in a video is usually greater than the amount of data in a P-frame and a B-frame in the same video.

[0026] From the timeline (Timeline) (This indicates the order in which video frames are output during video playback.) The earlier video frames are predicted (generated) on the timeline. The process of moving to later video frames is called forward prediction; conversely, the process of moving to earlier frames on the timeline... Predicting (generating) later video frames on the timeline The process of predicting the first video frame is called backward prediction. Obviously, prediction based on I-frames is forward prediction, so P-frames are also called forward prediction frames. Predicting B-frames based on I-frames is forward prediction, and predicting B-frames based on P-frames is backward prediction, so B-frames are also called bidirectional prediction frames.

[0027] In a video frame sequence, the video frames between two adjacent I-frames are defined as a group of pictures (GOP, Group of Pictures, which includes the two adjacent I-frames). For example, Figure 1 The first frame of the video shown and the thirteenth frame Between frames To frame This constitutes image group 1 (denoted as GOP#1).

[0028] A network is provided in the related art, which includes a receiver and multiple transmitters that are wirelessly connected to the receiver, each transmitter being able to transmit video data to the receiver.

[0029] When multiple transmitters transmit video simultaneously, there is a contention for communication resources on the link from the transmitter to the receiver. Because channels in wireless networks are usually shared, multiple transmitters must compete for wireless channels to transmit video. This can lead to "collisions" between video frames transmitted by different transmitters, causing interference and resulting in errors in the video received by the receiver. Secondly, the wireless communication resources at the receiver may not be sufficient to meet the needs of multiple transmitters, potentially leading to insufficient wireless communication resources for some transmitters, resulting in transmission delays and data packet loss. Furthermore, if there are a large number of transmitters and / or a large amount of video data being transmitted, the communication load on the receiver may still be high, especially causing the receiver's wireless communication resources to operate under high load, or even causing the receiver to overload and crash, further leading to transmission delays and data packet loss at the transmitter.

[0030] The aforementioned network can be a 5G cellular network, etc., and is not limited here.

[0031] When the aforementioned network is a 5G cellular network, the receiving end is the base station included in the 5G cellular network, and the sending end is the terminal accessing the 5G cellular network (such as a mobile phone, camera, etc.). The terminal accessing the 5G cellular network communicates with the base station through 5G wireless technology. 5G cellular networks use air interface (the physical medium through which terminals and base stations communicate via radio waves or wireless links) transmission, sharing air interface channel resources. That is, all terminals within the coverage area of ​​a base station share the total transmission capacity provided by that base station. Since video transmission requires the transmission of I-frames, and I-frames have a large data volume, transmitting I-frames requires more transmission resources. If a large number of terminals are transmitting video simultaneously, their I-frame transmission times may collide. Many terminals simultaneously request a large amount of transmission resources from the base station for I-frame transmission, but the base station does not have enough air interface channel resources to satisfy these terminals simultaneously. This can lead to air interface congestion, causing transmission stuttering and packet loss.

[0032] It should be noted that when a terminal needs to transmit video, it needs to request transmission resources from the base station. The terminal can then transmit the video based on the transmission resources allocated to it by the base station. In addition, since I-frames have a large amount of data, when a terminal needs to transmit an I-frame, it needs to request more transmission resources from the base station, which means that more transmission resources will be used.

[0033] like Figure 2 As shown, Figure 2 This is a schematic diagram of a network embodiment provided in this application. The network includes a base station α (cell-A base station in the figure), which covers cell A. Therefore, terminals Id-1, Id-2, Id-3, and Id-4 accessing the network within cell A are terminals within the coverage area of ​​base station α. ​​Since terminals Id-1, Id-2, Id-3, and Id-4 are terminals within the coverage area of ​​base station α, they communicate with base station A in the network via 5G wireless technology. Terminals Id-1, Id-2, Id-3, and Id-4 share the total transmission capacity provided by base station A.

[0034] like Figure 2As shown, the network also includes base station β (cell-B base station in the diagram). Base station β covers cell B, so terminals Id-5, Id-6, and Id-7 accessing the network within cell B are terminals within the coverage area of ​​base station β. Since terminals Id-5, Id-6, and Id-7 are within the coverage area of ​​base station β, they communicate with base station β in the network via 5G wireless technology, and share the total transmission capacity provided by base station β.

[0035] It should be noted that the physical resources (such as transmission resources) of a base station are limited. If all terminals are served by a single base station, the physical resources will be exhausted when the number of terminals becomes too large, causing the network speed of all terminals to drop sharply or even become unconnected. On the other hand, by distributing multiple terminals to different base stations, each base station can provide sufficient and high-quality resources to the terminals within its coverage area, thus achieving load balancing.

[0036] In this application, the load on the receiving end is predicted on the sending end side in the future over a period of time, and the possible high-concurrency bursts are actively avoided based on the prediction results, thereby effectively reducing the possibility of high-concurrency bursts and reducing transmission delays and data packet loss when multiple sending ends send video data in high-concurrency bursts.

[0037] The following description, in conjunction with the accompanying drawings, describes a video transmission method, network, apparatus, device, storage medium, chip, and computer program product provided in the embodiments of this application.

[0038] A first aspect of this application provides a network in which... a One access point and several terminals; among them, , Represents the set of positive integers; a The specific value can be determined according to actual needs or circumstances, and no specific restrictions are imposed in this application embodiment.

[0039] An access point is a network device that allows terminals to access the network. For example, it can be a base station, a WIFI access point, a router, a switch, a gateway, or other network devices. It can also be a mobile communication device (smartphone, tablet, laptop, smartwatch, wearable communication device, VR / AR / MR glasses or devices, etc.), a desktop computer, or a server in a distributed system, a cloud server, an intelligent cloud computing server with artificial intelligence technology, or an intelligent cloud host.

[0040] A terminal is a device that provides video data. It can be a camera, a mobile communication device (smartphone, tablet, laptop, smartwatch, wearable communication device, VR / AR / MR glasses or devices, etc.), a desktop computer, or a server in a distributed system, a cloud server, an intelligent cloud computing server with artificial intelligence technology, or an intelligent cloud host.

[0041] In this application, the terminal can access the access point via either a wired link (where "access" means establishing a communication connection between the terminal and the access point) or a wireless link, depending on the communication specifications or standards between the access point and the terminal. This is not specifically limited in this embodiment. Furthermore, in this embodiment, each terminal communicates directly with its access point ("direct communication" refers to point-to-point communication between two communication devices, without any intermediary network devices or infrastructure such as routers / switches). In this embodiment, this... Terminals that connect to an access point are called network access terminals.

[0042] It should be noted that one terminal can access this simultaneously. a At least two of the access points, and not limited to only one access point at a time. a One of the access points.

[0043] Terminal access a After connecting to any one of the access points, the terminal can request transmission resources from the access point it is connected to and transmit video data to the access point based on the transmission resources allocated to it. That is to say, in this embodiment of the application, the terminal is the sender of the video data, and the access point is the (direct) receiver of the video data.

[0044] Of course, it should be added that the access point may also have a communication connection to an (indirect) receiving end / destination receiving end for receiving video data. That is to say, the sending end needs to transmit video data to the destination receiving end, and the access point is an intermediary device between the sending end and the destination receiving end. After receiving the video data sent by the sending end, the access point needs to forward it to the destination receiving end through the network.

[0045] For example, in a surveillance scenario, a camera is a front-end acquisition device used to collect video data. The camera, as the sending end, directly transmits the collected video data to the access point, which is the direct receiving end. The access point, acting as a relay station, then forwards the received video data from the camera to the back-end monitoring platform / monitoring server, which is the destination receiving end. Similarly, in a video data distribution scenario, video data is stored on various servers. The server, as the sending end, directly transmits the stored video data to the directly connected access point, which is the direct receiving end. The access point, acting as a relay station, then forwards the received video data from the server to the user terminal, which is the destination receiving end.

[0046] In this embodiment of the application, some network access terminals have corresponding neighboring terminals. Furthermore, two network access terminals that are neighboring terminals also communicate directly with each other.

[0047] If neighboring terminals communicate via a wired link, there are no intermediary network devices or network infrastructure devices between two neighboring terminals. This means the communication distance between two neighboring terminals is less than a preset distance threshold—one hop, or zero hops. (A "hop" refers to each intermediate device (such as a router or switch) a data packet passes through during its journey from the source node to the destination node. It can be understood as a "station" in the network journey.) For example, terminal Id-1 sends its first I-frame follow-up message directly to its neighboring terminal, terminal Id-2. This is a zero-hop, meaning there are zero hops between terminal Id-1 and terminal Id-2, and they communicate directly. Terminal Id-2 then forwards the first I-frame follow-up message to terminal Id-3. This is a one-hop, meaning there are one hops between terminal Id-1 and terminal Id-3, and they do not communicate directly.

[0048] If neighboring terminals communicate via a wireless link, then for any network-connected terminal ID- In terms of the network access terminal ID- Within the wireless signal radiation range and can be connected to the network access terminal Id- Any other network-connected terminal ID for wireless communication Both can be the ID of the terminal entering the network. The neighboring terminals. That is to say, for any network access terminal ID- Regarding the network access terminal ID- The (physical) communication distance between them is less than a preset distance threshold - the network access terminal ID- The furthest radiation distance of the transmitted wireless signal —Any other terminal ID accessing the network Both can be the ID of the terminal entering the network. The neighboring terminal.

[0049] In other words, neighboring terminals can communicate directly via RG45 network cables, USB cables, etc., or via wireless communication protocols such as Bluetooth, ZigBee, WIFI P2P, Airdrop, and Sidelink.

[0050] In practical applications, to simplify the network structure, direct communication based on wireless communication protocols is preferred between neighboring terminals. However, some wireless protocols require network setup (i.e., establishing a communication connection) before communication can begin, such as Bluetooth, ZigBee, and Wi-Fi P2P; while others, like AirDrop and Sidelink, can communicate directly without prior network setup. In real-world applications, networks are typically dynamic rather than static, meaning terminals may frequently join and leave the network. To accommodate this and further reduce network complexity, the latter type of wireless protocol is preferred to alleviate the communication burden between neighboring devices (network setup requires time and communication resources, which exacerbates the communication burden).

[0051] In this embodiment, the Sidelink communication protocol is preferably used. Sidelink is not a closed communication protocol and is itself a 3GPP communication protocol, which allows for better integration with mobile communication networks. For example, Figure 2 As shown, Figure 2 This is a schematic diagram of another embodiment of the network provided in this application. Network access terminal Id-3 and network access terminal Id-4 are neighboring terminals, and a wireless link can be established between them based on the Sidelink communication protocol. Similarly, network access terminal Id-2 and network access terminal Id-1 are neighboring terminals, and a wireless link can be established between them based on the Sidelink communication protocol. Likewise, network access terminal Id-1 and network access terminal Id-4 are neighboring terminals, and a wireless link can be established between them based on the Sidelink communication protocol.

[0052] It should be noted that some network access terminals may not have corresponding neighboring terminals. These network access terminals without neighboring terminals are called orphan terminals. That is, these network access terminals have no other network access terminals to communicate directly with based on a wired link, and (when they have wireless communication capabilities) there are no other network access terminals to communicate directly with based on a wireless link within the coverage area of ​​their own wireless signal.

[0053] If a large number of orphan terminals are connected to an access point, it indicates that the number of terminals connected to that access point is relatively small, the load on the access point is low, and there is unlikely to be a shortage of communication resources. Simultaneously, it is also assumed that the terminals connected to that access point are sparsely distributed within a certain area, and even if they all communicate with the access point via wireless links, the probability of I-frames in the video data transmitted to the access point colliding with each other is very small. These orphan terminals can freely transmit video data to the access point without needing to implement the video transmission method provided in this application for proactive peak-shifting transmission (the specific implementation of peak-shifting transmission is described later, and will not be repeated here for the sake of space). However, as mentioned above, networks are usually dynamically changing, and these orphan terminals can also implement the video transmission method provided in this application to proactively shift transmission when neighboring terminals appear.

[0054] For network access terminals that have corresponding neighboring terminals, these network access terminals are referred to as first terminals, and these first terminals constitute a first terminal set. When a large number of first terminals simultaneously request a large amount of transmission resources from the base station to transmit I-frames at the same time, their I-frame transmission times may collide. Therefore, it is necessary to implement the video transmission method provided in this application to actively stagger transmission times.

[0055] It should be noted that the number of access points in a network does not necessarily need to remain constant; that is, the number of access points in the network can be adjusted dynamically according to changes in actual demand. The value of ; the number of terminals accessed at each access point in the network is not necessarily constant, and the terminals are not necessarily connected to the network they are connected to. That is, the number of terminals accessed at each access point can change dynamically; in other words, the network provided in this application embodiment can be a static network, but it can also be a dynamic network.

[0056] Please see Figure 3 , Figure 3 This is a flowchart illustrating an embodiment of the video transmission method provided in this application. It should be noted that if substantially the same result is achieved, this embodiment does not necessarily reflect that outcome. Figure 3 The illustrated process sequence is limited. For example... Figure 3As shown, in the network described in the first aspect of this application embodiment, the execution is performed by the first terminal among the network access terminals. This embodiment includes:

[0057] Step S31: Obtain the first I-frame occupancy distribution and the first video to be transmitted to the first access point.

[0058] In this embodiment, the first I-frame occupancy distribution and the first video to be transmitted to the first access point are obtained; wherein, the first access point is the access point accessed by the first terminal, the first I-frame occupancy distribution is obtained by analyzing the I-frame follow-up messages received before the current time, and is used to characterize the distribution pattern of the I-frame transmission time of the terminals in the first competing terminal set on a preset statistical period, and the first competing terminal set is a subset of the terminals in the first terminal set that access the first access point.

[0059] The I-frame interval (i.e., the duration of the I-frame transmission interval) is usually set to an integer multiple of the coding frame rate. This is because if the I-frame interval is not an integer multiple of the coding frame rate, the I-frame transmission times will be unevenly distributed over time, resulting in instantaneous bit rate fluctuations. In other words, the I-frame interval is usually configured to be an integer multiple of 1 second, such as 1 second, 2 seconds, 3 seconds, 4 seconds, etc. Therefore, the network-connected terminal transmits I-frames continuously and regularly at a fixed, integer number of seconds; that is, the I-frame transmission behavior of the network-connected terminal is regular and periodic.

[0060] The preset statistical period is determined based on the I-frame interval of all terminals in the first terminal set, reflecting the smallest time unit in which the I-frame transmission behavior of all terminals in the first terminal set repeats. Therefore, in a subsequent preset statistical period, the I-frame transmission behavior of all terminals in the first terminal set will completely repeat the pattern of the previous preset statistical period. That is, the timeline cycles according to the preset statistical period. Within each preset statistical period on the timeline, the distribution pattern of I-frame transmission times of each terminal in the first terminal set is consistent, or in other words, the I-frame transmission pattern of each terminal in the first terminal set is consistent. By observing the I-frame transmission pattern of the terminal in the previous preset statistical period, the I-frame transmission pattern of that terminal in subsequent preset statistical periods can be evaluated and determined. In other words, the preset statistical period is simply a set time slot scale that reflects the I-frame transmission pattern of each terminal in the first terminal set.

[0061] For example, the first terminal set includes terminal Id-1, terminal Id-2, and terminal Id-3. The preset statistical period determined based on the I-frame intervals of terminal Id-1, terminal Id-2, and terminal Id-3 is 6 seconds, the I-frame interval of terminal Id-1 is 1 second, the I-frame interval of terminal Id-2 is 2 seconds, and the I-frame interval of terminal Id-3 is 3 seconds. The time axis cycles according to the preset statistical period of 6 seconds. Within the first 6-second preset statistical period, terminal Id-1 can regularly transmit 6 I-frames, terminal Id-2 can regularly transmit 3 I-frames, and terminal Id-3 can regularly transmit 2 I-frames. In the next 6 seconds or the next 6 seconds after that, the relative landing points of the I-frames transmitted by terminal Id-1, terminal Id-2, and terminal Id-3 are completely consistent with those in the first 6 seconds.

[0062] It should be noted that the timeline cycles according to a preset statistical period of 6 seconds. The first preset statistical period is from 1 to 6 seconds, the second is from 7 to 12 seconds, the third is from 13 to 18 seconds, the fourth is from 19 to 24 seconds, and so on. The 7th, 13th, 19th, and so on of the timeline correspond to the 1st second of the first preset statistical period.

[0063] The first I-frame occupancy distribution is obtained by analyzing the I-frame follow-up messages received before the current time. It is used to characterize the distribution pattern of I-frame transmission times of terminals in the first competing terminal set within a preset statistical period. The preset statistical period reflects the smallest time unit in which the I-frame transmission behavior of all terminals in the first terminal set repeats. Therefore, in a subsequent preset statistical period, the I-frame transmission behavior of all terminals in the first competing terminal set will completely repeat the pattern of the previous preset statistical period. That is, the timeline cycles according to the preset statistical period. Within each preset statistical period on the timeline, the distribution pattern of I-frame transmission times of each terminal in the first competing terminal set is consistent. In other words, the I-frame transmission pattern of each terminal in the first competing terminal set is consistent. By observing the I-frame transmission pattern of the terminal in the previous preset statistical period, the I-frame transmission pattern of that terminal in subsequent preset statistical periods can be evaluated and determined. In other words, the preset statistical period is simply a set time slot scale, within which the I-frame transmission pattern of each terminal in the first competing terminal set can be reflected.

[0064] Therefore, by analyzing the occupancy distribution of the first I-frame, congested and idle periods within a preset statistical period can be determined. A congested period refers to a time when the transmission resources of the first access point are congested. During this period, a large number of terminals accessing the first access point transmit I-frames to it, or in other words, a large number of terminals accessing the first access point occupy its transmission resources to transmit I-frames, causing congestion. An idle period refers to a time when the transmission resources of the first access point are idle. During this period, a small number of terminals, or even none accessing the first access point, transmit I-frames to it, or in other words, a small number of terminals, or even none accessing the first access point, occupy its transmission resources to transmit I-frames, thus the transmission resources of the first access point are idle.

[0065] It should be noted that since the first terminal and all terminals in the corresponding first competing terminal set are connected to the same access point, there is a problem of the first terminal and all terminals in the corresponding first competing terminal set competing for or vying for the transmission resources of the access point.

[0066] Considering that the I-frame transmission interval duration may differ between different terminals, in one embodiment, the preset statistical period is the least common multiple of the I-frame transmission interval durations in the first I-frame transmission interval duration set, and one I-frame transmission interval duration in the first I-frame transmission interval duration set is the I-frame transmission interval duration of one terminal in the first terminal set. The formula is as follows:

[0067] T=[I _interval_1 I _interval_2 I _interval_3 …I _interval_n ]

[0068] In the formula: T represents the preset statistical period; I _interval_i This represents the I-frame transmission interval duration of the i-th terminal in the first terminal set. The I-frame transmission interval duration of the terminal is configurable and can be 1 second, 2 seconds, 3 seconds, 4 seconds, etc., and is not limited here.

[0069] For example, the terminals in the first terminal set include terminal Id-1, terminal Id-2 and terminal Id-3. The I-frame transmission interval of terminal Id-1 is 1 second, the I-frame transmission interval of terminal Id-2 is 2 seconds, and the I-frame transmission interval of terminal Id-3 is 3 seconds. Therefore, the preset statistical period T=[1,2,3]=6 seconds.

[0070] Step S32: Determine the transmission timing of the first video based on the occupancy distribution of the first I-frame.

[0071] In this embodiment, the transmission timing of the first video is determined based on the occupancy distribution of the first I-frame. Since the occupancy distribution of the first I-frame can identify the congested and idle periods of transmission resources within a preset statistical period, the determined transmission timing of the first video can avoid the congested periods, allowing subsequent transmission of the first video, or rather, the first I-frame of the first video, to occur during idle periods, thus achieving off-peak transmission.

[0072] Step S33: When the time is right for transmission, start transmitting the first video to the first access point, generate a first I-frame follow-up message for the first I-frame in the first video, and send the first I-frame follow-up message to the neighboring terminals of the first terminal during the transmission of the first I-frame.

[0073] In this embodiment, when the transmission opportunity arrives, transmission of the first video begins to the first access point. Since the transmission opportunity for the first video is determined based on the occupancy distribution of the first I-frame, the determined transmission opportunity avoids the congestion period of the first access point's transmission resources; that is, the determined transmission opportunity is during the idle period of the first access point's transmission resources. Therefore, starting transmission of the first video to the first access point at the designated transmission opportunity means transmitting the first video, or the first I-frame of the first video, to the first access point during the idle period of the first access point's transmission resources. This avoids transmitting the first video, or the first I-frame of the first video, to the first access point during the congestion period of the first access point's transmission resources, thus achieving off-peak transmission. Furthermore, since the first video, or rather the first video's I-frame, is transmitted to the first access point during its idle transmission resource period, the first access point has sufficient transmission resources to meet the transmission needs of the first video, or rather, the first video's first I-frame. On the one hand, this improves the efficiency and real-time performance of the first video, or rather, the first video's first I-frame, and reduces transmission latency. On the other hand, it improves the reliability and stability of the first video, or rather, the first video's first I-frame, and reduces the occurrence of transmission stuttering, packet loss, and other phenomena.

[0074] It should be noted that the timeline is cyclical according to a preset statistical period. Within each preset statistical period on the timeline, the distribution pattern of I-frame transmission times of each terminal in the first competitive terminal group is consistent. Therefore, in subsequent preset statistical periods, the transmission of the first video or the first I-frame of the first video to the first access point can be avoided during the period when the transmission resources of the first access point are congested, thus achieving peak-shifting transmission.

[0075] Furthermore, the video transmission method provided in this application can achieve two scenarios: First, it enables all first I-frames in the first video to be transmitted to the first access point, avoiding periods of congestion on the first access point's transmission resources; second, it enables completely off-peak transmission. Third, it enables only a portion of the first I-frames in the first video to be transmitted to the first access point, avoiding periods of congestion on the first access point's transmission resources; third, it enables a certain degree of off-peak transmission.

[0076] In this embodiment, a first I-frame follow-up message for the first I-frame in the first video is also generated, and the first I-frame follow-up message is sent to the neighboring terminals of the first terminal during the transmission of the first I-frame; wherein, the first I-frame follow-up message carries first occupancy-related attribute information for the terminals in the first competing terminal set to update the occupancy distribution of the first I-frame.

[0077] By sending a first I-frame follow message to the neighboring terminals of the first terminal, the first competing terminal set is informed of its own I-frame transmission status. This enables all terminals in the first competing terminal set to dynamically perceive the first terminal's I-frame transmission status, thereby updating their own maintained first I-frame occupancy distribution in a timely manner. Consequently, they can accurately avoid transmitting video or the first I-frame of video to the first access point during periods of congestion in the first access point's transmission resources, thus achieving peak-shifting transmission.

[0078] It should be noted that during the transmission of the first I-frame in the first video, sending the first I-frame follow message to the neighboring terminals of the first terminal is to inform the neighboring terminals that they are currently using a large amount of transmission resources to transmit I-frames, and to ask them to give way.

[0079] Furthermore, because the communication distance between the non-neighboring terminals of the first terminal in the first competing terminal set and the first terminal is relatively far, they cannot receive the first I-frame follow-up message sent by the first terminal. However, after receiving the first I-frame follow-up message sent by the first terminal, the neighboring terminals of the first terminal in the first competing terminal set will forward the first I-frame follow-up message to their corresponding neighboring terminals. Therefore, all terminals in the first competing terminal set will eventually receive the first I-frame follow-up message sent by the first terminal, either directly or indirectly (through forwarding from other terminals).

[0080] For example, such as Figure 4 As shown, Figure 4This is a schematic diagram of another embodiment of the network provided in this application. Taking terminal Id-3 as an example, during the transmission of the first I-frame, terminal Id-3 will send a first I-frame follow-up message to its corresponding neighboring terminals - terminal Id-2 and terminal Id-4. When terminal Id-2 and terminal Id-4 receive the first I-frame follow-up message sent by terminal Id-3, they will forward it. As a neighboring terminal of terminal Id-2 and terminal Id-4 - terminal Id-1, it will receive the first I-frame follow-up message forwarded by terminal Id-2 and terminal Id-4. Therefore, all terminals - terminal Id-2, terminal Id-4, and terminal Id-1 in the first competing terminal set corresponding to terminal Id-3 will eventually receive the first I-frame follow-up message sent by terminal Id-3.

[0081] Additionally, it should be noted that the I-frame placeholder distribution for each preset statistical period is accumulated, and the I-frame placeholder distribution of the previous preset statistical period must remain until the corresponding terminal stops sending I-frames before being deleted.

[0082] In one embodiment, the first terminal broadcasts a first I-frame follow message to its neighboring terminals to inform them of its I-frame transmission status.

[0083] In one specific implementation, the first terminal broadcasts a first I-frame follow message via a sidelink to send the first I-frame follow message to its neighboring terminals, informing them of its own I-frame transmission status.

[0084] In one embodiment, when the transmission opportunity arrives, transmission of the first video to the first access point begins, and a first I-frame follow-up message for the first I-frame in the first video is generated, and the first I-frame follow-up message is sent to neighboring terminals of the first terminal during the transmission of the first I-frame. Specifically, when the transmission opportunity arrives, transmission of the first video frame in the first video to the first access point begins, with video frames as the basic unit. The first I-frame in the first video is transmitted serially, and the transmission interval between two consecutive first I-frames is preset. A first I-frame follow-up message for the first I-frame is generated. When the currently transmitted first video frame is the first I-frame, the first I-frame follow-up message is sent to neighboring terminals of the first terminal.

[0085] In other words, when transmitting the first I-frame of the first video, a first I-frame follow message is sent to the neighboring terminals of the first terminal to inform all terminals in the first competing terminal set of their own I-frame transmission status. This enables all terminals in the first competing terminal set to dynamically perceive the I-frame transmission status of the first terminal, thereby updating their own maintained first I-frame occupancy distribution in a timely manner. Consequently, they can accurately avoid transmitting video or the first I-frame of video to the first access point during periods of congestion in the first access point's transmission resources, thus achieving peak-shifting transmission.

[0086] In one specific implementation, when the currently transmitted first video frame is a first I-frame, a first I-frame follow message is sent to the neighboring terminals of the first terminal. Specifically, when the currently transmitted first video frame is a first I-frame, a first corresponding time corresponding to the first transmission time within a preset broadcast period is determined; wherein, the first transmission time is the transmission time of the currently transmitted first I-frame, the preset broadcast period is a positive integer multiple of a preset statistical period, and the preset broadcast period includes... c A broadcast window, c Each broadcast window is divided into preset broadcast cycles. The broadcast window is equal to the preset statistical period; when the first corresponding time is within the first broadcast window, the first I-frame follow message is sent to the neighboring terminal of the first terminal; wherein, the first broadcast window is the broadcast window in the preset broadcast period where the starting first corresponding time is located, the starting first corresponding time is the corresponding time in the preset statistical period where the starting first transmission time is located, and the starting first transmission time is the transmission time of the first first I-frame transmitted by the first terminal.

[0087] Each terminal only needs to select one broadcast window to send I-frame follow-up messages within a preset broadcast period. Other broadcast windows within the preset broadcast period will not send I-frame follow-up messages until the next preset broadcast period begins, at which point the terminal will resend I-frame follow-up messages within its own broadcast window. A broadcast window refers to the time period during which the terminal needs to send I-frame follow-up messages within each preset broadcast period, and the length of each broadcast window is equal to a preset statistical period.

[0088] Each terminal selects the first broadcast window—the broadcast window in which the initial I-frame transmission time falls within a preset broadcast period—to send the I-frame follow-up message. No I-frame follow-up messages are sent in other broadcast windows within the preset broadcast period, until the next preset broadcast period begins. Since the initial I-frame transmission times of some terminals are different, the first broadcast window selected by some terminals for sending the I-frame follow-up message is different. This reduces the broadcast duty cycle of each terminal and lowers the probability of air interface collisions in broadcast signaling.

[0089] For example, such as Figure 5 As shown, Figure 5 This is a schematic diagram of an embodiment of the I-frame occupancy distribution provided in this application. The preset statistical period is 6 seconds, and the preset broadcast period is a positive integer multiple of the preset statistical period, which is 30 seconds. Each preset statistical period of 6 seconds constitutes one broadcast window. Therefore, the preset broadcast period of 30 seconds contains a total of 5 broadcast windows. Figure 3In the broadcast window, terminals Dev-1, Dev-3, and Dev-4 are the first broadcast window of the preset broadcast period. During the first broadcast window of the preset broadcast period, terminals Dev-1, Dev-3, and Dev-4 send I-frame follow messages. During other broadcast windows of the preset broadcast period, terminals Dev-1, Dev-3, and Dev-4 do not send I-frame follow messages. Terminal Dev-7's broadcast window is the second broadcast window of the preset broadcast period. During the second broadcast window of the preset broadcast period, terminal Dev-7 sends I-frame follow messages. During other broadcast windows of the preset broadcast period, terminal Dev-7 does not send I-frame follow messages. Terminals Dev-2 and Dev-5 are the third broadcast window of the preset broadcast period. In the third broadcast window of the preset broadcast cycle, terminals Dev-2 and Dev-5 send I-frame follow messages. In other broadcast windows of the preset broadcast cycle, terminals Dev-2 and Dev-5 do not send I-frame follow messages. The broadcast window for terminal Dev-6 is the fourth broadcast window of the preset broadcast cycle. In the fourth broadcast window of the preset broadcast cycle, terminal Dev-6 sends I-frame follow messages. In other broadcast windows of the preset broadcast cycle, terminal Dev-6 does not send I-frame follow messages. The broadcast window for terminal Dev-8 is the fifth broadcast window of the preset broadcast cycle. In the fifth broadcast window of the preset broadcast cycle, terminal Dev-8 sends I-frame follow messages. In other broadcast windows of the preset broadcast cycle, terminal Dev-8 does not send I-frame follow messages.

[0090] In one embodiment, the first placeholder-related attribute information includes at least one of the following: a unique identifier of the first terminal (the source terminal that sends the first I-frame follow-up message) (e.g., the source terminal's unique IP address, unique MAC address, unique terminal identification code, unique terminal ID, etc.), a unique identifier of the first access point to which the first terminal is connected (e.g., the first access point's unique IP address, unique MAC address, unique terminal device identification code, unique terminal ID, unique physical cell ID (PCI), unique cell ID, etc.), a transmission rate level, and a second message type field. The second message type field is used to indicate that the message sent by the first terminal is an I-frame follow-up message, and the transmission rate level is used to subsequently update the first I-frame placeholder distribution.

[0091] In one embodiment, after a neighboring terminal of the first terminal receives the first I-frame follow-up message sent by the first terminal, there are two execution actions: one is to forward the received first I-frame follow-up message, and the other is to update the first I-frame occupancy distribution.

[0092] One of the execution actions is to forward the received first I-frame follow-up message. This forwarding process is to enable non-neighboring terminals of the first terminal in the first competing terminal set corresponding to the first terminal to also receive the first I-frame follow-up message of the first terminal, so as to perceive the I-frame transmission status of the first terminal.

[0093] In one specific implementation, the received first I-frame follow-up message is forwarded. The forwarded message carries at least one of the following information: a unique identifier of the first terminal (the source terminal that sent the first I-frame follow-up message) (e.g., the unique IP address, unique MAC address, unique terminal identification code, unique terminal ID, etc. of the source terminal), a unique identifier of the first access point to which the first terminal is connected (e.g., the unique IP address, unique MAC address, unique terminal device identification code, unique terminal ID, unique physical cell ID (PCI), unique cell ID, etc. of the first access point), a transmission rate level, and a third message type field. The third message type field is used to indicate that it is a forwarded message of the I-frame follow-up message, and the transmission rate level is used to update the occupancy distribution of the first I-frame in the future.

[0094] It should be noted that each additional level of forwarding requires carrying the forwarding terminal's ID and the previous hop's transmission delay. This is used by the terminal to calculate and eliminate the delay impact during broadcast message transmission. Since each new terminal's neighboring terminals record the transmission delay of this hop through the network entry broadcast, it can be assumed that all terminals accessing the same access point have a clear understanding of their transmission delays with all neighboring terminals. Thus, during the forwarding of I-frame follow-up messages, by recording the transmission delay of each hop layer by layer, the receiving terminal can calculate the I-frame transmission time of the source terminal, facilitating placeholder statistics and calculations.

[0095] For example, such as Figure 4 As shown, when terminal Id-2 and terminal Id-4 receive the first I-frame follow-up message sent by terminal Id-3, they will forward it. As a neighboring terminal of terminal Id-2 and terminal Id-4, terminal Id-1 will receive the first I-frame follow-up message forwarded by terminal Id-2 and terminal Id-4. Therefore, all terminals in the first competing terminal set corresponding to terminal Id-3, including terminal Id-2, terminal Id-4, and terminal Id-1, will eventually receive the first I-frame follow-up message sent by terminal Id-3.

[0096] In addition, such as Figure 4As shown, terminal Id-5 and terminal Id-3 are also neighboring terminals, and terminal Id-5 will receive the first I-frame follow-up message sent by terminal Id-3. However, after receiving the first I-frame follow-up message sent by terminal Id-3, terminal Id-5 will determine that it and terminal Id-3 are connected to different access points by using the unique identifier of the access point to which terminal Id-3 is connected, carried in the first I-frame follow-up message. Therefore, terminal Id-5 will not process the first I-frame follow-up message sent by terminal Id-3.

[0097] The other action is updating the placeholder distribution of the first I-frame. It should be noted that all terminals in the first competing terminal set corresponding to the first terminal need to update the placeholder distribution of the first I-frame based on the received first I-frame follow-up message.

[0098] First, all terminals in the first competing terminal set calculate the transmission time of the first terminal's first I-frame. Specifically, for neighboring terminals that directly receive the first I-frame follow-up message sent by the first terminal, the transmission time of the first terminal's first I-frame can be determined based on the time of receiving the first I-frame follow-up message and the transmission delay between them and the first terminal. For non-neighboring terminals that indirectly receive the first I-frame follow-up message sent by the first terminal, that is, for non-neighboring terminals that receive the first I-frame follow-up message through message forwarding by neighboring terminals, since each hop of forwarding the first I-frame follow-up message adds its corresponding transmission delay, the transmission time of the first terminal's first I-frame can also be determined. For example, such as Figure 4 As shown, for the first I-frame follow-up message sent by terminal Id-3, terminal Id-1 receives a forwarding message from terminal Id-2 (or terminal Id-4). The forwarding message already carries the transmission delay from terminal Id-3 to terminal Id-2 (or terminal Id-4). Terminal Id-1 itself also knows the transmission delay from terminal Id-2 (or terminal Id-4) to terminal Id-1. Therefore, after receiving the first I-frame follow-up message from terminal Id-3, terminal Id-1 can estimate the transmission time of the first I-frame of terminal Id-3 by subtracting the transmission delay from terminal Id-2 (or terminal Id-4) to terminal Id-1 from the arrival time, and then subtracting the transmission delay from terminal Id-3 to terminal Id-2 (or terminal Id-4).

[0099] The formula for calculating the transmission time of the first I-frame of the first terminal is as follows:

[0100] Time_ i-start =Time_ i-arrive –∑D_ transdelay

[0101] In the formula, Time _i-startIndicates the transmission time of the first I-frame of the first terminal; Time_ i-arrive This represents the time when the first I-frame follow-up message arrives at the i-th terminal; ∑D_ transdelay This represents the sum of the transmission delays for each hop during the message forwarding process of the first I-frame.

[0102] Secondly, the preset statistical period includes b Each time period, b Each sub-time period is divided into preset statistical periods; the sub-time period corresponding to the transmission time of the first I-frame of the first terminal is determined, and the landing point is marked in the corresponding sub-time period. Here, the marker can be the ID of the first terminal. For example, such as... Figure 5 As shown, the transmission times of I-frames for terminals Id-1 and Id-2 fall within the first 200ms sub-period of the first second of the preset statistical period; the transmission time of the I-frame for terminal Id-3 falls within the third 200ms sub-period of the first second of the preset statistical period. Note that only the first second of the preset statistical period is shown here as an example, and it does not mean that there are no I-frames from these terminals in the 2nd to 5th seconds of the preset statistical period. The statistical distribution of I-frame occupancy must be based on the entire preset statistical period (6 seconds).

[0103] In one specific implementation, the duration of the sub-time interval is not less than the maximum value among all frame transmission interval durations in the first frame transmission interval duration set, and the frame transmission interval duration of one frame in the first frame transmission interval duration set is the frame transmission interval duration of one terminal in the first terminal set. The sub-time intervals, which are evenly divided into preset statistical periods, are configured as the maximum frame interval. The maximum frame interval is understood as the maximum possible duration of I-frame transmission, making the width of a sub-time interval much larger than the transmission time of any I-frame. This ensures that even if an I-frame begins transmission at the boundary of a sub-time interval (due to slight errors in calculating transmission delay and processing messages in the network), its entire transmission process will be completely contained within one sub-time interval, at most touching the boundary, but never crossing multiple sub-time intervals.

[0104] In video transmission, a frame rate below 15 is generally considered to cause noticeable stuttering to the human eye. Therefore, the video frame rate is typically configured to be no lower than 15. Based on a frame rate of 15, the frame interval is 66 seconds. Considering the error tolerance in calculating the I-frame's time following message transmission, the width of the sub-time interval is recommended to be at least 100ms, for example, a sub-time interval of 200ms. Figure 5 As shown, the preset statistical period of 6 seconds is divided into sub-time intervals of 200ms (equivalent to...). Figure 5 The time slot sub-intervals in the data can be divided into 30 sub-time slots.

[0105] Furthermore, the first I-frame occupancy distribution includes the occupancy number and saturation of each sub-time interval. The occupancy number of a sub-time interval reflects the number of terminals sending I-frames to the first access point within that sub-time interval. However, because the bitrates of video transmission differ among terminals, the occupancy number alone is insufficient to characterize the busyness of a sub-time interval. For example, if two terminals simultaneously send I-frames in sub-time interval-1 and five terminals simultaneously send I-frames in sub-time interval-4, sub-time interval-4 appears more crowded. However, assuming that the two terminals in sub-time interval-1 are sending video data at a high bitrate of 20Mbps, while the five terminals in sub-time interval-4 are sending data at a low bitrate of 1Mbps, then the actual situation might be that sub-time interval-1 is more crowded. Although the actual size of each I-frame depends on many factors and is related to changes in the image, it is not necessarily true that a high bitrate always results in large I-frames. However, considering the same conditions, the transmission bitrate set by the terminal does have a direct impact on the I-frame size and can largely reflect the size of the I-frame. The calculation method for the saturation of each sub-time interval is as follows:

[0106]

[0107] In the formula, S Indicates the degree of saturation in the interval; α This represents the bitrate impact factor, used to determine the degree to which the terminal bitrate affects the calculation of interval saturation. This refers to the bitrate level difference, specifically the difference between the bitrate and the baseline bitrate level. For example, if a terminal can be set to transmit bitrates of 1Mbps, 2Mbps, 4Mbps, and 8Mbps, and if 1Mbps is set as the baseline with a level value of 1, then the corresponding levels for 2Mbps, 4Mbps, and 8Mbps are 2, 4, and 8, respectively. The corresponding bitrate levels for these four levels are... These are 0, 1, 3, and 7 respectively, representing the difference between the bitrate level and the baseline level. Assuming the sub-time interval contains terminals with exactly these four bitrates, an influence factor is set. α =0.8, then the interval saturation S = (1+0)+(1+1) ∙ 0.8) + (1 + 3) ∙ 0.8) + (1 + 7) ∙ 0.8) = 12.8. This is the interval saturation, used to superimpose the bitrate effect to evaluate the busyness of a sub-period interval. It can be seen that when... α When =0, it is equivalent to ignoring the difference between different bit rates, and the interval saturation is only affected by the number of terminals simultaneously sending I-frames within the sub-time interval; while when α When the bitrate is 1, its impact on interval saturation reaches its maximum, therefore the influencing factor... αThe value range is [0,1]. Similarly, a maximum saturation threshold for sub-time intervals needs to be designed. When the interval saturation exceeds the threshold, the total I-frame size within the sub-time interval is considered too large, and the interval is assessed as congested.

[0108] In one specific implementation, within a preset interval, a neighboring terminal receives at least two first I-frame follow-up messages. The neighboring terminal only uses the first received first I-frame follow-up message to update the first I-frame occupancy distribution. Since the video frame rate is finite (e.g., 30 frames per second), the time interval between two consecutive I-frames must be greater than the preset interval. No terminal can consecutively send two first I-frames within the preset interval. Therefore, within this time window, it is absolutely impossible for it to be the second new first I-frame sent by the first terminal; it must be a duplicate copy transmitted back through a different path, not a new event notification, and therefore it is ignored.

[0109] The first I-frame follow-up message sent by the first terminal, after multiple hops, may be transmitted back to itself through a certain path. Therefore, in one specific implementation, after receiving a forwarded message from another terminal, the source terminal's identity identifier in the forwarded message will be used to determine that the source terminal is itself. Thus, it can be determined that the received forwarded message is an echo of the message it sent, so it is ignored and no processing is performed.

[0110] Since each terminal performs real-time statistics on the first I-frame occupancy distribution of the terminals transmitting video, when a terminal stops transmitting, its occupancy information must be cleared; otherwise, it will affect occupancy calculation and peak-shifting processing. Therefore, in one specific implementation, an occupancy statistics timeout is set. If, within the timeout period, no I-frame follow-up message is received from each terminal that has already occupied a position (e.g., within 4 broadcast cycles), all occupancy records for that terminal within the statistical period are deleted, and the interval saturation value is recalculated and updated. The timeout period is an integer multiple of the broadcast cycle.

[0111] For example, assuming the set timeout is 120 seconds (2 minutes), each time terminal Id-1 receives an I-frame follow message from terminal Id-3, it records the bitrate level in the I-frame follow message, calculates the I-frame transmission time and interval saturation, and updates terminal Id-3's timeout to 120 seconds (i.e., the timeout is updated every time a new terminal I-frame follow message is received). When terminal Id-1 finds that it has not received a new I-frame follow message from terminal Id-3 within the 120-second timeout, it can be considered that terminal Id-3 has stopped video transmission. At this time, the placeholder information of each sub-time interval of terminal Id-3 within the statistical period is cleared, the placeholder number is reduced by 1, and all interval saturation of terminal Id-3 is recalculated. This can be done by subtracting the interval saturation of terminal Id-3 from the original interval saturation. The calculation formula is as follows:

[0112]

[0113] In the formula, Indicates the saturation level of the new interval; This indicates the saturation level of the original interval.

[0114] Please see Figure 6 , Figure 6 yes Figure 3 The flowchart shown is a schematic diagram of one embodiment of step S32. It should be noted that if substantially the same result is achieved, this embodiment does not necessarily follow the same pattern. Figure 6 The illustrated process sequence is limited. For example... Figure 6 As shown, this embodiment includes:

[0115] Step S61: Determine the alignment time of the current moment within the preset statistical period.

[0116] In this embodiment, the alignment time of the current moment within a preset statistical period is determined. That is, the position of the current moment within the preset statistical period is determined.

[0117] Step S62: Based on the I-frame occupancy distribution in the first time period in the first I-frame occupancy distribution, predict the load status of the first access point in the first time period.

[0118] In this embodiment, the load status of the first access point within a first time period is predicted based on the I-frame occupancy distribution within the first time period in the first I-frame occupancy distribution; wherein, the first time period is the time period between the alignment time and the end time of the preset statistical period. The first I-frame occupancy distribution characterizes the distribution pattern of the I-frame transmission times of terminals in the first competing terminal set within the preset statistical period. Therefore, by using the first I-frame occupancy distribution, the real-time pressure level of the transmission resources of the first access point being occupied and competed for by terminals within the first time period can be determined.

[0119] Step S63: Determine the timing for transmitting the first video based on the load status.

[0120] In this embodiment, the transmission timing of the first video is determined based on the load status. The load status represents the real-time pressure level of the transmission resources of the first access point being occupied and competed for by terminals within a first time period. Therefore, the congested and idle periods of the transmission resources of the first access point within the first time period can be determined based on the load status. Thus, the determined transmission timing of the first video can avoid the congested periods of the transmission resources, enabling the transmission of the first video, or the first I-frame of the first video, to be transmitted during the idle periods of the transmission resources, achieving peak-shifting transmission.

[0121] In one embodiment, the preset statistical period includes b Each sub-time period, b Each sub-time period is divided into preset statistical periods. The first I-frame occupancy distribution includes the occupancy number of each sub-time period interval. The occupancy number of each sub-time period interval represents the number of terminals sending I-frames to the first access point within that sub-time period. Based on the I-frame occupancy distribution within the first time period in the first I-frame occupancy distribution, the load status of the first access point within the first time period is predicted. Specifically, the occupancy number of each sub-time period interval within the first time period is used as the load status. In other words, the occupancy number of each sub-time period interval within the first time period is used as the load status of the first access point within the first time period.

[0122] The larger the octane number of a sub-time interval, the more terminals transmit I-frames to the first access point within that sub-time interval. This indicates that a larger number of terminals are using the first access point's transmission resources to transmit I-frames within that sub-time interval, increasing the likelihood of transmission resource congestion at the first access point. Conversely, the smaller the octane number of a sub-time interval, the fewer terminals transmit I-frames to the first access point within that sub-time interval. This indicates that a smaller number of terminals are using the first access point's transmission resources to transmit I-frames within that sub-time interval, increasing the likelihood that the first access point's transmission resources are idle.

[0123] Among them, incorrect b The size is limited and can be set according to actual usage needs.

[0124] In one specific implementation, the transmission timing of the first video is determined based on the load status, specifically as follows: when there is at least one first sub-time period interval in the first time period, the transmission timing of the first video is determined according to any strategy in a preset first strategy set, wherein the first sub-time period interval is a sub-time period interval in the first time period whose interval digit count is less than a quantity threshold; wherein the first strategy set includes at least one of the following strategies: a first strategy, a second strategy, and a third strategy; the first strategy is to determine any one of the at least one first sub-time period intervals as the transmission timing of the first video; the second strategy is to determine the first sub-time period interval with the smallest interval digit count among the at least one first sub-time period intervals as the transmission timing of the first video; the third strategy is to determine the first sub-time period interval closest to the current time among the at least one first sub-time period intervals as the transmission timing of the first video.

[0125] The first sub-time period is a sub-time period in the first time period where the number of bits occupied by the interval is less than the threshold. Therefore, in the first sub-time period, the number of terminals transmitting I-frames to the first access point is relatively small, or in other words, the number of terminals occupying the transmission resources of the first access point to transmit I-frames to the first access point is relatively small, and the transmission resources of the first access point are idle. Therefore, determining the transmission timing of the first video according to any strategy in the preset first strategy set can avoid the period when the transmission resources of the first access point are congested, thus achieving peak-shifting transmission. In addition, since the first video or the first video I-frame is transmitted to the first access point during the period when the transmission resources of the first access point are idle, the first access point has more transmission resources to meet the transmission of the first video or the first video I-frame. On the one hand, this improves the efficiency of transmitting the first video or the first video I-frame, improves the real-time transmission of the first video or the first video I-frame, and reduces transmission latency; on the other hand, it improves the reliability and stability of transmitting the first video or the first video I-frame, and reduces the occurrence of transmission stuttering, packet loss, and other phenomena.

[0126] The first strategy is to determine any one of the at least one first sub-time intervals as the transmission timing for the first video. Any one first sub-time interval is a sub-time interval in the first time interval whose interval occupancy is less than a certain threshold. Therefore, selecting any one first sub-time interval as the transmission timing for the first video can avoid the period of congestion of the transmission resources of the first access point and transmit the first video, or the first I-frame of the first video, to the first access point, thus achieving peak-shifting transmission.

[0127] The second strategy is to determine the first sub-time interval with the smallest interval occupancy among at least one first sub-time intervals as the transmission timing for the first video. In the first sub-time interval with the smallest interval occupancy, the number of terminals transmitting I-frames to the first access point is minimized; in other words, the number of terminals occupying the first access point's transmission resources to transmit I-frames to the first access point is minimized, and the first access point's transmission resources are at their most idle. Therefore, determining the first sub-time interval with the smallest interval occupancy among at least one first sub-time intervals as the transmission timing for the first video can avoid transmitting the first video, or the first I-frame of the first video, to the first access point during periods of congestion, achieving off-peak transmission. Furthermore, the first access point has sufficient transmission resources to meet the transmission of the first video, or the first I-frame of the first video. On the one hand, this improves the efficiency and real-time performance of transmitting the first video, or the first I-frame of the first video, and reduces transmission latency; on the other hand, it improves the reliability and stability of transmitting the first video, or the first I-frame of the first video, and reduces the occurrence of transmission stuttering, packet loss, and other phenomena.

[0128] The third strategy is to determine the transmission timing of the first video video from at least one first sub-time interval that is closest to the current time. The first sub-time interval closest to the current time is a sub-time interval within the first time interval whose digit count is less than a certain threshold. Therefore, selecting the first sub-time interval closest to the current time as the transmission timing of the first video video can avoid transmitting the first video, or the first I-frame of the first video, to the first access point during periods of congestion, thus achieving off-peak transmission. Furthermore, it can minimize the impact of transmission delays, thereby avoiding affecting the outgoing flow speed.

[0129] There is no limit to the size of the quantity threshold; it can be set according to actual usage needs.

[0130] For example, such as Figure 5 As shown, taking the determination of the first sub-time interval closest to the current time in at least one first sub-time interval as the transmission timing of the first video as an example: the alignment time of the current time that triggers the pull stream in the preset statistical period is determined to be the 4th sub-time interval of the 1st second; however, the number of intervals in the sub-time interval where the current time that triggers the pull stream is located is greater than the quantity threshold, so the first sub-time interval with a number of intervals less than the quantity threshold is searched for as the transmission timing of the first video, where the first sub-time interval with a number of intervals less than the quantity threshold is the first sub-time interval closest to the current time.

[0131] In another specific implementation, if there is only one first sub-time interval in the first time period, the first sub-time interval is directly determined as the transmission time of the first video.

[0132] In another specific implementation, the transmission timing of the first video is determined based on the load status. Specifically, if there is no first sub-time period interval in the first time period, the second sub-time period interval is determined as the transmission timing of the first video. Here, the first sub-time period interval is the sub-time period interval in the first time period whose interval occupancy is less than a certain threshold, and the second sub-time period interval is the sub-time period interval with the smallest interval occupancy in the first time period. The absence of a first sub-time period interval in the first time period indicates that there is no sub-time period interval with an interval occupancy less than the threshold, meaning there is no sub-time period interval in the first time period where the transmission resources of the first access point are idle. Since the second sub-time period interval has the smallest interval occupancy in the first time period, the number of terminals transmitting I-frames to the first access point in the second sub-time period is relatively smaller compared to other sub-time period intervals. In other words, the number of terminals occupying the transmission resources of the first access point to transmit I-frames to the first access point is relatively smaller compared to other sub-time period intervals, and the transmission resources of the first access point are relatively less congested. Therefore, determining the second sub-time period interval as the transmission timing of the first video can reduce transmission latency and reduce the occurrence of transmission stuttering, packet loss, and other phenomena.

[0133] In one embodiment, the preset statistical period includes b Each sub-time period, b Each sub-time period is divided into preset statistical periods. The first I-frame occupancy distribution includes the interval saturation of each sub-time period. Based on the I-frame occupancy distribution within the first time period in the first I-frame occupancy distribution, the load state of the first access point within the first time period is predicted. Specifically, the interval saturation of each sub-time period within the first time period is used as the load state. In other words, the interval saturation of each sub-time period within the first time period is used as the load state of the first access point within the first time period.

[0134] The higher the saturation of a sub-time interval, the larger the total size of all I-frames transmitted to the first access point within that sub-time interval. This indicates that the I-frames transmitted to the first access point within that sub-time interval occupy more of the first access point's transmission resources, and the greater the possibility of congestion of the first access point's transmission resources. Conversely, the lower the saturation of a sub-time interval, the smaller the total size of all I-frames transmitted to the first access point within that sub-time interval. This indicates that the I-frames transmitted to the first access point within that sub-time interval occupy less of the first access point's transmission resources, and the greater the possibility that the first access point's transmission resources are idle.

[0135] Among them, incorrect b The size is limited and can be set according to actual usage needs.

[0136] The occupancy rate of a sub-time interval reflects the number of terminals sending I-frames to the first access point within that sub-time interval. However, because the bitrates of video transmission vary among terminals, the occupancy rate alone is insufficient to characterize whether the transmission resources of the first access point are congested within that sub-time interval. For example, if two terminals send I-frames to the first access point in sub-time interval A and five terminals send I-frames to the first access point in sub-time interval B, the transmission resources of the first access point in sub-time interval B appear relatively congested based on the occupancy rate. However, if we assume that the two terminals in sub-time interval A are sending video data at a high bitrate of 200 Mbps, while the five terminals in sub-time interval B are sending video data at a low bitrate of 1 Mbps, then the total size of all I-frames transmitted to the first access point within sub-time intervals is larger. Therefore, sub-time interval A has a higher saturation level, or is relatively saturated. All I-frames transmitted to the first access point within sub-time interval A occupy more transmission resources of the first access point, making the transmission resources of the first access point in sub-time interval A relatively more congested.

[0137] In one specific implementation, the transmission timing of the first video is determined based on the load status, specifically as follows: if at least one third sub-time period exists in the first time period, the transmission timing of the first video is determined according to any strategy in a preset second strategy set, wherein the third sub-time period is a sub-time period in the first time period whose interval saturation is less than a saturation threshold; wherein the second strategy set includes at least one of the following strategies: a fourth strategy, a fifth strategy, and a sixth strategy; the fourth strategy is to determine any one of the at least one third sub-time period intervals as the transmission timing of the first video; the fifth strategy is to determine the third sub-time period interval with the smallest interval saturation among the at least one third sub-time period intervals as the transmission timing of the first video; the sixth strategy is to determine the third sub-time period interval closest to the current time among the at least one third sub-time period intervals as the transmission timing of the first video.

[0138] The third sub-time period is the sub-time period in the first time period where the interval saturation is less than the saturation threshold. Therefore, the interval saturation of the third sub-time period is low, and the total size of all I-frames transmitted to the first access point in the third sub-time period is small. This indicates that the transmission resources of the first access point occupied by all I-frames transmitted to the first access point in the third sub-time period are less, and the transmission resources of the first access point are idle. Therefore, determining the transmission timing of the first video according to any strategy in the preset second strategy set can avoid the period when the transmission resources of the first access point are congested, thus achieving peak-shifting transmission. In addition, since the first video or the first video's I-frame is transmitted to the first access point during the period when the transmission resources of the first access point are idle, the first access point has more transmission resources to meet the transmission of the first video or the first video's first I-frame. On the one hand, this improves the efficiency of transmitting the first video or the first video's first I-frame, improves the real-time transmission of the first video or the first video's first I-frame, and reduces transmission latency; on the other hand, it improves the reliability and stability of transmitting the first video or the first video's first I-frame, and reduces the occurrence of transmission stuttering, packet loss, and other phenomena.

[0139] The fourth strategy is to determine any one of the at least three sub-time intervals as the transmission timing for the first video. Any one of these three sub-time intervals is a sub-time interval within the first time interval where the interval saturation is less than the saturation threshold. Therefore, selecting any one of these three sub-time intervals as the transmission timing for the first video can avoid the congestion period of the first access point's transmission resources, thus achieving off-peak transmission.

[0140] The fifth strategy is to determine the transmission timing of the first video as the third sub-time period with the lowest interval saturation among at least one third sub-time period intervals. In the third sub-time period interval with the lowest interval saturation, the total size of all I-frames transmitted to the first access point is minimized, indicating that the transmission resources of the first access point are minimized, and the first access point's transmission resources are most idle. Therefore, determining the transmission timing of the first video as the third sub-time period interval with the lowest interval saturation among at least one third sub-time period intervals can avoid transmitting the first video, or the first I-frame of the first video, to the first access point during periods of transmission resource congestion, achieving off-peak transmission. Furthermore, the first access point has sufficient transmission resources to meet the transmission of the first video, or the first I-frame of the first video. On the one hand, this improves the efficiency and real-time performance of the first video, or the first I-frame of the first video, reducing transmission latency; on the other hand, it improves the reliability and stability of the first video, or the first I-frame of the first video, reducing transmission stuttering and packet loss.

[0141] The sixth strategy is to determine the transmission timing of the first video from at least one third sub-time interval that is closest to the current time. The third sub-time interval closest to the current time is the sub-time interval within the first time interval where the interval saturation is less than the saturation threshold. Therefore, selecting the third sub-time interval closest to the current time as the transmission timing of the first video can avoid transmitting the first video, or the first I-frame of the first video, to the first access point during periods of congestion of the first access point's transmission resources, thus achieving off-peak transmission. Furthermore, it can minimize the impact of transmission delays, thereby avoiding affecting the outgoing flow speed.

[0142] The saturation threshold is not limited and can be set according to actual usage needs.

[0143] For example, such as Figure 5 As shown, taking the determination of the third sub-time interval closest to the current time in at least one third sub-time interval as the transmission timing of the first video as an example: the alignment time of the current time that triggers the pull stream in the preset statistical period is determined to be the 4th sub-time interval of the 1st second; however, the interval saturation of the sub-time interval where the current time that triggers the pull stream is located is greater than the saturation threshold, so the first sub-time interval with an interval saturation less than the saturation threshold is searched for as the transmission timing of the first video, where the first sub-time interval with an interval saturation less than the saturation threshold is the third sub-time interval closest to the current time.

[0144] In another specific implementation, if there is only one third sub-time interval in the first time period, the third sub-time interval is directly determined as the transmission time of the first video.

[0145] In another specific implementation, the transmission timing of the first video is determined based on the load status. Specifically, if there is no third sub-time period interval in the first time period, the fourth sub-time period interval is determined as the transmission timing of the first video. The third sub-time period interval is the sub-time period interval in the first time period where the interval saturation is less than the saturation threshold, and the fourth sub-time period interval is the sub-time period interval with the lowest interval saturation in the first time period. The absence of a third sub-time period interval in the first time period indicates that there is no sub-time period interval with interval saturation less than the saturation threshold, meaning there is no sub-time period interval in the first time period where the transmission resources of the first access point are idle. Since the fourth sub-time period interval has the lowest interval saturation in the first time period, its interval saturation is relatively low. Therefore, the total size of all I-frames transmitted to the first access point in the fourth sub-time period is relatively smaller than in other sub-time period intervals, and the transmission resources of the first access point are relatively less congested. Therefore, determining the fourth sub-time period interval as the transmission timing of the first video can reduce transmission latency and the occurrence of transmission stuttering and packet loss.

[0146] In one embodiment, the preset statistical period includes b Each sub-time period, b Each sub-time period is divided into preset statistical periods. The first I-frame occupancy distribution includes the occupancy number and saturation of each sub-time period interval. The occupancy number of each sub-time period interval represents the number of terminals sending I-frames to the first access point within that sub-time period. Based on the I-frame occupancy distribution within the first time period in the first I-frame occupancy distribution, the load status of the first access point within the first time period is predicted. Specifically, the occupancy number and saturation of each sub-time period interval within the first time period are used as the load status. In other words, by using the occupancy number and saturation of each sub-time period interval within the first time period as the load status of the first access point within the first time period, the transmission resource congestion situation in each sub-time period interval within the first time period can be jointly assessed by combining the occupancy number and saturation.

[0147] Among them, incorrect b The size is limited and can be set according to actual usage needs.

[0148] In one specific implementation, the transmission timing of the first video is determined based on the load status, specifically as follows: if there is at least one fifth sub-time period interval in the first time period, the transmission timing of the first video is determined according to any strategy in a preset third strategy set; wherein, the fifth sub-time period interval is a sub-time period interval in the first time period that satisfies both condition one and condition two, condition one being that the interval digit count is less than a quantity threshold, and condition two being that the interval saturation is less than a saturation threshold; wherein, the third strategy set includes at least one of the following: seventh strategy, eighth strategy, ninth strategy, and tenth strategy; the seventh strategy is to determine any one of the at least one fifth sub-time period intervals as the transmission timing of the first video; the eighth strategy is to determine the fifth sub-time period interval with the smallest digit count among the at least one fifth sub-time period intervals as the transmission timing of the first video; the ninth strategy is to determine the fifth sub-time period interval with the smallest interval saturation among the at least one fifth sub-time period intervals as the transmission timing of the first video; and the tenth strategy is to determine the fifth sub-time period interval closest to the current time among the at least one fifth sub-time period intervals as the transmission timing of the first video.

[0149] The fifth sub-time period is the sub-time period in the first time period where the number of bits occupied by the interval is less than the quantity threshold and the interval saturation is less than the saturation threshold. Therefore, on the one hand, in the fifth sub-time period, the number of terminals transmitting I-frames to the first access point is relatively small, or in other words, the number of terminals occupying the transmission resources of the first access point to transmit I-frames to the first access point is relatively small. On the other hand, the interval saturation of the fifth sub-time period is low, and the total size of all I-frames transmitted to the first access point in the fifth sub-time period is relatively small, indicating that all I-frames transmitted to the first access point in the fifth sub-time period occupy less transmission resources of the first access point. Therefore, the transmission resources of the first access point are idle in the fifth sub-time period. Thus, by determining the transmission timing of the first video according to any strategy in the preset third strategy set, it is possible to avoid the period of congestion of the transmission resources of the first access point and transmit the first video, or the first I-frame of the first video, to the first access point, thereby achieving peak-shifting transmission. Furthermore, since the first video, or rather the first video's I-frame, is transmitted to the first access point during its idle transmission resource period, the first access point has ample transmission resources to satisfy the transmission of the first video, or rather, the first video's first I-frame. This improves the efficiency and real-time performance of the first video, or rather, the first video's first I-frame, and reduces transmission latency. On the other hand, it enhances the reliability and stability of the first video, or rather, the first video's first I-frame, reducing transmission stuttering, packet loss, and other issues.

[0150] The seventh strategy is to determine any one of the five sub-time intervals in at least one fifth sub-time interval as the transmission time of the first video, which can avoid the transmission resource congestion period of the first access point and transmit the first video or the first I-frame of the first video to the first access point, thus achieving peak-shifting transmission.

[0151] The eighth strategy is to determine the fifth sub-time interval with the smallest interval occupancy among at least one fifth sub-time intervals as the transmission timing for the first video. Determining the fifth sub-time interval with the smallest interval occupancy as the transmission timing for the first video avoids transmission to the first access point during periods of congestion, thus achieving off-peak transmission. Furthermore, the first access point has sufficient transmission resources to meet the transmission needs of the first video or its first I-frame. This improves the efficiency and real-time performance of the first video or its first I-frame transmission, reducing transmission latency. It also enhances the reliability and stability of the first video or its first I-frame transmission, reducing transmission stuttering and packet loss.

[0152] The ninth strategy is to determine the fifth sub-time interval with the lowest interval saturation among at least one fifth sub-time intervals as the transmission timing for the first video. Determining the fifth sub-time interval with the lowest interval saturation as the transmission timing for the first video avoids transmission to the first access point during periods of congestion, thus achieving off-peak transmission. Furthermore, the first access point has sufficient transmission resources to meet the transmission needs of the first video or its first I-frame. This improves the efficiency and real-time performance of the first video or its first I-frame transmission, reducing transmission latency. It also enhances the reliability and stability of the first video or its first I-frame transmission, reducing transmission stuttering and packet loss.

[0153] The tenth strategy is to determine the transmission timing of the first video from at least one fifth sub-time interval that is closest to the current time. Selecting the fifth sub-time interval closest to the current time as the transmission timing of the first video avoids transmitting the first video, or rather, the first I-frame of the first video, to the first access point during periods of congestion in the first access point's transmission resources, thus achieving off-peak transmission. Furthermore, it minimizes the impact of transmission delays, thereby avoiding any impact on the outgoing flow rate.

[0154] In another specific implementation, if there is only one fifth sub-time interval in the first time period, the fifth sub-time interval is directly determined as the transmission time of the first video.

[0155] In another specific implementation, the transmission timing of the first video is determined based on the load status, specifically: if there is no fifth sub-time interval in the first time period but there are at least one sixth sub-time interval and at least one seventh sub-time interval, the transmission timing of the first video is determined according to any strategy in the preset fourth strategy set; wherein, the fifth sub-time interval is a sub-time interval in the first time period that satisfies both condition one and condition two, the sixth sub-time interval is a sub-time interval in the first time period that satisfies condition one but not condition two, and the seventh sub-time interval is a sub-time interval in the first time period that satisfies condition two but not condition one, condition one being that the interval occupancy is less than a quantity threshold, and condition two being that the interval saturation is less than a saturation threshold; wherein, the fourth strategy set includes at least one of the following: eleventh strategy, twelfth strategy, thirteenth strategy, fourteenth strategy, fifteenth strategy, sixteenth strategy, and seventeenth strategy; the eleventh strategy is to determine any one of the at least one sixth sub-time interval and at least one seventh sub-time interval as The first video transmission timing is determined by the following strategies: the twelfth strategy is to determine the sixth sub-time interval with the smallest interval occupancy among at least one sixth sub-time intervals; the thirteenth strategy is to determine the seventh sub-time interval with the smallest interval saturation among at least one seventh sub-time intervals; the fourteenth strategy is to determine the sub-time interval closest to the current time among the sixth sub-time interval with the smallest interval occupancy and the seventh sub-time interval with the smallest interval saturation among at least one seventh sub-time intervals; the fifteenth strategy is to determine the sub-time interval closest to the current time among at least one sixth sub-time interval and at least one seventh sub-time interval; the sixteenth strategy is to determine the sixth sub-time interval closest to the current time among at least one sixth sub-time intervals; and the seventeenth strategy is to determine the seventh sub-time interval closest to the current time among at least one seventh sub-time intervals.

[0156] The eleventh strategy is to determine the transmission timing of the first video by selecting any one of the at least sixth sub-time intervals and at least one seventh sub-time interval. In other words, if there are no sub-time intervals without alarms, but only a single alarm sub-time interval—either the sixth sub-time interval with no alarm on interval occupancy but an alarm on interval saturation exceeding the threshold, or the seventh sub-time interval with no alarm on interval saturation but an alarm on interval occupancy exceeding the threshold—then a single alarm sub-time interval can be randomly selected as the transmission timing of the first video.

[0157] The twelfth strategy is to determine the sixth sub-time interval with the smallest interval occupancy among at least one sixth sub-time intervals as the transmission timing for the first video. That is, if there are no sub-time intervals without alarms, but there are sub-time intervals with a single alarm—the sixth sub-time interval with no alarm occupancy but alarm saturation exceeding the threshold, and the seventh sub-time interval with no alarm saturation but alarm occupancy exceeding the threshold—the sub-time interval with a single alarm and no alarm occupancy is preferentially selected as the transmission timing for the first video, and the selected sub-time interval with the smallest interval occupancy and single alarm is the one with the smallest interval occupancy.

[0158] The thirteenth strategy is to determine the seventh sub-time interval with the lowest interval saturation among at least one seventh sub-time interval as the transmission timing of the first video. That is, if there are no sub-time intervals without alarms, but there are sub-time intervals with a single alarm—the sixth sub-time interval with no alarm in interval occupancy but alarm in interval saturation exceeding the threshold, and the seventh sub-time interval with no alarm in interval saturation but alarm in interval occupancy exceeding the threshold—the sub-time interval with a single alarm and no alarm in interval saturation is preferentially selected as the transmission timing of the first video, and the selected sub-time interval with the lowest interval saturation and the lowest single alarm is chosen.

[0159] The fourteenth strategy is to determine the transmission timing of the first video by selecting the sub-segment closest to the current time between the sixth sub-segment with the smallest interval occupancy among at least two sixth sub-segments and the seventh sub-segment with the smallest interval saturation among at least two seventh sub-segments. In other words, if there are no sub-segments without alarms, but only sub-segments with a single alarm—a sixth sub-segment with no alarm occupancy but an alarm exceeding the interval saturation threshold, and a seventh sub-segment with no alarm saturation but an alarm exceeding the interval occupancy threshold—the sub-segment closest to the current time between the sixth sub-segment with the smallest interval occupancy and the seventh sub-segment with the smallest interval saturation is prioritized as the transmission timing of the first video.

[0160] The fifteenth strategy is to determine the transmission timing of the first video from the sub-time interval closest to the current time, which is either at least a sixth sub-time interval or at least a seventh sub-time interval. In other words, if there are no sub-time intervals without alarms, but only sub-time intervals with a single alarm—the sixth sub-time interval with no alarm on interval occupancy but an alarm on interval saturation exceeding the threshold, and the seventh sub-time interval with no alarm on interval saturation but an alarm on interval occupancy exceeding the threshold—the sub-time interval with the single alarm closest to the current time is preferentially selected as the transmission timing of the first video.

[0161] The sixteenth strategy is to determine the transmission timing of the first video from at least one sixth sub-time interval that is closest to the current time. In other words, if there are no sub-time intervals without alarms, but there are sub-time intervals with a single alarm—the sixth sub-time interval with no alarm in interval occupancy but alarm in interval saturation exceeding the threshold, and the seventh sub-time interval with no alarm in interval saturation but alarm in interval occupancy exceeding the threshold—the sub-time interval with a single alarm that is closest to the current time in interval occupancy is selected as the transmission timing of the first video.

[0162] The seventeenth strategy is to determine the transmission timing of the first video from at least one seventh sub-time interval that is closest to the current time. In other words, if there are no sub-time intervals without alarms, but there are sub-time intervals with a single alarm—the sixth sub-time interval with no alarm on interval occupancy but alarm on interval saturation exceeding the threshold, and the seventh sub-time interval with no alarm on interval saturation but alarm on interval occupancy exceeding the threshold—the sub-time interval with the single alarm that is closest to the current time and has no alarm on interval saturation is preferentially selected as the transmission timing of the first video.

[0163] In one specific implementation, the transmission timing of the first video is determined based on the load status, specifically as follows: if there is no fifth sub-time interval and a seventh sub-time interval in the first time period but there is at least one sixth sub-time interval, the transmission timing of the first video is determined according to any strategy in a preset fifth strategy set; wherein, the fifth sub-time interval is a sub-time interval in the first time period that satisfies both condition one and condition two, the sixth sub-time interval is a sub-time interval in the first time period that satisfies condition one but not condition two, and the seventh sub-time interval is a sub-time interval in the first time period that satisfies condition two but not condition one, condition one being that the interval occupancy is less than a quantity threshold, and condition two being that the interval saturation is less than a saturation threshold; wherein, the fifth strategy set includes at least one of the following: the eighteenth strategy, the nineteenth strategy, and the twentieth strategy; the eighteenth strategy is to determine any one of the at least sixth sub-time intervals as the transmission timing of the first video; the nineteenth strategy is to determine the sixth sub-time interval with the smallest interval occupancy among the at least six sub-time intervals as the transmission timing of the first video; and the twentieth strategy is to determine the sixth sub-time interval closest to the current time among the at least six sub-time intervals as the transmission timing of the first video.

[0164] The eighteenth strategy is to determine any one of the sixth sub-time intervals from at least one sixth sub-time interval as the transmission timing for the first video. In other words, if there are no sub-time intervals without alarms, but there are sixth sub-time intervals with no alarms due to occupancy but alarms due to saturation exceeding the threshold, a sixth sub-time interval can be randomly selected as the transmission timing for the first video.

[0165] The nineteenth strategy is to determine the sixth sub-time interval with the smallest interval occupancy among at least one sixth sub-time intervals as the transmission timing for the first video. In other words, if there are no sub-time intervals without alarms, but there are sixth sub-time intervals with no alarm occupancy but alarms due to interval saturation exceeding the threshold, the sixth sub-time interval with the smallest interval occupancy is preferentially selected as the transmission timing for the first video.

[0166] The twentieth strategy is to determine the transmission timing of the first video from at least one sixth sub-time interval that is closest to the current time. In other words, if there are no sub-time intervals without alarms, but there are sixth sub-time intervals with no alarms due to occupancy but alarms due to saturation exceeding the threshold, the sixth sub-time interval closest to the current time is prioritized as the transmission timing of the first video.

[0167] In another specific implementation, if there is no fifth sub-time interval and a seventh sub-time interval in the first time period and there is only a sixth sub-time interval, the sixth sub-time interval is directly determined as the transmission time of the first video.

[0168] In one specific implementation, the transmission timing of the first video is determined based on the load status, specifically as follows: if there is no fifth sub-time interval and a sixth sub-time interval in the first time period but there is at least one seventh sub-time interval, the transmission timing of the first video is determined according to any strategy in a preset sixth strategy set; wherein, the fifth sub-time interval is a sub-time interval in the first time period that satisfies both condition one and condition two, the sixth sub-time interval is a sub-time interval in the first time period that satisfies condition one but not condition two, and the seventh sub-time interval is a sub-time interval in the first time period that satisfies condition two but not condition one, condition one being that the interval occupancy is less than a quantity threshold, and condition two being that the interval saturation is less than a saturation threshold; wherein, the sixth strategy set includes at least one of the following: strategy twenty-first, strategy twenty-second, and strategy twenty-third; strategy twenty-first is to determine any one of the at least seven sub-time intervals as the transmission timing of the first video; strategy twenty-second is to determine the seventh sub-time interval with the smallest interval saturation among the at least seven sub-time intervals as the transmission timing of the first video; strategy twenty-third is to determine the seventh sub-time interval closest to the current time among the at least seven sub-time intervals as the transmission timing of the first video.

[0169] The twenty-first strategy is to determine any one of the seventh sub-time intervals from at least one seventh sub-time interval as the transmission timing for the first video. In other words, if there are no sub-time intervals without alarms, but there are seventh sub-time intervals with no alarms for interval saturation but alarms for interval occupancy exceeding the threshold, a seventh sub-time interval can be randomly selected as the transmission timing for the first video.

[0170] The twenty-second strategy is to determine the seventh sub-time interval with the lowest interval saturation among at least one seventh sub-time interval intervals as the transmission timing for the first video. In other words, if there are no sub-time intervals without alarms, but there are seventh sub-time intervals with no alarms for interval saturation but alarms for interval occupancy exceeding the threshold, the seventh sub-time interval with the lowest interval saturation is preferentially selected as the transmission timing for the first video.

[0171] The twenty-third strategy is to determine the transmission timing of the first video from at least one seventh sub-time interval that is closest to the current time. In other words, if there are no sub-time intervals without alarms, but there are seventh sub-time intervals with no alarms for interval saturation but alarms for interval occupancy exceeding the threshold, the seventh sub-time interval closest to the current time is prioritized as the transmission timing of the first video.

[0172] In another specific implementation, if there is no fifth sub-time interval and no sixth sub-time interval in the first time period and there is only a seventh sub-time interval, the seventh sub-time interval is directly determined as the transmission time of the first video.

[0173] In one specific implementation, the transmission timing of the first video is determined based on the load status. Specifically, if there are no fifth, sixth, and seventh sub-time intervals in the first time period, the transmission timing of the first video is determined according to any strategy in a preset seventh strategy set. The fifth sub-time interval is a sub-time interval in the first time period that satisfies both condition one and condition two; the sixth sub-time interval is a sub-time interval in the first time period that satisfies condition one but not condition two; and the seventh sub-time interval is a sub-time interval in the first time period that satisfies condition two but not condition one. Condition one is that the interval occupancy is less than a threshold number, and condition two is that the interval saturation is low. The saturation threshold is specified; wherein the seventh strategy set includes at least one of the following: strategy twenty-four, strategy twenty-five, and strategy twenty-six; strategy twenty-four is to determine any one of the second sub-time interval and the fourth sub-time interval as the transmission timing of the first video; wherein the second sub-time interval is the sub-time interval with the smallest interval occupancy in the first time interval, and the fourth sub-time interval is the sub-time interval with the smallest interval saturation in the first time interval; strategy twenty-five is to determine the sub-time interval closest to the current time in the second sub-time interval and the fourth sub-time interval as the transmission timing of the first video; strategy twenty-six is ​​to determine the second sub-time interval as the transmission timing of the first video.

[0174] The twenty-fourth strategy is to determine the transmission timing of the first video using either the second or fourth sub-time period interval. The second sub-time period interval is the one with the smallest interval occupancy in the first time period, and the fourth sub-time period interval is the one with the smallest interval saturation in the first time period. In other words, if there are no sub-time period intervals without alarms, and no sub-time period intervals with a single alarm—the sixth sub-time period interval with no alarm occupancy but alarm saturation exceeding the threshold, and the seventh sub-time period interval with no alarm saturation but alarm occupancy exceeding the threshold—then either the sub-time period interval with the smallest interval occupancy and the one with the smallest interval saturation and the one with the smallest alarm occupancy in the first time period can be preferentially selected as the transmission timing of the first video.

[0175] The twenty-fifth strategy is to determine the transmission timing of the first video from the sub-time interval closest to the current time between the second and fourth sub-time intervals. In other words, if there are no sub-time intervals without alarms, and no sub-time intervals with a single alarm—such as the sixth sub-time interval (no alarm in interval occupancy but alarm in interval saturation exceeding the threshold) and the seventh sub-time interval (no alarm in interval saturation but alarm in interval occupancy exceeding the threshold)—then the sub-time interval closest to the current time from either the sub-time interval with the smallest interval occupancy or the sub-time interval with the smallest interval saturation within the first time interval can be preferentially selected as the transmission timing of the first video.

[0176] The twenty-sixth strategy is to determine the second sub-time period as the transmission timing for the first video. In other words, if there are no sub-time periods without alarms, and no sub-time periods with a single alarm—such as the sixth sub-time period where the interval occupancy is not alarmed but the interval saturation exceeds the threshold, and the seventh sub-time period where the interval saturation is not alarmed but the interval occupancy exceeds the threshold—then the sub-time period with the smallest interval occupancy and two alarms in the first time period can be preferentially selected as the transmission timing for the first video.

[0177] Please see Figure 7 , Figure 7 This is a flowchart illustrating an embodiment of the terminal network access method provided in this application. It should be noted that if substantially the same result is achieved, this embodiment does not necessarily replace it. Figure 7 The illustrated process sequence is limited. For example... Figure 7 As shown, before obtaining the first I-frame occupancy distribution and the first video to be sent to the first access point, this embodiment includes:

[0178] Step S71: Send the first network access request to the first access node.

[0179] In this embodiment, a first network access request is sent to the first access node. The first network access request is a network request initiated by the first terminal to request the first access node to allow the first terminal to access the network.

[0180] Step S72: Upon receiving the first successful network access response from the first access point, send the first network access message to the neighboring terminals of the first terminal.

[0181] In this embodiment, upon receiving a first successful network access response from the first access point, a first network access message is sent to the neighboring terminals of the first terminal. The first successful network access response is a response message from the first access point allowing the first terminal to access the network upon receiving the first network access request, and the first terminal successfully accessing the network. The first network access message carries first network access-related attribute information for terminals in the first competing terminal group to determine their own transmission delay with the first terminal. In other words, after successfully accessing the first access point, the first terminal needs to send a first network access message to its neighboring terminals to inform them that a new terminal has joined its network.

[0182] In one embodiment, the first terminal sends a first network access message to its neighboring terminals via network access broadcast to inform its neighboring terminals that a new terminal has joined the network.

[0183] In one specific implementation, the network access broadcast can be a sidelink broadcast.

[0184] In one embodiment, the first network access related attribute information includes at least one of the following: a unique identifier of the first terminal (the source terminal that sends the first network access message) (e.g., the source terminal's unique IP address, unique MAC address, unique terminal identification code, unique terminal ID, etc.), a unique identifier of the first access point to which the first terminal is connected (e.g., the first access point's unique IP address, unique MAC address, unique terminal device identification code, unique terminal ID, unique physical cell ID (PCI), unique cell ID, etc.), and a first message type field. The first message type field is used to indicate that the message sent by the first terminal is a network access message, which facilitates the differentiation and processing by all terminals in the first competing terminal set.

[0185] The first network access related attribute information includes the unique identifier of the first terminal, the unique identifier of the first access point to which the first terminal is connected, and a first message type field. In one specific embodiment, after each neighboring terminal of the first terminal receives the first network access message sent by the first terminal, it first parses the first network access message to obtain the first network access related attribute information. Secondly, it determines that the received message is a network access message through the first message type field. Then, it determines whether the first terminal and itself are connected to the same access point through the unique identifier of the first access point to which the first terminal is connected in the first network access related attribute information. If it is determined that the first terminal and itself are not connected to the same access point, no processing is performed; conversely, if it is determined that the first terminal and itself are connected to the same access point, the unique identifier of the first terminal is recorded, it is marked as a neighboring terminal, and the transmission delay between itself and the first terminal is calculated. The transmission delay is used for subsequent calculation and processing of I-frame follow-up messages.

[0186] It should be noted that after a neighboring terminal of the first terminal in the first competing terminal set receives the first "network access granted" message sent by the first terminal, it will forward the message to its corresponding neighboring terminal. Ultimately, all terminals in the first competing terminal set will receive the first "network access granted" message. However, non-neighboring terminals of the first terminal in the first competing terminal set do not process the received "network access granted" message to calculate transmission delay. This is because if the first terminal subsequently transmits video data, the non-neighboring terminals in the first competing terminal set will inevitably obtain the I-frame follow-up message sent by the first terminal through message forwarding behavior from other terminals in the first competing terminal set. The other terminals performing message forwarding will carry the transmission delay for each hop.

[0187] Please see Figure 8 , Figure 8 This is a flowchart illustrating another embodiment of the terminal network access method provided in this application. It should be noted that if substantially the same result is achieved, this embodiment does not necessarily reflect that outcome. Figure 8 The illustrated process sequence is limited. For example... Figure 8 As shown, this embodiment includes:

[0188] Step S81: Upon receiving the second network access message, parse the second network access related attribute information from the second network access message.

[0189] In this embodiment, upon receiving a second network access message, the second network access-related attribute information is parsed from the second network access message; wherein, the second network access message is sent by the first neighboring terminal.

[0190] Specifically, after the first neighboring terminal successfully accesses the access point, it sends a second "network accessed" message to its neighboring terminals, so that all terminals in its corresponding first competing terminal set are aware that a new terminal has joined. Since the first terminal is a neighboring terminal of the first neighboring terminal, the first terminal will receive the second "network accessed" message sent by the first neighboring terminal.

[0191] It should be noted that whether two terminals are adjacent terminals depends solely on the distance between them, and is unrelated to whether they are connected to the same access point. For example... Figure 4 As shown, terminal Id-3 and terminal Id-5 access different access points, but they are neighboring terminals. If terminal Id-5 has already accessed an access point, and terminal Id-3 has just successfully accessed another access point and sent a network access message, terminal Id-5, as a neighboring terminal of terminal Id-3, can receive the network access message sent by terminal Id-5.

[0192] In one embodiment, the first neighboring terminal sends a second "joined the network" message via network access broadcast to inform its neighboring terminals that a new terminal has joined the network.

[0193] In one specific implementation, the network access broadcast can be a sidelink broadcast.

[0194] In one embodiment, the second network access related attribute information includes at least one of the following: the unique identifier of the first neighboring terminal (the source terminal that sent the second network access message) (e.g., the unique IP address, unique MAC address, unique terminal identification code, unique terminal ID, etc. of the source terminal), the unique identifier of the access point to which the first neighboring terminal is connected (e.g., the unique IP address, unique MAC address, unique terminal device identification code, unique terminal ID, unique physical cell ID (PCI), unique cell ID, etc. of the access point to which it is connected), and a first message type field, wherein the first message type field is used to indicate that the message sent by the first neighboring terminal is a network access message.

[0195] Step S82: Determine the first transmission delay between the first neighboring terminal and the first terminal based on the second network access related attribute information.

[0196] In this embodiment, the first transmission delay between the first neighboring terminal and the first terminal is determined based on the second network access related attribute information; wherein, the first neighboring terminal is the terminal that sent the second network access message to the first terminal. The first transmission delay between the first neighboring terminal and the first terminal is used for subsequent calculation and processing of I-frame follow-up messages.

[0197] In one embodiment, before determining the first transmission delay between the first neighbor terminal and the first terminal based on the second network access message and the second network access related attribute information, the access point accessed by the first neighbor terminal is determined based on the second network access related attribute information; if it is determined that the access point accessed by the first neighbor terminal includes the first access point, the step of determining the first transmission delay between the first neighbor terminal and the first terminal based on the second network access related attribute information is performed.

[0198] The fact that the access point accessed by the first neighboring terminal includes the first access point indicates that the access point accessed by the first neighboring terminal and the first terminal is the same access point. There is a contention for the transmission resources of the access point between the first neighboring terminal and the first terminal. Therefore, the first terminal needs to calculate the first transmission delay between itself and the first neighboring terminal for subsequent calculation and processing of I-frame follow-up messages.

[0199] For example, such as Figure 2 As shown, after terminal Id-3 successfully connects to an access point and sends a network access message, terminals Id-2 and Id-4, as neighboring terminals of terminal Id-3, can receive the network access message sent by terminal Id-3. Since terminals Id-2 and Id-4 connect to the same access point as terminal Id-3, there is a contention for access point transmission resources between terminals Id-2 and Id-4 and terminal Id-3. Therefore, terminals Id-2 and Id-4 need to calculate the first transmission delay with terminal Id-3 for subsequent calculation and processing of I-frame follow-up messages.

[0200] In one specific implementation, the second network access related attribute information includes the unique identifier of the access point accessed by the first neighboring terminal. By using the unique identifier of the access point accessed by the first neighboring terminal in the second network access related attribute information, it can be determined whether the first neighboring terminal and the first terminal access the same access point. If it is determined that the first neighboring terminal and the first terminal access the same access point, the unique identifier of the first neighboring terminal is recorded, it is marked as its own neighboring terminal, and the first transmission delay between itself and the first neighboring terminal is calculated. The first transmission delay is used for subsequent calculation and processing of I-frame follow-up messages.

[0201] In one embodiment, before determining the first transmission delay between the first neighboring terminal and the first terminal based on the second network access related attribute information, the second network access message is ignored if it is determined that the access point accessed by the first neighboring terminal does not include the first access point. The fact that the access point accessed by the first neighboring terminal does not include the first access point indicates that the access points accessed by the first neighboring terminal and the first terminal are different access points. Therefore, there is no contention for access point transmission resources between the first neighboring terminal and the first terminal, and the first terminal does not need to process the second network access message sent by the first neighboring terminal.

[0202] It should be noted that the first terminal will not process or forward messages from the first neighboring terminal or other terminals that are not connected to the first access point. This can protect the terminal connected to the first access point from interference by messages from terminals connected to other access points to the greatest extent and reduce the probability of message collisions.

[0203] For example, such as Figure 2 As shown, terminal Id-3 and terminal Id-5 are neighboring terminals. Therefore, after terminal Id-3 successfully connects to an access point and sends a "network access confirmed" message, terminal Id-5, as a neighboring terminal of terminal Id-3, can receive the "network access confirmed" message sent by terminal Id-3. However, since terminal Id-3 and terminal Id-5 connect to different access points, there is no contention for access point transmission resources between them. Therefore, terminal Id-5 does not need to process terminal Id-3's "network access confirmed" message. Furthermore, terminal Id-5 will not subsequently process or forward messages from terminal Id-3 or other terminals connected to other access points.

[0204] In one specific implementation, the second network access related attribute information includes the unique identifier of the access point accessed by the first neighboring terminal. By using the unique identifier of the access point accessed by the first neighboring terminal in the second network access related attribute information, it can be determined whether the first neighboring terminal and the first terminal access the same access point. If it is determined that the first neighboring terminal and the first terminal do not access the same access point, the first terminal does not process the second network access message.

[0205] In one embodiment, determining the first transmission delay between the first neighboring terminal and the first terminal based on the second network access related attribute information specifically involves: searching for the historical records of the first neighboring terminal in the first delay dataset based on the second network access related attribute information; wherein, the first delay dataset is a dataset used locally to store the transmission delays between each neighboring terminal and the first terminal; if the first historical transmission delay of the first neighboring terminal is found in the first delay dataset, the first historical transmission delay is used as the first transmission delay.

[0206] In other words, if the first neighboring terminal sends the network access message after successfully accessing the access point for the first time, i.e., if the first neighboring terminal sends the network access message after successfully accessing the access point again, the first terminal must have calculated the transmission delay between itself and the access point when it first successfully accessed the access point and sent the network access message. Therefore, for this case of sending the network access message after successfully accessing the access point again, the historical transmission delay calculated when it first accessed the access point is found and used as the first transmission delay, thereby accelerating network reconstruction and reducing communication overhead.

[0207] Step S83: Store the first transmission delay.

[0208] In this embodiment, the first transmission delay is stored for subsequent calculation and processing of I-frame follow-up messages.

[0209] Please see Figure 9 , Figure 9 This is a schematic diagram of an embodiment of the video transmission apparatus provided in this application. It is applied to a first terminal among network access terminals in a network, the network including… a One access point, the network access terminal is the... a Terminals accessing a network point can communicate directly with each other and with other network access points whose communication distance is less than a preset distance threshold. These directly connected network access points are considered neighboring terminals. A first terminal is any terminal in a first terminal set, which is the set of all network access terminals that have neighboring terminals. , The set of positive integers is represented. The video transmission device 90 includes a first acquisition module 91, a first determination module 92, and a first transmission module 93. The first acquisition module 91 is used to acquire the first I-frame occupancy distribution and the first video to be transmitted to the first access point. The first access point is the access point accessed by the first terminal. The first I-frame occupancy distribution is obtained by analyzing the I-frame follow-up messages received before the current time and is used to characterize the distribution pattern of the I-frame transmission time of the terminals in the first competing terminal set on a preset statistical period. The first competing terminal set is a subset of the terminals in the first terminal set that access the first access point. The first determination module 92 is used to determine the transmission timing of the first video based on the first I-frame occupancy distribution. The first transmission module 93 is used to start transmitting the first video to the first access point when the transmission timing arrives, and generate the first I-frame follow-up message of the first I-frame in the first video, and send the first I-frame follow-up message to the neighboring terminals of the first terminal during the transmission of the first I-frame. The first I-frame follow-up message carries first occupancy-related attribute information for the terminals in the first competing terminal set to update the first I-frame occupancy distribution.

[0210] The first determining module 92 is used to determine the transmission timing of the first video based on the first I-frame occupancy distribution, including: determining the alignment time of the current time in a preset statistical period; predicting the load status of the first access point in a first time period based on the I-frame occupancy distribution in the first I-frame occupancy distribution; wherein the first time period is the time period between the alignment time and the end time of the preset statistical period; and determining the transmission timing of the first video based on the load status.

[0211] The aforementioned preset statistical period includes b Each sub-time period, bEach sub-time period is divided into preset statistical periods. The first I-frame occupancy distribution includes the occupancy number of each sub-time period interval, where the occupancy number of each sub-time period interval is the number of terminals that send I-frames to the first access point in the sub-time period. The first determining module 92 is used to predict the load status of the first access point in the first time period based on the I-frame occupancy distribution in the first I-frame occupancy distribution, including: taking the occupancy number of each sub-time period interval in the first time period as the load status.

[0212] The first determining module 92 is used to determine the transmission timing of the first video based on the load status, including: when there is at least one first sub-time interval in the first time period, determining the transmission timing of the first video according to any strategy in a preset first strategy set; wherein, the first sub-time interval is a sub-time interval in the first time period whose interval digit count is less than a quantity threshold; wherein, the first strategy set includes at least one of the following strategies: a first strategy, a second strategy, and a third strategy; the first strategy is to determine any one of the at least one first sub-time intervals as the transmission timing of the first video; the second strategy is to determine the first sub-time interval with the smallest interval digit count among the at least one first sub-time intervals as the transmission timing of the first video; the third strategy is to determine the first sub-time interval closest to the current time among the at least one first sub-time intervals as the transmission timing of the first video.

[0213] The first determining module 92 is used to determine the transmission timing of the first video based on the load status, and further includes: if there is no first sub-time interval in the first time period, determining the second sub-time interval as the transmission timing of the first video; wherein the first sub-time interval is the sub-time interval in the first time period whose interval occupancy is less than a number threshold, and the second sub-time interval is the sub-time interval with the smallest interval occupancy in the first time period.

[0214] The aforementioned preset statistical period includes b Each sub-time period, b Each sub-time period is divided into preset statistical periods. The first I-frame occupancy distribution includes the interval saturation of each sub-time period interval; the first determining module 92 is used to predict the load status of the first access point in the first time period based on the I-frame occupancy distribution in the first I-frame occupancy distribution in the first time period, including: taking the interval saturation of each sub-time period interval in the first time period as the load status.

[0215] The first determining module 92 is used to determine the transmission timing of the first video based on the load status, including: when there is at least one third sub-time interval in the first time period, determining the transmission timing of the first video according to any strategy in a preset second strategy set; wherein, the third sub-time interval is a sub-time interval in the first time period whose interval saturation is less than a saturation threshold; wherein, the second strategy set includes at least one of the following strategies: a fourth strategy, a fifth strategy, and a sixth strategy; the fourth strategy is to determine any one of the at least one third sub-time intervals as the transmission timing of the first video; the fifth strategy is to determine the third sub-time interval with the smallest interval saturation among the at least one third sub-time intervals as the transmission timing of the first video; the sixth strategy is to determine the third sub-time interval closest to the current time among the at least one third sub-time intervals as the transmission timing of the first video.

[0216] The first determining module 92 is used to determine the transmission timing of the first video based on the load status, including: if there is no third sub-time interval in the first time period, determining the fourth sub-time interval as the transmission timing of the first video; wherein the third sub-time interval is the sub-time interval in the first time period where the interval saturation is less than the saturation threshold, and the fourth sub-time interval is the sub-time interval in the first time period where the interval saturation is the smallest.

[0217] The aforementioned preset statistical period includes b Each sub-time period, b Each sub-time period is divided into preset statistical periods. The first I-frame occupancy distribution includes the occupancy number and saturation of each sub-time period interval. The occupancy number of each sub-time period interval is the number of terminals that send I-frames to the first access point in the sub-time period interval. The first determining module 92 is used to predict the load status of the first access point in the first time period based on the I-frame occupancy distribution in the first I-frame occupancy distribution, including: taking the occupancy number and saturation of each sub-time period interval in the first time period as the load status.

[0218] The first determining module 92 is used to determine the transmission timing of the first video based on the load status, including: when there is at least one fifth sub-time interval in the first time period, determining the transmission timing of the first video according to any strategy in a preset third strategy set; wherein, the fifth sub-time interval is a sub-time interval in the first time period that satisfies both condition one and condition two, condition one being that the interval digit count is less than a quantity threshold, and condition two being that the interval saturation is less than a saturation threshold; wherein, the third strategy set includes at least one of the following: seventh strategy, eighth strategy, ninth strategy, and tenth strategy; the seventh strategy is to determine any one of the at least one fifth sub-time intervals as the transmission timing of the first video; the eighth strategy is to determine the fifth sub-time interval with the smallest digit count among the at least one fifth sub-time intervals as the transmission timing of the first video; the ninth strategy is to determine the fifth sub-time interval with the smallest interval saturation among the at least one fifth sub-time intervals as the transmission timing of the first video; and the tenth strategy is to determine the fifth sub-time interval closest to the current time among the at least one fifth sub-time intervals as the transmission timing of the first video.

[0219] The first determining module 92 is used to determine the transmission timing of the first video based on the load status, including: when there is no fifth sub-time interval in the first time period but there is at least one sixth sub-time interval and at least one seventh sub-time interval, determining the transmission timing of the first video according to any strategy in the preset fourth strategy set; wherein the fifth sub-time interval is a sub-time interval in the first time period that satisfies both condition one and condition two, the sixth sub-time interval is a sub-time interval in the first time period that satisfies condition one but not condition two, and the seventh sub-time interval is a sub-time interval in the first time period that satisfies condition two but not condition one, condition one being that the interval occupancy is less than a quantity threshold, and condition two being that the interval saturation is less than a saturation threshold; wherein the fourth strategy set includes at least one of the following: eleventh strategy, twelfth strategy, thirteenth strategy, fourteenth strategy, fifteenth strategy, sixteenth strategy, and seventeenth strategy; the eleventh strategy is to determine any one of the at least one sixth sub-time interval and at least one seventh sub-time interval as The first video transmission timing is determined by the following strategies: the twelfth strategy is to determine the sixth sub-time interval with the smallest interval occupancy among at least one sixth sub-time intervals; the thirteenth strategy is to determine the seventh sub-time interval with the smallest interval saturation among at least one seventh sub-time intervals; the fourteenth strategy is to determine the sub-time interval closest to the current time among the sixth sub-time interval with the smallest interval occupancy and the seventh sub-time interval with the smallest interval saturation among at least one seventh sub-time intervals; the fifteenth strategy is to determine the sub-time interval closest to the current time among at least one sixth sub-time interval and at least one seventh sub-time interval; the sixteenth strategy is to determine the sixth sub-time interval closest to the current time among at least one sixth sub-time intervals; and the seventeenth strategy is to determine the seventh sub-time interval closest to the current time among at least one seventh sub-time intervals.

[0220] The first determining module 92 is used to determine the transmission timing of the first video based on the load status, including: when there is no fifth sub-time interval and a seventh sub-time interval in the first time period but there is at least one sixth sub-time interval, determining the transmission timing of the first video according to any strategy in the preset fifth strategy set; wherein, the fifth sub-time interval is a sub-time interval in the first time period that satisfies both condition one and condition two, the sixth sub-time interval is a sub-time interval in the first time period that satisfies condition one but not condition two, and the seventh sub-time interval is a sub-time interval in the first time period that satisfies condition two but not condition one, condition one is that the interval occupancy is less than a quantity threshold, and condition two is that the interval saturation is less than a saturation threshold. The five strategy sets include at least one of the following: the eighteenth strategy, the nineteenth strategy, and the twentieth strategy; the eighteenth strategy is to determine any one of the at least six sub-time intervals as the transmission timing of the first video; the nineteenth strategy is to determine the sixth sub-time interval with the smallest interval occupancy among the at least six sub-time intervals as the transmission timing of the first video; and the twentieth strategy is to determine the sixth sub-time interval closest to the current time among the at least six sub-time intervals as the transmission timing of the first video.

[0221] The first determining module 92 is used to determine the transmission timing of the first video based on the load status, including: when there is no fifth sub-time interval and a sixth sub-time interval in the first time period but there is at least one seventh sub-time interval, determining the transmission timing of the first video according to any strategy in the preset sixth strategy set; wherein the fifth sub-time interval is a sub-time interval in the first time period that satisfies both condition one and condition two, the sixth sub-time interval is a sub-time interval in the first time period that satisfies condition one but not condition two, and the seventh sub-time interval is a sub-time interval in the first time period that satisfies condition two but not condition one, condition one being that the interval occupancy is less than a quantity threshold, and condition two being that the interval saturation is less than a saturation threshold; wherein the sixth strategy set includes at least one of the following: strategy twenty-first, strategy twenty-second, and strategy twenty-third; strategy twenty-first is to determine any one of the at least seven sub-time intervals as the transmission timing of the first video; strategy twenty-second is to determine the seventh sub-time interval with the smallest interval saturation among the at least seven sub-time intervals as the transmission timing of the first video; strategy twenty-third is to determine the seventh sub-time interval closest to the current time among the at least seven sub-time intervals as the transmission timing of the first video.

[0222] The first determining module 92 is used to determine the transmission timing of the first video based on the load status, including: if there is no fifth sub-time interval, sixth sub-time interval, or seventh sub-time interval in the first time period, determining the transmission timing of the first video according to any strategy in the preset seventh strategy set; wherein the fifth sub-time interval is a sub-time interval in the first time period that satisfies both condition one and condition two, the sixth sub-time interval is a sub-time interval in the first time period that satisfies condition one but not condition two, and the seventh sub-time interval is a sub-time interval in the first time period that satisfies condition two but not condition one, and condition one is a sub-time interval in the first time period that satisfies condition two, and condition two is interval saturation. The value is less than the saturation threshold; wherein, the seventh strategy set includes at least one of the following: strategy twenty-four, strategy twenty-five, and strategy twenty-six; strategy twenty-four is to determine any one of the second sub-time interval and the fourth sub-time interval as the transmission timing of the first video; wherein, the second sub-time interval is the sub-time interval with the smallest number of bits in the first time interval, and the fourth sub-time interval is the sub-time interval with the smallest saturation in the first time interval; strategy twenty-five is to determine the sub-time interval closest to the current time in the second sub-time interval and the fourth sub-time interval as the transmission timing of the first video; strategy twenty-six is ​​to determine the second sub-time interval as the transmission timing of the first video.

[0223] The first sending module 93 is used to start transmitting the first video to the first access point when the transmission opportunity arrives, and to generate a first I-frame follow-up message for the first I-frame in the first video, and to send the first I-frame follow-up message to the neighboring terminals of the first terminal during the transmission of the first I-frame. This includes: when the transmission opportunity arrives, starting to transmit the first video frame in the first video to the first access point in video frames as the basic unit; wherein the first I-frame in the first video is transmitted serially, and the transmission interval between two consecutive first I-frames is preset; generating the first I-frame follow-up message; and sending the first I-frame follow-up message to the neighboring terminals of the first terminal when the currently transmitted first video frame is the first I-frame.

[0224] The first sending module 93 is configured to send a first I-frame follow message to a neighboring terminal of the first terminal when the currently transmitted first video frame is a first I-frame, including: determining a first corresponding time corresponding to the first transmission time in a preset broadcast period when the currently transmitted first video frame is a first I-frame; wherein the first transmission time is the transmission time of the currently transmitted first I-frame, the preset broadcast period is a positive integer multiple of a preset statistical period, and the preset broadcast period includes... c A broadcast window, c Each broadcast window is divided into preset broadcast cycles. The broadcast window is equal to the preset statistical period; when the first corresponding time is within the first broadcast window, the first I-frame follow message is sent to the neighboring terminal of the first terminal; wherein, the first broadcast window is the broadcast window in the preset broadcast period where the starting first corresponding time is located, the starting first corresponding time is the corresponding time in the preset statistical period where the starting first transmission time is located, and the starting first transmission time is the transmission time of the first first I-frame transmitted by the first terminal.

[0225] The video transmission device 90 further includes a network access module 94. Before acquiring the first I-frame occupancy distribution and the first video to be transmitted to the first access point, the video transmission method further includes: sending a first network access request to the first access node; and, upon receiving a first network access success response from the first access point, sending a first network access message to neighboring terminals of the first terminal. The first network access success response is a response message from the first access point allowing the first terminal to access the network upon receiving the first network access request, and the first terminal successfully accessing the network. The first network access message carries first network access-related attribute information for terminals in the first competing terminal group to determine their own transmission delay with the first terminal.

[0226] The network access module 94 is used to, upon receiving the second network access message, parse the second network access related attribute information from the second network access message; determine the first transmission delay between the first neighboring terminal and the first terminal based on the second network access related attribute information; wherein the first neighboring terminal is the terminal that sent the second network access message to the first terminal; and store the first transmission delay.

[0227] The network access module 94 is configured to, before determining the first transmission delay between the first neighbor terminal and the first terminal based on the second network access related attribute information, include: determining the access point accessed by the first neighbor terminal based on the second network access related attribute information; and, if it is determined that the access point accessed by the first neighbor terminal includes the first access point, performing the step of determining the first transmission delay between the first neighbor terminal and the first terminal based on the second network access related attribute information.

[0228] The network access module 94 is used to, before determining the first transmission delay between the first neighboring terminal and the first terminal based on the second network access related attribute information, include: ignoring the second network access message if it is determined that the access point accessed by the first neighboring terminal does not include the first access point.

[0229] The network access module 94 is used to determine the first transmission delay between the first neighboring terminal and the first terminal based on the second network access related attribute information, including: searching for the historical records of the first neighboring terminal in the first delay dataset based on the second network access related attribute information; wherein the first delay dataset is a dataset used locally to store the transmission delay between each neighboring terminal and the first terminal; if the first historical transmission delay of the first neighboring terminal is found in the first delay dataset, the first historical transmission delay is used as the first transmission delay.

[0230] The video transmission device 90 further includes a statistics module 95, which performs at least one of the following steps: determining the interval occupancy number in each sub-interval of the first I-frame occupancy distribution based on the number of elements in the tag set corresponding to each sub-interval in the first I-frame occupancy distribution; the interval occupancy number is the total number of I-frames received by the first access point; and determining the interval saturation in each sub-interval of the first I-frame occupancy distribution based on the sum of elements in the data set corresponding to each sub-interval in the first I-frame occupancy distribution; the interval saturation is the total data volume of the I-frames received by the first access point.

[0231] The aforementioned preset statistical period is the least common multiple of the transmission interval durations of all I-frames in the first I-frame transmission interval duration set, and the transmission interval duration of one I-frame in the first I-frame transmission interval duration set is the transmission interval duration of one I-frame of one terminal in the first terminal set.

[0232] Wherein, the duration of the above-mentioned sub-time interval is not less than the maximum value among all frame transmission interval durations in the first frame transmission interval duration set, and the frame transmission interval duration of one frame in the first frame transmission interval duration set is the frame transmission interval duration of one terminal in the first terminal set.

[0233] Please see Figure 10 , Figure 10 This is a schematic diagram of an embodiment of the electronic device provided in this application. The electronic device 100 includes a memory 101 and a processor 102 coupled to each other. The processor 102 is used to execute program instructions stored in the memory 101 to implement the steps of any of the above-described video encoding and / or video decoding method embodiments. In a specific implementation scenario, the electronic device 100 may include, but is not limited to, a microcomputer or a server. In addition, the electronic device 100 may also include mobile devices such as laptops and tablets, which are not limited here.

[0234] Specifically, processor 102 controls itself and memory 101 to implement the steps of any of the above-described video encoding and / or video decoding method embodiments. Processor 102 may also be referred to as a CPU (Central Processing Unit). Processor 102 may be an integrated circuit chip with signal processing capabilities. Processor 102 may also be a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component. A general-purpose processor may be a microprocessor or any conventional processor. Furthermore, processor 102 may be implemented using integrated circuit chips.

[0235] Please see Figure 11 , Figure 11 This is a schematic diagram of an embodiment of the computer-readable storage medium provided in this application. The computer-readable storage medium 110 of this application embodiment stores program instructions 111. When executed, these program instructions 111 implement the methods provided by any embodiment of the video encoding method and / or video decoding method of this application, as well as any non-conflicting combination thereof. The program instructions 111 can form a program file and be stored in the aforementioned computer-readable storage medium 110 in the form of a software product, so that a computer device (which may be a personal computer, server, or network device, etc.) can execute all or part of the steps of the methods of various embodiments of this application. The aforementioned computer-readable storage medium 110 includes various media capable of storing program code, such as a USB flash drive, mobile hard drive, read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, or terminal devices such as computers, servers, mobile phones, and tablets.

[0236] This application also provides a computer program product, which includes a computer program or instructions, and the steps of the video transmission method described above are executed by a processor when the computer program or instructions are executed.

[0237] The above descriptions are merely embodiments of this application and do not limit the patent scope of this application. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art, under the guidance of this application, may make equivalent structural or procedural transformations based on the description and drawings of the embodiments of this application, or directly or indirectly apply them to other related technical fields, without departing from the spirit and scope of protection of the claims. All such transformations are similarly included within the patent protection scope of the embodiments of this application.

Claims

1. A method of video transmission, characterized by, A first terminal applied in a network terminal in a network, the network includes a one access point, the network terminal is the terminal accessed on the a The network terminal is directly connected between the network terminal and the access point accessed by itself and the network terminal with the communication distance between itself is less than the preset distance threshold, the network terminal directly connected with each other is the adjacent point terminal, the first terminal is any terminal in the first terminal set, the first terminal set is a set composed of all network terminals with adjacent point terminals, , Indicates a set of positive integers; the method comprises: obtaining a first I-frame placeholder distribution and a first video to be transmitted to a first access point; wherein the first access point is an access point accessed by the first terminal, the first I-frame placeholder distribution is obtained by analyzing an I-frame follow-up message received before a current time, and is used to represent a distribution rule of I-frame transmission time of terminals in a first competitive terminal set on a preset statistical period, the preset statistical period includes b a plurality of sub-period intervals, the first I-frame placeholder distribution includes interval placeholder numbers of each sub-period interval and / or interval saturation degrees of each sub-period interval, the interval placeholder number of the sub-period interval is a number of terminals sending I-frames to the first access point in the sub-period interval, the interval saturation degree of the sub-period interval is used to represent a busy degree of the sub-period interval affected by a superimposed code rate, and the first competitive terminal set is a subset of terminals accessing the first access point in the first terminal set. determine a transmission time of the first video according to the first I-frame placeholder distribution; start transmitting the first video to the first access point and generating a first I-frame following message of a first I-frame in the first video and sending the first I-frame following message to a neighboring terminal of the first terminal in a transmission process of the first I-frame when time arrives at the transmission time, wherein the first I-frame following message is used to inform the neighboring terminal of the first terminal that the first terminal is occupying transmission resources of the network to transmit the first I-frame, and the first I-frame following message carries first placeholder-related attribute information used for terminals in a first set of contending terminals to update the first I-frame placeholder distribution.

2. The method of claim 1, wherein, The determining the transmission time of the first video according to the first I-frame placeholder distribution comprises: determining an alignment time of the current time on the preset statistical period; predicting a load state of the first access point in a first time period according to an I-frame placeholder distribution in the first time period in the first I-frame placeholder distribution, wherein the first time period is a time period between the alignment time and an end time of the preset statistical period; determining the transmission time of the first video according to the load state.

3. The method of claim 2, wherein, The b The preset statistical period is equally divided into a plurality of sub-period intervals, and the first I-frame placeholder distribution includes interval placeholder numbers of the sub-period intervals. The predicting the load state of the first access point in the first time period according to the I-frame placeholder distribution in the first time period in the first I-frame placeholder distribution comprises: taking an interval placeholder number of each sub-period interval in the first time period as the load state.

4. The method of claim 3, wherein, The determining the transmission time of the first video according to the load state comprises: in a case where there is at least one first sub-period interval in the first time period, determining the transmission time of the first video according to any strategy in a preset first strategy set, wherein the first sub-period interval is a sub-period interval in the first time period with an interval placeholder number less than a quantity threshold value; wherein the first strategy set comprises at least one of the following strategies: a first strategy, a second strategy and a third strategy; the first strategy is to determine any one of the at least one first sub-period interval as the transmission time of the first video; the second strategy is to determine a first sub-period interval with a minimum interval placeholder number in the at least one first sub-period interval as the transmission time of the first video; the third strategy is to determine a first sub-period interval closest to the current time in the at least one first sub-period interval as the transmission time of the first video.

5. The method of claim 3, wherein, The determining the transmission time of the first video according to the load state further comprises: in a case where there is no first sub-period interval in the first time period, determining a second sub-period interval as the transmission time of the first video, wherein the first sub-period interval is a sub-period interval in the first time period with an interval placeholder number less than a quantity threshold value, and the second sub-period interval is a sub-period interval in the first time period with a minimum interval placeholder number.

6. The method of claim 2, wherein, The b The preset statistical period is equally divided into a plurality of sub-period intervals, and the first I-frame placeholder distribution includes interval saturation of each of the sub-period intervals. The predicting the load state of the first access point in the first time period according to the I-frame placeholder distribution in the first time period in the first I-frame placeholder distribution comprises: Taking the interval saturation of each sub-time interval in the first time period as the load state.

7. The method of claim 6, wherein, The determining the transmission time of the first video according to the load state comprises: In the case that there is at least one third sub-time interval in the first time period, determining the transmission time of the first video according to any strategy in a preset second strategy set; wherein the third sub-time interval is a sub-time interval in the first time period with an interval saturation less than a saturation threshold; The second strategy set comprises at least one of the following strategies: a fourth strategy, a fifth strategy and a sixth strategy; The fourth strategy is to determine any one of the at least one third sub-time interval as the transmission time of the first video; The fifth strategy is to determine the third sub-time interval with the minimum interval saturation in the at least one third sub-time interval as the transmission time of the first video; The sixth strategy is to determine the third sub-time interval closest to the current time in the at least one third sub-time interval as the transmission time of the first video.

8. The method of claim 6, wherein, The determining the transmission time of the first video according to the load state comprises: In the case that there is no third sub-time interval in the first time period, determining a fourth sub-time interval as the transmission time of the first video; wherein the third sub-time interval is a sub-time interval in the first time period with an interval saturation less than a saturation threshold, and the fourth sub-time interval is a sub-time interval in the first time period with the minimum interval saturation.

9. The method of claim 2, wherein, The b The preset statistical period is equally divided into a plurality of sub-period intervals, and the first I-frame placeholder distribution includes interval placeholder numbers and interval saturation degrees of the sub-period intervals. The predicting the load state of the first access point in the first time period according to the I-frame placeholder distribution in the first time period in the first I-frame placeholder distribution comprises: Taking the interval placeholder number and the interval saturation of each sub-time interval in the first time period as the load state.

10. The method of claim 9, wherein, The determining the transmission time of the first video according to the load state comprises: In the case that there is at least one fifth sub-time interval in the first time period, determining the transmission time of the first video according to any strategy in a preset third strategy set; wherein the fifth sub-time interval is a sub-time interval in the first time period satisfying both a condition one and a condition two, the condition one is that the interval placeholder number is less than a quantity threshold, and the condition two is that the interval saturation is less than a saturation threshold; The third strategy set comprises at least one of the following strategies: a seventh strategy, an eighth strategy, a ninth strategy and a tenth strategy; The seventh strategy is to determine any one of the at least one fifth sub-time interval as the transmission time of the first video; The eighth strategy is to determine the fifth sub-time interval with the minimum interval placeholder number in the at least one fifth sub-time interval as the transmission time of the first video; The ninth strategy is to determine the fifth sub-time interval with the minimum interval saturation in the at least one fifth sub-time interval as the transmission time of the first video; The tenth strategy is to determine the fifth sub-period interval closest to the current time in the at least one fifth sub-period interval as the transmission time of the first video.

11. The method of claim 9, wherein, The determination of the transmission time of the first video according to the load state comprises: In the case that there is no fifth sub-period interval but there are at least one sixth sub-period interval and at least one seventh sub-period interval in the first time period, the transmission time of the first video is determined according to any strategy in a preset fourth strategy set; wherein the fifth sub-period interval is a sub-period interval in the first time period that satisfies condition one and condition two, the sixth sub-period interval is a sub-period interval in the first time period that satisfies condition one but does not satisfy condition two, and the seventh sub-period interval is a sub-period interval in the first time period that does not satisfy condition one but satisfies condition two, the condition one is that the interval occupancy is less than a quantity threshold, and the condition two is that the interval saturation is less than a saturation threshold; The fourth strategy set comprises at least one of the following: an eleventh strategy, a twelfth strategy, a thirteenth strategy, a fourteenth strategy, a fifteenth strategy, a sixteenth strategy, and a seventeenth strategy. The eleventh strategy is to determine any one of the at least one sixth sub-period interval and the at least one seventh sub-period interval as the transmission time of the first video. The twelfth strategy is to determine the sixth sub-period interval with the smallest interval occupancy in the at least one sixth sub-period interval as the transmission time of the first video. The thirteenth strategy is to determine the seventh sub-period interval with the smallest interval saturation in the at least one seventh sub-period interval as the transmission time of the first video. The fourteenth strategy is to determine the sub-period interval closest to the current time in both the sixth sub-period interval with the smallest interval occupancy in the at least one sixth sub-period interval and the seventh sub-period interval with the smallest interval saturation in the at least one seventh sub-period interval as the transmission time of the first video. The fifteenth strategy is to determine the sub-period interval closest to the current time in the at least one sixth sub-period interval and the at least one seventh sub-period interval as the transmission time of the first video. The sixteenth strategy is to determine the sixth sub-period interval closest to the current time in the at least one sixth sub-period interval as the transmission time of the first video. The seventeenth strategy is to determine the seventh sub-period interval closest to the current time in the at least one seventh sub-period interval as the transmission time of the first video.

12. The method of claim 9, wherein, The determination of the transmission time of the first video according to the load state comprises: In a case where the first time period does not have the fifth sub-period interval and the seventh sub-period interval but has at least one sixth sub-period interval, a transmission time of the first video is determined according to any strategy in a preset fifth strategy set; wherein the fifth sub-period interval is a sub-period interval in the first time period that meets both the condition one and the condition two, the sixth sub-period interval is a sub-period interval in the first time period that meets the condition one but does not meet the condition two, and the seventh sub-period interval is a sub-period interval in the first time period that does not meet the condition one but meets the condition two, the condition one is that the interval occupancy is less than a quantity threshold, and the condition two is that the interval saturation is less than a saturation threshold; wherein the fifth strategy set includes at least one of the following: an eighteenth strategy, a nineteenth strategy, and a twentieth strategy; the eighteenth strategy is to determine any one of the at least one sixth sub-period interval as the transmission time of the first video; the nineteenth strategy is to determine the sixth sub-period interval with the smallest interval occupancy in the at least one sixth sub-period interval as the transmission time of the first video; the twentieth strategy is to determine the sixth sub-period interval closest to the current time in the at least one sixth sub-period interval as the transmission time of the first video.

13. The method of claim 9, wherein, The determination of the transmission time of the first video according to the load state includes: In a case where the first time period does not have the fifth sub-period interval and the sixth sub-period interval but has at least one seventh sub-period interval, a transmission time of the first video is determined according to any strategy in a preset sixth strategy set; wherein the fifth sub-period interval is a sub-period interval in the first time period that meets both the condition one and the condition two, the sixth sub-period interval is a sub-period interval in the first time period that meets the condition one but does not meet the condition two, and the seventh sub-period interval is a sub-period interval in the first time period that does not meet the condition one but meets the condition two, the condition one is that the interval occupancy is less than a quantity threshold, and the condition two is that the interval saturation is less than a saturation threshold; wherein the sixth strategy set includes at least one of the following: a twenty-first strategy, a twenty-second strategy, and a twenty-third strategy; the twenty-first strategy is to determine any one of the at least one seventh sub-period interval as the transmission time of the first video; the twenty-second strategy is to determine the seventh sub-period interval with the smallest interval saturation in the at least one seventh sub-period interval as the transmission time of the first video; the twenty-third strategy is to determine the seventh sub-period interval closest to the current time in the at least one seventh sub-period interval as the transmission time of the first video.

14. The method of claim 9, wherein, The determination of the transmission time of the first video according to the load state includes: In the case that the first time period does not include a fifth sub-period interval, a sixth sub-period interval and a seventh sub-period interval, a transmission time of the first video is determined according to any strategy in a preset seventh strategy set; wherein, the fifth sub-period interval is a sub-period interval in the first time period that satisfies both condition one and condition two, the sixth sub-period interval is a sub-period interval in the first time period that satisfies condition one but does not satisfy condition two, and the seventh sub-period interval is a sub-period interval in the first time period that does not satisfy condition one but satisfies condition two, the condition one is that the interval occupancy is less than a quantity threshold, and the condition two is that the interval saturation is less than a saturation threshold; The seventh strategy set includes at least one of the following: a twenty-fourth strategy, a twenty-fifth strategy and a twenty-sixth strategy. The twenty-fourth strategy is to determine any one of a second sub-period interval and a fourth sub-period interval as the transmission time of the first video; wherein, the second sub-period interval is a sub-period interval in the first time period with the smallest interval occupancy, and the fourth sub-period interval is a sub-period interval in the first time period with the smallest interval saturation. The twenty-fifth strategy is to determine the sub-period interval closest to the current time among the second sub-period interval and the fourth sub-period interval as the transmission time of the first video. The twenty-sixth strategy is to determine the second sub-period interval as the transmission time of the first video.

15. The method of claim 1, wherein, In the case that the time reaches the transmission time, the first video is transmitted to the first access point, a first I-frame following message of a first I-frame in the first video is generated, and the first I-frame following message is sent to a neighboring terminal of the first terminal in the transmission process of the first I-frame. In the case that the time reaches the transmission time, the first video is transmitted to the first access point, a first I-frame following message of a first I-frame in the first video is generated, and the first I-frame following message is sent to a neighboring terminal of the first terminal in the transmission process of the first I-frame. In the case that the time reaches the transmission time, the first video is transmitted to the first access point, a first I-frame following message of a first I-frame in the first video is generated, and the first I-frame following message is sent to a neighboring terminal of the first terminal in the transmission process of the first I-frame. In the case that the time reaches the transmission time, the first video is transmitted to the first access point, a first I-frame following message of a first I-frame in the first video is generated, and the first I-frame following message is sent to a neighboring terminal of the first terminal in the transmission process of the first I-frame.

16. The method of claim 15, wherein, Before the first I-frame occupancy distribution and the first video to be transmitted to the first access point are acquired, the method further includes: In a case that the first video frame currently transmitted is the first I frame, a first corresponding time corresponding to a first transmission time on a preset broadcast period is determined; wherein the first transmission time is a transmission time of the first I frame currently transmitted, the preset broadcast period is an integer multiple of the preset statistical period, the preset broadcast period includes c broadcast windows, the c broadcast windows are equally divided in the preset broadcast period, the broadcast window is equal to the preset statistical period. In the case that the time reaches the transmission time, the first video is transmitted to the first access point, a first I-frame following message of a first I-frame in the first video is generated, and the first I-frame following message is sent to a neighboring terminal of the first terminal in the transmission process of the first I-frame.

17. The method of claim 1, wherein, ​ sending a first network access request to the first access node; sending a first network access success response to the first terminal in a case that the first network access request is received; and 18. The method of claim 1, wherein, The method further comprises: parsing second network access related attribute information from the second network access message in a case that the second network access message is received; determining a first transmission delay between the first neighboring terminal and the first terminal according to the second network access related attribute information; wherein the first neighboring terminal is a terminal that sends the second network access message to the first terminal; storing the first transmission delay.

19. The method of claim 18, wherein, Before the step of determining the first transmission delay between the first neighboring terminal and the first terminal according to the second network access related attribute information, the method further comprises: determining an access node accessed by the first neighboring terminal according to the second network access related attribute information; performing the step of determining the first transmission delay between the first neighboring terminal and the first terminal according to the second network access related attribute information in a case that the access node accessed by the first neighboring terminal comprises the first access node.

20. The method of claim 19, wherein, Before the step of determining the first transmission delay between the first neighboring terminal and the first terminal according to the second network access related attribute information, the method further comprises: ignoring the second network access message in a case that the access node accessed by the first neighboring terminal does not comprise the first access node.

21. The method of claim 18, wherein, The step of determining the first transmission delay between the first neighboring terminal and the first terminal according to the second network access related attribute information comprises: searching for a historical record of the first neighboring terminal in a first delay data set according to the second network access related attribute information; wherein the first delay data set is a data set locally used to store transmission delays between each neighboring terminal of the first terminal and the first terminal; taking a first historical transmission delay of the first neighboring terminal in the first delay data set as the first transmission delay in a case that the first historical transmission delay is found in the first delay data set.

22. The method of claim 1, wherein, The method further comprises at least one of the following steps: determining a number of interval positions in each sub-interval in the first I-frame position distribution according to a number of elements in each corresponding label set of each sub-interval in the first I-frame position distribution; wherein the number of interval positions is a total number of I-frames received by the first access node; and determining a saturation degree of each sub-interval in the first I-frame position distribution according to a sum of elements in each corresponding data amount set of each sub-interval in the first I-frame position distribution; wherein the saturation degree is a total data amount of I-frames received by the first access node. ​ 23. The method of any one of claims 1 to 22, wherein, The preset statistical period is a least common multiple of each I-frame transmission interval length in a first I-frame transmission interval length set, and one I-frame transmission interval length in the first I-frame transmission interval length set is an I-frame transmission interval length of one terminal in the first terminal set.

24. The method of claim 23, wherein, A length of the sub-period interval is not less than a maximum value in all frame transmission interval lengths in a first frame transmission interval length set, and one frame transmission interval length in the first frame transmission interval length set is a frame transmission interval length of one terminal in the first terminal set.

25. A network for video transmission, characterized by The network comprises: a access point and the network terminal; , denotes the set of positive integers; The network entry terminal is a terminal accessing on the a access point The network terminal directly communicates with an access point accessed by itself and with a network terminal whose communication distance with itself is less than a preset distance threshold; and the terminals directly communicating with each other are neighbor terminal. The network terminal comprises a memory and a processor; and the memory stores computer programs or instructions. All network terminals in which neighbor terminals exist form a first terminal set; and a processor in any terminal in the first terminal set executes computer programs or instructions stored in its own memory to implement steps of the video transmission method in any one of claims 1 to 24.

26. A video transmission apparatus, comprising: The first terminal applied in the network access terminals of the network, the network including a One access point, the network access terminal is the a Terminals accessing an access point are directly connected to each other, both between the terminal and the access point it accesses, and between the terminal and other terminals whose communication distance to each other is less than a preset distance threshold. Terminals directly connected to each other are considered neighboring terminals. The first terminal is any terminal in a first terminal set, which is a set of all network-connected terminals that have neighboring terminals. , Represents the set of positive integers; the device includes: The first obtaining module is configured to obtain a first I-frame placeholder distribution and a first video to be transmitted to a first access point; the first access point is an access point accessed by the first terminal; the first I-frame placeholder distribution is obtained by analyzing an I-frame follow-up message received before a current time, and is used to represent a distribution rule of I-frame transmission time of terminals in a first competitive terminal set on a preset statistical period; the preset statistical period includes b a plurality of sub-period intervals, The first I-frame placeholder distribution includes interval placeholder numbers of the sub-period intervals and / or interval saturation degrees of the sub-period intervals; the interval placeholder number of the sub-period interval is a number of terminals sending I-frames to the first access point in the sub-period interval; the interval saturation degree of the sub-period interval is used to represent a busy degree of the sub-period interval affected by a superposition code rate; and the first competitive terminal set is a subset of terminals accessing the first access point in the first terminal set. A first determination module is configured to determine a transmission opportunity of the first video according to the first I-frame placeholder distribution. A first sending module is configured to start transmitting the first video to the first access point when time reaches the transmission opportunity, generate a first I-frame following message of a first I-frame in the first video, and send the first I-frame following message to neighbor terminals of the first terminal in the transmission process of the first I-frame; wherein the first I-frame following message is used to inform the neighbor terminals of the first terminal that the first terminal is occupying transmission resources of the network to transmit the first I-frame, and the first I-frame following message carries first placeholder-related attribute information used for terminals in a first competing terminal set to update the first I-frame placeholder distribution.

27. An electronic device, comprising: The electronic device comprises: A processor and a memory; The memory stores computer programs or instructions executable on the processor, and the computer programs or instructions are executed by the processor to implement steps of the video transmission method in any one of claims 1 to 24.

28. A readable storage medium, characterized by, The readable storage medium stores computer programs or instructions, and the computer programs or instructions are executed by the processor to implement steps of the video transmission method in any one of claims 1 to 24.

Citation Information

Patent Citations

  • Method and device for transmitting multiple video streams

    CN105830445A

  • Ultralow-delay video data transmission method and device

    CN114501039A