用于嵌入数据的方法

文档序号:6568135阅读:219来源:国知局
专利名称:用于嵌入数据的方法
用于嵌入数据的方法本发明涉及一种在信息信号中嵌入数据的方法。当前,易于使用连接在一起的计算机网络,例如通过互联网,获 得并发布表示信息信号(例如图像和声音)的数字数据。然而,数据便利的发布为此类数据的所有者带来了一个问题。例 如,已知的是对音乐文件违反版权法的发布和复制;这种发布和复制 导致相应版权的所有者没有获得有关的版税。对视频文件也出现类似 的问题。为了避免并检测这种未授权的复制和发布,已知的是在信息信号 内嵌入数字水印。数字水印通常包括版权所有者的姓名、购买者的身 份和标记,例如"不得复制"、"复制一次"或"不再复制"。使用所 述标记来防止产生未授权的副本。例如,标记了 "不得复制"的MP3 音频文件会防止该MP3文件被复制。类似的,标记了 "复制一次" 的MP3音频文件允许生成一个副本。新副本会被标记"不得复制", 在原始MP3文件上的标记会被修改为"不再复制"。现在,会预见到水印技术更广阔的前景,其中水印是由编码器经 由噪声信道传输到解码器的消息。噪声信道通常是声音或图像信号。 在接收到它时,解码器做出对所接收的消息的评估。一种已知的水印嵌入方法将水印嵌入MPEG2压縮数据中。该方法包括比特率控制器,其保持在不带水印的数据片(slice)中的比特 数与在相应带水印的数据片中的比特数之间差值的累积计数。比特率 控制器还确保在不带水印的数据片中的比特数大于或等于在带水印 的数据片中的比特数。就是说,将比特率控制器配置为确保累积计数 总是大于或等于0。在水印嵌入方法的开始时,累积计数为0。如果例如由嵌入装置 接收的不带水印的数据片的第一区块(chunk)是"100",且嵌入水 印的行为使得第一区块(即相应的带水印的数据片的第一区块)变为"1100",那么带水印的数据片的第一区块就比不带水印的数据片的第一区块大l (即累积计数减小l)。这样,累积计数现在会是-1。作 为结果,比特率控制器会拒绝这个变化。然而,如果与不带水印的流的相应数据片的尺寸相比较,作为加 水印处理的结果,带水印的流的数据片的尺寸己经被预先减小了 1比 特,(即在该区块之前的累积计数为1),那么比特率控制器会允许该 变化,因为带水印的流在比特尺寸上会等于不带水印的流的原始数据片(即累积计数会是o)。这种嵌入水印的方法引起了由于加水印处理所导致的大量附加比特被丢弃,尤其是在MPEG流的每个数据片的开始处。由于附加 比特被丢弃,因此水印的信号强度被降低。本发明的一个实施例的目的是提供一种嵌入水印的方法,其避免 或减轻了上述缺陷。根据本发明,提供了一种在信息信号中嵌入数据的方法,所述信 息信号包括具有第一尺寸的第一数据部分和具有第二尺寸的第二数 据部分,所述方法包括在所述第一数据部分中嵌入所述数据,所述 嵌入产生了具有修改的尺寸的修改的第一数据部分;并且确保如果所 述修改的尺寸大于所述第一尺寸,则在所述修改的尺寸与所述第一尺 寸之间的差值不大于所述第二尺寸。该方法因此能够以作为嵌入数据的结果而产生的数据来代替第 二数据部分中的数据。借助于在开始时考虑第二数据部分的尺寸,可 以利用第二数据部分的尺寸。作为结果,通常能够获得具有更强信号 强度的水印。优选地,所述信息信号包括多个段。所述第一数据部分和所述第 二数据部分可以构成所述信息信号的公共段部分。在这种情况下能够 易于保持段尺寸。可选地,所述第一数据部分可以构成第一段部分,且所述第二数 据部分构成第二段部分,其中,所述第一和第二段是不同的段。所述 第一段优选的在所述第二段之前与其紧邻。由于所述第一和第二数据部分构成不同的段部分,因此可以在分析所述第一段之前确定所述第二数据部分的所述第二尺寸。以这种方 式,无需在嵌入数据之前分析要在其中嵌入水印的段。优选地,所述方法还包括产生预算数据,所述预算数据起初表 示所述第二尺寸。更具体而言,所述嵌入包括多个嵌入操作,其中, 每个嵌入操作都作用于所述第一数据部分的至少一部分,产生所述修 改的第一数据部分的至少一部分。所述方法还可以包括在每个嵌入操 作之后重新计算所述预算数据,并确保预算数据保持大于或等于0。 有利的,所述嵌入被配置为确保如果所述修改的第一数据部分的所述 至少一部分大于所述第一数据部分的所述至少一部分,则确定在所述 修改的第一数据部分的所述至少一部分与所述第一数据部分的所述 至少一部分之间的差值,并将其与所述预算数据进行比较,其中,如 果所述差值超过所述预算数据,则拒绝所述修改的第一数据部分的所 述至少一部分。通过在每个嵌入操作之后重新计算所述预算数据,可以拒绝单个 嵌入操作的结果,而不是作为整体的全部嵌入操作的结果。现在将参考附图来说明仅作为实例的本发明的实施例,其中

图1是在对模拟信号进行数字化时所包含的处理的概况的示意 图,将该信号压縮为MPEG流,根据本发明的实施例将水印嵌入该信号中,并对压縮的信号进行解码;图2是在将视频信号转换为包括I帧的MPEG流时所包含的处理 的示意图;图3A是通过对部分图像信号进行数字化而产生的DCT阵列; 图3B示出表示图3A的DCT块的游程对; 图3C是与图3B的游程对相对应的霍夫曼码; 图4是构成图1的水印嵌入装置的部件的示意图; 图5A是部分MPEG流的示意图;图5B是与图5A的部分MPEG流相对应的部分带水印的MPEG流的示意图;以及图6是在将水印嵌入MFEG流中时所包含的处理的示意图。如图1所示,由MPEG编码器2接收模拟视频信号1 。 MPEG编 码器2将模拟视频信号1数字化并压縮为I帧MPEG流3 (采用由运 动图像专家组所制定的格式的数据),用于随后的播放或存储。MPEG 流3被水印嵌入装置4接收。水印嵌入装置4将水印嵌入到MPEG 流3中,产生带水印的MPEG流5。随后对带水印的MPEG流5进 行传输和/或检索,最终由MPEG解码器6解码。MPEG解码器6解 压縮带水印的MPEG流5,产生带水印的流7,其是原始模拟视频信 号1的重构版本。水印被不对觉察地隐藏在该流中,以致于当用户观 看原始模拟视频信号1的重构版本时,用户不能够发觉到它的存在。将首先参考图2、 3A、 3B和3C来详细说明将模拟视频信号1 数字化并压縮为I帧的MPEG流的处理。随后参考图4、 5A、 5B和 6来说明加水印处理。本领域技术人员会理解本发明可以用于包含B 或P帧的MPEG流。为了有利于数字数据在网络上的发布,已知的是使用诸如离散余 弦变换(DCT)、离散傅立叶变换(DFT)和离散小波变换(DWT) 之类的变换。压縮视频文件的常用方式是借助于使用MPEG压縮技术。将表 示视频数据的MPEG压縮流分割为多个帧,这些帧被分组为图像组 (GOP),这有利于对MPEG流的随机访问。每个GOP都由多个图 像组成。 一帧在隔行扫描视频中由一个或两个图像,或者在逐行扫描 视频中由一个图像组成。GOP中的每个图像都由数据片(slice)组成, 所述数据片是连续的宏块的串。每个宏块都由8X8亮度值的四个(2 X2)块组成,并分别取决于用于4:4:4、 4:2:2和4:2:0色度格式的色 度格式8、 4或2个块的色度样本。在图2中示意性地示出了生成I帧的MPEG标准压縮技术,与 MPEG编码器2对模拟视频信号1的操作相对应。压縮视频信号的第 一步骤是执行数字化,来为视频数据的图像产生像素色度和亮度值 (步骤S1)。数字化的图像随后被分割为多个像素块(步骤S2)。随后在步骤S3中,对每个块分别执行离散余弦变换(DCT),以提取空间频率系数,为亮度和色度值的每个块产生频率分量值的DCT 块。另外在步骤S3,对生成的DCT值进行量化。图3A示出了DCT 块8的典型实例。每个DCT块8的左上分量9表示相应像素块的平 均亮度,通常被称为DC分量。在步骤S4中,按照Z字型模式(如图3A中的参考数字10所表 示的)顺序扫描DCT块8的分量,并将其编码为游程对(run level pair) 11。游程对是两个数,第一个数是在到达非O数字之前的连续的O的 数量,第二个数是非O数字的值。例如,沿着图3A所示的Z字型模 式IO,在DC分量9之后的第一个数字是"2"(即没有"0",接着就 是"2"),因此相应的游程对是(0, 2)。继续沿着Z字型模式10, 有一个"O",随后是"3",因此相应的游程对是(1, 3)。图3B示出了源自图3A的DCT块的游程对11 ,块结束码(EOB) 表明在DCT块8中没有更多的非0系数。随后在步骤S5中将游程对11编码为二进制霍夫曼码12。图3C 示出了源自图3A的DCT块14和图3B的游程对11的二进制霍夫曼 码12。可以将MPEG流分类为具有恒定比特率(CBR)或可变比特率 (VBR)。CBR流当前用于在有限容量的信道上将数据以流的形式传输, 因为这种流可以用于以该信道的最大比特率传递数据。然而,CBR 并没有为复杂区域分配足够的数据(导致了质量的降低),并在简单 区域上浪费了数据。因此,它不是用于存储数据的优先选择。在MPEG 压縮技术中的可变长度编码方案也使得CBR难以实现。这可以通过 在数据片的末尾处的压縮码中适当地插入填充比特(一个或多个0) 来加以解决。可变比特率(VBR)编码依据输入数据的复杂性,改变由MPEG 编码器编码的数据的比特率。目的是保持恒定质量,而不是保持恒定 比特率。VBR优选地用于存储(与流传输相反),因为其更好地利用 了存储空间。然而,VBR编码仍需要将比特率保持在最小码率之上。 为了避免比特率低于最小比特率,编码器再次在每个数据片的末尾处添加填充比特。例如,VBR编码方案可以具有每秒8兆比特的平均比特率、每 秒6兆比特的最小比特率和每秒IO兆比特的最大比特率。然而,如 果要编码的视频内容不包含许多物体和/或纹理,则编码器可能就不 能获得想要的(最小)比特率。为了解决这个问题,编码器将填充比 特添加到每个数据片的末尾处,以获得想要的比特率。在实际中,这 种情况经常发生。如图2所示,在步骤S6中,用所确定的构成每个数据片的比特 数量来分析二进制霍夫曼码12 (在图3C中示出)。如果对于想要的 比特率而言数据片的尺寸不够,则就将填充比特添加到数据片的末尾 处(图2的步骤S7)。在由 Joan Mitchell,Wiliiam Pennebaker,Chad Fogg 禾口 Didier LeGall编辑的并由Chapman & Hall在1997年出版的MPEG Video Compression Standard中更详细的说明了 MPEG压縮,将其合并于此 作为参考。返回参考图l,将MPEG流3输入到水印嵌入装置4,如图4所不o现在将参考图4来详细说明构成水印嵌入装置4的组件,水印嵌 入装置的功能及其组件在下文中参考图5A、 5B和6来说明。如图4所示,水印嵌入装置4包括处理单元13和水印缓冲器14。 处理单元13包括比特率控制器15。处理单元13接收MPEG流3, 并嵌入水印,以便产生带水印的MPEG流7。处理单元13连接到水 印缓冲器14。水印缓冲器14是存储器的保留段,用于在对MPEG流 3进行处理时保持MPEG流3中的一部分。水印缓冲器用于存储 MPEG流的预先供给,以补偿瞬时延迟。水印能够嵌入到未压縮数据流中(空间域)或者能够嵌入到压縮 数据流中(变换域)。已经发现嵌入到空间域中的水印信号的强度在 随后的数据压縮后常常会减小。因此希望直接将水印嵌入到压缩数据 流中。如图1中所示,水印嵌入装置4从MPEG编码器2接收MPEG流3。在图5A中示出了MPEG流3的一个分段(section)。示出的分 段包括表示信息信号的四个数据片16a、 16b、 16c、 16d。每个数据片 都包括以霍夫曼码编码的游程对形式表示信息信号的数据17a、 17b、 17c、 17d,填充比特形式的数据18a、 18b、 18c、 18d,以及表示数据 片的开始的首部19a、 19b、 19c、 19d。图5B是在通过修改所选定的 系数来嵌入水印,且作为其结果,修改了相应游程对的长度之后,图 5A的MPEG流3的数据片16a、 16b、 16c、 16d的示意性说明。如图6所示,在步骤S10中,处理单元13接收MPEG3流3并 分析该流,以确定包括在每个数据片中的填充比特的数量。以这个方 式,在步骤Sll中为每个数据片产生等于填充比特数量的水印预算。在步骤S12中,将该水印预算用于控制比特率控制器15,以使 得由于在每个数据片中嵌入水印所造成的附加比特的总数小于该数 据片的水印预算。例如,图5B示出了带水印的MPEG流的与图5A所示相对应的 分段。MPEG流的数据片16b具有三个填充比特18b。因此,将用于 该数据片的水印预算设定为3。因此,比特率控制器15在嵌入水印 的过程中,允许数据片16b的数据部分17b在比特尺寸上增加3个比 特。在所示的实例中,通过嵌入水印,在数据部分17b的不同部分处 将三个附加比特20、 20,、 20"引入到MPEG流中。如果作为嵌入水 印的结果,要插入一个额外的附加比特,则就会超过该水印预算。从 而,将会抛弃该额外的附加比特。嵌入水印的行为还会减小DCT系数的值。通常,这导致了更短 的霍夫曼编码游程对。在图5B的实例中,假设了水印嵌入处理使得 包含在不带水印的数据片中的一个数据比特从带水印的数据片排除。 作为结果,水印预算增加l。现在可以将随后的附加比特插入到带水 印的数据片中。然而,由于没有这样的附加比特要插入,因此就保持 了一个填充比特18b,。因此,嵌入水印的行为在不影响压縮数据结构(即首部位置)的 情况下,会导致一些、全部或没有填充比特被替换。可以在开始时为MPEG流的全部数据片确定水印预算,随后产生全部带水印的MPEG流。可选地,能够建立为数据片确定水印预算并随后产生带水印的 MPEG流的相应数据片的循环。如图1所示,带水印的MPEG流5随后直到需要时才被播放或 存储。当需要时,能够使用标准MPEG解码器6来获得采用带水印 的流7的形式的、原始模拟视频信号1的重构版本。这种MPEG解 码器在本领域中是公知的,因此在此不详细加以说明。在可选实施例中,来自先前数据片的填充比特可以为下一个数据 片产生水印预算,从而使得数据片尺寸和首部位置可能改变。例如, 假设第一数据片包括在数据片末尾处的IO个填充比特,随后的数据 片包括5个填充比特。在此情况下,直到嵌入了水印之后才分析数据 片,并因此最初使用为0的水印预算。在第一数据片的末尾处,有 10个填充比特,因此用于随后数据片的水印预算是10。在随后的数 据片中,最初设定的水印预算是5,等等。该方案的有利之处在于无需在嵌入水印之前确定数据片中的填 充比特的数量。尽管该实施例这样操作,使得带水印的数据片的尺寸 不必小于相应的不带水印的数据片的尺寸,但通过添加填充比特来减 轻这个可能的问题,以防止其影响MPEG解码器。尽管数据片首部的位置与原始流不同,但实际上这不是问题。为 了避免带水印的流滞后,通过添加填充比特,例如正好在每个图像首 部之前(在图像之前的数据)对流进行同步。本发明可以总结如下。已知了加水印方案,其将水印直接嵌入到 MPEG域中。对这些算法的要求是带水印的MPEG流在尺寸上不增 大。因此,只有在DCT系数的修改不增大流尺寸的情况下,比特率 控制器才允许这样的修改。由于这个要求,常常发生DCT系数被跳 过的情况。作为直接的结果,水印能量小于预期,因此水印鲁棒性较 差。本发明利用这样的事实MPEG编码器常常已经将填充比特添加 到流中。嵌入器被设置为对流进行分析,以便查明在数据片末尾处有 多少填充比特。嵌入器随后能够在紧接着数据片的开头处嵌入水印。作为直接结果,水印能量将会增大,因此水印的鲁棒性会更高。尽管以上说明了本发明的优选实施例,可以意识到,在不脱离所 附权利要求的范围的情况下,可以对本发明做出各种修改。具体而言,参考了用于将水印嵌入到根据MPEG标准压縮的视频信号中的设置 来说明了实施例。然而,本发明既不局限于视频信号,也不局限于某 个特定的压縮标准。尽管本发明当然是用于在代表音频或视频文件的 数据流中添加水印;但是可以设想本发明能够用于将水印嵌入到其它 类型的数字流中,例如超级音频光盘(通常称为SACD)所使用的直 接数字流(DSD)。本发明还能够用于标记已经具有数字水印的信号。 还会理解的是,尽管所述的实施例涉及将水印嵌入到图像数据片中的 方法,本发明还能够用于例如将水印直接嵌入到例如图像中(即为一 个图像而不是数据片产生水印预算)。
权利要求
1、一种在信息信号中嵌入数据的方法,所述信息信号包括具有第一尺寸的第一数据部分和具有第二尺寸的第二数据部分,所述方法包括在所述第一数据部分中嵌入所述数据,所述嵌入产生了具有修改的尺寸的修改的第一数据部分;并且确保如果所述修改的尺寸大于所述第一尺寸,则在所述修改的尺寸与所述第一尺寸之间的差值不大于所述第二尺寸。
2、 如权利要求l所述的方法,其中,所述信息信号包括多个段。
3、 如权利要求2所述的方法,其中,所述第一数据部分和所述 第二数据部分构成所述信息信号的公共段部分。
4、 如权利要求2所述的方法,其中,所述第一数据部分构成所 述信息信号的第一段部分,且所述第二数据部分构成所述信息信号的 第二段部分,其中,所述第一和第二段是不同的段。
5、 如权利要求4所述的方法,其中,对所述信息信号的段进行 排序,所述第二段在所述第一段之前与其紧邻。
6、 如前述权利要求任意一项所述的方法,还包括产生预算数 据,所述预算数据起初表示所述第二尺寸。
7、 如权利要求6所述的方法,其中,所述嵌入包括多个嵌入操 作,其中,每个嵌入操作都作用于所述第一数据部分的至少一部分, 产生所述修改的第一数据部分的至少一部分。
8、 如权利要求7所述的方法,所述方法还包括在每个嵌入操作之后重新计算所述预算数据,并确保所述预算数据保持大于或等于o。
9、 如权利要求8所述的方法,其中,所述嵌入被配置为确保如果所述修改的第一数据部分的所述至少一部分大于所述第一数据 部分的所述至少一部分,则在所述修改的第一数据部分的所述至少一 部分与所述第一数据部分的所述至少一部分之间的差值不大于所述 预算数据。
10、 如前述权利要求中任意一项所述的方法,其中,所述第一数据部分包括压縮数据。
11、 如前述权利要求中任意一项所述的方法,其中,所述要嵌入 的数据是水印。
12、 一种带有计算机可读代码的载体介质,用于控制计算机执行 如权利要求1至11中任意一项所述的方法。
13、 一种计算机设备,用于在信息信号中嵌入水印,所述设备包括程序存储器,用于存储处理器可读指令;以及处理器,其被配置为读取并执行存储在所述程序存储器中的指令;其中,所述处理器可读指令包括用于控制所述处理器执行如权利 要求1至11中任意一项所述的方法的指令。
14、 一种计算机设备,用于在信息信号中嵌入水印,所述信息信 号包括具有第一尺寸的第一数据部分和具有第二尺寸的第二数据部分,所述设备包括处理单元,其嵌入所述水印,从而产生具有修改的尺寸的修改的第一数据部分;以及比特率控制器,其确保如果所述修改的第一数据部分大于所述 第一尺寸,则在所述修改的尺寸与所述第一尺寸之间的差值不大于所 述第二尺寸。
全文摘要
已知了加水印方案,其将水印直接嵌入到MPEG域中。对于这些算法的要求是带水印的MPEG流在尺寸上不增大。因此,只有在对DCT系数的修改不增大流尺寸的时候,比特率控制器才允许这样的修改。由于这个要求,常常发生DCT系数被跳过的情况。作为直接的结果,水印能量小于预期,因此水印的鲁棒性较差。本发明利用这样的事实MPEG编码器常常已经将填充比特添加到流。嵌入器被配置为对流进行分析,以便查明在数据片末尾处有多少填充比特。嵌入器随后可以在紧接着数据片的开头处嵌入水印。作为直接结果,水印能量将会增大,因此水印的鲁棒性将会更高。
文档编号G06T1/00GK101223550SQ200680025632
公开日2008年7月16日 申请日期2006年7月10日 优先权日2005年7月14日
发明者A·J·范莱斯特 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1