用于检测和修正受损广播时间码的装置和方法 本申请要求2001年11月9日提交的第10/047,734号美国申请的优先权。
【技术领域】
本发明总体上涉及观众测量系统,更具体地说,本发明涉及一种从广播信号中提取时间码、然后检测和修正受损的或错误的时间码的观众测量装置。
背景技术
通常把辅助识别码添加到无线电广播和电视节目中,以使能进行观众测量。随后在信号接收站点访问在节目广播或制作时添加的辅助识别码,以在该信号接收站点识别被收看或收听的节目,并且识别节目被收看/收听的时间。用于对视频信号和辅助识别码一起进行编码的系统已经广泛使用了几十年。对于上述系统地示例,请参照Thomas等人的美国专利No.5,425,100,在此以引用的方式将其并入本文中。许多视频编码系统被设计成,通过按周期间隔在电视信号的垂直消隐间隔的一行中添加辅助识别码,来利用作为视频信号特性的精确周期定时。相比之下,在缺乏视频信号的精确周期定时的音频信号中隐藏代码更加困难,所以音频编码系统更晚些才变得可行。具体地说,在节目无声的时段不能屏蔽编码,从而当一个或多个间隔与无声时段重合时,不能按规则间隔插入代码。结果,音频编码系统通常不按精确的周期间隔向节目添加识别码。
为了进行观众测量,传统的广播识别码以同步或起始消息(start-of-message)场作为开始,所述场允许解码器检测并锁定代码,紧随其后的是用于识别广播节目源的源识别(SID)场。时间码场包含特征时间,比如从网络供应站点到相关的本地台的广播的初始传播时间,紧随SID场。其他场可以包含附加数据。
用于观众测量的选定家庭站点可以解码广播节目信号,以获得嵌在其中的时间码和SID。时间码和SID被存储在家庭站点,随后被发送到中央设备,以建立活动日志,该活动日志用于识别相对一组时间码的一组识别源的广播活动。这样,对从家庭站点接收到的时间码及SID与活动日志进行比较,来识别在该家庭站点收看/收听的节目。
但是,从时间码场提取的时间码可能不足以识别收看节目的时间。具体地说,在节目被编码的时间与该同一节目被广播的时间之间可能发生延迟。具体地说,网络可以利用对于网络来说唯一的SID和等于一标准时钟时间的时间码对节目进行编码,所述标准时钟时间是通过卫星播送系统将节目最初播送到相关的本地播送设备的时间处。本地播送设备可以立即传送节目或者在广播节目之前将节目存储几个小时甚至几天。因此,嵌入到广播信号中的时间码可能与把节目广播到收看者/收听者的实际本地时间无关。同样的,VCR技术允许收看者记录广播节目以便以后不播出时收看记录的节目,这也导致嵌在信号中的时间码与收看节目的实际本机时钟时间之间出现偏差。
为了补偿节目编码和节目广播之间可能发生的延时,家庭站点额外记录一组读取时间,该读取时间表示广播节目被解码以备收看/收听的实际的本地时间。更具体地说,每当在收看/收听的节目信号中检测/解码到时间码的时候,就从本机时钟获得读取时间。
可惜地是,诸如上述家庭站点的观众测量系统所执行的数据收集不是没有差错的。具体地说,解码器差错有时候可能导致一个或更多个提取识别码位被错误地解码。通常,时间码位被错误解码的可能性随着来自同步场的码位的时间间隙单调增加。结果,精确解码的SID并不保证相关的时间码位被无差错地解码。除了解码器差错之外,观众测量系统可能遇到其间没有代码可被读出的时间间隔,这或者是因为开始就没有代码添加到信号中,或者是因为信号传输和播送的人为因素劣化或意外地删除了代码。差的信号接收可以进一步加剧数据收集差错。
除了上面讨论的解码器差错之外,被设计成从音频信号中收集时间码的观众测量系统还易于产生与使用麦克风接收要解码的信号相关的数据收集差错。具体地说,尽管现有技术的显著进步已经使得可将音频信号中的时间码掩藏得听不见,并且进一步使得可在接收站点恢复同一代码,但是仍就不能从利用麦克风拾取的必然劣化的信号中可靠地提取时间码。
不幸的是,用于克服上述数据收集差错的现有技术系统通常计算量很大并且需要复杂的处理设备,这种处理设备价格昂贵并且难于维修。例如,Thomas等人的美国专利No.5,481,294公开了一种使用计算量大的特征识别系统来替代代码读取系统的测量系统。
因此,本领域需要一种克服掉前述数据收集差错中一个或更多个的观众测量系统。
【发明内容】
根据本发明的一个方面,一种处理观众测量数据的装置,包括一用于接收多个数据记录的数据输入端口和一耦合到该数据输入端口的处理器。每个数据记录都包括一从广播信号中获取的时间码和一对应于该时间码的读取时间。读取时间对应于时间码,从而在时间码没有受损时,读取时间之间的一组第一间隔与时间码之间的对应的一组第二间隔在数学上相关。处理器确定所述第一间隔和第二间隔的大小,比较第一和第二间隔的大小,以识别一个或更多个受损时间码和一个或更多个未受损时间码,并且为每个受损时间码计算修正时间码。
根据本发明的另一方面,一种用于识别和修正从广播信号中提取的一个或更多个时间码的方法,包括一记录步骤,该记录步骤用于记录一组读取时间,每个读取时间对应于一个时间码,并且每个读取时间表示从所述广播信号中提取出对应的时间码的时间。另外,该方法包括:第一间隔确定步骤,用于确定所述读取时间之间的一组第一间隔;第二间隔确定步骤,用于确定所述时间码之间的一组第二间隔,每个第二间隔对应于一个第一间隔;比较步骤,用于将每个第一间隔与每个对应的第二间隔进行比较,以确定每个第一间隔与对应的第二间隔是否近似相等。该方法进一步包括:识别步骤,用于基于比较结果来识别不近似等于第一间隔的一对应子集的、第二间隔的一子集,其中,所述第二间隔的子集中的每一个与至少一个受损时间码相关联;和,修正时间码计算步骤,用于为所述受损时间码计算修正时间码。
根据本发明的另一方面,一种存储介质,存储用于检测和修正从广播信号中提取的多个时间码中的一个或更多个的软件。该软件是计算机可读的,并且包括使计算机执行以下操作的指令:接收一组时间码,并且接收一组读取时间,每个读取时间对应于一个时间码,并且每个读取时间表示从广播信号中提取出对应的时间码的时间。该软件进一步包括使计算机执行以下操作的指令:计算读取时间之间的一组第一间隔;计算时间码之间的一组第二间隔,每个第二间隔对应于一个第一间隔;将每个第一间隔与每个对应的第二间隔进行比较,以确定第一间隔是否近似等于对应的第二间隔。该软件进一步包括使计算机执行以下操作的指令:基于比较结果,识别不近似等于第一间隔的对应子集的、第二间隔的一子集,其中,所识别出的第二间隔的子集中的每一个与至少一个受损时间码相关联;和,为所述受损时间码计算修正时间码。
根据本发明的又一方面,一种用于处理观众测量数据的装置,包括:接收装置,用于接收从广播信号中提取的多个时间码;记录装置,用于记录多个读取时间,每个所述读取时间对应于一个所述时间码;第一间隔计算装置,用于通过确定两个读取时间之间的差来计算所述读取时间之间的一组第一间隔;以及,第二间隔计算装置,用于通过确定两个时间码之间的差来计算所述时间码之间的一组第二间隔。每个第二间隔对应于一个第一间隔。该装置进一步包括一比较装置,该比较装置用于将每个第一间隔与每个对应的第二间隔进行比较,以确定一个或更多个时间码是否受损。
根据本发明的再一方面,该装置进一步包括一修正时间码计算装置,该修正时间码计算装置用于为计算所述第二间隔的子集中的每一个所用的所述两个时间码中的至少一个计算修正时间码。该修正时间码计算装置可以包括一用于将一个时间码加上一个第一间隔的装置,其中相加到一个时间码上的第一间隔对应于包括在所述第二间隔的子集中的一个第二间隔。
根据本发明的再一方面,一种用于处理观众测量数据的装置包括一用于接收多个数据记录的输入端口和一处理器,所述观众测量数据有例如多个时间码和对应于时间码的多个读取时间。每个数据记录包括一个时间码和对应的读取时间,所述处理器确定时间码和对应的读取时间何时处于时间同步状态,从而使包括在第一数据记录中的第一时间码和第一读取时间相对于包括在第二数据记录中的第二读取时间和第二时间码的增量近似相等,其中,在所述输入端口处,第一数据记录的接收晚于第二数据记录的接收。所述处理器还确定所述时间码和所述对应的读取时间何时处于非时间同步状态,从而包括在第三数据记录中的第三时间码和第三读取时间相对于包括在第四数据记录中的第四读取时间和第四时间码的增量不近似相等。在所述输入端口处,第三数据记录的接收晚于第四数据记录的接收。所述处理器进一步确定所述时间码和所述读取时间何时经历时间同步状态与非时间同步状态之间的一次或更多次转变,并且利用所述转变来识别一个或更多个受损时间码。另外,所述处理器为所述受损时间码计算一个或更多个修正时间码。
【附图说明】
参照随后的说明、所附权利要求和附图,将更好地理解本发明的这些和其他特征、方面和优点,在附图中:
图1是根据本发明一个方面的广播测量系统的框图,其中,该广播测量系统具有向多个接收站点发送广播信号的多个广播信号提供者,每个接收站点都具有一观众测量系统。
图2是根据本发明另一方面的图1的观众测量装置和用于显示或播放广播信号的消费者设备的框图。
图3是图1中的测量装置使用的具有一组数据记录和一组时间间隔的表。
图4A和4B包括有根据本发明又一方面的由图1的测量装置用于识别和修正错误的时间码所执行的方法的流程图。
【具体实施方式】
用于修正从广播信号再现的受损时间码的装置接收一组数据记录,每一记录包含SID、时间码、和读取时间。该装置通过计算和比较时间码间隔与读取时间间隔来检测受损的时间码。更具体地说,计算第一时间码与第二时间码之间的时间码间隔,并且计算对应于第一时间码的第一读取时间与对应于第二时间码的第二读取时间之间的读取时间间隔。如果上述间隔近似相等,则上述值被验证。相反,如果上述间隔不近似相等,则识别出上述值中的一个或全部两个受损。当识别出一个受损的时间码(例如第二时间码)时,所述装置通过将第一时间码加上所述读取时间间隔来计算修正时间码。然后可用该修正时间码来验证随后从广播信号中提取出的其他时间码。可以传送经验证的时间码来代替错误的时间码,并且把所有收集的数据传送到中央设备,用于测量安装所述装置的住所的居住者的收视习惯。
现在参照附图,其中相同的标号表示相同的对象,具体参照图1,广播测量系统10包括多个广播信号提供者12,每个广播信号提供者12传送一路广播信号,在多个接收站点比如消费者住所16处安装的多个消费者设备14接收该广播信号。所述广播信号包括编码的广播识别码,并且可以是具有针对电视和/或无线电广播和/或网络(比如因特网)的格式的音频和/或视频信号。因此,广播信号提供者12可以是电视台或无线电台,消费者设备14可以是电视机或收音机。另选地,广播信号可以是任何类型的已知信号或者以后设计的用于传送广播信息的信号。同样地,消费者设备14可以利用任何类型的信号接收机来实现。观众测量设备18耦合到每个消费者设备14,并且存储从消费者设备14接收和显示(或播放)的广播信号中提取出的广播识别码。稍后通过公共交换电话网络(PSTN)20把所存储的广播识别码传送到中央设备22,在中央设备22处使用该代码来测量消费者的收看和/或收听习惯。尽管这里说明的是通过PSTN 20来传送广播数据,也可以通过任何数量的其它通信方法来传送广播数据,这些通信方法包括例如有线电视电缆和无线电话。当然,必须保护数据的完整性,因此只有在无线电话通信非常可靠时,无线电话才可能有用。
参照图2,消费者设备14可以是具有用于接收广播信号的接收机24的电视机。调谐器26对接收机24进行调谐并使接收机24接收来自任何广播节目提供者12的广播信号。随后将所接收到的广播信号传送到常规电视电路28,该常规电视电路28对信号进行处理以在电视显示屏(未示出)上进行显示。另选地,可把信号传送到录像机(未示出)进行记录,以便在以后显示。除了将所接收到的信号传送到常规电视电路28之外,还将所接收到的信号同时地传送到安装在观众测量设备18中的解码器30。如图2所示,可通过硬连线连接把所述信号传送到解码器30,或者可以首先把所述信号的一部分提供给处理并且接着播放该信号的扬声器31,随后在麦克风33处检测该信号,麦克风33将检测到的信号传送给解码器30。本领域的普通技术人员应该理解,由于本发明能够收集音频信号中所提供的数据,所以本发明可被用于获得包括无线电广播、电影院、电视和因特网在内的任何广播媒体系统中的观众测量数据。
解码器30从广播信号中提取广播识别码,并将该广播识别码提供给处理器32。可用德州仪器公司(Texas Instruments)的型号为TMS320VC33的数字信号处理器来实现处理器32,并且可用由处理器32执行的诸如NAES II或NAES III的软件来实现解码器30。
处理器32通过添加从本机时钟34获取的读取时间,来补充从广播信号中提取的每个记录。每个记录的格式可以依赖于嵌有记录的信号的类型。例如,从音频信号中提取的记录可以包含50个数据位。当对每个记录进行解码并将其提供给处理器32时,把读取时间添加到记录中,从而每个读取时间表示对应记录被解码时的时间。处理器32对所得的广播识别记录进行处理,并将处理后的数据存储在存储装置35或临时存储缓冲器37中,其中,每个记录具有时间码、对应的SID、和处理器32所添加的读取时间,存储装置35和临时存储缓冲器37二者可以但不需位于处理器32内部。稍后,处理器32将所存储的记录提供给数据通信装置39,以便按预定间隔或响应于查询将所存储的记录传送到中央数据收集设备22。例如可用耦合到电话的调制解调器来实现通信装置39,所述调制解调器将数据转换成适合于通过PSTN 20传送的格式。另选地,可以利用能够在观众测量装置与中央数据收集设备之间进行通信的任何装置来实现通信装置39。
参照图3,存储在存储装置35中的表36包含一系列记录38,这些记录38表示由解码器30所提取并由处理器32所补充的数据记录。为了清楚可见,在图3中省略了通常与数据记录相关联的SID和其他数据字段。表36的第一列包含从本机时钟34获取的一组读取时间40,第三列包含使用信号解码器30从广播信号中提取出的一组时间码42。时间码42是十六进制数字格式的,表示自界限时间以来过去的秒数。每个时间码42对应于一个唯一的读取时间40,并且被显示在唯一关联的读取时间40的同一记录38中。
为了进行说明,表36还包括标记为Δtr的第二列和标记为Δtc的第四列24,分别包括读取时间40之间的一组时间间隔44和时间码42之间的一组时间间隔46。具体地说,与最近获取的记录38(即,最顶部的记录)相关联的时间间隔44是通过如下计算来获得的:从与最近获取的记录相关联的读取时间40减去与最早获取的记录(即,最底部的记录)相关联的读取时间40。同样地,与最近获取的记录相关联的时间码间隔Δtc46是通过如下计算来得到的:从与最近获取的记录38相关联的时间码42中减去与最早获取的记录38相关联的时间码42。
由于以从广播信号中解码时的相同速率来将时间码42编码到广播信号中,并且由于对时间码42进行解码的速率由读取时间40来表示,假定时间码42是无差错的,那么时间码42将跟上读取时间40。更具体来说,多个读取时间40之间的间隔Δtr 44应近似等于多个时间码42之间的间隔Δtc 46。当时间码42以这种方式跟踪读取时间40时,读取时间和时间码的两个数据组处于时间同步状态,也就是说,这两个数据组以同步方式递增。当读取时间40不跟踪时间码42时,数据组tr和tc不再处于时间同步状态。因此,当对应的读取时间间隔44和时间码间隔46处于彼此可允许的容限内时,例如增加或减少一秒,读取时间和时间码的两个数据组就处于时间同步状态。当对应的读取时间间隔和时间码间隔44、46处于时间同步状态时,就把与时间码间隔Δtc46相关联的时间码42验证为是无差错的。
举例来说,在表36中,最底部的记录是第一记录,按升序对记录进行编号,从而最顶部的记录是第六记录,由于第一记录与第二记录之间的读取时间间隔Δtr 44近似等于与这些记录相关联的时间码间隔Δtc46,所以在与表36的第一记录和第二记录相关联的时间段内,时间码数据组和读取时间数据组是时间同步的。与之对照,在与第三记录38相关联的时间段内,由于对应的读取时间间隔Δtr 44与时间码间隔Δtc 46不近似相等,所以所述两个数据组不是时间同步的。具体地说,与第三记录38相关联的时间码40早于先前的第二记录38的时间码42,由此导致与第三记录38相关联的读取时间间隔44与时间码间隔46不匹配或者不相等。对于第四、第五和第六记录,读取时间间隔44近似等于对应的时间码间隔46,因此数据组再次处于时间同步状态。
参照图4A,可以例如使用存储在存储装置35中并由处理器32执行的软件程序来实现用于检测和修正上述解码器差错的时标验证方法50。该方法50可从步骤52开始,在步骤52处,使用已从广播信号中提取出的时间码42生成数据栈。具体地说,从信号中提取出的时间码42被按接收顺序入栈,从而最早接收到的时间码42位于栈的底部。接着,在步骤54,最早接收到的时间码被从栈的底部移出并存储在存储缓冲器37。如同下文中详细描述的那样,方法50的这些步骤用于测试最早接收到的时间码的有效性。因此,为了描述方法50,将最早接收到的时间码用tctest来表示。
接着,在一系列步骤56、58、60中,初始化一组计数器COUNTER1和COUNTER2,并且使COUNTER2递增。具体地说,在步骤56,将COUNTER1设为等于存储在栈中的时间码的数目。在方法50的随后的步骤中,使用COUNTER1来确保最早接收到的时间码tctest已经与存储在栈中的每个时间码进行了比较。在步骤58,将COUNTER2设置为等于0,然后在步骤60中使COUNTER2递增1。存储在COUNTER2中的值表示正与最早接收到的时间码tctest进行比较的时间码在栈中的位置,其中栈中的最底部的时间码位于第一位置,紧接着最底部的时间码之上的时间码位于第二位置,以此类推。
在步骤60之后,方法50继续进行到步骤62,在此,对COUNTER1与COUNTER2进行比较,以确定栈中的每个时间码是否已经与最早的时间码tctest比较过。具体地说,如果COUNTER2大于COUNTER1,则栈中的所有时间码都已与tctest比较过,并且方法50转到步骤74和随后的步骤,在这些步骤中,对tctest进行下文中更具体描述的一组最后处理步骤。如果COUNTER2不大于COUNTER1,则方法50继续进行到步骤64,在此,从栈中复制位于与COUNTER2的值对应的栈位置处的时间码,以便验证tctest。例如,如果COUNTER2=1,则从栈中复制位于栈的第一位置处的时间码,并将该时间码作为tc1存储在存储器中。接着在框66处,对与tctest相关联的SID及与tc1相关联的SID进行比较。如果SID值不匹配,也就是SIDtest≠SID1,则时间码tc1不与tctest所在的广播节目相关,从而不能使用tc1来验证tctest。结果,方法50跳回继续执行步骤60和随后的步骤,COUNTER2再次递增,从而可以获得位于栈中下一位置处的时间码来与tctest进行比较,并可能验证tctest。
同时参照图4B(与图4A在连接点A、B、C和D处对齐连接),如果SID值匹配,即SIDtest=SID1,则把时间码tc1与tctest所在的广播节目相关联,从而可用tc1来验证tctest。结果,方法50继续进行到步骤68,在此,计算时间间隔数据。更具体来说,在步骤68处,计算表示时间码tctest与tc1之间的间隔Δtc,并且计算对应于时间码tctest的读取时间trtest与对应于时间码tc1的读取时间tctest之间的间隔Δtr。
接下来,在步骤70,比较间隔Δtr与间隔Δtc。如果在可允许的容差(TOL)内间隔Δtc等于间隔Δtr,即Δtc=Δtr±TOL,则Δtctest和Δtc1均是有效的,并且在步骤72将它们标记为有效。例如,可以通过设置与每个值相关联的有效标记来把时间码Δtctest和Δtc1标记为有效的。另选地,可以使用任何数据关联方法来表示值Δtctest和Δtc1是有效的。
如果相反,在可允许的容限(TOL)内间隔Δtc不等于间隔Δtr,即Δtc≠Δtr±TOL,则Δtctest和Δtc1中的一个或全部两个是无效的,并且方法50返回继续执行步骤60和随后的步骤,如上所述。同样地,当在步骤72处把Δtctest和Δtc1标记为有效之后,方法50返回到步骤60。
如上所述,在步骤62,如果COUNTER2大于COUNTER1,则栈中的所有时间码都已与Δtc1比较过,方法50继续执行到步骤74,在此,处理器32通过包括步骤60-72在内的方法50的部分来确定tctest是否已被验证。如果tctest尚未被验证,表示tctest是错误的,则所述方法继续到步骤76,在此修正tctest。具体地说,在步骤76,对SIDtest与由SIDprevious表示的SID进行比较,SIDprevious对应于由tcprevious表示的最近验证的时间码。tcprevious的值等于最近从栈中移出以由方法50进行处理并且在方法50的最近的先前迭代中被验证的时间码的值。如果SID值相等,即,SIDtest=SIDprevious,表示时间码tctest和tcprevious是从同一广播节目中提取的,则随后在步骤78,计算对应于时间码tcprevious的读取时间trprevious与对应于时间码tctest的读取时间trtest之间的读取时间间隔Δtrprevious。在步骤78,还把读取时间间隔Δtrprevious加到tcprevious的值上,以获得时间码tctest的修正值,随后在步骤80处将该修正值存储在验证时间码的列表中,用于以后必要时在计算修正时间码时恢复和使用。存储tctest值之后,所述方法回到步骤54,在此从栈的最底部位置提取处下一个时间码值,并且所述方法继续执行随后的步骤,如上所述。
如果在步骤74,处理器32确定tctest的值已被验证,则所述方法继续到步骤80,在此存储tctest值以备稍后使用,如上所述。
虽然依照优选和特定的实施例讨论了本发明,但是本领域的技术人员应该明白,本发明不限于此。例如,具备数据处理领域的普通技术水准的人员可知,尽管已经描述的方法50使用两个分离的存储装置35、37,也可以利用单个存储装置来等同地实现所述方法。而且,应该知道,计算中所用的读取时间间隔并非必需在最早获取的读取时间值与所有其他的读取时间值之间来计算。作为代替,可以使用与任何大小的间隔相关联的读取时间来执行计算,当然前提是假定与所述读取时间间隔进行比较的对应的时间码间隔是以相同的间隔来计算的。
可以进一步对处理器32进行编程,以使能够把存储在存储器35中的数据值传送到中央数据收集设备22(参见图1)。具体地说,按照固定间隔,响应于来自中央数据收集设备22的查询,或者当已经收集到预定量的数据时,处理器32可以使数据被传送到通信装置39,并且可以使通信装置39通过PSTN 20将数据传送到中央收集设备22。
另外,用于计算修正时间码值的技术不需依赖于读取时间数据和时间码数据恢复时间同步。相反,可以使用当系统处于更早的时间同步状态时所收集的读取时间数据来计算用于后来解码的错误时间码值的修正时间码值。
此外,尽管这里描述的装置具有一个处理器、一个解码器和一个时间时钟、一组存储器、以及能够与中央设备通信的装置,但是,可以用一个或更多个执行等同功能的装置来替换一个或更多个前述的组件。例如,由处理器执行的数据处理可以利用适于实现本发明的方法的任何电子电路的组合来替换,所述电子电路例如包括专用集成芯片或复合可编程逻辑设备。作为进一步的示例,所述数据处理可由包括例如比较器、加法器/减法器和一组合适逻辑门的组件的电子电路来执行。同样,虽然所述装置和消费者设备被描述为分离的组件,但是可将安装在所述装置中的一个或更多个组件安装在所述消费者设备中,反之亦然。
此外,本发明可用于处理从任何源(例如陆基电视/无线电广播播送设备和星载广播发送站点)广播的观众测量数据。而且,这里描述的装置/方法可用于处理按目前已知或今后设计的任何广播信号格式提供的数据,包括视频信号、音频信号、电视信号、无线电广播信号、以及硬连线的和无线的因特网信号。
因此,这里说明的实施例通过示例的方式给出,在本发明的范围内可以进行各种修改、变型以及用其他实施例。