AV1解码器模型

本文介绍了AV1视频编解码器的解码器模型,包括其作用、平滑缓冲区、解码帧缓冲区和解码过程。AV1解码器模型确保互操作性,支持配置文件和级别系统,确保解码器能够解码符合要求的比特流。模型支持可变比特率操作,限制瞬时比特率变化,并通过解码器帧缓冲区管理帧的存储和预测。解码器模型有两种模式:资源可用性模式和解码调度模式,用于控制解码时间表和平滑缓冲区的饱和度。
摘要由CSDN通过智能技术生成

这篇文章可以作为AV1规范中与解码器型号和级别有关的部分的简介,本文的其余部分描述了一些AV1基本概念,AV1解码器模型,并提供了开发它时做出决策的原因。有关解码器模型的更多详细信息,请阅读AV1规范。

文 / Andrey Norkin

原文链接:https://norkin.org/research/av1_decoder_model/

为什么编解码器需要解码器模型

大多数现代视频编解码器都具有某种形式的解码器模型。在MPEG-2中,它被称为视频缓冲验证器(VBV);在H.264 / AVC和HEVC / H.265中,它可以称为假设参考解码器(HRD)。解码器模型提高了互操作性。解码器模型允许确认一个比特流是否可以被一个特定的解码器解码。这些模型还可以向解码器提供关于何时开始解码帧以能够及时显示它的指令。

通常来说,视频解码器声明支持某个配置文件和级别。配置文件可以指定有关比特深度和色度二次采样的视频格式,以及解码器需要支持的以解码比特流的一组编码工具。级别描述了视频比特流的定量特征,例如分辨率,帧速率和比特率。对于视频编解码器生态系统而言至关重要的一点是,表明支持某个级别的解码器是否能够解码符合该级别要求的任何比特流,并且内容提供商和编码器制造商可以检查其生成的流是否符合这些要求。

为了实现这些目标,由开放媒体联盟(AOM)开发的AV1规范定义了与配置文件和级别系统耦合的解码器模型。AV1解码器模型包括平滑/位流缓冲区,解码过程以及对解码后的帧缓冲区的操作。这篇文章可以作为AV1规范中与解码器型号和级别有关的部分的简介。本文的其余部分描述了一些AV1基本概念,AV1解码器模型,并提供了开发它时做出决策的原因。有关解码器模型的更多详细信息,请阅读AV1规范。

AV1比特流的高级结构

在更高级别上,AV1结构以开放比特流单元(OBU)打包。每个OBU都有一个标头,该标头提供标识其有效负载的信息(请参见图1)。可以在AV1视频比特流中出现的OBU类型的示例是序列头OBU,帧头OBU,元数据OBU,时间定界符OBU和图块组OBU。帧OBU由打包到一个OBU中的帧头和图块组OBU组成,以提供一种通用结构的更有效表示,其中帧头数据后紧跟着帧或图块组数据。

根据语法元素show_existing_frame的值,AV1帧头可以分为两种主要类型。

show_existing_frame等于0的帧头是需要解码的常规帧。show_existing_frame等于1的帧头指定了在该帧头中指定的显示时间显示先前解码的帧(由frame_to_show_map_idx表示)的命令。当解码顺序与显示顺序不同时,该机制有助于帧重新排序。

另一个AV1概念是时间单元(TU),它由时间定界符OBU和在此之后且在下一个时间定界符OBU之前的所有OBU组成。TU始终遵循递增的显示顺序。如果未使用可伸缩性,则TU仅包含一个显示帧,即show_existing_frame等于1或show_frame等于1的帧。如果使用了可伸缩性,则TU中来自不同可伸缩层的所有显示帧都对应于相同的呈现时间。  一个TU也可以包含show_frame标志等于0的帧。此类帧会被解码但不会立即显示。它们用于支持如上所述的帧重排序。类似地,也可以发送覆盖帧,该覆盖帧会对先前解码的帧(称为替代参考帧(ARF))与源帧之间的差异进行编码。AV1比特流的这一方面类似于VP9编解码器中的超帧。

在图2中显示出了将比特流划分为时间单元的示例。在该图中,帧编号按照显示顺序编号。比特流使用具有三个时间层的4帧的双向层级预测结构。show_frame等于0的帧显示为青色框,show_frame等于1的帧显示为深绿色框。FrameHdr 2是show_existing_frame标志等于1的帧头,该帧指向先前解码的Frame 2。

平滑缓冲

平滑缓冲器是AV1解码器的一部分,用于存储AV1比特流,直到压缩数据被解码器解码完毕为止。缓冲区由所谓的“漏桶”模型构成。漏桶的类比和编码器的操作有关,在压缩器中,压缩帧被分块转储到缓冲区中,并且数据以恒定速率连续离开缓冲区。解码器缓冲区是编码器之一的对应部分。注意,平滑缓冲器是解码器内部的。通常来说,解码系统会在更高级别上具有其他缓冲区,这些缓冲区不在AV1规范的范围内。从解码器模型的角度来看,可以将较高级别的缓冲区视为传输通道中造成总延迟的一部分。例如,从解码器的角度来看,与自适应流式传输有关的缓冲将被视为传输通道的一部分,在本文中不再讨论。而且,可能经常出现预先准备编码的比特流,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值