发明名称 一种多视点视频整帧丢失错误隐藏方法
摘要 本发明公开了一种多视点视频整帧丢失错误隐藏方法,该方法通过预先判断丢失帧中各个图像块在时域与视点间相关性的强弱,以选择合适的参考帧,采用不同的恢复方法恢复丢失帧中的图像块,并对恢复得到的初步恢复帧进行空洞区域填补处理,得到丢失帧的最终恢复帧,优点在于本发明方法有效利用了视点间相关性与时域相关性,对于丢失帧中预先判定为时域相关性较强的图像块,采用时域直接拷贝的方法恢复图像块,不仅可减少计算复杂度,而且能提高所恢复的这部分图像块的主客观质量,而对于丢失帧中预先判定为时域相关性较差的图像块,采用视点间预测恢复的方法恢复图像块,可以有效提高这部分图像块恢复的准确性。
申请公布号 CN102572446B 申请公布日期 2014.02.26
申请号 CN201210005799.4 申请日期 2012.01.10
申请人 宁波大学 发明人 郁梅;程清栋;李福;蒋刚毅
分类号 H04N7/68(2006.01)I 主分类号 H04N7/68(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 程晓明;周珏
主权项 1.一种多视点视频整帧丢失错误隐藏方法,其特征在于包括以下步骤:①假定多视点视频的第s<sub>c</sub>个视点中的第t<sub>c</sub>时刻的图像帧为丢失帧,记为f(t<sub>c</sub>,s<sub>c</sub>),则将多视点视频的第s<sub>c</sub>个视点中已正确解码的时域上先于丢失帧f(t<sub>c</sub>,s<sub>c</sub>)且离丢失帧f(t<sub>c</sub>,s<sub>c</sub>)最近的图像帧记为f(t<sub>p</sub>,s<sub>c</sub>),将多视点视频的第s<sub>c</sub>个视点中已正确解码的时域上后于丢失帧f(t<sub>c</sub>,s<sub>c</sub>)且离丢失帧f(t<sub>c</sub>,s<sub>c</sub>)最近的图像帧记为f(t<sub>b</sub>,s<sub>c</sub>),令s<sub>l</sub>为多视点视频中离第s<sub>c</sub>个视点最近的左视点的编号,令s<sub>r</sub>为多视点视频中离第s<sub>c</sub>个视点最近的右视点的编号,将多视点视频的第s<sub>l</sub>个视点中已正确解码的第t<sub>c</sub>时刻的图像帧记为f(t<sub>c</sub>,s<sub>l</sub>),将多视点视频的第s<sub>r</sub>个视点中已正确解码的第t<sub>c</sub>时刻的图像帧记为f(t<sub>c</sub>,s<sub>r</sub>),将多视点视频的第s<sub>l</sub>个视点中已正确解码的第t<sub>p</sub>时刻的图像帧记为f(t<sub>p</sub>,s<sub>l</sub>),将多视点视频的第s<sub>r</sub>个视点中已正确解码的第t<sub>p</sub>时刻的图像帧记为f(t<sub>p</sub>,s<sub>r</sub>),将多视点视频的第s<sub>l</sub>个视点中已正确解码的第t<sub>b</sub>时刻的图像帧记为f(t<sub>b</sub>,s<sub>l</sub>),将多视点视频的第s<sub>r</sub>个视点中已正确解码的第t<sub>b</sub>时刻的图像帧记为f(t<sub>b</sub>,s<sub>r</sub>),其中,t<sub>p</sub>为多视点视频的第s<sub>c</sub>个视点中已正确解码的时域上先于丢失帧f(t<sub>c</sub>,s<sub>c</sub>)且离丢失帧f(t<sub>c</sub>,s<sub>c</sub>)最近的图像帧f(t<sub>p</sub>,s<sub>c</sub>)所在的时刻,t<sub>p</sub><t<sub>c</sub>,t<sub>b</sub>为多视点视频的第s<sub>c</sub>个视点中已正确解码的时域上后于丢失帧f(t<sub>c</sub>,s<sub>c</sub>)且离丢失帧f(t<sub>c</sub>,s<sub>c</sub>)最近的图像帧f(t<sub>b</sub>,s<sub>c</sub>)所在的时刻,t<sub>c</sub><t<sub>b</sub>;②计算f(t<sub>c</sub>,s<sub>l</sub>)与f(t<sub>c</sub>,s<sub>r</sub>)的帧差图像,记为f(t<sub>c</sub>),f(t<sub>c</sub>)=|f(t<sub>c</sub>,s<sub>l</sub>)-f(t<sub>c</sub>,s<sub>r</sub>)|,同时计算f(t<sub>p</sub>,s<sub>l</sub>)与f(t<sub>p</sub>,s<sub>r</sub>)的帧差图像,记为f(t<sub>p</sub>),f(t<sub>p</sub>)=|f(t<sub>p</sub>,s<sub>l</sub>)-f(t<sub>p</sub>,s<sub>r</sub>)|,然后计算f(t<sub>c</sub>)与f(t<sub>p</sub>)的帧差图像,记为f<sub>a</sub>,f<sub>a</sub>=|f(t<sub>c</sub>)-f(t<sub>p</sub>)|,其中,“||”为取绝对值符号;③将f<sub>a</sub>分割成<img file="FDA0000129743980000011.GIF" wi="147" he="106" />个互不重叠的尺寸大小为m×m的第一图像块,统计f<sub>a</sub>中的每个第一图像块中像素值大于统计值判断阈值T<sub>0</sub>的像素点的个数,并确定f<sub>a</sub>中的每个第一图像块的映射状态:对于f<sub>a</sub>中的第i个第一图像块,将其记为Blk<sub>i</sub>,统计Blk<sub>i</sub>中像素值大于统计值判断阈值T<sub>0</sub>的像素点的个数,记为N<sub>i</sub>,并确定Blk<sub>i</sub>的映射状态,记为s(i),<maths num="0001"><![CDATA[<math><mrow><mi>s</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>N</mi><mi>i</mi></msub><mo>></mo><msub><mi>N</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>if</mi></mtd><mtd><msub><mi>N</mi><mi>i</mi></msub><mo>&le;</mo><msub><mi>N</mi><mn>0</mn></msub></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中,<img file="FDA0000129743980000022.GIF" wi="300" he="107" />W和H分别表示多视点视频中的图像帧的宽度和高度,N<sub>0</sub>为映射状态判断阈值;④将丢失帧f(t<sub>c</sub>,s<sub>c</sub>)分割成<img file="FDA0000129743980000023.GIF" wi="146" he="107" />个互不重叠的尺寸大小为m×m的第二图像块,将f(t<sub>p</sub>,s<sub>c</sub>)分割成<img file="FDA0000129743980000024.GIF" wi="146" he="107" />个互不重叠的尺寸大小为m×m的第三图像块,将f(t<sub>c</sub>,s<sub>l</sub>)分割成<img file="FDA0000129743980000025.GIF" wi="147" he="107" />个互不重叠的尺寸大小为m×m的第四图像块,然后根据f<sub>a</sub>中坐标位置与丢失帧f(t<sub>c</sub>,s<sub>c</sub>)中的第二图像块的坐标位置对应的第一图像块的映射状态,利用f(t<sub>p</sub>,s<sub>c</sub>)中坐标位置与丢失帧f(t<sub>c</sub>,s<sub>c</sub>)中的第二图像块的坐标位置对应的第三图像块中各个像素点的像素值或f(t<sub>c</sub>,s<sub>l</sub>)中坐标位置与丢失帧f(t<sub>c</sub>,s<sub>c</sub>)中的第二图像块的坐标位置对应的第四图像块中各个像素点的像素值,逐一初步恢复丢失帧f(t<sub>c</sub>,s<sub>c</sub>)中的各个第二图像块,获得丢失帧f(t<sub>c</sub>,s<sub>c</sub>)的初步恢复帧,记为f′(t<sub>c</sub>,s<sub>c</sub>),具体过程为:④-1、定义丢失帧f(t<sub>c</sub>,s<sub>c</sub>)中当前待初步恢复的第i个第二图像块为当前第二图像块,记为B<sub>i</sub>,令<img file="FDA0000129743980000026.GIF" wi="187" he="57" />为当前第二图像块B<sub>i</sub>的左上角顶点的坐标位置;④-2、判断f<sub>a</sub>中左上角顶点的坐标位置与当前第二图像块B<sub>i</sub>的左上角顶点的坐标位置<img file="FDA0000129743980000027.GIF" wi="188" he="57" />对应的第一图像块Blk<sub>i</sub>的映射状态s(i)是否为0,如果是,则将f(t<sub>p</sub>,s<sub>c</sub>)中左上角顶点的坐标位置与当前第二图像块B<sub>i</sub>的左上角顶点的坐标位置<img file="FDA0000129743980000028.GIF" wi="188" he="57" />对应的第三图像块BP<sub>i</sub>中各个像素点的像素值复制给当前第二图像块B<sub>i</sub>中对应的像素点;否则,通过视差估计方法计算f(t<sub>c</sub>,s<sub>l</sub>)中左上角顶点的坐标位置与当前第二图像块B<sub>i</sub>的左上角顶点的坐标位置<img file="FDA0000129743980000029.GIF" wi="188" he="58" />对应的第四图像块BL<sub>i</sub>在f(t<sub>c</sub>,s<sub>r</sub>)中的最佳匹配块,并得到相应的视差矢量(dx<sub>i</sub>,dy<sub>i</sub>),然后将f(t<sub>c</sub>,s<sub>l</sub>)中左上角顶点的坐标位置与当前第二图像块B<sub>i</sub>的左上角顶点的坐标位置<img file="FDA00001297439800000210.GIF" wi="188" he="58" />对应的第四图像块BL<sub>i</sub>中各个像素点的像素值复制给丢失帧f(t<sub>c</sub>,s<sub>c</sub>)中左上角顶点的坐标位置为<img file="FDA0000129743980000031.GIF" wi="533" he="57" />的大小为m×m的图像块中对应的像素点,其中,<img file="FDA0000129743980000032.GIF" wi="295" he="120" />D<sub>L</sub>表示多视点视频的第s<sub>l</sub>个视点和第s<sub>c</sub>个视点之间的距离,D<sub>R</sub>表示多视点视频的第s<sub>r</sub>个视点和第s<sub>c</sub>个视点之间的距离;④-3、令i′=i+1,i=i′,将丢失帧f(t<sub>c</sub>,s<sub>c</sub>)中下一个待初步恢复的第二图像块作为当前第二图像块B<sub>i</sub>,返回步骤④-2继续执行,直至丢失帧f(t<sub>c</sub>,s<sub>c</sub>)中的所有第二图像块完成初步恢复为止,获得丢失帧f(t<sub>c</sub>,s<sub>c</sub>)的初步恢复帧f′(t<sub>c</sub>,s<sub>c</sub>),其中,i′的初始值为0;⑤对丢失帧f(t<sub>c</sub>,s<sub>c</sub>)的初步恢复帧f′(t<sub>c</sub>,s<sub>c</sub>)进行空洞区域填补处理,获得丢失帧f(t<sub>c</sub>,s<sub>c</sub>)的最终恢复帧。
地址 315211 浙江省宁波市江北区风华路818号