切換
舊版
前往
大廳
主題 達人專欄

圖解淺談PSV雙線性過濾功能...

翼は夢、そして空へ | 2012-01-17 19:59:09 | 巴幣 1880 | 人氣 12940

本次要介紹的是PSV模擬PSP遊戲時的雙線性過濾功能。

由於本文是「圖解淺談PSV執行PSP遊戲的表現...」的續篇,若您沒有看過該文,
建議可以先去閱讀一下,將有助於銜接此處的內容怎麼好像補習班在上課一樣XD...


於前一篇文章的介紹中,我們以PSV、PSP的螢幕解析度作為出發,

並藉由圖形的方式分析以PSV執行PSP遊戲時可能會面臨的情況。

進入本文的主題前,還是簡單摘要一下前文的重點:

---
PSV的解析度是PSP的4倍,所以在執行PSP的遊戲時,
採取以4個點當成1個點用的方式(如下圖)模擬PSP的畫面,
其好處在於解析度上可以完全對應,不會因不同解析度間的轉換而產生多餘的失真。



然而PSV的螢幕比PSP的螢幕大,卻導致PSV在四點合一後,
其單一合點的面積大於PSP的單點面積(如下圖)



(其實PSV合點的邊長也只比PSP大0.032mm


因此,用PSV執行PSP遊戲時,可說是原封不動地把PSP的圖型放大,
然而畫面中的顆粒、鋸齒也會可能因為被放大而變得更佳明顯。

換言之,PSV的5吋大螢幕是一把雙面刃,
它能夠提供PSV專屬遊戲更佳的視覺享受,也能讓以更大的畫面執行PSP的遊戲,
然而在下向下容PSV時,螢幕變大卻可能在視覺上帶來顆粒變粗的觀感。
---

當然,SONY一定比玩家更清楚這樣的情況,因此在PSV模擬PSP時,
提供了所謂的「雙線性過濾」功能,希望可以適度地將畫面優化。

其實此功能在當初PS3相容PS2時便已提供,然而後來PS3取消像下相容PS2,
因此PS3的雙線性過濾功能並未引發太多的討論,直到PSV上市後,
這個名詞才慢慢又受到玩家的注意......

對於雙線性過濾,許多人也是「只聞其名,不知其實」...


雙線性過濾的原理是什麼呢?

聽說雙線性過濾可以有效減少鋸齒,那是真的嗎?

我開啟了雙線性過濾功能後,感覺畫面好像變柔和了說......


有人說PSV的雙線性功能很卓越,也有人覺得有開啟和沒開啟差異不大,
不過既然SONY提供了這個功能,
總不至於對畫面一點影響也沒有吧,
而本次撰寫此文的目的,
就是要揭開雙線性過濾的神祕面紗......。

這幾天花了一些時間閱讀雙線性過濾的相關文獻,其實該技術的原理並不複雜,
然而要深入介紹它時,勢必需要使用到一些數學上的推演過程...

縱使用到的數學不難加減乘除運算,不過「數學一出誰與爭鋒」,
很多人光看到數學式就軟腳,後頭的文章大概也無力閱讀了XD

因此,為了必免造成大家的困擾,個人還是延續前文的風格,
採取圖形為主、數學為輔的說明,
希望能透過盡量簡化的方式,
讓各位一窺雙線性過濾的樣貌...。


那麼,就讓我們正式進入主題←你的前文還真是又臭又長的


在實際談到雙線性過濾技術前,先讓我們介紹一下關於螢幕的小常識...


--
我們經常說螢幕是由很多個「畫素點」所構成的,
而這些「畫素點」在微距攝影下,其實是這個樣子的:



螢幕的一個畫素點,其實是由紅、綠、藍(光的三原色)三個「次像素」所組成,
藉由上述三種顏色在不同亮度的組合下,人眼會自動在視覺上將其辨識為各種色彩。



就像小時候畫畫一樣,兩種不同的顏色交錯就會產生第三種顏色......

電腦上最常採用的24bit色域,則是將紅、綠、藍三種顏色的強度各以0-255來表示,
其中0表示最暗、255表示最亮,藉由不同強弱間的混色,產生2^24種組合。



如上圖,我們可以把X、Y、Z三軸視為紅(R)、綠(G)、藍色(B),當:

(R, G, B)=(255,     0,     0)時,顯示為紅色
(R, G, B)=(    0, 255,     0)時,顯示為綠色
(R, G, B)=(    0,     0, 255)時,顯示為藍色
(R, G, B)=(255, 255, 255)時,顯示為白色

同理,隨便輸入一組(R, G, B)的組合,就可以得到一組對應的顏色,
這就是色彩的RGB顯示方式應該不會很複雜吧...
--


我大致了解了,不過介紹這個的用意是...?


嗯,我知道介紹這個有點枯燥,不過請先記住以上的觀念,
等會我們用圖形展示雙線性過濾時,需要靠這邊的知識來輔助理解!


接著,讓我們回過頭談PSV模擬PSV的話題吧,首先我們看下圖:



假設上圖的圖形,由紅、綠、藍、白共4個像素所組成,
若要把解析度提昇為4倍,因此同樣的圖形需要改成以16個像素來顯示。

如果採用的是「四點合一」的模擬方式,結果會如下圖所示:



左上角的4的點顯示紅色,右上角的四個點則顯示綠色,以此類推...

如果不採用四點合一的模擬方式,我們便會面臨到以下情況:



新圖形一共有16個點,然而來自PSP的點卻只有4點,還有12個點的顏色是未知......

因此,請各位來試試身手,把12個未知點的顏色補上吧XD


等等!只有4個點,卻要衍生出12個點的資料,這太強人所難了吧?


確實,在了解實際情況後,各位肯定會了解這是一件不容易的事情,
然而不是每個玩家都能理解背後的原因,因此才會有人發表:


哼!性能變好,解析度提昇了,模擬PSP的畫面卻沒有強化,還有顆粒感,真遜!


這般的無釐頭的批評...


我們都希望PSV可以「創造奇蹟」,然而「巧婦難為無米之炊」,
只給你4粒米,卻要求你要煮出一碗粥,執行上真的是有一定難度的......

不過,事情或許有難度,不代表就真的無計可施,
上頭提到的「雙線性過濾」技術,便是基於簡易的「線性內插」原理,
希望以原始圖形提供的少數資訊為基礎,把原圖提昇至更高的解析度!


線...線性內插?我開始覺得有點不舒服(噁心、頭昏)了!


嗯,當初就是因為怕網友看到數學就頭昏,
所以上一篇文章才有意無意把雙性過濾的部份給略過不談的是這樣嗎XD
不過既然有網友回文說想知道其「原理」,那就給我覺悟吧...



…...開玩笑的,各位先別緊張!

我不是說過了要盡量以圖解的方式來做說明嗎?
以下就先把數學的部分放一旁,單純用圖形做簡易說明吧!

回到上面的示意圖,假設我們今天只想知道「」這個位置的顏色!



首先我們可以透過紅色、綠色格間的混色,來決定下圖中「1」、「2」兩格的顏色,
並透過藍色、白色格間的混色,來決定「3」、「4」兩格的顏色:



至於要怎麼「混色」?還記得我們上頭提到的RGB表示方式嗎?

紅色是(255, 0, 0),綠色是(0, 255,0),在紅色逐漸變成綠色的過程中,
R的數值將由255逐漸遞減為0,而G則由0逐漸遞增為255...



同理,藍色是(0, 0, 255),白色則是(255, 255, 255),所以在藍→白的過程中,
B的數值維持不動,而R、G則會由0逐漸遞增至255...



而「1」、「3」兩格的GRB數值,則是利用線性內插的方式來計算求得,
至於要如何計算,我們就先略過不提因為就非要用到數學不可
大家只需了解我們是透過混色的方式,決定未知網格的顏色即可。


在決定「1」、「3」兩個網格的顏色後,聰明的網友們應該發現什麼了!


咦!『☆』不就介於『1』、『3』兩格之間嗎?那是不是可以......


沒錯!透過2次線性內插的方式決定「1」、「3」兩格的RGB數值後,
我們就能再次透過內插,決定「☆」這格的RGB值(如下圖)......



再繼續透過相同的方式,我們就可以基於最初的4個參考點資料,
把剩下12個未知點的顏色逐步計算出來,最後產生以下圖形:



圖中除了位於4個角落的點是最初的原始資料,其餘都是用內插計算出來的混色點
因此看得出越靠4個角落的點,顏色也會越接近該角落的參考點。

大致上,這就是雙線性過濾的運作原理如何?比想像得簡單吧!...


完成了上述的補點動作後,讓我們比較一下不同模擬方式的結果吧:


(左:原始情況, 中:「四點合一」結果, 右:「雙線性過濾」結果)

PSV「四點合一」的結果大致上就是把原本PSP的畫面做無失真放大,
不過同時在視覺上也可會產生顆粒變大的觀感......

而開啟內建的「雙線性過濾」功能後,
由於原先PSP的一個像素在PSV變成是由四個不同顏色的像素所組成,
得整體畫面的色階變得比原本更豐富,也有效地把顆粒感給降低了!

也正是因為「顆粒感降低了」,所以視覺上會產生「鋸齒變少」的感覺...


然而僅比對PSV開啟雙線性過濾前後的圖形時:


(各位可以試著站遠一點做比較,效果會更明顯)

開啟雙線性過濾後,畫面的色階變得更豐富,卻也稍稍讓顏色間的邊界模糊化了,
原本紅色與綠色間應該是「壁壘分明」,跨過邊界後就是另一個顏色,
在雙線性過濾的影響下,邊界上的網格都稍微染上了對方的色彩...

正是因為邊界的模糊化,使得畫面的輪廓會較不明顯(或者說「較不銳利」)
而在視覺上產生了柔化的感覺,才會有網友網友認為「畫面變柔和」的感覺!


接著,來看點實際案例吧:
--
案例一:小小大星球


未開啟雙線性過濾...


有開啟雙線性過濾...

如何?有看出差異了嗎?如果看不出來的話,請看中央部分的截圖比較:


中央截圖 - 未開啟雙線性過濾...(畫面左側的直紋路是拍照造成的)


中央截圖 - 有開啟雙線性過濾...

這兩張應該比較明顯了吧?從娃娃的服飾,以及右方背景的圖案,
都可以明顯看出開啟雙線性過濾後的線條柔和不少!


案例二:戰場女武神3


未開啟雙線性過濾...


有開啟雙線性過濾...


中央截圖 - 未開啟雙線性過濾...


中央截圖 - 有開啟雙線性過濾...

由這張更可以看出雙線性過濾可以有效減少畫面的顆粒感,
同樣地畫面看起來也變得比較柔和!
--


講到這裡,大家應該都對雙線性過濾的原理產生一定程度的認識了吧!

整體而言,雙線性過濾的優點在於計算簡單(只需用到加減乘除)
無需耗費大量的效能即可快速達成補插點的效果,
也能夠有效增加畫面的色階,並在視覺上減少鋸齒的數量,

然而該技術也會讓畫面產生柔化的感覺,
使得視覺上會有畫面變柔和、清晰度降低的觀感又是一把雙面刃


那麼,你會建議開啟雙線性過濾功能嗎?


個人的情況而言,會選擇開啟雙線性過濾,不過每個人的視覺觀感不同,
也許換成是其他玩家,未必能接受開啟雙性現過濾後帶來的柔化感,
因此只能建議手上有PSV的朋友自己試試了......

對於畫面顆粒與鋸齒要求較高,可以接受畫面稍微柔和化的玩家,建議開啟雙線性過濾;
注重畫面清晰度,可以接受些微鋸齒的玩家,建議直接以原本的模式運作即可!


  

創作回應

結果是 可以玩就好XD
2012-01-26 04:16:36
劉星翼
越來越想敗了...
2012-01-26 17:09:06
徐小俠
厲害厲害!增廣見聞了
2012-03-08 05:50:11
Aura

能把專業的知識以淺白的文字解析,這是作者的功力所在。
從文章中也能看出作者將自身所負專業轉譯到遊戲領域的能力。

雖然PSV即將滅頂,但非常推薦這篇文章。



2019-03-11 18:06:36
翼は夢、そして空へ
這篇是小屋的「長賣款」,每隔一段時間都會有人摸出來給GP,也是很神奇的XD
2019-03-11 19:58:40
Aura
應該會持續到滅頂後吧,這就是知識的力量。
2019-03-11 20:25:00

相關創作

更多創作