国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

在移動VR中加速修正GPU桶形失真的方法

2018-03-21 09:07:44金益
電子技術(shù)與軟件工程 2018年2期

摘 要 桶形失真是由于光線的傾斜度大引起的畫面呈桶形膨脹形狀的失真現(xiàn)象,該現(xiàn)象直接影響了移動VR中對圖像的分析理解。本文提出一種新的三維映射幾何模型,通過對圖像網(wǎng)格的預(yù)計算與近似值處理,最后在視頻編解碼器中進行圖像對比并計算圖像差值和PSNR,數(shù)據(jù)結(jié)果證明此方法很好地權(quán)衡了GPU的輸出質(zhì)量和速度,并修正了失真圖像,從而取得更好的細節(jié)處理效果。

【關(guān)鍵詞】桶形失真 移動VR 預(yù)計算 近似值

1 引言

VR技術(shù)是利用計算機生成一種三維模擬環(huán)境,通過多種傳感設(shè)備實現(xiàn)用戶與該環(huán)境進行自然交互的技術(shù)。VR正從PC端向移動端進行擴展,研究基于移動設(shè)備上的VR應(yīng)用具有重要的意義。移動端VR技術(shù)對圖像質(zhì)量的要求相當(dāng)高,因為GPU相比傳統(tǒng)的移動應(yīng)用程序需要做更多的工作負載。工作負載增加的其中一個原因是移動端的圖像內(nèi)容需要進行兩次渲染(每單位矩陣渲染一次)。另一個原因是GPU最后一次渲染使用了桶形失真過濾。這使得圖像處理器的工作負荷特別大,因此我們需要思考良策以降低負荷。

2 桶形失真

桶形失真是由于光線的傾斜度大引起的畫面呈桶形膨脹形狀的失真現(xiàn)象,該現(xiàn)象直接影響了移動VR中對圖像的分析理解。由于失真,圖像被壓縮,從而失去一部分圖像信息;而剩下的部分則意味著要用更高的分辨率進行填充。由于存在桶形失真,我們需要應(yīng)用反向轉(zhuǎn)換,這樣VR移動端的屏幕發(fā)出的光線才比較適宜。目前,對桶形失真進行校正的方法主要有模式法和控制點法兩種。其中,模式法包括基于鏡頭相對目標(biāo)姿態(tài)與位置模型的外參數(shù)地址修正法和基于鏡頭光學(xué)特性模型的內(nèi)參數(shù)地址修正法;控制點法包括多項式地址修正法和有限元法兩種;本文提出一種新的三維映射幾何模型,通過對圖像網(wǎng)格的預(yù)計算與近似值處理,最后進行圖像紋理查找,此方法很好地權(quán)衡了GPU的輸出質(zhì)量和速度,并修正了失真圖像,從而取得更好的細節(jié)處理效果。

3 設(shè)計思想及算法

3.1 失真模型

本文采用創(chuàng)建的是非零逆函數(shù)模型用于桶形失真,其以下逆函數(shù)可以進行計算:

α定義了失真量,而α由透鏡設(shè)計進行界定。p中的輸入值x和y在[-1, +1]之間是標(biāo)準(zhǔn)化,如圖1函數(shù)曲線所示。

α呈增長態(tài)勢的桶形失真圖如圖2所示,左圖代表桶形失真開始,右圖為最后圖像,中間為一段動態(tài)過程。

3.2 基于圖像網(wǎng)格的修正

該算法為在顯示圖2右圖最后圖像之前,在后期處理片段著色器中進行最后渲染的修正。修正包括兩部分:預(yù)計算和近似值。假設(shè)將VR內(nèi)容渲染至每矩陣的幀緩沖對象中,使用OpenGL ES 3.0,頂點著色器和片段著色器的程序如圖3示。centre 允許將失真集中的部分稍微移出FBO的中間位置,通常透鏡并不完全集中到屏幕的左邊或右邊。這是可以使用的用來計算失真的最準(zhǔn)確的方法。但對GPU而言,這種方法的成本非常高。由于我們僅處理兩個三角形到輸出一個矩形,一共6個點,因此頂點著色器運行很快。另外,片段著色器需要在屏幕上為每個像素進行轉(zhuǎn)換。所以對于1920×1080像素的顯示,要進行2073600次運算及紋理查找。很明顯,我們需要優(yōu)化性能,于是在圖像網(wǎng)格基礎(chǔ)上進行預(yù)計算,需要在片段著色器之外進行轉(zhuǎn)換。我們可以使用多個矩形連接組成網(wǎng)格,而不是在顯示FBO時形成一個矩形。如果現(xiàn)在對網(wǎng)格進行預(yù)轉(zhuǎn)換,便可以得到以下信息,如圖3所示。這種方法的優(yōu)點是,在初始化時間內(nèi)以上工作只需要做一次。因為透鏡參數(shù)不會隨時間變化,因此可以反復(fù)利用每一幀上的網(wǎng)格。

優(yōu)化的第二部分是近似值處理,由圖像網(wǎng)格的分辨率對其定義。網(wǎng)格點之間可以進行插補。網(wǎng)格分辨率越低產(chǎn)生的圖像質(zhì)量則越高,而網(wǎng)格分辨率越高則運行速度會越快。例如:使用32×32像素的網(wǎng)格可以生成1920 x 1080像素的顯示:(1920, 1080) / 32 = (60, 33.75)。因此,有2040個矩形和12240個點組成了頂點。頂點著色器要處理的是12240個點,而不是6個??梢院喕沃鳎鐖D4所示。

簡化片段著色器后還需要進行紋理查找,但可避免轉(zhuǎn)換工作。我們節(jié)省了大量的功耗,且分辨率更高將節(jié)省更多的功耗。不過,在移動端VR GPU上,還有另一大優(yōu)勢。由于頂點著色器可以在3D階段獨立運行,而3D階段由于要進行光柵化,因此要執(zhí)行片段著色器。如果圖像對象填充率有限,將有更多的空間可以確保按時完成圖像的渲染。

4 實驗結(jié)果

在實驗階段我們嘗試進行量化。實驗采集的圖像網(wǎng)格大小是32×32像素與160*160像素,并且為每個輸出圖像創(chuàng)建了向前轉(zhuǎn)換,針對向前轉(zhuǎn)換圖像和原始非轉(zhuǎn)換圖像輸出的不同創(chuàng)建了差值圖像,如圖5所示。

可以看到,在差值圖像中有更多紅色。但可以用數(shù)值進行表述。在視頻編解碼器的圖像對比中,PSNR值(峰值信噪比)是已知的標(biāo)準(zhǔn)。通過使用ImageMagick,并計算圖像差值和PSNR,可以得得到表1。

PSNR值更高意味兩個圖像更接近。可以清楚地看到,使用32px作為圖像的網(wǎng)格參數(shù)與使用片段渲染生成的圖像非常接近。

5 總結(jié)

本文所提出的在移動VR中加速修正GPU桶形失真的方法具有數(shù)學(xué)模型精練、算法實現(xiàn)簡單等優(yōu)點,通過使用正確的技巧,可以降低特定部分的GPU需求,并同時保持圖像的高質(zhì)量。應(yīng)用程序得以創(chuàng)建更豐富的對象或設(shè)備,以通過縮短喚醒GPU的時間,從而節(jié)省功耗。

參考文獻

[1]王雷,郭健,陳英革等.圖像桶形失真的一種校正方法[J].常熟理工學(xué)院學(xué)報,2007,21(04):104-107.

[2]何平,殷睿.基于弧面映射的圖像桶形失真幾何失真的校正方法[J].上海電氣技術(shù),2009(06):26-27.

作者簡介

金益(1980-),女,江蘇省蘇州市人。副教授。研究方向為三維動畫、虛擬現(xiàn)實。

作者單位

蘇州市職業(yè)大學(xué)計算機工程學(xué)院 江蘇省蘇州市 215104

六枝特区| 枝江市| 乐业县| 习水县| 普安县| 庆云县| 陈巴尔虎旗| 昔阳县| 任丘市| 涟源市| 那曲县| 盐山县| 平阳县| 金湖县| 青河县| 桦南县| 武汉市| 周口市| 景洪市| 湄潭县| 利川市| 荣成市| 临颍县| 乌拉特中旗| 巴彦淖尔市| 通化县| 尼玛县| 林州市| 温泉县| 通许县| 津南区| 宜阳县| 布拖县| 温州市| 神农架林区| 迁西县| 东平县| 仁布县| 湄潭县| 新野县| 鄂托克前旗|