一、H.264中的熵编码基本方法: 熵编码具有消除数据之间统计冗余的功能,在编码端作为最后一道工序,将语法元素写入输出码流 熵解码作为解码过程的第一步,将码流解析出语法元素供后续步骤重建图像使用 在H.264的标准协议中,不同的语法元素指定了不同的熵编码方法。在协议文档中共指定了10种语法元素的描述 ...
分类:
编程语言 时间:
2018-03-05 11:07:16
阅读次数:
202
在前面讨论并行解码的章节中,我们专注于讨论解码的宏块重建部分,甚至把宏块重建描述成宏块解码,这是因为在解码工作中,宏块重建确实占了相当大的比重,不过解码还包含其它的部分,按照解码流程可粗略分为: 在以前的并行解码文章,我们主要讨论了宏块重建的并行算法,得知采用不同的算法,会产生不同的并行度。在不考虑 ...
分类:
其他好文 时间:
2017-04-04 00:41:25
阅读次数:
238
本文分析FFmpeg的H.264解码器的环路滤波(Loop Filter)部分。FFmpeg的H.264解码器调用decode_slice()函数完成了解码工作。这些解码工作可以大体上分为3个步骤:熵解码,宏块解码以及环路滤波。本文分析这3个步骤中的第3个步骤。...
分类:
其他好文 时间:
2015-04-23 19:57:53
阅读次数:
203
本文分析FFmpeg的H.264解码器的宏块解码(Decode)部分的源代码。FFmpeg的H.264解码器调用decode_slice()函数完成了解码工作。这些解码工作可以大体上分为3个步骤:熵解码,宏块解码以及环路滤波。本文分析这3个步骤中的第2个步骤。由于宏块解码部分的内容比较多,因此将本部分内容拆分成两篇文章:一篇文章记录帧内预测宏块(Intra)的宏块解码,另一篇文章记录帧间预测宏块(...
分类:
其他好文 时间:
2015-04-20 17:08:52
阅读次数:
924
本文分析FFmpeg的H.264解码器的熵解码(Entropy Decoding)部分的源代码。FFmpeg的H.264解码器调用decode_slice()函数完成了解码工作。这些解码工作可以大体上分为3个步骤:熵解码,宏块解码以及环路滤波。本文分析这3个步骤中的第1个步骤。...
分类:
其他好文 时间:
2015-04-18 17:43:54
阅读次数:
322
本文分析FFmpeg的H.264解码器的主干部分。“主干部分”是相对于“熵解码”、“宏块解码”、“环路滤波”这些细节部分而言的。它包含了H.264解码器直到decode_slice()前面的函数调用关系(decode_slice()后面就是H.264解码器的细节部分,主要包含了“熵解码”、“宏块解码”、“环路滤波”3个部分)。...
分类:
其他好文 时间:
2015-04-14 16:42:14
阅读次数:
429
上一篇中主要介绍了编码中的原理,这里主要是结合HM中的代码介绍读残差系数的方法
HM变换系数熵解码简介:
初始一个TU对象
成员变量介绍:
public:
typedef enum TU_SPLIT_MODE { DONT_SPLIT=0, VERTICAL_SPLIT=1, QUAD_SPLIT=2, NUMBER_OF_SPLIT_MODES=3 } SPLI...
分类:
其他好文 时间:
2015-01-05 18:45:16
阅读次数:
817
注:HM代码版本为HM-16.2+SCM-3.0rc1/。
在HEVC逆扫描之三:TU逆扫描过程中介绍了TU的逆扫描过程,这里继续介绍CG内部的逆扫描过程。
4x4CG内部的逆扫描流程如下图所示。
图14 4x4CG逆扫描流程
对于每一个4x4块,也是按照与扫描顺序相反的顺序进行逆扫描的。首先通过熵解码解出CG标识(如果是TU内的第一个或者...
分类:
其他好文 时间:
2014-12-28 15:37:20
阅读次数:
185
我的这篇文章《HEVC解码器流程》给出了HEVC解码器的整体流程图,这里主要针对TDecCu部分进行讲解。
TDecCu入口主要有两部分:一部分是decodeCtu,完成的是熵解码和逆扫描;另外一部分是decompressCtu,完成的是预测、反量化、反变换和重构等功能。
具体流程图如下图所示。红色部分表示的是递归函数,对应括号里面完成的是相应的劈分。...
分类:
其他好文 时间:
2014-12-26 11:11:47
阅读次数:
251
最近开始做HEVC了,其中熵解码作为最底层的部分,因为和h264差不多,难度系数不是很大,主要是一些查表的操作
具体的实现原理就不细说了,主要从代码来进行解释
首先分析HM工程当中的熵解码的部分作为引导,因为最终要在DSP上进行运行,之后会重写为C代码,流程性更强
代码分析
首先介绍熵解码中比较重要的几个结构体和设计到的函数
一进入main函数,最主要的就是对应的解码类TAppD...
分类:
其他好文 时间:
2014-12-23 19:33:26
阅读次数:
200