首先在HM-16.3中找到cfg文件夹,其中是很多配置文件,首先从帧内预测开始,下载BasketballDrill_832x480_50.yuv这个测试序列,然后,从cfg文件夹中找到它的配置文件BasketballDrill.cfg,以及encoder_intra_main.cfg ,第一个配置文件主要是输出文件和编码多少帧,第二个才是实际编码中的参数,所以打开第二个配置文件。同时打开操作手册。、
虽然配置文件中每一项后都有关于参数的说明,但是对比操作手册再看一下也不错。
首先确定我们要找关于tile,slice,QP这几个方面的,那么打开配置文件后,首先是 Unit definition,也就是关于CU TU这些单元的设置,然后是Coding Structure,里面有参数IntraPeriod 代表每多少帧出现一次I帧,也就是I帧的周期,如果为-1,那么就代表只有第一帧为I帧,其余帧为P帧。另外GOPsize代表GOP的长度。Quantization是关于QP的设置,这里有六个选项,其中第一项QP以及其他项为零代表所有的帧的量化参数为32.
然后朝下翻到Slices,里面的SliceMode表示每个slice中有多少tile,比特或LCU。
最后有Tiles,其第一个参数为TileUniformSpacing ,参数值为零代表tile的列边界由TileColumnWidth数组指示,行边界由TileRowHeight数组指示,值为1代表列和行边界均匀分布。第二个参数NumTileColumnsMinus1 为tile列数减一。另一个参数TileRowHeightArray 为以CTU为单位包含tile行高度值的数组(从图中上至下)。
后面的参数这里不关注,研究其他方面的也可以参照这种方法来找相关的参数,下面试运行一下:
在BasketballDrill_832x480_50.yuv中将帧数改为30,可以发现现在运行到了18帧,这是每一帧都是I帧,所以很慢而且压缩完毕的文件相对较大,因此考虑改变encoder_intra_main.cfg 的参数,达到帧间预测的效果,将在下一篇博客中讲。