点击上方“LiveVideoStack”关注我们

▲扫描图中二维码或点击阅读原文▲
了解音视频技术大会更多信息
编者按:本文来自Zoe Liu对OTTVerse的投稿,详解2023年及未来的全球视频编码领域的趋势。感谢Zoe Liu对中文版的审校。
原文 https://ottverse.com/video-software-encoding-2023-state-of-the-art-trends/
文 / Zoe Liu
译 / 核子可乐
在这篇评论文章中,微帧科技(Visionular)公司联合创始人兼CTO Zoe Liu分享了她对于2023年及之后编码领域的发展态势预测,具体包括低能耗视频转码、HEVC与AV1的发展前景、实时转码、AI在转码中的作用等议题。
高能效视频转码
预计在2023年,HEVC/H.265等软件编码解决方案的能效优化将成为新的关注重点。
除了传统的BD-Rate性能标准(主要侧重于以较低码率提供更高视觉质量)之外,“能效”指标在软件转码技术选型中的意义也将愈发凸显。
这主要归结于以下两类视频内容的快速增长:
UGC(用户生成内容);
PUGC(专业UGC),例如Vimeo平台托管的视频内容。
印度社交平台ShareChat公布的数据显示,该平台每月内容上传量已达惊人的7500万次!
如此庞大的视频上传量,必然带来更高的转码成本(对应算力资源与能耗)。因此,能效的提升有望显著降低计算成本,同时仍保持良好的转码效率。
可行方案之一是升级到新一代标准下的编解码器。然而,新一代视频编码标准采用了比上一代更复杂的编码算法,反而拉低了转码的能效。
于是我们再次陷入经典的两难取舍:
如果新的编解码器能效不高,那视频解决方案供应商就不会轻易使用。
但如果供应商继续使用旧有标准的编解码器,就会错失最新编码工具及算法带来的可能收益,而继续消耗高昂的网络带宽成本,尤其对于UGC及PUGC这样巨大体量的视频场景,将产生巨额分发成本。
面对市场需求,新的编码工具需要考虑能效优化,力求在以下多个编码器优化指标之间获取理想的平衡点:
视觉质量
码率消耗
CPU使用率
编码速度
处理延迟

H.264/AVC仍主导 HEVC和AV1将继续增长
H.264/AVC
如今,H.264/AVC继续获取各类平台的一致支持,因此我们预计在新的一年,H.264/AVC将继续占据主导地位,不过它的市场份额应该也会呈现萎缩趋势。
H.265/HEVC
我们预计H.265/HEVC的部署将呈现持续增长态势,尤其是应对HDR及UHD(2K/4K/8K)视频的应用场景。
近年来,我们观察到了HEVC/H.265在全球范围内的迅猛增长。对于底层部署有HEVC硬件解码的设备,最近Chrome浏览器又悄悄全面打开了对HEVC播放的支持 [1],进一步加速了这种增长态势。
我们收到市场明确反馈,一部分云体育分析及流媒体平台,清晰看到了将HEVC推广到全用户、全平台的巨大潜力。采用新版Chrome浏览器,这些平台超过65%的用户群体,不做任何设备更新,都将可以在Chrome中观看HEVC视频流。
AV1
我们预计AV1的部署也将呈现增长。AV1是由AOMedia – 开放媒体联盟推出的开源、免版税的视频编码标准。
到目前为止,YouTube、Vimeo(俩家全球头部视频共享平台)、Meta/Facebook(全球最大社交媒体平台)和Netflix(领先的流媒体平台)都已推出了AV1格式的视频内容。
最近,高通也宣布将从第二代骁龙8芯片起支持AV1的硬件解码,考虑高通骁龙芯片在安卓手机中举足轻重的地位,可以想见 AV1的市场份额有望进一步扩大。
我们预计苹果将在2023年,会将宣布对AV1在其iOS/MacOS/Safari中的全生态支持。在苹果已发布的AVFoundation框架代码中,已包含有支持AV1的最新 API选项。
AV1在RTC(实时通信)中的应用
RTC对于延迟有着非常严苛的要求,而AV1则提供一系列能够有效压缩屏幕内容的特殊编码工具。从供需两方面来看,AV1在屏幕内容编码(SCC)领域将大有可为。
处于领先位置的RTC平台Webex,已将AV1格式引入生产环境。Webex还与NASA以及一些其他科技机构合作,将AV1实时视频编码应用于Artemis I登月任务,实现在地球与月球之间极低带宽下的高质量视频通话。
其他编解码器
2023年,其他编解码器在市场上仍可占据一片天地。我们预计除H.264、HEVC、AV1、VP8/VP9、AVS2/AVS3之外,EVC和VVC等其他一些编码标准解决方案,将在市场中同时共存。
除RTC外,流媒体点、直播应用,也将对低延迟、高并发、高处理速度的编码方案,提出更多的需求。
这些指标也将成为2023年各编码器的主攻方向。

架构支持:x86、ARM与M1
我们认为软件与硬件编解码器方案将继续共存,凭借各自优势应用于不同的使用场景。一般来说,软件编解码器能提供更好的编码效率,即:在实现更佳视觉质量的同时将码率压得更低(节约传输带宽)。
另外,软件编解码器也更加灵活,可以在多种平台和设备上灵活部署。
软件编解码器需要考虑同时支持x86和ARM架构。随着苹果M1设备、边缘计算、移动设备和ARM架构服务器的广泛采用,对ARM处理器的支持需求将同步激增。
ARM处理器(例如Amazon EC2提供的AWS Graviton处理器)的功耗和定价,明显优于x86架构的同类处理器。
我们初步评估,Graviton 2 ARM处理器的性能可能比x86同类处理器低30%,但明显具备价格优势。
新一代编解码器和改进方向
预计新一代视频编码标准将继续发展,具体包括:
由AOMedia开发的AV2,将提供超越AV1的新的编码工具。
通过ITU-T和MPEG之间的协同努力,新开发的编码工具已经在增强压缩模型(ECM)中体现出了对VVC在压缩性能上的显著超越。
对AI在视频编解码器中应用的进一步探索,打破传统2D变换+运动补偿框架的约束。
除了转码之外,新技术还有望将视频处理和编码更加有效的结合起来。举例来讲,采用超分辨率技术实现更加有效的视频传输,已在工业界获取了更多认可。
Per-title ABR技术,仍持续它的领先地位,继续支持多种网络条件下的多分辨率、多码率视频的共享和分发。

AI在转码中的应用
我们与全球多所大学合作,共同撰写了题为《基于深度神经网络的视频压缩系统研究进展:综述与案例研究》(Advances in Video Compression System Using Deep Neural Network: A Review and Case Studies)的论文,已发表在2021年9月的《PROCEEDINGS OF THE IEEE》期刊论文集中。这也是最早的在此期刊中发表的关于AI技术在视频转码中应用的综述性论文之一。
另外值得一提的是,2023年的WACV(IEEE/CVF计算机视觉应用冬季大会,IEEE/CVF Winter Conference on Applications of Computer Vision)将最佳算法论文奖,授予了一篇探讨AI在转码中应用的论文[2]。
AI确实展示出了广阔的应用前景,但仍须持续研发行之有效的实现方法,才能最终在视频编解码真实场景中落地。
参考文献
[1] Dandan Ding, Zhan Ma, Di Chen, Qingshuang Chen, Zoe Liu及Fengqing Zhu, 《基于深度神经网络的视频压缩系统研究进展:综述与案例研究》,“Advances in Video Compression System Using Deep Neural Network: A Review and Case Studies,” IEEE论文集第109期第9篇,2021年9月,第1494至1520页。[arXiv.org Online]
[2] Zhihao Duan, Ming Lu, Zhan Ma及Fengqing Zhu, 《使用量化分层VAE进行有损图像压缩》,“Lossy Image Compression with Quantized Hierarchical VAEs”。[WACV 2023获奖论文] [arxiv.org online link]
我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%
我正在使用ruby1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\
我正在尝试在Ruby中复制Convert.ToBase64String()行为。这是我的C#代码:varsha1=newSHA1CryptoServiceProvider();varpasswordBytes=Encoding.UTF8.GetBytes("password");varpasswordHash=sha1.ComputeHash(passwordBytes);returnConvert.ToBase64String(passwordHash);//returns"W6ph5Mm5Pz8GgiULbPgzG37mj9g="当我在Ruby中尝试同样的事情时,我得到了相同sha
导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO
动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、
2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p