当前位置: 首页 > news >正文

VTM 是“H.266/VVC 标准的官方参考软件”视频分析,入门教程,它存在的唯一目的就是“让学术界和工业界在同一把尺子上做实验

一句话:H.266(VVC,Versatile Video Coding)是 2020 年 7 月定稿的最新一代国际视频编码标准,目标是“在同等画质下再省一半码率”,把 4K/8K、HDR、VR、直播等场景的成本打下来。


🥇 与上一代对比(H.265 → H.266)

维度H.265/HEVCH.266/VVC
压缩率比 H.264 省 40 %再省 30–50 %
4K 示例90 min UHD ≈ 10 GB≈ 5 GB
最大分辨率8K16K
新特性10-bit、HDR10-bit、HDR、360°、屏幕内容、低延迟 RTC
复杂度编码 ↑10×,解码 ↑2×

🛠 关键技术提升

  1. QT+MTT 划分
    64×64 CTU 可继续拆成 4×4,支持二叉/三叉/四叉混合树,边缘细节更省码率。
  2. 130 种帧内预测方向
    相比 H.265 的 67 种,纹理预测更精准。
  3. 仿射运动补偿 & 双向光流
    运动矢量不再是平移,可描述旋转、缩放。
  4. 色度双树
    亮度、色度可独立划分,进一步节省色度码率。

📺 三大落地场景

场景核心诉求H.266 作用
点播/OTTCDN 带宽成本节省 50 % 流量,直接降账单
直播 & RTC低延迟 + 画质同码率画质↑,同画质码率↓
云游戏/VR8K/360° 高码流16K 上限,支持 360° 专用工具

📈 生态现状(2025-07)

环节支持度代表方案
硬件解码早期Intel Lunar Lake、芯原 Hantro VC9000D、国科微 GK9501C
软件解码已成熟FFmpeg 6.1+、VLC 3.0 nightly、Chrome 正在实验
内容侧抖音/腾讯视频已逐步上线 H.266 档位
专利/授权仍存在不确定性,但授权池数量减少,成本有望低于 HEVC

🎯 一句话总结

H.266 = “视频界的 5G”:用一半流量传同样画质,为 4K/8K、HDR、VR、云游戏铺平道路;只是硬件刚起步,软件先行,2025-2026 年将迎来全面商用。

一句话:VTM 是“H.266/VVC 标准的官方参考软件”,它存在的唯一目的就是“让学术界和工业界在同一把尺子上做实验”;你跑通它的意义,可以拆成 5 个关键词:可重复、可比性、发论文、做产品、找工作。


🎯 1. 可重复(Reproducible)

  • 同一套源码、同一 cfg,全世界任何人都能复现 bit-rate / PSNR / BD-rate
  • 会议/期刊审稿人默认“你用 VTM 的结果≈可信”。

🎯 2. 可比性(Benchmark)

场景需要比什么?VTM 提供
新算法论文BD-rate ↓ 1% 算创新官方 Anchor
芯片竞标4K@60 fps 所需频率/面积参考码流
标准提案工具开关 A vs B统一 cfg & QP

🎯 3. 发论文 / 做比赛

  • CVPR/ICIP/PCS… 只要涉及视频编码,必须有 VTM 基线。
  • MSU 2024 Codec CupCLIC 压缩挑战赛 均以 VTM 为 Anchor。
  • 把 VTM 改一行,提出 “Fast QTBT”“Neural Loop Filter”,就能灌水/拿奖。

🎯 4. 做产品(Prototype)

落地环节如何利用 VTM
算法预研先跑 VTM,看 BD-rate 是否 >5%,再投入 RTL
标准合规用 VTM 生成的码流验证自家解码器能否通过
专利撰写在 VTM patch 里插入钩子,生成 claim 证据

🎯 5. 找工作 / 实习

  • 面试题:
    “请解释 VTM 里 Intra Sub-Partition 的决策流程”
    “如何给 VTM 加一个新的 fast search 算法?”
    能答上来=直接发 offer。
  • 实习 JD:
    “熟悉 VTM 框架,有修改经验优先”。

🎯 一句话总结

VTM 就像机器学习里的 PyTorch——你可以不用它做最终产品,但做实验、写论文、谈性能时,它是唯一公认的“基准尺”。跑通它,等于拿到了进入 H.266 世界的“门票”。

下面我把原文的 7 000 余字拆成一张「小白也能 30 分钟跑通」的 Checklist,按步骤打钩即可。所有超链接已经验证(2025-07-20)可直接点开下载。你只需准备 Win10/11 + VS2019/2022 + CMake≥3.15。


✅ 0. 总览图

源码 → 编译 → 编码 → 解码 → 统计 → 可视化
VTM ─┬─ EncoderApp.exe ─┬─ .bin├─ DecoderApp.exe ─┼─ .yuv└─ DecoderAnalyserApp ─┴─ .vtmbmsstats → YUView 看 CU 划分

✅ 1. 一次性工具包下载

内容地址备注
VTM 源码VVCSoftware_VTM建议选 VTM-10.0 分支
测试序列Derf’s Collection推荐 akiyo_qcif.y4m(体积小)
CMakecmake-3.27-win64.msi安装时务必勾选 “Add to PATH”
YUView 可视化YUView Releases直接下 .exe 安装版
y4m→yuv 工具mencoder.exe(CSDN镜像)放到 PATH 或工作目录

✅ 2. 编译 VTM(≈5 分钟)

  1. 解压 VTM 到 固定路径(路径里不要有空格和中文)。
  2. 打开 CMake-GUI
    Where is the source code:   D:/VTM
    Where to build the binaries: D:/VTM/build
    Configure → Generator: Visual Studio 17 2022 (x64)
    
  3. 勾选 ENABLE_TRACINGK0149_BLOCK_STATISTICSGenerate
  4. 完成后用 VS 打开 D:/VTM/build/NextSoftware.sln → 顶部 Release x64Build → Build Solution
  5. 成功后在 D:/VTM/build/bin/vs17/msvc-19.3/x86_64/release/ 得到
    EncoderApp.exe / DecoderApp.exe / DecoderAnalyserApp.exe

✅ 3. 准备测试序列(≈2 分钟)

  1. 下载 akiyo_qcif.y4m(11 MB)。
  2. 转码 y4m→yuv(Win 终端):
    mencoder akiyo_qcif.y4m -ovc raw -of rawvideo -vf format=i420 -o akiyo_qcif.yuv
    
    得到 akiyo_qcif.yuv(QCIF 352×288,300 帧)。

✅ 4. 第一次编码(Intra,≈3 分钟)

  1. release 目录放 3 个文件:

    • EncoderApp.exe
    • encoder_intra_vtm.cfg(从 cfg/ 拷贝)
    • akiyo_qcif.yuv
  2. 修改 encoder_intra_vtm.cfg 最开头的 File I/O

    InputFile                 : akiyo_qcif.yuv
    InputBitDepth             : 8
    FrameRate                 : 30
    FrameSkip                 : 0
    SourceWidth               : 352
    SourceHeight              : 288
    FramesToBeEncoded         : 30        # 先跑 30 帧省时间
    Level                     : 3.1
    BitstreamFile             : akiyo_intra.bin
    ReconFile                 : akiyo_rec.yuv
    QP                        : 32
    
  3. 运行编码(终端或 VS 调试均可):

    EncoderApp.exe -c encoder_intra_vtm.cfg >out.txt
    

    看到 Total TimePSNR (Y/U/V) 即成功。


✅ 5. 解码验证(≈1 分钟)

DecoderApp.exe -b akiyo_intra.bin -o deco.yuv

用 YUView 打开 deco.yuv → 设置 352×288 4:2:0 8-bit → 能正常播放即解码无误。


✅ 6. 生成 CU 划分统计(关键步骤,≈2 分钟)

  1. 确保 步骤 2 中 ENABLE_TRACING=1,否则重新编译。
  2. 运行分析器:
    DecoderAnalyserApp.exe ^-b akiyo_intra.bin ^--TraceFile=akiyo.vtmbmsstats ^--TraceRule="D_BLOCK_STATISTICS_ALL:poc>=0"
    
    得到 akiyo.vtmbmsstats(≈1-3 MB)。

✅ 7. YUView 可视化(≈2 分钟)

  1. 打开 YUView → File → Add Item → Overlay Item
  2. 依次拖入:
    • akiyo_rec.yuv(视频层)
    • akiyo.vtmbmsstats(统计层)
  3. 选中统计层 → Overlay Properties → 勾选要看的元素:
    • CU split depth
    • PU/TU partition
    • QP
    • Intra mode
  4. 鼠标滚轮缩放,右侧时间轴逐帧查看,截图即可放入论文。

✅ 8. 常见坑速查

现象原因解决
EncoderApp 启动即崩溃cfg 路径/分辨率填错检查 InputFile & SourceWidth/Height
控制台中文乱码Win 终端编码用 PowerShell 或 >out.txt 再打开
YUView 不显示 CU 网格忘记 ENABLE_TRACING重开 CMake 勾选后重新编译
y4m 转 yuv 花屏分辨率/帧率不匹配ffprobe akiyo_qcif.y4m 查看参数

✅ 9. 一键脚本(可选)

把下面存成 run.bat 放在 release 目录,双击即可重复实验:

@echo off
set cfg=encoder_intra_vtm.cfg
set seq=akiyo_qcif.yuv
EncoderApp.exe -c %cfg% >out.txt
DecoderApp.exe -b akiyo_intra.bin -o deco.yuv
DecoderAnalyserApp.exe -b akiyo_intra.bin --TraceFile=akiyo.vtmbmsstats --TraceRule="D_BLOCK_STATISTICS_ALL:poc>=0"
echo 完成!请用 YUView 打开 akiyo_rec.yuv + akiyo.vtmbmsstats
pause

照着 9 个步骤全部打钩,你就完成了 VTM 下载→编译→编码→解码→CU 可视化 的完整闭环。下一步想跑 RA/LD 配置自定义序列,只需换 cfg 和序列即可,流程完全一样。

http://www.xdnf.cn/news/1154395.html

相关文章:

  • Docker 在 Ubuntu 系统中的详细操作指南
  • 事务的传播行为,分别在spring和mysql中讲解
  • CentOS 服务器docker pull 拉取失败
  • 相机模型和对极几何
  • MySQL(147)如何进行跨平台迁移?
  • 【LeetCode 热题 100】124. 二叉树中的最大路径和——DFS
  • 后台管理系统登录模块(双token的实现思路)
  • [Python] -项目实战4- 利用Python进行Excel批量处理
  • 将EXCEL或者CSV转换为键值对形式的Markdown文件
  • 【Settlement】P1:整理GH中的矩形GRID角点到EXCEL中
  • 大语言模型调用方式与函数调用
  • 【并集查找 二分图】P6185 [NOI Online #1 提高组] 序列|省选-
  • 【已解决】GitHub SSH 连接失败解决方案:Permission Denied (publickey) 错误修复指南
  • HarmonyOS 网络请求优化实战指南:从0到1写出流畅不卡顿的应用!
  • EXPLAIN:你的SQL性能优化透视镜
  • C/C++数据结构之单向链表
  • 7-大语言模型—指令理解:指令微调训练+模型微调
  • FFmpeg 图片处理
  • 第三章-提示词-中级:进阶技巧与实践指南(12/36)
  • Spring Boot中REST与gRPC并存架构设计与性能优化实践指南
  • 测试学习之——Pytest Day4
  • Cosmos:构建下一代互联网的“区块链互联网
  • 黑马教程Webday6
  • 从零开始的云计算生活——番外5,使用ELK实现对应用日志的监控
  • HTML Style 对象深度解析:从基础到高级应用
  • client-go: k8s选主
  • 【Linux】1. Linux操作系统介绍及环境搭建
  • 20250720-6-Kubernetes 调度-nodeName字段,DaemonS_笔记
  • MySQL笔记3
  • 西门子 S7-1500 系列 PLC CPU 选型全指南:从类型到实战