CN1921374B - Coding apparatus and coding method - Google Patents

Coding apparatus and coding method Download PDF

Info

Publication number
CN1921374B
CN1921374B CN 200610093891 CN200610093891A CN1921374B CN 1921374 B CN1921374 B CN 1921374B CN 200610093891 CN200610093891 CN 200610093891 CN 200610093891 A CN200610093891 A CN 200610093891A CN 1921374 B CN1921374 B CN 1921374B
Authority
CN
China
Prior art keywords
code
synchronizing
code string
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
Application number
CN 200610093891
Other languages
Chinese (zh)
Other versions
CN1921374A (en
Inventor
菊地义浩
渡边敏明
驮竹健志
中条健
永井刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP24388396A external-priority patent/JP3597647B2/en
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of CN1921374A publication Critical patent/CN1921374A/en
Application granted granted Critical
Publication of CN1921374B publication Critical patent/CN1921374B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

In a coding system wherein an error correction/detection coding is combined with a synchronization recovering technique using a synchronization code, the problems of a pseudo synchronization and a step out due to error detection are solved. There is provided a coding part 212 for coding an input multiplexed-code string 201 to an error correcting-/detecting code comprising an information bit and a check bit, and code string assembling part 213 for inserting a synchronization code into any one of a plurality of periodically predetermined synchronization code inserting positions in the code string 201, for arranging the information bit at an optional position in the code string, and for arranging the check bit at a position other than the synchronization code inserting positions in the code string 201 to assemble an output code string 205.

Description

Code device and coding method
The application for same applicant in the applying date be that the application number submitted on March 18th, 1997 is 97193909.8, denomination of invention divides an application for the 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 translator/interpretation method of error correction/detect coding and transmit/store by 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 by wireless transmission link etc., because the error rate height of transmission line, so, transmit resulting code string how high-qualityly and just become important problem.
When carrying out the transmission of code string/storage by 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 an example, the method as can error detection is to use and checks and and CRC error detection codes such as (cyclicredundancy check).These error correction/detect are according to certain rule unnecessary position (tediously long property) to be appended on transmission/canned data, check that when decoding whether the code string of transmission/storage meets this rule, 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, begins the method deciphered once more from the moment that detects synchronous code when taking place to depart from synchronously.
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, usually in error correction/detect in the coding, be difficult to constitute the code word of avoiding occurring a certain specific bit pattern, when the bit pattern identical occurring,, will cause pseudo-synchronous because the flase drop of synchronous code is surveyed with synchronous code.
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 by 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 by easy generation error code/storage code string, also may 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, 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, but, if improve tediously long degree, then transmitting the needed figure place of identical information will increase. therefore, the raising 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, the additional tediously long property in order to improve anti-mistake, if transmission/memory rate is identical, then must carries out compressed encoding, thereby will cause image quality or tonequality decline few amount of information.
Therefore, as with still less tediously long degree and have the method for high anti-mistake, 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 by 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 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 with expression error correction/the detect kind of coding to append to method on the code string.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 embodiment, is to switch 2 kinds of error correction/detect coding FEC1 and FEC2.In title 1101~1104, insert the heading message of the number of the kind of expression error correction/detect coding or code word.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 by additional this heading message, because additional header, will increase the figure place of 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 mentioned above, 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 the flase drop of synchronizing code is surveyed cause synchronously pseudo-, even avoid pseudo-synchronous operation by 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 by additional header, because additional header will increase the figure place of necessary transmission/storage, so, when image and sound being carried out high efficiency of compression coding and 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
Main purpose of the present invention aims to provide and can solve owing to the flase drop of synchronizing code is surveyed pseudo-code device and the code translator that reaches the problem that departs from synchronously synchronously that causes.
Purpose more specifically of the present invention is, can solve because the flase drop of synchronizing code is surveyed pseudo-code device and the code translator that reaches the problem that departs from synchronously synchronously that 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) the 1st code device of the present invention is characterized in that: thus have will input code string be encoded to by information bit and check the coding unit of the error correction that the position consists of/detect code and synchronizing code is inserted into a certain position in a plurality of synchronizing codes insertion position that predetermines in the output code string and simultaneously above-mentioned information bit is configured to arbitrarily position in this code string, above-mentioned inspection position is configured to the code string assembled unit that position beyond the above-mentioned synchronizing code insertion position in this code string is combined into the output code string.
The 1st code translator of the present invention is characterized in that: have according to the code string that is encoded to by information bit and check the error correction that the position consists of/detect code carry out the synchronizing code detecting unit of the detection of synchronizing code in a plurality of synchronizing codes insertion position that predetermines, decompose above-mentioned code string and extract error correction/detect the information bit of code out and be configured in this error correction of the position beyond the above-mentioned synchronizing code insertion position/detect code the inspection position the code string resolving cell and receive the information bit of being extracted out by above-mentioned code string resolving cell and check the position and with above-mentioned error correction/the detect decoding unit that code is deciphered.
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, the inspection position of error correction/detect code is present in beyond the synchronizing code insertion position, so, even comprise the bit pattern identical with synchronizing code in checking the position, also its flase drop can not be surveyed is synchronizing code.Therefore, insert etc. the position that needn't use the special error correction that prevents specific bit pattern/detect code or be used to prevent the sync form after error correction/detect coding, so, not only can increase employed error correction/the detect 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: append in the 1st code device and be 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 being arranged in input code string beyond the synchronizing code of a plurality of synchronizing codes insertion position that the output code string is predetermined, to carry out code string input coding unit after the conversion by this code string converter unit, and be encoded to by information bit and check the error correction that the position constitutes/detect code.
The 2nd code translator of the present invention is characterized in that: appended to be present in the code string of being deciphered by decoding unit in the 1st code translator 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 by carrying out conversion in contrast to this, owing in bit string, do not comprise the bit pattern identical with synchronizing code, so, the flase drop that synchronizing code can not occur is surveyed. 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 the probability of surveying owing to the flase drop 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 will input code string be encoded to error correction/detect code coding unit, synchronizing code is inserted into the judging unit of figure place that synchronizing code in the above-mentioned code string inserts the unit and judges the information of error correction before the above-mentioned synchronizing code that should be encoded to the above-mentioned code string of next-door neighbour/detect code, in above-mentioned coding unit, according to the figure place of judging by above-mentioned judging unit, make error correction before the above-mentioned synchronizing code of next-door neighbour/detect code become the contracting of moving back of contracting with adapting to and move back code.
The 3rd code translator of the present invention is characterized in that: have being encoded to error correction/detect code and inserting the decoding unit that the code string of synchronizing code is deciphered, detect the synchronizing code detecting unit of the synchronizing code in the above-mentioned code string and judge the judging unit of figure place of the information of error correction before the synchronizing code that detects by the synchronizing code detecting unit be encoded in the above-mentioned code string of next-door neighbour/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 error correction of next-door neighbour 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 the code string that will comprise the multiple information of 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, by 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 5th code device of the present invention is characterized in that: thus have be arranged in input code string beyond the synchronizing code in interval of the figure place that predetermines of a plurality of synchronizing codes insertion position that output code predetermines and front and back thereof be transformed to make with the Hamming distance of this synchronizing code more than or equal to the code string converter unit of the value that predetermines, will carry out code string after the conversion by above-mentioned code string converter unit and be encoded to by information bit and check the coding unit of the error correction that the position consists of/detect code and some positions that synchronizing code is inserted into a plurality of synchronizing codes insertion position that above-mentioned output code string predetermines are configured to above-mentioned information bit the arbitrarily position of this output code string simultaneously and above-mentioned inspection position are configured to the code string assembled unit that position beyond the above-mentioned synchronizing code insertion position of this code string is combined into this output code string.
The 5th code translator of the present invention is characterized in that: have from be encoded to by information bit and check the error correction that the position consists of/detect code and insert the code string of synchronizing code the synchronizing code detecting unit that carries out the detection of synchronizing code in the interval of the figure place that predetermines of the synchronizing code insertion position that predetermines and front and back thereof, decompose above-mentioned code string extract error correction/detect the information bit of code out and be configured in this error correction of the position beyond the above-mentioned synchronizing code insertion position/detect inspection position of code the code string resolving cell, receive the information bit of being extracted out by above-mentioned code string resolving cell and check the position and decoding unit that above-mentioned error correction/detect code is deciphered and will being present in is transformed to the code string converter unit that code string beyond this synchronizing code that makes the figure place interval that predetermines more than or equal to above-mentioned synchronizing code insertion position and the front and back thereof of the value that predetermines with the Hamming distance of synchronizing code is transformed to original code string in the code string of being deciphered by above-mentioned decoding unit.
Like this, in the 5th coding/decoding device, for the input code string, 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, in code translator, carry out conversion in contrast to this by code string to input, owing to do not comprise the bit pattern identical with synchronizing code in this interval, so, even by 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) the 6th code device of the present invention is characterized in that: have to make and input signal 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 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 some positions in above-mentioned a plurality of synchronizing codes insertion position.Like this, just, synchronizing code only can 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 by 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, make multiple compressed code realize in the demultiplexing code string of demultiplexing in advance the synchronizing code insertion position of decision periodically owing in code device, synchronizing code only is inserted into, so, in code translator, only carry out synchronous detecting in this synchronizing code insertion position just passable, compare 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 by 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 will be arranged in code string beyond the above-mentioned synchronizing code of above-mentioned synchronizing code insertion position of above-mentioned output code string be transformed to and make it and the Hamming distance of 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 and will 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, by 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 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 flase drop survey of synchronizing code can be guaranteed can not take place, thereby the probability that the synchronizing code flase drop is surveyed 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, if insert the code string of synchronizing code and be to make the picture signal of unit input is frame by frame carried out the demultiplexing code string that multiple compressed code behind the compressed encoding is realized demultiplexing, 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 mentioned above, if use the present invention, then can obtain following effect.
(1) according to the 1st coding/decoding device, be present in position beyond the synchronizing code insertion position by 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 checking that the bit pattern identical with synchronizing code takes place in the position, the bit pattern identical with synchronizing code can not take place in the synchronizing code insertion position of carrying out the synchronizing code detection, thereby do not have the possibility of carrying out synchronous detecting mistakenly fully on principle yet.
In addition, for the code string that is positioned at the synchronizing code insertion position,, just can overcome the difficulty that in the past constituted like that 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 by being inserted, in bit string, do not comprise the bit pattern identical with synchronizing code, so, the flase drop survey of synchronizing code can be guaranteed can not take place for the mistake below the figure place of anticipation, thereby the probability of the flase drop survey of synchronizing code can be reduced.In addition,,, also can distinguish synchronizing code and the code string beyond it even mistake is blended in the code string if carried out this conversion, so, the probability of surveying owing to the flase drop of the wrong synchronizing code that causes can be reduced.
In addition; error correction/detect is carried out after being coded in and inserting the conversion of carrying out code word by the position; so; also carried out error protection to inserting the position. therefore; compare with a mode that has earlier of after carrying out error correction/detect coding, carrying out inserting the position; can reduce and insert the probability that makes a mistake in the position. and; because only inserting, the position carries out in the synchronizing code insertion position; so; compare with the situation of in code string is all, carrying out inserting the position that has earlier; can reduce owing to the size of code increase that causes is inserted in the position, thereby improve 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 by utilizing image and sound etc. in code device is carried out the switching of error correction/detect code and judge error correction/detect the kind of code and carry out the switching identical with code device according to the information of decoding in code translator 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, its figure place can 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 by 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 by 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, make multiple compressed code realize in the demultiplexing code string of demultiplexing in advance the synchronizing code insertion position of decision periodically owing in code device, synchronizing code only is inserted into, so, only carry out synchronous detecting in code translator in this synchronizing code insertion position just passable, 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 by 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, just can reduce pseudo-synchronous generation, thereby 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, by 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 conversion with the Hamming distance of synchronizing code, in bit string, do not comprise the bit pattern identical with synchronizing code, so, the flase drop survey of synchronizing code can be guaranteed not take place to the mistake below the figure place of anticipation, thereby the probability that the synchronizing code flase drop is surveyed can be reduced.
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 illustrate 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 illustrating Fig. 3 of embodiment 2.
Figure 14 be used for illustrating embodiment 2 Fig. 9 synchronizing indicator and insert the figure of the action of position remover.
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 figure of demultiplexing rule 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 illustrate that the present invention uses.
Figure 31 is the figure of the processing of the code translator when being used to illustrate the filler that uses Figure 30.
Figure 32 is the figure of feature 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 embodiment 1 of motion image coding device of the high efficiency of compression code device combination of discrete cosine transform coding. about the coded system that motion compensation adaptive prediction and discrete cosine transform coding are made up, because document 1 for example: peace Tian Hao writes, " マ Le チ メ デ イ ア symbolism Guo Inter Standard Quasi ", ball is kind, in (putting down in June, 3) etc. detailed explanation is arranged, so, the overview of action only is described herein. in addition, the code that is separated into information bit and checks the position is adopted in the error correction of Shi Yonging 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 by 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.
Prediction signal 132 input subtracters 103 are by deducting prediction signal 132 prediction of output residual signals 133 from input motion picture intelligence 131.Predicted residual signal 133 block unit by a certain size in discrete cosine transformer 104 carries out discrete cosine transform (DCT), generates the DCT coefficient.This DCT coefficient carries out quantification treatment by quantizer 105.Be divided into 2 branches from the DCT coefficient data that has quantized of quantizer 105 outputs, 1 branch carries out Variable Length Code by the 1st variable length coder 106, and another branch carries out carrying out inverse discrete cosine transform (inverse DCT) by inverse discrete cosine transformer 108 after re-quantization is handled through inverse quantizer 107.The output of inverse discrete cosine transformer 108 in adder 109 with prediction signal 132 additions, generate the partial decode signal.This partial decode signal storage is in frame memory 102.
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 strings 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 by 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 is by position inserter 211, error correction/detect and switch encoder 212 and code string combiner 213 formations. 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, PH is an image header, MODE is a prediction mode information, MV is a motion vector information, CHK is error correction/the detect inspection position of code, COEF is a residual error DCT coefficient, and STUFF is filler (inserting the position). this output code string 205 has following feature.
(1) synchronizing code PSC only is inserted into by the some positions in the synchronizing code insertion position shown in the arrow of (every 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.Check that 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, check that position CHK is not input to the synchronizing code insertion position shown in the arrow, therefore, complete impossible owing to check position CHK generation puppet synchronously.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 describe 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 is made of " * * * * * " of the sync_nb_len position of the kind of " 0 " of for example sync_0_len position, 1 " 1 " and expression synchronizing code 301 as shown in Figure 5.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 synchronizing code insertion position every the configuration of 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, as hereinafter described, just insert 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, synchronizing code 301 can not be deciphered uniquely when preventing from output code string 205, to have the identical bit pattern of code word with synchronizing code 301, be carried out the position as required and insert.For example, if synchronizing code 301 becomes the continuous code word in sync_0_len position " 0 " as shown in Figure 5,0 more than the sync_0_len position can not arranged continuously as long as insertion " 1 " makes in synchronizing code 301 code string in addition, 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 represents to remove A with B.
In addition, for the probability that the flase drop that reduces the synchronizing code 301 that mistake causes is surveyed, can carry out position insertion as described below like that.
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 by in the following manner demultiplexing code string 201 being carried out the position in the inserter 211 on the throne, will be arranged in code string beyond the synchronizing code of synchronizing code insertion position of demultiplexing code string 201 and be transformed to Hamming distance with synchronizing code 301 and become 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 623 pairs of code strings 222 from 211 outputs of position inserter of latched signal, generates and output information position 631 and check 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 as the error correction of follow-up prediction mode information 303/detect code, before reaching the information digit of FEC1, can use FEC1.
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 checks that by the counter 701 of the figure place of counting output code string 205, temporary transient storage the switch controller 704 of the buffer 702 of position 632 and figure place thereof, the switch 703 that switches output code string 205 and control switch 703 constitutes.
Counter 701 is reset to the value of the long sync_len of synchronizing code when the insertion of input synchronizing code requires signal 203, from the next bit of synchronizing code to the counting that make progress till order is imported next synchronizing code. after synchronizing code is imported, when the switch action is with 631. input checking positions 632, output information position before 632 inputs of initial inspection position, 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 checking figure place 711 sum counters 701, foregoingly controls switch 703 usefulness so that check that 632 can not output to the inspection bit shift of synchronizing code insertion position like that.For example, design value 221 is bit_count, checks that figure place 711 for 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.
Output encoder device 200 is foregoing to be used to contract as error correction/detect code in the decline of 1 frame like that and moves back sign indicating number, carries out position insertion for the displacement of checking the position, so, carry out the different action of normal conditions with in addition part.That is, during the output of the demultiplexing code string 201 of Port Multiplier 111 end 1 frame, the synchronizing code of just exporting next frame inserts and requires signal 203.Therewith accordingly, it is from inserting the bit pattern that is predetermined of position generator 705 outputs that the error correction of Fig. 6/detect switches that error correction in the encoding section 212/detect encoder 604 is considered as the insufficient section of error correction/the detect information bit 631 of code, thereby uses the error correction of moving back sign indicating number of contracting/detect coding.This bit pattern can make whole position be " 1 ", also can be " 0 ", also can be " 0101... " such specific form repeatedly.Not to information bit 631 these insertion positions of supplying of output.
In the code string combiner 213 of Fig. 7, with information bit 631 output to last after, switch 703 is switched to input from position generator 705, carry 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 checking 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 by switch 703 to output code string 205 output information positions 631 with after inserting the position, switch at last and check position 713, 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 and motion compensation adaptive prediction message code 842 are imported the 1st and the 2nd variable length decoder 806 and 810 respectively.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 also has different situations respectively, 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 carrying out with variable length coder 106,110, Port Multiplier 111 and the output encoder device 200 of Fig. 1 of processing 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 is decomposed into information bit 912 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 ', with input code string 205 ' and checks position 913 and the code string decomposers 903 of output, error correction/detect decoder 904 and insert position remover 905 and constitutes.
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 that the n position is following, 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 with the Hamming distance of genuine synchronizing code, so long as the following mistake in n position is sneaked into, the mistake synchronous detecting just can not take place.
Figure 10 is the block diagram of the structure of expression code string decomposer 903.Input code string 205 ' is switched to information bit 1021 and is checked 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, enter the error correction at rear in the code string 205/detect between the information bit of code. when controller 1001 carries out the end of input of information bit of the error correction of the control .1 piece that separates with information bit in order to the inspection position that will carry out displacement/detect code, count value 1023 is just consistent with information bit length 1024 in comparator 1006. and controller 1001 receives this unanimity signal, be taken into from error correction/detect information follower 1007 and check bit length 1025, calculating enters the inspection bit position between the next information bit. and the count value 911 of establishing the input figure place of the code string 205 ' when being judged to be unanimity by comparator 1006 is bit_count, the inspection bit length is check_len, checks that then position starting position check_start just becomes
Check_start=(bit_count/sync_period+1) * sync_period-check_len checks that 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, handle especially.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.It is identical to insert the bit pattern that the insertion position generator 705 Fig. 7 of the carry-out bit packed format of position generator 1015 outputs and encoder takes place from this.
On the other hand, when last_info_len is longer than info_len, just be judged to be an insertion portion, become part more than the info_len, just output information position 912 not for count value 1023.For checking the position, just controlling switch 1002 will
total_count-check_len<bit_count≤total_count
The time output code string 205 export as checking the position.
Error correction/detect decoder 904 to import the information bit 912 and the inspection position 913 of exporting from code string decomposer 903, 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 output code string 915 and the error detection signal 804 of having carried out error correction.
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, just begin to count from the synchronizing code insertion position " 1 " of sync_0_len-(2*n+1) position number (establish=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 mentioned above, 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 situations 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 situations of output expression, contrary Port Multiplier 811 receives this signal, and output expression is to the error correction of residual error DCT coefficient 305/the detect 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 mentioned above, 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 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 the prediction mode information in zone and motion vector information just use these information when inferring prediction mode information that this is regional 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) detecting mistake in image header, if directly with its decoding, very large image quality deterioration just may 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 follow-up code before the next synchronizing code, just this part is also carried out same processing.
In the above description, 901 examples that (every 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 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 synchronizing code, all synchronizing codes are to 1 of reach.(c) be 1 the additional situation that takes place in the bit string before synchronizing code, 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, the bit string shown in Figure 12 (b)~(d) also must be judged to be synchronizing code.As shown in 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 the center illustrates this code device/code translator 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, still, and the action difference of the position inserter 211 among Fig. 3.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 embodiment, 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 by 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 embodiment, 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 shown in Figure 14 such sync_0_len position, just from the position judgment shift amount of last " 1 ".Particularly, be exactly to judge the interval 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, expression is 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 with 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 and handled and the position is removed 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 mistakenly, but, take place easily the position additional/can suppress the quality badness of the decoding image that causes owing to the synchronous detecting mistake in transmission route/medium of disappearing, thereby can improve image quality.
In addition, in the time can judging interval that the generation position adds/disappears in transmission route and medium with certain form, 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 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 CHKP 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 is writing down former frame in frame length information POINTER 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 and check a position CHKP.And, as 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, after using the method identical to carry out the detection of synchronizing code, from code string, take out and continue at thereafter frame length information POINTER and check a position CHKP with embodiment 1 and embodiment 2, carry out error correction/detect decoding, thereby frame length information POINTER is deciphered.And, with the frame length information POINTER that 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, check that the flase drop that has or not synchronizing code surveys.
If the code of the former frame shown in frame length count value and the frame length information POINTER is long not simultaneously, the flase drop that synchronizing code might take place is surveyed, so, just use frame length information POINTER to carry out the detection again of the synchronizing code of institute's flase drop survey.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.
Frame length information POINTER and the figure place of checking position CHKP for a long time, as shown in figure 16, synchronizing code PSC, frame length information POINTER and check that a position CHKP 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 and code translator in the position deletion handle also can be at frame length information POINTER with check that an interval of CHKP existence do not carry out.
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 further improved.
In the example of Figure 17, be with frame length information POINTER and check that position CHKP places the example of 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 check position CHKP, carry out error correction/detect decoding,, carry out the detection again of synchronizing code by 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 that carries out the level coding that changes according to the importance that error correction/detect code is carried out information encoded, but, in frame, both can use identical error correction/detect code also can not use error correction/detect code. at this moment, by the usefulness shown in the present embodiment so that the code string beyond the synchronizing code and synchronizing code keep inserting more than or equal to the position of the Hamming distance of the value that is predetermined handles and corresponding synchronizing code detects to handle and detects synchronous ability than having mode to improve earlier with it.
In addition, the example that the motion video signal is carried out high efficiency of compression coding and transmit/store has been described in the explanation of the various embodiments described above, 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 strongly.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 strongly.
(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 synchronizing code and inserts 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 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 only inserts periodically by every certain interval (sync_period position) and certain position of the synchronizing code insertion position shown in the arrow of configuration.In Figure 20, different with Fig. 4 is does not comprise error correction/the detect inspection position CHKP 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, describe the structure and the action of the output encoder device 200 of the Figure 19 that generates this output code string 205 in detail.
Counter 1701 inserts from Port Multiplier 111 input synchronizing codes and requires signal 203, during as the initial position of demultiplexing code string 201 input synchronizing codes 301, set is " 1 ", during input whole of synchronizing code 301, is the long sync_len of synchronizing code with regard to set.Then, counter 1701 is close to next synchronizing code position before from the next bit sequential counting of synchronizing code 301 to output.
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... " so specific integrated mode.
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, not from the signal of contrary Port Multiplier 811 to 800 inputs of input code translator.
Figure 22 is the block diagram of the structure of expression input code translator 800.This input code translator 800 is made of the counter 1902 of the figure place of synchronizing indicator 1901 that detects the synchronizing code in the input code string 205 ' and counting input code string 205 '.
Counter 1902 is reset to " 0 " in the initial period of decoding, and 1 of input code string 205 ' every input is upwards counted " 1 " with count value 1911.
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 represents 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 synchronizing code can not be deciphered uniquely when in output code string 205 bit pattern identical with synchronizing code being arranged, so, be the processing that is used to prevent this situation.For example, synchronizing code is by " * * * * * " of the sync_nb_len position of the kind of " 0 " of sync_0_len position, 1 " 1 " and expression synchronizing code when constituting as shown in Figure 5, 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 represents to remove A with B.
In addition, in order to reduce the probability that causes the flase drop survey 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 by 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 after insert the position and the same position of carrying out the last interval of frame of output encoder device of Figure 19 and inserted (STUFF among Figure 20), 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 the sync_0_len-(number of 2 * n+1) " 1 " from the synchronizing code insertion position, if n0 less than 2 * n+1, just deletes 2 * n+1-n0 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 error 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 represents the position of inserting.
For example, as shown in Figure 5, synchronizing code is by " * * * * * " of the sync_nb_len position of the kind of " 0 " of sync_0_len position, 1 " 1 " and expression synchronizing code when constituting, just from the beginning of the synchronization code inserting interval insertion position SB to 1 of the position that is predetermined in the interval of sync_0_len position insertion.
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, by from synchronization code inserting interval begin adopt the parity in the interval of sync_0_len position with inserting position SB, 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 embodiment, 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 ", because inserting position SB is " 1 ", so, must be that " 1 " more than 1 enters synchronization code inserting interval, thereby the bit pattern identical with synchronizing code can not take place.In addition, also play parity inspection owing to insert position SB, so, can detect and be blended into this interval bit-errors.
In addition, also can check the position as whole parity before the next synchronizing code insertion position with inserting position SB.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, can utilize whole parity inspection to carry out error detection.
For the probability that the flase drop that reduces the synchronizing code that is caused by mistake is surveyed, wish to insert more figure place.For example, even for the mistake that has entered 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 the position of the insertion position, position that is arranged in input code string 205 ' is " 0 ", just be judged to be bit-errors, to contrary Port Multiplier 811 outputs, be used to make the decoding image that the processing of big deterioration does not take place error detection signal (not shown).
In embodiment 1~embodiment 4, the demultiplexing of Port Multiplier 111 is handled, as shown in Figure 2, show 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, also can press coding region (for example, macro block, GOB etc.) unit prediction mode information 303, motion vector information 304 and residual error DCT coefficient 305 are carried out the demultiplexing processing as shown in Figure 26.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 (image) unit carries out demultiplexing and handles frame by frame, and subregion that can be frame by frame or the layer unit that a plurality of frames are concentrated carried out demultiplexing handle, thereby can insert synchronizing code to these each demultiplexing units (layer unit).
Figure 28 is the example that this demultiplexing of expression is handled. in the example of Figure 28, to having concentrated the macro block of a plurality of encoding blocks, concentrated the GOB of a plurality of macro blocks, image (frame), having concentrated each layer in 4 layers of session of a plurality of images to carry out demultiplexing handles. wherein, session, image, each of GOB layer uses synchronizing code separately (to be SSC among the figure, SEC, PSC, GSC) .SSC, SEC, PSC, GSC uses 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, inserted filler STUFF before PSC, GSC, 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 the length information identical with the frame length information POINTER of Figure 15, Figure 16 and Figure 17 can be appended on each synchronizing code of session, image, GOB.As Figure 15 and shown in Figure 16; frame length information POINTER is carried out error correction/when detecting the protection of code; by 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, also can use error correction/detect code protection, like this, also can improve the patience of the anti-mistake of each heading message part or all of the heading message of session, image, GOB (being SH, PH, GF among the figure).
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 the code word by " 1 " formation of " 0 " of sync_0_len position and 1.In the output encoder device of Figure 23, if expression is total_len from the count value 1221 of the figure place of position inserter 1211 outputs, 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, synchronizing code by 23 " 0 " (that is, sync_0_len=23) and 1 " 1 " constitute.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, by inserting filler 3301, owing to n1=1, so, just needn't insert filler.
Fill processing by 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 that the flase drop that reduces the synchronizing code that causes owing to the transmission route mistake is surveyed, 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 1221total_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 ".
Use is during from the synchronizing code of " 0 " of multidigit shown in Figure 5 beginning, if the number of " 1 " in the bit string before next-door neighbour's synchronizing code is few, the synchronous flase drop that this part takes place is sometimes surveyed.Survey in order to prevent this flase drop, 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 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, survey, determine STUFF in the following manner for the synchronizing code flase drop that prevents the part before next-door neighbour's synchronizing code.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 ", in this part synchronous flase drop might take place just and survey.Therefore, make the displacement of inserting synchronizing code to next synchronizing code insertion position, output comprises the STUFF3313 of a plurality of " 1 ".Like this, owing to the interval, sync_period position before next-door neighbour's synchronizing code (interval 6) comprise 2 * n+1 position above " 1 ", so, can prevent synchronous flase drop survey.
Fill and handle by carrying out position as described above, 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 that synchronous flase drop is surveyed.
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 is total_len, when total_len becomes the value that satisfies 1 condition, the number (being made as n1) of counting " 1 " the input position before the position from the input position in this moment to (sync_0_len-1), 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 by carrying out processing as described above, 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 by constituent parts in the mode of synchronizing code, owing to insert a plurality of synchronizing codes, so the figure place of STUFF reduces will make code efficiency higher.
In addition, when carrying out the demultiplexing processing of a plurality of layers of structure as shown in Figure 28, 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 8 of the kind of 23 " 0 ", 1 " 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 is adopted short code word, be because GOB is the coding unit that is divided into the zonule in picture that is made of 1~a plurality of macro blocks (MB), usually, the synchronizing code of GOB layer is compared with other synchronizing codes, quantity is many, by 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 by such processing.
Such being used to that also can carry out explanation in embodiment 4 prevents pseudo-synchronous processing, promptly can carry out the position and fill processing so that in the code string beyond the synchronizing code 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 that the flase drop of the synchronizing code that the transmission route mistake causes is surveyed, for example the bit string that guarantees not take place the identical bit pattern of the synchronizing code long with bit length (being SSC, SEC, PSC in the example of Figure 34 (a)) 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 (being GOB layer, macroblock layer in illustrated example) of layer low low level that uses the shortest code carries out, and the code string that also can contrast layer following layer (image layer, 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 the different synchronizing code of length 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 thereafter " 1 " of continuing, in the code word of long code word and weak point, 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 increase of the Hamming distance of synchronizing code and this part string, so, even the transmission route mistake takes place, also can be easy to discern different synchronizing codes.
(2) can before the short synchronizing code of length, insert filler.For example, shown among the figure 3401 like that, by before the short GSC of length, inserting by 1~filler 3401 that a plurality of " 1 " constitutes, 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 GSC after, carry out the position insert 3402 so that with the synchronizing code of identification length in the Hamming distance increase of part of kind of synchronizing code.
(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) are the figure of an example of output code string 205 of the motion image coding device of expression present embodiment.This output code string 205 enters 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 (being STUFF in Fig. 4) 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, just pointer information 2702 is deciphered, and asked the code string of frame n-1 to also have several.By 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 carry out error correction/detect coding to part or all 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.
Shown in Figure 27 (a) carry out error correction/detect coding like that the time, the error correction of the part from synchronizing code PSC to next one inspection position CHK/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), (b) be the figure of expression as the example of the code table of the filler STUFF of the concrete example of above-mentioned filler STUFF. Figure 30 (a), (b) feature is to decipher uniquely from the opposite direction of output code string, like this, just starting position that can specific uniquely filler STUFF. therefore, decoding end position by 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 ", may since back described easy decoding causing flase drop survey.
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 represents to decipher end position.Mistake is not sneaked into code string, in the time of can normally deciphering, shown in arrow 3101 like that, 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 is blended in the code string, the starting position that like that be displaced to filler STUFF of decoding end position shown in arrow 3102,3103 of the code string before next-door neighbour's filler STUFF.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, before next synchronizing code insertion position, read in filler STUFF, 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 flase drop of the mistake in the time of like this, just can reducing mistake and sneak into filler STUFF is surveyed.
The code table of Figure 30 (a) is necessarily with " 0 " beginning, and follow-up position is " 1 ".Therefore, can only judge also whether the next bit of the decoding end position of next-door neighbour's filler STUFF code string before is that " 0 " detects mistake, perhaps, only detect mistake according to " 0 " of beginning and follow-up several " 1 ".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 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 ", as shown in Figure 5, and owing to the Hamming distance with a synchronizing code that comprises a plurality of " 0 " and a part thereof increases, 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, with all be " 0 " synchronizing code and a part Hamming distance become (length of filler STUFF-1).In addition, in the code table of Figure 30 (b), just the beginning of filler STUFF and last position be " 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, by 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) be the example of the code string of expression when using filler STUFF shown in the code table of common filler (all positions are " 0 ") and Figure 30 (a) respectively, (a-1), (b-1) be expression (a-0) respectively, example when sneaking into mistake (b-0). by Figure 32 (a-1) as can be known, in all positions is in the common filler of " 0 ", only sneaked into 1 mistake, shown in the dotted line of (a-1) like that, because the bit pattern identical with synchronizing code takes place, so, to take place synchronously pseudo-. in contrast, filler STUFF shown in the code table of Figure 30 (a), shown in Figure 32 (b-2) like that, 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, shown in the arrow 3104 of Figure 31 like that, the code string before can next-door neighbour S TUFF is from deciphering in the other direction.
In the above-described embodiments, filler STUFF can determine as follows.
When (1) synchronizing code comprises " 0 " of sync_0_len position as shown in Figure 5, by 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, by 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 complement of getting the complement of " 1 " of binary number representation or " 2 " as the code word of 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 STUFF can be determined as " 01111111 " to remaining position of " 0 " beginning of 1 and even a plurality of code word for " 1 ".Like this, if STUFF is deciphered and explore the position that " 0 " is arranged from opposite direction, just this place can be judged to be uniquely the beginning place of STUFF.In addition, in this embodiment, 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 part or all the inspection position or the parity of error correction/detect code of output code string to check position 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 such, by 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) use error correction/when detecting code, if it is just enough to make synchronizing code insert the maximum sum of inspection position of length and the error correction that sync_period at interval is synchronizing code more than or equal to the figure place of carrying out the minimum of synchronous detecting in code translator/detect code. owing to the mean value of the figure place of the last filler STUFF of frame is sync_period/2, so, by making sync_period become the minimum bit that this can carry out synchronous detecting, just the figure place of filler STUFF can be reduced, thereby code efficiency can be improved.
(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 carrying out the minimum of synchronous detecting in code translator.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 by 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/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 is the figure of an example of output code string of the motion image coding device of expression present embodiment.In this output code string,, carry out described in the above-described embodiments position and insert processing in order to reduce owing to the flase drop of the wrong synchronizing code that causes is surveyed probability.In addition, the information of heading message etc. enters the position that is predetermined or relatively sees the position that is predetermined from synchronizing code.
Figure 35 (a) carries out the position insertion to handle code string before, (b) is the output code string that carries out after processing is inserted in the position.Among the figure, oblique line part the 3201,3202,3261, the 3262nd, the information that enters 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 entered.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 by 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 by this, so, enter constant position in order to make the information that enters 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 previous synchronizing code 3205 beginning of information 3201 is Ns1, the Ns1 position shown in the symbol 3221 among the Figure 35 (a) before next-door neighbour's information 3201 can 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 (2)

1. coding method comprises:
The multiple variable-length codes that will obtain behind the received image signal compressed encoding is carried out demultiplexing at each layer in a plurality of layers, generate the demultiplexing code string;
With above-mentioned demultiplexing code string is input, is combined into the output code string; And
Will be according to the difference of layer and the different synchronizing code of length is inserted on some positions in a plurality of synchronizing codes insertion position in this output code string, that determine by predetermined period.
2. code device comprises:
The demultiplexing unit is used for the multiple variable-length codes of received image signal being carried out generate behind the Variable Length Code is carried out demultiplexing at each layers of a plurality of layers, generates the demultiplexing code string;
The code string assembled unit, being used for above-mentioned demultiplexing code string is input, is combined into the output code string;
Wherein, described code string assembled unit will be according to the difference of layer and the different synchronizing code of length is inserted on some positions in a plurality of synchronizing codes insertion position in this output code string, that determine by predetermined period.
CN 200610093891 1996-03-18 1997-03-18 Coding apparatus and coding method Expired - Lifetime CN1921374B (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP6145096 1996-03-18
JP61450/96 1996-03-18
JP16308296 1996-06-24
JP163082/96 1996-06-24
JP232362/96 1996-09-02
JP23236296 1996-09-02
JP243883/96 1996-09-13
JP24388396A JP3597647B2 (en) 1995-09-29 1996-09-13 Encoding method and apparatus

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
CN1921374A CN1921374A (en) 2007-02-28
CN1921374B true CN1921374B (en) 2010-05-12

Family

ID=37722213

Family Applications (8)

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 200610093892 Pending CN1913424A (en) 1996-03-18 1997-03-18 Decoding device and method
CN 200610088687 Expired - Lifetime CN101018102B (en) 1996-03-18 1997-03-18 Encoder and encoding method
CN 200610093891 Expired - Lifetime CN1921374B (en) 1996-03-18 1997-03-18 Coding apparatus and coding method
CN 200610093893 Pending CN1921375A (en) 1996-03-18 1997-03-18 Decoding and decoding system
CN 200610093888 Pending CN1921373A (en) 1996-03-18 1997-03-18 Coding and decoding system
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 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 200610093892 Pending CN1913424A (en) 1996-03-18 1997-03-18 Decoding device and method
CN 200610088687 Expired - Lifetime CN101018102B (en) 1996-03-18 1997-03-18 Encoder and encoding method

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN 200610093893 Pending CN1921375A (en) 1996-03-18 1997-03-18 Decoding and decoding system
CN 200610093888 Pending CN1921373A (en) 1996-03-18 1997-03-18 Coding and decoding system
CN 200610093889 Pending CN1972183A (en) 1996-03-18 1997-03-18 Coding and decoding system

Country Status (1)

Country Link
CN (8) CN1913425B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8345968B2 (en) * 2007-06-28 2013-01-01 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396497A (en) * 1993-02-26 1995-03-07 Sony Corporation Synchronization of audio/video information
EP0651584A2 (en) * 1993-10-29 1995-05-03 Mitsubishi Denki Kabushiki Kaisha Data receiving apparatus and method
CN1114126A (en) * 1993-08-30 1995-12-27 索尼公司 Device and method for encoding image
CN1121661A (en) * 1994-01-18 1996-05-01 大宇电子株式会社 Variable length coder using two vlctables

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7811004A (en) * 1978-11-06 1980-05-08 Philips Nv SYSTEM WITH WORD SYNCHRONIZATION FOR A SERIAL SIGNAL SERIES.
JPS5992688A (en) * 1982-11-19 1984-05-28 Fuji Photo Film Co Ltd Adaptive picture compression system
JP3341781B2 (en) * 1992-12-15 2002-11-05 ソニー株式会社 Image decoding device and image encoding device
JP3250935B2 (en) * 1995-02-01 2002-01-28 ミサワホーム株式会社 Building unit piping method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396497A (en) * 1993-02-26 1995-03-07 Sony Corporation Synchronization of audio/video information
CN1114126A (en) * 1993-08-30 1995-12-27 索尼公司 Device and method for encoding image
EP0651584A2 (en) * 1993-10-29 1995-05-03 Mitsubishi Denki Kabushiki Kaisha Data receiving apparatus and method
CN1121661A (en) * 1994-01-18 1996-05-01 大宇电子株式会社 Variable length coder using two vlctables

Also Published As

Publication number Publication date
CN1913425A (en) 2007-02-14
CN101018102A (en) 2007-08-15
CN1921375A (en) 2007-02-28
CN1921373A (en) 2007-02-28
CN1913424A (en) 2007-02-14
CN1913423A (en) 2007-02-14
CN101018102B (en) 2012-09-19
CN1913423B (en) 2010-06-02
CN1972183A (en) 2007-05-30
CN1921374A (en) 2007-02-28
CN1913425B (en) 2010-12-29

Similar Documents

Publication Publication Date Title
CN100593294C (en) Coding device and coding method
JP3657957B2 (en) Encoding method and apparatus
CN1921374B (en) Coding apparatus and coding 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: 20100512