视频编码格式
编辑视频编码格式,是一种内容表示格式用于存储或传输数字视频内容(例如,在一个数据文件或比特流)。它通常使用标准化的视频压缩算法,通常基于离散余弦变换(DCT)编码和运动补偿。视频编码格式的示例包括H.262(MPEG-2第2部分)、MPEG-4第2部分、H.264(MPEG-4第10部分)、HEVC(H.265)、Theora、RealVideo RV40、VP9和AV1。能够将特定视频编码格式压缩或解压缩的特定软件或硬件实现称为视频编解码器;Xvid是视频编解码器的一个示例,它是几种不同的编解码器之一,该编解码器以软件的形式实现以MPEG-4 Part 2视频编码格式对视频进行编码和解码。
一些视频编码格式由称为视频编码规范的详细技术规范文档记录。一些这样的规范被标准化组织书面并批准为技术标准,因此被称为视频编码标准。术语“标准”有时也用于事实上的标准以及正式标准。
使用特定视频编码格式编码的视频内容通常与AVI、MP4、FLV、RealMedia或Matroska等多媒体容器格式内的音频流(使用音频编码格式编码)捆绑在一起。因此,用户通常没有H.264文件,而是具有.mp4视频文件,该文件是一个MP4容器,其中包含H.264编码的视频以及通常与AAC编码的音频。多媒体容器格式可以包含多种不同的视频编码格式中的任何一种。例如,MP4容器格式可以包含以下格式的视频:MPEG-2第2部分或H.264视频编码格式等。另一个示例是文件类型WebM的初始规范,该规范指定了容器格式(Matroska),但确切说明了Matroska容器内部使用的视频(VP8)和音频(Vorbis)压缩格式,即使Matroska容器格式本身也是如此能够包含其他视频编码格式(后来将VP9视频和Opus音频支持添加到WebM规范中)。
“格式”和“编解码器”之间的区别
编辑尽管有时将诸如H.264之类的视频编码格式称为编解码器,但在规范及其实现之间存在明显的概念差异。视频编码格式在规范中进行了描述,以给定视频编码格式对未压缩视频进行编码/解码的软件或硬件是这些规范的实现。类似地,视频编码格式H.264(规范)对于编解码器 OpenH264(特定实现),而C编程语言(规范)对编译器GCC(特定实现)。请注意,对于每个规范(例如H.264),则可能有许多实现该规范的编解码器(例如x264、OpenH264、H.264 / MPEG-4 AVC产品和实现)。
在文献中,这种区别并未在术语上始终如一地体现出来。H.264规范调用H.261、H.262、H.263和H.264 视频编码标准,并且不包含编解码器一词。联盟开放媒体明确区分AV1的视频编码格式和编解码器,他们正在开发的陪同,但调用视频编码格式本身就是一个视频编解码规范。所述的VP9规范要求视频编码格式VP9本身编解码器。
作为合并的一个示例,Chromium的和Mozilla的页面列出了它们的视频格式,同时支持两种呼叫视频编码格式,例如H.264编解码器。再举一个例子,在思科发布的免费啤酒视频编解码器中,新闻稿将H.264视频编码格式称为“编解码器”(“通用视频编解码器的选择”),但称思科为之后不久便实现了H.264编码器/解码器的“编解码器”(“开源H.264编解码器”)。
视频编码格式并不规定实现该格式的编解码器使用的所有算法。例如,视频压缩通常如何工作的很大一部分是通过找到视频帧之间的相似性(块匹配),然后通过复制先前编码的相似子图像并在必要时添加小的差异来实现压缩。找到这样的预测因子和差异的最佳组合是一个NP难题,这意味着实际上不可能找到最佳解决方案。尽管视频编码格式必须支持跨比特流格式的此类压缩,但是通过不必要地强制使用特定算法来查找此类块匹配和其他编码步骤,实现视频编码规范的编解码器仍可以自由选择进行优化和创新算法。例如,H.264规范的第0.5节指出,编码算法不属于该规范的一部分。自由选择算法还允许不同的时空复杂度 对于相同的视频编码格式,需要进行权衡取舍,因此现场直播可以使用快速但空间效率低的算法,而一次性DVD编码用于以后的批量生产可以将较长的编码时间用于空间效率的编码。
无损、有损和未压缩的视频编码格式
编辑消费类视频通常使用有损视频编解码器进行压缩,因为与无损压缩相比,这将导致文件xxx缩小。尽管有一些视频编码格式是专门为有损或无损压缩而设计的,但某些视频编码格式(例如Dirac和H.264)都支持这两种格式。
未压缩的视频格式(例如Clean HDMI)是在某些情况下(例如,通过HDMI连接将视频发送到显示器时)使用的无损视频的一种形式。一些高端相机也可以直接以这种格式捕获视频。
帧内视频编码格式
编辑帧间压缩使编码视频序列的编辑变得复杂。相对简单的视频编码格式的一个子类是帧内视频格式,例如DV,其中视频流的每个帧都独立压缩,而无需参考流中的其他帧,因此不尝试采用连续图片之间随时间变化的相关性的优势,可以实现更好的压缩。一个示例是Motion JPEG,它只是一系列单独的JPEG压缩图像。这种方法是快速和简单的,其代价是编码视频比支持帧间编码的视频编码格式大得多。
因为帧间压缩将数据从一帧复制到另一帧,所以如果仅剪切原始帧(或在传输中丢失),则后续帧将无法正确重建。在进行视频编辑时,在帧内压缩视频中进行“剪切”几乎与编辑未压缩视频一样容易:人们找到每一帧的开始和结尾,然后简单地逐位复制要保留的每一帧,然后丢弃该帧。不需要一个。帧内和帧间压缩之间的另一个区别是,对于帧内系统,每个帧使用相似数量的数据。在大多数帧间系统中,某些帧(例如MPEG-2中的“ I帧”)不允许从其他框架复制数据,因此与附近的其他框架相比,它们需要更多的数据。
可以构建一个基于计算机的视频编辑器,以发现当我的帧被编辑而其他帧需要它们时引起的问题。这样就可以将HDV等较新的格式用于编辑。但是,与以相同图片质量编辑帧内压缩视频相比,此过程需要更多的计算能力。但是,这种压缩对于任何音频格式都不是很有效。
配置文件和级别
编辑视频编码格式可以定义对编码视频的可选限制,称为配置文件和级别。可能有一个解码器仅支持解码给定视频格式的配置文件和级别的子集,例如使解码器程序/硬件更小、更简单或更快速。
甲轮廓其中编码技术限制是允许的。例如,H.264格式包括配置文件baseline、main和high(以及其他)。虽然在所有配置文件中都支持P切片(可以基于先前的切片进行预测),但在主要和高级配置文件中都支持B切片(可以基于先前的切片和后续的切片进行预测),但在基线中不支持。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/117318/