zoukankan      html  css  js  c++  java
  • 视频技术发展历史:MPEG2技术简介

    http://blog.sina.com.cn/s/blog_48c5b1f10100warj.html

    MPEG-1技术    VCD输出标准;  .....
    MPEG-2技术    DVD输出标准; 如:高清视频传送、高清卫星电视播放接收......
    MPEG-4技术    DVD输出标准; 如:目前流行的网络传送播放、MP4、MP5、卫星高清电视、有线数字电视,电脑显卡方面等等;
    H.264技术     目前最新技术;适用于高清视频传送、高清卫星电视播放接收.......
     
    ......................................................................................
    MPEG-2技术简解
    MPEG是活动图像专家组(Moving Picture Experts Group)的缩写,于1988年成立。目前MPEG已颁布了三个活动图像及声音编码的正式国际标准,分别称为MPEG-1


    、MPEG-2和MPEG-4,而MPEG-7和MPEG-21都在研究中。
    技术介绍
      MPEG-2制定于1994年,设计目标是高级工业标准的图象质量以及更高的传输率。MPEG-2所能提供的传输率在3-10Mbits/sec间,其在NTSC制式下的分辨率可达


    720X486,MPEG-2也可提供并能够提供广播级的视像和CD级的音质。MPEG-2的音频编码可提供左右中及两个环绕声道,以及一个加重低音声道,
      
    剖析MPEG-2视频编码器
    和多达7个伴音声道(DVD可有8种语言配音的原因)。由于MPEG-2在设计时的巧妙处理,使得大多数MPEG-2解码器也可播放MPEG-1格式的数据,如VCD。
      同时,由于MPEG-2的出色性能表现,已能适用于HDTV,使得原打算为HDTV设计的MPEG-3,还没出世就被抛弃了。(MPEG-3要求传输速率在20Mbits/sec-


    40Mbits/sec间,但这将使画面有轻度扭曲)。除了做为DVD的指定标准外,MPEG-2还可用于为广播,有线电视网,电缆网络以及卫星直播


    (DirectBroadcastSatellite)提供广播级的数字视频。
    特点
      MPEG-2的另一特点是,其可提供一个较广的范围改变压缩
    MPEG-2编码器(5张)
    比,以适应不同画面质量,存储容量,以及带宽的要求。
      对于最终用户来说,由于现存电视机分辨率限制,MPEG-2所带来的高清晰度画面质量(如DVD画面)在电视上效果并不明显,到是其音频特性(如加重低音,多


    伴音声道等)更引人注目。
      MPEG-2的编码图像被分为三类,分别称为I帧,P帧和B帧。
      I帧图像采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。P帧和B帧图像采用帧间编码方式,即同时利用了空间和时间上的


    相关性。P帧图像只采用前向时间预测,可以提高压缩效率和图像质量。P帧图像中可以包含帧内编码的部分,即P帧中的每一个宏块可以是前向预测,也可以是帧


    内编码。B帧图像采用双向时间预测,可以大大提高压缩倍数。
    层次
      MPEG-2的编码码流分为六个层次。为更好地表示编码数据,MPEG-2用句法规定了一个层次性结构。它分为六层,自上到下分别是:图像序列层、图像组(GOP)


    、图像、宏块条、宏块、块。
    编辑本段标准
    基本介绍
      MPEG-2标准目前分为9个部分,统称为ISO/IEC13818国际标准。各部分的内容描述如下:
      一部分-ISO/IEC13818-1,System:系统,描述多个视频,音频和数据基本码流合成传输码流和节目码流的方式。
      二部分-ISO/IEC13818-2,Video:视频,描述视频编码方法。
      三部分-ISO/IEC13818-3,Audio:音频,描述与MPEG-1音频标准反向兼容的音频编码方法。
      四部分-ISO/IEC13818-4,Compliance:符合测试,描述测试一个编码码流是否符合MPEG-2码流的方法。
      五部分-ISO/IEC13818-5,Software:软件,描述了MPEG-2标准的第一、二、三部分的软件实现方法。
      六部分-ISO/IEC13818-6,DSM-CC:数字存储媒体-命令与控制,描述交互式多媒体网络中服务器与用户间的会话信令集。
      上六个部分均已获得通过,成为正式的国际标准,并在数字电视等领域中得到了广泛的实际应用。此外,MPEG-2标准还有三个部分:第七部分规定不与MPEG


    -1音频反向兼容的多通道音频编码;第八部分现已停止;第九部分规定了传送码流的实时接口。
      1990年成立的ATM视频编码专家组与MPEG在ISO/IEC13818标准的第一和第二两个部分进行了合作,因此上述两个部分也成为ITU-T的
      标准,分别为:ITU-TRec.H.220系统和ITU-TRec.H.262视频。
    具体解释
      下面我们主要讨论一下MPEG视频编码系统,即ISO/IEC13818-2部分。MPEG-2视频编码
      MPEG-2视频编码标准是一个分等级的系列,按编码图像的分辨率分成四个“级(Levels)”;按所使用的编码工具的集合分成五个“类(Profiles)”。“级”


    与“类”的若干组合构成MPEG-2视频编码标准在某种特定应用下的子集:对某一输入格式的图像,采用特定集合的压缩编码工具,产生规定速率范围内的编码码


    流。在20种可能的组合中,目前有11种是已获通过的,称为MPEG-2适用点。
      - 我们知道,当前模拟电视存在着PAL、NTSC和SECAM三大制式并存的问题,因此,数字电视的输入格式标准试图将这三种制式统一起来,形成一种统一的数


    字演播室标准,这个标准就是CCIR601,现称ITU-RRec BT601标准。MPEG-2中的四个输入图像格式“级”都是基于这个标准的。低级(LowLevel)的输入格式的像素


    是ITU-RRec BT601格式的1/4,即352x240x30(代表图像帧频为每秒30帧,每帧图像的有效扫描行数为240行,每行的有效像素为352个),或352x288x25。低级之上


    的主级(MainLevel)的输入图像格式完全符合ITU-RRec BT601格式,即720x480x30或720x576x25。主级之上为HDTV范围,基本上为ITU-RRec BT601格式的4倍,其


    中1440高级(High-1440Level)的图像宽高比为4:3,格式为1440x1080x30,高级(HighLevel)的图像宽高比为16:9,格式为1920x1080x30。
      在MPEG-2的五个“类”中,较高的“类”意味着采用较多的编码工具集,对编码图像进行更精细的处理,在相同比特率下将得到较好的图像质量,当然实现


    的代价也较大。较高类编码除使用较低类的编码工具外,还使用了一些较低类没有使用的附加工具,因此,较高类的解码器除能解码用本类方法编码的图像外,


    也能解码用较低类方法编码的图像,即MPEG-2的“类”之间具有后向兼容性。简单类(SimpleProfile)使用最少的编码工具。主类(MainProfile)除使用所有简单


    类的编码工具外,还加入了一种双向预测的方法。信噪比可分级类(SNRScalableProfile)和空间可分级类(SpatiallyScalableProfile)提供了一种多级广播的方


    式,将图像的编码信息分为基本信息层和一个或多个次要信息层。基本信息层包含对图像解码至关重要的信息,解码器根据基本信息即可进行解码,但图像的质


    量较差。次要信息层中包含图像的细节。广播时对基本信息层加以较强的保护,使其具有较强的抗干扰能力。这样,在距离较近,接收条件较好的情况下,可以


    同时收到基本信息和次要信息,恢复出高质量的图像;而在距离较远,接收条件较差的条件下,仍能收到基本信息,恢复出图像,不至造成解码中断。高级类


    (HighProfile)实际上应用于比特率更高,要求更高的图像质量时,此外,前四个类在处理Y,U,V时是逐行顺序处理色差信号的,高级类中还提供同时处理色差


    信号的可能性。
      目前的标准数字电视采用的是MP@ML主类和主级,而HDTV采用的是MP@HL主类和高级。下面,我们以MP@ML为例来说明一下MPEG-2视频编码系统原理及关键技术



      
    MPEG-2压缩编码技术原理
    编辑本段原理及技术
    原理介绍
      概括地说,MPEG-2图像压缩的原理是利用了图像中的两种特性:空间相关性和时间相关性。一帧图像内的任何一个场景都是由若干像素点构成的,因此一个


    像素通常与它周围的某些像素在亮度和色度上存在一定的关系,这种关系叫作空间相关性;一个节目中的一个情节常常由若干帧连续图像组成的图像序列构成,


    一个图像序列中前后帧图像间也存在一定的关系,这种关系叫作时间相关性。这两种相关性使得图像中存在大量的冗余信息。如果我们能将这些冗余信息去除,


    只保留少量非相关信息进行传输,就可以大大节省传输频带。而接收机利用这些非相关信息,按照一定的解码算法,可以在保证一定的图像质量的前提下恢复原


    始图像。一个好的压缩编码方案就是能够最大限度地去除图像中的冗余信息。
    图像分类
      MPEG-2中编码图像被分为三类,分别称为I帧,P帧和B帧。
      ----I帧图像采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。I帧主要用于接收机的初始化和信道的获取,以及节目的切


    换和插入,I帧图像的压缩倍数相对较低。I帧图像是周期性出现在图像序列中的,出现频率可由编码器选择。
      P帧和B帧图像采用帧间编码方式,即同时利用了空间和时间上的相关性。P帧图像只采用前向时间预测,可以提高压缩效率和图像质量。P帧图像中可以包含


    帧内编码的部分,即P帧中的每一个宏块可以是前向预测,也可以是帧内编码。B帧图像采用双向时间预测,可以大大提高压缩倍数。值得注意的是,由于B帧图像


    采用了未来帧作为参考,因此MPEG-2编码码流中图像帧的传输顺序和显示顺序是不同的。
    编辑本段编码码流的六个层次
    综述
      从上至下依次为:视频序列层(Sequence),图像组层(GOP:GroupofPicture),图像层(Picture),像条层(Slice),宏块层(MacroBlock)和像块层(Block)。


    从图1中可以看到,除宏块层和像块层外,上面四
      
    MPEG-2编码器
    层中都有相应的起始码(SC:StartCode),可用于因误码或其它原因收发两端失步时,解码器重新捕捉同步。因此一次失步将至少丢失一个像条的数据。
    具体介绍
      序列指构成某路节目的图像序列,序列起始码后的序列头中包含了图像尺寸,宽高比,图像速率等信息。序列扩展中包含了一些附加数据。为保证能随时进


    入图像序列,序列头是重复发送的。
      序列层下是图像组层,一个图像组由相互间有预测和生成关系的一组I、P、B图像构成,但头一帧图像总是I帧。GOP头中包含了时间信息。
      图像组层下是图像层,分为I、P、B三类。PIC头中包含了图像编码的类型和时间参考信息。
      图像层下是像条层,一个像条包括一定数量的宏块,其顺序与扫描顺序一致。MP@ML中一个像条必须在同一宏块行内。
      像条层下是宏块层。MPEG-2中定义了三种宏块结构:4:2:0宏块4:2:2宏块和4:4:4宏块,分别代表构成一个宏块的亮度像块和色差像块的数量关系。
      4:2:0宏块中包含四个亮度像块,一个Cb色差像块和一个Cr色差像块;4:2:2宏块中包含四个亮度像块,二个Cb色差像块和二个Cr色差像块;4:4:4宏块中包含


    四个亮度像块,四个Cb色差像块和四个Cr色差像块。这三种宏块结构实际上对应于三种亮度和色度的抽样方式。
    编码方法
      在进行视频编码前,分量信号R、G、B被变换为亮度信号Y和色差信号Cb、Cr的形式。4:2:2格式中亮度信号的抽样频率为13.5MHz,两个色差信号的抽样频率


    均为6.75MHz,这样空间的抽样结构中亮度信号为每帧720x576样值,Cb,Cr都为360x576样值,即每行中每隔一个像素对色差信号抽一次样,如图3所示,○代表Y


    信号的抽样点,×代表Cb,Cr信号的抽样点。
      4:4:4格式中,亮度和色差信号的抽样频率都是13.5MHz,因此空间的抽样结构中亮度和色差信号都为每帧720x576样值。而4:2:0格式中,亮度信号的抽样频


    率13.5MHz,空间的抽样结构中亮度信号为每帧720x576样值,Cb,Cr都为360x288样值,即每隔一行对两个色差信号抽一次样,每抽样行中每隔一个像素对两个色


    差信号抽一次样。
      通过上述分析不难计算出,4:2:0格式中,每四个Y信号的像块空间内的Cb,Cr样值分别构成一个Cb,Cr像块;4:2:2格式中,每四个Y信号的像块空间内的Cb


    ,Cr样值分别构成两个Cb,Cr像块;而4:4:4格式中,每四个Y信号的像块空间内的Cb,Cr样值分别构成四个Cb,Cr像块。相应的宏块结构正是以此基础构成的。
      宏块层之下是像块层,像块是MPEG-2码流的最底层,是DCT变换的基本单元。MP@ML中一个像块由8x8个抽样值构成,同一像块内的抽样值必须全部是Y信号样


    值,或全部是Cb信号样值,或全部是Cr信号样值。另外,像块也用于表示8x8个抽样值经DCT变换后所生成的8x8个DCT系数。
      在帧内编码的情况下,编码图像仅经过DCT,量化器和比特流编码器即生成编码比特流,而不经过预测环处理。DCT直接应用于原始的图像数据。
      在帧间编码的情况下,原始图像首先与帧存储器中的预测图像进行比较,计算出运动矢量,由此运动矢量和参考帧生成原始图像的预测图像。而后,将原始


    图像与预测像素差值所生成的差分图像数据进行DCT变换,再经过量化器和比特流编码器生成输出的编码比特流。
      可见,帧内编码与帧间编码流程的区别在于是否经过预测环的处理。
    编辑本段关键技术环节
    余弦变换DCT
      DCT是一种空间变换,在MPEG-2中DCT以8x8的像块为单位进行,生成的是8x8的DCT系数数据块。DCT变换的最大特点是对于一般的图像都能够将像块的能量集


    中于少数低频DCT系数上,即生成8x8DCT系数块中,仅左上角的少量低频系数数值较大,其余系数的数值很小,这样就可能只编码和传输少数系数而不严重影响图


    像质量。
      DCT不能直接对图像产生压缩作用,但对图像的能量具有很好的集中效果,为压缩打下了基础。
    量化器
      量化是针对DCT变换系数进行的,量化过程就是以某个量化步长去除DCT系数。量化步长的大小称为量化精度,量化步长越小,量化精度就越细,包含的信息


    越多,但所需的传输频带越高。不同的DCT变换系数对人类视觉感应的重要性是不同的,因此编码器根据视觉感应准则,对一个8x8的DCT变换块中的64个DCT变换


    系数采用不同的量化精度,以保证尽可能多地包含特定的DCT空间频率信息,又使量化精度不超过需要。DCT变换系数中,低频系数对视觉感应的重要性较高,因


    此分配的量化精度较细;高频系数对视觉感应的重要性较低,分配的量化精度较粗,通常情况下,一个DCT变换块中的大多数高频系数量化后都会变为零。
    之型扫描与游程编码
      DCT变换产生的是一8x8的二维数组,为进行传输,还须将其转换为一维排列方式。有两种二维到一维的转换方式,或称扫描方式:之型扫描(Zig-Zag)和交替


    扫描,其中之型扫描是最常用的一种。由于经量化后,大多数非零DCT系数集中于8x8二维矩阵的左上角,即低频分量区,之型扫描后,这些非零DCT系数就集中于


    一维排列数组的前部,后面跟着长串的量化为零的DCT系数,这些就为游程编码创造了条件。
      - 游程编码中,只有非零系数被编码。一个非零系数的编码由两部分组成:前一部分表示非零系数前的连续零系数的数量(称为游程),后一部分是那个非零


    系数。这样就把之型扫描的优点体现出来了,因为之型扫描在大多数情况下出现连零的机会比较多,游程编码的效率就比较高。当一维序列中的后部剩余的DCT系


    数都为零时,只要用一个“块结束”标志(EOB)来指示,就可结束这一8x8变换块的编码,产生的压缩效果是非常明显的。
    熵编码
      量化仅生成了DCT系数的一种有效的离散表示,实际传输前,还须对其进行比特流编码,产生用于传输的数字比特流。简单的编码方法是采用定长码,即每个


    量化值以同样数目的比特表示,但这种方法的效率较低。而采用熵编码可以提高编码效率。熵编码是基于编码信号的统计特性,使得平均比特率下降。游程和非


    零系数既可独立的,也可联合的作熵编码。熵编码中使用较多的一种是霍夫曼编码,MPEG-2视频压缩系统中采用的就是霍夫曼编码。霍夫曼编码中,在确定了所


    有编码信号的概率后生产一个码表,对经常发生的大概率信号分配较少的比特表示,对不常发生的小概率信号分配较多的比特表示,使得整个码流的平均长度趋


    于最短。
    信道缓存
      由于采用了熵编码,产生的比特流的速率是变化的,随着视频图像的统计特性变化。但大多数情况下传输系统分配的频带都是恒定的,因此在编码比特流进


    入信道前需设置信道缓存。信道缓存是一缓存器,以变比特率从熵编码器向里写入数据,以传输系统标称的恒定比特率向外读出,送入信道。缓存器的大小,或


    称容量是设定好的,但编码器的瞬时输出比特率常明显高于或低于传输系统的频带,这就有可能造成缓存器的上溢出或下溢出。因此缓存器须带有控制机制,通


    过反馈控制压缩算法,调整编码器的比特率,使得缓存器的写入数据速率与读出数据速率趋于平衡。缓存器对压缩算法的控制是通过控制量化器的量化步长实现


    的,当编码器的瞬时输出速率过高,缓存器将要上溢时,就使量化步长增大以降低编码数据速率,当然也相应增大了图像的损失;当编码器的瞬时输出速率过低


    ,缓存器将要下溢出时,就使量化步长减小以提高编码数据速率。
    运动估计
      运动估计使用于帧间编码方式时,通过参考帧图像产生对被压缩图像的估计。运动估计的
      
    MPEG-2 编解码模型图
    准确程度对帧间编码的压缩效果非常重要。如果估计作的好,那么被压缩图像与估计图像相减后只留下很小的值用于传输。运动估计以宏块为单位进行,计算被


    压缩图像与参考图像的对应位置上的宏块间的位置偏移。这种位置偏移是以运动矢量来描述的,一个运动矢量代表水平和垂直两个方向上的位移。运动估计时,P


    帧和B帧图像所使用的参考帧图像是不同的。P帧图像使用前面最近解码的I帧或P帧作参考图像,称为前向预测;而B帧图像使用两帧图像作为预测参考,称为双向


    预测,其中一个参考帧在显示顺序上先于编码帧(前向预测),另一帧在显示顺序上晚于编码帧(后向预测),B帧的参考帧在任何情况下都是I帧或P帧。
    运动补偿
      利用运动估计算出的运动矢量,将参考帧图像中的宏块移至水平和垂直方向上的相对应位置,即可生成对被压缩图像的预测。在绝大多数的自然场景中运动


    都是有序的。因此这种运动补偿生成的预测图像与被压缩图像的差分值是很小的。数字图像质量的主观评价
      主观评价的条件包括:评价小组结构,观察距离,测试图像,环境照度和背景色调等。评价小组由一定人数观察人员构成,其中专业人员与非专业人员各占


    一定比例。观察距离为显示器对角线尺寸的3-6倍。测试图像有若干具有一定图像细节和运动的图像序列构成。主观评价反映的是许多人对图像质量统计评价的平


    均值。

  • 相关阅读:
    Android 播放音频
    Android Service 入门
    Android ConstraintLayout 说明和例子
    Android LiveData使用
    C# MVC MVP
    shell--4.echo和printf
    shell--3.运算符
    shell--2.shell数组
    mongDB-- 3. 查询操作
    问题--feed列表有新闻重复的问题
  • 原文地址:https://www.cnblogs.com/eustoma/p/2415790.html
Copyright © 2011-2022 走看看