本发明专利技术公开了一种3D视频实时转化方法,所述3D视频实时转化方法包括:步骤1:基于输入视频每帧图像的视点图、深度图,对应于多个虚拟视点位置,计算所述输入视频的每帧视频的视差值;步骤2:根据所述视差值计算视差水平梯度值;步骤3:根据所述视点图计算图像纹理结构图;步骤4:根据视点图、图像纹理结构图、视差值、视差水平梯度值和显示器参数直接合成对应于每帧图像的立体图像;以及步骤5:输出立体图像。本发明专利技术的3D视频实时转化方法直接输出包含多个视点信息的立体图,可以直接通过显示屏输出立体效果。
【技术实现步骤摘要】
一种基于GPU的4K超多视点3D视频实时转化方法及装置
本专利技术涉及3D视频
,特别是涉及一种基于GPU的4K超多视点3D视频实时转化方法及装置。
技术介绍
近几年,立体显示技术得到了快速发展,并且逐渐走向普通用户。立体显示内容的匮乏成为限制立体显示技术普及的一项重要因素。立体显示是通过同时提供同一场景的不同视点的多视点图像来实现的。裸眼立体显示不需要佩戴辅助设备,从而具有更多的将会使更多的人体验到立体显示带来的无穷乐趣。由于裸眼立体显示需要的视点数较多,直接通过多摄像机拍摄显示内容,成本太高。因此,将三维场景表示为“彩色图+深度图”的数据格式,在此基础上进行虚拟视点渲染合成3D视频是广泛采用的制作3D视频的方式。彩色图是一个视点图,深度图是这个视点对应的深度图。现有的多视点立体视频合成的一般步骤是:首先通过参考视点以及深度图生成虚拟视点,对虚拟视点进行填充空洞修复,再将所有的虚拟视点合成立体显示图。这种方法会产生大量的信息冗余,对于超多视点的高分辨率视频,占用显卡内存较多,普通显卡难以满足要求。同时,在现有的虚拟视点渲染方法中,空洞填充计算占用时间较多。因此对于4K高分辨率视频的超多视点计算难以实现实时,应用受到限制。4K高分辨率具体指的是3840*2160分辨率。参见图1a,现有技术中多视点立体视频合成方法需要基于参考视点的RGB图像和深度图来生成n个虚拟视点View0、View1、View2、……、Viewn-2、Viewn-1的图像序列,然后对每个虚拟视点的图像进行填充空洞修复,最后再将所有的虚拟视点的图像合成为立体显示图。在视点数量较多(例如大于20个)、视频分辨率较高时,占用显卡内存较多,且计算耗时较多,难以实时实现。一些研究人员提出对深度图进行预处理,以避免渲染虚拟视点时产生空洞的算法,但是这种算法改变了实际深度图结构,带来了边缘变形,并且在视差较大时难以完全避免产生空洞。因此,希望有一种技术方案来克服或至少减轻现有技术的上述缺陷中的至少一个。
技术实现思路
视差:视差值定义为两个视点图像中匹配像素点横坐标(水平坐标)的差值,视差产生立体视觉,对应物体的视差值的大小直接影响立体感知的强弱。虚拟多视点:将三维场景表达为“视频+深度”的数据格式,利用虚拟视点生成技术渲染出多个虚拟视点位置的图像,可为自由立体显示器提供同一场景的多视点图像和视频。本专利技术的目的在于提供一种技术方案来克服或至少减轻现有技术的上述缺陷中的至少一个。为此,本专利技术提供一种3D视频实时转化方法,所述3D视频实时转化方法包括:步骤1:基于输入视频每帧图像的视点图、深度图,对应于多个虚拟视点位置,计算所述输入视频的每帧视频的视差值;步骤2:根据所述视差值计算视差水平梯度值;步骤3:根据所述视点图计算图像纹理结构图;步骤4:根据视点图、图像纹理结构图、视差值、视差水平梯度值和显示器参数直接合成对应于每帧图像的立体图像;以及步骤5:输出立体图像。优选地,所述多个虚拟视点与主视点在x方向上成直线排列。优选地,以下述方法来计算视差水平梯度值,视差水平梯度值等于在与虚拟视点对应的虚拟视点图上水平方向上相邻两点视差值之差:disp_gradient(x)=disp(x+1)-disp(x)其中,x是当前点的水平坐标;(x+1)表示相邻点的水平坐标;disp表示视差值,disp_gradient是视差水平梯度值,即相邻两个视点的视差值之差。优选地,步骤4包括:根据视差值和视点图映射生成局部虚拟视点图,并将之合成至立体图像,如果disp_gradient(x)为零,则待合成的局部虚拟视点图不存在遮挡,合成映射关系为:其中,Idst表示合成目标图像,xdst表示目标图像像素横坐标,Isrc表示视点图的图像,xsrc表示Isrc图像中像素横坐标,如果disp_gradient(x)为正,则待合成的虚拟视点图存在重叠,此时取重叠部位处视差值较大的虚拟视点图的局部图像作为立体图像的组成部分。优选地,在步骤4中,预测空洞位置,并进行空洞填充,其中通过视差值和视差水平梯度值预测虚拟视点图中空洞的位置。优选地,若disp_gradient(x)为负,则虚拟视点图中会存在空洞,空洞所在的坐标为:xdst=xsrc+j-disp(xsrc),其中,空洞的水平宽度为视差值之差的绝对值,j为任选整数,但是满足下式:disp_gradient(xsrc)≤j<0。优选地,根据预测的空洞点坐标以及图像纹理结构图预测空洞应填充的像素值,通过计算能量函数获得参考填充点的优先级,以对应能量值最大的参考点的像素值作为空洞填充点的像素值。优选地,能量函数表示为深度相似性Edepth,结构相似性Estructure和距离相似性Eproximity的乘积:E(q)=Edepth(q)·Eproximity(q)·Estructure(q)其中,中心点坐标p=Isrc(xsrc,ysrc),参考区域的半径为2,q是任意参考点坐标;深度相似性Edepth通过参考点的深度dq与中心点深度dp之差来判断,当其小于0时,参考点的相似性设置为1,当其不等于0计算比值;结构相似性Estructure表示为纹理结构值S(q)相对于100的截断值,其中100是经验值,n为空洞的位置的编号;距离相似性Eproximity表示为参考点与中心点欧式几何距离euclidean(p,q)的指数函数,γp为常数参数。优选地,fi为裸眼光栅显示对应在第i个视点的蒙版,在不存在空洞时,映射过程表示为:在存在空洞及填充时,前向映射过程表示为:α参数表示深度与视差平移量的转换关系;Idst-disp表示目标图对应的视差图。优选地,根据视点图获得纹理结构图的方法是视点图与sobel算子进行卷积。本专利技术的3D视频实时转化方法直接输出包含多个视点信息的立体图,可以直接通过显示屏输出立体效果。附图说明图1a是现有技术中多视点立体视频合成方法的流程图。图1b是根据本专利技术的视频实时转化方法的流程图。图2是根据本专利技术的视频实时转化装置的方框图。图3是3D视频转化模块的工作流程图。图4是空洞填充前后效果对比图。在图4中,椭圆遮挡方块在右视点产生空洞。颜色越浅,表示物体视差值越大,物体越靠近摄像机。图5是空洞的坐标预测图。图6是p、q两点的附图标记:1视频输入模块23D视频转化模块3显示模块具体实施方式在附图中,使用相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面结合附图对本专利技术的实施例进行详细说明。如图2所示,本专利技术提供一种基于GPU的4k超多视点3D视频实时转化装置,所述装置包括视频输入模块、3D视频转化模块和显示模块。视频输入模块将视频解码为RGB图像序列以及视差图序列,并传输到显卡内存。视差图中记录了视差值。3D视频转化模块采用预测填充空洞的前向映射算法进行虚拟视点渲染,结合立体显示器参数输出立体图像序列,能够在立体显示屏上显示出立体效果的图像就称之为立体图像。需要指出的是,图像总是二维的,但通过特殊的显示屏,看起来是立体的。目标图即输出图,是可直接在显示器上显示立体效果的立体图像。显示模块将立体图像序列通过OpenGL直接输出到裸眼显示器上进行显示。OpenGL(全写OpenGraphicsL本文档来自技高网...
【技术保护点】
一种3D视频实时转化方法,其特征在于,包括:步骤1:基于输入视频每帧图像的视点图、深度图,对应于多个虚拟视点位置,计算所述输入视频的每帧视频的视差值;步骤2:根据所述视差值计算视差水平梯度值;步骤3:根据所述视点图计算图像纹理结构图;步骤4:根据视点图、图像纹理结构图、视差值、视差水平梯度值和显示器参数直接合成对应于每帧图像的立体图像;以及步骤5:输出立体图像。
【技术特征摘要】
1.一种3D视频实时转化方法,其特征在于,包括:步骤1:基于输入视频每帧图像的视点图、深度图,对应于多个虚拟视点位置,计算所述输入视频的每帧视频的视差值;步骤2:根据所述视差值计算视差水平梯度值;步骤3:根据所述视点图计算图像纹理结构图;步骤4:根据视点图、图像纹理结构图、视差值、视差水平梯度值和显示器参数直接合成对应于每帧图像的立体图像;以及步骤5:输出立体图像,其中,所述多个虚拟视点与主视点在x方向上成直线排列,以下述方法来计算视差水平梯度值,视差水平梯度值等于在与虚拟视点对应的虚拟视点图上水平方向上相邻两点视差值之差:disp_gradient(x)=disp(x+1)-disp(x)其中,x是当前点的水平坐标;(x+1)表示相邻点的水平坐标;disp表示视差值,disp_gradient是视差水平梯度值,即相邻两个视点的视差值之差。2.如权利要求1所述的3D视频实时转化方法,其特征在于,步骤4包括:根据视差值和视点图映射生成局部虚拟视点图,并将之合成至立体图像,如果disp_gradient(x)为零,则待合成的局部虚拟视点图不存在遮挡,合成映射关系为:其中,Idst表示合成目标图像,xdst表示目标图像像素横坐标,Isrc表示视点图的图像,xsrc表示Isrc图像中像素横坐标,如果disp_gradient(x)为正,则待合成的虚拟视点图存在重叠,此时取重叠部位处视差值较大的虚拟视点图的局部图像作为立体图像的组成部分。3.如权利要求1所述的3D视频实时转化方法,其特征在于,在步骤4中,预测空洞位置,并进行空洞填充,其中通过视差值和视差水平梯度值预测虚拟视点图中空洞的位置。4.如权利要求3所述的3D视频实时转化方法,其特征在于,若disp_gradient(x)为负,则虚拟视点图中会存在空洞,空洞所在的坐标为:xdst=xsrc+j-disp(xsrc),其中,xdst表示目标...
【专利技术属性】
技术研发人员:桑新柱,郭南,颜玢玢,苑金辉,刘政,陈铎,解松霖,于迅博,
申请(专利权)人:北京邮电大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。