什么是视频编码(Codec)?
视频编码是后期制作每个步骤的核心技术考虑因素,每个接触工作流程的人员都必须了解其基础知识。
编码是一组规则,用来告诉计算机和电子设备如何处理媒体文件,尤其是数字视频素材。术语“编解码器 Coder/Decoder”是压缩器/解压缩器或编码器/解码器一词的缩写。顾名思义,编码可使视频文件变小以进行存储,然后在需要再次使用时将压缩后的数据转换成可用的图像。
注意: 编码与容器不同。容器是实际存储数字视频数据的文件类型,可以与许多不同的编码一起使用。容器相当于放置数据的盒子,编码就像包装和拆开盒子的说明。 H.264,DNxHD和ProRes是编码,.movs、.mxfs是容器。
我们需要编码是因为未压缩的视频文件非常大。一分钟的未压缩4K素材大小可达几十GB。因此,在整个工作流程中,你可能永远都不会选择处理未压缩的素材(未编码的视频)。在大多数情况下,它太大太复杂而无法使用。
编码通过减小素材的尺寸使其更易用来解决问题,但图像不会因为压缩而看起来更差。并非所有编码都一样,你可以从高端编码中选择,它们能提供出色的图像质量。正确的编码能让视频更易于管理,甚至可能无法分辨出与原始视频素材的区别。如果选错了编解码器,差异就会很明显。压缩率过高的编码可能无法实现所需的色彩校正,对VFX工作也不现实。但压缩率太低的编码又可能会使视频在常规计算机硬件上无法编辑,并在传输数据时引起问题。不同的编码用于不同的需求,没有哪个能适用于一切情况。
选择编码是你为项目做出的最重要的技术决策之一,这在很大程度上决定了后期处理素材及工作流程的复杂程度。通常,选择一个能适用于预先计划/预先存在的工作流程的编码,比临时使用从未使用过的更加安全、快捷和便宜。最后要做的就是找出那些与你软件或硬件的编解码器不兼容的素材。与后期制作的其它内容一样,在项目开始之前要测试所有选择的编码。
要有效地选择编码,你需要了解其如何影响视频的视觉质量。虽然编码背后的数学和计算机科学非常复杂,但是你只需要了解一些基本概念。
位深度
首先,需要了解位深度(也称为色彩深度),基本上是指组成图像的色彩数量总数。视频最常见的位深度是8位(2的8次方,即1600万种色彩),10位(2的10次方,即10亿种色彩)和12位(2的12次方,即680亿种色彩)。更高位深度的编码可以存储更多色彩,从而使视频显得更流畅,提供更高质量的图像,但它们也使得文件更大。最好使用更高位比特的编码用于视频捕获、色彩校正和VFX。
色度二次采样
这是一种通过丢弃一些像素的色彩数据然后将其替换为相邻颜色来减小图像尺寸的方法。色度二次采样以比率表示,例如4:4:4(无像素丢失颜色数据),4:2:2(50%像素丢失颜色数据)和4:2:0(75%像素丢失颜色)数据)。这样可以节省大量空间,并且在大多数情况下不会引起观看者的注意,因为人眼对亮度的敏感程度远大于对色彩变化的敏感程度。
但是,您需要知道不同的色度二次采样级别之间的不同。太多会明显降低图像质量,并使某些方式处理图像变得困难。通常应该选择具有尽可能少的色度二次采样的编码以进行图像捕获,这将为原始相机文件提供更多的色彩数据,使色彩校正和VFX的工作变得更加容易。例如,如果您以4:2:0编码拍摄绿幕画面,将会遇到很多麻烦。
编码压缩技术
编码使用多种高级计算技术来压缩视频数据,有两种主要的压缩技术,空间压缩和时间压缩。
空间压缩 是节省视频各个帧内空间的技术,通常称为帧内压缩。它是通过将像素分组在一起并将其存储为单个颜色值(称为块)来工作的。块占用的数字存储空间比所有像素单独占用的空间要少得多,尤其是当图像的大部分已经是相似颜色时。但是,这会导致具有很多细节的复杂图像出现一些质量损失。为了克服这个问题,许多编码器允许采用几乎任何形状和大小的灵活块,从而使质量损失的感觉更小。
时间压缩 是一种节省多个帧空间的技术,通常也称为帧间压缩。它使用与空间压缩相同的块压缩技术,但不是每个帧都用。时间压缩仅保存连续帧之间的差异,如果两帧之间的图像一半相同,则仅将新像素保存在第二帧中,其余部分则用前一帧中未更改的像素填充。使用此方法的编解码器称为Long GOP(Group of Picture)编解码器,它们存储信息非常有效,因为不需要存储每一帧的全部内容。但是,由于每帧都不包含完整的图像,因此,如果你不连续地处理素材(例如在编辑时),则计算成本会更高。通常,使用时间压缩的编码非常适合在较小的空间存储信息,但不适用于处理素材。
比特率
比特率是衡量编解码器随时间使用的数据量,通常表示为每秒兆位(Mbps或Mb/s)。编码的比特率比几乎所有其他因素更能决定视频的视觉质量。为什么?因为编解码器只能尽可能的使用比特率允许使用的数据。如果编码的比特率为10Mbps,则2分钟的素材只能使用1200Mb的存储空间(10Mbps x 120秒)。拍摄720p或8K都没关系,文件大小不变。由于8K素材的像素是720p的36倍,因此,如果你将其设置为与720p相同的比特率,则压缩的严重程度至少是36倍。从技术上来说,8K文件可能有更高的分辨率,但是看起来将非常差。选择编码时,非常重要的是测试比特率选项,确保它们可以再现项目所需的视觉质量。
注意:兆位(Mb)与兆节(MB)不同。1字节由8比特(位)组成。在前面的示例中,1200Mb等于150MB(1200Mb / 8位= 150MB)。不管二进制前缀如何,字节与位的1:8转换是不变的。
编码的类型
没有某个编码适合全部工作流程。你在摄影机内使用的编码不会与显示在观众屏幕上的编码相同。这两个应用所需的特性和规格完全不同。如果你在每个步骤中使用相同的编码,则必然在此流程中要做出牺牲。所以必须选择正确的编码,让工作流程简单,同时又保证质量。
你的旅程始于摄像机以及用于捕获素材的编码。最佳的捕获编码具有较深的位深度、较低的色度二次采样、较高的位速率,并且不使用长GOP压缩。你应该使用捕获效果最好的编码,因为它将成为转码到剪辑后的所有其他编解码器的源头。你随时可以将高质量的素材转换为低的,反之则不行。
从摄像机上导出素材后,下一个编码选择就是你用来剪辑素材的编码。剪辑需要高于图像质量的速度和易用性,因此,最好是能将原始相机文件转码为可生成小文件的编码。但是,请确保避免使用长GOP编码(如大多数H.264版本)进行剪辑。这些编码确实会生成较小的文件,但是当你在时间轴上进行拖动时,计算机将不得不努力地保持对文件的引用,这可能会大大降低您的剪辑速度,要确保你的剪辑编码仅使用空间压缩(例如DNxHD或ProRes)。另外,就算你的计算机需要使用质量较低的编码进行剪辑,也不用难为情。几年前,好莱坞的大片电影甚至是以480p的分辨率剪辑的,只因为那样更快、更简单。此外,一旦定剪,务必重新链接到高质量的文件,以替换低质量的剪辑编码。
剪辑完成后,你将需要用于色彩校正和VFX的编码。通常应该只使用视频时间线的原始摄像机文件,以确保获得最佳质量的图像。但是,如果您决定对这一流程使用单独的编码,则将需要能比捕获编码保留更多信息的编码。
当需要导出视频进行交付时,你可能会认为更大的编解码器总是更好。但是实际上,媒体最后被使用的平台或环境才决定了该使用哪种编码。
将视频的最终版本交付到预定的目的地后,你需要导出其他编码进行存档。就像这个时代一样,软件和硬件一直在变,有时在交付数年后客户要求提供更高分辨率或更高质量的文件。这种情况下,并非总是可以打开原始项目文件重新导出。因此,你需要一个用于存档文件的良好编码。它应具有极高的质量、尽可能高的比特率,以便将来在需要进行转码时获得最佳的结果。通常,值得考虑的是存储一个很大的文件。
最后,还需要考虑另一个因素,它们的受欢迎程度。流行的编码更有可能在五年后在你和客户的计算机上还能工作得很好,受欢迎的编码会获得更多的技术支持。如果出现问题,又有成千上万的其他用户也在求助,则更容易获得帮助。为项目选择编码时,使用流行的编码能节省大量时间。