视音频编解码基本术语及解释

         整理了一些基本视音频术语,用于入门和查询使用。


H264

H264是视频的标准,是MPEG4-10,基于内容的高效编码方式.

H.264/MPEG-4第10部分,或称AVC(AdvancedVideo Coding,高级视频编码),是一种视频压缩标准,一种被广泛使用的高精度视频的录制、压缩和发布格式。第一版标准的最终草案于2003年5月完成。

H.264/MPEG-4 AVC是一种面向块的基于运动补偿的编解码器标准。由ITU-T视频编码专家组与ISO/IEC联合工作组——即动态图像专家组(MPEG)——联合组成的联合视频组(JVT,Joint Video Team)开发。因ITU-T H.264标准和 ISO/IEC MPEG-4 AVC标准(正式名称是ISO/IEC 14496-10 — MPEG-4第十部分,高级视频编码)有相同的技术内容,故被共同管理。

H.264因其是蓝光盘的一种编解码标准而著名,所有蓝光盘播放器都必须能解码H.264。它也被广泛用于网络流媒体数据如Vimeo、YouTube、以及iTunes Store,网络软件如Adobe Flash Player和Microsoft Silverlight,以及各种高清晰度电视陆地广播(ATSC,ISDB-T,DVB-T或DVB-T2),线缆(DVB-C)以及卫星(DVB-S和DVB-S2)。


完成一个分析H264码流的工具


============================================================================================


HEVC


HEVC,英文全拼:High Efficiency Video Coding,是一种新的视频压缩标准。可以替代H.264/ AVC编码标准。


HEVC学习笔记


============================================================================================


像素比:

再说像素比


============================================================================================


像素深度:BPP(Bit per Pixel)


像素深度是指存储每个像素所用的位数,它也是用来度量图像的分辨率。像素深度决定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数。

例如,一幅彩色图像的每个像素用R,G,B三个分量表示,若每个分量用8位,那么一个像素共用24位表示,就说像素的深度为24,每个像素可以是16 777 216(2的24次方)种颜色中的一种。在这个意义上,往往把像素深度说成是图像深度。表示一个像素的位数越多,它能表达的颜色数目就越多,而它的深度就越深。


============================================================================================


Gop:

Group of picture.

这是视频的一个概念,简称图片组.视频序列由多个图片组组成.


Open Gop和 Close Gop的概念见:open gop and close gop


============================================================================================


 

I/P/B-frame:

I帧,一个编码后的图像,I帧的图像编码不依赖于前向和后向编码.

P帧,是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。

B帧,是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累。


在标准中,I帧也会有参考帧,即是否为IDR帧,定义如下:



nal_unit_type=5既IDR帧,一般说的大I帧;否则不是,既一般说的小I帧



仅仅使用前一个显示的基准帧来编码的帧被称为P帧,同时使用前一个显示帧和未来帧作为基准帧进行编码的帧称为B帧.
在通常的场景中,编解码器编码一个I帧,然后向前跳过几个帧,用编码I帧作为基准帧对一个未来P帧进行编码,然后跳回到I帧之后的下一个帧。
编码的I帧和P帧之间的帧被编码为B帧。之后,编码器会再次跳过几个帧,使用第一个P帧作为基准帧编码另外一个P帧,然后再次跳回,用B帧填充显示序列中的空隙。
这个过程不断继续,每12到15个P帧和B帧内插入一个新的I帧。

通常,更换场景后的第一帧就是I帧,I帧应当全帧传送。从压缩的程度来看,I画面的压缩量最少,一般为7;P画面次之,压缩比为20,它是以I画面为基础;B画面压缩最多,可以达到50。
为了加大压缩比,通常在I帧后面相隔2帧(最多3帧)设置1个P帧,在I、P帧之间都是B帧,在两个P帧之间也是设置2~3帧B帧。
B帧传送它与I帧或P帧之间的差值信息,或者P帧与后面P帧或I帧之间的差值信息,或者它与前后I、P帧或P、P帧平均值之间的差值信息。
当主体内容变化愈大时,两个I画面之间的帧数值越小;当主体内容变化小时,I面画的间隔可以适当大一些。
或者说,B帧、P帧所占比例越大,图像压缩比越高。一般两个I画面相隔13~15帧,相隔帧数不宜再多。


下面举例说明VCD图像帧的排列顺序。I、P、B三种画面的典型设置方式,对NTSC制共约需半秒时间。
节目输入顺序是按实际出现顺序排列的,即I、B、B、P、B、B、P、B、B、I、B、B、P;
为了解码时便于从I、P画面插补得到B画面,在编码录制节目时,将顺序改变了,即按照I、P、B、B顺序
即改为按原来0、3、1、2、6、4、5、9、7、8的画面顺序。解码时先解出0帧、3帧,再由其插补预测计算得出1帧、2帧等等。
为此,须在解码器内设置动态存储器,将I、P帧先解码并存储,再计算出各个B帧。不过最后输出时,还是应当按照实际播放顺序重组读出,按正确顺序输出。


一张图来说明其顺序:

IPB帧编码顺序(解码顺序)与显示顺序



============================================================================================

 

Fps:

Frame Per Second,每秒钟帧率


============================================================================================


 

ES/PS/TS/PES:

ES: elementary stream, 用于某些硬盘播或编辑系统,如m2v.

ES--Elementary  Streams  (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。

ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,只含音频ES的PES等。每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,1个AU相当于编码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅视频图像或1个音频帧的取样。


m2v:

是Mpg2文件的一种后缀, DVD的视频格式,不包含音频文件. MPEG-2 Video扩展名为.m2v的文件是一个视频文件。Video only (without audio) encoded using MPEG-2 compression

 

PS: program stream, 用于播放或编辑系统,如m2p (MPEG-2 Program Stream File).

PS--Program Stream(节目流)PS流由PS包组成,而一个PS包又由若干个PES包组成(到这里,ES经过了两层的封装)。PS包的包头中包含了同步信息与时钟恢复信息。一个PS包最多可包含具有同一时钟基准的16个视频PES包和32个音频PES包。

m2p:

为支持MPEG-2音频和视频压缩的视频容器格式,类似于MPEG-1文件,而且还支持隔行扫描视频和更多的音频通道,通常用于数字视频流。

Video containerformat that supports MPEG-2 audio and video compression; similar to an MPEG-1file, but also supports interlaced video and more audio channels; commonly usedfor streaming digital video.

M2P files aregenerally used for streaming media; standard MPEG-2 video files typically havean .MPG extension, while standard MPEG-2 audio files usually have an .MP2extension.

 

TS: transition stream, 主要用于数据传输,如HDV(High-definition video)机器内部记录的m2t.

TS--Transport Stream(传输流)由定长的TS包组成(188字节),而TS包是对PES包的一个重新封装(到这里,ES也经过了两层的封装)。PES包的包头信息依然存在于TS包中。

m2t:

HDV Video File扩展名为.m2t的文件是一个视频文件。

被许多高清摄像机采用的高清视频录制格式,通常被称为HDV,采用MPEG-2压缩存储在DV或MiniDV的录像带高清视频数据,支持720p的分辨率和1080i.

High-definitionvideo recording format used by many HD camcorders; commonly referred to as HDV;uses MPEG-2 compression to store HD video data on DV or MiniDV tapes; supportsresolutions of 720p and 1080i.

 

PES:

PES--Packetized  Elementary Streams  (分组的ES),ES形成的分组称为PES分组,是用来传递ES的一种数据结构。PES流是ES流经过PES打包器处理后形成的数据流,在这个过程中完成了将ES流分组、打包、加入包头信息等操作(对ES流的第一次打包)。PES流的基本单位是PES包。PES包由包头和payload组成。

 

TS流与PS流的区别:

在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。PS包由于长度是变化的,一旦丢失某一PS包的同步信息,接收机就会进入失步状态,从而导致严重的信息丢失事件。而TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。因此在信道环境较为恶劣、传输误码较高时一般采用TS码流,而在信环境较好、传输误码较低时一般采用PS码流。


在数字电视系统中,模拟视音频信号按照MPEG-2的标准,经过抽样、量化及压缩编码形成基本码流ES,基本码流ES是不分段的连续码流

把基本码流分割成段,并加上相应的头文件打包形成的打包基本码流PES,PES包和包之间可以是不连续的

在传输时将PES包再分段打成有固定长度188B 的传送码流TS或可变长度的节目流包(PS包)。

PES只是PS转换为TS或TS转换为PS的中间步骤或桥梁时,MPEG-2数据流互换的逻辑结构。

TS 和PS这两种码流分别适应于不同的场合应用,节目流PS适合在相对出错较少的环境下使用,其长度是变化的,而传送流TS能够把多个节目在基于一个或多个时间标识的基础上构成一个流,传送流适合于出错较多的场合下使用。

用数据包传输的优点是:网络中信息可占用不同的连接线路和简单暂存。通过数据包交织把多个数据流复用成一个新的数据流,便于解码器按照相应顺序对数据包进行灵活的整理,从而,为数据流同步和复用奠定了基础。MPEG-2的结构可分为压缩层和系统层,其中ES属于压缩层,PES和TS/PS属于系统层。 在PES层,主要是在PES包头信息中加入PTS(显示时间标签)和DTS(解码时间标签)用于视频、音频同步

而在TS流中,TS包头加入了PCR(节目时钟参考),用于解码器的系统时钟恢复。

在节目流PS包头中加入SCR,它的作用与PCR域相似。

 

例子

MPEG-2对视频的压缩产生I帧、P帧、B帧。

把帧顺序I1帧-P4帧-B2帧-B3帧-P7帧-B5帧-B6帧的编码ES,通过打包并在每个帧中插入PTS/DTS标志,变成PES。在插入PTS/DTS标志时,由于在B帧PTS和DTS是相等的,所以无须在B帧多插入DTS

对于I帧和P帧,由于经过复用后数据包的顺序会发生变化,显示前一定要存储于视频解码器的从新排序缓存器中,经过从新排序后再显示,所以一定要同时插入 PTS和DTS作为从新排序的依据

例如,解码器输入的图像帧顺序为I1-P4-B2-B3-P7-B5-B6,但显示时P4一定要在B2、B3之后,在 PST和DTS的指引下,经过缓存器从新排序,以从建视频帧顺序为:I1-B2-B3-P4-P7-B5-B6

 

在没有B帧的情况下,I帧和P帧在编码和解码端的顺序是一致的。

 

将PES包再打成更小的具固定长度的TS包时在其包头位置加入了PCR和PID(包标识)。PID的值是由用户确定的,解码器根据PID把TS(多节目传输流)上不同节目的TS包区分出来,以重建原来的ES。另外,TS的包头包含一个4bit的连续计数器,连续计数器可对PID包传送顺序计数,据计数器读数,接收端可判断是否有包丢失及包传送顺序错误。所以TS的包头具有同步、识别、检错等功能。

 

TS单一码流、混合码流

  单一性:TS流的基本组成单位是长度为188字节的TS包

  混合性:TS流由多种数据组合而成,一个TS包中的数据可以是视频数据,音频数据,填充数据,PSI/SI表格数据等(唯一的PID对应)。

  TS流由TS包组成,TS包为固定大小。

 

MPEG2编码端流程

 

PS/TS组成

 

PS/TS及标准关系

 


为什么奇艺要把 iPad 客户端上的 MP4 流改为 TS 流呢?TS 相对于 MP4 有什么优势呢?

众说风云



  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值