水印检测的方法和装置 【技术领域】
本发明涉及一种用于检测媒体信号中的水印的方法和装置,更具体而言,涉及一种检测正在经由个人计算机地图形卡播放的媒体信号中的水印的方法和装置。
背景技术
直到最近之前,DVD拷贝保护团体还在思考用于发生在DVDROM或DVD刻录机驱动器中的个人计算机中的重放控制的水印检测。这个立场的动机在于:水印检测是一种与加密技术相反的许可技术(即重放或记录设备利用或不利用水印检测器进行工作),它需要让设备正常运行的解密器。过去经不起考验的共识就是:DVD-ROM驱动器往往检查盘片上的MPEG2压缩后的未加密DVD视频内容是否存在永不拷贝或一次拷贝的水印。如果确实如此,则应该停止重放(因为拷贝一次或永不拷贝的内容应该始终被加密)。
图1示意性地示出了具备用于DVD驱动器中的重放控制的水印检测的这类PC系统体系结构。所述PC包括:DVD驱动器1、具有微处理器的主板2和用于执行操作系统和应用软件的相关联的电路、以及图形卡3。所述主板配备有:用于到/从DVD驱动器传送数据的IDE总线4,和用于连接图形卡的AGP插槽或PCI插槽5。所述DVD驱动器包括:用于从DVD盘片6中读取数据的基本引擎11和用于将该驱动器连接到IDE总线的主机接口12。为了允许水印检测器核心14进行水印检测,所述驱动器包括MPEG2解析器13以便至少部分地解压缩所述内容。通过开关15来以符号方式表示停止内容的重放,所述开关受水印检测器核心14的控制。
然而,带有利用DVD驱动器中的水印检测器的重放控制的PC系统,在开放式体系结构PC中留有主要的安全漏洞。一个这样的安全漏洞就是:可以通过翻转(flipping)所有位来以加密编码的形式记录内容。由于这不再是适合的MPEG2流,因此驱动器中的解析器13将会失败并且将看不到任何水印。可以刚好在媒体播放器软件前面或内部撤消位翻转。另一个这样的安全漏洞就是:可以不利用MPEG2来压缩内容,而是利用诸如MPEG4(普遍称为名称DivX)、fractal coding、Windows Media、Real等等之类的其它压缩方案来进行压缩。由于DVD驱动器不可能对所有这些格式而在板上具有解析器(而且黑客将发明新的编解码器来瞒过驱动器),因此将不会检测到水印。虽然利用不同于MPEG2的编解码器压缩后的(非法)拷贝将通常不在目前的DVD视频播放器上播放,但是DVD视频播放器支持越来越多的编解码器已成一种趋势。
因此,已经提出了在解压缩之后和刚好在再现之前安置水印检测器,即在MPEG译码卡或图形卡中进行安置。
在解压缩之后,不存在长时间的混乱,因为所有内容都变为不含混的基带格式以备供人眼消耗。最初,考虑到难以强制MPEG解码器公司或图形卡厂制造商安装这样的水印检测器。这种理解后来已经改变。
虽然在图形卡中检测水印在结构上是非常简单而清楚的,但是由于巨大量的数据以极高速度流过图形卡,并且由于能够同时显示多个流,因而实际上就此而言存在许多问题。
【发明内容】
本发明的目的是,提供一种解决上述问题的方法。为此,本发明提供了如独立权利要求中限定的方法和装置。在从属权利要求中限定了有利的实施例。
【附图说明】
图1示意性地示出现有技术的在DVD驱动器中带有水印检测的个人计算机体系结构。
图2示出带有依照本发明的一个方面的图形卡的计算机系统。
图3示出带有依照本发明的另一个方面的图形卡的计算机系统。
图4A和4B示出用于举例说明图3中所示的个人计算机的操作的屏幕抓取图。
图5示出图2和3中所示的个人计算机所执行的协议的图。
【具体实施方式】
图2示出带有依照本发明的一个方面的图形卡30(连接于PC主板2或集成到PC主板2)的计算机系统。所述图形卡包括诸如AGP/PCI接口301、显示引擎302、存储器接口303、视频RAM304和D/A转换器305之类的常规电路。基带水印检测器31恰好在将视频数据施加到(外部)显示器屏幕之前耦合于图形卡的输出(或多个输出)。所述水印检测器31依照可适用的拷贝保护算法来控制一个或多个开关35以防止内容被显示在显示器屏幕上。所述开关35具有与图1中的开关15相同的功能。
其中一个问题就在于:输出上的数据处于RGB格式,而大部分的水印方案都是利用亮度通道来工作的。根据众所周知的公式(Y/0.587)=0.509R+G+0.194B(其中0≤R、G、B<1)从RGB格式到亮度Y的转换需要2次加法和2次乘法。这个代价是非常高的,特别是在高数据速率的情况下更是如此。
在根据本发明的系统中,RGB到Y转换器32通过求Y的近似值来避免乘法,例如,Y≈0.25R+0.5G+0.125B=R/4+G/2+B/8,这能够仅仅利用算术移位来实现。在一个甚至不用加法的实施例中,转换器只须选择绿色信号以使得Y≈G(因为G是主导)。
往往通过在整个图像上‘贴’小尺寸的基本水印图案来嵌入水印。对应的水印检测器将可疑图像划分成与基本水印图案相同大小的图像区域,并且在缓冲器中累加所述图像区域(称为折叠(folding)的过程),并且检查缓冲器以判断是否在累加的图像区域中存在基本水印图案。如果水印检测器31是这样的类型,那么优选地对3原色R、G、B进行累加并利用3个独立的折叠缓冲器来进行第一次折叠。现在,在折叠之后而非运行时脱机执行RGB到Y的转换。这个过程占用3倍多的存储器,但是相对于用作其它目的视频存储器量而言通常能够被忽略。不过这个选择需要更多的存储带宽,因为必须把3倍同样多的数据传输到存储器。
正如在下表中举例说明的那样,与图2中所示的体系结构相关联的另一个问题就在于从图形卡中出来的视频可能处于许多种分辩率: 标准 分辨率 像素时钟[MHz] VGA 640×480 27 XGA 1024×768 70 SXGA 1280×1024 116 UXGA 1600×1200 170
表:一些常见的图形标准的分辩率与像素时钟的比较
存在具备内插分辩率的一些由图形卡支持的其它标准。注意,用于正常基带水印检测(在PAL或NTSC中)的像素时钟为13.5MHz。由此,与正常的PAL/NTSC基带检测相比,输出接口可以具有多达13x的更高数据率(UXGA模式)。对于每个像素而言基带检测需要一次加法,所以加法器不得不以13x更快地工作。
为了缓解这种问题,所述图形卡包括分辩率转换器33,该转换器按空间(也可能按时间)对像素数据进行二次采样:例如,用于检测的唯一信息就是来自第1帧的第1行、来自第2帧的第2行、等等。作为选择,只有一部分图像正在被进行水印检测。
此外,如图2所示,在图形卡上存在多个输出。目前,计算机(或它的图形卡)配备有常规的VGA输出以及在客厅电视上用于显示PC上得以再现的DVD电影的电视输出。近来,已将数字式DVI接口添加到这个选项板上。因为所有这些输出都是独立受控制的(即,显示不同的数据)自然地检测器数目应该等于输出数目,这构成了明显的成本负担。
通过在不同的输出上对水印检测器进行时间多路复用来解决这个问题:即首先检测输出1上的固定时间量,然后检测输出2上的、等等。为此,所述系统包括选择器34,该选择器按照时序选择图形卡的其中一个输出。也可以同时选择所有输出。
还存在与检测正在由个人计算机的图形卡生成的信号中的水印相关联的许多别的问题。这些别的问题是由于个人计算机通常能在显示器屏幕的各个‘窗口’中同时执行多个应用这一事实而造成的。往往可以任意地定位每个窗口并可由用户来缩放。
由此,水印检测器31需要处理的缩放的可能范围是非常大的。仍然保持视觉质量其中一种最高的缩放就是要在监视器上显示内容(例如,全屏幕DVD电影)(放大到1600×1200像素乃至更大)。一般说来,最低缩放是当把视频还原成352×200像素时,这是用于从因特网上下载的电影的流行格式。由此,水平地缩放范围是0.5...2.2,而垂直地缩放范围是0.4...2.5,然而现用的水印检测器都被设计成能处理在范围0.5...1.5内的缩放。
依照本发明的第二方面,检查计算机的视频输出以定位其中信号在帧间变化的图像区域。因此,该视频不同于桌面上的所有其它信息,因为实时视频包含很多变化。接着,在所述图像区域周围生成边界框,以提供(最好是矩形)关注区域(an area of interest)。现在,假定边界框构成了其中应用运行的窗口。
图3示意性地示出依照本发明的这个方面的PC。在这幅图中,像素活动检测器36相对于前一帧检测并存储(阈值)变化。连接电路37使边界框适合带有显著变化的图像区域周围。从文献中为大家所熟知的是,从活动区域起人们如何能确定包含这样一个点的最紧密的可能的边界框。随后,执行正常的水印检测,必要时上述水印检测在缩放转换32之前进行。换言之,尽管在(参看图2)之前我们仅仅具有缩放检测和净载荷检测,但是现在我们已经增加″关注区域检测″。
为了举例说明这种PC的体系结构的操作,图4A示出了带有两个应用程序窗口41和42的Microsoft Windows操作系统的桌面,在这两个窗口中正在运行不同的应用。在这个示例中,由DVD电影播放器应用来生成窗口42。图4B示出了由图形卡中的电路(36、37)检测的关注区域的内容。如果将关注区域中的内容向上采样或向下采样成正常的720×480或720×576格式,并且提供给正常的基带水印检测器,现在以充分近似1.0的缩放比例处理所述内容是很有可能的。
应当注意的是,可以对二次采样的视频帧执行变化检测36以节省存储空间。还可以″块对块(block-for-block)″地执行变化检测(例如,首先设法在左上角中找到变化区域,然后在右上角中找、等等)。
本发明的另一个方面涉及对在已检测出的水印的存在或不存在所采取的动作。图5示意性地示出了确保所有组件都起保证水印检测的作用的协议的图。块16、21、22和38标示验证过程或装置。在拟想的这个体系结构中,DVD驱动器10在启动时检查在PC中是否存在带水印检测器31的图形卡30。如果带有水印检测器的这类图形卡不存在,那么该驱动器就不会输出数据。然而,如果这类特定图形卡存在,则它就会输出数据。
当图形卡中的水印检测器31检测到水印时,它将设法对应允的应用进行验证,所述应用负责再现加水印的数据。如果这类验证成功,则图形卡继续操作(例如,正在利用授权的应用来播放有效的DVD视频)。如果它找不到这类应允的应用,则所述内容必定来自一些未经授权的源,例如,正在由一些盗版软件或其它非应允的软件再现驱动器中的非法拷贝盘。图形卡于是将通过激活开关35来关闭这样的输出(参见图2和3),或者破坏其中检测出水印的所框区域的观看乐趣。作为选择,可以将一条消息滚动通过整个图像,以指示在未验证的流中的水印的检测。
PC运行一个或多个应用,比如解压缩和再现从诸如DVD驱动器10之类的源中获得的可能加水印的内容。注意,应允的应用确信无疑它正再现的数据的来源,因为它同样已经利用驱动器作了验证。还要注意,这种体系结构是更为通用的。更具体而言,所述源不必是DVD驱动器。例如,所述源还可以是模拟式捕获卡、MPEG编码器卡或IEEE 1394板。
在上面所示的体系结构中,黑客施行下列攻击:他从DVD+R中将他想要观看的非法内容拷贝到硬盘上而不再现。然后,他在一个窗口中利用应允的应用播放来自DVD驱动器上的任何有效的受保护DVD视频,同时在另一个窗口中通过非应允的应用来再现非法资料。该水印检测器将(在其中任一窗口中)找到水印,不过假定与DVD驱动器中的正版电影相一致。由此,捕获不到非法资料。甚至对滥用应允的应用来说下述情况是可能的:可以利用CSS(已被黑客攻击)来重新加密硬盘上的非法内容,由此将其伪装成有效的内容。由此,通过应允的播放器来接受这种ReCSS后的内容,并且在图形卡中的水印检测之后,这个应用将证实它。
因此,当检测器已经找到加水印的内容(就可以把所述内容(通过验证)追溯到应允的应用或驱动器上)时,所述检测器继续搜索其它关注区域,并检测其中的水印。实际上,人们能够通过在显示器上的随机点开始边界框,来避免始终都结束于相同的边界框。如果发现另一个加水印的关注区域,则必定还存在另一个应允的应用或源。在其不存在的情况下,正在播放非法内容,并且控制图形卡相应地采取动作。
作为一种可选方案,图形卡可以利用在引导时建立的经验证的通道来通知水印净载荷的驱动器。所述驱动器能够从盘中核实这个水印净载荷是否与这张盘相称。否则,必定存在被拷贝的资料的其它源。注意,为了使这种方法起作用,需要以它无法被黑客检索的方式将水印净载荷存储在盘上,例如在导入区域中的一些目前未使用的扇区中存储它们。这不会给驱动器增加成本。
黑客可能会施行下列攻击:他把第二个非应允的图形卡插入到PC中。他允许驱动器验证图形卡(利用遭攻击的驱动器),同时他利用非应允的卡来重放来自该驱动器的非法资料。第二种攻击情形就是:当他仅仅把非应允的图形卡插入到他的PC中、但是经由网络(家庭网络或因特网)将PC连接于带有应允的图形卡的另一个PC。在利用远程应允的图形卡来验证驱动器之后,在板上非应允的图形卡上显示非法内容。第三种攻击情形就是:当在单个PC中存在应允的DVD光盘驱动器和带有水印检测器的应允的图形卡的时候:在验证之后,黑客将数据从驱动器中的非法盘中流式传送至运行在网络中某处的另一个带有非应允图形卡的PC上的非应允的应用中。
操作系统和BIOS都仅仅是PC中的实体,这些实体具有关于PC的插件配置的可靠知识。解决第一种攻击情形的方法是用于BIOS或OS的,以禁止PC中的应允的和非应允的图形卡的组合(为了安全性原因)。解决第二种攻击情形的方法是用于OS和BIOS,以禁止跨网络利用图形卡来进行验证。一种用以为OS实现这个的方式就是:向驱动器询问它利用哪个图形卡来进行验证,并且检查所述设备是确实处在板上。这显然需要安全的OS。如果市场要求应该允许从家庭网络中的远程DVD驱动器进行重放,则无法防止第二种情形的黑客攻击问题。用于OS的另一种解决方案就是:禁止应允的驱动器和非应允的图形卡在同一个框中的组合。
可以按如下来概括本发明。用于拷贝保护目的的个人计算机的图形卡中的水印检测近来在标准化方面已经开始引发许多注意。图形卡中的检测具有完全不同于原先在DVD驱动器中考虑的检测的问题,其涉及高数据率、大的缩放范围和多种视频流在显示区域中的存在。本发明提出了在用常规水印检测器(31)进行水印检测之前先将计算机的RGB输出转换成(32)亮度信号(Y),所述水印检测器被设置成能检测这类亮度信号中的水印。优选地,将待检查的监视器图像的分辩率转换成(33)在计算机的DVD驱动器上正在播放的(MPEG2压缩后的)内容的常规电视分辩率。在提供多个输出(VGA、TV、DVI)的图形卡中,可以将相同的水印检测器按照时序连接到(34)每个输出。
权利要求书
(按照条约第19条的修改)
1.一种检测多媒体信号中的水印的方法,所述多媒体信号由计算机系统再现以供显示在可连接于所述计算机系统的显示器屏幕上,所述方法包括以下步骤:
-以颜色信号分量(R、G、B)的形式接收多媒体信号;
-在各自颜色信号分量域中将所述多媒体信号的可疑图像划分成图像区域,所述图像区域尺寸与重复嵌入的水印图案的尺寸相对应;
-累加相同颜色信号域中的图像区域,以便为每个颜色信号分量在颜色信号分量域中获取累加后的图像区域;
-将颜色信号分量域中累加的图像区域转换成亮度信号域中累加的图像区域;
-检测在所述亮度信号域中所述累加的图像区域中的水印图案。
2.如权利要求1所述的方法,其中所述转换步骤包括:计算Y=R/4+G/2+B/8,其中Y是所述亮度信号,而R、G和B是所述颜色信号分量。
3.如权利要求1所述的方法,其中所述检测水印的步骤包括:使用水印检测器,其被设置成能检测具有预定分辩率的亮度信号中的水印,所述方法还包括以下步骤:在进行所述检测水印之前,将所述多媒体信号的分辩率改变成所述预定分辩率。
4.一种检测多媒体信号中的水印的方法,所述多媒体信号正在由计算机系统通过多个输出进行再现,所述多个输出中的每一个输出都可连接于显示器屏幕,其特征在于所述方法包括以下步骤:按照时序将根据权利要求1-3中任一项进行操作的水印检测器连接到所述多个输出。
5.一种用于再现多媒体信号方法的计算机系统,以供经由所述计算机系统的显示器输出而在显示器屏幕上显示,所述计算机系统包括:水印检测器,其连接于所述显示器输出,所述水印检测器被设置成能:
-以颜色信号分量(R、G、B)的形式接收多媒体信号;
-在各自颜色信号分量域中将所述多媒体信号的可疑图像划分成图像区域,所述图像区域尺寸与重复地嵌入的水印图案的尺寸相对应;
-累加在相同颜色信号域中的图像区域,以便为每个颜色信号分量在颜色信号分量域中获得累加的图像区域;
-将颜色信号分量域中累加的图像区域转换成亮度信号域中累加的图像区域;
-检测在所述亮度信号域中所述累加的图像区域中的水印图案。
6.如权利要求5所述的计算机系统,所述计算机系统包括:多个所述显示器输出,每一个输出都可连接于显示器屏幕,其特征在于所述计算机系统还包括用于按照时序将所述水印检测器连接到所述多个输出中之一的装置。
7.一种用于显示多媒体信号的图形卡,所述多媒体信号由计算机系统经由所述图形卡的显示器输出在显示器屏幕上再现,所述图形卡包括水印检测器,其连接于所述显示器输出,所述水印检测器被设置成能:
-以颜色信号分量(R、G、B)的形式接收多媒体信号;
-在各自颜色信号分量域中将所述多媒体信号的可疑图像划分成图像区域,所述图像区域尺寸与重复地嵌入的水印图案的尺寸相对应;
-累加相同颜色信号域中的图像区域,以便为每个颜色信号分量获取颜色信号分量域中累加的图像区域;
-将颜色信号分量域中累加的图像区域转换成亮度信号域中累加的图像区域;
-检测在所述亮度信号域中所述累加的图像区域中的水印图案。
8.如权利要求7所述的图形卡,所述图形卡包括多个所述显示器输出,每一个输出都可连接于显示器屏幕,其特征在于所述图形卡还包括用于按照时序将所述水印检测器连接到所述多个输出中之一的装置。