CN113422984B - 视频处理方法及装置、电子设备及存储介质 - Google Patents

视频处理方法及装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113422984B
CN113422984B CN202110649162.8A CN202110649162A CN113422984B CN 113422984 B CN113422984 B CN 113422984B CN 202110649162 A CN202110649162 A CN 202110649162A CN 113422984 B CN113422984 B CN 113422984B
Authority
CN
China
Prior art keywords
frame
video
encrypted
information
encryption
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
Application number
CN202110649162.8A
Other languages
English (en)
Other versions
CN113422984A (zh
Inventor
池源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shareit Information Technology Co Ltd
Original Assignee
Beijing Shareit Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Shareit Information Technology Co Ltd filed Critical Beijing Shareit Information Technology Co Ltd
Priority to CN202110649162.8A priority Critical patent/CN113422984B/zh
Publication of CN113422984A publication Critical patent/CN113422984A/zh
Priority to PCT/CN2022/087718 priority patent/WO2022257612A1/zh
Application granted granted Critical
Publication of CN113422984B publication Critical patent/CN113422984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4408Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开实施例是关于一种视频处理方法及装置、电子设备及存储介质。应用于发送端中的视频处理方法可包括:从待传输的第一视频中抽取至少一个待加密帧;根据所述待加密帧的帧信息,生成加密密钥;利用所述加密密钥加密所述待加密帧,生成加密帧;利用加密帧替换所述第一视频中待加密帧,得到第二视频;向接收端分别发送所述第二视频及所述加密信息,其中,所述加密信息,用于供所述接收端解密所述第二视频以还原出所述第一视频。

Description

视频处理方法及装置、电子设备及存储介质
技术领域
本公开涉及视频技术领域,尤其涉及一种视频处理方法及装置、电子设备及存储介质。
背景技术
视频加密是对视频数据进行保护,防止视频的原始数据被窃取,保证未经授权的人无法随意观看,视频加密已经成为有效保护视频版权的常用途径。
视频加密的方式也有很多种,有的视频加密方式导致加密复杂度高或加密计算量大。有的加密方式虽然加密简便但是安全性低。
但是不管哪种加密方式,一旦加密密钥泄露会导致视频十分容易的被窃取。
发明内容
本公开实施例提供一种视频处理方法及装置、电子设备及存储介质。
本公开实施例第一方面提供一种视频处理方法,应用于发送端中,所述方法包括:
从待传输的第一视频中抽取至少一个待加密帧;
根据所述待加密帧的帧信息,生成加密密钥;
利用所述加密密钥加密所述待加密帧,生成加密帧;
利用加密帧替换所述第一视频中待加密帧,得到第二视频;
向接收端分别发送所述第二视频及所述加密信息,其中,所述加密信息,用于供所述接收端解密所述第二视频以还原出所述第一视频。
本公开实施例第二方面提供一种视频处理方法,应用于接收端中,所述方法包括:
接收第二视频;
接收加密信息;
确定所述第二视频包含的加密帧;
根据所述加密信息得到加密密钥,解密所述加密帧得到解密帧;所述加密密钥是根据所述加密帧未加密时的帧信息生成的;
利用所述解密帧替换所述第二视频中的所述加密帧,得到第一视频。
本公开实施例第三方面提供一种视频处理装置,应用于发送端中,所述装置包括:
抽取模块,用于从待传输的第一视频中抽取至少一个待加密帧;
生成模块,用于根据所述待加密帧的帧信息,生成加密密钥;
加密模块,用于利用所述加密密钥加密所述待加密帧,生成加密帧;
替换模块,用于利用加密帧替换所述第一视频中待加密帧,得到第二视频;
发送模块,用于向接收端分别发送所述第二视频及所述加密信息,其中,所述加密信息,用于供所述接收端解密所述第二视频以还原出所述第一视频。
本公开实施例第四方面提供一种视频处理装置,应用于接收端中,所述装置包括:
接收模块,用于接收第二视频;接收加密信息;
第三确定模块,用于确定所述第二视频包含的加密帧;
解密模块,用于根据所述加密信息得到加密密钥,解密所述加密帧得到解密帧;所述加密密钥是根据所述加密帧未加密时的帧信息生成的;
还原模块,用于利用所述解密帧替换所述第二视频中的所述加密帧,得到第一视频。
本公开实施例第五方面提供一种电子设备,包括:
用于存储处理器可执行指令的存储器;
处理器,与所述存储器连接;
其中,所述处理器被配置为执行如前述第一方面任意技术方案提供的视频处理方法。
本公开实施例第六方面提供一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现前述第一方面任意技术方案提供的视频处理方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,第一视频的加密是根据抽取的待加密帧的帧信息生成的加密密钥进行加密的;由于不同帧的帧信息不同,故而一个视频的多个待加密帧使用不同加密密钥,即便一个加密密钥泄露,其他视频帧的加密效果也不会受到影响,若一个视频的加密密钥泄露,其他视频的加密安全性也不受影响,从而减少了加密密钥泄露导致的安全性问题。另外,由于加密密钥是与被抽样视频帧的帧信息相关的,单个加密密钥的破解难度大,再次提升了视频加密的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本公开实施例示出的一种视频处理方法的流程示意图。
图2是本公开实施例示出的一种视频帧的示意图。
图3是本公开实施例示出的一种视频处理方法的流程示意图。
图4是本公开实施例示出的一种视频处理方法的流程示意图。
图5是本公开实施例示出的一种视频处理方法的流程示意图。
图6是本公开实施例示出的一种视频处理方法的流程示意图。
图7是本公开实施例示出的一种视频处理装置的结构示意图。
图8是本公开实施例示出的一种视频处理装置的结构示意图。
图9是本公开实施例示出的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
如图1所示,本公开实施例提供一种视频处理方法,应用于发送端中,所述方法包括:
S110:从待传输的第一视频中抽取至少一个待加密帧;
S120:根据所述待加密帧的帧信息,生成加密密钥;
S130:利用所述加密密钥加密所述待加密帧,生成加密帧;
S140:利用加密帧替换所述第一视频中待加密帧,得到第二视频;
S150:向接收端分别发送所述第二视频及所述加密信息,其中,所述加密信息,用于供所述接收端解密所述第二视频以还原出所述第一视频。
本公开实施例中所述发送端可为向接收发送视频的一端,例如,可为视频服务器或者视频录制终端等。
此处的待传输的第一视频可为:接收端请求的视频,或者,发送端基于用户指令确定发送给接收端的视频。
在本公开实施例中会从第一视频中抽取一个或多个待加密帧,若抽取的待加密帧为多个时,这多个待加密帧分散在第一视频的不同位置上,如此,减少多个待加密帧位于相邻位置上,直接跳过第二视频中这些帧导致的第二视频信息安全问题。
在本公开实施例中,若抽取出了待加密的待加密帧之后,会标记待加密帧在第一视频中的位置,例如帧编号。如此,方便在生成加密帧之后按照形成的标记进行视频帧替换。
在一些实施例中,抽取出待加密帧之后,会根据待加密帧自身的帧信息,生成加密密钥。
例如,根据待加密帧的图像内容,生成加密密钥,因此该加密密钥取决于该待加密帧自身的帧信息。该帧信息包括但不限于:帧内容和帧属性。该帧内容可包括:待加密帧所包含像素的像素值。帧属性包括但不限于:帧编号、帧分辨率、帧编码方式和/或帧类型等。
由于不同待加密帧的帧信息不同,因此不同的待加密帧的加密密钥也不同,即便部分加密帧的加密密钥泄露,其他帧的加密密钥没有泄露,则第一视频就不可能完全被还原出来的,因而采用这种方式生成的加密密钥提升了视频加密的安全性。
在生成加密密钥加对待加密帧进行加密,采用的加密算法可以为相关技术中任意加密算法,示例性地,该加密算法可包括:对称加密和/或非对称加密算法等。
对待加密帧加密之后,可以生成加密帧,然后将加密帧替换掉第一视频中的待加密帧,然后就形成了包含未加密帧和加密帧的第二视频。这种第二视频在传输过程中被其他非法设备截获了,也因为第二视频中插入与加密密钥不统一的加密帧而无法播放,提升了第二视频的安全性。如此,即便某个加密帧被解密了,因为不同加密帧的加密密钥不同,其他加密帧也未必能够成功解密,从而提升了视频在传输过程中的安全性。
在本公开实施例中,接收端将分别接收到第二视频和加密信息。示例性地,发送端将分开发送所述第二视频和所述加密信息。
示例性地,发送端可以通过同一个连接的不同次的信息传输来分别发送所述第二视频和加密信息。又示例性地,第二视频和加密信息的发送方式不同,例如,第二视频可以由发送端直接发送给发送端,而加密密钥则可以由发送端存储到一个服务器上,发送端仅是将授权信息发送给接收端,接收端基于授权信息向服务器请求所述加密信息。服务器接收到授权信息进行信息验证,如通过验证之后,将第二视频的加密信息发送给接收端。
总之,在本公开实施例中,为了减少第二视频和加密信息一同发送,在暴力破解下形成的安全性低的问题,在S150中将分别向接收端发送所述第二视频和所述加密信息。
所述加密信息可用于接收端解密所述第二视频,从而还原出能够正常播放的第一视频。示例性地,所述加密信息可至少包括:所述加密密钥。
又示例性地,所述加密信息还可包括:所述加密密钥的存储位置。进一步地,所述加密信息还可包括:获取所述加密信息的授权信息等。
在一个实施例中,所述第二视频的生成可以预先执行的,例如,事先执行S110至S140,在接收到第一视频的视频请求之后,直接将加密好的第二视频和加密信息发送给接收端,如此,可以及时的响应视频请求。
在另一个实施例中,所述第二视频的生成可以是在接收到第一视频的视频请求临时生成的。
视频请求为:向发送端请求所述第一视频的请求信息。
在一些实施例中,所述根据所述待加密帧的帧信息,生成加密密钥,包括:
从第n个待加密帧抽取预设个像素的像素值,生成所述第n个待加密帧的所述加密密钥;其中,所述n为自然数。
在生成各个待加密帧的加密密钥时,可以基于预设算法生成。
在本公开实施例中,通过像素值的采样,得到被采样像素的像素值,基于这些像素值生成加密密钥。
示例性地,将被采样的多个像素的像素值按照抽样顺序依次组合后,生成加密密钥。
在一些实施例中,将被采样像素的像素值排序,按照采样方式再次对排序后的像素值进行降采样,得到密钥长度再次缩短的所述加密密钥。
此处地采样方式包括但不限于:随机采样。
该随机采样包括但不限于:随机欠采样、随机过采样、基于聚类中心的采样、分组采样等。
又示例性地,以待加密帧的相似值作为消息摘要算法的输入得到输出,该输出即可为前述的加密密钥。
如此,由于第一视频中不同帧的图像内容不同,或者像素值不同或者像素值分布不同,因此不同待加密帧的加密密钥不同。
在另一些实施例中,根据第n个待加密帧的帧信息生成加密密钥还可包括:
根据所述第n个待加密帧的信息帧的像素值的统计特征,该统计值包括但不限于:像素值的均值、像素值的方差、像素值的均方差等;
根据统计特征中的一个或多个的组合,生成所述加密密钥。
在还有一些实施例中,根据待加密帧的帧信息中的帧编号和帧内容,共同生成所述加密密钥。示例性地,根据帧编号生成加密密钥的第一部分,根据帧内容生成第二部分,组合第一部分和第二部分得到所述加密密钥。第一部分和第二部分的生成过程中,可以基于随机抽样或者信息摘要算法等。
总之,基于待加密帧的帧信息生成加密密钥的方式有多种,具体实现不局限于上述举例。
在一些实施例中,所述从待传输的第一视频中抽取至少一个待加密帧,包括:
按照第一抽样策略,从待传输的所述第一视频中随机抽取至少一个待加密帧;
或者,
按照第二抽样策略,从待传输的所述第一视频中抽取信息熵满足预设条件的至少一个待加密帧。
在本公开实施例中,可以通过各种抽样策略从第一视频中抽取待加密帧。
在本公开实施例中,进行待加密帧的抽样策略可分为:第一抽样策略和第二抽样策略。此处地,第一抽样策略可包括:随机抽样策略,从而可以从第一视频中随机抽取一个或多个待加密帧。
示例性,按照第一抽样策略从第一视频中抽取至少一个待加密帧可包括:
按照随机抽样算法,以第一视频为一个待抽样单位抽取至少一个待加密帧;
或者,
将所述第一视频划分为多个抽样单位,按照随机抽样算法从每一个所述待抽样单位中抽取至少一个待加密帧。
为了再次提升加密安全性,在本公开实施例中会按照第二抽样策略,从第一视频中抽取信息熵较小(即信息量大)的视频帧作为所述待加密帧,如此,确保信息量的帧被加密,即便在传输过程第二视频被截获,也不能直接跳过加密帧播放。
示例性地,所述按照第二抽样策略,从待传输的所述第一视频中抽取信息熵满足预设条件的至少一个待加密帧,包括:
按照第二抽样策略,抽取信息熵最小的一个或多个视频帧作为所述待加密帧;
按照第二抽样策略,从每一个待抽样单位中抽取信息最小的一个或多个视频帧作为所述待加密帧;
按照第二抽样策略,抽取信息熵在从小到大排序中排序排名预设位置之前的一个或读个视频帧作为所述待加密帧;
按照第二抽样策略,抽取信息熵小于或等于信息熵阈值的一个或多个视频帧作为所述待加密帧。
以上仅是对抽样策略的举例说明,具体实现时不局限于上述举例。
在一个实施例中,所述按照第二抽样策略,从待传输的所述第一视频中抽取信息熵满足预设条件的至少一个待加密帧,包括:
按照所述第二抽样策略,从所述第一视频的待抽样单位中抽取信息熵最小的一个或多个视频帧作为所述待加密帧;
或者,
按照所述第二抽样策略,从所述第一视频的待抽样单位中抽取信息熵从大到小排序在预设位置的一个或多个视频帧作为所述待加密帧。
此处预设位置可至少为:从大到小的中间位置以后的位置。
在一些实施例中,所述按照第二抽样策略,从待传输的所述第一视频中抽取信息熵满足预设条件的至少一个待加密帧,包括以下至少之一:
在所述第二抽样策略为I帧抽样策略,从待传输的所述第一视频中待抽样画面组(Group of Picture,GOP)抽取I帧为所述待加密帧;其中,一个所述GOP包括:一个I帧和依赖所述I帧的至少一个B帧和/或依赖所述I帧的至少一个P帧;
在所述第二抽样策略为镜头抽样策略,从所述第一视频中从待抽样镜头中抽取预定帧作为所述待加密帧,其中,所述预定帧包括:待抽样镜头的首帧和/或尾帧;
在所述第二抽样策略为基于运动分析的抽样策略时,从所述第一视频中抽取光流移动次数满足预设条件的视频帧为所述待加密帧;
在所述第二抽样策略为基于聚类结果的抽样策略时,将所述第一视频的视频帧进行基于帧信息相似度的聚类得到包括至少一个视频帧的聚类簇,并从待抽样的所述聚类簇中抽取信息熵最小的视频帧为所述待加密帧;
在所述第二抽样策略为基于分组的抽样策略时,将所述第一视频按照播放顺序分为多个分组,从待抽样所述分组中抽取信息熵最小的视频帧作为所述待加密帧;其中,一个所述分组包括:多个在时域上连续播放的视频帧;
在所述第二抽样策略为基于分层的抽样策略时,获取所述第一视频在频率的频率分布,根据所述频率分布从所述第一视频中抽取包含预设频率分量的视频帧为所述待加密帧。
位于同一个画面组内的多个视频帧是第一视频中连续分布的视频帧,根据MPEG、WEBM等等编码方式,会将一个GOP中的帧分为:包含宏块的I帧。一般一个GOP包括一个I帧,剩余的帧可为B帧或者P帧。B帧和P帧都是依赖的I帧,针对B帧和P帧编码时,都可以以I帧为参考进行差分编码,提升编码速率和编码效率。
在一个GOP中I帧即为信息熵最小即信息量最大的帧。
若将第一视频按照帧内容之间的关联性划分为了多个GOP,可以按照第二抽样策略抽抽取每一个GOP或部分GOP的I帧作为待加帧,如此,第二视频中的每个或部分GOP的I帧都是加密的,在没有解密出I帧之后,整个第二视频都无法正确解密和播放,因此确保了本公开实施例提供的方法的安全性。在这种抽样方式中,一个待抽样单位为:GOP
在一些实施例中,所述第一视频可以根据拍摄的连续性划分为多个镜头。例如,第一视频中相邻两个剪接点之间的视频帧属于同一个镜头。
在本公开实施例中,根据第二抽样策略,从每一个镜头或至少部分镜头中抽取信息熵满足预设条件的至少一个待加密帧。
当拍摄的内容出现比较大变化时,摄像头的镜头视场会出现变化,而需要将两个镜头拍摄的视频帧剪接到一起,从而所述剪接点的出现,表明图像内容出现了比较大的变化,位于剪接点附近的视频帧的信息量比其他帧的信息大,或者,位于剪接点附近的视频帧的信息量的增量比其他帧的信息量的增量大。故为了简化抽样,在本公开实施例中,可以将一个镜头的首帧和/或尾帧作为待加密帧。且由于抽取的待加密帧为一个镜头的首帧和/或尾帧,故也保证了被抽取的待加密帧的信息量足够大,从而再次提升的安全性。
在一些实施例中,第二抽样策略还可以为运动分析的抽样策略。此处的基于运动分析的抽样策略可为:先进行视频帧内拍摄对象的运动分析,基于分析得到的结果进行待加密帧的抽样,从而确保抽样的待加密帧的信息量足够大。
该运动分析包括但不限于:光流法。通过光流法可以确定出光流移动次数,在相邻两个视频帧之间光流移动次数越多,则说明视频帧中的拍摄对象的运动变化越大,则说明视频帧的图像内容变化越大,因此在相邻两个视频帧之间的内容变化大,则在后的一个视频帧的信息增量大,因此可以选择该帧作为待加密帧。
在一些实施例中,还可以根据视频帧的帧信息进行聚类,如此将聚类操作得到聚类簇,一个聚类簇的多个视频帧具有相似性,然后从多个聚类簇或者每一个聚类簇中抽取一个或多个信息熵最小的视频帧作为所述待加密帧。
在一些实施例中,待抽样单位可以为:在时域上顺序播放的多个视频帧组成的分组。例如,第一视频包括M个帧,将M个帧按照播放顺序划分为包含N个帧的分组。一个分组之间的内容可以具有关联性,也可以不具有关联性。但是这个分组内的所有视频帧是连续分布。采用这种方式,通常除最后一个分组以外任意两个分组包含的视频帧的帧数相同。
在一些实施例中,若所述第二抽样策略为基于分层的抽样策略。
还可以将视频帧映射到频域,如此视频帧中的不同信息会分布在频域的不同位置上,如此,视频帧的帧内容就将按照频率高低分配高频信息和低频信息,高频信息对应的频率,高于低频信息对应的频率。如此,高频信息和低频信息可以信息的层。例如,一般图像的细节信息可转换为高频信息,轮廓信息可以转换为低频信息。而一个视频帧的信息内容足够丰富(即信息熵够小),则将包含低频信息和高频信息,所述预设频率分量可为高频分量。将包含高频分量和低频信息所在的视频帧抽取出来作为所述待加密帧。
在一些实施例中,如图3所示,所述方法还包括:
S100:根据视频参数和所述发送端的资源使用状况信息,确定所述待加密帧的抽样帧数。
所述视频参数,可以用于确定加密一个视频帧所需要消耗的资源。
所述发送端的资源使用状况信息,可用于确定发送端当前可用于进行视频帧加密的资源。
在本公开实施例中,因此在本公开实施例中,会根据所述视频参数和所述资源使用状况信息,共同确定出待加密帧的抽样帧数,减少抽样帧数过大导致的发送端的卡顿现象和视频传输延时大及不必要加密的现象。
在一些实施例中,所述视频参数,包括以下至少之一:
根据所述第一视频的单个视频帧的数据量;
第一视频的I帧总数。
I帧总数,可以是根据视频总时长、视频帧率(Frames Per Second,FPS)和视频帧帧间隔(GOP)确定的。例如,I帧总数=视频总时长*FPS/GOP。
此处的视频帧间隔可为两个I帧之间的间隔。
可以理解地,一个视频的I帧总数越大,则同样出于安全性考虑,则需要考虑抽取更多的待加密帧。
在另一个实施例中,所述视频参数还可包括:
所述第一视频的总帧数。
若一个视频的单个视频帧的图像分辨率越高,则单个视频帧的数据量就越多。通常情况下,高清4K视频的单个视频帧的数据量,比普清视频的单个视频帧的数据量大。
示例性地,单个视频帧的数据量VS=画面宽度*画面高度*M个字节数。此处的画面宽度可为:视频宽所在方向上包含的像素个数;画面高度可为:视频高所在方向上包含的像素个数。M个字节数可为:编码一个像素的字节个数。例如,一个像素的像素值由8个字节编码,则该M为8。
一般情况下第一视频的总帧数越多,出于安全性考虑则需要抽取更多的待加密帧。
所述资源使用状况信息包括以下至少之一:
处理器的信息;
可用内存容量;
剩余电量。
所述处理器的信息可为描述所述处理器的任意信息,可用于确定当前发送端可以用于加密视频帧的处理资源。
示例性地,所述处理器的信息指示但不限于以下至少之一:
处理器的类型;
处理器的核数;
处理器的位宽;
处理器的负载率。
处理器的类型、核数和位宽反应的是该处理器自身的处理速率,一般情况下处理器自身的处理速率越高,即便剩余资源较少依然可以快速完成视频帧的加密。
此处的处理器的负载率可为:进行加密处理的中央处理器(Central ProcessingUnit,CPU)、微程序控制器(Micro programmed Control Unit,MCU)或者图像处理器(graphics processing unit,GPU)或者应用处理器(Application Processor,AP)等负载率。若当前处理器的负载率越高,则说明处理器的剩余处理资源越少,可用于待加密帧的加密密钥生成和加密处理的资源就越少。
一个设备内的内存资源也是有限的,若当前大量的内存资源被占用,则用于加密的内存就减少了,若此时需要加密大量的帧,则必然导致发送端自身卡顿和接收端的视频接收延时大等问题。
一个设备的剩余电量决定了该设备的剩余待机时长,若剩余电量越大,则说明设备的待机时长越长,加密更多的帧,不会是的设备很快就出现电量耗尽的现象。
在一些实施例中,所述抽样帧数,包括:
第一取值和第二取值中的较大值,其中,所述第一取值为:所述可用内存容量与第一参数的乘积,与单个视频帧的数据量的比值;其中,所述第一参数为小于1的正数;所述第二取值为:所述I帧总数与第二参数的比值;所述第二参数为大于1的正数。
所述第一参数可为0到1之间的任意比值,例如,0.2、0.3或者0.4等。
所述第二参数可为任意大于或等于2的正整数。示例性地,所述第二参数可为2。
示例性地,所述采样帧数=MAX(发送端可用资源*第一参数/单个视频帧的数据量,I帧总数/第二参数)。若第一参数为0.2,第二参数为2;则采样帧数==MAX(发送端可用资源*0.2/单个视频帧的数据量,I帧总数/2)。
采用这种方式,即便在发送端的资源空闲比较多时,抽取帧数越大,则被加密的第一视频的安全性越高,而在发送端的资源比较紧张时,也确保了抽样帧数不小于I帧总数与第二参数之间的比值,确保了第二视频的基本安全性。
可以理解地,在所述剩余电量小于第一阈值时,所述抽样帧数与所述剩余电量的正相关;或者,在所述负载率大于第二阈值时,所述抽样帧数与所述负载率的负相关。
示例性地,所述第一阈值可为50%或者70%。
所述第二阈值可为30%或40%等。
所述第一阈值和第二阈值可为预先确定的历史值或者经验值。
在一些实施例中,若所述发送端的设备为有线设备或者当前正在充电,则可以忽略剩余电量这一参考因素,基于其他参考因素确定抽样帧数。
可以理解地,若发送端的设备为移动设备,例如,未处于充电状态的移动设备时,在考虑抽样帧数时需要考虑剩余电量。示例性地,若剩余电量大于50%时,前述第二参数的取值固定,若剩余电量小于50%,则剩余电量越小则所述第二参数的取值可越大。此处的50%即为所述第一阈值。
在一些实施例中,所述方法还包括:
根据所述发送端的可用线程数量,确定用于所述第一视频加密的线程数量;
根据所述线程数量,分配进行所述第一视频加密的线程,其中,当所述线程数量大于或等于2时,多个所述线程进行所述待加密帧的并行抽样和/或加密。
若发送端的可用线程数越多,则说明发送端的资源空闲率越高,可以分配用于待加密帧的抽样和/或执行加密的线程数就越多。
在本公开实施例中,分配给第一视频加密的线程数大于1,则多个线程可以并行抽样和加密,从而提升第一视频的加密速率。
在一些实施例中,所述向接收端分别发送所述第二视频及所述加密信息,包括:
通过长连接向所述接收端发送所述加密信息;
通过短连接向所述接收端发送所述第二视频。
发送端和接收端之间可以建立不同类型的连接,例如,发送端和接收端可以通过不同过的连接分别发送第二视频和加密信息,如此非法设备不会一次性同时获得第二视频和加密信息。
长连接建立之后长时间不断开,示例性地,长连接会通过心跳数据包的传输检测长连接是否维持连接状态。若通过心跳数据包的发送,确定出长连接断开,则重建该长连接。
短连接是每一数据包收发时才建立的通信连接,通常短连接多用于频繁的点对点通信。
通过长连接和短连接分别传输加密信息和所述第二视频,能够再次提升所述第一视频的安全性。
在一些实施例中,所述加密信息包括:所述加密密钥。若加密信息携带有加密密钥,则接收端成功接收到加密信息之后,就能够知晓第一视频的加密密钥。
但是接收端如何知晓发送的加密了哪些帧,发送端和接收端同样可以基于加密信息进行协商,也可以按照发送端和接收端都知晓的方式确定。例如,发送端和接收端预先协商好每隔预设帧就抽取一个帧加密,则此时发送端不用通过加密信息告知接收端哪些帧加密了。
示例性地,若第二视频包含多个加密密钥时,所述加密信息中相邻两个加密密钥的排列顺序,与加密帧在第二视频中的排列顺序是一致的。第n个加密密钥为第二视频中第n个加密帧的加密密钥。
又示例性地,为了再次提升安全性,加密信息中的多个加密密钥按照预设映射关系排列,接收端接收到加密信息之后需要根据预设映射关系获取对应加密帧的加密密钥。
例如,任意相邻两个加密帧的加密密钥,在加密信息中相隔有m个加密密钥。此时,假设解密第一个加密帧的加密密钥为加密信息中的第1个加密密钥,则解密第二加密帧的加密密钥可为第m+2个加密密钥。加密第x个加密帧的加密密钥为加密信息中第p个加密密钥,则第x+1个加密帧的加密密钥可为:加密信息中第p+m+1个加密密钥或第p-m-1个加密密钥。若p+m+1大于加密信息中密钥总个数,则必然地第x+1个加密帧的加密密钥为第p-m-1个加密密钥。若p-m-1小于0,则第x+1个加密帧的加密密钥为第p+m+1个加密密钥。
通过这种方式,即便某一个非法设备获取了加密信息和第二视频,但是不知道上述映射关系,也是无法成功解密第二视频的或者解密第二视频的难度大等。
在本公开实施例中,所述加密帧的帧头携带有加密标识;其中,所述加密标识,用于供所述接收端确定所述第二视频中的加密帧。
在对第二视频编码时,相邻两帧之间会插入起始码(start code)用于分割相邻两个视频帧,每一个视频帧包括一个头部(header)和数据单元。头部可为一个字节。数据单元可携带对应视频帧的原始数据。
在本公开实施例中,第二视频中包含加密帧和未加密帧,可以通过该头部内加密标识指示对应帧的数据单元是否加密。例如,每一个视频的头部内有一个比特,该比特为1指示该帧的数据单元加密了(该帧为加密帧),该比特为0指示该帧的数据单元未加密(该帧为非加密帧或成为未加密帧)。
如此,接收端在解密时,可以根据各个视频帧的头部,确定出加密帧。
在一些实施例中,第二视频自身的头部不进行任何改进,如此若仅仅是接收到第二视频是无法区分出哪些是加密帧,哪些是未加密帧的。此时,所述加密信息包括:加密帧的帧标识,其中,所述帧标识,用于供所述接收端确定第二视频中的加密帧。
此时加密帧的帧标识携带加密信息中。如此,接收端接收到加密信息将会同时知晓加密帧和加密标识。示例性地,帧标识可包括但不限于:视频帧的帧编号。
如图4所示,本公开实施例提供一种视频处理方法,应用于接收端中,所述方法包括:
S210:接收第二视频;
S220:接收加密信息;
S230:确定所述第二视频包含的加密帧;
S240:根据所述加密信息得到加密密钥,解密所述加密帧得到解密帧;所述加密密钥是根据所述加密帧未加密时的帧信息生成的;
S250:利用所述解密帧替换所述第二视频中的所述加密帧,得到第一视频。
本公开实施例提供过的视频处理方法,应用于接收端中,该接收端从发送端接收的视频为同时包含加密帧和非加密帧的第二视频。
例如,接收端可以向发送端发送第一视频的请求,如此,发送端基于接收端发送的请求,向接收端发送第二视频。如此,接收端将接收第二视频。第二视频中包含加密帧和非加密帧。且加密帧的加密密钥是基于对应加密帧的帧信息生成的。在本公开实施例中,第二视频和加密信息的接收是相互独立的,因此加密信息和第二视频之间的接收可以没有一定的先后顺序。
在本公开实施例中,第二视频和加密信息为分别接收的,例如,一个通过点对点传输方式接收,另一个是经过服务器转发的方式接收的。再例如,第二视频和加密信息是通过不同类型的连接接收的。
确定第二视频包含的加密帧所在位置,例如,确定第二视频中加密帧的位置。
确定出加密帧之后,将根据加密信息确定的加密密钥去解密对应的帧。
解密之后就解密帧,解密帧就被还原的原始帧,并将解密帧插入到对应的加密帧所在位置,就将第二视频恢复成第一视频。
此时的第一视频可为直接播放的未加密视频。
本公开实施例中,对应视频帧加密使用的加密密钥是根据该帧的帧信息生成的。因此,不同待加密帧的加密密钥不同,从而即便一个待加密帧的加密密钥泄露,对整个第二视频的解密而言也没有什么重大的影响,从而提升了第二视频的安全性。
在一些实施例中,所述加密信息包括:所述加密密钥。
如此,在接收到所述加密信息之后,就能够获取到所述加密密钥。
在一些实施例中,所述加密信息可为获取所述加密密钥的相关信息,该相关信息包括但不限于:存储地址,如此可以到该存储地址去读取加密密钥。
在另一些实施例中个,该相关信息还可包括:存储地址和授权信息。接收端接收到该加密信息之后,基于该存储地址发起阅读请求,该阅读请求携带有该存储地址和授权信息,该授权信息用于供存储有该加密密钥的服务器确定该请求端是否具有读取权限,若有读取权限则根据该存储地址处存储的加密密钥返回。如此,接收端可以根据该相关信息获取到所述加密密钥。
所述S230可包括:
根据所述加密信息包含的帧标识,确定所述第二视频包含的加密帧;
或者,
根据所述第二视频中加密帧的帧头携带的加密标识,确定所述第二视频包含的所述加密帧。
在一些实施例中,所述加密信息还携带有加密帧的帧标识,示例性地该帧标识包括但不限于帧编号。根据该帧标识,接收端将简便的从第二视频中确定出加密帧。
在另一些实施例中,所述第二视频包含的加密帧的帧头携带有帧标识,如此,接收端接收到第二视频,可以通过解码帧头就能够知晓第二视频中哪些视频帧是加密帧,哪些是未加密帧。
在一些实施例中,发送端和接收端还可以预先约定加密哪些帧,例如,约定第二视频中每个预设个帧中掺杂一个加密帧,采用这种方式时,接收端在接收到第二视频之后,可以等间隔的从第二视频中抽取出加密帧。
总之,接收端知晓第二视频中加密帧的方式有多种,不局限于任意一种。
在一些实施例中,所述S210可包括:在短连接上接收所述第二视频;
所述S220可包括:在长连接上接收所述加密信息。
在本公开实施例中,短连接和长连接是不同的连接方式,所述第二视频和加密信息不仅分开接收,而且是分不同类型的连接接收,从而再次保证第二视频和加密信息传输的隔离度,确保了视频的安全性。
以下结合上述任意实施例提供一个具体示例:
在相关技术中,视频加密主要包括在线视频加密和离线视频加密:
在线视频加密,指的是有视频网站、APP、小程序等在线播放视频平台,对视频进行加密。优点是手机或者电脑可以通过相应程序直接打开观看,缺点是加密强度比较低。
离线视频加密,指的是对自己录制的视频,通过加密软件对视频进行版权保护。一般流程是通过加密工具将视频进行加密,然后发给用户,通过激活码或者密钥激活观看,绑定特定设备播放。优点是加密安全性高了很多,缺点是密钥安全性不足,在现实情况下,并不是加密算法被破解,而是密钥被人为泄露了。由于密钥和视频内容几乎是没有关联的,而是跟产品平台相关,黑客可以通过已获得的密钥,破解出一类或者相关产品的密钥,从而能直接观看到所有加密过的视频。这对视频平台或者视频产权公司来言,密钥泄露会造成巨大的损失。
针对离线视频加密这种方式,一旦密钥泄露,对视频产权和视频APP公司来说,危害特别大。究其原因是,常见的加密算法通常由随机数或者其他与视频内容不相关的数据所所产生,从而导致密钥和视频本身内容本来没有太多的关联度。
针对离线视频加密的问题,提出了一种基于视频内容关联的离线视频加密策略。即使密钥发生了泄露,黑客也不能破解出其他或者相关产品的密钥,从而给视频APP公司造成重大损失。
加密密钥直接由视频内容的关键帧数据所产生。该关键帧包括但不限于:I帧。
加密流程:
(a)根据移动端设备的硬件计算资源和视频参数,选择合适的关键帧提取和采样策略;
(b)对原始视频进行按照特定关键帧抽取操作;
(c)将抽取出来的关键帧按照特定采样算法进行编码成加密密钥;
(d)对原始视频进行关键帧剔除并完成加密操作;
(e)将加密后的加密帧插入到对应关键帧的位置,得到包含加密帧的视频。
解密流程:接收端拿到加密密钥,对加密视频进行解密还原出原始视频。
本公开实施例提供的技术方案,具有安全性高的特点。加密密钥和加密后视频两者组成了完整的原始视频,加密后的视频,在没有加密密钥的情况下,理论上是很难被破解的。不同视频之间内容是没有关联的。即使加密密钥被泄露了,黑客也无法基于一个视频的加密密钥推测出其他视频的加密密钥,从而破解其他加密的视频。即使对视频加密时采用的加密算法本身被破解了,也无法对密钥进行破解。
适应性强:的方案是基于不同设备的性能和当前状态进行动态调整,选择合适的视频内容样本作为密钥生产的资料,可以适配绝大多数的移动端设备。
移动端的应用程序(Application,App)读入待加密视频,并获取视频的参数。该视频参数可包括:视频大小、编码格式、帧率和/或时长等。
获取当前手机设备的硬件计算资源相关信息,包括CPU信息、内存信息和/或电量信息等。
该CPU信息可包括:CPU型号和/或CPU利用率。该内存信息可包括:RAM和/或ROM的剩余率。该电量信息可包括:剩余电量和/或估算的剩余待机时长。
根据当前手机的计算资源情况,结合视频的相关参数,选择密钥产生时,关键帧抽取方式及采样策略。
以下提供几种关键帧抽取的方式:包括:
(a).直接使用H.264编码的I帧,I帧能独立恢复成图像,B帧和P帧需要借助于前后帧进行街按摩。
(b).基于镜头的方式,具体为先按照某种技术手段把源视频文件按照镜头变化分割,然后在视频每个镜头中选择首、尾两帧作为关键帧。
(c).基于运动分析的方法.在视频镜头中分析物体运动的光流量,每次选择视频镜头中光流移动次数最少的视频帧作为提取到的关键帧。
(d).基于视频聚类的方法,通过聚类把视频帧划分为若干个簇,这一过程结束后在每个簇中选取相应的帧作为关键帧。
常见的采样策略方式,包括:随机采样、随机欠采样和过采样、基于聚类中心的采样、分组采样、分层采样等。
具体实现的策略,会基于视频相关参数和手机性能参数选择采样策略,具体如下:
单个视频帧大小VS=视频宽度*视频高度*8字节数
视频帧率FPS=每秒显示的帧数
视频帧间间隔GOP=两个I帧之间的间隔
视频总I帧数=视频总时长*FPS/GOP
采样总数N=MAX(手机设备的当前最大可分配内存容量*0.2/VS,视频总I帧数/2)
采样支持的线程数:
一次最大采样数<=手机设备的当前最大可分配线程数*0.5
抽样策略:
使用蓄水池抽样方法,当知道需要抽样的N的值时使用一个超大随机数对N取余数,那么该位置的对象就是所求的对象,选中的概率是1/N。
对读入的视频,进行关键帧抽取操作,标记整个视频中关键帧的位置,并且按照采样策略,从中选取关键帧,生成密钥。与此同时,并将关键帧相对应的位置标记为已选状态。
对已选状态的帧号,进行帧替换操作。示例性地,将加密帧替换未加密的原始帧,得到加密后的视频。
图5是发送端为移动端为例进行举例说明,应用于移动端中的加密密钥生成方法可包括:
移动端计算视频抽样帧数N;
基于伪随机函数rand()%N确定待抽样帧在视频中的位置;
根据确定的位置,对视频进行关键帧抽取,按照采样策略生成加密密钥。
利用对关键帧的像素值基于采样策略的采样结果,生成所述加密密钥;利用该加密密钥加密该视频帧,将加密帧替换到未加密的关键帧,就得到前述的第二视频。
图6是发送端为移动端为例进行举例说明,应用于移动端中的视频处理方法可包括:
移动端(App)读取原始视频,并且获取视频参数;
获取移动端油腻感计算资源的相关信息;
选择合适的关键帧抽取策略(示例性地该策略可为前述第一抽样策略和第二抽样策略)及采样策略,该采样策略可以用于采样关键帧的像素值,基于采样的像素值就可以生成加密密钥;
对原视频进行关键帧替换好,完成视频加密操作。
如图7所示,本公开实施例提供一种视频处理装置,应用于发送端中,所述装置包括:
抽取模块110,用于从待传输的第一视频中抽取至少一个待加密帧;
生成模块120,用于根据所述待加密帧的帧信息,生成加密密钥;
加密模块130,用于利用所述加密密钥加密所述待加密帧,生成加密帧;
替换模块140,用于利用加密帧替换所述第一视频中待加密帧,得到第二视频;
发送模块150,用于向接收端分别发送所述第二视频及所述加密信息,其中,所述加密信息,用于供所述接收端解密所述第二视频以还原出所述第一视频。
在一些实施例中,所述抽取模块110、所述生成模块120、所述加密模块130、所述替换模块140和发送模块150均可为程序模块;所述程序模块被处理器执行之后,能够确定待加密帧、生成加密密钥、加密得到加密帧并通过加密帧和未加密帧的替换形成第二视频。
在一些实施例中,所述抽取模块110、所述生成模块120、所述加密模块130、所述替换模块140和发送模块150均可为软硬结合模块;所述软硬结合模块包括但不限于:可编程阵列;所述可编程阵列包括但不限于复杂可编程阵列或者现场可编程阵列。
在还有一些实施例中,所述抽取模块110、所述生成模块120、所述加密模块130、所述替换模块140和发送模块150均可为软硬结合模块;所述软硬结合模块还可为纯硬件模块;所述纯硬件模块包括但不限于:专用集成电路。
在一些实施例中,具体用于从第n个待加密帧抽取预设个像素的像素值,生成所述第n个待加密帧的所述加密密钥;其中,所述n为自然数。
在一些实施例中,所述抽取模块110,具体用于按照第一抽样策略,从待传输的所述第一视频中随机抽取至少一个待加密帧;或者,按照第二抽样策略,从待传输的所述第一视频中抽取信息熵满足预设条件的至少一个待加密帧。
在一些实施例中,所述抽取模块110,具体用于按照所述第二抽样策略,从所述第一视频的待抽样单位中抽取信息熵最小的一个或多个视频帧作为所述待加密帧;或者,按照所述第二抽样策略,从所述第一视频的待抽样单位中抽取信息熵从大到小排序在预设位置的一个或多个视频帧作为所述待加密帧。
在一些实施例中,所述抽取模块110,具体用于执行以下至少之一:
在所述第二抽样策略为I帧抽样策略,从所述第一视频中待抽样画面组GOP抽取I帧为所述待加密帧;其中,一个所述GOP包括:一个I帧和依赖所述I帧的至少一个B帧和/或依赖所述I帧的至少一个P帧;
在所述第二抽样策略为镜头抽样策略,从所述第一视频中从待抽样镜头中抽取预定帧作为所述待加密帧,其中,所述预定帧包括:待抽样镜头的首帧和/或尾帧;
在所述第二抽样策略为基于运动分析的抽样策略时,从所述第一视频中抽取光流移动次数满足预设条件的视频帧为所述待加密帧;
在所述第二抽样策略为基于聚类结果的抽样策略时,将所述第一视频的视频帧进行基于帧信息相似度的聚类得到包括至少一个视频帧的聚类簇,并从待抽样的所述聚类簇中抽取信息熵最小的视频帧为所述待加密帧;
在所述第二抽样策略为基于分组的抽样策略时,将所述第一视频按照播放顺序分为多个分组,从待抽样所述分组中抽取信息熵最小的视频帧作为所述待加密帧;其中,一个所述分组包括:多个在时域上连续播放的视频帧;
在所述第二抽样策略为基于分层的抽样策略时,获取所述第一视频在频率的频率分布,根据所述频率分布从所述第一视频中抽取包含预设频率分量的视频帧为所述待加密帧。
在一些实施例中,所述装置还包括:
第一确定模块,用于根据视频参数和所述发送端的资源使用状况信息,确定所述待加密帧的抽样帧数。
在一些实施例中,所述视频参数,包括以下至少之一:
根据所述第一视频的单个视频帧的数据量;
所述第一视频的I帧总数;
和/或,
所述资源使用状况信息包括以下至少之一:
处理器的信息;
可用内存容量;
剩余电量。
在一些实施例中,所述抽样帧数,包括:
第一取值和第二取值中的较大值,其中,所述第一取值为:所述可用内存容量与第一参数的乘积,与单个视频帧的数据量的比值;其中,所述第一参数为小于1的正数;所述第二取值为:所述I帧总数与第二参数的比值;所述第二参数为大于1的正数。
在一些实施例中,在所述剩余电量小于第一阈值时,所述抽样帧数与所述剩余电量的正相关;
或者,
所述处理器的信息包括:负载率;在所述负载率大于第二阈值时,所述抽样帧数与所述负载率的负相关。
在一些实施例中,所述装置还包括:
第二确定模块,用于根据所述发送端的可用线程数量,确定用于所述第一视频加密的线程数量;
分配模块,用于根据所述线程数量,分配进行所述第一视频加密的线程,其中,当所述线程数量大于或等于2时,多个所述线程进行所述待加密帧的并行抽样和/或加密。
在一些实施例中,所述发送模块150,用于通过长连接向所述接收端发送所述加密信息;通过短连接向所述接收端发送所述第二视频。
在一些实施例中,所述加密信息包括:所述加密密钥;
所述加密帧的帧头携带有加密标识;其中,所述加密标识,用于供所述接收端确定所述第二视频中的加密帧;
或者,
所述加密信息包括:加密帧的帧标识,其中,所述帧标识,用于供所述接收端。
如图8所示,本公开实施例提供一种视频处理装置,其特征在于,应用于接收端中,所述装置包括:
接收模块210,用于接收第二视频;接收加密信息;
第三确定模块220,用于确定所述第二视频包含的加密帧;
解密模块230,用于根据所述加密信息得到加密密钥,解密所述加密帧得到解密帧;所述加密密钥是根据所述加密帧未加密时的帧信息生成的;
还原模块240,用于利用所述解密帧替换所述第二视频中的所述加密帧,得到第一视频。
在一些实施例中,所述接收模块210、所述第三确定模块220、所述解密模块230及所述还原模块240可为程序模块;所述程序模块被处理器执行之后接收到第二视频、加密信息并成功解码第二视频还原得到第一视频。
在一些实施例中,所述接收模块210、所述第三确定模块220、所述解密模块230及所述还原模块240均可为软硬结合模块;所述软硬结合模块包括但不限于:可编程阵列;所述可编程阵列包括但不限于复杂可编程阵列或者现场可编程阵列。
在一些实施例中,所述接收模块210、所述第三确定模块220、所述解密模块230及所述还原模块240均可为软硬结合模块;所述软硬结合模块还可为纯硬件模块;所述纯硬件模块包括但不限于:专用集成电路。
在一些实施例中,所述加密信息包括:所述加密密钥;
所述第三确定模块220,具体用于根据所述加密信息包含的帧标识,确定所述第二视频包含的加密帧;或者,根据所述第二视频中加密帧的帧头携带的加密标识,确定所述第二视频包含的所述加密帧。
在一些实施例中,所述接收模块210,具体用于在短连接上接收所述第二视频;在长连接上接收所述加密信息。
本公开实施例提供一种电子设备,包括:
用于存储处理器可执行指令的存储器;
处理器,分别存储器连接;
其中,处理器被配置为通过执行存储在所述存储器上的计算机可执行指令,能够执行前述任意技术方案提供的视频处理方法。
处理器可包括各种类型的存储介质,该存储介质为非临时性计算机存储介质,在移动终端掉电之后能够继续记忆存储其上的信息。
所述处理器可以通过总线等与存储器连接,用于读取存储器上存储的可执行程序,例如,如图1、图3至图6任一所示的方法的至少其中之一。
图9是根据一示例性实施例示出的一种电子设备800的框图。例如,电子设备800可以是移动电话,移动电脑等。该电子设备可为前述的发送端和/或接收端。
参照图9,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作状态,如拍摄状态或视频状态时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作状态,如呼叫状态、记录状态和语音识别状态时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开实施例提供一种非临时性计算机可读存储介质,当存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行前述任意实施例提供的图像采集的提示方法,能够执行如如图1、图3至图6任一所示方法的至少其中之一。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (23)

1.一种视频处理方法,其特征在于,应用于发送端中,所述方法包括:
从待传输的第一视频中抽取至少一个待加密帧;
根据所述待加密帧的帧信息,生成加密密钥;其中,所述根据所述待加密帧的帧信息,生成加密密钥,包括:从第n个待加密帧抽取预设个像素的像素值,生成所述第n个待加密帧的所述加密密钥;其中,所述n为自然数;
利用所述加密密钥加密所述待加密帧,生成加密帧;
利用加密帧替换所述第一视频中待加密帧,得到第二视频;
向接收端分别发送所述第二视频及加密信息,其中,所述加密信息,用于供所述接收端解密所述第二视频以还原出所述第一视频。
2.根据权利要求1所述的方法,其特征在于,所述从待传输的第一视频中抽取至少一个待加密帧,包括:
按照第一抽样策略,从待传输的所述第一视频中随机抽取至少一个待加密帧;
或者,
按照第二抽样策略,从待传输的所述第一视频中抽取信息熵满足预设条件的至少一个待加密帧。
3.根据权利要求2所述的方法,其特征在于,所述按照第二抽样策略,从待传输的所述第一视频中抽取信息熵满足预设条件的至少一个待加密帧,包括:
按照所述第二抽样策略,从所述第一视频的待抽样单位中抽取信息熵最小的一个或多个视频帧作为所述待加密帧;
或者,
按照所述第二抽样策略,从所述第一视频的待抽样单位中抽取信息熵从大到小排序在预设位置的一个或多个视频帧作为所述待加密帧。
4.根据权利要求2所述的方法,其特征在于,所述按照第二抽样策略,从待传输的所述第一视频中抽取信息熵满足预设条件的至少一个待加密帧,包括以下至少之一:
在所述第二抽样策略为I帧抽样策略,从所述第一视频中待抽样画面组GOP抽取I帧为所述待加密帧;其中,一个所述GOP包括:一个I帧和依赖所述I帧的至少一个B帧和/或依赖所述I帧的至少一个P帧;
在所述第二抽样策略为镜头抽样策略,从所述第一视频中从待抽样镜头中抽取预定帧作为所述待加密帧,其中,所述预定帧包括:待抽样镜头的首帧和/或尾帧;
在所述第二抽样策略为基于运动分析的抽样策略时,从所述第一视频中抽取光流移动次数满足预设条件的视频帧为所述待加密帧;
在所述第二抽样策略为基于聚类结果的抽样策略时,将所述第一视频的视频帧进行基于帧信息相似度的聚类得到包括至少一个视频帧的聚类簇,并从待抽样的所述聚类簇中抽取信息熵最小的视频帧为所述待加密帧;
在所述第二抽样策略为基于分组的抽样策略时,将所述第一视频按照播放顺序分为多个分组,从待抽样所述分组中抽取信息熵最小的视频帧作为所述待加密帧;其中,一个所述分组包括:多个在时域上连续播放的视频帧;
在所述第二抽样策略为基于分层的抽样策略时,获取所述第一视频在频率的频率分布,根据所述频率分布从所述第一视频中抽取包含预设频率分量的视频帧为所述待加密帧。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
根据视频参数和所述发送端的资源使用状况信息,确定所述待加密帧的抽样帧数。
6.根据权利要求5所述的方法,其特征在于,所述视频参数,包括以下至少之一:
根据所述第一视频的单个视频帧的数据量;
所述第一视频的I帧总数;
和/或,
所述资源使用状况信息包括以下至少之一:
处理器的信息;
可用内存容量;
剩余电量。
7.根据权利要求6所述的方法,其特征在于,所述抽样帧数,包括:
第一取值和第二取值中的较大值,其中,所述第一取值为:所述可用内存容量与第一参数的乘积,与单个视频帧的数据量的比值;其中,所述第一参数为小于1的正数;所述第二取值为:所述I帧总数与第二参数的比值;所述第二参数为大于1的正数。
8.根据权利要求6所述的方法,其特征在于,
在所述剩余电量小于第一阈值时,所述抽样帧数与所述剩余电量的正相关;
或者,
所述处理器的信息包括:负载率;在所述负载率大于第二阈值时,所述抽样帧数与所述负载率的负相关。
9.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
根据所述发送端的可用线程数量,确定用于所述第一视频加密的线程数量;
根据所述线程数量,分配进行所述第一视频加密的线程,其中,当所述线程数量大于或等于2时,多个所述线程进行所述待加密帧的并行抽样和/或加密。
10.根据权利要求1至4任一项所述的方法,其特征在于,所述向接收端分别发送所述第二视频及所述加密信息,包括:
通过长连接向所述接收端发送所述加密信息;
通过短连接向所述接收端发送所述第二视频。
11.根据权利要求1至4任一项所述的方法,其特征在于,所述加密信息包括:所述加密密钥;
所述加密帧的帧头携带有加密标识;其中,所述加密标识,用于供所述接收端确定所述第二视频中的加密帧;
或者,
所述加密信息包括:加密帧的帧标识,其中,所述帧标识,用于供所述接收端确定所述第二视频中的加密帧。
12.一种视频处理方法,其特征在于,应用于接收端中,所述方法包括:
接收第二视频;
接收加密信息;
确定所述第二视频包含的加密帧;
根据所述加密信息得到加密密钥,解密所述加密帧得到解密帧;所述加密密钥是根据所述加密帧未加密时被抽取的预设个像素的像素值生成的;
利用所述解密帧替换所述第二视频中的所述加密帧,得到第一视频。
13.根据权利要求12所述的方法,其特征在于,所述加密信息包括:所述加密密钥;
所述确定所述第二视频包含的加密帧,包括:
根据所述加密信息包含的帧标识,确定所述第二视频包含的加密帧;
或者,
根据所述第二视频中加密帧的帧头携带的加密标识,确定所述第二视频包含的所述加密帧。
14.根据权利要求12所述的方法,其特征在于,所述接收第二视频,包括:
在短连接上接收所述第二视频;
所述接收加密信息,包括:
在长连接上接收所述加密信息。
15.一种视频处理装置,其特征在于,应用于发送端中,所述装置包括:
抽取模块,用于从待传输的第一视频中抽取至少一个待加密帧;
生成模块,用于根据所述待加密帧的帧信息,生成加密密钥;
加密模块,用于利用所述加密密钥加密所述待加密帧,生成加密帧;所述加密密钥是根据所述加密帧未加密时被抽取的预设个像素的像素值生成的;
替换模块,用于利用加密帧替换所述第一视频中待加密帧,得到第二视频;
发送模块,用于向接收端分别发送所述第二视频及加密信息,其中,所述加密信息,用于供所述接收端解密所述第二视频以还原出所述第一视频。
16.根据权利要求15所述的装置,其特征在于,所述抽取模块,具体用于按照第一抽样策略,从待传输的所述第一视频中随机抽取至少一个待加密帧;或者,按照第二抽样策略,从待传输的所述第一视频中抽取信息熵满足预设条件的至少一个待加密帧。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于根据视频参数和所述发送端的资源使用状况信息,确定所述待加密帧的抽样帧数。
18.根据权利要求15至17任一项所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于根据所述发送端的可用线程数量,确定用于所述第一视频加密的线程数量;
分配模块,用于根据所述线程数量,分配进行所述第一视频加密的线程,其中,当所述线程数量大于或等于2时,多个所述线程进行所述待加密帧的并行抽样和/或加密。
19.根据权利要求15至17任一项所述的装置,其特征在于,所述发送模块,用于通过长连接向所述接收端发送所述加密信息;通过短连接向所述接收端发送所述第二视频。
20.一种视频处理装置,其特征在于,应用于接收端中,所述装置包括:
接收模块,用于接收第二视频;接收加密信息;
第三确定模块,用于确定所述第二视频包含的加密帧;所述生成模块,具体用于从第n个待加密帧抽取预设个像素的像素值,生成所述第n个待加密帧的所述加密密钥;其中,所述n为自然数;
解密模块,用于根据所述加密信息得到加密密钥,解密所述加密帧得到解密帧;所述加密密钥是根据所述加密帧未加密时的帧信息生成的;
还原模块,用于利用所述解密帧替换所述第二视频中的所述加密帧,得到第一视频。
21.根据权利要求20所述的装置,其特征在于,所述加密信息包括:所述加密密钥;
所述第三确定模块,具体用于根据所述加密信息包含的帧标识,确定所述第二视频包含的加密帧;或者,根据所述第二视频中加密帧的帧头携带的加密标识,确定所述第二视频包含的所述加密帧。
22.一种电子设备,其特征在于,包括:
用于存储处理器可执行指令的存储器;
处理器,与所述存储器连接;
其中,所述处理器被配置为执行如权利要求1至11或者12至14中任一项提供的视频处理方法。
23.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11或者12至14中任一项提供的视频处理方法。
CN202110649162.8A 2021-06-10 2021-06-10 视频处理方法及装置、电子设备及存储介质 Active CN113422984B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110649162.8A CN113422984B (zh) 2021-06-10 2021-06-10 视频处理方法及装置、电子设备及存储介质
PCT/CN2022/087718 WO2022257612A1 (zh) 2021-06-10 2022-04-19 视频处理方法及装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110649162.8A CN113422984B (zh) 2021-06-10 2021-06-10 视频处理方法及装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113422984A CN113422984A (zh) 2021-09-21
CN113422984B true CN113422984B (zh) 2022-10-14

Family

ID=77788272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110649162.8A Active CN113422984B (zh) 2021-06-10 2021-06-10 视频处理方法及装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN113422984B (zh)
WO (1) WO2022257612A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113422984B (zh) * 2021-06-10 2022-10-14 北京快乐茄信息技术有限公司 视频处理方法及装置、电子设备及存储介质
CN115119016B (zh) * 2022-06-29 2024-06-18 北京精确指向信息技术有限公司 一种信息数据加密算法
CN115119199B (zh) * 2022-08-30 2022-12-02 国网湖北省电力有限公司技术培训中心 基于星链无人机组的信息传递方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111031353A (zh) * 2019-12-11 2020-04-17 上海乐相科技有限公司 一种视频加密方法及装置
CN111953656A (zh) * 2020-07-09 2020-11-17 视联动力信息技术股份有限公司 监控视频加密传输方法、装置、设备及介质
CN112003859A (zh) * 2020-08-21 2020-11-27 江苏徐工工程机械研究院有限公司 数据的加密方法、装置和解密方法、装置
CN112218161A (zh) * 2019-07-09 2021-01-12 中国移动通信有限公司研究院 一种视频加密方法、装置及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040174998A1 (en) * 2003-03-05 2004-09-09 Xsides Corporation System and method for data encryption
US20160142746A1 (en) * 2014-11-14 2016-05-19 Thales Avionics, Inc. Method of encrypting, streaming, and displaying video content using selective encryption
US10652594B2 (en) * 2016-07-07 2020-05-12 Time Warner Cable Enterprises Llc Apparatus and methods for presentation of key frames in encrypted content
CN109635586B (zh) * 2018-12-13 2021-07-06 苏州科达科技股份有限公司 媒体文件加密密钥管理方法、系统、设备及存储介质
CN110557680B (zh) * 2019-07-30 2020-11-27 视联动力信息技术股份有限公司 一种音视频数据帧传输方法和系统
CN111461953A (zh) * 2020-03-30 2020-07-28 三维通信股份有限公司 图像加密方法、图像解密方法和图像传输系统
CN113422984B (zh) * 2021-06-10 2022-10-14 北京快乐茄信息技术有限公司 视频处理方法及装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112218161A (zh) * 2019-07-09 2021-01-12 中国移动通信有限公司研究院 一种视频加密方法、装置及设备
CN111031353A (zh) * 2019-12-11 2020-04-17 上海乐相科技有限公司 一种视频加密方法及装置
CN111953656A (zh) * 2020-07-09 2020-11-17 视联动力信息技术股份有限公司 监控视频加密传输方法、装置、设备及介质
CN112003859A (zh) * 2020-08-21 2020-11-27 江苏徐工工程机械研究院有限公司 数据的加密方法、装置和解密方法、装置

Also Published As

Publication number Publication date
WO2022257612A1 (zh) 2022-12-15
CN113422984A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
CN113422984B (zh) 视频处理方法及装置、电子设备及存储介质
US9237008B2 (en) Encryption device, encryption method, and encryption program
CN108989848B (zh) 一种视频资源文件的获取方法和管理系统
US8401188B1 (en) System and method for partial encryption of frame-based electronic content
CN107360393A (zh) 利用硬件安全模块的cctv安全增强装置及其方法
US20110191577A1 (en) Media Processing Devices For Adaptive Delivery Of On-Demand Media, And Methods Thereof
CN106254382B (zh) 媒体数据的处理方法及装置
CN103686333A (zh) 一种音视频保护方法及音视频终端
EP3691257B1 (en) Internet protocol camera security system allowing secure encryption information to be transmitted
US20140270161A1 (en) Method and apparatus for secure storage and retrieval of live off disk media programs
CN113727058A (zh) 一种多媒体会议数据处理方法、系统、设备及存储介质
US11064153B2 (en) Methods and apparatus for encrypting camera media
CN113051592A (zh) 文件加密方法、装置、电子设备及存储介质
EP3002953A1 (en) Image processing apparatus and control method thereof
JP4499631B2 (ja) 画像受信装置及びプログラム
CN108449600B (zh) 电影数据的传输方法及装置
US20080037782A1 (en) Reduction of channel change time for digital media devices using key management and virtual smart cards
Go et al. Secure video transmission framework for battery-powered video devices
CN114025192B (zh) 直播数据加密、解密方法、装置、存储介质及计算机设备
US8842823B2 (en) Technique for determining usage of encrypted media content
US10489559B2 (en) Method for providing protected multimedia content
US11134307B2 (en) Image processing apparatus and control method thereof
CN108449601B (zh) 电影数据的传输方法及装置
CN113014956A (zh) 视频播放方法以及装置
JP2009213083A (ja) 画像圧縮方法及び画像圧縮装置

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