[发明专利]一种基于显著性的立体三维视频错误隐藏方法有效
| 申请号: | 202010523987.0 | 申请日: | 2020-06-10 |
| 公开(公告)号: | CN111770346B | 公开(公告)日: | 2022-09-30 |
| 发明(设计)人: | 崔金鹏;周洋;梁文青;张博文;殷海兵;陆宇;黄晓峰 | 申请(专利权)人: | 杭州电子科技大学 |
| 主分类号: | H04N19/593 | 分类号: | H04N19/593;H04N19/513;H04N19/176;H04N19/182;H04N19/96;H04N19/895 |
| 代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨舟涛 |
| 地址: | 310018 浙*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 显著 立体 三维 视频 错误 隐藏 方法 | ||
1.一种基于显著性的立体三维视频错误隐藏方法,其特征在于,该方法具体是:
步骤(1).采用高效率视频编码HEVC默认的编码树单元CTU大小64×64,获得丢失帧中各区域的显著等级,具体如下:
(1-1).对一个丢失块分别获取前向参考帧中同位置的像素块、后向参考帧中同位置的像素块,以及视点间当前参考帧中同位置的像素块;计算得到像素点(x0+i,y0+j)当前时刻的运动显著性图Sa的像素值Sa(x0+i,y0+j,t);其中,视点间的参考视点为当前视点的水平相邻视点;所述的丢失块是指彩色图丢失,其对应深度图Sc并未丢失;
Sa(x0+i,y0+j,t)=||pn(x0+i,y0+j,t-1)-pn-1(x0+i,y0+j,t)|-|pn(x0+i,y0+j,t+1)-pn-1(x0+i,y0+j,t)||;
其中,(x0,y0)是丢失块的左上角的像素坐标,(i,j)是相对于左上角像素坐标的偏移值,i,j∈Z,且i,j∈[0,63],Z表示整数;t表示当前帧所对应的时刻,t-1、t+1分别表示对应当前帧的前向参考帧和后向参考帧所对应的时刻;n、n-1分别表示当前视点和视点间参考视点;pn(x,y,t-1)表示当前视点前向参考帧中丢失块对应(x,y)位置的像素值,pn(x,y,t+1)表示当前视点后向参考帧中丢失块对应(x,y)位置的像素值,pn-1(x,y,t)表示视点间参考视点当前参考帧中丢失块对应(x,y)位置的像素值;
(1-2).对彩色图丢失块所对应深度图的同位置像素块进行预处理,得到预处理后深度图Sb中像素点(x0+i,y0+j)的像素值Sb(x0+i,y0+j):
其中,d(x0+i,y0+j)表示当前视点当前深度帧中对应(x0+i,y0+j)位置的像素值,dy0+j表示当前视点当前深度帧中第y0+j行像素点的平均像素值;
(1-3).采用区域对比度提取得到深度显著性图Sd中像素点(x0+i,y0+j)的像素值Sd(x0+i,y0+j):
其中,k∈[0,255],C(k)表示当前视点当前深度帧中64×64块内像素值为k的像素点的平均出现频率,m表示该64×64块内像素值为k的像素点的个数;
(1-4).计算深度图Sc中像素点(x0+i,y0+j)的x方向梯度幅值Gx(x0+i,y0+j)和y方向梯度幅值Gy(x0+i,y0+j),得到(x0+i,y0+j)像素点的边缘梯度幅值G(x0+i,y0+j):
G(x0+i,y0+j)=|Gx(x0+i,y0+j)|+|Gy(x0+i,y0+j)|;
其中,d(x,y)表示深度帧中(x,y)位置像素点的像素值;
将边缘梯度幅值大于120的深度像素点所对应的像素值设为255,其余深度像素点的像素值全部设为0,得到深度边缘显著性图Se中像素点(x0+i,y0+j)的像素值Se(x0+i,y0+j):
(1-5).采用乘法融合的方法计算融合后的显著性值:
首先将运动显著性图和深度显著性图融合,得到运动深度融合显著性图Sad中像素点(x0+i,y0+j)的像素值Sad(x0+i,y0+j):
然后将运动深度融合显著性图Sad进行块化处理,得到块化处理后运动深度融合显著性图Sad′中像素点(x0+i,y0+j)的像素值Sad′(x0+i,y0+j):
s.t.1:对于Sad中每个编码树单元CTU尺寸为64×64,存在超过6个像素值为128的像素点;
将深度边缘显著性图Se块化处理,得到块化处理后深度边缘显著性图Se′中像素点(x0+i,y0+j)的像素值Se′(x0+i,y0+j):
s.t.2:对于Se中每个编码树单元CTU,存在超过10个像素值为255的像素点;
丢失块的最终显著性图S中像素点(x0+i,y0+j)的像素值S(x0+i,y0+j)由Se′(x0+i,y0+j)和Sad′(x0+i,y0+j)合并而成:
表示并且;
S中所有像素值为255的像素点构成的区域的显著等级设为高,有像素值为0的像素点构成的区域的显著等级设为低,有像素值为128的像素点构成的区域的显著等级设为中,得到该丢失块各区域的显著等级;
步骤(2).不同显著等级的区域采用不同的恢复方式;
(2-1).对于显著等级为低的区域,采用时域拷贝的方法恢复,即用前向参考帧或者后向参考帧的同位置像素直接填补;
(2-2).对于显著等级为中的区域,采用时域搜索像素填补或视点间搜索像素填补:
将当前64×64的丢失块划分为32×32的宏块pcCU,假设pcCU是线性运动的,在搜索范围为[-16,16]内搜索前向帧与后向帧的对应块;
对搜索的前向块pcCU_forward和后向块pcCU_back做绝对差值Diff:
其中,(i',j')是相对于左上角像素坐标的偏移值,i′,j′∈Z,且i′,j′∈[0,31];xs和ys分别为x方向和y方向的搜索值,xs,ys∈Z,xs,ys∈[-16,16];pcCU_back(x0+i'-xs,y0+j'-ys)为搜索的后向块像素,即后向参考帧中对应(x0+i'-xs,y0+j'-ys)位置像素点的像素值;pcCU_forward(x0+i'+xs,y0+j'+ys)为搜索的前向块像素;即前向参考帧中对应(x0+i'+xs,y0+j'+ys)位置像素点的像素值;
将最小绝对值差D所对应的xs和ys分别记为xs0和ys0,D=min{Diff(xs,ys)}:
若D<2.5,采用时域搜索像素填补,即采用pcCU_forward与pcCU_back加权平均来恢复pcCU:
若D≥2.5,采用视点间搜索像素填补,具体如下:
设定视点搜索值g_f和g_b,g_f,g_b∈[-64,64],分别计算pcCU_forward与相邻视点前向帧块pcCU_forward_view的绝对差值GF、pcCU_back与相邻视点后向帧pcCU_back_view的绝对差值GB:
得到最小GF值Gf和最小GB值Gb,Gf=min{GF(g_f)},Gb=min{GB(g_b)};
其中,pcCU_forward_view(x0+i'+xs0+g_f,y0+j'+ys0)为搜索的相邻视点前向块像素,即相邻视点前向帧中(x0+i'+xs0+g_f,y0+j'+ys0)位置像素点的像素;
pcCU_back_view(x0+i'-xs0+g_b,y0+j'-ys0)为搜索的相邻视点后向块像素,即相邻视点后向帧中(x0+i'-xs0+g_b,y0+j'-ys0)位置像素点的像素;
pcCU_view(x,y)为相邻视点当前帧中(x,y)位置像素点的像素;
计算出pcCU对应在相邻视点中的块,并用该块恢复pcCU:
pcCU(x0+i',y0+j')=pcCU_view(X0_view+i',y0+j'),X0_view=x0+g_f0;
g_f0为Gf所对应的视点搜索值g_f,g_b0为Gb所对应的视点搜索值g_b;
(2-3).对于显著等级为高的区域,按照如下方式处理:
若Gf和Gb均小于3,采用所述的视点间搜索像素填补方法进行恢复:
pcCU(x0+i',y0+j')=pcCU_view(X0_view+i',y0+j'),X0_view=x0+g_f0;
若Gf和Gb至少一个大于等于3,通过估计得到相邻视点当前帧中与pcCU相似的像素块的左上角像素点,构建运动矢量集,并采用基于HEVC的MV运动补偿方法恢复:
x0_forward_view=x0+g_f0+xs0;
x0_back_view=x0-xs0+g_b0;
其中x0_forward_view为在相邻视点前向帧中搜索到的像素块的左上角像素点的x坐标,x0_back_view为在相邻视点后向帧中搜索到的像素块的左上角的像素点的x坐标,x0_view为在视点间块不相似时,通过估计得到的相邻视点当前帧中与pcCU相似的像素块的左上角像素点的x坐标;
将(x0_view,y0)作为相邻视点当前帧中32×32的M宏块的左上角像素坐标,而M宏块必隶属于相邻视点当前帧中64×64的N宏块,设N宏块的左上角像素坐标为(xn,yn),y0=yn或y0=yn+32;
获得N宏块的运动矢量MV构建候选运动矢量集,运动矢量MV从HEVC中最小处理单元4×4获得,从编码中直接获取,标记为MV1,MV2,…,MV16,分别为N宏块中左上角16个像素坐标的4×4像素块运动矢量;
对于y0=yn情况,对应的像素坐标分别为(xn,yn+12)、(xn+12,yn+12)、(xn+16,yn+12)、(xn+28,yn+12)、(xn+32,yn+12)、(xn+44,yn+12)、(xn+48,yn+12)、(xn+60,yn+12)、(xn,yn+28)、(xn+12,yn+28)、(xn+16,yn+28)、(xn+28,yn+28)、(xn+32,yn+28)、(xn+44,yn+28)、(xn+48,yn+28)、(xn+60,yn+28);
对于y0=yn+32情况,对应的像素坐标分别为(xn,yn+44)、(xn+12,yn+44)、(xn+16,yn+44)、(xn+28,yn+44)、(xn+32,yn+44)、(xn+44,yn+44)、(xn+48,yn+44)、(xn+60,yn+44)、(xn,yn+60)、(xn+12,yn+60)、(xn+16,yn+60)、(xn+28,yn+60)、(xn+32,yn+60)、(xn+44,yn+60)、(xn+48,yn+60)、(xn+60,yn+60);
将M宏块继续分为4个16×16的块,分别为左上块Ma、右上块Mb、左下块Mc、右下块Md;对各块通过运动矢量补偿进行恢复,具体如下:
①.如0≤x0_view-xn<16:左上块Ma选用MV2补偿恢复,右上块Mb选用MV5补偿恢复,左下块Mc选用MV10补偿恢复,右下块Md选用MV13补偿恢复;
②.如16≤x0_view-xn<32:左上块Ma选用MV4补偿恢复,右上块Mb选用MV7补偿恢复,左下块Mc选用MV12补偿恢复,右下块Md选用MV15补偿恢复;
③.如32≤x0_view-xn<48:左上块Ma选用MV6补偿恢复,右上块Mb选用MV1补偿恢复,左下块Mc选用MV14补偿恢复,右下块Md选用MV9补偿恢复;
④.如48≤x0_view-xn<64:左上块Ma选用MV8补偿恢复,右上块Mb选用MV3补偿恢复,左下块Mc选用MV16补偿恢复,右下块Md选用MV11补偿恢复;
结合四种情况得到恢复的M宏块,用M宏块覆盖pcCU完成恢复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010523987.0/1.html,转载请声明来源钻瓜专利网。





