查看: 6894|回覆: 6
收起左側

[分享] MPEG-4 標準及其實現分析

[複製連結]

發表於 2008-9-28 02:06:11 | 顯示全部樓層 |閱讀模式

馬上註冊,結交更多好友,享用更多功能,讓你輕鬆玩轉社區。

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x
MPEG-4技術的應用將使當前很多提供聲音和資料服務的系統得到進一步的擴展,根據涉及ISO標準的版本、部分、類(profile)和等級(level)的不同,MPEG-4對應不同的技術。本文將討論所有不同的MPEG-4技術,研究MPEG-4的需求、架構和實現策略,並討論計算需求以更好地理解MPEG-4的實現。

MPEG-4標準活動開始於1995年,至今還在不斷發展之中。此標準由如表所示的16部分組成,本文將詳細討論該標準的第二和第十部分,這兩部分是關於視頻編碼處理。在很多出版物中經常出現MPEG-4,但常常並沒有嚴格區分出MPEG-4到底是用軟體還是硬體來實現的,本文試圖更明確闡述“MPEG-4”這個術語。有關MPEG句法的一部分新版本使標準實現向後相容,這是MPEG-4的第二部分。在新的不能後向相容的技術引入MPEG標準後,在2001-2003期間又創建了MPEG-4的第10部分,即高級視頻編碼(AVC)。

標準的創建需要通過工作草案(WD)、委員會草案(CD)、最終委員會草案(FCD)、草案國際標準(DIS)、最終草案國際標準(FDIS)和最終國際標準(IS)這一系列過程,在該過程中伴隨著技術的彙集、融合和應用。標準的修正通常都會增加更多的類,MPEG-4的第二版修正1和2就增加了FGS類,而修正3又增加了簡單可擴展level 0和高級簡單可擴展level 3b。MPEG的類規定了用於協同操作點(interoperability point)的技術,等級規定了一個類的範圍或大小。此外,MPEG還定義了碼流和解碼器的一致性問題,但並沒有直接規定解碼器的功能。

壓縮技術與MPEG-4
為了更好地理解類和等級,先瞭解MPEG-4的簡單類(Simple profile)和核心類(Core file)。簡單類採用矩形I幀和P幀,具有基於運動補償離散余弦變換(DCT)基本功能的編碼處理。I幀為幀內編碼,而P幀為幀間編碼,這兩類編碼方式是為了降低冗餘資訊。核心類可以採用I幀、P幀和B幀視頻物件平面(VOP),並具有採用二進位形狀定義的任意形狀編碼功能。因此,如果採用核心類則必須開發出一種形狀自適應DCT來實現與核心類的互操作,而在簡單類中需要採用標準的8×8 DCT技術。

在MPEG的術語中,等級表示在一個類中的參數範圍。一些重要參數有:物件數量、量化表數量、視頻複雜度驗證子(VCV)緩衝大小、VCV解碼器速率(單位:kbps)。緩衝器大小和速度的限制,以及類採用的技術所規定的操作點(operate point)都明確定義了該類適合的應用領域。例如,假如互聯網流媒體聯盟(ISMA 1.0)決定在兩個操作點之間的互操作,對於視頻部分他們可以選擇Simple@Level1和Advanced Simple@Level3。開發工程師可以根據所要求的通道碼率和處理要求,選擇一個最具成本效益的類和等級。

MPEG-4複雜度變化
隨著數位視頻的廣泛應用,目前已經存在多種不同的MPEG-4解決方案複雜度。由於存在好幾種不確定因素,使得在設計一個複雜的視頻編解碼器之前很難確定真正所需要的計算能力。由於MPEG參考代碼的編制過程中會有若干公司和會員單位參與,儘管代碼在功能上是正確的,但在即時性和記憶體管理上並沒有實現優化。事實上,MPEG-4有第5部分的參考軟體和第7部分的優化參考軟體。即使是優化的參考軟體,由於它必須避免採用特定供應商的處理器代碼,因而比商業解決方案還是慢3到5倍。目前有兩個獨立於處理器的評估工具可以幫助評估MPEG參考代碼的複雜度:IMEC公司的Atomium工具評估軟體的記憶體轉移情況,而EPFL SIT工具以運營商的角度來評估最優化情況。這些評估工具的作用就是要給出在MPEG-4的類中的某項技術複雜程度的總體認識。

在瞭解了不同的MPEG-4技術的計算複雜性之後,下一步就是要知道編碼器和解碼器需要處理的原始資料量,通過瞭解每秒中宏塊數量就可以輕易地得到該資料。圖1中列出了簡單類的level 1到level 3,高級類的level 0到level 5,主類的level 2到level 4。值得注意的是,除了三個類的技術不同以外,不同操作點在單位時間內能處理的數量具有很大的差異。此外,如果包含了演播室類(Studio profile),這個範圍可以達到每秒三百萬個宏塊。

MPEG-4的實現
假定你能夠確定一個或一系列操作點,怎樣才能實現即時操作呢?通過正確的MPEG-4技術的類估計,為滿足類似於每秒內的巨集塊數的系統級參數的並行特性要求,將採用一種具有軟體配合的視頻管線架構(video pipeline architecture),FPGA可以提供這種必要的並行特性來實現即時的、具有成本效益的視頻編解碼器。考慮矽器件的MOPS(百萬操作每秒)參數,目前有約2,000MOPS的通用處理器,而採用DSP處理器可以將這個數字提高到約8,000MOPS,但存在資料流程由限運算單元處理的缺點。帶有專用處理引擎的媒體處理器,如位元運算單元可以將該參數提升到20,000MOPS,但FPGA和ASIC具有更高的設計自由度,可以擴展到100,000MOPS以上。

FPGA基於SRAM技術的特點使其具有可再編程功能。因此,對於一個給定的FPGA設計可以支持幾種操作點和不同的通道數,如圖2所示。在必要的情況下,不同的MPEG-4技術還可以編程在同一個FPGA中,在不超出FPGA計算能力條件下,甚至還可能支援MPEG-4標準未來的類和等級。像ISMA這樣的系統級要求經常具有不同的操作點以滿足不同的應用需要,利用FPGA的重編程的特性可以開發出足不同市場需求的設備。

轉載 http://www.52video.net/art_view24133.html

發表於 2008-9-29 10:41:13 | 顯示全部樓層
補充一下

1.MPEG-4:是一套用於音頻、視頻信息的壓縮編碼標準
http://zh.wikipedia.org/w/index.php?title=MPEG-4&variant=zh-tw

2. ISO 國際標準化組織(英文:International Organization for Standardization,簡稱ISO)
http://www.iso.org/iso/home.htm
http://zh.wikipedia.org/w/index.php?title=ISO&variant=zh-tw

3.DCT:離散餘弦變換(DCT for Discrete Cosine Transform)是與傅利葉變換相關的一種變換,它類似於離散傅利葉變換(DFT for Discrete Fourier Transform),但是只使用實數。
http://zh.wikipedia.org/w/index.php?title=DCT&variant=zh-tw

第四段有個錯字
壓縮技術與MPEG-4
原文
為了更好地理解類和等級,先瞭解MPEG-4的簡單類(Simple profile)和核心類(Core file)。簡單類採用矩形I幀和P幀,具有基於運動補償離散余弦變換(DCT)基本功能的編碼處理。

原文
離散弦變換(DCT)
改正
離散弦變換(DCT)


4.FPGA:FPGA的原文是 Field Programmable Gate Array 元件可程式邏輯閘陣列, 是一個含有可編輯元件的半導體設備,是一個可供使用者程式化的邏輯閘元件。
http://zh.wikipedia.org/w/index.php?title=FPGA&variant=zh-tw

5.MOPS(百萬操作每秒)參數,本術語通常與數量單位關連在一起,例如每秒千指令(kIPS)或每秒百萬指令(MIPS)等。
http://zh.wikipedia.org/w/index.php?title=MIPS_(%E8%AE%A1%E7%AE%97%E6%9C%BA)&variant=zh-tw

6.DSP:數位訊號處理器(digital signal processor, 簡寫 DSP)是一種專用於(通常為即時的)數位訊號處理的微處理器。
http://zh.wikipedia.org/w/index.php?title=DSP&variant=zh-tw


7.ASIC:ASIC是一種訂製量產型晶片
http://zh.wikipedia.org/w/index. ... 6ASIC&variant=zh-tw

8.SRAM:靜態隨機存取記憶體 (Static Random Access Memory, SRAM) 是半導體記憶體的一種, 屬隨機存取記憶體 (RAM) 一類。
http://zh.wikipedia.org/w/index.php?title=SRAM&variant=zh-tw

小弟懂得不多,請各位大大補充,請各位大大不要加分,謝謝~

[ 本帖最後由 altera 於 2008-9-29 12:01 編輯 ]
回覆 支持 反對

使用道具 舉報


發表於 2008-9-29 11:01:25 | 顯示全部樓層
原帖由 altera 於 2008-9-29 10:41 發表
補充一下
原文
離散弦變換(DCT)
改正
離散弦變換(DCT)


應該是因為這篇是由簡體轉繁體所造成的 .
回覆 支持 反對

使用道具 舉報


發表於 2008-10-2 13:46:09 | 顯示全部樓層
來補充一些我瞭解的部份,看站長能不能幫我加加分,因為我的權限實在太低了。

1. 一般來說MPEG4 應該很少用simple profile了,像Divx或是Xvid都是用Advanced simple profile,也就是有B frame,因為若不用B frame的話,一般壓縮率是不會太高的。&

2. MPEG4最早初期是為了low bit rate的應用,所以bit stream的bit rate都比較低,但後來的bit stream bit rate卻越來越高。

3. Advanced simple profile比較大的improve是用了Qpel (quarter pixel motion compensation)及GMC (global motion compensation),這可以增加壓縮率。

4. 通常像Divx或是Xvid指的是MPEG4 part2

5. AAC是最近越來越常用的格式,它就是MPEG4 part3

6. 而H.264其實就是MPEG4 part 10,它就不是用DCT了,它是用integer transform,而且entropy coding也有了CABAC,這是很大的不同。

7. 其實用FPGA或是general processor都越來越難去解這些格式,目前還是都要做ASIC來解這些格式才是正解,現在很多高清機都是這樣子的做法。&

若有謬誤請指正,感謝!

[ 本帖最後由 keynes59 於 2008-10-2 13:48 編輯 ]
回覆 支持 反對

使用道具 舉報


發表於 2008-10-2 15:40:44 | 顯示全部樓層
MPEG-2 的 Part 7 就已經有定義 AAC 了 .

一般接觸到業界在作解碼器的(SW or HW) ,
大多是直接講 :
支援 13818  哪一個 Part , 或是
支援 14496  哪一個 Part ...


ISO/IEC 13818 --> MPEG-2
ISO/IEC 14496 --> MPEG-4
回覆 支持 反對

使用道具 舉報


發表於 2008-11-4 22:34:06 | 顯示全部樓層
呵呵,谢谢分享
回覆 支持 反對

使用道具 舉報


發表於 2008-11-5 10:26:29 | 顯示全部樓層
謝謝, 受教了. 最近剛入門 AVC/H.264, 來此學點東東
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回文 登入 | 註冊

本版積分規則

熱門推薦

HemmaBio器評ISP Elite 和 PA 8 :「一旦你聽過這聲音,就無法回頭」
HemmaBio器評ISP Elite 和
HemmaBio器評ISP Elite 和 PA 8 :「一旦你聽過這聲音,就無法回
Yamaha rx-v663為什麼每次啟動都有這個螢幕? 請益各位前輩們。 謝謝。
Yamaha rx-v663為什麼每次
一次家中的小朋友不知道碰到什麼..... 導致之後每次開機擴大機的
風暴StormAudio 家庭劇院巡禮 : 來自新加坡頂層公寓的聲音饗宴
風暴StormAudio 家庭劇院
風暴StormAudio 家庭劇院巡禮 : 來自新加坡頂層公寓的聲音饗宴
何止錦上添花!?Zidoo Neo Alpha的最佳Wingman - HD Fury Vrroom V3
何止錦上添花!?Zidoo Ne
何止錦上添花!?Zidoo Neo Alpha的最佳Wingman - HD Fury 8K VR
風暴StormAudio/Goldmund家庭劇院巡禮 "KazCorporation:為音樂愛好者實現家庭劇院夢想"
風暴StormAudio/Goldmund
風暴StormAudio/Goldmund家庭劇院巡禮"KazCorporation:為音樂愛

聯絡我們| 問題反映| 小黑屋| 手機版| Archiver|  本網站特別聘請 蔡家豪律師 為本站法律顧問

快速回覆 返回頂部 返回列表