一种减少hevc编码器中帧内编码时延的方法

文档序号:9380968阅读:1055来源:国知局
一种减少hevc编码器中帧内编码时延的方法
【技术领域】
[0001] 本发明涉及视频通信技术领域,尤其涉及一种减少HEVC编码器中帧内编码时延 的方法。
【背景技术】
[0002] 近年来,全球信息产业发展迅速,多媒体处理技术逐步与网络通讯技术相融合,触 及了国民经济和社会生活的各个方面,消费类电子、通信、影视及广播、计算机技术日益紧 密地结合起来,使得基于互联网的多媒体产业成为现在发展最快、规模最大的产业之一。作 为多媒体信息中的重要组成部分,视频信息是最有效和最重要的信息获取形式,其大约占 据了人们日常生活中所接受信息的70%,随着数字电视、网络视频的普及和推广,人们对视 频信息的需求与日倶增,与数字视频相关的应用场景也不断拓宽,如数字电视广播、远程监 控、数字视频点播、无线多媒体通信等。然而,未经压缩的原始视频数据,其数据量之大对于 有限的传输带宽或存储空间都是难以承受的,这就使得视频压缩成为国内外研究和应用的 热点之一。
[0003] 在数字视频应用产业链的快速发展下,面对视频应用不断向高清晰度、高帧率、 高压缩率方向发展的趋势,当前主流的视频压缩标准协议H. 264/AVC的局限性不断凸显, 因此,面向更高清晰度、更高帧率、更高压缩率视频应用的高效视频编码(High Efficient Video Coding,HEVC)协议标准应运而生,HEVC也被称为Η. 265。HEVC标准主要目标是与上 一代标准Η. 264/AVC实现大幅度的编码效率的提高,尤其是针对高分辨率视频序列,在相 同视频质量下,码率大约降为Η. 264标准的50%。
[0004] HEVC依然沿用Η. 264就开始采用的混合编码框架。包括,通过帧间和帧内预测编 码两种基本编码方法,消除时间域和空间域的相关性;通过变换编码对残差进行变换编码 以消除空间相关性;通过熵编码消除统计上的冗余度。HEVC将在混合编码框架内,着力研 究新的编码工具或技术,提高视频压缩效率。
[0005] 在HEVC标准中,将宏块的大小从Η. 264的16x16扩展到了 64x64,以便于高分辨率 视频的压缩。离散余弦变换(Discrete Cosine Transform,DCT)编码突破8x8,最大能够达 到32x32。对于帧内预测,预测的方向更加细化,多达35种帧内预测(Intra predication) 模式,图1示出了 35种帧内预测模式的情况,这将使帧内预测更加精确,更高效地减少冗 余。帧间预测在插值时采用了更多抽头的滤波器,以及1/4像素精度,来提高帧间预测的精 度。在熵编码方面,使用了适应性更强的CABAC。
[0006] HEVC标准采用了更加灵活的编码结构来提高编码效率,包括编码单元(Coding Unit,QJ)、预测单元(Predict Unit,PU)和变换单元(Transform Unit,TU)。其中编码单 元类似于H. 264中的宏块的概念,用于编码的过程,预测单元是进行预测的基本单元,变换 单元是进行变换和量化的基本单元。这三个单元的分离,使得变换、预测和编码各个处理环 节更加灵活,也有利于各环节的划分更加符合视频图像的纹理特征,有利于各个单元更优 化的完成各自的功能。
[0007] 对于最大编码单元(Largest Code Unit,LCU)为64x64的情况,其内部可根据图 像的复杂性按四叉树的方式分为更小的编码单元。图2示出了一个LCU的可能分割情况。 对每个编码单元,可以进一步分割为更小的预测单元,对每个编码单元预测后产生的残差, 也可以按四叉树的方式用更小的变换单元来表示。
[0008] 对于帧内预测,每个变换单元都会采用其邻近的块的重建结果作为预测参考,当 其邻近块重建结果未能及时获得时,不能对当前块进行预测计算,这种数据依赖是造成帧 内预测编码相关运算单元吞吐量下降的主要原因,也正是由于这种吞吐量的下降,使得整 个帧内编码循环的运行时延增大。图3示出了帧内编码循环框图,该图是将帧内预测循环 从总的编码器框图中抽出来,以更加明确帧内循环存在的数据依赖,由图可见,帧内预测模 块不仅需要当前单元的预测模式,还需要之前的编码单元的重建图像结果,而之前编码单 元的重建图像结果,只有通过帧内预测、变换量化和反量化反变换三个阶段才能获得最终 的结果,所以,这种数据依赖不仅造成的这三个运算单元的运算吞吐量不足,而且使整个编 码过程的时延增大。
[0009] 在设计图像编码器的硬件或并行软件时,会采用流水线的方式顺序完成一个最大 编码单元的各步运算,达到模块级的并行。整个系统的运算速度时由流水线中时延最大的 模块决定的。当图像尺寸比较小时,处理一个最大编码单元的时延尚不成为实时编码的瓶 颈,但是针对大尺寸图像的编码,这种时延就成为实时编码的主要瓶颈。只有减少这个时 延,才能实现用单核完成大尺寸图像的实时编码。而HEVC编码中,帧内编码循环是涉及模 块最多的、并且内部有较大的数据依赖的运算单元组,因此,减少其时延具有重要的实践意 义。

【发明内容】

[0010] 本发明所要解决的技术问题在于如何克服HEVC标准中帧内编码中由于相互依赖 而造成的运算单元吞吐量下降,本发明所要达到的目标是减少帧内编码时延。
[0011] 为了解决上述技术问题,本发明提供了一种减少HEVC编码器中帧内编码时延的 方法,包括以下步骤:
[0012] S1、对待编码的最大编码单元做模式决策,获得其所有子编码单元分割结果和预 测模式决策结果;
[0013] S2、将待编码的最大编码单元所选择的所有子编码单元分割结果和预测模式决策 结果发送至调度器;
[0014] S3、调度器通过反向触发标记的方法生成当前编码单元的基本单元的数据依赖 图;
[0015] S4、根据所述数据依赖图产生帧内编码单元的运算结果;
[0016] S5、调度器根据所述运算结果向下一个帧内编码单元输入所需数据,并触发下一 个帧内编码单元运行;
[0017] S6、当所有编码单元进入帧内编码模块后,完成当前最大编码单元的处理,继续下 一个编码单元的处理。
[0018] 进一步地,步骤S3中的反向触发标记的方法是以最大编码单元的所有子编码单 元分割结果和预测模式决策结果为基础,并包括以下步骤:
[0019] 步骤一、判断当前编码单元Tu(η)是否需要另一编码单元Tu(x)的重建图像元素, 若需要,则将Tu (η)作为Tu(X)的触发端之一;
[0020] 步骤二、通过遍历所有的编码单元记录Tu(X)的所有触发端,根据所有触发端建 立Tu(X)的依赖列表,并记录Tu(X)所需的触发源的数量;
[0021] 步骤三、根据Tu(X)的所有触发端及Tu(X)所需的触发源的数量构建Tu(X)的数 据依赖图。
[0022] 具体地,在步骤一中还包括事先建立依赖查找表,所述依赖查找表通过参考当前 块的大小和预测模式来获得可能的数据依赖块的坐标,根据所述依赖列表能够快速查找可 能的数据依赖关系;若编码单元Tu(X)不依赖任何一个编码单元,则将其放入单独的序列 Tu_Ii 中。
[0023] 其中,所述依赖列表是指在分析依赖过程中动态创建的一个列表。
[0024] 具体地,所述编码单元包括亮度和色度分量,所述亮度采用二维数组 MarkUO. .. i] [0. .. i]进行编号,并将所述编号作为亮度
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1