掌桥专利:专业的专利平台
掌桥专利
首页

视频编码方法和装置、解码方法和装置及编解码系统

文献发布时间:2023-06-19 19:28:50


视频编码方法和装置、解码方法和装置及编解码系统

技术领域

本发明涉及视频编解码领域,尤其是一种基于权限区域的视频加解密解决方案。

背景技术

在一些视频编码场景中,需要对视频图像中的局部或全部画面进行加密,以起到加保护的作用,使得仅针对具有特定权限的对象才能够获得原始视频数据,而对于其他人,是不能正确解码出原始视频数据的。这些仅对具有特定权限的对象可视的待加密的区域称之为权限区域,这些区域之外的其他区域称为非权限区域。

视频图像中需要进行特殊处理的区域,业内称之为感兴趣区域(Region OfInterest,ROI),而其之外的区域则称为非感兴趣区域,前者通过对图像中目标(特定对象/区域)检测的结果即可确定。上述的对权限区域的加密属于对感兴趣区域处理的一种方式,图像中的权限区域同样可通过相同的检测方法获得。业内已有人提出一些对感兴趣区域进行加密编码的解决方案。例如:文献CN103546750A公开了一种基于感兴趣区域的H.264视频加密方法,其采用了一种基于三级密钥对感兴趣区域进行加密的视频处理方法,借助三级密钥,改变H.264视频中感兴趣区域的视频编码参数来实现对感兴趣区域的加密。文献CN103747258A公开了一种高性能视频编码标准的加密处理方法,其采用一种基于高性能视频编码标准(H.265/HEVC)的加密处理方法,实现了H.265视频的全帧加密与感兴趣区域的加密。

诸如此类的现有技术可轻易检索出,大体都是对H.264视频与H.265视频的局部加密方法的描述。经分析可以发现,现有技术中均使用了基于编码标准的片组划分,具体地,H.264中的FMO技术通过打乱宏块的排序,将图像中的所有感兴趣区域可以划分到一个片组中,H.265中的tiles划分则可以将图像中的感兴趣区域划分到不同的tile中,每个tile或者片组之间都是独立进行编码的。

特别的,当图像中的待保护的编码区域不止一处,而是有多处时,在H.264视频编码中需要被置乱的宏块编号会增多,可能把相邻的宏块分开,这种做法虽然可以解决帧内预测的错误漂移问题,但是干扰了预测机制影响编码性能,且增大了编码延时。在H.265视频编码中意味着需要划分多个tile或片组来进行处理,随着不连续的感兴趣区域位置数目的增多,一帧图像需要编码的片组个数也会增加,由于每个片组之间都是独立编码的,数目的增加同样会影响到视频的编码性能。

发明内容

本发明的发明目的在于:针对上述存在的全部或部分问题,提供一种基于权限区域的视频加密编解码方案,以在不依赖于H.264和H.265中的tile或片组原理的情况下,对视频图像不进行划分直接编解码,提升视频编解码性能。

本发明采用的技术方案如下:

在一方面,本发明提供了一种基于权限区域的视频编码方法,视频包括至少一帧图像,对所述至少一帧图像逐帧编码形成视频流;编码方法包括:获取所述图像中权限区域的位置信息;对所述图像中的编码块以排列顺序逐个进行编码,其中,以当前编码块中属于权限区域部分的面积占该编码块整体面积的比例是否达到阈值来判断当前编码块是否属于权限区域的编码块,对于权限区域的编码块,在熵编码过程中,使用混沌加密算法对该编码块的至少一个语法元素和/或残差系数进行加密,所述语法元素和/或残差系数为:对所述语法元素和/或残差系数的加密在加密前、后的上下文模型的更新不变的语法元素和/或残差系数。

在另一方面,本发明还提供了一种视频流解码方法,所述视频流包括至少一帧经编码后的图像(每一帧都经过编码),对所述至少一帧经编码后的图像逐帧进行解码,所述视频流携带有所述至少一帧经编码后的图像中权限区域的位置信息,解码方法对于每一帧经编码后的图像,包括:从所述视频流中解码出权限区域的位置信息;对经编码后的图像中的编码块以排列顺序逐个进行解码,其中,以当前编码块中属于权限区域部分的面积占该编码块整体面积的比例是否达到阈值来判断当前编码块是否属于权限区域的编码块,对权限区域的编码块解码时,对该编码块的经加密的语法元素和/或残差系数使用混沌加密算法进行解密,利用解密后的语法元素和/或残差系数还原该编码块,所述语法元素和/或残差系数为:对所述语法元素和/或残差系数的加密在加密前、后的上下文模型的更新不变的语法元素和/或残差系数。

在另一方法,本发明还提供了一种视频编码装置,用于对视频进行逐帧编码形成视频流,所述视频包括至少一帧图像;编码装置包括:编码单元,被配置为对所述图像中的编码块以排列顺序逐个进行编码;编码块识别单元,被配置为获取所述图像中权限区域的位置信息,以当前编码块中属于权限区域部分的面积占该编码块整体面积的比例是否达到阈值来判断当前编码块是否属于权限区域的编码块;加密单元,被配置为在所述编码单元对权限区域的编码块的熵编码过程中,对该编码块的至少一个语法元素和/或残差系数的二值化值使用混沌加密算法进行加密,所述语法元素和/或残差系数为:对所述语法元素和/或残差系数的加密在加密前、后的上下文模型的更新不变的语法元素和/或残差系数。

在另一方面,本发明还提供了一种视频流解码装置,用于对包含至少一帧经编码后的图像的视频流逐帧进行解码,所述视频流携带有所述至少一帧经编码后的图像(每一帧)中权限区域的位置信息,解码装置包括:解码单元,被配置为从所述视频流中解码出权限区域的位置信息,以及对经编码后的图像中的编码块以排列顺序逐个进行解码,其中,对于权限区域的编码块,利用解密后的语法元素和/或残差系数还原该编码块;编码块识别单元,被配置为以当前编码块中属于权限区域部分的面积占该编码块整体面积的比例是否达到阈值来判断当前编码块是否属于权限区域的编码块;解密单元,被配置为在解码单元解码权限区域的编码块时,对该编码块的经加密的语法元素和/或残差系数使用混沌加密算法进行解码,所述语法元素和/或残差系数为:对所述语法元素和/或残差系数的加密在加密前、后的上下文模型的更新不变的语法元素和/或残差系数。

在另一方面,本发明还提供了一种对视频权限区域加保护的加解密系统,所述视频包括至少一帧图像,系统包括上述的视频编码装置以及视频流解码装置,其中,所述视频流解码装置所解密的语法元素和/或残差系数与所述视频编码装置所加密的语法元素和/或残差系数相对应。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

本发明脱离了视频编码标准中对FMO技术或tile/片组划分的限制,不用对权限区域进行片组划分,直接根据权限区域的位置信息,确定权限区域的编码块,然后对此部分编码块的语法元素和/或残差系数进行加密,这样,在解码端接收到的编码数据中,用于还原该部分编码块的部分语法元素或残差系数是被加密过的数据,利用此部分数据直接还原出来的编码块并非编码前的编码块,只有先对此部分加密的参数进行解密后,再利用此部分参数才能还原出编码前的编码块,而非权限区域的编码块正常编码,在解码端正常解码即可得到还原,从而实现了对权限区域的加保护。并且由于本发明是对语法元素级别的运算处理,在编解码顺序上仍然是以编码块排列顺序进行的,不需要对图像进行片组划分,不受片组/tile划分的限制,视频编码不再受到片组/tile数量的影响,可以提高编码性能。权限区域数量越多,效果越明显。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1是现有视频编码框架示意图。

图2是混沌加密算法原理图。

图3是本发明视频编码的流程图。

图4是本发明视频解码的流程图。

图5、6是本发明视频编码装置的两种构造示意图。

图7、8是本发明视频流解码装置的两种构造示意图。

图9是帧间预测的运动估计搜索窗口示意图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书(包括任何附加权利要求、摘要)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

在介绍本发明实施例前,先对本发明涉及到的一些基础知识或者设计要点进行说明,以帮助对本发明方案的理解。

视频编码技术

视频编码(Video coding)能够对视频的数据量进行压缩,原始视频由至少一帧图像按时间先后顺序排列而成,视频编码即为逐帧对这些图像进行编码,得到视频流(码流)。未经压缩的原始视频其数据量是非常惊人的,需要经过视频编码,尽可能地去除视频数据中的冗余来压缩视频,大大降低对传输带宽与存储容量的需求。主流的视频编码标准,如H.264/AVC、H.265/HEVC,都采用了基于块的混合编码框架,如图1所示,视频编码框架中包括了变换量化、熵编码、帧内预测、帧间预测以及环路滤波等模块。

其中帧内预测通过编码后的重构块信息来预测当前像素块以去除空间冗余信息;帧间预测模块通过将已编码的图像作为当前帧的参考图像,当前帧的当前宏块以参考图像(参考帧)中对运动矢量的搜索在当前宏块的偏移所形成的参考块为运动估计搜索范围,来获取各个块的运动信息,从而去除了时间冗余;变换将图像从时域信号变换至频域,将能量集中至低频区域,量化则减小图像编码的动态范围;环路滤波用于改善视频的质量,减少块效应,H.264/AVC中有去块滤波模块(Deblocking),而H.265/HEVC在Deblocking之后新增了样本自适应补偿(SAO)技术,进一步提高图像的主管质量与压缩效率;熵编码通过给予高概率出现的信号短码字,低概率出现的信号长码字的方式降低数据中的统计冗余,将变换量化系数、帧内预测数据与运动数据等编码为二进制码流进行存储或传输。

上述视频编码过程为正常编码过程,即利用兼容标准(H.264/AVC或H.265/HEVC)所建议的编码器编码的过程,该过程不涉及到对视频图像的加密。对应的,经上述视频编码步骤得到的视频流(码流)利用兼容标准的解码器进行解码,即可还原得到原始视频数据。

混沌加密算法

混沌加密算法的原理是构造一个含有若干参数的迭代式,参数的微小差异会导致每次迭代的结果都毫无规律可言(即混沌的由来),用每次迭代的结果生成一个字节数据,用其与明文做异或操作生成密文。如图2所示,混沌加密算法是一个对称加密算法,即加密和解密使用相同的混沌密钥。更特别的,其加密和解密函数也是完全一样的。因此,在本发明所涉及到的编码方法/编码装置、解码方法/解码装置以及编解码系统中,解密环节所使用到的混沌密钥是与所解密的数据在加密环节所使用到的混沌密钥和函数是相同的。

接下来对本发明的设计方案进行说明,本发明对视频(图像)进行编码的手段大致为:

基于目标检测的结果确定当前帧图像的权限区域,此为现有成熟技术,确定权限区域即确定权限区域在图像中的位置信息。若待编码的图像中的权限区域已确定,则此过程可以省略。

编码块为对图像编码的基本单元,根据不同的视频编码标准,编码块大小的选择有所不同。图像中编码块的排列顺序即从左到右、从上到下逐个排列。在确定权限区域后,按照编码块的排列顺序逐个对编码块进行编码。只是在编码每一个编码块之前,新增一个针对权限区域的判断步骤,即判断该编码块是否属于权限区域的编码块,若是,则判定该编码块属于待加密编码块。即,在本发明所设计的方案中,需要根据权限区域的位置信息确定出权限区域的编码块,在理解上,并非要求先将所有权限区域的编码块全部先识别出,可以是在编码每一个编码块时再对当前编码块进行判定。当然,先将所有权限区域的编码块全部识别出也不影响效果的实现,只不过需要足够多的内存(消耗更多的内存)来建立权限区域的编码块的识别后的编码块位置缓存。

得到待加密编码块后,对该编码块中的部分(或全部)语法元素和/或残差系数进行加密。通常,加密的过程发生在熵编码过程中,而所加密的具体语法元素(残差系数同理,后续的加解密过程均仅以语法元素为例进行说明,实际中加解密的参数可以是残差系数或者包含残差系数,即加解密对象为语法元素和/或残差系数)根据不同的熵编码方法进行选择,遵循的原则为:加密前与加密后编码过程中的上下文模型的更新是不变的。满足该原则的语法元素也并非是必须全部加密,可以选择部分进行加密,只是加密的数量越多,安全性越高。保证该原则的原因是为了保证加密后编码得到的码流依然能使用符合视频编码标准的解码器正常解码。遵照前文所述,本发明优选使用混沌加密算法对待加密的语法元素进行加密,即利用混沌密钥对待加密的语法元素(二值化值)进行异或运算,以完成加密。当然,混沌加密算法并非实现对语法元素加密的唯一方法,在仅考虑能否实现而不考虑其他效果的情况下,执行类似操作,或者达到类似效果的其他对称加密算法同样适用本发明的加密操作。

在对视频进行权限区域局部加密时,容易使得加密处理区域向权限区域周边延伸扩散,导致权限区域周边的外部区域(即相邻的非权限区域)利用权限区域内部已被加密的参考信息进行预测,这容易导致这部分的画面无法正常解码,我们称这种现象为错误漂移。

实际上,并非是只有本发明的编码方法才会出现错误漂移,凡是所参考或依赖的图像区域(例如编码块)存在加密行为的解码操作均无法正确实现,均会引起错误漂移,因此,在另一方面,本发明还提出了一种错误漂移处理方法。以本发明为例,由于本发明未根据权限区域的位置进行片组或tile的划分,因此错误漂移包含了帧内预测错误漂移与帧间预测错误漂移。

对于帧内预测错误漂移,由于帧内预测需要参考左侧与上侧的信息,如果左侧与上侧的区域落在权限区域的内部边界,就会导致帧内预测错误漂移。而对于帧间预测错误漂移,由于帧间预测过程中,在进行运动估计的时候,会计算各个备选MV(运动矢量)下的RDcost(率失真代价),如果当前预测块在备选MV的偏移下的坐标刚好落在了权限区域内部,那么就有可能因为选择了错误的MV而导致解码错误漂移。

针对上述两种错误漂移,本发明均提出了处理方案。

实施例一

本实施例的视频编码方法采用混沌加密算法对待加密的语法元素进行加密。

视频包括以时间顺序排列的多个帧图像,对于每一帧图像,均需要进行编码,而对于图像的编码,则涉及到对图像中权限区域的加密。

获取图像中权限区域的位置信息,对于图像中顺序排列的编码块逐个进行编码。如图3所示,首先,在编码每一个编码块之前,先判断该编码块中属于权限区域部分的面积占该编码块整体面积的比例是否达到阈值,若是,则判定该编码块属于待加密编码块,否则,判定该编码块为非权限区域的编码块。前文说过,编码块中的属于权限区域的那部分是根据图像中权限区域的位置信息确定出的。

对于非权限区域的编码块,则进行正常编码(即不进行加密),与兼容视频编码标准的编码器的编码方式相同。对于每一个权限区域的编码块,在编码前,筛选、确定出待加密的语法元素,使用混沌密钥分别对这些待加密的语法元素的二值化值进行异或运算。由于混沌加密算法的对称性,在解码端预先设定好与加密对应的混沌密钥对密文再次进行异或运算,即可解密出明文(语法元素),依据解密的语法元素即可实现对视频的还原。需要补充说明的是,每一权限区域的编码块所选择的需要加密的语法元素虽然满足相同的条件,但原则上,在满足该条件的基础上,各编码块所要加密的语法元素是可以有所不同的,相应的,在解码端针对每一编码块确定相同的语法元素来解密即可。但是,综合安全性和系统复杂度的考虑,将各编码块要加密的语法元素设定为相同的即可。

前文说到,不同的熵编码方法所选出的待加密的语法元素存在差异,而本发明所能编解码的视频可以是H.264视频,也可以是H.265视频,两种标准的视频所使用的熵编码方法存在一些差异,因此,对两种标准的视频编码时所选择的待加密的语法元素也存在一定差异。

基于H.264视频的权限区域加密:

H.264视频的熵编码方法包括了CABAC与CAVLC两种,由于H.264中的CABAC熵编码与H.265中的熵编码过程相似,在此实施例中仅对CAVLC熵编码中的加密操作进行详细描述,CABAC熵编码的加密过程在下一个实施例中一并说明。

与编码相结合的保护通常发生在熵编码的过程中,CAVLC需要使用的上下文信息为相邻块的非零系数个数,因此语法元素的加密过程对上下文模型的影响较小,其加密的局限性要低于CABAC熵编码过程。本实施例可以对以下语法元素完成加密:

(1)变换系数符号与幅值。CAVLC主要用于残差数据的编码,而残差数据是图像解码重建时的必要数据,因此对残差系数加密可以有效提高加密图像的安全性,在保证较强的加密效果的前提下尽可能地减少加密的数据量,只选择对拖尾系数与非零系数符号位进行加密,使用混沌密钥序列与待加密值进行异或操作,所得到的值即为加密值。该方法可以使加密前后的残差保持在一定范围,因此即使对所有残差进行加密,也不会对码率产生较大的影响。并且由于只对拖尾系数与非零系数的符号位进行加密,也不会影响到宏块内的非零系数的个数,对于coeff_token(total_coeff,trailing_ones)编码时需要使用的上下文信息nc也不会产生影响。

(2)帧内预测模式。在H.264中,帧内预测中的4x4模式占了绝大多数,又因为16x16模式的预测信息与coded_block_pattern的值有关,不易进行加密操作,因此只考虑对intra_4x4模式进行加密。对于一个宏块,首先将16个帧内4x4模式使用一个4x4的变换矩阵置乱,然后对于置乱后的模式,使用混沌密钥序列进行异或操作进行加密。

(3)运动矢量符号与幅值。在H264中,可以对运动矢量差MVD进行加密,具体公式如下:

其中,key为一混沌密钥序列,F1与F2为线性方程F1(x)=35-x,F2(x)=x-14。

由于解码完整视频需要正确获取所有的数据,因此,在实际应用中,可以对上述语法元素的一个或多个(超过一个)进行加密。

基于H.265视频的权限区域加密:

H.265中只有CABAC熵编码方法。对于需要CABAC编码的绝大部分语法元素其编码过程都涉及到上下文模型的更新,对这部分语法元素加密会对上下文模型的更新造成破坏,导致性能损失,所以选择对使用旁路模式进行编码的语法元素进行加密。

无论是H.264还是H.265,CABAC的编码过程主要包括二值化、上下文建模与二进制算术编码三个步骤,经分析发现,二值化之前的语法元素动态范围很大不利于加密,二进制算术编码过程规则严密,对错误十分敏感,因此对该步骤加密极易造成码流的不兼容或者压缩性能损失,另外,二进制算术编码中的常规模式编码涉及到上下文模型的更新,也极易造成码流的不兼容,因此,最终选择对二值化之后、算术编码之前的旁路模式编码的语法元素进行加密,由于加密是与混沌密钥进行异或运算,因此是对这些语法元素的二值化值进行加密。

H.265中能够保证码流兼容性和压缩率不变,适用于加密的语法元素应满足如下条件:语法元素本身或其中部分采用定长编码或k阶指数哥伦布编码进行二值化,且使用二进制算术编码中的旁路模式进行熵编码。经筛选后有以下6个语法元素,如下表1所示。对于符号类型的语法元素,不需要特别进行二值化,将符号位比特提取出来后写为二进制字符串,使用混沌密钥异或操作进行加密,然后将加密后的值送入旁路编码;其余的语法元素则需要二值化后再进行加密,再对加密后的值完成旁路编码。

表1.适用于加密的H.265语法元素

H.264中的CABAC熵编码过程与H.265类似,只是编码的语法元素以及上下文模型有差异。按照同样的加密原则,选择对二值化之后、算术编码之前的旁路模式编码的语法元素的二进制值进行加密,经过筛选,得到适用于加密的H.264语法元素如下表2所示。

表2.适用于加密的H.264语法元素

同样的,无论是H.264视频还是H.265视频,均可选择对表1或表2中的语法元素中的一个或多个进行加密。

需要说明的是,本实施例中所列举的各语法元素,在后续涉及视频编码的实施例中同样适用。

考虑到对于图像的编码可能会导致错误漂移的问题,因此,优选的,本实施例的编码方法还可结合错误漂移处理方法进行执行。由于本发明的错误漂移处理方法并不限于本发明的加密过程,因此,在后文以单独实施例(实施例五)进行详细说明。

实施例二

与视频编码对应,本实施例公开了一种视频流解码方法,视频流由对视频的各帧图像逐一编码形成,则在视频流中,包含多帧以编码顺序排列的经编码后的图像的数据,对这些经编码后的图像逐帧进行解码,对加密的权限区域进行解密,以还原出视频。由于涉及到对权限区域的解密,因此,视频流携带有图像中权限区域的位置信息,以方便解码,该权限区域的位置信息通常位于帧头当中。

对于每一经编码后的图像,对图像中的编码块以排列顺序逐个进行解码。如图4所示,在解码每一编码块前,先判断该编码块中属于权限区域部分的面积占该编码块整体面积的比例是否达到阈值,若是,则判定该编码块属于待解密编码块,否则,判定该编码块为非权限区域的编码块。对于该判断流程,是根据权限区域的位置信息实现的,即解码方法必然包含从视频流中解码出权限区域的位置信息,以及根据权限区域的位置信息确定出权限区域的编码块的过程。

对于非权限区域的编码块,则进行正常解码,与兼容视频编码标准的解码器解码时相同。对于解码出的权限区域的编码块,在解码时,需要先筛选出经加密的语法元素,对经加密的语法元素进行解密,然后利用解密后的语法元素还原编码块,即结合解密后的语法元素以及原本未加密的语法元素还原编码块。经加密的语法元素为:对语法元素的加密在加密前、后的上下文模型的更新不变的语法元素。对于配套的编码和解密过程,加密的语法元素在加密过程中确定后,在解码端则设定对相应的语法元素进行解密,即在解码端经加密的语法元素是提前设定的。由于解码过程是逐一对编码块进行的,因此,对于编码块是否属于权限区域的编码块的判别,以及判别后是否需要对编码块的语法元素进行解密,也是在解码每一编码块时进行的。

对于语法元素的加密是使用了混沌加密算法的实施方式,在本实施中,对于经加密的语法元素的解密同样使用混沌加密算法完成。如果加密过程使用其他加密算法(优选对称加密算法,例如DES、AES等),则此处对经加密的语法元素的解密是使用对应的解密算法。本发明优选利用混沌加密算法对语法元素(的二值化值)进行加密,除了考虑到该加密算法的对称性以外,还因为混沌加密算法所产生的密钥序列(混沌密钥)是一种拟随机的序列,其结构复杂,可以提供具有良好的随机性、相关性和复杂性的拟随机序列,是加密难以重构、分析和预测,如此增加加密区域的安全性。

前文说到,不同的熵编码方法所能够加密的待加密的语法元素存在差异,并且实施例一中说明了不同视频标准(H.264、H.265)、不同熵编码方法(CAVLC、CABAC)下的待加密的语法元素,则对应的,在视频解码方法中,解密的语法元素也根据不同的视频标准和不同的熵编码方法有所不同。

对于H.264视频所编码成的视频流,在其编码过程中的熵编码方法为CAVLC时,所要解密的经加密的语法元素包括包括变换系数符号与幅值、帧内预测模式、运动矢量符号与幅值中的部分或全部。

而对于编码过程中使用的熵编码方法为CABAC的情形,所要解密的经加密的语法元素为:在编码过程中于二值化之后、算术编码之前的,使用旁路模式编码的语法元素。具体而言,对于H.264视频,所要解密的经加密的语法元素包括表2中的部分或全部语法元素;对于H.265视频,所要解密的经加密的语法元素包括表1中的部分或全部语法元素。

实施例三

对于通信系统而言,对视频的编码由相应的编码装置完成,本实施例公开了一种视频编码装置,以实现基于权限区域的视频局部加密。

同样的,视频编码装置所编码的视频包括以时间顺序排列的多个帧图像,对于每一帧图像,均需要进行编码。

对于单帧图像而言,其包含顺序排列的编码块,排列顺序为从左到右、从上到小逐个排列,对这些编码块的编码依据其排列顺序逐个进行。所谓的视频局部加密,即对图像中的权限区域进行加密,落到最小单元的编码块,则是对权限区域的编码块进行加密。

视频编码装置包括编码单元、编码块识别单元和加密单元,其中:

编码单元,被配置为对当前帧图像中的编码块以排列顺序逐个进行编码。

编码块识别单元,被配置为获取图像中权限区域的位置信息,根据权限区域的位置信息确定出权限区域的编码块。对于视频编码装置而言,该编码块识别单元优选是在编码单元编码每一个编码块时,对所编码的编码块进行判定,而非是先将所有权限区域的编码块全部识别出后再进行编码,前者可以避免不必要比特的开销。依据一些实验反馈,编码块识别单元可以在编码块中属于权限区域部分的面积占该编码块整体面积的比例达到阈值时,判定该编码块属于权限区域的编码块,否则判定属于非权限区域的编码块。

加密单元,被配置为在所述编码单元对(每一)权限区域的编码块编码前,先对该编码块的至少一个语法元素进行加密,该待加密的语法元素为:在所有语法元素中,在加密前、后的上下文模型的更新不变的那部分语法元素。对于非权限区域的编码块,则不进行任何操作。因此,编码块识别单元、编码单元在编码每一编码块时均会执行相应动作,加密单元仅在编码块识别单元识别为权限区域的编码块时执行相应动作。

在装置的实现上,可以是加密单元在编码块识别单元告知当前编码块属于权限区域的编码块时,从待编码的图像数据或者编码单元中获取到语法元素数据进行加密,然后将加密的语法元素送给编码单元编码,如图5所示。也可以是编码单元在编码块识别单元告知当前编码块属于权限区域的编码块时,将待加密的语法元素数据送给加密单元进行加密,然后接受加密后的语法元素进行编码,如图6所示。

同前文说到的本发明的优选加密算法,加密单元使用混沌密钥对待加密的语法元素的二值化值进行异或运算。由于混沌加密算法的对称性,在解码装置预先设定好与加密对应的混沌密钥对密文再次进行异或运算,即可解密出明文(语法元素),依据解密的语法元素即可实现对视频的还原。

本实施例的视频编码装置可以编码H.264视频,也可以编码H.265视频,两种标准的视频所使用的熵编码方法存在一些差异,而前文说过,不同的熵编码方法所能选出的待加密的语法元素存在差异,因此,编码单元对两种标准的视频编码时,加密单元所要加密的待加密的语法元素也存在一定差异。

基于H.264视频的权限区域加密:

H.264视频的熵编码方法包括了CABAC与CAVLC两种,由于H.264中的CABAC熵编码与H.265中的熵编码过程相似,在此实施例中仅对编码单元配置CAVLC熵编码时加密单元的加密过程进行详细描述,在编码单元配置CABAC熵编码时加密单元的的加密过程在下一个实施例中一并说明。

与编码相结合的保护通常发生在熵编码的过程中,CAVLC需要使用的上下文信息为相邻块的非零系数个数,因此语法元素的加密过程对上下文模型的影响较小,其加密的局限性要低于CABAC上编码过程。本实施例中,加密单元可以对以下语法元素进行加密:

(1)变换系数符号与幅值。CAVLC主要用于残差数据的编码,而残差数据是图像解码重建时的必要数据,因此对残差系数加密可以有效提高加密图像的安全性,在保证较强的加密效果的前提下尽可能地减少加密的数据量,只选择对拖尾系数与非零系数符号位进行加密,使用混沌密钥序列与待加密值进行异或操作,所得到的值即为加密值。该方法可以使加密前后的残差保持在一定范围,因此即使对所有残差进行加密,也不会对码率产生较大的影响。并且由于只对拖尾系数与非零系数的符号位进行加密,也不会影响到宏块内的非零系数的个数,对于coeff_token(total_coeff,trailing_ones)编码时需要使用的上下文信息nc也不会产生影响。

(2)帧内预测模式。在H.264中,帧内预测中的4x4模式占了绝大多数,又因为16x16模式的预测信息与coded_block_pattern的值有关,不易进行加密操作,因此只考虑对intra_4x4模式进行加密。对于一个宏块,首先将16个帧内4x4模式使用一个4x4的变换矩阵置乱,然后对于置乱后的模式,使用混沌密钥序列进行异或操作进行加密。

(3)运动矢量符号与幅值。在H264中,可以对运动矢量差MVD进行加密,具体公式如下:

其中,key为一混沌密钥序列,F1与F2为线性方程F1(x)=35-x,F2(x)=x-14。

由于解码完整视频需要正确获取所有的数据,因此,在实际应用中,可以对上述语法元素的一个或多个(超过一个)进行加密。

基于H.265视频的权限区域加密:

H.265中只有CABAC熵编码方法,因此,针对H.265视频,编码单元仅可配置CABAC熵编码方法。对于需要CABAC编码的绝大部分语法元素其编码过程都涉及到上下文模型的更新,对这部分语法元素加密会对上下文模型的更新造成破坏,导致性能损失,所以选择对使用旁路模式进行编码的语法元素进行加密。

无论是H.264还是H.265,CABAC的编码过程主要包括二值化、上下文建模与二进制算术编码三个步骤,经分析发现,二值化之前的语法元素动态范围很大不利于加密,二进制算术编码过程规则严密,对错误十分敏感,因此对该步骤加密极易造成码流的不兼容或者压缩性能损失,另外,二进制算术编码中的常规模式编码涉及到上下文模型的更新,也极易造成码流的不兼容,因此,最终选择对二值化之后、算术编码之前的旁路模式编码的语法元素进行加密,由于加密是与混沌密钥进行异或运算,因此是对这些语法元素的二值化值进行加密。

H.265中能够保证码流兼容性和压缩率不变,适用于加密的语法元素应满足如下条件:语法元素本身或其中部分采用定长编码或k阶指数哥伦布编码进行二值化,且使用二进制算术编码中的旁路模式进行熵编码。经筛选后有以下6个语法元素,如上表1所示。对于符号类型的语法元素,不需要特别进行二值化,将符号位比特提取出来后写为二进制字符串,使用混沌密钥异或操作进行加密,然后将加密后的值送入旁路编码;其余的语法元素则需要二值化后再进行加密,再对加密后的值完成旁路编码。

H.264中的CABAC熵编码过程与H.265类似,只是编码的语法元素以及上下文模型有差异。按照同样的加密原则,选择对二值化之后、算术编码之前的旁路模式编码的语法元素的二进制值进行加密,经过筛选,得到适用于加密的H.264语法元素如上表2所示。

同样的,无论是H.264视频还是H.265视频,均可选择对表1或表2中的语法元素中的一个或多个进行加密。

同样的,编码单元还可结合错误漂移处理方案对视频图像进行编码,这在后文实施例五进行详细说明。

实施例四

本实施例公开了一种视频流解码装置,该视频流解码装置用于对经局部加密的视频流进行解码,因此,视频流中每一帧均携带有权限区域的位置信息,通常在帧头位置。视频流由对视频的各帧图像逐一编码而形成,则在视频流中,包含多帧以编码顺序排列的经编码后的图像的数据,对这些经编码后的图像逐帧进行解码,以还原出视频,而对于每一帧中加密的权限区域,则需要进行解密。由于涉及到对权限区域的解密,因此,视频流携带有各帧经编码后的图像中权限区域的位置信息,以方便解码。对于每一帧经编码后的图像,解码装置对图像中的编码块以排列顺序逐个进行解码。

视频流解码装置包括解码单元、编码块识别单元和解密单元,其中:

解码单元,被配置为从视频流中解码出权限区域的位置信息,以及对图像中的经编码后的编码块以排列顺序逐个进行解码。对于权限区域的编码块,利用解密后的语法元素还原该编码块。权限区域的编码块的判别,以及语法元素的解密操作,分别由编码块识别单元和解密单元完成。

编码块识别单元,被配置为根据权限区域的位置信息确定出权限区域的编码块。同样的,优选在解码模块解码每一编码块时进行类别(是感兴趣的编码块还是非感兴趣的编码块)的判断,而非提前全部筛选出。编码块识别单元通过判断一个编码块中属于权限区域部分的面积占该编码块整体面积的比例是否达到阈值,若是,则判定该编码块属于待加密编码块,否则,判定该编码块为非权限区域的编码块。

解密单元,被配置为在解码单元解码出权限区域的编码块时,对该编码块的经加密的语法元素进行解码,这部分语法元素为:对所有语法元素的加密在加密前、后的上下文模型的更新不变的那部分语法元素。被加密的语法元素可以是符合约束条件的全部或部分语法元素,选择的数量越多,安全性则越高,而解密单元所解密的语法元素,必须与该编码块中加密的语法元素相同。在加密部分这些语法元素时,编码端/编码装置通过一个信息向解码端/解码装置指示被加密的语法元素。

同样的,在解码装置的实现上,可以是解密单元在编码块识别单元告知当前解码的编码块属于权限区域的编码块时,从解码单元或视频流中获取待解密的语法元素数据,然后将解密后的语法元素送给解码单元进行解码,如图7所示。也可以是解码单元在编码块识别单元告知当前解码的编码块属于权限区域的编码块时,将待解密的语法元素数据送给解密单元进行解密,然后获取解密后的语法元素进行解码,如图8所示。

在约定对语法元素使用了混沌加密算法进行加密时,解密单元使用混沌加密算法对所述语法元素进行解密。即使用约定好的混沌密钥对经加密的语法元素进行异或预算。若是采用其他加密算法实现的加密,则对应更改加密单元的加密算法也可实现对视频流的解码解密。

不同的熵编码方法所能够加密的待加密的语法元素存在差异,实施例、三中说明了不同视频标准(H.264、H.265)、不同熵编码方法(CAVLC、CABAC)下的待加密的语法元素,则对应的,在视频流解码装置中,解密单元所解密的语法元素也根据不同的视频标准和不同的熵编码方法有所不同。

对于H.264视频所编码成的视频流,在其编码过程中的熵编码方法为CAVLC时,解密单元所要解密的经加密的语法元素包括变换系数符号与幅值、帧内预测模式、运动矢量符号与幅值中的部分或全部。

而对于编码过程中使用的熵编码方法为CABAC的情形,解密单元所要解密的经加密的语法元素为:在编码过程中于二值化之后、算术编码之前的,使用旁路模式编码的语法元素。具体而言,对于H.264视频,解密单元所要解密的经加密的语法元素包括表2中的部分或全部语法元素;对于H.265视频,解密单元所要解密的经加密的语法元素包括表1中的部分或全部语法元素。

实施例五

本实施例公开了本发明错误漂移处理方法的一种/一些优选实施方式。对于编码装置而言,其适用于编码单元对编码块的编码环节。

1、帧内预测错误漂移处理方法:

本实施例针对此类错误漂移,公开了两种处理方法,两种处理方法解决错误漂移的方向不相同。

(1)缩小权限区域的加密范围。

在对权限区域的编码块编码时,保证权限区域右侧与底部边界的像素值与正常编码时(即采用未加密方法编码时)的参考像素的值保持一致,如此就可以避免帧内预测错误漂移问题。

在一些具体实施方式中,对权限区域的编码块进行编码时,按照编码块的最小单元对权限区域的右侧和底部边界进行PCM模式的编码。H.265中的PCM模式以及H.264中的I_PCM模式(同样为PCM模式)是帧内的一种特殊的编码模式,编码端不经过预测、变换、量化和熵编码等步骤,直接将当前编码块大小的像素值写入码流,因此解码端也不需要经过预测等步骤,可以直接从码流中将像素值读取出来。这种编码方式就可以保证权限区域会被用于帧内预测参考的右边界与底部边界的像素值与正常编码时的参考像素值保持一致,从而避免帧内预测错误漂移。

(2)限制非权限区域参考。在编码过程中,对于原本需要参考权限区域编码的非权限区域的编码块,使用PCM模式编码保证编码块左侧与上侧边界的编解码无需参考权限区域的边界,当然,也可采用其他使编码块的左侧和上侧边界的编解码无需参考权限区域边界的编码模式进行编码。

在接下来的描述中我们将这种需要参考权限区域进行编码的非权限区域编码块称为特殊非权限区域块。在一些具体实施方式中,由于PCM模式编码的特殊性,如果按照编码块的最小单元将特殊非权限区域块的左侧与上侧边界使用PCM模式进行编码,那么在解码端就可以直接从码流中读取其像素值,而无需经过预测、变换、量化等过程,其中在预测的阶段会使用权限区域的像素进行参考,如果避免了该过程,也就不会产生帧内预测错误漂移问题了。

2、帧间预测错误漂移处理方法:

在编码过程中限制运动估计搜索窗口范围可以避免此类错误漂移问题,具体做法如下:如图2所示,将参考帧图像分为隐私区域Spr与非隐私区域Snpr两部分,对于当前帧图像的当前编码块的运动估计搜索窗口范围设定为Sw,该Sw即为原本参考块的区域,将Snpr与Sw求交集,所求的结果S_npr∩S_w即为当前编码块使用的运动估计搜索范围。

在具体实现上,Sw与Spr的交集区域并不一定要求是丢失掉,只要无法将该交集区域的备选MV作为搜索的最优MV即可。即确保参考帧中对运动矢量的搜索在当前编码块的偏移所形成的参考块与权限区域不产生交集。在一些具体实施方式中,如果经判断参考块与权限区域产生有交集,则将该交集区域的备选MV的RD cost设置成可以选择的最大值,使得在最优MV选择时无法选中此备选MV。

实施例六

本实施例公开了一种对视频权限区域加保护的加解密系统,该系统包括视频编码装置、解码模块,以及视频流解码装置,所针对的视频包括至少一帧图像,各图像均包含权限区域(可以为空)和非权限区域。

视频编码装置用于对视频进行具备加密编码,可使用实施例三中的视频编码装置。

至于解码模块,其针对的是低权限的用户,其仅可查看经加密的视频,即权限区域被加密的视频,不可解码出原始视频。该解码模块对视频流中的各帧图像的编码块以排列顺序逐个进行解码,使用兼容视频编码标准的解码器即可。如果不需要低权限的用户,则可以省略该解码模块。

而视频流解码装置则针对的是高权限用户,其可以解码出原始视频,该原始视频并非指代未经压缩,而是强调权限区域被正确还原出。该视频流解码装置可采用实施例四中的视频流解码装置。

视频编码装置和视频流解码装置需要对应,即视频流解码装置中(解密单元)所要解密的语法元素,与视频编码装置中(加密单元)所要加密的语法元素相对应。所谓的相对应,即对于同一个编码块,视频编码装置所加密的语法元素与视频流解码装置所解密的语法元素相同。

本系统的运行过程大致为:在一符合视频编码标准的视频编码装置的基础上,通过对熵编码部分需要编码权限区域的编码块中的语法元素进行混沌密钥异或运算,以及对权限区域与特殊非权限区域的边界进行帧内PCM模式编码与帧间mv的限制性估计来处理错误漂移的问题,得到局部加密后的码流。

视频编码装置将加密后的码流与权限区域的位置信息进行封装后,一起送入解码端。对于低权限的用户,解码模块直接对加密后的码流使用兼容标准的解码器进行解码,即对视频流中的各帧图像的编码块以排列顺序逐个进行解码,得到的序列为权限区域被加密而非权限区域可见的视频。对于高级权限的用户,视频流解码装置在解码的过程中需要对权限区域的各编码块的语法元素进行解码读取后,再经过同一混沌密钥异或解密,方能得到加密前的实际语法元素值,然后再根据解密的语法元素对权限区域的编码块正确解码;对于非权限区域的编码块正常解码即可,由此得到的解码解密序列为权限区域被恢复的视频。

这样的加解密系统可以有效地针对查看码流的用户进行分级,对一些不具有权限的用户限制其查看权限区域部分的内容,从而达到隐私保护的目的。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

技术分类

06120115925585