前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[AV1] AV1 Specification

[AV1] AV1 Specification

作者头像
轻舞飞扬SR
发布2021-02-24 11:04:44
1.1K0
发布2021-02-24 11:04:44
举报
文章被收录于专栏:Visual CodexVisual Codex

这篇文章介绍下研究AV1必须要熟悉的AV1 Specification,也称为AV1 标准文档。

返回AV1专栏目录

AV1 标准文档

AV1的标准文档是可以通过AOM的官方Github页面拿到最新版本的。这里是链接。如果因为某些原因访问不到网站的话,可以在CSDN下载频道下载

下载下来的文档首页为

我没有记错的话,全文应该是681页。从首页图中也可以看出,发布的时间正是参考软件libaom-av1的Version 1.0.0 Errata 1发布的时候,具体关于Reference Software的内容参考我的另一篇博文 [AV1] AV1 Reference Software

How to 阅读标准文档

标准文档一共分为六个部分,共计15章如下:

  1. Scope
  2. Terms and definitions
  3. Symbols and abbreviated terms
  4. Conventions
  5. Syntax structures
  6. Syntax structures semantics
  7. Decoding process
  8. Parsing process
  9. Additional tables
  10. 10章之后的内容 Annex

第一章我们一般跳过,就是说的这本标准所定义的内容。

从第二章开始就有点内容了,第二章可以看看术语,了解关于AV1的一些名词的解释,这些术语大部分都是视频编解码的标准间所通用的,比如说 luma,chroma,block等用语。

第三章也是一些术语,但这些术语是代码中的定义,一般是宏定义,这些量都是定死了的,一般声明为C++中的const常量或者直接预处理define出来,看这些有利于进一步读懂源码。

第四章是一些约定俗成的符号定义,这些一般过一遍就好,这些符号会在后面的semantics部分解释每一个syntax的时候,如果要计算,那么就会用到,用到的时候再回来翻就行了。

第五章就真正来到了重要的地方了,这是语法结构部分,解码器解析的时候就是按照这个表来进行一个个地读取syntax,这个过程叫做parsing,我们挑一个条目来看看:

这是OBU的头部语法(OBU是啥?看看 [AV1] Open Bitstream Unit)这里代码的写法与实际代码中相对应。

从这里我们可以看出,解析一个obu_header,需要一共解析五个syntax,这里的syntax就是用黑体表示,并且右边Type中有值的项目,五个syntax分别为

  • obu_forbidden_bit
  • obu_type
  • obu_extension_flag
  • obu_has_size_field
  • obu_reserved_1bit

那右边的 f(1)是什么意思呢?我们可以看到第4.8节,4.9节,4.10节,这里告诉你这些个表达到底是什么意思。(这里的f(1)代表从流中读出一个比特,解析为unsigned number)

第六章就是针对第五章中的每一个syntax的含义解释了,这个含义解释的专业术语叫semantic,称为语义,

在这里,我们可以看到第五章的几个syntax的具体含义。

第七章是解码过程,就是利用我们第五章parsing出来的syntax,然后正式进入解码流程,最终还原为reconstructed frame/sequence的过程描述。

第八章是parsing过程,这章主要讲解我们之前说的syntax所说的读取一个比特,读取多个比特,或者使用算数编码读取比特的这些熵编码过程的逆向过程的实现。

第九章就是一些表格,包含标准里根据经验或者大量实验得出的一些固定的预设值,这些值(table)都可以直接在代码里找到。

第十章开始就是附录了,包括profile,level,比特流格式等材料。

做视频编解码,这本标准,肯定是少不了的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • AV1 标准文档
  • How to 阅读标准文档
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档