Communication method and apparatus

By uniformly scheduling the terminal devices to generate key frames and sending them at staggered times through the management node, the network congestion problem caused by random transmission from multiple terminal devices is solved, and more efficient network transmission is achieved.

WO2025195429A1PCT designated stage Publication Date: 2025-09-25HUAWEI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/083570
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-22
Filing Date
2025-03-19
Publication Date
2025-09-25

AI Technical Summary

Technical Problem

The random transmission of image information by multiple terminal devices results in high instantaneous throughput, causing network congestion, especially in wireless transmission, where collisions and bandwidth resources are easily wasted.

Method used

The management node uniformly schedules the slave nodes and configures the time for each terminal device to generate key frames so that they are sent at staggered intervals to reduce instantaneous throughput and alleviate network congestion.

Benefits of technology

It effectively reduces the instantaneous throughput during network transmission, reduces network congestion, improves bandwidth resource utilization, and reduces interference between terminal devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025083570_25092025_PF_FP_ABST
    Figure CN2025083570_25092025_PF_FP_ABST
Patent Text Reader

Abstract

A communication method and apparatus. The method comprises: a first management node configures first time information to a first slave node, and configures second time information to a second slave node, wherein the first time information indicates first time that is related to the time when the first slave node sends a first key frame, the second time information indicates second time that is related to the time when the second slave node sends a second key frame, a difference between the second time and the first time is greater than or equal to a first threshold, and the first threshold is related to the size of the first key frame and the size of the second key frame. The first slave node and the second slave node are collectively scheduled by the first management node, and the times for the first slave node and the second slave node to send the key frames can be configured to be staggered, thereby reducing the instantaneous throughput within a period of time and alleviating network congestion.
Need to check novelty before this filing date? Find Prior Art

Description

Communication method and device

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on March 22, 2024, with application number 202410345598.1 and application name "A Communication Method and Device", the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the field of communication technology, and in particular to a communication method and device. Background Art

[0004] In order to let the driver know the environment around the vehicle, multiple terminal devices that can capture images can be set up at appropriate locations on the vehicle. Each terminal device transmits the collected image information to the on-board control device. By splicing the images collected by these multiple cameras, a panoramic view of the vehicle's surroundings can be achieved.

[0005] Multiple terminal devices independently send image information to the vehicle control device. The time at which each terminal device sends the image information is random, which may cause high instantaneous throughput in a short period of time and cause network congestion. Summary of the Invention

[0006] The embodiments of the present application provide a communication method and apparatus that can reduce the instantaneous throughput caused by multiple terminal devices transmitting information in a short period of time and reduce network congestion.

[0007] To achieve the above objectives, the present invention adopts the following technical solutions:

[0008] In a first aspect, a communication method is provided. The method is applied to a management node. For example, the method is applied to a management node or a component (e.g., a circuit, a chip, or a chip system) within the management node. The management node may be a vehicle-mounted control device or a network device such as a wireless access point. For ease of description, the following example uses the method applied to a first management node.

[0009] The method includes: a first management node configuring first time information to a first slave node, and configuring second time information to a second slave node. The first time information indicates a first time, which is related to the time when the first slave node sends a first key frame. The second time information indicates a second time, which is related to the time when the second slave node sends a second key frame. Furthermore, the difference between the second time and the first time is greater than or equal to a first threshold, and the first threshold is related to the size of the first key frame and the size of the second key frame.

[0010] The first management node has management / scheduling functions for slave nodes. For example, the first management node can configure the time information for a slave node to send key frames. In this solution, the first management node uniformly schedules the first and second slave nodes. The time at which the first and second slave nodes send key frames can be staggered, thereby reducing instantaneous throughput over a period of time and alleviating network congestion. Taking the first and second slave nodes as an example, the time at which the first and second slave nodes send key frames can be determined based on the size of the key frames of the first and second slave nodes, respectively, without causing high instantaneous throughput. For example, if the difference between the time at which the first slave node sends a key frame and the time at which the second slave node sends a key frame is greater than or equal to a first threshold, and the time at which the key frames of the first and second slave nodes send a key frame does not cause instantaneous throughput, the first management node can configure the first time for the first slave node and the second time for the second slave node, and the absolute value of the difference between the first and second times is greater than or equal to the first threshold.

[0011] In a second aspect, another communication method is provided. This method is applied to a slave node. For example, the method is applied to a slave node or a component (e.g., a circuit, a chip, or a chip system) in a slave node. The slave node can be a terminal device such as a camera or a station. For ease of description, the following example uses the method applied to the first slave node.

[0012] The method includes: a first slave node acquires first time information, where the first time information is used to indicate a first time when the first slave node generates a first key frame; and the first slave node sends the first key frame to a first management node, where the sending time of the first key frame is the first time.

[0013] In possible implementations of the first or second aspects, the first threshold is also related to one or more of the following: the maximum transmission rate supported by the first slave node, the maximum transmission rate supported by the second slave node, the group of pictures (GOP), the resolution of the first slave node, the resolution of the second slave node, the number N of slave nodes for which the first management node configures time information, or the time for each of the N slave nodes to send a key frame.

[0014] In this method, the first slave node sends the first key frame at the first time indicated by the first management node. Compared with the first slave node sending the key frame on its own, the instantaneous throughput in the transmission channel of the first slave node can be reduced, thereby reducing network congestion.

[0015] In a possible implementation of the first aspect or the second aspect, before configuring the first time information for the first slave node, the method further includes: the first management node obtaining a third time at which the first slave node sends a third key frame, and obtaining a fourth time at which the second slave node sends a fourth key frame, wherein an absolute value of a difference between the third time and the fourth time is less than or equal to a first threshold.

[0016] In this method, before configuring the key frame transmission time information for a slave node, the first management node decides whether to configure the key frame transmission time information for the slave node. For example, if the interval between the time when the first and second slave nodes transmit key frames is at least a first threshold, the probability of causing a high instantaneous throughput is low. In this case, there is no need to configure the key frame transmission time for the first and second slave nodes. This reduces unnecessary signaling overhead and improves bandwidth resource utilization.

[0017] In a possible implementation of the first or second aspect, the first slave node and the second slave node belong to N slave nodes, the first slave node is the i-th slave node among the sorted N slave nodes, and the first time t(i) satisfies: t(i) = Y + i × GOP ÷ N; wherein Y is the maximum value of the times when the N slave nodes most recently sent a key frame, and GOP is a key frame interval; or, Y is the maximum value of N times, the j-th time among the N times is the sum of the time when the j-th slave node among the N slave nodes most recently generated a key frame and GOP; i is an integer greater than or equal to 1 and less than or equal to N. Alternatively, the first time t(i) satisfies: t(i) = Y + (i-1) × GOP ÷ N, wherein Y is a reference time, the reference time of the N slave nodes is the same, and i is an integer greater than or equal to 1 and less than or equal to N.

[0018] The above lists three schemes for configuring the time for the first management node to send key frames to the slave nodes. The specific scheme used is not limited by the embodiments of this application. Any of the above schemes can ensure that the time between any two adjacent slave nodes sending key frames is at least the first threshold, thereby reducing the instantaneous throughput over a period of time and reducing network congestion.

[0019] In a possible implementation of the first aspect or the second aspect, the first time information includes t(i); or, the first time information includes Y and i; or, the first time information includes i.

[0020] In this solution, the time configured by the first management node to the first slave node can be an absolute time or a relative time.

[0021] In a possible implementation of the first aspect or the second aspect, the method further includes: the first management node sending third time information to the second management node, where the third time information is used to indicate the time when at least one slave node managed by the second management node sends the key frame.

[0022] In this solution, through the interaction between the first management node and the second management node, collisions between slave nodes under the first management node and slave nodes under the second management node when sending key frames can be reduced, thereby reducing interference between them.

[0023] In a possible implementation of the first or second aspect, the first slave node belongs to a first group of slave nodes, and the second slave node belongs to a second group of slave nodes, wherein each slave node in a group of slave nodes sends a key frame at the same time.

[0024] In this solution, multiple slave nodes under the first management node can be grouped. In this case, the first management node can configure the key frame transmission time of each group of slave nodes through a slave node in each group. This solution can reduce the signaling overhead of the first management node.

[0025] In a possible implementation of the first aspect or the second aspect, the first management node and the first slave node support Spark Link Basic (SLB) access technology, the first time information is carried in the first field, and the first field is included in the video source characteristic attributes and the video sink characteristic attributes.

[0026] In a possible implementation of the second aspect, the first slave node obtains the first time information, including: the first slave node receives the first time information from the first management node; or, the first slave node obtains the first time information from the first management node.

[0027] For the first slave node, the first time information can be configured by other devices. For example, the first time information can be pre-configured by the master device. For another example, the first time information can be flexibly configured by the first management node. The first management node can proactively configure the first time information, and the first slave node, in response, receives the first time information from the first management node. Alternatively, the first slave node can request the first management node to configure the first time information.

[0028] On the third aspect, an embodiment of the present application provides a communication method that can be performed by a first communication device and a second communication device. The first communication device has the function of implementing the behavior in the method instance of the first aspect above. For example, the first communication device includes corresponding means (means) or modules or units for executing the method of the first aspect, and the modules or means or units can be implemented by software and / or hardware. The second communication device has the function of implementing the behavior in the method instance of any aspect of the second aspect above. For example, the second communication device includes corresponding means (means) or modules or units for executing the method of the second aspect, and the modules or means or units can be implemented by software and / or hardware. The following takes the first communication device as the first management node and the second communication device as the first slave node as an example.

[0029] The communication method includes: a first management node configures first time information to a first slave node, and configures second time information to a second slave node; wherein the first time information indicates a first time, which is related to the time when the first slave node sends a first key frame; the second time information indicates a second time, which is related to the time when the second slave node sends a second key frame; the first slave node sends the first key frame at the first time, and the second slave node sends the second key frame at the second time.

[0030] For the beneficial effects of the third aspect, reference may be made to the beneficial effects of the first aspect and its various implementation methods, which will not be repeated here.

[0031] In the fourth aspect, an embodiment of the present application provides a communication device, which has the function of implementing the behavior in the method example of the first aspect or the second aspect above. The beneficial effects can be found in the relevant description of the first aspect or the second aspect and will not be repeated here. For example, the communication device may be the first management node in the first aspect, or the communication device may be a device that can support the management node to implement the functions required by the method provided in the first aspect, for example, the communication device may be a chip or chip system in the management node. For another example, the communication device may be the first slave node in the second aspect, or the communication device may be a device that can support the slave node to implement the functions required by the method provided in the second aspect, for example, the communication device may be a chip or chip system in the slave node.

[0032] In one possible design, the communication device includes corresponding means (means) or modules for executing the method of the first aspect or the second aspect. For example, the communication device includes a processing unit (sometimes also referred to as a processing module or processor) and / or a transceiver unit (sometimes also referred to as a transceiver module or transceiver). The transceiver unit is capable of implementing a sending function and a receiving function. When the transceiver unit implements the sending function, it may be referred to as a sending unit (sometimes also referred to as a sending module). When the transceiver unit implements the receiving function, it may be referred to as a receiving unit (sometimes also referred to as a receiving module). The sending unit and the receiving unit may be the same functional unit, which is referred to as a transceiver unit, and which is capable of implementing a sending function and a receiving function; or, the sending unit and the receiving unit may be different functional units, and the transceiver unit is a general term for these functional units. These units (modules) can perform the corresponding functions in the method examples of the first aspect or the second aspect above. Please refer to the detailed description in the method examples for details, which will not be repeated here.

[0033] In a fifth aspect, an embodiment of the present application provides a communication device, which may be the communication device in the fourth aspect of the above-mentioned embodiment, or a chip or chip system provided in the communication device in the fourth aspect. The communication device includes a communication interface and a processor, and optionally, also includes a memory. The memory is used to store computer programs or instructions or data, and the processor is coupled to the memory and the communication interface. When the processor reads the computer program or instructions or data, the communication device executes the method executed by the first management node in the above-mentioned method embodiment. For example, the communication device may be a management node or a functional module in the management node, such as a processing chip and a radio frequency chip. Alternatively, when the processor reads the computer program or instructions or data, the communication device executes the method executed by the first slave node in the above-mentioned method embodiment. For example, the communication device may be a slave node or a functional module in the slave node, such as a coding chip and a radio frequency chip.

[0034] In a sixth aspect, an embodiment of the present application provides a chip system, which includes a processor and may also include a communication interface for implementing the method described in the first aspect or the second aspect. Optionally, the chip system also includes a memory. The memory is used to store computer programs (also referred to as codes, or instructions). The processor is used to call and run the computer program from the memory so that the device equipped with the chip system executes the method in the first aspect or the second aspect and any possible implementation thereof. The chip system can be composed of chips, or it can include chips and other discrete devices.

[0035] In a seventh aspect, embodiments of the present application provide a communication device comprising an input / output interface and a logic circuit. The input / output interface is used to input and / or output information. The input / output interface can be an interface circuit, an output circuit, an input circuit, a pin, or related circuits. The logic circuit is used to execute the method described in the first or second aspect.

[0036] In a specific implementation, the communication device may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, and the logic circuit may be a transistor, a gate circuit, a trigger, or various logic circuits. The input signal received by the input circuit may be, for example, but not limited to, received and input by a receiver, and the signal output by the output circuit may be, for example, but not limited to, output to and transmitted by a transmitter. The input circuit and the output circuit may be the same circuit, which functions as an input circuit and an output circuit, respectively, at different times. This application does not limit the specific implementation of the input and output interfaces and logic circuits.

[0037] In one implementation, when the communication device is a wireless communication device, the wireless communication device may be a terminal device such as a camera or a station, or a network device such as an in-vehicle control device or a wireless access point. The interface circuit may be a radio frequency processing chip in the wireless communication device, and the processing circuit may be a processing chip in the wireless communication device.

[0038] In an eighth aspect, an embodiment of the present application provides a communication system, which includes at least one management node and at least two slave nodes, wherein the management node is used to implement the functions of the method described in the first aspect, and the slave node is used to implement the functions of the method described in the second aspect.

[0039] In the ninth aspect, an embodiment of the present application provides a computer-readable storage medium, which is used to store computer programs or instructions. When the computer-readable storage medium is executed, the method described in the above-mentioned first aspect or second aspect and any one of its implementation methods is implemented.

[0040] In the tenth aspect, an embodiment of the present application further provides a computer program product comprising instructions, which, when executed on a computer, enables the method described in the above-mentioned first aspect or second aspect and any one of its implementation methods to be implemented.

[0041] The beneficial effects of the fourth to tenth aspects and their implementations can refer to the beneficial effects of the first aspect and any one of its implementations. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] FIG1 is a schematic diagram of a network architecture applicable to an embodiment of the present application;

[0043] FIG2 is another schematic diagram of a network architecture applicable to an embodiment of the present application;

[0044] FIG3 is a flow chart of a communication method according to an embodiment of the present application;

[0045] FIG4 is a schematic structural diagram of a communication device provided in an embodiment of the present application;

[0046] FIG5 is another schematic diagram of the structure of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0047] The method provided in the embodiment of the present application can be applied to the scenario of video transmission / monitoring. The method provided in the embodiment of the present application can reduce the instantaneous throughput during video transmission and reduce network congestion.

[0048] In possible scenarios, to let the driver know the surrounding environment, multiple terminal devices capable of capturing images can be installed at appropriate locations in the vehicle. Each terminal device transmits the captured image information to the on-board control device. By stitching together the images captured by these multiple cameras, a panoramic view of the vehicle's surroundings can be achieved. The image information collected by multiple terminal devices can be transmitted wirelessly, eliminating the need for wiring complexity compared to wired transmission. The time delay between image information from different terminal devices and the on-board control device varies. If the time delay between image information from different terminal devices is large, the resulting stitched view will not be a simultaneous image and will not accurately represent the actual environment around the vehicle. Therefore, video stitching has certain requirements for the time delay between each of the multiple terminal devices and the on-board control device.

[0049] Multiple terminal devices each send image information at random times, which may result in a high instantaneous throughput and cause network congestion. If multiple terminal devices use unlicensed spectrum, collisions are inevitable. If a mechanism similar to listen before talk (LBT) is adopted, only one terminal device sends picture data at the same time, and other terminal devices do not send picture data. The delay is large and may cause air interface congestion. In addition, if multiple terminal devices transmit picture data in the same time period, the instantaneous throughput may be high, requiring more system bandwidth resources. By optimizing the encoding technology of picture data, for example, using intra-frame refresh technology (IntraRefresh) when encoding picture data, although network delay can be reduced, the encoding complexity will be increased and the encoding efficiency will be reduced.

[0050] In view of this, a solution of an embodiment of the present application is provided. In the embodiment of the present application, the time when a terminal device generates a key frame can be adjusted. In this way, the time when multiple terminal devices generate key frames can be staggered, thereby reducing the instantaneous throughput during video transmission and alleviating network congestion.

[0051] The technical solutions provided by the embodiments of the present application can be applied to various types of wireless communication systems. For example, the method provided by the embodiments of the present application can be applied to communication systems related to the 3rd Generation Partnership Project (3GPP), such as long term evolution (LTE), the sixth generation (5G) mobile communication system (such as a new radio (NR) communication system), or can also be applied to other next generation mobile communication systems, such as the sixth generation (6G) communication system, or other similar communication systems. Other similar communication systems may include wireless fidelity (WIFI), vehicle to everything (V2X), internet of things (IoT) system, narrowband internet of things (NB-IoT) system, and the like.

[0052] Exemplarily, Figure 1 is a schematic diagram of a network architecture applicable to an embodiment of the present application. The network includes a plurality of slave nodes 100 and a management node 200, and the slave nodes 100 and the management nodes 200 are wirelessly connected. The wireless network between the slave node 100 and the management node 200 can be a Wireless Fidelity (Wireless-Fidelity, WIFI) network, or a mobile cellular network, or other forms of network, which is not limited by the embodiment of the present application. For example, short-range wireless connection technology is supported between the slave node 100 and the management node 200, for example, the Spark Alliance protocol is supported between the slave node 100 and the management node 200. For example, both the slave node 100 and the management node 200 support Spark Link Basic (SLB) technology and / or Spark Link Low Energy (SLE) technology.

[0053] Each slave node 100 has an image / video acquisition function and an image / video encoding function, and the slave node 100 sends the image / video data to the management node 200 in a wireless manner. The embodiments of the present application do not limit the specific implementation form of the slave node 100. For example, the slave node 100 can be a camera or a terminal device with a camera. The terminal device is also referred to as a terminal, terminal device, user equipment (UE), mobile station, or mobile terminal. Terminal devices can be used in a wide range of scenarios. For example, they can include mobile phones, computers, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, stations (STAs), robotic arms, cameras, robots, vehicles, drones, helicopters, airplanes, ships, smart home devices (such as TVs, air conditioners, vacuum cleaners, speakers, and set-top boxes), relays, customer premise equipment (CPE), smart cars, and roadside units (RSUs). Figure 1 shows a mobile phone, camera, and surveillance equipment as examples. Terminal devices can also be devices in IoT systems, such as water and electricity meters.

[0054] The various terminal devices introduced above, if located on a vehicle (for example, placed / installed in a vehicle), can all be considered as on-board terminal devices. The on-board terminal device can be an on-board module, on-board module, on-board component, on-board chip or on-board unit built into the vehicle as one or more components or units, and the vehicle can implement the method of the present application through the built-in on-board module, on-board module, on-board component, on-board chip or on-board unit. The on-board terminal device can be a complete vehicle device, an on-board module, a vehicle, an on-board unit (OBU), an RSU, a telematics box (T-box), a chip or a system on chip (SOC), etc. The above chip or SOC can be installed in a vehicle, an OBU, an RSU or a T-box.

[0055] The management node 200 has the function of managing / scheduling the slave node 100. For example, the management node 200 can configure the slave node 100. For another example, the management node 200 can provide services for operations on the slave node 100. For example, the management node 200 can be a cloud server (or can be called a cloud, server-side or cloud computing device) for providing cloud services, cloud computing, cloud storage, cloud communications, network services, security services and big data and other cloud computing services, or it can also be an ordinary data center or server or other form of computing device. For another example, the management node 200 can be a terminal device, such as an in-vehicle central control device, which has the function of managing the in-vehicle camera. In an embodiment of the present application, the management node 200 has an image / video processing function, for example, the management node 200 has the function of splicing videos from multiple slave nodes 100.

[0056] It should be noted that FIG1 only schematically provides a possible application scenario, and this schematic application scenario is for the purpose of more clearly illustrating the technical solution of the embodiment of the present application, and does not constitute a limitation on the application scenario of the communication method provided by the present application. In addition, the form and quantity of the management node 200 and the slave node 100 in the application scenario shown in FIG1 are only used for example and do not constitute a limitation on the present application. For example, see FIG2 , which is another schematic diagram of a network architecture adapted by the embodiment of the present application. Compared to FIG1 , the network shown in FIG2 is taken as an example including two management nodes 200 (i.e., a first management node 200 and a second management node 200). The first management node 200 and the second management node 200 can be connected by wire or wirelessly.

[0057] Those skilled in the art will appreciate that, with the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems. In the embodiments of the present application, "when...", "if" and "if" all refer to the device making corresponding processing under certain objective circumstances. They are not time-limited, and do not require that there must be a judgment action when the device is implemented, nor do they mean that there are other limitations. Unless otherwise specified, "if" and "if" are interchangeable, and "when..." and "in the case of..." are interchangeable. "When..." and "if" / "if" are interchangeable.

[0058] Words such as "exemplary" or "for example" are used to indicate examples, illustrations, or illustrations. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0059] For the number of nouns, unless otherwise specified, it means "singular noun or plural noun", that is, "one or more". "At least one" means one or more, and "plural" means two or more. "And / or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. For example, A / B means: A or B. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c means: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, c can be single or plural.

[0060] In the embodiments of this application, ordinal numbers such as "first" and "second" are used to distinguish multiple objects and are not used to define the size, content, order, timing, priority, or importance of the multiple objects. For example, the first slave node and the second slave node refer to two different slave nodes, but do not indicate a difference in priority or importance between the two slave nodes.

[0061] The embodiments of the present application relate to the field of video technology. In order to better understand the solutions provided by the embodiments of the present application, before introducing the solutions provided by the embodiments of the present application, some technical terms involved in the embodiments of the present application are first introduced.

[0062] 1) An I-frame (intra-coded picture), also known as a keyframe, contains information about a complete image. I-frames do not contain motion vectors and can be decoded using only the I-frame data, without reference to other frames.

[0063] 2) P-frames (predictively coded pictures) are inter-coded frames that represent the difference between the current frame and the previous frame. They are also called difference frames. The previous frame can be an I-frame or another P-frame. During decoding, the final picture is predicted based on the difference represented by the current P-frame and the picture buffered before the P-frame.

[0064] 3) B-frames (Bi-directionally predicted pictures) are also inter-frame coded frames. They can be bi-directionally predicted and decoded using the I-frame / P-frame preceding them and the P-frame following them.

[0065] In an embodiment of the present application, by controlling the I frames of multiple terminal devices to be staggered in the time domain, the minimum bandwidth supported by the system for transmission of multiple terminal devices can be reduced, saving system bandwidth resources; it can also reduce the delay in transmitting picture data of multiple terminal devices under a fixed bandwidth.

[0066] 4) GOP, a continuous video stream is divided into multiple GOPs. Each GOP includes multiple continuous video frames. The first frame in these multiple continuous video frames is usually an I frame (key frame), and the following frames are P frames (predicted frames) or B frames (bidirectionally predicted frames). A group of GOPs includes 1 key frame + multiple P frames. For example, if the GOP is 60, then the group of video frames is 1 key frame + 59 P frames / B frames. Since a group of GOPs includes 1 key frame + multiple P frames, the value of GOP can also be understood as the key frame interval.

[0067] The solution provided by the embodiments of the present application is described in detail below with reference to the accompanying drawings.

[0068] Please refer to Figure 3, which is a flow chart of the communication method provided by an embodiment of the present application. Figure 3 takes the communication method provided by an embodiment of the present application as an example, which is performed by a first management node, a first slave node and a second slave node. The slave node is a device similar to the aforementioned slave node 100. For example, the slave node can be a camera or a slave node 100 with a camera. Accordingly, the first management node is a device similar to the aforementioned management node 200. The steps performed by each node can be implemented by the node itself, or by a component in the node (such as a coding module or a processor module), or can also be implemented by the device where the node is located. The embodiment of the present application is only performed by the first management node, the first slave node and the second slave node as an example, and does not limit the number of management nodes and slave nodes. For example, the embodiment of the present application can also be performed by more management nodes and more slave nodes. When more management nodes are involved, each of the multiple management nodes executes the same process; when more slave nodes are involved, each of the multiple slave nodes executes the same process. As shown in Figure 3, the process of the communication method includes the following steps.

[0069] S301: A first management node configures first time information for a first slave node, where the first time information indicates a first time.

[0070] Multiple nodes can be networked. Based on their functional division, the nodes within the network can be divided into management nodes and slave nodes. A management node has management functions for the slave nodes. For ease of description, the present embodiment uses an example of a network comprising a first management node and multiple slave nodes, where the multiple slave nodes include a first slave node and a second slave node.

[0071] In an embodiment of the present application, the first management node may configure the time for sending the key frame to the slave node. For ease of description, the key frame to be sent by the first slave node is referred to as the first key frame, and the first management node configures the first time information to the first slave node as an example.

[0072] For example, the first management node may send first time information to the first slave node to configure the first time information for the first slave node. The first time information may indicate a first time, which is related to the time when the first slave node sends the first key frame. For example, the first time is the time when the first slave node sends the first key frame; for another example, the first time is the time when the first slave node generates the first key frame. Accordingly, the first slave node obtains the first time information. For example, the first slave node may receive the first time information from the first management node. Alternatively, the first slave node may request the first time information from the first management node, and the first management node may send the first time information to the first slave node in response to the first slave node's request.

[0073] It should be noted that the first time information of the first slave node may also be configured by other devices. For example, the first time information may be pre-configured to the first slave node by the master device, and subsequently, the first management node may reconfigure the first time information to the first slave node.

[0074] S302: The first management node sends second time information to the second slave node, where the second time information indicates a second time.

[0075] Similar to how the first management node configures the first time information for the first slave node, the first management node can also configure the second time information for the second slave node. The second time is related to the time when the second slave node transmits the second key frame. For example, the second time is the time when the second slave node transmits the second key frame; or, in another example, the second time is the time when the second slave node generates the second key frame. Accordingly, the second slave node obtains the second time information. The specific implementation method for the second slave node to obtain the second time information is similar to the method for the first slave node to obtain the first time information, and will not be repeated here.

[0076] It should be noted that the second time information of the second slave node can also be configured by other devices. For example, the second time information can be pre-configured to the second slave node by the master device, and then the first management node can re-configure the first time information to the second slave node.

[0077] The embodiment of the present application does not limit the signaling carried by the first time information / second time information. For example, the first management node and the first slave node support SLB access technology, and the first time information is carried in the first field, which is included in the video source characteristic attribute and the video sink characteristic attribute.

[0078] The embodiment of the present application does not limit the execution order of S301 and S302. For example, S301 can be executed before S302 or after S302, or S301 and S302 can be executed simultaneously.

[0079] In this embodiment of the present application, the first management node configures the time for each slave node to send key frames. This is intended to stagger the transmission times of multiple slave nodes, thereby reducing the instantaneous throughput caused by these multiple slave nodes sending key frames over a period of time. Taking latency into account, this embodiment of the present application can determine a reasonable time for each slave node to send key frames, thereby minimizing latency while reducing instantaneous throughput.

[0080] Taking the example of the first management node configuring the time for sending key frames to N slave nodes, where N is an integer greater than or equal to 2, the first management node can determine the first threshold based on one or more of the following parameters. As long as the time interval between any two slave nodes sending key frames is at least the first threshold, a lower instantaneous throughput can be guaranteed for a period of time. Taking the first slave node and the second slave node as an example, the absolute value of the difference between the first time and the second time is greater than or equal to the first threshold. The specific name of the first threshold is not limited in the embodiments of the present application. For example, the first threshold can also be called the off-peak threshold. The following introduces one or more parameters related to the first threshold.

[0081] (1) The size of a key frame of at least one of the N slave nodes. For example, the size of the largest key frame among the key frames of the N slave nodes.

[0082] (2) The maximum transmission capability supported by at least one of the N slave nodes. For example, the maximum transmission rate supported by the N slave nodes.

[0083] (3)The value of N.

[0084] (4) A resolution supported by at least one of the N slave nodes, for example, a maximum resolution supported by the N slave nodes.

[0085] (5) GOP, which can also be considered as the key frame interval, is the interval time between the generation of key frames in two adjacent cycles.

[0086] (6) The time when each of the N slave nodes sends a key frame.

[0087] The one or more parameters mentioned above are only examples, and other parameters may also be included, such as the size of the P frames of the N nodes. The first management node may determine the first threshold according to the one or more parameters.

[0088] For example, the first management node can determine the first threshold based on the parameters (1) to (6) as described above. For example, GOP = 1000ms, N = 4, the resolution supported by the four slave nodes is 1080P, 30fps, and the maximum transmission rate supported by the four slave nodes is 10Mbps. The resolution and maximum transmission rate determine the size distribution of I frames and P frames. When the resolution is 1080P, the underlying transmission capacity / maximum transmission rate is 20Mbps, the I frame size is 90KB, the P frame size is 10KB, and when the video is calculated at 30fps, the video encoding bit rate is 3Mbps. Among the four slave nodes, one slave node sends one I frame, and the other three slave nodes each send one P frame. The size of the video frame to be transmitted by the four slave nodes is 90KB+(4-1)×10KB=120KB. Accordingly, the total time required for the four slave nodes to send their respective video frames is: 120KB / 20Mbps=960Kb / 20Mbps=48ms. If there are 30 frames, and four slave nodes transmit one I-frame and three P-frames, the I-frames occupy bandwidth and introduce additional latency. Therefore, the four P-frames that need to be transmitted at the 33-ms mark within the 48-ms transmission are delayed by 48ms - 33ms = 15ms. However, because the transmission bandwidth for subsequent P-frames is less than the underlying transmission capacity, after transmitting one I-frame and three P-frames, the transmission pipeline gradually recovers from congestion until the underlying transmission capacity gradually exceeds the required data size. The time from congestion to recovery is the time required to stagger video frames between slave nodes. If other slave nodes transmit I-frames during this time, congestion in the transmission pipeline will occur.

[0089] It can be understood that when all four slave nodes transmit P frames, the size of the video frame to be transmitted is 10KB x 4 = 40KB, and the time required to transmit four P frames is 40KB x 8 / 20Mbps = 16ms. Therefore, within a frame interval, the time margin available for transmitting four P frames is 33ms - 16ms = 17ms. However, 17ms > 15ms, meaning the 15ms delay added by the I frame can be recovered within the 33ms period of the next P frame transmission. Subsequently, the transmission capacity will continue to exceed the video size, and the pipeline congestion will stabilize. Therefore, the first frame interval, which is the time required to transmit the I frame and three P frames, is 48ms, and the second frame interval, which is the time required to transmit the four P frames, is 16ms. The total time difference (48 + 16ms) is 64ms. This 64ms is the initial value of the first threshold.

[0090] Considering that the physical layer and link control layer need to reserve a certain amount of retransmission margin, as well as a certain amount of margin for video frame size jitter, the first threshold is often greater than 64ms. For example, assuming that the physical layer and link control layer need to reserve a 20% retransmission margin and a 20% margin for video frame size jitter, the first threshold can be 64ms×(1+20%+20%)=89.4ms. Furthermore, the first threshold can be a value greater than 64ms×(1+20%+20%)=89.4ms, such as 100ms.

[0091] Optionally, the first threshold may be stored in the first management node in advance.

[0092] It is understandable that before the first management node determines the first threshold, it needs to obtain one or more parameters of N slave nodes. For example, taking the first slave node as an example, the first management node may send a request message to the first slave node to request the first slave node to obtain the parameter information of the first slave node from the first slave node. The first slave node receives the request message and, in response to the request message, sends the parameter information of the first slave node to the first management node. For another example, the first management node may request the server to obtain the parameter information of the first slave node. For example, the first management node sends a request message carrying the identifier of the first slave node to the server to request the parameter information of the first slave node. In response to the request message, the server sends the parameter information of the first slave node to the first management node.

[0093] The first management node can determine the time to configure each slave node to send key frames based on the first threshold, and try to ensure that the instantaneous throughput caused by the transmission process of multiple slave nodes does not exceed a certain threshold. For example, assuming that the first slave node is the i-th slave node among N slave nodes, then the first time t(i) satisfies: t(i) = Y + i × GOP ÷ N or t(i) = Y + (i-1) × GOP ÷ N. The value of Y includes the following three cases.

[0094] Case 1: t(i) = Y + (i-1) × GOP / N, where Y is the reference time.

[0095] The N slave nodes share the same reference time. The reference time of a slave node is equivalent to the initial time configured for that slave node. After the N slave nodes connect to the first management node, the first management node can configure a reference time for each of the N slave nodes. For example, the reference time is the initial SFN configured for the N slave nodes. The value of this initial SFN can be predefined or default. It should be noted that the initial SFN is essentially an absolute time, and the initial SFN can be replaced with the corresponding absolute time according to the time unit.

[0096] The first management node can sort the N slave nodes, which can also be understood as sorting the order in which the N slave nodes send key frames. The embodiment of the present application does not limit the sorting method of the N slave nodes. For example, the N slave nodes can be sorted from large to small or from small to large according to their IDs. The first management node configures the time for the N slave nodes to send key frames based on the sorted N slave nodes. For example, the time for the i-th slave node among the N slave nodes to send a key frame is t(i), then:

[0097] t(1) = initial SFN, t(2) = initial SFN + GOP ÷ N, t(3) = initial SFN + 2 × GOP ÷ N, ..., t(N-1) = initial SFN + (N-2) × GOP ÷ N, t(N) = initial SFN + (N-1) × GOP ÷ N. It can be seen that: t(i+1) = t(i) + GOP ÷ N, that is, the interval between the time when the two slave nodes that send the key frame closest to each other sends the key frame is GOP ÷ N. For example, when N = 4, GOP = 2000ms, and initial SFN = 1000, then t(1) = 1000, then t(2) = 1500, t(3) = 2000, and t(4) = 2500. In this way, the time when the N slave nodes send key frames is staggered, thereby minimizing the instantaneous throughput within a period of time.

[0098] In this case, the first management node does not need to care about the time when the N slave nodes actually send key frames. When necessary, it can sort the N slave nodes and configure the corresponding time information for each slave node. This can be applied to the initial stage or restart stage of N slave nodes accessing the first management node.

[0099] Case 2: t(i) = Y + i × GOP ÷ N, where Y is the maximum value of the time of sending / generating the most recent key frame from the N slave nodes.

[0100] Considering the possible scenario where N slave nodes sending key frames does not result in a high instantaneous throughput in a short period of time, it is obviously unnecessary for the first management node to still configure the time for each slave node to send key frames, resulting in unnecessary signaling overhead. Therefore, before configuring the time for each slave node to send key frames, the first management node can decide whether to configure the time for each slave node to send key frames, thereby reducing unnecessary signaling overhead.

[0101] In this case, the first management node can obtain the time when the N slave nodes last sent a key frame, and decide whether to configure the time to send the key frame to each slave node. The first management node sorts the N slave nodes in ascending order according to the time when the key frame was last generated / sent. If the absolute value of the difference between the time when two adjacent slave nodes generate a key frame among the N slave nodes after sorting is less than the first threshold, then it can be considered that the N slave nodes sending the key frame may cause a higher instantaneous throughput in a short period of time, and the first management node determines the time to configure the N slave nodes to generate the key frame. If the absolute value of the difference between the time when any two adjacent slave nodes generate a key frame after sorting is greater than or equal to the first threshold, then it can be considered that the N slave nodes sending the key frame will not cause a higher instantaneous throughput in a short period of time, and the first management node determines that there is no need to reconfigure the time to send the key frame to each slave node.

[0102] For example, before executing S301 and S302, the first management node may obtain a third time at which the first slave node transmits a third key frame, and obtain a fourth time at which the second slave node transmits a fourth key frame. The third key frame may be considered to be the most recent key frame transmitted by the first slave node, and the fourth key frame may be considered to be the most recent key frame transmitted by the second slave node. When the absolute value of the difference between the third time and the fourth time is less than or equal to a first threshold, the first management node determines that it is necessary to configure the time for transmitting the key frames to the first slave node and the second slave node.

[0103] Expanding to N slave nodes, assuming that the time of the most recent key frame reported / generated by slave node i is t(i), the N slave nodes are sorted from smallest to largest according to the time of the most recent key frame reported / generated. The sorted N nodes are: t(1), t(2), t(3), ..., t(N). If the following N conditions are met, it can be considered that the process of N slave nodes sending key frames to the first management node will not cause a high instantaneous throughput, and there is no need to reconfigure the time for each slave node to send key frames: Condition 1: t(1) + th_time ≤ t(2); Condition 2: t(2) + th_time ≤ t(3); and so on, Condition N-1: (N-1) + th_time ≤ t(N); Condition N: t(N) + th_time ≤ t(1) + GOP, where th_time is the first threshold.

[0104] If any of the above conditions 1 to N are not met, it is considered that the process of N slave nodes sending key frames to the first management node will cause a high instantaneous throughput, and the time for each slave node to send key frames needs to be reconfigured. Taking N = 4 as an example, assuming t(1) = 1000ms, t(2) = 1050ms, t(3) = 1400ms, t(4) = 2000ms, and the first threshold th_time is 100ms. Since t(1) + th_time > t(2), the first management node determines that it is necessary to configure the time for sending key frames to each slave node.

[0105] When the first management node determines that it is necessary to configure the time for sending a key frame to each slave node, the time configured for each slave node can be determined based on the maximum value max_t among the most recent key frame sending / generation times of the N slave nodes. For example, assuming that the first slave node is the i-th slave node among the sorted N slave nodes, then the first time t(i) satisfies: t(i) = Y + i × GOP ÷ N, where Y is the maximum value max_t among the most recent key frame sending / generation times of the N slave nodes.

[0106] For example, the time t(1) for the first slave node among N slave nodes to generate a key frame is t(2) = max_t + 2 × GOP / N; the time t(2) for the second slave node among N slave nodes to send a key frame is t(N) = max_t + N × GOP / N. Similarly, the time t(N) for the Nth slave node among N slave nodes to send a key frame is t(N) = max_t + N × GOP / N. It should be noted that for the slave node corresponding to max_t, the time for the slave node to send a key frame does not need to be changed, that is, max_t. For ease of understanding, a specific example (Table 1) is used for explanation below. In the following example, N = 4, t(1) = 1000ms, t(2) = 1000ms, t(3) = 1400ms, t(4) = 2000ms, and the first threshold th_time is 100ms.

[0107] Table 1

[0108] For example, in Table 1, the time for sending key frames from nodes 1 and 2 is the same and less than the first threshold th_time. Therefore, the first management node can determine that the time for sending key frames from nodes 1 to 4 needs to be reconfigured, as shown in Table 1. In this way, the instantaneous throughput caused by the sending of key frames from nodes 1 to 4 can be reduced. For example, assume that the key frame size is 90KB, the P frame size is 10KB, and the network transmission rate is 20Mbps per second. As can be seen from Table 1, when the key frame sending time from nodes 1 to 4 corresponds to the second column in Table 1, the instantaneous throughput caused by the sending of image frames from nodes 1 to 4 is: 90KB + 90KB + 10KB + 10KB = 200KB; the delay caused by the transmission of image frames from nodes 1 to 4 is: 200KB × 8 / 20Mbps = 80ms. When the key frame transmission times from nodes 1 to 4 correspond to column 3 in Table 1, the instantaneous throughput caused by image frame transmission from nodes 1 to 4 is: 90KB + 10KB + 10KB + 10KB = 120KB; the latency caused by image frame transmission from nodes 1 to 4 is: 120KB × 8 / 20Mbps = 48ms. This shows that by reconfiguring the key frame transmission times for multiple slave nodes by the first management node, staggering the transmission times of these slave nodes, the instantaneous throughput caused by these slave nodes' key frame transmissions can be reduced, as well as the end-to-end transmission latency.

[0109] Case three, t(i)=Y+i×GOP÷N, Y is the maximum value max_t' among N times, and the jth time among N times is the sum of the time when the jth slave node among N slave nodes most recently generates a key frame and GOP.

[0110] Taking into account that each slave node sends / generates key frames periodically, if the interval between the maximum value max_t of the sending / generation time of the most recent key frame of N slave nodes and the sending / generation time of the next periodic key frame of a certain slave node is small, then before the first management node configures the slave node to send / generate the key frame, the slave node may have already sent / generated the key frame. This will cause the key frames to be repeatedly generated in a short period of time, resulting in data accumulation in a short period of time.

[0111] To this end, in an embodiment of the present application, if the interval between max_t and the time of sending / generating the next periodic key frame of a slave node is small, the time of the most recent key frame sent / generated in the slave node can be updated, and the N slave nodes can be reordered according to the time of sending / generating the key frame. For ease of distinction, the maximum value of the time of sending / generating the key frame in the N slave nodes after reordering is recorded as max_t'. In this case, the first management node configures the time of sending the key frame for each slave node based on max_t'.

[0112] For example, assuming that the time of generation of the key frame reported by the slave node i for the last time is t(i), and the N slave nodes are sorted from small to large according to the time of generation of the key frame reported for the last time, the sorted N nodes are: t(1), t(2), t(3), ..., t(N). If t(1)+max_t+1×GOP÷N>t(1)+GOP, then the time when the slave node 1 sent the key frame for the last time is t(1)+GOP; similarly, if t(2)+max_t+1×GOP÷N>t(2)+GOP, then the time when the slave node 2 sent the key frame for the last time is t(2)+GOP, and so on. The time t(i) when the i-th slave node of the N slave nodes generates the key frame satisfies: t(i)=max_t'+i×GOP÷N. It can be understood that if t(i)+max_t+1×GOP÷N≤t(i)+GOP, then the time when the slave node i sent the key frame for the last time is t(i).

[0113] For easier understanding, the following is explained with specific examples (Table 2 to Table 4), wherein Table 2 to Table 4 take GOP=2000ms as an example.

[0114] Table 2

[0115] As can be seen from Table 2, t(1) + max_t + 1 × GOP ÷ N ≤ t(1) + GOP, t(2) + max_t + 1 × GOP ÷ N ≤ t(2) + GOP, t(3) + max_t + 1 × GOP ÷ N ≤ t(3) + GOP, and t(4) + max_t + 1 × GOP ÷ N ≤ t(4) + GOP. Therefore, there is no need to update the most recent keyframe generation time for slave nodes 1 to 4. For slave node t(i), t(i) = max_t + i × GOP ÷ N.

[0116] Table 3

[0117] As can be seen from Table 3, t(1)+max_t+1×GOP÷N≤t(1)+GOP, t(2)+max_t+1×GOP÷N≤t(2)+GOP, t(3)+max_t+1×GOP÷N>t(3)+GOP, and t(4)+max_t+1×GOP÷N>t(4+GOP). For slave nodes 3 and 4, two key frames appear in a short period of time, resulting in data accumulation in a short period of time. Therefore, there is no need to update the most recent key frame generation time of slave nodes 1 to 2. However, it is necessary to update the most recent key frame generation time of slave nodes 3 to 4, as shown in Table 4.

[0118] Table 4

[0119] Comparing Table 3 and Table 4, it can be seen that when the interval between the maximum time max_t for generating a key frame among the four slave nodes and the time when slave nodes 3 and 4 generate the next periodic key frame is small, the time when slave nodes 3 and 4 last sent a key frame can be updated, as shown in the fourth column of Table 4. Comparing columns 2 and 4, it can be seen that by updating the time when slave nodes 3 and 4 last sent a key frame, the interval between the maximum time max_t for generating a key frame among the four slave nodes and the time when slave nodes 3 and 4 generate the next periodic key frame can be avoided. In other words, two key frames are avoided in a short period of time, thereby avoiding data accumulation in a short period of time.

[0120] The embodiments of the present application do not limit the specific implementation of the first time information. For example, the first time information includes the following three implementations. It is understood that the specific implementation of the second time information is the same as the implementation of the first time information.

[0121] In the first method, the first time information includes t(i). It can be considered that the content carried by the first time information is absolute time, which is relatively simple. The first method can be applied to any of the above cases 1 to 3.

[0122] In Method 2, the first time information includes Y and i. In this method, the first time information carries relative time, which reduces the processing complexity of the first management node. The first slave node receives the first time information and calculates t(i) based on Y and i. Method 2 is applicable to any of the above cases 1 to 3.

[0123] In Method 3, the first time information includes i. Similar to Method 2, the first time information carries relative time, which reduces processing complexity at the first management node and also reduces signaling resource overhead. The first slave node receives the first time information and calculates t(i) based on i. Method 2 is applicable to the above-described situation 1.

[0124] In a possible scenario, the first management node can configure the time to send key frames to N slave nodes through a single signaling message. Taking the first and second slave nodes as an example, the first and second time information can be carried in the same signaling message. In this case, in addition to carrying the first and second time information, the signaling message also carries the identifier of the first slave node corresponding to the first time information and the identifier of the second slave node corresponding to the second time information.

[0125] S303: The first slave node sends a first key frame at a first time.

[0126] The first slave node obtains first time information, and sends a first key frame to the first management node at the first time.

[0127] S304: The second slave node sends a second key frame at a second time.

[0128] The second slave node obtains the second time information, and sends the second key frame to the first management node at the second time.

[0129] In an embodiment of the present application, the first management node configures the time for sending key frames to N slave nodes according to any one of the above-mentioned situations 1 to 3, so that the time for N slave nodes to send key frames can be staggered, thereby reducing the instantaneous throughput in the network.

[0130] In a possible scenario, there are a large number of slave nodes, and the first management node also sends a large amount of time information, resulting in high signaling overhead for the first management node. To this end, N slave nodes can be grouped, with each group including at least one slave node. The first management node can send time information to a central slave node in each group, which then forwards this time information to the other slave nodes in the group. For example, assuming that N slave nodes include a first group of slave nodes and a second group of slave nodes, where the first group of slave nodes includes the first slave node and the second group of slave nodes includes the second slave node, the first management node can send first time information to the first slave node. This first time information can indicate the time when each slave node in the first group of slave nodes transmits a key frame. Similarly, the first management node can send second time information to the second slave node. This second time information can indicate the time when each slave node in the second group of slave nodes transmits a key frame. If each slave node in the first group of slave nodes generates a key frame at the same time, the first time information includes a single time information. After receiving the first time information, the first slave node can broadcast the first time information within the group. If two slave nodes in the first group of slave nodes have different key frame transmission times, the first time information may include multiple time information and multiple IDs, with each time information corresponding to each ID, indicating the time when the slave node corresponding to the ID generated the key frame. The first slave node receives the first time information and may send the time information corresponding to the ID to the slave node indicated by the ID.

[0131] In a possible scenario, there are multiple management nodes in the network, and each management node manages / schedules its own slave node. However, network resources are limited, which may cause interference between management nodes, and interference may also occur between slave nodes under different management nodes. To this end, in an embodiment of the present application, the first management node may indicate to the second management node the time for at least one slave node it manages to send a key frame, so that the second management node configures the time for the slave nodes under the second management node to send key frames according to the instructions of the first management node to reduce interference with the slave nodes under the first management node. For example, the first management node may send third time information to the second management node, and the third time information may be used to indicate the time for at least one slave node managed by the second management node to generate a key frame.

[0132] For example, a first management node can determine the time at which a second management node manages at least one slave node based on the transmission time of the slave nodes it manages. For example, the first management node has four slave nodes under it, and the times at which these four slave nodes transmit key frames are, in order: SFN_2000, SFN_2250, SFN_2500, and SFN_2750. The initial SFN of these four slave nodes is SFN_2000. The second management node has four slave nodes under it. The first management node determines that the slave nodes under the second management node must transmit key frames at intervals of at least 125 ms to reduce interference. In this case, the first management node can determine that the times at which the four slave nodes under the second management node transmit key frames are, in order: SFN_2125, SFN_2375, SFN_2625, and SFN_2875.

[0133] In the above embodiments provided by the present application, the method provided by the embodiment of the present application is introduced by taking the execution of the first management node, the first slave node and the second slave node as an example. In the present application, each embodiment can be implemented independently or in combination based on certain internal connections; in each embodiment, different implementation methods can be implemented in combination or independently. In order to implement the various functions in the method provided by the above embodiments of the present application, the steps executed by the node can be implemented by different functional entities that constitute the node. In order to implement the various functions in the method provided by the above embodiments of the present application, the node may include a hardware structure and / or a software module, and implement the above functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether one of the above functions is executed in the form of a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraints of the technical solution.

[0134] Based on the same inventive concept as the method embodiment, the present embodiment provides a communication device. The following describes the communication device used to implement the above method in the present embodiment in conjunction with the accompanying drawings. The above content can be used in subsequent embodiments, and repeated content will not be repeated.

[0135] Figure 4 is a schematic block diagram of a communication device 400 provided in an embodiment of the present application. The communication device 400 can be a management node or a slave node in the above-mentioned embodiment. For example, the communication device 400 can be the management node 200 in Figure 1 or Figure 2; or, the communication device 400 is a chip (system) in the management node; or, the communication device 400 is a software module of the management node. The communication device 400 can correspond to the functions or steps implemented by the first management node in the above-mentioned various method embodiments. For another example, the communication device 400 can be the slave node 100 in Figure 1 or Figure 2; or, the communication device 400 is a chip (system) in the slave node; or, the communication device 400 is a software module of the slave node. The communication device 400 can correspond to the functions or steps implemented by the first slave node in the above-mentioned various method embodiments.

[0136] The communication device 400 may include a processing module 410 and a transceiver module 420. Optionally, it may further include a storage module, which may be used to store instructions (codes or programs) and / or data. The storage module may be, for example, a memory. The processing module 410 and the transceiver module 420 may be coupled to the storage module. For example, the processing module 410 may read the instructions (codes or programs) and / or data in the storage module to implement the corresponding method. When the communication device 400 is a chip in a slave node or a management node, the storage module may be a storage module within the chip, such as a register, a cache, etc. For example, the storage module may also be a storage module located outside the chip within a terminal device or a network device, such as a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM), etc. The above-mentioned units may be provided independently or partially or fully integrated.

[0137] The processing module 410 can be a processor or controller, for example, a general-purpose central processing unit (CPU), a general-purpose processor, a digital signal processing (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It can implement or execute the various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, for example, including a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on. The transceiver module 420 is a transceiver, an interface circuit, a bus, a pin or other possible communication interface for receiving signals from other devices. For example, when the device is implemented in the form of a chip, the transceiver module 420 is an interface circuit for the chip to receive signals from other chips or devices, or it is an interface circuit for the chip to send signals to other chips or devices.

[0138] In one implementation, the communication device 400 can implement the corresponding behaviors and functions of the first management node in the above-mentioned method embodiment. The communication device 400 can be a management node, or a component (such as a chip or circuit) used in a management node, or a chip or chipset in a management node, or a portion of a chip used to perform the functions of the relevant method, or a software module capable of implementing the method performed by the first management node in the above-mentioned method, without limitation. For details, please refer to the relevant content of the above-mentioned method embodiment, and will not be repeated here.

[0139] For example, the processing module 410 is configured to determine first time information and second time information, where the first time information indicates a first time associated with a time when the first slave node transmits a first key frame. The second time information indicates a second time associated with a time when the second slave node transmits a second key frame. The transceiver module 420 is configured to configure the first time information to the first slave node and configure the second time information to the second slave node.

[0140] As an optional implementation method, the first threshold is also related to one or more of the following: the maximum transmission rate supported by the first slave node, the maximum transmission rate supported by the second slave node, GOP, the resolution of the first slave node, the resolution of the second slave node, the number N of slave nodes for which the first management node configures time information, or the time for each of the N slave nodes to send a key frame.

[0141] As an optional implementation, before configuring the first time information to the first slave node, the processing module 410 is further configured to obtain a third time at which the first slave node transmits the third key frame, and obtain a fourth time at which the second slave node transmits the fourth key frame, where the absolute value of the difference between the third time and the fourth time is less than or equal to the first threshold.

[0142] As an optional implementation, the first slave node and the second slave node belong to N slave nodes, the N slave nodes are sorted, the first slave node is the i-th slave node among the N slave nodes, and the first time t(i) satisfies: t(i) = Y + i × GOP ÷ N; wherein, Y is the maximum value of the times when the N slave nodes most recently sent a key frame, and GOP is the key frame interval; or, Y is the maximum value of N times, the j-th time among the N times is the sum of the time when the j-th slave node among the N slave nodes most recently generated a key frame and GOP; i is an integer greater than or equal to 1 and less than or equal to N. Alternatively, the first time t(i) satisfies: t(i) = Y + (i-1) × GOP ÷ N, wherein Y is a reference time, the reference time of the N slave nodes is the same, and i is an integer greater than or equal to 1 and less than or equal to N.

[0143] As an optional implementation manner, the first time information includes t(i); or, the first time information includes Y and i; or, the first time information includes i.

[0144] As an optional implementation, the transceiver module 420 is further configured to send third time information to the second management node, where the third time information is used to indicate a time when at least one slave node managed by the second management node sends a key frame.

[0145] As an optional implementation, the first slave node belongs to a first group of slave nodes, and the second slave node belongs to a second group of slave nodes, wherein each slave node in a group of slave nodes sends a key frame at the same time.

[0146] As an optional implementation manner, the first management node and the first slave node support SLB access technology, the first time information is carried in the first field, and the first field is included in the video source characteristic attribute and the video sink characteristic attribute.

[0147] In one implementation, the communication device 400 can implement the corresponding behaviors and functions of the first slave node in the above-mentioned method embodiment. The communication device 400 can be a slave node, or a component (such as a chip or circuit) used in a slave node, or a chip or chipset in a slave node, or a portion of a chip used to perform the functions of the relevant method, or a software module capable of implementing the method executed by the first slave node in the above-mentioned method, without limitation. For details, please refer to the relevant content of the above-mentioned method embodiment, which will not be repeated here.

[0148] For example, the processing module 410 is configured to obtain first time information indicating the first time when the first slave node generates the first key frame. The transceiver module 420 is configured to send the first key frame to the first management node, where the sending time of the first key frame is the first time.

[0149] As an optional implementation manner, the first slave node obtains the first time information, including: the first slave node receives the first time information from the first management node; or, the first slave node obtains the first time information from the first management node.

[0150] As an optional implementation manner, the first management node and the first slave node support SLB access technology, the first time information is carried in the first field, and the first field is included in the video source characteristic attribute and the video sink characteristic attribute.

[0151] When the communication device 400 is a chip-type device or circuit, the transceiver module may be an input / output circuit and / or a communication interface; the processing module may be an integrated processor or microprocessor or integrated circuit.

[0152] Figure 5 is a schematic block diagram of a communication device 500 provided in an embodiment of the present application. The communication device 500 can be the first management node or the first slave node in the above-mentioned embodiment. For example, the communication device 500 can be the management node 200 in Figure 1 or the chip (system) in the management node 200. In the embodiment of the present application, the chip system can be composed of a chip, or it can include a chip and other discrete devices. For specific functions, please refer to the description in the above-mentioned method embodiment. For another example, the communication device 500 can be the slave node 100 in Figure 1 or the chip (system) in the slave node 100. In the embodiment of the present application, the chip system can be composed of a chip, or it can include a chip and other discrete devices. For specific functions, please refer to the description in the above-mentioned method embodiment.

[0153] The communication device 500 includes one or more processors 501, which are used to implement or support the communication device 500 in implementing the functions of the first management node or the first slave node in the method provided in the embodiment of the present application. Please refer to the detailed description in the method example for details, which will not be repeated here. The processor 501 can also be called a processing unit or a processing module, which can implement certain control functions. The processor 501 can be a general-purpose processor or a dedicated processor. For example, it includes: a baseband processor, a central processing unit, an application processor, a modem processor, a graphics processor, an image signal processor, a digital signal processor, a video codec processor, a controller, a memory, and / or a neural network processor. The baseband processor can be used to process communication protocols and communication data. The central processing unit can be used to control the communication device 500 (such as a network device or a terminal device), execute software programs and / or process data. Different processors can be independent devices or integrated into one or more processors, for example, integrated into one or more dedicated integrated circuits.

[0154] In one design, the processor 501 may include a program 503 (sometimes also referred to as code or instructions), which may be executed on the processor 501 to cause the communication device 500 to perform the methods described in the following embodiments. In another possible design, the communication device 500 includes a circuit (not shown in FIG5 ) configured to implement the functions of the first management node or the first slave node in the above embodiments.

[0155] In one design, the communication device 500 may include one or more memories 502 on which a program 504 (sometimes also referred to as code or instructions) is stored. The program 504 can be run on the processor 501 so that the communication device 500 performs the method described in the above method embodiment.

[0156] In one design, the processor 501 and / or the memory 502 may include an artificial intelligence (AI) module 507 and an AI module 508, each configured to implement AI-related functions. The AI ​​module may be implemented using software, hardware, or a combination of software and hardware. For example, the AI ​​module may include a RAN intelligent controller (RIC) module. For example, the AI ​​module may be a near real-time RIC or a non-real-time RIC.

[0157] In a possible design, data may also be stored in the processor 501 and / or the memory 502. The processor and the memory may be provided separately or integrated together.

[0158] In one possible design, the communication device 500 may further include a transceiver 505 and / or an antenna 506. The processor 501 may also be sometimes referred to as a processing unit, and controls the communication device 500. The transceiver 505 may also be sometimes referred to as a transceiver unit, a transceiver, a transceiver circuit, or a transceiver, and is configured to implement the transceiver functions of the communication device 500 through the antenna 506.

[0159] In one possible design, the communication device 500 may further include one or more of the following components: a wireless communication module, an audio module, an external memory interface, an internal memory, a universal serial bus (USB) interface, a power management module, an antenna, a speaker, a microphone, an input / output module, a sensor module, a motor, a camera, or a display screen, etc. It will be appreciated that in some embodiments, the communication device 500 may include more or fewer components, or some components may be integrated or separated. These components may be implemented in hardware, software, or a combination of software and hardware.

[0160] The communication device in the above embodiments can be a terminal device, a circuit, a chip used in a terminal device, or other devices or components combined with the above terminal devices. Alternatively, the communication device in the above embodiments can be a network device, a circuit, a chip used in a network device, or other devices or components combined with the above network devices. When the communication device is a terminal device or a network device, the transceiver module can be a transceiver, which can include an antenna and a radio frequency circuit, etc., and the processing module can be a processor, such as a CPU. When the communication device is a system-on-chip, the communication device can be an FPGA, a dedicated ASIC, a system-on-chip (SoC), a CPU, a network processor (NP), a DSP, a microcontroller unit (MCU), a programmable logic device (PLD), or other integrated circuit. The processing module can be the processor of the system-on-chip. The transceiver module or communication interface can be the input / output interface or interface circuit of the system-on-chip. For example, the interface circuit can be a code / data read / write interface circuit. The interface circuit can be used to receive code instructions (the code instructions are stored in a memory and can be read directly from the memory or read from the memory via another device) and transmit them to the processor; the processor can be used to execute the code instructions to perform the method in the above method embodiment. For example, the interface circuit can also be a signal transmission interface circuit between a communication processor and a transceiver.

[0161] The present application also provides a communication system. Specifically, the communication system includes at least one management node and multiple slave nodes. The management node is used to implement the functions related to the method shown in FIG3 , and the slave nodes are used to implement the functions related to the method shown in FIG3 . For details, please refer to the relevant description in the above method embodiment, and will not be repeated here.

[0162] An embodiment of the present application also provides a computer-readable storage medium, including instructions, which, when executed on a computer, enables the computer to execute the method executed by the first management node or the first slave node in the method shown in Figure 3.

[0163] A computer program product is also provided in an embodiment of the present application, including computer program code. When the computer program code is executed, the computer executes the method executed by the first management node or the first slave node in the method shown in Figure 3.

[0164] An embodiment of the present application provides a chip system, which includes a processor and may also include a memory, for implementing the functions of the first management node or the first slave node in the method shown in Figure 3. The chip system can be composed of a chip or include a chip and other discrete devices.

[0165] To implement the functions of the communication device shown in Figures 4 and 5 , embodiments of the present application further provide a chip including a processor for supporting the communication device in implementing the functions of the first management node or the first slave node in the above method embodiments. In one possible design, the chip is connected to or includes a memory, which is used to store computer programs, instructions, and data necessary for the communication device.

[0166] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0167] Those skilled in the art will appreciate that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented using electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0168] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0169] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0170] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0171] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the part that essentially contributes to the technical solution of the present application or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks or optical disks.

[0172] Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include these modifications and variations.

Claims

1. A communication method, applied to a first management node, characterized in that: include: Configuring first time information for a first slave node, where the first time information indicates a first time, and the first time is related to a time when the first slave node sends a first key frame; Configuring second time information for the second slave node, where the second time information indicates a second time, and the second time is related to a time when the second slave node sends a second key frame; The difference between the second time and the first time is greater than or equal to a first threshold, and the first threshold is related to the size of the first key frame and the size of the second key frame.

2. The method according to claim 1, wherein The first threshold is further related to one or more of the following: the maximum transmission rate supported by the first slave node; a maximum transmission rate supported by the second slave node; Group of pictures GOP; the resolution of the first slave node; the resolution of the second slave node; The number N of slave nodes for which the first management node configures time information; The time when each of the N slave nodes sends a key frame.

3. The method according to claim 1 or 2, wherein: Before configuring the first time information to the first slave node, the method further includes: Obtaining a third time at which the first slave node sends a third key frame; A fourth time at which the second slave node sends a fourth key frame is obtained, wherein an absolute value of a difference between the third time and the fourth time is less than or equal to the first threshold.

4. The method according to claim 3, wherein The first slave node and the second slave node belong to N slave nodes, the first slave node is the i-th slave node among the sorted N slave nodes, and the first time t(i) satisfies: t(i)=Y+i×GOP÷N; wherein Y is the maximum value of the times at which the N slave nodes most recently sent a key frame, and GOP is the key frame interval; or, Y is the maximum value of N times, and the jth time among the N times is the sum of the time at which the jth slave node among the N slave nodes most recently generated a key frame and GOP; i is an integer greater than or equal to 1 and less than or equal to N; Alternatively, t(i)=Y+(i-1)×GOP÷N, where Y is the reference time, the reference time of the N slave nodes is the same, and i is an integer greater than or equal to 1 and less than or equal to N.

5. The method according to claim 4, wherein The first time information includes the t(i); or, The first time information includes Y and i; or, The first time information includes i.

6. The method according to any one of claims 1 to 5, wherein The method further comprises: Third time information is sent to the second management node, where the third time information is used to indicate a time when at least one slave node managed by the second management node sends a key frame.

7. The method according to claim 1, wherein The first slave node belongs to a first group of slave nodes, and the second slave node belongs to a second group of slave nodes, wherein each slave node in a group of slave nodes sends a key frame at the same time.

8. The method according to any one of claims 1 to 7, wherein The first management node and the first slave node support Star Flash-based SLB access technology, the first time information is carried in a first field, and the first field is included in a video source characteristic attribute and a video sink characteristic attribute.

9. A communication method, applied to a first slave node, characterized in that: include: Acquire first time information, where the first time information is used to indicate a first time when the first slave node generates a first key frame; A first key frame is sent to the first management node, where the sending time of the first key frame is the first time.

10. The method according to claim 9, wherein Get first-hand information, including: receiving the first time information of the first management node; or, Obtain the first time information from the first management node.

11. The method according to claim 9, wherein The first management node and the first slave node support Star Flash-based SLB access technology, the first time information is carried in a first field, and the first field is included in a video source characteristic attribute and a video sink characteristic attribute.

12. A management node, characterized in that: include: a transceiver module, configured to configure first time information to the first slave node and configure second time information to the second slave node; The first time information indicates a first time, which is related to the time when the first slave node sends a first key frame; the second time information indicates a second time, which is related to the time when the second slave node sends a second key frame; wherein a difference between the second time and the first time is greater than or equal to a first threshold, and the first threshold is related to the size of the first key frame and the size of the second key frame; A processing module is used to determine the first time information and the second time information.

13. The node according to claim 12, wherein: The first threshold is further related to one or more of the following: the maximum transmission rate supported by the first slave node; a maximum transmission rate supported by the second slave node; Group of pictures GOP; the resolution of the first slave node; the respective resolutions of the second slave nodes; The number N of slave nodes for which the management node configures time information; The time when each of the N slave nodes sends a key frame.

14. The node according to claim 12 or 13, characterized in that Before configuring the first time information to the first slave node, the processing module is further configured to: Obtaining a third time at which the first slave node sends a third key frame; A fourth time at which the second slave node sends a fourth key frame is obtained, wherein an absolute value of a difference between the third time and the fourth time is less than or equal to the first threshold.

15. The node according to claim 14, wherein: The first slave node and the second slave node belong to N slave nodes, the first slave node is the i-th slave node among the sorted N slave nodes, and the first time t(i) satisfies: t(i)=Y+i×GOP÷N; wherein Y is the maximum value of the times at which the N slave nodes most recently sent a key frame, and GOP is the key frame interval; or, Y is the maximum value of N times, and the jth time among the N times is the sum of the time at which the jth slave node among the N slave nodes most recently generated a key frame and GOP; i is an integer greater than or equal to 1 and less than or equal to N; Alternatively, t(i)=Y+(i-1)×GOP÷N, where Y is the reference time, the reference time of the N slave nodes is the same, and i is an integer greater than or equal to 1 and less than or equal to N.

16. The node according to claim 15, wherein: The first time information includes the t(i); or, The first time information includes Y and i; or, The first time information includes i.

17. The node according to any one of claims 12 to 16, characterized in that: The transceiver module is also used for: Third time information is sent to the second management node, where the third time information is used to indicate a time when at least one slave node managed by the second management node sends a key frame.

18. The node according to claim 12, wherein: The first slave node belongs to a first group of slave nodes, and the second slave node belongs to a second group of slave nodes, wherein each slave node in a group of slave nodes sends a key frame at the same time.

19. The node according to any one of claims 12 to 18, wherein: The management node and the first slave node support Star Flash-based SLB access technology, the first time information is carried in a first field, and the first field is included in the video source characteristic attributes and the video sink characteristic attributes.

20. A communication node, characterized in that: include: a processing module, configured to obtain first time information, where the first time information is used to indicate a first time when the communication node generates a first key frame; The transceiver module is configured to send a first key frame to the first management node, where the sending time of the first key frame is the first time.

21. The node according to claim 20, wherein: The transceiver module is also used for: receiving the first time information of the first management node; or, Acquire the first time information from the first management node.

22. The node according to claim 21, wherein The first management node and the communication node support Star Flash-based SLB access technology, the first time information is carried in a first field, and the first field is included in a video source characteristic attribute and a video sink characteristic attribute.

23. A communication device, characterized in that: The communication device includes a processor and a memory, the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory, so that the communication device performs the method according to any one of claims 1 to 8, or the communication device performs the method according to any one of claims 9 to 11.

24. A computer-readable storage medium, characterized in that The computer-readable storage medium is used to store a computer program. When the computer program is run on a computer, the computer is caused to execute the method according to any one of claims 1 to 8, or the computer is caused to execute the method according to any one of claims 9 to 11.

25. A computer program product, characterized in that The computer program product includes a computer program, and when the computer program is run on a computer, the computer is caused to execute the method according to any one of claims 1 to 8, or the computer is caused to execute the method according to any one of claims 9 to 11.

26. A chip system, characterized in that: The chip system includes: A processor and an interface, wherein the processor is used to call and run instructions from the interface, and when the processor executes the instructions, the method according to any one of claims 1 to 8 is implemented, or the method according to any one of claims 9 to 11 is implemented.

Citation Information

Patent Citations

  • Method for sending key frame by video equipment, video equipment and storage device

    CN111741276A

  • Systems and methods for multi-video stream transmission

    CN113302928A

  • Video stream transmission control method and device, video system, equipment and storage medium

    CN115633188A

  • Key frame transmission method, device and system, electronic equipment and storage medium

    CN117156105A

  • Multi-stream peak bandwidth dispersal

    US20220360744A1