各种音视频编解码详解标注版.docx
《各种音视频编解码详解标注版.docx》由会员分享,可在线阅读,更多相关《各种音视频编解码详解标注版.docx(84页珍藏版)》请在冰豆网上搜索。
各种音视频编解码详解标注版
各种音视频编解码详解
1.编解码学习笔记
(一):
基本概念
媒体业务是网络的主要业务之间。
尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放license收费等等。
最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了。
所以豆丁上看不出所以然,从wiki上查。
中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版也减肥得太过。
我在网上还看到一个山寨的中文wiki,长得很像,红色的,叫“天下维客”。
wiki的中文还是很不错的,但是阅读后建议再阅读英文。
我对媒体codec做了一些整理和总结,资料来源于wiki,小部分来源于网络博客的收集。
网友资料我们将给出来源。
如果资料已经转手几趟就没办法,雁过留声,我们只能给出某个轨迹
基本概念
编解码
编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序。
这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个编码流中恢复适合观察或操作的形式的操作。
编解码器经常用在视频会议和流媒体等应用中。
容器
很多多媒体数据流需要同时包含音频数据和视频数据,这时通常会加入一些用于音频和视频数据同步的元数据,例如字幕。
这三种数据流可能会被不同的程序,进程或者硬件处理,但是当它们传输或者存储的时候,这三种数据通常是被封装在一起的。
通常这种封装是通过视频文件格式来实现的,例如常见的*.mpg,*.avi,*.mov,*.mp4,*.rm,*.oggor*.tta.这些格式中有些只能使用某些编解码器,而更多可以以容器的方式使用各种编解码器。
FourCC全称Four-CharacterCodes,是由4个字符(4bytes)组成,是一种独立标示视频数据流格式的四字节,在wav、avi档案之中会有一段FourCC来描述这个AVI档案,是利用何种codec来编码的。
因此wav、avi大量存在等于“IDP3”的FourCC。
视频是现在电脑中多媒体系统中的重要一环。
为了适应储存视频的需要,人们设定了不同的视频文件格式来把视频和音频放在一个文件中,以方便同时回放。
视频档实际上都是一个容器里面包裹着不同的轨道,使用的容器的格式关系到视频档的可扩展性。
参数介绍
采样率
采样率(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。
采样频率的倒数叫作采样周期或采样时间,它是采样之间的时间间隔。
注意不要将采样率与比特率(bitrate,亦称“位速率”)相混淆。
采样定理表明采样频率必须大于被采样信号带宽的两倍,另外一种等同的说法是奈奎斯特频率必须大于被采样信号的带宽。
如果信号的带宽是100Hz,那么为了避免混叠现象采样频率必须大于200Hz。
换句话说就是采样频率必须至少是信号中最大频率分量频率的两倍,否则就不能从信号采样中恢复原始信号。
对于语音采样:
∙8,000Hz-电话所用采样率,对于人的说话已经足够
∙11,025Hz
∙22,050Hz-无线电广播所用采样率
∙32,000Hz-miniDV数码视频camcorder、DAT(LPmode)所用采样率
∙44,100Hz-音频CD,也常用于MPEG-1音频(VCD,SVCD,MP3)所用采样率
∙47,250Hz-NipponColumbia(Denon)开发的世界上第一个商用PCM录音机所用采样率
∙48,000Hz-miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率
∙50,000Hz-二十世纪七十年代后期出现的3M和Soundstream开发的第一款商用数字录音机所用采样率
∙50,400Hz-三菱X-80数字录音机所用所用采样率
∙96,000或者192,000Hz-DVD-Audio、一些LPCMDVD音轨、Blu-rayDisc(蓝光盘)音轨、和HD-DVD(高清晰度DVD)音轨所用所用采样率
∙2.8224MHz-SACD、索尼和飞利浦联合开发的称为DirectStreamDigital的1位sigma-deltamodulation过程所用采样率。
在模拟视频中,采样率定义为帧频和场频,而不是概念上的像素时钟。
图像采样频率是传感器积分周期的循环速度。
由于积分周期远远小于重复所需时间,采样频率可能与采样时间的倒数不同。
∙50Hz-PAL视频
∙60/1.001Hz-NTSC视频
当模拟视频转换为数字视频的时候,出现另外一种不同的采样过程,这次是使用像素频率。
一些常见的像素采样率有:
∙13.5MHz-CCIR601、D1video
分辨率
分辨率,泛指量测或显示系统对细节的分辨能力。
此概念可以用时间、空间等领域的量测。
日常用语中之分辨率多用于图像的清晰度。
分辨率越高代表图像品质越好,越能表现出更多的细节。
但相对的,因为纪录的信息越多,文件也就会越大。
目前个人电脑里的图像,可以使用图像处理软件,调整图像的大小、编修照片等。
例如photoshop,或是photoimpact等软件。
图像分辨率 :
用以描述图像细节分辨能力,同样适用于数字图像、胶卷图像、及其他类型图像。
常用'线每毫米'、'线每英吋'等来衡量。
通常,“分辨率”被表示成每一个方向上的像素数量,比如640x480等。
而在某些情况下,它也可以同时表示成“每英吋像素”(pixelsperinch,ppi)以及图形的长度和宽度。
比如72ppi,和8x6英吋。
视频分辨率 :
各种电视规格分辨率比较视频的画面大小称为“分辨率”。
数位视频以像素为度量单位,而类比视频以水平扫瞄线数量为度量单位。
标清电视频号分辨率为720/704/640x480i60(NTSC)或768/720x576i50(PAL/SECAM)。
新的高清电视(HDTV)分辨率可达1920x1080p60,即每条水平扫瞄线有1920个像素,每个画面有1080条扫瞄线,以每秒钟60张画面的速度播放。
画面更新率fps
Framerate中文常译为“画面更新率”或“帧率”,是指视频格式每秒钟播放的静态画面数量。
典型的画面更新率由早期的每秒6或8张(framepersecond,简称fps),至现今的每秒120张不等。
PAL(欧洲,亚洲,澳洲等地的电视广播格式)与SECAM(法国,俄国,部分非洲等地的电视广播格式)规定其更新率为25fps,而NTSC(美国,加拿大,日本等地的电视广播格式)则规定其更新率为29.97fps。
电影胶卷则是以稍慢的24fps在拍摄,这使得各国电视广播在播映电影时需要一些复杂的转换手续(参考Telecine转换)。
要达成最基本的视觉暂留效果大约需要10fps的速度。
压缩方法
有损压缩和无损压缩
在视频压缩中有损(Lossy)和无损(Lossless)的概念与静态图像中基本类似。
无损压缩也即压缩前和解压缩后的数据完全一致。
多数的无损压缩都采用RLE行程编码算法。
有损压缩意味着解压缩后的数据与压缩前的数据不一致。
在压缩的过程中要丢失一些人眼和人耳所不敏感的图像或音频信息,而且丢失的信息不可恢复。
几乎所有高压缩的算法都采用有损压缩,这样才能达到低数据率的目标。
丢失的数据率与压缩比有关,压缩比越小,丢失的数据越多,解压缩后的效果一般越差。
此外,某些有损压缩算法采用多次重复压缩的方式,这样还会引起额外的数据丢失。
∙无损格式,例如WAV,PCM,TTA,FLAC,AU,APE,TAK,WavPack(WV)
∙有损格式,例如MP3,WindowsMediaAudio(WMA),OggVorbis(OGG),AAC
帧内压缩和帧间压缩
帧内(Intraframe)压缩也称为空间压缩(Spatialcompression)。
当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似。
帧内一般采用有损压缩算法,由于帧内压缩时各个帧之间没有相互关系,所以压缩后的视频数据仍可以以帧为单位进行编辑。
帧内压缩一般达不到很高的压缩。
采用帧间(Interframe)压缩是基于许多视频或动画的连续前后两帧具有很大的相关性,或者说前后两帧信息变化很小的特点。
也即连续的视频其相邻帧之间具有冗余信息,根据这一特性,压缩相邻帧之间的冗余量就可以进一步提高压缩量,减小压缩比。
帧间压缩也称为时间压缩(Temporalcompression),它通过比较时间轴上不同帧之间的数据进行压缩。
帧间压缩一般是无损的。
帧差值(Framedifferencing)算法是一种典型的时间压缩法,它通过比较本帧与相邻帧之间的差异,仅记录本帧与其相邻帧的差值,这样可以大大减少数据量。
对称编码和不对称编码
对称性(symmetric)是压缩编码的一个关键特征。
对称意味着压缩和解压缩占用相同的计算处理能力和时间,对称算法适合于实时压缩和传送视频,如视频会议应用就以采用对称的压缩编码算法为好。
而在电子出版和其它多媒体应用中,一般是把视频预先压缩处理好,尔后再播放,因此可以采用不对称(asymmetric)编码。
不对称或非对称意味着压缩时需要花费大量的处理能力和时间,而解压缩时则能较好地实时回放,也即以不同的速度进行压缩和解压缩。
一般地说,压缩一段视频的时间比回放(解压缩)该视频的时间要多得多。
例如,压缩一段三分钟的视频片断可能需要10多分钟的时间,而该片断实时回放时间只有三分钟。
除wiki外的资料来源:
资料压缩
港台将information翻译为资料资料压缩是透过去除资料中的冗余资讯而达成。
就视讯资料而言,资料中的冗余资讯可以分成四类:
时间上的冗余资讯(temporalredundancy)
在视讯资料中,相邻的帧(frame)与帧之间通常有很强的关连性,这样的关连性即为时间上的冗余资讯。
这即是上一节中的帧间压缩。
空间上的冗余资讯(spatialredundancy)
在同一张帧之中,相邻的像素之间通常有很强的关连性,这样的关连性即为空间上的冗余资讯。
这即是上一节中的帧内压缩。
统计上的冗余资讯(statisticalredundancy)
统计上的冗余资讯指的是欲编码的符号(symbol)的机率分布是不均匀(non-uniform)的。
感知上的冗余资讯(perceptualredundancy)
感知上的冗余资讯是指在人在观看视讯时,人眼无法察觉的资讯。
视讯压缩
视讯压缩(英文:
Videocompression)是指运用资料压缩技术将数位视讯资料中的冗余资讯去除,降低表示原始视讯所需的资料量,以便视讯资料的传输与储存。
实际上,原始视讯资料的资料量往往过大,例如未经压缩的电视品质视讯资料的位元率高达216Mbps,绝大多数的应用无法处理如此庞大的资料量,因此视讯压缩是必要的。
目前最新的视讯编码标准为ITU-T视讯编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视讯组(JVT,JointVideoTeam)所提出的H.264/AVC。
2.编解码学习笔记
(二):
codec类型
一个典型的视讯编码器:
在进行当前信号编码时,编码器首先会产生对当前信号做预测的信号,称作预测信号(predictedsignal),预测的方式可以是时间上的预测(interprediction),亦即使用先前帧的信号做预测,或是空间上的预测(intraprediction),亦即使用同一张帧之中相邻像素的信号做预测。
得到预测信号后,编码器会将当前信号与预测信号相减得到残余信号(residualsignal),并只对残余信号进行编码,如此一来,可以去除一部份时间上或是空间上的冗余资讯。
接着,编码器并不会直接对残余信号进行编码,而是先将残余信号经过变换(通常为离散余弦变换)然后量化以进一步去除空间上和感知上的冗余资讯。
量化后得到的量化系数会再透过熵编码,去除统计上的冗余资讯。
视讯编码标准发展
年份
标准
制定组织
解除版权保护
(DRM-free)
主要应用
1984
H.120
ITU-T
是
1990
H.261
ITU-T
是
视讯会议、视讯通话
1993
MPEG-1第二部份
ISO /IEC
是
影音光碟(VCD )
1995
H.262/MPEG-2第二部份
ISO / IEC、ITU-T
否
DVD影碟(DVD-Video )、蓝光(Blu-Ray )影碟、数位视讯广播(DVB )、SVCD
1996
H.263 [6]
ITU-T
视讯会议、视讯通话、3G 手机视讯(3GP )
1999
MPEG-4第二部份
ISO /IEC
否
2003
H.264/MPEG-4AVC [1]
ISO / IEC、ITU-T
否
蓝光(Blu-Ray )影碟、数位视讯广播(DVB)、iPod 视讯、高画质DVD(HDDVD )
常见的编解码见下表,在以后会分类论述:
视频codec
ISO/IEC
MJPEG · MotionJPEG2000 · MPEG-1 · MPEG-2 (Part2 )· MPEG-4 (Part2/ASP · Part10/AVC )· HVC
ITU-T
H.120 · H.261 · H.262 · H.263 · H.264 · H.265
其它
AMV · AVS · Bink · CineForm · Cinepak · Dirac · DV · Indeo · MicrosoftVideo1· OMSVideo · Pixlet · RealVideo · RTVideo · SheerVideo · Smacker · SorensonVideo&SorensonSpark · Theora · VC-1 · VP3 · VP6 · VP7 · VP8 · WMV
音频codec
ISO/IECMPEG
MPEG-1LayerIII(MP3) · MPEG-1LayerII · MPEG-1LayerI · AAC · HE-AAC ·MPEG-4ALS · MPEG-4SLS · MPEG-4DST
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+ · AppleLossless · ATRAC · DRA · DTS ·FLAC · GSM-HR · GSM-FR · GSM-EFR · iLBC · Monkey'sAudio · TTA (TrueAudio)· MT9 · μ-law · Musepack · Nellymoser · OptimFROG · OSQ · RealAudio· RTAudio · SD2 · SHN · SILK · Siren · Speex · TwinVQ · Vorbis · WavPack ·WMA
图像压缩
ISO/IEC/ITU-T
JPEG · JPEG2000 · JPEGXR · losslessJPEG · 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
Videocompression
ISO/IEC
MJPEG·MotionJPEG2000·MPEG-1·MPEG-2(Part2)·MPEG-4(Part2/ASPPart10/AVC)·HEVC
ITU-T
H.120·H.261·H.262·H.263·H.264·HEVC
Others
AMV·AVS·Bink·CineForm·Cinepak·Dirac·DV·Indeo·MicrosoftVideo1·OMSVideo·Pixlet·RealVideo·RTVideo·SheerVideo·Smacker·SorensonVideo&SorensonSpark·Theora·VC-1·VP3·VP6·VP7·VP8·WMV
Audiocompression
ISO/IEC
MPEG-1LayerIII(MP3)·MPEG-1LayerII·MPEG-1LayerI·AAC·HE-AAC·MPEG-4ALS·MPEG-4SLS·MPEG-4DST·MPEG-4HVXC·MPEG-4CELP
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+·AppleLossless·ATRAC·DRA·DTS·FLAC·GSM-HR·GSM-FR·GSM-EFR·iLBC·Monkey'sAudio·TTA(TrueAudio)·MT9·μ-law·Musepack·Nellymoser·OptimFROG·OSQ·RealAudio· RTAudio·SD2·SHN·SILK·Siren·Speex·TwinVQ·Vorbis·WavPack·WMA
Imagecompression
ISO/IEC/ITU-T
JPEG·JPEG2000·JPEGXR·losslessJPEG·JBIG·JBIG2·PNG·WBMP
Others
APNG·BMP·DjVu·EXR·GIF·ICER·ILBM·MNG·PCX·PGF·TGA·QTVR·TIFF
Mediacontainers
ISO/IEC
MPEG-PS·MPEG-TS·MPEG-4Part12/JPEG2000Part12·MPEG-4Part14
ITU-T
H.222.0
Others
3GPand3G2·ASF·AVI·Bink·DivXMediaFormat·DPX·EVO·FlashVideo·GXF·M2TS·Matroska·MXF·Ogg·QuickTime·RealMedia·REDCODERAW·RIFF·Smacker·MODandTOD·VOB·WebM
Audioonly
AIFF·AU·WAV
3.编解码学习笔记(三):
Mpeg系列——Mpeg1和Mpeg2
MPEG视频编码标准
MPEG是MovingPictureExpertsGroup的简称。
这个名字本来的含义是指一个研究视频和音频编码标准的小组。
现在我们所说的MPEG泛指又该小组制定的一系列视频编码标准。
该小组于1988年组成,至今已经制定了MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7等多个标准,MPEG-21正在制定中。
MPEG到目前为止已经制定并正在制定以下和视频相关的标准:
∙MPEG-1:
第一个官方的视訊音訊压缩标准,随后在VideoCD中被采用,其中的音訊压缩的第三级(MPEG-1Layer3)简称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內容、低位元率編碼(lowbitrateencoding)和數位版權管理(DigitalRightsManagement),其中第10部分由ISO/IEC和ITU-T联合发布,称为H.264/MPEG-4Part10。
参见H.264。
∙MPEG-7:
MPEG-7并不是一个视訊压缩标准,它是一个多媒体内容的描述标准。
∙MPEG-21:
MPEG-21是一个正在制定中的标准,它的目标是为未来多媒体的应用提供一个完整的平台。
媒体codec在于MPEG-1,MPEG-2,MPEG-4,如上图所示。
图中名称解释:
在图中VCD,DVD地球人都知道,何为DVB?
DVB:
数字视频广播(DVB,DigitalVideoBroadcasting),是由“DVBProject”维护的一系列为国际所承认的数字电视公开标准。
DVB系统传输方式有如下几种:
●卫星电视(DVB-S及DVB-S2)
●有线电视(DVB-C)
●无线电视(DVB-T)
●手持地面无线(DVB-H)
这些标准定义了传输系统的物理层与数据链路层。
设备通过同步并行接口(synchronousparallelinterface,SPI),同步串行接口(synchronousserialinterface,SSI),或异步串行接口(asynchronousserialinterface,ASI)与物理层交互。
数据以MPEG-2传输流的方式传输,并要求符合更严格的限制(DVB-MPEG)。
对移动终端即时压缩传输数据的标准(DVB-H)目前正处于测试之中。
这些传输方式的主要区别在于使用的调制方式,因为不同它们应用的频率带宽的要求不同。
利用高频载波的DVB-S使用QPSK调制方式,利用低频载波的DVB-C使用QAM-64调制方式,而利用VHF及UHF载波的DVB-T使用COFDM调制方式。
除音频与视频传输外,DVB也定义了带回传信道(DVB-