听不见的信令声调的制作方法

文档序号:11636878阅读:278来源:国知局
听不见的信令声调的制造方法与工艺

本申请通常涉及用于基于由设备接收到的一个或多个听不见的信号,将内容从远程内容提供商递送到移动设备的系统和方法。

相关申请的交叉引用

本申请要求于2015年10月15日递交的序列号为62/064,468的美国临时专利申请的优先权,其全部内容并入本申请。本申请涉及于2013年5月1日递交的序列号为us/2013/039079的pct申请,该申请于2015年4月23日在美国发表,并作为出版物us2015-0113094,并且其要求于2013年3月14日递交的序列号为61/781,107的美国临时专利申请和于2012年5月1日递交的序列号为61/640,900的优先权,其全部内容通过引用并入本申请。



背景技术:

已经提出了各种建议,将听不见的信令声调包含在音频内容中,该内容在公共或私人环境中以可听见的方式广播或重放,或以电子方式递送。听不见的信号被设计为用于由诸如便携式多功能设备的解码设备接收和解码。例如,听不见的信号可以嵌入由解码设备的麦克风接收的音频内容中。信号源可以是便携式多功能设备附近的任何音频扬声器,或者音频内容可以由车载音频生成应用提供以进行解码,诸如音乐播放器模块,或诸如视频播放器模块的车载视频播放器应用,或提供给解码设备的线路输出端口(诸如耳机插孔),或提供给解码设备的外部扬声器。

在以上参考的pct申请中提供了将听不见的信号嵌入到音频内容中的示例系统和方法,以及以下美国专利申请,其全部申请内容通过引用并入本申请:于2011年11月1日递交的题目为“systemeffectivetomodulateacodeandprovidecontenttoauser”的序列号为13/286,613的美国专利申请,于2011年11月1日递交的题目为“systemeffectivetodemodulateamodulatedcodeandprovidecontenttoauser”的序列号为13/286,670的美国专利申请,和于2011年11月1日递交的题目为“deviceeffectivetomodulateacodeandtoprovidecontenttoauser”的序列号为13/286,727的美国专利申请。

在这些申请中描述的听不见的信号是在人类听觉范围之外的信号或人类不能检测到的其他信号。例如,在一些实施例中,听不见的信号可以由高于20,000hz或小于20hz的频率或者在接近20,000hz或接近20hz的频带中生成,其通常是听不见的。听不见的信号可以是调制码的形式,如以上参考专利申请中所述,其是逻辑0和1的系列。调制码可以由声源重复和周期性地输出,使得解码设备能够识别和解调听不见的信号中的调制码,以确定与听不见的信号相关联的0和1的逻辑系列。在一些实施例中,0和1的逻辑系列可以是,例如经由各种通信协议而可以被传输到内容管理系统的编码标识符。

如本文所使用的,术语听不见的信号用于广泛地指可由源传输并由解码设备检测的任何类型的信号、码、频率、波形或其他。听不见的信号可以由解码设备通过在解码设备上被动运行的处理或者例程进行处理。

前面描述的用于生成听不见的信号的系统具有许多限制,特别是数据传输的完整性,以及系统有效处理数据的灵活性,例如,为不同应用嵌入不同大小的数据。因此,在格式化和传输听不见的信号的方法中需要改进,以允许具有比如先前可用方法更大的灵活性和功能性。



技术实现要素:

根据本发明的原理,这些需求通过编码和解码嵌入在音频内容中的人类听不见的声音信号的方法来解决,该方法适合在编码和广播系统或解码和接收系统的处理器内使用。根据本发明的原理,二进制消息将被编码成人类听不见的声音信号,用于通过将二进制消息编码成从一组两个或多个符号中选择的符号序列,将其作为音频内容递送给接收者,每个符号与频率特性相关联,使用与符号相关联的频率特性来生成采样序列的数字化版本的音频采样,以及提供用于由音频设备重放的音频采样。

在本文描述的实施例中,编码可以包括使用前向纠错和循环冗余编码中的一个或多个,或两者,来增加传输的鲁棒性。此外,由符号编码的二进制位被选择,使得单个位变换的汉明距离存在于与相邻频率相关联的符号之间,使得频率错误仅生成单个位错误。

信号的解码涉及将包括人类听不见的声音信号的音频内容的数字化版本的采样递送到解码设备的处理器中,将采样内的音频内容与用于人类听不见的声音信号前缀的前缀模板相关联,以识别潜在地与所述人类听不见的声音信号的开始相关联的候选采样,并重复执行候选采样的采样频率域变换,并将其频率域变换同与两个或更多个候选符号相关联的频率特性进行比较,以生成符号序列。

为了验证采样序列,可以在符号序列上执行纠错解码以确定其有效性,使得在识别有效符号序列时,符号序列可以作为人类听不见的声音信号的解码等效物来传输。

人类听不见的声音信号可以与其他音频内容一起被传输,或者与其他音频内容分开被提供。此外,声音信号可以被广播或存储在用于重放的记录介质中。可以通过例如麦克风、车载扬声器、音频输入或音频输出来实现对人类听不见的声音信号的检测。对于被动检测系统,处理器可以周期性地从音频源查询音频采样,以评估是否存在人类听不见的声音信号。

人类听不见的信号可以用于关于可递送的内容的消息收发,在这种情况下,人类听不见的声音信号的解码等效物被用于生成给内容管理系统的消息,内容管理系统可以提供用于呈现给用户的内容。可以用解码信号提供的其他信息包括:时间数据、日期数据、加速度计数据、地理数据、人口统计数据、内容递送设备数据以及内容递送设备用户数据。此外,由内容管理系统提供的内容可以带有对以下的指示而被递送:在所述接收时间之后的呈现时间。

在各种实施例中,符号可以编码两个或更多个逻辑位的系列;例如,四个候选符号可以分别对两个位编码,或者八个候选符号可以分别对三个位编码。此外,编码的人类听不见的信号的格式可以包括包含在人类听不见的声音信号中的符号数量的计数,使得在解码时首先对该计数进行解码,然后以对应于该计数的数量对后续的符号进行解码。

附图说明

通过结合以下附图的一些示例性实施例的详细描述将更容易地理解本公开:

图1示出了本发明的使用环境的实施例,其示出了与内容管理系统通信的便携式多功能设备。

图2a是示出了根据本发明原理的第一实施例的用于传输数据的信标迭代1000的内容的示意图。

图2b是示出了将在图2a的信标迭代中使用的符号编码作为听不见的音频声调的示意图。

图3是示出了将接收到的信标迭代的符号长度分段作为解码该符号长度的一部分以识别相关联的符号值的示意图。

图4是示出了根据本发明原理的第一实施例的用于识别和解码接收到的信标迭代以将对应符号递送给客户端应用过程的流程图。

图5是示出了根据本发明原理的第二实施例的用于传输数据的可变长度信标迭代2000的内容的示意图。

图6是示出了将在图5的信标迭代中使用的符号编码作为听不见的音频声调的示意图。

图7a示出了图5的可变长度信标迭代2000的前缀2002的格式。

图7b、7c和7d示出了用于图5的可变长度信标迭代2000的1字节、6字节和32字节有效载荷的有效载荷格式。

图8是示出了根据本发明原理的第二实施例的以图5的格式接收的识别和解码信标迭代的过程,以将相应符号递送给客户端应用的流程图。

具体实施方式

现在将描述本发明的各种非限制性实施例以提供对本文公开的内容递送和管理系统和过程的结构、功能和使用原理的全面理解。这些非限制性实施例的一个或多个示例在附图中示出。本领域普通技术人员将理解,在此具体描述并在附图中示出的系统和方法是非限制性实施例。结合一个非限制性实施例示出或描述的特征可以与其它非限制性实施例的特征组合。这些修改和变化旨在被包括在本公开的范围内。

整个说明书中的“各种实施例”、“一些实施例”、“一个实施例”、“一些示例性实施例”、“一个示例性实施例”或“实施例”的引用是指结合实施例描述的特定特征、结构或特性被包括在至少一个实施例中。因此,短语“在各种实施例中”、“在一些实施例中”、“在一个实施例中”、“一些示例性实施例”、“一个示例性实施例”或“在实施例中”在整个说明书各处出现不一定都指代相同的实施例。此外,特定特征、结构或特性可以以任何合适的方式组合在一个或多个实施例中。

目前公开的实施例通常涉及用于以听不见的信令声调传输数据的信标迭代格式,以及检测由此传输的听不见的信号声调的解码设备的配置。解码设备可以被配置为然后提供,例如,无线地,被接收至内容管理系统的听不见的信号的指示。在接收到来自解码设备的接收到的听不见的信号的指示时,内容管理系统可以基于所接收的特定听不见的信号向解码设备提供特定的内容,如在以上参考的现有专利申请中详细讨论的。

图1示出了本公开的一个示例性实施例,其包括内容管理系统200,该系统接收并处理附带有听不见的信号的信息,听不见的信号已被解码设备解码,在本实施例中,解码设备是便携式多功能设备202。在该实施例中,内容管理系统200然后可以确定哪些内容提供给用户,然后将内容无线地提供给与用户相关联的便携式多功能设备202。例如,可以使用诸如个人计算机、膝上型计算机、服务器、大型机或多个计算机的集合(例如,网络)的任何合适的基于处理器的设备或系统来提供内容管理系统200。内容管理系统200可以包括一个或多个处理器214和一个或多个计算机存储器单元216。为了方便,在图1中仅示出一个处理器214和仅一个存储器单元216。处理器214可以执行存储在存储器单元216上的软件指令。处理器214可以被实现为具有一个或多个核心的集成电路(ic)。存储器单元216可以包括易失性和/或非易失性存储器单元。易失性存储器单元可以包括例如随机存取存储器(ram)。非易失性存储器单元可以包括例如只读存储器(rom)以及机械非易失性存储器系统,诸如硬盘驱动器、光盘驱动器等。ram和/或rom存储器单元例如可以被实现为分立存储器ic。

存储器单元216可以存储用于内容管理引擎218的可执行软件和数据。当内容管理系统200的处理器214执行内容管理引擎218的软件时,可以使处理器214执行内容管理系统200的各种操作。操作可以包括但不限于接收来自便携式通信设备202(诸如以编码标识符234的形式)的听不见的信号的指示,识别与编码标识符相关联的内容,接收和分析从便携式通信设备202接收的补充信息,并且经由无线通信网络将内容236发送到便携式通信设备202。内容管理引擎218使用的数据可以来自诸如内容数据库220的各种源,内容数据库220例如可以是电子计算机数据库。存储在内容数据库220中的数据可以被存储在诸如硬盘驱动器、只读存储器(例如romic)或其它类型的非易失性存储器的非易失性计算机存储器中。此外,例如,内容数据库220的数据可以被存储在远程电子计算机系统上。内容数据库220中的数据可以是但不限于视频内容、音频内容、基于文本的内容等。例如,内容数据库220中的多条内容可以被绑定到特定的编码标识符。在一些实施例中,内容提供商230可以使用网络门户、应用编程接口(api)或其他形式的接口来提供和管理内容管理系统200的内容。例如,内容提供商230可以向内容管理系统200提供指令来将内容“a”、“b”和“c”发送到提供编码标识符“x”的便携式多功能设备202。

用户数据库222,例如可以是电子计算机数据库,也可以由内容管理引擎218使用。存储在用户数据库222中的数据可以被存储在非易失性计算机存储器中,诸如硬盘驱动器、只读存储器(例如romic)或其他类型的非易失性存储器。此外,例如,用户数据库222的数据可以被存储在远程电子计算机系统上。存储在用户数据库222中的数据可以与关于内容管理系统200的特定用户的信息相关,诸如触发器、用户偏好等。

内容管理系统200可以经由电子通信网络232与便携式多功能设备202通信。通信网络可以包括多个计算机和/或数据网络,包互联网、lan、wan、gprs网络等,并且可以包括有线和/或无线通信链路。与内容管理系统200进行通信的便携式多功能设备202可以是适于通过网络进行通信的任何类型的客户端设备,诸如个人计算机、膝上型计算机或上网本计算机。在一些示例性实施例中,用户可以经由作为手持计算机和移动电话的组合的便携式多功能设备202(有时称为智能电话)与网络进行通信。可以理解,虽然可以关于经由例如智能电话或膝上型计算机的用户通信来描述某些实施例,但是可以使用其他类型的用户设备或无线计算设备(诸如移动电话、个人数字助手(pda)、组合移动电话/pda、手持设备、移动单元、游戏设备、消息收发设备、媒体播放器或其他合适的移动通信设备来实现通信。

作为说明,图2示出了在实现本发明原理时使用的示例便携式多功能设备202,包括平板计算机204、智能电话206和膝上型计算机208。可以使用其他类型的便携式多功能设备。

一些便携式多功能设备202还可以支持包括互联网接入的无线广域网(wwan)数据通信服务。wwan数据通信服务的示例可以包括演进数据优化或仅演进数据(ev-do)、长期演进(lte)、数据和语音演进(ev-dv)、cdma/1xrtt、gsm与通用分组无线电服务系统(gsm/gprs)、增强全球演进的数据速率(edge)、高速下行链路分组接入(hsdpa)、高速上行链路分组接入(hsupa)及其他等。用户设备102可以根据电气和电子工程师协会(ieee)802.xx系列协议提供无线局域网(wlan)数据通信功能,诸如ieee802.11a/b/g/n系列标准协议和变体(也称为“wi-fi”)、ieee802.16系列标准协议和变体(也称为“wimax”)、ieee802.20系列标准协议和变体等。

在一些示例性实施例中,便携式多功能设备202还可以被布置为根据较短范围的无线网络来执行数据通信功能,诸如根据提供数据通信服务的无线个人区域网(pan)。特殊兴趣组(sig)系列协议、规格、配置文件等。较短范围无线网络的其他示例可以采用红外(ir)技术或近场通信技术和协议,诸如包括被动或主动射频识别(rfid)协议和设备的电磁感应(emi)技术。

便携式多功能设备202可以提供用于允许用户使用内容管理系统200完成一个或多个特定任务的各种应用。便携式多功能设备202可以包括各种软件程序,诸如根据所描述的实施例的用于提供计算能力的系统程序和应用。系统程序可以包括但不限于操作系统(os)、设备驱动、编程工具、实用程序、软件库、应用编程接口(api)等。应当理解,便携式多功能设备202可以包括任何合适的os,诸如移动os(android、blackberryos、ios、symbianos、windowsphone等)、桌面os(macosx、linux、windows、googlechromeos等)或电视os(googletv、appletv或其他smarttvos)。

其他解码设备,诸如连接到ac电源和有线网络的固定设备,也预期在本发明的原理范围内。

在各种实施例中,解码设备可以通过普遍被动检测过程来检测听不见的信号。换句话说,解码设备的用户不一定必须定期启动或激活检测过程。相反,检测过程可以是,例如在解码设备的随机存取存储器(ram)中操作的后台例程。后台例程可以周期地或至少例行地查询由解码设备的各种车载组件接收或生成的信号,以便检测是否存在听不见的信号。这些查询可以在没有来自用户的附加输入的情况下执行。通过检测过程查询的组件可以包括但不限于车载麦克风、车载扬声器和其他音频输出端口(诸如耳机输出或线路电平输出)。

听不见的信号可以由解码设备从任何合适的源接收。例如,听不见的信号可以嵌入由解码设备的麦克风接收的音频内容中。在这方面,源可以是解码设备附近以内的任何音频扬声器。音频内容还可以由诸如音乐播放器模块的车载音频生成应用提供、或由诸如视频播放器模块的车载视频播放器应用提供、或者提供给解码设备的线路输出端口(诸如耳机插孔)或外部扬声器。

在检测到听不见的信号时,解码设备可处理听不见的信号以提取编码的标识符。提取过程可以是可以由解码设备的处理器执行的一般被动过程。在一些实施例中,然后可以经由无线通信网络将编码的标识符提供给内容管理系统。补充信息还可以与诸如时间/日期数据、加速度计数据、地理数据、人口统计数据、设备数据、所有者数据等的编码的标识符一起提供给内容管理系统。内容管理系统可以处理所接收的信息以识别要传输到解码设备的内容。内容可以被本地存储到内容管理系统,或者可以被存储在远离内容管理系统的数据存储中。在任何情况下,内容可以是任何合适的文件格式或文件类型。可以提供给解码设备的示例内容的非限制性和非全面性的列表包括基于视频的内容、基于音频的内容、基于图像的内容和基于文本的内容。基于视频的内容可以包括但不限于音乐会录像、音乐视频、艺术家访谈、电影、商业广告等。基于音频的内容可以包括但不限于歌曲、铃声等。基于图像的内容可以包括但不限于图片、标志、壁纸等。基于文本的内容可以包括但不限于歌词、报价、优惠券、口令、密码、电子邮件消息、文本消息、即时消息等。在一些实施例中,内容可以是广告或教育性质。本公开不限于可以被递送到与内容管理系统相关联的解码设备的任何特定内容。

在各种实施例中,递送到解码设备的特定内容可以基于编码的标识符和一个或多个触发器。随着解码设备或设备的用户满足各种阈值,随着时间的推移可以访问(解锁)附加内容。例如,设备已经接收到特定听不见的信号的次数可以确定哪个内容被发送到设备。如果听不见的信号被嵌入在歌曲中,则听不见的信号被接收到的次数可以指示与该设备相关联的用户已经听到该歌曲的次数。随着用户越来越多地听这首歌曲,附加的内容(“解锁的内容”)可以被递送到该用户的设备。应当理解,附加内容可以被标记或以其他方式被认为是仅对某些类型或组的收听者可用的“排他性”内容。例如,当艺术家正在进行音乐会时,可以在音乐场地广播听不见的信号。使设备被动地检测到听不见的信号的听众成员将接收并处理听不见的信号。然后,设备可以提取编码的标识符,并经由无线通信网络将信息提供给内容管理系统。内容管理系统可以将编码的标识符同与表演艺术家相关联的存储内容进行匹配。然后可以将内容推送到原始发送编码的标识符的解码设备。然后,用户将能够经由其解码设备访问内容。因此,在所示实施例中,解码设备被动地检测到听不见的信号,提取编码的标识符,传输编码的标识符并接收到附属内容,而没有从用户的任何输入或交互。

在一些实施例中,递送到解码设备的特定内容可以根据设备在地理上位于何处。换句话说,被动地检测某个听不见的信号的第一城市中的解码设备可以接收第一条内容,而在检测相同听不见的信号的第二城市中的解码设备可以接收第二条内容。此外,递送给解码设备的内容可以取决于其他触发因素,诸如解码设备是否正在移动(在汽车中)、一天中的时间、用户偏好等。

由解码设备接收的内容可以以任何合适的配置进行存储、排列和查看。内容可以在接收时或在稍后的时间点被查看。在一个实施例中,内容被递送到与用户相关联的电子邮箱。在一个实施例中,将内容递送到可由解码设备执行的应用或模块。用户可以执行应用并访问内容。应当理解,可以以任何合适的层次结构或模式对内容进行排序。在一些实施例中,可以通过应用向用户显示“锁定的”内容。为了解锁内容,用户必须例如满足某些参数或阈值。阈值可以涉及听众的总数量、地理位置等。在任何情况下,当解码设备接收到内容时,可以由解码设备向用户提供通知。在一个实施例中,在接收到通知之后,用户可以然后导航相关联的应用以查看所接收的内容。

在一个实施例中,听不见的信号可以嵌入音频歌曲中。然而,本文的公开内容不限于此。事实上,本文描述的系统和方法可以跨越各种平台和实现来使用。例如,这里描述的被动检测例程可以用于检测与电视节目、商业广告、电影等相关联的听不见的信号。在一些实施例中,本文所描述的被动检测例程可以用于检测未嵌入在音频信号中的独立的听不见的信号。这种独立的听不见的信号可以在例如经营/购物环境、商业环境、音乐场所、娱乐场所或任何其他合适的环境或场所中被传输。例如,解码设备也可以被配置为使用其车载扬声器来传输听不见的信号。听不见的信号可以被通过位于传输解码设备附近的其它解码设备接收和处理。无论如何,在被动地检测到听不见的信号并且向内容管理系统提供听不见的信号的指示时,可以根据本文描述的系统和方法将特定的内容递送到解码设备。

图2a示出了适用于本发明所预期类型的固定长度的听不见的信标的数据传输格式。该格式构成52个符号的大约两秒的序列,每个符号包含40毫秒的辐射声音。以下将全部52个符号的集合称为信标迭代1000。

在信标迭代1000中,前四个符号1002是用于定位传输的信标迭代的开始的静态起始序列。接下来的四个符号1004包括能够使剩余符号(参见下文)的时间对准的、同样是静态符号的对准序列。以下四个符号1006用于识别由信标迭代使用的编码版本,这使得能够在保持反向兼容性的同时对信标交互的编码方法的未来改进。接下来的八个符号包括从部分1004至1016中的40个符号创建的错误检测码字1008,其用于检测传输错误,如下所述。随后的16个符号包括作为通过信标迭代传输的内容的数据字1010。以下四个符号包括指示所传输内容的源(例如发布者)的数据源标识符1012。随后的八个符号包括序列号1014,其用于顺序识别信标迭代传输(在其被传输时)——内容通常以包括重复传输的迭代序列来传输。(重复传输允许更大的错误弹性)。最后四个符号1016未以图2a所示的格式使用;这些符号可以用于在使用不同的信标迭代编码版本的可能的未来应用中保存附加的或扩展的数据。

如图2b所示,每个符号包括以44.1khz采样的音频数据的1764个采样,其以44.1khz的音频采样率延伸40毫秒。包含符号的1764个采样编码在18.7-19.4khz范围内的频率的音频声调,这对人类来说通常是听不见的。

由编码到符号的1764个采样中的特定音频频率指示由符号表示的数据值。在一个实施例中,使用频率为18.7khz(1020)、18.8khz(1022)、18.9khz(1024)和19.0khz(1026)的符号来编码范围从00到11的四个两位数据值。

在图2b的最后一行中看到的替代实施例中,可以使用上述四个频率由符号来编码范围从000-111的三位数据,以及19.1khz(1028)、19.2khz(1030)、19.3khz(1032)和19.42hz(1034)的另外四个频率。

参考图4,可以用于解码如上所述信标迭代的过程包括多个步骤,其在从麦克风或其他源获得的原始脉冲编码调制(pcm)数据上被实现。

在fifo缓冲器中积累数据,直到有足够数量的数据可用于开始分析数据以查找信标迭代。在步骤1040中,与由传输的信标迭代使用的前缀相对应的前缀模板与fifo中的大约2秒的数据相关,以试图识别信标的起始位置。与前缀模板最相关的fifo中的位置被存储为第一时间偏移;该时间偏移是fifo中接收到的信标迭代开始的候选。

在步骤1044中,对于fifo中的大约2秒的数据的第二长度,重复相关操作,尝试识别与前缀模板具有最高相关性的第二时间偏移。在这些步骤之后,在步骤1046中,比较步骤1042和1044中获得的时间偏移,以确定它们是否间隔大约一个信标迭代长度。如果不是,则在步骤1050中,fifo中的数据提前到第一偏移点,以继续搜索fifo中的后续数据中的迭代。

如果在步骤1048中两个定位的偏移间隔一个迭代的长度,则在步骤1048中,通过缓冲器执行进一步的相关,寻求找到与前缀模板最相关的第三时间偏移量。当获得时,评估第二和第三偏移的间隔以确定它们是否也对应于一个信标迭代的长度。如果不是,则在步骤1050中,fifo中的数据被提前,并且处理返回到步骤1044。

在上述相关操作已经定位了间隔大约适当的间隔的三个偏移的情况下,则信标迭代可能已经被接收到并可以被解码。在这种情况下,在步骤1052中,fifo中的数据被倒回到最早的可用偏移,以开始评估开始迭代符号的数据。

为了对信标迭代中的每个符号进行解码,执行精细时间对准处理以离散地识别传输符号的时间位置。在步骤1054中,紧接在所接收的前缀1002的识别的位置之后的五个采样长度的时间窗口被解码。该时间窗口被解码成子间隔,每个间隔与期望的静态对准符号1004(图1)相关;假设最大的相关性是静态对准符号精确定位的位置。然后可以使用该时间参考来从接收到的信标迭代中选择后续符号的确切位置。

在精细定时对准之后,然后分析信标迭代的剩余48个符号以识别那些符号的数据值。该过程通过将符号分成10个子段来分析每个符号,每个子段包括441个采样(参见图3)。然后将10个子段中的每一个通过goertzel滤波算法来测量在编码方法中使用的例如四个符号频率中的每个处出现的子段中的信号功率的量。在所示的实施例中,使用四个编码频率,编码符号值00、01、10和11,因此每个子段通过四个滤波算法来识别用于对符号进行编码的四个频率中的每个处的信号功率。在其他实施例中,可以使用更多数量的频率,例如8个频率来对符号进行编码,并由对应的goertzel滤波器检测。

作为通过从1056到1060的步骤评估符号的所有子段的一部分,为(4个)候选频率中的每个生成的所得到的信号功率值以平方和方法组合,以生成反映了在候选频率处整个间隔中存在多少信号功率的整个符号间隔总体值。可以比较这些平方和值以确定候选频率中的哪一个对于整个符号间隔具有最大的信号功率。具体地,在步骤1062中,使用最大平方和值来确定当前符号值。然后,处理以相同的方法移动到要分析的下一个符号。

在分析了所有符号之后,处理继续到步骤1064,其中使用从信标迭代的部分1008获得的错误检测编码符号对所得到的48个符号执行错误检测。如果错误检测编码指示没有错误,则将所得到的符号被递送给客户端应用和步骤1066。

然而,如果检测到错误,则丢弃信标迭代的符号,并且处理将继续到步骤1068,其中确定先前的符号组(对应于先前解码的信标迭代)是否也被确定为具有错误。如果不是,则处理将继续到步骤1052并尝试解码后续信标迭代的符号。然而,如果一行中的两个信标迭代间隔被解码成错误的数据,则可以得出结论,没有信标传输,或者传输的定时已经变得错误,并且在这种情况下,处理从步骤1068进行到步骤1042以重新发起搜索和同步到未来信标迭代的过程。

图5示出了使用可变长度数据传输格式的信标迭代2000,其也适于本发明预期类型的听不见的信标,但是与图1的信标迭代1000不同之处在于,可以通过该格式传输可变长度有效载荷,并且该格式包含更大的冗余编码以实现更大的数据传输鲁棒性。该格式构成30到1554个传输符号,每个符号包含362/3毫秒的辐射声音(总信标迭代长度介于1.1和57秒之间)。以下将完整的符号组称为信标迭代2000。

在信标迭代2000中,前六个符号2002是用于定位传输的信标迭代的开始的静态开始序列(参见下面的图7a)。接下来的六个符号2006提供12位值,其标识由信标迭代使用的编码版本,其使得能够在保持反向兼容性的同时信标交互的编码方法的未来修改。

信标迭代2000中接下来的六个符号包括报头长度字段2008,其指示信标有效载荷的长度,其在该实施例中是1和255之间的字节数,如上所述,其要求使用下面参照图7b、7c和7d描述的编码方法的6到1530个之间的符号。报头长度字段2008可以例如包括六个符号或12位,其对表示有效载荷的长度(以字节为单位)的1到255之间的8位值进行编码。例如,该8位值可以使用2/3纠错码以12位进行编码。

紧随报头长度字段2008之后的是包括报头循环冗余校验(crc)字段的六个符号2009,其包括为报头版本字段2006和报头长度字段2008提供冗余的冗余位。纠错编码使用2/3循环冗余编码,提供高水平的数据完整性,这对于该格式是重要的,特别是因为不正确的有效载荷长度信息可导致许多信标有效载荷的错误丢失。

跟随报头字段2006、2008和2009之后的是有效载荷2010,如上所述,其使用6到1530个符号之间,对1到255个字节之间的有效载荷进行编码,例如通过使用下面参考图7b、7c和7d描述的编码方法。

如图6所示,每个符号包括以44.1khz采样率的1617个音频数据采样,或以48khz采样率的1760个音频数据采样,在362/3毫秒的时间段内生成音频声调。包含符号的1617或1760个采样以在18.7-19.2khz范围内的频率编码音频声调,这对人类来说通常是听不见的。

由符号表示的数据值由编码到符号的1617/1760个采样中的特定音频频率指示。在一个实施例中,每个符号编码2位值,并且使用频率为18.7khz(2020)、18.8khz(2022)、18.9khz(2024)和19.0khz(2026)的频率由符号编码范围从00到11的四个这样的2位值。值得注意的是,符号值被编码在序列00、01、11、10中,使得使用相邻频率的符号之间的汉明距离仅为1位,这增加了纠错效果;具体来说,将错误解码成紧邻的频率将仅导致符号的一个位错误解码,而由于纠错编码的使用,在符号中需要两位错误以引起错误编码。

使用19.1khz和19.2khz的两个最高频率来编码仅在前缀字段2002中使用的符号值,从而有助于单独检测前缀;19.1khz频率用于“prefix_low”符号,并且19.2khz频率用于“prefix_high”符号,如下面参考图7a所述。

图7a示出了符号前缀2002的格式,其包括跨越220毫秒周期的六个符号。前缀的格式是三个“prefix_high”符号,后跟三个“prefix_low”符号。因为“prefix_high”和“prefix_low”符号使用超出用于数据符号范围的频率,所以如下面参考图8所述,它们更容易地被检测用于信标迭代同步和捕捉。

图7b,7c和7d分别示出了标识为2010a、2010b和2010c的1字节、6字节和32字节有效载荷格式的有效载荷格式。本发明预期了其他格式,例如通过扩展这些图中所示的格式。每个格式包括用于包含在有效载荷中的数据的12个符号(24位)循环冗余校验(crc)码。此外,有效载荷的内容包括使用3/2纠错编码来对有效载荷的字节进行编码的适当数量的符号。因此,在1字节有效载荷2010a中,内容包含6个符号或12位,编码8位字节的内容。6字节有效载荷2010b提供36个符号或72位的内容,使用3/2错误腐蚀编码对6个8位字节的内容进行编码。最后,在32字节的有效载荷2010c中,内容包括192个符号或384位,使用3/2纠错编码对32个8位字节的内容进行编码。

现在参考图8,如上所述,可用于解码可变长度信标迭代的过程包括在从麦克风或其他源获得的原始脉冲编码调制(pcm)数据上实现的多个步骤。原始pcm数据被存储到内部先进先出(fifo)缓冲器中。

在fifo缓冲器中累积数据,直到有足够数量的数据可用于开始分析数据以找到信标迭代报头。在步骤2040中,与由传输的信标迭代使用的前缀相对应的前缀模板与大约等于信标的长度的fifo中的数据相关,以试图识别信标的起始位置。识别与前缀模板最佳相关的fifo中的位置(步骤2042),并将该位置处的峰值相关性与阈值进行比较。如果不满足阈值,则认为fifo中的数据不包括信标报头,并且fifo被提前(步骤2050)。然而,如果与前缀模板的峰值相关性超过用于辨识的阈值,则在步骤2054中,准确地找到报头的符号,例如,通过以若干符号长度精细解码子间隔的步骤(步骤2054),以某种类似于上面参考图3和图4所述的方式。这将找到符号边界的时间,其结果是,在步骤2064中,报头可以被解码以获得识别跟随报头的有效载荷中的字节数的版本和报头长度内容。此后,使用纠错编码和冗余码从有效载荷解码符号以校正错误(步骤2064)。只要存在要解码的附加符号(步骤2068),则该过程继续。如果存在错误,则过程返回到步骤2042以搜索新的信标间隔前缀。在步骤2064中有效载荷的所有符号被解码之后,将所得到的内容递送到客户端应用(步骤2066),并且过程返回到步骤2042以搜索新的信标间隔前缀。

如这里所述,可以在解码设备上执行软件应用,以允许用户访问和存储从内容管理系统接收的内容。该应用还可以允许用户向内容管理系统提供用户偏好。应当理解,应用可以以多种方式来构造。

通常,对于本领域普通技术人员显而易见的是,本文所描述的至少一些实施例可以在软件、固件和/或硬件的许多不同实施例中实现。软件和固件代码可以由处理器或任何其他类似的计算设备执行。可用于实现实施例的软件代码或专用控制硬件不是限制性的。例如,本文描述的实施例可以使用任何合适的计算机软件语言类型,使用例如常规或面向对象的技术在计算机软件中实现。这样的软件可以存储在任何类型的合适的计算机可读介质或媒介上,诸如磁存储介质或光存储介质。可以在不具体参考特定软件代码或专用硬件组件的情况下描述实施例的操作和行为。缺乏这样的具体参考是可行的,因为清楚地理解,普通技术人员将能够设计软件和控制硬件以基于本说明书以不超过合理的努力而不经过不必要的实验来实现实施例。

此外,与本实施例相关联的过程可以由诸如计算机或计算机系统和/或处理器之类的可编程设备执行。可能导致可编程设备执行过程的软件可以存储在任何存储设备中,例如计算机系统(非易失性)存储器、光盘、磁带或磁盘。此外,当计算机系统被制造或存储在各种类型的计算机可读介质上时,至少一些处理可以被编程。

还可以理解,本文描述的某些过程方面可以使用存储在引导计算机系统执行处理步骤的计算机可读介质或媒介上的指令来执行。计算机可读介质可以包括例如诸如软盘、光盘(cd)、数字通用盘(dvd)、光盘驱动器或硬盘驱动器的存储设备。计算机可读介质还可以包括物理、虚拟、永久、临时、半永久和/或半临时的存储器存储。

“计算机”、“计算机系统”、“主机”、“服务器”或“处理器”可以是例如但不限于处理器、微型计算机、小型计算机、服务器、大型机、膝上型计算机、个人数据助理(pda)、无线电子邮件设备、蜂窝电话、寻呼机、处理器、传真机、扫描仪或被配置为通过网络传输和/或接收数据的任何其他可编程设备。本文公开的计算机系统和基于计算机的设备可以包括用于存储用于获得、处理和传送信息的某些软件模块的存储器。可以理解,相对于所公开的实施例的操作,这样的存储器可以是内部的或外部的。存储器还可以包括用于存储软件的任何装置,包括硬盘、光盘、软盘、rom(只读存储器)、ram(随机存取存储器)、prom(可编程rom)、eeprom(电可擦除prom)和/或其他计算机可读介质。

在本文公开的各种实施例中,单个组件可以被多个组件替代,并且多个组件可以由单个组件替代以执行给定的功能。除非这种替代不起作用,否则这种替换是在实施例的预期范围内的。例如,本文描述的任何服务器可以由位于并被配置为协作功能的联网服务器(例如服务器刀片)的“服务器场”或其他分组所代替。可以理解,服务器场可以用于在场的各个组件间分配工作负载,并且可以通过利用多个服务器的集体和协作能力来加速计算过程。这样的服务器场可以采用负载平衡软件,其实现诸如例如跟踪来自不同机器的处理能力的需求、基于网络需求优先化和调度任务的任务和/或在组件故障或可操作性降低的情况下提供备用意外事件。

计算机系统可以包括经由一个或多个数据总线与存储器(例如,ram或rom)通信的一个或多个处理器。数据总线可以在处理器和存储器之间承载电信号。处理器和存储器可以包括传导电流的电路。诸如处理器和/或存储器电路的固态晶体管之类的电路的各种部件的充电状态可在电路工作期间改变。

虽然本文已经描述了各种实施例,但是显而易见的是,本领域技术人员可以想到对这些实施例的各种修改、改变和适应,以达到至少一些优点。因此,所公开的实施例旨在包括所有这样的修改、改变和适应,而不脱离本文所阐述的实施例的范围。

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