| “高清”,就是高清晰度,是相對于“標清”(即標準清晰度)而言的,主要是指高清晰度的視頻媒體,高清技術(shù)的發(fā)展,越來(lái)越多的人接觸到高清,現在網(wǎng)絡(luò )上是鋪天蓋地的高清視頻資源,高清電視、高清電影、高清 MTV 等等。
一、常見(jiàn)的高清視頻的編碼及封裝格式 對于高清視頻來(lái)說(shuō),主流的編碼技術(shù)目前主要有 MPEG-2、DivX、XVID、H264/AVC、VC-1、RMVB 和 WMV-HD 等等。其中,H264/AVC、VC-1、MPEG-2 是藍光(Blu-ray Disc)所選擇的編碼格式,也是目前最流行的高清視頻編碼格式。另外就是高清視頻的封裝格式,封裝格式和編碼格式是互相區別的,許多人會(huì )把它們混淆。
1、H264/X264/AVC 編碼格式 絕大多數視聽(tīng)玩家對于 H264 編碼都不會(huì )感到陌生,H264 編碼的身世顯赫,是 ITU-T(國際電信聯(lián)盟視頻編碼專(zhuān)家組)與 ISO/IEC(國際標準化組織動(dòng)態(tài)圖像專(zhuān)家組)合作組成的 JVT(聯(lián)合視頻組)推動(dòng)的新一代數字視頻編碼標準,也稱(chēng)為 MPEG-4/AVC 編碼。H264 編碼依托雄厚的背景,在技術(shù)上獨樹(shù)一幟,大幅領(lǐng)先于其它編碼算法。 X264 編碼,是 H264 編碼的一個(gè)開(kāi)源分支,它符合 H264 標準,其功能在于編碼,而不作為解碼器使用,X264 編碼最大的特點(diǎn)在于注重實(shí)用,它在不明顯降低編碼性能的前提下,努力降低編碼的計算復雜度,X264 對于 H264 編碼中的一些復雜編碼特性做了折衷處理,其壓縮視頻體積小于 XVID(MPEG-4)編碼視頻,以小體積、高畫(huà)質(zhì)的特點(diǎn)得到了廣泛認可。 2、MPEG-2 編碼格式 MPEG-2 編碼標準是由 MPEG(Moving Picture Experts Group)工作組發(fā)布的視頻與音頻壓縮國際標準。MPEG-2 編碼于 1994 年發(fā)布,常用于廣播信號(衛星電視、有線(xiàn)電視)的視頻和音頻編碼,經(jīng)過(guò)后期不斷修改,不僅成為 DVD 的核心技術(shù),還應用于 HDTV 高清電視傳輸。 3、VC-1 編碼格式 WMV(Windows Media Video)作為經(jīng)久不衰的一種視頻編碼,一直在不斷改進(jìn),2003 年,微軟基于 WMV 第九版(WMV9)編碼技術(shù),正式提出了 VC-1 編碼標準,并于 2006 年正式成為國際標準。VC-1 編碼作為較晚推出的高清編碼算法,自然吸收了 MPEG-2 與 H264 編碼的優(yōu)點(diǎn),其壓縮比介于 MPEG2 和 H264 之間,編解碼復雜性?xún)H有 H264 的一半,即壓縮時(shí)間更短、解碼計算更小,在微軟的大力推動(dòng)下,VC-1 編碼已經(jīng)得到了 BD 藍光光盤(pán)、電影及電視學(xué)會(huì )(SMPTE)的支持。
近幾年來(lái),為了更好的推廣 WMV9/VC-1 編碼標準,微軟不遺余力的建立了 WMV-HD 高清資源站點(diǎn),大量發(fā)布采用 VC-1 編碼壓制的 720P、1080P 宣傳片及演示片(WMV-HD 視頻格式) ,試圖營(yíng)造聲勢,吸引用戶(hù)關(guān)注。不過(guò),中庸的技術(shù)(與 H264 相比無(wú)明顯編碼優(yōu)勢)、封閉的平臺(限于 Windows 系統)、后發(fā)的劣勢(2006 年通過(guò)成為國際標準)仍然給微軟 VC-1 編碼的應用前景帶來(lái)了較大的不確定性。 4、高清視頻的封裝格式 封裝格式其實(shí)是一個(gè)“容器”,它不同于編碼格式,封裝就相當于捆綁打包,將已經(jīng)編碼好的視頻文件和音軌文件打包在一起,并按照一定規則建立排序和索引,便于播放器或播放軟件來(lái)索引播放。常見(jiàn)的封裝格式有 MKV、AVI、MOV、TS、PS 等等,高清媒體文件的后綴名(擴展文件名)一般都是媒體的封裝格式。
?。?)MOV 格式:MOV 多見(jiàn)于 Apple QuickTime 網(wǎng)站上的電影預告片。MOV 類(lèi)似于 RMVB,過(guò)于封閉自守,民間制作組沒(méi)有人會(huì )用這個(gè)不方便的形式。 二、高清視頻的播放組件及調用流程 視頻文件的解碼過(guò)程如下依次需要用到的組件有“分離器”、“解碼器”、“渲染器”,它們統稱(chēng)為“濾鏡”。 1、分離器(Splitter) 要正確地播放多媒體文件(不管是否高清媒體文件),播放器首先要正確地調用分離器,把視頻流和(或)音頻流正確地分離出來(lái),然后交給解碼器進(jìn)行解碼,這就是分離器的使命。上文中說(shuō)到有不少的封裝格式,每一種封裝格式都必須有相對應一種分離器,才能正確的把視頻和音頻分離出來(lái)以供解碼器解碼。 常用的分離器有:Gabest MPEG Splitter(Media Player Classic 作者編寫(xiě)的分離器)、KMP Splitter(KMPlayer 原配的分離器)、Haili Media Splitter 等等,這三種分離器能夠支持較多的封裝格式,其它的分離器還有 Moonlight-Elecard MPEG2 Demultiplexer(月光分離器)、 nVIDIA Transport Demux(nVIDIA 公司的分離器,配合 PureVideo 使用)、CyberLink Demux(PowerDVD 軟件中的分離器)等等。 2、解碼器(Decoder) 解碼器在整個(gè)視頻的播放中占據了最主要的位置,它的作用是對由分離器分離出來(lái)的音頻流和視頻流分別進(jìn)行解碼。解碼器又分為視頻解碼器和音頻解碼器。
常見(jiàn)的視頻解碼器有: 常見(jiàn)的音頻解碼器有: 3、渲染器(Renderer) 渲染器與解碼器一樣,分為視頻渲染器和音頻渲染器,解碼后的視頻數據經(jīng)過(guò)視頻渲染器的渲染后呈現到顯示設備上,解碼后的音頻經(jīng)過(guò)音頻渲染器的渲染后從聲卡輸出。渲染在視頻播放的過(guò)程中是很重要的,因為它會(huì )影響到視頻最終的效果,不同的渲染器有不同的技術(shù)特性,對電腦的配置(主要是 CPU 和顯卡)的要求也不一樣。 視頻渲染器主要有以下幾種: 三、硬件解碼加速 DXVA 接口規范和確解碼級別、新興的 CUDA 和 Stream 技術(shù) DXVA 的全稱(chēng)是 DirectX Video Acceleration,中文意思是 DirectX 視頻加速。DXVA 不僅包括了視頻數據的解碼運算,還有各種后期處理運算,比如圖像縮放、色彩空間轉換、反交錯等等。DXVA 其實(shí)就是大家常說(shuō)的“硬解”。顯卡是否支持 DXVA,是直接關(guān)系到在視頻播放的過(guò)程中 CPU 資源的利用率。 1、DXVA 接口規范的版本 DXVA 接口規范目前有兩個(gè)版本,分別是 DXVA 1.0 和 DXVA 2.0。DXVA 1.0 的規范里最早定義了 MPEG-2 和 WMV 的硬件解碼加速能力,而 DXVA 2.0 比 1.0 版本增加了對 H264、VC-1 硬件解碼加速能力的定義。也就是說(shuō),要“硬解”MPEG-2 的視頻,只需要顯卡能夠支持 DXVA 1.0 標準就可以了,而要“硬解”H264/AVC 的視頻,就要求顯卡支持 DXVA 2.0 的標準。 2、DXVA 硬件解碼加速能力的級別 視頻硬件解碼的加速能力的級別基本上分為三個(gè),從高到底分別為:VLD(Variable Length Decoding / 變字長(cháng)解碼)、IDCT(Inverse Discrete Cosine Transform / 逆離散余弦變換)、MoComp(Motion Compensatiom / 運動(dòng)補嘗)。VLD 加速用于處理視頻比特流(BitStream),IDCT 用于處理幀內壓縮(Intraframe compression),MC 用于處理幀間壓縮(Interframe Compression)。顯卡能夠支持越高級的加速能力,就能更大幅度地減輕對 CPU 資源的占用。
如何才能快速地知道自己顯卡是否支持 DXVA?利用一個(gè)叫做 DXVA Checker 的軟件,目前最新的版本是 2.2.0.1。DXVA Checker 在 Windows XP 系統下運行時(shí)需要一個(gè) dxva2.dll 文件,如果沒(méi)有它,那么將無(wú)法正確探測出顯卡對 DXVA 的支持情況。如果實(shí)在找不到這個(gè)文件,可以下載安裝微軟的 .NET Framework 3.0 或者 .NET Framework 3.5。運行 DXVA Checker 后,它便在 Decoder Device 標簽頁(yè)列出了顯示設備對 DXVA 的支持情況。
在上圖中,可以看到用于上網(wǎng)本 Atom 平臺的 Intel Graphics Media Accelerator 500(GMA500)對 DXVA 的支持情況。圖上 DXVA1/DXVA2 是指支持的 DXVA 版本,“NV12”是指視頻輸出的色系(其它的顏色系還有 YUV12、YUY 等等,沒(méi)有太大的意義),后面是能夠支持的分辨率。須要注意的是,對 WMV9 的支持當中,有一個(gè)級別是“PostProc(Post Processing)”,中文意思是“顯示后處理”,它是最低級的 DXVA。還有一個(gè)稱(chēng)為“FGT(Film Grain Technology)”的技術(shù),即所謂膠片感,目的是在不犧牲壓縮能力的同時(shí)保持視頻源特有的顆粒信息。
關(guān)于 Intel Graphics Media Acceralator 500: 4、nVIDIA CUDA 技術(shù)和 AMD(ATI)Stream 技術(shù)
(1)nVIDIA CUDA:CUDA 的全稱(chēng)是 Compute Unified Device Architecture(統一計算設備架構),它是 nVIDIA 近年來(lái)力推的一項技術(shù)。隨著(zhù)顯卡的發(fā)展,GPU 越來(lái)越強大,而且 GPU 為顯示圖像做了優(yōu)化。在計算性能上已經(jīng)超越了通用的 CPU。如此強大的芯片如果只是作為顯卡就太浪費了,CUDA 正是可以讓顯卡可以用于圖像計算以外的技術(shù)。CUDA 技術(shù)最典型的應用這一就是進(jìn)行高清解碼。著(zhù)名的解碼器 CoreAVC,它并不支持 DXVA,在過(guò)去它完全利用 CPU 進(jìn)行解碼運算,不過(guò)在新版本的 CoreAVC 解碼器當中加入了對 CUDA 技術(shù)的支持,把解碼運算的任務(wù)轉移到 GPU 上來(lái),大大地減輕了 CPU 的負擔。 (2)AMD(ATI)Stream:雖然與 nVIDIA 的 CUDA 技術(shù)的實(shí)現方式不一樣,但是出發(fā)點(diǎn)和最終目的都是相同的,Stream 流技術(shù)就是利用 AMD GPU 多核在浮點(diǎn)運算性能上的優(yōu)勢進(jìn)行加速計算。在高清解碼的應用上,AMD Stream 比 nVIDIA CUDA 支持更多的功能:比如 MPEG-2 的轉碼、FullHD 1080p 的編碼輸出等,另外,AMD Stream 的軟件是免費的(CUDA 的軟件價(jià)格 30.00 美元)。 四、KMPlayer 播放高清視頻的硬解碼(DXVA)相關(guān)設置 1、關(guān)于 KMPlayer 和 PotPlayer
KMPlayer 簡(jiǎn)稱(chēng) KMP,早期名叫 WaSaVi 播放器。作者是韓國的姜龍喜。KMPlayer 是一套將網(wǎng)絡(luò )上所有能見(jiàn)得到的解碼器(Codec)全部收集于一身的影音播放軟件;此外,KMPlayer 還能夠播放 DVD 與 VCD,匯入多種格式的外掛字幕檔、使用普及率最高的 WinAMP 音效外掛與支援多種影片效果調整選項等。PotPlayer 是 KMPlayer 原作者姜龍喜進(jìn)行 Daun 公司后用 C++ 語(yǔ)言(KMPlayer 是用 Delphi 語(yǔ)言寫(xiě)的)重寫(xiě)的新一代作品,目前正在全力開(kāi)發(fā)中,功能尚不及 KMPlayer。 2、KMPlayer 的具體設置 雖然 KMPlayer 已經(jīng)集成了解碼器,但是它們是無(wú)法正常調用顯卡的 DXVA 加速的。而目前最好的 DXVA 解碼器是 Cyberlink 集成在 PowerDVD 中的解碼器。如果電腦里沒(méi)有安裝 PowerDVD ,那么就需要自己搜索下載它的單獨解碼器。(可以郵件向我索取。)需要用到的 PowerDVD 的解碼器主要有四個(gè):H264 解碼器 Cl264dec.ax、MPEG-2 解碼器 Clvsd.ax、VC-1 解碼器 Clvc1dec.ax、音頻解碼器 Claud.ax。 ?。?)在設置之前,最好將 KMPlayer 的設置恢復成初始的狀態(tài):按“F2”鍵打開(kāi) KMPlayer 的設置,點(diǎn)擊下方的“初始化所有設置”按鈕。對 KMPlayer 進(jìn)行設置的目的是屏蔽 KMPlayer 內部的解碼器,使 KMPlayer 可以調用外部的 PowerDVD 解碼器進(jìn)行視頻解碼。 ?。?)在 KMPlayer 的設置菜單里,依次找到“濾鏡控制”—“解碼器使用”—“內部視頻解碼器”,在右邊的“常規”選項卡里解除“H.263+”、“H.264”、“AVC1”、“VC-1”的勾選,如下圖所示:
?。?)然后再找到“濾鏡控制”—“解碼器使用”—“外部視頻解碼器”,點(diǎn)擊右側的“搜索外部解碼器”,彈出“外部解碼器/濾鏡管理”對話(huà)框,再點(diǎn)擊“添加外部解碼器”按鈕,依次添加上文所講的四個(gè) PowerDVD 解碼器。如下圖所示。
?。?)添加后雙擊解碼器彈出解碼器設置對話(huà)框,勾選“USE DXVA”或者“Use Hardware Acceralator”。
?。?)點(diǎn)擊確定后回到“外部視頻解碼器”設置窗口,“H.264 視頻”、“AVC1 視頻”、“VC-1 視頻”分別選擇剛才添加的 PowerDVD 解碼器。
解碼器的設置就到此結束了。此外,有幾要說(shuō)明的問(wèn)題。
五、幾段高清視頻的播放測試: 硬件系統:Acer Aspire One 751h:Intel Atom Z520(1.33G/512K/133MHz)、US15W、GMA 500(Driver 6.14.11.1018) 、1366×768(11.6") 測試片源:(點(diǎn)擊圖片可以放大看原分辨率圖片) ?。?)大塚愛(ài) ユメクイ:封裝格式 TS、視頻編碼 MPEG-2 、音頻編碼 LPCM、分辨率 1440×1080i ?。?)江若琳 你不在了:封裝格式 MP4、視頻編碼 AVC、音頻編碼 AAC、分辨率 1920×1080i ?。?)變形金剛 預告:封裝格式 MOV、視頻編碼 AVC、音頻編碼 AAC、分辨率 1920×1080p
?。?)阿凡達 預告:封裝格式 MOV、視頻編碼 AVC、音頻編碼 AAC、分辨率 1920×1080p、外掛字幕 SRT
根據播放器顯示的 OSD 信息,視頻輸出顯示是 DXVA,說(shuō)明已經(jīng)成功地開(kāi)啟了硬件加速解碼。 |
聯(lián)系客服