? ,,

成人aa视频在线观看_色婷婷精品久久二区二区蜜臂av _国产一区二区三区在线观看免费 _韩日欧美一区二区三区_午夜成人免费视频_欧美综合久久久_国产精品国产三级国产普通话99 _福利一区二区在线观看_奇米精品一区二区三区在线观看_91精品国产综合久久福利_免费精品视频在线_狠狠色丁香久久婷婷综合_中_色一区在线观看_91福利国产成人精品照片_在线观看www91_日韩高清在线一区

聯系我們

給我們留言

聯系我們

地址:福建省晉江市青陽街道洪山路國際工業設計園納金網

郵箱:info@narkii.com

電話:0595-82682267

(周一到周五, 周六周日休息)

當前位置:主頁 > 3D教程 > 圖文教程

深度分析VR頭顯分辨率:渲染、失真與校正

來源: 52vr | 責任編輯:傳說的落葉 | 發布時間: 2019-04-24 08:26 | 瀏覽量:
    我曾撰寫過一篇關于當前頭顯顯示器光學屬性的長文(那個時候的“當前”)、一篇關于寬視場頭顯投影與扭曲的文章、以及一篇關于測量頭顯顯示器有效分辨率的文章,但從未涉足過真正的顯示器分辨率。而現在正是時候。
 
      當然,一個簡短的答案取決于頭顯的型號。但如果你恰巧擁有 HTC Vive,不妨看看圖1和圖2中的數據(其他頭顯類似,但實際數字不同)。這些數字顯示了顯示分辨率,單位為像素/度(pixels/°),以及通過我的Vive頭顯右邊透鏡中心的兩條線(分別為水平和垂直)。紅色,綠色和藍色曲線分別代表紅色,綠色和藍色基本色的分辨率,但這一次不是由我本人測量所得,而是通過分析工廠對每個頭顯進行測量后所得的并存儲在固件中的顯示器校準數據。
 

[VR知識] 深度分析VR頭顯分辨率:渲染、失真與校正

圖一

 

[VR知識] 深度分析VR頭顯分辨率:渲染、失真與校正

圖二

      在這一點上,你可能會認為上述圖表十分奇怪。對于這一點,建議閱讀以下這個冗長的答案。在開始闡釋之前,我要先給你一個數字:在我的Vive的右邊透鏡中心(像素是492602),綠色通道的分辨率為11.42像素/度,包含水平方向和垂直方向。如果你希望引起一個分辨率數字,這是我會選擇的數字,因為當你看向正前方或遠處時,這就是你得到的數字。然而,圖1和圖2清楚表明了一個數字無法解釋完整的故事。
 
      下面,我們將開始詳細解釋這個冗長的答案。
 
為什么上文的分辨率圖表會如此怪異呢?我們都十分清楚不同顯示器的分辨率都不盡相同,我們同樣明白三個基本色的分辨率同樣不同。但圖中的鋸齒是什么意思呢?要理解這一點,我們首先需要仔細研究現代VR頭顯是如何把3D環境渲染成一對2D圖片,然后又是如何將其映射至左邊和右邊顯示器。
 
使得當今頭顯成為可能的主要創新之一是,廠商排除了復雜的,笨重的和昂貴的光學元件,并在軟件中校正由簡單,輕便和廉價單透鏡帶來的缺陷,亦即幾何失真和色差。這種校正是通過在標準3D渲染管道末端添加額外的處理步驟來完成。現代VR頭顯不是直接把3D環境渲染到顯示器,而是通過標準的(扭曲的)透視投影將3D環境渲染為中間圖像,然后使用能夠抵消由透鏡(感知近眼屏幕的必須品)引起的失真的非線性校正函數,以此來把中間圖像翹曲至實際顯示器上。
 
第1步:對中間直線式圖像進行渲染
 
詳細來說,第一個渲染步驟如下。每個VR頭顯已經在固件中存儲了渲染適當3D環境視圖所需的各眼投影參數(水平和垂直視場),以及中間圖像的推薦像素大小(Vive為1512×1680)。對于我的Vive的右眼,視場參數如下:左(left) = -1.24627,右(right) = 1.39228,下(bottom) = -1.46862,上(top) = 1.46388。這些數值位于所謂的“切線空間(tangent space)”之中,以兼容3D圖形庫。轉換為角度,它們就會變成這樣:左(left) = 51.257度,右(right) = 54.312度,下(bottom) = 55.749度,上(top) = 55.662度。它們為什么不是對稱的呢?左右值不同是為了將每只眼睛的視場“偏斜”至外部,從而以立體重疊為代價來提供更多的周邊視覺。由于制造公差的不同,上下值有所不同。所有這些值都是在工廠單獨測量所得。
 
在這一點上,你可能會試圖簡單地將水平和垂直視場相加,并得到總數105.569度×111.411度(左右:51.257+54.312;上下:55.749+55.662),但這是過于輕率的做法。這個矩形是頭顯實際視場的上限值,但不一定是實際尺寸,因為不是所有中間圖像的像素都呈現在實際顯示器之上,而且并非所有像素都對用戶可見。
 
我們不妨設想一下不存在透鏡,并且直接顯示中間圖像的情況。以像素/度為單位的分辨率是多少呢?將總像素數除以總視場可能看起來是相當可行,這將產生水平分辨率為14.322像素/度,垂直分辨率為15.079像素/度。但這是錯誤的做法。問題是,由于圖像在概念上為平面,所以整個圖像的分辨率將不會均勻。下面請參考圖3:兩個相同大小的像素,一個直接位于眼睛前方,一個位于側面,涵蓋兩個不同的角度α1和α2。

[VR知識] 深度分析VR頭顯分辨率:渲染、失真與校正

圖3
一般來說,如果圖像的一個軸是N像素長,并且覆蓋從x0到x1的切線空間視場,則像素n(其中n介于0和N-1之間)覆蓋的角度范圍是α1-α0,其中α0=tan-1(n⋅(x1-x0)/N+x0) 和α1=tan-1((n+1)⋅(x1-x0)/N+x0),得出的分辨率為1/(α1-α0)。記住這一點,用微分進行繪圖將更加容易。
 
根據前面的段落,將像素索引與角度相關的函數為α(n)=tan-1((n+0.5)⋅(x1-x0)/N+x0),其中0.5與n相加以計算像素中心角。對于α(n)=((x1-x0)/N)/(1+((n+0.5)⋅(x1-x0)/N+x0)2)的總導數,tan-1(x)的導數可以合宜地設為1/(1+x2)。反相這一點并且從弧度轉換為角度,我們可以得出(π/180)/(d/dn α(n))像素/度的像素位置n的分辨率。插入從我的Vive接收到的值,我們可以繪制圖4中的函數結果(因為沒有透鏡,因此沒有色差,三原色的分辨率曲線合并為一):

[VR知識] 深度分析VR頭顯分辨率:渲染、失真與校正

圖4
我們可以從圖表中得出大量的信息。首先,平面中間圖像不適合VR渲染,因為分辨率在中心和邊緣之間增加了2.5到3倍,這意味著不成比例的大量渲染像素被分配到外圍,而它們在那里不是十分有用。盡管平面上投影為3D圖形所固有,但沒有人規定3D仿射空間(affine space)上的平面必須是平的。在3D投影空間中使用平坦平面會產生很好的渲染技巧,但這不是本文的話題。
 
不過,圖4中的曲線是否令你想起什么呢?我們設想一下將圖4垂直縮放3.5倍,然后取出剪刀,將其切成31個相同大小的垂直條狀。接下來,我們通過增加從中心往四面的量來向下移位這些條狀。現在將這幅畫面與圖1進行比較。是否看到任何相似之處呢?前方劇透:這正是下一個渲染步驟中會發生的事情。
 
第2步:透鏡失真和色差的非線性校正
 
成功校正透鏡失真的秘訣是:在校準步驟中測量失真情況。理想情況下是在工廠中對每個頭顯進行相關處理。確切的校準步可能有所不同,但一個選項是利用校準的相機來捕捉顯示在頭顯顯示器上的已知校準圖像將如何呈現給用戶。
 
這里的要點是:創建一種可信的虛擬現實幻覺。如果虛擬對象位于虛擬用戶的特定方向,則虛擬對象需要呈現在與真實用戶相同的方向。換句話說:對于頭顯顯示器的每一個像素,我們需要知道像素呈現給頭顯用戶的確切方向。最容易表達這一方向的方法是利用水平和垂直切線空間參數。
 
現在,如果校準為我們提供了每個顯示像素的切線空間方向映射,我們在渲染過程中又該如何為任意像素指定顏色呢?幸運的是,我們已經擁有了一個用于表示切線空間中的虛擬3D環境的圖像:在步驟1生成的中間圖像。這為透鏡失真校正提供了一個簡單的步驟:對于每個顯示像素,在校準映射中查找切線空間坐標,然后在中間圖像復制具有相同切線空間坐標的像素。由于中間圖像的直線式結構,最后一部分的查找其實相當簡單。
 
更幸運的是:相同的步驟可以校正色差。我們無需為每個顯示像素儲存一個切線空間坐標,我們只需儲存三個:為紅,綠,藍顏色組件各儲存一個。因為三種顏色在相同透鏡下的衍射程度不同,因此它們對于同一像素的切線空間坐標將有所不同。
 
這非常好,但剩下的問題是如何表示校準映射。原則上,校準映射是一個1080×1200像素的圖像(對Vive來說),每個像素有六個組件:三種顏色各一個切線空間(x,y)。由于技術原因,表示這樣的映射在渲染性能方面效率不高。更好的方法是(這也是Vive和所有其他OpenVR頭顯所使用的方法),將映射簡化為NxM相同大小(在顯示空間中)矩形的“畸變網格”,每個顏色的切線空間坐標僅存儲在那些矩形的邊角,并在每個矩形的邊角值之間進行插值。這樣做更好,因為它非常緊湊(N和M可以很小),而且性能很好(因為現代顯卡非常擅于繪圖,以及在矩形中插值)。圖5顯示了我的Vive的右屏幕綠色通道失真網格,包括顯示空間和切線空間。對于后一種情況,失真網格都疊加在中間圖像的矩形邊界上。

[VR知識] 深度分析VR頭顯分辨率:渲染、失真與校正

圖5
圖5告訴了我們一些有趣的事情。最重要的是,這表明Vive的透鏡會導致相當多的枕形失真。靠近透鏡中心的網格被壓縮,而周圍的網格被拉伸。這實現了把更多實際顯示像素分配給重要的中央注視點區域,并且把更少顯示像素分配給周邊視覺的預期效果。換句話說,透鏡遠遠消除了圖4所示的糟糕分辨率分布。證據是中心位置的最終顯示分辨率高于周邊,如圖1和圖2所示。
 
通過在切線空間中拉伸網格單元可以平衡分辨率。一個小單元會為實際顯示的固定尺寸區域分配少量中間圖像像素,從而增加局部分辨率;而拉伸單元會把更多像素填充至相同的固定尺寸區域,從而降低局部分辨率。這解釋了圖1和圖2中倒置分辨率分布,但尚未出現鋸齒的現象。
 
結果表明,問題的解釋十分簡單:利用線性插值,顯卡使用來自矩形邊角的值進行插值,這意味著生成的失真映射是分段線性函數。分段線性函數的導數是片段間不連續跳變的分段常數函數。正是那些恒定分段(由每個網格單元內逐漸變化的局部分辨率調制)導致了圖1和圖2中的現象。導數中的不連續性不是問題,因為觀察者無法知覺導數,只能知覺函數,而函數在什么地方都是連續的。
 
對于圖5,另一個有趣的觀察結果是,切線空間中的畸變網格和中間圖像之間的重疊并不完美。中間圖像的一部分未被覆蓋(沿著左邊界的透鏡形狀區域),而且畸變網格的一部分落在中間圖像之外。第一部分意味著用戶無法看到中間圖像的一部分,以及它的視場;第二部分意味著實際顯示的部分不接收有效的圖像數據,因此這變得無法使用。
 
Vive的設計師在這里作出了一個有趣的決定:他們將右邊中間圖像的左邊界延伸到右邊顯示器的左邊緣之外(左邊顯示器也同樣如此),從而獲得與另一只眼睛的部分立體重疊。在直接向左看時視場不會延伸,因為那里沒有更多的顯示像素,但在向左或向上或向下看時視場將會延伸。“缺點”是Vive渲染的中間圖像會出現奇怪的“偏食”形狀,在內邊緣缺失了兩大塊。
 
最后要提的一點是:1512×1680像素的推薦中間圖像大小來自于哪里呢?選擇它的原因是:為了令中間圖像的分辨率在通過畸變網格饋送之后能夠大致與透鏡中心區域中的真實屏幕分辨率相匹配,從而讓重新采樣過程中的混疊最小化(在把一個光柵圖像翹曲到另一個光柵圖像之上時的固有現象)。具體來說,中間圖像在透鏡中心的分辨率略低于實際顯示的分辨率(10.01像素/度 vs 11.42像素/度),但往外來說中間圖像能夠快速超過實際顯示的分辨率,請參見圖6。

[VR知識] 深度分析VR頭顯分辨率:渲染、失真與校正

總之:量化VR頭顯的真實物理分辨率是一個復雜的問題,因為這取決于透鏡的光學屬性,校準映射的表現形式和分辨率(網格 vs 圖像 vs 分析函數),而且當然還包括真實顯示的像素數目及其真實視場。但事實證明,通過在透鏡中心引用綠色通道分辨率,存在一種合理的方法來將其整合為具體的數字并進行粗略比較。



相關文章
網友評論

您需要登錄后才可以發帖 登錄 | 立即注冊

關閉

全部評論:0條

推薦
熱門
成人aa视频在线观看_色婷婷精品久久二区二区蜜臂av _国产一区二区三区在线观看免费 _韩日欧美一区二区三区_午夜成人免费视频_欧美综合久久久_国产精品国产三级国产普通话99 _福利一区二区在线观看_奇米精品一区二区三区在线观看_91精品国产综合久久福利_免费精品视频在线_狠狠色丁香久久婷婷综合_中_色一区在线观看_91福利国产成人精品照片_在线观看www91_日韩高清在线一区

          久久国产夜色精品鲁鲁99| 国产精品私人影院| 亚洲欧美久久234| 亚洲乱码一区二区三区| 亚洲高清视频在线观看| 一区二区三区观看| 色八戒一区二区三区| 欧美三级资源在线| 91精品国产综合久久蜜臀| 精品美女一区二区三区| 欧美高清在线精品一区| 综合自拍亚洲综合图不卡区| 一区二区三区中文字幕在线观看| 亚洲自拍偷拍九九九| 日韩国产一二三区| 国产在线精品一区二区夜色| 成人动漫一区二区三区| 高清视频在线观看一区| 天天综合色天天综合色hd| 91搞黄在线观看| 欧美一区二区三区免费| 欧美国产国产综合| 午夜精品影院在线观看| 国产露脸91国语对白| 国产精品一区二区三区精品| 亚洲国产欧美日韩| 欧美一二三在线| 综合自拍亚洲综合图不卡区| 日本视频在线一区| 91一区二区在线观看| 日本一区视频在线| 51精品国自产在线| 日韩美女视频19| 国产揄拍国内精品对白| 国内一区在线| 欧美日韩国产欧美日美国产精品| 亚洲国产精品成人久久综合一区 | 欧美日韩一区高清| 国产亚洲一区字幕| 日韩国产欧美在线播放| 99久久99久久精品免费观看| 欧美重口乱码一区二区| 欧美日韩黄色一区二区| 18欧美乱大交hd1984| 韩国精品久久久| 久久国产一区| 日韩一区二区三区视频在线观看| 亚洲欧洲国产日韩| 国产在线看一区| 日本不卡二区| 久久综合资源网| 美女任你摸久久 | 91视频免费在线观看| 在线不卡日本| 国产精品久久久久久久久快鸭| 国模冰冰炮一区二区| 日韩欧美一区二区视频在线播放 | 精品人伦一区二区三区| 在线不卡免费av| 亚洲国产一区在线观看| 96久久精品| 91麻豆精品国产91久久久| 亚洲午夜久久久久久久久电影院| 99久久久国产精品免费蜜臀| 在线精品视频一区二区| 亚洲一区二区三区自拍| 国产伦视频一区二区三区| 日韩一区二区精品在线观看| 免费在线看一区| 欧洲国产精品| 亚洲欧洲日本在线| 成人国产精品免费网站| 欧美偷拍一区二区| 天堂影院一区二区| 日本欧洲国产一区二区| 中文字幕精品一区二区精品绿巨人| 国产在线视频不卡二| 91电影在线观看| 亚洲韩国一区二区三区| 欧美日韩综合久久| 国产精品妹子av| 91一区二区在线观看| 欧美第一区第二区| 国产剧情一区二区| 欧美在线视频日韩| 美女视频网站久久| 色八戒一区二区三区| 天天综合网天天综合色| 丝袜美腿玉足3d专区一区| 亚洲欧美综合色| 国产自产精品| 国产精品女同互慰在线看| 国产a一区二区| 国产精品卡一卡二卡三| 国产精品区一区二区三含羞草| 欧美国产日韩一二三区| 国产不卡一区二区三区在线观看| 国产亚洲欧美一区在线观看| 91在线观看污| 国产视频在线观看一区二区三区| 99re免费视频精品全部| 国产欧美日韩在线| 国产精品久久久久久免费观看| 国产精品色在线| 久久精品日韩| 亚洲一区二区三区不卡国产欧美 | 久久青青草综合| 亚洲精品菠萝久久久久久久| 欧美日韩在线观看一区二区三区| 樱花影视一区二区| 日本一区视频在线观看免费| 天天av天天翘天天综合网| 色老汉一区二区三区| 久久爱另类一区二区小说| 欧美乱妇23p| jlzzjlzz亚洲日本少妇| 国产精品无遮挡| 欧美日韩国产三区| 亚洲一二三级电影| 91国产福利在线| 国产不卡视频一区| 久久一区二区三区四区| 国产精品青青草| 亚洲国产美国国产综合一区二区| 亚洲精品免费在线看| 九九**精品视频免费播放| 日韩亚洲欧美在线| 99三级在线| 亚洲午夜久久久久久久久电影院| 亚洲欧洲性图库| 日本一区二区三区免费观看| 无吗不卡中文字幕| 欧美美女一区二区在线观看| eeuss鲁片一区二区三区| 国产精品成人免费在线| 一本久道久久综合狠狠爱亚洲精品| 久久99久久久欧美国产| 精品粉嫩aⅴ一区二区三区四区| 99久久伊人精品影院| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩一区二区三区免费看| 91日韩在线专区| 性做久久久久久久免费看| 欧美精三区欧美精三区| 99伊人久久| 免费高清视频精品| 国产偷国产偷精品高清尤物| 亚洲人一区二区| 99精品欧美一区二区三区小说| 亚洲五月六月丁香激情| 欧美视频在线观看一区二区| 91九色蝌蚪成人| 亚洲最色的网站| 欧美va日韩va| 中文字幕不卡每日更新1区2区| 99精品欧美一区| 日韩成人免费看| 国产欧美一区二区三区鸳鸯浴| 一本久久综合亚洲鲁鲁五月天 | 亚洲国产高清国产精品| 处破女av一区二区| 午夜视频久久久久久| 久久久午夜精品理论片中文字幕| 久久久久久一区| 国产成人综合亚洲网站| 亚洲一区二区成人在线观看| 久久一二三国产| 在线精品视频免费观看| 国产嫩草一区二区三区在线观看| 激情丁香综合五月| 亚洲女性喷水在线观看一区| 欧美一区二区日韩一区二区| 神马一区二区影院| 国产精品久久亚洲7777| 国产乱国产乱300精品| 一区二区三区精品久久久| 亚洲精品一区二区三区精华液| 色88888久久久久久影院野外| 国产伦精品一区二区三区视频孕妇 | heyzo一本久久综合| 蜜芽一区二区三区| 一区二区成人在线视频| 久久精品亚洲精品国产欧美 | 国产精品一区二区久久不卡| 香蕉加勒比综合久久| 亚洲国产精品v| 日韩精品中文字幕一区二区三区| 正在播放亚洲| 日本一区二区三区四区高清视频 | 久久久久久久网| 制服丝袜亚洲播放| 色综合久久88色综合天天| 久久久久久国产精品mv| av一区二区久久| 成人午夜电影久久影院| 国产美女在线观看一区| 久久国产三级精品| 蜜桃视频免费观看一区| 亚洲国产精品久久久久婷婷884| 亚洲卡通欧美制服中文|