CN110267115B - 一种视频安全控制方法、装置、设备及介质 - Google Patents
一种视频安全控制方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110267115B CN110267115B CN201910522200.6A CN201910522200A CN110267115B CN 110267115 B CN110267115 B CN 110267115B CN 201910522200 A CN201910522200 A CN 201910522200A CN 110267115 B CN110267115 B CN 110267115B
- Authority
- CN
- China
- Prior art keywords
- watermark
- video
- target video
- pixel
- dot matrix
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
Abstract
本申请实施例公开了一种视频安全控制方法、装置、设备及介质,该方法包括:响应于视频导出请求,确定第一目标视频的导出来源标识;该视频导出请求用于请求对第一目标视频添加水印并导出;该导出来源标识是根据终端唯一标识和服务器为终端上当前登录用户分配的唯一标识拼接生成的;根据第一目标视频的像素数和第一目标视频的导出来源标识,确定水印位置点阵;该水印位置点阵上各点的赋值用于表示针对点对应的像素位置是否增加水印;通过改变像素值的方式,基于水印位置点阵为第一目标视频增加水印得到含水印的第一目标视频;导出该含水印的第一目标视频。该方法能够有效地解决视频溯源问题,并且保证添加的水印不影响视频内容的可视化。
Description
技术领域
本申请涉及视频溯源技术领域,具体涉及一种视频安全控制方法、装置、设备以及介质。
背景技术
随着互联网技术发展,视频作为信息载体已经在各个领域得到广泛应用,尤其是随着视频监控应用在居民日常生活、视频监控市场和国家安全等领域的全面使用,监控视频的安全问题已经成为视频应用的重大问题。
在现实应用中,为了防止视频被盗用,常常采用水印技术在视频上增加水印,如此能够有效防止非法者盗用,也能够很好地溯源。目前常用水印技术有两种,其中一种为隐式水印技术,顾名思义,基于这种技术打的水印不太明显,比较隐蔽,这是其优点,同时也是其缺点,在针对翻拍或者录屏视频进行溯源时,却由于角度、光线等原因无法重新计算出这种隐式的水印,这就导致无法溯源。另一种为显式水印技术,顾名思义,基于这种技术打的水印比较明显,影响视频内容的显示导致视频观感性差,更重要的是,非法者很轻松就会知道水印位置,会想办法将其截去,从而导致无法溯源。
如今视频应用的发展,亟需研究一种方案在能够解决溯源问题的同时还能够保证不影响视频内容的可视化。
发明内容
本申请实施例提供了一种视频安全控制方法、装置、设备以及介质,能够有效地解决溯源问题,并且保证不影响视频内容的可视化。
有鉴于此,本申请第一方面提供了一种视频安全控制方法,包括:
响应于视频导出请求,确定所述第一目标视频的导出来源标识;其中,所述视频导出请求用于请求对第一目标视频添加水印并导出;所述导出来源标识是根据所述终端唯一标识和服务器为所述终端上当前登录用户分配的唯一标识拼接生成的;
根据所述第一目标视频的像素数和所述第一目标视频的导出来源标识,确定水印位置点阵;所述水印位置点阵上各点的赋值用于表示针对点对应的像素位置是否增加水印;
通过改变像素值的方式,基于所述水印位置点阵为所述第一目标视频增加水印得到含水印的第一目标视频;
导出所述含水印的第一目标视频。
可选的,所述通过改变像素值的方式,基于所述水印位置点阵为所属第一目标视频增加水印得到带水印的第一目标视频,包括:
基于所述水印位置点阵中赋值表示基于点对应的像素位置增加水印的点,确定所述第一目标视频中视频帧图像中待嵌入水印的像素位置;
改变所述待嵌入水印的像素位置对应的像素值。
可选的,所述改变所述待嵌入水印的像素位置的像素值,包括:
确定所述待嵌入水印的像素位置的像素值,作为第一像素值;
根据所述第一像素值的相反值为所述待嵌入水印的像素位置重新赋值。
可选的,所述改变所述待嵌入水印的像素位置的像素值,包括:
确定所述待嵌入水印的像素位置对应的像素值,作为第一像素值;
确定所述待嵌入水印的像素位置相邻的第二像素位置,并确定所述第二像素位置的像素平均值,作为第二像素值;
对所述第一像素值和所述第二像素值进行加权得到加权值;
根据所述加权值为所述待嵌入水印的像素位置重新赋值。
可选的,所述方法还包括:
获取待溯源的第一视频;
根据所述第一视频中视频帧图像的像素确定出所述第一视频对应的第一水印位置点阵中各点的赋值,根据所述第一水印位置点阵中各点的赋值恢复出所述第一视频对应的源终端的唯一标识和源用户的唯一标识。
可选的,所述方法还包括:
当所述登录用户的权限验证通过时,为所述登录用户激活视频控制界面上的除水印控件;
响应于用户针对含水印的第二视频触发的除水印操作,读取所述含水印的第二视频;
通过所述改变像素值的方式对应的逆处理方式,基于所述含水印的第二视频对应的含水印的像素位置,从所述含水印的第二视频中去除水印恢复出第二视频。
可选的,所述方法还包括:
根据所述含水印的第二视频中一帧图像,确定点阵中每个点对应的像素位置的像素值与点周围像素值的第一平均距离;
通过所述改变像素值的方式对应的逆处理方式恢复点阵中每个点对应的原始像素值,确定点对应的原始像素值与点周围像素值的第二平均距离;
针对点阵中每个点,根据点对应的第一平均距离和第二平均距离之间的差异程度与预设阈值的比较结果;
根据所述比较结果确定所述第二视频对应的含水印的像素位置。
可选的,所述方法还包括:
根据所述含水印的第二视频中多帧图像中每帧图像,分别确定点阵中每个点对应的像素值与点周围像素值的第一平均距离;
通过所述改变像素值的方式对应的逆处理方式恢复点阵中每个点位置对应的原始像素值,确定点对应的原始像素值与点周期像素值的第二平均距离;
基于所述多帧图像中每帧图像,针对点阵中每个点,根据点对应的第一平均距离和第二平均距离之间的差异程度与预设阈值的比较结果;
根据点阵中每个点各自对应的多个比较结果,确定所述第二视频对应的含水印的像素位置。
可选的,所述方法还包括:
利用钩子函数拦截即将写入的所述第二视频的明文数据,通过加密算法和加密密钥对所述第二视频的明文数据进行加密得到加密文件;
利用钩子操作函数将所述加密算法和所述加密密钥写入所述加密文件并进行存储。
可选的,所述方法还包括:
响应于本地视频播放请求,所述本地视频播放请求用于请求在本地通过屏幕水印方式播放第二目标视频,获取所述第二目标视频;
在播放所述第二目标视频时添加屏幕水印。
本申请第二方面提供了一种视频安全控制装置,包括:
第一确定模块,用于响应于视频导出请求,确定所述第一目标视频的导出来源标识;其中,所述视频导出请求用于请求对第一目标视频添加水印并导出;所述导出来源标识是根据所述终端唯一标识和服务器为所述终端上的当前登录用户分配的唯一标识拼接生成的;
第二确定模块,用于根据所述第一目标视频的像素数和所述第一目标视频的导出来源标识,确定水印位置点阵;所述水印位置点阵上各点的赋值用于表示针对点对应的像素位置是否增加水印;
水印添加模块,用于通过改变像素值的方式,基于所述水印位置点阵为所述第一目标视频增加水印得到含水印的第一目标视频;
视频导出模块,用于导出所述含水印的第一目标视频。
可选的,所述水印添加模块包括:
位置确定子模块,用于基于所述水印位置点阵中赋值表示基于点对应的像素位置增加水印的点,确定所述第一目标视频中视频帧图像中待嵌入水印的像素位置;
像素值改变子模块,用于改变所述待嵌入水印的像素位置对应的像素值。
可选的,所述像素值改变子模块具体用于:
确定所述待嵌入水印的像素位置的像素值,作为第一像素值;
根据所述第一像素值的相反值为所述待嵌入水印的像素位置重新赋值。
可选的,所述像素值改变子模块具体用于:
确定所述待嵌入水印的像素位置对应的像素值,作为第一像素值;
确定所述待嵌入水印的像素位置相邻的第二像素位置,并确定所述第二像素位置的像素平均值,作为第二像素值;
对所述第一像素值和所述第二像素值进行加权得到加权值;
根据所述加权值为所述待嵌入水印的像素位置重新赋值。
可选的,所述装置还包括:
溯源视频获取模块,用于获取待溯源的第一视频;
溯源模块,用于根据所述第一视频中视频帧图像的像素确定出所述第一视频对应的第一水印位置点阵中各点的赋值,根据所述第一水印位置点阵中各点的赋值恢复出所述第一视频对应的源终端的唯一标识和源用户的唯一标识。
可选的,所述装置还包括:
权限验证模块,用于当所述登录用户的权限验证通过时,为所述登录用户激活视频控制界面上的除水印控件;
视频读取模块,用于响应于用户针对含水印的第二视频触发的除水印操作,读取所述含水印的第二视频;
去除水印模块,用于通过所述改变像素值的方式对应的逆处理方式,基于所述含水印的第二视频对应的含水印的像素位置,从所述含水印的第二视频中去除水印恢复出第二视频。
可选的,所述装置还包括:
第一距离确定模块,用于根据所述含水印的第二视频中一帧图像,确定点阵中每个点对应的像素位置的像素值与点周围像素值的第一平均距离;
第二距离确定模块,用于通过所述改变像素值的方式对应的逆处理方式恢复点阵中每个点对应的原始像素值,确定点对应的原始像素值与点周围像素值的第二平均距离;
第一比较模块,用于针对点阵中每个点,根据点对应的第一平均距离和第二平均距离之间的差异程度与预设阈值的比较结果;
第一水印位置确定模块,用于根据所述比较结果确定所述第二视频对应的含水印的像素位置。
可选的,所述装置还包括:
第三距离确定模块,用于根据所述含水印的第二视频中多帧图像中每帧图像,分别确定点阵中每个点对应的像素值与点周围像素值的第一平均距离;
第四距离确定模块,用于通过所述改变像素值的方式对应的逆处理方式恢复点阵中每个点位置对应的原始像素值,确定点对应的原始像素值与点周期像素值的第二平均距离;
第二比较模块,用于基于所述多帧图像中每帧图像,针对点阵中每个点,根据点对应的第一平均距离和第二平均距离之间的差异程度与预设阈值的比较结果;
第二水印位置确定模块,用于根据点阵中每个点各自对应的多个比较结果,确定所述第二视频对应的含水印的像素位置。
可选的,所述装置还包括:
加密模块,用于利用钩子函数拦截即将写入的所述第二视频的明文数据,通过加密算法和加密密钥对所述第二视频的明文数据进行加密得到加密文件;
存储模块,用于利用钩子操作函数将所述加密算法和所述加密密钥写入所述加密文件并进行存储。
可选的,所述装置还包括:
本地获取视频模块,用于响应于本地视频播放请求,所述本地视频播放请求用于请求在本地通过屏幕水印方式播放第二目标视频,获取所述第二目标视频;
屏幕水印添加模块,用于在播放所述第二目标视频时添加屏幕水印。
本申请第三方面提供一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令,执行如上述第一方面所述的视频安全控制方法的步骤。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面所述的视频安全控制方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种视频安全控制方法,该方法在解决溯源问题的同时,能够保证在视频上添加的水印不影响视频的观看。具体的,当用户需要对第一目标视频添加水印并导出时,即接收到用户触发的视频导出请求时,先确定该第一目标视频的导出来源标识,该导出来源标识是根据终端唯一标识和服务器为该终端上当前登录用户分配的唯一标识拼接生成的;然后,根据第一目标视频的像素数和第一目标视频的导出来源标识,确定水印位置点阵,该水印位置点阵上各点对应的赋值能够标识针对该点对应的像素位置是否添加水印;进而,通过改变像素值的方式,基于上述水印位置点阵为第一目标视频增加水印,得到含水印的第一目标视频;最终,导出该含水印的第一目标视频。如此,根据终端的唯一标识和当前登录用户的唯一标识确定导出来源标识,并基于该导出来源标识和第一目标视频的像素数确定作为视频水印添加依据的水印位置点阵,后续溯源时,可以根据第一目标视频中水印位置点阵上各点对应的像素位置是否被添加水印,确定添加水印时所依据的导出来源标识,进而基于该导出来源标识有效地进行溯源。此外,本申请提供的视频安全控制方法通过改变像素值的方式添加水印,相比现有技术中的隐式水印技术和显式水印技术,该种添加水印的方式既能有效地溯源,又能保证在视频上添加的水印不影响用户观看视频。
附图说明
图1为本申请实施例提供的视频安全控制方法的应用场景示意图;
图2为本申请实施例提供的视频安全控制方法的流程示意图;
图3为本申请实施例提供的确定水印位置点阵的示意图;
图4为本申请实施例提供的确定第二像素位置的示意图;
图5为本申请实施例提供的视频溯源方法的流程示意图;
图6为本申请实施例提供的视频除水印方法的流程示意图;
图7为本申请实施例提供的视频安全控制装置的结构示意图;
图8为本申请实施例提供的服务器的结构示意图;
图9为本申请实施例提供的终端设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中,采用隐式水印技术在视频上添加水印,经常会因所添加的水印不够明显,而导致在对翻拍或录屏的视频进行溯源时,无法重新计算出在该视频上添加的水印,即无法有效地进行溯源。采用显式水印技术在视频上添加水印,会因所添加的水印过于明显,而出现遮挡视频中重要内容的情况,影响用户的视频观看体验。
针对上述相关技术存在的问题,本申请实施例提供了一种视频安全控制方法,基于该方法为视频添加水印,能够保证后续可以根据含水印的视频进行有效地溯源,并且在视频中添加的水印不对用户的观看体验产生影响。具体的,本申请实施例提供的视频安全控制方法为视频添加水印时,需要先根据终端的唯一标识和当前登录用户的唯一标识确定导出来源标识,然后,基于该导出来源标识和待添加水印的视频的像素数确定水印位置点阵,并根据导出来源标识对该水印位置点阵中各点对应的像素位置相应地增加水印;在后续溯源的过程中,根据含水印的视频中水印位置点阵上各点对应的像素位置的表现形式,确定水印位置点阵中每个点对应的像素位置是否被添加水印,进而据此确定添加水印时基于的导出来源标识,由此实现对于含水印的视频的溯源。此外,本申请提供的视频安全控制方法在为视频添加水印时,是通过改变像素值的方式实现的,如此添加的水印没有基于隐式水印技术添加的水印那么不易察觉,但也没有基于显式水印技术添加的水印那么明显,这样,既保证了基于所添加的水印能够进行有效地溯源,又避免了添加的水印对视频产生明显遮挡,影响用户的观看体验。
应理解,本申请实施例提供的视频安全控制方法可以应用于具备图像处理能力的设备,该设备具体可以为终端设备,也可以为服务器;其中,终端设备具体可以为计算机、个人数字助理(Personal Digital Assitant,PDA)、平板电脑、智能手机等;服务器具体可以为应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以集群服务器。
为了便于理解本申请实施例提供的技术方案,下面对本申请实施例提供的视频安全控制方法的应用场景进行介绍。
参见图1,图1为本申请实施例提供的视频安全控制方法的应用场景示意图。如图1所示,该应用场景中包括:终端设备101;该终端设备101中存储有第一目标视频,该终端设备101用于执行本申请实施例提供的视频安全控制方法,响应于用户针对第一目标视频触发的视频导出请求,导出含水印的第一目标视频。
具体的,用户可以通过点击终端设备101显示界面上的相关控件,触发终端设备101生成视频导出请求,以请求终端设备101对其本地存储的第一目标视频添加水印并导出。终端设备101响应于所生成的视频导出请求,相应地确定第一目标视频的导出来源标识,具体的,终端设备101可以将自身的唯一标识与服务器为当前登录用户分配的唯一标识拼接起来,得到第一目标视频的导出来源标识。
然后,终端设备101根据第一目标视频的像素数和所确定的第一目标视频的导出来源标识,相应地确定水印位置点阵,并基于第一目标视频的导出来源标识相应地确定水印位置点阵中各点对应的赋值;该水印位置点阵上各点对应的赋值能够表示针对每个点对应的像素位置是否添加水印。
进而,在水印位置点阵中各个需要添加水印的点对应的像素位置上,通过改变像素值的方式为第一目标视频添加水印,得到含水印的第一目标视频,最终,导出该含水印的第一目标视频。
应理解,图1所示的应用场景仅为一种示例,在实际应用中,还可以通过终端设备与服务器进行交互的方式实现本申请中的视频安全控制方法,即可以由服务器响应于终端设备生成的视频导出请求,为待添加水印的视频添加水印并导出;在此不对本申请实施例提供的视频安全控制方法的应用场景做任何限定。
下面通过实施例对本申请提供的视频安全控制方法进行介绍。
参见图2,图2为本申请实施例提供的视频安全控制方法的流程示意图。为了便于理解,下述实施例以终端设备作为执行主体为例进行介绍,应理解,在实际应用中,图2所示实施例的执行主体也可以为服务器等具备图像处理功能的设备。如图2所示,该视频安全控制方法包括以下步骤:
步骤201:响应于视频导出请求,确定所述第一目标视频的导出来源标识;其中,所述视频导出请求用于请求对第一目标视频添加水印并导出;所述导出来源标识是根据所述终端唯一标识和服务器为所述终端上当前登录用户分配的唯一标识拼接生成的。
当用户需要导出第一目标视频时,用户可以通过相关操作触发终端设备生成针对该第一目标视频的视频导出请求,例如,用户在选定第一目标视频后,可以通过点击终端设备显示界面上的视频导出控件,触发终端设备生成针对该第一目标视频的视频导出请求。进而,终端设备响应于该视频导出请求,相应地确定该第一目标视频对应的导出来源标识,具体的,终端设备可以将自身的唯一标识和服务器为当前登录用户分配的唯一标识拼接起来,得到第一目标视频对应的导出来源标识。
应理解,上述终端设备的唯一标识通常为终端设备出厂时为其分配的身份标识,不同的终端设备对应于不同的身份标识;上述服务器为登录用户分配的唯一标识,通常为登录用户首次在客户端上注册登录时服务器为其分配的身份标识,不同的用户具有不同的身份标识,此处的客户端是指终端设备上运行的能够为待添加水印的目标视频添加水印并导出的应用程序。
需要说明的是,上述导出来源标识通常表现为N位二进制数值,假设终端设备的唯一标识为四位二进制数值,服务器为当前登录用户分配的唯一标识也为四位二进制数值,则将终端设备的唯一标识和服务器为当前登录用户分配的唯一标识拼接起来,得到的导出来源标识为八位二进制数值。例如,假设终端设备的唯一标识为0,其对应的四位二进制数值为0000,服务器为当前登录用户分配的唯一身份标识为5,其对应的四位二进制数值为0101,则终端设备将自身的唯一标识和服务器为当前登录用户分配的唯一身份标识拼接起来,得到的导出来源标识为八位二进制数值00000101。
应理解,在实际应用中,导出来源标识可以为任意位数的二进制数值,在此不对导出来源标识的位数做任何限定;当然,在实际应用中,导出来源标识表现出其他形式,如表现为M位四进制数值、P位八进制数值等等,在此不对导出来源标识的表现形式做任何限定。
需要说明的是,当本申请提供的视频安全控制方法的执行主体为服务器时,终端设备可以响应于用户针对第一目标视频触发的导出操作,生成用于请求对第一目标视频添加水印并导出的视频导出请求,并将该视频导出请求通过网络发送给服务器,以触发服务器确定第一目标视频对应的导出来源标识。
步骤202:根据所述第一目标视频的像素数和所述第一目标视频的导出来源标识,确定水印位置点阵;所述水印位置点阵上各点的赋值用于表示针对点对应的像素位置是否增加水印。
确定出第一目标视频的导出来源标识后,终端设备进一步根据第一目标视频的像素数和该第一目标视频的导出来源标识,在第一目标视频中确定水印位置点阵,水印位置点阵中的各点分别对应于第一目标视频中不同的像素点。进而,根据第一目标视频的导出来源标识确定水印位置点阵中各点对应的赋值,水印位置点阵中每个点对应的赋值能够相应地表示是否在该点对应的像素位置处增加水印。
具体确定水印位置点阵时,终端设备可以先根据第一目标视频的像素数和第一目标视频的导出来源标识的位数之间的比例关系,确定水印位置点阵中各点各自对应的分布区域,进而,按照预设的水印位置点阵的分布方式,在各个分布区域内确定水印位置点阵中各点对应的像素位置。具体的,如图3所示,假设第一目标视频中的像素数为8*4,第一目标视频的导出来源标识为8位二进制数值,则根据第一目标视频中的像素数和第一目标视频的导出来源标识之间的比例关系,可以确定需要将第一目标视频平均划分为图3所示的8个区域,每个区域内可以分布一个水印位置点阵中的点。
应理解,在实际应用中,第一目标视频中可以包括任意数目的像素,第一目标视频的导出来源标识中可以包括任意位数,在此不对第一目标视频中像素数和导出来源标识的位数做任何限定。此外,在实际应用中,第一目标视频中包括的像素数与导出来源标识的位数之间所成的比例可能并非正整数,此时,可以从第一目标视频中截取所包括的像素数与导出来源标识的位数之间成正整数比例关系的部分图像,基于这部分图像确定水印位置点阵,当然,也可以采取其他方式在第一目标视频中确定水印位置点阵,在此不对确定水印位置点阵的方式做任何限定。
需要说明的是,终端设备具体确定水印位置点阵中各点对应的分布位置时,可以在基于第一目标视频划分出的各个分布区域内,按照预设的水印位置点阵的分布方式,确定水印位置点阵中每个点在每个分布区域中的具体像素位置。例如,如图3所示,假设预设的水印位置点阵的分布方式为将每个分布区域中右下角的像素点作为水印位置点阵中的点,则在图3所示的第一目标视频中,各灰色的像素点即相应地对应于水印位置点阵中的各个点。
进而,按照预设的赋值方式,根据第一目标视频的导出来源标识确定水印位置点阵中各点对应的赋值。仍以图3所示的第一目标视频为例,假设预设的赋值方式为从第一行开始,从左到右依次将导出来源标识的前四位二进制数值分别赋值给水印位置点阵的第一行中的各点,再从第二行开始,从左到右依次将导出来源标识的后四位二进制数值分别赋值给水印位置点阵的第二行中的各点,则根据导出来源标识00000101确定出的水印位置点阵中各点对应的赋值如图3所示,其中,赋值为1的点表示针对该点对应的像素位置需要添加水印,赋值为0的点表示针对该点对应的像素位置不需要添加水印。
应理解,在实际应用中,可以根据实际需求设置任意的赋值方式,上述赋值方式仅为示例,在此不对该赋值方式做任何限定。
需要说明的是,上述图3所示的第一目标视频实际上仅为第一目标视频中任意一帧的视频图像,在实际应用中,第一目标视频的每帧视频图像中的水印位置点阵均一致,因此,在为第一目标视频添加水印时,可以按照步骤202的实现方式,确定第一目标视频的每帧视频图像中的水印位置点阵以及水印位置点阵中各点对应的赋值。
步骤203:通过改变像素值的方式,基于所述水印位置点阵为所述第一目标视频增加水印得到含水印的第一目标视频。
在第一目标视频中确定出水印位置点阵以及水印位置点阵中各点对应的赋值后,终端设备可以通过改变像素值的方式,基于在步骤202中确定的水印位置点阵以及水印位置点阵中各点对应的赋值,在第一目标视频中增加水印,以得到含水印的第一目标视频。
具体实现时,终端设备可以基于水印位置点阵中赋值表示基于点对应的像素位置需要增加水印的点,确定该第一目标视频的视频帧图像中待嵌入水印的像素位置;具体的,仍以图3所示的第一目标视频中的视频帧图像为例,终端设备确定水印位置点阵中赋值为1的点对应的像素位置为需要增加水印的位置,进而,根据预设的待嵌入水印的像素位置,在水印位置点阵中需要增加水印的点的基础上,进一步确定与各需要增加水印的点相关联的待嵌入水印的像素位置;例如,假设待嵌入水印的像素位置仅为一个像素点,则可以直接确定水印位置点阵中需要增加水印的点对应的像素位置为待嵌入水印的像素位置;又例如,假设待嵌入水印的像素位置为水平方向上相邻的两个像素点,则可以确定水印位置点阵中需要增加水印的点以及与其在水平方向上相邻的一个像素点,共同构成待嵌入水印的像素位置,等等。进而,改变各待嵌入水印的像素位置对应的像素值,实现为该视频帧图像添加水印。
应理解,上述待嵌入水印的像素位置可以包括任意数目的像素点,也可以表现为任意形状,如长方形、正方形等等,在此不对待嵌入水印的像素位置中包括的像素点数目,以及待嵌入水印的像素位置的形状做任何限定。
在一种可能的实现方式中,终端设备可以确定待嵌入水印的像素位置的像素值,作为第一像素值;进而,根据该第一像素值的相反值为待嵌入水印的像素位置重新赋值。
具体的,当每个待嵌入水印的像素位置仅包括水印位置点阵中一个需要添加水印的点对应的像素位置时,终端设备可以直接确定各需要添加水印的点对应的像素位置的像素值作为第一像素值,进而,通过为各待嵌入水印的像素位置相应地赋予各第一像素值的相反值,实现为第一目标视频的视频帧图像添加水印。当每个待嵌入水印的像素位置包括多个基于水印位置点阵中需要添加水印的点确定的像素点时,终端设备可以计算每个待嵌入水印的像素位置中各点对应的像素值的平均值作为第一像素值,进而,通过为各待嵌入水印的像素位置相应地赋予各第一像素值的相反值,实现为第一目标视频的视频帧图像添加水印。
在另一种可能的实现方式中,终端设备可以确定待嵌入水印的像素位置对应的像素值,作为第一像素值;然后,确定待嵌入水印的像素位置相邻的第二像素位置,并确定第二像素位置的像素平均值,作为第二像素值;进而,对上述第一像素值和第二像素值进行加权平均得到对应的加权值;最终,根据该加权值为待嵌入水印的像素位置重新赋值。
具体的,当待嵌入水印的像素位置仅包括水印位置点阵中一个需要添加水印的点对应的像素位置时,可以直接确定该点对应的像素位置的像素值作为第一像素值;当待嵌入水印的像素位置包括多个基于水印位置点阵中需要添加水印的点确定的像素点时,可以计算这些像素点对应的像素值的平均值作为第一像素值。然后,确定待嵌入水印的像素位置相邻的第二像素位置,该第二像素位置具体可以包括待嵌入水印的像素位置四周的像素点,如图4中的401所示,该第二像素位置具体也可以包括待嵌入水印的像素位置外围一周的所有像素点,如图4中的402所示,该第二像素位置具体还可以包括待嵌入水印的像素位置外围一周的部分像素点,如图4中的403所示,该第二像素位置具体还可以为包括待嵌入水印的像素位置外围若干周的所有像素点,如图4中的404所示,当然,该第二像素位置中还可以包括其他与待嵌入水印的像素位置相邻的像素点,在此不对第二像素位置中包括的像素点做任何限定。进而,对第一像素值和第二像素值进行加权得到加权值,例如,假设第一像素值为W,第二像素值为X,则对第一像素值和第二像素值进行加权平均得到的加权值为(X+W)/Y,其中Y为权重值,可根据实际需求进行配置。最终,将该加权值赋予给待嵌入水印的像素位置中的像素点,实现添加水印,如此,针对第一目标视频的视频帧图像中各待嵌入水印的像素位置均执行上述操作,实现针对该视频帧图像添加水印。
需要说明的是,在图4所示的视频帧图像中,灰色区域表示待嵌入水印的像素位置,白色方块表示第二像素位置中包括的像素点。
应理解,在实际应用中,终端设备还可以通过其他方式改变待嵌入水印的像素位置处的像素值,实现为视频帧图像添加水印,在此不对像素值的改变方式做任何限定。
步骤204:导出所述含水印的第一目标视频。
针对第一目标视频中的各视频帧图像添加完水印后,得到含水印的第一目标视频,进而,导出该含水印的第一目标视频。
需要说明的是,当本申请实施例提供的视频安全控制方法的执行主体为终端设备时,终端设备在导出含水印的第一目标视频的同时,还可以播放该含水印的第一目标视频;当本申请实施例提供的视频安全控制方法的执行主体为服务器时,服务器可以将该含水印的第一目标视频发送给终端设备,以通过终端设备导出该第一目标视频。
在一些情况下,用户可以在终端设备本地请求播放第二目标视频,此时,为了在其他人通过翻拍或录屏的方式获取到该第二目标视频的情况下,也能对该第二目标视频进行溯源,终端设备仍需为该第二目标视频添加水印,然而,在本地播放第二目标视频时,仍通过对每帧视频图像进行添加水印处理的方式为第二目标视频添加水印,将耗费大量不必要的工作量,此时,可以通过屏幕水印的方式为该第二目标视频添加水印。
具体的,终端设备响应于用户触发的本地视频播放请求,获取该第二目标视频,该本地视频播放请求具体用于请求在本地通过屏幕水印的方式播放该第二目标视频;进而,在本地播放该第二目标视频时添加屏幕水印。例如,在用户在终端设备上选择了第二目标视频的情况下,用户可以通过点击终端设备界面上显示的本地播放控件,触发终端设备生成针对该第二目标视频的本地播放请求,进而,终端设备从本地调取该第二目标视频;播放该第二目标视频时,终端设备可以通过加载图形化操作界面的水印的方式,为第二目标视频添加屏幕水印。
基于上述视频安全控制方法为视频添加水印,能够保证后续可以根据含水印的视频进行有效地溯源,并且在视频中添加的水印不对用户的观看体验产生影响。具体的,上述视频安全控制方法为视频添加水印时,先根据终端的唯一标识和当前登录用户的唯一标识确定导出来源标识,然后,基于该导出来源标识和待添加水印的视频的像素数确定水印位置点阵,并根据导出来源标识对该水印位置点阵中各点对应的像素位置相应地增加水印;在后续溯源的过程中,根据含水印的视频中水印位置点阵上各点对应的像素位置的表现形式,确定水印位置点阵中每个点对应的像素位置是否被添加水印,进而据此确定添加水印时基于的导出来源标识,由此实现对于含水印的视频的溯源。此外,上述视频安全控制方法在为视频添加水印时,是通过改变像素值的方式实现的,如此添加的水印没有基于隐式水印技术添加的水印那么不易察觉,但也没有基于显式水印技术添加的水印那么明显,既保证了基于所添加的水印能够进行有效地溯源,又避免了添加的水印对视频产生明显遮挡,影响用户的观看体验。
针对图2所示的视频安全控制方法,本申请还相应地提供了一种视频溯源方法,以基于上述视频安全控制方法在视频中添加的水印实现有效地溯源。
参见图5,图5为本申请实施例提供的视频溯源方法的流程示意图。为了便于描述,下述实施例仍以终端设备作为执行主体进行描述,应理解,在实际应用中,该视频溯源方法也可以应用于其他具备图像处理功能的设备,如服务器等。如图5所示,该方法包括以下步骤:
步骤501:获取待溯源的第一视频。
当用户需要针对第一视频进行溯源时,用户可以将该第一视频上传至终端设备,以使终端设备获取到该第一视频。
应理解,当本申请实施例提供的视频溯源方法的执行主体为服务器时,用户可以利用终端设备,通过网络将待溯源的第一视频传输至服务器,以使服务器获取到该第一视频。
步骤502:根据所述第一视频中视频帧图像的像素确定出所述第一视频对应的第一水印位置点阵中各点的赋值,根据所述第一水印位置点阵中各点的赋值恢复出所述第一视频对应的源终端的唯一标识和源用户的唯一标识。
终端设备获取到该第一视频后,根据该第一视频中视频帧图像的像素确定该第一视频对应的第一水印位置点阵中各点对应的赋值,进而,根据该第一水印位置点阵中各点对应的赋值,恢复出该第一视频对应的源终端的唯一标识和源用户的唯一标识。
具体的,在已知第一视频对应的第一水印位置点阵的情况下,终端设备可以在第一视频的视频帧图像中确定出第一水印位置点阵,并根据第一水印位置点阵中各点对应的像素位置的表现形式,即根据第一水印位置点阵中各点对应的像素位置是否被添加水印,确定第一水印位置点阵中各点对应的赋值。进而,根据第一水印位置点阵对应的预设赋值方式,相应地恢复出为该第一视频添加水印时依据的导出来源标识,按照生成该导出来源标识时基于的拼接规则,相应地将该导出来源标识拆分成两部分,一部分为生成该第一视频的源终端的唯一标识,另一部分为生成该第一视频的源用户的唯一标识。
需要说明的是,为了保证最终确定的源终端的唯一标识以及源用户的唯一标识的准确性,终端设备对第一视频进行溯源时,可以分别基于多帧视频帧图像确定源终端的唯一标识以及源用户的唯一标识,进而,对比基于多帧视频帧图像确定出的源终端的唯一标识是否均一致,以及基于多帧视频帧图像确定出的源用户的唯一标识是否均一致,若均一致,则认定溯源得到的源终端的唯一标识即为生成第一目标视频时所基于的终端的唯一标识,以及源用户的唯一标识即为生成第一目标视频时所基于的用户的唯一标识;若基于多帧视频帧图像确定出的源终端的唯一标识并不一致,和/或,基于多帧视频帧图像确定出的源用户的唯一标识并不一致,则确定出现次数最多的源终端的唯一标识作为生成第一目标视频时所基于的终端的唯一标识,和/或,确定出现次数最多的源用户的唯一标识作为生成第一目标视频时所基于的用户的唯一标识。
上述视频溯源方法在溯源的过程中,根据含水印的视频中水印位置点阵上各点对应的像素位置的表现形式,确定水印位置点阵中每个点对应的像素位置是否被添加水印,进而据此确定添加水印时基于的导出来源标识,并进一步恢复出源终端的唯一标识和源用户的唯一标识,由此实现对于含水印的视频的溯源。基于图2所示的方法在视频中添加的水印没有基于隐式水印技术添加的水印那么不易察觉,保证了基于该水印能够进行有效地溯源。
针对图2所示的视频安全控制方法,本申请还相应地提供了一种视频除水印方法,以在具有专用播放器的终端设备上,对含水印的视频进行去除水印的处理,保证可以基于终端设备上的专用播放器观看无水印的视频。
参见图6,图6为本申请实施例提供的视频除水印方法的流程示意图。为了便于描述,下述实施例仍以终端设备作为执行主体进行描述,应理解,在实际应用中,该视频除水印方法也可以应用于其他具备图像处理功能的设备,如服务器等。如图6所示,该方法包括以下步骤:
步骤601:当所述登录用户的权限验证通过时,为所述登录用户激活视频控制界面上的除水印控件。
当用户需要利用终端设备上运行的专用播放器清除含水印的第二视频中的水印时,用户需要先通过专用播放器进行权限验证,以验证该用户是否具备清除视频水印的权限,权限验证通过后,即可为该用户激活视频控制界面上的除水印控件。
具体的,当用户的权限验证未通过时,视频控制界面上的除水印控件不能被用户使用,即除水印控件呈现灰色,表示用户当前无法使用该控件。此时,用户可以通过在专用播放器的登录界面上输入用户名和密码进行权限验证,终端设备接收到用户输入的用户名和密码后,通过网络将该用户名和密码发送给服务器,服务器相应地基于自身记录的信息对该用户名和密码进行验证,验证通过后,向终端设备返回验证通过的指示,进而,终端设备中的专用播放器可以激活视频控制界面上的除水印控件,即用户可以通过点击该除水印控件触发针对相关视频除水印的操作。
应理解,在实际应用中,终端设备还可以通过其他方式对用户的除水印权限进行验证,在此不对权限验证的方式做任何限定。
步骤602:响应于用户针对含水印的第二视频触发的除水印操作,读取所述含水印的第二视频。
终端设备对于用户的除水印权限验证通过后,即可响应于用户针对含水印的第二视频触发的除水印操作,相应地读取该含水印的第二视频。具体的,用户可以先选择需要除水印的第二视频,进而,通过点击视频控制界面上的除水印控件,触发针对该第二视频的除水印操作,当第二视频存储在终端设备的本地时,终端设备可以直接从本地读取该第二视频,当第二视频存储在服务器端时,终端设备可以通过网络与服务器进行交互,以从服务器处读取该第二视频。
步骤603:通过所述改变像素值的方式对应的逆处理方式,基于所述含水印的第二视频对应的含水印的像素位置,从所述含水印的第二视频中去除水印恢复出第二视频。
基于图2所示的实施例可知,终端设备为视频添加水印时是通过改变像素值的方式实现的,相应地,在针对这类含水印的视频除水印时,终端设备需要通过改变像素值的方式对应的逆处理方式进行实现除水印。具体的,终端设备可以针对含水印的第二视频的各视频图像帧中含水印的像素位置,采用改变像素值的方式对应的逆处理方式,去除各含水印的像素位置处的水印,从而获得去除水印后的第二视频。
需要说明的是,终端设备在对含水印的第二视频进行除水印处理之前,通常需要先准确地确定第二视频中各含水印的像素位置,进而,再基于所确定的含水印的像素位置进行除水印处理。
在一种可能的实现方式中,终端设备可以根据含水印的第二视频中的一帧图像,确定点阵中每个点对应的像素位置的像素值和该点周围的像素值之间的第一平均距离;以及,通过改变像素值的方式对应的逆处理方式恢复点阵中每个点对应的原始像素值,确定该点对应的原始像素值与该点周围的像素值之间的第二平均距离;针对点阵中每个点,确定点对应的第一平均距离和第二平均距离的差异程度与预设阈值之间的比较结果,进而,根据该比较结果确定第二视频中含水印的像素位置。
具体的,终端设备需要先针对第二视频中的一帧图像,确定其中可能被添加了水印的像素位置,利用这些像素位置组成上述点阵;然后,确定点阵中每个像素位置对应的像素值D,利用像素值D与该像素位置周围的像素值进行欧式距离运算,得到二者之间的第一平均距离F;采用与改变像素值的方式对应的逆处理方式,恢复出点阵中每个像素位置对应的原始像素值E,利用像素值E与该像素位置周围的像素值进行欧式距离运算,得到二者之间的第二平均距离G;计算第一平均距离F和第二平均距离D之间的差值,对该差值与预设差值阈值进行比较,若该差值小于预设差值阈值,则说明该像素位置没有被添加水印,反之,若该差值不小于预设差值阈值,则说明该像素位置被添加了水印。
或者,针对点,计算出第一平均距离F和第二平均距离D之后,再计算第一平均距离F和第二平均距离D之间的比值,对该比值与预设比值阈值进行比较,若该比值接近预设比值阈值,则说明该像素位置没有被添加水印,反之,若该比值远离预设比值阈值,则说明该像素位置被添加了水印。其中,该预设比值阈值取值为接近1的数值。
应理解,上述预设差值阈值或者预设比值阈值的具体取值可以根据实际情况进行设定,在此不对该预设阈值做具体限定。
应理解,上述点阵中的点周围的像素值具体指的是点阵中的点周围的像素点对应的像素值,而点阵中的点周围的像素点具体可以为点阵中的点四周的像素点,也可以为点阵中的点外围一周的所有像素点,还可以为点阵中的点周围外围若干周的所有像素点,在此不对点阵中的点周围的像素点做任何限定。
在另一种可能的实现方式中,为了保证所确定的含水印的像素位置较为准确,终端设备可以针对第二视频中的多帧图像执行上一种可能的实现方式中的操作。具体的,终端设备根据含水印的第二视频的多帧图像中的每帧图像,分别确定点阵中每个点对应的像素值与周围像素值的第一平均距离;以及,通过改变像素值的方式对应的逆处理方式恢复点阵中每个点位置对应的原始像素值,确定点对应的原始像素值与该点周围的像素值之间的第二平均距离;基于多帧图像中每帧图像,针对点阵中的每个点,计算该点对应的第一平均距离和第二平均距离之间的差值,并确定该差值与预设阈值之间的比较结果;最终,根据点阵中每个点各自对应的多个比较结果,确定第二视频对应的含水印的像素位置。
由于第二视频的每帧图像中含水印的像素位置均一致,因此,终端设备在确定第二视频对应的含水印的像素位置时,可以分别确定第二视频的多帧图像中含水印的像素位置,进而,对比这多帧图像中的每帧图像含水印的像素位置是否一致,若均一致,则可确定某帧图像中含水印的像素位置为第二视频对应的含水印的像素位置,反之,若不一致,则需要基于各帧图像中含水印的像素位置,确定每帧图像对应的生成该含水印的第二视频时所依据的导出来源标识,具体确定导出来源标识的方法可以参见图5所示的视频溯源方法,然后,根据各帧图像各自对应的导出来源标识,确定出现概率最高的导出来源标识,基于该出现概率最高的导出来源标识,确定第二视频对应的含水印的像素位置。
需要说明的是,上述改变像素值的方式对应的逆处理方式需要根据添加水印时采用的改变像素值的方式来确定。具体的,若生成含水印的第二视频时通过取像素值的相反值的方式为第二视频添加水印,则终端设备在除水印时,需要针对含水印的像素位置处取其像素值的相反值作为原始像素值,并将该原始像素值相应地重新赋值给含水印的像素位置处,以实现对于含水印的像素位置处除水印。若生成含水印的第二视频时通过取加权值的方式为第二视频添加水印,则终端设备在除水印时,需要利用添加水印时使用的权重值乘上含水印的像素位置处的像素值,进而,利用二者相乘得到的结果减去该含水印的像素位置周围的像素位置对应的像素平均值,得到原始像素值,并将该原始像素值相应地重新赋值给含水印的像素位置处,以实现对于含水印的像素位置处除水印。
应理解,当添加水印时所依据的改变像素值的方式为其他方式,则去除水印时需要相应地采用该方式对应的逆处理方式,在此不对去除水印时所采用的逆处理方式做任何限定。
通过图6所示的方法,针对第二视频中的每帧均完成去除水印的处理后,终端设备可以使用文件保护(minifilter)对该除水印后的第二视频进行加密存储,保证去除水印后的第二视频的安全性,防止该第二视频被传出。
具体对第二视频进行加密存储时,主要分为两个阶段:其一为初始化操作阶段,在该阶段终端设备注册minifilter钩子操作函数,使得终端设备的去除水印进程操作写文件的过程中,终端设备的驱动层可以进行文件加密操作。其二为加密阶段,在该阶段,当终端设备判断当前操作写文件的进程为去除水印进程时,利用钩子函数拦截即将写入的第二视频的明文数据,通过预设的加密算法和加密密钥对该第二视频的明文数据进行加密得到加密文件,待对整个第二视频的明文数据均完成加密处理后,利用初始化阶段注册的钩子操作函数,将加密算法和加密密钥均写入加密文件,并存储该加密文件,从而便于用户后续读取该视频时可以基于加密文件中的加密算法和加密密钥进行解密。
上述视频除水印方法在确定登录用户的权限验证通过后,为登录用户激活视频控制界面上的除水印控件,并响应于用户针对含水印的第二视频触发的除水印操作,读取该含水印的第二视频;进而,通过改变像素值的方式对应的逆处理方式,基于含水印的第二视频对应的含水印的像素位置,从含水印的第二视频中去除水印,恢复出第二视频。如此,在没有原视频参考的情况下,也可以准确地去除含水印的视频中的水印,完全恢复原有的视频内容,提高视频的观看体验。
针对上文描述的视频安全控制方法,本申请还提供了对应的视频安全控制装置,以使上述视频安全控制方法在实际中得以应用和实现。
参见图7,图7是与上文图2所示的视频安全控制方法对应的一种视频安全控制装置700的结构示意图,该视频安全控制装置700包括:
第一确定模块701,用于响应于视频导出请求,确定所述第一目标视频的导出来源标识;其中,所述视频导出请求用于请求对第一目标视频添加水印并导出;所述导出来源标识是根据所述终端唯一标识和服务器为所述终端上的当前登录用户分配的唯一标识拼接生成的;
第二确定模块702,用于根据所述第一目标视频的像素数和所述第一目标视频的导出来源标识,确定水印位置点阵;所述水印位置点阵上各点的赋值用于表示针对点对应的像素位置是否增加水印;
水印添加模块703,用于通过改变像素值的方式,基于所述水印位置点阵为所述第一目标视频增加水印得到含水印的第一目标视频;
视频导出模块704,用于导出所述含水印的第一目标视频。
可选的,所述水印添加模块703包括:
位置确定子模块,用于基于所述水印位置点阵中赋值表示基于点对应的像素位置增加水印的点,确定所述第一目标视频中视频帧图像中待嵌入水印的像素位置;
像素值改变子模块,用于改变所述待嵌入水印的像素位置对应的像素值。
可选的,所述像素值改变子模块具体用于:
确定所述待嵌入水印的像素位置的像素值,作为第一像素值;
根据所述第一像素值的相反值为所述待嵌入水印的像素位置重新赋值。
可选的,所述像素值改变子模块具体用于:
确定所述待嵌入水印的像素位置对应的像素值,作为第一像素值;
确定所述待嵌入水印的像素位置相邻的第二像素位置,并确定所述第二像素位置的像素平均值,作为第二像素值;
对所述第一像素值和所述第二像素值进行加权得到加权值;
根据所述加权值为所述待嵌入水印的像素位置重新赋值。
可选的,所述装置还包括:
溯源视频获取模块,用于获取待溯源的第一视频;
溯源模块,用于根据所述第一视频中视频帧图像的像素确定出所述第一视频对应的第一水印位置点阵中各点的赋值,根据所述第一水印位置点阵中各点的赋值恢复出所述第一视频对应的源终端的唯一标识和源用户的唯一标识。
可选的,所述装置还包括:
权限验证模块,用于当所述登录用户的权限验证通过时,为所述登录用户激活视频控制界面上的除水印控件;
视频读取模块,用于响应于用户针对含水印的第二视频触发的除水印操作,读取所述含水印的第二视频;
去除水印模块,用于通过所述改变像素值的方式对应的逆处理方式,基于所述含水印的第二视频对应的含水印的像素位置,从所述含水印的第二视频中去除水印恢复出第二视频。
可选的,所述装置还包括:
第一距离确定模块,用于根据所述含水印的第二视频中一帧图像,确定点阵中每个点对应的像素位置的像素值与点周围像素值的第一平均距离;
第二距离确定模块,用于通过所述改变像素值的方式对应的逆处理方式恢复点阵中每个点对应的原始像素值,确定点对应的原始像素值与点周围像素值的第二平均距离;
第一比较模块,用于针对点阵中每个点,根据点对应的第一平均距离和第二平均距离之间的差异程度与预设阈值的比较结果;
第一水印位置确定模块,用于根据所述比较结果确定所述第二视频对应的含水印的像素位置。
可选的,所述装置还包括:
第三距离确定模块,用于根据所述含水印的第二视频中多帧图像中每帧图像,分别确定点阵中每个点对应的像素值与点周围像素值的第一平均距离;
第四距离确定模块,用于通过所述改变像素值的方式对应的逆处理方式恢复点阵中每个点位置对应的原始像素值,确定点对应的原始像素值与点周期像素值的第二平均距离;
第二比较模块,用于基于所述多帧图像中每帧图像,针对点阵中每个点,根据点对应的第一平均距离和第二平均距离之间的差异程度与预设阈值的比较结果;
第二水印位置确定模块,用于根据点阵中每个点各自对应的多个比较结果,确定所述第二视频对应的含水印的像素位置。
可选的,所述装置还包括:
加密模块,用于利用钩子函数拦截即将写入的所述第二视频的明文数据,通过加密算法和加密密钥对所述第二视频的明文数据进行加密得到加密文件;
存储模块,用于利用钩子操作函数将所述加密算法和所述加密密钥写入所述加密文件并进行存储。
可选的,所述装置还包括:
本地获取视频模块,用于响应于本地视频播放请求,所述本地视频播放请求用于请求在本地通过屏幕水印方式播放第二目标视频,获取所述第二目标视频;
屏幕水印添加模块,用于在播放所述第二目标视频时添加屏幕水印。
基于上述视频安全控制装置为视频添加水印,能够保证后续可以根据含水印的视频进行有效地溯源,并且在视频中添加的水印不对用户的观看体验产生影响。具体的,上述视频安全控制装置为视频添加水印时,先根据终端的唯一标识和当前登录用户的唯一标识确定导出来源标识,然后,基于该导出来源标识和待添加水印的视频的像素数确定水印位置点阵,并根据导出来源标识对该水印位置点阵中各点对应的像素位置相应地增加水印;在后续溯源的过程中,根据含水印的视频中水印位置点阵上各点对应的像素位置的表现形式,确定水印位置点阵中每个点对应的像素位置是否被添加水印,进而据此确定添加水印时基于的导出来源标识,由此实现对于含水印的视频的溯源。此外,上述视频安全控制装置在为视频添加水印时,是通过改变像素值的方式实现的,如此添加的水印没有基于隐式水印技术添加的水印那么不易察觉,但也没有基于显式水印技术添加的水印那么明显,既保证了基于所添加的水印能够进行有效地溯源,又避免了添加的水印对视频产生明显遮挡,影响用户的观看体验。
本申请实施例还提供了一种用于控制视频安全的设备,该设备可以是服务器,图8是本申请实施例提供的一种服务器结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。
其中,CPU 822用于执行如下步骤:
响应于视频导出请求,确定所述第一目标视频的导出来源标识;其中,所述视频导出请求用于请求对第一目标视频添加水印并导出;所述导出来源标识是根据所述终端唯一标识和服务器为所述终端上当前登录用户分配的唯一标识拼接生成的;
根据所述第一目标视频的像素数和所述第一目标视频的导出来源标识,确定水印位置点阵;所述水印位置点阵上各点的赋值用于表示针对点对应的像素位置是否增加水印;
通过改变像素值的方式,基于所述水印位置点阵为所述第一目标视频增加水印得到含水印的第一目标视频;
导出所述含水印的第一目标视频。
可选的,CPU 822还可以用于执行本申请实施例中的视频安全控制方法中任意一种实现方式的步骤。
本申请实施例还提供了一种用于控制视频安全的设备,该设备可以是终端设备,如图9所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为手机为例:
图9示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图9,手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
在本申请实施例中,该终端所包括的处理器980还具有以下功能:
响应于视频导出请求,确定所述第一目标视频的导出来源标识;其中,所述视频导出请求用于请求对第一目标视频添加水印并导出;所述导出来源标识是根据所述终端唯一标识和服务器为所述终端上当前登录用户分配的唯一标识拼接生成的;
根据所述第一目标视频的像素数和所述第一目标视频的导出来源标识,确定水印位置点阵;所述水印位置点阵上各点的赋值用于表示针对点对应的像素位置是否增加水印;
通过改变像素值的方式,基于所述水印位置点阵为所述第一目标视频增加水印得到含水印的第一目标视频;
导出所述含水印的第一目标视频。
可选的,所述处理器980还用于执行本申请实施例提供的视频安全控制方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种视频安全控制方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种视频安全控制方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种视频安全控制方法,其特征在于,包括:
响应于视频导出请求,确定第一目标视频的导出来源标识;其中,所述视频导出请求用于请求对第一目标视频添加水印并导出;所述导出来源标识是根据终端唯一标识和服务器为终端上当前登录用户分配的唯一标识拼接生成的;所述导出来源标识为N位二进制数;
根据所述第一目标视频中目标视频帧图像的像素数和所述第一目标视频的导出来源标识的位数之间的比例关系,将所述第一目标视频中目标视频帧图像平均划分为多个分布区域,每个所述分布区域内分布一个水印位置点阵中的点,以确定所述水印位置点阵中各点各自对应的分布区域,按照预设的水印位置点阵的分布方式,在各个所述分布区域内确定所述水印位置点阵中各点对应的像素位置;所述分布区域的数量与所述导出来源标识的位数相同,所述水印位置点阵中点的数量与所述导出来源标识的位数相同;所述水印位置点阵上各点的赋值根据所述导出来源标识中相应位的取值确定,用于表示针对点对应的像素位置是否增加水印;
基于所述水印位置点阵中赋值表示基于点对应的像素位置增加水印的点,确定所述第一目标视频中目标视频帧图像中待嵌入水印的像素位置;
改变所述待嵌入水印的像素位置对应的像素值;所述第一目标视频中目标视频帧图像分别为所述第一目标视频中的每一视频帧图像;
导出含水印的第一目标视频。
2.根据权利要求1所述的方法,其特征在于,所述改变所述待嵌入水印的像素位置的像素值,包括:
确定所述待嵌入水印的像素位置的像素值,作为第一像素值;
根据所述第一像素值的相反值为所述待嵌入水印的像素位置重新赋值。
3.根据权利要求1所述的方法,其特征在于,所述改变所述待嵌入水印的像素位置的像素值,包括:
确定所述待嵌入水印的像素位置对应的像素值,作为第一像素值;
确定所述待嵌入水印的像素位置相邻的第二像素位置,并确定所述第二像素位置的像素平均值,作为第二像素值;
对所述第一像素值和所述第二像素值进行相加并除以权重值得到加权值;
根据所述加权值为所述待嵌入水印的像素位置重新赋值。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
获取待溯源的第一视频;
根据所述第一视频中视频帧图像的像素确定出所述第一视频对应的第一水印位置点阵中各点的赋值,根据所述第一水印位置点阵中各点的赋值恢复出所述第一视频对应的源终端的唯一标识和源用户的唯一标识。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述登录用户的权限验证通过时,为所述登录用户激活视频控制界面上的除水印控件;
响应于用户针对含水印的第二视频触发的除水印操作,读取所述含水印的第二视频;
通过所述改变像素值的方式对应的逆处理方式,基于所述含水印的第二视频对应的含水印的像素位置,从所述含水印的第二视频中去除水印恢复出第二视频。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
利用钩子函数拦截即将写入的所述第二视频的明文数据,通过加密算法和加密密钥对所述第二视频的明文数据进行加密得到加密文件;
利用钩子操作函数将所述加密算法和所述加密密钥写入所述加密文件并进行存储。
7.根据权利要求1至3、5任一项所述的方法,其特征在于,所述方法还包括:
响应于本地视频播放请求,所述本地视频播放请求用于请求在本地通过屏幕水印方式播放第二目标视频,获取所述第二目标视频;
在播放所述第二目标视频时添加屏幕水印。
8.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于本地视频播放请求,所述本地视频播放请求用于请求在本地通过屏幕水印方式播放第二目标视频,获取所述第二目标视频;
在播放所述第二目标视频时添加屏幕水印。
9.一种视频安全控制装置,其特征在于,包括:
第一确定模块,用于响应于视频导出请求,确定第一目标视频的导出来源标识;其中,所述视频导出请求用于请求对第一目标视频添加水印并导出;所述导出来源标识是根据终端唯一标识和服务器为终端上的当前登录用户分配的唯一标识拼接生成的;所述导出来源标识为N位二进制数;
第二确定模块,用于根据所述第一目标视频中目标视频帧图像的像素数和所述第一目标视频的导出来源标识的位数之间的比例关系,将所述第一目标视频中目标视频帧图像平均划分为多个分布区域,每个所述分布区域内分布一个水印位置点阵中的点,以确定所述水印位置点阵中各点各自对应的分布区域,按照预设的水印位置点阵的分布方式,在各个所述分布区域内确定所述水印位置点阵中各点对应的像素位置;所述分布区域的数量与所述导出来源标识的位数相同,所述水印位置点阵中点的数量与所述导出来源标识的位数相同;所述水印位置点阵上各点的赋值根据所述导出来源标识中相应位的取值确定,用于表示针对点对应的像素位置是否增加水印;
水印添加模块,用于基于所述水印位置点阵中赋值表示基于点对应的像素位置增加水印的点,确定所述第一目标视频中目标视频帧图像中待嵌入水印的像素位置;改变所述待嵌入水印的像素位置对应的像素值;所述第一目标视频中目标视频帧图像分别为所述第一目标视频中的每一视频帧图像;
视频导出模块,用于导出含水印的第一目标视频。
10.一种视频安全控制设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910522200.6A CN110267115B (zh) | 2019-06-17 | 2019-06-17 | 一种视频安全控制方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910522200.6A CN110267115B (zh) | 2019-06-17 | 2019-06-17 | 一种视频安全控制方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110267115A CN110267115A (zh) | 2019-09-20 |
CN110267115B true CN110267115B (zh) | 2022-04-01 |
Family
ID=67918626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910522200.6A Active CN110267115B (zh) | 2019-06-17 | 2019-06-17 | 一种视频安全控制方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110267115B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111263242B (zh) * | 2020-02-12 | 2021-03-19 | 山东三宏信息科技有限公司 | 帧序列处理方法、系统和存储介质 |
CN111339504A (zh) * | 2020-02-27 | 2020-06-26 | 北京北信源软件股份有限公司 | 矢量水印处理方法、装置、设备及存储介质 |
CN111641879B (zh) * | 2020-06-08 | 2022-04-12 | 北京永新视博数字电视技术有限公司 | 一种视频水印的添加方法、装置、存储介质及设备 |
CN111669476B (zh) * | 2020-06-23 | 2022-09-27 | 北京字节跳动网络技术有限公司 | 水印处理方法、装置、电子设备和介质 |
CN112004148B (zh) * | 2020-09-02 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机设备及存储介质 |
CN113596392A (zh) * | 2021-06-30 | 2021-11-02 | 海南视联通信技术有限公司 | 一种水印处理方法、装置、终端设备和存储介质 |
CN113672880A (zh) * | 2021-08-24 | 2021-11-19 | 联仁健康医疗大数据科技股份有限公司 | 文件防泄露方法、装置、电子设备及存储介质 |
CN115243112A (zh) * | 2022-06-07 | 2022-10-25 | 苏州思萃工业互联网技术研究所有限公司 | 一种监控视频溯源的装置 |
CN115334356B (zh) * | 2022-08-12 | 2024-02-23 | 中国电信股份有限公司 | 视频播放方法和系统、视频安全平台、通信设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860743A (zh) * | 2010-06-24 | 2010-10-13 | 北京理工大学 | 基于mpeg-2标准的实时数字视频水印方法 |
CN102377974A (zh) * | 2010-08-04 | 2012-03-14 | 中国电信股份有限公司 | 一种移动终端、接收端、视频采集方法和系统 |
US9886732B2 (en) * | 2015-10-09 | 2018-02-06 | AppNexus Inc. | Systems and methods for pixel-based watermarking |
CN107743123A (zh) * | 2017-09-30 | 2018-02-27 | 北京北信源软件股份有限公司 | 一种屏幕水印处理方法及装置 |
CN107959895A (zh) * | 2017-11-28 | 2018-04-24 | 三峡大学 | 一种视频播放追溯方法及装置 |
CN108040188A (zh) * | 2017-10-31 | 2018-05-15 | 安徽四创电子股份有限公司 | 一种基于显性水印的视频溯源方法 |
CN108269220A (zh) * | 2016-12-30 | 2018-07-10 | 北京思源互联科技有限公司 | 定位数字水印的方法及装置 |
CN109348308A (zh) * | 2018-11-20 | 2019-02-15 | 福建亿榕信息技术有限公司 | 一种基于随机水印的监控视频泄露可追溯方法及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742193B (zh) * | 2009-12-22 | 2013-09-25 | 无锡中星微电子有限公司 | 一种在数字电影中添加水印的方法 |
CN113660389A (zh) * | 2017-11-23 | 2021-11-16 | 星宸科技股份有限公司 | 视频防篡改方法及视频验证方法 |
CN108449626A (zh) * | 2018-03-16 | 2018-08-24 | 北京视觉世界科技有限公司 | 视频处理、视频的识别方法、装置、设备和介质 |
CN108449627B (zh) * | 2018-03-16 | 2021-08-10 | 北京视觉世界科技有限公司 | 视频处理、视频来源的识别方法、装置、设备和介质 |
-
2019
- 2019-06-17 CN CN201910522200.6A patent/CN110267115B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860743A (zh) * | 2010-06-24 | 2010-10-13 | 北京理工大学 | 基于mpeg-2标准的实时数字视频水印方法 |
CN102377974A (zh) * | 2010-08-04 | 2012-03-14 | 中国电信股份有限公司 | 一种移动终端、接收端、视频采集方法和系统 |
US9886732B2 (en) * | 2015-10-09 | 2018-02-06 | AppNexus Inc. | Systems and methods for pixel-based watermarking |
CN108269220A (zh) * | 2016-12-30 | 2018-07-10 | 北京思源互联科技有限公司 | 定位数字水印的方法及装置 |
CN107743123A (zh) * | 2017-09-30 | 2018-02-27 | 北京北信源软件股份有限公司 | 一种屏幕水印处理方法及装置 |
CN108040188A (zh) * | 2017-10-31 | 2018-05-15 | 安徽四创电子股份有限公司 | 一种基于显性水印的视频溯源方法 |
CN107959895A (zh) * | 2017-11-28 | 2018-04-24 | 三峡大学 | 一种视频播放追溯方法及装置 |
CN109348308A (zh) * | 2018-11-20 | 2019-02-15 | 福建亿榕信息技术有限公司 | 一种基于随机水印的监控视频泄露可追溯方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110267115A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110267115B (zh) | 一种视频安全控制方法、装置、设备及介质 | |
CN107610038B (zh) | 水印的显示方法、装置及系统 | |
CN111475832B (zh) | 一种数据管理的方法以及相关装置 | |
CN110221990B (zh) | 数据的存储方法及装置、存储介质、计算机设备 | |
Rejani et al. | Pixel pattern based steganography on images | |
CN106778295B (zh) | 文件存储、显示方法、装置及终端 | |
US10003462B2 (en) | Key generating method and apparatus | |
CN114418825B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN111241556A (zh) | 一种数据安全存储方法、装置、存储介质及终端 | |
CN113704818A (zh) | 加密数据存储系统的密钥管理方法、装置及终端设备 | |
CN111666577B (zh) | 一种数据解密方法、装置、设备及存储介质 | |
CN108769038A (zh) | 基于区块链的数据处理方法及装置 | |
US8695068B1 (en) | Device authentication using display device irregularity | |
CN108696355B (zh) | 一种防止用户头像盗用的方法及系统 | |
CN113965322B (zh) | 大数据安全管理方法及系统 | |
US20140023346A1 (en) | Shuffling Video for Privacy Protection | |
CN114500044A (zh) | 一种数据验证方法、装置、存储介质及电子设备 | |
CN111866514B (zh) | 一种压缩视频、解压视频的方法和装置 | |
KR20140047312A (ko) | 개인 프라이버시 설정 장치 및 방법 | |
CN113836538A (zh) | 数据模型处理方法、装置、服务器及存储介质 | |
CN110555693B (zh) | 一种利用sim卡实现二维码安全的系统及其方法 | |
CN108763964B (zh) | 一种数据处理方法、装置、可读存储介质及设备 | |
CN112434327A (zh) | 信息保护方法、装置及电子设备 | |
US11810399B2 (en) | Information processing device, information processing method, and program | |
CN111695106A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |