[发明专利]一种多视点视频编码中的运动和视差联合估计方法无效

专利信息
申请号: 200910088397.3 申请日: 2009-06-26
公开(公告)号: CN101600108A 公开(公告)日: 2009-12-09
发明(设计)人: 贾克斌;邓智玭;刘鹏宇 申请(专利权)人: 北京工业大学
主分类号: H04N7/26 分类号: H04N7/26;H04N13/00
代理公司: 北京思海天达知识产权代理有限公司 代理人: 刘 萍
地址: 100124*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明的一种多视点视频编码中的运动和视差联合估计方法,步骤如下:A.将相同视点相邻时刻图像对应块的视差矢量,运动矢量分别作为当前编码块视差矢量的初值;B.分别将初值和已编码相邻块的预测矢量作比较,据匹配误差最小化准则选取最优预测矢量作为该区域的搜索起始点;C.结合相邻图像运动矢量和视差矢量之间的几何关系,由前一次运动/视差估计得到候选矢量来进行下一次视差/运动估计,不断修正当前运动和视差矢量,直到得到当前编码块的最佳运动矢量和视差矢量。该方法只需一次搜索过程就能同时确定最佳运动矢量和视差矢量。与全搜索算法相比,本发明峰值信噪比下降不超过0.09dB,码率比特略有节省,码率变化在-14.20%~+0.60%之间,且节省90%以上的编码时间。
搜索关键词: 一种 视点 视频 编码 中的 运动 视差 联合 估计 方法
【主权项】:
1、一种多视点视频编码中的运动和视差联合估计方法,首先令具有k+1台从左至右排列的平行摄像机系统拍摄得到的多视点视频表示为{S0,S1,S2…Sk},每路视点包含n个时刻的图像帧,令视点St为当前视点,1≤i≤k,Si的参考视点为相邻的左视点Si-1和右视点Si+1,令视点Si中t时刻的帧为当前帧,T为当前帧和该路视点中的两个最相邻已编码帧之间的时间间隔,当前帧在时间方向的前向参考帧为视点Si中t-T时刻的已编码帧,当前帧在时间方向的后向参考帧为视点Si中t+T时刻的已编码帧,当前帧在视点方向的前向参考帧为视点Si-1中t时刻的已编码帧,当前帧在视点方向的后向参考帧为视点Si+1中t时刻的已编码帧,前向搜索是指当前帧通过参考前向参考帧进行前向运动和视差估计,后向搜索是指当前帧通过参考后向参考帧进行后向运动和视差估计,假设正在编码的块Pi,t为当前块,当前块已编码的左边块、上边块、右上块通称为当前块的相邻块,参考帧中与当前块位置相同的块称为对应块,当前块在参考帧中的最佳匹配块称为预测块,其特征在于:包括以下步骤:(1)判断当前帧是否为锚定帧,如果是锚定帧,则采用全搜索方法对该锚定帧中的所有块进行编码,并且保存每个块编码后的视差矢量DVt-T;如果当前帧为非锚定帧,则将当前帧视点方向参考帧的运动和视差矢量读入到缓存中,将该非锚定帧的第一个块作为当前块;(2)开始前向搜索,求取当前块的前向运动矢量和前向视差矢量,将relation1描述的相邻图像的运动矢量和视差矢量的关系MVi+DVt-T=DVt+MVi-1定义为Relation,其中,MVi为当前块的前向运动矢量,DVt为当前块的前向视差矢量,DVt-T为当前块在时间方向的前向参考帧中的对应块的前向视差矢量,MVi-1为当前块在视点方向的前向参考帧中的对应块的前向运动矢量;(3)将当前块在时间方向的前向参考帧中的对应块的前向视差矢量DVt-T设为当前块的前向视差矢量的初值;将当前块在视点方向的前向参考帧中的对应块的前向运动矢量MVi-1设为当前块的前向运动矢量的初值;(4)将当前块的前向运动矢量初值MVi-1和当前块的前向视差矢量初值DVt-T分别与当前块的相邻块的预测矢量以及零矢量进行比较,选取使SAD值最小的矢量作为当前块的前向运动矢量预测值pMVi0和当前块的前向视差矢量预测值pDVt0,并在pMVi0附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳运动矢量匹配,选取使率失真代价最小的矢量作为该区域内的最佳运动矢量MVi0,保存该最小率失真代价RDCostME0;在pDVt0附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳视差矢量匹配,选取使率失真代价最小的矢量作为该区域内的最佳视差矢量DVt0,保存该最小率失真代价RDCostDE0,其中,SAD按下式计算, <mrow> <mi>SAD</mi> <mrow> <mo>(</mo> <mi>c</mi> <mo>,</mo> <mi>r</mi> <mrow> <mo>(</mo> <mi>mv</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <msub> <mi>B</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>B</mi> <mn>2</mn> </msub> </mrow> </munderover> <mo>|</mo> <mi>c</mi> <mo>[</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>]</mo> <mo>-</mo> <mi>r</mi> <mo>[</mo> <mi>i</mi> <mo>-</mo> <msub> <mi>mv</mi> <mi>x</mi> </msub> <mo>,</mo> <mi>j</mi> <mo>-</mo> <msub> <mi>mv</mi> <mi>y</mi> </msub> <mo>]</mo> <mo>|</mo> </mrow>SAD(c,r(mv))表示当前块和预测块的绝对误差和,c[i,j]表示当前块的像素值;r[i-mvx,j-mvy]表示预测块的像素值,B1,B2分别表示块的水平和垂直像素数,运动估计和视差估计的率失真代价按下式计算,RDCostME\DE=SAD(c,r(mv))+λ×R(mv-pred)mv=(mvx,mvy)T表示当前块相对于预测块的运动/视差矢量;pred=(predx,predy)T表示当前块的运动/视差矢量的预测值;码率R(mv-pred)表示编码运动/视差矢量的差值所需的比特数,λ表示拉格朗日乘子;(5)由上一步得到的运动/视差矢量来计算得到更准确的视差/运动矢量,由当前块Pi,t的位置和当前块的前向视差矢量DVt0相加得到当前块在视点方向的前向参考帧中的预测块Pi-1,t,即,Pi-1,t=Pi,t+DVt0,读取预测块Pi-1,t的前向运动矢量MVi-1,利用Relation描述的矢量关系,由pMVi1=DVt0+MVi-1-DVt-T得到一个新的当前块的前向运动矢量预测值pMVi1,其中,DVt-T为当前块在时间方向的前向参考帧中的对应块的前向视差矢量,MVi-1为当前块在视点方向的前向参考帧中的对应块的前向运动矢量,在pMVt1附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳运动矢量匹配,选取该区域内使率失真代价最小的运动矢量作为最佳运动矢量MVi1,保存该最小率失真代价RDCostME1;由当前块Pi,t的位置和当前块的前向运动矢量MVi1相加得到当前块在时间方向的前向参考帧中的预测块Pi,t-T,即,Pi,t-T=Pi,t+MVi1,读取预测块Pi,t-T的视差矢量DVt-T,利用Relation描述的矢量关系,由pDVt1=MVi1+DVt-T-MVi-1得到一个新的当前块的前向视差矢量预测值pDVt1,其中,DVt-T为当前块在时间方向的前向参考帧中的对应块的前向视差矢量,MVi-1为当前块在视点方向的前向参考帧中的对应块的前向运动矢量,在pDVt1附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳视差矢量匹配,选取使率失真代价最小的视差矢量作为该区域内的最佳视差矢量DVt1,保存该最小率失真代价RDCostDE1;(6)判断RDCostME1是否小于RDCostME0,RDCostDE1是否小于RDCostDE0,如果RDCostME1小于RDCostME0并且RDCostDE1小于RDCostDE0,则令DVt0=DVt1,MVi0=MVi1,RDCostME0=RDCostME1,RDCostDE0=RDCostDE1,跳转到步骤(5);否则,将MVi0,DVt0,RDCostME0,RDCostDE0保存为当前块的前向运动和视差估计结果;(7)比较前向运动矢量和前向视差矢量的率失真代价,选取率失真代价较小的作为前向搜索的最佳预测矢量;(8)开始后向搜索过程,首先判断当前帧是否有时间方向的后向参考帧,如果当前帧有时间方向的后向参考帧,则将relation2描述的相邻图像的运动矢量和视差矢量的关系定义为Relation,开始计算当前块的后向运动矢量和当前块的后向视差矢量;如果当前帧没有时间方向的后向参考帧,则将relation3描述的相邻图像的运动矢量和视差矢量的关系定义为Relation,跳转到步骤(14),开始计算当前块的后向视差矢量;其中,relation2如下式所示:DVt′+MVi+1′=MVi′+DVt+T′其中,MVi′为当前块的后向运动矢量,DVt′为当前块的后向视差矢量,DVt+T′为当前块在时间方向的后向参考帧中的对应块的后向视差矢量,MVi+1′为当前块在视点方向的后向参考帧中的对应块的后向运动矢量;relation3如下式所示:DVt′+MVi+1=MVi+DVt-T′其中,MVi为当前块的前向运动矢量,DVt′为当前块的后向视差矢量,DVt-T′为当前块在时间方向的前向参考帧中的对应块的后向视差矢量,MVi+1为当前块在视点方向的后向参考帧中的对应块的前向运动矢量;(9)将当前块在时间方向的后向参考帧中的对应块的后向视差矢量DVt+T′设为当前块后向视差矢量的初值;将当前块在视点方向的后向参考帧中的对应块的后向运动矢量MVi+1′设为当前块后向运动矢量的初值;(10)将当前块的后向运动矢量初值MVi+1′和当前块的后向视差矢量初值DVt+T′分别与当前块的相邻块的预测矢量以及零矢量进行比较,选取使SAD值最小的矢量作为当前块的后向运动矢量预测值pMVi0′和当前块的后向视差矢量预测值pDVt0′,并在pMVi0′附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳运动矢量匹配,选取使率失真代价最小的矢量作为该区域内的最佳运动矢量MVi0′,保存该最小率失真代价RDCostME0′;在pDVt0′附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳视差矢量匹配,选取使率失真代价最小的矢量作为该区域内的最佳视差矢量DVt0′,保存该最小率失真代价RDCostDE0′;(11)由上一步得到的运动/视差矢量来计算得到更准确的视差/运动矢量,由当前块Pi,t的位置和当前块的后向视差矢量DVt0′相加得到当前块在视点方向的后向参考帧中的预测块Pi+1,t,即,Pi+1,t=Pi,t+DVt0′,读取预测块Pi+1,t的后向运动矢量MVi+1′,利用Relation描述的矢量关系,由pMVi1′=DVt0′+MVi+1′DVt+T′得到一个新的当前块的后向运动矢量预测值pMVi1′,其中,DVt+T′为当前块在时间方向的后向参考帧中的对应块的后向视差矢量,MVi+1′为当前块在视点方向的后向参考帧中的对应块的后向运动矢量,在pMVi1′附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳运动矢量匹配,选取该区域内使率失真代价最小的运动矢量作为最佳运动矢量MVi1′,保存该最小率失真代价RDCostME1′;由当前块Pi,t的位置和当前块的后向运动矢量MVi1′相加得到当前块在时间方向后向参考帧中的预测块Pi,t+T,即,Pi,t+T=Pi,t+MVi1′,读取预测块Pi,t+T的后向视差矢量DVt+T′,利用Relation描述的矢量关系,由pDVt1′=MVi1′+DVt+T′-MVi+1′得到一个新的当前块的后向视差矢量预测值pDVt1′,其中,DVt+T′为当前块在时间方向的后向参考帧中的对应块的后向视差矢量,MVi+1′为当前块在视点方向的后向参考帧中的对应块的后向运动矢量,在pDVt1′附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳视差矢量匹配,选取使率失真代价最小的视差矢量作为该区域内的最佳视差矢量DVt1′,保存该最小率失真代价RDCostDE1′;(12)判断RDCostME1′是否小于RDCostME0′,RDCostDE1′是否小于RDCostDE0′,如果RDCostME1′小于RDCostME0′开且RDCostDE1′小于RDCostDE0′,则令DVt0′=DVt1′,MVi0′=MVi1′,RDCostME0′=RDCostME1′,RDCostDE0′=RDCostDE1′,跳转到步骤(11);否则,将MVi0′,DVt0 ′,RDCostME0′,RDCostDE0′保存为当前块的后向运动和视差估计结果;(13)比较后向运动矢量和后向视差矢量的率失真代价,选取率失真代价较小的作为后向搜索的最佳预测矢量,跳转到步骤(18);(14)将当前块在时间方向的前向参考帧中的对应块的后向视差矢量DVt-T′设为当前块后向视差矢量的初值;(15)将当前块的后向视差矢量初值DVt-T′与当前块的相邻块的预测矢量以及零矢量进行比较,选取使SAD值最小的矢量作为当前块的后向视差矢量预测值pDVt0′,在pDVt0′附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳视差矢量匹配,选取使率失真代价最小的矢量作为该区域内的最佳视差矢量DVt0′,保存该最小率失真代价RDCostDE0′;(16)由当前块Pi,t的位置和当前块的后向视差矢量DVt0′相加得到当前块在视点方向的后向参考帧中的预测块Pi+1,t,即,Pi+1,t=Pi,t+DVt0′,读取预测块Pi+1,t的前向运动矢量MVi+1,利用Relation描述的矢量关系,由pMVi1=DVt0′+MVi+1-DVt-T′得到一个新的当前块的前向运动矢量预测值pMVi1,其中,DVt-T′为当前块在时间方向的前向参考帧中的对应块的后向视差矢量,MVi+1为当前块在视点方向的后向参考帧中的对应块的前向运动矢量,在pMVi1附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳运动矢量匹配,选取该区域内使率失真代价最小的运动矢量作为最佳运动矢量MVi1;由当前块Pi,t的位置和当前块的前向运动矢量MVi1相加得到当前块在时间方向前向参考帧中的预测块Pi,t-T,即,Pi,t-T=Pi,t+MVi1,读取预测块Pi,t-T的后向视差矢量DVt-T′,利用Relation描述的矢量关系,由pDVt1′=DVt-T′+MVi1-MVi+1得到一个新的当前块的后向视差矢量预测值pDVt1′,其中,DVt-T′为当前块在时间方向的前向参考帧中的对应块的后向视差矢量,MVi+1为当前块在视点方向的后向参考帧中的对应块的前向运动矢量,在pDVt1′附近设定一个至少2个像素的搜索窗口,在这个搜索窗口内进行最佳视差矢量匹配,选取使率失真代价最小的视差矢量作为该区域内的最佳视差矢量DVt1′,保存该最小率失真代价RDCostDE1′;(17)判断RDCostDE1′是否小于RDCostDE0′,如果RDCostDE1′小于RDCostDE0′,则令DVt0′=DVt1′,RDCostDE0′=RDCostDE1′,跳转到步骤(16);否则,将DVt0′作为后向搜索的最佳预测矢量;(18)根据前向搜索和后向搜索得到的结果,从中选取使率失真代价最小的矢量作为当前块的最优预测矢量,保存当前块的最佳编码信息,当前块的运动和视差估计过程结束;(19)判断当前帧中是否还有未编码块,如果当前帧中还有未编码块,则跳转到步骤(2),开始编码当前块的下一块;如果当前帧中所有块都编码完毕,则判断当前视点中是否还有未编码帧,如果当前视点中还有未编码帧,则跳转到步骤(1),开始编码当前帧的下一帧;如果当前视点的所有帧都编码完毕,则对当前视点的编码过程结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200910088397.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top