Multi-video-source splicing and touch control system and method based on FPGA
Through the multi-video source splicing and touch control system based on FPGA, the problem of low interaction efficiency between users and multiple computers in the prior art is solved, and the convenience and efficiency of collaborative operation of multiple devices is achieved, and it is suitable for a variety of application scenarios.
Patent Information
- Application Number
- CN202411599205.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-02-28
AI Technical Summary
There is a lack of a method in the prior art that can efficiently convert operations on the touch screen into corresponding computer control signals, limiting the direct interaction between the user and multiple computers, affecting the efficiency of supervision and control.
The multi-video source splicing and touch control system based on FPGA is adopted. The system realizes real-time splicing display of multiple video signals and data conversion processing of touch screen signals through the FPGA platform, including video input module, touch screen module, video splicing processing module and control signal forwarding module in the FPGA platform.
It realizes convenient touch control of multiple computers on a single screen, improves the convenience and efficiency of collaborative operation of multiple devices, provides a smooth and natural interactive experience, and is suitable for multiple fields such as multimedia demonstration, conference systems, advertising display, etc.
Smart Images

Figure CN119544894A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of image processing and electronic communication technology, and in particular to a multi-video source splicing and touch control system and method based on FPGA. Background Art
[0002] In the fields of modern digital management and reinforced display, the splicing technology of multi-channel computer video signals has been widely used. This technology can process the images of different computers in real time and merge them into a multi-perspective, high-resolution video image, greatly broadening the user's field of vision and providing more comprehensive information.
[0003] However, the existing splicing technology mainly focuses on the composite display of video images. There are still certain technical challenges in how to conveniently control these spliced images, especially interactive control through touch screens. The existing technology lacks a method that can efficiently convert the operation on the touch screen into the corresponding computer control signal, which limits the direct interaction between users and multiple computers and affects the efficiency of supervision and control.
[0004] In order to solve this problem, we propose a multi-video source splicing and touch control system and method based on FPGA. Summary of the invention
[0005] 1. Technical issues to be resolved In view of the deficiencies in the prior art, the present invention provides a multi-video source splicing and touch control system and method based on FPGA, which has the advantages of strong practicality and compatibility, easy supervision and control, and can effectively solve the problems in the above-mentioned background technology.
[0006] (II) Technical solution To achieve the above object, the technical solution adopted by the present invention is: A multi-video source splicing and touch control system based on FPGA, which realizes real-time splicing display of multi-channel video signals and data conversion processing of touch screen signals based on FPGA platform, including: A video input module, which is used to transmit the video signals of each video source computer to the FPGA platform for splicing processing; receive control data packets from the FPGA platform and transmit them to each video source computer; A touch screen module, the touch screen module is used to receive the spliced video signal output by the FPGA platform, and display the video picture after the video signal is spliced; the touch screen module is also used to collect touch operation information on the touch screen, convert the touch operation information into a touch signal, and then pack it into a processing data packet, and send the processing data packet to the FPGA platform; FPGA platform, the FPGA platform comprising: A video splicing processing module, which is used to splice the multi-channel video signals output by the video input module and output them to the touch screen module; A control signal forwarding module is used to decode, identify, and coordinate transform the processing data packets sent by the touch screen module, and convert the processed touch signals into control data packets that can be recognized by the corresponding video source computer, and send the processed control data packets to the video input module, thereby controlling the corresponding video source computer.
[0007] Preferably, the video splicing processing module includes: A video scaling unit, for receiving multiple video signals, scaling the video images of each video signal to an appropriate size according to a preset splicing mode, obtaining a low-resolution video image and outputting it to an input end of the video buffer unit; The video cache unit is used to temporarily store the low-resolution video images processed by the video scaling unit to ensure that the low-resolution video images remain synchronized before video splicing, so as to overcome the delay difference in the transmission and processing of the video images; The video splicing unit is used to combine the scaled low-resolution video images into a large-size video image according to a preset splicing mode, and send the video signal of the large-size video image to the touch screen module for display.
[0008] Preferably, the control signal forwarding module comprises: A USB touch receiving unit, used for receiving a processing data packet from the touch screen module; A touch signal recognition unit, used to receive and process data packets and decode them, recognize touch signals, and determine the touch position on the touch screen; A touch position mapping unit, based on a preset mapping rule and system configuration, converts the touch position on the touch screen into a coordinate position in a corresponding video source computer video screen, so as to achieve an accurate association between the touch signal and the video content; A touch position forwarding unit, used to repackage the converted coordinate information into a control data packet, and the control data packet is a control data packet that complies with the USB HID class and USB2.0 standards to ensure the compatibility of the data packet; The USB touch control sending unit is used to send the control data packet to the target video source computer.
[0009] Preferably, the video input module integrates n video interfaces and USB interfaces from n video source computers, wherein n is a natural number between 1 and 6; Each of the USB interfaces is paired with one of the video interfaces, and each video interface is connected to the same video source computer with its paired USB interface to support synchronous transmission and precise matching of video signals and touch data; The video interface transmits each channel of video signals from each video source computer to the video splicing processing module of the FPGA platform for splicing processing; The control signal forwarding module of the FPGA platform transmits the processed touch signal to the video source computer through the corresponding USB interface in the video input module.
[0010] Preferably, the system further comprises: The touch screen module integrates at least one USB interface for data communication with the USB touch control receiving unit of the control signal forwarding module, and for the touch screen module to send a processing data packet to the USB touch control unit; The touch screen module further integrates at least one video interface for receiving the spliced video signal output by the video splicing unit in the video splicing processing module and displaying a large-size video screen after the video signal is spliced.
[0011] Preferably, the system further comprises: The output end of the video interface in the video input module is connected to the input end of the video scaling unit; The video scaling unit uses a linear interpolation algorithm to scale the source video images of each video signal to adapt to the required small-resolution video image and achieve smooth transition of size.
[0012] The present invention also provides a multi-video source splicing and touch control method based on FPGA, comprising the following steps: S1: Start the FPGA platform, initialize each functional module, and collect the video signals of each video source computer through the video interface of the video input module; S2: performing real-time splicing processing based on the acquired multiple video signals, scaling each video signal to a suitable size according to a preset splicing mode, combining the multiple scaled video signals into a large-size video screen, and sending the video signal of the large-size video screen to the touch screen module, and the touch screen displays the spliced video screen; S3: receiving a touch signal from the touch screen module and converting the touch signal into a touch position corresponding to the video source computer; S4: Send the converted touch position to the video input module through the USB interface, and then control the corresponding video source computer.
[0013] Preferably, the FPGA platform performs boundary judgment on the touch signal to ensure that the touch position is correctly sent down to avoid misoperation.
[0014] Preferably, for the video input module, the FPGA platform acts as a USB device terminal and runs a USB device driver to provide a control data packet containing touch position information; For the touch screen module, the FPGA platform acts as a USB host and executes a USB host driver to actively request and receive a processing data packet containing touch operation information.
[0015] Preferably, when a touch operation causes the input source computer interface to change, the FPGA platform will process and update the video output in real time, ensuring that the video content displayed by the touch screen unit is synchronized with the interface changes of the input source computer, thereby reflecting the operation results in real time.
[0016] (III) Beneficial effects Compared with the prior art, the present invention provides a multi-video source splicing and touch control system and method based on FPGA, which has the following beneficial effects: The system integrates image processing, electronic communication and human-computer interaction technologies. Through the FPGA platform, it efficiently realizes the real-time splicing display of multiple video signals and the data conversion processing of touch screen signals, and realizes convenient touch control of multiple computers on a single screen, improving the convenience and efficiency of multi-device collaborative operation. The multi-video source stitching and touch control system can provide real-time feedback on touch operation results, providing a smooth and natural interactive experience, and is suitable for multiple fields such as multimedia presentations, conference systems, and advertising displays. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 A structural block diagram of a multi-video source splicing and touch control system based on FPGA provided by the present invention; Figure 2 A schematic diagram of video scaling interpolation provided by the present invention; Figure 3 A working diagram of the video cache unit provided by the present invention; Figure 4 The video splicing unit workflow diagram provided by the present invention; Figure 5 A schematic diagram of the video splicing work provided by the present invention; Figure 6 This is the data report format of the single-touch device provided by the present invention.
[0018] Figure 1 In: 1. Video input module; 2. FPGA platform; 20. Video splicing processing module; 200. Video scaling unit; 201. Video buffer unit; 202. Video splicing unit; 21. Control signal forwarding module; 210. USB touch sending unit; 211. Touch signal recognition unit; 212. Touch position mapping unit; 213. Touch position forwarding unit; 214. USB touch receiving unit; 3. Touch screen module. DETAILED DESCRIPTION
[0019] In order to make the technical means, creative features, objectives and effects of the present invention easy to understand, the present invention will be further 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 are within the scope of protection of the present invention.
[0020] In order to address the shortcomings of the existing technology, such as Figure 1-6 As shown, the present invention provides a multi-video source splicing and touch control system based on FPGA, which realizes real-time splicing display of multi-channel video signals and data conversion processing of touch screen signals based on FPGA platform 2, including: A video input module 1, which is used to transmit the video signals of each video source computer to the FPGA platform 2 for splicing processing; the video input module 1 is also used to receive the control data packet from the FPGA platform 2 and transmit it to each video source computer to control the corresponding video source computer; A touch screen module 3, the touch screen module 3 is used to receive the spliced video signal output by the FPGA platform 2, and display the video picture after the video signal is spliced; the touch screen module 3 is also used to collect touch operation information on the touch screen, convert the touch operation information into a touch signal, and then package it into a processing data packet, and send the processing data packet to the FPGA platform 2; FPGA platform 2, the FPGA platform 2 comprises: A video splicing processing module 20, which is used to splice the multi-channel video signals output by the video input module 1 and output them to the touch screen module 3; The control signal forwarding module 21 is used to decode, identify, and coordinate transform the processing data packet sent by the touch screen module 3, and convert the processed touch signal into a control data packet that can be recognized by the corresponding video source computer, and send the processed control data packet to the video input module 1, thereby controlling the corresponding video source computer.
[0021] Specifically, the video splicing processing module 20 includes: The video scaling unit 200 is used to receive multiple video signals, scale the video images of each video signal to an appropriate size according to a preset splicing mode, obtain a low-resolution video image and output it to the input end of the video buffer unit 201; The video cache unit 201 is used to temporarily store the low-resolution video images processed by the video scaling unit 200 to ensure that the low-resolution video images remain synchronized before video splicing, so as to overcome the delay difference in the transmission and processing of the video images; The video splicing unit 202 is used to combine the scaled low-resolution video images into a large-size video image according to a preset splicing mode, and send the video signal of the large-size video image to the touch screen module 3 for display; It should be noted that the video cache unit 201 reserves a memory area during operation for temporarily storing the low-resolution video image after scaling by the video scaling unit 200. The video cache unit 201 writes the image data into this memory area and then reads it out. Figure 3 As shown, the implementation steps of the video cache unit 201 are as follows: S101, physical memory allocation: allocate a continuous address space for the frame buffer in the physical memory of the FPGA platform 2, the size of which is determined according to the resolution of the input and output images and the pixel data bit width; S102, image data input judgment: detect whether there is new image data input; if yes, execute step S103; if not, jump to step S106.
[0022] S103, pixel positioning: determining the horizontal and vertical coordinates (x, y) of the input pixel in the input image; S104, write address calculation: Assuming that the first address of the frame buffer is BaseAddress, and each pixel occupies BytePerPixel bytes, the address of the pixel (x, y) in the frame buffer can be calculated by the formula Address(x, y) = BaseAddress + (y × image width + x) × BytePerPixel; S105, data writing: writing the pixel color data into the calculated address, and then returning to step S102 to continue detecting new data; S106, image data readout judgment: detect whether there is an external request to read pixel data; if yes, execute step S107; if no, return to step S102; S107, read address calculation: according to the pixel position requested externally, the address in the frame buffer is determined using the calculation method in step S104.
[0023] S108, data read out: read out the pixel value at this address.
[0024] The video splicing unit 202 outputs a video signal and is connected to the video interface of the touch screen module 3. The video scaling unit 200 processes multiple video signals in parallel and is connected to the video cache unit 201 through independent output terminals. The video cache unit 201 processes multiple video signals in parallel and is connected to the video splicing unit 202 through independent output terminals. It should be noted that the video scaling unit 200 uses a linear interpolation algorithm to implement proportional scaling of the video image. The linear interpolation algorithm can maintain the linear relationship between pixels during the scaling process to reduce image distortion. The video cache unit 201 uses a random access memory as a data storage device for temporary data storage; the video splicing unit 202 splices each scaled video screen at a specified position of the large-size video screen by direct splicing; FPGA platform 2 has high-speed data processing capabilities and can process multiple video signals in parallel in real time. Therefore, video scaling and caching of multiple videos can be processed independently and in parallel inside the FPGA, ensuring the smoothness of video splicing.
[0025] Specifically, the control signal forwarding module 21 includes: A USB touch receiving unit 214 is used to receive a processing data packet from the touch screen module 3; A touch signal recognition unit 211 is used to receive and process data packets and decode them, recognize touch signals, and determine the touch position on the touch screen; A touch position mapping unit 212 converts the touch position on the touch screen into a coordinate position in the video screen of the corresponding video source computer based on a preset mapping rule and system configuration, so as to achieve an accurate association between the touch signal and the video content; A touch position forwarding unit 213, used to repackage the converted coordinate information into a control data packet, and the control data packet is a control data packet that complies with the USB HID class and USB2.0 standards to ensure the compatibility of the data packet; A USB touch control sending unit 210 is used to send a control data packet to a target video source computer; It should be noted that each unit in the above control signal forwarding module 21 is implemented by a Verilog program running on the FPGA chip; Specifically, when a touch event occurs, the touch screen module 3 generates a HID report containing touch data, such as Figure 6 As shown, Figure 6is an example of a HID report containing touch data; the HID report is packaged into a processing data packet according to the definition of the report descriptor during the enumeration process; the USB touch receiving unit 214 receives the processing data packet from the touch screen module 3, and the USB touch receiving unit 214 sends the processing data packet to the touch signal recognition unit 211; the touch signal recognition unit 211 parses the touch position from the specific byte sequence of the HID report according to the predetermined data structure and decoding rules, and performs boundary judgment to determine its validity; The above parsing process includes identifying the touch point coordinates and touch status data in the report; Boundary judgment includes checking whether the touch coordinates are within the set valid coordinate range and whether the touch time exceeds the designed threshold time; When the touch coordinates and time meet the preset conditions, the touch signal recognition unit 211 outputs valid touch coordinates; otherwise, it is recorded as an invalid touch signal and filtered to ensure the accuracy and reliability of the touch screen operation; The output end of the touch signal recognition unit 211 is connected to the input end of the touch position mapping unit 212; The touch position mapping unit 212 maps the identified touch coordinates to the corresponding video source positions to determine the absolute coordinates of the touch position on the touch screen; The large-size video screen is composed of multiple scaled low-resolution video screens. The resolution, splicing position and scaling ratio of the low-resolution video screen are obtained, and the absolute coordinates on the touch screen are converted into relative coordinates related to a specific video source. The method is as follows: Get the touch coordinates as (i, j), the coordinates of the upper left corner of the specific low-resolution video screen are (a, b), the coordinates of the lower right corner of the low-resolution video screen are (c, d), set the resolution ratio of the input source video and the low-resolution video screen to e, check whether the touch coordinates (i, j) meet the conditions (a<i<c) and (b<j<d), if so, calculate the relative position (X, Y) of the touch position relative to the video source, the calculation formula is as follows: , ; The absolute coordinates on the touch screen are converted into relative position coordinates related to a specific video source through the above steps, so as to accurately control the corresponding video computer; The output end of the touch position mapping unit 212 is connected to the input end of the touch position forwarding unit 213, and the relative position coordinates (X, Y) output by the touch position mapping unit 212 and the corresponding low-resolution video picture identifier are completely transmitted to the forwarding module, and the low-resolution video picture identifier is used to uniquely identify the label or number of each low-resolution video picture; The touch position forwarding unit 213 constructs a touch report that complies with the USB HID protocol specification based on the received relative position (X, Y) and the corresponding video source identifier; the regenerated touch report is transmitted to the USB touch control sending unit 210 via the internal bus, and is ready to be further sent to the target computer; The USB touch control sending unit 210 is connected to the video input module 1 via a USB2.0 interface; The video input module 1 acts as a USB host, and the USB touch sending unit 210 acts as a USB device end; the USB touch sending unit 210 is responsible for responding to the enumeration and data request process of the video input module 1, and sending the touch report generated by the touch position forwarding unit 213 to the video input module 1; when the USB touch sending unit 210 is connected to the video input module 1, the enumeration process of device identification and configuration is performed to ensure correct communication between the two parties; the above process is the basic step of USB device connection, which will not be described in detail here; Specifically, Figure 1 As shown, the video input module 1 integrates n video interfaces and USB interfaces from n video source computers, wherein n is a natural number between 1 and 6; Each of the USB interfaces is paired with one of the video interfaces, and each video interface is connected to the same video source computer (computer host) with its paired USB interface to support synchronous transmission and precise matching of video signals and touch data; Each USB interface is connected to the FPGA platform 2 via a USB PHY chip, which is used to convert the differential signal defined in the USB specification into a parallel data and control bus, which is connected to the FPGA via the I / O pins of the FPGA to exchange data; Based on the video interface, the video signals of each video source computer are transmitted to the video splicing processing module 20 of the FPGA platform 2 for splicing processing; And the control signal forwarding module 21 of the FPGA platform 2 transmits the processed touch signal to the video source computer through the corresponding USB interface in the video input module 1; Each video interface is connected to the FPGA platform 2 via an HDMI conversion chip. The HDMI conversion chip is used to convert the differential signal defined by the HDMI standard into a parallel pixel data bus and a video timing single-ended line. The data and timing lines are connected to the FPGA via the FPGA's I / O pins, thereby decoding the video signal into a bus signal that the FPGA can process. Furthermore, the above-mentioned USB interface complies with the USB2.0 standard, and the USB interface can select a USB2.0 interface; in addition to the HDMI interface, the above-mentioned video interface type can also select other video interfaces such as DVI, VGA, Display Port, etc.; and the video interface supports the corresponding video conversion chip to be connected to the FPGA platform 2. The conversion chip effectively converts the video signal into an I / O standard acceptable to the FPGA according to the type of the connected video interface, ensuring that the system can support multiple video signal inputs, further improving the compatibility and scalability of the system.
[0026] Specifically, the system further includes: The touch screen module 3 integrates at least one USB interface for data communication with the USB touch control receiving unit 214 of the control signal forwarding module 21, and for the touch screen module 3 to send a processing data packet to the USB touch control unit; The touch screen module 3 also integrates at least one video interface for receiving the spliced video signal output by the video splicing unit 202 in the video splicing processing module 20, and displaying a large-size video image after the video signal is spliced; The USB interface of the touch screen module 3 is connected to the USB touch receiving unit 214 of the FPGA platform 2 for controlling signal forwarding, so as to transmit the touch signal of the touch screen to the FPGA platform 2 for processing; The FPGA platform 2 is connected to the video interface and USB interface of the video input module 1, and the FPGA platform 2 is also connected to the video interface and USB interface of the touch screen module 3; The video interface can use standard video interfaces such as HDMI, VGA or DVI to meet different needs. The USB interface complies with the USB2.0 standard, and the USB interface can use a USB2.0 interface. It should be noted that the output end of the video interface in the above-mentioned video input module 1 is connected to the input end of the video scaling unit 200, and the video scaling unit 200 uses a linear interpolation algorithm to scale the source video screen of each video signal to adapt to the required small-resolution video screen, so as to achieve a smooth transition of size and avoid the sawtooth effect and image quality degradation caused by simple pixel discarding or duplication; For any two known input pixels, they are recorded as (x1, y1) and (x2, y2), where x1 and x2 are the horizontal x positions of the pixels and y1 and y2 are the corresponding pixel values. When the scale changes, there is an output pixel (x, y) located between two input pixels; Calculate the slope m of two known pixel points, where m=(y2-y1) / (x2-x1); Calculate the pixel value at position x by slope m, y=y1+m(x-x1); like Figure 2 As shown, in this embodiment, when scaling the source video image, the method for estimating the pixel value at the position (x0, y0) is: Perform the above linear interpolation algorithm on the y line and the y+1 line in the horizontal direction to obtain temporary output pixel data t0 and t1, and then perform the above linear interpolation algorithm on t0 and t1 in the vertical direction to obtain the final pixel output estimation value; Furthermore, in addition to using the above-mentioned linear interpolation algorithm to scale the image, this embodiment may also use other image scaling methods, including but not limited to nearest neighbor interpolation, trilinear interpolation and polyphase filtering technology.
[0027] It should be noted that, for the low-resolution video images after scaling processing output by the video scaling unit 200, the video cache unit 201 allocates an independent continuous address space in the physical memory managed by it as a frame cache; the cache area is distinguished by a unique identifier (such as a video source number) to ensure that the video splicing unit 202 can accurately read pixel data from the corresponding cache area; when the video splicing unit 202 needs to process a low-resolution video image after scaling processing, it sends a request to the video cache unit 201 according to the identifier, and the video cache unit 201 takes out the pixel data from the corresponding cache area according to the request and outputs it to the video splicing unit 202; The video splicing unit 202 determines the position and size of each video source in the final spliced image according to a preset splicing rule; then, the video splicing unit 202 reads the pixel data of each video source line by line in a top-to-bottom and left-to-right order, and the video splicing unit 202 is connected to the video interface of the touch screen module 3 through the HDMI conversion chip, and the video splicing unit 202 writes the pixel data into the HDMI conversion chip, such as Figure 4 As shown, the implementation steps of the video splicing unit 202 are as follows: S201: The video splicing unit 202 periodically writes the video data into the HDMI conversion chip according to the set frame rate, and calculates the coordinate value of the currently written pixel in real time during the writing process; S202: Determine a preset mode of current video splicing, such as six-equal-division splicing or other custom splicing modes; S203: Determine whether the current pixel position belongs to the area to be stitched according to the preset stitching rule; if so, execute step S204; if not, execute step S205; S204: Reading image data from a corresponding frame buffer according to the position of the current pixel; different video sources correspond to different frame buffer areas to ensure the accuracy of data reading; S205: If it is a non-joined area, use a preset background color to complete the writing operation on the HDMI conversion chip to maintain the integrity of the overall picture; Based on the above, the video splicing unit 202 uses a six-equal-division splicing method to display the scaled low-resolution video image on the touch screen module 3; Specifically, if Figure 5 As shown, the screen is divided into six equal parts, each part displays the content of a video source; the position and size of each video screen are preset and fixed on the system, and the sizes of each video screen remain consistent without overlap; in order to provide greater flexibility, the present invention also supports other splicing methods, such as a main screen combined with multiple small screens, and adjusting the video splicing method according to user needs or application scenarios to adapt to different display requirements and preferences.
[0028] Specifically, for the touch screen module 3, the FPGA platform 2 acts as a USB host, the USB touch receiving unit 214 executes a USB host driver for discovering and enumerating a USB bus, and the USB touch receiving unit 214 schedules processing data packets in USB transmission according to USB2.0 and USBHID specifications to actively request and receive processing data packets containing touch information; It should be noted that if Figure 1 As shown, the USB touch transmission unit 210 is connected to each USB interface through a respective USB PHY chip; In the absence of a touch event, when the video input module 1 requests touch data, the USB touch sending unit 210 returns a standard NAK signal through the corresponding USB interface, indicating that there is no available data, which complies with the USB2.0 specification; When the video input module 1 receives the control data packet sent by the USB touch control sending unit 210, it identifies the touch signal in the control data packet, and the operating system automatically processes the touch signal and creates a corresponding touch event; The operating system dispatches the corresponding touch event to the running application, and the application processes the touch event according to internal logic, and the processing method includes but is not limited to updating the user interface, triggering new functions or saving data; The processed interface updates are processed by the FPGA platform 2 and then displayed on the touch screen module 3, thereby realizing real-time interaction between the user and multiple computers.
[0029] Furthermore, the present invention also provides a multi-video source splicing and touch control method based on FPGA, comprising the following steps: S1: Start the FPGA platform 2, initialize each functional module, and collect each channel of video signals from each video source computer through the video interface of the video input module 1; S2: Based on the acquired multiple video signals, real-time splicing processing is performed, each video signal is scaled to a suitable size according to a preset splicing mode, the multiple scaled video signals are combined into a large-size video screen, and the video signal of the large-size video screen is sent to the touch screen module 3, and the touch screen displays the spliced video screen; S3: receiving a touch signal from the touch screen module 3 and converting it into a touch position corresponding to the video source computer; S4: Send the converted touch position to the video input module 1 through the USB interface, thereby controlling the corresponding video source computer.
[0030] Specifically, the FPGA platform 2 performs boundary judgment on the touch signal to ensure that the touch position is correctly sent to avoid erroneous operation.
[0031] Specifically, for the video input module 1, the FPGA platform 2 acts as a USB device terminal and runs a USB device driver to provide a control data packet containing touch position information; For the touch screen module 3, the FPGA platform 2 acts as a USB host and executes a USB host driver to actively request and receive a processing data packet containing touch operation information.
[0032] Specifically, when a touch operation causes the interface of the input source computer to change, the FPGA platform 2 will process and update the video output in real time to ensure that the video content displayed by the touch screen unit is synchronized with the interface changes of the input source computer, thereby reflecting the operation results in real time and realizing real-time interaction between users and multiple computers.
[0033] The advantages of the present invention are as follows: the FPGA-based multi-video source splicing and touch control system of the present invention can splice multiple video signals into a large-size video screen through efficient data processing capabilities and real-time splicing technology, thereby ensuring the smoothness and real-time nature of video display; the system performs boundary judgment and coordinate conversion on touch signals to ensure the correctness and effectiveness of touch positions, avoid misoperation, and achieve accurate association between touch signals and video content; at the same time, the system supports multiple splicing modes and video interfaces, has high flexibility and scalability, can adapt to different video signal input requirements, and uses an interface that complies with the USB2.0 standard for data transmission, thereby ensuring the high speed and stability of data transmission.
[0034] The above shows and describes the basic principles and main features of the present invention and the advantages of the present invention. It should be understood by those skilled in the art that the present invention is not limited by the above embodiments, and the above embodiments and descriptions are only for explaining the principles of the present invention. Without departing from the spirit and scope of the present invention, the present invention may have various changes and improvements, and these changes and improvements all fall within the scope of the present invention to be protected.
Claims
1. A multi-video source splicing and touch control system based on FPGA, characterized in that: The system realizes real-time splicing display of multi-channel video signals and data conversion processing of touch screen signals based on FPGA platform, including: A video input module, which is used to transmit the video signals of each video source computer to the FPGA platform for splicing processing; receive control data packets from the FPGA platform and transmit them to each video source computer; A touch screen module, the touch screen module is used to receive the spliced video signal output by the FPGA platform, and display the video picture after the video signal is spliced; the touch screen module is also used to collect touch operation information on the touch screen, convert the touch operation information into a touch signal, and then pack it into a processing data packet, and send the processing data packet to the FPGA platform; FPGA platform, the FPGA platform comprising: A video splicing processing module, which is used to splice the multi-channel video signals output by the video input module and output them to the touch screen module; A control signal forwarding module is used to decode, identify, and coordinate transform the processing data packets sent by the touch screen module, and convert the processed touch signals into control data packets that can be recognized by the corresponding video source computer, and send the processed control data packets to the video input module, thereby controlling the corresponding video source computer.
2. The FPGA-based multi-video source splicing and touch control system according to claim 1, characterized in that: The video splicing processing module includes: A video scaling unit, for receiving multiple video signals, scaling the video images of each video signal to an appropriate size according to a preset splicing mode, obtaining a low-resolution video image and outputting it to an input end of the video buffer unit; The video cache unit is used to temporarily store the low-resolution video images processed by the video scaling unit to ensure that the low-resolution video images remain synchronized before video splicing, so as to overcome the delay difference in the transmission and processing of the video images; The video splicing unit is used to combine the scaled low-resolution video images into a large-size video image according to a preset splicing mode, and send the video signal of the large-size video image to the touch screen module for display.
3. The FPGA-based multi-video source splicing and touch control system according to claim 2, characterized in that: The control signal forwarding module comprises: A USB touch receiving unit, used for receiving a processing data packet from the touch screen module; A touch signal recognition unit, used to receive and process data packets and decode them, recognize touch signals, and determine the touch position on the touch screen; A touch position mapping unit, based on a preset mapping rule and system configuration, converts the touch position on the touch screen into a coordinate position in a corresponding video source computer video screen, so as to achieve an accurate association between the touch signal and the video content; A touch position forwarding unit, used to repackage the converted coordinate information into a control data packet, and the control data packet is a control data packet that complies with the USB HID class and USB2.0 standards to ensure the compatibility of the data packet; The USB touch control sending unit is used to send the control data packet to the target video source computer.
4. The FPGA-based multi-video source splicing and touch control system according to claim 1, characterized in that: The video input module integrates n video interfaces and USB interfaces from n video source computers, wherein n is a natural number between 1 and 6; Each of the USB interfaces is paired with one of the video interfaces, and each video interface is connected to the same video source computer with its paired USB interface to support synchronous transmission and precise matching of video signals and touch data; The video interface transmits each channel of video signals from each video source computer to the video splicing processing module of the FPGA platform for splicing processing; The control signal forwarding module of the FPGA platform transmits the processed touch signal to the video source computer through the corresponding USB interface in the video input module.
5. The FPGA-based multi-video source splicing and touch control system according to claim 3, characterized in that: The system further comprises: The touch screen module integrates at least one USB interface for data communication with the USB touch control receiving unit of the control signal forwarding module, and for the touch screen module to send a processing data packet to the USB touch control unit; The touch screen module further integrates at least one video interface for receiving the spliced video signal output by the video splicing unit in the video splicing processing module and displaying a large-size video screen after the video signal is spliced.
6. The FPGA-based multi-video source splicing and touch control system according to claim 3, characterized in that: The system further comprises: The output end of the video interface in the video input module is connected to the input end of the video scaling unit; The video scaling unit uses a linear interpolation algorithm to scale the source video images of each video signal to adapt to the required small-resolution video image and achieve smooth transition of size.
7. An FPGA-based multi-video source splicing and touch control method for use in any one of claims 1 to 6, characterized in that: The steps include: S1: Start the FPGA platform, initialize each functional module, and collect the video signals of each video source computer through the video interface of the video input module; S2: performing real-time splicing processing based on the acquired multiple video signals, scaling each video signal to a suitable size according to a preset splicing mode, combining the multiple scaled video signals into a large-size video screen, and sending the video signal of the large-size video screen to the touch screen module, and the touch screen displays the spliced video screen; S3: receiving a touch signal from the touch screen module and converting the touch signal into a touch position corresponding to the video source computer; S4: Send the converted touch position to the video input module through the USB interface, and then control the corresponding video source computer.
8. The FPGA-based multi-video source splicing and touch control method according to claim 7, characterized in that: The FPGA platform performs boundary judgment on the touch signal to ensure that the touch position is correctly sent down to avoid misoperation.
9. The FPGA-based multi-video source splicing and touch control method according to claim 8, characterized in that: For the video input module, the FPGA platform acts as a USB device terminal and runs a USB device driver to provide a control data packet containing touch position information; For the touch screen module, the FPGA platform acts as a USB host and executes a USB host driver to actively request and receive a processing data packet containing touch operation information.
10. The FPGA-based multi-video source splicing and touch control method according to claim 9, characterized in that , the method further comprises: When the touch operation causes the input source computer interface to change, the FPGA platform will process and update the video output in real time to ensure that the video content displayed by the touch screen unit is synchronized with the interface changes of the input source computer, thereby reflecting the operation results in real time.