提供与主要广播媒体内容关联的辅助内容的方法、装置和制品转让专利

申请号 : CN201080029773.2

文献号 : CN102625982B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : D·H·哈克尼斯阿伦·拉马斯瓦米J·萨姆森J·贝斯汉尼克韦努戈帕尔·斯里尼瓦桑亚历山大·帕夫洛维奇·托普奇

申请人 : 尼尔森(美国)有限公司

摘要 :

公开了用于提供媒体内容的示例性方法、装置和制品。公开的示例性方法包括:接收由第一媒体呈现设备输出的音频;从所述音频获得尼尔森代码或代码中的至少一个,所获得的代码表示第一媒体内容或第一媒体内容的广播公司中的至少一个;基于提取出的代码获得第二媒体内容;以及在与所述第一媒体呈现设备不同的第二媒体呈现设备上呈现第二媒体内容。

权利要求 :

1.一种呈现媒体的方法,包括:

接收由第一媒体呈现设备输出的音频;

从所述音频获得尼尔森代码或Arbitron代码中的至少一个,其中,从所述音频获得尼尔森代码或Arbitron代码中的至少一个通过以下步骤实现:确定所获得的代码的频域表示的频率的特性,所获得的代码表示所述第一媒体或所述第一媒体的广播公司中的至少一个;

针对多个代码频带将包含所述代码的代码频带中的所述频域表示的频率的特性归一化,所述归一化根据该代码频带中的频率的阈值特性执行;

对相应频率的归一化特性求和以识别具有最大和的频率;以及确定识别的频率表示所述代码;

基于所述代码获得第二媒体;以及

当在所述第一媒体呈现设备上呈现所述第一媒体的同时,在与所述第一媒体呈现设备不同的第二媒体呈现设备上呈现所述第二媒体。

2.根据权利要求1所述的方法,其中获得所述第二媒体包括:向辅助服务器发送包含所述代码的请求;以及

从所述辅助服务器接收所述第二媒体。

3.根据权利要求2所述的方法,其中所述辅助服务器包括客户端媒体服务器。

4.根据权利要求1所述的方法,还包括:

获得与来自所述音频的所述代码关联的时间戳;

其中获得所述第二媒体包括:基于所述代码和所述时间戳获得所述第二媒体,所述第二媒体包括与多个时间戳中的相应时间戳相对应的多个辅助媒体;并且呈现所述第二媒体包括:当所述多个辅助媒体中的第一个辅助媒体的相应时间戳大致对应于从所述时间戳确定的时间值时,呈现所述多个辅助媒体中的所述第一个辅助媒体。

5.根据权利要求1所述的方法,其中所述音频包括表示所述代码的嵌入的频率分量,所述频率分量的不同组分别表示不同的信息,来自每一组频率分量的一个频率分量位于代码频带中,所述代码频带是多个代码频带中的一个,并且相邻的代码频带之间的间距等于或小于每一个所述代码频带中的相邻频率分量之间的间距,所述频率分量的振幅表示所述信息并基于所述音频的掩蔽能力来选择。

6.根据权利要求5所述的方法,其中用于表示所述信息的所述频率分量处于听得到的频率的范围。

7.根据权利要求1所述的方法,其中从所述音频获得所述代码包括:对所述音频取样;以及

将取样的音频信号变换到所述频域表示。

8.根据权利要求1所述的方法,其中所述第二媒体不表示所述第一媒体。

9.根据权利要求1所述的方法,还包括:使所述第二媒体呈现设备上的所述第二媒体与所述第一媒体呈现设备上的所述第一媒体同步。

10.一种呈现媒体的装置,包括:

音频输入接口,其接收由第一媒体呈现设备输出的音频;

解码器,其从所述音频获得尼尔森代码或Arbitron代码中的至少一个,其中从所述音频获得尼尔森代码或Arbitron代码中的至少一个通过以下步骤实现:确定所获得的代码的频域表示的频率的特性,所述代码对应于所述第一媒体或所述第一媒体的广播公司中的至少一个;

针对多个代码频带将包含所述代码的代码频带中的所述频域表示的频率的特性归一化,所述归一化根据该代码频带中的频率的阈值特性执行;

对相应频率的归一化特性求和以识别具有最大和的频率;以及确定识别的频率表示所述代码;

辅助媒体模块,其基于所述代码获得第二媒体;以及用户界面模块,其与所述第一媒体呈现设备上的所述第一媒体的呈现大致同时地在与所述第一媒体呈现设备不同的第二媒体呈现设备上呈现所述第二媒体。

11.根据权利要求10所述的装置,其中所述音频包括表示所述代码的嵌入的频率分量,所述频率分量的不同组分别表示不同的信息,来自每一组频率分量的一个频率分量位于代码频带中,所述代码频带是多个代码频带中的一个,并且相邻的代码频带之间的间距等于或小于每一个所述代码频带中的相邻频率分量之间的间距,所述频率分量的振幅表示所述信息并基于所述音频的掩蔽能力来选择。

12.根据权利要求10所述的装置,其中所述辅助媒体模块用于:向辅助服务器发送包含所述代码的请求;以及

从所述辅助服务器接收所述辅助媒体。

13.根据权利要求12所述的装置,其中所述辅助服务器包括客户端媒体服务器。

14.根据权利要求10所述的装置,其中所述用户界面模块由手持计算机、个人数字助理(PDA)、蜂窝电话、智能电话、膝上型计算机、上网本计算机、手持媒体呈现设备或移动媒体呈现设备中的至少一个来实现。

15.根据权利要求10所述的装置,其中

所述解码器从所述音频获得与所述代码关联的时间戳;

所述辅助媒体模块基于所述代码和所述时间戳获得所述第二媒体,所述辅助媒体包括对应于多个时间戳中的相应时间戳的多个辅助媒体;并且通过在所述多个辅助媒体中的第一个辅助媒体的相应时间戳大致对应于利用所述时间戳确定的时间值时呈现所述多个辅助媒体中的所述第一个辅助媒体,所述用户界面模块呈现所述第二媒体。

16.根据权利要求10所述的装置,其中所述音频信号包括利用存在于多个代码频带中的多个频率分量嵌入到所述音频中的所述代码,并且其中所述解码器包括:取样器,其对所述音频取样;

时域到频域转换器,其将取样的音频变换为频域表示。

说明书 :

提供与主要广播媒体内容关联的辅助内容的方法、装置和

制品

[0001] 相关申请
[0002] 本专利要求2009年5月1日提交的名称为“Methods and Apparatus To Provide Secondary Content in Association with Primary Broadcast Media Content”的美国临时专利申请No.61/174,787的优先权,将其公开的全部内容通过引用并入本文。

技术领域

[0003] 本公开总体上涉及内容传送,并且更具体地,涉及提供与主要广播媒体内容关联的辅助内容的方法和装置。

背景技术

[0004] 对媒体内容(例如,电视(TV)节目、电台节目、广告、评论、音频/视频内容、电影、商业广告、广告等)进行标识对于评估这样内容的观众收视或收听率(audience exposure)是有用的。例如,在观众测量(metering)应用中,可以将代码插入到媒体内容(例如,节目或广告)的音频或视频中,其中当稍后呈现该媒体内容时在一个或更多个监测点检测该代码(例如,在所监测的住户处播放)。嵌入到原始信号中的代码/水印的信息的有效载荷可以包括唯一的节目标识、源标识、和/或广播时间。监测点可以包括监测媒体内容收视或收听率和/或媒体内容的消费的多个位置,诸如住户、商店、商业场所和/或任何其他公众和/或私人设施。例如,在监测点处,获得了来自音频和/或视频的代码。接着,收集的代码可以发送到中央数据收集设施以进行分析。

附图说明

[0005] 图1是根据本公开的教导而构建的示例性主要媒体内容和辅助内传送系统的示意图。
[0006] 图2示出实现图1的示例性媒体服务器的示例性方式。
[0007] 图3示出实现图1的示例性辅助内容呈现设备的示例性方式。
[0008] 图4和图5示出在图1和图3的示例性辅助内容呈现设备处可以用于呈现辅助内容的示例性用户界面。
[0009] 图6至图10示出可以由图1的示例性传送系统实现的示例性辅助内容传送场景。
[0010] 图11示出实现图1的示例性辅助内容服务器的示例性方式。
[0011] 图12示出可以用于实现图11的示例性动作数据库的示例性数据结构。
[0012] 图13示出可以用于实现图11的示例性辅助内容数据库的示例性数据结构。
[0013] 图14至图16示出可以利用图1和图11的示例性辅助内容服务器实现的示例性辅助内容传送流程。
[0014] 图17是表示例如可以由处理器执行以实现图1和图3的示例性辅助内容呈现设备的示例性机器可接受指令的流程图。
[0015] 图18是采用标识了添加到复合电视信号的音频部分的代码的程序的示例性广播观众测量系统的示意图。
[0016] 图19示出实现图18的示例性编码器的示例性方式。
[0017] 图20A至图20C是示出可以由图19的代码频率选择器使用的不同示例性代码频率配置的图表。
[0018] 图21示出例如可以由处理器执行以实现图19的示例性编码器的示例性机器可接受指令。
[0019] 图22示出实现图18的示例性解码器的示例性方式。
[0020] 图23示出例如可以由处理器执行以实现图22的示例性解码器的示例性机器可接受指令。
[0021] 图24是可以被使用和/或编程的示例性处理器平台的示意图,该示例性处理器平台用于执行图17、图21、图23、图28、图29、图36、图37、图43、图45、图49至图52和图55的示例性机器可接受指令、图6至图10、图30和图31的示例性操作、图14至图16的示例性流程,和/或实现本文描述的示例性方法、装置和/或制品中的任一个或全部。
[0022] 图25示出实现图1和图3的示例性辅助内容模块的示例性方式。
[0023] 图26和图27示出可以用于实现辅助内容时间表的示例性数据结构。
[0024] 图28和图29示出例如可以由处理器执行以实现图1、图3和图25的示例性辅助内容模块的示例性机器可接受指令。
[0025] 图30和图31示出可以由图1的示例性内容传送系统实现的示例性基于时间表的辅助内容传送场景。
[0026] 图32示出用于实现图11的示例性基于忠诚的调度器的示例性方式。
[0027] 图33示出可以用于列出由不同的人观看的节目的示例性数据结构。
[0028] 图34和图35示出定义相似组的示例性处理。
[0029] 图36和图37示出例如可以由处理器执行以实现图11和图32的示例性基于忠诚的调度器的示例性机器可接受指令。
[0030] 图38是采用标识了添加到复合电视信号的音频部分的代码的程序的广播观众测量系统的示意性表示。
[0031] 图39示出实现图38的示例性编码器的示例性方式。
[0032] 图40示出例如可以由处理器执行以实现图39的示例性解码器的示例性机器可接受指令。
[0033] 图40至图42是示出可以由图45的机器可接受指令生成并与图39的代码频率选择器结合地使用的不同示例性代码频率配置的图表。
[0034] 图43示出例如可以由处理器执行以实现图38和图39的示例性编码器的示例性机器可接受指令。
[0035] 图44示出生成频率索引表的示例性系统。
[0036] 图45示出例如可以由处理器执行以生成结合图39的代码频率选择器使用的频率索引表的示例性机器可接受指令。
[0037] 图46是示出临界频带索引和它们如何对应于短块和长块示例性索引的图表。
[0038] 图47示出音频编码索引之间的频率关系。
[0039] 图48示出实现图38的解码器的示例性方式。
[0040] 图49示出例如可以由处理器执行以实现图38和图48的示例性解码器的示例性机器可接受指令。
[0041] 图50示出例如可以由处理器执行以在图48的解码器中叠加音频的示例性机器可接受指令。
[0042] 图51示出例如可以由处理器执行以确定在图48的解码器中的音频信号中编码的符号的示例性机器可接受指令。
[0043] 图52示出例如可以由处理器执行以处理缓冲器而标识图48的解码器中的消息的示例性机器可接受指令。
[0044] 图53示出可以存储消息符号的循环缓冲器的示例性集合。
[0045] 图54示出可以存储消息符号的既有代码标记循环缓冲器的示例性组。
[0046] 图55示出例如可以由处理器执行以证实图48的解码器中的标识消息的示例性机器可接受指令。
[0047] 图56示出可以存储图48的解码器中的标识消息的示例性过滤器栈。
[0048] 图57示出示例性消息有效载荷。
[0049] 图58示出可以用于构造辅助内容时间表示例性可扩展标记语言(XML)的XML文档。

具体实施方式

[0050] 公开一种提供与主要广播媒体内容关联的辅助内容的示例性方法、装置和制品。公开的示例性方法包括:接收由第一媒体呈现设备输出的音频信号,该音频信号与第一媒体内容相关联;解码所述音频信号以从所述音频信号中提取代码,该代码标识所述第一媒体内容或所述第一媒体内容的广播公司中的至少一个;使用与所述代码关联的时间戳设置时钟;基于所述代码和所述时间戳获得第二媒体内容,第二媒体内容包括针对多个时间戳中的相应时间戳的多个辅助内容;以及当所述多个辅助媒体中的第一个辅助媒体的相应时间戳大致对应于从所述时钟获得的时间值时,在第二媒体呈现设备处呈现所述多个辅助媒体中的所述第一个辅助媒体。
[0051] 另一示例性方法包括:接收由第一媒体呈现设备输出的音频信号,该音频信号与第一媒体内容相关联;解码所述音频信号以从所述音频信号中提取代码,该代码表示所述第一媒体内容或所述第一媒体内容的广播公司中的至少一个;以及向第二媒体呈现设备发送无线信号,该信号包括提取的代码,所述信号用于触发所述第二媒体呈现设备基于所述代码获得第二媒体内容并在所述第二媒体呈现设备处呈现所述第二媒体内容。
[0052] 又一示例性方法包括:接收由第一媒体呈现设备输出的音频;从所述音频获得尼尔森代码或 代码中的至少一个,所获得的代码表示第一媒体内容或所述第一媒体内容的广播公司中的至少一个;基于所提取的代码获得第二媒体内容;以及在与所述第一媒体呈现设备不同的第二媒体呈现设备上呈现所述第二媒体内容。
[0053] 公开的示例性装置包括:音频接口,其接收由第一媒体呈现设备输出的音频信号,该音频信号与第一媒体内容相关联;解码器,其解码所述音频信号以从所述音频信号提取代码,该代码表示所述第一媒体内容或所述第一媒体内容的广播公司中的至少一个;解码器,其获得与所述代码关联的时间戳;第二内容模块,其基于所述代码和所述时间戳来获得第二媒体内容,该第二媒体内容包括针对多个时间戳中的相应时间戳的多个辅助内容;以及用户界面模块,当所述多个辅助内容媒体中的第一个辅助内容媒体的相应时间戳大致对应于从所述时间戳获得的时间值时,所述用户界面模块在第二媒体呈现设备处呈现所述多个辅助内容媒体中的所述第一个辅助内容媒体。
[0054] 另一示例性装置包括:音频接口,其接收由第一媒体呈现设备输出的音频信号,该音频信号与第一媒体内容相关联;解码器,其解码所述音频信号以提取代码,该代码与所述第一媒体内容或所述第一媒体内容的广播公司中的至少一个相关联;以及无线接口,其向第二媒体呈现设备发送无线信号,该信号包括提取的代码,所述信号用于触发第二媒体呈现设备基于所述代码获得第二媒体内容并在所述第二媒体呈现设备处呈现所述第二媒体内容。
[0055] 又一示例性装置包括:音频输入接口,其接收由第一媒体呈现设备输出的音频;解码器,其从所述音频获得尼尔森代码或Arbitron代码中的至少一个,所获得的代码对应于第一媒体内容或所述第一媒体内容的广播公司中的至少一个;第二内容模块,其基于所提取的代码获得第二媒体内容;以及用户界面模块,其在与所述第一媒体呈现设备不同的第二媒体呈现设备上呈现所述第二媒体内容。
[0056] 下面的描述参考了还分别被称为音频水印和水印检测的音频编码和解码。应该指出,在这个上下文中,音频可以是具有落入通常的人类听得到的频谱内的频率的任意类型的信号。例如,音频可以是语音、音乐、音频和/或视频节目或作品(例如,电视(TV)节目、电影、因特网视频、电台节目、商业广告等)的音频部分、噪声或任何其他声音。
[0057] 一般来说,对音频进行编码是指在音频中插入一个或更多个代码。在一些示例中,代码被以心理声学的方式掩蔽以使得音频的人类听众听不到代码。但是,可能有一些特定的情形,其中某些人类听众能够听到这些代码。另外,这些代码也可以被称为水印。嵌入音频中的代码可以具有任何适当的长度,并且可以利用将信息(例如,频道标识符、电站标识符、节目标识符、时间戳、广播标识符等)映射到代码的任何适当技术。此外,可以将代码转换为能够由在音频中嵌入的具有选择的频率的信号代表的符号。可以使用任何适当的编码和/或纠错技术将代码转换为符号。尼尔森代码是由尼尔森公司(Nielsen Company(US),LLC)及其任何子公司和/或与他们关联地嵌入在任何媒体内容中的任何代码。
[0058] 尽管下面的示例是参照包括嵌入到和/或编码到音频部分中的代码的广播音频/视频媒体内容来描述的,但这样的示例仅是说明性的。例如,另外或另选地,代码可以嵌入到和/或编码到其他类型的媒体内容中,这些媒体内容诸如为视频内容、图形内容、图像、游戏、调查和/或网页,但不限于这些。举例来说,例如通过将代码插入垂直的消隐间隔和/或水平的回扫间隔,可以将代码隐藏和/或放置在视频的非可视部分中。而且,本文公开的方法和装置可以用于检测在任意数量和/或类型的附加和/或另选的主要媒体内容(例如,电台广播、音频通告等)中嵌入的代码并触发与这样广播的主要媒体关联的辅助内容的显示。此外,不需要广播主要媒体内容以触发辅助媒体内容的呈现。例如,主要媒体内容可以经由包含嵌入代码的任意数量和/或类型的有形介质(诸如数字通用盘(DVD)和/或光盘(CD)来销售,所嵌入的代码可以触发在本地媒体存储装置和/或在能够经由例如因特网和/或局域网(LAN)访问的媒体装置上呈现在有形介质上包含的辅助媒体内容。另外,与主要媒体内容关联的非媒体内容数据可以用于触发与主要媒体内容关联的辅助媒体内容的显示。例如,在与传输主要媒体内容(例如,节目和系统信息协议(PSIP)信息、传输流标识符、节目标识符(PID)、站标识符(SID)、时间戳、CRC等)的一连串分组关联的一个或更多个报头中包含的数据、变量和/或标识符可以用于触发辅助媒体内容的显示。应该理解,这样的报头信息与表示主要媒体内容的数据一起承载,并因而出现在传输主要媒体内容的流的非有效载荷部分中。
[0059] 在本文描述的示例中,在发送和/或广播之前和/或期间,将主要媒体内容编码为包括表示主要媒体内容的源、主要媒体内容的广播时间、主要媒体内容的分发渠道、主要媒体内容的标识符、链接(例如,URL、对URL的ASCII引用等)、主要媒体内容的特定部分、和/或认为与系统的运营商有关的任何其他信息的一个或更多个代码。当主要媒体内容呈现在主要媒体内容呈现设备上(例如,通过电视、电台、计算设备、蜂窝电话、手持设备和/或任何其他适当设备播放)时,呈现区域中的人们不仅暴露于主要媒体内容,并且他们所不知道的是,他们还暴露于在主要媒体内容中嵌入的代码。如本文描述的,除了呈现广播的媒体内容(本文称为“主要媒体内容”或“主要广播媒体内容”)的主要媒体设备,可以向人们提供和/或人们可以利用辅助内容呈现设备(例如,手持的、移动的和/或其他便携式设备,诸如手持计算机、个人数字助理(PDA)、蜂窝电话、智能电话、膝上型计算机、笔记本TM TM式计算机、iPod 、iPAd 、和/或能够向人们呈现媒体内容的任何其他类型的手持、移动和/或便携式用户设备)。一些示例性辅助内容呈现设备包括麦克风和解码器并使用自由场(free-field)检测以检测主要媒体内容中嵌入的代码。另外或另选地,辅助内容呈现设备可以通过其他方法和/或诸如网络接口、蓝牙接口等的接口来获得和/或接收主要内容标识符(例如,代码、签名、非有效载荷信息等)。基于检测到的代码,辅助内容呈现设备获得并呈现与代码标识的主要媒体内容有关的辅助内容。辅助内容可以或可以不与主要媒体内容相关,并且可以自身包括媒体内容、用户界面、广告和/或应用。在一些示例中,辅助内容呈现设备可以由主要呈现设备实现和/或在主要呈现设备内实现。
[0060] 另外,尽管这里描述的示例利用了嵌入的观众测量代码来标识主要媒体内容,但可以使用任意数量和/或类型的另外和/或另选的方法来标识主要媒体内容。例如,可以根据和/或基于主要媒体内容计算一个或更多个签名和/或指纹,并将其与签名的数据库进行比较以标识主要媒体内容。示例性签名是经由应用于主要媒体内容的音频部分的数据压缩而计算的。在2008年4月28日提交的名称为“Methods and Apparatus For Generating Signatures”的美国专利申请No.12/110,951、和在2008年2月20日提交的名称为“Methods and Apparatus For Characterizing Media”的美国专利申请No.12/034,489中,描述了用于计算签名和/或用于使用签名来标识媒体的示例性方法、装置和制品。在此将美国专利申请No.12/110,951和美国专利申请No.12/034,489中的每一个的全部内容通过引用的方式并入本文中。
[0061] 图1示出了示例性主要媒体内容和辅助内容传送系统100。为了允许人们播放、观看和/或记录主要媒体内容,图1的示例性系统100包括任意数量和/或类型的媒体服务器(其中一个服务器以标号105表示)和任意数量和/或类型的主要媒体内容呈现设备(其中一个设备以标号110表示)。图1的示例性媒体服务器105是客户端设备、消费类设备、和/或用户设备并可以在例如住宅、公寓、商业场所、学校、政府机构、医疗设施、教堂等中设置、实现和/或操作。示例性媒体服务器105包括但不限于机顶盒(STB)、数字视频录像机(DVR)、视频磁带录像机(VCR)、DVD播放器、CD播放器、个人计算机(PC)、游戏机、收音机、广告设备、通知系统和/或任意类型的媒体播放器。示例性主要媒体内容呈现设备110包括但不限于扬声器、音响系统、TV和/或监视器。在一些示例中,图1的示例性媒体服务器105经由主要媒体内容呈现设备110输出音频和/或视频信号。例如,DVD播放器105可以经由TV 110的屏幕和扬声器(未示出)和/或音响系统110的扬声器显示电影。示例性主要媒体内容包括但不限于电视节目、电影、视频、商业广告、广告、音频、视频、游戏、网页、广告和/或调查。
[0062] 在图1的示例性传送系统100中,示例性媒体服务器105经由任意数量和/或类型的源来接收主要媒体内容,这样的源例如为:卫星接收器和/或天线115;经由任意数量和/或类型的有线电视信号和/或陆地广播接收的射频(RF)输入信号120;陆地和/或卫星无线电广播;诸如因特网125的任意数量和/或类型的数据通信网络;诸如硬盘驱动器(HDD)、VCR磁带、DVD、CD、闪速存储设备等的任意数量和/或类型的本地或远程数据和/或媒体存储装置130。在图1的示例性传送系统100中,至少一些主要媒体内容(无论其源和/或类型如何)包括由内容提供商、观众测量实体和/或广播公司135有意插入的嵌入的观众测量代码和/或水印来便于执行针对主要媒体内容的观众测量和/或观众评级确定。下面参照图18至图21和图38至图47来描述在主要内容中插入和/或嵌入诸如尼尔森代码的观众测量代码的示例性方法和装置。在2009年10月22日提交的名称为“Methods and Apparatus to Extract Data Encoded in Media Content”的美国专利申请No.12/604,176中描述了在主要内容中插入和/或嵌入观众测量代码的其他示例性方法和装置,其全部内容通过引用的方式并入本文中。这样的观众测量代码的优选示例包括由本专利的受让人The Nielsen Company(US),LLC拥有的尼尔森音频编码系统(NAES)代码(又名尼尔森代码)。示例性NAES码包括NAES II和NAES V音频代码系统。但是,可以使用任何过去、现在和/或未来的NAES代码。其他示例性观众测量代码包括但不限于与Arbitron音频编码系统关联的代码。
[0063] 为了提供和/或广播主要媒体内容,图1的示例性传送系统100包括任意数量和/或类型的内容提供商和/或广播公司135,诸如RF电视台、因特网协议电视(IPTV)广播公司、数字电视(DTV)广播公司、有线电视广播公司、卫星电视广播公司、电影工作室、陆地无线电广播公司、卫星无线电广播公司等。在图1的示出的示例中,内容提供商和/或广播公司135经由任何期望的介质(例如,使用卫星发射器140和卫星和/或卫星中继站145的卫星广播、陆地广播、有线电视广播、因特网125和/或媒体存储装置130)向示例性媒体服务器105传送和/或提供主要媒体内容。
[0064] 为了提供可以或可以不与在和/或经由媒体服务器105和/或主要内容呈现设备110呈现的主要媒体内容相关的辅助内容,图1的示例性主要媒体内容和辅助内容传送系统100包括任意数量和/或类型的辅助内容呈现设备,其中一个以标号150表示。图1的示例性辅助内容呈现设备150是客户端设备、消费类设备、和/或用户设备。示例性辅助内容呈现设备150包括但不限于手持计算机、PDA、蜂窝电话、智能电话、膝上型计算机、上网本(netbook)计算机、和/或能够将主要媒体内容和/或辅助内容呈现给人们的任何其他类型的手持、移动和/或便携式辅助内容呈现设备。在图1的示出的示例中,辅助内容呈现设备150可以经由任意数量和/或类型的无线路由器和/或无线接入点(其中一个以标号
160表示)与LAN 155的其他设备(例如,媒体服务器105)通信。示例性辅助内容呈现设备150可以经由示例性LAN 155和/或经由蜂窝基站165与因特网125通信。而且,尽管在图1中未描述,但辅助内容呈现设备150可以经由有线通信协议和/或通信信号可通信地连接到LAN 155。
[0065] 为了提供经由主要广播媒体内容标识的辅助内容,图1的示例性辅助内容呈现设备150包括辅助内容模块170。图1的示例性辅助内容模块170检测例如由媒体服务器105和/或主要内容呈现设备110的一个或更多个扬声器发射的自由场辐射音频信号172和173中的代码和/或水印的存在。当检测到代码时,示例性辅助内容模块170经由无线路由器160和/或基站165从辅助内容服务器175和/或媒体服务器105获得与检测到的代码和/或水印关联的辅助内容,并且在辅助内容呈现设备150的显示器330(图3)上呈现这样获得的辅助内容。下面结合图3、图17和图25来描述实现示例性辅助内容模块170和/或更概括地说--示例性辅助内容呈现设备150的方式。下面结合图18、图22、图23、图38和图48至图56来描述检测并解码在音频信号172和173中嵌入的代码和/或水印的示例性方法和装置。在2009年10月22日提交的名称为“Methods and Apparatus to Extract Data Encoded in Media Content”的美国专利申请No.12/604,176中描述了用于检测并解码在音频信号172和173中嵌入的代码和/或水印的其他示例性方法和装置。
[0066] 如下面结合图2描述的,在一些示例中,媒体服务器105包括辅助内容触发器180,辅助内容触发器180检测并解码在主要媒体内容和/或主要媒体内容的非有效载荷部分(例如,传送主要媒体内容的数据流的报头)中嵌入的代码和/或水印,并触发辅助内容呈现设备150经由例如蓝牙信号和/或无线LAN信号检索和/或呈现辅助内容。这样的触发器包括和/或标识由辅助内容触发器180检测和/或解码的代码。在一些示例中,在媒体服务器105处对代码的检测和/或解码可以与经由主要内容呈现设备110的主要媒体内容的呈现同时地发生。当辅助内容呈现设备被辅助内容触发器180触发时,辅助内容呈现设备150如上所述地检索并呈现与解码的代码关联的辅助内容。另选地,该触发包括将辅助内容从媒体服务器105推送到辅助内容呈现设备150,使得辅助内容呈现设备150不需要请求辅助媒体内容。下面结合图18、图22、图23、图38、和48至图56和/或美国专利申请No.12/604,176来描述的方法和装置可以用于实现示例性辅助内容触发器180。下面结合图2描述实现图1的示例性媒体服务器105的示例性方式。
[0067] 另外或另选地,图1的示例性媒体服务器105可以实现辅助内容服务模块185,辅助内容服务模块185允许示例性辅助内容模块170从媒体服务器105和/或从辅助内容服务器175获得辅助内容。因而,辅助内容模块170和/或更概括地说--示例性辅助内容呈现设备150可以呈现本地高速缓存的和/或可得到的辅助内容以及经由因特网125可得到的辅助内容。
[0068] 图1的示例性辅助内容175响应于针对辅助内容的查询。例如,当图1的辅助内容呈现设备150提供从主要媒体内容解码的代码和/或水印时,辅助内容服务器175向辅助内容呈现设备150提供到辅助内容的一个或更多个链接(例如,URL),提供一个或更多个辅助内容(例如,网页、标题、图像、视频剪辑等),和/或提供可以用于获得辅助媒体内容的调谐信息(例如,调谐到移动DTV信号、频道和/或广播、和/或IPTV信号、频道、和/或多播)。辅助内容呈现设备150优选地自动激活URL和/或调谐信息以自动地获得并开始显示辅助媒体内容。如下面描述的,可以利用过滤器以确定给定的URL和/或调谐信息是否自动激活。在一些示例中,辅助内容服务器175和/或评级服务器190标识主要媒体内容和/或与代码和/或水印关联的主要媒体内容的部分。该标识有助于观众测量目的。下面结合图11和图32来描述实现图1的示例性辅助内容服务器175的示例性方式。
[0069] 为了确定观众评级信息,图1的示例性传送系统包括示例性评级服务器190。使用嵌入的代码、计算出的签名和/或由辅助内容呈现设备、媒体服务器105、与媒体服务器105关联的观众测量设备(未示出)、与主要内容呈现设备110关联的观众测量设备(未示出)、和/或在其他位置的类似设备检测、解码、提取和/或计算出的非有效载荷数据和/或信息等,图1的示例性评级服务器190开发有意义的内容收听或收视统计。例如,通过使用任意数量和/或类型的统计方法处理收集的数据(例如,代码、URL、个人身份信息等),示例性评级服务器190可以确定主要媒体内容和/或辅助内容的总效力、范围和/或观众人口统计。这些评级可以涉及主要内容、辅助内容或主要和辅助内容二者。在一些示例中,媒体服务器105和/或辅助内容呈现设备150存储观众测量数据的日志并且将收集的数据周期性地(例如,每一天)和/或非周期性地发送到评级服务器190以进行处理。另外或另选地,在检测、提取、计算和/或解码各个代码、签名和/或非有效载荷信息时,可以将其提供给评级服务器190。对辅助内容的访问(例如,通过激活URL)也优选地被记录并提供给评级服务器190。
[0070] 图2示出实现图2的示例性媒体服务器的示例性方式。为了从内容提供商135接收主要广播媒体内容和/或辅助内容,图2的示例性媒体服务器105包括任意数量和/或类型的广播输入接口205,其中一个以标号205表示。图2的示例性广播输入接口205经由任意数量和/或类型的设备、模块、电路和/或接口(例如,能够配置为接收选择的陆地广播电视信号的RF调谐器)接收广播主要媒体内容。
[0071] 为了对主要媒体信号解码,图2的示例性媒体服务器105包括媒体解码器210。如果经由广播输入接口205接收的媒体信号是被编码的和/或加密的,则示例性媒体解码器210将主要媒体信号解码和/或解密为例如适合于经由呈现设备接口215输出到示例性主要内容呈现设备110的形式。示例性呈现设备接口215包括但不限于RF输出模块、分量视频输出模块、和/或高分辨率多媒体接口(HDMI)模块。
[0072] 为了存储接收的媒体内容,图2的示例性媒体服务器105包括示例性媒体存储部130。另外或另选地,媒体服务器105可以可通信地连接到诸如DVD读取器或CD读取器的可移动媒体存储部,和/或可通信地连接到外部存储设备。示例性媒体存储部130是HDD。
[0073] 为了触发示例性辅助内容呈现装置150检索并呈现与主要媒体内容相关的辅助内容,图2的示例性媒体服务器105包括示例性辅助内容触发器180。当图2的示例性辅助内容触发器180检测到可能目前正在呈现的主要媒体内容中嵌入的代码和/或在主要媒体内容的非有效载荷部分中包含的标识符(例如,PID、SID、和/或在一个或更多个分组报头中包含的时间戳)时,辅助内容触发器180例如经由任意类型的短距离无线接口(如蓝牙接口220)和/或任意类型的无线LAN接口225向辅助内容呈现设备150发送通知。一些示例不包括辅助内容触发器180,而是依靠辅助内容呈现设备150检测听不到的代码并利用该代码来检索辅助内容。由辅助内容触发器180发送到辅助内容呈现设备150的触发可以包括在主要媒体内容中检测到的代码、基于主要媒体内容计算出的签名和/或指纹、和/或在主要媒体内容的非有效载荷部分中包含的标识符(例如,PID、SID、和/或在一个或更多个分组报头中包含的时间戳)。
[0074] 为了提供辅助内容,图2的示例性媒体服务器105包括示例性辅助内容服务模块185。当经由无线接口225和/或任意类型的有线通信接口230从示例性辅助内容呈现设备150接收到对辅助内容的请求时,图2的辅助内容服务模块185针对与检测到的代码关联的辅助内容查询示例性媒体存储部130,并将辅助内容返回到辅助内容呈现设备150。如上所述,优选地由检测到的听不到的代码来触发对辅助内容的请求。辅助内容可以或可以不与主要媒体内容相关。辅助内容可以由媒体服务器105经由广播输入接口205接收,并存储和/或高速缓存在媒体存储部130中。在一些示例中,辅助内容可以与主要媒体内容协作地在媒体服务器105处接收(例如,在DTV广播的副频道上)。另外或另选地,可以使用与主要内容流相同或不同的通信介质经由一个或更多个单独的节目流接收辅助内容,和/或辅助内容可以由辅助内容服务器175推送给媒体服务器105。一些示例不包括辅助内容服务模块185,而是依靠辅助内容呈现设备150检测听不到的代码并使用该代码来从第二内容服务器175检索辅助内容。
[0075] 尽管在图2中已经示出了实现图1的示例性媒体服务器105的示例性方式,但在图2中示出的接口、数据结构、元素、处理和/或设备中的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,广播输入接口205、示例性媒体解码器210、示例性呈现设备接口215、示例性蓝牙接口220、示例性无线接口225、示例性通信接口230、示例性媒体存储部130、示例性辅助内容触发器180、示例性辅助内容服务模块185和/或更概括地说--图2的示例性媒体服务器105可以通过硬件、软件、固件和/或硬件、软件、和/或固件的任何组合来实现。因而,例如,广播输入接口205、示例性媒体解码器210、示例性呈现设备接口215、示例性蓝牙接口220、示例性无线接口225、示例性通信接口230、示例性媒体存储部130、示例性辅助内容触发器180、示例性辅助内容服务模块185和/或更概括地说--图2的示例性媒体服务器105中的任何一个可以通过一个或更多个电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件(FPLD)、和/或现场可编程门阵列(FPGA)等来实现。当包含这些元件中的一个或更多个的本专利的任何装置权利要求被理解为覆盖纯粹的软件和/或固件实现时,广播输入接口
205、示例性媒体解码器210、示例性呈现设备接口215、示例性蓝牙接口220、示例性无线接口225、示例性通信接口230、示例性媒体存储部130、示例性辅助内容触发器180、示例性辅助内容服务模块185和/或更概括地说--图2的示例性媒体服务器105中的至少一个由此被清楚地限定为包括有形的制品,诸如下面结合图17描述的存储固件和/或软件的那些有形计算机可读介质。此外,示例性媒体服务器105可以包括接口、数据结构、元件、处理和/或设备以替代图2中示出的部件或作为对在图2中示出的部件的补充,和/或可以包括一个以上的任何或全部示出的接口、数据结构、元件、处理和/或设备。
[0076] 图3示出实现图1的示例性辅助内容呈现设备150的示例性方式。为了接收图1的自由场辐射音频信号172和173,图3的示例性辅助内容呈现设备150包括任意类型的音频输入接口305,诸如麦克风。为了检测和/或解码在音频信号172和173中存在的代码和/或水印,图3的示例性辅助内容呈现设备150包括解码器310。下面结合图18、图22、图23、图38以及图48至图56来描述可以用于实现图3的示例性解码器310的示例性装置和方法。在一些示例中,为了节约电池寿命,解码器310不连续工作。相反,解码器310可以非周期地和/或周期地激活以确定主要媒体内容是否已经变化。在解码器310被关闭和/或处于待机模式和/或要补偿或解决传送或接收辅助内容过程中的延迟时的时间间隔中,辅助内容模块170可以根据辅助内容时间表(schedule)持续地呈现辅助内容,诸如下面结合图26和图27所描述的。在一些示例中,在呈现辅助内容以解决内容传送延迟和/或网络连接的中断的时刻之前,使用辅助内容时间表将辅助内容传送到辅助内容呈现设备150。
即,即使大致实时地在主要媒体内容中的指定位置处呈现辅助内容,也可以非实时(例如,稍早)地传送辅助内容。
[0077] 应该理解,解码器310的关闭可能影响辅助内容呈现设备150迅速地检测到主要媒体内容中的变化。为了降低这样的影响,解码器310可以持续工作以检测SID,由此保持例如对频道变化的响应,同时较不频繁地检测、解码和/或验证时间戳。如何频繁地证实时间戳可以根据由特定辅助内容时间表所包含的时间长度来调整检测、解码和/或验证时间戳的频度,和/或获得主要媒体内容和辅助媒体内容之间的希望水平的时间同步。例如,当主要媒体内容例如是预先录制的时候,为了解决商业广告和/或主要媒体内容的其他部分的跳过,可以连续地检测时间戳。
[0078] 为了检索和呈现辅助内容,图3的示例性辅助内容呈现设备包括示例性辅助内容模块170。当示例性解码器310检测到嵌入的代码和/或水印时,图3的示例性辅助内容模块经由任意类型的无线LAN接口315和/或任意类型的蜂窝接口320查询辅助内容服务器175和/或示例性媒体服务器105。响应于该查询,示例性辅助内容模块170接收到一个或更多个辅助内容和/或到辅助内容的一个或更多个链接(例如,URL)。下面结合图25描述实现示例性辅助内容模块170的示例性方式。
[0079] 为了呈现辅助内容等,图3的示例性辅助内容呈现设备150包括任意类型的用户界面模块325和任意类型的显示器330。图3的示例性辅助内容模块170生成并向用户界面模块325提供一个或更多个用户界面,所述一个或更多个用户界面呈现、描述和/或允许用户观看、选择和/或激活辅助内容。下面结合图4和图5来描述可以用于呈现、描述和/或允许用户选择辅助内容的示例性用户界面。由示例性辅助内容模块170生成的示例性用户界面可以响应于经由任意数量和/或类型的输入设备335接收到的用户输入和/或选择。
[0080] 在一些示例中,图3的用户界面模块325与在辅助内容呈现设备150的处理器(未示出)上执行的操作系统(OS)共同实现。在这样的示例中,辅助内容模块170可以实现为在OS内执行的软件应用,其访问由OS实现的应用编程接口(API)以使用户界面能够显示在显示器330上并且经由输入设备335接收用户输入。下面结合图17来描述可以执行以实现图3的示例性辅助内容模块170的示例性机器可使用指令。
[0081] 为了存储由辅助内容模块170接收和/或获得的主要和/或辅助媒体内容等,图3的示例性辅助内容呈现设备150包括任意数量和/或类型的媒体存储部(其中之一以标号340表示)。在一些示例中,在经由用户界面模块325和显示器330进行呈现之前和/或呈现之后,辅助内容可以被获得、高速缓存、和/或推送到辅助内容呈现设备150,并且存储在媒体存储部340。
[0082] 在一些示例中,可以触发图3的示例性辅助内容模块170以经由诸如蓝牙接口345的任意类型的短距离无线接口和/或经由示例性无线LAN接口315获得、接收和/或呈现辅助内容和/或到辅助内容的链接。经由蓝牙接口345和/或无线LAN接口315接收到的触发包括媒体服务器105处检测到的嵌入代码和/或非有效载荷代码(例如,从一个或更多个分组报头提取的PID、SID和/或时间戳)。
[0083] 尽管在图3中示出了实现图1的示例性辅助内容呈现设备150的示例性方式,但在图3中示出的接口、数据结构、元件、处理和/或设备中的一个或更多个可以按照任何其他方式组合、分割、重新设置、省略、消除和/或实现。此外,图3的示例性音频输入接口305、示例性解码器310、示例性无线接口315、示例性蜂窝接口320、示例性用户界面模块325、示例性显示器330、示例性输入设备335、示例性媒体存储部340、示例性蓝牙接口345、示例性辅助内容模块170和/或更概括地说--示例性辅助内容呈现设备150可以通过硬件、软件、固件和/或硬件、软件、和/或固件的任何组合来实现。因而,例如,示例性音频输入接口305、示例性解码器310、示例性无线接口315、示例性蜂窝接口320、示例性用户界面模块325、示例性显示器330、示例性输入设备335、示例性媒体存储部340、示例性蓝牙接口345、示例性辅助内容模块170和/或更概括地说--示例性辅助内容呈现设备150中的任一个可以通过一个或更多个电路、可编程处理器、ASIC、PLD、FPLD、和/或FPGA等来实现。当将包含这些元件的一个或更多个的本专利的任何装置权利要求被理解为覆盖纯粹的软件和/或固件时,示例性音频输入接口305、示例性解码器310、示例性无线接口315、示例性蜂窝接口320、示例性用户界面模块325、示例性显示器330、示例性输入设备335、示例性媒体存储部340、示例性蓝牙接口345、示例性辅助内容模块170和/或更概括地说--示例性辅助内容呈现设备150中的至少一个由此被清楚地限定为包括有形制品,诸如下面结合图17描述的那些存储固件和/或软件的有形计算机可读介质。另外,示例性辅助内容呈现设备150可以包括作为图3中示出的那些接口、数据结构、元件、处理和/或设备的替代或补充的接口、数据结构、元件、处理和/或设备,和/或可以包括一个以上的任意或全部示出的接口、数据结构、元件、处理和/或设备。
[0084] 图4和图5示出了可以经由图3的示例性显示器330呈现以向用户呈现辅助内容的示例性用户界面。图4和图5的示例性用户界面中的每一个包括上部标题部分405,上部标题部分405包括广播源标识符410和当前时间415。示例性广播源标识符410是与广播公司和/或内容提供商135关联的标识语(logo)。
[0085] 图4和图5的示例性用户界面中的每一个还包括中间工具条部分420,中间工具条部分420包括一个或更多个按钮和/或可激活用户界面的元素(其中之一以标号425表示)。示例性按钮425允许用户控制与示例性辅助内容模块170关联的控制设置、访问和/或利用由辅助内容模块170实现的社交网络特征、为随后的检索保存辅助内容、得到与出现在主要媒体内容中的人相关的信息等。
[0086] 图4的示例性用户界面包括下部部分430,下部部分430显示一个或更多个用户可选择和/或可激活的元素(例如,图标、位图图像、文本、链接等,其中之一以标号435表示)。如图5所示,当用户激活和/或选择了特定链接435时,图4的示例性用户接口的下部部分被与元素435关联的辅助内容505替换。例如,辅助内容505可以显示网页,该网页可以与当前在主要内容呈现设备110处呈现的主要媒体内容的商业广告部分中做广告的特定产品相关联或促进该特定产品的购买。如图5所示,提供按钮510以停止辅助内容505的显示并返回到选择的元素435的列表,如图4所示。在要显示更多的辅助内容元素以至于不能适合在下部部分430的显示区域内显示时,图4的示例性用户界面可以包括导航元素以允许用户导航通过可选择的元素435。
[0087] 尽管在图4和图5中示出用户界面,但可以使用任意数量和/或类型的其他和/或另选用户界面。例如,一个或更多个描述的元素可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。而且,示例性用户界面可以包括作为在图4和/或图5中示出的元素的替代或补充的元素,和/或可以包括一个以上的任意或全部示出的元素。
[0088] 图6、图7、图8、图9和图10示出了可以由图1的示例性传送系统100执行的示例性辅助内容传送场景。尽管图6至图10中示出的示例是按顺序描述的,但如下面结合图17描述的,检测代码、检测时间戳t(n)、获得辅助内容、获得到辅助内容的链接、获得辅助内容时间表、显示辅助内容链接、显示辅助内容供给的活动可以大致并行地发生。而且,可以在不提供和/或呈现到该内容的插入链接和/或供给的情况下呈现辅助内容。如下面结合图25至图31描述的,另外或另选地,辅助内容可以基于辅助内容的时间表来提供和/或显示。
辅助内容的时间表限定何时在主要媒体内容内呈现辅助媒体内容。辅助内容时间表可以用于消除可以耗费网络带宽、可以使辅助内容服务器175和/或辅助内容呈现设备150之间失去同步、和/或可以使图1的示例性系统100对带宽限制和/或传输反应时间更敏感的重复的、进行中的、和/或连续的交互的需要。因而,尽管参照特定的辅助媒体内容项描述图6至图10的示例性场景,但另外或另选地,图6至图10的示例性场景可以用于提供辅助内容的时间表。
[0089] 图6的示例性辅助内容传送场景开始于示例性媒体服务器105经由示例性广播输入接口205接收主要媒体内容605。示例性媒体服务器105和/或示例性主要内容呈现设备110经由例如一个或更多个扬声器发出和/或输出与主要媒体内容605关联的自由场辐射音频信号172、173。
[0090] 当辅助内容呈现设备105的示例性解码器310在音频172、173中检测到代码615时(框610),辅助内容模块170将代码615提供给示例性评级服务器190以便于观众测量。示例性辅助内容模块170还基于代码615查询内容服务器175以接收一个或更多个到辅助内容的链接620。用户界面模块325和示例性辅助内容模块170使用例如图4的示例性用户界面来显示获得的链接620。当用户选择和/或激活了其中一个链接620时(框625),辅助内容模块170向评级服务器190发送与该链接关联的标识符630,还从内容服务器175获得与所选择和/或所激活的链接关联的辅助内容(路线635和640),并使用例如图5的用户界面来显示获得的辅助内容640(框645)。如果不需要采集观众测量数据,则可以在图
6的示出的示例中省略与评级服务器190的交互。
[0091] 转到图7,图7的示例性场景的第一个部分与图6的示例性场景的第一个部分相同。因此,在图6和图7的第一个部分中使用相同的标号,并且关注的读者可以参考上面结合图6针对相同编号的元素所提出的讨论。
[0092] 在图7的示出的示例中,从辅助内容服务器175获得了到辅助内容的链接620;但是,辅助内容710是从媒体服务器105而非内容服务器175检索和/或获得的。因而,当特定链接620被选择和/或激活时(框625),辅助内容模块170向媒体服务器105发送与针对所选择的链接620关联的辅助内容710的请求705,并从媒体服务器105接收辅助内容710。接着,辅助内容模块170使用例如图5的用户界面来显示从媒体服务器105获得的辅助内容710(框715)。如果不需要采集观众测量数据,则可以在图7示出的示例中省略与评级服务器190的交互。
[0093] 在图8的示出的示例中,辅助内容呈现设备150从媒体服务器105而不是从辅助内容服务器175获得辅助内容和到辅助内容的链接。因而,在图8的示出的示例中,辅助内容呈现设备150不需要与辅助内容服务器175交互。图8的示例性辅助内容传送场景开始于示例性媒体服务器105经由示例性广播输入接口205接收主要媒体内容805。示例性媒体服务器105和/或示例性主要内容呈现设备110经由例如一个或更多个扬声器发出和/或输出与主要媒体内容805关联的自由场辐射音频信号172、173。
[0094] 当示例性辅助内容服务模块185接收到辅助内容820时,示例性辅助内容服务模块185在媒体存储部130中存储和/或高速缓存辅助内容820(框825)。
[0095] 当辅助内容呈现设备105的示例性解码器310在音频172、173中检测到代码815时(框810),辅助内容模块170将代码815提供给示例性评级服务器190以便于观众测量。示例性辅助内容模块170基于代码815查询辅助内容服务模块185,并接收一个或更多个到辅助内容的链接835。用户界面模块325和示例性辅助内容模块170使用例如图4的示例性用户界面来显示获得的链接835。当其中一个链接835被选择和/或激活时(框840),辅助内容模块170向评级服务器190发送与所选择的链接835关联的标识符845,还从内容服务器175获得与所选择和/或激活的链接835关联的内容855(路线850和855),并使用例如图5的用户界面来显示获得的内容855(框860)。如果不需要采集观众测量数据,则可以在图8示出的示例中省略与评级服务器190的交互。
[0096] 在图9示出的示例中,媒体服务器105检测主要媒体内容中的代码并触发在辅助内容呈现设备150处呈现辅助内容。图9的示例性辅助内容传送场景开始于示例性媒体服务器105经由示例性广播输入接口205接收主要媒体内容905。当示例性辅助内容服务模块185接收到辅助内容910时,辅助内容服务模块185在媒体存储部130中存储和/或高速缓存辅助内容910(框915)。
[0097] 当辅助内容触发器180检测到主要媒体内容905中的代码925时(框920),辅助内容服务模块185向评级服务器192发送代码925,并且辅助内容触发器180经由蓝牙接口220和/或无线接口225向辅助内容呈现设备150发送触发930。辅助内容服务模块185还向辅助内容呈现设备150发送与检测到的代码925关联的链接935。在另选示例中,不发送链接和/或触发930,辅助内容服务模块185将辅助内容推送到辅助内容呈现设备150。
另外或另选地,由辅助内容触发器发送到辅助内容呈现设备150的触发930可以包括在主要媒体内容905中检测的代码、基于主要媒体内容905计算出的签名和/或指纹、和/或在主要媒体内容905的非有效载荷部分中包含的标识符(例如,在一个或更多个分组报头中包含的PID、SID和/或时间戳)。
[0098] 用户界面模块325和示例性辅助内容模块170使用例如图4的示例性用户界面来显示提供的链接935(或辅助内容)。当其中一个链接935被选择和/或激活时(框940),辅助内容模块170从内容服务器175获得与所选择和/或激活的链接935关联的辅助内容950(路线945和950),并使用例如图5的用户界面来显示获得的内容950(框960)。响应于请求945,辅助内容服务模块185向评级服务器190发送与所选择的链接935关联的内容标识符955。如果不需要采集观众测量数据,则可以在图9示出的示例中省略与评级服务器
190的交互。
[0099] 在图10的示出的示例中,内容服务器175针对标识的主要媒体内容在辅助内容呈现设备150上高速缓存和/或预存储辅助内容。图10的示例性辅助内容传送场景开始于示例性媒体服务器105经由示例性广播输入接口205接收主要媒体内容1005。示例性媒体服务器105和/或示例性主要内容呈现设备110经由例如一个或更多个扬声器发出和/或输出与主要媒体内容1005关联的自由场辐射音频信号172、173。
[0100] 当辅助内容呈现设备105的示例性解码器310在音频172、173中检测到代码1015时(框1010),辅助内容模块170将代码1015提供给示例性评级服务器190以便于观众测量。示例性辅助内容模块170基于代码1015查询辅助内容服务器175,并接收主要媒体内容1005的辅助内容1025。辅助内容1025被存储和/或高速缓存在示例性媒体存储部340中(框1030)。
[0101] 用户界面模块325和示例性辅助内容模块170使用例如图5的示例性用户界面来显示辅助内容1025,和/或使用例如图4的示例性用户界面来显示与辅助内容1025关联的链接435(框1040)。在一些示例中,辅助内容1025在被显示时可以包含一个或更多个可选择和/或可激活的链接。当选择特定链接时(框1045),辅助内容模块170向评级服务器190发送所选择和/或激活的链接的标识符1050,并检查是否高速缓存与标识符1050关联的辅助内容(框1055)。如果在媒体存储部340中高速缓存与选择的链接关联的辅助内容(框1055),辅助内容模块170从媒体存储部340检索与选择的链接关联的辅助内容1025,并使用例如图5的用户界面来显示检索的辅助内容(框1040)。如果与选择的链接关联的辅助内容在媒体存储部340中不可用(框1055),则辅助内容模块170基于与选择的链接关联的标识符1060查询内容服务器175,并从辅助内容服务器175接收与选择的链接关联的辅助内容1065。
[0102] 在另选示例中,不响应于代码1015检索链接和/或辅助内容,辅助内容服务器175可以将辅助内容推送到辅助内容呈现设备150,而与辅助呈现设备150处的任何代码检测无关。在这样的另选例中,在针对辅助内容1025查询辅助内容服务器175之前,辅助内容模块170可以针对与检测到的代码1015关联的辅助内容1025查询媒体存储部340。如果不需要采集观众测量数据,可以在图9示出的示例中省略与评级服务器190的交互。
[0103] 图11示出了实现图1的示例性辅助内容服务器175的示例性方式。为了使人1105能够限定辅助内容和/或将辅助内容与主要媒体内容和/或主要媒体内容的部分关联起来,图11的示例性辅助内容服务器175包括客户端接口1110。图11的示例性客户端接口1110是网络接口和/或定制的API,该API使人1105能够与动作寄存器1115进行交互以定义“动作”(例如,特定的辅助内容)并在动作数据库1120中存储所定义的动作。下面结合图12来描述可以用于实现示例性动作数据库1120的示例性数据结构。
[0104] 图11的示例性客户端接口1110还使人1105能够与动作调度器1125进行交互以将动作数据库1120中存储的定义的动作与在节目数据库1130中标识的特定主要媒体内容和/或主要媒体内容的部分关联起来。动作与主要媒体内容和/或主要媒体内容的部分的关联被存储在内容数据库1135中。在一些示例中,将动作与主要媒体内容和/或主要媒体内容的部分关联起来的代价取决于要关联的动作的时间、天数、次数等。下面结合图13来描述可以用于实现示例性内容数据库1135的示例性数据结构。
[0105] 在一些示例中,图11的动作调度器1125建立和/或编辑响应于所标识的主要媒体内容而提供的辅助内容的时间表。这样的辅助内容时间表限定了在所标识的主要媒体内容的特定时间处和/或期间要呈现的一个或更多个辅助内容项。下面结合图26和图27来描述可以用于表示辅助内容时间表的示例性数据结构。
[0106] 为了使示例性媒体服务器105和/或辅助内容呈现设备150能够查询和/或获得辅助内容,图11的示例性辅助内容服务器175包括动作服务器1140。当从媒体服务器105或辅助内容呈现设备150接收到代码和可选时间戳时,示例性动作服务器1140标识与接收的代码关联的主要媒体内容和/或主要媒体内容的部分。基于标识的主要媒体内容和/或主要媒体内容的部分,动作服务器1140查询内容数据库135以标识与代码和可选时间戳关联的辅助内容的动作(例如,辅助内容)和/或时间表。动作服务器1140将标识的动作和/或标识的辅助内容时间表返回给发出请求的媒体服务器105或辅助内容呈现设备150。在一些示例中,动作服务器1140向动作审核器1145提供有关哪些代码已经触发了辅助内容的访问的信息,动作审核器1145可以设置在评级服务器190或与评级服务器190相关联。
[0107] 基于由示例性动作服务器1140提供的访问信息和/或基于由示例性辅助内容呈现设备150和/或示例性媒体服务器105提供的辅助内容访问和/或选择信息,图11的示例性动作审核器1145将表示已经发生的接触(例如,观看辅助内容的邀请)和/或辅助内容消费(例如,实际“点进次数”)的数据制成表格。例如,这样的信息可以用于确定广告活动的效力。而且,这样的信息可以用于调整和/或确定用户1105将辅助内容与主要媒体内容和/或主要媒体内容的部分关联起来的成本。
[0108] 为了将动作、辅助内容、针对辅助内容的邀请、和/或到辅助内容的链接编码到主要媒体内容中,示例性辅助内容服务器175包括动作编码器1150。因而,在主要媒体内容中的代码不限于仅为了观众测量目的而标识主要媒体内容,并且还另外或另选地可以是与辅助内容和/或到辅助内容的链接对应的双重用途代码。下面结合图18至图21以及图38至图47来描述图11的实现示例性动作编码器1150的示例。
[0109] 为了基于忠诚和/或相似组(affinity group)而建立辅助内容项和/或将辅助内容项添加到辅助内容时间表,图11的示例性辅助内容服务器175包括基于忠诚的调度器1160。图11的示例性的基于忠诚的调度器1160将不同人观看的主要媒体内容制成表格并基于他们对特定节目、特定广告和/或与特定内容提供商135关联的节目的忠诚和/或消费的频度来选择辅助内容。另外或另选地,基于人在对相同节目、广告和/或内容提供商135的消费和/或响应方面与另一人的相似性,示例性基于忠诚的调度器1160可以将辅助媒体内容添加到辅助内容时间表。下面结合图32来描述实现示例性基于忠诚的调度器1160的示例性方式。
[0110] 示例性基于忠诚的调度器1160可以用于基于用户表现出的对特定主要媒体内容和/或内容提供商130的忠诚度而以特别的优惠来奖励特定用户。可以基于任意数量和/或类型的标准来确定忠诚,这些标准包括但不限于消费特定主要媒体内容和/或特定主要媒体内容的集/电视广播所花的小时数、在特定内容传送网络上观看的演出的多样性、用户激活和/或选择辅助内容供给(offer)的频率等。基于任意数量和/或类型的等级,忠诚可以表现为任意数量和/或类型的标量。例如,忠诚可以表现为在过去十天观看特定电视剧的一集的次数。
[0111] 尽管在图11中已经示出了实现图1的示例性辅助内容服务器175的示例性方式,但图11中示出的接口、数据结构、元素、处理和/或设备的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,图11的示例性客户端接口1110、示例性动作寄存器1115、示例性动作数据库1120、示例性动作调度器1125、示例性节目数据库1130、示例性内容数据库1135、示例性动作服务器1140、示例性动作审核器1145、示例性动作编码器1150、示例性基于忠诚的调度器1160和/或更概括地说--示例性辅助内容服务器175可以通过硬件、软件、固件和/或硬件、软件和/或固件的组合来实现。因而,例如,示例性客户端接口1110、示例性动作寄存器1115、示例性动作数据库1120、示例性动作调度器1125、示例性节目数据库1130、示例性内容数据库1135、示例性动作服务器1140、示例性动作审核器1145、示例性动作编码器1150、示例性基于忠诚的调度器1160和/或更概括地说--示例性辅助内容服务器175中的任一个可以通过一个或更多个电路、可编程处理器、ASIC、PLD、和/或FPGA等来实现。当将包含这些元件中的一个或更多个的本专利的任何装置权利要求理解为涵盖纯粹软件和/或固件的实现时,示例性客户端接口1110、示例性动作寄存器1115、示例性动作数据库1120、示例性动作调度器1125、示例性节目数据库1130、示例性内容数据库1135、示例性动作服务器1140、示例性动作审核器1145、示例性动作编码器1150、示例性基于忠诚的调度器1160和/或更概括地说、示例性辅助内容服务器
175中的至少一个由此被清楚地限定为包括有形的制品,诸如下面结合图17描述的存储固件和/或软件的那些有形计算机可读介质。此外,示例性辅助内容服务器175可以包括作为其他图11中示出的接口、数据结构、元件、处理和/或设备的替代或补充的接口、数据结构、元件、处理和/或设备,和/或可以包括一个以上的任何或全部示出的接口、数据结构、元件、处理和/或设备。
[0112] 图12示出了可以用于实现图11的示例性动作数据库1120的示例性数据结构。图12的示例性数据结构包括针对相应动作的多个条目1205。为了标识动作,图12的示例性条目1205中的每一个包括动作标识符(ID)字段1210。图12的示例性动作ID字段1210中的每一个包含唯一地标识特定动作(例如,特定辅助内容和/或到特定辅助内容的链接)的一个或更多个数字和/或字母。
[0113] 为了标识客户端、与动作关联的人和/或组织,图12的示例性条目1205中的每一个包括客户端字段1215。图12的示例性客户端字段1215中的每一个包括一个或更多个数字和/或字母,所述一个或更多个数字和/或字母唯一地标识关联、限定、出租、购买和/或拥有与动作1205关联的代码时隙和/或辅助内容的用户、客户端和/或组织。
[0114] 为了标识动作类型,图12的示例性条目1205中的每一个包括类型字段1220。图12的示例性类型字段1220中的每一个包括标识动作1205的类型的一个或更多个数字、字母和/或代码。示例性动作类型包括但不限于网页访问、电话拨叫和/或传递到本地Java小程序。
[0115] 为了指定动作,图12的示例性条目1205中的每一个包括脚本字段1225。图12的示例性脚本字段1225中的每一个包括限定动作1205的文本和/或命令。示例性脚本包括但不限于URL、电话号码、目标Java小程序和/或OS命令。
[0116] 为了限定动作何时有效,图12的示例性条目1205中的每一个包括有效字段1230。图12的示例性有效字段1230中的每一个包括一个或更多个时间和/或日期,所述一个或更多个时间和/或日期限定了动作1205有效和/或可激活的一个或更多个时段。
[0117] 为了限定如何呈现动作,图12的示例性条目1205中的每一个包括邀请字段1235。图12的示例性邀请字段1235中的每一个限定如何在例如图4的示例性用户接口的下部部分中显示对动作1205的邀请。例如,邀请字段1235可以限定和/或引用要显示的位图图像。
[0118] 为了限定动作是否可以保存,图12的示例性条目1205中的每一个包括保存字段1240。图12的示例性保存字段1240中的每一个包含表示动作是否可以被保存在辅助内容呈现设备150和/或媒体服务器105处(用于随后在辅助内容呈现设备150的检索和/或显示)和/或媒体服务器105处的值。在一些示例中,保存字段1240限定了可以在辅助内容呈现设备150和/或媒体服务器105处保存动作1205的时段和/或从高速缓冲存储器清除动作1205的时间。
[0119] 尽管在图12中示出了可以用于实现图11的示例性动作数据库1120的示例性数据结构,但一个或更多个条目和/或字段可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。而且,图12的示例性数据结构可以包括作为图12中示出的那些字段的替代或补充的字段,和/或可以包括一个以上的任何或全部示出的字段。
[0120] 图13示出了可以用于实现图11的示例性内容数据库1135的示例性数据结构。图13的示例性数据结构包括针对主要媒体内容和动作(例如,辅助内容)的相应组合的多个条目1305。为了标识主要媒体内容和/或其任何部分,图13的示例性条目1305中的每一个包括内容ID字段1310。图13的示例性内容ID字段1310中的每一个包含唯一地标识特定主要媒体内容和/或主要媒体内容的部分的一个或更多个数字和/或字母。示例性内容ID标识特定主要媒体内容和/或主要媒体内容的特定段。
[0121] 为了标识动作,图13的示例性条目1305中的每一个包括动作ID字段1315。图13的示例性动作ID字段1315中的每一个包含一个或更多个数字和/或字母,所述一个或更多个数字和/或字母标识已与内容ID字段1310中标识的主要媒体内容和/或主要媒体内容的部分关联起来的特定动作(例如,特定辅助内容和/或到特定辅助内容的链接)。
[0122] 为了标识动作ID 1315何时与内容ID 1310有效地关联起来,图13的示例性条目1305中的每一个包括日期字段1320和时间字段1325。图13的示例性日期字段1320中的每一个列出和/或限定了动作ID 1315与内容ID 1310有效地关联起来的一个或更多个特定日期。具体地说,如果接收到针对与内容ID 1310关联的辅助内容的请求,则如果当前日期落入日期字段1320所限定的日期的范围和/或组内,仅返回与动作ID1315关联的辅助内容。同样,示例性时间字段1325中的每一个列出和/或限定了动作ID 1315与内容ID
1310有效地关联起来的一个或多个时间部分。
[0123] 为了记录辅助内容的访问,图13的示例性条目1305中的每一个包括计数字段1330。图13的示例性计数字段1330中的每一个包括一个或更多个移动值,所述一个或更多个移动值表示已对辅助内容提出的邀请的次数(例如,显示在图4的示例性用户接口中)以及相应的辅助内容被呈现的次数(例如,显示在图5的示例性用户接口中)。
[0124] 尽管在图13中已经示出了可以用于实现图11的示例性内容数据库1135的示例性数据结构,但一个或更多个条目和/或字段可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。而且,图13的示例性数据结构可以包括作为图13中示出的那些字段的替代或补充的字段,和/或可以包括一个以上的任何或全部示出的字段。
[0125] 图14、图15和图16示出了可以利用图1和图11的示例性辅助内容服务器175实现的示例性辅助内容传送流程。在图14的示出示例中,动作和/或辅助内容被示例性动作编码器1150编码并且被包括在内容提供商135广播的主要媒体内容中。因而,与可以用于随后检索到辅助内容的链接和/或取回辅助内容的简单的代码、标识符和/或索引不同,嵌入主要媒体内容中的数据和/或信息表示实际的辅助内容。在这样的情形下,通过对这样的代码解码,辅助内容呈现设备150可以直接获得辅助内容和/或动作,无需针对链接和/或辅助内容查询示例性辅助内容服务器175。除了或代替由内容编码器1405嵌入主要媒体内容中的与内容提供商135关联的代码,示例性动作编码器1150可以嵌入其他数据和/或信息。如图14所示,为了计数、观众测量和/或审核的目的,示例性辅助内容呈现设备150向示例性动作审核器1145通知辅助内容的呈现。
[0126] 在图15的示出的示例中,动作编码器1150将标识符(例如,链接)编码到主要媒体内容中,这可以用于获得辅助媒体内容。因而,嵌入的信息间接地表示辅助内容。因此,当辅助内容呈现设备150检测到与辅助内容关联的嵌入链接时,它可以利用该链接来获得辅助内容,而不是首先查询辅助内容服务器175以基于检测到的、解码的和/或提取出的代码和/或标识符来获得链接。
[0127] 在图16的示出的示例中,辅助内容呈现设备150仅响应于由内容提供商135嵌入的那些代码来查询并获得辅助内容。因此,当辅助内容呈现设备150检测到代码时,它与动作服务器1149交互以检索辅助内容和/或到与检测到的代码关联的辅助内容的链接。
[0128] 图17示出了可以用于实现图1和图3的示例性辅助内容呈现设备150的示例性机器可接受指令。处理器、控制器和/或任何其他适当的处理装置可以被使用和/或编程为执行图17的示例性机器可接受指令。例如,图17的机器可接受指令可以实现为有形计算机可读介质上存储的编码指令。如本文使用的,术语“有形计算机可读介质”被清楚地限定为包括任意类型的计算机可读存储部并且不包括传播信号。示例性有形计算机可读介质包括任意类型的易失性和/或非易失性物理存储器和/或物理存储器设备、闪存、CD、DVD、软盘、只读存储器(ROM)、随机存取存储器(RAM)、可编程ROM(PROM)、电可编程ROM(EPROM)、和/或电可擦除PROM(EEPROM)、光学存储盘、光学存储设备、磁性存储盘、磁性存储设备、高速缓冲存储器、和/或存储信息达任意时间(例如,存储扩展的时段、永久存储、短暂存储、为临时缓冲而存储、和/或为了高速缓存信息)并可以由处理器、计算机和/或具有处理器的其他机器(诸如下面结合图24讨论的示例性处理器平台P100)访问的任何其他存储介质。如本文使用的,术语“非瞬时性(non-transitory)计算机可读介质被清楚地限定为包括任意类型的计算机可读介质并且不包括传播信号。上面的组合也包括在计算机可读介质的范围内。例如,机器可读指令包括使处理器、计算机和/或具有处理器的机器执行一个或更多个特定处理的指令和数据。另选地,图17的示例性机器可接受指令中的一些或全部可以使用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任何组合来实现。另外,图17的示例性处理中的一些或全部可以被人工地实现或被实现为任何前述技术的任何组合,例如固件、软件、离散逻辑和/或硬件的任何组合。此外,可以采用实现图17的示例性操作的许多其他方法。例如,可以改变框的执行顺序,和/或可以改变、消除、再分割或组合所描述的一个或更多个框。另外,任何或全部的图17的示例性机器可接受指令可以通过例如单独的处理线程、处理器、设备、离散逻辑、电路等顺序地执行和/或并行地执行。
[0129] 可以执行图17的示例性机器可接受指令以实现三个并行处理,这三个并行处理例如可以由在OS内执行的、分立的大致不同步的处理来实现。在第一个处理中,图17的示例性机器可接受指令开始于示例性解码器310对音频信号172和173中存在的任何代码进行检测和解码(框1705)。当检测到代码和/或从示例性媒体服务器105接收到触发时(框1710),辅助内容模块170向示例性媒体服务器105和/或示例性辅助内容服务器175发送针对辅助内容的请求(框1715)。接着,控制返回到块1705以继续检测代码并对代码进行解码。
[0130] 在第二个处理中,当示例性辅助内容模框170例如从示例性媒体服务器105和/或示例性辅助内容服务器175接收了到辅助内容的链接和/或针对辅助内容的邀请时,图17的示例性机器可接受指令开始(框1720)。辅助内容模框170使用例如图4的示例性用户界面经由示例性用户界面模块325和显示器330来显示接收的链接和/或邀请(框
1725)。接着,控制返回到框1720以等待其他辅助内容信息。
[0131] 在第三个处理中,当用户经由输入设备335选择和/或激活了辅助内容链接时,图17的示例性机器可接受指令开始(框1730)开始。辅助内容模块170从本地高速缓冲存储器340、示例性媒体服务器105和/或示例性辅助内容服务器175获得并显示与所选择和/或激活的链接关联的辅助内容(框1735)。当用户结束辅助内容的显示时(例如,使用图5的示例性关闭按钮510)(框1740),辅助内容模块170使用例如图4的示例性用户界面经由示例性用户界面模块325和显示器330显示之前接收的链接和/或邀请(框1745)。接着,控制返回到块1730以等待选择和/或激活的另一个链接。
[0132] 音频代码和水印
[0133] 在图18中示出了示例性编码和解码系统1800。例如,该示例性系统1800可以是电视观众测量系统,这将用作进一步描述本文所述的编码和解码处理的背景。图18的示例性系统1800包括编码器1802,编码器1802将代码1803添加到音频信号1804中以产生编码的音频信号。代码1803可以表示任何选择的信息。例如,在媒体监测背景中,代码1803可以表示和/或标识广播主要媒体内容,诸如电视广播、无线电广播等。另外,代码1803可以包括定时信息,定时信息表示将代码1803插入音频中的时间或媒体广播时间。另选地,如下面描述的,代码可以包括用于控制一个或更多个目标设备的行为的控制信息。应该理解,图18和图19的示例性编码器1802和/或图38和图39的示例性编码器3802可以用于实现图1的示例性内容提供商135和/或图11的示例性动作编码器1150。在2009年10月22日提交的名称为“Methods and Apparatus to Extract Data Encoded in Media Content”的美国专利申请No.12/604,176中描述了可以用于实现示例性内容提供商135的其他示例性编码器。
[0134] 音频信号1804可以是任何形式的音频,包括语音、音乐、噪声、商业广告音频、与电视节目关联的音频、现场表演等。在图18的示例中,编码器1802将编码的音频信号传递给发送器1806。发送器1806将编码的音频信号连同与编码的音频信号关联的任何视频信号1808一起发送。在一些情况下,尽管编码的音频信号可以具有关联的视频信号1808,但编码的音频信号不需要具有任何关联的视频。
[0135] 尽管在图18中示出的示例性系统1800的发送侧示出了单个发送器1806,但发送侧可以复杂得多,并可以在分发链中包括多个级别,音频信号1804可以通过该分发链传递。例如,音频信号1804可以在全国性网络处生成并传递到本地性网络以进行本地分发。因此,尽管编码器1802被示出为在发送器1806之前的发送阵形中,但可以将一个或更多个编码器布置在音频信号1804的整个分发链中。因而,可以在多个级别处将音频信号1804编码,并且音频信号1804可以包括与那些多个级别关联的嵌入代码。下面提供了有关编码和示例性编码器的进一步细节。
[0136] 发送器1806可以包括可以通过自由空间传播(例如,经由陆地或卫星通信链路)分发编码的音频信号的射频(RF)发送器或用于通过线缆、光纤等分发编码的音频信号的发送器中的一个或更多个。在一些示例中,发送器1806可以用于在全部广阔的地理区域中广播编码的音频信号。在其他情况下,发送器1806可以通过有限的地理区域分发编码的音频信号。发送可以包括将编码的音频信号上变频为射频以实现音频信号的传播。另选地,发送可以包括以能够在诸如因特网、广域网或局域网的一个或更多个网络上发送的数字比特或分组(packet)的形式分发编码的音频信号,如结合图1在上面所描述的。因而,编码的音频信号可以由载波信号承载,由信息包承载或由用于分发音频信号的任何适当技术承载。
[0137] 当接收器1810接收到编码的音频信号时(在媒体监测背景中,接收器1810可以位于统计学意义上选择的测定地点1812处),接收到的节目信号的音频信号部分被处理以恢复代码,即使当编码的音频信号被接收器1810的扬声器1814呈现时,该代码的存在对于听众来说也是不可察觉的(或大致不可察觉的)。为此,解码器1816或者连接到接收器1810处可用的音频输出部1818或者连接到位于扬声器1814附近的麦克风1820,音频通过麦克风1820得到再现。接收的音频信号可以是单声道或者是立体声格式。下面提供有关解码和示例性解码器的进一步细节。应该理解,图18和图22的示例性解码器1816和示例性麦克风1820和/或图38的示例性麦克风3820可以用于分别实现图3的示例性解码器310和示例性音频输入接口305,和/或图1的示例性辅助内容触发器180。在2009年
10月22日提交的名称为“Methods and Apparatus to Extract Data Encoded in Media Content”的美国专利申请No.12/604,176中描述了可以用于实现示例性解码器310的其他示例性解码器。
[0138] 音频编码
[0139] 如上所述,编码器1802将一个或更多个听不到(或大致听不到)的代码插入音频1804以创造编码的音频。在图19中示出了实现图18的示例性编码器1802的示例性方式。在一些实现中,图19的示例性编码器1802包括接收音频1804的取样器1902。取样器1902连接到掩蔽评价器1904,掩蔽评价器1904评价在取样的音频中隐藏代码的能力。代码1803提供给代码频率选择器1906,代码频率选择器1906确定用于表示插入到音频中的代码1803的音频代码频率。代码频率选择器1906可以包括代码到符号的转换和/或任何适当的检测或纠错编码。将用于表示代码1803的指定代码频率的指示传递给掩蔽评价器
1904,使得掩蔽评价器1904知道音频1804的掩蔽所应该确定的频率。另外,代码频率的指示提供给代码合成器1908,代码合成器1908产生具有由代码频率选择器1906指定的频率的正弦波信号。组合器1910接收来自代码合成器1908的合成的代码频率和提供给取样器的音频二者,并将它们组合以产生编码的音频。
[0140] 在以模拟形式将音频1804提供给编码器1802的一些示例中,使用模数(A/D)转换器或任何其他适当的数字转换器来实现取样器1902。取样器1902可以按照例如48000赫兹或适合于对音频1804取样同时满足尼奎斯特标准的任何其他取样速率来对音频1804取样。例如,如果音频1804被频率限制在15000赫兹,取样器1902可以在30000赫兹工作。来自取样器1902的各个样本可以由一串数字比特表示,其中该串中的比特的数量指示执行取样的精度。例如,取样器1902可以产生8比特、16比特、24比特或32比特。
[0141] 除了对音频1804取样以外,示例性取样器1902累积多个样本(即,音频块)以一起处理。例如,示例性取样器1902累积512个样本音频块并将它们同时传递到掩蔽评价器1904。另选地,在一些示例中,掩蔽评价器1904可以包括累积器,其中多个样本(例如,512)在被处理之前可以累积在缓冲器中。
[0142] 掩蔽评价器1904接收或累积样本(例如,512个样本)并确定累积样本对人的听觉隐藏代码频率的能力。即,通过作为一个整体来评价音频的各个临界频带以确定它的能量并确定每个临界频带的类似噪声或类似音调属性以及确定临界频带掩蔽代码频率的总能力,掩蔽评价器1904确定是否能够将代码频率隐藏在由累积的样本表示的音频内。通过对人的听觉执行的实验研究所确定的临界频带可以在宽度上从频谱的下端处的个别频带变化到在声谱的上端处的包含十个或更多邻近频率的频带。如果掩蔽评价器1904确定可以将代码频率隐藏在音频1804中,则掩蔽评价器1904指示能够在保持隐藏的同时将代码频率插入音频1804内的振幅水平,并向代码合成器1908提供振幅信息。
[0143] 在一些示例中,通过在不做出人能够听到的变化的情况下确定在任何临界频带处可以出现的能量Eb或在掩蔽能量水平中的最大变化,掩蔽评价器1904执行掩蔽评价。由掩蔽评价器1904执行的掩蔽评价可以如例如在运动图像专家组-高级音频编码(MPEG-AAC)音频压缩标准ISO/IEC 13818-7:1997中概述的那样执行。在各个临界频带中的声学能量影响其邻带的掩蔽能量,并且在诸如ISO/IEC 13818-7:1997的标准文档中描述了计算掩蔽效果的算法。这些分析用于针对各个音频块确定由于音调(例如,所评价的音频如何与音调相像)以及类似噪声的(即,所评价的音频如何与噪声相像)特征导致的掩蔽贡献。进一步的分析可以评价暂时的掩蔽,暂时的掩蔽通常在50至100ms的短时间地扩展了音频的掩蔽能力。利用掩蔽评价器1904得到的分析在各个临界频带基础上提供了对能够在不产生任何明显的音频劣化(例如,听不到)的情况下可以添加到音频1804的代码频率的振幅的确定。
[0144] 在一些示例中,使用将输入代码1803关联到状态的查找表来实现代码频率选择器1906,其中各个状态由在编码的音频信号中强调的多个代码频率表示。例如,代码频率选择器1906可以包括将符号或数据状态关联到多组代码频率的信息,该信息冗余地表示数据状态。被选择使用的状态的数量可以基于输入代码的类型。例如,表示2个比特的输2
入代码可以转换为表示4个符号或状态(例如,2)中的一个的代码频率。在其他示例中,
4
表示4比特信息的输入代码由16个符号或状态(例如,2)中的一个表示。当将代码1803转换为一个或更多个符号或状态时,可以使用一些其他编码来嵌入纠错。另外,在一些示例中,可以在音频1804中嵌入一个以上的代码。
[0145] 示出代码频率配置的示例性图表在图20A中以标号2000示出。该图表包括值的范围从360到1,366的频率索引。通过对18,432个样本的块的离散傅立叶变换(DFT),当在频域中观察时,这些频率索引对应于嵌入到音频信号中的正弦波的频率。参考频率索引而不参考实际频率的原因在于,索引所对应的频率基于在编码器1802内使用的取样速率和解码器1816处理的样本的数量而变化。取样速率越高,在频率中各个索引与其相邻索引就越近。相反,低取样速率导致相邻索引在频率上被相对远的分开。例如,在48,000赫兹的取样速率的情况下,在图20A的图表2000中示出的索引之间的间隔是2.6赫兹。因而,频率索引360对应于936赫兹(2.6赫兹×360)。当然,可以选择其他取样速率和频率索引。例如,可以选择和/或使用一个或更多个频率索引范围以避免与用于承载其他代码和/或水印的频率产生干扰。而且,所选择和/或使用的频率范围不需要是连续的。在一些示例中,使用了0.8千赫兹(kHz)到1.03kHz以及2.9kHz到4.6kHz范围中的频率。在其他示例中,使用了0.75千赫兹(kHz)到1.03kHz以及2.9kHz到4.4kHz范围中的频率。
[0146] 如图20A所示,图表2000包括首行2002,首行2002列出了以列表示的144个不同状态或符号,其中图表2000示出了前3个状态和最后状态。选择状态以表示代码或代码的部分。为了清楚起见,第三个状态和最后的状态之间的状态由虚线框表示。各个状态占据图表2000中的相应列。例如,状态S1占据以标号2004表示的列。各列包括多个频率索引,这些频率索引表示在图表2000的左边列2006中指示的七个不同代码频带中的每一个中的频率。例如,如列2004中所示,状态S1由频率索引360、504、648、792、936、1080和1224表示。为了发送144个状态中的一个,在18,432个样本的组中强调所选状态的列中的代码索引。因而,为了发送状态S1,索引360、504、648、792、936、1080和1224被强调。在一些示例性编码器1802中,同时仅强调其中一个状态的索引。
[0147] 如图20A所示,每个代码频带包括顺序地编号的频率索引,各个频率索引对应于各个状态。即,代码频带0包括频率索引360至503,每个频率索引对应于在图表2000中示出的144个不同状态/符号中的一个。另外,系统中的相邻代码频带隔开一个频率索引。例如,代码频带0的范围从索引360到索引503,并且相邻代码频带1的范围从索引504到索引647。因而,代码频带0与相邻代码频带1间隔开一个频率索引。有利地,在图20A中示出的代码频率在频率方面彼此靠近,并因而受到与多径干扰相对相同的方式的影响。另外,图表2000中高水平的冗余增加了恢复代码的能力。
[0148] 因而,如果代码频率选择器1906以图20A的图表2000为前提操作,当把输入到代码频率选择器1906的代码编码或映射到状态S1时,代码频率选择器1906向掩蔽评价器1904和代码合成器1908指示在编码的信号中应该强调频率索引360、504、648、792、936、
1080和1224,因此代码合成器1908应该产生具有与频率索引360、504、648、792、936、1080和1224对应的频率的正弦波,并且这样的正弦波应该生成为具有由掩蔽评价器1904指定的振幅,使得可以将生成的正弦波插入到音频1804中,但却是听不到的(或大致听不到的)。作为另外的示例,当输入代码标识应当将状态S144编码到音频1904中时,代码频率选择器1906向掩蔽评价器1904和代码合成器1908标识频率索引503、647、791、1079、1223和1336,使得相应正弦波可以生成为具有适当的振幅。
[0149] 用于选择图表2000中状态以传送信息的编码可以包括数据块和同步块。例如,将由系统利用这些144个不同状态编码的消息包括同步块和随后的多个数据块。同步块和数据块中的每一个被编码成18,432个样本,并通过强调在图表2000的一列中示出的状态中的一个的索引来表示。
[0150] 例如,通过强调被选择为表示同步信息的16个状态中的一个来表示同步块。即,同步块表示16个不同消息类型中的一个的开始。例如,当考虑媒体监测时,网络电视台可以使用第一状态以表示同步,并且本地的附属电视台可以使用第二状态来表示同步。因而,在传输的开始时,选择16个不同状态中的一个来表示同步,并通过强调与该状态关联的索引而发送该状态。同步数据之后是信息有效载荷数据。
[0151] 在前面的示例中,关于表示同步信息的这16个状态如何分布在全部144个状态中,在一些示例中,这样来选择16个状态,使得包括表示这16个状态中的每一个状态的第一代码频率的频率范围大于将该频率范围与包括同样表示这16个状态中的每一个状态的第二代码频率的相邻频率范围分开的频率量。例如,在上面的表中,表示同步信息的16个状态可以每9个状态间隔开,使得状态S1、S10、S19、S28、S37、S46、S54、S63、S72、S81、S90、S99、S108、S117、S126、S135表示同步信息可能占用的可能状态。在代码频带0和代码频带1中,这对应于135个索引的频率索引的宽度。代码频带0的最大可能同步状态(S135)和代码频带1的最小可能同步状态(S1)之间分隔的频率是10个频率索引。因而,表示同步信息的频率索引的各个集合的范围比分隔开相邻集合的量(例如,10个索引)大得多(例如,135个索引)。
[0152] 在该示例中,可以使用144个状态空间的不用于表示同步的其余128个状态来发送信息数据。该数据可以由表示期望比特的数量的任意数量个适当状态来表示。例如,可以使用16个状态来表示每个状态的4比特信息,或者可以使用128个状态来表示每个状态的7比特信息。在一些示例中,这样来选择被选择为表示数据的状态,即,使得包括表示每一个数据状态的第一代码频率的频率范围大于将该频率范围与包括同样表示每一个数据状态的第二代码频率的相邻频率范围分隔开的频率量。因而,用于表示可能的数据的状态包括至少一个编号充分小的状态(例如,S2)和至少一个编号充分大的状态(S144)。这确保了包括可以用于表示数据的状态的范围在它们各自的代码频带内占据宽的带宽,并且相邻范围之间的间隔是窄的。
[0153] 编码器1802可以重复编码处理,并由此利用特定代码对多个音频块编码。即,可以将所选择的代码频率插入多个连续的音频块,所述音频块具有512个样本。在一些示例中,表示符号的代码频率可以在36个具有512个样本的连续音频块中重复,或在72个具有256个样本的重叠块中重复。因而,在接收侧,当通过如DFT的傅立叶变换处理18432个样本时,被强调的代码频率将在得到的频谱中可见。
[0154] 图20B示出了可以由代码频率选择器1908使用的示例性另选图表2030,其中图表2030在第一行2032中列出四个状态,每个状态包括在七个代码频带2034中列出的相应的频率索引。通过对512个样本的块的如DFT的傅立叶变换,当在频域中观察时,这些频率索引对应于嵌入音频信号的正弦曲线的频率。作为示例,当发送状态S1时,代码频率选择器
1906指示将使用频率索引10、14、18、22、26、30和34。如上所述,对这些频率的指示被发送到掩蔽评价器1904和代码合成器1908,使得可以生成具有适当振幅并对应于所指示的频率索引的正弦波以添加到音频1804。在根据图表2030操作的示例性编码器1802中,与期望的符号对应的代码频率被编码为19个具有256个样本的重叠块,以使之能够检测。
[0155] 如同利用图20A的图表2000,图表2030指示代码频带被与表示相邻符号的频率索引相同的频率距离分隔开。例如,代码频带0包括具有频率索引13的代码频率索引,频率索引13是与表示状态S1的代码频带1的频率索引14隔开的一个频率索引。
[0156] 图20C的图表2060示出了可以由代码频率选择器1908使用的另一个示例,其中图表2060在第一行2062中列出24个状态,每一个状态包括在七个代码频带2064中列出的相应的频率索引。通过对3072个样本的块的如DFT的傅立叶变换,当在频域中观察时,这些频率索引对应于嵌入音频信号的正弦曲线的频率。作为示例,当发送状态S1时,代码频率选择器1906指示将使用频率索引60、84、108、132、156、180和204。如上所述,对这些频率的指示被发送到掩蔽评价器1904和代码合成器1908,使得可以生成具有适当振幅并对应于指示的频率索引的正弦波以添加到音频1804。
[0157] 在根据图20C的图表2030操作的示例性编码器1802中,与期望的符号对应的代码频率被编码为182个具有256个样本的重叠块。在这样的实现中,可以使用开始的16列作为数据符号,并且可以使用第17列作为同步符号。其余7个列可以用于如视频点播的特殊数据,例如,列18、19、20、21、22、23可以用作辅助数据符号,并且仅在列24中存在辅助同步符号时才将这些解码。
[0158] 如同利用上述图表2000和2030,图表2060指示代码频带被与表示相邻符号的频率索引相同的频率距离分隔开。例如,代码频带0包括具有频率索引83的代码频率索引,频率索引83是与表示状态S1的代码频带1的频率索引14分开的一个频率索引。
[0159] 现在回到图19,如上所述,代码合成器1908从代码频率选择器1906接收对频率索引的指示,需要包括这些频率索引以产生包括输入代码的指示的编码音频信号。响应于对频率索引的指示,代码合成器1908生成具有标识的频率的多个正弦波(或包括多个正弦波的一个复合信号)。该合成可以导致正弦波信号或表示正弦波信号的数字数据。在一些示例中,代码合成器1908生成具有由掩蔽评价器1904指定的振幅的代码频率。在其他示例中,代码合成器1908生成具有固定振幅的代码频率,并且这些振幅可以由位于代码音序器1908内或布置在代码合成器1908和组合器1910之间的一个或更多个增益块(未示出)来调整。
[0160] 尽管上面描述了生成正弦波或表示正弦波的数据的示例性代码合成器1908,但代码合成器的其他示例性实现是可能的。例如,另一示例性代码合成器1908可以输出用于调整提供给组合器1910的音频的特定频率的振幅的频域系数,而不生成正弦波。按照该方式,音频的频谱可以调整为包括必需的正弦波。
[0161] 组合器1910接收代码合成器1908的输出和音频1804二者,并将它们组合以形成编码的音频。组合器1910可以按照模拟或数字形式对代码合成器1908的输出和音频1804进行组合。如果组合器1910执行数字组合,代码合成器1908的输出可以与取样器1902的输出相组合,而不与被输入到取样器1902的音频1804组合。例如,数字形式的音频块可以按数字形式与正弦波组合。另选地,可以在频域中执行组合,其中音频的频率系数根据表示正弦波的系数来调整。作为另一另选例,正弦波和音频可以按模拟形式组合。编码的音频可以按模拟或数字形式从组合器1910输出。如果组合器1910的输出是数字的,则在连接到发送器1806之前,该输出随后可以转换为模拟形式。
[0162] 尽管在图19中已经示出了实现图18的示例性编码器1802的示例性方式,但在图19中示出的接口、数据结构、元件、处理和/或设备中的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,图19的示例性取样器1902、示例性掩蔽评价器1904、示例性代码频率选择器1906、示例性代码合成器1908、示例性组合器1910和/或更概括地说--示例性编码器1802可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因而,例如,示例性取样器1902、示例性掩蔽评价器1904、示例性代码频率选择器1906、示例性代码合成器1908、示例性组合器1910和/或更概括地说、示例性编码器1802中的任一个可以由一个或更多个电路、可编程处理器、ASIC、PLD、FPLD、和/或FPGA等来实现。当将包含这些元件中的一个或更多个的本专利的任何装置权利要求理解为涵盖纯粹的软件和/或固件的实现时,示例性取样器1902、示例性掩蔽评价器1904、示例性代码频率选择器1906、示例性代码合成器1908、示例性组合器1910和/或更概括地说--示例性编码器1802中的至少一个由此被清楚地限定为包括有形的制品,诸如上面结合图17描述的存储固件和/或软件的那些有形计算机可读介质。此外,示例性编码器1802可以包括作为图19中示出的接口、数据结构、元件、处理和/或设备的替代或补充的接口、数据结构、元件、处理和/或设备,和/或可以包括一个以上的任何或全部示出的接口、数据结构、元件、处理和/或设备。
[0163] 图21示出了可以被执行以实现图18和图19的示例性编码器1802的示例性机器可接受指令2100。处理器、控制器和/或任何其他适当的处理设备可以被使用和/或编程为执行图21的示例性机器可接受指令。例如,图21的机器可接受指令可以实施为在诸如上面结合图17讨论的有形计算机可读介质的有形制品的任意组合上存储的编码指令。例如,机器可读指令包括使处理器、计算机和/或具有处理器的机器(例如,下面结合图24讨论的示例性处理器平台P100)执行一个或更多个特定处理的指令和数据。另选地,图21中的一些或全部示例性机器可接受指令可以利用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任何组合来实现。另外,图21中的一些或全部示例性处理可以人工地实现或实现为任何前述技术的任意组合,例如固件、软件、离散逻辑和/或硬件的任何组合。此外,可以采用实现图21的示例性操作的许多其他方法。例如,可以改变框的执行顺序,和/或可以改变、消除、再分割或组合所描述的一个或更多个框。另外,图21中的任何或全部示例性机器可接受指令可以由例如单独的处理线程、处理器、设备、离散逻辑、电路等顺序地执行和/或并行地执行。
[0164] 当获得包括在音频中的代码时(框2102),图21的示例性处理2100开始。代码可以经由数据文件、寄存器、输入端口、网络连接或任何其他适当的技术来获得。在获得代码(框2102)后,示例性处理2100对将被嵌入代码的音频取样(框2104)。取样可以按照48000赫兹或任何其他适当频率来执行。接着,示例性处理2100将音频样本组合成音频样本的块(框2106)。样本块可以包括例如512个音频样本。在一些示例中,样本块可以包括旧样本(例如,在将信息编码到音频中之前已使用的样本)和新样本(例如,在将信息编码到音频中之前未使用的样本)二者。例如,512个音频样本的块可以包括256个旧样本和256个新样本。在示例性处理400的随后重复时,来自上一次重复的256个新样本可以用作示例性处理2100的下一次重复时的256个旧样本。
[0165] 接着,示例性处理2100确定代码频率(框2108),所述代码频率将用于将代码(在框2102获得)包括到音频块(在框2106获得)。这是将代码或代码比特转换为将由频率成分表示的符号的编码处理。如上所述,示例性处理2100可以使用一个或更多个查找表来将要编码的代码转换为表示所述代码的符号,其中这些符号由音频频谱中的代码频率冗余地表示。如上所述,可以使用七个频率来冗余地表示音频块中的选择的符号。对表示代码的符号的选择可以包括考虑正在进行误编码等处理的块编号。
[0166] 在获得了将要包括代码的音频(框2106)以及将用于表示代码的代码频率(框2108)后,处理2100计算音频块掩蔽所选择的代码频率的能力(框2110)。如上所述,掩蔽评价可以包括将音频块转换到频域并考虑音频块的类似音调或噪声特性的考虑以及在块中的各种频率处的振幅。另选地,评价可以在时域中执行。另外,掩蔽还可以包括对处于前一音频块中的音频的考虑。如上面指出的,掩蔽评价可以根据例如MPEG-AAC音频压缩标准ISO/IEC 13818-7:1997来执行。掩蔽评价的结果是确定待添加到音频块的代码频率的振幅或能量,同时这样的代码频率保持人的听觉听不到或大致听不到。
[0167] 在确定应该生成的代码频率的振幅或能量后(框2110),示例性处理2100合成具有该代码频率的一个或更多个正弦波(框2112)。这种合成可以导致实际的正弦波或可以导致正弦波的数字数据等同表示。一些示例性正弦波按照掩蔽评价指定的振幅来合成。另选地,代码频率可以以固定的振幅来合成并接着可以在合成之后调整代码频率的振幅。
[0168] 接着,示例性处理2100将合成的代码频率与音频块组合(框2114)。可以通过添加表示音频块的数据和表示合成正弦波的数据来执行组合,或者可以按照任何其他适当方式执行组合。
[0169] 在另一示例中,代码频率合成(框2112)和组合(框2114)可以在频域中执行,其中在频域中表示音频块的频率系数可以按照合成的正弦波的频域系数来调整。
[0170] 如上所述,代码频率被冗余地编码为连续的音频块。在一些示例中,特定的代码频率组被编码为36个连续的块。因而,示例性处理2100监测它是否已经完成必需数量的重复(框2116)(例如,处理2100确定示例性处理2100是否已经重复了36次以对代码频率进行冗余地编码)。如果示例性处理2100未完成必需的重复(框2116),则示例性处理2100对音频取样(框2104),分析音频的掩蔽特性(框2110),合成代码频率(框2112)并将代码频率与新获得的音频块组合(框2114),由此编码成具有代码频率的另一个音频块。
[0171] 但是,当已经完成为将代码频率冗余地编码到音频块所必需的重复时(框2116),示例性处理2100获得要包括到音频中的下一代码(框2102)并且示例性处理2100重复。因而,在选择下一个代码以编码到预定数量的音频块中之前,示例性处理2100将第一代码编码到预定数量的音频块中。但是,可能的是,不总是存在嵌入音频的代码。在该情况下,可以绕开示例性处理2100。另选地,如果没有获得要包括的代码(框2102),则将不合成代码频率(框2112),并因而将不存在改变音频块的代码频率。因而,示例性处理2100仍可以操作,但音频块不总是被修改,特别是当不存在要包括在音频中的代码时。
[0172] 音频编码
[0173] 总体上,解码器1816检测在编码器1802处插入到音频1804中以形成编码的音频的代码信号。即,解码器1816查找它所处理的代码频率中的强调的模式。一旦解码器1816已经确定哪些代码频率被强调,解码器1816就基于强调的代码频率确定在编码音频内存在的符号。解码器1816可以记录符号或可以将这些符号解码为之前被提供给编码器1802以插入到音频中的代码。
[0174] 图22示出了解码尼尔森代码和/或实现图22的示例性解码器1816、图3的示例性解码器310和/或图1和图2的示例性辅助内容触发器180的示例性方式。尽管图22中示出的解码器可以用于实现解码器1816、310和180中的任何一个,但为了方便讨论起见,将图22的解码器称为解码器1816。如图22所示,示例性解码器1816包括取样器2202,取样器2202被提供模拟形式的编码音频,可以使用A/D或任何其他适当的技术来实现取样器2202。如图18所示,编码音频可以由有线或无线连接提供给接收器1810。取样器2202按照例如48,000赫兹的取样频率对编码音频取样。当然,可以有利地选择较低的取样频率以降低解码时的运算负荷。例如,在8kHz的取样频率情况下,尼奎斯特频率是4kHz,因此全部嵌入的代码信号被保留,因为其谱频率低于尼奎斯特频率。48kHz取样速率下的18432个样本的DFT块长度被降低为8kHz取样速率下的3072个样本。但是,即使按照这种修改的DFT块大小,代码频率索引也与原始大小相同,并且范围从360到1367。
[0175] 来自取样器2202的样本被提供给时域到频域转换器2204。时域到频域转换器2204可以使用DFT或任何其他将基于时间的信息转换为基于频率的信息的适当技术来实现。在一些示例中,时域到频域转换器2204可以使用滑动DFT来实现,其中每当将新样本提供给示例性时域到频域转换器2204时计算频谱。在一些示例中,时域到频域转换器2204使用编码音频的18432个样本并根据这些样本来确定频谱。由时-频域转换器2204产生的频谱的分辨率随着为了生成频谱所使用的样本的数量而增加。因而,由时域到频域转换器2204处理的样本的数量应该与用于选择图20A、图20B、或图20C的图表中的索引所使用的分辨率相符。
[0176] 由时域到频域转换器2204产生的频谱传递到代码频率监测器2206,代码频率监测器2206监测与能够潜在地承载由示例性编码器1802插入的代码的频率索引相对应的全部频率或谱线。例如,如果示例性编码器1802基于图20A的图表发送数据,则代码频率监测器2206监测与索引360至1366对应的频率。
[0177] 代码频率的监测包括评价在各个代码频率处的谱能。因而,代码频率监测器2206将图20A的特定行的能量归一化为图表的该行中的最大能量。例如,考虑与图20A的图表的代码频带0相对应的频率索引,如果与频率索引360对应的频率具有在表示代码频带0的行中的其他频率(例如,频率索引361、362...503)的最大能量,在与代码频带0中的索引相对应的其他频率处的每一个能量除以与频率索引360相对应的频率的能量。因而,针对频率索引360的归一化的能量的值将为1,并且与代码频带0中的频率索引对应的全部其余频率的值将小于1。针对图表2000的每一行重复该归一化处理。即,图20A的图表中的各个代码频带将包括具有能量归一化为1的一个频率,而在该代码频带中的全部其余能量被归一化为小于1的值。
[0178] 基于由代码频率监测器2206产生的归一化能量,符号确定器2208确定在编码的音频中存在符号。在一些示例中,符号确定器2208对与各个状态相对应的全部归一化能量求和。即,符号确定器2208产生144个和,每个和对应于图表2000中的列或状态。具有最大的归一化能量和的列或状态被确定为被编码的符号。符号确定器2208可以使用与图20A的查找表类似的查找表,该查找表可以用于将强调的频率映射到它们对应的符号。例如,如果状态S1编码到音频中,归一化能量将一般导致针对表示状态S1的各个频率索引产生值1。即,一般来说,代码频带中的不与状态S1相对应的全部其他频率将具有小于1的值。但是,尽管这一般是正确的,但并不是每一个与状态S1相对应的频率索引的值都将是1。因而,针对各个状态来计算归一化能量的和。通常按照该方式,与表示状态S1的频率索引相对应的归一化能量将具有比与表示其他状态的频率索引对应的能量大的和。如果与表示状态S1的频率索引对应的归一化能量的和超过检测用的阈值4.0,则状态S1被确定为最有可能被嵌入到编码音频中的符号。但是,如果该和不超过阈值,则不能确定状态S1被编码,并且没有状态被确定为最可能的状态。因而,符号确定器2208的输出是被编码到音频中的一连串最可能的符号。在理想的条件下,S1的代码频率将产生7.0的归一化分值。
[0179] 最可能的符号由有效性检查器2210处理以确定接收的符号是否对应于有效数据。即,有效性检查器2210确定对应于最可能符号的比特是否有效,假设在编码器1802的代码频率选择器1906处使用编码方案将代码转换为符号。有效性检查器2210的输出是与提供给图19的代码频率选择器1906的代码相对应的代码。
[0180] 尽管在图22中示出了实现图18的示例性解码器1816的示例性方式,但在图22中示出的接口、数据结构、元件、处理和/或设备中的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,图22的示例性取样器2202、示例性时域到频域转换器2204、示例性代码频率监测器2206、示例性符号确定器2208、示例性有效性检查器2210和/或更概括地说--示例性解码器1816可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因而,例如,示例性取样器2202、示例性时域到频域转换器2204、示例性代码频率监测器2206、示例性符号确定器2208、示例性有效性检查器2210和/或更概括地说--示例性解码器1816中的任一个可以由一个或更多个电路、可编程处理器、ASIC、PLD、FPLD、和/或FPGA等来实现。当把包含这些元件中的一个或更多个的本专利的任何装置权利要求理解为涵盖纯粹的软件和/或固件实现时,示例性取样器2202、示例性时域到频域转换器2204、示例性代码频率监测器2206、示例性符号确定器2208、示例性有效性检查器2210和/或更概括地说--示例性解码器1816中的至少一个由此被清楚地限定为包括有形的制品,诸如上面结合图17描述的存储固件和/或软件的那些有形计算机可读介质。此外,示例性解码器1816可以包括作为在图22中示出的接口、数据结构、元件、处理和/或设备的替代或补充的接口、数据结构、元件、处理和/或设备,和/或可以包括一个以上的任何或全部示出的接口、数据结构、元件、处理和/或设备。
[0181] 图23示出为了实现图18和图22的示例性解码器1816而可以执行的示例性机器可接受指令2300。处理器、控制器和/或任何其他适当的处理设备可以被使用和/或编程为执行图23的示例性机器可接受指令。例如,图23的机器可接受指令可以被实现为在如上面结合图17讨论的有形计算机可读介质的有形制品的任何组合上存储的编码指令。例如,机器可读指令包括使处理器、计算机和/或具有处理器的机器(例如,下面结合图24讨论的示例性处理器平台P100)执行一个或更多个特定处理的指令和数据。另选地,图23的示例性机器可接受指令的一些或全部可以使用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任何组合来实现。另外,图23的示例性处理中的一些或全部可以人工地实现或实现为任何前述技术的任何组合,例如固件、软件、离散逻辑和/或硬件的任何组合。此外,可以采用实现图23的示例性操作的许多其他方法。例如,可以改变框的执行顺序,和/或可以改变、消除、再分割或组合所描述的一个或更多个框。另外,图23的任何或全部的示例性机器可接受指令可以由例如单独的处理线程、处理器、设备、离散逻辑、电路等顺序地执行和/或并行地执行。
[0182] 图23的示例性处理2300从对音频取样开始(框2302)。音频可以经由音频传感器、硬连线连接、经由音频文件或通过任何其他适当的技术获得。如上所述,可以以48,000赫兹或任何其他适当的频率来执行取样。
[0183] 在获得各个样本时,对包括大量较旧的样本和在框2302处获得的新添加的样本的样本集合执行滑动的时频转换(框2304)。在一些示例中,使用滑动的DFT来处理包括18,431个旧样本和一个新添加的样本的流输入样本。在一些示例中,使用18,432个样本的DFT导致具有2.6Hz的分辨率的谱。
[0184] 在通过时频转换而获得谱后(框2304),确定代码频率的能量(框2306)。在一些示例中,能量可以通过取得针对可以被强调为音频编码的频率分量的时频转换(框2304)的结果的量值而获得。为了节省处理时间和使存储器占用减到最小,可以只保留并进一步处理与代码频率相对应的频率信息,因为只有在这些频率处才可以找出编码信息。当然,示例性处理2300可以使用能量以外的其他信息。例如,示例性处理2300可以保持量值和相位信息并对它们进行处理。
[0185] 另外,通过考虑先前接收到的同步符号,在处理2300中处理的频率可以进一步减少。例如,如果特定的同步符号后总是跟随有六个不同符号中的一个符号,则在接收到该特定同步符号后可以把被处理的频率减少到六个不同符号的那些频率。
[0186] 在确定能量后(框2306),示例性处理2300基于在各个代码块中的最大能量对该代码块的代码频率能量进行归一化(框2308)。即,代码块中的代码频率的最大能量被用作其自身和该代码块中的全部其他能量的除数。归一化导致各个代码块具有归一化能量值是一的频率分量,而在该代码块中全部其他归一化能量值都具有小于一的值。因而,参照图20A,图表2000的每一行将具有一个值为一的条目并且全部其他条目将具有小于一的值。
[0187] 接着,示例性处理2300对归一化能量值进行运算以基于结果来确定最大似然符号(框2310)。如上所述,例如,该确定包括对与各个符号对应的归一化能量值求和,由此导致与符号数量相同数量个和(例如,考虑图20A的图表,将存在144个和,每个和对应于144个符号中的一个)。接着,将最大的和与阈值(例如,4.0)进行比较,如果该和超过阈值,则将与最大和相对应的符号确定为接收到的符号。如果最大的和未超过阈值,则没有符号被确定为接收到的符号。
[0188] 在确定了接收到的符号后(框2310),示例性处理2300确定与接收到的符号相对应的代码(框2312)。即,示例性处理2300对示例性编码处理2100执行的代码到符号的编码(例如,由框2108执行的编码)进行解码。
[0189] 在完成解码并从符号确定代码后(框2312),示例性处理2300对代码的有效性进行分析(框2314)。例如,可以检验接收到的代码以基于发送代码的编码处理来确定代码序列是否有效。有效代码被登录并可以稍后连同指示何时接收到代码的时间和日期戳一起发送回中央处理设备。另外或另选地,如结合图1至图17在上面描述的,有效代码可以用于针对与解码的音频关联的主要媒体内容获得并呈现辅助内容。
[0190] 图24是可以被使用和/或编程为实现本文公开的任何示例性装置的示例性处理器平台P100的示意图。例如,一个或更多个通用处理器、处理器核心、微控制器等可以实现处理器平台P100。
[0191] 图24的示例的处理器平台P100包括至少一个可编程处理器P105。处理器P105执行存在于处理器P105的主存储器(例如,在RAM P115和/或ROM P120内)中的编码指令P110和/或P112。处理器P105可以是任何类型的处理单元,诸如处理器核心、处理器和/或微控制器。处理器P105可以执行图17、图21、图23、图28、图29、图36、图37、图43、图45、图4至图52和图55的示例性机器可接受指令、图6至图10、图30和图31的示例性操作、图14至图16的示例性流程等,以传送主要媒体内容的辅助内容、对音频编码、和/或对音频解码,如本文描述的。
[0192] 处理器P105经由总线P125与主存储器(包括ROM P120和/或RAM P115)通信。RAM P115可以通过动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)和/或任何其他类型的RAM器件来实现,并且ROM可以通过闪存和/或任何其他期望类型的存储器器件来实现。对P115和P120的访问可以由存储器控制器(未示出)控制。例如,示例性存储器P115可以用于实现示例性媒体存储部130、140和/或示例性数据库1120、1130和1135。
[0193] 处理器平台P100还包括接口电路P130。诸如外部存储器接口、串行端口、通用输入/输出等的任意类型的接口可以实现接口电路P130。一个或更多个输入设备P135和一个或更多个输出设备P140连接到接口电路P130。输入设备P135和输出设备P140可以用于实现示例性广播输入接口205、示例性蓝牙接口220、示例性无线接口225、示例性通信接口230、示例性音频输入接口305、示例性显示器330、示例性输入设备335、示例性无线接口315、示例性蜂窝接口320和/或示例性蓝牙接口345中的任一个。
[0194] 图25示出了实现图1和图3的示例性辅助内容模块170的示例性方式。为了取得辅助内容的时间表,图25的示例性辅助内容模块170包括读取器2505。响应于经由例如蓝牙接口345从示例性解码器310(图3)和/或从示例性媒体服务器105接收的SID和时间戳t(n),图25的示例性读取器2505基于SID和时间戳t(n)与示例性辅助内容服务器175交互以获得辅助内容的时间表。示例性读取器2505在示例性媒体存储部340中的时间表数据库2510中存储接收的辅助内容时间表。下面结合图26和图27来描述可以由辅助内容服务器175使用以向读取器2505提供辅助内容时间表和/或可以由读取器2505使用以在时间表数据库2510中存储接收的辅助内容时间表的示例性数据结构。
[0195] 为了标识主要媒体内容内的部分和/或位置,图25的示例性辅助内容模块170包括节目时钟2515。当示例性读取器2505在主要媒体内容期间接收到时间戳t(n)时,图25的示例性节目时钟2515被设置(重置)为使得它的时间值大致对应于接收到的时间戳t(n)。随后,节目时钟2515可以用于标识主要媒体内容内的以后部分和/或位置。
[0196] 为了选择要显示的辅助内容,图25的示例性辅助内容模块170包括选择器2520。图25的示例性选择器2520将节目时钟2515提供的时间值和与存储在时间表数据库2510中的辅助内容时间表中的各个辅助内容项关联的时间戳进行比较,以识别一个或更多个辅助内容供给,以经由例如图4的示例性用户界面显示。如下面结合图26和图27描述的,时间表中列出的每个辅助内容供给具有关联的开始时间戳和关联的结束时间戳。当节目时钟
2515生成的当前时间值落入这样的范围内时,示例性选择器2520选择对应的辅助内容供给以进行显示。
[0197] 为了实将辅助内容和/或辅助内容供给存档,图25的示例性辅助内容模块170包括存档器2525和档案2530。如经由示例性用户界面模块325由人配置和/或操作的,示例性存档器2525在示例性档案2530中存储特定的辅助内容和/或辅助内容供给以供以后检索。例如,人可以进行配置,使得特定类别的辅助内容和/或辅助内容供给被自动地存档和/或可以单独地选择特定辅助内容和/或辅助内容供给以存档。例如,人可以指示将所有食谱和烹饪相关的辅助内容供给存档。人还可以与存档器2525交互以查询、搜索和/或标识档案2530中的辅助内容以供呈现。例如,人可以按照辅助内容的类型、日期、时间等而进行搜索。
[0198] 下面结合图28和图29描述为了实现图25的示例性辅助内容模块170而可以执行的示例性机器可接受指令。
[0199] 尽管在图25中示出了实现图1和图3的示例性辅助内容模块170的示例性方式,但在图25中示出的接口、数据结构、元件、处理和/或设备中的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,图25的示例性读取器2502、示例性节目时钟2515、示例性选择器2520、示例性存档器2525、示例性时间表数据库2510、示例性档案2530和/或更概括地说--示例性辅助内容模块170可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因而,例如,示例性读取器2502、示例性节目时钟2515、示例性选择器2520、示例性存档器2525、示例性时间表数据库2510、示例性档案2530和/或更概括地说--示例性辅助内容模块170中的任何一个可以由一个或更多个电路、可编程处理器、ASIC、PLD、FPLD、和/或FPGA等实现。当把包含这些元件中的一个或更多个的本专利的任何装置权利要求理解为涵盖纯粹的软件和/或固件的实现时,示例性读取器2502、示例性节目时钟2515、示例性选择器2520、示例性存档器2525、示例性时间表数据库2510、示例性档案2530和/或更概括地说--示例性辅助内容模块170中的至少一个由此被清楚地限定为包括有形的制品,诸如上面结合图17描述的存储固件和/或软件的那些有形计算机可读介质。此外,示例性辅助内容模块170可以包括作为图25中示出的接口、数据结构、元件、处理和/或设备的替代或补充的接口、数据结构、元件、处理和/或设备,和/或可以包括一个以上的任何或全部示出的接口、数据结构、元件、处理和/或设备。
[0200] 图26和图27示出了可以用于实现辅助内容时间表的示例性数据结构。图26和图27的示例性数据结构可以由示例性辅助内容服务器175使用以向示例性媒体服务器105和/或示例性辅助内容呈现设备150发送辅助内容时间表,和/或在图1的示例性内容传送系统100的任何设备处存储辅助内容时间表。
[0201] 图26的示例性数据结构包含标识特定主要媒体内容的字段2605,并包括针对相应的辅助内容供给的多个条目2610。为了标识主要媒体内容,图26的示例性数据结构包括SID字段2612。图26的示例性SID字段2612包含与特定主要媒体内容对应的SID。为了表示与标识的主要媒体内容关联的标识语,图26的示例性数据结构包括SID标识语字段2614。示例性SID标识语字段2614包含表示标识语的数据和/或包含标识文件和/或到标识语的链接的一个或更多个字符。为了进一步标识主要媒体内容,图26的示例性数据结构包括节目名称字段2616。图26的示例性节目名称字段2616包含一个或更多个字母数字字符,这样的字母数字字符表示标识的主要媒体内容的名称和/或与主要媒体内容关联的内容提供商135的名称。
[0202] 为了标识辅助内容供给,图26的示例性条目2610中的每一个包括供给ID字段2624。图26的示例性供给ID字段2624中的每一个包含唯一地标识辅助内容供给的一个或更多个字母数字字符。为了进一步标识辅助内容供给,图26的示例性条目2610中的每一个包括名称字段2626。图26的示例性名称字段2626中的每一个包含表示标识的辅助内容供给的名称的一个或更多个字母数字字符。
[0203] 为了标识SID字段2612中的标识的主要媒体内容内的显示辅助内容供给的时间,图26的示例性条目2610中的每一个包括开始字段2628和结束字段2630。图26的示例性开始字段2628中的每一个包含与可以开始呈现辅助内容供给的时间相对应。图26的示例性结束字段2630中的每一个包含不再呈现辅助内容供给的时间相对应的时间。
[0204] 为了指定供给类型,图26的示例性条目2610中的每一个包括供给类型字段2632。图26的示例性供给类型字段2632中的每一个包含表示辅助内容供给的类型的一个或更多个字母数字字符。示例性辅助内容供给类型包括但不限于涉及主要媒体内容的、涉及产品定位的、涉及商业广告的、涉及用户忠诚度的、涉及用户相似组的等。
[0205] 为了指定要显示以呈现供给的标题(例如,在图4的示例性用户界面中),图26的示例性条目2610中的每一个包括标题字段2634和标题格式字段2636。图26的示例性标题字段2634中的每一个包含表示要呈现的标题的数据和/或包含标识文件和/或到标题的链接的一个或更多个字符。图26的示例性标题类型字段2636中的每一个包含表示标题的类型的一个或更多个字母数字字符。示例性标题类型包括但不限于位图、shockwave flash、flash视频、便携式网络图形等。
[0206] 为了标识动作类型,图26的示例性条目2610中的每一个包括类型字段2638。图26的示例性类型字段2638中的每一个包括标识动作2640的类型的一个或更多个数字、字母和/或代码。示例性动作类型包括但不限于网络存取、网络链接、本地模块ID、电话拨号、和/或传递给本地java小程序。
[0207] 为了指定动作,图26的示例性条目2610中的每一个包括动作字段2640。图26的示例性动作字段2640中的每一个包括限定动作和/或与标识的供给相对应的辅助内容的文本和/或命令。示例性脚本包括但不限于URL、电话号码、目标java小程序、和/或OS命令。当选择和/或激活了相应的辅助内容供给时,激活和/或使用动作2610以获得相应的辅助内容。
[0208] 为了标识要高速缓存的内容,图26的示例性条目2610中的每一个包括内容字段2642。图26的示例性内容字段2642中的每一个例如标识要高速缓存在辅助内容呈现设备
150上的一组网页和/或其他辅助内容。
[0209] 为了对辅助内容分类,图26的示例性条目2610中的每一个包括类别字段2644和子类别字段2646。图26的示例性类别字段2644和子类别字段2646中的每一个包含用于对辅助内容分类的一个或更多个字母数字字符。示例性类别包括但不限于新闻、烹饪、体育、信息、教育、信息广告(informercial)等。
[0210] 为了限定是否可以保存辅助内容和/或辅助内容供给,图26的示例性条目2610中的每一个包括可存档字段2648。图26的示例性可存档字段2648中的每一个包含表示是否可以将辅助内容和/或辅助内容供给保存在辅助内容呈现设备150和/或媒体服务器105处以供后续的检索和/或在辅助内容呈现设备50和/或媒体服务器105处显示的值。
在一些示例中,可存档字段2648限定了可以在辅助内容呈现设备50和/或媒体服务器105处保存动作1205的时段和/或从高速缓冲存储器清除辅助内容和/或辅助内容供给的时间。
[0211] 为了标识终止日期和/或时间,图26的示例性条目2610中的每一个包括终止字段2650。图26的示例性终止字段2650中的每一个包括标识的辅助内容和/或辅助内容供给终止并因而对于呈现和/或检索不再有效的日期和/或时间。
[0212] 图27示出了示例性辅助内容时间表可扩展标记语言(XML)文档,该文档使用与上面结合图26描述的数据结构类似的数据结构来表示和/或实现辅助内容时间表。因为在图26和图27中描述相同的元素,这里不重复相同元素的描述。感兴趣的读者可以参考上面结合图26提供的描述。根据和/或使用由辅助内容时间表XML架构限定的语法,可以构造和/或生成用于表示辅助内容时间表的XML文档(例如,图27的示例性XML文档)。除了XML施加的常规句法约束,图58示出对辅助内容时间表XML文档限定一个或更多个约束的示例性辅助内容时间表XML架构。示例性约束被表示为控制元素的顺序的语法规则的一个或更多个组合、内容必须满足的一个或更多个布尔判断、控制元素和属性的内容的一个或更多个数据类型、和/或诸如唯一性和引用完整性约束的一个或更多个专用规则。
[0213] 尽管在图26、图27和图58中已经示出了可以用于实现辅助内容时间表的示例性数据结构,但一个或更多个条目和/或字段可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。而且,图26、图27和图58的示例性数据结构可以包括作为图26、27和58中示出的字段的替代或补充的字段,和/或可以包括一个以上的任何或全部的示出的字段。
[0214] 图28和图29示出为了实现图1、图3和图25的示例性辅助内容模块170而可以执行的示例性机器可接受指令。处理器、控制器和/或任何其他适当的处理设备可以被使用和/或编程为执行图28和图29的示例性机器可接受指令。例如,图28和图29的机器可接受指令可以实现为在有形制品的任何组合上存储的编码指令,有形制品诸如为上面结合图17讨论的有形计算机可读介质。例如,机器可读指令包括使处理器、计算机和/或具有处理器的机器(例如,上面结合图24讨论的示例性处理器平台P100)执行一个或更多个特定处理的指令和数据。另选地,图28和图29的示例性机器可接受指令的一些或全部可以使用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任何组合来实现。另外,图28和图29的示例性处理的一些或全部可以人工地实现或实现为任何前述技术的任何组合,例如固件、软件、离散逻辑和/或硬件的任何组合。此外,可以采用实现图28和图29的示例性操作的许多其他方法。例如,可以改变框的执行顺序,和/或可以关闭、消除、再分割或组合上述的一个或更多个框。另外,图28和图29的任何或全部示例性机器可接受指令可以由例如单独的处理线程、处理器、设备、离散逻辑、电路等顺序地执行和/或并行地执行。
[0215] 当用户在辅助内容呈现设备150上启动和/或发起实现示例性辅助内容模块170的应用时,图28的示例性机器可接受指令开始(框2805)。示例性辅助内容模块170开始和/或实现解码器310(框2810)。
[0216] 当解码器310检测到有效代码(例如,SID)2812时,示例性读取器2505确定SID是否已经变化和/或与前一SID不同(框2815)。如果SID已经变化(框2815),读取器2505从辅助内容服务器175取得新的辅助内容时间表(框2820),在时间表数据库2510中存储接收的时间表(框2815),并设置节目时钟2515以与解码器310检测的时间戳t(n)相对应(框2830)。
[0217] 回到框2815,如果SID未变化(框2815),读取器2505确定当前时间戳t(n)是否落入由存储在时间表数据库2510中的辅助内容时间表限定和/或包围的时间间隔内(框2835)。如果当前时间戳t(n)落入辅助内容时间表内(框2835),则选择器2520确定时间戳t(n)是否对应于时间表中的供给(例如,辅助内容)(框2840)。如果时间戳t(n)对应于时间表中的辅助内容供给(框2840),选择器2520从时间表2510获得相应的辅助内容,并经由用户界面模块325显示相应的辅助内容(框2845)。
[0218] 示例性选择器2520将节目时钟2515生成的时间值与时间表数据库2510中的开始时间2628(图26)以及结束时间2630进行比较以确定是否为显示任何辅助内容供给的时间(框2850)。如果是显示一个或更多个辅助内容供给的时间(框2850),则选择器2520从时间表2510获得辅助内容供给并经由用户界面模块325显示辅助内容供给(框2845)。
[0219] 如果用户经由用户界面模块325指示将供给和/或辅助内容要存档、和/或要自动将供给存档(例如,基于存档设置)(框2855),存档器2525在档案2530中存储辅助内容供给和/或辅助内容(框2860)。
[0220] 如果用户经由用户界面模块325指示检索供给和/或辅助内容(例如,通过提供搜索查询标准),存档器2525从档案2530检索辅助内容供给和/或辅助内容(框2865),并且选择器2520经由用户界面模块325显示检索的辅助内容(框2845)。
[0221] 如果用户经由用户界面模块325指示将编辑和/或修改(例如,去除项目)档案2530,存档器2525对档案2530做出相应的改变(框2870)。
[0222] 图29的部分示例性机器可接受指令与图28的部分相同。图28和图29的相同部分以相同的标号标识,并且这里不重复地相同部分的描述。而是,读者参考上面结合图28提出的相同的部分的描述。与图28相比,时间戳t(n)的解码在图29的示例性机器可接受指令中不连续地执行。
[0223] 在框2815(图29),如果SID未变化(框2815),则辅助内容模块170激活时间戳解码(框2905)。如果解码了有效的时间戳2910,则读取器2505确定时间戳t(n)是否落入由存储在时间表数据库2510中的辅助内容时间表限定和/或包围的时间间隔内(框2915)。如果时间戳t(n)落入时间表内(框2915),则节目定时器2510确定时间戳t(n)是否与节目定时器2510的输出相符(框2920)。如果时间戳t(n)不大体对应于节目定时器2510的输出(框2920),则节目定时器2510被重置以匹配时间戳t(n)(框2925)。
[0224] 回到框2915,如果时间戳t(n)未落入辅助内容时间表内(框2915),则读取器2505取得新的辅助内容时间表(框2820)。
[0225] 非周期性和/或周期性地,读取器2505确定是否是对时间表进行同步的时间(框2930)。如果是对时间表进行同步的时间(框2930),则控制进行到框2905以对另一时间戳t(n)解码。
[0226] 图30和图31示出可以由图1的示例性传送系统100执行的示例性的基于时间表的辅助内容传送场景。尽管在图30和图31中示出的示例按照连续方式描述(如上面结合图17所讨论的),但检测代码、检测时间戳t(n)、获得辅助内容、获得到辅助内容的链接、获得辅助内容时间表、显示辅助内容链接、显示辅助内容供给、以及显示辅助内容的这些活动可以大体上并行发生。而且,辅助内容可以在不提供和/或呈现到该内容的插入链接和/或供给的情况下呈现。在一些示例中,实现了图30和图31的与上面结合图17讨论的那些类似的示例性场景的变型。
[0227] 图30的示例性辅助内容传送场景开始于示例性辅助内容服务器175设置和/或选择默认的超时间隔T(框3005),并且向辅助内容呈现设备150发送表示超时T的值3010。
[0228] 示例性媒体服务器105经由示例性广播输入接口205接收主要媒体内容3015。示例性媒体服务器105和/或示例性主要媒体内容呈现设备110经由例如一个或更多个扬声器发射和/或输出与主要媒体内容3015关联的自由场辐射音频信号172、173。
[0229] 当辅助内容呈现设备105的示例性解码器310在音频172、173中检测到SID时(框3020),节目时钟2515将它的输出与时间戳t(n)同步(框3025)。如果SID已经变化(框3030),则读取器2505将SID和时间戳t(n)发送给辅助内容服务器175。辅助内容服务器175基于该SID和时间戳t(n)形成辅助内容的时间表(框3035),并向读取器2505发送辅助内容时间表。读取器2505在时间表数据库2510中存储从辅助内容服务器175接收的辅助内容时间表(框3040)。
[0230] 示例性选择器2520使用例如图4的示例性用户界面根据接收的辅助内容时间表显示辅助内容供给(框3045)。在显示辅助内容供给时,选择器2520向评级服务器190发送相应的内容ID。如果用户选择和/或激活任何显示的链接和/或供给(框3055),则相应的链接ID 3060被发送到评级服务器190和辅助内容服务器175。响应于链接ID 3060,辅助内容服务器175向辅助内容呈现设备150提供与链接ID 3060关联的辅助内容3065。辅助内容呈现设备150显示接收的辅助内容3065(框3070)。如果不需要采集观众测量数据,则可以在图30的示出的示例中省略与评级服务器190的交互。
[0231] 回到框3030,如果SID未变化(框3030),读取器2505确定新的时间戳t(n)是否大于前一时间戳t(n-1)与超时间隔T的和(框3075)。如果新的时间戳t(n)大于该和(框3075),则读取器2505将SID和时间戳t(n)发送到辅助内容服务器175以请求更新后的辅助内容时间表。如果新的时间戳t(n)不大于该和(框3075),则控制进行到框3045以选择并显示辅助内容。
[0232] 图31显示了为选择并显示辅助内容而可以执行的另外场景。可以实现图31的另外场景作为图30中示出的选择并显示辅助内容的处理的替代或补充。图31的示例性场景发生在实现示例性辅助内容模块170的应用的发起、启动和/或开始之后(框3105)。
[0233] 在某一随后的时间处(由虚线3107示出),并且在利用例如图30的直到并包括框3040的示例性处理而接收到辅助内容时间表后,示例性选择器2520显示辅助内容供给(框3110)并向评级服务器190发送与该供给对应的内容ID 3115。
[0234] 如果使能针对包括显示的供给的供给类别的自动存档(框3120),则存档器2525在档案2530中对供给进行存档(框3125)。如果自动存档不适用(框3120),但用户已经指示要存档供给(框3130),则存档器2525在档案2530中对供给进行存档(框3125)。
[0235] 如果用户选择和/或激活了任何显示的链接和/或辅助内容供给(框3140),则将相应的链接ID 3145发送到评级服务器190和辅助内容服务器175。响应于链接ID3145,辅助内容服务器175向辅助内容呈现设备150提供与链接ID 3060关联的辅助内容3150。辅助内容呈现设备150显示接收到的辅助内容3150(框3155)。
[0236] 如果在某一随后的时间处(由虚线3107所示),用户期望检索一个或更多个存档的辅助内容供给(框3165),则存档器2525对与用户提供的一个或更多个标准相对应的供给进行检索和/或分类(框3170)。示例性选择器2520显示检索和/或分类的辅助内容供给(框3175)并向评级服务器190发送与供给对应的内容ID 3180。如果不需要采集观众测量数据,则可以在图31的示出的示例中省略与评级服务器190的交互。
[0237] 图32示出了实现图11的示例性的基于忠诚的调度器1160的示例性方式。为了标识主要媒体内容,图32的示例性的基于忠诚的调度器1160包括标识器3205。基于从媒体服务器105和/或辅助内容呈现设备150接收到的SID和时间戳t(n),示例性标识器3205查询内容提供商和节目数据库3210以标识相应的主要媒体内容。
[0238] 为了产生用户简档,图32的示例性的基于忠诚的调度器1160包括简档管理器3215。当示例性标识器3205标识了主要媒体内容时,示例性简档管理器3215更新与用户ID(UID)对应的用户简档,用户ID是与SID和时间戳t(n)一起接收到的。用户简档表示和/或存储与UID关联的用户已经至少部分地消费了哪个主要媒体内容。示例性简档管理器
3215在简档数据库3220中存储和/或保持用户简档。
[0239] 在图33中示出了可以用于实现示例性简档数据库3220的示例性数据结构。图33的示例性数据结构是记录多个用户3310中的每一个用户已消费了多个主要媒体内容3305中的哪一个的表。
[0240] 回到图32,为了开发出用户忠诚和/或用户相似组度量,图32的示例性的基于忠诚的调度器160包括忠诚分析器3225。图32的示例性忠诚分析器3225分析用户的行为以确定他们对特定主要媒体内容和/或内容提供商130的忠诚度。另外或另选地,忠诚分析器3225分析一组用户的行为以确定和/或标识相似组、并且标识各个组消费特定主要媒体内容和/或响应于和/或消费特定辅助媒体内容的可能性。
[0241] 对于给定的忠诚度量(例如,在一时段内观看的电视演出的集数),示例性忠诚分析器3225将辅助内容服务器175的用户分为例如相同大小的三个组。示例性的组表示最忠诚的用户,并因而可以被呈现另外和/或特殊的辅助内容供给。在一些示例中,当消费了特定百分比的主要媒体内容(例如,观看和/或收听)时,仅对消费主要媒体内容为用户记分。在一些示例中,在忠诚数据库3230中限定忠诚组,并且忠诚分析器3225将用户简档和限定的忠诚组进行比较以确定他们的忠诚度。
[0242] 在一些示例中,可以人工地标识和/或限定相似组(例如,观看大量体育节目的人、倾向于观看大量电影的人、主要在白天观看的人等)。另外或另选地,数据挖掘(data mining)技术可以应用于存储在简档数据库3220中的用户简档以自动地限定相似组。
[0243] 参照图33的示例性用户简档,可以例示为了执行数据挖掘以限定相似组而执行的示例性处理。在图33的示例中,存在三个真人秀节目(reality program)R1、R2和R3以及三个体育节目S1、S2和S3。如图所示,不同的用户可以观看这六个节目的不同组合。
[0244] 示例性忠诚分析器3225执行量纲分析以开发用户的媒体消费量的指标、以及用户观看一种类型的节目相对其他类型节目的倾向和/或相似性。如图34所示,用户的媒体消费量可以表示为用户所消费的节目的数量和可能放映的节目的总数量的比率PGMS。在图33的示例中,用户观看体育节目而不观看真人秀节目的倾向可以由比率S/(R+S)表示,其中S是用户观看的体育节目的数量,并且R是用户观看的真人秀节目的数量。例如,用户#1观看了全部三个真人秀节目而未观看任何一个体育节目,得到S/(R+S)=0/3并且PGMS=3/6。
[0245] 如图35所示,媒体消费量的比率PGMS和倾向比率S/(R+S)可以用于标识和/或限定用户群和/或用户相似组。如在图35中示出的,将十个用户分组四个示例性组:组A只观看真人秀节目;组B只观看体育节目;组C观看有限量的各种节目;以及组D观看大量的各种节目。
[0246] 尽管为了方便讨论起见简化了结合图33至图35描述并示出的限定组的示例性处理,但对本领域普通技术人员应该明显的是,上述示例性方法容易地可扩展为包括任意数量个用户和/或任意数量个量纲。还应该明显的是,相似组群可以随时间而变化。而且,用户属于的相似组可以随时间而变化。在一些示例中,为了使由于相似组变化而导致的对广告商的破坏最小化,示例性忠诚分析器3225可以应用一个或更多个过滤器来使得用于限定相似组的数据平滑,和/或限制相似组可以多快地变化。
[0247] 回到图32,每当接收到SID、UID和时间戳t(n),就可以执行忠诚和/或相似组分析和/或更新。另外或另选地,忠诚和/或相似组分析可以在周期性或非周期性的基础上“离线”地运行以缩短运算时间、利用另外的用户简档信息、和/或缩短基于忠诚的调度器响应于SID、UID和时间戳t(n)标识基于忠诚和/或基于相似性的供给花费的时间。
[0248] 为了针对接收到的SID、UID和时间戳t(n)的组合选择辅助内容供给,图32的示例性的基于忠诚的调度器1160包括供给选择器3235。基于由忠诚分析器3225标识的忠诚度和/或相似组成员资格,示例性供给选择器3235查询供给数据库3240以选择一个或更多个辅助内容供给。由供给选择器3235选择的辅助内容供给可以作为动作服务器1140仅基于UID和时间戳t(n)选择的那些辅助内容的补充或替代。
[0249] 为了允许任意数量和/或类型的广告商、节目拥有者、内容创作者和/或内容提供商3245来限定、指定和/或提供针对特定忠诚和/或相似组的辅助内容供给,示例性的基于忠诚的调度器1160包括忠诚/相似性管理器3250。示例性忠诚/相似性管理器3250实现任意数量和/或类型的API和/或基于网络的接口,它们允许广告商、节目拥有者、内容创作者和/或内容提供商3245与数据库3230和3240进行交互以添加、产生、修改、去除和/或指定基于忠诚和/或相似性的辅助内容供给。
[0250] 图32的示例性数据库3210、3220、3230和3240可以利用诸如有形计算机可读介质的任意数量和/或类型的有形制品来实现,有形计算机可读介质包括但不限于易失性和/或非易失性存储器和/或存储器件。
[0251] 尽管在图32中示出了实现图11的示例性的基于忠诚的调度器1160的示例性方式,但在图32中示出的接口、数据结构、元件、处理和/或设备中的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,图32的示例性标识器3205、示例性提供商和节目数据库3210、示例性简档管理器3215、示例性简档数据库3220、示例性忠诚分析器3225、示例性忠诚数据库3230、示例性供给选择器3235、示例性供给数据库3240、示例性忠诚/相似性管理器3250和/或更概括地说--示例性的基于忠诚的调度器1160可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因而,例如,示例性标识器3205、示例性提供商和节目数据库3210、示例性简档管理器3215、示例性简档数据库3220、示例性忠诚分析器3225、示例性忠诚数据库3230、示例性供给选择器
3235、示例性供给数据库3240、示例性忠诚/相似性管理器3250和/或更概括地说、示例性的基于忠诚的调度器1160中的任何一个可以由一个或更多个电路、可编程处理器、ASIC、PLD、FPLD、和/或FPGA等实现。当把包含这些元件的一个或更多个的本专利的任何装置权利要求理解为涵盖纯粹的软件和/或固件的实现时,示例性标识器3205、示例性提供商和节目数据库3210、示例性简档管理器3215、示例性简档数据库3220、示例性忠诚分析器
3225、示例性忠诚数据库3230、示例性供给选择器3235、示例性供给数据库3240、示例性忠诚/相似性管理器3250和/或更概括地说--示例性的基于忠诚的调度器1160中的至少一个由此清楚地被限定为包括有形的制品,诸如上面结合图17描述的存储固件和/或软件的那些有形计算机可读介质。此外,示例性的基于忠诚的调度器1160可以包括作为图32中示出的接口、数据结构、元件、处理和/或设备的替代或补充的接口、数据结构、元件、处理和/或设备,和/或可以包括一个以上的任何或全部示出的接口、数据结构、元件、处理和/或设备。
[0252] 图36和图37示出了为实现图11和图32的示例性的基于忠诚的调度器1160而可以执行的示例性机器可接受指令。处理器、控制器和/或任何其他适当的处理设备可以被使用和/或编程以执行图36和图37的示例性机器可接受指令。例如,图36和图37的机器可接受指令可以实现为在诸如上面结合图17讨论的有形计算机可读介质的有形制品的任何组合上存储的编码指令。例如,机器可读指令包括使处理器、计算机和/或具有处理器的机器(例如,上面结合图24讨论的示例性处理器平台P100)执行一个或更多个特定处理的指令和数据。另选地,图36和图37的示例性机器可接受指令的一些或全部可以使用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任何组合来实现。另外,图36和图37的示例性处理的一些或全部可以人工地实现或实现为任何前述技术的任何组合,例如固件、软件、离散逻辑和/或硬件的任何组合。此外,可以采用实现图36和图37的示例性操作的许多其他方法。例如,可以改变框的执行顺序,和/或可以改变、消除、再分割或组合描述的一个或更多个框。另外,图36和图37的任何或全部示例性机器可接受指令可以由例如单独的处理线程、处理器、设备、离散逻辑、电路等顺序地执行和/或并行地执行。
[0253] 当接收到SID、UID和时间戳t(n)3605时,图36的示例性机器可接受指令开始。示例性标识器3205标识与接收到的SID、和时间戳t(n)3605对应的主要媒体内容(框3610)。示例性简档管理器3215在简档数据库3220中更新与接收到的UID3605关联的用户简档(框3615)。
[0254] 忠诚分析器3225计算和/或确定用户的忠诚分值(例如,用户已观看电视剧集的次数)(框3620),并基于忠诚分值计算和/或确定用户的忠诚度(框3625)。在一些示例中,忠诚分析器3225自动地将用户简档分为多个忠诚度(框3630)。
[0255] 基于由忠诚分析器3225确定的忠诚分值(框3625),供给选择器3235查询供给数据库3240以确定是否存在任何适用的基于忠诚的辅助内容供给(框3635)。如果存在适用的基于忠诚的辅助内容供给(框3635),供给选择器3235将标识的供给添加到用户的时间表3645(框3640)。
[0256] 如果主要内容拥有者和/或内容提供商分别提供忠诚输入3650和3655,则忠诚/相似性管理器3250更新忠诚数据库3230(分别地,框3660和3665)。如果主要内容拥有者和/或内容提供商分别提供基于忠诚的供给3650和3655,忠诚/相似性管理器3250更新供给数据库3240(框3670)。
[0257] 当接收到SID、UID和时间戳t(n)3705时,图37的示例性机器可接受指令开始。示例性标识器3205标识与接收到的SID、和时间戳t(n)3705对应的主要媒体内容(框3710)。示例性简档管理器3215在简档数据库3220中更新与接收到的UID3705关联的用户简档(框3715)。
[0258] 示例性忠诚分析器3225将用户的简档与一个或更多个相似组3725进行比较以确定用户是否属于任何一个相似组(框3730)。忠诚分析器3225周期性地或非周期性地分析存储在简档数据库3220中的用户简档以限定一个或更多个相似组3725(框3735)。
[0259] 基于忠诚分析器3225所确定的相似组(框3730),供给选择器3235查询供给数据库3240以确定是否存在任何适用的基于相似组的辅助内容供给(框3740)。如果存在适用的基于相似性的辅助内容供给(框3740),则供给选择器3235将标识的供给添加到用户的时间表3750(框3745)。
[0260] 如果用户提供基于相似组的供给3755,则忠诚/相似性管理器3250更新供给数据库3240(框3760)。
[0261] 在图38中示出了示例性编码和解码系统3800。例如,示例性系统3800可以是电视观众测量系统,其将用作本文描述的编码和解码处理的进一步描述的背景。示例性系统3800包括编码器3802,编码器3802将代码或信息3803添加到音频信号3804以产生编码的音频信号。信息3803可以是任何选择的信息。例如,在媒体监测背景中,信息3803可以表示和/或标识诸如电视广播、无线电广播等的广播媒体节目。另外,信息3803可以包括定时信息,该定时信息表示将信息3803插入音频或媒体广播中的时间。另选地,代码可以包括用于控制一个或更多个目标设备的行为的控制信息。此外,来自一个以上的源的信息
3803可以复用并编码到音频3804中。例如,由电视网络设施提供的信息3803可以与来自例如本地电视台的信息3803交织。在一些示例中,电视网络设备信息3803被编码到编码音频的每一个第三消息时隙中。而且,音频3804可以与已经编码的电视网络设备信息3803一起接收,并且后面的编码器3802可以利用各个第3消息时隙间隔中的其余消息时隙(如果有的话)来对另外的信息3803进行编码。应该理解,图38和图39的示例性编码器3802可以用于实现图1的示例性内容提供商135和/或图11的示例性动作编码器1150。
[0262] 音频信号3804可以是任何形式的音频,例如包括语音、音乐、噪声、商业广告音频、与电视节目关联的音频、现场演出等。在图38的示例中,编码器3802将编码的音频信号传递到发送器3806。发送器3806将编码的音频信号连同与该编码的音频信号关联的任何视频信号3808一起发送。尽管在一些情况下编码的音频信号可以具有关联的音频信号3808,但是编码的音频信号不一定具有任何关联的视频。
[0263] 一些示例性音频信号3804是模拟音频信号的数字化版本,其中模拟音频信号已在48kHz取样。如下面详细地描述的,两秒钟的音频(对应于按照48kHz取样速率的96,000个音频样本)可以用于承载一个消息,该消息可以是同步消息和49个比特的信息。使用每符号7个比特的编码方案,该消息需要传送八个符号的信息。另选地,在下面描述的重写的背景中,使用一个同步符号,并且跟随在该同步符号后的是一个信息符号,该信息符号传送128个状态中的一个状态。如下面详细地描述的,根据一个示例,在对应于9,216样本的音频样本的长块中嵌入了一个7比特符号的信息。一些这样的长块包括36个具有256个样本的重叠短块,其中在50%重叠块中,256个样本是旧的,并且256个样本是新的。
[0264] 尽管在图38中示出的示例性系统3800的发送侧示出了单个发送器3806,但发送侧可以复杂得多并可以在分发链中包括多个级别,音频信号3804可以通过该分发链传递。例如,音频信号3804可以在全国性网络生成并传递到本地网络以进行本地分发。因此,尽管在发送器3806之前的发送阵型(lineup)中示出了编码器3802,但可以在音频信号3804的整个分发链中布置一个或更多个编码器。因而,可以在多个级别对音频信号3804进行编码并且音频信号3804可以包括与所述多个级别关联的嵌入代码。下面提供有关编码和示例性编码器的更多细节。
[0265] 发送器3806可以包括一个或更多个射频(RF)发送器或者用于通过线缆、光纤等分发编码音频信号的发送器,RF发送器可以通过自由空间传播(例如,经由陆地或卫星通信链路)分发编码音频信号。一些示例性发送器3806可以用于在整个广阔的地理区域中广播编码音频信号。在其他示例中,发送器3806可以通过有限的地理区域分发编码音频信号。发送可以包括将编码音频信号上变频为射频以实现信号的传播。另选地,发送可以包括以数字比特或数字比特分组的形式分发编码音频信号,这样的信号可以在诸如因特网、广域网或局域网的一个或更多个网络上发送。因而,编码音频信号可以由载波信号承载,由信息分组承载或由分发音频信号的任何适当技术承载。
[0266] 当接收器3810接收到编码音频信号时(在媒体监测背景中,接收器3810可以位于统计学选择的测定地点3812处),接收到的节目信号的音频信号部分被处理以恢复代码,即使这样,当接收器3810的扬声器3814呈现编码的音频信号时,该代码的存在对于听众也是不可察觉的(或大体上不可察觉)。为此,解码器3816或者直接连接到接收器3818处可用的音频输出部3810或者连接到位于扬声器3814附近的麦克风3820以再现音频。接收的音频信号可以是单声道或立体声格式的。下面提供有关解码和示例性解码器的更多细节。应该理解,图38和图48的示例性解码器3816和示例性麦克风3820可以分别用于实现图3的示例性解码器310和示例性音频输入接口305、和/或图1的示例性辅助内容触发器180。
[0267] 音频编码
[0268] 如上所述,编码器3802将一个或更多个听不到(或大致听不到)的代码插入音频3804中以创造编码音频。图39示出了一个示例性编码器3802。在一个实现中,图39的示例性编码器3802可以使用例如数字信号处理器来实现,数字信号处理器被以指令编程为实现编码阵形3902,编码阵形3902的操作受到在先代码检测器3904和掩蔽阵形3906的操作的影响,代码检测器3904和掩蔽阵形3906中的一个或二者可以使用被以指令编程的数字信号处理器来实现。当然,示例性编码器3802的任何其他的实现也是可能的。例如,编码器3802可以利用处理器、可编程逻辑设备或任何其他适当的硬件、软件和固件的组合来实现。
[0269] 总体上,在操作期间,编码器3802接收音频3804,并且在先代码检测器3904确定音频3804之前是否被以信息编码,这将使得编码器3802难以将其它信息编码到之前编码过的音频中。例如,可能之前已经在音频分发链中的在先位置(例如,在全国性网络处)处执行过编码。在先代码检测器3904通知编码阵形3902关于音频之前是否已被编码。在先代码检测器3904可以由本文描述的解码器实现。
[0270] 编码阵形3902接收信息3803并基于信息3803产生代码频率信号,并将代码频率信号和音频3804组合。编码阵形3902的操作受到在先代码检测器3904的输出的影响。例如,如果音频3804之前已被编码并且在先代码检测器3904将这一事实通知给编码阵形
3902,则编码阵形3902可以选择要在音频3804中编码的另选消息,并还可以改变细节,通过这样的细节对另选消息进行编码(例如,消息内的不同临时位置、用于表示符号的不同频率等)。
[0271] 编码阵形3902还受到掩蔽阵形3906的影响。总体上,掩蔽阵形3906处理与编码阵形3902想对信息进行编码并确定应该执行的编码的振幅的时间点相对应的音频3804。如下面描述的,掩蔽阵形3906可以输出信号以控制代码频率信号振幅以保持代码频率信号低于人感知的阈值。
[0272] 如在图39的示例中示出的,编码阵形包括消息生成器3910、符号选择器3912、代码频率选择器3914、合成器3916、傅立叶逆变换3918和组合器3920。消息生成器3910响应于信息3803并输出具有一般在标号3922处示出的格式的消息。提供给消息生成器的信息3803可以是当前时间、电视台或电台标识、节目标识等。一些示例性消息生成器3910每隔两秒钟输出消息。当然,诸如1.6秒的其他消息发送间隔也是可能的。
[0273] 表示从消息生成器3910输出的消息的一些示例性消息格式3922包括同步符号3924。同步符号3924由解码器3910(其示例在下面描述)使用以获得表示消息的开始的定时信息。因而,当解码器接收同步符号3924时,该解码器预期看到跟随在同步符号3924之后的附加信息。
[0274] 在图39的示例性消息格式3922中,同步符号3924之后是42个比特的消息信息3926。该信息可以包括台标识符和粗略定时信息的二进制表示。在消息信息3926的42个比特中表示的一些示例性定时信息每隔64秒或32个消息间隔发生改变。因而,消息信息
3926的42个比特保持静止达64秒钟。七个比特的消息信息3928可以是每隔两秒递增的高分辨率时间。
[0275] 消息格式3922还包括既有代码标记信息3930。但是,既有代码标记信息3930仅选择性地用于传送信息。当在先代码检测器3904向消息生成器3910通知音频信号3804之前未被编码时,不使用既有代码标记信息3930。因此,由消息生成器输出的消息仅包括同步符号3924、42个比特的消息信息3926、以及七个比特的消息信息3928;既有代码标记信息3930是空白的,或由未使用的符号指示来填充。相反,当在先代码检测器3904向消息生成器3910指出了之前已经对音频3804进行了编码时(在音频3804中编码了消息信息),消息生成器3910将不输出同步符号3924、42个比特的消息信息3926、或七个比特的消息信息3928。确切地说,消息生成器3910将仅利用既有代码标记信息3930。一些示例性既有代码标记信息包括既有代码标记同步符号以用信号通知存在既有代表标记信息。既有代码标记同步符号不同于同步符号3924,并因此可以用于通知既有代码标记信息的开始。在接收到既有代码标记同步符号时,解码器可以忽略任何之前接收到的信息,该之前接收的信息在时间上与同步符号3924、42个比特的消息信息3926、或七个比特的消息信息3928对准。为了传送诸如频道指示、分发标识或任何其他适当的信息的信息,一个既有代码标记信息符号跟随在既有代码标记同步符号之后。该既有代码标记信息可以用于在观众监测系统中提供适当的记分。
[0276] 来自消息生成器3910的输出传递到符号选择器3912,符号选择器3912选择表示的符号。当输出了同步符号3924时,由于同步符号3924已经处于符号格式,因此符号选择器可以不必执行任何映射。另选地,如果从消息生成器3910输出了多个比特的信息,则符号选择器可以使用直接映射,其中例如将消息生成器3910输出的七个比特映射到具有七个比特的十进制值的符号。例如,如果从消息生成器3910输出了值1010101,则符号选择器可以将那些比特映射到符号85。当然,可以使用在比特和符号之间的其他转换。在特定示例中,在选择符号以表示比特时,可以使用冗余或错误编码。另外,可以选择将七以外的任何其他适当数量的比特转换为符号。用于选择符号的比特的数量可以基于在通信系统中的可用的最大符号空间而确定。例如,如果通信系统仅能够一次发送四个符号中的一个,则一次只将来自消息生成器3910的两个比特转换为符号。
[0277] 另一示例性消息包括跟随在多个空的短块之后的8个长块以将消息的持续期间填充到大约1.6秒。这8个长块中的第一个长块表示同步符号,其后跟随有7个长块,这7个长块例如表示在图57中描述的有效载荷或消息内容。图57的示例性消息格式可以用于表示和/或对7*7=49个比特的数据进行编码。
[0278] 来自符号选择器3912的符号传递到代码频率选择器3914,代码频率选择器3914选择用于表示该符号的代码频率。符号选择器3912可以包括一个或更多个查找表(LUT)3932,查找表(LUT)3932可以用于将符号映射到表示该符号的代码频率。即,符号由编码器3802在音频3802中强调以形成发送的编码音频的多个代码频率表示。在接收到编码符号时,解码器检测强调的代码频率的存在并将强调的代码频率的模式解码为发送的符号。因而,可以在解码器中使用为了选择代码频率而在编码器3910处选择的相同LUT。结合图40至图42来描述示例性LUT。另外,结合图44至图46来提供用于生成LUT的示例性技术。
[0279] 代码频率选择器3914可以根据各种标准来选择任意数量的不同LUT。例如,响应于之前接收到的特定同步符号,代码频率选择器3914可以使用特定LUT或LUT的组。另外,如果在先代码检测器3904指示一消息之前被编码到音频3804中,则代码频率选择器3914可以选择对于既有代码情形而言唯一的查找表,以避免之前对音频3804编码所使用的频率和用于包括既有代码标记信息的频率之间的混淆。
[0280] 对被选择为表示特定符号的代码频率的指示被提供给合成器3916。针对构成长块的每个短块,合成器3916可以存储三个复合傅立叶系数,这些系数表示代码频率选择器3914将指示的可能的代码频率中的每一个。这些系数表示相位角与该短块中的代码正弦曲线的开始相位角相对应的加窗正弦曲线(windowed sinusoidal)代码频率信号的变换。
[0281] 尽管前面描述了生成正弦波或表示正弦波的数据的示例性代码合成器3908,但代码合成器的其他示例性实现也是可能的。例如,不生成正弦波,另一示例性代码合成器3908可以输出频域中的傅立叶系数,该系数用于调整提供给组合器3920的音频的特定频率的振幅。按照该方式,音频的频谱可以调整为包括必需的正弦波。
[0282] 从合成器3916向傅立叶逆变换3918提供与要发送的符号相对应的、三个复合的、调整了振幅的傅立叶系数,傅立叶逆变换3918将这些系数转换为具有规定的频率和振幅的时域信号以使得能够将它们插入到音频中,这些信号连接到组合器3920。组合器3920还接收音频。具体地说,组合器3920将来自傅立叶逆变换3918的信号插入到音频样本的一个长块中。如上所述,针对48kHz的给定取样速率,长块是9,216个音频样本。在提供的示例中,同步符号和49个比特的信息需要总共八个长块。因为每个长块是9,216个音频样本,因此仅需要音频3804的73,728个样本编码给定消息。但是,因为这些消息每隔2秒开始,也就是每隔96,000个样本,因此位于96,000个音频样本的末端处的许多样本将不被编码。所述组合可以在数字域或在模拟域中进行。
[0283] 但是,在既有代码标记的情况下,在表示之前插入的七个比特消息信息的最后符号之后,在音频3804中插入既有代码标记。因此,既有代码标记信息的插入在样本73729处开始,并且持续两个长块或18,432个样本。因此,当使用既有代码标记信息时,96,000个音频样本3804中的较少部分将不被编码。
[0284] 掩蔽阵形3906包括重叠短块制造器,其制造512个音频样本的短块,其中256个样本是旧的,并且256个样本是新的。即,重叠短块制造器3940制造具有512个样本的块,其中256个样本被同时移入或移出缓冲器。例如,当第一组256个样本进入缓冲器时,最旧的256个样本被移出缓冲器。在随后的重复过程中,第一组256个样本被移位到缓冲器的较后面的位置,并且256个样本被移入缓冲器。每当通过移入256个新样本并去除256个最旧样本而形成新的短块时,新的短块被提供给掩蔽评价器3942。从重叠短块制造器3940输出的512个样本的块被适当的窗函数相乘,使得“重叠和相加”运算将把音频样本在输出处恢复为它们的正确的值。要添加到音频信号的合成代码信号也被类似地加窗以防止在从一个512个样本的块到下一重叠的512个样本的块的代码振幅中存在变化时在块的边缘处的出现突然转变。这些转变如果存在的话,将产生可听的后果。
[0285] 掩蔽评价器3942接收重叠短块的样本(例如,512个样本)并确定该块对人听力隐藏代码频率的能力。即,通过整体地评价音频的各个临界频带以确定它的能量并确定各个临界频带的类似噪声或类似音调的属性并确定临界频带掩蔽代码频率的总能力,掩蔽评价器确定是否可以将代码频率隐藏在由短块表示的音频内。根据示出的示例,临界频带的带宽随着频率增加。如果掩蔽评价器3942确定可以将代码频率隐藏在音频3804中,则掩蔽评价器3904指示可以将代码频率插入音频3804内且仍将保持隐藏的振幅,并将振幅信息提供给合成器3916。
[0286] 通过确定在任何临界频带处可以出现的能量Eb或掩蔽能量水平的最大变化并且使听众听不到该变化的情况下,一些示例性掩蔽评价器3942执行掩蔽评价。由掩蔽评价器3942执行的掩蔽评价可以如例如在运动图像专家组-高级音频编码(MPEG-AAG)音频压缩标准ISO/IEC 13818-7:1997中概述的那样执行。各个临界频带中的声能影响其邻带的掩蔽能量,并且在诸如ISO/IEC 13818-7:1997的标准文档中描述了用于计算掩蔽效果的算法。这些分析可以用于针对各个短块确定由于音调(例如,音频在多大程度上被评价为类似于音调)以及噪声似的(即,音频在多大程度上被评价为类似于噪声)特征导致的掩蔽贡献。进一步的分析可以评价通常在50至100毫秒(ms)的短时间内扩展音频的掩蔽能力的临时掩蔽。通过掩蔽评价器3942得到的分析提供了基于每一临界频带的对可以添加到音频3804而不产生任何明显的音频劣化(例如,听不到)的代码频率的振幅的确定。
[0287] 由于256个样本的块将既出现在一个短块和开始处又出现在下一个短块的末端处因而被掩蔽评价器3942评价两次,因此掩蔽评价器进行包括256个样本的块的两次掩蔽评价。提供给合成器3916的振幅指示是包括256个样本的块的这两次评价的合成,并且振幅指示被定时为使得插入256个样本的代码的振幅被定时为这些样本到达组合器3920时。
[0288] 现在参照图40至图42,示出了示例性LUT 3932,该LUT 3932包括表示符号4002的一列和表示被编号的代码频率索引的七列4004、4006、4008、4010、4012、4014、4016。图40至图42的示例性LUT 3932包括129行,其中128行用于表示数据符号并且其中一行用于表示同步符号。因为示例性LUT 3932包括128个不同的数据符号,因此数据可以按照每符号7个比特的速率发送。表中的频率索引可以从180至656,并且基于具有9,216个样本的长块和48kHz的取样速率。因此,与这些索引对应的频率在937.5Hz到3,126.6Hz之间,这个范围落入了人可以听到的范围。结合图44至图47来描述生成诸如图40至图42的示例性表3932的LUT的处理。
[0289] 尽管在图40至图42中示出了示例性LUT 3932,但可以使用其他取样速率和频率索引来表示符号。例如,频率索引可以从落入了人可听到的范围内的937.5Hz到3,126.6Hz的范围选择。例如,可以不选择和/或不使用一个或更多个频率索引范围,以避免与用于承载其他代码和/或水印的频率发生干扰。而且,所选择和/或使用的频率范围不必是连续的。在一些示例中,使用了0.8kHz到1.03kHz以及2.9kHz到4.6kHz的范围中的频率。在其他示例中,使用了0.75kHz到1.03kHz以及2.9kHz到4.4kHz的范围中的频率。
[0290] 在代码频率选择器3914的一些示例性操作中,从符号选择器3912接收到25的符号(例如,二进制值0011001)。代码频率选择器3914访问LUT 3932并读取符号列4002的行25。从该行中,代码频率选择器读取将在音频3804中强调代码频率索引217、288、325、403、512、548和655以将符号25发送给解码器。接着,代码频率选择器3914向合成器3916提供这些索引的指示,合成器3916通过输出与这些索引对应的傅立叶系数而合成代码信号。
[0291] 组合器3920接收代码合成器3908的输出和音频3804二者并将它们组合以形成编码音频。组合器3920可以按照模拟或数字形式组合代码合成器3908的输出和音频3804。如果组合器3920执行数字组合,代码合成器3908的输出可以与取样器3902的输出组合,而不与输入到取样器3902的音频3804组合。例如,数字形式的音频块可以与数字形式的正弦波组合。另选地,可以在频域中执行组合,其中根据表示正弦波的频率系数来调整音频的频率系数。作为另一另选,正弦波和音频可以按照模拟形式组合。编码的音频可以按照模拟或数字形式从组合器3920输出。如果组合器3920的输出是数字的,则该输出随后可以在连接到发送器3806之前转换为模拟形式。
[0292] 尽管在图39中已经示出了实现图38的示例性编码器3802的示例性方式,但在图39中示出的接口、数据结构、元件、处理和/或设备中的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,图39的示例性消息生成器3910、示例性符号选择器3912、示例性代码频率选择器3914、示例性代码信号合成器3916、示例性傅立叶逆变换3918、示例性组合器3920、示例性在先代码检测器3904、示例性重叠短块制造器3940、示例性掩蔽评价器3942和/或更概括地说--示例性编码器3802可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因而,例如,示例性消息生成器
3910、示例性符号选择器3912、示例性代码频率选择器3914、示例性代码信号合成器3916、示例性傅立叶逆变换3918、示例性组合器3920、示例性在先代码检测器3904、示例性重叠短块制造器3940、示例性掩蔽评价器3942和/或更概括地说--示例性编码器3802中的任何一个可以由一个或更多个电路、可编程处理器、ASIC、PLD、FPLD、和/或FPGA等来实现。
当把包含这些元件的一个或更多个的本专利的任何装置权利要求理解为涵盖纯粹的软件和/或固件的实现时,示例性消息生成器3910、示例性符号选择器3912、示例性代码频率选择器3914、示例性代码信号合成器3916、示例性傅立叶逆变换3918、示例性组合器3920、示例性在先代码检测器3904、示例性重叠短块制造器3940、示例性掩蔽评价器3942和/或更概括地说--示例性编码器3802中的至少一个由此被清楚地限定为包括有形的制品,诸如上面结合图17描述的存储固件和/或软件的那些有形计算机可读介质。此外,示例性编码器3802可以包括作为图39中示出的接口、数据结构、元件、处理和/或设备的替代或补充的接口、数据结构、元件、处理和/或设备,和/或可以包括一个以上的任何或全部示出的接口、数据结构、元件、处理和/或设备。
[0293] 图43示出了为实现图38和图39的示例性编码器3802而可以执行的示例性机器可接受指令。处理器、控制器和/或任何其他适当的处理设备可以被使用和/或编程为执行图43的示例性机器可接受指令。例如,图43的机器可接受指令可以实现为在诸如上面结合图17讨论的有形计算机可读介质的有形制品的任何组合上存储的编码指令。例如,机器可读指令包括使处理器、计算机和/或具有处理器的机器(例如,上面结合图24讨论的示例性处理器平台P100)执行一个或更多个特定处理的指令和数据。另选地,图43的示例性机器可接受指令的一些或全部可以使用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任何组合来实现。另外,图43的示例性处理的一些或全部可以人工地实现或实现为任何前述技术的任何组合,例如固件、软件、离散逻辑和/或硬件的任何组合。此外,可以采用实现图43的示例性操作的许多其他方法。例如,可以改变框的执行顺序,和/或可以改变、消除、再分割或组合描述的一个或更多个框。另外,图43的任何或全部示例性机器可接受指令可以由例如单独的处理线程、处理器、设备、离散逻辑、电路等顺序地执行和/或并行地执行。
[0294] 当接收到要编码的音频样本时,图43的示例性处理4300开始(框4302)。接着,处理4300确定接收到的样本之前是否已经被编码(框4304)。例如,该确定可以由图39的在先代码检测器3904或由被配置成为之前的编码取证而检查要编码的音频的任何适当的解码器执行。
[0295] 如果接收到的样本之前未被编码(框4304),则处理4300生成通信消息(框4306),诸如具有在图39中的标号3922处示出的格式的通信消息。在一个具体示例中,当音频之前未被编码时,通信消息可以包括同步部分和一个或更多个包括数据比特的部分。通信消息生成可以例如由图39的消息生成器3910执行。
[0296] 通信消息接着被映射到符号(框4308)。例如,如果同步信息已经是符号,则无需将同步信息映射到符号。在另一示例中,如果通信消息的一部分是一串比特,则这样的比特或比特组可以由一个符号表示。如上面结合符号选择器3912描述的可执行映射(框4308)的一种方式,可以使用一个或更多个表或编码方案将比特转换为符号。例如,这样的技术可以包括纠错编码等的使用,以通过使用编码增益而增加消息鲁棒性。在将符号空间调整为容纳128个数据符号的一个具体示例性实现中,七个比特可以转换为一个符号。当然,根据包括可用符号空间、纠错编码等许多因素,可以处理其他数量的比特。
[0297] 在选择了通信符号后(框4308),处理4300选择将用于确定代码频率的LUT(框4310),该代码频率将用于表示各个符号。在一些示例中,所选择的LUT可以是图40至图42的示例性LUT 3932,或者可以是任何其他适当的LUT。另外,LUT可以是如结合图44至图
46描述地生成的任何LUT。LUT的选择可以基于多个因素,这样的因素包括在生成通信消息期间选择的同步符号(框4306)。
[0298] 在生成符号(框4308)并选择LUT(框4310)后,使用选择的LUT将符号映射到代码频率(框4312)。在选择了图40至图42的LUT 3932的一些示例中,例如35的符号将被映射到频率索引218、245、360、438、476、541和651。LUT中的数据空间在符号0和符号127,并且使用与表中的任何其他代码频率不符的唯一组的代码频率的符号128被用于指示同步符号。LUT的选择(框4310)和映射(框4312)可以例如由图39的代码频率选择器
3914执行。在选择了代码频率后,代码频率的指示被提供给例如图39的合成器3916。
[0299] 接着,按照合成根据掩蔽评价的振幅来合成包括代码频率的代码信号(框4314),将结合框3940和3942或图39来描述,并结合下面的处理4300来描述。在一些示例中,代码频率信号的合成可以通过向傅立叶逆处理提供恰当调整的傅立叶系数来执行。例如,可以输出三个傅立叶系数来表示代码频率信号中的各个代码频率。因此,通过由傅立叶逆处理按照对合成频率加窗以防止溢出到被嵌入了代码频率信号的信号的其他部分的方式,可以合成代码频率。在图39的框3916和3918处示出了可用于执行框4314的合成的示例性配置。当然,其他实现和配置也是可能的。
[0300] 在合成了包括代码频率的代码信号后,将代码信号与音频样本组合(框4316)。如结合图39所描述的,代码信号和音频的组合使得一个符号被插入音频样本的各个长块中。因此,为了发送一个同步符号和49个数据比特,将信息编码为音频信息的八个长块:一个长块针对同步符号,并且一个长块针对每个七个比特的数据(假设七比特/符号编码)。按照两秒钟的间隔将消息插入到音频中。因而,紧接在消息的开始之后的音频的八个长块可以以音频编码并且组成余下的两秒钟音频的其余长块可以不编码。
[0301] 通过将代码信号的样本添加到寄主音频信号的样本,可以将代码信号插入到音频中,其中在模拟域或数字域中进行这样的添加。另选地,利用适当的频率对准和登记,可以在频域中调整音频信号的频率分量并且调整的频谱可以转换回到时域。
[0302] 上面描述了当处理确定接收到的音频样本之前未被编码(框4303)时的处理4300的操作。但是,在媒体的一部分已经通过分发链并在其被处理时被编码的情形中,在框4304处理的接收到的音频样本已经包括了代码。例如,在本地新闻广播中使用来自CNN的免费新闻短片的本地电视台基于CNN短片的之前编码可能得不到观看信用。这样,附加的信息以既有代码标记信息的形式添加到本地新闻广播。如果接收到的音频样本之前已经被编码(框4304),则处理生成既有代码标记信息(框4318)。既有代码标记信息可以包括既有代码标记同步符号的生成以及例如七个比特的数据(这将由单个数据符号表示)的生成。数据符号可以表示台标识、时间、或任何其他适当的信息。例如,媒体监测站点(MMS)可以被编程为检测既有代码标记信息以给予其中标识的台信用。
[0303] 在生成了既有代码标记信息(框4318)后,处理4300选择既有代码标记LUT,既有代码标记LUT将用于标识表示既有代码标记信息的代码频率(框4320)。在一些示例中,既有代码标记LUT可以与在非既有代码条件中使用的其他LUT不同。例如,既有代码标记同步符号可以由代码频率220、292、364、436、508、580和652表示。
[0304] 在生成既有代码标记信息(框4318)和选择既有代码标记LUT(框4320)后,将既有代码标记符号映射到代码频率(框4312),并且其余的处理如上面描述地进行。
[0305] 在合成代码信号(框4314)之前的某个时间,处理4300执行掩蔽评价以确定代码信号应当被生成的振幅,该振幅使得人类听众听不到或大体上听不到代码信号。因此,处理4300生成音频样本的重叠短块,每个短块包括512个音频样本(框4322)。如上所述,重叠短块包括50%的旧样本和50%的新接收的样本。该操作可以例如通过图29的重叠短块制造器3940执行。
[0306] 在生成重叠短块(框4322)后,对短块执行掩蔽评价(框4324)。例如,这可以结合图39的框3942描述来执行。掩蔽评价的结果在框4314由处理4300使用以确定要合成的代码信号的振幅。重叠的短块方法可以针对音频的特定256个样本产生两个掩蔽评价(其中一个是当256个样本是“新样本”时的评价,并且一个是当256个样本是“旧样本”时的评价),提供给处理4300的框4314的结果可以是这些掩蔽评价的合成。当然,处理4300的时序使得针对特定音频块的掩蔽评价被用于确定音频块的代码振幅。
[0307] 查找表生成
[0308] 用于构成具有与符号相对应的代码频率的一个或更多个LUT的系统4400可以使用硬件、软件、硬件和软件的组合、固件等来实现。图44的系统4400可以用于生成任意数量的LUT,诸如图40至图42的LUT。如下面结合图44和图45描述地那样工作的系统4400产生代码频率索引LUT,其中:(1)表的两个符号由不超过一个的公共频率索引表示,(2)频率索引中的不超过一个表示存在于如由MPEG-AA压缩标准ISO/IEC 13818-7:1997所限定的一个音频临界频带中的符号,和(3)相邻临界频带的代码频率不用于表示单个符号。第三个标准3有助于保证音频质量在音频编码处理期间不被损害。
[0309] 临界频带对限定器4402限定了多个(P)临界频带对。例如,参照图46,表4600包括表示AAC临界频带索引4602的列、在AAC索引的范围中的短块索引4604、以及在AAC索引的范围中的长块索引4606。在一些示例中,P的值可以是七,因而从AAC索引形成七个临界频带对(框4502)。图47示出了AAC索引之间的频率关系。根据示例,如在图47(其中,临界频带对的频率被示出为由虚线分开)中的标号4702所示出的,AAC索引可以被选择如下的对:五和六、七和八、九和十、十一和十二、十三和十四、十五和十六、以及十七和十八。AAC索引十七包括宽范围的频率,并因此索引十七示出两次,一次针对低部,并且一次针对高部。
[0310] 频率限定器4404限定为了在各个临界频带对中的使用而选择的多个频率(N)。在一些示例中,N的值是十六,表示在形成各个临界频带对的临界频带的组合中存在十六个数据位置。图47中的标号4704标识示出十七个频率位置。被圈起的位置四是为同步信息保留的,并因此并不用于数据。
[0311] 数生成器4406限定了由临界频带对限定器4402限定的临界频带对中的多个频率P位置。在一些示例中,数生成器4406生成全部N 个(P位)数。例如,如果N是16并且P是7,则该处理生成数字0至268435456,但在基数16(十六进制)中也可以这样做,这将产生值0到10000000。
[0312] 接着,冗余简化器4408接着从所生成的数的列表中消除全部的数,这些数之间在同一位置处共用超过一个共同的数字。这确保遵守上面的标准(1),如下所述,这是由于数字将表示被选为表示符号的频率。接着,超额简化器4410可以进一步将所生成的数的列表中的其余的数减少到需要的符号的数量。例如,如果符号空间是129个符号,则将剩余的数减少到129个。这种简化可以随机地执行,或通过选择具有最大欧几里得距离的剩余数而执行,或可以通过任何其他适当的数据简化技术来执行。在另一示例中,简化可以按照伪随机方式执行。
[0313] 在上述的简化之后,数的列表的计数等于符号空间中的符号的数量。因此,代码频率限定器4412限定基数P格式的剩余数来表示频率索引,这些频率索引表示临界频带对中的符号。例如,参照图47,十六进制数F1E4B0F的底数为16,这与P相符。该十六进制数的第一个数字映射到在第一临界频带对中的频率分量,第二个数字映射到第二临界频带对,如此类推。各个数字表示将被用于表示与该十六进制数F1E4B0F对应的符号的频率索引。
[0314] 使用第一个十六进制数作为映射到特定频率索引的示例,Fh的十进制值是15。因为各个临界频带对的位置四被保留用于非数据信息,因此任何大于四的十六进制数字的值增加十进制一的值。因而,15变为16。因此将16指定(如在图47中以星号示出的)为在第一临界频带对中的代码频率分量以表示与十六进制数F1E4B0F对应的符号。尽管在图47中未示出,但索引1的位置(例如,临界频带7中最左边的第二位置)将用于表示十六进制数F1E4B0F。
[0315] LUT填充器4414从代码频率限定器4412接收符号指示和相应的代码频率分量指示并将该信息填充到LUT中。
[0316] 尽管在图44中示出了实现LUT表生成器4400的示例性方式,但在图44中示出的接口、数据结构、元件、处理和/或设备中的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,图44的示例性临界频带对限定器4402、示例性频率限定器4404、示例性数生成器4406、示例性冗余简化器4408、示例性超额简化器4410、示例性代码频率限定器4412、示例性LUT填充器4414、和/或更概括地说--示例性系统4400可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因而,例如,示例性临界频带对限定器4402、示例性频率限定器4404、示例性数生成器4406、示例性冗余简化器4408、示例性超额简化器4410、示例性代码频率限定器4412、示例性LUT填充器
4414、和/或更概括地说--示例性系统4400中的任何一个可以由一个或更多个电路、可编程处理器、ASIC、PLD、FPLD、和/或FPGA等实现。当把包含这些元件的一个或更多个的本专利的任何装置权利要求理解为涵盖纯粹的软件和/或固件的实现时,示例性临界频带对限定器4402、示例性频率限定器4404、示例性数生成器4406、示例性冗余简化器4408、示例性超额简化器4410、示例性代码频率限定器4412、示例性LUT填充器4414、和/或更概括地说--示例性系统4400中的至少一个由此被清楚地限定为包括有形的制品,诸如上面结合图17描述的存储固件和/或软件的那些有形计算机可读介质。此外,示例性系统4400可以包括作为图44中示出的接口、数据结构、元件、处理和/或设备的替代或补充的接口、数据结构、元件、处理和/或设备,和/或可以包括一个以上的任何或全部示出的接口、数据结构、元件、处理和/或设备。
[0317] 图45示出了为实现图44的示例性系统4400和/或更概括地说--生成代码频率索引表而可以执行的示例性机器可接受指令。处理器、控制器和/或任何其他适当的处理设备可以被使用和/或编程为执行图45的示例性机器可接受指令。例如,图45的机器可接受指令可以实现为在诸如为上面结合图17讨论的有形计算机可读介质的有形制品的任何组合上存储的编码指令。例如,机器可读指令包括使处理器、计算机和/或具有处理器的机器(例如,上面结合图24讨论的示例性处理器平台P100)执行一个或更多个特定处理的指令和数据。另选地,图45的示例性机器可接受指令的一些或全部可以使用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任何组合来实现。另外,图45的示例性处理的一些或全部可以人工地实现或实现为任何前述技术的任何组合,例如固件、软件、离散逻辑和/或硬件的任何组合。此外,可以采用实现图45的示例性操作的许多其他方法。例如,可以改变框的执行顺序,和/或可以改变、消除、再分割或组合描述的一个或更多个框。另外,图45的示例性机器可接受指令的任何或全部可以由例如单独的处理线程、处理器、设备、离散逻辑、电路等顺序地执行和/或并行地执行。
[0318] 图45的示例性机器可接受指令可以用于生成任意数量的LUT,诸如图40至图42的LUT。尽管示出了示例性处理4500,但可以使用其他处理。处理4500的结果是代码频率索引LUT,其中:(1)表的两个符号由不超过一个的公共频率索引表示,(2)频率索引中的不超过一个表示存在于如由MPEG-AA压缩标准ISO/IEC 13818-7:1997所限定的一个音频临界频带中的符号,和(3)相邻临界频带的代码频率不用于表示单个符号。第三个标准有助于保证音频质量在音频编码处理期间不被损害。
[0319] 通过限定多个(P)临界频带对,图45的示例性处理开始。例如,参照图46,表4600包括表示AAC临界频带索引4602的列、在AAC索引的范围中的短块索引4604、以及在AAC索引的范围中的长块索引4606。在一些示例中,P的值可以是七,因而从AAC索引形成七个临界频带对(框4502)。图47示出了AAC索引之间的频率关系。根据示例,如在图47(其中临界频带对的频率示出为由虚线分开)中的标号4702所示出的,AAC索引可以被选择成如下的对:五和六、七和八、九和十、十一和十二、十三和十四、十五和十六、以及十七和十八。AAC索引十七包括宽范围的频率,并因此索引十七示出两次,一次针对低部,并且一次针对高部。
[0320] 在限定了频带对(框4502)后,针对在各个临界频带对中的使用而选择多个频率(N)(框4504)。在一些示例中,N的值是十六,表示在形成各个临界频带对的临界频带的组合中存在十六个数据位置。如图47中的标号4704示出的,示出了十七个频率位置。被圈起的位置四是为同步信息而保留的,并因此该位置并不用于数据。
[0321] 在限定了临界频带对的数量和这些对中的频率位置的数量后,处理4500生成全P部N 个(P位)数,这些数不具有超过一个共同的十六进制数字(框4506)。例如,如果N是16并且P是7,则该处理生成数0至268435456,但在基数16(十六进制)中也可以这样做,这将产生值0到FFFFFFF,但不包括共享一个以上的共同的十六进制数字的数。这将确保遵守上面的标准(1),如下所述,这是由于数字将表示被选为代表符号的频率。
[0322] 根据用于确定遵守上面的标准(1)(和任何其他希望的标准)的一组数的示例性P处理,测试了从0到N-1的范围中的数。首先,将与零相对应的值存储为结果组R的第一P
个数。接着,选择从1到N-1的数来进行分析,确定这些数与R中的数相比较时是否满足标准(1)。在与R中的全部当前记录比较时满足标准(1)的各个数被添加到结果组。具体地说,根据示例性处理,为了测试数K,将K中的各个受关注的十六进制数字与来自当前的结果组的M中的相应的受关注十六进制数字进行比较。在七次比较中,K的十六进制数字中的不超过一个数字应与M的相应的十六进制数字相等。在将K与当前结果组中的全部数进行比较后,如果当前结果组中的没有一个数具有超过一个的公共的十六进制数字,则将K添加到该结果组R。针对该组可能数重复执行算法,直到已经识别了满足标准(1)的全部值为止。
[0323] 尽管前面描述了用于确定满足标准(1)的一组数的示例性处理,但可以使用任何处理或算法,并且本公开不限于上面描述的处理。例如,处理可以使用试探法、规则等以在重复该组数中的所有数之前从该组数中消除一些数。例如,可以将其中相关比特以两个0、两个1、两个2等开始并且以两个0、两个1、两个2等结束的全部数立即去除,因为它们明显具有小于6的汉明距离(hamming distance)。另外或另选地,示例性处理可以针对整组的可能数进行重复。例如,处理可以重复,直到发现足够的数(例如,当希望128个符号时的128个数)为止。在另一实现中,处理可以随机地选择可能值的组中包括的第一个值,并接着可以迭代地或随机地搜索组中的其余的数,直到发现满足期望标准(例如,标准(1))的值。
[0324] 接着,处理4500从生成的值中选择期望的数(框4510)。例如,如果符号空间是129个符号,留下的数可以简化到129个。该简化可以随机地执行,或者通过选择具有最大的欧几里得距离的留下的数而执行,或者可以通过任何其他适当数据简化技术来执行。
[0325] 在上述简化后,数的列表中的计数等于在符号空间中的符号的数量。因此,在基数P格式中的留下的数被限定为表示频率索引,这些频率索引代表了临界频带对中的符号(框4512)。例如,参照图47,十六进制数F1E4B0F的基数是16,其与P相称。十六进制数的第一个数字映射到第一临界频带对中的频率分量,第二个数字映射到第二临界频带对,以此类推。每个数字表示将被用于表示与十六进制数F1E4B0F对应的符号的频率索引。
[0326] 使用第一个十六进制数作为映射到特定频率索引的示例,Fh的十进制值是15。因为每个临界频带对的位置四是为非数据信息保留的,因此任何大于四的十六进制数字的值增加十进制一的值。因而,15变为16。16因而被指定(如在图47中以星号示出的)为第一临界频带对中的代码频率分量以表示与十六进制数F1E4B0F对应的符号。尽管在图47中未示出,但索引1的位置(例如,从临界频带7中最左边的第二个位置)将用于表示十六进制数F1E4B0F。
[0327] 在指定代表性代码频率(框4512)后,将数填充到LUT中(框4514)。
[0328] 当然,结合图45至图47描述的系统和处理仅是可以用于结合这里描述的编码和解码系统生成具有期望特性的LUT的示例。可以使用其他的配置和处理。例如,LUT可以使用其他的代码频率计划而生成。
[0329] 音频编码
[0330] 图48示出了对尼尔森代码进行解码和/或实现图38的示例性解码器3816、图3的示例性解码器310和/或图1和图2的示例性辅助内容触发器180的示例性方式。尽管在图38中示出的解码器可以用于实现解码器3816、310和180中的任一个,但为了讨论的方便,将把图38的解码器称为解码器3816。在一些示例中,可以实现示例性解码器3816的两种情况。第一种情况使得叠加器4804能够增强对台标识符和每隔64秒递增一次的粗略时间戳的解码,并且第二种情况禁止叠加器4804对最后7个比特组3932中的可变数据进行解码,该可变数据表示逐消息地改变的以秒为单位递增的时间。在其他示例中,用使能或禁止的叠加器4804实现单个解码器3816实例,如下所述。
[0331] 一般来说,解码器3816检测在编码器3802处插入到接收的音频中以形成编码音频的代码信号。即,解码器3816查找它处理的代码频率中的强调的模式。一旦解码器3816确定强调了哪一个代码频率,解码器3816基于强调的代码频率而确定编码音频内存在的符号。解码器3816可以记录符号或可以这些符号解码为之前被提供给编码器3802以插入到音频中的代码。
[0332] 在一个实现中,图48的示例性解码器3816可以利用例如数字信号处理器来实现,数字信号处理器被以实现解码器3816的组件的指令编程。当然,示例性解码器3816的其他任何实现是可能的。例如,解码器3816可以利用一个或更多个处理器、可编程逻辑设备或硬件、软件和固件的任何适当组合来实现。
[0333] 如图48所示,示例性解码器3816包括取样器4802,取样器4802可以使用模数转换器(A/D)或任何其他适当的技术来实现,取样器4802被提供以模拟格式的编码音频。如图38所示,编码音频可以由到接收器3810的有线或无线连接提供。取样器4802按照例如8kHz或12kHz的取样频率对编码音频取样。当然,可以有利地选择其他取样频率以增加分辨率或降低解码时的运算负荷。按照8kHz的取样频率,尼奎斯特频率是4kHz,并因此在图
40至图41的示例性LUT 3932中表示的全部嵌入的代码信号被保存,因为它们的频谱频率低于尼奎斯特频率。若利用包括更高频率的频率计划,可需要如12kHz的更高取样频率以保证满足尼奎斯特取样标准。
[0334] 将来自取样器4802的样本提供给叠加器4804。一般来说,叠加器4804通过利用消息被重复或被大致重复(例如,仅最低有效位改变)一段时间的事实而加重音频信号信息中的代码信号。例如,当消息中的42个比特的数据3926包括台标识符和每隔42秒递增一次的粗略时间戳时,图39的前述示例性消息的49个比特(3926和3924)中的42个比特(图39的3926)保持不变64秒钟(32个2秒消息间隔)。最后的7比特组3932中的可变数据表示以秒为单位的增量,并因而逐消息地改变。示例性叠加器4804聚集多个音频信号信息块以加重音频信号信息中的代码信号。在示例性实现中,叠加器4804包括用于存储音频信息的多个样本的缓冲器。例如,如果在2秒的音频中嵌入完整的消息,则缓冲器可以是12秒长以存储六个消息。示例性叠加器4804另外包括加法器和除法器,该加法器对与六个消息关联的音频信号信息求和,除法器将该和除以选择的重复消息的数量(例如,六)。
[0335] 作为示例,带水印的信号y(t)可以由寄主信号x(t)和水印w(t)表示:
[0336] y(t)=x(t)+w(t)
[0337] 在时域中,水印可以在已知时段T后重复:
[0338] w(t)=w(t-T)
[0339] 根据示例性叠加方法,输入信号y(t)由叠加信号S(t)替换:
[0340]
[0341] 在叠加信号S(t)中,寄主信号的贡献减少,这是因为如果时段T足够大,则样本x(t),x(t-T),..,x(t-nT)的值是独立的。同时,例如由同相正弦曲线形成的水印的贡献增强。
[0342]
[0343] 假设x(t),x(t-T),..,x(t-nT)是利用零平均值E[X]=0从相同分布X得到的独立随机变量:
[0344]
[0345] 和
[0346]
[0347] 因此,根本的寄主信号贡献x(t),...,x(t-nT)将有效地彼此抵消,同时水印不变,而允许水印更容易地被检测。
[0348] 在示出的示例中,作为结果的信号的功率随叠加信号n的数量而线性地降低。因此,在寄主信号的独立部分上的平均可以降低干扰的影响。水印不受影响,因为它始终同相相加。
[0349] 结合图49描述实现叠加器4804的示例性处理。
[0350] 解码器3816可以另外包括叠加器控制器4806以控制叠加器4804的操作。示例性叠加器控制器4806接收指示应该使能还是禁止叠加器4804的信号。例如,叠加器控制器4806可以接收所接收的音频信号并确定该信号是否包括将使信号失真的显著噪声,并响应于该确定而使能叠加器。在另一实现中,叠加器控制器4806可以从能够被人工地控制以基于解码器3816的布置来使能或禁止叠加器4804的开关接收信号。例如,当解码器3816有线地连接到接收器3810或麦克风3820与扬声器3814接近地布置时,叠加器控制器4806可以禁止叠加器4804,因为不需要叠加并且叠加将引起各个消息中快速变化的数据损坏(例如,时间戳的最低有效位)。另选地,当解码器3816与扬声器3814存在一定距离时或在可以预期到明显的干扰的另一环境中,叠加器4804可以被叠加器控制器4806使能。此外,当a)取样器4802的取样速率精度和/或用于传送消息的最高频率被选择为使得叠加可以具有有限的效果,和/或b)在以秒为单位表示时间增量(逐消息地改变)的最后七个比特的组3932中的可变数据被解码时,叠加器4804可以被禁止。当然,叠加器控制器4806可以施加任意类型的期望的控制。
[0351] 叠加器4804的输出被提供到时域到频域转换器4808。时域到频域转换器4808可以利用诸如DFT的傅立叶变换或任何其他适当的技术来实现,以将基于时间的信息转换为基于频率的信息。在一些示例中,时域到频域转换器4808可以使用滑动长块快速傅立叶变换(FFT)来实现,其中,每当向时域到频域转换器4808提供八个新样本时,计算受关注的代码频率的频谱。在一些示例中,时域到频域转换器4808使用编码音频的1536个样本并使用每八个样本的192次滑动来确定其频谱。由时域到频域转换器4808产生的频谱的分辨率随着用于生成频谱的样本数量的增加而增加。因而,由时域到频域转换器4808处理的样本的数量应该与用于选择图40至图42的表中的索引的分辨率相符。
[0352] 由时域到频域转换器4808产生的频谱被传递到临界频带归一化器4810,临界频带归一化器4810对每一个临界频带中的频谱进行归一化。换言之,将各个临界频带中具有最大振幅的频率设为1,并且因此将各个临界频带内的全部其他频率归一化。例如,如果临界频带1包括具有振幅为112、56、56、56、56、56、和56的频率,则临界频带归一化器将频率调整为1、0.5、0.5、0.5、0.5、0.5、和0.5。当然,针对归一化,可以使用任何希望的最大值来代替1。临界频带归一化器4810输出每一个受关注的频率的归一化分值。
[0353] 由临界频带归一化器4810产生的分值的频谱被传递到符号记分器4812,符号记分器4812针对活动的符号表中的每个可能的符号计算总分值。在示例性实现中,符号记分器4812针对符号表中的各个符号进行重复并针对特定符号对来自临界频带归一化器4810的针对各个关注的频率的归一化分值求和以生成特定符号的分值。符号记分器4812向最大分值选择器4814输出每个符号的分值,最大分值选择器4814选择具有最大分值的符号并输出符号和分值。
[0354] 来自最大分值选择器4814的标识的符号和分值被传递给比较器4816,比较器4816将分值与阈值进行比较。当分值超过阈值时,比较器4816输出接收到的符号。当分值不超过阈值时,比较器4816输出错误指示。例如,当分值不超过阈值时,比较器4816可以输出指示错误的符号(例如,活动的符号表中不包括的符号)。因此,当消息损坏而使得未针对符号计算出足够大的分值(即,不超过阈值的分值)时,提供错误指示。在示例性实现中,可以将错误指示提供给叠加器控制器4806以使在识别了错误的阈值数量(例如,一段时间内的错误数量、连续错误的数量等)时使能叠加器4804。
[0355] 来自比较器4816的标识的符号或错误被传递到循环缓冲器4818和既有代码标记循环缓冲器4820。结合图52来描述标准的缓冲器4818的示例性实现。示例性循环缓冲器4818包括针对时域到频域转换器4808的每一次滑动的一个循环缓冲器(例如,192个缓冲器)。循环缓冲器4818的各个循环缓冲器包括针对同步符号和消息中的各个符号块的一个存储位置(例如,八个块消息将存储在八个位置的循环缓冲器中),使得可以将整个消息存储在各个循环缓冲器中。因此,当音频样本被时域到频域转换器4808处理时,将标识的符号存储在各个循环缓冲器的相同位置,直到将各个循环缓冲器的位置填满为止。接着,将符号存储在各个循环缓冲器中的下一个位置。除了存储符号以外,循环缓冲器4818还可以包括各个循环缓冲器中用于存储样本索引的位置,所述样本索引指示接收到的音频信号中导致标识的符号的样本。
[0356] 示例性既有代码标记循环缓冲器4820按照与循环缓冲器4818的相同方式实现,只是既有代码标记循环缓冲器4820还包括用于既有代码标记同步符号的一个位置和用于既有代码标记消息中的各个符号的一个位置(例如,包括一个消息符号的既有代码标记同步将存储在两个位置的循环缓冲器)。既有代码标记循环缓冲器4820与循环缓冲器4818同时并以相同方式构成。
[0357] 示例性消息标识器4822针对同步符号分析循环缓冲器4818和既有代码标记循环缓冲器4820。例如,消息标识器4822在循环缓冲器4818中搜索同步符号并且在既有代码标记循环缓冲器4820中搜索既有代码标记同步符号。当标识了同步符号时,消息标识器4822输出同步符号之后的符号(例如,循环缓冲器4818中的同步符号之后的七个符号或既有代码标记循环缓冲器4820中的既有代码标记同步符号后的一个符号)。另外,输出标识最后音频信号样本的样本索引。
[0358] 由消息标识器4822输出的消息符号和样本索引被传递到验证器4824,验证器4824对各个消息进行验证。验证器4824包括用于存储多个连续接收到的消息的过滤器栈。
因为消息被重复(例如,以8kHz每隔2秒或16000个样本,或者以12kHz每隔1.6秒),可以将各个消息与过滤器栈中的其他消息进行比较以确定是否存在匹配,这些消息以单个消息中的音频样本的大致数量区分。如果存在匹配或大致的匹配,则两个消息被验证。如果不能识别消息,则确定该消息是错误的,并且不从验证器4824发出该消息。在消息可能受到噪声干扰的影响的情况下,当一消息中的符号的子集与另一已验证的消息中的相同子集匹配时,可以将该消息视为匹配。例如,如果一消息中的七个符号中的四个符号与已经验证的另一消息中的相同的四个符号匹配,可以将该消息标识为部分验证。接着,可以观察重复的消息的序列以识别该部分验证的消息中的不匹配符号。
[0359] 此外,针对在解码期间分析的各个假设的长块,可以计算表示解码决策正确的强度和/或概率的分值。例如,针对构成潜在代码模式的七个频率中的每一个,将频率的功率除以其代码频带中的其他代码频率的平均功率。通过针对七个频率求该值的和,可以确定各个潜在模式的分值。选择的模式是具有最高分值并且超过特定最小阈值的代码模式。为了提高解码精度,可以将获胜的模式的分值和在与当前位置相距恰好3、6、9等的消息时隙的长块位置处的与同一模式相对应的分值进行组合。如果该长块是承载大致恒定的有效载荷的消息的六个长块中的一个,则将增加获胜的模式的分值。但是,这样的叠加不有助于第7个长块,第7长块包含逐消息改变的信息。通过叠加,代码检测精度可以提高2倍或3倍,而不对取样速率的错误和/或抖动敏感。在2009年10月22日提交的名称为“Methods and Apparatus to Extract Data Encoded in Media Content”的美国专利申请No.12/604,176中描述了用于提高水印解码精度的其他示例性方法和装置。
[0360] 来自验证器4824的经验证消息被传递给符号到比特转换器4826,符号到比特转换器4826使用活动的符号表将各个符号转换为消息的相应数据比特。
[0361] 尽管在图48中已示出了实现图38的示例性解码器3816的示例性方式,但在图48中示出的接口、数据结构、元件、处理和/或设备中的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,图48的示例性取样器4802、示例性叠加器4804、示例性叠加器控制器4806、示例性时域到频域转换器4808、示例性临界频带归一化器4810、示例性符号记分器4812、示例性最大分值选择器4814、比较器4816、示例性循环缓冲器4818、示例性既有代码标记循环缓冲器4820、示例性消息标识器4822、示例性验证器4824、示例性符号到比特转换器4826、和/或更概括地说--示例性系统解码器3816可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因而,例如,示例性取样器4802、示例性叠加器4804、示例性叠加器控制器4806、示例性时域到频域转换器4808、示例性临界频带归一化器4810、示例性符号记分器4812、示例性最大分值选择器4814、比较器4816、示例性循环缓冲器4818、示例性既有代码标记循环缓冲器4820、示例性消息标识器4822、示例性验证器4824、示例性符号到比特转换器4826、和/或更概括地说--示例性系统解码器3816中的任何一个可以由一个或更多个电路、可编程处理器、ASIC、PLD、FPLD、和/或FPGA等实现。当把包含这些元件的一个或更多个的本专利的任何装置权利要求理解为涵盖纯粹的软件和/或固件的实现时,示例性取样器4802、示例性叠加器4804、示例性叠加器控制器4806、示例性时域到频域转换器4808、示例性临界频带归一化器4810、示例性符号记分器4812、示例性最大分值选择器4814、比较器4816、示例性循环缓冲器4818、示例性既有代码标记循环缓冲器4820、示例性消息标识器4822、示例性验证器4824、示例性符号到比特转换器4826、和/或更概括地说--示例性系统解码器3816中的至少一个由此被清楚地限定为包括有形的制品,诸如上面结合图17描述的存储固件和/或软件的那些有形计算机可读介质。此外,示例性解码器3816可以包括作为图48中示出的接口、数据结构、元件、处理和/或设备的替代或补充的接口、数据结构、元件、处理和/或设备,和/或可以包括一个以上的任何或全部示出的接口、数据结构、元件、处理和/或设备。
[0362] 图49至图52和图55示出为了实现图44的示例性解码器3816而可以执行的示例性机器可接受指令。处理器、控制器和/或任何其他适当的处理设备可以被使用和/或编程为执行图49至图52和图55的示例性机器可接受指令。例如,图49至图52和图55的机器可接受指令可以实现为在如上面结合图17讨论的有形计算机可读介质的有形制品的任何组合上存储的编码指令。例如,机器可读指令包括使处理器、计算机和/或具有处理器的机器(例如,上面结合图24讨论的示例性处理器平台P100)执行一个或更多个特定处理的指令和数据。另选地,图49至图52和图55的示例性机器可接受指令中的一些或全部可以使用ASIC、PLD、FPLD、FPGA、离散逻辑、硬件、固件等的任何组合来实现。另外,图49至图52和图55的示例性处理的一些或全部可以人工地实现或实现为任何前述技术的任何组合,例如固件、软件、离散逻辑和/或硬件的任何组合。此外,可以采用实现图49至52和图55的示例性操作的许多其他方法。例如,可以改变框的执行顺序,和/或可以改变、消除、再分割或组合描述的一个或更多个框。另外,图49至52和图55的任何或全部的示例性机器可接受指令可以由例如单独的处理线程、处理器、设备、离散逻辑、电路等顺序地执行和/或并行地执行。
[0363] 通过对音频取样,图49的示例性处理4900开始(框4902)。音频可以经由音频传感器、硬线连接、经由音频文件、或通过任何其他适当的技术来获得。如上所述,可以以8000Hz或任何其他适当的频率来执行取样。
[0364] 在获得各个样本时,诸如图48的示例性叠加器4804的叠加器聚集样本(框4904)。结合图50来描述用于执行叠加的示例性处理。
[0365] 将来自叠加器处理4904的新叠加的音频样本插入到缓冲器中,最旧的音频样本被去除(框4906)。在获得各个样本时,对包括多个较旧的样本和在框4902和4904处获得的新添加的样本的样本集合执行滑动的时间到频率转换(框4908)。在一些示例中,可以使用滑动的FFT来处理包括9215个旧样本和一个新添加的样本的流输入样本。在一些示例中,使用9216个样本的FFT产生具有5.2Hz的分辨率。
[0366] 在通过时间到频率转换而获得频谱后(框4908),确定发送的符号(框4910)。结合图51描述用于确定传输的符号的示例性处理。
[0367] 在标识发送的消息后(框4910),执行缓冲后处理以标识同步符号和相应的消息符号(框4912)。结合图52描述用于执行后处理的示例性处理。
[0368] 在执行后处理以标识发送的消息(框4912)后,执行消息验证以验证消息的有效性(框4914)。结合图55描述用于执行消息确认的示例性处理。
[0369] 在验证了消息(框4914)后,利用活动符号表,将消息从符号转换为比特(框4916)。接着,控制返回到框4806以处理下一组样本。
[0370] 图50示出了用于叠加音频信号样本以强调编码的代码信号,从而实现图49的叠加音频处理4904的示例性处理。该示例性处理可以由图48的叠加器4804和叠加器控制器4806执行。通过确定是否使能了叠加器控制,示例性处理开始(框5002)。当叠加器控制被禁止时,不发生叠加并且图50的处理结束,并且控制返回到图49的框4906以处理未叠加的音频信号样本。
[0371] 当叠加器控制被使能时,将新接收到的音频信号样本推入缓冲器,并且将最旧的样本推出(框5004)。缓冲器存储多个样本。例如,当在音频信号中每隔2秒对特定消息重复编码并且编码的音频按照8kHz取样时,每个消息将每隔16,000个样本重复,使得缓冲器将存储多重的16,000个样本(例如,缓冲器可以利用96,000个样本的缓冲器存储六个消息)。接着,叠加器4808在缓冲器中选择大致相等的样本块(框5006)。接着,对大致相等的样本块求和(框5008)。例如,将样本1与样本16,001、32,001、48,001、64,001和80,001相加,将样本2与样本16,002、32,002、48,002、64,002和80,002相加,将样本1600与样本32,000、48,000、64,000、80,000和96,000相加。
[0372] 在将缓冲器中的音频信号样本相加后,将得到的序列除以所选择的块的数量(例如,六个块)以计算样本的平均序列(例如,16,000平均的样本)(框5010)。得到的样本的平均序列由叠加器输出(框5012)。图50的处理接着结束并且控制返回到图49的框4906。
[0373] 图51示出了在将接收到的音频信号转换到频域后实现符号确定处理4910的示例性处理。图51的示例性处理可以由图38和图48的解码器3816执行。通过对各个临界频带中的代码频率进行归一化,图51的示例性处理开始(框5102)。例如,可以将代码频率归一化为使得将具有最大振幅的频率设为1并将临界频带中的全部其他频率进行相应调整。在图48的示例性解码器3816中,由临界频带归一化器4810来执行归一化。
[0374] 在将关注的频率归一化(框5102)后,示例性符号记分器481基于之前确定的同步表来选择适当的符号表(框5104)。例如,系统可以包括两个符号表:一个表用于一般同步,并且一个表用于既有代码标记同步。另选地,系统可以包括一个符号表或可以包括可以通过同步符号(例如,交叉表同步符号)标识的多个同步表。符号记分器4812接着计算所选择的符号表中的各个符号的符号分值(框5106)。例如,符号记分器4812可以针对符号表中的各个符号进行重复,并针对符号将各个关注频率的归一化分值相加以计算符号分值。
[0375] 在各个符号被记分后(框5106),示例性最大分值选择器4814选择具有最大分值的符号(框5108)。接着,示例性比较器4816确定使选择的符号的分值是否超过最大分值阈值(框5110)。当分值不超过最大分值阈值时,在循环缓冲器(例如,循环缓冲器4818和既有代脉标记循环缓冲器4820)中存储错误指示(框5112)。图51的处理接着完成,并且控制返回到图49的框4912。
[0376] 当分值超过最大分值阈值(框5110)时,在循环缓冲器(例如,循环缓冲器4818和既有代码标记循环缓冲器4820)中存储标识的符号(框5114)。图51的处理接着完成,并且控制返回到图49的框4912。
[0377] 图52示出了用于实现图49的缓冲后处理4912的示例性处理。当图48的消息标识器4822针对同步指示搜索循环缓冲器4818和循环缓冲器4820时,图52的示例性处理开始(框5202)。
[0378] 例如,图53示出了循环缓冲器4818的示例性实现,并且图54示出了既有代码标记循环缓冲器4820的示例性实现。在图53的示出的示例中,在已被填充的循环缓冲器中的最后位置是由箭头指示的位置三。因此,示例性索引指示导致存储在位置三的符号的音频信号样本中的位置。由于与滑动索引37相对应的行是循环缓冲器,所以连续标识的符号是128、57、22、111、37、23、47和0。因为使示出的示例中的128是同步符号,所以可以将消息标识为同步符号之后的符号。消息标识器4822将等待到在标识了滑动索引39处的同步符号之后定位了七个符号为止。
[0379] 图54的既有代码标记循环缓冲器4820包括针对各个循环缓冲器的两个位置,因为示出的示例的既有代码标记消息包括一个既有代码标记同步符号(例如,符号254),其后为单个消息符号。根据图39的示出的示例,既有代码标记数据块3930被嵌入紧随在7个比特的时间戳的长块3928之后的两个长块中。因此,因为存在针对既有代码标记数据的两个长块,并且示出的示例的各个长块是取样速率为8kHz的1,536个样本,在原始消息后的既有代码标记循环缓冲器3072中,将标识既有代码标记数据符号。在图54的示出示例中,滑动索引对应于样本索引38,744,样本索引38744比图53的滑动索引37(样本索引35672)靠后3072个样本。因此,可以确定既有代码标记数据符号68对应于图53的滑动索引37中的消息,表示图53的滑动索引37中的消息标识原始编码的消息(例如,标识音频的原始广播公司)并且滑动索引37标识既有代码标记消息(例如,标识音频的再广播公司)。
[0380] 回到图49,在检测到同步符号或既有代码标记同步符号后,精简循环缓冲器4818或既有代码标记循环缓冲器4820中的消息以消除消息中的冗余。例如,如图53所示,由于滑动的时域到频域转换和针对各个消息的编码的持续期间,在音频数据中标识了一段时间的消息(滑动索引37至39包含相同消息)。可以将连续的滑动索引中的相同消息精简为单个消息,因为它们仅表示一个编码消息。另选地,可以消除精简,并且在需要时可以输出全部消息。接着,消息标识器4822在与验证器4824关联的过滤器栈中存储精简的消息(框5206)。图52的处理接着结束并且控制返回到图49的框4914。
[0381] 图55示出了实现图49的消息验证处理4914的示例性处理。图49的示例性处理可以由图48的验证器4824执行。当验证器4824读取过滤器栈中的栈顶消息时,图55的示例性处理开始(框5502)。
[0382] 例如,图56示出了过滤器栈的示例性实现。示例性过滤器栈包括消息索引、用于每个消息索引的七个符号位置、样本索引标识、以及用于每个消息索引的验证标记。在消息索引M7处添加各个消息,并且位置M0处的消息是在图55的框5502中读取的栈顶消息。由于取样速率变化和消息标识内的消息边界的变化,当消息每隔16,000个样本重复时,预期消息将被大约16,000个样本的倍数的样本索引分开。
[0383] 回到图56,在选择了过滤器栈中的栈顶消息(框5502)后,验证器4824确定验证标记是否指示该消息之前已被验证(框5504)。例如,图56指示消息M0已被验证。当之前已经验证了消息时,验证器4824输出该消息(框5512)并且控制进行到框5516。
[0384] 当之前已经验证了消息时(框5504),验证器4824确定在过滤器栈中是否存在另一个适当地匹配的消息(框5506)。当一消息与另一消息等同时,当与另一消息匹配的消息符号的阈值数量(例如,七个符号中的四个)或当任何其他错误确定指示两个消息足够相似以推测它们相同时,该消息可以是适当地匹配的。根据示出的示例,可以仅将消息与已被验证的另一消息进行部分验证。当未识别出适当的匹配时,控制进行到框5514。
[0385] 当识别出适当的匹配时,验证器4824确定相同消息之间的持续时间(以样本为单位)是否正确(框5508)。例如,当消息每隔16,000个样本重复时,确定两个适当地匹配的消息之间的分离是否为大约16,000个样本的倍数。当持续时间不正确时,控制进行到框5514。
[0386] 当时间持续期间正确时(框5508),验证器4824通过设置用于各个消息的验证标记而验证两个消息(框5510)。当完整地验证了消息(例如,严格匹配)时,标记可以指示消息得到完全验证(例如,图56中被验证的消息)。当消息仅得到部分地验证(例如,七个符号中仅四个匹配)时,将消息标记为被部分验证(例如,图56中被部分验证的消息)。接着,验证器4824输出栈顶消息(框5512),并且控制系进行到框5516。
[0387] 当确定不存在针对栈顶消息的适当匹配(框5506)或适当的匹配之间的持续时间不正确(框5508)时,栈顶消息得不到验证(框5514)。不从验证器4824输出得不到验证的消息。
[0388] 在确定不验证一消息(框5506、框5508和框5514)或输出栈顶消息(框5512)后,验证器5516使过滤器栈退栈,以从过滤器栈去除栈顶消息。接着,控制返回到框5502,以处理在过滤器栈的栈顶处的下一个消息。
[0389] 尽管上面已经示出并描述实现示例性编码器3802和示例性解码器3816中的任一个或全部的示例性方式,但在图中示出并在上面描述的数据结构、元件、处理和/或设备中的一个或更多个可以组合、分割、重新设置、省略、消除和/或按照任何其他方式实现。此外,示例性编码器3802和示例性解码器3816可以由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因而,例如,示例性编码器3802和示例性解码器3816可以由一个或更多个电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑设备(PLD)、和/或现场可编程逻辑设备(FPLD)等实现。例如,解码器3816可以利用如移动电话的平台设备上的软件来实现。如果将所附权利要求中的任何一个理解为涵盖了纯粹的软件和/或固件的实现,则在先代码检测器3904、示例性消息生成器3910、符号选择器3912、代码频率选择器3914、合成器3916、逆FFT 3918、混合器3920、重叠短块制造器3940、掩蔽评价器3942、临界频带对限定器4402、频率限定器4404、数生成器4406、冗余简化器4408、超额简化器4410、代码频率限定器4412、LUT过滤器4414、取样器4802、叠加器4804、叠加器控制器4806、时域到频域转换器4808、临界频带归一化器4810、符号记分器4812、最大分值选择器4814、比较器4816、循环缓冲器4818、既有代码标记循环缓冲器4820、消息标识器4822、验证器
4824、和符号到比特转换器4826中的至少一个由此被清楚地限定为包括诸如存储器、DVD、CD等的有形介质。此外,示例性编码器3802和示例性解码器3816可以包括作为图中示出并在上面描述的那些数据结构、元件、处理和/或设备的替代或补充的数据结构、元件、处理和/或设备,和/或可以包括一个以上的示出的数据结构、元件、处理和/或设备中的任一个或全部
[0390] 尽管本文描述了特定的示例性装置、方法和制品,但本专利的覆盖范围并不限于此。相反,本专利的覆盖范围不限于本文描述的具体示例。相反,本专利涵盖按照字面或等同原则落入本发明的权利要求的范围内的全部装置、方法和制品。