[0037] 以下结合附图实施例对本发明作进一步详细描述。
[0038] 由于多视点彩色视频编码中没有完全利用人眼视觉感知特性压缩,多视点彩色视频中存在大量的冗余,因此为了得到在不影响人眼视觉感知的前提下进一步减少多视点彩色视频的编码时间,本发明提出了一种基于双目恰可觉察失真的多视点彩色视频快速编码方法,其在对多视点彩色视频编码之前对右视点视频中的宏块求取相应的双目恰可觉察失真值,以减少编码多视点彩色视频的编码时间。
[0039] 本发明提出的一种基于双目恰可觉察失真的多视点彩色视频快速编码方法,其流程框图如图1所示,其包括以下步骤:
[0040] ①将多视点彩色视频的左视点视频记为{CL(k)},将多视点彩色视频的右视点视频记为{CR(k)},其中,CL(k)表示{CL(k)}中的第k帧左视点图像,CR(k)表示{CR(k)}中的第k帧右视点图像,1≤k≤K,K表示左视点视频和右视点视频中包含的图像的帧数。
[0041] ②由于左视点图像和右视点图像中存在遮挡暴露区域,无法求取左视点图像与右视点图像的视差值,而且遮挡暴露区域一般位于左视点图像和右视点图像中的边界区域,因此在计算{CR(k)}中的每帧右视点图像中的宏块的双目恰可觉察失真值时需去除右视点图像的边界区域(最上面一行和最下面一行宏块及最左边和最右边一列宏块),即具体过程为:将{CR(k)}中的每帧右视点图像划分为边界区域和非边界区域,其中,边界区域由右视点图像中的第一行宏块、最后一行宏块、第一列宏块和最后一列宏块构成,非边界区域即由右视点图像中横坐标在2≤i≤W/16-1范围内且纵坐标在2≤j≤H/16-1范围内的所有宏块构成;然后计算{CR(k)}中的每帧右视点图像中的非边界区域内的每个宏块的双目恰可觉察失真值,假设{CR(k)}中的第k帧右视点图像CR(k)中坐标位置为(i,j)的宏块属于{CR(k)}中的第k帧右视点图像CR(k)中的非边界区域,则将{CR(k)}中的第k帧右视点图像CR(k)中坐标 位 置 为( i ,j )的 宏 块 的 双 目 恰 可 觉 察 失 真 值 记 为其中,
2≤i≤W/16-1,2≤j≤H/16-1,W表示{CL(k)}中的每帧左视点图像和{CR(k)}中的每帧右视点图像的宽度,H表示{CL(k)}中的每帧左视点图像和{CR(k)}中的每帧右视点图像的高度,d表示{CR(k)}中的第k帧右视点图像CR(k)中坐标位置为(i,j)的宏块的视差值,利用现有的基于平方差和(the Sum of Square Differences,SSD)的视差估计算法求取{CR(k)}中的每帧右视点图像中的非边界区域内的每个宏块与{CL(k)}中同一时刻的左视点图像中的对应宏块的视差值,bgL(i+d,j)表示{CL(k)}中的第k帧左视点图像CL(k)中坐标位置为(i+d,j)的宏块中的所有像素点的亮度值的平均值,bgL(i+d,j)∈[0 ,255],
bgL(i×16+d×16+m,j×16+n)表示
{CL(k)}中的第k帧左视点图像CL(k)中坐标位置为(i×16+d×16+m,j×16+n)的像素点的亮度值,图6给出了宏块的坐标位置与宏块内的像素点的坐标位置之间的关系示意图,0≤m≤15,0≤n≤15,ehL(i+d,j)表示{CL(k)}中的第k帧左视点图像CL(k)中坐标位置为(i+d,j)的宏块中的所有像素点的边缘强度值的平均值,
bgL
(i×16+d×16+m-3+h,j×16+n-3+v)表示{CL(k)}中的第k帧左视点图像CL(k)中坐标位置为(i×16+d×16+m-3+h,j×16+n-3+v)的像素点的亮度值,GH(h,v)表示5×5的水平Sobel算
子GH中坐标位置为(h,v)处的元素, GV(h,v)表示5×5的垂直Sobel算子GV
中坐标位置为(h,v)处的元素, 1≤h≤5,1≤v≤5,Alimt(bgL(i+d,j),
ehL(i+d,j))=Alimit(bgL(i+d,j))+K(bgL(i+d,j))×ehL(i+d,j),
K(bgL
(i+d,j))=-10-6×(0.7×(bgL(i+d,j))2+32×bgL(i+d,j))+0.07,λ表示控制右视点噪声影响的参数,在本实施例中λ取值为1.25,nL(i+d,j)表示{CL(k)}中的第k帧左视点图像CL(k)中坐标位置为(i+d,j)的宏块的噪声幅值,在本实施例中,nL(i+d,j)取值为0.3。
[0042] 图2a给出了“Book Arrival”测试视频序列中的第4视点对应彩色视频序列的第1帧彩色图像(左视点图像);图2b给出了“Book Arrival”测试视频序列中的第5视点对应彩色视频序列的第1帧彩色图像(右视点图像);由于H.264编码过程是基于宏块大小进行的,因此本发明对图2b所示的彩色图像中的非边界区域内的每一个宏块求取双目恰可觉察失真值,并且由于图2b所示的彩色图像中的非边界区域内的每一个宏块的恰可觉察失真值较小,人眼不能直接观看,因此为方便观看将图2b所示的彩色图像中的非边界区域内的每一个宏块的恰可觉察失真值放大20倍,图2c给出了图2b所示的彩色图像中的非边界区域内的每一个宏块的双目恰可觉察失真值放大20倍后形成的图像。
[0043] ③在多视点视频编码校验模型JMVC上,采用HBP预测编码结构对{CL(k)}中的每帧左视点图像中的每个宏块和{CR(k)}中的每帧右视点图像中的每个宏块进行编码,在编码过程中为每个宏块选择最优宏块编码模式的过程为:
[0044] ③-1、将当前待编码的宏块定义为当前宏块;
[0045] ③-2、当当前宏块为{CL(k)}中的宏块时,编码器采用现有的H.264的模式选择过程搜索SKIP、Inter16×16、Inter16×8、Inter8×16、Inter8×8、Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式进行编码;
[0046] 当当前宏块为{CR(k)}中的宏块时,判断当前宏块属于边界区域还是属于非边界区域,如果当前宏块属于边界区域,则编码器采用现有的H.264的模式选择过程搜索SKIP、Inter16×16、Inter16×8、Inter8×16、Inter8×8、Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式进行编码;如果当前宏块属于非边界区域,则再判断当前宏块的双目恰可觉察失真值是否大于或等于设定的判定阈值,如果是,则编码器采用现有的H.264的模式选择过程搜索SKIP、Inter16×16、Inter16×8、Inter8×16、Inter8×8、Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4宏块编码模式,从这些宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式进行编码;
否则,编码器采用现有的H.264的模式选择过程只搜索SKIP和Inter16×16宏块编码模式,从这两种宏块编码模式中选出率失真代价最小的宏块编码模式作为当前宏块的最优宏块编码模式进行编码;
[0047] ③-3、将下一个待编码的宏块作为当前宏块,然后返回步骤③-2继续执行,直至{CL(k)}中的每帧左视点图像中的每个宏块和{CR(k)}中的每帧右视点图像中的每个宏块均完成编码。
[0048] 在本实施例中,步骤③-2中设定的判定阈值取值为5,该设定的判定阈值的具体取值是通过实验获取的,实验过程如下:
[0049] ③-2a、采用多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列的左视点视频中的46帧,多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列右视点视频中的46帧,依次计算“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列的右视点视频中的每一帧右视点图像中的非边界区域内的每个宏块的双目恰可觉察失真值,将每一帧右视点图像中的非边界区域内的每个宏块的双目恰可觉察失真值的最小值和最大值分别记为BJND_min和BJND_max,然后依次统计“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列的右视点视频中的46帧图像中双目恰可觉察失真值等于从BJND_min到BJND_max范围内每一个数值的宏块的个数,以集合形式记为{NBJND_min,…,NBJND_max},其中,NBJND_min表示一个序列的右视点视频中的46帧图像中双目恰可觉察失真值等于BJND_min的宏块的个数,NBJND_max表示一个序列的右视点视频中的46帧图像中双目恰可觉察失真值等于BJND_max的宏块的个数。
[0050] ③-2b、采用多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列的左视点视频中的46帧,多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列右视点视频中的46帧,在多视点视频编码校验模型JMVC上,采用HBP预测编码结构对多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列的左视点视频和多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列的右视点视频进行编码,在编码过程中获取“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列的右视点视频中的46帧图像中的所有宏块的最优宏块编码模式。
[0051] ③-2c、对于多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列的右视点视频中的46帧图像中的非边界区域内的所有宏块,其中,当宏块的双目恰可觉察失真值等于从BJND_min到BJND_max范围内的某一个数值BJND_x时,对应集合{NBJND_min,…,NBJND_max}中的一个数值,记为NBJND_x,即,所有恰可觉察失真值等于从BJND_min到BJND_max范围内的某一个数值BJND_x的宏块个数为NBJND_x,其中,在这NBJND_x个宏块中,选择SKIP模式作为最优宏块编码模式的宏块数目记为NSKIP,选择Inter16×16模式作为最优宏块编码模式的宏块数目记为NInter16×16,选择Inter16×8模式作为最优宏块编码模式的宏块数目记为NInter16×8,选择Inter8×16模式作为最优宏块编码模式的宏块数目记为NInter8×16,选择Inter8×8模式作为最优宏块编码模式的宏块数目记为NInter8×8,选择Others(包括Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4)模式作为最优宏块编码模式的宏块数目记为NOthers。
[0052] ③-2d、计算NSKIP/NBJND_x的值,记为PSKIP,即,在所有恰可觉察失真值等于从BJND_min到BJND_max范围内的某一个数值BJND_x的宏块个数为NBJND_x中,选择SKIP模式作为最优宏块编码模式的宏块数目NSKIP占这NBJND_x个宏块的百分比。
[0053] 图3a给出了多视点彩色视频序列“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”各自的46帧右视点图像中的非边界区域内,对于具有相同双目恰可觉察失真值的所有宏块,选择SKIP模式作为最优编码模式的宏块数目占具有相同双目恰可觉察失真值的所有宏块数目的百分比,即,图3a为多视点彩色视频序列“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列的右视点图像中PSKIP的大小变化示意图,如图3a所示,PSKIP的值一般大于50%,所占的百分比较大,即,对于多视点彩色视频右视点视频图像中的非边界区域内恰可觉察失真值在BJND_min到BJND_max范围内的所有宏块,在现有的H.264编码的模式选择过程中,选择SKIP模式的百分比较大,所以,对于多视点彩色视频右视点视频图像中的非边界区域内恰可觉察失真值在BJND_min到BJND_max范围内的的所有宏块,都要进行SKIP模式的搜索。
[0054] 计算NInter16×16/NBJND_x的值,记为PInter16×16,即,在所有恰可觉察失真值等于从BJND_min到BJND_max范围内的某一个数值BJND_x的宏块个数为NBJND_x中,选择Inter16×16模式作为最优宏块编码模式的宏块数目NInter16×16占这NBJND_x个宏块的百分比。
[0055] 图3b给出了多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列各自的46帧右视点图像中的非边界区域内,对于具有相同双目恰可觉察失真值的所有宏块,选择Inter16×16模式作为最优编码模式的宏块数目占具有相同双目恰可觉察失真值的所有宏块数目的百分比,如图3b所示,PInter16×16的值一般大于20%,所占的百分比较大,即,对于多视点彩色视频右视点视频图像中的非边界区域内恰可觉察失真值在BJND_min到BJND_max范围内的所有宏块,在现有的H.264编码的模式选择过程中,选择SKIP模式的百分比较大,所以,对于多视点彩色视频右视点视频图像中的非边界区域内恰可觉察失真值在BJND_min到BJND_max范围内的所有宏块,都要进行Inter16×16模式的搜索。
[0056] 计算NInter16×8/NBJND_x的值,记为PInter16×8,即,在所有恰可觉察失真值等于从BJND_min到BJND_max范围内的某一个数值BJND_x的宏块个数为NBJND_x中,选择Inter16×8模式作为最优宏块编码模式的宏块数目NInter16×8占这NBJND_x个宏块的百分比。
[0057] 图3c给出了多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列各自的46帧右视点图像中的非边界区域内,对于具有相同双目恰可觉察失真值的所有宏块,选择Inter16×8模式作为最优编码模式的宏块数目占具有相同双目恰可觉察失真值的所有宏块数目的百分比,如图3c所示,PInter16×8的值一般所占比例约为5%左右,随着双目恰可觉察失真值的增大,人眼所能容忍的失真越小,宏块需进一步细化,在图3c中表现为,PInter16×8也随之增大,具体表现在当0≤BJND≤5,PInter16×8保持在较小的数值,约为2%,这表明,当宏块的双目恰可觉察失真值小于某个阈值时,宏块模式选择可以不再进行Inter16×8宏块编码模式搜索过程,而当66时,PInter16×8呈增大的趋势,大约增大到5%,这表明,当宏块的双目恰可觉察失真值大于某个阈值时,宏块需要进行Inter16×8宏块编码模式搜索过程,其中,BJND表示双目恰可觉察失真值。
[0058] 计算NInter8×16/NBJND_x的值,记为PInter8×16,即,在所有恰可觉察失真值等于从BJND_min到BJND_max范围内的某一个数值BJND_x的宏块个数为NBJND_x中,选择Inter16×8模式作为最优宏块编码模式的宏块数目NInter8×16占这NBJND_x个宏块的百分比。
[0059] 图3d给出了多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列各自的46帧右视点图像中的非边界区域内,对于具有相同双目恰可觉察失真值的所有宏块,选择Inter8×16模式作为最优编码模式的宏块数目占具有相同双目恰可觉察失真值的所有宏块数目的百分比,如图3d所示,PInter8×16的值一般所占比例约为6%左右,随着双目恰可觉察失真值的增大,人眼所能容忍的失真越小,宏块需进一步细化,在图3d中表现为,PInter8×16也随之增大;具体表现在当0≤BJND≤5,PInter8×16保持在较小的数值,约为3%,这表明,当宏块的双目恰可觉察失真值小于某个阈值时,宏块模式选择可以不再进行Inter8×16宏块编码模式搜索过程,而当66时,PInter8×16呈增大的趋势,大约增大到6%,这表明,当宏块的双目恰可觉察失真值大于某个阈值时,宏块需要进行Inter8×16宏块编码模式搜索过程。
[0060] 计算NInter8×8/NBJND_x的值,记为PInter8×8,即,在所有恰可觉察失真值等于从BJND_min到BJND_max范围内的某一个数值BJND_x的宏块个数为NBJND_x中,选择Inter16×8模式作为最优宏块编码模式的宏块数目NInter8×8占这NBJND_x个宏块的百分比。
[0061] 图3e给出了多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列各自的46帧右视点图像中的非边界区域内,对于具有相同双目恰可觉察失真值的所有宏块,选择Inter8×8模式作为最优编码模式的宏块数目占具有相同双目恰可觉察失真值的所有宏块数目的百分比,如图3e所示,PInter8×8的值一般所占比例约为4%左右,随着双目恰可觉察失真值的增大,人眼所能容忍的失真越小,宏块需进一步细化,在图3e中表现为,PInter8×8也随之增大;具体表现在当0≤BJND≤5,PInter8×8保持在较小的数值,约为1.5%,这表明,当宏块的双目恰可觉察失真值小于某个阈值时,宏块模式选择可以不再进行Inter8×8宏块编码模式搜索过程,而当66时,PInter8×8呈增大的趋势,大约增大到4%,这表明,当宏块的双目恰可觉察失真值大于某个阈值时,宏块需要进行Inter8×8宏块编码模式搜索过程。
[0062] 计算NOthers/NBJND_x的值,记为POthers,即,在所有恰可觉察失真值等于从BJND_min到BJND_max范围内的某一个数值BJND_x的宏块个数为NBJND_x中,选择Inter16×8模式作为最优宏块编码模式的宏块数目NOthers占这NBJND_x个宏块的百分比。
[0063] 图3f给出了多视点彩色视频“Alt Moabit”、“Balloons”、“Ballroom”、“Kendo”、“Race1”、“Xmas3”、“Xmas9”序列各自的46帧右视点图像中的非边界区域内,对于具有相同双目恰可觉察失真值的所有宏块,选择Others(包括Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4)模式作为最优编码模式的宏块数目占具有相同双目恰可觉察失真值的所有宏块数目的百分比,如图3f所示,POthers的值一般所占比例约为6%左右,随着双目恰可觉察失真值的增大,人眼所能容忍的失真越小,宏块需进一步细化,在图3f中表现为,POthers也随之增大;具体表现在当0≤BJND≤5,POthers保持在较小的数值,约为5%,这表明,当宏块的双目恰可觉察失真值小于某个阈值时,宏块模式选择可以不再进行Others(包括Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4)宏块编码模式搜索过程,而当66时,POthers呈增大的趋势,大约增大到为8%,这表明,当宏块的双目恰可觉察失真值大于某个阈值时,宏块需要进行Others(包括Inter8×8Frext、Intra16×16、Intra8×8和Intra4×4)宏块编码模式搜索过程。
[0064] 综上分析可得判定阈值取值为5。
[0065] 为了验证本发明的快速编码方法的有效性和可行性,首先选取了MERL实验室的“Exit”、“Vassar”第0视点和第2视点彩色视频测试序列和日本Nogaya大学的“Champagne tower”第39视点和第41视点的彩色视频测试序列,将这些彩色视频作为原始彩色视频序列,再利用本发明提出的快速编码方法对这些序列的“Exit”、“Vassar”第2个视点以及“Champagne tower”的第41视点的彩色视频进行快速编码得到快速编码后重建的彩色视频序列。
[0066] 在此将从彩色视频序列的编码时间、编码码率和重建的彩色视频序列的峰值信噪比(Peak Signal to Noise Ratio,PSNR)来衡量本发明方法的性能。
[0067] 表1列出了上述各序列的原始彩色视频序列通过JMVC校验平台和本发明方法编码后的彩色视频序列在相同条件下(Basis QP=22)编码的时间和编码码率以及重建质量对比。从表1所列的数据可以得出,在彩色视频序列编码时间方面,本发明方法与多视点标准校验平台相比能节约编码时间66.48%~71.90%,平均节约编码时间68.46%,原始彩色视频序列通过本发明的快速编码后重建的彩色视频序列与通过JMVC校验平台编码重建的彩色视频序列的PSNR相比平均减少0.037dB,最大减少为0.04dB,原始彩色视频序列通过本发明的快速编码后的码率与通过JMVC校验平台编码的码率相比平均增加0.46%,最大增加1.27%,最小增加-0.20%,几乎可以忽略不计。
[0068] 图4a、图4b和图4c分别给出了“Exit”、“Vassar”和“Champagne tower”测试序列分别通过JMVC校验平台和本发明方法编码后得到的彩色视频序列的编码率失真性能对比图,率失真性能对比包括通过JMVC校验平台和本发明方法编码后得到的彩色视频序列的PSNR和所用的码率对比。从图4a中可以看出,在横坐标方向上,当编码“Exit”序列的右视点图像的码率相同时,通过JMVC校验平台和本发明方法编码后重建的彩色视频序列的PSNR基本保持一致;在纵坐标方向上,当通过JMVC校验平台和本发明方法编码后重建的彩色视频序列的PSNR相同时,编码“Exit”序列的右视点图像所用的码率基本相同。从图4b可以看出,在横坐标方向上,当编码“Vassar”序列的右视点图像的码率相同时,通过JMVC校验平台和本发明方法编码后重建的彩色视频序列的PSNR基本保持一致;在纵坐标方向上,当通过JMVC校验平台和本发明方法编码后重建的彩色视频序列的PSNR相同时,编码“Vassar”序列的右视点图像所用的码率基本相同。从图4c可以看出,在横坐标方向上,当编码“Champagne tower”序列的右视点图像的码率一定时,通过JMVC校验平台和本发明方法编码后重建的彩色视频序列的PSNR基本保持一致;在纵坐标方向上,当通过JMVC校验平台和本发明方法编码后重建的彩色视频序列的PSNR相同时,编码“Champagne tower”序列的右视点图像所用的码率基本相同。综上分析可得,本发明的快速编码方法能够基本保持和JMVC校验平台一致的率失真性能。
[0069] 表1原始彩色视频序列通过JMVC校验平台和本发明方法的编码时间和编码码率以及重建彩色视频序列的质量对比
[0070]
[0071] 在主观上,对JMVC校验平台和本发明方法重建的彩色视频序列的质量进行对比,图5a给出了“Exit”测试序列采用多视点标准校验平台重建的第2视点第10帧图像,图5b给出了“Exit”测试序列采用本发明的快速编码方法重建的第2视点第10帧图像,从直观上几乎看不出图5a与图5b的差别;图5c给出了“Vassar”测试序列采用多视点标准校验平台重建的第2视点第10帧图像,图5d给出了“Vassar”测试序列采用本发明的快速编码方法重建的第2视点第10帧图像,从直观上几乎看不出图5c与图5d的差别。因此,本发明的快速编码方法和JMVC校验平台重建的多视点视频序列的右视点图像直观上基本没有差别。
[0072] 综上,对于多视点视频序列的右视点图像,本发明方法在保持率失真性能和JMVC校验平台一致的前提下,能够大大节约多视点视频序列的右视点图像的编码时间,从而节省多视点视频序列的整体编码时间。