2017-05-08 10:22:03 zzqhost 阅读数 474
  • 视频编解码之HEVC视频教程

    本课程主要介绍视频编解码的基础知识,并详细讲解新一代视频编解码标准HEVC。涉及到的课程内容有:数字视频格式、HEVC编码结构、帧间帧内预测、残差变换、残差变换系数量化、环路后处理、熵编码等。

    3520 人正在学习 去看看 梅奥

1. 多媒体格式分类

  • 多媒体的格式包括三种:封装格式、视频编解码、音频编解码。

1.1. 多媒体封装格式(又称容器)

  • 所谓封装格式就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中,也就是说仅仅是一个外壳,或者大家把它当成一个放视频轨和音频轨的文件夹也可以。
  • 说得通俗点,视频轨相当于饭,而音频轨相当于菜,封装格式就是一个碗,或者一个锅,用来盛放饭菜的容器。有的人可能觉得奇怪,容器,不就能盛放饭菜就行了么,用一个碗就可以了,何必制定出这么多的格式以及规范呢?
  • 其实不然,试想一下,有的菜,例如排骨,比较大,碗放不下,得换锅。有的饭比较烫,也不能放在塑料的容器里,当然个人喜好也有一定关系。所以容器的选择,基本在于,其对视频/音频兼容性,以及适合范围。这下大家应该明白了,很多人一直把封装格式当成视频编码,而这两者之间没有必然的直接联系。

1.2. 视频编解码器

  • 是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。通常这种压缩属于有损数据压缩。历史上,视频信号是以模拟形式存储在磁带上的。随着Compact Disc的出现并进入市场,音频信号以数字化方式进行存储,视频信号也开始使用数字化格式,一些相关技术也开始随之发展起来。

1.3. 音频编解码器

2. 常见的格式介绍

2.1. 封装格式

  • MPG
    • MPEG 编码采用的容器,具有流的特性。里面又分为 PS,TS 等,PS 主要用于 DVD 存储,TS 主要用于 HDTV。
  • VOB
    • DVD 采用的容器格式,支持多视频多音轨多字幕章节等。
  • MP4
    • MPEG-4编码采用的容器,基 于 QuickTime MOV 开发,具有许多先进特性。
  • 3GP
    • 3GPP视频采用的格式, 主要用于流媒体传送。
  • ASF
    • Windows Media 采用的容器,能够用于流传送,还能包容脚本等。
  • RM
    • RealMedia 采用的容器,用于流传送。
  • MOV
    • QuickTime 的容器,恐怕也是现今最强大的容器,甚至支持虚拟现实技术,Java等,它的变种 MP4,3GP都没有这么厉害。
  • MKV
    • MKV它能把 Windows Media Video,RealVideo,MPEG-4 等视频音频融为一个文件,而且支持多音轨,支持章节字幕等。
  • OGG
    • Ogg 项目采用的容器,具有流的特性,支持多音轨,章节,字幕等。
  • OGM
    • Ogg 容器的变种,能够支持基于 DirectShow 的视频音频编码,支持章节等特性。
  • AVI
    • 最常见的音频视频容器。
  • NSV
    • Nullsoft Video 的容器,用于流传送。
  • WAV
    • 一种音频容器,大家常说的 WAV 就是没有压缩的 PCM 编码,其实 WAV 里面还可以包括 MP3 等其他 ACM 压缩编码。

2.1.1. 常见格式详细介绍及比较

  • AVI
    • AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种数字音频与视频文件格式,允许视频和音频交错在一起同步播放。
    • AVI文件的格式是公开并且免费的,大量的视频爱好者在使用这种文件格式。很多PMP唯一能支持的格式就是AVI格式,一般的PMP都带有可以转换其他格式视频成为AVI格式的软件。
    • AVI文件采用的是RIFF(Resource Interchange File Format,资源互换文件格式)文件结构,RIFF是Microsoft公司定义的一种用于管理windows环境中多媒体数据的文件格式。AVI格式包括2种:AVI 1.0和Open-DML AVI。AVI 1.0为传统的AVI格式,Open-DML AVI是AVI 1.0的扩展。
  • ASF
    • ASF(Advanced Systems Format)是一个开放格式,它能依靠多种协议在多种网络环境下支持数据的传送。ASF是专为在IP网上传送有同步关系的多媒体数据而设计的文件格式,所以ASF格式的信息特别适合在IP网上传输。ASF支持任意的压缩/解压缩编码方式的流媒体,并可以使用任何一种底层网络传输协议,具有很大的灵活性。目前网上以wmv为后缀的文件绝大多数采用的是ASF格式,WMV是微软公司视频编码方式而不是文件格式。
  • Mp4,3gp,mov
    • MP4格式是ISO-IEC Mpeg-4协议Part 14中定义的容器格式。MP4格式实际上是对Apple公司开发的MOV格式(也称Quicktime格式)的一种改进,两种格式差别很小。
    • MOV格式广泛应用于Mac OS操作系统,在Windows操作系统上也可兼容,但是远比不上AVI格式流行。
    • 而应用于3G手机上的音视频文件格式--3GP其实是MP4格式的一种简化版本,3GP格式是一种由3GPP组织制定的多媒体容器格式(container format),3GPP组织形成的通讯协议是目前全世界手机厂商使用最广的,而3GP格式当然也是手机视频格式的绝对主流。
    • MP4,MOV,3GP格式可以说具有相同的文件结构。
  • MKV
    • 是一种开源的容器格式,目前网上流行的很多高清的视频都是以MKV打包的。 我对这种格式研究的比较深入,由于这种格式出现得比较晚,而且是开源的,所以具有先天的优势,是一种很好的容器格式。

2.2. 视频编解码

  • H.261
    • H.261主要在老的视频会议和视频电话产品中使用。H.261是由ITU-T开发的,第一个使用的数字视频压缩标准。实质上说,之后的所有的标准视频编解码器都是基于它设计的。它使用了常见的YCbCr颜色空间,4:2:0的色度抽样格式,8位的抽样精度,16x16的宏块,分块的运动补偿,按8x8分块进行的离散余弦变换,量化,对量化系数的Zig-zag扫描,run-level符号影射以及霍夫曼编码。H.261只支持逐行扫描的视频输入。
  • MPEG-1第二部分
    • MPEG-1第二部分主要使用在VCD上,有些在线视频也使用这种格式。该编解码器的质量大致上和原有的VHS录像带相当,但是值得注意的是VCD属于数字视频技术,它不会像VHS录像带一样随着播放的次数和时间而逐渐损失质量。如果输入视频源的质量足够好,编码的码率足够高,VCD可以给出从各方面看都比VHS要高的质量。但是为了达到这样的目标,通常VCD需要比VHS标准要高的码率。实际上,如果考虑到让所有的VCD播放机都可以播放,高于1150kbps的视频码率或者高于352x288的视频分辨率都不能使用。大体来说,这个限制通常仅仅对一些单体的VCD播放机(包括一些DVD播放机)有效。MPEG-1第三部分还包括了目前常见的*.mp3音频编解码器。如果考虑通用性的话,MPEG-1的视频/音频编解码器可以说是通用性最高的编解码器,几乎世界上所有的计算机都可以播放MPEG-1格式的文件。几乎所有的DVD机也支持VCD的播放。从技术上来讲,比起H.261标准,MPEG-1增加了对半像素运动补偿和双向运动预测帧。和H.261一样,MPEG-1只支持逐行扫描的视频输入。
  • MPEG-2第二部分
    • MPEG-2第二部分等同于H.262,使用在DVD、SVCD和大多数数字视频广播系统和有线分布系统(cable distribution systems)中。当使用在标准DVD上时,它支持很高的图像质量和宽屏;当使用在SVCD时,它的质量不如DVD但是比VCD高出许多。但是不幸的是,SVCD最多能在一张CD光盘上容纳40分钟的内容,而VCD可以容纳一个小时,也就是说SVCD具有比VCD更高的平均码率。MPEG-2也将被使用在新一代DVD标准HD-DVD 和 Blu-ray(蓝光光盘)上。从技术上来讲,比起MPEG-1,MPEG-2最大的改进在于增加了对隔行扫描视频的支持。MPEG-2可以说是一个相当老的视频编码标准,但是它已经具有很大的普及度和市场接受度。
  • H.263
    • H.263主要用在视频会议、视频电话和网络视频上。在对逐行扫描的视频源进行压缩的方面,H.263比它之前的视频编码标准在性能上有了较大的提升。尤其是在低码率端,它可以在保证一定质量的前提下大大的节约码率。
  • MPEG-4第二部分
    • MPEG-4第二部分标准可以使用在网络传输、广播和媒体存储上。比起MPEG-2和第一版的H.263,它的压缩性能有所提高。和之前的视频编码标准的主要不同点在于,"物件導向"(Object-oriented)的编码方法和一些其它并非用于提高通常视频编码压缩率的技术。当然它也引入了一些提高压缩能力的技术,包括一些H.263的技术和1/4像素的运动补偿。和MPEG-2一样,它同时支持逐行扫描和隔行扫描。
  • MPEG-4第十部分
    • MPEG-4第十部分技术上和ITU-T H.264是相同的标准,有时候也被叫做"AVC")。 这个刚刚制定完成的标准是ITU-T VCEG和ISO/IEC MPEG合作完成的性能最优的视频编码标准,并且在已经得到了越来越多的应用。该标准引入了一系列新的能够大大提高压缩性能的技术,并能够同时在高码率端和低码率端大大超越以前的诸标准。已经使用和将要使用H.264技术的产品包括例如索尼公司的PSP,Nero公司的Nero Digital 产品套装,苹果公司的Mac OS X v10.4,以及新一代DVD标准HD-DVD和蓝光光盘(Blu-ray)。
  • AVS
    • AVS是中国制定的音视频压缩编码标准,故准确来说,其不仅仅包括视频编码标准。它最主要的目的是通过采用与H.264不同的专利授权方式,来避免付出大笔的专利授权费用。在技术上,AVS的视频编码部分采用的技术与H.264非常相似,但采取了一些简化措施。这样做,其一可以回避一些非必要专利,另外据称也可以在几乎不影响编码压缩效率的基础上,提高编解码速度。
  • DivX,XviD和3ivx
    • DivX,XviD和3ivx视频编解码器基本上使用的都是MPEG-4第二部分的技术,以后缀*.avi, *.mp4, *.ogm 或者 *.mkv 结尾的文件有一部分是使用这些视频编解码器的。
  • WMV
    • WMV(Windows Media Video)是微软公司的视频编解码器家族,包括WMV 7、WMV 8、WMV 9、WPV 10。这一族的编解码器可以应用在从拨号上网的窄带视频到高清晰度电视(HDTV)的宽带视频。使用Windows Media Video用户还可以将视频文件刻录到CD、DVD或者其它一些设备上。它也适用于用作媒体服务器。WMV 可以被看作是MPEG-4的一个增强版本。最新的WMV的版本是正在SMPTE制定中的VC-1标准。WMV-9(VC-1,开发代号为"Corona")刚推出的时候称为VC-9,之后才被电影电视工程师协会(SMPTE)改称为VC-1(VC指Video Codec)。技术上,VC-1也与H.264有诸多相似之处。
  • RealVideo
    • RealVideo是由RealNetworks公司开发的视频编解码器。
  • Sorenson 3
    • Sorenson 3是由苹果公司的软件QuickTime使用的一种编解码器。很多因特网上的QuickTime格式的视频都是这种编解码器压缩的。
  • Cinepak
    • Cinepak同样是由苹果公司的软件QuickTime使用的一种很老的编解码器,好处是即使很老的计算机(如486)也都支援并且能顺利播放。
  • Indeo Video
    • Indeo Video Indeo Video 是由 Intel 所研發的编解码器。

2.3. 音频编解码

待整理

3. 按照制定者(组织)介绍

3.1. MPEG系列

  • MPEG a (Moving Pictures Experts Group) 运动图象专家组,属于 ISO(International Organization for Standardization) 国际标准组织,他们开发了一系列视频音频编 码,最为大家熟悉的就是 MP3,MPEG-1/2/4。
  • 3.1.1 MPEG-1
    • 较早的视频编码,质量 比较差,主要用于 CD-ROM 存储视频,国内最为大家熟悉的就是 VCD(Video CD),他的视频编码就是采用 MPEG-1。
  • 3.1.2 MPEG-2
    • 在 MPEG- 1 的基础上开发的一种视频编码,它的质量远远好于 MPEG-1,所以被运用在了 DVD-Video 上面,MPEG-2 是 DVD- Video 唯一指定的视频编码。MPEG-2 不光运用于 DVD-Video ,现在大部分 HDTV(高清电视)也采用 MPEG-2 编码,分辨 率达到了 1920x1080。由于 MPEG-2 的普及,本来为 HDTV 准备的 MPEG-3 最终宣告放弃。
  • 3.1.3 MPEG-4
    • 为了应对网络传输等环境,传统的 MPEG-1/2 已经不能适应,所以促使了 MPEG-4 的诞生。MPEG-4 采用了一系列新技术,来满足在低带宽 下传输较高视频质量的需求。DivX,XviD,MS MPEG4 都是采用的 MPEG-4 视频编码,除了在 DVDRip 上面的应 用,3GPP 现在也接纳了 MPEG-4 作为视频编码方案。
  • 3.1.4 MPEG-4 AVC
    • 它和 MPEG-4 是两种不同的编码,主要是在极低码率下 MPEG-4 表现并不好,而 AVC 更加适合低带宽传输。在高码率上,AVC 的表现也要 好过 MPEG-4,所以现在大有取代 MPEG-4 的趋势。下一代 HD DVD 和 Blue Ray Disc 已经正式接纳 AVC 为视频编 码方案之一,相信 AVC 的发展前途会非常好。
  • 3.1.5 MPEG Audio Layer 1/2
    • 也就是 MP1、MP2 ,较早的音频编码,是 MP3 的前身,主要用于 VCD,DVD,SVCD 的音频编码。
  • 3.1.6 MPEG Audio Layer 3
    • 大名鼎鼎的 MP3,已经成为网络音频的主流格式,能在 128kbps 的码率接近 CD 音质。
  • 3.1.7 MPEG-2 AAC
    • 在MPEG- 2 上开发的一种新的音频编码,和传统的 MPEG Audio 不兼容,它的质量理论上高于 MP3,并且支持多声道。在 96kbps 的码率范围内 就能接近 CD 音质,比 MP3 更加适合地码率传输。
  • MPEG-4 AAC
    • AAC 已经作为 MPEG-4 标准的音频编码,当然 MPEG-4 Audio 还有其他多种音频编码。
  • 3.1.8 MPEG-4 aacPlus
    • 采用了 SBR 频带复制技术的 AAC,SBR 技术能够让音频编码降低一半的码率而音质不会有太大改变,已经成为 MPEG-4 标准的一部分。
  • 3.1.9 MPEG-4 VQF
    • NTT 开发的一种音频格式,曾经销声匿迹了一段时间,只在 Nero 里面见到过它的身影。现在搭上 SBR 技术又进入了 MPEG-4 标准,似乎不甘心就这 么被遗忘,据说在低比特率下表现比 aacPlus 更好。
  • 3.1.10 mp3PRO
    • MP3 加 上 SBR 技术诞生的一种产品,但是并没有得到多大推广,更没有进入标准。
  • 3.1.11 MP3 Surround
    • 让MP3 插 上多声道的翅膀,Fraunhofer 开发的又一种 MP3 升级产品,听说 DivX 6 准备将它作为音频编码。Fraunhofer 一直都在围 绕着 MP3 升级,mp3PRO、MP3 Surround,这些产品都能和传统 MP3 兼容,但是随着层出不穷的新编码,不知道 MP3 还能走多 远。

3.2. DVD系列

  • 说了MPEG,就不能不提这个 MPEG-2 最大受益者 --DVD。当然,这里是指 DVD-Video 和 DVD-Audio,也会涉及一些HD DVD。DVD 的编码都属于应用级的,它们自己并不开发 编码,这一点要和 MPEG 区别开来。
  • 3.2.1 Dolby Digital AC3
    • DVD 事实上 的音频编码标准,现在所有的 DVD 都采用它压缩音频,提供了最大 5.1 声道的输出支持,能在有限的空间存储高质的音频。
  • 3.2.2 Dolby Digital Plus
    • 下 一代 HD DVD 的音频编码,是 AC3 的升级版本,支持 7.1 甚至更多的声道,码率范围也有大幅提升。
  • 3.2.3 MLP Lossless
    • HD DVD 上 的无损音频编码,同样为 Dolby 公司开发,最高采样能达到 192KHz,也为 DVD-Audio 的音频编码标准。
  • 3.2.4 DTS
    • DTS 最 初是为电影院开发的音频系统,后来才应用于 DVD 中。它是 AC3 的有力竞争者,不过在 DVD 中只有 D9 才能够看到他的身影,虽然广大发烧 友都在鼓吹它的效果超过 AC3,但是测试出来并不如想象中的那么好,特别是高频方面不及 AC3。
  • 3.2.5 DTS-HD
    • 下 一代 HD DVD 的音频编码,它和 Dolby Digital Plus 都被指定为强制编码,看来在未来会和 Dolby 平分秋色。
  • 3.2.6 LPCM
    • 没有压缩的 PCM 编码,只能存储两声道,但是采样率能够高达 96KHz,是 DVD-Video 中音质最好的一种,当然体积也是最大的。
  • 3.2.7 MPEG Audio
    • 主要是 MP2,应用于 PAL 制式的 DVD,压缩率高,支持多声道(MPEG-2 规范都支持多声道)。
  • 3.2.8 DSD
    • 这个似乎扯远了,不过作为 DVD-Audio 的最大竞争对手 SACD,顺带介绍一下。DSD(Direct Stream Digital)直接比特 流数字,由 Sony 推出,能够避免传统 PCM 编码的弊端,达到非常高的品质。最高采样和 DVD-Audio 一样,192KHz。

3.3. H.26X 系列

  • "ITU(International Telecommunication Union)国际电传视讯联盟"主 导的编码系列,主要应用于实时视频通信领域,如会议电视等。由于现在 MPEG 系列也开始向这个领域进军,所以这两个组织也开始了密切的合作,如最近热 门的 AVC/H.264,就是由 ITU 旗下的"VCEG(Video Coding Experts Group)视频编码专家组"和 "ISO(International Organization for Standardization)国际标准组织"旗下的 "MPEG (Moving Pictures Experts Group)运动图象专家组"联合制作发布的。
  • 3.3.1 H.261
    • H.261 是ITU-T为在综合业务数字网(ISDN)上开展双向声像业务(可视电话、视频会议)而制定的,它是最早的运动图像压缩标准,它详细制定了视频编码的各 个部分,包括运动补偿的帧间预测、DCT变换、量化、熵编码,以及与固定速率的信道相适配的速率控制等部分。
  • 3.3.2 H.263
    • H.263 是ITU-T为低于64kb/s的窄带通信信道制定的视频编码标准,它是在H.261基础上发展起来的。
  • 3.3.3 H.263+
    • H.263 的 第二个版本,加入了许多新技术来扩展 H.263 的应用范围。
  • 3.3.4 H.263++
    • 在 H.263+ 上 增加了几个选项,来增强码流在恶劣信道上的抗误码性能,同时提高增强编码效率。
  • 3.3.5 H.264
    • 也 就是前面提到的 MPEG-4 AVC。H.264是由ISO/IEC与ITU-T组成的联合视频组(JVT)制定的新一代视频压缩编码标准。在ISO /IEC中该标准命名为AVC (Advanced Video Coding),作为MPEG-4标准的第10个选项;在ITU-T中正式命名为 H.264标准。
  • 3.3.6 3GPP
    • 现在通讯领域最热门的话题之一,既然说 了 MPEG 和 ITU,和这两个千丝万缕的 3GPP 应用就不得不提了。3GPP 的视频采用了 MPEG-4 和 H.263 两种编码,可能还 将加入 H.264,音频方面音乐压缩采用 AAC,语音则采用先进的 AMR,另一个 aacPlus 随着 V2 版本的推出,底码率下的效果更加突 出,也有望加入标准。

3.4. Windows Media系列

  • Microsoft 公司主导 的音频视频编码系列,它的出现主要是为了进行网络视频传输,现在已经向 HDTV 方面进军,开发了 WMV HD 应用。
  • 3.4.1 Microsoft MPEG-4 v1/v2/v3
    • 最 早的 ASF 采用的视频编码,基于 MPEG-4 技术开发,DivX3.11 就是基于 Microsoft MPEG-4 v3 破解出来的,后来 才进行了重写。
  • 3.4.2 Windows Media Video 7
    • Microsoft 正式开发的 第一个 Windows Media Video,开始脱离了 MPEG-4,和 MPEG-4 不兼容,从这一点上可见微软的野心。可惜这个版本压缩效 果非常烂,打破了微软一飞冲天的美梦,不过它在压缩速度上非常快,现在网络上有很多采用这种格式压缩的 WMV。
  • 3.4.3 Windows Media Video 8
    • 在 WMV7 基 础上改进的版本,质量上面进不了不少。
  • 3.4.4 Windows Media Video 9
    • 微软的重 头戏,不光是这一个编码,V9 系列更是一个平台,让微软有足够的能力挑战 MPEG,ITU 等标准化组织。虽然这个版本并没有微软吹得那么厉害,特别 是低码率下比较差,不过跟以前版本相比进步还是非常多的。特别是 WMV HD 的应用,让微软也跻身视频标准领域。
  • 3.4.5 Windows Media Video 9 Professional
    • WMV HD 应 用的编码,和 WMV9 兼容,在高比特率上进行了优化,画面非常优秀。(不过几十M的码率能不优秀吗?全是体积换来的。)
  • 3.4.6 Windows Media Video 9 Advanced Profile
    • 随 着 Windows Media Player 10 推出的编码器,能够更进一步控制 WMV9 的质量。但是不能在老版本的 WMP9 上播放,也就 是不兼容老版本的 WMP9,真不知微软在搞什么?
  • 3.4.7 Windows Media Video 9 Screen
    • 静 态屏幕无损压缩编码,质量非常好,压缩率高,只针对如屏幕等变化非常小的环境。
  • 3.4.8 Windows Media Video 9 Image
    • 静 态图像压缩编码。
  • 3.4.9 Windows Media Audio v1/v2
    • 微软最早的音频编码技 术,用于 ASF 中,后来被破解也用在 DivX Audio 中,质量比较差。
  • 3.4.10 Windows Media Audio 7/8/9
    • 随 着各种不同的 WMV 而推出的相应的音频编码,质量节节提升,不过还没有达到 64kbps CD音质的神化。
  • 3.4.11 Windows Media Audio 9 Professional
    • WMA9 中 出现的新编码,主要用于多声道编码和高采样率音频的编码,质量不错。
  • 3.4.12 Windows Media Audio 9 Voice
    • 针 对语音的编码,最高 20kbps ,不过和 AMR 相比,效果就太差了。
  • 3.4.13 Windows Media Audio 9 Lossless
    • 无 损音频编码,可以完美保留CD原质量,是CD备份的不错选择,不过代价是体积过大。

3.5. RealMedia系列

  • RealNetworks 所 开发的系列编码技术,也是主要用于网络传输,在底码率下表现不错。
  • 3.5.1 RealVideo G2
    • 早 期的 RealVideo 编码,质量比较糟糕,不过那时在网络上算是很先进了,毕竟当时能用网络看视频的人不多。
  • 3.5.2 RealVideo 8
    • 随 着 RealPlayer 8 推出的视频格式,是现在主流的网络视频编码之一。编码速度较慢,质量也只能算一般。
  • 3.5.3 RealVideo 9
    • RealNetworks 开 发的新一代编码,质量进步了很多,特别是在底码率下,而且编码速度很快,做到了速与质的很好统一。
  • 3.5.4 RealVideo 10
    • 在 RealVideo 9 基 础上加入了一些参数,如 EHQ 等,更加精确控制码率,和 RealVideo 9 兼容。
  • 3.5.5 RealAudio Cook
    • 早 期的音频编码,但是在现在看来,仍然质量不错,可惜最高码率 96kbps。应用到了两代音频编码中:RealAudio G2、 RealAudio 8。
  • 3.5.6 RealAudio Cook Multichannel
    • Cook 的 改进版本,增加了5.1声道的支持,应用到了 RealAudio 10 Multichannel 中。
  • 3.5.7 RealAudio Sipro
    • 采 用了 Sipro 语音编码技术,主要针对语音编码,应用在更早期的 RealAudio 4.0、RealAudio 5.0 中。
  • 3.5.8 RealAudio ATRAC3
    • Sony 公 司开发的 ATRAC3 编码,被 RealNetworks 公司购买过来应用到了 RealAudio 8 中,以弥补 Cook 高码率上的不足。
  • 3.5.9 RealAudio AAC
    • AAC音频编码,用于 RealAudio 10 中。
  • 3.5.10 RealAudio aacPlus
    • aacPlus 音 频编码,用于 RealAudio 10 中,不过并没有随 RealProducer 发行,需要单独购买。
  • 3.5.11 RealAudio Lossless
    • 无 损音频编码。

3.6. QuickTime系列

  • QuickTime 并不是一个编码,而是一个多媒体平台,它的上面有众多编码,这里只介绍几个主流的编码器。
  • 3.6.1 Sorenson Video 2
    • Sorenson Media 公 司开发的编码器,主要用于 QuickTime 4 的视频编码,质量较差。
  • 3.6.2 Sorenson Video 3
    • Sorenson Media 公 司随 QuickTime 5 发布的编码器,质量很不错,已经成为 QuickTime 的标准视频编码,网络上大部分电影预告片都采用这种编码。
  • 3.6.3 Apple MPEG-4
    • Apple 公 司自己开发的 MPEG-4 编码器,随 QuickTime 6 发布,质量很差。
  • 3.6.4 Apple H.264
    • Apple 公 司自己开发的 H.264 编码器,随 QuickTime 7 发布,支持 HDTV。
  • 3.6.5 QDesign Music 1
    • QDesign 公 司开发的音频编码器,这个版本现在已经开不到它的身影了。

*3.6.6 QDesign Music 2

  • QDesign Music 的 第二个版本,也是最后一个版本,在时下这些先进的音频编码面前,它已经没有生命力了,主要应用于网上的电影预告片。
  • 3.6.7 Qualcomm PureVoice
  • Qualcomm 公 司开发的语音编码器,质量不错。
  • 3.6.8 Apple MPEG-4 AAC
  • Apple 公司自己开发 的 AAC 编码器,质量非常好,是最优秀的 AAC 编码器之一,随 QuickTime 6 发布。
  • 3.6.9 AMR Narrowband
  • AMR 语音编码器,这个版本只支持 AMR-NB。
  • 3.6.10 Apple Lossless
    • Apple 公司开发的无损音频编码,主要应用于 iTunes 抓取 CD。

3.7. Ogg系列

  • Ogg 是 Xiph.org 基 金会发起的一个开放源代码项目,包括视频音频,服务器,传输系统,客户端,硬件支持等,最为大家熟悉的就是音频 Ogg Vorbis,它被认为是迄今为 止 128kbps 码率上最好的编码器。
  • 3.7.1 Ogg Theora
    • Ogg 的视频编码,基于On2 VP3 开发,现在还处于测试阶段。
  • 3.7.2 Ogg Vorbis
    • Ogg 的音频编码, 质量非常优秀,特别是低码率下,支持多声道。最高码率能够达到 500kbps,是 AAC 的有力竞争者。
  • 3.7.3 Ogg Speex
    • Ogg 的 语音编码,专门针对低码率的语音编码。
  • 3.7.4 Ogg FLAC
    • gg 的无损音频编码。

3.8. On2 VPX 系列

  • On2 公司开发了一系列优秀的视频编码,现在应用得最多的恐怕是 Nullsoft Video 的视频,它们 就采用了 VP3,VP5,VP6 视频编码。
  • 3.8.1 VP3
    • 已经作为开放源代码公布,现在是Ogg Theora项目,当然,Theora 的质量可比 VP3 好多了。
  • 3.8.2 VP4
    • On2公司当年吹牛全球最好的视频编码,后来证明质量很一般。
  • 3.8.3 VP5
    • 至今还很神秘,On2并没有放出来,只在 Nullsoft Video 里面见到他的身影。
  • 3.8.4 VP6
    • 从一开始,On2 就把这个编码器提供给大家下载,质量还是不错的。不过最近似乎又关闭了,主页上只有一个解码器。
  • 3.8.5 VP7
    • On2 最新的编码器,在 VP6 上有不少进步。
  • 3.8.6 Flash Video
    • Macromedia 公司推出的多媒体格式,主要用于在 Flash 中压缩视频。视频采用 Sorenson 公司的 Spark 编码器,音频采用 MP3,质量比较差。传 闻下一代 Flash Video 准备使用 On2 VP6 ,那将让视频质量得到一个量的提升。

4. MPEG完整介绍

我这有本书,刘德峰的《多媒体技术基础》,介绍得比较好,感兴趣的可以来看。

5. 参考文献

6. Mp4容器格式相关的BLOG介绍

2008-12-05 11:14:00 lonelyflyer 阅读数 145
  • 视频编解码之HEVC视频教程

    本课程主要介绍视频编解码的基础知识,并详细讲解新一代视频编解码标准HEVC。涉及到的课程内容有:数字视频格式、HEVC编码结构、帧间帧内预测、残差变换、残差变换系数量化、环路后处理、熵编码等。

    3520 人正在学习 去看看 梅奥
ffmpeg
2018-01-26 10:48:04 vn9PLgZvnPs1522s82g 阅读数 347
  • 视频编解码之HEVC视频教程

    本课程主要介绍视频编解码的基础知识,并详细讲解新一代视频编解码标准HEVC。涉及到的课程内容有:数字视频格式、HEVC编码结构、帧间帧内预测、残差变换、残差变换系数量化、环路后处理、熵编码等。

    3520 人正在学习 去看看 梅奥


认识王立众,是通过一位热心的读者引荐,一番波折后才有了此文,这也是『下一代编解码器』系列采访的第9篇。随着云平台服务的普及,大多数多媒体开发者并不需要了解底层技术。但如果有兴趣扎根于多媒体技术,就需要学习底层技术,而编解码器则是关键的一环。中国三星研究院的音频研发负责人王立众通过LiveVideoStack分享了音频编解码器生态的方方面面。


责编 / Ant


关于编解码器


LiveVideoStack:相对于视频编解码器,音频编解码器有哪些特点?


王立众:简而言之, 我认为音频编解码器要比想象的复杂。


音频编解码, 也就是音频Codec, 实际上分成两类:

一种是在电声领域的硬件音频编解码器, 严格说应称作D/A(数字/模拟)转换器, 其主要作用是编码端把模拟音频信号转换成数字信号,解码端把读取的数字音频信息转换成模拟音频信号输出,供功率放大重放。


另一种即是经常和视频编解码器并列的基于软件的音频编解码器,也就是我们以下讨论的主要内容。


无论音频编码器还是视频编码器, 都是信源编码器,其本质是在尽可能保证编码质量情况下,对信源信号进行压缩, 降低音视频文件需要的存储空间和传输码率。而对信源信号的压缩, 是依靠音视频信号本身的冗余性和相关性, 音频是一维信号, 一维信号的音频可利用的冗余性和相关性要少,因此音频编码器的设计并不简单。


说到音频编码器, 实际上在业内又细分为两个领域,Voice Codec和Audio Codec,Voice Codec一般是指对人的语音进行编码压缩,而Audio Codec是指对音乐信号进行编码压缩。Voice Codec主要用于电信领域,比如手机通话,VoIP,军事保密通信等领域,它要求低延迟,低码率,一般是采用对人的发声过程进行建模,比如经典的CELP模型,就是完美的模拟了人的发声过程。而对于音乐信号,CELP模型就无法完美的模拟各种乐器的发音过程了,所以针对音乐的Audio Codec则从听觉的角度来出发,利用心理声学模型来进行编码。


由于Voice Codec和Audio Codec在各个领域有着不同的应用,也就带来有很多组织在做音频编码器,使得音频编码器种类繁多,既有标准的音频编码器,也有开源的音频编码器,还有各个公司私有的音频编码器。


无论音频编码器还是视频编码器,商用化的时候都需要二次开发。而二次开发的过程,它俩也是存在很大差别。视频编码器一般会给出一套庞大的参考代码,由具体商用化的组织根据自己的需求进行裁减、算法层面的优化、以及针对目标平台的优化。而音频编码器给出的参考代码相对精简一些,尤其是Voice Codec, 在商用化的过程要求任何的优化必须保证bit exact。音频编码器之所以要求这么严格, 是因为人的耳朵会对异常的声音特别敏感,突兀的噪声或者短暂严重的损伤都会严重影响听感,这也是音频编解码的难度所在。所以Voice Codec算法一旦固定下来,商用化的任何改动都要求与原始算法保持bit exact。


LiveVideoStack:评定编解码器质量的标准有哪些?


王立众:音频编码器质量的评定,是一个研究领域。很多人说,音频不止是一门科学,还是一门艺术。所以音频编码的质量评价,也需要从主客观多个维度考察,尤其是需要注重主观评价标准, 因为很多音频编码器的最终目的是给人听的。


音频编码的客观评价标准,也是需要根据具体的情况来分别考虑,比如Voice Codec,常用的有PESQ,最近新出的客观测试标准是POLQA,而Audio Codec,常用的客观测试标准有PSNR、PEAQ等。


而无论客观评价如何,对于音频来说都只是个参考,人的真正的听觉感受更重要。


对于Voice Codec来说,常见的主观评价方法是MOS值评分,就是找一些人根据自己的听觉感受进行打分,最后得出1~5分的一个评价指标。


对于Audio Codec来说就更加复杂,需要根据设计的Audio Codec所面向的应用,选择目标用户进行专业的主观测试,一些专业的主观评价组织,会储备一些“金耳朵”来专门进行高端应用的音频性能评价。


为此ITU-T 设计了一系列的音频主观评价方法,例如:


  1. ITU-T Rec.P.800《Methods for subjective determination of transmission quality》/ITU-T Rec.P.830《Subjective performance assessment of telephone-band and wideband digital codecs》:主要针对各类语音处理系统的输出声音质量进行主观评价,典型方法为MOS平均意见分测试。单次32人次的听音测试项目周期为2-3周。 

  2. ITU-T P.805《Subjective evaluation of conversational quality》:对话意见测试,能够提供更接近真实环境下双向交互通讯系统的话音质量评估。典型的单次对话测试实验规模为16组成对测试人员,一般项目周期为1-2个月。 

  3. ITU-R Rec.BS.1534《Method for the subjective assessment of intermediate quality level of coding systems》:带隐藏参考和基准的多激励测试(MUSHRA),宜评估中等音频质量的数字音频系统。单次20人次的测试实验周期为3-4周。 

  4. ITU-R  BS.1116《Methods for the subjective assessment of small impairments in audio systems》:带隐藏参考的三次听音双盲听评法,宜评估小损伤的高质量音频系统。单次15人次的测试实验周期为1-2月。 

  5. ITU-R BS.1285《Pre-Selection Methods for the Subjective Assessment of Small Impairments in Audio Systems》:用于预选测试的双向比较听评方法,宜作为BS1116小损伤音频系统主观测试的预选实验方法。单次15人次的测试实验周期为2-3周。


上面谈到的,仅仅是对编码质量的评价,实际上音频编码的目的,主要还是为了压缩,那么编解码的码率,也是评价编解码的一个因素,它主要反应反映在对音频信息的压缩程度上。从编码后的码率,和编码前的码率对比上,就可以得出一个编码器的压缩率。


除此之外,音频编码的复杂度和延迟,也是一个重要的考察指标,在某些特定领域,如蓝牙可穿戴设备,音频编码的复杂度就占据了更重要的地位。


LiveVideoStack:主流的音频编解码器各自的特点及应用场景分别是什么?


王立众:正如前面说的,大体上音频编解码主要分为两类Voice Codec 和Audio Codec,而且从事音频编解码的组织众多。


从标准化组织看,有ISO/IEC组织制定的MEPEG系列标准,最著名的MP3就是出自这个标准,从MP3的应用可以看出来,MPEG主要面向的是音乐存储和传输的Audio Codec。还有主要面向VoIP应用的ITU-T的G.7xx系列的Voice Codec。针对移动电话的应用,有两大组织3GPP和3GPP2各自推出了以AMR WB、AMR NB、EVRC、EVS为代表的一系列Voice Codec。


各大公司也有各自私有的音频编解码, 因为针对的应用不同,不再一一列举。目前比较有代表性的开源音频编解码是OPUS,他融合了SILK编码器和CELT编码器,在开源音频编解码器中具有较好的性能。


LiveVideoStack:既然主流的音频编解码器有很多, 那么如果使用的话,行业内是怎么付费的呢?


王立众:对于使用音频编码器的收费, 有两种费用: 1. 是算法和专利的费用 2.是商用化代码的费用.


在各个标准化的音频编码器中, 都会有对于音频编码器的专利费的规定, 所以使用标准化的音频编码器,要遵守各标准化组织的收费规定. 对于开源的音频编码器, 要注重其遵守的开源协议, 每个开源的音频编码器都会声明其遵守的开源协议, 使用的时候也需要注意. 如果需要使用各大公司私有的音频编解码, 则需要和他们单独联系商讨费用事宜.


上面说到的是算法和专利方面的费用, 交了这笔费用只代表可以使用这些音频编码器, 但是他们不一定提供商用化的代码. 有不少公司, 可以提供很多音频编码器的商用化代码, 并且收取费用, 那么一定问清楚他们这笔费用, 是仅仅代码的使用费, 还是包括了音频编码器的专利费. 


LiveVideoStack:当下对于音频编解码器的研发,业界主要的研究方向是什么?其难点是什么?


王立众:前几年,业界音频编解码器算法研究工作主要集中于Voice Codec 和Audio Codec的联合编码,也就是把两种应用统一到一个音频编码器中,于是在电信领域3GPP组织就诞生了庞大的EVS音频编码器,EVS的推广比较成功,目前已经被选为5G的音频编码器。


随着EVS的成功诞生和推广,大家也在考虑下一步应该做什么的问题。目前不少研究者在研究针对特定场景的音频编码器。


例如目前一些标准化组织正在进行的沉浸式音频编码器,MPEG,3GPP和中国AVS等标准化组织都在积极推进沉浸式音频编码器标准。沉浸式音频编码器的难点在于高质量的还原原始声音,它可能用在音乐会的录制和传输中,那么对于音质,方位感,主观听觉感受的要求都非常高。


针对一些特定领域音频编码起器,如蓝牙设备,可穿戴设备,加密通信领域的音频编码器也在继续的研究中。 这些领域的音频编码器,则要求低延迟,低码率,当然音质本身也要保证。


LiveVideoStack:对于应届生或从其他研发领域转行学习编解码、多媒体开发的技术人,有哪些建议?


王立众:对于学生,如果有意从事音频编码行业,我建议选择业内著名导师和实验室,音频编码是需要一定的积累,国内有不少老师和实验室长期从事音频编码行业,投身到一个有着深厚积累的实验室和严谨治学的导师门下,会打下终身受用的牢固的理论基础。


对从其他研发领域转行学习编解码,建议还是根据工作需要,选择适合的编解码参考代码和参考文档来学习。如果工作中没有需要,需要有强烈的学习兴趣才能坚持下来,毕竟编解码需要一定的积累,而且短期不会带来什么收益的任务,确实有强烈的兴趣学习的话,建议从一些标准化的音频编解码器学习入手。


对于想从事多媒体开发的技术人来说,从编解码入手是一个很好的选择,编解码涉及到多媒体技术的很多知识。比如音频领域,常见的还有音频预处理和音频后处理,这里所谓的“预”和“后”, 其实都是以音频编码器为中心来说的,可见音频编码器在音频领域的地位。


当然,还需要考虑将来目标公司的需求,如果目标是互联网,则需要能够快速的应用,所以需要把目前开源的和标准化的音频编码器都能快速的掌握起来。如果想专心做算法,那么应该选择一家具有雄厚积累的公司,正如之前说的,做音频编码器的算法短期不会带来什么收益,大公司和专业的音频公司会注重这方面的储备,通过产生自己的音频编码算法,申请专利后加入到标准化组织的标准中,然后通过标准中的专利带来长期的收益和回报,这个过程是比较长的, 一个音频编码器的标准,需要数年的制定过程。


LiveVideoStack:能否推荐一些系统学习编解码、多媒体开发的图书、资料?


王立众:学习音频编码的话,可以从标准化的代码和文档入手,学习Voice Codec,可以学习3GPP的AMR WB和EVS, ,3GPP官网的代码和文档都非常的详细。学习Audio Codec,可以选择MPEG的MP3和AAC。


至于图书,因为我个人接触面有局限性,不好一一列举,但是正如之前说过的,选择业内著名导师和实验室就没有错,对于具体方向,Voice Codec要学CELP模型,Audio Codec要学心理声学模型。

2017-06-08 16:48:00 weixin_33810006 阅读数 16
  • 视频编解码之HEVC视频教程

    本课程主要介绍视频编解码的基础知识,并详细讲解新一代视频编解码标准HEVC。涉及到的课程内容有:数字视频格式、HEVC编码结构、帧间帧内预测、残差变换、残差变换系数量化、环路后处理、熵编码等。

    3520 人正在学习 去看看 梅奥

基于Debian和Ubuntu的社区发行版Linux Mint宣布,下个版本Linux Mint 18 “Sarah”将改变多媒体编解码器的处理方式。Linux Mint 18不再提供独立的不包含任何编解码器的版本,而是默认不包含多媒体支持, 但在初始安装阶段会向需要多媒体编支持的用户提供获得编解码器安装包的方便方法。此外新版还将会支持更多的硬件。Linux Mint 18基于刚刚发布的Ubuntu 16.04 LTS,预计将在今年晚些时候发布,beta版本计划在6月释出。Linux Mint网站曾被黑客入侵纂改了下载链接传播恶意程序。

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

2008-11-23 21:36:00 weixin_34247155 阅读数 38
  • 视频编解码之HEVC视频教程

    本课程主要介绍视频编解码的基础知识,并详细讲解新一代视频编解码标准HEVC。涉及到的课程内容有:数字视频格式、HEVC编码结构、帧间帧内预测、残差变换、残差变换系数量化、环路后处理、熵编码等。

    3520 人正在学习 去看看 梅奥

本文对音视频产品的芯片选择作了分析,从芯片的指令集,主频,cache,DMA等方面进行衡量,给大家在选择软解码芯片时提供一些帮助。

现在有许多电子产品需要有多媒体编解码芯片的支持,例如:机顶盒,高端手机,PMP。在设计这些产品时,选择好一款DSP芯片,成为了产品成败的一个关键。如何选择芯片?这是一个非常复杂的问题,涉及到方方面面。我把我对这个问题认识在此总结一下。

先从了解芯片的处理能力说起。假如我们要让我们的产品做到MPEG-4 D1实时解码,不考虑价格,功耗,接口等其他因素,只谈处理能力。我们以Philips 的Trimedia 1300和ADI的Blackfin533为例。人们谈起芯片的处理能力时,总是首先想到主频。Trimedia1300的主频是133Mhz,而Blackfin533的主频高达600Mhz。Blackfin的主频比Trimedia要高得多。

当年Intel和AMD争夺PC芯片市场时,Intel的主频高于AMD,后来AMD打出了主频*指令数/周期的牌,引入了新的概念。Trimedia每周期可以执行5条指令,因为Trimedia使用了VLIW,每条指令32位。其中两条可以做乘加运算,另外三条可以用于简单的算术逻辑运算或存取数据。于是,2*133+3*133=266+400。而Blackfin,每个周期最多可以执行3条指令,其中只有一条是做乘加运算,另两条都是存取操作。算作1*600+2*600=600+1200。Blackfin中的乘加指令的执行时间与Trimedia中的大致相同,都是3个时钟周期后得到结果。单从每秒的DSP运算指令数来看,Blackfin是Trimedia的两倍多。每秒的算术逻辑运算和控制指令数,Blackfin是Trimedia的三倍。从简单算术逻辑运算和控制指令来看,Blackfin是比Trimedia稍强些。

下面以视频处理中最典型的IDCT运算为例,来比较这两款芯片的处理能力。在Trimedia中,使用IFIR16, DUALUCLIPI, PACK16MSB,MERGEDUAL16LSB这四个DSP指令,一个8点的IDCT需要大概12个周期。在Blackfin中,使用双乘双加指令,可以在21个周期中完成一个8点的IDCT。因为Blackfin的主频是Trimedia的4倍多,单从指令方面看,执行一个8点IDCT,Blackfin是Trimedia的两倍。

在实际的MPEG-4解码中,需要执行的不是一个8点IDCT,而是一个8*8点的二维IDCT。在上面的对执行指令周期的计算时,一个隐含的前提假设是所有的数据都是在寄存器中。做一个8*8的二维IDCT至少需要32个32位寄存器。因为Trimedia中有128个寄存器,而Blackfin中只有8个数据寄存器,因此,在Blackfin中就不可避免要在2维IDCT执行中作从内存到寄存器的数据传递工作。虽然,在Trimedia和Blackfin中都使用了cache来减少这种数据传递对运算的影响,但这仍然很难完全避免。当cache miss发生时,CPU不得不停下来,等待数据的传入。如果把相同的工作频率为133Mhz的SDRAM与Trimedia和Blackfin连接,则一个Trimedia中的cache miss要耗掉3个时钟周期,而一个Blackfin中的cache miss则要用掉5个时钟周期。所以,虽然Blackfin的芯片主频很高,但因为它的寄存器很少,片内内存不可能存下所有的数据,cache miss就不可避免要发生,此时,他的计算能力就要大打折扣。

Cache miss对运算速度的影响非常大,尤其是在做motion compensation时,数据在内存和寄存器之间频繁的导入导出。当CPU工作频率和内存频率相差越大,cache miss的影响就越大。当使用adi提供的编译环境visual DSP调试程序并计算cycles时,cache miss是不计算在内的。因此,当把软件仿真的MPEG-4 decoder调试好,放在板子上测试时,就会发现解码时间明显变长,很是失望。

因为这两款DSP都是为音视频处理设计的,他们都有一些特殊的指令来完成音视频处理。但因为Blackfin只有两个MAC单元,同时只能做两个乘加,比Trimedia的4个乘加差了些。为了弥补这个不足,Blackfin为video 处理的处理设计了一些特殊的指令,可以很方便的完成motion estimation 和compensation。

在其他方面,Blackfin的二维DMA可以独立快速的完成图像的转置和裁减。Trimedia的图像协处理器可以任意改变图像的大小。他的每一条指令都有guard位,可以选择的执行。

由此可以看出,一个芯片的处理能力不只由他的工作频率决定,他的指令功能,每个指令的执行周期数,单周期指令数,寄存器个数,cache行为,内外工作频率差都对性能有不可忽视的影响。其他的例如外围数据传递方式,协处理器的功能也不可忽视。另外,有些DSP带有专用于写回cache,可以提高写回速度,减少cache冲突,提高效率。

第二个选择DSP的方面是看DSP的功耗是否符合要求。实际上,Trimedia和Blackfin这两块DSP在功耗上是不可比的,因为它的设计的针对领域不同。Trimedia是为数字电视,监控设备,机顶盒设计的。他的功耗很大,他的芯片面积大概是Blackfin的4倍,工作时需要加散热片。Blackfin是为手持设备设计的,功耗相当小,加一块1200ma的电池,可以连续播放MPEG-4文件8个小时。Trimedia不可能用在手持设备上,Trimedia最大的使用是在监控设备上,一块片子最多可以做4路CIF编码。Blackfin完全可以移植到手机上,在性价比上完全可以与OMAP一拼。

在软硬件的调试方面,现在多数的芯片都支持JTAG,调试工具也都大同小异,没太多说的。对于外围的接口,不同的芯片因为设计目的不同,也会有很大差异。还有,有些芯片会有一些bug,非常难查,这对应用厂商会产生致命影响。除了这些方面,还有一个不可忽视的方面是生产厂家对这块DSP的发展计划。千万不要在软硬件都开发好,等待产品上市赚钱时,芯片厂家停产了,那就没地方哭去了。

http://www.eetchina.com/ART_8800420653_621496_TA_0c32bc64.HTM

王凯

北京飞利浦软件公司工程师

多媒体编解码

阅读数 414

没有更多推荐了,返回首页