Video stream transmission method and device, equipment and storage medium

By determining the priority of the device in the remote USB control system and streaming videos according to the bandwidth situation, the problem that video streaming in existing systems cannot be guaranteed is solved, and efficient video streaming and system performance improvements are achieved.

CN119766793AActive Publication Date: 2025-04-04HEFEI HEXAGON SEMICON CO LTD
View PDF 14 Cites 0 Cited by

Patent Information

Application Number
CN202510252320.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-05
Publication Date
2025-04-04
Estimated Expiration
2045-03-05

AI Technical Summary

Technical Problem

The existing remote USB control system lacks priority distinction for near-end devices in video streaming, resulting in the fact that video streaming of key devices cannot be guaranteed prioritized under limited bandwidth, affecting system performance and task execution.

Method used

By obtaining control instructions from the remote control end, the priority of the target near-end device and its equipment is determined, and video streaming is carried out according to sufficient bandwidth and device priority, ensuring the video streaming quality of high-priority devices.

Benefits of technology

The priority allocation of limited bandwidth resources is achieved, the video streaming quality of high-priority devices is ensured, the overall operating efficiency of the system is improved, and good performance is maintained under various network environments and equipment combinations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119766793A_ABST
    Figure CN119766793A_ABST
Patent Text Reader

Abstract

The invention discloses a video stream transmission method and device, equipment and a storage medium. The method is applied to a remote USB control system, comprises a remote control end and each near-end device, and comprises the following steps: obtaining a control instruction of the remote control end, and determining a target near-end device and a corresponding device priority based on the control instruction; determining a target bandwidth corresponding to the target near-end equipment, and determining a bandwidth sufficiency condition according to the target bandwidth; and carrying out video stream transmission according to the bandwidth adequacy condition and the device priority. By determining the priority of the equipment, limited bandwidth resources can be preferentially allocated to the target near-end equipment with high priority, the video stream transmission quality of the equipment is ensured, and the overall operation efficiency of the system is improved. The hierarchical coding technology and the transmission control strategy are combined, so that the conditions of burst, delay and the like of the network can be flexibly dealt with, the system can keep better performance under various network environments and equipment combinations, and the ordered communication of the system is ensured to the greatest extent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data transmission, and in particular to a video stream transmission method, device, equipment and storage medium. Background Art

[0002] In today's digital age, remote control technology is increasingly used in various fields. Especially in scenarios involving remote USB control of multiple near-end devices, efficient and stable video streaming is essential.

[0003] However, existing remote USB control systems face many challenges in video streaming transmission. Traditional transmission methods often lack the priority distinction of near-end devices, resulting in the inability to prioritize the video streaming transmission of key devices when bandwidth is limited, affecting the overall performance of the system and the execution of key tasks. In addition, existing transmission methods lack adaptability and flexibility when dealing with complex multi-device scenarios and dynamically changing network environments, making it difficult to meet the growing demand for remote control. Summary of the invention

[0004] The present invention provides a video stream transmission method, device, equipment and storage medium to ensure orderly data transmission in a remote USB control system, avoid problems such as freeze or inability to obtain a perfect video experience caused by video quality problems of remote manual control requests, and ensure adaptive transmission of user video data.

[0005] According to one aspect of the present invention, a video stream transmission method is provided, which is applied to a remote USB control system, including: a remote control terminal and each near-end device, and the method includes:

[0006] Obtaining a control instruction from a remote control terminal, and determining a target proximal device and its corresponding device priority based on the control instruction, wherein the device priority includes a high priority and a low priority;

[0007] Determine a target bandwidth corresponding to the target near-end device, and determine bandwidth sufficiency according to the target bandwidth, wherein the bandwidth sufficiency includes sufficient bandwidth and insufficient bandwidth;

[0008] Video streaming is performed based on bandwidth availability and device priority.

[0009] Optionally, determining a target proximal device and its corresponding device priority based on a control instruction includes: determining a target device identifier in the control instruction, and determining the target proximal device from each proximal device according to the target device identifier; determining a device type corresponding to the target proximal device, wherein the device type includes a video device and a non-video device; when the device type is a video device, determining the device priority of the target proximal device to be a high priority; and when the device type is a non-video device, determining the device priority of the target proximal device to be a low priority.

[0010] Optionally, determining a target bandwidth corresponding to the target near-end device includes: when the target near-end device is a high-priority device, using the bandwidth required to transmit its video stream base layer as the target bandwidth; when the target near-end device is a low-priority device, using the bandwidth required to transmit its communication data as the target bandwidth.

[0011] Optionally, determining the bandwidth sufficiency situation based on the target bandwidth includes: determining the remaining bandwidth of the current transmission network; judging whether the target bandwidth is less than or equal to the remaining bandwidth, and if so, determining that the bandwidth sufficiency situation is sufficient; otherwise, determining that the bandwidth sufficiency situation is insufficient.

[0012] Optionally, video stream transmission is performed according to bandwidth sufficiency conditions and device priority, including: when the bandwidth sufficiency condition is that the bandwidth is sufficient and the device priority is high priority, determining the required bandwidth of the enhancement layer corresponding to the target near-end device, and determining the target enhancement layer number of the target near-end device according to the remaining bandwidth and the required bandwidth of the enhancement layer, so as to perform video stream transmission between the remote control end and the target near-end device; when the bandwidth sufficiency condition is that the bandwidth is sufficient and the device priority is low priority, directly performing data transmission between the remote control end and the target near-end device.

[0013] Optionally, video stream transmission is performed based on bandwidth sufficiency and device priority, including: when the bandwidth sufficiency situation turns into insufficient bandwidth, polling each high-priority device that is transmitting in turn to determine the access time; arranging each high-priority device in order of access time from far to near to generate a high-priority transmission queue; determining the target high-priority device from the high-priority transmission queue in turn, reducing the reinforcement layer of the target high-priority device, and obtaining the corresponding update bandwidth; until the update bandwidth is greater than or equal to the target bandwidth, starting the data transmission between the remote control end and the target near-end device.

[0014] Optionally, after obtaining the corresponding update bandwidth, the method also includes: determining the number of reinforcement layers of each high-priority device in the high-priority transmission queue; when the number of reinforcement layers is 0 and the update bandwidth is less than the target bandwidth, adding the target near-end device to the end of the corresponding high-priority queue to be scheduled or the low-priority queue to be scheduled.

[0015] Optionally, the method also includes: when a stop transmission instruction is obtained from the remote control end, determining the idle bandwidth based on the stop transmission instruction; judging whether there is a high-priority device to be scheduled in the high-priority queue to be scheduled, and if so, determining the target scheduling device from the high-priority queue to be scheduled for video stream transmission based on the idle bandwidth; otherwise, determining the target scheduling device from the low-priority queue to be scheduled for data transmission based on the idle bandwidth.

[0016] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0017] at least one processor;

[0018] and a memory communicatively coupled to the at least one processor;

[0019] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute a video stream transmission method described in any embodiment of the present invention.

[0020] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement a video stream transmission method according to any embodiment of the present invention when executed.

[0021] The technical solution of the embodiment of the present invention can allocate limited bandwidth resources to high-priority target near-end devices by determining device priority, thereby ensuring the quality of video stream transmission of the device and improving the overall operating efficiency of the system. Combining layered coding technology with transmission control strategy can ensure that network emergencies, delays, and other situations can be flexibly responded to, so that the system can maintain good performance in various network environments and device combinations, and maximize the orderly communication of the system. Transmission is performed accurately according to bandwidth conditions and device priority, avoiding waste and excessive occupation of bandwidth and achieving rational use of network resources.

[0022] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0024] Figure 1 is a flowchart of a video stream transmission method provided according to Embodiment 1 of the present invention;

[0025] Figure 2 is a flowchart of another video stream transmission method provided according to Embodiment 2 of the present invention;

[0026] Figure 3 is a structural schematic diagram of a video stream transmission device provided according to Embodiment 3 of the present invention;

[0027] Figure 4 It is a structural schematic diagram of an electronic device for implementing a video stream transmission method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0028] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0030] Embodiment 1

[0031] Figure 1 A flowchart of a video stream transmission method is provided for the first embodiment of the present invention. This embodiment is applicable to a remote USB control system. The method can be executed by a video stream transmission device. The video stream transmission device can be implemented in the form of hardware and / or software. The video stream transmission device can be configured in a computer controller. Figure 1 As shown, the method includes:

[0032] S110, obtaining a control instruction from the remote control terminal, and determining a target near-end device and its corresponding device priority based on the control instruction, wherein the device priority includes a high priority and a low priority.

[0033] Among them, the remote USB control system refers to a system in which users can control near-end connected USB devices at a remote end, including the remote control end and various near-end devices. The remote control end can issue instructions to the near-end device and obtain feedback just like local operation, breaking through the distance limit and realizing remote device management, which is common in remote office and remote monitoring scenarios. Among them, the remote control end is a device or software platform at a remote location for users to issue various operation instructions, which can be a computer, mobile phone APP, etc. The near-end device is a device located at the local end and close to the actual business scene. The near-end device is connected to the system through a USB interface, receives instructions from the remote control end, and performs corresponding actions, such as cameras, printers, etc. The control instruction refers to the instruction information issued by the remote control end, carrying the user's operation intention, telling the near-end device what specific operation to perform, such as starting video recording, adjusting the camera angle, etc. The target near-end device refers to the specific device selected according to the control instruction among many near-end devices and about to perform the corresponding operation. Device priority refers to the priority used to measure the near-end device in the allocation of transmission resources, which is divided into high priority and low priority. The transmission needs of high-priority devices are often given priority, usually involving critical business and real-time video transmission, while low-priority devices are second.

[0034] Optionally, determining a target proximal device and its corresponding device priority based on a control instruction includes: determining a target device identifier in the control instruction, and determining the target proximal device from each proximal device according to the target device identifier; determining a device type corresponding to the target proximal device, wherein the device type includes a video device and a non-video device; when the device type is a video device, determining the device priority of the target proximal device to be a high priority; and when the device type is a non-video device, determining the device priority of the target proximal device to be a low priority.

[0035] Specifically, the control instruction contains a target device identifier, which refers to the unique identity of each proximal device. The system can quickly screen among many proximal devices with the target device identifier to determine the corresponding target proximal device. Device types are divided into two categories: video devices and non-video devices.

[0036] It is known that video devices often bear the heavy responsibility of real-time image capture and transmission. For example, cameras and surveillance probes are used in security monitoring scenarios, or live cameras in distance learning. The video streams they output have extremely high requirements for timeliness and continuity, so video devices will be determined as high priority. Non-video devices, such as ordinary USB printers, mobile hard drives, etc., are mainly used for storage and printing tasks. They do not involve critical video transmission tasks and have low requirements for the immediacy of transmission, so non-video devices will be considered low priority. By determining the device priority, bandwidth and transmission resources can be more reasonably allocated according to different priorities in the subsequent video stream transmission link.

[0037] S120: Determine a target bandwidth corresponding to the target near-end device, and determine bandwidth sufficiency according to the target bandwidth, wherein the bandwidth sufficiency includes sufficient bandwidth and insufficient bandwidth.

[0038] The target bandwidth is the network bandwidth value required for the target near-end device to stably and smoothly complete the transmission task. The bandwidth sufficiency refers to the judgment result of whether the available bandwidth in the current network environment can meet the needs of the target near-end device, including sufficient bandwidth and insufficient bandwidth.

[0039] Optionally, determining a target bandwidth corresponding to the target near-end device includes: when the target near-end device is a high-priority device, using the bandwidth required to transmit its video stream base layer as the target bandwidth; when the target near-end device is a low-priority device, using the bandwidth required to transmit its communication data as the target bandwidth.

[0040] It should be noted that this implementation method adds layered coding technology (Scalable Video Coding, SVC) when transmitting data of high-priority devices, that is, the USB data stream is layered encoded at the near end, divided into a base layer + multiple enhanced layers, the base layer can be decoded independently, and the most basic video picture can be displayed, and the enhanced layer can optimize the base layer video picture to increase the experience of video quality. That is, for high-priority devices, the base layer carries the most critical core information such as the outline and main color of the picture. If the base layer data is lost, the video will not be able to be viewed normally, so the bandwidth required for transmitting the base layer of its video stream will be used as the target bandwidth, which can ensure that even when the network condition is poor, the basic video picture is maintained first to meet the user's most basic viewing needs. For low-priority devices, the system will use the bandwidth required for transmitting its communication data as the target bandwidth to avoid excessive occupation of network resources, because low-priority devices do not require bandwidth at the level of high-definition video.

[0041] It is known that SVC layered coding technology can efficiently compress video stream data, and its compression ratio can generally reach 1:50 or even 1:100. When the network bandwidth is limited, only the basic layer or a small amount of enhanced layer video data is transmitted. This ensures that under the same Ethernet bandwidth limitation, the number of remotely controllable USB devices is greatly increased. Even under small-capacity network ports, it can effectively support the transmission of multiple video devices, expanding the application scenarios of remote USB control systems.

[0042] Optionally, determining the bandwidth sufficiency situation based on the target bandwidth includes: determining the remaining bandwidth of the current transmission network; judging whether the target bandwidth is less than or equal to the remaining bandwidth, and if so, determining that the bandwidth sufficiency situation is sufficient; otherwise, determining that the bandwidth sufficiency situation is insufficient.

[0043] Specifically, the controller determines the remaining bandwidth of the current transmission network and compares the target bandwidth with the remaining bandwidth. If the target bandwidth is less than or equal to the remaining bandwidth, it indicates that the current network resources are sufficient to support the video stream transmission of the target near-end device, so the bandwidth sufficiency is determined to be sufficient. If the target bandwidth exceeds the remaining bandwidth, it indicates that the existing network resources cannot meet the demand. At this time, the bandwidth sufficiency is determined to be insufficient.

[0044] S130: Transmit the video stream according to bandwidth sufficiency and device priority.

[0045] Optionally, video stream transmission is performed according to bandwidth sufficiency conditions and device priority, including: when the bandwidth sufficiency condition is that the bandwidth is sufficient and the device priority is high priority, determining the required bandwidth of the enhancement layer corresponding to the target near-end device, and determining the target enhancement layer number of the target near-end device according to the remaining bandwidth and the required bandwidth of the enhancement layer, so as to perform video stream transmission between the remote control end and the target near-end device; when the bandwidth sufficiency condition is that the bandwidth is sufficient and the device priority is low priority, directly performing data transmission between the remote control end and the target near-end device.

[0046] Specifically, when the bandwidth is sufficient and the device priority is high, the system will further determine the bandwidth required for the enhanced layer corresponding to the target near-end device. Then the remaining bandwidth of the current transmission network is compared with the bandwidth required for the enhanced layer to determine the number of target enhanced layers. For example, when there is a lot of remaining bandwidth, you can stack several more enhanced layers to present ultra-high-definition, smooth video images to users, and achieve high-quality video streaming between the remote control terminal and the target near-end device. The main function of non-video devices is not video transmission, and the demand for image quality improvement is small. Therefore, when the bandwidth is sufficient and the device priority is low, the system will skip the image quality optimization process and directly carry out data transmission between the remote control terminal and the target near-end device, quickly exchanging device status information, operation feedback and other data, saving resources while meeting the basic usage scenario requirements of non-video devices.

[0047] Optionally, video stream transmission is performed based on bandwidth sufficiency and device priority, including: when the bandwidth sufficiency situation turns into insufficient bandwidth, polling each high-priority device that is transmitting in turn to determine the access time; arranging each high-priority device in order of access time from far to near to generate a high-priority transmission queue; determining the target high-priority device from the high-priority transmission queue in turn, reducing the reinforcement layer of the target high-priority device, and obtaining the corresponding update bandwidth; until the update bandwidth is greater than or equal to the target bandwidth, starting the data transmission between the remote control end and the target near-end device.

[0048] Specifically, in the case of insufficient bandwidth, in order to ensure the transmission of key video streams as much as possible, the system will take resource control measures. First, the system will poll each high-priority device that is transmitting to determine the access time. The access time can be used to determine the length of time the device occupies the transmission link, that is, the occupation of bandwidth resources by each high-priority device. Subsequently, the system will sort the devices from far to near according to the access time to generate a high-priority transmission queue. The high-priority transmission queue is a priority re-sorting, and the devices with a long access time are ranked in front, indicating that they will be given priority in subsequent adjustments, because from the perspective of balanced resource utilization, they have occupied the link for a long time and need to be adjusted first. Then, the system will take each high-priority device in the high-priority transmission queue as the target high-priority device in turn, and try to reduce its reinforcement layer, that is, the system will reduce the reinforcement layer of each high-priority device in the high-priority transmission queue in turn, and the reinforcement layer can be reduced to 0 at most. After the reinforcement layer is reduced, the bandwidth required by the device is reduced accordingly, and the corresponding update bandwidth is generated. When the update bandwidth is greater than or equal to the target bandwidth, the bandwidth condition for the new device to access is met, that is, the update bandwidth can meet the bandwidth required for the basic layer transmission of high-priority devices or the communication data transmission of low-priority devices, and the system can start data transmission between the remote control end and the target near-end device.

[0049] Optionally, after obtaining the corresponding update bandwidth, the method also includes: determining the number of reinforcement layers of each high-priority device in the high-priority transmission queue; when the number of reinforcement layers is 0 and the update bandwidth is less than the target bandwidth, adding the target near-end device to the end of the corresponding high-priority queue to be scheduled or the low-priority queue to be scheduled.

[0050] Specifically, if you traverse the entire high-priority transmission queue and find that the number of enhanced layers of all devices has been reduced to 0, and the updateable bandwidth is still less than the target bandwidth, it means that even if the high-priority devices being transmitted are reduced to the maximum extent, there is still not enough bandwidth for the target near-end device. At this time, the system will add it to the corresponding queue to be scheduled according to the priority of the target near-end device. That is, if the target near-end device itself is a high-priority device, it will be placed at the end of the high-priority queue to be scheduled. Once the bandwidth is released later, the high-priority device can obtain it first and quickly restore high-quality video stream transmission. If the target near-end device is a low-priority device, it will be added to the end of the low-priority queue to be scheduled, waiting for its turn to use the bandwidth, and then carry out relatively basic data transmission tasks.

[0051] The technical solution of the embodiment of the present invention can allocate limited bandwidth resources to high-priority target near-end devices by determining device priority, thereby ensuring the quality of video stream transmission of the device and improving the overall operating efficiency of the system. Combining layered coding technology with transmission control strategy can ensure that network emergencies, delays, and other situations can be flexibly responded to, so that the system can maintain good performance in various network environments and device combinations, and maximize the orderly communication of the system. Transmission is performed accurately according to bandwidth conditions and device priority, avoiding waste and excessive occupation of bandwidth and achieving rational use of network resources.

[0052] Embodiment 2

[0053] Figure 2 This is a flow chart of a video stream transmission method provided by the second embodiment of the present invention. This embodiment adds a specific process when a stop transmission instruction is obtained from the remote control terminal on the basis of the above-mentioned first embodiment. Figure 2 As shown, the method includes:

[0054] S210: When a transmission stop instruction is obtained from the remote control terminal, an idle bandwidth is determined based on the transmission stop instruction.

[0055] The stop transmission command is used by the remote control end to stop the data transmission of a USB near-end device that is communicating. At this time, a part of the originally occupied bandwidth will be released, that is, the idle bandwidth. That is, when the remote control end issues the stop transmission command, the system has an opportunity to reallocate bandwidth resources.

[0056] S220, determine whether there is a high-priority device to be scheduled in the high-priority queue to be scheduled, if so, execute S230, otherwise, execute S240.

[0057] S230: Determine a target scheduling device from a high priority to-be-scheduled queue based on the idle bandwidth to perform video stream transmission.

[0058] S240 , determining a target scheduling device from a low priority to-be-scheduled queue for data transmission based on idle bandwidth.

[0059] Specifically, the system gives priority to the high-priority queues to be scheduled. If there are high-priority devices to be scheduled in the queue, the system will traverse from the head to the tail of the queue to find out the devices whose existing system idle bandwidth can support their basic layer transmission, and use them as the target scheduling devices for video streaming transmission. If there are no high-priority devices to be scheduled, the system will further determine the low-priority queues to be scheduled, traverse from the head to the tail of the queue, find out the devices whose existing system remaining bandwidth can support their communication, and use them as the target scheduling devices for data transmission.

[0060] Furthermore, if there are no devices to be scheduled in the high-priority queue and the low-priority queue, the system can check whether there are any high-priority devices that are transmitting. According to the order in which they access the system, the system can gradually poll to determine whether an enhanced layer of video transmission can be added to the device until all remaining bandwidth is utilized as much as possible.

[0061] The technical solution of the embodiment of the present invention can respond to the transmission stop instruction of the remote control terminal in time and quickly adjust the transmission strategy, which reflects the high flexibility and controllability of the system. New scheduling is performed according to the idle bandwidth generated by stopping transmission, avoiding idle waste of bandwidth and maximizing bandwidth utilization. The dynamic scheduling strategy can optimize transmission according to real-time conditions, thereby improving the working efficiency and performance of the remote USB control system as a whole.

[0062] Embodiment 3

[0063] Figure 3 FIG. 1 is a schematic diagram of the structure of a video stream transmission device provided in Embodiment 3 of the present invention. Figure 3 As shown, the apparatus includes: a device priority determination module 310, which is used to obtain control instructions from the remote control end, and determine the target near-end device and its corresponding device priority based on the control instructions, wherein the device priority includes a high priority and a low priority; a bandwidth sufficiency determination module 320, which is used to determine the target bandwidth corresponding to the target near-end device, and determine the bandwidth sufficiency based on the target bandwidth, wherein the bandwidth sufficiency includes sufficient bandwidth and insufficient bandwidth; a video stream transmission module 330, which is used to transmit the video stream based on the bandwidth sufficiency and the device priority.

[0064] Optionally, the device priority determination module 310 is specifically used to: determine the target device identifier in the control instruction, and determine the target proximal device from each proximal device based on the target device identifier; determine the device type corresponding to the target proximal device, wherein the device type includes a video device and a non-video device; when the device type is a video device, determine that the device priority of the target proximal device is a high priority; when the device type is a non-video device, determine that the device priority of the target proximal device is a low priority.

[0065] Optionally, the bandwidth sufficiency determination module 320 specifically includes: a target bandwidth determination unit, which is used to: when the target near-end device is a high-priority device, use the bandwidth required for transmitting its video stream base layer as the target bandwidth; when the target near-end device is a low-priority device, use the bandwidth required for transmitting its communication data as the target bandwidth.

[0066] Optionally, the bandwidth sufficiency determination module 320 specifically includes: a bandwidth sufficiency determination unit, used to: determine the remaining bandwidth of the current transmission network; determine whether the target bandwidth is less than or equal to the remaining bandwidth, and if so, determine that the bandwidth sufficiency is sufficient; otherwise, determine that the bandwidth sufficiency is insufficient.

[0067] Optionally, the video stream transmission module 330 specifically includes: a bandwidth sufficient transmission unit, which is used to: when the bandwidth sufficient situation is that the bandwidth is sufficient and the device priority is high priority, determine the required bandwidth of the enhancement layer corresponding to the target near-end device, and determine the target enhancement layer number of the target near-end device according to the remaining bandwidth and the required bandwidth of the enhancement layer, so as to perform video stream transmission between the remote control end and the target near-end device; when the bandwidth sufficient situation is that the bandwidth is sufficient and the device priority is low priority, directly perform data transmission between the remote control end and the target near-end device.

[0068] Optionally, the video stream transmission module 330 specifically includes: a bandwidth insufficient transmission unit, which is used to: when the bandwidth is sufficient or the bandwidth is insufficient, poll each high-priority device that is transmitting in turn to determine the access time; arrange each high-priority device in order of access time from far to near to generate a high-priority transmission queue; determine the target high-priority device from the high-priority transmission queue in turn, reduce the reinforcement layer of the target high-priority device, and obtain the corresponding update bandwidth; until the update bandwidth is greater than or equal to the target bandwidth, start the data transmission between the remote control end and the target near-end device.

[0069] Optionally, the device also includes: a queue generation module to be scheduled, which is used to determine the number of reinforcement layers of each high-priority device in the high-priority transmission queue after obtaining the corresponding update bandwidth; when the number of reinforcement layers is 0 and the update bandwidth is less than the target bandwidth, the target near-end device is added to the end of the corresponding high-priority queue to be scheduled or the low-priority queue to be scheduled.

[0070] Optionally, the device also includes: a stop transmission module, which is used to: when a stop transmission instruction is obtained from the remote control end, determine the idle bandwidth based on the stop transmission instruction; determine whether there is a high-priority device to be scheduled in the high-priority queue to be scheduled, and if so, determine the target scheduling device from the high-priority queue to be scheduled for video stream transmission based on the idle bandwidth; otherwise, determine the target scheduling device from the low-priority queue to be scheduled for data transmission based on the idle bandwidth.

[0071] The technical solution of the embodiment of the present invention can allocate limited bandwidth resources to high-priority target near-end devices by determining device priority, thereby ensuring the quality of video stream transmission of the device and improving the overall operating efficiency of the system. Combining layered coding technology with transmission control strategy can ensure that network emergencies, delays, and other situations can be flexibly responded to, so that the system can maintain good performance in various network environments and device combinations, and maximize the orderly communication of the system. Transmission is performed accurately according to bandwidth conditions and device priority, avoiding waste and excessive occupation of bandwidth and achieving rational use of network resources.

[0072] A video stream transmission device provided in an embodiment of the present invention can execute a video stream transmission method provided in any embodiment of the present invention, and has functional modules and beneficial effects corresponding to the execution method.

[0073] Embodiment 4

[0074] Figure 4 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0075] like Figure 4As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. The input / output (I / O) interface 15 is also connected to the bus 14.

[0076] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0077] The processor 11 may be a variety of general and / or dedicated processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs the various methods and processes described above, such as a video streaming method.

[0078] In some embodiments, a video streaming method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the video streaming method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform a video streaming method in any other appropriate manner (e.g., by means of firmware).

[0079] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0080] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0081] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0082] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0083] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0084] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0085] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0086] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A video stream transmission method, characterized in that: Applied to a remote USB control system, comprising: a remote control terminal and various proximal devices, the method comprises: Acquire a control instruction from a remote control terminal, and determine a target proximal device and its corresponding device priority based on the control instruction, wherein the device priority includes a high priority and a low priority; Determine a target bandwidth corresponding to the target near-end device, and determine a bandwidth sufficiency condition according to the target bandwidth, wherein the bandwidth sufficiency condition includes sufficient bandwidth and insufficient bandwidth; The video stream is transmitted according to the bandwidth sufficiency and the device priority.

2. The method according to claim 1, characterized in that The determining the target proximal device and its corresponding device priority based on the control instruction includes: Determine a target device identifier in the control instruction, and determine a target proximal device from each of the proximal devices according to the target device identifier; Determine a device type corresponding to the target proximal device, wherein the device type includes a video device and a non-video device; When the device type is a video device, determining that the device priority of the target near-end device is a high priority; When the device type is a non-video device, the device priority of the target near-end device is determined to be a low priority.

3. The method according to claim 1, characterized in that The determining a target bandwidth corresponding to the target near-end device includes: When the target near-end device is a high-priority device, the bandwidth required for transmitting the base layer of its video stream is used as the target bandwidth; When the target near-end device is a low-priority device, the bandwidth required for transmitting its communication data is used as the target bandwidth.

4. The method according to claim 3, characterized in that The determining of bandwidth sufficiency according to the target bandwidth includes: Determine the remaining bandwidth of the current transmission network; Determine whether the target bandwidth is less than or equal to the remaining bandwidth, and if so, determine that the bandwidth is sufficient; Otherwise, it is determined that the bandwidth is sufficient or the bandwidth is insufficient.

5. The method according to claim 4, characterized in that The transmitting of the video stream according to the bandwidth sufficiency and the device priority includes: When the bandwidth sufficiency condition is that the bandwidth is sufficient and the device priority is a high priority, determining the required bandwidth of the enhancement layer corresponding to the target near-end device, and determining the target number of enhancement layers of the target near-end device according to the remaining bandwidth and the required bandwidth of the enhancement layer, so as to perform video stream transmission between the remote control terminal and the target near-end device; When the bandwidth sufficiency condition is that the bandwidth is sufficient and the device priority is low priority, data transmission is directly performed between the remote control end and the target near-end device.

6. The method according to claim 4, characterized in that The transmitting of the video stream according to the bandwidth sufficiency and the device priority includes: When the bandwidth sufficiency condition is insufficient bandwidth, polling each high-priority device that is transmitting in sequence to determine an access time; Arrange the high-priority devices in order of access time from far to near to generate a high-priority transmission queue; sequentially determining a target high priority device from the high priority transmission queue, reducing a reinforcement layer of the target high priority device, and acquiring a corresponding update bandwidth; When the update bandwidth is greater than or equal to the target bandwidth, data transmission between the remote control terminal and the target near-end device is started.

7. The method according to claim 6, characterized in that After obtaining the corresponding update bandwidth, the method further includes: Determining the number of enhancement layers of each high priority device in the high priority transmission queue; When the number of the enhanced layers is all 0 and the updated bandwidth is less than the target bandwidth, the target near-end device is added to the tail of the corresponding high-priority queue to be scheduled or the low-priority queue to be scheduled.

8. The method according to claim 7, characterized in that The method further comprises: When a transmission stop instruction is obtained from the remote control terminal, determining the idle bandwidth based on the transmission stop instruction; Determine whether there is a high-priority device to be scheduled in the high-priority queue to be scheduled, and if so, determine a target scheduling device from the high-priority queue to be scheduled for video stream transmission based on the idle bandwidth; Otherwise, a target scheduling device is determined from the low priority to-be-scheduled queue based on the idle bandwidth for data transmission.

9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively coupled to the at least one processor; The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method according to any one of claims 1 to 8.

10. A computer storage medium, characterized in that: The computer storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method according to any one of claims 1 to 8 when executed.

Citation Information

Patent Citations

  • Flow control method and system, and centralized controller

    CN106452958A

  • Coding and forwarding methods and devices of video data, equipment and storage medium

    CN109618188A

  • Methods and systems for video streaming

    CN109937578A

  • Operation control method and device, household appliance and storage medium

    CN110855536A

  • Data transmission method, equipment, storage medium and system

    CN116155832A