相关文章推荐
烦恼的手术刀  ·  浮窗WindowManager ...·  4 月前    · 
从未表白的眼镜  ·  warning: cast to ...·  8 月前    · 
满身肌肉的铁板烧  ·  System.setProperty ...·  9 月前    · 

国际电信联盟 ITU -T与国际标准化组织ISO/国际电工委员会 IEC 是制定视频编码标准的两大国际组织
在这里插入图片描述

其中 MPEG 是运动图像专家组( Moving Picture Experts Group )的缩写,于1988年成立,是为数字视频/音频制定压缩标准的专家组。

MPEG 的核心内容主要包括 MPEG 视频、 MPEG 音频和 MPEG 系统三个部分, MP3 音频文件就是 MPEG 音频的一个典型应用,而 VCD SVCD DVD 则是全面采用 MPEG 技术的消费类电子产品

MPEG-1 视频压缩标准

1993年制定的 MPEG-1 标准是 MPEG 系列最早的标准,是针对 1.5Mbit/s 速率的数字存储媒体运动图像及其伴音编码制定的国际标准

MPEG-1 标准包含了五个部分

第一部分说明了如何根据第二部分(视频)以及第三部分(音频)的规定,对音频和视频进行复合编码。第四部分说明了检验解码器或编码器的输出比特流符合前三部分规定的过程。第五部分是用C语言实现的编码和解码器

图像可分为四种类型,分别是I帧、P帧、B帧、D帧

MPEG-1 中将视频中的图像分为以下几种类型

  • I帧 :帧内编码图像,这类图像不进行帧间预测,不参考其他图像帧而只利用自己的图像信息进行编码
  • P帧 :前向帧间预测编码图像。此类图像帧利用一个之前的I帧或者P帧作为参考,进行帧间预测编码,它通常还用于后续P帧或者B帧图像编码时的帧间预测参考
  • B帧 :双向帧间预测编码图像。此类图像即利用之前的图像帧(I帧或P帧),也利用之后的图像帧(P帧)。B帧不能作为预测帧的参考

注意 :B帧将会导致图像列的编码顺序与显示顺序不一致,原因是B帧可能需要后续的P帧作为参考帧,所以这个后续的参考帧P帧需要先被编码,后续的B帧才能被顺利编码
在这里插入图片描述

显示的顺序:1 2 3 4 5 6 7 8 I B B P B P B I 传输的顺序:1 4 2 3 6 5 8 7 I P B B P B I B

视频的码流结构
在这里插入图片描述

  • 序列( sequence ):序列层定义图像的大小,缓冲区的大小和其他一些静态参数
  • 图像组( GOP,Group of Pictures ):图像组是序列中一个连续的图像集,用来辅助随机存储。 GOP 中第一个图像必须为I帧,这样就保证了 GOP 不需要参考之前的图像,可以独立解码(这也就是为什么播放器可以快进和后退播放)
  • 图像( Picture ):图像层定义图像类型(I帧,P帧或B帧)
  • 片( Slice ):片由一组连续的宏块组成,片是重同步单元,也可以独立解码
  • 宏块( Macroblock ):宏块是运动估计和运动补偿单元,有一个16 * 16 亮度块和相应的两个8 * 8的色度块组成
  • 块( Block ):变换单元,一个8 * 8的像素集合
几点说明:
  • I帧图像是利用图像的空间相关性进行压缩,不参照任何过去的或者将来的其他参考帧,其压缩编码采用类似于 JPEG 图像压缩算法。由于无法去除时间冗余,I帧图像压缩率与P帧、B帧相比不高
    在这里插入图片描述

  • P帧图像是参考过去的I帧图像或者P帧图像用帧间预测和运动估计技术进行压缩,由于既可以去除空间冗余也可以去除时间冗余,所以P帧的压缩率较高,由于P帧的编码流程与 JPEG 差异较大,所以接下来重点分析P帧的压缩编码流程

P帧的整个编码流程

第一步 :从缓存中取出重构的前一帧图像作为当前帧的参考帧
在这里插入图片描述

第二步 :计算当前帧中的每一个16*16像素宏块和缓存中的参考帧中的宏块的最佳匹配块,即进行运动估计计算。用运动矢量表示两个宏块之间的位移。例如,运动矢量 = (-10,3),则在当前帧的宏块向左移动10个像素,向下移动3个像素,就可以在参考帧中找到最佳匹配的宏块
在这里插入图片描述

第三步 :通过参考帧的最佳匹配块的运动补偿,也就是对齐,得到当前帧的最相似图像(运动补偿参考帧)
在这里插入图片描述

第四步 :当前帧和运动补偿参考帧进行帧间预测,也就是差值运算(相应的像素进行减法运算)得到运动补偿的帧差图像
在这里插入图片描述

第五步 :对帧差图像进行 DCT 变换和量化,变换和量化的原理可参考 JPEG 压缩标准
在这里插入图片描述

第六步 :量化后的系数和运动矢量进行熵编码和传输,注意系数在进行熵编码之前需要进行 Zigzag 扫描和游程编码,基本原理可参考 JPEG 压缩算法
在这里插入图片描述

第七步 :量化后的系数同时被解码,得到的帧差图像和运动补偿参考帧进行相加运算,从而得到一个新的放在缓存中的参考帧,需要注意的是,这个参考帧不是原始的输入的无损图像,这么做的原因是解码端只能得到经过量化,反量化的有损图像,而编码端和解码端必须采用同样的参考帧,因此编码编码端只能采用有损的图像作为参考帧 在这里插入图片描述

B帧的编码:
  • B帧图像在预测时,既可以使用前向预测方式,也可以使用后向预测方式,或者使用双向预测后去平均方式,取决于采用哪一种方式下表示该宏块所需的比特数最少。使用双向预测后,可以使那些在前一帧中预测不到的内容很好的在后一帧中预测的大。B帧的压缩效果最高,但不能作为其他帧预测的参考图像
  • 与P帧一样,B帧的宏块也是既可以选择帧间编码也可以选择帧内编码,B帧图像帧内编码宏块的压缩流程跟I帧类似,帧间编码宏块的压缩流程与P帧类似,只是预测方式不同
关于量化步长的选择

量化步长越大,清晰度和码率就越低;反之,清晰度和码率就越高

  • 平时我们在视频网站上看在线视频,会经常看到视频播放器支持高清、表情、流畅、极速等多种选项,从高清到技术视频越来越模糊但对带宽的要求也越来越低
  • 其实高清、极速、流畅、极速等选项对应的就是不同的量化步长压缩得到的视频,从高清到极速量化步长逐步变大,清晰度和码率也就逐步降低
  • 视频压缩中相邻帧之间的量化步长不允许突变,只能在一定的范围内渐变,这是为了避免相邻帧的清晰度有明显的变化,从而导致人眼的不适
MPEG-2 标准

MPEG-2 标准是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定,编码码率为每秒 3Mb~100Mb

  • MPEG-2 并不是 MPEG-1 的简单升级, MPEG-2 在系统和传输方面作出了更加详细的规定和进一步完善。 MPEG-2 特别适用于广播级的数字电视的编码和传送
  • MPEG-3 ISO/IEC 最初为高清晰电视广播制定的编码和压缩标准,但由于 MPEG-2 的出色的性能已能适用于 HDTV ,因此 HDTV 标准并未制定,我们通常所说的 MP3 指的是应用于 MPEG-1 的一项音频压缩技术标准,英文全称是 MPEG-1 Audio Layer3
MPEG-4 标准

MPEG 组织于1999年2月正式公布了 MPEG-4 标准的第一版本,同年年底 MPEG-4 的第二版本也得到了确定,目前该标准多应用于因特网视频传输、流媒体应用等。

  • MPEG-4 标准与以前编码标注不同的显著差别在于它采用了基于对象的编码理念,即在编码时不再是将一幅图像分成固定大小的图像块,而是根据其内容分成若干在时间和空间上相互联系的音视频对象,分别编码后经过复用传输到接收端,然后再对不同的对象分别进行编解码,从而组合成所需要的视频和音频
H.261 标准

H.261 最初是针对在 ISDN 上实现电话会议(特别是面对面的可视电话和视频会议)而设计,制定时间是1990年,是 H.26X 系列最早的标准

  • H.261 标准已经采用了运动补偿帧间预测与分块 DCT 相结合的混合编码框架,其具体的编码算法类似于 MPEG 算法,但不能与后者兼容
H.263 标准

H.263 是国际电联 ITU-T 的一个标准草案,是为低码流通信而设计的,指定时间是1996年

  • H.263 的运动补偿使用半像素精度,而 H.261 使用的是全像素精度
  • 1998年 ITU-T 推出的 H.263+ H.263 草案的第二版,它提供了12个新的可协商模式和其他特性,进一步提高了编码的性能
  • H.263 只有5种视频源格式,而 H.263+ 允许使用更多的源格式
H.264 标准

2001年, MPEG ITU 的视频编码专家组 VCEG 再次组成联合视频编码专家组 JVT ,于 2003年5月 VCEG 发布了 H.264 的压缩标准

  • 在同等的质量的条件下, H.264 的数据压缩比性能比 DVD 系统中使用的 MPEG-2 高2~3倍,比 MPEG-4 高1.5~2倍, H.264 获得优越性能的代价是计算复杂度的大幅度增加,例如多模式运动估计、改进的帧间预测等,这些都显著提高了预测的精度,从而获得了比其他标准好得多的压缩性能
AVS 标准

AVS 是由我国自主制定的音视频编码技术标准,主要面向高清晰度视频、高密度光存储媒体等应用

  • 在编码效率方面 AVS H.264 接近。而在达到与 H.264 同样性能的情况下, AVS 的复杂度要比 H.264 的复杂度低,其解码器是 H.264 解码器复杂度的70%
H.265 标准
  • 数字视频分辨率从 720P 1080P 甚至是 4K * 2K、8K * 4K 的应用场景升级
  • 数字视频的帧率也从 30帧/秒向60帧/秒、120帧/秒甚至是 240帧/秒的应用场景升级

2010年1月, ITU-T 视频编码专家组 VCEG(video Coding Experts Group) ISO/IEC 运动图像专家组 MPEG(Moving Picture Experts Group) 成立联合组织,统一制定下一道编码标准 HEVC(Hight Efficiency Video Coding) ,也就是 H.265

  • H.265 中,将宏块的大小从 H.264 的16*16扩展到了 64 * 64,以便于高分辨率视频的压缩。同时采用了更加灵活的编码单元、预测单元和变换单元来提高编码效率,与 H.264 相比, H.265 仅需原来的一半带宽即可播放相同质量的视频。
Broadcom公司推出支持用于高清晰消费类视频产品的H.264 标准 的下一代先进 视频压缩 芯片BCM7411.新的视频处理器使制造商能把下一代机顶盒,DVD播放器和数字电视娱乐系统在2005年初经济地推向市场.下一代视频/音频消费类电子产品的基本要求,基于H.264的压缩技术(也称作 MPEG -4 Part 10/先进视频编码(AVC)),大大地降低在服务服务商网络提供HD和数字视频内容所需的带宽,能在通常的DVD和系统硬盘存储HD媒体.  BCM7411视频处理器是Broadcom的第三代支持H.264 视频压缩 标准 的硅器件.在Broadcom的硅解决方案推出以前,实现H.264压缩 标准 的唯一方法 2003 年 3 月,ITU-T/ISO 正式公布了 H.264 视频压缩 标准 ,由于其相比以往 标准 的出色的性能,被人们称为新一代视频编码 标准 。具体讲,与 H.263或 MPEG -4 相比,在同样质量下,其数码率能降低一半左右;或者说在同样码率下,其信噪比明显提高。这样一来,H.264 标准 在国际上受到了广泛地重视和欢迎。在这样的背景下,我们编写了这一本书。 本书的特点是取材新颖、内容全面。它不仅重点论述了 H.264 ,而且首先介绍了数字视频和视频编码的基础知识,介绍了已有若干视频编码国际 标准 (特别是 MPEG -4 ),以便为进一步学习 H.264 打下良好的基础。 全书共 9 章,在 H.264 部分(第 6~9 章)详尽地论述了 H.264 特点、编码器原理、解码 器原理、编解码器的实现。为了更好地理解 H.264 编解码原理及其实现,第 7 章详细介绍了 H.264 码流的句法和语义。最后对 H.264 视频编码传输的 QoS 进行了专门地论述。 本书可作为通信、广播电视专业高校本科生教材,可供该领域的硕士生、博士生深入研 究用,也可供广大的从事视频技术、视频服务领域的技术人员参考用。 总体历史图 主要分为两大国际 标准 组织,ISO/IEC国际组织和ITU-T国际组织。ITU-T 制定 的视频编码 标准 称为H. 26x 系列 ,包括H.261、H.263(H.263+,H.263++)等等,主要用于基于网络传输的视频通信。ISO/IEC的动态图像专家组( MPEG 制定 MPEG 系列 ,主要用于视频存储、广播电视、网络流媒体等。 成功的合作: ISO/IEC和ITU-T联手 制定 H.262/ MPEG ... 部分资料来源与wiki以及http://www.365pr.net/tech_view.asp?id=315 。H. 26x 有H.261,H.262, H.263, H.263v2以及H.264,H.261基本上已经不再使用。其中H.262和H.264已经在 MPEG 系列 中介绍,他们分别对应 MPEG 2的第2部和 MPEG -4的第10部。不在整理这方面的资料。H.261H.261其速率为64kbps的整数倍(1~30倍)。它最初是 针对在ISDN(综合业务数字网,Integrated Services Digit H. 26x 有H.261,H.262,H.263, H.263v2以及H.264,H.261基本上已经不再使用。其中H.262和H.264已经在 MPEG 系列 中介绍,他们分别对应 MPEG 2的第2部和 MPEG -4的第10部。不在整理这方面的资料。 H.261 H.261其速率为64kbps的整数倍(1~30倍)。它最初是 针对在ISDN(综合业务数字网,Integrated Services Di MPEG 1(ISO/IEC11172) 制定 于1993年,是针对1.5Mbps以下数据传输率的数字存储媒质运动图像及其伴音编码的国际 标准 MPEG 1用于在CD—ROM上存储同步和彩色运动视频信号。可优化为中等分辨率,并在其优化模式下,采用所谓的 标准 交换格式(SIF)。 MPEG 1对色差分量采用4∶1∶1的二次采样率。 MPEG 1旨在达到VRC质量,其 视频压缩 率为26∶1。 MPEG 1现已成为常规视频 标准 的 (1)更加精细的宏块分割模式,运动估计的精度更高(1/4像素的亮度精度和1/8像素的色度精度) (2)整数DCT变换, 变换过程全部采用整数运算, 避免了浮点数运算过程中导致的错误积累, 降低了复杂度,并且正向的操作和逆向操作可以完全吻合. (3)H.264中的环内去块效应滤波器可以很好的改善图像... 本文的主要目标是总结阅读《H.264和 MPEG -4 视频压缩 :新一代多媒体的视频编码技术.pdf》过程中学习到的基本的视频编码的相关知识。学习的目的是:对视频编解码及主流 标准 有一定的了解。 1. 应用场景 视频编码的目的就是压缩视频的占用空间,提高存储和传输的效率,在获得有效的压缩效果的同时,使得压缩过程引起的失真最小。 视频压缩 算法是通过去除时间、空间的冗余来实现的。通过去除不同类型的冗余,可以明显... MPEG 标准 一直是许多科研机构和大学的科研热点,也是工业界产品开发的热点。 MPEG 标准 阐明了声音和电视图像的编码和解码过程,严格规定了声音和图像数据编码后组成比特数据流的句法,提供了解码器的测试方法等,但没有对所有内容都作严格规定,尤其是对压缩和解压缩的算法,这样既保证了解码器能对符合 MPEG 标准 的声音数据和电视图像数据进行正确解码,又给 MPEG 标准 的具体实现留有很大余地。人们可以不断改 这里只对常见的视频音频编码做一个系统的简单介绍,并不进行详细探讨。由于我的知识有限,难免有错误的地方,欢迎来信指正。 MPEG 系列 MPEG 即(Moving Pictures Experts Group)运动图象专家组,属于ISO(International Organization for Standardization)国际 标准 组织,他们开发了一 系列 视频音频编码, 最为大家熟悉的就 为什么要编码 对于视频数据而言,视频编码的最主要目的是数据压缩。这是因为动态图像的像素形式表示数据量极为巨大,存储空间和传输带宽完全无法满足保存和传输的需求。 例如,图像的每个像素的三个颜色分量RGB各需要一个字节表示,那么每一个像素至少需要3字节,分辨率1280×720的图像的大小为2.76M字节。如果帧率为25帧/秒,那么传输所需的码率将达到553Mb/s,如果对于更高清的视频,如1080... 1.空间冗余 一幅静态图像,比如人脸。背景,人脸,头发等处的亮度,颜色,都是平缓变化的。相邻的像素和色度信号值比较接近。具有强相关性,如果直接用采样数来表示亮度和色度信息,数据中存在较多的空间冗余。如果先去除冗余数据再编码,表示每个像素的平均比特数就会下降,这就是