用于关联注解和图像的终端的制作方法

文档序号:7965533阅读:240来源:国知局
专利名称:用于关联注解和图像的终端的制作方法
技术领域
本发明通常涉及终端,更加特别是涉及具有成像组件的终端。
背景技术
例如终端的电子设备中集成的成像组件的使用已经极大地扩展这类电子设备捕捉图像连同获取其他形式的收集数据(也被称作注解)的能力。例如,具有成像组件和全球定位系统(GPQ接收机的终端可以捕捉图像连同获得拍照所在位置的GPS坐标。在第二个例子中,具有成像组件和条形码读取设备的终端可以捕捉图像连同从图像中显示的条形码获得数据。在第三个例子中,具有成像组件和电池的终端可以捕捉图像连同从电池获取图像的日期和时间。

发明内容
在一个实施例中,提供了用于关联注解和图像的终端。该终端包括处理器、用于响应于终端捕捉图像而从源获取注解的第一程序指令、用于创建由标准定义的图像头部的第二程序指令、用于在数据结构中存储图像头部、图像和注解的第三程序指令。由处理器来执行第一、第二和第三程序指令。


为使本发明的上述引用特征的方式可以被详细理解,以上简要概括的本发明更具体的描述可以通过参考实施例而得到,其中一些实施例将在附图中说明。然而,需要注意的是,附图仅仅说明本发明的典型实施例,并且因此不能被认为是对其范围的限制,因为本发明可以允许其他等效的实施例。另外,附图也不必是按比例的,重点通常放在说明本发明特定实施例的原理上。因此,为了进一步理解本发明的概念,可以参考以下详细描述,并结合附图进行阅读,其中图1说明了根据本发明的示例性实施例和注解一起再现的图像。图2是根据本发明一个示例性实施例用于关联注解和图像的终端的框图。图3是如图2所示携带电路子集的成像模块的分解透视图。图4是图2的成像模块的装配视图。图5是结合如图2和3示出的成像模块的终端的透视图。图6是根据本发明一个示例性实施例的数据结构的框图。
4
图7是根据本发明的示例性实施例的数据结构的注解头部的框图。图8说明了根据本发明的示例性实施例的与注解一起再现的图像。图9是根据本发明的示例性实施例的关联注解和图像2500的方法的流程图。图IOa-IOb是根据本发明的示例性实施例说明分别加密图像和密钥的流程图。图IOc-IOd是根据本发明的示例性实施例说明分别解密密钥和图像的流程图。图11是根据本发明的示例性实施例用于再现数据结构内容的计算机系统的框图。图12是根据本发明的示例性实施例用于在显示器上再现包括注解和图像的数据结构的方法的流程图。
具体实施例方式图像和提供有关所述图像的信息的一个或多个注解可以被终端捕捉,并在显示器上一起再现以便于做出特定推理的过程。例如,图1示出了快递员使用终端拍摄的图像10, 连同终端获得的注解20A、20B、20C和20D。图像10是快递员在不在家的收信人家的门阶上留下的包裹。注解20A是拍摄图像10的时间和日期,注解20B是拍摄图像10的位置的全球定位系统(GPQ坐标,注解20C是从图像10中包裹上出现的条形码解码出来的已解码出的消息数据,以及注解20D是快递员自己在包裹周围标记的圆圈。图像10和注解20A、20B、 20C和20D可以用于合作以推断例如快递员在递送绝限之后递送包裹或者将包裹递送到不正确的地址。在开发此处提供的装置和方法过程中,确定当图像和注解没有在显示器上一起再现时,做出这种推断的能力受到妨碍。例如,如果图像和注解存储在分离的文件中,每个文件可以需要被单独地观看,并且进一步,每个文件需要被传送到图像和注解在其上被观看的每个设备。结果,一些文件在传送过程中可能丢失或被忘记。另外,可以需要映射来提供注解和图像之间的相互性以便于做出推断的过程。另外,在开发此处提供的装置和方法过程中,确定当图像和注解在显示器上一起被再现,但是部分注解掩盖了图像的关键部分时,做出这种推断的能力会受到妨碍。例如, 在图1中,注解20A掩盖了图像10显示家庭地址的部分,在没有注解20A的情况下,该地址将全部出现在图像10的再现中。观看具有完整地址的图像10的能力可利于作出包裹是否被传送到正确地址的推断。本发明的实施例解决了上述提出的问题。在本发明的一个示例性实施例中,提供了一种计算机程序产品,用于在显示器上再现包括注解和图像的数据结构。计算机程序产品可以包括计算机可读存储介质、用于在数据结构内定位注解的第一程序指令、用于在数据结构内定位图像的第二程序指令、以及用于在显示器上相对于图像的再现位置处再现注解的第三程序指令。此处还在本发明的另一个示例性实施例中提供了一种终端,用于关联注解和图像。该终端可包括处理器、一个或多个计算机可读存储介质、成像组件、用于响应于终端捕获图像而从源获取注解的第一程序指令、用于创建由标准定义的图像头部的第二程序指令、以及用于在计算机可读存储介质上的数据结构中存储图像头部、图像和注解的第三程序指令。第一、第二和第三程序指令可以存储在一个或多个计算机可读存储介质上以供处理器执行。
图2是根据本发明一个示例性实施例用于关联注解20A、20B、20C和20D与图像 10的终端1000的框图。终端1000可包括图像传感器1032,其包括多像素图像传感器阵列 1033,该阵列具有排列成行的像素和排列成列的像素,关联的列电路1034和行电路1035。 与图像传感器1032关联的可以是放大器电路1036 (放大器)、将从图像传感器阵列1033读出的模拟信号形式的图像信息转换为数字信号形式的图像信息的模数转换器1037。图像传感器1032还可以具有关联的定时和控制电路1038,其用于控制例如图像传感器1032的曝光时间和应用于放大器1036的增益。标注的电路部件1032、1036、1037和1038可以封装到普通图像传感器集成电路1040中,图像传感器集成电路1040和透镜组件200可以包括在成像组件900内。图像传感器集成电路1040可以结合少于上述数量的部件。在一个例子中,图像传感器集成电路1040可以由例如从Micron Technology公司获得的MT9V022 (752 X 480像素阵列)或MT9V023(752X480像素阵列)图像传感器集成电路提供。在一个例子中,图像传感器集成电路1040可以结合Bayer模式的滤波器,以便于在图像传感器阵列处,红色像素位置处定义的是红色像素、绿色像素位置处定义的是绿色像素、以及蓝色像素位置处定义的是蓝色像素。利用结合Bayer模式的这种图像传感器阵列提供的终端1000捕捉的图像数据的帧可以包括红色像素位置处的红色像素值、绿色像素位置处的绿色像素值、以及蓝色像素位置处的蓝色像素值。在结合Bayer模式图像传感器阵列的实施例中,在帧经受进一步处理之前CPU 1060可以利用绿色像素值在绿色像素位置的中间的帧像素位置处插入像素值,以显现图像数据的单色帧。可替换的,在帧经受进一步处理之前CPU 1060可以利用红色像素值在红色像素位置的中间插入像素值,以显现图像数据的单色帧。可替换的,在帧经受进一步处理之前CPU1060可以利用蓝色像素值在蓝色像素位置的中间插入像素值。在终端1000的操作过程中,图像信号可以从图像传感器1032中读出、转换、并存储到至少一个计算机可读介质1085中。计算机可读介质1085可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如,但不限于,电子、磁、光、电磁、红外或半导体系统、装置或设备、或前述的任何合适的组合。计算机可读存储介质更多特定的例子(非详尽的列表)包括以下具有一个或多个电线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、 光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或前述的任何合适组合。 在本文档的上下文中,计算机可读存储介质可以是任何有形的介质,其包括或存储程序,供指令执行系统、装置或设备使用,或与指令执行系统、装置或设备结合。计算机可读信号介质可包括例如在基带或作为载波的一部分中的、在其中实现计算机可读程序代码的传播数据信号。这样的传播信号可以采用多种形式中的任何一种,包括但不限于电磁、光或它们的任何合适组合。计算机可读信号介质可以是任何不是计算机可读存储介质并且可以通信、传播或传输供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合的计算机可读介质。终端1000可以包括CPU 1060提供的处理器,该处理器适合于读出存储在计算机可读介质1085内的图像数据并且使这样的图像数据经受各种图像处理算法。在本发明一个示例性实施例中,终端1000可以包括直接存储器访问单元(DMA) 1070,用于路由从图像传感器1032读出的图像信息,该信息已在计算机可读介质1085中经受转换。在本发明另一个示例性实施例中,终端1000可以利用为总线仲裁机制提供的系统总线(例如PCI总线), 从而消除了对中央DMA控制器的需求。熟练的技术人员将理解,为图像传感器1032和计算机可读介质1085之间的有效数据传输提供的系统总线结构和/或直接存储器访问部件的其他实施例在本发明的范围和精神之内。注解程序函数1900和配置程序函数2000可以实现在计算机可读介质1085上。 注解程序函数1900可以是用于关联例如注解20A、20B、20C和20D的一个或多个注解和例如图像10的图像的计算机程序代码。配置程序函数2000可以是用于配置图像和注解优选的计算机程序代码,例如用于压缩图像和/或注解的算法、用于加密图像和/或注解、在其上相对于图像再现注解的位置、以及从中获得注解的源,例如从可解码标记120、从计算机可读介质1085、从电池1116、从GPS设备1118或从显示器1222的算法。注解程序函数 1900和配置程序函数2000可以使用任何合适的介质发送,包括但不限于无线、有线、光缆、 RF等、或者上述的任何合适的组合。注解程序函数1900和配置程序函数2000可以用一个或多个编程语言的任意组合来编写,包括面向对象的编程语言,例如Java、Smalltalk, C++ 等、以及传统程序编程语言,例如“C”编程语言、低级编程语言,例如汇编语言、或其它高级或低级编程语言。参考终端1000的其他方面,透镜组件200可以适合于将位于衬底T上视场1240 内的文档110的图像聚焦到图像传感器阵列1033上。终端1000的视场1240的目标空间中的大小可以以多种可替换方式变化。视场1240的目标空间中的大小可以通过例如改变终端到目标距离,改变成像透镜设置、改变一些要读出的图像传感器阵列1033的像素来变化。成像光线可以关于成像轴25而被发送。透镜组件200可适于能够进行多焦距和多平面的光聚焦(最好的聚焦距离)。终端1000可包括用于目标T的照明,以及照明模式1260的投影的照明子系统 800。终端1000还可以没有照明子系统800。照明模式1260,在所示的实施例中可以被投影为接近但是大于视场1240定义的区域,但是还可以被投影在小于视场1240定义的区域的区域中。在本发明的一个示例性实施例中,照明子系统800还可以包括照明透镜组件300。 增加或代替照明透镜组件300,照明子系统800可以包括可替换的光成形光学部件,例如一个或多个漫射器、反射镜和棱镜。在使用中,终端1000可以由操作者相对于承载可解码标记120的目标T(例如文档、包裹、其他类型的衬底)以便照明模式1260被投影在可解码标记120之上的方式来定向。可解码标记120可以由例如ID或2D条形码符号或光学字符识别(OCR)字符提供。参考终端1000的其他方面,透镜组件200可以使用电源输入单元1202 被控制,该电源输入单元1202为改变透镜组件200的最优聚焦平面提供能量。在本发明一个示例性实施例中,电源输入单元1202可以作为可控电压源,并且,在另一个实施例中,作为可控电流源来操作。使用光源控制电路1204,照明子系统光源组件900可被控制。电源输入单元1202可以应用信号以改变透镜组件200的光学特性,例如,改变透镜组件200的 (最佳聚焦平面)焦距和/或最佳聚焦距离。光源控制电路1204可以向照明子系统光源组件900发送信号,例如用于改变照明子系统光源组件900输出的照明级。终端1000的某些元件,例如图像传感器集成电路1040(以及相应的阵列1033)、透镜组件200和照明子系统 800,可以被封装到成像模块1100中,该模块可以结合到手持外壳1014中。
终端1000还可以包括一些外围设备,所述外围设备包括可用于激活触发信号以激活帧读取和/或特定解码过程的触发器1220。终端1000可被适配以便触发器1220的激活可以激活触发信号并且发起解码尝试。为了尝试解码条形码符号,例如一维条形码符号, CPU 1060可以处理对应于一行像素位置的帧的图像数据(例如像素位置的行、列或对角线集合)以确定暗单元和亮单元的空间模式,并且通过表格查找,将确定的每个亮单元和暗单元模式转换为字符或字符串。在可解码标记表示是2D条形码符号的情况下,解码尝试可以包括步骤使用特征检测算法定位查找模式,根据与查找模式的预定关系定位交叉查找模式的矩阵行,确定沿着矩阵行的暗小区和亮小区的模式,并且通过表格查找将每个光模式转化为字符或字符串。终端1000可以包括用于耦合多种不同外围设备至系统地址/数据总线(系统总线)1500的多种接口电路以与同样耦合至系统总线1500的CPU 1060通信。终端1000可以包括用于将图像传感器定时和控制电路1038耦合到系统总线1500的接口电路10 、用于将电源输入单元1202耦合到系统总线1500的接口电路1102、用于将照明光源控制电路 1204耦合到系统总线1500的接口电路1106、以及用于将触发器1220耦合到系统总线1500 的接口电路1120。终端1000还包括通过接口 1122耦合到系统总线1500并且与CPU 1060 通信的显示器1222,以及通过连接到系统总线1500的接口 IlM与CPU 1060通信的指针机制12M。终端1000还可以包括耦合到系统总线1500的键盘12沈。键盘12 可以通过耦合到系统总线1500的接口 11 与CPU 1060通信。GPS设备1118可以通过连接到系统总线1500的接口 1218与CPU 1060通信。终端1000还包括通过接口 1108耦合到系统总线 1500的范围检测器单元1208。终端1000还可以包括电池1116,用于例如存储当前时间和日期。终端1000还可以包括接口单元1128,用于将已编码信息读取器单元12 耦合到系统总线1500。已编码信息读取器单元12 可以包括条形码读取器单元、RFID读取器单元、卡读取器单元的一个或多个。已编码信息读取器单元12 的条形码读取器单元可以由例如具有来自Skaneateles Falls, NY的Hand Held Products (手持产品)公司的可用类型的解码电路的IT4XXX/5XXX成像模块提供。具有解码电路的IT4XXX/5XXX成像模块提供对多个不同类型条形码符号的解码,以及对其他可解码符号的解码,例如PDF 417、Micro PDF 417、MaxiCode (最大码)、Data Matrix (数据矩阵)、QR Code (QR 码)、Aztec、Aztec Mesa、Code 49(码 49)、UCC Composite (UCC 复合)、Snowflake、Data Gliffs、Code 39 (码 39) ,Code I28 (码 I28)、Codal3ar、UPC、EAN、Interleaved 205 (交织 205)、RSS、Code 93 (码 93)、Codablock、BC412、Postnet、Planet Code、Japanese Post、KIX (Dutch Post)、OCR A 以及OCR B。已编码信息读取器单元12 的RFID读取器单元可以由Skytek Sky模块Ml 读取终端提供。已编码信息读取器单元12 的卡读取器单元可以包括集成电路卡(IC卡) 读取终端设备,另外被称为智能卡读取器。因为终端1000的已编码信息读取器单元12 可以解码除了条形码消息数据之外的已编码数据,所以除了发送已解码的条形码消息数据, 终端1000可以发送其他的已解码消息数据,例如已解码的RFID消息数据、已解码磁条消息数据、或已解码智能卡消息数据,其还可由可解码标记120指定。参考图3和4,用于支持终端1000的部件的成像模块1100可以包括布置在印刷电路板1802上的图像传感器集成电路1040,以及照明模式光源库(bank) 1208和瞄准模式光源库1204,每一个被显示为由单个光源提供。成像模块1100还可以包括用于图像传感器集成电路1040的容器(containment) 1806以及用于容纳透镜组件200的外壳1810。成像模块1100还可以包括具有光学器件的光学平板1814,用于将来自库1204和库1208的光成形为预定模式。成像模块1100可以被布置于手持外壳1014中,在图5中示出了其一个例子。 在手持外壳1014上布置显示器1222、触发器1220、指针机制12M以及键盘12沈。图6是根据本发明一个示例性实施例的数据结构2100的框图。注解程序函数1900 可以响应于终端1000捕获图像2500而生成数据结构2100。注解程序函数1900可以在计算机可读介质1085上存储数据结构2100。数据结构2100可以包括一个或多个图像头部 2200A和2200B、注解头部2300、注解2400和图像2500。图像头部2200A和2200B可以由标准定义。例如,在本发明一个示例性实施例中,图像头部2200A是位图(BMP)头部,而图像头部2200B是微软视窗版本3设备无关位图(DIB)头部。图像头部2200A可以包括定位图像2500的第一字节2502的图像偏移2202。注解头部2300可以包括定位注解MOO的第一字节M02的注解偏移2302。在本发明一个示例性实施例中,在数据结构2100中,图像 2500的第一字节2502立即跟随着注解MOO的最后一个字节M04。注解MOO可以以一个或多个图像头部2200A和2200B定义的标准图像格式或者加密格式存储在数据结构2100中。在本发明一个示例性实施例中,注解MOO以BMP格式存储在数据结构2100中。在本发明另一个示例性实施例中,注解MOO以BMP格式存储在数据结构2100中,并且使用八比特行程长度编码(“RLE”)压缩。在本发明另一个示例性实施例中,注解MOO以BMP格式存储在数据结构2100中,并且使用四比特RLE压缩。RLE是数据压缩的简单形式,其中数据的原始行程(例如一种序列,其中相同的数据值出现在许多连续的数据元素中)被存储为单个数据值和计数,而不是原始远程。在本发明的另一个示例性实施例中,注解MOO以数据加密标准(DES)加密格式存储在数据结构2100中。在本发明另一个示例性实施例中,注解MOO以美国加密标准(AEQ加密格式存储在数据结构 2100 中。在本发明一个示例性实施例中,注解MOO可以包括描述注解MOO的字符串2406。 例如,字符串M06可以描述注解MOO的内容。字符串M06可以是使用例如UTF-8编码来编码的Unicode字符串。计算机系统,例如图11中所示的计算机系统500,是可操作的以从注解MOO中提取字符串M06并且将字符串M06存储在数据库中以用于搜索目的。注解 2400可进一步包括字符串M06的字符串长度M08。在本发明一个示例性实施例中,字符串长度M08可以存储在从注解MOO的第一字节M02开始的注解MOO的连续字节中,并且字符串M06可以存储在紧跟字符串长度M08的最后一个字节的注解MOO的连续字节中。图像2500可以以一个或多个图像头部2200A和2200B定义的标准图像格式或加密格式存储在数据结构2100中。在本发明一个示例性实施例中,图像2500以BMP格式存储在数据结构2100中。在本发明另一个示例性实施例中,图像2500以BMP格式存储在数据结构2100中并且使用八比特RLE压缩。在本发明另一个示例性实施例中,图像2500以 BMP格式存储在数据结构2100中并且使用四比特RLE压缩。在本发明另一个示例性实施例中,图像2500以DES加密格式存储在数据结构2100中。在本发明另一个示例性实施例中, 图像2500以AES加密格式存储在数据结构2100中。在本发明另一个示例性实施例中,注解MOO和图像2500的像素格式可以是相同的,例如RGB565。在本发明另一个示例性实施例中,注解MOO和图像2500可以存储在数据结构2100的互相排他的字节中。图7是根据本发明一个示例性实施例的数据结构2100的注解头部2300的框图。注解头部2300可以包括注解偏移2302、注解头部大小2304、图像高度2306、图像宽度2308、图像大小2310、注解类型2312、注解高度2314、注解宽度2316、注解大小2318、压缩说明2320、再现位置2322、密钥2324、以及加密器标识符23沈。在多于一个注解与图像 2500关联的实施例中,注解头部可以包括注解偏移2302、注解类型2312、注解高度2314、注解宽度2316、注解大小2318、压缩说明2320和用于与图像2500关联的每个注解的再现位置 2322。注解头部大小2304可以是注解头部2300的大小并且可以用字节表示。注解类型 2312可以是注解MOO的类型,例如日期、时间、GPS坐标、用户标记的坐标、从位于图像2500 中的可解码标记生成的解码得出的消息、RFID标签数据、卡数据、终端1000的序列号或音频记录。注解高度2314可以是注解MOO的高度,并且可以用像素来度量。注解宽度2316 可以是注解MOO的宽度,并且可以用像素来度量。注解大小2318可以是注解MOO的大小, 并且可以用千字节来度量。在数据结构2100中压缩注解MOO和/或图像2500的实施例中,压缩说明2320 可以定义注解MOO和/或图像2500如何被压缩。例如,压缩说明2320的“0”可以意味着注解MOO和/或图像2500没有被压缩,压缩说明2320的“1”可以意味着注解MOO和/ 或图像2500通过使用八比特RLE被压缩,压缩说明2320的“2”可以意味着注解MOO和/ 或图像2500通过使用四比特RLE被压缩。再现位置2322可以由配置程序函数2000提供,并且可以是相对于图像2500注解MOO在显示器上被再现的位置,显示器例如是图11所示的计算机系统500的显示设备 518。再现位置2322可以是矩形界限注解MOO的角例如左上角的像素坐标。在本发明一个示例性实施例中,再现位置2322可以在图像2500内。在本发明另一个示例性实施例中, 再现位置2322可以在图8所示的注解帧沈00内,邻近于例如图像2500之上、之下、左侧或右侧。在本发明另一个示例性实施例中,注解程序函数1900可以包括将注解帧沈00内每个像素的颜色设置为图像2500的邻近区域内的主导颜色的计算机程序指令,而不是包括注解MOO的那些。例如,如果在图像2500底部的主导颜色是绿色,并且注解帧沈00位于图像2500之下,那么注解程序函数1900可以将注解帧沈00内每个像素的颜色设为绿色, 而不是包括注解MOO的那些。在其中再现位置2322在图像2500内的实施例中,图像高度可以是构成图像2500 高度的多个像素、图像宽度2308可以是构成图像2500宽度的多个像素、以及图像大小2310 可以是构成图像2500大小的多个千字节。例如,如果图像2500具有600像素的高度、800 像素的宽度以及1000千字节的大小,则在块414,图像高度2306可以是600像素、图像宽度 2308可以是800像素以及图像大小2310可以是1000千字节。在其中再现位置2322是注解帧沈00的实施例中,图像高度2306可以是超过构成图像2500高度的像素数的数目,图像宽度2308可以是超过构成图像2500宽度的像素数的数目,以及图像大小2310可以是超过构成图像2500大小的千字节数的数目。例如,在注解帧沈00位于图像2500之上或之下的实施例中,图像高度2306可以是构成图像2500高度加上注解高度2314的一些像素,图像宽度2308可以是超过构成图像2500宽度的像素数的数目,以及图像大小2310可以是以千字节计的图像2500大小以及以千字节计的注解帧沈00大小。密钥23M可以是终端1000用于加密注解MOO和/或图像2500的密钥。在本发明一个示例性实施例中,密钥MM可以是可用于加密和解密注解MOO和/或图像2500的对称密钥。在本发明另一个示例性实施例中,密钥23M可以以加密格式,例如DES或AES 加密格式,存储在注解头部2300中。加密器标识符23 可以例如是终端1000的设备、加密注解MOO和/或图像2500的唯一标识符。在本发明一个示例性实施例中,加密器标识符23 可以是序列号。在本发明另一个示例性实施例中,加密器标识符23 可以是设备的网络适配器或网络接口卡的媒体接入控制(MAC)地址。图9是根据本发明一个示例性实施例用于关联注解MOO和图像2500的方法的流程图。应当理解,图9所示的每个块或块的组合可以由例如注解程序函数1900的计算机程序指令实现,其可以被存储在计算机可读介质1085上并且由CPU 1060执行。在块402,注解程序函数1900响应于终端1000捕捉图像2500获取注解MOO。在本发明一个示例性实施例中,在块402,响应于确定从中获取注解MOO的源,注解程序函数 1900从配置程序函数2000获取注解2400。该源可以是例如可解码标记120、计算机可读介质1085、电池1116、GPS设备1118或显示器1222。在块404,注解程序函数1900确定是否压缩注解MOO和/或图像2500。在本发明一个示例性实施例中,在块404,注解程序函数1900从配置程序函数2000中确定是否压缩注解MOO和/或图像2500。在块406,注解程序函数1900使用任何合适的压缩算法,例如四比特RLE算法或八比特RLE算法,来压缩注解MOO和/或图像2500。在块408,注解程序函数1900确定是否加密注解MOO和/或图像2500。在本发明一个示例性实施例中,在块408,注解程序函数1900从配置程序函数2000中确定是否加密注解MOO和/或图像2500。如果注解MOO和/或图像2500要被加密,在块410,注解程序函数1900使用任何合适的加密算法加密注解MOO和/或图像2500。参考图10a,在本发明一个示例性实施例中,在块410,注解程序函数1900使用密钥2324和加密算法2700 来加密注解MOO和/或图像2500。参考图10b,在本发明一个示例性实施例中,在块410, 注解程序函数1900使用公共密钥2702和加密算法2704来加密密钥23M。加密算法2700和2704可以是相同或不同的对称加密算法,并且可以例如是DES 或AES算法。公共密钥2702可以与解密设备关联,例如图11所示的计算机系统500。在本发明一个示例性实施例中,解密设备可以向终端1000提供公共密钥2702,以便于在块410 注解程序函数1900使用公共密钥2702加密密钥23M。在本发明另一个示例性实施例中,如果解密设备未被授权解密注解MOO和/或图像2500,使用解密设备提供的公共密钥2720 注解程序函数1900被限制加密密钥23M。现在返回到图9,在块412,注解程序函数1900创建由标准定义的一个或多个图像头部2200A和2200B。该标准可以是例如BMP、图形交换格式(GIF)、联合图像专家组(JPG)、 标记图像文件格式(TIFF)或任何其他合适的标准。在块414,注解程序函数1900创建注解头部2300。在块416,注解程序函数1900在计算机可读介质1085上的数据结构2100中存储一个或多个图像头部2200A和2200B、注解头部2300、注解MOO以及图像2500。在块 418,注解程序函数1900将数据结构2100传送至外部设备,例如计算机系统500,以在例如显示器设备518上再现。在本发明一个示例性实施例中,在块418,注解程序函数1900通过RS-232将数据结构2100传送到外部设备。在本发明另一个示例性实施例中,在块418, 注解程序函数1900通过例如以太网的网络将数据结构2100传送到外部设备。在本发明另一个示例性实施例中,在块418,注解程序函数1900通过例如USB的串行总线将数据结构 2100传送到外部设备。在本发明另一个示例性实施例中,在块418,注解程序函数1900通过例如蓝牙的无线通信链路将数据结构2100传送到外部设备。图11是根据本发明一个示例性实施例用于再现数据结构2100内容的计算机系统 500的框图。计算机系统500可以是工作站、服务器、主计算机、笔记本或膝上型电脑、台式计算机、移动电话、无线设备、机顶盒等。计算机系统500可以具有中央处理单元(CPU)502 提供的处理器,该处理器可以是用于执行存储在计算机可读介质504上的程序指令的可编程处理器。CPU 502可以是例如IBNfPowerPC^处理器的精简指令集(RISC)微处理器、 X86 兼容处理器、例如lntel Pentium 处理器、Advanced Micro Devices Athlon 处理器或任何其他合适的处理器。IBM和PowerPC是国际商业机器公司在美国、其他国家或两者的商标或注册商标。Intel和Pentium是因特尔公司或它的子公司在美国、其他国家或两者的商标或注册商标° Advanced Micro Devices 禾口 Athlon 是 Advanced Micro Devices 公司或它的子公司在美国、其他国家或两者的商标或注册商标。在其他实施例中,CPU 502可以包括跨越例如客户端和服务器处的一个或多个位置分布的一个或多个处理器。CPU 502可以通过专用系统总线506和/或通用系统总线508连接到计算机可读介质504。计算机可读介质504可以是计算机可读信号介质或计算机可读存储介质。计算机可读介质504可以用于存储软件指令和配置设置。例如,操作系统510、标准图像观看器 512和定制图像观看器514可以存储在计算机可读介质504中。操作系统510可以提供例如设备接口管理、存储器管理和多任务管理的功能。操作系统510可以是例如IBM ADC 操作系统的基于Unix的操作系统,例如落入Microsoft Windows*家族操作系统内操作系统的非基于toix的操作系统,例如 Sun Microsystems JavaOS 的网络操作系统,或者任何其他合适的操作系统。IBM和AIX 是国际商业机器公司在美国、其他国家或两者的商标或注册商标。Microsoft和Windows是微软公司在美国、其他国家或两者的商标或注册商标。Sun Microsystems和Java和所有基于Java的商标和标志是太阳微系统公司在美国、其他国家或两者的商标。CPU 502可以合适的被编程以读取、装载和执行操作系统510的指令。标准图像观看器512可以是用于以例如BMP、JPEG、TIFF或GIF的公开或标准格式再现图像的任何商业地或其他公共可用软件。在本发明一个示例性实施例中,其中图像头部2200A是BMP头部,标准图像观看器512可以通过利用图像偏移2202来定位图像2500 的第一字节2502,从而可以在显示设备518上再现图像2500。标准图像观看器512将忽略注解头部2300,从而不随着图像2500再现注解M00。相应地,注解M00将不会掩盖图像 2500的任何部分,这将有利地允许图像2500得以其全部被观看。参考图1,在不带注解的情况下观看其全部的图像的优点被更充分地说明。如图1 所示,注解20A掩盖了图像10的一部分。然而,由标准图像观看器512再现的图像10的完整视图可以揭露例如注解20A掩盖了数字“25”,允许做出这样的推断所描述的包裹未被正确递送到如门的左侧显示的地址125Any街道,而是如包裹地址标记所显示的地址123Any 街道。回到图11,定制图像观看器514可以是包括用于在显示器设备518上再现注解 2400和图像2500的计算机程序产品的计算机程序代码,并且可以实现在计算机可读介质 504上。定制图像观看器514可以使用任何合适的介质发送,包括但不限于无线、有线、光缆、RF等、或前述的任何合适的组合。定制图像观看器514可以用一个或多个编程语言的任意组合来编写,包括例如Java、Smalltalk, C++等的面向对象的编程语言、例如“C”编程语言的传统程序编程语言、例如汇编语言的低级编程语言、或其他高级或低级编程语言。通用系统总线508可以支持计算机系统500的多个子系统间的数据、命令和其他信息的传送。尽管以简单形式显示为单个总线,但是通用系统总线508可以被构造为以分级形式放置的多个总线。显示接口 516可以支持视频显示设备518,其可以是阴极射线管显示器或者是基于其他合适的显示技术的显示器。输入/输出接口 520可以支持适合输入和输出的设备,例如键盘或鼠标设备522以及磁盘驱动单元(未示出)。接口 5M可以用于通过通用系统总线508可操作地连接多种类型的外围计算设备至计算机系统500,例如打印机、总线适配器和其他计算机。网络接口 5 可以向网络528 提供物理接口。网络接口 5 可以是在计算机系统500和网络5 之间提供接口的任何类型的适配器,例如可连接到例如是电话线的传输系统的调制解调器、以太网适配器或令牌环适配器。计算机系统500可以使用合适的网络协议经由LAN连接到另一网络服务器,以及可以依次连接到因特网的网络服务器。计算机系统500还可以包括无线电收发器530,用于提供与外部设备(例如终端1000)的通信。在本发明一个示例性实施例中,无线电收发器530可以是2. 4GHz无线电收发器。图12是根据本发明一个示例性实施例的用于在例如显示设备518的显示器上再现包括注解MOO和图像2500的数据结构2100的方法的流程图。应当理解,图12示出的各块或块的组合可以由例如定制图像观看器514的计算机程序指令实现,其可以存储在计算机可读介质504上并且由CPU 502执行。在块602,定制图像观看器在数据结构2100内定位注解M00。在本发明一个示例性实施例中,在块602,定制图像观看器利用注解偏移2302来在数据结构2100内定位注解 MOO的第一字节M02。在块604,定制图像观看器514在数据结构2100内定位图像2500。 在本发明一个示例性实施例中,在块604,定制图像观看器514利用图像偏移2202来在数据结构2100内定位图像2500的第一字节2502。在块606,定制图像观看器514确定注解MOO和/或图像2500是否被加密。如果注解MOO和/或图像2500被加密,在块608,定制图像观看器514使用任何合适的解密算法解密注解MOO和/或图像2500。参考图10c,在本发明一个示例性实施例中,在块608, 定制图像观看器514可以使用私有密钥2706和解密算法2708来解密已经用公共密钥2702 加密的密钥23M。参考图10d,在本发明一个示例性实施例中,在块608,定制图像观看器 514可以使用密钥23M和解密算法2710来解密注解MOO和/或图像2500。解密算法2708 和解密算法2710可以是相同或不同的解密算法。加密和解密注解MOO的能力是有益的,因为基于注解MOO推断图像2500可以例如监督者仅仅通过能够在例如计算机系统500的解密设备上访问私有密钥2706来进行。为
13了说明,捕捉图像2500的快递员会向他的监督者声称按时递送图像2500示出的包裹,例如在2010年3月30日下午2点。然而,快递员利用根据本发明实施例的定制图像观看器514 并且不能访问私有密钥2706,他将不能解密密钥23M,并且因此不能够解密显示例如图像 2500捕捉时间的注解M00。然而,监督者能够在解密设备,例如计算机系统500上,访问私有密钥2706,由此,私有密钥2706可以被提供给解密算法2708以便于密钥23M能够被解密,并且密钥23M随后可以被提供给解密算法2710以便注解MOO能够被解密。从而监督者能够观看具有解密的注解2400的图像2500,注解MOO显示了图像2500中显示的包裹实际上在下午2:17被送达,晚了 17分钟,并且允许他采取适当的行动。返回到图12,在块610,定制图像观看器514确定注解MOO和/或图像2500是否被压缩。在本发明一个示例性实施例中,在块610,定制图像观看器514从压缩说明2320中确定注解MOO和/或图像2500是否被压缩。如果注解MOO和/或图像2500被压缩,在块612,定制图像观看器514解压缩注解MOO和/或图像2500。在块614,定制图像观看器514在显示器,例如显示设备518上再现注解MOO和图像2500。在本发明一个示例性实施例中,在块614,定制图像观看器514在相对于图像2500 的再现位置2322处利用再现注解M00。在本发明另一个示例性实施例中,在块614,定制图像观看器514在图像2500内再现注解M00。在本发明另一个示例性实施例中,在块614, 定制图像观看器514在注解帧沈00内再现注解M00。在本发明另一个示例性实施例中,在块614,定制图像观看器514在注解帧沈00内再现注解M00,并且将注解帧沈00内的各像素的颜色设置为图像2500的邻近区域内的主导颜色,而不是包括注解MOO的那些。在本发明另一个示例性实施例中,在块614,定制图像观看器514确定注解类型2312是否是音频记录。在本发明另一个示例性实施例中,在块614,响应于确定注解类型2312是音频记录, 定制图像观看器再现指示器,例如“播放”按钮,而不是再现注解M00。在本发明另一个示例性实施例中,响应于用户例如使用鼠标设备522选择了“播放”按钮,定制图像观看器514 能够播放音频记录。在此处提出的装置和方法中,此处提出以下Al、一种用于关联注解和图像的终端,该终端包括处理器; 一个或多个计算机可读存储介质;成像组件;用于响应于终端捕捉图像而从源获取注解的第一程序指令;用于创建由标准定义的图像头部的第二程序指令;以及用于在一个或多个计算机可读存储介质上在数据结构内存储图像头部、图像和注解的第三程序指令;其中第一、第二和第三程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。A2、A1的终端,进一步包括用于创建注解头部的第四程序指令,其中第三程序指令包括用于在一个或多个计算机可读存储介质上存储注解头部的程序指令,并且其中第四程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。A3、A1的终端,进一步包括用于压缩图像和注解的一个或多个的第四程序指令,其中第四程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。A4、A1的终端,进一步包括用于加密图像和注解的一个或多个的第四程序指令,其中第四程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。A5、Al的终端,进一步包括用于将数据结构传送到终端外部的设备的第四程序指令,其中第四程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。A6.、A1的终端,进一步包括GPS设备,其中所述源是GPS设备。A7、A1的终端,进一步包括电池,其中所述源是电池。A8、A1的终端,其中所述源是一个或多个计算机可读存储介质。A9、A1的终端,进一步包括显示器,其中所述源是显示器。A10、Al的终端,进一步包括编码信息读取器单元,其中所述源是终端解码的可解码标记。AlUAl的终端,其中注解是从包括日期、时间、GPS坐标、用户标记的坐标、从可解码标记生成的解码出的消息、RFID标签数据、卡数据、终端的序列号和音频记录的组中选择的。A12.A1的终端,其中注解包括描述注解的字符串。A13.A2的终端,其中注解头部包括用于加密和解密注解和图像的一个或多个的密钥。A14.A2的终端,其中注解头部包括压缩说明,用于标识用于压缩注解和图像的一个或多个的压缩算法。A15.A2的终端,其中注解头部包括加密器标识符,用于标识加密注解和图像的一个或多个的设备。Bi、一种用于在显示器上再现包括注解和图像的数据结构的计算机程序产品,该计算机程序产品包括计算机可读存储介质;用于在数据结构内定位注解的第一程序指令;用于在数据结构内定位图像的第二程序指令;以及用于在显示器上相对于图像的再现位置处再现注解的第三程序指令;其中第一、第二和第三程序指令被存储在计算机可读存储介质上。B2、B1的计算机程序产品,其中数据结构进一步包括注解头部,并且其中第一程序指令包括用于利用注解头部的注解偏移来在数据结构内定位注解的第一字节的程序指令。B3、B1的计算机程序产品,其中数据结构进一步包括图像头部,并且其中第一程序指令包括用于利用图像头部的图像偏移来在数据结构内定位图像的第一字节的程序指令。B4. Bl的计算机程序产品,进一步包括第四程序指令,用于解密图像和注解的一个或多个,其中第四程序指令被存储在计算机可读介质上。B5. Bl的计算机程序产品,进一步包括第四程序指令,用于解压缩图像和注解的一个或多个,其中第四程序指令被存储在计算机可读介质上。B6.B1的计算机程序产品,其中再现位置是在图像内。B7. Bl的计算机程序产品,其中再现位置是邻近于图像的注解帧。B8.B1的计算机程序产品,其中注解是音频记录,并且其中第三程序指令进一步包括用于再现音频记录的指示器、而不是再现音频记录的程序指令。Cl. 一种用于在显示器上再现包括注解和图像的数据结构的计算机系统,该计算机系统包括显示器;一个或多个计算机可读存储介质;用于在数据结构内定位注解的第一程序指令;用于在数据结构内定位图像的第二程序指令;以及用于在显示器上相对于图像的再现位置处再现注解的第三程序指令;其中第一、第二和第三程序指令被存储在一个或多个计算机可读存储介质上。C2. Cl的计算机系统,进一步包括用于在显示器上再现图像的标准图像观看器,其中标准图像观看器被限制可操作的在显示器上再现注解,并且其中标准图像观看器被存储在一个或多个计算机可读存储介质上。尽管本发明已参考特定示例性实施例特别地显示和描述,本领域熟练技术人员应当理解,可以在其中实现具体的各种变化,而不偏离说明书和附图支持的权利要求限定的本发明的精神和范围。另外,在参考特定数量的元件描述示例性实施例的情况下,应当理解,示例性实施例可以通过使用比特定数量元件更少或更多的元件来实现。
权利要求
1.一种用于关联注解和图像的终端,该终端包括处理器;一个或多个计算机可读存储介质;成像组件;用于响应于终端捕捉图像而从源获取注解的第一程序指令;用于创建由标准定义的图像头部的第二程序指令;以及用于在一个或多个计算机可读存储介质上在数据结构内存储图像头部、图像和注解的第三程序指令;其中第一、第二和第三程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。
2.权利要求1的终端,进一步包括用于创建注解头部的第四程序指令,其中第三程序指令包括用于在一个或多个计算机可读存储介质上存储注解头部的程序指令,并且其中第四程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。
3.权利要求1的终端,进一步包括用于压缩图像和注解的一个或多个的第四程序指令,其中第四程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。
4.权利要求1的终端,进一步包括用于加密图像和注解的一个或多个的第四程序指令,其中第四程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。
5.权利要求1的终端,进一步包括用于将数据结构传送到终端外部的设备的第四程序指令,其中第四程序指令被存储在一个或多个计算机可读存储介质上以供处理器执行。
6.权利要求1的终端,进一步包括GPS设备,其中所述源是GPS设备。
7.权利要求1的终端,进一步包括电池,其中所述源是电池。
8.权利要求1的终端,进一步包括显示器,其中所述源是显示器。
9.权利要求1的终端,其中注解是从包括日期、时间、GPS坐标、用户标记的坐标、从可解码标记生成的解码出的消息、RFID标签数据、卡数据、终端的序列号和音频记录的组中选择的。
10.一种用于在显示器上再现包括注解和图像的数据结构的计算机程序产品,该计算机程序产品包括计算机可读存储介质;用于在数据结构内定位注解的第一程序指令;用于在数据结构内定位图像的第二程序指令;以及用于在显示器上相对于图像的再现位置处再现注解的第三程序指令;其中第一、第二和第三程序指令被存储在计算机可读存储介质上。
11.权利要求10的计算机程序产品,其中数据结构进一步包括注解头部,并且其中第一程序指令包括用于利用注解头部的注解偏移来在数据结构内定位注解的第一字节的程序指令。
12.权利要求10的计算机程序产品,其中数据结构进一步包括图像头部,并且其中第一程序指令包括用于利用图像头部的图像偏移来在数据结构内定位图像的第一字节的程序指令。
13.权利要求10的计算机程序产品,其中再现位置是邻近于图像的注解帧。
14.一种用于在显示器上再现包括注解和图像的数据结构的计算机系统,该计算机系统包括显不器;一个或多个计算可读存储介质;用于在数据结构内定位注解的第一程序指令;用于在数据结构内定位图像的第二程序指令;以及用于在显示器上相对于图像的再现位置处再现注解的第三程序指令;其中第一、第二和第三程序指令被存储在一个或多个计算机可读存储介质上。
15.权利要求14的计算机系统,进一步包括用于在显示器上再现图像的标准图像观看器,其中标准图像观看器被限制可操作的在显示器上再现注解,并且其中标准图像观看器被存储在一个或多个计算机可读存储介质上。
全文摘要
还提供了一种用于关联注解和图像的终端。该终端可包括处理器、一个或多个计算机可读存储介质、成像组件、用于响应于终端捕捉图像而从源获取注解的第一程序指令、用于创建由标准定义的图像头部的第二程序指令、以及用于在计算机可读存储介质上在数据结构内存储图像头部、图像和注解的第三程序指令。第一、第二和第三程序指令可被存储在一个或多个计算机可读存储介质上以供处理器执行。还提供了一种用于在显示器上再现包括注解和图像的数据结构的计算机程序产品和计算机系统。
文档编号H04N1/21GK102567448SQ20111034917
公开日2012年7月11日 申请日期2011年9月23日 优先权日2010年9月24日
发明者A·埃普廷, T·科齐奥尔 申请人:手持产品公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1