zoukankan      html  css  js  c++  java
  • 【转】H.266 QTBT(Quadtree plus Binary Tree)块结构介绍

    联发科公司提出的QTBT块结构被JVET采纳,集成在JEM3.0及其后的版本中,替代了原来HEVC的四叉树(QT)块结构。QTBT与四叉树划分的主要区别: 
    1、QTBT块结构在四叉树的叶结点,继续往下做二叉树递归遍历,其中二叉树可以水平划分或垂直划分。 
    2、在QTBT块结构中,CB=PB=TB,也就是说取消了PU/TU/PB/TB的概念,预测块即是变换块。 
    3、I slice的亮度分量的CTB和色度分量的CTB划分脱钩,单独划分。 
    4、四叉树结构的亮度分量的CTB最大为64x64,而QTBT结构亮度分量的CTB的大小默认从128x128开始,且最大可以设置为256x256。

    QTBT块结构图例: 
    这里写图片描述 
    从上图可以看到,QTBT块结构先做四叉树划分,然后在四叉树叶结点做二叉树划分。

    QTBT性能: 
    1、BD-Rate平均在-4%左右,LD配置增益最大,RA配置增益次之,AI配置增益最小。 
    2、编码时间是原来的2.2~5.6倍,AI配置增加的编码时间最多(5.6倍),该算法的编码复杂度在提案JVET-C0105中被诟病;解码时间是原来的105%~112%。

    QTBT算法实现的伪代码: 
    这里写图片描述

    伪代码说明: 
    1、函数QTBT_RDO对应的JEM代码中的函数为TEncCu::xCompressCU。 
    2、TryInterPredMode/TryIntraPredMode函数对应的JEM函数为 
    TEncCu::xCheckRDCostInter/TEncCu::xCheckRDCostMerge2Nx2N/TEncCu::xCheckRDCostIntra 
    3、TEncCu::xCompressCU函数中调用自己次,分别是水平划分调用两次、垂直划分调用两次、四叉树划分调用四次。

    此技术在JEM4.0中对应的标签为JVET_C0024_QTBT。

  • 相关阅读:
    Spark面对OOM问题的解决方法及优化总结 (转载)
    spark rdd 宽窄依赖理解
    hive orc update
    hive sql 语句执行顺序及执行计划
    java 正则 贪婪匹配 匹配sql语句中的引号内容
    java 权重随机算法实现
    MySQL创建用户和加限权
    MySQL完整性约束
    MySQL基础操作与数据类型
    MySQL数据库初识
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532392.html
Copyright © 2011-2022 走看看