1.一种深度视频编码方法,其特征在于包括以下步骤:
①将三维视频中t时刻的原始彩色视频图像和t时刻的原始深度视频图像对应记为{It,i(x,y)}和{Dt(x,y)},其中,i=1,2,3分别表示YUV颜色空间的三个分量,YUV颜色空间的第1个分量为亮度分量并记为Y、第2个分量为第一色度分量并记为U及第3个分量为第二色度分量并记为V,(x,y)表示{It,i(x,y)}和{Dt(x,y)}中的像素点的坐标位置,1≤x≤W,1≤y≤H,W表示{It,i(x,y)}和{Dt(x,y)}的宽度,H表示{It,i(x,y)}和{Dt(x,y)}的高度,It,i(x,y)表示{It,i(x,y)}中坐标位置为(x,y)的像素点的第i个分量的值,Dt(x,y)表示{Dt(x,y)}中坐标位置为(x,y)的像素点的深度值;
②根据{It,i(x,y)}中的每个像素点的第1个分量的值,获取{Dt(x,y)}中的每个像素点的左方向最大可容忍失真值和右方向最大可容忍失真值;然后根据{Dt(x,y)}中的每个像素点的左方向最大可容忍失真值和右方向最大可容忍失真值,提取出{Dt(x,y)}的最大可容忍失真分布图像,记为{St(x,y)},其中,St(x,y)表示{St(x,y)}中坐标位置为(x,y)的像素点的最大可容忍失真值;
所述的步骤②的具体过程为:
②-1、将{Dt(x,y)}中当前待处理的像素点定义为当前像素点;
②-2、将当前像素点的坐标位置记为(x1,y1),如果1≤x1≤W且y1=1,则直接将当前像素点的横坐标作为当前像素点的左方向最大可容忍失真值,记为δl(x1,y1),如果1≤x1≤W且1
1≤x1≤W,1≤y1≤H;
②-3、根据δl(x1,y1)和δr(x1,y1),确定当前像素点的最大可容忍失真值,记为St(x1,y1),St(x1,y1)=min(|δl(x1,y1)|,|δr(x1,y1)|),其中,min()为取最小值函数,符号“||”为取绝对值符号;
②-4、将{Dt(x,y)}中下一个待处理的像素点作为当前像素点,然后返回步骤②-2继续执行,直至{Dt(x,y)}中的所有像素点处理完毕,得到{Dt(x,y)}的最大可容忍失真分布图像,记为{St(x,y)},其中,St(x,y)表示{St(x,y)}中坐标位置为(x,y)的像素点的最大可容忍失真值;
③对{Dt(x,y)}和{St(x,y)}分别进行分子块处理,然后根据{St(x,y)}中的所有像素点的最大可容忍失真值的均值及{St(x,y)}中的每个子块中的所有像素点的最大可容忍失真值的均值,获取对{Dt(x,y)}中的每个子块进行编码的编码量化参数和宏块模式选择的率失真代价函数;
④采用HBP编码预测结构,并根据已确立的编码量化参数和宏块模式选择的率失真代价函数,对{Dt(x,y)}中的每个子块进行编码,完成{Dt(x,y)}的编码过程。
2.根据权利要求1所述的一种深度视频编码方法,其特征在于所述的步骤③的具体过程为:
③-1、计算{St(x,y)}中的所有像素点的最大可容忍失真值的均值,记为 然后将{Dt(x,y)}和{St(x,y)}分别划分成 个互不重叠的尺寸大小为16×16的子块,将{Dt(x,y)}中当前待处理的第k个子块定义为当前第一子块,记为{ftD(x2,y2)},将{St(x,y)}中当前待处理的第k个子块定义为当前第二子块,记为{ftS(x2,y2)},其中, (x2,y2)表示{ftD(x2,y2)}和{ftS(x2,y2)}中的像素点的坐标位置,1≤x2≤16,1≤y2≤16,ftD(x2,y2)表示当前第一子块{ftD(x2,y2)}中坐标位置为(x2,y2)的像素点的深度值,ftS(x2,y2)表示当前第二子块{ftS(x2,y2)}中坐标位置为(x2,y2)的像素点的最大可容忍失真值;
③-2、计算当前第二子块{ftS(x2,y2)}中的所有像素点的最大可容忍失真值的均值,记为Mt;
③-3、获取对当前第一子块ftD(x2,y2)进行编码的编码量化参数,记为QPt,
其中,round()为四舍五入函数,QPbase为对
{Dt(x,y)}进行编码的基本量化步长,exp()表示以自然基数e为底的指数函数,a、b和c为控制参数;
③-4、获取对当前第一子块ftD(x2,y2)进行编码的宏块模式选择的率失真代价函数,记为Jk,Jk=Dd+λV,k×DV+λR,k×Rd,其中,Dd表示以QPt对当前第一子块ftD(x2,y2)进行编码的编码失真, ΔD(x2,y2)表示以QPt对当前第一子块ftD(x2,y2)进行编码时当前第一子块ftD(x2,y2)中坐标位置为(x2,y2)的像素点的编码失真,Dv表示对以QPt对当D
前第一子块ft (x2,y2)进行编码得到的解码第一子块进行虚拟视点图像绘制的绘制失真,f表示水平相机阵列中各相机
的水平焦距,L表示{It,i(x,y)}所在的视点与虚拟视点之间的基线距离,Znear表示最小的场景深度值,Zfar表示最大的场景深度值, 表示当前第一子块ftD(x2,y2)中坐标位置D为(x2,y2)的像素点的梯度值,Rd表示以QPt对当前第一子块ft (x2,y2)进行编码的码率,符号“||”为取绝对值符号,λV,k和λR,k为拉格朗日参数, μ为调节参数,λR,k=(1+λV,k×α2×β)×λmode,β表示当前第一子块ftD(x2,y2)中的所有像素点的梯度的平方之和, λmode表示拉格朗日参数,③-5、令k'=k+1,k=k',将{Dt(x,y)}中的下一个待处理的子块作为当前第一子块,将{St(x,y)}中的下一个待处理的子块作为当前第二子块,然后返回步骤③-2继续执行,直至{Dt(x,y)}和{St(x,y)}中的所有子块均处理完毕,其中,k'的初始值为0,k'=k+1和k=k'中的“=”为赋值符号。