[发明专利]基于视差矢量外推的立体视频右视点B帧错误隐藏方法有效
申请号: | 201910104758.2 | 申请日: | 2019-02-01 |
公开(公告)号: | CN109922349B | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 周洋;谢菲;周辉;尉婉丽 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | H04N19/65 | 分类号: | H04N19/65;H04N19/597;H04N19/52;H04N19/533;H04N19/577;H04N19/176;H04N13/161 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及基于视差矢量外推的立体视频右视点B帧错误隐藏方法。本发明方法首先对立体视频右视点出错帧的同时刻的左视点帧建立视差矢量场;对于帧间编码块,根据帧中的运动预测信息在参考帧中找到帧间编码块对应的运动参考块,并根据运动参考块和搜索帧中的像素信息估计视差矢量;对于帧内编码块,根据周边相邻的帧间编码块的像素信息,计算像素信息最为相近的帧间编码块的视差矢量作为当前帧内编码块的视差矢量。本发明方法处理方式更为精细,在隐藏丢失块的过程中,对帧间编码块与帧内编码块提出了两种不同的隐藏方式,与传统的运动矢量外推算法中仅仅使用拷贝的方式相比,该方法在边界上的处理更为连续平滑。 | ||
搜索关键词: | 基于 视差 矢量 立体 视频 视点 错误 隐藏 方法 | ||
【主权项】:
1.基于视差矢量外推的立体视频右视点B帧错误隐藏方法,其特征在于:该方法首先对立体视频右视点出错帧的同时刻的左视点帧建立视差矢量场,根据左视点帧中块的类型不同,视差矢量的估计有两种情况:对于帧间编码块,根据帧中的运动预测信息在参考帧中找到帧间编码块对应的运动参考块,并根据运动参考块和搜索帧中的像素信息估计视差矢量;对于帧内编码块,根据周边相邻的帧间编码块的像素信息,计算像素信息最为相近的帧间编码块的视差矢量作为当前帧内编码块的视差矢量,块的大小为16×16像素;对出错帧对应左视点帧中的各个16×16大小的编码块建立视差矢量场的具体方法是:(1).统计出错帧中未丢失的视点间预测块,出错帧的前向、后向参考帧中的视点间预测块的数目,统计这些视点间预测块的视差矢量的模的最大值Xmax和全局视差矢量Dvglobal;Xmax=max{|Dv1|,|Dv2|,|Dv3|…|Dvnum|},
num为出错帧中未丢失的视点间预测块和出错帧的前向、后向参考帧中的视点间预测块的个数之和,Dvi表示出错帧中未丢失的各个视点间预测块以及出错帧的前向、后向参考帧中各视点间预测块的视差矢量,k=1,2,…,num;(2).判断出错帧对应左视点帧中的块是否为帧间编码块:在左视点帧中,根据解码块的编码信息判断当前块是否属于帧间编码块;如果当前块属于帧间编码块,则对帧间编码块进行视差矢量估计;如果当前块属于帧内编码块,则等到处理完帧间编码块后,再对帧内编码块进行视差矢量估计;(3).处理出错帧对应左视点帧中的帧间编码块:根据左视点帧中的帧间编码块的编码信息,将帧间编码块分为两类:单向编码块和双向编码块,所述的单向编码块为单向参考类型的帧间编码块,所述的双向编码块为双向参考类型的帧间编码块;单向编码块只参考前向参考帧或者后向参考帧中的一种,而双向编码块则会同时参考前向参考帧与后向参考帧;(4).处理右视点出错帧的对应左视点帧中的帧内编码块:首先在帧内编码块的相邻块中搜索与帧内编码块像素值相差最小的块;如果此块与帧内编码块的像素值相差小于阈值Tpixel,则使用此块的视差矢量作为帧内编码块的视差矢量;如果此块与帧内编码块的像素值相差大于阈值Tpixel,则使用全局视差矢量Dvglobal作为帧内编码块的视差矢量;Tpixel为像素阈值,用于判断帧内编码块与其相邻的帧间编码块的平均像素差是否满足要求;当视差矢量场建立后,根据所得到的各编码块的视差矢量信息,在出错帧的对应左视点帧和右视点出错帧之间进行视差矢量外推,具体方法如下:①.遍历出错帧的对应左视点帧中的16x16块,对每个块根据其坐标和其视差矢量,外推得到该块在出错帧中的位置:
(x,y)为外推至出错帧中的左上角坐标位置,x0′与y0′为外推块在左视点帧中的左上角坐标位置,DVx与DVy分别为外推块的视差矢量的水平分量与垂直分量;②.统计左视点当前块外推至丢失块位置后,外推块与丢失块所占区域的重叠面积;③.选取重叠面积最大的外推块作为丢失块的匹配块,并将匹配块的视差矢量取反后赋予给丢失块;对空洞块进行视差矢量获取,在空洞块与左视点帧中的块间建立联系,所述的空洞块是指在完成矢量外推后,出错帧中的大部分丢失块均有外推块与其重叠,但有部分块因在估计视差矢量时不够精确,将没有外推块与其重叠,没有外推块与其重叠的丢失块即为空洞块;空洞块的视差矢量获取方法是根据空洞块左右侧的块的分布,将空洞块分为三种情况:a.空洞块左右侧均为外推块;b.空洞块左右侧只有一侧为外推块,另一侧为丢失块或未丢失块;c.空洞块左右侧无外推块;A.对于情况a:首先计算空洞块左右两侧外推块的视差矢量差,设置阈值TDv用于判断左侧块的视差矢量的模与右侧块的视差矢量的模的差值大小;当视差矢量差小于阈值TDv,则对两个视差矢量取均值作为空洞块的视差矢量;否则,根据空洞块左右两侧块的编码参考模式进行插值,插值过程如下:如果空洞块左右两侧块均为双向编码块或均为单向编码块,则比较对应参考模式下的运动矢量差,并设置阈值TMv用于判断相同参考模式下,左侧块的运动矢量的模与右侧块的运动矢量的模的差值大小;当运动矢量差小于阈值TMv,则使用空洞块左右两侧块中视差矢量的模较小的视差矢量作为空洞块的视差矢量;如果运动矢量差大于阈值TMv,则进行下一步基于像素值的方式,即比较空洞块左右两侧块的像素值;如果空洞块左右两侧块参考模式不同或运动矢量差大于阈值TMv,比较空洞块左右两侧块的像素值;当空洞块左右两侧块的像素差值小于像素阈值Tpixel,则使用空洞块左右两侧块中视差矢量的模较小的视差矢量作为空洞块的视差矢量;否则,则使用全局视差矢量Dvglobal作为当前空洞块的视差矢量;B.对于情况b:在空洞块的非外推块这一侧的上方或下方寻找外推块;如果存在外推块,则使用非外推块侧上方或下方所找到的外推块和空洞块另一侧的外推块按照情况a进行处理;如果空洞块的非外推块侧的上下方均不存在外推块,则使用全局视差矢量Dvglobal作为空洞块的视差矢量;C.对于情况c:在空洞块的左右两侧的上方或下方寻找外推块,如果空洞块的左右两侧的上方或下方均存在外推块,则按照情况a进行处理;如果空洞块的左右两侧只有一侧在上方或下方寻找的到外推块,则使用此块的视差矢量作为空洞块的视差矢量;如果空洞块的左右两侧的上方或下方均不存在外推块,则使用全局视差矢量Dvglobal作为空洞块的视差矢量;空洞块获取到对应的视差矢量后,右视点出错帧中的丢失块均能在出错帧的对应左视点帧中找到对应的匹配块,对丢失块进行错误隐藏,具体过程如下:首先根据丢失块的视差矢量找到其位于左视点帧中的匹配块,隐藏丢失块的方式根据匹配块的不同分为两种方式:右视点运动补偿和匹配块像素值拷贝;如果匹配块为帧间编码块,则使用右视点运动补偿方式来隐藏丢失块,具体方法是:首先拷贝匹配块的运动预测信息至丢失块,匹配块的运动预测信息包括参考帧索引和运动矢量信息,运动预测信息拷贝至丢失块后,丢失块首先根据匹配块的参考帧索引定位到右视点中参考帧所处的位置,丢失块再根据所拷贝的运动矢量信息,找到丢失块在右视点参考帧中所对应的最佳参考块的位置,寻找最佳匹配块的方法为:
(x′,y′)为最佳参考块在右视点参考帧中的左上角坐标位置,(x0″,y0″)为丢失块在出错帧中的左上角坐标位置,MVx和MVy分别为丢失块拷贝的运动矢量的水平分量与垂直分量;在找到最佳参考块的位置后,将最佳参考块的像素值拷贝至丢失块中,完成对丢失块的右视点运动补偿;如果匹配块为帧内编码块,则使用匹配块像素值拷贝来隐藏丢失块;首先根据丢失块的视差矢量,找到丢失块位于左视点帧中的匹配块位置,在找到匹配块位置后,将匹配块的像素值拷贝至丢失块中,完成对丢失块的匹配块像素值拷贝。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910104758.2/,转载请声明来源钻瓜专利网。