用于搜索应用的多缓存的方法、装置和计算机程序产品的制作方法

文档序号:6478978阅读:204来源:国知局
专利名称:用于搜索应用的多缓存的方法、装置和计算机程序产品的制作方法
技术领域
本发明的实施例总体上涉及内容检索技术,并且更特别地涉及一种用于搜索应用 的数据库管理和数据缓存的方法、装置和计算机程序产品。
背景技术
现代通信时代已经带来有线网络和无线网络的巨大扩张。计算机网络、电视网络 和电话网络正在经历由消费者需求驱动的前所未有的技术扩张。无线和移动联网技术在提 供信息传送的更多灵活性和即时性时已经解决有关消费者需求。当前和将来的联网技术继续有助于传送信息的简易性和对于用户的便利性。其中 对增加传送信息的简易性和对于用户的便利性的需求的一个领域涉及在网络中提供信息 检索。例如,可以使用各种通信网络使诸如音频、视频、图像内容、文字、数据等信息对于在 不同实体之间的检索是可用的。因而,可以设置与各不同实体关联的设备相互通信以定位 和实现信息的传送。具体而言,已经开发用于使设备如移动终端对与特定查询或者关键字 有关的信息或者内容进行搜索的机制。基于文字的搜索通常涉及到使用搜索引擎,该搜索引擎被配置成基于用户输入的 查询项来检索结果。然而,由于语言挑战,比如多义词,搜索结果的质量可能并不一贯地高。 此外,搜索的数据源可能不具有与进行搜索所针对的特定主题相关的信息。可视搜索功能(如例如在移动终端上执行的移动可视搜索功能)可以利用大型可 视数据库,这些数据库使用图像匹配以比较查询或者输入图像与可视数据库中的图像。图 像匹配可以告知输入的图像与可视数据库中的图像有多接近。顶级匹配(例如最相关的图 像)然后可以通过可视化于移动终端的显示器上来呈现给用户。然后可以提供与图像关联 的上下文信息。因而,简单地通过将移动终端的相机指向特定对象,用户可以基于与最佳匹 配关联的上下文信息来潜在地获得与特定对象关联的上下文信息。然而,与可视搜索关联的一个问题可能在于这样的搜索引擎的运用所需要的大型 可视数据库可能需要数量相对大的源图像用于特征比较。另外,在搜索将由移动终端执行 的实例中,移动设备可能在计算能力和存储器尺寸方面是有限的。这样,典型搜索数据库仅 能针对落入特定区域内的搜索提供充足覆盖,该搜索数据库在这些特定区域内具有足够大 数量的源图像。存在用于在搜索过程期间实现数据库访问的不同方式。当前实施的一种方 法是在执行搜索之前向移动设备的存储器中加载整个数据库。遗憾的是,这一方法可能需 要过于大量的存储器,因此增加移动设备的尺寸和复杂度。另外,由于在巨型数据库中进 行穷尽搜索而增加了搜索的计算复杂度,因此增加为了获得搜索结果而需要的时间。当前 实施的另一方法是在服务器上存储数据库,其中该数据库根据某些搜索标准(比如方位数 据,该数据包括经度/纬度、高度或者GPS方位数据)构造成更小数据库。这样,可以针对 与不同方位关联的数据创建不同数据集。仅在需要数据集时向移动设备的存储器中逐个传 送数据集而不是整个数据库。这一方法的缺点包括在搜索标准改变时从一个数据集向另一 数据集进行切换。在这一实例中,在用不同搜索标准进行搜索之前必须识别和下载新数据集。这一过程不仅延迟搜索而且依赖于网络接入和可用性。因而,可能有利的是提供一种在搜索标准改变时从一个数据集向另一数据集切换 的改进机制,由此潜在地增加执行搜索的速度和在数据集的可访问性方面的可靠性
发明内容
因此,提供一种用于通过为搜索应用执行高效数据库管理和数据缓存来提供改进 的快速和高效搜索的方法、装置和计算机程序产品。具体而言,提供一种利用方位信息和可 视搜索特征以更高效和灵活方式进行基于可视的搜索的方法、装置和计算机程序产品。就 这一点而言,例如可以通过向数据库的组织中并入方位信息来增强基于可视的搜索,其中 海量数据库(数据集)的最相关部分可以本地地位于移动终端中以便在移动终端内提供本 地搜索。这样,根据移动终端的方位改变和移动终端的移动方向更新数据集。因而,可以增 加图像内容检索的效率,并且可以改进用于电子设备如移动终端的内容管理、导航、旅游和 娱乐功能。在一个示例实施例中,提供一种用于搜索应用的高效数据库管理和数据缓存的方 法。该方法可以包括接收并且在第一缓存器中缓存基于用户的当前方位的数据集;接收 并且在第二缓存器中缓存基于用户的当前方位和用户的移动方向的另一数据集;搜索基于 用户的当前方位的数据集以识别来自图像的对象;并且基于用户的方位改变来更新缓存 器。例如,在用户的当前方位改变成在第二缓存器中的数据集内的实例中,更新缓存器可以 包括将第二缓存器与当前方位关联;以及接收并且在第一缓存器中缓存基于用户的当前 方位和用户的移动方向的数据集,由此覆盖第一数据集。在另一示例实施例中,提供一种存储指令的计算机可读介质,这些指令能够可由 计算机执行以便为搜索应用实现高效数据库管理和数据缓存。这些指令包括用于接收并 且在第一缓存器中缓存基于用户的当前方位的数据集的指令;用于接收并且在第二缓存器 中缓存基于用户的当前方位和用户的移动方向的至少另一数据集的指令;用于搜索基于用 户的当前方位的数据集以识别来自图像的对象的指令;以及用于基于用户的方位改变来更 新缓存器的指令。例如,在用户的当前方位改变成在第二缓存器中的数据集内的实例中,用 于更新缓存器的指令可以包括用于将第二缓存器与当前方位关联的指令以及用于接收并 且在第一缓存器中缓存基于用户的当前方位和用户的移动方向的数据集的指令。在另一示例实施例中,提供一种用于为搜索应用提供高效数据库管理和数据缓存 的装置。该装置可以包括处理器,该处理器被配置成接收并且在第一缓存器中缓存基于用 户的当前方位的数据集;接收并且在第二缓存器中缓存基于用户的当前方位和用户的移动 方向的另一数据集;搜索基于用户的当前方位的数据集以识别来自图像的对象;并且基于 用户的方位改变来更新缓存器。例如,在用户的当前方位改变成在第二缓存器中的数据集 内的实例中,处理器可以被配置成将第二缓存器与当前方位关联,以及接收并且在第一缓 存器中缓存基于用户的当前方位和用户的移动方向的数据集。本发明的实施例可以提供一种用于在设备中用来在比如通过可视搜索来增强内 容检索的方法、装置和计算机程序产品。因而,例如移动终端和其它电子设备可以从以高效 方式执行内容检索并且以易懂和有用方式向用户提供结果而减少对文字输入的依赖的能 力中受益。


已经这样一般性地描述本发明的实施例,现在将参照以下附图(未必按比例绘 制)图1是根据本发明一个示例实施例的移动终端的示意框图;
图2是根据本发明一个示例实施例的无线通信系统的示意框图;图3图示了根据本发明一个示例实施例的构造成数据集的数据库的框图;并且图4是根据用于提供对搜索中所用数据集进行双缓存的示例方法的流程图。
具体实施例方式现在将参照其中示出本发明的一些、但是并非所有实施例的附图在下文中更完全 地描述本发明的实施例。实际上,本发明可以用许多不同形式来实施并且不应理解为限于 这里阐述的实施例;相反,提供这些实施例是为了本公开内容将满足适用的法律要求。类似 参考标号通篇指代类似单元。图1图示了将从本发明的实施例中受益的移动终端10的框图。然而应当理解如图 所示和下文描述的移动电话仅举例说明将从本发明的实施例中受益的移动终端的一个类 型,因此不应理解为限制本发明实施例的范围。尽管出于举例目的图示了并且下文将描述 移动终端10的一个实施例,但是其它类型的移动终端(比如便携数字助理(PDA)、寻呼机、 移动计算机、移动电视机、游戏设备、膝上型计算机、相机、录影机、GPS设备和其它类型的语 音和文字通信系统)可以容易地运用本发明的实施例。另外,非移动设备也可以容易地运 用本发明的实施例。下文将主要结合移动通信应用来描述本发明实施例的系统和方法。然而应当理解 可以在移动通信业中和在移动通信业以外与各种其它应用结合利用本发明实施例的系统 和方法。移动终端10包括可操作与发送器14和接收器16进行通信的天线12 (或者多个 天线)。移动终端10还包括分别向发送器14提供信号和从接收器16接收信号的装置,比 如控制器20或者其它处理单元。信号包括根据适用蜂窝系统空中接口标准的信令信息并 且也包括用户话音、接收的数据和/或用户生成的数据。就这一点而言,移动终端10能够 利用一个或者多个空中接口标准、通信协议、调制类型和接入类型进行操作。举例而言,移 动终端10能够根据多个第一代通信协议、第二代通信协议、第三代通信协议和/或第四代 通信协议等中的任一个进行操作。例如,移动终端10可以能够根据第二代(2G)无线通信 协议IS-136 (时分多址(TDMA))、GSM (全球移动通信系统)和IS-95 (码分多址(⑶MA))进 行操作、或者根据第三代(3G)无线通信协议(比如通用移动电信系统(UMTS)、CDMA2000、 宽带CDMA(WCDMA)和时分同步CDMA(TD-SCDMA))进行操作、根据第四代(4G)无线通信协议 等进行操作。理解到装置如控制器20包括比如为了实施移动终端10的音频和逻辑功能而需要 的电路这样的器件。例如,控制器20可以包括数字信号处理器设备、微处理器设备以及各 种模拟到数字转换器、数字到模拟转换器和其它支持电路。移动终端10的控制和信号处理 功能在这些设备之间根据它们的相应能力来分配。控制器20因此也可以包括用于在调制和发送之前对消息和数据进行卷积编码和交织的功能。控制器20还可以包括内部语音码 器并且可以包括内部数据调制解调器。另外,控制器20可以包括用于操作存储于存储器中 的一个或者多个软件程序的功能。例如,控制器20可以能够操作连接程序,比如常规Web 浏览器。连接程序然后可以允许移动终端10例如根据无线应用协议(WAP)、超文本传送协 议(HTTP)等发送和接收Web内容,比如基于方位的内容和/或其它网页内容。 移动终端10也可以包括用户接口,该用户接口包括输出设备(比如常规耳机或者 扬声器24、麦克风26、显示器28)和用户输入接口,它们全部耦合到控制器20。允许移动 终端10接收数据的用户输入接口可以包括允许移动终端10接收数据的多个设备中的任一 个,比如键区30、触摸显示器(未示出)或者其它输入设备。在包括键区30的实施例中,键 区30可以包括常规数字键(0-9)和有关键(#,*),以及用于操作移动终端10的其它硬键 和/或软键。可选地,键区30可以包括常规QWERTY键区布置。键区30也可以包括具有关 联功能的各种软键。除此之外或者可选地,移动终端10可以包括接口设备,比如操纵杆或 者其它用户输入接口。移动终端10还包括电池34,比如振动电池组,用于向操作移动终端 10所需的各种电路供电,以及用于可选地提供机械振动作为可检测的输出。在一个示例实施例中,移动终端10包括与控制器20进行通信的媒体捕获单元,比 如相机、视频和/或音频模块。媒体捕获单元可以是用于捕获图像、视频和/或音频以供存 储、显示或者发送的任何装置。例如,相机模块36可以包括能够从所见对象、捕获的图像或 者来自记录的视频数据的视频流形成数字图像文件的数字相机。相机模块36可以能够捕 获图像、读取或者检测条形码以及其它基于代码的数据、OCR数据等。这样,相机模块36包 括用于从捕获的图像创建和存储数字图像文件而必需的所有硬件(比如透镜或者其它光 学部件)、存储器设备和软件。取而代之,相机模块36可以仅包括为了查看图像或者视频流 而需要的硬件,而移动终端的包括高速缓存存储器、缓存器的存储器设备40、42将由控制 器20执行的指令存储为对于从捕获的和存储的图像创建数字图像文件而言所必须的软件 形式。在一个示例实施例中,相机模块36还可以包括处理单元(比如辅助控制器20处理 图像数据的协同处理器)以及用于压缩和/或解压图像数据的编码器和/或解码器。编码 器和/或解码器可以例如根据联合图片专家组(JPEG)标准或者其它格式进行编码和/或 解码。移动终端10还可以包括与控制器20进行通信的定位传感器70,比如全球定位系 统(GPS)模块。定位传感器70可以是用于定位移动终端10的位置的任何装置、设备或者 电路。此外,定位传感器70可以是用于定位在相机模块36捕获的图像中的兴趣点(POI) (如例如商店、书店、餐馆、咖啡店、百货公司和其它企业等)的位置的任何装置。这样,如 这里使用的兴趣点可以包括用户感兴趣的任何实体,比如产品和其它对象等。定位传感器 70可以包括用于定位移动终端的位置或者在图像中POI的位置的所有硬件。可选地或者 除此之外,定位传感器70可以利用移动终端10的存储器设备40、42将由控制器20执行的 指令存储为为了确定移动终端的位置或者POI图像的位置而必需的软件形式。虽然这一例 子的定位传感器70可以是GPS模块,但是定位传感器70可以包括或者可选地为其它方式, 例如实施为可以与网络设备通信以接收并且/或发送用于在确定移动终端10的位置时使 用的信息的辅助全球定位系统(辅助GPS)传感器或者定位客户端。就这一点而言,移动终 端10的位置可以如上所述由GPS确定、也可以由单元ID、信号三角测量或者其它机制确定。在一个示例实施例中,定位传感器70包括步程计或者惯性传感器。这样,定位传感器70可 以能够确定移动终端10的方位,如例如移动终端10的经度和维度方向或者相对于参考点 如目的地或者起点的位置。然后可以向移动终端10的存储器或者另一存储设备传达来自 定位传感器70的信息以存储为位置历史或者方位信息。此外,如下文更完全描述的那样, 定位传感器70可以能够利用控制器20经由发送器14/接收器16发送/接收去往服务器 (如例如可视搜索服务器51和/或可视搜索数据库53 (见图2))的方位信息,比如移动终 端10的位置和一个或者多个POI的位置。移动终端10也可以包括可视搜索客户端68 (例如一体式移动可视搜索/映射客户端)。可视搜索客户端68可以是能够处理从相机模块36接收的查询(例如图像或者视 频剪辑)并且用于提供结果(包括与查询有一定相似程度(与查询匹配)的图像)、以硬 件、软件或者硬件和软件的结合实施的任何装置、设备或者电路。例如,可视搜索客户端68 可以被配置用于在移动终端10指向对象和/或兴趣点时或者在对象和/或POI在相机模 块36的视线中时或者在对象和/或POI由相机模块36捕获在图像中时对对象和/或POI 进行识别(通过基于查询图像进行可视搜索以搜索存储器设备40、42中存储的数据集内的 相似图像(见图3))。移动终端10还可以配备有存储器。例如,移动终端10可以包括易失性存储器 40,比如易失性随机存取存储器(RAM),该RAM包括用于暂时存储数据的高速缓存区或者 缓存器。移动终端10也可以包括可以是嵌入的和/或可以是可移除的其它非易失性存储 器42。非易失性存储器42除此之外或者可选地还可以包括电可擦除可编程只读存储器 (EEPROM)、闪存等。存储器可以存储由移动终端10用来实施移动终端10的功能、并且还根 据本发明的示例实施例实施可视移动搜索应用的多条信息和数据中的任一条。在本发明的 一个示例实施例中,移动终端10可以包括用于存储从可视搜索数据库53(见图2)接收的 数据集(见图3)的至少两个缓存器以便有助于可视搜索,该可视搜索可以提供包括与查询 有一定相似程度(与查询匹配)的结果。图2是根据本发明一个示例实施例的无线通信系统的示意框图。现在参照图2,提 供将从本发明的实施例中受益的一种类型的系统的图示。该系统包括多个网络设备。如图 所示,一个或者多个移动终端10可以各自包括用于向基站点或者基站(BS)44发送信号并 且用于从基站点或者基站(BS) 44接收信号的天线12。基站44可以是各自包括操作网络所 需的单元的一个或者多个蜂窝或者移动网络的部分,比如移动交换中心(MSC)46。如本领域 技术人员众所周知,移动网络也可以称为基站/MSC/互作用功能(BMI)。在操作中,MSC 46 能够在移动终端10发出和接收呼叫时对去往和来自移动终端10的呼叫进行路由。MSC 46 也可以在呼叫中涉及到移动终端10时提供通向陆线干线的连接。此外,MSC 46可以能够 控制对去往和来自移动终端10的消息的转发并且也可以控制对用于移动终端10的去往和 来自消息接发中心的消息的转发。应当注意,虽然在图2的系统中示出了 MSC 46,但是MSC 46仅为示例网络设备,并且本发明的实施例不限于在运用MSC的网络中使用。MSC 46可以耦合到数据网络,比如局域网(LAN)、城域网(MAN)和/或广域网 (WAN)。MSC 46可以直接耦合到数据网络。然而在一个典型实施例中,MSC 46耦合到网关 设备(GTW) 48,而GTW 48耦合到WAN,比如因特网50。比如处理单元(例如个人计算机、月艮 务器计算机等)这样的设备继而可以经由因特网50耦合到移动终端10。例如,如下文说明的那样,处理单元可以包括与计算系统52、源服务器54、可视搜索服务器51、可视搜索数据 库53等关联的一个或者多个处理单元,如下文所描述的那样。
BS 44也可以耦合到信令GPRS (通用分组无线电服务)支持节点(SGSN) 56。如 本领域技术人员所知,SGSN 56通常能够执行与用于分组交换服务的MSC 46类似的功能。 SGSN 56与MSC 46类似可以耦合到数据网络,比如因特网50。SGSN 56可以直接耦合到数 据网络。然而在一个更典型实施例中,SGSN 56耦合到分组交换核心网络,比如GPRS核心 网络58。分组交换核心网络然后耦合到另一 GTW 48,比如GTW GPRS支持节点(GGSN) 60,而 GGSN 60耦合到因特网50。除了 GGSN 60之外,分组交换核心网络也可以耦合到GTW 48。 GGSN 60也可以耦合到消息接发中心。就这一点而言,GGSN 60和SGSN 56与MSC 46类似 可以能够控制对消息如匪S消息的转发。GGSN 60和SGSN 56也可以能够控制对移动终端 10的去往和来自消息接发中心的转发。此外,通过将SGSN 56耦合到GPRS核心网络58和GGSN 60,比如计算系统52和/ 或源服务器54这样的设备也可以经由因特网50、SGSN 56和GGSN 60耦合到移动终端10。 就这一点而言,比如计算系统52和/或源服务器54这样的设备可以通过SGSN 56、GPRS核 心网络58和GGSN 60与移动终端10通信。通过将移动终端10和其它设备(例如计算系 统52、源服务器54、可视搜索引擎51、可视搜索数据库53等)直接或者间接连接到因特网 50,移动终端10可以比如根据超文本传送协议(HTTP)等彼此之间进行通信或与其它设备 进行通信以由此实现移动终端10的各种功能。虽然这里未示出和描述每个可能移动网络的每个单元,但是应当认识到移动终端 10可以通过BS 44耦合到任何多个不同网络中的一个或者多个网络。就这一点而言,网络 可以能够根据第一代(IG)、第二代(2G)、2. 5G、第三代(3G)、3.9G、第四代(4G)移动通信协 议等中的任一个或者多个支持通信。例如,一个或者多个网络可以能够根据2G无线通信协 议IS-136 (TDMA)、GSM和IS-95 (CDMA)支持通信。又如,一个或者多个网络可以能够根据 2. 5G无线通信协议GPRS、增强型数据GSM环境(EDGE)等支持通信。又如,一个或者多个网 络可以能够根据3G无线通信协议(比如运用WCDMA无线电接入技术的UMTS网络)支持通 信。如双模或者更高模式的移动台(例如数字/模拟或者TDMA/CDMA/模拟电话)应当的 那样,一些窄带模拟移动电话服务(NAMPS)网络以及全接入通信系统(TACS)网络也可以从 本发明的实施例中受益。移动终端10还可以耦合到一个或者多个无线接入点(AP)62。AP 62可以包括根 据以下技术与移动终端10通信的接入点,这些技术如例如是射频(RF)、蓝牙(BT)、红外线 (IrDA)或者多个不同无线联网技术(包括无线LAN(WLAN)技术(比如IEEE 802. 11(例如 802. Ila,802. lib,802. Ilg,802. Iln 等)、全球微波接入互操作(WiMAX)技术比如(IEEE 802. 16)和/或超宽带(UWB)技术(比如IEEE 802. 15)等))中的任一个。AP 62可以耦 合到因特网50。与MSC 46类似,AP 62可以直接耦合到因特网50。然而在一个实施例中, AP 62经由GTW 48间接耦合到因特网50。另外在一个实施例中,BS 44可以视为另一 AP 62。如将认识到的那样,通过将移动终端10和计算系统52、源服务器54和/或多个其它设 备中的任一个直接或者间接连接到因特网50,移动终端10可以相互通信、与计算系统等通 信以由此实现移动终端10的各种功能,比如向计算系统52发送数据、内容等和/或从计算 系统52接收内容、数据等。如这里使用的那样,术语“数据”、“内容”、“信息”和类似术语可以互换地用来指代能够根据本发明的实施例来发送、接收并且/或存储的数据。因此,使用 任何这样的术语不应理解为限制本发明实施例的精神和范围。另外,如本领域普通技术人 员将认识到的那样,可视搜索服务器51、计算系统52、可视搜索数据库53和源服务器54可 以是如图2中公开的那样相互连接的分布式部件(设备)或者它们可以是包括各个分布式 设备的功能的单个部件(设备)并且可以称为“服务器”,该术语旨在于涵盖广泛各种计算 设备。
如将认识到的那样,通过将移动终端10和计算系统52、源服务器54、可视搜索服 务器51、可视搜索数据库53和/或多个其它设备中的任一个直接或者间接连接到因特网 50,移动终端10可以相互通信、与计算系统52、源服务器54、可视搜索服务器51、可视搜索 数据库53等通信以由此实现移动终端10的各种功能,比如向计算系统52、源服务器54、可 视搜索服务器51和/或可视搜索数据库53等发送数据、内容等和/或从计算系统52、源服 务器54、可视搜索服务器51和/或可视搜索数据库53等接收内容、数据等。可视搜索服务 器51例如可以实现为一个或者多个其它服务器,如例如可视地图服务器(该服务器可以提 供与一个或者多个移动终端10或者一个或者多个兴趣点(POI)的地理区域有关的地图数 据)或者POI服务器,该服务器可以存储与一个或者多个POI的地理方位有关的数据并且 可以存储与各种兴趣点有关的数据,该数据包括但不限于POI的方位、POI的类别(例如咖 啡店、餐馆、体育场所、音乐会等)、与POI有关的产品信息等。虽然在图2中未示出,但是除了通过因特网50将移动终端10耦合到计算系统52 和/或可视搜索服务器51和可视搜索数据库53之外或者取而代之,移动终端10和计算系 统52和/或可视搜索服务器51和可视搜索数据库53还可以相互耦合并且例如根据RF、 BT、IrDA或者多个不同有线或者无线通信技术(包括1^^、11^^、11嫩乂、而8技术等)中的 任何技术进行通信。计算系统52、可视搜索服务器51和可视搜索数据库53中的一个或者 多个除此之外或者可选地还可以包括能够存储可以随后向移动终端10传送的内容的可移 除存储器。另外,移动终端10可以耦合到一个或者多个电子设备,比如打印机、数字投影仪 和/或其它多媒体捕获、产生和/或存储设备(例如其它终端)。与计算系统52、可视搜索 服务器51和可视搜索数据库53类似,移动终端10可以被配置成根据RF、BT、IrDA或者多 个不同有线或者无线通信技术(包括通用串行总线(USB)、LAN、WLAN、WiMAX、UWB技术等) 中的任何技术与便携电子设备通信。在一个示例实施例中,可以通过图2的系统在可以与图1的移动终端10类似的移 动终端与图2的系统的网络设备之间或者在移动终端之间传达内容,比如图像内容、方位 信息和/或POI信息。例如,数据库可以在图2的系统的网络设备存储内容并且可以根据 移动设备的方位向可能希望在存储的数据集中搜索特定类型的内容的移动终端10发送数 据库的特定数据集。然而应当理解,图2的系统无需用于移动终端之间或者网络设备与移 动终端之间的通信,而实际上提供图2仅为了举例。另外应当理解,本发明的实施例可以驻 留于通信设备如移动终端10上或者可以驻留于可访问通信设备的其它设备或者网络设备 上。图3图示了根据本发明的一个示例实施例构造成数据集的数据库的框图。将结合 图1的移动终端10描述图3的数据库作为示例。然而应当注意,也可以结合各种其它设备 运用图3的数据库,因此本发明的实施例不应限于在图1的移动终端10这样的设备上的应用。也应当注意,尽管图3图示了一个用于提供在移动设备上从海量数据库进行改进的可 视搜索的数据库配置的例子,但是许多其它配置也可以用来实施本发明的实施例。现在参照图3,描绘了结构化的数据库90,该数据库存储于服务器(见图2)上并 且针对可视搜索应用并且具体针对移动可视搜索应用而设计。数据库可以包括各种不同类 型的内容,比如图像、视频、用于匹配目的的数据和诸如与方位等有关的其它类型的信息。 然而在一个实施例中,各数据记录一般包括或者关联于方位或者其它位置信息。例如,数据 记录的内容可以包括诸如地址、州、电话区号、邮政编码等对方位的引用,或者数据记录可 以与提供类似方位或者位置信息的元数据关联。整个数据库90可以基于某一搜索标准构造成各自包括数据集的多个较小单元100、110、120、130、140。这些单元可以有各种形状和尺寸,比如矩形(如图3中所示)、圆 形或者多边形如六边形。应当注意,图3图示了单元配置的仅一个例子。为各单元限定以 该单元为中心的邻域98。邻域98的形状可以有诸如圆形或者矩形等任何形状。基本上, 邻域98可以确定为如下区域,在该区域中对象从当前单元100是可见的。图像和有关信息 (比如在邻域98中捕获的方位数据)用来为单元构建数据集。在这一情况下,只要当前单 元100的数据集在移动终端上可用,用户可以搜索从当前单元可见的任何对象。方位数据 不限于任一具体种类而实际上包括广泛范围,比如经度/纬度、经度/纬度/高度三元组、 方位指示符、单元ID或者任何其它方位描述符。因而可以针对网格中的每个单元构造数据 集。基于移动终端10的方位,从服务器向移动终端的存储器40、42传送适当数据集。 移动终端10接收并且存储服务器发送的数据集。从服务器向移动终端传送的数据集包括 当前单元和与当前单元邻近但是在移动终端的运动方向偏移当前单元的至少一个单元。尽 管下文将描述一个如下实施例,其中仅发送当前单元和与当前单元相邻并且位于沿移动终 端的运动方向的一个单个单元(称为“后继单元”),但是如果希望,则可以发送沿着移动终 端的运动方向排列的多个单元。然而可以注意,不发送其它单元,比如并非沿移动终端的 当前运动方向或者从当前单元进一步移开或者远离的单元,由此节约带宽、节约在移动终 端处的存储器并且限制移动终端必须搜索的数据,由此允许移动终端而不是服务器执行搜 索。例如,如果移动终端10位于当前单元100中并且在从西向东的方向移动,则移动 终端将存储当前单元100和后继单元110。如果移动终端代之以向北移动,则后继单元是 单元140 ;如果向南移动,则后继单元是单元130 ;而如果向西移动,则后继单元是单元120。 另外,运动方向不限于水平和竖直方向,即东、西、南、北并且也可以包括在东北、西北、东南 和西南方向上移动,其中向移动终端10传送对应的当前单元数据集和分别在东北、西北、 东南和西南方向上的后继单元数据集。此外,尽管图示并且描述了反映二维方位数据的数 据库90,但是数据库可以是多维的,比如方位例如由纬度、经度和高度限定的三维。现在参照图4,该图公开了根据用于为移动搜索应用提供多缓存的示例方法的流 程图。移动终端10可以从服务器接收并且在操作150缓存当前单元100的数据集而且在 操作160根据移动终端10的移动方向缓存后继单元110的数据集。在操作170,移动终端 10可以发出或者接收请求对包括在图像中的对象进行可视搜索的查询、然后可以搜索移动 终端10本地存储的当前单元100的数据集。基于移动终端10的方位,随着移动终端从一个单元移向先前指定为后继单元的单元,在操作180将后继单元数据集设置为当前单元, 并且基于移动终端的当前运动方向的当前后继单元数据集进一步由服务器发送而由移动 终端10接收并且缓存。缓存处理在后台执行(也就是在执行其它应用之时并且无需用户 干预),以免中断移动设备10的正常工作。另外,单元数据集的缓存不限于仅缓存当前单元 和后继单元,根据移动终端10的移动方向和移动终端10的能力,可以缓存多个后继单元数 据集。然而通过限制搜索空间,可以向移动终端传送所有相关数据集,并且可以本地进行搜 索,由此潜在地增加搜索速度并且减少它为了进行搜索而对网络连接的依赖。为了确定移动终端何时已经移入一个这样的位置在先前的当前单元以外而在邻 接单元(比如先前的后继单元)之一之中,服务器可以反复地轮询移动终端的方位,或者移 动终端可以向服务器反复地提供它的当前方位。可选地,移动终端可以本地存储当前单元 的界限、这样可以能够反复地比较它的方位与当前单元的界限。如果这一实施例的移动终 端确定移动终端已经移入另一单元中,则移动终端可以结合对更新已经向移动终端发送并 且由移动终端缓存的数据集的请求向服务器提供它的方位或者新单元的标识。可以用许多方式实现上述功能。例如,用于实现各上述功能的任何适当装置可以 用来实现本发明的实施例。在一个实施例中,所有或者部分单元一般在计算机程序产品的 控制之下操作。用于执行本发明实施例的方法的计算机程序产品包括计算机可读存储介质 (比如非易失性存储介质)和在计算机可读介质中实现的计算机可读程序代码部分(比如 一系列计算机指令)。
从前文描述和关联附图中呈现的教导中受益的与这些发明有关的领域的技术人 员将想到这里阐述的本发明的许多修改和其它实施例。因此将理解本发明的实施例不限于 公开的具体实施例并且修改和其它实施例旨在于包含于所附权利要求的范围内。虽然这里 运用具体术语,但是仅在一般和描述意义上使用而不是为了进行限制。
权利要求
一种方法,包括接收并且缓存基于用户的当前方位的数据集;接收并且缓存基于所述用户的所述当前方位和所述用户的移动方向的至少另一数据集;搜索基于所述用户的所述当前方位的数据集以识别来自图像的对象;并且基于所述用户的方位改变来更新缓存器。
2.根据权利要求1所述的方法,还包括在后台缓存所述数据集。
3.根据权利要求1所述的方法,其中搜索所述数据集还包括为来自所述图像的所述对 象找到最佳匹配。
4.根据权利要求1所述的方法,其中缓存所述数据集还包括在第一缓存器中缓存基于 所述用户的所述当前方位的数据集而在第二缓存器中缓存基于所述用户的所述当前方位 和所述用户的移动方向的数据集。
5.根据权利要求4所述的方法,其中在所述用户的所述当前方位改变成在所述第二缓 存器内的实例中更新缓存器还包括将所述第二缓存器与当前方位关联;以及接收并且在所述第一缓存器中缓存基于所述当前方位和所述用户的移动方向的数据集。
6.根据权利要求1所述的方法,其中搜索所述数据集包括从所述搜索中排除未沿着所 述用户的移动方向的其它数据集。
7.根据权利要求1所述的方法,其中所述移动方向包括高度改变。
8.一种计算机可读介质,存储能够由计算机执行的指令,所述指令包括 用于接收并且缓存基于用户的当前方位的数据集的指令;用于接收并且缓存基于所述用户的所述当前方位和所述用户的移动方向的至少另一 数据集的指令;用于搜索基于所述用户的所述当前方位的数据集以识别来自图像的对象的指令;以及 用于基于所述用户的方位改变来更新缓存器的指令。
9.根据权利要求8所述的计算机可读介质,其中在后台执行所述用于缓存所述数据集 的指令。
10.根据权利要求8所述的计算机可读介质,其中所述用于搜索所述数据集的指令还 包括用于为来自所述图像的所述对象找到最佳匹配的指令。
11.根据权利要求8所述的计算机可读介质,其中所述用于缓存所述数据集的指令还 包括用于在第一缓存器中缓存基于所述用户的所述当前方位的数据集而在第二缓存器中 缓存基于所述用户的所述当前方位和所述用户的移动方向的数据集的指令。
12.根据权利要求11所述的计算机可读介质,其中所述用于在所述用户的所述当前方 位改变成在所述第二缓存器内的实例中更新缓存器的指令还包括用于将所述第二缓存器与当前方位关联的指令;以及用于接收并且在所述第一缓存器中缓存基于所述当前方位和所述用户的移动方向的 数据集的指令。
13.根据权利要求8所述的计算机可读介质,其中所述用于搜索所述数据集的指令包括用于从所述搜索中排除未沿着所述用户的移动方向的其它数据集的指令。
14.根据权利要求8所述的计算机可读介质,其中所述移动方向包括高度改变。
15.一种包括处理器的装置,所述处理器被配置成 缓存基于用户的当前方位的数据集;缓存基于所述用户的所述当前方位和所述用户的移动方向的另一数据集; 搜索基于所述用户的所述当前方位的数据集以识别来自图像的对象;以及 基于所述用户的方位改变来更新缓存器。
16.根据权利要求15所述的装置,其中所述处理器还被配置成在后台缓存所述数据集。
17.根据权利要求15所述的装置,其中所述处理器还被配置成通过为来自所述图像的 所述对象找到最佳匹配来搜索所述数据集。
18.根据权利要求15所述的装置,其中所述处理器还被配置成在第一缓存器中缓存基 于所述用户的所述当前方位的数据集而在第二缓存器中缓存基于所述用户的所述当前方 位和所述用户的移动方向的数据集。
19.根据权利要求18所述的装置,其中所述处理器还被配置成通过以下操作在所述用 户的所述当前方位改变成在所述第二缓存器内的实例中更新所述缓存器将所述第二缓存器与当前方位关联;以及在所述第一缓存器中缓存基于所述当前方位和所述用户的移动方向的数据集。
20.根据权利要求15所述的装置,其中所述处理器还被配置成搜索所述数据集,以便 从所述搜索中排除未沿着所述用户的移动方向的其它数据集。
21.根据权利要求15所述的装置,其中所述移动方向包括高度改变。
22.一种装置,包括用于接收并且缓存基于用户的当前方位的数据集的装置;用于接收并且缓存基于所述用户的所述当前方位和所述用户的移动方向的另一数据 集的装置;用于搜索基于所述用户的所述当前方位的数据集以识别来自图像的对象的装置;以及 用于基于所述用户的方位改变来更新缓存器的装置。
全文摘要
提供一种用于有助于快速和高效搜索的方法、装置和计算机程序产品。该装置可以包括处理器,该处理器被配置成接收并且在第一缓存器中缓存基于用户的当前方位的数据集;接收并且在第二缓存器中缓存基于用户的当前方位和用户的移动方向的另一数据集;搜索基于用户的当前方位的数据集以识别来自图像的对象;并且基于用户的方位改变来更新缓存器,其中更新缓存器包括将第二缓存器与当前方位关联,以及接收并且在第一缓存器中缓存基于用户的当前方位和用户的移动方向的数据集。
文档编号G06F17/30GK101868796SQ200880117062
公开日2010年10月20日 申请日期2008年9月30日 优先权日2007年10月5日
发明者K·皮利, M·雅各布, P·施洛特尔, 熊银根, 王祥林, 高江 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1