一种虚拟多视点视频生成方法转让专利

申请号 : CN201710841434.8

文献号 : CN107493465B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马建荣贺振东刘洁王才东陈鹿民王玉川马斌智李浚源郑晓路李江王平李军李国敏

申请人 : 郑州轻工业学院河南三阳光电有限公司

摘要 :

本发明公开了一种虚拟多视点视频生成方法,步骤如下:步骤S1,获取单帧图像。步骤S2,得到左视点视图和右视点视图。步骤S3,预处理。步骤S4,获取搜索稠密点初始视差。步骤S5,搜索匹配点,并计算每对匹配点之间的视差。步骤S6,线性插值得到高分辨率的匹配点视差。步骤S7,得到虚拟多视点图像。步骤S8,将虚拟多视点图像压缩成视频格式,送显存播放。本发明需要获取稠密的视差数据,所以用均值代替单点数据可以提高视差搜索的准确度,提高算法稳定性。然后按照几何光学的光线直线传播原理计算出虚拟的其它视点视差,进而由这些虚拟视差生成虚拟多视点图像。本发明是利用现有的两视点3D视频,通过数字计算方式得到其它视点的图像,从而低成本实现多视点3D视频制作。

权利要求 :

1.一种虚拟多视点视频生成方法,其特征在于,步骤如下:步骤S1,获取两视点3D视频,并解码得到若干个对应的单帧图像;

步骤S2,对每个单帧图像进行分割得到左视点视图和右视点视图;

步骤S3,对步骤S2中的每个左视点视图和相对应的右视点视图分别进行预处理;

S3.1,建立卷积模板;所述卷积模板为奇数大小的椭圆形模板f1;所述椭圆形模板f1为S3.2,将椭圆形模板f1与每个左视点视图进行卷积得到初步处理的左视点视图IL;

S3.3,设定椭圆形模板f1窗口的大小,并对初步处理后的IL的每一像素点以椭圆形模板f1的窗口中心为基准求窗口均值,并用窗口均值代替初步处理后的左视点视图的单点数据,得到二次处理后的左视点视图IL′;

S3.4,对二次处理后的左视点视图进行极线校正,得到矫正后的左视点视图;

S3.5,将椭圆形模板f1与左视点视图相对应的右视点视图进行卷积得到初步处理的右视点视图IR;

S3.6,对初步处理后的右视点视图中的每一像素点按椭圆形模板f1窗口大小求均值,并用均值代替初步处理后的右视点视图的单点数据得到二次处理后的右视点视图IR′;

S3.7,对二次处理后的右视点视图进行极线校正得到矫正后的右视点视图;

步骤S4,对步骤S3中同一帧的矫正后的左/右视点视图进行图像分块并计算每个图像块的视差值,将图像块的视差值作为搜索稠密点初始视差;

步骤S5,利用S4所得初始视差,搜索矫正后的左/右视点视图中的每一点在矫正后的右/左视点视图中相对应的匹配点,并计算每对匹配点之间的视差;

步骤S6,根据步骤S5得到的匹配点视差,通过线性插值得到高分辨率的匹配点视差;

步骤S7,根据步骤S6得到的通过线性插值得到的视差计算出高分辨率的虚拟多视点图像;

步骤S8,将步骤S7得到的虚拟多视点图像压缩成视频格式,送显存播放。

2.根据权利要求1所述的虚拟多视点视频生成方法,其特征在于,在步骤S3.3中,具体步骤为:S3.3.1,将椭圆形模板f1的中心与初步处理的左视点视图IL的第一点对齐,将椭圆形模板f1与左视点视图IL相乘,并将相乘的结果求平均值,用所得均值代替左视点视图IL第一点的值;

S3.3.2,重复步骤S3.3.1,直至得到每一点的均值,进而得到二次处理后的左视点视图IL′;

在步骤S3.6中,具体步骤为:S3.6.1,将椭圆形模板f1的中心与初步处理的右视点视图IR的第一点对齐,将椭圆形模板f1与右视点视图IR相乘,并将相乘的结果求平均值,用所得均值代替右视点视图IR第一点的值;

S3.6.2,重复步骤S3.6.1,直至得到每一点的均值,进而得到二次处理后的右视点视图IR′。

3.根据权利要求1所述的虚拟多视点视频生成方法,其特征在于,在步骤S4中,具体步骤为:S4.1,将矫正后的左/右视点视图分割成n×n大小的图像块;S4.2,对每个图像块从中心开始按左右方向搜索,得到每个图像块相关系数最大的位置,该位置就是当前图像块的视差值,并将该视差值作为搜索稠密点视差的初始值。

4.根据权利要求1所述的虚拟多视点视频生成方法,其特征在于:在步骤S5中,对矫正后的左/右视点视图中的每一点A(xi,yi)在矫正后的右/左视点视图中同一行搜索颜色最接近点B(xj,yi),B点为A点的匹配点,A点与B点的横坐标之差为这两个匹配点之间的视差,视差公式为:dAB=xj-xi;依次搜索每一点,得到所有匹配点对应的视差。

5.根据权利要求1所述的虚拟多视点视频生成方法,其特征在于,在步骤S6中,根据步骤S5得到了i点和i+1点的视差di和di+1,在这两点之间插值得到n个点的视差,则线性插入的n个点的视差分别为di+(di+1-di)×1/n,di+(di+1-di)×2/n,…,di+(di+1-di)×(n-1)/n,di+(di+1-di)。

6.根据权利要求1所述的虚拟多视点视频生成方法,其特征在于,在步骤S7中,虚拟图像的每一点颜色可由左图或者右图插值生成,左图插值的计算公式为Ii(x,y)=IL(x+αdRL(x,y));

其中,(x,y)是插值的目标视图中点的坐标,α为插值步长系数,由当前插值图像的视点序号决定,α∈(0,1),dRL(x,y)为左右视差;

右图插值的计算公式为Ii(x,y)=IR(x+(1-α)dLR(x,y),y);

其中(x,y)是插值的目标视图中点的坐标,α为插值步长系数,由当前插值图像的视点序号决定,α∈(0,1),dLR(x,y)是右左视差。

说明书 :

一种虚拟多视点视频生成方法

技术领域

[0001] 本发明属于视频制作技术领域,具体涉及一种虚拟多视点视频生成方法。

背景技术

[0002] 人眼具有双目的生理特点,使得人们对空间物体有立体感知。3D视频相对于常见的单视点2D视频而言,能带给人们身临其境的立体感受。传统的3D视频观察需要利用偏振光或者红蓝光原理,给左右眼分别传送带视差的偏振或者红蓝视频信息,由大脑合成立体图像。观察这种3D视频必须配带偏振眼镜或者红蓝眼镜,使人感觉有些不舒服。裸眼3D视频(或自由立体视频)是利用视差屏障或光学折射原理将视差图像分送到人的左右眼,从而产生立体感,观察这种视频无需戴辅助眼镜。
[0003] 在裸眼3D显示领域,两视点3D显示是最早发展起来的一种立体显示技术,目前用于这种显示的视频源比较多,例如传统的3D视频源即可应用于裸眼3D领域。这种视频的拍摄成本低,但由于受到视点个数的限制,视频包含的立体层次少,观察者只能将自己调整到特定位置,才能使双眼观察到正确的3D视频;如果在观看过程中观察者改变位置,在这个过程中会感觉画面立体层次跳跃太快,使观察者感觉突兀跳跃等不舒服感觉。

发明内容

[0004] 本发明要解决的是两视点3D视频观看位置受限,观看不舒服等技术问题,从而提供一种虚拟多视点视频生成方法,该方法充分利用现有的两视点视频源,根据观察者位置变化而生成虚拟的多视点3D视频,改善观察的立体效果,具有沉浸感,用户可以自由切换观看角度。
[0005] 为解决上述技术问题,本发明所采用的技术方案如下:
[0006] 一种虚拟多视点视频生成方法,步骤如下:步骤S1,获取两视点3D视频,并解码得到若干个对应的单帧图像。
[0007] 步骤S2,对每个单帧图像进行分割得到左视点视图和右视点视图。
[0008] 步骤S3,对步骤S2中的每个左视点视图和相对应的右视点视图分别进行预处理。S3.1,建立卷积模板所述卷积模板为奇数大小的椭圆形模板f1;所述椭圆形模板f1为[0009] S3.2,将椭圆形模板f1与每个左视点视图进行卷积得到初步处理的左视点视图IL。
[0010] S3.3,设定椭圆形模板f1窗口的大小,并对初步处理后的IL的每一像素点以椭圆形模板f1的窗口中心为基准求窗口均值,并用窗口均值代替初步处理后的左视点视图的单点数据,得到二次处理后的左视点视图ILˊ。
[0011] 具体步骤为:S3.3.1,将椭圆形模板f1的中心与初步处理的左视点视图IL的第一点对齐,将椭圆形模板f1与左视点视图IL相乘,并将相乘的结果求平均值,用所得均值代替左视点视图IL第一点的值。
[0012] S3.3.2,重复步骤S3.3.1,直至得到每一点的均值,进而得到二次处理后的左视点视图ILˊ。
[0013] S3.4,对二次处理后的左视点视图进行极线校正,得到矫正后的左视点视图。所述极线校正采用的是Bouguet或者Fusiello极线校正,极线校正是为了降低视差搜索的运算量,提高运算速度。
[0014] S3.5,将椭圆形模板f1与左视点视图相对应的右视点视图进行卷积得到初步处理的右视点视图IR。
[0015] S3.6,对初步处理后的右视点视图中的每一像素点按椭圆形模板f1窗口大小求均值,并用均值代替初步处理后的右视点视图的单点数据得到二次处理后的右视点视图IRˊ。
[0016] 具体步骤为:S3.6.1,将椭圆形模板f1的中心与初步处理的右视点视图IR的第一点对齐,将椭圆形模板f1与右视点视图IR相乘,并将相乘的结果求平均值,用所得均值代替右视点视图IR第一点的值。
[0017] S3.6.2,重复步骤S3.6.1,直至得到每一点的均值,进而得到二次处理后的右视点视图IRˊ。
[0018] S3.7,对二次处理后的右视点视图进行极线校正得到矫正后的右视点视图。所述极线校正采用的是Bouguet或者Fusiello极线校正,极线校正是为了降低视差搜索的运算量,提高运算速度。
[0019] 步骤S4,对步骤S3中同一帧的矫正后的左/右视点视图进行图像分块并计算每个图像块的视差值,将图像块的视差值作为搜索稠密点初始视差。
[0020] 在步骤S4中,具体步骤为:S4.1,将矫正后的左/右视点视图分割成n×n大小的图像块;对于1080P的图像,n通常取4或5就可以满足效率和精度要求。
[0021] S4.2,对每个图像块从中心开始按左右方向搜索,得到每个图像块相关系数最大的位置,该位置就是当前图像块的视差值,并将该视差值作为搜索稠密点视差的初始值。
[0022] 步骤S5,利用S4所得初始视差,搜索矫正后的左/右视点视图中的每一点在矫正后的右/左视点视图中相对应的匹配点,并计算每对匹配点之间的视差。
[0023] 对矫正后的左/右视点视图中的每一点A(xi,yi)在矫正后的右/左视点视图中同一行搜索颜色最接近点B(xj,yi),B点为A点的匹配点,A点与B点的横坐标之差为这两个匹配点之间的视差,视差公式为:dAB=xj-xi;依次搜索每一点,得到所有匹配点对应的视差。
[0024] 步骤S6,根据步骤S5得到的匹配点视差,通过线性插值得到高分辨率的匹配点视差。
[0025] 根据步骤S5可得到i点和i+1点的视差di和di+1,如果要在这两点之间插值得到n个点的视差,则线性插入的n个点的视差分别为di+(di+1-di)×1/n,di+(di+1-di)×2/n,…,di+(di+1-di)×(n-1)/n,di+(di+1-di)。
[0026] 步骤S7,根据步骤S6得到的通过线性插值得到的视差计算出高分辨率的虚拟多视点图像。
[0027] 虚拟图像的每一点颜色可由左图或者右图插值生成,左图插值的计算公式为Ii(x,y)=IL(x+αdRL(x,y));
[0028] 其中,(x,y)是插值的目标视图中点的坐标,α为插值步长系数,由当前插值图像的视点序号决定,α∈(0,1),dRL(x,y)为左右视差。
[0029] 右图插值的计算公式为Ii(x,y)=IR(x+(1-α)dLR(x,y),y);
[0030] 其中(x,y)是插值的目标视图中点的坐标,α为插值步长系数,由当前插值图像的视点序号决定,α∈(0,1),dLR(x,y)是右左视差。
[0031] 步骤S8,将步骤S7得到的虚拟多视点图像压缩成视频格式,送显存播放。
[0032] 本发明由两视点3D视频的每一帧计算出同一帧的两幅图像之间的视差,由于视频的每一帧都是单次拍摄的数据,根据测量理论,单次测量的准确度不高,本发明需要获取稠密的视差数据,所以用均值代替单点数据可以提高视差搜索的准确度,提高算法稳定性。然后按照几何光学的光线直线传播原理计算出虚拟的其它视点视差,进而由这些虚拟视差生成虚拟多视点图像。和实际拍摄的多视点视频不同,实际拍摄的多视点视频是利用多个摄像机对同一场景进行拍摄所得,制作成本很高。本发明是利用现有的两视点3D视频,通过数字计算方式得到其它视点的图像,从而低成本实现多视点3D视频制作。

附图说明

[0033] 图1为本发明单帧两视点图像。
[0034] 图2为本发明单帧左右视点分割图像。
[0035] 图3为本发明卷积运算过程图。
[0036] 图4为本发明实际采集图像基线偏差图。
[0037] 图5为本发明左视点图像分割过程。
[0038] 图6为本发明右视点图像分割过程。
[0039] 图7为本发明搜索过程图。
[0040] 图8为本发明高分辨率的虚拟多视点图像。

具体实施方式

[0041] 一种虚拟多视点视频生成方法,步骤如下:步骤S1,获取两视点3D视频,并解码得到若干个对应的单帧图像。
[0042] 步骤S2,对每个单帧图像进行分割得到左视点视图和右视点视图。
[0043] 步骤S3,对步骤S2中的每个左视点视图和相对应的右视点视图分别进行预处理。
[0044] S3.1,建立卷积模板所述卷积模板为奇数大小的椭圆形模板f1;所述椭圆形模板f1为
[0045] S3.2,将椭圆形模板f1与每个左视点视图进行卷积得到初步处理的左视点视图IL。
[0046] S3.3,设定椭圆形模板f1窗口的大小,并对初步处理后的IL的每一像素点以椭圆形模板f1的窗口中心为基准求窗口均值,并用窗口均值代替初步处理后的左视点视图的单点数据,得到二次处理后的左视点视图ILˊ。
[0047] 具体步骤为:S3.3.1,将椭圆形模板f1的中心与初步处理的左视点视图IL的第一点对齐,将椭圆形模板f1与左视点视图IL相乘,并将相乘的结果求平均值,用所得均值代替左视点视图IL第一点的值。
[0048] S3.3.2,重复步骤S3.3.1,直至得到每一点的均值,进而得到二次处理后的左视点视图ILˊ。
[0049] S3.4,对二次处理后的左视点视图进行极线校正,得到矫正后的左视点视图。所述极线校正采用的是Bouguet或者Fusiello极线校正,极线校正是为了降低视差搜索的运算量,提高运算速度。
[0050] S3.5,将椭圆形模板f1与左视点视图相对应的右视点视图进行卷积得到初步处理的右视点视图IR。
[0051] S3.6,对初步处理后的右视点视图中的每一像素点按椭圆形模板f1窗口大小求均值,并用均值代替初步处理后的右视点视图的单点数据得到二次处理后的右视点视图IRˊ。
[0052] 具体步骤为:S3.6.1,将椭圆形模板f1的中心与初步处理的右视点视图IR的第一点对齐,将椭圆形模板f1与右视点视图IR相乘,并将相乘的结果求平均值,用所得均值代替右视点视图IR第一点的值。
[0053] S3.6.2,重复步骤S3.6.1,直至得到每一点的均值,进而得到二次处理后的右视点视图IRˊ。
[0054] S3.7,对二次处理后的右视点视图进行极线校正得到矫正后的右视点视图。所述极线校正采用的是Bouguet或者Fusiello极线校正,极线校正是为了降低视差搜索的运算量,提高运算速度。
[0055] 步骤S4,对步骤S3中同一帧的矫正后的左/右视点视图进行图像分块并计算每个图像块的视差值,将图像块的视差值作为搜索稠密点初始视差。
[0056] 在步骤S4中,具体步骤为:S4.1,将矫正后的左/右视点视图分割成n×n大小的图像块;对于1080P的图像,n通常取4或5就可以满足效率和精度要求。
[0057] S4.2,对每个图像块从中心开始按左右方向搜索,得到每个图像块相关系数最大的位置,该位置就是当前图像块的视差值,并将该视差值作为搜索稠密点视差的初始值。
[0058] 步骤S5,利用S4所得初始视差,搜索矫正后的左/右视点视图中的每一点在矫正后的右/左视点视图中相对应的匹配点,并计算每对匹配点之间的视差。
[0059] 对矫正后的左/右视点视图中的每一点A(xi,yi)在矫正后的右/左视点视图中同一行搜索颜色最接近点B(xj,yi),B点为A点的匹配点,A点与B点的横坐标之差为这两个匹配点之间的视差,视差公式为:dAB=xj-xi;依次搜索每一点,得到所有匹配点对应的视差。
[0060] 步骤S6,根据步骤S5得到的匹配点视差,通过线性插值得到高分辨率的匹配点视差。
[0061] 根据步骤S5可得到i点和i+1点的视差di和di+1,如果要在这两点之间插值得到n个点的视差,则线性插入的n个点的视差分别为di+(di+1-di)×1/n,di+(di+1-di)×2/n,…,di+(di+1-di)×(n-1)/n,di+(di+1-di)。
[0062] 步骤S7,根据步骤S6得到的通过线性插值得到的视差计算出高分辨率的虚拟多视点图像。
[0063] 虚拟图像的每一点颜色可由左图或者右图插值生成,左图插值的计算公式为Ii(x,y)=IL(x+αdRL(x,y));
[0064] 其中,(x,y)是插值的目标视图中点的坐标,α为插值步长系数,由当前插值图像的视点序号决定,α∈(0,1),dRL(x,y)为左右视差。
[0065] 右图插值的计算公式为Ii(x,y)=IR(x+(1-α)dLR(x,y),y);
[0066] 其中(x,y)是插值的目标视图中点的坐标,α为插值步长系数,由当前插值图像的视点序号决定,α∈(0,1),dLR(x,y)是右左视差。
[0067] 步骤S8,将步骤S7得到的虚拟多视点图像压缩成视频格式,送显存播放。
[0068] 下面以一个具体事例对本发明进行说明。
[0069] 1)、把两视点3D视频解码,得到对应的单帧图像,如图1所示;
[0070] 2)、由单帧图像分割出左右视点图像,如图2所示;
[0071] 3)、对左右视点图像进行预处理。
[0072] ①取奇数大小椭圆形模板,分别对左右视点图像进行卷积运算;卷积运算过程如图3所示。
[0073] ②按照模板窗口大小用卷积的数据对每一点按窗口求均值,用均值代替原图的单点数据。由于视频的每一帧都是单次拍摄的数据,根据测量理论,单次测量的准确度不高,本方法需要获取稠密的视差数据,所以用均值代替单点数据可以提高视差搜索的准确度,提高算法稳定性。
[0074] ③对同一帧左右视点图像分别进行基线校正,降低视差搜索的运算量,提高运算速度。实际图像采集存在基线偏差如图4所示。
[0075] 极线校正是使左右视点图像的基线相互平行或重合,从而消除高度方向视察搜索,达到提高运算速度的目的。
[0076] 4)将基线校正后的同帧左右图像分割成4×4大小的块,由对应每块的中心开始按左右方向搜索,得到每一块相关系数最大的位置,此位置即对应了每块的视差值,将此值作为搜索稠密点视差的初始值。左视点图像分割过程如图5所示,右视点图像分割过程如图6所示,搜索过程如图7所示。
[0077] 5)利用4)所得初始视差,对左视点视图中每一点A(xi,yi)在右视点视图中同一行搜索颜色最接近点B(xj,yi),B点即为A点的匹配点,A、B两点的横坐标之差即为这两个匹配点之间的视差,即dAB=xj-xi。依次搜索每一点,得到所有匹配点对应的视差。同理也可以以右图为基准,在左图搜索匹配点。
[0078] 6)利用5)所得到的视差,如分辨率为1080×960,通过线性插值运算,得到高分辨率视差,如1920×1080。
[0079] 7)利用6)得到的高分辨率视差,插值得到高分辨率的虚拟多视点图像,如图8所示。
[0080] 8)将得到的虚拟多视点图像压缩成视频格式,送显存播放。