AV1编码背景及现状
AV1AOMedia Video 1是一种开放的、免版税的视频编码标准由开放媒体联盟开发。该标准的最初设计目的是用于互联网上的视频传输同时提供一个对所有用户开放且无须支付版税的视频压缩解决方案。作为 VP9的下一代视频编码标准AV1 旨在超越 VP9提供更高的视频压缩效率同时保持或提升视频质量。在技术方面AV1 是一种基于传统混合编码框架的视频编码标准它在继承谷歌的 VP9 编解码标准的基础上引入了一系列新技术并加以改进以提高编码效率和视频质量。由于开放性和免费性质AV1 已经得到了广泛的支持并且被认为是未来视频编码的主流标准之一。本书根据公开发表的文献资料和AV1标准文档参考编码器SVT-AV1对AV1标准的各个模块进行了详细的介绍期望能够帮助开发者了解AV1标准本身及其影响。1.1 AV1的背景和现状随着高分辨率视频内容的日益普及以及虚拟现实和 360° 全景视频等沉浸式技术的兴起主流视频内容提供商对于一个高效、技术先进且开放的编解码器的需求变得尤为迫切。然而国际视频编码标准 H.265/HEVC所涉及的高昂专利授权费用和专利许可策略的不确定性使得内容提供商无法轻松便利地使用 HEVC 编码标准。HEVC 虽然提供了比前一代编解码标准 H.264/AVC更好的压缩效率但其专利许可的复杂性和成本一直是业界的痛点。作为 HEVC 专利的管理者HEVC Advance 宣布的版税结构对于内容提供商和设备制造商来说可能过于昂贵特别是对于那些需要大规模部署编解码技术的公司。此外HEVC 专利池的许可条款缺乏透明度导致潜在的用户和开发者面临不确定性担心未来可能出现的专利诉讼进而产生额外的部署成本。这种不确定性和成本问题限制了 HEVC 技术的广泛采用尤其是在开放和自由的互联网环境中。在这种背景下全球多家知名科技公司于 2015 年共同成立了 AOM。AOM 是一个非营利性的行业联盟其目标是开发开放的、免版税的多媒体传输技术。AOM 采用开放网络标准开发的理念和原则来制定视频编码标准作为迄今为止主导市场的 MPEGMoving Picture Experts Group动态图像专家组和 VCEGVideo Code Experts Group视频编码专家组标准的替代品。AOM 的董事会成员包括亚马逊、苹果、ARM、思科、Facebook、谷歌、华为、英特尔、微软、Mozilla、奈飞Netflix、Nvidia、三星电子和腾讯。AOM 的首个项目就是制定 AV1 标准这是一种新的、开放的视频编解码标准。AV1 项目建立在 AOM 联盟成员的先前研究工作基础之上包括 Xiph/Mozilla 的 Daala、谷歌的 VP10以及思科的 Thor等实验性技术平台。这些平台的研究成果为 AV1 提供了坚实的技术基础。AV1 参考编解码器的第一个版本于 2016 年发布随后在 2017 年进行了软特性冻结。尽管在标准制定期间存在一些关键错误和需要进一步改进的地方AV1 标准规范最终还是在 2018 年发布并在同年晚些时候发布了经过验证的规范版本 1.0.0。与 VP9 相比AV1 引入了 100 多项创新的编码技术。比如AV1 引入了一种基于四叉树的编码块划分机制并且允许使用多种形状的编码块划分模式从而能够根据图像内容自适应地把图像划分为大小合适的编码块。此外不同于以往只允许正方形或矩形等规则形状划分AV1 首次引入了 Wedge-based 的楔形划分技术使得运动估计和运动补偿能够适应多样化的形状划分更贴合实际物体的运动轨迹进一步提升了帧间预测的准确性。再比如除了传统平移运动补偿之外AV1 首次引入了基于仿射变换的运动补偿这不仅能够处理图像的平移运动还能更精确地捕捉旋转和缩放等复杂运动从而显著提高编码效率。AV1 还在编解码标准中集成了屏幕内容编码Screen Content CodingSCC并且首次引入电影颗粒合成工具。这意味着所有符合 AV1 标准的解码器都能够支持屏幕内容编码和胶片颗粒合成工具。这些技术的引入使 AV1 成了一个功能全面且高效的视频编码解决方案适用于各种不同类型的视频内容和应用场景。自 2018 年 AV1 标准发布以来它已经赢得了业界的广泛支持。众多知名企业包括三星、Vimeo、AMD、Nvidia、ARM、Facebook、Hulu、VideoLAN、Adobe 和苹果公司等都是 AOM 的成员。苹果公司作为 AOM 董事会成员之一虽然在联盟成立后才加入但对 AV1 的发展做出了积极的贡献。AV1 格式已被正式纳入 Coremedia可管理的视频类型之中这不仅标志着 AV1 格式的标准化也反映了它在行业内已被广泛认可和接纳。随着越来越多的公司和组织加入 AV1 生态系统中这一开放、免版税的视频编码标准正迅速成为视频流媒体和内容分发的首选格式。1.2 档次和级别考虑到通用应用场景的多样化如不同的比特率、分辨率、视频质量在制定标准时标准制定组织综合考虑了各种典型应用场景的需求开发了必要的编码算法并将它们整合到一套统一的语法规则中。因此标准规范有利于视频数据在不同应用之间的交换、兼容。考虑到实现一个标准规范完整语法的可操作性标准规范定义了不同的档次Profile和级别Level。档次指的是完整码流语法的一个子集通常包含一组特定的编码工具和技术用于满足特定应用需求的编解码器功能集。不同档次支持不同的编码特性以适应不同的应用场景。然而在给定档次的语法限制下编码器和解码器的性能可能存在较大差异这取决于语法元素的取值如解码图像的大小等。目前许多应用中的解码器能够处理一个档次下的所有情况但这种做法既不实用又不经济。为了解决这个问题标准规范在每个档次下还定义了若干级别级别是对语法元素和参数值的限定集合定义了编解码器在处理视频数据时的最大操作参数如分辨率、帧率和比特率。级别确保了即使在不同的设备和网络条件下符合特定级别的编码内容也能被相应级别的解码器处理。AV1 为解码器定义了三个档次主要档次Main Profile、高级档次High Profile和专业档次Professional Profile。主要档次允许输入视频位宽BitDepth为 8 比特或 10 比特并且支持 4:0:0 和 4:2:0 的色度采样格式。高级档次在主要档次的基础上进一步增加了对 4:4:4 色度采样格式的支持。专业档次则全面支持 4:0:0、4:2:0、4:2:2 和 4:4:4 等色度采样格式以及允许输入视频位宽为 8 比特、10 比特和 12 比特。表 1-1 所示为 AV1 标准的各个档次所支持的编码工具集合。表 1-1 AV1 标准的各个档次所支持的编码工具集合档次BitDepth/ 比特主要档次高级档次专业档次视频位宽8, 108, 108, 10, 12色度采样格式4:0:0支持支持支持4:2:0支持支持支持4:2:2不支持不支持支持4:4:4不支持支持支持级别的数值范围为 2.06.3。这些级别旨在量化解码器的硬件处理能力确保视频内容能够与解码器的性能相匹配。解码器能够实现的级别越高表明其硬件能力越强能够处理更复杂的视频编码 / 解码任务。这种分级制度使得内容提供商可以根据目标用户的设备能力选择适当的编码级别以确保视频播放的流畅性和兼容性。同时它也鼓励硬件制造商开发和优化能够支持更高级别 AV1 解码的设备。表 1-2 所示为 AV1 标准文档在各个级别下规定的部分最大操作参数取值其中参数 MaxPicSize、MaxHSize 和 MaxVSize 对输出视频的分辨率进行了限制参数 MaxDisplayRate 和 MaxDecodeRate 对解码器的最大显示速率和解码速率进行了限制。由表 1-2 可知最低的级别 2.0 对应的视频分辨率和帧率可能是 426×24030 帧 / 秒级别 3.0 对应的是 854×48030 帧 / 秒级别 4.0 对应的是 1920×108030 帧 / 秒级别 5.1 对应的是 3840×216060 帧 / 秒级别 5.2 对应的是 3840×2160120 帧 / 秒而最高级别 6.3 对应的是 7680×4320120 帧 / 秒。表 1-2 各个级别下部分最大操作参数取值级别MaxPicSize样本MaxHSize样本MaxVSize样本MaxDisplayRate样本 / 秒MaxDecodeRate样本 / 秒示例2.0147 456204811524 423 6805 529 600426×24030 帧 / 秒2.1278 784281615848 363 52010 454 400640×36030 帧 / 秒3.0665 8564352244819 975 68024 969 600854×48030 帧 / 秒3.11 065 0245504309631 950 72039 938 4001280×72030 帧 / 秒4.02 359 2966144345670 778 88077 856 7681920×108030 帧 / 秒4.12 359 29661443456141 557 760155 713 5361920×108060 帧 / 秒5.08 912 89681924352267 386 880273 715 2003840×216030 帧 / 秒5.18 912 89681924352534 773 760547 430 4003840×216060 帧 / 秒5.28 912 896819243521 069 547 5201 094 860 8003840×2160120 帧 / 秒5.38 912 896819243521 069 547 5201 176 502 2723840×2160120 帧 / 秒6.035 651 58416 38487041 069 547 5201 176 502 2727680×432030 帧 / 秒6.135 651 58416 38487042 139 095 0402 189 721 6007680×432060 帧 / 秒6.235 651 58416 38487044 278 190 0804 379 443 2007680×4320120 帧 / 秒6.335 651 58416 38487044 278 190 0804 706 009 0887680×4320120 帧 / 秒1.3 AV1 编码器和解码器现状AV1 标准的软件实现目前处于不断发展和完善的阶段。对于编码器来讲AOM 及其会员基于 AV1 标准先后推出了多款开源软件编码器其中包括libaom)该软件是 AV1 标准的参考实现它包括一个编码器aomenc和一个解码器aomdec。作为以研究为目的的编解码器libaom 的优势在于能够充分展示每个编码工具的编码特性但这通常是以牺牲编码速度为代价的。在 AV1 标准刚刚发布时libaom 的编码速度非常慢。但随后AOM 会员对其进行了优化显著地提高了编码速度并且对编码效率影响很小。SVT-AV1)该软件是由英特尔和奈飞合作启动的开源 AV1 编码器是可扩展视频技术Scalable Video Technology的实现。SVT-AV1 解码器SVT-AV1 是一个全面的编解码器解决方案它不仅包含了编码器也包含了解码器。SVT-AV1 特别注重多线程性能因此非常适合在服务器端进行点播和直播内容的转码处理。dav1d)dav1d 是一个专注于速度和性能的 AV1 解码器由 VideoLan 和 FFmpeg 组织主导并且得到了 AOM 的资助。它已被业界公认为性能优秀的 AV1 解码器并且已经被谷歌 Chrome 浏览器等多个流行平台所集成和采用)。libgav1)由谷歌主导开发的 libgav1 解码器特别优化了对 Android 平台的支持。libgav1 的推出进一步扩展了 AV1 编解码器在移动设备和基于 Android 的系统中的应用范围。这些开源解码器的开发和优化展示了 AV1 标准在不同平台和应用中的适应性和灵活性。随着这些解码器的不断进步和集成AV1 格式的视频内容将会被更广泛的用户群体访问和使用从而推动 AV1 生态系统的健康发展和快速普及。参考文献[1] https://developer.apple.com/documentation/coremedia/kcmvideocodectype_av1/[2] https://aomedia.googlesource.com/aom/[3] https://gitlab.com/AOMediaCodec/SVT-AV1[4] https://github.com/xiph/rav1e[5] https://code.videolan.org/videolan/dav1d[6] https://caniuse.com/?searchav1
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2634107.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!