检测水印的方法和设备的制作方法

文档序号:7733191阅读:203来源:国知局
专利名称:检测水印的方法和设备的制作方法
技术领域
本发明涉及一种检测在由帧组成的数据流中的水印的方法。本发明另外涉及一种检测在由帧组成的数据流中的水印的设备。
水印是在诸如音频或视频流的数据流中插入额外信息的处理,它是制造或保护这些数据流的一种重要的和著名的技术。可以给一个电影添加水印,从而可以识别原版,或者区分原版和未授权的复制品。水印也日益增加用于加强对数据流复制的限制。在DVD复制保护中,使用水印来给材料标记“复制一次”、“不准复制”、“不能再复制”或“无限制”。当从一个DVD盘复制数据流时,执行复制的设备必须检查水印是否存在。如果发现有水印,并且该水印指示数据流不能(再)复制的话,则设备必须拒绝复制这一数据流。
当数据流是视频流时,要处理的数据量很大。通常,使用诸如ISO/IEC 11172 MPEG-1或ISO/IEC 13818 MPEG-2压缩的方案压缩视频流。在将来,可以使用ISO/IEC 14496 MPEG-4方案。这能在很大程度上减少视频流的大小。然而,它也意味着相当大地增加为检测在一个视频流中的水印所需要的处理能力。水印的检测需要解压缩视频流的帧和处理解压缩后的帧以检测任何水印。
虽然当视频流被实时复制时处理一个MPEG-2压缩的视频流是能做到的,但是在高速复制期间,所需要的处理速度大到不太可能实现。例如,一个典型的视频流每秒包括25到30帧。当以20倍于正常速度的高速复制这一视频流时,则这意味着每秒必须处理500或600帧以检测水印。这是一个每秒大约300-400兆位的位流,其峰值达每秒800兆位。与此对照的是,当前基于硬件处理MPEG位流的水印检测器不能可靠检测在高于每秒100兆位的位流中的水印。同时,当使用水印加强复制限制时不能接受推迟水印的检测。在开始复制处理和检测指示该复制不被允许的水印之间的时间越长,则会有更多的材料被盗版者非法复制。
本发明的一个目的是根据导言提供一种方法,它可以在高速复制处理期间快速操作。
这一目的根据本发明以这样一种方法实现,所述方法包括从数据流中选择独立编码的帧,和提供选择帧中的识别数据给水印检测器以检测其中的水印。要从一个DVD或其它源复制的数据将包含音频流、视频流和其它信息的混合。仅在这些流的一个中检测水印就足够了。另外,并非需要所选择的数据流中的全部帧来检测在选择的数据流中的水印。某些帧包含比其它帧更多的水印信息。特别是,独立编码的帧通常比依从编码的帧包含更多的水印信息。通过只选择独立编码的帧,以比复制处理低很多的速率给水印检测器提供数据。另外,这些帧已经向提供水印检测器足够的信息以便利可靠的水印检测。
在一个实施例中,本方法另外包括在缓冲存储器中缓冲存储帧,决定该帧的缓冲存储器的地址位置,和给水印检测器供应这一地址位置。经常,复制处理包括在缓冲存储器中暂时存储(部分)数据流。这一缓冲存储器的大小通常相对很大,使得在其内存储的帧在它们被新数据复盖前在那里停留相对长的时间。存储的帧在它们被读出后保留在缓冲存储器中。因为水印检测器需要被选择的帧的内容,因此决定这些帧在缓冲存储器中的地址位置是有利的。
在另一个实施例中,本方法另外包括复制至少该帧的内容部分到一个本地存储器和供应该本地存储器的内容给水印检测器。通过在本地存储器中存储选择的帧(的内容部分),水印检测器可以简单地访问本地存储器,取回存储的帧数据和检测其中的水印。
在另一个实施例中,数据流包括一个根据ISO/IEC 13818 MPEG-2格式格式化的视频基本流,和选择的帧包括该视频基本流的一个I帧。在一个典型的MPEG-2视频流中,通常每10到12个帧内大约有一个I帧。所以,通过只选择数据流的视频部分的I帧,可以实现供给水印检测器的数据流的数量的显著减少。
在另一个实施例中,本方法另外包括对选择的帧进行处理以获得至少一个DCT系数,和供应该至少一个DCT系数给水印检测器。水印检测器不总是需要所选择的帧的所有数据来检测水印。特别是,由和本申请同一申请人提出的WO 99/45707(律师卷宗号PHN 17315)中公开的水印检测系统可以只使用个别帧的DCT系数检测视频流中的水印。
本发明的再一个目的是根据前言提供一种设备,它可以在高速复制期间快速检测水印。
这一目的根据本发明以一种包括帧的设备实现,所述设备包括用于从数据流中选择独立编码的帧的选择设备,和给水印检测器提供选择的帧中的识别数据以检测其中的水印的处理设备。
本设备的有利的实施例在权利要求7-9中展示。
本发明另外涉及一种计算机程序产品,安排用于使处理器执行根据本发明的方法。
参考附图中表示的实施例,本发明的这些和其它方面将十分明显,附图中

图1原理表示根据本发明的设备的第一实施例;图2原理表示按照MPEG-2标准格式化的数据流的结构;图3原理表示根据本发明的设备的第二实施例。
在所有附图中,同样的参考号码指示相似的或相应的特征,在附图中指示的某些特征通常以软件实现,这样的软件代表的有诸如软件模块和对象的软件实体。
图1原理表示安排用于检测数据流中的水印的设备100的第一实施例。设备100例如是一个用在DVD驱动器中的处理用的IC,但是也可以是一个运行在通用计算机系统上的计算机程序。输入处理器101,例如DVD播放机,从DVD 190读数据流。当然,本发明不限制于从DVD读取的数据流。也可以使用其它数据源。优选地数据流按照ISO/IEC13818 MPEG-2格式格式化。
输入处理器101连接到总线102,给该总线供给数据流。输出处理器110从总线102读数据流并输出该数据流给一个输出端子170。输出端子170可以连接到一个外部的MPEG解码和显示设备(未示出)。输出端子170也可以连接到一个硬盘或DVD读/写单元,以便可以于其上进行数据流的复制。可以由设备100执行的操作部分依赖于输出端子170所连接的是什么。
假定从DVD 190读取的数据流包含一个指示限制复制和/或播放该数据流的水印。给设备100提供一个水印检测器130,它也连接到总线102上。水印检测器130在数据流传送到总线102上时读该数据流,并决定在该数据流中是否存在水印。
当水印检测器130在数据流中检测到水印,和这一水印禁止当前进行的操作时,水印检测器130使开关160动作以禁止对输出端子170输出。例如,如果数据流正被复制,而水印指示“不允许复制”的限制,则水印检测器130将打开开关160以阻止该数据被输出到输出端子170。如果未发现水印,或者发现的水印不禁止进行中的操作,则开关160闭合,输出被传送到输出端子170。
在另一个实施例中,水印检测器130只给控制模块(未示出)发送一个信号,指示发现一个水印。然后控制模块可以采取适当的动作。例如,控制模块可以警告用户该操作不被允许,或者暂时挂起该操作而要求用户在继续进行前付费。
水印检测器130连接到处理模块125,它可以在数据流的帧在提供给水印检测器130之前将它们解码和处理。处理模块125例如可以包括一个MPEG解码器,它将来自一个MPEG编码的数据流的帧变为适合由水印检测器130处理的未加工的图像数据。
在一个优选的实施例中,水印检测器130按照在由和本申请同一申请人提出的WO 99/45707(代理人卷宗号PHN 17315)中公开的方式操作。在该实施例中,处理模块125处理选择的帧以获得至少一个DCT系数,并供应该至少一个DCT系数给水印检测器130。水印检测器不总是需要所选择的帧的所有数据来检测水印。特别是,在WO99/45707中公开的水印检测系统可以只使用单个帧的DCT系数来检测视频流中的水印。
当数据流正被复制时,经常是在把数据流输出到输出端子170以前把它们暂时存储在缓冲存储器150中。存储器控制器151连接到总线102以控制缓冲存储处理。在设备100外部的缓冲存储器150例如可以是16兆位的SDRAM。输入处理器101把数据流写到总线102,在这里存储器控制器151可以读它并把它存储到缓冲存储器150。输出处理器110请求在缓冲存储器150中存储的数据流的若干部分,然后向输出端子170输出。通过使用缓冲存储,可以消除输入数据速率中的变化,使得输出处理器110可以以基本恒定的速度输出数据流。
存储器控制器151使用一个读指针和一个写指针来管理缓冲存储器150中的信息。帧写入到缓冲存储器150中由写指针指向的地址位置,之后,写指针前移到下一可用地址位置。相似地,帧从缓冲存储器150中由读指针指向的地址位置读出,之后,读指针前移到下一缓冲存储的帧的地址位置。
其它的处理,诸如错误检测,也可以在数据流正从DVD 190上读取时由例如错误修正模块140执行。
当复制DVD 190时,希望高速进行复制,例如以20或25倍于正常播放速度的速度。这意味着设备100将必须每秒处理大量数据。例如,按照PAL标准格式化的视频流每秒包括25帧。以20倍于正常速度的速度,意味着每秒500帧。然而,没有任何水印检测器能够每秒处理500帧来检测其中的水印。
为获得用于水印检测器130的一个较低的平均数据速率,一个总线侦察器(bus spy)120连接到总线102上。总线侦察器120在数据流例如从输入处理器101通过总线传送到存储器控制器151时观察数据流。总线侦察器120执行简单的处理,以便识别数据流中独立编码的帧。在一个优选的实施例中,总线侦察器120从MPEG-2格式化的数据流中识别I帧。在识别这样一个帧后,总线侦察器120需要供应所选择的帧的内容给处理模块125作进一步处理,然后提供给水印检测器130用于水印检测处理。
当所选择的帧作为缓冲存储处理的一部分已被存储到缓冲存储器150中时,使用缓冲存储器150作为为水印检测器130的输入是有意义的。帧以循环方式写入缓冲存储器150。最初,写指针指向缓冲存储器150中的第一存储器位置,于是第一帧将写在缓冲存储器150中的第一存储器位置。然后写指针移到第二位置,于是第二帧写到该第二位置,等等。
一旦一个帧被写到缓冲存储器150中的最后存储器位置时,写指针就移回到第一存储器位置,然后下一帧将写到第一存储器位置。然而,由于缓冲存储器150的大小相对于帧的大小通常相对比较大,因此在帧被新的帧复盖前帧在缓冲存储器150中将停留较长时间。另外,它们在被读出后不会被删除。
于是,当一个帧被识别为是独立编码的帧时,这时总线侦察器120决定该帧在缓冲存储器150中的一个地址位置。然后处理模块125可以从缓冲存储器150中直接访问选择的帧。
可选地,总线侦察器120检查帧的头标部分以决定该帧的内容部分的开始点。通常,帧的头标具有可变大小,所以需要检查头标以决定内容部分在哪里开始。水印检测器130只需要来自内容部分的数据,所以仅记住这一位置是有意义的。总线侦察器120然后可以决定内容部分在缓冲存储器150中的一个地址位置。然后可以把这一地址位置提供给水印检测器130。然后水印检测器130可以从缓冲存储器150中直接读选择的帧的内容部分,并处理它以决定在选择的帧内是否存在水印数据。然而,这仅当处理模块125可以抽取必需的信息而不需访问该帧的头标部分时才是可行的。而这又依赖于水印检测器130从个别帧中需要什么样的信息。
有可能出现这种情况,在水印检测器130访问提供的地址位置时,所涉及的帧已被新数据复盖。一般,在该地址位置处的新数据不是一个新帧的开始,更不用说独立编码的帧。如果处理模块125或水印检测器130不能防止这一情况,则新数据的解码将失败。处理模块125可能不同步,而必须重新开始解码处理以防乱码,这需要时间。
所以,在一个优选实施例中,总线侦察器120不仅记录独立编码帧的地址位置,而且记录该地址位置被记录时的时间。然后处理模块125可以决定当前时间、写指针在缓冲存储器150中的当前位置,并从中得出该地址位置是否仍然有效。如果处理模块125决定该地址位置已经由新数据复盖,则它跳过该地址位置而从下一个继续进行。
因为帧以很高的速率到来,所以独立编码的帧也将以高速率到来,所以在处理模块125获得同步前平均不需要多少时间。
通过重新使用缓冲存储器150的内容,可以减小对设备100的存储器需求。另外,设备100为进行另外的处理有最低可能的另外的存储器需求。通过以这种方式操作,设备100使用最小的开销时间检索数据流中的视频基本流数据。
图2原理表示按照MPEG-2标准格式化的数据流200的结构。现在简单讨论这一结构以解释其中与本发明有关的那些元素。其中的元素的精确的结构和意义可以在MPEG-2规范ISO/IEC 13818中找到。
数据流200由序列201、202、203、204组成。序列201-204的每一序列可以是视频序列、音频序列或包含其它信息的序列。这种序列也称为流。
假定序列202是视频序列或视频基本流(VES)。一个视频序列以一个序列头标开始,包括一个开始代码211、视频参数212、位流参数213和其它头标信息214。头标后面跟着一个或者多个图像组(GOP)215-218。
图像组(GOP)215依次包括一个头标、和一些图像。头标包括一个GOP开始代码221、一个时间代码222、和GOP参数223。其后跟随实际图像224-227。在MPEG-2的含义中,这些图像也称为“帧”。MPEG-2视频流中的帧可以是三种类型中之一。帧的类型定义了可以使用哪一种预测方式编码帧中的块。
I帧(内帧)不参考其它帧而编码。通过减少空间冗余但不是时间冗余来实现中等压缩。周期地使用I帧以提供数据流中可以开始解码的访问点。
P帧(预测帧)是参考前一I或P帧而编码的。P帧中的块或者可以预测,或者可以内编码。通过减少空间时间冗余,P帧与I帧相比可提供更多的压缩。
B帧(双向预测帧)是参考前一或后一I或P帧而编码的。B帧中的块可以向前、向后、或双向预测或内编码。B帧提供最高程度的压缩。为允许从将来的帧向后预测,MPEG编码器使帧从正常“显示”顺序改变到“位流”顺序,使得在前一和后一P和I帧之后传输B帧。这引入了取决于连续的B帧的数目的重新排序延迟。
显示顺序中的一个典型的GOP是B1B2I3B4B5P6B7B8P9B10B11P12B13B14I15相应的位流顺序是I3B1B2P6B4B5P9B7B8P12B10B11I15B13B14一个规则的GOP结构可以用两个参数说明,N它是在GOP中的图像的数目;和M它是在各P帧间的间隔。这里给出的GOP用N=12和M=3说明。应该理解,不是处理GOP中的所有帧而只处理I帧以检查水印的存在,能使要被处理的帧的数量减少为12分之一。
帧224依次包括具有图像开始代码的头标231、类型指示符232、缓冲器参数233、编码参数234、后面跟随一些片235-238。片包含帧的一部分的信息。片235包括片开始代码241、垂直位置指示符242、质量标度243、后跟一组宏块244-247。
宏块244是MPEG-2算法中的基本编码单元。它是在片中的一个16×16的象素段。在一个片内的宏块的顺序是从左到右,和从顶到底。宏块244包含一个地址指示符251、类型252、运动矢量253、质量标度254、一个编码的块模式255和6个块256。
MPEG-2中的一个图像或帧包括3个表示一个亮度(Y)和两个色度(Cb和Cr)值的矩阵。Y矩阵具有偶数行和列,Cb和Cr矩阵在每一方向上是Y矩阵的大小的一半。因为每一色度分量具有亮度分量的垂直和水平分辨率的一半,因此一个宏块包括4个Y、一个Cr和一个Cb块,总共是6个。
图3表示根据本发明的一个设备300的第二实施例。虽然设备300相似于图1的设备100,但是设备300不连接到缓冲存储器150。但仍然希望设备300能够在高速复制来自DVD 190的数据时检测其中的水印。
总线侦察器120现在仍然在帧通过总线102时检验帧,并检查帧的头标部分,以决定它们是否是独立编码帧。在MPEG-2的场合,总线侦察器120检查帧的头标部分以决定该帧是否是一个I帧。
如果证明是这种情况,则总线侦察器120将选择的帧复制到本地存储器302。这一本地存储器302优选地是32kB的SDRAM。然后处理模块125可以读本地存储器302的内容并通过例如总线102供应该内容给水印检测器130。如上面解释的,处理模块125可以首先处理存储在本地存储器302中的帧以获得至少一个DCT系数,并供应该至少一个DCT系数给水印检测器130。
优选地,代替存储整个帧,总线侦察器120只复制该帧的内容部分到本地存储器302。这种方式每一帧在本地存储器302中存储的数据量较小。
甚至不需要存储在本地存储器302中存储I帧的整个内容。来自I帧的若干片就已足够。当给数据流施加水印时常常在一个帧的不同部分重复水印数据,使得水印检测器130甚至可以只操作部分帧。于是,总线侦察器120可以只需要存储来自I帧的一个或者多个片。理论上说可以出现一个片比本地存储器302的大小更大的情形。在这种场合,只有一个片的开头32kB要被存储在本地存储器302中。这对于检测水印来说足够了。
当存储多个I帧时,存储来自不同I帧的不同的片可以是有利的。例如,存储第一I帧的第一片,第二I帧的第二片,等等。另外可选地,存储第一I帧的所有片,存储第二I帧的第二和另外的片,存储第三I帧的第三和另外的片,等等。以这种方式,给水印检测器130提供数据流的一个代表性样本,因为不同的片将表示在视频流中正被描述的场景的不同部分。如果在所有的I帧中只有第一片要被存储,则有可能出现这样的情况所有这些片都表示携带着对于可靠地检测水印而言是不充分的信息的那些相对连续的区域。
在设备300的这一实施例中,总线侦察器120、本地存储器302、处理模块125和水印检测器130,只与设备100的剩余部分互动,通过从总线102读数据和给它写数据。这使它有可能把总线侦察器120、本地存储器302、处理模块125和水印检测器130作为一个单独的部件310来实现,诸如一个集成电路。这样就可以单独制造这一部件310,和加在希望能够在高速复制期间可靠检测水印的任何设备上。
部件310另外可以不要水印检测器130来构成,使得部件310和水印检测器130作为两个单独的单元出售。设备300可以已经包括一个水印检测器。通过添加包括总线侦察器120、本地存储器302和处理模块125的部件,设备300然后可以以高速可靠地检测水印。然后部件310通过总线102或通过一个单独的连接与水印检测器130通信。
代替供应选择的帧给水印检测器130,可以想像到把选择的帧供给只需要数据流的一部分的另一个模块。根据本发明的方法因此一般可以用于其中以较低速度只处理数据的一部分的任何高速系统。例如,可以将本发明应用于视频流建立所谓的粗播放流。这种流是原视频流的代表,但是具有少得多的数目的帧。它通过从MPEG-2视频流中选择例如I帧而建立,并处理它们来获得一个新的视频流。当回放这一新的视频流时,观看者得到这样的印象,仿佛他正在观看以与快进或快倒播放相关联的较高回放速度回放的原视频流。如上面概略说明的,可以使用总线侦察器120识别I帧,和处理模块125可以把这些帧供给一个粗播放发生器160。
权利要求
1.一种检测由帧组成的数据流中的水印的方法,包括从数据流中选择独立编码的帧,和为选择的帧供应识别数据给水印检测器,以用于检测其中的水印。
2.权利要求1所述方法,还包括在缓冲存储器中缓冲存储帧,确定该帧在缓冲存储器中的一个地址位置,和供应该地址位置给水印检测器。
3.权利要求1所述方法,还包括至少将帧的内容部分复制到本地存储器和供应本地存储器的内容给水印检测器。
4.权利要求1所述方法,其中,数据流包括按照ISO/IEC 13818MPEG-2格式格式化的视频基本流,和选择的帧包括视频基本流的一个I帧。
5.权利要求4所述方法,还包括处理选择的帧以获得至少一个DCT系数,和供应该至少一个DCT系数给水印检测器。
6.一种用于检测由帧组成的数据流中的水印的设备,该设备包括用于从数据流中选择独立编码的帧的选择装置,和用于把供选择的帧用的识别数据提供给水印检测器以检测其中的水印的处理装置。
7.权利要求6所述设备,还包括用于在缓冲存储器中缓冲存储帧的缓冲存储装置,该选择装置用于决定帧在缓冲存储器中的地址位置,和把所述处理装置用于供应该地址位置给该水印检测器。
8.权利要求6所述设备,把所述选择装置用于使帧的至少内容部分复制到本地存储器中,和把处理装置用于本地存储器的内容供应给水印检测器。
9.权利要求6所述设备,把处理装置用于所述处理选择的帧以获得至少一个DCT系数,和把该至少一个DCT系数提供给所述水印检测器。
10.一种计算机程序产品,用于使处理器执行权利要求1所述方法。
全文摘要
用于在高速复制视频数据期间检测在MPEG-2编码的视频数据中的水印的方法和系统。总线侦察器(120)从视频数据中选择独立编码的帧,诸如I帧,并把选择的帧供给水印检测器(130)以检测其中的水印。通过只供应部分帧给水印检测器(130),向水印检测器(130)的平均输入数据速率比高速复制期间的数据速率低很多。各种实施例介绍各种方式以有效供应所选择的帧的内容给水印检测器(130)。
文档编号H04N7/08GK1516851SQ02811882
公开日2004年7月28日 申请日期2002年6月3日 优先权日2001年6月13日
发明者J·J·P·M·贝克曼斯, J J P M 贝克曼斯, F·A·斯特恩霍夫, 斯特恩霍夫 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1