与使用启动远程函数调用的图像或音频的服务器一起使用的方法、系统、设备和机器可读媒体的制作方法

文档序号:6498356阅读:295来源:国知局
专利名称:与使用启动远程函数调用的图像或音频的服务器一起使用的方法、系统、设备和机器可读媒体的制作方法
技术领域
本发明一般涉及图像捕获和处理技术和通过网络的数据通信,具体涉及但不限于通过用户设备进行的一维(1D)或二维(2D)图像或音频的捕获和通信,在服务器使用远程函数调用来获取与图像/音频相关的信息,将所获取的信息返回到用户设备和/或用户设备的身份验证。
背景技术
因特网是用于获取有关几乎任何主题的信息的普遍的和流行的工具之一。例如,因特网用户(有时简称为Web“冲浪者”)可以获取有关他们希望购买产品的信息(如价格、产品说明、制造商信息等等),关于喜爱的运动团队或运动员的统计信息,有关旅游目的地的信息性内容等等。实际上,人们通过在因特网上冲浪来查找信息取代通过传统的印刷媒体查找信息的情况几乎无所不在。
然而,尽管被广泛应用并且信息丰富,但是,因特网仍然常常被认为是笨拙并且不方便的工具。例如,如果一个购物者在一个商店发现一个降价的产品,该购物者通常只能够细读少量的伴随该产品的现场的印刷资料。在很多情况下,这样的现场的印刷资料提供的信息不足,并且购物者在商店时不被允许打开产品的包装以便查看其中可能或可能没有包含的比较详细的产品资料。相反,为获取有关该特定产品的保修单、制造商、功能说明书、相关的附件,产品评论等等的比较详细的信息,用户一般需要回家,连接到因特网,然后使用某些因特网搜索引擎来查找相关信息。
此示例突出了某些显著的缺点。首先,购物者需要在离开商店之前记住产品名称和制造商,以便能够在购物者到家之后为因特网搜索引擎确定搜索查询。在购物者的记忆力可能比较差和/或购物者在离开商店之后对产品的兴趣开始渐渐消失(特别是在购物者上网之前过了几天的情况下)的情况下,这就会产生问题。因此,制造商和商店可能会丧失很大的商机,购物者也会丧失购买所需的产品的机会。
其次,此示例假设购物者掌握计算机技能和/或在家中具有技术资源。然而事实却并不总是这样。即,尽管许多个人对因特网的实际使用具有基本的认识,许多个人在磨练他们的在线搜索技巧时能使用某些改进,但常常不能利用他们的搜索查询查找最相关的和有用的信息。许多个人还没有家用计算机(而依赖于工作单位的计算机,他们一般只在工作日在办公时间使用计算机),或具有很慢的因特网连接。
第三,某些信息不能从因特网获得。例如,某些产品制造商没有网站,从而要求客户通过电话、普通邮件、电子邮件等等与服务代表进行直接接触。在其他情况下,制造商或其他组织通过不同于因特网的渠道提供信息,但潜在客户可能不能轻松地查找到这样的替代信息渠道。
尽管上文所描述的方案是在产品和购物的情形下,但是可以理解,有更广泛的与个人的无限的信息需求关联的情形。例如,假设经过某一个城镇的旅游者看到本地停车场中的某一个雕像,并希望了解更多的关于该雕像的历史意义的信息。如果该旅游者回到旅馆客房建立计算机连接,则该用户可能能够通过因特网搜索有关该雕像的信息。然而,由于因特网搜索引擎提供基于文本的搜索查询,用户在选择最有可能导致“命中”的查询中的适当的关键字时,只限于尝试法。以单词文本很难表达通过雕像或通过任何其他实体目标传达的图像,从而导致当搜索引擎返回不相关的信息时使用户感到失望。
还可以理解,对于音频也存在类似的问题,如某个人听到一首歌曲或一个声音,但不能将标题和/或人与该音频关联。为进行文本查询而以单词表达音频是很笨拙的,在许多情况很难进行。

发明内容
一个方面提供包括接收关于设备当前用户的捕获的信息的方法。捕获的信息被解码,以确定其内容,并将确定的内容与存储的内容进行比较,以对用户进行身份验证。如果用户经过了身份验证,该方法调用具有参数的函数,并执行该函数,以允许经过身份验证的用户通过设备访问可用的服务。
另一个方面提供包括接收关于由设备捕获的主题的媒体的方法。对接收到的媒体进行解码以确定其内容。将确定的内容与函数字符串相关联。方法调用并执行通过函数字符串识别的函数,以将信息返回到与捕获的主题相关的设备。


下面将参考下列图形描述非限制性的和非详尽的实施例,其中,除非另作说明,在各个视图中,类似的附图标记表示类似的部件。
图1描述了可以用来实现各种实施例的各种电子设备。
图2显示了可以通过根据各种实施例的图1的电子设备捕获的示例图像或音频。
图3A-3B是实施例的系统组件和关联的操作的流程图。
图4是图3A-3B的系统的存储单元的架构的一个实施例的图形表示。
图5是根据实施例的函数字符串的示意图。
图6A-6B显示了根据实施例的对象模型。
图7描述了根据实施例的身份验证过程的流程图。
图8是描述了根据实施例的媒体捕获、解码、远程函数调用,信息返回的流程图。
具体实施例方式
下面将描述使用服务器来执行远程函数调用以获取与捕获的图像(以及音频)关联的信息的技术的实施例。在下面的说明中,阐述了许多具体的细节以提供对本发明的全面的了解。然而,本领域技术人员将认识到,本发明可以在不使用一个或多个细节的情况下实施,或者可以用其他方法、组件、材料等等来实施。在其他情况下,没有显示或详细描述已知的结构、材料或操作,以避免使本发明某些方面变得模糊。
在本说明书中对“一个实施例”或“实施例”的引用意味着,涉及实施例所描述的特定功能、结构或特征包括在本发明的至少一个实施例中。如此,在本说明书中的各个位置出现的短语“在一个实施例中”或“在实施例中”不一定都是指同一个实施例。此外,在一个或多个实施例中,特定的功能、结构或特征可以以任何合适的方式来组合。
作为概述,实施例提供了允许相关信息返回到诸如移动无线设备之类的电子设备的用户的技术。例如,用户可以利用能照相的移动电话给汽车销售商店的汽车照相,并将图像发送到服务器。服务器对图像进行解码以识别图像的主题,然后获取与该主题相关的信息(如制造商、型号、产品评论、价格、竞争产品等等)。此信息被服务器返回到移动电话,信息在移动电话中显示出来供用户查看。值得注意的是,尽管可以使用移动电话作为用户电子设备的示例,但是,在实施例中,可以使用能够捕获图像和/或发出声音的任何合适的设备。
根据各种实施例,由用户捕获的图像可以是1D或2D图像。1D图像的示例包括条形码或其他非人可识别的图像。2D图像的示例包括,但不仅限于,字母数字字符串、徽标、口号、商标名称、序列号、文本、生物特征(如指纹或相貌)、各种物体的图像(界标、动物、无生物等等),或可以以2D形式表示的任何类型的人可识别的图像。在实施例中,也可以捕获三维(3D)图像(或其外观),并以2D形式来表示,如全息照片。根据实施例,也可以捕获音频(包括声音识别实现方式),转换为文件,并发送到服务器进行处理。
在实施例中,服务器使用多个插件程序中的至少一个插件程序来识别接收到的图像。在图像被识别之后,具有函数屏蔽的函数字符串与被识别的图像关联。函数字符串包括要调用的函数的身份和要被传递给该函数的参数和/或参数值。参数和参数值与将被返回到用户的移动电话(例如)的媒体信息关联。如此,当调用和执行函数时,将检索媒体信息,对其进行处理,并返回到用户的移动电话。可以(或可以不)专门识别要调用的特定函数的捕获的图像或声音或其他媒体这里被称为“符号”。
下面将描述各种实现方式。例如,模块的实施例可以被用来提供产品信息,对软件进行注册,对赠券进行处理,执行电子设置,接收竞争产品信息,对用户进行身份验证,翻译外语,搜索拍卖,进行生物特征处理等等。应该理解,这些仅仅是示例,本发明不仅限于任何特定的一个或多个所描述的实现方式。
为帮助识别接收到的图像,一个实施例提供了图像预处理系统。图像预处理系统应用图像处理技术,以从质量差的或分辨率差的图像中提取符号,从而提高识别的成功率。
图1描述了可以用来实现各种实施例的各种电子设备。应该理解,图1只描述了能够捕获音频或图像(包括视频)的电子设备的某些示例,其他实施例也可以使用能够向服务器传输音频或图像的其他电子设备类型。此外,应该理解,图1的电子设备在某些情况下可能具有共同的功能,如照相机、麦克风、网络连接组件、生物特征扫描仪、显示屏幕、Web浏览器等等。由于这些电子设备的各种功能对于理解本申请优点的本领域技术人员是已知的,因此,这里就不再详细描述这样的功能。
移动电话100包括照相机102,该照相机允许用户通过适当地将移动电话100指向相关的物体来拍摄照片或以别的方式捕获图像(包括视频)。诸如桌面个人计算机(PC)或膝上型电脑之类的计算机104,包括Web照像机106,该照像机可使音频和图像通过网络(如因特网)进行传输或进行本地保存。其他示例包括扫描仪108,该扫描仪可以用来生成最初为硬拷贝格式的电子图像。
因特网协议(IP)电话110允许用户通过IP电话网络进行电话交谈或发送传真。一个实施例的IP电话110(以及所描述的任何其他电子设备)可以包括用于对用户进行身份验证的生物特征扫描仪112(用于捕获指纹、面部图像、视网膜扫描等等),以及麦克风112。
其他可能的电子设备示例包括传真机116和个人数字助理118或其他无线设备。其他图像-捕获设备120和/或音频视频设备122也可以用于各种实施例中。
图1的电子设备可以通过无线和/或有线连接124与网络126进行通信。网络126可以包括因特网、局域网(LAN)、虚拟LAN、公用交换电话网(PSTN)、IP电话网络、卫星通信网络、光纤网络、虚拟专用网络(VPN),其他无线或有线网络,或其任何组合。在实施例中,提供了服务器(下面将比较详细地说明),该服务器可以通过网络126与电子设备进行通信,以便给电子设备提供关于捕获的音频或图像的相关信息,对于某些用途,对电子设备进行身份验证等等。
图2显示了根据各种实施例可以通过图1的电子设备捕获的示例图像(物体)或音频。再强调一遍,应该理解,图2只显示了示例,而不进行限制。为了对图2进行说明,将使用移动电话100作为可以捕获图像或音频(如通过使用照像机102)的电子设备示例。移动电话100包括显示屏幕200,该显示屏幕可以用来允许用户预览捕获的图像和查看可以从服务器返回的相关信息。
可以通过移动电话100来捕获条形码202的图像(或其他非人可识别的1D或2D图像)。条形码202可以位于产品包装中或任何其他带条形码的产品中。通过捕获条形码202的图像并将图像发送到服务器,可以将诸如产品价格、产品详细信息、相关的网站统一资源定位器(URL)地址之类的相关的信息,或者关于竞争产品的信息返回到移动电话100。
也可以捕获和处理外语对象204的图像。在本示例中,外语对象是以西班牙语书写的签名。服务器100可以向移动电话100提供“Hacienda”的英语翻译或任何其他外语单词。
用户可以使用移动电话100来捕获软件产品206的图像(如其包装设计、条形码、序列号、商标、产品名称或其他关联的人可识别的2D图像)。这样,用户可以对软件产品206进行注册(并通过移动电话的显示屏幕200接收确认),接收产品信息和价格,接收有关竞争产品的信息,接收产品评论等等。
如果用户进入了一家汽车销售商店并看到了汽车208,用户可以拍摄汽车208(或其产品册210)的照片,接收对该汽车的评论。可以由移动电话100作为流式视频、图形或文本文件、URL链接、音频等等接收评论或其他相关的信息。
对于旅游者或其他用户,可以捕获某一历史遗址212(如位于华盛顿州西雅图的Space Needle)的图像。然后,用户可以接收历史信息,门票价格、营业时间,或从本地旅游机构、市政府、联机资料及其他来源生成的其他相关的信息。对于其图像已经被捕获(也适用于捕获的音频)的任何对象,也可以向移动电话100返回因特网引擎搜索结果。例如,一旦服务器识别历史遗址212的图像为SpaceNeedle,则服务器可以在GoogleTM或其他因特网搜索引擎上启动图像或文本搜索,以获取搜索结果的命中列表,然后,可以将该列表传递到移动电话100,供用户细读。
如果用户在大学足球比赛中看到了记分牌214的图形,用户可以拍摄记分牌214的照片,并将图像发送到服务器。一旦服务器从图像派生出了信息(如校队的名称),服务器可以使移动电话100的铃声是该学校的战斗歌曲。这只是响应捕获和处理图像和/或音频可以实现的信息类型或功能的一个示例。
为用其他示例继续说明,移动电话100可以被用来对赠券216进行扫描。然后,可以由服务器对赠券216的图像进行处理,以对在网站可用的产品应用折扣,或以别的方式对赠券216进行偿还。可以拍摄光盘(CD)封面、数字视盘(DVD)封面或电影招贴画218的图像,该图像将允许用户接收流式电影尾部、歌曲示例、可以购买的铃声,显示时间表,艺术家信息、评论、剧场或商店位置等等。
用户可以拍摄简单得如一瓶酒220之类的物体的照片。用户可以在移动电话上接收到的信息可以包括建议的下酒的食品,本地商家的价格表,酒厂和酿酒信息等等。作为另一个示例,用户可以拍摄收藏品(如邮票222)的照片,并将该照片提交到服务器。然后,服务器可以对照片进行处理,以向用户返回拍卖信息,如可用于在EbayTM或其他拍卖站点上拍卖的邮票的列表。
实施例可以用于身份验证和安全目的。例如,可以给移动电话100或IP电话110的用户提供通过使用面部识别224或声音识别226来对网络上的任何电话的访问权限。替代地或另外地,也可以使用诸如指纹图像228或眼膜图像之类的生物特征信息。
作为第一个示例,一个公司的IP电话网络可以提供到其雇员的连接。然而,某些雇员可以具有与其他雇员不同的权限或访问权限(如本地、长途或国际呼叫功能)。此外,也应该能够从公司的任何电话或位置发出IP电话呼叫,而不是只限于只是一个人的办公室发出这些IP电话呼叫。
相应地,实施例允许用户从任何电话和/或位置接受身份验证。此身份验证可以通过声音识别226、面部识别224、指纹228或使用IP电话110上的生物特征扫描仪112或其他输入设备的其他基于生物特征的身份验证来进行。捕获的信息被发送到进行身份验证的服务器。如果通过了身份验证,那么,服务器可以启动IP电话呼叫的连接的完成过程。可以给不同的用户提供不同的权限级别。
作为第二个示例,在紧急情况下,联邦或州政府、市政府、国土安全部,或其他机构或实体可以命令,留出一些无线频率仅供授权的个人使用(如执法部门、紧急响应人员、市领导人、军队等等)。如此,对于这样的系统重要的是,这些频率在紧急情况下对被授权的人员可用,黑客或未经授权的用户不会危害这些频率的可用性和使用。
相应地,后端服务器的实施例通过将生物特征信息(如指纹或相貌的图像等等或由用户的电子设备捕获的声音)与可用于身份验证的后端图像/音频或其他信息进行比较,来对用户进行身份验证。在用户通过了身份验证之后,服务器将启动用户的电子设备与受限的频率的连接。
作为图2的另一个示例,可以拍摄一个人本身或别人(甚至动物)的图像230。然后,可以将图像230发送到服务器,以搜索名人或动物的面貌酷似的人,搜索具有类似的外观的日期,进行变形等等。作为另一个可能的应用,执法部门的人员或调查人员可以单独地捕获可疑人员的图像,然后将这些图像与逃亡者的后端图像文件与犯罪记录进行比较。
可以捕获和识别任何种类的音频232或以别的方式由服务器进行处理。例如,用户可以捕获在收音机上播放的吸引人的曲调的音频或声音字节,并让服务器返回诸如歌曲的名称、艺术家、专辑标题、销售该专辑的商店位置之类的数据。对于音频232的捕获和处理,可以有许多不同的应用。
图3A-3B是显示了系统300的组件和实施例的关联的操作的流程图。为便于说明起见,这里只显示和描述了便于理解实施例的操作的进程和组件。在一个实施例中,至少某些进程和组件可以以软件或存储在机器可读取的介质上的可由一个或多个处理器执行的其他机器可读取的指令来实现。图3A-3B中和其他图形中所描述的各种方向箭头不严格地定义数据或指令的唯一可能的流动方向-相反,这样的方向箭头只一般性地显示了可能的数据或进程的流动方向,应该理解,可以添加其他流程或组件、删除、修改,或以不一定与图3A-3B(或在其他图形中)所描述的相同的方式加以组合。
邮件网关302以通信方式连接到网络126以从那里接收通信。具体来说,根据一个实施例,邮件网关302可以接收从捕获了图像/音频的其中一个用户设备102-122发送的电子邮件或其他通信。在电子邮件通信的情况下,图像或音频可以呈现电子邮件的一个或多个附件文件的形式。图像的可能的格式可以是JPEG、GIF、MPEG等等,而音频可以是.mp3、.wav等等。邮件网关302包括邮件单元304,该单元用于接收电子邮件,以及剥离或以别的方式提取具有捕获的图像和音频的附件或其他信息。邮件单元304还用于提供与服务器306的接口。例如,在从接收到的电子邮件提取附件之后,邮件单元304将提取的信息提供到服务器306。
根据一个实施例,邮件网关302作为独立的简单邮件传输协议(SMTP)服务器来运行,以便服务于解码请求(例如,将媒体传递到服务器306进行解码)。再者,应该理解,邮件网关302可以根据任何合适的邮件协议或平台来操作。邮件网关302提供每个会话(由服务器306)对多个图像附件进行解码的能力,其中,自动地对传入的邮件的所有相关详细信息(如电子邮件的行中的内容、主题字段、附件等等)进行分析,并传递到服务器306。
服务器306包括用于进行处理、通信、存储等等的各种软件和硬件组件。一个或多个处理器308以通信方式连接到一个或多个存储介质310。存储介质310可以包括数据库、随机存取存储器(RAM)、只读存储器(ROM)、文件系统、硬盘、光学介质、或任何其他种类的合适的存储介质或其组合。在实施例中,存储介质310可以存储软件、对象、静态或动态代码、数据、及处理器308可以与其进行合作(例如,执行)以执行这里所描述的各种功能的其他机器可读取的内容。为便于说明,图3的服务器306具有很多组件,这些组件可以以与存储介质310分离的软件来实现-应该理解,在存储介质310中可以存在这些软件组件中的至少一些。
这些软件(或硬件)组件之一是预处理和解码单元312。该单元312用于接收从邮件单元304提取的媒体(如图像或音频文件),对接收到的媒体进行预处理(如果需要的话)以提高其质量和/或将媒体置于合适的格式以便进行解码,并对接收到的媒体进行解码以识别那里的信息。
关于解码,一个实施例的单元312使用多个解码器插件程序314-320(或其他合适的解码器模块)。插件程序314用于对1D条形码进行解码;插件程序316用于对2D条形码进行解码;插件程序318用于解码或以别的方式识别(ID)图像(包括视频帧);以及插件程序320用于对音频进行解码。可以有比图3A明确地显示的更多或更少的插件程序。在一个实施例中,插件程序可以包括针对图像、音频或其他媒体的任何合适的市场上销售的媒体解码器程序。
在一个实施例中,单元312反复将每一个接收到的媒体文件(如图像或音频文件)发送到每一个插件程序314-320,直到这些插件程序中的某一个程序能够成功地解码和识别媒体文件的内容(例如,能够识别序列号、图像中的对象、音频文件中的人的声音等等),并将结果返回到单元312。在另一个实施例中,单元312可以被设计成专门只将接收到的媒体文件定向到插件程序314-320的某一个(或某几个),而不是反复将接收到的媒体文件发送到它们中的每一个。在对1D或2D条形码或携带其他数据的图像成功地进行解码的情况下,插件程序314或316返回字母数字文本或由该图像所携带的其他数据。插件程序314或316可以使用一个或多个第三方解码引擎322来帮助进行解码或以别的方式对1D或2D条形码进行解释,以获取在其上携带的数据。
对于可能不一定携带了数据的图像或音频,插件程序318或320可以分别访问函数查询模块324以帮助识别图像/音频和关联的函数字符串。例如,如果接收到的图像是图2的历史遗址212的图像,那么,函数查询模块就会访问图3B的媒体到函数查询单元326(判断哪一个函数字符串与历史遗址212关联)或者媒体存储位置328(识别历史遗址212为Space Needle)中的任何一个或两者。如果需要查找匹配,则可以使用模糊逻辑或校验和。
媒体到函数查询单元326和/或媒体存储位置328可以存在于服务器326中或存在于外部存储单元330中。在实施例中,媒体到函数查询单元326包括列出与媒体的识别的内容关联的函数(或函数字符串,下面将说明)的查询表或数据库,其中,可以通过访问媒体存储位置328来识别媒体内容。媒体存储位置328可以是数据库、查询表、文件系统或其他合适的数据结构,它们可以存储文件图像、音频、指纹、声音剪辑、文本、图形或几乎任何信息类型,这些信息可以与接收到的媒体内容关联或进行比较,以便识别插件程序318-320或其他插件程序的该接收到的媒体内容。
根据一个实施例,在被解码之前,接收到的媒体可以被格式化或“清理”,以便提高成功地进行解码的可能性。例如,在2D条形码解码器插件316的上下文中,该插件程序可能要求图像以8位位图格式进行解码。如此,实施例以操作集的形式提供在解码之前对媒体进行预处理的功能,操作集作为媒体过滤器进行操作,以便在进行解码之前将接收到的图像置于适当的格式和/或提高图像/音频质量(例如,锐化粒状的或模糊图像或者音频)。
在图3A的示例中,1D条形码解码器插件程序314具有两个操作集(1D图像过滤器332和334)。过滤器332执行对比度调整336和平滑化338。过滤器334执行黑白(BW)转换340。在实施例中,并非所有的操作集都需要在进行解码之前应用。例如,如果第一操作集(过滤器332)的应用导致解码成功地进行,那么,就不需要应用第二操作集(过滤器334),或反之亦然。然而,如果初次操作集没有导致解码成功地进行,那么,可以应用更多的操作集,直到获得成功的结果。
图3A中的操作集的其他示例包括2D图像过滤器342,该过滤器可以执行BW转换344和对比度调整346操作中的任何一个操作或两者都执行。图像识别(ID)过滤器可以执行调整大小350操作或其他操作,而音频过滤器352可以执行其他操作354以提高或改变音频质量和格式。应该理解,图3A中所描述的各种操作仅是说明性的,对于插件程序314-320中的任何一个插件程序,并不是详尽的或限制性的。
在成功地进行解码的情况下,插件程序314-320生成或作为结果返回函数字符串。对于1D和2D条形码(或携带其他数据的图像),返回的结果一般是字母数字字符的字符串。对于其他图像和音频,返回的结果也可以是字母数字函数字符串,如从媒体到函数查询单元326所获取的那样。正如稍后所描述的,函数字符串与函数屏蔽相关联,并指定函数,函数参数以及参数的值。
函数字符串由预处理和解码单元312提供到函数和参数请求单元356。请求单元356对函数字符串进行分析,以获取指定的函数的ID,从图3B的存储单元330获取该函数的参数以及参数的值。一个实施例的存储单元330包括函数存储位置358,该位置存储函数名称和函数本身(如公式、代码、脚本、逻辑关系、对象等等)。存储单元330还包括参数名称和值存储位置360。此存储位置360存储参数名称、关联的值,及可被用作参数的其他信息或可由对应的函数使用的其他数据。
一旦由请求单元356调用或以别的方式获取了函数、参数和参数值,则函数执行和返回单元362执行指定的函数并将结果返回到对应的用户设备102-122。在一个实施例中,通过实现待执行的业务逻辑或其他智能,可以在服务器306中执行函数。在图3A中的364中显示了在服务器306中执行的这些函数。
替代地或另外地,可以远程调用和/或执行函数。例如并参考图3B,可以以通信方式并从服务器306远程连接多个服务器单元366-370。这些服务器单元366-370可以托管(并执行)相应的函数372-376。每一个函数372-376又可以与其他网络组件合作,以获取参数、参数值及在执行过程中可使用的其他数据。作为示例,函数372可以从运行旧式应用程序的第三方服务器378获取数据;函数374可以从应用程序服务器380获取数据;以及函数376可以从外部数据库382或其他来源获取数据。
在一个实施例中,函数执行和返回单元362可以直接向始发用户设备102-122返回响应信息,如通过网络126,而不需要将响应信息路由到邮件网关302。替代地或另外地,函数执行和返回单元362可以将响应信息发送到邮件网关302,以便让邮件单元304接收。然后,邮件单元304可以将响应信息定向到始发用户设备102-122,或将响应信息路由到邮件网关302的响应单元384。
在一个实施例中,响应单元384使用从服务器306接收到的响应信息以查找和形成对用户设备的响应。例如,从服务器306接收到的响应信息,作为对应的函数的执行的结果,可以指示生成邮件和URL并发送到用户设备。响应单元384是这样执行此操作的,从邮件网关302的媒体数据库386获取邮件和/或URL(或其他媒体或数据),以合适的响应格式从那里生成响应,向邮件单元304提供生成的响应,以便传输到始发用户设备102-122。
当然,应该理解,在其他实施例中,服务器306本身的元件可以执行此响应生成和媒体查询,从而消除或降低了邮件网关302中提供单独的组件(例如,响应单元384和媒体数据库386)的必要性。在其他实施例中,响应单元384和媒体数据库386中的任何一个或两者都可以位于服务器306中。
图4是在图3B的存储单元330以数据库形式实现的情况下,存储单元330的架构400的一个实施例的图形表示。应该理解,架构以及其内容仅仅是说明性的,也可以使用其他架构、数据结构或数据关系。
函数表402包含与函数关联的条目。这些条目可以包括,但不仅限于,函数ID、函数屏蔽字符串、参数的数量、函数名称、URL、用户名以及密码。函数ID是唯一地标识每一个函数的字母数字代码。函数屏蔽字符串指定每一个函数字符串的长度(下面将说明)。每一个函数都可以指定任意数量的参数以及函数名称。URL、用户名以及密码这些条目,定义在特定服务器单元366-370(或服务器306)上的什么位置调用函数及其他标准。
函数表402中的条目链接(在404处描述)到函数参数表406。函数参数表406包含与每一个函数的参数关联的条目。例如,对于每一个函数ID,有与相应的参数名称关联的时隙ID(例如,函数字符串中的时隙),相应的参数名称由该函数使用。
函数参数表406中的条目链接(在408和410处描述)到函数参数值表412。例如,链接408将对应的函数链接到函数参数表406,而链接410将该函数的参数(具体来说,指定了参数的时隙ID)链接到函数参数表412中的参数的值条目。函数参数表412可以具有包含函数ID、时隙ID、值ID(即,指定到每一个参数的值的ID)、值以及值名称的字段。
表414-418涉及响应链、响应以及响应媒体。例如,如果将从服务器306发送特定响应(或者或除了在邮件网关302中汇编这样的响应之外),表414-418可以用来将特定函数字符串关联到特定响应内容。关于媒体到函数查询单元326和媒体存储位置328,表414-418可以用来索引特定媒体片段并将这些媒体片段关联到特定函数。每一个媒体片段、响应和响应链都可以具有它们自己的关联的名称和ID。
图5是根据实施例的函数字符串的示意图。在500处显示了函数字符串示例。函数字符串500的此实施例包括九个数字字符序列101002001,应该理解,函数字符串500可以是任何合适的长度,字符格式(数字的、字母的、二进制等等)内容等等。字符101002001可以包含在条形码中,并从条形码中提取,或与识别的图像关联(通过使用媒体到函数查询单元326)。
函数字符串500与函数屏蔽502关联。函数屏蔽502用于定义函数字符串的格式和对函数字符串进行分析以识别对应的函数以及函数参数的方式。在此示例中,函数屏蔽502包括被管道符号|分开的#符号序列。管道符号|将函数字符串分为三个#符号的组,其中,第一组三个#符号定义了函数编号、第二组三个#符号与时隙1关联,第三组三个#符号与时隙2关联。每一个#符号都表示从0-9的数字,因此,每一个组三个#符号都可以表示000-999之间的数字。应该理解,函数屏蔽502中的#符号的总数可以是任何合适的固定或动态长度,管道符号|不必一定将函数字符串只分为三个#符号的组。
在此示例中,函数字符串500中的第一组3个数字是数字101,对应于函数存储位置中的以数字101标识的某个函数。对于此示例,函数101是名为WAPPUSH的函数,该函数涉及向使用无线应用程序协议(WAP)的无线用户设备提供/推信息的函数。函数字符串500的时隙1中的下面3个数字是002,对应于在存储位置360中查找到的某些参数。在此示例中,对应于002的该参数的名称是MESSAGE。由于函数字符串500还剩余3个数字(001),这意味着,还有可以传递到函数101的另一个参数。在此示例中,此另外的一个参数名为URL,它由存储位置360中的001条目标识。
如此,对应于字符串500的函数是WAPPUSH(MESSAGE,URL)。在示例实现方式中,在捕获和发送图像之后以及在函数执行之后,用户将在他的移动电话100接收到MESSAGE(如“您希望查看竞争产品吗?如果希望,则单击此处,”),以及提供到竞争产品信息的URL的链接。MESSAGE“您希望查看竞争产品吗?如果希望,则单击此处,”和提供链接的特定URL是传递到函数101的两个参数的值,并可以存储在存储位置360中并从存储位置360获取。
尽管图5的示例描述了函数字符串500的实现方式,其中根据函数ID以及然后是每一个随后的时隙中的参数ID被分段,但是,应该理解,也可以使用其他数据组织技术。例如,某些时隙可以指定要使用的参数的数量、对应于每一个参数的值数量,值ID编号,甚至参数名称、值名称或值本身或其组合。可以有多个函数屏蔽与每一个图像或音频片段关联,包括在不同的层次嵌套函数屏蔽(可能是不同的长度)。
图6A-6B显示了根据一个实施例的总的对象模型。对象模型的元件可以以软件、代码、模块或存储在机器可读取的介质上的其他机器可读取的指令来实现。例如,图6A-6B的对象模型可以表示存储在存储介质310和/或存储单元330中的并可由处理器308执行的软件。图6A-6B中的至少某些元件或操作(或其部分)可以与图3A-3B中所描述的元件或操作一致。
主要或中央处理对象600作为服务器306调用的主函数操作,以初始化解码过程,加载配置数据,或执行与对媒体进行解码和向用户设备返回响应关联的其他过程。关于初始化过程,处理对象600加载配置信息和调用符号解码器对象602。
符号解码器对象602将每一个解码器插件程序314-320加载到存储器中。然后,每一个解码器插件程序314-320加载其配置的操作集(例如,媒体过滤器332-352)。操作集可以包括指定操作集名称、操作的数量等等的一个或多个对象604。然后,对象604通过将操作606加载到存储器中来填充操作集。
当服务器306接收图像或其他媒体文件以进行解码时,实施例将媒体文件加载到媒体对象608中,该媒体对象作为媒体文件的“包装程序”的类型来操作。接收到的声音或图像媒体还可以是缓冲器中的存储的对象610。替代地,或除了要解码的媒体文件之外,对象608和610也可以表示将被封装在对用户设备的响应中的媒体或其他信息。
然后,将要解码的媒体文件传递到符号解码器对象602,该对象调用“decode media”函数/操作,该函数/操作运行媒体文件上的解码器插件程序314-320的加载的操作集。即,操作集对媒体进行处理,以“将其清理干净”,或将媒体置于适当的格式,然后,对此媒体进行解码。在必要时,还可以由解码媒体函数来调用第三方解码器来识别接收到的媒体。
如果成功地进行了解码,那么,处理对象600创建解码的符号对象612。解码的符号对象612将数据带回到处理对象600,指出符号的内容(例如,图像或音频的内容的识别)、函数字符串(如函数字符串是否是直接从解码的条形码获取的)、状态信息或错误消息(如在识别媒体时解码是否未成功)。
接下来,处理对象600在函数对象614中调用“create functionfrom symbol”方法。当执行此方法时,识别的符号被用来从参数对象616请求与函数名称、函数ID以及参数名称、值、和ID关联的对应的函数字符串。
处理对象600接下来调用函数对象614中的“executefunction”方法以调用并执行函数。函数返回对象618提供关于函数是否被成功地调用和执行的状态信息,并向邮件网关302返回执行的函数的输出(或负责向用户设备发送输出的其他单元)。
图6B显示了实施例所使用的其他对象。例如,可以有响应链对象620、响应对象622以及响应媒体对象624。这些对象620-624用于基于执行的函数和响应媒体的可用性格式化和封装响应,以发送到用户设备。
在图6A中描述了其他对象示例,至少其中有一些可以是可选的。版本对象626表示由服务器306使用的软件版本。servlet(如FloodServlet)628与处理对象600一起操作。日志对象630被用来记录错误或用于调试(或其他用途)的其他信息。批处理解码器对象632可以用来通过提供一批供解码的图像来测试符号解码器对象602。数据源对象634与涉及数据库连接和访问的操作一起使用。
图7是描述了根据实施例的身份验证过程的流程图700,该身份验证过程至少部分地基于参考前面的图形所描述的原理。在方框702中,捕获用户(如移动电话或IP电话用户)的图像、声音或其他生物特征功能,并发送到服务器306。作为示例,用户试图接受身份验证或被授权以在发生紧急状况时使用某些移动电话频率,或使用其他人的IP电话拨打长途电话。
在方框704中,服务器306接收捕获的数据,在适当的情况下,执行预处理,并试图对捕获的数据进行解码。具体来说,在此示例中,服务器306试图识别数据的内容的本质(例如,判断在图像中有面部,音频中有声音,图像中有指纹等等)。使用插件程序318和/或320以及过滤器348-352中的适当一个,执行这些操作。
在识别到数据包含面部、声音、指纹等等时,方框706处的服务器306将解码的数据与存储的数据进行比较,以对用户进行身份验证(例如,判断包装程序用户的识别的图像、声音或生物特征是否对应于被授权的人)。可以通过让插件程序318和/或320将解码的数据与图6B中的媒体存储位置328中的存储的参考数据进行比较,来执行此操作。
如果没有匹配,则意味着,证明用户不是被授权的用户,那么,在方框710中调用对应的函数以拒绝用户进行访问。当调用此函数时,传递函数参数和参数值,然后执行此函数,在方框712中封装响应,并发送到用户。响应可以是显示的消息(通过参数值提供的),例如,说“对不起。此时不允许您使用此设备。”
然而,如果在方框708中用户通过了身份验证,那么,在方框714中调用函数,以允许用户进行访问。当调用此函数,传递函数参数和参数值,然后执行此函数之后,在方框716中封装响应,并发送到用户。响应可以是显示的消息,如“您已经通过身份验证。按任何键继续。”为允许访问,服务器718执行该同一个函数或另一个函数以启动适当的网络(例如,蜂窝网络或IP电话网络)以为用户的设备打开频率。
图8是描述了根据实施例的媒体捕获、对捕获的媒体进行解码、远程函数调用和信息返回的流程图800,该流程图还部分地基于上文所描述的至少某些附图。作为一个示例,流程图800表示可以与使用“两次点击”方法购买产品关联的操作。
在方框802中,通过用户设备捕获某些种类的媒体,如某一个商店中的产品的图像。这可能涉及让用户在移动电话100上执行对按钮的“第一次点击”(或其他第一用户操作),以拍摄产品的照片,并启动向邮件网关302传输所产生的图像的过程。
在方框804-806中,捕获的图像被发送到服务器306,对其进行预处理,并进行解码以获取对应于捕获的图像的函数字符串。在此特定示例中,为这种图像配置的函数字符串可以是涉及提供“竞争产品”信息的函数字符串(与有关与捕获的图像关联的特定产品的信息相比)。
在方框808中,调用函数字符串中指定的函数,包括获取函数参数和参数值。参数值可以包括诸如到竞争对手网站的URL链接、竞争产品的图像、说“您希望查看其他类似的产品吗?是/否,”一个或多个消息之类的项目及其他信息。
当在方框810中执行函数时,生成与竞争产品关联的响应。在服务器306中可以执行此函数,以生成响应,或在远程服务器单元366-370中执行。替代地或另外地,可以在邮件网关302中生成响应。在方框812中,生成的响应被返回到用户的设备。
生成并返回到用户的设备的响应可以包括竞争产品信息、竞争产品的图像,到信息性网站的链接等等。在方框814中,用户可以购买包装程序被发送到邮件网关302的原始图像的产品或在响应中返回的其中一个竞争产品。根据两次点击购买方法的实施例,用户可以在方框814中执行第二次点击(或其他用户操作)以购买产品。
与此第二次点击关联的信息被发送到邮件网关302或对在线订单进行处理的某些其他网络位置。在方框816中对订单进行处理,可以包括诸如向用户发送订单表单让其填写,向用户提供选择菜单之类的活动,或其他与填写用户的订单关联的活动。
在此说明书中引用的和/或在申请数据页列出的上述美国专利、美国专利申请出版物、美国专利申请、外国专利、外国专利申请以及非专利出版物中的全部,都完整地在这里加以引用。
所显示的实施例的上述描述,包括在“摘要”中所描述的内容,不是详尽的描述或将本发明限制于所说明的准确的形式。尽管为便于说明,这里描述了特定实施例和示例,但是,在本发明的范围内可以作出各种等效修改方案,并可以在不偏离本发明的精神和范围的情况下作出。
例如,在图3A中作为单独的组件显示了邮件网关302和服务器306。应该理解,在实施例中,可以使用单一组件来提供相同的功能。例如,可以由服务器306完全地或部分地执行电子邮件接收、图像/音频提取、响应生成及其他操作。类似地,也可以由邮件网关302执行某些解码,而不是仅仅由服务器306来执行。
可以基于上述详细描述,对本发明作出这些及其他修改方案。下列权利要求中所使用的术语不应该被解释为将本发明限制于说明书和权利要求中所说明的特定实施例。相反地,本发明的范围完全由下列权利要求来确定,权利要求应该根据权利要求解释的已确定的原则来解释。
权利要求
1.一种方法,包括接收关于设备当前用户的捕获的信息;对捕获的信息进行解码以确定其内容;将确定的内容与存储的内容进行比较以对用户进行身份验证;以及如果用户经过了身份验证,则调用具有参数的函数,并执行该函数,以允许经过身份验证的用户通过设备访问可用的服务。
2.根据权利要求1所述的方法,其中,执行该函数以允许经过身份验证的用户访问服务的步骤包括执行该函数以允许经过身份验证的用户访问IP电话服务。
3.根据权利要求1所述的方法,其中,执行该函数以允许经过身份验证的用户访问服务的步骤包括执行该函数以允许经过身份验证的用户访问受限制的无线信道。
4.根据权利要求1所述的方法,进一步包括将确定的内容与函数字符串相关联,其中该函数字符串指定函数以及传递给该函数的至少一个参数。
5.根据权利要求1所述的方法,其中,调用并执行该函数的步骤包括远程调用和执行函数。
6.根据权利要求1所述的方法,其中,接收捕获的信息的步骤包括接收图像、音频以及与设备的当前用户关联的生物特征数据中的至少一个。
7.根据权利要求1所述的方法,进一步包括,如果用户没有经过身份验证,则调用另一个拒绝访问的函数,并向设备发送相应的响应消息。
8.根据权利要求1所述的方法,进一步包括在进行解码之前对接收到的捕获的信息进行预处理,以便执行提高该信息的质量和改变该信息的格式中的至少一项操作。
9.根据权利要求1所述的方法,对捕获的信息进行解码的步骤包括使用多个不同的解码器以试图对捕获的信息进行解码,直到这些解码器中的至少一个解码器导致解码成功地进行。
10.一种方法,包括接收关于由设备捕获的主题的媒体;对接收到的媒体进行解码以确定其内容;将确定的内容与函数字符串相关联;以及调用并执行通过函数字符串识别的函数,以将信息返回到与捕获的主题相关的设备。
11.根据权利要求10所述的方法,其中,接收媒体的步骤包括接收主题的人可识别的图像、与主题关联的音频、生物特征信息以及非人可识别的图像中的至少一个。
12.根据权利要求11所述的方法,其中,接收非人可识别的图像的步骤包括接收1D和2D条形码中的至少一个。
13.根据权利要求10所述的方法,其中,对接收到的媒体进行解码包括反复试图通过多个不同的解码器对媒体进行解码,直到这些解码器中的至少一个解码器导致解码成功地进行。
14.根据权利要求10所述的方法,进一步包括在进行解码之前对接收到的媒体进行预处理。
15.根据权利要求10所述的方法,其中,将确定的内容与函数字符串相关联的步骤包括将确定的内容与用于定义该函数字符串的这样的部分的函数屏蔽相关联,即该部分用于标识该函数以及该函数参数的至少一个。
16.根据权利要求10所述的方法,其中,将确定的内容与函数字符串相关联的步骤包括将确定的内容与提供了函数的ID和关于该函数的参数数据的字母数字字符串相关联。
17.根据权利要求10所述的方法,调用函数包括从远离接收捕获的媒体的服务器的服务器单元调用函数。
18.根据权利要求10所述的方法,其中,执行该函数包括向设备的经过身份验证的用户提供对受限制的服务的访问。
19.根据权利要求10所述的方法,其中,向与捕获的主题相关的设备返回信息的步骤包括返回关于捕获的条形码的数据、翻译外语术语、软件注册信息、产品信息、历史数据、电子设备设置、赠券赎回、电影信息、竞争产品数据、菜单建议、面部的确认或声音识别、拍卖列表、生物特征身份验证信息、人搜索数据以及音频数据中的至少一个。
20.根据权利要求10所述的方法,其中,接收媒体包括接收作为电子邮件的一部分的媒体,该方法进一步包括从电子邮件中提取媒体并将所提取的媒体传递到至少一个解码器。
21.一种产品,包括在其上存储了指令的机器可读取的介质,所述指令用于对关于设备当前用户的捕获的信息进行预处理;对捕获的信息进行解码以确定其内容;将确定的内容与存储的内容进行比较以对用户进行身份验证;以及如果用户经过了身份验证,则调用这样的函数,即该函数具有指定了关于经过身份验证用户的权限的值的参数,并执行该函数,以允许经过身份验证的用户通过设备访问可用的服务。
22.根据权利要求21所述的产品,其中,对捕获的信息进行预处理的指令包括对由当前用户所提供的声音、图像以及生物特征数据中的至少一个进行预处理的指令。
23.根据权利要求21所述的产品,其中,执行该函数的指令包括允许经过身份验证的用户访问受限制的无线频率和IP电话服务中的至少一个的指令。
24.根据权利要求21所述的产品,其中,对捕获的信息进行解码的指令包括反复试图利用多个不同的解码器对捕获的信息进行解码,直到这些解码器中的一个提供成功的解码的指令。
25.根据权利要求21所述的产品,其中,机器可读取的介质进一步包括存储在其上的、将确定的内容与由函数屏蔽表示的函数字符串相关联的指令,其中该函数字符串用于指定该函数以及要传递给该函数的参数。
26.一种系统,包括用于接收关于由设备捕获的主题的媒体的装置;用于对接收到的媒体进行解码以确定其内容的装置;用于将确定的内容与函数字符串相关联的装置;以及用于调用并执行通过函数字符串识别的函数,以将信息返回到与捕获的主题相关的设备的装置。
27.根据权利要求26所述的系统,其中,用于对接收到的媒体进行解码的装置包括用于对人可识别的或非人可识别的媒体进行解码的装置。
28.根据权利要求26所述的系统,进一步包括用于从接收自设备的通信中提取接收到的媒体的装置,以及用于生成具有相关信息的响应的装置。
29.根据权利要求26所述的系统,进一步包括用于对设备的用户进行身份验证的装置。
30.根据权利要求26所述的系统,进一步包括用于捕获主题并用于发送待解码的捕获的主题的装置。
31.根据权利要求26所述的系统,进一步包括用于定义与函数以及该函数的参数关联的函数字符串的装置。
32.根据权利要求26所述的系统,进一步包括用于存储关于函数、参考数据以及待返回到设备的媒体的信息的装置。
33.根据权利要求26所述的系统,进一步包括用于处理与捕获主题关联的第一用户操作的装置;以及用于处理与购买涉及捕获的主题的产品关联的第二用户操作的装置。
34.一种设备,包括接收捕获的媒体的第一单元;连接到第一单元以对捕获的媒体进行解码的至少一个第二单元;连接到第二单元以请求函数以及该函数对应于解码后的媒体的参数的第三单元;以及连接到第三单元以执行请求的函数并返回涉及捕获媒体的执行函数的结果的第四单元。
35.根据权利要求34所述的设备,进一步包括连接到至少一个第二单元,以在进行解码之前对捕获的媒体进行预处理的至少一个第五单元。
36.根据权利要求35所述的设备,其中,至少一个第五单元包括多个过滤器,这些过滤器具有操作集,这些操作集将操作应用到捕获的媒体以提高其质量或改变其格式。
37.根据权利要求34所述的设备,其中,至少一个第二单元包括可用于不同的媒体类型的多个不同的解码器。
38.根据权利要求34所述的设备,进一步包括将函数字符串与解码的媒体关联的另一个单元。
39.根据权利要求34所述的设备,进一步包括至少一个处理器和存储介质,其中,至少某些单元是以存储在存储介质上并可由处理器执行的软件形式来实现的。
40.根据权利要求34所述的设备,进一步包括用于存储函数信息、参数和参数值以及媒体的存储单元。
41.根据权利要求40所述的设备,其中,存储单元包括媒体到函数查询单元,以将解码的媒体与函数关联。
42.根据权利要求34所述的设备,进一步包括在其上面执行该函数的至少另一个单元。
43.根据权利要求42所述的设备,其中,从至少某些其他单元中远程查找至少另一个单元。
44.根据权利要求34所述的设备,进一步包括从接收自用户设备的通信中提取捕获的媒体,并将捕获的媒体提供到第一单元的邮件单元。
45.根据权利要求44所述的设备,进一步包括响应单元以作为对用户设备的响应封装执行的函数的结果。
46.根据权利要求45所述的设备,其中,邮件单元和响应单元中的任何一个或者两者位于远离其他单元的邮件网关设备中。
47.根据权利要求34所述的设备,其中,其中一个第二单元包括用户身份验证单元。
48.根据权利要求34所述的设备,其中,第二单元包括解码器插件程序。
49.根据权利要求34所述的设备,其中,所述单元的至少某些元件是作为对象实现的。
全文摘要
由用户设备捕获图像、音频、生物特征信息及其他数据。捕获的数据被发送到服务器,该服务器对捕获的数据进行预处理,然后进行解码,以识别其内容。一旦被识别,捕获的数据与指定对应于捕获的数据的函数和参数的函数字符串相关联。调用并执行函数,以将信息提供回与捕获的数据相关的用户设备,或启动其他操作。返回到用户设备的相关信息可以包括产品信息、翻译、拍卖数据、电子设备销售、音频等等。可以启动的操作包括软件注册、人员搜索,或用户身份验证以允许对受限制的服务进行访问。
文档编号G06Q30/00GK1871602SQ200480030960
公开日2006年11月29日 申请日期2004年10月19日 优先权日2003年10月20日
发明者杰弗利·T.·里德, 詹姆斯·E.·托雷利 申请人:罗吉加利斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1