VVC学习之一:VVC/H.266的简介及VTM的使用方法

前言

跟JVET以及VVC标准已经有一段时间了,准备写一些VVC的一些学习心得,主要也是锻炼一下自己,如果有理解不对的地方,希望各位大佬不吝赐教。

VVC的发展历程

VVC是从HEVC发展而来,其目标是将HEVC/H.265的编码性能提高一倍,计划在2020年10月发布标准最终版,其官方标准测试模型VTM目前已经发展到4.0版本(对应JVET第14次会议JVET-N)。在确定新一代编码标准为VVC(通用视频编码,versatile video coding)之前,MPEG和VCEG联合建立了JVET小组,并发布测试模型JEM用于测试新编码技术性能。JEM一共发布了7个版本,其大部分技术目前都已经被VTM采用,当然,也有少部分没有被采纳,后面我将会陆续介绍。

JEM

测试模型下载地址:https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/ ,链接里有所有的JEM测试模型的版本,下载方式和HEVC的测试模型HM一样(使用SVN下载),标准JEM是在HM-16.6基础上发展而来,其使用方式和HM一样。
JEM相比于HM的变化有:

  • 采用了QT+BT的编码树单元划分结构,提供了更灵活的编码单元尺寸。
  • 帧内角度预测模式扩展为65种,即帧内预测模式增加到67种(65+DC+Planar);帧内四抽头插值滤波器等
  • 帧间局部光照补偿(LIC),双向光流预测(BIO),仿射运动补偿(AMC),OBMC等
  • 自适应环内滤波器(ALF)

等等。由于部分技术目前并没有被标准采纳,此处不过多了解,被采纳的编码技术,后面我再对应代码慢慢说。

VTM

2018年四月,在JVET第10次圣地亚哥会议上,新一代视频编码标准定名为VVC,并发布了第一个测试模型VTM-1.0,下载地址为https://jvet.hhi.fraunhofer.de/svn/svn_VVCSoftware_VTM/tags/,其下载方式和HM以及之前的JEM相同。在工具上,VTM-1.0相比于HM只优化了CTU的划分结构,由QT变为QT+MTT。从VTM-2.0开始到目前VTM-4.0,官方标准测试模型迁移到https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM.git,可直接下载。

VTM的编译和之前HM以及JEM不同,其编译需要用到cmake编译工具,下载安装可以参见https://blog.csdn.net/u011231598/article/details/80338941。具体编译方法,在代码目录下有README文件,里面有详细介绍,如果不想看,下面我也简要说一下windows下的编译方法(使用VS)。

安装完cmake之后,打开VTM的解压目录,可以新建一个批处理文件,例如xxx.bat。然后在里面写入一下内容

mkdir build
cd build
cmake .. -G "Visual Studio 14 2015 Win64"

保存后打开xxx.bat,会在目录下生成build文件夹,项目解决方案的名称是NextSoftWare.sln。使用VS打开,后面编译及编码参数配置和HM一样。

你可能感兴趣的:(VVC/H.266学习日记)