用于视频2d转3d的自动补图方法

文档序号:10726360阅读:271来源:国知局
用于视频2d转3d的自动补图方法
【专利摘要】本发明提供一种用于视频2D转3D的自动补图方法,包括:获取视频每一帧的原始图片,并根据原始图片获得深度图片;对获得的深度图片进行定向平滑处理获得定向平滑后的深度图片;根据定向平滑后的深度图片对原始图片、深度图片进行转制获得左右图。本发明提供的一种用于视频2D转3D的自动补图方法,通过根据原始图片获得深度图片;对获得的深度图片进行左右、上下和边缘定向平滑处理获得定向平滑后的深度图片;根据定向平滑后的深度图片对原始图片、深度图片进行转制获得左右图,达到了对视频2D转3D过程中出现图像空洞的有效填充,较高效率的完成自动补图工作。
【专利说明】
用于视频2D转3D的自动补图方法
技术领域
[0001] 本发明涉及视频图像处理技术领域,尤其涉及一种用于视频2D转3D的自动补图方 法。
【背景技术】
[0002] 视频(单帧图片)2d转3d的根本目的就是由单一角度的视频出发,转换出多个角度 之间有视差的多个视频(单帧图片)。在通过位移像素产生视差的过程中,不可避免的会产 生空洞,而后要通过某种方式对空洞进行填充。
[0003] 现有的自动图像修补方法主要有非线性滤波方法、贝叶斯方法、小波和谱分析方 法、基于纹理结构的修补方法和统计方法等,但这些是针对受损图像进行修补,不能满足2d 转3d的过程中对空洞的填充。
[0004] 而采用手动的修补方法,如在Photoshop,Nuke等软件中使用仿制图章进行修补 等,这种补图方式能满足2d转3d的过程中对空洞的填充,但是费时费力。

【发明内容】

[0005] 本发明提供一种用于视频2D转3D的自动补图方法,用于解决现有技术中不能对图 像进行有效修补的问题。
[0006] 本发明提供一种用于视频2D转3D的自动补图方法,其特征在于,包括:
[0007] 获取视频每一帧的原始图片,并根据原始图片获得深度图片;
[0008] 对获得的深度图片进行定向平滑处理获得定向平滑后的深度图片;
[0009] 根据定向平滑后的深度图片对原始图片、深度图片进行转制获得左右图。
[0010] 2、根据权利要求1所述的方法,其特征在于,所述对获得的深度图片进行定向平滑 处理获得定向平滑后的深度图片,包括:
[0011] 对获得的深度图的深度进行分配获得左深度图和右深度图;
[0012] 对左深度图和右深度图进行至少两次以上的左右定向平滑、上下定向平滑处理获 得深度图内部定向平滑后的左深度图和右深度图;
[0013] 对深度图内部定向平滑后的左深度图和右深度图进行边缘定向平滑处理获得定 向平滑后的左深度图和右深度图。
[0014] 3、根据权利要求2所述的方法,其特征在于,所述对左深度图和右深度图进行至少 两次以上的左右定向平滑、上下定向平滑处理获得深度图内部定向平滑后的左深度图和右 深度图,包括:
[0015] S31、对左深度图或右深度图的每一行从左到右或从右到左逐个像素扫描;
[0016] S32、判断相邻两个像素是否均有深度值,若没有,则转入步骤S31;若有,则转入步 骤 S33;
[0017] S33、判断相邻两个像素左边比右边或右边比左边距离观察者是否远预设个数的 深度值,若不满足,则转入步骤S31;若满足,则转入步骤S34,其中深度值为0时,像素位于屏 幕上,深度值为负值时为出屏效果,深度值为正值时为入屏效果,数值越小距离观察者越 近;
[0018] S34、计算相邻两个像素的深度差,以右像素深度值为基础,从右向左每移动一个 像素,右像素深度值加上一个深度值并进行赋值,直到大于左像素的深度值或大于当前位 置的深度值后停止赋值,同时记录赋值的像素位置,并转入步骤S31;以左像素深度值为基 础,从左向右每移动一个像素,左像素深度值加上一个深度值并进行赋值,直到大于右像素 的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,并转入步骤 S31;
[0019] S35、当前行扫描完毕后进行下一行的扫描。
[0020] 4、根据权利要求3所述的方法,其特征在于,所述对左深度图和右深度图进行至少 两次以上的左右定向平滑、上下定向平滑处理获得深度图内部定向平滑后的左深度图和右 深度图,包括:
[0021] S41、对经过左右定向平滑的左深度图和右深度图的每一列从下到上或从上到下 逐个像素扫描;
[0022] S42、判断当前所扫描的像素是否为左右平滑过程中赋值的像素,若不是,则转入 步骤S41;若有,转入步骤S43;
[0023] S43、判断当前所扫描的像素和其上方相邻的像素是否均有深度值,若没有,则转 入步骤S41;若有,转入步骤S44;
[0024] S44、判断相邻两个像素上边比下边或下边比上边距离观察者是否远预设个数的 深度值,若不满足,则转入步骤S41;若满足,则转入步骤S45,其中深度值为0时,像素位于屏 幕上,深度值为负值时为出屏效果,深度值为正值时为入屏效果,数值越小距离观察者越 近;
[0025] S45、计算上下相邻两个像素的深度差,以下像素的深度值为基础,从下向上每移 动一个像素,下像素深度值加上一个深度值并进行赋值,直到大于上像素的深度值或大于 当前位置的深度值后停止赋值,同时记录赋值的像素位置,并转入步骤S41;以上像素的深 度值为基础,从上向下每移动一个像素,上像素深度值加上一个深度值并进行赋值,直到大 于下像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,并转 入步骤S41;
[0026] S46、当前列扫描完毕后进行下一列的扫描。
[0027] 5、根据权利要求4所述的方法,其特征在于,对深度图内部定向平滑后的左深度图 和右深度图进行边缘定向平滑处理获得定向平滑后的左深度图和右深度图,包括:
[0028] S51、对经过左右定向平滑和上下定向平滑处理后的左深度图和右深度图进行从 左到右或从右到左逐行扫描;
[0029] S52、左深度图将最右像素深度值设置为0,若最右像素的当前深度值小于0,则停 止赋值,若最右像素的当前深度值大于〇,则从右向左每移动一个像素加上一个深度值并进 行赋值,直到大于当前位置的深度值停止赋值;将最左像素深度值设置为〇,若最左像素的 当前深度值大于〇,则停止赋值,若最左像素的当前深度值小于〇,则从左向右每移动一个像 素减去一个深度值并进行赋值,直到小于当前位置的深度值停止赋值;
[0030] 右深度图将最右像素深度值设置为0,若最右像素的当前深度值大于0,则停止赋 值,若最右像素的当前深度值小于0,则从右向左每移动一个像素减去一个深度值并进行赋 值,直到小于当前位置的深度值停止赋值;将最左像素深度值设置为0,若最左像素的当前 深度值小于0,则停止赋值,若最左像素的当前深度值大于0,则从左向右每移动一个像素加 上一个深度值并进行赋值,直到大于当前位置的深度值停止赋值;
[0031] S53、直到所有行扫描完毕。
[0032] 6、根据权利要求5所述的方法,其特征在于,还包括:对定向平滑处理后的左深度 图和右深度图进行粘连消除处理,包括:
[0033] 将原始深度图与转换左眼或右眼的定向平滑深度图进行像素做差,获得差别深度 图;
[0034] 将获得的差别深度图加在右眼或左眼的定向平滑深度图得到右眼或左眼最终的 定向平滑深度图。
[0035] 7、根据权利要求1、4或6所述的方法,其特征在于,所述根据定向平滑后的深度图 片对原始图片、深度图片进行转制获得左右图,包括:
[0036] S61、采用从左到右或从右到左方式分别对定向平滑后的深度图片、深度图片和原 始图片进行逐个像素赋值;
[0037] S62、当从左到右进行赋值,则判断原始图片的当前像素是否为当前行的最后一个 像素,若是,则选择当前像素的左侧像素为相邻像素,若不是,则选择当前像素的右侧像素 为相邻像素;当从右到左进行赋值,则判断原始图片的当前像素是否为当前行的最后一个 像素,若是,则选择当前像素的右侧像素为相邻像素,若不是,则选择当前像素的左侧像素 为相邻像素;
[0038] S63、判断当前像素的alpha通道是否大于0,若不大于则转入步骤S61,若大于,则 转入步骤S64;
[0039] S64、获得当前像素对应的深度值和平滑后的深度值,并对当前像素深度值进行取 整,判断根据取整后数值进行位移后的当前像素位置是否在图像之内,若不在,则转入步骤 S61,若在,则转入步骤S65;
[0040] S65、根据原始图片的当前像素与相邻像素采用深度值小数位加权方式进行位移 赋值,以及根据定向平滑后的深度图片和原始深度图片的当前像素与原始图片的当前像素 同时进行位移赋值,并分别判断位移后的像素位置是否进行过赋值,或判断原始图片当前 深度值是否小于要进行赋值位置的深度值,若不存在赋值,则位移后的像素直接覆盖该像 素位置,若原始图片当前深度值小于要进行赋值位置的深度值,则位移后的像素直接覆盖 该像素位置;反之,转入步骤S61;
[0041] S66、当左图进行从左到右位移赋值时,判断当前像素在位移后的像素深度值是否 比上一个像素位移后的像素深度值小,或从右到左位移赋值时,判断当前像素在位移后的 像素深度值是否比上一个像素位移后的像素深度值大,若是,则对原始图片根据像素转制 公式对位移后的当前像素与位移后的上一个像素之间的像素位置点进行赋值,对原始深度 图和平滑后的深度图采用位移后当前像素与位移后的上一个像素相比较大的深度值对两 者之间的像素位置点进行赋值;反之,转入步骤S61;当右图进行从左到右位移赋值时,判断 当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值大,或从右到左位 移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值 小,若是,则对原始图片根据像素转制公式对位移后的当前像素与位移后的上一个像素之 间的像素位置点进行赋值,对原始深度图和平滑后的深度图采用位移后当前像素与位移后 的上一个像素相比较大的深度值对两者之间的像素位置点进行赋值;反之,转入步骤S61; [0042]其中,所述像素转制公式为:
[0044] S67、当前行扫描完毕后进行下一行的扫描。
[0045] 优选地,还包括对转化后的左右图进行羽化处理,包括:
[0046]选取原始图片的一个当前像素,计算获得所述当前像素与各个相邻像素之间的深 度差;
[0047] 判断获得的各个深度差是否在预设数值范围内;
[0048] 若存在任一一个深度差不在预设数值范围内,则根据羽化数值对当前像素及其周 围像素进行高斯模糊处理。
[0049] 优选地,还包括:对多视点图像的处理步骤,包括:
[0050] 通过上述方法获得序列视差图像,其中,使背景图补图时至前景图的边缘停止补 图;
[0051] 将原始深度图中平滑区域深度值采用各个序列视差图像中立体感最大的一对视 差图像的深度值对原始图像进行补图;
[0052]将原始深度图中非平滑区域深度值保持原有的深度值对原始图像进行补图 [0053]由上述技术方案可知,本发明提供的一种用于视频2D转3D的自动补图方法,通过 根据原始图片获得深度图片;对获得的深度图片进行左右、上下和边缘平滑处理获得平滑 后的深度图片;根据平滑后的深度图片对原始图片、深度图片进行转制获得左右图,达到了 对视频2D转3D过程中出现图像空洞的有效填充,较高效率的完成自动补图工作。
【附图说明】
[0054]图1为本发明一实施例提供的用于视频2D转3D的自动补图方法的流程示意图;
[0055]图2为本发明一实施例提供的平滑处理的流程示意图;
[0056]图3为本发明一实施例提供的左右平滑处理的流程示意图;
[0057]图4为本发明一实施例提供的原始图片灰度图;
[0058]图5为本发明一实施例提供的原始图片灰度经一次左右平滑处理后的灰度图; [0059]图6为本发明一实施例提供的上下平滑处理的流程示意图;
[0060]图7为本发明一实施例提供的图5得到的灰度图经一次上下平滑处理后的灰度图;
[0061]图8为本发明一实施例提供的图片经多次左右和上下平滑处理后的灰度图;
[0062]图9为本发明一实施例提供的边缘平滑处理的流程示意图;
[0063] 图10为本发明一实施例提供的转制左右图的流程示意图;
[0064] 图11为本发明一实施例提供的转制左右图的效果图;
[0065] 图12为本发明大、小立体感视差图像在平滑前和平滑后的深度图;
[0066] 图13为本发明问题深度图的变换流程剖面图;
[0067] 图14为本发明改进后的变换流程剖面图。
【具体实施方式】
[0068] 下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。
[0069] 首先需要说明的是:原始图片就是需要转制成立体的图片。原始序列帧就是需要 转制成立体的图片序列帧。
[0070] 像素基本原色素及其灰度的基本编码。
[0071] 深度为深浅的程度,在这里通过记录像素需要向左右位移的距离,来衡量像素距 离观察者的远近。
[0072] 深度图片,与原始图片尺寸相同,记录原始图片每个像素深度信息。深度序列帧, 与原始序列帧的尺寸和帧数相同,记录每帧图片每个像素点的深度信息。
[0073] 左右图,即左右视差图,通过深度图片记录的信息,将原始图片的像素移位填充, 并将没有填充像素的地方通过补图算法进行像素填充,得到左图和右图,用左图和右图就 可以看到立体图片。左右序列帧通过深度序列帧记录的信息,将原始序列帧的像素进行位 移填充,并将没有填充像素的地方,通过补图算法进行像素填充,得到左序列帧和右序列 帧,用左序列帧和右序列帧就可以看到立体序列帧(立体视频)。
[0074]由于序列帧的2D转3D相当于图片2D转3D的重复,所以下文只对图片2D转3D进行说 明。
[0075]图1示出了本发明一实施例提供一种用于视频2D转3D的自动补图方法,包括:
[0076] S11、获取视频每一帧的原始图片,并根据原始图片获得深度图片。
[0077]在本步骤中,需要说明的是,由于视频由多帧图片依次反复显现,在视觉暂留原理 下所形成。因此,要将视频2D转3D,需要对每一帧的图片进行立体处理,故需要根据每一帧 的原始图片获取原始图片所对应的深度图片。而通过原始图片获得深度图片,是较成熟技 术,在此不再赘述。
[0078] S12、对获得的深度图片进行定向平滑处理获得定向平滑后的深度图片。
[0079] 在本步骤中,需要说明的是,对获得的深度图片进行定向平滑处理获得定向平滑 后的深度图片,如图2所示,包括:
[0080] S21、对获得的深度图的深度进行分配获得左深度图和右深度图。在本步骤中,需 要说明的是,由于立体视频需要观看时接收不同的左右视图,故在对图片进行处理时,需要 获取左深度图和右深度图。
[0081] S22、对左深度图和右深度图进行至少两次以上的左右定向平滑、上下定向平滑处 理获得深度图内部定向平滑后的左深度图和右深度图。
[0082]在本步骤中,重点介绍了对深度图的定向平滑处理。具体如下:
[0083] 一、左右定向平滑处理,如图3所示:
[0084] S31、对左深度图或右深度图的每一行从左到右或从右到左逐个像素扫描。
[0085] S32、判断相邻两个像素是否均有深度值,若没有,则转入步骤S31;若有,则转入步 骤 S33〇
[0086] S33、判断相邻两个像素左边比右边或右边比左边距离观察者是否远预设个数的 深度值,若不满足,则转入步骤S31;若满足,则转入步骤S34,其中深度值为0时,像素位于屏 幕上;深度值为负值时为出屏效果,即距离观察者近;深度值为正值时为入屏效果,即距离 观察者远。
[0087] S34、计算相邻两个像素的深度差,以右像素深度值为基础,从右向左每移动一个 像素,右像素深度值加上一个深度值并进行赋值,直到大于左像素的深度值或大于当前位 置的深度值后停止赋值,同时记录赋值的像素位置,并转入步骤S31。
[0088] 以左像素深度值为基础,从左向右每移动一个像素,左像素深度值加上一个深度 值并进行赋值,直到大于右像素的深度值或大于当前位置的深度值后停止赋值,同时记录 赋值的像素位置,并转入步骤S31。
[0089] S35、当前行扫描完毕后进行下一行的扫描。当图片中所有行像素扫描完毕后结束 该平滑处理。
[0090] 如图4和图5所示分别为原始灰度图经左右平滑后的灰度图。在图中,人眼看深度 图不易看出像素距离人的远近关系,所以为了易于观看使用灰度图。距离观察者近用黑色 表示,距离观察者远用白色表示。
[0091] 二、上下定向平滑处理,如图6所示:
[0092] S41、对经过左右定向平滑的左深度图和右深度图的每一列从下到上或从上到下 逐个像素扫描。
[0093] S42、判断当前所扫描的像素是否为左右平滑过程中赋值的像素,若不是,则转入 步骤S41;若有,转入步骤S43。
[0094] S43、判断当前所扫描的像素和其上方相邻的像素是否均有深度值,若没有,则转 入步骤S41;若有,转入步骤S44。
[0095] S44、判断相邻两个像素上边比下边或下边比上边距离观察者是否远预设个数的 深度值,若不满足,则转入步骤S41;若满足,则转入步骤S45,其中深度值为0时,像素位于屏 幕上;深度值为负值时为出屏效果,即距离观察者近;深度值为正值时为入屏效果,即距离 观察者远。
[0096] S45、计算上下相邻两个像素的深度差,以下像素的深度值为基础,从下向上每移 动一个像素,下像素深度值加上一个深度值并进行赋值,直到大于上像素的深度值或大于 当前位置的深度值后停止赋值,同时记录赋值的像素位置,并转入步骤S41。
[0097]以上像素的深度值为基础,从上向下每移动一个像素,上像素深度值加上一个深 度值并进行赋值,直到大于下像素的深度值或大于当前位置的深度值后停止赋值,同时记 录赋值的像素位置,并转入步骤S41。
[0098] S46、当前列扫描完毕后进行下一列的扫描。
[0099]针对上下定向平滑处理需要说明的是,在进行第一次左右定向平滑之后,平滑区 域的上下边界会出现与原图不符的深度跳跃,这样一旦转成立体视差图像,就会呈现原本 连续的背景不同的视差位移,导致断裂,所以需要再对这个平滑区域的上下边界进行上述 上下定向平滑。如图7所示为左右定向平滑后灰度图经上下定向平滑后的灰度图。
[0100]这样就消除了上下边界的断裂问题。但此时会在左右方向再产生新的深度跳跃, 这必然会在转成视差图像时形成新的大空洞,所以需要对这新产生的左右方向深度再进行 第一步的左右方向背景深度平滑。这样会导致新的上下方向深度跳变,形成新的断裂问题, 于是需要进一步进行上下平滑。如此完成一个周期的平滑后就消除了所有的左右方向和上 下方向的深度跳跃,既不会出现大空洞,也不会出现完整的一块背景拉扯断裂。
[0101] 如图8所示为经过多次左右定向平滑和上下定向平滑处理后的灰度图。
[0102] S23、对深度图内部平滑后的左深度图和右深度图进行边缘定向平滑处理获得定 向平滑后的左深度图和右深度图。
[0103] 在本步骤中,如图9所示,对深度图内部定向平滑后的左深度图和右深度图进行边 缘定向平滑处理获得平滑后的左深度图和右深度图,包括:
[0104] S51、对经过左右平滑和上下平滑处理后的左深度图和右深度图进行从左到右或 从右到左逐行扫描,并以最右边或最左边一个像素设为〇平面的深度值。零平面为如果一个 像素的深度为零平面的深度,那么转制后像素在屏幕上。
[0105] S52、左深度图将最右像素深度值设置为0,若最右像素的当前深度值小于0,则停 止赋值,若最右像素的当前深度值大于〇,则从右向左每移动一个像素加上一个深度值并进 行赋值,直到大于当前位置的深度值停止赋值;将最左像素深度值设置为0,若最左像素的 当前深度值大于〇,则停止赋值,若最左像素的当前深度值小于〇,则从左向右每移动一个像 素减去一个深度值并进行赋值,直到小于当前位置的深度值停止赋值;
[0106] 右深度图将最右像素深度值设置为0,若最右像素的当前深度值大于0,则停止赋 值,若最右像素的当前深度值小于〇,则从右向左每移动一个像素减去一个深度值并进行赋 值,直到小于当前位置的深度值停止赋值;将最左像素深度值设置为〇,若最左像素的当前 深度值小于〇,则停止赋值,若最左像素的当前深度值大于〇,则从左向右每移动一个像素加 上一个深度值并进行赋值,直到大于当前位置的深度值停止赋值。
[0107] S53、直到所有行扫描完毕。
[0108] S13、根据平滑后的深度图片对原始图片、深度图片进行转制获得左右图。
[0109] 具体步骤如图10所示,
[0110] S61、采用从左到右或从右到左方式分别对平滑后的深度图片、深度图片和原始图 片进行逐个像素赋值。
[0111] S62、当从左到右进行赋值,则判断原始图片的当前像素是否为当前行的最后一个 像素,若是,则选择当前像素的左侧像素为相邻像素,若不是,则选择当前像素的右侧像素 为相邻像素;当从右到左进行赋值,则判断原始图片的当前像素是否为当前行的最后一个 像素,若是,则选择当前像素的右侧像素为相邻像素,若不是,则选择当前像素的左侧像素 为相邻像素。
[0112] S63、判断当前像素的alpha通道是否大于0,若不大于则转入步骤S61,若大于,则 转入步骤S64。
[0113] S64、获得当前像素对应的深度值和平滑后的深度值,并对当前像素深度值进行取 整,判断根据取整后数值进行位移后的当前像素位置是否在图像之内,若不在,则转入步骤 S61,若在,则转入步骤S65。
[0114] S65、根据原始图片的当前像素与相邻像素采用深度值小数位加权方式进行位移 赋值,以及根据定向平滑后的深度图片和原始深度图片的当前像素与原始图片的当前像素 同时进行位移赋值,并分别判断位移后的像素位置是否进行过赋值,或判断原始图片当前 深度值是否小于要进行赋值位置的深度值,若不存在赋值,则位移后的像素直接覆盖该像 素位置,若原始图片当前深度值是否小于要进行赋值位置的深度值,则位移后的像素直接 覆盖该像素位置;反之,转入步骤S61。
[0115] S66、当左图进行从左到右位移赋值时,判断当前像素在位移后的像素深度值是否 比上一个像素位移后的像素深度值小,或从右到左位移赋值时,判断当前像素在位移后的 像素深度值是否比上一个像素位移后的像素深度值大,若是,则对原始图片根据像素转制 公式对位移后的当前像素与位移后的上一个像素之间的像素位置点进行赋值,对原始深度 图和平滑后的深度图采用位移后当前像素与位移后的上一个像素相比较大的深度值对两 者之间的像素位置点进行赋值;反之,转入步骤S61;当右图进行从左到右位移赋值时,判断 当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值大,或从右到左位 移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值 小,若是,则对原始图片根据像素转制公式对位移后的当前像素与位移后的上一个像素之 间的像素位置点进行赋值,对原始深度图和平滑后的深度图采用位移后当前像素与位移后 的上一个像素相比较大的深度值对两者之间的像素位置点进行赋值;反之,转入步骤S61。
[0116] 其中,所沭像素转制公式为:
[0118] 需要说明的是,两个像素位移后所占有的两个位置点,左边的为左端点,右边的为 右端点。
[0119] 如图11所示,像素1为当前像素,其相邻像素为像素2和左侧像素,左侧像素为参考 像素。经过深度值小数的加权处理后,像素1进行左移位三个像素,并覆盖该位置上的像素。 因此,像素1和像素2之间出现三个空洞,需要对这三个空洞进行填充。依据上述像素转制公 式对三个空洞进行填充。得到图11中最下面的灰度效果图。
[0120] S67、当前行扫描完毕后进行下一行的扫描。
[0121]最后,需要使用羽化参数对转换后的图片深度差距大的地方进行模糊处理。这是 为了防止前景边缘与背景不匹配,有生硬的感觉。羽化参数决定模糊范围的大小。其具体包 括:选取原始图片的一个当前像素,计算获得所述当前像素与各个相邻像素之间的深度差; 判断获得的各个深度差是否在预设数值范围内;若存在任一一个深度差不在预设数值范围 内,则根据羽化数值对当前像素及其周围像素进行高斯模糊处理。
[0122]本发明提供的一种用于视频2D转3D的自动补图方法,通过根据原始图片获得深度 图片;对获得的深度图片进行左右、上下和边缘平滑处理获得平滑后的深度图片;根据平滑 后的深度图片对原始图片、深度图片进行转制获得左右图,达到了对视频2D转3D过程中出 现图像空洞的有效填充,较高效率的完成自动补图工作。
[0123]还需要说明的是,本发明所述方法还包括:对多视点图像的处理步骤,包括:
[0124]通过上述方法获得序列视差图像,其中,使背景图补图时至前景图的边缘;
[0125] 将原始深度图中平滑区域深度值采用各个序列视差图像中立体感最大的一对视 差图像的深度值对原始图像进行补图;
[0126] 将原始深度图中非平滑区域深度值保持原有的深度值对原始图像进行补图。
[0127] 需要进一步的对上述处理步骤进行解释说明:
[0128] 由于裸眼三维显示需要的图像不止左右眼两张,往往需要十几张的序列视差图 像,所以按上面的左右补图算法可以得到多对互相无粘连的视差图像。但是在观看裸眼立 体显示时,观看者的左右眼可能会在所有视差对图像的一侧。比如28个视点的裸眼三维显 示器,其中视差对左边有14个视差图像,如果左右眼在这14个图像范围内,就会使用两个左 眼视差图像。
[0129] 假设左眼获取的图像所在的视差对的立体感是右眼获取图像所在的视差对的立 体感的b倍。那么通过上面补图算法可以得到左眼平滑时视差变形为bl倍,右眼视差变形为 b2倍,且有:
[0131] 那么b是一定不为1的,所以左右眼在平滑区域上又产生了视差。也就是还会得到 粘连的效果。为了消除这个2d视频转换多视点视频时补图导致粘连的问题,可以继续根据 问题产生的来源消除视差。
[0132] 如图12所示,因为多个视差图像对是由不同倍数的深度图转换而来,所以需要把 它们所用的深度图强制一致才可以消除这个粘连视差,但是如果所有的区域都采用一致的 深度图,将会导致所有的视差图像对的立体感一致,无法满足裸眼三维显示使用,所以需要 对平滑区域和非平滑区域分别处理,令非平滑区域保持原来的深度效果,而平滑区域则统 一使用立体感最大的一对视差图像的深度。这样就会消除裸眼多视点三维补图的特别粘连 问题。
[0133] 如果不使用原始深度图作为判断的依据,直接采用这个方法虽然会消除粘连感, 但是上面小立体感视差图像对采用的平滑后深度图有个严重的深度错误:平滑部分的后景 的深度超过了相邻的前景深度,这样会使转出的视差图像中后景遮住了前景。为了消除这 个前后景反向遮挡的问题,可提出了一种双深度转换方式,一个深度用于转换视差图像,采 用上面得到的结合了大立体感视差图像深度平滑效果的小立体感深度图,另一个深度图作 为遮挡判断,采用原始深度图。
[0134] 如图13所示,深度最浅的线表示平滑的背景,深度最深的线表示前景,深度处于中 度深的线表示被遮住的背景,三条线由上到下表示像素距离观察者由近到远。可见在前景 很细的情况下,深度最浅的线表示的平滑背景在补图后会越过前景,遮住背景,这显然是不 对的。故如图14所示,需要在通过上述补图方法获得序列视差图像时,使背景图补图时至前 景图的边缘。因此,解决了上述问题,通过上述处理步骤则可获得多视点图像的转制效果 图。
[0135] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任 意之一都可以以任意的组合方式来使用。
[0136] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词"包含"不排除存在未 列在权利要求中的元件或步骤。位于元件之前的单词"一"或"一个"不排除存在多个这样的 元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实 现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项 来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名 称。
[0137] 本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而 非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者 全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发 明权利要求所限定的范围。
【主权项】
1. 一种用于视频2D转3D的自动补图方法,其特征在于,包括: 获取视频每一帖的原始图片,并根据原始图片获得深度图片; 对获得的深度图片进行定向平滑处理获得定向平滑后的深度图片; 根据定向平滑后的深度图片对原始图片、深度图片进行转制获得左右图。2. 根据权利要求1所述的方法,其特征在于,所述对获得的深度图片进行定向平滑处理 获得定向平滑后的深度图片,包括: 对获得的深度图的深度进行分配获得左深度图和右深度图; 对左深度图和右深度图进行至少两次W上的左右定向平滑、上下定向平滑处理获得深 度图内部定向平滑后的左深度图和右深度图; 对深度图内部定向平滑后的左深度图和右深度图进行边缘定向平滑处理获得定向平 滑后的左深度图和右深度图。3. 根据权利要求2所述的方法,其特征在于,所述对左深度图和右深度图进行至少两次 W上的左右定向平滑、上下定向平滑处理获得深度图内部定向平滑后的左深度图和右深度 图,包括: 531、 对左深度图或右深度图的每一行从左到右或从右到左逐个像素扫描; 532、 判断相邻两个像素是否均有深度值,若没有,则转入步骤S31;若有,则转入步骤 S33; 533、 判断相邻两个像素左边比右边或右边比左边距离观察者是否远预设个数的深度 值,若不满足,则转入步骤S31;若满足,则转入步骤S34,其中深度值为0时,像素位于屏幕 上,深度值为负值时为出屏效果,深度值为正值时为入屏效果,数值越小距离观察者越近; 534、 计算相邻两个像素的深度差,W右像素深度值为基础,从右向左每移动一个像素, 右像素深度值加上一个深度值并进行赋值,直到大于左像素的深度值或大于当前位置的深 度值后停止赋值,同时记录赋值的像素位置,并转入步骤S31; W左像素深度值为基础,从左 向右每移动一个像素,左像素深度值加上一个深度值并进行赋值,直到大于右像素的深度 值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,并转入步骤S31; 535、 当前行扫描完毕后进行下一行的扫描。4. 根据权利要求3所述的方法,其特征在于,所述对左深度图和右深度图进行至少两次 W上的左右定向平滑、上下定向平滑处理获得深度图内部定向平滑后的左深度图和右深度 图,包括: 541、 对经过左右定向平滑的左深度图和右深度图的每一列从下到上或从上到下逐个 像素扫描; 542、 判断当前所扫描的像素是否为左右平滑过程中赋值的像素,若不是,则转入步骤 S41;若有,转入步骤S43; 543、 判断当前所扫描的像素和其上方相邻的像素是否均有深度值,若没有,则转入步 骤S41;若有,转入步骤S44; 544、 判断相邻两个像素上边比下边或下边比上边距离观察者是否远预设个数的深度 值,若不满足,则转入步骤S41;若满足,则转入步骤S45,其中深度值为0时,像素位于屏幕 上,深度值为负值时为出屏效果,深度值为正值时为入屏效果,数值越小距离观察者越近; 545、 计算上下相邻两个像素的深度差,W下像素的深度值为基础,从下向上每移动一 个像素,下像素深度值加上一个深度值并进行赋值,直到大于上像素的深度值或大于当前 位置的深度值后停止赋值,同时记录赋值的像素位置,并转入步骤S41;W上像素的深度值 为基础,从上向下每移动一个像素,上像素深度值加上一个深度值并进行赋值,直到大于下 像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,并转入步 骤 S41; S46、当前列扫描完毕后进行下一列的扫描。5. 根据权利要求4所述的方法,其特征在于,对深度图内部定向平滑后的左深度图和右 深度图进行边缘定向平滑处理获得定向平滑后的左深度图和右深度图,包括: 551、 对经过左右定向平滑和上下定向平滑处理后的左深度图和右深度图进行从左到 右或从右到左逐行扫描; 552、 左深度图将最右像素深度值设置为0,若最右像素的当前深度值小于0,则停止赋 值,若最右像素的当前深度值大于0,则从右向左每移动一个像素加上一个深度值并进行赋 值,直到大于当前位置的深度值停止赋值;将最左像素深度值设置为0,若最左像素的当前 深度值大于0,则停止赋值,若最左像素的当前深度值小于0,则从左向右每移动一个像素减 去一个深度值并进行赋值,直到小于当前位置的深度值停止赋值; 右深度图将最右像素深度值设置为0,若最右像素的当前深度值大于0,则停止赋值,若 最右像素的当前深度值小于0,则从右向左每移动一个像素减去一个深度值并进行赋值,直 到小于当前位置的深度值停止赋值;将最左像素深度值设置为0,若最左像素的当前深度值 小于0,则停止赋值,若最左像素的当前深度值大于0,则从左向右每移动一个像素加上一个 深度值并进行赋值,直到大于当前位置的深度值停止赋值; 553、 直到所有行扫描完毕。6. 根据权利要求5所述的方法,其特征在于,还包括:对定向平滑处理后的左深度图和 右深度图进行粘连消除处理,包括: 将原始深度图与转换左眼或右眼的定向平滑深度图进行像素做差,获得差别深度图; 将获得的差别深度图加在右眼或左眼的定向平滑深度图得到右眼或左眼最终的定向 平滑深度图。7. 根据权利要求1、4或6所述的方法,其特征在于,所述根据定向平滑后的深度图片对 原始图片、深度图片进行转制获得左右图,包括: 561、 采用从左到右或从右到左方式分别对定向平滑后的深度图片、深度图片和原始图 片进行逐个像素赋值; 562、 当从左到右进行赋值,则判断原始图片的当前像素是否为当前行的最后一个像 素,若是,则选择当前像素的左侧像素为相邻像素,若不是,则选择当前像素的右侧像素为 相邻像素;当从右到左进行赋值,则判断原始图片的当前像素是否为当前行的最后一个像 素,若是,则选择当前像素的右侧像素为相邻像素,若不是,则选择当前像素的左侧像素为 相邻像素; 563、 判断当前像素的al地a通道是否大于0,若不大于则转入步骤S61,若大于,则转入 步骤S64; 564、 获得当前像素对应的深度值和平滑后的深度值,并对当前像素深度值进行取整, 判断根据取整后数值进行位移后的当前像素位置是否在图像之内,若不在,则转入步骤 S61,若在,则转入步骤S65; 565、 根据原始图片的当前像素与相邻像素采用深度值小数位加权方式进行位移赋值, W及根据定向平滑后的深度图片和原始深度图片的当前像素与原始图片的当前像素同时 进行位移赋值,并分别判断位移后的像素位置是否进行过赋值,或判断原始图片当前深度 值是否小于要进行赋值位置的深度值,若不存在赋值,则位移后的像素直接覆盖该像素位 置,若原始图片当前深度值小于要进行赋值位置的深度值,则位移后的像素直接覆盖该像 素位置;反之,转入步骤S61; 566、 当左图进行从左到右位移赋值时,判断当前像素在位移后的像素深度值是否比上 一个像素位移后的像素深度值小,或从右到左位移赋值时,判断当前像素在位移后的像素 深度值是否比上一个像素位移后的像素深度值大,若是,则对原始图片根据像素转制公式 对位移后的当前像素与位移后的上一个像素之间的像素位置点进行赋值,对原始深度图和 平滑后的深度图采用位移后当前像素与位移后的上一个像素相比较大的深度值对两者之 间的像素位置点进行赋值;反之,转入步骤S61;当右图进行从左到右位移赋值时,判断当前 像素在位移后的像素深度值是否比上一个像素位移后的像素深度值大,或从右到左位移赋 值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值小,若 是,则对原始图片根据像素转制公式对位移后的当前像素与位移后的上一个像素之间的像 素位置点进行赋值,对原始深度图和平滑后的深度图采用位移后当前像素与位移后的上一 个像素相比较大的深度值对两者之间的像素位置点进行赋值;反之,转入步骤S61; 其中,所述像素转制公式为:567、 当前行扫描完毕后进行下一行的扫描。8. 根据权利要求7所述的方法,其特征在于,还包括对转化后的左右图进行羽化处理, 包括: 选取原始图片的一个当前像素,计算获得所述当前像素与各个相邻像素之间的深度 差; 判断获得的各个深度差是否在预设数值范围内; 若存在任一一个深度差不在预设数值范围内,则根据羽化数值对当前像素及其周围像 素进行高斯模糊处理。9. 根据权利要求1所述的方法,其特征在于,还包括:对多视点图像的处理步骤,包括: 通过上述权利要求1-8中任一权利要求所述方法获得序列视差图像,其中,使背景图补 图时至前景图的边缘停止补图; 将原始深度图中平滑区域深度值采用各个序列视差图像中立体感最大的一对视差图 像的深度值对原始图像进行补图; 将原始深度图中非平滑区域深度值保持原有的深度值对原始图像进行补图。
【文档编号】G06T5/00GK106097273SQ201610421567
【公开日】2016年11月9日
【申请日】2016年6月14日 公开号201610421567.5, CN 106097273 A, CN 106097273A, CN 201610421567, CN-A-106097273, CN106097273 A, CN106097273A, CN201610421567, CN201610421567.5
【发明人】赵天奇, 李桂楠, 王远
【申请人】十二维度(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1