结合微帧编码引擎,从视频编解码角度对Sora浅析

简介: 2024年初,OpenAI发布的视频生成模型Sora成为焦点。Sora能生成长达1分钟的高质量视频,标志着生成式AI的重大突破。微帧分析了Sora的视频编码技术,发现其主要使用H.264编码,微帧的编码引擎WZ264和WZ265能显著降低视频码率,提升效率。

要问2024开年什么东西最火,那一定是OpenAI发布的轰动全球的视频生成模型——Sora,与之前的视频生成模型相比,Sora的特点是能够生成长达1分钟的视频,同时保持高视觉质量和视觉一致性,这无疑是生成式AI的一项重大突破,OpenAI亦表示,Sora是能够理解和模拟现实世界的模型的基础,这一能力将是实现AGI(通用人工智能)的重要里程碑。
OpenAI.png
随着以Sora为代表的视频生成模型的快速发展,它们在不同领域的应用也正在加速,如降低电影行业制造成本及门槛、为教育行业提供更具吸引力的视频讲解内容等等......可以预见,未来的视频量级将会呈指数型增长。

视频编解码作为视频底层核心技术之一,发挥着至关重要的作用,视频编码算法直接影响到视频的生产、传输、质量、成本等。微帧作为视频编码行业的领军企业,非常关注AIGC的行业动态,Sora发布后,微帧产研团队从编解码角度对Sora样例视频做了一系列的分析。

· Sora采用的编码器:开源软编x264、硬编

首先我们查看了所有视频的信息,发现均为H.264/AVC编码标准、帧率为30fps、分辨率最高为1080P的视频,且所用编码器输入的都是8bit YUV420格式。其中部分视频所采用的编码器为开源软编x264,另一部分未显示编码器信息,且这部分视频码率偏高,这里我们猜测可能使用的是硬编。

原始码率1.png
原始码率2.png
原始码率3.png

我们挑选了一组视频进行帧类型对比【x264编码的视频Tokyo-walk VS 未显示编码信息的视频Flower- blooming】,发现Flower-blooming视频并没有设置B帧,而无B帧这个特点也呈现了“未标注编码器信息的视频为硬件编码”的较大可能性。
源视频帧.png

· 对比x264,微帧编码引擎可节省45%~65%码率

Sora这次公开的经典视频Tokyo-walk,采用的就是开源x264软件编码器,分辨率为1080P,码率为6459kbps,体积大小为46.1MB。
Tokyo视频信息.png

我们将此视频分别用微帧编码引擎WZ264、WZ265进行了编码压缩处理,WZ264编码后的视频码率节省了45.3%(降低到3532kbps),WZ265编码后的视频码率节省了64.7%(降低到2281kbps),下面我们来看看对比效果。

从远景上看,无论是人眼感兴趣区域的人物主体,还是背景灯光、建筑物、虚化的人群,WZ264与WZ265编码压缩后的每一帧都与源视频无异。
封面2.png

再看细节,皮肤纹理、发丝、痘印瑕疵、眼镜反射物等,也基本与源视频一致。
Tokyo对比图31302.png

此经典视频的整体画面较为复杂,编码过程中需要处理的信息较多,如果是更简单的画面,微帧编码引擎的压缩率是否会更高?如果是硬编处理(未显示编码器信息)的源视频,压缩率又是如何?

· 对比硬编,微帧编码引擎可节省60%~90%码率

我们挑取10组画面相对简单、硬编处理的源视频,看看WZ264及WZ265的处理结果,可以发现,WZ264能够减小70%左右的码率,WZ265压缩率则更高,能够减小80%左右的码率。
硬编264.png
硬编265.png

其中,压缩率最高的视频为Flower-blooming,源视频码率为12049kbps,经WZ264编码后的视频码率节省了79.37%(降低到2487kpbs),WZ265编码后的视频码率节省了88.92%(降低到1335kbps),以下是与源视频的画面对比效果,可见在压缩率如此之高的情况下,画面质量依然保持每一帧都与源视频几乎无差异。
Flower封面.png

· 缘于编码技术,微帧与OpenAI建立联系

Sora目前对外展示的视频均为H.264标准视频,原因不言而喻,因其兼容性更高,能向所有用户展示研发成果。但更新一代的视频编码标准H.265及AV1的压缩率更高,待Sora向大众开放使用后,是否会考虑到视频体积问题而加入“可支持输出视频编码标准为H.265、AV1”的选择项,目前还未知,但值得期待。

再者,如果以Sora为代表的视频内容生成端,选择采用像微帧编码引擎这样的更高效率的编码器,为用户输出更高质量、更小体积的视频,也能为后续的视频传播分发带来极大价值。

基于以上分析,微帧海外团队联系了 VP of Research at OpenAl 。OpenAI表示,在目前Sora的初始阶段,主要精力投入在大模型优化改善上,视频编解码并非高优任务,也期望未来与微帧进行详细的技术交流和合作探讨。同样微帧也非常期待,当“AI生成”与“视频传播”深度链接以后,能够与OpenAI共同探讨AI与视频编码的结合,一起探索创新。

相关文章
|
机器学习/深度学习 存储 编解码
微帧Per-Title编码技术:自适应码率-画质-分辨率
Per-Title编码技术由Netflix提出,旨在为每部电影量身定制合适的码率阶梯,以节省带宽和存储成本。传统固定码率阶梯在某些视频类型上存在浪费,Per-Title通过分析视频内容的复杂度,生成最优的码率-质量曲线,确保在有限带宽下提供最佳视频质量。微帧的Per-Title技术进一步优化了这一过程,通过智能算法和深度学习,为每个视频选择最合适的分辨率和码率组合,实现高效传输和优质观看体验。
|
存储 编解码 算法
微帧WZ-JPEG图片编码压缩技术,实现超高压缩效率
在数字化时代,图像数据爆炸式增长,对传输和存储提出巨大挑战。JPEG作为互联网上最广泛应用的图片格式之一,占据超过60%的市场份额。微帧WZ-JPEG编码压缩技术通过优化DCT变换、量化及熵编码等步骤,实现了显著的压缩效率提升,平均节省27%的图片体积,复杂场景下可达40%,同时编码速度提升4倍,确保了高质量图像的快速加载与传输,极大提升了用户体验。此外,微帧还针对WebP、HEIF和AVIF等格式进行了专门优化,进一步彰显其在图像处理领域的技术优势。
|
编解码 算法
为什么受损的视频数据通常显示为绿色?为什么很多30帧/秒的视频实际都是29.976帧/秒?
视频编码采用YUV格式因其亮度与色度分离,利于压缩且兼容黑白显示;受损视频常显绿色因YUV转RGB时Y、U、V为0导致;30帧/秒视频实为29.976帧/秒源于NTSC标准适应彩色电视需求;H.264等标准中H无特定含义,H.264又名MPEG-4 AVC,是ITU-T与ISO/IEC MPEG合作成果。
|
存储 图形学
手机广告常见的10bit是什么?YUV444、YUV422、YUV420、YUV411是什么?
10bit色深相较于8bit,能提供更多的灰阶和显色数,使色彩过渡更加平滑,减少色带现象。YUV444、YUV422、YUV420、YUV411是不同的采样方式,通过减少UV分量来节省空间。YUV420和YUV411虽都是每4个Y分量用1组UV分量,但YUV420在垂直方向上交替存储U和V,而YUV411仅在水平方向上进行4:1抽样。
|
存储 编解码 算法
视频为什么可以被压缩?帧内压缩与帧间压缩有何区别?视频编码中的CBR、VBR、CRF...是什么?
视频压缩基于冗余,包括空间冗余、时间冗余、视觉冗余和编码冗余。帧内压缩利用空间相关性,帧间压缩利用时间相关性。视频编码中的码率控制方法有CBR(固定码率)、VBR(动态码率)、CRF(固定码率系数)、CQP(固定质量参数)、CVBR(约束可变码率)和ABR(平均码率),各有优缺点,适用于不同的场景。
|
存储 编解码 算法
微帧科技:综合多项指标评价视频质量,才能更接近主观感受
视频质量评价指标如PSNR、SSIM和VMAF是衡量画面质量的重要工具,但不应成为视频工作者的唯一目标。微帧致力于优化画质,提升观看体验,强调综合评估指标,以实现最接近人眼主观感受的效果。本文探讨了PSNR avg.MSE与PSNR avg.log的区别,以及VMAF的优势与不足。
|
机器学习/深度学习 PyTorch API
ONNX 与实时应用:延迟敏感场景下的部署策略
【8月更文第27天】在实时应用中,如自动驾驶汽车、视频分析系统等,快速响应和高吞吐量是至关重要的。Open Neural Network Exchange (ONNX) 提供了一种标准化的方法来部署机器学习模型,使其能够在不同的硬件和平台上高效运行。本文将探讨如何利用 ONNX 在延迟敏感的应用场景中部署模型,并提供一些策略和示例代码来确保低延迟和高吞吐量。
1975 4
|
机器学习/深度学习 算法 PyTorch
算法金 | 这次终于能把张量(Tensor)搞清楚了!
本文是关于PyTorch中张量(Tensor)的入门教程,由全网同名\[算法金\]作者撰写。文章介绍了张量的基础概念,强调其在深度学习中的核心地位,并阐述了张量与向量、矩阵的关系。接着,详细讲解了如何在PyTorch中创建和操作张量,包括张量的数学运算、广播机制、索引切片以及变形与重塑。此外,还涉及张量的高级功能,如自动求导系统和高级数学函数。最后,文章提到了张量在深度学习中的应用、性能优化技巧和调试方法,鼓励读者通过实践提升技能。
2099 1
算法金 | 这次终于能把张量(Tensor)搞清楚了!
|
SQL 自然语言处理 NoSQL
LangChain之链的认识(上)
Chain是LangChain中非常重要的一个组件,可以帮助我们更好地组织和管理应用程序的各个功能模块,提高开发效率和应用程序的复杂性。
618 3
|
编解码 开发者 Python
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
1957 1