前言

跟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学习之一:VVC/H.266的简介及VTM的使用方法相关推荐

  1. DL之paddlepaddle:百度深度学习框架paddlepaddle飞桨的简介、安装、使用方法之详细攻略

    DL之paddlepaddle:百度深度学习框架paddlepaddle飞桨的简介.安装.使用方法之详细攻略 目录 paddlepaddle百度深度学习框架的简介 1.飞桨全景图与四大领先技术 2.丰 ...

  2. 第一个将Palette Mode引入VVC(H.266),阿里云在JVET会议上引起关注

    从应用需求出发,帮助标准组织制定出更贴近云端业务需求的标准 视频压缩标准是一个重要且深具挑战的研究方向.从过去的存储到当前的网络带宽,视频标准每一代的更新进步对科技应用都有很大的影响.但同时随着几十年 ...

  3. H.266/VVC代码学习:帧内预测之角度预测函数(predIntraAng、xPredIntraAng)

    predIntraAng函数 VTM中,帧内预测的角度预测的入口函数为predIntraAng函数,该函数主要是用于进行传统的帧内预测(Planar.DC.角度预测),然后对Planar和DC模式使用 ...

  4. H.266/VVC技术学习之帧内模式编码

    在HEVC中,支持33种角度模式.DC模式和Planar模式,为了减少编码比特,使用长度为3的最可能模式列表.在VVC中,引入了ISP模式.MRL模式.MIP模式等,帧内模式编码时需要先对这些模式的f ...

  5. H.266/VVC代码学习20:角度预测入口 / 特殊模式的PDPC技术(predIntraAng)

    1.predIntraAng函数 predIntraAng是帧内0~66这67种预测的入口.其中可细分为: 模式0:PLANAR模式 模式1:DC模式 模式2~66:角度模式 此函数在亮度预测和色度预 ...

  6. H.266/VVC代码学习21:帧内角度预测的实现 / 近对角模式的PDPC(xPredIntraAng)

    xPredIntraAng函数的作用是对任意大小的块和任意模式,如何将参考像素的值根据其模式的角度填充进每一个像素. 下图是basketball drill的一个16*16的块,其预测模式为10(偏斜 ...

  7. H.266/VVC代码学习17:帧内亮度预测的编解码(intra_luma_pred_modes)

    引--亮度预测:H.266/VVC代码学习5:VTM4.0帧内亮度预测代码(estIntraPredLumaQT) 一.结论: 亮度编解码根据MPM列表的值分为两个阶段: 1 亮度模式在MPM列表中: ...

  8. H.266/VVC技术学习:算术编码

    算术编码是一种常用的变长编码方法,和Huffman编码类似,也是对出现概率大的符号赋予短码,出现概率小的符号赋予长码,但算术编码不是简单的将每个信源符号映射成一个码字,而是对整个输入序列分配一个码字, ...

  9. H.266/VVC帧间预测技术学习:高级运动矢量预测(Advanced Motion Vector Prediction, AMVP)

    高级运动矢量预测模式(Advanced Motion Vector Prediction,AMVP) AMVP模式是H.265/HEVC中提出的新的MV预测技术,H.266/VVC仍采用了该技术,并在 ...

最新文章

  1. MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...
  2. 关于SpringCloud配置中心,ConfigClient需要注意的问题
  3. MySQL查看表中的约束
  4. LightOJ 1078 Integer Divisibility (同余定理)
  5. flex 会使div撑满_如何讲清楚Flex弹性盒模型(中)?
  6. 修改Fiddler实用插件JsonViewer
  7. Qt样例学习1(数字时钟)
  8. Flash+XML 加载图片
  9. 大数据之-Hadoop3.x_MapReduce_序列化案例FlowReducer---大数据之hadoop3.x工作笔记0099
  10. 爬取豆瓣电影储存到数据库MONGDB中以及反反爬虫
  11. 条形码在android上的代码,使条码生成器在android
  12. 第九章:iOS应用的界面编辑
  13. java.lang.NoClassDefFoundError: com/huaban/analysis/jieba/JiebaSegmenter
  14. mysql安装后,连接报错
  15. win10如何手动强制关联某个类型文件的默认程序打开方式
  16. 数据类型的划分和进制之间的转换方式(二进制,十进制,八进制,十六进制)
  17. Step7V5.6版本PLC编写的程序与博图V14编写的面板的仿真过程
  18. 【时间序列分析】11.AR(1)和AR(2)模型
  19. SpringBoot实现CURD
  20. c# 处理Excel数据

热门文章

  1. 【Thunder送书 | 第四期】「SAP ABAP开发从入门到精通」
  2. 【LOJ】【树形DP】2485 「CEOI2017」Chase
  3. python练习题——猜数字
  4. 仿IOS 带字母索引的滑轮控件
  5. 博士申请 | 华盛顿州立大学Honghao Wei老师招收机器学习方向全奖博士生
  6. 华为息屏显示鸿蒙,华为终于亮剑:华为手机年底能用上鸿蒙系统,网友:终于等到了...
  7. 魔兽世界9.0格拉萨恩的宝箱怎么得 格拉萨恩的宝箱获取方法
  8. Android Handler中post方法与send方法的区别及使用
  9. 华为手机拆解:自研比重上升,硬件配置有惊喜!
  10. 安装的oracle打不开,关于安装ORACLE 10的问题,打不开,急!!