CN109714599A - 基于hevc的视频水印处理的方法及装置 - Google Patents
基于hevc的视频水印处理的方法及装置 Download PDFInfo
- Publication number
- CN109714599A CN109714599A CN201711019229.XA CN201711019229A CN109714599A CN 109714599 A CN109714599 A CN 109714599A CN 201711019229 A CN201711019229 A CN 201711019229A CN 109714599 A CN109714599 A CN 109714599A
- Authority
- CN
- China
- Prior art keywords
- coefficient block
- distance
- swimming
- coefficient
- watermark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例提供一种基于HEVC的视频水印处理的方法及装置,该方法包括:对水印信息预处理,以获取到多个游程序列;将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块;利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。通过对水印信息进行预处理,将获取到的多个游程序列嵌入到HEVC压缩域中,能够对HEVC视频内容进行版权保护。而且,利用I帧编码过程中得到的系数块获取含水印的视频码流,消除帧内误差传播,便捷的实现水印信息的嵌入,提高水印信息嵌入的灵活性,而且也可以简化后续的水印信息提取过程。
Description
技术领域
本发明涉及视频编码及计算机技术领域,具体而言,涉及一种基于HEVC的视频水印处理的方法及装置。
背景技术
随着多媒体信息爆发时代的到来,与其相关的问题也逐渐暴露出来,特别是信息安全问题日益突出。
目前视频、游戏、电影、音乐、软件的盗版每年造成的经济损失就达到千亿美元级别。盗版行为在造成经济损失的同时,也严重打击了创作者的积极性,对市场健康发展造成了负面影响。与此同时,借助多样化的多媒体信息编辑软件,盗版者可以对原数字产品进行无损拷贝,并通过互联网进行传播。甚至,为了达到一些目的,可以几乎毫无痕迹地对相关数字产品进行各种各样的篡改、伪造,使信息的真实性和完整性受到威胁。
为了方便地认证数字产品的版权以及完整性,加密和数字签名技术被首先应用其中。但是加密保护具有其特有的局限性。这种方案只能保证数据在传输过程中的安全。当接收端接收到数据并进行解密以后,加密技术就丧失了其保护作用。并且,密码技术的可靠性目前也日益受到挑战。同时,由于数字签名技术无法在数字图像、音频和视频中得到有效应用,数字水印技术应运而生,该技术可以很好地弥补加密和数字签名技术的缺陷。
数字水印技术是利用载体数据的空间以及时间冗余,将数字产品的版权信息嵌入到数字产品中,并且保证操作的隐蔽性和不可见性。随着视频压缩技术的发展,作为视频版权保护的主要技术——视频水印也得到了广泛关注。目前,主流的视频编码标准有MPEG-x系列和H.26x系列,并且视频水印相关技术也主要围绕MPEG-4和H.264视频编码标准而展开。
2013年新一代视频压缩标准HEVC(High Efficiency Video Coding)被提出,相比于以往的视频压缩标准,HEVC的编码性能有了很大的提高,在高清、超高清视频压缩方面取得了良好的表现。然而由于HEVC编码结构的变化,以往的视频水印的相关技术无法应用在新一代的HEVC视频编码标准。
为了保证未来视频领域的健康发展,基于HEVC视频编码标准的视频水印是目前亟待解决的问题,因此需要一种新的基于HEVC的视频水印处理的方法及装置。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种基于HEVC的视频水印处理的方法及装置,能够基于HEVC视频编码标准在视频数据中嵌入水印信息。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的第一方面,提供一种基于HEVC的视频水印处理的方法,其中,所述方法包括:
对水印信息预处理,以获取到多个游程序列;
将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块;
利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。
根据一些实施例,所述利用所述系数块以及所述多个游程序列,获取到含水印的视频码流,包括:复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;
重复执行以上操作,直到获取到所述视频数据的所有的系数块,从而获取到所述视频数据的含水印的视频码流。
根据一些实施例,在每次获取到系数块之后,所述方法还包括:
判断所述系数块扫描后是否为帧内亮度分量不全为零的系数块且所述多个游程序列包括所述系数块对应的游程序列;若是,则复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到含水印的所述系数块的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;若否,则对所述系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块。
根据一些实施例,所述在其中一个系数块中嵌入对应的游程序列,包括:在所述系数块扫描后得到的最后一位不为零的系数的后一位嵌入对应的游程序列。
根据一些实施例,所述在其中一个系数块中嵌入对应的游程序列,包括:当所述系数块扫描后的帧内亮度分量为4×4,根据所述系数块的最后一位系数的奇偶性与所述系数块的所有系数的奇偶性,在所述系数块中嵌入对应的游程序列。
根据一些实施例,所述方法还包括:将含水印的视频码流进行熵解码,以获取到含水印的系数块;从所述系数块中最后一位不为零的系数中提取出嵌入的游程序列,从而获取到未嵌入水印信息的视频数据。
根据一些实施例,所述对水印信息预处理,以获取到多个游程序列,包括:对所述水印信息进行置乱,以得到置乱后的水印图像;将所述置乱后的水印图像分为多个指定大小的图像块;
对每个图像块进行全相位双正交变换APBT,以获取到每个图像块的APBT系数;对各APBT系数进行板条扫描并进行游程编码得到一个游程序列;对所述游程序列进行游程分离,得到多个游程序列。
根据一些实施例,所述多个游程序列包括:
第一游程序列、第二游程序列以及第第三游程序列;
其中,所述第一游程序列中的各组数据的变换系数的绝对值或游程长度不超过2;所述第二游程序列中的各组数据的变换系数的绝对值大于1;所述第三游程序列中的各组数据的游程长度大于1。
根据本发明的第二方面,提供一种基于HEVC的视频水印处理的装置,其中,所述装置包括:
预处理模块,用于对水印信息预处理,以获取到多个游程序列;
编码模块,用于将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块;
获取模块,用于利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。
根据一些实施例,所述获取模块,包括:
复制单元,用于复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;
控制单元,用于控制所述复制单元重复执行以上操作,直到获取到所述视频数据的所有的系数块,从而获取到所述视频数据的含水印的视频码流。
根据一些实施例,所述装置还包括:
判断模块,用于判断所述系数块扫描后是否为帧内亮度分量不全为零的系数块且所述多个游程序列包括所述系数块对应的游程序列;
所述复制单元,用于当所述判断模块判断结果为是时,复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到含水印的所述系数块的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;
编码模块,用于在所述判断模块判断结果为否时,对所述系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块。
根据本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如第一方面所述的方法步骤。
根据本发明的第四方面,提供一种电子设备,其中,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面所述的方法步骤。
本发明实施例中,通过对水印信息预处理,以获取到多个游程序列,以及将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块,从而利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。通过对水印信息进行预处理,将获取到的多个游程序列嵌入到HEVC压缩域中,能够对HEVC视频内容进行版权保护。而且,利用I帧编码过程中得到的系数块获取含水印的视频码流,消除帧内误差传播,便捷的实现水印信息的嵌入,提高水印信息嵌入的灵活性,而且也可以简化后续的水印信息提取过程。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施例示出的一种基于HEVC的视频水印处理的方法的流程图;
图2是根据一示例性实施例示出的一种获取到视频数据的含水印的视频码流的示意图;
图3A-图3C分别为本发明实施例示出的对角扫描、水平扫描以及垂直扫描的示意图;
图4是根据一示例性实施例示出的另一种获取到视频数据的含水印的视频码流的示意图;
图5是根据一示例性实施例示出的对水印信息进行预处理以获取到多个游程序列的方法的流程图;
图6是根据一示例性实施例示出的游程分离算法的流程图;
图7是根据一示例性实施例示出的游程分离示意图;
图8是根据一示例性实施例示出的一种基于HEVC的视频水印处理的装置的结构示意图;
图9是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
虽然本申请中用第一/第二/第三等术语来描述游程序列,但这些术语并不能限制游程序列,仅用于游程序列彼此区分开,本申请中的游程序列不应限制于此。
图1是根据一示例性实施例示出的一种基于HEVC的视频水印处理的方法的流程图。
如图1所示,在S110中,对水印信息预处理,以获取到多个游程序列。
根据示例实施例,游程序列可以包括但不限于:第一游程序列、第二游程序列和第三游程序列。需要说明的是,本发明实施例中的游程序列并不限于此,例如,还可以包括第四游程序列。本发明实施例中仅以第一游程序列、第二游程序列和第三游程序列为例进行说明,将第一游程序列设置为对应帧内亮度分量为4×4的系数块,其中第一游程序列中的各组数据的变换系数的绝对值或游程长度不超过2。将第二游程序列设置为对应帧内亮度分量为8×8的系数块,第二游程序列中的各组数据的变换系数的绝对值大于1。将第三游程序列设置为对应帧内亮度分量为16×16的系数块,第三游程序列中的各组数据的游程长度大于1。
在S120中,将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块。
需要说明的是,现有技术中,视频水印的嵌入时机大致上可以分为4种:量化前的变换系数、量化后的变换系数、运动矢量以及熵编码。在HEVC视频编码中,由于量化前的变换系数和量化后的变换系数均需参与到下一个帧的预测过程,导致很难确定最终的最优系数块是哪一个,而且,将水印嵌入量化前的变换系数和量化后的变换系数中,由于编码后的数据仍然会通过解码进入下一系数块的预测,因此会在预测过程中导致帧内误差传播。而运动矢量所携带的信息又有限,若将水印信息嵌入运动矢量中,如果在解码端不进行水印信息的提取,又会导致无法获得重建视频。而根据变换和预测模式的特性将水印信息嵌入量化后系数的特定位置来消除帧内误差传播,这种水印嵌入过程过于复杂,并且嵌入的位置有限。为了避免上述种种技术问题,本发明实施例中首先将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块后,利用水印信息以及I帧编码过程中得到的系数块获取到含水印的视频码流。
需要说明的是,I帧又称帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码,可以简单理解为一张静态画面。视频序列中的第一个帧始终都是I帧,因为它是关键帧。本发明实施例中利用水印信息以及I帧编码过程中得到的系数块获取到含水印的视频码流,可以消除帧内误差在预测过程中的传播。
在S130中,利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。
根据示例实施例,可以通过以下方法获取到含水印的视频码流:复制系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块。重复执行上述操作,直到获取到所述视频数据的所有的系数块,从而获取到所述视频数据的含水印的视频码流。
图2是根据一示例性实施例示出的一种获取到视频数据的含水印的视频码流的示意图。
如图2所示,在S210中,获取到系数块。
需要指出的是,获取到的第一个系数块为该视频数据在I帧编码过程中得到的系数块。
在S220中,判断是否获取到该视频数据的所有系数块。
若否,则执行S230。
若是,则执行S260。
在S230中,复制该系数块,以获取到两个系数块。
在S240中,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流。
在S250中,对其中另一个系数块进行熵编码以及HEVC编码。以及继续进行S210。
在S260中,在获取到的系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流系数块。
本发明上述实施例中,通过对以I帧得到的系数块为基础的各系数块进行复制,利用其中一个对视频数据中其他帧进行预测,利用另一个嵌入水印,从而获取到含水印的视频码流,可以避免含水印的系数块造成的帧内误差传播,便捷的实现水印信息的嵌入,提高水印信息嵌入的灵活性,而且也可以简化后续的水印信息提取过程。
根据示例实施例,获取到视频数据的含水印的视频码流时,每次获取到系数块之后,可以进一步判断该系数块扫描后是否为帧内亮度分量不全为零的系数块且所述多个游程序列包括所述系数块对应的游程序列,若是,则复制该系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到含水印的所述系数块的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块。若否,则对所述系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块。
需要说明的是,在HEVC标准中,在对量化后的系数块进行熵编码之前,需要对系数块进行扫描,将量化后的系数块排列成一维的变换系数。具体采用哪种扫描方式需要通过参考变换系数幅值的分布来决定。HEVC的扫描方式可以采用对角扫描、水平扫描以及垂直扫描。如图3A、图3B、图3C所示,其分别为本发明实施例示出的对角扫描、水平扫描以及垂直扫描的示意图。对于HEVC中大于4×4的系数块,可以首先将其分割为若干个4×4的系数块,子系数块可以按照大系数块内的扫描顺序扫描。
需要指出的是,系数块的帧内亮度分量可以分为以下几种:为4×4、8×8、16×16以及32×32。本发明实施例中仅以第一游程序列、第二游程序列和第三游程序列为例进行说明,这些游程序列对应的系数块可以是帧内亮度分量为4×4、8×8以及16×16的系数块。在每获取到系数块后,可以对该系数块进行扫描,当扫描后的系数块满足为帧内亮度分量不全为零,且是4×4、8×8以及16×16的系数块中之一,则需要在该系数块嵌入水印信息,否则,直接利用该系数块预测下一个系数块。
图4是根据一示例性实施例示出的另一种获取到视频数据的含水印的视频码流的示意图。
如图4所示,在S410中,获取到系数块。
需要指出的是,获取到的第一个系数块为该视频数据在I帧编码过程中得到的系数块。
在S420中,判断是否获取到该视频数据的所有系数块。
若否,则执行S430。
若是,则执行S470。
在S430中,判断该系数块扫描后是否为帧内亮度分量不全为零的系数块且所述多个游程序列包括所述系数块对应的游程序列。
若是,则执行S440。
若否,则执行S460。
在S440中,复制该系数块,以获取到两个系数块。
在S450中,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流。
在S460中,对其中另一个系数块(或者该系数块)进行熵编码以及HEVC编码。以及继续进行S310。
在S470中,在获取到的系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流系数块。
本发明上述实施例中,通过对以I帧得到的系数块为基础的各系数块进行复制,利用其中一个对视频数据中其他帧进行预测,利用另一个嵌入水印,从而获取到含水印的视频码流,可以避免含水印的系数块造成的帧内误差传播,便捷的实现水印信息的嵌入,提高水印信息嵌入的灵活性,而且也可以简化后续的水印信息提取过程,而且将水印信息嵌入到扫描后的系数块,以减少对视频质量和码率的影响。
根据示例实施例,在系数块中嵌入对应的游程序列时,可以在系数块扫描后得到的最后一位不为零的系数的后一位嵌入对应的游程序列。
需要说明的是,在HEVC视频编码标准中,对帧内亮度分量4×4的系数块采用了符号数据隐藏技术,来提高编码效率。符号数据隐藏技术是通过系数和的奇偶性,来决定直流系数的符号。因此,在帧内亮度分量4×4的系数块中嵌入水印时,要保证水印嵌入前后系数和的奇偶性不发生改变,否则将导致重建图像亮度的改变,影响主观质量。因此,对于系数块扫描后的帧内亮度分量为4×4的系数块,根据所述系数块的最后一位系数的奇偶性与所述系数块的所有系数的奇偶性,在所述系数块中嵌入对应的游程序列。
例如,对于特殊的4×4系数块,将根据最后一位的奇偶性与系数块系数和的奇偶性进行处理。如果待嵌入水印信息的系数的奇偶性与系数和的奇偶性相同,则直接将水印数据嵌入,如果待嵌入水印的系数的奇偶性与系数和的奇偶性不同,则在最后一位不为零的系数的后一位嵌入水印信息后,将最后一位不为零的系数加一。
进一步的,在获取到含水印的视频码流后,可以将该含水印的视频码流进行熵解码,获取到含水印的系数块,并从所述系数块中最后一位不为零的系数中提取出嵌入的游程序列,从而获取到未嵌入水印信息的视频数据。而每个含水印的视频码流中提取出的游程序列可以通过预处理的相反操作,提取出水印信息。
例如,对视频码流进行熵解码后,可以将4×4系数块中提取的水印写入第一游程序列RLC1,将8×8的系数块中提取的水印写入第二游程序列RLC2,将16×16系数块中提取的水印写入点游程序列RLC3中。然后根据游程分离算法将这3个游程序列合成一个RLC。通过水印预处理的反过程即可提取出水印信息。
本发明实施例中,通过对水印信息预处理,以获取到多个游程序列,以及将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块,从而利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。通过对水印信息进行预处理,将获取到的多个游程序列嵌入到HEVC压缩域中,能够对HEVC视频内容进行版权保护。而且,利用I帧编码过程中得到的系数块获取含水印的视频码流,消除帧内误差传播,便捷的实现水印信息的嵌入,提高水印信息嵌入的灵活性,而且也可以简化后续的水印信息提取过程。
下面结合具体的应用场景,对本发明实施例中提出的对水印信息预处理,以获取到多个游程序列的方法进行详细说明。
图5是根据一示例性实施例示出的对水印信息进行预处理以获取到多个游程序列的方法的流程图。需要说明的是,本发明为了提升水印的嵌入容量,可以首先采用基于离散余弦变换DCT的类JPEG图像压缩算法对水印信息进行无损压缩。
如图5所示,在S510中,对所述水印信息进行置乱,以得到置乱后的水印图像。例如,可以进行Arnold置乱得到置乱后的水印图像。
在S520中,将所述置乱后的水印图像分为多个指定大小的图像块。
例如,可以将置乱后的水印图像分为若干个8×8大小的不重叠的图像块。
在S530中,对每个图像块进行全相位双正交变换APBT,以获取到每个图像块的APBT系数。例如,对上述多个8×8的图像块进行APBT变换得到多个APBT变换系数。
在S540中,对各APBT系数进行板条扫描并进行游程编码得到一个游程序列。
例如,对多个APBT变换系数进行板条Zig-zag扫描并进行游程编码得到一个游程序列。
在S550中,对所述游程序列进行游程分离,得到多个游程序列。
需要说明的是,游程分离的主要目的是将游程中较大的数分离出来,对其进行进制转换,然后将其进行嵌入。其主要原因是游程序列中含有一些较大的数如DC系数、较大的AC系数、游程长度以及游程结束长度,而HEVC中的TU经过变换、量化以后,量化系数较小,此时若采用游程分离算法处理后的数据,将更加接近于HEVC的量化后的系数,从而可减小水印嵌入对视频质量的影响,增加水印的嵌入容量。
图6是根据一示例性实施例示出的游程分离算法的流程图。需要说明的是,对于二值图像数据,其经过离散余弦变换(Discrete Cosine Transform,DCT)后的DC系数最大为64,因此,在算法初始阶段首先将DC系数与64做差值(S601),得到处理后的游程序列RLC,并且该序列奇数位置为DC/AC系数,偶数位置为游程长度,算法处理时每次读入一对数据[Coef,Pos],其中Coef代表DC/AC系数,Pos为游程长度(S602)。判断游程长度是Pos是否为结束标志(S603),如果是进一步判断Pos是否等于63(S604),如果RLC中的游程长度为63,说明DC系数为64,则将[0,2]写入第一游程序列RLC1中(S605)。如果RLC中的游程长度不等于63,RLC中的游程位置为游程结尾,则向第一游程序列RLC1中写入[0,-2](S606)。如果游程长度是Pos不是结束标志,进一步判断RLC中的Coef的绝对值是否大于1(S607),如果Coef的绝对值大于1,则进一步判断RLC中的Pos的绝对值是否大于1(S608),如果Pos的绝对值大于1,则向第一游程序列RLC1中写入[0,-1],并向第二游程序列RLC2中写入Coef,向第三游程序列RLC3中写入Pos(S609)。当Coef的绝对值大于1,但Pos的绝对值不大于1时,则将[0,Pos]写入RLC1,将Coef写入RLC2(S610)。当Coef的绝对值不大于1,则进一步判断Pos的绝对值是否大于1(S611),当Pos的值大于1时,则将[Coef,-1]写入RLC1,将Coef写入RLC2(S612)。如果Coef和Pos的绝对值都不大于1时,则向RLC1中写入[Coef,Pos](S613)。输出第一游程序列RLC1、第二游程序列RLC2以及第三游程序列RLC3(S614)。
图7是根据一示例性实施例示出的游程分离示意图。游程序列RLC经过游程分离后,可以将得到为3个RLC序列,其中第一游程序列RLC1中为绝对值不超过2的值,第二游程序列RLC2中为变换系数大于1的值,第三游程序列RLC3中为游程长度大于1的值。
需要说明的是,经过实验统计,RLC1的数量与RLC的数量相等,RLC2的数量大于RLC3的数量,小于RLC1的数量。而RLC3的数量最少。然后将得到的RLC2和RLC3序列,进一步进行3进制转换,这样可以保证RLC2和RLC3中值不超过2,从而进一步减少水印数据对视频质量的影响。
本发明实施例中,对水印信息进行预处理,通过无损压缩和游程分离,将信息嵌入到HEVC压缩域中,在提升HEVC视频水印容量的同时,最大限度的减少了水印数据对视频内容的影响,而且可以无损的恢复出视频内容和水印信息。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。
下述为本发明装置实施例,可以用于执行本发明方法实施例。在下文对装置的描述中,与前述方法相同的部分,将不再赘述。
图8是根据一示例性实施例示出的一种基于HEVC的视频水印处理的装置的结构示意图。如图8所示,该装置800包括:
预处理模块810,用于对水印信息预处理,以获取到多个游程序列;
编码模块820,用于将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块;
获取模块830,用于利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。
根据一些实施例,所述获取模块830,包括:
复制单元832,用于复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;
控制单元834,用于控制所述复制单元重复执行以上操作,直到获取到所述视频数据的所有的系数块,从而获取到所述视频数据的含水印的视频码流。
根据一些实施例,所述装置800还包括:
判断模块840,用于判断所述系数块是否为扫描后的帧内亮度分量不全为零的系数块且所述多个游程序列包括所述系数块对应的游程序列;
所述复制单元832,用于当所述判断模块判断结果为是时,复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到含水印的所述系数块的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;
编码模块850,用于在所述判断模块判断结果为否时,对所述系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块。
本发明实施例中,通过对水印信息预处理,以获取到多个游程序列,以及将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块,从而利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。通过对水印信息进行预处理,将获取到的多个游程序列嵌入到HEVC压缩域中,能够对HEVC视频内容进行版权保护。而且,利用I帧编码过程中得到的系数块获取含水印的视频码流,消除帧内误差传播,便捷的实现水印信息的嵌入,提高水印信息嵌入的灵活性,而且也可以简化后续的水印信息提取过程。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可以执行:对水印信息预处理,以获取到多个游程序列;将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块;利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。
图9是根据一示例性实施例示出的一种电子设备的结构示意图。需要说明的是,图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的终端中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括预处理模块、编码模块和获取模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
以上具体示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (13)
1.一种基于HEVC的视频水印处理的方法,其特征在于,所述方法包括:
对水印信息预处理,以获取到多个游程序列;
将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块;
利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。
2.如权利要求1所述的方法,其特征在于,所述利用所述系数块以及所述多个游程序列,获取到含水印的视频码流,包括:
复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;
重复执行以上操作,直到获取到所述视频数据的所有的系数块,从而获取到所述视频数据的含水印的视频码流。
3.如权利要求2所述的方法,其特征在于,在每次获取到系数块之后,所述方法还包括:
判断所述系数块扫描后是否为帧内亮度分量不全为零的系数块且所述多个游程序列包括所述系数块对应的游程序列;
若是,则复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到含水印的所述系数块的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;
若否,则对所述系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块。
4.如权利要求3所述的方法,其特征在于,所述在其中一个系数块中嵌入对应的游程序列,包括:
在所述系数块扫描后得到的最后一位不为零的系数的后一位嵌入对应的游程序列。
5.如权利要求4所述的方法,其特征在于,所述在其中一个系数块中嵌入对应的游程序列,包括:
当所述系数块扫描后的帧内亮度分量为4×4,根据所述系数块的最后一位系数的奇偶性与所述系数块的所有系数的奇偶性,在所述系数块中嵌入对应的游程序列。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
将含水印的视频码流进行熵解码,以获取到含水印的系数块;
从所述系数块中最后一位不为零的系数中提取出嵌入的游程序列,从而获取到未嵌入水印信息的视频数据。
7.如权利要求1所述的方法,其特征在于,所述对水印信息预处理,以获取到多个游程序列,包括:
对所述水印信息进行置乱,以得到置乱后的水印图像;
将所述置乱后的水印图像分为多个指定大小的图像块;
对每个图像块进行全相位双正交变换APBT,以获取到每个图像块的APBT系数;
对各APBT系数进行板条扫描并进行游程编码得到一个游程序列;
对所述游程序列进行游程分离,得到多个游程序列。
8.如权利要求7所述的方法,其特征在于,所述多个游程序列包括:
第一游程序列、第二游程序列以及第第三游程序列;
其中,所述第一游程序列中的各组数据的变换系数的绝对值或游程长度不超过2;所述第二游程序列中的各组数据的变换系数的绝对值大于1;所述第三游程序列中的各组数据的游程长度大于1。
9.一种基于HEVC的视频水印处理的装置,其特征在于,所述装置包括:
预处理模块,用于对水印信息预处理,以获取到多个游程序列;
编码模块,用于将视频数据进行HEVC编码,获取到I帧在编码过程中得到的系数块;
获取模块,用于利用所述系数块以及所述多个游程序列,获取到含水印的视频码流。
10.如权利要求9所述的装置,其特征在于,所述获取模块,包括:
复制单元,用于复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到所述系数块的含水印的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;
控制单元,用于控制所述复制单元重复执行以上操作,直到获取到所述视频数据的所有的系数块,从而获取到所述视频数据的含水印的视频码流。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断所述系数块扫描后是否为帧内亮度分量不全为零的系数块且所述多个游程序列包括所述系数块对应的游程序列;
所述复制单元,用于当所述判断模块判断结果为是时,复制所述系数块,在其中一个系数块中嵌入对应的游程序列,并进行熵编码,以获取到含水印的所述系数块的视频码流,对其中另一个系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块;
编码模块,用于在所述判断模块判断结果为否时,对所述系数块进行熵编码以及HEVC编码,以获取到所述视频数据的下一个系数块。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8任一项所述的方法步骤。
13.一种电子设备,其特征在于,包括:一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711019229.XA CN109714599A (zh) | 2017-10-26 | 2017-10-26 | 基于hevc的视频水印处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711019229.XA CN109714599A (zh) | 2017-10-26 | 2017-10-26 | 基于hevc的视频水印处理的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109714599A true CN109714599A (zh) | 2019-05-03 |
Family
ID=66252917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711019229.XA Pending CN109714599A (zh) | 2017-10-26 | 2017-10-26 | 基于hevc的视频水印处理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109714599A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565780A (zh) * | 2020-12-18 | 2021-03-26 | 咪咕互动娱乐有限公司 | 游戏状态信息共享方法、网络设备、存储介质 |
CN115396743A (zh) * | 2022-08-26 | 2022-11-25 | 深圳万兴软件有限公司 | 视频去水印方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020085737A1 (en) * | 2001-01-02 | 2002-07-04 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for embedding watermark information in compressed image data, and apparatus and method for retrieving watermark information from compressed image data having watermark information embedded therein |
CN1630884A (zh) * | 2001-06-13 | 2005-06-22 | 高通股份有限公司 | 对数字图像加水印的设备与方法 |
CN102972022A (zh) * | 2010-04-12 | 2013-03-13 | 松下电器产业株式会社 | 滤波器的定位和选择 |
CN104778651A (zh) * | 2015-03-31 | 2015-07-15 | 北京交通大学 | 基于超像素的数字图像认证方法 |
EP1446953B1 (en) * | 2001-11-21 | 2017-01-11 | Vixs Systems Inc. | Multiple channel video transcoding |
-
2017
- 2017-10-26 CN CN201711019229.XA patent/CN109714599A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020085737A1 (en) * | 2001-01-02 | 2002-07-04 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for embedding watermark information in compressed image data, and apparatus and method for retrieving watermark information from compressed image data having watermark information embedded therein |
CN1630884A (zh) * | 2001-06-13 | 2005-06-22 | 高通股份有限公司 | 对数字图像加水印的设备与方法 |
EP1446953B1 (en) * | 2001-11-21 | 2017-01-11 | Vixs Systems Inc. | Multiple channel video transcoding |
CN102972022A (zh) * | 2010-04-12 | 2013-03-13 | 松下电器产业株式会社 | 滤波器的定位和选择 |
CN104778651A (zh) * | 2015-03-31 | 2015-07-15 | 北京交通大学 | 基于超像素的数字图像认证方法 |
Non-Patent Citations (2)
Title |
---|
单荣杨: "基于APBT的类JPEG图像压缩以及HEVC视频编码与水印算法研究", 《中国优秀硕士论文全文数据库(电子期刊)》 * |
邢玲: "基于VLC的压缩域视频水印算法研究", 《中国优秀硕士论文全文数据库(电子期刊)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565780A (zh) * | 2020-12-18 | 2021-03-26 | 咪咕互动娱乐有限公司 | 游戏状态信息共享方法、网络设备、存储介质 |
CN115396743A (zh) * | 2022-08-26 | 2022-11-25 | 深圳万兴软件有限公司 | 视频去水印方法、装置、设备及存储介质 |
CN115396743B (zh) * | 2022-08-26 | 2023-08-11 | 深圳万兴软件有限公司 | 视频去水印方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102144237B (zh) | 压缩媒体的有效水印方法 | |
CN103843353B (zh) | 重建数据在分层信号质量层次中的传送 | |
JP5313916B2 (ja) | テクスチャ合成を利用した映像の符号化、復号化の方法及び装置 | |
US20060107056A1 (en) | Techniques to manage digital media | |
Sun et al. | Semantic structured image coding framework for multiple intelligent applications | |
JPH11284843A (ja) | ウォ―タマ―クをディジタル画像シ―ケンスのビットストリ―ム表現に組み込むための方法及び装置 | |
EP1395950A2 (en) | Apparatus and method for watermarking a digital image | |
CN114930835A (zh) | 变换系数为水印提供嵌入式信令的用途 | |
Huo et al. | A controllable error-drift elimination scheme for watermarking algorithm in H. 264/AVC stream | |
JP2002325170A (ja) | 画像処理装置及びその方法並びにプログラムコード、記憶媒体 | |
CN107493477B (zh) | 对帧进行编码和解码的方法、系统和计算机可读存储介质 | |
Guo et al. | 3-d context entropy model for improved practical image compression | |
CN101389009A (zh) | 一种水印信息的嵌入、检测方法及装置 | |
Joshi et al. | Real time implementation of digital watermarking algorithm for image and video application | |
CN109714599A (zh) | 基于hevc的视频水印处理的方法及装置 | |
CN113538197B (zh) | 水印提取方法、装置、存储介质以及电子设备 | |
EP1879390A2 (en) | Combined video de-synchronization and compression method applicable to collusion-resilient fingerprint, and corresponding encoding device and encoded video stream | |
WO2015028098A1 (en) | Method and system for embedding information and authenticating a h.264 video using a digital watermark | |
US7239716B2 (en) | Data insertion device and method of inserting data | |
CN112714230A (zh) | 基于音频侧信道的鲁棒视频隐写方法和装置 | |
Lo et al. | Generic attacks on content-based video stream authentication | |
WO2013112744A2 (en) | Compressed domain watermarking with reduced error propagation | |
JP2001024876A (ja) | 画像処理方法及び装置と記憶媒体 | |
JP4944966B2 (ja) | デジタル画像をデジタル透かしにより印付ける方法 | |
CN113825024A (zh) | 视频处理方法和装置、电子设备、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190503 |