CN1744104A - m-数组解码和纠错的增强方法 - Google Patents

m-数组解码和纠错的增强方法 Download PDF

Info

Publication number
CN1744104A
CN1744104A CNA2005100041799A CN200510004179A CN1744104A CN 1744104 A CN1744104 A CN 1744104A CN A2005100041799 A CNA2005100041799 A CN A2005100041799A CN 200510004179 A CN200510004179 A CN 200510004179A CN 1744104 A CN1744104 A CN 1744104A
Authority
CN
China
Prior art keywords
bit
array
extracted
position coordinates
decoding
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
Application number
CNA2005100041799A
Other languages
English (en)
Other versions
CN1744104B (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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1744104A publication Critical patent/CN1744104A/zh
Application granted granted Critical
Publication of CN1744104B publication Critical patent/CN1744104B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection 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/0321Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture

Abstract

描述了一种用于从较大的图像中确定所捕捉数组位置的过程和装置。一非重复序列可以被折叠成一非重复数组,其中,所述数组对于给定尺寸的每个邻近窗口都是唯一的。会捕捉到邻近窗口数组的一部分,并解码对应于所捕捉数组的所提取比特的子集来标识误差比特。通过进一步处理所述经解码的比特,以在非重复数组中确定所捕捉数组的位置。

Description

m-数组解码和纠错的增强方法
技术领域
本发明涉及使用数码笔与媒质交互,尤其涉及在与一个或多个表面交互期间确定数码笔的位置。
背景技术
计算机用户习惯于使用鼠标和键盘作为与个人计算机交互的方法。虽然个人计算机提供了优于书面文档的多种优点,但多数用户仍旧使用印刷纸来完成某些功能。这些功能中的一些包括阅读和注释书面文档。在注释的情况下,由于用户置于印刷文档上的注释,印刷文档表现出更大的重要性。然而,拥有具有注释的印刷文档的困难之一是以后需要将这些注释重新输入回文档的电子形式。这需要原用户或另一个用户辛苦地读完注释,并将它们输入到个人计算机中。在一些情况下,用户将扫描输入这些注释和原文本,由此建立新的文件。这些多个步骤使得印刷文档和电子版本的文档之间的交互难以用重复的方式来处理。此外,扫描输入的图像经常是不可修改的。没有将注释同原文本分开的方法。这使得使用注释变得困难。因此,需要一种处理注释的改进的方法。
捕捉手写信息的一种技术是使用笔,其位置会在书写期间被确定。提供这种性能的一种笔是Anoto公司的Anoto笔。该笔通过使用照相机捕捉用预定义图案编码的纸张的图像来起作用。该图像图案的例子在图11中示出。Anoto笔(Anoto公司)使用这种模式来确定一页纸张上该笔的位置。然而,不清楚Anoto笔所使用的系统对确定位置有多高的效率。为了提供对所捕捉图像位置的有效确定,需要一种提供所捕捉图像的有效解码的系统。
发明内容
本发明的各个方面提供了上述问题的至少其中之一的解决方案,由此使得可以在具有预定义图案的所察看的文档上定位所捕捉图像的一个或多个位置。所察看的文档可以在具有预定义图案的纸张、LCD屏幕或其它任何的媒质上。本发明的各方面包括准许对所捕捉的图像进行有效解码的解码过程,为图像位置的有效确定作准备。
依照本发明的一个方面,解码过程巧妙地从所捕捉图像提取的比特中选择比特子集。依照本发明的另一个方面,一种过程调节该解码过程重复执行的次数。依照本发明的另一个方面,一种过程确定所提取比特位置的X、Y坐标,由此使得X、Y坐标符合诸如目的区域等局部约束。通过以下附图和所关联的描述,本发明的这些和其它方面将变得显而易见。
附图说明
结合附图阅读上述本发明的发明内容和以下详细描述的优选实施例,可以更好地理解它们,这些优选实施例对于本发明而言是作为示例而非局限包括于此。
图1示出了可以结合本发明的实施例使用的计算机的总体描述。
图2A和2B示出了依照本发明的实施例的图像捕捉系统和相应的所捕捉图像。
图3A到3F示出了依照本发明的实施例的各个序列和折叠技术。
图4A到4E示出了依照本发明的实施例的各个编码系统。
图5A到5D示出了与依照图4A和4B的解码系统相关联的四种可能的结果拐角。
图6示出了依照本发明的实施例的所捕捉图像部分的旋转。
图7示出了结合图4A到4E的编码系统使用的旋转的各个角度。
图8示出了依照本发明的实施例用于确定所捕捉数组位置的过程。
图9示出了依照本发明的实施例用于确定所捕捉图像位置的方法。
图10示出了依照本发明的实施例用于确定所捕捉图像位置的另一个方法。
图11示出了依照现有技术在文档中编码空格的表示。
图12示出了依照本发明的实施例用于解码从所捕捉的图像中提取的比特的流程图。
图13示出了依照本发明的实施例对从所捕捉的图像中提取的比特进行比特选择。
图14示出了依照本发明的实施例用于解码从所捕捉的图像中提取的比特的一种装置。
具体实施方式
本发明的各方面涉及确定所捕捉图像相对于较大图像的位置。此处所描述的位置确定方法和系统可与多功能笔结合使用。
为了方便读者,用小标题将下列描述分开。所述小标题包括:术语、通用计算机、图像捕捉笔、数组编码、解码、纠错和位置确定。
术语
笔—一种书写工具,可具有或不具有存储墨水的能力。在某些例子中,不具有墨水存储能力的触针可被用作依照本发明实施例的笔。
照相机—一种图像捕捉系统,可从纸张或其它媒质捕捉图像。
通用计算机
图1是可用于实现本发明各个方面的常规通用数字计算环境的例子的功能性框图。在图1中,计算机100包括处理单元110、系统存储器120以及把包括系统存储器在内的各种系统组件耦合至处理单元110的系统总线130。系统总线130可能是若干总线结构类型中的任一种,包括存储器总线或存储器控制器、外围总线、以及使用多种总线体系结构的局部总线的任一种。系统存储器120包括只读存储器(ROM)140和随机存取存储器(RAM)150。
基本输入/输出系统160(BIOS)存储在ROM 140内,它包括如启动时帮助在计算机100内的元件间传输信息的基本例程。计算机100也包括用于从硬盘(未示出)读取或向其中写入的硬盘驱动器170、从可移动磁盘190读取或向其中写入的磁盘驱动器180、以及用于向诸如CD ROM或其它光学媒质这样的可移动光盘192读写的光盘驱动器191。硬盘驱动器170、磁盘驱动器180和光盘驱动器191分别通过硬盘驱动器接口192、磁盘驱动器接口193和光盘驱动器接口194连接到系统总线130。这些盘驱动器及其相关的计算机可读媒质为个人计算机100提供了对计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。本领域的技术人员可以理解,用于存储计算机可访问数据的其它类型的计算机可读媒质也可在示例性操作环境中使用,这些其它计算机可读媒质诸如磁带盒、闪存卡、数字视频盘、Bernoulli盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)等等。
许多程序模块可以存储在硬盘驱动器170、磁盘190、光盘192、ROM 140或RAM 150上,包括操作系统195、一个或多个应用程序196、其它程序模块197和程序数据198。用户可以通过输入设备输入命令和信息到计算机100中,输入设备诸如键盘101和定位设备102。其它输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备一般通过耦合到系统总线的串行端口接口106连接到处理单元110,但也可由其它接口连接,诸如并行端口、游戏端口或通用串行总线(USB)。此外,这些设备可以通过适当的接口(未示出)直接耦合到系统总线130。监视器107或其它类型的显示设备也可以通过诸如视频适配器108这样的接口连接到系统总线130。除监视器外,个人计算机一般包括诸如扬声器和打印机等其它外围输出设备(未示出)。在优选实施例中,为了数字地捕捉手画线输入,提供了笔数字化仪165和伴随的笔或触针166。虽然示出了笔数字化仪165和串行端口间的直接连接,然而实际上,笔数字化仪165可通过并行端口或本领域已知的其它接口和系统总线130而直接耦合到处理单元110。而且,虽然所示的数字化仪165离监视器107较远,但数字化仪165的可用输入区最好与监视器107的显示区域有共同的范围。此外,数字化仪165可被集成到监视器107内,或可作为叠加或附着于监视器107上的独立设备而存在。
计算机100可工作在使用到一个或多个诸如远程计算机109这样的远程计算机的逻辑连接的网络化环境内。远程计算机109可以是服务器、路由器、网络PC、对等设备或其它公共网络节点,并且一般包括与计算机100相关的许多或所有上述元件,然而图1中仅示出了存储器存储设备111。图1所述的逻辑连接包括局域网(LAN)112以及广域网(WAN)113。这种网络环境常见于办公室、企业范围的计算机网络、内联网以及因特网。
当用于LAN网络环境时,计算机100通过网络接口或适配器114连接到局域网112。当用于WAN网络环境时,个人计算机100一般包括调制解调器115或其它装置,用于在诸如因特网等广域网113上建立通信。调制解调器115可以是内置或外置的,它通过串行口接口106连接到系统总线130。在网络化环境中,所述与个人计算机100相关的程序模块或其中的一部分可存储在远程存储设备内。
可以理解,所示网络连接是说明性的,并且可以使用其它用于在计算机间建立通信链路的技术。假设存在诸如TCP/IP、以太网、FTP、HTTP、蓝牙、IEEE 802.11X等各种已知协议,系统可以工作在客户机—服务器配置中,以允许用户从基于web的服务器中检索网页。可以用各种常规网页浏览器的任一种来显示和操纵网页上的数据。
图像捕捉笔
本发明的各方面包括将经编码的数据流置于表现该经编码的数据流的显示形式中。(例如,如将与图4B一起论述的,该经编码的数据流被用于创建图形图案。)所述显示形式可以是印刷纸张(或其它物理媒质),或可以是结合另一图像或另一组图像投影该经编码的数据流的显示器。例如,该经编码的数据流可以被表现为纸张上的物理图形图像或叠加在显示图像上的图形图像(例如,表示文件的文本),或可以是显示屏上的物理(不可修改)图形图像(这样,任何由笔捕捉的图像部分在显示屏上是可定位的)。
对所捕捉图像位置的确定可以被用于确定用户与纸张、媒质或显示屏交互的位置。在本发明的某些方面中,笔可以是在纸上书写的墨水笔。在其它的方面,笔可以是用户在计算机显示器表面书写的触针。在知道文档上经编码的图像或支持在计算机屏幕上显示的文档的情况下,任何交互可被提供回系统中。当笔或触针在文档上来回移动时,系统可以通过用笔或触针中的照相机反复地捕捉图像来跟踪由用户控制的触针的移动。该显示或印刷图像可以是与空白或内容丰富的纸张相关联的水印,或可以是与叠加在屏幕上或内建到屏幕中的显示图像或固定编码相关联的水印。
图2A和2B示出了具有照相机203的笔201的说明性例子。笔201包括可包括或不包括墨水贮液器的笔尖202。照相机203从表面207捕捉图像204。笔201还可包括如显示在虚线框206中的附加传感器和/或处理器。这些传感器和/或处理器206也可包含将信息发送到另一支笔201和/或个人计算机的能力(例如,通过蓝牙或其它无线协议)。
图2B示出了由照相机203所观看到的图像。在一个说明性例子中,照相机203的视图区(即,照相机图像传感器的分辨率)是32×32像素(其中N=32)。在该实施例中,所捕捉的图像(32像素×32像素)对应于由照相机203捕捉的表面平面图的大约5mm×5mm的区域。因此,图2B示出了32像素长×32像素宽的视图区。N的大小是可调整的,使得较大的N对应于较高的图像分辨率。同样地,虽然照相机203的视图区在这里为了说明性的目的而被显示为正方形,然而视图区可以包括其它本领域公知的形状。
由照相机203捕捉的图像可以被定义为图像帧序列{Ii},其中,Ii是由笔201在采样时间ti捕捉的。根据系统配置和性能要求,采样率可大可小。根据系统配置和性能要求,所捕捉图像帧的尺寸可大可小。
由照相机203捕捉的图像可以直接由处理系统使用,或可经过预过滤。所述预过滤可以发生在笔201内部,或发生在笔201外部(例如,在个人计算机中)。
图2B的图像尺寸是32×32像素。如果每个编码单元尺寸是3×3像素,那么所捕捉的经编码单元的数目将大约为100单元。如果编码单元尺寸是5×5像素,那么所捕捉的经编码单元的数目大约为36。
图2A也示出了图像平面209,来自位置204的图案的图像210在其上形成。接收自对象平面207上的图案的光由透镜208聚焦。透镜208可以是单透镜或由多部分组成的透镜系统,但为了简化起见在这里被显示为单透镜。图像捕捉传感器211捕捉图像210。
图像传感器211可以大到足以捕捉图像210。或者,图像传感器211可以大到足以捕捉笔尖202在位置212处的图像。作为参考,在位置212处的图像被称为可视笔尖。需要注意,由于笔尖、透镜208和图像传感器211的固定关系,对于图像传感器211的虚拟笔尖位置是固定的。
以下的转换FS→P将由照相机捕捉的图像的位置坐标转换为在纸上的实际图像中的位置坐标:
                        Lpaper=FS→P(LSensor)
在书写过程中,笔尖和纸在同一平面上。因此,从虚拟笔尖到实际笔尖的转换也是FS→P
                        Lpentip=FS→P(Lvirtual-pentip)
转换FS→P可以被估算为仿射变换。这简化为:
F S → P ′ = s x sin θ y cos θ x sin θ y - cos θ y sin θ x , s x cos θ y cos θ x sin θ y - cos θ y sin θ x , 0 s y sin θ x cos θ x sin θ y - cos θ y sin θ x , s y cos θ x cos θ x sin θ y - cos θ y sin θ x , 0 0 , 0 , 1
作为FS→P的估算,其中θx、θy、sx和sy是在位置204处捕捉的图案的两个方位的旋转和比例。此外,我们可以通过将所捕捉的图像与纸上相应的真实图像进行匹配来精确化F′S→P。“精确化”意指通过一种被称为递归法的最优化算法,取得对转换F′S→P更为精确的估算。递归法将矩阵F′S-P作为初始值来处理。精确化的估算可以更精确地描述S和P之间的转换。
接着,我们可以通过校准来确定虚拟笔尖的位置。
我们将笔尖202放在纸上固定位置Lpentip。接着,我们倾斜该笔,使照相机203可以就不同的笔的姿势来捕捉一系列图像。对于每个捕捉的图像,我们可以获取转换FS→P。我们可以从这种转换获取虚拟笔尖Lvirtual-pentip的位置:
                        Lvirtual-pentip=FP→S(Lpentip)
其中,Lpentip被初始化为(0,0),并且
                            FP→S=(FS→P)-1
通过对从每个图像获取的Lvirtual-pentip求平均值,可以确定虚拟笔尖Lvirtual-pentip的位置。有了Lvirtual-pentip,我们可以取得对Lpentip更为准确的估算。在几次反复之后,可以确定虚拟笔尖Lvirtual-pentip的准确位置。
现在知道了虚拟笔尖Lvirtual-pentip的位置。我们也可以从所捕捉的图像中获取转换FS→P。最后,我们可以使用该信息来确定实际笔尖Lpentip的位置:
                         Lpentip=FS→P(Lvirtual-pentip)
数组编码
二维的数组可以通过折叠一维序列来构造。包含足够大量的比特的二维数组的任一部分可用于确定它在完整的二维数组中的位置。然而,会需要从一个捕捉的图像或一些捕捉的图像中确定位置。为了使所捕捉的图像与该二维数组中两个或多个位置相关联的可能性最小,可使用无重复序列来创建数组。所创建序列的一个特性是该序列不在长度(或窗口)n上重复。以下描述创建一维序列,接着将该序列折叠成数组。
序列的构造
一数字序列可被用作编码系统的开始点。例如,一序列(也被称为m-序列)可被表示为在Fq域中的q-元素集。这里,q=pn,其中n≥1且p是质数。该序列或m-序列可以由多种不同的技术生成,这些技术包含但不限于多项式除法。使用多项式除法,序列可以被定义如下:
R l ( x ) P n ( x )
其中Pn(x)是域Fq[x]中次数为n的本原多项式(具有qn个元素)。Rl(x)是域Fq[x]中次数为1的非零多项式(其中l<n)。该序列可以使用反复的过程用两步创建:第一,将这两个多项式相除(得出域Fq里的一元素),第二,将余数乘以x。当输出开始重复时,计算停止。该过程可以使用线性反馈移位寄存器来实现,如关于计算机的IEEE学报43.5(IEEE Transactions on Computers 43.5)(1994年5月,第560-568页)中Douglas W.Clark和Lih-Jyh Weng的论文“Maximal andNear-Maximal Shift Register Sequences:Efficient Event Counters and Easy DiscreteLogarithms”所提出的。在这个环境中,在序列的循环移位和多项式Rl(x)之间建立起一种关系:改变Rl(x)只循环地移位该序列且每个循环移位对应于一多项式Rl(x)。所得序列的特性之一是,该序列具有qn-1的周期,且在一个周期内,宽度(或长度)n上,任一部分在序列中出现一次且只有一次。这被称作为“窗特性”。周期qn-1也被称为序列的长度,且n被称为序列的次数。
上述的过程只是可用于建立具有窗特性的序列的多种过程之一。
数组的构建
可用于创建图像(其一部分可用照相机捕捉)的数组(或m-数组)是一维序列或m-序列的扩展。设A为周期(m1,m2)的一数组,即A(k+m1,l)=A(k,l+m2)=A(k,l)。当n1×n2窗口通过A的周期位移时,Fq上的所有非零n1×n2矩阵都出现一次且只有一次。该特性也被称为“窗特性”,因为每个窗口是唯一的。接着,窗口可被表示成周期为(m1,m2)数组(m1和m2为出现在数组中比特的水平和垂直数目)、阶数为(n1,n2)的数组。
可以通过折叠序列来构建二元数组(或m-数组)。一种方法是获取一序列,接着将它折叠成m1×m2的尺寸,其中数组的长度是L=m1×m2=2n-1。或者,我们可以从我们希望覆盖的预定尺寸的空间开始(例如,一页纸,30页纸或计算机监视器的尺寸),确定区域(m1×m2),接着使用该尺寸使得L≥m1×m2,其中L=2n-1。
可使用多种不同的折叠技术。例如图3A到3C示出了三种不同的序列。这些序列的每一种可被折叠成图3D所示的数组。这三种不同的折叠方法被显示为图3D中的重叠,以及图3E和3F中的光栅路径。我们在此采用图3D中所示的折叠方法。
为了创建如图3D所示的折叠方法,我们创建一长度为L,阶数为n的序列{ai}。接着,通过使该数组的每个比特如方程1所示地计算,从序列{ai}创建尺寸为m1×m2的数组{bkl},其中,gcd(m1,m2)=1,且L=m1×m2
bkl=ai,其中,k=i mod(m1),l=i mod(m2),i=0,…,L-1    (1)
这种折叠方法或者可表示为将序列置于数组的对角线上,接着当达到边缘时,从对侧的边缘继续。
图4A示出了可被用于编码图3D的数组的示例编码技术。应该理解,可以使用其它的编码技术。例如,图11示出了一种可供选择的编码技术。
参见图4A,第一个比特401(例如,“1”)可由一列黑墨水表示。第二个比特402(例如,“0”)可由一行黑墨水表示。应该理解,任何颜色的墨水可被用于表示各种比特。对墨水颜色唯一的要求是它要提供与媒质背景的显著对比,使得图像捕捉系统可以辨认。图4A的比特可用单元的3×3矩阵表示。基于图像捕捉系统的尺寸和分辨率,矩阵的尺寸可以被更改为任何尺寸。图4C-4E中示出了比特0和1的交替表示。应该理解,图4A-4E的示例编码对1和0的表示可以不受影响地交换。图4C示出了以隔行排列的占据2行或列的比特表示。图4D示出了在行和列中以虚线的形式对像素的可选排列。最后,图4E示出了在行和列中以不规则间隔格式的像素表示(例如,两个黑点后接着一个白点)。
再参见图4A,如果一个比特由3×3的矩阵表示,且成像系统在3×3的区域中检测到一个黑的行和两个白的行,那么就检测到一个0(或是1)。如果检测到图像具有一个黑的列和两个白的列,那么就检测到一个1(或是0)。
这里使用一个以上像素或点来表示一个比特。使用单个的像素(或比特)来表示一个比特是易受到破坏的。灰尘、纸上的折痕、不平的表面等等造成了读出数据单元的单个比特表示的困难。但是,应该理解,可以使用不同的方法来图形地表示平面上的数组。图4C到4E中示出了一些方法。应该理解,也可以使用其它的方法。在图11中提出了一种方法:仅使用空间—位移(space-shifted)的点。
比特流被用于创建图4B的图形图案403。图形图案403包括12行和18列。该行和列由被使用比特表示401和402转换为图形表示的比特流形成。图4B可被看作具有以下比特表示:
0 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0
解码
当人们使用图2A的笔书写或将笔移动到接近已编码图案之处,照相机就捕捉图像。例如,当笔201压住纸张并且笔201在纸张上的文档上来回移动时,笔201会利用压力传感器。接着,处理图像以确定所捕捉图像对于经编码图像的完整表示的方向,并提取组成所捕捉图像的比特。
为了确定所捕捉图像对于整个编码区域的方向,我们会注意到并非图5A-5D显示的所有四个能想象得到的拐角会出现在图形图案403中。实际上,就正确的定位,图5A所示的拐角类型不会存在于图形图案403中。因此,缺少图5A所示的拐角类型的方向是正确的方向。
继续到图6,可分析由照相机601所捕捉的图像,并确定其方向,以使其可按照由图像601实际表示的位置来解释。首先,考察图像601以确定旋转图像所需要的角度θ,使得像素是水平和垂直对齐的。应该注意,可选的栅格对齐是可能的,包括将底层的栅格到非水平和垂直排列的旋转(例如,45度)。使用非水平和垂直对齐会提供从用户消除视觉上分心的可能的好处,因为用户往往在注意到其它图案之前注意到水平和垂直图案。为了简化起见,栅格的方向(水平的和垂直的,和对底层栅格的任何其它的旋转)被总称为预定义的栅格方向。
接着,分析图601,以确定缺少了哪个拐角。将图像601旋转至为解码做好准备的图像603所需的旋转量o被显示为o=(θ加旋转量{由缺少的拐角定义})。该旋转量由图7中的方程示出。再参见图6,角度θ最初由使像素达到像素的水平或垂直(或其它预定义的栅格方向)排列的布局来确定,且图像如602中所示的那样旋转。接着,执行分析以确定缺少的拐角,并将图像602旋转至图像603,以建立用于解码的图像。这里,图像被逆时针旋转了90度,使得图像603就具有了正确的方向并且可被用于解码。
应该理解,旋转角度θ可以在旋转图像601之前或之后应用,来解决缺少的拐角。也应该理解,考虑到所捕捉图像中的噪声,可能会存在所有的四个拐角。我们可以计算每种类型的拐角的数目,并选择数目最少的那种类型作为缺少的拐角类型。
最后,图像603中的代码被读出并与用于创建图像403的原始比特流进行相关。这种相关可以用多种方法实现。例如,可以使用递归法来执行,其中,恢复的比特流与原始比特流中的所有其它比特流片断作比较。第二,可在恢复的比特流和原始比特流之间执行统计分析,例如,通过使用两种比特流之间的汉明距离。应该理解,可以使用多种方法来确定原始比特流中恢复的比特流的位置。
一旦我们得到了恢复的比特,我们需要在原始数组中定位所捕捉的图像(例如,图4B中所显示的那个)。由于许多项目使得在整个数组中确定比特片段位置的过程复杂化。第一,实际要捕捉的比特可能是模糊的(例如,照相机可能捕捉手写的图像,这使得原始代码变得模糊)。第二,灰尘、折痕、反射等等也会在所捕捉的图像中引起误差。这些误差使得定位程序更加困难。在这点上,图像捕捉系统会需要用从图像中提取的非连续比特来运作。以下显示了用来自图像的非连续比特来运作的方法。
设序列(或m-序列)I对应于幂级数I(x)=1/Pn(x),其中n是m-序列的阶数,且所捕捉的图像包含K比特的Ib=(b0 b1 b2…bK-1)t,其中K≥n,且上标t表示矩阵或向量的转置。K比特的位置s正好是I的循环位移的次数,使得b0被位移至序列的开始处。那么该位移序列R对应于幂级数变量xs/Pn(x),或R=Ts(I),其中T是循环位移算子。我们间接地得出该s。多项式模数Pn(x)形成一个域。确保xs≡r0+r1x+…rn-1xn-1mod(Pn(x))。因此,我们可得出(r0,r1,…,rn-1),接着求出s。
关系xs≡r0+r1x+…rn-1xn-1mod(Pn(x))意味着R=r0+r1T(I)+…+rn-1Tn-1(I)。写成二元线性方程,就成为:
                              R=rtA                (2)
其中r=(r0 r1 r2…rn-1)t,且A=(I T(I)…Tn-1(I))t,它由I从0-位移到(n-1)-位移的循环位移组成。现在,在R中只有稀疏的K比特可用来解出r。设R中bi和b0之间的下标差为ki,i=1,2,…,k-1,那么R的第一和第(ki+1)个元素(i=1,2,…,k-1)正好是b0,b1,…,bk-1。通过选择A的第一和第(ki+1)列(i=1,2,…,k-1),形成了以下的二元线性方程:
                              bt=rtM               (3)
其中,M是A的n×K子矩阵。
如果b是无误差的,则r的解可被表示为:
r t = b ~ t M ~ - 1 - - - ( 4 )
其中
Figure A20051000417900152
是M的非退化n×n子矩阵,且
Figure A20051000417900153
是b的相应的子向量。
已知r的情况下,我们可使用Pohlig-Hellman-Silver算法,如关于计算机的IEEE学报43.5(IEEE Transactions on Computers 43.5)(1994年5月,第560-568页)中Douglas W.Clark和Lih-Jyh Weng的论文“Maximal and Near-Maximal ShiftRegister Sequences:Efficient Event Counters and Easy Discrete Logarithms”所提及的,来解出s,使得xs≡r0+r1x+…rn-1xn-1mod(Pn(x))。
因为矩阵A(其尺寸为n×L,其中L=2n-1)可能会非常大,我们应避免存储整个矩阵A。实际上,如我们在上述过程中所见的,给定下标差为ki的提取的比特,只有A的第一和第(ki+1)列是和计算相关的。给定所捕捉图像的尺寸,对ki的这种选择是相当有限的。因此,只需要保存那些在计算中涉及的列。这种列的总数远小于L(其中L=2n-1是m-序列的长度)。
纠错
如果在b中存在误差,那么r的解法变得更为复杂。因为与所捕捉的比特相关联的矩阵M会在各个捕捉的图像之间变化,因此不能轻易地应用传统的带有纠错的解码方法。
我们采用一种随机的方法。假设b中误差比特的数目ne与K相比是相对小的,那么从b的K比特中选择出正确的n比特,且M的相应子矩阵
Figure A20051000417900161
为非退化的可能性是高的。
当所选择的这n比特都正确时,bt和rtM之间的汉明距离,或与r相关联的误差比特的数目,应该是最小的,其中r通过方程(4)来计算。重复几次该过程,可能可以标识出可推出最小误差比特的正确的r。
如果只有一个r与最小误差比特数相关联,那么就将它作为正确的解。否则,如果有一个以上r与最小误差比特数相关联,则ne超过由M生成的代码的纠错能力的可能性是高的,且解码过程失败。接着,系统会移到下一个捕捉的图像。在另一个实现中,会考虑关于该笔的前一位置的信息。即,对于每个所捕捉的图像,可标识下一次会期望该笔的目的区域。例如,如果用户在照相机的两次图像捕捉之间没有提起笔,那么由第二图像捕捉确定的笔的位置不应该离第一位置太远。接着可以检查与最小误差比特数目相关联的每一r,来看由r计算所得的位置s是否满足局部约束,即,该位置是否在规定的目的区域之内。
如果位置s满足局部约束,就返回数组中所提取比特的X、Y位置。如果不满足,解码过程就失败。
图8描述了可被用于确定所捕捉的图像在序列(或m-序列)中的位置的过程。第一,在步骤801中,接收到涉及所捕捉图像的数据流。在步骤802中,从A提取相应的列,并构建矩阵M。
在步骤803中,随机地从矩阵M中选择n个独立列向量,并且通过解方程(4)来确定向量r。在步骤804中执行该过程Q次(例如,100次)。对循环次数的确定在循环次数计算一节中讨论。
在步骤805中,r根据其相关联的误差比特数目来排序。可以使用本领域公知的多种排序算法来完成这个排序。例如,可使用一选择排序算法。当数目Q不大时,选择排序算法是有利的。然而,如果Q变大,可使用可更有效地处理较大项目数目的其它排序算法(例如,合并分类)。
接着,系统在步骤806中通过检查是否有多个r与最小误差比特数相关联,来确定是否成功地执行了纠错。如果是,在步骤809中返回误差,指示该解码过程失败。如果不是,在步骤807中计算序列(或m-序列)中被提取的比特的位置s,例如,通过使用Pohig-Hellman-Silver算法。
接着,计算数组中(X,Y)位置:x=s mod m1且y=s mod m2,并在步骤808中返回结果。
位置确定
图9示出了用于确定笔尖位置的过程。输入是由照相机捕捉的图像,且输出可以是笔尖的位置坐标。同样地,输出可以包括(或不包括)其它信息,诸如所捕捉图像的旋转角度。
在步骤901中,从照相机接收到图像。接着,可在步骤902中可任选地预处理接收到的图像(如步骤902的虚线框中所示),以调整浅色和深色像素之间的对比度等等。
接着,在步骤903中,分析该图像以确定其中的比特流。
接着,在步骤904中,多次从所述比特流中随机地选择n比特,并且确定接收到的比特流在原始序列(或m-序列)中的位置。
最后,一旦在步骤904中确定了所捕捉图像的位置,可在步骤905中确定笔尖的位置。
图10给出了关于步骤903和904更多的细节,并且示出了在捕捉的图像中提取比特流的方法。第一,在步骤1001中从照相机接收到图像。接着,该图像在步骤1002中可任选地经历图像预处理(如步骤1002的虚线框所示)。在步骤1003中提取该图案。这里,可提取不同行上的像素以找出该图案的方向和角度θ。
接着,在步骤1004中分析接收到的图像,以确定底层的网格线。如果在步骤1005中找到了网格线,那么就在步骤1006中从该图案中提取代码。接着在步骤1007中解码该代码,并且在步骤1008中确定笔尖的位置。如果在步骤1005中未找到网格线,那么在步骤1009中返回出错。
增强的解码和纠错算法概述
采用如图12所示的本发明的实施例,给定从所捕捉的图像中提取的比特1201(对应于所捕捉的数组)和目的区域,m-数组解码和纠错过程的变体解码X、Y位置。图12示出了该增强方法的过程1200的流程图。过程1200包括两个组成部分1251和1253。
·解码一次。组成部分1251包括三部分。
 
Figure A20051000417900181
随机比特选择:随机地选择被提取比特1201的子集(步骤1203)
  解码该子集(步骤1205)
 
Figure A20051000417900183
使用局部约束确定X、Y位置(步骤1209)
·使用智能比特选择来解码。组成部分1253包括四部分。
 
Figure A20051000417900184
智能比特选择:选择被提取比特的另一个子集(步骤1217)
  解码该子集(步骤1219)
  调整步骤1217和步骤1219反复的次数(循环次数)(步骤1221)
 
Figure A20051000417900187
使用局部约束确定X、Y位置(步骤1225)
本发明的实施例利用了一种谨慎策略,依照局部约束来选择比特、调整循环次数和确定X、Y位置(位置坐标),所述局部约束被提供给过程1200。在组成部分1251和1253中,步骤1205和1219(“解码一次”)都使用方程(4)来计算r。
设为被解码的比特,即:
           t=rtM               (5)
b和之间的差别是与r相关联的误差比特。
图12示出了依照本发明的实施例,用于解码从所捕捉的图像中提取的比特1201的过程1200的流程图。程序1200包含组成部分1251和1253。组成部分1251取得与所捕捉的图像(对应于所捕捉的数组)相关联的提取比特1201(包含K比特)。在步骤1203中,从提取比特1201中随机地选择n比特(其中n是m-数组的阶数)。在步骤1205中,过程1200解码一次并计算r。在步骤1207中,过程1200确定对b是否检测到误差比特。如果步骤1207确定没有误差比特,则在步骤1209中确定所捕捉数组位置的X、Y坐标。对于步骤1211,如果X、Y坐标满足局部约束,即,坐标在目的区域内,则过程1200在步骤1213中提供X、Y位置(诸如给另一个过程或用户接口)。否则,步骤1215提供失败指示。
如果步骤1207检测到b中的误差比特,为了在误差比特存在的情况下解码,就执行组成部分1253。步骤1217从所提取的比特1201中选择另一组n比特(它与步骤1203中选择的n比特至少相差一个比特)。步骤1221和1223确定为了解码所提取的比特所需要反复的次数(循环次数)。步骤1225通过测试在步骤1219中获取的哪些候选者满足局部约束来确定所捕捉数组的位置。将更详细地讨论步骤1217-1225。
智能比特选择
步骤1203从所提取比特1201(具有K个比特)中随机地选择n比特,并求出r1。可使用方程(5)来计算被解码的比特。设I1={k∈{1,2,…,K}|bk=k},I1={k∈{1,2,…,K}|bk≠k},其中k是的第k个比特,B1={bk|k∈I1}且 B1={bk|k∈ I1},即,B1是解码结果与原始比特相同的比特,且 B1是解码结果与原始比特不同的比特,I1和 I1是这些比特相应的下标。应该理解,当从B1中选择任意n比特时,将获得相同的r1。因此,如果不仔细选择下n个比特,所选择的比特可能是B1的子集,这会导致获得相同的r1
为了防止这样的情况,步骤1217依照以下的过程选择下n个比特:
1.从 B11303中选择至少一个比特,其余的比特随机地从B11301和 B11303中选出,如对应于比特排列1351的图13所示。接着过程1200通过计算 b ^ 2 t = r 2 t M 2 得出r2,并找出B21305、1309和 B21307、1311。
2.重复步骤1。当对每个 Bi(i=1,2,3…,x-1,其中x是当前循环数目),选择下n个比特时,至少有一个比特是从 Bi中选出的。当没有这样的比特子集可被选择或达到循环次数时,该反复终止。
循环次数计算
使用纠错组成部分1253,在每次循环后调整所需反复次数(循环次数)。由期望的误差率来确定循环次数。其中并非所有被选择的n比特都是正确的期望误差率pe是:
p e = ( 1 - C K - n e n C K n ) lt ≈ - e - lt ( K - n K ) n e - - - ( 6 )
其中lt表示循环次数,它由一个常数初始化,K是从所捕捉数组中提取的比特的数目,ne表示在过程1200的反复期间出现的最小数目的误差比特,n是m-数组的阶数,且CK n是组合的数目,其中n比特是从K比特中选取的。
在该实施例中,我们希望pe小于e-5=0.0067。与(6)结合,我们得到:
lt i = min ( lt i - 1 , 5 ( K - n K ) n e + 1 ) - - - ( 7 )
调整循环次数会显著地减少纠错所需的过程1253反复的次数。
使用局部约束来确定X、Y位置
在步骤1209和1225中,被解码的位置应该在目的区域内。所述目的区域是算法的输入,且根据不同的应用,它可以是各种尺寸和位置,或简单地是整个m-数组。一般地,它可以由应用预知。例如,如果已确定先前的位置,考虑到书写速度,当前笔尖的目的区域应该接近先前的位置。然而,如果笔被提起,那么它的下一个位置可以是任何地方。因此,在这种情况下,目的区域应该是整个m-数组。由以下步骤确定正确的X、Y位置。
在步骤1224中,过程1200选择ri,其相应的误差比特的数目少于:
N e = log 10 ( 3 lt ) log 10 ( K - n K ) × log 10 ( 10 lr ) - - - ( 8 )
其中lt是实际的循环次数,且lr表示局部约束率,由以下计算:
Figure A20051000417900204
其中L是m-数组的长度。
步骤1224以误差比特数目升序来对ri排序。接着,步骤1225、1211和1212找出第一ri,在该ri中相应的X、Y位置在目的区域内。最后,步骤1225、1211和1212返回X、Y位置作为结果(经由步骤1213),或返回解码程序失败的指示(经由步骤1215)。
增强的解码和纠错程序的说明性例子
一说明性例子说明了如由组成部分1251和1253所执行的过程1200。假设n=3,K=5,I=(I0 I1…I6)t是阶数n=3的m-序列。那么
A = I 0 I 1 I 2 I 3 I 4 I 5 I 6 I 6 I 0 I 1 I 2 I 3 I 4 I 5 I 5 I 6 I 0 I 1 I 2 I 3 I 4 - - - ( 10 )
同样假设所提取比特b=(b0 b1 b2 b3 b4)t,其中K=5,实际上是m-序列的第s、(s+1)、(s+3)、(s+4)和(s+6)比特(这些数目实际上是m-数组长度L=2n-1=23-1=7的模数)。因此
M = I 0 I 1 I 3 I 4 I 6 I 6 I 0 I 2 I 3 I 5 I 5 I 6 I 1 I 2 I 4 - - - ( 11 )
它是由A的第0、1、3、4和6列组成。唯一地确定m-数组中b0的X、Y位置的数字s可在解出r=(r0 r1 r2)t后计算出,所述r=(r0 r1 r2)t被期望实现bt=rtM。由于b中可能的误差比特,可能不能完全地实现bt=rtM。
过程1200利用以下的程序。从b中随机地选择n=3比特,为 b ~ 1 t = b 0 b 1 b 2 . 求出r1
b ~ 1 t = r 1 t M ~ 1 - - - ( 12 )
其中
Figure A20051000417900215
由M的第0、1和2列组成。(注意,
Figure A20051000417900216
是n×n矩阵,且r1 t是1×n向量,这样
Figure A20051000417900217
是所选比特的1×n向量。)
接着,计算被解码的比特:
           1 t=r1 tM               (13)
其中M是n×K矩阵,且r1 t是1×n向量,使得1 t是1×K向量。如果1等于b,即,没有检测到误差,那么步骤1209确定X、Y位置,且步骤1211确定解码的位置是否在目的区域内。如果是,解码是成功的,就执行步骤1213。否则,如图1215所示,解码失败。如果1不同于b,那么在b中检测到误差比特,就执行组成部分1253。步骤1217确定集合B1,为{b0 b1 b2 b3},其中解码的比特与原始比特相同。因此, B1={b4}(对应于图13中的比特排列1351)。循环次数(lt)被初始化为一常量,例如,100,根据应用,它是可变化的。注意,对应于r1的误差比特数等于1。接着,步骤1221根据方程(7)来更新循环次数(lt),lt1=min(lt,13)=13。
步骤1217接着从b选择另外的n=3比特。如果这些比特都属于B1,即{b0 b2 b3},那么步骤1219将再次确定r1。为了防止这样的重复,步骤1217会从B1选择(举例而言)一个比特{b4},并保留来自B1的两个比特{b0 b1}。
所选择的三个比特形成了 b ~ 2 t = b 0 b 1 b 4 . 步骤1219求出r2
b ~ 2 t = r 2 t M ~ 2 - - - ( 14 )
其中 由M的第0、1和4列组成。
步骤1219计算 b ~ 2 t = r 2 t M . 找出这样的B2,例如{b0 b1 b4},使得2和b是相同的。那么 B2={b2 b3}(对应于图13中的比特排列1353)。步骤1221根据方程(7)更新循环次数(lt)。注意与r2相关联的误差比特的数目等于2。代入(7),lt2=min(lt1,32)=13。
因为需要执行另一反复,步骤1217从b中选择另外的n=3比特。所选择的比特应该不都属于B1或B2。因此,步骤1217,举例而言,可从 B1选择一个比特{b4},从 B2选择一个比特{b2}并保留一个比特{b0}。
继续所述的对r求解、比特选择和循环次数调整,直至我们不能选出任何新的n=3比特,它们不完全属于任何先前的Bi,或达到了最高循环次数lt。
假设过程1200计算5个ri(i=1,2,3,4,5),其误差比特的数目分别对应于1、2、4、3、2。(实际上,对于这个例子,误差比特数目不能超过2,但说明性例子示出了更大数目的误差比特以说明该算法)。举例而言,步骤1224选择ri的例如r1,r2,r4,r5,其对应的误差比特数低于(8)中所示的Ne
步骤1224以所选择向量r1,r2,r4,r5误差比特数的升序来对它们排序:r1,r2,r5,r4。步骤1225、1211和1212从已排序的候选列表中找出第一向量r,例如r5,其对应的位置在目的区域以内。接着,步骤1213输出对应的位置。如果没有一个位置是在目的区域以内的,解码程序失败,如步骤1215所示的。
装置
图14示出了依照本发明的实施例对从所捕捉的数组提取的比特1201进行解码的装置1400。装置1400包含比特选择模块1401、解码模块1403、位置确定模块1405、输入接口1407和输出接口1409。在这个实施例中,接口1407会从不同的来源接收提取的比特1201,所述的来源包括支持照相机203的模块(如图2A中所示)。比特选择模块1401依照步骤1203和1217从提取的比特中选择n比特。解码模块1403依照步骤1204和1219解码所选择的比特(如由比特选择模块1401选择的,从K个提取比特中选取的n比特),以确定检测到的比特误差和相应的向量ri。解码模块1403将确定的向量ri提交给位置确定模块1405。位置确定模块1405依照步骤1209和1225确定所捕捉数组的X、Y坐标。位置确定模块1405将结果提交给输出接口1409,如果成功,所述的结果包括X、Y坐标,如果不成功,所述的结果为一失败指示。输出接口1409会将结果提交给另一模块,所述另一模块可执行进一步的处理或可显示该结果。
装置1400可以设想不同形式的实现,包括利用计算机可读媒质的模块和利用诸如专用集成电路(ASIC)等专门硬件的模块。
本领域的技术人员会理解,可以利用带有包含用于控制计算机系统的指令的相关联的计算机可读媒质的计算机系统来实现这里所揭示的示例性实施例。所述计算机系统会包括至少一台计算机,诸如微处理器、数字信号处理器和相关联的外围电子线路。
虽然使用所附的权利要求来定义本发明,但这些权利要求是说明性的,本发明意在包含这里所描述的元素和步骤的任何组合或子组合。因此,有许多可替换组合可用于定义本发明,它们包含来自本说明书的一个或多个元素的各种组合和子组合,包括描述、权利要求和附图。按照本发明,本发明各方面的可替换组合,无论是单独或与这里所定义的一个或多个元素或步骤相组合,可被用作本发明的修改和替换,或作为本发明的一部分,这对于相关领域的技术人员是显而易见的。这里所包含的对本发明的书面描述意在包括所有这样的修改和替换。

Claims (23)

1.一种用于确定所捕捉数组位置的方法,其特征在于,所述的方法包括:
(A)获取与所捕捉数组相关联的所提取的比特;
(B)如果不存在误差比特,则确定位置坐标;以及
(C)如果存在误差比特,则通过非重复比特选择,从所提取的比特的一部分确定所述位置坐标,其中,所述的位置坐标符合一局部约束。
2.如权利要求1所述的方法,其特征在于,所述(B)包含:
(i)从所提取的比特中选择第一子集;
(ii)解码所述第一子集;以及
(iii)响应于(ii),如果没有检测到误差比特,确定所捕捉数组的位置坐标。
3.如权利要求2所述的方法,其特征在于,所述(ii)利用第一矩阵方程 b ~ t = r t M ~ , 其中
Figure A2005100041790002C2
是M的子矩阵,来确定向量r。
4.如权利要求3所述的方法,其特征在于,所述(ii)还利用第二矩阵方程t=rtM来确定经解码的比特。
5.如权利要求2所述的方法,其特征在于,所述(iii)包含:
(1)将经解码的比特与所提取的比特作比较。
6.如权利要求1所述的方法,其特征在于,所述(C)包含:
(i)如果检测到误差比特,则从所提取的比特中选一择不同的子集,其中,所述不同子集中至少一个比特是来自先前的误差比特集;
(ii)解码所述不同子集的相应比特;
(iii)响应于(ii),确定是否应执行另一解码反复;
(iv)如果应执行另一解码反复,则从所提取的比特中选择另一子集并重复(ii);以及
(v)如果不应执行另一解码反复,则确定所捕捉数组的位置坐标。
7.如权利要求6所述的方法,其特征在于,由t=rtM计算所得的比特和所提取的比特是不同的。
8.如权利要求2所述的方法,其特征在于,所述(B)还包含:
(iv)验证所述位置坐标在一目的区域内。
9.如权利要求6所述的方法,其特征在于,所述(C)还包含:
(vi)验证所述位置坐标在一目的区域内。
10.如权利要求2所述的方法,其特征在于,所述(i)包含:
(1)随机地从所提取的比特中选择所述第一子集的组成比特。
11.如权利要求6所述的方法,其特征在于,所述(i)包含:
(1)以根据经解码的比特是否在所述方法的前一次反复中满足矩阵方程bt=rtM的方式,从所提取的比特中选择所述不同子集的相应比特;以及
(2)计算从t=rtM计算出的比特和所提取的比特之间有多少不同比特。
12.如权利要求6所述的方法,其特征在于,所述(v)包含:
(1)如果确定的向量对应于低于一阀值的误差比特数,则选择所确定的向量ri;以及
(2)响应于(1),根据相应的误差比特数的升序对多个所确定的向量排序。
13.如权利要求12所述的方法,其特征在于,所述(v)还包含:
(3)响应于(2),找出对应于一目的区域内所述位置坐标的第一解。
14.如权利要求13所述的方法,其特征在于,所述(v)还包含:
(4)如果没有位于所述目的区域内的解,则指示解码失败。
15.如权利要求6所述的方法,其特征在于,所述(iii)包含:
(1)根据误差比特的期望误差率,调整所述方法所需的反复次数。
16.如权利要求6所述的方法,其特征在于,所述(ii)包含:
(1)通过利用第一矩阵方程 b ~ t = r t M ~ , 确定向量r;
(2)通过利用第二矩阵方程t=rtM,计算经编码的比特,其中,所述向量由(1)确定;以及
(3)将经解码的比特和所提取的比特作比较,以找出若干误差比特。
17.一种具有用于执行权利要求1所述的方法的计算机可执行指令的计算机可读媒质。
18.一种具有用于执行权利要求2所述的方法的计算机可执行指令的计算机可读媒质。
19.一种具有用于执行权利要求6所述的方法的计算机可执行指令的计算机可读媒质。
20.一种确定所捕捉数组的位置坐标的装置,其特征在于,它包含:
(a)一比特选择模块,它应用一智能策略来选择比特的子集,所述比特子集含有来自先前误差比特集的至少一个比特,所述子集从对应于所捕捉数组的所提取比特中选择;
(b)一解码模块,它处理所述比特的子集,以确定关于所提取比特的误差信息,并且从所述误差信息确定是否需要另一解码的反复;以及
(c)一位置确定模块,它处理所述误差信息,以确定所捕捉数组的位置坐标,其中,所述位置坐标在一目的区域内。
21.如权利要求20所述的装置,其特征在于,它还包含:
一输入接口,它接收所提取的比特,并将所提取的比特提交给所述比特选择模块用于处理。
22.如权利要求20所述的装置,其特征在于,所述的解码模块为第i次反复计算位置矩阵ri,并通过将根据t=rtM所确定的经解码比特与所提取比特作比较来确定误差比特。
23.如权利要求20所述的装置,其特征在于,它还包含:
一输出接口,它提供所捕捉数组的位置坐标,其中,所述位置坐标由所述位置确定模块确定。
24.一种用于确定所捕捉数组的位置坐标的方法,其特征在于,所述方法包含:
(A)接收与所捕捉数组相关联的所提取的比特;
(B)从所提取的比特中选择第一比特子集;
(C)解码所述第一比特子集;
(D)如果没有检测到误差比特,确定所捕捉数组的位置坐标,所述位置坐标在一目的区域内;
(E)从所提取的比特中选择一不同的子集,其中,所述不同子集的至少一个比特不满足矩阵方程t=rtM;
(F)解码所述不同子集的所选择的比特;
(G)调整执行(F)的反复次数,所述次数按照(F)的结果来调整;
(H)如果应当执行另一解码反复,重复(E)-(G);以及
(I)如果不应执行另一解码反复,确定所捕捉数组的位置坐标,其中,所述位置坐标在所述目的区域内。
CN2005100041799A 2004-01-06 2005-01-06 用于确定所捕捉的数组的位置的方法和设备 Expired - Fee Related CN1744104B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/752,109 US7583842B2 (en) 2004-01-06 2004-01-06 Enhanced approach of m-array decoding and error correction
US10/752,109 2004-01-06

Publications (2)

Publication Number Publication Date
CN1744104A true CN1744104A (zh) 2006-03-08
CN1744104B CN1744104B (zh) 2010-10-13

Family

ID=34592558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100041799A Expired - Fee Related CN1744104B (zh) 2004-01-06 2005-01-06 用于确定所捕捉的数组的位置的方法和设备

Country Status (10)

Country Link
US (1) US7583842B2 (zh)
EP (1) EP1553487A1 (zh)
JP (2) JP4833555B2 (zh)
KR (1) KR101122822B1 (zh)
CN (1) CN1744104B (zh)
AU (1) AU2004242549A1 (zh)
BR (1) BRPI0500013A (zh)
CA (1) CA2491579C (zh)
MX (1) MXPA05000369A (zh)
RU (1) RU2380736C2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7009594B2 (en) * 2002-10-31 2006-03-07 Microsoft Corporation Universal computing device
US7133563B2 (en) 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7505982B2 (en) * 2004-12-03 2009-03-17 Microsoft Corporation Local metadata embedding solution
US7536051B2 (en) * 2005-02-17 2009-05-19 Microsoft Corporation Digital pen calibration by local linearization
US7607076B2 (en) * 2005-02-18 2009-10-20 Microsoft Corporation Embedded interaction code document
US7826074B1 (en) 2005-02-25 2010-11-02 Microsoft Corporation Fast embedded interaction code printing with custom postscript commands
US7532366B1 (en) 2005-02-25 2009-05-12 Microsoft Corporation Embedded interaction code printing with Microsoft Office documents
US7421439B2 (en) * 2005-04-22 2008-09-02 Microsoft Corporation Global metadata embedding and decoding
US7400777B2 (en) 2005-05-25 2008-07-15 Microsoft Corporation Preprocessing for information pattern analysis
US7729539B2 (en) 2005-05-31 2010-06-01 Microsoft Corporation Fast error-correcting of embedded interaction codes
US7528848B2 (en) * 2005-06-30 2009-05-05 Microsoft Corporation Embedded interaction code decoding for a liquid crystal display
US7619607B2 (en) * 2005-06-30 2009-11-17 Microsoft Corporation Embedding a pattern design onto a liquid crystal display
US7817816B2 (en) 2005-08-17 2010-10-19 Microsoft Corporation Embedded interaction code enabled surface type identification
US7445160B2 (en) 2006-06-14 2008-11-04 Hewlett-Packard Development Company, L.P. Position location using error correction
CN101414833B (zh) 2007-10-19 2010-08-04 中兴通讯股份有限公司 低密度生成矩阵码的编码方法及装置
US20110193777A1 (en) * 2008-06-05 2011-08-11 Smart Technologies Ulc Multiple pointer ambiguity and occlusion resolution
CN101319923B (zh) * 2008-07-09 2011-05-11 浙江工贸职业技术学院 笔的书写性能测试方法
CN102150473B (zh) * 2008-09-09 2014-03-19 皇家飞利浦电子股份有限公司 具有标签元件的oled照明器件
EP2169357B1 (en) 2008-09-24 2012-09-19 CSEM Centre Suisse d'Electronique et de Microtechnique SA - Recherche et Développement A two-dimension position encoder
JP4750193B2 (ja) * 2009-02-28 2011-08-17 国立大学法人埼玉大学 マーカ素子の設置方法及び識別方法
US8566943B2 (en) * 2009-10-01 2013-10-22 Kaspersky Lab, Zao Asynchronous processing of events for malware detection
WO2014094227A1 (zh) 2012-12-18 2014-06-26 华为技术有限公司 光网络系统的通信方法、系统及装置
US9101992B2 (en) 2013-11-18 2015-08-11 Ningbo Gemay Industry Co., Inc Reciprocating saw blade assembly

Family Cites Families (164)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ055999A0 (en) * 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (npage01)
US4941124A (en) 1982-01-25 1990-07-10 Skinner Jr James T Text comparator with counter shift register
JPS59205874A (ja) 1983-05-10 1984-11-21 Canon Inc 画像デ−タ圧縮装置
US4742558A (en) 1984-02-14 1988-05-03 Nippon Telegraph & Telephone Public Corporation Image information retrieval/display apparatus
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.
US4829583A (en) 1985-06-03 1989-05-09 Sino Business Machines, Inc. Method and apparatus for processing ideographic characters
US4686329A (en) 1985-06-21 1987-08-11 Advanced Robotic Technology, Inc. Absolute position mouse
US4972496A (en) 1986-07-25 1990-11-20 Grid Systems Corporation Handwritten keyboardless entry computer system
US4924078A (en) 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
DE3826442A1 (de) 1988-08-03 1990-02-08 Royocad Ges Fuer Hard Und Soft Projektionskopf
US5635697A (en) 1989-03-01 1997-06-03 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code
US5032924A (en) 1989-04-10 1991-07-16 Nilford Laboratories, Inc. System for producing an image from a sequence of pixels
KR930002339B1 (ko) 1989-04-20 1993-03-29 가부시기가이샤 도시바 짧은 직선 벡터의 곡선 세그멘트에 3차 베지어(Bzxier)곡선을 정합시키는 방법
JPH0311481A (ja) * 1989-06-09 1991-01-18 Casio Comput Co Ltd データ記録方法及び装置、記録媒体並びにデータ再生方法及び装置
US5153928A (en) 1989-06-09 1992-10-06 Casio Computer Co., Ltd. Method and apparatus for recording/reproducing mesh pattern data
US5051736A (en) 1989-06-28 1991-09-24 International Business Machines Corporation Optical stylus and passive digitizing tablet data input system
US5337361C1 (en) 1990-01-05 2001-05-15 Symbol Technologies Inc Record with encoded data
US5146552A (en) 1990-02-28 1992-09-08 International Business Machines Corporation Method for associating annotation with electronically published material
US5333246A (en) 1990-04-05 1994-07-26 Seiko Epson Corporation Page-description language interpreter for a parallel-processing system
DE4012608A1 (de) 1990-04-20 1991-10-24 Roland Man Druckmasch Verfahren und vorrichtung zur bestimmung von passerdifferenzen an druckbildstellen eines mehrfarbenoffsetdruckes
JPH06506080A (ja) 1991-04-03 1994-07-07 ヒューレット・パッカード・カンパニー 位置検知装置
CA2045907C (en) 1991-06-28 1998-12-15 Gerald B. Anderson A method for storing and retrieving annotations and redactions in final form documents
US5247137A (en) 1991-10-25 1993-09-21 Mark Epperson Autonomous computer input device and marking instrument
US5448372A (en) 1991-12-18 1995-09-05 Eastman Kodak Company Storage and retrieval of digitized photographic images
US5294792A (en) 1991-12-31 1994-03-15 Texas Instruments Incorporated Writing tip position sensing and processing apparatus
JPH0644005A (ja) 1992-01-24 1994-02-18 Seiko Instr Inc 座標入力装置
US5756981A (en) 1992-02-27 1998-05-26 Symbol Technologies, Inc. Optical scanner for reading and decoding one- and-two-dimensional symbologies at variable depths of field including memory efficient high speed image processing means and high accuracy image analysis means
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
US5243149A (en) 1992-04-10 1993-09-07 International Business Machines Corp. Method and apparatus for improving the paper interface to computing systems
US5235654A (en) 1992-04-30 1993-08-10 International Business Machines Corporation Advanced data capture architecture data processing system and method for scanned images of document forms
JP2861647B2 (ja) 1992-07-08 1999-02-24 松下電器産業株式会社 画像生成装置
WO1994006099A1 (en) 1992-09-01 1994-03-17 Apple Computer, Inc. Improved vector quantization
US5288986A (en) 1992-09-17 1994-02-22 Motorola, Inc. Binary code matrix having data and parity bits
EP1298579A1 (en) * 1992-09-28 2003-04-02 Olympus Optical Co., Ltd. Information recording medium, information reproducing device and information reproducing method
GB9223226D0 (en) 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5450603A (en) 1992-12-18 1995-09-12 Xerox Corporation SIMD architecture with transfer register or value source circuitry connected to bus
JPH06266490A (ja) * 1993-03-12 1994-09-22 Toshiba Corp 情報入力装置および情報入力における位置認識システム
JP3526067B2 (ja) 1993-03-15 2004-05-10 株式会社東芝 再生装置及び再生方法
US5414227A (en) 1993-04-29 1995-05-09 International Business Machines Corporation Stylus tilt detection apparatus for communication with a remote digitizing display
US5398082A (en) 1993-05-20 1995-03-14 Hughes-Jvc Technology Corporation Scanned illumination for light valve video projectors
US5335150A (en) 1993-08-31 1994-08-02 Huang Chao C Laser pointer with a constant power output control
US5394487A (en) 1993-10-27 1995-02-28 International Business Machines Corporation Forms recognition management system and method
US6243071B1 (en) 1993-11-03 2001-06-05 Apple Computer, Inc. Tool set for navigating through an electronic book
US5822436A (en) 1996-04-25 1998-10-13 Digimarc Corporation Photographic products and methods employing embedded information
DE69425412T2 (de) 1993-11-23 2001-03-08 Ibm Anlage und Verfahren zur automatischen Handschrifterkennung mittels eines benutzerunabhängigen chirographischen Labelalphabets
DE69432114T2 (de) 1993-11-24 2003-10-30 Canon Kk System zum Identifizieren und Verarbeiten von Formularen
EP0655674B1 (en) 1993-11-30 2000-03-08 Hewlett-Packard Company Data input apparatus
DK0686291T3 (da) 1993-12-01 2001-12-03 Motorola Inc Kombineret ordbogsbaseret og sandsynlig-karakterstreng-håndskriftsgenkendelse
US5875264A (en) 1993-12-03 1999-02-23 Kaman Sciences Corporation Pixel hashing image recognition system
US5726435A (en) 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
US5640468A (en) 1994-04-28 1997-06-17 Hsu; Shin-Yi Method for identifying objects and features in an image
GB9408626D0 (en) 1994-04-29 1994-06-22 Electronic Automation Ltd Machine readable binary code
US5897648A (en) 1994-06-27 1999-04-27 Numonics Corporation Apparatus and method for editing electronic documents
US5652412A (en) 1994-07-11 1997-07-29 Sia Technology Corp. Pen and paper information recording system
US5774602A (en) 1994-07-13 1998-06-30 Yashima Electric Co., Ltd. Writing device for storing handwriting
EP0693739A3 (en) 1994-07-13 1997-06-11 Yashima Denki Kk Method and apparatus capable of storing and reproducing handwriting
US6052481A (en) 1994-09-02 2000-04-18 Apple Computers, Inc. Automatic method for scoring and clustering prototypes of handwritten stroke-based data
US5727098A (en) 1994-09-07 1998-03-10 Jacobson; Joseph M. Oscillating fiber optic display and imager
US5661506A (en) 1994-11-10 1997-08-26 Sia Technology Corporation Pen and paper information recording system using an imaging pen
WO1996015837A1 (en) 1994-11-21 1996-05-30 Compaq Computer Corporation Interactive play with a computer
JPH08237407A (ja) 1994-12-09 1996-09-13 Xerox Corp 画像タイルの相対的なアラインメントを見当合わせすると共に透視歪みを修正するための方法
US5961571A (en) 1994-12-27 1999-10-05 Siemens Corporated Research, Inc Method and apparatus for automatically tracking the location of vehicles
US5939703A (en) 1995-01-03 1999-08-17 Xerox Corporation Distributed dimensional labeling for dimensional characterization of embedded data blocks
US5626620A (en) 1995-02-21 1997-05-06 Medtronic, Inc. Dual chamber pacing system and method with continual adjustment of the AV escape interval so as to maintain optimized ventricular pacing for treating cardiomyopathy
US6295372B1 (en) * 1995-03-03 2001-09-25 Palm, Inc. Method and apparatus for handwriting input on a pen based palmtop computing device
JP3668275B2 (ja) 1995-03-15 2005-07-06 シャープ株式会社 デジタル情報記録方法、解読方法および解読装置
JP3474022B2 (ja) 1995-04-20 2003-12-08 株式会社日立製作所 地図表示装置、地図表示方法、地図表示装置用演算処理部およびナビゲーションシステム
JPH08313215A (ja) 1995-05-23 1996-11-29 Olympus Optical Co Ltd 2次元距離センサ
JPH0944592A (ja) 1995-05-23 1997-02-14 Olympus Optical Co Ltd 情報再生システム
US5661291A (en) 1995-06-07 1997-08-26 Hand Held Products, Inc. Audio proof of delivery system and method
US6044165A (en) 1995-06-15 2000-03-28 California Institute Of Technology Apparatus and method for tracking handwriting from visual input
US5719884A (en) 1995-07-27 1998-02-17 Hewlett-Packard Company Error correction method and apparatus based on two-dimensional code array with reduced redundancy
US6081261A (en) 1995-11-01 2000-06-27 Ricoh Corporation Manual entry interactive paper and electronic document handling and processing system
JPH09146691A (ja) 1995-11-17 1997-06-06 Hitachi Ltd 情報処理装置
US6000621A (en) 1995-12-21 1999-12-14 Xerox Corporation Tilings of mono-code and dual-code embedded data pattern strips for robust asynchronous capture
US5902968A (en) 1996-02-20 1999-05-11 Ricoh Company, Ltd. Pen-shaped handwriting input apparatus using accelerometers and gyroscopes and an associated operational device for determining pen movement
US6686910B2 (en) * 1996-04-22 2004-02-03 O'donnell, Jr. Francis E. Combined writing instrument and digital documentor apparatus and method of use
US5890177A (en) 1996-04-24 1999-03-30 International Business Machines Corporation Method and apparatus for consolidating edits made by multiple editors working on multiple document copies
US5692073A (en) 1996-05-03 1997-11-25 Xerox Corporation Formless forms and paper web using a reference-based mark extraction technique
US6054990A (en) 1996-07-05 2000-04-25 Tran; Bao Q. Computer system with handwriting annotation
US6104834A (en) * 1996-08-01 2000-08-15 Ricoh Company Limited Matching CCITT compressed document images
US5765176A (en) 1996-09-06 1998-06-09 Xerox Corporation Performing document image management tasks using an iconic image having embedded encoded information
US5825892A (en) 1996-10-28 1998-10-20 International Business Machines Corporation Protecting images with an image watermark
US6202060B1 (en) 1996-10-29 2001-03-13 Bao Q. Tran Data management system
US6157935A (en) 1996-12-17 2000-12-05 Tran; Bao Q. Remote data access and management system
US5937110A (en) 1996-12-20 1999-08-10 Xerox Corporation Parallel propagating embedded binary sequences for characterizing objects in N-dimensional address space
US6000614A (en) 1996-12-20 1999-12-14 Denso Corporation Two-dimensional code reading apparatus
US5995084A (en) 1997-01-17 1999-11-30 Tritech Microelectronics, Ltd. Touchpad pen-input and mouse controller
US6041335A (en) 1997-02-10 2000-03-21 Merritt; Charles R. Method of annotating a primary image with an image and for transmitting the annotated primary image
US6208894B1 (en) 1997-02-26 2001-03-27 Alfred E. Mann Foundation For Scientific Research And Advanced Bionics System of implantable devices for monitoring and/or affecting body parameters
US5817992A (en) 1997-03-05 1998-10-06 Rpg Diffusor Systems, Inc. Planar binary amplitude diffusor
JPH10326331A (ja) 1997-03-24 1998-12-08 Olympus Optical Co Ltd ドットコードを有する記録媒体及びコード読取装置
US6219149B1 (en) 1997-04-01 2001-04-17 Fuji Xerox Co., Ltd. Print processing apparatus
US6188392B1 (en) 1997-06-30 2001-02-13 Intel Corporation Electronic pen device
US5855594A (en) 1997-08-08 1999-01-05 Cardiac Pacemakers, Inc. Self-calibration system for capture verification in pacing devices
US6518950B1 (en) 1997-10-07 2003-02-11 Interval Research Corporation Methods and systems for providing human/computer interfaces
US6181329B1 (en) 1997-12-23 2001-01-30 Ricoh Company, Ltd. Method and apparatus for tracking a hand-held writing instrument with multiple sensors that are calibrated by placing the writing instrument in predetermined positions with respect to the writing surface
US6230304B1 (en) 1997-12-24 2001-05-08 Magma Design Automation, Inc. Method of designing a constraint-driven integrated circuit layout
US6000946A (en) 1998-03-09 1999-12-14 Hewlett-Packard Company Collaborative drawing device
US6192380B1 (en) 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6070102A (en) 1998-04-29 2000-05-30 Medtronic, Inc. Audible sound confirmation of programming an implantable medical device
US6108453A (en) 1998-09-16 2000-08-22 Intel Corporation General image enhancement framework
US6278434B1 (en) * 1998-10-07 2001-08-21 Microsoft Corporation Non-square scaling of image data to be mapped to pixel sub-components
US6088482A (en) * 1998-10-22 2000-07-11 Symbol Technologies, Inc. Techniques for reading two dimensional code, including maxicode
US6532152B1 (en) * 1998-11-16 2003-03-11 Intermec Ip Corp. Ruggedized hand held computer
US6226636B1 (en) 1998-11-20 2001-05-01 Philips Electronics North America Corp. System for retrieving images using a database
US6529638B1 (en) * 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
US6551357B1 (en) * 1999-02-12 2003-04-22 International Business Machines Corporation Method, system, and program for storing and retrieving markings for display to an electronic media file
US6560741B1 (en) * 1999-02-24 2003-05-06 Datastrip (Iom) Limited Two-dimensional printed code for storing biometric information and integrated off-line apparatus for reading same
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US6549935B1 (en) * 1999-05-25 2003-04-15 Silverbrook Research Pty Ltd Method of distributing documents having common components to a plurality of destinations
AUPQ439299A0 (en) * 1999-12-01 1999-12-23 Silverbrook Research Pty Ltd Interface system
US6832717B1 (en) * 1999-05-25 2004-12-21 Silverbrook Research Pty Ltd Computer system interface surface
US6785016B1 (en) * 1999-05-25 2004-08-31 Silverbrook Research Pty Ltd. Portable interactive printer
US6880124B1 (en) * 1999-06-04 2005-04-12 Hewlett-Packard Development Company, L.P. Methods of storing and retrieving information, and methods of document retrieval
US6847356B1 (en) * 1999-08-13 2005-01-25 Canon Kabushiki Kaisha Coordinate input device and its control method, and computer readable memory
SE517445C2 (sv) * 1999-10-01 2002-06-04 Anoto Ab Positionsbestämning på en yta försedd med ett positionskodningsmönster
US6710770B2 (en) * 2000-02-11 2004-03-23 Canesta, Inc. Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
US6870547B1 (en) * 1999-12-16 2005-03-22 Eastman Kodak Company Method and apparatus for rendering a low-resolution thumbnail image suitable for a low resolution display having a reference back to an original digital negative and an edit list of operations
US6697056B1 (en) * 2000-01-11 2004-02-24 Workonce Wireless Corporation Method and system for form recognition
US6992655B2 (en) * 2000-02-18 2006-01-31 Anoto Ab Input unit arrangement
SE0000949L (sv) * 2000-03-21 2001-09-22 Anoto Ab Positionsinformation
US20020048404A1 (en) * 2000-03-21 2002-04-25 Christer Fahraeus Apparatus and method for determining spatial orientation
US6864880B2 (en) * 2000-03-21 2005-03-08 Anoto Ab Device and method for communication
US6999622B2 (en) * 2000-03-31 2006-02-14 Brother Kogyo Kabushiki Kaisha Stroke data editing device
IL153030A (en) * 2000-05-24 2005-11-20 Silverbrook Res Pty Ltd Printed page tag encoder and method for its use
US20030050803A1 (en) * 2000-07-20 2003-03-13 Marchosky J. Alexander Record system
US20020031622A1 (en) * 2000-09-08 2002-03-14 Ippel Scott C. Plastic substrate for information devices and method for making same
US7167164B2 (en) * 2000-11-10 2007-01-23 Anoto Ab Recording and communication of handwritten information
US6856712B2 (en) * 2000-11-27 2005-02-15 University Of Washington Micro-fabricated optical waveguide for use in scanning fiber displays and scanned fiber image acquisition
US6538187B2 (en) * 2001-01-05 2003-03-25 International Business Machines Corporation Method and system for writing common music notation (CMN) using a digital pen
US20040032393A1 (en) * 2001-04-04 2004-02-19 Brandenberg Carl Brock Method and apparatus for scheduling presentation of digital content on a personal communication device
US6865325B2 (en) * 2001-04-19 2005-03-08 International Business Machines Corporation Discrete pattern, apparatus, method, and program storage device for generating and implementing the discrete pattern
US7176906B2 (en) * 2001-05-04 2007-02-13 Microsoft Corporation Method of generating digital ink thickness information
US6517266B2 (en) * 2001-05-15 2003-02-11 Xerox Corporation Systems and methods for hand-held printing on a surface or medium
DE10123406A1 (de) * 2001-05-15 2002-11-21 Sick Ag Verfahren zum Erfassen von zweidimensionalen Codes
US6814289B2 (en) * 2001-05-30 2004-11-09 Sandia Corporation Self-registering spread-spectrum barcode method
US20030030638A1 (en) * 2001-06-07 2003-02-13 Karl Astrom Method and apparatus for extracting information from a target area within a two-dimensional graphical object in an image
US6667695B2 (en) * 2001-06-25 2003-12-23 Anoto Ab Position code
US20030001020A1 (en) * 2001-06-27 2003-01-02 Kardach James P. Paper identification information to associate a printed application with an electronic application
US20030034961A1 (en) * 2001-08-17 2003-02-20 Chi-Lei Kao Input system and method for coordinate and pattern
SE0103589L (sv) * 2001-10-29 2003-04-30 Anoto Ab Förfarande och anordning för avkodning av ett positionskodningsmönster
US7145556B2 (en) * 2001-10-29 2006-12-05 Anoto Ab Method and device for decoding a position-coding pattern
JP3771831B2 (ja) 2001-11-01 2006-04-26 インターナショナル・ビジネス・マシーンズ・コーポレーション デジタル・コンテンツに付加されるアノテーション情報を共有するためのコンピュータ・システムおよびプログラム
US7003150B2 (en) * 2001-11-05 2006-02-21 Koninklijke Philips Electronics N.V. Homography transfer from point matches
US20030117378A1 (en) 2001-12-21 2003-06-26 International Business Machines Corporation Device and system for retrieving and displaying handwritten annotations
US6862371B2 (en) * 2001-12-31 2005-03-01 Hewlett-Packard Development Company, L.P. Method of compressing images of arbitrarily shaped objects
US7024429B2 (en) * 2002-01-31 2006-04-04 Nextpage,Inc. Data replication based upon a non-destructive data model
US7190843B2 (en) * 2002-02-01 2007-03-13 Siemens Corporate Research, Inc. Integrated approach to brightness and contrast normalization in appearance-based object detection
US7502507B2 (en) * 2002-10-31 2009-03-10 Microsoft Corporation Active embedded interaction code
US7116840B2 (en) * 2002-10-31 2006-10-03 Microsoft Corporation Decoding and error correction in 2-D arrays
US7009594B2 (en) * 2002-10-31 2006-03-07 Microsoft Corporation Universal computing device
AU2003299837B2 (en) * 2002-12-23 2010-03-25 Antenna Dexterra, Inc. Mobile data and software update system and method
US6879731B2 (en) * 2003-04-29 2005-04-12 Microsoft Corporation System and process for generating high dynamic range video
US20050052700A1 (en) * 2003-09-10 2005-03-10 Andrew Mackenzie Printing digital documents
US7263224B2 (en) * 2004-01-16 2007-08-28 Microsoft Corporation Strokes localization by m-array decoding and fast image matching
US7477784B2 (en) * 2005-03-01 2009-01-13 Microsoft Corporation Spatial transforms from displayed codes
US7400777B2 (en) * 2005-05-25 2008-07-15 Microsoft Corporation Preprocessing for information pattern analysis
US7729539B2 (en) * 2005-05-31 2010-06-01 Microsoft Corporation Fast error-correcting of embedded interaction codes
US7528848B2 (en) * 2005-06-30 2009-05-05 Microsoft Corporation Embedded interaction code decoding for a liquid crystal display
US7619607B2 (en) * 2005-06-30 2009-11-17 Microsoft Corporation Embedding a pattern design onto a liquid crystal display
US7817816B2 (en) * 2005-08-17 2010-10-19 Microsoft Corporation Embedded interaction code enabled surface type identification
US7622182B2 (en) * 2005-08-17 2009-11-24 Microsoft Corporation Embedded interaction code enabled display

Also Published As

Publication number Publication date
US7583842B2 (en) 2009-09-01
US20050193292A1 (en) 2005-09-01
RU2004139195A (ru) 2006-06-10
BRPI0500013A (pt) 2005-09-06
CA2491579C (en) 2013-01-29
RU2380736C2 (ru) 2010-01-27
KR101122822B1 (ko) 2012-03-21
JP5036857B2 (ja) 2012-09-26
AU2004242549A1 (en) 2005-07-21
MXPA05000369A (es) 2005-08-19
JP2011034584A (ja) 2011-02-17
JP4833555B2 (ja) 2011-12-07
CN1744104B (zh) 2010-10-13
JP2005196789A (ja) 2005-07-21
KR20050072695A (ko) 2005-07-12
EP1553487A1 (en) 2005-07-13
CA2491579A1 (en) 2005-07-06

Similar Documents

Publication Publication Date Title
CN1744104A (zh) m-数组解码和纠错的增强方法
CN1637775A (zh) 位置编码的文档图像分析和标签
CN1637774A (zh) 照相机-笔尖映射和校准
CN1641683A (zh) 通过m阵列解码和快速图像匹配的笔划定位
CN1866183A (zh) 2-d阵列中的译码和差错校正
KR101251695B1 (ko) 임베딩된 상호작용 코드 지원 디스플레이
US7817816B2 (en) Embedded interaction code enabled surface type identification
CN1655178A (zh) 使用快速图像匹配的局部定位
CN1114888C (zh) 图像处理方法、设备和系统
CN1499442A (zh) 有效的嵌入式交互编码
CN1648933A (zh) 通过快速图像匹配的全局定位
CN1691052A (zh) 用于光学设备和预制表面的编码图案
CN1762148A (zh) 水印信息检测方法
CN1499445A (zh) 全局定位的统计模型
CN1458791A (zh) 分段分层的图像系统
CN1627786A (zh) 图像处理系统以及图像处理方法
CN1877559A (zh) 图像生成、形成装置、信息处理装置、打印介质及其方法
CN101047756A (zh) 图像处理装置及图像数据列表显示方法
CN1782973A (zh) 用于获取位置码和解码位置码的方法
CN1860776A (zh) 用于投影尺寸可调整的图像的照相机、计算机、投影仪和图像处理
CN1932836A (zh) 网格方向、比例、变换和调制估算
CN1708767A (zh) 指示取向的循环位置码
CN1148964C (zh) 图像处理装置图像处理方法
JP4822775B2 (ja) 迷路パターン分析方法及びその装置
US8280271B2 (en) Printing system and order-sheet-based batch printing 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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150515

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150515

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101013

Termination date: 20210106