在编码信号中嵌入水印的制作方法

文档序号:6377253阅读:124来源:国知局
专利名称:在编码信号中嵌入水印的制作方法
技术领域
本发明涉及对编码信号加水印,具体来说,但并不局限于,对压缩视频信号加水印的方法。
对编码信号,尤其是压缩编码信号加水印,是对构成较大数据流部分的固定大小的压缩数据实现的。为了加入水印,改变了压缩数据中的一些码字。这导致了数据大小的改变。为了将再编码的数据(可以将其说成是数据组块(data chunk))并入原始的数据流,数据大小必须与原始的固定大小相同,以便防止同步和顺序排列正确性等出现问题。
在F.Hartung和B.Girod所著的《位流域内MPEG2编码视频信号的数字水印(Digital watermarking of MPEG2 coded Video in thebitstream domain)》(ICASSP出版,卷4,1997,第2621-2624页)中公开了一种在压缩媒体信号中嵌入水印的公知方法。在这一现有技术的出版物中,媒体信号是视频信号,读视频信号的信号采样是通过对图像像素进行离散余弦变换(DCT)得到的DCT系数。水印是经过DCT变挟的伪噪声序列。水印是通过将经过DCT变换的噪声序列加到视频信号的相应DCT系数上而嵌入的。MPEG编码信号中值为零的系数不受影响。
现有水印嵌入方案的问题是,在已经进行了压缩的位流中进行DCT系数修改改变了位速率,这是因为DCT系数是由可变长码字表示的。由于上面提到的原因,位速率增大通常是不能接受的。因此现有的嵌入器检查经水印系数的传输是否增大了位速率,并且在增大的情况下传榆原始的系数。不过还有,位速率减小也是不希望出现的情况。在MPEG系统中,例如,位速率的改变可能造成解码器中的缓冲区的上溢出或下溢出,并且会改变位流中定时信息的位置。
可能需要增大数据组块的大小,以便与数据流的原始固定大小相等。在小数据组块中得到这种类型的数据扩展的唯一途径是将变长代码(VLC)再编码为换码代码(Escape code)。这种处理称为位填充,即,加入附加位来将数据组块“填满”成期望的大小,但是这种处理是不可行的,因为在大多数数据组块中不存在起始码。问题是,换码编码的结果是不可预知的。例如,使用MPEG将最小DCT-VLC再编码为换码代码结果得到21位的位数增加。将最大DCT-VLC再编码为换码代码造成了7位的位增加。将其它的DCT-VLC再编码为换码代码产生了7和21位之间的增加。因此,1和6位之间的增加是不可能产生的,并且超过21位的增加必须通过将多个DCT-VLC再编码为换码代码来产生。而且,不可能预先知道哪些VLC存在于要再编码为换码代码的数据组块中。在最坏的情况下,没有适当的VLC存在。为了获得300位的位增加,必须找到一起再编码为换码代码时刚好产生这个位数量的多个VLC的组合。这给出了非常难以解决的问题。预先不能确定要花费多长的时间来找到正确的组合。为了解决这个问题,使用实时搜索算法需要非常强大的处理器或者巨大的存储量。在消费电子产品领域中,在遇到这种问题的情况下,由于成本的原因,这两种可行的解决方案都是无法接受的要求。
在本申请人的未公开的共同审理中的国际专利申请IB02/02737(代理人卷号PHNL010493EPP)中可以找到更多的背景信息。
因此,需要解决匹配数据大小的问题的替代方案。
本发明的目的是解决上述提出的缺点。
按照本发明的一个方面,给出了一种处理压缩媒体信号的方法,其中所述媒体信号的采样由变长码字(VLC)表示,该方法包括下述步骤;-解码出采样的VLC;-按照给定的信号处理算法修改多个所述解码出的VLC;-通过第一编码方法将经过修改的解码VLC编码为经过修改的VLC;-通过第二编码方法将经过修改的解码VLC编码为至少一个码长度;-对于多个经过修改的VLC中的每一个,选择长度最接近相应的未修改VLC的长度的通过第一或第二方法编码的经过修改的VLC;和-将选定的经过修改的VLC与任何未经修改的VLC相组合。
优选地,第一编码方法是标准VLC编码方法。优选地,第二编码方法是换码编码方法。
第二编码方法可以是可以增加VLC的位大小的另一种水印算法,或者可以是简单地将噪声加入到VLC系数中以增加其位大小的算法。
优选地,使用第二编码方法将经过修改的编码VLC编码为多种长度,优选地,第二编码方法给出了比第一编码方法长大约7到21位之间的代码。
信号处理算法优选地是水印算法。
优选地,解码出的VLC仅在一定标准下加以修改,所述标准涉及所应用的水印的可见性。
该方法可以包括向编码的经过修改的VLC中插入位,优选地是通过位填充技术,优选地是对通过第一编码方法编码的经过修改的VLC进行的。
该方法优选地包括单独处理VLC的数据包,优选地是188字节的数据包,而不参照其它数据包。
按照本发明的另一个方面,一种用于压缩媒体信号的信号处理装置,包括-解码器,可进行这样的操作解码由变长码字(VLC)代表的压缩媒体信号的采样;-用于按照给定的信号处理算法修改多个所述解码出的VLC的装置;-第一编码器,可进行这样的操作通过第一编码方法将经过修改的解码VLC编码为经过修改的VLC;-第二编码器,可进行这样的操作通过第二编码方法将经过修改的解码VLC编码为经过修改的VLC;-存储器装置,可进行这样的操作缓存来自第一和第二编码器的经过修改的解码VLC;和-控制器,可进行这样的操作对于多个经过修改的VLC中的每一个,从第一或第二编码器中选择长度最接近相应的未修改VLC的长度的经过修改的VLC。
该控制器优选地是位速率控制器。
该信号处理装置优选地是水印装置。
为了更好地理解本发明以及展示本发明如何带来效果,现在将以举例的方式,参照附图,对本发明的具体实施例加以介绍,其中附

图1是表示对以MPEG2传输流(TS)格式编码的视频数据进行重新加印的方案的示意图;附图2是附图1中所示的数据包重新加印器(remarker)的示意图;和附图3是附图2中所示的数据包重新加印器的RAM存储器元件的示意图。
下面的方法介绍了一种在具有MPEG2传输流(TS)或节目流(PS)格式的(可能已经加了水印的)视频信号中插入“不再拷贝”水印的算法。在下述文献中可以找到与MPEG2视频压缩标准相关的更多信息[ISO961]ISO/IEC 1381811996(E),《信息技术-运动图像和相关音频信息的一般性编码系统(Information Technology-Generic Coding of Moving Pictures and Associated AudioInformationSystems)》,视频国际标准(Video InternationalStandard),1996,和[ISO962]ISO/IEC 1381821996(E),《信息技术-运动图像和相关音频信息的一般性编码视频(Information Technology-Generic Coding of Moving Pictures and Associated AudioInformationVideo)》,视频国际标准(Video InternationalStandard),1996。
在本申请人的国际专利申请WO02/060182(下文中称为“VWM说明书”)中,介绍了由水印嵌入技术使用的“运行合并(run-merging)”的基本原理。
对传输流使用原始算法的问题是,要么需要很大的存储量,要么需要对很小的数据包执行位速率控制。由于这可能降低充分嵌入的效果,下面介绍的算法具有更加成熟的位速率控制,该算法使用了3个工具运行合并算法(减小位的数量)、采用换码编码和加入填充位(这二者都增加位的数量)。采用这种方法,能够通过进行每数据包位速率控制在金钱和运算复杂性方面以可接受的成本完成有效的嵌入。由于传输流中的数据包小于节目流的数据包(188字节与2K字节),因此我们把精力集中在对传输流(TS)的解决方案上。可以通过将PS数据包分成188字节的子数据包并且按照与TS数据包相同的方法处理这些子数据包,由TS解决方案得出PS解决方案。
下面介绍的TS/PS算法具有下述的特征
使用具有适合的位速率控制的标准运行合并技术;单独对各个188字节TS数据包重新加印,不参考其它的TS数据包,以避免去多路复用和再多路复用;仅对通过一个特定数据包标识符(PID)从TS中的一系列视频流中选取的一个视频基本流(VES)重新加印(也能够扩展到并行重新加印)。
对于TS流的情况,上面引用的VWM说明书中适配视频基本流(VES)重新加印器的主要问题是,它要么需要非常大的存储量,要么需要对每个TS数据包进行位速率控制(确保重新加了印记的流具有与原始流相同的大小)。前者是非常昂贵的,因为硅成本大大增加了。在后一种情况下,位速率控制需要比原始VES解决方案中更加复杂,以便实现足够的嵌入强度。作为重新加印器的基础的运行合并技术具有减少流长度的强烈趋势。用于VES重新加印器的位速率控制使用填充位的插入来重新增大流的长度,以使其长度与原始流相同。在一个TS数据包之内,仅有非常有限的空间插入填充位。这意味着需要用来增大流长度的额外工具。为此,引入了换码编码的使用。这是一种通用工具,因为它给出了用换码代码替换重新加了印记的流中的每一个VLC的可能。这种通用性的难点在于,判断运行等级对(run-levelpair)是VLC编码的还是换码编码的会引起非常困难的组合问题。下一节介绍的位速率控制算法是相对于最优解决方案具有大大减小了的复杂程度的次最优解决方案。
如附图1所示,重新加印器10由三个基本块组成VES(视频基本流)提取器12、数据包重新加印器14和TS重构器16。
这些单元的操作过程如下所述。
VES提取器12将TS数据包18分为两个较小的组块,组块20和组块22,组块20包含与要重新加印的PID相对应的视频流的VES字节,组块22具有所有其它的数据,例如,TS报头、PES报头、音频字节、其它PID的视频字节等。
数据包重新加印器14以这样一种方式将印记加入到具有VES字节的组块20中加了水印的输出组块20a恰好具有与原始输入组块20相同的位数量。下面将给出数据包重新加印器14的工作过程的详细说明。
TS重构器16对这两个组块20a和20进行重组,以创建有效的重新加过印记的TS流。
现在将详细介绍数据包重新加印器14。
如前一节中介绍的那样,与VES重新加印器相比的主要差别是更加复杂的位速率控制。因此,在本节中,我们以位速率控制器元件26为重点来解释数据包重新加印器14的工作过程。之后我们将详尽解释数据包重新加印器的所有组成部分的工作过程。
附图2表示数据包重新加印器14的基本块。为了实现适当的位速率控制,重新加印器14是围绕一条中心RAM存储器28设计出来的。所有的操作都是对存储在这一存储器28中的信息进行的。嵌入的最复杂的方面是位速率控制。这导致了位速率控制器26与存储器28之间的强交互作用,而且还有MPEG剖析器30和定型器(finaliser)32对存储器进行操作。
在接收到输入组块20的时候,MPEG剖析器30提取出所有的AC-VLC。将这些AC-VLC连同相关信息(象MPEG编码参数和相应宏块在帧中的空间位置之类)一起发送给VLC处理器34。VLC处理器34包含上述VWM说明书中介绍的核心运行合并技术。它将输入亮度AC-VLC解码成运行等级对,并且随后根据WM DCT缓冲区36中的信息(包含从空间水印图型得出的AC-VLC的改变方向)来改变该运行等级对的流。然后将结果得到的运行等级对发送给位速率控制器26。注意,由于应用了运行合并技术,造成从VLC处理器34输出的运行等级对的数量要少于输入给该处理器的运行等级对的数量。位速率控制器26对加了水印的运行等级对进行编码并且将它们发送给存储器28。这是以这样一种方式(下一段将作介绍)完成的使与原始流20中的相应部分一样大的重新加了印记的组块20a的部分最大。然后定型器32通过将原始流20中的这一相应部分用其重新加了印记的副本替换来创建大小与原来相同的重新加了印记的组块20a。然后将结果得到的组块20发送给TS重构器16(见附图1)。
让我们解释一下位速率控制器26所采取的手段。总的位速率控制策略基于,将重新加了印记的版本20a的大小保持得尽可能接近原来的版本20。实现这种策略的方法之一是,在起始码之前加入填充位,这与VWM说明书中介绍的VES重新加印器所用的方法相同。不过,主要的方法是利用换码编码。将原始组块20的拷贝存储在存储器28中(在所谓的“备份缓冲区”40中,见附图3)。将该组块的重新加了印记的版本存储在附图3中所谓的“写入缓冲区”42中。在写入缓冲区42中,我们放置了两个指针,指示大小正好与未加水印的组块20的相应部分相同的一段加了水印的组块20a的开头和结尾。在接收到运行等级对的时候,计算运行等级对的VLC。将其加入到存储器28中的写入缓冲区42中。而且,在存储器28中的“换码表”44中创建一个条目,该条目由VLC(大小介于3和17位之间)与相应的换码代码(24位固定大小)之间的长度差索引。现在,计算写入缓冲区42与备份缓冲区40之间的长度差。
如果换码表44包含VLC和换码代码之间的大小差等于缓冲区长度差的条目,则用换码代码替换相应的VLC。注意,现在缓冲区40、42包含大小正好相等的两个相应部分。因此,需要更新写入缓冲区42中的两个指针。
如果两个缓冲区40、42之间的长度差大得无法完全消除,按照与上述相同的方式,位速率控制器26将会尝试减小长度差,也是通过用换码代码代替VLC。为了减小改变的次数,使用了具有编码大小最大增加的替换方式。
下面我们将详尽地解释说明所有的组成部分。
MPEG剖析器MPEG剖析器30有两个任务。它第一个任务是,局部解析MPEG流,以收集关于亮度VLC(I、P和B帧)的信息。它收集下述信息·源宏块的顶坐标(x,y)·相应宏块中的源8×8块的位置·8×8块中的扫描位置VLC·扫描类型(锯齿型、交替型)·VLC编码类型(场,帧)·量化步长大小·VLC大小·当前画面类型·当前宏块类型而且,它查找位填充位置。这些位置是起始码之前的位置(由变量“起始码开始”表示,并且由剖析器30发送给位速率控制器26)。剖析器30还指示组块何时开始或结束。
其第二个任务是从MPEG流中提取代表亮度和色度AC-DCT的AC-VLC。AC-VLC连同关于VLC的信息一起转送到VLC处理器34。所有的原始MPEG码字还都转送给存储器(RAM)块28。各个码字连同表示码字是否为完整AC-VLC的标志一起存储在存储器28中。仅将完整的VLC转送给VLC处理器34;VLC处理器34不考虑跨越组块边界的VLC。
VLC处理器在VLC处理器34中,进行实际嵌入。它从亮度和色度分量二者中接收AC-VLC。色度AC-VLC仅做解码并且将结果得到的运行等级对转送给位速率控制器26。对亮度AC-VLC进行处理,以嵌入水印。这是按照与上述VWM说明书中介绍的VES重新加印器中采用的方式相同的方式完成的。下面给出了简要的说明,并且感兴趣的读者可以参阅VWM说明书文献,以了解更加详细的信息和附图。从代表亮度AC-DCT系数的运行等级对开始,进行下述工作1.将VLC解码成运行等级对;2.从亮度DCT系数中选取备选的运行等级对。备选运行等级对是等级等于-1或1的运行等级对;3.计算与VLC相应的DCT变换方向的WM缓冲区地址。从WM-DCT缓冲区36取出变换方向;4.如果满足下述4个条件,选择性地合并备选(运行,等级)对4.a等级加上WM DCT缓冲区36中的相应变换方向等于0,即((等级=-1)&&(WM缓冲区=+1))0R((等级=+1)&&(WM缓冲区=-1))4.b依照简单人类视觉模型,合并并不严重影响视觉质量。
5.将所有经过处理的运行等级对(用于Y、U和V的)转送给位速率控制器26。
条件4.b、4.c和4.d控制水印的可见度。针对I、P和B画面,有3个DCT能量阈值EI、EP和EB。这些阈值能够限制进一步变化到0、1和2的数量作为量化步长的函数。在End_of_Block或End_of_Chunk的时候,VLC处理器34复位。
WM-DCT缓冲区(ROM)WM-DCT缓冲器36在VWM说明书中进行了详尽介绍。
存储器(RAM)RAM存储器28在附图3中示出。它由备份缓冲区40和写入缓冲区42(大小均为184字节)和换码表44组成。MPEG剖析器30将输入组块20的原始VES数据存储在备份缓冲区(BB)40中。加了水印的版本在第二缓冲区(写入缓冲区42(WB))中产生。缓冲区40、42是从左向右填充的。两个缓冲区都具有位于最后写入位之后的第一个位置上的指针,称为读取指针46(RP,对于备份缓冲区40)和写入指针48(WP,在写入缓冲区42中)。MPEG剖析器30将所有的数据发送给备份缓冲区40。还将除了完整的AC-VLC之外的所有数据发送给写入缓冲区42。对于写入缓冲区42,完整的AC-VLC是由位速率控制器26产生的。存储器包含两个指针,称为备份指针(BP)50和附加备份指针52(EBP)。在写入缓冲区42中,这些指针分别表明大小刚好与未加水印的对应部分相同的加了水印的组块的结尾和开头。这些指针是由位速率控制器设置的。写入缓冲区42中介于备份指针50与写入指针48之间的部分表示加了水印但是仍不具有与备份缓冲区40中的相应部分相同的大小的部分。通常,附加备份指针52指向写入缓冲区42的开始。如果组块的初始部分(介于缓冲区开始和缓冲区中的起始码之间)的大小通过运行合并技术增大了(见下文中的标题为“起始码开始”那一节中的小节1b),则该附加备份指针52右移。
换码表44包含15行,从7到21。各行是空的,或者记述来自写入缓冲区42的某个VLC。如果行i(i从7到21)不是空的,则存在这样的VLC当这个VLC由换码代码替换时,写入缓冲区42将会增加i位。换码表44是由位速率控制器26管理的。位速率控制器26将会不时用换码代码从这个表中代替VLC,来控制位速率。
位速率控制器在本节中,我们将会详尽解释位速率控制器26的操作过程。在位速率控制器26的动作的解释说明之间,我们放置了“定时注释”,列出了需要执行的不同模块的动作的顺序。
有四种来自不同模块的不同命令,基于这些命令,位速率控制器选取它的下一个动作
·来自MPEG剖析器30的组块开始;·来自VLC处理器34的新运行等级对;·来自MPEG剖析器30的起始码开始;·来自MPEG剖析器30的组块结束;在下面各节中详细介绍由位速率控制器26针对这些命令采取的动作。
组块开始响应于“组块开始”命令,位速率控制器26复位到其原始位置。这包含1.将换码表44的所有条目标记为“空”。
2.将4个指针RP 46、WP 48、BP 50和EBP 52设置为0。
新运行等级对位速率控制器26接收来自于所有(色度和亮度)AC-VLC的运行等级对。对于这些运行等级对中的每一对(r,1),进行下述6个步骤1.向VLC生成器请求运行等级对(r,1)的VLC v。
2.按照如下方式更新换码表44。计算换码代码(总为24位)与VLC之间的大小差ΔC∶ΔC=大小(换码代码)-大小(v)。
接下来,填充换码表44的行ΔC位位置=WP 48;VLC大小=大小(v);运行等级(r,1)。
3.将VLC v写入到写入缓冲区42中。据此更新写入指针48。
定时注释I.MPEG剖析器30将原始VLC发送给存储器28,将其写入到备份缓冲区40中(更新RP 46)。
II.接着由VLC处理器对VLC进行解码,并且将可能进行了合并的-运行等级对发送给位速率控制器26。
III.位速率控制器26将重新加了印记的VLC发送给存储器28,将其写入到写入缓冲区42中(更新WP 48)。
4.尝试使写入缓冲区42与备份缓冲区40的长度正好相等。在下述情况下可以实现这种相等
·在这个组块中,到此为止经过换码编码的VLC的数量小于最大允许数量(EM)·写入缓冲区42与备份缓冲区40之间的长度差ΔB介于7和21之间7≤ΔB≤21·换码表44的行ΔB不空·如果这些条件都得到了满足,则采取下述动作·将换码表44的行ΔB中表述的写入缓冲区42中的VLC用其换码编码版本(位速率控制器26向VLC生成器56请求的)替换,并且将写入缓冲区42中该VLC之后的所有条目向右移ΔB个位置。
·更新换码表44-将换码表44中大于刚刚替换过的VLC的位位置的所有位位置增大ΔB-清除行ΔB并且将其标记为“空”·更新写入指针48(现在,W=RP 46)5.尝试使写入缓冲区42与备份缓冲区40的长度尽可能小。这在下述情况下能够实现·在这个组块中,到此为止经过换码编码的VLC的数量小于最大允许数量(EM)·写入缓冲区42与备份缓冲区40之间的长度差ΔB大于21ΔB>21如果这些条件都得到了满足,则在换码表44中从行21向下到行7搜索具有大于或等于备份指针BP 50的位位置的第一个非空行(这最后一个条件是避免具有非字节对齐起始码的非法MPEG语法所必需的)。如果存在这样的行,将其定义为行i,并且执行下述动作·将换码表44的行i表述的写入缓冲区42中的VLC用其换码编码版本(位速率控制器26向VLC生成器56请求的)替换,并且将写入缓冲区42中该VLC之后的所有条目向右移i个位置。
·按照如下方式更新换码表44-将换码表44中大于刚刚替换过的VLC的位位置的所有位位置增大i-清除行i并且将其标记为“空”6.更新写入指针48(WP=WP+i)更新备份指针50。如果写入缓冲区42和备份缓冲区40具有相同的长度(即,如果WP 48=RP 46),则移动备份指针BP 50=WP 48。
起始码开始在起始码之前,位速率控制器26有通过添加填充位使得写入缓冲区42和备份缓冲区40的大小相等的可能。当然,这只有在写入缓冲区42短于备份缓冲区40的情况下才可能。如果大于备份缓冲区40,则将附加备份指针52移动到读取指针46的位置上(重新调用定型器32使用来自备份缓冲区42中的在位位置0与EBP 52之间的组块部分)。总地来说,执行下述步骤1a.如果写入缓冲区42小于备份缓冲区40(即,WP 48≤RP 42),则向写入缓冲区42WB中写入填充位(值=“0”),直到写入指针WP48等于读取指针RP 46。
1b.如果写入缓冲区42大于备份缓冲区40(即,WP>RP),拒绝重新加印目前为止接收到的组块的部分。就是说,更新EBP 52和WP48·EBP=RP,·WP=RP。
2.将从MPEG剖析器接收到的起始码写入到写入缓冲区42和备份缓冲区40中,并且更新指针WP 48和RP 46。
3.更新备份指针BP 50=RP 46。
4.清空换码表44并且将所有条目标记为“空”。
定时注释I.MPEG剖析器30将起始码开始信号发送给位速率控制器26。
IIa.或者,位速率控制器26将适当数量的填充位写入到写入缓冲器42中并且更新写入指针48IIb.或者,位速率控制器26拒绝重新加印组块的第一部分并且更新EBP 52和WP 48III.MPEG剖析器30将起始码同时写入到备份缓冲区40和写入缓冲区42中,并且更新读取指针46和写入指针48。
IV.位速率控制器26更新备份指针50并且清空换码表44。
组块结束在接收到组块结束命令时,位速率控制器26将其转送给定型器32。
定时注释I.MPEG剖析器26将最后一个完整的或不完整的VLC写入到备份缓冲区40和写入缓冲区42中,并且更新指针RP 46和WP 48。
II.将组块结束命令转送给定型器32。
VLC生成器VLC生成器56在位速率控制器26的请求时产生运行等级对的VLC码(上面引用的[IS0962]中的表B14和B15)。如果请求了正常的VLC或换码代码,位速率控制器26还给出标志。
定型器定型器32通过以下述方式对备份缓冲区40和写入缓冲区42进行合并来创建有效输出组块·将备份缓冲区40中的位0...EBP-1复制到输出组块20a中·将写入缓冲区42中的位EBP...BP-1复制到输出组块20a中·将备份缓冲区40中的位BP...RP-1复制到输出组块20a中上面介绍的算法可轻松地扩展成处理上面引用的[ISO961]中介绍的节目流(PS)。只需要改变VES提取器12和TS重构器16(附图2)。数据包重新加印器14保持不变。
·VES提取器12读取PS数据包并且将其分为两个较小的组块,一个组块包含视频流的VES字节,一个组块包含所有其它的数据,例如PS报头、分组基本流(PES)报头、音频字节、其它PID的视频字节等。包含VES字节的组块20分为最大为184字节的子组块。子组块将不再跨越PES或包边界。将这些子组块提供给没有改变的数据包重新加印器14。
·TS重构器16需要由PS重构器替换,PS重构器对子组块进行重新组合,以建立有效PS流。
对压缩数据流加水印的方法有利地提供了一种避免很高的大存储空间成本或者采取其它方式造成的很高的运算成本的解决方案。
读者的注意力要针对与本申请结合在一起的说明书同时或之前提交并且通过本说明书向公众公开的所有论文和文献,并且所有这些论文和文献的内容都以引用的方式并入本文。
本说明书中(包括任何所附的权利要求书、摘要和附图)公开的所有特征,和/或在此公开的任何方法或处理过程的所有步骤,可以以任何组合形式加以组合,除了这些特征和/或步骤中的至少一部分相互排斥的组合之外。
本说明书(包括任何所附的权利要求书、摘要和附图)中公开的各个特征,可以由用途相同、等效或相似的可代替特征替换,除非另有明确说明。这样,除非另有明确说明,所公开的各个特征仅仅是一类等价或类似特征中的一种实例。
本发明并不局限于前述实施例的细节。本发明延展到本说明书(包括任何所附的权利要求书、摘要和附图)中公开的特征的任何新颖的一个或任何新颖的组合,或者延展到所公开的方法或处理过程的步骤的任何新颖的一个或任何新颖的组合。
本发明可概括如下。通过修改选定的DCT系数对压缩视频信号加水印(重新加水印)的方法和装置。为了避免位速率因此降低得过大,将选定的变长码字用换码代码表示。为了避免ESC码将位速率增加得过大(ESC码比相应的VLC字长7-21位),在小的数据组块的单元中控制位速率。在对VLC进行处理的同时,在表中填入备选ESC码。位速率控制器通过将VLC重新编码为适当的ESC码来尝试使原始和经过处理的数据组块之间的差为零。
权利要求
1.一种处理压缩媒体信号的方法,其中所述媒体信号的采样由变长码字(VLC)表示,该方法包括下述步骤-解码出采样的VLC;-按照给定的信号处理算法修改多个所述解码出的VLC;-通过第一编码方法将经过修改的解码VLC编码为经过修改的VLC;-通过第二编码方法将经过修改的解码VLC编码为至少一个码长度;-对于多个经过修改的VLC中的每一个,选择长度最接近相应的未修改VLC的长度的通过第一或第二方法编码的经过修改的VLC;和-将选定的经过修改的VLC与任何未经修改的VLC相组合。
2.按照权利要求1所述的方法,其中第一编码方法是标准VLC编码方法。
3.按照权利要求1或2所述的方法,其中第二编码方法是换码编码方法。
4.按照前述任何一项权利要求的方法,其中使用第二编码方法将经过修改的编码VLC编码为多种长度。
5.按照权利要求4所述的方法,其中第二编码方法给出了比第一编码方法长大约7到21位之间的代码。
6.按照前述任何一项权利要求所述的方法,其中信号处理算法是水印算法。
7.按照权利要求6所述的方法,其中解码出的VLC仅在一定标准下加以修改,所述标准涉及所应用的水印的可见性。
8.按照前述任何一项权利要求所述的方法,该方法包括向编码的经过修改的VLC中插入位。
9.按照前述任何一项权利要求所述的方法,该方法包括单独处理VLC的数据包,而不参照其它数据包。
10.一种用于压缩媒体信号的信号处理装置,包括-解码器,可进行这样的操作解码由变长码字(VLC)代表的压缩媒体信号的采样;-用于按照给定的信号处理算法修改多个所述解码出的VLC的装置;-第一编码器,可进行这样的操作通过第一编码方法将经过修改的解码VLC编码为经过修改的VLC;-第二编码器,可进行这样的操作通过第二编码方法将经过修改的解码VLC编码为经过修改的VLC;-存储器装置,可进行这样的操作缓存来自第一和第二编码器的经过修改的解码VLC;和-控制器,可进行这样的操作对于多个经过修改的VLC中的每一个,从第一或第二编码器选择长度最接近相应的未修改VLC的长度的经过修改的VLC。
全文摘要
通过修改选定的DCT系数对压缩视频信号加水印的方法和装置。为了避免位速率因此降低得过大,将选定的变长码字用换码代码表示。为了避免ESC码将位速率增加得过大(ESC码比相应的VLC字长7-21位),在小的数据组块的单元中控制位速率。在对VLC进行处理的同时,在表中填入备选ESC码。位速率控制器通过将VLC重新编码为适当的ESC码来尝试使原始和经过处理的数据组块之间的差为零。
文档编号G06T1/00GK1742291SQ200380109141
公开日2006年3月1日 申请日期2003年12月16日 优先权日2003年1月23日
发明者G·C·兰格拉亚尔 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1