[go: up one dir, main page]

CN112153481B - Video data processing method, computer device, and storage medium - Google Patents

Video data processing method, computer device, and storage medium Download PDF

Info

Publication number
CN112153481B
CN112153481B CN202010856228.6A CN202010856228A CN112153481B CN 112153481 B CN112153481 B CN 112153481B CN 202010856228 A CN202010856228 A CN 202010856228A CN 112153481 B CN112153481 B CN 112153481B
Authority
CN
China
Prior art keywords
processor
multicast group
video data
identification
speed serial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010856228.6A
Other languages
Chinese (zh)
Other versions
CN112153481A (en
Inventor
韦祖令
许裕锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ifreecomm Technology Co ltd
Original Assignee
Ifreecomm Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ifreecomm Technology Co ltd filed Critical Ifreecomm Technology Co ltd
Priority to CN202010856228.6A priority Critical patent/CN112153481B/en
Publication of CN112153481A publication Critical patent/CN112153481A/en
Application granted granted Critical
Publication of CN112153481B publication Critical patent/CN112153481B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present application relates to a video data processing method, a computer device, and a storage medium. The method comprises the following steps: a first processor in at least two processors acquires video data and acquires a second processor identifier corresponding to the video data; the system bus assembly determines a target multicast group identification from the multicast group identifications corresponding to the second processor identification; and the system bus assembly adds the second processor identification to a multicast group corresponding to the target multicast group identification, and the first processor sends the video data to a second processor which is added to the multicast group through the system bus assembly, so that the second processor processes the video data. The method can reduce the occupied performance of the processor when processing the video data.

Description

Video data processing method, computer device, and storage medium
Technical Field
The present application relates to the field of multimedia communication technologies, and in particular, to a video data processing method, apparatus, computer device, and storage medium.
Background
With the development of multimedia technology and video processing technology, professional video conference systems have strong requirements in traditional applications and also have new requirements in industries such as distance education and digital courts. Professional video conference terminals also have higher requirements, and users want to provide more video processing capacity to meet various application scenes of the users. However, the conventional method for processing video data by a processor has the problem of high occupied performance.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a video data processing method, apparatus, computer device and storage medium, which can reduce the performance occupied by a processor when processing video data.
A video data processing method is applied to computer equipment comprising at least two processors and a system bus assembly, wherein the system bus assembly is respectively connected with each processor of the at least two processors; the method comprises the following steps:
a first processor in at least two processors acquires video data and acquires a second processor identifier corresponding to the video data;
the system bus assembly determines a target multicast group identification from the multicast group identifications corresponding to the second processor identification;
and the system bus assembly adds the second processor identification to a multicast group corresponding to the target multicast group identification, and the first processor sends the video data to a second processor which is added to the multicast group through the system bus assembly, so that the second processor processes the video data.
In one embodiment, the system bus component is a high speed serial computer expansion bus component;
the system bus component determines a target multicast group identifier from the multicast group identifiers corresponding to the second processor identifiers, including:
the high-speed serial computer expansion bus component acquires a multicast group identifier corresponding to a second processor identifier from a mapping relation between the stored second processor identifier and the multicast group identifier;
and the high-speed serial computer expansion bus component determines a target multicast group identification from the multicast group identifications corresponding to the second processor identification.
In one embodiment, the high speed serial computer extension bus component stores a mapping of multicast group address ranges to multicast group identifications;
the method for acquiring the multicast group identifier corresponding to the second processor identifier from the mapping relationship between the second processor identifier and the multicast group identifier stored by the high-speed serial computer expansion bus component comprises the following steps:
the high-speed serial computer expansion bus component determines a corresponding target multicast group address range according to the second processor identification;
and the high-speed serial computer expansion bus component determines the multicast group identification corresponding to the target multicast group address range according to the mapping relation.
In one embodiment, the second processor identification is an address identification in the high speed serial computer expansion bus tree.
In one embodiment, the first processor transmitting the video data to a second processor joining the multicast group via the system bus component comprises:
the first processor transmitting the video data to the high speed serial computer expansion bus component;
the high-speed serial computer expansion bus assembly receives video data sent by the first processor and encapsulates the video data into a transaction layer data packet by adopting a high-speed serial computer expansion bus protocol;
the high speed serial computer expansion bus component sends the transaction layer packet to the second processor joining the multicast group.
In one embodiment, the system bus component determines a target multicast group identification from the multicast group identifications corresponding to the second processor identification, including:
when the number of the second processor identifications is at least two, the system bus component determines a target processor identification according to the service type of the video data;
and the system bus component takes the multicast group identification corresponding to the target processor identification as the target multicast group identification.
A computer device comprising at least two processors and a system bus component, the system bus component being connected to each of the at least two processors respectively;
a first processor of the at least two processors is used for acquiring video data and acquiring a second processor identifier corresponding to the video data;
the system bus component is used for determining a target multicast group identifier from the multicast group identifiers corresponding to the second processor identifiers;
the system bus component adds the second processor identification to a multicast group corresponding to the target multicast group identification;
the first processor is configured to send the video data to a second processor joining the multicast group through the system bus component, and the second processor is configured to process the video data after receiving the video data.
A computer-readable storage medium, on which a computer program is stored which, when executed by a processor, carries out the steps of:
a first processor in the at least two processors acquires video data and acquires a second processor identifier corresponding to the video data;
the system bus component determines a target multicast group identifier from the multicast group identifiers corresponding to the second processor identifier;
and the system bus assembly adds the second processor identification to a multicast group corresponding to the target multicast group identification, and the first processor sends the video data to a second processor which is added to the multicast group through the system bus assembly, so that the second processor processes the video data.
In the video data processing method, the computer device and the storage medium, the first processor of the at least two processors acquires the video data and the second processor identifier corresponding to the video data, that is, the processor to be received is designated before the video data is sent, the system bus component selects the target multicast group identifier from the multicast group identifiers corresponding to the receiving processor identifier and adds the processor identifier to the multicast group corresponding to the target multicast group identifier, so that the video data can be sent to the second processor of the multicast group at the same time, the video data of one processor can be distributed to other processors for video processing, the problem that the system performance occupied by the single processor is too high can be solved, and the resource occupation can be reduced.
Drawings
FIG. 1 is a diagram of an exemplary video data processing method;
FIG. 2 is a flow diagram illustrating a method for video data processing according to one embodiment;
FIG. 3 is a flow diagram illustrating the transmission of video data in one embodiment;
FIG. 4 is a schematic diagram of a computer apparatus in one embodiment;
FIG. 5 is a diagram illustrating hardware processing of a video data processing method according to an embodiment;
FIG. 6 is a diagram illustrating an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The video data processing method provided by the application can be applied to the application environment shown in fig. 1. The computer device 100 includes a first processor 110, a second processor 120, and a system bus assembly 130. The system bus component 130 is a separate computer bus and is the primary component that connects the processors. For example, the number of the first processor 110 and the second processor 120 may be unlimited. The system bus assembly 130 is coupled to the first processor 110 and the second processor 120, respectively. And the system bus component 130 may be located in the first processor 110 or in the second processor 120. A processor containing the system bus components may act as the master processor. The computer device 100 may be a terminal device, and may be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, and portable wearable devices.
In one embodiment, because the processor performance of the embedded system is limited, the video processing capabilities such as encoding and decoding are limited, and the processing of videos in the professional video conference system is relatively complex, when processing such as video encoding, video decoding, local multi-channel picture splicing, multi-channel far-end picture and local multi-channel picture splicing display or encoding and the like needs to be performed on more than 64 large-scale video data, the performance of a Central Processing Unit (CPU) is poor and cannot meet the requirements. And because the video conference belongs to strong interactive application, the processing capacity of multiple paths of videos directly influences the use experience of users, so that the current embedded high-definition video conference terminal has certain limitation.
In one embodiment, as shown in fig. 2, a video data processing method is provided, which is described by taking the method as an example applied to the computer device 100 in fig. 1, and comprises the following steps:
in step 202, a first processor of the at least two processors acquires video data and acquires a second processor identifier corresponding to the video data.
Wherein the first processor is a processor that transmits video data. The first processor may be any one of the processors in the computer device, and may also be configured according to the service type. The video data may be a single-channel video or multiple-channel video. The second processor is not the same processor as the first processor. And the second processor identification is an identification of the processor to be received. The second processor identification may be an identification of a processor in the computer device other than the first processor identification to which said first processor corresponds.
Specifically, a first processor of the at least two processors obtains video data and obtains a second processor identification corresponding to the video data. I.e. before the first processor sends the video data, it is specified to which processor the video data needs to be sent. For example, the first processor is an a processor, the second processor identifier may be B, C, etc., and the corresponding to-be-received processor is a B processor, a C processor.
In step 204, the system bus component determines a target multicast group identifier from the multicast group identifiers corresponding to the second processor identifier.
Wherein the second processor identification is for uniquely identifying the processor in the computer device. The second processor identification may be at least one of a number, a word, a letter, and a symbol. The number of second processor identifications is at least one. Each second processor identification has a corresponding multicast group identification. And each second processor identification is not the same as the corresponding multicast group identification. For example, the multicast group identifier corresponding to the processor a is multicast group 0; the multicast group identifier corresponding to the B processor is multicast group 1 \ 8230, but is not limited thereto. The multicast group identifier is an identifier corresponding to a multicast group joined by the second processor.
Specifically, when the number of second processor identifications is one, the system bus component takes the second processor identification as the target processor identification. When the number of the second processor identifications is at least two, the system bus component may use any one of the second processor identifications as a target processor identification, and use a multicast group identification corresponding to the target processor identification as a target multicast group identification.
In step 206, the system bus component adds the identifier of the second processor to the multicast group corresponding to the multicast group identifier, and the first processor sends the video data to the second processor added to the multicast group through the system bus component, so that the second processor processes the video data.
Multicast, also known as multicast, targeted broadcast, is a form of transmission used in networks that allows for the delivery of a message to a selected subset of all possible destinations, i.e., to deliver information to a variety of addresses as specified. Multicasting is a method of communicating between a sender and multiple receivers. The multicast group includes an identification of a second processor to receive the video data.
Specifically, the system bus component adds the second processor identification to the multicast group corresponding to the multicast group identification. I.e., the multicast group includes the second processor identification and the second processor has joined the multicast group. The first processor sends video data to a second processor that is joined in the multicast group via the system bus component to identify the corresponding second processor. And the second processor processes the video data after receiving the video data.
In this embodiment, the processing the video data by the second processor includes: the second processor performs at least one of splicing, encoding and scaling on the video. For example, the second processor includes a B processor, a C processor, and a D processor, and the B processor may perform the splicing process, the C processor may perform the encoding process, the D processor may perform the scaling process, and the like, but is not limited thereto.
In this embodiment, each processor may transmit video data in a DMA (Direct Memory Access) manner. Where a DMA transfer copies data from one address space to another. When the processor initiates this transfer, the transfer itself is performed and completed by the DMA controller. A typical example is to move a block of external memory to a faster memory area inside the chip. Such operations do not stall the processor's work, but may instead be rescheduled to process other work. DMA transfers are important for high performance embedded system algorithms and networks.
According to the video data processing method, the first processor of the at least two processors acquires the video data and the second processor identification corresponding to the video data, namely the processor to be received is appointed before the video data is sent, the system bus assembly selects the target multicast group identification from the multicast group identifications corresponding to the receiving processor identification and adds the identification of the processor to be received into the multicast group corresponding to the target multicast group identification, so that the video data can be sent to the second processor of the multicast group at the same time, the video data of one processor can be distributed to other processors for video processing, the problem that the system performance occupied by the single processor is too high can be solved, the resource occupation is reduced, the video processing delay is reduced, the system stability is improved, and better use experience is presented to users.
In one embodiment, the video conference application includes a plurality of video processing scenes, such as a local single-path acquisition local display, a local multi-path acquisition splicing code sent to a far-end, a far-end picture and a local picture splicing display. In order to meet the use scenes, a single processor cannot process multiple paths of video data, a PCIe assembly is required to be used among the multiple processors to transmit original video data, one path of video can be distributed to different processors to be processed according to different service scenes, and PCIe communication among the traditional processors adopts a one-to-one transmission mode which cannot meet the video processing service with low delay and flexible switching at the same time. A way of implementing video data transmission via the system bus components is therefore proposed. The system bus component determines a target multicast group identifier from the multicast group identifiers corresponding to the second processor identifier, including: the high-speed serial computer expansion bus component acquires a multicast group identifier corresponding to the second processor identifier from the mapping relation between the stored second processor identifier and the multicast group identifier; the high speed serial computer expansion bus component determines a target multicast group identification from the multicast group identifications corresponding to the second processor identification.
Among them, the high-speed serial computer expansion bus component, namely PCIe (peripheral component interconnect Express), also called PCI-Express, is a high-speed serial computer expansion bus standard. The PCI bus uses a parallel bus structure, all the external devices on the same bus share the bus bandwidth, and the PCIe bus uses a high-speed differential bus and adopts an end-to-end connection mode, so that only two devices can be connected in each PCIe link. This makes the topology adopted by the PCIe and PCI buses different.
Specifically, a mapping relationship between the second processor identification and the multicast group identification is stored in the high speed serial computer expansion bus component. And the high-speed serial computer expansion bus component acquires the multicast group identification corresponding to each second processor identification from the mapping relation between the second processor identification and the multicast group stored in the high-speed serial computer expansion bus component. The high speed serial computer expansion bus component determines a target multicast group identification from the multicast group identifications corresponding to the second processor identification. For example, if the second processor identifiers are B, C, and D, then the multicast group identifier 1 corresponding to B, the multicast group identifier 2 corresponding to C, and the multicast group identifier 3 corresponding to D are obtained, and the target multicast group identifier is determined from the multicast group identifier 1, the multicast group identifier 2, and the multicast group identifier 3.
According to the video data processing method, the high-speed serial computer expansion bus assembly obtains the multicast group identification corresponding to the second processor identification from the mapping relation between the stored second processing identification and the multicast group identification, and determines the target multicast group identification, so that the function of one PCIe assembly with more than one address can be realized, dozens of paths of video data can be processed, the performance requirement on a single processor is very low, the receiving and sending paths of multi-path videos can be flexibly configured, a large amount of cost is saved compared with an fpga (Field Programmable Gate Array) switching chip used for traditional video switching, low-delay video processing can be provided, and the requirement of an embedded video conference system is completely met.
In one embodiment, a high speed serial computer expansion bus component stores a mapping of multicast group address ranges to multicast group identifications.
The method for acquiring the multicast group identification corresponding to each second processor identification in the second processor identifications by the high-speed serial computer expansion bus component from the mapping relation between the stored second processor identifications and the multicast group identifications comprises the following steps: the high-speed serial computer expansion bus component determines a corresponding target multicast group address range according to the second processor identification; and determining the multicast group identification corresponding to the target multicast group address range according to the mapping relation.
Wherein, the multicast works by using a concept of virtual group address, the destination addresses of the data packets are not one but one group, and the multicast group address is formed, therefore, a large amount of multicast address space is reserved for multicast communication. The second processor identification may be a multicast group address.
Specifically, the high speed serial computer expansion bus component stores a mapping relationship of a multicast group address range and a multicast group identification. As shown in table 1 below, which is a mapping relationship table of multicast group address ranges and multicast group identifications. The high speed serial computer bus component determines a corresponding target multicast group address range based on the second processor identification. And determining the multicast group identification corresponding to the target multicast group address range according to the mapping relation. For example, the second processor identifier is 0x20000000, the corresponding Multicast Group address range is 0x20000000 to 0x20799999, and the corresponding Multicast Group number is Multicast Group 0. Or, if the second processor identifier is the B processor, the multicast group address of the processor needs to be acquired, the target multicast group address range is determined according to the multicast group address, and the multicast group identifier corresponding to the target multicast group address range is determined according to the mapping relationship. The multicast group may be 8M (megabits) in size, with the multicast base address for all ports of the PCIe switch set to an address in the PCIe space.
TABLE 1
Multicast group address range Multicast group number
0x20000000~0x20799999 Multicast Group 0
0x20800000~0x20999999 Multicast Group 1
0x21000000~0x21799999 Multicast Group 2
0x21800000~0x21999999 Multicast Group 3
0x22000000~0x22799999 Multicast Group 4
0x22800000~0x22999999 Multicast Group 5
0x23000000~0x23799999 Multicast Group 6
According to the video data processing method, the high-speed serial computer expansion bus component determines the corresponding target multicast group address range according to the second processor identifier, and determines the multicast group identifier corresponding to the target multicast group address range according to the mapping relation, so that which multicast group needs to be added can be determined, video data of one processor can be distributed to other processors for video processing, and the video processing efficiency is improved.
In one embodiment, the second processor identification is an address identification in a high speed serial computer expansion bus tree. Specifically, the second processor is identified as 0x20000000 as shown in table 1, but not limited thereto. The second processor identifier is the address identifier in the high-speed serial computer expansion bus tree, and the high-speed serial computer expansion bus component can directly determine the multicast group address range without acquiring the address identifier of the second processor, thereby improving the video processing efficiency.
In one embodiment, as shown in fig. 3, a schematic flow chart of transmitting video data in one embodiment is shown. A first processor transmitting video data to a second processor joining a multicast group via a system bus component, comprising:
at step 302, the first processor sends video data to the high speed serial computer expansion bus component.
Specifically, the first processor sends video data to the high speed serial computer expansion bus component through the connected high speed serial computer expansion bus component port.
And step 304, the high-speed serial computer expansion bus component receives the video data sent by the first processor and encapsulates the video data into a transaction layer data packet by adopting a high-speed serial computer expansion bus protocol.
The high-speed serial computer expansion bus protocol is PCIe bus protocol. The Transaction Layer Packet (TLP) includes video data, a second processor identifier, and may further include first processor-related information such as, but not limited to, a first processor identifier.
Specifically, the high-speed serial computer expansion bus component receives video data sent by the first processor, and encapsulates the video data into a transaction layer data packet by adopting a high-speed serial computer expansion bus protocol.
At step 306, the high speed serial computer expansion bus component sends the transaction layer packet to the second processor joining the multicast group.
Specifically, the high speed serial computer expansion bus component sends a transaction layer packet to the second processor that joined the multicast group identifying the corresponding second processor.
According to the video data processing method, the PCIe assembly receives video data sent by the first processor, and the video data is encapsulated into the transaction layer data packet by adopting a PCIe bus protocol, so that the video data can be converted into a format capable of being transmitted in the PCIe assembly, and the transaction layer data packet is sent to the target processor added into the multicast group, so that the target processor can simultaneously receive and process the transaction layer data packet, the system performance consumed by a single processor is reduced, and the time delay of video data processing is reduced.
In one embodiment, the system bus component determines a target multicast group identification from the multicast group identifications corresponding to the second processor identification, comprising: when the number of the second processor identifications is at least two, the system bus component determines a target processor identification according to the service type of the video data; and the system bus component takes the multicast group identification corresponding to the target processor identification as the target multicast group identification.
In particular, the first processor may designate a plurality of second processor identifications as the to-be-received processor identifications. When the second processor identifications are at least two, the system bus component determines the target processor identification according to the service type of the video data. The system bus component uses the multicast group identification corresponding to the target processor identification as the target multicast group identification. For example, the service type may be a video conference type, etc., without being limited thereto. And if the service type is the video conference type and the corresponding target processor identifier is the processor A, the system bus component takes the multicast group 0 corresponding to the processor A as the target multicast group identifier.
According to the video data processing method, the service types corresponding to the processors can be different, when the number of the second processors is at least two, the system bus assembly determines the target processor identifier according to the service types of the video data, and the multicast group identifier corresponding to the target processor identifier is used as the target multicast group identifier, so that the video processing efficiency can be improved.
In one embodiment, as shown in FIG. 4, a schematic diagram of a computer device in one embodiment is shown. FIG. 4 includes processor A, processor B, processor C, processor D, processor E, processor F, processor G, and PCIe switch components, i.e., high speed serial computer expansion bus components, for multi-channel video processing. Wherein, the processor A, the processor B, the processor C, the processor D, the processor E, the processor F and the processor G are not the same processor but can be the same type of processor. For example, the model of the A processor is hi3536, the model of the B processor, the C processor, the D processor, the E processor, the F processor and the G processor are all hi3531D, and all of the processors are multi-channel high-definition soc system chips, and PCIe switch chip connections are used among 7 processors. PCIe switch chip model is PES24NT24G2. The processor A serves as a transmitting end of PCIe switch, and the processor B, the processor C, the processor D, the processor E, the processor F and the processor G serve as receiving ends.
In one embodiment, as shown in fig. 5, a hardware processing diagram of a video data processing method in one embodiment is shown. The A processor acts as a host processor and includes a PCIe component therein. The B processor, the C processor, the D processor, the E processor, the F processor and the G processor are taken as slave processors. The addresses in FIG. 5 are the addresses of the processor in the high speed serial computer expansion bus tree. The multicast group in fig. 5 refers to a multicast group to which a processor is currently joined, rather than the multicast group in table 1.
The embodiment provides a PCIe-based video data send-multiple-processing implementation scheme, where the implementation scheme is composed of 1 master processor and 6 slave processors, one processor may send more than one path of video data, and multiple processors may be flexibly configured to receive data, and the specific description is as follows:
1. according to address allocation of a transmitting end and a receiving end of a PCIe component, a PCIe switch is configured to divide address ranges of 7 multicast groups, as shown in the above table 1.
2. The multicast group number of the processor is configured and determined according to the multicast group address bearing corresponding to the sending processor, as shown in table 1 above.
And the 3G processor acquires the video data and formulates a second processor identifier for receiving the video data. For example, the second processors are identified as 0x20000000, 0x20800000, 0x21000000 and 0x21800000, i.e. the addresses corresponding to the a processor, the B processor, the C processor and the D processor, respectively. In the figure, the target multicast group id determined by the PCIe component is the multicast group 0 corresponding to the a processor as shown in table 1, and then the PCIe component adds 0x20000000, 0x20800000, 0x21000000, and 0x21800000 to the multicast group 0. The PCIe assembly copies the video data, encapsulates the video data into a transaction layer data packet by adopting a PCIe bus protocol, and sends the video data to the processor A, the processor B, the processor C and the processor D. The A processor, the B processor, the C processor and the D processor receive video data through corresponding ports.
And after the A processor, the B processor, the C processor and the D processor receive data, splicing, coding, zooming and other processing are carried out on the video data.
In the video data processing method, one processor sends video data to a plurality of processors, and the processor which is going to receive the data is added into the multicast group corresponding to the processor which sends the data, so that any processor in the multicast group uses dma to transmit the data, and other processors in the multicast group can receive the data. Therefore, the video data is processed through the multicast group, the performance of the processor is fully utilized, the video processing delay is reduced, the system stability is improved, and better use experience is presented to users; through the scheme design, code writing, function debugging and the like, the video data can be processed by a plurality of processors at the same time, the load of a single processor is reduced, the time delay is reduced, the requirements of the embedded high-definition terminal in complex video application are met, and the video conference effect is obviously improved.
It should be understood that although the various steps in the flow charts of fig. 2-3 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not limited to being performed in the exact order illustrated and, unless explicitly stated herein, may be performed in other orders. Moreover, at least some of the steps in fig. 2-3 may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed in turn or alternately with other steps or at least some of the other steps.
In one embodiment, a computer device is provided, the computer device comprising at least two processors and a system bus component;
a first processor in the at least two processors is used for acquiring the video data and acquiring a second processor identifier corresponding to the video data;
the system bus component is used for determining a target multicast group identifier from the multicast group identifiers corresponding to the second processor identifiers;
the system bus assembly adds the second processor identification to a multicast group corresponding to the target multicast group identification;
the first processor is used for sending video data to a second processor which joins in the multicast group through the system bus assembly, and the second processor is used for processing the video data after receiving the video data.
In the computer device, the first processor of the at least two processors acquires the video data and the identifier of the second processor corresponding to the video data, that is, the processor to be received is designated before the video data is sent, and then the system bus component selects the identifier of the target multicast group from the identifiers of the multicast groups corresponding to the identifier of the receiving processor and adds the identifier of the processor to be received to the multicast group corresponding to the identifier of the target multicast group, so that the video data can be sent to the second processor of the multicast group at the same time, and the video data of one processor can be distributed to other processors for video processing.
In one embodiment, the system bus component is a high speed serial computer expansion bus component;
the high-speed serial computer expansion bus assembly is used for acquiring a multicast group identifier corresponding to the second processor identifier from the stored mapping relation between the second processor identifier and the multicast group identifier;
the high-speed serial computer expansion bus component is used for determining the target multicast group identification from the multicast group identification corresponding to the second processor identification.
According to the computer device, the high-speed serial computer expansion bus component obtains the multicast group identification corresponding to the second processor identification from the mapping relation between the stored second processing identification and the multicast group identification, and determines the target multicast group identification, so that the function of one PCIe component with more than one address can be realized, dozens of paths of video data can be processed, the performance requirement on a single processor is very low, the receiving and sending paths of multiple paths of videos can be flexibly configured, a large amount of cost is saved compared with an fpga (Field Programmable Gate Array) switching chip used for traditional video switching, low-delay video processing can be provided, and the requirement of an embedded video conference system is completely met.
In one embodiment, a high speed serial computer expansion bus component stores a mapping relationship of a multicast group address range and a multicast group identification;
the high-speed serial computer expansion bus component is used for determining a corresponding target multicast group address range according to the second processor identification;
the high-speed serial computer expansion bus assembly is used for determining the multicast group identification corresponding to the target multicast group address range according to the mapping relation.
According to the computer device, the high-speed serial computer expansion bus component obtains the multicast group identification corresponding to the second processor identification from the mapping relation between the stored second processing identification and the multicast group identification, and determines the target multicast group identification, so that the function of one PCIe component with more than one address can be realized, dozens of paths of video data can be processed, the performance requirement on a single processor is very low, the receiving and sending paths of multiple paths of videos can be flexibly configured, a large amount of cost is saved compared with an fpga (Field Programmable Gate Array) switching chip used for traditional video switching, low-delay video processing can be provided, and the requirement of an embedded video conference system is completely met.
In one embodiment, the second processor identification is an address identification in a high speed serial computer expansion bus tree. The second processor identifier is the address identifier in the high-speed serial computer expansion bus tree, and the high-speed serial computer expansion bus component can directly determine the multicast group address range without acquiring the address identifier of the second processor, thereby improving the video processing efficiency.
In one embodiment, a first processor transmitting video data to a second processor joining a multicast group via a system bus component, comprising:
the first processor is used for sending video data to the high-speed serial computer expansion bus assembly;
the high-speed serial computer expansion bus component is used for receiving video data sent by the first processor and packaging the video data into a transaction layer data packet by adopting a high-speed serial computer expansion bus protocol;
the high speed serial computer expansion bus component is for sending the transaction layer packet to the second processor joining the multicast group.
In the computer device, the PCIe component receives the video data sent by the first processor, and encapsulates the video data into the transaction layer packet by using the PCIe bus protocol, so that the video data can be converted into a format that can be transmitted in the PCIe component, and the transaction layer packet is sent to the target processor added to the multicast group, so that the target processor can receive and process the transaction layer packet at the same time, thereby reducing the system performance consumed by a single processor, and reducing the time delay of video data processing.
In one embodiment, the system bus component determines a target multicast group identification from the multicast group identifications corresponding to the second processor identification, comprising:
when the second processor identifications are at least two, the system bus component is used for determining a target processor identification according to the service type of the video data;
the system bus component is used for taking the multicast group identification corresponding to the target processor identification as the target multicast group identification.
In the computer device, the service types corresponding to each processor may be different, when the number of the second processor identifiers is at least two, the system bus component determines the target processor identifier according to the service type of the video data, and the multicast group identifier corresponding to the target processor identifier is used as the target multicast group identifier, so that the video processing efficiency can be improved.
For specific limitations of the video data processing apparatus, reference may be made to the above limitations of the video data processing method, which are not described herein again. The respective modules in the video data processing apparatus described above may be implemented in whole or in part by software, hardware, and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a terminal device, and its internal structure diagram may be as shown in fig. 6. The computer device includes a processor, a memory, a communication interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless communication can be realized through WIFI, an operator network, NFC (near field communication) or other technologies. The computer program is executed by a processor to implement a video data processing method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
Those skilled in the art will appreciate that the architecture shown in fig. 6 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is further provided, which includes a memory and a processor, the memory stores a computer program, and the processor implements the steps of the above method embodiments when executing the computer program.
In an embodiment, a computer-readable storage medium is provided, in which a computer program is stored which, when being executed by a processor, carries out the steps of the above-mentioned method embodiments.
In one embodiment, a computer program product or computer program is provided that includes computer instructions stored in a computer-readable storage medium. The computer instructions are read by a processor of the computer device from a computer-readable storage medium, and the computer instructions are executed by the processor to cause the computer device to perform the steps of the above-described method embodiments.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database or other medium used in the embodiments provided herein can include at least one of non-volatile and volatile memory. Non-volatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical storage, or the like. Volatile Memory can include Random Access Memory (RAM) or external cache Memory. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), among others.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent application shall be subject to the appended claims.

Claims (10)

1. A video data processing method is applied to computer equipment comprising at least two processors and a system bus assembly, wherein the system bus assembly is respectively connected with each processor of the at least two processors; the system bus assembly is a high-speed serial computer expansion bus assembly; the method comprises the following steps:
a first processor in the at least two processors acquires video data and acquires a second processor identifier corresponding to the video data; the video data comprises multiple channels of video;
the high-speed serial computer expansion bus component acquires a multicast group identifier corresponding to a second processor identifier from a mapping relation between the second processor identifier and the multicast group identifier; the high-speed serial computer expansion bus component determines a target multicast group identifier from the multicast group identifiers corresponding to the second processor identifiers;
the high-speed serial computer expansion bus component adds the second processor identification to a multicast group corresponding to the target multicast group identification, and the first processor sends the video data to the second processor which is added to the multicast group through the high-speed serial computer expansion bus component, so that the second processor processes the multiple paths of videos; the processing is splicing, encoding or scaling.
2. The method of claim 1 wherein the high speed serial computer expansion bus component stores a mapping of multicast group address ranges to multicast group identifications;
the method for acquiring the multicast group identifier corresponding to the second processor identifier from the mapping relation between the second processor identifier and the multicast group identifier stored in the high-speed serial computer expansion bus component comprises the following steps:
the high-speed serial computer expansion bus component determines a corresponding target multicast group address range according to the second processor identification;
and the high-speed serial computer expansion bus assembly determines the multicast group identification corresponding to the target multicast group address range according to the mapping relation.
3. The method according to any one of claims 1 to 2, further comprising:
when the number of the second processor identifications is one, the system bus component takes the second processor identifications as target processor identifications;
and taking the multicast group identification corresponding to the target processor identification as the target multicast group identification.
4. The method of any of claims 1-2, wherein the second processor identification is an address identification in the high speed serial computer expansion bus tree.
5. The method of any of claims 1 to 2, wherein the first processor transmitting the video data to a second processor joining the multicast group via the system bus component comprises:
the first processor transmitting the video data to the high speed serial computer expansion bus component;
the high-speed serial computer expansion bus assembly receives video data sent by the first processor and encapsulates the video data into a transaction layer data packet by adopting a high-speed serial computer expansion bus protocol;
the high speed serial computer expansion bus component sends the transaction layer packet to the second processor joining the multicast group.
6. The method of any of claims 1 to 2, further comprising:
when the number of the second processor identifications is at least two, the system bus component determines a target processor identification according to the service type of the video data;
and the system bus component takes the multicast group identification corresponding to the target processor identification as the target multicast group identification.
7. A computer device comprising at least two processors and a system bus component, the system bus component being coupled to each of the at least two processors; the system bus assembly is a high-speed serial computer expansion bus assembly;
a first processor of the at least two processors is used for acquiring video data and acquiring a second processor identifier corresponding to the video data; the video data comprises multiple channels of video;
the high-speed serial computer expansion bus component acquires a multicast group identifier corresponding to a second processor identifier from a mapping relation between the second processor identifier and the multicast group identifier; the high-speed serial computer expansion bus component determines a target multicast group identifier from the multicast group identifiers corresponding to the second processor identifiers;
the high-speed serial computer expansion bus component adds the second processor identification to a multicast group corresponding to the target multicast group identification; the first processor is used for sending the video data to a second processor which is added into the multicast group through the high-speed serial computer expansion bus assembly, and the second processor is used for processing the multi-path video after receiving the video data; the processing is splicing, encoding or scaling.
8. The computer device of claim 7, wherein the high speed serial computer expansion bus component stores a mapping of multicast group address ranges to multicast group identifications;
the high-speed serial computer expansion bus component determines a corresponding target multicast group address range according to the second processor identification;
and the high-speed serial computer expansion bus component determines the multicast group identification corresponding to the target multicast group address range according to the mapping relation.
9. The computer device of claim 8, wherein the high speed serial computer expansion bus component stores a mapping of multicast group address ranges to multicast group identifications;
the high-speed serial computer expansion bus component is used for determining a corresponding target multicast group address range according to the second processor identification;
and the high-speed serial computer expansion bus assembly is used for determining the multicast group identification corresponding to the target multicast group address range according to the mapping relation.
10. A computer-readable storage medium, storing a computer program, characterized in that the computer program, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 6.
CN202010856228.6A 2020-08-24 2020-08-24 Video data processing method, computer device, and storage medium Active CN112153481B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010856228.6A CN112153481B (en) 2020-08-24 2020-08-24 Video data processing method, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010856228.6A CN112153481B (en) 2020-08-24 2020-08-24 Video data processing method, computer device, and storage medium

Publications (2)

Publication Number Publication Date
CN112153481A CN112153481A (en) 2020-12-29
CN112153481B true CN112153481B (en) 2023-02-17

Family

ID=73888919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010856228.6A Active CN112153481B (en) 2020-08-24 2020-08-24 Video data processing method, computer device, and storage medium

Country Status (1)

Country Link
CN (1) CN112153481B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584411B (en) * 2022-02-25 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 PCIe multicast verification method, device, electronic device and storage medium
CN117749706B (en) * 2023-12-18 2024-10-29 无锡众星微系统技术有限公司 PCIE SWITCH multicast processing method and PCIE SWITCH multicast processing device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009140994A1 (en) * 2008-05-19 2009-11-26 Telefonaktiebolaget Lm Ericsson (Publ) Switching between delivery methods in an iptv communication network
CN102226943A (en) * 2011-04-29 2011-10-26 杭州海康威视数字技术股份有限公司 System and method for realizing screen splicing
EP2381676A2 (en) * 2010-03-31 2011-10-26 Kabushiki Kaisha Toshiba Broadcast receiving apparatus and broadcast receiving method
CN103858363A (en) * 2011-10-10 2014-06-11 Lg电子株式会社 Apparatus and method for transmitting and receiving multicast data in wireless communication system
WO2016078186A1 (en) * 2014-11-20 2016-05-26 广州华多网络科技有限公司 Method and device for live video broadcast
CN107223348A (en) * 2015-03-12 2017-09-29 英特尔Ip公司 Dynamic indicator graph for multicast group and traffic indication
CN107566855A (en) * 2016-06-30 2018-01-09 华为技术有限公司 Method, server and the set top box that channel is switched fast

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3251593B2 (en) * 1996-05-08 2002-01-28 三菱電機株式会社 Abnormality detection device and abnormality detection method
US7236465B2 (en) * 2002-06-13 2007-06-26 International Business Machines Corporation System and method for gathering multicast content receiver data
US8413188B2 (en) * 2009-02-20 2013-04-02 At&T Intellectual Property I, Lp System and method for processing image objects in video data
US8411129B2 (en) * 2009-12-14 2013-04-02 At&T Intellectual Property I, L.P. Video conference system and method using multicast and unicast transmissions
JP5314712B2 (en) * 2011-02-14 2013-10-16 株式会社エヌ・ティ・ティ・ドコモ Base station apparatus and user apparatus
WO2016119112A1 (en) * 2015-01-26 2016-08-04 华为技术有限公司 Method and device for selecting control channel
WO2016191304A1 (en) * 2015-05-22 2016-12-01 Gray Research LLC Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits, and applications of the router and network
WO2018119331A1 (en) * 2016-12-23 2018-06-28 Kirkpatrick Vitaly M Distributed wireless audio and/or video transmission

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009140994A1 (en) * 2008-05-19 2009-11-26 Telefonaktiebolaget Lm Ericsson (Publ) Switching between delivery methods in an iptv communication network
EP2381676A2 (en) * 2010-03-31 2011-10-26 Kabushiki Kaisha Toshiba Broadcast receiving apparatus and broadcast receiving method
CN102226943A (en) * 2011-04-29 2011-10-26 杭州海康威视数字技术股份有限公司 System and method for realizing screen splicing
CN103858363A (en) * 2011-10-10 2014-06-11 Lg电子株式会社 Apparatus and method for transmitting and receiving multicast data in wireless communication system
WO2016078186A1 (en) * 2014-11-20 2016-05-26 广州华多网络科技有限公司 Method and device for live video broadcast
CN107223348A (en) * 2015-03-12 2017-09-29 英特尔Ip公司 Dynamic indicator graph for multicast group and traffic indication
CN107566855A (en) * 2016-06-30 2018-01-09 华为技术有限公司 Method, server and the set top box that channel is switched fast

Also Published As

Publication number Publication date
CN112153481A (en) 2020-12-29

Similar Documents

Publication Publication Date Title
KR101784900B1 (en) Computer, control device and data processing method
US9537786B2 (en) Method, device, and system for information processing based on distributed buses
CN112153481B (en) Video data processing method, computer device, and storage medium
WO2016065643A1 (en) Network card configuration method and resource management center
US11449456B2 (en) System and method for scheduling sharable PCIe endpoint devices
CN103634336A (en) File cooperative downloading system, device and method
CN119226205A (en) A method and device for data processing
US20200244579A1 (en) Flexible Ethernet Frame Forwarding Method and Apparatus
CN115442239A (en) Bandwidth resource allocation method, PCIe channel switcher and electronic equipment
CN109286564B (en) Message forwarding method and device
JP7577836B2 (en) Image transmission method and device
CN102299857B (en) Multicast message processing method, line card and communication equipment
CN111475454B (en) PCIe interface-based communication method and device, computer equipment and computer-readable storage medium
US20230394000A1 (en) Interconnection system, data transmission method, and chip
CN116150058B (en) AXI bus-based concurrent transmission module and method
CN114356830B (en) Bus terminal control method, device, computer equipment and storage medium
CN117354867A (en) Data transmission method, device and storage medium
CN113163416B (en) Message processing method, device, base station and storage medium
CN109309615B (en) Method and device for transmitting data
US8069273B2 (en) Processing module
CN106027423A (en) Shared network of PCIe (Peripheral Component Interconnect-Express) device and data transmission method thereof
CN115119316B (en) Resource allocation method, device and readable storage medium
CN111478802A (en) Distribution network processing method and device, computer equipment and storage medium
CN106886381B (en) Network type multi-computer switcher
CN113176911B (en) Configuration method, data processing method, chip and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant