美文网首页
AV Foundation ④ 视频的压缩与文件格式

AV Foundation ④ 视频的压缩与文件格式

作者: _涼城 | 来源:发表于2022-05-31 09:32 被阅读0次

    视频

        视频文件是由一系列称为”帧“的图片组成的,在视频文件的时间轴线上每一帧代表一个场景。要创建连续运动的动画,我们要在短时间间隔内提供特定数量的帧。视频文件一秒钟内所能展现的帧数称为视频的帧率,并用 FPS 作为单位进行测量。

    RGB

        一般图像是有红(R)、绿(G)、蓝(B)三个通道,每个通道由(0-255)不同的值组成,这就构成了多彩的图像,这称为图像的颜色空间。在图像处理中,还有另外的颜色空间,这些更具有可分离性和可操作性。所以很多的图像算法需要将图像从 RGB 转换为其他空间。视频数据就是使用 RGB 转换的 Y'CbCr 色彩空间的典型案例。

    Y'CbCr

    什么是 Y'CbCr

        Y'CbCr 也常称为 YUV,是一种颜色编码方法。常使用在各个影像处理组件中。Y'UVYUVYCbCrYPbPr 等专有名词都可以称为 YUV,彼此有重叠。“Y” 表示明亮度(Luminance、Luma),“U” 和 “V” 则是色度浓度(Chrominance、Chroma)。这种编码系统非常有用, YUV 在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽,因为人眼对亮度差异的敏感度高于色彩变化。在此前提下可以设计更加高效压缩图像的编码器(encoder)。

        Y′UVYUVYCbCrYPbPr 所指涉的范围,常有混淆或重叠的情况。从历史的演变来说,其中 YUVY'UV 通常用来编码电视的模拟信号,而 YCbCr 则是用来描述数字的影像信号,适合视频与图片压缩以及传输,例如 MPEGJPEG。 但在现今,YUV 通常已经在电脑系统上广泛使用。

    YUV_UV_plane.png

    YUV与RGB的转换公式

    “U” 和 “V” 组件可以被表示成原始的 R、G、和B(R、G、B为γ预校正后的):

    • Y=0.299R'+0.587G'+0.114B'
    • U=-0.147R'-0.289G'+0.436B'
    • V=0.615R'-0.515G'-0.100B'

    色彩二次抽样

        可以看到通过 YUV 图片的所有细节都保存在亮度通道中,当我们采用 YUV 4:2:2 或者4:2:0时,依旧能够捕捉高质量的图片,但是如果除去亮度,剩下的就是一幅灰度图片并且所有细节都丢失了。这是因为人的眼睛对亮度的敏感度要高于色彩,因此我们可以大幅减少存储在每个像素中的颜色信息,而不至于图片的质量严重受损。这个减少颜色数据的过程就成为色彩二次抽样。而 4:4:4 、4:2:2 及 4:2:0 这些值的含义就是色彩二次抽样的参数,根据这些值按如下格式将亮度比例表示为色度值,这个格式写作 J :a :b,具体含义如下:

    • J:几个关联色款中所包含的像素数
    • a:用来保存位于第一行中的每个 J像素的色度像素个数
    • b:用来保存位于第二行中的每个 J像素的附加像素个数

    为维持图片指令,每个像素点都需要有各自的亮度值,却不一定需要色度值。

    视频编解码器

        视频编解码的过程是指对数字视频进行压缩或解压缩的一个过程。通常这种压缩属于有损数据压缩。

        在做视频编解码时,需要考虑以下这些因素的平衡:视频的质量、用来表示视频所需要的数据量(通常称之为码率)、编码算法和解码算法的复杂度、针对数据丢失和错误的鲁棒性(Robustness)、编辑的方便性、随机访问、编码算法设计的完美性、端到端的延时以及其它一些因素。

    常用的视频编解码器

    • H.26X 系列,由国际电传视讯联盟远程通信标准化组织(ITU-T)主导,包括 H.261、H.262、H.263、H.264、H.265

      • H.261,主要用于老的视频会议和视频电话系统。是第一个使用的数字视频压缩标准。实质上说,之后的所有的标准视频编解码器都是基于它设计的。
      • H.262,等同于 MPEG-2 第二部分,使用在 DVD、SVCD 和大多数数字视频广播系统和有线分布系统中。
      • H.263,主要用于视频会议、视频电话和网络视频相关产品。在对逐行扫描的视频源进行压缩的方面,H.263 比它之前的视频编码标准在性能上有了较大的提升。尤其是在低码率端,它可以在保证一定质量的前提下大大的节约码率。
      • H.264,等同于 MPEG-4 第十部分,也被称为高级视频编码(Advanced Video Coding,简称 AVC),是一种视频压缩标准,一种被广泛使用的高精度视频的录制、压缩和发布格式。该标准引入了一系列新的能够大大提高压缩性能的技术,并能够同时在高码率端和低码率端大大超越以前的诸标准。
      • H.265,被称为高效率视频编码(High Efficiency Video Coding,简称 HEVC)是一种视频压缩标准,是 H.264 的继任者。HEVC 被认为不仅提升图像质量,同时也能达到 H.264 两倍的压缩率(等同于同样画面质量下比特率减少了 50%),可支持 4K 分辨率甚至到超高画质电视,最高分辨率可达到 8192×4320(8K 分辨率),这是目前发展的趋势。
    • MPEG 系列,由国际标准组织机构(ISO)下属的运动图象专家组(MPEG)开发。

      • MPEG-1 第二部分,主要使用在 VCD 上,有些在线视频也使用这种格式。该编解码器的质量大致上和原有的 VHS 录像带相当。
      • MPEG-2 第二部分,等同于 H.262,使用在 DVD、SVCD 和大多数数字视频广播系统和有线分布系统中。
      • MPEG-4 第二部分,可以使用在网络传输、广播和媒体存储上。比起 MPEG-2 第二部分和第一版的 H.263,它的压缩性能有所提高。
      • MPEG-4 第十部分,等同于 H.264,是这两个编码组织合作诞生的标准。

    容器格式

        我们经常会看到各种扩展名结尾的媒体文件,比如.mov.avi.mpg.vob.mkv.rm.rmvb,这些类型都是文件的容器格式。容器格式被认为是源文件格式,它里面包含了封装视频文件所需要的视频信息、音频信息和相关的配置信息(比如:视频和音频的关联信息、如何解码等等)。一种视频封装格式的直接反映就是对应着相应的视频文件格式。
    在使用 AV Foundation 时,我们将遇到两类主要的格式,它们分别是:

    • QuickTime
          对应的文件格式是 .mov,是 Apple 公司开发的一种视频格式,默认的播放器是苹果的 QuickTime。这种封装格式具有较高的压缩比率和较完美的视频清晰度等特点,并可以保存 alpha 通道。
    • MPEG-4
          对应的文件扩展名是 .mp4,但也有很多不同的变化扩展名也在使用,它为了播放流式媒体的高质量视频而专门设计的,以求使用最少的数据获得最佳的图像质量。

    相关文章

      网友评论

          本文标题:AV Foundation ④ 视频的压缩与文件格式

          本文链接:https://www.haomeiwen.com/subject/dyfzprtx.html