CN1494675A - 循环位置代码 - Google Patents
循环位置代码 Download PDFInfo
- Publication number
- CN1494675A CN1494675A CNA018231268A CN01823126A CN1494675A CN 1494675 A CN1494675 A CN 1494675A CN A018231268 A CNA018231268 A CN A018231268A CN 01823126 A CN01823126 A CN 01823126A CN 1494675 A CN1494675 A CN 1494675A
- Authority
- CN
- China
- Prior art keywords
- sequence
- code
- subsequence
- position codes
- cyclic position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
- G06F3/0321—Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
Abstract
一种用于关于至少n个符号的序列50确定至少一点的偏移、模n的方法,上述序列包括循环位置代码的重复代码字,上述循环位置代码的长度为n,最短距离为dmin,上述方法包括:从序列50中对应于上述至少一点的位置,获得长度为w个符号的子序列52,其中w≥n-dmin+1;在该子序列中存在符号错误60、62时,将该子序列52映像到很可能与该子序列匹配的循环位置代码的代码字58;以及在序列50中,确定这样获得的代码字58的偏移54,从而确定上述至少一点的偏移。
Description
技术领域
本发明涉及检错循环位置代码和纠错循环位置代码及其在表面位置编码中的应用。
未决专利申请
在本发明的申请人和受让人于2000年11月27日提交的以下未决专利申请中公开了与本发明有关的各种方法、系统和设备:PCT/AU00/01442,PCT/AU00/01444,PCT/AU00/01446,PCT/AU00/01445,PCT/AU00/01450,PCT/AU00/01453,PCT/AU00/01448,PCT/AU00/01447,PCT/AU00/01459,PCT/AU00/01451,PCT/AU00/01454,PCT/AU00/01452,PCT/AU00/01443,PCT/AU00/01455,PCT/AU00/01456,PCT/AU00/01457,PCT/AU00/01458,和PCT/AU00/01449。
在此引用这些未决专利申请公开的内容供交叉参考。
在本发明的申请人和受让人于2000年10月20日提交的以下未决专利申请中公开了与本发明有关的各种方法、系统和设备:PCT/AU00/01273,PCT/AU00/01279,PCT/AU00/01288,PCT/AU00/01282,PCT/AU00/01276,PCT/AU00/01280,PCT/AU00/01274,PCT/AU00/01289,PCT/AU00/01275,PCT/AU00/01277,PCT/AU00/01286,PCT/AU00/01281,PCT/AU00/01278,PCT/AU00/01287,PCT/AU00/01285,PCT/AU00/01284,和PCT/AU00/01283。
在此引用这些未决专利申请公开的内容供交叉参考。
在本发明的申请人和受让人于2000年9月15日提交的未决专利申请:PCT/AU00/01108、PCT/AU00/01110以及PCT/AU00/01111中公开了与本发明有关的各种方法、系统和设备。在此引用这些未决专利申请公开的内容供交叉参考。
在本发明的申请人和受让人于2000年6月30日提交的以下未决专利申请中公开了与本发明有关的各种方法、系统和设备:PCT/AU00/00762,PCT/AU00/00763,PCT/AU00/00761,PCT/AU00/00760,PCT/AU00/00759,PCT/AU00/00758,PCT/AU00/00764,PCT/AU00/00765,PCT/AU00/00766,PCT/AU00/00767,PCT/AU00/00768,PCT/AU00/00773,PCT/AU00/00774,PCT/AU00/00775,PCT/AU00/00776,PCT/AU00/00777,PCT/AU00/00770,PCT/AU00/00769,PCT/AU00/00771,PCT/AU00/00772,PCT/AU00/00754,PCT/AU00/00755,PCT/AU00/00756,和PCT/AU00/00757。
在此引用这些未决专利申请公开的内容供交叉参考。
在本发明的申请人和受让人于2000年5月24日提交的以下未决专利申请中公开了与本发明有关的各种方法、系统和设备:PCT/AU00/00518,PCT/AU00/00519,PCT/AU00/00520,PCT/AU00/00521,PCT/AU00/00522,PCT/AU00/00523,PCT/AU00/00524,PCT/AU00/00525,PCT/AU00/00526,PCT/AU00/00527,PCT/AU00/00528,PCT/AU00/00529,PCT/AU00/00530,PCT/AU00/00531,PCT/AU00/00532,PCT/AU00/00533,PCT/AU00/00534,PCT/AU00/00535,PCT/AU00/00536,PCT/AU00/00537,PCT/AU00/00538,PCT/AU00/00539,PCT/AU00/00540,PCT/AU00/00541,PCT/AU00/00542,PCT/AU00/00543,PCT/AU00/00544,PCT/AU00/00545,PCT/AU00/00547,PCT/AU00/00546,PCT/AU00/00554,PCT/AU00/00556,PCT/AU00/00557,PCT/AU00/00558,PCT/AU00/00559,PCT/AU00/00560,PCT/AU00/00561,PCT/AU00/00562,PCT/AU00/00563,PCT/AU00/00564,PCT/AU00/00565,PCT/AU00/00566,PCT/AU00/00567,PCT/AU00/00568,PCT/AU00/00569,PCT/AU00/00570,PCT/AU00/00571,PCT/AU00/00572,PCT/AU00/00573,PCT/AU00/00574,PCT/AU00/00575,PCT/AU00/00576,PCT/AU00/00577,PCT/AU00/00578,PCT/AU00/00579,PCT/AU00/00581,PCT/AU00/00580,PCT/AU00/00582,PCT/AU00/00587,PCT/AU00/00588,PCT/AU00/00589,PCT/AU00/00583,PCT/AU00/00593,PCT/AU00/00590,PCT/AU00/00591,PCT/AU00/00592,PCT/AU00/00594,PCT/AU00/00595,PCT/AU00/00596,PCT/AU00/00597,PCT/AU00/00598,PCT/AU00/00516,PCT/AU00/00517,和PCT/AU00/00511。
在此引用这些未决专利申请公开的内容供交叉参考。
背景技术
为了提高打印的文档与计算机系统之间的“交互性”程度,已经提出了多种解决方案。这些解决方案包括在文档中打印条形码,条形码对通用资源定位地址(universal resource locator)进行编码,从而使打印的“超级链接”被激活。为了进一步使打印文档的交互性更加紧密,而且为了支持更复杂的功能,例如手写输入,已经建议利用人肉眼实际不可见的位置指示数据或功能指示数据对文档表面进行编码。文档通常包括用户可见的数据,而且用户表面上使用一个检测装置与上述可见数据交互,上述检测装置实际上能够对上述不可见的编码数据进行检测以及解码。
编码数据可以是离散标记形式的,每个离散标记独立于其他离散标记对数据进行编码。为了解码为离散标记形式的上述数据,首先需要识别离散标记及其相对于检测装置的取向。这通常要求在标记中包括目标结构,这样就增加了每个标记的总大小。相邻标记可以共享目标结构以减小每个标记的总有效大小。离散标记的一个缺点是需要检测装置具有至少一个在其视场内的完整标记。结合以下可能的需要,即允许检测装置相对于该表面倾斜,可能需要检测装置的视场明显大于标记大小,正如本申请人的未决PCT专利申请WO 00/72249所述。
使用自记图形从而省去显式目标的方案已经被提出。在使用自记图形时,数据自身的图形可以隐式支持通常由显式目标支持的操作,包括确定图形相对于检测装置的取向以及确定图形内的数据对齐。
在其最简单方式中,自记图形包括图示符(glyph)的矩形或其他规则的栅格。每个图示符与其相邻图示符空间分离,因此可以将其与其相邻图示符识别开。这提供了第一级记录。通过图示符确定的点能够设置栅格线,以识别定向的(并且可能是透视失真的)矩形栅格。这样提供第二级记录,允许图示符相对于栅格被采样。上述自记图形必须含有目标图形,目标图形一旦被定位,就可以确定图示符栅格的取向和平移。这样提供第三级记录和最终级记录,从而允许图示符数据被装配到数据包内并被解释。因为其最大长度和循环特性,所谓m序列已经被提出作为各种自记位置编码图形的基础。
因为例如表面被损伤或被弄污,读出以及随后解码该表面上的位置编码图形可能会出错。自记图形不直接支持检测和/或纠错。
发明内容
可以将q-ary循环(n,k)代码C的代码字的任意数量的拷贝连在一起以形成任意长度的序列。然后,确保映像到该序列的大小为n的窗口产生为C的代码字。如果所设计的该代码刚好含有n个代码字,则该代码的“维”是k=logqn。如果以这样的方式设计该代码以致所有n个代码字属于同一个、唯一循环,则该窗口将在n个连续位置产生n个不同代码字。由于一个代码字与上述序列(模n)中的一个位置之间存在直接对应关系,所以每个代码字可以唯一地映像到n个(相关的)位置中的一个。我们将这种代码称为循环位置代码。当上述代码被设计为具有最短距离dmin时,能够检测的错误达到dmin-1个或较少的任意个数,而且能够纠正的错误达到
个或较少的任意个数。
因此,在本发明的一种一般形式中,本发明提供了一种用于关于至少n个符号的第一序列确定至少一点的第一偏移、模n的方法,上述第一序列包括第一循环位置代码的重复的第一代码字,上述第一循环位置代码的长度为n,最短距离为dmin,该方法包括:
从第一序列中对应于该至少一点的位置,获得长度为w个符号的第一子序列,其中w≥n-dmin+1;
将第一子序列映像到第一循环位置代码的代码字;以及
在第一序列中,确定这样获得的代码字的偏移,从而确定第一偏移。
映像第一子序列的过程优先包括选择匹配该第一子序列的第一循环位置代码的代码字。如果在第一子序列与代码字之间不存在匹配,则标记错误。
作为一种选择,当上述第一子序列中存在达到
的符号错误时,映像第一子序列的过程包括选择很可能匹配该第一子序列的第一循环位置代码的代码字。这可以包括选择汉明距离最靠近上述第一子序列的第一循环位置代码的代码字。优先通过上述第一循环位置代码的w坐标确定上述汉明距离。
优先利用设置或者形成在第一基底之上或之内的第一图形表示第一序列,而且该方法优先包括通过检测或者读出至少是部分的第一图形,从而获得上述第一子序列。优先利用以大致线性方式排列的第一图形的各连续部分表示第一序列的各连续符号。
为了允许最低程度的纠错,优先为w≥n-dmin+2。为了允许较大程度的纠错,优先为w≥n。
该方法可以包括从附加序列获得附加子序列,从而获得附加偏移。该方法还可以进一步包括获得由各相邻序列对获得的各偏移之间的差值。
在本发明的另一个一般方式中,本发明还提供了一种关于多个第一序列确定至少一点的第一坐标值的方法,每个第一序列包括第一循环位置代码的重复第一代码字,第一循环位置代码的长度为n1,最短距离为dmin1,该方法包括:
从第一序列中的每个h1中的对应于该至少一点的位置,获得长度为w1个符号的相应第一子序列,其中h1≥2而w1≥n1-dmin1+1;
将每个第一子序列分别映像到第一循环位置代码的相应代码字;
在相应第一序列中,确定这样获得的每个代码字的偏移,从而确定上述至少一点的多个第一偏移中的相应之一;
对于第一序列中的h1-1对中的每一对,获得相应第一偏移对之间的差值,从而获得多个第一差值中的相应之一;以及
根据多个第一差值获得第一坐标值。
优先至少将第一差值之一解释为第一坐标值的数字。此外,优先至少将第一差值之一解释为用于使第一坐标值与相邻坐标值分离的标志。
该差分编码方法还可以用于编码显式位置和代码字,其中代码字用于进行检错。例如,还可以利用每个差值中的一位编码该代码字。如果该代码字是循环的,则该代码字还可以用于确定位置数据的记录,因此不需要显式标志差值。通常,可以将循环位置代码嵌入(或者装入)其他数据中以提供该数据的记录信号。
可以对位置特定位置特定数据保留每个坐标的一个或者多个列(和/或行)。
该方法优先包括分别关于多个第二序列,确定至少一点的第二坐标值,每个第二序列分别包括第二循环位置代码的重复第二代码字,第二循环位置代码的长度为n2,最短距离为dmin2,该方法包括:
从第二序列的每个h2中的对应于该至少一点的位置,获得长度为w2个符号的相应第二子序列,其中h2≥2而w2≥n2-dmin2+1;
将每个第二子序列分别映像到第二循环位置代码的相应代码字;以及
在相应第二序列中,确定这样获得的每个代码字的偏移,从而确定至少一点的多个第二偏移中的相应之一;以及
根据多个第二偏移获得第二坐标值。
优先至少将第二偏移之一解释为第二坐标值的数字。作为一种选择,该方法进一步包括对于h2-1个第二子序列对中的每个第二子序列对,获得相应第二偏移对之间的差值,从而获得多个第二差值中的相应之一;以及根据多个第二差值获得第二坐标值。
优选地,利用设置或者形成在第一基底之上或之内的多个第一图形中的相应之一分别表示多个第一序列,该方法包括通过检测或者读出至少部分相应第一图形,获得相应第一子序列。
还优先利用以大致直线方式排列的相应第一图形的各连续部分表示每个第一序列的各连续符号,而且以大致平行、分离的方式,排列第一图形。
第一和第二坐标可以确定直角坐标,例如笛卡儿坐标系中的x坐标和y坐标。用于编码直角坐标的第一和第二循环位置代码可以具有相同长度也可以具有不同长度,而且可以是同样的代码,也可以是不同的代码。
表3示出各种长度的最佳二进制(q=2)循环位置代码。该表所列代码的反码、补码及其补码的反码同样是最佳码。许多其他循环位置代码也满足本发明的标准。许多最佳码是单纯码。
通过以下参考附图对本发明的非限制性优选实施例进行说明,可以更好地理解本发明。
附图说明
图1示出采用7位循环位置代码的位置解码过程;
图2示出在出现错误时,采用7位循环位置代码的位置解码过程;
图3示出采用7位循环位置代码的差分编码单元;
图4示出为了差分编码水平坐标,以列排列的13个7位循环位置代码序列阵列;
图5示出根据映像到图4所示阵列上的第一个窗口获得的第一个坐标位置;
图6示出根据映像到图4所示阵列上的第二个窗口获得的第二个坐标位置;
图7示出根据映像到图4所示阵列上的第三个窗口获得的第三个坐标位置;
图8示出交错的两个正交一维位置代码;
图9示出利用存在或者不存在的单个无差别图示符表示的图8所示的交错。
图10示出利用两个不同图示符表示的图8所示交错;
图11示出两个正交一维位置代码的另一种交错;
图12示出利用3个不同图示符和一个空图示符表示的图11所示交错;
图13示出利用距离其标称位置的4个方向之一偏移的一个无差别图示符表示的图11所示交错;
图14示出具有位置特定位置特定(location-specific)数据列和行的位置编码阵列;
图15示出从图14所示阵列的位置特定列和行到标记居中位置特定代码字的数据映像;
图16示出从图14所示阵列的位置特定列和行到填隙位置特定代码字的数据映像;以及
图17示出图15和16的位于其表面的相应位置上的代码字。
具体实施方式
本发明的实施例在对表面上的位置信息和功能信息进行编码时使用从理论上是自记图形形式的循环位置代码。
使用m序列进行位置编码
长度为k的线性反馈移位寄存器(LFSR)包括编号从0到k-1的k个1位级。在每个时钟脉冲,级0的内容构成输出序列的下一位,级i的内容移动到级i-1,级k-1的新内容是通过将寄存器各级的固定子集的先前内容模二加在一起计算的反馈位(请参考Menezes,A.J.,P.C.van Oorschot和S.A.Vanstone,Handbook of AppliedCryptography,1997,CRC Press)。最大长度LFSR产生作为输出、长度为2k-1的所谓m序列,在该序列重复之前,每个可能的非零寄存器值出现一次。因为在m序列中每个k位值仅出现一次,所以已知m序列内的k位窗口产生唯一k位子序列,这样,反过来,可以将该唯一k位子序列解释为m序列内的唯一位置。因为m序列的循环性,映像到递归m序列上的k位窗口产生局部唯一位置,即对n长度的m序列进行求模运算。重复或递归m序列还被称为伪随机(PN)序列。在Golomb,S.W.,Shift Register Sequences,Aegean Park Press,1982中对PN序列的特性和结构进行了专门讨论,在此引用其内容供参考。
正如F.J.Mac Williams和N.J.A.Sloane在“Pseudo-RandomSequences and Arrays”(IEEE的会刊,Vol.64,No.12,December 1976,在此引用其内容供参考)所述,通过将m序列合并为二维阵列,可以将m序列的开窗特性扩展到二维。m序列的长度必须为n=2k1k2-1,这样n1=2k1-1而n2=n/n1相对重要,而且大于1。通过将m序列写入该阵列的对角线,而且无论何时到达边缘均从对面延伸,填充输出的n1×n2位阵列。
正如PCT专利申请WO 92/17859(J.Burns和S.Lloyd)所述,通过将递归m序列排列到各列内并将第二m序列编码为相对垂直对准的相邻列,也可以将开窗特性扩展到二维。循环移位各列以保留整个阵列为矩形。假定2个m序列的长度分别为2k1-1和2k2-1,则(2k1-1)×2k2位阵列内的k1×(k2+1)窗口产生唯一k1×(k2+1)子阵列。子阵列的每个k1位列产生相对的k1位位置,而每对列产生总共k2位的1位差值,并因此产生k2位水平位置。一旦知道了该水平位置,就可以将与该水平位置有关的累积垂直位移附加到第一列的相对垂直位置,从而产生绝对垂直位置。
通过将k1位而非将1位编码为相对垂直对准的每对列,即通过利用垂直m序列允许的全部相对位移,可以将阵列的位置编码密度水平扩展到k1×k2。然后,每个k1位差值代表k1-ary m序列的一个单元。
为了在二维中重新获得k1×k2位,用于水平维的差分编码方法还可以用于垂直维,即,通过将递归m序列排列为行,并将m序列编码为相对对准的相邻行。必须以已知的方式将m序列的行和列空间交错以便进行解码。m序列可以在列(或行)内回归任意次数以产生足够大小的总图形。
正如第6,208,771号美国专利(D.A Jared等人)所述,利用互相平行放置的m序列,可以对直角坐标进行编码。在偶数行向左连续偏移2位而奇数行向右连续偏移2位情况下,每隔一行重复一次每个m序列。因此,偶数行确定45°的固定坐标线,而奇数行确定-45°的固定坐标线,即,彼此成90°,因此,它们的交点确定二维位置。因为通过偏移m序列的多个拷贝获得该角度,所以该方法的效率非常低。
所有纯m序列方法的缺陷都是,随着要求的位置精度的提高,逐渐增加将给定子序列(或子阵列)变换为位置的成本。
正如PCT专利申请WO 00/73887(P.Ericsson)所述,差分编码方法可以直接用于编码坐标,即,相对垂直对准的一组递归m序列可以对水平位置坐标的各相邻部分进行编码,而相对水平对准的一组递归m序列行可以对垂直位置坐标的各相邻部分进行编码。与纯m序列方法不同,然后,必须利用标志值(范围)指出哪列(或哪行)将一个坐标的最低有效部分与下一个坐标的最高有效部分分离。随着差分编码方法的优化,仅利用差分编码方法对一个坐标进行编码,而对另一个坐标进行直接编码。这是可能的,因为一旦对差分编码坐标进行了解码,就知道用于编码直角坐标的、绝对对准的递归m序列,而不仅仅是相对对准。在所描述的方法中,通过使各重合位空间成对并利用一个图示符表示每个位对,2组正交的m序列组合在一起,一个图示符可以假定4个可能值之一。
正如PCT专利申请WO 92/17859(J.Burns和S.Lloyd)所述,可以以各种方式利用所谓可定向m序列来确保确定子阵列的正确取向。以这样的方式构造可定向m序列,即,如果它含有特定子序列,就不含有反序列。在成像要求窗口大小为k×k的阵列时,要求直径至少为的视场,除非该阵列相对于图像检测器的取向受到限制。
检错与纠错
假定在从伽罗瓦(Galois)域GF(q)中取出q-ary符号的情况下,将待编码的数据分割为k符号块。采集所有可能的k元组m=(m0,m1,…,mk-1)形成通过GF(q)、含有qk个可能矢量的矢量空间。N长度的相应块差错代码包括一组M个n符号代码字{c0,c1,…,cM-1},其中M=qk而n>k,每个代码字的形式为c=(c0,c1,…cn-1)。给定带编码的数据块,编码器将数据块映像到C内代码字。由于采集的通过GF(q)的所有可能n元组含有qn个矢量,但是仅存在M=qk各代码字,所以该代码含有冗余码。这可以利用算法r=n-logqM=n-k,或者利用码率R=k/n表示。如果代码C构成通过GF(q)的矢量子空间,即,如果在与一个标量相加或者相乘的情况下,它是闭合的,则代码C是线性码(因此含有0矢量)。就说该代码为k维,而且将其称为(n,k)代码。
两个代码字之间的汉明距离是其中两个代码字不同的符号数。块代码的最小距离dmin是该代码中任意一对不同代码字的最小汉明距离。最大距离dmax是该代码中任意一对不同代码字的最大汉明距离。
错误图形将符号错误引入代码字。其特征是其权重,即它出错的符号数量。对于不可检测的错误图形,必须使代码字类似于另一个代码字。因此,具有最小距离dmin的代码可以检测其权重小于或者等于dmin-1的所有错误图形。尽管给定代码可以检测具有较高权重的许多错误图形,但是这样限制了代码可以检测所有错误图形的权重。
假定错误图形可能使采样的字出错,解码器以这样的方式将采样的字映像到C内的代码字,以使该代码字不同于原始写入的代码字的概率为最小,然后将该代码字映像到数据块。如果没有更具体的特性,假定低权重错误图形比高权重错误图形更适合,而且相同权重的所有错误图形同样适合。因此,最可能写入的代码字是到采样字的汉明距离最近的代码字。如果采样字比正确(写入)代码字更靠近不正确代码字,则解码器出错。由于根据定义,代码字的距离至少为dmin,所以如果错误图形的权重大于或者等于dmin/2,则解码器出错仅是可能。因此,最大概似法解码器可以对其权重小于或者等于
的所有错误图形进行纠错。同样,解码器可以对t错误进行纠错,只要2t<dmin。
利用Singleton界限限定线性码的最短距离:dmin≤n-k+1。以等式情况满足Singleton界限的代码被称为最长距离可分(MDS)码。Reed-Solomon码(请参考Wicker,S.B.和V.K.Bhargava,eds.,Reed-Solomon Codes and Their Applications,IEEE Press,1994,在此引用其内容供参考)是最通用的MDS码。二进制码均不是MDS码。
擦除的是假定已经出错的采样字的符号。由于已知其在该代码字内的位置,所以为了解码而忽略它,将它作为错误处理。例如,采样字内擦除的符号与代码字内的相应符号之间的距离不包括在用作最大概似法解码的根据的汉明距离内。每次进行有效擦除使最短距离减1,即,在出现f擦除时,可以对最大
的错误进行纠错。同样,解码器可以对错误t和f擦除进行纠错,只要2t+f<dmin。对于MDS码,该式将变成2t+f<n-k+1。
如果不做修改,其每个代码字在固定位置含有其相应数据块,则该代码是整齐的。因此,可以区别代码的数据(或消息)坐标与代码的冗余(或奇偶)坐标。
通过使代码收缩,即,通过删除其一个或者多个冗余坐标,可以增加线性码的速率。通过删除g坐标,将(n,k)码变换为(n-g,k)码。收缩码的最短距离是dmin-g。显然,如果dmin-g<2,则收缩过程破坏了代码对偶数代码进行纠错的能力,而如果dmin-g<1,则收缩过程破坏代码对偶数代码进行检错的能力。同样,收缩码的长度w=n-g必须满足w≥n-dmin+1以进行检错,而必须满足w≥n-dmin+2以进行纠错。相对于原始码,收缩码的解码器可以简单处理删除的坐标作为擦除。
如果每个代码字c=(c0,c1,…,cn-2,cn-1)∈C,而且还存在代码字c’=(cn-1,c0,c1,…,cn-2,cn-2)∈C,即c’是c的右循环移位,则块码C是循环码。这样,c的所有n循环移位也是C内的代码字。如果代码字qk的数量超过代码n的长度,则该代码含有许多不同循环,而且每个循环i含有si个唯一代码字,其中si分割n。如果该代码含有0矢量,则该0矢量构成自己的循环。
循环位置代码
利用映像到长度为n=2k-1的递归m序列的k符号窗口进行位置解码不能进行检错和纠错。然而,利用映像到长度为n的递归循环代码字的n符号窗口进行位置解码可以进行检错和纠错。
可以将任意数量的循环(n,k)代码C的代码字的拷贝连在一起以形成任意长度的序列。然后,确保映像到该序列的大小为n的窗口产生C的代码字。如果所设计的代码刚好含有n个代码字,则将该代码的位定义为k=logqn。如果以这样的方式设计代码以致所有n个代码字属于同一个、唯一循环,则该窗口将在n个连续位置产生n个不同代码字。由于代码字与在该序列中的位置存在直径对应关系(模n),所以每个代码字可以唯一地映像到n个(相对)位置之一。显然,即使在存在知道
符号错误时,仍可以确定位置。我们将这种代码称为循环位置代码。循环位置代码的任意代码字确定该代码。循环位置代码不是线性码,因为它不含有0矢量。然而,在下面的讨论中,有助于使用线性码这个术语,而且有助于利用循环位置代码的特征。许多好的循环位置代码是去除了0矢量的线性码。
请注意,循环移位长度为2k-1的二进制m序列构成长度为n=2k-1、k维而以及短距离dmin=2k-1的线性循环码的所有非0代码字(请参考F.J.MacWilliams和N.J.A.Sloane,“Pseudo-Random Sequencesand Arrays”,IEEE会刊,Vol.64,No.12,December 1976)。因此,二进制m序列确定循环位置代码。然而,还请注意,基于m序列的位置代码的解决方案不能将m序列用作代码字,因为它们使用k大小的窗口,而不是使用n大小的窗口。
更一般地说,m序列确定单纯码集的子集。单纯码的长度为n=4m-1,而最短距离dmin=(n+1)/2=2m。正如名字暗示的意思,单纯码的代码字确定n单纯码的等距顶点。因此,单纯码的最短距离和最长距离相同。对于n素数(prime),可以利用Paley构码方法使用二次余码构造循环单纯码(请参考MacWilliams,F.J.和N.J.A.Sloane,TheTheory of Error-Correcting Codes,North-Holland,1977,以及Wicker,S.B.,Error Control Systems for Digital Communicationand Storage,Prentice Hall,1995,在此引用它们的内容供参考)。对于n素数或n=2k-1,单纯码是循环的,并因此确定循环位置代码。
从不仅对于其长度,而且对于任意长度n<4(m+1)-l,具有最大可能最短距离的意义上说,长度为n=4m-1的循环单纯码确定最佳循环位置代码。
在收缩循环位置代码时,从该代码的每个代码字中系统地删除一个或者多个符号。然而,由于收缩的循环位置代码不循环,所以原始代码字仍可以用于构造根据其进行收缩位置解码的任意长度的码序列。如果收缩码的长度为n-g,则(n-g)-符号窗口用于从原始码映像到长度为n的递归循环代码字。
循环位置代码的例子
作为例子,表1示出7位二进制循环位置代码的7个代码字。该代码是循环单纯码而且是系统的。其最短距离(和最长距离)为4,因此可以对一个错误进行纠错。
表1
代码字 | 移位 |
0001011 | 0 |
0010110 | 1 |
0101100 | 2 |
1011000 | 3 |
0110001 | 4 |
1100010 | 5 |
1000101 | 6 |
表2示出该代码的第一个代码字与该代码的每个其他代码字之间的汉明距离,这是在该代码字内的7个可能位置分别利用1位错误连续计算的。就一切情况而论,利用◆表示出错的(即,取反码的)位。由于在所有情况下,出错的代码字与其未出错的原始代码字之间的距离刚好是1,所以出错的代码字与每个其他代码字之间的距离始终小于3。由于该代码(根据定义)仅含有一个循环,所以该表示出该代码对任意代码字内的任意1位错误进行纠错的能力。
表2
代码字 | 0001011 | 0010110 | 0101100 | 1011000 | 0110001 | 1100010 | 1000101 |
000101◆ | 1 | 3 | 3 | 3 | 5 | 3 | 5 |
00010◆1 | 1 | 5 | 3 | 3 | 3 | 5 | 3 |
0001◆11 | 1 | 3 | 3 | 5 | 5 | 5 | 3 |
000◆011 | 1 | 3 | 5 | 5 | 3 | 3 | 3 |
00◆1011 | 1 | 3 | 5 | 3 | 3 | 5 | 5 |
0◆01011 | 1 | 5 | 3 | 5 | 3 | 3 | 5 |
◆001011 | 1 | 5 | 5 | 3 | 5 | 3 | 3 |
图1示出由重复多次的7位二进制循环位置代码的第一代码字构成的序列50。图1还示出映像到该序列、分别产生该代码的代码字并因此根据表1产生移位值54的8个相邻7位窗口52。图2示出分别存在两个1位错误60和62的同一个序列50。因此,映像到该序列的8个7位窗口52中的7个7位窗口52也含有1位错误。如表2所示,可以对这些错误进行纠错,产生相应有效代码字58,并从而产生移位值54,如上所述。
最佳循环位置代码
对于一般代码长度和符号大小,通过彻底搜索,可以找到特定长度和符号大小的最佳循环位置代码。表2列出各种长度的最佳二进制循环位置代码的各特征以及特定例子。尽管在大多数情况下,最佳码是系统码,但是对于长度11和12,非系统码是最佳码。请注意,如上所述,利用m序列确定长度为7和15的最佳码,以及长度通常为n=2k-1的最佳码。
IP031238P
代码 | ||||||
7 | 3 | 4 | 4 | 1 | 2 | 0001011 |
8 | 3 | 4 | 6 | 1 | 2 | 00010111 |
9 | 4 | 4 | 6 | 1 | 2 | 000010011000010111000100111 |
10 | 4 | 4 | 686 | 1 | 2 | 0000100111000010111100001101110001010011 |
11 | 4 | 4 | 868 | 1 | 2 | 000010011110000101001100010100111 |
5a | 6 | 6 | 2 | 4 | 00010010111 | |
12 | 4 | 4 | 8 | 1 | 4 | 000100110111 |
5a | 6 | 8 | 2 | 4 | 000010110111 | |
13 | 4 | 6 | 8 | 2 | 4 | 0000100110111 |
14 | 4 | 6 | 10 | 2 | 4 | 0000100110111100010011010111 |
15 | 4 | 8 | 8 | 3 | 4 | 000010100110111 |
16 | 4 | 8 | 10 | 3 | 4 | 00001001101011110000101100111101 |
17 | 5 | 8 | 1210,12 | 3 | 4 | 00000100011010111.. |
18 | 5 | 8 | 1214 | 3 | 6 | 000001100101101111000010011011110101000010101101001111 |
12 | 000010101111001101 | |||||
19 | 5 | 10 | 10 | 4 | 8 | 0000101011110010011 |
20 | 5 | 10 | 1412 | 4 | 6 | 00000100101011001111000001010111100100110000010101111001101100001010111011001111 |
21 | 5 | 10 | 12 | 4 | 8 | 000001010111100100011 |
22 | 5 | 10 | 14 | 4 | 8 | 0000010001101010011111000001001100011110110100000100110110001111010000011001110110101111 |
23 | 5 | 10 | 1414,16 | 4 | 8 | 00000100011001110101111.. |
7a | 12 | 12 | 5 | 10 | 00000101001100110101111 | |
24 | 5 | 12 | 16 | 5 | 8 | 000010010110111010001111 |
25 | 5 | 12 | 1614,16,18 | 5 | 8 | 0000010001100101011011111.. |
26 | 5 | 12 | 16 | 5 | 10 | 00000100011010100111110111 |
27 | 5 | 12 | 16 | 5 | 10 | 000001100101101010001001111000001101100111101001010111 |
28 | 6a | 14 | 16 | 6 | 10 | 00000010010101110100110011110000001011011001010111100011 |
29 | 5 | 14 | 10 | 18 | 0000010010101111100110001110100000100101011111010001100111 | |
13a8a | 14 | 12 | 6 | 16 | 0000010011111001010110010101100001110001000100101101110111 | |
31 | 7a | 16 | 16 | 7 | 0001001000011101010001111011011 | |
43 | 7a | 22 | 22 | 10 | 20 | 0011010110001000001110100011111011100101001 |
47 | 9a | 24 | 24 | 11 | 22 | 00000100001101010001101100100111010100111101111 |
59 | 9a | 30 | 30 | 14 | 28 | 00100010101101100010000110000011111001111011100100101011101 |
a.不是系统的
对于编码目的,认为编码等效于其反码、其补码以及其补码的反码,因此在所有情况下,只有其中之一包括在该表中。
尽管该表(主要)列出系统循环位置代码,但是对于长度大于7的代码,存在许多也是最佳码(如省略号所示)的非系统码。
可以对特定循环位置代码进行收缩以减小其长度,这样就降低了其位置编码精度(以及相应窗口大小)。表2示出在被收缩的代码是循环单纯码时,收缩码优于同样长度的其他代码,因为该表内的每个循环单纯码均具有比其在该表内的前趋码大2的最短距离。
例如,该表内长度为19的最佳(循环单纯形)码在被收缩为长度18时优于该表内长度为18的4个最佳码。长度为18的最佳码的最短距离和最长距离分别为8和6,而长度为19的收缩码具有较长的最短距离和最长距离,它们分别为9和7。
表4的第一列示出表3所示长度为19的最佳码的19个代码字。表4的第二列示出通过收缩长度为19的代码获得的长度为18的最佳码的19个代码字。
表4
原始(长度为19)代码字 | 相应收缩(长度为18)代码字 |
0000101011110010011 | 000010101111001001 |
0001010111100100110 | 000101011110010011 |
0010101111001001100 | 001010111100100110 |
0101011110010011000 | 010101111001001100 |
1010111100100110000 | 101011110010011000 |
0101111001001100001 | 010111100100110000 |
1011110010011000010 | 101111001001100001 |
0111100100110000101 | 011110010011000010 |
1111001001100001010 | 111100100110000101 |
1110010011000010101 | 111001001100001010 |
1100100110000101011 | 110010011000010101 |
1001001100001010111 | 100100110000101011 |
0010011000010101110 | 001001100001010111 |
0100110000101011110 | 010011000010101111 |
1001100001010111100 | 100110000101011110 |
0011000010101111001 | 001100001010111100 |
0110000101011110010 | 011000010101111001 |
1100001010111100100 | 110000101011110010 |
1000010101111001001 | 100001010111100100 |
趋向采用特定非系统码的一个设计目标是,使代码字内的集合位的数量最大。这与是否存在用于表示每位的无差别图示符有关,因为它可以将我们识别整个图示符阵列的结构的能力提高到最高。
因为长度为n的循环位置代码仅含有n个代码字,所以对于一般代码长度,通过依次计算采样字与每个代码字之间的汉明距离,然后选择最近的代码字,可以容易地解码采样字。对于非常短的代码,还可以使用查用表。对于较长的代码,可以采用代数解码过程(请参考Wicker,S.B.,Error Control Systems for Digital Communicationand Storage,Prentice Hall,1995和Berlekamp,E.R.,AlgebraicCoding Theory,Aegean Park Press,1984,在此引用其内容供参考)。如果采样字与两个或者多个代码字等距,则解码过程优先报告错误。同样可以直接进行编码(例如,利用查用表),也可以利用代数方法进行编码。
通过依次产生所有可能qn代码字,并对每个代码字确定含有代码字的n个循环移位的代码,可以搜索长度为n、符号大小为q的最佳循环位置代码。然后,计算最短距离和最短反向距离。如果该代码是至此发现的最好代码,则记录它。可以通过两个通路发现所有最佳码,即用于确定最佳码的特征的第一通路和用于计算表现最佳特征的代码的第二通路。
如果最佳循环位置代码是循环单纯码,则可以采用相应构造技术,即,n个素数的Paley构造方法,或n=2k-1的LFSR构造方法。请注意,对于某些k(例如5),长度n=2k-1(例如:31)是素数,而且可以采用Paley构造方法。
Q-ary循环位置代码
通过在代码字内将q个不同符号连在一起,可以构造长度n=q的q-ary循环位置代码。该代码的最短距离(和最长距离)等于其长度,即,dmin=dmax=n。作为例子,表5示出最短距离为7的7符号7-ary循环位置代码。在n=q=2m-1时,该循环位置代码等效于去除了0矢量的(n,1)Reed-Solomon码。例如,表5所示的代码相当于(7,1)Reed-Solomon码。由于q-ary循环位置代码可以含有0字符,所以(n,1)Reed-Solomon码不含有0符号,因为0符号仅出现在0矢量中。Reed-Solomon码通常还具有不同的符号顺序。
表5
代码字 | 移位 |
1234567 | 0 |
2345671 | 1 |
3456712 | 2 |
4567123 | 3 |
5671234 | 4 |
6712345 | 5 |
7123456 | 6 |
可以收缩长度n=q的q-ary循环位置代码,以获得任意长度np<q的q-ary循环位置代码。无论收缩长度是否为dmin=np。
根据诸如Reed-Solomon码(其中k>1)的q-ary循环码的一个循环,可以设计或者求得长度n>q的q-ary位置代码。在n>q时,dmin<n。例如,对于诸如Reed-Solomon码的MDS码,dmin=n-k+1。
采用循环位置代码的差分编码过程
利用循环位置代码中的递归代码字,而非利用重复m序列,可以实现以上描述的各种基于m序列的位置编码方法,其代价是为了支持检错和纠错要采样k个以上的符号。
作为例子,图3示出可以使7位代码的相邻序列对齐的七种方式70。这样就提供了用于进行差分编码的基本单元。在每对列的下面示出垂直位置的差值72。
图4示出为了进行编码排列到各列内的7位代码的十四(14)相邻序列100,作为基数6差值,2个连续水平坐标的数字是103126和103136,如102和104分别所示。图中所示的窄矩形用于使阅读器容易地识别基准代码字的每个实例。实际上,仅编码位值。从该图中可以看出,在每列,头尾相连重复代码字0001011。差值6用作将一个坐标的最低有效数字与下一步坐标的最高有效数字分离的标志值(图中用●表示)。
图4还示出映像到该组列的3个7×7窗口106、107和108。图5、6和7分别示出窗口106、107和108的内容。可以将每个窗口内的每个7位列解释为7位代码的代码字,根据表1依次产生移位值并因此产生相对位置。由于采样的7位代码字可能含有错误,所以首先,例如如上所述利用最大概似法解码器(即,直接或利用代数方法),对其进行解码以产生有效代码字。在图4至7中,作为例子,每个窗口内的许多采样位被表示为错误。◆表示的每位表示错误,即被取反码的相应位。由于在该例中,在给定代码字内最多存在一个出错位,所以完全可以对每个这种错误进行纠错(如上所述)。解码每个代码字后,每对相邻列之间的移位值的差值是窗口垂直位置给出坐标值的数字。任何两个相邻移位值,模7的差值是窗口垂直位置的标量,因为每列内的各代码字的偏移在垂直方向不发生变化。
根据同一个坐标或者根据两个相邻坐标以及仅一个标志,每个窗口可以在水平方向产生5个数字。
如图5所示,在从项部向下采样时,对于被采样的7列,窗口106产生移位值110,即{1,1,5,4,2,3,2}。这样依次产生差值112,即{0,3,1,2,6,1}。
即使在数字横跨两个相邻坐标,汇编一个坐标仍是一件简单事情,因为在这种情况下具有两个窗口106和107。标志右面的最高有效数字不简单预定标志左面的最低有效数字。
在图4至7所示的例子中,如上所述,6的差值用作标志(在图中用●表示)。因此将差值112{0,3,1,2,6,1}的第一窗口序列作为两个被标志6分离的子序列{0,3,1,2}和{1}进行处理,并从而作为两个坐标分段03126和16进行处理。通过将第二分段乘以第一分段的精度(即,100006,或64,其中4是数字在第一分段内的编号)并将这两个分段加在一起,可以变换为103126的坐标值114。如果将1加到最低有效分段会导致进位,则将最高有效分段中减1。
第二窗口107产生移位值{0,6,4,5,4,4,1},该移位值{0,6,4,5,4,4,1}依次产生差值{1,2,6,1,0,3}而且还产生坐标值103126。第三窗口108产生移位值{3,4,3,3,0,6,3},该移位值{3,4,3,3,0,6,3}产生差值{1,0,3,1,3,6}和坐标值103136。
可以利用标志在窗口内的位置产生更高精度的坐标值,因为它反映该窗口相对对齐该坐标。如图5至7所示,利用标志右面的子序列的长度产生附加小数数字,即,在标志与该窗口的右侧相邻时,确定该窗口与该坐标对齐。当然,也可以是其他标称对齐。在第一窗口106中,第二序列的长度为1,而小数坐标值116为.16。在第二窗口107中,第二序列的长度为3,而小数坐标值为.36。在第三窗口108中,第二序列的长度为0,而小数坐标值为.06。根据在检测装置的视场内读出的编码数据的相对位置,读出的编码数据的透视变换以及检测装置的已知几何结构,可以产生更高精度的坐标值。在本申请人的未决PCT专利申请WO 00/72287内对此进行了更详细描述。
标志可以是任意差值,但是差值n-1特别方便,因为它保留差值0至n-2的邻接范围,而且每个差值可以直接映像到基数n-1数字。当然,通常采用由差值到坐标值的任意预定映像。
空间排列
二维位置编码阵列包括两个在空间组合或交错的正交一维位置编码阵列。三维位置编码阵列包括3个在空间组合或交错的正交一维位置编码阵列。对于更高维依此类推。可以在平面上对二维位置编码阵列进行编码。可以在体积内对三维位置编码阵列进行编码。
一维位置编码序列可以含有q-ary符号,其中q≥2。利用q个不同图示符表示q个不同符号值有利,这样不需要在符号级进行注册。相反,为了减少所需图示符的数量,可以使q最小。然而,如果没有空间相干(突发)噪声,则符号大小越大纠错越有效。
为了不需要区别属于正交序列的各符号,可以使各符号成对并在两个正交位置编码序列之间的每个交叉点将它们连在一起,而且利用一组q2图示符中的一个图示符表示该符号。
在PCT专利申请WO 92/17859(J.Burns和S.Lloyd)公开的方法中,两个正交一维阵列空间交错,并利用不同的彩色对表示它们以使子序列分离。利用不同的基数序列可以区别各正交序列。
在PCT专利申请WO 00/73887(P.Ericsson)公开的方法中,通过将各重合位在空间连在一起并利用可以假定为4个可能值之一的一个图示符表示每个位对,将两个正交一维阵列组合在一起。利用相对于标称栅格位置的4个位置之一上的点表示4个可能值。通过经过离开栅格的点设置直线,确定栅格本身对齐。
图8示出两个正交二进制一维位置阵列120和122的可能空间交错118。为了不需要区分不同图示符,可以利用存在和不存在一个无差别图示符代替两个显式图示符,如图9所示。作为一种选择,还可以使用两个不同图示符,如图10所示。
图11示出两个正交二进制一维位置阵列126和128的另一种空间交错124,其中将两个阵列中的空间重合符号值组合在一起。图9示出利用3个不同图示符和一个空图示符表示的交错。图10示出利用一个在4个方向之一偏移其标称位置的无差别图示符表示的交错(正如PCT专利申请WO 00/73887建议的那样)。
假定可以识别全部图示符阵列的结构,则可以将它划分为其两个组元正交一维位置编码序列。可以在4个方向,即对应于子阵列的4种可能取向对图示符的每个子阵列分配一组一维位置编码序列。由于一维位置代码含有冗余码,所以可以以这样的方式设计它,以便即使在因为其他因素存在错误时,正确分配产生的错误仍比错误分配产生的错误少。一旦知道一个子阵列的取向,就可以知道其他子阵列的取向。作为一种选择,可以使两个子阵列上的错误最少以选择正确取向。
可以对因为错误分配子阵列产生的错误数目进行量化。为此,我们确定一维循环位置代码的反向最短距离。
取反码的代码是含有符号反向的该代码的每个代码字的代码。代码的最短反向距离drmin是该代码内的代码字与反向的该代码内的代码字之间的最短汉明距离。
如果不存在因为其他因素产生的错误,则正确分配子阵列产生的错误量是0。因为错误转动180°而错误分配导致的错误量具有下限n×drmin。
累积移位
通常在隔离分段产生二维位置编码阵列,每个分段对诸如物理页的一个表面上的坐标范围进行编码。为了在分段之间具有适当连续性,每个分段内的初始行和初始列的移位应该反映与所有先前行和列有关的累积移位。然而,由于不严格要求分段之间具有连续性,所以分段的第一行和第一列可以具有0移位。
下面的讨论假定要求分段之间具有连续性。为了透明,它涉及利用列之间的差值编码X坐标。同样的方法可以应用于利用行之间的差值编码y坐标。
对于给定的x坐标,一对早期列之间的每个差值均导致累积移位,并因此导致用于编码坐标的第一列发生移位。假定每对列编码0与b-1之间的差值。还假定利用分别利用差值编码的p个基数b数字ai表示x坐标x,以致:
假定利用具有值v的标志“数字”分离相邻坐标。
因为bi产生的累积移位B(b,i)为:
因为aibi产生的累积移位A(ai,b,i)为:
小于但是不等于x的累积移位为:
在打印位置编码表面的设备内可以方便地实现有效计算累积移位的这些函数,正如本申请人的未决PCT专利申请WO 00/72126和WO00/72127描述的那样。
位置编码变量
如上所述,可以采用差分编码方法显式地或者利用m序列编码位置。还可以采用该方法将位置编码为代码字以进行检测和纠错。
差分编码方法还可以编码显式位置和代码字,其中该代码字用于进行检错。例如,可以利用每个差值的一位编码该代码字。如果该代码字是循环的,则还可以利用该代码字确定记录位置数据,因此不需要显式标志差值。
通常,可以将循环位置代码嵌入(或者装入)其他数据中以提供该数据的记录信号。
嵌入的功能标记
差分编码方法本身不能容易地将诸如功能标记的位置特定位置特定数据(正如本申请人的未决PCT专利申请WO 01/41055所述)嵌入二维位置编码阵列,因为利用两个正交一维位置编码序列的相互作用,二维位置编码阵列确定二维位置。
然而,可以保留每个坐标的一个或者多个列(和行)用于位置特定位置特定数据。在这种情况下,为了进行差分编码,差分编码方法必须忽略这些列(和行)。相反,例如通过模仿标志差值,不能使位置特定位置特定数据产生错误记录。
如果为了进行检错和记录,一组列(或行)之间的差值可以对代码字进行编码,如上所述,然后,该代码字对要忽略的数据列提供足够的信息。然而,数据列可以含有任意数据,所以它们可能在代码字内产生错误。如果该代码字是可以纠错的,而且在纠错过程中,发现错误中只有符号与数据列相关,则一切均好。如果错误还位于其他地方,则位置数据本身可疑,而解码器应该报告错误。
如果仅需要几位用于编码位置特定位置特定数据,则可以以这样的方式选择相邻位,以避免产生与相邻列有关的标志差值。这需要考虑到,在解释该数据之前,对该数据进行纠错。该方法不需要记录代码字。
为了对位置特定位置特定数据内的错误进行检错和纠错,必须引入冗余码。因为基于循环码的连续冗余码解决方案不支持任意数据,所以最好将位置特定位置特定数据排列为这样大小的代码字,即其大小可以确保采样窗口至少含有一个完全代码字。如果采样窗口的大小为n×n(即,从而与一对长度为n的正交循环位置代码一起工作),则位置特定位置特定数据代码字的大小n′必须遵守n′≤n/2。
不是在两个正交一维位置编码序列中具有两个长度为n’的独立代码字,而是将两个阵列内的相应数据组合在一起形成一个最长为n的代码字。一个较大代码字的突发错误的检错能力和纠错能力比两个较小代码字的突发错误的检错能力和纠错能力强,但是增加了大面积采样的成本,如下所述。
图14示出用于编码4个二维位置,即短划轮廓线所示的相应4个“标记”132、134、136和138的二维位置编码阵列的一部分130。它还示出重叠在该标记上的列140、142和行144、146,它们用于编码位置特定位置特定数据,而非用于位置编码差值。
所示的数据列的标记高度部分(或者数据行的标记宽度部分)被划分为4个利用黑方块148表示的四分之一。参考图15,行和列与标记的中心相交,这样自然将相应四分之一数据组合为一个代码字150。在别处,将4个不同行和列的4个四分之一152、154、156和158组合为相应空隙位置的代码字160。这种情况示于图16,利用箭头示出对应于每个空隙四分之一数据的源四分之一数据。结果是以
倍标记频率的频率编码位置特定位置特定数据。图17仅示出这样获得的、示于它们所对应的位置的代码字150和160。
利用该解决方案,如果假定组合的位置特定位置特定数据代码字的大小是n,采样窗口的大小被扩展到3n/2,则可以在任意位置仅恢复位置特定位置特定数据。
非循环自记图形
鉴于以上各小节对将循环序列的子序列用作目标图形进行了研究,因此还可以设想将非循环图形用作目标图形。通常,不可能将整个图形的纯数据部分用作目标图形,因为错误匹配的概率不够低,如下所述。
为了进行以下分析,假定利用Reed-Solomon码产生可纠错编码数据。
(n,k)Reed-Solomon码的特征是其长度n和维k。下式给出代码的符号大小q:
q=log2(n+1) (等式5)
下式给出可纠错的错误的最大数量t:
(等式6)
对于特定代码字,下式给出可以正确解码,即错误中含有不超过t个符号的“别名”的数量:
这可以被近似(并限定)为:
nCt2qt (等式8)
下式给出不含有错误的不同代码字的数量:
2qk (等式9)
根据等式8和等式9,可以将有效代码字的数量近似为:
nCt2q(k+t) (等式10)
下式给出代码字总数:
2qn (等式11)
根据等式(10)和等式(11),利用下式近似计算错误匹配的概率P:
利用等式6将该式简化为:
根据等式13,对于(15,5)码,P的近似上限为1/256。将等式7用作等式10和等式13的更精确基础,P近似为1/341。
因此,任意值的数据代码字用作目标图形时的错误匹配的概率不够低。
根据等式8和等式11,使用特定值的目标图形时的错误匹配的概率Q被近似为:
根据等式15,对于(15,5)码,Q的近似上限为1/250,000,000,这在许多应用中是可以接受的。
本技术领域内的熟练技术人员明白,可以在本发明实质范围内,对在此描述的实施例进行许多显而易见的修改和变更。
Claims (44)
1.一种用于关于至少n个符号的第一序列确定至少一点的第一偏移、模n的方法,上述第一序列包括第一循环位置代码的重复第一代码字,第一循环位置代码的长度为n,最短距离为dmin,该方法包括:
从第一序列中对应于上述至少一点的位置,获得长度为w个符号的第一子序列,其中w≥n-dmin+1;
将上述第一子序列映像到第一循环位置代码的代码字;以及
在第一序列中,确定这样获得的代码字的偏移,从而确定上述第一偏移。
2.根据权利要求1所述的方法,其中映像第一子序列的过程包括选择匹配该第一子序列的第一循环位置代码的代码字。
4.根据权利要求1所述的方法,其中如果在第一子序列与代码字之间不存在匹配,则标记错误。
5.根据权利要求1所述的方法,其中映像第一子序列的过程包括选择汉明距离与第一子序列最接近的第一循环位置代码的代码字。
6.根据权利要求5所述的方法,其中通过第一循环位置代码的w个坐标确定所述汉明距离。
7.根据上述权利要求中的任何一项所述的方法,其中利用设置或者形成在第一基底之上或之内的第一图形表示第一序列,该方法包括通过检测或者读出至少部分第一图形,来获得第一子序列。
8.根据权利要求7所述的方法,其中利用以大致直线方式排列的第一图形的各连续部分表示第一序列的各连续符号。
9.根据上述权利要求中的任何一项所述的方法,其中第一循环位置代码是单纯码。
10.根据上述权利要求中任何一项所述的方法,其中第一循环位置代码是表3所列的代码,或者是表3所列代码的反码、补码或补码的反码。
11.根据上述权利要求中任何一项所述的方法,其中w≥n-dmin+2。
12.根据上述权利要求中任何一项所述的方法,其中w≥n。
13.根据上述权利要求中任何一项所述的方法,该方法进一步包括关于至少n个符号的第二序列,确定至少一点的第二偏移、模n,第二序列包括第一循环位置代码的重复第一代码字,该方法包括:
从第二序列中对应于该至少一点的位置,获得长度为w个符号的第二子序列;
将第二子序列映像到第一循环位置代码的代码字;以及
在第二序列中,确定这样获得的代码字的偏移,从而确定第二偏移。
14.根据权利要求13所述的方法,该方法进一步包括获得第一偏移与第二偏移之间的第一差值。
15.根据权利要求14所述的方法,其中利用设置或者形成在第一基底之上或之内的第二图形表示第二序列,该方法包括通过检测或者读出至少部分第二图形,获得第二子序列。
16.根据权利要求13所述的方法,该方法进一步包括分别关于多个至少n个符号的附加序列之一,确定该至少一点的多个附加偏移、模n,多个附加序列分别包括第一循环位置代码的重复第一代码字,该方法包括:
根据每个附加序列而且在对应于该至少一点的位置,获得长度为w个符号的相应附加子序列;
将每个附加子序列映像到第一循环位置代码的相应代码字;以及
在相应附加序列中,确定这样获得的每个代码字的偏移,从而确定相应附加偏移。
17.根据权利要求16所述的方法,该方法进一步包括获得附加偏移对之间的多个附加差值。
18.根据权利要求17所述的方法,其中多个附加序列的每一个分别由设置或者形成在第一基底之上或之内的多个附加图形中的一个来表示,该方法包括通过检测或者读出至少部分相应附加图形,获得相应附加子序列。
19.根据权利要求18所述的方法,其中检测或者读出至少w个独立序列中每个独立序列内的w个符号。
20.一种关于多个第一序列确定至少一点的第一坐标值的方法,每个第一序列由第一循环位置代码的重复第一代码字组成,第一循环位置代码的长度为n1,最短距离为dmin1,该方法包括:
从所述第一序列中的每个h1在对应于该至少一点的位置,获得长度为w1个符号的相应第一子序列,其中h1≥2且w1≥n1-dmin1+1;
将每个第一子序列分别映像到第一循环位置代码的相应代码字;
在相应第一序列中,确定这样获得的每个代码字的偏移,从而确定该至少一点的多个第一偏移中的相应的一个;
对于上述第一序列中的每一h1-1对,获得相应第一偏移对之间的差值,从而获得多个第一差值中的相应的一个;以及
自多个第一差值获得第一坐标值。
21.根据权利要求20所述的方法,该方法进一步包括至少将第一差值之一解释为第一坐标值的数字。
22.根据权利要求20或21所述的方法,该方法进一步包括至少将第一差值之一解释为用于使第一坐标值与相邻坐标值分离的标志。
23.根据权利要求20至22中任何一项所述的方法,其中w1≥n1-dmin1+2。
24.根据权利要求20至22中任何一项所述的方法,其中w1≥n1。
25.根据权利要求20所述的方法,其中第一循环位置代码是单纯码。
26.根据权利要求20所述的方法,其中第一循环位置代码是表3所列的代码,或者是表3所列代码的反码、补码或补码的反码。
27.根据权利要求20所述的方法,该方法进一步包括分别关于多个第二序列,确定至少一点的第二坐标值,每个第二序列均由第二循环位置代码的重复第二代码字构成,第二循环位置代码的长度为n2,最短距离为dmin2,该方法包括:
从第二序列中的每个h2在对应于该至少一点的位置,获得长度为w2个符号的相应第二子序列,其中h2≥2而w2≥n2-dmin2+1;
将每个第二子序列分别映像到第二循环位置代码的相应代码字;以及
在相应第二序列中,确定这样获得的每个代码字的偏移,从而确定至少一点的多个第二偏移中的相应之一;以及
根据多个第二偏移获得第二坐标值。
28.根据权利要求27所述的方法,该方法进一步包括至少将第二偏移之一解释为第二坐标值的数字。
29.根据权利要求27或28所述的方法,该方法进一步包括至少将第二偏移之一解释为用于使第二坐标值与相邻坐标值分离的标志。
30.根据权利要求27所述的方法,该方法进一步包括对于h2-1个第二子序列对中的每个第二子序列对,获得相应第二偏移对之间的差值,从而获得多个第二差值中的相应之一;以及根据多个第二差值获得第二坐标值。
31.根据权利要求27至30中任何一项所述的方法,其中w2≥n2-dmin2+2。
32.根据权利要求27至30中任何一项所述的方法,其中w2≥n2。
33.根据权利要求27所述的方法,其中利用设置或者形成在第一基底之上或之内的多个第一图形中的相应之一分别表示多个第一序列,该方法包括通过检测或者读出至少部分相应第一图形,获得相应第一子序列。
34.根据权利要求33所述的方法,其中利用以大致直线方式排列的相应第一图形的各连续部分表示每个第一序列的各连续符号;而且以大致平行、分离方式,排列第一图形。
35.根据权利要求33或34所述的方法,其中利用设置或者形成在第一基底之上或之内的多个第二图形中的相应之一分别表示多个第二序列,该方法包括通过检测或者读出至少部分相应第二图形,获得相应第二子序列。
36.根据权利要求35所述的方法,其中利用以大致直线方式排列的相应第二图形的各连续部分表示每个第二序列的各连续符号;以大致平行、分离的方式,排列第二图形;以及以大致互相正交的方式,排列第一图形和第二图形。
37.根据权利要求27所述的方法,其中第一坐标值和第二坐标值一起确定二维坐标。
38.根据权利要求27所述的方法,其中第二循环位置代码是单纯码。
39.根据权利要求20所述的方法,其中第二循环位置代码是表3所列的代码,或者是表3所列代码的反码、补码或补码的反码。
40.根据权利要求27所述的方法,其中n1和n2的值相同。
41.根据权利要求27所述的方法,其中n1和n2的值不相同。
42.根据权利要求27所述的方法,其中第一和第二循环位置代码相同。
43.根据权利要求27所述的方法,其中第一和第二循环位置代码不相同。
44.一种用于关于至少n个符号的第一序列确定至少一点的第一偏移的方法,第一序列包括第一循环位置代码的重复第一代码字,第一循环位置代码的长度为n,在此参考附图对该方法进行了大致描述。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPR4409 | 2001-04-12 | ||
AUPR4409A AUPR440901A0 (en) | 2001-04-12 | 2001-04-12 | Error detection and correction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1494675A true CN1494675A (zh) | 2004-05-05 |
CN1238782C CN1238782C (zh) | 2006-01-25 |
Family
ID=3828405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018231268A Expired - Fee Related CN1238782C (zh) | 2001-04-12 | 2001-10-11 | 使用循环位置代码对表面进行位置编码的方法 |
Country Status (8)
Country | Link |
---|---|
US (5) | US7120853B2 (zh) |
EP (1) | EP1377896A4 (zh) |
JP (1) | JP3742389B2 (zh) |
CN (1) | CN1238782C (zh) |
AU (1) | AUPR440901A0 (zh) |
SG (1) | SG133407A1 (zh) |
WO (1) | WO2002084473A1 (zh) |
ZA (2) | ZA200307729B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106500737A (zh) * | 2015-09-03 | 2017-03-15 | 赫克斯冈技术中心 | 绝对表面编码/绝对地对区域进行编码 |
CN107103350A (zh) * | 2017-05-04 | 2017-08-29 | 网易(杭州)网络有限公司 | 物理介质表面多维度位置编码方法、装置和可读存储介质 |
CN107122067A (zh) * | 2017-05-04 | 2017-09-01 | 网易(杭州)网络有限公司 | 物理介质表面位置编解码的方法、装置和可读存储介质 |
CN107408214A (zh) * | 2015-01-30 | 2017-11-28 | 惠普发展公司,有限责任合伙企业 | M进制循环编码 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPR440901A0 (en) * | 2001-04-12 | 2001-05-17 | Silverbrook Research Pty. Ltd. | Error detection and correction |
US7145556B2 (en) * | 2001-10-29 | 2006-12-05 | Anoto Ab | Method and device for decoding a position-coding pattern |
DE10231970B3 (de) * | 2002-07-15 | 2004-02-26 | Siemens Ag | Verfahren zur Codierung von Positionen von Datenelementen in einer Datenstruktur sowie Vorrichtungen zur entsprechenden Codierung und/oder Decodierung |
WO2004097723A1 (en) * | 2003-04-29 | 2004-11-11 | Anoto Ip Lic Hb | Methods, apparatus, computer program and storage medium for position decoding |
EP1631898A1 (en) | 2003-05-26 | 2006-03-08 | Anoto IP Lic HB | Method for compressinga digital representation containing a page-describing code, which is sent from a computer to a printer |
EP1656633B1 (en) | 2003-06-13 | 2016-05-04 | Anoto AB | On-demand printing of coding patterns |
US7242546B2 (en) * | 2003-10-13 | 2007-07-10 | Seagate Technology Llc | Determining a location based on a cyclic bit sequence containing consecutively-placed identical bit-groups |
KR20080019729A (ko) * | 2004-04-02 | 2008-03-04 | 실버브룩 리서치 피티와이 리미티드 | 모놀리식 집적회로 |
AU2005228053B2 (en) * | 2004-04-02 | 2008-08-21 | Silverbrook Research Pty Ltd | Surface having disposed therein or thereon coded data |
US7826074B1 (en) | 2005-02-25 | 2010-11-02 | Microsoft Corporation | Fast embedded interaction code printing with custom postscript commands |
JP4556705B2 (ja) * | 2005-02-28 | 2010-10-06 | 富士ゼロックス株式会社 | 2次元座標同定装置、画像形成装置及び2次元座標同定方法 |
US7421439B2 (en) * | 2005-04-22 | 2008-09-02 | Microsoft Corporation | Global metadata embedding and decoding |
US7729539B2 (en) * | 2005-05-31 | 2010-06-01 | Microsoft Corporation | Fast error-correcting of embedded interaction codes |
US7817816B2 (en) | 2005-08-17 | 2010-10-19 | Microsoft Corporation | Embedded interaction code enabled surface type identification |
US7970210B2 (en) * | 2005-10-17 | 2011-06-28 | Is2Be | Method of and apparatus for capturing, recording, displaying and correcting information entered on a printed form |
US7445160B2 (en) * | 2006-06-14 | 2008-11-04 | Hewlett-Packard Development Company, L.P. | Position location using error correction |
US20080192022A1 (en) * | 2007-02-08 | 2008-08-14 | Silverbrook Research Pty Ltd | Sensing device having automatic mode selection |
GB2457018B (en) * | 2008-01-29 | 2012-04-04 | Hewlett Packard Development Co | Pattern for identifying a location on a surface |
JP5158598B2 (ja) * | 2008-08-04 | 2013-03-06 | 独立行政法人 国立印刷局 | 情報担持片、機械読取方法及び復号方法並びに記録媒体 |
US20100084468A1 (en) * | 2008-10-02 | 2010-04-08 | Silverbrook Research Pty Ltd | Method of imaging coding pattern comprising columns and rows of coordinate data |
GB2526261B (en) | 2014-04-28 | 2017-08-02 | Gelliner Ltd | Encoded cells and cell arrays |
CN107567639B (zh) * | 2015-07-09 | 2021-09-10 | 惠普发展公司,有限责任合伙企业 | 多维循环符号 |
CN109891196B (zh) * | 2016-11-02 | 2022-02-01 | 普莱希莱布斯股份有限公司 | 检测器设备、定位代码和位置检测方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3622984A (en) * | 1969-11-05 | 1971-11-23 | Ibm | Error correcting system and method |
CA1184305A (en) | 1980-12-08 | 1985-03-19 | Russell J. Campbell | Error correcting code decoder |
US4677623A (en) * | 1983-11-11 | 1987-06-30 | Hitachi, Ltd. | Decoding method and apparatus for cyclic codes |
US4573155A (en) * | 1983-12-14 | 1986-02-25 | Sperry Corporation | Maximum likelihood sequence decoder for linear cyclic codes |
NL8501460A (nl) * | 1985-05-22 | 1986-12-16 | Philips Nv | Werkwijze voor het identificeren van voorwerpen die voorzien zijn van een kodeveld met stipkode, inrichting voor het identificeren van zo een stipkode, en produkt voorzien van zo een stipkode. |
US4864618A (en) | 1986-11-26 | 1989-09-05 | Wright Technologies, L.P. | Automated transaction system with modular printhead having print authentication feature |
JPH01240820A (ja) | 1988-03-23 | 1989-09-26 | Tokyo Keiki Co Ltd | 位置情報発生装置および該装置用符号配列体 |
US5051736A (en) | 1989-06-28 | 1991-09-24 | International Business Machines Corporation | Optical stylus and passive digitizing tablet data input system |
US5227789A (en) * | 1991-09-30 | 1993-07-13 | Eastman Kodak Company | Modified huffman encode/decode system with simplified decoding for imaging systems |
US5412194A (en) | 1992-03-25 | 1995-05-02 | Storage Technology Corporation | Robust coding system |
US5852434A (en) | 1992-04-03 | 1998-12-22 | Sekendur; Oral F. | Absolute optical position determination |
US5477012A (en) | 1992-04-03 | 1995-12-19 | Sekendur; Oral F. | Optical position determination |
JP2501722B2 (ja) | 1992-07-14 | 1996-05-29 | 富士電機株式会社 | 半導体形静電容量式圧力センサ |
US5652412A (en) | 1994-07-11 | 1997-07-29 | Sia Technology Corp. | Pen and paper information recording system |
US5661506A (en) | 1994-11-10 | 1997-08-26 | Sia Technology Corporation | Pen and paper information recording system using an imaging pen |
US5657331A (en) * | 1995-03-13 | 1997-08-12 | Samsung Electronics Co., Ltd. | Method and apparatus for the generation of simple burst error correcting cyclic codes for use in burst error trapping decoders |
US6081261A (en) | 1995-11-01 | 2000-06-27 | Ricoh Corporation | Manual entry interactive paper and electronic document handling and processing system |
US5692073A (en) | 1996-05-03 | 1997-11-25 | Xerox Corporation | Formless forms and paper web using a reference-based mark extraction technique |
US5936978A (en) * | 1996-12-05 | 1999-08-10 | Telefonaktiebolaget L M Ericsson (Publ) | Shortened fire code error-trapping decoding method and apparatus |
US6518950B1 (en) | 1997-10-07 | 2003-02-11 | Interval Research Corporation | Methods and systems for providing human/computer interfaces |
US5946328A (en) * | 1997-11-17 | 1999-08-31 | International Business Machines Corporation | Method and means for efficient error detection and correction in long byte strings using integrated interleaved Reed-Solomon codewords |
WO1999050751A1 (en) | 1998-04-01 | 1999-10-07 | Xerox Corporation | Routing document identifiers |
US6964374B1 (en) | 1998-10-02 | 2005-11-15 | Lucent Technologies Inc. | Retrieval and manipulation of electronically stored information via pointers embedded in the associated printed material |
CA2374808C (en) * | 1999-05-28 | 2008-05-20 | Anoto Ab | Recording of information |
US6393597B1 (en) * | 1999-06-01 | 2002-05-21 | Sun Microsystems, Inc. | Mechanism for decoding linearly-shifted codes to facilitate correction of bit errors due to component failures |
AUPR440901A0 (en) * | 2001-04-12 | 2001-05-17 | Silverbrook Research Pty. Ltd. | Error detection and correction |
US6754871B1 (en) * | 2001-07-31 | 2004-06-22 | Cisco Technology, Inc. | Method and apparatus for using fire decoder to correct burst errors in a real-time communications system |
-
2001
- 2001-04-12 AU AUPR4409A patent/AUPR440901A0/en not_active Abandoned
- 2001-10-11 US US10/473,747 patent/US7120853B2/en not_active Expired - Fee Related
- 2001-10-11 EP EP01975844A patent/EP1377896A4/en not_active Withdrawn
- 2001-10-11 WO PCT/AU2001/001274 patent/WO2002084473A1/en active IP Right Grant
- 2001-10-11 SG SG200504570-3A patent/SG133407A1/en unknown
- 2001-10-11 JP JP2002582348A patent/JP3742389B2/ja not_active Expired - Fee Related
- 2001-10-11 CN CNB018231268A patent/CN1238782C/zh not_active Expired - Fee Related
-
2002
- 2002-04-12 US US10/120,441 patent/US7082562B2/en not_active Expired - Fee Related
-
2003
- 2003-10-03 ZA ZA200307729A patent/ZA200307729B/en unknown
- 2003-10-31 ZA ZA200409408A patent/ZA200409408B/xx unknown
-
2005
- 2005-03-09 US US11/074,802 patent/US7376884B2/en not_active Expired - Fee Related
-
2008
- 2008-05-04 US US12/114,803 patent/US8028220B2/en not_active Expired - Fee Related
-
2011
- 2011-09-02 US US13/224,329 patent/US8365038B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107408214A (zh) * | 2015-01-30 | 2017-11-28 | 惠普发展公司,有限责任合伙企业 | M进制循环编码 |
US10621688B2 (en) | 2015-01-30 | 2020-04-14 | Hewlett-Packard Development Company, L.P. | M-ary cyclic coding |
US10891704B2 (en) | 2015-01-30 | 2021-01-12 | Hewlett-Packard Development Company, L.P. | M-ary cyclic coding |
CN107408214B (zh) * | 2015-01-30 | 2021-07-09 | 惠普发展公司,有限责任合伙企业 | M进制循环编码 |
CN106500737A (zh) * | 2015-09-03 | 2017-03-15 | 赫克斯冈技术中心 | 绝对表面编码/绝对地对区域进行编码 |
CN106500737B (zh) * | 2015-09-03 | 2019-06-04 | 赫克斯冈技术中心 | 区域位置代码图案、区域传感器及绝对位置编码方法 |
CN107103350A (zh) * | 2017-05-04 | 2017-08-29 | 网易(杭州)网络有限公司 | 物理介质表面多维度位置编码方法、装置和可读存储介质 |
CN107122067A (zh) * | 2017-05-04 | 2017-09-01 | 网易(杭州)网络有限公司 | 物理介质表面位置编解码的方法、装置和可读存储介质 |
CN107103350B (zh) * | 2017-05-04 | 2020-06-09 | 网易(杭州)网络有限公司 | 物理介质表面多维度位置编码方法、装置和可读存储介质 |
CN107122067B (zh) * | 2017-05-04 | 2020-09-08 | 网易(杭州)网络有限公司 | 物理介质表面位置编解码的方法、装置和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1377896A1 (en) | 2004-01-07 |
US7120853B2 (en) | 2006-10-10 |
US8028220B2 (en) | 2011-09-27 |
SG133407A1 (en) | 2007-07-30 |
CN1238782C (zh) | 2006-01-25 |
EP1377896A4 (en) | 2006-12-27 |
US7376884B2 (en) | 2008-05-20 |
WO2002084473A1 (en) | 2002-10-24 |
US7082562B2 (en) | 2006-07-25 |
US20050204265A1 (en) | 2005-09-15 |
JP3742389B2 (ja) | 2006-02-01 |
JP2004527045A (ja) | 2004-09-02 |
US20080236903A1 (en) | 2008-10-02 |
US20110320917A1 (en) | 2011-12-29 |
ZA200307729B (en) | 2004-09-06 |
AUPR440901A0 (en) | 2001-05-17 |
US20030056169A1 (en) | 2003-03-20 |
US20040148558A1 (en) | 2004-07-29 |
US8365038B2 (en) | 2013-01-29 |
ZA200409408B (en) | 2005-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1238782C (zh) | 使用循环位置代码对表面进行位置编码的方法 | |
JP4556705B2 (ja) | 2次元座標同定装置、画像形成装置及び2次元座標同定方法 | |
CN1708769A (zh) | 可能控制纠错码的等级的具有高级解码特性的二维码、和用于编码和解码该二维码的方法 | |
CN1055586C (zh) | 纠错译码器和纠错译码方法 | |
CN1084966C (zh) | 纠错编码译码方法和利用这种方法的电路 | |
CN1228888A (zh) | 具有防差错的可变长度编码 | |
CN1288542A (zh) | 用于循环纠错码的物理块地址恢复设备、系统和方法 | |
US7721177B2 (en) | Device and method for determining a position of a bit error in a bit sequence | |
US20040199860A1 (en) | Method and apparatus for generating parity information for error correction | |
Ding et al. | A q-polynomial approach to cyclic codes | |
CN1666420A (zh) | 检查矩阵生成方法及检查矩阵生成装置 | |
CN1176714A (zh) | 用于三错校正和四错校正的改进系统 | |
CN1146116C (zh) | 截短法尔码的差错捕获译码方法和装置 | |
CN1467918A (zh) | 里得-索罗门解码器 | |
CN1520575A (zh) | 用于获取位置码和解码位置码的方法 | |
CN1301456C (zh) | 数据解码的方法和设备 | |
US7445160B2 (en) | Position location using error correction | |
CN1647390A (zh) | 用于编码的信号、存储介质、方法和设备,用于解码的方法和设备 | |
Dougherty et al. | Shadow codes over Z4 | |
KR20100042589A (ko) | 이진 데이터의 오류 정정 및 오류 검출 방법 | |
Etzion et al. | Quasi-perfect codes with small distance | |
EP1401107A1 (en) | Method for improving the performance of 3-dimensional concatenated product codes | |
KR101551831B1 (ko) | 순환 중복 검사 장치 및 방법 | |
CN1655461B (zh) | 消除fec解码器和方法 | |
Davydov et al. | On the weight distribution of the cosets of MDS codes |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060125 Termination date: 20121011 |