CN100573566C - 数据的编码和解码 - Google Patents

数据的编码和解码 Download PDF

Info

Publication number
CN100573566C
CN100573566C CNB2005800217741A CN200580021774A CN100573566C CN 100573566 C CN100573566 C CN 100573566C CN B2005800217741 A CNB2005800217741 A CN B2005800217741A CN 200580021774 A CN200580021774 A CN 200580021774A CN 100573566 C CN100573566 C CN 100573566C
Authority
CN
China
Prior art keywords
alignment layers
series
data
windows
code
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 - Fee Related
Application number
CNB2005800217741A
Other languages
English (en)
Other versions
CN101006455A (zh
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.)
Anoto AB
Original Assignee
Anoto AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anoto AB filed Critical Anoto AB
Publication of CN101006455A publication Critical patent/CN101006455A/zh
Application granted granted Critical
Publication of CN100573566C publication Critical patent/CN100573566C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns

Abstract

一种信息代码具有用于对位置信息编码的定位层和用于对任意非定位数据编码的数据层。可通过窗口序列的循环移位的实例来形成定位层和数据层两者。公开带有所述信息代码的产品、用于对信息代码编码和解码的方法、以及用于对信息代码解码的设备。

Description

数据的编码和解码
技术领域
本发明总的来说涉及用于存储任意非定位数据的信息代码。更具体地说,本发明涉及一种存储数据的方法、数据存储产品、解码数据的方法和用于解码数据的装置。
背景技术
众所周知,可通过代码,例如,一维或二维条形码,以压缩方式将任意数据存储在基底(base)。
转让给本申请的受让人的WO 01/71653公开一种用于存储数据的代码。通过具有以下属性的数列来构建所述代码:在所述数列中,至少预定长度的任意子序列只出现一次。以下将具有这一属性的数列称为窗口序列。
通过将窗口序列的各部分排列在矩阵中的列中来形成WO01/71653中公开的代码。每个序列部分在窗口序列中具有明确定义的位置。通过窗口序列部分中邻近序列部分的差来编码数据,窗口序列部分中的差还在打算读取代码的方向上以窗口序列的形式对标尺(ruler)编码。所述标尺使得可以按照正确的顺序排列从所述代码读取的数据并保证记录完整的消息。
如以上所明显示出的,可通过以下处理重获存储在代码中的消息:利用用户单元记录代码的局部区域的多个图像,对所述多个图像中的数据和标尺信息解码,并使用标尺信息以通过按照正确的顺序安排数据来重建消息。假设打算沿水平轴扫描代码矩阵,则可沿垂直轴在矩阵中的任何级别实施扫描,解码的信息在所有级别中是相同的。
发明内容
本发明的一个目的在于提供一种用于以编码的形式将任意非定位数据存储在基底上的可选代码。
通过如独立权利要求中所述的存储数据的方法、数据存储产品、解码数据的方法和解码数据的装置来全部或部分地实现所述目的。
根据本发明的一方面,存储数据的方法包括:在定位层对位置信息编码,在分离的数据层对任意非定位数据编码,以及将定位层和数据层组合成将在基底上排列的信息代码。
通过将位置信息和数据分离成不同的代码层,可获得许多优点。如以下将进一步解释的,定位层可用于对除仅位置信息之外的其它信息编码。例如,定位层可用于对指示符编码,所述指示符在两个层中将信息代码与类似的对位置信息编码的位置代码进行区分。定位层还可用于对信息代码参数编码,所述参数在定位层的任何位置中都是可以解码的。此外,可以按其它方式并使用比作为示例的WO 01/71653中的数据密度更高的数据密度对数据编码。总的说来,产生的信息代码的结构更好,并且可更容易地适用于对各种信息编码。
可以按不同的方式来组合定位层和数据层。所述层可彼此叠加,并重叠来自由公共代码元素编码的不同层的元素。所述层还可彼此交错,从而来自不同层的元素彼此移开,并且不重叠。
可以按不同的方式将信息代码排列在基底上。例如,可使用可见或不可见的打印墨水将信息代码打印在基底上,或者可通过向基底的不同局部分配不同的磁、化学、拓扑或其它属性将信息代码施加在基底上。
通过位置层编码的位置信息可以是一维或二维的,可选的后者允许对数据进行更加复杂的编码,实现更高的数据密度。二维位置信息使得可以一方面确定对信息代码打算扫描的方向中的位置,另一方面确定与上述方向成直角的位置。在得知扫描方向中的位置的情况下,可通过具有较少重叠或实际上没有重叠的多个图像来记录或读取信息代码。此外,可容易地检查记录的信息的完整性。不需要实施图像内容的相关,但是将位置信息用于以正确的顺序排列数据。得知与打算的扫描方向成直角的方向中的位置将使得能够以不同于先前已知的代码的其它方式对数据编码。
可以按不同的方式对位置信息编码。例如,位置代码可以是平铺(tiled)类型,其中,基底被划分为离散非重叠局部区域,其中的每一个定义一个位置。例如,在Sekendur的US 5,852,434中公开这种类型的位置代码。位置代码还可以是浮动类型的,其中,在具有与对位置编码所需的最小大小相同大小的基底上的任意局部区域定义位置。在浮动类型的位置代码中,部分重叠的局部区域由此定义不同的位置。典型地,在浮动类型的位置代码中定义位置的每个局部区域包括多个简单符号,而在平铺类型的位置代码中定义位置的局部区域可包括多个简单符号或单个更加复杂的符号。
可通过一个或多个窗口序列来实现浮动类型的位置代码。在作为示例的US 6,570,104、US 6,663,008、US 6,674,427、US 6,667,695中能找到浮动类型的位置代码的示例,所有上述专利被转让给本申请的受让人,此外,还能在作为示例的Wang的US 2004/0085287、Burns的US 5,442,147中找到所述示例。
还可以用平铺类型或浮动类型的代码对数据层中的数据编码。在后者的情况下,例如,可通过一个或多个窗口序列对其编码。
例如,可通过包成矩阵的单个长窗口,或者通过多个排列成矩阵的较短窗口序列的完整或部分实例(instance)对位置信息和/或数据编码。
例如,可通过形成窗口序列的旋转移位的实例的矩阵来提供定位层和数据层两者,其中,旋转移位的大小取决于将被编码的位置信息或数据。
通过预留特定座标区域以排他地由信息代码的第一定位层使用,可将具有第一定位层和第二数据层的信息代码与具有第一和第二位置层的类似外观的位置代码区分。
当窗口序列的循环移位的实例用于定位层中时,可将邻近实例之间的循环移位或相对循环移位分别限制到位置代码不使用的循环移位和相对循环移位的特定集合。
还可在定位层对全局信息代码参数编码。借助于该信息代码参数的全局性,其在这里表示在定位层中的任何位置可对所述参数解码,并且其在整个定位层中是相同的。全局信息代码参数独立于其它种类的信息,并且由此可通过解码单元对其立即进行解释。例如,可以用信息代码的循环移位或相对循环移位对全局信息代码参数编码。
根据本发明的另一方面,一种产品包括基底和基底上的信息代码,所述信息代码包括对位置信息编码的位置层和对任意非定位数据编码的数据层。
所述产品可以是包括其上可施加信息代码的基底的任何产品。在详细的说明中给出不同产品的示例。
根据本发明的另一方面,一种对来自信息代码的数据解码的方法包括步骤:接收信息代码的局部区域的代表,在局部区域定位层和局部区域数据层中分离局部区域中的信息代码,对来自局部区域定位层的位置信息解码,以及对来自局部区域数据层的任意非定位数据解码。
根据本发明的另一方面,一种用于对信息代码解码的装置,包括:处理器,设置为接收信息代码的局部区域的代表,在局部区域定位层和局部区域数据层中分离局部区域中的信息代码,对来自局部区域定位层的位置信息解码,以及对来自局部区域数据层的任意非定位数据解码。
所述产品、解码方法和解码装置的优点通过对编码方法的讨论以及以下的详细说明而变得清楚。
附图说明
现在将参照示意性附图更加详细地描述本发明,其中:
图1示出可使用信息代码的系统。
图2示出组合成信息代码的定位层和数据层。
图3示出可如何对信息代码中的元素进行图形编码的示例。
图4示出可如何构成信息代码。
图5示出可用于解码信息代码的用户单元。
图6是示出可如何处理信息代码的局部区域的图像的流程图。
图7是示出可如何从信息代码解码消息的流程图。
图8是示出可如何对信息代码编码的流程图。
具体实施方式
图1示意性示出可使用信息代码的信息管理系统的示例。所述系统包括:产品1、笔类型的用户单元2、移动电话3、个人计算机(PC)4、远程单元5和本地单元6。
向产品1提供信息代码7和位置代码8。以放大的比例示意性示出信息代码7和位置代码8中的每一个的一小局部。其它产品可仅具有信息代码7。
所述信息代码是将数据以一维存储在基底的一维信息代码,在这种情况下,在水平方向将所述数据存储在基底。通过将用户单元2按照从左到右或从右到左的水平方向在整个信息代码上移动,可记录存储在信息代码中的数据。理论上说,通过将用户单元2向垂直方向移动不会得到额外的信息。然而在实际中,例如,在信息代码没有完好地在基底上再现的情况下,或者在用户单元对信息代码的成像不完整或不完好的情况下,在信息代码中不同垂直位置上看到相同数据的用户单元可得到补充信息。
以下将参照图5更加详细描述的用户单元2能够记录和解码信息代码7。它也可记录和解码来自位置代码8的位置信息。用户单元2可在内部处理解码的信息并响应于所解码的信息向用户提供反馈。用户单元2还可与如移动电话3、PC 4或本地单元6的本地单元通信,以便它们维护对记录的信息的处理和/或对解码信息的响应的至少一部分。本地单元还可充当到远程单元5的通信接口,所述远程单元5例如,互联网上用于转发记录/解码的信息的服务器。
可为了不同的目的提供信息代码7。例如,信息代码7可定义将通过位置代码8记录的手写信息发送到的地址。或者信息代码7可包括向位置代码8提供的区域的布局的描述。例如,所述区域可构成将由用户填写的表格,信息代码7向用户单元2提供用于如何解释并/或处理来自所述表格的不同区域的信息的指示。例如,在向产品的所有样本提供对所有产品上的相同位置编码的同样的位置代码8(也称为“复制位置代码”)的情况下,信息代码7还可提供产品的特定样本的唯一标识。
为了能够正确地对信息代码7和位置代码8两者解码,用户单元2优选地应该能够区分所述两种代码。以下将描述一种在代码本身中指示代码种类的方法。首先,将参照图2描述可如何构建信息代码7的示例。
如图2中示意性所示,信息代码7包括两个分离的层-定位层20和数据层21。
定位层20以二维对唯一绝对位置编码。数据层21对数据编码。在信息代码7中,定位层20和数据层21彼此叠加,从而信息代码的每个元素包括来自定位层20和数据层21的相应元素的组合。用图形符号对信息代码的元素编码。
当对信息代码解码时,将位置层20和数据层21分离,并分别对所述层解码。然而,当对数据层21解码时,使用位置信息。
可通过具有以下属性的窗口数列来构建这种信息代码7:在所述数列中,预定长度的任意子序列只出现一次。
在数学领域内,具有上述属性的最大长度的序列称为DeBruijn序列。用于产生变化长度的这种序列的方法是公知的。
对于具有上述属性的任何序列,将在本申请中使用表述“窗口序列”。关于子序列(窗口)长度,所述序列不需要具有最大长度。其还将用于通过重复具有上述属性的序列而获得的序列。这种序列将是周期性的并在每个周期中具有上述属性,每个周期将重复序列之间的过渡包括在内。
在图2的示例中,通过长度n的窗口序列的实例来建立定位层20,所述实例在与图2中的x轴平行的行上行进。通过相同窗口序列的实例来建立数据层21,所述实例在与y轴平行的列中行进。打算的扫描方向是沿着x轴。当然,可选择地,定位层20的窗口序列的实例可沿着y轴延伸,数据层的窗口序列的实例沿着x轴。还可使用例如具有窗口序列之间的其它角度的其它排列。
窗口序列的实例并不总是从完整的窗口序列周期开始,也可以从部分的窗口序列周期开始。窗口序列实例开始的位置或索引被称为实例的循环移位或仅仅称为移位。如果行或列从完整的窗口序列周期开始,则循环移位是零。
两个邻近行或列的两个实例的移位之间的差以n为模的结果定义为所述实例之间的相对循环移位Δi或相对移位。
在图2中,将窗口序列的实例示意性示为定位层20和数据层21中的条23。也示意定位层20中的两个相对移位Δi和Δi+1以及数据层21中的两个移位Si和Si+1。应指出,图2并不是按照比例显示的。
定位层20可定义具有n*n个唯一绝对位置的定位表面,通过窗口序列的实例和它们之间的相对移位对所述唯一绝对位置编码。可重复定位表面以创建任意长度或宽度的定位层20。除定位信息之外,定位层20还可对全局信息代码参数编码,之所以被称为全局信息代码参数,是因为它在定位表面上没有变化,并且可在来自定位层21的任何位置对它解码。
数据层20通过窗口序列的实例的循环移位si对数据编码。如以下更加详细地所描述的,数据层20还可对指示信息代码的开始和结束的定界带编码。
用于创建信息代码7的窗口序列可具有任何基底,但是它应该优选地是较小的基底,诸如4或更少,从而可通过较低复杂性的符号对它进行图形编码。在所述示例中,基底是2。因此,定位层21和数据层20中的每一个包括二进制矩阵。当所述两个二进制矩阵叠加时,组合的矩阵中的每个位置将具有两个关联的比特,一个来自定位层,一个来自数据层。可借助具有表示四个不同值的四种不同状态的符号在产品的表面对所述两个比特编码。
图3示出通过简单图形符号或标记31编码的信息代码的一小局部,其中,所述标记31可根据它们相对于标称位置32或光栅点的各个位置来假设四个不同的值,0-3。如图3所示,每个符号31具有点的形状,并且在相对于标称位置32的四种不同方向之一移开距离33。标称位置23位于优选为不可见或虚拟光栅或网格中的光栅线34之间的交叉点。网格间距35可典型地为0.3mm。通过移开的方向来确定符号的值。可将每个符号值0-3转换为助于对定位层20中的位置编码的一比特和助于对数据层21中的数据编码的一比特,即,转换为比特对(0,0)、(0,1)、(1,0)和(1,1)。这是如何用位置层和数据层构建信息代码的一个示例。
以下假设下面的长度n=63和窗口6的二进制窗口序列用于创建信息代码:
0,0,0,0,0,0,1,0,0,1,1,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,1,0,1,1,1,1,0,0,0,1,1
还称为主序列M的所述序列可用于对63个接63个的定位表面编码。因为可对它进行旋转移位以在63个不同位置开始,所以它具有63个不同的旋转移位。
通过根据下面的等式对主序列M的实例移位来创建定位层20:
si=si-1+R(imod 63)-1+3g(imod 7)                    (1)
s0=0
其中,R是长度63的三元组[0,1,2]窗口序列,g是长度7的三元组[-1,0,1]序列,其对上述全局信息代码参数编码,i是指示位置层中的行号码的索引。
此外,Ri的总和应该以63为模后余零,gi的总和应该以7为模后余零,以保证对于所有的j,行j等于行j+63。
序列R是具有长度63和窗口4的窗口序列。下面的序列用于这一示例中:
0,0,0,0,1,0,0,0,2,0,0,1,1,0,0,1,2,0,0,2,1,0,0,2,2,0,1,0,1,1,1,0,1,2,1,0,2,1,2,0,1,2,2,0,2,2,2,1,1,1,1,2,1,1,2,2,1,2,1,2,2,2,2
序列R向与扫描方向成直角的y轴的方向延伸。因为它能够实现对信息代码在哪个级别被扫描的检测,所以将其称为标尺序列。这接着使得能够以数据层的循环移位对数据编码。因为一个移位中的错误仅影响通过所述移位编码的数据,所以与用相对移位对数据编码相比,所述编码会更加有用。
序列g是来自符号集[-1,0,1]的任何7符号序列,所述符号集共计为以7为模后余零。存在395个这种序列。以下序列是一个示例:
1,1,-1,0,1,-1,-1
因此,有许多方式来区分其它方式的等同的信息代码。全局参数可典型地用于对信息编码,当开始对信息代码解码时,所述信息应该立即可用。例如,其可用于标记在数据层的数据中采用了什么编码原则(例如,应该将点代码看作整个消息还是一系列短即时消息,如果有的话,通过作为纠错编码(ECC)的一种类型的循环冗余校验(CRC)保护的数据是否是嵌入的数据等)。作为进一步的示例,可以用全局参数对信息代码的取向(水平或垂直)编码,从而用户可得到关于将向哪个方向扫描信息代码的即时反馈。
当使用以上的等式(1)和如上所述的R和g序列来对定位层20编码时,定位层20的实例之间的所有循环移位将属于间隔[-4,4]。如以下将进一步解释的,定位层的所有循环移位在这一间隔中的事实可用于区分信息代码和其它类似的代码。
数据层21通过与y轴平行延伸的主序列的实例的循环移位si对实际数据消息编码。
可以按照许多不同的方式来实施数据编码。每个主序列具有63个不同的循环移位。因此,对实例的循环移位可用于对63个不同的字符或其它数据段编码。然而,如以下将进一步详细描述的,也可在数据D和移位si之间实施不同的转化或映射。例如,可将数据D嵌入ECC(纠错编码),以对打印和/或读取错误更具抵抗性。
数据层21可仅对数据编码,但是它还可对一个或多个定界区域编码,所述定界区域指示信息代码的开始和/或结束。具有定界区域的优点在于当用户单元记录不完整信息或来自两种不同类型的代码的信息时,它可避免从背景或其它代码到信息代码的过渡中的混乱。
可以按照不同的方式来标记出定界区域,例如,通过不同于对实际信息代码的图形编码的图形编码。还可通过预留的用于对定界区域编码的特定循环移位标记出定界区域。在所述示例中,预留循环移位10和11以分别对开始区域和结束区域编码。
可将通过信息代码编码的消息数据D进一步划分为预定长度的块。划分成块可有助于将数据映射到循环移位。这也可使得更加容易决定什么时候可将数据从解码模块发送到其它模块或发送到外部单元。
所有块可对消息数据编码。还可将一个或多个块用于对诸如消息的头部的其它数据编码。例如,所述头部可包括:CRC(循环冗余校验)、ECC、指示消息的长度的长度信息、指示消息包含的数据的种类的消息类型ID或可典型地简化解码处理的关于所述消息的其它信息。
信息代码可具有带有固定数量数据块的预定长度,或者信息代码可具有可选择的长度。
现在,将描述编码示例。考虑L字节的原始数据消息D。将包含CRC的头部(2字节)、以5为模的完整消息的长度L(1字节)和内容类型(1字节)附加到消息D,用零填充消息D以得到以5为模后余零的长度。将消息数据D分割成5字节的块,所述块均通过使用7循环移位来编码。这样做是因为617>2565。通过改变基底来实现映射,即,
Σ i = 0 4 a i · 256 i = Σ i = 0 6 b i 61 i - - - ( 2 )
其中,ai<256,bi<61,ai和bi是非负数字。
在图4中示出完整消息串。定界区域均具有至少8个循环移位,块0-5均包含7个连续移位。根据在消息串加12以63为模后的相应位置中的移位来选择数据层21中的窗口序列的实例的实际移位,从而避免预留用于定界区域的移位10和11。此外,为了审美的原因,可将移位进一步偏移10x以63为模后的量,其中,x是移位的x位置。定位层20应该与数据层21对准,从而第一块(头部块)的第一移位在为零的x位置,以便可容易地确定块的开始和结束。
可单独使用信息代码,或者可与其它代码组合地使用信息代码。如以上所指出的,例如,其可连同位置代码使用,这能够实现手写的电子记录。
如在US 6,667,695中所述,可将上述信息代码对于实例与位置代码一同使用。由两个定位层构成所述位置代码,一个对x座标编码,一个对y座标编码。通过在与y轴平行的列中排列可作为上述主序列M的窗口序列的实例来创建x定位层。将实例循环移位,从而实例之间的相对移位形成沿x轴延伸的窗口序列。以相应的方式来创建y定位层,但是使用的是沿与x轴平行的行延伸的窗口序列的实例。同样,将y定位层的窗口序列实例循环移位以创建沿y轴延伸的窗口序列。将x和y定位层彼此叠加,从而位置代码的每个元素包括来自两个层的信息。可通过与在信息代码的上述实施例中使用的相同符号,即,在四种方向之一从网格点移开的点对位置代码进行图形编码。在所述位置代码中,任何6*6的符号组将定义唯一绝对位置。
位置代码属于所谓的“浮动类型”。这表示任何包括预定数量符号,这里为6*6符号的任意局部区域将定义位置,并且任意局部区域的至少一些符号助于对多于一个位置编码。除非另外声明,否则如果将任意局部区域向上、向下、向左或向右移动网格间距,则将通过由此获得的任意局部区域中的符号来定义新的位置。
按照如下方式来形成位置代码:没有x定位层或y定位层中的循环移位属于用于信息代码的定位层的间隔[-4,4]。因此,可通过循环移位来区分信息代码和位置代码。
信息代码可用于几乎不限定数量的应用,这里仅提到所述应用中的几个。
例如,信息代码可用于对语音串编码,可由用户单元对其解码,并合成语言,由用户单元2或另一附近单元中的扬声器将语言送到用户。还可将信息发送到将由不同于扫描信息代码的用户的另一用户来收听的远程单元。
信息代码还可对音乐或系列音调编码。在这种情况下,例如,可将信息代码叠加在一页音乐上的音符上,从而当用户通过利用用户单元跟随音符来扫描信息代码时,相应的音调从用户单元或将信息传送到的另一单元输出。
另一应用将是使用信息代码来创建孩子游戏。例如,可将信息代码排列为将由用户单元跟随的迷宫。如果按照正确的方式跟随迷宫,则当穿越迷宫时,用户将以搜集的消息的形式得到反馈。用户还可当在迷宫中转错弯时得到反馈。
信息代码还可用于将信息下载到用户单元,例如,内部更新、关于形式或用户单元与之相互作用的其它文档的布局的信息、关于由用户单元给出的反馈的信息等。
信息代码还可用于指示通过位置代码记录的信息应该被发送到的地址。例如,信息代码可构成由用户在文档上签名,以确认对文档的内容的接受的签名字段。当用户对文档签名时,将通过位置层中的位置信息记录的电子方式记录的签名自动发送到在数据层中编码的地址。
图5示意性地示出图1的笔类型用户单元2的实施例,其可用于对图1的产品1上的信息代码7解码,也适于记录来自图1的产品1上的位置代码8的手写信息。
笔2具有定义了窗口或缺口204的笔形外罩或外壳202,通过窗口或缺口204可记录图像。外罩包括相机系统、电子系统和电源。
相机系统206包括至少一个照明光源、镜头排列和光图像阅读器(没有在图中示出)。光源适当地为发光二极管(LED)或激光二极管,其照亮可通过红外辐射经由窗口204观看的局部区域。通过镜头排列将观看到的区域的图像投射到图像阅读器。图像阅读器可以是二维CCD或CMOS检测器,以典型为大约70-100Hz的固定频率来触发图像阅读器拍摄图像。
用于传感器装置的电源方便地是电池208,可选地,可由主电源(未示出)来代替或补充电池。
电子系统包括连接到存储块212的控制单元210。控制单元210负责电子笔中的不同功能,可方便地通过以下部件来实现:诸如CPU(“中央处理单元”)的市场上可用的微处理器、DSP(“数字信号处理器”)或诸如FPGA(“现场可编程门阵列”)或可选的ASIC(“专用集成电路”)的一些其它可编程逻辑器件、离散模拟和数字部件、或一些上述组合。存储块212优选地包括不同类型的存储器,诸如工作存储器(例如,RAM)和程序代码以及持久存储器(非易失性存储器,例如,闪速存储器)。将关联软件存储在存储块212中,并通过控制单元210来执行。因此,可将用于对信息代码和位置代码解码的软件存储在存储块212中,并通过控制单元210来执行。
外罩202还带有笔尖214,其允许用户通过将普通的基于颜料的不褪色墨水置于笔尖中而在表面上进行物理上的写或画。笔尖214中的不褪色墨水适当地对于照明射线透明,以便避免在电子笔中与光电方向的干扰。将接触传感器216在操作上连接到笔尖214,以检测什么时候将笔落下(下笔)和/或抬起(抬笔),并且可选地允许确定下笔强度。基于接触传感器216的输出,控制相机系统206来拍摄下笔和抬笔之间的图像。
电子系统还包括通信接口218,用于与附近或远程设备进行数据通信,所述设备诸如计算机、移动电话、PDA、网络服务器等。因此,通信接口218可提供用于有线或无线短程通信的部件(例如,USB、RS232、无线电传输、红外传输、超声波传输、电感耦合等)和/或用于有线或无线远程通信的部件,典型地为经由计算机、电话或卫星通信网络。
笔还可包括MMI(人机接口),其选择性地为用户反馈而激活。MMI可包括显示器、指示灯、振动器、扬声器等。
此外,笔可包括一个或多个按钮,通过它们可激活和/或控制笔。
用户单元2的上述实施例当然仅是示例。根据打算的功能,用户单元2可具有另一外观和其它部件。
用户单元2的上述实施例还打算用于以下两种情况:用于通过在位置代码上的移动期间连续记录笔的位置来以电子方式将比划记录在位置代码8上,以及用于记录来自信息代码7的信息。
如果用户单元2仅用于记录信息代码7,则可不同地设计用户单元。例如,它不需要具有笔尖。
当用户单元用于记录信息代码7时,用户将其沿着在任意高度的信息代码的x轴移动。在移动期间,用户单元记录信息代码的局部区域的图像。局部区域不需要覆盖信息代码的全部高度,而仅是覆盖局部高度。根据扫描速度,图像将在扫描方向上具有或多或少的重叠内容。由于定位层,所以实际上并不要求没有重叠,但是需要记录数据层中的窗口序列的每个实例的局部,以便数据消息是完全可重获的。
将参照图6来描述可如何实施对一个图像中看到的信息代码的局部解码的下一示例。
可在用户单元2,更具体地说,在解码模块中实施解码,所述解码模块在步骤600接收信息代码的图像。图像表示信息代码的局部区域。例如,其可包括10x10个符号或点。
在下一步骤602,处理图像以确定不同点的值。可按照如上述US6,667,695中公开的用于位置代码的相应方式来实施所述处理,所述方式使用与x轴座标层相应的数据层和与y座标层相应的定位层。因此,这里就不在任何细节上作详细描述。要说到的必要内容是:所述处理可包括将点定位,确定透视图和确定网格,所述处理可导致两种偏移概率矩阵(OPM),一种相应与定位层的成像局部,一种相应于数据层的成像局部。OPM对于每个点和每个值指示:所述点可表示所述点表示所述值的概率。例如,可在US 2003/0053699,US 2003/0189664,US 2003/0118233,US 2002/0044138,US 6,677,695,US 6,732,927,US 2003/0122855,US 2003/0128194中找到关于如何实施所述步骤的进一步细节,所有上述专利被转让给本发明的受让人。
信息代码的图像包括主序列的编码子序列。长度6的每个子序列在主序列中具有预定位置。所述位置构成子序列的序列值。当建立OPM时,可通过表查找或与主序列的相关性来确定在图像中看到的不同子序列的序列值。序列值可用于确定信息代码的旋转,如果从正确的旋转又旋转了0、90、180或270度,则对于用户单元2看起来是相同的。更具体地说,通过在所有四种旋转(0、90、180或270度)中从定位层和数据层两者研究8比特子序列,并利用没有8比特子序列在主序列M中看来是相反或颠倒的事实,来确定所述旋转。在US6,732,927中找到可如何对于这种类型的代码确定旋转的更加详细的描述。
可以但是非必要地对于每个图像确定旋转,这是因为可假设用户在信息代码上沿着大约直线来移动用户单元。因此,在图6的流程图中没有包括确定旋转的步骤。
还应提到,一旦确定了正确的选择,则也将清楚哪个层是定位层,哪个层是数据层。
当确定序列值时,用户单元通过确定它们的序列值之间的差来确定定位层的在图像中看到的子序列之间的相对循环移位。可以看出:从定位层中的主序列的两个邻近实例中的相应水平位置取出的长度6的两个子序列的两个序列值之间的差与所述两个邻近实例的循环移位之间的差,即,相对循环移位相同。
在下面的步骤606,检查定位层的一个或多个相对循环移位属于用于位置代码的相对循环移位组还是属于用于信息代码的相对循环移位组。如果预定数量的相对移位属于第一组,则可得出所述代码是位置代码的结论,并在步骤608根据用于位置代码的解码算法来进行解码。否则,假设所述代码是信息代码,并且将处理进行到步骤610,其中,根据以上的等式(1)来确定与解码的相对循环移位相应的标尺值Ri和全局信息代码值gi
七个全局信息代码值gi一起定义全局信息代码参数,第一图像中的信息代码一被解码,用户单元就可使用所述全局信息代码参数。
四个标尺值Ri一起定义y座标,这是因为标尺值是带有窗口4的窗口序列,因此,一得知标尺序列的长度4的子序列,就得知标尺序列R中的位置,并由此得知沿着y轴的位置。因为不同行(不同y座标)的主序列的移位是已知的,所以在步骤612,一旦建立了y座标,则也可从向x方向延伸的主序列的长度6的子序列确定x座标。
接着,在步骤614,确定来自数据层的数据。由于y座标已知,所以可确定数据层的成像局部区域中的不同子序列的移位。在步骤616,可对移位进行时间标记,并根据相应的x位置将其存储在用户单元的存储器中的数据结构中。如果移位是10或11,则可将指示已检测到定界区域的信号输出到另一模块或如图7中所示的处理的处理。
应注意到,用户单元设法对图像中的所有信息解码,或至少对图像的那些具有可接受质量的局部中的所有信息解码。
以相应的方式处理下一图像。然而,可利用与在前图像的局部重叠来记录下一图像,其大小取决于用户将用户单元在信息代码上移动得多快。因此,对于x方向的特定位置,可已经存储了移位。随后可将重叠用于检查已经存储的移位的正确性。此外,图像的质量会不同。然后,可选择从最好质量的图像产生的移位。如果几个图像具有重叠内容,则多数表决可用于确定应该将哪个移位最终存储在数据结构中。
在图7中,示意性示出对整个信息代码的解码。首先,在步骤700,在将用户单元2在信息代码上移动的同时,由用户单元2记录图像,并且按照以上参照图6所描述的,对各个图像中的信息代码解码。
接着,在步骤702,检查是否已检测到两个定界区域,所述定界区域标记出信息代码的开始和结束。如果没有检测到,则重复所述检查。
当已经检测到信息代码的两个定界区域时,在步骤704,检查是否已连续记录信息代码的所有块。时间标记可用于这一目的。如果丢失了一个或多个块,则在步骤706输出错误信号。例如,如果用高于为用户单元设计的扫描速度来扫描信息代码,则会丢失块。如果所有块已被正确记录,则处理进行到步骤708,其中,将记录的移位转换为头部数据和消息数据D,所述头部数据用于对消息数据D解码。在下面的步骤710,检查CRC。如果没有正确记录,则在步骤712,输出错误信号。否则,可将解码的消息数据D报告给用户单元中的另一模块以进行进一步的处理,并反馈给用户,其中,如果使用了ECC,则可在报告之前已经将所述消息数据D进行解包。
解码处理的上述示例假设在报告消息数据D之前,将对信息代码全部解码。在其它类型的信息代码中,一全部接收到块,就报告每个数据块中的消息数据。例如,可以由全局信息代码参数来指示将使用的消息数据报告的种类。
信息代码的解码可发生在用户单元或信息代码的图像将被发送到的另一单元。可在为这一目的设计的软件或硬件或其组合中实施所述处理。可将解码软件存储在计算机可读介质上,或者在内部存储在计算机存储器中,例如,存储在用户单元2的存储块212中。还可将其携带在电子载波信号上。
在图8的流程图中示意性示出对信息代码的编码。
首先,在步骤800,选择用于信息代码的全局信息代码参数。
接着,在步骤802,通过根据以上的等式(1)来对主序列的实例进行移位借助于预定主序列M和预定标尺序列R来对定位层20编码。
然后,对数据层21编码。所述步骤804包括:根据以上的等式(2)将5字节数据组转换为7循环移位块,并对主序列的实例进行移位,以形成带有具有第一预定移位的实例的开始区域、带有具有取决于头部数据的移位的实例的头部块、带有具有取决于消息数据的移位的实例的消息块和带有具有第二预定移位的实例的停止块。
最后,在步骤806,将位置层20和数据层21组合成信息代码7,例如,通过移开的点对所述信息代码7编码。还可将其它类型的图形符号用于,例如,不同地旋转以用于编码不同值的实例斜线或具有用于编码不同值的不同形式或大小或颜色的其它标记。例如,如果信息代码不是浮动类型,则还可使用更加复杂的符号。
可按照能够由打印机处理或能够在作为示例的纸张上打印出来的格式直接或稍后对信息代码进行格式化。还可按其它方式将信息代码施加于基底。
可以在软件或硬件或其任何组合中实施对信息代码的编码。以上所述的关于解码软件的内容也应用于编码软件。
以上已经公开了信息代码的实施例,根据该实施例,主序列的实例在定位层和数据层向不同的方向延伸。然而,其也可预见为具有向相同方向延伸的实例。根据所述实施例,可以用数据层中的窗口序列的实例之间的相对循环移位来对数据编码。此外,也可以用定位层中的窗口序列的实例之间的循环移位对标尺序列编码。在所述实施例中,可通过读取在x方向和y方向两者的信息代码和对基于统计确立的主序列的实例向什么方向延伸来确定信息代码的正确旋转。
在上述实施例中,定位层对周期的63*63定位表面编码。一种创建定位表面的方法将为在每个数据块中预留一个或多个比特以提供用于区分定位表面的不同周期的附加位置信息,其中,所述定位表面实际上在信息代码的读取方向可以是无止境的。可用全局信息代码参数中对数据块包含附加位置信息的指示编码。当信息代码在读取方向上包含非周期位置信息时,可允许对信息代码的多扫描,从而在下面的扫描中可记录在第一扫描中丢失的信息条。
同样在周期性定位表面的情况下,可允许多扫描。在上述带有周期性的63*63定位表面的示例中,每条信息的位置是已知以63为模的。如果存在用于信息条的可选位置,则可通过匹配来确定正确的位置。
在上述实施例中,位置层的相对移位对标尺序列R和全局信息参数序列g编码,其中,所述标尺序列R指示与打算的扫描方向成直角的位置。在另一实施例中,位置层的相对移位可仅对标尺序列编码。在另一示例中,相对移位可仅对非定位信息编码。在这种情况下,可以用相对移位对数据层的数据编码。

Claims (30)

1、一种存储数据的方法,包括:
在定位层对关于二维的位置信息编码,在分离的数据层对任意非定位数据编码,以及将定位层和数据层组合成将在基底上排列的信息代码,其中,通过使用窗口序列对位置信息和数据两者编码,以及其中,所述定位层和所述数据层彼此叠加,以及来自定位层和数据层的重叠元素由公共代码元素所编码。
2、如权利要求1所述的方法,还包括:
通过形成窗口序列的循环移位的实例的矩阵对数据层中的数据编码,其中,循环移位的大小取决于将被编码的数据。
3、如权利要求2所述的方法,还包括:
用实例的循环移位对数据编码。
4、如权利要求1所述的方法,还包括:
通过形成窗口序列的循环移位的实例的矩阵对定位层中的位置信息编码,其中,循环移位的大小取决于将被编码的位置信息。
5、如权利要求4所述的方法,其中,用实例之间的相对循环移位对关于第一维的位置信息编码。
6、如权利要求4所述的方法,还包括:
通过用定位层矩阵的实例之间的相对循环移位对标尺窗口序列编码,对关于第一维的位置信息编码。
7、如权利要求4所述的方法,还包括:
对定位层矩阵中的窗口序列的所述实例进行循环移位,从而实例之间的相对循环移位属于用于形成定位层矩阵的窗口序列的实例的所有可能相对循环移位的预定子集。
8、如权利要求1-7中的任何一个所述的方法,还包括:
在定位层对全局信息代码参数编码,从而在定位层中的任何地方均可对其解码。
9、如权利要求4所述的方法,还包括:
用定位层矩阵中的窗口序列的实例之间的相对循环移位对全局信息代码参数编码,从而在定位层中的任何地方均可对其解码。
10、如权利要求1-7中的任何一个所述的方法,还包括:
以预定大小的数据层块对数据层中的数据编码。
11、如权利要求2所述的方法,还包括:
通过将定界区域内的窗口序列的实例循环移位预定的固定循环移位,从而对数据层中的至少一个定界区域编码。
12、如权利要求1-7中的任何一个所述的方法,其中,信息代码是一维信息代码。
13、一种包括基底和基底上的信息代码的产品,所述信息代码包括对关于二维的位置信息编码的位置层和对任意非定位数据编码的数据层,其中,通过使用窗口序列对位置信息和数据两者编码,以及其中,所述定位层和所述数据层彼此叠加,以及来自定位层和数据层的重叠元素由公共代码元素所编码。
14、如权利要求13所述的产品,其中,信息代码包括至少一个由窗口序列的循环移位的实例形成的矩阵,其中,邻近实例之间的相对循环移位排他地属于信息代码中的所述实例的所有可能相对循环移位的第一子集,其中,所述产品还包括与所述信息代码分离的位置代码,其包括至少一个由窗口序列的循环移位的实例形成的矩阵,其中,邻近实例之间的相对循环移位排他地属于位置代码中的窗口序列的所述实例的所有可能相对循环移位的第二子集,所述第一子集和第二子集相互排斥。
15、一种对信息代码解码的方法,所述信息代码包括对关于二维的位置信息编码的位置层和对任意非定位数据编码的数据层,其中,通过使用窗口序列对位置信息和数据两者编码,以及其中,所述定位层和所述数据层彼此叠加,以及来自定位层和数据层的重叠元素由公共代码元素所编码,包括:
接收信息代码的局部区域的代表,
在局部区域定位层和局部区域数据层中分离局部区域中的信息代码,
对来自局部区域定位层的关于二维的位置信息解码,以及
对来自局部区域数据层的任意非定位数据解码。
16、如权利要求15所述的方法,其中,通过使用来自局部区域定位层的位置信息从局部区域数据层对数据解码。
17、如权利要求15所述的方法,其中,数据层包括窗口序列的实例的矩阵,所述实例经过循环移位,所述方法还包括:通过确定与局部区域数据层关联的窗口序列的所述实例的循环移位来对数据解码。
18、如权利要求17所述的方法,其中,通过来自局部区域定位层的位置信息来确定循环移位。
19、如权利要求15到18中的任何一个所述的方法,还包括:与从局部区域定位层解码的位置信息关联地存储来自局部区域数据层的解码数据。
20、如权利要求15到18中的任何一个所述的方法,还包括:通过检测到与局部区域数据层关联的窗口序列的实例具有指示定界区域的预定循环移位,而确定接收的局部区域包括定界区域。
21、如权利要求15到18中的任何一个所述的方法,其中,定位层包括窗口序列的实例的矩阵,所述实例经过循环移位,所述方法还包括步骤:通过确定与局部区域定位层关联的窗口序列的实例之间的相对循环移位来对关于第一方向的位置信息解码。
22、如权利要求15到18中的任何一个所述的方法,其中,定位层包括窗口序列的实例的矩阵,所述实例经过循环移位,所述方法还包括步骤:通过确定与局部区域定位层关联的窗口序列的实例之间的相对循环移位来对全局信息代码参数解码。
23、一种用于对信息代码解码的装置,所述信息代码包括对关于二维的位置信息编码的位置层和对任意非定位数据编码的数据层,其中,通过使用窗口序列对位置信息和数据两者编码,以及其中,所述定位层和所述数据层彼此叠加,以及来自定位层和数据层的重叠元素由公共代码元素所编码,所述装置包括:处理器,其被设置为接收信息代码的局部区域的代表,在局部区域定位层和局部区域数据层中分离局部区域中的信息代码,对来自局部区域定位层的位置信息解码,以及对来自局部区域数据层的任意非定位数据解码。
24、如权利要求23所述的装置,其中,所述处理器进一步被配置成通过使用来自局部区域定位层的位置信息从局部区域数据层对数据解码。
25、如权利要求23所述的装置,其中,数据层包括窗口序列的实例的矩阵,所述实例经过循环移位,所述处理器进一步被配置成:通过确定与局部区域数据层关联的窗口序列的所述实例的循环移位来对数据解码。
26、如权利要求25所述的装置,其中,所述处理器进一步被配置成通过来自局部区域定位层的位置信息来确定循环移位。
27、如权利要求23到26中的任何一个所述的装置,其中,所述处理器进一步被配置成:与从局部区域定位层解码的位置信息关联地存储来自局部区域数据层的解码装置。
28、如权利要求23到26中的任何一个所述的装置,其中,所述处理器进一步被配置成:通过检测到与局部区域数据层关联的窗口序列的实例具有指示定界区域的预定循环移位,而确定接收的局部区域包括定界区域。
29、如权利要求23到26中的任何一个所述的装置,其中,定位层包括窗口序列的实例的矩阵,所述实例经过循环移位,所述处理器进一步被配置成:通过确定与局部区域定位层关联的窗口序列的实例之间的相对循环移位来对关于第一方向的位置信息解码。
30、如权利要求23到26中的任何一个所述的装置,其中,定位层包括窗口序列的实例的矩阵,所述实例经过循环移位,所述处理器进一步被配置成:通过确定与局部区域定位层关联的窗口序列的实例之间的相对循环移位来对全局信息代码参数解码。
CNB2005800217741A 2004-06-28 2005-06-23 数据的编码和解码 Expired - Fee Related CN100573566C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE04016473 2004-06-28
US60/582861 2004-06-28
SE0401647A SE0401647D0 (sv) 2004-06-28 2004-06-28 Coding and decoding of data

Publications (2)

Publication Number Publication Date
CN101006455A CN101006455A (zh) 2007-07-25
CN100573566C true CN100573566C (zh) 2009-12-23

Family

ID=32733677

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800217741A Expired - Fee Related CN100573566C (zh) 2004-06-28 2005-06-23 数据的编码和解码

Country Status (6)

Country Link
US (1) US7950588B2 (zh)
EP (1) EP1766560A1 (zh)
KR (1) KR101119310B1 (zh)
CN (1) CN100573566C (zh)
SE (1) SE0401647D0 (zh)
WO (1) WO2006001769A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0401687D0 (sv) 2004-06-30 2004-06-30 Anoto Ab Information management
JP5439358B2 (ja) 2007-03-23 2014-03-12 アノト アクティエボラーク 位置符号化パターンの印刷
US8301177B2 (en) * 2009-03-03 2012-10-30 Intel Corporation Efficient paging operation for femtocell deployment
US10620754B2 (en) 2010-11-22 2020-04-14 3M Innovative Properties Company Touch-sensitive device with electrodes having location pattern included therein
DE102011112232A1 (de) * 2011-09-01 2013-03-07 Heidelberger Druckmaschinen Aktiengesellschaft Verfahren und Vorrichtung zur Erzeugung eines Barcodes auf einem Substrat
US11452153B2 (en) 2012-05-01 2022-09-20 Lisnr, Inc. Pairing and gateway connection using sonic tones
KR20150020319A (ko) 2012-05-01 2015-02-25 엘아이에스엔알, 인크. 콘텐츠 전달 및 관리를 위한 시스템 및 방법
EP3543779B1 (en) 2013-01-28 2023-04-05 Samsung Display Co., Ltd. Display device
EP2951675B1 (en) * 2013-01-30 2020-07-08 Hewlett-Packard Development Company, L.P. Method of writing data to a data-bearing medium and method of recovering said data
WO2015034510A1 (en) * 2013-09-06 2015-03-12 Hewlett-Packard Development Company, L.P. Data bearing medium
AU2015332430A1 (en) 2014-10-15 2017-05-04 Lisnr, Inc. Inaudible signaling tone
CN107016428A (zh) 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种二维码的初始化方法及装置
US11233582B2 (en) * 2016-03-25 2022-01-25 Lisnr, Inc. Local tone generation
CN108665037A (zh) * 2017-04-02 2018-10-16 田雪松 数据编码方法及装置
CN108664963A (zh) * 2017-04-02 2018-10-16 田雪松 基于编码标记的编解码方法
CN107122067B (zh) * 2017-05-04 2020-09-08 网易(杭州)网络有限公司 物理介质表面位置编解码的方法、装置和可读存储介质
US11189295B2 (en) 2017-09-28 2021-11-30 Lisnr, Inc. High bandwidth sonic tone generation
US10826623B2 (en) 2017-12-19 2020-11-03 Lisnr, Inc. Phase shift keyed signaling tone

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1076798A (zh) * 1992-03-16 1993-09-29 欧林巴斯光学工业股份有限公司 利用ccd/cmd摄象机对二维条形码解码的方法和装置
US6678499B1 (en) * 1999-06-30 2004-01-13 Silverbrook Research Pty Ltd Method and system for examinations

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5194852A (en) * 1986-12-01 1993-03-16 More Edward S Electro-optic slate for direct entry and display and/or storage of hand-entered textual and graphic information
US4939354A (en) * 1988-05-05 1990-07-03 Datacode International, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
JPH01288046A (ja) 1988-05-14 1989-11-20 Pioneer Electron Corp 電話番号のバーコードフォーマット
US5051736A (en) * 1989-06-28 1991-09-24 International Business Machines Corporation Optical stylus and passive digitizing tablet data input system
JPH0381817A (ja) * 1989-08-25 1991-04-08 Hitachi Ltd 手書入力情報処理装置およびこの手書入力情報処理装置を用いた手書入力情報システム
US5145518A (en) * 1990-06-27 1992-09-08 Xerox Corporation Inks containing block copolymer micelles
US5168147A (en) * 1990-07-31 1992-12-01 Xerox Corporation Binary image processing for decoding self-clocking glyph shape codes
US5225900A (en) * 1990-12-31 1993-07-06 Xerox Corporation Method of storing information within a reproduction system
EP0578692B1 (en) 1991-04-03 1995-06-14 Hewlett-Packard Company Position-sensing apparatus
JP2669575B2 (ja) * 1991-04-19 1997-10-29 インターナショナル・ビジネス・マシーンズ・コーポレイション データ入力方法及び装置
US5286286A (en) * 1991-05-16 1994-02-15 Xerox Corporation Colorless fast-drying ink compositions for printing concealed images detectable by fluorescence
US5271764A (en) * 1992-02-12 1993-12-21 Xerox Corporation Ink compositions
US5208630A (en) * 1991-11-04 1993-05-04 Xerox Corporation Process for the authentication of documents utilizing encapsulated toners
JPH05334470A (ja) * 1991-12-27 1993-12-17 Xerox Corp 自己クロッキング図形記号コード
US5245165A (en) * 1991-12-27 1993-09-14 Xerox Corporation Self-clocking glyph code for encoding dual bit digital values robustly
US5221833A (en) * 1991-12-27 1993-06-22 Xerox Corporation Methods and means for reducing bit error rates in reading self-clocking glyph codes
US5477012A (en) * 1992-04-03 1995-12-19 Sekendur; Oral F. Optical position determination
US5852434A (en) * 1992-04-03 1998-12-22 Sekendur; Oral F. Absolute optical position determination
JPH05290197A (ja) * 1992-04-06 1993-11-05 Teiriyou Sangyo Kk 二次元コ−ドシンボルマ−クの解読方法
US5256193A (en) * 1992-06-25 1993-10-26 Xerox Corporation Porphyrin chromophore and dendrimer ink composition
WO1994008314A1 (en) 1992-09-28 1994-04-14 Olympus Optical Co., Ltd. Dot code and information recording/reproducing system for recording/reproducing dot code
US5416312A (en) * 1992-11-20 1995-05-16 Cherloc Document bearing an image or a text and provided with an indexing frame, and associated document analysis system
US5291243A (en) * 1993-02-05 1994-03-01 Xerox Corporation System for electronically printing plural-color tamper-resistant documents
JP3262297B2 (ja) 1993-04-27 2002-03-04 株式会社ワコム 光学式座標入力装置
US5696403A (en) * 1993-10-25 1997-12-09 Lsi Logic Corporation System having input-output drive reduction
US5515456A (en) * 1993-10-26 1996-05-07 Visual Edge Technology, Inc. Process for providing digital halftone image with random error diffusion, color correction and enlargement
US5434371A (en) * 1994-02-01 1995-07-18 A.T. Cross Company Hand-held electronic writing tool
JP3599776B2 (ja) 1994-05-16 2004-12-08 オリンパス株式会社 情報記録システム及び情報記録媒体
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
DK0763239T3 (da) * 1995-04-03 2001-09-24 Toshiba Kk Registreringsmedium, datatransmissionsfremgangsmåde og apparatur og datareproduktionsfremgangsmåde og apparatur
JPH0981711A (ja) 1995-09-20 1997-03-28 Olympus Optical Co Ltd 情報記録媒体、情報再生システム、及び情報記録システム
US6081261A (en) 1995-11-01 2000-06-27 Ricoh Corporation Manual entry interactive paper and electronic document handling and processing system
US5913105A (en) * 1995-11-29 1999-06-15 Advanced Micro Devices Inc Method and system for recognizing scratch patterns on semiconductor wafers
JPH1091746A (ja) 1996-09-10 1998-04-10 Toppan Printing Co Ltd コピー防止コードおよび印刷物
US6047892A (en) * 1996-12-09 2000-04-11 Symbol Technologies, Inc. Two-dimensional bar code symbology using implicit version information encoding
US6327395B1 (en) 1996-12-20 2001-12-04 Xerox Parc Glyph address carpet methods and apparatus for providing location information in a multidimensional address space
US5937110A (en) * 1996-12-20 1999-08-10 Xerox Corporation Parallel propagating embedded binary sequences for characterizing objects in N-dimensional address space
JP3956419B2 (ja) 1997-03-06 2007-08-08 凸版印刷株式会社 Idカード作成方法、idカードおよびidカードの情報読取方法
JPH10326331A (ja) * 1997-03-24 1998-12-08 Olympus Optical Co Ltd ドットコードを有する記録媒体及びコード読取装置
WO1998057473A1 (en) * 1997-06-13 1998-12-17 Lucent Technologies, Inc. Multilevel coding with time diversity
US5900943A (en) * 1997-08-29 1999-05-04 Hewlett-Packard Company Page identification by detection of optical characteristics
GB2329300B (en) 1997-09-16 2002-07-17 Nokia Mobile Phones Ltd Mobile telephone with handwritten data input
US6201903B1 (en) * 1997-09-30 2001-03-13 Ricoh Company, Ltd. Method and apparatus for pen-based faxing
US6518950B1 (en) * 1997-10-07 2003-02-11 Interval Research Corporation Methods and systems for providing human/computer interfaces
WO1999050736A1 (en) 1998-04-01 1999-10-07 Xerox Corporation Paper indexing of recordings
US6330976B1 (en) * 1998-04-01 2001-12-18 Xerox Corporation Marking medium area with encoded identifier for producing action through network
US6571025B2 (en) * 1998-05-18 2003-05-27 Olympus Optical Co., Ltd. Handheld code reader with optimal optical reading distance
US6957768B1 (en) * 1999-05-25 2005-10-25 Silverbrook Research Pty Ltd Computer system control via interface surface
AUPQ363299A0 (en) * 1999-10-25 1999-11-18 Silverbrook Research Pty Ltd Paper based information inter face
AUPQ439299A0 (en) 1999-12-01 1999-12-23 Silverbrook Research Pty Ltd Interface system
JP4785310B2 (ja) * 1999-05-28 2011-10-05 アノト アクティエボラーク 情報の記録に用いられる製品
DE60044458D1 (de) 1999-05-28 2010-07-08 Anoto Ab Positionsbestimmung
SE516522C2 (sv) * 1999-05-28 2002-01-22 Anoto Ab Positionsbestämning
AU752626B2 (en) * 1999-06-28 2002-09-26 Anoto Ab Recording of information
BR0014156A (pt) 1999-08-30 2002-05-14 Anoto Ab Bloco de anotações
SE517445C2 (sv) * 1999-10-01 2002-06-04 Anoto Ab Positionsbestämning på en yta försedd med ett positionskodningsmönster
WO2001048685A1 (en) 1999-12-23 2001-07-05 Anoto Ab General information management system
US6603464B1 (en) * 2000-03-03 2003-08-05 Michael Irl Rabin Apparatus and method for record keeping and information distribution
US20030141375A1 (en) * 2000-03-09 2003-07-31 Spectra Systems Corporation Information bearing marking used with a digitally watermarked background
US7072529B2 (en) * 2000-03-21 2006-07-04 Anoto Ab Systems and methods for information storage
SE518962C2 (sv) * 2000-03-21 2002-12-10 Anoto Ab Produkt och metod för att koda data till ett matrisformat kodningsmönster
SE0000951L (sv) 2000-03-21 2001-09-22 Anoto Ab Anordning och förfarande för rumslig förhållandebestämning
US6864880B2 (en) * 2000-03-21 2005-03-08 Anoto Ab Device and method for communication
SE516310C2 (sv) 2000-04-05 2001-12-17 Anoto Ab Produkt med två kodningsmönster, innefattande rasterpunkter; samt förfarande, datorprogram och anordning för att avläsa kodningsmönstren
US6586688B2 (en) * 2000-04-05 2003-07-01 Anoto Ab Information-related devices and methods
JP4783535B2 (ja) 2000-04-05 2011-09-28 アノト アクティエボラーク 仮想ラスターパターンの特定
KR100824110B1 (ko) 2000-04-05 2008-04-21 아노토 아베 정보 조합 방법 및 시스템
US7050653B2 (en) * 2000-04-05 2006-05-23 Anoto Ab Identification of virtual raster pattern
WO2002064380A1 (fr) 2001-02-15 2002-08-22 Mitsubishi Pencil Kabushikikaisha Instrument pour ecrire
SE523378C2 (sv) 2001-05-29 2004-04-13 Ibusiness Ab System och förfarande för samtidig signering av en urkund i pappersform och digital form
US6667695B2 (en) * 2001-06-25 2003-12-23 Anoto Ab Position code
US7110604B2 (en) * 2001-06-26 2006-09-19 Anoto Ab Processing of digital images
US6732927B2 (en) * 2001-06-26 2004-05-11 Anoto Ab Method and device for data decoding
SE520045C2 (sv) 2001-09-13 2003-05-13 Anoto Ab Kodningsmönster
US7175095B2 (en) * 2001-09-13 2007-02-13 Anoto Ab Coding pattern
US7457476B2 (en) * 2001-10-03 2008-11-25 Anoto Ab Optical sensor device and a method of controlling its exposure time
US7145556B2 (en) * 2001-10-29 2006-12-05 Anoto Ab Method and device for decoding a position-coding pattern
US7283676B2 (en) * 2001-11-20 2007-10-16 Anoto Ab Method and device for identifying objects in digital images
SE520682C2 (sv) 2001-12-06 2003-08-12 Anoto Ab Rekonstruering av ett virtuellt raster
SE520748C2 (sv) * 2001-12-27 2003-08-19 Anoto Ab Aktivering av produkter med inbäddad funktionalitet i ett informationshanteringssystem
US6959866B2 (en) * 2002-05-30 2005-11-01 Ricoh Company, Ltd. 2-Dimensional code pattern, 2-dimensional code pattern supporting medium, 2-dimensional code pattern generating method, and 2-dimensional code reading apparatus and method
JP4198456B2 (ja) * 2002-07-10 2008-12-17 株式会社リコー 2次元コードパターン、2次元コードパターンを担持するパターン担持媒体、2次元コードパターンの生成方法、2次元コード読取装置および読取方法
AU2003239041A1 (en) 2002-06-18 2003-12-31 Anoto Ab Position-coding pattern
SE523931C2 (sv) * 2002-10-24 2004-06-01 Anoto Ab Arrangemang och sätt i ett informations hanteringssystem som omfattar behovsstyrd generering av positionskodade underlag
US7116840B2 (en) * 2002-10-31 2006-10-03 Microsoft Corporation Decoding and error correction in 2-D arrays
SE0203853D0 (sv) * 2002-12-23 2002-12-23 Anoto Ab Informationskod
JP4406430B2 (ja) * 2003-05-26 2010-01-27 アノト アクティエボラーク コンピュータからプリンタに送信されるページ記述コードを含むデジタル表現を圧縮するための方法
JP4556705B2 (ja) * 2005-02-28 2010-10-06 富士ゼロックス株式会社 2次元座標同定装置、画像形成装置及び2次元座標同定方法
JP2008544365A (ja) 2005-06-17 2008-12-04 アノト アクティエボラーク 位置符号化されたベースのオンデマンド生成
JP4982486B2 (ja) * 2005-06-17 2012-07-25 アノト アクティエボラーク 位置および情報の符号を組み合わせるための方法およびシステム
JP4586677B2 (ja) * 2005-08-24 2010-11-24 富士ゼロックス株式会社 画像形成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1076798A (zh) * 1992-03-16 1993-09-29 欧林巴斯光学工业股份有限公司 利用ccd/cmd摄象机对二维条形码解码的方法和装置
US6678499B1 (en) * 1999-06-30 2004-01-13 Silverbrook Research Pty Ltd Method and system for examinations

Also Published As

Publication number Publication date
KR101119310B1 (ko) 2012-03-15
SE0401647D0 (sv) 2004-06-28
US20070272750A1 (en) 2007-11-29
EP1766560A1 (en) 2007-03-28
US7950588B2 (en) 2011-05-31
KR20070036150A (ko) 2007-04-02
WO2006001769A1 (en) 2006-01-05
CN101006455A (zh) 2007-07-25

Similar Documents

Publication Publication Date Title
CN100573566C (zh) 数据的编码和解码
KR101236809B1 (ko) 위치 및 정보 코드를 결합하는 방법 및 시스템
KR100960786B1 (ko) 2d 부호의 인코딩 디코딩 방법 및 시스템
JP5048045B2 (ja) 位置コードを達成し且つ位置コードをデコーディングするための方法
JP4707395B2 (ja) 冗長な情報を含む情報コード
EP2044558B1 (en) Position location using error correction
JP5609469B2 (ja) 画像処理装置、識別装置、電子筆記具及びプログラム
JP2008544365A (ja) 位置符号化されたベースのオンデマンド生成
JP4996461B2 (ja) データのコーディングおよび復号化
JP4985436B2 (ja) 位置検出装置及びプログラム
JP2012065124A (ja) 画像処理装置、識別装置及びプログラム
JP2008504598A5 (zh)
CN108665037A (zh) 数据编码方法及装置
JP4765894B2 (ja) 画像生成装置、情報読み取り装置および記録媒体
JP2009181341A (ja) 位置検出装置及びプログラム
JP5098441B2 (ja) 画像処理装置及びプログラム
JP4973317B2 (ja) 画像処理装置及びプログラム
TWI401607B (zh) 編碼與解碼方法及裝置
JP2009176249A (ja) 画像生成装置、画像処理装置、プログラム、及び印刷媒体
JP2008301128A (ja) 画像処理装置、画像生成装置、及びプログラム
JP2009176251A (ja) 画像処理装置及びプログラム
JP2009181363A (ja) 画像処理装置、画像生成装置、及びプログラム

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091223

Termination date: 20140623

EXPY Termination of patent right or utility model