首页 / 视频压缩感知重构方法及装置

视频压缩感知重构方法及装置有效专利 发明

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种视频压缩感知重构方法及装置。

相关背景技术

[0002] 现有的基于时间域的视频压缩感知算法普遍对计算复杂度非常敏感,特别是在渲染重构视频帧时处理速度极慢,即便使用图形处理器(Graphics Processing Unit,GPU)进行并行加速也无法显著改善这个问题。虽然,目前也有算法能够较快的完成视频块的感知重建,但是重建的质量通常较低。因此,如何高速且高质量的渲染重构视频帧已经成为一种亟待解决的技术问题。

具体实施方式

[0039] 为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0040] 本发明提供一种视频压缩感知重构方法。
[0041] 参照图1,图1为本发明视频压缩感知重构方法第一实施例的流程示意图。
[0042] 在第一实施例中,该视频压缩感知重构方法包括:
[0043] 步骤S10,在收到待重构的压缩视频帧后,根据预先确定的提取规则提取出所述压缩视频帧的帧碎片。
[0044] 本实施例中,接收到待重构的压缩视频帧后,并不直接对所述压缩视频帧进行渲染重构,而是先对所述压缩视频帧按照预先确定的提取规则进行帧碎片的提取。该预先确定的提取规则可以是根据颜色、内容、格式、面积大小等不同特征对所述压缩视频帧进行帧碎片的提取,在此不做限定。
[0045] 在一种可选的实施方式中,所述预先确定的提取规则为:对待重构的压缩视频帧进行块分割,将所述待重构的压缩视频帧分成若干帧碎片。例如,对如JPEG、PNG等各种类型的压缩视频帧进行块分割,将所述压缩视频帧分成N*M(例如,32*32)的帧碎片,N和M为正整数。其中,对所述压缩视频帧进行块分割时,可以将所述压缩视频帧等分成各个相同大小的帧碎片,也可以将所述压缩视频帧按一定比例或随机分成不同大小的帧碎片,在此不做限定。帧碎片既可以是形状规则的正方形、长方形等,也可以是形状不规则的碎片,在此不做限定。
[0046] 步骤S20,将提取的帧碎片输入经预先训练的视频帧重构模型的帧碎片输入层,由所述视频帧重构模型的多个特征抽象隐含层对输入的帧碎片进行特征抽象,建立帧碎片到帧碎片块之间的非线性映射。
[0047] 提取出所述压缩视频帧的帧碎片之后,可利用经预先训练好的视频帧重构模型对该帧碎片进行相应的处理。其中,该视频帧重构模型可以是在每一次进行视频压缩感知重构时进行建立并训练,也可以是预先创建并训练好的模型,每一次进行视频压缩感知重构时直接调用该模型即可,在此不做限定。
[0048] 例如,本实施例中,所述视频帧重构模型可包括帧碎片输入层、帧碎片块输出层和多个特征抽象隐含层,在提取出所述压缩视频帧的帧碎片之后,将提取的帧碎片输入该视频帧重构模型的帧碎片输入层,由所述视频帧重构模型的多个特征抽象隐含层对输入的帧碎片进行特征抽象,建立帧碎片到帧碎片块之间的非线性映射,从而将每一帧碎片与最终重构的帧碎片块形成联系。
[0049] 步骤S30,由所述视频帧重构模型的多个特征抽象隐含层根据建立的所述非线性映射将输入的帧碎片重构为帧碎片块,并由所述视频帧重构模型的帧碎片块输出层输出重构的帧碎片块,基于重构的帧碎片块生成重构的视频。
[0050] 所述视频帧重构模型的多个特征抽象隐含层根据建立的所述非线性映射即每一帧碎片经特征抽象后与最终重构的帧碎片块之间的映射关系,将输入的帧碎片重构为最终的帧碎片块,并经由所述视频帧重构模型的帧碎片块输出层输出重构的帧碎片块,基于重构的帧碎片块生成重构的视频,如对重构的帧碎片块进行拼接、组合等方式最终生成重构的视频,完成所述压缩视频帧的渲染重构。
[0051] 本实施例通过预先确定的提取规则提取出待重构的压缩视频帧的帧碎片;由经预先训练的视频帧重构模型的多个特征抽象隐含层对该帧碎片进行特征抽象,建立帧碎片到帧碎片块之间的非线性映射,并根据所述非线性映射将输入的帧碎片重构为帧碎片块之后输出。由于是将待重构的压缩视频帧提取为帧碎片后,针对帧碎片来进行重构,而不是直接对较大的压缩视频帧进行处理,降低了计算复杂度,提高了视频帧重构的速度;而且,通过预先训练的视频帧重构模型的多个特征抽象隐含层对每一帧碎片进行特征抽象,并将帧碎片重构为帧碎片块进行输出,能有效地提取压缩视频帧的每一细节特征,提高了视频帧重构的质量。
[0052] 如图2所示,本发明第二实施例提出一种视频压缩感知重构方法,在上述实施例的基础上,在上述步骤S10之前还包括:
[0053] 步骤S40,创建并训练视频帧重构模型,所述视频帧重构模型包括至少一个帧碎片输入层、至少一个帧碎片块输出层和多个特征抽象隐含层。
[0054] 本实施例中,在进行视频帧重构之前,还需创建并训练视频帧重构模型,所述视频帧重构模型包括至少一个帧碎片输入层、至少一个帧碎片块输出层和多个特征抽象隐含层。在对视频帧重构模型进行训练之前,还包括训练数据和测试数据的生成步骤,该训练数据和测试数据的生成步骤包括:
[0055] 获取预设数量(例如,100个)的不同种类的自然场景下的视频,并将获取的各个视频转换到灰度颜色空间。其中,获取的所有视频的数据大小累计和需满足预设值(例如,10K)。
[0056] 将转换后的各个视频通过预定义尺寸为wm×hm×dm(例如,wm=8,hm=8,dm=16)的度量转换矩阵进行压缩。例如,wb为具有预设数量视频的视频块b的宽度,hb为视频块b的高度,db为视频块b的长度(即视频帧的数量),每个视频块为xi∈wb×hb×db,i∈N,N为不小于1的正整数,压缩后的视频帧yi∈wb×hb,其中, 为度量转换矩阵。
[0057] 将所有压缩后的视频按照预设比例如X:Y(例如,7:3)的比例分成第一数据集和第二数据集,其中,第一数据集中的视频数量大于第二数据集中的视频数量,将第一数据集作为训练集,第二数据集作为测试集,其中,X大于0,Y大于0。
[0058] 在一种实施方式中,该视频帧重构模型的训练过程如下:
[0059] 在训练该视频帧重构模型时,可以将输入的视频帧的batch size(批量尺寸)设置成200,总的训练次数可以设为10×106个迭代次数,输入的每张视频帧之间的大小差值被规约化到均值为0,标准差为1的范围。在训练的起始阶段,每一特征抽象隐含层的神经元权值被随机初始化,随机值来自一个范围为 的均匀分布,变量s为先前特征抽象隐含层的神经元数目。
[0060] 在训练过程中,采用随机梯度下降(SGD,Stochastic Gradient Descent)算法来对该视频帧重构模型中的各个参数进行优化。随机梯度下降算法适用于控制变量较多,受控系统比较复杂,无法建立准确数学模型的最优化控制过程。本实施例中,起始学习率可以设置为0.001,每隔3×106次迭代学习率会变为原来的十分之一。随机梯度下降算法的冲量项(Momentum)可以设置为0.9,在随机梯度下降的同时还可以对梯度进行裁剪,假设需要求解的目标函数为:E(x)=f(x)+r(x),其中f(x)为损失函数,用来评价模型训练损失,是任意的可微凸函数,r(x)为规范化约束因子,用来对模型进行限制,根据模型参数的概率分布不同,r(x)一般有L1范式约束(模型服从高斯分布)和L2范式约束(模型服从拉普拉斯分布),通过使用L2范式对权值更新梯度进行裁剪以确保梯度始终处于一定范围之类,这样可以防止梯度爆炸现象影响模型的收敛,梯度裁剪的阈值可以被设定为10。
[0061] 进一步地,在其他实施例中,如图3所示,图3为本发明视频压缩感知重构方法一实施例中视频帧重构模型的结构示意图。该视频帧重构模型包括一个帧碎片输入层、一个帧碎片块输出层和k个特征抽象隐含层(k为大于1的自然数),每一个特征抽象隐含层有如下公式:
[0062] hk(y)=θ(bk+wky),
[0063] 其中, 为该特征抽象隐含层激活值向量,Lk为第k层特征抽象隐含层的神经元数目,θ(*)也即θ(bk+wky)为激活函数,其表达式为θ(x)=max(x,0), 为该特征抽象隐含层神经元偏置向量, 为权值矩阵, 为该特征抽象隐含层输入向量。
[0064] 基于所述特征抽象隐含层激活值向量、神经元数目、激活函数、神经元偏置向量与权值矩阵训练得到视频帧重构模型f(yi;ω),其中,ω是所述特征抽象隐含层激活值向量、神经元数目、激活函数、神经元偏置向量与权值矩阵的参数集合,yi为经所述帧碎片输入层输入的帧碎片,f(yi;ω)为由多个特征抽象隐含层对经所述帧碎片输入层输入的帧碎片进行特征抽象,建立起来的帧碎片到帧碎片块之间的非线性映射。
[0065] 参照图3,该帧碎片输入层接收帧碎片的输入,经过K层特征抽象隐含层的帧特征抽象,最后输入到该帧碎片块输出层,该帧碎片块输出层的维度与最终重构的视频块的总尺寸一致,均为wm×hm×dm。为了训练该视频帧重构模型,需要根据输入参数不断调整模型的权值和偏置项。假定把模型的所有参数构成的集合表示为L(ω),使用误差反向传播(Error Back Propagation,BP)算法对参数进行更新,优化函数为MSE(Mean Squared Error,平均平方和错误),则有:
[0066]
[0067] 在一个优选的实施方式中,该视频帧重构模型的帧碎片输入层维度可以设为8×8,该视频帧重构模型的帧碎片块输出层维度可以设为8×8×16,该视频帧重构模型的特征抽象隐含层可以设为7层,各个特征抽象隐含层维度可以分别设为128,256,384,512,512,
4096,2048。
[0068] 本发明进一步提供一种视频压缩感知重构装置。
[0069] 参照图4,图4为本发明视频压缩感知重构装置第一实施例的功能模块示意图。
[0070] 在第一实施例中,该视频压缩感知重构装置包括:
[0071] 提取模块01,用于在收到待重构的压缩视频帧后,根据预先确定的提取规则提取出所述压缩视频帧的帧碎片;
[0072] 本实施例中,接收到待重构的压缩视频帧后,并不直接对所述压缩视频帧进行渲染重构,而是先对所述压缩视频帧按照预先确定的提取规则进行帧碎片的提取。该预先确定的提取规则可以是根据颜色、内容、格式、面积大小等不同特征对所述压缩视频帧进行帧碎片的提取,在此不做限定。
[0073] 在一种可选的实施方式中,所述预先确定的提取规则为:对待重构的压缩视频帧进行块分割,将所述待重构的压缩视频帧分成若干帧碎片。例如,对如JPEG、PNG等各种类型的压缩视频帧进行块分割,将所述压缩视频帧分成N*M(例如,32*32)的帧碎片,N和M为正整数。其中,对所述压缩视频帧进行块分割时,可以将所述压缩视频帧等分成各个相同大小的帧碎片,也可以将所述压缩视频帧按一定比例或随机分成不同大小的帧碎片,在此不做限定。帧碎片既可以是形状规则的正方形、长方形等,也可以是形状不规则的碎片,在此不做限定。
[0074] 特征抽象模块02,用于将提取的帧碎片输入经预先训练的视频帧重构模型的帧碎片输入层,由所述视频帧重构模型的多个特征抽象隐含层对输入的帧碎片进行特征抽象,建立帧碎片到帧碎片块之间的非线性映射;
[0075] 提取出所述压缩视频帧的帧碎片之后,可利用经预先训练好的视频帧重构模型对该帧碎片进行相应的处理。其中,该视频帧重构模型可以是在每一次进行视频压缩感知重构时进行建立并训练,也可以是预先创建并训练好的模型,每一次进行视频压缩感知重构时直接调用该模型即可,在此不做限定。
[0076] 例如,本实施例中,所述视频帧重构模型可包括帧碎片输入层、帧碎片块输出层和多个特征抽象隐含层,在提取出所述压缩视频帧的帧碎片之后,将提取的帧碎片输入该视频帧重构模型的帧碎片输入层,由所述视频帧重构模型的多个特征抽象隐含层对输入的帧碎片进行特征抽象,建立帧碎片到帧碎片块之间的非线性映射,从而将每一帧碎片与最终重构的帧碎片块形成联系。
[0077] 重构模块03,用于由所述视频帧重构模型的多个特征抽象隐含层根据建立的所述非线性映射将输入的帧碎片重构为帧碎片块,并由所述视频帧重构模型的帧碎片块输出层输出重构的帧碎片块,基于重构的帧碎片块生成重构的视频。
[0078] 所述视频帧重构模型的多个特征抽象隐含层根据建立的所述非线性映射即每一帧碎片经特征抽象后与最终重构的帧碎片块之间的映射关系,将输入的帧碎片重构为最终的帧碎片块,并经由所述视频帧重构模型的帧碎片块输出层输出重构的帧碎片块,基于重构的帧碎片块生成重构的视频,如对重构的帧碎片块进行拼接、组合等方式最终生成重构的视频,完成所述压缩视频帧的渲染重构。
[0079] 本实施例通过预先确定的提取规则提取出待重构的压缩视频帧的帧碎片;由经预先训练的视频帧重构模型的多个特征抽象隐含层对该帧碎片进行特征抽象,建立帧碎片到帧碎片块之间的非线性映射,并根据所述非线性映射将输入的帧碎片重构为帧碎片块之后输出。由于是将待重构的压缩视频帧提取为帧碎片后,针对帧碎片来进行重构,而不是直接对较大的压缩视频帧进行处理,降低了计算复杂度,提高了视频帧重构的速度;而且,通过预先训练的视频帧重构模型的多个特征抽象隐含层对每一帧碎片进行特征抽象,并将帧碎片重构为帧碎片块进行输出,能有效地提取压缩视频帧的每一细节特征,提高了视频帧重构的质量。
[0080] 如图5所示,本发明第二实施例提出一种视频压缩感知重构装置,在上述实施例的基础上,还包括:
[0081] 创建模块04,用于创建并训练视频帧重构模型,所述视频帧重构模型包括至少一个帧碎片输入层、至少一个帧碎片块输出层和多个特征抽象隐含层。
[0082] 本实施例中,在进行视频帧重构之前,还需创建并训练视频帧重构模型,所述视频帧重构模型包括至少一个帧碎片输入层、至少一个帧碎片块输出层和多个特征抽象隐含层。所述创建模块04还包括用于生成训练数据和测试数据的生成单元,所述生成单元用于:获取预设数量(例如,100个)的不同种类的自然场景下的视频,并将获取的各个视频转换到灰度颜色空间。其中,获取的所有视频的数据大小累计和需满足预设值(例如,10K)。
[0083] 将转换后的各个视频通过预定义尺寸为wm×hm×dm(例如,wm=8,hm=8,dm=16)的度量转换矩阵进行压缩。例如,wb为具有预设数量视频的视频块b的宽度,hb为视频块b的高度,db为视频块b的长度(即视频帧的数量),每个视频块为xi∈wb×hb×db,i∈N,N为不小于1的正整数,压缩后的视频帧yi∈wb×hb,其中, 为度量转换矩阵。
[0084] 将所有压缩后的视频按照预设比例如X:Y(例如,7:3)的比例分成第一数据集和第二数据集,其中,第一数据集中的视频数量大于第二数据集中的视频数量,将第一数据集作为训练集,第二数据集作为测试集,其中,X大于0,Y大于0。
[0085] 在一种实施方式中,该视频帧重构模型的训练过程如下:
[0086] 在训练该视频帧重构模型时,可以将输入的视频帧的batch size(批量尺寸)设置成200,总的训练次数可以设为10×106个迭代次数,输入的每张视频帧之间的大小差值被规约化到均值为0,标准差为1的范围。在训练的起始阶段,每一特征抽象隐含层的神经元权值被随机初始化,随机值来自一个范围为 的均匀分布,变量s为先前特征抽象隐含层的神经元数目。
[0087] 在训练过程中,采用随机梯度下降(SGD,Stochastic Gradient Descent)算法来对该视频帧重构模型中的各个参数进行优化。随机梯度下降算法适用于控制变量较多,受控系统比较复杂,无法建立准确数学模型的最优化控制过程。本实施例中,起始学习率可以设置为0.001,每隔3×106次迭代学习率会变为原来的十分之一。随机梯度下降算法的冲量项(Momentum)可以设置为0.9,在随机梯度下降的同时还可以对梯度进行裁剪,假设需要求解的目标函数为:E(x)=f(x)+r(x),其中f(x)为损失函数,用来评价模型训练损失,是任意的可微凸函数,r(x)为规范化约束因子,用来对模型进行限制,根据模型参数的概率分布不同,r(x)一般有L1范式约束(模型服从高斯分布)和L2范式约束(模型服从拉普拉斯分布),通过使用L2范式对权值更新梯度进行裁剪以确保梯度始终处于一定范围之类,这样可以防止梯度爆炸现象影响模型的收敛,梯度裁剪的阈值可以被设定为10。
[0088] 进一步地,在其他实施例中,该视频帧重构模型包括一个帧碎片输入层、一个帧碎片块输出层和k个特征抽象隐含层(k为大于1的自然数),每一个特征抽象隐含层有如下公式:
[0089] hk(y)=θ(bk+wky),
[0090] 其中, 为该特征抽象隐含层激活值向量,Lk为第k层特征抽象隐含层的神经元数目,θ(*)也即θ(bk+wky)为激活函数,其表达式为θ(x)=max(x,0), 为该特征抽象隐含层神经元偏置向量, 为权值矩阵, 为该特征抽象隐含层输入向量。
[0091] 基于所述特征抽象隐含层激活值向量、神经元数目、激活函数、神经元偏置向量与权值矩阵训练得到视频帧重构模型f(yi;ω),其中,ω是所述特征抽象隐含层激活值向量、神经元数目、激活函数、神经元偏置向量与权值矩阵的参数集合,yi为经所述帧碎片输入层输入的帧碎片,f(yi;ω)为由多个特征抽象隐含层对经所述帧碎片输入层输入的帧碎片进行特征抽象,建立起来的帧碎片到帧碎片块之间的非线性映射。
[0092] 参照图3,该帧碎片输入层接收帧碎片的输入,经过K层特征抽象隐含层的帧特征抽象,最后输入到该帧碎片块输出层,该帧碎片块输出层的维度与最终重构的视频块的总尺寸一致,均为wm×hm×dm。为了训练该视频帧重构模型,需要根据输入参数不断调整模型的权值和偏置项。假定把模型的所有参数构成的集合表示为L(ω),使用误差反向传播(Error Back Propagation,BP)算法对参数进行更新,优化函数为MSE(Mean Squared Error,平均平方和错误),则有:
[0093]
[0094] 在一个优选的实施方式中,该视频帧重构模型的帧碎片输入层维度可以设为8×8,该视频帧重构模型的帧碎片块输出层维度可以设为8×8×16,该视频帧重构模型的特征抽象隐含层可以设为7层,各个特征抽象隐含层维度可以分别设为128,256,384,512,512,
4096,2048。
[0095] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0096] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0097] 以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0098] 本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

当前第1页 第1页 第2页 第3页