A video control method and device

By adding forwarding functionality to the output nodes of the video splicing control system and optimizing control parameter calculations, the limitation of point-to-point transmission via the PCIE interface was resolved, resulting in a higher number of image outputs and bandwidth utilization.

CN117135295BActive Publication Date: 2026-11-06ZHEJIANG UNIVIEW TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210555866.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-19
Publication Date
2026-11-06
Estimated Expiration
2042-05-19

AI Technical Summary

Technical Problem

In video splicing and control systems, the point-to-point transmission of the PCIe interface limits the number of output images and bandwidth utilization of input nodes, resulting in video stuttering.

Method used

Add forwarding functionality to the output nodes and control the forwarding of TLP data packets by generating forwarding control parameters. Optimize the parameter calculation method of the control nodes to achieve data packet forwarding among multiple output nodes.

Benefits of technology

Without changing the system framework, the number of images output by the input nodes was increased, bandwidth utilization was improved, and the specifications of the splicing controller were upgraded.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117135295B_ABST
    Figure CN117135295B_ABST
Patent Text Reader

Abstract

This application discloses a video stitching control method and apparatus. The method includes: controlling an input node to send a processing layer data packet (TLP) to a target output node, and sending forwarding control parameters to the target output node; the forwarding control parameters are generated according to the service type; controlling the target output node to determine whether to forward the TLP data packet according to the forwarding control parameters; when it is determined that the TLP data packet needs to be forwarded, controlling the target output node to calculate the forwarding target output node TLP address of the TLP data packet according to the forwarding control parameters, and forwarding the TLP data packet according to the forwarding target output node TLP address. This embodiment, without changing the system framework, increases the number of images output by the input node through forwarding and improves bandwidth utilization, further enhancing the specifications of the stitching controller.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to video splicing and control technology, and more particularly to a video splicing and control method and apparatus. Background Technology

[0002] The PCIe (High-Speed ​​Serial Computer Expansion Bus) interface is one of the most critical interfaces in a computer architecture. It boasts advantages such as high performance, high reliability, flexible yet strictly regulated architecture, and interoperability. Through the PCIe interface, mainstream x86 processors, ARM processors, FPGAs (Field-Programmable Gate Arrays), and DSPs (Digital Signal Processors) can interconnect and exchange data. PCIe is a point-to-point transmission interface, with the basic transmission unit being the TLP (Processing Layer Packet). The TLP header contains information such as the destination address.

[0003] While the PCIe interface is becoming increasingly widely used, there are some limitations to its use in video splicing and control systems.

[0004] In a video splicing and control system, there are two main types of PCIe devices: input nodes and output nodes. Input nodes receive images and send them to different output nodes, while output nodes perform splicing and overlay processing on the received images before finally sending them to the display interface for output. The control node is the brain of the entire system, used to configure parameters such as image source and destination. All nodes are connected via a PCIe switch.

[0005] Because PCIe is a point-to-point interactive system, input nodes can typically only send one frame of image to one output node before sending the next frame to another node. Output nodes, on the other hand, need to be able to receive data from all input nodes simultaneously.

[0006] A stitching control system needs to ensure that all input node images are transmitted to the desired output node within one frame (16.67ms for a 60-frame stitching control system). There may be situations where an image from one input node needs to be transmitted to multiple output nodes, or vice versa. Each input node needs to send multiple frames of the same or different images to the same or different output nodes within one frame. This point-to-point transmission of each image is called a time-slot task, and each time-slot task is controlled by a set of parameters. Input and output nodes support multiple time-slot tasks, such as 16, 32, etc.

[0007] Another factor affecting the number of images sent out by the input nodes is PCIe bandwidth. If the bandwidth is too small, it cannot guarantee that all 32 time-slot images of the task can be sent out within one frame, resulting in significant video stuttering. The interface bandwidth of the input and output nodes is the same. Due to bandwidth limitations, the number of images sent out is limited. Furthermore, if two input nodes send data to one output node, the bandwidth utilization of the two input nodes is at most 50%, further reducing the number of images sent out by the input nodes. Summary of the Invention

[0008] This application provides a video splicing control method and apparatus that can increase the number of images output by input nodes without changing the system framework, thereby improving bandwidth utilization and enhancing the specifications of the splicing controller.

[0009] This application provides a video stitching control method, which can be applied to the control node side. The method may include:

[0010] The control input node sends processing layer data packets (TLP data packets) to the target output node, and sends forwarding control parameters to the target output node; the forwarding control parameters are generated according to the service type.

[0011] The target output node is controlled to determine whether the TLP data packet needs to be forwarded based on the forwarding control parameters. When it is determined that the TLP data packet needs to be forwarded, the target output node is controlled to calculate the forwarding target output node TLP address of the TLP data packet based on the forwarding control parameters, and forward the TLP data packet based on the forwarding target output node TLP address.

[0012] In an exemplary embodiment of this application, the TLP data packet may contain the TLP address of the target output node;

[0013] The forwarding control parameters may include: the BAR offset address of the forwarding target output node, the forwarding start address, and the forwarding address size.

[0014] In an exemplary embodiment of this application, controlling the target output node to determine whether the TLP data packet needs to be forwarded based on the forwarding control parameters may include:

[0015] The target output node is controlled to calculate the BAR offset address corresponding to the TLP data packet based on the TLP address of the target output node; wherein the TLP address of the target output node is the TLP address in the TLP data packet sent to the target output node;

[0016] When the BAR offset address corresponding to the TLP data packet is within the preset forwarding range, it is determined that the TLP data packet needs to be forwarded; when the BAR offset address is not within the forwarding range, it is determined that the TLP data packet does not need to be forwarded.

[0017] In an exemplary embodiment of this application, the forwarding range may include: a range between a preset forwarding start address and a forwarding end address;

[0018] Wherein, the forwarding end address is equal to the sum of the forwarding start address and the size of the forwarding address.

[0019] In an exemplary embodiment of this application, controlling the target output node to calculate the BAR offset address corresponding to the TLP data packet based on the TLP address of the target output node may include: calculating the BAR offset address according to the following BAR offset address calculation formula:

[0020] The BAR offset address = the TLP address of the target output node – the BAR base address of the target output node.

[0021] In an exemplary embodiment of this application, controlling the target output node to calculate the forwarding target output node TLP address of the TLP data packet according to the forwarding control parameters may include: calculating the forwarding target output node TLP address according to the following forwarding target output node TLP address calculation formula:

[0022] The forwarding target output node TLP address = the BAR offset address - the forwarding start address + the BAR offset address of the forwarding target output node;

[0023] Wherein, the forwarding target output node TLP address is the TLP address in the TLP data packet forwarded to the target output node when the TLP data packet is forwarded.

[0024] In an exemplary embodiment of this application, the method may further include: when all the forwarding control parameters received by the target output node are 0 or only the forwarding address size in the forwarding control parameters is 0, the target output node determines that it does not need to forward the TLP data packet.

[0025] In an exemplary embodiment of this application, the service type may include: requiring the forwarding of the TLP data packet and not requiring the forwarding of the data packet;

[0026] Generating the forwarding control parameters based on the service type may include:

[0027] When the service type requires forwarding the TLP data packet, the forwarding control parameters are generated based on the BAR offset address, forwarding start address, and forwarding address size of the forwarding target output node.

[0028] When the service type does not require forwarding the TLP data packet, the forwarding control parameters are generated by setting the BAR offset address of the forwarding target output node, the forwarding start address, and the forwarding address size to 0.

[0029] In an exemplary embodiment of this application, the method may further include:

[0030] The service type is determined in advance based on the dragging action of the video at the input node;

[0031] Specifically, when the same video at the input node is dragged to multiple output nodes, the service type is determined to require forwarding of the TLP data packet, and the multiple output nodes to which it is dragged are determined as target output nodes, and some of the target output nodes are determined as forwarding target output nodes.

[0032] When the same video at the input node is dragged to an output node, it is determined that the service type does not require forwarding of the TLP data packet.

[0033] This application also provides a video splicing control device, which may include a processor and a computer-readable storage medium. The computer-readable storage medium stores instructions, and when the instructions are executed by the processor, the video splicing control method is implemented.

[0034] Compared with related technologies, the embodiments of this application may include: controlling the input node to send a processing layer data packet (TLP) to the target output node, and sending forwarding control parameters to the target output node; the forwarding control parameters are generated according to the service type; controlling the target output node to determine whether the TLP data packet needs to be forwarded according to the forwarding control parameters; when it is determined that the TLP data packet needs to be forwarded, controlling the target output node to calculate the forwarding target output node TLP address of the TLP data packet according to the forwarding control parameters, and forwarding the TLP data packet according to the forwarding target output node TLP address. This embodiment, without changing the system framework, increases the number of images output by the input node through forwarding, improves bandwidth utilization, and further enhances the specifications of the splicing controller.

[0035] Other features and advantages of this application will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing the application. Other advantages of this application can be realized and obtained by means of the solutions described in the description and the accompanying drawings. Attached Figure Description

[0036] The accompanying drawings are used to provide an understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.

[0037] Figure 1 This is a flowchart of the video splicing control method according to an embodiment of this application;

[0038] Figure 2 This is a schematic diagram of the optimized PCIe splicing control system according to an embodiment of this application;

[0039] Figure 3 This is a schematic diagram of the logical framework of the PCIE splicing control system according to an embodiment of this application;

[0040] Figure 4 The flowchart of the method for the control target output node to determine whether TLP data packets need to be forwarded based on forwarding control parameters in this embodiment of the application is as follows:

[0041] Figure 5 This is a schematic diagram of a video stitching control method according to an embodiment of this application;

[0042] Figure 6 This is a block diagram of the video splicing control device according to an embodiment of this application. Detailed Implementation

[0043] This application describes several embodiments, but these descriptions are exemplary and not restrictive, and it will be apparent to those skilled in the art that many more embodiments and implementations are possible within the scope of the embodiments described herein. Although many possible combinations of features are shown in the drawings and discussed in the detailed description, many other combinations of the disclosed features are also possible. Unless specifically limited, any feature or element of any embodiment may be used in combination with, or may replace, any feature or element of any other embodiment.

[0044] This application includes and contemplates combinations of features and elements known to those skilled in the art. The embodiments, features, and elements disclosed in this application may also be combined with any conventional features or elements to form a unique inventive scheme as defined by the claims. Any feature or element of any embodiment may also be combined with features or elements from other inventive schemes to form another unique inventive scheme as defined by the claims. Therefore, it should be understood that any feature shown and / or discussed in this application may be implemented individually or in any suitable combination. Therefore, the embodiments are not limited except by the limitations imposed by the appended claims and their equivalents. Furthermore, various modifications and changes may be made within the scope of the appended claims.

[0045] Furthermore, in describing representative embodiments, the specification may have presented methods and / or processes as a specific sequence of steps. However, the method or process should not be limited to the specific order of steps described herein, to the extent that it does not depend on such a specific order. As will be understood by those skilled in the art, other sequences of steps are also possible. Therefore, the specific order of steps set forth in the specification should not be construed as a limitation of the claims. Moreover, the claims concerning the method and / or process should not be limited to the steps performed in the written order, and those skilled in the art will readily understand that these orders can be varied and still remain within the spirit and scope of the embodiments of this application.

[0046] This application provides a video stitching control method that can be applied to the control node side, such as... Figure 1 As shown, the method may include steps S101-S102:

[0047] S101. The control input node sends a processing layer data packet (TLP) to the target output node, and sends forwarding control parameters to the target output node; the forwarding control parameters are generated according to the service type.

[0048] S102. Control the target output node to determine whether the TLP data packet needs to be forwarded according to the forwarding control parameters. When it is determined that the TLP data packet needs to be forwarded, control the target output node to calculate the forwarding target output node TLP address of the TLP data packet according to the forwarding control parameters, and forward the TLP data packet according to the forwarding target output node TLP address.

[0049] In related technologies, to address issues such as limited output images from input nodes and low bandwidth utilization of input nodes, higher bandwidth PCIe switches, PCIe switches with broadcast functionality as switching matrices, or crosspoint switches are used. Using higher bandwidth PCIe switches or PCIe switches with broadcast functionality increases product cost and design complexity. Crosspoint switches themselves support one-to-many transmission, but generally, ARM and x86 processors do not support this interface; it can only be extended to a PCIe interface via an FPGA (Field-Programmable Gate Array) to interface with x86 processors and other platforms.

[0050] In an exemplary embodiment of this application, a scheme for optimizing a PCIe-based image stitching control system is proposed. This scheme adds a forwarding function to the output node, changes the parameter calculation method for the control node, and does not require altering the current PCIe switch. This embodiment increases the number of images output by the input node through TLP packet forwarding and improves bandwidth utilization, further enhancing the specifications of the image stitching controller.

[0051] In the exemplary embodiments of this application, some basic concepts in PCIe will be introduced below:

[0052] The BAR (Base Address Register) base address and BAR size are parameters defined through the SWITCH and the internal configuration registers of the PCIe device. The BAR base address defines the starting address for each PCIe device to receive TLP packets, and the BAR size defines the acceptable data size for each PCIe device to receive TLP packets. Both sets of parameters also define the BAR address range of the PCIe device, i.e., the range from the BAR base address to the BAR base address plus the BAR size.

[0053] TLP: Processing layer data packet for sending and receiving data in the PCIe system. The TLP contains the actual address information to which the data will arrive, hereinafter referred to as the TLP address.

[0054] A PCIe device has the same bandwidth for receiving and sending data. However, in a video conferencing system, each node has a clearly defined function. The main function of the input node is to output images, receiving very little data. The output node receives image data, processes it, and sends it to the video display interface for display, sending very little data.

[0055] In exemplary embodiments of this application, as Figure 2As shown, the optimized control system adds a forwarding control function to the output node, such as... Figure 2 The forwarding control and PCIe sending functions enclosed by the dashed box enable the output node to directly forward received data packets.

[0056] In the exemplary embodiments of this application, the solutions of the embodiments of this application will be described in detail below.

[0057] In exemplary embodiments of this application, as Figure 3 The diagram shows the logical framework of the splicing control system. First, the control node initializes the entire PCIE splicing control system (for example, the PCIE splicing control system can be a splicing control system containing four input nodes and four output nodes), assigning each node (including input nodes and output nodes) an independent BAR base address. Assuming that the BAR space size of each node is 64MB, the BAR base addresses of the four input nodes are 0MB, 64MB, 128MB and 192MB respectively; the BAR base addresses of the four output nodes are 256MB, 320MB, 384MB and 448MB.

[0058] In an exemplary embodiment of this application, the control node can generate a correspondence between image sources and image targets according to the service type. The following description takes the example of input node 1 needing to send an image frame to output node 1 and output node 2:

[0059] Traditional image stitching control systems can break down the correspondence between image sources and image targets into a one-to-one transmission relationship, namely, from input node 1 to output node 1 and from input node 1 to output node 2, and allocate two time slot tasks to input node 1 accordingly, because PCIe transmission can only be point-to-point.

[0060] In the control system of this application embodiment, the control node maintains a one-to-many transmission relationship and configures forwarding control parameters for the one-to-many transmission relationship in sequence. According to the forwarding control parameters, after the input node 1 sends the TLP data packet to the output node 1, the output node 1 can forward the TLP data packet to the output node 2 according to the forwarding control parameters.

[0061] In an exemplary embodiment of this application, the TLP data packet may contain the TLP address of the target output node;

[0062] The forwarding control parameters may include: the BAR offset address of the forwarding target output node, the forwarding start address, and the forwarding address size.

[0063] In an exemplary embodiment of this application, the service type may include: requiring the forwarding of the TLP data packet and not requiring the forwarding of the data packet;

[0064] Generating the forwarding control parameters based on the service type may include:

[0065] When the service type requires forwarding the TLP data packet, the forwarding control parameters are generated based on the BAR offset address, forwarding start address, and forwarding address size of the forwarding target output node.

[0066] When the service type does not require forwarding the TLP data packet, the forwarding control parameters are generated by setting the BAR offset address of the forwarding target output node, the forwarding start address, and the forwarding address size to 0, or by setting only the forwarding address size in the forwarding control parameters to 0. In an exemplary embodiment of this application, the method may further include:

[0067] The service type is determined in advance based on the dragging action of the video at the input node;

[0068] Specifically, when the same video at the input node is dragged to multiple output nodes, the service type is determined to require forwarding of the TLP data packet, and the multiple output nodes to which it is dragged are determined as target output nodes, and some of the target output nodes are determined as forwarding target output nodes.

[0069] When the same video at the input node is dragged to an output node, it is determined that the service type does not require forwarding of the TLP data packet.

[0070] In an exemplary embodiment of this application, during video stitching, the user can drag and drop a video from an input node to one or more output nodes as needed. The control node can recognize the drag operation. When it is recognized that the same video on the input node is dragged to only one output node, it can be determined that the TLP data packet corresponding to the video does not need to be forwarded. When it is recognized that the same video on the input node is dragged to multiple output nodes, it can be determined that the TLP data packet corresponding to the video needs to be forwarded.

[0071] In an exemplary embodiment of this application, the control node can generate corresponding forwarding control parameters based on the detected service type. When the input node sends a TLP data packet to the target output node, the control node sends the generated forwarding control parameters to the target output node.

[0072] In an exemplary embodiment of this application, each dragged video on the input node side can correspond to a set of forwarding control parameters. When multiple videos are dragged on an input node, multiple sets of forwarding control parameters can be generated accordingly.

[0073] In an exemplary embodiment of this application, a set of forwarding control parameters can be set at an input node, and the set of forwarding control parameters can be reconfigured in each time slot task. An input node can also set multiple sets of forwarding control parameters, that is, a set of forwarding control parameters can be set in each time slot task.

[0074] In an exemplary embodiment of this application, an example of configuring the forwarding control parameters of output node 1 is given below:

[0075] The BAR offset address of the forwarding target output node can be set to an address within the BAR space range of output node 2, for example, it can be set to 340M;

[0076] The forwarding start address and forwarding address size are both set to 4M, which means that the TLP address sent to output node 1 is located between the forwarding start address (4M) and the forwarding end address (forwarding start address + forwarding address size, which is 4M + 4M = 8M). The BAR address forwarded to the PCIE splicing control system is within the range of 340M to 340M + 4M. This BAR address is located at output node 2.

[0077] In an exemplary embodiment of this application, the method may further include: when all the forwarding control parameters received by the target output node are 0 or only the forwarding address size in the forwarding control parameters is 0, the target output node determines that it does not need to forward the TLP data packet.

[0078] In an exemplary embodiment of this application, setting the forwarding address size to 0 indicates that no forwarding is performed.

[0079] In an exemplary embodiment of this application, when multiple output nodes need to be forwarded, the forwarding control parameters of all output nodes can be configured sequentially.

[0080] In exemplary embodiments of this application, as Figure 4 As shown, controlling the target output node to determine whether to forward the TLP data packet based on the forwarding control parameters may include steps S201-S202:

[0081] S201. Control the target output node to calculate the BAR offset address corresponding to the TLP data packet based on the TLP address of the target output node; wherein the TLP address of the target output node is the TLP address in the TLP data packet sent to the target output node;

[0082] In an exemplary embodiment of this application, controlling the target output node to calculate the BAR offset address corresponding to the TLP data packet based on the TLP address of the target output node may include: calculating the BAR offset address according to the following BAR offset address calculation formula:

[0083] The BAR offset address = the TLP address of the target output node – the BAR base address of the target output node.

[0084] S202. When the BAR offset address corresponding to the TLP data packet is within a preset forwarding range, it is determined that the TLP data packet needs to be forwarded; when the BAR offset address is not within the forwarding range, it is determined that the TLP data packet does not need to be forwarded.

[0085] In an exemplary embodiment of this application, the forwarding range may include: a range between a preset forwarding start address and a forwarding end address;

[0086] Wherein, the forwarding end address is equal to the sum of the forwarding start address and the size of the forwarding address.

[0087] In exemplary embodiments of this application, as Figure 5 As shown, when a task in a time slot of input node 1 needs to send a frame of image data to output node 1, for example, the TLP address in a TLP data packet encapsulated by input node 1 can be 262M. According to the PCIE address routing requirements, the TLP data packet can be sent to output node 1 according to the 262M TLP address.

[0088] In an exemplary embodiment of this application, after receiving the aforementioned TLP, output node 1 can decompose the BAR offset address of the TLP data packet according to the BAR offset address calculation formula, and then determine whether the BAR offset address is within the forwarding range (4M~8M) of output node 1. If the BAR offset address is within the forwarding range (4M~8M) of output node 1, the current TLP data packet is sent to the image processing module and the forwarding control module for data forwarding. After the image processing module processes the image in the TLP data packet, it can be sent to the display unit for display. The forwarding control module can forward the TLP data packet to the next output node. If the BAR offset address is not within the forwarding range (4M~8M) of output node 1, the TLP data packet is only sent to the image processing module. Here, the TLP address is 262M, which is within the BAR address range of output node 1. The BAR offset address can be calculated as 6M (262M-256M) according to the BAR offset address calculation formula, which is within the forwarding range of output node 1. Therefore, the TLP data packet can be forwarded.

[0089] In an exemplary embodiment of this application, after determining that the TLP data packet can be forwarded, output node 1 can recalculate a new TLP address (i.e., the TLP address of the forwarding target output node) according to the TLP address calculation formula of the forwarding target output node, and send the TLP data packet and the new TLP address to the PCIE packet and send module. The PCIE packet and send module then sends the TLP data packet to the PCIE SWITCM, which in turn sends it to the forwarding target output node.

[0090] In an exemplary embodiment of this application, controlling the target output node to calculate the forwarding target output node TLP address of the TLP data packet according to the forwarding control parameters may include: calculating the forwarding target output node TLP address according to the following forwarding target output node TLP address calculation formula:

[0091] The forwarding target output node TLP address = the BAR offset address - the forwarding start address + the forwarding target output node BAR offset address

[0092] Wherein, the forwarding target output node TLP address is the TLP address in the TLP data packet forwarded to the target output node when the TLP data packet is forwarded.

[0093] In an exemplary embodiment of this application, it is known that the BAR offset address is calculated to be 6M (262M-256M) in the foregoing embodiment, the forwarding start address is 4M, and the BAR offset address of the forwarding target output node is 340M. Therefore, the calculated forwarding target output node TLP address is 6M-4M+340M=342M. Given the BAR base address of each output node and the space size of each output node as predefined above, it can be known that the forwarding target output node TLP address is located within the BAR space range of output node 2.

[0094] In an exemplary embodiment of this application, after receiving the forwarded TLP data packet, output node 2 can send the corresponding data of the TLP data packet to the image processing module for processing. The forwarding control parameters of output node 2 can be all set to 0, indicating that the TLP data packet does not need to be forwarded again, or it can be forwarded to other output nodes, such as output node 3, output node 4, etc., according to the value of the corresponding forwarding control parameters.

[0095] In an exemplary embodiment of this application, before sending the TLP data packet of input node 1 to output node 1, output node 2, and output node 3 according to the aforementioned method, the data packet can be forwarded in a preset order. For example, the data packet can be forwarded in the order of output node 1, output node 2, and output node 3 as described in the above embodiment, or it can be forwarded in the order of output node 2, output node 3, and output node 1. That is, the specific forwarding order can be defined according to the requirements, and there is no restriction on the detailed order. Alternatively, the data packet can be forwarded in a random order, that is, the specific forwarding order of output node 1, output node 2, and output node 3 is not preset, and the output node that has not forwarded the data packet is randomly selected when forwarding the data packet.

[0096] The exemplary embodiments of this application include at least the following advantages:

[0097] 1. Without changing the PCIE system framework, optimize the output node's functionality by using forwarding to fully utilize the output node's data transmission bandwidth and increase the number of images output by the input node.

[0098] 2. By optimizing the functionality of output nodes, unused PCIe interfaces can be fully utilized to increase the bandwidth utilization of the PCIe system.

[0099] 3. It can eliminate the impact of PCIe point-to-point transmission, allowing data sent from any input node to reach any output node without restriction.

[0100] This application embodiment also provides a video splicing control device 1, such as... Figure 6 As shown, it may include a processor 11 and a computer-readable storage medium 12, wherein the computer-readable storage medium 12 stores instructions, and when the instructions are executed by the processor 11, the video splicing control method is implemented.

[0101] In the exemplary embodiments of this application, any of the embodiments in the foregoing video splicing control method embodiments are applicable to the video splicing control device, and will not be described in detail here.

[0102] It will be understood by those skilled in the art that all or some of the steps, systems, or apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, it is well known to those skilled in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

Claims

1. A video stitching control method, characterized in that, Applied to the control node side, the method includes: The control input node sends a processing layer data packet (TLP) to the target output node and sends forwarding control parameters to the target output node; the forwarding control parameters are generated according to the service type; wherein, the TLP data packet contains the TLP address of the target output node; the forwarding control parameters include: the BAR offset setting address of the forwarding target output node, the forwarding start address, and the forwarding address size; The target output node is controlled to determine whether to forward the TLP data packet according to the forwarding control parameters. When it is determined that the TLP data packet needs to be forwarded, the target output node is controlled to calculate the forwarding target output node TLP address of the TLP data packet according to the forwarding control parameters, and forward the TLP data packet according to the forwarding target output node TLP address. The step of controlling the target output node to determine whether to forward the TLP data packet according to the forwarding control parameters includes: The target output node is controlled to calculate the BAR offset address corresponding to the TLP data packet based on the TLP address of the target output node; wherein the TLP address of the target output node is the TLP address in the TLP data packet sent to the target output node; When the BAR offset address corresponding to the TLP data packet is within a preset forwarding range, it is determined that the TLP data packet needs to be forwarded; when the BAR offset address is not within the forwarding range, it is determined that the TLP data packet does not need to be forwarded; and The forwarding target output node TLP address is calculated according to the following formula: The forwarding target output node TLP address = the BAR offset address - the forwarding start address + the BAR offset setting address of the forwarding target output node.

2. The video stitching control method according to claim 1, characterized in that, The forwarding range includes the range between the preset forwarding start address and the forwarding end address; Wherein, the forwarding end address is equal to the sum of the forwarding start address and the size of the forwarding address.

3. The video stitching control method according to claim 2, characterized in that, The step of controlling the target output node to calculate the BAR offset address corresponding to the TLP data packet based on the TLP address of the target output node includes: calculating the BAR offset address according to the following BAR offset address calculation formula: The BAR offset address = the TLP address of the target output node - the BAR base address of the target output node.

4. The video stitching control method according to claim 3, in, The TLP address of the forwarding target output node is the TLP address in the TLP data packet forwarded to the forwarding target output node when the TLP data packet is forwarded.

5. The video stitching control method according to any one of claims 1-4, characterized in that, The method further includes: when all the forwarding control parameters received by the target output node are 0 or only the forwarding address size in the forwarding control parameters is 0, the target output node determines that it does not need to forward the TLP data packet.

6. The video stitching control method according to any one of claims 1-4, characterized in that, The service types include: those that require forwarding the TLP data packets and those that do not require forwarding the data packets; Generating the forwarding control parameters according to the service type includes: When the service type requires forwarding the TLP data packet, the forwarding control parameters are generated based on the BAR offset setting address, forwarding start address, and forwarding address size of the forwarding target output node. When the service type does not require forwarding the TLP data packet, the forwarding control parameters are generated after setting the BAR offset setting address of the forwarding target output node, the forwarding start address, and the forwarding address size to 0.

7. The video stitching control method according to claim 6, characterized in that, The method further includes: The service type is determined in advance based on the dragging action of the video at the input node; Specifically, when the same video at the input node is dragged to multiple output nodes, the service type is determined to require forwarding of the TLP data packet, and the multiple output nodes to which it is dragged are determined as target output nodes, and some of the target output nodes are determined as forwarding target output nodes. When the same video at the input node is dragged to an output node, it is determined that the service type does not require forwarding of the TLP data packet.

8. A video splicing control device, comprising a processor and a computer-readable storage medium, wherein the computer-readable storage medium stores instructions, characterized in that, When the instruction is executed by the processor, the video splicing control method as described in any one of claims 1-7 is implemented.

Citation Information

Patent Citations

  • Image transmission method and device based on PCIe protocol, and storage medium

    CN112969002A

  • Pcie-based data transmission method and device

    WO2021147046A1