本专利申请的优先权是美国临时专利(申请序号No.60/777,753),申请日期为2006年2月27日,标题为“发布、搜索、检索和捆绑一个数字对象的元数据的***和方法”,为参考和其它目的而附在后面。本发明还涉及美国非临时专利(申请号为__/___),申请日期为2007年2月27日本发明也申请到了美国非临时专利申请号,序列号为__/__,于2007年2月27日归档,标题为“DVD光盘指纹提取和识别的***和方法”,为了保持参考完整性也附在后面。
具体实施方式
本发明实施方案将与带参考编号的图纸一起描述,使业内人士能实践本发明。很明显,以下的图纸和实例并非要将本发明的范围限制在单一方案上,其它实施方案可以通过交换某些或全部说明描述的元件而实现。在方便之处,所有图中相同或相似的部件都用相同的参考编号注解说明。本实施方案的一些元件可以使用已知组件而部分或全部实施,仅仅对于理解本发明必需的已知组件的那些部分才会被描述到,这些已知组件的其它部分将不再详述,以避免模糊概念。在本专利说明中,显示一个单一组件的实施方案不应被视为限制,而本发明旨在包括其它实施方案,包括多数相同组件,反之亦然,除非在此另有详述。此外,申请人不想在本专利说明和权利要求中将任何术语定义为不常见的、特殊的意思,除非另有详述。而且,本发明通过例举的方式含括已有的和将有的同类组件。
本发明的实施方案提供了自动发布、搜索、检索和捆绑一个数字对象的元数据的***和方法。在以下的说明中,术语“数字对象”可替换性地代表一个数字文件或比特流。例如,存放在硬盘中的计算机文件与广播或流式视频媒体都可被认为是数字对象。
本发明的一些实施方案使用基于内容的识别码以唯一识别一个数字对象并将元数据与数字对象关联起来。基于内容的识别码又叫“数字指纹”或“指纹”,可以是一个唯一的代码、一个位串或是其他能够从数字对象本身中计算出来的唯一标识符。一个数字对象的基于内容的识别码,例如一个计算机文件,可以是它的二进制哈希值。在一些实施方案中,可以使用由RFC1321定义的MD5哈希值。本发明的一些实施方案能够使用在美国非临时专列申请序列号___/___文件中描述的数字指纹辨别技术,它于2007年2月27日提出申请,标题是“DVD光盘指纹提取和识别的***和方法”。
使用基于内容的识别码将数字对象与元数据相关联在本发明的一些实施方案中有非常明显的优势,尤其是当元数据从数字对象中分离出来时。一些优势是由于基于内容的识别码可以始终从数字对象中计算和再计算出来,因此可以用作这个数字对象的永久识别码。由于基于内容的识别码可以从数字对象中如一不变地计算出来,因此可以用作该数字对象的永久识别码。通过在整个***中参照这个基于内容的识别码,本发明可以方便发布、搜索、检索和捆绑相关数字对象的元数据。
元数据的发布
在一些实施方案中,元数据的发布包括对一个数字对象的基于内容的识别码与元数据一起打包到一个RSS feed(简易供稿)中。RSS就是在互联网上采用XML文件格式的内容聚合的例子。尽管RSS是从新闻头条聚合传播服务开始的,目前的RSS feed能够承载广泛的内容类型,包括新闻头条、论坛和博客、软件公告以及元数据。在最近几年里RSS在博客和播客服务中变得特别流行,它的一个称为媒体RSS或MRSS的扩展方案已被用来进行多媒体内容的聚合传播服务。
MRSS规范具体定义一个<媒体:哈希(media:hash)>标签,它可被视为基于内容的识别码。然而,对于数字媒体对象而言,二进制哈希值并不是一个好的识别码,因为它对数字对象中的每一个位的变化都相当敏感。本发明的一些实施方案使用MRSS上的一个扩展,它包括一个新的<媒介:识别码(media:ID)>标签,以使用MRSS发布带更广义的基于内容的识别码的数字媒体对象的元数据。
在一个RSS feed的例子里,元数据的发布中包含了新的ID识别标签,一部影评包含在元数据中,这个数字对象的标签为
ID=fcl 198178c3594bfdda3ca2996eb65cb。然后,XML编码可能呈以下形式:
<rss version=″2.0″xmlns:media=″http://search.yahoo.com/mrss″
xmlns:vobileMRSSext=″http://mrss.vobileinc.com/mrssext″>
<channel>
<title>My Movie Review</title>
<link>http://www.foo.com</link>
<description>I review movies.</description>
<item>
<title>Air Force One(1997):A great action movie?</title>
<link>http://www.foo.com/iteml.htm</Iink>
<media:content url=http://www.foo.com/trailer.mov
fileSize=″12216320″type=″video/mp4″expressions″sample″/>
<media:rating>R</media:rating>
<media:ID algo=″vobile″>
fcl198178c3594bfdda3ca2996eb65cb</media:ID>
</item>
</channel>
</rss>
在本例中,<media:ID>标签只是用来简单声明与元数据相关联的数字对象。限定词“algo=vobile”定义了对象识别码产生的算法。这是必要的,因为象哈希算法一样,基于内容的识别码也有可能通过不同的方法产生,‘algo’这一限定词就澄清了可能产生的混淆。
如在下一节中介绍的“搜索、检索和捆绑元数据,元数据发布中包含的基于内容的识别码让硬件/软件中的计算机或其它计算设备自动搜索和检索与其相关联的元数据成为可能。”
搜索、检索和捆绑元数据
在一些实施方案中,搜索与特定数字对象相关联的元数据可在计算机本地硬盘上、局域网路或英特网上进行。在例如计算机、数字录象机或用网络连接的数个计算设备上都可启动和执行搜索功能。此外,还可通过互联网搜索引擎进行搜索。在一些实施方案中,用户的以下行为可以启动一个搜索动作,包括:激活一个应用程序、导致一个应用程序执行程序、打开或尝试打开一个数字对象、***一张DVD或其他储存器以及复制数字对象。
在一些实施方案中,一次基于选定的基于内容的识别码的元数据搜索会尝试去发现与选定的基于内容的识别码相匹配的所有的元数据。当发现一个与元数据相关联的基于内容的识别码与选定的基于内容的识别码严格匹配时,元数据可被检索到并与基于内容的识别码相关联的数字对象进行捆绑。相比之下,传统意义上的搜索引擎,例如Google,会返回给用户无数页不同相关程度的搜索命中结果,用户必需不断翻页去寻找有关信息。
图1提供了一个流程图,以说明根据本发明一些层面的一个元数据搜索的例子。在步骤100,一个元数据搜索动作可在本地计算设备上启动并执行,如个人计算机或其他类似设备。举例来讲,从互联网上订阅了元数据RSS feed的视频播放软件可被配置成通过扫描本地硬盘来查找和导入视频对象文件。如果一个新的视频对象在步骤102被发现,流程继续执行。在步骤104,新发现的视频对象的基于内容的识别码能被计算出来。然后在步骤106,计算出来的基于内容的识别码就可被用来在本地磁盘上搜索与该基于内容的识别码相关或包括对象识别码的项目、文件和对象。如果元数据在步骤108被发现,那么元数据在109步骤中就可与视频对象捆绑起来。
在步骤110,可实现通过网络来搜索与对象识别码相关联的元数据。搜索可包括本地网络、互联网和其他网络。如果元数据在步骤112被发现,那么在步骤113就可与视频对象捆绑起来。
通过把元数据与视频数字对象链接的方式能够把元数据与视频对象(或其他数字对象)捆绑起来。捆绑不需要包括将元数据和数字对象捆绑在一个文件或是一个数据位流中。捆绑可以通过用数字对象以及相关联的元数据参照同样的基于内容的识别码。以图1为例,在步骤104中元数据可以通过创建一个以对象识别码命名或以其他形式相关联的表格与一个数字对象捆绑起来。
Item |
Location |
1 |
C:\My Documents\metadata\fcl198178c3594bfdda3ca2996eb65cb.xml |
2 |
http://meta.foo.com/fcl198178c3594bfdda3ca2996eb65cb/review.htm |
Table1:fcl198178c3594bfdda3ca2996eb65cb.tbl
例如,如果获取到的对象识别码是″fcl198178c3594bfdda3ca2996eb65cb″,那么表格用″fcl198178c3594bfdda3ca2996eb65cb.tbl″来命名。然后,任何搜索到的元数据、URL(统一资源定位符)、链接或识别找到的元数据的指针均可添加到表格中。表1记录了元数据与视频对象的捆绑。在表1例中,两组元数据被发现并捆绑。第一项识别了储存在本地硬盘驱动器上的一组元数据并且记录了它的文件路径。第二项识别了一组存在远程服务器上的元数据并且记录了它的URL。
在一些实施方案中,记录捆绑关系的表格可以做成将所有视频对象、关联的元数据或指向元数据的链接都存放在一个单一的表中,其中不同的对象可以被它们的内容对象识别码来识别。在一些实施方案中,捆绑关系可以存储在相关的数据库中。用来记录和保存基于内容的识别码以进行数据对象与元数据捆绑的其它方法都是经过深思熟虑的。以上实施例只为配合图解目的而提供。
在一些实施方案中,刚刚描述的方法可以自动地全部执行或部分执行。在一例中,所述方法可在用户的请求下执行。在另一例中,所述方法可以根据预定时间表,和/或在视频播放软件或其他视频处理软件启动时执行。至少在一些实施方案中,所述过程可在视频对象存放在本地磁盘驱动器上时自动启动。
图2提供了根据本发明一些方面的元数据搜索的另一例的流程图。在这一例中,元数据搜索是通过搜索引擎启动并执行的,例如Google,通常是对用户搜索请求的反应。在步骤200,用户把他要搜索的内容输入到搜索引擎中。在本例中,输入的是一个电影名“空军一号”。在步骤202,搜索引擎返回了一页或多页的搜索结果。图3显示了搜索结果第一页的内容。在步骤204,用户可能选择其中的一个搜索结果。在本例中,用户可以选择搜索结果中的“空军一号(1997)”,显示用户是想搜索名为“空军一号”的电影,搜索引擎拥有这个“空军一号”基于内容的对象识别码或是通过其他方式在步骤206获得。在步骤208,搜索引擎可以在数据库209中搜索所有与对象识别码相匹配的数据。如果在步骤210未找到相匹配的数据,那么搜索引擎仅返回到“空军一号(1997)”的选定页面。然而,当元数据被判定在步骤210搜索到时,那么在步骤212中元数据就会以一个新网页的形式提交给提出搜索的用户。所述新页面可列出识别出的电影的信息,其中可能会包括元数据和已知的识别出的电影下载链接。
图4说明了根据本发明一些层面的一个***。用户设备42、43和48可配置成与一个或多个网络40和45进行通讯。举个例子,一台个人计算机42可与互联网40、一个广域网或一个或多个本地网45连接起来。用户设备43可与一个或多个网络40和45进行无线适配连接,可包括移动计算设备,如笔记本计算机、PDA、媒体播放器、移动电话或其他类似的设备。在一些实施方案中,一台有线/***、DVR,DVD或者其他媒体播放器48可以被配置成与一个或多个网络40和45的连接。服务器41和44可以用来维护数据库410和440或其他存储***用来存放元数据。在一些实施方案中,服务器41和44可以存放表格和数据库以捆绑或链接与相应的数字对象有关的元数据。
用户设备42、43和48可以包括浏览器,它允许用户浏览一个或多个网络40和45来定位感兴趣和想要查询的数字对象。然后用户设备42、43和48可以计算或被计算产生一个针对内容的识别码以用来识别与已经定位的数字对象相关的元数据。针对内容的识别码可以在用户设备42、43和48的查询请求下通过服务器计算出来,或与数字对象同时被提供,尤其是当数字对象的提供者是一个可靠的来源之时。
本发明一些方面的补充说明
本发明的一些实施方案包含将元数据与一个数字对象进行捆绑的***和方法,其中包括从数字对象中撷取的数据计算出基于内容的识别码,基于内容的识别码可唯一识别数字对象,用计算出来的基于内容的识别码作为标签识别元数据,把识别出来的元数据与数字对象捆绑起来。在一些实施方案中,这些计算、识别和捆绑的步聚都是自动完成的。在一些实施方案中,数字对象是通过互联网搜索获取的。在一些实施方案中,数字对象的获取是对用户的搜索行为响应的结果。在一些实施方案中,数字对象是通过搜索本地存储器获取的。在一些实施方案中,元数据可在内容聚合供稿的元数据中识别到。在一些实施方案中,内容聚合供稿是一个内容简易供稿(RSS feed)。在一些实施方案中,元数据由网页提供。在一些实施方案中,元数据可从配置成以基于内容的识别码为索引的元数据的数据库中被识别到。在一些实施方案中,数字对象可以以流式视频节目的形式获取。在一些实施方案中,数字对象可以从一个或多个广播源上获取,广播源包括有线电视供应商、***供应商和UHF/VHF电视台。在一些实施方案中,撷取的数据中包括了一个视频对象,其中重复计算步骤可产生与第一次计算出的基于内容的识别码相等的重复计算的基于内容的识别码。在一些实施方案中,捆绑包括了在一个表格中记录识别出来的元数据的位置。在一些实施方案中,表格可以配置成用来记录被绑定的多个数字对象中元数据所处的位置。一些实施方案进一步包含多个表格的存放,每个表格与不同的数字对象关联,配置成记录元数据的位置,元数据有对应不同数字对象的基于内容的识别码作为标签。在一些实施方案中,识别元数据包括在网上通过使用计算出来的基于内容的识别码作为检索词。在一些实施方案中,识别元数据包括在本地存储器上通过使用计算出来的基于内容的识别码进行搜索。一些实施方案可通过使用自定义配置的媒体播放器来执行。一些实施方案的执行过程是对指令和存储器上的数据作出的回应。
一些实施方案包含一个媒体播放器,配置成为从一个数字对象撷取的数据中计算出一个基于内容的识别码,基于内容的识别码唯一地识别相对应的数字对象,识别用计算出的基于内容的识别码作为标签的元数据,并将识别的元数据与数字对象捆绑起来。在一些实施方案中,选定的数字对象是通过互连网检索后以网页的形式提供的。在一些实施方案中,选定的数字对象是从本地存储器上获取的。在一些实施方案中,元数据在RSS feed中被识别。在一些实施方案中,元数据是以页面的形式提供的。在一些实施方案中,被识别出的元数据被放在以基于内容的识别码为索引的存储器中。在一些实施方案中,选定的数字对象包含一个视频对象。在一些实施方案中,数字对象可来源于流式视频媒体。在一些实施方案中,数字对象可来源于广播电视。在一些实施方案中,媒体播放器是一台DVD机。在一些实施方案中,媒体播放器是作为应用程序提供在计算设备里。一些实施方案还包括一个浏览器,其中识别的元数据包括由浏览器以计算的基于内容的识别码为搜索词在互联网上搜索得到的元数据。
一些实施方案包含一个存有数据和指令计算机可读媒介,以捆绑元数据与数字对象,数据和指令导致计算机设备执行指令以从数字对象上撷取的数据中计算基于内容的识别码,基于内容的识别码可唯一地识别数字对象,识别以标签形式出现的包含计算出的基于内容的识别码的元数据,并将识别的元数据与数字对象捆绑起来。在一些实施方案中,数字对象可以是通过在网络上搜索后以网页的形式提供。在一些实施方案中,数字对象可以是通过搜索本地存储器而获得。在一些实施方案中,元数据在RSS feed中被识别。在一些实施方案中,识别的元数据是通过使用基于内容的识别码在数据库查询中获得。在一些实施方案中,数字对象是从视频流媒体上获得。在一些实施方案中,数字对象是可从一个或多个广播源上获取的视频对象,广播源包括电视供应商,***供应商。在一些实施方案中,媒介存有数据和指令从而让设备在表格里记录下识别的元数据位置。在一些实施方案中,表格配置成用来记录绑定到多个数字对象中的元数据的位置。在一些实施方案中,媒介存有数据和指令从而让设备保存多个表格,每张表格与不同的数字对象相关,并配置成用来记录元数据的位置,元数据用与数字对象相应的基于内容的识别码作为标签。在一些实施方案中,媒介存有数据和指令从而让设备在表格里记录下识别的元数据的位置。在一些实施方案中,媒介存有数据和指令从而让设备自动执行计算、识别和捆绑指令。在一些实施方案中,计算、识别和捆绑指令是根据预定的日程表自动进行的。在一些实施方案中,计算、识别和捆绑指令的自动执行是对用户查询行为作出的回应。
一些实施方案包含搜索与数字对象相关联的元数据的一种方法,包含从数字对象撷取的数据中计算出基于内容的识别码,并用所述基于内容的识别码作为搜索词进行元数据搜索,其中基于内容的识别码可唯一地识别数字对象的一些特征,搜索返回包括所述基于内容的识别码的元数据。在一些实施方案中,搜索包括互联网搜索。在一些实施方案中,搜索包括本地存储器搜索。在一些实施方案中,基于内容的识别码以“媒介:识别码(media:ID)”的形式被包括在返回的元数据中。在一些实施方案中,数字对象是从流式视频节目中获取的。在一些实施方案中,数字对象是从一个或多个广播源上获取的,广播源包括有线电视供应商、***供应商和UHF/VHF电视台。一些实施方案通过使用自定义配置的媒体播放器执行。一些实施方案的执行是对存储器设备上数据和指令作出的回应。
一些实施方案包含元数据发布的一种方法,其中包括用与数字对象关联的基于内容的识别码把元数据进行打包,并将打包的元数据发布在一个内容聚合供稿中,其中基于内容的识别码可唯一地识别数字对象的一些特征,被打包后的元数据包含了与数字对象有关的信息。在一些实施方案中,内容聚合供稿是一个内容简易供稿(RSS feed)。一些实施方案进一步包含了从数字对象中拮取的数据中计算基于内容的识别码。在一些实施方案中,打包包括了为一些元数据加入基于内容的识别码,作为media:ID。在一些实施方案中,撷取的数据包括了数字视频和可唯一地识别数字视频的基于内容的识别码。在一些实施方案中,数字视频包括了一个流式的视频节目。在一些实施方案中,数字对象可从一个或多个广播源上获取,广播源包括有线电视供应商、***供应商和UHF/VHF电视台。一些实施方案通过使用自定义配置的媒体播放器执行。一些实施方案的执行是对存储器设备上数据和指令作出的回应。
尽管本发明通过实施方案中的具体实施方案的参考图号已经有所描述,业内普通技术人士都能明显看出,在不脱离本发明更广阔的理念和范围的基础上,可对这些实施方案做出各种调整和改变。因此,规范和图纸均被视为是一个说明性而非限制性的意义。