各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式

时间:2022-09-13 15:09:21
编解码学习笔记(一):基本概念

媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放 license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了。所以豆丁上看不出所以然,从 wiki上查。中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版也减肥得太过。我在网上还看到一个山寨的中文wiki,长得很像,红色的,叫“天下维客”。wiki的中文还是很不错的,但是阅读后建议再阅读英文。

  我对媒体codec做了一些整理和总结,资料来源于wiki,小部分来源于网络博客的收集。网友资料我们将给出来源。如果资料已经转手几趟就没办法,雁过留声,我们只能给出某个轨迹。

基本概念

编解码

  编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序。这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个编码流中恢复适合观察或操作的形式的操作。编解码器经常用在视频会议和流媒体等应用中。

容器

  很多多媒体数据流需要同时包含音频数据和视频数据,这时通常会加入一些用于音频和视频数据同步的元数据,例如字幕。这三种数据流可能会被不同的程序,进程或者硬件处理,但是当它们传输或者存储的时候,这三种数据通常是被封装在一起的。通常这种封装是通过视频文件格式来实现的,例如常见的*.mpg, *.avi, *.mov, *.mp4, *.rm, *.ogg or *.tta. 这些格式中有些只能使用某些编解码器,而更多可以以容器的方式使用各种编解码器。

  FourCC全称 Four-Character Codes,是由4个字符(4 bytes)组成,是一种独立标示视频数据流格式的四字节,在wav、avi档案之中会有一段FourCC来描述这个AVI档案,是利用何种codec来编码的。因此wav、avi大量存在等于“IDP3”的FourCC。

  视频是现在电脑中多媒体系统中的重要一环。为了适应储存视频的需要,人们设定了不同的视频文件格式来把视频和音频放在一个文件中,以方便同时回放。视频档实际上都是一个容器里面包裹着不同的轨道,使用的容器的格式关系到视频档的可扩展性。

参数介绍

采样率

  采样率(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数叫作采样周期或采样时间,它是采样之间的时间间隔。注意不要将采样率与比特率(bit rate,亦称“位速率”)相混淆。

  采样定理表明采样频率必须大于被采样信号带宽的两倍,另外一种等同的说法是奈奎斯特频率必须大于被采样信号的带宽。如果信号的带宽是 100Hz,那么为了避免混叠现象采样频率必须大于200Hz。换句话说就是采样频率必须至少是信号中最大频率分量频率的两倍,否则就不能从信号采样中恢复原始信号。

  对于语音采样:

  • 8,000 Hz - 电话所用采样率, 对于人的说话已经足够
  • 11,025 Hz
  • 22,050 Hz - 无线电广播所用采样率
  • 32,000 Hz - miniDV 数码视频 camcorder、DAT (LP mode)所用采样率
  • 44,100 Hz - 音频 CD, 也常用于 MPEG-1 音频(VCD, SVCD, MP3)所用采样率
  • 47,250 Hz - Nippon Columbia (Denon)开发的世界上第一个商用 PCM 录音机所用采样率
  • 48,000 Hz - miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率
  • 50,000 Hz - 二十世纪七十年代后期出现的 3M 和 Soundstream 开发的第一款商用数字录音机所用采样率
  • 50,400 Hz - 三菱 X-80 数字录音机所用所用采样率
  • 96,000 或者 192,000 Hz - DVD-Audio、一些 LPCM DVD 音轨、Blu-ray Disc(蓝光盘)音轨、和 HD-DVD (高清晰度 DVD)音轨所用所用采样率
  • 2.8224 MHz - SACD、 索尼 和 飞利浦 联合开发的称为 Direct Stream Digital 的 1 位 sigma-delta modulation 过程所用采样率。

  在模拟视频中,采样率定义为帧频和场频,而不是概念上的像素时钟。图像采样频率是传感器积分周期的循环速度。由于积分周期远远小于重复所需时间,采样频率可能与采样时间的倒数不同。

  • 50 Hz - PAL 视频
  • 60 / 1.001 Hz - NTSC 视频

  当模拟视频转换为数字视频的时候,出现另外一种不同的采样过程,这次是使用像素频率。一些常见的像素采样率有:

  • 13.5 MHz - CCIR 601、D1 video

分辨率

  分辨率,泛指量测或显示系统对细节的分辨能力。此概念可以用时间、空间等领域的量测。日常用语中之分辨率多用于图像的清晰度。分辨率越高代表图像品质越好,越能表现出更多的细节。但相对的,因为纪录的信息越多,文件也就会越大。目前个人电脑里的图像,可以使用图像处理软件,调整图像的大小、编修照片等。例如 photoshop,或是photoimpact等软件。

 图像分辨率

   用以描述图像细节分辨能力,同样适用于数字图像、胶卷图像、及其他类型图像。常用'线每毫米'、 '线每英吋'等来衡量。通常,“分辨率”被表示成每一个方向上的像素数量,比如640x480等。而在某些情况下,它也可以同时表示成“每英吋像素” (pixels per inch,ppi)以及图形的长度和宽度。比如72ppi,和8x6英吋。

 视频分辨率

各 种电视规格分辨率比较视频的画面大小称为“分辨率”。数位视频以像素为度量单位,而类比视频以水平扫瞄线数量为度量单位。标清电视频号分辨率为 720/704/640x480i60(NTSC)或768/720x576i50(PAL/SECAM)。新的高清电视(HDTV)分辨率可达 1920x1080p60,即每条水平扫瞄线有1920个像素,每个画面有1080条扫瞄线,以每秒钟60张画面的速度播放。

画面更新率fps

   Frame rate中文常译为“画面更新率”或“帧率”,是指视频格式每秒钟播放的静态画面数量。典型的画面更新率由早期的每秒6或8张(frame persecond,简称fps),至现今的每秒120张不等。PAL (欧洲,亚洲,澳洲等地的电视广播格式) 与 SECAM (法国,俄国,部分非洲等地的电视广播格式) 规定其更新率为25fps,而NTSC (美国,加拿大,日本等地的电视广播格式) 则规定其更新率为29.97 fps。电影胶卷则是以稍慢的24fps在拍摄,这使得各国电视广播在播映电影时需要一些复杂的转换手续(参考Telecine转换)。要达成最基本的视觉暂留效果大约需要10fps的速度。

压缩方法

有损压缩和无损压缩

   在视频压缩中有损(Lossy )和无损(Lossless)的概念与静态图像中基本类似。无损压缩也即压缩前和解压缩后的数据完全一致。多数的无损压缩都采用RLE行程编码算法。有损压缩意味着解压缩后的数据与压缩前的数据不一致。在压缩的过程中要丢失一些人眼和人耳所不敏感的图像或音频信息,而且丢失的信息不可恢复。几乎所有高压缩的算法都采用有损压缩,这样才能达到低数据率的目标。丢失的数据率与压缩比有关,压缩比越小,丢失的数据越多,解压缩后的效果一般越差。此外,某些有损压缩算法采用多次重复压缩的方式,这样还会引起额外的数据丢失。

  • 无损格式,例如WAV,PCM,TTA,FLAC,AU,APE,TAK,WavPack(WV)
  • 有损格式,例如MP3,Windows Media Audio(WMA),Ogg Vorbis(OGG),AAC

帧内压缩和帧间压缩

   帧内(Intraframe)压缩也称为空间压缩 (Spatial compression)。当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似。帧内一般采用有损压缩算法,由于帧内压缩时各个帧之间没有相互关系,所以压缩后的视频数据仍可以以帧为单位进行编辑。帧内压缩一般达不到很高的压缩。

   采用帧间(Interframe)压缩是基于许多视频或动画的连续前后两帧具有很大的相关性,或者说前后两帧信息变化很小的特点。也即连续的视频其相邻帧之间具有冗余信息,根据这一特性,压缩相邻帧之间的冗余量就可以进一步提高压缩量,减小压缩比。帧间压缩也称为时间压缩(Temporalcompression),它通过比较时间轴上不同帧之间的数据进行压缩。帧间压缩一般是无损的。帧差值(Frame differencing)算法是一种典型的时间压缩法,它通过比较本帧与相邻帧之间的差异,仅记录本帧与其相邻帧的差值,这样可以大大减少数据量。

对称编码和不对称编码

   对称性(symmetric)是压缩编码的一个关键特征。对称意味着压缩和解压缩占用相同的计算处理能力和时间,对称算法适合于实时压缩和传送视频,如视频会议应用就以采用对称的压缩编码算法为好。而在电子出版和其它多媒体应用中,一般是把视频预先压缩处理好,尔后再播放,因此可以采用不对称(asymmetric)编码。不对称或非对称意味着压缩时需要花费大量的处理能力和时间,而解压缩时则能较好地实时回放,也即以不同的速度进行压缩和解压缩。一般地说,压缩一段视频的时间比回放(解压缩)该视频的时间要多得多。例如,压缩一段三分钟的视频片断可能需要10多分钟的时间,而该片断实时回放时间只有三分钟。

除wiki外的资料来源:http://tech.lmtw.com/csyy/Using/200411/3142.html

编解码学习笔记(二):codec类型

资料(港台将information翻译为资料)压缩是透过去除资料中的冗余资讯而达成。就视讯资料而言,资料中的冗余资讯可以分成四类:

时间上的冗余资讯(temporal redundancy)
  在视讯资料中,相邻的帧(frame)与帧之间通常有很强的关连性,这样的关连性即为时间上的冗余资讯。这即是上一次学习中的帧间压缩。

空间上的冗余资讯(spatial redundancy)
  在同一张帧之中,相邻的像素之 间通常有很强的关连性,这样的关连性即为空间上的冗余资讯。这即是上一次学习中的帧内压缩。

统计上的冗余资讯(statistical redundancy)
  统计上的冗余资讯指的是欲编码的符号(symbol)的机率分布是不均匀(non-uniform)的。

感知上的冗余资讯(perceptual redundancy)
  感知上的冗余资讯是指在人在观看视讯时,人眼无法察觉的资讯。

   视讯压缩(英文:Video compression)是指运用资料压缩技术将数位视讯资料中的冗余资讯去除,降低表示原始视讯所需的资料量,以便视讯资料的传输与储存。实际上,原始视讯资料的资料量往往过大,例如未经压缩的电视品质视讯资料的位元率高达216Mbps,绝大多数的应用无法处理如此庞大的资料量,因此视讯压缩是必要的。目前最新的视讯编码标准为ITU-T视讯编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视讯组(JVT,Joint Video Team)所提出的H.264/AVC。

  一个典型的视讯编码器:在进行当前信号编码时,编码器首先会产生对当前信号做预测的信号,称作预测信号(predicted signal),预测的方式可以是时间上的预测(interprediction),亦即使用先前帧的信号做预测,或是空间上的预测(intra prediction),亦即使用同一张帧之中相邻像素的信号做预测。得到预测信号后,编码器会将当前信号与预测信号相减得到残余信号(residual signal),并只对残余信号进行编码,如此一来,可以去除一部份时间上或是空间上的冗余资讯。接着,编码器并不会直接对残余信号进行编码,而是先将残余信号经过变换(通常为离散余弦变换)然后量化以进一步去除空间上和感知上的冗余资讯。量化后得到的量化系数会再透过熵编码,去除统计上的冗余资讯。

视讯编码标准发展

年份

标准

制定组织

解除版权保护
(DRM-free )

主要应用

1984

H.120

ITU-T

 

1990

H.261

ITU-T

视讯会议视讯通话

1993

MPEG-1 第二部份

ISOIEC

影音光碟(VCD

1995

H.262/MPEG-2 第二部份

ISOIECITU-T

DVD影碟DVD-Video )、蓝光Blu-Ray )影碟、数位视讯广播(DVB )、SVCD

1996

H.263 [6]

ITU-T

 

视讯会议视讯通话3G 手机视讯(3GP

1999

MPEG-4 第二部份

ISOIEC

 

2003

H.264/MPEG-4 AVC [1]

ISOIECITU-T

蓝光Blu-Ray )影碟、数位视讯广播(DVB )、iPod 视讯、高画质DVDHD DVD

常见的编解码见下表,在以后会分类论述:

视频codec

ISO /IEC

MJPEG · Motion JPEG 2000 · MPEG-1 · MPEG-2 (Part 2 )· MPEG-4 (Part 2/ASP · Part 10/AVC )· HVC

ITU-T

H.120 · H.261 · H.262 · H.263 · H.264 · H.265

其它

AMV · AVS · Bink · CineForm · Cinepak · Dirac · DV · Indeo · Microsoft Video 1 · OMS Video · Pixlet · RealVideo · RTVideo · SheerVideo · Smacker · Sorenson Video & Sorenson Spark · Theora · VC-1 · VP3 · VP6 · VP7 · VP8 · WMV

音频 codec

ISO /IEC MPEG

MPEG-1 Layer III (MP3) · MPEG-1 Layer II · MPEG-1 Layer I · AAC · HE-AAC · MPEG-4 ALS · MPEG-4 SLS · MPEG-4 DST

ITU-T

G.711 · G.718 · G.719 · G.722 · G.722.1 · G.722.2 · G.723 · G.723.1 · G.726 · G.728 · G.729 · G.729.1

其它

AC-3 · AMR · AMR-WB · AMR-WB+ · Apple Lossless · ATRAC · DRA · DTS · FLAC · GSM-HR · GSM-FR · GSM-EFR · iLBC · Monkey's Audio · TTA (True Audio)· MT9 · μ-law · Musepack · Nellymoser · OptimFROG · OSQ · RealAudio · RTAudio · SD2 · SHN · SILK · Siren · Speex · TwinVQ · Vorbis · WavPack · WMA

图像压缩

ISO /IEC /ITU-T

JPEG · JPEG 2000 · JPEG XR · lossless JPEG · JBIG · JBIG2 · PNG · WBMP

Others

APNG · BMP · DjVu · EXR · GIF · ICER · ILBM · MNG · PCX · PGF · TGA · TIFF

媒体容器

通用

3GP · ASF · AVI · Bink · BXF · DMF · DPX · EVO · FLV · GXF · M2TS · Matroska · MPEG-PS · MPEG-TS · MP4 · MXF · Ogg · QuickTime · RealMedia · RIFF · Smacker · VOB

只用于音频

AIFF · AU· WAV

上面的表格,查看某个具体的codec,可以在中文的wiki中查找,但是英文的wiki咨询更为丰富,见下表

Multimedia compression formats

Video compression

ISO /IEC

MJPEG · Motion JPEG 2000 · MPEG-1 · MPEG-2 (Part 2 )· MPEG-4 (Part 2/ASP · Part 10/AVC )· HEVC

ITU-T

H.120 · H.261 · H.262 · H.263 · H.264 · HEVC

Others

AMV · AVS · Bink · CineForm · Cinepak · Dirac · DV · Indeo · Microsoft Video 1 · OMS Video · Pixlet · RealVideo · RTVideo · SheerVideo · Smacker · Sorenson Video & Sorenson Spark · Theora · VC-1 · VP3 · VP6 · VP7 · VP8 · WMV

Audio compression

ISO /IEC

MPEG-1 Layer III (MP3) · MPEG-1 Layer II · MPEG-1 Layer I · AAC · HE-AAC · MPEG-4 ALS · MPEG-4 SLS · MPEG-4 DST · MPEG-4 HVXC · MPEG-4 CELP

ITU-T

G.711 · G.718 · G.719 · G.722 · G.722.1 · G.722.2 · G.723 · G.723.1 · G.726 · G.728 · G.729 · G.729.1

Others

AC-3 · AMR · AMR-WB · AMR-WB+ · Apple Lossless · ATRAC · DRA · DTS · FLAC · GSM-HR · GSM-FR · GSM-EFR · iLBC · Monkey's Audio · TTA (True Audio)· MT9 · μ-law · Musepack · Nellymoser · OptimFROG · OSQ · RealAudio · RTAudio · SD2 · SHN · SILK · Siren · Speex · TwinVQ · Vorbis · WavPack · WMA

Image compression

ISO /IEC /ITU-T

JPEG · JPEG 2000 · JPEG XR · lossless JPEG · JBIG · JBIG2 · PNG · WBMP

Others

APNG · BMP · DjVu · EXR · GIF · ICER · ILBM · MNG · PCX · PGF · TGA · QTVR · TIFF

Media containers

ISO/IEC

MPEG-PS · MPEG-TS · MPEG-4 Part 12 /JPEG 2000 Part 12 · MPEG-4 Part 14

ITU-T

H.222.0

Others

3GP and 3G2 · ASF · AVI · Bink · DivX Media Format · DPX · EVO · Flash Video · GXF · M2TS · Matroska · MXF · Ogg · QuickTime · RealMedia · REDCODE RAW · RIFF · Smacker · MOD and TOD · VOB · WebM

Audio only

AIFF · AU · WAV

编解码学习笔记(三):Mpeg系列——Mpeg 1和Mpeg 2

MPEG 是Moving Picture Experts Group的简称。这个名字本来的含义是指一个研究视频和音频编码标准的小组。现在我们所说的MPEG泛指又该小组制定的一系列视频编码标准。该小组于 1988年组成,至今已经制定了MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7等多个标准,MPEG-21正在制定中。

MPEG到目前为止已经制定并正在制定以下和视频相关的标准:

  • MPEG-1: 第一个官方的视訊音訊压缩标准,随后在Video CD中被采用,其中的音訊压缩的第三级(MPEG-1 Layer 3)简称MP3, 成为比较流行的音訊压缩格式。
  • MPEG-2:广播质量的视訊、音訊和传输协议。被用于無線數位電視-ATSC、DVB以及ISDB、数字卫星电视(例如DirecTV)、数字有线电视信号,以及DVD视频光盘技术中。
  • MPEG-3: 原本目标是为高解析度电视(HDTV)设计,随后發現MPEG-2已足夠HDTV應用,故 MPEG-3的研發便中止。
  • MPEG- 4:2003 年发布的视訊压缩标准,主要是扩展MPEG-1、MPEG-2等標準以支援視訊/音訊物件(video/audio "objects")的編碼、3D內容、低位元率編碼(low bitrate encoding)和數位版權管理(Digital Rights Management),其中第10部分由ISO/IEC和ITU-T联合发布,称为H.264/MPEG-4 Part 10。参见H.264。
  • MPEG-7:MPEG-7并不是一个视訊压缩标准,它是一个多媒体内容的描述标准。
  • MPEG-21:MPEG-21是一个正在制定中的标准,它的目标是为未来多媒体的应用提供一个完整的平台。

  媒体codec在于MPEG-1,MPEG-2,MPEG-4,如上图所示。

图中名称解释:在图中DVD地球人都知道,何为DVB?

DVB:数字视频广播(DVB, Digital VideoBroadcasting),是由“DVB Project”维护的一系列为国际所承认的数字电视公开标准。DVB系统传输方式有如下几种:

·        卫星电视(DVB-S 及 DVB-S2)

·        有线电视(DVB-C)

·        无线电视(DVB-T)

·        手持地面无线(DVB-H)

这 些标准定义了传输系统的物理层与数据链路层。设备通过同步并行接口(synchronous parallel interface, SPI),同步串行接口(synchronous serial interface, SSI),或异步串行接口(asynchronousserial interface, ASI)与物理层交互。数据以MPEG-2传输流的方式传输,并要求符合更严格的限制(DVB-MPEG)。对移动终端即时压缩传输数据的标准(DVB- H)目前正处于测试之中。

这些传输方式的主要区别在于使用的调制方式,因为不同它们应用的频率带宽的要求不同。利用高频载波的DVB-S使用QPSK调制方式,利用低频载波的DVB-C使用QAM-64 调制方式,而利用VHF 及 UHF载波的DVB-T使用COFDM调制方式。

除音频与视频传输外,DVB也定义了带回传信道(DVB-RC)的数据通信标准(DVB-DATA)。

DVB的codec,视频为:MPEG-2,MPEG-4 AVC;音频为:MP3,AC-3,AAC,HE-AAC。

MPEG-1

  MPEG-1作为ISO/IEC11172正式发布。

   MPEG-1较早的视频编码,质量比较差,主要用于 CD-ROM 存储视频,国内最为大家熟悉的就是 VCD(Video CD),他的视频编码就是采用 MPEG-1。它是为CD光盘介质定制的视频和音频压缩格式。一张70分钟的CD光盘传输速率大约在1.4Mbps。而 MPEG-1采用了块方式的运动补偿、离散余弦变换(DCT)、量化等技术,并为1.2Mbps传输速率进行了优化。MPEG-1 随后被Video CD采用作为内核技术。MPEG-1的输出质量大约和传统录像机VCR,信号质量相当,这也许是Video CD在发达国家未获成功的原因。

  MPEG-1音频分三层,就是MPEG-1 Layer I, II, III,其中第三层协议也就是MPEG- 1 Layer 3,简称MP3。MP3目前已经成为广泛流传的音频压缩技术。

MPEG-1有下面几个部分:

  • 第一部分(Part 1):系统;
  • 第二部分(Part 2):视频;
  • 第三部分(Part 3):音频;定义level1,level2,level3,并在MPEG-2中定义了扩展。
  • 第四部分(Part 4):一次性测试;
  • 第五部分(Part 5):参考软件;

MPEG-1的缺点:

  • 1个音频压缩系统限于两个通道(立体声)
  • 没有为隔行扫描视频提供标准化支持,且压缩率差
  • 只有一个标准化的“profile” (约束参数比特流), 不适应 更高分辨率的视频。MPEG - 1可以支持4k的视频,但难以提供更高分辨率的视频编码并且标识硬件的支持能力。
  • 支持只有一个颜色空间,4:2:0。

MPEG-2

MPEG-2内容介绍

  MPEG-2作为ISO/IEC 13818正式发布,通常用来为广播信号提供视频和音频编码,包括卫星电视、有线电视等。MPEG-2经过少量修改后,也成为DVD产品的内核技术。

  MPEG-2有11部分,具体如下:

第一部(Part 1):系统-描述视频和音频的同步和多路技术

  正式名称是 ISO/IEC 13818-1或 ITU-T中的H.222.0

  MPEG-2的系统描述部分(第1部分)定义了传输流,它用来一套在非可靠介质上传输数字视频信号和音频信号的机制,主要用在广播电视领域。

   定义了两个不同但相关的容器格式,MPEG transport stream和MPEG program stream,也就是图中的TS和PS。MPEG传输流(TS)为携带可损数字视频和音频,媒体流的开始和结束可以不标识出来,就像广播或者磁带,其中的例子包括ATSC,DVB,SBTVD 和HDV。MPEG-2系统还定义了MPEG节目流(PS),它为以文件为基础的媒体设计一个容器格式,用于 硬盘驱动器,光盘和闪存。

   MPEG-2 PS(节目流)是为在存储介质保存视频信息而开发的。 MPEG-2 TS(传输流)是为在网络传输视频信息而开发的。目前,MPEG-2 TS最广泛地应用是DVB系统。TS流与PS流的区别在于TS流的包结构是固定度的,而PS流的包结构是可变长度。 PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。而PS包由于长度是变化的,一旦某一 PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。因此,在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流由于 TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流的包格。

第二部(Part 2):视频-视频压缩

  正式名称是 ISO/IEC 13818-2或 ITU-T H.262。

  提供隔行扫描和非隔行扫描视频信号的压缩编解码器。

  MPEG-2的第二部分即视频部分和MPEG-1类似,但是它提供对隔行扫描视频显示模式的支持(隔行扫描广泛应用在广播电视领域)。MPEG-2视频并没有对低位速率(小于1Mbps)进行优化,在 3Mbit/s及以上位速率情况下,MPEG-2明显优于MPEG-1。 MPEG-2向后兼容,也即是说,所有符合标准的MPEG-2解码器也能够正常播放MPEG-1视频流。

   MPEG-2技术也应用在了HDTV传输系统中。MPEG-2 不光运用于 DVD-Video ,现在大部 分 HDTV(高清电视)也采用 MPEG-2 编码,分辨率达到了 1920x1080。由于 MPEG-2 的普及,本来为 HDTV 准备 的 MPEG-3 最终宣告放弃。

   MPEG-2视频通常包含多个GOP(GroupOf Pictures),每一个GOP包含多个帧(frame)。帧的帧类(frame type)通常包括I-帧(I-frame)、P-帧(P-frame)和B-帧(B-frame)。其中I-帧采用帧内编码,P-帧采用前向估计,B- 帧采用双向估计。一般来说输入视频格式是25(CCIR标准)或者29.97(FCC)帧/秒。

  MPEG-2支持隔行扫描和逐行扫描。在逐行扫描模式下,编码的基本单元是帧。在隔行扫描模式下,基本编码可以是帧,也可以是场(field)。

   原始输入图像首先被转换到YCbCr颜色空间。其中Y是亮度,Cb和Cr是两个色度通道。 Cb指蓝色色度,Cr指红色色度。对于每一通道,首先采用块分区,然后形成“宏块”(macroblocks),宏块构成了编码的基本单元。每一个宏块再分区成8x8的小块。色度通道分区成小块的数目取决于初始参数设置。例如,在常用的4:2:0格式下,每个色度宏块只采样出一个小块,所以三个通道宏块能够分区成的小块数目是4+1+1=6个。

  对于I-帧,整幅图像直接进入编码过程。对于P-帧和B-帧,首先做运动补偿。通常来说,由于相邻帧之间的相关性很强,宏块可以在前帧和后帧中对应相近的位置找到相似的区域匹配的比较好,这个偏移量作为运动向量被记录下来,运动估计重构的区域的误差被送到编码器中编码。

  对于每一个8×8小块,离散余弦变换把图像从空间域转换到频域。得到的变换系数被量化并重新组织排列顺序,从而增加长零的可能性。之后做游程编码(run-length code)。最后作哈夫曼编码(Huffman Encoding)。

  I帧编码是为了减少空间域冗余,P帧和B帧是为了减少时间域冗余。

   GOP是由固定模式的一系列I帧、P帧、B帧组成。常用的结构由15个帧组成,具有以下形式 IBBPBBPBBPBBPBB。GOP中各个帧的比例的选取和带宽、图像的质量要求有一定关系。例如因为B帧的压缩时间可能是I帧的三倍,所以对于计算能力不强的某些实时系统,可能需要减少B帧的比例。

  MPEG-2输出的比特流可以是匀速或者变速的。最大比特率,例如在DVD应用上,可达10.4 Mbit/s。如果要使用固定比特率,量化尺度就需要不断的调节以产生匀速的比特流。但是,提高量化尺度可能带来可视的失真效果。比如马赛克现象。

第三部(Part 3):音频-音频压缩

   MPEG-2的第三部分定义了音频压缩标准。MPEG-2 BC(Backwards compatible),后向兼容MPEG-1音频。该部分改进了MPEG-1的音频压缩,支持两通道以上的音频,可高达5.1多声道。MPEG-2音频压缩部分也保持了向后兼容的特点(也称为MPEG - 2 BC),允许的MPEG - 1音频解码器解码两个主立体声组件。还定义音频MPEG-1 Layer I,II ,III额外的比特率和采样频率。

  例如mp2,是MPEG-1 Audio level 2,标准有:ISO/IEC 11172-3, ISO/IEC 13818-3。MPEG-1Layer II 定义在 ISO/IEC 11172-3,也就是MPEG-1的第三部分,在 ISO/IEC 13818-3,也就是MPEG-2的第3部分定义扩展。

第四部(Part 4):测试规范

  描述测试程序。

第五部(Part 5):仿真软件

  描述软件仿真系统。

第六部(Part 6):DSM-CC(Digital Storage Media Commandand Control)扩展

  描述DSM-CC(数字存储媒体命令及控制)扩展。

第七部(Part 7):Advanced Audio Coding (AAC)

   MPEG-2的第七部分定义了不能向后兼容的音频压缩(也成为MPEG-2 NBC)。也成为MPEG-2 NBC(not-backwards compatible MPEG-1Audio)。该部分提供了更强的音频功能。通常我们所说的MPEG-2 AAC指的就是这一部分。AAC即Advanced Audio Coding。 AAC是比以前的MPEG音频标准的效率,并在某个程度上没有它的前任MPEG-1 Layer3(MP3)复杂,它没有复杂的混合滤波器(hybrid filter bank)。它支持从1到48个通道,采样率从8-96千赫,多渠道,多语种和多节目(multiprogram)能力。AAC也在MPEG-4标准的第 3部分描述。

第八 部(Part 8):

   已取消。

第九部(Part 9):实时接口扩展

  实时接口扩展。

第十部(Part 10):DSM-CC一致性扩展

  DSM-CC一致性扩展。

第十一部(Part 11) :IP

  知识产权管理(IPMP)。XML定义在ISO/IEC23001-3。MPEG-2内核技术大约涉及640个专利,这些专利主要集中在20间公司和一间大学。

MPEG- 2音频

  MPEG- 2提供新的音频编码方式。在第3部分和第7部分介绍。

第三部分

  MPEG-2 BC (backward compatible with MPEG-1 audio formats),使用一半的取样速率处理低位速率的音频,(MPEG-1 Layer 1/2/3 LSF),多通道编码达到5.1个通道。

第七部分

  MPEG-2 NBC (Non-Backward Compatible),提供MPEG-2AAC,且不能向后兼容, 多通道编码达到 48个通道。

MPEG- 2 profile和level

  MPEG- 2提供广泛的应用,对于大部分的应用,即不现实的也过于昂贵,去支持整个标准,通常只支持子集,因此标准定义了profile和level来表示这些子集。profile定义特性相关,例如压缩算法,色度格式等。level定义性能相关,例如最大比特率,最大帧大小等。一个应用程序应当通过profile和level来表示他的能力。profile和level的组合构成MPEG-2视频编码标准在某种特定应用下的子集。对某一输入格式的图像,采用特定集合的压缩编码工具,产生规定速率范围内的编码码流 。 例如一台DVD播放机可以说,它支持最多的主要profile和主要level(通常写为MP@ML)。

  MPEG-2主要的profile:

名称

英文

中文

图像编码类型

色度格式 YCbCr

长宽比

伸缩模式

SP

Simple Profile

简单类

I帧、P帧

4:2:0

4:3或16:9

 

MP

Main Profile

主类

I帧、P帧、B帧

4:2:0

4:3 或16:9

 

SNR

SNR Scalable profile

信噪比分层类

I帧、P帧、B帧

4:2:0

4:3 或16:9

信噪比可伸缩

Spatial

Spatially scalable profile

空间可分层类

I帧、P帧、B帧

4:2:0

4:3 或16:9

信噪比或空间可伸缩

442P

4:2:2 Profile

 

I帧、P帧、B帧

4:2:2

   

HP

High profile

高类

I帧、P帧、B帧

4:2:0或 4:2:2

4:3 或16:9

信噪比或空间可伸缩

  MPEG-2主要的level:

名称

英文

帧频

最大长×最大宽

每秒最大亮度样本 (约为高×宽×帧频率)

最大比特率 (Mbit/s)

LL

Low Level

23.976, 24, 25, 29.97, 30

352×288

3,041,280

4

ML

Main Level

23.976, 24, 25, 29.97, 30

720×576

10,368,000,例外为:HP中4:2:0为14,475,600,4:2:2为11,059,200

15

H-14

High-1440 level

23.976, 24, 25, 29.97, 30, 50, 59.94, 60

1440×1152

47,001,600,例外为:HP中4:2:0为62,668,800

60

HL

High level

23.976, 24, 25, 29.97, 30, 50, 59.94, 60

1920×1152

62,668,800,例外为:HP中4:2:0为83,558,400

80

组合例子

Profile @ Level

Resolution (px)

Framerate max. (Hz)

Sampling

Bitrate (Mbit/s)

Example Application

SP@LL

176 × 144

15

4:2:0

0.096

Wireless handsets

SP@ML

352 × 288

15

4:2:0

0.384

PDAs

320 × 240

24

MP@LL

352 × 288

30

4:2:0

4

Set-top boxes (STB)

MP@ML

720 × 480

30

4:2:0

15 (DVD: 9.8)

DVD, SD-DVB

720 × 576

25

MP@H-14

1440 × 1080

30

4:2:0

60 (HDV: 25)

HDV

1280 × 720

30

MP@HL

1920 × 1080

30

4:2:0

80

ATSC 1080i, 720p60, HD-DVB (HDTV).

(Bitrate for terrestrial transmission is limited to 19.39Mbit/s)

1280 × 720

60

422P@LL

   

4:2:2

   

422P@ML

720 × 480

30

4:2:2

50

Sony IMX using I-frame only, Broadcast "contribution" video (I&P only)

720 × 576

25

422P@H-14

1440 × 1080

30

4:2:2

80

Potential future MPEG-2-based HD products from Sony and Panasonic

1280 × 720

60

422P@HL

1920 × 1080

30

4:2:2

300

Potential future MPEG-2-based HD products from Panasonic

1280 × 720

60

MPEG- 2在DVD上的应用

DVD中采用了 MPEG-2标准并引入如下技术参数限制:
* 分辨率
o 720 x 480, 704 x 480, 352 x 480, 352 x 240 像素(NTSC制式)
o 720 x 576, 704 x 576, 352 x 576, 352 x 288 像素(PAL制式)
* 纵横比
o 4:3
o 16:9
* 帧率(帧播放速度)
o 59.94 场/秒,23.976帧/秒,29.97帧/秒(NTSC)
o 50 场/秒,25帧/秒(PAL)
* 视频+音频 比特率
o 平均最大缓冲区 9.8 Mbit/s
o 峰值 15 Mbit/s
o 最小值 300 Kbit/s
* YUV 4:2:0
* 字幕支持
* 内嵌字幕支持(NTSC only)
* 音频
o LPCM编码:48kHz或96kHz;16或24-bit;最多可达6声道
o MPEG Layer 2 (MP2):48 kHz,可达5.1声道
o 杜比数字-Dolby Digital(DD,也称为AC-3):48 kHz,32-448kbit/s,可达5.1声道
o 数字家庭影院系统-Digital Theater Systems (DTS):754 kbit/s或1510 kbit/s
o NTSC制式DVD必须包含至少一道LPCM或Dolby Digital
o PAL制式DVD必须包含至少一道MPEG Layer 2、LPCM或者Dolby Digital
* GOP结构
o 必须为GOP提供串行的头信息
o GOP最大可含帧数目:18 (NTSC) / 15 (PAL)

MPEG- 2在DVB上的应用

DVB-MPEG相关技术参数:
* 必须符合以下一种分辨率:
o 720 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 640 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 544 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 480 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 352 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 352 × 240 像素,24/1.001,24,30/1.001或30帧/秒
o 720 × 576 像素,25帧/秒
o 544 × 576 像素,25帧/秒
o 480 × 576 像素,25帧/秒
o 352 × 576 像素,25帧/秒
o 352 × 288 像素,25帧/秒

MPEG- 2和NTSC

必须符合以下一种分辨率:
o 1920 × 1080 像素,最多60帧/秒(1080i)
o 1280 × 720 像素,最多60帧/秒(720p)
o 720 × 576 像素,最多50帧/秒,25帧/秒(576i,576p)
o 720 × 480 像素,最多60帧/秒,30帧/秒(480i,480p)
o 640 × 480 像素,最多60帧/秒
注:1080i按 1920×1088像素编码,但是最后8行在显示时抛弃。

对YCbCr的补充资料

YCbCr不是一种绝对色彩空间,是YUV压缩和偏移的版本。右图为UV色版。

Y(Luma,Luminance) 视讯,也就是灰阶值。UV 视作表示彩度的 C(Chrominance或Chroma)。主要的采样(subsample)格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。YUV的表示法称为 A:B:C 表示法:

* 4:4:4 表示完全取样。
* 4:2:2 表示 2:1 的水平取样,没有垂直下采样。
* 4:2:0 表示 2:1 的水平取样,2:1 的垂直下采样。
* 4:1:1 表示 4:1 的水平取样,没有垂直下采样。

最 常用Y:UV记录的比重通常 1:1 或2:1,DVD-Video 是以 YUV 4:2:0 的方式记录,也就是我们俗称的I420,YUV4:2:0 并不是说只有U(即 Cb), V(即 Cr)一定为 0,而是指U:V互相援引,时见时隐,也就是说对于每一个行,只有一个U或者V份量,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是 4:2:0...以此类推。

以上来自wiki资料的整理。

编解码学习笔记(四):Mpeg系列——Mpeg 4

在上次对MPEG-2的学习整理中,有一个疑惑,双声道理解,就是左右立体声,但是5.1声道是什么?我们经常看到杜比5.1声道的说法。“0.1”声道具体指什么?今天去wiki查了一下,相关内容也整理入我们的学习笔记。本文档资料来源:

5.1声道

  使用杜比数字技术下,最标准常用的是5.1声道设置,但杜比数字容许一系列不同声道的选择。全部可供选择的声道如下列所示:

  • 单声道(*)
  • 双声道立体声(左、右),选择性地交叉应用杜比环回
  • 三声道立体声(左、中、右)
  • 双声道立体声加单环回(左、右、环回)
  • 三声道立体声加单环回(左、中、右、环回)
  • 四声道环回立体声(左前、右前、左后、右后)
  • 五声道环回立体声(左前、中、右前、左后、右后)

  以上所有这些设置可选择性地使用低频效果和杜比数字EX矩阵编码中加入附加后环绕声道。杜比编码技术是向下兼容的,很多杜比播放器/解码器均备有向下混音作用是发布不同声道至可供使用的扬声器。这包括一些功能例如声音数据通过前扬声器播放(如适用),和当*扬声器不适用时发布*频道至左或右扬声器。或当用户只有2.0喇叭时,杜比解码器能把多声道信号混音编码为 2.0立体声。

  在5.1, 7.1 或其他等文字中,'.1'指的是低频LFE声道。

  其实5.1声道就是使用5个喇叭和1个超低音扬声器来实现一种身临其境的音乐播放方式,它是由杜比公司开发的,所以叫做“杜比5.1声道”。在5.1声道系统里采用左(L)、中(C)、右(R)、左后(LS)、右后(RS)五个方向输出声音,使人产生犹如身临音乐厅的感觉。五个声道相互独立,其中 “.1” 声道,则是一个专门设计的超低音声道。正是因为前后左右都有喇叭,所以就会产生被音乐包围的真实感。如右图所示。

MPEG-4

总体介绍

   MPEG-4是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的“動態影像专家组”(Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通過,第二版在1999年12月通過。MPEG-4格式的主要用途在於網上流媒体、光碟、語音傳送(視訊電話),以及電視廣播。MPEG-4作为ISO/IEC14496正式发布。ISO/IEC 14496-Coding of audio-visual object (AV对象编码)。

  为了应对网络传输等环境,传统的 MPEG-1/2 已经不能适应,所以促使了 MPEG-4 的诞生。与 MPEG-1和MPEG-2相比,MPEG-4的特点是其更适于交互AV服务以及远程监控。MPEG-4是第一个使你由被动变为主动(不再只是观看,允许你加入其中,即有交互性)的动态图像标准,它的另一个特点是其综合性。从根源上说,MPEG-4试图将自然物体与人造物体相溶合 (视觉效果意义上的)。MPEG-4的设计目标还有更广的适应性和更灵活的可扩展性。 MPEG-4 采用了一系列新技术,来满足在低带宽下传输较高视频质量的需求。DivX,XviD,MS MPEG4 都是采用的MPEG-4 视频编码,除了在 DVDRip 上面的应用,3GPP现在也接纳了 MPEG-4 作为视频编码方案。

  最初MPEG-4的主要目的是用于低比特率下的视频通信,但是作为一个多媒体的编码标准,它的范围最后得到了扩展。在技术方面MPEG-4允许不同的软件/硬件开发商创建多媒体对象来提供更好的适应性、灵活性,为数字电视,动态图像,互联网等业务提供更好的质量。  

  MPEG-4提供范围从每秒几k比特到每秒数十兆比特的,它具有下面功能:

  • 改善MPEG-2的编码效率
    • MPEG- 4基于更高的编码效率。同已有的或即将形成的其它标准相比,在相同的比特率下,它基于更高的视觉听觉质量,这就使得在低带宽的信道上传送视频、音频成为可能。同时MPEG-4还能对同时发生的数据流进行编码。一个场景的多视角或多声道数据流可以高效、同步地合成为最终数据流。这可用于虚拟三维游戏、三维电影、飞行仿真练习等。
  • 提供混合媒体数据(视频,音频,语音)的编码能力
  • 差错容忍使得内容稳定传输。
    • 当在传输有误码或丢包现象时,MPEG4受到的影响很小,并且能迅速恢复。
  • 提供受众视听场景的互动能力,MPEG-4终端用户提供不同的对象支持各种互动要求。
    • MPEG- 4提供了基于内容的多媒体数据访问工具,如索引、超级链接、上传、下载、删除等。利用这些工具,用户可以方便地从多媒体数据库中有选择地获取自己所需的与对象有关的内容,并提供了内容的操作和位流编辑功能,可应用于交互式家庭购物,淡入淡出的数字化效果等。 MPEG-4提供了高效的自然或合成的多媒体数据编码方法。它可以把自然场景或对象组合起来成为合成的多媒体数据。
  • MPEG-4对传输数据网是透明的,它可以兼容各种网络。
    • MPEG-4提供了易出错环境的鲁棒性,来保证其在许多无线和有线网络以及存储介质中的应用,此外,MPEG-4还支持基于内容的的可分级性,即把内容、质量、复杂性分成许多小块来满足不同用户的不同需求,支持具有不同带宽,不同存储容量的传输信道和接收端。
    • 这 些特点无疑会加速多媒体应用的发展,从中受益的应用领域有:因特网多媒体应用;广播电视;交互式视频游戏;实时可视通信;交互式存储媒体应用;演播室技术及电视后期制作;采用面部动画技术的虚拟会议;多媒体邮件;移动通信条件下的多媒体应用;远程视频监控;通过ATM网络等进行的远程数据库业务等。

MPEG-4视频编码核心思想

  在MPEG-4制定之前,MPEG-1、MPEG-2、H.261、H.263都是采用第一代压缩编码技术,着眼于图像信号的统计特性来设计编码器,属于波形编码的范畴。第一代压缩编码方案把视频序列按时间先后分为一系列帧,每一帧图像又分成宏块以进行运动补偿和编码,这种编码方案存在以下缺陷:

  • 将图像固定地分成相同大小的块,在高压缩比的情况下会出现严重的块效应,即马赛克效应;
  • 不能对图像内容进行访问、编辑和回放等操作;
  • 未充分利用人类视觉系统(HVS,Human Visual System)的特性。

  MPEG-4则代表了基于模型/对象的第二代压缩编码技术,它充分利用了人眼视觉特性,抓住了图像信息传输的本质,从轮廓、纹理思路出发,支持基于视觉内容的交互功能,这适应了多媒体信息的应用由播放型转向基于内容的访问、检索及操作的发展趋势。

   AV对象(AVO,AudioVisual Object)是MPEG-4为支持基于内容编码而提出的重要概念。对象是指在一个场景中能够访问和操纵的实体,对象的划分可根据其独特的纹理、运动、形状、模型和高层语义为依据。在MPEG-4中所见的视音频已不再是过去MPEG-1、MPEG-2中图像帧的概念,而是一个个视听场景(AV场景),这些不同的AV场景由不同的AV对象组成。AV对象是听觉、视觉、或者视听内容的表示单元,其基本单位是原始AV对象,它可以是自然的或合成的声音、图像。原始AV对象具有高效编码、高效存储与传输以及可交互操作的特性,它又可进一步组成复合AV对象。因此MPEG-4标准的基本内容就是对AV对象进行高效编码、组织、存储与传输。AV对象的提出,使多媒体通信具有高度交互及高效编码的能力,AV对象编码就是MPEG-4的核心编码技术。

  MPEG-4实现基于内容交互的首要任务就是把视频/图像分割成不同对象或者把运动对象从背景中分离出来,然后针对不同对象采用相应编码方法,以实现高效压缩。因此视频对象提取即视频对象分割,是MPEG-4视频编码的关键技术,也是新一代视频编码的研究热点和难点。

  MPEG-4不仅可提供高压缩率,同时也可实现更好的多媒体内容互动性及全方位的存取性,它采用开放的编码系统,可随时加入新的编码算法模块,同时也可根据不同应用需求现场配置解码器,以支持多种多媒体应用。

MPEG-4各部分

  MPEG-4由一系列的子标准组成,被称为部,包括以下的部分。对于媒体编解码,重点关注Part2,Part 3, Part 10。

第一部(ISO/IEC 14496-1):系统

  描述视訊和音訊的同步以及混合方式(Multiplexing,简写为MUX)。定义了 MP4 容器格式, 支持类似 DVD 菜单这样的直观和互动特性等。

第二部(ISO/IEC 14496-2):视频

  定义了一个对各种视觉信息(包括视訊、静止纹理、计算机合成图形等等)的编解码器。对视訊部分来说,众多”Profiles”中很常用的一种是 Advanced SimpleProfile (ASP),例如XviD编码就 属于MPEG-4Part 2。包括 3ivx, DivX4/Project Mayo, DivX 5, Envivio,ffmpeg/ffds, mpegable, Nero Digital, QuickTime, Sorenson, XviD 等常见的视频格式, 需要注意的是 Divx 3.11, MS MPEG-4, RV9/10, VP6,WMV9 并不属于标准的 MPEG-4 标准。

第三部(ISO/IEC 14496-3):音频

   定义了一个对各种音訊信号进行编码的编解码器的集合。包括高级音訊编码(Advanced Audio Coding,缩写为AAC) 的若干变形和其他一些音频/语音编码工具。即 AAC 音频标准, 包括 LCAAC, HE AAC 等, 支持 5.1 声道编码, 可以用更低的码率实现更好的效果 (相对于 MP3, OGG 等) 。

第四部(ISO/IEC 14496-4):一致性

  定义了对本标准其他的部分进行一致性测试的程序。

第五部(ISO/IEC 14496-5):参考软件

  提供了用于演示功能和说明本标准其他部分功能的软件。

第六部(ISO/IEC 14496-6):多媒体传输集成框架

  即DMIF:Delivery Multimedia IntegrationFramework

第七部(ISO/IEC 14496-7):优化的参考软件

  提供了对实现进行优化的例子(这裡的实现指的是第五部分)。

第八部(ISO/IEC 14496-8):在IP网络上传输

  定义了在IP网络上传输MPEG-4内容的方式。

第九部(ISO/IEC 14496-9):参考硬件

  提供了用于演示怎样在硬件上实现本标准其他部分功能的硬件设计方案。

第十部(ISO/IEC 14496-10):进阶视频编码,也即ITU H.264,常写为H.264/AVC

   或称高级视频编码(Advanced Video Coding,缩写为AVC):定义了一个视频编解码器(codec),AVC和XviD都属于MPEG-4编码,但由于AVC属于MPEG-4Part 10,在技术特性上比属于MPEG-4 Part2的XviD要先进。另外从技术上讲,它和ITU-T H.264标准是一致的,故全称为MPEG-4 AVC/H.264。

第十一部(ISO/IEC 14496-11):场景描述和应用引擎

   可用于多种profile(包括2D和3D版本)的互交互媒体。修订了MPEG-4 Part 1:2001以及Part1的两个修订方案。它定义了应用引擎(交付,生命周期,格式,可下载Java字节代码应用程序的行为),二进制场景格式(BIFS:Binary Format for Scene),可扩展MPEG-4文本格式(一种使用XML描述MPEG-4多媒体内容的文本格式)系统level表述。也就是MPEG-4 Part21中的BIFS,XMT,MPEG-J。

第十二部(ISO/IEC 14496-12):基于ISO的媒体文件格式

  定义了一个存储媒体内容的文件格式。

第十三部(ISO/IEC 14496-13):IP

  知识产权管理和保护(IPMP for Intellectual Property Management and Protection)拓展。

第十四部(ISO/IEC 14496-14):MPEG-4文件格式

  定义了基于第十二部分的用于存储MPEG-4内容的視訊檔案格式。

第十五部(ISO/IEC 14496-15):AVC文件格式

  定义了基于第十二部分的用于存储第十部分的视频内容的文件格式。

第十六部(ISO/IEC 14496-16):动画框架扩展

  动画框架扩展(AFX : Animation Framework eXtension)。

第十七部(ISO/IEC 14496-17):同步文本字幕格式

  尚未完成-2005年1月达成”最终委员会草案”,FCD: Final Committee Draft。

第十八部(ISO/IEC 14496-18):字体压缩和流式传输(针对公开字体格式)。

第十九部(ISO/IEC 14496-19):综合用材质流(Synthesized TextureStream)。

第二十部(ISO/IEC 14496-20):简单场景表示

  LASeR for Lightweight Scene Representation,尚未完成-2005年1月达成”最终委员会草案”,FCD for Final Committee Draft。

第二十一部(ISO/IEC 14496-21):用于描绘(Rendering)的MPEG-J拓展

  尚未完成-2005年1月达成“委员会草案”,CD for Committee Draft)。

Profile和Level

   MPEG-4提供大量的编码方式和丰富的设置。和MPEG-2一样,应用一般不可能支持MPEG-4全集,通过profile和level来描述子集。这些子集,通过 “profile”来表明解码器要求,为了避免计算的复杂,每个profile都有一个或者多个“level”。profile和level的有效组合使得编码生成器只需实现标准中所需的子集,同时保持与其他MPEG-4设备的互通。(解码支持范围通常比编码支持范围大),检查其他MPEG-4设备是否符合标准,即一致性测试。

  对于H.264/AVC(也就是MPEG-4 Part 4)提供下面的profile:

Feature support in particular profiles

Feature

CBP

BP

XP

MP

HiP

Hi10P

Hi422P

Hi444PP

B slices

No

No

Yes

Yes

Yes

Yes

Yes

Yes

SI and SP slices

No

No

Yes

No

No

No

No

No

Flexible macroblock ordering (FMO)

No

Yes

Yes

No

No

No

No

No

Arbitrary slice ordering (ASO)

No

Yes

Yes

No

No

No

No

No

Redundant slices (RS)

No

Yes

Yes

No

No

No

No

No

Data partitioning

No

No

Yes

No

No

No

No

No

Interlaced coding (PicAFF, MBAFF)

No

No

Yes

Yes

Yes

Yes

Yes

Yes

CABAC entropy coding

No

No

No

Yes

Yes

Yes

Yes

Yes

8×8 vs. 4×4 transform adaptivity

No

No

No

No

Yes

Yes

Yes

Yes

Quantization scaling matrices

No

No

No

No

Yes

Yes

Yes

Yes

Separate Cb and Cr QP control

No

No

No

No

Yes

Yes

Yes

Yes

Monochrome (4:0:0)

No

No

No

No

Yes

Yes

Yes

Yes

Chroma formats

4:2:0

4:2:0

4:2:0

4:2:0

4:2:0

4:2:0

4:2:0/4:2:2

4:2:0/4:2:2/4:4:4

Sample depths (bits)

8

8

8

8

8

8 to 10

8 to 10

8 to 14

Separate color plane coding

No

No

No

No

No

No

No

Yes

Predictive lossless coding

No

No

No

No

No

No

No

Yes

  level用来表明一个profile的解码器的性能要求的范围,例如最大图片分配了,帧频,比特率等等。对于解码器,一个指定的level要求可以对该level以及低于该level的码流进行解码。(A decoder that conforms to agiven level is required to be capable of decoding all bitstreams that areencoded for that level and for all lower levels. 来源:http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC

Levels with maximum property values

Level

Max macroblocks

Max video bit rate (VCL)

Examples for high resolution @
frame rate
(max stored frames)

per second

per frame

BP, XP, MP
(kbit/s)

HiP
(kbit/s)

Hi10P
(kbit/s)

Hi422P, Hi444PP
(kbit/s)

1

1,485

99

64

80

192

256

128×96@30.9 (8)
176×144@15.0 (4)

1b

1,485

99

128

160

384

512

128×96@30.9 (8)
176×144@15.0 (4)

1.1

3,000

396

192

240

576

768

176×144@30.3 (9)
320×240@10.0 (3)
352×288@7.5 (2)

1.2

6,000

396

384

480

1,152

1,536

320×240@20.0 (7)
352×288@15.2 (6)

1.3

11,880

396

768

960

2,304

3,072

320×240@36.0 (7)
352×288@30.0 (6)

2

11,880

396

2,000

2,500

6,000

8,000

320×240@36.0 (7)
352×288@30.0 (6)

2.1

19,800

792

4,000

5,000

12,000

16,000

352×480@30.0 (7)
352×576@25.0 (6)

2.2

20,250

1,620

4,000

5,000

12,000

16,000

352×480@30.7(10)
352×576@25.6 (7)
720×480@15.0 (6)
720×576@12.5 (5)

3

40,500

1,620

10,000

12,500

30,000

40,000

352×480@61.4 (12)
352×576@51.1 (10)
720×480@30.0 (6)
720×576@25.0 (5)

3.1

108,000

3,600

14,000

17,500

42,000

56,000

720×480@80.0 (13)
720×576@66.7 (11)
1280×720@30.0 (5)

3.2

216,000

5,120

20,000

25,000

60,000

80,000

1,280×720@60.0 (5)
1,280×1,024@42.2 (4)

4

245,760

8,192

20,000

25,000

60,000

80,000

1,280×720@68.3 (9)
1,920×1,080@30.1 (4)
2,048×1,024@30.0 (4)

4.1

245,760

8,192

50,000

62,500

150,000

200,000

1,280×720@68.3 (9)
1,920×1,080@30.1 (4)
2,048×1,024@30.0 (4)

4.2

522,240

8,704

50,000

62,500

150,000

200,000

1,920×1,080@64.0 (4)
2,048×1,080@60.0 (4)

5

589,824

22,080

135,000

168,750

405,000

540,000

1,920×1,080@72.3 (13)
2,048×1,024@72.0 (13)
2,048×1,080@67.8 (12)
2,560×1,920@30.7 (5)
3,680×1,536@26.7 (5)

5.1

983,040

36,864

240,000

300,000

720,000

960,000

1,920×1,080@120.5 (16)
4,096×2,048@30.0 (5)
4,096×2,304@26.7 (5)

编解码学习笔记(五):Mpeg系列——AAC音频

 下面资料来自wiki。AAC在MPEG2和MPEG4中定义。

扩展名:.m4a, .m4b, .m4p, .m4v, .m4r, .3gp, .mp4, .aac
互联网媒体类型:audio/aac, audio/aacp, audio/3gpp, audio/3gpp2,audio/mp4, audio/MP4A-LATM, audio/mpeg4-generic
格式:有损数据压缩
延伸自:MPEG-2 音频
标准:ISO/IEC 13818-7(MPEG-2第7部), ISO/IEC 14496-3(MPEG-4第3部)

   AAC(Advanced Audio Coding),中文称为“高级音频编码”,出现于1997年,基于 MPEG-2的音频编码技术。由Fraunhofer IIS、杜比实验室、AT&T、Sony(索尼)等公司共同开发,目的是取代MP3格式。2000年,MPEG-4标准出现后,AAC 重新集成了其特性,加入了SBR技术和PS技术,为了区别于传统的 MPEG-2 AAC 又称为 MPEG-4 AAC。

AAC格式的主要扩展名有三种:

  • AAC - 使用MPEG-2 Audio Transport Stream( ADTS,参见MPEG-2 )容器,区别于使用MPEG-4容器的MP4/M4A格式,属于传统的AAC编码(FAAC默认的封装,但FAAC亦可输出 MPEG-4 封装的AAC)
  • MP4 - 使用了MPEG-4 Part 14(第14部分)的简化版即3GPP Media Release 6 Basic (3gp6,参见3GP ) 进行封装的AAC编码(Nero AAC 编码器仅能输出MPEG-4封装的AAC);
  • M4A - 为了区别纯音频MP4文件和包含视频的MP4文件而由苹果(Apple)公司使用的扩展名,Apple iTunes 对纯音频MP4文件采用了".M4A"命名。M4A的本质和音频MP4相同,故音频MP4文件亦可直接更改扩展名为M4A。

   作为一种高压缩比的音频压缩算法,AAC压缩比通常为18:1,也有资料说为20:1,远胜mp3;在音质方面,由于采用多声道,和使用低复杂性的描述方式,使其比几乎所有的传统编码方式在同规格的情况下更胜一筹。不过直到2006年,使用这一格式储存音乐的并不多,可以播放该格式的mp3播放器更是少之又少,目前所知仅有苹果iPod、Sony Walkman(NWZ-A、NWZ-S、NWZ-E、NWZ-X系列)、任天堂NDSi。魅族M8,此外计算机上很多音乐播放软体都支持AAC(前提是安装过AAC解码器),如苹果iTunes。但在移动电话领域,AAC的支持度已很普遍,Nokia、Sony Ericsson、Motorola等品牌均在其中高端产品中支持 AAC(一开始主要是LC-AAC,随着移动电话性能的发展,HE-AAC的支持也已广泛)。

  AAC可以支 持多达48个音轨,15个低频(LFE)音轨,5.1多声道支持,更高的采样率(最高可达 96kHz,音频CD为44.1kHz)和更高的采样精度(支持8bit、16bit、24bit、32bit,音频CD为 16bit)以及有多种语言的兼容能力,更高的解码效率,一般来说,AAC可以在对比MP3文件缩小30%的前题下提供更好的音质。

  • 相 对于传统的LC-AAC,High Efficiency AAC(HE-AAC或写为 AAC-HE)又称为 "aacPlus v1" 或 "AAC+" - 结合了 SBR (Spectral Band Replication) and AAC技术;适用于低比特率(64kbps以下);
  • HE-AAC v2,又称为 "aacPlus v2" - 结合了 Parametric Stereo(参数化立体 声,PS)和 HE-AAC 中的SBR技术。

  因为"AAC"是一个大家族,他们共分为 9 种规格,以适应不同场合的需要,也正是由于 AAC 的规格(Profile)繁多,导致普通电脑用户感觉十分困扰:

  1. MPEG-2 AAC LC 低复杂度规格(Low Complexity)
  2. MPEG-2 AAC Main 主规格
  3. MPEG-2 AAC SSR 可变采样率规格(Scaleable Sample Rate)
  4. MPEG-4 AAC LC 低复杂度规格(Low Complexity),现在的手机比较常见的 MP4 文件中的音频部份就包括了该规格音频文件
  5. MPEG-4 AAC Main 主规格
  6. MPEG-4 AAC SSR 可变采样率规格(Scaleable Sample Rate)
  7. MPEG-4 AAC LTP 长时期预测规格(Long Term Predicition)
  8. MPEG-4 AAC LD 低延迟规格(Low Delay)
  9. MPEG-4 AAC HE 高效率规格(High Efficiency)

  上述的规格中,主规格(Main)包含了除增益控制之外的全部功能,其音质最好,而低复杂度规格(LC)则是比较简单,没有了增益控制,但提高了编码效率,至‘SSR’对‘LC’规格大体是相同,但是多了增益的控制功能,另外,MPEG-4 AAC/LTP/LD/HE,都是用在低比特率下编码,特别是‘HE’是有 Nero ACC 编码器支持,是近来常用的一种编码器,不过通常来说,Main 规格和 LC 规格的音质相差不大,因此目前使用最多的 AAC 规格多数是‘LC’规格,因为要考虑手机目前的存储器能力未达合理水准。

编解码学习笔记(六):H.26x系列

部分资料来源与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系列中介绍,他们分别对应MPEG2的第2部和MPEG-4的第10部。不在整理这方面的资料。

H.261

H.261其速率为64kbps的整数倍(1~30倍)。它最初是针对在ISDN(综合业务数字网,Integrated Services Digital Network)上双向声像业务(特别是可视电话、视频会议)而设计的。

H.261 是最早的运动图像压缩标准,它只对CIF和QCIF两种图像格式进行处理,每帧图像分成图像层、宏块组(GOB)层、宏块(MB)层、块(Block)层来处理;并详细制定了视频编码的各个部分,包括运动补偿的帧间预测、DCT(离散余弦变换)、量化、熵编码,以及与固定速率的信道相适配的速率控制等部分。实际的编码算法类似于MPEG算法,但不能与后者兼容。H.261在实时编码时比MPEG所占用的CPU运算量少得多,此算法为了优化带宽占用量,引进了在图像质量与运动幅度之间的平衡折衷机制。也就是说,剧烈运动的图像比相对静止的图像质量要差。因此这种方法是属于恒定码流可变质量编码。

H.261是第一个实用的数字视频编码标准。H.261的设计相当成功,之后的视频编码国际标准基本上都是基于 H.261相同的设计框架,包括 MPEG-1,MPEG-2/H.262,H.263,甚至 H.264。同样,H.261开发委员会(由Sakae Okubo领导,他的日文姓名是大久保荣)的基本的运作方式也被之后的视频编码标准开发组织所继承。H.261使用了混合编码框架,包括了基于运动补偿的帧间预测,基于离散余弦变换的空域变换编码,量化,zig-zag扫描和熵编码。

实际上H.261标准仅仅规定了如何进行视频的解码(后继的各个视频编码标准也继承了这种做法)。这样的话,实际上开发者在编码器的设计上拥有相当的*来设计编码算法,只要他们的编码器产生的码流能够被所有按照H.261规范制造的解码器解码就可以了。编码器可以按照自己的需要对输入的视频进行任何预处理,解码器也有*对输出的视频在显示之前进行任何后处理。去块效应滤波器是一个有效的后处理技术,它能明显的减轻因为使用分块运动补偿编码造成的块效应(马赛克)--在观看低码率视频(例如网站上的视频新闻)的时候我们都会注意到这种讨厌的效应。因此,在之后的视频编码标准如H.264中就把去块效应滤波器加为标准的一部分(即使在使用H.264 的时候,再完成解码后再增加一个标准外的去块效应滤波器也能提高主观视频质量)。

后来的视频编码标准都可以说是在H.261的基础上进行逐步改进,引入新功能得到的。现在的视频编码标准比起H.261 来在各性能方面都有了很大的提高,这使得H.261成为了过时的标准,除了在一些视频会议系统和网络视频中为了向后兼容还支持H.261,已经基本上看不到使用H.261的产品了。 但是这并不妨碍H.261成为视频编码领域一个重要的里程碑式的标准。

H.263

H.263 最初设计为基于H.324的系统进行传输(即基于公共交换电话网和其它基于电路交换的网络进行视频会议和视频电话)。后来发现H.263也可以成功的应用与H.323(基于RTP/IP网络的视频会议系统),H.320(基于综合业务数字网的视频会议系统),RTSP(流式媒体传输系统)和SIP(基于因特网的视频会议)。

基于之前的视频编码国际标准(H.261,MPEG-1和H.262/MPEG-2),H.263的性能有了革命性的提高。它的第一版于1995年完 成,在所有码率下都优于之前的H.261。 之后还有在1998 年增加了新的功能的第二版H.263+,或者叫H.263v2,以及在2000年完 成的第三版H.263++,即H.263v3。

H.263v2(通常也叫做H.263+或者1998年版 H.263)是ITU-TH.263 视频编码标准第二版的非正式名称。它保持了原先版本H.263的所有技术,但是通过增加了几个附录显著的提高了编码效率并提供了其它的一些能力,例如增强了抵抗传输信道的数据丢失的能力(Robustness)。H.263+ 项目于1997年底/1998年初完成(这取决于我们怎么定义"完成")。

H.263v3:接下来一个被称为"H.263++" 的项目被随即推出,在H.263+的基础上增加了更多的新的功能。H.263++于2000年底完成。增加了下面的附录:

  • Annex A - Inverse transform accuracy specification
  • Annex B - Hypothetical Reference Decoder
  • Annex C - Considerations for Multipoint
  • Annex D - Unrestricted Motion Vector mode
  • Annex E - Syntax-based Arithmetic Coding mode
  • Annex F - Advanced Prediction mode
  • Annex G - PB-frames mode
  • Annex H - Forward Error Correction for coded video signal

在 H.263之后,ITU-T(在与MPEG的合作下)的下一代视频编解码器是H.264,或者叫AVC以及MPEG- 4第 10部分。由于H.264在性能上超越了H.263很多,现在通常认为H.263是一个过时的标准(虽然它的开发完成并不是很久以前的事情)。大多数新的视频会议产品都已经支持了H.264视频编解码器,就像以前支持H.263和H.261一样。

话虽然如此,H.263在3GPP中仍然占有很高的地位,后继修订的版本,包括运营商的标准一直保留着H.263,作为必选的要求,地位远远高于H.264,这是个奇怪的现象。一个重要的可能原因是H.263的编码比H.264的要轻载,在手机的modem中提供 H.263的编解码能力,不提供H.264的编解码能力,或者只提供H.264的解码能力不提供编码能力,如果不是智能手机不能在主板的其他芯片(例如 CPU)提供H.264的编解码能力,开发者就没什么办法,H.263可以通过软件来提供,H.264对处理能力的要求很高,目前需要依赖硬件能力提供。因此H.263仍然具有很大的市场,尤其对于小尺寸的手持设备,屏幕分辨率有限,高清无意义。

H.264

H.264等同于MPEG-4的第10部,在这里仍然收集资料进行学习记录。

在 H.263之后,ITU-T(在与MPEG的合作下)的下一代视频编解码器是H.264,或者叫AVC以 及MPEG-4第 10部分。由于H.264在性能上超越了H.263很多,现在通常认为H.263是一个过时的标准(虽然它的开发完成并不是很久以前的事情)。大多数新的视频会议产品都已经支持了H.264视频编解码器,就像以前支持H.263和H.261一样。

H.264/AVC 可工作于多种速率,广泛应用于Internet/intranet上的多媒体流服务、视频点播、可视游戏、低码率移动多媒体通信 (视频手机等)、交互式多媒体应用、实时多媒体监控、数字电视与演播电视和虚拟视频会议等,大有在上述领域一统天下的趋势,有非常广泛的开发和应用前景。

H.264 是一种视频高压缩技术,同时称为MPEG-4 AVC,或MPEG-4 Part10。ITU-T从1998年就H.26L的H.26S两个分组,H.26L研制节目时间较长的高压缩编码技术,H.26S则指短节目标准制订部门。前面的H.263就是H.26S标准化技术,而H.264标准是在H.26L基础上发展而来的。为了不引起误解,ITU-T推荐使用H.264作为这一标准的正式名称。H.264集中体现了当今国际视频编码解码技术的最新成果。在相同的重建图像质量下,H.264比其他视频压缩编码具有更高的压缩比、更好的IP和无线网络信道适应性。

首先,H.264具备超高压缩率,其压缩率为MPEG-2的2 倍,MPEG-4的1.5倍。这样的高压缩率是以编码的大运算量来换取的,H.264的编码处理计算量有MPEG-2的十多倍。不过其解码的运算量并没有上升很多。从CPU频率和内存的高速发展的角度来看,1995年推出MPEG-2时,主流的CPU是奔腾100,内存更是小的可怜。而如今主流CPU的工作频率比那个时候快了30倍,内存扩大了50多倍。所以H.264编码的大运算现在也不算什么大问题了。

高压缩率使图像的数据量减少,给存储和传输带来了方便。加上基本规格公开的国际标准和公正的许可制度,所以,电视广播、家电和通信三大行业都进入到 H.264的实际运用研发中心。美国高等电视系统会议和日本无线电工业和事务协会都准备把H.264作为地面便携式数字电视广播的编码方式。欧洲数字电视广播标准化团体也正在将H.264作为数字电视的一种编码方式来采用。

家电行业中的视频存储设备厂商也看中了 H.264。东芝和NEC推出的下一代采用蓝色激光的光碟HD DVD-ROM,因为容量小于Sony等九大公司的蓝光碟,故将视频压缩编码改用H.264,从而使最终的节目录制时长能与蓝光碟相近。H.264也能使 HDTV节目录像和 SDTV的长时间录像成为可能。因而,生产LSI芯片的厂商也十分重视H.264。D9型DVD碟只有8.5GB,不足以存放2小时的HDTV节目,如用 H.264来压缩就变得有可能。同时,在通讯领域,互联网工程任务已开始将H.264作为实时传输协议流的格式进行标准化。互联网和手机的视频传送也会有 H.264作为编码方式。

相对于MPEG压缩编码H.264的变化之一是在帧内编码I画面中,又加入了帧内预测编码技术,即解码时可用周围数据的差分值来重构画面。在运动预测块中,H.264采用全面运动预测和I画面帧内预测后,编码量得到减少,但LSI的运算处理量增大。为此,H.264引入了DCT的简化处理技术,来减轻LSI的负担,画质也有所改善。H.264与MPEG-2和MPEG-4的不同还存在于熵编码块中,H.264的熵编码CAVLC(内容自适应可变长度码)和CABAC(内容自适应二进制算法编码)能提高纠错能力。而MPEG-2和MPEG-4是霍夫曼编码。另外,还加入了解锁滤波器(Deblocking Filter),有降低噪声的效果。H.264的整数变换以4×4像素块为单位,已比原来的8×8像素块的块噪声少,再次降低,画质得到了进一步提高。

H.264 标准分为三档:基本档次;主要档次(可用于SDTV、HDTV和DVD等);以及扩展档次(用于网络的视频流)。其中H.264的基本档次是免费,用户可以无偿使用,现得到美国苹果公司和美国Cisco系统公司、中国联想公司、诺基亚、美国On2技术公司、德国西门子、TI公司等的支持;其许可体系要比MPEG-4单纯,公正无差别对待用户和专利持有者。H.264替代MPEG-4的呼声很高,除了其高性能外,低额专利费和公正的无差别许可制度也至关重要。由于技术的日益成熟,半导体厂商已在进行H.264的编码/解码LSI的开发。特别是HDD录像机和DVD录像机等设备中,采用 H.264的实例已很多,更引起了半导体厂商的关心。加之,H.264采用的动画编码方式和音频编码方式具有多样化特性,今后几乎将会是全部厂商的主要规格之一。

编码效率比较

Codec

MPEG-4

H.263

MPEG-2

H.264

39%

49%

64%

MPEG-4

--

17%

43%

H.263

--

--

31%