A system and method for multi-camera remote wireless backhaul based on UAC and UVC
By constructing a USB combo device and dynamically adjusting the bandwidth, the problem that only one camera can be displayed in the remote wireless communication system of UAC and UVC devices was solved, realizing the designated control of multiple cameras and improving operating efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN BAYUE SOFTWARE CO LTD
- Filing Date
- 2026-02-28
- Publication Date
- 2026-06-05
AI Technical Summary
Existing UAC and UVC remote wireless communication systems can only display one camera on the PC host, and when multiple cameras are connected, the user cannot specify which camera to turn on, resulting in a degraded user experience.
By building a module to parse Configfs configuration and generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors, a USB combo device is constructed. The total bandwidth is dynamically adjusted by Dongle's CPU utilization and UVC packet loss rate to control the opening and closing of multiple UVCs.
It enables the display of multiple UVC cameras on a PC host and ensures the operating efficiency and user experience of UVC by dynamically adjusting bandwidth control.
Smart Images

Figure CN122160560A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication technology for UAC and UVC devices, and particularly to a system and method for remote wireless backhaul of multiple cameras based on UAC and UVC. Background Technology
[0002] The UAC and UVC remote wireless communication system includes: a PC host, a dongle, a receiver, and UAC, UVC, HID, and TV devices connected to the receiver. The dongle includes hardware: a USB-C interface, a screen mirroring button, WiFi, and a connection button, as well as functional modules: a first signaling module, a screen mirroring transmission module, and a USB combination device module. The receiver RX includes hardware: a USB interface, an HDMI interface, and WiFi, and functional modules: a second signaling module, a screen mirroring receiving module, and a USB control module.
[0003] The aforementioned remote wireless communication system sets up a USB combo device module in the Dongle. This USB combo device is used to request a USB combo device descriptor from the receiver RX via signaling control to construct the combo device. It creates a transmission channel between the USB combo device and the USB control function module of the receiver RX. This transmission channel is used for the transmission of USB control signaling and USB media information. This channel includes USB control and USB media channels, and the USB media channel includes camera media, speaker media, and MIC media channels, thus realizing the remote wireless transmission of screen projection media data.
[0004] However, existing UAC and UVC remote wireless communication systems can only display one camera on the PC host, and when multiple cameras are connected, the user cannot open the specified camera, which reduces the user experience. Summary of the Invention
[0005] In existing UAC and UVC remote wireless communication systems, USB combination devices can only display one camera on the PC host. Furthermore, when multiple cameras are connected, the user cannot open the specified camera, which degrades the user experience.
[0006] To address the aforementioned issues, a system and method for remote wireless backhaul of multiple cameras based on UAC and UVC are proposed. By utilizing a building module to parse Configfs configuration and generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors, a USB combined device is constructed. This allows multiple UVCs (cameras) to be displayed on a PC host, thereby enabling control of a specified UVC (camera). By dynamically adjusting the total bandwidth between the dongle and the receiver RX based on the dongle's CPU utilization and the UVC's packet loss rate, the system controls the shutdown of multiple UVCs, ensuring the efficient operation of the UVCs.
[0007] Firstly, a multi-camera remote wireless backhaul system based on UAC and UVC includes: PC host, dongle, and receiver; The PC host is connected to the dongle via a USB-C interface, and the dongle is wirelessly connected to the receiver. The receiver is used to connect to UAC, HID, TV and multiple UVC; The dongle includes: The building module is used to generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors by parsing Configfs configuration, and to build USB combo devices based on the device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors; The multi-UVC control module is used to dynamically adjust the total bandwidth between the dongle and the receiver RX based on the CPU utilization of the dongle and the packet loss rate of the UVC, and to control the number of UVCs that are opened simultaneously based on the total bandwidth. The receiver RX includes a USB control module; The USB combination device is used to create a transmission channel between the dongle and the receiver's USB control module, the transmission channel being used for the transmission of USB control signaling from the USB control module and the return data from the plurality of UVCs. The transmission channel includes a USB control channel and multiple media channels.
[0008] In conjunction with the multi-camera remote wireless backhaul system based on UAC and UVC described in the first aspect of the present invention, in a first possible implementation, the building module includes: The parsing unit is used to parse the Configfs configuration and generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors. The first generation unit is used to call usb_composite_driver_alloc using the device descriptor to generate the driver handle of the USB composite device; The calling unit is used to call usb_add_config configuration using the driver handle of the USB combo device and the configuration descriptor; The second generation unit is used to generate the current UVC function driving parameters and allocate port resources using the UVC interface description, UVC endpoint descriptor and UVC specific descriptor. An add unit is used to add the current UVC functionality to the USB combo device by calling usb_add_function; The registration unit is used to call usb_composite_probe to register multiple UVCs on the USB composite device.
[0009] In conjunction with the first possible implementation of the first aspect of the present invention, in a second possible implementation, the step of adding the current UVC function to the USB combo device by calling usb_add_function includes: The current UVC Name, Function Type, UVC Flow Control Parameters, and Video Format Add to the USB combo device. The UVC flow control parameters include: Transmission interval, maximum number of burst packets, maximum number of bytes per data packet, and PC host display name.
[0010] In conjunction with the first possible embodiment of the first aspect of the present invention, in a third possible embodiment, the multi-UVC control module includes: The detection unit is used to periodically detect the packet loss rate of all UVCs in the system. The first adjustment unit is used to adjust the total bandwidth between the dongle and the receiver RX when the packet loss rate is greater than a predetermined threshold.
[0011] In conjunction with the third possible embodiment of the first aspect of the present invention, in the fourth possible embodiment, the multi-UVC control module further includes: The comparison unit is used to compare the adjusted total bandwidth with a specified threshold. The second adjustment unit is used to shut down UVC according to priority after the total bandwidth after adjustment is less than a specified threshold.
[0012] Secondly, a method for remote wireless backhaul of multiple cameras based on UAC and UVC, using the system for remote wireless backhaul of multiple cameras based on UAC and UVC described in the first aspect, includes: Step 100: Generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors by parsing the Configfs configuration, and construct a USB combo device based on the device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors; Step 200: Use the USB combination device to create a transmission channel between the Dongle and the USB control module of the receiver, and use the transmission channel to transmit the USB control signaling of the USB control module and the return data of the multiple UVCs. Step 300: Obtain the current packet loss rate of the system, dynamically adjust the total bandwidth between the dongle and the receiver RX, and control the number of UVCs that are opened simultaneously according to the total bandwidth; The transmission channel includes a USB control channel and multiple media channels.
[0013] In conjunction with the multi-camera remote wireless backhaul method based on UAC and UVC described in the second aspect of the present invention, in a first possible implementation, step 100 includes: Step 110: Parse the Configfs configuration to generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors; Step 120: Use the device descriptor to call usb_composite_driver_alloc to generate the driver handle for the USB composite device; Step 130: Use the driver handle of the USB combo device and the configuration descriptor to call usb_add_config for configuration; Step 140: Use the UVC interface description, UVC endpoint descriptor, and UVC specific descriptor to generate the current UVC function driver parameters and allocate port resources; Step 150: Add the current UVC functionality to the USB combo device by calling usb_add_function; Step 160: Call usb_composite_probe to register multiple UVCs on the USB composite device.
[0014] In conjunction with the first possible embodiment of the second aspect of the present invention, in the second possible embodiment, step 150 includes: Step 151: Obtain the name, function type, UVC flow control parameters, and video format of the current UVC; Step 152: Add the current UVC name, function type, UVC flow control parameters, and video format to the USB combo device. The UVC flow control parameters include: Transmission interval, maximum number of burst packets, maximum number of bytes per data packet, and PC host display name.
[0015] In conjunction with the first possible embodiment of the second aspect of the present invention, in the third possible embodiment, step 300 includes: Step 310: Periodically detect the packet loss rate of all UVCs in the system; Step 320: When the packet loss rate is greater than a specified threshold, adjust the total bandwidth between the Dongle and the receiver RX.
[0016] In conjunction with the third possible implementation of the second aspect of the present invention, in the fourth possible implementation, step 300 further includes: Step 330: Compare the adjusted total bandwidth with the specified threshold; Step 340: After the adjusted total bandwidth is less than the specified threshold, turn off UVC according to priority.
[0017] The system and method for remote wireless backhaul of multiple cameras based on UAC and UVC, which implements the present invention, utilizes a construction module to generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors by parsing Configfs configuration to construct a USB combined device. This allows multiple UVCs (cameras) to be displayed on a PC host, thereby enabling control of a specified UVC (camera). By dynamically adjusting the total bandwidth between the dongle and the receiver RX based on the CPU utilization of the dongle and the packet loss rate of the UVC, the system controls the shutdown of multiple UVCs, ensuring the operating efficiency of the UVCs. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1This is a schematic diagram of the structure of a multi-camera remote wireless backhaul system based on UAC and UVC in this invention; Figure 2 This is a schematic diagram of the backhaul principle of a multi-camera remote wireless backhaul based on UAC and UVC in this invention. Figure 3 This is a schematic diagram of one embodiment of a multi-camera remote wireless backhaul method based on UAC and UVC in this invention. Figure 4 for Figure 3 A schematic diagram of a specific implementation of step 100 in the diagram; Figure 5 for Figure 4 A schematic diagram of a specific implementation of step 150 in the diagram; Figure 6 for Figure 3 A schematic diagram of a specific implementation of step 300 in the process; Figure 7 for Figure 6 A schematic diagram of a specific implementation method following step 320. Detailed Implementation
[0020] The technical solutions of this invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. Other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are all within the scope of protection of this invention.
[0021] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0022] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein in the specification of the application is for the purpose of describing particular embodiments only and is not intended to limit the application; the terms “comprising” and “having”, and any variations thereof, in the specification, claims, and foregoing description of the drawings of this application are intended to cover non-exclusive inclusion.
[0023] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, "multiple" means two or more, unless otherwise explicitly specified.
[0024] Glossary PC stands for Personal Computer. USB stands for Universal Serial Bus. UAC stands for USB Audio Class. UVC stands for USB Video Class. USB-C stands for USB Type-C. HID stands for Human Interface Device, which is a device that allows human-computer interaction. Camera, also known as a webcam. Speaker means loudspeaker; MIC stands for microphone; A WIFI AP stands for WIFI Access Point, which is a WIFI access point. WIFI STA stands for WIFI Station, which means WIFI client.
[0025] Existing UAC and UVC remote wireless communication systems can only display one camera on the PC host, and when multiple cameras are connected, the user cannot open the specified camera, which reduces the user experience.
[0026] To address the aforementioned issues, a system and method for remote wireless backhaul of multiple cameras based on UAC and UVC are proposed.
[0027] Firstly, a multi-camera remote wireless backhaul system based on UAC and UVC, such as... Figure 1 , Figure 1This is a schematic diagram of a multi-camera remote wireless backhaul system based on UAC and UVC according to the present invention; it includes a PC host, a dongle, and a receiver; the PC host and the dongle are connected via a USB-C interface, and the dongle is wirelessly connected to the receiver; the receiver is used to connect UAC, HID, TV, and multiple UVC; the dongle includes a construction module and a multi-UVC control module, the construction module is used to generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors by parsing Configfs configuration, and then... A USB combined device is constructed using port descriptors, UVC endpoint descriptors, and UVC-specific descriptors; a multi-UVC control module is used to dynamically adjust the total bandwidth between the dongle and the receiver RX based on the dongle's CPU utilization and UVC packet loss rate, and to control the number of UVCs opened simultaneously based on the total bandwidth; the receiver RX includes a USB control module; the USB combined device is used to create a transmission channel between the dongle and the receiver's USB control module, the transmission channel is used for the transmission of USB control signaling from the USB control module and the return data from the multiple UVCs, the transmission channel includes a USB control channel and multiple media channels.
[0028] In this embodiment, since the CPU processing power of Dongle and the bandwidth between it and RX are limited, the number of UVC cameras that the PC can normally open is determined based on the CPU utilization and the packet loss rate of UVC transmission. When a new UVC camera is opened, if there is insufficient resources, an error will be reported directly to ensure that the UVC cameras that have been opened are working normally. When multiple UVC cameras have been opened, if there is insufficient bandwidth, the UVC cameras need to be closed from low to high according to the UVC priority configured in RX to ensure that the cameras with high UVC priority work normally.
[0029] In this embodiment, the building modules and multi-UVC control modules in the Dongle are functional modules. To realize the remote wireless backhaul function, the Dongle also includes some functional modules, such as the Dongle signaling module and the Dongle screen projection module. The Dongle signaling module is responsible for establishing and maintaining the signaling channel with the receiver RX and for signaling processing between the Dongle and the receiver RX. The Dongle screen projection module is used to encode the audio and video data received from the PC via the USB-C interface and send it to the receiver RX via the screen projection media channel on the wireless channel. It also receives the HID device information of the receiver RX from the screen projection media channel to create an HID device and sends the received HID message to the PC via the USB-C interface.
[0030] In addition, the dongle provides a USB-C interface, a screen mirroring button, and a WIFI hardware interface. The USB-C interface is used for the PC to power the dongle and for the PC to send audio and video data to the dongle. The WIFI hardware interface operates in WIFI STA mode and actively connects to the receiver RX. The wireless channel of the WIFI hardware interface carries signaling and screen mirroring media.
[0031] In this embodiment, the receiver RX provides a USB interface, an HDMI output interface, and a WIFI hardware interface. The receiver RX includes an RX signaling module and an RX screen projection receiving module. The RX signaling module is responsible for managing the signaling channel established by the Dongle and for signaling processing between the receiver RX and the Dongle. The RX screen projection receiving module receives the Dongle-encoded audio data from the screen projection media channel (transmission channel) on the wireless channel, parses and converts it into HDMI output, manages the HID device, and sends HID device information and HID messages to the screen projection media channel. The USB-C interface is also used to present the aforementioned USB combination devices to the PC; the wireless channel of the WIFI hardware interface also carries USB control, camera media, speaker media and MIC media channels; the dongle is also used to connect to the button hardware interface; and the button hardware interface has the function of enabling preemptive USB connection and fallback disconnection.
[0032] In one possible implementation, the building module includes: The system comprises the following components: a parsing unit for parsing the Configfs configuration and generating device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC-specific descriptors; a first generation unit for using the device descriptor to call usb_composite_driver_alloc to generate a driver handle for the USB composite device; a calling unit for using the USB composite device's driver handle and configuration descriptor to call usb_add_config for configuration; a second generation unit for using the UVC interface descriptor, UVC endpoint descriptor, and UVC-specific descriptor to generate the current UVC's function driver parameters and allocate port resources; an adding unit for adding the current UVC's functionality to the USB composite device by calling usb_add_function; and a registration unit for calling usb_composite_probe to register multiple UVCs with the USB composite device.
[0033] In this embodiment, the USB device descriptor (attrs module) defines the core identifier and basic parameters of the USB combo device, such as the USB version number (512=0x0200, i.e., USB 2.0), device class (239=0xEF, representing a hybrid / combination device), device subclass (2=0x02, USB 2.0 composite device), and device protocol (1=0x01, IAD interface association descriptor), which tells the USB host "This is a USB2 combo device, which is the 'identity card' of the USB combo device."
[0034] The character descriptor defines the device's readable name, manufacturer information, etc., which is displayed when the USB host identifies the device. For example, the language code (1033=0x0409, American English), manufacturer name (displayed on the host), product name (displayed on the host), and device serial number (unique identifier). When the system identifies the device, it will display the manufacturer and product names here to improve device recognition.
[0035] The configuration descriptor defines the configuration set of the USB device, "combining" the multiple UVC functions defined above into a complete device configuration. It can also define whether the USB combo device needs power from the PC host and its power consumption.
[0036] In one possible implementation, the current UVC functionality is added to the USB combo device by calling usb_add_function, including adding the current UVC name, function type, UVC flow control parameters, and video format (format type mjpeg=MJPEG compression format, commonly used by cameras) to the USB combo device. The UVC flow control parameters include: transmission interval, maximum number of burst packets, maximum number of bytes per data packet, and PC host display name.
[0037] In this implementation, the independent configuration for each UVC camera, i.e., each UVC function (each uvc_usbX corresponds to an independent camera), includes: Camera function name (unique identifier) Function type (uvc = USB video class, i.e., camera) The camera flow control configuration includes the transmission interval (1 = 125µs, USB isochronous transmission interval). Maximum burst packet count (USB 3.0 feature, improving transmission efficiency); Maximum number of bytes per packet (determines single-frame transmission efficiency) and camera name (Room Camera-n, displayed on the host). Each uvc_usbX defines an independent camera, including its transmission parameters (packet size, interval) and video capabilities (resolution, frame rate, format); when the host identifies it, it will see multiple independent camera devices such as "Room Camera-0" and "Room Camera-1".
[0038] In one possible implementation, the multi-UVC control module includes: a detection unit for periodically detecting the packet loss rate of all current UVCs in the system; and a first adjustment unit for adjusting the total bandwidth between the dongle and the receiver RX when the packet loss rate exceeds a predetermined threshold.
[0039] In this embodiment, it is necessary to periodically detect packet loss rate and adjust bandwidth accordingly. static void packet_loss_check_timer(struct timer_list *t) { struct resource_manager *rm = from_timer(rm, t, check_timer); mutex_lock(&rm->lock); Update the current packet loss rate (in actual scenarios, it is necessary to connect to the media channel statistics interface): rm->current_packet_loss = get_packet_loss_rate(); / / The actual packet loss rate acquisition logic needs to be implemented; If the packet loss rate exceeds the threshold, dynamically reduce the total bandwidth. if (rm->current_packet_loss > MIN_PACKET_LOSS_THRESHOLD) { u64 new_total_bw = rm->total_bandwidth * (100 - BANDWIDTH_ADJUST_STEP) / 100.
[0040] In one possible implementation, the multiUVC control module further includes: The comparison unit is used to compare the adjusted total bandwidth with a specified threshold. The second adjustment unit is used to shut down UVC according to priority when the total bandwidth after adjustment is less than a specified threshold.
[0041] In this embodiment, low-priority cameras are turned off when bandwidth is insufficient: close_low_priority_cameras().
[0042] In this embodiment, Dongle determines the number of UVC (Camera) cameras that can be opened simultaneously based on its own capabilities, including USB bandwidth, CPU capacity, and media channel bandwidth.
[0043] In the embodiments of this application, such as Figure 2 , Figure 2 This is a schematic diagram illustrating the backhaul principle of a multi-camera remote wireless backhaul based on UAC and UVC in this invention. The principle is as follows: 1. Create a signaling channel between the dongle and the receiver RX; 2. Establish a USB connection between the dongle and the receiver RX. When the RX receives a USB connection request, it performs preemptive connection processing: (1) RX without Dongle connection: Open the USB interface to connect one UAC device, one HID device and multiple UVC devices. Generate a request response according to the UVC policy based on the request information and send it to the Dongle. The request response includes the response code, USB combined device description, number of endpoints used and endpoint information array (endpoint information includes endpoint number, type, receiving port, camera name, and types such as USB control data, MIC data, speaker data and camera data). Create a media data channel between the MIC, one speaker and multiple cameras and the Dongle. Read MIC data from the UAC device and send it to the MIC media channel. Read speaker data from the speaker media data channel and write it to the UAC device. Read camera data from the UVC device and send it to the camera media channel. The camera endpoint number, camera media channel receiving port and camera name correspond one-to-one with the UVC device to distinguish different UVC devices.
[0044] (2) RX has a Dongle connection: Send a USB change message to the connected Dongle to shut down the USB combo device; after receiving the Dongle change message response, shut down the media channel transmission and reception of the connected Dongle; generate a request response according to the UVC policy based on the request information and send it to the newly connected Dongle; create a new Dongle media channel for transmission and reception; 3. Create USB control and media channels; The build module in Dongle generates device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors by parsing the Configfs configuration. It then constructs a USB combo device based on these descriptors and constructs corresponding media channel read / write operations and media channel transmit / receive operations for the USB combo device based on the endpoint information array. 4. Circular data transmission and reception; 1) The USB control channel between the Dongle and RX is bidirectional; the Dongle reads control information from the USB combo device 0 endpoint, encapsulates it into a control message and sends it to the RX. After receiving and parsing the control message, the RX sends it to the corresponding UAC or UVC device and feeds back the operation result to the Dongle; the Dongle identifies and opens the specified UVC based on the endpoint number.
[0045] 2) Enable one microphone, one speaker, and multiple UACs (Cameras) via the USB control channel; the number of UVCs (Cameras) that can be enabled simultaneously depends on the capabilities of the dongle, including USB bandwidth, CPU capacity, and media channel bandwidth. 3) Based on the opened media channel, continuously send and receive screen-cast media data from one microphone, one speaker, and multiple UVCs (Cameras). The media channel receiver needs to perform RTP sorting, and the dongle side also needs to perform audio and video synchronization control. The following is the main process for sending and receiving various media data: (1) RX reads MIC data from the corresponding endpoint of MIC data, encapsulates it into an RTP packet, and sends it to Dongle from the MIC data channel. Dongle receives the RTP packet, parses the RTP packet, and writes it to the corresponding endpoint of the USB combo device MIC. (2) Dongle reads the Speaker data from the endpoint corresponding to the Speaker data, encapsulates it into an RTP packet, and sends it to the RX from the Speaker data channel. The RX receives the RTP packet, parses the RTP packet, and writes it to the endpoint corresponding to the Speaker data. (3) RX reads UVC (Camera) data from the corresponding endpoint of UVC (Camera) data, encapsulates it into an RTP packet, and sends it to Dongle from the UVC (Camera) data channel. Dongle receives the RTP packet, parses the RTP packet, and writes it to the corresponding endpoint of the USB combination device UVC (Camera). 4) USB control channel control operation: (1) MIC and Speaker mute / unmute; (2) Adjusting the volume of the microphone and speaker; (3) UVC (Camera) movement and zoom, etc.; (4) Adjustment of UVC (Camera) contrast, brightness, etc.; 5) Turn off the MIC, Speaker, and Camera via the USB control channel; 5. USB change notification; 1) When a USB connection request is preempted, a USB disconnection request is rolled back, or a USB update is performed on the RX, a USB change notification is sent to the Dongle. The change notification includes the message type, USB combination device description, number of endpoints used, and endpoint information array information; the change type includes connection, disconnection, and connection update. 2) Dongle receives the USB change notification from RX, processes the USB combo device according to the change type, and sends a response to RX; 3) When RX receives Dongle's USB change notification response and returns a success code, it processes USB endpoint reading and media channel transmission and reception according to the change type; 6. USB connection lost; 1) Dongle's connection button: Press the connection button while the device is in connection mode; 2) Dongle sends a USB disconnect request to RX; 3) When RX receives a disconnection request, it performs a fallback disconnection process. (1) When there is no Dongle connection, disable the reading and writing of the corresponding endpoints of MIC data, Speaker data and UVC (Camera) data of UAC and UVC devices and the corresponding media channel transmission and reception, disable UAC, UVC and HID devices, and send a USB disconnect request response to Dongle; (2) When a dongle is connected, disable media channel transmission and reception, send a USB disconnect request response to the requested dongle; send a USB change message to the previous USB-connected dongle to enable the USB combo device, and after receiving the response, create a media channel for transmission and reception; 4) When Dongle receives a disconnect request response from the RX, a success code indicates that the USB disconnection was successful; 7. Turn off USB control and media channels; The dongle disables the USB media channel, USB control channel, and USB combo device. 8. Signaling channel closed; The signaling channel is closed when there is neither screen mirroring nor a USB combo device on the dongle.
[0046] In this embodiment, a USB combo device is constructed by using a building module to parse Configfs configuration to generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors. This allows multiple UVCs (cameras) to be displayed on the PC host, thereby enabling control of a specified UVC (camera). By dynamically adjusting the total bandwidth between the dongle and the receiver RX based on the dongle's CPU utilization and the UVC's packet loss rate, the shutdown of multiple UVCs is controlled, ensuring the operating efficiency of the UVCs.
[0047] Secondly, a method for remote wireless backhaul of multiple cameras based on UAC and UVC, such as... Figure 3 , Figure 3 This is a schematic diagram of one embodiment of a multi-camera remote wireless backhaul method based on UAC and UVC according to the present invention; the system using the first aspect of the multi-camera remote wireless backhaul based on UAC and UVC includes: Step 100: Generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC-specific descriptors by parsing the Configfs configuration, and construct a USB combo device based on these descriptors. Step 200: Create a transmission channel between the dongle and the receiver's USB control module using the USB combo device, and transmit USB control signaling from the USB control module and return data from the multiple UVCs using this transmission channel. Step 300: Obtain the system's current packet loss rate, dynamically adjust the total bandwidth between the dongle and the receiver RX, and control the number of UVCs opened simultaneously based on the total bandwidth. The transmission channel includes a USB control channel and multiple media channels.
[0048] In one possible implementation, such as Figure 4 , Figure 4 for Figure 3A schematic diagram of a specific implementation of step 100 is shown below; step 100 includes: step 110, parsing the Configfs configuration to generate a device descriptor, character descriptor, configuration descriptor, UVC interface descriptor, UVC endpoint descriptor, and UVC-specific descriptor; step 120, using the device descriptor to call usb_composite_driver_alloc to generate a driver handle for the USB composite device; step 130, using the driver handle and configuration descriptor of the USB composite device to call usb_add_config to configure; step 140, using the UVC interface descriptor, UVC endpoint descriptor, and UVC-specific descriptor to generate the function driver parameters for the current UVC and allocate port resources; step 150, adding the functionality of the current UVC to the USB composite device by calling usb_add_function; step 160, calling usb_composite_probe to register multiple UVCs on the USB composite device.
[0049] In one possible implementation, such as Figure 5 , Figure 5 for Figure 4 A schematic diagram of a specific implementation of step 150 is shown below; step 150 includes: step 151, obtaining the name, function type, UVC flow control parameters and video format of the current UVC; step 152, adding the name, function type, UVC flow control parameters and video format of the current UVC to the USB combo device, wherein the UVC flow control parameters include transmission interval, maximum number of burst packets, maximum number of bytes per data packet and PC host display name.
[0050] In one possible implementation, such as Figure 6 , Figure 6 for Figure 3 A schematic diagram of a specific implementation of step 300 is shown; step 300 includes step 310, periodically detecting the packet loss rate of all UVCs in the system; step 320, when the packet loss rate is greater than a specified threshold, adjusting the total bandwidth between the Dongle and the receiver RX.
[0051] In one possible implementation, such as Figure 7 , Figure 7 for Figure 6 A schematic diagram of a specific implementation following step 320 is shown. Step 300 also includes step 330, comparing the adjusted total bandwidth with a predetermined threshold; and step 340, after the adjusted total bandwidth is less than the predetermined threshold, shutting down UVC according to priority.
[0052] The system and method for remote wireless backhaul of multiple cameras based on UAC and UVC, which implements the present invention, utilizes a construction module to generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors by parsing Configfs configuration to construct a USB combined device. This allows multiple UVCs (cameras) to be displayed on a PC host, thereby enabling control of a specified UVC (camera). By dynamically adjusting the total bandwidth between the dongle and the receiver RX based on the CPU utilization of the dongle and the packet loss rate of the UVC, the system controls the shutdown of multiple UVCs, ensuring the operating efficiency of the UVCs.
[0053] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A multi-camera remote wireless backhaul system based on UAC and UVC, characterized in that it includes: PC host, dongle, and receiver; The PC host is connected to the dongle via a USB-C interface, and the dongle is wirelessly connected to the receiver. The receiver is used to connect to UAC, HID, TV and multiple UVC; The dongle includes: The building module is used to generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors by parsing Configfs configuration, and to build USB combo devices based on the device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors; The multi-UVC control module is used to dynamically adjust the total bandwidth between the dongle and the receiver based on the dongle's CPU utilization and the UVC's packet loss rate, and to control the number of UVCs that are opened simultaneously based on the total bandwidth. The receiver includes a USB control module; The USB combination device is used to create a transmission channel between the dongle and the receiver's USB control module, the transmission channel being used for the transmission of USB control signaling from the USB control module and the return data from the plurality of UVCs. The transmission channel includes a USB control channel and multiple media channels.
2. The multi-camera remote wireless backhaul system based on UAC and UVC according to claim 1, characterized in that, The building module includes: The parsing unit is used to parse the Configfs configuration and generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors. The first generation unit is used to call usb_composite_driver_alloc using the device descriptor to generate the driver handle of the USB composite device; The calling unit is used to call usb_add_config configuration using the driver handle of the USB combo device and the configuration descriptor; The second generation unit is used to generate the current UVC function driving parameters and allocate port resources using the UVC interface description, UVC endpoint descriptor and UVC specific descriptor. An add unit is used to add the current UVC functionality to the USB combo device by calling usb_add_function; The registration unit is used to call usb_composite_probe to register multiple UVCs on the USB composite device.
3. The multi-camera remote wireless backhaul system based on UAC and UVC according to claim 2, characterized in that, The step of adding the current UVC functionality to the USB combo device by calling usb_add_function includes: The current UVC Name, Function Type, UVC Flow Control Parameters, and Video Format Add to the USB combo device. The UVC flow control parameters include: Transmission interval, maximum number of burst packets, maximum number of bytes per data packet, and PC host display name.
4. The system for remote wireless backhaul of multiple cameras based on UAC and UVC according to claim 1, characterized in that, The multi-UVC control module includes: The detection unit is used to periodically detect the packet loss rate of all UVCs in the system. The first adjustment unit is used to adjust the total bandwidth between the dongle and the receiver when the packet loss rate is greater than a predetermined threshold.
5. The multi-camera remote wireless backhaul system based on UAC and UVC according to claim 4, characterized in that, The multi-UVC control module also includes: The comparison unit is used to compare the adjusted total bandwidth with a specified threshold. The second adjustment unit is used to shut down UVC according to priority after the total bandwidth after adjustment is less than a specified threshold.
6. A method for remote wireless backhaul of multiple cameras based on UAC and UVC, using the system for remote wireless backhaul of multiple cameras based on UAC and UVC as described in any one of claims 1-5, characterized in that, include: Step 100: Generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors by parsing the Configfs configuration, and construct a USB combo device based on the device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors; Step 200: Use the USB combination device to create a transmission channel between the Dongle and the USB control module of the receiver, and use the transmission channel to transmit the USB control signaling of the USB control module and the return data of the multiple UVCs. Step 300: Obtain the current packet loss rate of the system, dynamically adjust the total bandwidth between the dongle and the receiver, and control the number of UVCs that are opened simultaneously according to the total bandwidth; The transmission channel includes a USB control channel and multiple media channels.
7. The method for remote wireless backhaul of multiple cameras based on UAC and UVC according to claim 6, characterized in that, Step 100 includes: Step 110: Parse the Configfs configuration to generate device descriptors, character descriptors, configuration descriptors, UVC interface descriptors, UVC endpoint descriptors, and UVC specific descriptors; Step 120: Use the device descriptor to call usb_composite_driver_alloc to generate the driver handle for the USB composite device; Step 130: Use the driver handle of the USB combo device and the configuration descriptor to call usb_add_config for configuration; Step 140: Use the UVC interface description, UVC endpoint descriptor, and UVC specific descriptor to generate the current UVC function driver parameters and allocate port resources; Step 150: Add the current UVC functionality to the USB combo device by calling usb_add_function; Step 160: Call usb_composite_probe to register multiple UVCs on the USB composite device.
8. The method for remote wireless backhaul of multiple cameras based on UAC and UVC according to claim 7, characterized in that, Step 150 includes: Step 151: Obtain the name, function type, UVC flow control parameters, and video format of the current UVC; Step 152: Add the current UVC name, function type, UVC flow control parameters, and video format to the USB combo device. The UVC flow control parameters include: Transmission interval, maximum number of burst packets, maximum number of bytes per data packet, and PC host display name.
9. The method for remote wireless backhaul of multiple cameras based on UAC and UVC according to claim 6, characterized in that, Step 300 includes: Step 310: Periodically detect the packet loss rate of all UVCs in the system; Step 320: When the packet loss rate is greater than a specified threshold, adjust the total bandwidth between the dongle and the receiver.
10. The method for remote wireless backhaul of multiple cameras based on UAC and UVC according to claim 9, characterized in that, Step 300 further includes: Step 330: Compare the adjusted total bandwidth with the specified threshold; Step 340: After the adjusted total bandwidth is less than the specified threshold, turn off UVC according to priority.