CN105120290A - 一种深度视频快速编码方法 - Google Patents
一种深度视频快速编码方法 Download PDFInfo
- Publication number
- CN105120290A CN105120290A CN201510470699.2A CN201510470699A CN105120290A CN 105120290 A CN105120290 A CN 105120290A CN 201510470699 A CN201510470699 A CN 201510470699A CN 105120290 A CN105120290 A CN 105120290A
- Authority
- CN
- China
- Prior art keywords
- pixel
- present frame
- current
- frame
- depth
- 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.)
- Granted
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种深度视频快速编码方法,其先对深度视频序列进行空域增强和时域增强完成预处理,再对预处理后的深度视频序列中的每帧进行编码,在编码过程中,对于第1帧和最后一帧直接采用3D-HEVC原始编码平台进行编码;对于其余帧,根据编码单元所属的区域类型,减少需要遍历的HEVC编码预测模式的种类,从而在保证虚拟视点绘制质量和编码率失真性能的情况下,有效地降低了编码的复杂度。
Description
技术领域
本发明涉及一种视频信号处理方法,尤其是涉及一种面向3D-HEVC的深度视频快速编码方法。
背景技术
随着计算机、通信和多媒体技术的迅速发展,用户对诸如3D电视、自由视点电视、三维场景渲染的三维视频系统越来越感兴趣。多视点加深度视频(MVD)是表示三维场景的主流表示方式,MVD包括了多视点彩色视频和深度视频。在场景展示中,虚拟视点通过基于DIBR的绘制技术绘制得到虚拟视点,MVD数据形式满足了三维视频系统的需求并且可以支持宽视角3D显示和自动立体显示。但是,MVD包含巨大的数据量,使得数据的存储和网络的传输面临巨大的挑战,因此,多视点的深度视频与彩色视频一样,需要进行快速高效地压缩。
彩色视频表示场景的真实视觉信息,而相应的深度视频表示场景的几何信息。目前对于真实场景的深度信息获取的方式主要有三种:Kinect传感器、深度相机系统和深度估计软件。由于这些获取技术的限制,深度视频存在不准确和不连续的现象,特别是在平坦的区域出现像素突变,在对应场景边界的区域深度边界校准错误,这就导致即使使用最新的编码方式也无法达到最优的编码效果。很多专家提出了面向H.264/AVC的深度视频处理方案,但是这些处理方法并不适用于最新的多视点编码方案3D-HEVC。
深度视频的编码复杂度也是研究需要关注的问题。目前,由ISO和ITU组成的3D视频编码联合专家组(JCT-3V)正致力于高效视频编码(HEVC)的3D扩展编码框架(3D-HEVC)的标准化,3D-HEVC的总体编码框架如图1所示。3D-HEVC仍然采用HEVC的四叉树分割结构,编码一帧彩色视频帧之后再编码相应的深度视频帧。多视点深度视频被分割为一系列编码树单元(CodingTreeUnits,CTUs),每个CTU以递归分割的方式被分为四个相同大小的编码单元(CodingUnit,CU),其分割深度可以为0、1、2、3,CU尺寸根据分割深度依次为64×64、32×32、16×16、8×8,其中,最大的CU称为最大编码单元(LargestCodingUnit,LCU)。每个CU根据选择的预测模式分为不同的预测单元(PredictionUnits,PU),预测模式包括SKIP模式、merge模式、帧间inter(AMP、interN_2N、inter2N_N、inter2N_2N)模式、帧内intra(intraN_N、intra2N_2N)模式,都被运用于帧间预测和视点间预测的过程中。在遍历计算所有编码单元的分割方式以及预测模式的率失真优化(Rate-DistortionOptimization,RDO)之后,选出率失真代价值最小的一种预测模式作为最终的预测模式,同时,确定编码单元的分割方式,整个过程的计算复杂度非常高。3D-HEVC中计算率失真代价值的公式为:J=(wsynth×Dsynth+wdepth×Ddepth)+λ×R,其中,J表示率失真代价值,Dsynth表示经过绘制的虚拟视点的失真值,或者根据绘制原理估计的深度视频的失真值,Ddepth表示深度视频的失真值,wsynth为Dsynth的权重,wdepth为Ddepth的权重,λ为拉格朗日乘数,R表示每个预测模式下编码的码率。
目前,很多专家已经对深度视频快速编码进行了研究,如Shen等人提出了一种利用彩色视频和深度视频的预测模式、运动矢量等信息之间关系的方法,降低了编码复杂度;又如More等人提出了一种利用彩色编码的信息,限制深度视频的四叉树分割以及预测模式的快速编码算法。但是,这些方法没有考虑深度视频存在不准确和不连续现象,这种现象会间接增加编码的复杂度,因此,有必要研究一种能够解决这种现象增加编码复杂度问题的快速编码方法。
发明内容
本发明所要解决的技术问题是提供一种面向3D-HEVC的深度视频快速编码方法,其在保证绘制虚拟视点质量和编码率失真性能的前提下,能够有效地降低编码复杂度。
本发明解决上述技术问题所采用的技术方案为:一种深度视频快速编码方法,其特征在于包括以下步骤:
①将待处理的高清深度视频序列定义为当前深度视频序列;
②对当前深度视频序列进行预处理,预处理包括两部分,第一部分为:对当前深度视频序列中除第1帧深度图像和最后一帧深度图像外的其余每帧深度图像进行空域增强,在空域增强过程中确定对应的深度图像的边界区域和非边界区域;第二部分为:对空域增强处理后的深度视频序列进行时域增强;
③将预处理后的深度视频序列中当前待处理的深度图像定义为当前帧;
④判断当前帧是否为预处理后的深度视频序列中的第1帧深度图像或最后一帧深度图像,如果是,则直接采用3D-HEVC原始编码平台对当前帧进行编码,然后执行步骤⑦;否则,执行步骤⑤;
⑤获取当前帧的运动区域和非运动区域;并在当前帧中,与步骤②中获得的与当前帧对应的深度图像的边界区域相应的区域作为当前帧的边界区域,与步骤②中获得的与当前帧对应的深度图像的非边界区域相应的区域作为当前帧的非边界区域;
⑥确定当前帧中的每个编码单元是否既属于边界区域又属于运动区域,对于既属于边界区域又属于运动区域的编码单元,遍历所有HEVC编码预测模式,选出率失真代价值最小的HEVC编码预测模式作为当前编码单元的最优预测模式;对于其它编码单元,仅遍历所有HEVC编码预测模式中的SKIP模式和Merge模式,选出率失真代价值最小的模式作为当前编码单元的最优预测模式;然后利用当前帧中的每个编码单元的最优预测模式对当前帧中的每个编码单元进行编码;
⑦将预处理后的深度视频序列中下一帧待处理的深度图像作为当前帧,然后返回步骤④继续执行,直至预处理后的深度视频序列中的所有深度图像编码完毕。
所述的步骤②中第一部分的具体过程为:②-1a、将当前深度视频序列中当前待处理的深度图像定义为当前帧;②-1b、若当前帧为当前深度视频序列中的第1帧深度图像或最后一帧深度图像,则对当前帧不作处理;若当前帧不为当前深度视频序列中的第1帧深度图像或最后一帧深度图像,则对当前帧中所有属于非边界区域的断裂像素点采用高斯滤波器进行滤波处理,对当前帧中所有属于非边界区域的非断裂像素点采用自适应窗口进行滤波处理,对当前帧中所有属于边界区域的断裂像素点和所有属于边界区域的非断裂像素点均不作处理;②-1c、将当前深度视频序列中下一帧待处理的深度图像作为当前帧,然后返回步骤②-1b继续执行,直至当前深度视频序列中的所有深度图像处理完毕,完成当前深度视频序列中除第1帧深度图像和最后一帧深度图像外的其余每帧深度图像的空域增强;
所述的步骤②中第二部分的具体过程为:②-2a、假设当前深度视频序列中的深度图像的宽度和高度对应为W和H,并假设当前深度视频序列中包含的深度图像的总帧数为T帧;②-2b、对空域增强处理后的深度视频序列进行时空变换,得到时空变换后的深度视频序列,将时空变换后的深度视频序列中的第j帧深度图像中坐标位置为(i,t)的像素点的像素值记为dj(i,t),dj(i,t)=dt(i,j),其中,1≤j≤H,1≤i≤W,1≤t≤T,dt(i,j)表示空域增强处理后的深度视频序列中的第t帧深度图像中坐标位置为(i,j)的像素点的像素值;②-2c、对时空变换后的深度视频序列中的每帧深度图像采用时域滤波窗口进行时域增强处理,得到时域增强处理后的深度视频序列,将时域增强处理后的深度视频序列中的第j帧深度图像中坐标位置为(i,t)的像素点的像素值记为d'j(i,t),其中,t0表示时域滤波窗口的大小,dj(i,t')表示时空变换后的深度视频序列中的第j帧深度图像中坐标位置为(i,t')的像素点的像素值,wj(i,t')表示dj(i,t')的权重;②-2d、对时域增强处理后的深度视频序列进行时空变换,得到预处理后的深度视频序列,将预处理后的深度视频序列中的第t帧深度图像中坐标位置为(i,j)的像素点的像素值记为d't(i,j),d't(i,j)=d'j(i,t)。
所述的步骤②-1b中当前帧中的断裂像素点与非断裂像素点的确定过程为:令cr(i,j)表示当前帧中坐标位置为(i,j)的像素点的断裂标记;然后根据当前帧中的每个像素点的坐标位置及像素值,确定当前帧中的每个像素点的断裂标记,对于当前帧中坐标位置为(i,j)的像素点,接着根据当前帧中的像素点的断裂标记,扩大值为1的断裂标记的范围,具体过程为:对于当前帧中坐标位置为(i',j')的像素点,若该像素点的断裂标记的值为1,则当当前帧中坐标位置为(i'-1,j')的像素点的断裂标记的值为0时,将当前帧中坐标位置为(i'-1,j')的像素点的断裂标记的值更改为1;再将当前帧中断裂标记的值为0的像素点确定为非断裂像素点,将当前帧中断裂标记的值为1的像素点确定为断裂像素点;
其中,cr(i,j)的取值为0或1,1≤i≤W,1≤j≤H,W和H对应表示当前深度视频序列中的深度图像的宽度和高度,dp(i-1,j)表示当前帧中坐标位置为(i-1,j)的像素点的像素值,dp(i,j)表示当前帧中坐标位置为(i,j)的像素点的像素值,符号“||”为取绝对值符号,Th0为设定的断裂判断阈值,2≤i'≤W,1≤j'≤H。
所述的设定的断裂判断阈值Th0取值为10。
所述的步骤②-1b中当前帧的边界区域和非边界区域通过采用Canny边界检测方法对当前帧进行边界检测得到。
所述的Canny边界检测方法中所采用的高阈值thH取值为120,且所采用的低阈值thL取值为40。
所述的步骤②-1b中对当前帧中所有属于非边界区域的非断裂像素点采用自适应窗口进行滤波处理的具体过程为:对于当前帧中属于非边界区域的任一个非断裂像素点,将该非断裂像素点作为中心像素点,并以n个像素点为搜索步长进行上下和左右搜索,当搜索到属于非边界区域的断裂像素点或属于边界区域的断裂像素点或属于边界区域的非断裂像素点或搜索到达当前帧的图像边界时停止搜索,形成一个十字窗口;然后以该十字窗口纵轴上的每个像素点为中心,并以n个像素点为搜索步长进行左右搜索,当搜索到属于非边界区域的断裂像素点或属于边界区域的断裂像素点或属于边界区域的非断裂像素点或搜索到达当前帧的图像边界时停止搜索,形成一个自适应窗口;再将该自适应窗口内的所有像素点的像素值的均值赋值给中心像素点实现滤波处理。
所述的步骤②-2c中时域滤波窗口的大小t0取值为5;所述的步骤②-2c中difj(i,t')=|dj(i,t'+1)-dj(i,t')|,dj(i,t'+1)表示时空变换后的深度视频序列中的第j帧深度图像中坐标位置为(i,t'+1)的像素点的像素值,符号“||”为取绝对值符号。
所述的步骤⑤中获取当前帧的运动区域和非运动区域的具体过程为:
⑤-1、假设当前深度视频序列中的深度图像的宽度和高度对应为W和H,并假设W×H能够被4×4整除,则将当前帧对应的彩色图像划分成个互不重叠的子块;
⑤-2、将当前帧对应的彩色图像中当前待处理的第h个子块定义为当前子块,其中,h的初始值为1,
⑤-3、计算当前子块与当前帧对应的彩色图像的前一帧彩色图像中对应区域的差值平方和,记为SSDpre,h, 并计算当前子块与当前帧对应的彩色图像的后一帧彩色图像中对应区域的差值平方和,记为SSDback,h,其中,Ccur(u,v)表示当前子块中坐标位置为(u,v)的像素点的像素值,Cpre(u,v)表示当前帧对应的彩色图像的前一帧彩色图像中与当前子块对应的区域中坐标位置为(u,v)的像素点的像素值,Cback(u,v)表示当前帧对应的彩色图像的后一帧彩色图像中与当前子块对应的区域中坐标位置为(u,v)的像素点的像素值,符号“||”为取绝对值符号;
⑤-4、判断min(SSDpre,h,SSDback,h)<Th是否成立,如果成立,则确定当前子块为运动子块,否则,确定当前子块为非运动子块;其中,min()为取最小值函数,Th为设定的运动子块判断阈值;
⑤-5、令h=h+1,然后将当前帧对应的彩色图像中下一个待处理的子块作为当前子块,再返回步骤⑤-3继续执行,直至当前帧对应的彩色图像中的所有子块处理完毕,其中,h=h+1中的“=”为赋值符号;
⑤-6、将当前帧中与其对应的彩色图像中的所有运动子块对应的区域确定为当前帧的运动区域,将当前帧中与其对应的彩色图像中的所有非运动子块对应的区域确定为当前帧的非运动区域。
所述的步骤⑥的具体过程为:
⑥-1、将当前帧中当前待处理的最大编码单元定义为当前最大编码单元;
⑥-2、将当前最大编码单元中当前待处理的编码单元定义为当前编码单元,并将当前编码单元所在的深度定义为当前深度;
⑥-3、如果当前编码单元中存在属于当前帧的边界区域的像素点,且当前编码单元中存在属于当前帧的运动区域的像素点,则认为当前编码单元既属于边界区域又属于运动区域,遍历所有HEVC编码预测模式,计算当前编码单元在每种HEVC编码预测模式下的率失真代价值,然后在率失真优化过程中,选出率失真代价值最小的HEVC编码预测模式作为当前编码单元的最优预测模式,并得到在最优预测模式下的率失真代价值,再执行步骤⑥-4;
如果当前编码单元中存在属于当前帧的边界区域的像素点且当前编码单元中不存在属于当前帧的运动区域的像素点,或当前编码单元中不存在属于当前帧的边界区域的像素点且当前编码单元中存在属于当前帧的运动区域的像素点,或当前编码单元中不存在属于当前帧的边界区域的像素点且当前编码单元中不存在属于当前帧的运动区域的像素点,则仅遍历所有HEVC编码预测模式中的SKIP模式和Merge模式,计算当前编码单元在SKIP模式和Merge模式下各自的率失真代价值,然后在率失真优化过程中,选出率失真代价值最小的模式作为当前编码单元的最优预测模式,并得到在最优预测模式下的率失真代价值,再执行步骤⑥-4;
⑥-4、比较当前帧对应的彩色图像中与当前编码单元相对应的编码单元的最优分割深度与当前深度的大小,如果前者大于后者,则执行步骤⑥-5;如果前者小于或等于后者,则将当前深度作为当前编码单元的最优分割深度,然后执行步骤⑥-6;
⑥-5、按照步骤⑥-3的过程,以相同的方式获得当前编码单元所在层的下一层中的四个尺寸大小相同的编码单元各自的最优预测模式及在最优预测模式下的率失真代价值,然后比较当前编码单元所在层的下一层中的四个编码单元的率失真代价值之和与当前编码单元在最优预测模式下的率失真代价值的大小,如果前者大于后者,则将当前深度作为当前编码单元的最优分割深度,对当前编码单元不进行下一层的分割,然后执行步骤⑥-6;如果前者小于或等于后者,则对当前编码单元进行下一层的分割,然后将当前编码单元所在层的下一层中的四个编码单元中当前待处理的编码单元作为当前编码单元,并将当前编码单元所在的深度作为当前深度,再返回步骤⑥-4继续执行;
⑥-6、利用当前编码单元的最优预测模式对当前编码单元进行编码,在当前编码单元编码结束后,判断当前最大编码单元中的所有编码单元是否均处理完毕,如果是,则确定当前最大编码单元编码结束,然后执行步骤⑥-7;否则,再判断当前编码单元所在层中的四个尺寸大小相同的编码单元是否均处理完毕,当均处理完毕时,判断当前编码单元所在层的上一层中的编码单元是否为最大编码单元,如果是最大编码单元,则将当前编码单元所在层的上一层中的最大编码单元作为当前最大编码单元,然后执行步骤⑥-7,如果不是最大编码单元,则将当前编码单元所在层的上一层中下一个待处理的编码单元作为当前编码单元,将该当前编码单元所在的深度作为当前深度,然后返回步骤⑥-3继续执行;
⑥-7、判断当前最大编码单元是否为当前帧中的最后一个最大编码单元,如果是,则执行步骤⑦,否则,将当前帧中下一个待处理的最大编码单元作为当前最大编码单元,然后返回步骤⑥-2继续执行。
与现有技术相比,本发明的优点在于:
1)本发明方法先对深度视频序列进行空域增强和时域增强完成预处理,再对预处理后的深度视频序列中的每帧进行编码,在编码过程中,对于第1帧和最后一帧直接采用3D-HEVC原始编码平台进行编码;对于其余帧,根据编码单元所属的区域类型,减少需要遍历的HEVC编码预测模式的种类,从而在保证虚拟视点绘制质量和编码率失真性能的情况下,有效地降低了编码的复杂度。
2)在深度视频序列空域增强的过程中,通过对不同区域内的像素点采用不同的滤波方法处理,使得空域增强后的深度视频序列中对绘制过程影响较大的边缘区域得到了较好的保护,同时,对其他区域进行了一定程度的平滑,从而保证了最终虚拟视点的绘制质量和编码率失真性能。
3)在深度视频序列时域增强的过程中,对原始深度视频序列时空域转换,对转换后的每帧进行时域滤波,使得原始深度视频序列在时域方向得到平滑,帧与帧之间的相邻像素点的相关性得到增强。
附图说明
图1为本发明方法采用的多视点彩色加深度编码器3D-HEVC的总体编码框架;
图2为本发明方法的总体实现框图;
图3a为测试序列Newspaper1中的一帧深度图像,图中的框内显示了原始深度图像不同区域的局部放大图;
图3b为图3a所示的深度图像经预处理之后得到的效果图,图中的框内显示了预处理之后的深度图像不同区域的局部放大图;
图4为测试序列经过预处理后在测试模型HTM10.0上编码时,不同编码量化参数QP下得到的码率变化情况的统计;
图5为测试序列经过预处理后在测试模型HTM10.0上编码时,不同编码量化参数QP下得到的绘制PSNR与原始绘制PSNR相比较的变化;
图6为经过预处理之后的深度视频,在测试模型HTM10.0上编码后,最终在非运动区域且非边界区域的预测模式的统计分布。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种面向3D-HEVC的深度视频快速编码方法,图1给出了本发明方法采用的多视点彩色加深度编码器3D-HEVC的总体编码框架,本发明方法的总体实现框图如图2所示,本发明方法包括以下步骤:
①将待处理的高清深度视频序列定义为当前深度视频序列。
②对当前深度视频序列进行预处理,预处理包括两部分,第一部分为:对当前深度视频序列中除第1帧深度图像和最后一帧深度图像外的其余每帧深度图像进行空域增强,在空域增强过程中确定对应的深度图像的边界区域和非边界区域;第二部分为:对空域增强处理后的深度视频序列进行时域增强。
在此具体实施例中,步骤②中第一部分的具体过程为:②-1a、将当前深度视频序列中当前待处理的深度图像定义为当前帧。②-1b、若当前帧为当前深度视频序列中的第1帧深度图像或最后一帧深度图像,则对当前帧不作处理;若当前帧不为当前深度视频序列中的第1帧深度图像或最后一帧深度图像,则对当前帧中所有属于非边界区域的断裂像素点采用高斯滤波器进行滤波处理,对当前帧中所有属于非边界区域的非断裂像素点采用自适应窗口进行滤波处理,对当前帧中所有属于边界区域的断裂像素点和所有属于边界区域的非断裂像素点均不作处理。②-1c、将当前深度视频序列中下一帧待处理的深度图像作为当前帧,然后返回步骤②-1b继续执行,直至当前深度视频序列中的所有深度图像处理完毕,完成当前深度视频序列中除第1帧深度图像和最后一帧深度图像外的其余每帧深度图像的空域增强。
在此,步骤②-1b中当前帧中的断裂像素点与非断裂像素点的确定过程为:令cr(i,j)表示当前帧中坐标位置为(i,j)的像素点的断裂标记;然后根据当前帧中的每个像素点的坐标位置及像素值,确定当前帧中的每个像素点的断裂标记,对于当前帧中坐标位置为(i,j)的像素点,接着根据当前帧中的像素点的断裂标记,扩大值为1的断裂标记的范围,具体过程为:对于当前帧中坐标位置为(i',j')的像素点,若该像素点的断裂标记的值为1,则当当前帧中坐标位置为(i'-1,j')的像素点的断裂标记的值为0时,将当前帧中坐标位置为(i'-1,j')的像素点的断裂标记的值更改为1,当当前帧中坐标位置为(i'-1,j')的像素点的断裂标记的值为1时,将当前帧中坐标位置为(i'-1,j')的像素点的断裂标记的值保持不变;再将当前帧中断裂标记的值为0的像素点确定为非断裂像素点,将当前帧中断裂标记的值为1的像素点确定为断裂像素点;其中,cr(i,j)的取值为0或1,1≤i≤W,1≤j≤H,W和H对应表示当前深度视频序列中的深度图像的宽度和高度,dp(i-1,j)表示当前帧中坐标位置为(i-1,j)的像素点的像素值,dp(i,j)表示当前帧中坐标位置为(i,j)的像素点的像素值,符号“||”为取绝对值符号,Th0为设定的断裂判断阈值,在本实施例中取Th0=10,2≤i'≤W,1≤j'≤H。
在此,步骤②-1b中当前帧的边界区域和非边界区域通过采用现有的Canny边界检测方法对当前帧进行边界检测得到,其中,Canny边界检测方法中所采用的高阈值thH取值为120,且所采用的低阈值thL取值为40。具体过程为:对当前帧进行高斯滤波处理;然后获取滤波处理后的深度图像中坐标位置为(i,j)的像素点在水平方向和垂直方向上的一阶差分,对应记为gx(i,j)和gy(i,j);接着计算滤波处理后的深度图像中坐标位置为(i,j)的像素点的梯度方向角和梯度幅值,对应记为θ(i,j)和gt(i,j), 之后对求得的滤波处理后的深度图像中的每个像素点的梯度幅值进行非极大值抑制,对于滤波处理后的深度图像中坐标位置为(i,j)的像素点,将gt(i,j)分别与θ(i,j)两端最邻近像素点的梯度幅值g1t(i,j)、g2t(i,j)比较,若gt(i,j)>g1t(i,j)且gt(i,j)>g2t(i,j),则将gt(i,j)置为1,否则,将gt(i,j)置为0;再根据设定的双阈值进行边界检测,得到当前帧的边界区域和非边界区域。
在此,步骤②-1b中对当前帧中所有属于非边界区域的非断裂像素点采用自适应窗口进行滤波处理的具体过程为:对于当前帧中属于非边界区域的任一个非断裂像素点,将该非断裂像素点作为中心像素点,并以n个像素点为搜索步长进行上下和左右搜索,当搜索到属于非边界区域的断裂像素点或属于边界区域的断裂像素点或属于边界区域的非断裂像素点或搜索到达当前帧的图像边界时停止搜索,形成一个十字窗口;然后以该十字窗口纵轴上的每个像素点为中心,并以n个像素点为搜索步长进行左右搜索,当搜索到属于非边界区域的断裂像素点或属于边界区域的断裂像素点或属于边界区域的非断裂像素点或搜索到达当前帧的图像边界时停止搜索,形成一个自适应窗口;再将该自适应窗口内的所有像素点的像素值的均值赋值给中心像素点实现滤波处理。在本实施例中取n=5。
在此具体实施例中,步骤②中第二部分的具体过程为:②-2a、假设当前深度视频序列中的深度图像的宽度和高度对应为W和H,并假设当前深度视频序列中包含的深度图像的总帧数为T帧,本实施例中取T=60。②-2b、对空域增强处理后的深度视频序列进行时空变换,得到时空变换后的深度视频序列,将时空变换后的深度视频序列中的第j帧深度图像中坐标位置为(i,t)的像素点的像素值记为dj(i,t),dj(i,t)=dt(i,j),其中,1≤j≤H,1≤i≤W,1≤t≤T,dt(i,j)表示空域增强处理后的深度视频序列中的第t帧深度图像中坐标位置为(i,j)的像素点的像素值。在实际处理过程中,先将空域增强处理后的深度视频序列视为一个三维坐标系,将该三维坐标系作为原三维坐标系,原三维坐标系的x轴为空域增强处理后的深度视频序列中的深度图像的宽度方向、y轴为空域增强处理后的深度视频序列中的深度图像的高度方向、t轴为空域增强处理后的深度视频序列中的深度图像的时间方向;然后对原三维坐标系进行时空变换,得到新三维坐标系,新三维坐标系的x轴为空域增强处理后的深度视频序列中的深度图像的宽度方向、y轴为空域增强处理后的深度视频序列中的深度图像的时间方向、t轴为空域增强处理后的深度视频序列中的深度图像的高度方向;新三维坐标系对应的深度视频序列中包含有H帧深度图像,新三维坐标系对应的深度视频序列中的深度图像的宽度和高度对应为W和T。②-2c、对时空变换后的深度视频序列中的每帧深度图像采用时域滤波窗口进行时域增强处理,得到时域增强处理后的深度视频序列,将时域增强处理后的深度视频序列中的第j帧深度图像中坐标位置为(i,t)的像素点的像素值记为d'j(i,t),其中,t0表示时域滤波窗口的大小,在本实施例中取t0=5,dj(i,t')表示时空变换后的深度视频序列中的第j帧深度图像中坐标位置为(i,t')的像素点的像素值,wj(i,t')表示dj(i,t')的权重,difj(i,t')=|dj(i,t'+1)-dj(i,t')|,dj(i,t'+1)表示时空变换后的深度视频序列中的第j帧深度图像中坐标位置为(i,t'+1)的像素点的像素值,符号“||”为取绝对值符号。②-2d、对时域增强处理后的深度视频序列进行时空变换,得到预处理后的深度视频序列,将预处理后的深度视频序列中的第t帧深度图像中坐标位置为(i,j)的像素点的像素值记为d't(i,j),d't(i,j)=d'j(i,t)。
③将预处理后的深度视频序列中当前待处理的深度图像定义为当前帧。
④判断当前帧是否为预处理后的深度视频序列中的第1帧深度图像或最后一帧深度图像,如果是,则直接采用3D-HEVC原始编码平台对当前帧进行编码,然后执行步骤⑦;否则,执行步骤⑤。
⑤获取当前帧的运动区域和非运动区域;并在当前帧中,与步骤②中获得的与当前帧对应的深度图像的边界区域相应的区域作为当前帧的边界区域,与步骤②中获得的与当前帧对应的深度图像的非边界区域相应的区域作为当前帧的非边界区域。
在此具体实施例中,步骤⑤中获取当前帧的运动区域和非运动区域的具体过程为:
⑤-1、假设当前深度视频序列中的深度图像的宽度和高度对应为W和H,并假设W×H能够被4×4整除,则将当前帧对应的彩色图像划分成个互不重叠的子块。
⑤-2、将当前帧对应的彩色图像中当前待处理的第h个子块定义为当前子块,其中,h的初始值为1,
⑤-3、计算当前子块与当前帧对应的彩色图像的前一帧彩色图像中对应区域的差值平方和,记为SSDpre,h, 并计算当前子块与当前帧对应的彩色图像的后一帧彩色图像中对应区域的差值平方和,记为SSDback,h,其中,Ccur(u,v)表示当前子块中坐标位置为(u,v)的像素点的像素值,Cpre(u,v)表示当前帧对应的彩色图像的前一帧彩色图像中与当前子块对应的区域中坐标位置为(u,v)的像素点的像素值,Cback(u,v)表示当前帧对应的彩色图像的后一帧彩色图像中与当前子块对应的区域中坐标位置为(u,v)的像素点的像素值,符号“||”为取绝对值符号。
⑤-4、判断min(SSDpre,h,SSDback,h)<Th是否成立,如果成立,则确定当前子块为运动子块,否则,确定当前子块为非运动子块;其中,min()为取最小值函数,Th为设定的运动子块判断阈值,在本实施例中取Th=1000。
⑤-5、令h=h+1,然后将当前帧对应的彩色图像中下一个待处理的子块作为当前子块,再返回步骤⑤-3继续执行,直至当前帧对应的彩色图像中的所有子块处理完毕,其中,h=h+1中的“=”为赋值符号。
⑤-6、将当前帧中与其对应的彩色图像中的所有运动子块对应的区域确定为当前帧的运动区域,将当前帧中与其对应的彩色图像中的所有非运动子块对应的区域确定为当前帧的非运动区域。
⑥确定当前帧中的每个编码单元是否既属于边界区域又属于运动区域,对于既属于边界区域又属于运动区域的编码单元,遍历所有HEVC编码预测模式,选出率失真代价值最小的HEVC编码预测模式作为当前编码单元的最优预测模式;对于其它编码单元,仅遍历所有HEVC编码预测模式中的SKIP模式和Merge模式,选出率失真代价值最小的模式作为当前编码单元的最优预测模式;然后利用当前帧中的每个编码单元的最优预测模式对当前帧中的每个编码单元进行编码。
在此具体实施例中,步骤⑥的具体过程为:
⑥-1、将当前帧中当前待处理的最大编码单元定义为当前最大编码单元。
⑥-2、将当前最大编码单元中当前待处理的编码单元定义为当前编码单元,并将当前编码单元所在的深度定义为当前深度。
⑥-3、如果当前编码单元中存在属于当前帧的边界区域的像素点,且当前编码单元中存在属于当前帧的运动区域的像素点,则认为当前编码单元既属于边界区域又属于运动区域,遍历所有HEVC编码预测模式,计算当前编码单元在每种HEVC编码预测模式下的率失真代价值,然后在率失真优化过程中,选出率失真代价值最小的HEVC编码预测模式作为当前编码单元的最优预测模式,并得到在最优预测模式下的率失真代价值,再执行步骤⑥-4;
如果当前编码单元中存在属于当前帧的边界区域的像素点且当前编码单元中不存在属于当前帧的运动区域的像素点,或当前编码单元中不存在属于当前帧的边界区域的像素点且当前编码单元中存在属于当前帧的运动区域的像素点,或当前编码单元中不存在属于当前帧的边界区域的像素点且当前编码单元中不存在属于当前帧的运动区域的像素点,则仅遍历所有HEVC编码预测模式中的SKIP模式和Merge模式,计算当前编码单元在SKIP模式和Merge模式下各自的率失真代价值,然后在率失真优化过程中,选出率失真代价值最小的模式作为当前编码单元的最优预测模式,并得到在最优预测模式下的率失真代价值,再执行步骤⑥-4。
⑥-4、比较当前帧对应的彩色图像中与当前编码单元相对应的编码单元的最优分割深度与当前深度的大小,如果前者大于后者,则执行步骤⑥-5;如果前者小于或等于后者,则将当前深度作为当前编码单元的最优分割深度,然后执行步骤⑥-6。
⑥-5、按照步骤⑥-3的过程,以相同的方式获得当前编码单元所在层的下一层中的四个尺寸大小相同的编码单元各自的最优预测模式及在最优预测模式下的率失真代价值,然后比较当前编码单元所在层的下一层中的四个编码单元的率失真代价值之和与当前编码单元在最优预测模式下的率失真代价值的大小,如果前者大于后者,则将当前深度作为当前编码单元的最优分割深度,对当前编码单元不进行下一层的分割,然后执行步骤⑥-6;如果前者小于或等于后者,则对当前编码单元进行下一层的分割,然后将当前编码单元所在层的下一层中的四个编码单元中当前待处理的编码单元作为当前编码单元,并将当前编码单元所在的深度作为当前深度,再返回步骤⑥-4继续执行。
⑥-6、利用当前编码单元的最优预测模式对当前编码单元进行编码,在当前编码单元编码结束后,判断当前最大编码单元中的所有编码单元是否均处理完毕,如果是,则确定当前最大编码单元编码结束,然后执行步骤⑥-7;否则,再判断当前编码单元所在层中的四个尺寸大小相同的编码单元是否均处理完毕,当均处理完毕时,判断当前编码单元所在层的上一层中的编码单元是否为最大编码单元,如果是最大编码单元,则将当前编码单元所在层的上一层中的最大编码单元作为当前最大编码单元,然后执行步骤⑥-7,如果不是最大编码单元,则将当前编码单元所在层的上一层中下一个待处理的编码单元作为当前编码单元,将该当前编码单元所在的深度作为当前深度,然后返回步骤⑥-3继续执行。
⑥-7、判断当前最大编码单元是否为当前帧中的最后一个最大编码单元,如果是,则执行步骤⑦,否则,将当前帧中下一个待处理的最大编码单元作为当前最大编码单元,然后返回步骤⑥-2继续执行。
⑦将预处理后的深度视频序列中下一帧待处理的深度图像作为当前帧,然后返回步骤④继续执行,直至预处理后的深度视频序列中的所有深度图像编码完毕。
以下为对本发明方法进行测试,以说明本发明方法的有效性和可行性。
本发明方法主要在3D-HEVC测试模型HTM10.0上进行性能测试。实验的测试环境设置为JCT-3V的通用测试环境,基本的参数如表1所示,测试序列以及使用的视点如表2所示,表2中Poznan_Street序列由Poznan科技大学提供,Kendo和Balloons序列由Nagoya大学提供,Newspaper1由光州科学技术研究所提供。
表1测试环境设置
表2测试序列
测试序列 | 分辨率 | 视点 | 绘制视点 |
Balloons | 1024×768 | 3-1 | 2 |
Kendo | 1024×768 | 5-3 | 4 |
Newspaper1 | 1024×768 | 4-2 | 3 |
Poznan_Street | 1920×1088 | 3-5 | 4 |
本发明方法的编码复杂度变化采用3D-HEVC编码花费的总时间(彩色视频和深度视频的编码时间总和)的减少比例ΔTpro表示,Tpro表示本发明方法的编码总时间,Tori表示原始编码平台的编码总时间。同样,深度视频的编码时间减少比例采用Δtpro表示,计算方法与ΔTpro相同。编码率失真性能采用BDBR表示,其中,预处理部分的BDBR使用绘制的虚拟视点的峰值信噪比PSNR和编码深度视频的码率得到;快速编码部分的BDBR使用虚拟视点的多尺度结构相似度MS-SSIM和编码彩色视频加深度视频的总码率得出。编码码率的变化比例用ΔBRpro表示,BRpro表示本发明方法编码深度视频产生的编码码率,BRori表示原始平台编码深度视频产生的编码码率。原始平台编码深度视频产生的编码码率BRori以及原始编码平台的编码总时间Tori都是将HTM10.0中的快速算法关闭进行测试,作为原始数据的来源。
为了说明本发明方法中深度视频预处理的效果和对编码码率的影响,将原始深度视频一帧的局部和这一帧预处理之后对应的局部进行放大对比,并且,将原始视频和预处理之后的视频分别在原始HTM10.0平台上测试得到编码码率。给出经过预处理的所有深度视频编码与原始深度视频编码相比的ΔBRpro统计图,以及表示绘制虚拟视点质量变化PSNR的差值统计图。同时,采用BDBR表示在相同绘制虚拟视点质量PSNR下,预处理后的深度视频相对于原始深度视频编码码率的变化,以衡量预处理后的深度视频编码的率失真性能。
图3a给出了Newspaper1序列中的一帧深度图像,图3b给出了图3a所示的深度图像经预处理之后得到的效果图。图3a和图3b中左侧的框是一部分非边界区域的放大图,右侧的框是一部分边界区域的放大图。经比较可以知道,预处理后的深度视频的边界区域的像素几乎没有发生变化,对于其他区域,尤其是断裂的区域产生了不同程度的滤波效果。
图4给出了测试序列经过预处理后在测试模型HTM10.0上编码时,不同编码量化参数QP下得到的码率变化情况的统计。图4可以看出随着编码量化参数QP的增加,编码的码率降低的幅度减少,编码量化参数QP为40的情况下,Balloons序列的编码的码率几乎不变,而Kendo序列的码率略微上升。总体上,所有测试序列经过预处理之后,编码的码率都达到不同程度下降的效果,其中Poznan_Street编码的码率减少的最多。
图5给出了测试序列经过预处理后在测试模型HTM10.0上编码时,不同编码量化参数QP下得到的绘制PSNR与原始绘制PSNR相比较的变化。其中编码采用的深度视频的视点和绘制的视点如表2列出。绘制采用编码之后的彩色视频和深度视频。从图5中可以看出,经过预处理之后的深度视频绘制的PSNR都有所下降,但是下降的幅度都在0.1以下,Balloons序列绘制的质量则略有提高。采用不同编码量化参数QP编码时,整体的绘制质量几乎保持不变。
为综合衡量预处理方法对编码的率失真性能,表3给出了深度视频经过本发明方法的预处理之后,使用HTM10.0原始编码器编码之后BDBR的变化情况,从表3中可以看出,经过预处理之后编码BDBR总体下降,下降最明显的Poznan_Street序列BDBR达到了13.38%。表明经过预处理的深度视频在相同的绘制虚拟视点质量的情况下,需要更少的编码码率,率失真性能提高。
表3本发明方法中的预处理对绘制虚拟视点BDBR的影响
测试序列 | BDBR |
Balloons | -7.20% |
Kendo | -3.60% |
Newspaper | -1.39% |
Poznan_Street | -13.38% |
为验证快速编码中预测模式提前决定方法的合理性,图6给出了深度视频处于非运动区域并且非边界区域的预测模式统计结果。从图6中可以看出,所有测试序列的AMP模式选择比例都小于1%,而skip模式的比例超过90%,对于其他预测模式选的总比例则小于10%,尤其对于包含大面积平坦区域的深度视频序列,如Poznan_Street序列,skip模式的比例达到了95%以上。可以看出,对序列进行区域预测模式遍历的限制,将提高编码的效率,同时不会发生较大的失真。
为了说明本发明方法的整体编码效果,表4给出了使用本发明方法的编码时间相比HTM10.0原始编码器编码的时间减少情况,可以看出本发明方法获得了45.53%的总体时间的减少,深度视频则获得了74.13%的时间节省。随着编码量化参数QP的增加,编码时间节省的比例略有增加。编码所用的深度视频是经过预处理的深度视频,在编码时间中加入深度视频预处理的时间,最终的总体编码节省时间和深度视频编码节省时间为44.24%和72%。表明编码的复杂度得到了有效地降低。表5给出了使用本发明方法编码产生的码率相比HTM10.0原始编码器产生的编码码率的变化情况。从表5中可以看出,随着编码量化参数QP的增加,编码的码率下降幅度减少。对所有测试序列,编码的码率都有所下降,平均深度视频编码的码率下降了24.07%。表6给出了本发明方法编码深度视频和原始HTM10.0编码深度视频后,不同的测试序列以及不同编码量化参数,绘制虚拟视点的PSNR和MS-SSIM的结果。从表6中可以看出,本发明方法影响编码绘制视点的PSNR和MS-SSIM的程度较小,PSNR下降的幅度在0.07以下,MS-SSIM只有Poznan_Street序列在编码量化参数为35和40的条件下下降了0.0006,其他序列的MS-SSIM均基本保持不变。为综合考虑编码码率和绘制虚拟视点的质量,从而衡量本发明方法的率失真性能。表7给出了本发明方法最终的BD-MS-SSIM和BDBR结果,从表7中可以看出,本发明方法的平均BD-MS-SSIM提高了0.0002,编码BDBR平均下降了1.65%。综上,本发明方法有效地降低了编码的复杂度,同时,保证了编码的率失真性能和绘制虚拟视点的质量。
表4本发明方法对编码总时间和编码深度视频时间的影响
表5本发明方法对编码码率的影响
表6本发明方法对绘制虚拟视点质量的影响
表7本发明方法对编码BD-MS-SSIM和BDBR的影响
Claims (10)
1.一种深度视频快速编码方法,其特征在于包括以下步骤:
①将待处理的高清深度视频序列定义为当前深度视频序列;
②对当前深度视频序列进行预处理,预处理包括两部分,第一部分为:对当前深度视频序列中除第1帧深度图像和最后一帧深度图像外的其余每帧深度图像进行空域增强,在空域增强过程中确定对应的深度图像的边界区域和非边界区域;第二部分为:对空域增强处理后的深度视频序列进行时域增强;
③将预处理后的深度视频序列中当前待处理的深度图像定义为当前帧;
④判断当前帧是否为预处理后的深度视频序列中的第1帧深度图像或最后一帧深度图像,如果是,则直接采用3D-HEVC原始编码平台对当前帧进行编码,然后执行步骤⑦;否则,执行步骤⑤;
⑤获取当前帧的运动区域和非运动区域;并在当前帧中,与步骤②中获得的与当前帧对应的深度图像的边界区域相应的区域作为当前帧的边界区域,与步骤②中获得的与当前帧对应的深度图像的非边界区域相应的区域作为当前帧的非边界区域;
⑥确定当前帧中的每个编码单元是否既属于边界区域又属于运动区域,对于既属于边界区域又属于运动区域的编码单元,遍历所有HEVC编码预测模式,选出率失真代价值最小的HEVC编码预测模式作为当前编码单元的最优预测模式;对于其它编码单元,仅遍历所有HEVC编码预测模式中的SKIP模式和Merge模式,选出率失真代价值最小的模式作为当前编码单元的最优预测模式;然后利用当前帧中的每个编码单元的最优预测模式对当前帧中的每个编码单元进行编码;
⑦将预处理后的深度视频序列中下一帧待处理的深度图像作为当前帧,然后返回步骤④继续执行,直至预处理后的深度视频序列中的所有深度图像编码完毕。
2.根据权利要求1所述的一种深度视频快速编码方法,其特征在于所述的步骤②中第一部分的具体过程为:②-1a、将当前深度视频序列中当前待处理的深度图像定义为当前帧;②-1b、若当前帧为当前深度视频序列中的第1帧深度图像或最后一帧深度图像,则对当前帧不作处理;若当前帧不为当前深度视频序列中的第1帧深度图像或最后一帧深度图像,则对当前帧中所有属于非边界区域的断裂像素点采用高斯滤波器进行滤波处理,对当前帧中所有属于非边界区域的非断裂像素点采用自适应窗口进行滤波处理,对当前帧中所有属于边界区域的断裂像素点和所有属于边界区域的非断裂像素点均不作处理;②-1c、将当前深度视频序列中下一帧待处理的深度图像作为当前帧,然后返回步骤②-1b继续执行,直至当前深度视频序列中的所有深度图像处理完毕,完成当前深度视频序列中除第1帧深度图像和最后一帧深度图像外的其余每帧深度图像的空域增强;
所述的步骤②中第二部分的具体过程为:②-2a、假设当前深度视频序列中的深度图像的宽度和高度对应为W和H,并假设当前深度视频序列中包含的深度图像的总帧数为T帧;②-2b、对空域增强处理后的深度视频序列进行时空变换,得到时空变换后的深度视频序列,将时空变换后的深度视频序列中的第j帧深度图像中坐标位置为(i,t)的像素点的像素值记为dj(i,t),dj(i,t)=dt(i,j),其中,1≤j≤H,1≤i≤W,1≤t≤T,dt(i,j)表示空域增强处理后的深度视频序列中的第t帧深度图像中坐标位置为(i,j)的像素点的像素值;②-2c、对时空变换后的深度视频序列中的每帧深度图像采用时域滤波窗口进行时域增强处理,得到时域增强处理后的深度视频序列,将时域增强处理后的深度视频序列中的第j帧深度图像中坐标位置为(i,t)的像素点的像素值记为d'j(i,t),其中,t0表示时域滤波窗口的大小,dj(i,t')表示时空变换后的深度视频序列中的第j帧深度图像中坐标位置为(i,t')的像素点的像素值,wj(i,t')表示dj(i,t')的权重;②-2d、对时域增强处理后的深度视频序列进行时空变换,得到预处理后的深度视频序列,将预处理后的深度视频序列中的第t帧深度图像中坐标位置为(i,j)的像素点的像素值记为d't(i,j),d't(i,j)=d'j(i,t)。
3.根据权利要求2所述的一种深度视频快速编码方法,其特征在于所述的步骤②-1b中当前帧中的断裂像素点与非断裂像素点的确定过程为:令cr(i,j)表示当前帧中坐标位置为(i,j)的像素点的断裂标记;然后根据当前帧中的每个像素点的坐标位置及像素值,确定当前帧中的每个像素点的断裂标记,对于当前帧中坐标位置为(i,j)的像素点,接着根据当前帧中的像素点的断裂标记,扩大值为1的断裂标记的范围,具体过程为:对于当前帧中坐标位置为(i',j')的像素点,若该像素点的断裂标记的值为1,则当当前帧中坐标位置为(i'-1,j')的像素点的断裂标记的值为0时,将当前帧中坐标位置为(i'-1,j')的像素点的断裂标记的值更改为1;再将当前帧中断裂标记的值为0的像素点确定为非断裂像素点,将当前帧中断裂标记的值为1的像素点确定为断裂像素点;
其中,cr(i,j)的取值为0或1,1≤i≤W,1≤j≤H,W和H对应表示当前深度视频序列中的深度图像的宽度和高度,dp(i-1,j)表示当前帧中坐标位置为(i-1,j)的像素点的像素值,dp(i,j)表示当前帧中坐标位置为(i,j)的像素点的像素值,符号“||”为取绝对值符号,Th0为设定的断裂判断阈值,2≤i'≤W,1≤j'≤H。
4.根据权利要求3所述的一种深度视频快速编码方法,其特征在于所述的设定的断裂判断阈值Th0取值为10。
5.根据权利要求2或3所述的一种深度视频快速编码方法,其特征在于所述的步骤②-1b中当前帧的边界区域和非边界区域通过采用Canny边界检测方法对当前帧进行边界检测得到。
6.根据权利要求5所述的一种深度视频快速编码方法,其特征在于所述的Canny边界检测方法中所采用的高阈值thH取值为120,且所采用的低阈值thL取值为40。
7.根据权利要求5所述的一种深度视频快速编码方法,其特征在于所述的步骤②-1b中对当前帧中所有属于非边界区域的非断裂像素点采用自适应窗口进行滤波处理的具体过程为:对于当前帧中属于非边界区域的任一个非断裂像素点,将该非断裂像素点作为中心像素点,并以n个像素点为搜索步长进行上下和左右搜索,当搜索到属于非边界区域的断裂像素点或属于边界区域的断裂像素点或属于边界区域的非断裂像素点或搜索到达当前帧的图像边界时停止搜索,形成一个十字窗口;然后以该十字窗口纵轴上的每个像素点为中心,并以n个像素点为搜索步长进行左右搜索,当搜索到属于非边界区域的断裂像素点或属于边界区域的断裂像素点或属于边界区域的非断裂像素点或搜索到达当前帧的图像边界时停止搜索,形成一个自适应窗口;再将该自适应窗口内的所有像素点的像素值的均值赋值给中心像素点实现滤波处理。
8.根据权利要求7所述的一种深度视频快速编码方法,其特征在于所述的步骤②-2c中时域滤波窗口的大小t0取值为5;所述的步骤②-2c中difj(i,t')=|dj(i,t'+1)-dj(i,t')|,dj(i,t'+1)表示时空变换后的深度视频序列中的第j帧深度图像中坐标位置为(i,t'+1)的像素点的像素值,符号“||”为取绝对值符号。
9.根据权利要求1所述的一种深度视频快速编码方法,其特征在于所述的步骤⑤中获取当前帧的运动区域和非运动区域的具体过程为:
⑤-1、假设当前深度视频序列中的深度图像的宽度和高度对应为W和H,并假设W×H能够被4×4整除,则将当前帧对应的彩色图像划分成个互不重叠的子块;
⑤-2、将当前帧对应的彩色图像中当前待处理的第h个子块定义为当前子块,其中,h的初始值为1,
⑤-3、计算当前子块与当前帧对应的彩色图像的前一帧彩色图像中对应区域的差值平方和,记为SSDpre,h,并计算当前子块与当前帧对应的彩色图像的后一帧彩色图像中对应区域的差值平方和,记为SSDback,h,其中,Ccur(u,v)表示当前子块中坐标位置为(u,v)的像素点的像素值,Cpre(u,v)表示当前帧对应的彩色图像的前一帧彩色图像中与当前子块对应的区域中坐标位置为(u,v)的像素点的像素值,Cback(u,v)表示当前帧对应的彩色图像的后一帧彩色图像中与当前子块对应的区域中坐标位置为(u,v)的像素点的像素值,符号“||”为取绝对值符号;
⑤-4、判断min(SSDpre,h,SSDback,h)<Th是否成立,如果成立,则确定当前子块为运动子块,否则,确定当前子块为非运动子块;其中,min()为取最小值函数,Th为设定的运动子块判断阈值;
⑤-5、令h=h+1,然后将当前帧对应的彩色图像中下一个待处理的子块作为当前子块,再返回步骤⑤-3继续执行,直至当前帧对应的彩色图像中的所有子块处理完毕,其中,h=h+1中的“=”为赋值符号;
⑤-6、将当前帧中与其对应的彩色图像中的所有运动子块对应的区域确定为当前帧的运动区域,将当前帧中与其对应的彩色图像中的所有非运动子块对应的区域确定为当前帧的非运动区域。
10.根据权利要求1所述的一种深度视频快速编码方法,其特征在于所述的步骤⑥的具体过程为:
⑥-1、将当前帧中当前待处理的最大编码单元定义为当前最大编码单元;
⑥-2、将当前最大编码单元中当前待处理的编码单元定义为当前编码单元,并将当前编码单元所在的深度定义为当前深度;
⑥-3、如果当前编码单元中存在属于当前帧的边界区域的像素点,且当前编码单元中存在属于当前帧的运动区域的像素点,则认为当前编码单元既属于边界区域又属于运动区域,遍历所有HEVC编码预测模式,计算当前编码单元在每种HEVC编码预测模式下的率失真代价值,然后在率失真优化过程中,选出率失真代价值最小的HEVC编码预测模式作为当前编码单元的最优预测模式,并得到在最优预测模式下的率失真代价值,再执行步骤⑥-4;
如果当前编码单元中存在属于当前帧的边界区域的像素点且当前编码单元中不存在属于当前帧的运动区域的像素点,或当前编码单元中不存在属于当前帧的边界区域的像素点且当前编码单元中存在属于当前帧的运动区域的像素点,或当前编码单元中不存在属于当前帧的边界区域的像素点且当前编码单元中不存在属于当前帧的运动区域的像素点,则仅遍历所有HEVC编码预测模式中的SKIP模式和Merge模式,计算当前编码单元在SKIP模式和Merge模式下各自的率失真代价值,然后在率失真优化过程中,选出率失真代价值最小的模式作为当前编码单元的最优预测模式,并得到在最优预测模式下的率失真代价值,再执行步骤⑥-4;
⑥-4、比较当前帧对应的彩色图像中与当前编码单元相对应的编码单元的最优分割深度与当前深度的大小,如果前者大于后者,则执行步骤⑥-5;如果前者小于或等于后者,则将当前深度作为当前编码单元的最优分割深度,然后执行步骤⑥-6;
⑥-5、按照步骤⑥-3的过程,以相同的方式获得当前编码单元所在层的下一层中的四个尺寸大小相同的编码单元各自的最优预测模式及在最优预测模式下的率失真代价值,然后比较当前编码单元所在层的下一层中的四个编码单元的率失真代价值之和与当前编码单元在最优预测模式下的率失真代价值的大小,如果前者大于后者,则将当前深度作为当前编码单元的最优分割深度,对当前编码单元不进行下一层的分割,然后执行步骤⑥-6;如果前者小于或等于后者,则对当前编码单元进行下一层的分割,然后将当前编码单元所在层的下一层中的四个编码单元中当前待处理的编码单元作为当前编码单元,并将当前编码单元所在的深度作为当前深度,再返回步骤⑥-4继续执行;
⑥-6、利用当前编码单元的最优预测模式对当前编码单元进行编码,在当前编码单元编码结束后,判断当前最大编码单元中的所有编码单元是否均处理完毕,如果是,则确定当前最大编码单元编码结束,然后执行步骤⑥-7;否则,再判断当前编码单元所在层中的四个尺寸大小相同的编码单元是否均处理完毕,当均处理完毕时,判断当前编码单元所在层的上一层中的编码单元是否为最大编码单元,如果是最大编码单元,则将当前编码单元所在层的上一层中的最大编码单元作为当前最大编码单元,然后执行步骤⑥-7,如果不是最大编码单元,则将当前编码单元所在层的上一层中下一个待处理的编码单元作为当前编码单元,将该当前编码单元所在的深度作为当前深度,然后返回步骤⑥-3继续执行;
⑥-7、判断当前最大编码单元是否为当前帧中的最后一个最大编码单元,如果是,则执行步骤⑦,否则,将当前帧中下一个待处理的最大编码单元作为当前最大编码单元,然后返回步骤⑥-2继续执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510470699.2A CN105120290B (zh) | 2015-08-04 | 2015-08-04 | 一种深度视频快速编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510470699.2A CN105120290B (zh) | 2015-08-04 | 2015-08-04 | 一种深度视频快速编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105120290A true CN105120290A (zh) | 2015-12-02 |
CN105120290B CN105120290B (zh) | 2017-12-05 |
Family
ID=54668136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510470699.2A Active CN105120290B (zh) | 2015-08-04 | 2015-08-04 | 一种深度视频快速编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105120290B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412611A (zh) * | 2016-09-26 | 2017-02-15 | 宁波大学 | 一种高效视频编码的复杂度控制方法 |
CN108012150A (zh) * | 2017-12-14 | 2018-05-08 | 湖南兴天电子科技有限公司 | 视频帧间编码方法及装置 |
CN108134940A (zh) * | 2018-01-22 | 2018-06-08 | 合肥工业大学 | 应用于视频编解码中深度图像帧内预测的编码电路及其编码方法 |
CN108271025A (zh) * | 2018-01-22 | 2018-07-10 | 合肥工业大学 | 基于边界梯度的3d视频编解码中深度建模模式的编码电路及其编码方法 |
CN108322740A (zh) * | 2018-01-10 | 2018-07-24 | 宁波大学 | 一种编码复杂度可控的编码方法 |
CN110169076A (zh) * | 2017-01-06 | 2019-08-23 | 联发科技股份有限公司 | 用于发信视口以及感兴趣区域的方法与装置 |
CN110365984A (zh) * | 2018-03-26 | 2019-10-22 | 联发科技(新加坡)私人有限公司 | 编解码方法及装置 |
WO2020043111A1 (zh) * | 2018-08-28 | 2020-03-05 | 华为技术有限公司 | 基于历史候选列表的图像编码、解码方法以及编解码器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101374243A (zh) * | 2008-07-29 | 2009-02-25 | 宁波大学 | 一种应用于3dtv与ftv系统的深度图编码压缩方法 |
CN101588445A (zh) * | 2009-06-09 | 2009-11-25 | 宁波大学 | 一种基于深度的视频感兴趣区域提取方法 |
CN103716607A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 一种应用于HEVC-based 3DVC的编码方法和装置 |
US20150049821A1 (en) * | 2013-08-16 | 2015-02-19 | Qualcomm Incorporated | In-loop depth map filtering for 3d video coding |
-
2015
- 2015-08-04 CN CN201510470699.2A patent/CN105120290B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101374243A (zh) * | 2008-07-29 | 2009-02-25 | 宁波大学 | 一种应用于3dtv与ftv系统的深度图编码压缩方法 |
CN101588445A (zh) * | 2009-06-09 | 2009-11-25 | 宁波大学 | 一种基于深度的视频感兴趣区域提取方法 |
CN103716607A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 一种应用于HEVC-based 3DVC的编码方法和装置 |
US20150049821A1 (en) * | 2013-08-16 | 2015-02-19 | Qualcomm Incorporated | In-loop depth map filtering for 3d video coding |
Non-Patent Citations (1)
Title |
---|
周浩: "深度视频信号预处理及其在编码中的应用研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412611A (zh) * | 2016-09-26 | 2017-02-15 | 宁波大学 | 一种高效视频编码的复杂度控制方法 |
CN110169076A (zh) * | 2017-01-06 | 2019-08-23 | 联发科技股份有限公司 | 用于发信视口以及感兴趣区域的方法与装置 |
CN110169076B (zh) * | 2017-01-06 | 2022-09-09 | 联发科技股份有限公司 | 用于编码/解码视频数据的方法与装置 |
CN108012150A (zh) * | 2017-12-14 | 2018-05-08 | 湖南兴天电子科技有限公司 | 视频帧间编码方法及装置 |
CN108012150B (zh) * | 2017-12-14 | 2020-05-05 | 湖南兴天电子科技有限公司 | 视频帧间编码方法及装置 |
CN108322740A (zh) * | 2018-01-10 | 2018-07-24 | 宁波大学 | 一种编码复杂度可控的编码方法 |
CN108322740B (zh) * | 2018-01-10 | 2020-04-17 | 宁波大学 | 一种编码复杂度可控的编码方法 |
CN108134940B (zh) * | 2018-01-22 | 2019-11-08 | 合肥工业大学 | 应用于视频编码中深度图像帧内预测的编码电路及方法 |
CN108271025B (zh) * | 2018-01-22 | 2019-11-29 | 合肥工业大学 | 基于边界梯度的3d视频编解码中深度建模模式的编码电路及其编码方法 |
CN108271025A (zh) * | 2018-01-22 | 2018-07-10 | 合肥工业大学 | 基于边界梯度的3d视频编解码中深度建模模式的编码电路及其编码方法 |
CN108134940A (zh) * | 2018-01-22 | 2018-06-08 | 合肥工业大学 | 应用于视频编解码中深度图像帧内预测的编码电路及其编码方法 |
CN110365984A (zh) * | 2018-03-26 | 2019-10-22 | 联发科技(新加坡)私人有限公司 | 编解码方法及装置 |
CN110365984B (zh) * | 2018-03-26 | 2022-01-04 | 联发科技(新加坡)私人有限公司 | 编解码方法及装置 |
WO2020043111A1 (zh) * | 2018-08-28 | 2020-03-05 | 华为技术有限公司 | 基于历史候选列表的图像编码、解码方法以及编解码器 |
CN110868613A (zh) * | 2018-08-28 | 2020-03-06 | 华为技术有限公司 | 基于历史候选列表的图像编码、解码方法以及编解码器 |
CN110868613B (zh) * | 2018-08-28 | 2021-10-01 | 华为技术有限公司 | 基于历史候选列表的图像编码方法、图像解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105120290B (zh) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105120290A (zh) | 一种深度视频快速编码方法 | |
CN103873861B (zh) | 一种用于hevc的编码模式选择方法 | |
CN103517069B (zh) | 一种基于纹理分析的hevc帧内预测快速模式选择方法 | |
CN111355956B (zh) | 一种hevc帧内编码中基于深度学习的率失真优化快速决策系统及其方法 | |
CN106507116B (zh) | 一种基于3d显著性信息和视点合成预测的3d-hevc编码方法 | |
CN100551075C (zh) | 一种低复杂度的帧内预测模式选择方法 | |
CN102801976B (zh) | 基于三维小波视频编码的帧间块模式选择方法 | |
CN105430415B (zh) | 一种3d‑hevc深度视频帧内快速编码方法 | |
CN103248895B (zh) | 一种用于hevc帧内编码的快速模式估计方法 | |
CN106464855A (zh) | 提供高效率视频编码中基于深度的块划分的方法和设备 | |
CN110446052B (zh) | 一种3d-hevc帧内深度图快速cu深度选择方法 | |
CN103546758A (zh) | 一种快速深度图序列帧间模式选择分形编码方法 | |
CN101621683A (zh) | 一种基于avs的快速立体视频编码方法 | |
CN103067705B (zh) | 一种多视点深度视频预处理方法 | |
CN107396102A (zh) | 一种基于Merge技术运动矢量的帧间模式快速选择方法及装置 | |
CN102801996A (zh) | 基于jndd模型的快速深度图编码模式选择方法 | |
CN107580217A (zh) | 编码方法及其装置 | |
CN104702959B (zh) | 一种视频编码的帧内预测方法及系统 | |
KR100947447B1 (ko) | 다시점 동영상 부호화에서 고속 모드 결정 방법 및 장치 | |
CN103024381A (zh) | 一种基于恰可察觉失真的宏块模式快速选择方法 | |
CN106131553A (zh) | 一种基于运动矢量残差相关性的视频隐写分析方法 | |
CN101557519B (zh) | 一种多视点视频编码方法 | |
CN103391439A (zh) | 一种基于主动宏块隐藏的h.264/avc码率控制方法 | |
CN101984669A (zh) | 一种帧层次自适应维纳插值滤波器的迭代方法 | |
CN101783956A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |