一种立体视频B帧整帧丢失错误隐藏方法
技术领域
本发明涉及一种视频错误隐藏方法,尤其是涉及一种立体视频B帧整帧丢失错误隐藏方法。
背景技术
随着立体视频各项技术的快速发展及人们生活水平地提高,人们追求更加高质量的视觉体验。与传统媒体相比,立体视频的突出优势在于它能够为大众创造更加直观真实的场景感受,提供更多样化全方位的媒体交互功能。目前,立体视频技术已被广泛地应用于三维电视、远程医疗、视频监控等多个方面。然而,由于立体视频的数据量很大,因此为了有效地传输,不得不进行高效地视频压缩编码。立体视频压缩编码方法通常是利用时间、空间相关性预测来减少时间域、空间域以及视点域的冗余信息,这就使得在压缩数据量的同时,视频流的抗误码性能降低。因而,在视频流经过不可靠的信道传输时,会造成数据包丢失甚至整帧丢失,严重影响解码视频的观看体验。因此,必须采用一种行之有效的错误隐藏方法加以控制。
按照丢包方式不同,错误隐藏技术可以分为部分宏块丢失错误隐藏和整帧图像丢失错误隐藏。当部分宏块丢失时,错误隐藏技术不仅可以利用时域和视点域相邻帧的有效信息,还可以利用丢失块周围正确解码重建宏块的信息对丢失宏块进行预测,并通过宏块边界匹配寻找与周围宏块纹理边缘匹配最佳的预测宏块,以达到较好的错误隐藏效果。当整帧图像丢失时,由于丢失帧没有可以利用的信息,在图像恢复及候选块的选择上要比部分宏块丢失更加困难,因此错误隐藏技术只能通过丢失帧时域和视点域相邻帧的有效信息进行恢复,正是由于这个原因,目前针对整帧图像丢失的错误隐藏方法研究的文献相对较少。此外,目前大多数错误隐藏方法是针对立体IPPP编码结构,很少有涉及立体双视点HBP编码结构,由于编码结构的不同,这些错误隐藏方法不能简单地适用于立体双视点HBP编码结构,因此,研究针对立体视频HBP编码结构B帧整帧丢失的错误隐藏方法十分必要。
发明内容
本发明所要解决的技术问题是提供一种立体视频B帧整帧丢失错误隐藏方法,其能够有效提高丢失的B帧的主观质量和客观质量。
本发明解决上述技术问题所采用的技术方案为:一种立体视频B帧整帧丢失错误隐藏方法,其特征在于包括以下步骤:
①假设HBP编码结构的立体视频中t时刻的右视点图像为B帧,并假设该B帧为丢失帧;
②计算丢失帧在时域上的前向参考帧与丢失帧在时域上的后向参考帧之间的像素域帧差图,然后对丢失帧和像素域帧差图分别进行互不重叠的图像块划分处理,再计算像素域帧差图中的每个图像块的像素域平均帧差值,最后根据像素域帧差图中的每个图像块的像素域平均帧差值,判定丢失帧中相同坐标位置的图像块属于剧烈运动区域还是属于缓慢静止区域;
③对丢失帧中的每个图像块进行错误隐藏,以完成丢失帧中的每个图像块的亮度信息和色度信息的恢复,具体过程为:
③-1、将丢失帧中当前待处理的图像块定义为当前图像块;
③-2、如果当前图像块属于缓慢静止区域,则直接采用时域双向帧拷贝错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复,然后执行步骤③-3;
如果当前图像块属于剧烈运动区域,则采用时域双向运动估计方法计算当前图像块的时域最优运动矢量,当当前图像块的时域最优运动矢量对应的失真值小于T2时,再采用时域双向错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复,然后执行步骤③-3;而当当前图像块的时域最优运动矢量对应的失真值大于或等于T2时,再采用联合时域和视点域错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复,然后执行步骤③-3;其中,T2表示设定的失真值判定阈值;
③-3、将丢失帧中下一个待处理的图像块作为当前图像块,然后返回步骤③-2继续执行,直至丢失帧中的所有图像块各自的亮度信息和色度信息恢复完毕。
所述的步骤②的具体过程为:
②-1、将丢失帧在时域上的前向参考帧记为Ft-k,将丢失帧在时域上的后向参考帧记为Ft+k,其中,如果丢失帧为核心帧,则取k=4,如果丢失帧为次核心帧,则取k=2,如果丢失帧为普通帧,则取k=1;
②-2、计算Ft-k与Ft+k之间的像素域帧差图,记为Ct,将Ct中坐标位置为(x,y)的像素点的像素值记为Ct(x,y),Ct(x,y)=|Ft-k(x,y)-Ft+k(x,y)|,其中,1≤x≤W,1≤y≤H,W表示实际编解码中立体视频中的立体图像的宽度,H表示实际编解码中立体视频中的立体图像的高度,Ft-k(x,y)表示Ft-k中坐标位置为(x,y)的像素点的像素值,Ft+k(x,y)表示Ft+k中坐标位置为(x,y)的像素点的像素值,符号“||”为取绝对值符号;
②-3、将丢失帧和Ct分别划分成个互不重叠的尺寸大小为16×16的图像块,然后计算Ct中的每个图像块的像素域平均帧差值,将Ct中坐标位置为(m,n)的图像块的像素域平均帧差值记为Et(m,n), 其中,
②-4、根据Ct中的每个图像块的像素域平均帧差值,判定丢失帧中相同坐标位置的图像块属于剧烈运动区域还是属于缓慢静止区域,对于丢失帧中坐标位置为(m,n)的图像块,如果Et(m,n)≥T1,则判定该图像块属于剧烈运动区域,如果Et(m,n)<T1,则判定该图像块属于缓慢静止区域,其中,T1表示设定的区域判定阈值。
所述的步骤②-4中取T1=5。
所述的步骤③-2中取T2=50。
所述的步骤③-2中采用时域双向帧拷贝错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复的具体过程为:a1、将丢失帧在时域上的前向参考帧和丢失帧在时域上的后向参考帧分别划分成个互不重叠的尺寸大小为16×16的图像块,其中,W表示实际编解码中立体视频中的立体图像的宽度,H表示实际编解码中立体视频中的立体图像的高度;a2、将丢失帧在时域上的前向参考帧中与当前图像块相同坐标位置的图像块的亮度信息和丢失帧在时域上的后向参考帧中与当前图像块相同坐标位置的图像块的亮度信息的均值作为当前图像块的亮度信息;将丢失帧在时域上的前向参考帧中与当前图像块相同坐标位置的图像块的色度信息和丢失帧在时域上的后向参考帧中与当前图像块相同坐标位置的图像块的色度信息的均值作为当前图像块的色度信息。
所述的步骤③-2中采用时域双向运动估计方法计算当前图像块的时域最优运动矢量的具体过程为:
b1、将丢失帧在时域上的前向参考帧和丢失帧在时域上的后向参考帧分别划分成个互不重叠的尺寸大小为16×16的图像块,其中,W表示实际编解码中立体视频中的立体图像的宽度,H表示实际编解码中立体视频中的立体图像的高度;
b2、假设丢失帧在前向参考帧与后向参考帧之间匀速运动,则当前图像块与前向参考帧中与当前图像块相匹配的图像块之间的运动矢量的方向和当前图像块与后向参考帧中与当前图像块相匹配的图像块之间的运动矢量的方向相反,而值相同;
b3、对于当前图像块中的每一个像素点,计算对前向参考帧进行运动估计得到的预测像素值与对后向参考帧进行运动估计得到的预测像素值的差值;然后计算当前图像块对应的所有差值的和,记为STSAD(v),其中,v表示当前图像块与前向参考帧中与当前图像块相匹配的图像块之间的运动矢量,亦表示当前图像块与后向参考帧中与当前图像块相匹配的图像块之间的运动矢量,p表示以当前图像块的左上角像素点为坐标原点时当前图像块中的像素点的坐标矢量,B表示以当前图像块的左上角像素点为坐标原点时由当前图像块中的所有像素点的坐标矢量构成的集合,Ft-k(p-v)表示丢失帧在时域上的前向参考帧Ft-k中坐标矢量为p的像素点用运动矢量v进行运动估计得到的预测像素值,Ft+k(p+v)表示丢失帧在时域上的后向参考帧Ft+k中坐标矢量为p的像素点用运动矢量v进行运动估计得到的预测像素值,符号“||”为取绝对值符号;
b4、在由水平方向搜索范围[-Δx1,Δx1]和垂直方向搜索范围[-Δy1,Δy1]形成的矩形范围内进行运动矢量全遍历搜索,将使得STSAD(v)最小的运动矢量作为当前图像块的时域最优运动矢量,其中,Δx1=16,Δy1=16。
所述的步骤③-2中采用时域双向错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复的具体过程为:c1、利用当前图像块的时域最优运动矢量,获取丢失帧在时域上的前向参考帧中与当前图像块相同坐标位置的图像块的亮度信息预测值和色度信息预测值,以及丢失帧在时域上的后向参考帧中与当前图像块相同坐标位置的图像块的亮度信息预测值和色度信息预测值;c2、将前向参考帧中与当前图像块相同坐标位置的图像块的亮度信息预测值和后向参考帧中与当前图像块相同坐标位置的图像块的亮度信息预测值的均值作为当前图像块的亮度信息,并将前向参考帧中与当前图像块相同坐标位置的图像块的色度信息预测值和后向参考帧中与当前图像块相同坐标位置的图像块的色度信息预测值的均值作为当前图像块的色度信息。
所述的步骤③-2中采用联合时域和视点域错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复的具体过程为:d1、将丢失帧在时域上的前向参考帧中与当前图像块相同坐标位置的图像块的视差矢量作为当前图像块的第一视差矢量,利用当前图像块的第一视差矢量得到当前图像块的第一亮度信息预测值和第一色度信息预测值;d2、将丢失帧在时域上的后向参考帧中与当前图像块相同坐标位置的图像块的视差矢量作为当前图像块的第二视差矢量,利用当前图像块的第二视差矢量得到当前图像块的第二亮度信息预测值和第二色度信息预测值;d3、将当前图像块的第一亮度信息预测值和第二亮度信息预测值的均值作为当前图像块的视点域亮度信息预测值,并将当前图像块的第一色度信息预测值和第二色度信息预测值的均值作为当前图像块的视点域色度信息预测值;d4、采用时域双向错误隐藏方法得到当前图像块的时域亮度信息预测值和时域色度信息预测值;d5、对当前图像块的视点域亮度信息预测值和当前图像块的时域亮度信息预测值进行加权求和得到当前图像块的亮度信息,并对当前图像块的视点域色度信息预测值和当前图像块的时域色度信息预测值进行加权求和得到当前图像块的色度信息,其中,当前图像块的视点域亮度信息预测值和当前图像块的视点域色度信息预测值的权值均为当前图像块的时域亮度信息预测值和当前图像块的时域色度信息预测值的权值均为
与现有技术相比,本发明的优点在于:本发明方法根据丢失帧在时域上的前向参考帧与后向参考帧之间的时域相关性,将丢失帧中的每个图像块判定为属于缓慢静止区域或剧烈运动区域,对于属于缓慢静止区域的图像块,由于其时间相关性比较强,因此直接采用时域双向帧拷贝错误隐藏方法对图像块进行错误隐藏;对于属于剧烈运动区域的图像块,计算图像块的时域最优运动矢量,根据图像块的时域最优运动矢量对应的失真值的大小选择合适的时域候选信息和视点域候选信息进行错误隐藏,由于充分利用了丢失帧周围相邻帧的有效信息,采用失真值度量的方法进行有效的选择,使得最终恢复图像的视觉效果(即主观质量)和客观质量得到了大幅度的提升。
附图说明
图1为HBP编码结构的示意图;
图2为本发明方法的流程框图;
图3a为Akko序列的第7帧右视点图像;
图3b为图3a所示的右视点图像在时域上的前向参考帧与后向参考帧之间的像素域帧差图;
图3c为图3b所示的像素域帧差图分图像块处理后得到的结果;
图3d为Puppy序列的第25帧右视点图像;
图3e为图3d所示的右视点图像在时域上的前向参考帧与后向参考帧之间的像素域帧差图;
图3f为图3e所示的像素域帧差图分图像块处理后得到的结果;
图4a为图3a所示的右视点图像的正确解码图像(PSNR=37.58dB);
图4b为图3a所示的右视点图像采用现有的时域双向帧拷贝错误隐藏方法得到的恢复图像(PSNR=26.14dB);
图4c为图3a所示的右视点图像采用现有的时域双向错误隐藏方法得到的恢复图像(PSNR=30.19dB);
图4d为图3a所示的右视点图像采用现有的视点域错误隐藏方法得到的恢复图像(PSNR=29.97dB);
图4e为图3a所示的右视点图像采用本发明方法得到的恢复图像(PSNR=34.54dB)。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种立体视频B帧整帧丢失错误隐藏方法,其从立体视频序列的编码特点及立体视频序列时域、视点域视频图像信息区域特征的相似性考虑,假设立体视频的右视点某一时刻的B帧整帧丢失,根据丢失帧在当前视点的前向参考帧和后向参考帧的时域相关性,估计丢失帧的运动特性,将丢失帧划分为两部分,一是缓慢静止区域,采用时域双向帧拷贝错误隐藏方法对图像块进行错误隐藏;二是剧烈运动区域,综合考虑丢失帧的时域相关性及视点间相关性,根据失真值的大小选择合适的错误隐藏算法对图像块进行错误隐藏。为了与单视点视频服务保持兼容,图1给出了本发明方法采用的HBP编码结构的示意图,根据分层特性把B帧划分为核心帧(在图1中为Ft)、次核心帧(Ft-2和Ft+2)和普通帧(Ft-3,Ft-1,Ft+1,Ft+3)。采用HBP编码结构的立体视频的左视点图像采用基于H.264的编码标准进行独立压缩编码,右视点图像采用联合运动补偿预测(MCP,motion compensation prediction)和视差补偿预测(DCP,disparitycompensation prediction)的编码结构,而视差补偿预测在单通道的编码中是不存在的,这是立体视频编码的重要特征。HBP编码结构中既利用了运动补偿消除视点内的编码冗余,又采用了视差补偿消除视点间的编码冗余。
图2给出了本发明的一种立体视频B帧整帧丢失错误隐藏方法的流程框图,其包括以下步骤:
①假设HBP编码结构的立体视频中t时刻的右视点图像为B帧,并假设该B帧为丢失帧。
②计算丢失帧在时域上的前向参考帧与丢失帧在时域上的后向参考帧之间的像素域帧差图,然后对丢失帧和像素域帧差图分别进行互不重叠的图像块划分处理,再计算像素域帧差图中的每个图像块的像素域平均帧差值,最后根据像素域帧差图中的每个图像块的像素域平均帧差值,判定丢失帧中相同坐标位置的图像块属于剧烈运动区域还是属于缓慢静止区域。
在此具体实施例中,步骤②的具体过程为:
②-1、将丢失帧在时域上的前向参考帧记为Ft-k,将丢失帧在时域上的后向参考帧记为Ft+k,其中,如果丢失帧为核心帧,则取k=4,如果丢失帧为次核心帧,则取k=2,如果丢失帧为普通帧,则取k=1,即在图1所示的HBP编码结构下,核心B帧丢失时取k=4,对于次核心B帧丢失,取k=2,对于普通B帧丢失,取k=1。
②-2、计算Ft-k与Ft+k之间的像素域帧差图,记为Ct,将Ct中坐标位置为(x,y)的像素点的像素值记为Ct(x,y),Ct(x,y)=|Ft-k(x,y)-Ft+k(x,y)|,其中,1≤x≤W,1≤y≤H,W表示实际编解码中立体视频中的立体图像的宽度,即表示实际编解码中立体视频中的立体图像的左视点图像和右视点图像的宽度(能被16整除),H表示实际编解码中立体视频中的立体图像的高度,即表示实际编解码中立体视频中的立体图像的左视点图像和右视点图像的高度(能被16整除),Ft-k(x,y)表示Ft-k中坐标位置为(x,y)的像素点的像素值,Ft+k(x,y)表示Ft+k中坐标位置为(x,y)的像素点的像素值,符号“||”为取绝对值符号。
②-3、将丢失帧和Ct分别划分成个互不重叠的尺寸大小为16×16的图像块,然后计算Ct中的每个图像块的像素域平均帧差值,将Ct中坐标位置为(m,n)的图像块的像素域平均帧差值记为Et(m,n), 其中,
②-4、根据Ct中的每个图像块的像素域平均帧差值,判定丢失帧中相同坐标位置的图像块属于剧烈运动区域还是属于缓慢静止区域,对于丢失帧中坐标位置为(m,n)的图像块,如果Et(m,n)≥T1,则判定该图像块属于剧烈运动区域,如果Et(m,n)<T1,则判定该图像块属于缓慢静止区域,其中,T1表示设定的区域判定阈值,在本实施例中取T1=5,实验表明,若区域判定阈值选择过小,则会将运动缓慢的丢失块划为快速运动的丢失块,不仅造成计算量的增大,而且无法获得有效地恢复;若区域判定阈值选择过大,则会漏选快速运动的丢失块,会造成最终的恢复效果下降,因此本发明方法在实验过程中首先设定一个初始阈值,然后通过大量的实验对该阈值进行相应的调整,最后经过试验测试将该区域判定阈值设定为5。
图3a给出了Akko序列的第7帧右视点图像,图3b给出了图3a所示的右视点图像在时域上的前向参考帧与后向参考帧之间的像素域帧差图,图3d给出了Puppy序列的第25帧右视点图像,图3e给出了图3d所示的右视点图像在时域上的前向参考帧与后向参考帧之间的像素域帧差图,图3b和图3e中黑色区域表示前向参考帧与后向参考帧之间对应像素点的像素值差异非常小,而白色区域表示前向参考帧与后向参考帧之间对应像素点的像素值差异比较大,即运动比较剧烈,从图3b和图3e中可以看出一帧中运动剧烈的区域占有的比例相对较小,剩下大面积区域的帧差值很小,可以看作是基本不运动。图3c给出了图3b所示的像素域帧差图分图像块处理后得到的结果,图3f给出了图3e所示的像素域帧差图分图像块处理后得到的结果,图3c和图3f中的黑色块表示像素域帧差图中差值较大的图像块,即为剧烈运动的图像块,白色区域表示像素域帧差图中差值较小的图像块,即为缓慢运动的图像块。
③对丢失帧中的每个图像块进行错误隐藏,以完成丢失帧中的每个图像块的亮度信息和色度信息的恢复,具体过程为:
③-1、将丢失帧中当前待处理的图像块定义为当前图像块。
③-2、如果当前图像块属于缓慢静止区域,则直接采用时域双向帧拷贝错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复,然后执行步骤③-3。
如果当前图像块属于剧烈运动区域,则采用时域双向运动估计方法计算当前图像块的时域最优运动矢量,当当前图像块的时域最优运动矢量对应的失真值小于T2时,再采用时域双向错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复,然后执行步骤③-3;而当当前图像块的时域最优运动矢量对应的失真值大于或等于T2时,再采用联合时域和视点域错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复,然后执行步骤③-3;其中,T2表示设定的失真值判定阈值,在本实施例中取T2=50,实验表明,若失真值判定阈值选择过小,则会将时域双向错误隐藏方法变成联合时域和视点域错误隐藏方法,不仅造成计算量的增大,而且无法获得有效地恢复;若失真值判定阈值选择过大,则会忽略视点间相关性,会造成最终的恢复效果下降,因此本发明方法实验时首先设定一个初始阈值,然后通过大量的实验对该阈值进行相应地调整,最后经过试验测试将该失真值判定阈值设定为50。
在此具体实施例中,步骤③-2中采用时域双向帧拷贝错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复的具体过程为:a1、将丢失帧在时域上的前向参考帧和丢失帧在时域上的后向参考帧分别划分成个互不重叠的尺寸大小为16×16的图像块,其中,W表示实际编解码中立体视频中的立体图像的宽度,H表示实际编解码中立体视频中的立体图像的高度;a2、将丢失帧在时域上的前向参考帧中与当前图像块相同坐标位置的图像块的亮度信息和丢失帧在时域上的后向参考帧中与当前图像块相同坐标位置的图像块的亮度信息的均值作为当前图像块的亮度信息;将丢失帧在时域上的前向参考帧中与当前图像块相同坐标位置的图像块的色度信息和丢失帧在时域上的后向参考帧中与当前图像块相同坐标位置的图像块的色度信息的均值作为当前图像块的色度信息,即假设当前图像块在丢失帧中的坐标位置为(m,n),则当前图像块的亮度信息为丢失帧在时域上的前向参考帧中坐标位置为(m,n)的图像块的亮度信息与丢失帧在时域上的后向参考帧中坐标位置为(m,n)的图像块的亮度信息的均值,当前图像块的色度信息为丢失帧在时域上的前向参考帧中坐标位置为(m,n)的图像块的色度信息与丢失帧在时域上的后向参考帧中坐标位置为(m,n)的图像块的色度信息的均值,其中,
在此具体实施例中,步骤③-2中采用时域双向运动估计方法计算当前图像块的时域最优运动矢量的具体过程为:
b1、将丢失帧在时域上的前向参考帧和丢失帧在时域上的后向参考帧分别划分成个互不重叠的尺寸大小为16×16的图像块,其中,W表示实际编解码中立体视频中的立体图像的宽度,H表示实际编解码中立体视频中的立体图像的高度。
b2、假设丢失帧在前向参考帧与后向参考帧之间匀速运动,则当前图像块与前向参考帧中与当前图像块相匹配的图像块之间的运动矢量的方向和当前图像块与后向参考帧中与当前图像块相匹配的图像块之间的运动矢量的方向相反,而值相同。
b3、对于当前图像块中的每一个像素点,计算对前向参考帧进行运动估计得到的预测像素值与对后向参考帧进行运动估计得到的预测像素值的差值;然后计算当前图像块对应的所有差值的和,记为STSAD(v),其中,v表示当前图像块与前向参考帧中与当前图像块相匹配的图像块之间的运动矢量,亦表示当前图像块与后向参考帧中与当前图像块相匹配的图像块之间的运动矢量,p表示以当前图像块的左上角像素点为坐标原点时当前图像块中的像素点的坐标矢量,B表示以当前图像块的左上角像素点为坐标原点时由当前图像块中的所有像素点的坐标矢量构成的集合,Ft-k(p-v)表示丢失帧在时域上的前向参考帧Ft-k中坐标矢量为p的像素点用运动矢量v进行运动估计得到的预测像素值,Ft+k(p+v)表示丢失帧在时域上的后向参考帧Ft+k中坐标矢量为p的像素点用运动矢量v进行运动估计得到的预测像素值,符号“||”为取绝对值符号。
b4、在由水平方向搜索范围[-Δx1,Δx1]和垂直方向搜索范围[-Δy1,Δy1]形成的矩形范围内进行运动矢量全遍历搜索,将使得STSAD(v)最小的运动矢量作为当前图像块的时域最优运动矢量,其中,Δx1=16,Δy1=16。
在此具体实施例中,步骤③-2中采用时域双向错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复的具体过程为:c1、利用当前图像块的时域最优运动矢量,获取丢失帧在时域上的前向参考帧中与当前图像块相同坐标位置的图像块的亮度信息预测值和色度信息预测值,以及丢失帧在时域上的后向参考帧中与当前图像块相同坐标位置的图像块的亮度信息预测值和色度信息预测值;c2、将前向参考帧中与当前图像块相同坐标位置的图像块的亮度信息预测值和后向参考帧中与当前图像块相同坐标位置的图像块的亮度信息预测值的均值作为当前图像块的亮度信息,并将前向参考帧中与当前图像块相同坐标位置的图像块的色度信息预测值和后向参考帧中与当前图像块相同坐标位置的图像块的色度信息预测值的均值作为当前图像块的色度信息。
在此具体实施例中,步骤③-2中采用联合时域和视点域错误隐藏方法对当前图像块进行错误隐藏,以完成当前图像块的亮度信息和色度信息的恢复的具体过程为:d1、将丢失帧在时域上的前向参考帧中与当前图像块相同坐标位置的图像块的视差矢量作为当前图像块的第一视差矢量,利用当前图像块的第一视差矢量得到当前图像块的第一亮度信息预测值和第一色度信息预测值;d2、将丢失帧在时域上的后向参考帧中与当前图像块相同坐标位置的图像块的视差矢量作为当前图像块的第二视差矢量,利用当前图像块的第二视差矢量得到当前图像块的第二亮度信息预测值和第二色度信息预测值;d3、将当前图像块的第一亮度信息预测值和第二亮度信息预测值的均值作为当前图像块的视点域亮度信息预测值,并将当前图像块的第一色度信息预测值和第二色度信息预测值的均值作为当前图像块的视点域色度信息预测值;d4、采用时域双向错误隐藏方法得到当前图像块的时域亮度信息预测值和时域色度信息预测值;d5、对当前图像块的视点域亮度信息预测值和当前图像块的时域亮度信息预测值进行加权求和得到当前图像块的亮度信息,并对当前图像块的视点域色度信息预测值和当前图像块的时域色度信息预测值进行加权求和得到当前图像块的色度信息,其中,当前图像块的视点域亮度信息预测值和当前图像块的视点域色度信息预测值的权值均为当前图像块的时域亮度信息预测值和当前图像块的时域色度信息预测值的权值均为在此,步骤d4中获取当前图像块的时域亮度信息预测值和时域色度信息预测值的具体过程采用与步骤c1至步骤c2相同的操作。
③-3、将丢失帧中下一个待处理的图像块作为当前图像块,然后返回步骤③-2继续执行,直至丢失帧中的所有图像块各自的亮度信息和色度信息恢复完毕。
为了验证本发明方法的有效性,本实施例基于H.264/AVC的JM18.2采用如图1所示的HBP编码结构构建了立体视频编码平台。测试了不同分辨率、不同内容特性的序列,分别为Akko(640×480)、Puppy(720×480)及Door_flowers(512×384)序列。本实施例中,编码QP(量化参数)分别为24、28、32、36。为了比较不同错误隐藏方法的优劣,除本发明方法外,为了验证区域分割的效果,实验中对上述三个测试序列整帧使用时域双向帧拷贝错误隐藏方法、时域双向错误隐藏方法和视点域错误隐藏方法进行错误隐藏,分别进行了测试。
本实施例中,随机选择右视点B帧发生整帧丢失。本实施例假设Akko序列的第7帧右视点图像发生丢失、Puppy序列的第25帧右视点图像发生丢失及Door_flowers序列的第31帧右视点图像发生丢失。QP为28时上述各个序列恢复得到的丢失帧的亮度峰值信噪比(PSNR)如表1所列。分析表1所列的数据,可知本发明方法恢复得到的丢失帧比时域双向帧拷贝错误隐藏方法、时域双向错误隐藏方法和视点域错误隐藏方法恢复得到的丢失帧的图像客观质量都要高,更接近正确解码得到的图像的客观质量,这主要是因为本发明方法充分考虑到了区域分割对于恢复结果的优势,同时联合时域相关性和视点间相关性,得到了比较好的恢复效果。由表1可见,对于Akko序列,本发明方法提高的PSNR最大,这是因为在Akko序列中,存在大面积的运动区域,且运动相对比较剧烈,时域双向帧拷贝错误隐藏方法对于运动区域不能获得很好的恢复效果,时域双向错误隐藏方法和视点域错误隐藏方法都单独使用了一种参考关系,得到的恢复效果相当;对于Puppy序列,时域双向帧拷贝错误隐藏方法和时域双向错误隐藏方法得到的恢复效果比较接近,而使用视点域错误隐藏方法得到的恢复效果最差,这是因为在Puppy序列中存在大面积的缓慢静止区域,缓慢静止区域内相邻帧之间的运动比较小,时域相关性很强。
为了评价不同QP下各种错误隐藏方法的性能,针对Akko序列测试了QP为24、28、32、36时采用不同错误隐藏方法恢复丢失的第7帧右视点图像的效果,其结果如表2所列。分析表2所列的数据,可知本发明方法在不同QP时均取得了较好的恢复效果。图4a给出了Akko序列的第7帧右视点图像的正确解码重建的丢失帧,图4b、图4c、图4d和图4e分别给出了Akko序列的第7帧右视点图像采用时域双向帧拷贝错误隐藏方法、时域双向错误隐藏方法、视点域错误隐藏方法和本发明方法恢复得到的恢复图像(QP=28时),分析图4a至图4e,可知经本发明方法处理后得到的恢复图像得到了较好的视觉效果且主观质量明显好于其它三种方法恢复图像的主观质量。
表1同一QP下不同序列的丢失帧恢复得到的PSNR(dB)
表2Akko序列不同QP下的PSNR(dB)