CN102420990B - 一种面向多视点视频的快速编码方法 - Google Patents
一种面向多视点视频的快速编码方法 Download PDFInfo
- Publication number
- CN102420990B CN102420990B CN 201110421038 CN201110421038A CN102420990B CN 102420990 B CN102420990 B CN 102420990B CN 201110421038 CN201110421038 CN 201110421038 CN 201110421038 A CN201110421038 A CN 201110421038A CN 102420990 B CN102420990 B CN 102420990B
- Authority
- CN
- China
- Prior art keywords
- coding
- macro block
- coding mode
- macro
- current
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种面向多视点视频的快速编码方法,属于H.264/AVC视频编码技术领域,其特征在于,对左、右视点先用全搜索方法进行编码并提取编码信息,再对右视点中除锚定帧以外的其他各帧采用两层SVM分类器按能够反映编码时宏块预测的错误量SSD、编码残差状态CBP以及宏块编码模式的使用率构建两层SVM分类器的特征矢量,分类器按用以识别同质、平坦区域的宏块的编码模式以及较大块编码模式的宏块的编码模式进行相对应的编码,最后从中选取率失真代价最小的宏块编码模式作为宏块的最优编码模式。本发明提前终止了原始的全模式搜索方法采用的率失真优化方法,优化后的宏块编码模式降低了编码复杂度,至少降低了70%的编码时间。
Description
技术领域
本发明涉及基于H.264/AVC的视频编码技术,具体涉及一种多视点视频编码中基于支持向量机的快速宏块编码模式选择编码方法。
背景技术
近年来,随着多媒体技术的不断发展,人们不再满足于传统平面视频带来的视觉感受,因此产生了可以给人们带来比普通视频更加身临其境感受的具有3D(three dimensional)视觉功能和交互操作功能的多视点视频。多视点视频(multi-view video)是由一组平行或会聚的相机分别从不同角度拍摄同一场景得到的多个角度视频内容的视频信号,它同时将多个视点的信息传到解码端,使得用户能够选择观看任何角度的三维视频节目,具有很强的临场感,因此在数字娱乐、远程教育、远程医学、监控、可视会议以及虚拟现实等各个领域有着广泛的应用前景。
由于多视点视频信号采集自多个相机,与传统的单视点平面视频相比,多视点视频编码需要处理的视频数据以及多视点视频传输需要占用的带宽随着相机数目的增加而成倍增加,复杂度极高,对传输和解码带来了极大的负担。因此,必须通过高效地压缩编码才能使得多视点视频真正实用化。为了方便对多视点视频编码技术进行研究,国际视频小组JVT(JointVideo Team)为多视点视频编码开发了专门的测试模型JMVC(Joint Multi-view Video Coding)作为多视点视频编码研究测试平台。
以包含两个视点的多视点视频为例,如图1所示,水平方向为时间方向,垂直方向为视点方向。左视点S0设为参考视点先进行编码,每个图像组(GOP,Group of Pictures)中的第一帧(也称为锚定帧,如T0和T8帧)为I帧,不参考其他帧的信息直接进行DCT变换、线性量化、游程长编码,最后送入算术编码器进行帧内编码。左视点除去各GOP的第一帧之外其余各帧皆是B帧,采用分级B帧(HBP,Hierarchical B Prediction)预测结构(具体见论文《Efficient Prediction Structures for Multiview Video Coding》),需要分级参考左视点中两个已编码帧进行双向运动估计:如图1所示,在S0行即左视点行所在的HBP结构中,首先对第一个GOP中的第一帧T0时刻帧和第二个GOP中的第一帧T8时刻帧进行编码;然后对T4时刻帧进行编码,该帧为第一级B帧,它参考T0时刻帧和T8时刻帧两个已编码帧进行双向运动估计(即T4时刻帧的参考帧为T0时刻帧和T8时刻帧);接着对T2时刻帧和T6时刻帧进行编码,T2时刻帧参考T0时刻帧和T4时刻帧进行双向运动估计,T6时刻帧参考T4时刻帧和T8时刻帧进行双向运动估计,这两帧为第二级B帧;最后对T1时刻帧、T3时刻帧、T5时刻帧以及T7时刻帧进行编码,它们分别参考TO时刻帧和T2时刻帧,T2时刻帧和T4时刻帧,T4时刻帧和T6时刻帧,以及T6时刻帧和T8时刻帧进行双向运动估计,这四帧为第三级B帧。这样完成了左视点中第一个GOP的编码,左视点其余GOP的编码方法以此类推。右视点为预测视点,每个GOP中的第一帧为P帧(如图1中S1行的T0时刻帧和T8时刻帧),既允许它同I帧一样不参考其他帧的信息直接进行帧内编码,也允许它参考左视点对应时刻的帧(S1行的T0时刻帧和T8时刻帧在左视点对应时刻的帧即S0行的T0时刻帧和T8时刻帧)进行视差估计。右视点除去各GOP第一帧后的其余B帧,除了在时间方向上使用与左视点相同的HBP预测结构进行运动估计,还允许在视点方向上参考左视点相同时刻的已编码帧进行视差估计(如图1中的虚线箭头所示)。
根据H.264/AVC标准(见书《新一代视频压缩编码标准——H.264/AVC》),每个宏块(16x16像素)可以按照四种编码模式进行分割(见图2),分别为16x16编码模式,16x8编码模式,8x16编码模式和8x8编码模式。其中8x8编码模式又称为亚宏块编码模式,它可以进一步用四种编码模式再进行分割成8x8编码模式,8x4编码模式,4x8编码模式和4x4编码模式,如图2所示。因此每个编码宏块的预测模式包括,帧间(Inter)预测的Inter16x16编码模式,Inter16x8编码模式,Inter8x16编码模式,Inter8x8编码模式,Inter8x4编码模式,Inter4x8编码模式和Inter4x4编码模式以及帧内(Intra)预测的Intra16x16编码模式,Intra8x8编码模式和Intra4x4编码模式。由于多视点视频编码中运动/视差搜索是以子块为单位进行的,每个子块都会有一个独立的运动/视差矢量。因此对宏块中的子块划分的越细,宏块的编码量也就越大。所以在具体编码时需要根据运动/视差估计后的残差值大小和需要的运动/视差矢量编码代价来选择宏块的最优编码模式。多视点视频编码基于H.264/AVC标准,采用率失真模型选择最优的宏块编码模式。
传统的多视点视频编码通过全搜索方式,遍历所有的宏块编码模式(包括上述的几种编码模式以及直接复制编码模式——SKIP编码模式),选择率失真代价最小的宏块编码模式作为最终的编码模式。率失真代价的计算公式为J(s,c,m|QP,λm)=SSD(s,c,m|QP)+λmR(s,c,m|QP),其中s是当前进行编码的原始数据,c是已经编码重建的参考帧数据,QP是宏块的量化参数,λm是拉格朗日乘数,m为当前宏块的编码模式,R(·)是在m编码模式下编码运动、视差矢量以及预测值差值所需比特数,SSD(·)为当前进行编码的原始数据与已经编码重建的参考帧数据的差值平方和, B1,B2表示块的水平和垂直像素数,[i,j]表示像素坐标,(lx,ly)表示当前块的运动/视差矢量。
由于传统的全编码模式搜索方法针对每个编码宏块既分别进行运动估计和视差估计,又分别遍历所有宏块编码模式,最后再通过计算率失真代价来选取最优的宏块编码模式。虽然能获得较好的编码效果,但计算量巨大,复杂度极高,影响了多视点视频的实时性应用。目前有学者提出基于H.264/AVC的快速宏块编码模式选择算法(见论文《Block-ModeClassification Using SVMs for Early Termination of Block Mode Decision in H.264|MPEG-4 Part 10 AVC》),但是专门针对多视点视频编码的快速编码模式选择算法还较少。论文《Fast Macroblock Mode Selection Algorithm for Multiview Video Coding》通过设计阈值来提前判定宏块编码模式,但确定阈值的计算公式中系数使用的是经验值,不具有普遍性;论文《A Hierarchical Two-Stage Neural-Classifier for Mode Decision of H.264/AVCStereo Video Encoding》利用分级神经网络分类器来进行宏块编码模式选择,虽然能获得很好的编码效率但相对增加了较多的比特数。本发明基于H.264/AVC标准,提出一种基于支持向量机的多视点视频宏块编码模式选择编码方法,能在保证多视点视频编码质量的基础上,大大减少编码时间。
发明内容
本发明的目的在于,通过提供一种面向多视点视频的快速编码方法,从参考视点的宏块以及当前视点的已编码宏块中提取编码信息,构成特征向量训练支持向量机(SupportingVector Machine)分类器模型,对多视点视频中宏块编码模式进行分类,降低多视点视频右视点的编码复杂度。
本发明的特征在于,是在计算机中依次按以下步骤仿真实现的:
步骤(1),计算机初始化:
设置:按全编码模式搜索方法对选定的参考视点S0以及当前视点S1进行编码的JMVC软件,以其中的多视点视频编码模型JMVC7.2软件作为实验平台,量化参数QP设置为22、27、32和37,运动估计和视差估计搜索窗口大小为96×96,
支持向量机训练和预测使用libSVM软件包,
YUV格式的多视点国际标准测试视频序列ballroom序列作为训练序列,race1序列、flamenco2序列、exit序列作为测试序列,分别从ballroom_0.yuv文件、race1_0.yuv文件、flamenco2_0.yuv文件、exit_0.yuv文件中选取41帧图像作为各序列的左视点,在编码时构成所述各序列的参考视点S0,再分别选取ballroom_1.yuv文件、race1_1.yuv文件、flamenco2_1.yuv文件、exit_1.yuv文件中的41帧图像作为各序列的右视点,在编码时构成所述各序列的当前视点S1;
步骤(2),利用所述的JMVC多视点视频编码软件对从所述的YUV格式的多视点国际标准测试视频序列ballroom序列、race1序列、flamenco2序列、exit序列中分别选取的所述左视点和右视点按全编码模式搜索编码方法进行编码,并同时提取编码信息,包括:当前进行编码的宏块中各原始数据与相对应的已经编码重建的参考帧内宏块中各数据的差值平方和SSD、宏块残差编码模式CBP、宏块前向运动矢量L0和宏块后向运动矢量L1、宏块编码模式MODE以及所述当前编码帧所对应的参考帧;
步骤(3),对所述多视点视频中除每个图像组(GOP,Group of Pictures)中的第一帧即锚定帧以外的所有帧的宏块按编码模式选择快速预测方法进行编码,其步骤如下:
步骤(3.1),利用步骤(2)得到的编码信息为支持向量机分类器模型选取特征向量:
步骤(3.1.1),第一层分类器的特征向量,表述如下:
在所述左视点中与相对应的所述右视点中的各当前编码宏块所处相同位置的各宏块的宏块残差编码模式CBP和差值平方和SSD,各当前编码宏块在所述左视点中对应的各宏块的周边八个宏块的平均的差值平方和SSD,各当前编码宏块在所述左视点中所对应的各个宏块和其八个相邻宏块中的使用次数最多的编码模式,各当前编码宏块的左上、上边、左边方向三个已编码宏块的平均的差值平方和SSD,在所述右视点中各当前编码宏块前一个已编码宏块的运动矢量;
步骤(3.1.2),第二层分类器的特征向量,表述如下:
各当前编码宏块在左视点S0中的对应宏块及周边八个相邻宏块、各当前编码宏块在右视点S1中的左上、上边、左边已编码的三个宏块组成的集合中使用次数最多的宏块编码模式,各当前编码宏块前一个已编码宏块的差值平方和SSD和宏块残差编码模式CBP,在前一帧内与当前编码宏块所处相同位置的宏块使用的宏块编码模式,在所述右视点中与当前帧中的当前编码宏块所处位置相同的这一个宏块其在前一帧中处于相同位置的宏块所使用的宏块编码模式;
步骤(3.1.3),采用默认的RBF核函数,也称径向基函数,为支持向量机核函数,记为k(‖x-xc‖),并使用最常用的高斯核函数,形式为k(‖x-xc‖)=exp{-‖x-xc‖2/2σ2},其中,x为所述RBF核函数的坐标变量,xc为所述RBF核函数的中心,‖□‖表示欧式范数,σ为所述RBF核函数的宽度参数,计算公式为其中M为训练样本中根据经验选定均匀分布的中心的个数,d为这些中心的间距;
步骤(3.1.4),按以下步骤搭建两层SVM分类器:
步骤(3.1.4.1),第一层分类器把属于{SKIP,Inter16x16}编码模式集合中的一个编码模式分离出来,用以识别同质、平坦区域的宏块;
步骤(3.1.4.2),第二层分类器再把属于{Inter16x8,Inter8x16}编码模式集合中的一个编码模式分离出来,以识别较大编码模式的宏块;
步骤(3.1.5),依次通过所述两层SVM分类器对多视点视频中的宏块编码模式进行优化分类,以减少宏块预测模式,并把分类后的宏块编码模式记录为TXT格式的外部文件存储;
步骤(3.1.6),再次通过JMVC软件,以步骤(3.1.5)中优化后的宏块编码模式分类结果对所述多视点视频测试序列race1序列,flamenco2序列,exit序列的各个右视点进行编码,若当前编码帧为锚定帧则采用所述全编码模式搜索方法;
步骤(3.1.7),读取第一层分类器的分类结果,若属于{SKIP,Inter16x16}编码模式集合中之一的编码模式,则仅对当前编码宏块使用SKIP编码模式和Inter16x16编码模式分别进行编码,并计算各编码模式的率失真代价,选取率失真代价最小的作为当前编码宏块的最佳编码模式;否则,执行步骤(3.1.8);
步骤(3.1.8),读取第二层分类器的分类结果,若属于{Inter16x8,Inter8x16}编码模式集合中之一的编码模式,则仅对当前编码宏块使用Inter16x8编码模式和Inter8x16编码模式分别进行编码,并计算各模式的率失真代价,选取率失真代价最小的作为当前编码宏块的最佳编码模式;否则,采用Inter8x8编码模式、Intra16x16编码模式、Intra8x8编码模式和Intra4x4编码模式分别进行编码,并计算各编码模式的率失真代价,选取率失真代价最小的作为当前编码宏块的最佳编码模式;
步骤(3.1.9),判断当前帧中是否还有未编码的宏块,若有,跳转并执行步骤(3.1.7),对当前编码宏块的下一宏块进行编码,若没有,则判断当前的右视点中是否还有未编码帧,若有,则跳转并执行步骤(3.1.6),对当前帧的下一帧进行编码,若没有,则对当前的右视点编码结束。
本发明提前终止了原始的全编码模式搜索方法采用的率失真优化方法,优化后的宏块编码模式降低了多视点视频的编码复杂度,至少降低了70%的编码时间。
附图说明
图1是多视点视频编码结构示意图;
图2是宏块的编码模式划分方法;
图3是两层SVM分类器原理图
图4是参考视点以及当前视点中对应宏块及其周边八个相邻宏块结构图;
图5是宏块左上、上、左边已编码宏块结构图;
图6是本发明方法的流程图;
图7是“exit”序列不同方法的率失真曲线示意。
具体实施方式
为解决上述技术问题,本发明采取的技术方案为:
一种面向多视点视频的快速编码方法,令左视点S0为参考视点,右视点S1为当前视点,首先从参考视点S0以及当前视点S1已编码的宏块中提取编码信息组成特征向量,利用支持向量机,即Supporting Vector Machine,SVM进行分类器模型搭建,建立当前编码宏块与当前视点S1中已编码宏块以及参考视点S0中宏块编码模式之间的联系;然后建立两层SVM分类器对多视点视频宏块编码模式进行分层式预测,减少预测模式的数量,提前终止原始的全编码模式搜索方法采用的率失真优化方法,本发明中两层SVM分类器原理图见图3。具体步骤如下:
1.1、利用JMVC软件对参考视点S0以及当前视点S1以传统的全编码模式搜索方式进行编码,在编码过程中提取编码信息,包括:当前进行编码的原始数据与已经编码重建的参考帧数据的差值平方和(SSD,Sum of Squared Difference)、宏块残差编码模式(CBP,CodedBlock Pattern)、宏块前向运动矢量L0和后巷运动矢量L1、宏块编码模式Mode以及当前编码帧所对应的参考帧;
1.2、为两层SVM分类器选取特征向量,利用从步骤1.1中获得的编码信息表征宏块特征,并构成分别应用于SVM分类器第一、第二两层的多维特征向量;
1.3、利用步骤1.2得到的多维特征向量搭建和训练支持向量机分类器模型,使得当前编码宏块与当前视点S1中已编码宏块的宏块编码模式以及参考视点S0中宏块编码模式建立相关性;
1.4、建立两层SVM分类器,分两步对多视点视频中宏块的编码模式进行细化分类,首先将所有的宏块编码模式分成{SKIP,Inter16x16}编码模式集合和{其他}编码模式集合,然后再将{其他}编码模式集合进一步划分为{Inter16x8,Inter8x16}编码模式集合和{Inter8x8,Inter8x8Frext,Intra16x16,Intra8x8,Intra4x4}编码模式集合;
1.5、利用经过步骤1.4进行优化后的宏块编码模式对多视点视频的当前视点S1进行编码,提前终止率失真优化方法,降低全编码模式搜索方式带来的高复杂度。
在本发明所提供的多视点视频快速编码模式选择方法中,所述的支持向量机特征向量的选取,包括下述步骤:
2.1、第一层分类器:考虑到参考视点S0与当前视点S1有很强的相关性,并且由于SSD和CBP能够反映编码时宏块预测的错误量以及编码残差状态,因此本发明选择左视点(即参考视点S0)中相同时刻对应宏块(在参考视点S0中,与当前视点即右视点S1中当前编码宏块所处相同位置的宏块)的SSD及CBP作为特征向量之一;另外,将当前编码宏块在左视点中对应宏块的周边八个宏块(如图4所示)的平均SSD也作为特征向量之一;除此之外,实验数据表明,在当前编码宏块于左视点中的对应宏块及其相邻宏块中使用频率最高的宏块编码模式往往就是通过率失真优化方法计算获得的最优编码模式,因此本发明选择当前编码宏块在左视点中所对应的宏块及其八个相邻宏块中的使用次数最多的宏块编码模式作为特征向量之一;还要考虑到当前视点中在当前编码宏块之前已编码宏块的编码信息,因此还将当前宏块左上块,上边块,左边块三个已编码宏块(如图5所示)的平均SSD作为特征向量之一;当前编码宏块前一已编码宏块的运动矢量也作为特征向量之一;
2.2、第二层分类器:同步骤2.1,考虑到左视点与当前视点的相关性,以及使用频率最高的宏块编码模式可能就是最优编码模式的特点,本发明选择当前编码宏块在左视点中的对应宏块及周边八个相邻宏块,当前编码宏块在当前视点S1中左上、上、左边已编码的三个宏块使用次数最多的宏块编码模式作为特征向量之一;此外当前编码宏块前一已编码宏块的SSD和CBP也作为特征向量之一;考虑到同一视点内部相邻帧之间的相关性,本发明将当前编码宏块在前一帧(即前一时刻)所对应宏块(当前帧中当前编码宏块在前一帧中所处相同位置的宏块)使用的宏块编码模式,以及在左视点中前一帧所对应宏块(当前帧中当前编码宏块在左视点中的对应宏块,在前一帧中所处相同位置的宏块)使用的宏块编码模式作为特征向量;另外,将在左视点中的对应宏块使用的参考帧也作为特征向量之一。
在本发明所提供的多视点视频快速编码模式选择方法中,所述的支持向量机核函数的选择,采用默认的RBF核函数,即径向基函数(Radial Basis Function),记为k(‖x-xc‖),使用其中最常用的高斯核函数,形式为k(‖x-xc‖)=exp{-‖x-xc‖2/2σ2},其中,x为所述RBF核函数的坐标变量,xc为所述RBF核函数的中心,‖□‖表示欧式范数,σ为所述RBF核函数的宽度参数,控制函数的径向作用范围,其计算公式为其中M为训练样本中根据经验选定均匀分布的中心的个数,d为这些中心的间距。
在本发明所提供的多视点视频快速编码模式选择方法中,所述的两层SVM分类器的搭建,包括下述步骤:
3.1、第一层分类器将SKIP编码模式和Inter16x16编码模式分离出来。如果当前宏块被划分入{SKIP,Inter16x16}编码模式集合,则仅对当前宏块使用SKIP编码模式和Inter16x16编码模式进行预测。即,第一层分类器用以识别同质、平坦区域的宏块;
3.2、第二层分类器将Inter16x8编码模式和Inter8x16编码模式分离出来。如果当前宏块被划入为{Inter16x8,Inter8x16}编码模式集合,则仅对当前宏块使用Inter16x8编码模式和Inter8x16编码模式进行预测,否则采用Inter8x8编码模式,Intra16x16编码模式,Intra8x8编码模式和Intra4x4编码模式进行预测。即第二层分类器是用以识别较大块编码模式的宏块。
在实际的使用中,首先读入多视点视频序列,输入的视频序列需为YUV格式,计算机读入视频数据后,由于本发明需使用序列中的编码信息,因此首先利用JMVC多视点视频编码软件对序列的两个视点都进行编码,并在编码的同时提取编码信息,构建分类器模型,然后调用本发明中提到的方法来完成对多视点视频具体的快速编码工作。
本发明针对多视点视频右视点中除锚定帧以外的所有帧的宏块,设计编码模式选择快速预测方法,右视点中每个锚定帧仍然采用全编码模式搜索方法以保证编码效果。图6是本发明方法流程图,其具体实施步骤如下:
实验中使用的视频序列为多视点国际标准测试视频序列“ballroom”序列,“exit”序列,“race1”序列和“flamenco2”序列。本实验选取“ballroom”序列作为训练序列,分别选取“race1”序列,“exit”序列以及“flamenco2”序列作为测试序列。分别从ballroom_0.yuv文件、race1_0.yuv文件、flamenco2_0.yuv文件、exit_0.yuv文件中选取41帧图像作为各序列的左视点,在编码时构成所述各序列的参考视点S0,再分别选取ballroom_1.yuv文件、race1_1.yuv文件、flamenco2_1.yuv文件、exit_1.yuv文件中的41帧图像作为各序列的右视点,在编码时构成所述各序列的当前视点S1。首先利用JMVC7.2软件对序列的左、右视点均进行传统的全编码模式搜索编码方法以得到编码信息,然后利用这些编码信息训练SVM分类器模型,最终采用本发明提出的方法对序列的右视点进行快速编码,使得原始的全编码模式搜索方法使用的率失真优化方法提前终止,降低了编码复杂度。。
具体实施中,在计算机中完成以下程序:
第一步:首先利用JMVC软件,按照配置文件中的参数配置编码器,然后读入多视点视频序列,并以传统的全编码模式搜索方法先对视频序列的左、右视点分别进行编码,在编码过程中提取编码信息并将其写入TXT格式的外部文件中;
第二步:读取TXT文件中的编码信息,包括:当前进行编码的原始块数据与已经编码重建的参考块数据的差值平方和(SSD,Sum of Squared Difference)、宏块残差编码模式(CBP,Coded Block Pattern)、宏块运动矢量L0和L1、宏块编码模式Mode以及参考帧;
第三步:利用上一步得到的编码信息为支持向量机分类器模型选取特征矢量,步骤如下:
1)第一层分类器特征向量:考虑到参考视点S0与当前视点S1有很强的相关性,并且由于SSD和CBP能够反映编码时宏块预测的错误量以及编码残差状态,因此本发明选择左视点(即参考视点S0)中相同时刻对应宏块(在参考视点S0中,与当前视点即右视点S1中各当前编码宏块所处相同位置的各宏块)的SSD及CBP作为特征向量之一;另外,将各当前编码宏块在左视点中对应宏块的周边八个宏块(结构图如图4所示)的平均SSD也作为特征向量之一;除此之外,实验数据表明,在当前编码宏块于左视点中的对应宏块及其相邻宏块中使用频率最高的宏块编码模式往往就是通过率失真优化方法计算获得的最优编码模式,因此本发明选择当前编码宏块在左视点中所对应的宏块及其八个相邻宏块中的使用次数最多的编码模式作为特征向量之一;还要考虑到当前视点中在当前编码宏块之前已编码宏块的编码信息,因此还将当前宏块的左上块、上边块、左边块三个已编码宏块(结构图如图5所示)的平均SSD作为特征向量之一;当前编码宏块前一已编码宏块的运动矢量也作为特征向量之一;
2)第二层分类器特征向量:考虑到左视点与当前视点的相关性,以及使用频率最高的宏块编码模式可能就是最优编码模式的特点,本发明选择当前编码宏块在左视点中的对应宏块及周边八个相邻宏块,当前编码宏块在当前视点S1中左上、上、左边已编码的三个宏块使用次数最多的宏块编码模式作为特征向量之一;此外当前编码宏块前一已编码宏块的SSD和CBP也作为特征向量之一;考虑到同一视点内部相邻帧之间的相关性,本发明将当前编码宏块在前一帧(即前一时刻)所对应宏块(当前帧中当前编码宏块在前一帧中所处相同位置的宏块)使用的宏块编码模式,以及在左视点中前一帧所对应宏块(当前帧中当前编码宏块在左视点中的对应宏块,在前一帧中所处相同位置的宏块)使用的宏块编码模式作为特征向量;另外,将在左视点中的对应宏块使用的参考帧也作为特征向量之一;
第四步:选择支持向量机核函数。采用默认的RBF核函数,即径向基函数(Radial BasisFunction),记为k(‖x-xc‖),使用其中最常用的高斯核函数,形式为k(‖x-xc‖)=exp{-‖x-xc‖2/2σ2},其中,x为所述RBF核函数的坐标变量,xc为所述RBF核函数的中心,‖□‖表示欧式范数,σ为所述RBF核函数的宽度参数,控制函数的径向作用范围,其计算公式为其中M为训练样本中根据经验选定均匀分布的中心的个数,d为这些中心的间距;
第五步:搭建两层SVM分类器,包括下述步骤:
1)第一层分类器将属于{SKIP,Inter16x16}编码模式集合中的一个编码模式分离出来。即,第一层分类器用以识别同质、平坦区域的宏块;
2)第二层分类器将上一层分类器划分出的{SKIP,Inter16x16}编码模式集合之外的编码模式中,属于{Inter16x8,Inter8x16}编码模式集合中的一个编码模式分离出来。即,第二层分类器是用以识别较大块编码模式的宏块;
第六步:通过两层SVM分类器对多视点视频中宏块编码模式进行优化分类,减少宏块编码的预测模式,且将经过SVM分类器分类后的宏块编码模式记录为TXT格式的外部文件并存储;
第七步:再次通过JMVC软件,并利用本发明优化后的宏块编码模式分类方法对多视点视频测试序列的右视点进行编码;
第八步:在JMVC多视点编码软件中进行判断,如果当前编码宏块是锚定帧中的宏块,则采用原始全编码模式搜索方法,否则进行下一步;
第九步:读取第一层SVM分类器的分类结果,如果此时的分类结果为{SKIP,Inter16x16}编码模式集合中之一的编码模式,则仅对当前宏块使用SKIP编码模式和Inter16x16编码模式分别进行预测,并分别计算各编码模式的率失真代价,选取率失真代价最小的作为当前宏块的最优编码模式;否则进行下一步;
第十步:读取第二层SVM分类器的分类结果,如果此时的分类结果为{Inter16x8,Inter8x16}编码模式集合中之一的编码模式,则仅对当前宏块使用Inter16x8编码模式和Inter8x16编码模式分别进行预测,并计算各编码模式的率失真代价,选取率失真代价最小的作为当前宏块的最优编码模式,否则采用Inter8x8编码模式,Intra16x16编码模式,Intra8x8编码模式和Intra4x4编码模式分别进行预测,并分别计算各编码模式的率失真代价,选取率失真代价最小的作为当前宏块的最优编码模式;
第十一步:判断当前帧中是否还有未编码块,若还有未编码块,则跳转至第九步,开始对当前编码宏块的下一宏块进行编码;如果当前帧中所有块都编码完毕,则判断当前视点中是否还有未编码帧,如果还有未编码帧,则跳转至第八步,开始编码当前帧的下一帧;如果当前视点的所有帧都编码完毕,则对当前视点的编码过程结束。本发明使得原始的全编码模式搜索方法使用的率失真优化方法提前终止,降低了编码复杂度。
为了检验本发明所提出的方法的性能,将本发明的方法与遍历全编码模式的全搜索方法进行比较。实验平台采用多视点视频编码的模型JMVC7.2,量化参数QP设置为22、27、32、37,运动估计和视差估计搜索窗口大小为96x96,分别从ballroom_0.yuv文件、race1_0.yuv文件、flamenco2_0.yuv文件、exit_0.yuv文件中选取41帧图像作为各序列的左视点,在编码时构成所述各序列的参考视点S0,再分别选取ballroom_1.yuv文件、race1_1.yuv文件、flamenco2_1.yuv文件、exit_1.yuv文件中的41帧图像作为各序列的右视点,在编码时构成所述各序列的当前视点S1。左视点采用传统的全搜索方式进行编码,右视点采用本发明的快速宏块编码模式选择编码方法进行编码,各个序列的分辨率都为640×480。本实验支持向量机训练和预测使用的是libSVM软件包。所有实验在配置为Intel(R)Pentium(R)4 CPU 3.00GHz2.99GHz,1.00GB内存的PC机上独立执行。
表1为不同方法的编码结果比较,图7为exit序列不同方法的率失真曲线示意图。可以看出,本文方法与JMVC全编码模式搜索相比,平均节省76.69%的运算时间,并保证PSNR仅下降0.14dB,比特率增加2.41%。
表1 提出方法与JMVC的性能比较
Claims (1)
1.一种面向多视点视频的快速编码方法,其特征在于,是在计算机中依次按以下步骤仿真实现的:
步骤(1),计算机初始化:
设置:按全编码模式搜索方法对选定的参考视点S0以及当前视点S1进行编码的JMVC软件,以其中的多视点视频编码模型JMVC7.2软件作为实验平台,量化参数QP设置为22、27、32和37,运动估计和视差估计搜索窗口大小为96×96,
支持向量机训练和预测使用libSVM软件包,
YUV格式的多视点国际标准测试视频序列ballroom序列作为训练序列,race1序列、flamenco2序列、exit序列作为测试序列,分别从ballroom_0.yuv文件、race1_0.yuv文件、flamenco2_0.yuv文件、exit_0.yuv文件中选取41帧图像作为各序列的左视点,在编码时构成所述各序列的参考视点S0,再分别选取ballroom_1.yuv文件、race1_1.yuv文件、flamenco2_1.yuv文件、exit_1.yuv文件中的41帧图像作为各序列的右视点,在编码时构成所述各序列的当前视点S1;
步骤(2),利用所述的JMVC多视点视频编码软件对从所述的YUV格式的多视点国际标准测试视频序列ballroom序列、race1序列、flamenco2序列、exit序列中分别选取的所述左视点和右视点按全编码模式搜索方法进行编码,并同时提取编码信息,包括:当前进行编码的宏块中各原始数据与相对应的已经编码重建的参考帧内宏块中各数据的差值平方和SSD、宏块残差编码模式CBP、宏块前向运动矢量L0和宏块后向运动矢量L1、宏块编码模式MODE以及所述当前编码帧所对应的参考帧;
步骤(3),对所述多视点视频中除每个图像组(GOP,Group of Pictures)中的第一帧即锚定帧以外的所有帧的宏块按编码模式选择快速预测方法进行编码,其步骤如下:
步骤(3.1),利用步骤(2)得到的编码信息为支持向量机分类器模型选取特征向量:
步骤(3.1.1),第一层分类器的特征向量,表述如下:
在所述左视点中与相对应的所述右视点中的各当前编码宏块所处相同位置的各宏块的宏块残差编码模式CBP和差值平方和SSD,各当前编码宏块在所述左视点中对应的各宏块的周边八个宏块的平均的差值平方和SSD,各当前编码宏块在所述左视点中所对应的各个宏块和其八个相邻宏块中的使用次数最多的编码模式,各当前编码宏块的左上、上边、左边方向三个已编码宏块的平均的差值平方和SSD,在所述右视点中各当前编码宏块前一个已编码宏块的运动矢量;
步骤(3.1.2),第二层分类器的特征向量,表述如下:
各当前编码宏块在左视点S0中的对应宏块及周边八个相邻宏块、各当前编码宏块在右视点S1中的左上、上边、左边已编码的三个宏块组成的集合中使用次数最多的宏块编码模式,各当前编码宏块前一个已编码宏块的差值平方和SSD和宏块残差编码模式CBP,在前一帧内与当前编码宏块所处相同位置的宏块使用的宏块编码模式,在所述右视点中与当前帧中的当前编码宏块所处位置相同的这一个宏块其在前一帧中处于相同位置的宏块所使用的宏块编码模式;
步骤(3.1.3),采用默认的RBF核函数,也称径向基函数,为支持向量机核函数,记为k(‖x-xc‖),并使用最常用的高斯核函数,形式为k(‖x-xc‖)=exp{-‖x-xc‖22σ2},其中,x为所述RBF核函数的坐标变量,xc为所述RBF核函数的中心,‖□‖表示欧式范数,σ为所述RBF核函数的宽度参数,计算公式为其中M为训练样本中根据经验选定均匀分布的中心的个数,d为这些中心的间距;
步骤(3.1.4),按以下步骤搭建两层SVM分类器:
步骤(3.1.4.1),第一层分类器把属于{SKIP,Inter16x16}编码模式集合中的一个编码模式分离出来,用以识别同质、平坦区域的宏块;
步骤(3.1.4.2),第二层分类器再把属于{Inter16x8,Inter8x16}编码模式集合中的一个编码模式分离出来,以识别较大编码模式的宏块;
步骤(3.1.5),依次通过所述两层SVM分类器对多视点视频中的宏块编码模式进行优化分类,以减少宏块预测模式,并把分类后的宏块编码模式记录为TXT格式的外部文件存储;
步骤(3.1.6),再次通过JMVC软件,以步骤(3.1.5)中优化后的宏块编码模式分类结果对所述多视点视频测试序列race1序列,flamenco2序列,exit序列的各个右视点进行编码,若当前编码帧为锚定帧则采用所述全编码模式搜索方法;
步骤(3.1.7),读取第一层分类器的分类结果,若属于{SKIP,Inter16x16}编码模式集合中之一的编码模式,则仅对当前编码宏块使用SKIP编码模式和Inter16x16编码模式分别进行编码,并计算各编码模式的率失真代价,选取率失真代价最小的作为当前编码宏块的最佳编码模式;否则,执行步骤(3.1.8);
步骤(3.1.8),读取第二层分类器的分类结果,若属于{Inter16x8,Inter8x16}编码模式集合中之一的编码模式,则仅对当前编码宏块使用Inter16x8编码模式和Inter8x16编码模式分别进行编码,并计算各编码模式的率失真代价,选取率失真代价最小的作为当前编码宏块的最佳编码模式;否则,采用Inter8x8编码模式、Intra16x16编码模式、Intra8x8编码模式和Intra4x4编码模式分别进行编码,并计算各编码模式的率失真代价,选取率失真代价最小的作为当前编码宏块的最佳编码模式;
步骤(3.1.9),判断当前帧中是否还有未编码的宏块,若有,跳转并执行步骤(3.1.7),对当前编码宏块的下一宏块进行编码,若没有,则判断当前的右视点中是否还有未编码帧,若有,则跳转并执行步骤(3.1.6),对当前帧的下一帧进行编码,若没有,则对当前的右视点编码结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110421038 CN102420990B (zh) | 2011-12-15 | 2011-12-15 | 一种面向多视点视频的快速编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110421038 CN102420990B (zh) | 2011-12-15 | 2011-12-15 | 一种面向多视点视频的快速编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102420990A CN102420990A (zh) | 2012-04-18 |
CN102420990B true CN102420990B (zh) | 2013-07-10 |
Family
ID=45945199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110421038 Active CN102420990B (zh) | 2011-12-15 | 2011-12-15 | 一种面向多视点视频的快速编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102420990B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533324B (zh) * | 2012-07-03 | 2017-04-05 | 乐金电子(中国)研究开发中心有限公司 | 一种深度图像帧内编码方法、装置及编码器 |
CN103533349A (zh) * | 2013-09-26 | 2014-01-22 | 广东电网公司电力科学研究院 | 基于支持向量机的b帧快速帧间预测宏块模式选择方法 |
CN104768019B (zh) * | 2015-04-01 | 2017-08-11 | 北京工业大学 | 一种面向多纹理多深度视频的相邻视差矢量获取方法 |
CN105430415B (zh) * | 2015-12-02 | 2018-02-27 | 宁波大学 | 一种3d‑hevc深度视频帧内快速编码方法 |
CN106713929B (zh) * | 2017-02-16 | 2019-06-28 | 清华大学深圳研究生院 | 一种基于深度神经网络的视频帧间预测增强方法 |
CN108737841B (zh) * | 2017-04-21 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 编码单元深度确定方法及装置 |
CN113507448B (zh) * | 2021-06-17 | 2022-05-17 | 中国汽车技术研究中心有限公司 | 安全访问服务认证方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101600108A (zh) * | 2009-06-26 | 2009-12-09 | 北京工业大学 | 一种多视点视频编码中的运动和视差联合估计方法 |
CN102025999A (zh) * | 2010-12-31 | 2011-04-20 | 北京工业大学 | 基于支持向量机的视频转码快速帧内预测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI280803B (en) * | 2005-07-20 | 2007-05-01 | Novatek Microelectronics Corp | Method and apparatus for motion estimation |
-
2011
- 2011-12-15 CN CN 201110421038 patent/CN102420990B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101600108A (zh) * | 2009-06-26 | 2009-12-09 | 北京工业大学 | 一种多视点视频编码中的运动和视差联合估计方法 |
CN102025999A (zh) * | 2010-12-31 | 2011-04-20 | 北京工业大学 | 基于支持向量机的视频转码快速帧内预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102420990A (zh) | 2012-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102420990B (zh) | 一种面向多视点视频的快速编码方法 | |
CN103873861B (zh) | 一种用于hevc的编码模式选择方法 | |
CN102948149B (zh) | 视频编码/解码设备和方法 | |
CN100461867C (zh) | 一种帧内图像预测编码方法 | |
CN105681795B (zh) | 用于对帧序列进行视频编码的方法和编码器 | |
TWI538487B (zh) | 螢幕視訊之預測編碼的方法與系統 | |
CN103891290A (zh) | 运动矢量处理 | |
CN103765891A (zh) | 用于解码合并模式下的运动信息的装置 | |
CN103338370B (zh) | 一种多视点深度视频快速编码方法 | |
CN102025995B (zh) | 一种可伸缩视频编码的空间增强层快速模式选择方法 | |
CN104869400A (zh) | 视频数据的解码方法 | |
CN104301739A (zh) | 多视点视频编码方法 | |
CN103098467A (zh) | 用于对运动矢量进行编码和解码的方法和设备 | |
CN110460857A (zh) | 视频解码方法、设备以及计算机可读存储介质 | |
CN105325000A (zh) | 图像编码装置、图像编码方法、图像解码装置和图像解码方法 | |
CN103634606A (zh) | 视频编码方法和装置 | |
CN101888546B (zh) | 一种运动估计的方法及装置 | |
CN105556972A (zh) | 用于层间视频解码和编码设备和方法的对深度图像的场景内预测方法 | |
IL279793B1 (en) | An inter-prediction method based on blending mode and device | |
CN103370934A (zh) | 多视点视频编码/解码装置和方法 | |
CN108777794A (zh) | 图像的编码方法和装置、存储介质、电子装置 | |
CN112055203A (zh) | 帧间预测方法、视频编码方法及其相关装置 | |
CN104539970A (zh) | 一种3d-hevc帧间编码合并模式快速决策方法 | |
CN104919799A (zh) | 用于三维视频编解码的从深度到视差矢量转换的方法和装置 | |
KR100947447B1 (ko) | 다시점 동영상 부호화에서 고속 모드 결정 방법 및 장치 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221104 Address after: 100012 817, Floor 8, No. 101, Floor 3 to 8, Building 17, Rongchuang Road, Chaoyang District, Beijing Patentee after: Beijing Ge Lei Information Technology Co.,Ltd. Address before: 100124 No. 100 Chaoyang District Ping Tian Park, Beijing Patentee before: Beijing University of Technology |
|
TR01 | Transfer of patent right |