HEVC学习(八) —— 以SAO为例浅析跟踪代码方法

本文介绍了如何跟踪HEVC参考代码框架,以Sample Adaptive Offset (SAO)为例,从编码器的main函数开始,逐步解析SAO的初始化和执行过程,帮助读者理解代码结构和定位关键功能的实现位置。
摘要由CSDN通过智能技术生成

HM的代码跟踪其实在我转载的一篇博客HEVC/H.265参考代码跟踪里就已经有很不错的介绍了,因此,我就不重复里面所说的了,而是对里面一些我觉得需要稍微补充下并且以另一个具体实例SAO即Sample Adaptive Offset的跟踪过程进行说明。由于只是一个跟踪说明,代码的具体细节就不去探究了,其实这也是一个方法,有些时候,你仅仅需要知道实现某个功能的代码在哪,而不需要知道它的实现细节,那么你要做的只是确定它的位置,并对它的输入输出有所了解即可,只有对你所关心的问题才需要一句一句的去看懂它,而不是对每一句话都平均用力,这种做法看似认真,但其实效率是很低的,因为有很多东西是要结合其它部分才能真正弄明白的。当然了,这只是一家之说,对于大牛来说,看代码是小菜,不用讲究这么多,这个另当别论。好了,不废话了,开始进入今天的整体。

 

要跟踪代码,首先你得对整个框架都有个很好的了解,那首先的问题是:我刚开始拿到代码时,当然不了解它的框架啦。所以,这里有个建议:在看代码前,最好对编解码的大概流程有个比较清晰的认识,即能够预先知道编码器或者解码器它需要按照一个怎样的步骤来完成这些工作。对于HM来说,编码器的方框图就是个很好的参考,如图1所示:

这个图不是我画的,截取自"Overview of the High Efficiency Video Coding  (HEVC) Standard"。

在仔细阅读上图后,至少我们可以确定一点的是,SAO应该是在Deblocking即去方波滤波的附近完成的(如果你已经读过上面那篇overview或者从其它途径了解了滤波过程,那就应该知道SAO其实就是在Deblocking之后做的,在后面的代码中也能够获知这一点)。

 

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值