CN102802023B - 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
CN102802023B
CN102802023B CN201210312587.0A CN201210312587A CN102802023B CN 102802023 B CN102802023 B CN 102802023B CN 201210312587 A CN201210312587 A CN 201210312587A CN 102802023 B CN102802023 B CN 102802023B
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.)
Active
Application number
CN201210312587.0A
Other languages
Chinese (zh)
Other versions
CN102802023A (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

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 fast pseudo-initial code
Technical field
The present invention relates to a kind of method and device that prevents pseudo-initial code, particularly relate to and a kind of audio/video coding Organization of Data is become to the method that prevents fast pseudo-initial code can random access data stream time.
Background technology
Traditional video encoding standard is as ITU (International Telecommunication Union, International Telecommunication Union) formulate H.261, H.263, H.263+, H.264 standard and ISO (International Organization for Standardization, International Organization for standardization) MPEG (Moving Pictures Experts Group, dynamic image expert group) MPEG-1 that organizes to set up, MPEG-2, MPEG-4 etc. need an audio/video coding Organization of Data to become can random access data stream, so that decoder can start decoding from the random access point arranging.In above standard, be all the random access of realizing coded data by initial code, for example video sequence initial code, image sets initial code, image initial code etc.These initial codes are all made up of start code prefix and initial code value two parts.Start code prefix is a fixing bit string, the existence of mark one initial code; Initial code value is a numerical value, points out the implication of initial code.
If there is the bit string the same with start code prefix in other coded datas, decoder just likely this bit string error as start code prefix, thereby cause decoding error.Such bit string has formed pseudo-initial code with some binary digits following closely.In order to ensure being correctly decoded of audio-video code stream, must prevent from occurring pseudo-initial code in code stream.
The usual method that prevents pseudo-initial code is that some prohibition values and masked bits are set in the time of the syntactic structure of design code stream.So-called prohibition value refers to forbids that syntactic element gets some value, because if this syntactic element has been got those values, just likely occurs pseudo-initial code.So-called masked bits, refers to and between the syntactic element that may occur pseudo-initial code, 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.When design syntax structure, at every moment consider and whether there will be pseudo-initial code, whether need to forbid some values, whether need to insert masked bits.B. reduced the legibility of syntactic structure.The irrelevant syntactic element of these and compressed encoding is mixed in syntactic structure, makes people be not easy to grasp the essentials.C. efficiency is not high.All must take measures in the place that likely produces 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.The method checks the data block between two initial codes, if occurred continuous 22 0 in certain byte-aligned position, after the 22nd 0, inserts 8 following bits 11000000, thereby avoided the appearance of pseudo-initial code.In the time of decoding, carry out contrary operation, check in the data block between two initial codes whether occurred 0x000003, if there is, delete 0x03. the method in the operation of byte aspect, implement more convenient.
Application number is that the Chinese patent application of 200310107985.X has proposed a kind of false proof initial code scheme.With the difference of US Patent No. 7839895 be that this patent application is that aspect in place operates, when 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.
Two class methods of US Patent No. 7839895 and Chinese patent 200310107985.X invention have his own strong points, but they have a common shortcoming, be exactly in decoding end, no matter whether there is pseudo-initial code, all first whether byte-by-byte inspection there is the position of insertion, if existed, delete the position of these insertions.The amount of calculation that this process need is certain, for the limited decoder of computing capability, will be a kind of burden.
Summary of the invention
The deficiency existing for overcoming above-mentioned prior art, the present invention's object is to provide a kind of method and system that prevent fast pseudo-initial code, and it can make decoding end in the time decoding, complete the operation of false proof initial code with minimum amount of calculation.
For reaching above-mentioned and other object, the invention provides a kind of method that prevents fast pseudo-initial code, comprise coding side processing method and decoding end processing method, wherein, this coding side processing method comprises the steps:
Step 1, pseudo-start code prefix is found in the byte-aligned position in data block, and records number of times and position that pseudo-start code prefix occurs;
Step 2, judges 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 inserted a highest order and is 1 and the byte that comprises this data block length information before first byte of this data block; If the number of times that this puppet start code prefix occurs is greater than 0, before first byte of this data block, insert 1-4 non-zero byte, and the positional information of this 1-4 non-zero first pseudo-start code prefix of byte records; And
Step 4, the value of three bytes that comprise according to a predetermined each pseudo-start code prefix of alteration ruler amendment, they are revised as to the value that comprises next pseudo-start code prefix or true start code prefix positional information, and amended three bytes can not form new pseudo-start code prefix with byte or below above;
This decoding end processing method comprises the steps:
Step 5 is found start code prefix in the data flow receiving, and a start code prefix byte is below initial code value;
Step 6, resolves immediately following byte after initial code value to judge whether occurred pseudo-start code prefix in this data block;
Step 7, if there is not pseudo-start code prefix in this data block, according to 7 the acquisition data block length information except highest order that should closely follow the byte after initial code value, the namely positional information of next initial code, then delete this immediately following the byte after initial code value, forward step 10 to; If there is pseudo-start code prefix in this data block, according to obtaining the byte number inserting immediately following the byte after initial code value, and obtain the positional information of first pseudo-start code prefix according to the byte of inserting, then delete the byte of inserting; And
Step 8, obtain according to the positional information of first the pseudo-start code prefix obtaining three bytes that first pseudo-start code prefix comprises, three bytes that comprise according to first pseudo-start code prefix obtain the positional information of next pseudo-start code prefix or next true start code prefix, and recover the value of three bytes that first pseudo-start code prefix comprises;
Step 9, according to the positional information next pseudo-start code prefix of acquisition of the pseudo-start code prefix of the next one or true start code prefix or three bytes that very start code prefix comprises, if these three bytes are true start code prefix, the data before these three bytes are exactly desired data piece, and processing procedure finishes; If these three bytes are not true start code prefix, 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 is reverted to the value of start code prefix, repeat this step until there is next true start code prefix, obtain final data block;
Step 10, finds next start code prefix according to the positional information of the next start code prefix obtaining, and is required data block from this next byte immediately following the byte after initial code value to all bytes next start code prefix.
Further, described data block refers to from the current initial code next byte of (comprising start code prefix and initial code value), to all data of (not comprising first byte of next initial code) before first byte of next initial code.The some successive bytes identical with start code prefix that occur in data block are called as ' pseudo-start code prefix ', and pseudo-start code prefix is called as ' pseudo-initial code ' with the some successive bytes that form immediately following a byte thereafter.
Further, in step 3, if the number of times that this puppet start code prefix occurs is 0, before first byte of this data block, insert a highest order and be 1 and the byte that comprises this data block length information, its value is (N%128)+128, wherein N is the total bytes (not comprising the byte of insertion) comprising in data block, and N%128 represents 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 inserting 1-4 non-zero byte before first byte of this data block also comprises the steps:
The positional information of first pseudo-start code prefix is expressed as to the form with 1-4 byte representation;
Determine required insertion byte number and the value of each insertion byte according to the positional information of first pseudo-start code prefix.
Further, the positional information of first pseudo-start code prefix is expressed as to the form of ((v3*255+v2) * 255+v1) * 31+v0;
If v3 > 0, u is 3; Otherwise, if v2 > 0, u=2; Otherwise, if v1 > 0, 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], wherein I[0] and=(u < < 5)+v0+1, if u > 0, I[1]=v1+1; If u > 1, I[2]=v2+1; If u > 2, I[3]=v3+1.
Further, the alteration ruler in step 4 is:
For last pseudo-start code prefix, the value of three bytes that it is 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 is comprised is revised as the value that comprises next pseudo-start code prefix positional information.
Further, this alteration ruler 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] be three bytes corresponding to current pseudo-start code prefix, p[i+1] be the position of next pseudo-start code prefix, N is this data block length (byte number), is numerically equal to the position of next true start code prefix.
Further, in step 6, if should be 1 immediately following highest order of byte after initial code value, represent not occur in this data block pseudo-initial code; If should be 0 immediately following highest order of byte after initial code value, represent to have occurred in this data block pseudo-initial code.
Further, in step 7, if there is not pseudo-initial code in this data block, obtain data block length information, the namely positional information of next initial code according to following method:
N=(I[0]-128)+128×k
Wherein I[0] be that N is the length of data block immediately following the byte after initial code value, k is a unknown nonnegative integer.
Further, if there is pseudo-initial code 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, p[0]=(I[0] & 0x1f)-1;
If u=1, p[0]=(I[0] & 0x1f)-1+ (I[1]-1) * 31;
If u=2, p[0]=(I[0] & 0x1f)-1+ (I[1] and-1+ (I[2]-1) * 255) * 31;
If u=3, p[0]=(I[0] & 0x1f)-1+ (I[1]-1+ (I[2] and-1+ (I[3]-1) * 255) * 255) * 31;
Wherein p[0] be the position of this first pseudo-start code prefix.
Further, if there is pseudo-initial code 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 object, the present invention also provides a kind of device that automatically prevents fast pseudo-initial code, comprises code device and decoding device, and wherein this code device at least comprises:
Record module, find pseudo-start code prefix for the byte-aligned position in data block, and record number of times and position that pseudo-start code prefix occurs;
Judge module, the number of times that the pseudo-start code prefix of judgement record occurs;
Insert byte and process module, be handled as follows according to judged result: if the number of times that pseudo-start code prefix occurs is 0, before first byte of this data block, insert a highest order and be 1 and the byte of the length information that comprises this data block; If the number of times that pseudo-start code prefix occurs is greater than 0, before first byte of this data block, insert 1-4 non-zero byte, the positional information of this 1-4 non-zero first pseudo-initial code of byte records; And
Pseudo-start code prefix amendment module, the value of three bytes that comprise according to the predetermined each pseudo-start code prefix of alteration ruler amendment, the value of three bytes that current pseudo-start code prefix is 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 form new pseudo-start code prefix with byte or below above;
Decoding device at least comprises:
Search module, in the data flow receiving, find start code prefix;
Resolve module, resolve immediately following the byte after initial code value;
Position acquisition module, taking in the time that the analysis result of resolving module has occurred pseudo-initial code in code stream, obtains the byte number inserting according to the byte immediately following after initial code value, and obtains the positional information of first pseudo-start code prefix according to the byte of inserting; And
Data block is recovered module, delete 1-4 the byte immediately following the insertion after initial code value, obtain according to the positional information of first the pseudo-start code prefix obtaining three bytes that this first pseudo-start code prefix comprises, and recover the value of three bytes that first pseudo-start code prefix comprises according to predetermined alteration ruler, obtain the positional information of next pseudo-start code prefix or true start code prefix simultaneously, the like until there is true start code prefix, obtain final data block, simultaneously, it is while there is not pseudo-start code prefix in code stream in the analysis result of resolving module that this data block is recovered module, according to the next initial code of the data block length information acquisition immediately following comprising 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 next initial code.
Further, this insertion byte is processed module and is greater than at 0 o'clock in the number of times of this puppet start code prefix appearance, the positional information of this first pseudo-start code prefix is expressed as to the form of ((v3*255+v2) * 255+v1) * 31+v0, and determine the byte number of required insertion according to the numerical value situation of v3, v2, v1 and v0, then before first byte of this data block, insert the non-zero byte of the positional information that records first pseudo-initial code of respective byte number according to the byte number of required insertion.
Further, this alteration ruler is:
For last pseudo-start code prefix, be revised as the value that comprises next true start code prefix positional information, and its first byte is revised as the value that is more than or equal to 2, the second byte and the 3rd byte are revised as non-zero;
For non-last pseudo-start code prefix, be revised as the value that comprises next pseudo-start code prefix positional information, and its first byte is to be more than or equal to 2 value, the second byte and the 3rd byte are non-zero value.
Compared with prior art, a kind of method and system that automatically prevent fast pseudo-initial code of the present invention, the number of times and the position that occur by record pseudo-start code prefix in coding side, and before the 1st byte of data block, insert 1-4 non-zero byte according to respective rule and form new data block, make can not exist in formed new data block pseudo-start code prefix, recover desired data piece in decoding end by corresponding rule, make in decoding end processing procedure, need to the data or the initial code that insert whether not be there is not in each byte-aligned position judgment, greatly reduce the amount of calculation of decoding end processing procedure.
Brief description of the drawings
Fig. 1 is the flow chart of steps of the processing method of the coding side of a kind of method that prevents fast pseudo-initial code of the present invention;
Fig. 2 is the flow chart of steps of the processing method of the decoding end of a kind of method that prevents fast pseudo-initial code of the present invention;
Fig. 3 is the structural representation of 1~4 byte inserting before data block B in preferred embodiment of the present invention;
Fig. 4 be in preferred embodiment of the present invention in the inner position that occurs pseudo-start code prefix of data block B to three bytes schematic diagram of assignment again;
Fig. 5 is the decoding end processing procedure schematic diagram while there is not pseudo-start code prefix in preferred embodiment of the present invention;
Fig. 6 is the decoding end processing procedure schematic diagram while there is pseudo-start code prefix in preferred embodiment of the present invention;
Fig. 7 is the system architecture diagram of a kind of system that prevents fast pseudo-initial code of the present invention.
Embodiment
Below, by specific instantiation accompanying drawings embodiments of the present invention, those skilled in the art can understand other advantage of the present invention and effect easily by content disclosed in the present specification.The present invention also can be implemented or be applied by other different instantiation, and the every details in this specification also can be based on different viewpoints and application, carries out various modifications and change not deviating under spirit of the present invention.
Suppose that two data block B between 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 23 ' 0 ' add 1 ' 1 ', and always appears at byte-aligned position.
The present invention's the method that prevents fast pseudo-initial code, comprise the processing method of coding side and the processing method of decoding end, Fig. 1 is the flow chart of steps of the processing method of the coding side of a kind of method that prevents fast pseudo-initial code of the present invention, as shown in Figure 1, the processing method of coding side, comprising:
Step 101, pseudo-start code prefix 0x000001 is found in byte-aligned position in data block B, and records number of times and position that pseudo-start code prefix occurs, form be p[0], p[1], ..., p[M-1] }, wherein M >=0, it is the number of times that pseudo-start code prefix occurs, p[i] be 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, p[i] span be 0..N-3;
Step 102, judges the number of times M that pseudo-start code prefix occurs;
Step 103, if there is not pseudo-start code prefix in data block B in M=0, at the 1st byte, the i.e. B[0 of data block B], before insert a byte and be designated as I[0], I[0] highest order should be 1, and at least comprises the length information of data block B;
Step 104, if M > 0 inserts 1-4 non-zero byte, the positional information p[0 of this 1-4 non-zero first pseudo-initial code of byte records before the 1st byte of data block B];
Specifically, first by p[0] be expressed as the form of ((v3*255+v2) * 255+v1) * 31+v0; Then according to v3, v2, v1, v0 determines the byte number of required insertion and the value of each insertion byte, as:
If v3 > 0, u=3; Otherwise, if v2 > 0, u=2; Otherwise, if v1 > 0, u=1; Otherwise, u=0;
At B[0] a front insertion u+1 byte, be designated as I[0], I[1], I[2], I[3].Wherein I[0]=(u < < 5)+v0+1.If u > 0, I[1]=v1+1.If u > 1, I[2]=v2+1.If u > 2, I[3]=v3+1.
Step 105, the value of three bytes that comprise according to the predetermined each pseudo-start code prefix of alteration ruler amendment, this alteration ruler is:
Three bytes that comprise for last pseudo-start code prefix, are 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;
Wherein i=M-1.
Three bytes that comprise 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 0≤i≤M-2.
After above-mentioned rules modification, first byte that each pseudo-start code prefix comprises is to be more than or equal to 2 value, and the second byte and the 3rd byte are non-zero value, can ensure so not can with they before or any byte below form new pseudo-start code prefix.
It is more than the processing method of the present invention's coding side.Fig. 2 is the flow chart of steps of the processing method of the decoding end of a kind of method that prevents fast pseudo-initial code of the present invention, and corresponding, the processing method of decoding end comprises the steps:
Step 201 is found start code prefix 0x000001 in the data flow receiving.A start code prefix byte is below initial code value, and starting from a byte after initial code value is data block Be={I[0] ..., B[0], B[1] and ... }.Now length the unknown of Be;
Step 202, resolves immediately following the byte after initial code value, i.e. I[0].If I[0] >=128, represent not occur pseudo-start code prefix in code stream, go to step 203; If I[0] < 128, represent to have occurred pseudo-initial code in code stream, go to step 204.
Step 203, according to the data block length information acquisition data block length information immediately following comprising in the byte after initial code value, the namely positional information of next start code prefix, find next start code prefix according to the positional information of the next start code prefix obtaining, be required data block B from this next byte immediately following the byte after initial code value to all bytes next start code prefix, decoding end processing procedure finishes;
Illustrate again at this, here said data block refers to from the current initial code next byte of (comprising start code prefix and initial code value), to all data of (not comprising first byte of next initial code) before first byte of next initial code.The some successive bytes identical with start code prefix that occur in data block are called as ' pseudo-start code prefix ', and pseudo-start code prefix is called as ' pseudo-initial code ' with the some successive bytes that form immediately following a byte thereafter.
Step 204, obtains the byte number inserting according to the byte immediately following after initial code value, and obtains the positional information of first pseudo-start code prefix according to the byte of inserting, and then deletes the byte of inserting;
Specifically, u=I[0] > > 5,
If u=0, p[0]=(I[0] & 0x1f)-1;
If u=1, p[0]=(I[0] & 0x1f)-1+ (I[1]-1) * 31;
If u=2, p[0]=(I[0] & 0x1f)-1+ (I[1] and-1+ (I[2]-1) * 255) * 31;
If u=3, p[0]=(I[0] & 0x1f)-1+ (I[1]-1+ (I[2] and-1+ (I[3]-1) * 255) * 255) * 31.
Step 205, obtain according to the positional information of first the pseudo-start code prefix obtaining three bytes that first pseudo-start code prefix comprises, three bytes that comprise according to first pseudo-start code prefix obtain the positional information of next pseudo-start code prefix or next true start code prefix, and recover the value of three bytes that first pseudo-start code prefix comprises;
Step 206, according to the positional information next pseudo-start code prefix of acquisition of the pseudo-start code prefix of the next one or true start code prefix or three bytes that very start code prefix comprises, and carries out respective handling.If these three bytes are true start code prefix, the data before these three bytes are exactly desired data piece, and processing procedure finishes; If these three bytes are not true start code prefix, 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 is reverted to the value of start code prefix, repeat this step until there is next true start code prefix, obtain final data block.
To coordinate a specific embodiment to further illustrate a kind of method coding side of pseudo-initial code and processing procedure of decoding end of preventing fast of the present invention below.Fig. 3 is the structural representation of 1~4 byte inserting before data block B in preferred embodiment of the present invention, Fig. 4 be in preferred embodiment of the present invention in the inner position that occurs pseudo-start code prefix of data block B to three bytes schematic diagram of assignment again.Coordinate Fig. 3 and Fig. 4, first the processing procedure of coding side is as follows:
(1) pseudo-start code prefix 0x000001 is found in the byte-aligned position in data block B, record number of times and position that pseudo-start code prefix occurs, form be p[0], p[1] ..., p[M-1] }, wherein M >=0, is the number of times that pseudo-start code prefix occurs, p[i] be 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, p[i] span be 0..N-3.
(2) if M=0, be in data block B, not occur pseudo-start code prefix, in the 1st byte of data block B, be B[0], before insert a byte, this is designated as I[0], this byte highest order should be 1, and at least comprise the length information of data block B, that is: I[0]=128+ (N%128), the processing procedure of coding side finishes.
(3) M > 0, carries out following steps:
Step 3.1, p[0] be expressed as the 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 p[0] required insertion byte number u.If v3 > 0, u=3; Otherwise, if v2 > 0, u=2; Otherwise, if v1 > 0, u=1; Otherwise, u=0;
Step 3.3, at B[0] a front insertion u+1 byte, be designated as I[0], I[1], I[2], I[3].Wherein I[0]=(u < < 5)+v0+1.If u > 0, I[1]=v1+1.If u > 1, I[2]=v2+1.If u > 2, I[3]=v3+1, as shown in Figure 3;
Step 3.4, makes i=0;
Step 3.5, if i=M-1 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;
Go to 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;
Coding side processing procedure finishes.
Above-mentioned coding side processing procedure, is conditional to the byte number of processed data block B, and 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 only has 3M byte before compression, even for the ultra high-definition program of 8k*4k, the data volume of every frame also only has 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 ensure after processing procedure finishes, the new data block Be={I[0 forming] ..., B[0], B[1] ..., B[N-1] in can there is not pseudo-start code prefix, just can there is not pseudo-initial code yet.In the beginning of data block Be, the byte of insertion is all non-zero, not can with B[0], B[1] form new pseudo-start code prefix.In addition, be initial code before data block Be, i.e. 0x000001xx, even if xx=00 can not form new pseudo-initial code yet.In the centre of data block Be, occur that, on the position of pseudo-start code prefix, the value of three bytes is all modified to non-zero value, not can with the pseudo-start code prefix of combination of bytes Cheng Xin thereafter.Particularly first byte is modified to the value that is more than or equal to 2.Even if there is the byte that several continuous values are 0 before it, can not form new pseudo-start code prefix yet.
Fig. 5 is the decoding end processing procedure schematic diagram while there is not pseudo-initial code in preferred embodiment of the present invention; Fig. 6 is the decoding end processing procedure schematic diagram while there is pseudo-initial code in preferred embodiment of the present invention.Coordinate Fig. 5 and Fig. 6, the processing procedure of decoding end comprises the following steps:
(1) in data flow, find start code prefix 0x000001.A start code prefix byte is below initial code value, and starting from a byte after initial code value is data block Be={I[0] ..., B[0], B[1] and ... }.Now length the unknown of Be.
(2) resolve I[0], immediately following the byte after initial code value.If I[0] >=128, represent not occur pseudo-initial code in code stream, go to step (3); If I[0] < 128, represent to have occurred pseudo-initial code in code stream, go to step (6).
(3) make offset=I[0]-128, next initial code appears at B[0], i.e. I[0] next byte, the position of offset+k*128 afterwards, wherein k=0,1,2 ...
(4) at B[0] afterwards the position of offset+k*128 (k=0,1,2 ...) and search initial code, until run into next initial code.
(5) remove I[0], from I[0] next byte be exactly B to all bytes before next initial code.Decoding end processing procedure finishes.
(6) make u=I[0] > > 5, if u=0, p[0]=(I[0] & 0x1f)-1; If u=1, p[0]=(I[0] & 0x1f)-1+ (I[1]-1) * 31; If u=2, p[0]=(I[0] & 0x1f)-1+ (I[1] and-1+ (I[2]-1) * 255) * 31; If u=3, p[0]=(I[0] & 0x1f)-1+ (I[1]-1+ (I[2] and-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, decoding end processing procedure finishes.Data block B={B[0], B[1] ..., B[p[i]-1] be the data block of recovering.Otherwise make i=i+1, forward step (8) to
From above-mentioned decoding end processing procedure, in decoding end processing procedure, need to the data or the initial code that insert whether not be there is not in each byte-aligned position judgment, only need according to resolve the p[0 obtaining in starting position], the position that just can directly find pseudo-initial code to occur, is recovered, and is obtained the position of next pseudo-initial code simultaneously, the like until there is next real initial code, decoding end processing procedure finishes.Compare with the scheme of Chinese patent application 200310107985.X with US Patent No. 7839895, greatly reduced the amount of calculation of decoding end processing procedure.
If there is not pseudo-initial code in code stream, in decoding end processing procedure, need to whether not run into next initial code in each byte-aligned position judgment.Decoding end can according to I (0) obtain a deviant offset, then at B[0] afterwards the position of offset+k*128 (k=0,1,2 ...) and search initial code, until run 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 the system architecture diagram of a kind of system that prevents fast pseudo-initial code of the present invention.As shown in Figure 7, a kind of system that prevents pseudo-initial code of the present invention, comprising: code device 70 and decoding device 71.
Wherein code device 70 comprises: record module 701, judge module 702, insert byte processing module 703 and pseudo-start code prefix amendment module 704.Record module 701 and find pseudo-start code prefix 0x000001 for the byte-aligned position at data block B, and record number of times and the position that pseudo-start code prefix occurs, form be p[0], p[1] ..., p[M-1] }, wherein M >=0, is the number of times that pseudo-start code prefix occurs, p[i] be 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, p[i] span be 0..N-3; Judge module 702, the number of times that the pseudo-start code prefix of judgement record occurs; Insert byte and process module 703, be handled as follows according to judged result:
If, there is not pseudo-start code prefix in data block B in M=0, at the 1st byte, the i.e. B[0 of data block B], before insert a byte and be designated as I[0], I[0] highest order should be 1, and at least comprises the length information of data block B;
If M > 0 inserts 1-4 non-zero byte, the positional information p[0 of this 1-4 non-zero first pseudo-initial code of byte records before the 1st byte of data block B]; Specifically, first by p[0] be 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 determined required insertion byte number, as:
If v3 > 0, u=3; Otherwise, if v2 > 0, u=2; Otherwise, if v1 > 0, u=1; Otherwise, u=0;
At B[0] a front insertion u+1 byte, be designated as I[0], I[1], I[2], I[3].Wherein I[0]=(u < < 5)+v0+1.If u > 0, I[1]=v1+1.If u > 1, I[2]=v2+1.If u > 2, I[3]=v3+1.
Pseudo-start code prefix amendment module 704, the value of three bytes that comprise according to the predetermined each pseudo-start code prefix of alteration ruler amendment, obtains new data block Be.First byte that each pseudo-start code prefix is comprised is revised as the value that is more than or equal to 2, and the second byte and the 3rd byte are revised as non-zero value, and this alteration ruler 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;
Wherein i=M-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 0≤i≤M-2.
After above-mentioned rules modification, first byte that each pseudo-start code prefix comprises is to be more than or equal to 2 value, and the second byte and the 3rd byte are non-zero value, can ensure so not can with they before or any byte below form new pseudo-start code prefix.
Decoding device 71 comprises that searching module 710, parsing module 720, position acquisition module 730 and data block recovers module 740.
Search module 710, in the data flow receiving, find start code prefix 0x000001.A start code prefix byte is below initial code value, and starting from a byte after initial code value is data block Be={I[0] ..., B[0], B[1] and ... }.Now length the unknown of Be; Resolve module 720, resolve immediately following the byte after initial code value, i.e. I[0], if I[0] >=128, represent not occur pseudo-start code prefix in code stream, if I[0] < 128, represent to have occurred pseudo-start code prefix in code stream; Position acquisition module 730, taking in the time having there is pseudo-start code prefix in the analysis result of resolving module in code stream, obtain the byte number inserting according to the byte immediately following after initial code value, and obtain the positional information of first pseudo-start code prefix according to the byte of inserting, specifically, u=I[0] > > 5
If u=0, p[0]=(I[0] & 0x1f)-1;
If u=1, p[0]=(I[0] & 0x1f)-1+ (I[1]-1) * 31;
If u=2, p[0]=(I[0] & 0x1f)-1+ (I[1] and-1+ (I[2]-1) * 255) * 31;
If u=3, p[0]=(I[0] & 0x1f)-1+ (I[1]-1+ (I[2] and-1+ (I[3]-1) * 255) * 255) * 31.
Data block is recovered module 740, delete 1-4 the byte immediately following the insertion after initial code value, obtain according to the positional information of first the pseudo-start code prefix obtaining three bytes that first pseudo-start code prefix comprises, and recover the value of three bytes that first pseudo-start code prefix comprises according to predetermined alteration ruler, obtain the positional information of next pseudo-start code prefix or true start code prefix simultaneously, the like until there is true start code prefix, obtain final data block, simultaneously, be while there is not pseudo-start code prefix in data block in the analysis result of resolving module, according to the next initial code of the data block length information acquisition immediately following comprising in the byte after initial code value, remove immediately following the byte after initial code value, its next byte is exactly required data block to all bytes between next initial code.
Visible, a kind of method and system that automatically prevent fast pseudo-initial code of the present invention, the number of times and the position that occur by record pseudo-start code prefix in coding side, and before the 1st byte of data block, insert 1-4 non-zero byte according to respective rule and form new data block, make can not exist in formed new data block pseudo-start code prefix, recover desired data piece in decoding end by corresponding rule, make in decoding end processing procedure, need to the data or the initial code that insert whether not be there is not in each byte-aligned position judgment, greatly reduce the amount of calculation of decoding end processing procedure.
Above-described embodiment is illustrative principle of the present invention and effect thereof only, but not for limiting the present invention.Any those skilled in the art all can, under spirit of the present invention and category, modify and change above-described embodiment.Therefore, the scope of the present invention, should be as listed in claims.

Claims (13)

1. prevent fast a method for pseudo-initial code, comprise 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 found in the byte-aligned position in data block, and records number of times and position that pseudo-start code prefix occurs;
Step 2, judges 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 inserted a highest order and is 1 and the byte that comprises this data block length information before first byte of this data block; If the number of times that this puppet start code prefix occurs is greater than 0, before first byte of this data block, insert 1-4 non-zero byte, and the positional information of this 1-4 non-zero first pseudo-initial code of byte records; And
Step 4, the value of three bytes that comprise according to a predetermined each pseudo-start code prefix of alteration ruler amendment, the value of three bytes that current pseudo-start code prefix is 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 comprises can not form new pseudo-start code prefix with any byte or below above;
This decoding end processing method comprises the steps:
Step 5 is found start code prefix in the data flow receiving, and a start code prefix byte is below initial code value;
Step 6, resolves immediately following the byte after initial code value whether there is pseudo-initial code in judging data block;
Step 7, if there is not pseudo-initial code in data block,, according to the positional information that should obtain immediately following the byte after initial code value next start code prefix, removes this immediately following the byte after initial code value, forwards step 10 to; If there is pseudo-start code prefix in data block, according to obtaining the byte number inserting immediately following the byte after initial code value, and obtain the positional information of first pseudo-start code prefix according to the byte of inserting, then delete the byte of inserting; And
Step 8, obtain according to the positional information of first the pseudo-start code prefix obtaining three bytes that first pseudo-start code prefix comprises, three bytes that comprise according to first pseudo-start code prefix obtain the positional information of next pseudo-start code prefix or next true start code prefix, and recover the value of three bytes that first pseudo-start code prefix comprises;
Step 9, obtains according to the positional information of the pseudo-start code prefix of the next one or true start code prefix three bytes that comprise, if these three bytes are true start code prefix, the data before these three bytes are exactly desired data piece, and processing procedure finishes; If these three bytes are not true start code prefix, 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 is reverted to the value of start code prefix, repeat this step until there is next true start code prefix, obtain final data block;
Step 10, finds next start code prefix according to the positional information of the next start code prefix obtaining, and is required data block from this next byte immediately following the byte after initial code value to all bytes next start code prefix.
2. a kind of method that prevents fast pseudo-initial code as claimed in claim 1, it is characterized in that: described data block refers to the next byte of the current initial code from comprising start code prefix and initial code value, to all data before first byte of next initial code.
3. a kind of method that prevents fast pseudo-initial code 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, before first byte of this data block, insert a highest order and be 1 and the byte that comprises this data block length information, its value is (N%128)+128, wherein N is the total bytes comprising in data block, and N%128 represents the remainder of N divided by 128 gained.
4. a kind of method that prevents fast pseudo-initial code 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 inserting 1-4 non-zero byte before first byte of this data block also comprises the steps:
The positional information of first pseudo-start code prefix is expressed as to the form with 1-4 byte representation, determines 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 fast pseudo-initial code as claimed in claim 4, is characterized in that:
The positional information of first pseudo-start code prefix is expressed as to the form of ((v3*255+v2) * 255+v1) * 31+v0, wherein, v0, v1, v2, v3 is integer, " * " represents to multiply each other;
If v3>0, u is 3; Otherwise, if v2>0, u=2; Otherwise, if v1>0, u=1; Otherwise, u=0;
Before first byte of this data block, insert u+1 byte, be designated as I[0], I[1], I[2] and, I[3], wherein I[0] and=(u<<5)+v0+1, if u>0, I[1]=v1+1; If u>1, I[2]=v2+1; If u>2, I[3]=v3+1.
6. a kind of method that prevents fast pseudo-initial code as claimed in claim 1, is characterized in that, the alteration ruler described in step 4 is:
For last pseudo-start code prefix, be revised as the value that comprises next true start code prefix positional information;
For non-last pseudo-start code prefix, be revised as the value that comprises next pseudo-start code prefix positional information.
7. a kind of method that prevents fast pseudo-initial code as claimed in claim 6, is characterized in that, this alteration ruler is:
Three bytes that comprise 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;
Wherein p[i] be the position of last pseudo-start code prefix, the length that N is 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] three bytes comprising for current pseudo-start code prefix, p[i+1] be the position of next pseudo-start code prefix, " % " represents remainder number, "/" represents to be divided by.
8. a kind of method that prevents fast pseudo-initial code as claimed in claim 1, is characterized in that: in step 6, if should be more than or equal to 128 immediately following byte after initial code value, represent not occur in this data block pseudo-start code prefix; If should be less than 128 immediately following byte after initial code value, represent to have occurred in this data block pseudo-start code prefix.
9. a kind of method that prevents fast pseudo-initial code as claimed in claim 8, it is characterized in that, in step 7, if there is not pseudo-initial code in this data block, obtain data block length information, the namely positional information of next initial code according to following method:
N=(I[0]-128)+128×k
Wherein I[0] be that N is the length of data block immediately following the byte after initial code value, k is a unknown nonnegative integer.
10. a kind of method that prevents fast pseudo-initial code as claimed in claim 8, is characterized in that, in step 7, if there is pseudo-initial code in this data block, obtains the positional information of this first pseudo-start code prefix according to following method:
U=I[0] >>5, wherein, and I[0] be immediately following the byte after initial code value;
If u=0, p[0]=(I[0] & 0x1f)-1;
If u=1, p[0]=(I[0] & 0x1f)-1+ (I[1]-1) * 31;
If u=2, p[0]=(I[0] & 0x1f)-1+ (I[1] and-1+ (I[2]-1) * 255) * 31;
If u=3, p[0]=(I[0] & 0x1f)-1+ (I[1]-1+ (I[2] and-1+ (I[3]-1) * 255) * 255) * 31;
Wherein p[0] be the position of this first pseudo-start code prefix.
11. 1 kinds prevent the system of pseudo-initial code automatically fast, comprise code device and decoding device, it is characterized in that, this code device at least comprises:
Record module, find pseudo-start code prefix for the byte-aligned position in data block, and record number of times and position that pseudo-start code prefix occurs;
Judge module, the number of times that the pseudo-start code prefix of judgement record occurs;
Insert byte and process module, be handled as follows according to judged result: if the number of times that pseudo-start code prefix occurs is 0, before first byte of this data block, insert a highest order and be 1 and the byte of the length information that comprises this data block; If the number of times that pseudo-start code prefix occurs is greater than 0, before first byte of this data block, insert 1-4 non-zero byte, the positional information of this 1-4 non-zero first pseudo-initial code of byte records; And
Pseudo-start code prefix amendment module, the value of three bytes that comprise according to the predetermined each pseudo-start code prefix of alteration ruler amendment, the value of three bytes that current pseudo-start code prefix is 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 comprises can not form new pseudo-start code prefix with any byte or below above;
Decoding device at least comprises:
Search module, in the data flow receiving, find start code prefix;
Resolve module, resolve immediately following the byte after initial code value;
Position acquisition module, taking in the time that the analysis result of resolving module has occurred pseudo-initial code in data block, obtains the byte number inserting according to the byte immediately following after initial code value, and obtains the positional information of first pseudo-start code prefix according to the byte of inserting; And
Data block is recovered module, delete 1-4 the byte immediately following the insertion after initial code value, obtain according to the positional information of first the pseudo-start code prefix obtaining three bytes that this first pseudo-start code prefix comprises, and recover the value of three bytes that first pseudo-start code prefix comprises according to predetermined alteration ruler, obtain the positional information of next pseudo-start code prefix or true start code prefix simultaneously, the like until there is true start code prefix, obtain final data block, simultaneously, it is while there is not pseudo-initial code in data block in the analysis result of resolving module that this data block is recovered module, according to the next initial code of the data block length information acquisition immediately following comprising 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 next initial code.
12. a kind of systems that prevent fast pseudo-initial code as claimed in claim 11, is characterized in that:
This insertion byte is processed module and is greater than at 0 o'clock in the number of times of this puppet start code prefix appearance, the positional information of this first pseudo-start code prefix is expressed as to the form of ((v3*255+v2) * 255+v1) * 31+v0, and determine the byte number of required insertion according to the numerical value situation of v3, v2, v1 and v0, then before first byte of this data block, insert the non-zero byte of the positional information that records first pseudo-initial code of respective byte number according to the byte number of the required insertion of determining.
13. a kind of systems that prevent fast pseudo-initial code as claimed in claim 11, is characterized in that,
This alteration ruler is:
For last pseudo-start code prefix, the value of three bytes that it is 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 comprises can not form new pseudo-start code prefix with any byte or below above;
For non-last pseudo-start code prefix, the value of three bytes that it is 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 comprises can not form new pseudo-start code prefix with any byte or below above.
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 CN102802023A (en) 2012-11-28
CN102802023B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO2020220249A1 (en) * 2019-04-30 2020-11-05 深圳市大疆创新科技有限公司 Data encoding and data decoding methods and devices, and storage medium

Citations (4)

* 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
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100499824C (en) * 2002-04-19 2009-06-10 微软公司 Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions

Patent Citations (4)

* 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
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

Also Published As

Publication number Publication date
CN102802023A (en) 2012-11-28

Similar Documents

Publication Publication Date Title
US8594366B2 (en) Context-based adaptive binary arithmetic coding (CABAC) video stream compliance
CN101321279B (en) Method and system for processing data
US20080317134A1 (en) Video Coding
CN101197578B (en) Run encoding method, run encoding and decoding system and color data storage method
KR102122628B1 (en) Syntax-aware manipulation of media files in a container format
CN101017574A (en) Huffman decoding method suitable for JPEG code stream
CN103475935A (en) Method and device for retrieving video segments
JP2012034398A (en) Resynchronization method which decodes video
US8565299B2 (en) Method and apparatus for processing audio/video bit-stream
EP2908518A1 (en) Encoding/decoding method, video sequence stream encoding/decoding method, and device corresponding thereto
KR100963211B1 (en) Method and apparatus for signaling and decoding avs1-p2 bitstreams of different versions
CN102802023B (en) Method and device for rapidly preventing false start code
CN103873868A (en) Bitmap data compression method
CN109743581B (en) Processing method at encoding end, processing method at decoding end and method for preventing pseudo initial code
US20100246983A1 (en) Data compression method
CN109600616B (en) Code stream packaging method based on H.264 video compression standard
US20010030615A1 (en) Variable length decoding system and method
KR100296684B1 (en) Decoding method and decoder for decoding audio / video compression code data
CN100449950C (en) Robust signal coding
WO2020220249A1 (en) Data encoding and data decoding methods and devices, and storage medium
RU2331914C2 (en) Method of converting data streams with possibility of random access and corresponding method of its decording
CN103369311A (en) Method for preventing conflict of initial code
US20080310818A1 (en) Apparatus and method for generating/playing multimedia data and computer readable medium stored thereon computer executable instructions recored with time-series data structure
KR0177314B1 (en) Apparatus for protecting transport packet in mpeg system
CN116489458B (en) MP4 repairing method, device, terminal and medium based on file byte analysis

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