熵编码主要涉及下面的几个类:
TEncBinCABAC、
TEncBinCABACCounter、
TEncBinIf
TEncEntropy
TEncEntropyIf
TEncCavlc
TEncSbac
其中:
TEncEntropy是熵编码的包装类,对外表现为一个熵编码器,内部实质会调用TEncEntropyIf
TEncEntropyIf是熵编码算法的抽象类,因为HEVC中使用cabac和cavlc两种熵编码算法
TEncSbac是cabac熵编码算法的实现类
TEncCavlc时cavlc熵编码算法的实现类
TEncBinIf是二进制编码器的基类,TEncBinCABAC和TEncBinCABACCounter都是它的子类,因为cabac和cavlc只是熵编码算法的规则,主要处理的是语法层面上的东西,至于内部二进制比特的具体编码细节,就交给TEncBinIf及其子类来处理
TEncBinCABACCounter、
TEncBinIf
TEncEntropy
TEncEntropyIf
TEncCavlc
TEncSbac
其中:
TEncEntropy是熵编码的包装类,对外表现为一个熵编码器,内部实质会调用TEncEntropyIf
TEncEntropyIf是熵编码算法的抽象类,因为HEVC中使用cabac和cavlc两种熵编码算法
TEncSbac是cabac熵编码算法的实现类
TEncCavlc时cavlc熵编码算法的实现类
TEncBinIf是二进制编码器的基类,TEncBinCABAC和TEncBinCABACCounter都是它的子类,因为cabac和cavlc只是熵编码算法的规则,主要处理的是语法层面上的东西,至于内部二进制比特的具体编码细节,就交给TEncBinIf及其子类来处理