CN103475884B - 面向hbp编码格式的立体视频b帧整帧丢失错误隐藏方法 - Google Patents

面向hbp编码格式的立体视频b帧整帧丢失错误隐藏方法 Download PDF

Info

Publication number
CN103475884B
CN103475884B CN201310416333.8A CN201310416333A CN103475884B CN 103475884 B CN103475884 B CN 103475884B CN 201310416333 A CN201310416333 A CN 201310416333A CN 103475884 B CN103475884 B CN 103475884B
Authority
CN
China
Prior art keywords
frame
block
motion vector
image
image block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310416333.8A
Other languages
English (en)
Other versions
CN103475884A (zh
Inventor
郁梅
周洋
蒋刚毅
邵枫
彭宗举
陈芬
王晓东
李福翠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo University
Original Assignee
Ningbo University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo University filed Critical Ningbo University
Priority to CN201310416333.8A priority Critical patent/CN103475884B/zh
Publication of CN103475884A publication Critical patent/CN103475884A/zh
Application granted granted Critical
Publication of CN103475884B publication Critical patent/CN103475884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其充分考虑了不同层次B帧丢失对解码端视频质量的影响,根据解码中B帧的位置不同,将B帧分层划分成核心帧、次核心帧和普通帧,然后将丢失B帧划分为背景区域和前景区域,再将次核心帧和普通帧的前景区域划分为强运动相关区域和弱运动相关区域,采用不同的错误隐藏方法对不同的区域进行错误隐藏,本发明方法避免了现有的B帧错误隐藏法对重要性等级不同的B帧仅采用单一方法的缺点,有效地提高了立体视频恢复的质量;同时根据立体视频中的左视点和右视点各编码块问存在的运动矢量相关性,并把它应用到错误隐藏方法中,有效地提高了差错掩盖的性能。

Description

面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法
技术领域
本发明涉及一种立体视频错误隐藏方法,尤其是涉及一种面向HBP(分层B帧,Hierarchical B Prediction)编码格式的立体视频B帧整帧丢失错误隐藏方法。
背景技术
多视点视频能够提供灵活的场景描述形式,可应用于立体视频、自由视点视频等新兴的视频服务中。立体视频仅需两个视点即可实现,它能够让用户对观察到的视频场景具有一种三维深度感,可带给人们更逼真、更丰富的视频体验。但是,当立体视频编码流通过无线网络等易错信道传输时,由于网络阻塞和信道扰动,因此会不可避免地出现数据包丢失或部分比特出错,从而会导致其后的解码发生误匹配,进而产生解码失真。
错误隐藏技术是在视频解码端利用压缩视频流中残留的冗余信息掩盖丢失区域,力求使修复后的视频图像达到主观上察觉不到图像发生损伤的效果。在过去的十多年里,广大研究者对传统的单视点视频编码错误隐藏技术进行了深入地研究。传统的单视点视频编码错误隐藏技术按冗余信息的获取区域不同主要可分为三类:空域错误隐藏法;时域错误隐藏法;联合空时域的混合错误隐藏法。立体视频编码错误隐藏技术按丢失类型不同主要可分为两类:整帧丢失错误隐藏法和部分宏块丢失错误隐藏法。其中,近年来针对整帧图像丢失的错误隐藏法有基于运动矢量分区外推的P帧错误隐藏法和基于运动矢量迭代求精的P帧错误隐藏法等。从总体上说,整帧图像丢失的错误隐藏相对于部分宏块丢失的错误隐藏更难,这是因为:对整帧图像丢失进行差错掩盖时,由于丢失宏块四周没有正确的解码宏块,也就不能利用周边相邻宏块进行插值计算,或者利用周边宏块的运动矢量信息进行运动补偿,因此取得高质量的恢复图像相对比较困难。特别是针对HBP编码结构的立体视频,编码结构比较复杂,而且不同层次的B帧丢失对解码视频质量的影响不同,而现有的整帧丢失错误隐藏法并没有考虑不同层次的B帧丢失对解码视频质量的影响,因此恢复质量较差。
发明内容
本发明所要解决的技术问题是提供一种面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其充分考虑了立体视频视点间的运动相关性和不同层次B帧丢失对解码端视频质量的影响,能够有效地提高恢复质量。
本发明解决上述技术问题所采用的技术方案为:一种面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于包括以下步骤:
①当立体视频编码时的图像组长度为8时,则在解码端,根据立体视频的左视点中的每帧图像在所在图像组中的帧号和右视点中的每帧图像在所在图像组中的帧号,对立体视频的左视点中的每个图像组中的所有B帧和右视点中的每个图像组中的所有B帧进行分层划分,将左视点中的每个图像组和右视点中的每个图像组中的第5帧图像帧均归为核心帧,第3帧和第7帧图像帧均归为次核心帧,第2帧、第4帧、第6帧和第8帧均归为普通帧;
在解码端,将立体视频的左视点中当前待处理的图像组定义为当前第一图像组,将立体视频的右视点中当前待处理的图像组定义为当前第二图像组;
②假设当前第一图像组中的第5帧图像帧为左视点中t时刻的图像帧,则将当前第一图像组中的第2帧至第8帧图像帧依次记为并假设当前第二图像组中的第5帧图像帧为右视点中t时刻的图像帧,则将当前第二图像组中的第2帧至第8帧图像帧依次记为其中,均为核心帧,均为次核心帧, 均为普通帧;
③当核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,采用基于SKIP模式的错误隐藏方法获取丢失B帧的前景区域中的每个图像块的重建块;
当核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,首先通过视差补偿在中找到与丢失B帧的前景区域中的每个图像块相对应的图像块,获取相对应的图像块的前向运动矢量和后向运动矢量,并对该 前向运动矢量和该后向运动矢量进行求精,得到丢失B帧的前景区域中的每个图像块的最终的前向运动矢量和最终的后向运动矢量,接着利用丢失B帧的前景区域中的每个图像块的最终的前向运动矢量获取相应的前向重建块,利用丢失B帧的前景区域中的每个图像块的最终的后向运动矢量获取相应的后向重建块,最后根据丢失B帧的前景区域中的每个图像块的前向重建块和后向重建块,获取丢失B帧的前景区域中的每个图像块的重建块;
④当次核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块;
当次核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,进一步根据左视点与右视点的运动矢量相关性强弱,将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域;对于强运动相关区域中的每个图像块,利用立体视频的左视点中与丢失B帧同一时刻的图像帧中相对应的图像块的前向运动矢量和后向运动矢量,获取强运动相关区域中的每个图像块的重建块;对于弱运动相关区域中的每个图像块,采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块;
⑤当普通帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块;
当普通帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,进一步根据左视点与右视点的运动矢量相关性强弱,将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域;对于强运动相关区域中的每个图像块,利用立体视频的左视点中与丢失B帧同一时 刻的图像帧中相对应的图像块的前向运动矢量和后向运动矢量,获取强运动相关区域中的每个图像块的重建块;对于弱运动相关区域中的每个图像块,采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块;
⑥将立体视频的左视点中下一个待处理的图像组作为当前第一图像组,将立体视频的右视点中下一个待处理的图像组作为当前第二图像组,然后返回步骤②继续执行,直至立体视频的左视点和右视点中的所有图像组处理完毕。
所述的步骤③、所述的步骤④和所述的步骤⑤中丢失B帧划分为前景区域和背景区域的具体过程为:
a1、将丢失B帧的前向参考帧记为Ipre,将丢失B帧的后向参考帧记为Iback,计算Ipre与Iback的差值图像,记为D,将D中坐标位置为(i,j)的像素点的像素值记为D(i,j),D(i,j)=|Ipre(i,j)-Iback(i,j)|,其中,1≤i≤W,1≤j≤H,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度,Ipre(i,j)表示Ipre中坐标位置为(i,j)的像素点的像素值,Iback(i,j)表示Iback中坐标位置为(i,j)的像素点的像素值,符号“||”为取绝对值符号;
b1、将D分割成个互不重叠的尺寸大小为8×8的图像块,然后计算D中的每个图像块中的所有像素点的像素值的均值,将D中的第l个图像块Dl中的所有像素点的像素值的均值记为 其中,l为正整数,Dl(u,v)表示D中的第l个图像块Dl中坐标位置为(u,v)的像素点的像素值;
c1、根据D中的每个图像块中的所有像素点的像素值的均值,将丢失B帧划分为前景区域和背景区域,对于D中的第l个图像块Dl中的所有像素点的像素值的均值如果则将丢失B帧中与D中的第l个图像块Dl相对应的区域归为前景区域,如果则将丢失B帧中与D中的第l个图像块Dl相对应的区域归为背景区域,其中,Th为设定的划分阈值。
所述的步骤c1中当丢失B帧为核心帧时,设定的划分阈值Th=5;当丢失B帧为次核心帧时,设定的划分阈值Th=5;当丢失B帧为普通帧时,设定的划分阈值Th=7。
所述的步骤③中当核心帧丢失时,获取丢失B帧的前景区域中的每个图像块的重建块的具体过程为:
③-1、将丢失B帧的前景区域中当前待处理的图像块定义为当前块;
③-2、假设当前块在丢失B帧中的坐标位置为(x,y),其中,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度;
③-3、对当前块进行视差补偿,在中找到与当前块相对应的图像块,假设在中找到的相对应的图像块在中的坐标位置为(x',y'),则将在中找到的相对应的图像块记为其中,
③-4、将的前向运动矢量作为当前块的前向运动矢量,记为 并将的后向运动矢量作为当前块的后向运动矢量,记为 其中,表示当前块在x方向上的前向运动矢量估计值,表示当前块在y方向上的前向运动矢量估计值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
③-5、在立体视频的右视点中t-gop时刻的图像帧中,找出与当前块相对应的图像块及当前块相对应的图像块所在的宏块,其中,gop表示图像组的长度;接着,将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的后向运动矢量进行比较,得到当前块的最终的前向运动矢量,记为同样将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的前向运动矢量进行比较,得到当前块的最终的后向运动矢量,记为其中,或为中找出的与当前块相对应的图像块所在的宏块中的4个图像块的后向运动矢量的中值,或为中找出的与当前块相对应的图像块所在的宏块中的4个图像块的前向运动矢量的中值;然后,采用基于四分之一像素等级的运动补偿法,利用获取当前块的前向重建块,并利用获取当前块的后向重建块;
③-6、假设当前块所在的宏块的周边至少有一个宏块已完成重建,则将已完成重建的宏块分别与当前块的前向重建块和后向重建块进行边界匹配,将边界匹配误差值最小的前向重建块或后向重建块作为当前块的重建块;
③-7、将丢失B帧的前景区域中下一个待处理的图像块作为当前块,然后返回步骤③-2继续执行,直至丢失B帧的前景区域中的所有图像块处理完毕,得到丢失B帧的前景区域中的每个图像块的重建块。
所述的步骤③-5中将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的后向运动矢量进行比较的具体过程为:
③-5a、将以极坐标形式表示为 其中,表示极坐标的极径,表示与坐标x轴的夹角,arctan()为反正切函数;
③-5b、将中找出的与当前块相对应的图像块所在的宏块中的第k个图像块定义为当前对应子块,其中,1≤k≤4,k的初始值为1;
③-5c、将当前对应子块的后向运动矢量记为 然后将以极坐标形式表示为其中,表示当前对应子块在x方向上的后向运动矢量估计值,表示当前对应子块在y方向上的后向运动矢量估计值,表示极坐标的极径,表示与坐标x轴的夹角;
③-5d、如果不成立,则继续执行步骤③-5e,如果成立,则将中找出的与当前块相对应的图像块所在的宏块中的4个图像块的后向运动矢量的中值作为当前块的最终的前向运动矢量,记为其中,符号“||”为取绝对值符号;
③-5e、令k=k+1,将中找出的与当前块相对应的图像块所在的宏块中的下一个图像块作为当前对应子块,然后返回步骤③-5c继续执行,当中找出的与当前块 相对应的图像块所在的宏块中的4个图像块均处理完毕时,则确定当前块的最终的前向运动矢量其中,k=k+1和中的“=”为赋值符号;
所述的步骤③-5中将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的前向运动矢量进行比较的具体过程为:
③-5f、将以极坐标形式表示为 其中,表示极坐标的极径,表示与坐标x轴的夹角;
③-5g、将中找出的与当前块相对应的图像块所在的宏块中的第k个图像块定义为当前对应子块,其中,1≤k≤4,k的初始值为1;
③-5h、将当前对应子块的前向运动矢量记为然后将以极坐标形式表示为其中,表示当前对应子块在x方向上的前向运动矢量估计值,表示当前对应子块在y方向上的前向运动矢量估计值,表示极坐标的极径,表示与坐标x轴的夹角;
③-5i、如果不成立,则继续执行步骤③-5j,如果成立,则将中找出的与当前块相对应的图像块所在的宏块中的4个图像块的前向运动矢量的中值作为当前块的最终的后向运动矢量,记为其中,符号“||”为取绝对值符号;
③-5j、令k=k+1,将中找出的与当前块相对应的图像块所在的宏块中的下一个图像块作为当前对应子块,然后返回步骤③-5h继续执行,当中找出的与当前块相对应的图像块所在的宏块中的4个图像块均处理完毕时,则确定当前块的最终的后向运动矢量其中,k=k+1和中的“=”为赋值符号。
所述的步骤④和所述的步骤⑤中将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域的具体过程为:
a2、分别将丢失B帧的后向参考帧和立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中的每个宏块划分为4个8×8的图像块;
b2、将丢失B帧的后向参考帧中当前待处理的图像块定义为当前块;
c2、假设当前块在丢失B帧的后向参考帧中的坐标位置为(x,y),则将当前块的运动矢量记为同时假设在立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中,经视差补偿后找到的与当前块相对应的图像块的坐标位置为(x',y'),则将立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中坐标位置为(x',y')的图像块的运动矢量记为其中, 对应表示当前块在x方向和在y方向上的运动矢量估计值,对应表示立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中坐标位置为(x',y')的图像块在x方向和在y方向上的运动矢量估计值;
d2、获取在x方向的相关性,记为mdx',同时获取在y方向的相关性,记为mdy',
e2、假设丢失B帧中坐标位置为(x,y)的图像块属于丢失B帧的前景区域,则判断mdx'<2或mdy'<2是否成立,如果成立,则确定丢失B帧中坐标位置为(x,y)的图像块属于强运动相关区域,否则,确定丢失B帧中坐标位置为(x,y)的图像块属于弱运动相关区域;
f2、将丢失B帧的后向参考帧中下一个待处理的图像块作为当前块,然后返回步骤c2继续执行,直至丢失B帧的后向参考帧中的所有图像块处理完毕,实现将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域的过程。
所述的步骤④中,当次核心帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块的过程,与当次核心帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块的过程相同,假设将的前景区域、的前景区域、的弱运动相关 区域、的弱运动相关区域分别看作一个处理区域,则获取处理区域中的每个图像块的重建块的具体过程为:
④-1a、将处理区域中当前待处理的图像块定义为当前块;
④-1b、将当前块的前向运动矢量和后向运动矢量对应记为 其中,Df表示丢失B帧与丢失B帧的前向参考帧之间的距离,Db表示丢失B帧与丢失B帧的后向参考帧之间的距离,DB表示丢失B帧的前向参考帧与丢失B帧的后向参考帧之间的距离,表示丢失B帧的后向参考帧中与当前块对应的图像块的前向运动矢量;
④-1c、采用基于四分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度,1≤q≤64,α和β表示加权系数,α+β=1,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
④-1d、将处理区域中下一个待处理的图像块作为当前块,然后返回步骤④-1b继续执行,直至处理区域中的所有图像块处理完毕,得到处理区域中的每个图像块的重建块。
所述的步骤④中,当次核心帧丢失时获取强运动相关区域中的每个图像块的重建块的具体过程为:
④-2a、将强运动相关区域中当前待处理的图像块定义为当前块;
④-2b、假设当前块在丢失B帧中的坐标位置为(x,y),其中,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度;
④-2c、对当前块进行视差补偿,在立体视频的左视点中与丢失B帧同一时刻的图像帧中找到与当前块相对应的图像块,假设找到的图像块在立体视频的左视点中与丢失B帧同一时刻的图像帧中的坐标位置为(x',y'),则将找到的图像块记为其中,
④-2d、将的前向运动矢量作为当前块的前向运动矢量,记为并将的后向运动矢量作为当前块的后向运动矢量,记为
④-2e、采用基于四分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,1≤q≤64,α和β表示加权系数,α+β=1,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
④-2f、将强运动相关区域中下一个待处理的图像块作为当前块,然后返回步骤④-2b继续执行,直至强运动相关区域中的所有图像块处理完毕,得到强运动相关区域中的每个图像块的重建块。
所述的步骤⑤中,当普通帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块的过程,与当普通帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取弱运动相 关区域中的每个图像块的重建块的过程相同,假设将的前景区域、的前景区域、的前景区域、的前景区域、的弱运动相关区域、的弱运动相关区域、的弱运动相关区域、的弱运动相关区域分别看作一个处理区域,则获取处理区域中的每个图像块的重建块的具体过程为:
⑤-1a、将处理区域中当前待处理的图像块定义为当前块;
⑤-1b、将当前块的前向运动矢量和后向运动矢量对应记为 其中,Df表示丢失B帧与丢失B帧的前向参考帧之间的距离,Db表示丢失B帧与丢失B帧的后向参考帧之间的距离,DB表示丢失B帧的前向参考帧与丢失B帧的后向参考帧之间的距离,表示丢失B帧的后向参考帧中与当前块对应的图像块的前向运动矢量;
⑤-1c、采用基于二分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度,1≤q≤64,α和β表示加权系数,α+β=1,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
⑤-1d、将处理区域中下一个待处理的图像块作为当前块,然后返回步骤⑤-1b继续执行,直至处理区域中的所有图像块处理完毕,得到处理区域中的每个图像块的重建块。
所述的步骤⑤中,当普通帧丢失时获取强运动相关区域中的每个图像块的重建块的具体过程为:
⑤-2a、将强运动相关区域中当前待处理的图像块定义为当前块;
⑤-2b、假设当前块在丢失B帧中的坐标位置为(x,y),其中,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度;
⑤-2c、对当前块进行视差补偿,在立体视频的左视点中与丢失B帧同一时刻的图像帧中找到与当前块相对应的图像块,假设找到的图像块在立体视频的左视点中与丢失B帧同一时刻的图像帧中的坐标位置为(x',y'),则将找到的图像块记为其中,
⑤-2d、将的前向运动矢量作为当前块的前向运动矢量,记为并将的后向运动矢量作为当前块的后向运动矢量,记为
⑤-2e、采用基于二分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,1≤q≤64,α和β表示加权系数,α+β=1,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
⑤-2f、将强运动相关区域中下一个待处理的图像块作为当前块,然后返回步骤⑤-2b继续执行,直至强运动相关区域中的所有图像块处理完毕,得到强运动相关区域中的每个图像块的重建块。
与现有技术相比,本发明的优点在于:本发明方法充分考虑了不同层次B帧丢失对解码端视频质量的影响,根据解码中B帧的位置不同,将B帧分层划分成核心帧、次核心帧和普通帧;然后将丢失B帧划分为背景区域和前景区域,再利用立体视频视点间的运动相关性,将次核心帧和普通帧的前景区域划分为强运动相关区域和弱运动相关区域,最后采用不同的错误隐藏方法对不同的区域进行错误隐藏;本发明方法避免了现有的B帧错误隐藏法对重要性等级不同的B帧仅采用单一方法的缺点,有效地提高了立体视频恢复的质量;同时根据立体视频中的左视点和右视点各编码块间存在的运动矢量相关性,并把它应用到错误隐藏方法中,有效地提高了差错掩盖的性能。
附图说明
图1为本发明方法处理的采用HBP格式的立体视频编码结构的示意图;
图2为本发明方法的总体实现框图;
图3为当前块的前向运动矢量求精的示意图;
图4a为Ballroom立体视频序列的右视点的第20帧原始解码图像(PSNR=37.55dB);
图4b为Ballroom立体视频序列的右视点的第20帧使用SKIP模式错误隐藏方法恢复得到的图像帧(PSNR=32.77dB);
图4c为Ballroom立体视频序列的右视点的第20帧使用本发明方法恢复得到的图像帧(PSNR=36.62dB);
图5a为“Exit”立体视频序列的右视点的某个次核心帧(第30帧)丢失后经MP方法修复后得到的主观质量图;
图5b为“Exit”立体视频序列的右视点的某个次核心帧(第30帧)丢失后经SKIP方法修复后得到的主观质量图;
图5c为“Exit”立体视频序列的右视点的某个次核心帧(第30帧)丢失后经本发明方法修复后得到的主观质量图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出了一种面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,图1给出了本发明方法处理的采用HBP格式的立体视频编码结构的示意图,本发明方法从立体视频序列时域、视点间相关性出发,根据解码中B帧的重要性不同,先将每个图像组中的所有B帧分为三类:核心帧、次核心帧和普通帧;接着将丢失B帧划分为背景 区域和前景区域,然后利用立体视频视点间的运动相关性,再将次核心帧和普通帧中丢失的前景区域划分为强运动相关区域和弱运动相关区域;最后对不同的丢失区域分别采用不同的错误隐藏方法进行差错掩盖。
本发明方法的总体实现框图如图2所示,具体包括以下步骤:
①当立体视频编码时的图像组长度为8时,则在解码端,根据立体视频的左视点中的每帧图像在所在图像组中的帧号和右视点中的每帧图像在所在图像组中的帧号,对立体视频的左视点中的每个图像组中的所有B帧和右视点中的每个图像组中的所有B帧进行分层划分,将左视点中的每个图像组和右视点中的每个图像组中的第5帧图像帧均归为核心帧,第3帧和第7帧图像帧均归为次核心帧,第2帧、第4帧、第6帧和第8帧均归为普通帧。
在解码端,将立体视频的左视点中当前待处理的图像组定义为当前第一图像组,将立体视频的右视点中当前待处理的图像组定义为当前第二图像组。
②假设当前第一图像组中的第5帧图像帧为左视点中t时刻的图像帧,则将当前第一图像组中的第2帧至第8帧图像帧依次记为并假设当前第二图像组中的第5帧图像帧为右视点中t时刻的图像帧,则将当前第二图像组中的第2帧至第8帧图像帧依次记为其中,均为核心帧,均为次核心帧, 均为普通帧。
③当核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,采用基于SKIP模式的错误隐藏方法获取丢失B帧的前景区域中的每个图像块的重建块。
在此,基于SKIP模式的错误隐藏方法为现有技术,采用基于SKIP模式的错误隐藏方法进行重建时,是根据丢失B帧的前向参考帧和后向参考帧中与丢失B帧的前景区域中的每个8×8的图像块相对应的两个8×8的区域的平均值,来重建丢失B帧的前景区域中的每个8×8的图像块的;帧直接拷贝的方法采用现有技术。
当核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于 丢失B帧的前景区域,首先通过视差补偿在中找到与丢失B帧的前景区域中的每个图像块相对应的图像块,获取相对应的图像块的前向运动矢量和后向运动矢量,并对该前向运动矢量和该后向运动矢量进行求精,得到丢失B帧的前景区域中的每个图像块的最终的前向运动矢量和最终的后向运动矢量,接着利用丢失B帧的前景区域中的每个图像块的最终的前向运动矢量获取相应的前向重建块,利用丢失B帧的前景区域中的每个图像块的最终的后向运动矢量获取相应的后向重建块,最后根据丢失B帧的前景区域中的每个图像块的前向重建块和后向重建块,获取丢失B帧的前景区域中的每个图像块的重建块。
在此具体实施例中,步骤③中当核心帧丢失时,获取丢失B帧的前景区域中的每个图像块的重建块的具体过程为:
③-1、将丢失B帧的前景区域中当前待处理的图像块定义为当前块。
③-2、假设当前块在丢失B帧中的坐标位置为(x,y),其中,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度。
③-3、对当前块进行视差补偿,在中找到与当前块相对应的图像块,假设在中找到的相对应的图像块在中的坐标位置为(x',y'),则将在中找到的相对应的图像块记为其中,
在此,对当前块进行视差补偿采用传统的视差补偿法,当前块的视差矢量dv的计算公式为:其中,POCf、POC和POCb分别表示丢失B帧的前向参考帧、丢失B帧、丢失B帧的后向参考帧的时刻,dvf表示丢失B帧的前向参考帧解码时得到的视差矢量,dvb表示丢失B帧的后向参考帧解码时得到的视差矢量;此外,部分帧内编码宏块的视差矢量采用周边帧间编码宏块视差矢量的均值。
③-4、将的前向运动矢量作为当前块的前向运动矢量,记为 并将的后向运动矢量作为当前块的后向运动矢量,记为 其中,表示当前块在x方向上的前向运动矢量估计值, 表示当前块在y方向上的前向运动矢量估计值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值。
③-5、为了提高当前块的前向运动矢量和后向运动矢量的估计精度,本发明方法先在立体视频的右视点中t-gop时刻的图像帧(即前一个图像组中的核心帧)中,找出与当前块相对应的图像块及当前块相对应的图像块所在的宏块,其中,gop表示图像组的长度,即在此gop=8;接着,作求精,即将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的后向运动矢量进行比较(图3给出了相应的说明示意图),得到当前块的最终的前向运动矢量,记为同样将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的前向运动矢量进行比较,得到当前块的最终的后向运动矢量,记为其中,或为中找出的与当前块相对应的图像块所在的宏块中的4个图像块的后向运动矢量的中值,或为中找出的与当前块相对应的图像块所在的宏块中的4个图像块的前向运动矢量的中值;然后,采用现有的基于四分之一像素等级的运动补偿法,利用获取当前块的前向重建块,并利用获取当前块的后向重建块。
在此,当前块的前向重建块的获取过程如下:将当前块的前向重建块记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为当前块的后向重建块的获取过程如下:将当前块的后向重建块记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 上述,1≤i≤W,1≤j≤H,1≤q≤64,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的最终的前向运动矢量估计值,表示 当前块在y方向上的最终的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的最终的后向运动矢量估计值,表示当前块在y方向上的最终的后向运动矢量估计值。
在步骤③-5中,将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的后向运动矢量进行比较的具体过程为:
③-5a、将以极坐标形式表示为 其中,表示极坐标的极径,表示与坐标x轴的夹角,arctan()为反正切函数。
③-5b、将中找出的与当前块相对应的图像块所在的宏块中的第k个图像块定义为当前对应子块,其中,1≤k≤4,k的初始值为1。
③-5c、将当前对应子块的后向运动矢量记为然后将以极坐标形式表示为其中,表示当前对应子块在x方向上的后向运动矢量估计值,表示当前对应子块在y方向上的后向运动矢量估计值,表示极坐标的极径,表示与坐标x轴的夹角。
③-5d、如果不成立,则继续执行步骤③-5e,如果成立,则将中找出的与当前块相对应的图像块所在的宏块中的4个图像块的后向运动矢量的中值作为当前块的最终的前向运动矢量,记为其中,符号“||”为取绝对值符号。
③-5e、令k=k+1,将中找出的与当前块相对应的图像块所在的宏块中的下一个图像块作为当前对应子块,然后返回步骤③-5c继续执行,当中找出的与当前块相对应的图像块所在的宏块中的4个图像块均处理完毕时,则确定当前块的最终的前向运动矢量其中,k=k+1和中的“=”为赋值符号。
在步骤③-5中,将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的前向运动矢量进行比较的具体过程为:
③-5f、将以极坐标形式表示为 其中,表示极坐标的极径,表示与坐标x轴的夹角。
③-5g、将中找出的与当前块相对应的图像块所在的宏块中的第k个图像块定义为当前对应子块,其中,1≤k≤4,k的初始值为1。
③-5h、将当前对应子块的前向运动矢量记为 然后将以极坐标形式表示为其中,表示当前对应子块在x方向上的前向运动矢量估计值,表示当前对应子块在y方向上的前向运动矢量估计值,表示极坐标的极径,表示与坐标x轴的夹角。
③-5i、如果不成立,则继续执行步骤③-5j,如果成立,则将中找出的与当前块相对应的图像块所在的宏块中的4个图像块的前向运动矢量的中值作为当前块的最终的后向运动矢量,记为其中,符号“||”为取绝对值符号。
③-5j、令k=k+1,将中找出的与当前块相对应的图像块所在的宏块中的下一个图像块作为当前对应子块,然后返回步骤③-5h继续执行,当中找出的与当前块相对应的图像块所在的宏块中的4个图像块均处理完毕时,则确定当前块的最终的后向运动矢量其中,k=k+1和中的“=”为赋值符号。
③-6、假设当前块所在的宏块的周边至少有一个宏块已完成重建,则将已完成重建的宏块分别与当前块的前向重建块和后向重建块进行边界匹配,将边界匹配误差值最小的前向重建块或后向重建块(即有可能前向重建块对应的边界匹配误差值最小,也有可能后向重建块对应的边界匹配误差值最小)作为当前块的重建块。
③-7、将丢失B帧的前景区域中下一个待处理的图像块作为当前块,然后返回步骤③-2继续执行,直至丢失B帧的前景区域中的所有图像块处理完毕,得到丢失B帧的前景区域中的每个图像块的重建块。
④当次核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块。
当次核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,进一步根据左视点与右视点的运动矢量相关性强弱,将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域;对于强运动相关区域中的每个图像块,利用立体视频的左视点中与丢失B帧同一时刻的图像帧(如果丢失B帧是则此处该图像帧为如果丢失B帧是则此处该图像帧为)中相对应的图像块的前向运动矢量和后向运动矢量,获取强运动相关区域中的每个图像块的重建块;对于弱运动相关区域中的每个图像块,采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块。
在步骤④中,当次核心帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块的过程,与当次核心帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块的过程相同,假设将的前景区域、的前景区域、的弱运动相关区域、的弱运动相关区域分别看作一个处理区域,则获取处理区域中的每个图像块的重建块的具体过程为:
④-1a、将处理区域中当前待处理的图像块定义为当前块。
④-1b、将当前块的前向运动矢量和后向运动矢量对应记为 其中,Df表示丢失B帧与丢失B帧的前向参考帧之间的距离,Db表示丢失B帧与丢失B帧的后向参考帧之间的距离,DB表示丢失B帧 的前向参考帧与丢失B帧的后向参考帧之间的距离,表示丢失B帧的后向参考帧中与当前块对应的图像块的前向运动矢量。由于此处处理的对象是次核心帧,在图像组长度为8的编码结构下,Df=Db=2,DB=4。
④-1c、采用基于四分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度,1≤q≤64,α和β表示加权系数,α+β=1,且在图像组长度为8的HBP编码结构下取α=β=0.5,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值。
④-1d、将处理区域中下一个待处理的图像块作为当前块,然后返回步骤④-1b继续执行,直至处理区域中的所有图像块处理完毕,得到处理区域中的每个图像块的重建块。
在步骤④中,当次核心帧丢失时获取强运动相关区域中的每个图像块的重建块的具体过程为:
④-2a、将强运动相关区域中当前待处理的图像块定义为当前块。
④-2b、假设当前块在丢失B帧中的坐标位置为(x,y),其中,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度。
④-2c、对当前块进行视差补偿,在立体视频的左视点中与丢失B帧同一时刻的图像帧中找到与当前块相对应的图像块,假设找到的图像块在立体视频的左视点中与丢失B帧同一时刻的图像帧中的坐标位置为(x',y'),则将找到的图像块记为其中,
④-2d、将的前向运动矢量作为当前块的前向运动矢量,记为并将的后向运动矢量作为当前块的后向运动矢量,记为
④-2e、采用基于四分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,1≤q≤64,α和β表示加权系数,α+β=1,且在图像组长度为8的HBP编码结构下取α=β=0.5,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值。
④-2f、将强运动相关区域中下一个待处理的图像块作为当前块,然后返回步骤④-2b继续执行,直至强运动相关区域中的所有图像块处理完毕,得到强运动相关区域中的每个图像块的重建块。
⑤当普通帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块。
当普通帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的 图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,进一步根据左视点与右视点的运动矢量相关性强弱,将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域;对于强运动相关区域中的每个图像块,利用立体视频的左视点中与丢失B帧同一时刻的图像帧中相对应的图像块的前向运动矢量和后向运动矢量,获取强运动相关区域中的每个图像块的重建块;对于弱运动相关区域中的每个图像块,采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块。
在步骤⑤中,当普通帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块的过程,与当普通帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块的过程相同,假设将的前景区域、的前景区域、的前景区域、的前景区域、的弱运动相关区域、的弱运动相关区域、的弱运动相关区域、的弱运动相关区域分别看作一个处理区域,则获取处理区域中的每个图像块的重建块的具体过程为:
⑤-1a、将处理区域中当前待处理的图像块定义为当前块。
⑤-1b、将当前块的前向运动矢量和后向运动矢量对应记为 其中,Df表示丢失B帧与丢失B帧的前向参考帧之间的距离,Db表示丢失B帧与丢失B帧的后向参考帧之间的距离,DB表示丢失B帧的前向参考帧与丢失B帧的后向参考帧之间的距离,表示丢失B帧的后向参考帧中与当前块对应的图像块的前向运动矢量。由于此处处理的对象是普通帧,在图像组长度为8的HBP编码结构下,Df=Db=1,DB=2。
⑤-1c、采用基于二分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度,1≤q≤64,α和β表示加权系数,α+β=1,且在图像组长度为8的HBP编码结构下取α=β=0.5,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值。
⑤-1d、将处理区域中下一个待处理的图像块作为当前块,然后返回步骤⑤-1b继续执行,直至处理区域中的所有图像块处理完毕,得到处理区域中的每个图像块的重建块。
上述过程实际上与步骤④-1a至步骤④-1d类同,区别在于为了降低计算复杂度,运动或视差补偿时的精度由四分之一像素降为二分之一像素。
在步骤⑤中,当普通帧丢失时获取强运动相关区域中的每个图像块的重建块的具体过程为:
⑤-2a、将强运动相关区域中当前待处理的图像块定义为当前块。
⑤-2b、假设当前块在丢失B帧中的坐标位置为(x,y),其中,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度。
⑤-2c、对当前块进行视差补偿,在立体视频的左视点中与丢失B帧同一时刻的图像帧中找到与当前块相对应的图像块,假设找到的图像块在立体视频的左视点中与丢失B帧同一时刻的图像帧中的坐标位置为(x',y'),则将找到的图像块记为其中,
⑤-2d、将的前向运动矢量作为当前块的前向运动矢量,记为并将的后向运动矢量作为当前块的后向运动矢量,记为
⑤-2e、采用基于二分之一像素等级的运动补偿法,利用获取当前块的重 建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,1≤q≤64,α和β表示加权系数,α+β=1,且在图像组长度为8的HBP编码结构下取α=β=0.5,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值。
⑤-2f、将强运动相关区域中下一个待处理的图像块作为当前块,然后返回步骤⑤-2b继续执行,直至强运动相关区域中的所有图像块处理完毕,得到强运动相关区域中的每个图像块的重建块。
上述过程实际上与步骤④-2a至步骤④-2f类同,区别在于为了降低计算复杂度,运动或视差补偿时的精度由四分之一像素降为二分之一像素。
⑥将立体视频的左视点中下一个待处理的图像组作为当前第一图像组,将立体视频的右视点中下一个待处理的图像组作为当前第二图像组,然后返回步骤②继续执行,直至立体视频的左视点和右视点中的所有图像组处理完毕。
在此具体实施例中,步骤③、步骤④和步骤⑤中丢失B帧划分为前景区域和背景区域的具体过程为:
a1、将丢失B帧的前向参考帧记为Ipre,将丢失B帧的后向参考帧记为Iback,计算Ipre与Iback的差值图像,记为D,将D中坐标位置为(i,j)的像素点的像素值记为D(i,j),D(i,j)=|Ipre(i,j)-Iback(i,j)|,其中,1≤i≤W,1≤j≤H,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度,Ipre(i,j)表示Ipre中坐标位置为(i,j)的像素点的像素值,Iback(i,j)表示Iback中坐标位置为(i,j)的像素点的像素值,符号“||”为取绝对值符号。在这里需要指出的是,在图像组长度为8 的HBP编码结构下(如图1所示),某视点序列的解码顺序依次为t-4时刻的图像帧It-4、t+4时刻的图像帧It+4、t时刻的图像帧It、t-2时刻的图像帧It-2、t+2时刻的图像帧It+2、t-1时刻的图像帧It-1、t-3时刻的图像帧It-3t+1时刻的图像帧It+1和t+3时刻的图像帧It+3
b1、将D分割成个互不重叠的尺寸大小为8×8的图像块,然后计算D中的每个图像块中的所有像素点的像素值的均值,将D中的第l个图像块Dl中的所有像素点的像素值的均值记为 其中,l为正整数,Dl(u,v)表示D中的第l个图像块Dl中坐标位置为(u,v)的像素点的像素值。
c1、根据D中的每个图像块中的所有像素点的像素值的均值,将丢失B帧划分为前景区域和背景区域,对于D中的第l个图像块Dl中的所有像素点的像素值的均值如果则将丢失B帧中与D中的第l个图像块Dl相对应的区域归为前景区域,如果则将丢失B帧中与D中的第l个图像块Dl相对应的区域归为背景区域,其中,Th为设定的划分阈值。在本发明中,当丢失B帧为核心帧时,设定的划分阈值Th=5;当丢失B帧为次核心帧时,设定的划分阈值Th=5;当丢失B帧为普通帧时,设定的划分阈值Th=7。
在此具体实施例中,步骤④和步骤⑤中将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域的具体过程为:
a2、由于当次核心帧()解码时,核心帧已完成解码,当普通帧()解码时,次核心帧()和核心帧都已解码结束,因此现分别将丢失B帧的后向参考帧(注:对于丢失的次核心帧,其后向参考帧为核心帧;对于丢失的普通帧,其后向参考帧为次核心帧)和立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中的每个宏块划分为4个8×8的图像块。
b2、将丢失B帧的后向参考帧中当前待处理的图像块定义为当前块。
c2、假设当前块在丢失B帧的后向参考帧中的坐标位置为(x,y),则将当前块的运动矢量记为同时假设在立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中,经视差补偿后找到的与当前块相对应的图像块的坐标位置为(x',y'),则将立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中坐标位置为(x',y')的图像块的运动矢量记为其中, 对应表示当前块在x方向和在y方向上的运动矢量估计值,对应表示立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中坐标位置为(x',y')的图像块在x方向和在y方向上的运动矢量估计值。
d2、获取在x方向的相关性,记为mdx',同时获取在y方向的相关性,记为mdy',
e2、假设丢失B帧中坐标位置为(x,y)的图像块属于丢失B帧的前景区域,则判断mdx'<2或mdy'<2是否成立,如果成立,则确定丢失B帧中坐标位置为(x,y)的图像块属于强运动相关区域,否则,确定丢失B帧中坐标位置为(x,y)的图像块属于弱运动相关区域。即如果mdx'<2成立,则确定丢失B帧中坐标位置为(x,y)的图像块属于x方向的强运动相关区域,如果mdx'<2不成立,则确定丢失B帧中坐标位置为(x,y)的图像块属于x方向的弱运动相关区域,如果mdy'<2成立,则确定丢失B帧中坐标位置为(x,y)的图像块属于y方向的强运动相关区域,如果mdy'<2不成立,则确定丢失B帧中坐标位置为(x,y)的图像块属于y方向的弱运动相关区域,而x方向的强运动相关区域和y方向的强运动相关区域都为强运动相关区域,x方向的弱运动相关区域和y方向的弱运动相关区域都为弱运动相关区域。
f2、将丢失B帧的后向参考帧中下一个待处理的图像块作为当前块,然后返回步骤c2继续执行,直至丢失B帧的后向参考帧中的所有图像块处理完毕,实现将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域的过程。
为更好地说明本发明方法的可行性和有效性,进行实验,具体如下:
在此对H.264的校验平台JM实现图1所示的HBP编码结构,帧率为25fps,基本 编码量化参数QP为32,帧数为250帧,相机间距为19.5cm,测试序列分别为尺寸为640×480的Exit立体视频序列和Ballroom立体视频序列。在实验中,假设左视点中的图像帧正确接收,丢失B帧只发生在右视点,为了进行精确比较,采用逐帧比较的方法,针对不同重要性等级的核心帧、次核心帧和普通帧丢失分别进行不同的对比实验,在每次的对比试验中,每个图像组中的核心帧或次核心帧或普通帧发生整帧丢失,在使用不同的错误隐藏方法隐藏后,取平均PSNR(峰值信噪比)值作为最终的恢复PSNR值。
为了比较不同错误隐藏方法的优劣,除本发明方法外,还比较了多视点编码校验平台JMVC中提供的帧直接拷贝法、基于SKIP模式的错误隐藏法和运动预测法。在实验中,对比方法有四种:1)帧直接拷贝法1(DC1),该方法是采用同一视点中,相邻的前向参考帧来填补丢失帧;2)帧直接拷贝法2(DC2),该方法是采用同一时刻,相邻视点的参考帧来填补丢失帧;3)基于SKIP模式的错误隐藏法(SKIP),该方法是多视点视频编码标准H.264/MVC的校验平台JMVC中自带的一种错误隐藏方法,“SKIP”法在实现过程中先将丢失宏块的编码模式设为Skip编码模式,利用Skip编码模式下宏块运动矢量为零的特征在前后参考帧中找到匹配块,然后对匹配块进行残差补偿,最后将补偿后的前后匹配块像素值相加取平均来完成丢失块的错误掩盖;4)运动预测法(Motion Prediction,MP),该方法是由Liu Shu-jie等在2008年IEEE电路与系统国际会议上提出的方法(论文题目为Frame loss errorconcealment for multiview video coding,多视点视频编码中的整帧丢失错误隐藏方法)。
表1给出了Exit立体视频序列和Ballroom立体视频序列的右视点中的核心帧、次核心帧和普通帧丢失时使用不同的错误隐藏方法得到的平均PSNR对比结果。表1中的增量表示本发明方法相对未隐藏、DC1、DC2、SKIP和MP法在PSNR(峰值信噪比)上的增量。从表1中可以看出,对于不同的立体视频序列,当右视点中的核心帧丢失时,在相同的QP下,经本发明方法修复后的图像的平均PSNR值能比DC1、DC2、SKIP和MP法提高0.51~14.58dB;当右视点中的次核心帧丢失时,经本发明方法修复后的图像的平均PSNR值能比DC1、DC2、SKIP和MP法提高0.56~13.29dB;当右视点中的普通帧丢失时,经本发明方法修复后的图像的平均PSNR值能比DC1、DC2、SKIP和MP法提高0.76~9.94dB。
表1各类帧发生整帧丢失后经不同方法隐藏后的平均PSNR值(单位:dB)
表2给出了Exit立体视频序列和Ballroom立体视频序列的右视点中的核心帧、次核心帧和普通帧丢失时使用不同的错误隐藏方法的计算复杂度比较。从表2中可见,DC1法由于直接采用缓冲区里的先前解码帧替换丢失帧,执行时间最短;SKIP法将丢失帧的各宏块直接设定为Skip编码模式,比宏块正常解码的执行时间更低;MP法由于增加了全局视差估计等运动,比正常解码时间略有增加;本发明方法由于要对图像进行分区,核心帧错误隐藏中的运动矢量估计增加了求精运算,次核心帧的前景区域又进一步划分为强运动相关区域和弱运动相关区域,增加了算法复杂度,但对平滑的背景区域采用了直接拷贝的方法,运算时间有所降低,因此对于核心帧、次核心帧的修复时间比正常解码的执行时间略长,对解码一帧来说大概有百分之二左右增加,但仍可满足实际应用的需要,对于普通帧,由于采用二分之一像素等级的运动\视差补偿,执行时间降低。
表2各类帧发生整帧丢失后经不同方法隐藏的平均修复耗时(单位:ms)
图4a给出了Ballroom立体视频序列的右视点中的核心帧(第20帧)的原始解码图像;图4b给出了当图4a所示帧丢失时,采用SKIP模式错误隐藏方法恢复得到的图像帧;图4c给出了当图4a所示帧丢失时,采用本发明方法恢复得到的图像帧。从图4b中可以看出,由于SKIP模式采用单一的帧拷贝的方法,没有考虑到运动,因此对于运动块的恢复效果不好,只适用于静止区域或者运动比较缓慢的情况。从图4c中可以看出,其图像明显好于图4b所示的图像,而且更接近于图4a所示的原始解码图像,这充分说明了本发明方法的可行性和有效性。
图5a、图5b和图5c分别给出了“Exit”立体视频序列的右视点中的某个次核心帧(第 30帧)丢失后经MP方法、SKIP方法和本发明方法修复后得到的主观质量图。MP法先根据全局视差运动对当前宏块作视差补偿,接着利用相邻视点中对应块的运动信息进行运动补偿,但全局视差矢量不能准确描述各个宏块的视差矢量,且各图像块的视点间相关性存在差异,错误隐藏后的图像有较大区域存在块模糊现象,如图5a中的框内区域;SKIP法由于采用前后向拷贝而导致重影(如图5b中的框内区域),并会导致后续帧解码时出现严重的错误传递;而本发明方法取得了良好的主观质量。

Claims (10)

1.一种面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于包括以下步骤:
①当立体视频编码时的图像组长度为8时,则在解码端,根据立体视频的左视点中的每帧图像在所在图像组中的帧号和右视点中的每帧图像在所在图像组中的帧号,对立体视频的左视点中的每个图像组中的所有B帧和右视点中的每个图像组中的所有B帧进行分层划分,将左视点中的每个图像组和右视点中的每个图像组中的第5帧图像帧均归为核心帧,第3帧和第7帧图像帧均归为次核心帧,第2帧、第4帧、第6帧和第8帧均归为普通帧;
在解码端,将立体视频的左视点中当前待处理的图像组定义为当前第一图像组,将立体视频的右视点中当前待处理的图像组定义为当前第二图像组;
②假设当前第一图像组中的第5帧图像帧为左视点中t时刻的图像帧,则将当前第一图像组中的第2帧至第8帧图像帧依次记为并假设当前第二图像组中的第5帧图像帧为右视点中t时刻的图像帧,则将当前第二图像组中的第2帧至第8帧图像帧依次记为其中,均为核心帧,均为次核心帧, 均为普通帧;
③当核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,采用基于SKIP模式的错误隐藏方法获取丢失B帧的前景区域中的每个图像块的重建块;
当核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,首先通过视差补偿在中找到与丢失B帧的前景区域中的每个图像块相对应的图像块,获取相对应的图像块的前向运动矢量和后向运动矢量,并对该前向运动矢量和该后向运动矢量进行求精,得到丢失B帧的前景区域中的每个图像块的最终的前向运动矢量和最终的后向运动矢量,接着利用丢失B帧的前景区域中的每个图 像块的最终的前向运动矢量获取相应的前向重建块,利用丢失B帧的前景区域中的每个图像块的最终的后向运动矢量获取相应的后向重建块,最后根据丢失B帧的前景区域中的每个图像块的前向重建块和后向重建块,获取丢失B帧的前景区域中的每个图像块的重建块;
④当次核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块;
当次核心帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,进一步根据左视点与右视点的运动矢量相关性强弱,将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域;对于强运动相关区域中的每个图像块,利用立体视频的左视点中与丢失B帧同一时刻的图像帧中相对应的图像块的前向运动矢量和后向运动矢量,获取强运动相关区域中的每个图像块的重建块;对于弱运动相关区域中的每个图像块,采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块;
⑤当普通帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块;
当普通帧丢失时,则将定义为丢失B帧,将丢失B帧划分为前景区域和背景区域,其中,前景区域和背景区域分别由多个8×8的图像块组成;对于丢失B帧的背景区域,采用帧直接拷贝的方法获取丢失B帧的背景区域中的每个图像块的重建块;对于丢失B帧的前景区域,进一步根据左视点与右视点的运动矢量相关性强弱,将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域;对于强运动相关区域中的每个图像块,利用立体视频的左视点中与丢失B帧同一时刻的图像帧中相对应的图像块的前向运动矢量和后向运动矢量,获取强运动相关区域中的每个图像块的重建块;对于弱运动相关区域中的每个图像块,采用基于时域运动矢量 相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块;
⑥将立体视频的左视点中下一个待处理的图像组作为当前第一图像组,将立体视频的右视点中下一个待处理的图像组作为当前第二图像组,然后返回步骤②继续执行,直至立体视频的左视点和右视点中的所有图像组处理完毕。
2.根据权利要求1所述的面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于所述的步骤③、所述的步骤④和所述的步骤⑤中丢失B帧划分为前景区域和背景区域的具体过程为:
a1、将丢失B帧的前向参考帧记为Ipre,将丢失B帧的后向参考帧记为Iback,计算Ipre与Iback的差值图像,记为D,将D中坐标位置为(i,j)的像素点的像素值记为D(i,j),D(i,j)=|Ipre(i,j)-Iback(i,j)|,其中,1≤i≤W,1≤j≤H,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度,Ipre(i,j)表示Ipre中坐标位置为(i,j)的像素点的像素值,Iback(i,j)表示Iback中坐标位置为(i,j)的像素点的像素值,符号“||”为取绝对值符号;
b1、将D分割成个互不重叠的尺寸大小为8×8的图像块,然后计算D中的每个图像块中的所有像素点的像素值的均值,将D中的第l个图像块Dl中的所有像素点的像素值的均值记为 其中,l为正整数,Dl(u,v)表示D中的第l个图像块Dl中坐标位置为(u,v)的像素点的像素值;
c1、根据D中的每个图像块中的所有像素点的像素值的均值,将丢失B帧划分为前景区域和背景区域,对于D中的第l个图像块Dl中的所有像素点的像素值的均值如果则将丢失B帧中与D中的第l个图像块Dl相对应的区域归为前景区域,如果则将丢失B帧中与D中的第l个图像块Dl相对应的区域归为背景区域,其中,Th为设定的划分阈值。
3.根据权利要求2所述的面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于所述的步骤c1中当丢失B帧为核心帧时,设定的划分阈值Th=5;当丢失B帧为次核心帧时,设定的划分阈值Th=5;当丢失B帧为普通帧时,设定的划分 阈值Th=7。
4.根据权利要求1至3中任一项所述的面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于所述的步骤③中当核心帧丢失时,获取丢失B帧的前景区域中的每个图像块的重建块的具体过程为:
③-1、将丢失B帧的前景区域中当前待处理的图像块定义为当前块;
③-2、假设当前块在丢失B帧中的坐标位置为(x,y),其中,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度;
③-3、对当前块进行视差补偿,在中找到与当前块相对应的图像块,假设在中找到的相对应的图像块在中的坐标位置为(x',y'),则将在中找到的相对应的图像块记为其中,
③-4、将的前向运动矢量作为当前块的前向运动矢量,记为 并将的后向运动矢量作为当前块的后向运动矢量,记为 其中,表示当前块在x方向上的前向运动矢量估计值,表示当前块在y方向上的前向运动矢量估计值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
③-5、在立体视频的右视点中t-gop时刻的图像帧中,找出与当前块相对应的图像块及当前块相对应的图像块所在的宏块,其中,gop表示图像组的长度;接着,将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的后向运动矢量进行比较,得到当前块的最终的前向运动矢量,记为同样将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的前向运动矢量进行比较,得到当前块的最终的后向运动矢量,记为其中,或为中找出的与当前块相对应的图像块所在的宏块中的4个图像块的后向运动矢量的中值,或为中找出的与当前块相对应的图像块所在的宏块中的4个图像块的前向运动矢量的中值;然后,采用基于四分之一像素等级的运动补偿法,利用获取当前块的前向重建块,并利用获取当前块的后向重建块;
③-6、假设当前块所在的宏块的周边至少有一个宏块已完成重建,则将已完成重建的宏块分别与当前块的前向重建块和后向重建块进行边界匹配,将边界匹配误差值最小的前向重建块或后向重建块作为当前块的重建块;
③-7、将丢失B帧的前景区域中下一个待处理的图像块作为当前块,然后返回步骤③-2继续执行,直至丢失B帧的前景区域中的所有图像块处理完毕,得到丢失B帧的前景区域中的每个图像块的重建块。
5.根据权利要求4所述的面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于所述的步骤③-5中将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的后向运动矢量进行比较的具体过程为:
③-5a、将以极坐标形式表示为 其中,表示极坐标的极径,表示与坐标x轴的夹角,arctan()为反正切函数;
③-5b、将中找出的与当前块相对应的图像块所在的宏块中的第k个图像块定义为当前对应子块,其中,1≤k≤4,k的初始值为1;
③-5c、将当前对应子块的后向运动矢量记为 然后将以极坐标形式表示为其中,表示当前对应子块在x方向上的后向运动矢量估计值,表示当前对应子块在y方向上的后向运动矢量估计值,表示极坐标的极径,表示与坐标x轴的夹角;
③-5d、如果不成立,则继续执行步骤③-5e,如果成立,则将中找出的与当前块相对应的图像块所在的宏块中的4个图像块的后向运动矢量的中值作为当前块的最终的前向运动矢量,记为其中,符号“||”为取绝对值符号;
③-5e、令k=k+1,将中找出的与当前块相对应的图像块所在的宏块中的下一个图像块作为当前对应子块,然后返回步骤③-5c继续执行,当中找出的与当前块相对应的图像块所在的宏块中的4个图像块均处理完毕时,则确定当前块的最终的前向运动矢量其中,k=k+1和中的“=”为赋值符号;
所述的步骤③-5中将分别与中找出的与当前块相对应的图像块所在的宏块中的4个图像块各自的前向运动矢量进行比较的具体过程为:
③-5f、将以极坐标形式表示为 其中,表示极坐标的极径,表示与坐标x轴的夹角;
③-5g、将中找出的与当前块相对应的图像块所在的宏块中的第k个图像块定义为当前对应子块,其中,1≤k≤4,k的初始值为1;
③-5h、将当前对应子块的前向运动矢量记为 然后将以极坐标形式表示为其中,表示当前对应子块在x方向上的前向运动矢量估计值,表示当前对应子块在y方向上的前向运动矢量估计值,表示极坐标的极径,表示与坐标x轴的夹角;
③-5i、如果不成立,则继续执行步骤③-5j,如果成立,则将中找出的与当前块相对应的图像块所在的宏块中的4个图像块的前向运动矢量的中值作为当前块的最终的后向运动矢量,记为其中,符号“||”为取绝对值符号;
③-5j、令k=k+1,将中找出的与当前块相对应的图像块所在的宏块中的下一个图像块作为当前对应子块,然后返回步骤③-5h继续执行,当中找出的与当前块相对应的图像块所在的宏块中的4个图像块均处理完毕时,则确定当前块的最终的后向运动矢量其中,k=k+1和中的“=”为赋值符号。
6.根据权利要求5所述的面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于所述的步骤④和所述的步骤⑤中将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域的具体过程为:
a2、分别将丢失B帧的后向参考帧和立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中的每个宏块划分为4个8×8的图像块;
b2、将丢失B帧的后向参考帧中当前待处理的图像块定义为当前块;
c2、假设当前块在丢失B帧的后向参考帧中的坐标位置为(x,y),则将当前块的运动矢量记为同时假设在立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中,经视差补偿后找到的与当前块相对应的图像块的坐标位置为(x',y'),则将立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中坐标位置为(x',y')的图像块的运动矢量记为其中, 对应表示当前块在x方向和在y方向上的运动矢量估计值,对应表示立体视频的左视点中与丢失B帧的后向参考帧同一时刻的图像帧中坐标位置为(x',y')的图像块在x方向和在y方向上的运动矢量估计值;
d2、获取在x方向的相关性,记为mdx',同时获取在y方向的相关性,记为mdy',
e2、假设丢失B帧中坐标位置为(x,y)的图像块属于丢失B帧的前景区域,则判断mdx'<2或mdy'<2是否成立,如果成立,则确定丢失B帧中坐标位置为(x,y)的图像块属于强运动相关区域,否则,确定丢失B帧中坐标位置为(x,y)的图像块属于弱运动相关区域;
f2、将丢失B帧的后向参考帧中下一个待处理的图像块作为当前块,然后返回步骤c2继续执行,直至丢失B帧的后向参考帧中的所有图像块处理完毕,实现将丢失B帧的前景区域划分为强运动相关区域和弱运动相关区域的过程。
7.根据权利要求6所述的面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于所述的步骤④中,当次核心帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块的过程,与当次核 心帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块的过程相同,假设将的前景区域、的前景区域、的弱运动相关区域、的弱运动相关区域分别看作一个处理区域,则获取处理区域中的每个图像块的重建块的具体过程为:
④-1a、将处理区域中当前待处理的图像块定义为当前块;
④-1b、将当前块的前向运动矢量和后向运动矢量对应记为 其中,Df表示丢失B帧与丢失B帧的前向参考帧之间的距离,Db表示丢失B帧与丢失B帧的后向参考帧之间的距离,DB表示丢失B帧的前向参考帧与丢失B帧的后向参考帧之间的距离,表示丢失B帧的后向参考帧中与当前块对应的图像块的前向运动矢量;
④-1c、采用基于四分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度,1≤q≤64,α和β表示加权系数,α+β=1,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
④-1d、将处理区域中下一个待处理的图像块作为当前块,然后返回步骤④-1b继续执行,直至处理区域中的所有图像块处理完毕,得到处理区域中的每个图像块的重建块。
8.根据权利要求7所述的面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于所述的步骤④中,当次核心帧丢失时获取强运动相关区域中的每个图像块的重建块的具体过程为:
④-2a、将强运动相关区域中当前待处理的图像块定义为当前块;
④-2b、假设当前块在丢失B帧中的坐标位置为(x,y),其中,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度;
④-2c、对当前块进行视差补偿,在立体视频的左视点中与丢失B帧同一时刻的图像帧中找到与当前块相对应的图像块,假设找到的图像块在立体视频的左视点中与丢失B帧同一时刻的图像帧中的坐标位置为(x',y'),则将找到的图像块记为其中,
④-2d、将的前向运动矢量作为当前块的前向运动矢量,记为并将的后向运动矢量作为当前块的后向运动矢量,记为
④-2e、采用基于四分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,1≤q≤64,α和β表示加权系数,α+β=1,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
④-2f、将强运动相关区域中下一个待处理的图像块作为当前块,然后返回步骤④-2b继续执行,直至强运动相关区域中的所有图像块处理完毕,得到强运动相关区域中的每 个图像块的重建块。
9.根据权利要求8所述的面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于所述的步骤⑤中,当普通帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取丢失B帧的前景区域中的每个图像块的重建块的过程,与当普通帧丢失时采用基于时域运动矢量相关性的错误隐藏法获取弱运动相关区域中的每个图像块的重建块的过程相同,假设将的前景区域、的前景区域、的前景区域、的前景区域、的弱运动相关区域、的弱运动相关区域、的弱运动相关区域、的弱运动相关区域分别看作一个处理区域,则获取处理区域中的每个图像块的重建块的具体过程为:
⑤-1a、将处理区域中当前待处理的图像块定义为当前块;
⑤-1b、将当前块的前向运动矢量和后向运动矢量对应记为 其中,Df表示丢失B帧与丢失B帧的前向参考帧之间的距离,Db表示丢失B帧与丢失B帧的后向参考帧之间的距离,DB表示丢失B帧的前向参考帧与丢失B帧的后向参考帧之间的距离,表示丢失B帧的后向参考帧中与当前块对应的图像块的前向运动矢量;
⑤-1c、采用基于二分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度,1≤q≤64,α和β表示加权系数,α+β=1,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向 上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
⑤-1d、将处理区域中下一个待处理的图像块作为当前块,然后返回步骤⑤-1b继续执行,直至处理区域中的所有图像块处理完毕,得到处理区域中的每个图像块的重建块。
10.根据权利要求9所述的面向HBP编码格式的立体视频B帧整帧丢失错误隐藏方法,其特征在于所述的步骤⑤中,当普通帧丢失时获取强运动相关区域中的每个图像块的重建块的具体过程为:
⑤-2a、将强运动相关区域中当前待处理的图像块定义为当前块;
⑤-2b、假设当前块在丢失B帧中的坐标位置为(x,y),其中,W表示立体视频的左视点和右视点中的图像帧的宽度,H表示立体视频的左视点和右视点中的图像帧的高度;
⑤-2c、对当前块进行视差补偿,在立体视频的左视点中与丢失B帧同一时刻的图像帧中找到与当前块相对应的图像块,假设找到的图像块在立体视频的左视点中与丢失B帧同一时刻的图像帧中的坐标位置为(x',y'),则将找到的图像块记为其中,
⑤-2d、将的前向运动矢量作为当前块的前向运动矢量,记为并将的后向运动矢量作为当前块的后向运动矢量,记为
⑤-2e、采用基于二分之一像素等级的运动补偿法,利用获取当前块的重建块,记为假设中的第q个像素点在丢失B帧中的坐标位置为(i,j),则将中的第q个像素点的重建值记为 其中,1≤i≤W,1≤j≤H,1≤q≤64,α和β表示加权系数,α+β=1,表示丢失B帧的前向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的前向运动矢量估计值,当前块在y方向上的前向运动矢量估计值,表示丢失B帧的后向参考帧中坐标位置为的像素点的像素值,表示当前块在x方向上的后向运动矢量估计值,表示当前块在y方向上的后向运动矢量估计值;
⑤-2f、将强运动相关区域中下一个待处理的图像块作为当前块,然后返回步骤⑤-2b继续执行,直至强运动相关区域中的所有图像块处理完毕,得到强运动相关区域中的每个图像块的重建块。
CN201310416333.8A 2013-09-12 2013-09-12 面向hbp编码格式的立体视频b帧整帧丢失错误隐藏方法 Active CN103475884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310416333.8A CN103475884B (zh) 2013-09-12 2013-09-12 面向hbp编码格式的立体视频b帧整帧丢失错误隐藏方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310416333.8A CN103475884B (zh) 2013-09-12 2013-09-12 面向hbp编码格式的立体视频b帧整帧丢失错误隐藏方法

Publications (2)

Publication Number Publication Date
CN103475884A CN103475884A (zh) 2013-12-25
CN103475884B true CN103475884B (zh) 2016-08-24

Family

ID=49800562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310416333.8A Active CN103475884B (zh) 2013-09-12 2013-09-12 面向hbp编码格式的立体视频b帧整帧丢失错误隐藏方法

Country Status (1)

Country Link
CN (1) CN103475884B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104602028B (zh) * 2015-01-19 2017-09-29 宁波大学 一种立体视频b帧整帧丢失错误隐藏方法
WO2017041248A1 (zh) * 2015-09-09 2017-03-16 华为技术有限公司 一种数据处理方法、基站以及终端设备
CN107682705B (zh) * 2017-09-26 2020-05-12 杭州电子科技大学 基于mv-hevc框架的立体视频b帧错误隐藏方法
CN107800450A (zh) * 2017-11-13 2018-03-13 韩劝劝 收音机播放强度控制系统
CN110312138B (zh) * 2019-01-04 2020-08-11 北京大学 基于时序残差卷积建模的高嵌入容量视频隐写方法和系统
CN109922349B (zh) * 2019-02-01 2021-02-19 杭州电子科技大学 基于视差矢量外推的立体视频右视点b帧错误隐藏方法
CN111083502B (zh) * 2019-11-04 2021-06-08 杭州电子科技大学 一种基于块编码特性的3d视频错误隐藏方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595145A (zh) * 2012-03-13 2012-07-18 宁波大学 一种立体视频整帧丢失错误隐藏方法
CN103024402A (zh) * 2012-11-29 2013-04-03 宁波大学 一种自由视点视频整帧丢失错误隐藏方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425676B1 (ko) * 2001-03-15 2004-04-03 엘지전자 주식회사 비디오 전송 시스템의 에러 복구 방법
KR100488804B1 (ko) * 2002-10-07 2005-05-12 한국전자통신연구원 Mpeg-4 기반의 양안식 3차원 동영상 데이터 처리시스템 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595145A (zh) * 2012-03-13 2012-07-18 宁波大学 一种立体视频整帧丢失错误隐藏方法
CN103024402A (zh) * 2012-11-29 2013-04-03 宁波大学 一种自由视点视频整帧丢失错误隐藏方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于区域划分的立体视频整帧丢失错误隐藏新算法;孙越等;《光电子·激光》;20120630;第23卷(第6期);第1159-1165页 *

Also Published As

Publication number Publication date
CN103475884A (zh) 2013-12-25

Similar Documents

Publication Publication Date Title
CN103475884B (zh) 面向hbp编码格式的立体视频b帧整帧丢失错误隐藏方法
CN103237226B (zh) 一种立体视频宏块丢失错误隐藏方法
CN102510500B (zh) 一种基于深度信息的多视点立体视频错误隐藏方法
CN103024402B (zh) 一种自由视点视频整帧丢失错误隐藏方法
CN101986716B (zh) 一种快速深度视频编码方法
CN102595145B (zh) 一种立体视频整帧丢失错误隐藏方法
CN104602028A (zh) 一种立体视频b帧整帧丢失错误隐藏方法
CN101867813B (zh) 面向交互式应用的多视点视频编码方法
CN102801995B (zh) 一种基于模板匹配的多视点视频运动和视差矢量预测方法
CN102291579B (zh) 一种快速的多目立体视频分形压缩与解压缩方法
CN103067705B (zh) 一种多视点深度视频预处理方法
CN101198061A (zh) 基于视点图像映射的立体视频流编码方法
CN102611893B (zh) 基于直方图匹配和sad判决的dmvc边信息融合方法
CN102316323B (zh) 一种快速的双目立体视频分形压缩与解压缩方法
CN102790895B (zh) 一种基于最小二乘的多视点视频编码视点合成预测方法
CN103051894A (zh) 一种基于分形和h.264的双目立体视频压缩与解压缩方法
CN104506871B (zh) 一种基于hevc的3d视频快速编码方法
CN103856782B (zh) 基于多视点视频整帧丢失的自适应错误掩盖方法
CN101557519B (zh) 一种多视点视频编码方法
CN103220533A (zh) 一种立体视频宏块丢失错误隐藏方法
CN103517078A (zh) 分布式视频编码中边信息生成方法
KR20090122633A (ko) 다시점 동영상 부호화에서 고속 모드 결정 방법 및 장치
CN103167291B (zh) 一种基于结构相似度的立体视频整帧丢失错误隐藏方法
CN102263952B (zh) 一种基于对象的快速双目立体视频分形压缩与解压缩方法
CN102263953B (zh) 一种基于对象的快速多目立体视频分形压缩与解压缩方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant