像我儿子一样永远保持好奇和梦想

【基本概念】MEPG2

上一篇 / 下一篇  2012-11-30 10:37:59 / 个人分类:DVB

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台|^w0A/PE

本篇是在阅读了MEPG2基本概念基础上写的笔记和小结ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台u7S ~5Qz2~ [r P$k

z,F?M Z]1@/ad{0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台x's'~l!? y+a$\


前言:Motion Picture Expert Group
z4s/f3X;@[?0不論是哪種數位廣播系統,基本上皆以MPGE-2 TS為主要的傳輸內容。。。
/?oi;h#JC Z5@F0【hsy75 案】
0x$nQ]s}M0MPEG 的压缩主要是从时间和空间上两个方面进行的:
yoyW\D}2A^01. 时间上的压缩 temporal redundancy (The state of not being necessary or useful)ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台ud}kcF i8a:CD,n
主要利用帧帧之间一般不会出现较大的数据出入,除非是非常活动的图像ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台O*C P ]:w [@
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台|hoX|
2. 空间上的压缩 Spatial redundancyET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台bA^"C(l.b4w)Z$j
多半利用了传输过程中使用的量化的概念,将连续的信号进行采样,然后用数字的方法,比如霍夫曼编码来进行压缩。
2aS&e ? v|s0
.1 流ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 K;RGn0e t*PU`
MPEG2标准主要是用来定义电视图像数据、声音数据和其他数据的组合,把这些数据组合成一个或者多个适合于存储或者传输的基本数据流。数据流有两种形式,一种称为程序数据流(Program Stream,PS),另一种称为传输数据流(Transport Stream,TS)。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 Q{+[cr9rj

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台d.H*@ }3PU

程序数据流PS是组合一个或者多个规格化的即包化基本数据流(Packetised Elementary Streams,PES)而生成的一种数据流,用在出现错误相对比较少的环境下

,Ex6v3T@J|@0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台u4Bb1B4?)Da

【hsy75案 其实就是DVD系统】适合使用软件处理的应用;

B'`3|K8pb2o0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台)p;V9?O,|/c

传输数据流TS也是组合一个或者多个PES而生成的一种数据流,它用在出现错误相对比较多的环境下,例如在有损失或者有噪声的传输系统中。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台:J{&tS,_

.V#TBKE&a|0【hsy75案】两种流的最大区别,是TS流分成的包更小,且因为复用关系,TS(Transport Stream)含有更多的时间信息例如,PCR.ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台%J~v5IR~(i

.2 MPEG2 basic block and associated standardsET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台r0CQi^.jW

`3Z*C-V |m0The basic multiplexing approach for single video and audio elementary streams is illustrated in Figure . The video and audio data is encoded as described in ITU-T Rec. H.262 | ISO/IEC 13818-2 and ISO/IEC 13818-3.
2Y\x'r9W5g0【hsy75 案】上图显示MEPG2 相关标准和相关的关系
Z7ZMkY)i3a-Cq0
RORO"A3a;F0m0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台%U I4Y(T7{wt
.3 MPEG2的圖像配置等級ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台C px i]h!KO"`
l 考虑到要适应不同数据速率设备的应用,MPEG专家组定义了三种质量不同的编码方式:信噪比可变性(Signal-to-Noise Scalability),空间分辨率可变性(Spatial Scalability)和时间分辨率可变性(Temporal Scalability)ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台j%kA4wRBS
l 信噪比可变性SNR (Signal-to-Noise scalability)是指图像质量的折中,对于数据率比较低的解码器使用比较低的信噪比,而对数据率比较高的解码器则使用比较高的信噪比;空间分辨率 可变性(Spatial scalability)是指图像的空间分辨率的折中,对于低速率的接受器使用比较低的图像分辨率,而对于数据率比较高的接受器使用比较高的图像分辨率; 时间分辨率可变性(Temporal Scalability)是指图像在时间方向上分辨率的折中,与空间分辨率类似。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台/lH"q}#?4n#K
l MPEG-2为此引入了“配置(Profiles)”和参数“等级(Levels)”的概念,每种配置定义一套新的算法,而每一个等级指定一套参数范围(如图像大小、帧速率和位速率)。
,RlQ1d ]Z/o;Y,r0
7V6b1V7^F }q&q0.4 MPEG2畫質的等級Profiles and levels
h$dNL,n/u0分为4级:
+d'f,N2[e0High              High 1440    Main             Low
r0mzU:\!xf%ux0对应分辨率为:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台-e2v p(jTN
1920*1152 1440*1152    720*576     352*288
'}2M;p$t(bEo#n]0


.5 编码:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台-n z ?6tW gZ
【hsy75案】
一个实际的MEPG2 - TS使用例子:该例放映了一个数字化信号是如何进入到一个家庭的。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 ?4KeG\$X0[hr*e
下图表示了一个实际的家庭数字化使用MEPG2的例子:
7H4G3V#g/^2Q)hH^0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台5{Tg5F8j*XUP%k
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台H/F P&rufE
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台8Dx:LR U*A

Y6mX2hN-?N0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台W9Nnl(A&C Ja
1. 数字化:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台4IBy ^0n5FJ
模拟信号视频:RGB -> ITU-601 270MbpsET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台+m:L e BXME
模拟信号音频:Audio -> AES/EBU 【Audio Engineering Society/European Broadcasting Union】1.5Mbps
N W_ F+Kj] ]t0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台x7qgM!]+P4G
2.压缩ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台#P8St"q!yV5f
进第一个房间:
a6jF%\m^P4Z1n.\0(图像編碼)ISO/IEC13818-2 Video Coding的技術,可將270Mbps壓縮到3Mbps〜5Mbps,並且保留了影像原有的品質。
g:LOcJ3v3N8O d0(聲音編碼)聲音的部分則是利用ISO/IEC 13818-3 Audio CodingET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台l tnwQq"qG
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台J x&A] x:| y[
3.打包数据成数据流
!AcUp*bsKg'XI0經過壓縮後的影像與聲音稱為Elementary Stream(Video ES and Audio ES;ES)。為了方便儲存於儲存媒體上(如DVD光碟片),可將Elementary Stream切成很多的封包(Packets),稱Packetized Elementary Stream(Video PES and Audio PES;PES) 。又經由多工器(Multiplexer)產生Transport Stream(Video TS and Audio TS;TS),並且額外加入PSI, Program Service information,& Information Packet(Tables) 提供如EPG(Electronic Program Guide;電子節目選單)等的訊息服務。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台f?M,A1rR
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台6nF7Ne8M
ES->PES->TS->EPG + TS->TSnET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台*mX YD$A6?

}w'I a-G)\0
\:JIL W#@0不論是Video/Audio或是DATA的PES皆可經由MUX的處理成為一個TS(TransportStream);亦可利用MUX將多個TS和成為單一的TS。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 |y4SeQ6_&P.T


A(^$q f!|k0【ES】ELEMENTARY STREAMS
m3b[{6g*F.WM0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台*]o M/h:ye e pX\ zS
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台&@2T q~!W$V
【上图,ES for Video syntax】本图表述了一个典型的VES的结构生成过程,从图中,首先是DC cofficients模块,包含了Picture Information信息,然后,被装配成Macro Block【用于矢量分析】,
v9m3rBi;IB V]/Q0然后,Macroblock被按扫描行切成一个个数据条【用于同步】,一组slices最后组成了active picture,header of the picture I,P,B coded and includes a temporal reference【用于还原时间】.ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 f|^1^Sf hR
Picture 最后组成为:GOP group of picture。【用于时域压缩】,最后,可以生成Video Sequence.VS 可以再加一些包头,可以用来实现暂停,回放,章节选择等功能。
B cHA SM0h2l*|0【hsy75 案】Xn就是表示了一个重新打包数据的过程ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台H"s:P"~V7ZI)VR4SX


o0fJ.s#R| I8L0【PES】PACKETIZED ELEMENTARY STREAMS (PES)ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 c4N%qK|OX
.1 PacketsET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台3h;N2Rn#b jBW9A
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台;x9Rz!S8F8^

$iT+]lPOwr9r/R0PES is preceded by a PES packet header. And the PES is logically present , because some time , there do not have PES in TS.
ok ~6N\[7H0
$t3A1AY1N!ly0.2 Time Stamps:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台|n D*`$bU|.~-Cl
Time stamps indicate where a particular access unit belongs in time.
}~bMZu } S0【hsy案】Time Stamps工作原理
,O Xxk@#B,X-X0使用原因和方法,用于解决编解码的时间延迟问题,那么,在每一整必要的图像里面都含有Stamps,这些stamps使用的编解码的时间基准都一直,相当于都用秒为单位,那么,stamps标识当前的这帧图像相对于时间基准是多少个stamps单位,用这个表示就可以把所有的帧图像都联系起来。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台gY"x:M-_ }t%Oi
解码器接受到PES后,先根据包头信息选择好需要解码的PES,然后,把这些信息都按照包给出的id号码顺序,放到RAM里面,以便后面图像处理使用,【time stamps这时候发挥作用,因为有了stamps,系统就知道现在放到RAM
;z9d"nKh7u0中数据将在stamps计数达到所要的值后取出】ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台d&j$m5n%qy
使用时注意两个方面: 1. ES流本身时间基准的获得 2.视频和音频流之间时间同步的问题。
Uuk3h+Q U?K0
7`R"SGxS(`(`AH0.3 PTS/DTS
'@^f9s#Ay0When bidirectional coding is used, a picture may have to be decoded some time before it is presented, so that it can act as the source of data for a B picture.ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台{.A6fj&j7_ b'j
Although, for example, pictures can be presented in the order IBBP, they will be transmitted in the order IPBB. Consequently, two types of time stamp exist.ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台QPnVDn
The decode time stamp (DTS)indicates the time when a picture must be decoded, whereas a presentation time stamp (PTS) indicates when it must be presented to the decoder output.
^Af6i%\8?G0B pictures are decoded and presented simultaneously so that they only contain PTS. When an IPBB sequence is received, both I and P must be decoded before the first B picture. ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 ~qI-@u(P#B
A decoder can only decode one picture at a time; therefore the I picture is decoded first and stored. While the P picture is being decoded,the decoded I picture is output  so that it can be followed by the B pictures.
,G;x#qo.Z\x0
.6 TS流:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台#v\d2BH.z5rp
TS 流显然不是简单的PES的集合,TS除了含有PES包以外,还含有PSI(Program Specific information),而PES含有和多路复合相关的大量信息metadata:比如,PAT,PMT,CA
A!}} \q0qj8m+KT)J0此外,还包括其他一些数据。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台-\!d"a0IyZ%ha

g%c_"|D5dRQ0TS流的包的大小是固定的,188Byte ,相同的ES在TS里面含有相同的PID地址。
0g C_ o1x0【TS 结构图】
c'}"DM2t?:T4j{0
H6H3u{?~,v*q0【TS包分析】
^N4|4Xm x'JvuU0.1 TS流含有不定数量的包,每个包的大小固定为188字节ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台$_"k-V[)qjv
.2 SYNC BYTE: 一个8位的字符串
E'},gZ#^2}VCx Kz0.3 Transport_error_indicator: 1表示,包中有至少一个错误
l+m \J5gKB1w0.4 Playload_unit_start_indicator: 这个位,表示的意义和当前传送的包的内容有关
HSC8c+i$k:m6Na6w0    如果,DATA 传送的是PES包的话,那么,1表示这个包,是包含PES包的第一个字节
O0p9qq8F L0    如果,DATA 传送的是PSI包的话【hsy75案 前面已经提到,TS流.5 编码:过程】,1表示这个包,是包含PSI包的第一个字节
O6|rU}0 .5 Transport_prigority:同pid下,高优先级
J}6_ EW:a0.6 PID: 一个有分类标准的包的标识ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台Z4rj9e,b!Fi
.7 Transport_scrambing_control:scrambling控制设定。除00以外的值,表示需要CA解析
d#mR \H&`-k0.8 Adaptation_field_control: 表示该包是一个adaptation filed or data
9N+ps1\ mK-h*o%E0.9 continuity_counter: 如果当前包是数据包,且拥有相同的PID的时候,用来做包的计数ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台})Z AJlB'?/x:LW-x
.10 DATA 【hsy75案,其实应该是DATAn,应该是一组来自于PES,或者PSI等包的数据】ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台o};n&VxQ
.11 Adaptation_field:主要是提供时基校准的ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 mA;u3R'B$J$mH
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台I&jh;\ Z1qoa'[
   
A7x I,gJ ~9l0 ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台+CMw1pL1rk(|Vo
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台!Fs:c3aqC(d
TS Sample:ISO/IEC 13818 transport packet
&mP:Az!_M0transport_packet(){ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台BI*A A7o K.@
sync_byte 8 bslbf
:Y:{'{;o.Q?a0transport_error_indicator 1 bslbfET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台+x}/LZv.N5^ V/R
payload_unit_start_indicator 1 bslbfET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台!^6T[ZC
transport_priority 1 bslbf
$\EzH(y+M0PID 13 uimsbfET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台i1|%@8h;y&Phd&J*A
transport_scrambling_control 2 bslbf
%xKD b5[^0adaptation_field_control 2 bslbfET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台M.\pO9_V
continuity_counter 4 uimsbf
o6`!D/V5Q0if(adaptation_field_control=='10' || adaptation_field_control=='11'){
V|#nP;gm0adaptation_field()ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台%p u/az1@ kW$r;n(Z
}ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台5sb+hA5su H#t)qmn
if(adaptation_field_control=='01' || adaptation_field_control=='11') {ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台\ yIpSq
for (i=0;i<N;i++){
#zlp:Ir4Mb-PdS%g0data_byte 8 bslbf
+y(? _^ G4bu0}
u+]l'rD:\ R0}
fM^2K&HQ7n!U0}
"Zg*C h(@"aY0【TS Program 示意图】ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台5}oCFyg
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台~k1X`?uI6j~!^`
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台7~%e| is

v^6T-W Gl#k1Z0
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 \1qr6j H| y
上圖中,最後TS是輸出至DVB的調變器,但是美規的ATSC也是利用相同的概念來MUX多個PES成為一個TS,差別僅在於PSI的部分。TS中的PSI封包(Program Specific Information)與SI封包(Service Information)提供了DVB(或ATSC)的解多工器(De-multiplexer)在進行「解多工」時所需的資訊。一個TS可載送的節目資料傳輸率為4Mbps to 7Mbps(Max. 15Mbps),其中包含了影像、聲音、資料及PSI/SI Table:
#B2\#v E&}n0
.7 解码
%W!tXEr9K0

3w T4dz4Fb0TS Synchronization:當TS進入Decoder後,1.首先要先同步,Sync Byte為「0x47」。2,Read-out of TS Content:PAT(Program Association Table)與PMT(Program Map Table)的內容提供MPEG 2 Decoder在對此TS解碼時所需的資訊。PAT載有所有PMT的PID(Packet Identifier)碼。PMT的數目等同於在此一TS中所擁有的節目數。 PMT的封包中,則載有與此一節目有關的Video TS,Audio TS及DATA三種TS的PID。因此,MPEG-2 Decoder需要利用PAT及PMT來Decode。3. 將此TS中與想觀賞的節目相關PID所指到的封包取出,等候Decoding。假設有額外對TS做鎖碼,在Decoding前需將此一額外的鎖碼(Conditional Access)做解碼。 根據MPEG-2 Encoder編碼時的參數來做同步。相關的封包為:PCR(Program Clock Reference);PTS(Program Time Stamp);DTS(Decoding Time Stamp)。ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台K4u*fx~c4N A
若在信號源頭端(Head End)系統業者有在TS加入額外的資訊(如跑馬燈、額外的節目訊息),此時Decoder便須解碼SI(Service Information)Table中所載有的內容。
T2tV|,Fx'I0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台ZjGFF N)fMaI2S

ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台 xn/])w)X[c
ref:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台9H*mF/U^$cW{C
1.DTV_MPEG-2 TSET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台"@0O^ c/t)U^J
 為台灣羅德史瓦茲系統工程師
.i-["O] ~U4Du!th02. ISO/IEC 13818 - 1ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台T6B8Q x2S }D1OR o
3. A Guide to MPEG
xD/I4pM/Kc"tU E04. vidio demestify
H1Dg1e ^]pLMb0
Endition history:ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台$FQ h+{3yo
2008-04-14 updated
lyS5LW~1AH02008-04-25 updated TS
%Y!?QX:C~0
@RB3b-~0ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台#Q"Z i8V"w%gujG:S
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台Rrp;|:X ht

X5?(c1L+{)dvN0{ ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台pE9El5F


TAG: MPEG2 STB TS 基本概念

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar