| 网站首页 | 新闻 | SOPC | FPGA | DSP | ARM | 嵌入式操作系统 | 下载 | 所有产品 | 留言 | 论坛 | 购买指南 | 网络协议 | 驱动设计 | 
您现在的位置: 21嵌入式控制研究室 >> ARM >> 其它 >> 文章正文 用户登录 新用户注册
MPEG原理簡介           ★★★ 【字体:
MPEG原理簡介
作者:佚名    文章来源:21control    点击数:    更新时间:2005-12-30
1.前言
這一兩年來市面上多了許多Video CD player,很多人都搞不清楚它是用何原理製做的,或者知道MPEG卻又不知道這MPEG是什麼東東。更恐怖的是連我國的HDTV也要用MPEG,這對Audiophile或Videophile來說技術的演進實在太快了,學生時代讀書也沒那麼累。其實MPEG跟AC-3一樣也是一種壓縮方法,只不過它不是只有音訊,它連視訊都壓,而且最高可以壓到100倍,沒錯,一百倍。
MPEG也是一個可以讓電腦廠商涉足消費性電子產品的踏腳石,因為MPEG最早的應用是在個人電腦(PC)上,即所謂的多媒體電腦(Multi-Media PC)。記得才沒幾年前,'90還是'91吧,我還是用著286,買了當時市面上第一片16位元的音效卡,Pro Audio Spectrum 16, PAS 16。哇,一買下來立刻覺得286不夠快,有些application根本跑不起來或效果很差。沒多久,終於受不了,買了486DX33,果然將PAS-16的潛力完全發揮。再過不到半年又買了一台NEC兩倍速的CD-ROM,在那時這樣的電腦就叫多媒體電腦,而PAS 16+CD-ROM也花了我七百多美元,到現在我還在用。然後就是MPEG的出現;一開始PC只能用軟體來解碼,後來MPEG decoder晶片的生產(國內的華邦電子也有),才有MPEG card的出現,更進一步的才有Video CD player。所以MPEG從一開始就不是由消費性電子廠商主導,而是由電腦衍生出來的。像美國與我國HDTV也是用MPEG 2為標準,但是像MPEG編解碼技術又對一般的家電廠商來說反而沒有電腦廠商來的熟悉。君不見,在新一波的ITV(Interactive TV),NII,set-top box都有許多電腦廠商參與。如果再說到Video on Demand隨意視訊更是不能沒有電腦廠商,因為到目前為止,video servers,用來儲存影片的裝置,好像沒有家電廠商插上一腳,都是像IBM, HP之類的公司製造的。
本文的目的就是對一般人會產生的MPEG問題做一概括的解釋,以使讀者能對MPEG有初步的了解。

 2.什麼是MPEG?
MPEG是一群人在ISO(International Standard Organization)下所製定用來壓縮視訊與音訊的標準,說的仔細一點就是一個訂定bitstream格式的標準。那什麼是bitstream呢?bitstream是將視訊及音訊記錄到介質(比如說錄影機,DVD-digital video disk,電纜或無線傳輸)上一連串的0與1。為了使這一連串的0與1有意義,我們就須對它編碼,其實bitstream一但製定下去,可以說連解碼器的架構也差不多訂定了。可是只要編碼器產生的bitstream標準符合MPEG的標準,你要怎樣壓縮產生是各個廠商的事。
這樣講好了,比如說HDCD,它可以用一般的D/A converter,也可以用有Pacific Microsonic晶片的D/A converter。為什麼?因為當初發展CD時Philips與SONY有製訂寫在CD上資料的格式,如果不符合的話即使長的像CD也不能叫CD(比如CD-ROM)以及使用CD的logo,可是你要如何產生這些資料,他可是管不著,所以HDCD才能將20bit的資料寫到CD上。
說了半天忘了解釋MPEG的縮寫是Moving Pictures Experts Group,動畫專家群,這樣的翻譯不知各位意下如何?MPEG這些會員一年約聚會四次,每次約一星期,當然不聚會的時後每位會員也是繼續從事這方面的研究。
MPEG又分成MPEG 1, MPEG 2, MPEG 3, MPEG4。因為MPEG 3隨著MPEG 2 HDTV的發展已經被MPEG 2所取代,而MPEG 4又是以視訊會議為主要應用,所以這篇文章將專注在MPEG 1與 MPEG 2上。
3.MPEG I 的video是甚麼樣的原理?
首先您要知道MPEG 1的解析度是很低的,只有352x240個pixels(NTSC,PAL與SECAM又不同了),一秒30個frame,要記住一開始的MPEG 1是在電腦螢幕上顯示的,而標準的VGA解析度是640x480。影像是彩色的,但已轉換成YUV空間表示,而其中的彩度(chrominance)信號U,V更降為176x120 pixels,而實際上由於人類對彩度沒有來的對亮度敏感,所以即使彩度解析度低到這種地步,我們也感覺不大出來。補充一點MPEG 1一定是non-interlace(非交錯)的影像。 MPEG 2則interlace與progressive皆可。
那為什麼要用352x240的解析度?
因為這是從職業用的數位video器材標準CCIR-601來的。在NTSC的標準下,一秒有60個field,每個field有720x243的解析度,別忘了這是interlace的。至於在彩度部份則是360x243,也是有60個field,interlace。明顯的可以看出在水平方向亮度的解析度,只有720的一半。至於MPEG1的輸入型式叫SIF,是由CCIR-601,在水平方向減一半,時間部份也減一半,彩度的垂直部份再減一半。
好像有人嫌解析度低了些,沒關係,中華民國HDTV標準是MPEG 2而亮度1280x720,彩度是640x360,夠高了吧。MPEG 2是一個新一代高畫質的video coding標準,它的bitrate比MPEG 1的1.5Mbits/s高,但最高達30Mbits/s。一般說來MPEG 1的畫質約相當於VHS,當bitrate高到3至5Mbits/s就相當於廣播電視(NTSC約3Mbits/s,PAL約4Mbits/s),到8-10Mbits/s就非常接近CCIR 601的水準。
 
MPEG的video壓縮主要是由兩個技術來達成:block based motion compensation來縮減時域上多餘的訊息,transform domain(DCT) based compression則用來減低頻域的資料量。
block based motion compensation簡單的說:如果兩幅畫面有相同的東西,則第一幅畫面如果已經完整傳送了整幅畫面的資訊,那第二幅畫面就可只傳兩幅畫面不同之處的訊息即可。
Transform domain(DCT) based compression則是將一幅畫面做DCT轉換後將高頻部份(即人眼較看不到的細節)去掉,只傳輸低頻部份。當然這也是依照視覺心理學所決定出來的,就好像AC-3在壓縮時也是將人耳聽不到的東西給去掉是一樣的原理。
MPEG 1 video的壓縮方法主要是利用每個frame之間的不同的地方。簡單的說,MPEG是由三種不同的frame組合而成的:
1. I frame or Intra frame:它們是不利用過去歷史,所編碼的靜止frame,它所佔的size最大。沒有I frame則無法像影碟隨意選取畫面。它的壓縮是由DCT(Discrete Cosine Transform,也是一種時域到頻域的轉換)所完成的。通常是將一完整畫面分成許多小塊,8x8或16x16,再分別對小塊做DCT轉換。這部份的壓縮與JPEG(一種靜態圖片壓縮規格)很相似。
2. P frame or Predicted frame:從解碼器的關點來說,它是從最近解出來的I frame或P frame所預測出來的。
3. B frame or Bidirectional frame: 它是從最近解出來的兩個I frames或P frames所算出來的,一個是過去的,一個是未來。它的壓縮量最大。
所以解出來的畫面會是由這樣的秩序組合而成的:
IBBPBBPBBPBBIBBPBBP..
也就是I與I之間有12個frames。至於為什麼要用12個frames,是因為當我們隨意選擇某一片段開始放映時,比如說CD-ROM上,可以達到每0.4秒一個間隔,是不可能達到LD中的CAV,以frame為間隔。I與I的間隔若太長,效果會變差;若太短,bitrate又太高(因為I frame所佔的 data size最大)。記得嗎?MPEG 1最初的運用是在CD-ROM上,第一代的CD-ROM(一倍速)傳輸率(data transfer rate)只有150KBytes/sec=1200kbits/sec。所以bitrate一定要斤斤計較。至於B frame與P frame的比例也是由經驗來的。
為了能看到連續的影像,您必需在送兩個B frames之前先送第一個P frame,結
果壓縮出來的資料串(data stream)就成了這個樣子:
0xx312645
這些數目字代表frame的號碼。xx如果是在一開始(第一個畫面)那就直接跳到3,成了0312645;在其它時候就是B frames。
一定有人看得一頭霧水。
前面有提到,解出來的畫面會是這樣的秩序組合而成的:
IBBPBBPBBPBBIBBPBBP..
也就是I是第0個frame,兩個B分別是第1與第2個frame,依此類推。
但是在傳送時是首先傳I(第0個frame),再傳P(第3個frame),然後才傳兩個B(第2,3個frame)。也就是先把I解出來再把P解出來後兩者皆放到記憶體內,然後才解B(因為B須要I及P的資料才能完整解出)。但經過運算後則是按秩序0,1,2,3,4...顯現在螢幕上。簡單的說,bitstream裡frame的秩序是與畫面display的秩序是不同的。
 
4. Audio
MPEG I的audio又分成三層(layers),Layer3 比 Layer2複雜但音質較好,layer 2 又比layer 1複雜且音質好. 但在解碼時layer 3的decoder 可以解layer 3,layer 2及layer 1的bitstream,可是layer 2 decoder只能解layer 2及 layer 1的bitstream.所有layers的frame structure都是一樣的。
所謂frame structure乃是音訊編碼過後,將其資料記錄到媒體的格式。不論是MPEG或AC-3,它們資料記載的方式是不同於一般的CD;都是收集了一定片段的samples後,編碼,再寫到媒體。像AC-3的一個frame(資料的frame,不是影像的)包含了1536個samples的資料,而MPEG 2則為1152個samples。
MPEG 2 的audio基本上來說是MPEG 1 layer 2的延伸,因此它是與MPEG1 backward compatible。最主要的不同當然在多聲道的部份。
無論是MPEG1或MPEG2,它們基本的原理都與AC-3類似,利用perception coding來達成壓縮的目地,有一點比較不同的是經時域-頻域轉換後出來的次頻帶,或者稱為filter banks,MPEG有32個,而AC-3有50個。詳細的原理可參考 月號的高傳真視聽。
MPEG 1的三個層次(layer)共同之處在其基本架構皆相同,編碼原理也都是perception coding。不同點則是隨著層次的增加,複雜度也增加,編解碼的延遲(即從bitstream進來到聽到聲音的時間)也加長了,但音質(以bitrate而言)也更好了。以壓縮比來說,layer 1 約1:4,bitrate為一聲道192kbps,layer 2約1:6至1:8,bitrate為一聲道128kbps,layer 3約1:10至1:12之間,bitrate為一聲道64kbps。
Layer 1的原理與DCC的PASC是相同的,是一個簡化的MUSICAM(Masking pattern adapted Universal Subband Integrated Coding And Multiplexing)編解碼系統。Layer 2則採用MUSICAM編解碼系統。Layer 3採用MUSICAM與ASPEC混合體的編解碼系統。
 5.那裡有MPEG呢?
以美國來說
1. DBS(Direct Broadcast Satellite)直播衛星
Hughes(休斯)/USSB DBS 將會採用MPEG-2 video及audio。Thomson在剛發行的18月內有解碼盒(decoding box或set-top box)的獨家製造權。而Hughes/USSB DBS已經於1994年4月開始播出,計劃中有150個頻道。
2. CATV(Cable Television)有線電視
雖然有些爭議,但有線電視業者在Video上可以幾乎確定採用MPEG 2,Audio則有些歧見。通用儀器(General Instruments,美國最大的cable set-top box製造商)早已宣布用DOLBY AC-3,而Video則是MPEG 2的修改版。
3. HDTV
美國的Grand Alliance也宣布採用MPEG 2,交錯(1440x960x30 Hz)與非交錯(1280x720x60 Hz)都將使用。台灣原則上應是跟隨此一標準。
至於歐洲方面(他們叫DVB, Digital Video Broadcasting)也決定改採MPEG 2,也就等於宣告了HD-MAC(D2-MAC是歐洲直播衛星採用的方法,澳洲也早在1985採用B-MAC,HD-MAC則是為HDTV所提的標準)的死亡。而日本的MUSE是唯一數位/類比混合的HDTV標準,不過MUSE能否撐過本世紀還是個未知數。
 
6.MPEG與現有的電視,影碟,VHS的比較
如前面所說的,MPEG 1的畫質約相當於VHS,當bitrate高到3至5Mbits/s就相當於廣播電視(NTSC約3Mbits/s,PAL約4Mbits/s),到8-10Mbits/s就非常接近CCIR 601的水準。
對 VHS來說,它的亮度訊號-3db點約在2Mhz左右相當於200條的解析度,彩度訊號更低,不到80,前面提過MPEG 1的亮度是352x240而彩度是176x120。從解析度來說VHS只有在垂直方向的480條是優於MPEG 1的240條。但如把磁帶的因素考慮進去,也就不是那麼多了。而且一般的VHS會有時基(time base)的問題,這方面數位的video就比較不會有了。再說如果您買的是預錄的節目帶,這些帶子通常是高速拷貝,效果一定又打折。
剛剛說過廣播電視的bitrate,NTSC約3Mbits/s,PAL約4Mbits/s。但在較複雜的畫面如運動比賽時,其bitrate會分別提高至5至6Mbits/s。
影碟就比較難打敗了。NTSC的影碟的解析度理論上可以高達568x480x30Hz;SN比的話,這年頭要找比48db還低的影碟機可能還不多了。但要是節目的性質並沒有很多的細節,且沒有很大的動作,MPEG 1跟影碟的差別到沒有很多。還有一個MPEG 1的好處,就是如果要把電影轉成MPEG 1時因為MPEG 1跟電影一樣都是progressive而非interlace,且電影是一秒24個畫面,比起電視的30個畫面又可省下20%的資訊量。
 7.結論
不管您喜不喜歡digital,有人到現在還是喜歡LP,有人到現在還是認為Beta比VHS好,digital的世紀就要來了。以往只有digital CD,現在連video也要變成digital。
也許有人要問一定得壓縮嗎?Audio可以不壓縮(CD即是),但video不壓縮的話,其bitrate高達124Mbits/s。對所謂的Video-On-Demand(隨意視訊),跟本太高;廣播也一樣,那麼高的bitrate一定佔用很多頻道,就算是MUSE系統也有經過壓縮。
也許過幾年後又有人開始爭議是Analog Video好或是Digital Video好,那就留給讀者自己評斷了。
文章录入:fengfeiyi    责任编辑:fengfeiyi 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)