CN100525451C - Method and apparatus for transmitting coding result of video compression - Google Patents

Method and apparatus for transmitting coding result of video compression Download PDF

Info

Publication number
CN100525451C
CN100525451C CN 200710098941 CN200710098941A CN100525451C CN 100525451 C CN100525451 C CN 100525451C CN 200710098941 CN200710098941 CN 200710098941 CN 200710098941 A CN200710098941 A CN 200710098941A CN 100525451 C CN100525451 C CN 100525451C
Authority
CN
China
Prior art keywords
coding
fifo
data
coding result
result data
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
CN 200710098941
Other languages
Chinese (zh)
Other versions
CN101039429A (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.)
Mid Star Technology Ltd By Share Ltd
Original Assignee
Vimicro Corp
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 Vimicro Corp filed Critical Vimicro Corp
Priority to CN 200710098941 priority Critical patent/CN100525451C/en
Publication of CN101039429A publication Critical patent/CN101039429A/en
Application granted granted Critical
Publication of CN100525451C publication Critical patent/CN100525451C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The present invention discloses a method for transmitting a compressed coding result of video, which comprises: a. setting a maximum capacity and a output threshold value of a First-In First-Out (FIFO) memorizer; b. receiving the input current frame data, compressing and coding the received data, inputting the coding result into the FIFO; every time the readable data capacity in FIFO arriving at the threshold value, controlling the output of the coding result data in FIFO; c. after accomplishing the coding of the current frame data, controlling the output of the remnant coding result data in FIFO, returning to the step b until outputting all the frame coding data of the video. The present invention also discloses a device for transmitting a compressed coding result of video, which includes: a buffer unit, a coding unit, a FIFO and a transmission control unit. Application of the method and device disclosed in present invention can make full use of bus resources occurred in the vacant time between coding the data and outputting the data, and can save system resources occupied in whole coding and outputting process.

Description

A kind of method and apparatus of transmitting coding result of video compression
Technical field
The present invention relates to a kind of video signal transmission technology, particularly a kind of method and apparatus of real-time Transmission coding result of video compression.
Background technology
At present, when video image is transmitted end to end,, to carry out compressed encoding to the video image of transmission usually for saving the required bandwidth resources of transmission.Present video coding algorithm is that unit carries out usually with the macro block, in cataloged procedure, at first with present frame input-buffer unit line by line, after arriving the basic data amount that to encode, coding unit is by taking out original video data in the buffer unit, by macro block is that unit encodes, and after finishing each macroblock encoding, this coding result is stored in the memory cell that pre-sets.After finishing to the digital coding of present frame, trigger the external data passage coding result of present frame in the memory cell is read away, carry out subsequent treatment or transmit.
The explanation said process of giving an example, when adopting MPEG4 that video image is carried out compressed encoding, macroblock size is 16 row * 16 row.Because data are to import line by line, therefore correspondingly, the basic data amount that can encode is 16 row, that is to say, after the current frame data of input-buffer unit reached 16 row, coding unit began to start coding, and 16 line data that read in the buffer unit are encoded by macro block.Whenever finish a macroblock encoding, coding unit stores this coding result in the default memory cell into.Fig. 1 is for carrying out MPEG4 when coding, input process and cataloged procedure concern schematic diagram.As shown in Figure 1, usually the input speed of video data always is lower than the speed of compressed encoding, after buffer unit is ready to 16 line data, coding unit this 16 line data that begins to encode, simultaneously, buffer unit begin to receive input next organize 16 line data.Because compressed encoding speed is higher than the input speed of data, therefore to have encoded when finishing 16 current line data in the T1 moment when coding unit, buffer unit is not also organized next 16 line data and is ready to; When T1, be carved into so next organize the ready T2 of 16 line data constantly between, formed the idle time slot of compressed encoding, be also referred to as the absolute free time of present frame coding, during this period of time in, the encoder internal bus is idle.In addition, the actual coding of T1 before the moment in Fig. 1 is in the time, system bus is not all to be in occupied state yet, in this time, still can there be some idle time slots in small, broken bits in bus, and these are called the relative free time that present frame is encoded at the idle time slot of actual coding in the time.When arriving T2 after the moment, coding unit is proceeded next coding of organizing 16 line data.Up to the present frame end-of-encode, spread out of whole frame compressed encoding result in the memory cell by the low speed data transmission channel again, promptly utilize the coding result of the non-scramble time transmission present frame of interframe.It seems that totally the time of a frame compressed encoding and transmission is always expended as shown in Figure 2.
Can see intuitively by Fig. 2, in above-mentioned coding result transmission means, in absolute free in the time, there is not transfer of data on the bus, in addition, (not shown among Fig. 2) bus is in idle condition too in relative free time, and the bus free time in these free times has all been caused the significant wastage of system resource, and expend a large amount of non-scramble times facing mutually between the frame coding, negative influence the frame per second control ability.In addition, when the compression the frame of video size more little, the absolute free time can be long more, the wasting of resources is big more.When the frame of video size of compressing was big, the amount of coded data after the compression was also relatively large, and is also just big more for the requirement of the memory space in the memory cell, in fact, also is the high requirement to hardware configuration.
Summary of the invention
In view of this, the invention provides a kind of method and apparatus of transmitting coding result of video compression, can save system resource.
For achieving the above object, the present invention adopts following technical scheme:
A kind of method of transmitting coding result of video compression comprises:
A, the heap(ed) capacity that push-up storage FIFO is set and output threshold value; If the coding result data after the basic data piezometric of coding contracts can be finished output in the time in the absolute free of present frame coding, then output threshold value and the heap(ed) capacity of FIFO are set to: the coding result data volume after the basic data piezometric that equals to encode contracts; If the coding result data after the basic data piezometric of coding contracts fail to finish output in the absolute free of present frame coding in the time, the output threshold value that FIFO then is set is: the coding result data volume after contracting less than the basic data piezometric of encoding; The heap(ed) capacity that FIFO is set is the coding result data volume after contracting greater than the output threshold value of FIFO and less than the basic data piezometric of encoding;
B, the current frame data coding to importing are in coding result data input FIFO; In the cataloged procedure of present frame, when the data volume in FIFO reaches the output threshold value, the coding result data among the control output FIFO;
After c, current frame data coding are finished, remaining coding result data among the control output FIFO, and return step b, up to all frame of video coding result data of output.
Heap(ed) capacity and the output threshold value of FIFO preferably, are set according to the output speed of data among the generation speed of the coding result of present frame and the FIFO among the step a.
Preferably, determine that according to the image complexity of pixel data in the size of encoded video frame, the frame, the coding rate of coding unit and the target frame rate of coding described coding result produces speed.
Preferably, the output speed of determining data among the described FIFO for the response time of FIFO read signal according to message transmission rate and this transmission channel of transmission channel between the receiving equipment of FIFO and coding result data.
Preferably, the coding result data of the each output of FIFO are among the step b: with the coding result data of the output threshold value equivalent that is provided with.
Preferably, control described in the step b is output as: the receiving equipment to outside coding result data sends first control signal, notifies this receiving equipment to read coding result data among the FIFO.
Preferably, remaining coding result data are among the output of control described in the step c FIFO: the receiving equipment to outside coding result data sends second control signal, and carry remaining data amount among the FIFO, notify this receiving equipment to read remaining coding result data among the FIFO.
A kind of device of transmitting coding result of video compression comprises: buffer unit, coding unit, FIFO and transmission control unit;
Described buffer unit is used to receive the current frame data of input, and triggers coding unit and begin coding;
Described coding unit is used for after receiving the triggering signal of described buffer unit, reading video data from buffer unit, and encoding, with coding result data sequential storage in FIFO;
Described FIFO is used to store the coding result data that described coding unit sends;
Described transmission control unit, be used to be provided with heap(ed) capacity and the output threshold value of described FIFO, if the coding result data after the basic data piezometric of coding contracts can be finished output in the time in the absolute free of present frame coding, then output threshold value and the heap(ed) capacity of FIFO are set to: the coding result data volume after the basic data piezometric that equals to encode contracts; If the coding result data after the basic data piezometric of coding contracts fail to finish output in the absolute free of present frame coding in the time, the output threshold value that FIFO then is set is: the coding result data volume after contracting less than the basic data piezometric of encoding; The heap(ed) capacity that FIFO is set is the coding result data volume after contracting greater than the output threshold value of FIFO and less than the basic data piezometric of encoding; Monitor the data volume among the described FIFO, in the cataloged procedure of present frame, when the data volume in described FIFO reaches the output threshold value, control described FIFO output encoder result data; After present frame is finished coding, control described FIFO and export remaining coding result data.
Preferably, described transmission control unit is used for when the data volume that monitors described FIFO reaches the output threshold value of setting, sends first control signal to the receiving equipment of coding result data, notifies this equipment to read coding result data among the described FIFO; Also be used for after present frame is finished coding, send second control signal to the receiving equipment of coding result data, and carry the remaining data amount among the described FIFO, notify this equipment to read remaining coding result data among the described FIFO.
As seen from the above technical solution, among the present invention, utilize the memory cell of push-up storage (FIFO) as the memory encoding result, heap(ed) capacity and the output threshold value of FIFO at first are set, the as a result sequential storage of coding unit after with each macroblock coding is in FIFO then, in the cataloged procedure of present frame, when the readable code result data amount among the FIFO reaches the output threshold value, i.e. the coding result data of the output threshold value equivalent of output and setting; After the present frame end-of-encode, export remaining data among the FIFO again.Because in method and apparatus of the present invention, the memory cell of coding result is FIFO, carry out when therefore can realize the coding result read-write, before not finishing whole codings of present frame, can hop coding result data, specifically the time of read data is controlled by the output threshold value that is provided with from FIFO.Like this, in the cataloged procedure of present frame, can utilize the bus resource in the idle time slot that comprises relative free time and absolute free time well, hop coding result data, significantly reduced after present frame coding is all over, the time that is used for the transfer encoding result data is to save the system resource that takies in whole coding and the transmission course.
Further, for making system resource obtain optimum utilization, when heap(ed) capacity that FIFO is set and output threshold value, to take all factors into consideration in conjunction with the output speed of data among the generation speed of present frame coding result and the FIFO, to utilize system's idling-resource to greatest extent and not influence taking of other resources such as coding.
Description of drawings
Fig. 1 is for carrying out at present MPEG4 when coding, input process and cataloged procedure concern schematic diagram.
Fig. 2 always expended for the time of an existing frame compressed encoding and transmission.
Fig. 3 is the method overview flow chart of transmitting coding result of video compression provided by the invention.
Fig. 4 is the equipments overall structure figure of transmission of video compressed encoding structure among the present invention.
Fig. 5 is the method particular flow sheet of transmitting coding result of video compression in the embodiment of the invention.
Fig. 6 is according to mode of the present invention, MPEG4 one frame compressed encoding and transmission time always expend schematic diagram.
Fig. 7 is the concrete structure figure of system of transmitting coding result of video compression in the embodiment of the invention.
Embodiment
For making purpose of the present invention, technological means and advantage clearer, below in conjunction with accompanying drawing, the embodiment that develops simultaneously is described in further detail the present invention.
Basic thought of the present invention is: make full use of the idle time slot that comprises relative free time and absolute free time, with the maximize system resource utilance, save the total system resource that takies in coding and the transmission course.
Fig. 3 is the method overview flow chart of transmitting coding result of video compression provided by the invention.As shown in Figure 3, this method comprises:
Step 301 is provided with the heap(ed) capacity of coding result memory cell FIFO and exports threshold value.
Step 302 is carried out compressed encoding to the current frame data of importing, and coding result is imported among the FIFO; In the cataloged procedure of present frame, when the readable data amount among the FIFO reaches the output threshold value, the coding result data among the control output FIFO.
Step 303, after the current frame data coding is finished, remaining coding result data among the output FIFO, and return step 302, up to all frame of video coded datas of output.
So far, the method overall procedure of transmitting coding result of video compression provided by the invention finishes.The present invention also provides the device of transmitting coding result of video compression.Fig. 4 is the equipments overall structure figure of transmitting coding result of video compression among the present invention.As shown in Figure 4, this device comprises: buffer unit, coding unit, FIFO and transmission control unit.
In device shown in Figure 4, buffer unit is used to receive the present frame video data of input, and when the data volume of input reached the integral multiple of basis of coding data volume, buffer unit triggered coding unit and begins coding.
Coding unit, receive the triggering signal of buffer unit after, reading video data from buffer unit, and by macro block begin the coding, with the coding result sequential storage in FIFO.
FIFO is used for the coding result data that the memory encoding unit sends.
Transmission control unit is used to be provided with the heap(ed) capacity of FIFO and exports threshold value, the readable data amount among the monitoring FIFO, and in the cataloged procedure of present frame, when reaching the output threshold value, control FIFO output encoder result data; After present frame was finished coding, control FIFO exported remaining coding result data.
Particularly, transmission control unit can be implemented in the different phase of present frame coding by sending different control signals, coding result data among the control output FIFO.Preferred mode can for: in cataloged procedure, send first control signal, notify this receiving equipment to read quantitative coding result data to the receiving equipment of outside received code result data; After coding is finished, send second control signal, the notice receiving equipment reads remaining coding result data.
By as seen above-mentioned, in the method and apparatus of the present invention, the coding result of coding unit is stored among the FIFO, like this, in the cataloged procedure of present frame, can utilize the idle time slot that comprises relative free time and absolute free time to realize the transmission of coding result, so, when the present frame end-of-encode, need the coding result data volume of transmission to reduce greatly, save expending of non-scramble time of being used for interframe transmission, saved system resource.
Above-mentionedly being overview of the present invention, is example with transmission MPEG4 coding result below, and the specific embodiment of the present invention is described.
Embodiment:
In the present embodiment, the encryption algorithm of employing is MPEG4, and its macroblock size is 16 * 16, and the basic data amount that is to say coding is 16 row.Coding result is transferred to the receiving terminal module, carries out subsequent treatment or decoding and watches.
Fig. 5 is the method particular flow sheet of transmitting coding result of video compression in the embodiment of the invention.As shown in Figure 5, this method comprises:
Step 501 is provided with the heap(ed) capacity of coding result memory cell FIFO and exports threshold value.
In this step, be provided with FIFO heap(ed) capacity and output threshold value concrete mode can for: according to the output speed setting of data among the average generation speed of coding result and the FIFO, make not only limit the shared memory space of FIFO as far as possible little, but also prevent that the data among the FIFO from overflowing.Preferably, make the output of data among the FIFO utilize the absolute free time of current video coding to carry out as far as possible, in the present embodiment, just utilize the absolute free time of per 16 row to carry out the transmission of coding result data.Particularly, the target frame rate of the coding rate of the image complexity of pixel data, coding unit and coding is relevant in the size of the average generation speed of coding result and encoded video frame, the frame.The output speed of data is relevant for the response speed of FIFO read signal with this transmission channel with the message transmission rate of transmission channel among the FIFO.Obviously, those skilled in the art can carry out the setting of FIFO heap(ed) capacity and output threshold value according to These parameters.
Preferably, the matching relationship according to data output speed among coding result generation speed and the FIFO can followingly be provided with output threshold value and heap(ed) capacity:
If the coding result data volume after the 16 line data compressions can be at the absolute free of per 16 row end of transmission in the time, output threshold value in so can FIFO is set to the coding result data volume after the compression of 16 line data, and heap(ed) capacity is set to and exports threshold value and equate.Like this, can guarantee after coding unit is finished the coding of 16 line data, to begin to carry out the transmission of coding result, thereby guarantee in the most idle stage transmission data of bus.Usually, for undersized frame of video (as the frame of video of VGA, CIF and QCIF size), because the data volume of its coding result is less, the coding free segment of its per 16 row is much larger than the time period of encoding, that is to say, large percentage among Fig. 2 between free segment A2 and busy section A1 is easier to satisfy above-mentioned condition for the frame of video ratio of this class, is fit to adopt the setting of above-mentioned output threshold value;
But frame of video for the coding result data volume after the 16 line data compressions very big (as the coding of the large scale frame of video of D1 form etc.), the absolute free time of its per 16 row is very short, even can be 0, because the absolute free time shortens, need the result data amount transmitted bigger in addition, the frame of video of this class is difficult in absolute free times of per 16 row the data result end of transmissions behind the 16 row codings; In addition, under the very slow situation of the output speed of coding result data, also might can't be in the time with the data result end of transmissions behind the 16 row codings in the absolute free of per 16 row; For the above-mentioned frame of video that these can't finish the coding result transfer of data in the time in absolute free, can be when the output threshold value be set, coding result data volume after making this threshold value less than the compression of 16 line data, thereby can begin the transfer encoding result data earlier, to utilize transfer encoding result data as often as possible of relative free time.Like this, significantly reduced the coding result data space size, shortened the time that interframe is used for the transfer encoding result data.According to above-mentioned setting, the heap(ed) capacity of FIFO can be set promptly in conjunction with aforesaid every index again to the output threshold value.
Below by a concrete example above-mentioned output threshold value and heap(ed) capacity setting are described:
Suppose that be IN_N the input time of frame data before 16 trades, IN_N depends on the size of current video frame and frame per second etc.;
The frame data compression time is ENC_N before 16 trades, and ENC_N depends on the image complexity of pixel data in the frame and compression work clock etc.;
The absolute free time in 16 row, (being the idle time slot of the coding described in the present invention) IDLE_A_N was the poor of input time and compression time, i.e. IDLE_A_N=IN_N-EN_N;
Relative free time IDLE_R_N is the free time in the cataloged procedure in 16 row.16 row packed data output times are TRN_N=(TRN_A_N+WAIT_N*COMPRESSED_N/THD_N); Wherein, TRN_A_N was 16 row packed data output actual transmissions times, and TRN_A_N depends on the coding result data volume of 16 line data and the data channel transmission rate of output etc.; WAIT_N is each packed data output request stand-by period, and WAIT_N depends on the reaction rate of coding result data receiver etc.; COMPRESSED_N is the coding result data volume of 16 line data; The FIFO output threshold value of THD_N for being provided with; The heap(ed) capacity of FIFO is FIFO_N.
Based on the expression of above-mentioned each physical quantity, FIFO output threshold value and heap(ed) capacity can followingly be provided with:
One, when TRN_N<=IDLE_A_N, that is to say, 16 row coding result data can be in the absolute free time (being the idle time slot in the cataloged procedure) end of transmission, the heap(ed) capacity of then FIFO being exported threshold value and FIFO all is set to equate with coding result data volume behind the 16 line data coding, i.e. THD_N=FIFO_N=COMPRESSED_N.Like this,, will after per 16 line data coding be finished, promptly begin transmission, and finish transmission in the time, simultaneously, guarantee that the FIFO occupation space is as far as possible little in absolute free for the coding result data of present frame.
Two, as TRN_N=(IDLE_A_N+IDLE_R_N*X), and 0<X<1 o'clock, that is to say that 16 row coding result data can not be at absolute free end of transmission in the time, but can be in the total time of the absolute free time in 16 row and relative free time end of transmission.At this moment, FIFO exports threshold value and is set to coding result data volume less than 16 line data, be specifically as follows THD_N<=COMPRESSED_N* (1-X), and the heap(ed) capacity of FIFO is set to greater than COMPRESSED_N* (1-X) and less than the coding result data volume of 16 line data, to guarantee that FIFO does not overflow on the one hand, save the FIFO occupation space on the other hand as far as possible; Can dynamically adjust simultaneously output threshold value and the heap(ed) capacity of FIFO according to WAIT_N, make TRN_N get minimum value.Because the coded data of 16 row can't be finished transmission in the time in the absolute free of 16 line data, therefore, the output threshold value of FIFO is set to the coding result data volume less than 16 line data, when encoding with the partial data in finishing 16 line data, promptly begin the transfer encoding result data, thereby utilize the relative free time transfer encoding result data in the cataloged procedure as much as possible, simultaneously the heap(ed) capacity of FIFO is done suitably to adjust with assurance not overflow, and save occupation space as far as possible.
Three, as TRN_N〉(IDLE_A_N+IDLE_R_N) time, that is to say, 16 row coding result data can't be in the total time of the absolute free time in 16 row and relative free time end of transmission, in this case, soon FIFO output threshold value is set to the coding result data volume less than 16 line data, specifically can be according to the value of WAIT_N, suitably be provided with one greater than 0 and smaller or equal to 1 Y, FIFO exports threshold value and is set to THD_N=COMPRESSED_N*Y, so that TRN_N gets minimum value, the heap(ed) capacity of FIFO is set to greater than the output threshold value and less than COMPRESSED_N, to save the shared space of FIFO.Similar with second kind of situation, will be when not finishing the coding of 16 line data in this situation yet, begun to utilize the relative free time transfer encoding result data in the cataloged procedure, be with the difference of second kind of situation, the time of beginning transfer encoding result data is morning more, to utilize the idling-resource of system as much as possible; Simultaneously, the heap(ed) capacity of FIFO is set suitably, guarantees not overflow and take up room less as far as possible.
In the setting up procedure of above-mentioned output threshold value and heap(ed) capacity, why select 16 behavioral standards to be because in numerous Coding Compression Algorithm, the macroblock size of encoding is 16 row * 16 row.Prove through experimental result, after the heap(ed) capacity and output threshold value of FIFO is set according to aforesaid way, when the present frame end-of-encode, remaining coding result data volume minimum among the FIFO, therefore it is also the shortest that interframe is used for time of transfer encoding result, farthest saved system resource.
Realize the coding of sequence of frames of video and the transmission of coding result by following step.
Step 502 is made as present frame with first frame in the sequence of frames of video.
Step 503 is encoded to current frame data, and controls the coding result data of exporting among the FIFO according to being provided with in the step 501.
In this step, when current frame data is encoded, with the macro block is that unit carries out, macroblock size in the present embodiment is 16 * 16 as previously mentioned, the specific coding process comprises: the first group coding data (i.e. 16 line data) of input present frame, coding unit is encoded by macro block to these group coding data, and stores into each macroblock encoding result data among the FIFO successively; Then, coding unit waits the input of next group coding data and finishes, and begins next group coding data is encoded and stored, up to all data of the present frame of having encoded.
In the process that above-mentioned current frame data is encoded, the data among the FIFO are constantly accumulated.After the data volume among the FIFO reaches the output threshold value that is provided with in the step 501, the coding result data data among the control output FIFO.
Particularly, the mode of control output can for: after the data volume among the FIFO reaches the output threshold value, send first control signal, notify this equipment to read coding result data among the FIFO to the receiving equipment of coding result data; This equipment responds this notice after receiving this first control signal, reads the coding result data from FIFO.Because the process of its response is changeable, therefore, as previously mentioned, this response time has also just been exported one of reference factor of threshold value and heap(ed) capacity as FIFO is set in the step 501.
When the output encoder result data, the data volume of output can be provided with voluntarily, and preferred output data quantity is, with the output threshold value equivalent that is provided with.As previously mentioned, preferably, the output threshold value can be set to the coding result data volume of 16 line data, like this, can wait in the process that group coding data input finishes at coding unit, and also be that free segment shown in Figure 2 is carried out the transmission of coding result data.During this period of time, system bus is the notst busy, can reach the highest coding result data transmission efficiency.
Step 504 is after finishing the coding of present frame, with remaining coding result data output among the FIFO.
Because after finishing the coding of present frame, the remaining data amount among possible the FIFO is lower than in the step 501 the output threshold value of setting, therefore, after the present frame end-of-encode, disposable remaining coding result data among the FIFO are all exported.Particularly, can send second control signal, and the remaining data amount among the FIFO is carried at wherein, notify this equipment to read this remaining data to the receiving equipment of coding result data; The receiving equipment of coding result data receives this second control signal, and according to the remaining data amount of wherein carrying, reads all residue coding result data from FIFO.
So far, the coding and the transmission of current frame data have promptly been finished.Fig. 6 is for always expending schematic diagram according to aforesaid way MPEG4 one frame compressed encoding and transmission time.By with Fig. 2 more as can be seen, the time is always expended greatly and reduces.
Step 505 judges whether present frame is the last frame of sequence of frames of video, if, process ends then, otherwise, execution in step 506.
Step 506 is made as present frame with the next frame in the sequence of frames of video, returns step 503.
So far, finished the coding and the transmission of all sequence of frames of video, method flow of the present invention finishes.Here be noted that after execution of step 504, direct execution in step 505 and 506, the transmission of beginning next frame data like this, can improve the frame per second behind the coding; Also can before step 505, in the free time before next frame is encoded, utilize idle system resource to carry out other operation.In a word, use method of the present invention after, reduced always expending of a frame compressed encoding and transmission time, saved system resource.
The above-mentioned method embodiment that is transmission compressed encoding result in the present embodiment.Present embodiment also provides transmission compressed encoding result's system, can be used to implement said method.Fig. 7 is the concrete structure figure of system of transmission MPEG4 coding result in the present embodiment.As shown in Figure 7, this system comprises MPEG4 encoder and receiving terminal module.Wherein, the MPEG4 encoder is a kind of embodiment of transmission of video coding result device shown in Figure 4.This MPEG4 encoder comprises: buffer unit, coding unit, FIFO and transmission control unit.
In system shown in Figure 7, the buffer unit of MPEG4 encoder is used to receive the present frame video data of input, when the data volume of input reaches the integral multiple of basis of coding data volume, just during the integral multiple of 16 line data, buffer unit triggers coding unit and begins coding.
Coding unit, receive the triggering signal of buffer unit after, from buffer unit, read 16 the row video datas, and by macro block begin the coding, with the coding result sequential storage in FIFO.
Transmission control unit is used to be provided with the heap(ed) capacity of FIFO and exports threshold value, the data volume among the monitoring FIFO, in the cataloged procedure of present frame, when reaching the output threshold value, export first control signal to the receiving terminal module, notice receiving terminal module reads the coding result data among the FIFO; After present frame is finished coding, to export second control signal to the receiving terminal module, and carry the remaining data amount among the FIFO, notice receiving terminal module reads remaining coding result data among the FIFO.
The receiving terminal module is used to receive the control signal of transmission control unit, and judges the type of this control signal, when definite this control signal is first control signal, by reading quantitative coding result data among the FIFO; When definite control signal is second control signal, extract the remaining data amount of carrying in the control signal, from FIFO, read all residue coding result data.
Utilize said system, promptly can realize the purpose that cataloged procedure and transmission course are carried out simultaneously, final residue coding result data after the whole frame compressed encoding will be far smaller than the coding result data of whole frame, then reduced greatly facing the non-scramble time that is used for the result data transmission between the frame coding mutually, saved the resource of system.Simultaneously, for the transmission of coding result data,, therefore can relatively realize the even output of coding result data owing to during intraframe coding, carry out to timesharing the transmission of coding result data.
In the specific embodiment of the invention described above, all to carry out the specific embodiment of the present invention that is encoded to the example explanation of MPEG4.In fact, when adopting other when H.263 waiting coded system, method and apparatus of the present invention stands good, and difference is that the basic data amount of encoding may change to some extent because of the difference of macroblock size.Here just repeat no more.
Being preferred embodiment of the present invention only below, is not to be used to limit protection scope of the present invention.Within the spirit and principles in the present invention all, any modification of being done, be equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (9)

1, a kind of method of transmitting coding result of video compression is characterized in that, this method comprises:
A, the heap(ed) capacity that push-up storage FIFO is set and output threshold value; If the coding result data after the basic data piezometric of coding contracts can be finished output in the time in the absolute free of present frame coding, then output threshold value and the heap(ed) capacity of FIFO are set to: the coding result data volume after the basic data piezometric that equals to encode contracts; If the coding result data after the basic data piezometric of coding contracts fail to finish output in the absolute free of present frame coding in the time, the output threshold value that FIFO then is set is: the coding result data volume after contracting less than the basic data piezometric of encoding; The heap(ed) capacity that FIFO is set is the coding result data volume after contracting greater than the output threshold value of FIFO and less than the basic data piezometric of encoding;
B, the current frame data coding to importing are in coding result data input FIFO; In the cataloged procedure of present frame, when the data volume in FIFO reaches the output threshold value, the coding result data among the control output FIFO;
After c, current frame data coding are finished, remaining coding result data among the control output FIFO, and return step b, up to all frame of video coding result data of output.
2, method according to claim 1 is characterized in that, the output speed that produces data among speed and the FIFO according to the coding result of present frame among the step a is provided with heap(ed) capacity and the output threshold value of FIFO.
3, method according to claim 2 is characterized in that, determines that according to the image complexity of pixel data in the size of encoded video frame, the frame, the coding rate of coding unit and the target frame rate of coding described coding result produces speed.
4, method according to claim 2, it is characterized in that, determine the output speed of data among the described FIFO according to message transmission rate and this transmission channel of transmission channel between the receiving equipment of FIFO and coding result data for the response time of FIFO read signal.
5, method according to claim 1 is characterized in that, the coding result data of the each output of FIFO are among the step b: with the coding result data of the output threshold value equivalent that is provided with.
6, method according to claim 1 is characterized in that, control described in the step b is output as: the receiving equipment to outside coding result data sends first control signal, notifies this receiving equipment to read coding result data among the FIFO.
7, method according to claim 1, it is characterized in that, remaining coding result data are among the output of control described in the step c FIFO: the receiving equipment to outside coding result data sends second control signal, and carry remaining data amount among the FIFO, notify this receiving equipment to read remaining coding result data among the FIFO.
8, a kind of device of transmitting coding result of video compression is characterized in that, this device comprises: buffer unit, coding unit, FIFO and transmission control unit;
Described buffer unit is used to receive the current frame data of input, and triggers coding unit and begin coding;
Described coding unit is used for after receiving the triggering signal of described buffer unit, reading video data from buffer unit, and encoding, with coding result data sequential storage in FIFO;
Described FIFO is used to store the coding result data that described coding unit sends;
Described transmission control unit, be used to be provided with heap(ed) capacity and the output threshold value of described FIFO, if the coding result data after the basic data piezometric of coding contracts can be finished output in the time in the absolute free of present frame coding, then output threshold value and the heap(ed) capacity of FIFO are set to: the coding result data volume after the basic data piezometric that equals to encode contracts; If the coding result data after the basic data piezometric of coding contracts fail to finish output in the absolute free of present frame coding in the time, the output threshold value that FIFO then is set is: the coding result data volume after contracting less than the basic data piezometric of encoding; The heap(ed) capacity that FIFO is set is the coding result data volume after contracting greater than the output threshold value of FIFO and less than the basic data piezometric of encoding; Monitor the data volume among the described FIFO, in the cataloged procedure of present frame, when the data volume in described FIFO reaches the output threshold value, control described FIFO output encoder result data; After present frame is finished coding, control described FIFO and export remaining coding result data.
9, device according to claim 8, it is characterized in that, described transmission control unit, be used for when the data volume that monitors described FIFO reaches the output threshold value of setting, receiving equipment to the coding result data sends first control signal, notifies this equipment to read coding result data among the described FIFO; Also be used for after present frame is finished coding, send second control signal to the receiving equipment of coding result data, and carry the remaining data amount among the described FIFO, notify this equipment to read remaining coding result data among the described FIFO.
CN 200710098941 2007-04-29 2007-04-29 Method and apparatus for transmitting coding result of video compression Active CN100525451C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710098941 CN100525451C (en) 2007-04-29 2007-04-29 Method and apparatus for transmitting coding result of video compression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710098941 CN100525451C (en) 2007-04-29 2007-04-29 Method and apparatus for transmitting coding result of video compression

Publications (2)

Publication Number Publication Date
CN101039429A CN101039429A (en) 2007-09-19
CN100525451C true CN100525451C (en) 2009-08-05

Family

ID=38890024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710098941 Active CN100525451C (en) 2007-04-29 2007-04-29 Method and apparatus for transmitting coding result of video compression

Country Status (1)

Country Link
CN (1) CN100525451C (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499245B (en) * 2008-01-30 2011-11-16 安凯(广州)微电子技术有限公司 Asynchronous first-in first-out memory, liquid crystal display controller and its control method
CN106507114A (en) * 2016-11-25 2017-03-15 天津津芯微电子科技有限公司 It is based on FPGA method for compressing image, device and Transmission system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
基于DSP 的数字电视节目编码模块设计. 王培良,祁才君,吴肖甫.电子技术,第No.12期. 2003
基于DSP 的数字电视节目编码模块设计. 王培良,祁才君,吴肖甫.电子技术,第No.12期. 2003 *
基于EZ-USB传输的图像数据压缩处理***. 梁兴忠,张东亮,彭雪峰.工业控制计算机,第Vol.17卷第No.2期. 2004
基于EZ-USB传输的图像数据压缩处理***. 梁兴忠,张东亮,彭雪峰.工业控制计算机,第Vol.17卷第No.2期. 2004 *

Also Published As

Publication number Publication date
CN101039429A (en) 2007-09-19

Similar Documents

Publication Publication Date Title
US10735740B2 (en) Bit rate control method and device
CN109600610B (en) Data encoding method, terminal and computer readable storage medium
US8675728B2 (en) Transmitting apparatus and method, and receiving apparatus and method
CN101547367B (en) Data processing device, image encoding/decoding device and data processing system
CN104168439B (en) A kind of method for video coding and device
JPH09107547A (en) Already compressed dynamic image data amount reduction device, already compressed dynamic image data amount reduction system and already compressed dynamic image data reduction method
CN103581680A (en) Method and system for improving decoder performance through quantization control
US20020054635A1 (en) Image transmitting method and apparatus and image receiving method and apparatus
KR101233945B1 (en) Conserving power in a platform supporting network interfaces
CN102088332B (en) Method and device for expansion 1553B bus to perform file transfer from BC to RT
CN102138336B (en) Moving-picture image data-distribution method
CN100525451C (en) Method and apparatus for transmitting coding result of video compression
CN103974090B (en) Image encoding apparatus
CN113573072A (en) Image processing method and device and related components
CN101364855A (en) Data packet transmission control method and apparatus in code stream
CN111212285A (en) Hardware video coding system and control method of hardware video coding system
US20110096082A1 (en) Memory access control device and method thereof
CN101998104A (en) Generating method for video telephone and substitute video thereof
CN111372085B (en) Image decoding device and method
CN101720033A (en) Video transmission equipment as well as USB transmission device and method thereof
CN100508603C (en) Device and method for flow control of video image data
CN100389611C (en) Dynamic control method for video encoder
CN116193113B (en) Data decompression and compression method and device
CN104052999A (en) Method for executing rate control in parallel encoding system and parallel encoding system
CN104581175A (en) Image processing device and method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171221

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co., Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor

Patentee before: Beijing Vimicro Corporation

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Mid Star Technology Limited by Share Ltd

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Zhongxing Technology Co., Ltd.

CP01 Change in the name or title of a patent holder