AV1的简介

目录

  1. 概述
  2. 免专利费用
  3. 技术原理简介
  4. 开源项目

参考

  • [1] aomedia.org
  • [2] en.wikipedia.org/wiki/AV1
  • [3] An Introduction to AV1 - The Next-Gen Royalty-Free Codec From the Alliance for Open Media, 百度网盘链接
  • [4] AV1 Bitstream Specification
  • [5] github.com/AOMediaCodec/av1-spec
  • [6] code.videolan.org/videolan/dav1d
  • [7] github.com/xiph/rav1e
  • [8] An Overview of Core Coding Tools in the AV1 Video Codec
  • [9] github.com/AOMediaCodec/av1-isobmff
  • [10] github.com/Matroska-Org/matroska-specification/AOM AV1 codec mapping in Matroska/WebM

1. 概述

AV1(Alliance for Open Media Video 1)是由AOM(Alliance for Open Media,开放媒体联盟)制定的一个开源、免版权费的视频编码格式,目标是解决H265昂贵的专利费用和复杂的专利授权问题并成为新一代领先的免版权费的编码标准。此外,AV1是google制定的VP9标准的继任者,也是H265强有力的竞争者。

历史:

  • 2015年,AOM成立,由半导体生产商、流媒体服务商和浏览器等公司组成。
  • 2016年4月7号,AV1的第一版参考编解码器0.1.0发布。
  • 2018年3月28号,AV1码流参考手册和参考编解码器软件发布。

附上两个AV1的技术分享视频

  • google工程师的技术分享:a technical overview of the AV1 video codec
  • Mozilla工程师Nathan Egge的技术分享:Into the Depths:The Technical Details behind AV1

2. 免专利费用

AV1为了实现免版权费的目标,在开发的过程中,所有的特性必须在仔细检查没有侵犯竞争公司的专利下才能加被采纳。而H265的标准化过程并没有知识产权的检查流程。

3. 技术原理简介

AV1是基于传统的分块频谱变换的格式,基于google的VP9标准的扩展,并结合了Xiph's/Mozilla的Daala视频编码标准和思科的Thor视频编码标准中的技术。

3.1 块划分

支持更大的编码单元划分和更多的划分模式,最大划分块尺寸为128*128。

10种编码单元的划分方法,划分方式有正方形(递归地)、矩形或T型,如下图所示。


AV1的简介_第1张图片
image.png

下图展示了如何将128×128的superblock分割为4×4的块。特殊情况下,128×128和8×8块不能使用1:4和4:1的分割,8×8块不能使用“T”形分割。


AV1的简介_第2张图片
av1_partition_480.png

3.2 帧内预测

  1. 多达56种的方向预测。
  2. 支持亮度分量预测色度分量像素值。
  3. 新增应对单一色调场景的调色板(color palette)模式。
  4. 新增可大幅提高屏幕内容压缩效率的帧内拷贝(intra block copying)模式。

说明:

  • 方向预测在VP9的8个的预测方向基础上,对每个方向扩展了6个新的方向,角度为"基础方向角度"+[-3, 3] x 3º,如下图所示,扩展的模式通过空间参考的双线性插值实现。


    AV1的简介_第3张图片
    image.png
  • 帧内拷贝对于屏幕内容视频非常有用,因为屏幕内容视频通常在同一帧中包含重复的纹理、模式和字符,如下图编码wikipedia网页的示例。


    AV1的简介_第4张图片
    image.png

预测可以使用更先进的方式(比求平均值)复合预测方式,包括在不同方向上的平滑和尖锐的过渡梯度(楔形分区预测)以及基于两个预测值之间的差异的隐式掩模。

3.3 帧间预测

  1. 帧间预测支持8个参考帧和基于分层结构的双向预测。
  2. 引入非常适合线性运动物体的运动场投影预测。
  3. 使用动态索引来编码运动向量
  4. 支持包括楔形分割预测模式在内双向预测。
  5. 使用仿射变换来模拟物体实际运动中的卷曲和形变。

3.4 频域变换

  1. 频域变换支持DCT/ADST/fADST/IDT。
  2. 支持多种变换尺寸及类型组合。比如正方形和矩形DCTS,以及非对称DST。

3.5 熵编码

Daala的熵编码器是一种非二进制算术编码器,用于替代VP9的二进制熵编码器。非二进制算法编码的使用由助于避开专利,但也增加了比特级别的并行性到另外的串行进程,从而降低了硬件实现中的时钟速率要求。

3.6 滤波器

环路滤波除传统deblocking工具外,还新增了约束方向增强滤波器(CDEF, Constrained Directional Enhancement Filter)、帧超分辨率重建、环内重建滤波器,以及电影颗粒胶片效果合成器。

4. 开源项目

项目 简介
av1-spec AV1标准文档
libaom C语言的参考编解码器
dav1d C语言的解码库
rav1e Rust 语言的编码库
SVT-AV1 Intel&Netflix 开源的AV1编码器
av1-isobmff ISO媒体文件封装AV1码流的格式规范
matroska-specification/codec/av1 MKV/WebM文件封装AV1码流的说明文档
av1-rtp-spec AV1 RTP载荷格式规范文档
AOMediaCodec/av1-avif AV1 Still Image File Format Specification
AOM Analyzer AV1/VP9的码流分析工具

你可能感兴趣的:(AV1的简介)