使用起始相位调制进行加水印的设备和方法与流程

文档序号:26102462发布日期:2021-07-30 18:13阅读:159来源:国知局
使用起始相位调制进行加水印的设备和方法与流程

本公开总体上涉及媒体监测,并且更特别地,涉及使用起始相位调制进行加水印的设备和方法。



背景技术:

诸如电视广播的媒体可以利用水印来进行编码,在检测时,对水印进行解码以识别呈现的媒体。

附图说明

图1是使用起始相位调制进行加水印的示例环境的框图。

图2是根据本公开的教导的使用起始相位调制对水印进行编码的图1的示例水印编码器的框图。

图3是根据本公开的教导的对利用起始相位调制编码的水印进行解码的图1的示例水印解码器的框图。

图4是表示可以被执行以实现用于使用起始相位调制对带有水印的媒体信号进行编码的图1和图2的水印编码器的机器可读指令的流程图。

图5a至图5b是表示可以被执行以实现用于对使用起始相位调制编码的水印进行解码的图1和图3的水印解码器的机器可读指令的流程图。

图6是用于实现结合图5a至图5b描述的水印解码处理的示例代码。

图7是例示具有不同频率但具有公共起始相位值的多个水印分量的示意图。

图8是具有公共起始相位值的多个水印分量的示例相位标绘图。

图9是例示用于确定如本文所描述的水印起始相位的数值方法的收敛的示例相位分布标绘图。

图10是被构造成执行图4的示例计算机可读指令以实现图1至图2的示例水印编码器的示例处理器平台的框图。

图11是被构造成执行图5a至图5b的示例计算机可读指令以实现图1和图3的示例水印解码器的示例处理器平台的框图。

这些图不是按比例绘制的。通常,贯穿附图和所附书面描述使用相同的标号来指示相同或相似的部分。

具体实施方式

受众测量实体希望了解用户如何与诸如智能手机、平板电脑、膝上型电脑、智能电视机等的媒体装置进行交互。特别是,媒体监测公司想要监测在媒体装置上进行的媒体呈现,尤其是监测广告曝光率、确定广告效果、确定用户行为、识别与各种人口统计相关联的购买行为等。

加水印(watermarking)是被用于识别诸如电视广播、无线电广播、广告(电视和/或无线电)、下载的媒体、流传输的媒体、预打包的媒体等的媒体的技术。现有加水印技术通过将诸如媒体识别信息和/或可以被映射至媒体识别信息的标识符的一个或更多个代码(例如,一个或更多个水印)嵌入到音频和/或视频分量中来识别媒体。在一些示例中,将音频分量或视频分量选择成具有足以隐藏水印的信号特征。如本文所使用的,可互换地使用术语“代码”或“水印”,并且将该代码或水印限定成意指任何识别信息(例如,标识符),该代码或水印可以是出于识别媒体的目的或者出于诸如调谐的另一目的而插入或嵌入媒体(例如,节目或广告)的音频或视频(例如,分组标识报头)中的。如本文所使用的,“媒体”是指音频和/或可视(静止或移动)内容和/或广告。为识别带水印的媒体,提取并使用水印来访问被映射至媒体识别信息的参考水印表。

通过选择可能对用户对媒体信号的察觉具有最小影响的音频频率范围(例如,经由心理声学根据经验确定的)并且修改该频率范围内的媒体信号,来将水印编码到媒体信号中。水印通常包括多个水印分量(例如,符号、频调(tone)等)。水印分量是以以下方式嵌入媒体信号中的:该水印分量在理想情况下无法被听众察觉,但是当在水印解码期间分析音频特征时是可辨别的。音频加水印的一种方法是基于嵌入特定频率和幅度的短频调(例如,正弦波),其中频调的选择由水印信息有效载荷进行调制。特定频调频率范围和/或频调幅度值可以与水印分量的不同值相关联。例如,可以在预期水印分量的频调频率处观察到满足阈值的幅度值。基于频率范围和幅度值,可以确定并利用数字(或其它代码表示)来确定每前述水印参考表的识别信息。

然而,许多频率范围和/或幅度值不能被用于输送水印分量,因为结果会导致在解码期间是人类可察觉的和/或难以检测的(例如,由于低信噪比)。因此,仅通过激励频率范围内的幅度值而可以在水印分量中输送的信息的容量是有限的。近年来,需要增加水印的信息容量。例如,增加水印容量可以支持更长的时间戳、编码器的遥测以及并入标志以向媒体监测器发出信号以开始、结束或修改解码处理。该信息需要与在水印中输送的现有信息基本同时(例如,在十分之一秒钟内)递送以避免延长总体水印持续时间。因此,不仅需要增加所输送的信息总量,而且需要增加水印分量的信息密度。

如前所述,可以基于媒体信号的幅度和频率值来表征媒体信号。媒体信号另外可以基于第三特性(即,相位)来进行表征。相位是指在媒体信号的时间值处的位置。瞬时相位是指在特定时间点(例如,在当前分析时间)的媒体信号值。在一些示例中,被嵌入媒体信号中的水印分量之间可能存在相位差。例如,水印分量通常被嵌入为具有特定频率和幅度值的正弦波,如先前所讨论的。两个单独的水印分量因此可以被表示为媒体信号中的两个单独正弦波。在一些示例中,这些正弦波皆同时开始并且具有相同的值(例如,电压值为零、分贝值为零等)。根据正弦波的频率,瞬时相位值将在启动时间之后发散。例如,高频正弦波将具有相对于低频正弦波随时间快速改变的瞬时相位值。因此,除了提供与频率直接链接的附加媒体信号特征之外,单独水印分量的瞬时相位值在单独考虑的情况下是不容易承载水印的附加信息的。常规的加水印技术因此在编码和解码水印分量时忽略了单独的相位值。

本文公开了使用起始相位调制进行媒体测量的示例方法、设备、系统和制品(例如,物理存储介质)。所公开的示例媒体测量技术通过调制所述水印分量中的一个或更多个水印分量的起始相位值来使得水印分量能够承载附加信息。本文所公开的示例技术利用表示信息位值的预定起始相位值来对多个水印分量进行编码。例如,可以将第一起始相位值(例如,零、π、-π等)用于表示第一位值(例如,零),并且可以将第二起始相位值用于表示第二位值(例如,一)。

在本文所公开的对媒体信号中的水印符号进行解码/检测的示例方法、设备、系统以及制品(例如,物理存储介质)中,水印分量是在媒体信号中的任意采样时段进行分析的(例如,不是具体从水印分量的开头开始的),这是因为很难具体确定水印符号何时开始。本文所公开的示例技术在任意采样时段执行计算,并且确定在任意采样时段的水印分量的相位值是否足够接近被选择用于承载信息(例如,零、π、-π等)的起始相位值。在本文所公开的示例技术中,如果所分析的瞬时相位值看起来未收敛并且表示起始相位值,则分析及时退回并继续分析附加的采样时段,直到确定水印分量的起始相位。一旦确定了起始相位,就可以基于水印分量的起始相位来确定位值。在本文所公开的一些示例技术中,在起始相位位解码处理期间,仅选择具有最强信号(例如,基于信噪比)的水印分量来进行分析。

本文所公开的示例技术通过调制人耳无法察觉的但是对于利用本文所公开的分析技术的水印解码器可察觉的水印分量的起始相位值,来使得水印能够包括更多的信息。本文所公开的技术以对媒体信号的任何其它方面没有潜在可察觉影响的方式来提高水印信息密度。另外,本文所公开的技术是向后兼容现有水印解码器的,这是因为仍然可以分析水印分量的幅度和频率特征以确定利用本文所公开的技术编码的水印的水印符号。因此,当在解码器处解码时,本文所公开的加水印技术使得能够对附加信息进行解码(例如,经由起始相位位)以解码利用如本文所描述的起始相位调制编码的水印,而不会损害由水印承载的剩余信息(例如,来自频率和/或幅度特征)。

图1是使用起始相位调制进行加水印的示例环境100的框图。环境100包括:示例媒体信号102、示例媒体分发器104、示例水印编码器106、示例带水印媒体信号108、示例家庭110、示例媒体呈现装置112、示例媒体监测器114、示例第一水印解码器116a、示例第二水印解码器116b、示例媒体标识数据118、示例受众测量实体(ame)120以及示例媒体测量系统(mms)122。

图1的例示示例的示例媒体信号102是输送媒体的音频、视频和/或视听信号。在一些示例中,媒体信号102由内容创建者(例如,制作工作室、个人创作者、艺术家等)、内容分发者或者另一实体生成,并且被提供给媒体分发器104以传输给更广泛的受众。在一些示例中,媒体分发器104本身创建媒体信号102。媒体信号102可以无线地(例如,经由网络、经由天线等)或者经由直接物理连接(例如,经由线缆)来进行输送。

图1的例示示例的示例媒体分发器104是用于向更广泛的受众传输媒体信号的实体。例如,媒体分发器104可以接收输送媒体的多个媒体信号,并且利用传输技术(例如,天线、卫星、线缆、互联网等)来使媒体信号可用于大量受众。在一些示例中,媒体分发器104包括水印编码器106,该水印编码器将水印编码到媒体信号102中,从而生成带水印媒体信号108。在一些示例中,可以将水印嵌入媒体信号102中的别处(例如,内容创建者处、内容分发者处、ame120处等)。

图1的例示示例的示例水印编码器106将水印编码(例如,嵌入、输入等)到媒体信号102中,以用于由媒体信号102输送的媒体的后续识别。水印编码器106可以由ame120配置成使得在ame120处(例如,在mms122处)的第二水印解码器116b能够容易地解码水印。例如,ame120可以提供由水印编码器106利用的算法、代码映射或其它工具来生成带水印媒体信号108。例示示例的水印编码器106通过在媒体信号102的特定频率范围内嵌入由改变的幅度和起始相位值组成的多个水印分量,从而将水印嵌入媒体信号102中。在一些示例中,水印编码器106改变特定的媒体信号特征,使得水印对受众充分隐藏(例如,听不见、看不可等),但是仍然可被ame120检测和识别。水印编码器106可以嵌入与节目标识符、台标识符、时间戳和/或可以在识别媒体信号102中所输送的媒体时有用的任何其它信息相对应的一个或更多个水印。水印编码器106的进一步细节以及由水印编码器106执行的技术将结合图2来进行描述。

图1的例示示例的示例带水印媒体信号108是在利用一个或更多个水印进行编码之后的媒体信号102。带水印媒体信号108利用媒体分发器104的传输技术(例如,天线、网络、线缆等)来向受众广播。

图1的例示示例的示例家庭110是消费媒体并且执行媒体监测(例如,经由媒体监测器114)的位置。家庭110包括媒体呈现装置112和媒体监测器114。在一些示例中,家庭110是小组成员家庭(例如,属于参加与ame120相关联的监测节目的人)。如本文所使用的,术语“小组成员”是指在由评级实体(例如,ame120)维护的小组上注册的用户。家庭110可以是执行媒体监测的任何位置。

图1的例示示例的示例媒体呈现装置112是访问带水印媒体信号108以供呈现的装置。在一些示例中,媒体呈现装置112能够直接呈现媒体(例如,经由显示器),而在其它示例中,媒体呈现装置112在单独的媒体呈现设备(例如,扬声器、显示器等)上呈现媒体。媒体呈现装置112例如可以是电视机,该电视机能够直接呈现媒体(例如,经由集成和/或连接的显示器和扬声器)。家庭110可以包括访问带水印媒体信号108的任何类型或数量的媒体设备。在一些示例中,将媒体呈现装置112与媒体监测器114相连接(例如,经由无线连接和/或有线连接)。

图1的例示示例的示例媒体监测器114执行媒体测量任务。在一些示例中,媒体监测器114记录在媒体呈现装置112上呈现的媒体(例如,经由麦克风)。在一些这样的示例中,媒体监测器114是与媒体呈现装置分开的独立装置。例如,可以将媒体监测器114无线地连接至媒体呈现装置112和/或可移除地连接(例如,经由诸如hdmi、usb、以太网或其它连接之类的连接)至媒体呈现装置112。在一些示例中,将媒体监测器114安装在(例如,集成到)媒体呈现装置112中。例如,媒体监测器114可以包括被嵌入媒体呈现装置112中的一个或更多个硬件和/或软件组件。例示示例的媒体监测器114基于由媒体呈现装置112所呈现的带水印媒体信号108来生成媒体识别数据118。在一些示例中,媒体监测器114是要由小组成员携带的便携式装置。

图1的例示示例的示例第一水印解码器116a和示例第二水印解码器116b分析带水印媒体信号108的特征以解码嵌入该带水印媒体信号108中的水印。第一水印解码器116a和第二水印解码器116b可以是相同的组件(例如,由相同的硬件和/或软件组成),但是皆进行了单独例示,以表示在家庭110的媒体监测器114处解码带水印媒体信号108的可能性,以及在ame120的mms122处解码带水印媒体信号108的可能性。例如,ame120可以利用第二水印解码器116b来确保在媒体信号102中编码水印(例如,以使得能够进行准确的媒体监测)。媒体监测器114包括第一水印解码器116a,以识别在带水印媒体信号108中输送的媒体并且生成媒体识别数据118。

第一水印解码器116a和第二水印解码器116b可以生成带水印媒体信号108的特征表示,以使得能够识别带水印媒体信号108中的水印分量。例如,第一水印解码器116a和第二水印解码器116b可以使用快速傅立叶变换(fft)、离散傅立叶变换(dft)或者其它类型的变换来转换带水印媒体信号108,以将带水印媒体信号108从时域转换到频域。例示示例的第一水印解码器116a和第二水印解码器116b基于带水印媒体信号108的频率、幅度以及相位值来识别和解码水印分量。例如,第一水印解码器116a和第二水印解码器116b可以分析被确定为适于嵌入水印的特定频率范围,以确定是否存在水印分量。例示示例的第一水印解码器116a和第二水印解码器116b确定带水印媒体信号108的一个或更多个水印分量的起始相位值,并且随后基于该起始相位值来确定信息(例如,被表示为位值、代码值等)。第一水印解码器116a和第二水印解码器116b的进一步细节与图3的示例水印解码器116相关联地进行了例示和描述。

图1的例示示例的媒体识别数据118是与由媒体监测器114所检测到的媒体相对应的数据。媒体识别数据118可以包括一个或更多个媒体呈现记录,该媒体呈现记录传送经由媒体呈现装置112呈现的媒体,或者传送与带水印媒体信号108相关联的识别信息(例如,节目名称、台名称、频道名称等)。在一些示例中,媒体识别数据118包括时间戳、用户识别数据(例如,小组成员id)、媒体呈现装置数据(例如,装置id、装置名称、装置状态等)和/或媒体监测装置数据(例如,电力水平、连接状态等)。在一些示例中,媒体识别数据118被定期传送给ame120。在一些示例中,将媒体识别数据118本地存储在媒体监测器114处并且根据请求(例如,响应于来自ame120的查询)传送给ame120。

图1的例示示例的ame120是负责收集媒体监测信息的实体。ame120从多个监测器收集媒体监测数据(举例来说,诸如媒体识别数据118),以尤其是确定媒体消费习惯、广告暴露、受众规模等。例示示例的ame120包括mms122。在一些示例中,mms122位于单独的位置和/或是与mms122分开的实体。例如,mms122可以由单独的公司或组织操作,其然后向ame120提供(例如,作为服务)聚合媒体监测数据。

图1的例示示例的mms122是观察和/或收集关于媒体信号的数据的位置。ame120利用mms122来跟踪特定位置处的聚合媒体信息。例如,mms122可以包括广泛种类的媒体信号接收技术(例如,天线、卫星接收器、网络等),以优化被访问的多个媒体信号。mms122可以基于元数据、水印(例如,由第二水印解码器116b解码的)、签名和/或任何其它识别技术,来验证节目(例如,检查具有预期节目、预期广告等的广播媒体信号)。

在示例操作中,媒体信号102是由媒体分发器104在水印编码器106处访问的,该水印编码器对媒体信号102中的水印进行编码以生成带水印媒体信号108。家庭110经由媒体呈现装置112访问带水印媒体信号108,该媒体呈现装置是由媒体监测器114进行监测的。媒体监测器114的第一水印解码器116a解码被嵌入带水印媒体信号108中的水印并且生成媒体识别数据118。ame120接收媒体识别数据并且另外或者另选地,在mms122处访问带水印媒体信号108,该mms122包括用于对被嵌入带水印媒体信号108中的水印进行解码的第二水印解码器116b。

图2是根据本公开的教导的使用起始相位调制对水印进行编码的图1的水印编码器106的示例实现的框图。水印编码器106包括:示例媒体信号访问器202、示例水印符号和辅助信息访问器204、示例位值确定器206、示例水印分量配置器208、示例频率选择器210、示例幅度确定器212、示例起始相位确定器214以及示例分量生成器216。

图2的例示示例的示例媒体信号访问器202访问媒体信号102。例如,媒体信号访问器202可以包括传输技术(例如,天线、网络、线缆等)。在一些示例中,媒体信号访问器202可以访问与媒体信号102相关联的识别信息(例如,元数据、签名等),水印符号和辅助信息访问器204可以利用这些识别信息来确定要在媒体信号102中编码的水印。

图2的例示示例的示例水印符号和辅助信息访问器204访问要在媒体信号102中的一个或更多个水印中输送的水印符号和其它辅助信息。在一些示例中,水印符号和辅助信息访问器204基于由媒体信号访问器202提供的、由ame120传送的或者由外部实体(例如,内容创建者、发布者等)传送的识别信息(例如,元数据、签名等),来确定要编码到媒体信号102中的水印符号。在一些示例中,水印符号是由ame120直接传送给媒体分发器104的。另外或者另选地,水印符号和辅助信息访问器204通过对水印分量的起始相位值进行调制,来确定要与水印一起输送的辅助信息。例如,辅助信息可以包括:时间戳信息、用于信令解码的标志等。例示示例的水印符号和辅助信息访问器204可以基于与识别信息相对应的预定水印符号(例如,存储在参考水印表中)来访问水印符号。在一些示例中,水印符号和辅助信息访问器204基于识别信息在算法上确定水印符号。在一些示例中,由水印符号和辅助信息访问器204访问的水印符号包括由媒体分发器104确定的水印符号和辅助信息,以使得能够在媒体测量期间对特定于媒体分发器104的信息进行随后识别(例如,台名称的识别、传输类型的识别等)。例示示例的水印符号和辅助信息访问器204将水印符号和/或辅助信息传送给位值确定器206。

图2的例示示例的示例位值确定器206确定与要编码在媒体信号102中的水印符号和/或辅助信息相对应的位值。例如,对于由水印符号和辅助信息访问器204访问的所述水印符号中的一些水印符号,位值确定器206确定多个位以表示所述水印符号中的所述一些水印符号。在一些示例中,位值确定器206将水印符号分割成多个水印分量(例如,单独的“频调”)并且确定表示水印分量的位值。例如,第一位值可以由水印分量的幅度来表示,第二位可以由水印分量的频率值和/或范围来表示,和/或第三位可以由水印分量的起始相位值来表示。在一些示例中,水印分量的起始相位值所表示的位值对应于除水印符号外还提供的辅助信息。通过将起始相位值位用于除水印符号之外提供的辅助信息,不能确定起始相位值位的解码器仍然可以确定水印符号,从而使得能够实现向后兼容编码系统。然而,在一些示例中,可以将起始相位值位用作水印符号的一部分。如本文所使用的,水印分量是水印符号的分割(例如,部分、区段等)。将多个水印分量编码到媒体信号102中以表示水印符号,当被解码时,这些水印分量提供关于媒体信号102的识别信息。

图2的例示示例的示例水印分量配置器208确定信号特征以表示由位值确定器206确定的位值。为了实现这一点,水印分量配置器208包括:频率选择器210、幅度确定器212以及起始相位确定器214。

图2的例示示例的示例频率选择器210选择媒体信号102内的可以嵌入水印分量的频率范围。例如,频率选择器210可以分析媒体信号102并且确定可以进行改变(例如,通过插入水印分量)而收听者察觉不到差异的频率范围。这有时被称为频率掩蔽。在一些示例中,频率选择器210分析已知难以被人耳察觉的特定频率范围。频率选择器210选择要嵌入一个或更多个水印分量的一个或更多个频率范围。在一些示例中,频率选择器210基于媒体信号102是否已经具有处于特定频率范围内的实质幅度来选择所述一个或更多个频率范围。例如,频率选择器210可以选择已知(例如,经由心理声学研究)适于嵌入水印分量的频率范围,并且确定媒体信号102的幅度超过信号阈值(该信号阈值表示可以存在于与水印分量相同的频率范围内的媒体信号102的最高允许幅度)。响应于媒体信号102的幅度超过信号阈值,频率选择器210指示所分析的频率范围不适于嵌入水印分量,这是因为所分析的频率范围内的水印分量的信噪比太低,使解码水印分量变得困难。

在一些示例中,响应于所分析的频率范围(a)适于基于听觉察觉的低概率而嵌入水印分量以及(b)媒体信号102的幅度未超过信号阈值,频率选择器210可以选择所分析的频率范围以用于嵌入水印分量。响应于选择用于嵌入水印分量的频率范围,频率选择器210可以将该频率范围传送给幅度确定器212、起始相位确定器214和/或分量生成器216。

图2的例示示例的示例幅度确定器212确定要嵌入媒体信号102中的水印分量的幅度值。例示示例的幅度确定器212基于要编码为水印分量的一部分的位值来确定幅度值。在一些示例中,幅度确定器212另外或者另选地基于媒体信号102在由频率选择器210选择的频率范围内的当前幅度来确定表示位值的幅度值。在一些示例中,幅度确定器212基于目标信噪比(snr)来选择水印分量的幅度值,以确保该水印分量在水印解码器116处可容易检测到。响应于确定要嵌入媒体信号102中的水印分量的幅度值,将该幅度值传送给分量生成器216。

图2的例示示例的示例起始相位确定器214确定要嵌入媒体信号102中的一个或更多个水印分量的起始相位值。例示示例的起始相位确定器214基于位值(例如,由位值确定器206确定的),来确定多个水印分量的公共起始相位值。起始相位确定器214可以配置有对应于特定位值的多个预定相位值。例如,如果位值确定器206输送起始相位将承载位值“1”,并且位值“1”对应于起始相位值π,则起始相位确定器214确定多个水印分量应当具有起始相位值π,并将该起始相位值传送给分量生成器216。在一些示例中,需要承载相同的起始相位值以输送位值的水印分量的数量是基于预配置的设定来确定的。

在解码处理期间(例如,在水印解码器116处),最少需要具有公共起始相位值的两个水印分量来确定起始相位。不可能通过仅查看一个水印分量的相位值来确定水印分量何时开始,这是因为采样不断发生并且水印解码器116不知道水印分量是何时何地被嵌入的。在例示示例中,起始相位确定器214将同时嵌入的水印分量的起始相位值设定成相同的起始相位值。

虽然最少需要两个水印分量来确定起始相位值,但是起始相位确定器214可以利用更多数量的水印分量来承载起始相位信息。可以用来确定起始相位值的准确度随着嵌入有公共起始相位的水印分量的数量而增加。例如,如果水印解码器116识别出具有相同起始相位值和不同频率特征的十个水印分量的相位收敛,则水印解码器116可以以高置信度确定收敛点处的相位表示起始相位值。相反,如果水印解码器116识别出两个水印分量的相位收敛,则可以用来确定起始相位值的置信度较低。当考虑在媒体监测器114处的广播和/或记录期间被引入带水印媒体信号108的可能噪声时,这会被进一步放大,从而可能使一些水印分量难以识别。

图2的例示示例的分量生成器216基于由频率选择器210选择的频率范围、由幅度确定器212为了所述频率范围中的一些频率范围确定的幅度值、以及由起始相位确定器214确定的起始相位值,来生成水印分量。在将表示水印符号的水印分量嵌入媒体信号102中之后,分量生成器216输出带水印媒体信号108。例如,分量生成器216可以将带水印媒体信号108输出至媒体分发器104的另一组件(例如,输出至广播带水印媒体信号108的传输设备)。

在操作中,媒体信号访问器202访问媒体信号102以启动编码处理。水印符号和辅助信息访问器204访问要被编码到媒体信号102中的一个或更多个水印符号和辅助信息,并且位值确定器206确定表示水印符号的要嵌入的水印分量的特定位值。然后,水印分量配置器208确定要嵌入的水印分量的特定参数。频率选择器210选择适当的频率范围以嵌入水印分量,并且幅度确定器212基于由位值确定器206指示的位值来确定水印分量的幅度值。起始相位确定器214类似地基于由位值确定器206指示的一个或更多个位值来确定一组水印分量的起始相位值。然后,分量生成器216利用频率、幅度以及起始相位值将水印嵌入媒体信号102中并且生成带水印媒体信号108。

虽然在图2中例示了实现图1的水印编码器106的示例方式,但是图2所例示的要素、处理和/或装置中的一个或更多个要素、处理和/或装置可以按任何其它方式来进行组合、划分、重新排列、省略、消除和/或实现。此外,示例媒体信号访问器202、示例水印符号和辅助信息访问器204、示例位值确定器206、示例水印分量配置器208、示例频率选择器210、示例幅度确定器212、示例起始相位确定器214、示例分量生成器216和/或更一般地图2的示例水印编码器106可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例媒体信号访问器202、示例水印符号和辅助信息访问器204、示例位值确定器206、示例水印分量配置器208、示例频率选择器210、示例幅度确定器212、示例起始相位确定器214、示例分量生成器216和/或更一般地图2的示例水印编码器106中的任一个可以由一个或更多个模拟或数字电路、逻辑电路、可编程处理器、可编程控制器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、可编程逻辑器件(pld)和/或现场可编程逻辑器件(fpld)来实现。当将本专利的设备或系统权利要求中的任一项理解成覆盖纯软件和/或固件实现时,示例媒体信号访问器202、示例水印符号和辅助信息访问器204、示例位值确定器206、示例水印分量配置器208、示例频率选择器210、示例幅度确定器212、示例起始相位确定器214、示例分量生成器216和/或更一般地图2的示例水印编码器106中的至少一个由此被明确地限定成包括:包括软件和/或固件的非暂时性计算机可读存储装置或存储盘,诸如存储器、数字通用盘(dvd)、光盘(cd)、蓝光盘等。更进一步地,图1的示例水印编码器106除了图2所例示的元件、处理和/或装置以外或者代替图2所例示的元件、处理和/或装置,还可以包括一个或更多个其它元件、处理和/或装置,和/或可以包括任何或全部所例示的元件、处理以及装置中的一个以上。如本文所使用的,短语“在通信中”(包括其变体)涵盖直接通信和/或通过一个或更多个中间组件的间接通信,并且不需要直接物理(例如,有线)通信和/或持续通信,而是另外包括以周期性间隔、计划的间隔、非周期性间隔和/或一次性事件的选择性通信。

图3是根据本公开的教导的对利用起始相位调制的水印进行解码的图1的示例水印解码器116的框图。水印解码器116包括:示例信号变换器302、示例分量检测器304、示例阈值配置器306、示例幅度和频率位确定器308、示例起始相位确定器310、示例瞬时相位计算器312、示例计时器314、示例相位比较器316、示例起始相位位确定器318以及示例有效载荷确定器320。

图3的例示示例的示例信号变换器302访问带水印媒体信号108并将该带水印媒体信号108变换成以使得能够识别水印的表示。例如,信号变换器302可以利用快速傅立叶变换(fft)来将带水印媒体信号108转换到频域。信号变换器302将带水印媒体信号108转换成以下形式:该形式可以识别在带水印媒体信号108中编码的水印的频率、幅度和/或相位特征。

图3的例示示例的示例分量检测器304检测带水印媒体信号108中的水印分量。例示示例的分量检测器304分析带水印媒体信号108中的已知为与水印分量相关联的频率范围的幅度值,并且确定带水印媒体信号108是否在这些频率范围中的一个或更多个频率范围内被提升。在一些示例中,分量检测器304分析整个带水印媒体信号108的多个频率范围(例如,不管它们是否已知为有时包括水印分量),并且确定带水印媒体信号108的在这些范围内的幅度是否表示所提升的幅度。例如,如果带水印媒体信号的幅度值明显高于所分析的频率范围周围的频率范围,则带水印媒体信号108可以确定所分析的频率范围被提升。响应于分量检测器304识别出呈现为包括相对于带水印媒体信号108的其它部分提升的信号的频率范围,例示示例的分量检测器304确定水印分量嵌入在该频率范围中。在一些示例中,分量检测器304可以基于水印分量的已知的可检测特征,以任何其它方式分析带水印媒体信号108的幅度、频率和/或相位值。在一些示例中,分量检测器304确定水印分量的信号强度参数(例如,snr)。分量检测器304将关于所检测到的水印分量的信息传送给幅度和频率位确定器308和/或起始相位确定器310。

图3的例示示例的示例阈值配置器306存储阈值并将该阈值提供给起始相位确定器310。例示示例的阈值配置器306存储由相位比较器316利用的差值阈值,该差值阈值用于确定相位值相对于可能起始相位值的差值总和之间的差值是否足够小,以指示起始相位与该可能起始相位值匹配。与下面对相位比较器316的进一步讨论相关联地描述利用差值阈值的进一步细节。在一些示例中,阈值配置器306包括信号强度阈值,该信号强度阈值可以被用于选择具有最强信号(例如,基于snr)的水印分量,以用于确定经调制的起始相位值。在一些示例中,阈值配置器306包括分量检测阈值,分量检测器304可以利用该分量检测器304来确定带水印媒体信号108的幅度值是否很可能指示水印分量的存在。

图3的例示示例的示例幅度和频率位确定器308基于带水印媒体信号108的幅度和频率特征来确定水印分量位值。例如,例示示例的幅度和频率位确定器308确定由分量检测器304检测到的水印的幅度和频率值,并且确定与幅度和频率相关联的位值。在一些示例中,幅度和频率位确定器308查询具有水印分量的幅度和/或频率值的参考表,以确定与幅度和/或频率值相对应的位值。

图3的例示示例的示例起始相位确定器310确定水印分量的起始相位值,并且确定与水印分量的起始相位值相对应的位值。起始相位确定器310包括:瞬时相位计算器312、计时器314、相位比较器316以及起始相位位确定器318。

图3的例示示例的示例瞬时相位计算器312计算由分量检测器304检测到的水印分量的瞬时相位值。瞬时相位计算器312从计时器314访问对应于分析下的当前采样时段的时间值,并且计算在该采样时段期间由分量检测器304检测到的水印分量的瞬时相位值。在一些示例中,瞬时相位计算器312在考虑相位缠绕的同时计算水印分量的瞬时相位。在一些示例中,瞬时相位计算器312响应于计时器314调节分析时段(例如,响应于前一时间被确定为不对应于水印分量的开始而选择新的分析时间)来计算新的瞬时相位值。

图3的例示示例的示例计时器314跟踪当计算多个水印分量的起始相位值时的分析时间。例如,响应于相位比较器316指示所分析的时间不对应于水印分量的开始(例如,由于瞬时相位值相对于可能起始相位值的差值总和不满足差值阈值),例示示例的计时器314按时间步长及时退回。在一些示例中,在调节分析时间之后,计时器314将新的分析时间传送给瞬时相位计算器312。在一些示例中,计时器314确定是否已经分析了符号持续时间。例如,计时器314可以将已经分析的时间量与符号持续时间阈值(例如,在阈值配置器306处配置的)进行比较。鉴于水印符号通常会持续特定的、一致的时间量,计时器314可以指示何时已经分析了整个符号持续时间而相位比较器316还未确定满足差值阈值。在一些这样的示例中,响应于持续时间阈值被满足,处理可以结束。由于起始相位数值解在整个水印符号持续时间内的任何时间都不收敛,因此,起始相位位确定器318可以确定在水印分量中没有输送起始相位位。

图3的例示示例的示例相位比较器316计算瞬时水印值(例如,由瞬时相位计算器312计算的)相对于可能起始相位值的差值总和,并且将这些和与差值阈值进行比较。例示示例的相位比较器316访问多个可能起始相位值。在一些示例中,相位比较器316经由起始相位位确定器318来确定可能起始相位值。该可能起始相位值是水印编码器106用来输送水印分量中的位值的预定相位值。例如,为了对位“0”编码,可以在生成水印分量时使用起始相位值“0”。类似地,例如,为了对位“1”编码,可以在生成水印分量时使用起始相位值“π”。因此,起始相位确定器214计算瞬时相位值与对应于位(例如,0、π、-π等)的已知的、预定的可能起始相位值之间的差值。可以利用位和起始相位值的任何映射来对水印分量编码(例如,可以利用与相同数量的唯一起始相位值相对应的任意数量的唯一位)。

在一些示例中,相位比较器316在不同的分析时间继续计算瞬时相位值与可能起始相位值之间的差值总和,直到瞬时相位值与可能起始相位值之间的差值总和中的一个差值总和满足差值阈值。例如,如果可以在具有起始相位值“0”的水印符号中表示已知位“0”,则例示示例的相位比较器316在当前分析时间计算各个水印分量“0”之间的差值。然后,对所有水印分量的差值求和。如果这个差值总和变得足够小,使得该差值总和满足差值阈值(例如,小于差值阈值),则相位比较器316确定其已经到达起始相位值,并且向起始相位位确定器318指示相对于“0”的差值总和满足差值阈值。在这种示例中,响应于满足差值阈值,起始相位位确定器318然后选择对应于起始相位值“0”的位。相位比较器316可以利用任何其它类型的计算来比较水印分量的相位值与可能起始相位值,和/或相互比较水印分量的瞬时相位值,以确定该水印分量的起始相位值。

图3的例示示例的示例起始相位位确定器318响应于瞬时相位值相对于可能起始相位值的差值总和中的一个差值总和满足差值阈值,来确定起始相位位。响应于相位比较器316指示前述总和中的一个总和已经满足差值阈值,例示示例的起始相位位确定器318将水印分量的起始相位值确定为该总和项中指示的可能起始相位值。例如,如果相对于起始相位值“0”的差值总和满足差值阈值,则确定起始相位值为“0”。在这种示例中,起始相位位确定器318确定水印分量的起始相位输送与起始相位值“0”相对应的位(例如,在表中或者其它参考位置指示的)。例示示例的起始相位位确定器318将起始相位位传送给有效载荷确定器320,以确定与起始相位位相对应的辅助信息。结合图6例示和描述说明上面提及的由瞬时相位计算器312、计时器314、相位比较器316以及起始相位位确定器318所执行的计算的示例代码。

图3的例示示例的有效载荷确定器320确定嵌入水印媒体信号108中的一个或更多个水印符号和/或辅助信息。在一些示例中,例示示例的有效载荷确定器320基于由幅度和频率位确定器308传送的位来确定水印符号,并且基于来自起始相位位确定器318的一个或更多个位来确定辅助信息。在一些示例中,起始相位位可以是水印符号的一部分。在一些示例中,有效载荷确定器320在照参考数据库中查询由幅度和频率位确定器308和/或起始相位位确定器318传送的位,该位用于解码水印符号以生成媒体识别数据118。在一些示例中,有效载荷确定器320将位值和/或水印符号的另一表示传送给ame120以供后续解释。

虽然在图3中例示了实现图1的水印解码器116的示例方式,但是图3所例示的元件、处理和/或装置中的一个或更多个元件、处理和/或装置可以按任何其它方式来进行组合、划分、重新排列、省略、消除和/或实现。此外,示例信号变换器302、示例分量检测器304、示例阈值配置器306、示例幅度和频率位确定器308、示例起始相位确定器310、示例瞬时相位计算器312、示例计时器314、示例相位比较器316、示例起始相位位确定器318、示例有效载荷确定器320和/或更一般地图3的示例水印解码器116可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例信号变换器302、示例分量检测器304、示例阈值配置器306、示例幅度和频率位确定器308、示例起始相位确定器310、示例瞬时相位计算器312、示例计时器314、示例相位比较器316、示例起始相位位确定器318、示例有效载荷确定器320和/或更一般地示例水印解码器116中的任一个可以由一个或更多个模拟或数字电路、逻辑电路、可编程处理器、可编程控制器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、可编程逻辑器件(pld)和/或现场可编程逻辑器件(fpld)来实现。当将本专利的设备或系统权利要求中的任一项理解成覆盖纯软件和/或固件实现时,示例信号变换器302、示例分量检测器304、示例阈值配置器306、示例幅度和频率位确定器308、示例起始相位确定器310、示例瞬时相位计算器312、示例计时器314、示例相位比较器316、示例起始相位位确定器318、示例有效载荷确定器320和/或更一般地示例水印解码器116中的至少一个由此被明确地限定成包括:包括软件和/或固件的非暂时性计算机可读存储装置或存储盘,诸如存储器、数字通用盘(dvd)、光盘(cd)、蓝光盘等。更进一步地,图1的示例水印解码器116除了图3所例示的元件、处理和/或装置以外或者代替图2所例示的元件、处理和/或装置,还可以包括一个或更多个其它的元件、处理和/或装置,和/或可以包括任何或全部所例示的元件、处理以及装置中的一个以上。如本文所使用的,短语“在通信中”(包括其变体)涵盖直接通信和/或通过一个或更多个中间组件的间接通信,并且不需要直接物理(例如,有线)通信和/或持续通信,而是另外包括以周期性间隔、计划的间隔、非周期性间隔和/或一次性事件的选择性通信。

图4示出了表示实现图2的水印编码器106的示例硬件逻辑、机器可读指令、硬件实现的状态机和/或这些的任何组合的流程图。该机器可读指令可以是用于通过计算机处理器(诸如下面结合图10讨论的示例处理器平台1000中示出的处理器1012)执行的可执行程序或者可执行程序的一部分。可以按存储在非暂时性计算机可读存储介质(诸如cd-rom、软盘、硬盘驱动器、dvd、蓝光盘或者与处理器1012相关联的存储器)上的软件来具体实施所述程序,但全部程序和/或其部分可以另选地通过除了处理器1012以外的其它装置来执行,和/或以固件或专用硬件来具体实施。此外,尽管参照图4中例示的流程图对示例程序进行了描述,但是可以另选地使用实现示例水印编码器106的许多其它方法。例如,可以改变框的执行次序,和/或可以改变、消除或组合所述框中的一些框。另外或者另选地,任何或所有框都可以通过被构造成执行对应的操作而不执行软件或固件的一个或更多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、fpga、asic、比较器、运算放大器(op-amp)、逻辑电路等)来实现。

如上所述,图4的示例处理可以使用被存储在非暂时性计算机和/或机器可读介质(诸如硬盘驱动器、闪速存储器、只读存储器、光盘、数字通用盘、高速缓冲存储器、随机存取存储器和/或任何其它存储装置或存储盘,其中信息被存储长达任何持续时间(例如,在延长的时段内、永久性地、在简单的实例内、用于临时缓冲和/或用于缓存信息))上的可执行指令(例如,计算机和/或机器可读指令)来实现。如本文所使用的,术语非暂时性计算机可读介质被明确地限定成包括任何类型的计算机可读存储装置和/或存储盘,并且排除传播信号和排除传输介质。

“包括”和“包含”(及其所有形式和时态)在本文中用作开放式用语。因此,每当权利要求采用任何形式的“包括”或“包含”(例如,包含(comprises)、包括(includes)、具有(having)等)作为前序部分或用在任何种类的权利要求陈述内时,要理解成,在不落在对应权利要求或陈述的范围之外的情况下,可以存在附加元件、用语等。如本文所使用的,当短语“至少”被用作例如权利要求序言中的转换术语时,其和开放式术语“包括”和“包含”按相同方式开放。术语“和/或”当例如以诸如a、b和/或c的形式使用时,是指a、b、c的任何组合或子集,诸如(1)仅a、(2)仅b、(3)仅c、(4)a与b、(5)a与c、(6)b与c以及(7)a与b与c。如本文在描述结构、组件、项目、对象和/或事物的上下文中所使用的,短语“a和b中的至少一个”旨在指代包括(1)至少一个a,(2)至少一个b以及(3)至少一个a和至少一个b中的任何一个的实现。类似地,如本文在描述结构、组件、项目、对象和/或事物的上下文中所使用的,短语“a或b中的至少一个”旨在指代包括(1)至少一个a,(2)至少一个b以及(3)至少一个a和至少一个b中的任何一个的实现。如本文在描述处理、指令、动作、活动和/或步骤的实行或执行的上下文中所使用的,短语“a和b中的至少一个”旨在指代包括(1)至少一个a、(2)至少一个b以及(3)至少一个a和至少一个b中的任何一个的实现。类似地,如本文在描述处理、指令、动作、活动和/或步骤的实行或执行的上下文中所使用的,短语“a或b中的至少一个”旨在指代包括(1)至少一个a、(2)至少一个b以及(3)至少一个a和至少一个b中的任何一个的实现。

图4例示了可以由图1和图2的水印编码器106执行的示例机器可读指令400,以使用起始相位调制来编码具有水印的媒体信号。参照前述附图以及关联的描述,图4的示例机器可读指令400开始于示例水印编码器106访问媒体信号102(框402)。在一些示例中,媒体信号访问器202访问媒体信号102。

在框404处,示例水印编码器106访问要编码到媒体信号102中的水印符号和辅助信息。在一些示例中,水印符号和辅助信息访问器204访问要被编码到媒体信号中的水印符号和/或辅助信息。

在框406处,示例水印编码器106确定与水印符号和辅助信息相对应的一个或更多个位值。在一些示例中,位值确定器206确定与水印符号和辅助信息相对应的一个或更多个位值。

在框408处,示例水印编码器106确定水印分量的频率、幅度以及起始相位值,以表示所述位中的一个或更多个位。在一些示例中,水印分量配置器208确定水印分量的频率、幅度以及起始相位值,以表示所述位中的一个或更多个位。例如,频率选择器210选择嵌入水印分量的频率范围,幅度确定器212确定水印分量的幅度值,并且起始相位确定器214确定水印分量的起始相位值。

在框410处,示例水印编码器106确定是否需要附加水印分量来表示水印符号。在一些示例中,水印符号和辅助信息访问器204和/或位值确定器206确定是否需要附加水印分量来表示水印符号。响应于需要附加水印分量来表示水印符号,处理转到框408。相反地,响应于不需要附加水印分量来表示水印符号,处理转到框412。

在框412处,示例水印编码器106在媒体信号102中嵌入具有公共(例如,相同)起始相位值的水印分量。在一些示例中,分量生成器216利用由起始相位确定器214确定的起始相位值将水印分量嵌入媒体信号102中。

在框414处,示例水印编码器106确定是否要对附加水印符号编码。在一些示例中,水印符号和辅助信息访问器204确定是否存在要编码到媒体信号102中的附加水印符号。响应于存在要编码的附加水印符号,处理转到框406。相反地,响应于不存在要编码的附加水印符号,处理转到框416。

在框416处,示例水印编码器106确定附加媒体信号是否要被加水印。在一些示例中,媒体信号访问器202确定是否存在要进行加水印的附加媒体信号。响应于存在要编码的附加媒体信号,处理转到框406。相反地,响应于不存在要编码的附加媒体信号,处理终止。

图5a至图5b示出了表示实现图3的水印解码器116的示例硬件逻辑、机器可读指令、硬件实现的状态机和/或这些的任何组合的流程图。该机器可读指令可以是用于通过计算机处理器(诸如下面结合图11讨论的示例处理器平台1100中示出的处理器1112)执行的可执行程序或者可执行程序的一部分。可以按存储在非暂时性计算机可读存储介质(诸如cd-rom、软盘、硬盘驱动器、dvd、蓝光盘或者与处理器1112相关联的存储器)上的软件来具体实施所述程序,但是全部程序和/或其部分可以另选地通过除了处理器1112以外的其它装置来执行,和/或按固件或专用硬件来具体实施。此外,尽管参照图5a至图5b中例示的流程图对示例程序进行了描述,但是可以另选地使用实现图3的示例水印解码器116的许多其它方法。例如,可以改变框的执行次序,和/或可以改变、消除或组合所述框中的一些框。另外或者另选地,任何或所有框都可以通过被构造成执行对应操作而不执行软件或固件的一个或更多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、fpga、asic、比较器、运算放大器、逻辑电路等)来实现。

如上所述,图4的示例处理可以使用被存储在非暂时性计算机和/或机器可读介质(诸如硬盘驱动器、闪速存储器、只读存储器、光盘、数字通用盘、高速缓冲存储器、随机存取存储器和/或任何其它存储装置或存储盘,其中信息被存储长达任何持续时间(例如,在延长时段内、永久性地、在简单实例内、用于临时缓冲和/或用于缓存信息))上的可执行指令(例如,计算机和/或机器可读指令)来实现。如本文所使用的,术语非暂时性计算机可读介质被明确地限定成包括任何类型的计算机可读存储装置和/或存储盘,并且排除传播信号且排除传输介质。

结合图5a至图5b例示和描述了可以由图3的水印解码器116执行的示例机器可读指令500以利用起始相位调制来解码水印。参照前述附图以及关联的描述,图5a至图5b的示例机器可读指令500开始于示例水印解码器116访问带水印媒体信号(框502)。在一些示例中,信号变换器302访问带水印媒体信号108。

在框504处,示例水印解码器116将带水印媒体信号108变换成频域表示。在一些示例中,信号变换器302将带水印媒体信号108变换成频域表示,或者带水印媒体信号108的用于实现水印的检测和解码的另一种表示。

在框506处,示例水印解码器116确定是否已经检测到多个嵌入的水印分量。在一些示例中,分量检测器304确定是否已经检测到多个嵌入的水印分量。响应于检测到多个嵌入的水印分量,处理转到框508。相反地,响应于未检测到多个嵌入的水印分量,处理转至图5b的框534。

在框508处,示例水印解码器116确定水印分量的各个频率处的幅度值。在一些示例中,幅度和频率位确定器308确定水印分量的各个频率范围处的幅度值。

在框510处,示例水印解码器116选择具有最强信号(例如,最高snr值)的水印分量。在一些示例中,起始相位确定器310选择带水印媒体信号108中的具有最高snr值的水印分量,以使得能够准确确定该水印分量的起始相位。在一些示例中,起始相位确定器310将snr值或其它信号强度参数与从阈值配置器306访问的信号强度阈值进行比较,以选择具有足够高信号强度的水印,从而使得能够检测起始相位值。

在框512处,示例水印解码器116在分析时间确定水印分量的瞬时相位值。在一些示例中,瞬时相位计算器312在分析时间确定水印分量的瞬时相位值。

在框514处,示例水印解码器116确定瞬时相位值与第一可能起始相位值之间的差值总和是否满足匹配差值阈值。在一些示例中,相位比较器316确定瞬时相位值与第一可能起始相位值之间的差值总和是否满足匹配差值阈值。响应于瞬时相位值与第一可能起始相位值之间的差值总和满足匹配差值阈值,处理转到框516。相反地,响应于瞬时相位值与第一可能起始相位值之间的差值总和不满足匹配差值阈值,处理转到框518。

在框516处,示例水印解码器116将相位位解码为与第一可能起始相位值相对应的第一位值。在一些示例中,起始相位位确定器318将相位位解码为与第一可能起始相位值相对应的第一位值。

在框518处,示例水印解码器116确定瞬时相位值与第二可能起始相位值之间的差值总和是否满足匹配差值阈值。在一些示例中,相位比较器316确定瞬时相位值与第二可能起始相位值之间的差值总和是否满足匹配差值阈值。响应于瞬时相位值与第二可能起始相位值之间的差值总和满足匹配差值阈值,处理转到框520。相反地,响应于瞬时相位值与第二可能起始相位值之间的差值总和不满足匹配差值阈值,处理转到框522。

在框520处,示例水印解码器116将相位位解码为与第二可能起始相位值相对应的第二位值。在一些示例中,起始相位位确定器318将相位位解码为与第二可能起始相位值相对应的第二位值。

在框522处,示例水印解码器116确定是否已经分析了最大符号持续时间。在一些示例中,计时器314确定是否已经分析了最大符号持续时间。响应于已经分析了最大符号持续时间,处理转到框524。相反地,响应于尚未分析最大符号持续时间,处理转至框526。

在框524处,示例水印解码器116在分析时间按时间步长退回。在一些示例中,计时器314在分析时间按时间步长退回。

示例机器可读指令500在图5b中继续。参照前述附图以及关联的描述,示例机器可读指令继续使示例水印解码器116基于水印分量的幅度和频率值来确定附加位值(框528)。在一些示例中,幅度和频率位确定器308基于水印分量的幅度和频率值来确定附加位值。

在框530处,示例水印解码器116确定是否已经检测到附加水印分量。在一些示例中,分量检测器304确定是否已经检测到附加水印分量。响应于检测到附加水印分量,处理转至图5a的框508。相反地,响应于未检测到附加水印分量,处理转到框532。

在框532处,示例水印解码器116基于所解码的位来确定包括水印符号和/或辅助信息的有效载荷。在一些示例中,有效载荷确定器320基于所解码的位来确定包括水印符号和/或辅助信息的有效载荷。例如,有效载荷可以是由所解码的位表示的信息总和。

在框534处,示例水印解码器116确定是否继续监测。响应于继续监测,处理转至图5a的框506。相反地,响应于不继续监测,处理终止。

图6是用于实现结合图5a至图5b描述的水印解码处理的示例代码600。代码600仅表示水印解码处理的一个示例实现。在一些示例中,代码600是由水印解码器116来实现的。为了清楚起见,代码600是以示例第一部分602、示例第二部分604、示例第三部分606、示例第四部分608、示例第五部分610、示例第六部分612以及示例第七部分614来描述的。

示例第一部分602建立两个最小差值总和变量q0和q1。所述最小差值总和项中的各项皆对应于可能起始相位值(例如,0、π等),并且跟踪在第四部分608中计算的遇到的最小差值总和项。因此,对于水印编码器106用来输送唯一位值的各个可能起始相位值,建立差值总和项。最小差值总和变量被设定为无限的,这是因为它们旨在从大数开始,然后每次在第四部分608中计算新的最小差值总和项时要进行更新。在一些示例中,相位比较器316建立差值总和变量。

示例第二部分604建立了一个while循环,其中,只要当前分析时间值(“t”)保持为正(例如,>0),就会运行许多操作。while循环中的第一操作是将当前分析时间按时间步长(“δt”)递减,从而及时退回以重新计算瞬时相位项和差值总和项,直到满足终止条件(例如,第五部分610中的“break”)。在一些示例中,计时器314建立当前分析时间值并且每次迭代递减当前时间值。

示例第三部分606根据当前分析时间(“t”)来计算水印分量的瞬时相位值(“φi(t)”)。对于各个水印分量,可以基于水印分量的频率值(“fi”)和时间步长(“δt”)来计算当前相位值。在一些示例中,通过在第一分析时间计算相位值,在第一部分602中启动当前相位值,从而使能实现第三部分606中所示的简化计算。在一些示例中,瞬时相位计算器312更新瞬时相位值。

示例第四部分608利用前述“t”和“φi(t)”的变量定义,来计算相对于起始相位值0(“q(t,φo=0)”)的第一差值总和项以及相对于起始相位值π(“q(t,φo=π)”)的第二差值总和项。在一些示例中,由于相位缠绕对以0为中心的相位值的影响,第一差值总和项的计算更加复杂。在一些这样的示例中,计算在0与2π之间计算的最小差值,以消除相位缠绕对总和项的有用性的影响。

示例第五部分610确定第一差值总和项或第二差值总和项是否满足差值阈值(qmin)。响应于任一项满足差值阈值,“break”命令使处理退出while循环并继续到第七部分614。在一些示例中,相位比较器316确定第一差值总和项或第二差值总和项是否满足差值阈值。

示例第六部分612更新q1值和q0值,该q1值和q2值被用于跟踪第一可能起始相位值和第二可能起始相位值的遇到的最小差值总和项。例如,如果当前的第一差值总和项(例如,相对于起始相位值0)小于第一可能起始相位值的遇到的最小差值总和项,则将q0设定为当前的第一差值总和项。对q1执行相同的操作以跟踪最小第二差值总和项(例如,相对于起始相位值π)。在一些示例中,相位比较器316更新遇到的最小差值总和项(q0、q1)。

示例第七部分614在退出while循环之后(例如,响应于满足差值阈值),确定第一位值或第二位值是否被嵌入带水印媒体信号108中。如果在退出while循环之后,第一差值总和最小项(q0)小于第二差值总和(最小项q1),则将位值设定为0(例如,与用于计算第一差值总和项的起始相位值0相对应的位值,0)。相反,如果第二差值总和最小项(q1)小于第一差值总和最小项,则将位值设定为1(例如,与用于计算第二差值总和项的起始相位值π相对应的位值)。在一些示例中,起始相位位确定器318确定位值。

图7是例示具有不同频率但具有公共起始相位值的多个水印分量的示例示意图700。示意图700包括:示例第一水印分量702、示例第二水印分量704以及示例第三水印分量706。所述水印分量中的各个水印分量中的竖直线指示相应水印分量的相位到达到其起始相位值。因此,在示例第一时间708,当所有水印分量均以相同的起始相位值启动时,第一水印分量702、第二水印分量704以及第三水印分量706中的各个水印分量的相位匹配。然而,在示意图700中显而易见的,第一水印分量702具有相对低的频率(例如,在整个示意图700中完成了两个完整周期),第三水印分量706具有稍大的频率(例如,在整个示意图700中完成了三个完整周期),而第二水印分量具有更加大的频率(例如,在整个示意图700中完成了八个完整周期)。

当解码水印分量以确定第一水印分量702、第二水印分量704以及第三水印分量706的起始相位值中表示的位时,必须确定水印分量的起始时间(例如,第一时间708)。例如,如果在示例第二时间710执行相位值的分析,则第一水印分量702、第二水印分量704以及第三水印分量706的相位值将不匹配并且将不对应于起始相位值。为了确定起始相位值并且计算由起始相位值输送的位,水印解码器116必须及时递增地退回,直到它到达第一时间708(或者到达足够接近以满足差值阈值)。

图8是具有公共起始相位值的多个水印分量的示例相位标绘图800。相位图800包括示例时间轴线802(例如,x轴线)和示例相位轴线804(例如,y轴线)。在相位标绘图800上标绘了多个水印分量。所述水印分量中的一些水印分量在相位标绘图800中被表示为单独的连续线。显而易见,水印分量具有不同的频率,并且因此,除了在示例起始相位时间806,这些水印分量的瞬时相位值是高度分散的。在起始相位时间806之前,水印分量尚未被嵌入,并且因此,将承载水印分量的频率范围值表现出不同的相位值。在起始相位时间806,所有水印分量表现出约-1.5的相位值。因此,水印编码器106配置有与位值相对应的相位值-1.5,并且向水印解码器116通知:-1.5是水印分量的一个可能起始相位值。在起始相位时间806之后,水印分量的不同频率导致瞬时相位值发散,并且对于标绘图的其余部分,许多水印分量的相位值不收敛。

当分析这些频调以确定起始相位值(例如,确定由起始相位值输送的位)时,水印解码器116必须及时退回,直到到达起始相位时间806(例如,约733ms),其中水印分量与已知的可能起始相位值(-1.5)之间的差值总和满足差值阈值。

图9是例示用于确定如本文所描述的水印起始相位的数值方法的收敛的示例相位分布标绘图900。相位分布标绘图900例示了在所述差值总和中的一个差值总和满足差值阈值时的时间以度为单位的相位。在示例水平轴线902上示出了相位值,并且在示例竖直轴线904上示出了识别起始相位角的实例数量的计数。相位分布标绘图900描绘了对多个经编码的水印的分析。所述水印中的一些水印包括承载起始相位值π/2的水印分量,而其它水印包括承载起始相位值-π/2的水印分量。因此,所有被分析的水印符号均具有嵌入这两个起始相位值中的一个起始相位值的水印分量,以承载位值。相位分布标绘图900例示了以-π/2为中心的示例第一峰值906,具有正负十度的相对较小的相位值分布,以及以π/2为中心的示例第二峰值908,具有同样小的相位值分布。值得重视的是,相位分布标绘图900示出了在差值总和项满足差值阈值时的时间的水印分量的相位值。因此,相位分布标绘图例示了在满足阈值时的时间的相位值处于所选择的起始相位值附近。

图10是被构造成执行图4的指令以实现图1和图2的水印编码器106的示例处理器平台1000的框图。该处理器平台1000例如可以是服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动装置(例如,蜂窝电话、智能手机、诸如ipadtm的平板电脑)、个人数字助理(pda)、互联网应用装置、dvd播放器、cd播放器、数字录像机、蓝光(blu-ray)播放器、游戏机、个人录像机、机顶盒、头戴式送受话器或其它可佩戴装置,或者任何其它类型的计算装置。

例示示例的处理器平台1000包括处理器1012。例示示例的处理器1012是硬件。例如,可以通过来自任何期望系列或制造商的一个或更多个集成电路、逻辑电路、微处理器、gpu、dsp或控制器实现处理器1012。该硬件处理器可以是基于半导体(例如,硅基)的装置。在该示例中,处理器1012实现示例媒体信号访问器202、示例水印符号和辅助信息访问器204、示例位值确定器206、示例水印分量配置器208、示例频率选择器210、示例幅度确定器212、示例起始相位确定器214和/或示例分量生成器216。

例示示例的处理器1012包括本地存储器1013(例如,高速缓冲存储器)。例示示例的处理器1012经由总线1018与包括易失性存储器1014和非易失性存储器1016的主存储器进行通信。易失性存储器1014可以由同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、动态随机存取存储器和/或任何其它类型的随机存取存储器装置来实现。非易失性存储器1016可以由闪速存储器和/或任何其它期望类型的存储装置来实现。对主存储器1014、1016的访问由存储器控制器控制。

例示示例的处理器平台1000还包括接口电路1020。该接口电路1020可以通过任何类型的接口标准来实现,诸如以太网接口、通用串行总线(usb)、接口、近场通信(nfc)接口和/或pciexpress接口。

在例示示例中,将一个或更多个输入装置1022连接至接口电路1020。该输入装置1022准许用户将数据和/或命令输入到处理器1012中。该输入装置例如可以通过音频传感器、麦克风、摄像机(静态或视频)、键盘、按钮、鼠标器、触摸屏、触控板、轨迹球、isopoint和/或语音识别系统来实现。

还将一个或更多个输出装置1024连接至例示示例的接口电路1020。该输出装置1024例如可以通过显示装置(例如,发光二极管(led)、有机发光二极管(oled)、液晶显示器(lcd)、阴极射线管显示器(crt)、就地切换(ips)显示器、触摸屏等)、触觉输出装置、打印机和/或扬声器来实现。例示示例的接口电路1020由此通常包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。

例示示例的接口电路1020还包括通信装置(诸如发送器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口),以促进经由网络1026与外部机器(例如,任何种类的计算装置)的数据交换。该通信例如可以经由以太网连接、数字订户线(dsl)连接、电话线连接、同轴电缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等。

例示示例的处理器平台1000还包括用于存储软件和/或数据的一个或更多个大容量存储装置1028。这种大容量存储装置1028的示例包括:软盘驱动器、硬盘驱动器、光盘驱动器、蓝光盘驱动器、独立磁盘冗余阵列(raid)系统以及数字通用盘(dvd)驱动器。

图4的机器可执行指令1032、400可以存储在大容量存储装置1028中、易失性存储器1014中、非易失性存储器1016中、和/或诸如cd或dvd的可移除非暂时性计算机可读存储介质上。

图11是被构造成执行图5a至图5b的指令以实现图1和图3的水印解码器116的示例处理器平台1000的框图。该处理器平台1100例如可以是服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动装置(例如,蜂窝电话、智能手机、诸如ipadtm的平板电脑)、个人数字助理(pda)、互联网应用装置、dvd播放器、cd播放器、数字录像机、蓝光播放器、游戏机、个人录像机、机顶盒、头戴式送受话器或其它可佩戴装置、或者任何其它类型的计算装置。

例示示例的处理器平台1100包括处理器1112。例示示例的处理器1112是硬件。例如,可以通过来自任何期望系列或制造商的一个或更多个集成电路、逻辑电路、微处理器、gpu、dsp或控制器实现处理器1112。该硬件处理器可以是基于半导体(例如,硅基)的装置。在该示例中,处理器实现示例媒体信号访问器202、示例水印符号和辅助信息访问器204、示例位值确定器206、示例水印分量配置器208、示例频率选择器210、示例幅度确定器212、示例起始相位确定器214以及示例分量生成器216。

例示示例的处理器1112包括本地存储器1113(例如,高速缓冲存储器)。例示示例的处理器1112经由总线1118与包括易失性存储器1114和非易失性存储器1116的主存储器进行通信。易失性存储器1114可以由同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、动态随机存取存储器和/或任何其它类型的随机存取存储器装置来实现。非易失性存储器1116可以由闪速存储器和/或任何其它期望类型的存储装置来实现。对主存储器1114、1116的访问由存储器控制器控制。

例示示例的处理器平台1100还包括接口电路1120。该接口电路1120可以通过任何类型的接口标准来实现,诸如以太网接口、通用串行总线(usb)、接口、近场通信(nfc)接口和/或pciexpress接口。

在例示示例中,将一个或更多个输入装置1122连接至接口电路1120。该输入装置1122准许用户将数据和/或命令输入到处理器1012中。该输入装置例如可以通过音频传感器、麦克风、摄像机(静态或视频)、键盘、按钮、鼠标器、触摸屏、触控板、轨迹球、isopoint和/或语音识别系统来实现。

还将一个或更多个输出装置1124连接至例示示例的接口电路1120。该输出装置1024例如可以通过显示装置(例如,发光二极管(led)、有机发光二极管(oled)、液晶显示器(lcd)、阴极射线管显示器(crt)、就地切换(ips)显示器、触摸屏等)、触觉输出装置、打印机和/或扬声器来实现。例示示例的接口电路1120由此通常包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。

例示示例的接口电路1120还包括通信装置(诸如发送器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口),以促进经由网络1126与外部机器(例如,任何种类的计算装置)的数据交换。该通信例如可以经由以太网连接、数字订户线(dsl)连接、电话线连接、同轴电缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等。

例示示例的处理器平台1100还包括用于存储软件和/或数据的一个或更多个大容量存储装置1128。这种大容量存储装置1128的示例包括:软盘驱动器、硬盘驱动器、光盘驱动器、蓝光盘驱动器、独立磁盘冗余阵列(raid)系统以及数字通用盘(dvd)驱动器。

图5a至图5b的机器可执行指令1132、500可以存储在大容量存储装置1128中、易失性存储器1114中、非易失性存储器1116中、和/或诸如cd或dvd的可移除非暂时性计算机可读存储介质上。

根据前述内容,应意识到,已经公开了使得能够对水印分量进行相位调制以增加水印的信息容量的示例方法、设备以及制品。具体地,本文所公开的技术利用媒体信号的现有特征(相位)来承载识别信息,而不可察觉地改变在听众收听时的音频信号。此外,本文所公开的技术通过在数值上确定与识别信息(例如,特定位)相对应的水印分量的公共起始相位值,从而克服了因相位缠绕和不同频率范围中的相位变化率而造成的相位分析中的复杂性。本文所公开的方法、设备以及制品能够通过增加由水印输送的信息的密度来显著增加媒体信号中可以承载的识别信息的量。所公开的方法、设备以及制品通过使得能够处理较少的总体数据来输送相同量的信息,或者处理相同量的数据以输送附加信息,从而在计算装置处实现更高效的媒体识别来提高使用计算装置的效率。因此,所公开的方法、设备以及制品致力于计算机功能上的一项或更多项改进。

本文所公开的示例水印解码设备包括:瞬时相位计算器,该瞬时相位计算器在第一时间计算带水印媒体信号的第一水印分量的第一瞬时相位值,并且在第一时间计算带水印媒体信号的第二水印分量的第二瞬时相位值;相位比较器,该相位比较器确定第一瞬时相位值和第二瞬时相位值相对于第一可能起始相位值的第一差值总和,并且确定第一瞬时相位值和第二瞬时相位值相对于第二可能起始相位值的第二差值总和;以及起始相位位确定器,该起始相位位确定器响应于第一差值总和或第二差值总和中的一个差值总和满足差值阈值,选择第一可能起始相位值或第二可能起始相位值中的对应的可能起始相位值作为起始相位值,并且解码与起始相位值相对应的位值;以及有效载荷确定器,该有效载荷确定器基于位值以及由包括第一水印分量和第二水印分量的水印分量所表示的符号来确定有效载荷。

在一些示例中,瞬时相位计算器响应于第一差值总和与第二差值总和不满足差值阈值,在第二时间计算第一分量的第三瞬时相位值,第二时间在第一时间之前,并且在第二时间计算第二分量的第四瞬时相位值。

在一些示例中,相位比较器确定第三瞬时相位值和第四瞬时相位值相对于第一可能起始相位值的第三差值总和,确定第三瞬时相位值和第四瞬时相位值相对于第二可能起始相位值的第四差值总和。

在一些示例中,起始相位位确定器响应于第三差值总和或第四差值总和中的一个差值总和满足差值阈值,选择第一可能起始相位值或第二可能起始相位值中的对应的可能起始相位值作为起始相位值,并且解码与起始相位值相对应的位值。

在一些示例中,第二时间与第一时间相差一时间步长。在一些示例中,瞬时相位计算器迭代地计算第一水印分量的附加瞬时相位值和第二水印分量的附加瞬时相位值,并且相位比较器迭代地计算附加瞬时相位值相对于第一可能起始相位值和第二可能起始相位值的附加差值总和,直到所述附加差值总和中的一个附加差值总和满足差值阈值。

在一些示例中,瞬时相位计算器迭代地计算第一水印分量的附加瞬时相位值和第二水印分量的附加瞬时相位值,并且相位比较器迭代地计算附加瞬时相位值相对于第一可能起始相位值和第二可能起始相位值的附加差值总和,直到到达符号持续时间。

在一些示例中,所述设备还包括水印分量检测器,该水印分量检测器基于第一水印分量的第一信号强度和第二水印分量的第二信号强度,来选择第一水印分量和所述第二水印分量用于进行分析。

在一些示例中,为了确定第一差值总和,相位比较器考虑相位缠绕。

本文所公开的示例非暂时性计算机可读存储介质包括计算机可读指令,该计算机可读指令在被执行时,使处理器在第一时间计算带水印媒体信号的第一水印分量的第一瞬时相位值;在第一时间计算带水印媒体信号的第二水印分量的第二瞬时相位值;确定第一瞬时相位值和第二瞬时相位值相对于第一可能起始相位值的第一差值总和;确定第一瞬时相位值和第二瞬时相位值相对于第二可能起始相位值的第二差值总和;以及响应于第一差值总和或第二差值总和中的一个差值总和满足差值阈值:选择第一可能起始相位值或第二可能起始相位值中的对应的可能起始相位值作为起始相位值,解码与起始相位值相对应的位值,以及基于位值以及由包括第一水印分量和第二水印分量的水印分量所表示的符号来确定有效载荷。

在一些示例中,其中,所述指令在被执行时,使处理器响应于第一差值总和与第二差值总和不满足差值阈值,在第二时间计算第一分量的第三瞬时相位值,第二时间在第一时间之前,并且在第二时间计算第二分量的第四瞬时相位值。

在一些示例中,所述指令在被执行时,使处理器确定第三瞬时相位值和第四瞬时相位值相对于第一可能起始相位值的第三差值总和,并且确定第三瞬时相位值和第四瞬时相位值相对于第二可能起始相位值的第四差值总和。

在一些示例中,所述指令在被执行时,使处理器响应于第三差值总和或第四差值总和中的一个差值总和满足述差值阈值,选择第一可能起始相位值或第二可能起始相位值中的对应的可能起始相位值作为起始相位值,并且解码与起始相位值相对应的位值。

在一些示例中,第二时间与第一时间相差一时间步长。

在一些示例中,所述指令在被执行时,使处理器迭代地计算第一水印分量的附加瞬时相位值和第二水印分量的附加瞬时相位值,并且迭代地计算附加瞬时相位值相对于第一可能起始相位值和第二可能起始相位值的差值总和,直到附加差值总和中的一个附加差值总和满足差值阈值。

在一些示例中,其中,所述指令在被执行时,使得处理器迭代地计算第一水印分量的附加瞬时相位值,并且迭代地计算附加瞬时相位值相对于第一可能起始相位值和第二可能起始相位值的附加差值总和,直到到达符号持续时间。

在一些示例中,所述指令在被执行时,使处理器基于第一水印分量的第一信号强度和第二水印分量的第二信号强度,来选择第一水印分量和第二水印分量用于进行分析。

在一些示例中,为了确定第一差值总和,所述指令在被执行时,使处理器考虑相位缠绕。

本文所公开的示例方法包括以下步骤:在第一时间计算带水印媒体信号的第一水印分量的第一瞬时相位值;在第一时间计算带水印媒体信号的第二水印分量的第二瞬时相位值;确定第一瞬时相位值和第二瞬时相位值相对于第一可能起始相位值的第一差值总和;确定第一瞬时相位值和第二瞬时相位值相对于第二可能起始相位值的第二差值总和;响应于第一差值总和或第二差值总和中的一个差值总和满足差值阈值,选择第一可能起始相位值或第二可能起始相位值中的对应的可能起始相位值作为起始相位值;解码与起始相位值相对应的位值;以及基于位值以及由包括第一水印分量和第二水印分量的水印分量所表示的符号来确定有效载荷。

在一些示例中,所述方法包括以下步骤:响应于所述第一差值总和与所述第二差值总和不满足所述差值阈值:在第二时间计算第一分量的第三瞬时相位值,第二时间在第一时间之前,并且在第二时间计算第二分量的第四瞬时相位值。

尽管本文公开了某些示例方法、设备以及制品,但是本专利的覆盖范围不限于此。与此相反,本专利覆盖完全落入本专利的权利要求的范围内的所有方法、设备以及制品。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1