发明内容
本发明实施例提供一种可减少动态全息影像的压缩量的关键画面帧的设定方法,以解决现有的动态全息影像编码中需要对所有的画面帧进行存储,造成存储数据量巨大,不能满足实时在网络上推流播放的技术问题。
本发明实施例提供一种关键画面帧的设定方法,其包括:
获取动态全息影像的未编码影像画面帧;
基于未编码影像画面帧中的独立模型数量、模型面积以及模型闭环数量,确定所述未编码影像画面帧的关键帧指数;
将具有最大关键帧指数的未编码影像画面帧设定为关键画面帧;其中所述关键帧指数是用于衡量该未编码影像画面帧转换为相似的未编码影像画面帧的难易程度。
在本发明所述的关键画面帧的设定方法中,所述独立模型数量是指未编码影像画面帧中的人体独立3D模型的数量,独立模型数量较多的未编码影像画面帧的关键帧指数较高;
所述模型面积是指对应独立模型的三角面网格的面积总和,模型面积较大的未编码影像画面帧的关键帧指数较高;
所述模型闭环数量是指对应独立模型中人体姿态形成的回环数量,模型闭环数量较少的未编码影像画面帧的关键帧指数较高。
在本发明所述的关键画面帧的设定方法中,通过下式计算所述未编码影像画面帧的关键帧指数:
其中C(i)为所有的独立模型,Ac是当前独立模型的模型面积,gc是当前独立模型的模型闭环数量,Amax是具有最大模型面积的独立模型的模型面积,gmax是具有最大模型闭环数量的独立模型的模型闭环数量。
在本发明所述的关键画面帧的设定方法中,所述方法还包括:
基于所述关键画面帧与前后未编码影像画面帧的匹配残差,确定与所述关键画面帧匹配的相关画面帧;
基于所述关键画面帧的几何信息,对所述关键画面帧进行编码操作;并基于所述关键画面帧的几何信息以及所述相关画面帧与所述关键画面帧的差异信息,对所述相关画面帧进行编码操作;
返回到获取动态全息影像的未编码影像画面帧的步骤,直至所有未编码影像画面帧编码完毕。
在本发明所述的关键画面帧的设定方法中,所述基于所述关键画面帧与前后未编码影像画面帧的匹配残差,确定与关键画面帧匹配的相关画面帧的步骤包括:
获取所述关键画面帧的前n未编码影像画面帧,其中n的初始值为1;
计算所述关键画面帧与所述前n未编码影像画面帧的匹配残差;
如所述匹配残差小于等于设定值,则将所述前n未编码影像画面帧设定为所述关键画面帧匹配的相关画面帧,并执行n=n+1返回至获取前n未编码影像画面帧的步骤;如所述匹配残差大于设定值,则结束所述相关画面帧的确定过程。
在本发明所述的关键画面帧的设定方法中,所述获取所述关键画面帧与所述前n未编码影像画面帧的匹配残差的步骤包括:
基于所述关键画面帧的像素点与所述前n未编码影像画面帧对应的像素点的欧氏距离之和、所述关键画面帧向所述前n未编码影像画面帧变换时的刚体能量项、以及所述关键画面帧向所述前n未编码影像画面帧变换时的平滑项来确定所述关键画面帧与所述前n未编码影像画面帧的匹配残差。
在本发明所述的关键画面帧的设定方法中,所述基于所述关键画面帧与前后未编码影像画面帧的匹配残差,确定与关键画面帧匹配的相关画面帧的步骤包括:
获取所述关键画面帧的后n未编码影像画面帧,其中n的初始值为1;
获取所述关键画面帧与所述后n未编码影像画面帧的匹配残差;
如所述匹配残差小于等于设定值,则将所述后n未编码影像画面帧设定为所述关键画面帧匹配的相关画面帧,并执行n=n+1返回至获取后n未编码影像画面帧的步骤;如所述匹配残差大于设定值,则结束所述相关画面帧的确定过程。
在本发明所述的关键画面帧的设定方法中,所述获取所述关键画面帧与所述后n未编码影像画面帧的匹配残差的步骤包括:
基于所述关键画面帧的像素点与所述后n未编码影像画面帧对应的像素点的欧氏距离之和、所述关键画面帧向所述后n未编码影像画面帧变换时的刚体能量项、以及所述关键画面帧向所述后n未编码影像画面帧变换时的平滑项来确定所述关键画面帧与所述后n未编码影像画面帧的匹配残差。
在本发明所述的关键画面帧的设定方法中,所述基于所述关键画面帧的几何信息,对所述关键画面帧进行编码操作的步骤具体为:
将所述关键画面帧的几何信息存储到动态全息影像视频流的网络提取层的补充增强信息中,以便进行动态全息影像视频流中关键画面帧的封装;
所述基于所述关键画面帧的几何信息以及所述相关画面帧与所述关键画面帧的差异信息,对所述相关画面帧进行编码操作的步骤具体为:
将所述关键画面帧的几何信息以及所述相关画面帧与所述关键画面帧的差异信息存储到动态全息影像视频流的网络提取层的补充增强信息中,以便进行动态全息影像视频流中相关画面帧的封装。
本发明实施例还提供一种计算机可读存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述关键画面帧的设定方法。
相较于现有技术,本发明的关键画面帧的设定方法基于动态全息影像中的关键画面帧进行动态全息影像的编码操作,可有效的减小编码后的存储数据量,且能够较好的对动态全息影像进行解码还原操作;有效解决了现有的动态全息影像编码中需要对所有画面帧进行存储,造成存储数据量巨大,不能满足实时在网络上推流播放的技术问题。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的动态全息影像编码方法及编码装置可设置在任何的电子设备中,用于对动态全息影像中的影像画面帧进行编码操作。该电子设备包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。该动态全息影像编码装置优选为进行视频编码操作的视频编码终端,该视频编码终端基于每个影像画面帧的关键帧指数来确定关键画面帧;随后根据关键画面帧与相邻画面帧的匹配残差来确定关键画面帧的相关画面帧;最后基于关键画面帧的几何信息对关键画面帧进行编码操作,基于相关画面帧与关键画面帧的差异信息对相关画面帧进行编码操作。由于对关键画面帧的几何信息的重复使用,不需要对每个影像画面帧的几何信息均进行编码以及存储操作,因此可有效的减小编码后的存储数据量,且能够较好的对动态全息影像进行解码还原操作。
请参照图1,图1为本发明的动态全息影像编码方法的一实施例的流程图。本实施例的动态全息影像编码方法可使用上述的电子设备进行实施,本实施例的动态全息影像编码方法包括:
步骤S101,获取动态全息影像的未编码影像画面帧,并计算每个未编码影像画面帧的关键帧指数,将具有最大关键帧指数的未编码影像画面帧设定为关键画面帧;
步骤S102,基于关键画面帧与前后未编码影像画面帧的匹配残差,确定与关键画面帧匹配的相关画面帧;
步骤S103,基于关键画面帧的几何信息,对关键画面帧进行编码操作;并基于关键画面帧的几何信息以及相关画面帧与关键画面帧的差异信息,对相关画面帧进行编码操作;
步骤S104,返回到步骤S101,直至所有未编码影像画面帧编码完毕。
下面详细说明本实施例的动态全息影像编码方法的各步骤的具体流程。
在步骤S101中,电子设备获取待编码的动态全息影像的所有未编码影像画面帧。每个未编码影像画面帧均可包括多个人体独立3D模型,以便对影像画面帧中的人体姿态进行3D展示。
随后电子设备计算每个未编码影像画面帧的关键帧指数,这里的关键帧指数是用于衡量该未编码影像画面帧转换为相似的未编码影像画面帧的难易程度。该关键帧指数越大,对应的未编码影像画面帧越容易转换为相似的未编码影像画面帧。
具体的,电子设备可基于未编码影像画面帧中的独立模型数量、模型面积以及模型闭环数量,确定未编码影像画面帧的关键帧指数。
具体的,可通过下式计算未编码影像画面帧的关键帧指数:
其中C(i)为所有的独立模型,Ac是当前独立模型的模型面积,gc是当前独立模型的模型闭环数量,Amax是具有最大模型面积的独立模型的模型面积,gmax是具有最大模型闭环数量的独立模型的模型闭环数量。
这里的独立模型数量是指未编码影像画面帧中的人体独立3D模型的数量,由独立模型数量较多的未编码影像画面帧转换到独立模型数量较少的未编码影像画面帧是比较容易的。比如四个人的画面帧变成了三个人的画面帧,只需要对离开的那个人的信息删除即可;但是三个人的画面帧变成四个人的画面帧,电子设备是无法根据当前三个人的画面帧信息来推导出第四个人的画面帧信息的。因此独立模型数量较多的未编码影像画面帧的关键帧指数较高,即未编码影像画面帧中的每个独立模型均独立计算对应的关键帧指数。这里的独立模型是指分开独自站立的人,如果两个人抱在一起,还是按一个独立模型进行计算。
这里的模型面积是指对应独立模型的三角面网格的面积总和。这里的三角面网格是指构成独立模型的3D模型的可编辑网格面。如图2所示的兔子模型就是使用多个三角形的可编辑网格面构成的。
由模型面积较大的未编码影像画面帧转换到模型面积较小的未编码影像画面帧是比较容易的。比如用户a逐渐走远,只需要对用户a的模型逐渐缩小操作即可,这样并不会影响缩小后的用户a的模型的精度;但是用户a逐渐走近,通过小模型面积的用户a的模型来推导大模型面积的用户a的模型是极有可能产生错误的。因此模型面积较大的未编码影像画面帧的关键帧指数较高。同时为了避免模型面积在关键帧指数中的权重太大,这里使用最大模型面积Amax对当前独立模型的关键帧指数的模型面积分量进行修正,使该模型面积分量大于0且小于1。
这里的模型闭环数量是指对应独立模型中人体姿态形成的回环数量,如人体摆成“大”字形,则模型闭环数量为0;如人体双手叉腰,则模型闭环数量为2。
由于具有开环状态的人体姿态的未编码影像画面帧转换到具有闭环状态的人体姿态的未编码影像画面帧是比较容易的。如图3a和3b所示,比如用户a做一个抓脚动作,电子设备可基于用户a放手时的人体姿态(图3b)准确的预测出抓脚后的用户a的人体姿态(图3a)。但是用户a由抓脚状态转换到放手状态,这个放手状态的手掌和脚掌的高度、角度以及位置等参数均是不容易预测的。因此模型闭环数量较少的未编码影像画面帧的关键帧指数较高。同时这里使用具有最大模型闭环数量的独立模型的模型闭环数量gmax对关键帧指数中的模型闭环数量分量进行设置,保证了模型闭环数量分量的范围有效性。
随后电子设备将具有最大关键帧指数的未编码影像画面帧设定为关键画面帧。
在步骤S102,电子设备基于步骤S101获取的关键画面帧与前后未编码影像画面帧的匹配残差,确定与关键画面帧匹配的相关画面帧。
在本步骤中电子设备确定可以使用关键画面帧的几何信息进行编码的相关画面帧,该相关画面帧需要和关键画面帧的内容相似,即匹配残差较小。由于关键画面帧的前后未编码影像画面帧与关键画面帧相似的概率较高,因此从关键画面帧的前后未编码影像画面帧中查找对应的相关画面帧。
具体请参照图4,图4为本发明的动态全息影像编码方法的一实施例的步骤S102的流程图之一。该步骤S102包括:
步骤S401,电子设备获取关键画面帧的前n未编码影像画面帧,其中n的初始值为1;即获取关键画面帧的前一未编码影像画面帧。
步骤S402,电子设备获取关键画面帧与前n未编码影像画面帧的匹配残差。具体的,该匹配残差为:
E=Efit+αrigidErigid+αregEreg;
其中E为关键画面帧与前n未编码影像画面帧的匹配残差。
Efit为关键画面帧的像素点与前n未编码影像画面帧对应的像素点的欧氏距离之和,如图5所示,图5中的连线为关键画面帧中的某个像素点与前n未编码影像画面帧对应的像素点的欧氏距离,将图5中所有连线的距离相加即为欧氏距离之和Efit。
Erigid为关键画面帧向前n未编码影像画面帧变换时的刚体能量项,αrigid为预设的刚体能量项系数;即使用关键画面帧向前n未编码影像画面帧变换时,关键画面帧中对应像素点的平移变换量以及旋转变换量来表示转换的刚体能量项Erigid。
该刚体能量项Erigid可为:
其中t1、t2、t3为平移变换量,r1,1、r1,2、r1,3、r2,1、r2,2、r2,3、r3,1、r3,2、r3,3为旋转变换量。
Ereg为关键画面帧向前n未编码影像画面帧变换时的平滑项,αreg为预设的平滑项系数;即通过设置关键画面帧向前n未编码影像画面帧变换时,关键画面帧中相邻像素点的变化量的相似程度来限定平滑项Ereg。
该平滑项Ereg可为:
其中gk为关键画面帧中的像素点k的位置,gj为关键画面帧中的像素点j的位置,Aj为关键画面帧中的像素点j的旋转矩阵,tj为关键画面帧中的像素点k的平移矩阵,tj为关键画面帧中的像素点j的平移矩阵,像素点j和像素点k为相邻像素点,K为关键画面帧中的像素点的总数,ωjk为像素点j和像素点k之间的权重系数,默认为1/b,b为像素点j的相邻像素点的总数,ρ()为回归损失(huber loss)函数。
这样即可获取关键画面帧与前一未编码影像画面帧之间的匹配残差。
步骤S403,电子设备确定步骤S402获取的匹配残差小于等于设定值,则判定该前一未编码影像画面帧与关键画面帧的内容相似,可使用关键画面帧中的内容对前一未编码影像画面帧进行编码操作,因此将该前一未编码影像画面帧设定为关键画面帧匹配的相关画面帧。
随后执行n=n+1,返回到获取关键画面帧的前n未编码影像画面帧的步骤,从而获取到前二未编码影像画面帧,并计算关键画面帧与前二未编码影像画面帧之间的匹配残差,进而确定前二未编码影像画面帧是否为关键画面帧匹配的相关画面帧……直至关键画面帧与前n未编码影像画面帧之间的匹配残差大于设定值,则判定该前n未编码影像画面帧与关键画面帧的内容不相似,这时结束关键画面帧向前相邻的未编码影像画面帧的相关画面帧的确定过程。
具体请参照图6,图6为本发明的动态全息影像编码方法的一实施例的步骤S102的流程图之二。该步骤S102还包括:
步骤S601,电子设备获取关键画面帧的后n未编码影像画面帧,其中n的初始值为1;即获取关键画面帧的后一未编码影像画面帧。
步骤S602,电子设备获取关键画面帧与后n未编码影像画面帧的匹配残差。具体的匹配残差的计算方法如步骤S402所示。
步骤S603,电子设备确定步骤S602获取的匹配残差小于等于设定值,则判定该后一未编码影像画面帧与关键画面帧的内容相似,可使用关键画面帧中的内容对后一未编码影像画面帧进行编码操作,因此将该后一未编码影像画面帧设定为关键画面帧匹配的相关画面帧。
随后执行n=n+1,返回到获取关键画面帧的后n未编码影像画面帧的步骤,从而获取到后二未编码影像画面帧,并计算关键画面帧与后二未编码影像画面帧之间的匹配残差,进而确定后二未编码影像画面帧是否为关键画面帧匹配的相关画面帧……直至关键画面帧与后n未编码影像画面帧之间的匹配残差大于设定值,则判定该后n未编码影像画面帧与关键画面帧的内容不相似,这时结束关键画面帧向后相邻的未编码影像画面帧的相关画面帧的确定过程。
在步骤S103中,电子设备基于关键画面帧的几何信息,对关键画面帧进行编码操作。即电子设备基于关键画面帧中每个物体在展示空间中形状信息、尺寸信息以及位置信息对关键画面帧进行编码操作。
具体的,电子设备可以将关键画面帧的几何信息存储到动态全息影像视频流文件的网络提取层(Network Abstraction Layer)的补充增强信息(SupplementalEnhancement Information)中,这样以便电子设备进行动态全息影像视频流中关键画面帧的封装,即将动态全息影像的关键画面帧封装在MPEG-DASH媒体流中。
随后电子设备基于关键画面帧的几何信息以及相关画面帧与关键画面帧的差异信息,对相关画面帧进行编码操作。由于关键画面帧的几何信息已经进行了编码存储,因此这里只需要基于相关画面帧与关键画面帧中的对应物体在展示空间中的形状差异信息、尺寸差异信息以及位置差异信息对相关画面帧进行编码操作即可。
具体的,电子设备可以将相关画面帧与关键画面帧的差异信息存储到动态全息影像视频流文件的网络提取层(Network Abstraction Layer)的补充增强信息(Supplemental Enhancement Information)中,这样以便电子设备进行动态全息影像视频流中相关画面帧的封装,即将动态全息影像的相关画面帧封装在MPEG-DASH媒体流中。
这样即完成了动态全息影像中当前的具有最大关键帧指数的关键画面帧以及对应的相关画面帧的编码操作。
在步骤S104中,电子设备获取动态全息影像的剩下的未编码影像画面帧,并重复步骤S101至步骤S103,获取动态全息影像中其他的关键画面帧以及对应的相关画面帧,并对其他的关键画面帧以及对应的相关画面帧进行编码操作,直至所有的未编码影像画面帧编码完毕。
这样即完成了本实施例的动态全息影像编码方法的画面帧编码过程。
本实施例的动态全息影像编码方法基于动态全息影像中的关键画面帧进行动态全息影像的编码操作,可有效的减小编码后的存储数据量,且能够较好的对动态全息影像进行解码还原操作。
本发明还提供一种动态全息影像编码装置,请参照图7,图7为本发明的动态全息影像编码装置的一实施例的结构示意图。本实施例的动态全息影像编码装置可使用上述的动态全息影像编码方法进行实施。本实施的动态全息影像编码装置70包括关键画面帧设定模块71、相关画面帧确定模块72、编码模块73以及计时模块74。
关键画面帧设定模块71用于获取动态全息影像的未编码影像画面帧,并计算每个未编码影像画面帧的关键帧指数,将具有最大关键帧指数的未编码影像画面帧设定为关键画面帧;相关画面帧确定模块72用于基于关键画面帧与前后未编码影像画面帧的匹配残差,确定与关键画面帧匹配的相关画面帧;编码模块73用于基于关键画面帧的几何信息,对关键画面帧进行编码操作;并基于关键画面帧的几何信息以及相关画面帧与关键画面帧的差异信息,对相关画面帧进行编码操作;计时模块74用于在进行编码操作之后,返回到获取动态全息影像的未编码影像画面帧的步骤,直至所有未编码影像画面帧编码完毕。
请参照图8,图8为本发明的动态全息影像编码装置的一实施例的相关画面帧确定模块的结构示意图。该相关画面帧确定模块72包括前相邻画面帧获取单元81、第一匹配残差计算单元82、第一相关画面帧确定单元83、后相邻画面帧获取单元84、第二匹配残差计算单元85以及第二相关画面帧确定单元86。
前相邻画面帧获取单元81用于获取关键画面帧的前n未编码影像画面帧;第一匹配残差计算单元82用于计算关键画面帧与前n未编码影像画面帧的匹配残差;第一相关画面帧确定单元83用于如匹配残差小于等于设定值,则将前n未编码影像画面帧设定为关键画面帧匹配的相关画面帧,并执行n=n+1返回至获取前n未编码影像画面帧的步骤;如匹配残差大于设定值,则结束相关画面帧的确定过程;后相邻画面帧获取单元84用于获取关键画面帧的后n未编码影像画面帧;第二匹配残差计算单元85用于计算关键画面帧与后n未编码影像画面帧的匹配残差;第二相关画面帧确定单元86用于如匹配残差小于等于设定值,则将后n未编码影像画面帧设定为关键画面帧匹配的相关画面帧,并执行n=n+1返回至获取后n未编码影像画面帧的步骤;如匹配残差大于设定值,则结束相关画面帧的确定过程。
本实施例的动态全息影像编码装置70使用时,首先关键画面帧设定模块71获取待编码的动态全息影像的所有未编码影像画面帧。每个未编码影像画面帧均可包括多个人体独立3D模型,以便对影像画面帧中的人体姿态进行3D展示。
随后关键画面帧设定模块71计算每个未编码影像画面帧的关键帧指数,这里的关键帧指数是用于衡量该未编码影像画面帧转换为相似的未编码影像画面帧的难易程度。该关键帧指数越大,对应的未编码影像画面帧越容易转换为相似的未编码影像画面帧。
具体的,关键画面帧设定模块71可基于未编码影像画面帧中的独立模型数量、模型面积以及模型闭环数量,确定未编码影像画面帧的关键帧指数。
具体的,可通过下式计算未编码影像画面帧的关键帧指数:
其中C(i)为所有的独立模型,Ac是当前独立模型的模型面积,gc是当前独立模型的模型闭环数量,Amax是具有最大模型面积的独立模型的模型面积,gmax是具有最大模型闭环数量的独立模型的模型闭环数量。
随后关键画面帧设定模块71将具有最大关键帧指数的未编码影像画面帧设定为关键画面帧。
然后相关画面帧确定模块72基于获取的关键画面帧与前后未编码影像画面帧的匹配残差,确定与关键画面帧匹配的相关画面帧。
相关画面帧确定模块72确定可以使用关键画面帧的几何信息进行编码的相关画面帧,该相关画面帧需要和关键画面帧的内容相似,即匹配残差较小。由于关键画面帧的前后未编码影像画面帧与关键画面帧相似的概率较高,因此从关键画面帧的前后未编码影像画面帧中查找对应的相关画面帧。
获取关键画面帧向前相邻的相关画面帧的流程包括:
相关画面帧确定模块72的前相邻画面帧获取单元81获取关键画面帧的前n未编码影像画面帧,其中n的初始值为1;即获取关键画面帧的前一未编码影像画面帧。
相关画面帧确定模块72的第一匹配残差计算单元82获取关键画面帧与前n未编码影像画面帧的匹配残差。具体的,该匹配残差为:
E=Efit+αrigidErigid+αregEreg;
其中E为关键画面帧与前n未编码影像画面帧的匹配残差。Efit为关键画面帧的像素点与前n未编码影像画面帧对应的像素点的欧氏距离之和。Erigid为关键画面帧向前n未编码影像画面帧变换时的刚体能量项,αrigid为预设的刚体能量项系数。Ereg为关键画面帧向前n未编码影像画面帧变换时的平滑项,αreg为预设的平滑项系数。
这样即可获取关键画面帧与前一未编码影像画面帧之间的匹配残差。
相关画面帧确定模块72的第一相关画面帧确定单元83确定获取的匹配残差小于等于设定值,则判定该前一未编码影像画面帧与关键画面帧的内容相似,可使用关键画面帧中的内容对前一未编码影像画面帧进行编码操作,因此将该前一未编码影像画面帧设定为关键画面帧匹配的相关画面帧。
随后第一相关画面帧确定单元83执行n=n+1,返回到获取关键画面帧的前n未编码影像画面帧的步骤,从而获取到前二未编码影像画面帧,并计算关键画面帧与前二未编码影像画面帧之间的匹配残差,进而确定前二未编码影像画面帧是否为关键画面帧匹配的相关画面帧……直至关键画面帧与前n未编码影像画面帧之间的匹配残差大于设定值,则判定该前n未编码影像画面帧与关键画面帧的内容不相似,这时第一相关画面帧确定单元83结束关键画面帧向前相邻的未编码影像画面帧的相关画面帧的确定过程。
获取关键画面帧向后相邻的相关画面帧的流程包括:
相关画面帧确定模块72的后相邻画面帧获取单元84获取关键画面帧的后n未编码影像画面帧,其中n的初始值为1;即获取关键画面帧的后一未编码影像画面帧。
相关画面帧确定模块72的第二匹配残差计算单元85的获取关键画面帧与后n未编码影像画面帧的匹配残差。
相关画面帧确定模块72的第二相关画面帧确定单元86确定获取的匹配残差小于等于设定值,则判定该后一未编码影像画面帧与关键画面帧的内容相似,可使用关键画面帧中的内容对后一未编码影像画面帧进行编码操作,因此将该后一未编码影像画面帧设定为关键画面帧匹配的相关画面帧。
随后第二相关画面帧确定单元86执行n=n+1,返回到获取关键画面帧的后n未编码影像画面帧的步骤,从而获取到后二未编码影像画面帧,并计算关键画面帧与后二未编码影像画面帧之间的匹配残差,进而确定后二未编码影像画面帧是否为关键画面帧匹配的相关画面帧……直至关键画面帧与后n未编码影像画面帧之间的匹配残差大于设定值,则判定该后n未编码影像画面帧与关键画面帧的内容不相似,这时第二相关画面帧确定单元86结束关键画面帧向后相邻的未编码影像画面帧的相关画面帧的确定过程。
然后编码模块73基于关键画面帧的几何信息,对关键画面帧进行编码操作。即电子设备基于关键画面帧中每个物体在展示空间中形状信息、尺寸信息以及位置信息对关键画面帧进行编码操作。
具体的,编码模块73可以将关键画面帧的几何信息存储到动态全息影像视频流文件的网络提取层(Network Abstraction Layer)的补充增强信息(SupplementalEnhancement Information)中,这样以便编码模块73进行动态全息影像视频流中关键画面帧的封装,即将动态全息影像的关键画面帧封装在MPEG-DASH媒体流中。
编码模块73基于关键画面帧的几何信息以及相关画面帧与关键画面帧的差异信息,对相关画面帧进行编码操作。由于关键画面帧的几何信息已经进行了编码存储,因此这里只需要基于相关画面帧与关键画面帧中的对应物体在展示空间中的形状差异信息、尺寸差异信息以及位置差异信息对相关画面帧进行编码操作即可。
具体的,编码模块73可以将相关画面帧与关键画面帧的差异信息存储到动态全息影像视频流文件的网络提取层(Network Abstraction Layer)的补充增强信息(Supplemental Enhancement Information)中,这样以便编码模块73进行动态全息影像视频流中相关画面帧的封装,即将动态全息影像的相关画面帧封装在MPEG-DASH媒体流中。
这样即完成了动态全息影像中当前的具有最大关键帧指数的关键画面帧以及对应的相关画面帧的编码操作。
最后计时模块74返回到关键画面帧设定模块71,获取动态全息影像的剩下的未编码影像画面帧,并重复上述关键画面帧设定模块71的关键画面帧的获取流程、相关画面帧确定模块72的相关画面帧的确定流程以及编码模块73的画面帧的编码流程;即获取动态全息影像中其他的关键画面帧以及对应的相关画面帧,并对其他的关键画面帧以及对应的相关画面帧进行编码操作,直至所有的未编码影像画面帧编码完毕。
这样即完成了本实施例的动态全息影像编码装置70的画面帧编码过程。
本发明的动态全息影像编码方法及装置基于动态全息影像中的关键画面帧进行动态全息影像的编码操作,可有效的减小编码后的存储数据量,且能够较好的对动态全息影像进行解码还原操作;有效解决了现有的动态全息影像编码方法的存储数据量巨大,不能满足实时在网络上推流播放的技术问题。
如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
图9和随后的讨论提供了对实现本发明所述的动态全息影像编码装置所在的电子设备的工作环境的简短、概括的描述。图9的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备912包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图9图示了包括本发明的动态全息影像编码装置中的一个或多个实施例的电子设备912的实例。在一种配置中,电子设备912包括至少一个处理单元916和存储器918。根据电子设备的确切配置和类型,存储器918可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图9中由虚线914图示。
在其他实施例中,电子设备912可以包括附加特征和/或功能。例如,设备912还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图9中由存储装置920图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置920中。存储装置920还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器918中由例如处理单元916执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器918和存储装置920是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备912访问的任何其他介质。任意这样的计算机存储介质可以是电子设备912的一部分。
电子设备912还可以包括允许电子设备912与其他设备通信的通信连接926。通信连接926可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备912连接到其他电子设备的其他接口。通信连接926可以包括有线连接或无线连接。通信连接926可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备912可以包括输入设备924,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备912中也可以包括输出设备922,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备924和输出设备922可以经由有线连接、无线连接或其任意组合连接到电子设备912。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备912的输入设备924或输出设备922。
电子设备912的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备912的组件可以通过网络互连。例如,存储器918可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络928访问的电子设备930可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备912可以访问电子设备930并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备912可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备912处执行并且一些指令可以在电子设备930处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。