一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频发布方法、装置、电子设备及存储介质与流程

2022-12-31 15:15:49 来源:中国专利 TAG:


1.本发明涉及视频处理技术领域,具体涉及视频发布方法、装置、电子设备及存储介质。


背景技术:

2.随着智能技术在视频领域的逐渐广泛的应用,当前的智能视频编译技术已经能够对视频进行编辑,单凭肉眼已经很难对视频内容分辨真伪。例如,获取几张照片以及一段参考视频,就能使用照片中的人物按参考视频中的既定角色表演模仿并生成参考视频中的内容,从而生成关于照片中人物的不可信视频内容。因此,现有的方法所发布视频的可靠性较低。


技术实现要素:

3.有鉴于此,本发明实施例提供了一种视频发布方法、装置、电子设备及存储介质,以提高发布视频的可靠性。
4.根据第一方面,本发明实施例提供了一种视频发布方法,包括:
5.获取待发布视频的原始视频以及所述待发布视频的发布者身份信息;
6.对所述原始视频的内容进行摘要计算,确定视频摘要指标;
7.基于所述发布者身份信息以及所述视频摘要指标确定参考摘要,并对所述参考摘要进行签名得到数字签名;
8.将所述参考摘要以及所述数字签名进行拼接,确定签名参考摘要;
9.将所述签名参考摘要编入所述待发布视频的视频码流中确定并发布目标发布视频,所述视频码流为所述待发布视频压缩编码后的码流。
10.本发明实施例提供的视频发布方法,原始视频可以看作是连续视频点上的图像序列,图像因拥有自己独特的内容,每幅图像就其内容而言是可以通过数学计算获得某种不变量的,即图像存在与之相关的不变量,视频拆成图像可以获得图像的不变量,基于该不变量进行摘要计算能够保证视频摘要指标的结果不受外界的影响,保证了视频摘要指标的可靠性;同时在此基础上结合发布者身份信息,使得在发布视频中携带了发布者的身份印记,而且具备良好的防伪能力,同时由于发布视频的视频内容是公开可访问,又保持了公众领域的非加密性,能够在不影响发布视频被公开访问的基础上保证发布视频的可靠性。
11.在一些实施方式中,所述对所述原始视频的内容进行摘要计算,确定视频摘要指标,包括:
12.对所述原始视频中原始视频图像进行特征处理,确定特征处理结果;
13.将所述特征处理结果确定为视频摘要指标。
14.在一些实施方式中,所述对所述原始视频中原始视频图像进行特征处理,确定特征处理结果,包括:
15.将所述原始视频图像的尺寸缩小至预设尺寸得到所述原始视频的缩略图,以确定
所述特征处理结果;
16.和/或,
17.对所述原始视频图像进行颜色特征和/或明暗特征的分析,确定所述特征处理结果。
18.本发明实施例提供的视频发布方法,通过缩小尺寸、颜色特征或明暗特征的分析结果确定特征处理结果,计算简单、快捷且有实效,提高了视频发布的实时性。
19.在一些实施方式中,所述对所述原始视频的内容进行摘要计算,确定视频摘要指标,包括:
20.获取预设长度的数据;
21.对所述原始视频中原始视频图像以及所述预设长度的数据进行数值计算,确定所述视频摘要指标。
22.本发明实施例提供的视频发布方法,在计算过程中结合预设长度的数据,该预设长度的数据可以随着使用场景的不同而不同,使得视频摘要指标的计算能够适用于不同的使用场景。
23.在一些实施方式中,所述基于所述发布者身份信息以及所述视频摘要指标确定参考摘要,并对所述参考摘要进行签名得到数字签名,包括:
24.获取第一参考摘要,所述第一参考摘要包括所述发布者身份信息与用于所述摘要计算的计算描述;
25.对所述第一参考摘要进行签名,确定第一签名;
26.将所述视频摘要指标确定为第二参考摘要,并对所述第二参考摘要进行签名,确定第二签名。
27.本发明实施例提供的视频发布方法,由于发布者身份信息与用于所述摘要计算的计算描述是不会随着视频内容的变化而变化的,因此,在一次视频发布过程中能够通用,因此,直接对其进行存储在需要使用时再提取能够避免重复计算,提高了视频发布的效率。
28.在一些实施方式中,所述获取第一参考摘要,包括:
29.获取所述待发布视频的视频描述;
30.将所述发布者身份信息、所述视频描述以及所述计算描述进行拼接,确定所述第一参考摘要。
31.本发明实施例提供的视频发布方法,视频描述用于表示视频的一些附带信息,比方视频使用范围等,以便于后续视频的分发等。
32.在一些实施方式中,所述将所述签名参考摘要编入所述待发布视频的视频码流中确定并发布目标发布视频,包括:
33.将第一签名参考摘要编入所述视频码流的目标位置,所述第一签名参考摘要为所述第一参考摘要与所述第一签名拼接得到;
34.将第二签名参考摘要编入所述视频码流中每份压缩编码视频流的目标位置,所述第二签名参考摘要为所述第二参考摘要与所述第二签名拼接得到;
35.基于编入所述第一签名参考摘要以及所述第二签名参考摘要的视频码流,确定并发布所述目标发布视频。
36.本发明实施例提供的视频发布方法,由于第一参考摘要在很长的时间内持续不变
的数据,仅用于本次发布过程,将其编入视频码流的目标位置而并非是每份压缩编码视频流中,能够缩短发布视频的数据量,当传达了所有必要信息之外,数据量越少越好,而对于第二参考摘要是随时间而改变的,因此,将第二参考摘要对应的第二签名参考摘要编入每份压缩编码视频流中,在缩短发布视频的数据量的基础上,提高发布视频的可靠性。
37.根据第二方面,本发明实施例还提供了一种视频发布装置,包括:
38.获取模块,用于获取待发布视频的原始视频以及所述待发布视频的发布者身份信息;
39.摘要计算模块,用于对所述原始视频的内容进行摘要计算,确定视频摘要指标;
40.签名模块,用于基于所述发布者身份信息以及所述视频摘要指标确定参考摘要,并对所述参考摘要进行签名得到数字签名;
41.拼接模块,用于将所述参考摘要以及所述数字签名进行拼接,确定签名参考摘要;
42.发布模块,用于将所述签名参考摘要编入所述待发布视频的视频码流中,确定并发布目标发布视频,所示视频码流为所述待发布视频压缩编码后的码流。
43.根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的视频发布方法。
44.根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的视频发布方法。
45.需要说明的是,本发明实施例提供的视频发布装置、电子设备及计算机可读存储介质的相应有益效果,请参见上文视频发布方法的对应有益效果的描述,在此不再赘述。
附图说明
46.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1是根据本发明实施例的视频发布方法的流程图;
48.图2是根据本发明实施例的视频发布方法的流程图;
49.图3是根据本发明实施例的视频发布方法的流程图;
50.图4是根据本发明实施例的视频分发方法的流程图;
51.图5是根据本发明实施例的视频播放方法的流程图;
52.图6是根据本发明实施例的视频发布装置的结构框图;
53.图7是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
54.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.视频从产生到播放的整个流程中,主要可以分为视频发布、视频分发以及视频播放。其中,视频发布即视频发布服务器等对获取到的待发布视频进行视频发布的处理,得到目标发布视频,并将目标发布视频发送至视频分发服务器等。以视频分发服务器为例,将目标发布视频制作成不同预设服务质量的目标分发视频,再将不同预设服务质量的目标分发视频发送至对应的终端进行播放;终端在接收到相应服务质量的目标分发视频之后,对其进行解码等操作,即可播放相应服务质量的目标视频。
56.需要说明的是,视频发布、视频分发以及视频播放并非要严格按照上述顺序才能依次处理。例如,对于视频分发服务器而言,其获取到的视频可以是视频发布服务器发布的,也可以是上一级的视频分发服务器处理后的,等等;对于视频播放的终端而言,其播放的视频可以是由视频分发服务器下发的,也可以是由视频发布服务器下发的,等等,对于视频播放的终端而言,其并不知晓所接收到的目标视频是来源于视频分发,还是来源于视频发布的。
57.本发明实施例提供的视频发布方法,是针对待发布视频中的原始视频进行摘要计算确定视频摘要指标,在此基础上形成签名参考摘要,并将签名参考摘要编入待发布视频压缩编码后的码流中,得到目标发布视频。其中,原始视频中包括原始视频图像,原始视频图像指的是由像素点矩阵堆积而成的大块数据;视频码流指的是经过压缩编码处理后的媒体数据流,包括音频媒体、视频媒体的数据流,常常采用有损压缩方式对原始媒体进行大幅度压缩后获得,数据量小,适于传输,但不适于媒体内容的分析和处理。因此,在发明实施例中,参考摘要针对的是原始视频,而不是压缩编码后的视频媒体码流。
58.原始视频可以看作是连续视频点上的图像序列,而每幅图像就其内容而言是可以通过数学计算获得某种不变量的,这种不变量描述的是在一定范围内对视频图像进行变形、调节时依然不会发生改变或者对改变不敏感的数据量。图像的不变量的特点是只要图像的内容没有大幅改变,选择良好的不变量不会因为图像的质量改变而发生显著改变。但是只要图像的内容发生重大改变,不变量就应该敏感地跟随着一起改变。图像的不变量反映的是图像所描述的内容。而视频拆成图像获得的不变量,按时间序列做编排、统计,就可以看作是视频内容的一种不变量,反映的是一段时间内的视频内容。因此,生成视频摘要指标的处理对象是原始视频的内容。
59.例如,一幅图像,求取它所有像素的平均亮度,这个平均亮度就可以作为一种不变量,只要没有调节过图像的亮度,不论对图像进行放大还是缩小,都不会显著改变这个平均亮度;又比如,计算一幅图像的重心位置,可以作为另一种不变量,不论放大缩小还是调亮调暗,这幅图像的重心位置基本保持不变;又比如,计算图像的n-阶中心矩,也可以作为一种类似于重心位置几何不变量;又比如,计算图像在归一化处理后的数值矩阵的特征值/奇异值,在对图像作许多处理后,其归一化处理后的数值矩阵特征值/奇异值的主体部分都不会发生显著变化;又比如,计算图像的频谱,从中抽取高频、低频位置的特征,也可以作为一种不变量;又比如,从图像中选取若干有代表性的关键点并附加其附近的外观相似特征描述子,也可以编排成为一种不变量。
60.因此,基于原始视频的内容进行摘要计算,可以认为是一种不变量的摘要计算。通
过在待发布视频压缩编码后的码流中编入签名参考摘要得到目标发布视频,使得目标发布视频中携带有发布者身份信息,且具备良好的防伪能力。
61.根据本发明实施例,提供了一种视频发布方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
62.在本实施例中提供了一种视频发布方法,可用于电子设备,如视频发布服务器、电脑、移动终端等,图1是根据本发明实施例的视频发布方法的流程图,如图1所示,该流程包括如下步骤:
63.s11,获取待发布视频的原始视频以及待发布视频的发布者身份信息。
64.待发布视频的原始视频可以是待发布视频中目标时长的视频,例如,每隔预设时长从待发布视频中提取目标时长的视频,将其作为原始视频进行后续视频摘要指标的计算。
65.目标时长可以小到0秒,即,此时目标时长的视频不包括任何原始视频图像,这时对应的视频摘要指标为空,可以用对应的数据长度为0来表示。长度为0表示内容为空,就是没有内容的意思,从后续步骤的描述中可知,参考摘要不单单只含有视频摘要指标一项内容,可以在视频摘要指标的结果为空的情况下,依然构成一个合理的参考摘要,用来作为功能性或者标识性用途。
66.或者,目标时长可以是1~10秒的时间长度等等。在此对目标时长的具体长度并不做任何限制,具体根据实际需求进行设置。
67.例如,待发布视频为30分钟,预设时长为5分钟,目标时长为1秒。即,在待发布视频的0-5分钟中提取1s的原始视频,用于视频摘要指标的计算;在待发布视频的6-10分钟中提取1s的原始视频,用于视频摘要指标的计算;依次类推,等等。
68.待发布视频的发布者身份信息可以包括:发布者通用名称、发布者单位名称、发布者地址、作者姓名、作者联系方式、发布者数字证书、发布者数字证书访问描述符、发布者身份公钥、发布者身份公钥访问描述符、发布者身份描述编号,还可以包括因为某项特别要求而加入的业务相关的一般性描述的扩展数据,用来向特定业务系统或者访问描述符提交以获得数字证书或者身份公钥。具体所包括的发布者身份信息是根据实际需求进行设置的,在此对其并不做任何限定。
69.s12,对原始视频的内容进行摘要计算,确定视频摘要指标。
70.如上文所述,原始视频的内容的摘要计算是视频的不变量的构造。视频是按时间排列的图像,不变量是数据上对图像、视频内容的一种概要性的数据描述。同一视频内容从多个视角来观察可以获得一种不变的数据描述,即,一种不变量。使用不变量的优点是,使得视频摘要指标的计算所关心的不是视频的数据,而是视频的内容。
71.在进行摘要计算时,可以是对原始视频中原始视频图像的亮度或画面进行分析,也可以是对原始视频中原始视频图像进行数值计算等等。或者,视频摘要指标中包括至少一个视频摘要子指标,视频摘要子指标包括但不限于亮度、色度等等。
72.s13,基于发布者身份信息以及视频摘要指标确定参考摘要,并对参考摘要进行签名得到数字签名。
73.参考摘要中包括发布者身份信息与视频摘要指标,或者,在此基础上还包括其他信息,例如,视频描述信息等等。在确定出参考摘要之后,对其进行签名得到数字签名。
74.其中,签名的方式包括但不限于数字证书以及私钥、量子纠缠技术或其他技术等等。以利用数字证书以及私钥对参考摘要进行签名为例,数字证书是由一个被广为认知的权威机构或者数字证书中心签署,或者是被一个小范围内被接受的数字证书中心签署,或者是未被广泛接受的自签名数字证书,或者仅只是一枚未被广泛认知的非对称公钥。当然,发布者所选用的数字证书的形式和来源会对其所发布视频流的被信赖程度产生相应的间接影响。
75.s14,将参考摘要以及数字签名进行拼接,确定签名参考摘要。
76.签名参考摘要为参考摘要及其对应的数字签名拼接得到的,其中,两者的拼接可以是将参考摘要置于数字签名之前,或之后。
77.s15,将签名参考摘要编入待发布视频的视频码流中,确定并发布目标发布视频。
78.其中,所述视频码流为待发布视频压缩编码后的码流。
79.先对待发布视频进行压缩编码,得到待发布视频的视频码流。再依据签名参考摘要编入视频码流的对应位置,确定出目标发布视频。由于签名参考摘要中所包括的参考摘要以及数字签名是与原始视频相关的,其是随着视频内容的变化而变化的。因此,在进行签名参考摘要的编入时,可以结合生成视频参考指标的原始视频在待发布视频中的位置进行处理。
80.关于该步骤具体将在下文中进行描述。
81.本实施例提供的视频发布方法,原始视频可以看作是连续视频点上的图像序列,图像因拥有自己独特的内容,每幅图像就其内容而言是可以通过数学计算获得某种不变量的,即图像存在与之相关的不变量,视频拆成图像可以获得图像的不变量,基于该不变量进行摘要计算能够保证视频摘要指标的结果不受外界的影响,保证了视频摘要指标的可靠性;同时在此基础上结合发布者身份信息,使得在发布视频中携带了发布者的身份印记,而且具备良好的防伪能力,同时由于发布视频的视频内容是公开可访问,又保持了公众领域的非加密性,能够在不影响发布视频被公开访问的基础上保证发布视频的可靠性。
82.在本实施例中提供了一种视频发布方法,可用于电子设备,如视频发布服务器、电脑、移动终端等,图2是根据本发明实施例的视频发布方法的流程图,如图2所示,该流程包括如下步骤:
83.s21,获取待发布视频的原始视频以及待发布视频的发布者身份信息。
84.详细请参见图1所示实施例的s11,在此不再赘述。
85.s22,对原始视频的内容进行摘要计算,确定视频摘要指标。
86.具体地,上述s22包括:
87.s221,对原始视频中原始视频图像进行特征处理,确定特征处理结果。
88.s222,将特征处理结果确定为视频摘要指标。
89.在摘要计算时,是针对原始视频中的原始视频图像进行处理的。原始视频中包括至少一个原始视频图像,其中,若原始视频中包括至少两个原始视频图像,可以分别对各个原始视频图像进行特征处理,再将至少两个原始视频图像的特征处理结果进行融合,得到原始视频的特征处理结果。其中,融合方式包括但不限于均值、加权和等等。或者,若原始视
频中包括至少两个原始视频图像时,可以仅提取其中的一个用作进行特征处理的原始视频图像。
90.在一些实施方式中,上述s221包括:将原始视频图像的尺寸缩小至预设尺寸得到原始视频的缩略图,以确定特征处理结果。
91.例如,将原始视频中的第一个视频图像确定为用于特征处理的原始视频图像,对该原始视频图像的尺寸缩小至预设尺寸,例如,缩小成64*32的缩略图,从而得到特征处理结果。
92.或者,从原始视频中提取预设数量的原始视频图像,分别将其尺寸缩小至预设尺寸,然后按像素叠加平均后得到平均缩略图,将该平均缩略图确定为特征处理结果。例如,取原始视频中第1/3时间点附近的视频图像、第2/3时间点附近的视频图像、第3/3时间点附近的视频图像得到三张原始视频图像,对这三张原始视频图像分别做成缩略图,然后按像素叠加平均后做成一幅平均缩略图,确定特征处理结果。
93.在一些实施方式中,上述s221包括:对原始视频图像进行颜色特征和/或明暗特征的分析,确定特征处理结果。
94.颜色特征和/或明暗特征可以是基于原始视频图像中的部分区域得到的,也可以是基于原始视频图像中的全部区域得到的等等。
95.例如,对于每张原始视频图像,按水平16块垂直9块做平均划分,对每个划分后的图像小块的中央部位五分之一左右区域内的像素统计亮度平均值来代表这个小块,因此所取的每张原始视频图像可以通过一个16*9的亮度向量来代表;再把所有原始视频图像的亮度向量进行向量叠加后再平均,做成一个16*9的亮度向量,确定特征处理结果。
96.在一些实施方式中,上述s22包括:
97.(1)获取预设长度的数据。
98.(2)对原始视频中原始视频图像以及预设长度的数据进行数值计算,确定视频摘要指标。
99.预设长度的数据为辅助性配置数据,因不同的摘要指标计算程序,需要输入对应长度的配置数据。这些配置数据排列出来就构成有限长的数据列,一个数据的罗列就是一个向量。预设长度的数据可以由预先配置的数据产生,可以由用户的选择而产生。该预设长度的数据随着用户选择的模式、程序等的不同而不同。
100.例如,以原始视频中所有的原始视频图像作为输入因子,将预设长度的数据作为附加输入因子。通过各输入因子之间的有限次数据抽样、有限次的数据比较运算、有限次数据查找操作、有限次逻辑运算、有限次初等数学计算、有限次线性运算、有限次卷积运算、有限次频谱分析运算、有限次矩阵变形、有限次数据块状变形、有限次矩阵分解运算、有限次欧氏空间运算如距离/旋转/相似等、有限次李代数运算、有限次黎曼几何运算、有限次散列计算、有限次加密解密运算、有限次图像编码解码运算,以及以上所列各种计算/运算的有限次复合,组成一个固定的运算程式计算得到一个有限维的数值向量,即由若干个数值组成的一组数,得到由原始视频图像以及预设长度的数据进行数值计算得到的视频摘要指标。
101.数值计算的具体方式并不限于上文所述,还可以采用其他方式,在此对数据计算的具体方式并不做任何限定。
102.在计算过程中结合预设长度的数据,该预设长度的数据可以随着使用场景的不同而不同,使得视频摘要指标的计算能够适用于不同的使用场景。
103.需要说明的是,上述关于s22中确定视频摘要指标的方式可以基于特征处理结果中的一种或多种得到的,也可以是基于数值计算得到的,或者基于特征处理结果以及数值计算的结合得到的,等等。在此对其并不做任何限定,具体根据实际需求进行设置。
104.s23,基于发布者身份信息以及视频摘要指标确定参考摘要,并对参考摘要进行签名得到数字签名。
105.详细请参见图1所示实施例的s13,在此不再赘述。
106.s24,将参考摘要以及数字签名进行拼接,确定签名参考摘要。
107.详细请参见图1所示实施例的s14,在此不再赘述。
108.s25,将签名参考摘要编入待发布视频的视频码流中,确定并发布目标发布视频。
109.其中,所述视频码流为待发布视频压缩编码后的码流。
110.详细请参见图1所示实施例的s15,在此不再赘述。
111.本实施例提供的视频发布方法,通过缩小尺寸、颜色特征或明暗特征的分析结果确定特征处理结果,计算简单、快捷且有实效,提高了视频发布的实时性。
112.在本实施例中提供了一种视频发布方法,可用于电子设备,如视频发布服务器、电脑、移动终端等,图3是根据本发明实施例的视频发布方法的流程图,如图3所示,该流程包括如下步骤:
113.s31,获取待发布视频的原始视频以及待发布视频的发布者身份信息。
114.详细请参见图1所示实施例的s11,在此不再赘述。
115.s32,对原始视频的内容进行摘要计算,确定视频摘要指标。
116.详细请参见图2所示实施例的s22,在此不再赘述。
117.s33,基于发布者身份信息以及视频摘要指标确定参考摘要,并对参考摘要进行签名得到数字签名。
118.具体地,上述s33包括:
119.s331,获取第一参考摘要。
120.其中,所述第一参考摘要包括发布者身份信息与用于摘要计算的计算描述。
121.用于摘要计算的计算描述包括但不限于使用的计算程序名称、生成第一参考摘要的原始视频图像的数量以及使用指定的计算程序进行计算时需要使用的配置参数列表等等。
122.在一些实施方式中,上述s331包括:
123.(1)获取待发布视频的视频描述。
124.(2)将发布者身份信息、视频描述以及计算描述进行拼接,确定第一参考摘要。
125.在生成第一参考摘要时,还需要结合待发布视频的视频描述。其中,视频描述包括但不限于节目标题、节目时长、节目内容文本简介、节目封面图、节目分类、节目相关参与人、节目相关贡献人等。通过将发布者身份信息、视频描述以及计算描述进行拼接,得到第一参考摘要。由此可知,第一参考摘要中均包括的是一些描述信息,这些描述信息在无外界修改的情况下,是不会随着视频内容的变化而变化的。因此,可以对第一参考摘要进行存储,将其作为常用备份,在需要将其编入待发布视频的视频码流中时,再对其进行签名得到
第一签名参考摘要。
126.视频描述用于表示视频的一些附带信息,比方视频使用范围等,以便于后续视频的分发等。
127.s332,对第一参考摘要进行签名,确定第一签名。
128.在本实施例中并不限定签名的具体方式,例如,采用数字证书与私钥的方式进行签名,在对第一参考摘要进行签名后得到第一签名。
129.s333,将视频摘要指标确定为第二参考摘要,并对第二参考摘要进行签名,确定第二签名。
130.由于视频摘要指标是利用原始视频的原始视频图像进行摘要计算得到的,其是随着原始视频图像的变化而变化的。因此,需要针对每次提取的原始视频图像进行摘要计算得到。将视频摘要指标确定为第二参考摘要,再利用相应的签名方式对第二参考摘要进行签名,确定出第二签名。
131.s34,将参考摘要以及数字签名进行拼接,确定签名参考摘要。
132.将第一参考摘要与第一签名进行拼接,得到第一签名参考摘要;将第二参考摘要与第二签名进行拼接,得到第二签名参考摘要。
133.s35,将签名参考摘要编入待发布视频的视频码流中,确定并发布目标发布视频。
134.其中,所述视频码流为待发布视频压缩编码后的码流。
135.具体地,上述s35包括:
136.s351,将第一签名参考摘要编入视频码流的目标位置。
137.如上文所述,第一参考摘要为常用备份,可以将其所得到的第一签名参考摘要编入视频码流的第一帧之上或者之前等等。例如,在视频码流的逢奇数次或者逢n整除余1次时将第一签名参考摘要编入。
138.既然是常用备份,应该不是每份压缩编码视频流都计入,而是过几份压缩编码视频流再计入一次。但也不是只开头计入一次,而是中途插入或者冗余地计入若干次。这样的好处是,如果总内容很长时,并不需要回溯很长时间去找这个数据,只需要往回找较短的时间内就足够找到了。
139.s352,将第二签名参考摘要编入视频码流中每份压缩编码视频流的目标位置。
140.每份压缩编码视频流为用于生成视频摘要指标的原始视频,由于第二签名参考摘要是随着原始视频的变化而变化的,即,随着时间而改变。因此,在对编入第二签名参考摘要时,需要结合生成第二签名参考摘要的原始视频在待发布视频中的位置。在确定出位置之后,可以将第二签名参考摘要编入这段原始视频对应的压缩编码视频流的第一帧或最后一帧。
141.s353,基于编入第一签名参考摘要以及第二签名参考摘要的视频码流,确定并发布目标发布视频。
142.目标发布视频是包括有第一签名参考摘要以及第二签名参考摘要的视频码流,对于第一签名参考摘要与第二签名参考摘要的编入时机并不做任何限定。例如,可以是先编入第二签名参考摘要,再编入第一签名参考摘要;或者,两者同时进行,等等。
143.本实施例提供的视频发布方法,由于发布者身份信息与用于所述摘要计算的计算描述是不会随着视频内容的变化而变化的,因此,在一次视频发布过程中能够通用,因此,
直接对其进行存储在需要使用时再提取能够避免重复计算,提高了视频发布的效率。由于第一参考摘要在很长的时间内持续不变的数据,仅用于本次发布过程,将其编入视频码流的目标位置而并非是每份压缩编码视频流中,能够缩短发布视频的数据量,当传达了所有必要信息之外,数据量越少越好,而对于第二签名参考摘要是随时间而改变的,因此,将其编入每份压缩编码视频流中,在缩短发布视频的数据量的基础上,提高发布视频的可靠性。
144.作为本发明实施例的一个具体应用实例,所生成的签名参考摘要分两类,一类为第一签名参考摘要,在下文中简称为ra;另一类为第二签名参考摘要,在下文中简为rb。其中,形成ra的第一参考摘要中包含发布者身份信息、视频描述以及用于摘要计算的计算描述;形成rb的第二参考摘要仅包含视频摘要指标。
145.例如,在ra中使用json来组织信息并编码成为数据块,或者也可以使用其它形式,例如xml,或者protobuf,或者isobmff之box结构等形式来组织信息并编码成数据块。
146.以json为例,ra的结构如下:
[0147][0148]
[0149]
如上结构代码所示,author表示发布者身份信息,其中sn、cn、cert分别表示显示用姓名、通用名称、数字证书,这三项是必须提供的,不允许匿名提供这些内容。author中其它的数据项是选填的。并且,允许添加与上表定义不相冲突的其它数据项。
[0150]
video表示视频描述,视频描述的每个数据项都是可选项。允许视频描述项为空。允许添加与上表定义不相冲突的其它数据项。
[0151]
feature表示视频摘要指标的计算描述,其中program表示使用的计算程序名称,length表示一小段视频的图像幅数,init表示使用指定的计算程序进行计算时需要使用的配置参数列表。必须提供program,允许没有length、init,也允许添加其它数据项,这取决于所选用的计算程序名称。
[0152]
在ra中还可以包括一个feature对象数组,当视频摘要指标中包括多个视频摘要子指标时,每个feature对象需要使用唯一的id来表示当前描述的是哪个视频摘要子指标。当以数组形式出现多个feature对象时,id是不能略去的数据项。
[0153]
sign表示ra的数字签名,其中digest表示在计算数字签名时使用的散列算法;signature表示计算出的数字签名结果,以base64编码表示。digest和signature两者都必须提供而不能缺少,sign必须提供。可用的散列算法有sha-256、sm3等。
[0154]
由于json形式的数据不方便直接存入二进制数据,所以凡涉及二进制数据值的地方皆用base64编码或者其它任何适于的编码对二进制数据进行编码处理。
[0155]
在计算signature时,使用digest描述的散列算法对还没有加入sign对象/数据块的ra编码数据块计算散列码,或者把sign对象/数据块从ra编码数据块中删除后计算散列码。然后使用与发布者身份描述中的数据证书cert相关联的私钥对上述计算得到的散列码做签名,并用base64算法编码后做成signature的值。
[0156]
这里的与cert相关联的私钥是不公开的信息,并且是发布者拥有其真实身份的关键信息,需要发布者妥善保存。按x.509公钥加密体系,正因为发布者拥有任何其他人不拥有的这个私钥,所以除发布者之外的任何其他人据信在实际有效的短时间内无法伪造出一致加密效果的数字签名。
[0157]
在rb中使用json,或者xml,或者protobuf,或者isobmff之box结构等来组织信息并编码成为数据块。以json为例,rb的具体结构如下所示:
[0158][0159][0160]
在rb中,只需要包含feature对象和sign对象。sign对象的计算和ra的计算方法相
同,需要使用到ra中描述的cert关联的私钥。
[0161]
在rb中,feature对象和ra一样具有id、program、length、init数据项,但是program、length和init数据项是可以忽略的。当遇到忽略了program、length和init数据项的rb时,可以使用ra中的feature对象来补齐。feature对象和ra中的feature对象最大的区别在于多了数据项result,这个是视频摘要指标,具体的计算方法被program和init详细描述。
[0162]
由于ra和rb中的feature对象的id、program、length、init等各数据项在本质上是等同的,所以以下的描述可以不加区别对待,sign对象也如此。
[0163]
在本实施例中,提供的feature对象可选用的计算模型,即,用于摘要计算的计算模型,名称program有thumbnail和blocks两个可选用的模型/程序。
[0164]
指标计算模型/程序thumbnail,通过枚举画面图像做平均缩略图的方式来计算指标结果。这个模型的配置参数有:"init":["缩略图宽","缩略图高","取样模式"]。这里的缩略图宽用来配置程序thumbnail最终生成的缩略图的像素宽度,缩略图高用来配置最终的像素高度,而取样模式可以取...-2、-1、0、1、2、...等整数用来表示抽取哪些图像的模式。
[0165]
指标计算模型/程序thumbnail的取样模式n,当取n《=0时表示取第1-n幅图像生成缩略图;当取n》0时表示每隔n-1幅原始视频图像都取来生成缩略图,然后求得平均缩略图。例如,当n=1时表示取所有原始视频图像;当n=2时表示取第一张之后每隔一张原始视频图像取一张原始视频图像;当n=3时表示取第一张之后每隔2张取一张。制作平均缩略图时,把每幅缩略图逐像素累加然后除以累加的图像张幅数量。缩略图按jpeg编码做成数据块,再经过base64编码,做成result数据项的值。
[0166]
指标计算模型/程序blocks,通过枚举画面图像划分成均分方块,再在每方块按九宫格划分后取中央小块的平均亮度作代表,每幅画面得到一组方块的代表亮度,将这些亮度矩阵组合成一个亮度张量,做成result数据项的值。
[0167]
指标计算模型/程序blocks,其模型配置参数有:"init":["均分方块的列数","均分方块的行数","取样模式"]。这里的"取样模式"和thumbnail的意义相同,用于描述从图像组中抽取用于计算的图像的模式。
[0168]
作为上述实施例的一个具体应用实例,该视频发布方法包括:每秒拍摄30幅1920像素宽1080像素高的bt.601规格的彩色原始图像,图像的数据格式为yuv420p,将其称之为待发布视频。对该待发布视频进行图像压缩编码操作,具体地,每输入一幅1920*1080的yuv420p图像,对其进行压缩编码,得到压缩编码帧数据。默认情况下,将获得h.264的图像帧slice压缩数据块,例如可以获得i-slice帧数据块、b-slice帧数据块、p-slice帧数据块等。
[0169]
在编码一幅图像时,可以指定编码一帧h.264的关键图像i-slice压缩数据块,并获得sps数据块和pps数据块,把sps数据块、pps数据块、i-slice压缩数据块拼在一起做成一幅关键帧图像数据块idr帧数据块。其中,对于图像的编码与上述图像的拍摄对应,例如,每秒接收30幅1920*1080的yuv420p的彩色图像,并输出30帧h.264帧数据块。在进行图像编码时,每输出一个关键帧idr帧后,每后继的第300帧数据块时又输出一个idr帧。
[0170]
对原始视频中的原始视频图像进行摘要计算时,是按上述blocks的指标计算模
型/程序来计算摘要指标,将一幅图像划分成16列9排的方块,取样模式被配置为6,即每抽一幅yuv420图像后再隔5幅取第6幅yuv420图像。length被配置成了30,也就是每输入30幅图像后输出一份视频摘要指标。在摘要计算时,每收到一个视频摘要指标,把这个视频摘要指标做成一个rb。
[0171]
当接收到一个idr帧时,获得一份ra并重置摘要指标计算模块的计算工作。当从获得一个ra或者rb摘要时,把ra或者rb摘要做成辅助数据块(sei),并按iec/iso-14496-10标准之annex b细则做成一个含签名参考摘要的sei nal unit,输出到视频流的数据接口。
[0172]
特别地,为了防止签名参考摘要在做成的sei数据块中与任何其它应用程序产生的sei数据块产生语义上的混淆,使用sei payloadtype 5,即user_data_unregistered的辅助数据载荷,并且在此特别引入一个uuid分配给签名参考摘要来使用,将其放在sei数据块的最前面的16个字节处,以引导一个签名参考摘要。
[0173]
例如,将上述uuid定义为1e2bc68c-33d2-5ca2-af3b-0b5e5469c7b8。
[0174]
当获得一个idr帧或者slice帧时,以annex b细则作成nal unit,输出到视频流的数据接口。当遇到摘要sei nal unit和idr帧或者slice帧同时到达时,把含ra摘要的sei nal unit放在帧nal unit的前面,把含有rb摘要的sei nal unit放在帧nal unit的后面。
[0175]
本实施例提供的视频发布方法,允许视频的发布者向公众领域发布一种基于签名参考摘要的可信赖视频,这类视频具有防伪特征,并且携带了发布者的身份印记,但同时却保持了公众领域的非加密性,其视频内容是公开可访问的。其中,视频的防伪特征主要表现在三个方面:其一、视频摘要指标是可以从视频内容中计算出来,并可与签名参考摘要内的指标做核对;其二、签名参考摘要是参考摘要加上其签名,没有私钥的人无法从伪造的视频内容计算出新的参考摘要产生合格的签名;其三、签名参考摘要中携带了表明发布者身份的数字证书,数字证书是可以被权威管理的。由此,核验数字证书为真、核验参考摘要的签名为真、计算核对摘要指标吻合度高,视频必然是由持有此有效数字证书的私钥的人发布的。
[0176]
在本实施例中提供了一种视频分发方法,可用于视频分发服务器、移动终端等等,图4是根据本发明实施例的视频分发方法的流程图,如图4所示,该流程包括如下步骤:
[0177]
s41,获取目标发布视频。
[0178]
其中,所述目标发布视频包括签名参考摘要以及压缩编码视频流,所述签名参考摘要包括参考摘要以及参考摘要的签名,所述参考摘要是压缩编码视频流中原始视频的内容的摘要计算结果与发布视频的发布者身份信息进行拼接得到的。
[0179]
需要说明的是,此处的目标发布视频并不是特指从视频发布服务器下发的视频,也可以是从上一级的视频分发服务器中获得的,等等。
[0180]
关于目标发布视频的生成过程,请详见上文所述,在此不再赘述。
[0181]
s42,基于签名参考摘要的标识,从目标发布视频中分离出签名参考摘要以及压缩编码视频流。
[0182]
签名参考摘要在编入压缩编码视频流中,会利用相应的标识将其与压缩编码视频流进行区分。例如,签名参考摘要作为sei字段编入压缩编码视频流中。因此,就可以利用该字段确定出目标发布视频中的签名参考摘要。
[0183]
其中,签名参考摘要可能包括多个同一类型的签名参考摘要,也可能包括多个不
同类型的签名参考摘要。其中,同一类型,是指该签名参考摘要均是基于原始视频的内容得到的,例如,上文所述的第二签名参考摘要;不同类型,是指可以是基于原始视频的内容得到的,也可以是结合发布者的身份信息得到的,例如,上文所述的第一签名参考摘要。
[0184]
如上文所述,签名参考摘要可以是与压缩编码视频流对应的,相应地,从目标发布视频中分离出的签名参考摘要与压缩编码视频流是存在对应关系的。例如,对于待发布视频而言,依据生成第二签名参考摘要的需求,每隔预设时长从待发布视频中提取目标时长的原始视频。继续沿用上述示例,待发布视频为30分钟,预设时长为5分钟,目标时长为10秒,那么,待发布视频的处理如下所示:
[0185]
待发布子视频1:表示待发布视频中从[0,5]分钟的视频,压缩编码后得到压缩编码视频流1,待发布子视频1中提取10秒的原始视频,生成第二签名参考摘要1;
[0186]
待发布子视频2:表示待发布视频中(5,10]分钟的视频,压缩编码后得到压缩编码视频流2,待发布子视频2中提取10秒的原始视频,生成第二签名参考摘要2;
[0187]
待发布子视频3:表示待发布视频中(10,15]分钟的视频,压缩编码后得到压缩编码视频流3,待发布子视频3中提取10秒的原始视频,生成第二签名参考摘要3;
[0188]
依次类推;
[0189]
待发布子视频6:表示待发布视频中(25,30]分钟的视频,压缩编码后得到压缩编码视频流6,待发布子视频6中提取10秒的原始视频,生成第二签名参考摘要6。
[0190]
如上所示,第二签名参考摘要与压缩编码视频流是一一对应的,因此,利用第二签名参考摘要的标识即可分离出第二签名参考摘要以及相应的压缩编码视频流。
[0191]
s43,对压缩编码视频流进行预设服务质量的处理,得到预设服务质量的待分发视频。
[0192]
预设服务质量包括但不限于8k、4k、高清、标清、流畅等等,依据实际需求进行预设服务质量的确定。依据确定出的预设服务质量对压缩编码视频流进行处理,得到预设服务质量的待分发视频。即,经过该步骤的处理,对于同一个压缩编码视频流,可以得到不同服务质量的待分发视频。
[0193]
在一些实施方式中,上述s43之前还包括:基于所述签名参考摘要对所述发布者身份信息进行验证;当验证通过时,执行上述s43步骤。
[0194]
例如,验证签名参考摘要中携带的发布者身份的数字证书的真实性,可以就虚假身份的数字证书发出警告并记录警告信息日志等,可以更进一步,阻止不可信赖视频流的进一步分发。
[0195]
或者,可以验证签名参考摘要中的签名,可以就不实的签名发出警告并记录警告信息日志等,可以更进一步,阻止不可信赖视频流的进一步分发。
[0196]
在一些实施方式中,在得到预设服务质量的待分发视频时,由于需要对压缩编码视频流进行处理,此时就可以对压缩编码视频流的图像进行扫描,对视频内容进行是否满足预设发布条件的验证。对于出现不满足预设发布条件的视频,可以发出警告事件并记录警告信息日志等。或者,限制该视频的发布等等。
[0197]
s44,将签名参考摘要编入待分发视频中,确定并分发预设服务质量的目标分发视频。
[0198]
对于签名参考摘要向待分发视频中编入时,可以参见上文关于目标分发视频生成
中,签名参考摘要的编入的描述。或者,在分离出压缩编码视频流与签名参考摘要时,记录签名参考摘要的位置。再得到待分发视频之后,将签名参考摘要编入记录的位置中,从而确定出目标分发视频。最终,将目标分发视频分发至相应的终端。
[0199]
在一些实施方式中,所述签名参考摘要包括第一签名参考摘要以及第二签名参考摘要,所述第一签名参考参考摘要包括发布者身份信息与用于摘要计算的计算描述,所述第二签名参考摘要包括压缩编码视频流中原始视频的内容的摘要计算结果,所述待分发视频包括与压缩编码视频流一一对应的待分发子视频。基于此,上述s44包括:
[0200]
(1)将第二签名参考摘要编入对应的待分发子视频中,得到预设服务质量的目标分发子视频。
[0201]
(2)对预设服务质量的目标分发子视频进行拼接,并将第一签名参考摘要编入拼接结果中,确定并分发预设服务质量的目标分发视频。
[0202]
需要说明的是,目标分发视频包括多段压缩编码视频流,通过上述步骤的处理,每段压缩编码视频流能够得到预设服务质量的待分发子视频。基于压缩编码视频流与第二签名参考摘要的对应关系,能够确定出待分发子视频与第二签名参考摘要的对应关系。基于此,将第二签名参考摘要编入对应的待分发子视频中,从而形成预设服务质量的目标分发子视频。
[0203]
通过对目标分发子视频进行拼接,得到拼接结果;再将第一签名参考摘要编入该拼接结果中,得到目标分发视频。第一签名参考摘要的编入数量可以是依据拼接结果的时长确定,若拼接结果的时长较长,则可以编入多个第一签名参考摘要,且签名参考摘要的编入位置分布在拼接结果的不同位置;若拼接结果的时长较短,则可以仅编入一个第一签名参考摘要等等。其中,第一签名参考摘要的编入位置依据实际需求进行设置,在此对其并不做任何限定。
[0204]
需要说明的是,第一签名参考摘要在编入时,不限于上文所示的先得到拼接结果再编入。也可以是先确定要编入的第一签名参考摘要的数量,再依据第一签名参考摘要的数量确定相邻两个第一签名参考摘要之间的压缩编码视频流的数量,最后在第二签名参考摘要编入时,统计所编入的第二签名参考摘要的数量,即可确定第一签名参考摘要的编入位置。
[0205]
第一签名参考摘要代表的是一些描述信息,不随时间变化而变化的;而第二签名参考摘要是与视频内容紧密相关的,因此,针对不同的签名参考摘要采用不同的编入方式,能够在保证目标分发视频可靠性的基础上,减少目标分发视频由于签名参考摘要的编入所增加的数据量。
[0206]
本实施例提供的视频分发方法,在目标发布视频中携带有签名参考摘要,且该签名参考摘要是基于压缩编码视频流中原始视频的内容进行摘要计算得到的,由于图像因拥有自己独特的内容,即图像存在与之相关的不变量,基于该不变量进行摘要计算签名参考摘要的可靠性;同时在签名参考摘要中还包括有发布者的身份信息,能够使得最终得到的目标分发视频中具有发布者的身份印记,而且具备良好的防伪能力,从而保证了所得到的预设服务质量的目标分发视频的可靠性较高。
[0207]
作为本发明实施例的视频分发方法的一个具体应用实例,该视频分发方法包括:获得每秒30帧的目标分发视频以及签名参考摘要ra或者rb等,对其进行签名参考摘要的分
离处理。
[0208]
在分离处理时,通过检测到负载类型payloadtype为5的sei数据块,且具备上文实施例中所定义的uuid{1e2bc68c-33d2-5ca2-af3b-0b5e5469c7b8}引导时,从这个sei数据块中提出签名参考摘要,除此之外的任何其它视频帧数据用于后续的预设服务质量的制作。
[0209]
在制作不同服务质量的视频时,需要先对每一个送入的视频帧或者多个视频帧压缩数据进行解码,输出一个或者多个视频帧图像,每秒都将获得30幅解码后的1920x1080的视频画面图像。
[0210]
再对每一个送入的视频图像,按指定配置缩小或者放大后再进行视频压缩编码,输出一个或者多个不同尺寸或者不同视频码率的视频帧图像。比如,针对输入图像尺寸为1920*1080的视频,经过制作处理得到1280*720、704*576、372*288三个小尺寸的视频压缩编码,然后再分别做h.264压缩编码得到三个压缩编码的视频帧。
[0211]
在对图像进行缩小或者放大后,可以在编码后的视频编码帧或者相关描述信息中保持原来的视频纵横比例信息。比如,在把1920*1080尺寸的图像缩小成704*576尺寸的图像并编码后,可以在编码后的帧数据中描述原来的视频纵横比例为16:9。
[0212]
在解码处理时,若接收并解码到一个idr帧时,指示编码处理也同步编码每个不同尺寸/视频码率下的idr帧。
[0213]
当从参考摘要分离模块接收到一份ra时,把它暂存起来,直到下一份签名ra的到来。当从图像编码模块中接收到一个idr帧时,首先把暂存的签名ra输出到对应尺寸的视频流的数据接口,然后再向这个输出接口输出对应尺寸的idr帧。比如,当接收到图像编码模块送来的704*576尺寸的idr编码帧时,先在704*576尺寸的视频输出数据接口上输出暂存的ra后再输出704*576视频编码帧。
[0214]
当从图像编码模块中接收到一个非idr帧时,直接向对应的视频流数据输出接口输出这个视频帧。
[0215]
当接收到一份rb时,同时向所有流的视频流输数据输出接口输出这个rb。
[0216]
在分离ra或rb时,当接收到的是一个ra时,首先对ra中的数字证书进行验证。如果ra中携带的数字证书是由已经被本地的以播放为用途的可信赖的ca证书签署,则确认此证书为真。如果不能提取到有效的证书,则发出警告事件,记录日志并向系统提出建议阻止分发过程。
[0217]
或者,也可以是对真实可信赖的数字证书,提取其cn数据域的值,与ra中的author cn数据域的值进行比较,如果不相同或者不存在某种包含关系时,则发出警告事件,记录日志,报告潜在的风险。
[0218]
或者,从ra中取出sign对象,并在ra中删除掉这个sign对象。然后从数字证书中抽取发布者的公钥,从sign对象的digest数据域取得散列算法,使用散列算法对删除sign对象后的参考摘要数据块计算散列值,使用发布者的公钥对sign的signature数据进行解密获得另一个散列值。比较两个散列值,如果相同,则原签名参考摘要被鉴定为真。否则可以发出警告事件,记录日志并向系统提出建议阻止分发过程。
[0219]
在制作预设服务质量的视频时,还可以通过对视频进行扫描筛选出不符合分发条件的视频。具体地,当接收到ra时,提取其中的author对象,提取其中的video对象,并做相
关记录。接收到来自原始视频图像时,送给后端图像智能处理,当触发不满足分发条件的事件时,进行记录并向系统提出建议阻止分发过程或者使用建议图像处理方法对图像进行适当处理。
[0220]
本实施例提供的视频分发方法,不需要对视频的内容进行加密,视频工具或者服务有能力对视频内容按不同的服务质量分发视频内容而不降低视频流的可信赖程度,同时视频工具或者服务有能力对视频内容进行扫描并从事必要的监管措施而不降低视频流的可信赖程度。
[0221]
在本实施例中提供了一种视频播放方法,可用于播放终端,例如,电脑、移动终端等等,图5是根据本发明实施例的视频播放方法的流程图,如图5所示,该流程包括如下步骤:
[0222]
s51,获取目标视频。
[0223]
其中,所述目标视频包括签名参考摘要以及压缩编码视频流,所述签名参考摘要包括参考摘要以及所述参考摘要的签名,所述参考摘要是所述压缩编码视频流中原始视频的内容的摘要计算结果与所述目标分发视频的发布者身份信息进行拼接得到的。
[0224]
当目标视频为目标分发视频时,关于目标分发视频的生成方法请参见上文描述,在此不再赘述。当目标视频为目标发布视频时,关于目标发布视频的生成方法也请参见上文描述,在此不再赘述。
[0225]
s52,基于签名参考摘要的标识,从目标视频中分离出签名参考摘要以及压缩编码视频流。
[0226]
关于从目标视频中分离出签名参考摘要以及压缩编码视频流的方式,与上文图4所示实施例中s42所述的从目标发布视频中分离出签名参考摘要以及压缩编码视频流的方式类似,在此不再赘述。
[0227]
在一些实施方式中,所述签名参考摘要包括第一签名参考摘要以及第二签名参考摘要,所述第一签名参考摘要包括发布者身份信息与用于摘要计算的计算描述,所述第二签名参考摘要包括压缩编码视频流中原始视频的内容的摘要计算结果。基于此,上述s52包括:
[0228]
(1)利用第一签名参考摘要的标识,从目标发布视频中分离出第一签名参考摘要。
[0229]
(2)利用第二签名参考摘要的标识,从目标发布视频中分离出第二签名参考摘要及第二签名参考摘要对应的压缩编码视频流。
[0230]
关于第一签名参考摘要以及第二签名参考摘要的具体内容参见上文所述,在此不再赘述。
[0231]
例如,使用一个视频帧队列来处理接收的目标分发视频,当发现一个视频的压缩编码帧时把视频帧放进视频帧队列。当发现一个第二签名参考摘要时把视频帧队列中的所有视频帧全部取出来,作为一小段时间内的压缩编码视频流。
[0232]
或者,可能会遇到上述视频帧队列为空时再次遇到第二签名参考摘要的情况,这时看作压缩编码视频流的长度为0,即,取得的为一段空的视频流。
[0233]
在向上述视频帧队列中放入视频帧时,也可以先把压缩视频帧进行解码获得视频帧图像,把图像而不是视频的压缩编码数据放入视频帧,这样对视频流真伪核验的效果是一样的。
[0234]
在目标发布视频中包括两种类型的签名参考摘要,利用各自对应的标识能够准确地从目标发布视频中分离出。
[0235]
s53,对压缩编码视频流进行解码,确定压缩编码视频流中的解码视频。
[0236]
将压缩编码视频流送入视频解码器进行解码,即可获得压缩编码视频流中的解码视频。
[0237]
s54,基于对解码视频的内容进行摘要计算,确定解码摘要指标。
[0238]
其中,所述摘要计算的方式与得到摘要计算结果的计算方式一致。
[0239]
具体地,得到摘要计算结果的计算方式,请参见上文图2所示实施例的s22所述,在此不再赘述。
[0240]
例如,得到摘要计算结果的计算方式为64*32的首张缩略图时,对解码视频的首张原始视频图像缩小到64*32的尺寸,作为解码摘要指标。
[0241]
例如,得到摘要计算结果的计算方式为64*32的三枚举平均缩略图时,对解码视频内的第1/3、2/3、3/3时间点附近的三帧原始视频图像缩小到64*32的尺寸,然后再计算平均图像,即逐像素求平均获得一张平均缩略图,作为解码摘要指标。
[0242]
例如,得到摘要计算结果的计算方式为指定枚举图像的16*9分块平均亮度时,取指定数列的若干张图像,对每张图像按水平16块垂直9块做平均划分,对每个划分后的图像小块中央部位五分之一左右区域内的像素统计亮度平均值来代表这个小块,于是所取的每张图可以通过一个16*9的亮度向量来代表,再把这一组代表向量叠加、平均做成一个16*9的亮度向量,当成一份解码摘要指标。
[0243]
例如,得到摘要计算结果的计算方式为指定枚举图像的32*18分块平均亮度的奇异值时,取指定数列图像分别做32*18均分块并统计分块平均亮度得32*18数值矩阵,累加数值矩阵后做奇异值分解,截取非零奇异值组成变长向量当成一份解码摘要指标。
[0244]
例如,得到摘要计算结果的计算方式为指定枚举图像的16*9分块平均亮度联合向量,取指定数列图像获得16*9分块平均亮度数值矩阵,直接串联拼接成一个长数值向量,做成一份解码摘要指标。
[0245]
s55,基于解码摘要指标以及签名参考摘要,对目标视频进行验证。
[0246]
在对目标视频进行验证时,计算得到的解码摘要指标与视频摘要指标进行比较,记录差异。当比较差异较大时给出相关警告或者做相关记录,表明这段压缩编码视频流存在一定程度的不真实性。
[0247]
在一些实施方式中,所述第一签名参考摘要包括第一参考摘要以及所述第一参考摘要的第一签名,所述第一参考摘要包括所述发布者身份信息与用于所述摘要计算的计算描述。基于此,上述s54包括:
[0248]
(1)提取第一签名参考摘要中的发布者身份信息和/或第一签名。
[0249]
(2)对发布者身份信息和/或第一签名进行验证,确定目标视频的验证结果。
[0250]
在利用第一签名参考摘要进行验证时,可以验证发布者身份信息中的数字证书和/或第一签名的真伪。当获得发布者数字证书时,验证数字证书的真伪,当因信息缺失而无法验证真伪时,给出相关警告或者做相关记录,表明发布者身份真实性存有疑点。
[0251]
当获得的发布者数字证书不是被受信任的机构或者ca中心签署的,给出相关警告或者做相关记录,表明发布者身份真实性存有疑点。
[0252]
当无发布者数字证书,也没有提供可信任的发布者数字证书访问描述符,也没有提供可信任的发布者身份公钥访问描述符时,给出相关警告或者做相关记录,表明发布者身份真实性存有疑点。
[0253]
当获得发布者数字证书时,在验证数字证书的过程中出现了验证失败,给出相关警告或者做相关记录,表明发布者身份真实性为假,不值得采信。
[0254]
使用获得的发布者公钥对签名参考摘要中的除去签名部分的参考摘要数据做输入来验证数字签名的真实性,如果验证失败则给出相关警告或者做相关记录,表明签名参考摘要不真实,不值得采信。
[0255]
第一签名参考摘要包括一些描述信息,不会随视频中图像的变化而变化,因此,第一签名参考摘要可以用于表示该目标发布视频整体的情况。
[0256]
在一些实施方式中,上述s54包括:
[0257]
(1)提取第二签名参考摘要中的参考摘要,以获得视频摘要指标,所述视频摘要指标为压缩编码视频流中原始视频的内容的摘要计算结果。
[0258]
(2)计算解码摘要指标与视频摘要指标的相似度。
[0259]
(3)基于相似度的大小确定目标视频的验证结果。
[0260]
例如,在比较解码摘要指标的向量与视频摘要指标的向量时,可以逐数据求绝对差然后再平均,可以求两个向量的夹角余弦,也可以求协方差,可以求两个向量的相关系数,可以求两个向量的结构相似度等。
[0261]
或者,以解码摘要指标的向量与视频摘要指标的向量的夹角余弦为例,当求得两个摘要指标结果向量的夹角余弦接近为1.0时,说明这段压缩编码视频流的真实程度很高;当余弦接近0.0时,说明这段压缩编码视频流的真实程度很低;当余弦》0.7时可以判别为好的真实程度;当余弦《0.5时可以判别为差的真实程度。
[0262]
当视频摘要指标的计算方法为平均缩略图时,可以把表征解码摘要指标的平均缩略图与表征视频摘要指标的平均缩略图进行逐像素比较,然后对逐像素比较差异,对差异》30%的像素对应的代表区域在播放中进行染色显示以作警示,并做相关记录。
[0263]
第二签名参考摘要是与压缩编码视频流一一对应的,因此,第二签名参考摘要可以用于表示其所对应的压缩编码视频流的情况,从而确定出目标视频的验证结果。
[0264]
s56,当验证通过时,播放解码视频。
[0265]
在验证通过时,可以确定所得到的解码视频为可信赖的视频,从而对其进行播放。
[0266]
在验证不通过时,可以在对解码视频进行渲染时,依据验证的结果在视频图像中进行警示标记,例如,显示目标图像等等。在此对其并不做任何限定。
[0267]
本实施例提供的视频播放方法,在目标发布视频中携带有签名参考摘要,且该签名参考摘要是基于压缩编码视频流中原始视频的内容进行摘要计算得到的,由于图像因拥有自己独特的内容,即图像存在与之相关的不变量,基于该不变量进行摘要计算签名参考摘要的可靠性;同时在签名参考摘要中还包括有发布者的身份信息,能够使得最终得到的目标视频中具有发布者的身份印记,而且具备良好的防伪能力,在对目标发布视频进行解码播放时,先基于签名参考摘要对目标发布视频进行验证,从而保证播放的解码视频的可靠性。
[0268]
作为视频播放方法的一个具体应用示例,该视频播放方法包括:获取目标视频,从
目标视频中分离出签名参考摘要和不带参考摘要的压缩编码视频流。例如,获得每秒30帧的视频帧以及签名参考摘要ra或者rb等,用于后续的分离处理。
[0269]
在分离处理时,通过检测到payloadtype为5的sei数据块,且具备上述具体应用实例中所定义的uuid{1e2bc68c-33d2-5ca2-af3b-0b5e5469c7b8}引导时,从这个sei数据块中提出签名参考摘要数据,以用于签名验证。除此之外的任何其它视频帧数据则用于解码。
[0270]
在解码时,对每一个送入的视频帧或者多个视频帧压缩数据进行解码,输出一个或者多个视频帧图像。例如,每秒都将获得30幅解码后的1920*1080的视频画面图像。
[0271]
在验证时,每从参考摘要分离模块接收到一份签名参考摘要数据块时,通过判断是否包含特征结果来确定接收到的是ra还是rb。
[0272]
当接收到的是一个ra时,首先对ra中的数字证书进行验证。如果ra中携带的数字证书是由已经被本地的以播放为用途的可信赖的ca证书签署,则确认此证书为真。或者可以通过在以播放为用途的某种信赖方式来确认这个证书的真伪。当证书可以确认为真实可信赖的,则通过这个证书的认证,并将启用进一步的鉴定和验证操作。如果不能提取到有效的证书,则向图像渲染模块报告潜在的风险。图像渲染模块将对此风险在视频显示窗口中作警示提醒。
[0273]
可选地,对真实可信赖的数字证书,提取其cn数据域的值,与ra中的author cn数据域的值进行比较,如果不相同或者不存在某种包含关系时,则向图像渲染模块报告潜在的cn冒名风险,在图像渲染模块中显示ra中的author信息以及实际证书的cn数据域或者更多的数据域的信息,以提示观众可能的cn冒名风险。
[0274]
从签名参考摘要数据块中取出sign对象,并在签名参考摘要数据块中删除掉这个sign对象。然后从数字证书中抽取发布者的公钥,从sign对象的digest数据域取得散列算法,使用散列算法对删除sign对象后的参考摘要数据块计算散列值,使用发布者的公钥对sign的signature数据进行解密获得另一个散列值。比较两个散列值,如果相同,则原签名参考摘要被鉴定为真。否则为伪造的参考摘要,不应采信,并向图像渲染模块发出警告,终止进一步的指标验证工作,直到遇到下一个ra为止。
[0275]
当接收到ra时,提取其中的author对象,提取其中的video对象,并告知图像渲染模块作适当显示。
[0276]
当每接收到一帧视频压缩编码的关键帧idr帧数据时,必然已经接收到了一个配置性签名参考摘要ra,可以从这个ra获知所接收的视频流是否为带签名参考摘要的视频流。当接收的为未带签名参考摘要的视频流,则视频流的处理不需要经过签名认证以及只要验证的处理,只需要经摘要分离、解码和渲染的处理就完成了相关播放。
[0277]
在进行摘要指标验证时,采用与上述示例中描述的指标计算模型/程序,thumbnail和blocks。在经过使用ra中的sign配置后,每从图像解码模块收到一幅图像,就使用配置的程序thumbnail或者blocks计算关于这一幅图像在一小段时间内的数据贡献部分。
[0278]
例如,以thumbnail为例,如果当前图像自模块重置以来的序列编号不符合thumbnail的取样模式时,直接弃用/忽略这幅图像。如果符合取样模式时,则以较快的算法比方双线性方法把图像缩小成指定宽、高的缩略图,并累加到预置的浮点化缩略底图上。此缩略底图在重置并配置thumbnail程序时创建。当接收到的图像序列编号与feature::
length相同的数值时,说明当前一小段视频已经处理完成,这时在累加的浮点化缩略底图上对每个像素上的浮点值按累加的图像张数做一次平均,再整理成一个整数化的缩略图像。即按thumbnail描述计算出一份指标结果,但不去做jpeg压缩。
[0279]
而当接收到rb的feature结果时,对feature::result中携带的图像做base64解码、jpeg解压缩后,即获得一份整数化的缩略图。此时逐像素对比上述计算得到的缩略图和当前解压缩的缩略图,当像素差异大于50%时标记此像素为不真实(取值2),当像素差异大于30%时标记此像素为可能不真实(取值1),当像素差异小于30%时标记为可以接受(取值0)。这样就做成了一幅真实计分缩略图。摘要指标验证模块把这份真实计算缩略图送给图像渲染模块,指导其对当前正在播放/渲染的视频画面按计分进行染色。同时,把所有计分累加,然后除以缩略图的像素总量得到一个综合计分,当综合计分为2时表示不真实,当综合计分为1时表示可能不真实,当综合计分为0时表示真实程度可以接受。并把综合计分报告图像渲染模块。
[0280]
当每完成一份完整的指标验证,即接收到rb的feature结果并做完验证汇报后,随即清理计算参数,以为下一批解码视频的指标计算做准备。
[0281]
当遇到配置的为blocks程序时,以与thumbnail相类似的手法来做计算,并获得一份染色指导图和一个综合计分,以进行后续的图像渲染显示。
[0282]
在获得的真实程度信息的展现和图像的渲染等功能的处理之后,可以直接让视频的观众在播放视频的过程中了解到视频可能存在的不可信行为。
[0283]
在渲染时可以在视频绘制窗口上绘制出如下图像:
[0284]
当接收到一份author对象时,适当地显示author对象中的内容,比如显示发布者的姓名、单位等;
[0285]
当接收到一份author对象并附带数字证书不实警告时,适当醒目地对此警告进行显示,可选地,对播放画面进行高欺骗性警示染色;
[0286]
当接收到一份指标验证结果即一份染色指导和综合计分时,按染色指导对播放的视频进行染色,并适当记录综合计分,或者在视频上面张贴欺骗性警示标志。
[0287]
本实施例提供的视频播放方法,播放的是基于签名参考摘要的可信赖视频,在播放同时对视频的发布者进行溯源,同时对视频流的真实程度进行鉴别及警示的方法,在播放这类视频时使播放者不仅确认此视频的发布者身份,并且能够确认视频在多大程度上可能被篡改从而失去发布者承诺的价值。使用本方法播放出来的确认高信赖视频内容时,可以确认发布者在视频公布时的真实意图。
[0288]
在本实施例中还提供了一种视频发布装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0289]
本实施例提供一种视频发布装置,如图6所示,包括:
[0290]
获取模块61,用于获取待发布视频的原始视频以及所述待发布视频的发布者身份信息;
[0291]
摘要计算模块62,用于对所述原始视频的内容进行摘要计算,确定视频摘要指标;
[0292]
签名模块63,用于基于所述发布者身份信息以及所述视频摘要指标确定参考摘
要,并对所述参考摘要进行签名得到数字签名;
[0293]
拼接模块64,用于将所述参考摘要以及所述数字签名进行拼接,确定签名参考摘要;
[0294]
发布模块65,用于将所述签名参考摘要编入所述待发布视频的视频码流中,确定并发布目标发布视频,所示视频码流为所述待发布视频压缩编码后的码流。
[0295]
在一些实施方式中,摘要计算模块62包括:
[0296]
处理单元,用于对所述原始视频中原始视频图像进行特征处理,确定特征处理结果;
[0297]
确定单元,用于将所述特征处理结果确定为视频摘要指标。
[0298]
在一些实施方式中,处理单元包括:
[0299]
缩小子单元,用于将所述原始视频图像的尺寸缩小至预设尺寸得到所述原始视频的缩略图,以确定所述特征处理结果;
[0300]
或者,
[0301]
分析子单元,用于对所述原始视频图像进行颜色特征和/或明暗特征的分析,确定所述特征处理结果。
[0302]
在一些实施方式中,摘要计算模块62包括:
[0303]
第一获取单元,用于获取预设长度的数据;
[0304]
计算单元,用于对所述原始视频中原始视频图像以及所述预设长度的数据进行数值计算,确定所述视频摘要指标。
[0305]
在一些实施方式中,签名模块63包括:
[0306]
第二获取单元,用于获取第一参考摘要,所述第一参考摘要包括所述发布者身份信息与用于所述摘要计算的计算描述;
[0307]
第一签名单元,用于对所述第一参考摘要进行签名,确定第一签名参考摘要;
[0308]
第二签名单元,用于将所述视频摘要指标确定为第二参考摘要,并对所述第二参考摘要进行签名,确定第二签名参考摘要。
[0309]
在一些实施方式中,第二获取单元包括:
[0310]
获取子单元,用于获取所述待发布视频的视频描述;
[0311]
拼接子单元,用于将所述发布者身份信息、所述视频描述以及所述计算描述进行拼接,确定所述第一参考摘要。
[0312]
在一些实施方式中,发布模块65包括:
[0313]
将所述第一签名参考摘要编入所述视频码流的目标位置;
[0314]
将所述第二签名参考摘要编入所述视频码流中每份压缩编码视频流的目标位置,确定并发布目标发布视频。
[0315]
本实施例中的视频发布装置是以功能单元的形式来呈现,这里的单元是指asic电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
[0316]
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
[0317]
本发明实施例还提供一种电子设备,具有上述图6所示的视频发布装置。
[0318]
请参阅图7,图7是本发明可选实施例提供的一种电子设备的结构示意图,如图7所
示,该电子设备可以包括:至少一个处理器71,例如cpu(central processing unit,中央处理器),至少一个通信接口73,存储器74,至少一个通信总线72。其中,通信总线72用于实现这些组件之间的连接通信。其中,通信接口73可以包括显示屏(display)、键盘(keyboard),可选通信接口73还可以包括标准的有线接口、无线接口。存储器74可以是高速ram存储器(random access memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器74可选的还可以是至少一个位于远离前述处理器71的存储装置。其中处理器71可以结合图6所描述的装置,存储器74中存储应用程序,且处理器71调用存储器74中存储的程序代码,以用于执行上述任一方法步骤。
[0319]
其中,通信总线72可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。通信总线72可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0320]
其中,存储器74可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:hdd)或固态硬盘(英文:solid-state drive,缩写:ssd);存储器74还可以包括上述种类的存储器的组合。
[0321]
其中,处理器71可以是中央处理器(英文:central processing unit,缩写:cpu),网络处理器(英文:network processor,缩写:np)或者cpu和np的组合。
[0322]
其中,处理器71还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:asic),可编程逻辑器件(英文:programmable logic device,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:fpga),通用阵列逻辑(英文:generic array logic,缩写:gal)或其任意组合。
[0323]
可选地,存储器74还用于存储程序指令。处理器71可以调用程序指令,实现如本技术任一实施例中所示的视频发布方法。
[0324]
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的视频发布方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
[0325]
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献