专利名称:执行音频水印嵌入以及水印检测和提取的方法和设备的利记博彩app
技术领域:
本公开总体上涉及媒体监视,更具体地涉及执行音频水印嵌入以及水印检测和提 取的方法和设备。
背景技术:
识别媒体信息,更具体而言音频流(例如音频信息)对于评定电视、无线电广播或 任意其他媒体的受众暴露(audience exposure)是有用的。例如,在电视受众测量应用中, 可以将代码插入到媒体的音频或视频中,随后在呈现媒体时(例如,在所监视的住宅处播 放)在监视点来检测该代码。嵌入到原始信号中的代码/水印的信息有效载荷可以包括唯 一源标识、广播时间、业务(transactional)或附加内容元数据。监视点通常包括诸如住宅 的地点,在该地点,受众的媒体消费或受众对于媒体的暴露被监视。例如,在监视点,来自音 频和/或视频的代码被捕获且可以与关联于选定频道、电台、媒体源等的媒体的音频或视 频流相关联。然后,收集的代码可以被发送到中央数据收集设施进行分析。然而,与媒体暴 露或消费相关的数据的收集不必限制为家庭暴露或消费。
图1是广播受众测量系统的示意图,该系统采用了识别添加到合成电视信号的音 频部分的代码的程序。图2是图1的示例编码器的框图。图3A-3C是例示了可以在图2的代码频率选择器中使用的不同示例代码频率配置 的图表。图4是例示了可以由图2的示例编码器来执行的示例处理的流程图。图5是图1的示例解码器的框图。图6是例示了可以由图4的示例解码器来执行的示例处理的流程图。图7是示例处理器平台的示意图,该示例处理器平台可用于和/或可设计为执行 此处所述的任意或全部示例系统、示例设备和/或示例方法。
具体实施例方式下面的描述参考了音频编码和解码,音频编码和解码一般还分别被称为音频水印 嵌入(audio watermarking)和水印检测。应当注意,在该背景下,音频可以是频率落在正 常人类听能到频谱范围内的任意类型的信号。例如,音频可以是语音、音乐、音频和/或视 频节目或者作品(例如,电视节目、电影、因特网视频、无线电节目、商业广告等)的音频部 分、媒体节目、噪声或任意其他声音。一般来讲,对音频的编码是将一个或更多代码插入到音频中且理想地保持该代码 不被音频的听者听见。然而,有些情况下,该代码会被某些听者听见。另外,下面将参考可 编码或嵌入在音频中的代码;这些代码也可称为水印。嵌入到音频中的代码可以是任意适当的长度,且可以选择任何适当的技术将代码分配到信息中。而且,如下所述,可以将代码 转换成符号,这些符号由嵌入到音频中的具有选定频率的信号来表示。可以使用任意适当 的编码或纠错技术来将代码转换成符号。下面的示例总体上关于使用诸如代码的信息对音频信号进行编码以及经由解码 处理从音频中获得该信息。下面的示例编码和解码处理可以在若干不同技术应用中使用, 以将信息从一个地方传递到另一个地方。此处所述的示例编码和解码处理可用于进行广播识别。在这种示例中,在作品被 广播之前,对该作品进行编码使之包括表示作品源、作品的广播时间、作品的分发频道或认 为与系统运营商相关的任意其他信息的代码。当作品被呈现(例如,通过电视、无线电广 播、计算装置或任意其他适当装置来播放)时,呈现区域中的个人不仅暴露给该作品,而且 不为这些人所知,他们也暴露给嵌入在作品中的代码。因而,个人可以设置有在基于麦克风 的平台上工作的解码器,使得作品可以由解码器使用自由场检测来获得且被处理以从中提 取代码。代码然后可以被记录且向报告回中央设施以作进一步处理。基于麦克风的解码器 可以是专用的独立装置,也可以利用蜂窝电话或具有麦克风和用以执行解码和代码记录操 作的软件的任意其他类型的装置来实施。另选地,只要作品及其附属代码可以经由硬布线 连接而获取,就可以使用有线系统。例如,通过使用特定代码来标记版权保护的音频和/或相关视频内容,可以在涉 及音频和/或视频作品的跟踪或者取证(forensics)中使用此处描述的示例编码和解码处 理。该示例编码和解码过程可用于实现一种业务编码系统,其中,当某个作品被消费者购买 时,将唯一代码插入到该作品中。因而,允许媒体分发来识别作品源。购买可以包括购买者 物理地接收其上包括作品的有形介质(例如,光盘等),也可以包括经由诸如因特网的网络 来下载作品。在业务编码系统的背景下,同一作品的每个购买者都接收该作品,但是每个购 买者接收到的作品是使用不同代码来编码的。即,插入到作品中的代码对于购买者而言是 因人而异的,其中该购买者购买的每个作品都包括该购买者的代码。另选地,每个作品可以 用顺序分配的代码来编码。而且,通过以隐写方式来隐藏代码,此处描述的示例编码和解码技术可被用于执 行控制功能,其中隐藏的代码用于控制被设计为对代码作出响应的目标装置。例如,控制数 据可以隐藏在语音信号或者任意其他音频信号中。呈现的音频信号的区域中的解码器对接 收到的音频进行处理以获得隐藏的代码。获得代码之后,目标装置基于该代码执行某种预 定动作。这例如在基于商店等中呈现的音频来改变商店内广告的情形下是有用的。例如, 通过使用嵌入在音频广告中的代码,商店内的滚动宣传广告可以与商店内呈现的音频声音 相同步。图1中示出了示例编码和解码系统100。示例系统100例如可以是电视受众测量 系统,该系统将用作进一步说明此处描述的编码和解码处理的背景。示例系统100包括向 音频信号104添加代码103以产生编码后音频信号的编码器102。代码103可以表示任意 选定信息。例如,在媒体监视背景下,代码103可以表示诸如电视广播、无线电广播等广播 媒体节目的标识。另外,代码103可以包括表示代码103被插入到音频中的时刻或媒体广 播时间的计时信息。另选地,如下所述,代码可以包括被用于控制一个或更多目标装置的行 为的控制信息。
音频信号104可以是任意形式的音频,例如包括语音、音乐、噪声、商业广告音频、 与电视节目相关联的音频、现场演出等。在图1的示例中,编码器102将编码后音频信号传 递到发射器106。发射器106将该编码后音频信号联通与该编码后音频信号相关联的任意 视频信号108 —起进行发射。然而,在某些实例中,编码后音频信号可能具有关联视频信号 108,编码后音频信号并不一定具有关联视频。尽管图1中示出的示例系统100的发射侧示出了单个发射器106,但是发射侧可以 更加复杂且可以包括音频信号104可以借以穿过的分发链形式的多级。例如,音频信号104 可以在国家网络级产生且被传递到地方(local)网络级以进行地方分发。因此,尽管编码 器102被示为在发射队列中位于发射器106之前,但是可以贯穿音频信号104的分发链而 放置一个或更多个编码器。因而,音频信号104可以在多级下进行编码且可以包括与这些 多级相关联的嵌入代码。下面将提供关于编码和示例编码器的进一步细节。发射器106可以包括可通过自由空间传播(例如,经由地面或卫星通信链路)分 发编码后音频信号的射频(RF)发射器或者用于通过电缆、光纤等分发编码后音频信号的 发射器中的一种或更多种。在一个示例中,发射器106可用于在广阔的地理区域上广播编 码后音频信号。在其他情形下,发射器106可以通过有限地理区域来分发编码后音频信号。 发射可以包括将编码后音频信号升频转换至射频以实现该音频信号的传播。另选地,发射 可以包括以可通过诸如因特网、广域网或局域网的一个或更多网络来发射的数位或者数位 包的形式来分发编码后音频信号。因而,编码后音频信号可以通过载波信号、通过信息包或 者通过用来分发音频信号的任意适当技术来载送。当编码后音频信号被接收器110接收时(在媒体监视背景下,该接收器110可以 位于以统计方式选定的测量点112),接收到的节目信号的音频信号部分被处理以恢复出代 码,即使当编码后音频信号被接收器110的扬声器114呈现时代码的存在对于听者而言是 不可察觉(或基本不可察觉)的。为此,解码器116直接连接到在接收器110处可用的音 频输出118或连接到放置在扬声器114附近的麦克风120,由此来再现音频。接收到的音频 信号可以是非立体声或立体声形式。下面将提供关于解码和示例解码器的进一步细节。音频编码如上所述,编码器102将一个或更多个不可听(或基本不可听)代码插入到音频 104中以创建编码后音频。图2中示出了一个示例编码器102。在一种实施中,图2的示例 编码器102包括接收音频104的采样器(sampler) 202。采样器202耦接到掩盖(masking) 估计器204,该估计器204估计采样音频在其中隐藏代码的能力。代码103被提供到代码频 率选择器206,该代码频率选择器206确定用于呈现插入到音频中的代码103的音频代码频 率。代码频率选择器206可以包括代码向符号的转换和/或任意适当的检测或校正编码。 向掩盖估计器204传递要用于呈现代码103的指定代码频率的指示,使得掩盖估计器204 获知应当确定音频104的掩盖的频率。另外,将代码频率的指示提供给代码合成器208,该 代码合成器208产生具有代码频率选择器206指定的频率的正弦波信号。组合器210既接 收来自代码合成器208的合成代码频率又接收提供到采样器的音频,并组合二者以产生编 码后音频。在音频104以模拟形式被提供到编码器102的一个示例中,采样器202可以使用 模数(A/D)转换器或任意其他合适的数字转换器来实现。采样器202例如可以按48,000赫兹(Hz)或适于采样音频104同时满足奈奎斯特判据的任意其他采样速率来采样音频104。 例如,如果音频104的频率限制在15,OOOHz,则采样器102可以工作在30,OOOHz。来自采 样器202的每个样本都可以通过一串数位来表示,其中,串中位数表示实施采样的精度。例 如,采样器202可以产生8位、16位、24位或32位。除了采样音频104以外,示例采样器202还累积要被一起处理的很多样本(即,音 频块)。例如,示例采样器202累积一次被传递到掩盖估计器204的512个样本的音频块。 另选地,在一个示例中,掩盖估计器204可以包括累积器,其中很多样本(例如512个)可 以在它们被处理之前累积在缓冲器中。掩盖估计器204接收或累积样本(例如,512个样本)且确定累积的样本使人类无 法听到代码频率的能力。即,掩盖估计器通过整体估计音频的每个临界频带以确定其能量 并确定每个临界频带的类噪声或类音调属性并确定这些临界频带掩盖代码频率的总和能 力,来确定代码频率是否可以被隐藏在由累积样本表示的音频中。通过在人类听知觉基础 上实施的试验性研究而确定的临界频带可以在宽度上从频谱低端的单个频带变化为可听 频谱高端的包含10个或更多相邻频率的频带。如果掩盖估计器204确定出代码频率可以 被隐藏在音频104中,则掩盖估计器204指示代码频率可以插入到音频104而同时仍保持 隐藏的幅度水平,并将该幅度信息提供给代码合成器208。在一个示例中,掩盖估计器204通过确定能量Eb的最大变化或者可以在任意临 界频带处发生而不使该变化可被听者察觉到的掩盖能量级,来执行掩盖估计。掩盖估计器 204执行的掩盖估计例如可以如移动图像专家组一高级音频编码(MPEG-AAC)音频压缩标 准IS0/IEC13818-7 :1997所述那样来执行。每个临界频带中的声能都会影响其邻居的掩盖 能量,并且用于计算掩盖效果的算法在诸如IS0/IEC 13818-7 1997的标准文档中进行了 描述。这些分析可用于针对每个音频块确定由于类声调(例如,音频被估计为类似声调的 程度)以及类噪声(音频被估计为类似噪声的程度)特征所导致的掩盖贡献。进一步分析 可以估计扩展音频在短时间(典型地50-100ms)的掩盖能力的临时掩盖。掩盖估计器204 所得的分析在每个临界频带的基础上提供了可被添加到音频104中而不产生任意可觉察 音频衰减(例如,不会被听见)的代码频率的幅度的确定。在一个示例中,可以使用将输入代码103与某个状态关联起来的查找表来实现代 码频率选择器206,其中每个状态都由要在编码后音频信号中强调的很多代码频率来表示。 例如,代码频率选择器206可以包括将符号或数据状态与冗余地表示数据状态的代码频率 集关联起来的信息。当然,选择使用的状态数量可以基于输入代码的类型。例如,表示两位 的输入代码可以被转换为表示4个符号或者状态(例如22)之一的代码频率。在另一个示 例中,表示4位信息的输入代码可以由16个符号或状态(例如,24)之一来表示。当然,在 将代码103转换为一个或更多个符号或状态时,可以使用一些其他编码来纠错。另外,在一 些示例中,多于一个代码可以被嵌入在音频104中。在图3A中用标号300示出了例示代码频率配置的一个示例图表。该图表包括值范 围为360 1366的频率索引(frequency index)。这些频率索引对应于经由18,432个样本 的块的傅里叶变换在频域观看时嵌入到音频信号中的正弦波的频率。参照频率索引而不是 实际频率的原因在于,索引所对应的频率基于在编码器102中使用的采样率和解码器116 所处理的样本数而变化。采样率越高,每个索引与其相邻索引在频率上就越接近。相反,低采样率导致相邻索引在频率方面相对间隔较宽。例如,在48,OOOHz的采样率下,图3A的图 表300中示出的索引之间的间隔是2. 6Hz。因而,频率索引360对应于936Hz (2. 6Hz X 360)。如图3A所示,图表300包括顶行302,该顶行302列出了以列的形式表示的144个 不同状态或符号,其中图表300示出了前3个状态和最后一个状态。状态被选择来表示代码 或代码的一部分。为简单起见,第三状态与最后一个状态之间的状态用虚线框来表示。在 图表300中,每个状态都占用了相应的列。例如,状态Sl占用了用标号304表示的列。每 一列都包括很多频率索引,这些频率索引表示了在图表的左手列306中指示的7个不同代 码带(code band)中的每一个的频率。例如,如列304所示,状态Sl由频率索引360、504、 648、792、936、1080和1224来表示。为了发送这144个状态之一,选定状态的列中的代码索 引在18,432个样本的块中被强调。因而,为了发送状态Si,对索引360、504、648、792、936、 1080和1224进行强调。在一个示例编码器102中,一次仅强调这些状态之一的索引。如图3A所示,每个代码带都包括顺序编号的频率索引,索引之一对应于各个状 态。即,代码带0包括频率索引360-503,每个频率索引都对应于图表300中示出的144个 不同状态/符号之一。另外,系统中的相邻代码带间隔开一个频率索引。例如,代码带0的 范围从索引360到索引503,且相邻代码带1的范围从索引504到索引647。因而,代码带 0与相邻代码带1间隔了一个频率索引。有利的是,图3A中示出的代码带在频率上彼此相 邻,并由此以相对相同的方式受到多路径干扰的影响。另外,图表300中的高冗余度增强了 恢复代码的能力。因而,如果代码频率选择器206基于图3A的图表300来工作,则当代码频率选择 器206的输入代码被编码或映射到状态Sl时,代码频率选择器206向掩盖估计器204和代 码合成器208指示应在编码后信号中强调频率索引360、504、648、792、936、1080和1224,因 此,代码合成器208应当生成具有对应于频率索引360、504、648、792、936、1080和1224的 频率的正弦波,且该正弦波应以掩盖估计器204指定的幅度来生成,使得生成的正弦波可 以被插入到音频104中但是不可被听见(或者基本不可被听见)。通过另一示例,当输入代 码识别出应当把状态S144编码到音频104中时,代码频率选择器206将频率索引503、647、 791、935、1079、1223和1366识别到掩盖估计器204和代码合成器208,使得对应的正弦波 可以按照适当的幅度来生成。用于选择图表300中的状态以传达信息的编码可以包括数据块和同步块。例如, 要由系统使用这144个不同状态来编码的消息包括后面跟着若干数据块的同步块。通过强 调图表300中的一个列中示出的频率索引,同步块和数据块均被编码到18,432个样本中且 通过强调以下图表300中示出的状态之一的索引来表示。例如,通过强调被选择来表示同步信息的16个状态之一的索引来表示同步块。 即,同步块表示了 16个不同消息类型之一的开始。例如,当考虑媒体监视时,网络电视台可 以使用第一状态来表示同步,而地方分支机构可以使用第二状态来表示同步。因而,在发射 开始时,选择16个不同状态之一来表示同步且通过强调与该状态相关联的索引进行发射。 信息有效载荷数据跟随在同步数据之后。在上述示例中,在表示同步信息的这16个状态怎样分布在144状态上这方面,在 一个示例中,16个状态被选择使得包括表示这16个状态中每一个的第一代码频率的频率 范围大于使该频率范围与包括也表示这16个状态中每一个的第二代码频率的相邻频率范围间隔开的频率量。例如,在上表中,表示同步信息的16个状态可以相隔9个状态,使得状 态 Si、S10、S19、S28、S37、S46、S54、S63、S72、S81、S90、S99、S108、S117、S126、S135 表示 同步信息会具备的可能状态。在代码带0和代码带1中,这对应于135个索引的频率索引 的宽度。代码带0的可能性最大的同步状态(S135)与代码带1的可能性最小的同步状态 (Si)之间的频率间隔是10个频率索引。因而,表示同步信息的频率索引的每个集合的范围 (例如135个索引)远大于使相邻集合间隔开的量(例如10个索引)。在该示例中,144个状态中不用于表示同步的剩余128个状态可用于发射信息数 据。数据可以通过表示期望位数所需的任意数量的合适状态来表示。例如,可使用16个状 态来表示每个状态4位信息,或者可使用128个状态来表示每个状态7位信息。在一个示例 中,被选择来表示数据的状态是这样选择的,使得包括表示每个数据状态的第一代码频率 的频率范围大于使该频率范围与包括也表示每个数据状态的第二代码频率的相邻频率范 围间隔开的频率量。因而,用于表示可能数据的状态包括至少一个充分低的编号状态(例 如S2)和至少一个充分高的编号状态(例如S144)。这确保了包括可用于表示数据的状态 的范围占用了它们各自代码带中较宽的带宽,且相邻范围之间的间隔较窄。编码器102可以重复该编码处理,由此使用特定代码对很多音频块进行编码。艮口, 可以将选定代码频率插入到若干连续的512样本音频块中。在一个示例中,表示符号的代 码频率可以在512个样本的36个连续音频块或者256个样本的72个交叠块中重复。因而, 在接收侧,当通过傅里叶变换对18,432个样本进行处理后,所强调的代码频率将在所得频 谱中可见。图3B示出了可以被代码频率选择器208使用的示例备选图表330,其中图表330 在第一行332中列出了 4个状态,每个状态都包括在7个代码带334中列出的相应频率索 引。这些频率索引对应于当经由512个样本块的傅里叶变换在频域观看时将被嵌入到音频 信号中的正弦曲线的频率。举例而言,在要发送状态Sl的情况下,代码频率选择器206指 示要使用频率索引10、14、18、22、26、30和34。如上所述,将这些频率的指示传送到掩盖估 计器204和代码合成器208,使得可以生成具有合适幅度且对应于所指示的频率索引的正 弦波,供添加到音频104中。在根据图表330工作的示例编码器102中,对应于期望符号的 代码频率被编码到256个样本的交叠块中以使其可检测。与图3A的图表300 —样,图表330表明代码带通过与表示相邻符号的频率索引相 同的频率距离来间隔开。例如,代码0包括频率索引为13的代码频率成分,该频率索引与 表示状态Sl的代码带1频率索引14相隔一个频率索引。图3C的图表360示出了可以被代码频率选择器208使用的另一示例,其中,图表 360在第一行362中示出了 24个状态,每个状态都包括在7个代码带364中列出的相应频 率索引。这些频率索引对应于当经由3072个样本的块的傅里叶变换在频域观看时将被嵌 入到音频信号中的正弦曲线的频率。举例而言,在要发送状态Sl的情况下,代码频率选择 器206指示要使用频率索引60、84、108、132、156、180和204。如上所述,将这些频率的指示 传送到掩盖估计器204和代码合成器208,使得可以生成具有合适幅度且对应于所指示的 频率索引的正弦波,供添加到音频104中。在根据图3C的图表360工作的示例编码器102中,对应于期望符号的代码频率被 编码到256个样本的12个交叠块中。在这种实施中,前16列可以用作数据符号而第17列
11可以用作同步符号。剩余的7列可用作诸如视频点播的专用数据——例如列18、19、20、21、 22,23作为辅助数据符号且这些将仅当列24中存在辅助同步符号时才被解码。与图表300和330 —样,图表360表明代码带通过与表示相邻符号的频率索引相 同的频率距离而间隔开。例如,代码0包括频率索引为83的代码频率成分,该频率索引与 表示状态Sl的代码带1频率索引84相隔一个频率索引。现在返回图2,如上所述,代码合成器208从代码频率选择器206接收需要被包括 进来以创建包括输入代码的指示的编码后音频信号的频率索引的指示。响应于频率索引的 指示,代码合成器208生成具有所识别(identified)频率的很多正弦波(或者包括多个 正弦波的一个合成信号)。合成可以得到正弦波信号或者表示正弦波信号的数字数据。在 一个示例中,代码合成器208生成具有掩盖估计器204指定的幅度的代码频率。在另一示 例中,代码合成器208产生具有固定幅度的代码频率且这些幅度可以通过位于代码合成器 208内或布置在代码合成器208与组合器210之间的一个或更多增益框(未示出)来调节。尽管上面描述了生成正弦波或表示正弦波的数据的示例代码合成器208,但是代 码合成器的其他示例实现也是可行的。例如,另一示例代码合成器208可以输出用于调节 提供到组合器210的音频的某些频率幅度的频域系数,而不是生成正弦波。这样,就可调节 音频的频谱使之包括必需的正弦波。组合器210接收代码合成器208的输出和音频104 二者且组合它们以形成编码后 音频。组合器210可以按模拟或数字形式对代码合成器208的输出和音频104进行组合。 如果组合器210执行了数字组合,则代码合成器208的输出可以与采样器202的输出而不 是输入到采样器202的音频104进行组合。例如,数字形式的音频块可以与数字形式的正 弦波进行组合。另选地,组合可以在频域实施,其中根据表示正弦波的频率系数来调节音频 的频率系数。进一步另选地,正弦波和音频可以按模拟形式进行组合。编码后音频可以按 模拟或数字形式从组合器210输出。如果组合器210的输出是数字的,则它随后可以在耦 合到发射器106之前被转换成模拟形式。图4中示出了示例编码处理400。示例处理400可以由图2所示的示例编码器102 或者任意其他合适的编码器来执行。示例处理400在获得要被包括在音频中的代码时开始 (框402)。代码可以经由数据文件、存储器、寄存器、输入端口、网络连接或任意其他合适技 术而获得。在获得代码(框402)之后,示例处理400对将要嵌入代码的音频进行采样(框 404)。采样可以在48,OOOHz或任意其他合适的频率下进行。示例处理400然后将音频样本 收集到音频样本块中(框406)。样本块例如可以包括512个音频样本。在一些示例中,样 本块可以同时包括旧样本(例如,在将信息编码到音频之前已经使用过的)和新样本(例 如,在将信息编码到音频之前未被使用国)。例如,512个音频样本的块可以包括256个旧 样本和256个新样本。在随后对样本处理400进行迭代时,来自前一迭代的256个新样本 可以用作样本处理400的下一迭代的256个旧样本。示例处理400然后确定要用于将代码(在框402获得的)包括到音频块(在框 406获得)的代码频率(框408)。这是一种编码处理,其中代码或代码位被转换成由频率 成分来表示的符号。如上所述,示例处理400可以使用一个或更多查找表来转换那些要被 编码为表示这些代码的符号的代码,其中这些符号由音频谱中的代码频率冗余地表示。如
12上所述,可以使用7个频率来冗余地表示音频块中的选定符号。选择符号来表示代码可以 包括考虑被处理的块数目、错误编码等。在获得了要在其中包括代码的音频(框406)以及要用于表示代码的代码频率 (框408)之后,处理400计算音频块掩盖选定代码频率的能力(框410)。如上面所解释 的,掩盖估计可以包括将音频块转换到频域并且考虑音频块的类声调或类噪声属性以及块 中各个频率处的幅度。另选地,估计可以在时域中进行。另外,掩盖还可以包括考虑位于前 一音频块中的音频。如上所述,例如,掩盖估计可以根据MPEG-AAC音频压缩标准IS0/IEC 13818-7 :1997来进行。掩盖估计的结果是确定要添加到音频块中的代码频率的幅度或能 量,而这种代码频率保持不可被人耳听见或基本不可被人耳听见。确定了应生成的代码频率的幅度或能量(框410)之后,示例处理400合成具有这 些代码频率的一个或更多个正弦波(框412)。合成可以实际上得到正弦波或者可以得到 等价表示正弦波的数字数据。在一个示例中,可以利用掩盖估计所指定的幅度来合成正弦 波。另选地,可以利用固定幅度来合成代码频率,然后可以在合成之后对这些代码频率的幅 度进行调节。示例处理400然后将合成的代码频率与音频块组合起来(框414)。组合可以通过 添加表示音频块的数据和表示所合成正弦波的数据来进行,或者可以按照任意其他合适方 式来进行。在另一示例中,代码频率合成(框412)和组合(框414)可以在频域中进行,其中 对于所合成正弦波的每个频域系数来调节表示频域中的音频块的频率系数。如上面所解释的,代码频率被冗余地编码到连续音频块中。在一个示例中,一组特 定代码频率被编码到36个连续块中。因而,示例处理400监视是否完成了必需的迭代次数 (框416)(例如,处理400确定示例处理400是否已经重复了 36次来对代码频率进行冗余 编码)。如果示例处理400没有完成必需的迭代(框416),则示例处理400对音频进行采 样(框404),分析音频的掩盖特性(框410),合成代码频率(框412)并将代码频率与新获 取的音频块进行组合(框414),由此利用代码频率来编码另一音频块。然而,当完成将代码频率冗余编码到音频块中的必需迭代(框416)时,示例处理 400获得要被包括在音频中的下一代码(框402)且示例处理400迭代。因而,在选择下一 代码将其编码到预定数目的音频块中之前,示例处理400将第一代码编码到预定数目的音 频块中,依此类推。然而,也并不总是要将代码嵌入到音频中。在这种情形下,示例处理400 可以被绕过。另选地,如果没有获得要被包括的代码(框402),则不会合成任何代码频率 (框412),因而,不会有代码频率来变更音频块。因而,示例处理400将仍然运行,只不过音 频块并不总是被修改——尤其是当没有要包括在音频中的代码时。音频解码一般而言,解码器116检测被插入到音频中以在编码器102处形成编码后音频的 代码信号。即,解码器116查找它处理的代码频率中的强调方向图(pattern)。一旦解码 器116确定了哪些代码频率是被强调的,解码器116就基于强调的代码频率来确定编码后 音频中存在的符号。解码器116可以记录这些符号,或者可以将这些符号解码为曾经被提 供到编码器102以插入到音频中的代码。如图5所示,示例解码器116包括采样器502,其可以使用A/D或任意其他技术来实现,以模拟形式向其提供编码后音频。如图1所示,编码后音频可以通过有线或无线连接 被提供至接收器110。采样器502例如以48,OOOHz的采样频率对编码后音频进行采样。当 然,可以有利地选择较低的采样频率以减小解码时的计算负载。例如,在8kHz的采样频率 下,奈奎斯特频率是4kHz,因此所有的嵌入代码信号都被保留,因为其谱频率低于奈奎斯特 频率。48kHz采样速率下18,432样本DFT块长度在8kHz采样率下减小到3072个样本。然 而,即使在此改动后DFT块大小下,代码频率索引也等于原始的索引且范围从360到1367。来自采样器502的样本被提供到时域-频域转换器504。时域-频域转换器504 可以使用离散傅里叶变换(DFT)或任意其他合适技术来实现以将基于时间的信息转换为 基于频率的信息。在一个示例中,时域_频域转换器504可以使用滑动DFT(其中在每次新 样本被提供到该示例时域-频域转换器504时计算频谱)来实现。在一个示例中,时域-频 域转换器504使用编码后音频的18,432个样本且据此确定频谱。时域_频域转换器504 产生的频谱的分辨率随着用于产生频谱的样本数而增加。因而,时域_频域转换器504所 处理的样本数应匹配于用于选择图3A、图3B或图3C的图表中的索引的分辨率。时域-频域转换器504产生的频谱传至代码频率监视器506,该代码频率监视器 506监视与可能运载了被示例编码器102插入的代码的频率索引相对应的所有频率或谱 线。例如,如果示例编码器102基于图3A的图表来发送数据,则代码频率监视器506监视 与索引360-1366相对应的频率。代码频率的监视包括估计每个代码频率处的频谱能量。因而,代码频率监视器506 将图3A的图表的指定行的能量归一化为该图表的该行的最大能量。例如,考虑与图3A的图 表的代码带0相对应的频率索引,如果与频率索引360相对应的频率具有表示代码带0的 行(例如,频率索引361、362、...503)中其他频率的最大能量,则将与代码带0中的索引相 对应的其他频率处的各个能量除以与频率索引360相对应的频率的能量。因而,频率索引 360的归一化能量的值将为1,而与代码带0中的频率索引相对应的所有其他频率都将具有 小于1的值。针对图表300的每一行重复该归 化处理。即,图3A的图表中的每个代码带 都将包括其能量被归一化为1的一个频率,而该代码带中的其他能量被归一化为小于1的 某个值。基于代码频率监视器506产生的归一化能量,符号确定器508确定编码后音频中 存在的符号。在一个示例中,符号确定器508对与每个状态相对应的所有归一化能量进行 求和。即,符号判决器508创建了 144个和值,每个和值都对应于图表300中的一列或一个 状态。具有最高归一化能量和值的列或状态被确定为被编码的符号。符号确定器可以使用 查找表,该查找表类似于图3A的可用于将强调的频率映射到它们对应的符号的查找表。例 如,如果状态Sl被编码到音频中,则对于表示状态Sl的每个频率索引,归一化能量一般将 导致值为1。即,一般情况下,代码带中不对应于状态Sl的所有其他频率都将具有小于1的 值。然而,尽管这一般而言是正确的,但是并不是每个对应于状态Sl的频率索引都具有1 的值。因而,针对每个状态计算了归一化能量的和值。这样,一般而言,与表示状态Sl的频 率索引相对应的归一化能量将具有大于与表示其他状态的频率索引相对应的能量的和值。 如果与表示Sl的频率索引相对应的归一化能量的和值超过了检测阈值4. 0,则状态Sl被确 定为嵌入在编码后音频中的最可能符号。然而,如果和值不超过该阈值,则状态Sl被编码 的信心不足,没有状态被确定为最可能状态。因而,符号确定器508的输出是被编码到音频
14的最可能符号的流。在理想条件下,Sl的代码频率将得出7. 0的归一化分数。有效性检查器510对最可能符号进行处理以确定接收到的符号是否对应于有效 数据。即,有效性检查器510确定在编码器102的代码频率选择器206处用于将代码转化 为符号的编码方案给定的条件下,与最可能符号相对应的位是否有效。有效性检查器510 的输出是代码,该代码对应于提供到图2的代码频率选择器206的代码。图6中示出了示例解码处理600。示例处理600可以由图5中示出的示例解码器 116或任意其他合适的解码器来执行。示例处理600以对音频进行采样(框602)开始。音 频可以经由音频传感器、硬线连接、音频文件或通过任意其他合适的技术来获得。如上面所 解释的,采样可以按48,OOOHz的频率或任意其他合适的频率来进行。获得每个样本后,对包括很多旧样本和在框602获得的新添加样本的样本集合进 行滑动时域-频域转换(框604)。在一个示例中,可以使用滑动DFT来处理包括18,431个 旧样本和一个新添加样本的流输入样本。在一个示例中,使用18,432个样本的DFT得到了 分辨率为2. 6Hz的频谱。在通过时域-频域转换获得频谱(框604)之后,确定代码频率的能量(框606)。 在一个示例中,可以通过针对可以被强调以对音频进行编码的频率成分获得时域_频域转 换(框604)结果的幅度,来获得这些能量。重要的是,为了节省处理时间和最小化内存消 耗,仅可以仅保留与代码频率相对应的频率信息并作进一步处理,因为这些频率是编码信 息可能位于的仅有频率(only frequency)。当然,示例处理600可以使用能量的其他信息。 例如,示例处理600可以保留幅度和相位信息且处理它们。另外,通过考虑之前接收的同步符号可以进一步减少处理600中被处理的频率。 例如,如果特定同步符号后面总是跟着6个不同符号之一,则在接收到该特定同步符号以 后,被处理的频率可以减少为这6个不同符号。在确定了能量(框606)之后,示例处理600基于每个代码块中的最大能量来归一 化该代码块的代码频率能量(框608)。即,代码块中的代码频率的最大能量被再次用作其 自身和该代码块中的所有其他能量的除数。归一化导致每个代码块都具有一个归一化能量 值为1的频率成分,而该代码块中的所有其他归一化能量值都具有小于1的值。因而,参照 图3A,图表300的每一行都将具有一个值为1的条目,而所有其他条目都具有小于1的值。示例处理600然后对归一化能量值进行操作以在此基础上确定最可能符号(框 610)。如前面所解释的,该确定例如包括对与每个符号相对应的归一化能量值进行求和,由 此得到与符号相同数目的和值(例如,考虑图3A的图表,将存在144个和值,每个和值对应 于144个符号之一)。然后将最大和值与阈值(例如4. 0)进行比较,如果和值超过阈值,则 与最大和值相对应的符号被确定为接收到的符号。如果最大和值未超过阈值,则没有符号 被确定为接收到的符号。确定了接收到的符号(框610)之后,示例处理600确定与接收到的符号相对应的 代码(框612)。即,示例处理600对示例编码处理400进行的代码到符号的编码(例如,通 过框408执行的编码)进行解码。在完成解码且从符号确定了代码(框612)之后,示例处理600分析代码的有效性 (框614)。例如,可以对接收到的符号进行检验以基于发送代码的编码处理来确定代码序 列是否有效。有效代码被记录且可以在稍后的时间与表明何时接收到代码的时间和日期戳一起发送回中央处理设施。尽管上面已经说明和描述了实施任意或所有示例编码器102和示例解码器116的 示例方式,但是附图中示出和上面描述的一个或更多数据结构、元件、处理和/或装置可以 进行组合、拆分、重新布置、省略、去除和/或按任意其他方式来实施。而且,示例编码器102 和示例解码器116可以通过硬件、软件、固件和/或硬件、软件、固件的任意组合来实现。因 而,例如,示例编码器102和示例解码器116可以通过一个或更多电路、可编程处理器、专用 集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)等来实现。例 如,解码器116可以使用诸如移动电话的平台装置上的软件来实现。如果任一所附权利要 求被解读为涵盖纯软件实施方式,则编码器102的示例采样器202、示例掩盖估计器204、示 例代码频率选择器206、示例代码合成器208和示例组合器210至少其一和/或示例解码器 116的示例采样器502、示例时域-频域转换器504、示例代码频率监视器506、示例统计处 理器508、示例符号确定器510和/或示例有效性检查器512中的一个或多个在此被明确定 义为包括诸如存储器、DVD、CD等有形介质。并且,除了附图中示出和上面描述的或者取而 代之,示例编码器102和示例解码器116可以包括数据结构、元件、处理和/或装置,并且/ 或者可以包括任意或所有所例示的数据结构、元件、处理和/或装置中的不止一项。图7是示例处理器平台700的示意图,该示例处理器平台700可用于和/或可编 程来实现此处所述的示例编码器102和解码器116和/或任意其他组件中的任意或全部。 例如,处理器平台700可以通过一个或更多通用处理器、处理器核、微控制器等来实现。另 外,处理器平台700可以实现为具有其他功能的装置的一部分。例如,处理器平台700可以 使用移动电话或任意其他手持装置中提供的处理能力(processing power)来实现。图7的示例处理器平台700包括至少一个通用可编程处理器705。处理器705执 行存在于处理器705的主存储器(例如,RAM 715和/或ROM 720)中的编码指令710和/ 或712。处理器705可以是任意类型的处理单元,例如处理器核、处理器和/或微控制器。 此外,处理器705可以执行实现此处所述处理的示例机器可存取指令。处理器705经由总线 725与主存储器(包括ROM 720和/或RAM 715)进行通信。RAM 715可以通过DRAM、SDRAM 和/或任意其他类型的RAM装置来实现,且ROM可以通过闪存和/或任意其他所需类型的 存储器装置来实现。存储器715和720的存取可以通过存储器控制器(未示出)来控制。处理器平台700还包括接口电路730。接口电路730可以通过诸如USB接口、蓝牙 接口、外部存储器接口、串口、通用输入/输出等任意类型的接口标准来实现。一个或更多 输入装置735和一个或更多输出装置740连接到接口电路730。尽管此处描述了某些示例设备、方法和制品,但是其他实施方式也是可行的。本专 利申请的涵盖范围不限于此处描述的特定示例。相反,本专利申请涵盖了落在本发明范围 内的所有设备、方法和制品。本申请要求分别于2007年11月12日和2008年4月10日提交的美国临时申请 No. 60/987,280和61/043,952的优先权,此处以引证的方式并入其全部内容。
权利要求
一种将辅助信息嵌入到音频信号中的方法,该方法包括以下步骤对所述音频信号进行采样以创建音频块;接收代码;确定要用于表示所述代码的频率成分,其中不同的频率成分集合分别表示不同的信息,并且其中每个频率成分集合中的一个频率成分位于代码带中且存在多个代码带,而相邻代码带之间的间隔等于或小于每个代码带的相邻频率成分之间的间隔;确定要用于表示所述信息的频率成分的幅度,其中通过所述音频块的掩盖能力来确定所述频率成分的幅度;合成要用于表示所述信息的频率成分,其中将所述频率成分与所确定的幅度进行合成;以及将所合成的代码频率成分与所述音频块进行组合。
2.根据权利要求1所述的方法,其中用于表示所述信息的所述频率成分位于可听频率 范围内。
3.根据权利要求1所述的方法,其中所述多个代码带包括七个代码带。
4.根据权利要求3所述的方法,其中代码带内相邻频率成分之间的间隔包括一个频率 索引。
5.根据权利要求4所述的方法,其中相邻代码带之间的间隔包括一个频率索引。
6.根据权利要求5所述的方法,其中所述不同的频率成分集合包括144个不同的频率 成分集合。
7.根据权利要求6所述的方法,其中每个代码带都包括144个不同的频率索引。
8.根据权利要求7所述的方法,其中所述频率成分集合中的至少一个表示同步符号。
9.根据权利要求8所述的方法,其中所述同步符号表明了所述同步符号之后的信息的 特性。
10.根据权利要求7所述的方法,其中在一个特定时刻,选择单个频率成分集合来包括 在所述音频块中。
11.根据权利要求10所述的方法,其中所述单个频率成分集合被包括在多个连续音频 块中。
12.一种获取先前利用存在于多个代码带中的多个频率成分嵌入到音频信号中的辅助 信息的方法,该方法包括以下步骤对音频信号进行采样;将所述音频信号转换成频域表示;确定所述频域表示的每个可能包含所述辅助信息的频率的特性;在每个代码带上,对该代码带中的所述频域表示的每个可能包含所述辅助信息的频率 的特性进行归一化,其中该归一化是针对该代码带中的频率的最大特性来执行的;对每个表示辅助信息的频率的归一化特性进行求和,以确定表示辅助信息的频率的最 大和值;确定所述最大和值表示所述辅助信息。
13.根据权利要求12所述的方法,其中不同的频率成分集合分别表示不同的信息,并 且其中每个频率成分集合中的一个频率成分位于代码带中且存在多个代码带,而相邻代码带之间的间隔等于或小于每个代码带的相邻频率成分之间的间隔。
14.根据权利要求13所述的方法,其中每个可能包含所述辅助信息的频率的所述特性 是该频率的幅度。
15.根据权利要求13所述的方法,其中每个可能包含所述辅助信息的频率的所述特性 是该频率的能量。
16.根据权利要求12所述的方法,该方法还包括以下步骤在确定了辅助信息的第一 部分之后减少所处理的频率的数量。
17.根据权利要求16所述的方法,其中辅助信息的所述第一部分包括同步信息。
18.一种将辅助信息嵌入到音频信号中的设备,该设备包括 采样器,其对所述音频信号进行采样以创建音频块;代码频率选择器,其接收代码并确定要用于表示所述代码的频率成分,其中不同的频 率成分集合分别表示不同的信息,并且其中每个频率成分集合中的一个频率成分位于代码 带中且存在多个代码带,而相邻代码带之间的间隔等于或小于每个代码带的相邻频率成分 之间的间隔;掩盖估计器,其确定要用于表示所述信息的频率成分的幅度,其中通过所述音频块的 掩盖能力来确定所述频率成分的幅度;代码合成器,其合成要用于表示所述信息的频率成分,其中将所述频率成分与所确定 的幅度进行合成;以及组合器,其将所合成的代码频率成分与所述音频块进行组合。
19.根据权利要求18所述的设备,其中用于表示所述信息的所述频率成分位于可听频 率范围内。
20.根据权利要求18所述的设备,其中所述多个代码带包括七个代码带。
21.根据权利要求20所述的设备,其中代码带内相邻频率成分之间的间隔包括一个频率索引。
22.根据权利要求21所述的设备,其中相邻代码带之间的间隔包括一个频率索引。
23.根据权利要求22所述的设备,其中所述不同的频率成分集合包括144个不同的频 率成分集合。
24.根据权利要求23所述的设备,其中每个代码带都包括144个不同的频率索引。
25.根据权利要求24所述的设备,其中所述频率成分集合中的至少一个表示同步符号。
26.根据权利要求25所述的设备,其中所述同步符号表明了所述同步符号之后的信息 的特性。
27.根据权利要求24所述的设备,其中在一个特定时刻,选择单个频率成分集合来包 括在所述音频块中。
28.根据权利要求27所述的设备,其中所述单个频率成分集合被包括在多个连续音频 块中。
29.一种获取先前利用存在于多个代码带中的多个频率成分嵌入到音频信号中的辅助 信息的设备,该设备包括采样器,其对音频信号进行采样;时域_频域转换器,其将所述音频信号转换成频域表示;代码频率监视器,其确定所述频域表示的每个可能包含所述辅助信息的频率的特性;在每个代码带上,对该代码带中的所述频域表示的每个可能包含所述辅助信息的频率 的特性进行归一化,其中该归一化是针对该代码带中的频率的最大特性来执行的;对每个表示辅助信息的频率的归一化特性进行求和,以确定表示辅助信息的频率的最 大和值;确定所述最大和值表示所述辅助信息。
30.根据权利要求29所述的设备,其中不同的频率成分集合分别表示不同的信息,并 且其中每个频率成分集合中的一个频率成分位于代码带中且存在多个代码带,而相邻代码 带之间的间隔等于或小于每个代码带的相邻频率成分之间的间隔。
31.根据权利要求30所述的设备,其中每个可能包含所述辅助信息的频率的所述特性 是该频率的幅度。
32.根据权利要求30所述的设备,其中每个可能包含所述辅助信息的频率的所述特性 是该频率的能量。
33.根据权利要求30所述的设备,该设备还包括在确定了辅助信息的第一部分之后 减少所处理的频率的数量。
34.根据权利要求33所述的设备,其中辅助信息的所述第一部分包括同步信息。
35.一种存储有计算机可读指令的计算机可读介质,所述计算机可读指令被执行时使 计算机对音频信号进行采样以创建音频块;接收代码;确定要用于表示所述代码的频率成分,其中不同的频率成分集合分别表示不同的信 息,并且其中每个频率成分集合中的一个频率成分位于代码带中且存在多个代码带,而相 邻代码带之间的间隔等于或小于每个代码带的相邻频率成分之间的间隔;确定要用于表示所述信息的频率成分的幅度,其中通过所述音频块的掩盖能力来确定 所述频率成分的幅度;合成要用于表示所述信息的频率成分,其中将所述频率成分与所确定的幅度进行合 成;以及将所合成的代码频率成分与所述音频块进行组合。
36.根据权利要求35所述的计算机可读介质,其中用于表示所述信息的所述频率成分 位于可听频率范围内。
37.根据权利要求35所述的计算机可读介质,其中所述多个代码带包括七个代码带。
38.根据权利要求37所述的计算机可读介质,其中代码带内相邻频率成分之间的间隔 包括一个频率索引。
39.根据权利要求38所述的计算机可读介质,其中相邻代码带之间的间隔包括一个频率索引。
40.根据权利要求39所述的计算机可读介质,其中所述不同的频率成分集合包括144 个不同的频率成分集合。
41.根据权利要求40所述的计算机可读介质,其中每个代码带都包括144个不同的频率索引。
42.根据权利要求41所述的计算机可读介质,其中所述频率成分集合中的至少一个表 示同步符号。
43.根据权利要求42所述的计算机可读介质,其中所述同步符号表明了所述同步符号 之后的信息的特性。
44.根据权利要求41所述的计算机可读介质,其中在一个特定时刻,选择单个频率成 分集合来包括在所述音频块中。
45.根据权利要求44所述的计算机可读介质,其中所述单个频率成分集合被包括在多 个连续音频块中。
46.一种存储有计算机可读指令的计算机可读介质,该计算机可读指令获取先前利用 存在于多个代码带中的多个频率成分嵌入到音频信号中的辅助信息,该计算机可读指令被 执行时使计算机对音频信号进行采样;将所述音频信号转换成频域表示;确定所述频域表示的每个可能包含所述辅助信息的频率的特性;在每个代码带上,对该代码带中的所述频域表示的每个可能包含所述辅助信息的频率 的特性进行归一化,其中该归一化是针对该代码带中的频率的最大特性来执行的;对每个表示辅助信息的频率的归一化特性进行求和,以确定表示辅助信息的频率的最 大和值;确定所述最大和值表示所述辅助信息。
47.根据权利要求46所述的计算机可读介质,其中不同的频率成分集合分别表示不同 的信息,并且其中每个频率成分集合中的一个频率成分位于代码带中且存在多个代码带, 而相邻代码带之间的间隔等于或小于每个代码带的相邻频率成分之间的间隔。
48.根据权利要求47所述的计算机可读介质,其中每个可能包含所述辅助信息的频率 的所述特性是该频率的幅度。
49.根据权利要求47所述的计算机可读介质,其中每个可能包含所述辅助信息的频率 的所述特性是该频率的能量。
50.根据权利要求46所述的计算机可读介质,该计算机可读介质还包括在确定了辅 助信息的第一部分之后减少所处理的频率的数量。
51.根据权利要求50所述的计算机可读介质,其中辅助信息的所述第一部分包括同步 fn息ο
全文摘要
本发明描述了编码和解码方法以及设备。在一个实例中,一种将辅助信息嵌入到音频信号中的方法包括以下步骤对所述音频信号进行采样以创建音频块;接收代码;确定要用于表示所述代码的频率成分,其中不同的频率成分集合分别表示不同的信息,并且其中每个频率成分集合中的一个频率成分位于代码带中且存在多个代码带,而相邻代码带之间的间隔等于或小于每个代码带的相邻频率成分之间的间隔;确定要用于表示所述信息的频率成分的幅度,其中通过所述音频块的掩盖能力来确定所述频率成分的幅度;合成要用于表示所述信息的频率成分,其中将所述频率成分与所确定的幅度进行合成;以及将所合成的代码频率成分与所述音频块进行组合。
文档编号H04N7/26GK101918999SQ200880120098
公开日2010年12月15日 申请日期2008年10月10日 优先权日2007年11月12日
发明者亚历山大·帕夫洛维奇·托普奇, 阿伦·拉马斯瓦米, 韦努戈帕尔·斯里尼瓦桑 申请人:尼尔森(美国)有限公司