H.266 JEM7.0 块划分之QTBT

QTBT在编码前的相关配置

配置包括cfg文件中的配置以及CommonDef.h文件中的配置。
可在cfg文件中配置的参数:(QT配置只在cfg中进行)

I帧:亮度及色度划分分离 P/B帧:亮度色度划分一致
MinQTLumaISlice MinQTNonISlice
MinQTChromaISlice

CommonDef.h文件中定义了(BT的配置):

I slice 亮度 I slice 色度 P/B slice
MAX_BT_DEPTH MAX_BT_DEPTH_C MAX_BT_DEPTH_INTER
MAX_BT_SIZE MAX_BT_SIZE_C MAX_BT_SIZE_ INTER
MIN_BT_SIZE MIN_BT_SIZE_C MIN_BT_SIZE_ INTER

为了进一步明确,观察最终运行完成的输出文件显示的与QTBT相关的参数为:
minQTL / minQTC / minQT
(对应cfg中:MinQTLumaISlice,MinQTChromaISlice,MinQTNonISlice)

I slice: MaxBTSize; MaxBTDepth; MinBTSize
(对应:I slice在CommonDef.h中的定义)

P/B slice: MaxBTSize; MaxBTDepth; MinBTSize
(对应:P/B slice在CommonDef.h中的定义)

注:

在宏JVET_C0024_SPS_MAX_BT_DEPTH(默认开)(SPS下的MaxBTDepth; MaxBTDepthISliceL; MaxBTDepthISliceC (可在cfg文件中配置,分别对应:MaxBTDepth,MaxBTDepthISliceL,MaxBTDepthISliceC))
以及宏JVET_C0024_SPS_MAX_BT_SIZE(默认关)(SPS下的MaxBTSize; MaxBTSizeISliceL; MaxBTSizeISliceC)宏定义下也有相关配置。

若SPS宏定义为开,则使用SPS级别的配置,否则使用CommonDef.h中的配置。

MinBTSize与MaxBTDepth:

二者同时作用限制BT的划分。
在代码中观察对BT划分是否进行的判断条件,可见一斑:
( Height > MinBTSize || Width > MinBTSize ) && Width <= MaxBTSzie && Height <= MaxBTSize && Depth < MaxBTDepth

猜你喜欢

转载自blog.csdn.net/yolo_life/article/details/81586218
今日推荐