影音技術簡介

講到mac,一般人在提到蘋果電腦的時候,總是會聯想到影像及繪圖,這是因為apple一直以來就在平面及多媒體界做出相當的努力,而mac os x在影音多媒體方面也有相當豐富的程式庫供以運用,其中最主要的共有三大部分:quicktime、quartz以及opengl。這三大部分主宰了整個系統從平面到視訊影像到3D的運用,下面將一一對這些技術做出介紹:
QUICKTIME

quicktime本身是個多軌核心的檔案格式,每一單軌都可以併合各種不同的多媒體內容,從影像、音樂、到FLASH的互動性,近年來更增加了H.264壓縮,超高效率的 H.264 編解碼器可以緊密壓縮視訊 — 產生容量更小的檔案,但絲毫無損品質,這也使得QUICKTIME同時支援了3GP行動通訊格式、MPEG4、HD-DVD以及BLUERAY等下一代的影音規格,QUICKTIME本身也具有串流視訊的技術,可讓影像透過網路順利的撥放,也因為QUICKTIME本身支援著影像技術,讓MAC OS X或是APPLE所獨立開發的軟體中,運用的許多動畫方式的特效效果都可以順暢流利的表達出來。



QUARTZ


講到了QUARTZ,就要從POSTSCRIPT說起。postscript本來是ADOBE所開發的一個頁面描述語言,它的運作模式是以語言描述一個畫面上所有的點、座標、線、粗細、顏色、文字大小、形狀、 字型等等,而這些描述則必須要由可以解譯的程式或週邊設備來讀取, 才能組合出一幅完整的圖案。

早期APPLE在POSTSCRIPT運用於雷射印表機當中,和ADOBE有相當密切的合作。
會使用 Postscript 做為傳印圖檔的格式, 主要是在於其擁有相當好的移植性 ,除了能傳送到設備解譯,一般人要解讀也相當容易,並且其語法有相當高的彈性和延展性,使得可以輕易將圖案縮放 而不至於失真。

在QUARTZ當中,負責平面圖性繪製合成為畫面的部分稱做Quartz Compositor,它是以一個多層次的方式在運作,每個程式都獨立擁有自己的繪圖層,而目前一般的圖形介面大多都是將所有的程式去除掉重疊的部分成為一個單一的畫面顯現,所以quartz在畫面的處理上會顯得較為自然,不會因為突然的改變導致畫面重繪之前出現空缺。



在Stev Jobs離開APPLE之後的NEXT,因為無法向apple取得原先用來使用於將硬體影像描述至螢幕畫面的QUICKDRAW技術,所以積極地與ADOBE合作了將POSTSCRIPT使用於螢幕顯示的DISPLAY POSTSCRIPT,讓螢幕顯示與影像輸出至列印之後幾乎是所見即得,在NEXT併回到APPLE之後,也為了新的osx積極尋找新的顯示技術,本來adobe積極向apple推銷pdf,但是因為apple除了在龐大的授權費用壓力下之外,它還希望能夠擁有自己的技術好能夠妥善的運用在自己的系統當中而不用受制於人,所以apple便基於NEXT的display postscript自有技術(由於pdf本身就是postscript的改良)加上公開的pdf的標準規格,創制了完全獨立擁有的quartz顯示技術。

OPENGL

openGL,最早的發展起源是SGI從IRIX的繪圖處理函式庫中發展出來,全名是OPEN GRAPHIC LIBRARY,這套3D圖形函式庫的作用目的在於將對於3D空間的描述計算轉換成2D圖像顯示出來,OPENGL事實上也是一套應用程式設計界面(API),經由它的運作,可以讓3D圖形與3D硬體加速卡之間做出密切的溝通,而在圖像處理方面的作用,則是運用在於像是角度轉換、照明、色彩強化、材質貼圖、存取及座標產生與轉換、像素運算以及隨機個別端點運算等等,在MAC OS中使用的是2003年公佈的OpenGL 1.5版本,在這當中使用了OPENGL訂定組織ARB正式發佈的圖形繪製語言OpenGL Shading Language,而這將陸續成為2.0版本的核心架構。

原先的MAC OS X在10.0-10.1之間,都是在完備整個系統功能,所以在系統的圖形處理上面,都還是以軟體的方式在進行,所以系統光是在處理圖形界面上就要佔用不少CPU的運算資源,然後在10.2之後逐漸出現將上述所提三大影音技術將本來的各自獨立的狀態逐漸整合,出現了Quartz Extreme這樣的技術,Quartz Extreme將Quartz中的display pdf裡的頁面描述語言的部份保留,但是將描述語言要繪製出畫面的運算部分,轉遞給opengl以3D轉2D材質的原理模式去運算處理,如此一來便可以將quartz的描繪結果,交由繪圖卡去做硬體加速,最終便是在顯示卡中去完成整個繪圖,之後Quartz Compositor再將整個的畫面合成顯示到螢幕當中。

其實OPENGL本身就已經提供了這樣的功能,在Linux當中我們看到了有一種稱為GLUT的實作就是以這樣的模式在完成整個使用者界面的繪製,而MAC OS X更是將Quartz與OPENGL整合在一起使得雙雙都可以運用到其各自優秀的部份來讓硬體獲得最佳的效能運用。

而到了現今的MAC OS 10.4版本,在Quartz受惠於Quartz Extreme之後,基於Quartz Extreme的基礎,更向上發展了coreimage及coreAudio技術,更進一步地將Quicktime也整合在一起,這是因為OPENGL在1.2版之後,出現了一個稱為OPENAL針對3D環境中把音訊定位的部份交由硬體加速的音訊程式發展界面(API),而coreimage和coreaudio各是怎樣的東西呢?

Coreimage除了承襲Quartz Extrem的優點,將Quartz描述繪圖處理過程交由繪圖顯示卡運算之外,更運用了opengl在3D圖形功能當中、色彩、光影、角度轉換這方面的先天特性,再結合Quartz pdf的postscript血緣當中準確的向量描述能力,進而發展出了許多的繪圖單元濾鏡稱為Image Units,讓程式發展人員可以減少花在程式語言上的心力,而將創作心思用在視覺效果的處理上,並且在硬體上運用了G4,G5的avltivec平行處理效果,讓cpu及繪圖卡能夠相輔相成地發揮最大效益。

而Coreaudio也運用了openal的音訊處理性質同樣地達成相同的結果,只是與CoreImage不同的地方在於,它是將運算的工作交由音效卡來支援,於是Quartz與Quicktime在經由OpenGL的橋接幫助下,都相繼地得到了硬體上的最大幫助,也不再單單僅依靠CPU的運算處理而拖垮整個系統效能,並且在應用上,如此一來應用軟體在影像開發上,可以運用Quartz的向量敘述描述整個影像結構,OPENGL在影像上的完成繪圖處理及動態運用,最後再結合Quicktime的多軌性質整合影音輸出入成為一個完整的多媒體架構,這就是MAC OS X所提供強大的多媒體影音處理的先天優良環境。




Technorati Tags:
arrow
arrow
    全站熱搜

    droger 發表在 痞客邦 留言(2) 人氣()