CN101243462B - 启用嵌入式交互代码的表面类型标识 - Google Patents

启用嵌入式交互代码的表面类型标识 Download PDF

Info

Publication number
CN101243462B
CN101243462B CN2006800299623A CN200680029962A CN101243462B CN 101243462 B CN101243462 B CN 101243462B CN 2006800299623 A CN2006800299623 A CN 2006800299623A CN 200680029962 A CN200680029962 A CN 200680029962A CN 101243462 B CN101243462 B CN 101243462B
Authority
CN
China
Prior art keywords
image
document printing
catching
document
interaction 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
CN2006800299623A
Other languages
English (en)
Other versions
CN101243462A (zh
Inventor
J·王
Y·丹恩
Q·王
C·张
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 CN101243462A publication Critical patent/CN101243462A/zh
Application granted granted Critical
Publication of CN101243462B publication Critical patent/CN101243462B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/19Image acquisition by sensing codes defining pattern positions

Abstract

处理从印刷文档捕捉的至少一个图像(3203)和从除印刷文档之外的显示表面捕捉的至少一个图像(3202)。表面类型标识模块(3204)接受两种类型的图像作为输入,并对一特定图像标识从中捕捉该图像的表面类型。显示表面预处理模块(3210)预处理从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像(3206)。印刷文档预处理模块3212预处理从印刷文档捕捉的至少一个嵌入式交互代码图像(3206)。嵌入式交互代码处理模块(3214)输出从印刷文档捕捉的至少一个图像和从除印刷文档之外的显示表面捕捉的至少一个图像中的至少一个的位置信息(3216)。

Description

启用嵌入式交互代码的表面类型标识
背景
计算机用户习惯于使用鼠标和键盘作为与个人计算机交互的一种方法。尽管个人计算机提供了优于书面文档的众多优点,然而大多数用户继续使用印刷的纸张来执行某些功能。这些功能的部分包括读和注释书面文档。在注释的情况下,由于由用户放置在其上的注释,印刷的文档呈现更大的意义。然而,令印刷的文档具有注释的困难之一是随后需要将注释输入回该文档的电子形式中。这需要原始用户或另一用户很辛苦地读完注释,然后将它们输入到个人计算机中。在某些情况下,用户将在注释和原始文本中扫描,由此来创建一个新文档。这多个步骤令印刷文档和文档的电子版本之间的交互在重复的基础上变得难以处理。此外,扫描的图像通常是不可修改的。没有方法将注释从原始文本中分离。这令使用注释变得困难。因此,需要一种处理注释的改进的方法。
捕捉手写信息的一种技术是通过使用其位置可在书写过程中确定的笔。提供这一功能的一种笔是Anoto Inc的Anoto笔。这一笔通过使用照相机捕捉用预定图案编码的纸件图像来起作用。该图像笔的一个示例在图21中示出。该图案由Anoto笔(Anoto Inc生产)用于确定笔在一张纸(或其它对位置编码的介质)上的位置。
简述
提供本概述来以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
处理从印刷文档捕捉的至少一个图像和从除印刷文档之外的显示表面捕捉的至少一个图像。一表面类型标识模块接受两种类型的图像作为输入,并对特定图像标识从中捕捉该图像的表面的类型。一显示表面预处理模块预处理从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像。一印刷文档预处理模块处理从印刷文档捕捉的至少一个嵌入式交互代码图像。一嵌入式交互代码处理模块输出关于从印刷文档捕捉的至少一个图像以及从除印刷文档之外的显示表面捕捉的至少一个图像中的至少一个的位置信息。
附图简述
当结合附图阅读时,可以更好地理解以上本发明的概述以及以下较佳实施例的详细描述,附图包括示例而不是对本发明的局限。
图1示出了可用于本发明的实施例的计算机的通用描述。
图2A和2B示出了依照本发明的实施例的图像捕捉系统和对应的已捕捉图像。
图3A到3F示出了依照本发明的实施例的各种序列和折叠技术。
图4A到4E示出了依照本发明的实施例的各种编码系统。
图5A到5D示出了与依照图4A和4B的编码系统相关联的四个可能的结果角。
图6示出了依照本发明的实施例的已捕捉图像部分的旋转。
图7示出了结合图4A到4E的编码系统使用的各个旋转角度。
图8示出了依照本发明的实施例用于确定已捕捉阵列的位置的过程。
图9示出了依照本发明的实施例用于确定已捕捉图像的位置的方法。
图10示出了依照本发明的实施例用于确定已捕捉图像的位置的另一方法。
图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中的元件之间传输信息的基本例程,储存在ROM 140中。计算机100也包括用于对硬盘(未示出)进行读写的硬盘驱动器170、用于对可移动磁盘190进行读写的磁盘驱动器180、以及用于对诸如CD ROM或其它光媒质等可移动光盘192进行读写的光盘驱动器191。硬盘驱动器170、磁盘驱动器180和光盘驱动器191分别由硬盘驱动器接口192、磁盘驱动器接口193和光盘驱动器接口194连接到系统总线130。驱动器及其关联的计算机可读媒质为个人计算机100提供了计算机可读指令、数据结构、程序模块和其它数据的非易失存储。本领域的技术人员可以理解,在示例操作环境中也可使用可储存可由计算机访问的数据的其它类型的计算机可读媒质,如磁带盒、闪存卡、数字视频盘、贝努利盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)等等。
众多程序模块可储存在硬盘170、磁盘190、光盘192、ROM 140或RAM 150中,包括操作系统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网络环境中使用时,计算机100通过网络接口或适配器114连接到局域网112。当在WAN网络环境中使用时,个人计算机100通常包括调制解调器115或其它装置,用于通过广域网113,如因特网建立通信。调制解调器115可以是内置或外置的,通过串行端口接口106连接到系统总线130。在网络化环境中,相对个人计算机100所描述的程序模块或其部分可储存在远程存储器存储设备中。
可以理解,所示的网络连接是说明性的,可以使用在计算机之间建立通信链路的其它技术。假定存在各种公知协议的任一种,如TCP/IP、以太网、FTP、HTTP、蓝牙、IEEE 802.11x等等,系统可在客户机-服务器配置中操作,以准许用户从基于web的服务器检索网页。可使用各种常规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可以足够大来捕捉位置212处的笔尖202的图像。仅供参考,位置212处的图像被称为虚拟笔尖。注意,由于笔尖、透镜208和图像传感器211之间的恒定关系,相对于图像传感器211的虚拟笔尖位置是固定的。
以下变换FS→P将由照相机捕捉的图像中的位置坐标转换成纸张上的真实图像的位置坐标:
                 L纸张=FS→P(L传感器)
在书写的过程中,笔尖和纸张在同一平面上。因此,从虚拟笔尖到真实笔尖的变换也是FS→P
                 L笔尖=FS→P(L虚拟笔尖)
变换FS→P可被估算为逼近FS→P的仿射变换:
F S → P ′ = sin θ y s x cos θ y s x 0 - sin θ x s y cos θ x s y 0 0 0 1
其中,θx,θy,sx和sy是在位置204处捕捉的图案的两个方向的旋转和比例。此外,可通过将已捕捉图像与纸张上对应的真实图像进行匹配来细化FS→P’。“细化”指通过被称为递归方法的一种类型的优化算法来获取变换FS→P的更精确的估算。该递归方法将矩阵FS→P’作为初始值来处理。经细化的估算更精确地描述了S和P之间的转换。
下一步,可通过校准来确定虚拟笔尖的位置。
将笔尖202置于纸张上的固定位置L笔尖上。接着摆动该笔,从而允许照相机203用不同的笔姿势来捕捉一系列图像。对于捕捉到的每一图像,可获得变换FS→P。从该变换,可获得虚拟笔尖的位置L虚拟笔尖
                  L虚拟笔尖=FP→S(L笔尖)
其中,L笔尖被初始化为(0,0),并且
                  FP→S=(FS→P)-1
通过对从每一图像获得的L虚拟笔尖求平均值,可确定虚拟笔尖的位置L虚拟笔尖。采用L虚拟笔尖,可获得L笔尖的更准确的估算。在若干次迭代之后,可确定虚拟笔尖的准确位置L虚拟笔尖
虚拟笔尖的位置L虚拟笔尖现在已知。也可从捕捉的图像获得变换FS→P。最后,可使用该信息来确定真实笔尖的位置L笔尖
                     L笔尖=FS→P(L虚拟笔尖)
阵列的编码
可通过折叠一维序列来构造二维阵列。包含足够多数量比特的二维阵列的任何部分可用于确定其在整个二维阵列中的位置。然而,有必要从一个已捕捉的图像或几个已捕捉的图像确定位置。为将已捕捉的图像部分与二维阵列中的两个或多个位置相关联的概率最小化,可使用一非重复序列来创建该阵列。所创建的序列的一个属性是该序列不在一段长度(或窗)n上重复。下文描述了一维序列的创建,随后将序列折叠成阵列。
                            序列构造
数字序列可用做编码系统的起始点。例如,序列(也称为m序列)可被表示为域Fq中的q元素集。此处,q=pn,其中,n≥1,并且p是质数。序列或m序列可通过各种不同的技术来生成,包括但不限于,多项式除法。使用多项式除法,序列可被定义如下:
R l ( x ) p n ( x )
其中,Pn(x)是在域Fq[x](具有qn个元素)中n次的本原多项式。Rl(x)是域Fq[x]中l次(其中,l<n)的非零多项式。序列可使用一迭代过程来创建,它具有两个步骤:首先,将两个多项式相除(得到域Fq中的一个元素),其次,将余项乘以x。当输出开始重复时,停止计算。该过程可使用一线性反馈移位寄存器来实现,如Douglas W.Clark和Lih-Jvh Weng的文章“Maximal and Near-Maximal ShiftRegister Sequences:Efficient Event Counters and Easy Discrete Logarithms(最大和近最大移位寄存器序列:有效的事件寄存器和简单的离散对数)”中所描述的,该文发表在IEEE计算机学报43.5(IEEE Transactions on Computers 43.5)(1994年5月,560-568页)上。在这一实施例中,在序列的循环移位和多项式Rl(x)之间建立一种关系:改变Rl(x)仅对该序列循环移位,并且每次循环移位对应于一个多项式Rl(x)。所得的序列的一个性质是,该序列具有qn-1的周期,并且在一个周期内,在宽度(或长度)n上,任何部分在该序列中存在一次且仅一次。这被称为“窗特性”。周期qn-1也被称为序列的长度,n被称为序列的阶。在此处的实现中,q被选为2。
上述过程仅是可用于创建具有窗特性的序列的各种过程的其中一个。
                            阵列构造
可用于创建图像(其一部分可由照相机捕捉)的阵列(或m阵列)是一维序列或m序列的扩展。设A为周期(m1,m2)的阵列,即A(k+m1,l)=A(k,l+m2)=A(k,l)。当n1×n2的窗通过A的周期移位时,Fq上所有的非零n1×n2矩阵出现一次且仅一次。这一特性也被称为“窗特性”,因为每一窗是唯一的。窗然后可被表达为周期(m1,m2)和阶(n1,n2)的阵列(m1和m2是阵列中存在的水平和垂直比特数)
可通过折叠序列来构造二进制阵列(或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的矩阵来表示。该矩阵的大小可被修改成任何大小,如基于图像捕捉系统的大小和分辨率。比特0和1的替换表示在图4C-4E中示出。可以理解,图4A-4E的示例编码的1或0的表示可以交换,而没有任何影响。图4C以隔行排列示出了占据两行或两列的比特表示。图4D以虚线形式示出了行和列中的像素的替换排列。最后,图4E以不规则间隔格式(例如,两个深色点之后为一个空白点)示出了列和行中的像素表示。
再次参考图4A,如果比特由3×3的矩阵表示,并且成象系统检测到3×3区域中的一个深色行和两个空白行,则检测到0(或1)。如果检测到图像具有一个深色列和两个空白列,则检测到1(或0)。
此处,使用了一个以上像素或点来表示一个比特。使用单个像素(或点)来表示一个比特是脆弱的。灰尘、纸张中的折痕、不平坦表面等等会造成读取数据单元的单个比特表示的困难。然而,可以理解,可使用不同的方法来图形地表示表面上的阵列。某些方法在图4C到4E中示出。可以理解,也可使用其它方法。一种方法在图11中仅使用间隔移位的点来描述。
使用比特流来创建图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的原始比特流相关。相关可以众多方式执行。例如,它可通过递归方式执行,其中,将恢复的比特流与原始比特流内的所有其它比特流片段进行比较。其次,可在恢复的比特流和原始比特流之间执行统计分析,例如使用两个比特流之间的汉明距离来执行。可以理解,可使用各种方法来确定恢复的比特流在原始比特流中的位置。
如将讨论的,EIC图案分析从图像603获得恢复的比特。一旦得到了恢复的比特,需要在原始阵列(例如,图4B所示的)中查找已捕捉图像。确定比特分段在整个阵列中的位置的这一过程可被若干项目变得更复杂。首先,可遮蔽要被捕捉的实际比特(例如,照相机可捕捉具有遮蔽原始代码的手写体的图像)。其次,灰尘、折痕、反射等等也可在已捕捉图像中引入误差。这些误差可令查找过程变得更困难。在这一点上,图像捕捉系统可能需要用从该图像提取的非顺序比特来运作。下文示出了用来自图像的非顺序比特来操作的方法。
设序列(或m序列)I对应于幂级数I(x)=1/Pn(x),其中,n是m序列的阶,并且已捕捉的图像包含Ib=(b0 b1 b2…bK-1)t的K个比特,其中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=(IT(I)…Tn-1(I))t,它包括I从0移位到(n-1)移位的循环移位。现在在R中仅稀少的K个比特可用于解r。设R中bi和b0之间的下标差为ki,i=1,2,…,k-1,则R的第1个和(ki+1)个元素(i=1,2,…,k-1)正好是b0,b1,…,bk-1。通过选择A的第1列和第(ki+1)列,i=1,2,…,k-1,形成以下二元线性方程:
                          bt=rtM             (3)
其中,M是A的n×K子矩阵。
如果b是无误差的,则r的解可被表示为:
r t = b ~ t M ~ - 1 - - - ( 4 )
其中,
Figure S2006800299623D00122
是M的任何非退化n×n子矩阵,
Figure S2006800299623D00123
是b的对应的子向量。
已知r,可使用Douglas W.Clark和Lih-Jyh Weng的“Maximal and Near-MaximalShift Register Sequences:Efficient Event Counters and Easy Discrete Logarithms(最大和近最大移位寄存器序列:有效的事件计数器和简单的离散对数)”,IEEE计算机学报43.5(IEEE Transactions on Computers 43.5)(1994年5月,560-568页)中描述的Pohlig-Hellman-Silver算法来找出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 S2006800299623D00124
为非退化的概率较高。
当所选择的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与最小误差比特数相关联,来确定是否成功地执行了纠错。如果有多个r,则在步骤809返回误差,指示解码过程失败。如果没有多个r,则在步骤807计算提取的比特在序列(或m序列)中的位置,例如,通过使用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 S2006800299623D00141
随机比特选择:随机地选择被提取比特1201的子集(步骤1203)
Figure S2006800299623D00142
解码该子集(步骤1205)
使用局部约束确定X、Y位置(步骤1209)
·使用智能比特选择来解码。组成部分1253包括四部分。
Figure S2006800299623D00144
智能比特选择:选择被提取比特的另一个子集(步骤1217)
Figure S2006800299623D00151
解码该子集(步骤1219)
Figure S2006800299623D00152
调整步骤1217和步骤1219迭代的次数(循环次数)(步骤1221)
Figure S2006800299623D00153
使用局部约束确定X、Y位置(步骤1225)
本发明的实施例利用了一种谨慎策略,依照局部约束来选择比特、调整循环次数和确定X、Y位置(位置坐标),所述局部约束被提供给过程1200。在组成部分1251和1253中,步骤1205和1219(“解码一次”)都使用方程(4)来计算r。设
Figure S2006800299623D00154
为被解码的比特,即:
b ^ t = r t M - - - ( 5 )
b和
Figure S2006800299623D00156
之间的差别是与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)来计算被解码的比特。设 I 1 = { k ∈ { 1,2 , · · · , K } | b k = b ^ k } , I ‾ 1 = { k ∈ { 1,2 , · · · , K } | b k ≠ b ^ k } , 其中
Figure S2006800299623D00162
Figure S2006800299623D00163
的第k个比特,B1={bk|k∈I1}且 B ^ 1 = { b k | k ∈ I ‾ 1 } , 即,B1是解码结果与原始比特相同的比特,且
Figure S2006800299623D00165
是解码结果与原始比特不同的比特,I1
Figure S2006800299623D00166
是这些比特相应的下标。应该理解,当从B1中选择任意n个独立的比特时,将获得相同的r1。因此,如果不仔细选择接下来的n个比特,所选择的比特可能是B1的子集,这会导致获得相同的r1
为了避免这样的情况,步骤1217依照以下的过程选择下n个比特:
1303中选择至少一个比特,其余的比特随机地从B1 1301和
Figure S2006800299623D00168
1303中选出,如对应于比特排列1351的图13所示。接着过程1200通过计算 b ^ 2 t = r 2 t M 2 得出r2,并找出B2 1305、1309和
Figure S2006800299623D001610
1307、1311。
重复步骤1。当对每个(i=1,2,3...,x-1,其中x是当前循环数目),选择下n个比特时,至少有一个比特是从
Figure S2006800299623D001612
中选出的。当没有这样的比特子集可被选择或达到循环次数时,该迭代终止。
循环次数计算
使用纠错组成部分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 S2006800299623D00172
其中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 S2006800299623D00183
由M的第0、1和2列组成。(注意,
Figure S2006800299623D00184
是n×n矩阵,且r1 t是1×n向量,这样
Figure S2006800299623D00185
是所选比特的1×n向量。)
接着,计算被解码的比特:
b ^ 1 t = r 1 t M - - - ( 13 )
其中M是n×K矩阵,且r1 t是1×n向量,使得
Figure S2006800299623D00187
是1×K向量。如果等于b,即,没有检测到误差,那么步骤1209确定X、Y位置,且步骤1211确定解码的位置是否在目的地区域内。如果是,解码是成功的,就执行步骤1213。否则,如图1215所示,解码失败。如果
Figure S2006800299623D00189
不同于b,那么在b中检测到误差比特,就执行组成部分1253。步骤1217确定集合B1,为{b0 b1 b2 b3},其中解码的比特与原始比特相同。因此, B ‾ 1 = { b 4 } (对应于图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会从
Figure S2006800299623D001811
选择(举例而言)一个比特{b4},并保留来自B1的两个比特{b0 b1}。
所选择的三个比特形成了 b ~ 2 t = b 0 b 1 b 4 . 步骤1219求出r2
b ~ 2 t = r 2 t M ~ 2 - - - ( 14 )
其中
Figure S2006800299623D001814
由M的第0、1和4列组成。
步骤1219计算 b ^ 2 t = r 2 t M . 找出这样的B2,例如{b0 b1 b4},使得
Figure S2006800299623D001816
和b是相同的。那么 B ‾ 2 = b 2 b 3 (对应于图13中的比特排列1353)。步骤1221根据方程(7)更新循环次数(lt)。注意与r2相关联的误差比特的数目等于2。代入(7),lt2=min(lt1,32)=13。
因为需要执行另一迭代,步骤1217从b中选择另外的n=3比特。所选择的比特应该不都属于B1或B2。因此,步骤1217,举例而言,可从选择一个比特{b4},从
Figure S2006800299623D001819
选择一个比特{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所示的。
启用嵌入式交互代码的表面类型标识
嵌入式交互代码(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作为输入。表面类型标识模块标识从中捕捉特定图像的表面的类型(即,印刷文档还是除印刷文档之外的显示表面)。尽管从除印刷文档之外的显示表面捕捉的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符号阵列中的网格线到图像的透视变换的单应矩阵H网格→图像
一旦确定了网格线,标识网格线上的黑点。黑点的位置有助于确定哪一网格单元对应于EIC码元以及哪一方向是EIC符号的正确方向。
图像中捕捉的EIC符号可以因笔的旋转而旋转。当EIC码元在正确的方向上时(即,与EIC符号阵列中的EIC符号相同地定向),则图像中捕捉的EIC符号的各段可与EIC符号阵列进行匹配,即,从EIC符号中提取的比特可与m阵列进行匹配。一旦知道了哪些网格单元对应于EIC符号以及符号的正确方向,就识别图像中捕捉的EIC符号。现在想像EIC符号阵列中包含了网格线以及图像的相应EIC符号的足够大的部分。
给定特定的EIC符号设计以及所标识的图像中的EIC符号的正确方向,可获得从EIC符号阵列的部分(包含了网格线和图像的相应EIC符号)到网格的变换。从前一步中,知道描述从网格到图像的透视变换的单应矩阵H网格→图像
因此,描述变换的单应矩阵H符号→图像可以如下获得:
H符号→图像=H网格→图像·H符号→网格
单应矩阵H符号→图像指定了EIC符号阵列中包含该图像的部分中的每一点到图像坐标系中的一点的变换。单应矩阵H符号→图像 -1指定了图像坐标系中的每一点到EIC符号阵列中包含该图像的部分中的一点的变换。
从EIC符号阵列中包含该图像的部分中所识别的EIC符号中,提取EIC比特。对每一m阵列,提取一比特流。任何比特可被选为其在m阵列中的位置被解码的比特。根据本发明的各实施例,为方便起见,选择EIC符号阵列中包含该图像的部分的左上角作为要解码的位置。某些比特是已知的(从识别的符号中提取的比特),而某些是未知的(不能提取的比特或没有在图像中捕捉EIC符号)。只要所提取的比特数大于m阵列的阶,就可进行解码。
EIC解码通过求解bt=rtM来获得位置向量r,其中b是所提取的比特的向量,M是通过循环移位m序列获得的系数矩阵。注意,该等式中的t代表转置。所提取的比特在m序列中的位置可通过离散对数从r中获得。然后基于如何从m序列生成m阵列来获得所提取的比特在m阵列中的位置。
从表示元数据的m阵列获得的位置用于计算元数据。元数据可使用与表示X,Y位置的m阵列相同的m阵列来编码,但是根据元数据的值来移位。因此,从分别表示X,Y位置和元数据的两个m阵列获得的位置是不同的。然而,两个位置之间的差(或距离)是相同的,并且是元数据的值。如果使用多个m阵列来编码诸如文档ID等全局元数据,则来自多个m阵列的每一个的元数据的值可被组合以获得文档ID。
从表示X,Y位置的m阵列获得的位置是EIC符号阵列中的坐标。
为了恢复墨水笔划,找到笔尖在EIC符号阵列中的位置。为此,使用“虚拟笔尖”的概念,它是真实笔尖在图像传感器平面上的图像。虚拟笔尖在图像传感器平面上的位置可通过校准来获得。虚拟笔尖在图像传感器平面上的位置是笔尖在图像坐标系中的位置。因此,使用单应矩阵H符号→图像 -1,可获得笔尖在X′,Y′坐标系中的位置。
给定笔尖在X′,Y′坐标系中的位置以及EIC符号阵列中CX’Y’的坐标,可通过将两者相加获得笔尖在EIC符号阵列中的位置。有了对墨水笔划捕捉的一系列图像,从每一成功解码的图像中,获得笔尖在EIC符号阵列中的位置。这些位置被滤波、内插和平滑以生成墨水笔划。
对于文档ID,可找到相应的数字文档。如何将EIC符号阵列分配给文档的每一页是已知的。因此,笔尖在文档页中的位置可通过从笔尖在EIC符号阵列中的位置中减去EIC符号阵列中的页的左上角的位置来获得笔尖在文档页中的位置。由此,墨水笔划被绑定到一文档页。用数字笔写在印刷文档上的墨水笔划现在被恢复到相应的电子文档中。
可在显示屏幕的表面内嵌入嵌入式交互代码。可使用任何常见的喷墨/激光打印机将EIC图案嵌入到印刷文档上。图13是从显示屏幕捕捉的图像的反转形式。示出该反转形式而非原始图像,以符合(美国)专利局禁止在附图中使用黑色阴影的规则。并且,为了符合该规则,(经由白色椭圆1300)修订了原始捕捉的图像中的曝光过度(即,白色)区域,该区域现在被示为图13中的黑色区域。图14表示从印刷的EIC文档捕捉的典型图像。从显示屏幕捕捉的原始图像与图14的看上去显著不同:在从显示屏幕捕捉的原始图像中有曝光过度的区域;从显示屏幕捕捉的原始图像的背景的灰度水平要小于EIC图案像素的灰度水平,并且对于图13所示的经反转的图像则相反。
可从捕捉的图像中提取特征,并且可使用线性分类器来作出关于图像类型(即,从中捕捉图像的表面类型)的判断。
表面类型标识
特征定义
很明显,图14中的图像的灰度水平分布比图13中的图像的灰度水平分布更均匀。定义一向量[vx vy]来表示这一特征。对[vx vy]的计算涉及两步。
第一步是生成图像的水平和垂直投影。计算图像I的水平和垂直投影向量P水平和P垂直为和
Figure S2006800299623D00241
Figure S2006800299623D00242
Figure S2006800299623D00243
其中I(s,y)是图像中像素(x,y)的灰度水平;w和h分别是图像的宽度和高度。
第二步,对[vx vy]确定投影峰值“宽度”。将[vx vy]定义为水平和垂直投影向量中的两种类型的图像的峰值“宽度”,即找到满足以下等式的[vx vy]:
Figure S2006800299623D00244
Figure S2006800299623D00245
其中 S = Σ i = 0 h - 1 Σ j = 0 w - 1 I ( i , j ) 是整个图像的灰度水平和;μ是常数值,在一个实现中,μ=0.75;x中心和y中心是水平和垂直投影向量的中心,被定义为:
Figure S2006800299623D00247
Figure S2006800299623D00248
线性分类器
给定具有已知类型的2×N个图像(N应当是相对较大的数字,诸如N>1000),其中N个图像从纸张捕捉,另外N个图像从显示表面捕捉。假定{V1,i,i=1,2,…N}是从纸张捕捉的图像的特征向量,{V2,i,i=1,2,…N}是从显示表面捕捉的图像的特征向量。诸如Fisher线性分类器等线性分类器可用于分离两种类型的向量,即可基于V1,i和V2,i来计算最优权重W和阈值δ。W和δ可用于实时地确定所捕捉的图像的类型。
对于具有未知类型的图像,对特征向量V,如果WTV>δ,则它将被标识为从纸张捕捉的图像,否则它将被标识为从显示表面捕捉的图像。
关于适当的线性分类器的更多信息,参见R.O.Duda和P.E.Hart的“PatternClassification and Scene Analysis(图案分类和场景分析)”,纽约:Wiley-Interscience,1973,以及b:R.A.Fisher的“The Use of Multiple Measurements in TaxonomicProblems(分类问题中对多个度量的使用)”,Annals of Eugenics,第7卷,第II部分,第179-199页,1936。
根据本发明的一个实施例,表面类型可用使用拉普拉斯定向滤波器来处理图像的替换方式来确定。
一个适当的拉普拉斯算子是:
  -1   -1   -1
  -1   8   -1
  -1   -1   -1
假定图像I由以上示出的该拉普拉斯算子来滤波,则经滤波的图像I1为:
I1(x,y)=0如果x=0或x=w-1或y=0或y=h-1,否则,
I1(x,y)=-I(x-1,y-1)-I(x-1,y)-I(x-1,y+1)-I(x,y-1)+8I(x,y)-I(x,y+1)-I(x+1,y-1)-I(x+1,y)-I(x+1,y+1)
对来自图像I1的两个数字N+和N-计数。N+是I1中正像素的个数,N-是I1中负像素的个数。
对于如图13的反转的图像(即,对于从显示表面捕捉的图像):N+<N-;而对于如图14的从印刷文档捕捉的图像:N+>N-。基于这一信息,可确定图像是从显示表面还是从印刷文档捕捉的。
从显示表面捕捉的图像的预处理
从显示表面捕捉的图像首先被反转(即,反转像素的灰度水平值)。假定图像I被反转为I′,则I′(x,y)=255-I(x,y)。
反转的图像然后以类似于用于从印刷纸张文档捕捉的图像的预处理算法的三步来进一步处理,该算法将在以下更详细描述。
照明归一化
图15示出了根据本发明的实施例的图像照明归一化模块1500的一个示例。图像照明归一化模块1500包括将图像分段成诸如像素等较小区域的块的图像分段模块1501,以及估算每一块的照明的块照明估算模块1503。图像照明归一化模块1500还具有区域照明分布确定模块1505。该模块执行每一区域的照明分布的双线性拟合,如将在以下更详细解释的。再者,图像照明归一化模块1500区域照明归一化模块1507,它归一化图像中的每一区域的照明。这些模块中的每一个的操作将参考图16A-25来更详细讨论。
现在转向图16A,在步骤1601中,图像分段模块1501从照相机/笔设备接收图像。图17示出了可从照相机/笔设备接收的原始图像1701的一个示例。如可从该图中见到的,图像1701具有相对较暗的区和相对较亮的区,从而使得难以区分图像中的各特征。在所示的实施例中,该图像是100×128像素(即,垂直方向上100个像素,水平方向上128个像素)。然而,应当理解,图像尺寸将由照相机/笔设备101采用的照相机来确定,并且本发明的各实施例可用于各种尺寸的图像。
接着,在步骤1603,图像分段模块1501将图像1701分段成区域块。在所示的示例中,图像照明归一化模块1500使用像素作为在其上执行各操作的区域。然而,应当理解,本发明的替换实施例可对区域使用其它单位。例如,对于较大的图像,本发明的某些实施例可使用四个相邻像素的组作为在其上执行各操作的区域,而本发明的还有一些实施例可使用六个、八个、九个、十六个、或任何其它数目的像素的组作为在其上执行各操作的区域。
更具体而言,图像分段模块1501从图像1701的顶部开始将图像分段成块,如图18所示。块1801可以在以下由索引m,n处的坐标值来方便地标识,如在该图中所示的。在所示的实施例中,图像分段模块1501将图像1701分段成16像素×16像素的块1801。然而,应当理解,本发明的替换实施例可按需从更小或更大的像素组来形成块。
由于所示示例中的图像1701具有100像素的高度,并且块1801是从16×16的像素组形成的,因此在图像1701的底部存在其中像素未被分段成块1801的小区1803。如可从以下提供的详细解释中清楚的,该差异会偏斜照明归一化过程的准确度。因此,如图19所示,图像分段模块1501从图像1701的底部开始形成块1901的第二段。块1901可在以下由索引m1,n1处的坐标值来方便地标识,如图19所示的。如同块1801一样,块1901是从16×16的像素组形成的。
接着,在步骤1605中,块照明估算模块1503估算每一块1801和1901的照明值。即,块照明估算模块1503基于构成该块的每一个别像素的照明值来估算每一块1801和1901的总体代表性照明值。图像1701是黑白图像,因此每一像素的照明值是灰度水平值。在所示的示例中,块照明估算模块1503通过在每一灰度水平处创建块中的诸像素的直方图来估算块1801或1901的照明值。
图20示出了可由本发明的各实施例用于估算块1801或1901的照明的一种直方图的一个示例。如可从该图中见到的,X轴对应于构成该块的像素的灰度水平。Y轴因此对应于具有该灰度水平的像素的个数。使用该直方图,块照明估算模块1503估算该块的代表性照明值。在所示的示例中,块照明估算模块1503标识90%的照明值为所估算的块的照明值。即,块照明估算模块1503标识灰度水平G90th,在该灰度水平下,块中的90%的像素都比G90th暗,并采用该值作为块的照明值。当然,本发明的其它实施例可采用替换的百分比准则来按需估算块的照明值。此外,本发明的某些实施例可采用替换技术来确定每一块的总体照明。
还应当理解,尽管所示的示例涉及黑白图像,但本发明的各实施例可用于处理彩色图像。对于这些实施例,块照明估算模块1503可基于图像中的每一像素的亮度水平来操作。
在块照明估算模块1503估算了每一块1801和1901的照明值之后,区域照明分布确定模块1505在步骤1607中对每一区域的照明分布执行双线性拟合。即,区域照明分布确定模块1505通过对围绕一区域的块的估算的照明值求平均来确定该区域的照明分布值。在所示的实施例中,区域照明分布确定模块1505对围绕该区域的四个块的估算的照明值求平均,但是本发明的其它实施例可对围绕该区域的其它块组的估算的照明值求平均。
如上所述,在图像1701底部存在未被分段成块1801中的任一个的区1803。因此,围绕的块的平均照明值将无法准确地与这些未分段的区域的照明值相关。这些区中的像素的照明分布值使用块1901而非块1801来确定。因此,用两步的过程来确定该照明分布值。主要在块1801内的像素(即y坐标值为0-87的像素)使用块1801的估算的照明值来确定,而主要在块1901内的像素(即,y坐标值为88-99的像素)使用块1901的估算的照明值来确定。
对于所示的实施例,对每一像素(x,y),其中y=0,1,...87,该像素的照明分布值D(x,y)被估算为:
D(x,y)=(1-ηy)·[(1-ηx)·IB(m,n)x·IB(m+1,n)]+ηy·[(1-ηx)·IB(m,n+1)x·IB(m+1,n+1)]其中IB(m,n)=G90th(m,n),s是块的尺寸(在所示的示例中,s=16),
m = min ( max [ int ( x - s / 2 s ) , 0 ] , 6 ) , n = min ( max [ int ( y - s / 2 s ) , 0 ] , 4 ) , x 1 = ms + s 2 ,
x 2 = ( m + 1 ) s + s 2 , y 1 = ns + s 2 , y 2 = ( n + 1 ) s + s 2 , η x = x - x 1 x 2 - x 1 , 以及 η y = y - y 1 y 2 - y 1 . 应当注意,int(x)是返回小于或等于x的最大整数的函数。例如,int(1.8)=1,int(-1.8)=-2。
用于使用该过程来确定像素的照明分布值的照明值信息在图21中图形地示出。如可从该图像中理解的,某些像素将落在可在四个相邻块1801之中相等分布的任何区2101之外。例如,在所示的示例中,x坐标值为0-7或120-127的像素以及y坐标值为0-7的像素将落在可在四个相邻块1801之中相等分布的任何区2101之外。对于边界区中的这些像素,以上等式仍适用于确定其照明分布值,除了将使用外插来代替内插之外。不同的区在图22中图形地示出。
类似地,对于每一像素(x,y),其中y=88,89,...99,该像素的照明分布值D(x,y)被估算为:
D ( x , y ) = ( 1 - η y ) · [ ( 1 - η x ) · I B ( m 1 , n 1 ) + η x · I B ( m 1 + 1 , n 1 ) ] + η y · [ ( 1 - η x ) · I B ( m 1 , n 1 + 1 ) + η x · I B ( m 1 + 1 , n 1 + 1 ) ]
其中 I B ( m 1 , n 1 ) = G 90 th ( m 1 , n 1 ) , s是块的尺寸(在一个实现中,s=16), m 1 = min ( max [ int x - s / 2 s , 0 ] , 6 ) , n1=0, x 1 = m 1 s + s 2 , x 2 = ( m 1 + 1 ) s + s 2 ,
Figure S2006800299623D002815
η x = x - x 1 x 2 - x 1 , 以及 η y = y - y 1 y 2 - y 1 . 高度是图像传感器的高度。在所示的示例中,高度=100。
再一次,某些像素将落在可在四个相邻块1901之中相等分布的任何区外部的图像边界上。对于边界区中的这些像素,以上等式仍适用于确定其照明分布值,除了将使用外插来代替内插之外。不同区在图23中图形地示出。整个图像1701的照明分布值2401则在图24中示出。
一旦区域照明分布确定模块1505确定了每一区域的照明分布值,区域照明模块1507在步骤1609中确定每一区域的归一化照明值。更具体地,区域照明归一化模块1507通过将该区域的原始照明值除以该区域的照明分布值来确定每一区域的归一化照明值。接着,在步骤1611中,区域照明归一化模块1507通过将每一区域的归一化照明值乘以一统一照明水平G0来获得每一区域的经调整的归一化照明值。在所示的示例中,统一照明水平G0的值是200,但是本发明的替换实施例可对统一照明水平G0采用不同的值。统一照明水平G0表示对理想情况(即,用理想图像传感器的均匀照明)空白区域中的所捕捉图像的假定的灰度水平。由此,在理想情况下,从空白区域捕捉的图像的所有像素的灰度水平应当等于该统一照明水平G0
最后,在步骤1613中,区域照明归一化模块1507通过向每一像素分配一新的照明值来为每一像素选择最终的归一化照明值,该新的照明值是经调整的归一化照明值和最大照明值中的较小者。由此,对于所示的示例,每一像素的最终的归一化照明值被确定为灰度水平G(x,y),其中:
G ( x , y ) = min ( G 0 · G ( x , y ) D ( x , y ) , 255 )
其中G0=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向图像中的每一区域应用平均滤波。对于黑白图像,这一滤波操作用围绕的八个像素的灰度水平和像素本身的灰度水平的平均来替换每一像素的灰度水平。即,对每一像素(x,y)
Figure S2006800299623D00311
其中G(x,y)是像素(x,y)的灰度水平。应当注意,G(x,y)是照明归一化的灰度水平。
接着,在步骤2703中,高对比度区确定模块2603使用每一像素的平均的照明水平来标识图像中的高对比度区。具体地,对每一像素,高对比度区确定模块2603标识围绕像素的17×17像素邻域中的最大和最小平均灰度水平。即,对每一像素(x,y),
Gmax(x,y)=max(G平均(p,q)|max(x-8,0)≤p≤min(x+8,127),max(y-8,0)≤q≤min(y+8,127))
Gmin(x,y)=min(G平均(p,q)|max(x-8,0)≤p≤min(x+8,127),max(y-8,0)≤q≤min(y+8,127))
应当理解,上述确定是基于所示的示例中所使用的图像的具体像素数。对用于处理不同大小的图像的本发明的实施例将使用不同像素坐标值的相似的确定。接着,高对比度区确定模块2603定义高对比度区为
高对比度区={(x,y)|[Gmax(x,y)-Gmm(x,y)]>D0}
其中D0是预定阈值。D0的值是根据经验确定的。在所示的示例中,D0=140,但是应当理解,本发明的其它实施例可采用不同的阈值,这取决于例如由照相机/笔设备提供的对比度质量。图28示出了使用上述技术在图像2501中标识的高对比度区域2801。
接着,在步骤2705中,内容照明阈值确定模块2605确定用于将表示文档内容的区域与图像的其它区域分离的阈值。为确定该阈值,内容照明阈值确定模块2605为高对比度区创建灰度水平直方图。这一直方图2901的一个示例在图29中示出。如可从本图中看到的,直方图2901的X轴对应于高对比度区中的像素的平均灰度水平。而Y轴则对应于该灰度水平下的像素数。从该直方图中,可标识用于将较暗的像素与灰色和白色像素分离的阈值T0。可采用用于选择将较暗的像素与灰色和白色像素相区分的阈值的任何适当的技术。一种用于获得阈值T0的适当技术在例如N.Otsu的“A Threshold Selection Method from Gray-Level Histogram(从灰度水平直方图选择阈值的方法)”,IEEE Transactions on Systems,Man,and Cybernetics,9(1),(1979),第62-66页中有描述。
一旦确定了阈值T0,内容标识模块2607在步骤2707中使用阈值T0来标识图像中表示内容的区域。首先,给定T0,图像中比T0暗的像素被标识为表示文档内容的图像并被分配文档内容掩码中的值1。由此,对于每一像素(x,y),如果
                        G平均(x,y)≤T0
则文档内容掩(x,y)=1,否则文档内容掩码(x,y)=0。
在创建了文档内容掩码之后,标识像素(xi,yi)的区Rt,其中t=1,2,...T,如下:
         Rt={(xi,yi)|文档内容掩码(xi,yi)=1,(xi,yi)是邻居}
如果两个像素在彼此的直接下方、上方或旁边,则这两个像素是邻居,如图30中所示。由此,掩码标识了表示内容的相邻区域的区Rt。在所示的示例中,如果区Rt包含少于20个像素,则从文档内容掩码中移除该区。即,对每一像素(xi,yi)∈Rt,文档内容掩码(xi,yi)=0。这消除了太小以至于无法实际表示文档内容的区。
接着,在步骤2709中,图案照明阈值确定模块2609确定用于将表示位置图案的区域与图像的其余区域(即,非内容区域)分离的第二阈值。最初,图案照明阈值确定模块2609将图像分段成8×8像素的块。对于黑白图像,图案照明阈值确定模块2609然后对每一8×8的像素块创建灰度水平值直方图,诸如图31中的直方图2001。如可从该图中见到的,X轴对应于块中的非文档内容像素,即对其文档内容掩码(x,y)=0的像素的照明归一化的灰度水平。而Y轴则对应于在该灰度水平下的非文档内容像素的数目。
从该直方图中,标识第二阈值T0以将位置图案区域与其余的背景区域相区分。第二阈值T0是基于笔/照相机设备中的照相机传感器的尺寸以及代码符号的大小根据经验来确定为近似等于代码符号中的黑点的比例。在所示的示例中,选择第二阈值T0使得11%的像素比T0暗。
一旦确定了第二阈值T0,图案标识模块2611在步骤2711中标识图像中表示位置图案的区域。更具体地,对于块中的每一像素(x,y),如果文档内容掩码(x,y)=0且G(x,y)≤T0,则图案标识模块2611分配图案掩码(x,y)=1,否则图案掩码(x,y)=0。
对于底部像素(即沿图像的底部边界的4×128像素区),直接上方的4×128像素区域可用于形成8×8的像素块。在这些底部块的每一块内,使用如上所述相同的方法来确定第二阈值。然而,仅底部区中的这些像素与阈值进行比较,因为从直接上方的区中“借来”的像素已经使用对其原始块建立的第二阈值分析过了。比阈值暗的那些底部像素被标识为表示位置图案。
在标识了具有低于其各自的第二阈值的灰度水平的像素之后,与表示文档内容的像素相邻的那些所标识的像素从位置图案掩码中移除。即,对每一像素(x,y),如果图案掩码(x,y)=1,并且(x,y)的8个邻居中的一个像素已被标识为表示文档内容(即,存在i,j,其中i=-1,0,1,j=-1,0,1,使得文档内容掩码(x+i,y+j)=1),则图案掩码(x,y)=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。
尽管以对结构特征和/或方法动作专用的语言描述了本主题,但是可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求书的示例形式来公开的。

Claims (19)

1.一种处理从印刷文档捕捉的至少一个嵌入式交互代码图像并处理从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像的系统,所述系统包括:
表面类型标识模块,所述表面类型标识模块接受所述从印刷文档捕捉的至少一个嵌入式交互代码图像和所述从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像作为输入,并对特定图像标识从中捕捉该特定图像的表面的类型,其中所述表面类型选自由以下各项构成的组:印刷文档、以及除印刷文档之外的显示表面,其中所述特定图像是所述从印刷文档捕捉的至少一个嵌入式交互代码图像和所述从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像中的任意一个;
显示表面预处理模块,所述显示表面预处理模块预处理所述从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像;
印刷文档预处理模块,所述印刷文档预处理模块预处理从印刷文档捕捉的至少一个嵌入式交互代码图像;以及
嵌入式交互代码处理模块,所述嵌入式交互代码处理模块输出如下各项中的至少一个的位置信息:所述从印刷文档捕捉的至少一个嵌入式交互代码图像和所述从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像。
2.如权利要求1所述的系统,其特征在于,所述表面类型标识模块包括:特征向量生成模块,所述特征向量生成模块生成指定对所述特定图像灰度水平分布有多均匀的特征向量。
3.如权利要求2所述的系统,其特征在于,所述表面类型标识模块包括基于特征的表面类型标识模块,所述表面类型标识模块基于所述特征向量来标识从中捕捉所述特定图像的表面的类型。
4.如权利要求1所述的系统,其特征在于,所述表面类型标识模块包括拉普拉斯滤波器模块,所述拉普拉斯滤波器模块使用拉普拉斯算子来对所述特定图像进行滤波。
5.如权利要求4所述的系统,其特征在于,所述表面类型标识模块包括基于拉普拉斯滤波器的表面类型标识模块,所述表面类型标识模块基于经滤波的特定图像标识从中捕捉所述特定图像的表面的类型。
6.如权利要求1所述的系统,其特征在于,所述位置信息包括所述从印刷文档捕捉的至少一个嵌入式交互代码图像和所述从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像中的至少一个的m阵列位置。
7.如权利要求1所述的系统,其特征在于,还包括:表面信息映射模块,所述表面信息映射模块将所述从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像的位置信息映射到所述从除印刷文档之外的显示表面捕捉的至少一个嵌入式交互代码图像的表面元数据和x-y位置信息。
8.如权利要求1所述的系统,其特征在于,还包括:嵌入式交互代码文档映射模块,所述嵌入式交互代码文档映射模块将所述从印刷文档捕捉的至少一个嵌入式交互代码图像的位置信息映射到所述从印刷文档捕捉的至少一个嵌入式交互代码图像的文档元数据和x-y位置信息。
9.一种用于标识表面类型的方法,包括:
生成特征向量(3604),所述特征向量指定了对一图像,灰度水平分布有多均匀,所述图像包括嵌入式交互代码信息,并且是从印刷文档(3503)和除印刷文档之外的显示表面(3502)中的至少一个捕捉的;以及
使用所述特征向量(3604)来标识从中捕捉所述图像的表面类型。
10.如权利要求9所述的方法,其特征在于,生成所述特征向量包括计算所述图像的水平投影向量和垂直投影向量。
11.如权利要求10所述的方法,其特征在于,所述水平投影向量和所述垂直投影向量被计算为:
Figure FSB00000687826600021
Figure FSB00000687826600022
其中I(x,y)是图像I中像素(x,y)的灰度水平,并且其中w和h分别是所述图像的宽度和高度。
12.如权利要求9所述的方法,其特征在于,还包括定义所述水平投影向量中的水平峰值宽度和所述垂直投影向量中的垂直峰值宽度。
13.如权利要求9所述的方法,其特征在于,使用所述特征向量来标识所述表面类型包括使用线性分类器在从印刷文档捕捉的图像的特征向量与从除印刷文档之外的显示表面捕捉的图像的特征向量之间进行区分。
14.如权利要求13所述的方法,其特征在于,所述线性分类器是Fisher线性分类器。
15.一种用于标识表面类型的方法,包括:
使用拉普拉斯算子,通过对一图像进行滤波(3702)来生成一经滤波的图像(3704),所述图像包括嵌入式交互代码信息,并且是从印刷文档(3503)和除印刷文档之外的显示表面(3502)中的至少一个捕捉的;以及
使用所述经滤波的图像(3704)来标识从中捕捉所述图像的表面类型。
16.如权利要求15所述的方法,其特征在于,I是所述图像,并且所述经滤波的图像I1是:I1(x,y)=0,如果x=0或x=w-1或y=0或y=h-1,否则,I1(x,y)=-I(x-1,y-1)-I(x-1,y)-I(x-1,y+1)-I(x,y-1)+8I(x,y)-I(x,y+1)-I(x+1,y-1)-I(x+1,y)-I(x+1,y+1)
其中,I1(x,y)表示在所述经滤波的图像I1中的(x,y)的灰度水平,并且w是图像I的宽度,而h是图像I的高度。
17.如权利要求15所述的方法,其特征在于,使用所述经滤波的图像的步骤包括对I1中的正像素的数目和I1中的负像素的数目进行计数。
18.如权利要求17所述的方法,其特征在于,使用所述经滤波的图像的步骤包括当I1中的正像素的数目大于I1中的负像素的数目时,将从中捕捉所述图像的表面类型标识为印刷文档。
19.如权利要求17所述的方法,其特征在于,使用所述经滤波的图像的步骤包括当I1中的正像素的数目少于I1中的负像素的数目时,将从中捕捉所述图像的表面类型标识为除印刷文档之外的显示表面。
CN2006800299623A 2005-08-17 2006-08-16 启用嵌入式交互代码的表面类型标识 Expired - Fee Related CN101243462B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/205,448 US7817816B2 (en) 2005-08-17 2005-08-17 Embedded interaction code enabled surface type identification
US11/205,448 2005-08-17
PCT/US2006/032226 WO2007022394A1 (en) 2005-08-17 2006-08-16 Embedded interaction code enabled surface type identification

Publications (2)

Publication Number Publication Date
CN101243462A CN101243462A (zh) 2008-08-13
CN101243462B true CN101243462B (zh) 2012-07-04

Family

ID=37757908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800299623A Expired - Fee Related CN101243462B (zh) 2005-08-17 2006-08-16 启用嵌入式交互代码的表面类型标识

Country Status (5)

Country Link
US (1) US7817816B2 (zh)
EP (1) EP1915724A4 (zh)
KR (1) KR101312830B1 (zh)
CN (1) CN101243462B (zh)
WO (1) WO2007022394A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133563B2 (en) * 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7583842B2 (en) * 2004-01-06 2009-09-01 Microsoft Corporation Enhanced approach of m-array decoding and error correction
US7263224B2 (en) * 2004-01-16 2007-08-28 Microsoft Corporation Strokes localization by m-array decoding and fast image matching
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
US7532366B1 (en) 2005-02-25 2009-05-12 Microsoft Corporation Embedded interaction code printing with Microsoft Office documents
US7826074B1 (en) 2005-02-25 2010-11-02 Microsoft Corporation Fast embedded interaction code printing with custom postscript commands
US20060215913A1 (en) * 2005-03-24 2006-09-28 Microsoft Corporation Maze pattern analysis with image matching
US7421439B2 (en) * 2005-04-22 2008-09-02 Microsoft Corporation Global metadata embedding and decoding
US20060242562A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Embedded method for embedded interaction code array
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
US7580576B2 (en) * 2005-06-02 2009-08-25 Microsoft Corporation Stroke localization and binding to electronic document
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
KR100841285B1 (ko) * 2006-09-18 2008-06-25 주식회사 펜래버레토리 표면상에 절대 위치 표시 패턴을 갖는 제조물 및 그 절대위치 표시 패턴의 형성 방법
TW201209655A (en) * 2010-08-17 2012-03-01 Acer Inc Touch control system and method
US9019239B2 (en) * 2010-11-29 2015-04-28 Northrop Grumman Systems Corporation Creative design systems and methods
US8619065B2 (en) * 2011-02-11 2013-12-31 Microsoft Corporation Universal stylus device
US8401343B2 (en) * 2011-03-27 2013-03-19 Edwin Braun System and method for defining an augmented reality character in computer generated virtual reality using coded stickers
US9921687B2 (en) 2012-10-02 2018-03-20 Autodesk, Inc. Always-available input through finger instrumentation
US9300893B2 (en) 2014-03-24 2016-03-29 Intel Corporation Image matching-based pointing techniques

Family Cites Families (295)

* 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
US5304786A (en) 1990-01-05 1994-04-19 Symbol Technologies, Inc. High density two-dimensional bar code symbol
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)곡선을 정합시키는 방법
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
JPH03269659A (ja) * 1990-03-19 1991-12-02 Nec Corp マイクロプロセッサ
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
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 二次元コ−ドシンボルマ−クの解読方法
US5243149A (en) 1992-04-10 1993-09-07 International Business Machines Corp. Method and apparatus for improving the paper interface to computing systems
US5280289A (en) * 1992-04-23 1994-01-18 Hughes Aircraft Company Automatic signal thresholding system
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 松下電器産業株式会社 画像生成装置
DE69334349D1 (de) 1992-09-01 2011-04-21 Apple Inc Verbesserte Vektorquatisierung
US5288986A (en) * 1992-09-17 1994-02-22 Motorola, Inc. Binary code matrix having data and parity bits
ATE195030T1 (de) 1992-09-28 2000-08-15 Olympus Optical Co Aufzeichnungsmedium für punktcode und informations-aufzeichnungssystem
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 株式会社東芝 再生装置及び再生方法
US6655597B1 (en) 2000-06-27 2003-12-02 Symbol Technologies, Inc. Portable instrument for electro-optically reading indicia and for projecting a bit-mapped color image
US6832724B2 (en) 1993-03-26 2004-12-21 Symbol Technologies, Inc. Electro-optical assembly for image projection, especially in portable instruments
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
US5414538A (en) * 1993-10-07 1995-05-09 Xerox Corporation Image-dependent exposure enhancement
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
EP0654746B1 (en) * 1993-11-24 2003-02-12 Canon Kabushiki Kaisha Form identification and processing system
DE69423296T2 (de) * 1993-11-30 2000-11-30 Hewlett Packard Co Anordnung zur Dateneingabe
CN1045679C (zh) 1993-12-01 1999-10-13 摩托罗拉公司 以字典为基础与可能的字符串结合的手写物识别方法
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
EP0693739A3 (en) 1994-07-13 1997-06-11 Yashima Denki Kk Method and apparatus capable of storing and reproducing handwriting
US5748808A (en) * 1994-07-13 1998-05-05 Yashima Electric Co., Ltd. Image reproducing method and apparatus capable of storing and reproducing handwriting
US5774602A (en) 1994-07-13 1998-06-30 Yashima Electric Co., Ltd. Writing device for storing handwriting
US5718457A (en) 1994-07-29 1998-02-17 Elpatronic Ag Method of marking objects with code symbols
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
CA2163316A1 (en) * 1994-11-21 1996-05-22 Roger L. Collins Interactive play with a computer
JPH08237407A (ja) 1994-12-09 1996-09-13 Xerox Corp 画像タイルの相対的なアラインメントを見当合わせすると共に透視歪みを修正するための方法
DE69523024T2 (de) 1994-12-16 2002-03-14 Hyundai Electronics America Digitalisierstift und Betriebsverfahren
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 シャープ株式会社 デジタル情報記録方法、解読方法および解読装置
JPH08255233A (ja) 1995-03-16 1996-10-01 Toshiba Corp バーコード符号化システム
JP3474022B2 (ja) 1995-04-20 2003-12-08 株式会社日立製作所 地図表示装置、地図表示方法、地図表示装置用演算処理部およびナビゲーションシステム
JPH0944592A (ja) * 1995-05-23 1997-02-14 Olympus Optical Co Ltd 情報再生システム
JPH08313215A (ja) * 1995-05-23 1996-11-29 Olympus Optical Co Ltd 2次元距離センサ
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
US7770013B2 (en) 1995-07-27 2010-08-03 Digimarc Corporation Digital authentication with digital and analog documents
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
US6259827B1 (en) 1996-03-21 2001-07-10 Cognex Corporation Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images
US6573887B1 (en) 1996-04-22 2003-06-03 O'donnell, Jr. Francis E. Combined writing instrument and digital documentor
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
US6014462A (en) * 1996-07-08 2000-01-11 Ricoh Company, Ltd. Image processing apparatus and method for distinguishing alphanumeric symbols on a white background and those on a mesh pattern and individually processing such image data
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
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
US6594406B1 (en) * 1996-12-20 2003-07-15 Xerox Corporation Multi-level selection methods and apparatus using context identification for embedded data graphical user interfaces
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
JPH10256921A (ja) 1997-03-13 1998-09-25 Olympus Optical Co Ltd ディジタルデータの変調及び復調方法並びにディジタルデータの変調及び復調装置
AUPO799197A0 (en) 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART01)
JPH10326331A (ja) * 1997-03-24 1998-12-08 Olympus Optical Co Ltd ドットコードを有する記録媒体及びコード読取装置
US5960085A (en) 1997-04-14 1999-09-28 De La Huerga; Carlos Security badge for automated access control and secure data gathering
US6219149B1 (en) * 1997-04-01 2001-04-17 Fuji Xerox Co., Ltd. Print processing apparatus
US6441920B1 (en) 1997-06-04 2002-08-27 Agfa Corporation System and method for output management
JP4363667B2 (ja) * 1997-06-06 2009-11-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像のノイズ圧縮方法
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
JP3746378B2 (ja) 1997-08-26 2006-02-15 シャープ株式会社 電子メモ処理装置、電子メモ処理方法、および電子メモ処理プログラムを記録したコンピュータ読取り可能な記録媒体
US20030146883A1 (en) 1997-08-28 2003-08-07 Visualabs Inc. 3-D imaging system
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
US6254253B1 (en) 1998-01-22 2001-07-03 Viewpoint Technology, Inc. Deflectable laser source having movable piezu elements for projecting images
US6729543B1 (en) 1998-03-06 2004-05-04 Audiovelocity, Inc. Page identification system and method
US6249614B1 (en) 1998-03-06 2001-06-19 Alaris, Inc. Video compression and decompression using dynamic quantization and/or encoding
US6000946A (en) 1998-03-09 1999-12-14 Hewlett-Packard Company Collaborative drawing device
US6570997B2 (en) 1998-03-20 2003-05-27 Canon Kabushiki Kaisha Image processing apparatus and method therefor, and storage medium
US6362440B1 (en) 1998-03-27 2002-03-26 International Business Machines Corporation Flexibly interfaceable portable computing device
US6192380B1 (en) * 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6330976B1 (en) 1998-04-01 2001-12-18 Xerox Corporation Marking medium area with encoded identifier for producing action through network
US6070102A (en) * 1998-04-29 2000-05-30 Medtronic, Inc. Audible sound confirmation of programming an implantable medical device
JPH11355547A (ja) 1998-05-22 1999-12-24 Internatl Business Mach Corp <Ibm> 幾何変換特定システム
US6584052B1 (en) 1998-06-02 2003-06-24 Science Applications International Corporation Method and apparatus for controlling the focus of a read/write head for an optical scanner
JP4033582B2 (ja) 1998-06-09 2008-01-16 株式会社リコー 座標入力/検出装置および電子黒板システム
US6577299B1 (en) 1998-08-18 2003-06-10 Digital Ink, Inc. Electronic portable pen apparatus and method
US6256398B1 (en) 1998-08-22 2001-07-03 Kenneth H. P. Chang Encoding and decoding a message within an image
US6970183B1 (en) 2000-06-14 2005-11-29 E-Watch, Inc. Multimedia surveillance and monitoring system including network configuration
JP3462986B2 (ja) 1998-08-31 2003-11-05 株式会社日立製作所 カメラ付きペン型入力装置
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
JP2000131640A (ja) 1998-10-23 2000-05-12 Sony Corp 画像表示装置
DE19851000C2 (de) 1998-11-05 2001-07-26 Dornier Gmbh Projektionsanordnung
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
US6801659B1 (en) 1999-01-04 2004-10-05 Zi Technology Corporation Ltd. Text input system for ideographic and nonideographic languages
US6278968B1 (en) 1999-01-29 2001-08-21 Sony Corporation Method and apparatus for adaptive speech recognition hypothesis construction and selection in a spoken language translation system
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
JP2000251012A (ja) 1999-03-01 2000-09-14 Hitachi Ltd 帳票処理方法およびシステム
JP3513420B2 (ja) 1999-03-19 2004-03-31 キヤノン株式会社 座標入力装置及びその制御方法、コンピュータ可読メモリ
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US6987573B1 (en) * 1999-05-25 2006-01-17 Silverbrook Research Pty Ltd Interface surface printer
US6737591B1 (en) 1999-05-25 2004-05-18 Silverbrook Research Pty Ltd Orientation sensing device
US7079712B1 (en) * 1999-05-25 2006-07-18 Silverbrook Research Pty Ltd Method and system for providing information in a document
US6830196B1 (en) 1999-05-25 2004-12-14 Silverbrook Research Pty Ltd Identity-coded surface region
SE516522C2 (sv) 1999-05-28 2002-01-22 Anoto Ab Positionsbestämning
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
US6294775B1 (en) 1999-06-08 2001-09-25 University Of Washington Miniature image acquistion system using a scanning resonant waveguide
WO2001003016A1 (en) 1999-06-30 2001-01-11 Silverbrook Research Pty Ltd Method and system for sensing device registration
US6847356B1 (en) * 1999-08-13 2005-01-25 Canon Kabushiki Kaisha Coordinate input device and its control method, and computer readable memory
JP3587506B2 (ja) * 1999-08-30 2004-11-10 富士重工業株式会社 ステレオカメラの調整装置
US7225979B2 (en) 1999-09-17 2007-06-05 Silverbrook Research Pty Ltd Methods and systems for object identification and interaction
US6539098B1 (en) 1999-09-24 2003-03-25 Mailcode Inc. Mail processing systems and methods
SE517445C2 (sv) 1999-10-01 2002-06-04 Anoto Ab Positionsbestämning på en yta försedd med ett positionskodningsmönster
US6874420B2 (en) * 1999-10-22 2005-04-05 Cc1, Inc. System and method for register mark recognition
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
US6935562B2 (en) 1999-12-06 2005-08-30 Xerox Corporation Operations on images having glyph carpets
US6880755B2 (en) * 1999-12-06 2005-04-19 Xerox Coporation Method and apparatus for display of spatially registered information using embedded data
JP2001177712A (ja) * 1999-12-15 2001-06-29 Fuji Xerox Co Ltd 画像処理装置および被画像形成媒体
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
US7295193B2 (en) 1999-12-23 2007-11-13 Anoto Ab Written command
AU2628301A (en) 2000-01-06 2001-07-16 Zen Optical Technology Llc Pen-based handwritten character recognition and storage system
US6697056B1 (en) * 2000-01-11 2004-02-24 Workonce Wireless Corporation Method and system for form recognition
US6661920B1 (en) 2000-01-19 2003-12-09 Palm Inc. Method and apparatus for multiple simultaneously active data entry mechanisms on a computer system
US6738053B1 (en) 2000-02-16 2004-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Predefined electronic pen applications in specially formatted paper
US6992655B2 (en) * 2000-02-18 2006-01-31 Anoto Ab Input unit arrangement
US6603464B1 (en) 2000-03-03 2003-08-05 Michael Irl Rabin Apparatus and method for record keeping and information distribution
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
SE0000949L (sv) * 2000-03-21 2001-09-22 Anoto Ab Positionsinformation
US6999622B2 (en) * 2000-03-31 2006-02-14 Brother Kogyo Kabushiki Kaisha Stroke data editing device
WO2001076120A2 (en) 2000-04-04 2001-10-11 Stick Networks, Inc. Personal communication device for scheduling presentation of digital content
US20060082557A1 (en) * 2000-04-05 2006-04-20 Anoto Ip Lic Hb Combined detection of position-coding pattern and bar codes
US20010038383A1 (en) 2000-04-05 2001-11-08 Petter Ericson Method and apparatus for information management
US20020050982A1 (en) 2000-04-05 2002-05-02 Petter Ericson Data form having a position-coding pattern detectable by an optical sensor
US6522928B2 (en) * 2000-04-27 2003-02-18 Advanced Bionics Corporation Physiologically based adjustment of stimulation parameters to an implantable electronic stimulator to reduce data transmission rate
US6479768B1 (en) 2000-05-17 2002-11-12 Hoton How Precision data acquisition using magnetomechanical transducer
US6751352B1 (en) 2000-05-25 2004-06-15 Hewlett-Packard Development Company, L.P. Method and apparatus for generating and decoding a visually significant barcode
JP2002010058A (ja) 2000-06-20 2002-01-11 Matsushita Electric Ind Co Ltd 電子透かし埋込方法、電子透かし取出方法、記録媒体、画像記録装置及び画像再生装置
US7092122B2 (en) 2000-07-18 2006-08-15 Fuji Photo Film Co., Ltd. Image processing device and method
US20030050803A1 (en) * 2000-07-20 2003-03-13 Marchosky J. Alexander Record system
US6585154B1 (en) 2000-08-03 2003-07-01 Yaakov Ostrover System, method and devices for documents with electronic copies attached thereto
US6650320B1 (en) 2000-08-16 2003-11-18 International Business Machines Corporation Digital pen using visible image and autocorrelation of substrate pattern
US6592039B1 (en) 2000-08-23 2003-07-15 International Business Machines Corporation Digital pen using interferometry for relative and absolute pen position
JP3497805B2 (ja) * 2000-08-29 2004-02-16 オリンパス株式会社 画像投影表示装置
US7102700B1 (en) 2000-09-02 2006-09-05 Magic Lantern Llc Laser projection system
US20020031622A1 (en) * 2000-09-08 2002-03-14 Ippel Scott C. Plastic substrate for information devices and method for making same
JP4419305B2 (ja) 2000-09-29 2010-02-24 ブラザー工業株式会社 座標読み取り装置
US6834337B1 (en) 2000-09-29 2004-12-21 International Business Machines Corporation System and method for enabling multiple signed independent data elements per register
CA2359260C (en) 2000-10-20 2004-07-20 Samsung Electronics Co., Ltd. Coding apparatus and method for orientation interpolator node
US6580424B1 (en) 2000-10-21 2003-06-17 Microsoft Corporation System and method for interactive room modeling from camera images
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
US20020163511A1 (en) 2000-11-29 2002-11-07 Sekendur Oral Faith Optical position determination on any surface
JP2002240387A (ja) 2000-12-12 2002-08-28 Ricoh Co Ltd 画像形成方法、画像形成装置及び画像情報管理システム
US20040128511A1 (en) 2000-12-20 2004-07-01 Qibin Sun Methods and systems for generating multimedia signature
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
US6968453B2 (en) 2001-01-17 2005-11-22 International Business Machines Corporation Secure integrated device with secure, dynamically-selectable capabilities
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
AUPR440901A0 (en) 2001-04-12 2001-05-17 Silverbrook Research Pty. Ltd. Error detection and correction
KR100408518B1 (ko) 2001-04-12 2003-12-06 삼성전자주식회사 컴퓨터용 전자펜 데이타 입력장치 및 좌표 측정 방법
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
DE10123406A1 (de) * 2001-05-15 2002-11-21 Sick Ag Verfahren zum Erfassen von zweidimensionalen Codes
US6517266B2 (en) * 2001-05-15 2003-02-11 Xerox Corporation Systems and methods for hand-held printing on a surface or medium
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
US6732927B2 (en) 2001-06-26 2004-05-11 Anoto Ab Method and device for data decoding
US7110604B2 (en) 2001-06-26 2006-09-19 Anoto Ab Processing of digital images
US20030001020A1 (en) * 2001-06-27 2003-01-02 Kardach James P. Paper identification information to associate a printed application with an electronic application
DE10132243C2 (de) 2001-07-04 2003-04-30 Fraunhofer Ges Forschung Kabelloses Interaktionssystem für Anwendungen der virtuellen Realität
JP3523618B2 (ja) 2001-08-02 2004-04-26 シャープ株式会社 座標入力システムおよび座標入力システムに用いる座標パターン形成用紙
US20030034961A1 (en) * 2001-08-17 2003-02-20 Chi-Lei Kao Input system and method for coordinate and pattern
US6933933B2 (en) 2001-10-02 2005-08-23 Harris Corporation Pen cartridge that transmits acceleration signal for recreating handwritten signatures and communications
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
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
US20030088781A1 (en) 2001-11-06 2003-05-08 Shamrao Andrew Divaker Systems and methods for ensuring security and convenience
US7283676B2 (en) 2001-11-20 2007-10-16 Anoto Ab Method and device for identifying objects in digital images
JP3747175B2 (ja) 2001-11-30 2006-02-22 キヤノン株式会社 印刷制御装置及び方法
SE520682C2 (sv) * 2001-12-06 2003-08-12 Anoto Ab Rekonstruering av ett virtuellt raster
US6744967B2 (en) 2001-12-20 2004-06-01 Scientific-Atlanta, Inc. Program position user interface for personal video recording time shift buffer
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
US6938222B2 (en) 2002-02-08 2005-08-30 Microsoft Corporation Ink gestures
JP4080919B2 (ja) 2002-03-22 2008-04-23 株式会社リコー プリンタドライバ及びプリンタ、並びに印刷方法
US7123742B2 (en) 2002-04-06 2006-10-17 Chang Kenneth H P Print user interface system and its applications
US20030214553A1 (en) 2002-05-14 2003-11-20 Microsoft Corporation Ink regions in an overlay control
US6831273B2 (en) 2002-07-31 2004-12-14 General Electric Company Ion mobility spectrometers with improved resolution
US6919892B1 (en) 2002-08-14 2005-07-19 Avaworks, Incorporated Photo realistic talking head creation system and method
US6993185B2 (en) * 2002-08-30 2006-01-31 Matsushita Electric Industrial Co., Ltd. Method of texture-based color document segmentation
GB2393149B (en) 2002-09-23 2004-08-18 Sheng Tien Lin Image transmitting ball-point pen
US7009594B2 (en) 2002-10-31 2006-03-07 Microsoft Corporation Universal computing device
US7262764B2 (en) 2002-10-31 2007-08-28 Microsoft Corporation Universal computing device for surface applications
US7142197B2 (en) 2002-10-31 2006-11-28 Microsoft Corporation Universal computing device
US7036938B2 (en) 2002-10-31 2006-05-02 Microsoft Corporation Pen projection display
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
US7430497B2 (en) 2002-10-31 2008-09-30 Microsoft Corporation Statistical model for global localization
US7133563B2 (en) 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7133031B2 (en) 2002-10-31 2006-11-07 Microsoft Corporation Optical system design for a universal computing device
US20040090429A1 (en) 2002-11-12 2004-05-13 Geaghan Bernard O. Touch sensor and method of making
US20050044164A1 (en) * 2002-12-23 2005-02-24 O'farrell Robert Mobile data and software update system and method
US7840492B2 (en) 2002-12-30 2010-11-23 Pitney Bowes Inc. Personal funds metering system and method
EP1584004A4 (en) 2003-01-17 2007-10-24 Francisco J Ayala SYSTEM AND METHOD FOR DEVELOPING ARTIFICIAL INTELLIGENCE
US6975334B1 (en) 2003-03-27 2005-12-13 Systems Paving Method and apparatus for simulating the appearance of paving stone on an existing driveway
US7119816B2 (en) 2003-03-31 2006-10-10 Microsoft Corp. System and method for whiteboard scanning to obtain a high resolution image
WO2004098171A1 (ja) 2003-04-25 2004-11-11 Oki Electric Industry Co., Ltd. 透かし情報検出方法
US6879731B2 (en) * 2003-04-29 2005-04-12 Microsoft Corporation System and process for generating high dynamic range video
US6960777B2 (en) * 2003-08-23 2005-11-01 Hewlett-Packard Development Company, L.P. Image-forming device sensing mechanism
US20050052700A1 (en) * 2003-09-10 2005-03-10 Andrew Mackenzie Printing digital documents
JP4443181B2 (ja) 2003-10-15 2010-03-31 株式会社日立製作所 コミュニケーションシステム及び方法
CN1303494C (zh) 2003-10-27 2007-03-07 江陵机电股份有限公司 热移除装置及其制造方法
JP2005141477A (ja) * 2003-11-06 2005-06-02 Noritsu Koki Co Ltd 画像鮮鋭化処理方法とこの方法を実施する画像処理装置
US7517041B2 (en) 2003-11-19 2009-04-14 Donald J Palmer Printing and detecting a fixer pattern on a medium
US7111230B2 (en) 2003-12-22 2006-09-19 Pitney Bowes Inc. System and method for annotating documents
US7583842B2 (en) 2004-01-06 2009-09-01 Microsoft Corporation Enhanced approach of m-array decoding and error correction
US7136054B2 (en) 2004-01-06 2006-11-14 Microsoft Corporation Camera-pen-tip mapping and calibration
US7529410B2 (en) 2004-01-07 2009-05-05 Microsoft Corporation Local localization using fast image match
US7263224B2 (en) 2004-01-16 2007-08-28 Microsoft Corporation Strokes localization by m-array decoding and fast image matching
US20060125805A1 (en) 2004-03-17 2006-06-15 James Marggraff Method and system for conducting a transaction using recognized text
US7048198B2 (en) 2004-04-22 2006-05-23 Microsoft Corporation Coded pattern for an optical device and a prepared surface
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
US7532366B1 (en) 2005-02-25 2009-05-12 Microsoft Corporation Embedded interaction code printing with Microsoft Office documents
US7477784B2 (en) * 2005-03-01 2009-01-13 Microsoft Corporation Spatial transforms from displayed codes
US20060215913A1 (en) 2005-03-24 2006-09-28 Microsoft Corporation Maze pattern analysis with image matching
US7546524B1 (en) 2005-03-30 2009-06-09 Amazon Technologies, Inc. Electronic input device, system, and method using human-comprehensible content to automatically correlate an annotation of a paper document with a digital version of the document
US7403658B2 (en) 2005-04-15 2008-07-22 Microsoft Corporation Direct homography computation by local linearization
US7599560B2 (en) 2005-04-22 2009-10-06 Microsoft Corporation Embedded interaction code recognition
US20060242562A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Embedded method for embedded interaction code array
US7421439B2 (en) 2005-04-22 2008-09-02 Microsoft Corporation Global metadata embedding and decoding
US7542976B2 (en) 2005-04-22 2009-06-02 Microsoft Corporation Local metadata embedding and decoding
US7720286B2 (en) 2005-05-25 2010-05-18 Advanced Digital Systems, Inc. System and method for associating handwritten information with one or more objects via discontinuous regions of a printed pattern
US7400777B2 (en) 2005-05-25 2008-07-15 Microsoft Corporation Preprocessing for information pattern analysis
US7580576B2 (en) 2005-06-02 2009-08-25 Microsoft Corporation Stroke localization and binding to electronic document
US7619607B2 (en) 2005-06-30 2009-11-17 Microsoft Corporation Embedding a pattern design onto a liquid crystal display
US7528848B2 (en) 2005-06-30 2009-05-05 Microsoft Corporation Embedded interaction code decoding for a liquid crystal display
US7622182B2 (en) 2005-08-17 2009-11-24 Microsoft Corporation Embedded interaction code enabled display

Also Published As

Publication number Publication date
US20070041654A1 (en) 2007-02-22
WO2007022394A1 (en) 2007-02-22
KR101312830B1 (ko) 2013-11-06
CN101243462A (zh) 2008-08-13
EP1915724A1 (en) 2008-04-30
KR20080044838A (ko) 2008-05-21
EP1915724A4 (en) 2011-07-27
US7817816B2 (en) 2010-10-19

Similar Documents

Publication Publication Date Title
CN101243462B (zh) 启用嵌入式交互代码的表面类型标识
CN101243461B (zh) 启用嵌入式交互代码的显示器
CN1744104B (zh) 用于确定所捕捉的数组的位置的方法和设备
CN100517368C (zh) 位置编码的文档图像分析和标签
CN100442214C (zh) 通过确定获取的图像的位置确定电子笔笔尖的位置的方法
CN100472554C (zh) 照相机-笔尖映射和校准方法和系统
CN100576234C (zh) 使用快速图像匹配的局部定位方法
KR101026580B1 (ko) 문서의 이미지를 인코딩하기 위한 시스템 및 데이터 스트림을 패턴으로서 인코딩하기 위한 방법
CN1641683B (zh) 通过m阵列解码和快速图像匹配的笔划定位
US7580576B2 (en) Stroke localization and binding to electronic document
US7421439B2 (en) Global metadata embedding and decoding
KR101114196B1 (ko) 고속 이미지 매칭에 의한 글로벌 국소화
US20120069195A1 (en) Pattern of Color Codes
US20090027241A1 (en) Fast error-correcting of embedded interaction codes
EP2591441B1 (en) Dot code pattern for absolute position and other information using an optical pen, process of printing the dot code, process of reading the dot code
JP2007060417A (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

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

Effective date of registration: 20150429

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

Granted publication date: 20120704

Termination date: 20150816

EXPY Termination of patent right or utility model