启用嵌入式交互代码的表面类型标识的制作方法

文档序号:6568613阅读:174来源:国知局

专利名称::启用嵌入式交互代码的表面类型标识的制作方法启用嵌入式交互代码的表面类型标识背景计算机用户习惯于使用鼠标和键盘作为与个人计算机交互的一种方法。尽管个人计算机提供了优于书面文档的众多优点,然而大多数用户继续使用印刷的纸张来执行某些功能。这些功能的部分包括读和注释书面文档。在注释的情况下,由于由用户放置在其上的注释,印刷的文档呈现更大的意义。然而,令印刷的文档具有注释的困难之一是随后需要将注释输入回该文档的电子形式中。这需要原始用户或另一用户很辛苦地读完注释,然后将它们输入到个人计算机中。在某些情况下,用户将在注释和原始文本中扫描,由此来创建一个新文档。这多个步骤令印刷文档和文档的电子版本之间的交互在重复的基础上变得难以处理。此外,扫描的图像通常是不可修改的。没有方法将注释从原始文本中分离。这令使用注释变得困难。因此,需要一种处理注释的改进的方法。捕捉手写信息的一种技术是通过使用其位置可在书写过程中确定的笔。提供这一功能的一种笔是AnotoInc的Anoto笔。这一笔通过使用照相机捕捉用预定图案编码的纸件图像来起作用。该图像笔的一个示例在图21中示出。该图案由Anoto笔(AnotoInc生产)用于确定笔在一张纸(或其它对位置编码的介质)上的位置。简述提供本概述来以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。处理从印刷文档捕捉的至少一个图像和从除印刷文档之外的显示表面捕捉的至少一个图像。一表面类型标识模块接受两种类型的图像作为输入,并对特定图像标识从中捕捉该图像的表面的类型。一显示表面预处理模块预处理从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像。一印刷文档预处理模块处理从印刷文档捕捉的至少一个嵌入式交互代码图像。一嵌入式交互代码处理模块输出关于从印刷文档捕捉的至少一个图像以及从除印刷文档之外的显示表面捕捉的至少一个图像中的至少一个的位置信息。附图简述当结合附图阅读时,可以更好地理解以上本发明的概述以及以下较佳实施例的详细描述,附图包括示例而不是对本发明的局限。图1示出了可用于本发明的实施例的计算机的通用描述。图2A和2B示出了依照本发明的实施例的图像捕捉系统和对应的已捕捉图像。图3A到3F示出了依照本发明的实施例的各种序列和折叠技术。图4A到4E示出了依照本发明的实施例的各种编码系统。图5A到5D示出了与依照图4A和4B的编码系统相关联的四个可能的结果角。图6示出了依照本发明的实施例的已捕捉图像部分的旋转。图7示出了结合图4A到4E的编码系统使用的各个旋转角度。图8示出了依照本发明的实施例用于确定已捕捉阵列的位置的过程。图9示出了依照本发明的实施例用于确定已捕捉图像的位置的方法。图IO示出了依照本发明的实施例用于确定已捕捉图像的位置的另一方法。图11示出了依照现有技术的文档中的编码空间的表示。图12示出了根据本发明的实施例的用于解码从捕捉的图像中提取的比特的流程图。图13示出了从显示屏幕捕捉的图像的反转形式。图14示出了从印刷EIC文档捕捉的典型图像。图15示出了根据本发明的各实施例的可用于归一化图像照明的图像照明归一化模块的一个示例。图16A和16B示出了描述图15所示的图像照明归一化模块的操作的流程图。图17示出了可由图15所示的图像照明归一化模块处理的图像的一个示例。图18示出了从图像顶部开始将图像分段成块。图19示出了从图像底部开始将图像分段成块。图20示出了可由本发明的各实施例用于估算块照明的一种直方图的一个示例。图21示出了使用图16A和16B所描述的操作获得的照明值信息。图22和23示出了根据本发明的各实施例的其中使用内插来确定照明值信息的不同区域。图24示出了使用图16A和16B所描述的操作对图6所示的图像所获得的照明分布值。图25示出了在使用图16A和16B所描述的操作处理之后图6所示的图像看上去如何。图26示出了根据本发明的各实施例的用于将文档图像中的位置图案与内容进行区分的图案确定系统。图27A和27B示出了描述图26所示的图案确定系统的操作的流程图。图28示出了使用图27A和27B所描述的操作标识的高对比度区域。图29示出了根据本发明的各实施例的用于确定内容照明阈值的灰度水平直方图的一个示例。图30示出了相邻像素之间的关系。图31示出了使用图16A、16B、27A和27B中所描述的操作处理的图像。图32示出了根据本发明的各实施例的用于处理从印刷文档捕捉的EIC图像和从除印刷文档之外的显示表面捕捉的EIC图像的系统。图33示出了图32的表面类型标识模块的一个实施例。图34示出了图32的表面类型标识模块的一替换实施例。图35示出了根据本发明的各实施例的用于处理从印刷文档捕捉的EIC图像和从除印刷文档之外的显示表面捕捉的EIC图像的步骤。图36示出了图35的标识表面类型的步骤的一个实施例。图37示出了图35的标识表面类型的步骤的一替换实施例。图38示出了根据本发明的各实施例的启用嵌入式交互代码的显示。详细描述为方便读者,以下内容由小标题分割。小标题包括术语、通用计算机、图像捕捉笔、阵列的编码、解码、纠错、位置确定、以及启用嵌入式交互代码的表面类型标识。术语笔一可包括或不包括储存墨水的能力的任何书写工具。在某些示例中,依照本发明的实施例,不储存墨水能力的触针可用做笔。照相机一可从纸张或任何其它媒质捕捉图像的图像捕捉系统。層#糊图1是可用于实现本发明的各方面的常规通用数字计算环境的一个示例的功能框图。在图1中,计算机100包括处理单元110、系统存储器120和将包括系统存储器的各种系统组件耦合到处理单元110的系统总线130。系统总线130可以是若干类型总线结构的任一种,包括存储器总线和存储器控制器、外围总线以及使用各种总线体系结构的任一种的局部总线。系统存储器120包括只读存储器(ROM)140和随机存取存储器(RAM)150。基本输入/输出系统160(BIOS)包含如在启动时帮助在计算机100中的元件之间传输信息的基本例程,储存在ROM140中。计算机100也包括用于对硬盘(未示出)进行读写的硬盘驱动器170、用于对可移动磁盘190进行读写的磁盘驱动器180、以及用于对诸如CDROM或其它光媒质等可移动光盘192进行读写的光盘驱动器191。硬盘驱动器170、磁盘驱动器180和光盘驱动器191分别由硬盘驱动器接口192、磁盘驱动器接口193和光盘驱动器接口194连接到系统总线130。驱动器及其关联的计算机可读媒质为个人计算机100提供了计算机可读指令、数据结构、程序模块和其它数据的非易失存储。本领域的技术人员可以理解,在示例操作环境中也可使用可储存可由计算机访问的数据的其它类型的计算机可读媒质,如磁带盒、闪存卡、数字视频盘、贝努利盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)等等。众多程序模块可储存在硬盘170、磁盘190、光盘192、ROM140或RAM150中,包括操作系统195、一个或多个应用程序196、其它程序模块197和程序数据198。用户可通过输入设备,如键盘101和定位设备102向计算机100输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合到系统总线的串行端口接口连接到处理单元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网络环境中使用时,计算机IOO通过网络接口或适配器114连接到局域网112。当在WAN网络环境中使用时,个人计算机IOO通常包括调制解调器115或其它装置,用于通过广域网113,如因特网建立通信。调制解调器115可以是内置或外置的,通过串行端口接口106连接到系统总线130。在网络化环境中,相对个人计算机100所描述的程序模块或其部分可储存在远程存储器存储设备中。可以理解,所示的网络连接是说明性的,可以使用在计算机之间建立通信链路的其它技术。假定存在各种公知协议的任一种,如TCP/IP、以太网、FTP、HTTP、蓝牙、正EE802.1lx等等,系统可在客户机一服务器配置中操作,以准许用户从基于web的服务器检索网页。可使用各种常规web浏览器的任一种来显示并操作网页上的数据。層薪體本发明的各方面包括将已编码的数据流置于表示该已编码的数据流的显示形式(例如,如后文参考图4B所讨论的,已编码数据流用于创建图形图案)。显示形式可以是印刷的纸张(或其它物理介质),或可以是结合另一图像或图像集来投影已编码数据流的显示屏。例如,已编码数据流可被表示为纸张上的物理图形图像或叠加在显示的图像(如表示文档的文本)上的图形图像,或可以是显示屏上的物理(不可修改)图形图像(因此,由笔捕捉的任何图像部分都位于该显示屏上)。已捕捉图像的位置的确定可用于确定用户与纸张、介质或显示屏交互的位置。在本发明的某些方面,笔可以是在纸张上书写的墨水笔。在其它方面,笔可以是用户在计算机显示屏的表面上书写的触针。交互活动可返回给己知文档上的已编码图像或支持计算机屏幕上的显示文档系统。通过当笔或触针遍历文档时用笔或触针中的照相机重复地捕捉图像,系统可跟踪由用户操纵的触针的移动。显示的或印刷的图像可以是与空白或内容丰富纸张相关联的水印,或可以是与叠加在屏幕上或内建到屏幕中的显示图像或固定编码相关联的水印。图2A和2B示出了具有照相机203的笔201的一个说明性示例。笔201包括笔尖202,它可包括或不包括墨水贮液器。照相机203从表面207捕捉图像204。笔201还可包括另外的传感器和/或处理器,如由虚线框206所表示的。这些传感器和/或处理器206也可包括向另一笔201和/或个人计算机发送信息的能力(例如,通过蓝牙或其它无线协议)。图2B表示由照相机203察看的图像。在一个说明性示例中,照相机203的可见区(即,照相机的图像传感器的分辨率)是32X32像素(其中,N=32)。在一个实施例中,已捕捉图像(32像素X32像素)对应于由照相机203捕捉的表面平面的约5mmX5mm的区域。因此,图2B示出了32像素长X32像素宽的可见区。N的大小是可调节的,使得较大的N对应于更高的图像分辨率。而且,尽管此处为说明目的,示出照相机203的可见区是正方形,然而,本领域中已知,可见区可包括其它形状。由照相机203捕捉的图像可被定义为图像帧序列"},其中,Ii由笔201在采样时刻ti捕捉。采样率可大可小,取决于系统配置和性能要求。己捕捉图像帧的大小可大可小,取决于系统配置和性能要求。由照相机203捕捉的图像可由处理系统直接使用,或可经历预过滤。这一预过滤可在笔201中发生,或可在笔201之外发生(例如,在个人计算机中)。图2B的图像大小是32X32像素。如果每一编码单元大小是3X3像素,则已捕捉的已编码单元的数量约为IOO单元。如果编码单元大小是5X5像素,则已捕捉的已编码单元的数量约为36单元。图2a也示出了图像平面209,在其上形成来自位置204的图案的图像210。从对象平面207的图案接收的光可由透镜208聚焦。透镜208可以是单个透镜或多部件透镜系统,但是为简明起见,在此处表示为单个透镜。图像捕捉传感器211捕捉图像210。图像传感器211可以足够大来捕捉图像210。可选地,图像传感器211可以足够大来捕捉位置212处的笔尖202的图像。仅供参考,位置212处的图像被称为虚拟笔尖。注意,由于笔尖、透镜208和图像传感器211之间的恒定关系,相对于图像传感器211的虚拟笔尖位置是固定的。以下变换F",将由照相机捕捉的图像中的位置坐标转换成纸张上的真实图像的位置坐标丄纸张=^i—p(厶传感器)在书写的过程中,笔尖和纸张在同一平面上。因此,从虚拟笔尖到真实笔尖的变换也是^^:丄笔尖="(丄虛拟笔尖)变换f;、,,可被估算为逼近的仿射变换<formula>formulaseeoriginaldocumentpage11</formula>其中,《,&,、和、是在位置204处捕捉的图案的两个方向的旋转和比例。此外,可通过将已捕捉图像与纸张上对应的真实图像进行匹配来细化F"p。"细化"指通过被称为递归方法的一种类型的优化算法来获取变换&w的更精确的估算。该递归方法将矩阵《^作为初始值来处理。经细化的估算更精确地描述了S和尸之间的转换。下一步,可通过校准来确定虚拟笔尖的位置。将笔尖202置于纸张上的固定位置4^上。接着摆动该笔,从而允许照相机203用不同的笔姿势来捕捉一系列图像。对于捕捉到的每一图像,可获得变换F"p。从该变换,可获得虚拟笔尖的位置i^皿^:丄虚拟笔尖=F/)—S(丄笔尖)其中,丄€^被初始化为(0,0),并且通过对从每一图像获得的^^^求平均值,可确定虚拟笔尖的位置丄^^fe。采用^bi歡,可获得丄紋的更准确的估算。在若干次迭代之后,可确定虚拟笔尖的准石角1aa胃丄虛拟笔尖0虚拟笔尖的位置^fi^fe现在已知。也可从捕捉的图像获得变换F^p。最后,可使用该信息来确定真实笔尖的位置;^<formula>formulaseeoriginaldocumentpage12</formula>厚蕭濕碍可通过折叠一维序列来构造二维阵列。包含足够多数量比特的二维阵列的任何部分可用于确定其在整个二维阵列中的位置。然而,有必要从一个已捕捉的图像或几个己捕捉的图像确定位置。为将已捕捉的图像部分与二维阵列中的两个或多个位置相关联的概率最小化,可使用一非重复序列来创建该阵列。所创建的序列的一个属性是该序列不在一段长度(或窗)"上重复。下文描述了一维序列的创建,随后将序列折叠成阵列。序列构造数字序列可用做编码系统的起始点。例如,序列(也称为m序列)可被表示为域&中的《元素集。此处,g=p",其中,"21,并且p是质数。序列或m序列可通过各种不同的技术来生成,包括但不限于,多项式除法。使用多项式除法,序列可被定义如下其中,/Ux)是在域&[;c](具有g"个元素)中n次的本原多项式。i,(x)是i或F,[x]中/次(其中,/<")的非零多项式。序列可使用一迭代过程来创建,它具有两个步骤首先,将两个多项式相除(得到域^中的一个元素),其次,将余项乘以;c。当输出开始重复时,停止计算。该过程可使用一线性反馈移位寄存器来实现,如DouglasW.Clark和Lih-JvhWeng的文章"MaximalandNear-MaximalShiftRegisterSequences:EfficientEventCountersandEasyDiscreteLogarithms(最大禾口近最大移位寄存器序列有效的事件寄存器和简单的离散对数)"中所描述的,该文发表在IEEE计算机学报43.5(IEEETransactionsonComputers43.5)(1994年5月,560-568页)上。在这一实施例中,在序列的循环移位和多项式T,(x)之间建立一种关系改变i,(x)仅对该序列循环移位,并且每次循环移位对应于一个多项式i,(x)。所得的序列的一个性质是,该序列具有g"-l的周期,并且在一个周期内,在宽度(或长度)"上,任何部分在该序列中存在一次且仅一次。这被称为"窗特性"。周期<"-1也被称为序列的长度,n被称为序列的阶。在此处的实现中,《被选为2。上述过程仅是可用于创建具有窗特性的序列的各种过程的其中一个。阵列构造可用于创建图像(其一部分可由照相机捕捉)的阵列(或/n阵列)是一维序列或w序列的扩展。设」为周期(^,m2)的阵列,即」(A+m,,/+w2)^^,/)。当X"2的窗通过」的周期移位时,/^上所有的非零X"2矩阵出现一次且仅一次。这一特性也被称为"窗特性",因为每一窗是唯一的。窗然后可被表达为周期(mhm2)和阶(,)的阵列和m2是阵列中存在的水平和垂直比特数)可通过折叠序列来构造二进制阵列(或m阵列)。一种方法是获得序列,然后将其折叠成大小为m,Xw2,其中,该阵列的长度为^m,Xm^2n-l。可选地,可以想要覆盖的空间的预定大小开始(例如,一张纸、30张纸,或计算机监视器的大小),确定区域(m,Xw2),然后使用该尺寸以使£2^><附2,其中,i>2n-l。可使用各种不同的折叠技术。例如,图3A到图3C示出了三个不同的序列。其每一个可被折叠成如图3D所示的阵列。这三个不同的折叠方法被示出为图3D中的覆盖图,以及图3E和3F中的光栅路径。采用图3D所示的折叠方法。为创建如图3D所示的折叠方法,创建长度为丄且阶为"的序列{0,}。下一步,通过使阵列的每一比特按以下公式1计算,从序列{",}创建大小为m,X^的阵列其中'gcd(m!,m2)=l,并且丄^7^Xm2:^w,其中,h'mod(m,),/=Zmod(m2),〖=0,.,.工-1。(1)该折叠方法可被可选地表达为将序列放置在阵列的对角线上,然后当达到边时从对边开始继续。图4A示出了可用于对图3D的阵列进行编码的示例编码技术。可以理解,也可使用其它编码技术。例如,图11示出了一个替换编码技术。参考图4A,第一比特401(例如,"1")由深色墨水的列来表示。第二比特402(例如,"0")由深色墨水的行来表示。可以理解,可使用任何颜色的墨水来表示各种比特。对所选择的墨水颜色的唯一要求是它提供了与介质的背景的显著对比,以便可由图像捕捉系统来区分。图4A中的比特由单元的3X3的矩阵来表示。该矩阵的大小可被修改成任何大小,如基于图像捕捉系统的大小和分辨率。比特O和1的替换表示在图4C-4E中示出。可以理解,图4A-4E的示例编码的1或0的表示可以交换,而没有任何影响。图4C以隔行排列示出了占据两行或两列的比特表示。图4D以虚线形式示出了行和列中的像素的替换排列。最后,图4E则间隔格式(例如,两个深色点之后为一个空白点)示出了列和行中的像素表示。再次参考图4A,如果比特由3X3的矩阵表示,并且成象系统检测到3X3区域中的一个深色行和两个空白行,则检测到O(或l)。如果检测到图像具有一个深色列和两个空白列,则检测到l(或0)。此处,使用了一个以上像素或点来表示一个比特。使用单个像素(或点)来表示一个比特是脆弱的。灰尘、纸张中的折痕、不平坦表面等等会造成读取数据单元的单个比特表示的困难。然而,可以理解,可使用不同的方法来图形地表示表面上的阵列。某些方法在图4C到4E中示出。可以理解,也可使用其它方法。一种方法在图11中仅使用间隔移位的点来描述。使用比特流来创建图4B的图形图案403。图形图案403包括12行和18列。行和列由比特流形成,该比特流使用比特表示401和402被转化成图形表示。图4B可被视为具有以下比特表示一01010111(T110110010001010011101101100_鹏当一个人用图2A的笔书写时,或将笔移动到靠近己编码的图案时,照相机捕捉图像。例如,当笔201被压向纸张时,且笔201遍历纸张上的文档时,笔201可使用压力传感器。然后处理图像来确定已捕捉的图像相对于已编码图像的完整表示的方向,并提取构成已捕捉图像的比特。为了确定已捕捉图像相对于整个已编码区域的方向,可注意到,并非图5A-5D所示的所有四个可想象的角在图形图案403中都存在。实际上,采用了正确的方向,图5A所示的角的类型无法在图形图案403中存在。因此,缺少图5A所示的角类型的方向是正确的方向。继续到图6,可分析由照相机601捕捉的图像,并确定其方向,以便可对由图像601实际表示的位置进行解释。首先,审阅图像601以确定旋转该图像使得像素在水平和垂直上对齐所需的角度e。注意,替换的网格对齐也是可能的,包括底层网格到非水平和垂直排列(如,45度)的旋转。使用非水平和垂直排列可提供消除来自用户的视觉分心的可能益处,因为用户往往在其它图案之前注意到水平和垂直图案。为简明目的,网格的方向(水平和垂直,以及底层网格的任何其它旋转)被总称为预定义网格方向。下一步,分析图像601以确定缺少了那个角。将图像601旋转到可用于解码的图像603所需的旋转量o被示出为加上旋转量{由缺少哪个角来定义})。该旋转量由图7中的公式示出。再次参考图6,首先通过像素的布局来确定角度e,以到达像素的水平和垂直(或其它预定义网格方向)排列,并且如602所示地旋转图像。然后进行分析以确定缺少的角,并且将图像602旋转到图像603,以建立用于解码的图像。此处,图像被逆时针旋转90度,使得图像603具有正确的方向,并可用于解码。可以理解,旋转角度S可在图像601的旋转之前或之后应用,以考虑丢失的角。也可理解,通过考虑已捕捉图像中的噪声,所有四个类型的角都可存在。可计算每一类型的角的数量,并选择具有最少数量的类型作为所缺少的角类型。最后,读出图像603中的代码,并将其与用于创建图像403的原始比特流相关。相关可以众多方式执行。例如,它可通过递归方式执行,其中,将恢复的比特流与原始比特流内的所有其它比特流片段进行比较。其次,可在恢复的比特流和原始比特流之间执行统计分析,例如使用两个比特流之间的汉明距离来执行。可以理解,可使用各种方法来确定恢复的比特流在原始比特流中的位置。如将讨论的,EIC图案分析从图像603获得恢复的比特。一旦得到了恢复的比特,需要在原始阵列(例如,图4B所示的)中查找已捕捉图像。确定比特分段在整个阵列中的位置的这一过程可被若干项目变得更复杂。首先,可遮蔽要被捕捉的实际比特(例如,照相机可捕捉具有遮蔽原始代码的手写体的图像)。其次,灰尘、折痕、反射等等也可在已捕捉图像中引入误差。这些误差可令査找过程变得更困难。在这一点上,图像捕捉系统可能需要用从该图像提取的非顺序比特来运作。下文示出了用来自图像的非顺序比特来操作的方法。设序列(或m序列)i对应于幂级数/(x)4AP"(;c),其中,w是m序列的阶,并且已捕捉的图像包含Ib气6o"62…^,)t的K个比特,其中《2",并且上标f表示矩阵或向量的转置。尺个比特的位置s正好是i的循环移位的次数,使得60被移位到序列的起始。然后,该移位的序列1^对应于幂级数//尸&:,即r-:t(i),其中r是循环移位算子。间接地找出这一s。多项式的模数尸。(x)形成了一个域。确保;c'、sr。+^+…^,x"-'mod(尸"(;c))。因此,可找出(",n,…,-i),并解s。关系式x'^o+^+…"x"一'mod(《(x))隐含r^o+n7II)+…+^Hr5-1(1)。以二元线性方程写出,变为R—A(2)其中,r=(H)nr2…;,y,并且A气ir(i)…r"(i))',它包括i从o移位到("-i)移位的循环移位。现在在R中仅稀少的AT个比特可用于解r。设R中6,和6o之间的下标差为&,/=1,2,…,A-1,则R的第1个和"+l)个元素(/=1,2,…,A:-1)正好是6。,6,,…,&,。通过选择A的第1列和第(A,+1)列,/=1,2,…,A-1,形成以下二元线性方程b'=r'M(3)其中,M是A的"X《子矩阵。如果b是无误差的,则r的解可被表示为r'=S'I^-'(4)其中,M是M的任何非退化"X"子矩阵,S是b的对应的子向量。已知r,可使用DouglasW.Clark和Lih-JyhWeng的"MaximalandNear-MaximalShiftRegisterSequences:EfficientEventCountersandEasyDiscreteLogarithms(最大和近最大移位寄存器序列有效的事件计数器和简单的离散对数)",正EE计算机学报43.5(IEEETransactionsonComputers43.5)(1994年5月,560-568页)中描述的Pohlig國Hellman-Silver算法来找出s,使得x、"Q+r,x+.../;_lx"-|mod(P/1(;c))。由于矩阵A(其大小为"XL,其中,丄=2"-1)可能是非常大的,应当避免储存整个矩阵A。实际上,如可从上述过程中所见到的,给定其下标差为A,的提取的比特,仅A的第一和第".+l)列与计算相关。给定已捕捉图像的大小,/t,的这种选择是相当有限的。由此,仅计算中涉及的那些列需要被保存。这些列的总数远小于丄(其中,丄=2"-1是m序列的长度)。辨淳如果在b中有误差,则r的解法变得更复杂。带有纠错的解码的传统方法并不能容易地应用,因为与已捕捉比特相关联的矩阵M可在已捕捉的图像之间变化。采用一种随机方法。假定b中的误差比特数&与X相比相对较小,则从b的K个比特中选择正确的m个比特并且M的对应子矩阵M为非退化的概率较高。当所选择的n个比特都正确时,V和r'M之间的汉明距离,或与r相关联的误差比特数应当最小,其中,r通过公式(4)来计算。重复该过程若干次,标识出导致最小误差比特的正确的r是可能的。如果仅有一个r与最小误差比特数相关联,则它可被看作是正确的解。否则,如果有一个以上r与最小误差比特数相关联,则超出由M生成的代码的纠错能力的概率是相当高的,并且解码过程失败。系统然后可继续处理下一已捕捉的图像。在另一实现中,可考虑关于笔的先前位置的信息。即,对于每一已捕捉的图像,可标识其中接下来期望笔的目的地区域。例如,如果用户在由照相机捕捉的两个图像之间为提起笔,则由第二次图像捕捉所确定的该笔的位置应当不会太远离第一个位置。然后可检査与最小误差比特数相关联的每一r,来看从r计算的位置s是否满足局部约束,即,该位置是否在指定的目的地区域内。如果位置"脔足局部约束,则返回阵列中的所提取的比特的X,Y位置。如果不是,则解码过程失败。图8描述了可用于确定序列(或m序列)中已捕捉图像的位置的过程。首先,在步骤801,接收涉及已捕捉图像的数据流。在步骤802,从A中提取对应的列,并构造矩阵M。在步骤803,从矩阵M中随机地选择w个不相关的列向量,并通过解方程式(4)来确定向量r。在步骤804,该过程被执行0次(例如,100次)。循环次数的确定在"循环次数计算"一节中讨论。在步骤805,依照其相关联的误差比特数来对r进行排序。排序可使用本领域中已知的各种排序算法来完成。例如,可使用选择排序算法。选择排序算法在数字2不大时是有益的。然而,如果0变得非常大,则可使用更有效地处理大量项的其它排序算法(例如,合并排序)。系统然后在步骤806通过检査是否有多个r与最小误差比特数相关联,来确定是否成功地执行了纠错。如果有多个r,则在步骤809返回误差,指示解码过程失败。如果没有多个r,则在步骤807计算提取的比特在序列(或m序列)中的位置,例如,通过使用Pohig-hellman-Silver算法来计算。下一步,计算阵列中的(X,Y)位置如下;c^modm。并且尸smodm2,并在步骤808返回结果。泣置嫁定图9示出了用于确定笔尖的位置的过程。输入是由照相机捕捉的图像,输出可以是笔尖的位置坐标。而且,输出可包括(或不包括)其它信息,如已捕捉图像的旋转角度。在步骤901,从照相机接收图像。下一步,在步骤902可任选地预处理所接收的图像(如由步骤902的虚线框所示),以调整亮和暗像素之间的对比度等等。下一步,在步骤903,分析该图像以确定其中的比特流。下一步,在步骤904,多次从比特流中随机地选择w个比特,并确定接收的比特流在原始序列(或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包括三部分。>随机比特选择随机地选择被提取比特1201的子集(步骤1203)>解码该子集(步骤1205)>使用局部约束确定X、Y位置(步骤1209)使用智能比特选择来解码。组成部分1253包括四部分。>智能比特选择选择被提取比特的另一个子集(步骤1217)>解码该子集(步骤1219)>调整步骤1217和步骤1219迭代的次数(循环次数)(步骤1221)>使用局部约束确定X、Y位置(步骤1225)本发明的实施例利用了一种谨慎策略,依照局部约束来选择比特、调整循环次数和确定X、Y位置(位置坐标),所述局部约束被提供给过程1200。在组成部分1251和1253中,步骤1205和1219("解码一次")都使用方程(4)来计算r。设6为被解码的比特,艮卩6'=r'M(5)b和6之间的差别是与r相关联的误差比特。图12示出了依照本发明的实施例,用于解码从所捕捉的图像中提取的比特1201的过程1200的流程图。程序1200包含组成部分1251和1253。组成部分1251取得与所捕捉的图像(对应于所捕捉的阵列)相关联的提取比特1201(包含《比特)。在步骤1203中,从提取比特1201中随机地选择"比特(其中"是m-阵列的阶数)。在步骤1205中,过程1200解码一次并计算r。在步骤1207中,过程1200确定对b是否检测到误差比特。如果步骤1207确定没有误差比特,则在步骤1209中确定所捕捉阵列位置的X、Y坐标。对于步骤1211,如果X、Y坐标满足局部约束,即,坐标在目的地区域内,则过程1200在步骤1213中提供X、Y位置(诸如给另一个过程或用户接口)。否则,步骤1215提供失败指示。如果步骤1207检测到b中的误差比特,为了在误差比特存在的情况下解码,就执行组成部分1253。步骤1217从所提取的比特1201中选择另一组"比特(它与步骤1203中选择的"比特至少相差一个比特)。步骤1221和1223确定为了解码所提取的比特所需要迭代的次数(循环次数)。步骤1225通过测试在步骤1219中获取的哪些候选者满足局部约束来确定所捕捉阵列的位置。将更详细地讨论步骤1217—1225。智能比特选择步骤1203从所提取比特1201(具有《个比特)中随机地选择w比特,并求出r"可使用方程(5)来计算被解码的比特。设A:j^e仏2,…,尤)l^-4!,7,={fee{1,2,...,}|64-&卜其中4是6的第k个比特,5,=&^e/J且g=feIA:e7j,即,A是解码结果与原始比特相同的比特,且g是解码结果与原始比特不同的比特,h和L是这些比特相应的下标。应该理解,当从A中选择任意w个独立的比特时,将获得相同的r,。因此,如果不仔细选择接下来的《个比特,所选择的比特可能是A的子集,这会导致获得相同的r"为了避免这样的情况,步骤1217依照以下的过程选择下w个比特从耳1303中选择至少一个比特,其余的比特随机地从Bi1301和g1303中选出,如对应于比特排列1351的图13所示。接着过程1200通过计算6;=r2(M2得出1"2,并找出521305、1309和互21307、1311。重复步骤l。当对每个耳(z'-l,2,3…,;c-l,其中x是当前循环数目),选择下w个比特时,至少有一个比特是从g中选出的。当没有这样的比特子集可被选择或达到循环次数时,该迭代终止。薪萃汰册,使用纠错组成部分1253,在每次循环后调整所需迭代次数(循环次数)。由期望的误差率来确定循环次数。其中并非所有被选择的w比特都是正确的期望误差率Pe是<formula>formulaseeoriginaldocumentpage20</formula>(6)其中&表示循环次数,它由一个常数初始化,《是从所捕捉阵列中提取的比特的数目,iie表示在过程1200的迭代期间出现的最小数目的误差比特,《是m-阵列的阶数,且G是组合的数目,其中"比特是从尺比特中选取的。在该实施例中,我们希望pe小于e—5=0.0067。与(6)结合,我们得到<formula>formulaseeoriginaldocumentpage20</formula>(7)调整循环次数会显著地减少纠错所需的过程1253迭代的次数<伊麟淤練来嫁定;v:、;f泣置在步骤1209和1225中,被解码的位置应该在目的地区域内。所述目的地区域是算法的输入,且根据不同的应用,它可以是各种尺寸和位置,或简单地是整个m-阵列。一般地,它可以由应用预知。例如,如果已确定先前的位置,考虑到书写速度,当前笔尖的目的地区域应该接近先前的位置。然而,如果笔被提起,那么它的下一个位置可以是任何地方。因此,在这种情况下,目的地区域应该是整个m-阵列。由以下步骤确定正确的X、Y位置。在步骤1224中,过程1200选择ri,其相应的误差比特的数目少于<formula>formulaseeoriginaldocumentpage21</formula>其中/r是实际的循环次数,且/r表示局部约束率,由以下计算:/广目的地区域的面积z(9)其中丄是m-阵列的长度。步骤1224以误差比特数目升序来对ri排序。接着,步骤1225、1211和1212找出第一r,,在该ri中相应的X、Y位置在目的地区域内。最后,步骤1225、1211和1212返回X、Y位置作为结果(经由步骤1213),或返回解码程序失败的指示(经由步骤1215)。潜備麟辦條餅麵欲丝示伊/一说明性例子说明了如由组成部分1251和1253所执行的过程1200。假设《=3,《=5,1=(/。/,…"'是阶数肝3的m-序列。那么<formula>formulaseeoriginaldocumentpage21</formula>同样假设所提取比特b^6。6,626364)',其中K=5,实际上是m-序列的第"(s+l)、(s+3)、0+4)和0+6)比特(这些数目实际上是m-阵列长度丄=2"-1=23-1=7的模数)。因此<formula>formulaseeoriginaldocumentpage21</formula>它是由A的第0、1、3、4和6列组成。唯一地确定m-阵列中6q的X、Y位置的数字s可在解出1"=(〃。^^后计算出,所述"(r。^。'被期望实现1/=rtM。由于b中可能的误差比特,可能不能完全地实现bt二rtM。过程1200利用以下的程序。从b中随机地选择f3比特,为£;=(6。^62)。求出r1:6卜r/]^(12)其中I^由M的第0、l和2列组成。(注意,]^是"x"矩阵,且r/是lx"向量,这样S(是所选比特的lx"向量。)接着,计算被解码的比特W-r,'M(13)其中M是"x〖矩阵,且r/是lx"向量,使得6;是lx尺向量。如果6,等于b,即,没有检测到误差,那么步骤1209确定X、Y位置,且步骤1211确定解码的位置是否在目的地区域内。如果是,解码是成功的,就执行步骤1213。否则,如图1215所示,解码失败。如果6,不同于b,那么在b中检测到误差比特,就执行组成部分1253。步骤1217确定集合5p为0o&62W,其中解码的比特与原始比特相同。因此,3={&}(对应于图13中的比特排列1351)。循环次数(/0被初始化为一常量,例如,100,根据应用,它是可变化的。注意,对应于r,的误差比特数等于l。接着,步骤1221根据方程(7)来更新循环次数(/0,A=min(",13)=13。步骤1217接着从b选择另外的w=3比特。如果这些比特都属于A,即{6。6263},那么步骤1219将再次确定r"为了防止这样的重复,步骤1217会从g选择(举例而言)一个比特仇},并保留来自A的两个比特^w。所选择的三个比特形成了S卜(6。^64)。步骤1219求出r"6;=魄(14)其中1^2由M的第0、l和4列组成。步骤1219计算^-i^M。找出这样的A,例如仇"64},使得62和1)是相同的。那么互2={6263}(对应于图13中的比特排列1353)。步骤1221根据方程(7)更新循环次数(")。注意与&相关联的误差比特的数目等于2。代入(7),&^min(/々,32"13。因为需要执行另一迭代,步骤1217从b中选择另外的"=3比特。所选择的比特应该不都属于A或A。因此,步骤1217,举例而言,可从g选择一个比特仇),从哀2选择一个比特{62}并保留一个比特{6。}。继续所述的对r求解、比特选择和循环次数调整,直至我们不能选出任何新的"=3比特,它们不完全属于任何先前的S,,或达到了最高循环次数//。假设过程1200计算5个r,.(—1,2,3,4,5),其误差比特的数目分别对应于1、2、4、3、2。(实际上,对于这个例子,误差比特数目不能超过2,但说明性例子示出了更大数目的误差比特以说明该算法)。举例而言,步骤1224选择r,.的例如ri,r2,r4,r5,其对应的误差比特数低于(8)中所示的A^。步骤1224以所选择向量r,,r2,r4,r5误差比特数的升序来对它们排序r,,^!^,!",。步骤1225、1211和1212从已排序的候选列表中找出第一向量r,例如1"5,其对应的位置在目的地区域以内。接着,步骤1213输出对应的位置。如果没有一个位置是在目的地区域以内的,解码程序失败,如步骤1215所示的。蕭统A效互/e麟表麟娜识嵌入式交互代码(EIC)技术指的是一种允许将x-y位置数据和元数据两者嵌入到包括纸张、白板、显示屏等的各种表面的数据嵌入和编码技术。显示屏可以是液晶显示器(LCD)、有机发光装置(OLED)、等离子显示器等。LCD是使用如液体那样流动并弯曲光的杆状分子(液晶)的显示技术。未能量化(unenergized)的晶体指引光穿过两个偏振滤光片,从而允许显示自然的背景色。当被能量化时,它们重新引导光在偏振片之一中吸收,使得显示交叉偏振片的暗外观。OLED(也称为有机发光二极管)是一种通常由两个电触点(电极)之间的一系列有机层构成的薄膜发光器件。OLED可使用小分子量有机材料或基于聚合物的材料来制造。与LCD和由分层材料构造的场致发射显示器不同,OLED是单片器件,因为每一层被沉积在另一层上,从而形成单一的单元。等离子显示器(也称为"气体放电显示器")是一种使用沿充满了惰性电离气体(通常是氙和氖的混合)的荧光体排列的小单元的平板屏幕技术。三个单元构成一个像素(一个像素具有红色荧光体、一个绿色荧光体和一个蓝色荧光体)。单元被夹在x和y轴面板之间,并且单元通过对适当的x和y电极充电来选择。充电使得单元中的气体发出紫外光,这使得荧光体发出色彩。充电量确定强度,并且红、绿和蓝的不同强度的组合产生所需的所有颜色。配备了照相机的数字笔可用于读取EIC图案信息。由于与在各种类型的表面内嵌入EIC图案信息相关联的不同硬件实现,从特定一种表面捕捉的图像可能看上去与从一种或多种其它表面捕捉的图像大不相同。数字笔用户可在任意时刻从在一个表面上工作切换到另一表面。支持这一情形的一种直截了当的方式是为不同类型的表面设计不同的算法,并让用户手动将数字笔的工作模式从用于一种表面的模式切换到用于一种不同表面的不同模式。然而,较佳的方法是避免要求用户基于正在其上使用笔的表面类型来手动切换笔的工作模式。可使用从不同类型的表面捕捉的图像中解码嵌入的信息的多模式算法。该多模式算法允许单个数字笔在印刷文档和不同类型的显示表面上工作,而无需用户手动切换笔工作模式。以此方式,该多模式算法有利地提供了增强且更一致的用户体验。尽管在图13和14的图像之间存在外观上的差别,但是两个图像中的EIC图案纹理本身保留了某些共同的特性。例如,两个图像中的EIC图案通过两组等间隔的平行线来形成。该多模式算法的一个实施例使用了来自图像的特征来确定一特定图像是从显示表面还是从印刷文档捕捉的。基于这一判定,然后预处理图像以获得经照明补偿的图像和有效的EIC图案。所执行的预处理的类型取决于该图像是从显示表面还是从印刷文档捕捉的。对于从显示表面捕捉的图像和从印刷文档捕捉的图像的预处理结果保留了共同的特性,并且因此可有利地由同一核心解码算法来处理。图32示出了根据本发明的实施例的用于处理从印刷文档捕捉的EIC图像和从除印刷文档之外的显示表面捕捉的EIC图像的系统。表面类型标识模块3204取从印刷文档捕捉的一个或多个EIC图像3203以及从除印刷文档之外的显示表面捕捉的一个或多个EIC图像3202作为输入。表面类型标识模块标识从中捕捉特定图像的表面的类型(g卩,印刷文档还是除印刷文档之外的显示表面)。尽管从除印刷文档之外的显示表面捕捉的EIC图像3202和从印刷文档捕捉的EIC图像3203在图32中被分开示出,但是在由表面类型标识模块3204处理之前,从中捕捉特定图像的表面的类型(即,印刷文档还是除印刷文档之外)是未知的。另一方面,从显示表面捕捉的EIC图像3206已被表面类型标识模块3204标识为从除印刷文档之外的显示表面捕捉。类似地,从印刷文档捕捉的EIC图像3208已被表面类型标识模块3204标识为从印刷文档捕捉。图33示出了表面类型标识模块3204的一个实施例。在图33的实施例中,特征向量生成模块3302生成由基于特征的表面类型标识模块3306使用的特征向量3304。图34示出了表面类型标识模块3204的一替换实施例。在图34的实施例中,拉普拉斯滤波器模块3402生成由基于拉普拉斯滤波器的表面类型标识模块3406使用的经滤波的图像3404。以下将更详细讨论表面类型标识模块3204可用于在从中捕捉图像的不同类型的表面之间进行区分的方法。显示表面预处理模块3210预处理从除印刷文档之外的显示表面捕捉的EIC图像(如由表面类型标识模块3204所标识的)。印刷文档预处理模块3212预处理从印刷文档捕捉的EIC图像(如由表面类型标识模块3204所标识的)。由显示表面预处理模块3210和印刷文档预处理模块3212执行的预处理彼此相似,并且将在以下更详细讨论。经预处理的图像从显示表面预处理模块3210以及从印刷文档预处理模块3212传递到EIC处理模块,后者执行EIC图案分析、EIC符号识别和EIC解码,这些在上文中详细讨论。由EIC处理模块3214输出的位置信息3216可被输入到用于从除印刷文档之外的显示表面捕捉的图像的表面信息映射模块3218中,或可被输入到用于从印刷文档捕捉的图像的EIC文档映射模块3220中。表面信息映射模块3218输出表面元数据和x-y位置3222。参考图38,根据本发明的各实施例,启用嵌入式交互代码的显示器3800包括外部透明层3808、可任选内部透明层3804、外部透明层3808和内部透明层3804之间的可任选红外反射层3802、外部透明层3808和红外反射层3802之间的EIC点图案3806、以及外部透明层3808和红外反射层3802或内部透明层3804之间的可任选透明胶3810。外部透明层3808和内部透明层3804可以是玻璃、塑料或膜。EIC点图案3806可被打印或印刷到外部透明层3808的内侧。EIC点图案3806可包括标识启用嵌入式交互代码的显示器3800的已编码表面标识符。已编码表面标识符可唯一地标识启用嵌入式交互代码的显示器3800。EIC文档映射模块3220输出文档元数据和x-y位置3224。如上所述,为在与一个或多个表面的交互期间确定数字笔的位置,由数字笔来捕捉图像。为了恢复用数字笔写在印刷文档上的墨水笔划,EIC系统定位笔相对于文档的位置。为此,将X,Y位置和元数据编码并嵌入到数字文档中。可使用m阵列来表示X,Y位置,并可使用多个m阵列来表示元数据。这多个m阵列被编码到EIC符号中。在每一EIC符号中,可编码来自每一m阵列的一个比特。代替表示X,Y位置的m阵列的各比特的EIC符号形成了EIC符号阵列(视觉上,EIC符号的平铺形成了EIC图案)。EIC符号阵列可被认为是覆盖了数字文档的各页的大图。当使用数字笔在这些页上书写时,在由数字笔所取的图像中捕捉EIC符号阵列的一小段。因此,定位笔的位置变为找到在图像中捕捉的(EIC符号阵列的)段在EIC符号阵列中的位置。这可通过分析所获得的图像来完成。图像可被归一化以便照明。因此,标识被称为有效EIC图案的EIC点的图像以及文档内容的图像。有效EIC图案掩码和文档内容掩码指定了归一化图案的哪些区域是有效EIC图案,哪些区域是文档内容。然后分析图像中的有效EIC图案的特征。根据本发明的各实施例,假定在平面(诸如其上印刷了EIC图案的纸张平面)上使用数字笔并且从该平面到图像(也假定为平面)的空间变换是透视变换。即,图像中的有效EIC图案应当位于作为EIC符号阵列中的网格线的透视变换的网格线上。该透视变换首先被假定为一仿射变换,即,均匀间隔的平行线保持均匀间隔且平行,但是垂直线不再垂直。从对图像中的有效EIC图案的分析中估算该仿射变换的旋转、縮放和平移。该透视变换然后通过将有效EIC图案拟合到经仿射变换的网格线来获得。获得描述从EIC符号阵列中的网格线到图像的透视变换的单应矩阵/f^^图②。一旦确定了网格线,标识网格线上的黑点。黑点的位置有助于确定哪一网格单元对应于EIC码元以及哪一方向是EIC符号的正确方向。图像中捕捉的EIC符号可以因笔的旋转而旋转。当EIC码元在正确的方向上时(即,与EIC符号阵列中的EIC符号相同地定向),则图像中捕捉的EIC符号的各段可与EIC符号阵列进行匹配,即,从EIC符号中提取的比特可与m阵列进行匹配。一旦知道了哪些网格单元对应于EIC符号以及符号的正确方向,就识别图像中捕捉的EIC符号。现在想像EIC符号阵列中包含了网格线以及图像的相应EIC符号的足够大的部分。给定特定的EIC符号设计以及所标识的图像中的EIC符号的正确方向,可获得从EIC符号阵列的部分(包含了网格线和图像的相应EIC符号)到网格的变换。从前一步中,知道描述从网格到图像的透视变换的单应矩阵//^^,。因此,描述变换的单应矩阵/Z^4,可以如下获得"符号卄图像二H网格卄图像'H符号卄网格单应矩阵/^^^指定了EIC符号阵列中包含该图像的部分中的每一点到图像坐标系中的一点的变换。单应矩阵/^、^^指定了图像坐标系中的每一点到EIC符号阵列中包含该图像的部分中的一点的变换。从EIC符号阵列中包含该图像的部分中所识别的EIC符号中,提取EIC比特。对每一m阵列,提取一比特流。任何比特可被选为其在m阵列中的位置被解码的比特。根据本发明的各实施例,为方便起见,选择EIC符号阵列中包含该图像的部分的左上角作为要解码的位置。某些比特是已知的(从识别的符号中提取的比特),而某些是未知的(不能提取的比特或没有在图像中捕捉EIC符号)。只要所提取的比特数大于m阵列的阶,就可进行解码。EIC解码通过求解b'=r'M来获得位置向量r,其中b是所提取的比特的向量,M是通过循环移位m序列获得的系数矩阵。注意,该等式中的f代表转置。所提取的比特在m序列中的位置可通过离散对数从r中获得。然后基于如何从m序列生成m阵列来获得所提取的比特在m阵列中的位置。从表示元数据的m阵列获得的位置用于计算元数据。元数据可使用与表示X,Y位置的m阵列相同的m阵列来编码,但是根据元数据的值来移位。因此,从分别表示X,Y位置和元数据的两个m阵列获得的位置是不同的。然而,两个位置之间的差(或距离)是相同的,并且是元数据的值。如果使用多个m阵列来编码诸如文档ID等全局元数据,则来自多个m阵列的每一个的元数据的值可被组合以获得文档ID。从表示X,Y位置的m阵列获得的位置是EIC符号阵列中的坐标。为了恢复墨水笔划,找到笔尖在EIC符号阵列中的位置。为此,使用"虚拟笔尖"的概念,它是真实笔尖在图像传感器平面上的图像。虚拟笔尖在图像传感器平面上的位置可通过校准来获得。虚拟笔尖在图像传感器平面上的位置是笔尖在图像坐标系中的位置。因此,使用单应矩阵//",可获得笔尖在X',Y'坐标系中的位置。给定笔尖在X',Y'坐标系中的位置以及EIC符号阵列中Cx,Y,的坐标,可通过将两者相加获得笔尖在EIC符号阵列中的位置。有了对墨水笔划捕捉的一系列图像,从每一成功解码的图像中,获得笔尖在EIC符号阵列中的位置。这些位置被滤波、内插和平滑以生成墨水笔划。对于文档ID,可找到相应的数字文档。如何将EIC符号阵列分配给文档的每一页是已知的。因此,笔尖在文档页中的位置可通过从笔尖在EIC符号阵列中的位置中减去EIC符号阵列中的页的左上角的位置来获得笔尖在文档页中的位置。由此,墨水笔划被绑定到一文档页。用数字笔写在印刷文档上的墨水笔划现在被恢复到相应的电子文档中。可在显示屏幕的表面内嵌入嵌入式交互代码。可使用任何常见的喷墨/激光打印机将EIC图案嵌入到印刷文档上。图13是从显示屏幕捕捉的图像的反转形式。示出该反转形式而非原始图像,以符合(美国)专利局禁止在附图中使用黑色阴影的规则。并且,为了符合该规则,(经由白色椭圆1300)修订了原始捕捉的图像中的曝光过度(即,白色)区域,该区域现在被示为图13中的黑色区域。图14表示从印刷的EIC文档捕捉的典型图像。从显示屏幕捕捉的原始图像与图14的看上去显著不同在从显示屏幕捕捉的原始图像中有曝光过度的区域;从显示屏幕捕捉的原始图像的背景的灰度水平要小于EIC图案像素的灰度水平,并且对于图13所示的经反转的图像则相反。可从捕捉的图像中提取特征,并且可使用线性分类器来作出关于图像类型(即,从中捕捉图像的表面类型)的判断。表麟飾识舰定乂很明显,图14中的图像的灰度水平分布比图13中的图像的灰度水平分布更均匀。定义一向量[、^]来表示这一特征。对[、、]的计算涉及两步。第一步是生成图像的水平和垂直投影。计算图像/的水平和垂直投影向量尸^<formula>formulaseeoriginaldocumentpage28</formula>y和P为尸水yW=Z/(A:,z')和尸垂直U']=Z/(力",其中/(x,力是图像中像素(x,力的灰度水平;W和A分别是图像的宽度和高度。第二步,对[、vg确定投影峰值"宽度"。将[、、]定义为水平和垂直投影向量中的两种类型的图像的峰值"宽度",即找到满足以下等式的k、]-<formula>formulaseeoriginaldocumentpage28</formula>其中S-gg/(Z',力是整个图像的灰度水平和;jLl是常数值,在一个实现中,A=0.75;X树和少树是水平和垂直投影向量的中心,被定义为<formula>formulaseeoriginaldocumentpage28</formula>Zy)Zw)遂丝分类器给定具有已知类型的2xiV个图像(W应当是相对较大的数字,诸如7V〉1000),其中AA个图像从纸张捕捉,另外W个图像从显示表面捕捉。假定化.,.,z、l,2,…iV〉是从纸张捕捉的图像的特征向量,{「2,,^=1,2,...^}是从显示表面捕捉的图像的特征向量。诸如Fisher线性分类器等线性分类器可用于分离两种类型的向量,即可基于^和^,来计算最优权重『和阈值^。『和3可用于实时地确定所捕捉的图像的类型。对于具有未知类型的图像,对特征向量r,如果『^>(5,则它将被标识为从纸张捕捉的图像,否则它将被标识为从显示表面捕捉的图像。关于适当的线性分类器的更多信息,参见R.O.Duda和P.E.Hart的"PatternClassificationandSceneAnalysis(图案分类和场景分析)",纽约Wiley-Interscience,1973,以及b:R.A.Fisher的"TheUseofMultipleMeasurementsinTaxonomicProblems(分类问题中对多个度量的使用)",AnnalsofEugenics,第7巻,第II部分,第179-199页,1936。根据本发明的一个实施例,表面类型可用使用拉普拉斯定向滤波器来处理图像的替换方式来确定。一个适当的拉普拉斯算子是<table>tableseeoriginaldocumentpage29</column></row><table>假定图像/由以上示出的该拉普拉斯算子来滤波,则经滤波的图像A为/!(;c,力-0如果义=0或义=>^-7或少=0或>>=/2-/,否贝lj,A(X,力=—1,少—1)一/(J一1,力一/(;c_1,y+1)—/(;c,y—1)+8/(X,力—/(X,少+1)—/(;c+l,;;一l)一/(;c+l,力一/(;c+l,少+l)对来自图像A的两个数字iV+和M计数。W+是A中正像素的个数,M是/,中负像素的个数。对于如图13的反转的图像(即,对于从显示表面捕捉的图像)iV+〈iV一;而对于如图14的从印刷文档捕捉的图像7V+>7V_。基于这一信息,可确定图像是从显示表面还是从印刷文档捕捉的。颠示颜微游,層必潘从显示表面捕捉的图像首先被反转(即,反转像素的灰度水平值)。假定图像/被反转为/,贝lj/'(x,力-255-7(;c,力。反转的图像然后以类似于用于从印刷纸张文档捕捉的图像的预处理算法的三步来进一步处理,该算法将在以下更详细描述。厲努力一众图15示出了根据本发明的实施例的图像照明归一化模块1500的一个示例。图像照明归一化模块1500包括将图像分段成诸如像素等较小区域的块的图像分段模块1501,以及估算每一块的照明的块照明估算模块1503。图像照明归一化模块1500还具有区域照明分布确定模块1505。该模块执行每一区域的照明分布的双线性拟合,如将在以下更详细解释的。再者,图像照明归一化模块1500区域照明归一化模块1507,它归一化图像中的每一区域的照明。这些模块中的每一个的操作将参考图16A-25来更详细讨论。现在转向图16A,在步骤1601中,图像分段模块1501从照相机/笔设备接收图像。图17示出了可从照相机/笔设备接收的原始图像1701的一个示例。如可从该图中见到的,图像1701具有相对较暗的区和相对较亮的区,从而使得难以区分图像中的各特征。在所示的实施例中,该图像是100x128像素(即,垂直方向上100个像素,水平方向上128个像素)。然而,应当理解,图像尺寸将由照相机/笔设备101采用的照相机来确定,并且本发明的各实施例可用于各种尺寸的图像。接着,在步骤1603,图像分段模块1501将图像1701分段成区域块。在所示的示例中,图像照明归一化模块1500使用像素作为在其上执行各操作的区域。然而,应当理解,本发明的替换实施例可对区域使用其它单位。例如,对于较大的图像,本发明的某些实施例可使用四个相邻像素的组作为在其上执行各操作的区域,而本发明的还有一些实施例可使用六个、八个、九个、十六个、或任何其它数目的像素的组作为在其上执行各操作的区域。更具体而言,图像分段模块1501从图像1701的顶部开始将图像分段成块,如图18所示。块1801可以在以下由索引m,n处的坐标值来方便地标识,如在该图中所示的。在所示的实施例中,图像分段模块1501将图像1701分段成16像素X16像素的块1801。然而,应当理解,本发明的替换实施例可按需从更小或更大的像素组来形成块。由于所示示例中的图像1701具有100像素的高度,并且块1801是从16x16的像素组形成的,因此在图像1701的底部存在其中像素未被分段成块1801的小区1803。如可从以下提供的详细解释中清楚的,该差异会偏斜照明归一化过程的准确度。因此,如图19所示,图像分段模块1501从图像1701的底部开始形成块1901的第二段。块1901可在以下由索引m7,";处的坐标值来方便地标识,如图19所示的。如同块1801—样,块1901是从16x16的像素组形成的。接着,在步骤1605中,块照明估算模块1503估算每一块1801和1901的照明值。即,块照明估算模块1503基于构成该块的每一个别像素的照明值来估算每一块1801和1901的总体代表性照明值。图像1701是黑白图像,因此每一像素的照明值是灰度水平值。在所示的示例中,块照明估算模块1503通过在每一灰度水平处创建块中的诸像素的直方图来估算块1801或1901的照明值。图20示出了可由本发明的各实施例用于估算块1801或1901的照明的一种直方图的一个示例。如可从该图中见到的,X轴对应于构成该块的像素的灰度水平。Y轴因此对应于具有该灰度水平的像素的个数。使用该直方图,块照明估算模块1503估算该块的代表性照明值。在所示的示例中,块照明估算模块1503标识90%的照明值为所估算的块的照明值。g卩,块照明估算模块1503标识灰度水平G9她,在该灰度水平下,块中的90。/。的像素都比G9oth暗,并采用该值作为块的照明值。当然,本发明的其它实施例可采用替换的百分比准则来按需估算块的照明值。此外,本发明的某些实施例可采用替换技术来确定每一块的总体照明。i还应当理解,尽管所示的示例涉及黑白图像,但本发明的各实施例可用于处理彩色图像。对于这些实施例,块照明估算模块1503可基于图像中的每一像素的亮度水平来操作。在块照明估算模块1503估算了每一块1801和1901的照明值之后,区域照明分布确定模块1505在步骤1607中对每一区域的照明分布执行双线性拟合。即,区域照明分布确定模块1505通过对围绕一区域的块的估算的照明值求平均来确定该区域的照明分布值。在所示的实施例中,区域照明分布确定模块1505对围绕该区域的四个块的估算的照明值求平均,但是本发明的其它实施例可对围绕该区域的其它块组的估算的照明值求平均。如上所述,在图像1701底部存在未被分段成块1801中的任一个的区1803。因此,围绕的块的平均照明值将无法准确地与这些未分段的区域的照明值相关。这些区中的像素的照明分布值使用块1901而非块1801来确定。因此,用两步的过程来确定该照明分布值。主要在块1801内的像素(即y坐标值为0-87的像素)使用块1801的估算的照明值来确定,而主要在块1901内的像素(即,y坐标值为88-99的像素)使用块1901的估算的照明值来确定。对于所示的实施例,对每一像素(;c,力,其中y=0,l,...87,该像素的照明分布值"(;c,力被估算为Z)(x,力=(1-7v)[(l-7,)^(;n,")+7义.^(針m)]+7少■[(卜7义)+/s(m+1,+1)]其中=G90(A(m,n)s是块的尺寸(在所示的示例中,s=16)附=mmmaxVint(-),01、,6w=mmmax乂int(ZZ^),0X2=(附+l)S+^,h=+5,y2=(W+l)S+7,X,、,4」J=+—2少lAhi应当注意,int(x)是返回小于或等于;c的最大整数的函数。例如,int(1.8)=l,int(—1.8)=—2。用于使用该过程来确定像素的照明分布值的照明值信息在图21中图形地示出。如可从该图像中理解的,某些像素将落在可在四个相邻块1801之中相等分布的任何区2101之外。例如,在所示的示例中,x坐标值为0-7或120-127的像素以及y坐标值为0-7的像素将落在可在四个相邻块1801之中相等分布的任何区2101之外。对于边界区中的这些像素,以上等式仍适用于确定其照明分布值,除了将使用外插来代替内插之外。不同的区在图22中图形地示出。类似地,对于每一像素(x,力,其中:k=88,89,...99,该像素的照明分布值D(x,;;)被估算为其中、,"o=G麵(mPmaxint(-),0s是块的尺寸(在一个实现中,s=16)m'=mm6"t=0y1=,度"_i-1,:v,裔度-i-i7,=71一Ahi传感器的高度。在所示的示例中,葛^^100。再一次,某些像素将落在可在四个相邻块1901之中相等分布的任何区外部的图像边界上。对于边界区中的这些像素,以上等式仍适用于确定其照明分布值,除了将使用外插来代替内插之外。不同区在图23中图形地示出。整个图像1701的照明分布值2401则在图24中示出。一旦区域照明分布确定模块1505确定了每一区域的照明分布值,区域照明模块1507在步骤1609中确定每一区域的归一化照明值。更具体地,区域照明归一化模块1507通过将该区域的原始照明值除以该区域的照明分布值来确定每一区域的归一化照明值。接着,在步骤1611中,区域照明归一化模块1507通过将每一区域的归一化照明值乘以一统一照明水平Go来获得每一区域的经调整的归一化照明值。在所示的示例中,统一照明水平Go的值是200,但是本发明的替换实施例可对统一照明水平G。采用不同的值。统一照明水平Go表示对理想情况(即,用理想图像传感器的均匀照明)空白区域中的所捕捉图像的假定的灰度水平。由此,在理想情况下,从空白区域捕捉的图像的所有像素的灰度水平应当等于该统一照明水平G0。最后,在步骤1613中,区域照明归一化模块1507通过向每一像素分配一新的照明值来为每一像素选择最终的归一化照明值,该新的照明值是经调整的归一化照明值和最大照明值中的较小者。由此,对于所示的示例,每一像素的最终的归一化照明值被确定为灰度水平G(;c,力,其中G(x,力-min(G。.^4,255)其中Go-200且255是最大灰度水平(即,白色)。然后,在步骤515中,区域照明归一化模块1507使用每一像素的最终的归一化照明值来输出归一化图像。图25示出了在以上述方式处理之后图像1701如何表现为图像2501。如可从图13中以及以上关于图13的注解中清楚的,在图像的曝光过度区域中没有EIC图案可见。在反转了原始捕捉的图像之后,曝光过度区域被改为较暗的区域,它用图14中的白色椭圆覆盖以满足(美国)专利局禁止在附图中使用黑色阴影的规则。分离图13中的该区域类似于分离从印刷文档中捕捉的图像中的文档内容区域。一个实现使用曝光过度区域分离算法来将曝光过度区域从其中EIC图案可见的区域分离。曝光过度区域分离算法基本上与以下用于将从印刷文档捕捉的图像中的文档内容从其中EIC图案可见的区域分离的文档内容分离算法相同。类似地,一个实现使用了EIC图案分离算法来将有效EIC图案像素从所捕捉的图像的其余部分分离。EIC图案分离算法基本上与以下用于将从印刷文档中捕捉的图像中的EIC图案像素从其它区域分离的算法相同。縱蹄定在图像照明归一化模块1500归一化了由笔/照相机设备捕捉的图像之后,图案确定模块2600将归一化图像中表示文档中的内容的区域与该归一化图像中表示位置(也称为EIC)图案的区域相区分。图26示出了用于将文档图像中位置图案与内容进行区分的图案确定系统。如可从该图中见到的,图案确定模块2600包括区域平均滤波模块2601和高对比度区确定模块2603。如将在以下更详细讨论的,区域平均滤波模块2601向图像中的每一区域的照明值应用一平均滤波器。高对比度区确定模块2603然后标识图像中的高对比度区。图案确定模块2600还包括内容照明阈值确定模块2605、内容标识模块2607、图案照明阈值确定模块2609和图案标识模块2611。如将在以下更详细讨论的,内容照明阈值确定模块2605确定第一照明值阈值,内容标识模块2607然后使用该阈值来标识图像中表示内容的区域。类似地,图案照明阈值确定模块2609确定第二照明值阈值,图案标识模块2611然后使用该阈值来标识图像中表示位置图案的区域。图案确定模块2600利用了这样的事实在同时包含内容(例如,印刷文本、图片等)和位置图案的文档的图像中,位置图案、文档内容和文档背景往往具有不同的亮度水平。由此,对于黑白图像,表示位置图案、文档内容和文档背景的区域通常具有不同的灰度水平,其中表示文档内容的区域是最暗的,表示位置图案的区域是次暗的,表示文档背景的区域是最不暗的。由此,图案确定模块2600可通过阈值来区分这三种不同区域。为了更高效地确定适当的阈值来分离三个亮度水平,图案确定模块2600首先标识高对比度区。对于黑白图像,这些是相邻图像区域(例如,诸如像素)之间有较大的灰度水平差别的区。由此,用于将表示文档内容的区域与图像中的其它区域分离的阈值可以在高对比度区域中被更有效地标识。一旦找到了阈值,比阈值暗的区域被标识为表示文档内容。这些区然后可被标记为由表示内容的区域构成。例如,内容区中的区域可以被分配文档内容掩码中的值1。在标识了表示文档内容的区之后,然后可分析其余区域的亮度值。具有超过第二阈值的照明值的这些区然后被标识为表示位置图案。这些区然后可被标记为由表示位置图案的区域构成。例如,图案区中的区域可被分配位置图案掩码中的值1。如此与图像的其余部分区分的表示位置图案的区域然后可被更准确地分析。现在将参考图27A-31来描述图案确定模块2600的操作。更具体地,图案确定模块2600的操作将被讨论为应用于归一化图像2501。由此,在本示例中,图像是黑白图像。然而,应当理解,本发明的各实施例可用于处理彩色图像。如先前对于图像照明归一化模块1500所注明的,如果图像是彩色图像,则图案确定模块1500将使用亮度水平而非灰度水平来操作。并且,所示的图案确定模块2600的示例使用像素作为在其上执行操作的区域单位。然而,应当注意,本发明的其它示例可在诸如多个像素的组等其它区域上操作,如先前对于图像照明归一化模块1500所描述的。最初,标识高对比度区域以更高效地定位表示内容的区,如上所述。然而,由于包含位置图案的区也可具有大差异的照明水平,因此首先对图像区域进行滤波以减小围绕位置图案的区中的照明值差异。更具体地,在步骤2701中,区域平均滤波模块2601向图像中的每一区域应用平均滤波。对于黑白图像,这一滤波操作用围绕的八个像素的灰度水平和像素本身的灰度水平的平均来替换每一像素的灰度水平。即,对每一像素(义,力G平均0,少)=叾ZJ]GO+z,少+j-)y,'=-1_/=-i其中G(x,力是像素(;c,力的灰度水平。应当注意,G(x,力是照明归一化的灰度水平。接着,在步骤2703中,高对比度区确定模块2603使用每一像素的平均的照明水平来标识图像中的高对比度区。具体地,对每一像素,高对比度区确定模块2603标识围绕像素的17x17像素邻域中的最大和最小平均灰度水平。g卩,对每一像素O,力,G咖xO,力=max(G平均O,g)|max(;c—8,0)Sp《min(义+8,127),maxO—8,0)S《Smin(>+8,127))GminO,力=mi《G平均0,《)1max*—&0)《p《m一+8,12T),max^-8,0)《gSmin^+8,127))应当理解,上述确定是基于所示的示例中所使用的图像的具体像素数。对用于处理不同大小的图像的本发明的实施例将使用不同像素坐标值的相似的确定。接着,高对比度区确定模块2603定义高对比度区为高对比度区={(x,力i[G隱(x,力-G曲(x,力]〉Z)。}其中A)是预定阈值。A)的值是根据经验确定的。在所示的示例中,2)。=140,但是应当理解,本发明的其它实施例可采用不同的阈值,这取决于例如由照相机/笔设备提供的对比度质量。图28示出了使用上述技术在图像2501中标识的高对比度区域2801。接着,在步骤2705中,内容照明阈值确定模块2605确定用于将表示文档内容的区域与图像的其它区域分离的阈值。为确定该阈值,内容照明阈值确定模块2605为高对比度区创建灰度水平直方图。这一直方图2901的一个示例在图29中示出。如可从本图中看到的,直方图2901的X轴对应于高对比度区中的像素的平均灰度水平。而Y轴则对应于该灰度水平下的像素数。从该直方图中,可标识用于将较暗的像素与灰色和白色像素分离的阈值rQ。可采用用于选择将较暗的像素与灰色和白色像素相区分的阈值的任何适当的技术。一种用于获得阈值r。的适当技术在例如N.Otsu的"AThresholdSelectionMethodfromGray-LevelHistogram(从灰度水平直方图选择阈值的方法)",7Va"sac"o";yo"S;^em;y,Ma",qy6er"W,9(1),(1979),第62-66页中有描述。一旦确定了阈值rQ,内容标识模块2607在步骤2707中使用阈值r。来标识图像中表示内容的区域。首先,给定ro,图像中比ro暗的像素被标识为表示文档内容的图像并被分配文档内容掩码中的值l。由此,对于每一像素(;c,力,如果则JT教片吝潜碍^,力=1,否则jT/^/^^^^^x,力=0。在创建了文档内容掩码之后,标识像素(;c,,乂)的区A,其中f=1,2,..T,如下及,={".,少,)I文档内容掩码".,X)=1,乂)是邻居}如果两个像素在彼此的直接下方、上方或旁边,则这两个像素是邻居,如图30中所示。由此,掩码标识了表示内容的相邻区域的区it。在所示的示例中,如果区it包含少于20个像素,则从文档内容掩码中移除该区。g卩,对每一像素(;c,.,y,.)ei,,jT/^7^#^^¥^,:^=0。这消除了太小以至于无法实际表示文档内容的区。接着,在步骤2709中,图案照明阈值确定模块2609确定用于将表示位置图案的区域与图像的其余区域(即,非内容区域)分离的第二阈值。最初,图案照明阈值确定模块2609将图像分段成8x8像素的块。对于黑白图像,图案照明阈值确定模块2609然后对每一8x8的像素块创建灰度水平值直方图,诸如图31中的直方图2001。如可从该图中见到的,X轴对应于块中的非文档内容像素,即对其jt"/^/^#潜^¥&力=0的像素的照明归一化的灰度水平。而Y轴则对应于在该灰度水平下的非文档内容像素的数目。从该直方图中,标识第二阈值ro以将位置图案区域与其余的背景区域相区分。第二阈值rQ是基于笔/照相机设备中的照相机传感器的尺寸以及代码符号的大小根据经验来确定为近似等于代码符号中的黑点的比例。在所示的示例中,选择第二阈值:T()使得11%的像素比ro暗。一旦确定了第二阈值r。,图案标识模块2611在步骤2711中标识图像中表示位置图案的区域。更具体地,对于块中的每一像素(;c,力,如果;^^力#"^^¥&力=0且G(x,力sr。,则图案标识模块2611分配虔案潜冯(;c,力=1,否则虔紫潜碍;c,力=0。对于底部像素(即沿图像的底部边界的4x128像素区),直接上方的4x128像素区域可用于形成8x8的像素块。在这些底部块的每一块内,使用如上所述相同的方法来确定第二阈值。然而,仅底部区中的这些像素与阈值进行比较,因为从直接上方的区中"借来"的像素已经使用对其原始块建立的第二阈值分析过了。比阈值暗的那些底部像素被标识为表示位置图案。在标识了具有低于其各自的第二阈值的灰度水平的像素之后,与表示文档内容的像素相邻的那些所标识的像素从位置图案掩码中移除。即,对每一像素(;c,力,如果虔^^^^碍x,力=1,并且(x,力的8个邻居中的一个像素已被标识为表示文档内容(即,存在/,_/,其中!'=—1,0,1,_/=-1,0,1,使得1#/^吝潜烦1+/,,力=1),则虔^^^码(;c,力=0。以此方式,构成位置图案的像素可准确与从图像中的其它像素相区分。此外,可生成清楚地区分位置图案与图像的其余部分的新图像。图35示出了根据本发明的各实施例的用于处理从印刷文档捕捉的EIC图像和从除印刷文档以外的显示表面捕捉的EIC图像的步骤。标识表面类型步骤3504取从印刷文档3503捕捉的一个或多个EIC图像以及从除印刷文档以外的显示表面捕捉的一个或多个EIC图像作为输入。标识表面类型步骤3504标识从中捕捉特定图像的表面的类型(即,印刷文档还是除印刷文档之外的显示表面)。尽管从除印刷文档之外的显示表面捕捉的EIC图像3502和从印刷文档捕捉的EIC图像3503在图35中分开示出,但是在由标识表面类型步骤3504处理之前,从中捕捉特定图像的表面的类型(即,印刷文档还是除印刷文档之外)是未知的。另一方面,从显示表面捕捉的EIC图像3506已由标识表面类型步骤3504标识为已从除印刷文档之外的显示表面捕捉。类似地,从印刷文档捕捉的EIC图像3508已被标识表面类型步骤3504标识为已从印刷文档捕捉。标识表面类型步骤3204可在从中捕捉图像的不同表面类型之间进行区分的方法已在上文详细讨论。图36示出了标识表面类型步骤3504的一个实施例。在图36的实施例中,在步骤3602处生成特征向量3602。特征向量3602指定了对EIC图像灰度水平分布有多均匀。在步骤3606处,使用特征向量3602来标识从中捕捉EIC文档的表面类型。图37示出了标识表面类型步骤3504的一替换实施例。在图37的实施例中,在步骤3702处,使用拉普拉斯算子来对EIC图像滤波。在步骤3706处,使用经滤波的图像3704来标识从中捕捉EIC文档的表面类型。预处理显示表面图像步骤3510预处理从除印刷文档之外的显示表面(如由标识表面类型步骤3504标识的)捕捉的EIC图像。预处理印刷文档图像步骤3512预处理从印刷文档(如由标识表面类型步骤3504标识的)捕捉的EIC图像。由预处理显示表面图像步骤3510和预处理印刷文档图像步骤3212执行的预处理彼此相似,并在上文详细讨论。经预处理的图像从预处理显示表面图像步骤3510和预处理印刷文档图像步骤3512传递到处理EIC信息步骤3514,该步骤如上详细讨论的执行EIC图案分析、EIC符号识别、以及EIC解码。由处理EIC信息步骤3514输出的位置信息3516可被输入到用于从除印刷文档之外的显示表面捕捉的图像的映射显示表面信息步骤3518,或可被输入到用于从印刷文档捕捉的图像的映射EIC文档信息步骤3520。映射显示表面信息步骤3518输出表面元数据和x-y位置3522,而映射EIC文档信息步骤3520输出文档元数据和x-y位置3524。尽管以对结构特征和/或方法动作专用的语言描述了本主题,但是可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求书的示例形式来公开的。权利要求1.一种处理从印刷文档捕捉的至少一个图像(3203)并处理从除印刷文档之外的显示表面捕捉的至少一个图像(3202)的系统,所述系统包括表面类型标识模块(3204),它接受从印刷文档捕捉的所述至少一个图像(3203)和从除印刷文档之外的显示表面捕捉的所述至少一个图像(3202)作为输入,并对特定图像标识从中捕捉所述图像的表面的类型,其中所述表面类型选自由以下各项构成的组印刷文档、以及除印刷文档之外的显示表面;显示表面预处理模块(3210),它预处理从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像(3206);印刷文档预处理模块(3212),它处理从印刷文档捕捉的至少一个嵌入式交互代码图像(3206);以及嵌入式交互代码处理模块(3214),它输出从印刷文档捕捉的所述至少一个图像和从除印刷文档之外的显示表面捕捉的所述至少一个图像中的至少一个的位置信息(3216)。2.如权利要求1所述的系统,其特征在于,所述表面类型标识模块包括特征向量生成模块,它生成指定对所述特定图像灰度水平分布有多均匀的特征向量。3.如权利要求1所述的系统,其特征在于,所述表面类型标识模块包括基于特征的表面类型标识模块,它基于所述特征向量来标识从中捕捉所述特定图像的表面的类型。4.如权利要求1所述的系统,其特征在于,所述表面类型标识模块包括拉普拉斯滤波器模块,它使用拉普拉斯算子来对所述特定图像滤波。5.如权利要求1所述的系统,其特征在于,所述表面类型标识模块包括基于拉普拉斯滤波器的表面类型标识模块,它基于所述经滤波的图像标识从中捕捉所述特定图像的表面的类型。6.如权利要求1所述的系统,其特征在于,所述位置信息包括从印刷文档捕捉的所述至少一个图像和从除印刷文档之外的显示表面捕捉的所述至少一个图像中的至少一个的m阵列位置。7.如权利要求l所述的系统,其特征在于,还包括表面信息映射模块,它将所述位置信息映射到从除印刷文档之外的显示表面捕捉的所述至少一个图像的表面元数据和x-y位置信息。8.如权利要求1所述的系统,其特征在于,还包括嵌入式交互代码文档映射模块,它将所述位置信息映射到从印刷文档捕捉的所述至少一个图像的文档元数据和x-y位置信息。9.一种具有用于执行以下步骤的计算机可执行指令的计算机可读介质生成特征向量(3604),所述特征向量指定了对一图像,灰度水平分布有多均匀,所述图像包括嵌入式交互代码信息,并且是从印刷文档(3503)和除印刷文档之外的显示表面(3502)中的至少一个捕捉的;以及使用所述特征向量(3604)来标识从中捕捉所述图像的表面类型。10.如权利要求9所述的计算机可读介质,其特征在于,生成所述特征向量包括计算所述图像的水平投影向量和垂直投影向量。11.如权利要求IO所述的计算机可读介质,其特征在于,所述水平投影向量和所述垂直投影向量被计算为/v^^li/d'^n/wuhli/a",其中/(x,力是图像/中像素(;c,力的灰度水平,并且其中w和a分别是所述图像的宽度和高度。12.如权利要求9所述的计算机可读介质,其特征在于,还具有用于执行以下步骤的计算机可执行指令定义所述水平投影向量中的水平峰值宽度和所述垂直投影向量中的垂直峰值宽度。13.如权利要求12所述的计算机可读介质,其特征在于,所述水平峰值宽度和所述垂直峰值宽度被定义为满足以下等式的h、]:^夂'户心一Y义^-。一yA—)w一iZ尸(#]=-,z/^[*]=/^,其中5=乞2>力.)是所述图像的灰度,、,、乂=0"^化'-Y了水平和,//是常数值,X似和y化.,是所述垂直和水平投影向量的中心,它们被定义为w-1'乂/'心_A墨lZW)j=0/=014.如权利要求9所述的计算机可读介质,其特征在于,使用所述特征向量来标识所述表面类型包括使用线性分类器在从印刷文档捕捉的图像的特征向量与从除印刷文档之外的显示表面捕捉的图像的特征向量之间区分。15.如权利要求14所述的计算机可读介质,其特征在于,所述线性分类器是Fisher线性分类器。16.—种具有用于执行以下步骤的计算机可执行指令的计算机可读介质使用拉普拉斯算子,通过对一图像进行滤波(3702)来生成一经滤波的图像(3704),所述图像包括嵌入式交互代码信息,并且是从印刷文档(3503)和除印刷文档之外的显示表面(3502)中的至少一个捕捉的;以及使用所述经滤波的图像(3704)来标识从中捕捉所述图像的表面类型。17.如权利要求16所述的计算机可读介质,其特征在于,/是所述图像,并且所述经滤波的图像/,是/i0cj)=0,如果x二0或x-w-/或^=0或>;=/2-/,否,/,(x,力=—/(x—1,少—1)—/(x-1,力—/(x—1,_y+1)—/(xj—1)+8/(;c,力—/(x,y+1),一/(;c+l,j;—1)—/(x+l,少)一/(x+l,少+l)°18.如权利要求16所述的计算机可读介质,其特征在于,所述所述经滤波的图像包括对/,中的正像素的数目和/,中的负像素的数目计数。19.如权利要求18所述的计算机可读介质,其特征在于,使用所述经滤波的图像包括当中的正像素的数目大于中的负像素的数目时,将从中捕捉所述图像的表面类型标识为印刷文档。20.如权利要求18所述的计算机可读介质,其特征在于,使用所述经滤波的图像包括当/,中的正像素的数目少于/,中的负像素的数目时,将从中捕捉所述图像的表面类型标识为除印刷文档之外的显示表面。全文摘要处理从印刷文档捕捉的至少一个图像(3203)和从除印刷文档之外的显示表面捕捉的至少一个图像(3202)。表面类型标识模块(3204)接受两种类型的图像作为输入,并对一特定图像标识从中捕捉该图像的表面类型。显示表面预处理模块(3210)预处理从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像(3206)。印刷文档预处理模块3212预处理从印刷文档捕捉的至少一个嵌入式交互代码图像(3206)。嵌入式交互代码处理模块(3214)输出从印刷文档捕捉的至少一个图像和从除印刷文档之外的显示表面捕捉的至少一个图像中的至少一个的位置信息(3216)。文档编号G06K9/80GK101243462SQ200680029962公开日2008年8月13日申请日期2006年8月16日优先权日2005年8月17日发明者C·张,J·王,Q·王,Y·丹恩申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1