一、MPEG-4簡介
IPAV數字會議信息管理中心使用的是MPEG-4編碼格式,MPEG-4目前的主流是MPEG-4校驗模型、OpenDivX、XviD幾種:
MPEG-4 校驗模型 在MPEG-4制定的同時,有兩個組織負責為MPEG-4制作校驗模型,分別是美國的Microsoft和歐洲的MoMuSys小組。所謂校驗模型就是要實現MPEG-4所有的功能和內容(當時只涉及系統、視頻、音頻三個部分),但是無需為實用考慮,也就是說不需要做算法的優化。
然而,對本設計來講,固然使用校驗模型的優勢在于它算法的完備性,但是,由于它要實現的功能太過復雜,因此在我們資源有限的嵌入式系統上是無法達到實時處理的。盡管MPEG-4編解碼算法的優化是當前MPEG-4研究的熱點之一,而這其中的很多工作都是基于MPEG-4校驗模型來完成的,并且這些工作對于MPEG-4的應用來說都是必不可少的,但是,對于日常工作所要完成的目標來說,卻是不現實的。
OpenDivX DivX最初是從對微軟的MS MPEG-4V3編碼核心破解而來的,也就是人們熟悉的DivX 3.11。之后DivXNetworks Inc.公司成立,發起一個開放源碼項目ProjectMayo,開發出OpenDivX 編碼器和解碼器原型,然后又開發出更高性能的編碼器Encore 2。但是后來由于商業利益的原因,OpenDivX 結束了源代碼的開放,Encore 2是OpenDivX的最后的版本。
軟件開發人員對源碼開放的DivX版本做了程序上的修改,使得其在arm-linux-gcc上編譯通過。移植結果是:對CIF格式下MPEG-4標準測試序列能達到10秒編一幀,效率很差。
XviD XviD是OpenDivX的延續,它是目前基于整幀編碼(出于應用的考慮,XviD和DivX一樣,都沒有實現去MPEG-4所有的功能和內容,這點和校驗模型不同)的MPEG-4編碼器中表現非常出眾的一個。和DivX相比,它有以下幾個特點:
1、多種編碼模式:除了最原始單重固定碼流壓縮(1-pass CBR)之外,XviD提供了包括:單重質量模式動態碼流壓縮、單重量化模式動態碼流壓縮、和包括外部控制和內部控制的兩種雙重(2-pass)動態碼流壓縮模式。由此,XviD是目前MPEG-4編碼內核中可選模式最多的。其中特別是雙重動態碼流壓縮模式,通過檢測畫面運動幅度,以最優化的方式曲線分配畫面量化幅度,使充滿活性元素的視頻圖象可以在占用空間和畫面質量之間獲得最佳的平衡。而單重量化模式動態碼流壓縮,可以高速地一次性生成可控畫面細節的動態碼流視頻文件,在較少的壓縮時間代價之下,可以獲得較穩定的畫面細節質量。
2、量化方式選擇和范圍控制:XviD不僅提供了標準的MPEG量化方式,還特地提供了更適合低碼流壓縮的H.263量化方式。并且XviD還可以在雙重運算(2-pass)時,根據對畫面信息的綜合分析,動態的決定某段場景的畫面量化方式,有利于網絡媒體文件傳播中,空間與畫質的平衡。運動偵測和曲線平衡分配:XviD可以對畫面逐幀進行運動偵測,以及對全片段的運動偵測結果進行分析后,重新以曲線平衡分配每一幀的量化幅度。這樣,需要高碼流的運動畫面可以分配更多空間、更高的碼流、更低的量化幅度來保持畫面的細節;而對于不包含太多運動信息的靜態畫面,則消減分配預算。
3、動態關鍵幀距:這是另一個XviD所具有的,在空間和畫面之間獲得最大平衡的技術。我們知道在視頻壓縮中不是每一幀都記錄著全部的畫面信息,事實上只有關鍵幀記錄著完整的畫面信息,而后續的P 幀(P-Frame)僅僅是紀錄下與之前一幀的差值。如果關鍵幀之間的畫面變化很大,則會浪費寶貴的空間在P-Frame上;而加入把變化很大的那一幀記錄在關鍵幀里,那么由于后續的幀不再有更大的變化,就可以節省P幀所需的空間。因此,根據畫面鏡頭切換和運動幅度來變換關鍵幀的位置,有利于畫面質量的提高。
[Page]