CN107103316A - 基于智能手机的方法和系统 - Google Patents

基于智能手机的方法和系统 Download PDF

Info

Publication number
CN107103316A
CN107103316A CN201710150469.7A CN201710150469A CN107103316A CN 107103316 A CN107103316 A CN 107103316A CN 201710150469 A CN201710150469 A CN 201710150469A CN 107103316 A CN107103316 A CN 107103316A
Authority
CN
China
Prior art keywords
mobile phone
data
image
smart mobile
user
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.)
Granted
Application number
CN201710150469.7A
Other languages
English (en)
Other versions
CN107103316B (zh
Inventor
B.L.戴维斯
T.F.罗德里格斯
G.B.罗兹
J.V.阿勒
W.Y.康韦尔
J.K.欧文
A.M.阿拉塔尔
E.罗杰斯
B.A.布拉德利
A.M.里德
R.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.)
Digimarc Corp
Original Assignee
Digimarc 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
Priority claimed from US13/174,258 external-priority patent/US8831279B2/en
Priority claimed from US13/207,841 external-priority patent/US9218530B2/en
Application filed by Digimarc Corp filed Critical Digimarc Corp
Publication of CN107103316A publication Critical patent/CN107103316A/zh
Application granted granted Critical
Publication of CN107103316B publication Critical patent/CN107103316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3276Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • G06T1/0064Geometric transfor invariant watermarking, e.g. affine transform invariant
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/285Memory allocation or algorithm optimisation to reduce hardware requirements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/81Detection of presence or absence of voice signals for discriminating voice from music
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/84Detection of presence or absence of voice signals for discriminating voice from noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32154Transform domain methods
    • H04N1/32187Transform domain methods with selective or adaptive application of the additional information, e.g. in selected frequency coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32309Methods relating to embedding, encoding, decoding, detection or retrieval operations in colour image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera

Abstract

公开了涉及便携式装置(诸如智能手机和平板电脑)的方法和配置方案。一种配置方案使内容的创作者能够选择用于再现该创作者的内容的软件,从而确保艺术家的意图和作品传播之间的连续性。另一配置方案利用智能手机摄像机来识别附近的对象、并基于识别结果来采取动作。另一些配置方案依靠近场芯片(RFID)对象识别,或者依靠音频流(例如,音乐、声音)的识别。所详述的技术中的一些技术涉及与这样的装置相关联的用户界面的改进。另一些技术涉及把这些装置与购物、文本输入、手语解释和基于视觉的发现结合使用。另一些改进在本质上是架构方面的改进,例如与循证状态机和黑板系统有关。另一些技术涉及在便携式装置中使用链接数据,其中的一些便携式装置使用GPU的能力。另一些技术涉及计算摄影学。

Description

基于智能手机的方法和系统
本案是国际申请号为PCT/US2011/059412,进入中国国家阶段日期为2013年7月4日,国家申请号为201180064175.3,发明名称为“基于智能手机的方法和系统”的申请的分案申请
相关申请数据
在美国,本申请要求以下临时申请的优先权:
2010年11月4日提交的61/410,217;
2011年3月4日提交的61/449,529;
2011年3月25日提交的61/467,862;
2011年4月4日提交的61/471,651;
2011年4月26日提交的61/479,323;
2011年5月6日提交的61/483,555;
2011年5月13日提交的61/485,888;
2011年6月27日提交的61/501,602;
并且本申请也是以下各申请的部分连续申请:
2011年6月30日提交的13/174,258;
2011年8月11日提交的13/207,841;以及
2011年10月21日提交的13/278,949。
通过引用将这些申请的全部公开内容结合在本文中。
技术领域
本技术一般主要涉及装配有传感器的消费电子装置,诸如智能手机和平板电脑。
背景技术
本说明书详述了长期组合在一起服务于各种不同目标的多种多样的技术。然而,这些技术以各种方式联系在一起并且常常可以结合起来使用,因此将这些技术一并呈现在本文件这一个文件中。
这种变化的相互关联的主题不适合直接了当的呈现方式。因此,恳请读者宽容,因为本文的叙述会在各种各样的主题和技术之间不时地以非线性方式进行。
所详述的技术是在以前的美国专利申请中详述的工作之上建立的。这些美国专利申请包括以下申请:
2011年5月31日提交的13/149,334;
2011年4月15日提交的13/088,259;
2011年4月4日提交的13/079,327;
2011年1月21日提交的13/011,618(公开号为20110212717);
2010年6月9日提交的12/797,503(公开号为20110161076);
2010年5月5日提交的12/774,512;
2010年3月3日提交的12/716,908(公开号为20100228632);
2009年6月24日提交的12/490,980(公开号为20100205628);
2008年11月14日提交的12/271,772(公开号为20100119208);
2007年1月8日提交的11/620,999(公开号为20070185840);
专利7,003,731;以及
专利6,947,571。
在自从便携式计算装置推出以来的很少的几年中,便携式计算装置(例如,智能手机、音乐播放器和平板电脑)就已经从新奇品转变为近乎必需品。随着便携式计算装置被广泛采用,可用于这种平台的软件程序(“应用程序”)的数量已出现爆炸式增长。现在单从苹果的 iTunes商店就可获得超过300,000个应用程序。
许多应用程序涉及媒体内容。一些应用程序被设计成提供音频或视频内容(例如,电视节目)的即时回放。一些应用程序用于补充媒体内容,例如通过使得能够去往额外的内容(幕后剪辑,演员的传记和访谈,竞赛,游戏,食谱,教导视频),通过提供基于社交网络的特色功能(与其他粉丝通信,包括通过Twitter、Facebook和Foursquare、博客),等等。在一些情况下,与媒体相关的应用程序可以与音频或视频内容同步地进行操作,例如在内容回放期间的适当时间点或事件点呈现内容和链接。
应用程序现在正在变得专门针对于特定的广播和录制媒体内容。例如,ABC电视节目我们这一代(My Generation)就与专门用于该节目的伴侣型iPad应用程序一起推出,其中所述iPad应用程序以同步方式提供民意调查、测验和其他信息。传统媒体公司(诸如CNN、ESPN、 CBS等)也正在越来越多地成为应用程序公司。
应用程序很难在这个拥挤的市场中变得越来越受欢迎。搜索iTunes 和其他应用程序商店是用户借以为他们的装置寻找新应用程序的最常用方法。用于发现应用程序的另一最流行方法是通过来自朋友的推荐。然而,这两种方法都是在应用程序市场非常小时设立的,并且不能很好地扩展。
例如,在我们这一代iPad应用程序的情况下,该节目的制片人必须与目标观众接触并诱使他们去应用程序商店,在应用程序商店中目标观众必须输入应用程序的名称,下载该应用程序,安装该应用程序,然后在该电视节目正在播放时运行该应用程序。
发明内容
根据本技术的某些实施例,提供了一种不同的解决方案。在一个这样的实施例中,配备有麦克风的用户装置对周围环境的内容进行采样,并根据所捕获的音频产生内容识别数据。随后使用该内容识别数据来查找该内容的所有者推荐的应用程序,随后该应用程序几乎不需要或者无需用户采取动作就被安装和启动。
通过这样的配置方案,内容有效地选择应用程序。用户并不选择软件;用户的活动选择软件。随着时间的推移,每个用户装置使应用程序适应于用户的内容偏好,从而针对用户在内容世界中的特定偏好而被最优化。
在某种程度上,本技术的这方面与TiVo的推荐特征类似,只不过针对的是应用程序。用户的内容消费习惯(以及任选地,用户的社交网络朋友的内容消费习惯)会将装置引导到服务于该用户的兴趣的推荐应用程序。
合乎需要的是,向艺术家赋予规定他们的创造性作品所要调用的应用程序的特权。许多国家的法律都承认艺术家在确保其作品的完整性方面享有持续的权益(所谓的“精神权利”)。本技术的实施例服务于该权益——在如何呈现艺术家的艺术品方面向艺术家提供一个持续的角色,从而使艺术家能够规定借以体验他们的作品的优选机制。在艺术家的意图和艺术品的传播之间提供持续性。
并非只是独立的应用程序可以以这样的方式对待。可以类似地做出粒度更精细的软件选择,例如选择将由媒体播放器(例如,Windows 媒体播放器)使用的特定渲染编解码器。例如,全国曲棍球联赛可能会偏向于用针对最大帧速率设计的编解码器渲染其内容。与此对比,食品网可能会偏向于用针对最高彩色保真度优化的编解码器渲染其内容。
从历史上看,“频道”是王者,而内容扮演支持性的角色(即,吸引消费者关注该频道以及该频道的广告)。然而,从消费者的观点来看,这些角色应该颠倒过来:内容应该是主要的。本技术的实施例就基于该前提。用户选择内容,结果,传播机制跟随在后。
根据下面参考附图进行的详细描述,本技术的前述及其它特征和优点将变得更加明了。
附图说明
图1是可在本技术的某些实施例中使用的系统的框图。
图2是可与图1的实施例一起使用的数据结构的图表。
图3-7详细示出例如用于文本输入的说明性视线跟踪实施例的特征。
图8和9详细示出说明性用户界面的特征。
图10示出体现本技术的原理的系统的框图。
图11示出空间频率域中的标记信号。
图12示出根据本技术的一个方面的包括图11的标记信号的印刷物的混合域视图。
图13示出可用于指示隐藏数据的拐角标记。
图14示出图11的标记信号的替代方案。
图15示出从智能手机摄像机输出的数据的图形表示形式。
图16示出用于对象识别的中间件架构。
图17与图16类似,只不过特别针对的是Digimarc Discover(数字标记发现)实现方案。
图18是示出读取图像水印对系统任务的影响的条形图。
图19进一步详细示出在苹果iPhone 4装置上运行的水印识别代理的性能。
图20示出第一和第二图像帧中的显著点的位置。
图21示出与显著点的两帧间的几何配准相关联的直方图。
图22示出智能手机中的图像存储器,其包括各自具有8比特深度的三个颜色位平面。
图23示出相似的智能手机存储器,只不过现在被用于存储RDF 三元组。
图24示出可在图23的存储器中存储的数百或数千个RDF三元组中的一些。
图25示出图23的存储器,现在用详述人们之间的某种关系的说明性RDF信息填充。
图26示出可应用于图25的存储器的谓语平面从而对所描绘的 RDF三元组进行语义推理的模板中的一些。
图27列举了存储器的3x3像素块内的九个RDF三元组。
图28示出智能手机中的存储器的存储内容。
图29A和29B描绘了使用来自图28的存储器的数据的图形用户界面的元素。
图30示出使用存储三元组和相关表格的存储器以生成在向用户生成搜索查询报告的过程中使用的数据。
图31示出智能手机中的存储器的另一种存储内容,其描绘具有整数(例如,8比特)存储容量的更多平面中的四个。
图32示出智能手机利用通知隐写数字水印的存在的独特图形效果来显示从目录页拍摄的图像。
图33和34示出智能手机如何产生沿显示画面的边缘呈现的与显示画面中的不同条目相关联的标签。
图35示出从数据库中检索的与水印标识的目录页相关的信息(即,关于对象形状的对象柄(object handle))。
图36示出如何将图像的不同区域中的不同水印的检测结果通知给用户。
图37示出屏幕上的显示数据利用随应用程序状态而变化的有效载荷被加有数字水印的配置方案。
图38示出可以以图37的配置方案利用的水印查找表。
图39示出包含高带宽和低带宽信道的基于LED的通信系统。
具体实施方式
本技术在一些方面中对受让人的上面详述的专利申请中所详述的技术进行了扩展。假定读者熟悉这些先前的成果,其中这些先前的成果可以在本技术的实现方案中使用(并且本技术也可以结合到这些先前的成果中)。
参考图1,说明性系统12包括装置14,该装置14具有处理器16、存储器18、一个或多个输入外围装置20以及一个或多个输出外围装置 22。系统12还可以包括网络连接24以及一个或多个远程计算机26。
说明性装置14是智能手机或平板电脑,尽管可以使用任何其他消费电子装置。处理器可以包括诸如Atom或A4装置之类的微处理器。处理器的操作部分地通过存储于存储器中的信息(例如操作系统软件,应用软件(例如“应用程序”),数据,等等)来控制。存储器可以包括闪存存储器、硬盘驱动器等。
输入外围装置20可以包括摄像机和/或麦克风。外围装置(或装置 14自身)还可以包括借以把摄像机/麦克风所采样的模拟信号转换为适合于供系统处理的数字数据的接口系统。其他输入外围装置可以包括触摸屏、键盘等。输出外围装置22可以包括显示屏、扬声器等。
网络连接24可以是有线连接(例如,以太网等)、无线连接(WiFi、 4G、蓝牙等)、或者既有有线连接又有无线连接。
在示例性操作中,装置14接收一组数字内容数据,例如通过麦克风20和接口,通过网络连接24,或者通过其他方式。内容数据可以是任何类型;音频只是示例性的。
系统12处理数字内容数据以生成对应的识别数据。这可以通过例如将数字水印解码处理或指纹识别算法合乎需要地应用于表示声音或视觉信息的数据自身来完成,而不是应用于所谓的“带外”数据(例如,文件名、报头数据等)来完成。所得的识别数据用于将接收到的内容数据与相同类型的其他数据(例如,其他音频或其他视频)区分开来。
通过参考该识别数据,系统确定应该被调用的对应软件。执行该操作的一种方式是,利用识别数据为表格、数据库或其他数据结构做索引,从而获得标识适当的软件的信息。一种说明性表格在图2中概念性地示出。
在一些情况下,数据结构可以返回单个软件程序的标识。在该情况下,如果该软件可用,则启动该软件。(可用性不要求该软件驻留在装置上。基于云的应用程序也可以是可用的。)如果该软件不可用,则可以下载该软件(例如,从诸如iTunes商店之类的在线储存库下载)、安装该软件、并启动该软件。(或者,装置可以预订该应用程序的软件即服务云版本。)是否将用户牵扯到这样的操作中可以取决于特定的实现方案:有时请求用户许可;在一些实现方案中,这样的操作会以不打扰用户的方式进行。
有时,数据结构可以识别出几个不同的软件程序。不同的程序可以特别针对于不同的平台,在这种情况下,装置12可以仅挑选与其平台相对应的程序(例如,安卓G2、iPhone4等)。或者,数据结构可以识别出可在给定平台上使用的几个备选程序。在该情况下,装置可以检查从而确定哪个软件已经被安装并且可用(如果存在该软件的话)。如果发现这样的程序,则可以启动该程序。如果发现两个这样的程序,则装置可以使用算法(例如,最近使用的程序;占用最小内存的程序;等等)在这两个程序之间选择,或者装置可以提示用户进行选择。如果备选程序中没有一个程序对本装置而言是可用的,则装置可以选择并下载一个程序——同样使用算法来选择,或者基于来自用户的输入进行选择。一旦被下载并安装,就启动该应用程序。
(有时,数据结构可以识别出实现不同功能的不同程序——这些程序全都与内容相关。例如,一个程序可能是用于发现歌词的应用程序。另一个程序可能是与音乐家传记有关的应用程序。另一个程序可能是用于购买该内容的应用程序。同样,每个不同类别的软件可以包括若干个备选物。)
应注意的是,装置可能已经安装有在技术上适合于与接收到的内容一起工作(例如,适合于再现MPEG4或MP3文件)的程序。对于某些类型的操作,可能有几十个或更多这样的程序在技术上是适合的。然而,内容可能会指示:在所有可能的软件程序所构成的该全域中,只应该使用其子集。
装置14中的软件可以严格地执行内容标识的软件选择。可替换地,系统可以把这样的软件标识作为用户能够推翻的偏好来对待。在一些实现方案中,可以向用户提供激励以使用内容标识的软件。或者,相反地,如果用户要使用与内容所指示的软件不同的软件,就可以向用户征收一定费用或者设置其他障碍。
有时,系统可能会拒绝在装置上再现某些内容(例如,由于缺乏适合的应用程序或硬件性能),但是可以邀请用户将内容传递到具有所需性能的另一用户装置,并可以实现这样的传递。(Ansel Adams(安塞尔·亚当斯)在观看小型低分辨率的智能手机显示屏上被用作屏幕保护程序的大格式照片时,可能会觉得模糊。如果尝试进行这样的显示,软件就可以邀请用户把图像传递到用户家中的大型高清显示器以供观看作为替代。)
作为绝对拒绝再现内容这一方案的替代,系统可以以受限的方式再现该内容。例如,可以将视频再现为一连串的静止关键帧(例如,根据场景转换)。同样,系统可以将内容传递到能够更充分享受该内容的地方,或者如果硬件条件允许(例如,屏幕显示分辨率足够),则可以下载并使用所需的软件。
如图2的表格(该数据结构可以驻留在存储器18中,或者驻留在远程计算机系统26中)所示,除了基于内容识别数据之外,对软件的指示还可以基于一个或多个背景环境因素。(仅示出两个背景环境因素;当然可以使用更多或更少的因素。)
“背景环境”的一个正式定义是“可以用于表征实体(被认为与用户和应用程序之间的交互相关的人、地方或对象,包括用户和应用程序自身)的状况的任何信息”。
背景环境信息可以有许多种类,包括计算背景环境(网络连接性、内存可用性、处理器类型、CPU争用等)、用户背景环境(用户概况、位置、动作、偏好、附近朋友、社交网络和境遇等)、物理背景环境(例如,光照、噪声水平、交通等)、时间背景环境(日时、日、月、季节等)、上述背景环境的历史、等等。
在所示的表格中,行32和34对应于相同的内容(即,相同的内容ID),但是它们指示应该使用不同的软件,这取决于用户的背景环境是室内还是室外。(软件是用5符号十六进制标识符指示的;内容是用 6个十六进制符号指示的。当然也可以使用具有其他形式、并且长度更长或更短的标识符。)
行36示出包含两项软件的软件选择——这两项软件都被调用。(一项软件包括进一步的描述符——将由软件“FF245”加载的YouTube 视频的识别符。)对处于白天背景环境中的用户以及处于20-25岁年龄段的用户指示该软件。
行38示出用户位置(邮编)和性别作为背景环境数据。用于该内容/背景环境的软件以备选的方式指定(即,四个标识符以“或”连在一起,与行36的“和”相对)。
行40和42示出,相同的内容ID可以对应于不同的编解码器——取决于装置的处理器(Atom或A4)。
(利用比较的观点,考虑目前借以选择编解码器的方法。通常,用户不熟悉相互竞争的编解码器之间的技术区别,并且艺术家也没有发言权。因此,对编解码器的选择不是由与该选择有最切身利益的两方中的任何一方做出的。而是,默认的编解码器与某种媒体再现软件 (例如,Windows媒体播放器)捆绑出现。如果默认的编解码器无法处理某些内容,则该再现软件通常会下载另外的编解码器——同样,并未接收来自最关心的各方的输入。)
应理解的是,表格30中由内容指示的软件可以是独立的应用程序,或者是软件组分(例如编解码器,驱动器等)。软件可以再现内容,或者软件可以是内容伴侣——提供与内容相关的其他信息或功能。在一些实现方案中,“软件”可以包含提供给另一软件程序或在线服务的 URL或其他数据/参数(例如,YouTube视频标识符)。
合乎需要的是,表格中标识出的所有这样的软件由与之相关的内容的所有者(例如,艺术家、创作者或版权持有者)选择。这会向所有者提供在大多数其他数字内容系统中缺少的艺术控制措施。所有者在这些问题上的控制应该被给予比例如内容分发者(例如AOL或 iTunes)更多的尊重。同样,所有者的选择看来应该得到比为装置提供文字处理和电子表格软件的公司更大的权重。
所有者对软件的选择常常基于美学和技术价值。然而,有时候,商业考虑因素也会起作用。(如艺术家Robert Genn指出的那样,“‘挨饿的艺术家’在20岁是可以接受的,在40岁是受怀疑的,在60岁是有问题的。”)
因此,例如,如果用户的装置在周围环境中检测到由乐团十二月党(TheDecemberists)表演的音频,则数据结构30中的艺术家指定数据可以指示:该装置应该加载用于购买检测到的音乐的Amazon应用程序(或加载相应的Amazon网页),以引发销售。如果同一装置在周围环境中检测到由红辣椒乐队(Red Hot Chili Peppers)表演的音频,则该乐队可能会出于相同的目的而规定装置应该加载该乐队自己的网页(或另一应用程序)。所有者因此可以规定用于完成面向内容对象的交易的服务。
在一些方案中,艺术家挨饿的问题可以通过拍卖方案而最好地得到纠正。也就是说,装置14(或远程计算机系统26)可以向在线服务 (类似于Google的AdWords)通知:有某种人口统计特征概况/背景环境信息可供使用的一个用户的iPod已经检测到电影《阿凡达》的配乐。接着可以发生一个小型拍卖——为了获得向用户提供购买机会的特权。获胜者(例如,EBay)于是将中标金额支付到一个帐户中,所述中标金额在该帐户中与拍卖服务、艺术家等分享。用户的装置通过启动用户借以购买电影的副本、配乐或相关商品的EBay应用程序来做出响应。将这样的内容检测事件和相关的背景环境信息推送到基于云的服务,可以使响应市场能够富有竞争力。
(拍卖技术也被详细记述在受让人的前面提到的专利申请以及 Google的已公开专利申请US2010017298和US2009198607中。)
内容的流行会导致相关的软件也类似地变得流行。这会引发其他内容所有者也考虑将这样的软件用在他们自己的内容上,因为该软件的广泛采用会便于使消费者接触到这些其他所有者的内容。
例如,环球音乐集团可以用标识符对其所有的歌曲加数字水印,所述标识符会使FFmpeg MP3播放器被确定为首选再现软件。环球音乐集团(UMG)的艺术家的忠实粉丝会很快安装所推荐的软件——导致这样的软件在大量消费装置上得到采用。当其他音乐所有者考虑在表格30中指定什么软件时,FFmpeg MP3软件的广泛使用会成为其他音乐所有者在作选择时重视的因素之一。
(表格30中指示的软件可以随时间而改变,例如在一首歌曲的发布周期的整个过程中随时间而改变。当一个新乐队发布一首歌曲时,表格指示的软件可以包括旨在向公众介绍该新乐队的应用程序(或者可以出于该目的而指示YouTube剪辑)。在该音乐已经变得流行并且该乐队已经变得更有名之后,可以指示不同的软件选择。)
目前,音乐发现和其他内容相关应用程序通常是通过应用软件实现的。操作系统(OS)软件提供多种多样的有用服务——其中一些服务(例如,I/O)通常会在内容相关应用程序中用到。然而,商用OS 软件以前还没有提供过特别针对于内容处理或识别的任何服务。
根据本技术的另一方面,提供了操作系统软件来执行特别针对于内容处理或识别的一个或多个服务。
在一个特定实现方案中,OS应用程序编程接口(API)取内容数据(或者指向存储有内容数据的位置的指针)作为输入,并返回与其相对应的指纹数据。另一OS服务(或者使用同一API来提供,或者使用另一API来提供)取得相同的输入,并返回根据该内容数据解码的水印信息。(输入到API的输入参数可以指定将要应用多个指纹或水印处理中的哪个处理。可替换地,服务可以将几个不同的水印和/或指纹提取处理应用于输入数据,并将作为结果而得到的信息返回给调用程序。在水印提取的情况下,可以通过参考纠错数据或类似数据来检查作为结果而得到的信息是否具有明显有效性。)
同一API或另一API可以进一步处理所提取的指纹/水印数据以获得与内容相关联的基于XML的内容元数据(例如,提供作品的名称、艺术家的名字、版权持有者等的文本)。为了执行该操作,同一API或另一API可以查阅远程元数据注册库(例如由Gracenote维护的元数据注册库)。
这样的内容处理API可以建立消息队列(例如,“监听/收听队列”),其中指纹/水印提取处理的结果(或者是按照字面意义,或者是相应的元数据)被发布到所述消息队列中。一个或多个应用程序可以监视(钩住(hook))该队列——监听某些标识符。一个应用程序可以留心甲壳虫乐队的音乐。另一应用程序可以监听迪斯尼电影配乐。当检测到这样的内容时,可以启动监视应用程序或另一应用程序进入活动状态——将事件记入日志,补充媒体内容,提供购买机会,等等。
可替换地,这样的功能可以与操作系统分开实现。一种方法是利用发布/预订模型,通过该发布/预订模型,一些应用程序将能力(例如监听特定类型的音频)和其他预订发布给这样的功能。通过这些配置方案,联系松散的多个应用程序可以相互协作从而实现类似的生态系统。
本技术的一个应用程序是监视用户所遭遇到的媒体——作为后台处理。也就是说,与诸如Shazam之类的歌曲识别服务不同,用户不需要采取任何动作来启动发现操作去了解特定歌曲的身份。(当然,用户在某个时刻必须开启装置,并授权执行该后台功能。)而是,在用户度过的一天的过程中,装置长时间监听——比类似Shazam的服务的 10-15秒长得多。当遇到内容时,处理并识别该内容。将识别信息记入装置的日志中,并将该识别信息提供给某个软件以反映与该内容的这次遭遇,从而在下一次用户的注意力转向该装置时使用户能够了解这次遭遇。
例如,装置可以处理周围环境中的音频十五分钟、一小时或一天。当用户下一次与装置进行交互时,装置可以呈现用户已经遭遇到的内容的列表。可以邀请用户触摸感兴趣的内容列表,从而融入到发现操作中。与该内容相关的软件随之启动。
在一些实现方案中,装置可以向软件应用程序提供至少部分地基于内容识别数据的信息。这种信息提供可以使例如YouTube应用程序显示与用户听到的歌曲的音乐视频相对应的缩略图——使该音乐视频准备好被选择。同样,可以将90秒的样本音频剪辑下载到iPod音乐播放器应用程序——所述样本音频剪辑可从“最近遭遇”文件夹中获得。来自乐队的电子邮件可以添加到用户的电子邮件收件箱中,并且小游戏应用程序可以加载与该乐队有关的一系列问题。这样的数据驻留在本地(即,用户不需要指示例如从网站取得这样的数据),并且在下一次使用对应的应用程序时将该信息突出显示给用户,从而根据用户的内容体验定制这些应用程序。
社交媒体应用程序可以充当借以呈现并分享这样的信息的平台。当用户激活Facebook应用程序时,例如,一个化身可以进行问候“我注意到你今天经历过以下事情……”,并随后列出用户遭遇到的内容,例如乐队十二月党的“说谎者比利(BillyLiar)”、乐队丹迪沃霍斯 (Dandy Warhols)的“Boys Better”、以及勒布朗·詹姆斯(LeBron James) 为耐克(Nike)新拍的广告。应用程序可以向用户提醒遭遇到各内容时所处的背景环境,例如在2010年11月4日走过波特兰市中心时(例如通过装置中的GPS和加速计传感器确定)。Facebook应用程序可以邀请用户将这些内容中的任何一个与朋友分享。应用程序可以进一步询问用户是否想要这些乐队中的任何一者的唱片分类目录,或者是否想要所述内容的完整数字副本,是否对与任何内容相关的补充内容感兴趣,或者是否想要启动相关联的应用程序,等等。
应用程序可以(利用适当的许可来)类似地报告该用户的朋友们的媒体遭遇经历以及相关活动。
根据前述内容应认识到的是,前述实施例中的某些实施例使用户在定位与某媒体内容相关的应用程序时遇到的难题变得容易。而是,媒体内容用于定位其自身偏爱的应用程序。
这样的实施例确保了艺术家的意图和艺术品传播之间的连续性;这样的实施例优化了艺术品意图要营造的体验。艺术体验不再必须由艺术家无法控制的传播平台传递——平台可能会寻求使自身得到关注,从而潜在地会从用户感兴趣的艺术品分散注意力。
本技术也促进了应用程序市场的竞争,从而在哪个应用程序最能表达艺术家的作品方面向艺术家赋予了更突出的话语权。合乎需要的是,可能会显现达尔文效应,通过该达尔文效应,应用程序的流行在表达品牌和营销预算这一方面的意义变得更小,并且在反映由此传播的内容的流行性这一方面的意义变得更大。
其他配置方案
参考对象交互对数据流进行过滤/突出
用户被越来越多地呈现大量数据。其实例包括:数百个电视节目频道,电子邮件,以及RSS/Twitter/社交网络/博客供稿。为了帮助用户处理这样的信息流,已经提出了根据用户概况数据来过滤或突出输入信息的技术。
一个熟悉的实例是例如来自TiVo的DVR软件,其基于表观的用户兴趣来呈现完整的电子节目指南的子集。TiVo软件通知哪些电视节目已经由用户观看过,邀请用户以“翘拇指”或“倒拇指”评级的形式进行反馈,然后基于这些过去的行为和评级来建议潜在感兴趣的未来节目。
更近期的实例是Google的用于其Gmail服务的“优先收件箱”。对到来的电子邮件进行分析,并根据其对用户的潜在重要性进行评级。在作这样的判断时,Google会考虑用户以前阅读过什么样的电子邮件,用户以前回应过哪封电子邮件,以及与这些邮件相关联的发件人/关键词。在这种评估中得分高的到来电子邮件被呈现在邮件列表的顶部。
公司My6sense.com提供了一种用于筛选RSS和Twitter供稿的类似服务。同样,软件监视用户与数据供稿的历史交互,并在优先级方面提升看上去与用户最相关的到来条目。(在其处理Twitter供稿的过程中,My6sense考虑用户已点击过的链接、用户已标记为收藏的tweet 帖、用户已转发的tweet帖、以及表征这些tweet帖的作者/关键词。)
这样的原理可以扩展到包含对象交互。例如,如果访问诺德斯特龙(Nordstrom)百货商店的人使用她的智能手机拍摄了一双Jimmy Choo牌子的机车靴的图像,则这可以被推断为表示对时尚、或骑摩托车、或鞋类、或靴子、或Jimmy Choo牌子的商品等有一定兴趣。如果此人之后使用她的智能手机对River Road牌子的摩托车鞍座袋成像,则这会暗示此人的兴趣可以更准确地表征为包括骑摩托车。在辨别出每个新图像中的对象时,会搜集到关于此人的兴趣的更多信息。一些早先的推断可能会得到加强(例如,骑摩托车),其他假定可能会被减弱。
除了识别图像中的对象之外,所述分析(其可以包括通过众包进行的人类审阅)还可以对活动进行辨别。也可以指出位置(或者根据图像推断,或者通过GPS数据或类似数据指示)。
例如,应用于一帧图像的图像分析可以确定:该帧图像包括一个骑摩托车的人,以一顶帐篷和森林环境作为背景。或者在以时间顺序排列的一系列图像中,一个图像可能被发现包括一个骑摩托车的人,几分钟后拍摄的另一个图像可能被发现包括与前一帧的摩托车骑乘者有相同装扮的一个人——现在被描绘成在森林环境中紧邻着一个帐篷,并且几分钟后拍摄的另一图像可能被发现描绘的是在森林背景中被骑乘的摩托车。GPS数据可以确定所有图像的位置在黄石国家公园。
随着时间而积累的这样的历史信息可以揭示出经常发生的主题和模式,这些主题和模式指示出用户感兴趣的主题、活动、人和地方。可以基于系统对每个这样的推断结果准确地表征用户兴趣的把握程度,对该属性赋予一个置信度度量。(在刚刚给出的实例中,“摩托车”的得分会高于“Jimmy Choo牌子的商品”。)这样的数据可以随后在过滤或突出向用户的装置呈现的上述数据供稿(等等)的过程中得到使用。
在对装置的使用历史进行汇编时,兴趣和媒体消费模式的全面历史会显现,可以使用该全面历史来增强用户与世界的交互。例如,如果用户对来自Sephora的时尚配饰成像,则对该用户的垃圾电子邮件过滤器进行控制的参数可以被修改成允许接收来自该公司的电子邮件——否则来自该公司的这些电子邮件可能已经被阻挡。用户的万维网浏览器(例如,智能手机上的Safari浏览器;家用PC上的Firefox)可以将Sephora的网页添加到“建议收藏”列表中——与Tivo对节目建议所做的操作类似。
用户可以选择建立基本上由用户的对象派生概况拥有的Twitter帐户。该Twitter账户追随与用户近来感知的对象相关的tweet帖。如果用户已经对佳能单反相机成像,则该兴趣可以被反映在与概况相关的 Twitter账户中,该Twitter账户可以追随与这样的主题相关的tweet帖。该账户可以随后把这样的帖子转发到一个供稿源,用户可以从该用户自己的Twitter账户追随或定期检查所述供稿源。
这样的对象派生概况信息可以不仅仅用于影响对通过智能手机、电视、PC和其他内容传递装置传递给用户的内容所做的选择。所述对象派生概况信息还可以影响这些内容的组成。例如,用户与之交互的对象可以被包含在供用户消费的媒体混搭中。用户常去的虚拟现实游戏世界中的核心人物可以穿着Jimmy Choo牌子的机车靴。从对手处缴获的珍宝可以包括佳能单反相机。
每一次用户与对象交互时,可以通过Twitter、Facebook等发布这次交互(以用户许可和分享参数为依据)。这些信息传达也可以被认为是FourSquare意义上的“登记”,但是在这种情况下针对的是对象或媒体类型(音乐、电视等),而不是位置。
基于这些公共公报,社交框架可能会显现。对来自20世纪80年代的手工制造的比利时产竞赛用自行车感兴趣的人(通过这些人拍摄了这种自行车的图像的事实得到证明)可以例如在Twitter或Facebook (或他们的后继者)上聚集成一个亲合社交团体。因此,基于对象的社团可以由感兴趣的用户定义和发掘。
社交网络理论家将认识到,这是一种社交网络分析形式,但利用的是表示物理对象的节点。
社交网络分析利用网络理论看待人际关系,在所述网络理论中,网络包括节点和纽带(有时被称为边(edge)、链接或联系)。节点是网络内的各个单独的行为人,而纽带是各行为人之间的关系。作为结果而得到的基于图的结构可能会较复杂;在各节点之间可以存在许多种纽带。在刚刚给出的情况中,关系纽带可以包括“喜欢”、“拥有”等。
特定的3D图可以将人对象放置在一个平面中,并将物理对象放置在一个平行的平面中。两个平面之间的链接使人与这些人拥有或喜欢的对象相关联。(默认关系可以是“喜欢”。“拥有”可以根据背景环境推断出来,或者根据其他数据推导出来。例如,由用户拍摄的、并且地理位置处于该用户的住宅中的科迈罗(Camaro)汽车可以表明“拥有”关系。类似地,在公共数据库中对科迈罗牌照的查找结果表明该汽车被登记为属于该用户,这也会暗示“拥有”关系。)
这样的图也通常包括人对象之间的链接(如社交网络图中常见的那样),并且也可以包括物理对象之间的链接。(一种这样的链接是物理接近度的关系。停车场中彼此紧邻着停放的两辆车可以通过这样的关系链接起来。)
在这种网络中去往一个物理对象的链接数量是该对象在该网络中的相对重要性的指示。两个不同的物理对象之间的关联度可以通过把这两个物理对象链接起来的网络路径的长度来表示——路径越短,则表示关联度越紧密。
用户对一些对象的兴趣可能是短暂的,而用户对另一些对象的兴趣可能是长期的。如果用户仅对特定类型的对象成像了一次,则这可能属于前一类情况。如果用户随时间的推移反复拍摄这种对象类型的图像,则这更可能属于后一类情况。基于概况数据所做的判定可以考虑对象指示的兴趣的时效,使得一年前遇到的对象不会被赋予和近期遇到的对象相同的权重。例如,系统对基于佳能单反相机的tweet帖的追随可以仅持续一天、一周或一个月,而之后就不再追随,除非由该用户成像的其他对象证明该用户对佳能装备或单反相机有持续的兴趣。可以对每个对象兴趣赋予一个数字概况分数,该数字概况分数通过与该类型的对象的反复遭遇而被增大或维持,否则随着时间的推移而减小。随后使用该分数来在处理内容的过程中对与该对象相关的兴趣进行加权。
(尽管详述的配置方案通过分析捕获的图像数据来识别物理对象,但应认识到的是,用户与之交互的对象也可以通过其他方式得到识别,例如通过检测与这些对象相关联的RFID/NFC芯片。)
与上文详述的方案类似的原理和实施例可以应用于对用户的音频环境进行的分析,包括音乐和语音识别。这样的信息可以类似地应用于对向用户(例如,用户装置)呈现的数据流和/或用户(用户装置) 发送的数据流进行的选择和编制。通过考虑由用户装置传感器捕获的视觉和听觉刺激这两者,可以提供更大的效用。
文本输入
智能手机上的前置摄像机可以用于以注视跟踪模式加快文本输入的速度。
首先可以通过让用户相继地看显示屏幕上的3或4个已知位置,同时使用智能手机摄像机101监测一只或两只眼睛的注视位置,来建立基本的几何参照系。在图3中,用户相继地看点A、B、C和D。可以通过重复该循环来实现准确度的提高。(假定读者熟悉注视跟踪系统的原理,因此在这里对其不再赘述。其示例性系统被详细记述在例如专利公开20110013007、20100315482、20100295774和20050175218、以及这些专利公开中引用的参考文献中。)
一旦系统已经确定使用户的眼球注视位置和装置屏幕相关联的几何框架,用户就可以通过注视所显示的键盘102上的键来指示首字母。 (能够更充分利用屏幕的其他键盘显示当然也可以使用。)用户可以通过诸如示意动作(例如,眨眼)之类的信号、或者通过在智能手机机身上(或者在放置智能手机的桌子上)轻拍,来表示对所注视字母的选择。在文字被选定时,将其添加到消息区域103中。
一旦已经呈现首字母(例如,“N”),就可以通过在屏幕的放大字母菜单部104中呈现可能的下一字母来加快数据输入的速度(以及使注视跟踪更准确)。每次输入一个字母时,都呈现可能的下一字母(例如通过对有代表性的语料库中的字母配对进行频率分析来确定)的菜单。其实例在图4中示出,在图4中所述菜单采取由铺瓦构成的六角形阵列的形式(尽管其他配置方案当然也可以使用)。
在该实例中,用户已经输入了文本“Now is the time for a_”,并且系统正在等待用户选择填入下划线106所指示位置的字母。最后一个选定的字母是“a”。该字母现在以变灰的格式显示在中央铺瓦中,并且由多种选项(包括“an”、“at”、“al”和“ar”)围绕。这些选项是以“a”开头的四个最常用的字母配对。在所示出的六角形阵列中,还显示有“--”选择铺瓦108(表明下一个符号应该是空格)、以及键盘选择铺瓦110。
为了输入下一个字母“l”,用户仅需注视“al”显示铺瓦112,并通过轻拍或其他示意动作表示接受,如上所述。系统随后将屏幕更新为如图5中所示。此处,消息已经扩展了一个字母(“Now is the time for al_”),并且菜单104已经被更新为显示以字母“l”开头的最常用的字母配对。装置请求输入下一个字母。为了输入另一个“l”,用户注视“ll”铺瓦114并做出示意动作。
初步研究表明,大大高于50%的文本输入都可以通过可能的下一字母(包括空格)所构成的放大字母菜单来完成。如果需要输入不同的字母,用户仅需注视键盘铺瓦110并做出示意动作。类似图3所示键盘的键盘或另一键盘显现出来,并且用户从该键盘中做出选择。
作为如图2和3所示呈现四个字母配对、一个空格和一个键盘图标这一方案的替代,备选实施例呈现五个字母配对和一个空格,如图6 中所示。在该配置方案中,键盘始终显示在屏幕上,因此用户可以从该键盘中选择字母而无需进行图4中的选择键盘铺瓦110的中间步骤。
作为通常的键盘显示102的替代,可以使用图7中所示的变种键盘显示102a。该布局反映了这样的事实:由于五个最可能的字母已经呈现在六角形菜单中,所以这五个字符不需要存在于所显示的键盘上。在所示出的实例中,上述五个键没有被完全省略,而是被呈现为超小的键。对21个剩余的字母赋予超大的键。这样的布置加快了用户从键盘选择字母的速度,并且使得对其余键的注视跟踪更加准确。(也可以使用从键盘中完全省略上述五个字母键的另一变种。)
还应指出的是,图7的变种键盘布局102a省略了通常的空格键。由于存在着对应于空格符号的放大菜单铺瓦116,所以在键盘102a中不需要空格键。在所示的布置中,该区域已被替换为常用的标点符号。
本领域技术人员将认识到的是,可以实现许多替代方案和扩展方案。例如,最后一个字母并不需要显示在六角形的中心。该空间可以空置,或者可以用于指示通过用户的当前注视位置而明显指明的下一个字母,使得用户能够在做出示意动作进行确认之前检查该选择。(当利用明显指明的字母进行更新时,注视中心铺瓦不会改变先前基于注视的选择。)通过选择与图4中的键盘铺瓦110类似的数字键盘图标,可以将数字键盘召唤到屏幕上。或者数字键盘可以在消息编写操作的整个过程中都显示在屏幕上(类似图6中的键盘102)。一个或多个六角形铺瓦可以呈现用户正在输入的完整单词的猜测结果——同样是基于对文本语料库的分析。
用于确定最常见的字母配对和整词猜测结果的语料库可以由用户定制,例如是由用户撰写的或从用户的装置发送的所有文本和/或电子邮件消息的历史存档。当然,所指出的显示特征可以通过与所使用的智能手机功能(例如,文本消息发送应用程序)相关的其他图形标记和控制而得到增强。
在另外的实施例中,用户可以从与智能手机显示器分开提供的符号和单词中进行选择(例如从印刷页面上的符号和单词中进行选择)。大型的完整键盘和完整数字键盘可以呈现在这样的页面上,并且可以与所显示的字母菜单(类似菜单104)相独立地使用、或者与所显示的字母菜单(类似菜单104)结合使用。(同样,智能手机摄像机可以用于执行注视跟踪,并且可以通过让用户注视多个参考点来执行几何校准。)
手语
正如智能手机可以观察用户的眼睛并解释其动作那样,智能手机也可以类似地观察用户的手势并对其进行解释。其结果是手语解释器。
手语(美国和英国手语是最有影响力的)包括多种多样的元素——这些元素全都可以通过摄像机捕捉、并通过适合的图像分析软件识别。手势通常包括手型和取向这两方面,并且也可以通过位置(或关节摆放)和移动来表征。手语字母表(手指拼写)手势是类似的,并且大多用于固有名称和其他专业词汇。
一种示例性手语分析模块通过识别具有与大多数肤色相关的色域内的色度的连续像素集,将智能手机拍摄的图像分割成多个感兴趣区域。将由此分割的图像随后应用于分类引擎,该分类引擎试图使手型与参考手型数据库内的最佳匹配者匹配。同样,处理图像帧序列以辨别表示手型内的不同点的运动的运动矢量、以及取向随时间的变化。同样,将这些辨别出的运动应用于由参考运动和变化构成的数据库以识别最佳匹配者。
当在数据库中找到匹配的手势时,从数据库记录中取得与所辨别的手势相关联的文本含义、并且可以将其以单词、音素或字母的形式输出到输出装置(诸如智能手机显示屏)。
合乎需要的是,来自数据库的最佳匹配数据并不以原始形式输出。优选地,数据库为每个手势识别一组候选匹配者——每个候选匹配者具有相应的置信度度量。系统软件随后考虑单词、音素或字母的什么样的组合最可能出现在该连续上下文中——对各可能匹配者的不同置信度赋予权重,参照详述单词拼写的参考数据库(例如,词典),并识别频繁地以手势表示的词对和三元词组。(本领域技术人员将认识到的是,类似的技术可以用在语音识别系统中以降低输出无意义短语的可能性。)
识别软件也可以通过训练而受益。如果用户注意到系统对某个手势给出了不正确的解释,则用户可以做手势表明将要重复先前的手势以进行重新解释。用户随后重复该手势。系统随后提供备选解释——避免(被系统推断为不正确的)前一个解释。可以重复该处理,直到系统用正确的解释做出响应(这可以利用用户的手势(例如翘拇指的手势)来确认)。系统可以随后把刚刚表示的手势与正确的含义相关联地添加到其参考手势数据库中。
类似地,如果系统对一手势做了解释、并且用户并没有对该解释表示异议,那么可以把关于所拍摄的手势图像的数据与该解释相关联地添加到参考数据库中。通过该配置方案,系统可以学习识别一些手势的各种表达。该技术也允许系统随着时间的推移而被训练,从而识别用户特定的日常用语和其他癖好。
为了帮助机器识别,可以对标准手语进行增强以向图像分析软件提供帮助理解的一些校准或参考信息。例如,当对智能手机做手势时,用户可以以这样的手势开始:例如,将手掌面向外部伸展手指和拇指(通常表示数字“5”的手势),随后收回手指从而握成拳头。这允许智能手机识别用户的肤色色度,并确定用户的手和手指的大小。该同一手势或另一手势可以用于把各概念分隔开——就像一个句子末尾的句号那样。(这样的标点符号通常在美国手语中用停顿来表示。对于基于机器视觉的手语解释来说,明显的手势、而不是不做手势,会是更可靠的分析元素。)
如前所述,可以将所解释的手语输出为智能手机显示器上的文本。然而,也可以实现其他配置方案。例如,可以仅把文本存储起来(例如,以ASCII或Word文档的形式),或者可以将文本通过文本语音转换器输出,以获得可听的话音。类似地,可以将文本输入到翻译例程或服务(例如,Google翻译)以将其转换成另一种语言——在这种情况下可以存储、显示或说出所转换的文本。
智能手机可以采用其接近传感器来检测用户的身体部位(例如,手)的接近,随后拍摄摄像机图像帧,并检查这些帧以获得肤色色度和长边(或者作为手和/或手指的特征的其他属性)。如果这样的分析推断出用户已经将手朝向手机移动,则手机可以激活其手语翻译器。相关地,苹果的FaceTime通信软件可以适于在用户将手放置成由手机摄像机成像时激活手语翻译器。此后,用户手势的文本对应物可以例如通过文本显示、文本到语音转换等方式传递给该手机所链接到的其他方。
流模式检测器
根据本技术的另一方面,智能手机被配备成从多个对象快速捕捉标识信息并使该标识信息可在之后进行回顾。
图8示出一个实例。该应用程序包括一个大的查看窗口,该查看窗口利用来自摄像机的流视频进行更新(即,通常的取景器模式)。当用户摇动摄像机镜头时,系统对图像进行分析以辨别任何可识别的对象。在图8中,在摄像机的视场内有若干个对象承载着条形码。
在所示出的系统中,处理器从中心位置开始分析图像帧——从而寻找可识别的特征。(在其他配置方案中,可以遵循从上到下、或其他图像搜索顺序。)当手机找到一个可识别的特征(例如,条形码118) 时,手机在该特征周围叠盖一括号120或突出显示该特征,以向用户指示所显示的图像的哪一部分吸引到手机的注意力。“嗖”的声音随后从装置扬声器发出,并且一个动画标志从屏幕上由括号括起来的部分移动到底部的历史按钮122。(动画可以是一个正方形图形向下坍缩成历史按钮处的一个点。)紧邻着历史按钮显示的红圈计数器124指示由此检测到的并且放入装置历史中的条目数量(在该情况下是7)。
在这样处理过条形码118之后,系统继续对视场进行分析以获得其他可识别的特征。从中心位置向外操作,系统接下来识别条形码126,并且类似的一系列操作跟着发生。计数器124被递增到“8”。系统接下来注意到条形码128——尽管条形码128部分地处于摄像机视场外部。(某些条形码的冗余编码使这样的解码能够进行。)从识别和捕捉来自这三个条形码的数据到该数据在带有相关用户反馈(声音和动画效果)的状态下进入装置历史中所经过的时间小于3秒(通常是1或2 秒)。
通过轻拍历史按钮122,之前捕捉的特征的滚动显示得以呈现,如图9中所示。在该列表中,每个条目包括指示识别出的特征的类型的图形标志,以及从该特征辨别出的信息、和检测到该特征的时间。(时间可以以绝对形式表示、或者相对于当前时间表示;图9示出后一种情况。)
如图9中所示,系统检测到的特征并非必须要在摄像机数据中发现。这些特征可以包括根据音频(例如,识别出一个人在讲话)或根据其他传感器辨别的特征。图9示出手机还从由“NFC”标志指示的近场芯片(例如,RFID芯片)感测数据。
在之后的时间,用户可以重新调出该历史列表,并轻拍感兴趣的标志。手机随后通过启动与该特征相对应的响应应用程序(或者通过呈现用户可从中选择的若干可用特征的菜单)来做出响应。
有时,用户可能会希望关闭所详述的流模式操作,例如当环境富含可检测的特征、并且用户不想进行多重捕获时。应用程序UI(用户界面)上的按钮控制件130可切换这种功能的开启和关闭。在所指示的状态下,多个特征的检测被启用。如果用户轻拍该控制件,则其标志切换成“多重捕获被关闭”。当手机在该模式下检测到一个特征时,系统将其添加到历史中(如之前那样),并立即启动对应的响应应用程序。例如,系统可以调用万维网浏览器功能,并加载与检测到的特征相对应的网页。
循证状态机和基于黑板的系统
本技术的另一方面涉及基于智能手机的状态机,其响应于传感器输入而改变自身的操作。
申请12/797,503详述了黑板数据结构如何被用于在各系统组件之间传递数据。下面的讨论提供了关于说明性实施例的另外的信息。
在该说明性系统中,既有物理传感器又有逻辑传感器。物理传感器对传感器进行监视并将来自该传感器的数据馈送到黑板。智能手机的摄像机和麦克风是特定类型的物理传感器,并且从种属上可以被称为“媒体传感器”。一些传感器可以输出若干种类型的数据。例如,图像传感器可以输出像素数据帧,并且也可以输出AGC(自动增益控制) 信号。
逻辑传感器通常从黑板获得数据、并使用该数据来计算另外的数据。该另外的数据通常也被存储回到黑板中。(申请12/793,503中讨论的识别代理是逻辑传感器的实例。另一实例是推理引擎。)在一些情况下,相同的物理数据在处理过程中可能会经过逻辑传感器精炼的多个阶段。
产生或消费媒体内容的模块可能会需要某种特别的功能,例如以便允许与其他模块进行格式协商。这可以包括:向识别代理询问其请求的格式(例如,音频或视频,以及相关的参数),并随后从黑板获得对应的传感器数据。
下面是详述用于从所捕获的图像读取数字水印(读取图像水印情境)的示例性六阶段物理传感器/逻辑传感器数据流程的表格。所存储的数据列给出黑板内存储的数据的名称。(MS代表媒体传感器;PS代表物理传感器;LS代表逻辑传感器;并且RA代表识别代理。)
前两行仅表明:一帧视频数据和相关的AGC数据(其可以是例如整个帧的平均亮度值)从摄像机被写入黑板。第三行示出:由智能手机加速计系统感测到的相关的手持机移动数据也被写入黑板。
在第四行中,表格表示:将之前存储到黑板中的Data_Frame数据应用于图像分类器(各种逻辑传感器),从而导致分类数据被存储在黑板中。(分类数据可以具有各种类别。一种类型的分类数据是色彩饱和度。如果一个帧具有非常低的色彩饱和度,则这表明该帧不是彩色场景,而更可能是白色背景上的印刷文本或条形码。如果 Data_Classification数据表明该场景可能是印刷文本或条形码,则说明性的数据流程将不会激活水印检测器,尽管在其他实现方案中可以根据图像的黑和白或灰度级而读取水印。另一分类器使讲话与音乐区分开来,例如使得在输入讲话音频时不会运行歌曲识别处理。)
第五行表明:将刚刚派生的分类数据、以及AGC和加速计数据从黑板中重新调出、并应用于水印推理模块(另一逻辑传感器)以获得帧质量度量,该帧质量度量被写回到黑板中。水印推理模块使用输入数据来估计该帧具有能够使水印(如果存在水印的话)得以解码的质量的可能性。例如,如果AGC信号表明该帧非常暗或非常亮,那么水印不太可能恢复。同上,如果加速计数据表明智能手机在拍摄图像帧时正在被加速,那么水印也不太可能恢复。(加速计数据通常是对重力进行过补偿的。)同样,如果分类器指示该帧是低饱和度数据集,则水印也不太可能恢复。
第六行示出:将刚刚确定的帧质量度量与所捕获的图像帧一起提供给水印读取器(识别代理)。如果帧质量超过阈值,则水印读取器将尝试从图像中解码水印。将这种尝试的结果存储在读取结果数据中(例如,“1”表示水印被成功解码;“0”表示未找到水印),并将解码出的水印有效载荷(如果有的话)存储为WM_ID。
(在另一实施例中,作为在帧质量度量超过阈值的情况下有条件地调用水印解码器这一方案的替代,可以将该度量用作基于系统背景环境对水印解码器的操作进行动态控制的优先级值。如果系统在忙于其他操作、或者如果另外的背景环境(诸如电池充电)使得解码操作的成本昂贵,那么将不会对具有低质量度量的帧进行水印处理,以便不会从高优先级处理那里分散系统资源。)
在说明性系统中,在配置文件中列举已安装的模块。这些模块可用于进行实例化并在运行时使用。该配置文件还详述一个或多个情境 (例如,上文详述的读取图像水印、以及指纹音频)——每个情境规定对该情境应该使用的模块的集合。在运行时,应用程序对规定要调用的特定情境的中间件进行初始化。中间件配置和情境通常从XML配置文件加载。
说明性系统用C/C++进行编码(例如,使用Visual Studio 2010),并遵循图10所示的架构。中间件(其包括黑板、以及事件控制器和中间件状态机)用动态链接库(DLL)来实现。
如本领域技术人员所熟悉的那样,图10的系统采用标准化接口,通过所述标准化接口,不同的系统组件可相互通信。特别地,(上述) 系统应用程序和中间件之间的通信通过API来实现,所述API定义用于启动各功能调用和向各功能调用提供服务的约定/协议。类似地,传感器模块(其通常被实现为在运行时由中间件动态加载的DLL)通过服务提供商接口(SPI)与中间件进行通信。
图示的黑板可以以各种方式存储数据,例如键值对(key-value pair)、XML、本体(ontology)等。示例性黑板将数据存储为键值对,并且使用推拉API来访问这些键值对。通过悲观锁定来处理并发控制——从而防止一个处理在数据正被另一处理使用时访问该数据。除了离散数据元素(例如,整数和字符串)之外,黑板数据类型还包括数据块(datablob)。
除了数据值本身,每个数据条目还具有若干项相关数据(元数据)。这些相关数据包括:
名称
来源(生成该条目的模块的名称)
数据类型
数据尺寸
参考计数
时间戳(上一次更新时间)
使用寿命(该值在多长时间内是有用的)
质量(该值有多大可靠性)
存储在黑板中的值具有以下代表性数据类型:
视频帧
视频统计信息(帧速率、AGC、焦距等)
加速计数据
WM读取结果
WM ID
视频分类结果
数据通过API和SPI都支持的功能而被写入黑板或从黑板读取。这样的功能是本领域技术人员所熟悉的,并且包括(利用括号中的内容表示作为API/SPI调用的一部分而传递的值):
BB_CreateEntry(名称,来源,类型,尺寸),返回句柄
BB_OpenEntry(名称),返回句柄
BB_GetEntryNames(来源,缓冲区)
BB_GetEntryInfo(名称,来源,信息)
BB_GetEntryInfo(句柄,信息)
BB_GetValue(句柄,值)
BB_SetValue(句柄,值)
BB_CloseEntry(句柄)
除了上面详述的数据类型之外,各模块使用一组具有公用命名方式的条目来将状态信息发布到黑板。每个名称通过使用样式“前缀+‘_’ +模块名称”来生成。前缀包括:
状态(数字状态代码)
错误(上一次错误的错误字符串)
结果(最近一次操作的数字结果代码)
API和SPI功能还包括初始化、反初始化(Uninitialize)、加载情境(LoadScenario)、启动、停止和暂停,通过这些功能,相关的DLL 被初始化(或反初始化)、并且不同的情境被配置和启动/停止/暂停。
图10的中间件的事件控制器模块应付不同的SPI的各种优先级、处理复杂度和处理频率。例如,图像水印解码器RA是处理器密集型,但是对离散的帧进行操作,因此如果其他SPI需要时间来运行则可以忽略一些帧。(例如,在对图像流(即,视频流)执行水印图像读取情境的过程中,可以丢弃各种帧——从而按比例缩放执行的规模使其适应于可用资源,以及防止系统陷入困境。)相反,音频水印解码器RA 的处理器密集度会较低,但是需要处理不间断的流中的音频数据。也就是说,当音频数据流可用时,音频水印RA应该优先于其他SPI。当存在多个媒体流(例如,音频和流式图像)、并且其他RA正在进行处理时,如果有高质量图像帧可用,则事件控制器可以定期地中断音频处理以允许进行图像处理。
合乎需要的是,每个模块包括一个数据结构,该数据结构详述关于该模块的优先级需求和限制、执行频率等的信息。这种结构中的数据的实例如下:
名称
类型(PS,MS,LS,RA)
优先级(从低到高,具有例如2-10个阶梯级别)
所消耗的黑板数据值
所产生的黑板数据值
模块和应用程序还可以发布具有相应触发值(或触发值范围)的黑板触发函数,该黑板触发函数会使中间件(例如,黑板或事件控制器)在黑板中的某种数据满足触发值标准时向该模块/应用程序发布通知/消息。一种这样的触发是:如果读取图像水印操作返回的读取结果的值为“1”,则发信号表示成功水印读取。另一种触发是:如果音乐识别模块识别出电视节目《实习医生格蕾》的主题曲,则发信号表示。通过这样的功能,模块/应用程序可以保持休眠状态,直到被通知黑板上存在某种数据为止。
通过前述配置方案,将会认识到的是,每个传感器可以将数据和状态信息发布到黑板,并且该信息可以由其他模块和不同的应用程序取得和使用,这些其他模块和不同的应用程序继而将其各自的结果发布到黑板。通过这样的迭代处理,来自单个物理传感器的原始数据可以接连地得到处理并利用其他信息得到增强,并利用其他信息进行推理,以执行高度复杂的操作。读取图像水印只是这样的系统能够实现的多阶段处理的简单实例。
关于中间件等的更多说明
图16是用于媒体和物理对象识别的中间件的另一架构视图。这种灵活的架构也可以用于向应用程序传递更多背景环境信息。该设计包括:黑板,传感器组,识别代理(RA)组,推理引擎,以及事件控制器。
如前所述,黑板处于该架构的中心。黑板是一个共享的储存库,各系统组件通过该储存库进行通信。通常不允许在任何其他系统组件之间进行直接通信。示例性的黑板被虚拟地构造成多个分立的部分,每个部分专用于给定类型的数据。例如,存在用于音频数据的一个部分和用于图像的另一部分。
传感器组提供输入到黑板、并且可以包括摄像机、麦克风、加速计、陀螺仪、环境光传感器、GPS等。RA组可以包括图像和音频水印读取器、指纹读取器、条形码读取器等。每个传感器和RA都包含专用知识库,该专用知识库用于估计实现分配给它的任务所需的成本以及所得结果的质量。这会支持可扩展性,使得能够在不影响系统的其他组件的情况下添加或移除传感器或RA。
事件控制器协调系统的整体操作。推理引擎监视黑板的内容并推断背景环境数据,以使传感器和RA组中的资源利用最优化。推理引擎将推断出的数据写入黑板。
通常最小数量的传感器处于活动状态以提供输入到黑板。在接收到来自任何组件的输入时,黑板可以将该变化通知给所有组件。每个传感器和RA随后评估该输入是否能够帮助解析检测到的对象的身份。传感器可以通过提供相关的且更准确的数据来帮助解析身份。传感器或RA使用其知识库来估计其解决方案的成本和质量,并将这些数据写入黑板。事件控制器激活被估计为最经济地产生最优效果的传感器或RA。传感器和推理引擎继续更新黑板,以确保最适合的模块总是处于使用状态。系统继续该处理,直到对象的身份得以解析。在该情境下,事件控制器使系统中的功率和资源的利用最优化。例如,如果照明程度较差或者设备处于剧烈运动中,则不使用摄像机、并且图像水印读取器和条形码读取器都不会被用于识别处理。
图17示出数字标记的发现应用程序(Digimarc Discover)的中间件架构。其用C/C++和汇编语言实现、并且对iPhone和安卓平台进行了优化。Digimarc Discover应用程序集成了用于数字水印、条形码和音频指纹的RA。
图17中描绘的架构和图16中所示的架构之间的主要差别是:缺少正式的推理引擎,以及黑板的角色更受限制。尽管实现了一些机制来决定是否处理媒体样本,但是并不需要完整的推理引擎。此外,黑板被基本上用作用于移动媒体数据(音频和视频)以及一些传感器数据(加速计、陀螺仪等)的手段。黑板使所有捕获的数据同步并排成队列以供RA消耗而不管其采样率如何。当RA准备好执行处理时,该 RA从黑板中的对应数据队列请求媒体样本。黑板随后向该RA提供媒体数据和相关联的传感器数据。
当RA开始处理媒体样本时,该RA可以使用附加到样本中的任何传感器数据。该RA首先决定是否要处理样本。仅当该RA有相对把握能实现正确识别时,该RA才会执行其识别任务。否则,该RA就放弃操作并等待下一个媒体样本。RA可以使用逻辑传感器来调谐其识别参数。如果成功,则该RA将其结果通过中间件返回给应用程序。
为了提供有吸引力的用户体验,RA应该在有把握识别对象/媒体时快速地处理大量数据以获得最佳的机会。因为识别处理需要这样大量的数据,所以与操作系统的适当集成是合乎需要的。该集成度通常是基于所使用的特定音频和视频捕获处理来调谐的。没有这样的集成,黑板就可能不具有足够的数据供RA执行检测,并且获得正确识别结果的概率会降低。同时使用多个RA会使该问题恶化。
Digimarc Discover应用程序的初始实现方案作为演示平台工作的效果相当好,但是其速度不快且不易扩展。集成附加的识别技术会提出性能和实现方面的挑战。为了解决这样的情况,实现了两种类型的优化:
一种优化是通过与智能手机媒体捕获子系统的改善的集成,来更高效地利用OS资源。另一种优化是RA的特别针对iPhone的优化。这些优化将详述如下。
iPhone版本的Digimarc Discover应用程序依靠苹果的Grand Central Dispatch线程工具,其允许应用程序的大规模多线程具有低线程等待时间。音频和视频流在分立的线程中被记录,并且每个RA在其自己的线程中运行。开销并没有随着线程的数量而显著增加。甚至对iPhone的单核处理器带来的益处也远超过可能的弊端。RA处理通常是通过音频和视频捕获线程驱动的,但是这可以取决于所使用的RA 的类型而变化。
如前所述,在流式图像(视频)识别技术(例如,水印和条形码) 和音频(例如,水印和指纹)识别技术之间存在着根本的差别,即,视频技术处理各个单独的图像,而音频技术处理数据流。视频作为帧序列被传递给应用程序,每一帧都是完整的图像。然而,音频是作为原始字节流中的数据块被传递的。虽然视频帧可以独立存在,但是单个音频块对音频识别而言常常是无用的。大多数音频识别技术至少需要若干秒(等于许多块)的音频数据来进行一次识别。
数据类型和采样率之间的该差别会导致中间件架构的不同。在高处理器利用率期间,各个单独的视频帧可以在对视频RA的鲁棒性的影响忽略不计的情况下被丢弃。然而,音频RA需要若干个数据块来识别内容。Digimarc Discover应用程序的初始实现方案并非总是针对音频进行操作,在所述初始实现方案中RA在媒体样本变得可用时处理媒体样本。在一些情况下,音频处理会在处理负担繁重期间滞后,从而导致结果的延迟,并会慢于所期望的用户界面。为了解决该问题, Digimarc Discover应用程序采用优先级系统,在该优先级系统中,中间件通过降低能够负担得起跳帧的RA的处理速度、同时保持其他RA 全速运行,来使处理达到平衡。
处理图像/视频帧是CPU密集度最高的任务之一。两个分立的RA (水印检测器和条形码读取器)可以被同时使用以处理每张拍摄的图像。排除一个RA对图像的检查可以显著提高性能。如上所示,Digimarc Discover应用程序使用分类器来决定条形码读取器是否应该处理图像。由于条形码几乎总是用黑色和白色印刷,所以分类器检查图像的饱和度,并排除具有显著量的色彩的那些图像。类似地,通过参考语音分类器来控制基于指纹的Gracenote音乐识别RA,这会避免在麦克风音频被分类为语音时调用Gracenote RA。
如上所述,图像水印读取情境采用来自智能手机加速计的数据——防止在图像可能包括过度运动模糊的情况下读取尝试获得的水印。类似地,其他智能手机逻辑传感器(包括其他位置/运动传感器、以及焦距、自动白平衡、自动增益控制和ISO的传感器)可以用于识别低质量帧,使得智能手机资源不会由于处理质量差的输入而被不必要地消耗。
我们的工作已经表明,逻辑传感器会帮助优化系统资源的使用,并增强用户体验。以类似的方式,提供关于用户背景环境和装置背景环境的额外信息的逻辑传感器能实现更复杂的操作。合乎需要的是,有关装置在何时、何地、如何被使用以及由谁使用的信息被包含在涉及中间件的所有判定中。一些实现方案采用背景环境的正式表示形式、以及基于人工智能的推理引擎。在这样的配置方案中,传感器和RA 可以被认为是知识源。
(在某种意义上说,任何逻辑传感器都可以被视为推理模块。光传感器可能会检测到低照度,并推断出智能手机的背景环境是处于黑暗中。这样的推断可以用来发出打开手电筒以增加照明度的信号。更复杂的配置方案采用智能手机中的若干个模块。例如,光传感器可能会检测到低照度,并且麦克风可能会检测到瑟瑟的噪声。系统可以推断出智能手机处于用户的口袋中,在这种情况下,开启摄像机的手电筒功能可能是没有意义的。更复杂的配置方案可以采用一个或多个系统模块以及用户历史数据和/或外部资源。例如,系统可以通过音频指纹识别模块、外部数据库和用户历史而确定:智能手机用户已经观看了电视节目《实习医生格蕾》第4季第6集15分钟,并且萨拉·拉米雷斯(Sara Ramirez)即扮演外科医生考利·托雷斯(Callie Torres)的女演员是用户最喜爱的女演员之一,从而使智能手机把去往拉米雷斯的维基百科条目的链接呈现在这部分剧集播放期间显示给用户的菜单选项列表的顶部。)
将认识到的是,识别的功效受RA和中间件的速度的影响很大。在这方面可以做出各种改进。
可以利用在给定的聚合平台利用概况(aggregate platform utilizationprofile)下的接收器工作曲线,来对每个RA进行建模。理想地,采用对应于RA的每个实例的移动装置概况来通告系统设计。
Digimarc图像水印RA通过用汇编语言实现FFT、对数极坐标变换(log-polar)和非线性滤波阶段以便利用iPhone的A4处理器中的 NEON寄存器,来针对iPhone平台进行优化。
图像水印RA处理具有8比特深度的128x128像素块,并且图像水印RA可以作为单块或4块检测器运行。在单块实施例中,NEON 实现方案的执行时间对带有标记和未带标记的帧都减少20%,如下表所示。对未带标记的帧的排斥速度的提高会产生更高的吞吐量,这继而会提高RA所作的识别尝试的速率。
基线 NEON(单块) NEON(4块)
未带标记 63ms 50ms 15-20ms
带有标记 177ms 140ms 140ms
NEON优化(毫秒)
当寄存器的SIMD能力被用于同时处理4个图像块时,NEON实现方案会产生特别的益处。该4块方法使得各种预滤器的使用能够增大RA的工作包络线(下面讨论)、并因此改善用户体验。
有时,移动平台为给定的系统服务提供多个API。对API的选择会影响平台上的资源利用和作为结果而得到的任务混合。在一些情况下,该选择可能会影响传感器的吞吐量。
在iOS 4.0中,若干个API提供对摄像机的访问。为了确定最佳的途径,将iPhone 4装备成捕获在Digimarc Discover应用程序以印刷物到万维网(Print-to-Web)使用模型被使用时的任务混合。
图18示出使用预览API取得图像帧之前和之后(分别是版本1.0.8 和1.11)的任务混合。使用预览API会显著地减少对帧进行再现所花费的时间、并会释放出时间用于进行图像水印识别(图示为“解码水印”)。使用预览API还允许其他系统和应用程序线程更多地使用处理器。
尽管向OS提供更多时间以便服务于其他线程对于系统整体来说当然是一个益处,但是从每秒11帧到每秒14帧的吞吐量增加对于用户来说有更直接的价值。吞吐量的增加也会提高RA所作的用于识别对象的尝试的速率。
为了量化用户体验的改善,对于特定的用户情境,可以将识别速率捕获为一阶(first-order)环境因素的函数。此外,可以测量吞吐量以便将识别速率归一化为时间的函数。
下面的表格示出使用优化的RA在利用iOS 4.0预览API和 UIGetScreenImage API从iPhone视频队列取得各帧的情况下所得的结果。预览API实现方案对所有RA在iPhone3GS上取得了实质性的改善。
iOS 3.0UIGetScreenImage iOS 4.0Preview
RA:图像WM 7FPS 9FPS
RA:条形码 5FPS 8.5FPS
RA:图像WM+条形码 4FPS 5.1FPS
对于iOS 3.0和iOS 4.0(iPhone3GS)而言,作为图像RA的数量和类型的函数的持续的FPS
对于印刷物到万维网(Print-to-Web)使用情境来说,主要环境因素是距印刷物的距离、光照和姿势。为了研究这些因素,构建机器人单元(robotic cell)来反复测量这些因素对识别速率的影响。
针对距离来测试图像水印RA的两个版本。“SS”版本包含改进的采样算法,而“Base(基本)”版本则不这样。采样算法使用iOS 4.2 提供的元数据词典中的CurrentFocusPosition所提供的逻辑传感器数据。
图19显示出两个版本的结果,示出哪些帧导致了成功解码的水印 (或有效载荷)、以及哪些帧没有这样。改进的采样算法大幅提高了能够检测出水印并恢复出有效载荷的距离范围。
来自图19的结果和上面的表格共同示出,把系统资源的高效利用与优化的RA组合起来会显著地增大图像水印RA的工作包络线 (operational envelope)。
总之,所详述的Digimarc Discover平台基于真实世界使用情境而被设计成提供内容识别、以及减小移动发现应用程序的构建过程的相关复杂度。该平台被构建成可扩展、并且允许在不影响系统的情况下添加或移除任何类型的识别代理。操作系统资源的高效利用以及识别代理的优化使得可以获得令消费者满意的系统性能。处理所有音频和视频捕获内容的中间件架构的采用会减少等待时间、便于系统资源的共享、降低功耗、并减少内部争用。在一些实现方案中,该中间件包括基于用户和装置背景环境而使传感器和识别代理能够适应性地得到使用的正式推理引擎,而另一些实现方案则使用更加非正式类型的推断。
作为移动发现的原子级构造的链接数据
如申请12/797,503中详述的那样,链接数据原理可以与智能手机数据结合使用。
智能手机传感器可以被视为产生关于背景环境的数据。
存储背景环境数据的一种方式是通过键值对,其包括标签(通常取自词典)和数据。(例如,LAT=45.03;AudioEnvironment=SpokenWord; BatteryLeft=.107)。这种简单键值表示形式的一个缺点是计算机不理解标签。计算机可能仅仅知道变量LAT传达的是浮点数;变量 AudioEnvironment是字符串,等等。
根据本技术的另一方面,这样的信息以语义表达方式表示,例如通过用资源描述框架(RDF)知识表示语言表示的数据三元组的集合来表示。(三元组通常包括主语、谓语(或特性)和宾语。)RDF大纲 (RDFS)允许保持由对象和类构成的分级结构。语义三元组通常表达涉及两个数据元素的关系,或者表达有关单个数据元素的属性。
在三元组中,参数仍然可以是赋予的值,但是三元组在语义上与其他信息相关——从而对三元组灌注含义。各种本体论模型(RDFS、 OWL等)可以用于正式地描述这些三元组的语义、以及这些三元组彼此之间的关系。LAT(纬度)参数仍然可以被赋予浮点数据,但是通过参考其他三元组,计算机可以理解该LAT数据指的是地球上的位置。这样的理解允许进行强有力的推断。(例如,在一个瞬间将对象放置于纬度为45度的位置、并在两秒钟后将该对象放置于纬度为15度的位置的数据集可以被理解为是可疑的。)语义网络技术使智能手机能够基于以这种形式提供的背景环境信息和其他数据来进行推理。
感测到的背景环境三元组可以以图形形式存储,在该图形形式中传感器做出一组关于自身和其输出数据的声明。一种这样的图形(树形图)在图15中示出。
不同的名称空间可以由不同的传感器使用以便减少数据冲突。在每个三元组声明中可以反映出截然不同的名称,例如:
{ImageSensor3DF12_ImageTime=2011040118060103_Pixel(0,0);HasRedValue;45}
{ImageSensor3DF12_ImageTime=2011040118060103_Pixel(0,0);HasGreenValue;32}
等等……
可替换地,树形结构可以在根节点或其他基本节点中包括唯一的名称空间标识符(如图15中那样),并且其他节点可以随后根据推理而加上标签。树形结构作为数据组织构造已有很长的历史,并且有丰富的一系列与树形结构相关的技术(例如,排序、修剪、内存优化等) 可以应用。
黑板数据结构可以充当用于RDF三元组的数据库。在极端情况下,将所拍摄的图像中的每一个像素位置表示为一个或多个三元组。在特定实现方案中,传感器系统被配置成将其数据输出为由三元组构成的流。
三元组的谓语自身可以是其他三元组的主语。例如,“HasRedValue”是上述实例中的谓语,但是也可以是类似{HasRedValue; IsAttributeOf;Image}的三元组中的主语。在数据以流的形式来到黑板上时,可以执行联合起来的多个操作——通过对数据类型的这种理解来实现。
申请12/797,503中详述的识别代理可以使用这种数据三元组来触发或暂停其操作。例如,如果到来的像素三元组是黑暗的,那么任何光学识别代理(例如条形码读取器、水印解码器、OCR引擎)都不应该运行。以粒度精细的方式表达数据(例如,精细到声明特定像素值的三元组的水平)会类似地允许对识别代理进行精细粒度的控制。
在更高的粒度水平下,三元组可以提供指向包含一组像素(例如图像帧内的位于中心的l6xl6像素块)的存储器的指针。在更高的粒度水平下,三元组可以提供指向存储一帧图像的存储器位置的指针。有关处于该存储器位置的图像的声明可以通过一系列三元组做出,例如这一系列三元组分别详述该图像的尺寸(例如,640x480像素)、颜色表示形式(例如,YUV)、捕获时间、捕获到该图像的传感器、捕获到该图像的地理位置、等等。
系统处理器可以随后使用所存储的声明对图像采取动作。例如,系统可以对来自用户的询问或来自另一系统处理的询问做出响应,以便定位从特定位置或在特定时间捕获的图像帧。系统可以随后对由此识别的图像帧执行操作(例如,对象识别)。在另一实例中,系统可以部分地使用根据所存储的RDF数据而获得的对一个帧的颜色表示形式的认识,来辨别出如何计算该帧的平均亮度。(在YUV图像中,Y表示亮度,所以在一个帧的所有像素上对Y求平均会获得平均亮度。相反,在RGB图像中,每个像素上的亮度是R、G和B值的加权和;这些加权和可以随后在整个帧上求平均来获得平均亮度。)
软件(例如,具有上面详述的中间件配置的、申请12/797,503中的ICP状态机)可以考虑对不同的识别代理而言有用的输入数据的类型,并且可以将传感器系统配置成取决于背景环境而在不同的时间输出不同类型的数据。
例如,背景环境可能会指示条形码读取代理和水印解码代理都应该处于活动状态。(这样的背景环境可以包括:例如,处于零售商店中的地理位置;高于阈值的周围环境照明,以及用户手持着的智能手机。) 条形码读取器可能会偏爱亮度数据,而不太会偏爱使用RGB数据并根据RGB数据推导出亮度。水印解码器可能会需要全彩色图像,但是对图像以RGB、YUV、还是某种其他格式提供并不在意。系统软件可以权衡不同识别代理的不同需求和偏好,并相应地配置传感器系统。(在一些实施例中,中间件充当不同代理之间的协商代理,例如征求可能的数据类型的偏好得分列表,对不同的组合进行评分,并基于作为结果而得到的不同分数做出选择。)
在刚刚提到的情况下,软件将会指示传感器系统输出YUV数据,因为这样的数据直接适合于水印解码器,并且因为Y信道(亮度)数据可以由条形码读取器直接使用。
除了物理传感器之外,智能手机可以被视为还具有逻辑传感器。逻辑传感器既可以消耗背景环境数据又可以产生背景环境数据,并且通常包括软件处理——或者是在智能手机上,或者是在云中。其实例跨越很广的范围,从执行早期识别的代码(例如,这里有一团像素看上去似乎是相关的;这里有圆形形状),到对用户的当前活动进行报告 (例如,托尼正在走路,等等)的全开状态的推理驱动型传感器。
这样的背景环境数据同样可以存储为简单图形,在该简单图形中逻辑传感器做出有关主语的一个或多个声明(例如,主语=Smartphone_Owner_Tony;谓语=Engaged_in_Activity;宾语=Walking)。 SPARQL可以用于访问数据库中的三元组,从而使详细的查询能够得以维持。
当然,逻辑传感器可以使用除了智能手机传感器数据及其派生物以外的数据作为输入。例如,环境中的传感器可以是输入源。也可以使用用户日历数据或电子邮件数据。(在用户按照日程表应该开会的时间感测到的声音或者观察到的对象可以被指示为:已经在其他会议参加者跟前出现。)从社交媒体网络(例如,通过Facebook或LinkedIn 的网络API)获得的信息可以类似地被提供为对逻辑传感器的输入,并且被反映在RDF输出三元组中。
申请12/797,503中详述的识别代理可以用来实施状态机和相关算法,以便在特定应用程序的支持下识别特定内容/对象类型。这些特定应用程序代表目标驱动式使用模型。这些应用程序与所详述的直觉计算平台通过接口连接,以便通过利用一个或多个识别代理来执行特定任务。例如,对水印进行解码,识别歌曲,读取条形码。(申请12/797,503 中详述的直觉计算平台使用传感器来产生背景环境信息,该背景环境信息可以向(本地和云中的)软件代理通知有关如何能更好地完成其任务的信息。)
本技术的一个特定实现方案采用Jena——一种用于语义网络应用程序的开源Java框架(最初由Hewlett-Packard开发),其提供RDF API、读/写RDF/XML、N3、和N-三元组(N-triple)、OWL API以及SPARQL 查询引擎。一种用于移动手持机的Jena改编是来自米兰理工大学的μ-Jena。(备选实现方案可以使用Androjena或移动RDF。)
申请12/797,503中详述的直觉计算平台管理从应用程序到识别代理的业务流,并对逻辑和物理传感器的资源争用进行调停。黑板数据结构可以用来实现这样的处理间通信,并保持有关系统状态(例如,电池状态)的信息。
通过黑板进行的处理间通信的一个实例是:水印解码器感测到所捕获的图像中的亮度不足,并希望智能手机的手电筒功能被开启。水印解码器可以将一个三元组发布到黑板上(而不是进行OS系统调用) 来请求执行这样的动作。一个这样的三元组可以是:
{Torch;Queued_Request;On}
另一个可以是
{WM_Decoder;Requests;Torch_On}
手电筒控制处理(或另一处理)可以监视黑板以便发现这样的三元组,并在这样的三元组出现时打开手电筒。或者,如果电池电量较低,则这样的处理可以等待,直到两个或更多识别代理也在等待手电筒被点亮(或直到发现其他紧急标志),并且仅在那时才打开手电筒。
水印解码器可以通过在黑板上搜索表明手电筒被加电的三元组的 SPARQL查询,来检测到手电筒已经打开。当手电筒被点亮时,该查询会返回响应,从而解除对水印解码代理的阻挡并允许水印解码代理运行直到完成。
位置是背景环境信息的另一重要来源(如上文所述),并且可以类似地用RDF三元组来表示。DBpedia(来自维基百科的信息的链接数据表示形式)和GeoNames是这种数据的众多来源之一。手机传感器数据(GPS)可以应用于GeoNames或DBpedia服务,以取得相应的文本地理标签。
背景环境数据并非必须从用户自己的智能手机得到。也可以使用例如由其他人使用他们的移动装置在相同的地点和时段采集/标注的低级别传感器信息(三元组)(受适当的隐私防护措施保护)。同样,也可以使用来自附近的固定传感器的数据,例如由政府机构维护的道路摄像机、等等。(相同的地点取决于装置自身的背景环境/应用程序,并且可以包括:例如,在诸如100米、1千米或10千米之类的阈值距离范围内;在诸如城镇或城市之类的同一地理实体内;等等。类似地,时间接近度可以利用阈值来界定,例如在过去的10秒钟、10分钟或一小时等之内采集的数据。)这样的信息可以直接集成到本地黑板中,使得装置代理可以对该信息进行操作。除了图像之外,这样的数据还可以包括音频、可在该区域内获得的无线信号的采样(从而帮助识别位置)、等等。用于实现数据共享的这种“开放世界”解决方法可以极大地增加智能手机平台对背景环境的理解。
虽然上述内容聚焦于以链接数据方式表示背景环境和传感器数据,但是其他智能手机数据也可以类似地受益。
例如,在申请13/079,327中,申请人详述了如何感测印刷文本中的机器可读数据并使用该数据以便链接到相关信息(既包括“工具提示”弹出文本,又包括扩大的相关信息存储库)。例如,当利用带有摄像机的手机扫描一页报纸分类广告时,智能手机显示器可以在手机扫过这些广告时呈现这些广告的简短提要(例如,“1967野马汽车 (Mustang)”)。正在阅读的特定报纸是背景环境信息,并且根据从该页面解码的第一水印有效载荷而推导出识别用的报纸期号信息。根据该背景环境,从远程数据存储库拉取用于整个报纸的适当的弹出文本,并将其缓存在手机上以供日后使用。这样的弹出文本可以以三元组的形式传送和/或存储(例如,{Watermark 14DA3;HasPopUpText;1967 Mustang})。
智能手机应用程序中的链接数据的另一实现方案被详述在Zander 等人的“Context-Driven RDF Data Replication on Mobile Devices”(Proc. Of the 6th Int'lConf.on Semantic Systems,2010)中。尽管Zander的工作聚焦于通过背景环境信息来告知应把结构化语义网络数据从远程源复制到移动装置以供本地软件代理使用,但是所详述的系统也示出链接数据在智能手机中的利用的其他方面。从Zander的工作获得的特征和细节可以与本申请人的创造性工作结合应用,并且反之亦然。
从申请12/797,503复制的有关RDF相关技术的摘录内容如下所示:
链接数据
根据本技术的另一方面,把(例如,与链接数据有关的)数据和资源的Web 2.0概念与有形对象和/或相关的关键字向量数据、以及相关信息一起使用。
链接数据指的是由蒂姆·伯纳斯·李爵士(Sir Tim Berners Lee) 提倡的用于通过万维网上的可解引用的URI(de-referenceable URI)来发布、分享和连接数据的方案。(参见例如T.B.Lee的“Linked Data”, www<dot>w3<dot>org/DesignIssues/LinkedData.html)
简要地说,使用URI来识别有形对象和相关的数据对象。使用 HTTP URI,使得这些对象可以由人们和用户代理参考和查找(“解引用”)。当有形对象被解引用时,关于该有形对象的有用信息(例如,结构化元数据)得以提供。该有用信息合乎需要地包括去往其他相关 URI的链接——以便改善对其他相关信息和有形对象的发现。
RDF(资源描述框架)通常用来表示关于资源的信息。RDF将资源(例如有形对象)描述为许多由主语、谓语和宾语组成的三元组。这些三元组有时被称为声明。
三元组的主语是标识所描述的资源的URI。谓语表示在主语和宾语之间存在哪种关系。谓语通常也是URI——从与特定领域相关的标准化词汇表取得。宾语可以是文字值(例如,名称或形容词),或者宾语可以是以某种方式与主语相关的另一资源的URI。
可以使用不同的知识表示语言来表达与有形对象有关的本体,以及相关数据。网络本体语言(OWL)是一种知识表示语言,并且使用提供与RDF大纲的兼容性的语义模型。SPARQL是用于与RDF表达式一起使用的查询语言——允许查询由三元组模式、以及合取词、析取词和任选模式组成。
根据本技术的这一方面,由移动装置捕获和产生的数据项目各自被赋予唯一且持久的标识符。这些数据包括基本的关键字向量,分割出的形状,识别出的对象,关于这些项目获得的信息,等等。将这些数据中的每一项登记到基于云的登记系统中,该基于云的登记系统也支持相关的路由功能。(数据对象自身也可以推送到云中以便长期存储。)有关该数据的相关声明从移动装置被提供到所述登记系统。因此,本地装置所知晓的每个数据对象通过云中的数据而被实例化。
用户可以用摄像机进行扫掠,从而捕获图像。通过这样的动作而收集、处理和/或识别的所有对象(和相关数据)被赋予标识符、并持续存在于云中。一天或一年后,另一用户可以对这样的对象做出声明 (例如,树是白橡树,等等)。即使摄像机在特定地点、特定时间的一次快速的一瞥也会无限期地保存在云中。以这种基本的基于云的形式存在的这样的内容可以是一种用于进行协作的组织构造。
数据的命名可以由基于云的系统赋予。(基于云的系统可以将赋予的名称报告回给始发移动装置。)对移动装置已知的数据进行标识的信息(例如:簇ID或UID,如上所述)可以提供给基于云的登记系统,并且可以保存在云中作为关于该数据的另一声明。
由基于云的登记系统保存的数据的局部视图可以包括:
因此,在该方面中,移动装置提供的数据允许基于云的登记系统对移动装置处理的每项数据、和/或对在移动装置摄像机的视场中发现的每个物理对象或特征实例化多个软件对象(例如,RDF三元组)。可以对每项数据作出许多声明(我是Canny数据;我是以在某个地点和时间拍摄的图像为基础的;我是在从维度为X、经度为Y的位置往北看时能看到的有高度纹理的蓝色对象,等等)。
重要的是,这些属性可以与其他装置发布的数据链接在一起——从而允许单独根据可用的图像数据和背景环境无法由用户装置辨别出的新信息可以被采集和发现。
例如,John的手机可能会将一形状识别为建筑物,但是无法辨别出其街道地址或了解其租户。然而,Jane可能在该建筑物中工作。由于她的特殊背景环境和历史,Jane的手机之前针对与该建筑物相关的图像数据提供给登记系统的信息可能在关于该建筑的信息方面更丰富,包括关于该建筑物的地址和一些租户的信息。通过地理位置信息和形状信息的相似性,Jane的手机提供的信息所涉及的建筑物可以被识别为与John的手机提供的信息所涉及的建筑物可能是同一建筑物。(可以将新的声明添加到云登记系统中,从而明确使Jane的建筑物声明与John的建筑物声明相关,并且反之亦然。)如果John的手机已经请求登记系统这样做(并且如果相关的隐私防护措施允许),则登记系统可以向John的手机发送Jane的手机所提供的关于该建筑物的声明。此处起作用的底层机制可以被认为是居间的众包,其中声明也在参与者赞成的政策和商业规则框架内生成。
具有与自身相关联的一组丰富的声明的位置(例如,通过地点确定,并且任选地也通过时间确定)会提供新的发现体验。移动装置可以提供简单的声明(例如GPS位置和当前时间)作为进入点,从该进入点开始在链接数据或其他数据储存库内的搜索或发现体验。
还应指出的是,对云中的声明的访问或导航可以受移动装置上的传感器的影响。例如,仅当John处于由GPS或其他传感器确定的建筑物的特定邻近范围(例如,10m、30m、100m、300m、等等)内时, John才可以被准许链接到Jane的关于该建筑物的声明。这可以进一步限制到这样的情况:John需要静止不动,或者需要以GPS、加速计/陀螺仪或其他传感器所确定的行走速度行进(例如,小于每分钟100英尺或300英尺)。基于来自移动装置中的传感器的数据的这种限制可以减少不想要的或相关度较低的声明(例如,广告等兜售信息),并且可以提供对数据的远程或路过式(或飞过式)挖掘的某种防护。(可以采用各种方案来与GPS或其他传感器数据的电子欺骗作斗争。)
类似地,仅当两个涉及的当事者共同拥有某种特性(诸如在地理位置、时间、社交网络联系等方面很接近)时,才可以访问存储在云中的声明(或者才可以做出关于某对象的新声明)。(所述社交网络联系可以通过参考社交网络数据存储库(诸如Facebook或LinkedIn,显示出John社交地联系到Jane,例如作为朋友)而被展示出来。)对地理位置和时间的这种利用与社会惯例相似,即当大群的人聚集时,所发生的自发交互会是有价值的,因为存在着该群体的成员具有共同的兴趣、特征等的很大可能性。访问和发布声明的能力以及基于其他人的存在与否来实现新的发现体验遵循该模型。
位置是多组图像数据相互关联的常见线索。也可以使用其他信息。
考虑大象研究者。(例如,禁猎地中的)已知的大象通常有命名,并且通过面部特征(包括伤痕、皱纹和长牙)而得以识别。研究者的智能电话可以把大象的面部特征矢量提交给使面部矢量与大象的名称相关联的大学数据库。然而,当这些面部矢量信息被提交给基于云的登记系统时,可能会揭示出更多的信息,例如先前观测的日期和位置、观察过该大象的其他研究者的姓名、等等。同样,一旦辨别出数据集合之间的对应度,那么该事实就可以通过向登记系统添加另外的声明而得到保存。
应认识到的是,关于由移动装置的摄像机、麦克风和其他传感器感测到的刺激的声明的这种基于云的储存库可以迅速包括全球有用信息的许多存储库,尤其是当与其他链接数据系统(其中的一些被详细记述在linkeddata<dot>org中)中的信息相关时。由于存储的声明所表示的理解在某种程度上会反映贡献这样的信息的装置所属于的个体用户的概况和历史,所以该知识库特别丰富。(比较起来,Google的万维网索引可能都显得小。)
(在有形对象的识别方面,潜在有用的词汇表是AKT(先进知识技术)本体论。作为它的处于顶部的级别,它具有类别“东西(Thing)”,类别“东西”的下方是两个子类:“有形的东西(Tangible-Thing)”和“无形的东西(Intangible-Thing)”。“有形的东西”包括从软件到亚原子颗粒的任何东西,既包括真实的东西也包括假想的东西(例如米老鼠的汽车)。“有形的东西”具有的子类包括“位置”、“地理区域”、“人”、“交通装置”、和“承载有信息的对象”。该词汇表可以被扩展从而提供预期在本技术中会遇到的对象的标识。)
混合域显示
根据本技术的另一方面,智能手机呈现的显示既包括摄像机所拍摄的天然图像,还包括以摄像机拍摄的图像为基础的变换域信息(例如,空间频率域或傅立叶域中的信息)。
2010年5月5日提交的申请12/774,512详述了这样的说明性参考信号,其可以被编码到图像中以帮助隐写水印检测器确定是否存在水印。所详述的参考信号在空间频率域中被编码——在充分高的频率处、并且利用使参考信号对于随意的人类观察者而言无法察觉的色度。
本技术的实施例向观察者揭示这种基于变换域的信息。
图11示出添加到印刷的主图像中的参考信号210的示例性空间频率域视图,其中实数分量由水平轴表示,并且虚数分量由垂直轴表示(所谓的“u、v”平面)。所示出的参考信号包含由空间域脉冲构成的五边形星群(pentagonal constellation)212,所述空间域脉冲的频率(即,距原点的距离)对于人类而言太高以致于无法察觉到,但是能够在智能手机摄像机中的图像传感器所产生的数据中检测到。(主图像的对应空间频率域视图未被示出,但是通常包含遍及u、v平面分散的信号,主要沿着水平轴和垂直轴集中。)
在图11的视图中,标记212集中在圆215上。人类视觉的极限通过较小的圆217示出。由圆217外侧的空间频率分量构成的特征(例如,标记212)的频率太高以致于对于人类观察者而言无法辨别。(如果标记212的空间频率较低,那么标记212与类似于精细的人字形编织结构(herringbone weave)的像素图案相对应。然而,在较高频率处,眼睛无法辨别编织图案。而是,该编织结构消散成表观平面(apparent flatness)。)
尽管示出了四个五边形标记星群212,但是当然也可以使用更少或更多数量的五边形标记星群。类似地,标记的形状不需要是五边形。
当智能手机摄像机检测到参考图案210时,智能手机可以由此辨别出摄像机和印刷物之间的相对距离、以及摄像机相对于该印刷物的任何旋转和倾斜。例如,如果摄像机被移动得更靠近该印刷物,那么放大的图像组分会被感测为具有较低组分的空间频率。因此,五边形标记朝更靠近原点的方向移动。如果(相对于参考信号最初被编码到主图像中的取向)旋转摄像机,那么五边形标记会类似地发生旋转。如果使摄像机倾斜使得印刷图像的一部分比印刷图像的其它部分更靠近传感器,那么五边形图案会发生歪斜。(它们的中心214不再落在以 u、v的原点为中心的圆215上;而是,它们的中心214会落在椭圆上。)
图12示出示例性的智能手机显示画面220。在该图中,智能手机正在对谷类食品盒的一部分成像,所述谷类食品盒上的图片222占据屏幕的大部分。叠加在屏幕上的是检测到的参考信号的半平面绘图,其包括顶部的两个五边形参考标记。所示出的显示画面还包括用圆形虚线绘出轮廓的两个固定的目标区域224。通过朝向或远离谷物食品盒移动智能手机、并根据需要倾斜/旋转智能手机,用户可以使五边形标记212移动到两个目标区域224中。在该位置,对来自谷物食品盒的水印信号的读取被最优化。智能手机将立刻读取水印(很可能在把标记对准到目标区域中之前),并且智能手机将响应于检测到的数据而采取相应的动作。
合乎需要地,按照随着检测到的参考信号的强度而变化的可见度 (强度)来呈现变换域叠盖物。如果未检测到参考信号(例如,根据图案检测器输出的检测度量),那么不呈现叠盖物。对于更强的信号,利用更大的对比度(与背景图像122相比较)来呈现叠盖的标记信号。在一些实施例中,利用取决于检测到的参考信号的强度而发生色度或发光度变化的色彩来呈现标记。
在一个特定实现方案中,对所拍摄图像的空间频率表示形式进行阈值处理,使得低于阈值的任何空间频率分量不被显示。这能防止显示画面由于所拍摄的谷物食品盒图片222的傅立叶域表示形式而发生退化。而是,只有叠盖的信号对应于标记信号。
类似地,可以对空间频率数据进行高通频谱滤波,使得只有高于阈值空间频率(例如,图11中的圆217所指示的空间频率)的图像组分才被显示。
圆形目标区域224不是必不可少的。可以呈现其他视觉引导,或者可以完全省略其他视觉引导。在后一种情况下,可以指示用户定位智能手机,使得标记224是均匀的(即,水平地横跨)。如果对变换出的数据进行频谱滤波(如前面的段落中描述的那样),那么可以指示用户朝向或远离对象定位智能手机,直到标记刚好出现。(在实际的实践中,标记212的五个点看起来有点像小仙子的外形——一个头、两只手和两只脚,尤其当以颜色再现时。用户因此可以得到指示去“寻找小仙子”。可以通过对每个标记的五个组成要素赋予不同的颜色而使标记的外观特别显眼,并且可以随着时间来改变标记的颜色,从而产生迷人的闪光效果。)
在图12中描绘的特定实施例中,在矩形框226中显示空间频率信息。除了充当空间频率信息的框架之外,该框还用于限定图片222内的像素的矩形子区域,其中在所述矩形子区域上执行变换域分析。也就是说,作为将整个图像帧转换到傅立叶域这一方案的替代,只有位于框226内的那些像素才进行这样的转换。这降低了手机处理器的负担。(可以将框226视为中央凹区域——处理器在帮助用户最佳地定位手机时处理器将其注意力集中到的像素子区域。)区域226内的像素亮度可以稍微提高或降低——从而进一步将该区域突出显示给用户。
水印暗示模式
数字水印通常是无法察觉的。这是合乎需要的,因为这就可以将数字水印编码到优良的艺术品和其他图形中而不会引入任何可见的变化。然而,该优点有一个相关的缺点:该编码后的数据的潜在用户无法确定是否存在任何加有水印的数据。
在过去,该缺点有时是通过使用小视觉标志而得到纠正的,所述小视觉标志印刷在经编码的视觉艺术品的角落以便指示该艺术品编码有水印。
根据本技术的另一方面,通过使视觉水印图案微妙地可见而在视觉上暗示数字水印信息的存在。
如上一节指出的那样,如果包含水印的空间频率元素的频率足够低,则这些元素会产生类似于编织结构的图案(例如,在规则的五边形标记的情况下,会产生人字形编织结构)。在一些应用程序中,这样的编织背景图案并不令人反感。背景图案在许多背景环境中(例如,在印刷的银行支票上)是熟悉的。因此,特别是在文件不包括有光泽的照片的情况下,可以插入图案而不会损害该文件的效用。
用户可以随着时间的推移而学习或被训练成把某些重复图案识别为是相关数据存在的证明。(请考虑:例如,在线文档中的加有蓝色下划线的文本的表示形式作为超链接的表示形式如何能够对于大多数用户而言是熟悉的。)基于智能手机的系统可以用于捕获这种独特图案的图像,对加有水印的信息进行解码,并采取相应的动作。
在一个特定实施例中,这样的水印包括处于人类视觉范围内(即,图11的圆217内部)的第一组空间频率分量,以及处于人类视觉范围之外(即,图11的圆217外部)的第二组空间频率分量。前者可以包括伪随机地分布在u、v平面中的分量,以便限定出像素域中的类似于手工纸的表面外观的对应图案——其通常包括以这样的纸张中的纸浆纤维的分布为基础的随机图案。该第一组空间频率分量可以在所有类型的文件中被反复使用——从而产生用户可以最终将其识别为编码信息的存在线索的特征图案。(该图案的颜色可以通过把各空间频率分量放入不同的颜色通道中,而变化为最适合应用程序。)这种一致的图案可以由智能手机水印检测器用于(1)快速识别水印的存在,以及任选地用于(2)确定所捕获图像相对于其原始编码状态的平移、缩放和/ 或旋转。
在该特定实施例中,第二组空间频率分量传递水印有效载荷信息的一部分或全部。该信息随文件的不同而变化。然而,因为这些图像分量在随意观看情况下对人类来说是不可见的,所以这样的变化性不会干扰用户借以将文件识别为包含编码信息的特征纹理图案。
正如彩色下划线文本在人们的头脑中已经与超链接信息关联在一起,独特的可见图案也可以与数字水印信息的存在关联起来。
该线索图案甚至可以采取用于指示隐藏信息的存在的独特手迹或字体的形式。例如,字体可以包括衬线,该衬线包括独特的扩展特征——例如位于右侧的卷曲或扭曲或打结(knot)。或者,包括编码水印数据的印刷字体可以包括独特的边框。一种边框是由三条细线限定出的矩形框架。另一种边框是一组两个或四个类似的拐角标记——例如图13中所示的拐角标记。
(在一些配置方案中,这样的边框或拐角标记并不存在于原始物理介质中,而是再现为通过智能手机对介质中编码的信号(例如,图 11或14的信号)的检测而触发出来的屏幕上的图形叠盖物。在一种特定配置方案中,如果智能手机处于次优的浏览姿势,那么这种叠盖标记的线条会以有些模糊的方式再现,并且随着用户将智能手机移动到更佳的观看姿势而被再现得越来越清晰。当手机处于最佳位置时(例如,在距带有水印的对象六英寸的距离处俯视该对象),线条会以鲜明、清晰的形式得到呈现。因该,手机中的软件把关于观看姿势的最优化的信息翻译成对于某些用户而言有点熟悉的可视范例——对焦程度对距离的依赖关系。)
信息呈现的层次
在一些实现方案中,可以存在三个概念上的“层”,信息通过这些层被呈现给用户。这些层可以被称为视觉层、旗标层和链接层。
视觉层是表明存在数字水印信息的人类可察觉的线索。如刚刚提到的那样,这可以采取不同的形式。一种是标志、字体、边框或指示存在编码信息的其他印刷标志。另一种是作为加水印处理的一部分而在印刷内容中引入的可视伪像(例如,类似编织物的图案)。
旗标层是作为某种初始数字图像处理的结果而呈现给用户的标志 (通常是暂时的)。一个实例是上面提到的“小仙子”。另一实例是申请12/797,503中讨论的“原型小玩意”。另一些实例在申请12/774,512 中有讨论。旗标层充当表明事实上存在水印的电子识别结果的第一迹象。(旗标层可以任选地充当引导用户定位智能手机摄像机以便最佳地读取水印的辅助手段。)
链接层包括在水印被解码后呈现给用户的信息。这通常涉及:利用解码出的水印有效载荷(例如,大数)对解析数据库加索引以便学习什么样的行为与该水印相关联,以及随后开始该行为。
编码数据翻译
根据本技术的又一方面,接收水印编码媒体信号的装置可以对水印数据进行解码,并且通过另一数据信道将水印数据中继下去。
考虑电视机顶盒或接收视频娱乐节目的其他装置。节目的音频和/ 或视频可以利用例如标识该节目的数字水印信息进行编码。消费者在电视上观看视频节目的同时,可能正在使用智能手机或平板电脑,并且对于智能手机/平板电脑来说,知道正在观看的节目的身份可能是有利的(例如,出于专利公开20100119208和20100205628中详述的原因)。在现有技术中,对于节目音频中编码的水印,这是通过使用智能手机或平板电脑中的麦克风捕获环境音频、然后根据捕获的音频解码水印数据来完成的。然而,有时候,由于麦克风也可能捕获到其他声音、并且这些其他声音可能会干扰可靠的水印解码,而使得上述处理变得困难。
根据本技术的该方面,第一装置(例如,电视或机顶盒)对来自内容流的水印数据进行解码。第一装置随后通过不同的信道将该数据中继到第二装置(例如,智能手机)。
在一个说明性实施例中,电视中的解码器接收节目并从音频分量中解码音频水印。解码器随后通过蓝牙无线技术将解码出的水印数据重新传送到附近的智能手机。这些智能手机因此(使用其内置的蓝牙接收器)接收到免受室内环境噪声干扰的水印数据。
借以中继解码出的水印信息的另一无线数据信道是NFC无线协议 (其目前工作在13.56MHz)。尽管NFC系统通常包括的接收器(例如,智能手机)要通过磁耦合对附近的无源NFC芯片/发射器提供电力、并随后接收由该芯片发出的微弱的结果RF响应,但是同一智能手机NFC 电路也可以接收电视、机顶盒或其他装置所配备的加电的13MHz发射器所发出的信号。最低的标准NFC数据速率即106千比特/秒对于水印相关服务来说是绰绰有余的(并且其带宽足以允许对中继数据进行高度冗余纠错编码——如果需要的话)。
用于在各装置之间中继解码出的水印数据的另一数据信道是例如依照802.11b、802.11g或802.11n标准的WiFi。
又一数据信道是红外(IR)通信——例如电视和遥控装置通常借以进行通信的那种通信方式。然而,在本申请中,电视(或机顶盒等) 通常是IR辐射的发射器,而不是接收器。IR通信系统通常使用940nm 的波长。通过对载波信号(例如在流行的RC-5协议的情况下为36KHz) 进行调制来进行数据通信。在该协议中,遥控装置上的每个按钮对应于一次14位的代码的发送,由此载波信号在按钮被按压时得到调制。水印数据也可以以类似的方式传递,例如通过使用多组14位的代码(从而允许现有的解码硬件适应于这样的用途)。
在一种特定系统中,电视(或机顶盒)使用Bonjour服务来向其他装置通告解码出的水印数据的可用性。如专利公开20100205628中详述的那样,Bonjour是零配置网络(Zeroconf)的实现方案,是一种服务发现协议。Bonjour使用多点传送域名系统服务记录来定位本地网络上的装置并识别它们各自提供的服务。该软件被内置到Apple MAC OS X操作系统中,并且也被包含在用于iPhone的Apple“Remote(遥控器)”应用程序中,在这种情况下该软件被用来通过WiFi建立与iTunes 库的连接。Bonjour也被TiVo用于定位数字视频录像机和共享媒体库。通过使用Bonjour,第一装置向网络上的其他装置通知水印数据的可用性,并提供允许其他装置获得该数据的参数。
上述原理也可以与媒体指纹结合使用(而不是与水印结合使用)。第一装置(例如,电视或机顶盒)可以从接收到的媒体内容中取得指纹数据,并随后通过另一数据信道将指纹数据传递给第二装置。(可替换地,第一装置可以将指纹数据发送给数据库系统。数据库系统尝试在所存储的参考数据中找出接近的匹配者,从而取得与指纹标识的内容相关联的元数据。然后,该元数据可以随后发送回给始发的第一装置。该第一装置继而将该元数据通过数据信道继续中继给第二装置。)
智能手机辅助的个人购物服务
根据本技术的又一方面,将智能手机与个人购物服务结合使用。
考虑面向服务的零售机构——例如在某些购物区发现的苹果商店。在这样的商店中浏览的消费者可以使用智能手机来表达关于产品 (例如,MacBook Pro计算机)的好奇心。这可能会涉及拍摄MacBook Pro的图像、或者感测标识信息(例如,从装置上的RFID或NFC芯片,或者从相关标志上的条形码或水印)。智能手机将指示消费者兴趣的信号发送给服务。例如,手机可以将图像或感测到的标识信息无线地(例如,通过WiFi或蓝牙)发送给正在运行购物者服务应用程序软件的商店事务部门的计算机。
手机还将消费者的标识符与所传送的产品信息一起发送给事务部门的计算机。该消费者标识符可以是姓名、电话号码、苹果顾客编号 (例如,iTunes的登录标识符)或Facebook(或其他社交网络)登录标识符等。购物者服务应用程序软件随后检索与该购物者相关的概况信息(如果有的话)。该概况信息可以包括个人与苹果间的历史——包括购买历史、已注册苹果软件的列表、以及有关购物者与苹果间的其他遭遇的信息。
购物者服务应用程序软件将消费者输入用于个人服务的队列中。如果在队列中有若干个顾客在前面,则该软件预测购物者在接受服务之前可能要经历的等待时间,并将该信息发送给消费者(例如,通过发到用户手机上的文本消息)。
如果在商店能够将个人购物助理指派给顾客之前有一段延迟时间,则商店可以向顾客(例如,顾客的智能手机或其他电脑装置)提供吸引人的内容以帮助打发时间。例如,商店可以向购物者授予可从 iTunes媒体商店获得的歌曲、视频和其他媒体的不受限制的收听/观看权。可以授予有限数量的内容项目的免费下载权。这样的特权在购物者停留在商店内或在商店附近时可以继续保持。
当有个人购物助理可以帮助顾客时,软件向购物者发送通知信号,其包括助理的姓名和助理的照片。之前,购物者的概况信息的提炼版本(以简短文本形式给出重要部分)已经被提供给购物助理(例如,提供给助理的智能手机),以便提供可以帮助该助理提供更好服务的背景信息。该助理随后接近该顾客,并通过叫顾客的名字来向顾客打招呼——准备好回答关于MacBook Pro的任何问题。
用于个人服务的队列可以不严格遵循先到先服务原则。而是,可以向拥有苹果购买历史的购物者赋予优先权,并根据这些购物者过去的苹果购买价值来将这些购物者排到队列中的其他人前面。购物者服务软件可以应用一些保障措施,以便确保新顾客不会总是在每次现有苹果顾客进入商店时都被降低优先级。例如,可以对队列进行管理,使得有限数量的优先权顾客(例如,两个)被授予在队列中排到新顾客前面的特权。在将两个优先权顾客排到新顾客前面之后,将接下来的优先权顾客在队列中安插到新顾客之后(但是排在尚未被两次排挤的其他新顾客前面)。
除了与苹果的过去交易历史之外,队列管理还可以取决于其他因素,或者队列管理可以取决于除与苹果的过去交易历史以外的其他因素。公共和商业数据库的挖掘会允许对关于大多数购物者的有用的人口统计概况信息进行编辑。如果购物者服务计算机确定刚进入商店的顾客看上去似乎是新型Lexus汽车的DMV(车辆管理局)注册人,则可以在队列中向该顾客赋予比DMV记录表明驾驶一辆老Yugo汽车的先到顾客优先的优先位置。(或者,商店也可以采用相反的政策。)
除了部分地基于苹果交易信息以及从公共和商业数据库搜集的数据来管理顾客服务之外,这样的决定也可以类似地基于顾客自愿提供的信息。例如,“数字钱包”技术允许个人轻松地把关于其自身的某些人口统计和其他概况信息从自己的智能手机或其他装置分享给其他人——包括分享给零售机构。顾客在顾客服务队列中的位置可以基于这样的自己披露的信息。消费者可能会发现,他们提供的关于自己的信息越多,他们享受到的服务就会越好。
上述功能可以通过下载到顾客的智能手机上的应用程序来实现,或者上述功能可以实现为顾客被指引去往的网络服务。或者,许多功能可以通过文本(图片)消息方案来实现——同时商店任选地提供调用其他标准智能手机软件(例如,万维网浏览器或iTunes软件)的链接。
便利的兼容性确定
根据本技术的又一方面,智能手机被用于快速识别对某些电子装置有用的配件。
一个说明性的情境是:购物者进入电子产品零售店(例如Fry’s),寻找用于她的HTC霹雳智能手机的保护壳。商店有一面墙的智能手机外壳。在现有技术中,购物者会仔细检查每个不同的包装——寻找该外壳所适用的智能手机的指示。这可能需要从墙上取下许多外壳并将包装翻过来——阅读极小的字体。挫败感很快随之而来。
根据本技术的该方面,零售店提供可以下载到用户的智能手机(或其它装置)上的软件工具。或者,该工具可以被提供为一种网络服务。例如通过可以包括配件(外壳、充电器、等等)的下拉菜单,来邀请用户指出他们正在寻找什么。当用户选择“配件”时,进一步的对话会询问为其寻找配件的产品。用户输入(或从下拉菜单中选择)“HTC 霹雳。”(本领域技术人员将认识到的是,该信息可以以许多其他方式搜集——该数据搜集阶段的特定实现方案可以适应于特定的商店背景环境。)
一旦商店软件已经收集到把顾客的任务标识为识别用于HTC霹雳手机的配件的数据,该商店软件随后搜索数据库以便在其库存中识别与这样的装置兼容的所有产品。这可以通过对库存产品的的数据表进行文本搜索以识别具有相关关键字的那些产品来完成。或者,配件的供应商可以以标准化的形式(例如通过UPC代码或者与配件兼容的各产品的其他这样的标识符的列表)向商店提供这样的兼容性信息。
在一个特定实现方案中,商店将兼容产品标识符的列表下载到购物者的装置上。软件随后建议购物者亲自浏览智能手机保护壳的陈列品(其可在沿过道8B的中间位置找到,如果购物者尚未在那里),并向购物者告知手机将对与HTC霹雳手机兼容的那些配件显示绿灯(或输出另一确认信号)。
浏览机制可以多种多样——同样取决于背景环境。每个产品包装可以配备有RFID或NFC芯片,当使智能手机处于附近时所述RFID 或NFC芯片会向手机电子地标识该产品。(NFC读取器不久会成为大多数智能手机的标准特征。)或者,可以使用图像识别技术。(尽管为数众多,但是墙壁上只有有限种类的保护壳,每种具有不同的包装。商店计算机可以下载诸如SIFT或SURF数据之类的视觉指纹数据、或者其他特征信息,智能手机通过分析流式摄像机数据就可以根据所述其他特征信息在视觉上识别来自该有限范围的特定包装。)
在另一配置方案中,智能手机将其摄像机捕获的图像应用于水印检测器,水印检测器提取编码到产品包装的图片中的多比特数据。或者,可以使用条形码读取。
当手机从附近的产品获得标识符时,对先前下载的兼容装置的标识符列表进行检查以发现匹配者。如果在下载的兼容产品列表中找到了扫描产品的标识符,则将适当的指示输出给用户。
通过这样的配置方案,智能手机以类似于盖革(Geiger)计数器的方式工作。当顾客沿着所陈列的保护壳移动手机时,手机会发出信号以将顾客的注意力吸引到感兴趣的特定条目(即,适于保护HTC霹雳手机的那些外壳)。随后,用户可以将其查询聚焦到其他考虑因素(例如价格和美观性)上,而不是困扰于哪些外壳是适合的购买候选者这样的基本问题。
将认识到的是,上述配置方案可以有许多变型,同时仍能提供对兼容性的交互式引导。例如,商店不需要把兼容标识符的列表下载到智能手机上。而是,智能手机可以将感测到的标识符发送给商店计算机,商店计算机然后可以使这些标识符与兼容产品的列表匹配。类似地,不需要预先产生兼容产品的列表。而是,商店计算机可以接收来自顾客的智能手机的扫描标识符,并随后在运行中确定扫描的产品是否是兼容的(例如,通过在那时再调出并检查与该产品相关的数据以便找到HTC霹雳手机是与其兼容的产品之一的指示)。
同样,不需要由手机执行从感测到的包装中检测产品标识符的操作。例如,摄像机图像可以从手机以流的形式发送到商店计算机,在商店计算机中摄像机图像可以得到处理(例如,通过图案、水印或条形码识别技术)以获得相关的标识符。
标识符不需要从产品包装中辨别/导出。货架标签或其他标记也可以充当产品识别的基础。
取决于具体的实现方案,可以存在对标识符进行映射或翻译以确定兼容性的步骤。例如,货架标签可以承载商店的专有SKU编号。然而,借以指示兼容性的参考数据(例如,产品的数据表)可能会通过 UPC代码来标识产品。因此,系统可能会需要在确定兼容性的过程中根据感测到的SKU编号来查找UPC代码。
当然,这些原理可以应用于其他相关产品配对,例如为视频播放器寻找车载充电器,为手机寻找特征不分明的电池、或者为摄像机寻找存储卡。
计算摄影学和阈下参考信息
计算摄影学是指利用算法改变捕获的图像数据以获得增强形式的图像的图像处理技术。一个实例是图像去模糊。
图像模糊是智能手机摄像机的特殊问题,这是由于智能手机摄像机必须具有小尺寸的摄像机孔径,这会限制传递到传感器的光量,从而需要相应地加长曝光时间。加长的曝光时间需要用户拿稳摄像机较长的时间——从而增大运动模糊的风险。(这样的手机的轻重量也会增大运动模糊的风险——这样的手机缺乏较重的摄像机(例如SLR)所提供的惯性稳定性。)
模糊可以通过除运动以外的现象引入。例如,透镜光学器件通常会聚焦特定焦平面和景深内的对象。处于聚焦场之外的对象会模糊(所谓的“散焦模糊”)。
模糊函数可以在数学上得到表征,并且一旦得到表征,就可以通过应用反函数来抵消模糊函数。然而,模糊函数通常不能直接测量;而是,模糊函数通常必须要估计并迭代地细化。根据模糊图像恢复出模糊函数(这被称为盲解卷积问题)是不确定的尝试,因为单单模糊图像自身通常只提供部分约束条件。
为了帮助消除多个更迭的原始图像之间的歧义、并更好地估计相关的模糊函数(通常是模糊“核”),了解有关无模糊的原始图像(所谓的“先验约束条件”(或者简称为“先验图像”))的一些信息是有帮助的。
例如,在已公开的专利申请20090324126中,微软的研究人员观察到,图像通常可通过带有相近颜色的区域来表征。即使有些模糊,这些区域也倾向于保持其相同的总体颜色。因为局部图像颜色倾向于不随模糊而变化,所以局部图像颜色可以充当用于帮助获得模糊函数的更好估计结果的先验图像。
另一先验图像被用于帮助锐化来自哈勃望远镜的图像,这些图像原先遭受过引入失真的反射镜缺陷的影响。据了解,所拍摄的图像中的大多数光源是圆盘(或点光源)。利用该知识,可以对校正用模糊核候选者迭代地修改,直到所处理的图像将恒星描绘成原始的圆盘形状。 (参见例如Coggins等人的“Iterative/Recursive Deconvolution withApplication to HST Data”(ASP Conference Series,Vol.61,1994)和Adorf 的“HubbleSpace Telescope Image Restoration in its Fourth Year”(Inverse Problems,Vol.11,639,1995)。)
(另一组去模糊技术并不聚焦于有关所拍摄图像的特征的先验信息,而是涉及有关图像拍摄的技术属性。例如,前面提到的微软公司的研究团队对摄像机配备惯性传感器(例如加速计和陀螺仪)以收集关于图像曝光期间摄像机运动的数据。然后,在估计校正用模糊核的过程中使用该运动数据。参见Joshi等人的“Image Deblurring Using InertialMeasurement Sensors”(SIGGRAPH'10,Vol 29,No 4,2010年7 月)。(相应的专利申请也被认为已经在SIGGRAPH之前提交。)尽管在追加有硬件传感器的SLR的背景环境中进行详述,但是申请人相信微软的方法也适合于供智能手机使用(这些智能手机越来越多地配备有3D加速计和陀螺仪;参见苹果的iPhone 4)。)
根据本技术的另一方面,将已知的参考信息引入可由摄像机(例如,智能手机)成像的场景中,以提供允许图像得到增强的先验图像。
考虑图12中描绘的谷物食品盒。该谷物食品盒上的图片在阈下 (subliminally)编码有标记特征,这些标记特征的空间频率过高以致于人类观察者无法看到。然而,这些标记的形状和频率是预先知道的。 (通常根据常用水印技术对这些标记进行标准化。一个实例是利用Adobe Photoshop提供的Digimarc的图像水印技术。)这些标记因此可以被用作先验图像——允许谷物食品盒上的图像被处理从而抵销任何运动或散焦模糊。
先验信息可以在空间频率域(在这种情况下先验信息表现为由脉冲函数构成的五边形星群)或者像素域(在这种情况下先验信息表现为特征编织图案——其频率过高以致于人类观察者无法辨别,但是可根据摄像机拍摄的图像检测到)中使用。
通过使用已知的盲解卷积技术,这种先验信息允许对模糊核进行迭代细化,随后可以应用模糊核以抵消所捕获图像中的任何模糊。
示例性实现方案使用Richardson-Lucy技术,其可以回溯到两个公开文献:Richardson的“Bayesian-Based Iterative Method of Image Restoration”(J.Opt.Soc.Am.62,55-59,1972)和Lucy的“An Iterative Technique for theRectification of Observed Distributions”(The Astronomical Journal,Vol.79,No.6,1974年6月)。在随后的几十年中,这样的方法已经得到改进。其实例在微软和麻省理工学院(MIT)的专利申请(例如,2010123807、2008240607、2008025627、2010074552 和2009244300)中有展示。
像素域中的大多数模糊更多地被显现为傅立叶域中高频处的强度降低,而不是被显现为频率域中的模糊。因此,在傅立叶域中找出清晰地限定的图案的能力倾向于容忍像素域模糊——如果傅立叶域信号的幅度足够的话。可以试探性地确定特定应用场合中的特定幅度。如果预期只有轻微模糊要校正(例如,在智能手机摄像机应用场合中由于手部的小抖动而造成的运动模糊),则可以采用相对低幅度的傅立叶标记信号。如果预期有更大的模糊,那么应该使用更强的标记信号。(可以通过将标记的频率设置得相对较低(例如,在图11中更靠近线217) 来减轻幅度的减小。)
如刚刚提到的那样,可以对标记信号的频率进行裁制以优化标记信号关于模糊补偿的效用。也可以对标记信号的形状进行裁制。例如,作为由五个脉冲函数构成的标记(如图11所示)的替代,模糊纠正标记信号可以包括更少数量的元素,例如一个或两个。类似地,作为脉冲函数组分的替代,这样的标记可以由水平地、垂直地和/或呈中间角度配置的细长段组成——以便帮助提高在运动模糊存在的情况下的鲁棒性。其实例是图14中所示的图案302。
如专利6,590,996中详述的那样,水印信号可以包括各种信号元素集合。一个集合可以包括一组配准信号。这些配准信号以相对较强的强度被编码,并使得加有水印的图像的平移、缩放和旋转能够得到确定。一旦这些参数是已知的,被告知这些参数的水印检测器就可以随后恢复出第二组数量更多的元素(通常以更弱的强度被编码),其传递大部分(或全部)水印有效载荷数据。
图11和14的标记信号可以以类似于专利6,590,996的配准信号的方式得到使用,以便确定关于所拍摄图像的仿射参数。并且图11和14 的标记信号也可以服务于为模糊校正提供先验图像的双重目的。
在特定实施例中,通过使用图案210/302所提供的阈下标记作为先验图像,将盲解卷积应用于模糊图像。将迭代校正应用于图像以降低模糊效果——寻求将图像恢复成更清晰的形式。(对模糊校正后的傅立叶域标记信号的强度进行评估是一种可以使用的度量。)随后对模糊补偿后的图像执行水印读取操作——允许多比特有效载荷信息得到恢复。因此,良性循环得以产生——标记信号对去除图像模糊有用,并且所得到的去模糊的图像会产生更好的水印解码结果。
在一些实施例中,水印有效载荷可以包括传达关于原始图像的统计信息的各种比特。种类繁多的图像统计信息已经在现有技术中被用作先验图像以帮助消除模糊。然而,现有技术的问题是当只有模糊图像可用时,如何获得可靠的图像统计信息。数字水印可以提供借以将这样的信息可靠地从图像传递到去模糊系统的通道。
在一些实施例中,标记信号210/302本身可以传达信息。例如,可以选择性地反转组分标记元素的相位以传达有限数量的比特。一种可以以这种方式传达的图像统计信息是原始图片的平均亮度。该统计信息能提供在评估通过迭代得出的不同模糊解决方案的准确性的过程中有用的约束条件。
(不同的水印有效载荷可以编码到图片的不同区域(通常为矩形铺瓦)中。这允许传达若干局部统计信息。例如,图12中描绘的谷物食品盒图片可以包括由6×4的水印铺瓦构成的阵列,从而允许24个不同空间区域的统计信息得到传达。)
大多数图像不包括谷物食品盒。但是水印数据可以插入到许多常见环境中并用于提供先验图像,如上所述。例如,地毯和家具装饰织物可以包括水印图案。在发现这样的水印图案的任何环境中,可以通过前述模糊校正技术来增强在这样的环境中拍摄的图像的质量。(其他计算摄影学方法可以类似地依靠这种水印信号。)
尽管大多数实施例使用由于频率而处于人类视觉感知范围之外 (例如,图11和14中的圆217之外)的水印信号,但是在其他实施例中也可以添加由于色度而不会引起关注的水印信号。例如,人类的眼睛对黄色相对不敏感。因此,如果用黄色印刷,则已知的标记图案可以在较低的频率处插入。类似地,也可以使用通常处于人类感知范围之外、但是可通过图像传感器检测的其他墨水。
展望未来,诸如Flickr和Facebook之类的在线照片储存库可能会例行地检查上载的图像以发现水印。每当发现水印时,服务就可以在计算摄影学方法中采用这样的信号来增强图像。
(尽管是在事后比较型(post hoc)图像校正程序的背景环境中进行描述,但是同样的技术也可以类似地在图像捕获处理之前或图像捕获处理期间采用。例如,阈下标记信号可以帮助摄像机的自动对焦系统确定应该在哪里建立聚焦。)
关于模糊的更多说明
所引用的Joshi等人的论文教导了如何使用惯性数据来改进模糊核的估计。但是,惯性数据的更简单的应用可能会最终更广泛地发挥作用。
在一种特定配置方案中,智能手机摄像机拍摄一系列图像帧(例如,以流拍摄模式或视频模式)。在每一帧期间,感测手机的运动——例如通过手机的三维(3D)陀螺仪和/或加速计。由图像帧构成的流中的选定的图像帧(即,基于小幅度手机运动而选择的图像帧)随后被配准并组合,并被输出为增强图像。
这种增强图像可以应用于例如数字水印检测器。图像的增强允许检测器更快速地输出解码信息(因为检测器不需要在恢复边际信号 (marginal signal)方面工作那么长时间),并且允许更鲁棒的水印恢复 (例如,即使照明较差、图像损坏、以及有其他挑战,仍能进行解码)。
对于待组合的图像帧的选择可以以不同的方式进行。例如,可以设定运动阈值(例如,用陀螺仪感测到的每秒钟时间的旋转角度表示的运动阈值),并且可以组合具有该阈值以下的运动的帧。(或者,用另一种角度来看,可以丢弃具有该阈值以上的运动的帧。)待组合的帧的数量可以预先设定(例如,使用满足阈值标准的前六个帧),或者该技术可以利用序列中通过这样的测试的所有帧。另一种选择是用目标帧计数(例如,10)来设定阈值,然后从所拍摄的帧序列中选择具有最低的运动数据值(任意值)的目标数量的帧。
帧的组合可以通过简单的求平均来进行。或者,可以使用加权平均。对每个帧赋予的权重可以取决于相关联的运动数据。合乎需要的是,加权更具体地基于各个帧的运动数据之间的关系,使得一个帧越“静止”,该帧对平均值的贡献就越大。优选地,如果一个或多个帧具有零运动,则应该对其赋予最大权重值,并且应该对具有非零运动值的帧赋予零权重值。一种用于建立这样的随帧而定的加权因子“k”的算法是:
kA=[Motion(FrameMIN)/Motion(FrameA)]X
其中kA为帧“A”的加权因子;Motion(FrameA)是帧“A”的用角度每秒表示的运动;Motion(FrameMIN)是所选择的组中的所有帧当中的最小运动,并且X是指数比例因子。
除了减少模糊之外,这样的技术也能有效地去除智能手机拍摄图像的噪声。
混合水印/显著点/条形码/NFC配置方案
前面引用的申请13/079,327详述了一种这样的配置方案:把从印刷文件(例如,报纸)拍摄的图像与辅助信息一起再现在智能手机屏幕上,所述辅助信息以几何配准的方式叠盖在屏幕上。已公开的申请 20080300011详述了相关技术。
这些刚刚提到的申请的优选实施例通过参考页面中编码的水印信号的配准信号组分来辨别智能手机相对于该页面的姿势。使用该水印的有效载荷来访问包含与该页面相关的辅助信息的数据库。随后将该辅助信息叠盖在从该页面拍摄的图像之上,处于屏幕上的取决于所辨别的姿势的位置处。
前面引用的申请13/011,618教导了一种有些不同的配置方案:用户轻拍呈现于智能手机屏幕上的成像页面的一部分。根据所拍摄的图像解码的水印有效载荷被发送给数据库,数据库返回与正在查看的页面相对应的页面布局信息。(该页面布局数据之前已从对该页面进行排版时使用的发布软件输出并被存储于数据库中。)通过参考根据水印的配准信号组分而辨别出的缩放和旋转信息、以及取得的页面布局数据,手机确定用户的轻拍所指示的物理页面上的坐标(例如,从印刷页面的左上角向下4英寸并向右6英寸)。通过参考这些确定的页面坐标,与该页面的特定部分相关的辅助信息得以识别并被呈现在智能手机屏幕上。
根据本技术的另一方面,用于呈现与印刷页面或其他对象上的不同位置相对应的信息的不同配置方案被利用。
在一个特定实施例中,并不通过参考水印信号的配准组分来确定智能手机相对于页面的位置。而是,将解码出的水印有效载荷发送给远程服务器(数据库),该远程服务器返回关于该页面的信息。然而,不同于申请13/011,618,所返回的信息不是从发布软件输出的页面布局数据。而是,数据库返回之前存储的关于该页面上呈现的显著点(特征)的参考数据。
(显著点可以简单地利用其在原始页面上的坐标(例如,从页面的顶部一角向下并横向经过几英寸)来识别。附加地或者可替换地,也可以提供其他信息(通常是特征向量)。作为识别各个单独的不相关的点这一方案的替代,从数据库返回的信息可以表征显著点的星群。)
智能手机可以以各种方式利用关于正在观看的页面上的参考显著点的认识。例如,智能手机可以通过使数据库识别的显著点与在手机视场内发现的显著点匹配,来识别页面的哪个特定部分正在被成像。
呈现给用户的辅助数据也可以是显著点的函数。例如,智能手机可以向远程服务器传送在手机视场内匹配的识别出的显著点的列表。由于该子集用于精确定位正在浏览的页面区域,所以可以把特别对应于该区域(例如,对应于用户感兴趣的特定文章)的辅助信息返回给手机。可替换地,可以响应于水印有效载荷而从数据库返回更大的一组辅助数据(例如,与页面的全部内容或报纸中的所有页面相对应)。智能手机可以随后从该更大的一组数据中进行选择,并且只呈现与(利用显著点确定的)正在成像的特定页面摘选相对应的子集。在用户移动手机从而对对象的不同部分成像时,不同的子集可以快速地得以呈现。
利用数据库所返回的参考显著点的另一种方式是将其用于确定手机相对于页面的姿势。摄像机相对于对象的3D(三维)姿势连同该视图透过摄像机透镜的投影一起,会唯一地确定显著点在所拍摄图像中出现的位置。给定所拍摄的图像以及关于显著点在对象的俯视图中的位置的参考数据,可以确定3D姿势。(对姿势的准确确定需要关于摄像机/透镜所实现的投影的一些信息,例如焦距和图像格式。)
一旦对象姿势得以确定,任何叠盖信息就可以与处于下面的图像几何地配准,例如利用与该页面的智能手机视图相匹配的旋转、缩放、平移和/或仿射扭曲或透视扭曲来进行上述配准。
(基于显著点以几何配准的方式把信息叠盖在图像上这样的方案可根据增强现实技术而获知。参见例如专利文献7,616,807、7,359,526、 20030012410和20100232727,以及以下论文:Reitmayr的“Going Out: Robust Model-based Tracking for OutdoorAugmented Reality”(Proc.5th IEEE/ACM Int.Symp.on Mixed and Augmented Reality,2006,pp. 109-118),和Genc的“Marker-less Tracking for AR:A Learning-BasedApproach”(Proc.1st IEEE/ACM Int.Symp.on Mixed and Augmented Reality,2002,pp.295-304)。)
在一种特定配置方案中,数据库还返回与提供给智能手机的显著点信息有关的缩放和旋转数据。例如,数据库可以返回一数值,该数值对指示朝向所成像对象的顶部的方向(即,垂直方向)是有用的。该值可以表示例如垂直方向与所列出的第一个和最后一个显著点间的线之间的角度。类似地,数据库可以返回一数值,该数值表示在最初印刷该对象(例如,报纸)所用的尺度下,所列出的第一个和最后一个显著点之间的以英寸为单位的距离。(这些简单的实例仅仅是示例性的,只是用于举例说明上述概念。)
相关地,从数据库返回的显著点也可以充当在对图形标志(诸如方框、边框、菜单等)调整大小和进行定位时的导向标。例如,智能手机可能会被指示在手机显示屏上再现边界框——尺寸刚好足够大到包围编号为5、32、44和65的显著点,并且其边缘平行于显示屏边缘。显著点可以类似地充当对象内的导向标,通过参考所述导向标可以对其他信息调整大小或进行呈现。
参考显著点信息的另一种利用方式是将其用于确定摄像机的透镜系统的固有参数,例如焦距。通常,这样的规格信息可从制造商获得,或者可从摄像机所输出的元数据(例如,从EXIF数据)获得。然而,如果透镜参数未知,则透镜参数可以根据对包含已知显著点的图像的分析而凭经验确定,如摄影测绘领域的技术人员所熟悉的那样。(其他领域的技术人员可以在实现这样的方法时参考以下参考文献:诸如 Hartley的书《Multiple ViewGeometry in Computer Vision》(Cambridge University Press,2004)和Pollefeys的论文“Self-Calibration and Metric 3D Reconstruction from Uncalibrated ImageSequences”(Catholic University of Leuven,1999)。)
在上述配置方案中,并不使用水印信号的配准组分;只采用水印的有效载荷。在这种配置方案中,可以可选地使用其他数据传递机制,诸如条形码、OCR、近场通信芯片(RFID)等。
考虑包含嵌入的或附着的NFC芯片的印刷海报。配备有NFC读取器的智能手机从海报的NFC芯片感测用于标识该海报的多符号标识符。该海报标识信息由手机发送给数据库,数据库返回与该海报相关的显著点。用户可以随后以随位置而定的方式与海报进行交互。
例如,作为呈现通常对应于海报整体的响应数据(即典型的NFC 使用模型)这一方案的替代,用户可以利用智能手机摄像机对该海报的不同区域成像。手机识别所拍摄图像中的显著点,并将这些显著点与响应于NFC海报标识数据的提交而从数据库返回的显著点进行匹配。通过这样的配置方案,智能手机辨别出该海报的什么摘选内容正被成像(并且,如果需要的话,辨别出手机相对于海报的姿势)。特别对应于这样的摘选内容的辅助信息随后被呈现给用户(作为几何配准的屏幕叠盖物,如果需要的话)。因此,如果这样的用户观看海报的第一部分则可以向这样的用户呈现一种响应,并且如果这样的用户观看海报的第二部分则可以向这样的用户呈现不同的响应。
更一般地,这样的显著点方法可以充当高精度位置确定方法——在分辨率上比例如GPS更精细。考虑含有海报的地点。预先确定海报上的固定点的位置(例如,其中心),并将这样的信息存储在海报中所包含的NFC芯片的有效载荷所标识的数据库记录中(或者将其编码为芯片的数据有效载荷的一部分)。参考点的位置可以以各种形式表示,例如纬度/经度/海拔(地理位置数据),或者仅仅利用参考点相对于海报的显著点的位置(例如,在海报的中心或左上角)来表示。该位置数据还可以包括姿势信息,例如海报所面对的罗盘方向、以及海报的水平和竖直倾斜,如果存在的话(以度为单位表示)。感测到该NFC 芯片的用户从数据库获得海报的位置坐标、以及与该海报作品有关的显著点信息。智能手机随后分析从手机的当前观察点拍摄的图像,并辨别出手机相对于海报的姿势(例如,从中心向右3英寸,向下4英寸,并距离海报24英寸,以10度倾角向上、以20度的角度向右观看,并且手机相对于海报顺时针倾斜4度)。通过使用该显著点确定的姿势信息并结合海报的已知位置,手机的绝对六维(6D)姿势得以确定。
当然,这样的方法也可以与除海报以外的任何对象一起使用。并且由此确定的智能手机位置可以与依靠位置确定的大多数方法结合使用。
显著点(有时被称为兴趣点或局部特征)可从基于内容的图像检索(CBIR)和其他基于图像的技术获悉。一般而言,这样的点是图像中的相对于一个或多个选定图像特征有显著局部变化的位置——使得这样的位置很独特并易于检测。这样的特征可以基于诸如亮度、颜色、纹理等之类的简单参数、或更复杂的度量(例如,高斯差分)。各显著点可以用这样的数据表示,所述数据指示该显著点在图像内的位置、该点的方向、和/或表示与该位置相关的信息的特征向量。(在SURF 实现方案中通常使用的特征向量包括64个数据,详述兴趣点周围排列的16个不同的正方形像素块中的每个像素块的四个亮度梯度信息值。)
显著点可以对应于各个单独的像素(或图像内的子像素位置),但是显著点检测器通常聚焦于二维(2D)结构(例如拐角)或考虑正方形像素区域内的梯度。显著点是局部图像描述符的一种特殊类型。以上详述的配置方案也可以与其他这样的描述符一起使用。在特定实现方案中,可以使用SIFT或SURF算法所使用的显著点。也就是说,响应于从智能手机接收到水印、NFC或其他对象标识符,远程服务器/数据库可以返回与该对象相对应的一组SIFT或SURF数据。
(SIFT是尺度不变特征变换的首字母缩写词,是一种由David Lowe开创的计算机视觉技术并且被记述在他的各种论文(包括:“Distinctive Image Features from Scale-Invariant Keypoints”, International Journal of Computer Vision,60,2(2004),pp.91-110;以及“Object Recognition from Local Scale-Invariant Features”,International Conference on Computer Vision,Corfu,希腊(1999年9月), pp.1150-1157)和专利6,711,293中。SURF是相关的技术并被详述在例如Bay等人的“SURF:SpeededUp Robust Features”(Eur.Conf.on Computer Vision(1),pp.404-417,2006)以及Chen等人的“Efficient Extraction of Robust Image Features on Mobile Devices”(Proc.ofthe 6th IEEE and ACM Int.Symp.On Mixed and Augmented Reality,2007)和Takacs等人的“Outdoors Augmented Reality on Mobile Phone Using Loxel-Based VisualFeature Organization”(ACM Int.Conf.on Multimedia Information Retrieval,2008年10月)中。)
作为上述操作的预备动作,确定对象的参考显著点数据(通常由对象的所有者或发布者根据对借以印刷该对象的文件进行的分析来确定),并将该数据与该对象的标识符(例如,NFC标识符、或水印、或条形码有效载荷、等等)相关联地存储在数据库中。
在一些配置方案中,也可以不预先确定并存储显著点数据。而是,可以通过使用(例如以众包方式)来开发显著点数据。例如,用户可以从海报拍摄图像,解码出水印有效载荷,并捕获显著点信息。在利用水印有效载荷查询数据库时,智能手机可能会发现对于该对象在之前尚未存储过显著点参考信息。数据库可以随后请求智能手机提供该手机辨别出的信息,智能手机可以通过将其显著点信息传送给数据库进行存储来对此做出响应。
智能手机可以附加地发送与手机和对象间的姿势有关的信息。例如,手机中的水印检测器可以提供仿射变换参数,该仿射变换参数表征对象在手机视角下的缩放、旋转和平移(其通过参考水印信号中所包含的配准信号组分来确定)。或者,手机处理器执行的图像处理算法可以通过参考在视场内描绘的已知条目(例如,正方形2D条形码的边缘)的表观失真来辨别姿势信息的至少一些方面。在另一些配置方案中,手机可以向数据库发送所拍摄的图像数据,然后这样的姿势估计方法可以由与数据库相关的处理器(而不是手机上的处理器)执行。或者,姿势数据可以以其他方式确定(例如,通过声学回声技术,加速计/陀螺仪/磁力计传感器数据,基于无线电的定位,等等)。
通过参考这样的姿势信息,与数据库相关的处理器可以处理手机提交的显著点信息,将其归一化以减少或消除与姿势相关的失真,并将其存储为参考数据供日后使用。(或者这样的归一化可以由智能手机在将显著点信息提供给数据库进行存储之前执行。)这种归一化的显著点数据可以随后充当在第二个智能手机在此后查询数据库以获得该对象的参考显著点信息时的参考信息。
类似地,根据手机拍摄的图像感测到的有关对象边缘的数据可以存储在数据库中。优选地,这样的信息与显著点信息在几何上相关联,使得显著点可以用于指示例如距对象的不同边缘的距离。
在其他实施例中,作为数据库返回之前存储的关于页面上存在的显著点(特征)的参考数据这一方案的替代,可以返回页面图像自身的副本——与相关的显著点数据一起返回或者不返回相关的显著点数据。
关于基于显著点的系统的更多信息将在下面的章节中呈现。在这些章节中描述的实施例的细节可以结合到上述配置方案中,反之亦然。
显著点和水印检测
水印检测的进行通常首先是参考水印的配准信号组分(例如,由空间频率域中的脉冲构成的已知星群)来估计带有水印的对象的平移、旋转和缩放。接下来处理所拍摄的图像以消除这些估计出的仿射失真。最后,将水印解码算法应用于处理后的图像。
根据本技术的另一方面,通过使用参考显著点(如上文讨论的那样)来估计被成像对象相对于摄像机的姿势。一旦估计出姿势,就对所拍摄的图像进行校正调整(例如,反仿射失真)以减少姿势伪迹(pose artifact),从而获得归一化成类似于俯视图的一帧图像。随后将水印解码算法应用于校正后的图像。
在平面对象上,非常小的显著点集合就能够满足这样的目的(例如,三个点)。在印刷品中常见的图形标志(例如,回收符号,或公司标志,或甚至正方形条形码)非常适合于这样的目的。可替换地,典型杂志页面的典型尺寸的矩形轮廓也能够满足这样的目的。
用于图像降噪的显著点
水印信号通常幅度较小,并且会由于图像噪声(例如由低照度曝光产生的噪声)而退化。其他图像操作会类似地受到图像噪声影响(例如,基于指纹的图像识别)。图像噪声可以通过延长曝光时间而得到降低,但是这样做会增加运动模糊的风险。
根据本技术的又一方面,捕获一场景的多个图像帧,诸如通过智能手机以视频拍摄模式捕获。独立地看,各个帧可能会具有较差的信噪比。通过参考多个帧共同的显著点来几何地配准多个帧、并随后对配准的帧求平均,可以提高该信噪比。由此获得的复合帧在噪声方面比各组分帧低,然而该优点是在没有运动模糊的风险的情况下获得的。这样的复合帧可以随后提交给水印检测器进行水印解码,或者以其他方式得到使用。
这样的方法通过识别每个帧中的显著点(例如,使用SURF技术) 来工作。随后在各帧之间匹配对应的点。利用这些点在各帧之间的移动来量化借以使一个帧变化成下一个帧的变换。随后对这些变换分别进行逆转以将每个帧与公共基准(其可以是例如由五个帧构成的序列中的中间帧)配准。随后对配准的帧求平均。
视频拍摄模式使便于该方法快速执行的某些假定能够成立。例如,显著点在各帧间的平移运动较小,所以在搜索对象帧以识别来自在先的帧的显著点的过程中,不需要搜索整个对象帧。而是,可以将搜索限制于以在先的帧中的该显著点的位置为中心的小范围邻域(例如, 32×32像素)。
类似地,因为显著点在各帧间的旋转变换可能较小,这些显著点的特征向量可以省略通常的方向信息。
同样,以帧序列的形式捕获的图像的缩放因子可以会相对均匀——这同样会限制在寻找匹配点的过程中必须要考虑的搜索空间。
特定匹配算法开始于在第一和第二帧中照惯例识别出的显著点。示例性的帧可以具有20-400个显著点。对于第一帧中的每个点,计算该点的特征向量和第二帧中的每个显著点的特征向量之间的欧几里得距离。对于第一帧中的每个点,把第二帧中具有最近欧几里得距离的点识别为候选匹配者。
有时,第二帧中的一个点可能会被识别为是第一帧中的两个或更多点的候选匹配者。丢弃这样的候选匹配者。同样丢弃的是计算出的欧几里得距离超过阈值的候选匹配者。(可以使用绝对值阈值,或者该算法可以基于距离值中的最大的百分之十来丢弃候选匹配者。)一组候选匹配者保留下来。
图20示出第一和第二帧中的剩余显著点的位置。可以看出,处于帧的中心附近的点密切地重合。进一步远离中心,存在着一定的移位——一部分是由于两个图像帧之间稍微不同的缩放比例(例如,用户移动摄像机更接近对象),一部分是由于平移(例如,用户稍微抖动了摄像机)。
在第一级近似程度上,第一和第二帧之间的变换通过缩放因子和平移(X方向平移和Y方向平移)来表征。首先估计缩放。这是通过对第二帧的剩余显著点缩放各个不同的量、并随后检查缩放后的点位置与第一帧中的和其最靠近的对应点之间的距离的直方图,来完成的。图21示出缩放因子为1.01、1.03、1.05和1.07时的结果。可以看出, 1.05的缩放因子获得了最佳峰值。
随后根据所确定的缩放值(1.05)对第二帧的剩余显著点进行缩放。随后计算缩放后的点位置与第一帧中的和其最靠近的对应点之间的距离(X方向距离和Y方向距离),并且随后计算X方向和Y方向偏移的中值。这样就完成了表征相对于第一图像配准第二图像的变换的第一级近似。
如果需要的话,这种近似可以进一步得到细化。一种适合的技术是通过丢弃在应用了所确定的缩放和X方向、Y方向偏移之后仍不能在阈值距离内配准的那些候选点配对。随后以迭代方式使以所确定的缩放和偏移为基础的仿射变换发生扰动,以确定在仍然保留下来的候选点间产生最佳的最小二乘匹配的变换。
在一个实验中,使用智能手机的视频拍摄模式以低照度拍摄500 帧的加有数字水印的照片。可以对500个帧中的25%的帧分别单独地进行处理以读取编码的数字水印。利用每个由五帧构成的序列中的一个或多个帧,在49%的时间中实现了成功的水印读取。如果对相继的多个由五帧构成的群组求平均而不进行任何配准,则结果下降至在 18%的时间中实现成功的水印读取。然而,如果如上面所述的那样对每个由五帧构成的序列进行配准和求平均(使用第三帧作为基准,将其他帧对照该基准进行匹配),则在61%的时间中实现了成功的水印读取。
正如所描述的程序增强了水印读取操作的成功率,对多个图像帧进行的这样的处理(基于显著点配准和求平均)可以类似地获得低噪声、清晰的图像以用于其他目的(包括消费者享受)。
可以与上述配置方案一起使用、或者可以独立使用的另一方法是关注与视频序列中的每个帧被拍摄时的瞬间相对应的智能手机运动传感器数据。如果传感器数据(例如,来自3D加速计或陀螺仪)表示阈值以上的运动,则可以丢弃对应的图像帧,而不将其用于求平均操作。该阈值可以是自适应的,例如通过丢弃每个由十帧构成的序列中的具有最高运动值的两个帧。
(初步研究表明,在手持电话中手持运动的幅度从一个瞬时到另一瞬时会有大范围的变化——从零到相对较大的值。通过丢弃运动幅度相对较大的帧,可以实现大幅增强的结果。)
信道化音频水印
音频水印越来越多地被用于提供与音频和音视频内容相关的网络服务。一个实例是由ABC电视台提供、并且可从苹果的App Store下载的《实习医生格蕾(Grey’s Anatomy)》同步应用程序。这款iPad应用程序允许实习医生格蕾节目的观看者在观看该节目的同时,与其他粉丝进行交互(例如,通过聊天功能)并实时获得与剧集相关的内容 (例如,演员传记、测验等)。类似地,音乐内容中的音频水印可以允许听众与其他粉丝交互并获得相关信息。
音频水印信息通常以无法与音频数据分离的能量水平非常低的类似噪声的信号形式被编入内容自身中。去除该水印通常非常困难、或者是不可能的。
根据本技术的另一方面,在独立的音频信道中传递音频水印信息,使得这样的信息可以取决于用户的期望或其他情况而被再现或不被再现。
一种适合的格式是杜比TrueHD,其可以在8个离散音频信道中的每个音频信道中传递24比特的音频。另一种适合的格式是微软的WAV 文件格式,其现在支持多个音频信道。又一种适合的格式是由欧洲广播联盟规定的RF64格式。
示例性实现方案是家庭音响系统,其使用高保真音响爱好者的5.1 或7.1环绕声系统,使相关的水印数据在附加信道上传递。通过音频接收器(和/或遥控装置)上的控制,用户可以指示是否应该再现该水印信道。如果选择了再现,则接收器将该水印数据混合到一个或多个扬声器信道(例如,左前和右前扬声器)中。水印的幅度在混合过程中通常不被改变,但是一些实现方案可以向用户附加地提供改变所混合的水印的幅度的一定能力。
另一实现方案展望这样一天:音频以其被录制时所采用的原生的多轨道形式传递给消费者,从而允许用户创建自己的混声。(例如,喜欢萨克斯的消费者可以增强乐队的16轨道录音中的萨克斯轨道,并且可以削弱鼓声轨道等。)同样,在这样的实现方案中,可以向用户赋予把水印信号包含在最终的音频混声中、或者略去水印信号(这取决于用户是否计划利用通过该水印启用的网络服务或其他功能)的机会。
在大多数实现方案中,提供单个水印轨道。然而,也可以使用多个轨道。一种这样的实施例具有基本的水印轨道、以及多个另外的轨道。这些另外的轨道中的每个轨道是数据信道,其规定应该与对应的音频(乐器)轨道相关联的水印的幅度组分。在刚刚给出的实例中,如果削弱鼓声轨道的幅度,则可能合乎需要的是,类似地削弱水印信号的依赖于鼓声轨道的某些特征以进行掩蔽。根据对应的音频(乐器) 轨道的用户设定幅度对幅度数据信道进行缩放,随后对来自所有这样的信道的缩放后的幅度数据求和以获得水印信号的净缩放因子。随后根据该缩放因子(例如通过与其相乘)动态地调整水印信号的幅度,使得水印幅度最佳地对应于构成总音频的各音频轨道的幅度。
音频的轨道可以存储在计算机可读介质上,消费电子装置从所述计算机可读介质中读取音频的轨道并对其进行处理,如上所述。或者,轨道可以以流的形式传送到装置(诸如通过电缆或在线传送服务),并在被读取和处理之前暂时缓冲在存储器中。
拍摄场景中的多个对象的歧义消除
智能手机常常会拍摄到描绘共享的背景环境中的几个不同的对象的图像帧。一个实例是百货商店广告,其以单个摄影图像内的各种产品为特色。另一实例是分类广告页面。这种包括多个不同对象的文件可以被称为“复合对象”。对于形成该复合对象的一部分的每个对象来说合乎需要的是:与不同的电子响应(例如,响应性的在线网络页面,或其他触发动作)相关联。
根据本技术的又一方面,上述方案可以通过以下方式来实现:确定与复合对象相关联的标识符,将其传送到数据存储库,并接收包括如下数据的作为回复的编制页面:根据所述数据可以产生原始复合对象的一部分或全部的再现。该接收到的页面可以定义不同的可点击(可轻拍)区域。用户轻拍再现的页面上所示出的感兴趣的特定对象,并且智能手机通过使用本领域已知的技术(例如通过熟悉的将图像再现为超链接的HTML超文本标记技术)创制与该区域相关联的响应来做出响应。
在这种配置方案中,智能手机屏幕上呈现的图像可以不是该智能手机摄像机拍摄的图像。而是,该图像通常是从远程存储库传送到智能手机的页面(文件)。然而,该图像示出用户正与之交互的同一复合对象的一个版本(尽管通常采用“俯”视图形式——不包含智能手机拍摄的图像中的任何透视失真)。
传送到智能手机的文件可以用比一次性便利地显示在智能手机屏幕上的缩放比例/分辨率更大的原生缩放比例/分辨率来呈现复合对象。 (即,最初拍摄的图像可以以每英寸50像素的分辨率解析所描绘的对象,而所传送的文件可以提供每英寸72像素的分辨率。因此,印刷页面上的在最初拍摄的图像上跨度为10个像素的特征可以在所传送的文件中跨度为14个像素。)用户可以采用已知的触摸屏手势(包括挤压,划动,等等)来改变显示放大倍率,并横越该页面从而使期望的摘选内容进入显示范围。(由于缩放比例/分辨率较大,所以可能无法一次性把所传送文件的全部像素呈现到屏幕上——在缺少某种向下采样的情况下。)一旦以便利的尺寸把作为用户感兴趣的对象的所描绘对象呈现在显示屏上,用户就轻拍该对象以启动相关的行为。
前面已提到确定与复合对象相关的标识符。这可以以各种方式实现。在一些实施例中,复合对象中描绘的每个对象利用其自己的机器可读代码(例如,数字水印、条形码等)进行编码。如果解码出这些机器可读代码中的任何一个、并将其有效载荷发送给远程服务器,则系统利用相同的复合页面数据做出响应以作为回复(即,多个输入有效载荷全都解析到相同的输出页面)。可替换地,整个复合对象可以利用单个标识符(例如,跨度为整个复合对象的数字水印,或者描绘若干个对象的印刷页面上的单个条形码)进行编码。同样,系统可以通过返回用于在智能手机显示屏上进行再现的页面数据,来对这样的单个标识符的传送做出响应。
同样,复合对象中描绘的各个单独的对象、或者复合对象的其他摘选内容(包括这样的对象整体)可以通过图像指纹技术(诸如SURF) 而得到识别。同样,这样的识别结果可以映射到该对象的识别符,该标识符可以与用于再现的相应电子页面相关联。
在另外一些实施例中,智能手机可以在不使用智能手机摄像机的情况下从复合对象辨别标识符,例如通过使用相应的检测器从复合对象所承载的NFC或RFID芯片检测标识符。
智能手机上呈现的用于用户交互的电子页面可以在视觉上不同程度地对应于启动体验的物理页面。在一些实施例中,电子页面可以无法与物理页面区分开来(除非例如从不同的视角呈现该电子页面,诸如从俯视视角而不是从倾斜视角)。在另一些实施例中,电子页面可以在视觉上相似、但是不完全相同。例如,电子页面可以具有较低的分辨率,或者电子页面可以利用更小的调色板或利用其他风格化的图形效果等来呈现页面。
通过这样的配置方案,系统在智能手机屏幕上复制出用户正在观看的复合对象的一个版本,只是该版本具有链接到相应资源、或者触发相应行为的可点击/可轻拍区域。
将会认识到的是,上述配置方案避免了以下潜在问题:智能手机中的水印或条形码检测器检测到单个图像帧内的多个机器可读标志,并且无法辨别哪一个机器可读标志是用户特别感兴趣的。而是,尽管单个帧可能会描绘多个对象,但是该单个帧会映射到作为响应的单个电子页面。用户可以随后通过轻拍(或通过备选的用户界面选择)来明确地指出哪个对象是感兴趣的。
相关的问题会在(上面详述的)流模式检测器的某些实现方案中出现。当用户移动智能手机摄像机来拍摄感兴趣的特定对象的图像时,智能手机可能会拍摄到形成复合对象的一部分的许多其他对象(用户对这些其他对象可能不感兴趣)的图像,而智能手机可能会从每个这样的其他对象解码机器可读标识符。
根据本技术的又一方面,当手机的运动传感器(例如,加速计,陀螺仪和/或磁力计)指示超过阈值程度的运动时,智能手机可以停用某些模块的操作(例如,水印和条形码解码器,NFC读取器,等等)。例如,如果手机感测到的运动超过每秒二、四或六英寸,则手机可以抑制这样的模块的操作。(一些运动只会由于自然的手抖动而发生。) 当运动降到阈值以下或者不同的阈值(例如,每秒一英寸)以下时,手机可以恢复模块操作。通过这样的配置方案,对无意识的标识符进行的解码得以抑制。
印刷物至网络的给付,例如用于报纸
如前所述,印刷介质(诸如报纸和杂志)可以数字地加有水印以嵌入隐藏的有效载荷数据。当这样的有效载荷数据由智能手机上的适合的水印检测程序(例如,DigimarcDiscover应用程序)感测到时,该有效载荷数据会使智能手机呈现相关的“给付”,诸如显示相关的在线内容。
如果报纸对其大量的每日照片或大量的每日文章加有数字水印,则对每个照片/文章规定适当的给付对于出版者来说会成为后勤方面的挑战。在生产进度的巨大压力下,一些出版者会安排把他们所有加有水印的图像简单地链接回到出版者的在线主页(例如,www<dot>nytimes<dot>com网页)。可替换地,出版者可以规定对应于印刷文章的给付仅是同一文章的在线版本。
然而,这样的权宜之计提供的附加价值很小。
根据本技术的又一方面,报纸文章(或图像)与更有价值的给付相关联,而只需做出很少的努力或无需做出努力。
在一个特定实施例中,在将报纸递送给订阅者之前(但是在水印 ID已被赋予给文章之后),运营者输入几个(例如2-5个)与所述文章相关的关键词(例如,奥巴马,波多黎各;或斯坦利杯,小熊队(Bruins))。这些关键词与所述文章中加有的数字水印的水印有效载荷ID相关联地存储在中央计算机系统中的数据库中。当观看者在此后使用DigimarcDiscover应用程序来解码水印并链接到给付时,所述给付是基于为该文章输入的关键词而得到的Google(或其他提供商,例如Bing)搜索结果。
在实践中,在发布者没有规定任何其他给付的情况下,Google关键词搜索可以用作默认的或备用的给付。因此,在典型的工作流程中,关键词与文章相关联地存储,并且基于所存储的关键词而得到的 Google搜索结果在最初被规定为对应于该文章的给付。然而,此后,报纸出版者或文章的作者可以改变所存储的数据以规定不同的给付。 (有时,把作者规定的在线给付与文章文本一起提交给出版者,在这种情况下,该作者规定的给付可以从一开始就被用作在线给付。)
在另一实施例中,并不手动输入关键词,而是从文章的文本中提取关键词(例如通过标签云技术)。一种特别的标签云按照频率来对文章中的名词排序——可能会丢弃“噪声词”。共现方法可以用于识别由两个或更多单词构成的短语。把最频繁出现的词存储为文章的关键词。这种技术对于本领域技术人员来说是熟悉的。
在另一配置方案中,系统可以基于文章的作者来预测可能的关键词。《俄勒冈人报》的受欢迎的体育新闻记者通常会写关于开拓者篮球队的文章。《纽约时报》的保罗·克鲁格曼(Paul Krugman)通常会写关于经济的文章。基于这样的关键词而得到的Google搜索结果即使在没有关于这些作者的文章内容的任何特定信息的情况下,也会是适合的默认给付。
另一种方法从图像中提取语义信息,例如通过模式匹配或面部识别。例如,已知的方法可以用于识别报纸照片中所描绘的著名人物和熟悉的陆标。通过使用这样的技术而辨别出的名称可以存储为对应于这样的照片的关键词。
如果自动化系统对与图像有关的位置信息有一定认识,则会帮助进行图像内容的辨别。例如,报纸《俄勒冈人报》频繁地发布包含地方和国家官员的面孔的图像。这些官员的面孔可能难以与从世界各地的面孔提取的参考面部数据相匹配。然而,如果知道这样的图像是在《俄勒冈人报》中发布的,则这会向识别系统提供可以用来识别所描述的人/陆标的进一步线索,即首先检查与和俄勒冈州相关的面部数据的匹配。
在上述实施例中,自动生成的关键词可以由运营者复查,该运营者可以在自动生成的关键词似乎不恰当或不足的情况下监督这样的输出并修改这样的输出。
通常,当基于水印的印刷物至网络的智能手机应用程序感测到水印有效载荷、并启动去往在线给付的链接时,检测到该水印的应用程序从屏幕上消失、并由手机的网络浏览器替代。对于Digimarc Discover 应用程序的最初的版本,情况就是这样。然而,根据本技术的优选实现方案,使用HTML 5或Adobe Flash来把相关的在线给付(例如,所提到的Google搜索结果)再现为水印读取应用程序所显示的摄像机视图上面的可视叠盖物——而不离开该应用程序的背景环境。
在特定实现方案中,中央计算机系统中的数据库使水印有效载荷 ID与相关给付的细节相关联。该数据库可以由报纸出版者或另一方来维持。对于每个水印有效载荷ID,都存在相关联的数据库记录,其包含对应于该文章(或照片)的关键词。数据库记录还规定HTML 5模板。当提供解码出的水印ID的智能手机应用程序询问数据库时,数据库拉取HTML5模板、插入相关联的关键词、并将其返回给智能手机。智能手机应用程序随后根据返回的HTML模板来再现屏幕显示画面。 (可替换地,数据库可以利用关键词来查询Google,并向智能手机返回已经包含Google搜索结果的完成形式的HTML页面。)
对呈现给用户的Google搜索结果进行限界可能是合乎需要的。例如,如果来自《纽约时报》文章的在线给付将读者引导到竞争对手报纸的文章,则这会是尴尬的。因此,在变型实施例中,可以对智能手机应用程序所呈现的Google搜索结果进行领域限制,诸如限制到《纽约时报》网站以及非竞争性的领域(例如维基百科、美国政府网站、等等)。
当读者从报纸文章(例如,有关奥巴马访问波多黎各的文章)链接到基于关键词的Google搜索结果的对应页面时,应用程序可以监视用户此后追随了什么搜索结果。总体而言,这样的用户选择可以导致系统修改对应于该文章的在线给付以便更好地追随用户的表观兴趣。
例如,利用关键词“奥巴马”和“波多黎各”进行的Google搜索会产生由多个结果构成的列表,处于这些结果首位的是有关奥巴马的这次访问的新闻报道(由《纽约时报》、《国家报(The Nation)》、半岛电视台(Al Jazeera)等发布)。然而,处于搜索结果的较下部位置的是示出奥巴马在集会上跳舞的YouTube链接。HTML 5代码可以观测去往和/或来自该应用程序的业务流,并且可以向数据库指示用户追随了哪个(些)链接。基于点击跳舞链接的用户的数量,系统可以修改给付使得该结果出现在搜索结果列表中的更高的位置。
数据库可以类似地获悉观看者对与奥巴马在波多黎各喝“cerveza”和吃“platanos”有关的链接感兴趣。
可以添加所有这些词作为数据库关键词,并将其用作搜索的基础。然而,结果可能会排除之前排在最前面的那些新闻报道。在这样的实例中更好的是,数据库运行多个Google查询——一个查询使用原始关键词;一个查询使用原始关键词和“跳舞(dancing)”;一个查询使用原始关键词和“cerveza”;并且一个查询使用原始关键词和“platanos”。远程系统可以随后基于指示出的不同主题的用户流行度来对这些结果进行组合,并将此后链接自所述文章的这些修改后的结果返回给智能手机。这些后来的用户可以随后看到把YouTube视频排在首位的搜索结果。在智能手机上呈现的链接的顺序可以裁制成对应于这些链接在报纸读者当中的表观流行度。
通过这样的配置方案,对报纸解除了对受读者们欢迎的特定文章规定在线给付的负担。而是,初始的Google搜索以及随后的众包反馈会允许系统自动地辨别出满足读者展示出的兴趣的在线给付。
有时候,用户对一篇文章的响应可以影响使报纸与第二篇相关文章关联起来的链接。考虑一期《俄勒冈人报》,其在第4页上包含关于奥巴马访问波多黎各的政治活动的文章,并且在第5页上包含关于奥巴马的这次访问(包括跳舞)的另一趣闻。业务流分析可能会显示出,对第5页上的趣闻表达兴趣(通过向他们的Digimarc Discover应用程序表示兴趣)的读者比对第4页上的故事表达兴趣的读者更多。可能没有足够的来自第4页故事的业务流来确信地把在线给付改变成这样的故事(例如,以上面详述的方式)。然而,中央系统可以对第4页文章执行语义比较从而通过关键词相似性发现报纸上有哪些其他文章是相关的。通过这样的处理,第5页的文章被发现与第4页的文章相关。在这种情况下,系统可以呈现证明是最受第5页文章的读者欢迎的链接,作为对第4页文章的读者的给付选项。
链接到可移动对象的标签
进一步扩展上文详述的某些特征,将会认识到,对象可以在图像中得到识别(例如,通过水印或指纹),并且智能手机可以呈现与这些显示的对象相关联的标签(也被称为图标或小玩意(bauble))。这种关联可以是“粘性的”。也就是说,如果显示在智能手机屏幕上的视场发生改变,则所显示的标签会随着与其相关联的对象的表观运动而移动。
尽管这样的行为提供了直观响应,但是如果用户希望轻拍一个标签以便例如触发相关的动作,则移动的标签会证明是有问题的。这通常需要用至少一只手握着摄像机,同时轻拍屏幕上潜在移动的目标。
根据本技术的又一方面,与所显示的图像中的识别出的对象相关联的标签、连同把该标签与该标签所对应的对象链接起来的视觉指示标记一起被呈现在屏幕上的固定位置。
考虑用户将智能手机摄像机指向描绘穿着供销售的服装的女性的印刷目录。如果智能手机推断出该目录印刷品承载着隐写数字水印(例如,由于在所拍摄的图像内发现超过阈值强度的水印校准或取向信号),则智能手机可以被编程为在所拍摄的图像中的似乎发现了水印的区域上呈现独特的图形效果。这种效果可以包括:例如,微微发光,色度或亮度振荡,叠盖的图形特征,等等。图32示出一种这样的配置方案。(叠盖的星形体以几赫兹的频率发生亮度或位置的变化——向用户表明:除了呈现于眼前的内容之外,这里还有更多的内容。在图32 中,跨越所显示的图像来检测水印信号。)
响应于这样的独特图形效果,用户可以采取行动指示智能手机完成对所拍摄图像的水印读取操作。这种行动可以是触摸屏手势、摇动手机、物理按钮的触摸、口头命令、等等。可替换地,手机可以在每当检测到可能的水印信号时就自动进行水印读取的模式下工作。
在图32的配置方案中,智能手机完成水印读取操作。智能手机随后将解码出的水印有效载荷传送给远程数据库站/网络服务。远程数据库站使用接收到的水印有效载荷来访问包含相关信息的数据库记录,然后远程数据库站将所述相关信息传送回给智能手机。
在所描绘的配置方案中,返回给智能手机的该信息使手机呈现图 33中所示的显示画面。也就是说,智能手机在屏幕的底部边缘产生三个标签——在所述底部边缘,这三个标签可以由用户的拇指便利地轻拍。一个标签对应于所拍摄的图像中描绘的女性所穿的衬衫;第二个标签对应于女性的短裤;并且第三个标签对应于女性的手提包。
在图33中,有两种类型的视觉指示标记,其把每个标签与相应对象概念性地链接起来。一种是从标签延伸到对象的系绳线。另一种是为对象定制的标签。
考虑系绳线,如果摄像机被移动从而导致对象在屏幕显示画面内移动,则标签连同相关系绳线的底端一起合乎需要地保持固定在屏幕的底部边缘。然而,系绳线的顶端发生移动,从而追随对象并保持对象和标签之间的持久视觉关联。通过对比图33和34可以看出这一点。在这两个附图之间用户已经移动了智能手机,从而产生目录页面的不同视图。穿着衬衫和短裤的女性在所显示的视场中已经向右移动,并且手提包已经移出视线。然而,衬衫和短裤的标签保持固定在屏幕底部。系绳线的顶端发生移动,从而追随移动的衬衫和短裤对象。(已经移出摄像机视线的手提包的标签在图34中消失。)
所描绘的系绳线配置方案因此采取双重的图解形式。一种图解形式追随该对象(即,系绳线),并且另一种图解形式保持固定(即,标签)。
如图所示,把每个标签链接到相应对象的第二视觉指示标记是指示与其对应的对象的特性的独特图形标签图片。将认识到的是,在所描绘的配置方案中,系绳线不是必需的,因为独特的标签独自就象征着图像中的不同对象(女衬衫、短裤和手提包)——从而提供关联性的必要的视觉指示。但是在其它实施例中,标签可以是通用的、并且彼此相同,在这种情况下,系绳线提供适合的视觉关联性。
(使标签与图像对象相关联的许多其他形式的视觉指示标记可以取代所示出的两种类型的视觉指示标记。一种其他形式是用色彩突出显示图像对象或者用色彩绘出图像对象的轮廓,并随后在智能手机显示屏的边缘提供相同色彩的标签。可以使用不同的颜色来使不同的对象与不同的标签相关联。)
在特定实施例中,在幕后,发送给网络服务的水印有效载荷(或指纹数据)使得能够访问包含关于正被观看的特定目录和页面的信息的数据库记录。从数据库返回的信息可以包括表征图像中的特定特征的参考图像数据。该信息可以包括一个或多个缩略图图像或映射——定义不同对象的形状(女衬衫、短裤、手提包等)。附加地或者可替换地,该信息可以包括图像指纹数据,诸如对借以识别和追随所描绘的对象的特征进行标识的数据。附加地或者可替换地,该信息可以包括定义对象“柄”的数据,上述对象“柄”是处于对象形状中的位置或处于对象形状的边缘处的位置,其中系绳线的上端在所述位置终止。图35示出一种这样的形状(对应于短裤),其定义三个柄位置(用“X”表示)。
将认识到的是,在该特定实例中,从数据库返回的信息通常由该目录的发布者编写。发布者规定:应该通过链接的标签为图32的图像所包括的三个对象提供用户可选择的交互性。有关三个对象的信息被存储在数据库中、并被提供给手机(例如,类似图35的形状数据,或者诸如SURF之类的指纹数据),从而允许这些对象在视角移动时得到模式匹配和追随,并且作为附连用的“柄”的各点被确定。发布者规定的数据还定义与三个不同的对象相关联地呈现在屏幕底部的特定图标形状。
当如图33中那样第一次将标签叠盖在所拍摄的图像上时,软件可以分析图像的底部边缘以确定在何处放置标签最佳。该决定可以基于对不同候选位置的评估,诸如通过识别图像的该区域内的边缘来进行评估。合乎需要地,标签不应该放置在强边缘上,因为这样的布置可能会使所拍摄图像的在感知上相关的特征变模糊。更好的是,把标签放置在图像中的相对“不显眼的”或均一的部分——不含有强边缘和其他在感知上显著的特征,在这种情况下上述障碍的影响可能更小一些。然而,一旦最初放置了标签,该标签就合乎需要地保持在该位置,即使位于下面的所拍摄图像发生了移位——以便使用户与这样的标签的交互变得容易。如果图像发生移位,则系绳线的顶端合乎需要地跟随移动的特征——类似于橡皮带那样根据需要发生拉伸和重新定位。(在一些情况下,可能会需要移动标签,例如当额外的对象进入视场时——使得额外标签的呈现成为必要。在这样的实例中,软件寻求把原标签保持在尽可能靠近其原始位置的地方,同时仍能容纳新的标签。这可以涉及使原标签的尺寸变得更小。)
使用算法来确定系绳线所经过的路线(如果使用系绳线的话),其中所述算法识别从标签到对应对象上的最接近的柄的简单弯曲路径。可以对去往不同的对象柄的不同路径进行评估,并且对路径的选择可以基于某种标准(例如,使与强边缘的交叉次数最小化;如果无法避免的话,以接近90度的角度与强边缘交叉;识别这样的路径,其能够产生具有在视觉上令人愉悦的范围(诸如接近25度的弯曲角度)的曲线;识别从对象外部接近对象边缘上的柄的路径,等等。)系绳线的颜色可以基于叠盖有该系绳线的拍摄图像而得到适应,以提供适合的对比度。当摄像机的视场发生移位时,可以对系绳线路径和颜色进行重新评估,并且这样的系绳线在一些情况下可以终止于给定对象上的不同的柄。(例如对于把短裤连接到对应图标的系绳线而言,情况就是这样。在图33中,采用了位于女性短裤右侧的柄;图34中,使用了位于左侧的柄。)
如果摄像机视场包含若干个加有独特水印的对象,则可以在每个对象上呈现水印检测结果的指示。这样的配置方案在图36中概念性地示出,在这种情况下智能手机检测到在图像中的包围女性的衣服的区域中编码的一个水印,以及在图像中的包围该女性的手提包的区域中编码的另一个水印。此处,智能手机修改图像中的描绘该女性的短裤和衬衫的区域以便呈现一种特定的图形效果(在图中被显示为叠盖的星形图案),并且智能手机修改图像中的描绘该女性的手提包的区域以呈现不同的图形效果(在图中被显示为叠盖的圆圈)。
在检测到数字水印的存在证据时由智能手机呈现的图形效果可以具有任何外观——远超出上面提到的那些。在一个特定配置方案中,软件API可以通过这样的检测而被激活,并输出水印区域的表观中心的像素坐标(可能与其他信息一起输出,例如半径,或竖直和水平方向的长度,或向量区域描述)。API或其他软件可以取得软件脚本,其定义对于该特定水印(例如对于该有效载荷,或者对于在该区域中发现的水印)应该呈现什么样的图形效果。该脚本可以提供各种效果,例如放大镜、气泡(bubble)、摆动(wobble)、火焰动画(fire animation) 等等——局限于API报告看似存在水印的区域。
在一个特定实施例中,一检测到这样的区域水印,智能手机就开始在屏幕上显示在该水印区域中或者在该水印区域的边缘开始的系绳线,并用动画表现该系绳线朝向屏幕边缘迂回前进。到发生延伸的线到达边缘时,智能手机已经将解码出的水印发送给远程数据库,并接收到作为响应的信息从而允许该智能手机最终确定适当的显示响应——诸如在用动画表现的线终止的地方呈现手提包图标。(智能手机也可以将该系绳线的上端快速移动到由所接收的信息定义的柄点。)
在基于指纹进行的图像对象识别的情况下,通常没有微微发光效果或其他图形效果来向用户提醒与所呈现的图像相关联的交互性。并且类似上述行为的行为通常并不自动启动,因为不存在图像特征来触发这样的行为。(然而,一些实现方案可以使用其他触发,诸如条形码或RFID/NFC感测数据。)作为替代,用户通过用户指令来启动这样的动作。作为响应,手机将图像(或基于图像而得到的指纹数据)传送给远程系统/网络服务。远程系统计算指纹(如果尚未由手机提供的话),并寻求在数据库中识别匹配的参考指纹。如果找到匹配者,则数据库中的相关信息用于识别图像所描绘的对象/场景(例如,特定的目录和页面)。一旦这样的识别已经得到执行,上面详述的行为就可以继续进行。
如上所述,当摄像机视场发生移动使得手提包不再被显示时,相应的手提包标签从屏幕底部被移除。在其它实施例中,用户可以采取一个动作,其中智能手机将所述动作解释为冻结当前显示的图像视图、和/或维持屏幕上的当前显示的标签的命令。这种功能允许用户将摄像机指向目录页面以获得相应的标签,并在此后把手机重新定位到更便利的位置以便与图像/标签进行交互。
尽管在拍摄图像的背景环境中进行描述,但将认识到的是,这些实施例以及在本说明书中其他地方描述的实施例可以针对以其他方式获得的图像(诸如从存储装置或从网络接收的图像)来实现。
类似地,尽管在所详述的配置方案中通过水印(或图像指纹)来执行对象识别,但是其他实施例可以基于其他形式的识别(例如条形码,字形,RFID/NFC芯片,等等)。
智能手机硬件和RDF三元组
智能手机正越来越多地配备有图形处理单元(GPU)来加速例如用于游戏、视频和其他图像密集型应用场合的复杂屏幕显示画面的再现。
GPU芯片是处理器芯片,其特征在于多个处理内核、以及通常针对图形进行了优化的指令集。在典型的使用中,每个内核专用于图像内的像素值的小邻域,以便例如执行应用视觉效果(诸如阴影 (shading)、雾、仿射变换等)的处理。GPU通常也被优化,以加速这样的处理内核与相关存储器(诸如RGB帧缓冲器)之间的图像数据交换。(由GPU处理的图像数据通常被表示为三个组分平面,诸如红/绿/ 蓝、或YUV。)除了提供多个整型数据存储平面之外,帧缓冲器与程序存储用存储器的不同之处还在于:帧缓冲器被配置成使得能够快速地把缓冲的数据换到装置屏幕上进行显示(例如,通过适当的接口硬件)。帧缓冲器的像素尺寸通常与显示屏的像素尺寸有1:1的对应关系 (例如,具有960×640像素的显示屏的智能手机通常具有一个或多个 960×640的帧缓冲器)。
尽管GPU在开始是被应用于加速图形处理,但是GPU也已经应用于其他用途。在通用GPU(GPGPU)的更广泛的领域中,这样的装置现在被用于从语音识别到蛋白质折叠计算的应用范围。许多大型超级计算机依靠GPU进行大规模并行运算。诸如NVIDIA之类的GPU 厂商正在越来越多地提供软件工具来允许来自普通“C”语言计算机程序的指定功能在其配备有GPU的视频卡上运行。
根据本技术的另一方面,某些实施例改变针对图形目的设置的智能手机硬件(例如,GPU和RGB帧缓冲器)的用途,以便将其供RDF 三元组使用,例如用于搜索和语义推理。
(语义推理有时被定义为基于一组声明的事实来辨别(例如推断) 逻辑结果。)
考虑图22,其是用于存储一帧具有128×128像素的尺寸的图像数据的存储器的概念图。每个像素具有三个组分颜色值:一个值为红色,一个值为绿色,一个值为蓝色。说明性的像素被显示为具有RGB颜色值{43,35,216}。这些数据对应于颜色类似于品蓝的像素。
该概念性配置方案很好地映射到RDF三元组的存储。作为存储像素表示形式的三个组分这一方案的替代,该存储器用于存储RDF三元组的三个组分——通常被称为主语、谓语和宾语。
在图像存储器位置中存储的数据通常包括多个8比特的值(即,红色、绿色、蓝色各自对应一个8比特的值)。每个值可以是处于0-255 范围内的整数。当改变用途从而用于RDF时,将RDF组分类似地表示为处于0-255范围内的整数代码。辅助数据结构(例如表格)可以将不同的8比特RDF代码映射到相关联的字符串、整数或实数值。
下面是一个实例,在该实例中将语义推理应用于一组输入的RDF 数据以辨别出人们之间的未声明的关系。之后将要被应用推理的这种输入三元组的实例是:
BOB HasChild TED
该三元组表达了名为Bob的人有名为Ted的孩子的信息。“BOB”是主语,“HasChild”是谓语,并且“TED”是宾语。
为了将这样的数据存储在图像存储器中,可以使用一个或多个表格来把不同的数据映射到对应的整数代码。例如,第一个表格可以把人的名字映射到整数代码,例如:
0
1 ALICE
2 DAVID
3
4 TED
5
6 BOB
252 CHUCK
253 HELEN
254
255
表格I
这样的表格可以专用于RDF三元组的单个组分(例如,主语数据),或者其可以服务于两个或更多组分。该数据可以全部是相同的类型(例如,人的名字),或者可以包括不同类型的数据。不是每个8比特代码都需要映射到对应的数据。
在本实例中,另一表格被用于使8比特代码与涉及人的不同谓语相关联,例如:
0
1
2
3 HasChild
4
5 HasBrother
6
7 HasSister
8 HasGender
表格II
表达式“BOB HasChild TED”可以因此被表示为8比特代码的三元组{6,3,4}。应认识到的是,第一和第三代码(6和4)的含义由表格I指示,而第二代码(3)的含义由表格II指示。
图23示出与图22相同的存储器配置方案,但是现在用途被改变为供RDF使用。8比特整数代码{6,3,4}被存储在三个平面(其现在代表主语、谓语和宾语)中的对应存储器位置。
一个三元组在图23中特别详细地示出,表示“BOB HasChild TED”。然而,图像存储器通常相当大,例如为1024x768。即使是小型的128x128像素的存储器也具有16,384个不同的数据元素,所以可以存储16,384个三元组。图24示出可以存储在该存储器中的潜在的上千个这样的三元组中的一些。
(在表格II中,并非所有的谓语对其主语和宾语都使用个人的名字。例如,一个谓语是“HasGender”。尽管该谓语的主语是个人的名字,但是该谓语的宾语是“Male(男性)”或“Female(女性)”。这后两个数据可以被分配给表格II中的代码254和255。)
返回图22,品蓝像素在存储器中存储的位置对应于该品蓝像素在再现的图像中期望呈现于的位置。如上所述,智能手机中的帧缓冲器通常与显示画面中的像素元素有一对一的映射关系。因此,该品蓝数据{43,35,216}在存储器中存储的位置会影响该品蓝像素在从存储器再现的图片中出现的位置。
当存储RDF三元组时,在存储器和显示画面之间不存在固有的映射来规定三元组应该存储在存储器中的哪里。例如,在图23中,三元组{6,3,4}可以存储在128x128像素存储器中的16,384个位置中的任何一个位置。
作为处理图像存储器中的像素数据以获得期望的图形效果这一方案的替代,图23的存储器中的RDF三元组数据被处理以便应用语义推理规则。在所示出的实例中,所述推理操作推断出人们之间的额外关系信息。
考虑图25,其示出智能手机存储器的一小部分摘选,其填充有一些RDF三元组。(8比特代码和对应的文本都被描绘出来,以便于说明。)
可以看出,RDF数据声明Alice有姐妹Helen。此外,这些数据声明Bob有两个姐妹(Mary和Sue)、一个孩子(Ted)和两个兄弟(Chuck 和John)。
在该实例中,GPU被编程为应用基于规则的推理以便辨别出这些个体之间的新类型的关系——“being an uncle(是叔叔)”的关系。这样的推断规则用平实的语言表述的话可以是:如果一个人既有孩子又有兄弟,那么该兄弟是该孩子的叔叔。通过用布尔伪代码方式进行分解,该规则可以表示为:
IF(PERSON1 HasChild PERSON2),
AND IF(PERSON1 HasBrother PERSON3),
THEN PERSON2 HasUncle PERSON3.
如果GPU将该推理规则应用于图25中描绘的数据,则GPU将通过作出以下两个新的语义声明来得出结论:
1.TED HasUncle CHUCK
2.TED HasUncle JOHN
这两个新的声明可以添加到图25的RDF数据存储器中。
如上所述,在存储器和显示画面之间不存在固有的映射来规定特定三元组应该存储在哪里。然而,在该实例中,申请人偏向于将相似的主语集中在一起。特别地,将存储器概念性地分割成3x3的区块(302、 304等)——每个区块专用于不同的RDF主语。这在图25中用暗线示出。关于每个RDF主语有高达9个不同的三元组声明可以存储在这样的3x3区块中。
利用这样的空间局域性来组织数据提供了这样的优点:GPU的多个内核通常被优化成对像素的邻接邻域进行操作,并且因此向每个内核提供输入和输出的总线配置方案也通常被优化成对像素的邻接邻域进行操作。通过对数据强制实现空间局域性,与特定主语有关的所有声明可以由相同的GPU内核处理。这加快了处理速度,例如因为数据通常不需要在各内核之间分享。
执行推理的软件可以以不同的方式实现。假定每个内核对由9个三元组构成的域进行操作,则一种实现方案以如下方式工作:
检查9个谓语中的每个谓语来查看其代码是否=5;如果是的话,则对计数器“i”加1
如果i=0,结束(If i=0,End)
检查剩余谓语中的每个谓语来查看其代码是否=3;如果是的话,则对计数器“j”加1
如果j=0,结束(If j=0,End)
使用X和Y的所有组合来生成i*j个新声明“X HasUncle Y”,其中X是谓语具有代码值=3的主语,并且Y是谓语具有代码值=5的宾语。
在所描绘的实例中,向GPU的操作表格加载用于执行上述程序的指令。当GPU的操作随后被调用时,装置发现i=1和j=2,并生成上面确定的两个新的声明。
上述程序有时可以通过对存储器中的三元组的存储施加进一步的空间限制而得到缩短。换句话说,除了把具有相同主语的三元组集合到共同的区块中,三元组还基于其谓语代码而在区块内排序。这样的排序常常允许无需彻底的搜索就能在9个谓语中查找出特定代码。
例如,在图25中,谓语从每个区块的左上单元开始按照降序排列。在上面详述的程序中,当检查谓语以找出代码“5”时,检查可以在遇到比“5”小的代码时停止。在图25的区块304中检查的第五个谓语 (即,3x3区块中的处于中心的单元)具有代码“3”。在该点,对于“5”的检查可以停止——不会再有代码为“5”的谓语。
同样,当为了找出代码“3”而进行检查时,该检查可以从对于“5”的检查停止的地方开始——由于按照该顺序“3”不会出现得更早。类似地,对于“3”的检查可以在找到小于“3”的第一个谓语时停止。(空白单元存储的值为“0”,为了图示的清晰而并未将其示出。)
通过以这种方式对区块中的三元组按照谓语排序,就没必要对9 个谓语检查两次来计算代码“5”和“3”的数量。而是,检查五个谓语以计数所有的“5”代码(即,当遇到第一个“3”代码时停止),并且检查另外的两个谓语以计数所有的“3”代码(即,从中央单元开始、并在遇到下一个单元(值为“0”的谓语)时停止)。
与此不同的实现方案可以基于模板匹配。考虑图26和27。图26 示出所涉及的模板的子集。在这些模板中,空白方框表示“无需关注”。 (图27仅对区块中的每个三元组赋予字母名称,以便在讨论图26的模板时便于参考。)
GPU内核对照每个模板检查三元组存储器中的区块(例如304) 的3x3谓语平面,以识别匹配的代码图案。对每个匹配者,生成新的“HasUncle”声明。
例如,在应用图26的左上角模板的过程中,内核检查三元组“a”是否具有谓语=3并且三元组“c”是否具有谓语=5。如果是的话,则生成新的“HasUncle”三元组,利用输入三元组“a”的宾语作为其主语、并利用输入三元组“c”的宾语作为其宾语。
类似地,GPU内核应用图26的第二模板以检查三元组“b”是否具有谓语=3并且三元组“c”是否具有谓语=5。如果是的话,则生成新的“HasUncle”三元组,利用输入三元组“b”的宾语作为其主语、并利用输入三元组“c”的宾语作为其宾语。等等。
尽管要对照64个模板进行匹配,但是这样的比较可通过GPU内核快速完成。并且由于三元组数据的一百个或更多区块可以通过不同的GPU内核并行地得到处理,所以仍然可获得高吞吐量。
应用于图25的区块304,将会认识到的是,图26中的两个粗体模板会匹配所描绘数据中的图案,从而获得上面确定的两个新声明。
正如在图25中对三元组进行排序可以帮助最开始定义的程序那样,其也可以类似地帮助基于模板的程序。特别地,所需模板的数量可以通过按照谓语对三元组排序而得到减半。
更具体地,将会认识到的是,如果按照谓语以降序排序(如图25 中所示),则图26的左上角模板中描绘的配置就不会出现。也就是说,将不会有“3”处于一个区块的左上角,而“5”位于其右侧。以同样的方式,出于相同的原因,也不需要第二模板。的确,可能的模板中的一半(即,把“3”放置在“5”之前的那些模板)都是不需要的。
本技术的一些实现方案利用数论来帮助或加速推理。
在上面给出的实例中,可以首先应用数论步骤——作为用于确定是否存在根据区块中的输入数据能够辨别出的任何“HasUncle”声明的检查。仅当该初步检查的结果是肯定性结果时,才调用模板匹配程序或另一个这样的程序。
可以在这种情况下使用的示例性数论涉及素数因子。将会认识到的是,“HasUncle”和“HasBrother”谓语都被赋予素数代码(即,3 和5)。如果将3x3区块中的所有非零谓语代码相乘到一起(或者用“1”替换“0”来将所有九个谓语代码相乘到一起),如果区块包含至少一个“3”和至少一个“5”,则所得的乘积将总是15的倍数。
GPU内核执行该计算——将区块内的谓语代码相乘到一起。随后将结果除以15(或者由GPU内核执行,或者不这样)。如果存在余数 (即,如果乘积不能被15整除),那么该区块不同时具有3和5。因此,其不能生成任何“HasUncle”声明,并且模板匹配程序(或其他这样的程序)可以由于无实际意义而被跳过。
相同的乘积也可以用于筛选输入数据的区块内是否有一个或多个“HasAunt”关系。关于“HasAunt”的规则与关于“HasUncle”的规则相似,只不过使用“HasSister”。用平实的语言表述,如果一个人既有孩子又有姐妹,则该姐妹是孩子的伯母。
在表格II中,“HasSister”谓语被赋予(素数)代码7。如果在输入三元组的区块中存在任何“HasAunt”关系,则其谓语的乘积将总可以被21(即,3*7)整除。
在整数0-255当中有54个不同的素数。如果将这些素数代码分配给通过语义推理规则而逻辑“和”在一起的谓语(如表格II中那样,这样的分配可能会跳过其他的值),那么可以通过检查全部9个谓语代码的乘积是否可被这群素数的乘积整除,来确定谓语数据的区块内是否存在(或共存有)这些素数的任何组合。(例如,为了检查2、3和 11的共存,而检查是否能被66整除。)
GPU可能并非对每个3x3区块的三元组数据都具有一个内核。例如,存储器可能具有1000个3x3区块的三元组数据,而GPU可能仅具有200个内核。有许多方式能够应对这种情况。一种是GPU把素数筛选步骤应用于前200个区块,并把被发现具有“HasUncle”关系的区块拷贝到帧缓冲器。对处于第二、第三、第四和第五位的200个区块重复该处理,同时把被确定为具有“HasUncle”关系的区块的副本添加到帧缓冲器。最后,对帧缓冲器中的各区块(所有这些区块都被认为具有潜在的“HasUncle”关系)运行前面详述的图案匹配(或另一程序),以生成新的声明。
素数乘积是可以应用的一种类型的数论。还有许多其他类型的数论。另一种类型涉及堆垒数论。考虑下面的谓语代码表格作为简单的实例:
0
1 HasChild
2-9 <保留>
10 HasBrother
11-99 <保留>
100 HasSister
101-255 <保留>
表格III
该表格是稀疏的;大多数8比特代码从分配中保留下来,以便在对谓语进行组合时获得期望的数论结果。事实上,该表格中仅有的代码是1、10和100。
这种谓语值的分配使得能够进行另一种检查,即检查是否可以根据三元组的给定区块来推理出一个或更多“HasUncle”关系。在该特定实现方案中,对区块中的9个谓语代码求和。(同样,将“0”用于任何空白单元。)整数的这种特定稀疏分配被设计成使得,如果存在至少一个“HasChild”谓语和至少一个“HasBrother”谓语,那么所得的总和的最后两位数中的每个数均是非零的。GPU内核执行该检查,并且如果上述条件得到满足的话,则GPU可以随后进一步处理该区块以提取新的“HasUncle”声明,例如利用上述程序之一来进行处理。
(这种加法步骤的变型也可以检查一个或多个“HasAunt”关系。在该检查中,首先从总和中减去值100。内核随后检查:(1)结果是否是正数;和(2)结果的最后一位数是否是非零的。如果这些条件得到满足,那么可以根据该数据来声明一个或多个“HasAunt”关系。)
上述的数论实例较简单并且有点做作,但是展现了基础的原理。实际实现方案通常会是不同的。(所涉及的特定操作通常从所使用的 GPU内核的基本指令集中选择。)
尽管前面的实例检查十进制数位是否非零,但是许多应用方案将把数论原理应用于二进制或十六进制表示形式作为替代。
具体实现方案将经常以其他方式不同于所示出的实例。例如,推理规则可以涉及超过两个谓语。每个区块中的三元组的数量可以不同于9。的确,也不需要存储器有均一的区块组织;一些实现方案可以具有可变尺寸的区块,或者完全无需区块组织。有时,GPU内核可以对存储器的重叠区域(例如,重叠的区块)进行存取。三元组存储器的每个平面可以具有除8以外的比特深度(例如,16)。在采用存储器中的空间局域性的情况下,数据可以按照谓语或宾语的同一性而集合在一起,而不是按照主语的同一性而集合在一起。类似地,取决于应用场合,可能合乎需要的是,在每个区块内或者在整个三元组存储器的范围内按照主语、谓语或宾语进行排序。当然,选择特定的8比特代码来分配给不同的谓语(或主语或宾语)的这种选择方案将常常取决于特定的背景环境。
正如通过上面详述的推理操作而输出的“HasUncle”声明可以添加到三元组数据库(例如,图25)中那样,来自逆操作的输出也可以这样。例如,“HasChild”的逆转结果是“HasParent”。所以三元组“BOB HasChild Ted”可以被处理成产生新的逆向三元组“TEDHasParent BOB”。类似地,推理操作的结果可以常常被逆转以提供更丰富的关系表达式。例如,上面生成的输出“TED HasUncle CHUCK”可以被逆转以产生“CHUCK HasNephew TED”。
逆向关系自身可以表示为图25的存储器中的三元组、或者表示为其他形式,例如“HasUncle HasInverse HasNephew”。
考虑一个不同的实例,在该实例中所存储的三元组包含关于供出售的车辆的信息。该信息可能已经响应于用户使用智能手机摄像机拍摄分类广告出版物中的汽车章节的图像而被自动下载到智能手机的存储器中(参看例如申请13/079,327)。
在该实例中,8比特主语代码可以对应于标识不同车辆的文本字符串,例如:
0
1 1990 Honda CRX
2 2005 Ford Ranger
3 1985 Winnebago Chieftan
4 2007 Toyota Sienna
5 2007 Toyota Tacoma
6 22’car hauling trailer
7 2007 Ducati ST3
表格IV
该表格IV可以被视为主要主语表格。
与这些主语中的每个主语相关联的通常是多个谓语和宾语。8比特谓语代码及其相关联的含义可以是:
表格V
表格V可以被视为主要谓语表格。(该表格中的谓语是出于举例说明的目的而选择的。许多实现方案将采用标准化词汇表,诸如已建立的OWL本体论中的那些词汇表。)
8比特主语代码及其相关联的含义可以是:
表格VI
表格VI可以被视为主要宾语表格。
如前所述,智能手机存储器中的三元组可以使用从这三个词汇表格中选择的8比特代码来表达声明,例如:
“1985 Winnebago Chieftan HasGross VehicleWeight 6-7 tons”被表达为{3,3,62};并且
“1985 Winnebago Chieftan HasExteriorColor White”被表达为 {3,1,17}。
应注意的是,主要宾语表格中的一些条目可能仅能与主要谓语表格中的一个条目一起使用。例如,宾语代码62(例如,6-7吨)可能仅能与HasGrossVehicleWeight谓语一起使用。宾语表格中的另一些条目可以与谓语表格中的几个条目一起使用。例如,宾语代码2-5可能既与 HasPassengerCapacity谓语一起使用,又与HasDoors谓语一起使用。(类似地,宾语代码17-19可能既与HasExteriorColor谓语一起使用,又与 HasUpholsteryColor谓语一起使用。)
可能的宾语值的数量常常会超过8比特存储器平面中能够容纳的 256。例如,250个车辆中的每一者可能具有不同的价格和与之相关的不同电话号码,即500个不同的值。
对于所具有的宾语不能被容纳在与主要宾语表格中的8比特代码相关联的256个不同的值当中的那些谓语,可以在这样的三元组中规定宾语代码“0”。这会指引智能手机软件查阅辅助数据结构(例如,表格)而不是主要宾语表格,来获得对应的宾语信息。该不同的结构可以通过谓语名称(或其等效编号)来识别。
例如,三元组{3,4,0}涉及Winnebago的价格。然而,宾语代码“0”表示该价格并不由主要宾语表格(即,上述表格VI)中的8比特代码指明的值表示。而是,“0”代码会指引智能手机查阅辅助存储器表格 #4(指的是谓语值4)。辅助存储器表格#4可以具有所有车辆的价格,这些价格与其对应的主语代码(为了便于理解,在括号中给出)相关联,例如:
0
1(1990 Honda CRX) $1,200
2(2005 Ford Ranger) $5,300
3(1985 Winnebago Chieftan) $4,000
4(2007 Toyota Sienna) $15,995
5(2007 Toyota Tacoma) $24,500
6(22’car hauling trailer) $4,000
7(2007 Ducati ST3) $8,995
8
表格VII
在一些实施例中,这样的辅助表格可以按照相关的宾语值(此处是价格)来排序,而不是按照主语代码排序——以便于进行搜索。
智能手机GPU可以近乎即刻地过滤存储在主要主谓宾存储器中的数据,以识别具有某些所要寻求的参数的车辆(即,在主要宾语表格中表示的那些车辆)。例如,如果用户对以下方面感兴趣:(1)卡车、 (2)可以搭载4-6名乘客,则可以使用常规智能手机图形用户界面 (GUI)来输入这些参数,并且结果可以快速得以确定。
一种说明性GUI呈现填充有从谓语和宾语主要表格提取的文字的下拉菜单或滚动选择轮。辅助GUI表格可以用于使信息的显示变得便利,例如以便提供对应于谓语的平实语言、以及以便指示特定代码,其中可以通过所述特定代码来向搜索提供线索。
图28、29A和29B示出一个实例。一个或多个表格400或其他数据结构存储在生成GUI菜单的过程中使用的信息。一系列GUI菜单 402、404等被呈现在智能手机屏幕上,并且使得用户能够输入期望的搜索参数。
所示出的GUI 402具有第一滚动窗口部420,在该第一滚动窗口部 420中可选择地显示有来自表格400的列410的不同菜单说明文字。如图所示,用户已经滚动到“你在寻找什么?”选项。
第二滚动窗口422填充有通过参考表格400确定的与窗口部420 中所示出的选择相对应的第二级别菜单选项。例如,由于用户已经将窗口部420滚动到“你在寻找什么?”,所以智能手机通过在第二窗口部422中呈现诸如“汽车”、“卡车”、“摩托车”和“其他”之类的选项来做出响应。这些特定文本字符串从表格400的列412中提取,在列412中这些特定文本字符串对应于“你在寻找什么?”最高级别菜单。如图所示,用户已经滚动窗口422以指示“卡车”。
GUI 402还包括用户可以轻拍以输入更多搜索参数的按钮424。可替换地,用户可以轻拍“获得结果”按钮426,其基于用户输入的参数来呈现搜索的结果。
假定用户轻拍按钮424,则GUI存储用户刚刚输入的值(即,“你在寻找什么?”和“卡车”)或与这样的值相关联的8比特代码值,并随后允许用户与窗口420交互,随后允许用户与窗口422再一次交互。这一次用户从窗口420中选择“载客量是多少?”。
通过参考表格400的列412,智能手机获悉要利用诸如“1”、“2”、“3”、“4”、“5”和“6”(因为这些标签与“载客量是多少?”菜单选项相关联)之类的对应选项来填充第二窗口422。表格400中的旗标(未示出)可以向软件通知当“载客量是多少?”菜单选项被选择时应该呈现用户可以在其中指定范围上限的第二窗口422a。(原窗口422于是充当范围下限。)在图29B中,用户已经将窗口“422”滚动到“4”,并将窗口422a滚动到“6”。因此用户对可以搭载4到6名乘客的卡车感兴趣。
用户可以随后通过轻拍“获得结果”按钮426来请求搜索结果。
当用户轻拍按钮426时,对三元组存储器的搜索可以开始。(可替换地,该搜索可以在更早的时候已经开始,即当用户通过轻拍按钮424 而完成第一搜索参数(“卡车”)的输入时搜索就已经开始。也就是说,可以在一系列连续的筛选操作过程中进行搜索,使得当用户轻拍“获得结果”按钮时,仅需要在之前确定的一组中间搜索结果内搜索最后的参数。)
表格400指出智能手机处理器应该如何搜索所存储的数据来识别满足用户的搜索标准的车辆。
例如,由于用户选择“卡车”作为搜索条件,所以表格400的行 432指出这对应于谓语代码12(HasVehicleType)和宾语代码115(卡车)。GPU在存储器中搜索满足这些标准的三元组。
可以实现该过程的一种方式是通过阈值处理——GPU内核所擅长的操作。也就是说,可以对存储器进行过滤以识别具有大于11并小于 13的谓语的三元组。可以把来自该初步操作的中间结果(其包括具有 HasVehicleType谓语的所有三元组)复制到新的帧缓冲器中。(或者,可以把不满足该阈值内容的三元组设定为{0,0,0}——图像处理方面的“黑色”。)
在上面给出的实例中,多个三元组可以通过该步骤而得到识别以便用于进一步处理——通常对每个车辆有一个三元组,例如{1,12,112} —the Honda CRX(本田CRX);{2,2,115}—the Ford Ranger(福特漫游者);{3,12,116}—the Winnebago(温尼贝格);(theToyota Tacoma(丰田塔库玛));{4,12,17}—the Toyota Sienna(丰田锡耶纳);等等。
随后在(例如帧缓冲器中的)这些中间结果的范围内进行第二次搜索——这一次是为了识别具有宾语代码115(即,对应于“Truck(卡车)”宾语)的三元组。可以删除不具有宾语代码115的三元组(或将其设定为“黑色”)。
(在该实例中)在这两个搜索步骤之后剩余的是两个三元组: {2,12,115}和{5,12,115}。主语=2的三元组对应于the Ford Ranger(福特漫游者);主语=5的三元组对应于the Toyota Tacoma(丰田塔库玛)。通过识别出这两个主语代码,“卡车”部分的搜索已经完成。
(可以实现前述搜索阶段的另一种方式是通过利用一组成对的模板进行模板匹配——一个模板在谓语存储器平面中寻找代码12,并且一个模板在宾语存储器平面中寻找代码115。同样,由此识别出两个三元组。)
智能手机接下来应用第二搜索标准——载客量为4-6。软件在表格 400的行434a和434b中发现该范围对应于谓语代码2 (HasPassengerCapacity)和宾语代码5、6或7。根据搜索的第一阶段,软件还知道主语代码必须是2或5。满足这些主语/谓语/宾语条件的数据随后得以识别(例如,通过阈值处理操作),或者通过检查主要三元组存储器中的数据,或者通过对帧缓冲器中的数据的子集(即,具有主语=2或主语=5的所有三元组)进行操作。有一个三元组被发现满足所有这些标准:{5,2,7}。这是表示丰田塔库玛卡车的载客量为6人的三元组。
根据搜索的该第二阶段的结果,智能手机知道匹配用户查询的该车辆的主语代码是5。(在该实例中有一个匹配者,但是在其他实例中,可能存在若干个匹配者。)智能手机接下来准备搜索结果信息以便呈献给用户。参考图30来举例说明操作的该结果报告阶段。
通过获悉哪个主语代码对应于满足用户查询的车辆,智能手机现在识别出存储器中的具有主语代码5的所有三元组。多个三元组被发现——其中一些在图30中示出(例如,{5,1,17}、{5,2,7}、{5,3,58}、等等)。
对主要主语、谓语和宾语表格(上面的表格IV、V和VI)进行查询以找出与各个主语、谓语和宾语代码相关联的字符串或其他值。例如,第一三元组{5,1,17}表示“2007Toyota Tacoma HasExteriorColor White”。第二三元组{5,2,7}表示“2007 ToyotaTacoma HasPassengerCapacity 6”。智能手机软件填充可以用平实的文字标题对不同的数据加标签的模板表格(例如,用“Color”来替代“HasExteriorColor”),并在智能手机屏幕上向用户呈现列表(例如,包括来自上面的谓语表格V的所有可用参数)。(手机可以基于某些参数而使用不同的模板,例如,用于卡车的模板可以与用于汽车的模板不同。模板可以根据需要而从云存储库获得,或者模板可以驻留在智能手机存储器中。)
如前所述,一些参数(诸如价格和电话号码)可能并不存储在主要宾语表格中。这些参数是通过具有宾语代码0的三元组指示的。为了呈现来自这样的三元组的数据,软件查阅与谓语相对应的辅助表格 (例如,辅助表格#4提供HasPrice值)。通过参考这样的辅助表格信息,软件向表格填充表示丰田塔库玛的价格为$24,500、并且卖主的电话号码为503-555-1234的信息。
一些参数可以不在随着三元组下载到智能手机中的数据中指定,而是可以从例如处于云中的远程三元组存储库(或者从类似Google的文本搜索结果)拉取。例如,EPA里程是很容易在线获得、并且可以被获得用来增加其他车辆信息的政府统计信息。
呈现这样的用户查询的结果的示例性屏幕可以包括一张或多张照片(例如,从HasLinkForMoreInfo谓语所指示的URL获得的照片),以及使用所引用的模板表格而编制出的文本。这样的文本的内容可以是例如:
“2007年的TOYOTA TACOMA汽车,价格为$24,500,白色(内部为棕褐色),行驶过53,000英里。2.7升燃气发动机,EPA燃油经济性为21英里每加仑。该卡车的特色是载客量为6,并且具有3500磅的牵引能力。请致电503-555-1234。”
可以在每个屏幕显示画面上详述一个车辆,并通过横越触摸屏显示画面的滑动动作使另外的车辆带入视野。关于呈现这样的信息的更多细节可在例如申请13/079,327中找到。
在其他实施例中,可以使用这样的三元组存储器,其利用超过三个8比特数据平面。(一些图像以4平面表示形式存储,例如青色/品红 /黄色/黑色、或RGBA,其中A代表alpha或透明度。)尽管通常被视为“三元组”的增强形式,但是这样的数据集也可以被称作“四元组”或者更一般地被称作“N元组”(其中N=4)。第四个8比特数据平面使得能够实现各种功能。
如前所述,价格不适合通过主要宾语表格进行编码,这是因为可能有256个不同的值需要编码从而无法留出用于表示其他信息的8比特代码。然而,表示256个不同价格的8比特代码可以存储在被稀疏填充的第四个8比特数据平面中。
图31示出包括前面讨论的三个8比特平面、以及专用于存储价格的代码的第四个8比特平面的说明性存储器的一部分。该存储器被虚拟地组织成4x4的区块,每个区块专用于不同的主语。所描绘的摘选内容详述了与主语5(丰田塔库玛卡车)相关联的代码。
可以看出,具有谓语代码4(即,HasPrice)的三元组的宾语代码为255。在该实现方案中,代码255指示软件参考另外的8比特平面以获得相关联的代码(谓语代码所指示的特定平面)。在该实例中,相关联的代码为218。
如前面的实例中那样,表格可以使不同的8比特代码与不同的值相关联。在一些实现方案中有利的是,按照排序的顺序分配价格代码,例如使较小的代码对应于较低的价格。对于该8比特价格代码存储器平面,样本表格可以是:
0
1 $400
2 $999
3 $1,200
4 $1,500
5 $1,600
218 $24,500
表格VII
通过参考图31和该表格,可以确定与主语5相关联的价格是 $24,500。
这种配置方案的优点是使搜索变得容易,因为可以利用上面详述的技术——开发GPU在处理来自图像存储器的8比特整数方面的速度。图29B的用户界面可以询问“价格是多少?”。一对窗口422、422a 随后呈现控制件,用户可以通过所述控制件在存储器中详述的车辆的实际价格当中滚动——设定最低价格和最高价格。阈值处理或其他这样的GPU操作随后应用于价格存储器平面中的相应代码以快速识别满足指定价格标准的主语。
可以提供多个另外的这种8比特代码平面。(这些另外的8比特代码平面可以换到第四图像存储器平面中,如果硬件被这样配置的话;或者这些另外的8比特代码平面可以在其他地方被存储和访问。)图31 示出另一种这样的代码平面——专用发动机尺寸(其对应于谓语6)。同样,该8比特平面中的对应代码的存储允许搜索查询能够快速得到执行。(GPU着色器通常与其驱动的显示屏幕同步。甚至是iPhone 4 手机中的普通GPU也以大约25帧每秒的帧速率刷新其640x960像素显示屏。)
在一些实现方案中,大多数或者甚至全部谓语可以具有其自己的8 比特存储器平面来存储代码,类似于图31中关于价格和发动机尺寸描绘的那些存储器平面。
可以认识到的是,通过分配宾语代码以表达语义顺序可以使搜索变得容易。根据前面关于载客量的实例可以清楚地看出这一点,在所述实例中不同的数值按照升序方式排序,使相关联的8比特代码有对应的升序。这使得能够通过指定较高和较低的代码、并执行阈值处理操作来进行基于范围的搜索。
类似的排序可以对不是纯数字的参数实现。例如,颜色可以按照语义方式排序,例如基于对应波长的最大值、和/或强度或亮度。因此,所有的蓝色(深蓝色、品蓝、天蓝色、蓝绿色等)可以具有相似的代码,并且所有红色可以具有相似的代码,使蓝色和红色代码在0-255 代码空间中彼此间隔开。于是可以容易地执行基于范围的颜色搜索。 (例如,用户可能在图29B的窗口422中选择“深蓝色”、并在窗口 422a中选择“蓝绿色”,具有处于这两个颜色代码范围界限之间的任何颜色代码的车辆于是得以识别。)
(处理颜色和其他特征的另一种方式是通过使用RDF本体,其根据语义使多个条目分组和关联。例如,无数的不同汽车制造商的颜色名称可以通过诸如下述的本体而被提炼成可搜索的参数:
AQUA METALLIC HasColor BLUE
DEEP NAVY HasColor BLUE
DEEP CARDINAL HasColor RED
CRYSTAL RED HasColor RED
CHARCOAL HasColor GREY
GRANITE HasColor GREY
智能手机可以倒转这些三元组,并在GUI中(诸如在图29B的窗口422 和422a中)呈现所得的主语(例如,蓝色、红色、等等)。在这种情况下,在窗口422和422a中选择的两个值并不限定参数的范围,而是限定两个不同的值,这两个值在搜索中用逻辑“或”连接在一起,使得符合任何一个值的三元组被选择。)
上述实例有些不成熟,只是用于举例说明所涉及的原理。当然可以实现更精巧的语义推理。例如,如果手机拍摄了汽车分类广告的图像,则手机可以向用户询问从而了解一些事实,诸如用户每年驾驶的英里数。(该信息可以从其他地方获得,诸如从存储在联网的计算机上或用户当前汽车的数据库中的用户概况文件获得。)如果用户通过指出 50,000英里是典型的年行驶里程来对该询问做出响应,则手机可以采用语义推理从而辨别出每英里的车辆运行成本可能对用户很重要。利用该推断出的信息,手机可以(在缺少来自用户的其他指令的情况下) 决定通过在搜索结果当中最先呈现具有最高燃油经济性的车辆来再现用户指示的车辆搜索的结果。
如果无法对搜索结果中的车辆获得EPA里程,则手机可以使用其他数据来进行推理。例如,可以使用语义推理来推断出:具有1300cc 引擎的发动机可能比具有4.7升引擎的发动机有更好的燃油经济性。类似地,这样的推理或联网的知识库可以指出:柴油发动机倾向于比燃气发动机有更好的燃油经济性。同样,这样的知识可以告知搜索结果的呈现方式——仅仅基于用户每年驾驶50,000英里的事实。
尽管前述技术是在智能手机实现方案的背景环境中具体描述的,但是其原理可以更广泛地得到应用。此外,尽管优选使用GPU内核,但是所详述的特征同样可应用于利用其他类型的处理器处理的存储器。
同步化的背景
增强现实技术已知被用于识别图像特征和诸如标签之类的叠盖信息。叠加的叠盖物可以与图像特征几何地配准,使得当图像特征在视场内移动时,叠盖物随着相应的运动而移动。
本技术的另一方面通过以背景而不是叠盖物的形式提供增强,而建立于这样的技术之上。
考虑一图像,其描绘前景中的一个对象和围绕的背景。示例性图像是披头士乐队的《艾比路(Abbey Road)》唱片专辑,其描绘四个披头士穿过艾比路的人行横道。
通过使用Photoshop、GIMP或另一工具,可以从该图像中摘选出四个披头士。两张图像可以由此得以形成——第一张图像仅具有四个披头士(由空白区域环绕,或由诸如白色之类的纯色环绕),并且第二张图像仅具有背景(其可以在披头士存在的位置具有空白(或白色),或者不这样)。
第一张图像可以印刷到衬底上,并且使用智能手机拍摄衬底的图像(例如,以视频拍摄模式)。智能手机中的软件确定摄像机相对于第一张图像的姿势。利用该信息,软件几何地扭曲第二张图像(背景图像),使得其具有相应的缩放比例和透视角度,就好像以相同的姿势观察那样。手机随后组合两张图像——手机拍摄的四个披头士的图像,和背景图像(其被扭曲以提供图像的原始背景)。两幅图像彼此互补从而呈现出看上去像是原始专辑封面的一体化图像,就好像以手机相对于衬底的姿势观察那样。
也可以使用其他背景图像来替代原始背景图像。因此,作为艾比路的图像的替代,背景图像可以描绘纽约时代广场的百老汇大街。从印刷的衬底(或从电子显示屏)成像的所摘选的披头士可以叠加到新的背景图像上——同样,该新的背景图像被扭曲和进行比例缩放使得其看上去具有与摄像机相对于衬底相同的姿势。因此,该增强物更接近于铺垫物,而不是传统的增强现实叠盖物
对背景图像进行几何扭曲和配准从而匹配衬底与摄像机间的姿势的处理可以以各种方式(诸如使用数字水印、显著图像点等)完成。如果第一图像具有QR码或其他条形码,那么这样的特征自身可以用来辨别姿势信息。这样的技术被进一步详述在本公开的其他地方。
一旦辨别出手机相对于第一张图像的姿势,第二张图像(背景图像)就可以基于姿势的变化而得到修改——以提供3D效果。例如,如果用户摇动摄像机镜头拍全景,则额外的背景景色可以移动到帧中。如果用户倾斜摄像机以便指向更向下的方向,更多的街道图像会进入视野(并且一部分天空图像从帧的顶部退出)。当摄像机姿势发生变化时,第二张图像中的某些特征通过该第二张图像中描绘的附近特征的透视图的变化,而被遮蔽掉或显现出来。一些这样的实施例采用3D模型来生成背景图像——基于手机的观察点来计算适当的2D视图。
尽管示例性实施例使用主体画面被空白区域或纯色环绕的第一图像,但是在其他实施例中这不是必需的。一旦获悉了主体的身份(例如,通过指纹识别、机器可读编码、等等),这样的主体的轮廓就可以通过参考数据库来确定。摄像机可以随后在第一张图像周围缝接第二张图像——遮蔽掉第一张图像中的处于该图像的主体(例如,四个披头士)的数据库定义的轮廓外侧的那些部分。
合乎期望地,如果用户在显示屏上轻拍,则手机软件提供适合于该轻拍的位置的响应。如果用户轻拍约翰·列侬(John Lennon),则与约翰·列侬有关的内容得以呈现。这样的轻拍会调用该行为,而不管该显示画面的被轻拍部分是否描绘的是手机摄像机实际拍摄的图像,或者不管被轻拍部分是否描绘的是手机作为增强物而铺垫在其中的其他图像。(手机软件输出用户轻拍的X方向位置和Y方向位置,所述X 方向位置和Y方向位置随后被映射到所显示图像中的特定位置。与所呈现的图像显示画面中的这样的位置相对应的内容可以随后通过已知的方式得到确定,诸如通过利用轻拍的坐标作为索引来查询数据库,通过解码处于该区域中的水印,等等。)
将显示内容链接到移动装置
根据本技术的该方面,将水印嵌入要呈现在显示装置(诸如LCD 监视器)上的图像/内容/广告/视频/用户界面(例如,网页)中。所述嵌入可以由显示装置执行,由相关联的计算机执行,或者由远程的图像源执行。水印可以利用智能手机或其他移动装置中存在的检测器读取。来自水印的有效载荷通过表格或其他数据结构而逻辑地链接到与所呈现的显示内容相对应的信息源。(对于网页,该信息可以是该页面的URL地址。)优于其他技术的优点包括:节省“不动产”(对于屏幕上显示的图像来说,水印不占用任何额外的空间),嵌入成本(比印刷条形码便宜),全数字化工作流程,特征隐蔽(在需要的情况下),所显示的内容和移动装置之间的通信信道。应用方式有许多——下面仅详述一些实例。
一种应用涉及地图。假定用户通过使用地图工具(诸如MapQuest、 Yahoo Maps或Google Maps)在台式机/膝上型电脑上查找路线。在期望的地图/路线被呈现在屏幕显示画面(其加有水印)上之后,用户将移动电话指向屏幕上显示的地图/路线。在读取所编码的水印的过程中,手机获得对应于所显示的路线的URL,并加载相同的页面(使用WiFi 互联网连接,或者通过诸如GPRS之类的通信链路)。此时,用户已经准备好利用直接处于移动电话上的地图/路线出发。
如果移动电话具备GPS功能,那么在读取水印时,智能手机可以将地图/路线与GPS功能直接链接,而无需手动输入所有位置/地址信息。
如果移动电话不具备GPS功能、但是用户在其汽车中拥有配备有 GPS的装置,那么通过手机从加有水印的台式机屏幕显示画面解码出的有效载荷信息可以使用无线(例如,蓝牙)连接而被传递到GPS装置。
另一种应用涉及使电子商务变得便利。假定一个人在其台式机/膝上型电脑上寻找关于鞋的广告,并且该广告加有水印。将移动电话指向该广告可以直接将这个人带到移动电话上显示的“结帐”页面。
另一种应用涉及使图像同步。用户可能喜欢台式机屏幕上显示的特定图像,并希望该图像也显示在智能手机上。这可以通过使用手机简单地拍摄屏幕显示画面的图像来完成。手机对水印进行解码,并使用由此提取的有效载荷来从该图像的原始位置获得该图像的副本。
相关地,可以通过从台式机显示器上的日程表程序(例如,微软的Outlook)拍摄图像来完成日程表同步。手机对水印有效载荷进行解码,并通过参考该信息,来获得数据以便使本地日程表与所显示的 Outlook日程表同步。
另一种应用是视觉书签。假定用户正在台式机/膝上型电脑上浏览网页,并希望给该页面加书签以便进一步在移动电话上浏览(例如在下班回家的路上)。如果该网页有水印,则用户可以仅将手机指向该页面,并且该网页的书签(或者其对应的移动版本)就会自动地出现在移动电话上。
又一种应用涉及活动链接。与网页上的静态链接(意味着用户必须采取动作,诸如在链接上点击以使得有趣的事情发生)相反,水印可以使“活动链接”变得容易。也就是说,仅将移动装置指向网页(或其他相关显示画面)并读取水印就会自动地触发动作——或者是移动装置上的动作,或者是(通过无线链路)连接到该显示器的计算机上的动作。
上述概念可以扩展到视频,从而使得能够通过将移动装置指向显示屏上的视频流来读取动态变化的水印。
对某些上述配置方案的实现有用的额外信息可在Modro等人的论文“DigitalWatermarking Opportunities Enabled by Mobile Media Proliferation”(Proc.SPIE,Vol 7254,2009年1月)中找到。
在装置之间迁移任务
受让人的已公开专利申请20100205628提到了期望能够把游戏或娱乐内容从一个计算机系统(例如台式机)转移到另一计算机系统(例如智能手机)而不会丢失用户在游戏/内容流中的位置。通过这样的配置方案,尽管切换了装置用户也可以无缝地继续活动。
根据本技术的另一方面,在计算机的屏幕上呈现的显示数据可以利用随应用程序状态而变化的有效载荷被例行地加有数字水印。也就是说,计算机中的显示驱动器或其他模块利用多比特标识符对所显示的数据定期地进行隐写编码。该标识符间断性地被改变(例如,每帧改变一次,或者每1-10秒改变一次,或者以不规则的间隔被改变——例如当程序或计算机状态发生阈值变化量时)。每次标识符被改变时,计算机写入数据,该数据使计算机系统的“完整状态”或屏幕上显示的程序的“完整状态”能够得以恢复。写入有该信息的数据存储库可以包括若干个条目——一个条目提供基础数据状态,并且另一些条目提供相继发生的更新(类似于视频帧有时仅利用详述其与前一帧的差别的数据进行编码)。数据库(其可以像查找表一样简单)识别需要所存储数据的哪一部分来重新产生与每个水印有效载荷相对应的装置状态。
图37进一步详细描绘这样的配置方案。首先参考纵坐标轴,在间断性的时刻,第一计算机(例如,台式机)在存储器中存储状态数据。该状态数据合乎期望地足以在不同的装置上重新产生计算机的状态 (或者正被显示的程序的状态)。每次存储这样的状态数据时,分配新的水印ID(223、224等),并且此后利用该标识符对屏幕显示画面进行编码。对水印查找表做出对应的更新。
所存储的状态数据通常具有可变的长度(由图37中矩形的长度来表示)。将会间断性地写入大块数据(图37中的“基础数据”)。随后的存储数据块可以仅是基础数据的差分更新。在另一段间隔之后,可以写入另一个新的大块基础数据(例如,“基础数据38”)。
在该实例中,将所存储的状态数据以连续的地址(对应于图37中的水平轴)写入线性存储器中。“基础数据37”以存储器地址1004为起始地址并延续直到地址1012进行存储。第一次更新“37A”以存储器地址1013为起始地址并延续直到地址1016进行存储。类似地,第二次更新“37B”以存储器地址1017为起始地址并延续直到地址1023 进行存储。该过程以第三次更新“37C”继续进行。随后写入新的基础数据块(“基础数据38”)。
如果消费者使用智能手机拍摄编码有水印223的显示屏的照片,则消费者的智能手机对该水印进行解码,并将其输入到(本地或远程的)数据结构,该数据结构提供存储有对应状态数据的地址信息。在所描绘的实例中,数据结构返回存储器范围1004-1012。(图38示出这样的水印查找表。)智能手机取得该范围的数据,并使用该数据来重新产生当最初编码水印233时存在的执行程序,尽管是在不同的装置上。
如果消费者拍摄编码有水印224的显示屏的照片,则图38的表格返回存储器范围,该存储器范围包含对应的基础数据(“基础数据37”) 并且还延续到包括差分更新“37A”。因此,图38的表格返回存储器地址范围1004-1016。同样,消费者的智能手机可以使用该信息以在该智能手机上重新产生当最初编码水印224时存在于台式机上的执行状态。
图37的底部用图形示出在图38的水印查找表中与不同的水印有效载荷中的每一者相关联的不同存储器范围。
在实现方案上更复杂的功能相似的配置方案被详述在Chang等人的“Deep Shot:AFramework for Migrating Tasks Across Devices Using Mobile Phone Cameras”(Proceedings of the 2011 ACM Conference on Human Factors in Computing Systems(CHI 2011),pp.2163-2172)中。申请人刚才描述的技术可以有利地结合到Chang的系统中,并且Chang 的系统的教导可以类似地在刚才描述的配置方案中采用。
LED照明
LED办公室照明正在被用作数据信号的光学载体(类似于光学 DSL网络),从而与附连到台式机的光学调制解调器进行通信。(参见例如专利文献US20090129782以及来自LVX System公司的商品。)
NXP半导体公司提供的绿色芯片照明线路包括具有集成的IP6连接性的LED灯(有时被称作“SSL”——固态灯)。也就是说,每个灯具有其自己的互联网地址。“JenNet”是一种IP网络软件,其提供用于 LED装置的无线连接性。JenNet是采用基于IEEE 802.15.4的联网技术的6LoWPAN mesh-under树状网络。通过诸如这些方案的配置方案, LED的工作参数可以基于跨越有线网络传送的IP6数据而被改变。
根据本技术的另一方面,LED照明装置可以与智能手机和其他配备有摄像机的装置进行通信。使照明的亮度或色度以人类无法察觉的程度变化,以传递附加数据。这些精细的变化被反映在智能手机摄像机所拍摄的图像中。由智能手机处理器执行的水印解码处理随后从摄像机数据中提取编码信息。
与光学调制解调器不同,智能手机摄像机以小于100帧每秒的帧速率(更典型地,10-30帧每秒)提供拍摄图像帧。尽管该数据较小,但是该数据速率仍然能够传送有用的信息。如果照明度在通常的智能手机所感测的不同的颜色信道(红、绿和蓝)中的两个或更多颜色信道中被调制,则可以实现稍微更高的数据速率。
在一些应用场合中,可能期望维持恒定亮度——尽管有颜色调制。这可以通过调制其中的两个颜色信道来传送数据、并根据需要来调制第三个信道以补偿由于其他颜色而引起的亮度变化从而实现恒定的净亮度,来完成。由于眼睛对不同波长的光的敏感度不同,所以亮度对绿色光的量的依赖最大,并且对蓝色光的量的依赖最小 (Y=.59G+.30R+.11B)。说明性实施例可以改变红色光和蓝色光以传送数据,并改变绿色光来进行亮度补偿。
在其他应用场合中,可能期望维持恒定色调——尽管有亮度调制。同样,这可以通过对驱动信号进行适合的控制来实现。
就已知的数字水印系统(例如,6,590,996)而言,水印数据有效载荷可以使用诸如BCH(“trellis(网格)”)或卷积编码之类的纠错代码来表示,以提供对数据错误的鲁棒性。作为结果而产生的随时间变化的亮度或色度变化可以应用于现有的LED控制信号(不管LED是否利用高速数据进行了调制),以便实现对附近摄像机传感器的广播。
通常,摄像机根据单帧图像解码数字水印数据的多个比特,例如通过检测图像的不同空间部分(例如,像素)之间的亮度或色度的轻微差异。相反,本申请通过检测亮度或色度随时间的轻微差异,而根据一系列帧解码数字水印数据的多个比特。在单帧图像内,所拍摄图像的所有部分可能会类似地受到LED照明信号的影响。因此,水印可以根据从单个像素、或多个像素、或所有像素输出的信号来解码。在后一种情况中,例如,解码应用程序可以对所有摄像机像素的亮度和/ 或色度求和或者求平均,并分析该合计信号以获得由于水印编码而引起的变化。
这样的技术的一种特别的应用是发信号通知处于零售店内的位置。固定在鞋区的LED灯可以利用一个特定标识符进行编码;固定在男装区的那些LED灯可以利用不同的标识符进行编码。通过简要地对环境照明光进行采样,手机可以确定其在商店内的位置。
另一种应用是LED照明装置,其配备有麦克风或摄像机来从周围媒体环境感测数据,并基于所感测的环境来提取信息。(这可以包括检测音频水印,或者生成音频指纹数据并基于该音频指纹数据来识别歌曲,或者从所拍摄的图像中识别人脸,等等。)与该提取的信息相关的数据随后被编码到从照明装置发出的光中。
更进一步,LED汽车头灯可以被调制成向迎面而来的车辆传送汽车操作的参数,诸如其速度和罗盘方位。(这样的信号优选地使用安装到车辆中的光传感器系统进行解码,而不是利用用户的智能手机进行解码。这样的传感器系统可以配置成以比智能手机摄像机可能获得的带宽更高的带宽捕获数据。例如,头灯可以以1000或10,000比特每秒的数据速率进行编码,并且传感器系统可以配置成解码这样的速率。)
相关地,商业建筑或住宅地址的户外照明(例如,前廊的灯)可以被调制成对街道号码进行编码。
一旦已经获得这样的信息,用户(或用户的装置)就可以对其采取动作。例如,在零售店实例中,手机可以向用户提供去往店内另一位置的指引,或者可以提供用于附近商品的优惠券。在汽车实例中,如果迎面而来的车辆以超出限制速度(或用户自己的速度)的量大于百分之十的速度行驶,则手机可以发出警告信号。在户外照明的情况下,街道号码可以呈现在用户的手机上,或者处于该位置的商业建筑/ 住宅的名称可以从公共数据库中查找。
将认识到的是,除通用LED照明装置以外的光源也可以用刚刚描述的方式进行控制。例如,电视和膝上型电脑发出的光可以用这种方式调制。尽管色度调制可能不适合于对颜色要求苛刻的电视场景(例如,描绘肌色),但是其他信息显示画面对色度变化是宽容的(例如,桌面颜色,网页背景等)。
图39示出采用亮度LED调制的说明性实施例。安装有灯具的装置320包括一个或多个LED 322、DC电源324、以及调制装置326。所描绘的配置方案还包括JenNet IP6远程控制系统(包括逻辑块327 以及相关联的调制器329),尽管这不是必需的。
电源324是传统电源,并为灯具将AC电压(例如,120伏)转换成适合于LED 322的DC电压。(尽管未特意示出,同一电源也可以向调制装置326和JenNet系统327提供所需的电压。)调制装置326包括数据接收器332,其接收输入数据信号333(例如,通过无线电或音频信号形式传送到该装置、并通过天线328或麦克风330感测到的输入数据信号)。数据接收器提供适当的解码(例如,在音频信号的情况下是水印提取处理)以提供二进制输出数据。将该数据输入到卷积编码器334,卷积编码器334将输出信号提供给调制器336,调制器336相应地改变应用于LED 322的DC信号。(尽管调制器329、336被描绘为加法器,但是也可以可替换地使用乘法器或其他配置方案。)
在实际的实践中,系统320通常采用红色/绿色/蓝色/白色LED光源,这些LED光源利用频率为lKHz-30KHz的三刺激(tri-stimulus) 脉冲宽度调制(PWM)控制信号来驱动。在这样的配置方案中,驱动脉冲的持续时间被加长和/或缩短,以实现数据信号333的隐写编码。 (通常,脉冲长度的变化小于25%,并且可以小于10%、5%或2%。如果既作出正变化又作出负变化(例如对应于来自卷积编码器的“1”和“0”输出),则较大的变化是可接受的,因为其时间平均值通常是零。)特定的调制百分比取决于所要服务的应用场合,并且可以通过简单的实验来确定。(例如,对于给定的卷积编码器,增大PWM驱动信号的百分比变化、直到在最苛刻的照明条件下(例如夜间)刚开始出现不希望有的视觉效果,随后减小百分比变化直到这些效果无法察觉到。)
在变型实施例中,图32的数据接收器332被替换为GPS接收器或者其他位置感测模块。(比GPS更精确的技术在专利7876266和 7,983,185、以及专利申请2009313370、2009233621和2009213828中有教导。)在这样的配置方案中,光源发出利用地理位置数据编码的照明光。
在另一种配置方案中,系统320不采用数据接收器332,而是利用固定的多比特数据有效载荷(其可以例如通过ROM或双列直插式开关 (dip-switch)配置方案来设定)进行硬编码。这样的有效载荷可以充当系统的唯一标识符。当作为接收方的智能手机感测到来自这种系统的照明光、并解码所述多比特标识符时,手机可以将该标识符传送给远程数据库(例如,通过互联网),远程数据库返回相关联的信息(例如,门牌号,商店部门名称,等等)以供手机使用。
在另一种配置方案中,隐写传送(即,以智能手机可感测到的比特率传送)的数据通过电力线传送。这可以使用已知的电力线通信 (PLC)技术(诸如PDSL或BPL)来完成。此外,可以使用装置的绿色芯片线路所采用的技术。
正如智能手机可以充当基于LED的光学通信信号的接收器,智能手机也可以类似地充当这种信号的发射器。大多数智能手机(和许多能力较低的“功能”手机)包括LED“手电筒”来照亮摄像机拍摄的场景。这样的LED可以使用上面详述的配置方案进行调制以从手机光学地传送数据。与蓝牙或其他短程通信技术不同,这样的LED通信提供了某种隐私保护措施,因为这通常需要清晰的视线传输(line of site)。
在一个特定实施例中,接收系统(例如,另一智能手机)利用响应性数据对LED信号做出响应。该数据响应可以包括表示所接收的光学信号的强度(例如,对应于信噪比度量的数字)的信息。始发手机可以随后降低其LED驱动功率以便在第二装置处提供足够的、但是并不过大的接收信号强度。除了节省电力之外,以这种方式减小LED驱动电流会进一步降低无意识的光学接收器窃听的能力。(发送回给始发智能手机的响应性数据可以通过无线、光学或其他方式传送。)
回顾
经过回顾,本文中详述的一些新颖配置方案可以总结如下:
一种方法,其包括在装置中接收表示内容(例如,音频内容)的数据。将算法应用于所接收的数据以从所接收的数据取得标识数据。通过参考所取得的标识数据,选择特定的软件程序以供所述内容使用。该选择由装置中的配置成执行这样的动作的处理器执行。随后启动所选择的软件程序。通过该配置方案,对供数据使用的特定软件程序的选择是基于从数据自身取得的标识数据来做出的。
另一方法同样涉及在装置中接收表示内容(例如,音频内容)的数据、并将算法应用于所接收的数据以从所接收的数据取得标识数据。通过参考所取得的标识数据,选择供所述内容使用的偏好软件程序。该选择由装置中的配置成执行这样的动作的处理器执行。随后向用户指示偏好软件程序。通过该配置方案,供数据使用的偏好软件程序基于从数据自身取得的标识数据而得到选择。
又一方法涉及在装置中接收表示内容(例如,音频内容)的数据。该内容属于可以由装置中的第一软件再现的类型。响应于利用第一软件再现内容的尝试,装置指示应该使用第二软件作为替代。在该情况下,内容的创作者对该创作者的内容指定第二软件作为偏好软件。
又一方法包括:采用装置的麦克风从周围环境接收音频。将算法应用于表示所接收的音频的音频数据以从所述音频数据取得标识数据。通过参考所取得的标识数据,选择对应的履行服务以便用于涉及所述音频的交易。通过该配置方案,接收到的第一个音频会导致第一履行服务被选择以便用于涉及第一个音频的交易,并且接收到的不同的第二个音频会导致不同的第二履行服务被选择以便用于涉及第二个音频的交易。
又一方法涉及识别用户的周围环境中的内容(例如,音频),该内容在之前已经由用户装置采样。随后发布关于识别出的内容的信息,任选地与用户背景环境信息一起发布。响应于该发布的信息,接收一个或多个第三方竞价。确定获胜竞价和与获胜竞价相关联的第三方。随后启用由所确定的第三方识别的软件在用户装置上向用户呈现购买机会。
又一方法包括:接收与所接收的给定类型的内容(例如,音频、图像或视频)相对应的一组数字数据。产生与所接收的内容相对应的标识数据,所接收的内容通过所述标识数据可以与给定类型的其他内容区分开。通过参考标识数据,确定与所接收的内容相关联、并且与给定类型的所有其他内容不相关联的N个应用程序,其中N为一或更大。随后利用一个或多个所确定的应用程序来采取动作。
本技术的另一方面是其上存储有操作系统(OS)软件的计算机可读存储介质。OS软件用于将处理器配置成通过定义的接口向发出请求的应用程序提供OS服务。这些OS服务包括:从表示视觉或听觉信息的信号数据取得内容标识数据,以及通过定义的接口发布所述内容标识数据以供预订所述内容标识数据的一个或多个应用程序使用。
本技术的另一方面是包括处理装置和存储器的装置。存储器包含将处理装置配置成通过定义的接口向发出请求的应用程序提供OS服务的操作系统(OS)指令。该装置还包括传感系统,用于从装置的环境中感测周围视觉和/或声音刺激,并且用于产生与所述刺激相对应的内容数据。OS服务之一从所产生的内容数据取得内容标识数据,并通过定义的接口向预订所述内容标识数据的发出请求的应用程序发布所述内容标识数据。
本技术的另一方面是包括处理装置和存储器的装置。存储器包含将处理装置配置成通过定义的接口向发出请求的应用程序提供OS服务的操作系统(OS)指令。这些定义的接口之一提供内容标识消息队列,该内容标识消息队列发布与装置所处理的视觉或声音刺激相对应的内容标识数据,一个或多个应用程序可以预订所述队列。
本技术的另一方面是一种方法,其包括:对来自用户的周围环境的声音或视觉刺激感测一段长时间(例如,超过15分钟、一小时、或六小时),从而关注用户在该段时间期间已经遭遇到的内容。通过参考该感测到的刺激,使用经配置的硬件处理器产生与用户在该段时间期间已经遭遇到的内容中的若干个不同的条目相对应的内容标识数据。随后,在与用户界面的随后的用户交互过程中,该方法通过标题向用户标识从用户的环境中注意到的内容中的多个不同的条目,并使用户能够针对至少一个所标识的内容条目从多个不同的动作当中进行选择。
又一方法涉及感测来自用户的周围环境的声音或视觉刺激,从而关注用户已经遭遇到的内容。通过参考感测到的刺激,使用经配置的硬件处理器产生与这样的内容中的至少一个条目相对应的内容标识数据。随后向两个或更多不同的软件应用程序提供信息,所述信息至少部分地基于这样产生的内容标识数据。通过该配置方案,当用户接下来利用所述不同的软件应用程序中的每一者时,用户将会发现每个软件应用程序已经反映出用户与内容条目的遭遇。
又一方法涉及使用消费电子装置接收表示音频、图像和/或视频内容的内容数据,其中所述内容数据以一种类型的文件格式被接收,电子装置由于之前安装的、或者以其他方式可供该装置使用的第一再现软件程序而能够再现所述类型的文件格式,从而产生与内容相关的体验。通过参考所接收的内容数据,确定由内容数据的所有者规定的用于利用所接收的内容数据产生与内容相关的用户体验的一个或多个再现软件程序。该方法随后确定这些确定的再现软件程序中没有任何一个程序当前已被安装或者可供该装置使用,并且因此拒绝在该装置上再现所接收的内容数据,尽管第一再现软件程序能够再现所接收的内容数据。通过这样的配置方案,消费电子装置尊重所有者关于借以把与内容相关的用户体验提供给用户的再现软件程序的规定。
又一方法涉及使用用户装置再现艺术作品,其中艺术作品已经由其所有者产生。该艺术作品以能够由若干个不同的软件程序再现的数据格式表示。该方法还包括:使用经编程的处理器查阅所有者指定的元数据以确定这些程序的可以用于再现艺术作品数据的子集,以及利用该子集中的一个程序再现艺术作品数据。通过这样的配置方案,能够向所有者提供对艺术作品的再现方式的控制措施。
本技术的另一方面是一种装置,其包括处理装置、存储用于配置处理装置的若干软件程序的计算机可读存储介质、以及用于产生表示该装置的周围环境中的视觉或声音内容的数据的传感系统。所述若干软件程序中的至少一个软件程序是由于装置从装置的周围环境中感测到某个内容而被存储在计算机可读存储介质中的。
本技术的另一方面是一种便携式装置(例如,智能手机),其包括处理器和存储器,存储器包含操作系统软件和多个软件程序。这些程序中的第一程序用于分析表示声音或视觉内容的数据以产生对应的标识数据,并向输出端发布所述分析的结果。这些程序中的第二程序用于监视第一程序的输出以关注第二程序被调谐到的某个内容,并在注意到所述某个内容时采取动作。
又一方法涉及以观察姿态捕获主体的图像、并将所捕获的图像呈现在便携式装置的屏幕上。通过参考所捕获的图像来评估观察姿态的最优性。该方法随后在所捕获图像的呈现画面上叠盖表示评估结果的标记。该叠盖的标记随所评估的最优性的变化而变化。
又一方法涉及使用便携式装置捕获多帧图像,便携式装置具有图像传感器和第二传感器。基于来自第二传感器的数据,选择所捕获的帧中的至少两个帧的子集。随后将这些选择的帧组合起来。所述组合可以利用显著点,并且可以将组合后的输出提供给便携式装置中的数字水印解码器。
本技术的另一方面是一种便携式装置(例如智能手机),其包括处理器、存储器以及至少包含摄像机和麦克风的多个传感器。这些装置组件相互协作从而限定出多个识别代理,诸如音频指纹识别代理、条形码识别代理和图像水印识别代理。这些代理被配置成从存储器的黑板数据结构读取数据、以及向存储器的黑板数据结构写入数据。该黑板数据结构还被配置成从传感器接收数据,并编辑由所述代理处理的所存储的图像数据和音频数据的队列。这些构成元素在存储器中的指令所定义的事件控制器的控制下相互协作。
又一方法涉及确定人和多个对象之间的网络关系,并根据这些网络关系来辨别对象对这个人的相对重要性。随后基于辨别出的相对重要性来采取动作。
又一方法涉及采用便携式装置捕获一个人的手势的图像。处理该图像以便根据手势辨别手语,并基于所述手语来采取动作。
又一方法包括:定义具有第一和第二空间频率部分的信息携带图案,并将该图案印刷在衬底上。第一部分定义可见的背景编织图案,其向人类观察者暗示编码信息的存在;第二部分包括处于人类视觉范围之外的空间频率,并且传达编码信息的至少一部分。
又一方法涉及在第一装置中接收具有通过数字水印编码的有效载荷数据的音频或图像内容数据。对该有效载荷数据进行解码,并随后将有效载荷数据的至少一部分通过除数字水印以外的技术传送给第二装置。
又一方法涉及在家庭娱乐系统中接收音频或图像内容、并根据所述音频或图像内容确定媒体指纹信息。随后将媒体指纹信息无线地传送给家庭娱乐系统正在向其再现内容的用户的便携式装置(例如,智能手机)。
又一方法涉及在零售商店中接收表示商店中的购物者对产品的兴趣的信号、并随后基于所接收的信号采取动作。该动作包括以下内容中的至少一个:将购物者输入接受服务的队列中,向购物者通知接受服务前的等待时间,向购物者提供关于将要提供服务的零售商店职员的信息,以及向购物者提供等待服务的诱惑。(这样的诱惑可以是在其他情况下要收取费用的娱乐内容。)
又一方法涉及通过参考由购物者的智能手机从零售商店中陈列的第一产品感测的数据来确定第二产品是否与第一产品兼容、并随后基于这样的确定结果来采取动作。
又一方法涉及从加有数字水印的对象捕获图像,其中数字水印包括已知参考特征。随后,在估计模糊核的过程中使用这些已知参考特征,其中可以通过所述模糊核来处理所捕获的图像以减少图像模糊。
又一方法涉及通过参考由用户的便携式装置(例如,智能手机) 感测的信息来确定该用户的兴趣、并随后基于所确定的兴趣来采取动作。
又一方法涉及:在便携式装置的屏幕上显示用户可从其中选择的文本字符的布置;感测用户朝向屏幕的一部分的注视以便做出文本选择;以及随后改变屏幕上的字符的布置,用户可以接下来从改变后的布置中进行选择。
又一方法涉及:使用智能手机摄像机捕获图像数据的视频序列;识别所捕获的数据中的第一机器可读符号;存储与识别出的第一符号有关的信息;识别所捕获的数据中的第二机器可读符号;以及存储与识别出的第二符号有关的信息。通过这样的配置方案,装置以流模式工作从而收集与在所捕获的视频序列中发现的机器可读符号有关的信息。
本技术的另一方面是一种系统,其包括处理器、存储器、一个或多个传感器子系统以及触摸屏。该系统的特征在于,装置被配置成将来自传感器子系统的信息以RDF三元组的形式存储到存储器中,并且处理器被配置成基于所存储的RDF三元组来采取动作。
本技术的又一方面是一种方法,其包括:接收传感器数据,把要存储的感测到的信息表示为RDF三元组,以及随后处理所存储的RDF 三元组。
本技术的另一方面是一种装置,其包括摄像机、处理器和存储器。存储器存储由摄像机捕获的一组图像,并且还存储对所述一组图像做出声明的多个RDF三元组。装置处理器被配置成通过参考一个或多个所存储的RDF三元组来对所存储的一组图像执行操作。
另一方法使第一计算机处理能够向一个或多个其他计算机处理请求服务,并且包括向数据结构发布请求,其中该请求被表示为RDF三元组。
又一方法涉及:在消费电子装置上接收音频信息,其中该音频信息由内容分发者提供、并且至少包括第一和第二音频轨道。在该装置中,接收设置第一和第二轨道之间的比率的控制信号。随后根据该比率将音频再现给消费者。第二音频轨道包括传达辅助信息的类似噪声的数字水印信号。
本技术的另一方面是一种包含内容数据的计算机可读介质,所述内容数据在由第一装置再现的情况下会控制第二装置的功能。该内容数据至少包括第一和第二轨道的音频信息。第一轨道包括用于消费者享受的音频,并且第二轨道包括传送用于第二装置的控制数据的类似噪声的数字水印信号。
本技术的另一方面是一种装置,其包括存储内容信息的存储器,所述内容信息包括与至少第一和第二音频轨道相对应的数据。设置音频部以便向输出装置(例如,扬声器)再现内容信息。该音频部包括控制装置,用户可操作所述控制装置来设定应该相对于第一轨道以什么样的水平再现第二轨道。与第二音频轨道相对应的所存储的数据表示用于控制第二装置的功能的类似噪声的数字水印信号。
本技术的另一方面是一种方法,其包括:接收与配备有摄像机的便携式装置所捕获的图像相对应的第一组数据,其中所述图像描绘主体。根据第一组数据解码出隐写编码的数字水印有效载荷数据。通过参考该有效载荷数据,获得第二组数据。该第二组数据包括与所述主体相对应的显著点数据。
本技术的另一方面是一种包含软件指令的计算机可读介质,所述软件指令在由计算装置执行的情况下会使该计算装置执行包括以下内容的操作:接收与描绘主体的图像相对应的第一组数据;根据第一组数据解码出隐写编码的数字水印有效载荷数据;以及通过参考有效载荷数据,获得第二组数据。该第二组数据包括与所述主体相对应的显著点数据。
本技术的又一方面是一种方法,其包括:在便携式装置中接收从与一对象相关联的无源芯片装置感测的标识数据。通过参考该标识数据,获得第二组数据。该第二组数据包括与所述对象相对应的显著点数据。
本技术的另一方面是一种便携式装置,其包括布置在口袋大小的壳体中的存储器和处理部。存储器包括第一部分,其存储表示多个基于代码的语义三元组的代码数据,其中每个三元组包括第一、第二和第三代码,这些代码中的一个为主语代码,一个为谓语代码,一个为宾语代码。存储器还包括第二部分,其存储使不同的文本文字与不同的代码相关联的文字数据。处理部包括GPU,其处理存储器的第一部分中的代码数据,以便对存储器的第二部分中的文本文字所表示的信息执行操作。
本技术的另一方面是一种便携式装置,其包括布置在口袋大小的壳体中的存储器和处理部。存储器包括帧缓冲部,其存储表示多个基于代码的语义三元组的代码数据,其中每个三元组包括主语代码、谓语代码和宾语代码。存储器还包括第二部分,其存储使不同的文本文字与不同的代码相关联的文字数据。处理部包括GPU,其处理存储器的第一部分中的代码数据,以便执行涉及使用存储器的第二部分中的文本文字表达的概念的语义推理。
本技术的又一方面是一种便携式装置,其包括布置在口袋大小的壳体中的存储器和处理部。处理部通过存储在存储器中的指令而被配置,并且包括GPU。存储器存储表示多个基于代码的语义三元组的代码数据,每个三元组包括主语代码、谓语代码和宾语代码。所述指令将处理部配置成把一系列模板应用于所存储的代码数据,以执行基于三元组的操作。
本技术的另一方面是一种方法,其包括:接收与配备有摄像机的便携式装置所捕获的图像相对应的一组数据,其中所述图像描绘主体。基于所接收的一组数据确定标识数据。通过参考标识数据,获得第二组数据,其中该第二组数据包括多个N元组,每个N元组包括主语、谓语和宾语元素。对这些N元组进行处理,并且基于这样的处理结果来采取动作。
本技术的又一方面是一种便携式装置,其包括触摸屏、布置在口袋大小的壳体中的存储器和处理部。存储器包含表示多个基于代码的语义三元组的数据,其中每个三元组包括主语代码、谓语代码和宾语代码。存储器还包括这样的部分,该部分包含表示不同的代码的相应文字含义的文本文字。存储器还包含将处理部配置成在触摸屏上呈现用户界面的软件指令,所述用户界面填充有所述文本文字中的一些文本文字,用户可以通过所述一些文本文字来定义基于代码的语义三元组的查询。
本技术的另一方面是一种便携式装置,其包括布置在口袋大小的壳体中的触摸屏、存储器和处理部。存储器被逻辑地组织为包含多个数据N元组的多个存储平面,其中N元组的构成元素对应于文本文字。处理部包括GPU,其被配置成对数据N元组执行操作,以作为对通过触摸屏用户界面输入的用户查询做出响应的响应处理的一部分。
另一方法涉及接收与用户查询相对应的数据。将第一平面阈值化检验应用于N元组数据存储器的一个平面中所存储的值,其中数据存储器被逻辑地组织为包括存储多个数据N元组的N个数据平面,其中 N至少为3。该平面阈值化检验能够识别所存储的数据N元组的第一子集,该第一子集满足用户查询的第一方面。
又一方法涉及接收与配备有摄像机的便携式装置所捕获的图像相对应的第一组数据,其中所述图像以第一分辨率描绘主体。基于所述第一组数据来确定标识数据。通过参考该标识数据,获得第二组数据,其中第二组数据对应于同样描绘所述主体的图像。第二组数据从与第一组数据不同的视角描绘所述主体,并且可以以比第一分辨率高的第二分辨率描绘所述主体。
又一方法涉及:接收从对象感测的NFC标识数据,以及通过参考该标识数据来获得描绘所述对象的一组图像数据。
又一方法涉及在第一和第二装置之间转移应用程序状态,每个装置包括处理器和显示屏。该方法包括:使用第一装置中的摄像机感测第二装置的显示屏上所呈现的图像。从所感测的图像解码数字水印数据。基于解码出的数字水印数据,识别已存储的数据,所述已存储的数据记忆第二处理器的应用程序状态。随后可以使用该已存储的数据来将第二处理器初始化到所述应用程序状态。
又一方法涉及一种具有处理器和显示屏的装置。该方法包括:间断性地存储应用程序状态数据,以及对图像加数字水印以在其中编码标识符,其中所述标识符使得对所存储的应用程序状态数据的访问变得容易。该加有数字水印的图像可以随后呈现在显示屏上。
又一方法涉及使用便携式装置中的摄像机来感测光(例如,周围环境的光)。从所感测的光解码标识符,并随后基于解码出的标识符来获得信息。
又一方法涉及:产生对运动车辆的方向和/或速度进行编码的信号,并根据这样的信号来控制车辆上的一个或多个外部灯(例如,头灯)。
另一方法涉及:从由照明装置照亮的环境中感测数据,并处理所感测的数据以确定与该数据相对应的信息。随后根据所确定的信息对从照明装置发出的光进行编码。
又一方法涉及:利用装置的麦克风在一段长时间(例如,至少15 分钟、一小时或6小时)内从用户的周围环境接收音频。随后将算法应用于表示所接收的音频的数据以便从该数据取得标识数据。通过参考所取得的标识数据,来确定用户在该段时间期间遭遇到的至少第一和第二不同的音频内容条目。通过参考这两个音频内容条目,使软件准备好供用户在之后使用。该准备步骤包括:在所述装置处从一个或多个远程储存库接收第一和第二辅助内容条目。第一辅助内容条目与所确定的第一音频内容条目相关联,并且第二辅助内容条目与所确定的第二音频内容条目相关联。随后可以向用户呈现标识出所确定的第一和第二音频内容条目的列表。响应于用户把这些所确定的音频内容条目之一选择为感兴趣的条目,可以根据准备好的软件、使用对应的辅助内容条目来采取动作。通过这样的配置方案,用户遭遇到的音频内容条目得以监视,并且装置在用户把特定的音频内容条目选择为感兴趣的条目之前就接收到相关联的辅助内容。
又一方法涉及:利用便携式装置的麦克风在一段长时间内从用户的周围环境接收音频。感测用户在该段时间期间的位置。将算法应用于表示所接收的音频的数据以从该数据取得标识数据。通过参考所取得的标识数据,来确定用户在该段时间期间遭遇到的至少第一和第二不同的音频内容条目。通过便携式装置的用户界面,向用户标识出所确定的第一和第二不同的音频内容的条目,并接收通过用户界面输入的选择第一条目的用户信号。作为响应,将第一音频内容条目的标识信息连同表示感测到的用户位置的数据一起发布到在线社交网络。
本技术的另一方面是一种系统,其包括通过存储器中的指令配置的处理器。这些指令包括操作系统软件。该操作系统软件提供音频识别服务,该音频识别服务接收输入的音频数据或指向所存储的音频数据的指针,并把与其相对应的元数据返回给操作系统软件的音频标识消息队列。
又一方法涉及:使用移动电话装置的摄像机部捕获、并且显示在该装置的屏幕上的描绘第一主体的图像帧。该方法包括:通过分析所捕获的图像数据来产生与第一主体有关的标识符。将第一标签与第一图像帧一起显示在屏幕上。该第一标签位于屏幕上的第一位置,并且可由用户选择以启动与第一主体相关联的动作。在屏幕上呈现使第一帧中所描绘的第一主体与所显示的第一标签相关联的视觉标记。该方法还包括将该第一标签与描绘第一主体的第二图像帧一起显示在屏幕上。第一主体在第一和第二图像帧内被描绘在不同的位置,然而对于第一和第二图像帧而言,第一标签在屏幕上都被显示在相同的第一位置。
另一方法涉及识别用户的移动电话的摄像机部所捕获的图像中描绘的物理对象,从而辨别与用户有关的物理对象偏好信息。随后把基于该偏好信息的物理对象偏好概况数据(profile data)存储在存储器中。此后可以至少部分地基于所存储的物理对象偏好概况数据来处理电子媒体。
又一方法涉及利用便携式装置的摄像机部捕获图像序列。分析该序列中的一段摘选以辨别校准信息,其中该校准信息包括表征所述摘选中描绘的人的手部的颜色的肤色数据。通过将所捕获的图像与所存储的参考手型数据进行匹配,来分析该序列中的其他摘选以便识别图像中描绘的美国手语手型。随后可以基于所述分析,将单词、音素和/ 或字母输出到输出装置。
其他备注
尽管已经参考说明性实例描述和举例说明了我们的创造性工作的原理,但应该认识到的是本技术并不局限于此。
例如,尽管提及智能手机,但应认识到的是,本技术可用于各式各样的装置——既包括便携式装置又包括固定的装置。便携式音乐播放器、台式机、膝上型电脑、平板电脑、机顶盒、电视机、上网本、超轻便电脑、可佩戴式电脑、服务器等全都可以利用在此详述的原理。
特别预期到的智能手机包括Apple iPhone 4和遵循Google的 Android规范的智能手机(例如,由HTC公司制造的Verizon Droid Eris 手机,以及Motorola Droid 2手机)。术语“智能手机”(或“手机”) 应该被解释为包含所有这样的装置,甚至是严格地讲既不是蜂窝式电话、也不是电话机的那些装置。
(包括iPhone的触摸界面在内的iPhone的细节在Apple的已公开的专利申请20080174570中有提供。)
在本公开内容中提到的智能手机和其他计算机的设计是本领域技术人员所熟悉的。一般地说,各自包括一个或更多处理器、一个或更多内存(例如,RAM)、存储器(例如,磁盘或闪存存储器)、用户界面(其可以包括例如键区、TFT LCD或OLED显示屏、触摸或其他手势传感器、摄像机或其他光学传感器、罗盘传感器、3D磁力计、3轴加速计、3轴陀螺仪、一个或更多麦克风、等等,以及用于提供图形用户界面的软件指令)、这些元件之间的互连装置(例如,总线)、以及用于与其他装置通信的接口(其可以是无线的(诸如GSM、CDMA、 W-CDMA、CDMA2000、TDMA、EV-DO、HSDPA、WiFi、WiMax、或蓝牙),和/或有线的(诸如通过以太局域网、T-l因特网连接、等等))。
尽管本说明书在前面提到了与本受让人的先前的专利申请的关系,但是这值得重复。这些公开内容应该前后一致地被解读并且作为一个整体解释。本申请人期望每个文献中的特征和实现方案细节与其他文献中的这样的教导组合并结合使用。因此,应理解的是,本申请中公开的方法、元素和概念可以与那些引用的文献中详述的方法、元素和概念组合。尽管在本说明书中已经特别详述了一些组合,但是许多组合由于大量置换和组合的存在而尚未被详述。然而,根据所提供的教导,所有这样的组合的实现方案对于本领域技术人员而言是直接明了的。
本说明书中公开的不同实施例内的元素和教导也可以互换和组合。
本说明书中详述的处理和系统组件可以被实现为用于计算装置的指令,包括用于各种可编程处理器的通用处理器指令,所述可编程处理器包括微处理器(例如,Atom和A4)、图形处理单元(GPU,诸如 nVidia Tegra APX 2600)、数字信号处理器(例如,TexasInstruments的 TMS320系列器件)、等等。这些指令可以被实现为软件、固件、等等。这些指令也可以被实现到各种形式的处理器电路中,包括可编程逻辑器件、场可编程门阵列(例如Xilinx Virtex系列器件)、场可编程对象阵列、和专用电路——包括数字的、模拟的、和混合模拟/数字电路。指令的执行可以在处理器之间分配、和/或跨越一个装置内的多个处理器或者跨越装置网络并行地进行。内容信号数据的处理也可以在不同的处理器和存储器装置之间分配。也可以使用“云”计算资源。对“处理器”、“模块”或“组件”的提及应该被理解为是指功能而不是需要特定的实现形式。
用于实现详述的功能性的软件指令可以根据这里提供的描述由本领域技术人员编写而无需做过多实验,例如用C、C++、Visual Basic、 Java、Python、Tcl、Perl、Scheme、Ruby等编写。根据本技术的某些实现方案的手机和其它装置可以包括用于执行不同的功能和动作的软件模块。
已知的浏览器软件、通信软件和媒体处理软件可以适合于许多这里详述的用途。
内容所有者借以把某些属性和体验赋予给内容(例如,通过调用规定的软件)的服务通常使用用户装置上的软件——或者处于OS中、或者作为应用程序软件。可替换地,该服务可以部分地利用远程资源来实现。
软件和硬件配置数据/指令通常被存储为可跨越网络访问的有形介质(诸如磁盘或光盘、存储卡、ROM、等等)所传递的一个或更多数据结构中的指令。一些实施例可以被实现为嵌入式系统——操作系统软件和应用程序软件对于用户而言无法区分的专用计算机系统(例如,基本的手机中的情况通常就是这种情况)。本说明书中详述的功能性可以以操作系统软件、应用程序软件和/或嵌入式系统软件来实现。
不同的功能性可以在不同的装置上实现。例如,在智能手机与远程服务提供商处的服务器通信的系统中,不同的任务可以专门由一个装置或另一装置执行,或者执行可以在各装置之间分配。从内容中提取指纹和水印数据只是可以以这样的方式分配的处理的一个实例。因此,应该理解的是,把一操作描述为由特定装置(例如,智能手机) 执行这样的描述不是限制性的而是示例性的;该操作的执行由另一装置(例如,远程服务器)完成、或者在各装置之间分享也是可明确预期到的。
(以同样的方式,把数据描述为存储在特定装置上这样的描述也是示例性的;数据可以存储在任何地方:存储在本地装置中、存储在远程装置中、存储在云中、分布式的、等等。)
在实际的实践中,本技术所使用的数据结构可以是分布式的。例如,不同的唱片公司可以针对其各自的产品目录中的音乐保持其自己的数据结构。系统可能需要导航通过(常常是分级的)一系列中间数据结构以定位具有所需信息的数据结构。(一种适合的配置方案被详述在Digimarc的专利6,947,571中。)经常访问的信息可以缓存在网络中的服务器上(很像DNS数据)以加速访问。
尽管提及GPU,但是该术语的含义包括含有可同时操作的多个硬件内核的任何装置。例如,英特尔使用术语“集成众核(Many Integrated Core)”或Intel MIC来表示这类装置。大多数当代的GPU具有针对图形处理进行了优化的指令集。苹果的iPhone 4装置使用PowerVR SGX 535 GPU(与其他装置一起被包含在片上系统配置中)。大多数这样的装置在其指令集中包括这样的指令,其被裁制成对3或4平面图像(3- or 4-plane imagery)进行操作以加速用于向显示器输出的帧缓冲器中的图像构建。例如,许多指令取数据三元组作为输入,并提供数据三元组作为输出。其他指令便于对所存储的图像帧中的数据值的空间邻域进行操作。
类似地,尽管提及NFC芯片,但是应认识到的是,这包含各式各样的芯片——包括当由NFC读取器询问时发出传达多比特标识符的信号的通过其它名称(例如,RFID芯片)而被人们所知的那些芯片。
尽管本公开内容已经详述了动作的特定排序和元素的特定组合,但应认识到的是,其它可预期到的方法可以对各动作进行重新排序(可能省略一些动作并添加另外一些动作),并且其它可预期到的组合可以省略一些元素并增加另外一些元素,等等。
尽管是作为完整系统公开的,但是所详述的配置方案的子组合也是可分别预期到的。
尽管主要是在执行音频捕捉和处理的系统的背景环境中进行详述,但是相应的配置方案可同样应用于捕获并处理图像和视频的系统或者捕获并处理多种形式的媒体的系统。
发布/预订功能不仅可以在装置中实现,而且可以跨越网络实现。即兴(ad hoc)网络可以在处于共同的位置(例如处于剧院中)的多个用户之间形成。由一个用户的智能手机产生的内容识别信息可以发布到该即兴网络,并且该网络中的其他人可以基于该信息来预订或采取动作。
苹果的Bonjour软件可以在具有这种配置的示例性实现方案中使用。Bonjour是零配置网络(Zeroconf)的Apple实现方案,是一种服务发现协议。Bonjour使用多点传送域名系统服务记录来定位本地网络上的装置并识别它们各自提供的服务。(该软件被内置到Apple MAC OS X操作系统中,并且也被包含在用于iPhone的Apple“Remote(遥控)”应用程序中——在这种情况下该软件被用来通过WiFi建立与 iTunes库的连接。)Bonjour服务使用标准TCP/IP呼叫而被大部分实现在应用程序层上,而不是实现在操作系统中。Apple已经使Bonjour多点传送DNS响应器的源代码(其是服务发现的核心组成部分)可作为达尔文开源项目被获得。该项目提供源代码以便为大范围的平台(包括Mac OS X、Linux、*BSD、Solaris和Windows)建立响应器守护程序(daemon)。另外,Apple提供了被称作Bonjour forWindows的用户可安装的一组服务,以及Java库。Bonjour也可以用在本技术的其他实施例中,包括装置和系统之间的通信。
(其它软件可以可替换地或附加地被用来在装置之间交换数据。实例包括通用即插即用(UPnP)及其后继者Devices Profile for Web Services(用于web服务的装置概要,DPWS)。这些是实现零配置网络服务的其它协议,通过这些协议,装置可以连接、识别自己、宣传可用于其它装置的能力、分享内容等。其他实现方案可以使用对象请求代理,诸如COBRA(也被称为IBM WebSphere)。)
用于对水印进行编码/解码的技术被详述在例如以下文献中:Digimarc的专利文献6,614,914、6,590,996、6,122,403和20100150434 以及未决的申请12/774,512;以及Nielsen的专利6,968,564和7,006,555。
音频指纹识别的实例在专利公开20070250716、20070174059和 20080300011(Digimarc),20080276265、20070274537和20050232411 (Nielsen),20070124756(Google),7,516,074(Auditude),以及6,990,453 和7,359,889(两者属于Shazam)中有详述。图像/视频指纹识别的实例在专利公开7,020,304(Digimarc)、7,486,827(Seiko-Epson)、 20070253594(Vobile)、20080317278(Thomson)和20020044659(NEC) 中有详述。
为了提供全面的公开同时遵照规定的简明性要求,本申请人通过引用将上面提到的专利申请和其他文献结合在本文中。(这些材料的全部内容被结合在本文中,即使在上文中仅是关于这些材料的特定教导而引用这些材料的。)这些参考文献公开的技术和教导可以结合到这里详述的方案中,并且这里详述的技术和教导也可以结合到这些参考文献公开的技术和教导中。读者被假定熟悉这些现有技术。

Claims (10)

1.一种方法,包括以下步骤:
利用智能手机的摄像机,捕获印刷页面或其他对象上的图像描绘作品,该作品包括机器可读代码;
对所述机器可读代码进行解码,以获得有效载荷数据;
通过将所述有效载荷数据发送给远程数据库并反过来接收关于所述对象的信息,来访问所述作品的显著点,其中所接收的信息包括所述作品的所述显著点;
利用所述显著点确定所述智能手机相对于所述对象的3D姿势;以及
通过根据所述3D姿势对几何地向所捕获的图像注册的辅助信息进行仿射扭曲或透射扭曲,在所述智能手机的屏幕上,在所捕获的图像的顶部呈现所述辅助信息,
其中利用所捕获的图像中描绘的所述机器可读代码解码得到的有效载荷数据,基于从所述数据库访问过的所述显著点来确定所述3D姿势。
2.如权利要求1所述的方法,其中所述机器可读代码为方形2D条形码。
3.如权利要求1所述的方法,其中所述物理对象是海报。
4.如权利要求1所述的方法,其中所述显著点中的每一个由指示在所述作品内其位置的数据和表示与该位置相关联的信息的特征向量来表示。
5.如权利要求4所述的方法,其中所述特征向量详述所述点周围排列的多个正方形像素块中的每一个像素块的亮度梯度信息值。
6.如权利要求1所述的方法,其中所述显著点标识所述作品中有亮度、颜色、纹理或高斯差分的显著局部变化的位置。
7.如权利要求1所述的方法,其中所述显著点包括SIFT点或SURF点。
8.如权利要求1所述的方法,还包括:
利用所述显著点辨别在所捕获的图像中描绘了所述对象的什么摘选内容,并且呈现特别对应于这样的摘选内容的辅助信息,其中如果用户观看所述对象的第一部分,则向用户呈现一种响应,而如果用户观看所述对象的第二部分,则向用户呈现第二种响应。
9.一种智能手机,包括摄像机、显示器、处理器和存储器,所述存储器包括软件指令,所述软件指令配置所述智能手机执行包括以下步骤的动作:
对物理对象上的作品中包括的机器可读代码进行解码,所述机器可读代码被描绘在由所述智能手机捕获的图像中;
通过将有效载荷数据发送给远程数据库并反过来接收关于所述对象的信息,来访问所述作品的显著点,其中所接收的信息包括所述作品的所述显著点;
利用所述显著点确定所述智能手机相对于所述对象的3D姿势;以及
通过根据所述3D姿势对几何地向所捕获的图像注册的辅助信息进行仿射扭曲或透射扭曲,在所述智能手机的显示器上,在所捕获的图像的顶部呈现所述辅助信息,
其中利用所捕获的图像中描绘的所述机器可读代码解码得到的有效载荷数据,基于从所述数据库访问过的所述显著点来确定所述3D姿势。
10.一种计算机可读介质,包含软件指令,所述软件指令配置装配有摄像机和显示器的智能手机执行包括以下步骤的动作:
对物理对象上的作品中包括的机器可读代码进行解码,所述机器可读代码被描绘在由所述智能手机捕获的图像中;
通过将有效载荷数据发送给远程数据库并反过来接收关于所述对象的信息,来访问所述作品的显著点,其中所接收的信息包括所述作品的所述显著点;
利用所述显著点确定所述智能手机相对于所述对象的3D姿势;以及
通过根据所述3D姿势对几何地向所捕获的图像注册的辅助信息进行仿射扭曲或透射扭曲,在所述智能手机的显示器上,在所捕获的图像的顶部呈现所述辅助信息,
其中利用所捕获的图像中描绘的所述机器可读代码解码得到的有效载荷数据,基于从所述数据库访问过的所述显著点来确定所述3D姿势。
CN201710150469.7A 2010-11-04 2011-11-04 基于智能手机的方法和系统 Active CN107103316B (zh)

Applications Claiming Priority (23)

Application Number Priority Date Filing Date Title
US41021710P 2010-11-04 2010-11-04
US61/410,217 2010-11-04
US201161449529P 2011-03-04 2011-03-04
US61/449,529 2011-03-04
US201161467862P 2011-03-25 2011-03-25
US61/467,862 2011-03-25
US201161471651P 2011-04-04 2011-04-04
US61/471,651 2011-04-04
US201161479323P 2011-04-26 2011-04-26
US61/479,323 2011-04-26
US201161483555P 2011-05-06 2011-05-06
US61/483,555 2011-05-06
US201161485888P 2011-05-13 2011-05-13
US61/485,888 2011-05-13
US201161501602P 2011-06-27 2011-06-27
US61/501,602 2011-06-27
US13/174,258 2011-06-30
US13/174,258 US8831279B2 (en) 2011-03-04 2011-06-30 Smartphone-based methods and systems
US13/207,841 2011-08-11
US13/207,841 US9218530B2 (en) 2010-11-04 2011-08-11 Smartphone-based methods and systems
US13/278,949 US9183580B2 (en) 2010-11-04 2011-10-21 Methods and systems for resource management on portable devices
US13/278,949 2011-10-21
CN2011800641753A CN103329147A (zh) 2010-11-04 2011-11-04 基于智能手机的方法和系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2011800641753A Division CN103329147A (zh) 2010-11-04 2011-11-04 基于智能手机的方法和系统

Publications (2)

Publication Number Publication Date
CN107103316A true CN107103316A (zh) 2017-08-29
CN107103316B CN107103316B (zh) 2020-11-03

Family

ID=46025145

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2011800641753A Pending CN103329147A (zh) 2010-11-04 2011-11-04 基于智能手机的方法和系统
CN201710150469.7A Active CN107103316B (zh) 2010-11-04 2011-11-04 基于智能手机的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2011800641753A Pending CN103329147A (zh) 2010-11-04 2011-11-04 基于智能手机的方法和系统

Country Status (7)

Country Link
US (1) US9183580B2 (zh)
EP (1) EP2635997A4 (zh)
JP (2) JP6054870B2 (zh)
KR (1) KR102010221B1 (zh)
CN (2) CN103329147A (zh)
CA (1) CA2815944C (zh)
WO (1) WO2012061760A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111667571A (zh) * 2020-06-08 2020-09-15 南华大学 核设施源项三维分布快速重建方法、装置、设备及介质
CN111880927A (zh) * 2017-12-05 2020-11-03 创新先进技术有限公司 一种资源分配方法、装置及设备
US20220174800A1 (en) * 2020-11-27 2022-06-02 Savant Technologies Llc Method and Apparatus for Controlling Device, Smart Home Device, System, and Storage Medium
TWI777282B (zh) * 2020-09-30 2022-09-11 大陸商敦泰電子(深圳)有限公司 圖像採集方法、晶片及圖像採集裝置

Families Citing this family (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120322428A1 (en) 2004-09-30 2012-12-20 Motedata Inc. Network of tags
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US8819172B2 (en) 2010-11-04 2014-08-26 Digimarc Corporation Smartphone-based methods and systems
US9218530B2 (en) 2010-11-04 2015-12-22 Digimarc Corporation Smartphone-based methods and systems
US8903847B2 (en) 2010-03-05 2014-12-02 International Business Machines Corporation Digital media voice tags in social networks
US8762852B2 (en) 2010-11-04 2014-06-24 Digimarc Corporation Smartphone-based methods and systems
US20120224711A1 (en) * 2011-03-04 2012-09-06 Qualcomm Incorporated Method and apparatus for grouping client devices based on context similarity
US20120244842A1 (en) 2011-03-21 2012-09-27 International Business Machines Corporation Data Session Synchronization With Phone Numbers
US8688090B2 (en) 2011-03-21 2014-04-01 International Business Machines Corporation Data session preferences
US20120246238A1 (en) 2011-03-21 2012-09-27 International Business Machines Corporation Asynchronous messaging tags
SG185147A1 (en) * 2011-04-08 2012-11-29 Creative Tech Ltd A method, system and electronic device for at least one of efficient graphic processing and salient based learning
US9117074B2 (en) 2011-05-18 2015-08-25 Microsoft Technology Licensing, Llc Detecting a compromised online user account
US9087324B2 (en) * 2011-07-12 2015-07-21 Microsoft Technology Licensing, Llc Message categorization
US8885882B1 (en) 2011-07-14 2014-11-11 The Research Foundation For The State University Of New York Real time eye tracking for human computer interaction
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
US9367770B2 (en) 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US10474858B2 (en) 2011-08-30 2019-11-12 Digimarc Corporation Methods of identifying barcoded items by evaluating multiple identification hypotheses, based on data from sensors including inventory sensors and ceiling-mounted cameras
EP2758956B1 (en) 2011-09-23 2021-03-10 Digimarc Corporation Context-based smartphone sensor logic
US9235799B2 (en) 2011-11-26 2016-01-12 Microsoft Technology Licensing, Llc Discriminative pretraining of deep neural networks
GB2497951A (en) * 2011-12-22 2013-07-03 Nokia Corp Method and System For Managing Images And Geographic Location Data
US20130254265A1 (en) * 2012-03-20 2013-09-26 Alexandra Chemla System and mechanisms for transferring user selected content to a recipient
WO2013179086A1 (en) * 2012-05-29 2013-12-05 Nokia Corporation Supporting the provision of services
WO2013184383A2 (en) * 2012-06-04 2013-12-12 Apple Inc. App recommendation using crowd-sourced localized app usage data
US9195721B2 (en) 2012-06-04 2015-11-24 Apple Inc. Mobile device with localized app recommendations
US9477884B2 (en) 2012-06-14 2016-10-25 Digimarc Corporation Methods and systems for signal processing
WO2014015015A2 (en) * 2012-07-17 2014-01-23 Zahnow Myron Frederick System, apparatus and method for activity guidance and monitoring
US20140025537A1 (en) * 2012-07-23 2014-01-23 Cellco Partnership D/B/A Verizon Wireless Verifying accessory compatibility with a mobile device
US9401153B2 (en) 2012-10-15 2016-07-26 Digimarc Corporation Multi-mode audio recognition and auxiliary data encoding and decoding
US9305559B2 (en) 2012-10-15 2016-04-05 Digimarc Corporation Audio watermark encoding with reversing polarity and pairwise embedding
US9224184B2 (en) 2012-10-21 2015-12-29 Digimarc Corporation Methods and arrangements for identifying objects
US8874924B2 (en) * 2012-11-07 2014-10-28 The Nielsen Company (Us), Llc Methods and apparatus to identify media
US9477925B2 (en) 2012-11-20 2016-10-25 Microsoft Technology Licensing, Llc Deep neural networks training for speech and pattern recognition
US9591339B1 (en) 2012-11-27 2017-03-07 Apple Inc. Agnostic media delivery system
US9774917B1 (en) 2012-12-10 2017-09-26 Apple Inc. Channel bar user interface
US10200761B1 (en) 2012-12-13 2019-02-05 Apple Inc. TV side bar user interface
US9532111B1 (en) 2012-12-18 2016-12-27 Apple Inc. Devices and method for providing remote control hints on a display
US10521188B1 (en) 2012-12-31 2019-12-31 Apple Inc. Multi-user TV user interface
US20140196117A1 (en) * 2013-01-07 2014-07-10 Curtis John Schwebke Recovery or upgrade of a cloud client device
US9146990B2 (en) * 2013-01-07 2015-09-29 Gracenote, Inc. Search and identification of video content
US9317872B2 (en) 2013-02-06 2016-04-19 Muzak Llc Encoding and decoding an audio watermark using key sequences comprising of more than two frequency components
US9275278B2 (en) * 2013-02-15 2016-03-01 Fuji Xerox Co., Ltd. Systems and methods for implementing and using off-center embedded media markers
US9311640B2 (en) 2014-02-11 2016-04-12 Digimarc Corporation Methods and arrangements for smartphone payments and transactions
US8990638B1 (en) * 2013-03-15 2015-03-24 Digimarc Corporation Self-stabilizing network nodes in mobile discovery system
US20140337905A1 (en) * 2013-05-09 2014-11-13 Telefonaktiebolaget L M Ericsson (Publ) System and method for delivering extended media content
US9251549B2 (en) * 2013-07-23 2016-02-02 Verance Corporation Watermark extractor enhancements based on payload ranking
KR102165818B1 (ko) 2013-09-10 2020-10-14 삼성전자주식회사 입력 영상을 이용한 사용자 인터페이스 제어 방법, 장치 및 기록매체
US10595100B2 (en) 2013-09-16 2020-03-17 The Electric Fan Company Distributed, unfolding, embedded transaction and inventory apparatuses, methods and systems
US10277330B2 (en) * 2013-09-19 2019-04-30 Radius Universal Llc Fiber optic communications and power network
US9600474B2 (en) 2013-11-08 2017-03-21 Google Inc. User interface for realtime language translation
BR102013031062A2 (pt) * 2013-12-03 2015-10-20 Antonio Ferreira De Souza sistema de consulta eletrônica e aferição de autenticidade, validade e restrição de carteira nacional de habilitação (cnh), certificado de registro de veículo (crv) e certificado de registro e licenciamento de veículo (crlv), utilizando tecnologia de leitura de dados por aproximação
JP2015127897A (ja) * 2013-12-27 2015-07-09 ソニー株式会社 表示制御装置、表示制御システム、表示制御方法、およびプログラム
JP6222830B2 (ja) * 2013-12-27 2017-11-01 マクセルホールディングス株式会社 画像投射装置
US9351060B2 (en) 2014-02-14 2016-05-24 Sonic Blocks, Inc. Modular quick-connect A/V system and methods thereof
US9613638B2 (en) * 2014-02-28 2017-04-04 Educational Testing Service Computer-implemented systems and methods for determining an intelligibility score for speech
US10015720B2 (en) 2014-03-14 2018-07-03 GoTenna, Inc. System and method for digital communication between computing devices
SE538975C2 (sv) * 2014-05-16 2017-03-07 Corfitsen Sten System och förfarande för att utföra betalningar från ett fordon
US10108748B2 (en) 2014-05-30 2018-10-23 Apple Inc. Most relevant application recommendation based on crowd-sourced application usage data
US9913100B2 (en) 2014-05-30 2018-03-06 Apple Inc. Techniques for generating maps of venues including buildings and floors
CN104023208B (zh) * 2014-06-05 2019-07-05 北京小鱼在家科技有限公司 一种自动监测与自主反应的装置及方法
JP6482578B2 (ja) 2014-06-24 2019-03-13 アップル インコーポレイテッドApple Inc. ユーザインタフェースにおけるナビゲートのためのカラムインタフェース
US9402161B2 (en) 2014-07-23 2016-07-26 Apple Inc. Providing personalized content based on historical interaction with a mobile device
US10200439B2 (en) * 2014-07-29 2019-02-05 Sap Se In-memory cloud triple store
US10045427B2 (en) * 2014-09-29 2018-08-07 Philips Lighting Holding B.V. System and method of autonomous restore point creation and restoration for luminaire controllers
CN105787485B (zh) * 2014-12-25 2019-11-26 联想(北京)有限公司 识别点击操作的装置和方法
CN106162928A (zh) * 2015-04-03 2016-11-23 松翰科技股份有限公司 信息传输系统及方法
US9529500B1 (en) 2015-06-05 2016-12-27 Apple Inc. Application recommendation based on detected triggering events
US9652196B2 (en) * 2015-06-29 2017-05-16 Microsoft Technology Licensing, Llc Smart audio routing management
KR102429427B1 (ko) * 2015-07-20 2022-08-04 삼성전자주식회사 촬영 장치 및 그 동작 방법
US20170034551A1 (en) * 2015-07-29 2017-02-02 GM Global Technology Operations LLC Dynamic screen replication and real-time display rendering based on media-application characteristics
CN105187295B (zh) * 2015-08-06 2019-05-17 广州华多网络科技有限公司 一种在客户端实现气泡展示的方法及客户端、服务器和系统
US10331944B2 (en) * 2015-09-26 2019-06-25 Intel Corporation Technologies for dynamic performance of image analysis
JP6696149B2 (ja) * 2015-10-29 2020-05-20 富士通株式会社 画像生成方法、画像生成プログラム、情報処理装置および表示制御方法
US10740409B2 (en) 2016-05-20 2020-08-11 Magnet Forensics Inc. Systems and methods for graphical exploration of forensic data
CA3023877A1 (en) 2016-05-20 2017-11-23 Roman Czeslaw Kordasiewicz Systems and methods for graphical exploration of forensic data
US20170351651A1 (en) * 2016-06-01 2017-12-07 Intel Corporation Smart bookmark device and bookmark synchronization system
US10595169B2 (en) 2016-06-12 2020-03-17 Apple Inc. Message extension app store
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
KR102493607B1 (ko) * 2016-06-15 2023-02-01 삼성전자주식회사 지문 인식 기능을 지원하는 전자 장치 및 이의 운용 방법
CN106874817A (zh) * 2016-07-27 2017-06-20 阿里巴巴集团控股有限公司 二维码识别方法、设备和移动终端
CN106921728A (zh) 2016-08-31 2017-07-04 阿里巴巴集团控股有限公司 一种定位用户的方法、信息推送方法及相关设备
EP3516547A1 (en) * 2016-09-29 2019-07-31 Convida Wireless, LLC Semantic query over distributed semantic descriptors
KR20230111276A (ko) 2016-10-26 2023-07-25 애플 인크. 전자 디바이스 상의 다수의 콘텐츠 애플리케이션으로부터의콘텐츠를 브라우징하기 위한 사용자 인터페이스
US10515474B2 (en) 2017-01-19 2019-12-24 Mindmaze Holding Sa System, method and apparatus for detecting facial expression in a virtual reality system
US10943100B2 (en) 2017-01-19 2021-03-09 Mindmaze Holding Sa Systems, methods, devices and apparatuses for detecting facial expression
EP3571627A2 (en) 2017-01-19 2019-11-27 Mindmaze Holding S.A. Systems, methods, apparatuses and devices for detecting facial expression and for tracking movement and location including for at least one of a virtual and augmented reality system
CN109255564B (zh) * 2017-07-13 2022-09-06 菜鸟智能物流控股有限公司 一种取件点地址推荐方法及装置
CN108021954B (zh) * 2017-11-01 2020-06-05 阿里巴巴集团控股有限公司 业务过程的启动方法和装置
CN107958667A (zh) * 2017-11-20 2018-04-24 北京云知声信息技术有限公司 能够快速启动应用的移动终端保护套和移动终端控制方法
US11328533B1 (en) 2018-01-09 2022-05-10 Mindmaze Holding Sa System, method and apparatus for detecting facial expression for motion capture
JP6855401B2 (ja) * 2018-02-08 2021-04-07 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
US10944669B1 (en) 2018-02-09 2021-03-09 GoTenna, Inc. System and method for efficient network-wide broadcast in a multi-hop wireless network using packet echos
CN111860020A (zh) 2018-04-25 2020-10-30 创新先进技术有限公司 业务处理方法、装置以及设备
US10134022B1 (en) * 2018-06-07 2018-11-20 Capital One Services, Llc Transaction terminals for automated billing
CN110209923B (zh) * 2018-06-12 2023-07-25 中国人民大学 话题影响力用户的推送方法和装置
US11145313B2 (en) * 2018-07-06 2021-10-12 Michael Bond System and method for assisting communication through predictive speech
EP3831021A1 (en) 2018-07-27 2021-06-09 Gotenna Inc. VINEtm ZERO-CONTROL ROUTING USING DATA PACKET INSPECTION FOR WIRELESS MESH NETWORKS
EP3621039A1 (en) * 2018-09-06 2020-03-11 Tata Consultancy Services Limited Real time overlay placement in videos for augmented reality applications
CN109451139B (zh) * 2018-09-13 2020-11-20 腾讯科技(深圳)有限公司 消息传输方法、终端、装置、电子设备及可读介质
CN109615423B (zh) 2018-11-29 2020-06-16 阿里巴巴集团控股有限公司 业务的处理方法及装置
KR102160189B1 (ko) * 2018-11-30 2020-09-25 인천대학교 산학협력단 애니메이션 내 객체의 채색을 지원하기 위한 사용자 인터페이스를 제공하는 전자 장치 및 그의 동작 방법
US10805690B2 (en) 2018-12-04 2020-10-13 The Nielsen Company (Us), Llc Methods and apparatus to identify media presentations by analyzing network traffic
US11126861B1 (en) 2018-12-14 2021-09-21 Digimarc Corporation Ambient inventorying arrangements
CN109448836A (zh) * 2018-12-27 2019-03-08 重庆科技学院 一种用于检测医疗健康的机器人及自助体检的方法
US11340758B1 (en) * 2018-12-27 2022-05-24 Meta Platforms, Inc. Systems and methods for distributing content
WO2020185707A1 (en) 2019-03-08 2020-09-17 goTenna Inc. Method for utilization-based traffic throttling in a wireless mesh network
US11962836B2 (en) 2019-03-24 2024-04-16 Apple Inc. User interfaces for a media browsing application
WO2020198221A1 (en) 2019-03-24 2020-10-01 Apple Inc. User interfaces for viewing and accessing content on an electronic device
US11057682B2 (en) 2019-03-24 2021-07-06 Apple Inc. User interfaces including selectable representations of content items
US11683565B2 (en) 2019-03-24 2023-06-20 Apple Inc. User interfaces for interacting with channels that provide content that plays in a media browsing application
CN109822595A (zh) * 2019-03-25 2019-05-31 杭州纳茵特科技有限公司 一种教育机器人
US11082380B2 (en) * 2019-05-24 2021-08-03 Universal City Studios Llc Systems and methods for providing in-application messaging
US11786694B2 (en) 2019-05-24 2023-10-17 NeuroLight, Inc. Device, method, and app for facilitating sleep
WO2020243645A1 (en) 2019-05-31 2020-12-03 Apple Inc. User interfaces for a podcast browsing and playback application
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
JP2022540067A (ja) 2019-06-28 2022-09-14 ドルビー ラボラトリーズ ライセンシング コーポレイション ハイダイナミックレンジ用映像コンテンツタイプメタデータ
US20210034907A1 (en) * 2019-07-29 2021-02-04 Walmart Apollo, Llc System and method for textual analysis of images
RU2724445C1 (ru) * 2019-08-23 2020-06-23 Самсунг Электроникс Ко., Лтд. Устройство и способ отслеживания положения глаза
US11698676B2 (en) 2019-08-23 2023-07-11 Samsung Electronics Co., Ltd. Method and electronic device for eye-tracking
KR102252084B1 (ko) * 2019-09-19 2021-05-17 주식회사 스켈터랩스 블랙보드 기반의 사용자 모델링을 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체
CN110991450A (zh) * 2019-12-03 2020-04-10 厦门亿合恒拓信息科技有限公司 电网设备信息的采集方法及计算机可读存储介质
CN111177587B (zh) * 2019-12-12 2023-05-23 广州地理研究所 一种购物街道推荐方法及装置
CN111127094B (zh) * 2019-12-19 2023-08-25 秒针信息技术有限公司 一种账户匹配方法、装置、电子设备和存储介质
CN111081270B (zh) * 2019-12-19 2021-06-01 大连即时智能科技有限公司 一种实时音频驱动的虚拟人物口型同步控制方法
EP3839880A1 (en) 2019-12-20 2021-06-23 Koninklijke Philips N.V. A system for performing ambient light image correction
US10839181B1 (en) 2020-01-07 2020-11-17 Zebra Technologies Corporation Method to synchronize a barcode decode with a video camera to improve accuracy of retail POS loss prevention
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
CN113296767A (zh) * 2020-04-07 2021-08-24 阿里巴巴集团控股有限公司 Ui组件的生成方法及装置、用户界面的处理方法及装置
US11501470B2 (en) 2020-05-27 2022-11-15 Microsoft Technology Licensing, Llc Geometric encoding of data
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
US11321797B2 (en) 2020-08-25 2022-05-03 Kyndryl, Inc. Wearable watermarks
CN111930846B (zh) * 2020-09-15 2021-02-23 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置及设备
CN112511848B (zh) * 2020-11-09 2023-06-20 网宿科技股份有限公司 直播方法、服务端及计算机可读存储介质
US11720229B2 (en) 2020-12-07 2023-08-08 Apple Inc. User interfaces for browsing and presenting content
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels
EP4039620A1 (en) * 2021-02-03 2022-08-10 ATS Automation Tooling Systems Inc. System and method for rotary drive curved track in a conveyor system
CN113379794B (zh) * 2021-05-19 2023-07-25 重庆邮电大学 基于注意力-关键点预测模型的单目标跟踪系统及方法
US20220383025A1 (en) * 2021-05-26 2022-12-01 International Business Machines Corporation Augmented reality translation of sign language classifier constructions
CN113360820B (zh) * 2021-05-29 2024-03-08 北京网聘信息技术有限公司 一种页面展示方法、系统、设备和存储介质
CN113657116B (zh) * 2021-08-05 2023-08-08 天津大学 基于视觉语义关系的社交媒体流行度预测方法及装置
CN113836397A (zh) * 2021-09-02 2021-12-24 桂林电子科技大学 一种购物篮个性化特征建模的推荐方法
CN113946701B (zh) * 2021-09-14 2024-03-19 广州市城市规划设计有限公司 一种基于图像处理的城乡规划数据的动态更新方法及装置
US11941860B2 (en) * 2021-09-24 2024-03-26 Zebra Tehcnologies Corporation Computational load mitigation for image-based item recognition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050165784A1 (en) * 2004-01-23 2005-07-28 Garrison Gomez System and method to store and retrieve identifier associated information content
US20080300011A1 (en) * 2006-11-16 2008-12-04 Rhoads Geoffrey B Methods and systems responsive to features sensed from imagery or other data
US20090116683A1 (en) * 2006-11-16 2009-05-07 Rhoads Geoffrey B Methods and Systems Responsive to Features Sensed From Imagery or Other Data
CN101533506A (zh) * 2009-04-24 2009-09-16 西安电子科技大学 一种鲁棒性的图像双水印方法

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311214B1 (en) 1995-07-27 2001-10-30 Digimarc Corporation Linking of computers based on optical sensing of digital data
JP4242529B2 (ja) * 1999-10-27 2009-03-25 オリンパス株式会社 関連情報呈示装置及び関連情報呈示方法
KR100330134B1 (ko) * 1999-12-29 2002-03-27 류명선 속도제한 경보 및 교통정보안내 시스템 및 방법
US6728312B1 (en) * 2000-04-13 2004-04-27 Forgent Networks, Inc. Adaptive video decoding and rendering with respect to processor congestion
WO2002032100A1 (en) * 2000-10-10 2002-04-18 Discrete Wireless, Inc. System and methods for conserving wireless resources
US6748360B2 (en) * 2000-11-03 2004-06-08 International Business Machines Corporation System for selling a product utilizing audio content identification
US6722569B2 (en) 2001-07-13 2004-04-20 Welch Allyn Data Collection, Inc. Optical reader having a color imager
KR20090037962A (ko) * 2001-08-15 2009-04-16 프리캐시 인크. 게시-가입 네트워크에서의 페이로드 조사 및 가입 처리를 통한 패킷 라우팅
WO2003044655A2 (en) 2001-11-19 2003-05-30 Koninklijke Philips Electronics N.V. Method and system for allocating a budget surplus to a task
US20030105827A1 (en) * 2001-11-30 2003-06-05 Tan Eng Siong Method and system for contextual prioritization of unified messages
KR100816589B1 (ko) * 2003-07-24 2008-03-24 올림푸스 가부시키가이샤 화상 처리 장치
US20060107219A1 (en) 2004-05-26 2006-05-18 Motorola, Inc. Method to enhance user interface and target applications based on context awareness
WO2006017659A2 (en) 2004-08-06 2006-02-16 Digimarc Corporation Fast signal detection and distributed computing in portable computing devices
JP2006091980A (ja) 2004-09-21 2006-04-06 Seiko Epson Corp 画像処理装置、画像処理方法および画像処理プログラム
US20100036717A1 (en) 2004-12-29 2010-02-11 Bernard Trest Dynamic Information System
JP2008527538A (ja) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド メッセージング・システム内のキャッシング・エンジン
US7873974B2 (en) * 2005-09-19 2011-01-18 Sony Corporation Identification of television programming using a portable wireless device
US7319908B2 (en) 2005-10-28 2008-01-15 Microsoft Corporation Multi-modal device power/mode management
US8849821B2 (en) * 2005-11-04 2014-09-30 Nokia Corporation Scalable visual search system simplifying access to network and device functionality
WO2007130688A2 (en) * 2006-05-10 2007-11-15 Evolution Robotics, Inc. Mobile computing device with imaging capability
US7787697B2 (en) 2006-06-09 2010-08-31 Sony Ericsson Mobile Communications Ab Identification of an object in media and of related media objects
US7680959B2 (en) * 2006-07-11 2010-03-16 Napo Enterprises, Llc P2P network for providing real time media recommendations
CN101246486B (zh) * 2007-02-13 2012-02-01 国际商业机器公司 用于改进的表达式处理的方法和装置
US8788529B2 (en) * 2007-02-26 2014-07-22 Microsoft Corp. Information sharing between images
US20080243806A1 (en) * 2007-03-26 2008-10-02 Roger Dalal Accessing information on portable cellular electronic devices
US7912444B2 (en) * 2007-04-23 2011-03-22 Sony Ericsson Mobile Communications Ab Media portion selection system and method
JP5380789B2 (ja) * 2007-06-06 2014-01-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8279946B2 (en) * 2007-11-23 2012-10-02 Research In Motion Limited System and method for providing a variable frame rate and adaptive frame skipping on a mobile device
US9224150B2 (en) * 2007-12-18 2015-12-29 Napo Enterprises, Llc Identifying highly valued recommendations of users in a media recommendation network
KR20090091549A (ko) * 2008-02-25 2009-08-28 주식회사 케이티 피사체의 위치정보가 포함된 사진 생성 장치 및 그 방법
US8417259B2 (en) * 2008-03-31 2013-04-09 At&T Mobility Ii Llc Localized detection of mobile devices
US8036417B2 (en) 2008-06-11 2011-10-11 Eastman Kodak Company Finding orientation and date of hardcopy medium
US20090315886A1 (en) * 2008-06-19 2009-12-24 Honeywell International Inc. Method to prevent resource exhaustion while performing video rendering
US8520979B2 (en) 2008-08-19 2013-08-27 Digimarc Corporation Methods and systems for content processing
US8805110B2 (en) 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
KR101680044B1 (ko) * 2008-08-19 2016-11-28 디지맥 코포레이션 콘텐트 처리를 위한 방법들 및 시스템들
CN102132341B (zh) * 2008-08-26 2014-11-26 杜比实验室特许公司 鲁棒的媒体指纹
US9788043B2 (en) * 2008-11-07 2017-10-10 Digimarc Corporation Content interaction methods and systems employing portable devices
US20100135417A1 (en) * 2008-12-02 2010-06-03 Asaf Hargil Processing of video data in resource contrained devices
JP2010134649A (ja) * 2008-12-03 2010-06-17 Canon Inc 情報処理装置、その処理方法及びプログラム
JP5315111B2 (ja) * 2009-03-31 2013-10-16 株式会社エヌ・ティ・ティ・ドコモ 端末装置、情報提示システム及び端末画面表示方法
US8886206B2 (en) 2009-05-01 2014-11-11 Digimarc Corporation Methods and systems for content processing
US9197736B2 (en) 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US8121618B2 (en) 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
US8694533B2 (en) * 2010-05-19 2014-04-08 Google Inc. Presenting mobile content based on programming context
US8781152B2 (en) * 2010-08-05 2014-07-15 Brian Momeyer Identifying visual media content captured by camera-enabled mobile device
US8359020B2 (en) 2010-08-06 2013-01-22 Google Inc. Automatically monitoring for voice input based on context

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050165784A1 (en) * 2004-01-23 2005-07-28 Garrison Gomez System and method to store and retrieve identifier associated information content
US20080300011A1 (en) * 2006-11-16 2008-12-04 Rhoads Geoffrey B Methods and systems responsive to features sensed from imagery or other data
US20090116683A1 (en) * 2006-11-16 2009-05-07 Rhoads Geoffrey B Methods and Systems Responsive to Features Sensed From Imagery or Other Data
CN101533506A (zh) * 2009-04-24 2009-09-16 西安电子科技大学 一种鲁棒性的图像双水印方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111880927A (zh) * 2017-12-05 2020-11-03 创新先进技术有限公司 一种资源分配方法、装置及设备
CN111880927B (zh) * 2017-12-05 2024-02-06 创新先进技术有限公司 一种资源分配方法、装置及设备
CN111667571A (zh) * 2020-06-08 2020-09-15 南华大学 核设施源项三维分布快速重建方法、装置、设备及介质
CN111667571B (zh) * 2020-06-08 2021-09-17 南华大学 核设施源项三维分布快速重建方法、装置、设备及介质
TWI777282B (zh) * 2020-09-30 2022-09-11 大陸商敦泰電子(深圳)有限公司 圖像採集方法、晶片及圖像採集裝置
US20220174800A1 (en) * 2020-11-27 2022-06-02 Savant Technologies Llc Method and Apparatus for Controlling Device, Smart Home Device, System, and Storage Medium
US11716803B2 (en) * 2020-11-27 2023-08-01 Savant Technologies Llc Method and apparatus for controlling device, smart home device, system, and storage medium

Also Published As

Publication number Publication date
KR20130118897A (ko) 2013-10-30
WO2012061760A2 (en) 2012-05-10
JP2014505896A (ja) 2014-03-06
JP2017108401A (ja) 2017-06-15
CN107103316B (zh) 2020-11-03
JP6572468B2 (ja) 2019-09-11
EP2635997A2 (en) 2013-09-11
WO2012061760A3 (en) 2012-06-28
US9183580B2 (en) 2015-11-10
CN103329147A (zh) 2013-09-25
JP6054870B2 (ja) 2016-12-27
US20120134548A1 (en) 2012-05-31
KR102010221B1 (ko) 2019-08-13
EP2635997A4 (en) 2015-01-07
CA2815944C (en) 2019-09-17
CA2815944A1 (en) 2012-05-10

Similar Documents

Publication Publication Date Title
CN107103316A (zh) 基于智能手机的方法和系统
US10658007B2 (en) Smartphone-based methods and systems
US10971171B2 (en) Smartphone-based methods and systems
US9354778B2 (en) Smartphone-based methods and systems
CN102216941B (zh) 用于内容处理的方法和系统
US9367886B2 (en) Smartphone arrangements responsive to musical artists and other content proprietors
US9218530B2 (en) Smartphone-based methods and systems
US20150286873A1 (en) Smartphone-based methods and systems
US20120154633A1 (en) Linked Data Methods and Systems
US20120224743A1 (en) Smartphone-based methods and systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant