目錄
XviD簡介
XviD的重要性
文件擴展名
XviD文件的大小
XviD影視資源
XviD技術的誕生歷程
XviD版本的歷史
豐富多彩的技術特性
展開
編輯本段
XviD簡介
XviD是目前世界上最常用的視頻編碼解碼器(codec),而且是第壹個真正開放源代碼的,通過GPL協 議發布。在很多次的codec比較中,XviD的表現令人驚奇的好,總體來說是目前最優秀、最全能的codec之壹。
編輯本段
XviD的重要性
近五年來,XviD壹直是世界上最流行的視頻編碼器。估計在BT(BitTorrent)和eMule上至少90%的電影、電視劇是用XviD壓制的。但是在中國的情況有些特殊,因為中國的影視發布者喜歡用RMVB格式。
編輯本段
文件擴展名
XviD的文件擴展名可以是AVI、MKV、MP4等。需要說明的是,僅從擴展名並不能看出這個視頻的編碼格式。比如說壹部電影是.avi格式,但是實際上的視頻編碼格式可以是DV Code,也可以是XviD或者其他的;音頻編碼格式可以是PCM、AC3或者MP3。
MP4和MKV格式比AVI更先進,支持更多的功能,比如字幕。AVI視頻的字幕需要另外的SRT文件。目前國外絕大多數的影視資源都是AVI格式。
編輯本段
XviD文件的大小
網上的視頻資源大都采用固定碼率(CBR),所以文件大小很穩定,並不會因為資源發布者的不同而改變。
1. 壹集43分鐘的劇集,文件大小為350MB左右。按照每季22集計算,壹季美劇需要7.5 GB的硬盤空間。
2. 壹集22分鐘的劇集,文件大小為175MB左右。
3. 電影文件的大小由電影的長度決定。
編輯本段
XviD影視資源
國外電視劇制作組發布的歐美電視劇,其文件名的具體含義
劇名.S季數E集數.集名(有的沒有標).信號采集源.音頻編碼(默認的MP3可以不標).視頻編碼-制作組
例如:
Prison.Break.S02E01.Manhunt.HR.HDTV.AC3.5.1.XviD-DiMENSION
劇名 - Prison Break
S季數 - S02
E集數 - E01
集名 - Manhunt
信號采集源 - HDTV
音頻編碼 - AC3.5.1
視頻編碼 - XviD
制作組 - DiMENSION
編輯本段
XviD技術的誕生歷程
在1998年以前,PC 上唯壹能用的 MPEG-4 編碼器是由微軟所開發的,包括 MS MPEG4 V1、MS MPEG4 V2、MS MPEG4 V3 的系列編碼核心。其中前面兩種都可以用來制作 AVI 文件,至今都作為 Windows 的默認組件。不過 V1 和 V2 的編碼質量都還不太好,直到 MS MPEG4 V3 開始,畫面質量有了顯著的進步。不過微軟卻決定將這個 MS MPEG4 V3 的視頻編碼核心封閉在 Windows Media 流媒體技術——也就是我們熟知的 ASF 格式之中,不再能用於 AVI 格式。ASF 格式當然有壹些好處,但是過於封閉甚至不能被編輯,惹惱了天不怕地不怕的電影駭客。很快便有小組修改了微軟的 MS MPEG4 V3,解除了不能用於 AVI 格式的限制,並開放了其中壹些壓縮參數,由此,也就誕生了我們今天所熟悉的 MPEG4 編碼器 DivX;-)3.11。
DivX廣泛流行,成為 DVDRip 的標準,問題是,它的基礎技術是非法盜用微軟的,只能在地下裏流傳卻上不了臺面,無法進行更廣泛的產品化,更無法生產硬件播放機。在這種情況下,壹些精通視頻編碼的工程師 (包括原 DivX 3.11 的開發者) 成立了壹家名為 DivX Networks Inc. 的公司,簡稱 DXN。DXN 發起壹個開放原始碼項目 Project Mayo,目標是開發壹套全新的、開放原始碼的 MPEG4 編碼軟件。特別是完全符合 ISO MPEG4 標準的 Open DivX CODEC 吸引了許多軟件高手參與,並很快開發出Open DivX 編碼器和譯碼器原型,之後又開發出更高性能的編碼器 Encore 2 等等。這壹時期,主要編碼工作是 DXN 的人在做,而許多技術難關的解決得力於來自開放源代碼社會的幫助。
就在壹切都看]起來進展順利的時候,好戲上演了。Project Mayo 當然是開放源代碼,但不是依據 GPL (通用公***許可證,壹種開放源代碼項目中常用的保障自由使用和自由修改軟件權利的協議)而是LGPL協議(LGPL協議:次級GPL(Lesser GPL),與GPL壹樣,是壹種公***許可證。與GPL的最大不同是它允許私有。)。DXN 在設計授權協議時留了壹手,2001 年 7 月,就在 Encore 2 基本成型,差不多可以產品化的時候,DXN 另搞了壹個 DIVX 網站,封閉了原始代碼,發布了他們自己的 DivX 4。DivX 4 的基礎就是 Open DivX中的 Encore 2,但利用了 DivX 的牌號,出乎意料的擺了所有人預料。由於DXN 不再參與,Project Mayo 陷於停頓,Encore 2 的原始代碼也被 DXN 從服務器上撤下。經過激烈的爭論,DXN 當然承認 Encore 2 在法律上是開放的,但仍然拒絕把它放回服務器。開源社區就這樣被狠狠地涮了壹回。
Open DivX 尚不能實際使用,而 DivX 4 (以及後續的收費版本DivX 5) 等成了私有財產,許多人為打破微軟壟斷而無償付出的智能和勞動僅僅是幫助了 DXN 公司發財。這種結果當然是不能被接受的,因此,整個 0dayz 組織永遠的拒絕了 DXN 公司的 DivX4/5,而原 Open DivX 開發組中的幸存者,逐漸重新聚攏開發力量,在最後壹個 Open DivX 版本的基礎上,發展出了 XviD。
劫後余生的 XviD 到現在又度過了近 1 年時間,它繼承並發展了 Open DivX Encore 2,性能得到極大提高,被認為目前世界上速度最快的 MPEG4 CODEC。XviD重寫了所有代碼,並吸取前車之鑒依照 GPL 發布 (註意不再是 LGPL,所以誰要是想用它做成產品而不開放源代碼是非法的)。不過,因為 MPEG4 還存在專利權的問題,所以 XviD 只能仿照 LAME 的做法,僅僅作為對如何實現 ISO MPEG-4 標準的壹種研究交流,網站上只提供原始碼,如果要使用就要自己編譯原始碼或者到第三方網站下載編譯好的可運行版本。
想當初Gaj 之流的幾個家夥搞 Open DivX 的時候,壹開始是很像壹個像模像樣的開放原始碼項目,很多人都被吸引過去壹起開發,測試。直到後來,那幾個家夥壹夜之間露出騙子的本來面目了,把 Open DivX 的成果壹股腦帶走,變成了封閉源代碼的 DivX4,而後進壹步變成現在的收費的 DivX 5 了。本來很好的 Open DivX 被逼流產,不過也就促成了今天 XviD 的誕生、發展和壯大。現在的 XviD 更可以說超越了 DivX 5,以更好的質量,更強的功能挑戰著新壹代的 MPEG4 應用戰場。
編輯本段
XviD版本的歷史
1.0 2002年2月17日 第壹版 ,首次發布
1.0 2002年2月28日 大量的修正和更準確地解釋
1.1 2002年3月2日 分析澄清了很多概念
1.2 2002年3月4日 加入量化矩陣(quantization matrix),移去量(removed quant). 柔和(smoothing) 技術
1.3 2002年3月8日 關於 Nic's XviD Directshow Filter 的詳釋
1.3+ 2002年7月23日 按照Nic's XVID Codec校正補充部分內容
編輯本段
豐富多彩的技術特性
DivX 跟 XviD 采用不定時設立關鍵畫面來改善原先固定時間關鍵畫面所造成的動態畫面畫質不佳的情形,而 2 PASS 的壓縮模式使畫質更加滑順,基本上兩種編碼的效果差別不大,不過就同畫質的文件大小來說 XviD 更省容量,壹部1.5小時的電影,DivX 編碼的大多為兩片 CD,而 XviD 編碼的大多僅需壹片 CD 容量即可!
DivX 的版本從 2,3,4 壹直跳到 5,本來是非盈利提供網友使用,後來自 DivX 後開始當成商業軟件,其中有壹部份就離開再行開發出非盈利的譯碼程序,那就是XViD。(大概這也就是為何要把 DivX 倒過來寫的原因!)
不僅 XviD 的出線本身就是開放源代碼社會中典型的壹部教科書,它在技術上的各種新特性也都是貨真價實、童叟無欺的。對於壹個第二代的 MPEG4 視頻編碼核心來說,XviD 的各種算法設計都有代表性的先進意義。
多種編碼模式
除了最原始單重估定碼流壓縮 (1-pass CBR) 之外,XviD 提供了包括 : 單重質量模式動態碼流壓縮、單重量化 (Quantization) 模式動態碼流壓縮、和包括外部控制和內部控制的兩種雙重 (2-pass) 動態碼流壓縮模式。XviD 顯然是目前 PC 上的MPEG4 編碼核心中,可選模式最多的視頻編碼。
其中特別是雙重 (2-pass) 動態碼流壓縮模式,通過檢測畫面運動幅度以最優化的方式曲線分配畫面量化幅度,使充滿活性元素的視頻影片可以在占用空間和畫面質量之間獲得最佳的平衡。而單重量化Quantization) 模式動態碼流壓縮,可以高速地壹次性生成可控畫面細節的動態碼流視頻檔案,在較少的壓縮時間代價之下,可以獲得較穩定的畫面細節質量,這都是單純的 DivX 3.11 所不具有的優秀功能。
量化 方式和範圍控制
量化 (Quantization),簡單的說就是在編碼時通過對時間或空間上相鄰的畫面單元進行同化、模糊細節的程度,是對畫面質量最基本的控制因素。XviD 不僅提供了標準的 MPEG 量化方式,還特地提供了更適合低碼流壓縮的 .h263 量化方式。並且XviD 還可以在雙重 (2-pass) 運算時,根據對畫面信息的綜合分析,動態的決定某段場景的畫面量化方式,真可以說是為網絡媒體檔案傳播中,空間與畫質的平衡而考慮,設計貼心得到家了。
除了量化方式選擇,XviD 還提供了強大的對壓縮過程中的量化幅度的範圍控制。用戶可以選定壓縮時允許使用的量化幅度範圍。例如設定壹個量化的上限,就可以避免可能出線的畫質大幅下降的情況。
運動偵測和曲線平衡
對畫面逐幀進行運動偵測,以及對全片段的運動偵測結果進行分析後,重新以曲線平衡分配每壹幀的量化幅度,以做到 : 需要高碼流的運動畫面可以分配更多空間、更高的碼流、更低的量化幅度來保持畫面的細節; 而對於不包含太多運動信息的靜態畫面,則消減分配預算。這種把好鋼用在刀刃上的做法,是 XviD 做為第二代MPEG4 編碼的核心內容。
XviD提供了多極運動偵測精度,包括半像素插值 (half pixel interpolation) 的技術以 16x16 像素的微區塊為單元標示上運動向量; 以及 4 分運動向量 (inter4v motion vectors) 的方式,以 8x8 的像素區塊為單元更細致的紀錄運動向量以供二重分析。
動態關鍵幀距
動態關鍵幀距是另壹個 XviD 所具有的,在空間和畫面之間獲得最大平衡的技術。我們知道在視頻壓縮中不是每壹幀都記錄著全部的畫面信息,事實上只有關鍵幀記錄著完整的畫面信息,而後續的 P 幀 (P-Frame) 僅僅是紀錄下與之前壹幀的差值。如果關鍵幀之間的畫面變化很大,則會浪費寶貴的空間在 P-Frame 上; 而加入把變化很大的那壹幀記錄在關鍵幀裏,那麽由於後續的幀不再有更大的變化,就可以節省P 幀所需的空間。因此,根據畫面鏡頭切換和運動幅度來變換關鍵幀的位置,對於視頻壓縮下的畫面質量提高,就有著事半功倍的效果。
心理視覺亮度修正
除了基本的 MPEG4 編碼外,XviD 還提供了不少附加功能。其中典型的就是心理視覺亮度修正。這個功能可能通過去除肉眼不能分辨的亮度信號和亮度差異,來提高壓縮效率。遺憾的盡管這個設計非常的有創意,但是目前的實際應用中卻會導致肉眼可見的畫面質量下降,還期待在日後的版本中可以有所改進。
演職員表選項
另外壹個貼心的設計是電影專用的"演職員表選項"。這個功能可以在用戶指定的某些不必要保留細節的段落處 (例如電影的演職員表),設定下極低的碼流。甚至壓縮到正片碼流的10%以下,可以節省不少空間,設計的也非常的貼心。
外部自定義控制
除了 XivD 自己的內部曲線分配控制方式外,XviD 也提供了外部的開放接口。允許使用者略過 XviD 本身的編碼分析核心,利用第三方提供的外部分析工具,例如Gordian Knot,生成的分配好的控制檔案,再交還 XviD 做最終的二重運算壓縮。這種方式擴展了 XviD 的可用性和用戶控制程度,因為像 Gordian Knot 這種軟件甚至可以做到由用戶控制每壹幀的量化幅度和碼流分配額度,可以為高級應用提供更多的可能性。
運動向量加速編碼
XviD 還有專為提高編碼效率而開發的設計,就是紀錄下畫面的運動向量信息至壹個 Log 檔案中。再在二重運算壓縮時通過直接讀取該檔案中的信息,節省下對運動向量信息的重復運算,大幅提高編碼速度。
畫面優化譯碼
不僅在編碼上 XivD 擁有強大的功能,在譯碼時的畫面優化方面,XviD 也有很多新的建樹。例如 "Horizontal deblock (Y)" 可以柔化水平方向的亮度馬賽克; "Horizontal deblock (C)" 可以柔化水平相的色度馬賽克; "Deringing(Y)" 可以柔化環狀亮度色斑; "Deinging (C)" 可以柔化環狀色度色斑; "mosquito" 可以減少畫面中的蚊狀噪斑。並且,這些 XviD 的畫面優化手段都是可選的,因此只要關閉幾個不是那麽必要的選項,就可以在低配置的PC機上播放。
正在開發的 B 影格
另壹個 XviD 中引人註目的技術發展,就是 B 影格。我們知道 I 影格就是關鍵影格,P 影格在關鍵影格之間,只儲存與之前壹幅已解壓畫面的差值。B 影格與 P 影格的原理壹樣,但除了三者之前解壓了的畫面外,亦會參考後面壹影格中的畫面信息。因此 B 影格解壓出來的畫面比P影格就要來的好。
之前的 MPEG4 編碼核心都僅僅使用了 I 影格和 P 影格存儲畫面。如果能在此基礎上使用 B 影格技術,自然可以在畫質和壓縮比上更上壹層樓。目前 XviD 已經為開發人員提供了測試性質 B 影格體驗版的 XviD 編碼核心,相信不久的將來,XviD 就可以把 MPEG4 編碼的優勢發揮到極致,成為網上視頻記錄格式的盟主。
關於DivX起源的小知識
這種名為DivX 的技術,由壹個27歲的法籍影音發燒友羅達(Rota)及電腦黑客基爾(Gej)創造出來得。
原來DivX所采的技術並非這兩位仁兄發明的,他們只不過是個盜版天才。隨著Windows的大行其道,微軟開發了MPEG-4技術,能夠將視頻影像文件容量壓縮到很小。羅達與基爾將程式重寫壹遍,但將其改名為DivX,且放在網上隨意任人下載。
微軟聲稱將對所有推動DivX發展的人、企業作出追究。可是羅達正全面申請將他們的DivX合法化。由於DivX雖然是從Windows的發明出來的,但卻沒有用過任何微軟的技術。而且,他更與美國壹些技術人士及財經人員開會,和組新公司 ProjectMayo全力推廣DivX。
其實,DivX是視頻DVD的另壹種保存方式,要靠DeCSS程序(註)才能做到。因為DVD本身有防復制的標記,讓DVD不能隨便復制到電腦裏,但DeCSS能將它解碼,令其可以復制,壓縮成DivX電影。針對這壹做法,各大電影商立即采取行動,防止DeCSS外流及散播,但為時已晚,DeCSS在Yahoo!、Google上都能找到。
編輯本段
如何播放XviD視頻
對於大多數用戶來說,只要安裝暴風影音或者K-Lite Codec Pack就可以順利地播放XviD視頻了。其實這些播放軟件大都是用ffdshow來解碼的,所以在播放視頻的時候,Windows任務欄會出現ffdshow的圖標。