具体实施方式
本发明涉及将电子墨迹作为带补充信息的图像文件进行存储。接收图像文件和补充信息的个体在其系统或应用允许时可观看图像和/或从补充信息再现的电子墨迹。
为了帮助读者,下文的说明划分成以下各部分:墨迹特征、术语、通用计算机、带墨迹信息的图像文件的应用、带墨迹信息的图像文件的建立、和所存墨迹信息的检索。
墨迹特征
电子墨迹(或墨迹)是指分别包含一系列的点的笔划的序列。这些点可用各种公知技术表示,包括笛卡尔坐标(X、Y)、极坐标(r、θ)和其他本领域公知的技术。
如使用墨水笔的用户所公知,自然墨迹(用带墨胆的笔写在纸上的痕迹)比用线段连接的一系列坐标点传送的信息多。例如自然墨迹能反映笔压(根据墨厚)、用笔角度(根据线性或曲线的形状和分离点周围墨的形态)和笔尖的速度(根据笔直度、线宽及其在线条或曲线上的变化)。
为了提供自然墨迹视感,电子墨迹可额外存放墨迹笔划及其关联的特性,以较充分地提供墨迹。可将墨迹作为一系列笔划和一系列特性存储。另一些情况下,可按有各自特性的复合特性序列存放墨迹。墨迹的特性可包含例如色彩、宽度、输入笔与输入板之间的压力和角度、以及笔形态等。尽管这些特性可满足许多应用,电子墨迹还可扩充到包含附加应用产生的自定义特性和其他数据。可用额外信息直接存储全部笔划和值。然而,另一些墨迹形式反映可行时不用额外信息的考虑,以最小化所存墨迹的自然尺寸。
规定墨迹对象及其中笔划用的特性有不同的范围。例如有些特性可用于墨迹对象中的全部墨迹笔划(例如笔尖形状)。另一些特性可仅涉及特定的点(例如输入笔开始写笔划的点)。又一些特性可涉及特定笔划,而另一些涉及硬件报告的信息包(例如坐标点、压力、用笔角度、所报告坐标点间的时间间隔)。总之,特性有不同层次的范围。
为了有效存储各特性,有些特性显性规定,有些则隐性规定。简单的例子中,全部特性可为默认的特性,不在墨迹对象中规定。因此,墨迹对象仅有X和Y的坐标值。另一例中,墨迹对象具有影响整个墨迹对象的特性,但在该对象规定这些特性。第3例子中,有些笔划有第1组特性,另一些有第2组特性。可在墨迹对象的始端先规定特性,各笔划可按需要参照先前规定的特性。采用这种先规定特性以后再参考的方法促使特性存储更加有效。墨迹对象随着特性数量增多和参考特性的墨迹笔划数量增多而规模变大时,这点更明显。
术语
墨迹——带特性笔划的序列或组。笔划序列可包含有序的笔划。可按捕获时间或者页面上笔划的位置依次安排该序列。可为其他顺序。一组笔划可包含一些笔划序列、无序笔划或其组合。
流——含数据结构的笔划序列,该笔划可含或不含特性。
墨迹对象——存放有特性或无特性墨迹流的数据结构。
笔划——捕获点的序列或组。例如递图时,可用线条连接点序列。或者,可用点和下一点方向的矢量表示笔划。总之,笔划要包含有关墨迹的点和线段的任何表示,不考虑点和/或其连接体的基础表示。
点——规定空间位置的信息。例如,可相对于捕获空间(例如数字化器上的点)、虚拟墨迹空间(所捕获墨迹处在的空间中的坐标)和/或显示空间(显示器的点或像素)定义点。
通用计算机
图1示出可用于实现本发明各方面的常规通用数字计算环境的示意图。图1中,计算机100包含处理单元110、系统存储器120和将各系统部件(包括系统存储器)连接到处理单元110的系统总线130。该系统总线130可具有若干类型的总线结构,包括存储总线或存储控制器、外围总线和利用各种总线结构中的任一种的局域总线。系统存储器120包括只读存储(ROM)140和随机存取存储器(RAM)150。
含诸如在启动时帮助计算机100各单元间传递信息的基本例程的基本输入/输出系统(BIOS)存储在ROM140中。计算机100还包含对硬盘(未示出)进行读写的硬盘驱动器170、对可卸磁盘190进行读写的磁盘驱动器180和对可卸光盘192(诸如CD ROM或其他光媒体)进行读写的光盘驱动器191。这些驱动器170、180和191分别通过硬盘驱动器接口192、磁盘驱动器接口193和光盘驱动器接口194连接到系统总线110。这些驱动器及其关联的计算机可读媒体给个人计算机100提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。本领域的技术人员会理解,示例操作环境中还可用其他类型的能存储计算机可访问数据的计算机可读媒体,诸如盒式磁带、快速擦写存储卡、数字视频盘、贝努里盒式磁盘、随机存取存储器(RAM)、只读存储器(ROM)等。
可在硬盘驱动器170、磁盘驱动器190、光盘驱动器192、ROM140和RAM150存放一些程序模块,包括操作系统195、1个或多个应用程序196、其他程序模块197和程序数据198。用户可通过诸如键盘101和定点设备102等输入装置将命令和数据输入计算机100。其他输入装置(未示出)可包含话筒、操作杆、游戏板、卫星天线、扫描器等。这些和其他输入装置常通过与系统总线130耦合的串行端口接口106连接到处理单元110,但也可经诸如并行端口、游戏端口或通用串行总线(USB)等其他接口连接。这些装置又可经适当接口(未示出)直接与系统总线130相连。还通过诸如视频适配器108等接口将监视器107或其他类型的显示器接到系统总线130。除监视器外,个人计算机通常包含其他外围输出装置(未示出),诸如扬声器和打印机。有些实施例中,还提供笔数字化器165和附带输入笔166,以便用数字方式取得随手书写的输入。虽然示出笔数字化器165与串行接口端口106连接,实际上笔数字化器165如本领域所公知,可经串行端口或其他接口直接连接处理单元110。此外,虽然示出数字化器165与监视器107分离,但该数字化器165的可用输入区可与监视器107的显示区共同扩展。又可将数字化器165集成到监视器107中,或者作为监视器107的叠加或附加分立装置。
计算机100可用对诸如远端计算机109的1个或多个远端计算机的逻辑连接工作在联网环境中操作。远端计算机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等各种已知协议,本系统可按客户机-服务器配置工作,使用户可从基于web的服务器检索网页。能用任一常规web浏览器显示并处理网页数据。
带墨迹信息的图像文本的应用。
图2根据本发明各方面示出内存附加信息的图像文件的建立过程及该文件的后续应用。作为墨迹应用201示出可建立墨迹的应用或环境。接着,在图像产生进程202建立代表可视墨迹信息的图像。进程202可以是应用201的一部分,或可从应用201独立调用。进程202的输出是图像文件203,具有存放在关联图像文本203的墨迹信息205。墨迹信息205可存放在图像文本203的注解段204中(如图2所示),或者与图像文本203关联。
可将图像203和墨迹信息205的组合发给各接收应用或环境。有些应用或环境能读取并使用所存墨迹信息,另一些应用则不能。
将能使用至少一些墨迹信息204的应用或环境示为环境206。应用或环境206中使用墨迹信息207。用虚线框208表示可用或不可用附加信息。例如,可丢弃图像信息,以减小接收墨迹信息关联的信息规模。或者,可保持信息208使终端用户可有附加功能。例如可保持信息208,用作接收链路的简缩图像或预视图像。
对非墨迹启动的应用或环境209采用图像210。墨迹信息205可在应用/环境209中保持贴附于图像210或被去除。应用/环境209不能理解图像210关联的墨迹信息205,可将其忽略删除。
能用或不能用链路信息的应用,其例子包括字处理、电子函件、电子表格、数据库、记录制作、项目管理、日程安排和其他有关应用。需要本身启动使用墨迹作为墨迹信息使用功能的应用不全部驻留于该环境(例如使功能可驻留于另一应用的操作系统或应用链路)。
图3示出一些图像文件格式的例子。可用其他图像文件格式。所提供示例图像文件格式因具有注解段而有用。该段使单一文件能发给其他应用或环境。然而,通过使墨迹信息与图像文件格式关联并发送图像文件和关联的墨迹,可用无注解段的其他图像文件格式。
图3包含GIF、JPEG、PNG和PDF/附录图像文件。4种图像文本都有注解段或允许有任意数据。为了本应用的目的,注解段的基准中包含任意数据作为外层。除JPEG外,均透明。GIF有1位透明而PNG可将整个信道透明使用。JPEG、PNG和PDF/附录文件具有高图像真实性,而GIF仅包含8位色彩深度。最后,GIF和PNG可有损或无损压缩。JPEG为有损压缩,PDF/附录文件则为无损压缩。
可用各种其他扩充性机构,以包含墨迹信息。例如,GIF具有应用扩充块。其他文件格式可包含存放文件信息的附加处。GIF可作为一个例子,但不限于此。例如,可在图像终接块末端后放置墨迹信息。或者,例如,图像板本身可用作墨迹信息存放媒体。又如,多个输入可存入同色图像板,并且用图像位存放墨迹。
带墨迹信息的图像文件的建立。
下面说明用关联墨迹信息建立图像文件的处理过程。可理解可并行或串行地运行各进程。而且,可按需要改变顺序。有些步骤可取消或与其他步骤组合,以减少处理时间。
图4根据本发明实施例示出用关联墨迹信息建立图像文件的处理过程。步骤401中,系统接收保存墨迹的请求。该保存请求可以是专用保存命令,直接指明使墨迹可移植到各种应用或环境。或者,该保存请求可以是通用保存请求,使全部保存操作存放与图像文件关联的墨迹信息。
步骤401中的保存墨迹请求还可包含墨迹标识符。该标识符涉及墨迹对象、墨迹笔划、多墨迹对象、多笔划等。保存请求401还可包含墨迹的文本规模。而且,如果墨迹在系统存储器中,该请求可包含缓存器内容。
步骤402中,还建立位图,以表示墨迹的可视形态。步骤403中,将该位图变换成所需图像格式,例如以上所述的格式。
注解段每段有设定的规模,可加以限制,也可具有不受限制的规模。规模不限的例子可在注解段放置墨迹对象(或其他墨迹信息)。规模限制或设定规模的例子可按照设定规模块划分注解段。因此,小于限制块规模的信息组仅可用1个块。块的实际规模可为信息规模或为整个块的规模。要用多个块的例子中,除末端块外,全部的块可为整个设定规模块的规模,末端块小于设定规模块或小于限制规模的总规模。步骤405中,判定需要存放墨迹对象(或其他墨迹信息)的块数。接着,步骤406中分析墨迹,将其插入注解块。
最后,步骤404中,将来自步骤403的墨迹图像与来自步骤406的注解块组合,形成具有墨迹信息的图像文件。
上述步骤的替换包括组合步骤402和403,跳过建立位图图像,仅用规模可变的1个注解块装入所需墨迹信息,而不用步骤405和406。
图5根据本发明实施例示出判定电子墨迹信息存放块数量的处理过程(501)。一实施例中,可在GIF文件的注解部分存放墨迹信息。分别按256字节的块安排各GIF注解段。以下的说明是如何在GIF的注解段存放墨迹信息的一个例子。可用种种方法,均在本例范围内。
步骤502中,通过用每块的规模除墨迹信息规模,近似求出存放墨迹信息所需的块数。这里,例如GIF的每一注解块规模为256字节。可用一个首部字节(例如“0×21”)指示后续为注解块。用1字节规定注解块的规模。应理解:其他情况下,其他内容可规定后续为注解块。剩下255字节可用。其他实施例中,可用2个或更多的字节规定注解块的规模,使墨迹信息可用空间增加。
接着,在步骤503~505完成求出存放墨迹信息所需的准确块数。步骤503中,校验步骤502所得块数(全部的块)乘以255是否等于原始墨迹信息的规模。是,则在步骤504保持来自步骤502的块数。否则,在步骤505使存放墨迹信息所需的块数递增。其他例子中,通过对来自步骤502的全部结果进行取舍,或者通过步骤502的所需块数加1块并舍去快的剩余小数,可免去该校验。
图6根据本发明实施例示出分析墨迹信息将其插入注解块的处理过程601。将墨迹信息602划分成分别为255字节的块。然后,系统运行墨迹信息602,将该信息写入各注解块的字节1至字节255(共255字节)。例如,第1块603为包含墨迹数据A,最末块604表示为包含墨迹数据N。所分析的墨迹信息可以是原始墨迹的部分或全部。
图5和图6的另一例中,可将墨迹信息除以254,从而在各注解块规定其规模。因此,所得结构为:注解块标识符(字节0)、注解块规模(字节1)和墨迹信息(字节2~字节255)。
图7根据本发明实施例示出存储墨迹信息的注解块的各种例子。步骤404的最后的数据存储将标为701的图像信息(数据)与注解块702~713组合。最后,数据结构添加终接块714。该终接块在各种情况下可不用,例如在有关联信息的图像规模已知时,本例中,这时系统可知到达图像文件中墨迹信息末端的时间。非墨迹启动应用要快速跳过注解块中的墨迹信息时,这点有利。
图7示出各种注解块的例子。第1注解块用字节702~704表示,其中字节0是注解块标识符702,字节1是注解块规模703,字节2~字节256是墨迹数据A 704。另一实施例中,可去除墨迹块规模,将存储可用字节数从255增加到256。
字节705~707表示最末注解块。字节0是注解块标识符705,字节1是注解块规模706,字节2~256是墨迹数据N707。各注解块规模固定或最末注解块中全部空间填满墨迹信息时,可用最末注解块705~707。如果墨迹信息未完全填满最末注解块,可用字节708~713的另一表示。
字节0表示注解块标识符708和709。字节1表示注解块709和712的规模。字节2~字节256表示数据N-1 710,字节2~字节X表示剩余的墨迹数据N,其中需要少于全部可用字节(2~256)用于存放最末墨迹块。
最后,添加终接块714,指示注解部分结束并且/或者带墨迹信息的图像结束。
此外,在注解块的顺序安排得1个接1个时,可去除注解块标识符标记。对总共260字节的墨迹信息提供仅用1个注解块标识符的下列例子。260字节大于255字节的注解块规模,因而可用2个注解块。第1注解块可安排如下:
字节数: |
内容 |
说明 |
字节0 |
0×21 |
注解块标识符 |
字节1 |
0×FF |
墨迹数据规模(255字节) |
字节2-256 |
墨迹数据内容 |
内容(字节1-255) |
字节257 |
0×05 |
墨迹数据规模(5字节) |
字节258-262 |
墨迹数据内容 |
内容(字节256-260) |
字节263 |
0×00 |
终接块规模 |
如上所述,可用其他修改,包括去除或增加注解块的规模标志符等。
图8A~图8E根据本发明实施例示出图像信息和注解块所关联数据结构的各种例子。简而言之,可用图像信息和注解段的各种组合。
图8A单独示出图像信息802和注解部分803,或者这些信息上下邻接虚线框所示附加信息801和804。图8B示出由注解段806分开的图像信息部分805和807的例子。图8C示出由图像信息段809分开的注解段808和810。图8D示出图像信息部分811和813与注解段812和814的交替出现。图8E示出图8D的相反情况,注解段815和817与图像信息部分816和818交替。
所存墨迹信息的检索
收到带墨迹信息的图像文件时,墨迹启动的应用或环境检测出图像文件,判断其中是否包含墨迹信息。由其中1个注解段的首部值识别墨迹信息,提醒应用/环境该墨迹信息存放在图像文件中。
一旦发现墨迹信息,墨迹启动的应用/环境就提取墨迹信息,将其重新集合成墨迹对象、OLE对象或强化图元文件。
尽管用所附权利要求书规定本发明,这些权利要求为示例,说明本发明要包含任何组合或子组合的这里所述单元和步骤。因此,存在许多规定本发明的任何数量的替换组合,其中以各种组合或子组合编入说明书(包括说明书、权利要求和附图)的1个或多个单元。相关技术人员会明白,这里所述1个或多个单元或者步骤可单独或按其组合用作本发明的修改或变换或者作为本发明的一部分。这里所含本发明的书写的说明书要覆盖这些修改和变换。例如,各实施例中,已示出某一数据顺序。然而,本发明包括该数据的任何重新排序。又,采用诸如规模等某些特性单位(例如字节和位)的情况下,也预期用任何其他单元。