VVC/VTM1.0代码学习一之编解码框架

1.编码框架

    VTM1.0的代码框架大致和JEM一样,在encodeSlice部分有些改变。首先是函数名称的改变,以前是encodeCtu,然后是encodeCU,现在变成了如图所示。且以前的解码端与encodeCtu对应是decodeCtu,与encodeCU对应的是decodeCU,而现在在解码端的函数依然是上述函数名,只有调用函数的类由编码端的m_CABACWriter变成了解码端的m_CABACReader.

     来一张比较具体的编码框架图,其实,在encodeCtus里面也会调用coding_tree_unit,个人觉得在encodeCtus里面调用是为了保持熵编码器的状态,只有在decompressCtu里面才是执行真正的熵编码。

VVC/VTM1.0代码学习一之编解码框架_第1张图片

2.解码框架

  如下图所示,在decompressSlice()函数里面,先调用coding_tree_unit完成比特流的解析,再调用decompressCtu()完成解码。

      VVC/VTM1.0代码学习一之编解码框架_第2张图片

你可能感兴趣的:(H.266/VVC,VTM)