HEVC/H.265整个程序调用流程分析以及函数复杂度分析

原创 2012年09月04日 18:00:56

HEVC整个程序调用流程:

Encode -> compressGOP -> compressCU

->xCompressCU->copyFromPicYuv

->xCheckRDCostIntra-> initEstData

->xCheckRDCostInter ->xCheckRDCostMerge2Nx2N

->getNumberOfWrittenBits

->copyToPic->xCopyYuv2Pic

 

编码流程可简单画图如下:

 

 

其中帧间以及各层级划分省略.

 由于画图比较繁琐,而且还不一定直观, 下面都按照结构抓图贴出来, 注意所有子函数都是按照函数复杂度排序的.

 

从xCompressCU函数这里开始进行4叉树多层划分嵌套,从下图也能看出.

编码的层次结构:

 

1: 下面分析帧内编码的主要函数:

 

 

进一步展开帧内最耗时estIntraPredQT函数如下:

 

再把xIntraCodingLumaBlk这一层展开如下:

 

2.下面分析帧间编码:

把第2层展开xTZSearch函数如下:

TEncSearch::xEstimateResidualQT函数展开: 也是一个嵌套.

 

TEncSearch::predInterSearch函数展开:

进一步把TEncSearch::xMotionEstimation函数展开:

 

 

把第4层展开 xTZSearch函数如下:

 

 

下面是各个模块在整个编码中的复杂度(占用CPU百分比), 测试按照标准encoder_lowdelay_P_main.cfg来测试!

TEncSearch::encodeResAndCalcRdInterCU

57.22

TEncSearch::xEstimateResidualQT

54.76

TEncCu::xCheckRDCostInter

43.97

TEncCu::xCheckRDCostMerge2Nx2N

28.46

TEncSbac::codeCoeffNxN

25.37

TComTrQuant::transformNxN

20.17

TEncCu::xCheckRDCostIntra

19.04

TComTrQuant::xQuant

16.4

TEncSearch::predInterSearch

14.35

TEncSearch::estIntraPredQT

14.34

TComTrQuant::xRateDistOptQuant

11.84

TEncSearch::xMotionEstimation

9.7

TEncSearch::xTZSearch

8.37

TEncSearch::xRecurIntraCodingQT

8.16

TEncSearch::xTZSearchHelp

7.21

   从表中可以看出: 帧内编码小于20%, I帧间隔大的话,应该是小于10%.

  帧间编码60%左右, xRateDistOptQuant占用11%左右, transform占用5%, xQuant实际占用5%.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

大家分析的结果如何啊,讨论下,看下一步怎么做才能更好的优化出效果了!

 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

H.265(HEVC)深度解析

​​  数字视频的超高清潮流奔腾向前,帧率从30 fps向60fps、120fps甚至240fps进发,与此同时,物理媒介日薄西山,内容正通过有形无形的网络在世界各个角落的终端设备上传递。高度密...
  • xiaojun111111
  • xiaojun111111
  • 2017年03月10日 16:16
  • 374

HEVC/H.265理论知识(8)——熵编码

一、HEVC中熵编码采用的技术 1、零阶(或者k阶)哥伦布指数编码(变长编码,类似于哈夫曼编码那样),主要用于VPS、SPS、PPS、slice头部信息的编码 2、CABAC(算数编码),主要用于数据...
  • NB_vol_1
  • NB_vol_1
  • 2016年11月22日 17:27
  • 1199

HEVC/H.265理论知识(6)——量化

一、介绍 1、量化就是把信号的连续取值映射成多个离散的幅值的过程,实现了信号取值多对一的映射。 2、残差数据进过变换之后,变换系数具有较大的取值范围,量化可以有效减小信号的取值范围,进而获得更好的...
  • NB_vol_1
  • NB_vol_1
  • 2016年11月22日 17:24
  • 2633

HEVC中SAO--自适应样点补偿 详细分析解读

from: http://blog.csdn.net/feixiang_john/article/details/8258452  HEVC中SAO--自适应样点补偿:   本文分三...
  • fym0512
  • fym0512
  • 2013年08月06日 11:12
  • 1407

HEVC/H265 标准介绍 和与 H264比较

High Efficiency Video Coding HEVC : is it really twice as good as H.264? On the left, a clos...
  • szu030606
  • szu030606
  • 2013年03月09日 15:23
  • 7816

HEVC残差系数解码代码详解

上一篇中主要介绍了编码中的原理,这里主要是结合HM中的代码介绍读残差系数的方法 HM变换系数熵解码简介:   初始一个TU对象 成员变量介绍:   public:     typedef enum ...
  • xietingcandice
  • xietingcandice
  • 2015年01月05日 18:03
  • 1683

HEVC/H.265整个程序调用流程分析以及函数复杂度分析

http://blog.csdn.net/feixiang_john/article/details/7942925 HEVC整个程序调用流程: Encode -> compressGOP...
  • bcs_01
  • bcs_01
  • 2013年12月11日 19:57
  • 1486

HEVC/H.265整个程序调用流程分析以及函数复杂度分析 .

HEVC整个程序调用流程: Encode -> compressGOP -> compressCU ->xCompressCU->copyFromPicYuv ->xCheckRDCostInt...
  • meilingsui
  • meilingsui
  • 2013年07月09日 19:54
  • 732

HEVC/H.265整个程序调用流程分析以及函数复杂度分析

分类: HEVC2013-12-11 19:57 124人阅读 评论(0) 收藏 举报 H.265HEVC视频 http://blog.csdn.net/feixiang_john/a...
  • hq2902108007
  • hq2902108007
  • 2014年03月12日 13:59
  • 858

HEVC如何运作,技术细节及流程(部分)

HEVC标准已经公开,我想趁此机会用简单的语言来阐释HEVC编码的工作原理。 先做自我介绍:我是一位硬件解码工程师,这一年多来一直致力于HEVC相关工作,曾参与JCT-VC的HEVC标准制定工作。详见...
  • feixue67600
  • feixue67600
  • 2016年06月21日 10:49
  • 1100
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HEVC/H.265整个程序调用流程分析以及函数复杂度分析
举报原因:
原因补充:

(最多只允许输入30个字)