法律状态公告日
法律状态信息
法律状态
2018-09-21
专利权的转移 IPC(主分类):H04N13/00 登记生效日:20180903 变更前: 变更后: 申请日:20090813
专利申请权、专利权的转移
2016-09-21
专利权的转移 IPC(主分类):H04N13/00 登记生效日:20160831 变更前: 变更后: 申请日:20090813
专利申请权、专利权的转移
2016-07-06
专利权的转移 IPC(主分类):H04N13/00 登记生效日:20160616 变更前: 变更后: 申请日:20090813
专利申请权、专利权的转移
2011-02-09
授权
授权
2010-03-24
实质审查的生效
实质审查的生效
2010-01-20
公开
公开
查看全部
技术领域
本发明涉及一种用于三维电视系统中2D视频到3D视频的转换方法。
背景技术
最近几年,“三维电视将成为高清数字电视之后的一个新的技术飞跃”这一观点已是学术界和工业界的共识。三维电视系统能给人带来身临其境的三维立体效果,让人们享受到视觉上的盛宴。
在多方努力试图制定三维电视内容、编码与传输的标准时,一个话题自然而然摆在了大家的桌面上。那就是如何处理这么多年来积攒的二维视频内容?是让以后的三维电视兼容传统的二维内容播放,还是通过某些技术手段,将原来的二维内容实时转为三维,再立体地播放出来?无疑,后者的技术一旦成熟,将带来难以想象的经济价值,也会对三维电视的发展带来前所未有的资金支撑。
在三维电视近几年来的发展中,欧洲ATTEST项目提出的基于一路视频加对应稠密深度图的表达方法得到了广泛的认可,通过DIBR技术,利用稠密深度图,可以将一路视频扩展到多路视频,从而实现多视点显示。显然,稠密深度图的产生至关重要,也是传统二维视频转换为三维视频的关键所在。
2D转3D问题的研究由来已久,Netherlands Delft University of Technology的Qingqing Wei做了一份调研,将算法分为12类:binocular disparity,motion,defocus,focus,silhouette,atmosphere scattering,shading,linear perspective,patterned texture,symmetric patterns,occlusion(curvature,simple transform)andstatistical patterns。在这些算法中,基于运动motion的算法(或者说基于光流的算法)得到了大家的瞩目,因为它普适性很强,可广泛用于各种视频源。
光流是指当观察者和场景目标之间有相对运动时,图像亮度模式的表观运动。光流表达了图像的变化,它包含了目标运动的信息,可用来确定观察者相对目标的运动情况。运动场与光流场的对应关系请见图1。
光流分析是研究图像灰度在时间上的变化与背景中物体的结构和运动的关系。场景中的目标运动导致图像中的亮度模式运动,而亮度模式的可见运动产生光流,除去一些特殊情况,光流场与运动场是对应的。通过分析图像的光流变化,可以达到确定场景三维结构和观察者与运动物体之间相对运动的目的。光流可看作是带有灰度的像素点在图像平面的运动而产生的瞬时速度场,据此可建立基本的光流约束方程:
Ixu+Iyv+It=0
其中,Ix和Iy表示像素点在x方向和y方向的梯度,It表示时间梯度,u和v分别表示x方向和y方向上的光流速度。
一种基于相关的光流计算方法(图2)假设了图像中的某一个像素点的运动只可能发生在以其为中心的某一个邻域内,在这个邻域内寻找最佳匹配像素点,从而得到原图像素点的运动矢量。主要步骤如下:
(1)以自上而下,自左而右的顺序扫描t时刻图像帧;
(2)为每一个扫描到的像素点在t-1时刻图像上寻找最佳匹配点,在t-1时刻图像上找到t时刻对应坐标像素,在它的N×N邻域内,计算匹配代价:
选择当中匹配代价最小的像素点作为最佳匹配像素;
(3)计算t时刻该像素点与其在t-1时刻最佳匹配点的水平距离和垂直距离(以像素为单位);
(4)综合两个方向的运动矢量,计算运动幅度作为表示物体运动快慢的像素值。
这种基于相关的光流法有其自身的缺点,首先,它是逐点计算运动矢量,当处理高分辨率图像时,计算量将会相当巨大;其次,它采用全搜索的方法寻找最佳匹配点,没有利用像点之间的空间相关性,搜索过程十分耗时;此外,它只是单方向利用了前后两帧图像的时间相关性,会造成一些像素点的误匹配。
发明内容
本发明的目的是克服现有技术的不足,提供一种用于三维电视系统中2D视频到3D视频的转换方法。
用于三维电视系统中2D视频到3D视频的转换方法包括如下步骤:
(1)获取经过视频编码标准压缩过的待转换2D视频文件;
(2)解码待转换2D视频文件,得到原始视频,同时从视频解码器中提取每个4×4像素块的运动矢量信息,换算出这个4×4像素块的运动幅度;
(3)对从解码待转换2D视频文件中得到的每一帧图像,通过每个4×4像素块的运动幅度描述出整幅图像的初始深度图;
(4)利用解码出来的原始视频和每一帧的初始深度图,通过边缘修正滤波,得到物体边缘清晰准确的稠密深度图,完成3D视频的表达。
所述的解码待转换2D视频文件,得到原始视频,同时从视频解码器中提取每个4×4像素块的运动矢量信息,换算出这个4×4像素块的运动幅度步骤:
(a)解码待转换2D视频文件,得到原始视频,同时从视频解码器中提取每个4×4像素块的运动矢量,包括前向和后向各一对,每对包含x方向和y方向;
(b)利用每个4×4像素块的参考关系,找到4×4像素块的参考块所在的参考帧与当前帧之间的帧距以及参考关系;
(c)将4×4像素块的参考块所在的参考帧与当前帧之间的帧距以及参考关系换算成每个4×4像素块的运动幅度;
每个4×4像素块的运动幅度的定义如下:设当前4×4像素块的前向运动矢量为MVfx(x,y)和MVfy(x,y),后向运动矢量为MVbs(x,y)和MVby(x,y),前向参考块所在的参考帧与当前帧的帧距为Δdf(x,y)和Δdb(x,y),这个4×4像素块的运动幅度f(x,y)定义为:
所述的对从解码待转换2D视频文件中得到的每一帧图像,通过每个4×4像素块的运动幅度描述出整幅图像的初始深度图步骤:
(d)对于解码2D视频文件得到的每一帧图像,通过运动幅度描述出对应描述图,描述图的每个像素点代表着每个4×4像素块的运动情况,由运动幅度描述出对应描述图的描述过程如下:对步骤(c)中得到的f(x,y)的值进行线性缩放,确保描述图的每个像素点的取值范围为[0,255],设描述图的每个点表示为g(x,y),线性缩放方法如下:
(e)将得到的描述图线性放大16倍,即水平方向4倍,垂直方向4倍,得到分辨率与原始序列相同的初始深度图。
所述的利用解码出来的原始视频和每一帧的初始深度图,通过边缘修正滤波,得到物体边缘清晰准确的稠密深度图步骤:
(f)对步骤(e)中得到的初始深度图进行边缘修正滤波,其中滤波参数的确定来自于原始视频当前帧和参考帧像素点数据,得到滤波后的深度图;
(g)对滤波后的深度图迭代步骤(f)中的边缘修正滤波,迭代五次后得到物体边缘清晰准确的稠密深度图,完成3D视频的表达;
每次迭代中的边缘修正滤波如下:
其中,i表示第i次迭代,p表示深度图中的一个点,di(p)表示在i次迭代时p点的深度值。i次迭代深度图中的p点,是由i-1次迭代深度图中p位置周边A邻域中的所有q点确定的,权值ωpq定义如下:
ωpq=ωboundaryωreliability
其中,sp表示当前帧在p位置上的像素亮度值,sq表示当前帧在q位置上的像素亮度值,若|sp-sq|较大,则两点恰好在边界,ωboundary较小,对上一次迭代的p点进行滤波的强度较小,保留原深度。反之则进行模糊滤波,消除块状虚假边界,如此一来,|sp-sq|就能为深度图定位精确的物体边界。q′为q点的深度图逆转换得到运动矢量后对应的参考位置,s′q′即为参考帧中在该参考位置的像数亮度值;类似于|sp-sq|,若|sq-s′q′|较大,则表明邻域中q点的运动矢量不精确,即深度不准确,需要对p进行模糊滤波,反之则保留该点深度,α和β均为正数,其值的选取可在系统运行中不断调整,从而得到物体边界清晰准确的稠密深度图,完成3D视频的表达。
本发明适用于任何现有压缩视频文件的2D转3D。传统的2D转3D方法均是从视频序列开始设计的,但考虑到目前已有的视频文件大多是通过某种视频编码方法压缩的,本发明立足2D转3D光流方法和传统视频编码运动估计方法在本质上的一致性,利用视频解码器的中间结果获取初始深度图,很好地节省了信号处理的时间和最终产品的成本;同时设计了一个边缘修正滤波器,解决了基于图像获取深度这类算法中的一大难题——如何得到物体边缘清晰准确的稠密深度图。
附图说明
图1是运动场与光流场的对应关系图;
图2(a)是图像中4×4像素块的示意图;
图2(b)是基于相关的光流法的示意图;
图3是边缘修正滤波器进行迭代滤波的模块框图;
图4是Akko&Kayo p00026视频的截图;
图5是图4视频截图对应的描述图;
图6是图4视频截图对应的初始深度图;
图7是图4视频截图对应的1次迭代滤波后的稠密深度图;
图8是图4视频截图对应的5次迭代滤波后的稠密深度图。
具体实施方法
用于三维电视系统中2D视频到3D视频的转换方法包括如下步骤:
(1)获取经过视频编码标准压缩过的待转换2D视频文件;
(2)解码待转换2D视频文件,得到原始视频,同时从视频解码器中提取每个4×4像素块的运动矢量信息,换算出这个4×4像素块的运动幅度;
(3)对从解码待转换2D视频文件中得到的每一帧图像,通过每个4×4像素块的运动幅度描述出整幅图像的初始深度图;
(4)利用解码出来的原始视频和每一帧的初始深度图,通过边缘修正滤波,得到物体边缘清晰准确的稠密深度图,完成3D视频的表达。
所述的解码待转换2D视频文件,得到原始视频,同时从视频解码器中提取每个4×4像素块的运动矢量信息,换算出这个4×4像素块的运动幅度步骤:
(a)解码待转换2D视频文件,得到原始视频,同时从视频解码器中提取每个4×4像素块的运动矢量,包括前向和后向各一对,每对包含x方向和y方向;
以H.264为例,每个宏块有16×16、16×8、8×16、8×8、8×4、4×8、4×4等多种划分,每个分块精确到的运动矢量范围均不相同。然而,我们可以将这些同一到以4×4为划分单位,每个分块均有前向和后向的运动矢量。
(b)利用每个4×4像素块的参考关系,找到4×4像素块的参考块所在的参考帧与当前帧之间的帧距以及参考关系;
以H.264为例,参考帧数不止一帧。为提高压缩效率,编码器会在多个参考帧中找到一个最合适的匹配块。这样一来,可能会出现如下情况:A块的运动比B块剧烈,A块在M帧里找到了相应的匹配块,B块在N帧里找到了相应的匹配块,而且由于A块与其匹配块差距更小,可能导致A块的运动矢量要比B块小。也就是说,运动剧烈的A块反而有较小的运动矢量。在这种例外情况下,需要将帧距进行修正,改为帧距的倒数。
(c)将4×4像素块的参考块所在的参考帧与当前帧之间的帧距以及参考关系换算成每个4×4像素块的运动幅度;
每个4×4像素块的运动幅度的定义如下:设当前4×4像素块的前向运动矢量为MVfx(x,y)和MVfy(x,y),后向运动矢量为MVbx(x,y)和MVby(x,y),前向参考块所在的参考帧与当前帧的帧距为Δdf(x,y)和Δdb(x,y),这个4×4像素块的运动幅度f(x,y)定义为:
所述的对从解码待转换2D视频文件中得到的每一帧图像,通过每个4×4像素块的运动幅度描述出整幅图像的初始深度图步骤:
(d)对于解码2D视频文件得到的每一帧图像,通过运动幅度描述出对应描述图,描述图的每个像素点代表着每个4×4像素块的运动情况,由运动幅度描述出对应描述图的描述过程如下:对步骤(c)中得到的f(x,y)的值进行线性缩放,确保描述图的每个像素点的取值范围为[0,255],设描述图的每个点表示为g(x,y),线性缩放方法如下:
(e)将得到的描述图线性放大16倍,即水平方向4倍,垂直方向4倍,得到分辨率与原始序列相同的初始深度图。
若前景物体和背景物体具有相同的运动幅度,在视频中表现为前景物体的运动更剧烈,即前景物体比背景物体运动幅度更大,故每个像素点的运动幅度可直接表示此像素点的深度。
描述图的精度是原图的4×4块,需要进行放大才能获得与原始序列相同的分辨率。这里采用双线性插值算法,该算法已相当成熟。
所述的利用解码出来的原始视频和每一帧的初始深度图,通过边缘修正滤波,得到物体边缘清晰准确的稠密深度图步骤:
(f)对步骤(e)中得到的初始深度图进行边缘修正滤波,其中滤波参数的确定来自于原始视频当前帧和参考帧像素点数据,得到滤波后的深度图;
(g)对滤波后的深度图迭代步骤(f)中的边缘修正滤波,迭代五次后得到物体边缘清晰准确的稠密深度图,完成3D视频的表达;
设计框图如图3所示。模块输入为解码得到的当前帧、深度图中的每一点对应的参考帧和初始深度图,最后的稠密深度图由迭代产生。
每次迭代中的边缘修正滤波如下:
其中,i表示第i次迭代,p表示深度图中的一个点,di(p)表示在i次迭代时p点的深度值。i次迭代深度图中的p点,是由i-1次迭代深度图中p位置周边A邻域中的所有q点确定的,权值ωpq定义如下:
ωpq=ωboundaryωreliability
其中,sp表示当前帧在p位置上的像素亮度值,sq表示当前帧在q位置上的像素亮度值,若|sp-sq|较大,则两点恰好在边界,ωboundary较小,对上一次迭代的p点进行滤波的强度较小,保留原深度。反之则进行模糊滤波,消除块状虚假边界,如此一来,|sp-sq|就能为深度图定位精确的物体边界。q′为q点的深度图逆转换得到运动矢量后对应的参考位置,s′q′即为参考帧中在该参考位置的像数亮度值;类似于|sp-sq|,若|sq-s′q′|较大,则表明邻域中q点的运动矢量不精确,即深度不准确,需要对p进行模糊滤波,反之则保留该点深度,α和β均为正数,其值的选取可在系统运行中不断调整,从而得到物体边界清晰准确的稠密深度图,完成3D视频的表达。
实施例:
(1)从网上下载经过H.264编码后的Akko&Kayo_p00026标准测试码流,此视频文件即为我们待转换的2D视频文件。图4即为Akko&Kayo_p00026视频的截图。
(2)解码此视频文件,从H.264视频解码器中提取出每个4×4像素块的运动矢量,换算成运动幅度,并生成描述图。图5即为图4视频截图对应的描述图。(3)将描述图线形放大16倍,得到初始深度图。图6即为图4视频截图对应的初始深度图。
(3)迭代进行边缘修正滤波,得到物体边缘清晰准确的稠密深度图,完成3D视频的表达。图7即为图4视频截图对应的1次迭代滤波后稠密深度图,图8即为图4视频截图对应的5次迭代滤波后的稠密深度图。
机译: 三维(3d)视频信息处理方法,用于根据2d传输格式生成用于传输3d视频信息的数据传输流,三维(3d)信息处理设备进行视频传输,以生成用于传输的数据传输流三维(3d)视频信息,用于视频信息的三维(3d)处理的接收器以及用于视频信息的三维(3d)处理的计算机程序产品。
机译: 用于处理三维视频信号{3d}的视频设备,用于处理三维视频信号{3d}的方法,用于提供三维视频信号{3d}以便传输到视频设备{3d}视频的方法,用于将3d视频数据传输到3d视频设备的三维视频信号{3d}和用于处理三维视频信号{3d}的计算机程序产品
机译: ''处理三维视频信号[3d]的方法,用于处理三维视频信号[3d]的3d视频设备,3d视频信号,注册车辆和用于处理三维视频信号[3d]的计算机程序产品]''