CN102801969A - Method, device and system of processing multimedia data - Google Patents

Method, device and system of processing multimedia data Download PDF

Info

Publication number
CN102801969A
CN102801969A CN2012102588413A CN201210258841A CN102801969A CN 102801969 A CN102801969 A CN 102801969A CN 2012102588413 A CN2012102588413 A CN 2012102588413A CN 201210258841 A CN201210258841 A CN 201210258841A CN 102801969 A CN102801969 A CN 102801969A
Authority
CN
China
Prior art keywords
data
queue
address
transmitting device
packing
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.)
Pending
Application number
CN2012102588413A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2012102588413A priority Critical patent/CN102801969A/en
Publication of CN102801969A publication Critical patent/CN102801969A/en
Priority to PCT/CN2013/074634 priority patent/WO2014015688A1/en
Pending legal-status Critical Current

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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention discloses a method, a device and a system of processing multimedia data, and belongs to the technical field of information. The method comprises the following steps of: encoding the multimedia data by each encoding device in a plurality of encoding devices through a multi-path encoding channel to obtain multi-path encoding data; and packaging the multi-path encoding data, sending the packaged data into a corresponding direct memory access (DMA) cache in a transmission device, dismantling the packaged data in the DMA cache by the transmission device, and transmitting the dismantled data. According to the method, the device and the system of processing the multimedia data disclosed by the invention, by adopting a mode of cascading the plurality of encoding devices and the transmission device, multi-path video encoding is shared by the plurality of encoding devices, and the problem of overload of a single encoding device can be solved; by adopting a DMA transmission mechanism, the code stream transmission stability of each encoding device can be ensured, and a code stream can also be in multithreading parallel processing; and by adopting a mode of data packaging and sending, the DMA transmission efficiency is improved, and power consumption of a CPU (Central Processing Unit) is lowered.

Description

The method of process multimedia data, Apparatus and system
Technical field
The present invention relates to areas of information technology, particularly a kind of method of process multimedia data, Apparatus and system.
Background technology
Along with rapid development of multimedia, video has got into the high definition epoch, and its range of application is also more and more wider.Handling to realize the multi-channel video monitoring through multi-medium data is encoded and transmission etc., is the wider a kind of Video Applications of present range of application.For video pictures more clearly is provided to the user, make video pictures reach high definition resolution, how multi-medium data is encoded and transmission process, become a key issue in the multi-channel video monitoring application.
Prior art is being encoded to multi-medium data and during transmission process; Gather the multichannel multi-medium data through single-chip; And to the multi-medium data that collects encode obtain coded data after, coded data is transferred to External memory equipment or carries out Network Transmission.
In realizing process of the present invention, the inventor finds that there is following problem at least in prior art:
Because prior art is when process multimedia data; Its data acquisition, digital coding and code stream transmission course all realize on a chip; For the multi-channel video monitoring; The data volume of multi-medium data is bigger, causes chip coding overload of the prior art, thereby lower to the treatment effeciency of multi-medium data.
Summary of the invention
In order to solve prior art problems, the embodiment of the invention provides a kind of method, Apparatus and system of process multimedia data.Said technical scheme is following:
On the one hand, a kind of method of process multimedia data is provided, said method comprises:
Each code device in a plurality of code devices is encoded to multi-medium data through the multiplex coding passage, obtains the multiplex coding data;
With said multiplex coding packing data; And packing data is sent in the transmitting device corresponding DMA (Direct Memory Access; Direct memory access) in the buffer memory, the packing data in the said DMA buffer memory is disassembled, and transmitted the data after disassembling by said transmitting device.
Further, said with said multiplex coding packing data, specifically comprise:
Obtain the coded data of each road coding pass output successively, and the coded data of every road coding pass output that will get access to is packaged into a packet respectively;
Perhaps, obtain the coded data of each road coding pass output successively, and after the size of the coded data that gets access to reaches threshold value, the coded data that gets access to is packaged into a packet.
Further, said packing data is sent in the transmitting device in the corresponding direct memory access DMA buffer memory, specifically comprises:
Inquire about the empty queue of the DMA buffer memory of said correspondence, and obtain the address of said empty queue;
According to the address of said empty queue packing data is sent in the empty queue of DMA buffer memory of said correspondence, makes said empty queue transfer data queue to, the address of said data queue is identical with the address of said empty queue.
Further, said address according to said empty queue is sent to packing data in the empty queue of DMA buffer memory of said correspondence, and said empty queue is transferred to after the data queue, also comprises:
Send data to said transmitting device and send the notice that finishes, said data are sent the address of having carried said data queue in the notice that finishes, and make said transmitting device disassemble the packing data in the DMA buffer memory of said correspondence according to the address of said data queue.
Further, said address according to said empty queue is sent to packing data in the empty queue of DMA buffer memory of said correspondence, and said empty queue is transferred to after the data queue, also comprises:
Receive the transfer of data of sending after the transfer of data after said transmitting device will the be disassembled notice that finishes, said transfer of data finishes and has carried the address of said data queue in the notice;
Discharge the DMA data in buffer formation of said correspondence according to the address of said data queue, make said data queue transfer empty queue to.
On the other hand, a kind of code device is provided also, said device comprises:
Coding module is used for through the multiplex coding passage multi-medium data being encoded, and obtains the multiplex coding data;
Packetization module is used for the multiplex coding packing data that said coding module coding is obtained;
First sending module is used for the packing data that said packetization module obtains is sent in the corresponding direct memory access DMA buffer memory of transmitting device, by said transmitting device the packing data in the said DMA buffer memory is disassembled, and is transmitted the data after disassembling.
Further, said packetization module specifically is used for obtaining successively the coded data of each coding pass output, and the coded data of each coding pass output that will get access to is packaged into a packet respectively; Perhaps, obtain the coded data of each coding pass output successively, and after the size of the coded data that gets access to reaches threshold value, the coded data that gets access to is packaged into a packet.
Further, said first sending module specifically comprises:
Query unit is used to inquire about the empty queue of the DMA buffer memory of said correspondence;
Acquiring unit is used to obtain the address of the empty queue that said query unit inquires;
Transmitting element; The address of the empty queue that is used for getting access to according to said acquiring unit is sent to packing data the empty queue of the DMA buffer memory of said correspondence; Make said empty queue transfer data queue to, the address of said data queue is identical with the address of said empty queue.
Further, said device also comprises:
Second sending module; Be used for sending data and send the notice that finishes to said transmitting device; Said data are sent the address of having carried said data queue in the notice that finishes, and make said transmitting device disassemble the packing data in the DMA buffer memory of said correspondence according to the address of said data queue.
Further, said device also comprises:
Receiver module is used to receive the transfer of data of sending after the transfer of data after said transmitting device will the be disassembled notice that finishes, and said transfer of data finishes and carried the address of said data queue in the notice;
Release module, the address of the data queue that is used for receiving according to said receiver module discharges the DMA data in buffer formation of said correspondence, makes said data queue transfer empty queue to.
Another aspect also provides a kind of method of process multimedia data, and said method comprises:
Transmitting device obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices;
Packing data in the said DMA buffer memory is disassembled, and transmits the data after disassembling;
Wherein, said packing data be said each code device through the multiplex coding passage to multi-medium data encode obtain the multiplex coding data after, the data that said multiplex coding data are packed and obtained.
Further, said transmitting device obtains before each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices, also comprises:
The data that the received code device sends are sent the notice that finishes, and said data are sent the address of having carried the DMA data in buffer formation of said correspondence in the notice that finishes, and have stored packing data in the said data queue;
Said transmitting device obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices, specifically comprises:
The address of sending the DMA data in buffer formation of the said correspondence of carrying in the notice that finishes according to said data obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices.
Further, after the data after said transmission is disassembled, also comprise:
Send the transfer of data notice that finishes to the corresponding codes device; Said transfer of data finishes and has carried the address of said data queue in the notice; Make said code device discharge the DMA data in buffer formation of said correspondence, make said data queue transfer empty queue to according to the address of said data queue.
On the one hand, a kind of transmitting device is provided also again, said device comprises:
Acquisition module is used for obtaining each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device of a plurality of code devices; Wherein, said packing data be said each code device through the multiplex coding passage to multi-medium data encode obtain the multiplex coding data after, the data that said multiplex coding data are packed and obtained;
Disassemble module, the packing data of the said DMA buffer memory that is used for said acquisition module is got access to is disassembled;
Transport module is used to transmit said data after disassembling module and disassembling.
Further, said device also comprises:
Receiver module, the data that are used for the transmission of received code device are sent the notice that finishes, and said data are sent the address of having carried the DMA data in buffer formation of said correspondence in the notice that finishes, and have stored packing data in the said data queue;
Said acquisition module, the address that specifically is used for sending according to said data the DMA data in buffer formation of the said correspondence that the notice that finishes carries obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices.
Further, said device also comprises:
Sending module; Be used for sending the transfer of data notice that finishes to the corresponding codes device; Said transfer of data finishes and has carried the address of said data queue in the notice; Make said code device discharge the DMA data in buffer formation of said correspondence, make said data queue transfer empty queue to according to the address of said data queue.
A kind of system of process multimedia data also is provided, and said system comprises: a plurality of code devices and a transmitting device;
Each code device code device as described above in said a plurality of code device;
The transmitting device that said transmitting device is as described above.
The beneficial effect that the technical scheme that the embodiment of the invention provides is brought is:
Through adopting the mode of a plurality of code devices and transmitting device cascade, realize the multi-channel video coding is shared on a plurality of code devices, solved single code device OL problem of encoding; In addition; Through adopting the DMA transmission mechanism; And control in transmitting device corresponding DMA buffer memory by code device and send packing data, make the formation in the DMA buffer memory of code device in can the unified management transmitting device, not only can guarantee the stability of the code stream transmission of each code device; But also can realize multi-threaded parallel processing code stream, and then improve the treatment effeciency of multi-medium data.
Description of drawings
In order to be illustrated more clearly in the technical scheme in the embodiment of the invention; The accompanying drawing of required use is done to introduce simply in will describing embodiment below; Obviously, the accompanying drawing in describing below only is some embodiments of the present invention, for those of ordinary skills; Under the prerequisite of not paying creative work, can also obtain other accompanying drawing according to these accompanying drawings.
Fig. 1 is the method flow diagram of a kind of process multimedia data of providing of the embodiment of the invention one;
Fig. 2 is the method flow diagram of the another kind of process multimedia data that provides of the embodiment of the invention one;
Fig. 3 is the method flow diagram of a kind of process multimedia data of providing of the embodiment of the invention two;
Fig. 4 is a kind of code device structural representation that the embodiment of the invention three provides;
Fig. 5 is the structural representation of the another kind of code device that provides of the embodiment of the invention three;
Fig. 6 is the structural representation of another code device of providing of the embodiment of the invention three;
Fig. 7 is the structural representation of another code device of providing of the embodiment of the invention three;
Fig. 8 is the structural representation of a kind of transmitting device of providing of the embodiment of the invention four;
Fig. 9 is the structural representation of the another kind of transmitting device that provides of the embodiment of the invention four;
Figure 10 is the structural representation of another transmitting device of providing of the embodiment of the invention four;
Figure 11 is the system configuration sketch map of a kind of process multimedia data of providing of the embodiment of the invention five.
Embodiment
For making the object of the invention, technical scheme and advantage clearer, will combine accompanying drawing that embodiment of the present invention is done to describe in detail further below.
Embodiment one
Present embodiment provides a kind of method of process multimedia data, and the angle of carrying out this method with code device is an example, and referring to Fig. 1, the method flow that present embodiment provides is specific as follows:
101: each code device in a plurality of code devices is encoded to multi-medium data through the multiplex coding passage, obtains the multiplex coding data;
102: with the multiplex coding packing data, and packing data is sent in the transmitting device in the corresponding DMA buffer memory, the packing data in the DMA buffer memory disassembled by transmitting device, and the data of transmission after disassembling.
Wherein, with the multiplex coding packing data, include but not limited to:
Obtain the coded data of each road coding pass output successively, and the coded data of every road coding pass output that will get access to is packaged into a packet respectively;
Perhaps, obtain the coded data of each road coding pass output successively, and after the size of the coded data that gets access to reaches threshold value, the coded data that gets access to is packaged into a packet.
Further, packing data is sent in the direct memory access DMA buffer memory corresponding in the transmitting device, specifically comprises:
Inquire about the empty queue of corresponding DMA buffer memory, and obtain the address of empty queue;
Address according to empty queue is sent to packing data in the empty queue of corresponding DMA buffer memory, makes empty queue transfer data queue to, and the address of data queue is identical with the address of empty queue.
Further, packing data is sent in the empty queue of corresponding DMA buffer memory, empty queue is transferred to after the data queue, also comprise according to the address of empty queue:
Send data to transmitting device and send the notice that finishes, data are sent the address of having carried data queue in the notice that finishes, and make transmitting device disassemble the packing data in the corresponding DMA buffer memory according to the address of data queue.
Wherein, packing data is sent in the empty queue of corresponding DMA buffer memory, empty queue is transferred to after the data queue, also comprise according to the address of empty queue:
The transfer of data of sending after the transfer of data after receiving transmitting device and will the disassembling notice that finishes, transfer of data finish and have carried the address of data queue in notifying;
Address according to data queue discharges corresponding DMA data in buffer formation, makes data queue transfer empty queue to.
The angle of carrying out this method with transmitting device is an example, and referring to Fig. 2, the method flow that present embodiment provides is specific as follows:
201: transmitting device obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in transmitting device in a plurality of code devices;
202: the packing data in the DMA buffer memory is disassembled, and transmits the data after disassembling.
Further, transmitting device obtains before each code device packing data that corresponding direct memory access DMA buffer memory sends in transmitting device in a plurality of code devices, also comprises:
The data that the received code device sends are sent the notice that finishes, and data are sent the address of having carried corresponding DMA data in buffer formation in the notice that finishes, and have stored packing data in the data queue;
Transmitting device obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in transmitting device in a plurality of code devices, specifically comprises:
The address of sending the DMA data in buffer formation of the correspondence of carrying in the notice that finishes according to data obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in transmitting device in a plurality of code devices.
Further, after the data after transmission is disassembled, also comprise:
Send the transfer of data notice that finishes to the corresponding codes device, transfer of data finishes and has carried the address of data queue in the notice, makes code device discharge the DMA data in buffer formation of correspondence according to the address of data queue, makes data queue transfer empty queue to.
The method that present embodiment provides through adopting the mode of a plurality of code devices and transmitting device cascade, realizes the multi-channel video coding is shared on a plurality of code devices, has solved single code device OL problem of encoding; In addition; Through adopting the DMA transmission mechanism; And control in transmitting device corresponding DMA buffer memory by code device and send packing data, make the formation in the DMA buffer memory of code device in can the unified management transmitting device, not only can guarantee the stability of the code stream transmission of each code device; But also can realize multi-threaded parallel processing code stream, and then improve the treatment effeciency of multi-medium data.
In order more clearly to set forth the method that the foregoing description provides, in conjunction with foregoing, be example with following embodiment two, the method for process multimedia data is illustrated, see following embodiment two for details:
Embodiment two
Present embodiment provides a kind of method of process multimedia data; In conjunction with the content of the foregoing description one, for the ease of explanation, present embodiment is with two code devices; A transmitting device realizes that process multimedia data is an example, and the method that present embodiment is provided at length illustrates.Referring to Fig. 3, the method flow that present embodiment provides is specific as follows:
Each code device in 301: two code devices is encoded to multi-medium data through the multiplex coding passage, obtains the multiplex coding data;
To this step, the mode that code device is encoded to multi-medium data can realize that present embodiment is not done concrete qualification to this according to the mode that existing coding chip is encoded to multi-medium data.For example, corresponding 4 road coding passes of each code device are encoded to multi-medium data through every road coding pass, obtain 4 tunnel coded datas.
302: each code device is the multiplex coding packing data, and packing data is sent in the DMA buffer memory corresponding in the transmitting device;
Wherein, The DMA buffer memory is the DMA buffer memory in the transmitting device; In order to make each code device can packing data be transferred to transmitting device, in the method that present embodiment provides, the DMA buffer memory corresponding with each code device can be set respectively in transmitting device; That is to say; A DMA buffer memory in the corresponding transmitting device of code device, the number of code device is identical with the number of DMA buffer memory in the transmitting device, so that the different coding device is sent to its packing data in each self-corresponding DMA buffer memory.In addition, also a DMA buffer memory can only be set at the transmitting device place, and distinguish each code device to should one any part in the DMA buffer memory, can realize equally that thus code device is sent to the correspondence position in the DMA buffer memory with its packing data.Certainly, the corresponding relation of code device and DMA buffer memory can also have other modes, and present embodiment is not done concrete qualification to this.
Particularly, when each code device was packed multiplex coding, the packing manner of employing included but not limited to a kind of in the following dual mode:
First kind of mode: obtain the coded data of each road coding pass output successively, and the coded data of every road coding pass output that will get access to is packaged into a packet respectively;
To this kind mode; With code device 3 road coding passes being arranged is example, and code device obtains the coded data that the 1 road coding pass coding obtains, and it is packaged into a packet; Obtain the coded data that the 2 road coding pass coding obtains afterwards again; And it is packaged into a packet, obtain the coded data that the 3 road coding pass coding obtains afterwards again, and it is packaged into a packet.Perhaps, obtain the coded data that 3 road coding passes coding obtains respectively, 3 tunnel coded datas that will get access to again are packaged into a packet respectively.
The second way: obtain the coded data of each road coding pass output successively, and after the size of the coded data that gets access to reaches threshold value, the coded data that gets access to is packaged into a packet.
To this kind mode, it is when obtaining the coded data of each road coding pass output successively, and detailed process is: if one road coding pass does not have coded data output constantly obtaining coded data, then jump to next road coding pass immediately and obtain coded data; If one road coding pass is carved with coded data output when obtaining coded data, then immediately this coded data is taken out; Circulate successively and fetch data from each road coding pass.For example, when there are 3 road coding passes in code device, be respectively passage 1, passage 2 and passage 3; Earlier begin to fetch data from passage 1; If passage has coded data 1 this moment, then obtain the coded data in the passage 1, and jump to next passage and continue to begin to obtain coded data; If passage does not have coded data 1 this moment, then jump to next passage immediately and obtain coded data; Circulate successively and from 3 paths, get coded data, reach threshold value, the coded data that gets access to is packaged into a packet up to the size of the coded data that gets access to.Concrete threshold size can be 100,000,000,150,000,000 or other numerical value, and present embodiment does not specifically limit threshold size.
Further, when code device is sent to packing data in the DMA buffer memory corresponding in the transmitting device, can inquire about the empty queue of corresponding DMA buffer memory earlier, and obtain the address of this empty queue; Address according to this empty queue is sent to packing data in the empty queue of corresponding DMA buffer memory, makes this empty queue transfer data queue to, and the address of data queue is identical with the address of this empty queue.Certainly, except above-mentioned send mode, code device can also adopt other send modes that packing data is sent to the DMA buffer memory, and present embodiment does not specifically limit the send mode that packing data is sent in the DMA buffer memory corresponding in the transmitting device.
No matter adopt which kind of packing manner to obtain packing data; And adopt which kind of send mode that it is sent; To above-mentioned first kind of packing manner; Code device can send it in the DMA buffer memory corresponding in the transmitting device after the coded data of every road coding pass output that will get access to is packaged into a packet respectively at once, because after the coded data with the output of every road coding pass is packaged into a packet respectively; At once it is sent, thereby can guarantee that the coded data of each coding pass output can in time transmit; To above-mentioned second kind of packing manner; Code device is after the size of the coded data that gets access to reaches threshold value; The coded data that gets access to is packaged into a packet, sends it to again in the DMA buffer memory corresponding in the transmitting device, because code device is the coded data that reaches threshold value to be packaged into a packet send; Thereby realized the transmission of chunk data; Not only can reduce data transmission efficiency and the number of transmissions, also can reduce because of repeatedly transmitting CPU (Central Processing Unit, the central processing unit) consumption that data are wasted.
303: transmitting device obtains the code device packing data that corresponding DMA buffer memory sends in transmitting device;
To this step, the mode that transmitting device obtains the code device packing data that corresponding DMA buffer memory sends in transmitting device includes but not limited to a kind of in the following dual mode;
First kind of mode: transmitting device is every initiatively to obtain the code device packing data that corresponding DMA buffer memory sends in transmitting device at a distance from predetermined period;
To this kind mode, with predetermined period be 5 seconds be example, transmitting device whenever just obtained data in the DMA buffer memory from transmitting device at a distance from 5 seconds, with the DMA buffer memory 10 tunnel formations being arranged is example, 10 tunnel formation number consecutivelies are 1 to 10.Transmitting device whenever just traveled through all formations in the DMA buffer memory at a distance from 5 seconds.If it is data queue that transmitting device inquires No. 5 formations, comprise the code device packing data that corresponding DMA buffer memory sends in transmitting device, then immediately packing data is obtained and disassembles.Wherein, the predetermined period size can also be other sizes except that above-mentioned 5 seconds, and present embodiment does not limit the concrete size of predetermined period.
The second way: trigger the passive code device packing data that corresponding DMA buffer memory sends in transmitting device that obtains of transmitting device with the preset trigger condition;
To this kind mode; After to be code device be sent to packing data in the empty queue of corresponding DMA buffer memory with the preset trigger condition; Send data to transmitting device and send the notice that finishes; The address of in this data transmission finishes notice, having carried data queue is an example, and the data that receive this code device transmission through transmitting device are sent the notice that finishes, and the triggering transmitting device obtains the packing data in the data queue in the corresponding DMA buffer memory according to the address of this data queue.Wherein, Divided by code device to transmitting device send data send the notice that finishes as the preset trigger condition outside; Can also preset other trigger condition, present embodiment does not limit triggering the passive trigger condition of obtaining the code device packing data that corresponding DMA buffer memory sends in transmitting device of transmitting device.
Certainly; Except above-mentioned transmitting device obtains the dual mode of packing data; Transmitting device can also adopt other obtain manners to obtain packing data, and present embodiment does not obtain the obtain manner that code device corresponding DMA buffer memory in transmitting device sends packing data to transmitting device and specifically limits.
304: transmitting device is disassembled the packing data in the DMA buffer memory, and transmits the data after disassembling.
To this step, transmitting device after getting access to packing data through above-mentioned steps 303 is disassembled packing data, specifically disassembles mode and can realize that present embodiment is not done concrete qualification to this according to the existing packet mode of separating.Which kind of no matter adopts disassemble mode packetized data is disassembled; All removable each road coded data that solves; And each the road coded data after will disassembling transmits, and for example, the transfer of data after disassembling to memory space deposited handle or it is carried out Network Transmission.
Further, after the data after transmitting device will be disassembled were transmitted, the data queue of the pairing packing data of data after storing this and disassembling can be released, and then realized the recycling of resource.During concrete the realization; After transfer of data after transmitting device will be disassembled finishes; Send the transfer of data notice that finishes by this transmitting device to the corresponding codes device, and finish in this transfer of data and to carry the address of data queue in notifying, so that code device discharges the DMA data in buffer formation in the corresponding transmitting device according to the address of this data queue; Even this data queue transfers empty queue to, so that follow-up recycling.Certainly, except that the mode of above-mentioned transmitting device notice code device release data formation, can also take other advice methods, present embodiment is not done concrete qualification to this.
In addition; Since the DMA buffer memory in the corresponding transmitting device of each code device, or the part in the corresponding DMA buffer memory, therefore; In order to make can the be clear and definite current data queue that needs to discharge of transmitting device corresponding with which code device; The method that present embodiment provides when the transmission of transmitting device transmission data finishes notice, can be sent the sign that the notice that finish is carried the code device of transmission packing data by code device through these data in above-mentioned steps 303; So that transmitting device is distinguished through this sign is that which code device has sent packing data to transmitting device, and the promptly current data queue of release that needs is corresponding with which code device.The concrete sign of code device can be numbering, MAC Address or other signs of code device, and present embodiment does not limit the concrete sign of code device.With the corresponding different numberings of different coding device; With the numbering of code device the example that is designated as code device; Be numbered 1 code device after transmitting device sends packing data, send data to transmitting device and send the notice that finishes, these data are sent in the notice that finishes except the address of carrying the data queue that stores packing data; Also carried the numbering 1 of the code device that sends this packing data; Then transmitting device is after disassembling transmission with the packing data in this data queue, returns the end of transmission notice of the address of carrying this data queue to the code device that is numbered 1, makes the pairing data queue in address that is numbered the data queue of carrying in 1 the code device release data end of transmission notice; Even data queue transfers empty queue to, and this empty queue can continue to use when sending packing data next time.
Need to prove; Above content is only to realize that through two code devices and a transmitting device process multimedia data is that example describes; In the practical application; The quantity of code device can also be other numbers, specifically can be provided with according to the actual coding demand, and present embodiment does not limit the concrete quantity of code device.When the quantity of code device was one, a code device and a transmitting device can adopt said method to realize process multimedia data equally, and its concrete implementation procedure is consistent with the flow process of above-mentioned steps 301 to step 304, repeats no more here.
The method that present embodiment provides through adopting the mode of a plurality of code devices and transmitting device cascade, realizes the multi-channel video coding is shared on a plurality of code devices, has solved single code device OL problem of encoding; In addition; Through adopting the DMA transmission mechanism; And control in transmitting device corresponding DMA buffer memory by code device and send packing data, make the formation in the DMA buffer memory of code device in can the unified management transmitting device, not only can guarantee the stability of the code stream transmission of each code device; But also can realize multi-threaded parallel processing code stream, and then improve the treatment effeciency of multi-medium data.
Embodiment three
Present embodiment provides a kind of code device, and this device is used for carrying out the function of the method code device of the process multimedia data that the foregoing description one and embodiment two provide, and referring to Fig. 4, this device comprises:
Coding module 41 is used for through the multiplex coding passage multi-medium data being encoded, and obtains the multiplex coding data;
Packetization module 42 is used for the multiplex coding packing data that coding module 41 codings are obtained;
First sending module 43 is used for the packing data that packetization module 42 obtains is sent in the corresponding direct memory access DMA buffer memory of transmitting device, by transmitting device the packing data in the DMA buffer memory is disassembled, and is transmitted the data after disassembling.
Further, packetization module 42 specifically is used for obtaining successively the coded data of each coding pass output, and the coded data of each coding pass output that will get access to is packaged into a packet respectively; Perhaps, obtain the coded data of each coding pass output successively, and after the size of the coded data that gets access to reaches threshold value, the coded data that gets access to is packaged into a packet.
Referring to Fig. 5, first sending module 43 specifically comprises:
Query unit 431 is used to inquire about the empty queue of corresponding DMA buffer memory;
Acquiring unit 432 is used to obtain the address of the empty queue that query unit 431 inquires;
Transmitting element 433, the address of the empty queue that is used for getting access to according to acquiring unit 432 is sent to the empty queue of corresponding DMA buffer memory with packing data, makes empty queue transfer data queue to, and the address of data queue is identical with the address of empty queue.
Referring to Fig. 6, this device also comprises:
Second sending module 44 is used for sending data to transmitting device and sends the notice that finishes, and data are sent the address of having carried data queue in the notice that finishes, and make transmitting device disassemble the packing data in the corresponding DMA buffer memory according to the address of data queue.
Referring to Fig. 7, this device also comprises:
Receiver module 45 is used to receive the transfer of data of sending after the transfer of data after transmitting device will the be disassembled notice that finishes, and transfer of data finishes and carried the address of data queue in the notice;
Release module 46, the address of the data queue that is used for receiving according to receiver module 45 discharges corresponding DMA data in buffer formation, makes data queue transfer empty queue to.
The code device that present embodiment provides through the mode of a plurality of code devices and transmitting device cascade, is realized the multi-channel video coding is shared on a plurality of code devices, has solved single code device OL problem of encoding; In addition; Through adopting the DMA transmission mechanism; And control in transmitting device corresponding DMA buffer memory by code device and send packing data, make the formation in the DMA buffer memory of code device in can the unified management transmitting device, not only can guarantee the stability of the code stream transmission of each code device; But also can realize multi-threaded parallel processing code stream, and then improve the treatment effeciency of multi-medium data.
Embodiment four
Present embodiment provides a kind of transmitting device, and this device is used for carrying out the function that the method transmitting device of the process multimedia data that the foregoing description one and embodiment two provide is carried out.Referring to Fig. 8, this device comprises:
Acquisition module 81 is used for obtaining each code device packing data that corresponding direct memory access DMA buffer memory sends in transmitting device of a plurality of code devices; Wherein, packing data for each code device through the multiplex coding passage to multi-medium data encode obtain the multiplex coding data after, the data that the multiplex coding data are packed and obtained;
Disassemble module 82, the packing data of the DMA buffer memory that is used for acquisition module 81 is got access to is disassembled;
Transport module 83 is used to transmit the data of disassembling after module 82 is disassembled.
Referring to Fig. 9, this device also comprises:
Receiver module 84, the data that are used for the transmission of received code device are sent the notice that finishes, and these data are sent the address of having carried corresponding DMA data in buffer formation in the notice that finishes, and have stored packing data in this data queue;
Acquisition module 81, the address that specifically is used for sending according to data the DMA data in buffer formation of the correspondence that the notice that finishes carries obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in transmitting device in a plurality of code devices.
Referring to Figure 10, this device also comprises:
Sending module 85; Be used for sending the transfer of data notice that finishes to the corresponding codes device; This transfer of data finishes and has carried the address of data queue in the notice, makes code device discharge the DMA data in buffer formation of said correspondence according to the address of this data queue, makes data queue transfer empty queue to.
The transmitting device that present embodiment provides through the mode of a plurality of code devices and its cascade, is realized the multi-channel video coding is shared on a plurality of code devices, has solved single code device OL problem of encoding; In addition; Adopt the DMA transmission mechanism through code device; And control in transmitting device corresponding DMA buffer memory by code device and send packing data, make the formation in the DMA buffer memory of code device in can the unified management transmitting device, not only can guarantee the stability of the code stream transmission of each code device; But also can realize multi-threaded parallel processing code stream, and then improve the treatment effeciency of multi-medium data.
Embodiment five
Present embodiment provides a kind of system of process multimedia data, and referring to Figure 11, this system comprises:
A plurality of code devices 1101 and a transmitting device 1102;
Wherein, the code device that provides of code device 1101 as above-mentioned embodiment three;
The transmitting device that transmitting device 1102 as above-mentioned embodiment four provide.
The system that present embodiment provides through the mode of a plurality of code devices and transmitting device cascade, realizes the multi-channel video coding is shared on a plurality of code devices, has solved single code device OL problem of encoding; In addition; Through adopting the DMA transmission mechanism; And control in transmitting device corresponding DMA buffer memory by code device and send packing data, make the formation in the DMA buffer memory of code device in can the unified management transmitting device, not only can guarantee the stability of the code stream transmission of each code device; But also can realize multi-threaded parallel processing code stream, and then improve the treatment effeciency of multi-medium data.
Need to prove: in the system that the foregoing description provides; Transmitting device can with a code device cascade, also can with a plurality of code device cascades, when a plurality of code devices and transmitting device carry out cascade; It is said that processing sees embodiment two for details to the mode of media data, repeats no more here.Code device that the foregoing description provides and transmitting device are when handling multi-medium data; Only the division with above-mentioned each functional module is illustrated; In the practical application; Can as required above-mentioned functions be distributed by the different functional completion, the internal structure that is about to device is divided into different functional, to accomplish all or part of function of above description.In addition, the system of the code device that the foregoing description provides, transmitting device, process multimedia data and the method embodiment of process multimedia data belong to same design, and its concrete implementation procedure sees method embodiment for details, repeats no more here.
The invention described above embodiment sequence number is not represented the quality of embodiment just to description.
The all or part of step that one of ordinary skill in the art will appreciate that realization the foregoing description can be accomplished through hardware; Also can instruct relevant hardware to accomplish through program; Described program can be stored in a kind of computer-readable recording medium; The above-mentioned storage medium of mentioning can be a read-only memory, disk or CD etc.
The above is merely preferred embodiment of the present invention, and is in order to restriction the present invention, not all within spirit of the present invention and principle, any modification of being done, is equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (17)

1. the method for a process multimedia data is characterized in that, said method comprises:
Each code device in a plurality of code devices is encoded to multi-medium data through the multiplex coding passage, obtains the multiplex coding data;
With said multiplex coding packing data, and packing data is sent in the transmitting device in the corresponding direct memory access DMA buffer memory, the packing data in the said DMA buffer memory disassembled by said transmitting device, and the data of transmission after disassembling.
2. method according to claim 1 is characterized in that, and is said with said multiplex coding packing data, specifically comprises:
Obtain the coded data of each road coding pass output successively, and the coded data of every road coding pass output that will get access to is packaged into a packet respectively;
Perhaps, obtain the coded data of each road coding pass output successively, and after the size of the coded data that gets access to reaches threshold value, the coded data that gets access to is packaged into a packet.
3. method according to claim 1 and 2 is characterized in that, said packing data is sent in the transmitting device in the corresponding direct memory access DMA buffer memory, specifically comprises:
Inquire about the empty queue of the DMA buffer memory of said correspondence, and obtain the address of said empty queue;
According to the address of said empty queue packing data is sent in the empty queue of DMA buffer memory of said correspondence, makes said empty queue transfer data queue to, the address of said data queue is identical with the address of said empty queue.
4. method according to claim 3 is characterized in that, said address according to said empty queue is sent to packing data in the empty queue of DMA buffer memory of said correspondence, and said empty queue is transferred to after the data queue, also comprises:
Send data to said transmitting device and send the notice that finishes, said data are sent the address of having carried said data queue in the notice that finishes, and make said transmitting device disassemble the packing data in the DMA buffer memory of said correspondence according to the address of said data queue.
5. according to claim 3 or 4 described methods, it is characterized in that said address according to said empty queue is sent to packing data in the empty queue of DMA buffer memory of said correspondence, and said empty queue is transferred to after the data queue, also comprises:
Receive the transfer of data of sending after the transfer of data after said transmitting device will the be disassembled notice that finishes, said transfer of data finishes and has carried the address of said data queue in the notice;
Discharge the DMA data in buffer formation of said correspondence according to the address of said data queue, make said data queue transfer empty queue to.
6. a code device is characterized in that, said device comprises:
Coding module is used for through the multiplex coding passage multi-medium data being encoded, and obtains the multiplex coding data;
Packetization module is used for the multiplex coding packing data that said coding module coding is obtained;
First sending module is used for the packing data that said packetization module obtains is sent in the corresponding direct memory access DMA buffer memory of transmitting device, by said transmitting device the packing data in the said DMA buffer memory is disassembled, and is transmitted the data after disassembling.
7. device according to claim 6 is characterized in that, said packetization module specifically is used for obtaining successively the coded data of each coding pass output, and the coded data of each coding pass output that will get access to is packaged into a packet respectively; Perhaps, obtain the coded data of each coding pass output successively, and after the size of the coded data that gets access to reaches threshold value, the coded data that gets access to is packaged into a packet.
8. according to claim 6 or 7 described devices, it is characterized in that said first sending module specifically comprises:
Query unit is used to inquire about the empty queue of the DMA buffer memory of said correspondence;
Acquiring unit is used to obtain the address of the empty queue that said query unit inquires;
Transmitting element; The address of the empty queue that is used for getting access to according to said acquiring unit is sent to packing data the empty queue of the DMA buffer memory of said correspondence; Make said empty queue transfer data queue to, the address of said data queue is identical with the address of said empty queue.
9. device according to claim 8 is characterized in that, said device also comprises:
Second sending module; Be used for sending data and send the notice that finishes to said transmitting device; Said data are sent the address of having carried said data queue in the notice that finishes, and make said transmitting device disassemble the packing data in the DMA buffer memory of said correspondence according to the address of said data queue.
10. according to Claim 8 or 9 described devices, it is characterized in that said device also comprises:
Receiver module is used to receive the transfer of data of sending after the transfer of data after said transmitting device will the be disassembled notice that finishes, and said transfer of data finishes and carried the address of said data queue in the notice;
Release module, the address of the data queue that is used for receiving according to said receiver module discharges the DMA data in buffer formation of said correspondence, makes said data queue transfer empty queue to.
11. the method for a process multimedia data is characterized in that, said method comprises:
Transmitting device obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices;
Packing data in the said DMA buffer memory is disassembled, and transmits the data after disassembling;
Wherein, said packing data be said each code device through the multiplex coding passage to multi-medium data encode obtain the multiplex coding data after, the data that said multiplex coding data are packed and obtained.
12. method according to claim 11 is characterized in that, said transmitting device obtains before each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices, also comprises:
The data that the received code device sends are sent the notice that finishes, and said data are sent the address of having carried the DMA data in buffer formation of said correspondence in the notice that finishes, and have stored packing data in the said data queue;
Said transmitting device obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices, specifically comprises:
The address of sending the DMA data in buffer formation of the said correspondence of carrying in the notice that finishes according to said data obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices.
13. method according to claim 12 is characterized in that, after the data after said transmission is disassembled, also comprises:
Send the transfer of data notice that finishes to the corresponding codes device; Said transfer of data finishes and has carried the address of said data queue in the notice; Make said code device discharge the DMA data in buffer formation of said correspondence, make said data queue transfer empty queue to according to the address of said data queue.
14. a transmitting device is characterized in that, said device comprises:
Acquisition module is used for obtaining each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device of a plurality of code devices; Wherein, said packing data be said each code device through the multiplex coding passage to multi-medium data encode obtain the multiplex coding data after, the data that said multiplex coding data are packed and obtained;
Disassemble module, the packing data of the said DMA buffer memory that is used for said acquisition module is got access to is disassembled;
Transport module is used to transmit said data after disassembling module and disassembling.
15. device according to claim 14 is characterized in that, said device also comprises:
Receiver module, the data that are used for the transmission of received code device are sent the notice that finishes, and said data are sent the address of having carried the DMA data in buffer formation of said correspondence in the notice that finishes, and have stored packing data in the said data queue;
Said acquisition module, the address that specifically is used for sending according to said data the DMA data in buffer formation of the said correspondence that the notice that finishes carries obtains each code device packing data that corresponding direct memory access DMA buffer memory sends in said transmitting device in a plurality of code devices.
16. device according to claim 15 is characterized in that, said device also comprises:
Sending module; Be used for sending the transfer of data notice that finishes to the corresponding codes device; Said transfer of data finishes and has carried the address of said data queue in the notice; Make said code device discharge the DMA data in buffer formation of said correspondence, make said data queue transfer empty queue to according to the address of said data queue.
17. the system of a process multimedia data is characterized in that, said system comprises: a plurality of code devices and a transmitting device;
Wherein, the described code device of arbitrary claim in each code device in said a plurality of code device such as the said claim 6 to 10;
The described transmitting device of arbitrary claim in said transmitting device such as the said claim 14 to 16.
CN2012102588413A 2012-07-25 2012-07-25 Method, device and system of processing multimedia data Pending CN102801969A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2012102588413A CN102801969A (en) 2012-07-25 2012-07-25 Method, device and system of processing multimedia data
PCT/CN2013/074634 WO2014015688A1 (en) 2012-07-25 2013-04-24 Method, device and system for processing multimedia data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012102588413A CN102801969A (en) 2012-07-25 2012-07-25 Method, device and system of processing multimedia data

Publications (1)

Publication Number Publication Date
CN102801969A true CN102801969A (en) 2012-11-28

Family

ID=47200924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012102588413A Pending CN102801969A (en) 2012-07-25 2012-07-25 Method, device and system of processing multimedia data

Country Status (2)

Country Link
CN (1) CN102801969A (en)
WO (1) WO2014015688A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014015688A1 (en) * 2012-07-25 2014-01-30 华为技术有限公司 Method, device and system for processing multimedia data
CN105306949A (en) * 2015-12-04 2016-02-03 北京中星微电子有限公司 Video coding method and apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150485A (en) * 2007-11-15 2008-03-26 曙光信息产业(北京)有限公司 A management method for network data transmission of zero copy buffer queue
CN102301730A (en) * 2011-07-18 2011-12-28 华为技术有限公司 Method, device and system for transmitting and processing multichannel AV

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100091888A1 (en) * 2008-10-13 2010-04-15 General Instrument Corporation Multi-Rate Encoder with GOP Alignment
CN101668160B (en) * 2009-09-10 2012-08-29 华为终端有限公司 Video image data processing method, device, video conference system and terminal
CN101662637A (en) * 2009-09-25 2010-03-03 深圳创维数字技术股份有限公司 Method for playing all packaged programs in transmission code stream and set-top box
CN102801969A (en) * 2012-07-25 2012-11-28 华为技术有限公司 Method, device and system of processing multimedia data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150485A (en) * 2007-11-15 2008-03-26 曙光信息产业(北京)有限公司 A management method for network data transmission of zero copy buffer queue
CN102301730A (en) * 2011-07-18 2011-12-28 华为技术有限公司 Method, device and system for transmitting and processing multichannel AV

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014015688A1 (en) * 2012-07-25 2014-01-30 华为技术有限公司 Method, device and system for processing multimedia data
CN105306949A (en) * 2015-12-04 2016-02-03 北京中星微电子有限公司 Video coding method and apparatus
CN105306949B (en) * 2015-12-04 2020-05-26 中星技术股份有限公司 Video encoding method and apparatus

Also Published As

Publication number Publication date
WO2014015688A1 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
US9152580B1 (en) Method and apparatus for transferring data between a host and an embedded device
CN1078798C (en) MPEG2 transport decoder
US8665124B2 (en) Compression format for high bandwidth dictionary compression
JP2012529086A (en) Secure storage and transmission of information over a communication network
TW201731224A (en) Entropy encoding and decoding scheme
CN105338297A (en) Video data storage and playback system, device and method
CN104780333A (en) High-bandwidth video source interface adaptation device based on FPGA (Field Programmable Gate Array)
CN102355572A (en) Large high-definition video monitoring system based on cloud computing
CN104168439B (en) A kind of method for video coding and device
US8885480B2 (en) Packet priority in a network processor
CN202931289U (en) Hardware LZ 77 compression implement system
CN102638487A (en) High-performance data transmission method for large telemetric seismic instrument
CN106708762A (en) Unified management system and method for serial devices in LINUX
CN102625082A (en) Video monitoring system
CN109739712A (en) FPGA accelerator card transmission performance test method, device and equipment and medium
WO2013048529A1 (en) Method and apparatus for high bandwidth dictionary compression technique using delayed dictionary update
RU2008131952A (en) QUICK CHANGE OF CHANNELS IN THE MULTIMEDIA BROADCASTING SYSTEM
CN102801969A (en) Method, device and system of processing multimedia data
CN109151505A (en) A kind of video transcoding method, system, device and computer readable storage medium
CN109688123A (en) The method and system of one-way data transfer between inter-network system based on GM two dimensional code
CN103067690A (en) Method and device of equalized audio-video data transmission based on intelligent monitoring platform
CN104462197A (en) Method for obtaining information from print data
CN101777037A (en) Method and system for searching data transmission in engine real-time system
CN102625105A (en) Multi-channel video encoding and decoding data transmission method and device based on single chip
JP2009049506A5 (en)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20121128