所谓视频编码方式就是指通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件的方式。
为什么要进行视频编码?
- 未经编码的数据数字视频的数据量很大
- 存储困难
- 传输困难
例如:一张大小为1080*720的图像,帧率25FPS,一个像素用12位表示,那么可以作如下计算:
- 一帧图像的数据大小
1080*720*12/8/1024
= 1139KB 约1MB - 一秒图像的数据大小
1MB*25
= 25MB - 一分钟图像的数据大小
25MB*60
= 1500MB 约1.6GB
完整的计算:
1080*720*12*25*60 = 1399680000bit
1399680000/8/1024/1024 = 1668MB
从上面的计算就可以看出未经编码的视频数据是有多么的庞大. 所以必须经过编码压缩之后, 视频数据才方便存储, 方便在网络上传输
常见的编码格式
MPEG1
VCD编码格式
MPEG1编码标准制定于1992年,可适用于不同带宽的设备,如CD-ROM,Video-CD、CD-i。它用于传输1.5Mbps数据传输率的数字存储媒体运动图像及其伴音的编码,经过MPEG-1标准压缩后,视频数据压缩率为1/100~1/200,影视图像的分辨率为360×240×30(NTSC制)或360×288×25(PAL制),它的质量要比家用录像系统(VHS-Video Home System)的质量略高。音频压缩率为1/6.5,声音接近于CD-DA的质量。MPEG-1允许超过70分钟的高质量的视频和音频存储在一张CD-ROM盘上。
VCD采用的就是MPEG-1的标准,该标准是一个面向家庭电视质量级的视频、音频压缩标准。MPEG-1的编码速率最高可达4-5Mbits/sec,但随着速率的提高,其解码后的图象质量有所降低。MPEG-1也被用于数字电话网络上的视频传输,如非对称数字用户线路(ADSL),视频点播(VOD),以及教育网络等。同时,MPEG-1也可被用做记录媒体或是在INTERNET上传输音频。MPEG1标准占用的网络带宽在1.5M左右。
MPEG1的视频压缩算法对运动不激烈的视频信号可获得较好的图像质量,但当运动激烈时,图像会产生马赛克现象。
MPEG2
DVD编码格式
MPEG-2制定于1994年,设计目标是高级工业标准的图象质量以及更高的传输率。MPEG-2所能提供的传输率在3-10Mbits/sec间,其在 NTSC制式下的分辨率可达720X486,MPEG-2也可提供并能够提供广播级的视像和CD级的音质。MPEG-2的音频编码可提供左右中及两个环绕 声道,以及一个加重低音声道,和多达7个伴音声道(这就是DVD可有8种语言配音的原因)。
MPEG-2标准中规定了两种输出码流,MPEG2-TS和MPEG2-PS:
- MPEG-TS(Transport Stream(传输流))主要应用于实时传送的节目,比如实时广播的电视节目。 其特点是从视频流的任一片段开始都是可以独立解码。电视节目是任何时候打开电视机都能解码(收看)的
- MPEG2-PS(Program Stream(程序流))主要应用于存储的具有固定时长的节目,如DVD电影,可添加字幕等一些程序操作。PS流其包长不固定,且较长,一旦失去同步信息,接收机无法确定下一包的同步位置,会造成失步,导致严重的信息丢失。PS流适用于误码小、信道较好的环境,如演播室、家庭环境和存储介质中。
MPEG4
MPEG-4制定于1998年,全称为Moving Picture Experts Group 4,是为了播放流式媒体的高质量视频而专门设计的,它可利用很窄的带度,通过帧重建技术,压缩和传输数据,以求使用最少的数据获得最佳的图像质量。
MPEG-4标准是面向对象的压缩方式,不是像MPEG-1和MPEG-2那样简单地将图像分为一些像块,而是根据图像的内容, 其中的对象(物体、人物、背景)分离出来,分别进行帧内、帧间编码,并允许在不同的对象之间灵活分配码率,对重要的对象分配较多的字节,对次要的对象分配 较少的字节,从而大大提高了压缩比,在较低的码率下获得较好的效果, MPEG-4支持MPEG-1、MPEG-2中大多数功能,提供不同的视频标准源格 式、码率、帧频下矩形图形图像的有效编码。
总之,MPEG-4有三个方面的优势:
- 具有很好的兼容性;
- MPEG-4有很好的压缩比,最高达200:1;
- MPEG-4在提供高压缩比的同时,对数据的损失很小。所以,MPEG-4的应用能大幅度的降低录像存储容量,获得较高的录像清晰度,特别适用于长时间实时录像的需求,同时具备在低带宽上优良的网络传输能力。
H264/AVC (敲黑板)
H.264是一种高性能的视频编解码技术。目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。而H.264则是由两个组织联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高级视频编码(Advanced Video Coding,AVC),而且它将成为MPEG-4标准的第10部分。因此,不论是MPEG-4 AVC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H.264。
H.264最具价值的部分是更高的数据压缩比,在同等的图像质量,H.264的数据压缩比能比DVD系统中使用的 MPEG-2高2~3倍,比MPEG-4高1.5~2倍。举个例子,原始文件的大小如果为100GB,采用MPEG-2压缩标准压缩后变成4GB,压缩比为25∶1,而采用H.264压缩标准压缩后变为1GB,从100GB到1GB,H.264的压缩比达到惊人的100∶1。尤其值得一提的是,H.264在具有高压缩比的同时还拥有高质量流畅的图像。
正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。在MPEG-2需要6Mbps的传输速率匹配时,H.264只需要1Mbps~2Mbps的传输速率。
但是搞在直播中延迟高
WMV/WMV-HD//VC-1
WMV(Windows Media Video)是微软公司开发的一组数字影片编解码格式的通称,它是Windows Media架构下的一部分。
WMV最初是为低速率流媒体应用作为专有编解码开发出来的。
WMV-HD也是微软公司所创立的一种视频压缩格式。其压缩率远高于MPEG-2标准,同样是2小时的HDTV节目,如果使用MPEG-2最多只能压缩至30GB,而使用WMV-HD这样的高压缩率编码器,在画质丝毫不降的前提下都可压缩到15GB以下。虽然WMV-HD是微软的独有标准,在开放性和兼容性上没有其他几种格式好,但由于目前大家都在使用微软的操作系统,因此推出之后仍然迅速普及。
除了WMV-HD以外,微软WMV第九版(WMV9)编码技术叫做VC-1,2003年正式提出,于2006年正式成为国际标准,是微软开发的视频压缩技术系列中的最新版本。VC-1结合几种编码格式的优点于一身,在压缩比率上介于H.264与MPEG-2之间,画质表现方面与H.264接近,且在编码算法的复杂度上只为H.264的一半,处于一个中间的平衡点位置,对硬件要求较低、高压缩率、高画质、低耗时等特点使得VC-1成为一种比较理想的编码方式,发展前景较为可观。
DivX/XviD
DivX是由MPEG-4衍生出的一种视频编码(压缩)标准,也即我们通常所说的DVDrip格式, 它采用了MPEG4的压缩算法,同时又综合了MPEG-4与MP3各方面的技术,说白了就是使用DivX压缩技术对DVD盘片的视频图像进行高质量压缩, 同时用MP3或AC3对音频进行压缩,然后再将视频与音频合成,并加上相应的外挂字幕文件而形成的视频格式。其画质直逼DVD,而体积只有DVD的数分之 一。
Xvid(旧称为XviD)是一个开放源代码的MPEG-4影像编解码器,是由一群原OpenDivX开发者在OpenDivX于2001年7月停止开发后自行开发的。
Xvid支持量化(Quantization)、范围控制的运动侦测(Motion Search)、码率曲线分配(Curve)、动态关键帧距(I-frame interval)、心理视觉亮度修正、演职员表选项、外部自定义控制、运动向量加速(Hinted ME)编码、画面优化解码等众多编码技术,对用户来说功能十分强大。
Xvid的主要竞争对手是DivX。但Xvid是开放源代码的,而DivX则只有免费(不是自由)的版本和商用版本。
M-JPEG
Motion JPEG(M-JPEG或MJPEG,Motion Joint Photographic Experts Group,FourCC:MJPG)是一种影像压缩格式,其中每一帧图像都分别使用JPEG编码。M-JPEG常用在数字相机和摄像头之类的图像采集设备上,非线性剪辑系统也常用这种格式。QuickTime播放器和包括Mozilla Firefox,Google Chrome,Safari在内许多网页浏览器原生支持M-JPEG。
M-JPEG只使用帧内压缩(区别于算法更复杂的帧间压缩),只单独的对某一帧进行压缩,而不考虑影像画面中不同帧之间的变化。因此压缩效率比较低,一般低于1:20,而使用了帧间压缩的现代影像压缩格式(如MPEG1、MPEG2和H.264/MPEG-4 AVC)一般能超过1:50.由于各帧直接是相互独立的,M-JPEG的编解码在对运算能力和内存的要求较低。
H.265
高效率视频编码 (High Efficiency Video Coding,简称HEVC), 又称为H.265和MPEG-H第2部分,是一种视频压缩标准,被视为是ITU-T H.264/MPEG-4 AVC标准的继任者。2004年开始由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video Coding Experts Group(VCEG)作为ISO/IEC 23008-2 MPEG-H Part 2或称作ITU-T H.265开始制定[1][2][3][4][5]
。第一版的HEVC/H.265视频压缩标准在2013年4月13日被接受为国际电信联盟(ITU-T)的正式标准[1][2][6]
。HEVC被认为不仅提升影像质量,同时也能达到H.264/MPEG-4 AVC两倍之压缩率(等同于同样画面质量下比特率减少到了50%),可支持4K清晰度甚至到超高清电视(UHDTV),最高清晰度可达到8192×4320(8K清晰度)。
数个基于HEVC延伸的编码标准正在进行中,包含range extensions(支持高级的视频格式)、可调式编码和3D视频编码标准。