CN100452877C - Visual information decoding apparatus and method - Google Patents
Visual information decoding apparatus and method Download PDFInfo
- Publication number
- CN100452877C CN100452877C CNB2004100903777A CN200410090377A CN100452877C CN 100452877 C CN100452877 C CN 100452877C CN B2004100903777 A CNB2004100903777 A CN B2004100903777A CN 200410090377 A CN200410090377 A CN 200410090377A CN 100452877 C CN100452877 C CN 100452877C
- Authority
- CN
- China
- Prior art keywords
- frame
- mentioned
- buffer
- video signal
- signal 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000000007 visual effect Effects 0.000 title claims description 13
- 239000000872 buffer Substances 0.000 claims abstract description 169
- 230000002457 bidirectional effect Effects 0.000 abstract 1
- 238000007906 compression Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- NHDHVHZZCFYRSB-UHFFFAOYSA-N pyriproxyfen Chemical compound C=1C=CC=NC=1OC(C)COC(C=C1)=CC=C1OC1=CC=CC=C1 NHDHVHZZCFYRSB-UHFFFAOYSA-N 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The present invention relates to a video decoding method. Firstly, a first picture frame in a video datum is obtained, the first picture frame is simultaneously appointed to a backward reference picture frame and a forward reference picture frame, and a picture frame buffer is emptied; then, the next picture frame in the video datum is obtained, the class of the picture frame is judged, corresponding decoding operation is performed according to the judging result, and the picture frame is temporarily stored in the picture frame buffer when the picture frame is a bidirectional forecasting picture frame.
Description
Technical field
The present invention is relevant for a kind of video signal processing method, and is particularly to a kind of video decoding method, the video signal data that its decodable code goes out to utilize the different coding method to compress.
Background technology
MPEG-4 is by International Standards Organization " moving normal structure (Motion Picture Expert Group, MPEG) " audio-visual compression standard of finishing of formulating.MPEG-4 adopts the compress technique different with MPEG-1/2, it is in frame (frame-based) mode, the video signal face is cut into grand zone (macroblocks), preferable again Motion Vector forecast model is predicted grand zone, exchange the redundant information (redundancy) of less data volume for, so MPEG-4 has the compression ratio of height.
Its handling process below is described.
The video signal data of mpeg format mainly is made up of three kinds of different frames, be respectively independent frame (Intra-Frame, I-frame), predictive frame (Predicted-Frame, P-frame) and bi-directional predicted frames (Bidirectional-Frame, B-frame).The frozen frozen mass of I frame for not compressing with reference to historical data in the past, it does not have relevance at compression process other frame that neutralizes.The P frame is to compress and get with reference to previous frame (I or P frame).The similar P frame of the compression process of B frame, but it is to compress and get with reference to a previous and back frame (I or P frame).
As from the foregoing, the I frame does not need can independently decipher with reference to other face, the P frame must be thought after previous frame solves according to deciphering, the B frame then must could be deciphered after last frame and a back frame are all separated out according to this, thus constitute video signal data bit streams data (bitstream) deposit order and the actual play order will be different.Be noted that B frame itself can't be brought as the plane of reference by other frame.For instance, if coder-decoder (Coder/Decoder, CODEC) order of the bit streams data of end input is:
I(0)P(3)B(1)B(2)P(6)B(4)B(5)I(9)B(7)B(8)P(12)B(10)B(11),
The order of then deciphering the bit streams data of gained should be:
I(0)B(1)B(2)P(3)B(4)B(5)P(6)B(7)B(8)I(9)B(10)B(11)P(12),
Its playing sequence and original input sequence are inequality.
Except I, P, B frame, have again in addition PB (or IB) frame and empty P frame (Empty P frame, Pe-frame).With reference to figure 1, a PB (IB) frame 100 has comprised P (or I) frame and a B frame, come if disassemble, P (or I) frame in PB (IB) frame and a B frame are consistent with the compression operation principles of P (or I) frame and B frame independently, only PB (or IB) frame can be considered as same frame in input at the same time in system layer.The Pe frame is meant the frame that does not comprise image data.
Input and the output order of the bit streams data of the classification of the frame that constitutes video signal data and video signal data above have been described.Video signal data is because archives are very big, so when video signal data is made the video files that can play, need video signal data is carried out boil down to such as File Formats such as MPEG-1/2/4, AVI.Yet, MPEG-4 video signal standard still has part to adjust the space in system layer, each tame manufacturer causes via the video signal data after wherein a kind of coder-decoder compresses and can't correctly be separated out by the coder-decoder of other family in order to develop the coder-decoder device that to meet own demand in response to different demands.For instance, in the middle of the existing software that can carry out the video signal compression, DivX and Divio are two kinds of comparatively well-known coder-decoders wherein, it is the compression standard that utilizes MPEG-4, image is compressed with high compression ratio, the matter performance is near the MPEG-2 File Format, but archives but have only the size of MPEG-1 File Format.
Though above-mentioned two kinds of coder-decoders all declare to meet the MPEG-4 standard, yet its sampling (sample) synchronization mechanism in system layer (system layer) but has different with output order (as mentioned before), cause the bit streams data can't be compatible each other, only support that promptly wherein a kind of coder-decoder of coded format can't be deciphered out with the video signal data of another kind of compressed format smoothly via both compressions video signal data later.Part supports simultaneously the coder-decoder of two types bit streams data to take to be simultaneously that a video signal data is real makes two parts of decoding modes, again according to comprised in its bit streams data copyright declaration information judge that the bit streams data of this video signal data are compressed by Divio or DivX.But such mode not only expends system resource, in case and the copyright in the bit streams data of this video signal data declaration altered or in decode procedure, lost, the method is promptly counted out, suitable inconvenience.
Therefore, one of needs can be to being carried out the video decoding method of correct decoding by the video signal data that any coder-decoder compressed.
Summary of the invention
In view of this, purpose of the present invention is providing a kind of video decoding method, smoothly all types of MPEG-4 archives are deciphered.
Based on above-mentioned purpose, the embodiment of the invention provides a kind of video decoding method, comprises the following steps: to define reference frame, a forward reference frame and a frame buffer backward; Obtain the frame in the video signal data; Judge the classification of above-mentioned frame; If above-mentioned frame is a two-way predictive frame, and if above-mentioned frame buffer has a previous bi-directional predicted frames, then above-mentioned previous bi-directional predicted frames is exported in decoding, and deposits above-mentioned bi-directional predicted frames in above-mentioned frame buffer; And if above-mentioned frame is above-mentioned bi-directional predicted frames, and if above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, then above-mentioned bi-directional predicted frames is exported in decoding.
Detailed step is: at first, read out first frame from the video signal data that compressed, this frame is assigned to simultaneously " reference frame backward " and " forward reference frame " (frame that is about to read is stored into " reference buffer backward " and " forward reference buffer " respectively), and empties frame buffer.Then read out next frame, check the classification of this frame then, and carry out corresponding operation according to its frame category.
When the frame that reads is I or P frame, then " reference frame backward " decoding is exported, then " reference frame backward " is assigned to " forward reference frame ", I that will read at present or P frame are assigned to " reference frame backward " simultaneously, and empty frame buffer.
When the frame that reads is the B frame,, then decipher the B frame in the output frame buffer, and the B frame that will read at present deposits frame buffer in if having previous B frame in the frame buffer.If do not store any B frame in the frame buffer, then directly to the B frame decoding that reads at present and with its output.
When the frame that reads is PB (or IB) frame (promptly comprising two frames simultaneously), then " reference frame backward " decoding is exported, then " reference frame backward " is assigned to " forward reference frame ", first frame in the frame that will read at present (I or P frame) is assigned to " reference frame backward " simultaneously, and second frame (B frame) in the frame that will read at present deposits frame buffer in.
When the frame that reads is the Pe frame,, then decipher the B frame in the output frame buffer, and empty frame buffer if having previous B frame in the frame buffer.If do not store any B frame in the frame buffer, then directly will " reference frame backward " decoding output.
The embodiment of the invention also provides a kind of visual information decoding apparatus, and it comprises in order to a video signal data is carried out decoded operation: a reference buffer backward, in order to store a frame; One forward reference buffer is in order to store a frame; One frame buffer is in order to store a frame; One temporary controller will be in order to will be assigned to above-mentioned reference buffer backward, above-mentioned forward reference buffer and above-mentioned frame buffer from the frame that above-mentioned video signal data is obtained; An and decoding unit, be coupled to above-mentioned temporary controller, in order to judge the classification of the frame of obtaining from above-mentioned video signal data, make above-mentioned temporary controller carry out corresponding decoded operation according to above-mentioned judged result, and the frame that the above-mentioned video signal data after the output decoding is obtained, wherein, when the frame of obtaining when above-mentioned video signal data was a two-way predictive frame, then the frame that above-mentioned video signal data is obtained was temporary in the above-mentioned frame buffer.
Description of drawings
Fig. 1 is the schematic diagram that shows PB (or IB) frame.
Fig. 2 is the flow chart of steps that shows the video decoding method of Divio video signal compressed software.
Fig. 3 is the flow chart of steps that shows the video decoding method of DivX video signal compressed software.
Fig. 4 is the flow chart of steps that shows the video decoding method of the embodiment of the invention.
Fig. 5 is the configuration diagram that shows the visual information decoding apparatus of the embodiment of the invention.
Fig. 6 A and 6B figure are the schematic diagrames that demonstration utilizes the video decoding method of the embodiment of the invention that video signal data is deciphered.
Symbol description:
100~PB frame; 505~input bit streams data;
510~decoding unit; 515~carry-out bit stream data;
520~temporary controller; 530~backward reference buffer;
540~forward reference buffer; 550~frame buffer;
P, B~frame.
Embodiment
For above and other objects of the present invention, feature and advantage can be become apparent, cited below particularlyly go out preferred embodiment, and cooperate appended graphicly, be described in detail below.
The embodiment of the invention is to disclose a kind of visual information decoding apparatus and method.At first, define the parameter of desiring to use in the present embodiment.See it with programming angle, " Current " expression is at present by the frame index that reads in the bit streams data, " Next " expression " reference frame index backward " (backward referenceframe pointer) index, " Previous " expression " forward reference frame index " (forward referenceframe pointer), " Buffer " represents buffer pointer (buffer pointer)." GetNextSample () " expression is by the sub-letter formula that reads next frame in the bit streams data, the sub-letter formula of frame to a display unit after " Dump () " expression output decoding, the sub-letter formula of " GetFirstFrame () " expression acquisition first frame in the frame that reads, the sub-letter formula of " GetSecondFrame () " expression second frame in the frame that read.In addition, according to MPEG video signal compression standard, it provides one " reference buffer backward " (backward reference buffer) and " forward reference buffer " (a forwardreference buffer), point to the frame that is read (frame that is about to read is assigned to " backward or forward reference frame ") when " backward or forward reference frame index ", then this frame can be deposited in " backward or forward reference buffer ", below repeats no more.
With reference to traditional video coding decoder (as Divio, DivX), its employed decoding rule and decodable frame category have nothing in common with each other, and the video signal data that causes compressing via a kind of coder-decoder can't be deciphered out by other coder-decoder.For instance, with regard to decodable frame category, the decodable frame category of Divio comprise I, P, B, with the Pe frame, and the decodable frame category of DivX many PB frame.Next the decoding rule of above-mentioned two kinds of coder-decoders is described.
With Divio,, when reading first frame (Current=GetNextSample ()) (step S21), judge whether to be first frame (step S22) with reference to figure 2.If then this frame is assigned to simultaneously " reference frame backward " and " forward reference frame " (Next=Current﹠amp; Previous=Next) (step S23).Then, when obtaining next frame, carry out different operating (step S24) according to the classification of obtained frame.If I or P frame, then " reference frame backward " (Dump (Next)) exported in decoding, then " reference frame backward " is assigned to " forward reference frame " (Previous=Next), and the I that will read at present or P frame are assigned to " reference frame backward " (Next=Current) (step S251).If the B frame, then the B frame (Dump (Current)) (step S252) that reads is at present exported in decoding.If Pe frame, then decoding output " reference frame backward " (Dump (Next)) (step S253).Behind all frames of output, the frame in will " reference buffer backward " is exported (Dump (Next)) (step S26 and S27).
With DivX,, when reading first frame (GetNextSample ()) (step S31), judge whether to be first frame (step S32) with reference to figure 3.If this frame is assigned to simultaneously " reference frame backward " and " forward reference frame " (Next=Current﹠amp; Previous=Next), the frame (Dump (Current)) that reads at present of decoding output then, and will export flag and be set at " puppet " (DumpFlag=False) (step S33).Then, when obtaining next frame, carry out different operating (step S34) according to the classification of obtained frame.If I or P frame, then the frame (Dump (Current)) that reads is at present exported in decoding, then " reference frame backward " is assigned to " forward reference frame " (Previous=Next), the I or the P frame that read at present are assigned to " reference frame backward " (Next=Current), and will export flag and be set at " puppet " (DumpFlag=False) (step S351).If the B frame, then the B frame (Dump (Current)) (step S352) that reads is at present exported in decoding.If PB (or IB) frame, then second the frame decoding output (Dump (GetSecondFrame (Current))) in PB that will read at present or the IB frame, " reference frame backward " is assigned to " forward reference frame " (Previous=Next), PB or first frame in the IB frame of reading at present are assigned to " reference frame backward " (Next=GetFirstFrame (Current)), and will export flag and be set at " very " (DumpFlag=True) (step S353).If the Pe frame, decoding output " reference frame backward " (Dump (Next)) then, and will export flag and be set at " puppet " (DumpFlag=False) (step S354).Behind all frames of output, if the output flag is set at " very " (If (DumpFlag)), then " reference buffer backward " (Dump (Next)) (step S36 and S37) exported in decoding.
As mentioned above, traditional coder-decoder is owing to using the decoding rule of design separately, so the video signal data that compressed can't be deciphered out by other coder-decoder.Therefore, use the disclosed decoding rule of the embodiment of the invention to address the above problem.In addition, the embodiment of the invention and provide a frame buffer (frame buffer) for temporary B frame.
Fig. 4 is the flow chart of steps that shows the video decoding method of the embodiment of the invention.At first, read out a frame (Current=GetNextSample ()) (step S41) from the video signal data that compressed in regular turn, judge then whether this frame is first frame (step S42), that is previously described bit string flow valuve is 0 frame.If this frame is first frame, execution in step S43 then, otherwise execution in step S44.In general, the frame that reads for the first time is all the I frame, this frame is assigned to simultaneously " reference frame backward " and " forward reference frame " (Next=Current﹠amp; Previous=Next) (frame that is about to read is stored into " reference buffer backward " and " forward reference buffer " respectively), and empty frame buffer (Buffer=NULL) (step S43).Get back to step S41 and read out next frame, check the classification (step S44) of this frame then, and carry out corresponding operation according to its frame category.
When the frame that reads is I or P frame, then (Dump (Next)) exported in " reference frame backward " decoding, then " reference frame backward " is assigned to " forward reference frame " (Previous=Next), I that will read at present or P frame are assigned to " reference frame backward " (Next=Current) simultaneously, and empty frame buffer (Buffer=NULL) (step S451).
When the frame that reads is the B frame,, then decipher the B frame (Dump (Buffer)) in the output frame buffer, and the B frame that will read at present deposits frame buffer (Buffer=Current) in if having previous B frame (If (Buffer)) in the frame buffer.If do not store any B frame in the frame buffer, then directly to the B frame decoding that reads at present and with its output (Dump (Current)) (step S452).
When the frame that reads is PB (or IB) frame (promptly comprising two frames simultaneously), then (Dump (Next)) exported in " reference frame backward " decoding, then " reference frame backward " is assigned to " forward reference frame " (Previous=Next), first frame in the frame that will read at present (I or P frame) is assigned to " reference frame backward " (Next=GetFirstFrame (Current)) simultaneously, and second frame (B frame) in the frame that will read at present deposits frame buffer (Buffer=GetSecondFrame (Current)) (step S453) in.
When the frame that reads is the Pe frame,, then decipher the B frame (Dump (Buffer)) in the output frame buffer, and empty frame buffer (Buffer=NULL) if having previous B frame (If (Buffer)) in the frame buffer.If do not store any B frame in the frame buffer, then directly will " reference frame backward " decoding output (Dump (Next)) (step S454).
Next, judge whether the frame that reads at present is last frame (step S46) of this video signal data.If this frame is last frame, then execution in step S47 continues to read next frame otherwise get back to step S41.After all bit streams data are deciphered fully in the video signal data, check in the frame buffer whether still have B frame (If (Buffer)).If wherein also there is the B frame,, and empty frame buffer (Buffer=NULL) then with this B frame decoding output (Dump (Buffer)).If do not store any B frame in the frame buffer, then will " reference frame backward " decoding output (Dump (Next)).Finish above-mentioned decoding flow process then.
Fig. 5 is the configuration diagram that shows the visual information decoding apparatus of the embodiment of the invention.The framework of this exposure comprises a decoding unit 510, one temporary controller 520, " reference buffer backward " 530, " forward reference buffer " 540 and one frame buffer 550, and wherein frame buffer 550 is in order to temporary B frame.
According to operational flowchart shown in Figure 4, decoding unit 510 at first reads first frame (I frame) from the bit streams data 505 of input, and simultaneously this frame is assigned to " reference frame backward " and " forward reference frame " (promptly the frame that reads being stored into " reference buffer backward " 530 and " forward reference buffer " 540 respectively by temporary controller 520).Then, decoding unit 510 reads next frame from the bit streams data 505 of input, if this frame is I or P frame, then " reference frame backward " decoding is output as bit streams data 515, by temporary controller 520 " reference frame backward " is assigned to " forward reference frame " then, I that will read at present or P frame are assigned to " reference frame backward " simultaneously, and empty frame buffer 550.If this frame is the B frame, and if having previous B frame in the frame buffer 550, the B frame in the decoding unit 510 decoding output frame buffers 550 then, and the B frame that will read at present by temporary controller 520 deposits frame buffer 550 in.If do not store any B frame in the frame buffer 550, then decoding unit 510 is directly to the B frame decoding that reads at present and with its output.
If this frame is PB (or IB) frame (promptly comprising two frames simultaneously), then decoding unit 510 is exported " reference frame backward " decoding, by temporary controller 520 " reference frame backward " is assigned to " forward reference frame " then, first frame in the frame that will read at present (I or P frame) is assigned to " reference frame backward " simultaneously, and second frame (B frame) in the frame that will read at present deposits frame buffer in.If this frame is the Pe frame, and if having previous B frame in the frame buffer 550, the B frame in the decoding unit 510 decoding output frame buffers 550 then, and empty frame buffer 550.If do not store any B frame in the frame buffer 550, then decoding unit 510 directly will " reference frame backward " decoding output.
Fig. 6 A is first example schematic that demonstration utilizes the video decoding method of the embodiment of the invention that video signal data is deciphered.With reference to figure 6A, input bit streams data are I (0) P (1) B (2) P (3) B (4) Pe (5) B (6) I (7) B (8) in regular turn.According to previously described decoding rule, when obtaining I (0) frame (first frame), it is assigned to simultaneously " reference frame backward " and " forward reference frame " (frame that is about to read is stored into " reference buffer backward " and " forward reference buffer " respectively), do not carry out any processing, so any frame (shown in x) is not exported in decoding, and empties frame buffer.Then read P (1) frame, decoding output this moment " reference frame backward " (I (0) frame) is assigned to " forward reference frame " with " reference frame backward " (I (0) frame) then, simultaneously P (1) frame is assigned to " reference frame backward ".Then read B (2) frame, do not store any B frame in the frame buffer this moment, then direct decoding output B (2) frame.Then read P (3) frame, " reference frame backward " (P (1) frame) decoding is exported, then " reference frame backward " (P (1) frame) is assigned to " forward reference frame ", simultaneously P (3) frame is assigned to " reference frame backward ".Then read B (4) frame, do not store any B frame in the frame buffer this moment, then direct decoding output B (4) frame.Then read Pe (5) frame, do not store any B frame in the frame buffer this moment, then decoding output " reference frame backward " (P (3) frame).Then read B (6) frame, do not store any B frame in the frame buffer this moment, then direct decoding output B (6) frame.Then read I (7) frame, " reference frame backward " (P (3) frame) decoding is exported, then " reference frame backward " (P (3) frame) is assigned to " forward reference frame ", simultaneously I (7) frame is assigned to " reference frame backward ".Then read B (8) frame, do not store any B frame in the frame buffer this moment, then direct decoding output B (8) frame.B (8) frame is last frame in the bit streams data, and do not store any B frame this moment in the frame buffer, then " reference frame backward " (I (7) frame) decoding is exported, and finishes above-mentioned decoding flow process.Therefore, can get the carry-out bit stream data at last is I (0) B (2) P (1) B (4) P (3) B (6) P (3) B (8) I (7).
Fig. 6 B is second example schematic that demonstration utilizes the video decoding method of the embodiment of the invention that video signal data is deciphered.With reference to figure 6B, input bit streams data are I (0) in regular turn
PB(1) B (2) Pe (3)
PB(4) B (5) Pe (6) I (7)
PB(8) B (9) Pe (10).When obtaining I frame (first frame), it is assigned to simultaneously " reference frame backward " and " forward reference frame ", do not carry out any processing, so any frame (shown in x) is not exported in decoding.Then read PB (1) frame, " reference frame backward " (I (0) frame) decoding is exported, then " reference frame backward " (I (0) frame) is assigned to " forward reference frame ", simultaneously first frame in PB (1) frame (P (1) frame) is assigned to " reference frame backward ", and second frame in the frame that will read at present (B (1) frame) deposits frame buffer in.Then read B (2) frame, store B (1) frame in the frame buffer this moment, B (1) frame decoding exported, and B (2) frame is deposited in the frame buffer.Then read Pe (3) frame, store B (2) frame in the frame buffer this moment, with the output of B (2) frame decoding, and empties frame buffer.Then read PB (4) frame, " reference frame backward " (P (1) frame) decoding is exported, then " reference frame backward " (P (1) frame) is assigned to " forward reference frame ", simultaneously first frame in PB (1) frame (P (4) frame) is assigned to " reference frame backward ", and second frame in the frame that will read at present (B (4) frame) deposits frame buffer in.Then read B (5) frame, store B (4) frame in the frame buffer this moment, B (4) frame decoding exported, and B (5) frame is deposited in the frame buffer.Then read Pe (6) frame, store B (5) frame in the frame buffer this moment, with the output of B (5) frame decoding, and empties frame buffer.Then read I (7) frame, " reference frame backward " (P (4) frame) decoding is exported, then " reference frame backward " (P (4) frame) is assigned to " forward reference frame ", simultaneously I (7) frame is assigned to " reference frame backward ".Then read PB (8) frame, " reference frame backward " (I (7) frame) decoding is exported, then " reference frame backward " (I (7) frame) is assigned to " forward reference frame ", simultaneously first frame in PB (8) frame (P (8) frame) is assigned to " reference frame backward ", and second frame in the frame that will read at present (B (8) frame) deposits frame buffer in.Then read B (9) frame, store B (8) frame in the frame buffer this moment, B (8) frame decoding exported, and B (9) frame is deposited in the frame buffer.Then read Pe (10) frame, store B (9) frame in the frame buffer this moment, with the output of B (9) frame decoding, and empties frame buffer.Pe (10) frame is last frame in the bit streams data, and do not store any B frame this moment in the frame buffer, then " reference frame backward " (P (8) frame) decoding is exported, and finishes above-mentioned decoding flow process.Therefore, can get the carry-out bit stream data at last is I (0) B (1) B (2) P (1) B (4) B (5) P (4) I (7) B (8) B (9) P (8).
The decoding rule that the video decoding method utilization that the present invention discloses defines is voluntarily deciphered the video signal data that compressed, and it can come out the video signal data correct decoding that arbitrary coder-decoder compressed.The present invention discloses and more utilizes a buffer to store the B frame that reads in addition, output management and control correction and buffer management mechanism in proper order by the bit streams data, can be under the situation of the classification of unknown video signal data and copyright, smoothly all types of MPEG-4 archives are deciphered, and the cost of the stability that increases system effectively when reducing that hardware is real to be done.
Though the present invention discloses as above with preferred embodiment; right its is not in order to limit the present invention; anyly have the knack of this skill person; without departing from the spirit and scope of the present invention; when can doing a little change and retouching, so protection scope of the present invention is as the criterion when looking appended the claim scope person of defining.
Claims (19)
1. a video decoding method comprises the following steps:
Definition one is reference frame, a forward reference frame and a frame buffer backward;
Obtain the frame in the video signal data;
Judge the classification of above-mentioned frame;
If above-mentioned frame is a two-way predictive frame, and if above-mentioned frame buffer has a previous bi-directional predicted frames, then above-mentioned previous bi-directional predicted frames is exported in decoding, and deposits above-mentioned bi-directional predicted frames in above-mentioned frame buffer; And
If above-mentioned frame is above-mentioned bi-directional predicted frames, and if above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, then above-mentioned bi-directional predicted frames is exported in decoding.
2. video decoding method according to claim 1, wherein, the step that obtains above-mentioned frame more comprises the following steps:
Judge whether above-mentioned frame is first frame of above-mentioned video signal data; And
If above-mentioned frame is above-mentioned first frame, then above-mentioned frame is assigned to simultaneously above-mentioned reference frame backward and above-mentioned forward reference frame.
3. video decoding method according to claim 2, it more comprises the following steps:
If above-mentioned frame is an independent frame or predictive frame, then above-mentioned reference frame is backward exported in decoding.
4. video decoding method according to claim 3, it more comprises the following steps:
If above-mentioned frame is one to comprise the combined frames of a predictive frame and a two-way predictive frame or an independent frame and a two-way predictive frame, then deciphers and export above-mentioned reference frame backward, and deposit the above-mentioned bi-directional predicted frames in the combinations thereof frame in above-mentioned frame buffer.
5. video decoding method according to claim 4, it more comprises the following steps:
If above-mentioned frame is one not comprise the predictive frame of video signal data, and if above-mentioned frame buffer has a previous bi-directional predicted frames, the above-mentioned previous bi-directional predicted frames of decoding output then; And
If above-mentioned frame is the above-mentioned predictive frame that does not comprise video signal data, and if above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, then above-mentioned reference frame is backward exported in decoding.
6. video decoding method according to claim 5, it more comprises the following steps:
Judge whether above-mentioned frame is last frame of above-mentioned video signal data;
If above-mentioned frame is last frame of above-mentioned video signal data, and if above-mentioned frame buffer has a previous bi-directional predicted frames, then above-mentioned previous bi-directional predicted frames is exported in decoding; And
If above-mentioned frame is last frame of above-mentioned video signal data, and if above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, then above-mentioned reference frame is backward exported in decoding.
7. a video decoding method comprises the following steps:
Obtain first frame in the video signal data;
Above-mentioned first frame is assigned to a reference frame and a forward reference frame backward simultaneously, and empties a frame buffer;
Obtain the next frame in the above-mentioned video signal data;
Judge the classification of the next frame in the above-mentioned video signal data; And
Carry out corresponding decoded operation according to above-mentioned judged result, and when the next frame in the above-mentioned video signal data is a two-way predictive frame, then the next frame in the above-mentioned video signal data is temporary in the above-mentioned frame buffer.
8. video decoding method according to claim 7, wherein, the step of carrying out above-mentioned decoded operation more comprises the following steps:
If the next frame in the above-mentioned video signal data is an independent frame or predictive frame, then the next frame in the above-mentioned video signal data is exported in decoding;
Above-mentioned reference frame backward is assigned to above-mentioned forward reference frame;
Next frame in the above-mentioned video signal data is assigned to above-mentioned reference frame backward; And
Empty above-mentioned frame buffer.
9. video decoding method according to claim 8, wherein, the step of carrying out above-mentioned decoded operation more comprises the following steps:
If the next frame in the above-mentioned video signal data is above-mentioned bi-directional predicted frames, judge whether above-mentioned frame buffer has a previous bi-directional predicted frames;
If above-mentioned frame buffer has above-mentioned previous bi-directional predicted frames, then above-mentioned previous bi-directional predicted frames is exported in decoding;
Next frame in the above-mentioned video signal data is stored in above-mentioned frame buffer; And
If above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, then the next frame in the above-mentioned video signal data is exported in decoding.
10. video decoding method according to claim 9, wherein, the step of carrying out above-mentioned decoded operation more comprises the following steps:
If the next frame in the above-mentioned video signal data is one to comprise the combined frames of a predictive frame and a two-way predictive frame or an independent frame and a two-way predictive frame, then deciphers and export above-mentioned reference frame backward;
Above-mentioned reference frame backward is assigned to above-mentioned forward reference frame;
One of them frame in the combinations thereof frame is assigned to above-mentioned reference frame backward; And
Another frame in the combinations thereof frame is deposited in the above-mentioned frame buffer.
11. video decoding method according to claim 10, wherein, the step of carrying out above-mentioned decoded operation more comprises the following steps:
If the next frame in the above-mentioned video signal data is one not comprise the predictive frame of video signal data, judge whether above-mentioned frame buffer has a previous bi-directional predicted frames;
If above-mentioned frame buffer has above-mentioned previous bi-directional predicted frames, then above-mentioned previous bi-directional predicted frames is exported in decoding;
Empty above-mentioned frame buffer; And
If above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, then above-mentioned reference frame is backward exported in decoding.
12. video decoding method according to claim 11, it more comprises the following steps:
Judge whether the next frame in the above-mentioned video signal data is last frame of above-mentioned video signal data;
If the next frame in the above-mentioned video signal data is last frame of above-mentioned video signal data, judge whether above-mentioned frame buffer has a previous bi-directional predicted frames;
If above-mentioned frame buffer has above-mentioned previous bi-directional predicted frames, then above-mentioned previous bi-directional predicted frames is exported in decoding, and empties above-mentioned frame buffer; And
If above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, then above-mentioned reference frame is backward exported in decoding.
13. a visual information decoding apparatus, it comprises in order to a video signal data is carried out decoded operation:
One reference buffer backward is in order to store a frame;
One forward reference buffer is in order to store a frame;
One frame buffer is in order to store a frame;
One temporary controller will be in order to will be assigned to above-mentioned reference buffer backward, above-mentioned forward reference buffer and above-mentioned frame buffer from the frame that above-mentioned video signal data is obtained; And
One decoding unit, be coupled to above-mentioned temporary controller, in order to judge the classification of the frame of obtaining from above-mentioned video signal data, make above-mentioned temporary controller carry out corresponding decoded operation according to above-mentioned judged result, and the frame that the above-mentioned video signal data after the output decoding is obtained, wherein, when the frame of obtaining when above-mentioned video signal data was a two-way predictive frame, then the frame that above-mentioned video signal data is obtained was temporary in the above-mentioned frame buffer.
14. visual information decoding apparatus according to claim 13, wherein, if the frame that above-mentioned video signal data is obtained is first frame of above-mentioned video signal data, the frame that then above-mentioned decoding unit is obtained above-mentioned video signal data is stored into above-mentioned reference buffer backward and above-mentioned forward reference buffer simultaneously.
15. visual information decoding apparatus according to claim 14, wherein, if the frame that above-mentioned video signal data is obtained is an independent frame or predictive frame, the frame that the above-mentioned video signal data of then above-mentioned decoding unit decoding output is obtained, and above-mentioned temporary controller is stored into above-mentioned forward reference buffer with the frame in the above-mentioned reference buffer backward, the frame that above-mentioned video signal data is obtained is stored into above-mentioned reference buffer backward, and empties above-mentioned frame buffer.
16. visual information decoding apparatus according to claim 15, wherein, if the frame that above-mentioned video signal data is obtained is above-mentioned bi-directional predicted frames, above-mentioned temporary controller judges whether there is a previous bi-directional predicted frames in the above-mentioned frame buffer, if have above-mentioned previous bi-directional predicted frames in the above-mentioned frame buffer, then above-mentioned previous bi-directional predicted frames is exported in decoding, above-mentioned temporary controller is stored in above-mentioned frame buffer with above-mentioned frame, and if above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, the frame that the above-mentioned video signal data of then above-mentioned decoding unit decoding output is obtained.
17. visual information decoding apparatus according to claim 16, wherein, if the frame obtained of above-mentioned video signal data is one to comprise the combined frames of a predictive frame and a two-way predictive frame or an independent frame and a two-way predictive frame, frame in the above-mentioned reference buffer backward of then above-mentioned decoding unit decoding output, and above-mentioned temporary controller is stored into above-mentioned forward reference buffer with the frame in the above-mentioned reference buffer backward, one of them frame in the combinations thereof frame is stored into above-mentioned reference buffer backward, and another frame in the combinations thereof frame is deposited in the above-mentioned frame buffer.
18. visual information decoding apparatus according to claim 17, wherein, if the frame obtained of above-mentioned video signal data is one not comprise the predictive frame of video signal data, above-mentioned decoding unit judges whether above-mentioned frame buffer has a previous bi-directional predicted frames, if above-mentioned frame buffer has above-mentioned previous bi-directional predicted frames, then above-mentioned previous bi-directional predicted frames is exported in decoding, above-mentioned temporary controller empties above-mentioned frame buffer, and if above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, the frame in the above-mentioned reference buffer backward of then above-mentioned decoding unit decoding output.
19. visual information decoding apparatus according to claim 18, wherein, above-mentioned decoding unit judges whether the frame that above-mentioned video signal data is obtained is last frame of above-mentioned video signal data, if above-mentioned frame is last frame of above-mentioned video signal data, judge whether above-mentioned frame buffer has a previous bi-directional predicted frames, if above-mentioned frame buffer has above-mentioned previous bi-directional predicted frames, then above-mentioned previous bi-directional predicted frames is exported in decoding, above-mentioned then temporary controller empties above-mentioned frame buffer, and if above-mentioned frame buffer does not have above-mentioned previous bi-directional predicted frames, the frame in the above-mentioned reference buffer backward of then above-mentioned decoding unit decoding output.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100903777A CN100452877C (en) | 2004-11-12 | 2004-11-12 | Visual information decoding apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100903777A CN100452877C (en) | 2004-11-12 | 2004-11-12 | Visual information decoding apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1774069A CN1774069A (en) | 2006-05-17 |
CN100452877C true CN100452877C (en) | 2009-01-14 |
Family
ID=36760795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100903777A Expired - Fee Related CN100452877C (en) | 2004-11-12 | 2004-11-12 | Visual information decoding apparatus and method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100452877C (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130243100A1 (en) * | 2012-03-15 | 2013-09-19 | Mediatek Inc. | System and Method for Adaptive Frame Re-compression in Video Processing System |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1101478A (en) * | 1993-03-15 | 1995-04-12 | 索尼公司 | Transmission and decoding of picture signals |
JP2000341696A (en) * | 1999-05-28 | 2000-12-08 | Nec Microcomputer Technology Ltd | Device and method for decoding image |
CN1374808A (en) * | 1996-11-06 | 2002-10-16 | 松下电器产业株式会社 | Image coding & decoding method and image coding & decoding apparatus |
EP1469683A1 (en) * | 2002-01-23 | 2004-10-20 | Sony Corporation | Image information coding device and method and image information decoding device and method |
-
2004
- 2004-11-12 CN CNB2004100903777A patent/CN100452877C/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1101478A (en) * | 1993-03-15 | 1995-04-12 | 索尼公司 | Transmission and decoding of picture signals |
CN1374808A (en) * | 1996-11-06 | 2002-10-16 | 松下电器产业株式会社 | Image coding & decoding method and image coding & decoding apparatus |
JP2000341696A (en) * | 1999-05-28 | 2000-12-08 | Nec Microcomputer Technology Ltd | Device and method for decoding image |
EP1469683A1 (en) * | 2002-01-23 | 2004-10-20 | Sony Corporation | Image information coding device and method and image information decoding device and method |
Also Published As
Publication number | Publication date |
---|---|
CN1774069A (en) | 2006-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103621085B (en) | Reduce method and the computing system of the delay in video decode | |
CN1941913B (en) | Method and apparatus for skipping pictures | |
CN100508585C (en) | Apparatus and method for controlling reverse-play for digital video bit stream | |
CN101459848B (en) | Distributed multi-format digital video transcoding construction design method | |
TW527838B (en) | Digital broadcasting receiving device | |
CN104768020B (en) | Dynamic image predictive coding apparatus and method, dynamic image prediction decoding apparatus and method | |
CN100446572C (en) | Method of decoding digital video and digital video decoder system thereof | |
CN101595475A (en) | Scalable video (SVC) file layout | |
JPH10117353A (en) | Data processor and receiver | |
CN100461845C (en) | Recording apparatus, recording method, reproducing apparatus, reproducing method, and program | |
CN101616318A (en) | Be used to play up or the method for decoding compressed multimedia data and the device of being correlated with | |
TWI245548B (en) | Method and device for video decoding | |
CN107077873A (en) | Sample metadata is coupled with media sample | |
CN101288314A (en) | Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, dynamic image decoding method, dynamic image encoding program, and dynamic image decoding program | |
CN100452877C (en) | Visual information decoding apparatus and method | |
CN100361152C (en) | Method and device for detecting watermark | |
CN106454369B (en) | Dynamic image prediction decoding method, dynamic image prediction decoding device | |
CN101146230B (en) | Apparatus and method for encoding and/or decoding moving picture | |
JP2004221900A (en) | Image information decoding device and its method | |
CN100474914C (en) | Method and apparatus for controlling a bit rate of digital video data | |
JP3907996B2 (en) | Image encoding apparatus, image decoding apparatus and method, image encoding program, and image decoding program | |
CN201131015Y (en) | Television set with recording and time-shifting function | |
JPH08280009A (en) | Image encoder, image decoder and optical disk | |
JP2012138840A (en) | Video server and seamless playback method | |
JPH07170485A (en) | Image reproducing device and image decoding device |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090114 |