定義,像素值,有效像素值,感應器像素插值,CCD總像素,原始和邏輯像素,比特每像素,像素,兆像素,類似概念,數碼像素,像素畫,感應器,基於象素的光照計算技術,研究背景,基於頂點和象素的光照計算的比較,研究結論,
定義 解析度指螢幕上像素的數目,為了控制像素的亮度和彩色深度,每個像素需要很多個二進制位來表示,如果要顯示256種顏色,則每個像素至少需要8位(一個位元組)來表示,即2的8次方等於256;當顯示真彩色時,每個像素要用3個位元組的存儲量.
不同計算機螢幕由於解析度設定的不同,所以顯示出像素的大小也不同。例如,同樣一個17英寸的液晶螢幕,設定為800*600時,水平有800個像素點,設定為1024*768的時候,水平有1024個像素點,顯然,在螢幕總寬度不變的情況下,像素的大小是不一樣的。
像素值也是長度定義中使用最為普遍的單位,因為一般瀏覽器輸出頁面總是在螢幕上,如果設計者不考慮列印輸出的話,利用像素值就能夠在螢幕上進行了精確的定位。
像素值的英文名稱為pixel,是一個合成詞,詞源為picture element二詞的詞頭合成詞,px就成了單位名稱,例如10px就是像素長度,468px就是468像素長度。
用像素值定義長度的時候,一定要考慮螢幕解析度的兼容性,例如,一個設計者設定了一個張圖片的顯示寬度是800像素,在800*600像素解析度的螢幕上它能夠占據整個寬度,而在1600*1200像素寬度的螢幕上,它只能占有螢幕寬度的一半。
像素值的單位也可以省略不寫,例如76就代表76px,即76像素長度。如果瀏覽器遇到了在數字後面有不能識別的字元,就會忽略這些字元直接取前面的數字作為長度值。例如,100abcd會被瀏覽器識別為100px。
像素值 有效像素值 首先我們要明確一點,一張數碼照片的實際像素值跟感應器的象素值是有所不同的。以一般的感應器為例,每個像素帶有一個光電二極體,代表著照片中的一個像素。例如一部擁有500萬像素的數位相機,它的感應器能輸出解析度為 2,560 x 1,920的圖像—其實精確來講,這個數值只相等於490萬有效像素。有效像素周圍的其他象素負責另外的工作,如決定“黑色是什麼”。很多時候,並不是所有感應器上的像素都能被運用。索尼F505V就是其中的經典案例。索尼F505V的感應器擁有334萬象素,但它最多只能輸出1,856 x 1,392即260萬像素的圖像。歸其原因,是索尼當時把比舊款更大的新型感應器塞進舊款數位相機裡面,導致感應器尺寸過大,原來的鏡頭不能完全覆蓋感應器中的每個像素。
象素 因此,數位相機正是運用”感應器象素值比有效象素值大“這一原理輸出數碼圖片。在當今市場不斷追求高像素的環境下,數位相機生產商常常在廣告中以數值更高的感應器像素為對象,而不是反映實際成像
清晰度 的有效像素。
感應器像素插值 在通常情況下,感應器中不同位置的每個像素構成圖片中的每個像素。例如一張500萬像素的照片由感應器中的500萬個像素對進入快門的光線進行測量、處理而獲得(有效像素外的其他像素只負責計算)。但是我們有時候能看到這樣的數位相機:只擁有300萬像素,卻能輸出600萬像素的照片!其實這裡並沒有什麼虛假的地方,只是照相機在感應器300萬像素測量的基礎上,進行計算和插值,增加照片像素。
當攝影者拍攝JPEG格式的照片時,這種“照相機內擴大”的成像質量會比我們在電腦上擴大優秀,因為“照相機內擴大”是在圖片未被壓縮成JPEG格式前完成的。有數碼相片處理經驗的攝友都清楚,在電腦裡面擴大JPEG圖片會使畫面細膩和平滑度迅速下降。雖然數位相機插值所得的圖片會比感應器像素正常輸出的圖片畫質好,但是插值所得的圖片檔案大小比正常輸出的圖片大得多(如300萬感應器像素插值為600萬象素,最終輸入記憶卡的圖片為600萬像素)。因此,插值所得的高像素看來並沒有太多的可取之處,其實運用插值就好像使用數碼變焦-並不能創造原像素無法記錄的細節地方
CCD總像素 CCD總像素也是一個相當重要指標,由於各生產廠家採用不同技術,所以其廠家標稱CCD像素並不直接對應相機實際像素,所以購買數位相機時更要看相機實際所具有總像素數。一般來講總像素水平達到300萬左右就可以滿足一般套用了,一般200萬象素、100萬象素產品也可以滿足低端使用,當然更高象素數位相機可以得到更高質量照片,有些公司已經開始推出600萬象素級別普通數位相機了。
一個視神經細胞相當於1像素,如果雙星在視網膜上2個不同細胞上成像就能夠分辨開,否則就不能.人的視網膜上共約有1.1~1.3億個桿細胞,有600~700萬個錐細胞,桿細胞感光能力強但只能感應光線的灰度(得到黑白圖像),主要在離中心凹較遠的視網膜上。這就是我們為什麼看星星的時候要用視角來看的原因。而錐細胞則在中心凹處最多,能感應彩色圖像。所以人眼就相當於有1.1~1.3億像素。
原始和邏輯像素 因為多數計算機顯示器的
解析度 可以通過計算機的作業系統來調節,顯示器的像素解析度可能不是一個絕對的衡量標準。
現代液晶顯示器按設計有一個原始解析度,它代表像素和三元素組之間的匹配較好。(陰極射線管也是用紅-綠-藍螢光三元素組,但是它們和圖像像素並不重合,因此和像素無法比較)。
對於該顯示器,原始解析度能夠產生最精細的圖像。但是因為用戶可以調整解析度,顯示器必須能夠顯示其它解析度。非原始解析度必須通過在液晶螢幕上擬合重新採樣來實現,要使用插值算法。這經常會使螢幕看起來破碎或模糊。例如,原始解析度為1280×1024的顯示器在解析度為1280×1024時看起來最好,也可以通過用幾個物理三元素組來表示一個像素以顯示800×600,但可能無法完全顯示1600×1200的解析度,因為物理三元素組不夠。
像素可以是長方形的或者方形的。有一個數稱為長寬比,用於表述像素有多方。例如1.25:1的長寬比表示每個像素的寬是其高度的1.25倍。計算機顯示器上的像素通常是方的,但是用於數字影像的像素有矩形的長寬比,例如那些用於CCIR 601數字圖像標準的變種PAL和NTSC制式的,以及所對應的寬屏格式。
單色圖像的每個像素有自己的輝度。0通常表示黑,而最大值通常表示白色。例如,在一個8點陣圖像中,最大的無符號數是255,所以這是白色的值。
在彩色圖像中,每個像素可以用它的色調,飽和度,和亮度來表示,但是通常用紅綠藍強度來表示(參看紅綠藍)。
比特每像素 一個像素所能表達的不同顏色數取決於比特每像素(BPP)。這個最大數可以通過取二的色彩深度次冪來得到。例如,常見的取值有 :
像素
8 bpp [28=256;(256色)];
16 bpp [216=65536; (65,536色,稱為高彩色)];
24 bpp [224=16777216; (16,777,216色,稱為真彩色)];
48 bpp [248=281474976710656;(281,474,976,710,656色,用於很多專業的掃瞄器) 。
256色或者更少的色彩的圖形經常以塊或平面格式存儲於
顯存 中,其中顯存中的每個像素是到一個稱為調色板的顏色數組的索引值。這些模式因而有時被稱為索引模式。雖然每次只有256色,但是這256種顏色選自一個選擇大的多的調色板,通常是16兆色。改變調色板中的色彩值可以得到一種動畫效果。視窗95和視窗98的標誌可能是這類動畫最著名的例子了。
象素 對於超過8位的深度,這些數位就是三個分量(紅綠藍)的各自的數位的總和。一個16位的深度通常分為5位紅色和5位藍色,6位綠色(眼睛對於綠色更為敏感)。24位的深度一般是每個分量8位。在有些系統中,32位深度也是可選的:這意味著24位的像素有8位額外的數位來描述透明度。在老一些的系統中,4bpp(16色)也是很常見的。
當一個圖像檔案顯示在螢幕上,每個像素的數位對於光柵文本和對於顯示器可以是不同的。有些光柵圖像檔案格式相對其他格式有更大的色彩深度。例如GIF格式,其最大深度為8位,而TIFF檔案可以處理48位像素。沒有任何顯示器可以顯示48位色彩,所以這個深度通常用於特殊專業套用,例如膠片掃瞄器和印表機。這種檔案在螢幕上採用24位深度繪製。
像素 很多顯示器和圖像獲取系統出於不同原因無法顯示或感知同一點的不同色彩通道。這個問題通常通過多個子像素的辦法解決,每個子像素處理一個色彩通道。例如,LCD顯示器通常將每個像素水平分解位3個子像素。多數LED顯示器將每個像素分解為4個子像素;一個紅,一個綠,和兩個藍。多數數位相機感測器也採用子像素,通過有色濾波器實現。(CRT顯示器也採用紅綠藍螢光點,但是它們和圖像像素並不對齊,因此不能稱為子像素)。
對於有子像素的系統,有兩種不同的處理方式:子像素可以被忽略,將像素作為最小可以存取的圖像元素,或者子像素被包含到繪製計算中,這需要更多的分析和處理時間,但是可以在某些情況下提供更出色的圖像。
後一種方式被用於提高彩色顯示器的外觀解析度。這種技術,被稱為子像素繪製,利用了像素幾何來分別操縱子像素,對於設為原始解析度的平面顯示器來講最為有效(因為這種顯示器的像素幾何通常是固定的而且是已知的)。這是反走樣的一種形式,主要用於改進文本的顯示。微軟的ClearType,在Windows XP上可用,是這種技術的一個例子。
兆像素 一個兆像素(megapixel)是一百萬個像素,通常用於表達數位相機的解析度。例如,一個相機可以使用2048×1536像素的解析度,通常被稱為有“3.1百萬像素” (2048 × 1536 = 3,145,728)。 數碼相繼使用感光電子器件,或者是耦合電荷設備(CCDs)或者CMOS感測器,它們記錄每個像素的輝度級別。在多數數位相機中,CCD採用某種排列的有色濾波器,在Bayer濾波器拼合中帶有紅,綠,藍區域,使得感光像素可以記錄單個基色的輝度。相機對相鄰像素的色彩信息進行插值,這個過程稱為解拼(de-mosaic),然後建立最後的圖像。這樣,一個數位相機中的x兆像素的圖像最後的彩色解析度最後可能只有同樣圖像在掃瞄器中的解析度的四分之一。這樣,一幅藍色或者紅色的物體的圖像傾向於比灰色的物體要模糊。綠色物體似乎不那么模糊,因為綠色被分配了更多的像素(因為眼睛對於綠色的敏感性)。
作為一個新的發展,Foveon X3 CCD採用三層圖像感測器在每個像素點探測紅綠藍強度。這個結構消除了解拼的需要因而消除了相關的圖像走樣,例如高對比度的邊的色彩模糊這種走樣。
類似概念 從像素的思想衍生出幾個其它類型的概念,例如體元素(voxel),紋理元素(texel)和曲面元素(surfel),它們被用於其它計算機圖形學和圖像處理套用。
數碼像素 像素是衡量數位相機的最重要指標。像素指的是數位相機的解析度。它是由相機里的光電感測器上的光敏元件數目所決定的,一個光敏元件就對應一個像素。因此像素越大,意味著光敏元件越多,相應的成本就越大。
數位相機的圖像質量是由像素決定的,像素越大,照片的解析度也越大,列印 尺寸在不降低列印質量的同時也越大。早期的數位相機都是低於100萬像素的。從1999年下半年開始,200萬像素的產品漸漸成為市場的主流。當前的數位相機的發展 趨勢,像素宛如PC機的CPU主頻,有越來越大的勢頭。 其實從市場分類角度看,面向普及型的產品,考慮性價比的因素,像素並不是 越大越好。畢竟200萬像素的產品,已經能夠滿足普通消費者的大多數套用。因 此大多數廠商在高端數位相機追求高像素的同時,當前其產量最大的,仍是面向普 及型的百萬像素產品。專業級的數位相機,已有超過1億像素級的產品。而300萬像 素級的產品,將隨著CCD(成像晶片)製造技術的進步和成本的進一步下降,也將很 快成為消費市場的主流。
另外值得消費者注意的是,當前的數位相機產品,在像素標稱上分為CCD像素和經軟體最佳化後的像素,後者大大高於前者。如某品牌流行的數位相機,其CCD像素為230萬,而軟體最佳化後的像素可達到330萬。
像素畫 像素其實是由很多個點組成。我們這裡說的“像素畫”並不是和矢量圖對應的點陣式圖像,而是指的一種圖示風格的圖像,此風格圖像強調清晰的輪廓、明快的色彩,同時像素圖的造型往往比較卡通,因此得到很多朋友的喜愛。
像素圖的製作方法幾乎不用混疊方法來繪製光滑的線條,所以常常採用.gif格式,而且圖片也經常以動態形式出現.但由於其特殊的製作過程,如果隨意改變圖片的大小,風格就難以保證了。
像素畫的套用範圍相當廣泛,從小時候玩的FC家用紅白機的畫面直到GBA手掌機;從黑白的手機圖片直到全彩的掌上電腦;即使我們日以面對的電腦中也無處不充斥著各類軟體的像素圖示。如今像素畫更是成為了一門藝術,深深的震撼著你我。
感應器 感應器象素插值在通常情況下,感應器中不同位置的每個象素構成圖片中的每個象素。例如一張500萬象素的照片由感應器中的500萬個象素對進入快門的光線進行測量、處理而獲得(有效象素外的其他象素只負責計算)。但是我們有時候能看到這樣的數位相機:只擁有300萬象素,卻能輸出600萬象素的照片!其實這裡並沒有什麼虛假的地方,只是照相機在
感應器 300萬象素測量的基礎上,進行計算和插值,增加照片象素。
基於象素的光照計算技術 研究背景 一直以來,困擾著圖形學界的一個重要問題就是速度和效果之間的取捨,要么為了逼真的效果犧牲速度,要么為了實時的繪製而犧牲了許多細節,效果無法令人滿意。如今,隨著圖形顯示硬體發展日新月異,在擁有最新圖形顯示硬體的個人計算機上實時繪製的精彩動畫,不僅繪製速度很快,同時還具有非常強的真實感,能表現許多逼真的細節,如凹凸紋理、粗糙表面的折射和反射效果等。這些都依賴於一種新的繪製技術——基於象素的光照計算。
基於象素的光照計算技術的發展與凹凸紋理光照效果和Phong明暗處理的硬體加速技術發展緊密相關。提出了不同的對Phong明暗處理和凹凸紋理進行硬體加速的方法。MarkPeercy等在1997年提出了一種改進的算法,該算法高效地實現了凹凸紋理光照效果,同時也對Phong明暗處理作了近似的實現,其思路便是採用基於象素的光照計算技術。雖然當時的硬體並不能很好地支持基於象素的光照計算技術,但隨著硬體的高速發展,特別是近年來紋理硬體處理技術的發展,基於象素的光照計算技術越來越受到重視。CassEveritt在GDC’2001會議上發表演講,專門介紹基於象素的光照計算技術的細節。更重要的是,在近兩年推出的最新圖形顯示晶片中,基於象素的光照計算技術更是獲得了全面的支持。基於象素的光照計算將成為未來實時繪製系統中不可缺少的一種技術。本文將具體介紹基於象素的光照計算技術的原理和實現。
基於頂點和象素的光照計算的比較 常用的繪製系統中是在頂點級上進行光照計算的。如使用OpenGL光照記算的步驟是:首先給出一個面片各頂點上的位置、法線向量等信息;然後針對各個頂點採用適當的光照模型進行光照運算,求出各頂點的顏色值;最後通過線性插值求出該面片上各個象素的顏色值。基於頂點的光照計算的繪製流程和插值方法如圖1所示。
圖1 基於頂點的光照計算方法優點在於減少了光照計算的次數,進而可以提高繪製的速度;不足之處在於繪製的效果不夠精細。既使使用了紋理貼圖,但由於一個面片上只有各個頂點的光照效果是精確計算的,如果一個面片很大,則整個面片的光照看起來就會顯得很單調,根本無法體現細節處的光照效果。如一堵很粗糙的牆,當從近距離觀察時,會發現許多細微的陰影,而且這些陰影可以隨著光源照射角度的變化而變化。當採用基於頂點的光照計算方法時,如果平面只有兩個三角形組成,根本實現不了上述這種光照效果的。除非在三維建模時採用多個面片來表示,將牆的三維細節表達出來。但是這樣一來,不僅模型的數據量陡增,而且光照計算也變得非常複雜,無法實現實時的計算。所以這種細節表示對於遊戲等一類對實時性要求很高的繪製系統而言,一直是一個困難的問題。
基於象素的光照計算方法的提出,克服了基於頂點的光照計算技術的不足。同時由於顯示硬體的飛速發展,我們已經可以採用基於象素的光照計算方法實時生成具有光照細節的三維場景了。如可以非常逼真地顯示凹凸紋理,環境映射等光照效果;而在過去,這些效果只能非常粗略地實時模擬或者通過耗費大量的運算時間來實現。
圖2 基於象素的光照計算方法的流程如圖2所示。光照計算不再像以前那樣在頂點級進行計算,而是根據從頂點級操作和光柵化處理後輸出的各個象素上的矢量值以及紋理坐標等信息,在每個象素上進行光照計算,得到最後的顏色值。
以往在象素級上的操作主要針對RGBA值進行紋理融合一類的操作,而最新硬體不僅大大地提高了渲染引擎的速度,而且還在象素級上提供了點積運算功能,使得過去在象素級上無法實現的光照計算變成了現實。
如彩圖3(見彩圖頁viii)所示為在相同的繪製速度下兩種光照計算效果的區別。彩圖3a,b的幾何造型都只有兩個三角形,顯然彩圖3b基於象素的光照計算具有更強烈的立體感,因為它給地圖適當地增加了陰影效果。如果採用現有的基於頂點的光照計算技術要達到這樣的效果,必然需要增添許多的幾何細節,實時繪製將是不可能的。
圖3
研究結論 實驗平台是CPU為1G的PC,記憶體512M,Geforce3顯示卡,顯存64M。其中兩幅運算結果圖採用的是相同的顏色紋理圖和法線紋理圖,區別在於光源位置的變化,我們可以明顯看到光源變化產生的不同的光照和陰影效果。這裡所有的光照運算都經過了硬體的加速,實時生成的動態光照效果可以在本實驗平台上以大小550pix×450pix,86.2fps的速度運行。
基於象素的光照計算技術由於結合了最新硬體所提供的功能,使原來複雜的光照計算可以實時進行,同時又可以在不增加物體幾何細節的前提下,充分表現物體的光照細節,克服了原來基於頂點的光照計算的缺點,為將來實時繪製系統的實現提供了基礎。
當然,由於硬體的能力有限,如暫存器組合器僅僅提供了三個運算平台,使得一些複雜的光照運算方程不可以經過一遍的硬體加速就可以求得,如實現凹凸紋理自身陰影以及實現高次的高光反射係數。但在增加運算時間的前提下,可以採用多遍的渲染方法以實現上述複雜的計算。隨著硬體技術的不斷發展和運算能力的不斷提高,硬體對於基於象素的光照計算技術將會有更多的支持,基於象素的光照計算技術將會用更快的速度實現出更複雜的效果圖來。