AI视频压缩的原理及未来

2023-11-08 06:30
文章标签 ai 未来 原理 视频压缩

本文主要是介绍AI视频压缩的原理及未来,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AI 视频压缩是一场充满潜力并得到大型科技公司支持的 AI 革命。事实上,H.265 和 ProRes 等现代视频编解码器现在正受到由 AI 支持的新型智能视频压缩的挑战。这些 AI 视频编解码器不一定要压缩视频文件,而是根据上下文和参考图像重建视频文件,以便在大幅减少文件大小的情况下保持质量。

继续阅读,了解以下有关AI视频压缩的更多信息。

今天使用哪些视频编解码器?

顾名思义,编解码器实际上是 “压缩 “和 “解压 “的组合词。因为这就是编解码器的作用:压缩和解压。

视频和音频的编解码器提供 “有损 “或 “无损 “压缩。有损压缩牺牲了文件的一些数据以使文件更有效,而无损压缩则包含所有的原始数据。大多数视频编解码器都属于有损压缩。

可用的编解码器类型之间也有区别: 交付型、中间型和采集型。

交付编解码器——用于广播和播放

  • H.264 (AVC)
  • H.265 (HEVC)
  • AV1
  • VP9
  • WMV

中间编解码器——用于视频编辑

  • ProRes 422 和 4444
  • DNxHR
  • DNxHD
  • CineForm

采集编解码器——用于采集视频

  • ArriRaw
  • Blackmagic Raw
  • Redcode Raw

我们中的许多人没有意识到我们身边有多少编解码器,从电话到甚至我们消费的广播内容。事实上,看电视基本上是在实时见证压缩-解压过程。

为什么我们需要更好的视频编解码器?

我们需要更好的视频编解码器有几个原因,但主要是因为高分辨率视频文件已经变得大得离谱,而且一直在变大,部分原因是 6K、8K、甚至 12K 分辨率的内容。

从 Netflix、Amazon Prime、HBO Max 或 Disney+流式传输4K 视频也会占用大量带宽,社交媒体平台驱动的视频消费也是如此。

事实上,视频在网络世界中无处不在:

  • 全世界普通人每天观看大约84 分钟的视频。
  • 早在 2018 年,思科就预测视频将占全球所有网络流量的 82%  (当时为 75%)。
  • 到 2022 年,仅视频流就占所有移动数据消费的70% 以上。爱立信表示,到 2027 年,这一数字将增加到 80%。

以上对于视频创作者和消费者来说是个好消息,但问题是视频占用了大量空间。消费者也已经习惯于按需提供高质量视频。

最重要的是,传统的编解码器是愚蠢的,因为它们不知道自己在做什么或正在压缩什么图像——它们只是压缩和解压缩像素,仅此而已。

什么是AI视频压缩?

传统的视频压缩会删除一些视觉信息,以减小视频的整体文件大小。AI 视频压缩检查视频的内容以在更小的范围内重新创建它。换句话说,它创建了原始视频的超逼真副本。

这是因为“AI 视频压缩”是基于机器学习 (ML) 的视频压缩(有时称为神经压缩)。机器学习算法或模型学习执行任务并根据人类提供的相关训练数据(在本例中为视频资料)进行评估。

这些模型已经学会了人脸是什么样子以及如何移动的概念模式,以及更广泛的环境模式,例如“船通常出现在水上”。

事实上,目前已经存在多种 AI 视频编解码器,包括:

  • NVIDIA 的 Maxine
  • 谷歌的 VP9
  • AIVC
  • AccMPEG

让我们来看看 AI 视频压缩究竟是如何工作的。

AI 压缩的工作原理

说明 AI 视频压缩工作原理的最简单方法之一是将其视为一件矢量艺术作品。

矢量艺术是:

  • 从参考图像创建。
  • 使用数学元素重新创建图像资产。
  • 可无限扩展。

NVIDIA 的 Maxine 视频编解码器等 AI 压缩器的运行方式类似。他们使用参考图像(例如,每分钟一帧画面)来确定色彩平衡并隔离其他控制点,例如背景、前景、主体的面部和运动。

编解码器在压缩时对这些数据进行映射,然后在解压时通过一个称为重新合成的过程填补细节,对其进行重建。

为什么要这样做?

视频背景

如前所述,传统的编解码器不会对被压缩的媒体进行背景分析。他们在逐帧的水平上查看数据,看看哪些内容可以被删除而不影响整体质量。它们不知道视频中是否有说话的人、在高速公路上行驶的汽车、正在捕食的熊等等。这可能导致对其他重要数据的苛刻压缩。

带宽友好

通过只发送每一帧的基本信息,本质上是通过发送数学元素(小)而不是像素(大)——并在运行中重建帧,AI 压缩是带宽友好的并且可以无限扩展。通过这种方式,AI 编解码器与thispersondoesnotexist背后的技术并没有什么不同,它可以为不存在的人创建逼真的图像。

升级

但这些编解码器不仅仅是压缩视频;它们还可以通过其无限的可扩展性提高视频质量。由 AI 编解码器编码的视频内容可以从头开始重建,以适应任何分辨率和帧率。在这方面,AI 视频压缩很像视频升级,它使用类似的过程来提高旧视频和电影内容的质量。

视频压缩的未来是什么?

如果你想知道目前的人工智能压缩工具是否会把大多数其他编解码器推到不重要的位置,答案是: 可能不会。

首先,如果 AI 压缩重新创建图像,它会引出一个问题,新的输出是否与原始图像一样详细?这是一个常见的反对意见——但解决方案正在发挥作用。

但主要是,设备制造商总是会制作适合其用例的编解码器。大多数相机都在设备本身的 ASIC 或 FGPA 式芯片上嵌入了定制的采集编解码器。这不会很快改变,所以我们可能会一直使用 Apple 编解码器、Sony 编解码器、ARRI 编解码器、Red 编解码器和其他设备制造商的编解码器。

制造商肯定会继续这样做,因为他们以特定于相机文件格式的方式压缩相机数据。

但对于中间和交付编解码器,AI 视频压缩是一个巨大的变化,将提供天文数字的性能优势。

AI 视频压缩简述

编解码器已经存在很长时间了,但由于高分辨率视频对带宽和内存的需求不断增长,H.265 等现代编码器最近承受着巨大的压力。

这就是为什么新一代基于 AI 的编解码器可以更有效地压缩视频,通过无限可扩展性提高视频质量,并且与传统编解码器不同——意识到它们正在编码的内容,现在已经加入了竞争。

基于机器学习和深度学习技术,这些编解码器成为视频制作和后期制作工作流程中不可或缺的工具,可能只是时间问题。

本文转载自实时互动网,文章出处《AI视频压缩的原理及未来》 

这篇关于AI视频压缩的原理及未来的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/368366

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L