CN102802023A - Method and device for rapidly preventing false start code - Google Patents

Method and device for rapidly preventing false start code Download PDF

Info

Publication number
CN102802023A
CN102802023A CN2012103125870A CN201210312587A CN102802023A CN 102802023 A CN102802023 A CN 102802023A CN 2012103125870 A CN2012103125870 A CN 2012103125870A CN 201210312587 A CN201210312587 A CN 201210312587A CN 102802023 A CN102802023 A CN 102802023A
Authority
CN
China
Prior art keywords
pseudo
start code
byte
code prefix
prefix
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.)
Granted
Application number
CN2012103125870A
Other languages
Chinese (zh)
Other versions
CN102802023B (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.)
SHANGHAI GMT DIGITAL TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI GMT DIGITAL TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI GMT DIGITAL TECHNOLOGY Co Ltd filed Critical SHANGHAI GMT DIGITAL TECHNOLOGY Co Ltd
Priority to CN201210312587.0A priority Critical patent/CN102802023B/en
Publication of CN102802023A publication Critical patent/CN102802023A/en
Application granted granted Critical
Publication of CN102802023B publication Critical patent/CN102802023B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention discloses a method and a system for automatically and rapidly preventing a false start code. The system comprises a coding end and a decoding end, wherein the coding end comprises a recording module, a judgment module, an inserted byte processing module and a false start code prefix modifying module; the decoding end comprises a search module, an analysis module, a position acquisition module and a data block recovery module; the coding end records times for that a false start code prefix is generated and positions at which the false start code prefix is generated and inserts 1 to 4 non-0 bytes in front of a first byte of a data block according to corresponding rules to form a new data block so as to ensure the false start code prefix not to be generated in the formed new data block and then the decoding end recovers the required data block according to the corresponding rule. According to the invention, in the processing process of the decoding end, whether the inserted data or start code is generated does not need to be judged at each byte alignment position, so that the calculated amount of the processing process of the decoding end is greatly reduced.

Description

A kind of method and device that prevents pseudo-initial code fast
Technical field
The present invention relates to a kind of method and device that prevents pseudo-initial code, but particularly relate to a kind of method that prevents pseudo-initial code fast when the audio/video coding data set is made into random access data stream.
Background technology
Traditional video encoding standard such as ITU (International Telecommunication Union; International Telecommunications Union) formulate H.261, H.263, H.263+; H.264 standard and ISO (International Organization for Standardization; International Standards Organization) MPEG-1 that MPEG (Moving Pictures Experts Group, dynamic image expert group) organizes to set up, MPEG-2; But MPEG-4 etc. need to be made into random access data stream to the audio/video coding data set, so that decoder can begin decoding from the random access point that is provided with.All the random access of realizing coded data through initial code, for example video sequence initial code, image sets initial code, image initial code or the like in above standard.These initial codes all are made up of start code prefix and initial code value two parts.Start code prefix is a fixing bit string, the existence of an initial code of sign; Initial code value is a numerical value, points out the implication of initial code.
If the bit string the same with start code prefix in other coded datas, occurred, then decoder just might be treated as start code prefix to this bit string error ground, thereby causes decoding error.Such bit string and some binary digits have following closely constituted pseudo-initial code.In order to guarantee the correct decoding of audio-video code stream, must prevent in code stream, to occur pseudo-initial code.
The usual method that prevents pseudo-initial code is that some prohibition values and masked bits are set when the syntactic structure of design code stream.So-called prohibition value is meant forbids that syntactic element gets some value, if because this syntactic element has been got those values, just pseudo-initial code might occur.So-called masked bits is meant and between the syntactic element that pseudo-initial code possibly occur, inserts a fixing binary digit.
The above-mentioned method that prohibition value and masked bits are set has following shortcoming: a. to increase the complexity of grammer design.During the design syntactic structure, at every moment consider whether pseudo-initial code can occur, whether need forbid some values, whether need insert masked bits.B. reduced the legibility of syntactic structure.These and the irrelevant syntactic element of compressed encoding are mixed in the syntactic structure, make the people be not easy to grasp the essentials.C. efficient is not high.All something must be done in the place that might produce pseudo-initial code, no matter and whether the concrete value of syntactic element can really produce pseudo-initial code.Since H.264 having adopted arithmetic coding, above-mentioned method just no longer has feasibility.
The patent No. is that the United States Patent (USP) of US7839895 has proposed a kind of false proof initial code method that can adapt to arithmetic coding.This method checks the data block between two initial codes, if occurred continuous 22 0 in certain byte-aligned position, then after the 22nd 0, inserts 8 following bits 11000000, thereby avoided the appearance of pseudo-initial code.When decoding, carry out opposite operation, check in the data block between two initial codes 0x000003 whether occurred, if, then delete this method of 0x03. in the operation of byte aspect, implement more convenient.
Application number is that the one Chinese patent application of 200310107985.X has proposed a kind of false proof initial code scheme.With the difference of U.S. Pat 7839895 be that this patent application is that aspect on the throne is operated, when having occurred continuous 22 0 in certain byte-aligned position, after the 22nd 0, insert 1 or 2 positions and prevent that pseudo-initial code from occurring.
U.S. Pat 7839895 has his own strong points with two class methods of Chinese patent 200310107985.X invention; But they have a common shortcoming; Be exactly in decoding end, no matter pseudo-initial code whether occurs, all at first whether byte-by-byte inspection exists the position of insertion; If exist, then delete the position of these insertions.This process need certain amount of calculation for the limited decoder of computing capability, will be a kind of burden.
Summary of the invention
For overcoming the deficiency that above-mentioned prior art exists, the present invention's purpose is to provide a kind of method and system that prevent pseudo-initial code fast, and it can make decoding end when decoding, accomplish the operation of false proof initial code with minimum amount of calculation.
For reaching above-mentioned and other purpose, the present invention provides a kind of method that prevents pseudo-initial code fast, comprises coding side processing method and decoding end processing method, and wherein, this coding side processing method comprises the steps:
Step 1, pseudo-start code prefix is sought in the byte-aligned position in data block, and writes down number of times and position that pseudo-start code prefix occurs;
Step 2 is judged the number of times that pseudo-start code prefix occurs;
Step 3 if the number of times that this puppet start code prefix occurs is 0, is then inserted a highest order and is 1 and comprise the byte of this data block length information before first byte of this data block; If the number of times that this puppet start code prefix occurs greater than 0, then inserts 1-4 non-0 byte before first byte of this data block, and the positional information of this 1-4 non-0 first pseudo-start code prefix of byte records; And
Step 4; The value of three bytes that comprised according to predetermined each pseudo-start code prefix of modification rules modification; They are revised as the value that comprises next pseudo-start code prefix or true start code prefix positional information, and amended three bytes can not constitute new pseudo-start code prefix with the byte of front or back;
This decoding end processing method comprises the steps:
Step 5 is sought start code prefix in the data flow that receives, a byte of start code prefix back is initial code value;
Step 6 is resolved immediately following the byte after initial code value to judge whether occurred pseudo-start code prefix in this data block;
Step 7; If pseudo-start code prefix do not occur in this data block; Then according to 7 the acquisition data block length information except that highest order that should closely follow the byte after initial code value; Just the positional information of next initial code is deleted this then immediately following the byte after initial code value, forwards step 10 to; If pseudo-start code prefix occurred in this data block,, and obtain the positional information of first pseudo-start code prefix, the byte of deletion insertion then according to the byte of inserting then according to should obtaining the byte number that inserts immediately following the byte initial code value after; And
Step 8; Positional information according to first the pseudo-start code prefix that obtains obtains three bytes that first pseudo-start code prefix comprised; Obtain the positional information of next pseudo-start code prefix or next true start code prefix according to three bytes that first pseudo-start code prefix comprised, and recover the value of three bytes that first pseudo-start code prefix comprises;
Step 9; Obtain three bytes that next pseudo-start code prefix or true start code prefix are comprised according to the positional information of pseudo-start code prefix of the next one or true start code prefix; If these three bytes are true start code prefix; Then the data before these three bytes are exactly the desired data piece, and processing procedure finishes; If these three bytes are not true start code prefix; Then obtain the positional information of next pseudo-start code prefix or true start code prefix according to the value of these three bytes; And the value of these three bytes reverted to the value of start code prefix; Repeat this step up to next true start code prefix occurring, obtain the final data piece;
Step 10 is sought next start code prefix according to the positional information of the next start code prefix that obtains, and is required data block from this next byte immediately following the byte after initial code value to all bytes the next start code prefix.
Further, said data block is meant from the next byte of current initial code (comprising start code prefix and initial code value) and begins, all data of (first byte that does not comprise next initial code) before first byte of next initial code.The plurality of continuous byte identical with start code prefix that occurs in the data block is called as ' pseudo-start code prefix ', and pseudo-start code prefix is called as ' pseudo-initial code ' with the plurality of continuous byte that a byte of closelying follow thereafter forms.
Further; In step 3; If the number of times that this puppet start code prefix occurs is 0, then before first byte of this data block, insert a highest order and be 1 and comprise the byte of this data block length information, its value is (N%128)+128; Wherein N is the total bytes (byte that does not comprise insertion) that comprises in the data block, and N%128 representes the remainder of N divided by 128 gained.
Further, in step 3, if the number of times that this puppet start code prefix occurs is greater than 0, the step of before first byte of this data block, inserting 1-4 non-0 byte also comprises the steps:
The positional information of first pseudo-start code prefix is expressed as the form with 1-4 byte representation;
Confirm the value of required insertion byte number and each insertion byte according to the positional information of first pseudo-start code prefix.
Further, the positional information with first pseudo-start code prefix is expressed as the form of ((v3*255+v2) * 255+v1) * 31+v0;
If v3>0, then u is 3; Otherwise, if v2>0, then u=2; Otherwise, if v1>0, then u=1; Otherwise, u=0;
Before first byte of this data block, insert u+1 byte, be designated as I [0] by vertical order, I [1], I [2], I [3], if I [0]=(u<<5)+v0+1 wherein is u>0, then I [1]=v1+1; If u>1, then I [2]=v2+1; If u>2, then I [3]=v3+1.
Further, the modification rule in the step 4 is:
For last pseudo-start code prefix, the value of three bytes that it comprised is revised as the value that comprises next true start code prefix positional information;
For non-last pseudo-start code prefix, the value of three bytes that it comprised is revised as the value that comprises next pseudo-start code prefix positional information.
Further, this modification rule is:
For last pseudo-start code prefix
B[p[i]]=N%254+2;
B[p[i]+1]=(N/254)%255+1;
B[p[i]+2]=(N/254/255)%255+1;
For non-last pseudo-start code prefix:
B[p[i]]=p[i+1]%254+2;
B[p[i]+1]=(p[i+1]/254)%255+1;
B[p[i]+2]=(p[i+1]/254/255)%255+1;
Wherein, B [p [i]], B [p [i]+1], B [p [i]+2] are three corresponding bytes of current pseudo-start code prefix; P [i+1] is the position of next pseudo-start code prefix, and N is this data block length (byte number), is numerically equal to the position of next true start code prefix.
Further, in step 6,, then represent not occur in this data block pseudo-initial code if should be 1 immediately following the highest order of the byte after initial code value; If should be 0, represent to have occurred in this data block pseudo-initial code immediately following the highest order of the byte after initial code value.
Further, in step 7,, then obtain data block length information, the just positional information of next initial code according to following method if pseudo-initial code do not occur in this data block:
N=(I[0]-128)+128×k
Wherein I [0] is that N is the length of data block immediately following the byte after initial code value, and k is the nonnegative integer an of the unknown.
Further, if pseudo-initial code occurred in this data block, in step 7, obtain the positional information of this first pseudo-start code prefix according to following method:
u=I[0]>>5,
If u=0, then p [0]=(I [0] &0x1f)-1;
If u=1, then p [0]=(I [0] &0x1f)-1+ (I [1]-1) * 31;
If u=2, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1) * 255) * 31;
If u=3, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1+ (I [3]-1) * 255) * 255) * 31;
Wherein p [0] is the position of this first pseudo-start code prefix.
Further, if pseudo-initial code occurred in this data block, in step 8 and step 9, obtain the positional information of next pseudo-start code prefix or true start code prefix according to following method:
p[i+1]=B[p[i]]-2+255*(B[p[i]+1]-1+255*(B[p[i]+2]-1))
For reaching above-mentioned and other purposes, the present invention also provides a kind of device that prevents pseudo-initial code automatically fast, comprises code device and decoding device, and wherein this code device comprises at least:
The record module is used for seeking pseudo-start code prefix in the byte-aligned position of data block, and writes down number of times and the position that pseudo-start code prefix occurs;
Judge module, judge the number of times of the pseudo-start code prefix appearance of record;
Insert byte and handle module, handle as follows:, then insert a highest order and be 1 and comprise the byte of the length information of this data block in first byte front of this data block if the number of times that pseudo-start code prefix occurs is 0 according to judged result; If the number of times that pseudo-start code prefix occurs greater than 0, then inserts 1-4 non-0 byte, the positional information of this 1-4 non-0 first pseudo-initial code of byte records before first byte of this data block; And
Pseudo-start code prefix is revised module; The value of three bytes that comprised according to predetermined each pseudo-start code prefix of modification rules modification; The value of three bytes that current pseudo-start code prefix comprised is revised as the value that comprises next pseudo-start code prefix or true start code prefix positional information, and amended three bytes can not constitute new pseudo-start code prefix with the byte of front or back;
Decoding device comprises at least:
Search module, in the data flow that receives, seek start code prefix;
Resolve module, resolve immediately following the byte after initial code value;
The position obtains module, to be when pseudo-initial code having occurred in the code stream in the analysis result of resolving module, and according to the byte number that obtains immediately following the byte initial code value after to insert, and according to the positional information of first pseudo-start code prefix of byte acquisition of inserting; And
Data block is recovered module; Deletion is immediately following 1-4 byte of the insertion after initial code value; Positional information acquisition this first three bytes that pseudo-start code prefix comprised according to first the pseudo-start code prefix that obtains; And recover the value of three bytes that first pseudo-start code prefix comprised according to predetermined modification rule, obtain the positional information of next pseudo-start code prefix or true start code prefix simultaneously, and the like up to true start code prefix occurring; Obtain the final data piece; Simultaneously, it is when pseudo-start code prefix not occurring in the code stream in the analysis result of resolving module that this data block is recovered module, according to closelying follow the next initial code of the data block length information acquisition that comprises in the byte after initial code value; Remove immediately following the byte after initial code value, obtaining its next byte is final desired data piece to all bytes between the next initial code.
Further; This inserts byte and handles number of times that module occurs in this puppet start code prefix greater than 0 o'clock; The positional information of this first pseudo-start code prefix is expressed as the form of ((v3*255+v2) * 255+v1) * 31+v0; And confirm the byte number of required insertion according to the numerical value situation of v3, v2, v1 and v0, before first byte of this data block, insert non-0 byte of positional information of first pseudo-initial code of record of respective byte number again according to the byte number of required insertion.
Further, this modification rule is:
For last pseudo-start code prefix, it is revised as the value that comprises next true start code prefix positional information, and its first byte is revised as the value more than or equal to 2, second byte and the 3rd byte are revised as non-0;
For non-last pseudo-start code prefix, it is revised as the value that comprises next pseudo-start code prefix positional information, and its first byte is the value more than or equal to 2, second byte and the 3rd byte are non-0 value.
Compared with prior art; A kind of method and system that prevent pseudo-initial code automatically fast of the present invention; Through writing down number of times and the position that pseudo-start code prefix occurs in coding side, and before the 1st byte of data block, inserts individual non-0 byte of 1-4 according to respective rule and form new data block, make in the formed new data block can not have pseudo-start code prefix; Recover the desired data piece in decoding end through corresponding rule; Make in the decoding end processing procedure, need the data or the initial code that insert whether not occur, greatly reduced the amount of calculation of decoding end processing procedure in each byte-aligned position judgment.
Description of drawings
The flow chart of steps of the processing method of the coding side of the method that Fig. 1 prevents pseudo-initial code fast for the present invention is a kind of;
The flow chart of steps of the processing method of the decoding end of the method that Fig. 2 prevents pseudo-initial code fast for the present invention is a kind of;
Fig. 3 is the structural representation of 1~4 byte before data block B, inserting in the preferred embodiment of the present invention;
Fig. 4 is for giving three bytes sketch map of assignment again in the inner position that pseudo-start code prefix occurs of data block B in the preferred embodiment of the present invention;
The decoding end processing procedure sketch map of Fig. 5 when not occurring pseudo-start code prefix in the preferred embodiment of the present invention;
The decoding end processing procedure sketch map of Fig. 6 when occurring pseudo-start code prefix in the preferred embodiment of the present invention;
Fig. 7 is a kind of system architecture diagram that prevents the system of pseudo-initial code fast of the present invention.
Embodiment
Below through specific instantiation and accompanying drawings execution mode of the present invention, those skilled in the art can understand other advantage of the present invention and effect easily by the content that this specification disclosed.The present invention also can implement or use through other different instantiation, and each item details in this specification also can be based on different viewpoints and application, carries out various modifications and change under the spirit of the present invention not deviating from.
Suppose that two data block B between the initial code comprise N byte altogether, can be expressed as:
B={B[0],B[1],B[2],...,B[N-1]}
Start code prefix is 0x000001, and promptly 23 ' 0 ' add 1 ' 1 ', and always appears at the byte-aligned position.
The present invention's the method that prevents pseudo-initial code fast; Comprise the processing method of coding side and the processing method of decoding end, the flow chart of steps of the processing method of the coding side of the method that Fig. 1 prevents pseudo-initial code fast for the present invention is a kind of, as shown in Figure 1; The processing method of coding side comprises:
Step 101, pseudo-start code prefix 0x000001 is sought in the byte-aligned position in data block B, and writes down number of times and position that pseudo-start code prefix occurs; Form be p [0], and p [1] ...; P [M-1] }, wherein M>=0 is the number of times that pseudo-start code prefix occurs; P [i] is the position of first byte of the pseudo-start code prefix that occurs for the i time, also i.e. sequence number in data block B, and the span of p [i] is 0..N-3;
Step 102 is judged the number of times M that pseudo-start code prefix occurs;
If step 103 M=0, promptly pseudo-start code prefix do not occur among the data block B, then in the 1st byte of data block B, i.e. and B [0], the front is inserted a byte and is designated as I [0], and I [0] highest order should be 1, and comprises the length information of data block B at least;
Step 104 is if 1-4 non-0 byte, the positional information p [0] of this 1-4 non-0 first pseudo-initial code of byte records are then inserted in M>0 before the 1st byte of data block B;
Specifically, at first p [0] is expressed as the form of ((v3*255+v2) * 255+v1) * 31+v0; According to v3, v2, v1, v0 confirm the byte number of required insertion and the value of each insertion byte then, as:
If v3>0, then u=3; Otherwise, if v2>0, then u=2; Otherwise, if v1>0, then u=1; Otherwise, u=0;
In u+1 byte of the preceding insertion of B [0], be designated as I [0], I [1], I [2], I [3].I [0]=(u<<5)+v0+1 wherein.If u>0, then I [1]=v1+1.If u>1, then I [2]=v2+1.If u>2, then I [3]=v3+1.
Step 105, the value of three bytes that comprised according to predetermined each pseudo-start code prefix of modification rules modification, this modification rule is:
For three bytes that last pseudo-start code prefix comprised, it is revised as the value that comprises next true start code prefix positional information:
B[p[i]]=N%254+2;
B[p[i]+1]=(N/254)%255+1;
B[p[i]+2]=(N/254/255)%255+1;
I=M-1. wherein
For three bytes that non-last pseudo-start code prefix comprised:
B[p[i]]=p[i+1]%254+2;
B[p[i]+1]=(p[i+1]/254)%255+1;
B[p[i]+2]=(p[i+1]/254/255)%255+1;
0≤i≤M-2 wherein.
Behind above-mentioned rules modification, first byte that each pseudo-start code prefix comprised is the value more than or equal to 2, and second byte and the 3rd byte are non-0 value, can guarantee so can not constitute new pseudo-start code prefix with any byte of their fronts or back.
It more than is the processing method of the present invention's coding side.The flow chart of steps of the processing method of the decoding end of the method that Fig. 2 prevents pseudo-initial code fast for the present invention is a kind of, corresponding, the processing method of decoding end comprises the steps:
Step 201 is sought start code prefix 0x000001 in the data flow that receives.A byte of start code prefix back is initial code value, and beginning from an initial code value byte at the back is data block Be={I [0] ..., B [0], B [1] ....This moment, the length of Be was unknown;
Step 202 is resolved immediately following the byte after initial code value, i.e. I [0].If I [0]>=128 pseudo-start code prefix do not occur in the expression code stream, then change step 203; If I [0]<128 pseudo-initial code occurred in the expression code stream, change step 204.
Step 203; According to closelying follow the data block length information acquisition data block length information that comprises in the byte behind initial code value; The positional information of next start code prefix just; Positional information according to the next start code prefix that obtains is sought next start code prefix, is required data block B from this next byte immediately following the byte after initial code value to all bytes the next start code prefix, and the decoding end processing procedure finishes;
Explain again at this; Here said data block is meant from the next byte of current initial code (comprising start code prefix and initial code value) and begins, all data of (first byte that does not comprise next initial code) before first byte of next initial code.The plurality of continuous byte identical with start code prefix that occurs in the data block is called as ' pseudo-start code prefix ', and pseudo-start code prefix is called as ' pseudo-initial code ' with the plurality of continuous byte that a byte of closelying follow thereafter forms.
Step 204 according to the byte number that obtains immediately following byte initial code value after to insert, and obtains the positional information of first pseudo-start code prefix, the byte of deletion insertion then according to the byte of inserting;
Specifically, u=I [0]>>5,
If u=0, then p [0]=(I [0] &0x1f)-1;
If u=1, then p [0]=(I [0] &0x1f)-1+ (I [1]-1) * 31;
If u=2, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1) * 255) * 31;
If u=3, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1+ (I [3]-1) * 255) * 255) * 31.
Step 205; Positional information according to first the pseudo-start code prefix that obtains obtains three bytes that first pseudo-start code prefix comprised; Obtain the positional information of next pseudo-start code prefix or next true start code prefix according to three bytes that first pseudo-start code prefix comprised, and recover the value of three bytes that first pseudo-start code prefix comprises;
Step 206 obtains three bytes that next pseudo-start code prefix or true start code prefix are comprised according to the positional information of pseudo-start code prefix of the next one or true start code prefix, and carries out handled.If these three bytes are true start code prefix, then the data before these three bytes are exactly the desired data piece, and processing procedure finishes; If these three bytes are not true start code prefix; Then obtain the positional information of next pseudo-start code prefix or true start code prefix according to the value of these three bytes; And the value of these three bytes reverted to the value of start code prefix; Repeat this step up to next true start code prefix occurring, obtain the final data piece.
Below will cooperate a specific embodiment to further specify a kind of method coding side of pseudo-initial code and processing procedure of decoding end of preventing fast of the present invention.Fig. 3 is the structural representation of 1~4 byte before data block B, inserting in the preferred embodiment of the present invention, and Fig. 4 is for giving three bytes sketch map of assignment again in the inner position that pseudo-start code prefix occurs of data block B in the preferred embodiment of the present invention.Cooperate Fig. 3 and Fig. 4, at first the processing procedure of coding side is following:
(1) pseudo-start code prefix 0x000001 is sought in the byte-aligned position in data block B, writes down number of times and position that pseudo-start code prefix occurs, and form is { p [0]; P [1] ..., p [M-1] }; M>=0 wherein is the number of times that pseudo-start code prefix occurs, and p [i] is the position of first byte of the pseudo-start code prefix of the i time appearance; Also i.e. sequence number in data block B, the span of p [i] is 0..N-3.
(2) if M=0, promptly among the data block B pseudo-start code prefix does not appear, then in the 1st byte of data block B; Be B [0], a byte is inserted in the front, and this is designated as I [0]; This byte highest order should be 1; And the length information that comprises data block B at least, that is: I [0]=128+ (N%128), the processing procedure of coding side finishes.
(3) M>0, then carry out following steps:
Step 3.1 is expressed as p [0] form of ((v3*255+v2) * 255+v1) * 31+v0, wherein:
v0=p[0]%31;
v1=(p[0]/31)%255;
v2=(p[0]/31/255)%255;
v3=(p[0]/31/255/255)%255;
Step 3.2, according to v3, v2, v1, the numerical value situation of v0 is calculated the required insertion byte number u of p [0].If v3>0, then u=3; Otherwise, if v2>0, then u=2; Otherwise, if v1>0, then u=1; Otherwise, u=0;
Step 3.3 in u+1 byte of the preceding insertion of B [0], is designated as I [0], I [1], I [2], I [3].I [0]=(u<<5)+v0+1 wherein.If u>0, then I [1]=v1+1.If u>1, then I [2]=v2+1.If u>2, then I [3]=v3+1 is as shown in Figure 3;
Step 3.4 makes i=0;
Step 3.5 is if i=M-1 then forwards step 3.7 to;
Step 3.6, order
B[p[i]]=p[i+1]%254+2;
B[p[i]+1]=(p[i+1]/254)%255+1;
B[p[i]+2]=(p[i+1]/254/255)%255+1;
i=i+1;
Change step 3.5;
Step 3.7, order
B[p[i]]=N%254+2;
B[p[i]+1]=(N/254)%255+1;
B[p[i]+2]=(N/254/255)%255+1;
The coding side processing procedure finishes.
Above-mentioned coding side processing procedure is conditional to the byte number of the data block B that is processed, and promptly N should be less than 255*255*254=16516350.This number is enough for most audio/video coding data blocks.The data volume of HD video program one frame has only the 3M byte before compression, even for the ultra high-definition program of 8k*4k, the data volume of every frame also has only the 48M byte before compression, as long as compression ratio reaches three to one, just can not exceed above-mentioned restriction.
Above-mentioned coding side processing procedure can guarantee after processing procedure finishes, formed new data block Be={I [0] ..., B [0], B [1] ..., B [N-1] } in can not have pseudo-start code prefix, just can not have pseudo-initial code yet.In the beginning of data block Be, the byte of insertion is right and wrong 0 all, not can with B [0], B [1] constitutes new pseudo-start code prefix.In addition, data block Be front is an initial code, i.e. 0x000001xx is not even xx=00 can form new pseudo-initial code yet.In the centre of data block Be, occur on the position of pseudo-start code prefix, the value of three bytes all is modified to non-0 value, not can with the pseudo-start code prefix of thereafter combination of bytes Cheng Xin.Particularly first byte is modified to the value more than or equal to 2.Even it is 0 byte that several continuous values appear in its front, can not form new pseudo-start code prefix yet.
The decoding end processing procedure sketch map of Fig. 5 when not occurring pseudo-initial code in the preferred embodiment of the present invention; The decoding end processing procedure sketch map of Fig. 6 when occurring pseudo-initial code in the preferred embodiment of the present invention.Cooperate Fig. 5 and Fig. 6, the processing procedure of decoding end may further comprise the steps:
(1) in data flow, seeks start code prefix 0x000001.A byte of start code prefix back is initial code value, and beginning from an initial code value byte at the back is data block Be={I [0] ..., B [0], B [1] ....This moment, the length of Be was unknown.
(2) resolve I [0], promptly immediately following byte in initial code value back.If I [0]>=128 pseudo-initial code do not occur in the expression code stream, change step (3); If I [0]<128 pseudo-initial code occurred in the expression code stream, change step (6).
(3) make offset=I [0]-128, then next initial code appears at B [0], i.e. the next byte of I [0], and the position of offset+k*128 afterwards, k=0 wherein, 1,2 ...
(4) B [0] afterwards the position of offset+k*128 (k=0,1,2 ...) and the search initial code, up to running into next initial code.
(5) remove I [0], all bytes before from the next byte of I [0] to next initial code are exactly B.The decoding end processing procedure finishes.
(6) make u=I [0]>>5, if u=0, then p [0]=(I [0] &0x1f)-1; If u=1, then p [0]=(I [0] &0x1f)-1+ (I [1]-1) * 31; If u=2, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1) * 255) * 31; If u=3, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1+ (I [3]-1) * 255) * 255) * 31
(7)i=1;
(8)p[i]=B[p[i-1]]-2+(B[p[i-1]+1]-1+(B[p[i-1]+2]-1)*255)*254
(9) make B [p [i-1]]=0, B [p [i-1]+1]=0, B [p [i-1]+2]=1
(10) if B [p [i]]=0 and B [p [i]+1]=0 and B [p [i]+2]=1, then the decoding end processing procedure finishes.Data block B={B [0], B [1] ..., B [p [i]-1] } be the data recovered piece.Otherwise make i=i+1, forward step (8) to
Decoding end processing procedure by above-mentioned can be known in the decoding end processing procedure, need the data or the initial code that insert whether not occur in each byte-aligned position judgment; Only need according to resolve the p [0] that obtains in the starting position; It is recovered in the position that just can directly find pseudo-initial code to occur, and obtains the position of next pseudo-initial code simultaneously; And the like up to next real initial code occurring, the decoding end processing procedure finishes.Compare with the scheme of one Chinese patent application 200310107985.X with U.S. Pat 7839895, greatly reduced the amount of calculation of decoding end processing procedure.
If do not occur pseudo-initial code in the code stream, in the decoding end processing procedure, need whether not run into next initial code in each byte-aligned position judgment.Decoding end can obtain a deviant offset according to I (0), then B [0] afterwards the position of offset+k*128 (k=0,1,2 ...) and the search initial code, up to running into next initial code.Compared with the method that whether runs into initial code in each byte-aligned position judgment, judgement number of times required for the present invention drops to original 1/128.
Fig. 7 is a kind of system architecture diagram that prevents the system of pseudo-initial code fast of the present invention.As shown in Figure 7, a kind of system that prevents pseudo-initial code of the present invention comprises: code device 70 and decoding device 71.
Wherein code device 70 comprises: record module 701, judgement module 702, insertion byte are handled module 703 and pseudo-start code prefix modification module 704.Record module 701 is used for seeking pseudo-start code prefix 0x000001 in the byte-aligned position of data block B, and writes down number of times and the position that pseudo-start code prefix occurs, and form is { p [0]; P [1] ..., p [M-1] }; M>=0 wherein is the number of times that pseudo-start code prefix occurs, and p [i] is the position of first byte of the pseudo-start code prefix of the i time appearance; Also i.e. sequence number in data block B, the span of p [i] is 0..N-3; Judge module 702, judge the number of times of the pseudo-start code prefix appearance of record; Insert byte and handle module 703, handle as follows according to judged result:
If M=0, among the data block B pseudo-start code prefix does not appear promptly, then in the 1st byte of data block B, i.e. B [0], the front is inserted a byte and is designated as I [0], and I [0] highest order should be 1, and comprises the length information of data block B at least;
If 1-4 non-0 byte, the positional information p [0] of this 1-4 non-0 first pseudo-initial code of byte records are then inserted in M>0 before the 1st byte of data block B; Specifically, at first p [0] is expressed as the form of ((v3*255+v2) * 255+v1) * 31+v0; Then according to v3, v2, v1, the numerical value situation of v0 is confirmed required insertion byte number, as:
If v3>0, then u=3; Otherwise, if v2>0, then u=2; Otherwise, if v1>0, then u=1; Otherwise, u=0;
In u+1 byte of the preceding insertion of B [0], be designated as I [0], I [1], I [2], I [3].I [0]=(u<<5)+v0+1 wherein.If u>0, then I [1]=v1+1.If u>1, then I [2]=v2+1.If u>2, then I [3]=v3+1.
Pseudo-start code prefix is revised module 704, and the value of three bytes that comprised according to predetermined each pseudo-start code prefix of modification rules modification obtains new data block Be.First byte that each pseudo-start code prefix comprised is revised as the value more than or equal to 2, and second byte and the 3rd byte are revised as non-0 value, and this modification rule is:
For last pseudo-start code prefix:
B[p[i]]=N%254+2;
B[p[i]+1]=(N/254)%255+1;
B[p[i]+2]=(N/254/255)%255+1;
I=M-1. wherein
For non-last pseudo-start code prefix:
B[p[i]]=p[i+1]%254+2;
B[p[i]+1]=(p[i+1]/254)%255+1;
B[p[i]+2]=(p[i+1]/254/255)%255+1;
0≤i≤M-2 wherein.
Behind above-mentioned rules modification, first byte that each pseudo-start code prefix comprised is the value more than or equal to 2, and second byte and the 3rd byte are non-0 value, can guarantee so can not constitute new pseudo-start code prefix with any byte of their fronts or back.
Decoding device 71 comprise search module 710, resolve module 720, the position obtains module 730 and data block is recovered module 740.
Search module 710, in the data flow that receives, seek start code prefix 0x000001.A byte of start code prefix back is initial code value, and beginning from an initial code value byte at the back is data block Be={I [0] ..., B [0], B [1] ....This moment, the length of Be was unknown; Resolve module 720, resolve immediately following the byte behind initial code value, i.e. I [0] is not if I [0]>=128 pseudo-start code prefix occurs in the expression code stream, if I [0]<128 pseudo-start code prefix occurred in the expression code stream; The position obtains module 730; Analysis result with in the parsing module is when pseudo-start code prefix having occurred in the code stream; According to the byte number that obtains immediately following byte behind initial code value to insert, and obtain the positional information of first pseudo-start code prefix, specifically according to the byte of inserting; U=I [0]>>5
If u=0, then p [0]=(I [0] &0x1f)-1;
If u=1, then p [0]=(I [0] &0x1f)-1+ (I [1]-1) * 31;
If u=2, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1) * 255) * 31;
If u=3, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1+ (I [3]-1) * 255) * 255) * 31.
Data block is recovered module 740; Deletion is immediately following 1-4 byte of the insertion behind initial code value; Positional information according to first the pseudo-start code prefix that obtains obtains three bytes that first pseudo-start code prefix comprised; And recover the value of three bytes that first pseudo-start code prefix comprised according to predetermined modification rule, obtain the positional information of next pseudo-start code prefix or true start code prefix simultaneously, and the like up to true start code prefix occurring; Obtain the final data piece; Simultaneously, be when pseudo-start code prefix not occurring in the data block in the analysis result of resolving module, according to closelying follow the next initial code of the data block length information acquisition that comprises in the byte behind initial code value; Remove immediately following the byte behind initial code value, its next byte is exactly required data block to all bytes between the next initial code.
It is thus clear that; A kind of method and system that prevent pseudo-initial code automatically fast of the present invention; Through writing down number of times and the position that pseudo-start code prefix occurs in coding side, and before the 1st byte of data block, inserts individual non-0 byte of 1-4 according to respective rule and form new data block, make in the formed new data block can not have pseudo-start code prefix; Recover the desired data piece in decoding end through corresponding rule; Make in the decoding end processing procedure, need the data or the initial code that insert whether not occur, greatly reduced the amount of calculation of decoding end processing procedure in each byte-aligned position judgment.
The foregoing description is illustrative principle of the present invention and effect thereof only, but not is used to limit the present invention.Any those skilled in the art all can be under spirit of the present invention and category, and the foregoing description is modified and changed.Therefore, rights protection scope of the present invention should be listed like claims.

Claims (13)

1. a method that prevents pseudo-initial code fast comprises coding side processing method and decoding end processing method, it is characterized in that, this coding side processing method comprises the steps:
Step 1, pseudo-start code prefix is sought in the byte-aligned position in data block, and writes down number of times and position that pseudo-start code prefix occurs;
Step 2 is judged the number of times that pseudo-start code prefix occurs;
Step 3 if the number of times that this puppet start code prefix occurs is 0, is then inserted a highest order and is 1 and comprise the byte of this data block length information before first byte of this data block; If the number of times that this puppet start code prefix occurs greater than 0, then inserts 1-4 non-0 byte before first byte of this data block, and the positional information of this 1-4 non-0 first pseudo-initial code of byte records; And
Step 4; The value of three bytes that comprised according to predetermined each pseudo-start code prefix of modification rules modification; The value of three bytes that current pseudo-start code prefix comprised is revised as the value that comprises next pseudo-start code prefix or true start code prefix positional information, and three bytes that amended this current pseudo-start code prefix comprised can not constitute new pseudo-start code prefix with any byte of front or back;
This decoding end processing method comprises the steps:
Step 5 is sought start code prefix in the data flow that receives, a byte of start code prefix back is initial code value;
Step 6 is resolved immediately following the byte after initial code value whether to have occurred pseudo-initial code in the judgment data piece;
Step 7 if pseudo-initial code do not occur in the data block, then according to the positional information that should obtain next start code prefix immediately following the byte after initial code value, is removed this immediately following the byte after initial code value, forwards step 10 to; If pseudo-start code prefix occurred in the data block,, and obtain the positional information of first pseudo-start code prefix, the byte of deletion insertion then according to the byte of inserting then according to should obtaining the byte number that inserts immediately following the byte initial code value after; And
Step 8; Positional information according to first the pseudo-start code prefix that obtains obtains three bytes that first pseudo-start code prefix comprised; Obtain the positional information of next pseudo-start code prefix or next true start code prefix according to three bytes that first pseudo-start code prefix comprised, and recover the value of three bytes that first pseudo-start code prefix comprises;
Step 9 obtains three bytes being comprised according to the positional information of pseudo-start code prefix of the next one or true start code prefix, if these three bytes are true start code prefix, then the data before these three bytes are exactly the desired data piece, and processing procedure finishes; If these three bytes are not true start code prefix; Then obtain the positional information of next pseudo-start code prefix or true start code prefix according to the value of these three bytes; And the value of these three bytes reverted to the value of start code prefix; Repeat this step up to next true start code prefix occurring, obtain the final data piece;
Step 10 is sought next start code prefix according to the positional information of the next start code prefix that obtains, and is required data block from this next byte immediately following the byte after initial code value to all bytes the next start code prefix.
2. a kind of method that prevents pseudo-initial code automatically fast as claimed in claim 1; It is characterized in that: said data block is meant from the next byte of the current initial code that comprises start code prefix and initial code value and begins, to first byte all data before of next initial code.
3. a kind of method that prevents pseudo-initial code automatically fast as claimed in claim 2 is characterized in that,
In step 3; If the number of times that this puppet start code prefix occurs is 0; Then before first byte of this data block, insert a highest order and be 1 and comprise the byte of this data block length information; Its value is (N%128)+128, and wherein N is the total bytes that comprises in the data block, and N%128 representes the remainder of N divided by 128 gained.
4. a kind of method that prevents pseudo-initial code automatically fast as claimed in claim 3 is characterized in that,
In step 3, if the number of times that this puppet start code prefix occurs is greater than 0, the step of before first byte of this data block, inserting 1-4 non-0 byte also comprises the steps:
The positional information of first pseudo-start code prefix is expressed as the form with 1-4 byte representation, confirms the required byte number and the value of each byte according to the positional information of first pseudo-start code prefix.
5. a kind of method that prevents pseudo-initial code automatically fast as claimed in claim 4 is characterized in that:
The positional information of first pseudo-start code prefix is expressed as the form of ((v3*255+v2) * 255+v1) * 31+v0;
If v3>0, then u is 3; Otherwise, if v2>and 0, u=2 then; Otherwise, if v1>and 0, u=1 then; Otherwise, u=0;
Before first byte of this data block, insert u+1 byte, be designated as I [0], I [1], I [2], I [3], if I [0]=(u < < 5)+v0+1 wherein is u>0, I [1]=v1+1 then; If u>1, I [2]=v2+1 then; If u>2, I [3]=v3+1 then.
6. a kind of method that prevents pseudo-initial code automatically fast as claimed in claim 1 is characterized in that the described modification rule of step 4 is:
For last pseudo-start code prefix, it is revised as the value that comprises next true start code prefix positional information;
For non-last pseudo-start code prefix, it is revised as the value that comprises next pseudo-start code prefix positional information.
7. a kind of method that prevents pseudo-initial code automatically fast as claimed in claim 6 is characterized in that this modification rule is:
For three bytes that last pseudo-start code prefix comprised,
B[p[i]]=N%254+2;
B[p[i]+1]=(N/254)%255+1;
B[p[i]+2]=(N/254/255)%255+1;
Wherein p [i] is the position of last pseudo-start code prefix, and N is the length of this data block;
For non-last pseudo-start code prefix:
B[p[i]]=p[i+1]%254+2;
B[p[i]+1]=(p[i+1]/254)%255+1;
B[p[i]+2]=(p[i+1]/254/255)%255+1;
Wherein, B [p [i]], B [p [i]+1], B [p [i]+2] are three bytes that current pseudo-start code prefix comprised, and p [i+1] is the position of next pseudo-start code prefix.
8. a kind of method that prevents pseudo-initial code automatically fast as claimed in claim 1 is characterized in that: in step 6, if should then represent not occur in this data block pseudo-start code prefix immediately following the byte after initial code value more than or equal to 128; If should then represent to have occurred in this data block pseudo-start code prefix immediately following the byte after initial code value less than 128.
9. a kind of method that prevents pseudo-initial code automatically fast as claimed in claim 8; It is characterized in that, in step 7, if pseudo-initial code do not occur in this data block; Then obtain data block length information, the just positional information of next initial code according to following method:
N=(I[0]-128)+128×k
Wherein I [0] is that N is the length of data block immediately following the byte after initial code value, and k is the nonnegative integer an of the unknown.
10. a kind of method that automatically prevents pseudo-initial code fast as claimed in claim 8 is characterized in that, in step 7, if pseudo-initial code occurred in this data block, obtains the positional information of this first pseudo-start code prefix according to following method:
u=I[0]>>5,
If u=0, then p [0]=(I [0] &0x1f)-1;
If u=1, then p [0]=(I [0] &0x1f)-1+ (I [1]-1) * 31;
If u=2, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1) * 255) * 31;
If u=3, then p [0]=(I [0] &0x1f)-1+ (I [1]-1+ (I [2]-1+ (I [3]-1) * 255) * 255) * 31;
Wherein p [0] is the position of this first pseudo-start code prefix.
11. a system that prevents pseudo-initial code automatically fast comprises code device and decoding device, it is characterized in that this code device comprises at least:
The record module is used for seeking pseudo-start code prefix in the byte-aligned position of data block, and writes down number of times and the position that pseudo-start code prefix occurs;
Judge module, judge the number of times of the pseudo-start code prefix appearance of record;
Insert byte and handle module, handle as follows:, then insert a highest order and be 1 and comprise the byte of the length information of this data block in first byte front of this data block if the number of times that pseudo-start code prefix occurs is 0 according to judged result; If the number of times that pseudo-start code prefix occurs greater than 0, then inserts 1-4 non-0 byte, the positional information of this 1-4 non-0 first pseudo-initial code of byte records before first byte of this data block; And
Pseudo-start code prefix is revised module; The value of three bytes that comprised according to predetermined each pseudo-start code prefix of modification rules modification; The value of three bytes that current pseudo-start code prefix comprised is revised as the value that comprises next pseudo-start code prefix or true start code prefix positional information, and three bytes that amended this current pseudo-start code prefix comprised can not constitute new pseudo-start code prefix with any byte of front or back;
Decoding device comprises at least:
Search module, in the data flow that receives, seek start code prefix;
Resolve module, resolve immediately following the byte after initial code value;
The position obtains module, to be when pseudo-initial code having occurred in the data block in the analysis result of resolving module, according to the byte number that obtains immediately following the byte behind initial code value to insert, and obtains the positional information of first pseudo-start code prefix according to the byte of inserting; And
Data block is recovered module; Deletion is immediately following 1-4 byte of the insertion behind initial code value; Positional information acquisition this first three bytes that pseudo-start code prefix comprised according to first the pseudo-start code prefix that obtains; And recover the value of three bytes that first pseudo-start code prefix comprised according to predetermined modification rule, obtain the positional information of next pseudo-start code prefix or true start code prefix simultaneously, and the like up to true start code prefix occurring; Obtain the final data piece; Simultaneously, it is when pseudo-initial code not occurring in the data block in the analysis result of resolving module that this data block is recovered module, according to closelying follow the next initial code of the data block length information acquisition that comprises in the byte after initial code value; Remove immediately following the byte after initial code value, obtaining its next byte is final desired data piece to all bytes between the next initial code.
12. a kind of system that prevents pseudo-initial code automatically fast as claimed in claim 11 is characterized in that:
This inserts byte and handles number of times that module occurs in this puppet start code prefix greater than 0 o'clock; The positional information of this first pseudo-start code prefix is expressed as the form of ((v3*255+v2) * 255+v1) * 31+v0; And confirm the byte number of required insertion according to the numerical value situation of v3, v2, v1 and v0, before first byte of this data block, insert non-0 byte of positional information of first pseudo-initial code of record of respective byte number again according to the byte number of the required insertion of confirming.
13. a kind of system that prevents pseudo-initial code automatically fast as claimed in claim 11 is characterized in that,
This modification rule is:
For last pseudo-start code prefix; The value of three bytes that it comprised is revised as the value that comprises next true start code prefix positional information, and three bytes that amended this current pseudo-start code prefix comprised can not constitute new pseudo-start code prefix with any byte of front or back;
For non-last pseudo-start code prefix; The value of three bytes that it comprised is revised as the value that comprises next pseudo-start code prefix positional information, and three bytes that amended this current pseudo-start code prefix comprised can not constitute new pseudo-start code prefix with any byte of front or back.
CN201210312587.0A 2012-08-29 2012-08-29 Method and device for rapidly preventing false start code Active CN102802023B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210312587.0A CN102802023B (en) 2012-08-29 2012-08-29 Method and device for rapidly preventing false start code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210312587.0A CN102802023B (en) 2012-08-29 2012-08-29 Method and device for rapidly preventing false start code

Publications (2)

Publication Number Publication Date
CN102802023A true CN102802023A (en) 2012-11-28
CN102802023B CN102802023B (en) 2014-08-27

Family

ID=47200975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210312587.0A Active CN102802023B (en) 2012-08-29 2012-08-29 Method and device for rapidly preventing false start code

Country Status (1)

Country Link
CN (1) CN102802023B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743581A (en) * 2019-01-24 2019-05-10 上海国茂数字技术有限公司 Coding side processing method, decoding end processing method and the method for preventing pseudo- initial code
CN111684804A (en) * 2019-04-30 2020-09-18 深圳市大疆创新科技有限公司 Data encoding method, data decoding method, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030665A1 (en) * 2002-04-19 2004-02-12 Sullivan Gary J. Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
EP1753244A1 (en) * 2002-01-22 2007-02-14 Microsoft Corporation Methods and systems for start code emulation prevention and data stuffing
CN101640805A (en) * 2008-07-28 2010-02-03 青岛海信信芯科技有限公司 Video decoding method and video decoder
CN101646073A (en) * 2008-08-08 2010-02-10 青岛海信信芯科技有限公司 Method for decoding videos and television using same
CN101800892A (en) * 2010-03-04 2010-08-11 青岛海信信芯科技有限公司 Method and device for identifying multimedia code stream

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1753244A1 (en) * 2002-01-22 2007-02-14 Microsoft Corporation Methods and systems for start code emulation prevention and data stuffing
US20040030665A1 (en) * 2002-04-19 2004-02-12 Sullivan Gary J. Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
CN101640805A (en) * 2008-07-28 2010-02-03 青岛海信信芯科技有限公司 Video decoding method and video decoder
CN101646073A (en) * 2008-08-08 2010-02-10 青岛海信信芯科技有限公司 Method for decoding videos and television using same
CN101800892A (en) * 2010-03-04 2010-08-11 青岛海信信芯科技有限公司 Method and device for identifying multimedia code stream

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743581A (en) * 2019-01-24 2019-05-10 上海国茂数字技术有限公司 Coding side processing method, decoding end processing method and the method for preventing pseudo- initial code
CN109743581B (en) * 2019-01-24 2021-08-27 上海国茂数字技术有限公司 Processing method at encoding end, processing method at decoding end and method for preventing pseudo initial code
CN111684804A (en) * 2019-04-30 2020-09-18 深圳市大疆创新科技有限公司 Data encoding method, data decoding method, equipment and storage medium
CN111684804B (en) * 2019-04-30 2022-05-13 深圳市大疆创新科技有限公司 Data encoding method, data decoding method, equipment and storage medium

Also Published As

Publication number Publication date
CN102802023B (en) 2014-08-27

Similar Documents

Publication Publication Date Title
US6064748A (en) Method and apparatus for embedding and retrieving additional data in an encoded data stream
EP3211897B1 (en) Method and apparatus for encoding and decoding transform coefficients
CN103049682A (en) Character pitch encoding-based dual-watermark embedded text watermarking method
CN108322808B (en) Video recording processing method and device, computer device and storage medium
CN1112340A (en) Scramble transmission device and signal processing device
KR101489523B1 (en) Method to transmit video data in a data stream and associated metadata
JP2012034398A (en) Resynchronization method which decodes video
CN106576152A (en) Improved method for screen content coding
CN104751400A (en) Secret image sharing method based on pixel mapping matrix embedding
CN103873868A (en) Bitmap data compression method
CN109040853A (en) A kind of digital stream media fingerprints watermark protection method and device
CN102802023A (en) Method and device for rapidly preventing false start code
CN107396106A (en) A kind of Video Encryption Algorithm based on H.265 coding standard
CN109743581B (en) Processing method at encoding end, processing method at decoding end and method for preventing pseudo initial code
CN101485200B (en) Video signal processing device, video signal processing method
CN105141962B (en) A kind of Large Volume Data hidden method towards H.264/AVC video code flow
CN110191341B (en) Depth data coding method and decoding method
EP3443674B1 (en) Compressing indices in a video stream
CN114827611A (en) Video image encoding and decoding method, apparatus and medium
CN109600616A (en) A kind of code stream packaging method based on H.264 video compression standard
CN102651795B (en) Run-length reduced binary sequence compressed encoding method
CN105208462B (en) Video digital watermark processing method and the video digital watermark system for performing this method
RU2331914C2 (en) Method of converting data streams with possibility of random access and corresponding method of its decording
CN1205778C (en) Method and apparatus for data transmission, and method and apparatus for data reception
WO2020220249A1 (en) Data encoding and data decoding methods and devices, and storage medium

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