CN101018102B - Encoder and encoding method - Google Patents
Encoder and encoding method Download PDFInfo
- Publication number
- CN101018102B CN101018102B CN 200610088687 CN200610088687A CN101018102B CN 101018102 B CN101018102 B CN 101018102B CN 200610088687 CN200610088687 CN 200610088687 CN 200610088687 A CN200610088687 A CN 200610088687A CN 101018102 B CN101018102 B CN 101018102B
- Authority
- CN
- China
- Prior art keywords
- code
- synchronizing
- string
- code string
- error correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The problems of pseudo-synchronization and out-of synchronization caused by erroneous detection of synchronization codes of an encoder in which an error correction/detection coding and a synchronism restoring method using synchronization codes. There are provided a coding unit (212) for encoding a sequence of inputted multiplex codes (201 ) into error correction/detection codes comprising information bits and inspection bits; and a code sequence assembling unit (213) for assembling a sequence of output codes (205) by inserting a synchronization code into any of a plurality of periodically predetermined synchronization code insertion positions in the code sequence (201) and by arranging the information bits in arbitrary positions in the code sequence and the inspection bits in positions other than the synchronization code insertion positions in the code sequence (201).
Description
The application number that the application submits on October 19th, 1998 for same applicant is 97193909.8, denomination of invention is divided an application for the one Chinese patent application of " code device and code translator ".
Technical field
The present invention relates to system, the compressed code string that utilizes high efficiency of compression coding and obtain is carried out the code device/coding method of error correction/detect coding and transmit/store through the high media delivery/stored information of the such error rate of wireless transmission link.
Background technology
For example; As radiovision (TV) phone, portable data assistance, digital TV broadcasting system; Carrying out expeditiously compressed encoding and transmitting so that the information of image and sound becomes in the system of the least possible amount of information through wireless transmission link etc.; Because the error rate of transmission line is high, so, transmit resulting code string how high-qualityly and just become important problem.
When carrying out the transmission of code string/storage through the high medium of this error rate, as the method that reduces the error rate, majority is to use error correcting codes such as BCH (Bose-Chaudhuri-Hocquenghem) sign indicating number, RS (Recommended Standard) sign indicating number, convolution code.In addition, receiving a side, the method as can error detection is to use inspection and and CRC error detection codes such as (cyclic redundancycheck).These error correction/detect are according to certain rule unnecessary position (tediously long property) to be appended on transmission/canned data, and whether the code string of inspection transmission/storage meets this rule when decoding, carries out error correction or error detection according to this result.
But this code string that will utilize high efficiency of compression coding and obtain carries out error correction/detect the method for transmitting/store behind the coding, and the synchronous restoration methods that departs from synchronously that is difficult to take place with the codeword error that recovers owing to transmission line/medium makes up.As synchronous restoration methods, majority is to use and inserts the unique code that is called synchronous code that can decipher, when taking place to depart from synchronously, begins the method deciphered once more from the moment that detects synchronous code.
In order to make synchronous code become the unique code word that can decipher, the code word of the bit pattern identical with synchronous code must formation in the combination of other code words can not take place.But,, be difficult to constitute the code word of avoiding occurring a certain specific bit pattern, when the bit pattern identical occurring, because the erroneous detection of synchronous code will cause pseudo-synchronous with synchronous code usually in error correction/detect in the coding.
For fear of this problem; Be to use after carrying out error correction/detect coding; Judge and whether have the bit pattern identical in the code string with synchronous code; When having identical bit pattern, just the dummy data position is inserted in this packed format method through preventing that according to identical redundant rule elimination dummy data position puppet is synchronous in code translator according to a certain rule.But, during the media delivery through easy generation error code/storage code string, also possibly make a mistake, thereby cause new depart from synchronously or synchronously pseudo-in this insertion position.
In addition; When code string being carried out error correction/detect coding and inserting synchronous code, in the past, the last part between the synchronization zone that is clipped between synchronous code and the synchronous code; Should carry out error correction/the detect remainder of information encoded position in order to replenish; Must much insert the position and append on the code string, so code efficiency will reduce.
On the other hand, in order to improve error correction/detect ability, can improve the tediously long degree of transmission/canned data, still, if improve tediously long degree, then transmitting the needed figure place of identical information will increase.Therefore, improve error correction/when detecting ability, just need the higher transmission line of transmission rate, figure place that perhaps must canned data will increase.In addition, if transmission rate or memory capacity are identical, tediously long degree is high more, then can only transmit/store few information.Expeditiously image or sound are carried out compressed encoding and transmit/when storing, additional tediously long property if transmission/memory rate is identical, then must be carried out compressed encoding to few amount of information in order to improve anti-mistake property, thus will cause image quality or tonequality decline.
Therefore, as with still less tediously long degree and have the method for high anti-mistake property, the method that is called level coding is arranged.This is to big young pathbreaker's high efficiency of compression information encoded classification of image quality or tonequality influence, the error correction that error correction/ability that detects is high/detect coding through the big information of the influence of mistake being used tediously long Du Genggao according to mistake; And the not too big information of the influence of mistake is used that error correction/ability that detects is not too high but error correction that tediously long degree is little/is detected coding, with identical average tediously long degree than all identical error correction/improve when detecting coding methods of anti-mistake property of using.
For example; The mode of promptly the motion video signal of importing being carried out motion compensated prediction with the coded system of orthogonal transform combination and utilizing DCT (discrete cosine transform-Discrete Cosine Transform-) etc. that this prediction residual is carried out orthogonal transform at the motion compensated prediction of the high efficiency of compression coding that majority is used for motion video; When making a mistake; Use the error correction that error correction/ability that detects is strong/detect coding for the low ordered coefficients in the orthogonal transform coefficient of motion vector information that big image quality deterioration takes place or predicted residual signal, the high ordered coefficients in the orthogonal transform coefficient of the little predicted residual signal of the influence of mistake is used error correction a little less than error correction/the detect ability/detect coding.
In order to realize this level coding, in the way of the code string of output, must switch the error correction that error correction/ability that detects is different/detect coding.As switching the error correction that error correction/ability that detects is different/detect Methods for Coding, there is heading message to append to the method on the code string with expression error correction/the detect kind of coding.Figure 11 is that error correction/detect the example of the code string of coding is switched in expression behind the additional header, in this example, is to switch 2 kinds of error correction/detect coding FEC1 and FEC2.In title 1101~1104, insert the heading message of number of kind or the code word of expression error correction/detect coding.In code device, will carry out error correction/detect encoded code word to be arranged in after these heading messages, in code translator, heading message is deciphered, carry out error correction/the detect decoding of coding then.
But, switching error correction/detect in the Methods for Coding through additional this heading message, because additional header, with the figure place that increases code string that must transmission/storage.When image and sound being carried out high efficiency of compression coding and transmission/storage, divide ligancy to heading message, with the high efficiency of compression of minimizing image and the sound employed figure place of encoding, the result will cause the deterioration of image quality and tonequality.
As stated; Carry out error correction/when detecting coding for the code string that motion video signal etc. is carried out the high efficiency of compression coding, because bit pattern arbitrarily takes place, so; With error correction/detect coding when using the synchronous restoration methods combination of the unique synchronizing code that can decipher; Exist because that the erroneous detection of synchronizing code causes is synchronously pseudo-, even avoid pseudo-synchronous operation through inserting the dummy data position, also can be owing to the mistake of inserting the position take place by new depart from synchronously or pseudo-synchronous.
In addition, when code string being carried out error correction/detect coding and inserting synchronizing code, in the past; Decline between the synchronization zone should be carried out error correction/the detect remainder of information encoded position in order to supply; Must use a lot of positions of inserting, so code efficiency will reduce.
In addition; Switching the error correction that error correction/ability that detects is different/detect in the coding/decoding device of coding through additional header; Since additional header will increase must transmission/storage figure place, so, image and sound are being carried out high efficiency of compression is encoded and during transmission/storage; The amount of information of distributing to the information of image and sound will reduce, thereby will cause the reduction of image quality and tonequality.
Summary of the invention
The code device and the code translator of the synchronously pseudo-and problem that departs from synchronously that main purpose of the present invention aims to provide that the erroneous detection that can solve owing to synchronizing code causes.
Purpose more specifically of the present invention is, can solve because pseudo-code device and the code translator that reaches the problem that departs from synchronously synchronously that the erroneous detection of synchronizing code causes when being provided at error correction/detect coding with the synchronous restoration methods combination of using synchronizing code.
Other purposes of the present invention are, thereby can reduce the code device and the code translator of the insertion position raising code efficiency that the decline between the synchronization zone uses when being provided at error correction/detect coding with the synchronous restoration methods combination of using synchronizing code.
Another object of the present invention aims to provide and will switch to multiple error correction/detect code to the code string that the information of image and sound etc. is carried out high efficiency of compression coding and encode and transmit/minimizing must the additional representation error correction when store/detect code kind heading message and thereby the figure place of the code string that transmits/store can improve the code device and the code translator of the quality of information.
(1) of the present invention the first encoding apparatus comprising: an input code string encoded as constituting information bit and a check bit error correcting / detecting code unit and the synchronization code into the output code string a plurality of predetermined synchronization code inserting positions in a certain position while the configuration of the information bits to the code string of the arbitrary position, the above-described configuration of the check bit to the code string other than said synchronization code inserting position to a position combined into the output code string of the code string assembling unit.
1 of the present invention is characterized in that the decoding device: a ground based on the encoded information bits and check bits composed of an error correcting / detecting code of a code string in a plurality of predetermined synchronization code inserting positions detected synchronous synchronization code code detection unit, and extract the code string decomposition error correcting / detecting code of the information bits and disposed in the position other than the synchronization code inserting position of the error correcting / detecting code check bit code string decomposition unit and receiving by the decomposing unit code string extracted information bit and a check bit and the error correcting / detecting code decoding unit for decoding.
Like this; In the 1st coding/decoding device; Synchronizing code only is present in the synchronizing code insertion position that is predetermined of output code string, and the inspection position of error correction/detect code is present in beyond the synchronizing code insertion position, so; Even in the inspection position, comprise the bit pattern identical, can not be synchronizing code also with its erroneous detection with synchronizing code.Therefore; Insert etc. the position that needn't use the special error correction that prevents specific bit pattern/detect code or after error correction/detect coding, be used to prevent the sync form; So; Not only can increase employed error correction/detect the degree of freedom of code, and can not take place, thereby can improve anti-wrong ability owing to wrong sneaking into inserted the new synchronous detecting mistake that the position causes.
(2) the 2nd code device of the present invention is characterized in that: in the 1st code device, append the input code string beyond the synchronizing code that is arranged in a plurality of synchronizing codes insertion position that the output code string is predetermined is transformed to and make it and the Hamming distance of this synchronizing code code string converter unit more than or equal to the value that is predetermined; To carry out the code string input coding unit after the conversion by this code string converter unit, be encoded to the error correction that constitutes by information bit and inspection position/detect code.
The 2nd code translator of the present invention is characterized in that: in the 1st code translator, appended in the code string of being deciphered by decoding unit, to be present in and be transformed to the code string converter unit that is transformed to original code string with the Hamming distance of synchronizing code more than or equal to the code string beyond this synchronizing code at the place, synchronizing code insertion position of the value that is predetermined.
Like this, in the 2nd coding/decoding device, code device makes and the Hamming distance of the synchronizing code conversion process more than or equal to the value that is predetermined the bit string that is positioned at the synchronizing code insertion position; Code translator is through carrying out conversion in contrast to this, owing in bit string, do not comprise the bit pattern identical with synchronizing code, so, the erroneous detection of synchronizing code can not appear.In addition; If the conversion that the Hamming distance of synchronizing code and the code string beyond it is increased even mistake is sneaked in the code string, also can be distinguished synchronizing code and the code string beyond it; So, can reduce probability owing to the erroneous detection of the wrong synchronizing code that causes.
Because this conversion/inversion process is only carried out in the synchronizing code insertion position, so, compare with the method that has earlier of code string all being carried out conversion/inversion process, reduced operation bidirectional.In addition, in the input code string of code device input, needn't carry out in order to conversion process that the bit pattern identical with synchronizing code do not take place or use special code word.The Variable Length Code device that particularly will switch different code word tables and use is during as the input of this code device; If in the Variable Length Code device, make in order to the code word table of the packed format identical with synchronizing code not to take place; To cause the reduction of code efficiency; If but use the 2nd coding/decoding device, this problem can not take place just.
(3) the 3rd code device of the present invention is characterized in that: have with the code string of input be encoded to the coding unit of error correction/detect code, the synchronizing code that synchronizing code is inserted in the above-mentioned code string inserts the unit and judges and should be encoded to
The next-door neighbourThe judging unit of the figure place of the information of the error correction before the above-mentioned synchronizing code of above-mentioned code string/detect code, in above-mentioned coding unit, the figure place according to being judged by above-mentioned judging unit makes
The next-door neighbourError correction before the above-mentioned synchronizing code/detect code becomes the contracting of moving back of contracting with adapting to and moves back code.
The 3rd code translator of the present invention is characterized in that: have to be encoded to error correction/detect code and insert the decoding unit that the code string of synchronizing code deciphers, synchronizing code detecting unit and the judgement that detects the synchronizing code in the above-mentioned code string is encoded to
The next-door neighbourJudging unit in the above-mentioned code string by the figure place of the information of the error correction before the synchronizing code of synchronizing code detection/detect code; In above-mentioned decoding unit; According to the judged result of above-mentioned judging unit, discern error correction before the above-mentioned synchronizing code/detect code and whether move back the code row decoding of going forward side by side for contracting.
Like this, in the 3rd coding/decoding device, as
The next-door neighbourError correction before the synchronizing code/detect code; Be to use in order to stay last information bit between 1 synchronization zone and encode and contract and fall back on contracting of needed figure place and move back code; So; Needn't the decline between the synchronization zone use a lot of insertions position for the remainder of supplying information bit, thereby can improve code efficiency.
(4) the 4th code device of the present invention is characterized in that: have code string with the multiple information that comprises input and be encoded to the coding unit of error correction/detect code and switch above-mentioned error correction/the detect switch unit of the kind of code according to the kind of the information in the above-mentioned code string.
The 4th code translator of the present invention is characterized in that: have the code string that the kind according to information is encoded to different types of error correction/detect code and decipher and generate the decoding unit of original information and judge above-mentioned error correction/detect the kind of code and notify the notification unit of above-mentioned decoding unit according to the kind of the information that is generated by above-mentioned decoding unit.
Like this; In the 4th coding/decoding device; Switch error correction/detect code when carrying out coding/decoding according to the kind of information, in code device, through carry out error correction/the detect switching of code according to the kind of the information of the code string of being imported; Simultaneously; In code translator, judge that according to the information deciphered the kind of error correction/detect code carries out the switching identical with code device, just needn't use expression error correction/detect the heading message of the kind of code as in the past, thereby can eliminate the extra operation that heading message is brought.
(5) The encoding apparatus according to a fifth characterized in that: the output code will be located in a plurality of predetermined synchronization code inserting position and a predetermined number of bits before and after the synchronization code interval than the input code string is converted to the synchronization code, and the Hamming distance is greater than or equal to a predetermined value conversion unit code string by said code string converting unit for converting the code stream of encoded information bit and a check bit by constituting error correcting / detecting code The encoding unit and the synchronization code into said output code string a plurality of predetermined synchronization code inserting positions in a certain position while the configuration of the information bits to the output code string in any position of the bit configuration of the inspection to the code string other than said synchronization code inserting position into a position which allows a combination of the output code string of the code string assembling unit.
5 of the present invention is characterized in that the decoding device: a from the encoding by constituting information bit and a check bit error correcting / detecting code and insert a synchronization code in the code string in the predetermined synchronization code inserting position and after the a predetermined number of bits of the synchronization code section for detection of the synchronization code detecting means, extract the code string decomposition error correcting / detecting code of the information bits and disposed in the position other than the synchronization code inserting position of the error correcting / detecting check the code bit code string resolving means for receiving from the decomposition of the code string extraction unit and a check bit information bit and the error correcting / detecting code decoding unit for decoding and will be present in the decoding unit by the decoding the code string is converted into the synchronization code Hamming distance is greater than or equal to the predetermined value of the synchronization code inserting position and a predetermined number of bits before and after the interval of the synchronization code is converted into a code string other than the original code string code string conversion unit.
Like this; In the 5th coding/decoding device,, not only make and the conversion of the Hamming distance of synchronizing code more than or equal to the value that is predetermined in the interval of synchronization code inserting interval but also the figure place that is predetermined before and after it for the input code string; In code translator; Code string through to input carries out conversion in contrast to this, owing to do not comprise the bit pattern identical with synchronizing code in this interval, so; Even through position disappearance that the disappearance of a part of position takes place or the transmission/storage that adds a bit string that additional transmission route/medium has been encoded of unnecessary position; As long as disappearance/additional figure place is less than or equal to the figure place that is predetermined, just can distinguishes synchronizing code and the code string beyond it, thereby in code translator, can correctly carry out synchronous detecting.
(6) the 6th code device of the present invention is characterized in that: have to make input signal is carried out compressed encoding and multiple compressed code demultiplexing that obtains and the demultiplexing unit that generates the demultiplexing code string and above-mentioned demultiplexing code string is combined into the code string assembled unit of output code string as input, above-mentioned code string assembled unit is inserted in the above-mentioned output code string in advance the some positions in a plurality of synchronizing codes insertion position of decision periodically with synchronizing code.
At this moment; Because above-mentioned code string assembled unit is inserted into synchronizing code the some positions in a plurality of synchronizing codes insertion position that determines periodically in advance in the above-mentioned output code string; So; Carry out in this output code string, inserting filler or in above-mentioned output code string, being predetermined periodic a plurality of synchronizing codes insertion position; Insert the information (pointer information) on the border of the above-mentioned demultiplexing code string of indication simultaneously, synchronizing code is inserted into the some positions in above-mentioned a plurality of synchronizing codes insertion position.Like this, just, can synchronizing code only be inserted into the some positions in a plurality of synchronizing codes insertion position that determines periodically.
Here, the code that preferably can decipher uniquely from the opposite direction of output code string of filler.Like this, in code translator, the decoding end position through will being close to the code string before the filler and the starting position of filler compare, and just can be easy to detect the mistake in the input code string.
In addition, this filler preferably synchronizing code and and its part between Hamming distance more than or equal to the value that is predetermined.Like this, just, can reduce pseudo-synchronous probability of happening.
The 6th code translator of the present invention is characterized in that: thus have the synchronizing code detecting unit that detects the synchronizing code in the input code string, be that benchmark carries out contrary demultiplexing and handles the contrary demultiplexing unit that generates compressed code and the decoding unit of regenerated signal is deciphered and exported to above-mentioned compressed code with the position of the synchronizing code that from above-mentioned input code string, detects by above-mentioned synchronizing code detecting unit, and above-mentioned synchronizing code is detected in a plurality of synchronizing codes insertion position that in advance periodically determine of above-mentioned synchronizing code detecting unit in above-mentioned input code string.
Like this, in the 6th coding/decoding device, owing in code device, synchronizing code only is inserted into the synchronizing code insertion position that determines periodically in advance in the demultiplexing code string that makes multiple compressed code realization demultiplexing; So; In code translator, only carry out synchronous detecting in this synchronizing code insertion position just passable, compares with the mode that has earlier that synchronizing code is inserted into the position arbitrarily in the code string; Can reduce the number of times that synchronizing code detects; In addition, the bit string of importing code translator owing to bit-errors through the pseudo-synchronous probability of happening that is changed to the bit pattern identical and causes with synchronizing code along with the minimizing that this synchronizing code detects number of times reduces, so; Utilize the present invention to reduce and puppet takes place synchronously, thereby can reduce the calculation process amount of following synchronizing code to detect.
(7) the 7th code device of the present invention is characterized in that: except the structure of the 6th code device, and then also have code string beyond the above-mentioned synchronizing code with the above-mentioned synchronizing code insertion position that is arranged in above-mentioned output code string and be transformed to and make it and the Hamming distance of the synchronizing code code string converter unit more than or equal to the value that is predetermined.
The 7th code translator of the present invention is characterized in that: and then also have locate to be transformed to the code string converter unit that makes it to be transformed to more than or equal to the code string beyond this synchronizing code of the value that is predetermined with the Hamming distance of above-mentioned synchronizing code original code string in the above-mentioned synchronizing code insertion position of above-mentioned input code string.
Like this, in the 7th coding/decoding device, except the structure of the 6th coding/decoding device; Through the position of the mistake of having considered synchronizing code being inserted promptly the bit string that is positioned at the synchronizing code insertion position is carried out the conversion with the Hamming distance of synchronizing code; In bit string, do not comprise the bit pattern identical with synchronizing code, so, for the mistake below the figure place of anticipation; The erroneous detection of synchronizing code can be guaranteed can not take place, thereby the probability of synchronizing code erroneous detection can be reduced.
In the present invention; So-called synchronizing code; Be used for exactly recovering synchronously and be inserted into code string can unique decoding code; For example, be to make to realize the demultiplexing code string of demultiplexing if insert the code string of synchronizing code with carry out multiple compressed code behind the compressed encoding by the picture signal of frame unit's input, then synchronizing code is exactly the line of demarcation of presentation code frame or line of demarcation and other marginal codes of multiple compressed code.
As stated, if use the present invention, then can obtain following effect.
(1) according to the 1st coding/decoding device; Be present in the position beyond the synchronizing code insertion position through synchronizing code only being inserted into synchronizing code insertion position at regular intervals and making the inspection position of error correction/detect code that displacement take place; So; Even in the inspection position bit pattern identical with synchronizing code takes place; The bit pattern identical with synchronizing code can not take place in the synchronizing code insertion position carrying out the synchronizing code detection yet, thereby on principle, do not have the possibility of carrying out synchronous detecting by error fully.
In addition, for the code string that is positioned at the synchronizing code insertion position,, just can overcome such in the past difficulty that constitutes in order to the code word that the bit pattern identical with sync bit do not take place if carry out inserting in order to the position that pseudo-synchronizing code does not take place.
(2) according to the 2nd coding/decoding device; In code device, except the structure of the 1st code device,, the position of the mistake of having considered synchronizing code promptly the bit string that is arranged in the synchronizing code insertion position is used so that carry out conversion in contrast to this more than or equal to the conversion process of the value that is predetermined at code translator with the Hamming distance of synchronizing code through being inserted; In bit string, do not comprise the bit pattern identical with synchronizing code; So; Mistake for below the figure place of anticipation can guarantee can not take place the erroneous detection of synchronizing code, thereby can reduce the probability of the erroneous detection of synchronizing code.In addition,,, also can distinguish synchronizing code and its code string in addition even mistake is blended in the code string if carried out this conversion, so, probability can be reduced owing to the erroneous detection of the wrong synchronizing code that causes.
In addition, error correction/detect is carried out after being coded in and inserting the conversion of carrying out code word through the position, so, also carried out error protection to inserting the position.Therefore, compare, can reduce and insert a probability that makes a mistake in the position with a mode that has earlier of after carrying out error correction/detect coding, carrying out inserting the position.And, because only inserting, the position carries out in the synchronizing code insertion position, so, compare with a situation of in code string is all, carrying out inserting the position that has earlier, can reduce because a size of code that causes is inserted in the position increases, thus the raising code efficiency.
(3) according to the 3rd coding/decoding device; Because will be close to error correction before the synchronizing code/detect code conduct contracts and moves back code; So; Compare with the code device that has earlier, can reduce the position of the remainder that is used to supply information bit in the part of next-door neighbour before the synchronizing code and insert number, thereby can improve code efficiency.
(4) according to the 4th coding/decoding device; The demultiplexing rule of the high efficiency of compression code device through in code device, utilizing image and sound etc. is carried out the switching of error correction/detect code and in code translator, is judged error correction/detect the kind of code and carry out the switching identical with code device according to the information of decoding according to the information category of the code string of input; Just do not need additional representation error correction/the detect heading message of the kind of code; Can its figure place be distributed to the high efficiency of compression coding of image and sound; As a result, just can improve the information quality of image quality and sound etc.
(5) according to the 5th coding/decoding device; In code translator, the code string of input is carried out conversion in contrast to this more than or equal to the conversion of the value that is predetermined through in code device, the input code string not only being made with the Hamming distance of synchronizing code in the interval of synchronization code inserting interval but also the figure place that is predetermined before and after it, just can make not comprise the bit pattern identical with synchronizing code in this interval.Therefore; Even through position disappearance that the disappearance of a part of position takes place or the transmission/storage that adds a bit string that additional transmission route/medium has been encoded of unnecessary position; As long as disappearance/additional figure place is less than or equal to the figure place that is predetermined; Just can distinguish synchronizing code and the code string beyond it, thereby in code translator, can correctly carry out synchronous detecting.
(6) according to the 6th coding/decoding device; Owing in code device, synchronizing code only is inserted into the synchronizing code insertion position that determines periodically in advance in the demultiplexing code string that makes multiple compressed code realization demultiplexing; So; In code translator, only carry out synchronous detecting in this synchronizing code insertion position just passable, and the mode that has earlier that is inserted into the optional position in the code string with synchronizing code is compared, and can reduce the number of times that synchronizing code detects.
In addition; The minimizing that the bit string of importing code translator owing to bit-errors follows this synchronizing code to detect number of times through the probability that is changed to the bit pattern identical with synchronizing code and causes pseudo-synchronous generation reduces; So; If application the present invention, pseudo-synchronous generation could be reduced, thus also can reduce the calculation process amount of following synchronizing code to detect.
(7) according to the 7th coding/decoding device; Except the structure of the 6th coding/decoding device; Through the position of the mistake of having considered synchronizing code being inserted promptly the bit string that is positioned at the synchronizing code insertion position is carried out the conversion with the Hamming distance of synchronizing code, in bit string, do not comprise the bit pattern identical with synchronizing code, so; Mistake to below the figure place of anticipation can guarantee not take place the erroneous detection of synchronizing code, thereby can reduce the probability of synchronizing code erroneous detection.
Description of drawings
Fig. 1 is the block diagram of the structure of the expression embodiment of the invention 1 and 2 motion image coding device.
Fig. 2 is the figure of demultiplexing rule of Port Multiplier of the motion image coding device of presentation graphs 1.
Fig. 3 is the block diagram of structure of output encoder device of the motion image coding device of presentation graphs 1.
Fig. 4 is the figure of example of output code string of the motion image coding device of presentation graphs 1.
Fig. 5 is the figure of the example of expression synchronizing code.
Fig. 6 is the block diagram that the structure of encoding section is switched in the error correction/detect of the output encoder device of presentation graphs 3.
Fig. 7 is the block diagram of structure of code string combiner of the output encoder device of presentation graphs 3.
Fig. 8 is the block diagram of the structure of expression embodiments of the invention 1 and 2 moving picture decoding device.
Fig. 9 is the block diagram of structure of input code translator of the moving picture decoding device of presentation graphs 8.
Figure 10 is the block diagram of structure of code string decomposer of the input code translator of presentation graphs 9.
To be expression switch the figure of the example of the code string that code device obtains with the error correction that has earlier/detect code to Figure 11.
Figure 12 is that expression is used to explain that the position owing to transmission route of embodiments of the invention 2 adds/disappear the figure of the example of the synchronizing code that makes a mistake.
Figure 13 is the figure of action of position inserter that is used for Fig. 3 of illustrative embodiment 2.
Figure 14 is synchronizing indicator and the figure of the action of inserting the position remover that is used for Fig. 9 of illustrative embodiment 2.
Figure 15 is illustrated in to use frame length information to carry out the figure of the example of synchronous protective code string in embodiment 1 and 2.
Figure 16 is illustrated in to use frame length information to carry out the figure of other examples of synchronous protective code string in embodiment 1 and 2.
Figure 17 is illustrated in to use frame length information to carry out the figure of another other examples of synchronous protective code string in embodiment 1 and 2.
Figure 18 is the block diagram of the structure of the expression embodiment of the invention 3 and 4 motion image coding device.
Figure 19 is the block diagram of structure of output encoder device of the motion image coding device of the expression embodiment of the invention 3.
Figure 20 is the figure of example of output code string of the motion image coding device of the expression embodiment of the invention 3.
Figure 21 is the block diagram of the structure of the expression embodiment of the invention 3 and 4 moving picture decoding device.
Figure 22 is the block diagram of structure of input code translator of the moving picture decoding device of the expression embodiment of the invention 3.
Figure 23 is the block diagram of structure of output encoder device of the motion image coding device of the expression embodiment of the invention 4.
Figure 24 is the block diagram of structure of input code translator of the moving picture decoding device of the expression embodiment of the invention 4.
Figure 25 is the block diagram of example of output code string of the motion image coding device of the expression embodiment of the invention 4.
Figure 26 is the regular figure of demultiplexing of the Port Multiplier of expression motion image coding device.
Figure 27 is the block diagram of example of output code string of the motion image coding device of the expression embodiment of the invention 5.
Figure 28 is the figure of other examples of demultiplexing of the Port Multiplier of expression motion image coding device.
The figure of Figure 29 output code string that to be expression handle each synchronizing code when carrying out demultiplexing and handling shown in Figure 28.
Figure 30 is the figure of code table of the example of the expression filler that is used to explain that the present invention uses.
Figure 31 is the figure of the processing of the code translator when being used to explain the filler that uses Figure 30.
Figure 32 is the figure of characteristic of the filler of explanation Figure 30.
Figure 33 is the figure of the example of the output code string of expression when making synchronizing code insert at interval less than synchronizing code.
Figure 34 is the figure of the example of the expression synchronizing code that uses different length.
Figure 35 is the figure of example of output code string of the motion image coding device of the expression embodiment of the invention 6.
Embodiment
Below, with reference to the description of drawings embodiments of the invention.
(embodiment 1)
Fig. 1 be the expression code device that will have error correction of the present invention/detect a code handoff functionality with use motion compensation adaptive prediction and orthogonal transform coding a kind of be the block diagram of the embodiment 1 of the motion image coding device that makes up of the high efficiency of compression code device of discrete cosine transform coding.Regard to the motion-compensated adaptive prediction and discrete cosine transform coding combinations encoding, because, for example Document 1: Yasuda Hiroshi ed, "ma Hikaru チ and Television イ ア symbolic Full international standards", Maruzen, (the 1991 June), etc. in detail description, so here only shows an overview of action.In addition, the code that is separated into information bit and inspection position is adopted in the error correction of using in the present embodiment/detect code as BCH code.
In Fig. 1, carry out the motion compensation adaptive prediction by zonule units such as macro blocks earlier with the input motion picture intelligence 131 of the coded object of frame unit input.Promptly; In motion compensation adaptive predictor 101; Detect the motion vector between the picture signal of encoding of storing in input motion picture intelligence 131 and the frame memory 102/partial decode, make prediction signal 132 through motion compensated prediction according to this motion vector.In this motion compensated predictor 101, select motion compensated predictive coding and intraframe coding (prediction signal=0) that input motion picture intelligence 131 is directly encoded in the utmost point be suitable for the predictive mode of encoding and using and the corresponding prediction signal 132 of output.
On the other hand, the predictive mode of decision and the information of motion vector are carried out Variable Length Code by the 2nd variable length coder 110 in motion compensation adaptive predictor 101.Port Multiplier 111, realize demultiplexing from the variable length code (compressed code) of the 1st, the 2nd variable length coder 106,110 outputs, become demultiplexing code string 201.
From the FEC kind identification signal 202 of the kind of Port Multiplier 111 output demultiplexing code string 201, the expression error correction corresponding/detect code with require the synchronizing code insertion of the insertion of synchronizing code to require signal 203 with it.
These code strings 201, FEC kind identification signal 202 and synchronizing code insert the output encoder device 200 that requires signal 203 inputs that code string 201 is switched to the different multiple error correction of the error correction/ability that detects/detect code and encode, and generate final output code string 205.In the present embodiment, output encoder device 200 is suitable with code device of the present invention.
Fig. 2 is the figure that realizes the flow process of demultiplexing in the expression Port Multiplier 111.Demultiplexing is that unit carries out with the coded frame.At first, make synchronizing code 301 realize demultiplexing.When synchronizing code 301 is realized demultiplexing, require signal 203 from Port Multiplier 111 output synchronizing codes insertions, and notice code device 200 has realized that the code word of demultiplexing is a synchronizing code.Secondly, make the image header 203 realization demultiplexings of demultiplexing code string 201 being represented the various coding modes of these coded frame.Then; Make the prediction mode information 303 of the predictive mode of each regional motion compensation adaptive predictor MC of expression realize demultiplexing; And then make the DCT coefficient (below, be referred to as residual error DCT coefficient) 305 of motion vector information 304 and predicted residual signal realize demultiplexings.When making image header 302, prediction mode information 303, motion vector information 304 and residual error DCT coefficient 305 realize demultiplexings, export corresponding with them respectively expression error correction/the detect FEC kind identification signal 202 of the kind of code.
If sneaked into mistake,, use the error correction that error correction/ability that detects is high/detect code for image quality image header 302, prediction mode information 303 and the motion vector information 304 of deterioration greatly.On the other hand, just residual error DCT coefficient 305 is 0 can prevent big image quality deterioration through detecting this mistake and making residual error when sneaking into mistake, so error correcting capability needn't be too high, as long as it is just passable merely to carry out error detection.
Fig. 3 is the block diagram of the structure of the output encoder device 200 in the presentation graphs 1.This output encoder device 200 switches encoder 212 by position inserter 211, error correction/detect and code string combiner 213 constitutes.In addition, Fig. 4 is the figure of expression by an example of the output code string 205 of output encoder device 200 generations.In Fig. 4, PSC is a synchronizing code, and PH is an image header, and MODE is a prediction mode information, and MV is a motion vector information, and CHK is error correction/detect the inspection position of code, and COEF is a residual error DCT coefficient, and STUFF is filler (inserting the position).This output code string 205 has following characteristic.
(1) synchronizing code PSC only is inserted into by the some positions in the synchronizing code insertion position shown in the arrow of (every at a distance from the sync_period position) configuration at certain intervals.The length of sync_period is greater than the length of synchronizing code PSC and the maximum length of inspection position CHK.Inspection position CHK is displaced to before next-door neighbour's synchronizing code insertion position.
(2) 1 frames promptly are clipped in back-page error correction between 1 sync period between synchronizing code PSC and the next PSC/detect code; Move back code as only staying contracting that last information bit encodes; In order to check that a CHK is (in the example of Fig. 4; Be CHK6) displacement, carry out the position of the filler STUFF of required figure place and insert.
(3) in the output code string 205 of Fig. 4, there are not expression error correction/the detect kind of code and the FEC kind identification signal of quantity.
In this output code string 205, as above-mentioned (1), owing to check the displacement of a CHK, so inspection position CHK is not input to the synchronizing code insertion position shown in the arrow, therefore, fully can not be because inspection position CHK takes place synchronously pseudo-.In addition, as above-mentioned (2), carry out the last error correction of frame/when detecting coding, in the technology that formerly has; Must insert a lot of positions (dummy data position) of inserting, still, in the present embodiment; Because the becoming at last to contract of frame moves back code, so it is seldom just much of that to insert figure place.In addition, as above-mentioned (3), owing in output code string 205, do not comprise expression error correction/the detect kind of code and the heading message of quantity, so, do not cause the increase of size of code thus.
Below, will specify the structure and the action of output encoder device 200 of Fig. 3 of this output code string 205 of generation from the output code string 205 of the demultiplexing code string 201 of Fig. 2 of Port Multiplier 111 output and Fig. 4 accordingly.
When synchronizing code 301 has been realized demultiplexing by Port Multiplier 111, as previously mentioned, just export the synchronizing code insertion and require signal 203.Synchronizing code 301 that kind as shown in Figure 5 is made up of " 0 " of for example sync_0_len position, 1 " * * * * * " of sync_nb_len position of kind of " 1 " and expression synchronizing code 301.Output encoder device 200 receives from the synchronizing code 301 of Port Multiplier 111 output and synchronizing code and inserts when requiring signal 203, just exports synchronizing codes (PSC) from code string combiner 213 as output code string 205.
Here; As shown in Figure 4, because synchronizing code 301 can only be inserted into the every synchronizing code insertion position that disposes at a distance from the sync_period position in the output code string 205, so; When the end of the output code string 205 that is generated before this is not positioned at the synchronizing code insertion position; That kind is as hereinafter described just inserted filler STUFF, so that synchronizing code 301 arrives the synchronizing code insertion position.
When synchronizing code 301 outputed in the output code string 205, later image header 302, prediction mode information 303, motion vector information 304, residual error DCT coefficient 305 were just encoded as follows.At first, for demultiplexing code string 201, be used to prevent pseudo-synchronous position in the inserter 211 on the throne and insert from Port Multiplier 111 outputs.That is, can not synchronizing code 301 be deciphered uniquely when preventing in output code string 205, to have the identical bit pattern of code word with synchronizing code 301, carry out the position as required and insert.For example; If synchronizing code 301 that kind as shown in Figure 5 become " 0 " continuous code word of sync_0_len position; 0 more than the sync_0_len position can not arranged continuously as long as insertion " 1 " makes in the code string beyond synchronizing code 301, just can prevent synchronously pseudo-.
As previously mentioned, because 301 of synchronizing codes are inserted into the synchronizing code insertion position, so, be used to prevent that position that this puppet takes place synchronously from inserting operation and only having carried out just in the synchronizing code insertion position.Therefore, the count value 221 of the total bit of the output code string 205 that is so far generated from code string combiner 213 output expression judges whether that according to count value 221 needs carry out position insertion by position inserter 211.The total bit of the output code string 205 that design value 221 has promptly generated is total_len, then exists
0<total_len?mod?sync_period≤sync_0_len
The interval, the number of " 1 " in the counting demultiplexing code string 201 if do not have " 1 " fully in this interval, just inserts 1 " 1 ".Remainder when here, A mod B representes to remove A with B.
In addition, the probability for the erroneous detection that reduces the synchronizing code 301 that mistake causes can carry out the position and insert as the following stated.
When the n bit-errors is sneaked into synchronizing code 301, in order to detect synchronizing code 301, in the back in the input code translator of described moving picture decoding device, must judge with the Hamming distance of genuine synchronizing code be synchronizing code smaller or equal to the code word of n.But; If when the code string beyond the synchronizing code 301 is directly carried out this judgement; In the code string beyond the synchronizing code 301, also exist sometimes and the Hamming distance of synchronizing code bit pattern smaller or equal to n; Thereby will think that it is positioned at the synchronizing code insertion position by mistake, and it is judged to be synchronizing code 301.
Therefore; Insert through by following mode demultiplexing code string 201 being carried out the position in the inserter 211 on the throne, will be arranged in the Hamming distance that code string beyond the synchronizing code of synchronizing code insertion position of demultiplexing code string 201 is transformed to synchronizing code 301 becomes the value more than or equal to 2*n+1.Particularly,
Be exactly
0<total_len?mod?sync_period≤sync_0_len-(2*N+1)
The interval, the counting " 1 " number (establish=n0), if n0 smaller or equal to 2*n+1, just " 1 " with the 2*n+1-n0 position is inserted in the demultiplexing code string 201.
Like this, the code string 222 that carries out in the inserter 211 on the throne after insert the position is just imported error correction/detect code switching encoding section 212 with the FEC kind identification signal 202 of expression error correction/the detect kind of code.
Fig. 6 is the block diagram that error correction/the detect code in the presentation graphs 3 switches the structure of encoding section 212.Latch cicuit 603 is the circuit that latch FEC kind identification signal 202; Finish synchronizing code when thereby the output synchronizing code insertion of demultiplexing code string 201 requires signal 203 to stop from Port Multiplier 111; FEC kind identification signal 202 is latched, and latched signal 623 is supplied with error correction/detect encoder 604.
Error correction/detect encoder 604 carries out error correction/detect coding according to the code strings 222 of 623 pairs of inserter 211 outputs from the position of latched signal, generates and output information position 631 and inspection position 632.In addition, error correction/detect encoder 604 finishes 1 error correction/when detecting coding, and what just output indication latch cicuit 603 latched next FEC kind identification signal 202 latchs index signal 625.Latch cicuit 603 latchs index signal 625 according to this and latchs, and latched signal 623 is supplied with error correction/detect encoder 604.
In output encoder device 200, carry out above-mentioned action repeatedly; Code string 222 after inserting from the position of position inserter 211 output switches encoder 212 according to carry out error correction/detect the switching of code from the FEC kind identification signal 202 of Port Multiplier 111 outputs by error correction/detect, and carries out error correction/detect coding simultaneously.FEC kind identification signal 202 is owing to only latched by latch cicuit 603 in the moment of 1 error correction/the detect end-of-encode of code, so, before this switching point, can use identical error correction/detect code.For example; Use FEC1, prediction mode information 303 to use the such error correction of FEC2/when detecting code in image header 302; If the figure place of image header 302 is lacked than 1 the information digit of FEC1; Then, before reaching the information digit of FEC1, can use FEC1 as the error correction of follow-up prediction mode information 303/detect code.
Fig. 7 is the block diagram of the structure of the code string combiner 213 in the presentation graphs 3.This code string combiner 213 is made up of the switch controller 704 of the counter 701 of the figure place of counting output code string 205, temporary transient storage inspection position 632 and the buffer 702 of figure place, the switch 703 that switches output code string 205 and control switch 703.
Counter 701 inserts the value that is reset to the long sync_len of synchronizing code when requiring signal 203 at the input synchronizing code, from the next bit of synchronizing code to importing the counting that makes progress till the next synchronizing code in proper order.After the synchronizing code input, switch moves with output information position 631 before 632 inputs in initial inspection position.During input checking position 632, just store in the buffer 702, simultaneously its figure place (inspection figure place) 711 exported to switch controller 704 from buffer 702.
Switch controller 704 is according to the count value 221 of inspection figure place 711 sum counters 701, and foregoing such control switch 703 usefulness are not so that inspection position 632 can output to the inspection bit shift of synchronizing code insertion position.For example, design value 221 is that bit_count, inspection figure place 711 are check_len, then exists
bit_count?mod?sync_period<sync_period-check_len
The time with regard to output information position 631,
sync_period-check_len≤total_bits?mod?sync_period<sync_period
The time with regard to the inspection position 713 of output buffer 702 storage.After, just input information position 631 and inspection position 632 are carried out above-mentioned processing repeatedly.
In the code string combiner 213 of Fig. 7, with information bit 631 output to last after, generator 705 switches to input from the position with switch 703, carries out that insert the position so that the inspection position 713 of buffer 702 storages is configured to before the next synchronizing code of next-door neighbour.If the count value 221 of the counter 701 when exporting the last information bit 631 of 1 frame is for total_len, the figure place of the inspection position 632 of output is last_check_len at last, several stuffing_len that then should insertion become
stuffing_len=sync_period-last_check_len-(total_lenmod?sync_period)
Not using contracts when moving back yard, just carries out the position of insufficient section (info_len-last_info_len) position of the common information bit info_len of last information bit last_info_len and inserts, and in addition, also must be used to make the position of inspection bit shift to insert.Therefore, contract with use and to compare when moving back yard, must carry out a lot of insertions of info_len-last_info_len+ (info_len-last_info_len) mod sync_period position.
Code string combiner 213 like this through switch 703 to output code string 205 output information positions 631 with insert the position after, switch to inspection position 713 at last, to 205 outputs of output code string.
Below, the moving picture decoding device of present embodiment is described.
Fig. 8 is the block diagram of the structure of the expression moving picture decoding device corresponding with the motion image coding device of Fig. 1., be input to as input code string 205 ' and import in the code translator 800 through after the transmission/storage systems from the output code string 205 of the moving picture decoding device of Fig. 1 output.In the present embodiment, input code translator 800 is suitable with code translator of the present invention.
In input code translator 800; According to switching error correction/detect code from the FEC kind identification signal 802 of the expression error correction of follow-up contrary Port Multiplier 811 output/the detect kind of code, output is through error correction/detect code string 801, synchronizing code detection signal 803 and the error detection signal 804 of decoding.Contrary Port Multiplier 811 input these code strings 801, synchronizing code detection signal 803 and error detection signal 804 are separated and prediction of output residual error code 841 and motion compensation adaptive prediction message code 842.
Prediction residual code 841 is imported the 1st and the 2nd variable length decoder 806 and 810 respectively with motion compensation adaptive prediction message code 842.After the residual error DCT coefficient of being deciphered by the 1st variable length decoder 806 831 is undertaken by inverse quantizer 807 that re-quantization is handled and is carried out a series of processing such as inverse discrete cosine transform by inverse DCT device 808; Output by adder 809 and motion compensation adaptive predictor 801 is 832 additions of motion compensation adaptive prediction signal, becomes reproduced picture signal 850.Reproduced picture signal 850 is output outside device, records simultaneously in the frame memory 820.Motion compensation adaptive prediction information input motion compensation adaptive predictor 801 by the 2nd variable length decoder 810 is deciphered generates motion compensated prediction signal 832.
Above-mentioned processing is and regenerate the accordingly processing of motion video of the motion image coding device of Fig. 1; The processing that inverse quantizer 807, inverse DCT device 808, adder 809 and frame memory 820 carry out; The implementation method of the processing of carrying out with inverse quantizer 107, inverse DCT device 108, adder 109 and the frame memory 102 of Fig. 1 respectively also has condition of different; But, be identical basically.In addition; The processing of the 1st and the 2nd variable length decoder 806,810, contrary Port Multiplier 811 and input code translator 800 is respectively the opposite processing of processing that variable length coder 106,110, Port Multiplier 111 and output encoder device 200 with Fig. 1 carry out except mistake is sneaked into the situation of code string.
Fig. 9 is the block diagram of the structure of expression input code translator 800.This input code translator 800 by the counter 902 of the figure place of the synchronizing indicator 901 that detects the synchronizing code in the input code string 205 ', counting input code string 205 ', input code string 205 ' be decomposed into the code string decomposer 903, error correction of information bit 912 and inspection position 913 and output/detect decoder 904 and insert position remover 905 constitute.
In synchronizing indicator 901, according to 911 detections of carrying out synchronizing code in the synchronizing code insertion position of count value of counter 902.For example, the sync_period, count value 911 that be spaced apart that establishes the synchronizing code insertion position is sync_len for the length of bit_count, synchronizing code, just only carries out
0<bit_count%sync_period≤sync_len
The time synchronous detecting.
Here, also can consider the detection of synchronizing code of the mistake of synchronizing code.
In the position inserter 211 in the output encoder device 200 in Fig. 3; If consider the mistake below the n position; Carry out so that insert the code string conversion that causes away from position for 2*n+1 with the Hamming distance of synchronizing code; Be judged to be synchronizing code even will be less than or equal to the code of n,, the mistake synchronous detecting just can not take place so long as the mistake below the n position is sneaked into the Hamming distance of genuine synchronizing code.
Figure 10 is the block diagram of the structure of expression code string decomposer 903.Input code string 205 ' switches to information bit 1021 and inspection position 913 by the 1st switch 1002 of described controller 1001 controls in back.During from the 1st switch 1002 output information positions 1021, this information bit 1021 stores information bit length in the buffer 1004 into through 1003 of the 2nd switchs.Counter 1005 countings are from the output figure place of the 2nd switch 1003 outputs.The count value 1023 of this counter 1005 is compared by comparator 1006 and information bit length 1024 from error correction/detect code information follower 1007 outputs; Both just reset counter 1005 when consistent; Simultaneously will represent that by latch cicuit 1008 the FEC kind identification signal 802 of error correction/the detect kind of code latchs, and then from buffer 1004 output information positions 912.The output 914 input error correction of latch cicuit 1008/detect code information output circuit 1007 is simultaneously to the error correction shown in Fig. 9/detect decoder 904 outputs.
As previously mentioned, the inspection position of error correction/detect code is shifted, and gets into the error correction at rear in the code string 205/detect between the information bit of code.Controller 1001 carries out the control that separates with information bit in order to the inspection position that will carry out displacement.During the end of input of the information bit of 1 error correction/detect code, count value 1023 is just consistent with information bit length 1024 in comparator 1006.Controller 1001 receives should the unanimity signal, from error correction/detect information follower 1007 to be taken into inspection bit length 1025, calculates the inspection bit position that gets between the next information bit.If the count value of the input figure place of the code string 205 ' when being judged to be unanimity by comparator 1,006 911 is check_len for bit_count, inspection bit length, then inspection position starting position check_start just becomes
Check_start=(bit_count/sync_period+1) * sync_period-check_len, inspection position end position check_end just becomes
check_end=(bit_count/sync_period+1)*sync_period。Controller 1001 control switch 1002 outgoing inspection positions 913 between count value 911 is from check_start to check_end.
Move back sign indicating number and carry out error correction/detect coding owing to contract in the last usefulness of 1 frame, so, carry out special processing.When reaching 1 frame last, detect the signal 803 of the synchronizing code of next frames from synchronizing indicator 901 output expressions.Controller 1001 receives these signals 803, calculates the last error correction of 1 frame/detect the inspection bit position of code and the not enough figure place of information bit.If the count value 911 of the count value 911 of figure place of code string 205 ' of input that begins to import the last error correction of 1 frame/when detecting code during for the end of input of the code string 205 ' of pre_last_count, 1 frame for total_count, handle count value constantly 911 and be last_check_len, be pre_last_check_len than the inspection bit length of its previous error correction/detect code for the inspection bit length of the last error correction of bit_count, 1 frame/detect code.At first, the computing error correction code is to contract to move back the insufficient section of crossing of yard information bit that causes with carrying out the position to insert.In the last error correction of 1 frame/detect in the information bit of code, the figure place last_info_len that is included in the output code string 205 is exactly
last_info_len=total_count-last_check_len-pre_last_count-pre_last_check_len。At last_info_len in short-term than the message length info_len of error correction code; Just being judged to be contracts moves back sign indicating number; Count value 1023 is switched to from inserting the bit combination pattern of position generator 1015 outputs by switch 1021 till from last_info_len to info_len, supplies the insufficient section that moves back the information bit that causes owing to contracting.Identical from this bit pattern of inserting insertion position generator 705 generations Fig. 7 of carry-out bit packed format and encoder of position generator 1015 outputs.
On the other hand, when last_info_len is longer than info_len, just be judged to be an insertion portion, become the part more than the info_len, just output information position 912 not for count value 1023.For the inspection position, just controlling switch 1002 will
total_count-check_len<bit_count≤total_count
The time output code string 205 export as inspection position.
Error correction/detect decoder 904 to import information bit 912 and inspection position 913 from 903 outputs of code string decomposer; The FEC kind identification signal 914 of the expression error correction of latching according to the latch cicuit 1008 by Figure 10/the detect kind of code is carried out error correction/detect the decoding of code, and the code string 915 and error detection signal 804 of error correction have been carried out in output.
Carry out code string 915 inputs of error correction and inserted position remover 905.Insert position remover 905 and remove the processing of the insertion position that is used to prevent the pseudo-synchronous signal that the position inserter 211 by output encoder device 200 inserts.As previously mentioned,, the position carries out in synchronous insertion position because only inserting, so, judge synchronous insertion position according to the count value 911 of counter 902.
For example; If synchronize code words is a code word shown in Figure 5; In the inserter 211 on the throne to " 0000... " of the initial sync_len position of synchronizing code part carry out the position insert with so that with the Hamming distance of synchronizing code away from 2*n+1 when above; The number that just begins to count " 1 " of sync_0_len-(2*n+1) position from the synchronizing code insertion position (is established=n0), if n0 is less than or equal to 2*n+1, just delete the 2*n+1-n0 position.But, be " 1 " owing to insert the position decision, so, be judged to be the position during of inserting the position by inserting position remover 905 for " 0 ", just think that mistake has been blended into synchronization code inserting interval, at this moment, just export error detection signal 804.
As stated, the code string 801 by 800 decodings of input code translator carries out contrary demultiplexing processing by contrary Port Multiplier 811.Here it is with the code word separation of process demultiplexing processing shown in Figure 2 and the operation of output.Should move linkedly against Port Multiplier 811 and the 1st and the 2nd variable length decoder 806 and 810.
At first, during from output code translator 800 input synchronizing code detection signals 803, contrary Port Multiplier 811 just shifts the initial condition of handling for frame.Secondly, as expression error correction/the detect FEC kind identification signal 802 of the kind of code, output is to the error correction of image header/detect the kind of code, and input code string 801 is deciphered image header 302, and judging in the image header has inerrancy.When not having mistake, just output is to the error correction of prediction mode information 303/detect the kind of code as FEC kind identification signal 802, and input code string 801 carries out contrary demultiplexing to prediction mode information and handles, and to 810 outputs of the 2nd variable length decoder.
When the 2nd variable length decoder 810 is deciphered all prediction mode information, just represent the signal of these situation to contrary Port Multiplier 811 outputs.Contrary Port Multiplier 811 receives these signals, and the output expression begins to carry out the contrary demultiplexing processing of motion vector information 304 to the error correction of motion vector information 304/detect the FEC kind identification signal of the kind of code.The motion vector information that has carried out contrary demultiplexing processing is deciphered to 810 outputs of the 2nd variable length decoder.When the decoding of all motion vector informations finishes; From the signal of the 2nd variable length decoder 810 to contrary Port Multiplier 811 these situation of output expression; Contrary Port Multiplier 811 receives these signals, and the output expression is to the error correction of residual error DCT coefficient 305/detect the FEC kind identification signal of the kind of code, simultaneously; Residual error DCT coefficient 305 is carried out contrary demultiplexing handle, and to 806 outputs of the 1st variable length decoder.By the 1st variable length decoder 806 this residual error DCT coefficient 305 is deciphered.
As stated, error correction/detect the kind of code, basis is judged with the identical demultiplexing rule of output encoder device 200 decisions in contrary Port Multiplier 811.Therefore, the heading message etc. of the kind of expression error correction/detect code is included in the output code string 205.
In error correction/detect in the decoder 904, utilize error detection code detection mistake to be blended into the situation in the input code string 205 ' sometimes.In addition, as previously mentioned, also detect the mistake of inserting the position sometimes with inserting position remover 905.At this moment, from input code translator 800 output error detection codes 804.In addition, in the processing of variable length decoding, during the code word that in detecting the codewords of variable length table, do not have, also be judged to be and sneaked into mistake.In addition, in the contrary demultiplexing of contrary Port Multiplier 811 is handled, when judging the part that the rule of violating demultiplexing is arranged, also be judged to be and sneaked into mistake.At this moment, input code translator 800 and contrary Port Multiplier 811 carry out following processing in order not make reproduced picture produce big deterioration.
When (1) in residual error DCT coefficient, detecting mistake, be 0 with regard to the residual error that makes this part.When selecting the in-line coding pattern as predictive mode, also can according to regenerate frame and around the reproduced picture signal estimation in zone should the zone the reproduced picture signal.
When (2) in prediction mode information and motion vector, detecting mistake; Can according to around prediction mode information and the motion vector information in zone just use these information when inferring this regional prediction mode information and motion vector information, in the time of can not inferring just according to regenerated frame and around the reproduced picture signal estimation in zone should the zone the reproduced picture signal.
When (3) in image header, detecting mistake, if directly with its decoding, very large image quality deterioration just possibly take place, so, just directly with the reproduced picture of former frame reproduced picture as present frame.
In the processing of above-mentioned (1), (2), (3), owing to using Variable Length Code to feed through to the follow-up code before the next synchronizing code, just this part is also carried out same processing.
In above-mentioned explanation; 901 examples that (every at a distance from the sync_period position) carries out the detection of synchronizing code in the synchronizing code insertion position of synchronizing code detector have been represented; But, because the disappearance of position or the insertion of error bit also can take place in the influence of transmission/medium sometimes.At this moment, carry out the detection of synchronizing code beyond also can be, and the location determination that will detect synchronizing code is the synchronizing code insertion position in the synchronizing code insertion position.
(embodiment 2)
Below, with reference to Figure 12~Figure 14 embodiments of the invention 2 are described.Even thereby thereby the motion image coding device of present embodiment and moving picture decoding device make the part disappearance of bit string reduce figure place or add unnecessary position the transmission route/medium that increases figure place carries out the transmission/storage of code string, also can carry out synchronous detecting reliably.
Figure 12 be expression have this position additional/block diagram of the principle of the processing of synchronous detecting when disappearing.Here, shown in Figure 12 (a), correct synchronizing code is made up of " 0 " of sync_0_len position and 1 " 1 "." * " among Figure 12 is the position beyond the synchronizing code.
How synchronizing code changes because the position adds/disappears in Figure 12 (b)~(e) expression.Here, the figure place (Nid) of additional/disappearance is 1 to the maximum.(b) be the situation that 1 deletion takes place in the bit string before the synchronizing code, all synchronizing codes are to 1 of reach.(c) be 1 the additional situation that in the bit string before the synchronizing code, takes place, all synchronizing codes move 1 backward.(d) be the situation that the position deletion takes place in synchronizing code, from figure the position of arrow extract out the position begin the back to 1 of reach.In addition, (e) be 1 the additional situation that in synchronizing code, takes place, in the drawings the additional position, position of arrow take place 1 additional, its back move 1 backward.
Even also can correctly detect synchronously for an additional/disappearance takes place, must the bit string shown in Figure 12 (b)~(d) also be judged to be synchronizing code.Can know by Figure 12, correct synchronizing code insertion position ± figure place of " 1 " that comprises in the scope of Nid position is to the maximum
sync_0_len-3*Nid
The position.Therefore, the decoding side the synchronizing code insertion position ± carry out synchronous detecting in the scope of Nid position, be less than or equal to above-mentioned value if be included in the figure place of " 1 " in this interval, just can be judged to be synchronizing code.In addition, in code device, the bit pattern of Figure 12 (b)~(d) in order to not take place in the conversion of carrying out code string.
Below, be that this code device/code translator is explained at the center with difference with embodiment 1.
All structures of the motion image coding device of the motion image coding device of embodiment 2 and embodiment 1 are identical, and still, the action of the position inserter 211 among Fig. 3 is different.The action of position inserter 211 is shown in Figure 13.Promptly; In the inserter 211 of the position of embodiment 1; Only carry out the position and insert operation at synchronization code inserting interval; But, in the inserter 211 of the position of embodiment 2, though for the position that maximum Nid position takes place additional/disappear and the bit pattern identical with synchronizing code do not take place yet and carry out position insertion in the interval of synchronization code inserting interval ± Nid position.
If the count value of Fig. 3 221 is the sync_period that is spaced apart of total_len, synchronizing code insertion position, position inserter 211 countings from
Total_len mod sync_period=sync_period-Nid (mod: the residue computing)
Arrive
total_len?mod?sync_period=symc_0_len-1-3*Nid
The interval " 1 " number (establish=n0), if n0, just inserts " 1 " of 3*Nid+1-n0 position less than 3*Nid+1.
In Figure 13, the action example of the position inserter 211 when showing sync_period=12, sync_0_len=9, Nid=1.In this example, because n0=2, so, " 1 " of insertion 3*Nid+1-n0=2 position.
Like this, insert, just guaranteed that the number of " 0 " of synchronization code inserting interval ± Nid position is more than or equal to the 3*Nid position, thereby can be identified as synchronizing code uniquely through carrying out the position.
On the other hand, the moving picture decoding device of embodiment 2 is identical with all structures of embodiment 1, and still, the synchronizing indicator 901 among Fig. 9 is different with the action of inserting position remover 905.The action of inserting position remover 905 is shown in Figure 14.
That is, in synchronizing indicator 901, even for the position that maximum Nid position takes place additional/disappear and also can detect synchronously, in the scope of the front and back ± Nid position of synchronizing code insertion position, carry out the detection of synchronizing code.
At first, each synchronizing code insertion position is judged whether to exist synchronizing code.That is, the count value 911 of establishing counter 902 is bit_count, counting from
bit_count?mod?sync_period=sync_period-Nid
Arrive
bit_count?mod?sync_period=sync_0_len-1+Nid
Between " 0 " number (establish=ns0), if n0 is less than or equal to 3*Nid, just judging has synchronizing code in this interval.
In the action of Figure 14, the example when showing sync_period=12, sync_0_len=9, Nid=1.In this example, the number of counting " 0 " (bit_count mod sync_period) from " 1 " to " 8 ".In the example of Figure 14, because ns0=2, so, be judged to be synchronizing code.
Secondly, be judged to be the synchronization code inserting interval of synchronizing code, judging that code string has been shifted several owing to the position adds/disappears.When being the sync_0_len position of that kind shown in Figure 14, just from the position judgment shift amount of last " 1 ".Particularly, be exactly to judge interval beginning from synchronizing code, explore since the sync_0_len+1 position and see " 1 " that is positioned at, according to judging that from this synchronizing code which position (establishing=the first_1_pos position) interval beginning is positioned at, and asks
Displacement figure place=first_1_pos-(sync_0_len+1+Nid)
(when equaling negative value, expression shifts forward, equal on the occasion of the time, the expression to backward shift)
In the example of Figure 14, because first_1_pos=10, so,
Displacement figure place=10-(9+1+1)=-1
Hence one can see that, is to 1 of reach.
In inserting position remover 905, different with embodiment 1, be in the interval of synchronizing code insertion position ± Nid position, to insert the position to remove processing.That is, the counting from
bit_count?mod?sync_period=sync_period-Nid
Arrive
bit_count?mod?sync_period=sync_0_len-1-3*Nid
The number of interval " 1 " (is established=n0), if n0 is less than or equal to 3*Nid+1, just remove " 1 " of 3*Nid+1-n0 position.
In embodiment 2, can use certain form judge position in transmission route and medium additional/disappear interval the time, considered the position additional/synchronous detecting that disappears is handled and the position is inserted to handle to remove with the position and handled also and can only carry out in this interval.
In the moving picture decoding device of the foregoing description 1; For carry out with transmission route/medium in the position additional/the corresponding synchronous detecting that disappears, also can in synchronizing indicator 901, carry out synchronous detecting with embodiment 2 the same intervals in synchronization code inserting interval ± Nid position.At this moment; Though might take place the part beyond the synchronizing code is judged to be the synchronously pseudo-of synchronizing code by error; But; Take place easily the position additional/quality badness of the decoding image that can suppress in transmission route/medium of disappearing to cause owing to the synchronous detecting mistake, thereby can improve image quality.
In addition, in the time can using certain form to judge interval that the generation position adds/disappears in transmission route and medium, this processing also can only be carried out in this interval, and carries out common synchronous detecting in interval in addition.
In addition, in the foregoing description 1 and embodiment 2, also can use the information (below, be called frame length information) of the length of expression frame and then protection synchronously.The example of the code string when Figure 15, Figure 16 and Figure 17 are expression use frame length information POINTER.
In the example of Figure 15, the inspection position CHK P of the error correction of frame length information POINTER and protection this frame length information POINTER/detect code continues after next-door neighbour's synchronizing code PSC.The figure place that in frame length information POINTER, is writing down former frame is promptly represented the information from the synchronizing code of former frame to the figure place of the synchronizing code of present frame.
In code device, count the code string figure place of 1 frame, it is transformed to frame length information POINTER, and then carries out error correction/detect coding, generate an inspection position CHK P.And, that kind shown in figure 15, with they be routed to next-door neighbour next frame synchronizing code after, the generating code string.
On the other hand; At code translator,, from code string, take out the frame length information POINTER and an inspection position CHK P that continue thereafter using with after embodiment 1 carries out the detection of synchronizing code with embodiment 2 identical methods; Carry out error correction/detect decoding, thereby frame length information POINTER is deciphered.And, with the frame length information POINTER that is deciphered and counting till from the synchronizing code of previous detection to the position of current synchronizing code figure place and the value (frame length count value) obtained compares, inspection has or not the erroneous detection of synchronizing code.
If the code of the former frame shown in frame length count value and the frame length information POINTER is long not simultaneously the erroneous detection of synchronizing code might not take place, so, just use frame length information POINTER to carry out the detection again of the synchronizing code of institute's erroneous detection.That is, think and begin non-detectable synchronizing code is arranged to the place ahead of the figure place shown in the frame length information POINTER from current synchronizing code.At this moment 2 frames interval and interval from this to current synchronizing code of being divided into from previous synchronizing code to the position shown in the frame length information POINTER of the interval from the synchronizing code of previous detection to current synchronizing code are deciphered processing.
But, by the figure place shown in the frame length information POINTER for a long time, just thought frame length information POINTER mistake than figure place from the synchronizing code of previous detection to the position of current synchronizing code, handle thereby do not carry out above-mentioned the detection more synchronously.
The figure place of frame length information POINTER and inspection position CHK P for a long time, and is shown in figure 16, and synchronizing code PSC, frame length information POINTER and inspection position CHK P also can relate between a plurality of synchronization zones.At this moment, with so that code string and the synchronizing code beyond the synchronizing code keeps position in the code device of certain Hamming distance to insert handle with code translator in the position deletion handle also and can not carry out with the interval of an inspection CHK P existence at frame length information POINTER.
In the example of Figure 15 and Figure 16; When synchronizing code PSC latter half of comprises the kinds of information (difference of frame synchronization code, GOB synchronizing code etc.) of representing this synchronizing code, also can be not only with error correction code protection frame length information POINTER but also can protect the later half position of synchronizing code PSC.Like this, not only can correctly detect the position of synchronizing code, and can correctly detect its kind, so, anti-mistake property further improved.
In the example of Figure 17, be the example that frame length information POINTER and inspection position CHKP is placed last (be close to the synchronizing code of next frame before) of frame.At this moment, in code translator, after detecting the synchronizing code of next frame; Just take out its frame length information POINTER before of next-door neighbour and inspection position CHK P; Carry out error correction/detect decoding,, carry out the detection again of synchronizing code through the processing identical with Figure 15 and Figure 16.
In the example of Figure 15, because synchronizing code only is present in the synchronizing code insertion position, so frame length information POINTER also can write down and insert (=sync_period position) at interval with synchronizing code and remove the figure place of frame and the value that obtains.Like this, just, available figure place is seldom represented frame length.
In addition; In embodiment 1 and embodiment 2; Show the example of the level coding that carries out changing, still, in frame, both can use identical error correction/detect code also can not use error correction/detect code according to the importance that error correction/detect code is carried out information encoded.At this moment, corresponding synchronizing code detection processing detects synchronous ability than having mode to improve earlier more than or equal to the position insertion processing of the Hamming distance of the value that is predetermined with it so that synchronizing code code string in addition is with the synchronizing code maintenance through the usefulness shown in the present embodiment.
In addition, explained in the explanation of above-mentioned each embodiment the motion video signal carried out high efficiency of compression coding and the example that transmits/store that still, the present invention also can be applied to the transmission/storage of rest image and sound, data etc.For example, when using orthogonal transform that the rest image signal is carried out the high efficiency of compression coding, can switch use error correction/detect code in order to protect the low-frequency component of conversion coefficient more doughtily.Carry out in the Methods for Coding sound model being turned to drive source and vocal tract filter, can switch error correction/detect code in order to guard band cycle and sound channel parameter etc. more doughtily.
(embodiment 3)
Below, embodiments of the invention 3 are described.Not being both of present embodiment and embodiment 1 and embodiment 2 do not used error correction/detect code.
Figure 18 is the block diagram of the motion image coding device of present embodiment.Is that the center describes to being marked with identical symbol with the corresponding part of Fig. 1 with the difference with embodiment 1, and in the present embodiment, the structure of output encoder device 200 is different with action.In addition, the elemental motion of Port Multiplier 111 is identical with the Port Multiplier of Fig. 1 111, still, along with not using error correction/detect code, only exports demultiplexing code string 201 and inserts with synchronizing code and require signal 203.
Figure 19 is the block diagram of the structure of the output encoder device 200 among expression Figure 18.This output encoder device 200 is made up of the switch controller 1704 of the counter 1701 of the figure place of counting output code string 205, the switch 1703 that switches output code string 205, control switch 1703 and the filler generator 1705 of generation filler.
Figure 20 is the figure of expression by an example of the output code string 205 of output encoder device 200 generations of Figure 19.For the code word corresponding, use prosign to carry out mark with the output code string of Fig. 4.The same with Fig. 4, synchronizing code PSC certain position of inserting periodically by the synchronizing code insertion position shown in every arrow that disposes at a distance from certain interval (sync_period position).In Figure 20, different with Fig. 4 is does not comprise error correction/the detect inspection position CHK P of code.Last part at 1 frame of output code string 205 is inserted filler STUFF, with so that synchronizing code PSC is inserted into the synchronizing code insertion position.The figure place of filler STUFF is less than or equal to the sync_period position.
Below, specify the structure and the action of the output encoder device 200 of the Figure 19 that generates this output code string 205.
Switch controller 1704 as demultiplexing code string 201 input from the initial position of synchronizing code during the position before next synchronizing code; Just switch 1703 is switched to demultiplexing code string 201 1 sides, be controlled to be demultiplexing code string 201 and export as output code string 205.
And,, use so that next synchronizing code is inserted into the position of synchronizing code insertion position and insert (fill the position) in the last part of 1 frame.Port Multiplier 111 is exported next frame when the end of output of the demultiplexing code string 201 of 1 frame synchronizing code insertion requires signal 203.After receiving this signal, switch controller 1704 switches to filler generator 1,705 one sides with switch 1703, and filler 1223 is exported as output code string 205.This filler 1223 both can make whole positions for " 1 ", can all be " 0 " also, also can adopt " 0101... " such specific combined pattern.
Below, the moving picture decoding device of present embodiment is described.
Figure 21 is the block diagram of the structure of the expression moving picture decoding device corresponding with the motion image coding device of Figure 18.For being marked with identical symbol with the corresponding part of Fig. 8, be that the center describes with difference with embodiment 1, in the present embodiment, the structure of input code translator 800 is different with action.In addition, the signal from 800 inputs of input code translator against Port Multiplier 811 is code string 801 and synchronizing code detection signal 803, the signal of not importing to input code translator 800 from contrary Port Multiplier 811.
Figure 22 is the block diagram of the structure of expression input code translator 800.This input code translator 800 is made up of the counter 1902 of the synchronizing indicator that detects the synchronizing code in the input code string 205 ' 1901 with the figure place of counting input code string 205 '.
In synchronizing indicator 1901, according to 1911 detections of carrying out synchronizing code in the synchronizing code insertion position of count value of counter 1902.For example, establish synchronizing code insert be spaced apart sync_period, count value 1911 is sync_len for the length of bit_count, synchronizing code, then only exist
0<bit_count?mod?sync_period≤sync_len
The Shi Jinhang synchronous detecting.Remainder when here, A mod B representes to remove A with B.When synchronizing indicator 1901 detects synchronizing code, just export synchronizing code detection signal 803.
From the code string 801 of input code translator output is directly to export input code string 205 ', and the contrary Port Multiplier 811 of input.After, handle the processing of deciphering against demultiplexing with the same the carrying out of moving picture decoding device of Figure 21.
When the last filler STUFF of frame is adopted the bit pattern that is predetermined; In contrary Port Multiplier 811, judge whether this filler STUFF is consistent with the packed format that is predetermined; Just judge in the input code string 205 ' wrongly when inconsistent, also can be used to make the little processing of image quality deterioration described in the motion image coding device shown in the embodiment 1.
(embodiment 4)
Below, embodiments of the invention 4 are described.
All structures of the motion image coding device of present embodiment are identical with the motion image coding device of Figure 18, and the action of output encoder device is different with embodiment 3.
Figure 23 is the block diagram of the structure of the output encoder device 200 among expression Figure 18.For being marked with identical symbol with the corresponding part of output encoder device of Figure 19, be that the center describes with their difference, appended and be used to prevent that the position of pseudo-synchronizing code from filling the position inserter of handling 1211.
In the inserter 1211 on the throne, demultiplexing code string 201 is used to prevent pseudo-synchronous position inserts.This is owing to can not synchronizing code be deciphered uniquely when in output code string 205, the bit pattern identical with synchronizing code being arranged, so, be the processing that is used to prevent this situation.For example; Such synchronizing code as shown in Figure 5 is by " 0 " of sync_0_len position, 1 " * * * * * " of sync_nb_len position of kind of " 1 " and expression synchronizing code when constituting; If in the code string beyond the synchronizing code, insert " 1 " in order to occur " 0 " more than the sync_0_len position discontinuously, just can prevent synchronously pseudo-.
Synchronizing code only is inserted into the synchronizing code insertion position.Therefore, being used to prevent pseudo-synchronous position insertion operation can only carry out in the synchronizing code insertion position.Therefore, the count value 1221 according to the total bit of representing output code string 205 judges whether to carry out the position insertion.Design value 1221 is total_len, then exists
0<total_len_mod_sync_period≤sync_0_len
Interval counting demultiplexing code string 201 in the number of " 1 ", if do not have " 1 " fully, just insert 1 " 1 " in this interval.Remainder when here, A mod B representes to remove A with B.
In addition, in order to reduce the probability that causes the erroneous detection of synchronizing code owing to wrong, can carry out the position as follows and insert.
In order when the n bit-errors is sneaked in the synchronizing code, also to detect synchronizing code, must judge in the input coding device of described motion image coding device that in the back the code word that Hamming distance with genuine synchronizing code is less than or equal to n is a synchronizing code.But; If the code string beyond the synchronizing code is directly carried out such judgement; Sometimes in the code string beyond the synchronizing code, also there is the bit pattern that is less than or equal to n with the Hamming distance of synchronizing code; This just thinks by mistake and is positioned at the synchronizing code insertion position, thereby it is judged to be synchronizing code.
Therefore; In the inserter 211 on the throne; Insert through as follows demultiplexing code string 201 being carried out the position, will be arranged in code string beyond the synchronizing code of synchronizing code insertion position of demultiplexing code string 201 and be transformed to and the Hamming distance of synchronizing code code string more than or equal to 2 * n+1.
Particularly, count exactly
0<total_len_mod_sync_period≤sync_0_len-(2×n+1)
The number of interval " 1 " (establish=n0), if n0 less than 2 * n+1, just " 1 " with 2 * n+1-n0 position is inserted in the demultiplexing code string 201.
Like this, carried out code string 1222 and the same position insertion (STUFF among Figure 20) of carrying out the last interval of frame of output encoder device of Figure 19 after insert the position, and exported as output code string 205.
Below, the moving picture decoding device of present embodiment is described.All structures of moving picture decoding device are identical with the moving picture decoding device of Figure 21, and the action of input coding device 800 is different with embodiment 3.
Figure 24 is the block diagram of the structure of expression input code translator 800.For being marked with identical symbol with the corresponding part of input code translator of Figure 22, be that the center describes with difference with embodiment 3, appended position remover 1905.
A position remover 1905 is inserted in input code string 205 ' input, and being used to of removing that position inserter 1211 by the output encoder device of Figure 23 inserts prevents the processing of the insertion position of pseudo-synchronizing code.As previously mentioned,, the position carries out in the synchronizing code insertion position because only inserting, so, judge the synchronizing code insertion position according to the count value 1911 of counter 1902.
For example; If synchronizing code is a code word shown in Figure 5; Carrying out the position to the part of initial " 000... " of synchronizing code in the inserter 1211 on the throne inserts with so that with the Hamming distance of synchronizing code during more than or equal to 2 * n+1; Begin to count sync_0_len-(number of 2 * n+1) " 1 " is if n0 less than 2 * n+1, just deletes 2 * n+1-n0 position from the synchronizing code insertion position.
Here, be decided to be " 1 " owing to insert the position, so, be judged to be the position during of inserting the position for " 0 ", just think that mistake sneaked into synchronization code inserting interval.At this moment, to contrary Port Multiplier 811 outputs, the same with described in the embodiment 1 can make reproduced picture that the processing of big deterioration does not take place with not shown wrong detection signal.
Position in the inserter 1211 of the position of Figure 23 is inserted and is handled, also can be to the insertion position that synchronizing code whole synchronization code inserting intervals in addition insert the figure place that is predetermined.Figure 25 is that the example that output code string 205 when handling is inserted in this position is carried out in expression.Among the figure, SB representes the position of inserting.
For example; That kind as shown in Figure 5; Synchronizing code is by " 0 " of sync_0_len position, 1 " * * * * * " of sync_nb_len position of kind of " 1 " and expression synchronizing code when constituting, just from the insertion position SB to 1 of the position that the is predetermined insertion in the interval of sync_0_len position that begins of synchronization code inserting interval.
Insert position SB and can always adopt " 1 ".In addition, also can from the beginning of synchronization code inserting interval according to the bit pattern in the interval of sync_0_len position determine adaptively to insert a SB with so that the number of " 1 " that should the interval more than or equal to 1.
In addition, through from synchronization code inserting interval begin will insert position SB and adopt the parity in the interval of sync_0_len position, just can avoid occurring the bit pattern identical with synchronizing code, can detect the mistake of sneaking into this bit pattern simultaneously.
Figure 25 (b) expression has been carried out this position and has been inserted the output code string of handling.In this example, begin to insert 1 insertion position SB from the synchronizing code insertion position to initial part.This insertion position SB determines to be decided to be odd number for several one of " 1 " that begins the interval consistent with the sync_0_len-1 position from this and next bit.For example, in the example in the left side of Figure 25 (b), inserting a position SB is " 1 ".In addition; In the example on the right side of Figure 25 (b); Even beginning the interval of sync_0_len-1 position from the next bit that inserts position SB all is " 0 ", be " 1 " owing to insert position SB, so; Must be " 1 " entering synchronization code inserting interval more than 1, thereby the bit pattern identical with synchronizing code can not take place.In addition, also play the parity inspection owing to insert position SB, so, can detect and be blended into this interval bit-errors.
In addition, also can be with inserting the parity inspection position of position SB as whole before the next synchronizing code insertion position.But, be decided to be " 1 " for fear of when the next bit that inserts position SB begins only all to be " 0 " in the sync_0_len-1 position, the bit pattern identical occurring, make to insert position SB one with synchronizing code.Like this, just, wrong detection is carried out in parity inspection capable of using whole.
In order to reduce probability, hope to insert more figure place by the erroneous detection of the wrong and synchronizing code that causes.For example, even for the mistake that has got into the n position also can correctly detect synchronously, insert " 1 " of 2 * n+1 position to the position that is predetermined in this interval.
In the present embodiment, also different with the action of last rheme inserter 1211 action of the position remover 1905 of Figure 24 accordingly.That is, in the remover 1905 on the throne, delete by position inserter 1211 and carry out the processing of the insertion position SB of the position that is predetermined of inserting.
Here; To insert a position SB when always adopting " 1 ", when being " 0 ", just be judged to be bit-errors in the position of the insertion position, position that is arranged in input code string 205 '; To contrary Port Multiplier 811 outputs, be used to make the decoding image that the processing of big deterioration does not take place wrong detection signal (not shown).
In embodiment 1~embodiment 4; The demultiplexing of Port Multiplier 111 is handled, that kind as shown in Figure 2, and showing with the coded frame is that unit carries out the example that demultiplexing is handled with prediction mode information 303, motion vector information 304 and residual error DCT coefficient 305; But; That kind that also can be shown in figure 26 is pressed coding region (for example, macro block, GOB etc.) unit prediction mode information 303, motion vector information 304 and residual error DCT coefficient 305 is carried out the demultiplexing processing.At this moment, in image header 302 and in addition information, can use different error correction/detect code, also can use identical error correction/detect code.Perhaps, can only in image header, use error correction/detect code, also can in a part of code string of the figure place that is predetermined of each frame, use error correction/detect code, also can not use error correction/detect code fully.
In addition, not only can carry out demultiplexing and handle, and can carry out the demultiplexing processing, thereby can insert synchronizing code to these each demultiplexing units (layer unit) by the subregion of frame or with the layer unit that a plurality of frames are concentrated by frame (image) unit.
Figure 28 is the example that this demultiplexing of expression is handled.In the example of Figure 28, to the macro block of having concentrated a plurality of encoding blocks, the GOB that has concentrated a plurality of macro blocks, image (frame), concentrated each layer of 4 layers of the session of a plurality of images to carry out demultiplexing to handle.Wherein, each layer of session, image, GOB uses synchronizing code (being SSC, SEC, PSC, GSC among the figure) separately.SSC, SEC, PSC, GSC use different codes respectively, can distinguish the synchronizing code that has detected which layer.When using synchronizing code shown in Figure 5, can distinguish these synchronizing codes with the part of the sync_nb_len position of the kind of representing synchronizing code.
When carrying out this demultiplexing and handling, also can and even all carry out the processing the same to the part of the synchronizing code of session, image, GOB with the frame synchronization code of the foregoing description.Figure 29 is the example that the output code string of this processing is carried out in expression.As shown in the figure, before PSC, GSC, inserted filler STUFF, SSC, PSC, GSC are inserted into the synchronizing code insertion position shown in the arrow among the figure.Therefore, with the same to frame synchronization code PSC explanation in the above-described embodiments, improved the accuracy of detection of each synchronizing code.
Also can the length information identical with the frame length information POINTER of Figure 15, Figure 16 and Figure 17 be appended on each synchronizing code of session, image, GOB.Like Figure 15 and shown in Figure 16; Frame length information POINTER is carried out error correction/when detecting the protection of code; Through not only using error correction/detect code to frame length information POINTER but also to the part of the sync_nb_len position of the kind of expression synchronizing code; Not only improve the probability that can correctly detect the position of synchronizing code, and improve the probability that can correctly detect its kind.In addition, to the part of the heading message of session, image, GOB (being SH, PH, GF among the figure) or all also can use error correction/detect code protection, like this, also can improve the patience of the anti-mistake of each heading message.
As present embodiment, when being used to prevent the filling processing of pseudo-synchronizing code, carrying out following processing and also can make synchronizing code insert the length that interval sync_period is less than or equal to synchronizing code.
At first, the processing of the output encoder device of account for motion image coding device.Here, as shown in Figure 5, synchronizing code adopts by " 0 " of sync_0_len position and the code word of " 1 " formation of 1.In the output encoder device of Figure 23; If the count value 1221 of expression figure place of inserter 1211 outputs from the position is total_len; Insert remainder that sync_period at interval removes total_len when consistent with synchronizing code, promptly with the remainder that deducts 1 value with sync_period except that figure place sync_0_len from initial " 0 " of synchronizing code
total_len?mod?sync_period
=(sync_0_len-1)mod?sync_period(1)
The time, the number (being made as n1) of counting " 1 " the preceding carry-out bit in position from the carry-out bit in this moment to (sync_0_len-1) if there be not " 1 " (that is, if n1=0) fully, just inserts 1 " 1 ".
The example of the output code string of this processing of Figure 33 (a) expression having carried out.Among the figure, the arrow that is directed downwards is represented the synchronizing code insertion position, and synchronizing code (that is, sync_0_len=23) is made up of with 1 " 1 " 23 " 0 ".In the example of figure, synchronizing code insert sync_period at interval be length (=24) than synchronizing code short 8.
Among the figure, the interval of interval 1~4 expression counting said n 1.At several n1 of each interval sequential counting " 1 ", if n1=0 just inserts filler to this interval next bit.In interval 1, because n1>0, so, just needn't fill.In interval 2, because n1=0, so, just insert filler 3301 of 1 to next interval in this interval.In interval 3, through inserting filler 3301, owing to n1=1, so, just needn't insert filler.
Fill processing through going up rheme, because the part beyond the synchronizing code in the output code string does not have the bit pattern identical with synchronizing code, so, can not take place pseudo-synchronous.
On the other hand, for the probability of the erroneous detection that reduces the synchronizing code that causes owing to the transmission route mistake, can carry out the position as follows and insert.
Even also can correctly detect synchronizing code when sneaking into synchronizing code for the n bit-errors, can carry out that the position insert to be handled so that in the insertion on the throne 1211 Hamming distance of the part beyond the synchronizing code in the output code string and synchronizing code more than or equal to 2 * n+1.
Remove with synchronization code inserting interval sync_period the output code string 205 represent Figure 23 total bit count value 1221 total_len remainder with sync_period except that the remainder of the value that from the figure place sync_0_len of initial " 0 " of synchronizing code, deducts 2 * n+1 when consistent, promptly
total_len?mod?sync_period
=(sync_0_len-(2×n+1))mod?sync_period(2)
The time, counting from the carry-out bit in this moment to (number (being made as n1) of " 1 " the preceding carry-out bit in sync_0_len-(2 * n+1)) position, if the number of " 1 " less than (2 * n+1), promptly
n1<2×n+1
Just insert (2 * n+1-n1) " 1 ".
The synchronous erroneous detection of this part if the number of " 1 " in the bit string before next-door neighbour's synchronizing code is few, takes place during from the synchronizing code of " 0 " of multidigit shown in Figure 5 beginning in use sometimes.In order to prevent this erroneous detection, the position in last interval that can output frame insert (be STUFF among Figure 20) so that the figure place of " 1 " in the interval of sync_period position from synchronizing code to its synchronizing code insertion position before of next-door neighbour more than or equal to 2 * n+1 position.
For this reason, can use the STUFF that necessarily comprises 2 * n+1 position above " 1 ", perhaps can be according to output code string decision STUFF.That is, can determine STUFF so that the figure place of " 1 " that comprises the sync_period position before the next-door neighbour's synchronizing code in the output code string of STUFF more than or equal to 2 * n+1 position.
The example of the output code string of this processing of Figure 33 (b) expression having carried out.Among the figure, the interval of interval 1~4 expression counting said n 1.At several n1 of each interval sequential counting " 1 ", if n1<2 * n+1 just inserts filler to this interval next bit.In interval 2, because n1=1, so, next the interval (filler 3311 of 2 * n+1)-1=2 position that inserts in this interval.In interval 3, owing to pass through to insert filler 3311 and n1=3, so, filler needn't be inserted.
In addition, in order to prevent the synchronizing code erroneous detection of the part before next-door neighbour's synchronizing code, determine STUFF by following mode.If the position before the next-door neighbour STUFF is 3312.Owing to have only 1 to the number of " 1 " of the sync_period interdigit (interval 5) of next-door neighbour synchronizing code insertion position thereafter from being close to this synchronizing code insertion position before 3312; So; When using the continuous synchronizing code of Fig. 5 such a plurality of " 0 ", just synchronous erroneous detection might take place in this part.Therefore, make the displaced of inserting synchronizing code to next synchronizing code insertion position, output comprises the STUFF 3313 of a plurality of " 1 ".Like this, because the sync_period position before next-door neighbour's synchronizing code interval (interval 6) comprise 2 * n+1 position above " 1 ", so, can prevent synchronous erroneous detection.
Fill to handle position through carrying out above-mentioned that kind, and the Hamming distance that can make part and synchronizing code beyond the synchronizing code in the output code string is more than or equal to 2 * n+1, so, reduced the probability of synchronous erroneous detection.
Below, the processing of the input code translator of account for motion image decoding apparatus.In the remover 1905 of the position of Figure 24; If the count value 1911 of the figure place of the code string of expression input be total_len, when total_len becomes the value that satisfies 1 condition, the number (being made as n1) of " 1 " of counting from the input position in this moment to (sync_0_len-1) preceding input position; If there is not " 1 " fully; That is, if n1=0 just deletes 1.
In order when the n bit-errors is sneaked into synchronizing code, also to detect synchronizing code; Carry out in the inserter 1211 on the throne that the position insert to be handled so that the Hamming distance of the part beyond the synchronizing code in the output code string and synchronizing code during more than or equal to 2 * n+1, can be carried out following processing.Become moment of the value that satisfies formula (2) at total_len, counting from the input position in this moment to (number (being made as n1) of " 1 " the carry-out bit before of sync_0_len-(2 * n+1)) position, if the number of " 1 " less than (2 * n+1), that is, if
n1<(2×n+1)
Just deletion is (2 * n+1-n1).
In output encoder device and input code translator; Make synchronizing code insert the figure place that interval sync_period adopts the weak point of the length that is less than or equal to synchronizing code through the processing of carrying out above-mentioned that kind; Can reduce the figure place of filler STUFF, improve code efficiency.Particularly when the length of synchronizing code is long or when inserting a plurality of synchronizing code, the figure place of this filler STUFF reduces will improve code efficiency greatly.For example; As the GOB/ amplitude limit of motion image coding, with picture segmentation being 1~a plurality of macro blocks or each macro-block line and insert in the mode of synchronizing code, owing to insert a plurality of synchronizing codes by constituent parts; So the figure place of STUFF reduces will make code efficiency higher.
In addition, when that kind shown in figure 28 is carried out the demultiplexing processing of a plurality of layers of structure, can be according to the different synchronizing code that use different length of layer.
Figure 34 (a) is the example of this synchronizing code of expression.In 4 kinds of synchronizing codes, SSC, SEC, PSC amount to 32 formations by 23 " 0 ", 18 of kind of " 1 " and expression synchronizing code.On the other hand, the synchronizing code GSC of GOB layer is the code word shorter than other synchronizing codes by 17 the synchronizing code that 16 " 0 " and 1 's " 1 " constitutes.
Like this; Only GSC being adopted short code word, is because GOB is the coding unit that in picture, is divided into the zonule that is made up of 1~a plurality of macro blocks (MB), usually; The synchronizing code of GOB layer is compared with other synchronizing codes; Quantity is many, through making the synchronize code words contraction in length, can reduce the size of code of output code string.In addition,,, encode, like this, just can improve the quality of the reproduced picture when the transmission route mistake takes place thereby can in picture, be divided into thinner GOB zone if identical size of code just can be exported more GSC through such processing.
Also can carry out in embodiment 4 explanation that kind be used to prevent pseudo-synchronous processing, promptly can carry out the position and fill and handle so that in the code string beyond the synchronizing code, the bit pattern identical with synchronizing code do not take place.If be used to reduce because processing is filled in the position of the probability of the erroneous detection of the synchronizing code that the transmission route mistake causes; For example the bit string that guarantees not take place the identical bit pattern of the synchronizing code long with bit length (in the example of Figure 34 (a), being SSC, SEC, PSC) is also carried out the position and fill and handle so that do not take place and the identical bit pattern of the shortest synchronizing code (in the example of Figure 34 (a), being GSC), just the bit pattern identical with all synchronizing codes can not take place.This processing can be carried out whole layers code string; The code string that also can contrast the layer (in illustrated example, being GOB layer, macroblock layer) of layer low low level that uses the shortest code carries out, and the code string that also can contrast layer following layer (image layers, GOB layer, macroblock layer) of one of this floor height carries out.In addition, also can be only the code string of the layer that is predetermined be carried out this processing.
Even also discern length different synchronization code easily for the transmission route mistake takes place, can carry out the processing of synchronize code words and front and back thereof as follows.
When (1) using the synchronizing code that constitutes by " 0 " of multidigit and " 1 " of continuing thereafter, in long code word and short code word, can make the relative position difference of seeing from the synchronizing code insertion position of this " 1 ".In the example of Figure 34 (b), " 1 " 3411 of PSC and " 1 " 3412 of GSC are positioned at different positions, and the position of the same position in other synchronizing codes (corresponding with 3,411 3413, with 3412 corresponding 3414) all is " 0 ".Like this, because the Hamming distance increase of synchronizing code and this part string, so, even the transmission route mistake takes place, also can be easy to discern the different synchronization code.
(2) can before the short synchronizing code of length, insert filler.For example, that kind shown among the figure 3401 is through before the short GSC of length, inserting the filler 3401 by 1~a plurality of " 1 " formation, just can increase the Hamming distance of the part string of GSC and other synchronizing codes.
(3) can after the short synchronizing code of length, insert filler.For example, can after GSC, carry out the position and insert 3402 so that increase with the Hamming distance of part of kind of synchronizing code in the long synchronizing code of identification.
(embodiment 5)
Below, embodiments of the invention 5 are described.
All structures of the motion image coding device of present embodiment and moving picture decoding device are identical with embodiment 1, and beginning and the back-page processing between 1 synchronization zone of output encoder device 200 and input code translator 800 is different with embodiment before this.
Figure 27 (a) and (b), (c) be the expression present embodiment motion image coding device output code string 205 one the example figure.This output code string 205 gets into the part 2701 of the code string of former frame (frame n-1) after synchronizing code PSC; The border 2703 (starting point of the code string of present frame) that the code string of this code string 2701 and present frame (n frame) is arranged; In other words; The pointer information 2702 (SA) that the border of expression demultiplexing code string is arranged, therewith correspondingly, different with the output code string of Fig. 4 is the last filler (in Fig. 4, being STUFF) that does not have 1 frame.
In the output encoder device 200 in motion image coding device, check the figure place resid_bit of remaining code string of this frame in each synchronizing code insertion position.The figure place sum of resid_bit and synchronizing code PSC and pointer information SA is inserted sync_period position, interval after a little while than synchronizing code, before remaining code string of this frame of output in output code string 205, and output synchronizing code PSC.Secondly, output pointer information SA (at this moment, expression resid_bit) then, exports remaining code string 2701.At last, the code string of output next frame.
In the input code translator 800 in moving picture decoding device, carry out the detection of synchronizing code in each synchronizing code insertion position, when detecting synchronizing code, just remaining information of pointer information SA and frame is handled on continuing thereafter.
Boundary portion with frame n-1 among Figure 27 and frame n is that example describes; After finishing up to the decoding processing till 2704 before the next-door neighbour's synchronizing code PSC; Just detect synchronizing code at thereafter synchronization code inserting interval; When detecting synchronizing code,, and ask the code string of frame n-1 to also have several just with pointer information 2702 decodings.Through above-mentioned processing, take out by the figure place shown in the pointer information (being before 2703 in Figure 27) the code string after next-door neighbour's pointer information, it is continued after 2707 output code string 801.Thereafter code string (in Figure 27 since 2703) is that frame n handles as next frame.
In the present embodiment, shown in Figure 27 (a), can or all carry out error correction/detect coding to the part of output code string.At this moment, the kind of error correction/detect code can be all identical, also can use different codes.
In addition, shown in Figure 27 (b), also can not carry out error correction/detect coding.
In addition, shown in Figure 27 (c), also can insert the frame length information POINTER of the code string figure place of Figure 15 or expression 1 frame shown in Figure 16.At this moment, frame length information POINTER also can represent the figure place from the synchronizing code PSC of this frame to the synchronizing code PSC of next frame.
When that kind shown in Figure 27 (a) is carried out error correction/detect coding; The error correction of the part of inspection position CHK from synchronizing code PSC to the next one/detect coding is concentrated the code string of remaining code string 2701 of pointer information SA, frame n-1 and 2703 later frame n as 1 information bit and is carried out error correction/detect coding.
Pointer information SA can be used as and carries out error correction/detect information encoded.At this moment, also can be with synchronizing code PSC (or its part), frame length information POINTER and pointer information combination carrying out error correction/detect coding.
Below, the object lesson of filler STUFF is described.
Figure 30 (a) and (b) are expression figure as the example of the code table of the filler STUFF of the concrete example of above-mentioned filler STUFF.The characteristic of Figure 30 (a) and (b) is to decipher uniquely from the opposite direction of output code string, like this, and starting position that just can specific uniquely filler STUFF.Therefore; Decoding end position through will being close to the code string before the filler STUFF and the starting position of filler STUFF compare; Can detect the mistake that is blended in the code string; Simultaneously, when being applied to according to synchronizing code along the coded system deciphered in the other direction, beginning place that can specific opposite direction decoding.
In addition, be shown in the filler STUFF shown in the code table of Figure 30 (a) and (b), its position one that begins is decided to be " 0 ", maybe be because the described easy decoding in back cause erroneous detection.
Figure 31 is the figure of the example handled of the decoding of the expression code string that comprises the filler STUFF shown in the code table of Figure 30 (a) and (b).In Figure 31, show the example of the filler before the next-door neighbour synchronizing code insertion position, still, also can insert filler before the synchronizing code insertion position arbitrarily and carry out same processing in addition next-door neighbour.In Figure 31, arrow 3101~3103rd, by along the code string before next-door neighbour's filler STUFF of direction when deciphering (with " * * * ... " expression) and the example of decoding end position, the right-hand member of arrow representes to decipher end position.Mistake is not sneaked into code string, in the time of can normally deciphering, and that kind shown in arrow 3101, the decoding end position of the code string before next-door neighbour's filler STUFF is consistent with the starting position of filler STUFF.
On the other hand, when mistake was blended in the code string, the decoding end position of the code string before the next-door neighbour filler STUFF was displaced to the starting position of filler STUFF like arrow 3102, that kind shown in 3103.At this moment, just judge wrong being blended in the code string.
In code translator, when the decoding of the code string before next-door neighbour's filler STUFF finishes, read in filler STUFF before in next synchronizing code insertion position, and judge whether it is consistent with the code of the code table shown in Figure 30 (a) and (b).If when which code of filler STUFF and code table is all inconsistent, just be judged to be wrong.
Judge when filler STUFF is consistent with code table, also can allow the bit-errors of minority.The erroneous detection of the mistake in the time of like this, just can reducing mistake and sneak into filler STUFF.
The code table of Figure 30 (a) is necessarily with " 0 " beginning, and follow-up position is " 1 ".Therefore, whether the next bit that also can only judge the decoding end position of the code string before next-door neighbour's filler STUFF is " 0 " and faults, perhaps, and only according to " 0 " and follow-up several " 1 " faults of beginning.Like this, will reduce some error detection accuracy, thereby reduce the needed treating capacity of decoding.Like this, when all filler STUFF uses from code table that the specific bit pattern that is made up of specific position and even a plurality of position begins, just can simplify decoding and handle.
In addition; Filler STUFF shown in the code table of Figure 30 (a) and (b) comprises the position of a plurality of " 1 ", and that kind as shown in Figure 5 is owing to increase with the synchronizing code that comprises a plurality of " 0 " and a part of Hamming distance thereof; So, have the pseudo-synchronous low advantage of probability take place.Particularly; In the code table of Figure 30 (a), just the position of the beginning of filler STUFF all is " 0 ", because position in addition all is " 1 "; So, become (length of filler STUFF-1) with the synchronizing code and a part of Hamming distance thereof that all are " 0 ".In addition, in the code table of Figure 30 (b), just the beginning of filler STUFF and last position are " 0 ", because position in addition all is " 1 ", so, become (length of filler STUFF-2) with synchronizing code and a part of Hamming distance thereof.Like this, through select filler STUFF and synchronizing code and a part of Hamming distance thereof more than or equal to designated value for example more than or equal to (length of filler STUFF-2), even mistake is sneaked into code string, also be difficult to take place pseudo-synchronizing code.
Below, use Figure 32 that this effect is described.Figure 32 (a-0), (b-0) are respectively the examples of the code string of expression when using the filler STUFF shown in the code table of common filler (all positions are " 0 ") and Figure 30 (a), (a-1), (b-1) be respectively the example when representing to sneak into mistake among (a-0), (b-0).Can be known by Figure 32 (a-1), be in the common filler of " 0 " in all positions, only sneaked into 1 mistake, that kind shown in the dotted line of (a-1), because the bit pattern identical with synchronizing code takes place, so, will take place synchronously pseudo-.In contrast, the filler STUFF shown in the code table of Figure 30 (a), that kind shown in Figure 32 (b-2), even sneaked into mistake, owing to do not become the bit pattern identical with synchronizing code, so, can not take place synchronously pseudo-.
Like this, the filler of present embodiment is the mistake of detection of code string at an easy rate just, simultaneously, even mistake has been sneaked into code string, also is difficult to pseudo-synchronizing code takes place, thereby has the advantage of very strong anti-wrong patience.
In addition; The filler of present embodiment can be from deciphering in the other direction uniquely; Owing to can specific its starting position promptly be close to the end position of the code string before the filler STUFF, so the message code string is both can be from also can be after the code of deciphering in the other direction along direction the time; That kind shown in the arrow 3104 of Figure 31 can be with the code string before the next-door neighbour STUFF from deciphering in the other direction.
In the above-described embodiments, filler STUFF can determine as follows.
When (1) such synchronizing code as shown in Figure 5 comprises " 0 " of sync_0_len position; Through make the whole of filler STUFF so that at least the whole position of synchronizing code insertion position be " 1 ", just can increase the Hamming distance of part and filler STUFF of " 0 " of synchronizing code.Therefore, through such processing, just can reduce mistake and sneak into filler STUFF and pseudo-synchronous probability takes place.
(2) filler STUFF also can adopt the code word of its length of expression.In code translator, the length of STUFF is judged in the place of finishing according to the decoding of the code string beyond the filler STUFF, simultaneously, carries out the decoding of STUFF, and with the length information decoding of STUFF.At this moment, if both when inconsistent, just can enter into code string by decision error.
In addition, the code word of filler STUFF also can be used its length of binary number representation.For example, when STUFF is 5, also can adopt " 00101 " of binary number representation " 5 ".Perhaps; Also can be with the value of the complement of the complement of " 1 " of getting binary number representation or " 2 " code word as filler STUFF, like this, owing to reduced the figure place of " 0 " among the STUFF; So, can with suppress pseudo-synchronous generation the same described in (1).
(3) using not only can be from along direction but also can be when the code word of deciphering is in the other direction encoded; In code translator, just must begin filler STUFF is deciphered and knows that it begins place (places, border of STUFF and other code words) to opposite direction from the end place of frame.At this moment, for example can with STUFF as " 01111111 ", determine for remaining position of " 0 " beginning with 1 and even a plurality of be the code word of " 1 ".Like this, if STUFF is deciphered and explore the position that " 0 " is arranged from opposite direction, just can this place be judged to be uniquely the beginning place of STUFF.In addition, in this example, the position beyond the beginning of the filler STUFF part be " 1 ", can with the synchronous probability of puppet takes place the same minimizing the described in (1).
(4) filler STUFF also can adopt inspection position or the parity inspection position of the part of output code string or all error correction of position/detect code etc.Like this, just, can be blended into the error correction of the bit-errors in the output code string/detect.
As above routine described that kind; Through generating filler STUFF, in code translator, the filler STUFF in the input code string and its create-rule are contrasted according to the rule that is predetermined; If judge when violating its create-rule, just can be blended in the input code string by decision error.Like this, in moving picture decoding device, just can make reproduced picture that the processing of big deterioration does not take place, thus the quality of the reproduced picture can improve mistake and sneak in the input code string time.
In addition, in the above-described embodiments, synchronizing code inserts interval sync_period and also can determine as follows.
(1) using error correction/when detecting code, is that the maximum sum of inspection position of length and error correction/detect code of synchronizing code is just enough more than or equal to the figure place of in code translator, carrying out the minimum of synchronous detecting if make synchronizing code insert sync_period at interval.Because the mean value of the figure place of the last filler STUFF of frame is sync_period/2, so, become the minimum bit that this can carry out synchronous detecting through making sync_period, just can reduce the figure place of filler STUFF, thereby can improve code efficiency.
(2) not using error correction/when detecting code, is that the length of synchronizing code is just enough if make synchronizing code insert sync_period at interval more than or equal to the figure place of in code translator, carrying out the minimum of synchronous detecting.Because the mean value of the figure place of the last filler STUFF of frame is sync_period/2, so, become the minimum bit that this can carry out synchronous detecting through making sync_period, just can reduce the figure place of filler STUFF, thereby can improve code efficiency.
(3) as Figure 15, Figure 16, Figure 17 and shown in Figure 27, when using frame length information POINTER, also can make synchronizing code insert that sync_period is shorter than the length of synchronizing code at interval.Like this, just can reduce the figure place of filler STUFF, thereby can improve code efficiency.
(4) bag or the cell that in transmission line/medium, is divided into the interval of appointment transmit/and when storing, it is consistent with the interval of bag or cell or become the approximate number at this interval also can to make synchronizing code insert sync_period at interval.Like this, because the beginning one of bag or cell is decided to be the synchronizing code insertion position, so, when taking place, packet loss or cell loss also can detect synchronizing code.
(5) it is short that synchronizing code inserts the figure place that minimum that sync_period at interval cans be compared to most 1 frame needs.Like this, just can reduce the figure place of filler STUFF, thereby can improve code efficiency.
(embodiment 6)
Below, embodiments of the invention 6 are described.
Figure 35 be the expression present embodiment motion image coding device the output code string one the example figure.In this output code string,, carry out described in the above-described embodiments position and insert processing in order to reduce erroneous detection probability owing to the wrong synchronizing code that causes.In addition, the information of heading message etc. gets into the position that is predetermined or relatively sees the position that is predetermined from synchronizing code.
Figure 35 (a) carries out the position to insert the code string before handling, and (b) is to carry out the position to insert the output code string after handling.Among the figure, oblique line part the 3201,3202,3261, the 3262nd, the information that gets into the position (relatively seeing the position that is predetermined from synchronizing code) that is predetermined, hollow arrow the 3211, the 3212nd, the position that this information is got into.The information 3261,3262 of the code string among Figure 35 (b) information 3201,3202 with the code string of (a) respectively is suitable; According to circumstances different from code string (a) when code string (b) conversion; Sometimes these information are also carried out conversion (that is, from information 3201 to the conversion of information 3261 with from the conversion of information 3202 to information 3262).
Among Figure 35 (b) 3203 inserts through the position to handle the position of inserting.Owing to insert to handle the bit string that then continues after inserting the position to backward shift through this, so, get into constant position in order to make the information that gets into appointed positions, make the mobile backward processing of a part of the code string before this information of next-door neighbour.For example; If from the summation of the number of the insertion position of the previous synchronizing code of information 3,201 3205 beginnings is Ns1, can the Ns1 position shown in the symbol 3221 among the Figure 35 (a) before next-door neighbour's information 3201 be moved to the part of the symbol 3231 among the Figure 35 (b) after next-door neighbour's information 3201.
When in information 3201,3202, comprising the information such as pointer of the certain location in the expression code string, also can carry out processing with its conversion.Particularly; When for example in information 3201, comprising expression by the information of the position shown in the arrow 3241; Just be transformed to the information of the position in the expression information 3261, in order to indicate by the position shown in the arrow of comparing with this position after the several Ns1 that insert the position 3251.
Claims (7)
1. coding method comprises:
The multiple variable-length codes of demultiplexing is to generate the demultiplexing code string, and said variable-length codes comprises can be along forward direction and back to decoded code word, and said code word obtains through the compressed encoding of motion image signal;
Said demultiplexing code string based on input is combined into the output code string; And
Synchronizing code is inserted in the said output code string by on the position in a plurality of synchronizing codes insertion position of arranged at regular intervals.
2. code device comprises:
The demultiplexing unit is used for the multiple variable-length codes of demultiplexing to generate the demultiplexing code string, and said variable-length codes comprises can be along forward direction and back to decoded code word, and said code word obtains through the compressed encoding of motion image signal;
The code string assembled unit; Be used for said demultiplexing code string based on input; Be combined into the output code string, said code string assembled unit is inserted in the said output code string synchronizing code by on the position in a plurality of synchronizing codes insertion position of arranged at regular intervals.
3. code device according to claim 2, wherein, said demultiplexing unit comes the said variable-length codes of demultiplexing to each frame of said motion image signal.
4. code device according to claim 2, wherein, said demultiplexing unit comes the said variable-length codes of demultiplexing to each subregion in the frame of said motion image signal.
5. code device according to claim 2, wherein,
Said demultiplexing unit is that unit carries out demultiplexing to said variable-length codes with a frame of said motion image signal; And
Said code string assembled unit is inserted into said synchronizing code on the synchronizing code insertion position before or after the ending that is adjacent to this unit.
6. code device according to claim 2, wherein,
Said demultiplexing unit is that unit carries out demultiplexing to said variable-length codes with the subregion in the frame of said motion image signal; And
Said code string assembled unit is inserted into said synchronizing code on the synchronizing code insertion position before or after the ending that is adjacent to this unit.
7. code device according to claim 2; Further comprise the code string converter unit; This code string converter unit carries out conversion to the code string beyond the said synchronizing code that is positioned at said synchronizing code insertion position in the said output code string, is set to be equal to or greater than predetermined value with the Hamming distance with this synchronizing code.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6145096 | 1996-03-18 | ||
JP61450/1996 | 1996-03-18 | ||
JP16308296 | 1996-06-24 | ||
JP163082/1996 | 1996-06-24 | ||
JP232362/1996 | 1996-09-02 | ||
JP23236296 | 1996-09-02 | ||
JP24388396A JP3597647B2 (en) | 1995-09-29 | 1996-09-13 | Encoding method and apparatus |
JP243883/1996 | 1996-09-13 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB971939098A Division CN1271815C (en) | 1996-03-18 | 1997-03-18 | Encoder and decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101018102A CN101018102A (en) | 2007-08-15 |
CN101018102B true CN101018102B (en) | 2012-09-19 |
Family
ID=37722213
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610093893 Pending CN1921375A (en) | 1996-03-18 | 1997-03-18 | Decoding and decoding system |
CN 200610093892 Pending CN1913424A (en) | 1996-03-18 | 1997-03-18 | Decoding device and method |
CN 200610093891 Expired - Lifetime CN1921374B (en) | 1996-03-18 | 1997-03-18 | Coding apparatus and coding method |
CN 200610093888 Pending CN1921373A (en) | 1996-03-18 | 1997-03-18 | Coding and decoding system |
CN 200610088687 Expired - Lifetime CN101018102B (en) | 1996-03-18 | 1997-03-18 | Encoder and encoding method |
CN 200610093894 Expired - Lifetime CN1913425B (en) | 1996-03-18 | 1997-03-18 | Decoding device and method |
CN 200610093890 Expired - Lifetime CN1913423B (en) | 1996-03-18 | 1997-03-18 | Decoding device and method |
CN 200610093889 Pending CN1972183A (en) | 1996-03-18 | 1997-03-18 | Coding and decoding system |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610093893 Pending CN1921375A (en) | 1996-03-18 | 1997-03-18 | Decoding and decoding system |
CN 200610093892 Pending CN1913424A (en) | 1996-03-18 | 1997-03-18 | Decoding device and method |
CN 200610093891 Expired - Lifetime CN1921374B (en) | 1996-03-18 | 1997-03-18 | Coding apparatus and coding method |
CN 200610093888 Pending CN1921373A (en) | 1996-03-18 | 1997-03-18 | Coding and decoding system |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610093894 Expired - Lifetime CN1913425B (en) | 1996-03-18 | 1997-03-18 | Decoding device and method |
CN 200610093890 Expired - Lifetime CN1913423B (en) | 1996-03-18 | 1997-03-18 | Decoding device and method |
CN 200610093889 Pending CN1972183A (en) | 1996-03-18 | 1997-03-18 | Coding and decoding system |
Country Status (1)
Country | Link |
---|---|
CN (8) | CN1921375A (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8422803B2 (en) * | 2007-06-28 | 2013-04-16 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method and image decoding method |
TWI677876B (en) | 2018-10-12 | 2019-11-21 | 慧榮科技股份有限公司 | Encoder built-in self-test circuit applied in flash memory controller and associated method |
CN109979503B (en) * | 2019-03-22 | 2021-04-30 | 安徽大学 | Static random access memory circuit structure for realizing Hamming distance calculation in memory |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4292655A (en) * | 1978-11-06 | 1981-09-29 | U.S. Philips Corporation | System incorporating word synchronization for a serial signal sequence |
US4580162A (en) * | 1982-11-19 | 1986-04-01 | Fuji Photo Film Co., Ltd. | Adaptive picture image compression system |
JP3250935B2 (en) * | 1995-02-01 | 2002-01-28 | ミサワホーム株式会社 | Building unit piping method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3341781B2 (en) * | 1992-12-15 | 2002-11-05 | ソニー株式会社 | Image decoding device and image encoding device |
US5396497A (en) * | 1993-02-26 | 1995-03-07 | Sony Corporation | Synchronization of audio/video information |
CN1076933C (en) * | 1993-08-30 | 2001-12-26 | 索尼公司 | Device and method for encoding image |
JP2862064B2 (en) * | 1993-10-29 | 1999-02-24 | 三菱電機株式会社 | Data decoding device, data receiving device, and data receiving method |
KR970009408B1 (en) * | 1994-01-18 | 1997-06-13 | 대우전자 주식회사 | Inter / Intra Table Selection Circuit |
-
1997
- 1997-03-18 CN CN 200610093893 patent/CN1921375A/en active Pending
- 1997-03-18 CN CN 200610093892 patent/CN1913424A/en active Pending
- 1997-03-18 CN CN 200610093891 patent/CN1921374B/en not_active Expired - Lifetime
- 1997-03-18 CN CN 200610093888 patent/CN1921373A/en active Pending
- 1997-03-18 CN CN 200610088687 patent/CN101018102B/en not_active Expired - Lifetime
- 1997-03-18 CN CN 200610093894 patent/CN1913425B/en not_active Expired - Lifetime
- 1997-03-18 CN CN 200610093890 patent/CN1913423B/en not_active Expired - Lifetime
- 1997-03-18 CN CN 200610093889 patent/CN1972183A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4292655A (en) * | 1978-11-06 | 1981-09-29 | U.S. Philips Corporation | System incorporating word synchronization for a serial signal sequence |
US4580162A (en) * | 1982-11-19 | 1986-04-01 | Fuji Photo Film Co., Ltd. | Adaptive picture image compression system |
JP3250935B2 (en) * | 1995-02-01 | 2002-01-28 | ミサワホーム株式会社 | Building unit piping method |
Also Published As
Publication number | Publication date |
---|---|
CN1921374A (en) | 2007-02-28 |
CN101018102A (en) | 2007-08-15 |
CN1913423B (en) | 2010-06-02 |
CN1921375A (en) | 2007-02-28 |
CN1921373A (en) | 2007-02-28 |
CN1913425B (en) | 2010-12-29 |
CN1913425A (en) | 2007-02-14 |
CN1913423A (en) | 2007-02-14 |
CN1921374B (en) | 2010-05-12 |
CN1913424A (en) | 2007-02-14 |
CN1972183A (en) | 2007-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100593294C (en) | Coding device and coding method | |
JP3657967B2 (en) | Decoding method and apparatus | |
CN101018102B (en) | Encoder and encoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20120919 |