法律状态公告日
法律状态信息
法律状态
2016-08-24
授权
授权
2014-01-22
实质审查的生效 IPC(主分类):H04N7/26 申请日:20130911
实质审查的生效
2013-12-25
公开
公开
技术领域
本发明涉及视频转码领域,具体来说是一种基于统计分析的由H264 到HEVC低复杂度视频转码方法。
背景技术
视频编码技术发展的趋势之一是追求更高的编码效率,H.264视频编 码标准在提高编码效率以及编码灵活性方面取得了巨大成功,它使数字视 频有效地应用在各种各样的网络类型和工程领域,然而,多样化的服务、 高清视频的普及、以及超高清格式(4K×2K或8K×4K分辨率)的出现对比 H.264编码效率更高的下一代视频编码标准提出了强烈的需求。
在这样的背景下,MPEG和VCEG组织于2010年成立了视频编码联合 协作小组(JCT-VC),经过多年的努力研发出了H.264标准的继承者,新一 代视频编码标准HEVC。
与H.264相比,HEVC虽然可以在相似的视频感知质量下节省高达约 50%的比特率,但由于H.264广泛而深入的应用,在相当长一段时间内, 这两个技术需要共存,因此H.264到HEVC的转码在网络传输和存储方面具 有重要的现实意义。
HEVC为了提高编码效率,引入了一系列相当耗时的编码算法,给实 时视频转码应用带来了新的挑战,针对HEVC编码算法特性,在转码过程 中充分利用H.264码流信息来加速转码中HEVC重编码过程是提高转码器 性能的关键之一。
H.264与HEVC最大的不同在于HEVC采用基于自适应四叉树结构的 编码树单元(CTU),替代了H.264基于宏块的编码单元;此外,H.264的帧 间预测编码只支持7种宏块分割模式:16×16、16×8、8×16、8×8、8×4、4×8 和4×4,而HEVC不仅支持这些对称的分割模式,称为2N×2N、2N×N和 N×2N,而且还支持非对称的分割模式,称为:2N×nU、2N×nD、nL×2N 和nR×2N(其中nU、nD、nL和nR分别对应上下1∶3,上下3∶1,左右1∶3和 左右3∶1的矩形分割方式)。
相比H.264固定宏块大小的编码单元,HEVC对编码图像的划分更为灵 活,从而提供了更好的视频图像质量,这种差异性也直接导致了H.264到 HEVC转码的高复杂度。
视频转码器目前主要包括异构转码器、空间分辨率转码器、帧率转码 器和码率转码器4种,其中异构转码器是不同类别压缩视频流之间的转换, 如MPEG-2到H.264、MPEG-4到H.264等,这类转码相比同类视频流间的转 换,需要考虑更多的问题。
从实现角度考虑,转码器基本可以分为频域转码器和时域转码器两 类,前者先将压缩视频流部分解码至压缩系数域,然后再使用目标格式的 编码器直接对系数进行重新编码,这种结构的优点是计算量小,转码速度 快,缺点是引入了错误漂移,转码视频质量损失较大;后者将压缩视频流 充分解码至像素域,然后根据不同的要求,再使用目标格式的编码器重新 编码,这种结构的优点是转码视频质量高,处理灵活,不会引入错误漂移, 缺点是计算量大,复杂度高。
HEVC作为当前最新的编码标准,与以往的编码标准相比,有着更高 的压缩效率,转码到HEVC编码标准的主要目的正是为了在保证视频质量 的同时降低码率,因此,时域转码器是重点研究的对象,如何在重新编码 阶段尽可能重用解码阶段已有的信息以优化编码环节,在保证视频质量的 同时,提高转码速度是研究热点之一。
然而目前关于H.264到HEVC的快速转码算法还处于起步阶段,大部分 已有工作还仅是针对H.264的转码算法,其中主要集中在利用输入视频的 纹理和运动信息来进行快速模式选择和运动估计。
其中,Fernández-Escribano等人创造性地提出了使用机器学习和数据 挖掘工具来降低MPEG-2到H.264转码复杂度的新方法,但是这些算法并不 能直接有效的适用于HEVC的转码,最近已有学者对HEVC编码快速算法 展开研究,比如Lee等人通过使用参考帧或前一帧中的相同位置编码树结 构来预测当前编码树单元的分割结构,有效地加速了编码过程。
此外,还有针对HEVC残差四叉树编码的快速算法,和HEVC运动估 计快速算法.这些算法都有效地降低了HEVC编码的计算复杂度,同时保 持了良好的率失真性能,然而这些算法没有利用码流信息,还不能很好的 降低H.264到HEVC的转码器的计算复杂度。
因此,若能结合H.264和HEVC算法的相似性,找出H.264码流信息与 HEVC重编码结果之间的关系,并利用其来指导和优化HEVC重编码过程, 将会大幅降低整个转码流程的计算复杂度。
发明内容
本发明提供了一种基于统计分析的由H.264到HEVC低复杂度视频转 码方法,能够显著提升H.264到HEVC低复杂度视频转码的速度,并确保得 到较低的率失真,具有很强的实用性。
一种基于统计分析的由H.264到HEVC低复杂度视频转码方法,包括以 下步骤:
(1)输入原始H.264视频流,并对该视频流进行解码,在解码过程中, 提取出当前解码帧的宏块编码比特数、宏块编码模式以及运动矢量场;
(2)利用步骤(1)中提取的宏块编码比特数将HEVC编码树单元覆 盖的区域对应至当前解码帧的各个宏块,计算每个区域的编码复杂度,并 依据编码复杂度确定每个HEVC编码树单元的搜索深度范围;
(3)针对每个编码树单元,按照对应的搜索深度范围逐级进行运动 估计,而后进行相应的HEVC重编码;
在每一级的运动估计过程中,执行如下步骤:
3-1、利用步骤(1)中提取的宏块编码模式,对预测单元进行Skip模 式的提前判决(仅针对64×64和32×32大小的预测单元进行Skip模式的提前 判决),若预测单元的模式分值小于设定的阈值,则该预测单元被提前判 定为Skip模式,即按照Skip模式HEVC重编码;
若预测单元的模式分值大于设定的阈值,则进行其他模式的判定,若 被判定为Intra模式,即按照Intra模式HEVC重编码;若被判定为Inter模式, 则进行步骤3-2;
3-2、利用宏块编码比特数选择预测单元的分割模式,
其中,PU(n)为预测单元的第n种分割模式;
β为常数,用来权衡编码视频质量和编码时间节省,对称分割时,β 取5;非对称分割时,β取20;
PUdiff(n)为第n种分割模式下,两个部分的宏块编码比特数的平均值之 差;
PUvar(l)为第l个预测单元对应的编码区域中宏块编码比特数的方差;
去除PU(n)=false所对应的分割模式,仅对PU(n)=true所对应的分割模 式进行步骤3-3;
3-3、将每个预测单元按照保留的各种分割模式进行运动搜索,选择 失真率最小的分割模式,以及该分割模式相应的运动矢量进行HEVC重编 码。
作为优选,所述步骤(2)中计算每个区域的编码复杂度,计算规则 如下:
其中,R(k)为编码复杂度;
k为区域的编号;
CTUBavg(k)为每个编码树单元的平均宏块编码比特数;
FBavg为当前解码帧的平均宏块编码比特数;
(1-α)*FBavg和(1+α)*FBavg为分割阈值;α为常数,用于权衡编码视 频质量和编码时间,α取值0.7;
H、M、L分别代表编码复杂度高、中、低三个类型。
编码树单元是指HEVC编码的基本结构,编码树单元上的每个节点按 照区域位置可以对应至当前解码帧中的若干宏块,实际进行转码操作时, 每个编码树单元的节点对应一个预测单元,编码树单元和预测单元都可以 对应至当前解码帧中的编码区域,编码树单元的编码复杂度计算方法,同 样适用于预测单元的编码复杂度。
作为优选,所述步骤(2)中依据编码复杂度确定每个HEVC编码树单 元的搜索深度范围,确定规则如下:
其中,DR(k)代表第k个编码树单元的搜索深度范围,DR(k)可取值为0、 1、2和3,0对应的预测单元的大小为64×64;1对应的预测单元的大小为 32×32;2对应的预测单元的大小为16×16;3对应的预测单元的大小为8×8。
例如,[0,2]意味着进行运动搜索时,依次搜索64×64、32×32和16×16。
作为优选,所述步骤3-1中预测单元的模式分值的计算公式如下:
其中,MS为模式分值;
NSKIP为预测单元对应的编码区域中模式为Skip的宏块个数;
NINTRA为预测单元对应的编码区域中模式为Intra的宏块个数;
SSKIP、SINTER和SINTRA是不同模式相应的模式分值;
WR是不同编码区域的权重系数,确定公式如下:
其中,RPU(k)为预测单元对应的编码复杂度。
作为优选,所述步骤3-2中,利用宏块编码比特数选择预测单元的分 割模式时,具体计算公式如下:
其中,RPi为预测单元的每种分割模式中,第i部分所对应的编码区域, i取0或1;
NPi为预测单元的每种分割模式中,第i部分所对应的编码区域RPi中的 宏块个数;
为预测单元的每种分割模式中,第i部分中所有宏块的宏 块编码比特数之和;
RPU为预测单元所对应的编码区域;
ParBitsavg(m)是预测单元的每种分割模式中,各部分对应的编码区域 的平均宏块编码比特数;
PUdiff(n)是预测单元的第n种分割模式中,两个部分的平均宏块编码比 特数之差;
PUvar(l)为第l个预测单元对应的编码区域中宏块编码比特数的方差;
PUBitsavg(l)是第l个预测单元对应编码区域中宏块编码比特数的平均 值。
作为优选,所述步骤3-3中将每个预测单元按照保留的各种分割模式 进行运动搜索时,利用步骤(1)中获得的H.264码流中的运动矢量确定 HEVC的搜索起点和搜索范围,其中搜索起点由下式决定:
式中,RPi是每种预测单元的分割模式中第i部分对应的编码区域;
为分割模式中,第i部分中所有宏块的 运动矢量中值;
搜索范围由下式决定:
SRPU(n)=max{SRO/4,MVmax(n)}
其中,RPU(n)为第n个预测单元所对应的编码区域;
SRO是预先设定的原始搜索范围;
为分割模式中,第i部分中所有宏块的运动矢量x方向 上的最大值;
为分割模式中,第i部分中所有宏块的运动矢量y方向上 的最大值。
步骤3-1仅针对大小为64×64以及大小为32×32的预测单元进行操 作;步骤3-2只针对大小为64×64以及大小为32×32的预测单元进行;步 骤3-2并非步骤3-3的必经步骤。
针对大小为64×64和32×32的预测单元,依次进行步骤3-1、3-2和3-3, 针对大小为16×16和8×8的预测单元,直接进行步骤3-3,本发明方法中 没有优化的转码过程都采用现有技术进行操作。
本发明基于统计分析的由H.264到HEVC低复杂度视频转码方法,能够 显著提升H.264到HEVC低复杂度视频转码的速度,并确保得到较低的率失 真,具有很强的实用性。
附图说明
图1为本发明基于统计分析的由H.264到HEVC低复杂度视频转码方法 的流程图;
图2为本发明基于统计分析的由H.264到HEVC低复杂度视频转码方法 的BQTerrace序列在不同QP(量化系数)配置下的编码复杂度区域分割结 果;其中(a)为原始帧,(b)量化系数为22,(c)量化系数为27,(d) 量化系数为32;
图3为本发明在RA编码环境配置下的率失真表现对比;(e)为 ParkScene序列,(f)为Cactus序列(g)为BQTerrace序列(h)为BasketballDrive 序列;Proposed为本发明方法的率失真;HM8.0为现有标准技术。
图4为本发明在LDP编码环境配置下的率失真表现对比:(i)为 ParkScene序列,(j)为Cactus序列(k)为BQTerrace序列(l)为BasketballDrive 序列。
具体实施方式
下面结合附图,对本发明基于统计分析的由H.264到HEVC低复杂度视 频转码方法做详细描述。
如图1所示,一种基于统计分析的由H.264到HEVC低复杂度视频转码 方法,包括以下步骤:
(1)输入原始H.264视频流,并对该视频流进行解码,在解码过程中, 提取出当前解码帧的宏块编码比特数、宏块编码模式以及运动矢量场;
就解码过程本身而言,可以采用现有技术,本发明由于在后续过程中 的计算需要,在此强调了宏块编码比特数、宏块编码模式以及运动矢量场 这三类信息的获取。
(2)进行编码时,结合HEVC的特点,利用步骤(1)中提取的宏块 编码比特数将HEVC编码树单元覆盖的区域对应至当前解码帧的各个宏 块,即将当前解码帧的各个宏块划分为若干区域,每个区域对应一个HEVC 编码树单元,再计算每个区域的编码复杂度,并依据编码复杂度确定每个 HEVC编码树单元的搜索深度范围;
其中,计算每个HEVC编码树单元覆盖的区域的编码复杂度时,计算 规则如下:
其中,R(k)为编码复杂度;
k为区域的编号;
CTUBavg(k)为每个编码树单元的平均宏块编码比特数;
FBavg为当前解码帧的平均宏块编码比特数;
(1-α)*FBavg和(1+α)*FBavg为分割阈值;α取值0.7;
H代表编码复杂度高;
M代表编码复杂度中;
L代表编码复杂度低;
依据不同HEVC编码树单元覆盖的区域的编码复杂度,确定每个 HEVC编码树单元的搜索深度范围,确定规则如下:
其中,DR(k)代表第k个编码树单元的搜索深度范围,DR(k)可取值为0、 1、2和3。
0对应的预测单元的大小为64×64(像素);
1对应的预测单元的大小为32×32;
2对应的预测单元的大小为16×16;
3对应的预测单元的大小为8×8。
例如,[1,3]意味着在后续进行运动搜索时,依次搜索32×32、16×16 和8×8这三种大小的编码树单元。
(3)针对每个编码树单元,按照对应的搜索深度范围逐级进行运动 估计,而后进行相应的HEVC重编码;
在每一级的运动估计过程中,执行如下步骤:
3-1、利用步骤(1)中提取的宏块编码模式,对每个64×64和32×32大 小的预测单元进行Skip模式的提前判决(对于16×16和8×8大小的预测单元 不执行提前判决,还是按照现有技术进行各个模式的遍历以及后续的编码 步骤),若预测单元的模式分值小于设定的阈值,则该预测单元被提前判 定为Skip模式,即按照Skip模式HEVC重编码;
预测单元的模式分值的计算公式如下:
其中,MS为模式分值;
NSKIP为预测单元对应的编码区域中模式为Skip的宏块个数;
NINTRA为预测单元对应的编码区域中模式为Intra的宏块个数;
SSKIP为模式为Skip的模式分值,取0;
SINTRA为模式为Intra的模式分值,取值为4;
SINTER为模式为Skip的模式分值,计算公式如下:
其中,NINTER(i)为预测单元对应的编码区域中模式为Inter(i)的宏块个 数;
SINTER(i)为模式为Inter的模式分值,具体地,SINTER(0)=1,SINTER(1)=2, SINTER(2)=3。
各模式对应的模式分值,如表1所示。
表1
WR是不同编码区域的权重系数,确定公式如下:
其中,RPU(k)为预测单元对应的编码复杂度。
对于大小为64×64的预测单元,计算出的模式分值小于16,则判定为 Skip模式,对于大小为32×32的预测单元,计算出的模式分值小于4,则判 定为Skip模式;
对于大小为64×64,且模式分值大于16的预测单元以及大小为32×32, 且模式分值大于4的预测单元,依据现有技术进行其他模式的判定,若被 判定为Intra模式,即按照Intra模式HEVC重编码;若被判定为Inter模式, 则进行步骤3-2;
3-2、利用宏块编码比特数选择预测单元的分割模式,具体计算公式 如下:
PUdiff(n)=|ParBitsavg(0)-ParBitsavg(1)|
其中,RPi为预测单元的每种分割模式中,第i部分所对应的编码区域, i取0或1;
NPi为预测单元的每种分割模式中,第i部分所对应的编码区域RPi中的 宏块个数;
为预测单元的每种分割模式中,第i部分中所有宏块的宏 块编码比特数之和;
RPU为预测单元所对应的编码区域;
ParBitsavg(m)是预测单元的每种分割模式中,各部分对应的编码区域 的平均宏块编码比特数;
PUdiff(n)是预测单元的第n种分割模式中,两个部分的平均宏块编码比 特数之差;
PUvar(l)为第l个预测单元对应的编码区域中宏块编码比特数的方差;
PUBitsavg(l)是第l个预测单元对应编码区域中宏块编码比特数的平均 值;
计算完毕后,依据下式判断某种模式是否应该保留:
其中,PU(n)为预测单元的第n种分割模式;
β为常数,对称分割时,β取5;非对称分割时,β取20;
PUdiff(n)为第n种分割模式下,两个部分的宏块编码比特数的平均值之 差;
PUvar(l)为第l个预测单元对应的编码区域中宏块编码比特数的方差;
去除PU(n)=false所对应的分割模式,仅对PU(n)=true所对应的各分割 模式进行进行运动搜索,选择失真率最小的分割模式,以及该分割模式相 应的运动矢量进行HEVC重编码。
由于本发明去除PU(n)=false所对应的分割模式,因此在很大程度上减 少了编码的运算量,合理的简化了流程。
作为进一步的改进,步骤3-2中,每个预测单元按照保留的各种分割 模式进行运动搜索时,采用步骤3-3的运动搜索过程,同理在步骤3-1中, 对于没有执行提前判决的16×16和8×8大小的预测单元,在进行后续的运动 搜索时,也采用步骤3-3的运动搜索过程。
步骤3-1中被判定为SKIP以及INTRA模式的预测单元,不再执行步骤 3-3。
3-3、进行运动搜索时,利用步骤(1)中获得的H.264码流中的运动 矢量确定HEVC的搜索起点和搜索范围,其中搜索起点由下式决定:
式中,RPi是每种预测单元的分割模式中第i部分对应的编码区域;
为分割模式中,第i部分中所有宏块的 运动矢量中值;
搜索范围由下式决定:
SRPU(n)=max{SRO/4,MVmax(n)}
其中,RPU(n)为第n个预测单元所对应的编码区域;
SRO是预先设定的原始搜索范围;
为分割模式中,第i部分中所有宏块 的运动矢量最大值。
表2
由表2中可以看出,采用本发明方法与HM(HEVC的标准参考代码, 下载地址为https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware)和Lee(参 见文献LEE H S,KIM K Y,KIM T R,et al.Fast encoding algorithm based on depth of coding-unit for high efficiency video coding[J].Optical Engineering. 2012,51(6):067402)方法相比,均可以大大缩短转码时间,提高转码效率。
本发明的BQTerrace序列在不同量化系数的配置下的编码复杂度区域 分割结果如图2所示,在RA和LDP编码环境配置下的率失真表现如图3、图 4所示,均能够达到较低的率失真。
机译: 视频转码或使用该视频转码进行视频解码的方法,以及一种能够通过使用编码和解码熵在H.264之间执行转码的计算机可读记录介质
机译: 针对HEVC视频流进行零量化转码的零水印注册与检测方法
机译: 针对HEVC视频流进行零量化转码的零水印注册与检测方法