HM学习心得2

对于配置文件的认识
对于配置文件的认识这是很重要的,因为文件里面规定了编码的各种参数。在HEVC中包含两种配置文件:编码方式的配置文件和测试序列的配置文件。
一.编码方式的配置文件
下面以HM10.1中编码方式的配置文件为例说明下。
首先,在HM10.1当中有如图1所示的几种配置文件。在配置文件名中,同类型,以"main"结尾与“main10”结尾的主要区别在于Profile(档次)和内部位深,如encoder_intra_main 与encoder_intra_main10;不同类型的,主要区别在于编码结构,intra表示:每一帧都是按照帧内方式时行编码,lowdelay和lowdelay_p 表示: 只有第一帧按照帧内编码方式进行编码,随后的各帧都作为一般的P帧或B帧进行编码,randomaccess表示:分批B帧构成,周期性地插入一些随机访问帧。测试者可以根据自己的需要选择适当的编码方式配置文件,如进行帧内快速算法的研究一般选择“intra”的配置文件。

图1
其次,介绍下编码方式配置文件的详细内容,以encoder_intra_main为例。

#======== File I/O =====================输入输出文件

BitstreamFile                 : str.bin  编码后获得的码流,即用来传输的文件,默认存储地址为调试时的绝对路径。但操作者可以更改名称及存储地址,如下:F:\\HEVCres\\BasketballDrill_832x480_50_str.bin

ReconFile                     : rec.yuv 重建文件,即获得的编码视频文件,同样可以改变名称及存储地址,如F:\\HEVCres\\BasketballDrill_832x480_50_rec.yuv

 

#======== Unit definition ================单元定义(应该是指LCU)

MaxCUWidth                    : 64          # Maximum coding unit width in pixel

最大编码单元LCU的宽

MaxCUHeight                   : 64          # Maximum coding unit height in pixel

最大编码单元LCU的高

MaxPartitionDepth             : 4           # Maximum coding unit depth

最大深度4,深度范围[0123],对应的尺寸为64X648X8

QuadtreeTULog2MaxSize         : 5           # Log2 of maximum transform size for

                                            # quadtree-based TU coding (2...6)

Log2(32)=5

QuadtreeTULog2MinSize         : 2           # Log2 of minimum transform size for

                                            # quadtree-based TU coding (2...6)

Log2(4)=2

QuadtreeTUMaxDepthInter       : 3   (帧间TU最大深度)

QuadtreeTUMaxDepthIntra       : 3

 

#======== Coding Structure =============编码结构

IntraPeriod                   : 1           # Period of I-Frame ( -1 = only first)

DecodingRefreshType           : 0           # Random Accesss 0:none, 1:CDR, 2:IDR

 Random Accesss :解码更新类型,即随机接入类型

GOPSize                       : 1           # GOP Size (number of B slice = GOPSize-1)

图像组大小

#        Type POC QPoffset QPfactor tcOffsetDiv2 betaOffsetDiv2  temporal_id #ref_pics_active #ref_pics reference pictures 

 

#=========== Motion Search =============运动搜索

FastSearch                    : 1           # 0:Full search  1:TZ search

快速搜索类型,0:全搜索;1TZ搜索

SearchRange                   : 64          # (0: Search range is a Full frame)

搜索的范围

HadamardME                    : 1           # Use of hadamard measure for fractional ME

fractional ME分数(像素位置)运动估计

FEN                           : 1           # Fast encoder decision   快速编码器决策

FDM                           : 1           # Fast Decision for Merge RD cost  快速合并RD代价决策

 

#======== Quantization =============量化

QP                            : 32          # Quantization parameter(0-51)

量化参数范围:051

MaxDeltaQP                    : 0           # CU-based multi-QP optimization

基于CU的多QP优化

MaxCuDQPDepth                 : 0           # Max depth of a minimum CuDQP for sub-LCU-level delta QP

DeltaQpRD                     : 0           # Slice-based multi-QP optimization

基于片的多QP优化

RDOQ                          : 1           # RDOQ

率失真优化量化

RDOQTS                        : 1           # RDOQ for transform skip

变换跳过的率失真优化量化 

#=========== Deblock Filter ============去块滤波

DeblockingFilterControlPresent: 0           # Dbl control params present (0=not present, 1=present)

Db1控制是否使用去块滤波器

LoopFilterOffsetInPPS         : 0           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)

LoopFilterDisable             : 0           # Disable deblocking filter (0=Filter, 1=No Filter)

LoopFilterBetaOffset_div2     : 0           # base_param: -13 ~ 13

LoopFilterTcOffset_div2       : 0           # base_param: -13 ~ 13

 

#=========== Misc. ============

InternalBitDepth              : 8           # codec operating bit-depth

编解码控制比特深度,表示主要档次,即MAIN

 

#=========== Coding Tools =================编码工具

SAO                           : 1           # Sample adaptive offset  (0: OFF, 1: ON)  率样点自适应偏移

AMP                           : 1           # Asymmetric motion partitions (0: OFF, 1: ON) 非对称运动分割

TransformSkip                 : 1           # Transform skipping (0: OFF, 1: ON)

TransformSkipFast             : 1           # Fast Transform skipping (0: OFF, 1: ON)

SAOLcuBoundary                : 0           # SAOLcuBoundary using non-deblocked pixels (0: OFF, 1: ON) 

SAOLCU边界像素用未经过去块滤波操作的像素值表示

 

#============ Slices ================片

SliceMode                : 0                # 0: Disable all slice options.

                                            # 1: Enforce maximum number of LCU in an slice,

                                            # 2: Enforce maximum number of bytes in an 'slice'

                                            # 3: Enforce maximum number of tiles in a slice

SliceArgument            : 1500             # Argument for 'SliceMode'.

                                            # If SliceMode==1 it represents max. SliceGranularity-sized blocks per slice.

                                            # If SliceMode==2 it represents max. bytes per slice.

                                            # If SliceMode==3 it represents max. tiles per slice.

 

LFCrossSliceBoundaryFlag : 1                # In-loop filtering, including ALF and DB, is across or not across slice boundary.

ALFDB两个滤波器在片边界是否相交

                                            # 0:not across, 1: across

 

#============ PCM ================ PCM模式

PCMEnabledFlag                      : 0                # 0: No PCM mode

PCMLog2MaxSize                      : 5                # Log2 of maximum PCM block size.

PCMLog2MinSize                      : 3                # Log2 of minimum PCM block size.

PCM块最大为32X32,最小为8X8

PCMInputBitDepthFlag                : 1                # 0: PCM bit-depth is internal bit-depth. 1: PCM bit-depth is input bit-depth.

PCMFilterDisableFlag                : 0                # 0: Enable loop filtering on I_PCM samples. 1: Disable loop filtering on I_PCM samples.

 

#============ Tiles ================条

UniformSpacingIdc                   : 0                # 0: the column boundaries are indicated by ColumnWidth array, the row boundaries are indicated by RowHeight array

Tiles的列边界由列宽数组决定

                                                       # 1: the column and row boundaries are distributed uniformly

NumTileColumnsMinus1                : 0                # Number of columns in a picture minus 1

ColumnWidthArray                    : 2 3              # Array containing ColumnWidth values in units of LCU (from left to right in picture)   

NumTileRowsMinus1                   : 0                # Number of rows in a picture minus 1

RowHeightArray                      : 2                # Array containing RowHeight values in units of LCU (from top to bottom in picture)

 

LFCrossTileBoundaryFlag           : 1                  # In-loop filtering is across or not across tile boundary.

                                                       # 0:not across, 1: across 

 

#============ WaveFront ================波前

WaveFrontSynchro                    : 0                # 0:  No WaveFront synchronisation (WaveFrontSubstreams must be 1 in this case).

波前并行处理同步

                                                       # >0: WaveFront synchronises with the LCU above and to the right by this many LCUs.

 

#=========== Quantization Matrix =================量化矩阵

ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read

ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.

 

#============ Lossless ================失真

TransquantBypassEnableFlag: 0  # Value of PPS flag.

CUTransquantBypassFlagValue: 0 # Constant lossless-value signaling per CU, if TransquantBypassEnableFlag is 1.

                                                       

### DO NOT ADD ANYTHING BELOW THIS LINE ###

### DO NOT DELETE THE EMPTY LINE BELOW ###


二.测试序列的配置文件

以BasketballDrill_832x480_50.cfg为例

#======== File I/O ===============
InputFile                     : ../../origCfP/BasketballDrill_832x480_50.yuv

输入文件名,将其改成测试序列的地址
InputBitDepth                 : 8           # Input bitdepth

输入位深
FrameRate                     : 50          # Frame Rate per second

帧率
FrameSkip                     : 0           # Number of frames to be skipped in input

输入帧跳过帧数
SourceWidth                   : 832         # Input  frame width
SourceHeight                  : 480         # Input  frame height

测试序列的分辨率
FramesToBeEncoded              : 500         # Number of frames to be coded

编码帧数



 


  • 1
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值