H266 编码标准开源编码器 VVenC 介绍

H266

H.266,也称为VVC(Versatile Video Coding),是最新的国际视频编码标准,由MPEG(Moving Picture Experts Group)和ITU(International Telecommunication Union)联合开发。它在2020年7月定稿,ITU第一版于当年11月正式发布,ISO/IEC第一版则于2021年2月正式发布。

H.266/VVC标准的主要目标是提高视频压缩效率,特别是在4K和8K超高清视频领域。与前一代标准H.265/HEVC相比,H.266/VVC在同等画质下可以节省近50%的传输流量,对于高清晰度视频,码率节省甚至更多。

H.266/VVC的关键技术特点包括:

  • MTT(Multiple-Type Tree)分块方法:H.266采用了四叉树加多类型树(QT+MTT)的分块法,增加了新的分块方式,提高了编码效率。

  • CST(Chroma Separate Tree):对色度分量采用不同的分块树结构,提供了双树编码和局部双树编码两种方式,以优化色度编码。

  • 屏幕内容编码优化:H.266保留了H.265中的一些工具并进行了改进,如基于块的差分脉冲编码调制和变换跳过残差编码。

  • 360度视频编码工具:H.266是第一个包含360度视频编码工具的国际视频编码标准,提供了运动矢量环绕和环路滤波虚拟边界等工具。

  • 系统和传输接口的改进:H.266的高层语法(HLS)设计包括矩形条带、光栅扫描条带、子图像等新特性,以及对APS(Adaptive Picture Structure)的支持。

H.266/VVC的应用前景:

  • H.266/VVC标准由于其高效的压缩性能,预计将在视频流媒体、实时通信、4K/8K超高清视频等领域得到广泛应用。它的推广将有助于提升用户体验,降低企业成本。

专利和许可问题:

  • 尽管H.266/VVC技术具有显著的优势,但其专利许可问题可能会影响其快速普及。H.266/VVC的专利权分散在多家企业手中,这可能导致收费标准不统一和知识产权风险。

参考模型

VVC测试模型(VTM)是一个通用的参考实现,即在标准化过程中对所提出的技术进行评估和验证的测试平台。

VVenC

简介

Fraunhofer通用视频编码器(VVenC)的开发是为了提供一种公开可用的、快速和有效的VVC编码器实现。VVenC软件基于VTM,其优化包括软件重新设计以减轻性能瓶颈、广泛的SIMD优化、改进的编码器搜索算法和基本的多线程支持以利用并行。此外,VVenC支持真实世界的编码器功能,包括帧级速率控制和感知优化编码,以便为VVC标准提供灵活、快速和易于使用的视频编码解决方案。

VVenC 编码器是由德国佛朗霍夫海因里希研究所(Fraunhofer Heinrich Hertz Institute,HHI)所开发,HHI 是欧洲最大的研究组织 Fraunhofer 协会的成员,该协会是德国的一个大型非营利性组织。

  • 组织机构网址:https://www.hhi.fraunhofer.de/en/
    在这里插入图片描述
    VVenC 编码器几乎与 VTM 同时发布,从其 v0.1.0.0文档介绍可以看到,2020 年 9 月 7 号就发布了 VVenC 编码器 v0.1.0.0 版本,目前已经开发到v1.11.1版本。

代码

文档链接🔗
v0.1.0.0https://github.com/fraunhoferhhi/vvenc/wiki/data/vvenc-v0.1-v1.pdf
v0.2.0.0https://github.com/fraunhoferhhi/vvenc/wiki/data/vvenc-v0.2-r1.pdf
v0.2.1.0https://github.com/fraunhoferhhi/vvenc/wiki/data/vvenc-v0.2.1-v1.pdf
v0.3.0.0https://github.com/fraunhoferhhi/vvenc/wiki/data/vvenc-v0.3-v1.pdf
v0.3.1.0https://github.com/fraunhoferhhi/vvenc/wiki/data/vvenc-v0.3.1-v1.pdf
v1.0.0https://github.com/fraunhoferhhi/vvenc/wiki/data/vvenc-v1.0.0-v1.pdf
v1.1.0https://github.com/fraunhoferhhi/vvenc/wiki/data/vvenc-v1.1.0-v1.pdf
v1.2.0https://github.com/fraunhoferhhi/vvenc/wiki/data/vvenc-v1.2.0-v1.pdf
v1.3.1https://github.com/fraunhoferhhi/vvenc/wiki/data/vvenc-v1.3.1-v1.pdf
  • 版本信息
    在这里插入图片描述

功能概览

  • 如v0.1.0.0 文档介绍特点
    在这里插入图片描述
  • 如文档介绍
    在这里插入图片描述
### H.266/VVC 编解码工具在 Ubuntu 上的安装方法 H.266(也称为 VVC,Versatile Video Coding)是一种较新的视频压缩标准,相较于 H.264 和 H.265/HEVC 提供更高的压缩效率。然而,由于其复杂性和专利问题,目前支持 H.266开源实现较少。以下是关于如何在 Ubuntu 系统上安装与 H.266 相关的工具或库的方法。 #### 工具选择 当前最流行的 H.266 开源参考软件是由 Fraunhofer IIS 维护的 **VTM (VVC Test Model)**[^4]。该工具提供了完整的 H.266 编解码功能,适合用于研究和开发目的。 --- #### 安装依赖项 为了成功构建和运行 VTM,需要先安装一些必要的依赖项: ```bash sudo apt update sudo apt install build-essential cmake git yasm nasm libnuma-dev ``` 这些包包括编译器、CMake 构建工具以及 YASM/NASM 汇编器等必要组件。 --- #### 下载并配置 VTM 1. 从官方 GitHub 存储库克隆 VTM 源代码: ```bash git clone https://github.com/fraunhoferhhi/vvenc.git cd vvenc ``` 2. 创建构建目录并执行 CMake 配置命令: ```bash mkdir build && cd build cmake .. ``` 3. 使用 `make` 命令编译项目: ```bash make -j$(nproc) ``` 完成以上步骤后,会在 `build/bin` 文件夹中生成两个主要程序: - `vvencApp`: 用于编码视频文件。 - `vvdecApp`: 用于解码已编码的比特流文件。 --- #### 示例:使用 VTM 进行视频编码 假设有一个输入视频文件 `input.yuv`,可以通过以下命令对其进行编码: ```bash ./bin/vvencApp --preset medium \ --frames 100 \ --fps 30 \ --input input.yuv \ --width 1920 \ --height 1080 \ --bitdepth 8 \ --output output.bit ``` 此命令将对前 100 帧进行编码,并保存为 `output.bit` 比特流文件。 对于解码操作,可以使用如下命令: ```bash ./bin/vvdecApp --input output.bit \ --output decoded.yuv ``` 这会将比特流文件重新转换回原始像素格式的 `.yuv` 文件。 --- #### 注意事项 尽管 VTM 是一种强大的工具,但它主要用于科研而非生产环境下的实际应用。如果目标是部署高性能实时编码解决方案,则可能需要考虑商业产品或其他专有技术栈。此外,在某些情况下,硬件加速也可能成为一个重要考量因素[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码流怪侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值