专利名称:用于同步媒体的方法和系统的制作方法
技术领域:
本公开涉及媒体的媒体信息检索和同步。例如,本公开涉及音乐信息检索以及文本转录(textual transcription)或歌词同步,例如在卡拉OK的领域中。本公开还涉及其它形式的媒体的同步。
背景技术:
同步媒体(诸如音乐歌词)显示系统典型地包括歌词显示装置,其与音乐回放装置操作地耦接,并被音乐回放装置控制。在这些系统中,音乐回放装置知道当前播放的音乐音轨(audio track)中的当前时间位置。音乐音频时间位置被提供给歌词显示装置。歌词显示装置使用定时信息来确定对应的歌词文本位置,并显示对应的歌词文本用于用户与音乐音频同步地欣赏。广泛可得的卡拉OK系统以此方式操作。现有的同步媒体(例如歌词)系统典型地具有被设计为包括音乐回放装置的系统的构成部分的歌词显示装置,该系统通常在共享的物理壳体中、或者由共同的控制机构(诸如计算机程序)控制。偶遇任意环境或周边音乐源(例如,在咖啡馆、餐馆、汽车、商店等中)的音乐听众将没有办法欣赏同步媒体(例如歌词),除非在任意环境或周边源的音乐回放装置操作地耦接到集成的歌词显示装置。
发明内容
在一个方面,提供了一种同步媒体的方法。该方法包括客户端设备接收正被媒体渲染源渲染的媒体流的媒体样本,所述媒体样本与对应于所述媒体样本的采样时间的时间戳关联。所述方法还包括确定指示所述媒体流中对应于所述媒体样本的采样时间的时间位置的时间偏移,以及使用实时时间戳、所述媒体样本的时间戳以及所述时间偏移计算实时偏移,其中所述实时时间戳指示当前时间。所述方法还包括所述客户端设备在对应于所述实时偏移的位置渲染第二媒体流,以与正被所述媒体渲染源渲染的媒体流同步。在另一方面,提供了一种同步媒体的方法。所述方法包括客户端设备向位置识别模块发送正被媒体渲染源渲染的歌曲的音频样本。所述音频样本与对应于所述音频样本的采样时间的时间戳关联。所述方法还包括客户端设备从所述位置识别模块接收时间偏移,其指示所述歌曲中对应于所述音频样本的采样时间的时间位置。所述方法还包括使用实时时间戳、所述音频样本的时间戳以及所述时间偏移计算实时偏移,其中所述实时时间戳指示当前时间;接收所述歌曲的文本歌词;以及所述客户端设备在对应于所述实时偏移的位置渲染所述文本歌词,以与正被所述媒体渲染源渲染的歌曲同步。在再一方面,提供了一种非暂时性计算机可读介质,其中存储可由计算设备执行的指令,所述指令用于使得所述计算设备执行功能。所述功能包括客户端设备向位置识别模块发送正被媒体渲染源渲染的歌曲的音频样本。所述音频样本与对应于所述音频样本的采样时间的时间戳关联。所述功能还包括客户端设备从所述位置识别模块接收时间偏移,其指示所述歌曲中对应于所述音频样本的采样时间的样本的时间位置。所述功能还包括使用实时时间戳、所述音频样本的时间戳以及所述时间偏移计算实时偏移,其中所述实时时间戳指示当前时间;接收所述歌曲的文本歌词;以及所述客户端设备在对应于所述实时偏移的位置渲染所述文本歌词,以与正被所述媒体渲染源渲染的歌曲同步。在再一方面,提供了执行这里描述的方法的示例设备或系统。之前的总结仅是示例性的,并不意在作为任何方式的限定。在以上描述的示例方面、实施例和特征之外,其它方面、实施例和特征也将通过参考附图和以下的详细描述而变得明显。
·图I示出了用于识别媒体内容、并将数据与所识别的媒体内容同步的系统的一个示例。图2示出了用于同步媒体流的方法的说明性实施例的流程图。图3A-3B示出了用于识别媒体样本的媒体内容或时间偏移、并将数据与所识别的媒体内容同步的系统的示例。图4示出了用于将歌词与正被媒体渲染源渲染的歌曲同步的方法的说明性实施例的流程图。图5示出了音乐信息的示例。图6示出了用于识别媒体样本的媒体内容或时间偏移、并将数据与所识别的媒体内容同步的系统的另一示例。
具体实施例方式在下面的详细说明中,参考形成说明的一部分的附图。在附图中,类似的符号典型地标识类似的元素,除非另有声明。详细说明、附图和权利要求中描述的说明性实施例不意图为限制性。可以采用其它实施例,并且可以进行其它改变,而不偏离这里所呈现的主题的精神和范围。很容易理解,本公开的各方面(如这里一般描述以及在附图中图示的)可以大量不同的配置进行布置、替代、组合、分割以及设计,它们全部被本文明确预想到。在示例实施例中,提供了同步媒体的系统和方法。可以使用客户端设备(例如便携式客户端设备)来捕获正被媒体渲染源渲染的媒体流的样本。客户端设备可以使用参考时钟确定对应于正被捕获的媒体样本的采样时间的时间戳。采样时间可以优选是起始,但也可以是媒体样本的结尾、中间或任何其它预定时间。客户端设备可以向位置识别模块发送媒体样本,以确定时间偏移并可选地确定时间尺度比,该时间偏移指示媒体流中对应于媒体样本的采样时间的时间位置,该时间尺度比指示基于媒体流的参考速度的由媒体渲染源正渲染媒体流的速度。客户端设备可以使用指示当前时间的实时时间戳、媒体样本的时间戳、时间偏移、以及可选地使用时间尺度比,来计算实时偏移。客户端设备可以接着在对应于实时偏移的位置处渲染第二媒体流,以与正由媒体渲染源渲染的媒体流同步。例如,这里所描述的系统和方法可以被执行来基于第一媒体流的捕获样本控制第二媒体流的同步回放。在其它示例中,客户端设备包括麦克风,用以从媒体渲染源接收媒体流或记录。客户端设备还可以包括摄像机、振动传感器、无线电接收器、网络接口等中的任何一个,用以接收媒体流。
在一个示例中,系统和方法可以被用于使用移动音乐信息检索设备,而与周边播放的音乐同步地显示歌词,该移动音乐信息检索设备可以不被操作地耦接到音乐回放装置(播放周边音乐的装置)来确定对应于播放的音乐的定时信息。不需要来自音乐回放装置的定时信息。例如,音乐信息检索设备可被配置为识别播放的音乐,以及响应地检索和显示与音乐中的当前时间点同步的对应歌词,而不需要用户干预。现在参考附图,图I示出了用于识别媒体内容、并将数据与所识别的媒体内容同步的系统的一个示例。系统包括媒体渲染源102,其以任何已知的方式渲染和呈现来自媒体流的媒体内容。媒体流可以被存储在媒体渲染源102上、或者从外部源(诸如模拟或数字广播)接收。在一个示例中,媒体渲染源102可以是无线电台或电视内容提供商,其广播媒体流(例如音频和/或视频)和/或其它信息。媒体渲染源102还可以是以记录或现场格式播放音频媒体、显示视频媒体的任何类型的设备。在替代实施例中,例如,媒体渲染源102可以包括现场表演作为音频源和/或视频源。媒体渲染源102可以通过图形显示器、音频扬声器、MIDI乐器、操纵木偶(animatronic puppet)等、或者由媒体渲染源102提供的任何其它类型的表达,来渲染或呈现媒体流。客户端设备104通过包含媒体接收器106的样本捕获模块接收来自媒体渲染源102的媒体流的渲染。在图I中,媒体接收器106被显示为天线,并且媒体渲染源102将媒体流无线地广播到客户端设备104。然而,取决于媒体流的形式,媒体渲染源102可以使用无线或有线通信技术渲染媒体。在其它示例中,媒体接收器106可以包括麦克风、摄像机、振动传感器、无线电接收器、网络接口等中的任何一个。作为具体示例,媒体渲染源102可以播放音乐,并且客户端设备104可以包括麦克风,用以接收音乐的样本。除了接收媒体流的渲染,客户端设备104并非操作地耦接到媒体渲染源102。以此方式,客户端104不受媒体渲染源102控制,客户端设备104也不是媒体渲染源102的构成部分。在图I所示的示例中,客户端设备104是独立于媒体渲染源102的实体。客户端设备102捕获所渲染的媒体流的媒体样本。这可以自动发生而不需要用户干预,或者可以通过用户激活按钮或其它应用以触发样本捕获来进行。例如,客户端设备104的用户可以按下按钮以通过麦克风记录10秒的音频数字样本,或者使用相机捕获静止图像或视频序列。客户端设备104可以被实施为小型便携式(或移动)电子设备的一部分,所述电子设备诸如蜂窝电话、无线蜂窝电话、个人数据助理(PDA)、个人媒体播放器设备、无线上网(web-watch)设备、个人耳机设备、应用特定设备、或混合设备,它们包括上述功能中的任何功能。客户端设备104也可以实施为个人计算机,其包括膝上型计算机或非膝上型计算机配置两者。客户端设备104也可以是更大设备或系统的组件。客户端设备104被操作来捕获媒体渲染源102渲染的媒体流的部分,用于识别位置信息。作为示例,客户端设备104操作地耦接到服务器108,其包括位置识别模块110和可选的内容识别模块112。虽然图I示出了服务器108包括位置识别模块110和内容识别模块112两者,但例如,位置识别模块110和/或内容识别模块112中的任一者可以是与服务器108分离的独立实体。替代地,位置识别模块110和内容识别模块112两者可以是同一实体,或者位置识别模块110和内容识别模块112的功能可以由同一实体执行。此外,位置识别模块110和/或内容识别模块112可以位于客户端设备104中,或者可以在通过网络连接到客户端设备104的远程服务器上,如图I中所示。服务器108从客户端设备104接收媒体样本(通过有线或无线连接),并且位置识别模块110基于此时正被捕获的媒体样本识别对应的估计时间位置(Ts),该估计时间位置指示媒体样本在媒体流中的时间偏移。在某些示例中,Ts也可以是从媒体流的起始起经过的时间量。内容识别模块112也可以可选地执行对所接收的媒体样本的内容识别。如果标识不是已知的,则内容识别对媒体流中的内容进行识别,例如音乐声轨。内容识别模块112可被用在或者合并在任何示例媒体样本信息检索系统内,这些系统例如由英国伦敦的Shazam Entertainment、加州埃默里维尔的Gracenot、或加州圣何塞的Melodis提供。这些服务操作来接收环境音频的样本,识别音频样本的音乐内容,以及向用户提供关于音乐的信息,包括轨道名称、艺术家、专辑、封面(artwork)、传记、唱片分类目录、音乐会门票等。在这一点上,内容识别模块112包括媒体搜索引擎114,并可以包括或有权访问对参考媒体内容对象和记录(例如,音乐声轨、视频剪辑、电影和电视节目)进行索引的数据库116,以将接收到的媒体样本与存储的信息进行比较,从而识别所接收的媒体样本内的媒体内容。一旦已经识别了媒体流内的媒体对象,便可以将标识信息和其它元数据报告回到客户端设备104。元数据还可以包括数据和对其它有关内容和服务的超链接,包括推荐、广告、出价,以预览、标书签和购买音乐记录、视频、音乐会门票、以及奖赠内容;以及便利于在万维网上浏览、探究(exploring)和发现有关内容。替代地,客户端设备104可以从媒体渲染源102捕获媒体流的样本,并对该样本执行初始特征提取处理,以创建该媒体样本的指纹(fingerprint)。客户端设备104可以接着将指纹信息发送给位置识别模块110和/或内容识别模块112,其可以仅基于指纹信息而识别有关该样本的信息。以此方式,例如,可以在客户端设备104、而不是在位置识别模块110和/或内容识别模块112执行更多的计算或识别处理。如所述,数据库116可以包括许多媒体内容对象,每个媒体内容对象可以由唯一的标识符(例如souncLID)识别。数据库116可以不一定为每个记录存储实际媒体内容(诸如音频或视频文件),因为可以使用sound_ID从其它地方检索文件。然而,在某些实施例中,数据库116可以存储媒体内容文件。媒体内容数据库索引可以非常大,例如包含用于数百万或者甚至数十亿的文件的索引。可以递增地将新内容添加到数据库索引中。数据库116还可以包括用于每个存储的音频、视频或媒体文件、或者用于每个存储的媒体索引的信息。例如,可以与每个文件一起存储元数据,其指示关于文件的信息,诸如艺术家名字、歌曲的长度、歌曲的歌词、歌词的行或词的时间索引、专辑封面、或文件的任何其它识别或有关信息。
图I的系统允许捕获的媒体样本的时间偏移被识别,并且允许基于存储的信息识别媒体样本。虽然图I示出了具有给定配置的系统,但可以其它方式布置系统内的组件。例如,媒体搜索引擎114可以独立于内容识别模块112,或者媒体样本处理可以发生在客户端104或服务器108。因此,应该理解,这里所述的配置本质上仅是示例,并且还可以使用许多
替代配置。图I中的系统、尤其是位置识别模块110可以识别媒体流内的媒体样本的偏移。可选地,系统可被用于使用内容识别模块112,使用媒体流内的媒体样本来识别媒体流中的内容。本领域中已知各种媒体样本识别技术,用于使用媒体内容对象的数据库执行媒体样本和媒体样本的特征的计算内容识别。以下的美国专利和公布描述了媒体辨识技术的可能示例,并且通过引用将每一个都完整地合并到这里,如同在此说明书中完整地记载一·样Kenyon 等,美国专利 No. 4, 843, 562,题为 “Broadcast Information ClassificationSystem and Method” ;Kenyon,美国专利 No.4,450,531,题为“Broadcast SignalRecognition System and Method” ;Haitsma 等,美国专利申请公布 No. 2008/0263360,题为 “Generating and Matching Hashes of Multimedia Content,,;Wang 和 Culbert,美国专利 No. 7,627,477,题为 “Robust and Invariant Audio Pattern Matching,,;Wang, Avery,美国专利申请公布 No. 2007/0143777,题为 “Method and Apparatus forIdentification of Broadcast Source” ;Wang 和 Smith,美国专利 No. 6, 990, 453,题为“System and Methods for Recognizing Sound and Music Signals in High Noiseand Distortion” ;以及 Blum 等,美国专利 No. 5,918,223,题为“Method and Article ofManufacture for Content-Based Analysis, Storage, Retrieval, and Segmentation ofAudio Information,,。简要地,通过接收媒体记录和采样媒体记录而开始识别媒体记录。例如,将该记录与数字化且归一化的参考信号片段相关,以获得针对每个作为结果的相关片段的相关函数峰,从而当相关函数峰之间的间隔在预定限值内、并且与相关函数峰一致的RMS功率值的模式(pattern)在来自数字化的参考信号片段的RMS功率值的模式的预定限值内匹配时提供辨识信号,如在美国专利No. 4,450,531中所述。因此识别了匹配的媒体内容。此外,例如,媒体内容中的媒体记录的匹配位置由匹配相关片段的位置以及相关峰的偏移给出。在另一示例中,一般地,可以通过识别或计算媒体样本的特性或指纹以及将指纹与之前识别的指纹进行比较而识别媒体内容。样本内计算指纹的特定位置取决于样本中的可再现点。这种可再现地可计算位置称为“界标(landmark)”。界标在样本内的位置可以由样本本身确定,即取决于样本质量并且可再现。即,每次重复处理时,可以针对同一信号计算相同或类似的界标。加界标方案可以对每秒声音记录标记约5至约10个界标;然而,力口界标密度取决于媒体记录内的活动量。一个加界标技术(公知为功率规范(Power Norm))是在记录中的许多时间点计算瞬时功率,并选择局部最大值。这么做的一个方法是通过直接对波形进行整流和滤波而计算包络。另一方法是计算信号的希尔伯特(Hilbert)变换(求积分),并使用希尔伯特变换和原始信号的平方大小的和。也可以使用计算界标的其它方法。一旦已经计算了界标,在记录中的每个界标时间点或其附近计算指纹。通过所使用的指纹识别(fingerprinting)方法定义特征与界标的接近度。在某些情况中,如果特征清楚地对应于界标并且不对应于前一或后一界标,则认为该特征接近该界标。在其它情况中,特征对应于多个相邻界标。指纹一般是一个值或值的集合,其总结记录中在该时间点或其附近的特征的集合。在一个实施例中,每个指纹是单个数值,其是多个特征的散列(hashed)函数。指纹的其它示例包括频谱片指纹、多片指纹、LPC系数、对数倒谱(cepstral)系数、以及频谱图峰的频率分量。可以通过对信号的任意类型的数字信号处理或频率分析来计算指纹。在一个示例中,为了生成频谱片指纹,在每个界标时间点附近执行频率分析,以提取最上几个频率峰。指纹值从而可以是最强频谱峰的单频率值。关于计算音频样本的特性或指纹的更多信息,读者可以参考授权给Wang和Smith的美国专利No. 6, 990, 453,题为“System and Methodsfor Recognizing Sound and Music Signals in High Noise and Distortion,,,通过弓I用将其全文合并到这里,如同在该说明书中全文记载一样。因此,内容识别模块112将接收样本并计算样本的指纹。内容识别模块112可以通过与附加的辨识引擎通信而计算指纹。为了识别样本,内容识别模块112可以接着访问 数据库116,以通过如下方式将样本的指纹与已知音轨的指纹匹配生成数据库116中的文件与等效指纹之间的对应关系来定位一文件,该文件具有最大数目的线性地有关的对应关系,或者其特性指纹的相对位置最严密地匹配样本的相同指纹的相对位置。即,识别界标对之间的线性对应关系,并根据线性地有关的对的数目对集合计分。例如,当可以在允许的容限内利用基本相同的线性等式描述统计上大量的对应样本位置和文件位置时,可以发生线性对应关系。具有最高统计上重要的得分的集合(即具有最大数目的线性地有关的对应关系)的文件是胜出的文件,并被认为是匹配的媒体文件。作为识别媒体流内的内容的技术的再一示例,可以使用局部匹配技术分析媒体样本,以识别其内容。例如,一般地,可以通过首先匹配从相应的样本导出的某些指纹对象来表征两个媒体样本之间的关系。针对每个媒体样本生成指纹对象的集合,每个指纹对象发生在特定位置。根据相应媒体样本的内容确定每个位置,并且每个指纹对象表征相应特定位置处或附近的一个或多个局部特征。接着,针对每对匹配的指纹对象确定相对值。接着生成相对值的直方图。如果发现统计上重要的峰值,则将这两个媒体样本表征为基本匹配。此外,可以确定时间拉伸比,其表示与原始音轨相比,音频样本已被加速或减慢多少。对于此方法更详细的说明,读者可以参考授权给Wang和Culbert的美国专利No. 7,627,477,题为“Robust and Invariant Audio Pattern Matching”,通过引用将其全文合并于此,如同在该说明书中全文记载一样。此外,在以上公布中描述的系统和方法可以不仅返回媒体样本的标识。例如,使用授权给Wang和Smith的美国专利No. 6,990, 453中描述的方法,除了可以返回关联于所识别的音轨的元数据之外,还可以返回从所识别的样本的起始起的媒体样本的相对时间偏移(RT0),称为估计的所识别的媒体流位置Ts。为了确定记录的相对时间偏移,可以将样本的指纹与指纹所匹配的原始文件的指纹比较。每个指纹出现在给定时间,从而在匹配指纹以识别样本之后,(样本中的匹配指纹的)第一指纹与存储的原始文件的第一指纹之间的时间差将是样本的时间偏移,例如进入到歌曲中的时间量。因此,可以确定取得样本的相对时间偏移(例如,67秒进入到歌曲中)。也可以使用其它信息来确定RT0。例如,可以考虑直方图峰值的位置作为从参考记录的起始到样本记录的起始的时间偏移。
还可以根据媒体样本的类型执行其它形式的内容识别。例如,可以使用视频识另Ij算法来识另Ij视频流(例如电影)内的位置。Oostveen, J.等的“Feature Extractionand a Database Strategy for Video Fingerprinting,,,Lecture Notes in ComputerScience (计算机科学中的讲稿),2314 (2002年3月11日),117-128页中描述了示例视频识别算法,通过引用将其全部内容合并于此。例如,可以通过确定哪个视频帧被识别而导出视频样本到视频中的位置。为了识别视频帧,可以将媒体样本的帧划分为行和列的网格,并且对于网格的每个块,计算像素的亮度值的平均值。可以将空间滤波器应用到计算的平均亮度值,以导出网格的每个块的指纹比特。指纹比特可被用于唯一地识别帧,并且可被与包括已知媒体的数据库的指纹比特进行比较或匹配。可以将从帧中提取的指纹比特称为子指纹,并且指纹块是来自连续帧的固定数据的子指纹。使用子指纹和指纹块,可以执行视频样本的识别。基于媒体样本包括哪个帧,可以确定进入到视频中的位置(即时间偏移)。此外,也可以执行其它形式的内容和/或位置识别,诸如使用加水印方法。可以通过位置识别模块110使用加水印方法来确定时间偏移,使得媒体流可已经不时地嵌入水印,并且例如,每个水印通过直接地或经由数据库查找而间接地指定水印的时间或位置。替代地,如果媒体流包括直接或间接地指示时间或位置偏移值的所嵌入的水印,则客户端设 备104可以确定正被渲染的媒体的样本的时间偏移,而无需与位置识别模块110进行通信。在每个前述用于实施内容识别模块112的功能的示例内容识别方法中,识别处理的副作用可能是媒体样本在媒体流内的时间偏移(例如,估计的所识别的媒体流位置!;)。因此,在这些情况中,位置识别模块110可以与内容识别模块112相同,或者可以通过内容识别模块112执行位置识别模块110的功能。因此,用户可以从客户端设备104向位置识别模块110发送位置识别查询,位置识别模块110可以使用这里描述的任何技术来将与内容有关的信息返回到客户端设备104,并且可选地,可访问内容识别模块112来识别内容。这里所描述的示例实施例适用于任何类型的媒体流,例如预录或现场音乐、音频、视频、音频和视频的组合、或者任何其它类型的遵循媒体流中的位置的时间线的媒体或事件序列。示例实施例还适用于任何格式的媒体流,例如,CD,DVD上的媒体、压缩的数字媒体、MIDI文件、动画序列、控制序列、脚本、幻灯片
坐寸ο在其它示例中,客户端设备104或服务器108还可以访问媒体流库数据库118,以选择对应于所采样的媒体的媒体流,其接着可被返回给客户端设备104以被客户端设备104渲染。媒体流库数据库118可以位于客户端设备104中或服务器108中,或者替代地,客户端设备104和服务器108之一或两者均可以通过网络连接到媒体流库数据库118。在图I中,例如,媒体流库数据库118被显示为连接到服务器108。此外,媒体流库数据库118中的信息或媒体流库数据库118本身可被包括在数据库116内。媒体流库数据库118中的对应于媒体样本的媒体流可由客户端设备104的用户手动选择,由客户端设备104编程地选择,或者由服务器108基于例如内容识别模块112确定的媒体样本的标识而选择。所选择的媒体流可以是与媒体样本不同类型的媒体,并且可以与媒体渲染源102正在渲染的媒体同步。例如,媒体样本可以是音乐,并且所选择的媒体流可以是歌词、乐谱、吉他符号谱、音乐伴奏、视频、操纵木偶舞蹈、动画序列等,它们可以与音乐同步。客户端设备104可以接收所选择的对应于媒体样本的媒体流,并且可以与正被媒体渲染源102渲染的媒体同步地渲染所选择的媒体流。正被媒体渲染源102渲染的媒体的估计时间位置由位置识别模块110确定,并被用于确定所选择的媒体流内渲染所选择的媒体流的对应位置。客户端设备104可以接着与正被媒体渲染源102渲染的媒体同步地渲染和呈现所选择的媒体流。客户端设备104可以包括位置追踪模块120,以确保两个媒体流之间的精确同步。当触发客户端设备104捕获媒体样本时,从客户端设备104的参考时钟记录时间戳(Ttl)15在任意时间t,从估计的所识别的媒体流位置Ts加上从时间戳的时间起经过的时间而确定估计的实时媒体流位置I; (t)Tr (t) = Ts+t-T0 等式(I)Tr (t)是从参考点(诸如媒体流的起始)至媒体流的当前正被渲染的实时位置经过的时间量。因此,使用Ts (即,从媒体流的起始至媒体流的基于记录的样本的位置的估计的·时间经过量),可以计算Tr(t)。接着,客户端设备104使用Tr(t)来与正被媒体渲染源102渲染的媒体同步地呈现所选择的媒体流。例如,客户端设备104可以在时间位置TJt)处或者在使得已经经过了时间量TJt)的位置处开始渲染所选择的媒体流。位置追踪可能由于许多原因而丧失同步。在一个实例中,媒体流可能被媒体渲染源102以非预期的速度渲染。例如,如果正在未校准的唱机转盘或CD播放器上播放音乐记录,则音乐记录可能被比预期的参考速度播放得更快或更慢,或者以与存储的参考媒体流不同的方式播放。或者,有时,DJ可能有意地改变音乐记录的速度,以获得一定的效果,诸如匹配多个轨道之间的节奏。在这样的情况中,随着t增大,估计的位置I;(t)可能变得不正确,结果,选择的媒体流可能丧失同步。作为参考速度的示例,CD播放器被预期以每秒44100个样本而渲染;45RPM黑胶唱片被预期在唱机转盘上以每分钟45转而播放;并且NTSC视频流被预期以每秒60帧而播放。在某些实施例中,为了减轻或阻止所选择的媒体流丧失与媒体渲染源102正在渲染的媒体的同步,可以根据速度调整比率R调整估计的位置TJt)。例如,在美国专利No. 7,627,477,题为“Robust and invariant audio pattern matching”(通过引用将其全部内容合并于此)中描述的方法可被执行来识别媒体样本、所估计的识别的媒体流位置Ts、和速度比率R。为了估计速度比率R,计算匹配指纹的变化部分的交叉频率(cross-frequency)比率,并且,因为频率与时间成反比,所以交叉时间比率是交叉频率比率的倒数。交叉速度比率R是交叉频率比率(例如,交叉时间比率的倒数)。更具体地,使用上述方法,可以通过生成样本的时间-频率频谱图(例如,计算傅里叶变换以生成每个帧中的频率分布(bin))并识别频谱图的局部能量峰,来表征两个音频样本之间的关系。与局部能量峰有关的信息被提取和总结到指纹对象的列表中,每个指纹对象可选地包括位置字段、变化成分、和不变成分。从各个音频样本的频谱图导出的某些指纹对象可接着被匹配。针对每对匹配的指纹对象来确定相对值,其例如可以是各个音频样本的参数值的商或对数差。在一个示例中,从媒体样本的频谱图中选择频谱峰的局部对,并且每个局部对包括指纹。类似地,从已知媒体流的频谱图中选择频谱峰的局部对,并且每个局部对包括指纹。确定样本和已知媒体流之间的匹配指纹,并计算针对样本和媒体流中的每个的频谱峰之间的时间差。例如,样本的两个峰之间的时间差被确定并与已知媒体流的两个峰之间的时间差进行比较。可以确定这两个时间差的比率,并可以生成包括这样的比率(例如从匹配的指纹对中提取)的直方图。可以将直方图的峰值确定为实际速度比率(例如,媒体渲染源102正在播放媒体的速度与渲染参考媒体文件的参考速度相比的比率)。因此,可以通过找到直方图中的峰值(例如,使得直方图中的峰值将两个音频样本之间的关系表征为相对节距(pitch),或者在线性拉伸的情况下表征为相对回放速度)而获得速度比率R的估计。替代地,可以从来自样本和已知媒体流的匹配指纹的频率值确定相对值。例如,样本的一对频谱图峰的锚点的频率值被确定并与媒体流的一对频谱图峰的锚点的频率值进行比较。可以确定这两个频率值的比率,并且可以生成包括这种比率(例如从匹配的指纹对中提取)的直方图。可以将直方图的峰值确定为实际速度比率R。在等式中,Rf等式(2)
hk·其中f 和fs是匹配指纹的变化频率值,如Wang和Culber的美国专利No. 7,627,477中所描述的,通过引用将其全文合并于此。因此,可以使用来自两个音频样本的对应变化成分从匹配的指纹对象估计全局相对值(例如,速度比率R)。变化成分可以是从每个指纹对象的位置附近的局部特征确定的频率值。速度比率R可以是频率或时间增量(delta time)的比率,或者是导致用于描述两个音频样本之间的映射的全局参数的估计的某些其它函数。例如,速度比率R可以被认为是相对回放速度的估计。也可以使用其它方法估计速度比率R。例如,可以捕获媒体的多个样本,并且可以对每个样本执行内容识别,以针对第k个样本,在参考时钟时间TciGO获得多个估计的媒体流位置Ts (k)。从而,R可以被估计为
TAk)- TADRk=八⑷、⑴等式(3)为了将R表现为随时间变化的,可以使用以下等式
/;, {/() - \ [k -1)k - 7:⑷丨)等式(4 )因此,可以使用在时间跨度上估计的时间位置1;来计算速度比率R,以确定媒体渲染源102正在渲染媒体的速度。使用速度比率R,可以将实时媒体流位置的估计计算为Tr (t) = Ts+R(t-T0) 等式(5)实时媒体流位置表示媒体样本的时间位置。例如,如果媒体样本来自于具有4分钟长度的歌曲,并且如果i;(t)是 分钟,则其表示歌曲已经经过了 分钟。图I中的系统还可以包括间断检测模块122,其可以包含在客户端设备104和/或服务器108内,或者间断检测模块122的功能例如可以可选地由客户端设备104的组件和/或服务器108的组件执行。替代地,如图I中所示,间断检测模块122可以是例如使用无线或有线通信技术与客户端设备104和/或服务器108通信的独立实体。间断检测模块122可以检测正被媒体渲染源102渲染的媒体流是否被意外地中断。这可能在如下情况中发生例如,在媒体渲染源102上改变了频道,或者某人停止了媒体流的播出或者跳到媒体流中的不同位置。如果从媒体库数据库118选择的媒体流将继续播放,则这两个媒体流将丧失同步或不连贯。间断检测模块122可以停止所选择的媒体流或者尝试重新同步这两个媒体流。因此,间断检测模块122可以验证是否正与正被媒体渲染源102渲染的媒体流同步地渲染所选择的媒体流。如以上作为示例方法所描述的,可以通过执行周期性的位置和/或内容识别采样以计算速度比率R,来实施间断检测模块122的功能,并且因此,间断检测模块122可以与服务器108通信。如果在某点上,内容识别不再成功,则正被媒体渲染源102渲染的媒体流已经停止。或者,如果不同的媒体流被识别,则可能频道改变,正在播放新的轨道,等等。为了确定正被媒体渲染源102渲染的媒体流中的间断,间断检测模块122可以周期性地从客户端设备104接收媒体样本,并且对媒体样本执行指纹提取。间断检测模块122也可以从位置识别模块110接收信息,该信息包括对准文件,该对准文件包括贯穿媒体流的参考媒体流的多个指纹。间断检测模块122可以接着将从周期性地接收的媒体样本提取的指纹与对准文件中的指纹进行比较,以确定正被媒体渲染源102渲染的媒体流是否已被 中断。当未发现可识别的指纹匹配时,间断检测模块122可以确定媒体流已被中断或结束。例如也可以使用上述方法或者授权给Wang和Smith的美国专利No. 6,990, 453中描述的方法来执行指纹匹配。此外,间断检测模块122可以(从内容识别模块112)获知媒体流的内容识别,并因此可以接收用于媒体流的指纹的文件。间断检测模块122将预计某些指纹在预定时间会出现在样本中,并且,如果未见到预期的指纹,则可以确定间断。例如,如果已经经过了某一时间量而没有预定指纹匹配,则可以确定间断。在确定了间断的类型时,间断检测模块122可以进行多个事情之一。在一个示例中,基于速度漂移的检测,间断检测模块122可以对速度比率R进行调整,从而执行媒体流的重新同步。在另一示例中,基于大间断的检测,间断检测模块122可以使用位置识别模块110重新对准媒体流,以便执行媒体流的重新同步。在再一示例中,间断检测模块122可以使用内容识别模块112来检测新媒体流,并选择不同的匹配的媒体流和新流中的新位置用于同步。在另一示例中,如果位置和/或内容识别失败,间断检测模块122可以指示客户端设备104停止渲染所选择的媒体。例如,客户端设备104可以从间断检测模块122接收通知,并接着停止显示所选择的媒体流或改变为显示从媒体流库数据库118中选择的新媒体流,该新媒体流与正从媒体渲染源102渲染的新媒体流同步。间断检测模块122可以因此替代地执行或指示客户端设备104执行对从媒体库数据库118选择的媒体与正被媒体渲染源102渲染的媒体的对准的更新。间断检测模块122可以基于错误预测的指纹匹配的对准而确定调整所选择的媒体在客户端设备104上的渲染的偏移值,使得将所选择的媒体与媒体渲染源102对媒体流的渲染重新对准和同步。替代地,如果间断检测模块122不再识别到来自周期性地接收的媒体样本的指纹与对准文件中的指纹的匹配,则间断检测模块122可以告知客户端设备104执行从媒体流库数据库118选择的媒体与媒体渲染源102正渲染的媒体的重新同步。为了这么做,客户端设备104可以重新执行以下方法捕获媒体的新样本并将新样本发送到位置识别模块110,以确定时间偏移。
仍然,替代地,基于指纹匹配的连续缺失,间断检测模块122可以确定媒体流不再被渲染(例如如果位置检测模块110未检测到匹配的时间偏移),并因此例如可以指示客户端设备104停止渲染所选择的媒体,或者执行新内容识别。客户端设备104可以发送新样本给内容识别模块112,以识别正被媒体渲染源102渲染的新媒体流。如果识别的媒体流已改变,则客户端设备104可以从媒体流库数据库118选择新媒体流,其对应于要被客户端设备104同步渲染的媒体样本。图2示出了用于同步媒体流的方法200的说明性实施例的流程图。应该理解,对于这里公开的此以及其它处理和方法,流程图示出了当前实施例的一个可能的实施方式的功能和操作。在这一点上,每个方框可以表示程序代码的模块、片段或部分,其包括可由处理器执行用于实施处理中的特定逻辑功能或步骤的一个或多个指令。程序代码可以存储在任何类型的计算机可读介质中,例如存储设备,包括盘或硬盘驱动器。计算机可读介质可以包括非暂时性计算机可读介质,例如,短时段内存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和随机存取存储器(RAM)。计算机可读介质也可以包括非暂时性介质,诸如二次或永久长期存储装置,如只读存储器(ROM)、光或磁盘、光盘只读存储器 (CD-ROM)。计算机可读介质也可以是任何其它易失性或非易失性存储系统。例如,计算机可读介质可以被认为是计算机可读存储介质。此外,图2中每个方框可以表示被布线以执行处理中的特定逻辑功能的电路。替代的实施方式包含在本公开的示例实施例的范围内,其中,可以不以所显示或说明的顺序执行功能,包括基本同时或以相反顺序执行,这取决于所涉及的功能,如本领域的技术人员所理解的。初始地,在方框202,客户端设备接收正被媒体渲染源渲染的媒体流的媒体样本。客户端设备可以在媒体流被渲染时通过记录媒体样本而接收媒体样本。媒体样本与时间戳关联或具有时间戳,该时间戳对应于媒体样本的采样时间。例如,客户端设备可以捕获正被渲染的媒体流的样本,并且基于客户端设备上的时钟记录样本被记录的时间。接着可以确定媒体样本的时间偏移,其指示媒体流中对应于媒体样本的采样时间的时间位置,如在方框204所示。例如,客户端设备可以将媒体流的样本发送到位置识别模块,该位置识别模块将返回媒体样本的识别和时间偏移。替代地,客户端设备可以确定时间偏移。可选地,接着确定时间尺度比,其指示基于媒体流的参考速度的由媒体渲染源渲染媒体的速度,如在方框206所示。时间尺度比可以由客户端设备或者由服务器确定,并被返回给客户端设备。时间尺度比不是同步媒体流所必须的;然而,在某些实施例中可以包括时间尺度比。接着使用实时时间戳、媒体样本的时间戳、时间偏移、以及可选地使用时间尺度t匕,来确定指示当前时间的实时偏移,如方框208中所示。可以使用上述等式(I)或等式(4)计算实时偏移。客户端设备可以接着在对应于实时偏移的位置处渲染第二媒体流,以与正被媒体渲染源渲染的媒体流同步,如方框210所示。客户端设备可以接收第二媒体流,或者可以例如基于正被媒体渲染源渲染的媒体流的标识而从客户端设备的存储器(例如本地存储装置)或者从数据库选择第二媒体流。第二媒体流可以与正被媒体渲染源渲染的媒体流有关,并且可以基于媒体流的内容识别而被选择。在某些示例中,第二媒体流可以是对应于识别的媒体流的歌词。替代地,第二媒体流可以是任何类型的媒体流,例如电影、声轨、歌词、文本、视频剪辑、图片、幻灯片、文档等。在一个实施例中,可以执行方法200来将歌曲歌词在第一设备上的显示与正被第二设备或媒体渲染源播放的歌曲同步。第一设备 的用户因此可以实时地观看对应于识别的周边音乐的歌词。可以在与周边音乐同步的时间位置处显示歌词文本。在一个示例中,当歌曲正被第二设备播放时,可以在第一设备的显示器上滚动歌词文本,使得当该歌词被歌唱时显示歌词文本。在此示例中,提供用于向用户触发信息传送事件的方法和系统。收听任何媒体渲染源(例如在家中收听流行音乐的商业无线电广播)的用户可能感兴趣于随同正播放的特定歌曲一起歌唱,并因此期望获得歌曲歌词。使用采样设备(诸如移动(或蜂窝)电话、录影机、相机、个人数字助理(PDA)或掌中宝),用户捕获媒体渲染源的样本,并例如将样本发送到服务提供商。为了发送样本,用户可以拨打预定电话号码以访问服务,并接着将电话听筒保持在音频信号源(即,用户的家用立体声系统的扬声器)的可听距离内,以捕获环境的样本。在此示例中,经验环境包括在用户的家用立体声系统上播放的音乐。替代地,用户可以使用采样设备来记录正被播放的音乐的样本,并可以将样本发送到服务器。服务提供商或服务器采用的系统使用辨识引擎来将捕获的样本与数据库中的音乐记录进行比较,以识别歌曲并因此为用户触发期望的事件。在此示例中,触发的事件是将对应于从捕获的样本辨识的歌曲的歌词信息传送给用户。可以实时和延迟模式的多种不同的方式完成事件的实现,S卩,将期望的歌曲歌词传送给用户。在实时模式中,传送歌词数据,使得用户可以阅读歌词,以在广播歌曲时及时地随同歌曲而歌唱。因此,对应于捕获的样本的歌曲的数据被从数据库读出,并被服务提供商发送给能够显示文本的用户设备。取决于显示设备和用户偏好,可以批量布置的方式发送歌词的实时传送,在批量布置中同时下载整个歌词数据或者相对大的部分,或者,使用分离布置发送歌词的实时传送,在分离布置中,自动将歌词数据与歌曲同步,并且随着歌曲的前进而分片地发送给用户。对于批量传送,用户可以选择将歌词的显示与正被播放的歌曲同步(使得在广播中的歌曲表演者歌唱或说出歌词之前以合适的时间间隔显示歌词),或者,在某些应用中,用户设备可以配置为执行批量发送的同步。服务提供商可以发送歌词数据,以自动与广播歌曲同步,而用户或用户设备不需要任何动作。通过导出捕获的样本在辨识的歌曲中的时间位置而实现这样的自动同步,并且例如接着可以随着歌曲前进而分片地将歌词发送到用户设备。事件实现的延迟模式包括在歌曲广播之后的某个时间传送对应于采样的歌曲的歌词。可以与被表征为更耗时的传送方法(诸如,邮件、邮递(courier)以及传真传输)一起使用与利用实时模式相同的传送方法。在示例实施例中,可以通过语音或触摸音调(即DTMF音调)收集附加用户输入,以进一步控制歌词传送或触发附加事件,诸如交易事件。例如,通过分别经由捕获设备或传送设备、电话和文本显示设备而与用户交互,服务提供商可以向用户提供购买选项,以获得包含歌词被寻找的广播和识别的歌曲的唱片专辑。
图3A-3B示出了用于识别媒体内容并将数据与识别的媒体内容同步的系统的另一示例。在图3A的系统中,媒体内容可以是歌曲,并且系统被操作来使用客户端设备304捕获被随机媒体渲染源302渲染的歌曲的样本,以及识别样本的时间偏移,并接着提供歌曲的歌词在客户端设备304上的同步显示。媒体渲染源302可以是任何形式。图3A中所示的示例包括收音机和电视、预录的音频和视频(例如磁带、CD、DVD、MP3等)、因特网和基于计算机的系统上的媒体、现场演示或表现。其它示例包括电话、来自周边环境的感官刺激、以及可以单独或组合地形成典型媒体渲染源的元件的其它组件。客户端设备304可以被用于从媒体渲染源302捕获歌曲的样本。客户端设备304可以包括麦克风或其它组件用以记录样本。客户端设备304可以接着通过无线或有线通信将样本发送到服务器306。在图3A中示出的示例中,客户端设备304通过无线通信网络(未·示出)与服务器306通信。无线通信网络可以是任何无线网络,例如,下述中的任一个蜂窝无线网络、无线局域网(WLAN)或Wi-Fi网络、蓝牙网络或其它无线个人区域网(WPAN)、无线城域网(WMAN)、或无线广域网(WWAN)。服务器306包括位置识别模块308和内容识别模块310。然而,位置识别模块308和/或内容识别模块310中的任一个可以是独立的实体,或者替代地,位置识别模块308和/或内容识别模块310可以是同一实体或者可以具有由同一实体执行的功能。服务器306使用这里描述的任何方法,从客户端设备304接收样本并执行内容识另O。服务器306可以访问歌曲数据库312,以将样本与歌曲的已知样本进行比较以识别样本,以及检索关于识别的样本的信息。服务器306可以接着访问歌词数据库314,以检索识别的歌曲的歌词。关于歌曲的信息以及包括歌曲的所有歌词的批量文件接着被发送到客户端设备304,如图3B中所示。信息的一部分可以包括所估计的识别的媒体流位置Ts,客户端设备304可以使用该位置Ts计算所估计的实时媒体流位置TJt)。所估计的识别的媒体流位置八是识别的音轨的长度内的对应于音频样本的起始的时间。歌词可以是注释了时间的歌词316,其包括关于歌词的每行或每词的媒体流时间位置的信息。在一个示例中,歌词可以包括在XML文件中,该XML文件包括包含注释的时间字段,或者,可以其它方式将定时信息嵌入在歌词内。客户端设备304可以接着在时间位置I;(t)渲染歌词,使得与正被媒体渲染源302渲染的歌词同步地(例如,同时或大致同时)显示歌词的文本。替代地,服务器306可以不在一个文件中将歌曲的所有歌词都发送到客户端设备304,而是可以与正被媒体渲染源302渲染的歌曲同步地将歌词流式传输到客户端设备304。可以在媒体渲染源302渲染歌词前的时刻将歌词发送到客户端设备304,使得客户端设备304有时间来接收歌词,并与媒体渲染源302渲染的歌词同步地显示歌词。图4示出了用于将歌词与正被媒体渲染源渲染的歌曲同步的方法400的说明性实施例的流程图。初始地,如方框402中所示,客户端设备向位置识别模块发送正由媒体渲染源渲染的歌曲的音频样本。音频样本与时间戳(Ttl)关联、或具有时间戳(Ttl),该时间戳(Ttl)对应于音频样本的采样时间。客户端设备将从位置识别模块接收样本的时间偏移(Ts)并可选地接收时间尺度比(R),时间偏移(Ts)指示歌曲中对应于音频样本的采样时间的时间位置,时间尺度比(R)指示基于歌曲的参考速度的由媒体渲染源渲染歌曲的速度,如方框404中所示。时间尺度比可选地被用于校正歌曲的渲染与歌曲的参考速度相比的差。因此,时间尺度比可被用于补偿歌曲中的时间漂移。客户端设备接着使用指示当前时间的实时时间戳、音频样本的时间戳、时间偏移、以及可选地使用时间尺度比,来计算实时偏移,如方框406所示。客户端设备将接收歌曲的文本歌词,如方框408所示。歌词可以是注释了时间的歌词,其包括用于歌词的行组、每行、或词的时间标签。时间标签可以指示歌曲中被歌唱的歌词的时间位置(例如对应于经过了的时间量)。例如可以将歌词作为文本文件或XML文件发送到客户端设备。客户端设备可以接着在对应于实时偏移的位置渲染文本歌词,以与被媒体渲染源渲染的歌曲同步,如方框410所述。客户端设备可以滚动的方式渲染歌词,从而在歌唱歌词时显示文本歌词。此外,例如,可以在歌唱歌词的词时突显歌词,可以使用指针来指示正在歌唱哪些歌词,或者可以使用其它方法来指示在歌唱歌词的词时(或基本同时) 正在歌唱的词。在这一点上,例如,客户端设备可以动画的方式渲染歌词,使得在歌唱歌词的词时(例如同步地)显示该词,或者使得显示所有词、或者比当前正在歌唱的词更多的词,而以动画的方式强调正被歌唱的那些词。可以使用任何类型的动画来显示歌词。客户端设备还可以在不同的或以后的时段向位置识别模块发送歌曲的附加样本,以接收对时间偏移的更新。以此方式,客户端设备可以验证例如在时间上歌词被同步地显示。客户端设备可以在更新的时间偏移位置显示歌词,以确保歌词匹配在歌曲的渲染中可能的改变,例如,如果音乐家减慢节奏,或者在歌曲中具有任何中断。使用方法400,用户的设备(例如,蜂窝电话)可以记录正被任何类型的随机媒体渲染源渲染的音乐的样本,并接着将歌词与歌曲同步,用于在用户的设备上显示。例如,用户的设备可以因此操作为现场卡拉OK设备。在另一实施例中,方法200可被执行以将音乐信息(例如,吉他符号谱或传统乐谱或音乐游戏格式)在第一设备上的显示与正被第二设备或媒体渲染源播放的歌曲同步。第一设备的用户可以因此实时地观看与识别的周边音乐对应的音乐信息。可以在与周边音乐同步的时间位置显示音乐信息。在一个示例中,当第二设备播放歌曲时,可以在第一设备上的显示器上滚动音乐信息,使得当渲染音乐信息时显示该信息。图5示出了音乐信息的示例,其可以包括传统的乐谱502、吉他符号谱504、或其它乐谱。可以将音乐信息作为注释了时间的音乐文件提供给用户的设备,该注释了时间的音乐文件指示每行的时间顺序。用户的设备可以接着在播放音乐时与音乐同步地显示音乐信息。这使得用户能够以同步的方式随同用户正听的歌曲进行演奏。乐谱/符号谱的同步使用音频辨识,以随着音乐源正渲染音乐而及时显示乐谱/符号谱,并且提供音乐家能够实时地随着音乐而进行演奏的方法。这对于音乐家是有用的,例如,在学习音乐时,许多演奏者希望随同收音机上的音乐或其它喜欢的歌曲进行演奏。同步的乐谱/符号谱使得音乐家能够在音乐过程中受到引导,并且能够被指示在歌曲中听到音符的点要演奏什么。在另一示例中,音乐家可以在乐器(例如,吉他、钢琴、木管乐器、乐器数字界面(midi)设备等)上演奏音乐,并且使用这里描述的方法,可以识别音乐家正在演奏的歌曲。此外,可以将歌曲的音乐信息(例如吉他符号谱/传统乐谱/音乐游戏格式)返回到设备,并在音乐家的设备的屏幕上显示。可以在音乐家演奏歌曲时与歌曲同步地显示乐谱。
此示例同步方法使用音频辨识来识别音乐家演奏的音乐,并接着及时地与音乐同步乐谱/符号谱。这可以帮助音乐家,因为当学习音乐时,大多数演奏者可能知道歌曲的开始,但不知道歌曲的其余部分。此外,这使得演奏者能够学习音乐而不需要停止和开始演奏以及在乐谱中翻页(因为音乐将贯穿音乐家的设备上的歌曲)。在另一实施例中,这里描述的方法可被执行来将电影或音乐视频在第一设备上的显示与被第二设备或媒体渲染源播放的媒体(例如声轨或歌曲)同步。第一设备的用户因此可以实时地观看对应于识别的周围音乐的音乐视频。可以在与周边音乐同步的时间位置显示音乐视频。在再一实施例中,媒体流可以是视频流,并且第二媒体流可以是视频流的声轨。此夕卜,或者作为替代,媒体流可以是声轨,并且第二媒体流可以是电影。在再一实施例中,第二媒体流可以是第一媒体流的替代版本,例如不同语言的版本。或者,第二媒体流可以具有与第一媒体流不同的分辨率,例如,高清或者7. I声道环绕声,使得通过同步第二媒体流,可以提供第一媒体流的更高质量的版本。·图6示出了用于识别媒体内容并将媒体与识别的媒体内容同步的系统的另一示例。在图6的系统中,媒体内容可以是歌曲,并且系统被操作来使用客户端设备604捕获正被随机媒体渲染源602渲染的歌曲的样本,并且识别时间偏移并可选地识别歌曲,以及接着提供歌曲的音乐视频在客户端设备604上的同步显示。客户端设备604可以从媒体渲染源602捕获歌曲的样本,并将样本发送到服务器606,其包括位置识别模块608和内容识别模块610 (例如,它们的每个可以是同一实体、或独立的实体)。位置识别模块608从客户端设备604接收样本,确定样本的时间偏移。内容识别模块610可以可选地使用这里描述的任一方法执行内容识别。内容识别模块610可以访问歌曲数据库612,以将样本与歌曲的已知样本比较,以识别样本,并且检索关于识别的样本的信息。内容识别模块610可以接着访问电影数据库614,以检索识别的歌曲的音乐视频。位置识别模块608将向客户端设备604返回估计的识别的媒体流位置Ts,其可用于计算所估计的实时媒体流位置TJt)。所估计的识别的媒体流位置Ts是识别的音轨的长度内对应于音频样本的起始的时间。音乐视频可以是注释了时间的视频,其例如包括关于每帧或每组帧的媒体流时间位置的信息。客户端设备604可以从服务器606接收音乐视频,并接着在时间位置TJt)渲染音乐视频,使得与正被媒体渲染源602渲染的歌曲同步地(例如,同时或大致同时)显示音乐视频。虽然这里已经公开了各个方面和实施例,但对于本领域的技术人员而言,其它方面和实施例将是很明显的。这里公开的各个方面和实施例是为了说明的目的,而不意在限制,真正的范围和精神由所附的权利要求指示。可以进行许多修改和变化而不偏离其精神和范围,如对本领域的技术人员所明显的。根据之前的描述,对本领域的技术人员而言,在所列举的方法和装置之外,本公开的范围内功能上等同的方法和装置是显然的。这种修改和改变也意在落于所附权利要求的范围内。
权利要求
1.一种同步媒体的方法,包括 客户端设备接收正被媒体渲染源渲染的媒体流的媒体样本,所述媒体样本与对应于所述媒体样本的采样时间的时间戳关联; 确定指示所述媒体流中对应于所述媒体样本的采样时间的时间位置的时间偏移; 确定时间尺度比,所述时间尺度比与基于所述媒体流的参考速度的由所述媒体渲染源正在渲染所述媒体流的速度关联; 使用实时时间戳、所述媒体样本的时间戳、所述时间偏移、以及所述时间尺度比来确定实时偏移,其中所述实时时间戳指示当前时间;以及 所述客户端设备在对应于所述实时偏移的位置渲染第二媒体流,以与正被所述媒体渲染源渲染的媒体流同步。
2.如权利要求I所述的方法,所述采样时间是所述媒体样本的起始时间。
3.如权利要求I所述的方法,还包括基于所述媒体样本的内容识别而选择所述第二媒体流。
4.如权利要求I所述的方法,其中由所述客户端设备执行确定时间偏移。
5.如权利要求I所述的方法,其中由所述客户端设备执行确定时间偏移 向位置识别模块发送所述媒体样本;以及 从所述位置识别模块接收所述时间偏移。
6.如权利要求I所述的方法,其中由所述客户端设备执行确定时间尺度比 向位置识别模块发送所述媒体样本;以及 从所述位置识别模块接收所述时间尺度比。
7.如权利要求I所述的方法,其中由所述客户端设备执行确定实时偏移 向位置识别模块发送所述媒体样本;以及 从所述位置识别模块接收所述实时偏移。
8.如权利要求I所述的方法,其中确定所述实时偏移包括Tr (t) = Ts+R(t-T0) 其中TJt)是所述实时偏移,Ts是所述时间偏移,其指示所述媒体流中对应于所述媒体样本的采样时间的时间位置,R是所述时间尺度比,t是所述实时时间戳,以及Ttl是所述媒体样本的时间戳。
9.如权利要求I所述的方法,其中确定所述时间尺度比包括 所述客户端设备记录所述媒体流随着时间的多个样本; 将所述多个样本发送到位置识别模块; 为每个样本从所述位置识别模块接收所述时间偏移;以及 通过下式确定所述时间尺度比(Rk) Ljk)-r Ak-]) k— 'φ)-φ-\) 其中,Ts(k)是在时间k的时间偏移,并且TtlGO是所述媒体样本在时间k的时间戳。
10.如权利要求I所述的方法,其中所述时间尺度比是匹配所述媒体样本的参考媒体内容对象中的预期经过时间与所述媒体样本中的经过时间的比率。
11.如权利要求I所述的方法,其中确定所述时间尺度比包括确定(i)所述媒体样本的指纹的经过时间值与(ii)匹配所述媒体样本的参考媒体内容对象的指纹的经过时间值的比率。
12.如权利要求I所述的方法,其中确定所述时间尺度比包括 使用值的直方图的峰值作为所述时间尺度比,其中所述值是(i)所述媒体样本的两个指纹值之间的时间差与(ii)匹配所述媒体样本的指纹值的参考媒体流的指纹值之间的时间差的比率,其中给定指纹值总结时间点处或附近的媒体的特征。
13.如权利要求I所述的方法,其中确定所述时间尺度比包括 使用值的直方图的峰值作为所述时间尺度比,其中所述值是(i)所述媒体样本的指纹的时间与(i i )匹配所述媒体样本的指纹值的参考媒体流的指纹的时间的比率,其中给定指纹值总结时间点处或附近的媒体的特征。
14.如权利要求I所述的方法,其中所述时间尺度比是匹配所述媒体样本的参考媒体内容对象中的频率与所述媒体流中的预期频率的比率。
15.如权利要求I所述的方法,其中确定所述时间尺度比包括 使用值的直方图的峰值作为所述时间尺度比,其中所述值是(i)所述媒体样本的指纹的频率值与(ii )匹配所述媒体样本的指纹的参考媒体流的指纹的频率值的比率,其中给定指纹值总结时间点处或附近的媒体的特征。
16.如权利要求I所述的方法,其中确定所述时间尺度比包括 确定(i )所述媒体样本的指纹的频率值与(ii )匹配所述媒体样本的指纹的参考媒体内容对象的指纹的频率值的比率,其中给定指纹值总结时间点处或附近的媒体的特征。
17.如权利要求I所述的方法,还包括使用所述时间尺度比来补偿所述媒体流中的时间漂移。
18.如权利要求I所述的方法,还包括使用所述时间尺度比来解决在所述媒体流的渲染中与所述媒体流的参考速度相比的差。
19.如权利要求I所述的方法,其中所述媒体流是声轨,并且其中所述第二媒体流是电影。
20.如权利要求I所述的方法,其中所述媒体流是视频,并且其中所述第二媒体流是所述视频的声轨。
21.如权利要求I所述的方法,其中所述第二媒体流是所述媒体流的更高质量的版本。
22.如权利要求I所述的方法,其中所述第二媒体流是所述媒体流的替代版本。
23.如权利要求I所述的方法,其中所述媒体流是歌曲,并且其中所述第二媒体流是所述歌曲的吉他符号谱。
24.如权利要求I所述的方法,其中所述媒体流是歌曲,并且其中所述第二媒体流是所述歌曲的乐谱。
25.如权利要求I所述的方法,其中所述媒体流是歌曲,并且其中所述第二媒体流是所述歌曲的音乐视频。
26.如权利要求I所述的方法,其中所述媒体流是歌曲,并且其中所述第二媒体流是所述歌曲的文本歌词。
27.如权利要求26所述的方法,其中所述文本歌词是注释了时间的歌词,其包括指示所述歌曲中歌唱所述歌词的时间位置的时间标签。
28.如权利要求26所述的方法,还包括所述客户端设备与正被所述媒体渲染源渲染的歌曲同步地使所述文本歌词在显示器上动画显示。
29.如权利要求I所述的方法,还包括从所述客户端设备的本地存储设备接收所述第二媒体流。
30.如权利要求I所述的方法,还包括所述客户端设备从服务器接收所述第二媒体流。
31.如权利要求30所述的方法,其中所述媒体流是歌曲,并且所述第二媒体流是所述歌曲的文本歌词,并且其中接收所述第二媒体流包括接收包括所述歌曲的所有歌词的文件,其中所述歌词是注释了时间的歌词。
32.如权利要求30所述的方法,其中所述媒体流是歌曲,并且所述第二媒体流是所述歌曲的文本歌词,并且其中接收所述第二媒体流包括接收流式歌词,以与正被所述媒体渲染源渲染的歌曲同步地显示。
33.如权利要求I所述的方法,还包括验证所述第二媒体流的渲染与正被所述媒体渲染源渲染的媒体流同步。
34.如权利要求33所述的方法,其中验证所述第二媒体流的渲染与正被所述媒体渲染源渲染的媒体流同步包括 所述客户端设备以周期性的间隔将所述媒体流的媒体样本发送到间断检测模块;以及所述客户端设备从所述间断检测模块接收指令,以执行所述第二媒体流与正被所述媒体渲染源渲染的媒体流的重新同步。
35.如权利要求33所述的方法,其中验证所述第二媒体流的渲染与正被所述媒体渲染源渲染的媒体流同步包括 所述客户端设备以周期性的间隔将所述媒体流的媒体样本发送到间断检测模块;以及 所述客户端设备从所述间断检测模块接收指令,以停止渲染所述第二媒体流。
36.如权利要求33所述的方法,其中验证所述第二媒体流的渲染与正被所述媒体渲染源渲染的媒体流同步包括 所述客户端设备以周期性的间隔将所述媒体流的媒体样本发送到间断检测模块;以及 所述客户端设备从所述间断检测模块接收指令,以执行所述媒体流的内容识别。
37.一种非暂时性计算机可读介质,其中存储指令,所述指令可由计算设备执行以使得所述计算设备执行以下功能 接收正被媒体渲染源渲染的媒体流的媒体样本,所述媒体样本与对应于所述媒体样本的采样时间的时间戳关联; 确定指示所述媒体流中对应于所述媒体样本的采样时间的时间位置的时间偏移; 确定时间尺度比,所述时间尺度比与基于所述媒体流的参考速度的由所述媒体渲染源正在渲染所述媒体流的速度关联; 使用实时时间戳、所述媒体样本的时间戳、所述时间偏移、以及所述时间尺度比来确定实时偏移,其中所述实时时间戳指示当前时间;以及 在对应于所述实时偏移的位置渲染第二媒体流,以与正被所述媒体渲染源渲染的媒体流同步。
38.如权利要求37所述的非暂时性计算机可读介质,其中所述指令可由所述计算设备执行来执行以下功能向位置识别模块发送所述媒体样本;以及 从所述位置识别模块接收所述时间偏移。
39.如权利要求37所述的非暂时性计算机可读介质,其中所述指令可由所述计算设备执行来执行以下功能 向位置识别模块发送所述媒体样本;以及 从所述位置识别模块接收所述时间尺度比。
40.如权利要求37所述的非暂时性计算机可读介质,其中确定所述实时偏移包括Tr (t) = Ts+R(t-T0) 其中TJt)是所述实时偏移,Ts是所述时间偏移,其指示所述媒体流中对应于所述媒体样本的采样时间的时间位置,R是所述时间尺度比,t是所述实时时间戳,以及Ttl是所述媒体样本的时间戳。
41.如权利要求37所述的非暂时性计算机可读介质,其中确定所述时间尺度比包括 所述客户端设备记录所述媒体流随着时间的多个样本; 将所述多个样本发送到位置识别模块; 为每个样本从所述位置识别模块接收所述时间偏移;以及 通过下式确定所述时间尺度比(Rk)
42.如权利要求37所述的非暂时性计算机可读介质,其中所述媒体流是歌曲,并且其中所述第二媒体流是所述歌曲的文本歌词。
43.一种客户端设备,包括 媒体接收器,配置为接收正被媒体渲染源渲染的媒体流的媒体样本,其中所述媒体样本与对应于所述媒体样本的采样时间的时间戳关联; 处理器,配置为接收指示所述媒体流中对应于所述媒体样本的采样时间的时间位置的时间偏移,并且接收时间尺度比,所述时间尺度比与基于所述媒体流的参考速度的由所述媒体渲染源正在渲染所述媒体流的速度关联; 所述处理器配置为使用实时时间戳、所述媒体样本的时间戳、所述时间偏移、以及所述时间尺度比来确定实时偏移,其中所述实时时间戳指示当前时间;以及 所述客户端设备配置为在对应于所述实时偏移的位置渲染第二媒体流,以与正被所述媒体渲染源渲染的媒体流同步。
44.如权利要求43所述的客户端设备,其中所述处理器配置为通过下式确定所述实时偏移Tr (t) = Ts+R(t-T0) 其中TJt)是所述实时偏移,Ts是所述时间偏移,其指示所述媒体流中对应于所述媒体样本的采样时间的时间位置,R是所述时间尺度比,t是所述实时时间戳,以及Ttl是所述媒体样本的时间戳。
45.如权利要求43所述的客户端设备,其中所述媒体流是歌曲,并且其中所述第二媒体流是所述歌曲的文本歌词。
46.一种系统,包括 服务器,配置为接收正被媒体渲染源渲染的媒体流的媒体样本,所述媒体样本与对应于所述媒体样本的采样时间的时间戳关联,所述服务器配置为确定指示所述媒体流中对应于所述媒体样本的采样时间的时间位置的时间偏移,并确定时间尺度比,所述时间尺度比与基于所述媒体流的参考速度的由所述媒体渲染源正在渲染所述媒体流的速度关联;以及客户端设备,配置为从所述服务器接收所述时间偏移以及所述时间尺度比,并使用实时时间戳、所述媒体样本的时间戳、所述时间偏移、以及所述时间尺度比来确定实时偏移,其中所述实时时间戳指示当前时间,并且,所述客户端设备配置为在对应于所述实时偏移的位置渲染第二媒体流,以与正被所述媒体渲染源渲染的媒体流同步。
47.如权利要求46所述的系统,其中所述客户端设备配置为 记录所述媒体样本; 向所述服务器发送所述媒体样本;以及 从所述服务器接收所述时间偏移。
48.如权利要求46所述的系统,其中所述客户端设备配置为通过下式确定所述实时偏移Tr (t) = Ts+R(t-T0) 其中TJt)是所述实时偏移,Ts是所述时间偏移,其指示所述媒体流中对应于所述媒体样本的采样时间的时间位置,R是所述时间尺度比,t是所述实时时间戳,以及Ttl是所述媒体样本的时间戳。
49.如权利要求46所述的系统,其中所述服务器配置为通过以下步骤确定所述时间尺度比 接收所述媒体流随着时间的多个样本; 为每个样本确定时间偏移;以及 通过下式确定所述时间尺度比(Rk)
全文摘要
提供了同步媒体的系统和方法。客户端设备可以被用于捕获正被媒体渲染源渲染的媒体流的样本。所述客户端设备将所述样本发送到位置识别模块,以确定指示所述媒体流中对应于所述样本的采样时间的位置的时间偏移,并且可选地确定时间尺度比,所述时间尺度比指示基于所述媒体流的参考速度的由所述媒体渲染源正在渲染所述媒体流的速度。所述客户端设备使用当前时间、所述媒体样本的时间戳、所述时间偏移、以及可选地使用时间尺度比,来计算实时偏移。所述客户端设备接着在对应于所述实时偏移的位置渲染第二媒体流,以与正被所述媒体渲染源渲染的媒体流同步。
文档编号G06F17/30GK102959544SQ201180032480
公开日2013年3月6日 申请日期2011年5月4日 优先权日2010年5月4日
发明者A.L-C.王, R.波沃, W.M.米尔斯, C.J.P.巴顿, P.G.英格尔布雷赫特, D.S.米克赫吉 申请人:沙扎姆娱乐有限公司