压缩视频中的语法元素的兼容cabac/avc的水印加注的制作方法

xiaoxiao2020-7-22  11

专利名称:压缩视频中的语法元素的兼容cabac/avc的水印加注的制作方法
技术领域
本发明涉及一种用于产生可应用于压缩视频流的、可接受水印的列表的方法。
背景技术
当今,强烈需求作为反盗版技术的数字水印加注。为了使得盗版者规避水印更加困难,重要的是提出并使用众多的潜在水印。然而,重要的是水印不干扰目标观众 (intended audience)的目标观看体验。同样,存在对于更有效的水印加注技术的需求。同样,本发明的目的在于生成通常与水印加注相关联的可能改变的列表,所述可能改变兼容 (compliantKABAC/AVC(基于上下文的自适应二进制算术编码/高级视频压缩)而不产生可见的伪像。

发明内容
一种产生可接受水印的列表的方法,包括取得编码数据;取得、生成或者编译对编码数据的改变的列表;移除不满足要求的改变(例如,造成伪像的那些改变),由此产生过滤后的改变的过滤列表;并且向编码数据应用过滤列表中至少一个过滤后的改变。编码数据可以是压缩的视频数据,所述压缩的视频数据可以处于CABAC编码的H. 264/AVC视频流中。过滤后的改变可以是可接受水印。该方法可以包括以下步骤确定对于至少一个参考块的运动矢量差分并且确定至少一个当前块对于至少一个参考块的运动矢量差分。运动矢量差分的比较可以用于对来自列表的改变进行过滤。该方法可以包括以下步骤确定当前块的语法元素以及对当前块的改变的语法元素;并且将运动矢量差分值设置为至少3个类别第一类别用于等于零的各值,第二类别用于大于零并且小于最大值的一值或者多值, 以及第三类别用于大于第二类别中的值到最大值的一值或多值。另外,该方法可以包括以下步骤对第二类别中的运动矢量差分值的语法元素应用前缀值;并且对第二类别中的运动矢量差分值的语法元素应用后缀值。此外,该方法可以包括以下步骤确定当前块的编码变量范围以及对当前块的改变的编码变量范围,其中编码变量范围是对于给定的比特长度可能的值;并且比较所述改变的编码变量范围和当前块的运动矢量差分值;过滤具有不包含当前块的运动矢量差分值的编码变量范围的改变;并且确定当前块的比特长度以及对当前块的改变的比特长度。该方法可以包括以下步骤对于对当前块的改变,比较当前块的比特长度;并且过滤具有与当前块的比特长度不相等的比特长度的改变,其中可以与基于编码变量确定的过滤结合地进行基于比特长度的改变的过滤。
提供了一种CABAC编码引擎等,其适配于执行包括以下步骤的方法取得视频数据;取得或者生成对于视频数据的水印或者可能改变的列表;确定视频数据的当前块的语法元素和具有水印的当前块的语法元素;基于当前块的语法元素和具有水印的当前块的语法元素之间的差移除水印,由此产生所接受水印的过滤列表。该引擎等中的移除步骤还可以包括(1)确定当前块的编码变量范围、以及具有来自所述列表的水印的当前块的编码变量范围;比较当前块的编码变量范围和具有来自所述列表的水印的当前块的编码变量范围;并且滤除产生当前块的编码变量范围之外的编码变量范围的水印;和/或包括(2)确定当前块的比特长度、以及具有来自所述列表的水印的当前块的比特长度;比较当前块的比特长度和具有来自所述列表的水印的当前块的比特长度;并且移除产生与当前块的比特长度不相等的比特长度的水印。可以采用另一移除步骤,其移除在被应用到当前块的情况下不够鲁棒或者造成伪像的可接受改变。


现在将参照附图借助示例来描述本发明。
图1是根据本发明的图示有效的可替换mvd尾部后缀(rear-suffix)值的收集和编码的仿真的框图。
图2图示基于编码器的CBC系统架构。
图3图示基于编解码器的框架。
具体实施例方式现在将在CABAC编码的H. ^4/AVC视频流的背景中大体描述本发明的实施例。然而,实施例可以具有更广泛的应用。
重要的是首先指出CABAC编码的H. ^4/AVC视频流可以包括编码的运动矢量差分 (mvd)。在H. 264中,许多块的像素值是这样编码的首先从之前编码的数据来预测它们的值并且然后编码该预测值和实际值之间的差。一种被称为帧间预测的预测方法从被称为参考帧的不同帧中的类似大小的数据块来预测当前块。通过参考帧的索引、以及指示参考块相对于当前块位置的水平偏移和垂直偏移的一组运动矢量来标识该参考块。
相邻块的运动矢量可能彼此相关。为了利用该相关性,H. 264可以对运动矢量应用预测编码。一个块的运动矢量是这样编码的首先从之前编码的数据来预测所述运动矢量的值并且然后编码该预测运动矢量值和实际运动矢量值之间的差。
该差(被称为运动矢量差分(mvd))是至少一种实施方案的关注点。其还是语法元素的示例。
简单地以二进制码元0表示运动矢量差分值0。将该0与上下文索引一起发送给 CABAC写入器(writer)。CABAC写入器将使用该上下文和二进制码元作为输入并且将修改该上下文。需要注意到指示零值mvd的该码元0的编码受到CABAC上下文的影响并且继而影响CABAC上下文。利用符号和量值来表示所有其它的mvd。量值首先被编码,之后是符号被编码。可以利用被称为mvd前缀的单一值来编码具有1和8之间的量值的运动矢量差分。更大的mvd还将需要mvd后缀。如以下所述,这两个值被分开编码。
关于mvd前缀的编码,将被称为mvdm的新值定义作为abs (mvd)-1。对于0和7之间(包括0和7)的mvdm的值,mvdm指示在该前缀中接着的二进制码元1的数量。这些码元1被二进制码元0终止。对于8或者更大的mvdm的值,将8个码元1写入该前缀并且该前缀之后跟随有后缀。在表1中总结了 mvd前缀的编码。
表1 :mvd前缀的二进制化
权利要求
1.一种方法,包括 取得编码数据;产生、编译、或者取得可应用于编码数据的改变的列表;移除在被应用到编码数据的情况下不满足至少一个所定义的准则的改变,由此产生过滤后的改变的过滤列表;以及向编码数据应用过滤列表中至少一个过滤后的改变。
2.根据权利要求1的方法,其中所述改变是水印。
3.根据权利要求1的方法,其中编码数据是压缩视频,并且至少一个所定义的准则是在应用所述改变的情况下可见伪像的可见性。
4.如权利要求3的方法,包括 确定所述改变的运动矢量差分;确定至少一个当前块的运动矢量差分;将对于至少一个当前块的改变的运动矢量差分与至少一个当前块的运动矢量差分进行比较;以及使用运动矢量差分的比较来移除改变。
5.如权利要求4的方法,包括确定至少一个当前块的语法元素和对至少一个当前块的改变的语法元素。
6.根据权利要求5的方法,包括将运动矢量差分值设置为至少3个类别,其中第一类别用于等于零的各值,第二类别用于大于零并且小于最大值的一值或者多值,以及第三类别用于大于第二类别中的值到最大值的一值或多值;对于第二类别中的运动矢量差分值,将前缀值应用到语法元素;以及对于第二类别中的运动矢量差分值,将后缀值应用到语法元素。
7.根据权利要求6的方法,包括确定至少一个当前块的编码变量范围和对所述至少一个当前块的改变的编码变量范围,其中编码变量范围是对于给定比特长度的可能的值。
8.根据权利要求7的方法,包括比较对至少一个当前块的改变的编码变量范围和至少一个当前块的运动矢量差分值; 对具有不包含所述至少一个当前块的运动矢量差分值的编码变量范围的改变进行过滤;确定所述至少一个当前块的比特长度以及对所述至少一个当前块的改变的比特长度。
9.根据权利要求8的方法,包括比较所述至少一个当前块的比特长度和对所述至少一个当前块的改变的比特长度; 移除产生与所述至少一个当前块的比特长度不相等的比特长度的改变;以及移除产生与所述至少一个当前块的运动矢量差分值不相等的编码变量范围的改变。
10.根据权利要求2的方法,其中所述数据是CABAC编码的视频流。
11.根据权利要求10的方法,包括确定编码变量,其中所述编码变量包括codlLow和bitOutstanding ;以及将codlLow和bitOutstanding设置为所述至少一个所定义的准则,其中从所述列表中移除导致不同的codlLow和bitOutstanding的改变。
12.一种方法,包括取得编码视频数据;取得、编译、或者生成对于编码视频数据的可能改变或水印的列表; 确定用于视频数据的当前块的语法元素和具有所述可能改变或水印的当前块的语法元素;以及基于当前块的语法元素和当前块的语法元素之间的差来移除造成可见伪像的可能改变,由此产生可接受改变或水印的过滤列表。
13.根据权利要求12的方法,包括确定当前块的编码变量范围和具有来自所述列表的水印或改变的当前块的编码变量范围;以及比较当前块的编码变量范围和具有来自所述列表的改变或水印的当前块的编码变量范围;以及滤除产生当前块的编码变量范围之外的编码变量范围的改变或水印。
14.根据权利要求12的方法,包括确定当前块的比特长度和具有来自所述列表的改变或水印的当前块的比特长度; 比较当前块的比特长度和具有来自所述列表的水印的当前块的比特长度;以及移除产生与所述当前块的比特长度不相等的比特长度的改变或水印。
15.根据权利要求12的方法,其中所述数据是CABAC编码的视频流并且其中所述方法还包括以下步骤确定编码变量,其中所述编码变量包括codlLow和bitOutstanding ;以及将codlLow和bitOutstanding设置为至少一个所定义的准则,其中从所述列表中移除导致不同的codlLow和bitOutstanding的可能改变或水印。
16.根据权利要求15的方法,包括CABAC熵解码所述数据以获得在确定步骤中的语法元素;以及CABAC熵编码所述语法元素使得生成标识有效的可替换语法元素的列表。
17.一种方法,包括 取得视频数据;取得、生成、或者编译对于视频数据的水印的列表;确定视频数据的当前块的语法元素和具有所述水印的当前块的语法元素;以及基于当前块的语法元素和具有水印的当前块的语法元素之间的差来移除水印,由此产生可接受水印的过滤列表。
18.根据权利要求17的方法,其中,移除步骤包括确定当前块的编码变量范围和具有来自所述列表的水印的当前块的编码变量范围; 比较当前块的编码变量范围和具有来自所述列表的水印的当前块的编码变量范围; 滤除产生当前块的编码变量范围之外的编码变量范围的水印; 其中,移除步骤还包括确定当前块的比特长度和具有来自所述列表的水印的当前块的比特长度; 比较当前块的比特长度和具有来自所述列表的水印的当前块的比特长度;以及移除产生与所述当前块的比特长度不相等的比特长度的水印。
19.根据权利要求17的方法,包括移除在被应用于当前块的情况下造成伪像的可接受水印,由此产生过滤后的可接受水印的进一步的过滤列表;并且其中所述数据是CABAC编码的视频流。
20.根据权利要求19的方法,包括确定编码变量,其中所述编码变量包括codlLow和bitOutstanding ; 将codlLow和bitOutstanding设置为至少一个所定义的准则,其中从所述列表中移除导致不同的codlLow禾口 bitOutstanding的水印;对于语法元素的给定原始值,收集有效的可替换尾部后缀值; 编码原始值;保存编码原始值之后的新状态; 将编码之后的状态与原始值进行比较;以及如果新状态与原始值相同,则编码新状态作为有效的可替换尾部后缀,由此有效的可替换尾部后缀将表明在过滤列表上放置水印的准则。
全文摘要
一种方法,包括以下步骤取得编码视频数据;取得对于编码视频数据的水印的列表;确定视频数据的当前块的语法元素和具有所述水印的当前块的语法元素;基于当前块的语法元素和具有水印的当前块的语法元素之间的差移除造成可见伪像的水印,由此产生可接受水印的过滤列表。该方法还可以包括确定当前块的编码变量范围和具有来自所述列表的水印的当前块的编码变量范围;比较当前块的编码变量范围和具有来自所述列表的水印的当前块的编码变量范围;并且滤除产生当前块的编码变量范围之外的编码变量范围的水印。另外,该方法可以包括确定当前块的比特长度和具有来自所述列表的水印的当前块的比特长度;比较当前块的比特长度和具有来自所述列表的水印的当前块的比特长度;并且滤除产生与当前块的比特长度不相等的比特长度的水印。
文档编号G06T1/00GK102187672SQ200980141297
公开日2011年9月14日 申请日期2009年8月17日 优先权日2008年8月19日
发明者邹德坤, 杰弗里·A·布卢姆, 何杉 申请人:汤姆森特许公司

最新回复(0)