孫 昊,陳曉兵,陳枻豪,丁軼萍,王金聲
(1.浙江傳媒學(xué)院,浙江 杭州 310018;2.澳門(mén)城市大學(xué),澳門(mén) 氹仔 999078;3.杭州文化廣播電視集團(tuán),浙江 杭州 310008)
智能時(shí)代,廣播電視行業(yè)順應(yīng)際遇,方興未艾。繼虛擬現(xiàn)實(shí)(Virtual Reality,VR)技術(shù)的興起,全新新聞生產(chǎn)模式——“VR+新聞”漸進(jìn)大眾視野,成為學(xué)界、業(yè)界的關(guān)注焦點(diǎn)。2016年伊始,央視網(wǎng)在體壇風(fēng)云人物頒獎(jiǎng)典禮上,首次采用VR技術(shù)進(jìn)行全景直播,同年,央視新聞客戶端、重慶報(bào)業(yè)集團(tuán)打造的上游新聞客戶端先后推出VR頻道,設(shè)置VR新聞發(fā)布專欄[1]。行業(yè)在技術(shù)元年的諸多嘗試,為電視新聞奠定了全新的傳播與發(fā)展思路。然而,“VR+新聞”雖以其新形式、新視野、新體驗(yàn)給予行業(yè)新的路徑遐想,但其本質(zhì)特征的呈現(xiàn)依賴于新聞圖像的高質(zhì)量、高傳輸、高儲(chǔ)存技術(shù)。目前,沒(méi)有現(xiàn)成的、純熟的VR系統(tǒng)能針對(duì)超高分辨率圖像完成有效實(shí)時(shí)瀏覽,成為亟需解決的行業(yè)技術(shù)難艱。設(shè)計(jì)與開(kāi)發(fā)有效的新聞圖像VR在線系統(tǒng),完成超高分辨率圖像的傳播,將適用于廣電新聞?lì)I(lǐng)域,也將適用于超高分辨率全景旅游、超高分辨率廣告展示等其他應(yīng)用領(lǐng)域。該共性技術(shù)的解決,將聯(lián)動(dòng)虛擬現(xiàn)實(shí)技術(shù)的多方應(yīng)用,意義深遠(yuǎn)。
虛擬現(xiàn)實(shí)VR的超高分辨率新聞圖像在線展示的技術(shù)開(kāi)發(fā),主要困囿于“超高分辨率新聞圖像瀏覽”“新聞圖像插值”“圖像加速”等技術(shù)問(wèn)題。
傳媒領(lǐng)域,新聞作為受眾獲取信息來(lái)源的常見(jiàn)方式,真實(shí)感是其向來(lái)的致力追求。新聞?wù)鎸?shí)感的特質(zhì)使其對(duì)新聞圖像的質(zhì)量與精度愈發(fā)有所要求。為此,相關(guān)專家曾作出許多嘗試。GRIFFIN W[2]等人開(kāi)發(fā)出一例以靜態(tài)多分辨率環(huán)境為技術(shù)主導(dǎo)的大圖像瀏覽系統(tǒng)。此系統(tǒng)針對(duì)各像素進(jìn)行多細(xì)節(jié)層次(Levels of Detail,LOD)選取的方式,實(shí)現(xiàn)大圖像的快速瀏覽,但此舉忽視了緩存和繪畫(huà)圖像數(shù)據(jù)的載入等問(wèn)題,也未有相宜的超出硬件限制的虛擬化算法。Zoomify大圖像瀏覽系統(tǒng)由Zoomify公司開(kāi)發(fā),選用AS語(yǔ)言,以Flash的形式呈現(xiàn)大圖像。此系統(tǒng)將大圖像進(jìn)行分塊,繼而完成圖像中不同分辨率的細(xì)節(jié)層次的結(jié)構(gòu)構(gòu)造。Zoomify僅支持TIFF,BMP和JPEG三種格式的圖像儲(chǔ)存,而此類格式的圖像都有計(jì)量存儲(chǔ)容量上限,難以支持1億字節(jié)大小以上的繪畫(huà)圖像的瀏覽。
近年來(lái),諸多系統(tǒng)對(duì)于高分辨率新聞圖像瀏覽技術(shù)應(yīng)用的探索[3-6],為行業(yè)發(fā)展作出貢獻(xiàn),但仍未解決該技術(shù)為實(shí)現(xiàn)所面臨的緩存及大圖像數(shù)據(jù)載入等核心問(wèn)題?,F(xiàn)今,新聞圖像瀏覽系統(tǒng)常受置于計(jì)算機(jī)內(nèi)存大小的限制,因而難以實(shí)行高分辨率圖像的便捷瀏覽,是困擾技術(shù)持續(xù)發(fā)展應(yīng)用的一大難點(diǎn)。
20世紀(jì)之前,研究者主要采用基于插值的方法來(lái)解決單幅圖像超分辨問(wèn)題,如雙線性插值以及基于雙線性的改進(jìn)插值方法[7]。超高分辨率圖像的自由放縮,依附于圖像插值技術(shù)的處理。圖像插值利用已知原始圖像相鄰像素點(diǎn)的像素值,求解未知目標(biāo)圖像像素點(diǎn)的像素值,以便由原始圖像再生出更高或更低分辨率的圖像。在大圖像瀏覽的預(yù)處理階段,為生成圖像不同分辨率的多分辨率層次,需由圖像插值運(yùn)算實(shí)現(xiàn)。TIAN[8]最先提出基于DE的RDH算法,通過(guò)像素對(duì)之間的差值進(jìn)行擴(kuò)展以嵌入秘密數(shù)據(jù)。常見(jiàn)的圖像處理插值法有最近鄰元法、雙線性內(nèi)插法等。但此類技術(shù)可能會(huì)造成插值生成的圖像灰度上的不連續(xù),在灰度變化的地方可能出現(xiàn)明顯的鋸齒狀或計(jì)算量較大、高頻分量受損、圖像輪廓模糊等問(wèn)題。
圖像插值技術(shù)如何適用于VR高分辨率圖像的呈現(xiàn)亟需解決。TALAB[9]等人利用sober算子確定圖像的邊緣區(qū)域,原圖像像素點(diǎn)處于邊緣區(qū)域時(shí),沿著sober算子的邊緣方向進(jìn)行自適應(yīng)插值,而當(dāng)原圖像的像素點(diǎn)不屬于圖像的邊緣時(shí),則采用傳統(tǒng)的雙線性插值算法,大大降低運(yùn)行速度。
傳統(tǒng)的CPU對(duì)每層不同分辨率的圖像像素進(jìn)行插值運(yùn)算,其速度相當(dāng)緩慢。而在構(gòu)造細(xì)節(jié)層次圖像、實(shí)現(xiàn)多層次縮小時(shí),這是必備步驟。統(tǒng)一計(jì)算設(shè)備架構(gòu)(Compute Unified Device Architecture,CUDA)是一種由NVIDIA公司推出的通用并行計(jì)算架構(gòu),提供C語(yǔ)言編程接口,是為密集運(yùn)算開(kāi)發(fā)的一套工具軟件。其對(duì)程序命令啟動(dòng)數(shù)千個(gè)線程進(jìn)行計(jì)算,配置與管理顯卡內(nèi)存和所有線程,解決GPU復(fù)雜的計(jì)算問(wèn)題。在計(jì)算機(jī)圖形學(xué)分支中的平面設(shè)計(jì)軟件或地圖等領(lǐng)域,CUDA的圖形加速優(yōu)勢(shì)明顯。但VR屬于三維虛擬技術(shù),其多維的真實(shí)感的傳遞需要巨大的數(shù)據(jù)吞吐。CUDA與VR系統(tǒng)的對(duì)接,需要進(jìn)一步探索與實(shí)踐。
“VR+新聞”新聞報(bào)道中,其超高分辨率新聞圖像的傳輸,需倚仗超高分辨率圖像的快速多分辨率表達(dá)及漸進(jìn)式傳輸方法、超高分辨率圖像的緩存方法、超高分辨率圖像的存儲(chǔ)及訪問(wèn)方法,從而使形式得到技術(shù)支撐。
對(duì)于超高分辨率圖像的多分辨率表達(dá),采用圖像不同分辨率的細(xì)節(jié)層次的方法。圖像不同分辨率的細(xì)節(jié)層次的最下層設(shè)置為分辨率最高的圖像(也稱為原始圖像),越往上層,其層所代表的圖像的分辨率也越低。通過(guò)預(yù)先處理,得到各種不同分辨率的細(xì)節(jié)層次金字塔圖像模型。
具體圖像的不同細(xì)節(jié)的多分辨率金字塔模型的構(gòu)建過(guò)程如下:將原始圖像作為金字塔最底層的圖像,并將其序號(hào)標(biāo)記為L(zhǎng)0。通過(guò)對(duì)該圖像進(jìn)行縮小,一般按照長(zhǎng)寬各縮小一半計(jì)算,得到一副往上一層的圖像。該分辨率的藝術(shù)圖像被標(biāo)記為序號(hào)L1。以此類推,直至得到一個(gè)在Web上可以流暢展示的圖像,該分辨率為最小的分辨率圖像,標(biāo)記為L(zhǎng)N。
為實(shí)現(xiàn)觀眾放大縮小新聞圖像的流暢感,需在金字塔多分辨率的基礎(chǔ)上增加一個(gè)插值層,使得基于Web的瀏覽比通過(guò)客戶端軟件瀏覽更加流暢。為了提高插值的速度,采用CUDA的應(yīng)用程序接口(Application Programming Interface,API)來(lái)利用GPU的并行計(jì)算。將CUDA中的圖像卷積函數(shù)中的中間數(shù)據(jù)預(yù)先保存到常量寄存器,在全局寄存器中重新申請(qǐng)新的存儲(chǔ)空間來(lái)保存要瀏覽的圖像。每個(gè)進(jìn)程塊可以劃分為8×8個(gè)不同的線程,每1個(gè)線程按照實(shí)際需要被設(shè)定完成一個(gè)圖像的像素點(diǎn)的瀏覽展示的計(jì)算。進(jìn)程中的所有線程完成后,將所有的計(jì)算結(jié)果進(jìn)行拼接和融合,保存在全局寄存器中。
首先在服務(wù)器端構(gòu)建緩存系統(tǒng),對(duì)于緩存的圖像數(shù)據(jù)采用不同的組織方式,每個(gè)放縮級(jí)別的圖像塊表示下一放縮級(jí)別的4個(gè)圖像塊。為了減少緩存中文件數(shù)據(jù)的數(shù)量,將同一層的所有的圖像塊存儲(chǔ)在同一個(gè)相同的文件中。緩存中每個(gè)圖像文件會(huì)給定一個(gè)索引號(hào)來(lái)表示它在這一層中。這個(gè)索引號(hào)的長(zhǎng)度能夠通過(guò)公式得到,公式如下所示:
式中:LTid表示索引號(hào)的最短位長(zhǎng)度。索引號(hào)的產(chǎn)生,基于放縮級(jí)別和在相應(yīng)放縮級(jí)別上的z軸次序的圖像塊序列號(hào)。式(1)描述了如何確定緩存中每個(gè)圖像塊的索引號(hào)。
圖1(a)描述了一個(gè)提供兩個(gè)放縮級(jí)別的圖像服務(wù)器。在放縮級(jí)別1中有4個(gè)圖像塊,在放縮級(jí)別2中有16個(gè)圖像塊。在較低的放縮級(jí)別的圖像塊(放縮級(jí)別1)比較高級(jí)的圖像塊(放縮級(jí)別2)有更小的索引號(hào)。處于同一個(gè)放縮級(jí)別中的圖像塊,每個(gè)圖像塊的索引號(hào)是按照z軸次序給出的。在某個(gè)放縮級(jí)別的整個(gè)圖像中,給定一個(gè)圖像塊的行數(shù)和列數(shù),這個(gè)圖像塊的索引號(hào)能夠通過(guò)以下公式獲得:
式中:ZL,RN,CN分別表示放縮級(jí)別、行數(shù)和列數(shù),TID是一個(gè)計(jì)算某個(gè)給定放縮級(jí)別、行數(shù)、列數(shù)的圖像塊索引號(hào)的函數(shù),Bit_shuffling是一個(gè)根據(jù)行數(shù)和列數(shù)獲得z軸序列編碼的函數(shù)。正如圖1(b)所描述的那樣,對(duì)行數(shù)和列數(shù)進(jìn)行交叉2進(jìn)制編碼,從而得到圖像塊的z軸序列的2進(jìn)制編碼。
圖1 圖像塊索引號(hào)的產(chǎn)生
在分割階段,先對(duì)原始的超高分辨率圖像進(jìn)行縮小采樣,寬、高各自分別縮小一半,然后在對(duì)其不斷縮小,達(dá)到最低分辨率。這個(gè)最低分辨率就是縮略圖。在生成多分辨率圖像的金字塔模型,針對(duì)每個(gè)分辨率的藝術(shù)圖像還要進(jìn)行小塊的仔細(xì)劃分,每一個(gè)8×8的小塊,采用自定義格式,共包含8個(gè)部分:超高清圖像文件頭部信息、超高清圖像分層的信息、拍攝的色溫等信息、不同分辨率的細(xì)節(jié)層次的結(jié)構(gòu)信息、超高清圖像的細(xì)分塊的信息數(shù)據(jù)以及縮略圖。
針對(duì)原型系統(tǒng)開(kāi)發(fā)思路、主要模塊、工作流程的細(xì)化設(shè)計(jì),將服務(wù)于超高分辨率新聞圖像VR在線展示技術(shù)系統(tǒng)在“新聞+VR”新領(lǐng)域的實(shí)施。
系統(tǒng)達(dá)成的理想效果是,觀眾在VR上流暢地瀏覽超高分辨率新聞圖像,能夠進(jìn)行放大、縮小、上下左右移動(dòng)等操作。超高分辨率新聞圖像的在線展示系統(tǒng)可分成后臺(tái)數(shù)據(jù)庫(kù)(用于存放各種古代圖像的信息)、前臺(tái)瀏覽展示系統(tǒng)。后臺(tái)數(shù)據(jù)庫(kù)管理子系統(tǒng)包含數(shù)據(jù)庫(kù)管理客戶端和數(shù)據(jù)庫(kù)管理服務(wù)器。新聞發(fā)布者可以通過(guò)數(shù)據(jù)庫(kù)管理客戶端向服務(wù)器端上傳大圖像。數(shù)據(jù)庫(kù)管理服務(wù)器可以接收大圖像,并使用切割工具將大圖像切割成不同分辨率的小面片存儲(chǔ)。前臺(tái)瀏覽子系統(tǒng)滿足觀眾在VR端瀏覽切割好的大圖像。
系統(tǒng)主要包含服務(wù)器端模塊、客戶端模塊以及預(yù)處理模塊三個(gè)模塊。其中,客戶端模塊與目前流行的VR開(kāi)源系統(tǒng)對(duì)接,預(yù)處理模塊主要對(duì)圖像的格式進(jìn)行轉(zhuǎn)換、生成多分辨率圖像、對(duì)圖像進(jìn)行切分。客戶端和服務(wù)器端模塊中,除了在線展示模塊沒(méi)有持久化數(shù)據(jù)層之外,其他的模塊都采用了J2EE的三層架構(gòu)。
(1)業(yè)務(wù)邏輯層。該層重點(diǎn)讓服務(wù)器端運(yùn)用JAVA編成JaVa Bean,通過(guò)Cache技術(shù)對(duì)自定義文件圖像塊進(jìn)行加速讀取。
(2)服務(wù)器端表示層。該層通過(guò)JSP技術(shù)來(lái)呈現(xiàn)對(duì)應(yīng)的頁(yè)面,并運(yùn)用
(3)客戶端表示層。該層通過(guò)js,css及html等技術(shù)手段,運(yùn)用客戶端VR系統(tǒng)來(lái)呈現(xiàn)新聞圖片,完成瀏覽器與客戶端在線實(shí)時(shí)交互。
服務(wù)器端和客戶端的交互采用了AJAX技術(shù),其在不更新整個(gè)頁(yè)面的前提下維護(hù)頁(yè)面中的數(shù)據(jù),使得Web應(yīng)用程序可以更加迅速地響應(yīng)觀眾的動(dòng)作,避免重復(fù)發(fā)送網(wǎng)絡(luò)上沒(méi)有改變的內(nèi)容。
大圖像瀏覽功能采用JS技術(shù)開(kāi)發(fā),由圖像的移動(dòng)和放縮兩個(gè)部分組成。為了提高放縮的層次性,圖像的放縮在自定義所保存的不同分辨率的細(xì)節(jié)層次的任何兩層之間都新加了四個(gè)層次,每?jī)蓪又g水平和垂直方向均相差0.2的比率。為了提高中間層次圖像的顯示效果,采用對(duì)不同分辨率的細(xì)節(jié)層次高一層分辨率的圖像進(jìn)行縮小。為了使圖像數(shù)據(jù)在到達(dá)客戶端之前能正常顯示,要求新聞圖像實(shí)現(xiàn)模糊到清晰的過(guò)渡,即圖像數(shù)據(jù)未到達(dá)客戶端前將小圖像放大進(jìn)行模糊顯示,圖像塊全部完成后再進(jìn)行替換,最終實(shí)現(xiàn)超高分辨率圖像的交互速度大于每秒15幀。
原型系統(tǒng)利用緩存技術(shù)、加速技術(shù)、新聞圖像多分辨率表達(dá)技術(shù)等,實(shí)現(xiàn)超高分辨率新聞圖像在虛擬現(xiàn)實(shí)VR系統(tǒng)上實(shí)時(shí)快速瀏覽,開(kāi)發(fā)的工作流程如圖2所示。
圖2 系統(tǒng)開(kāi)發(fā)工作流程
(1)系統(tǒng)開(kāi)發(fā)語(yǔ)言。使用JNI封裝切割程序,便于服務(wù)器端的servlet程序能直接方便地調(diào)用切割程序,如圖3所示。
圖3 系統(tǒng)開(kāi)發(fā)語(yǔ)言
(2)超大圖像的多分辨率切割和表達(dá)。實(shí)現(xiàn)對(duì)圖像的分步驟切割,并從服務(wù)器端實(shí)時(shí)地把切割進(jìn)度傳遞到客戶端,最終以進(jìn)度條的形式將切割進(jìn)度實(shí)時(shí)顯示出來(lái)。原先的切割程序調(diào)用一次即可完成對(duì)整個(gè)圖片的切割,這樣,上層的調(diào)用代碼無(wú)法掌握切割的進(jìn)度,而在切割幾個(gè)GB的大圖像時(shí)又比較耗時(shí),如果不能讓用戶實(shí)時(shí)看到切割進(jìn)度,用戶的體驗(yàn)會(huì)比較差。
(3)Web瀏覽的兼容性問(wèn)題解決。解決大圖像只能在Firefox瀏覽器上正常瀏覽,在其他瀏覽器上無(wú)法正??s放的兼容問(wèn)題,如圖4所示。
圖4 Web瀏覽的兼容性
(4)基本解決圖像瀏覽時(shí)出現(xiàn)的卡頓、不流暢的問(wèn)題。具體工作如表1所示。
表1 解決瀏覽過(guò)程中的卡頓、不流暢問(wèn)題的具體工作
科技讓電視新聞革新,創(chuàng)造了“VR+新聞”的新型報(bào)道模式,使觀眾沉浸到交互式三維動(dòng)態(tài)視景中。超高分辨率新聞圖像系統(tǒng)將以快速多分辨率表達(dá)以及漸進(jìn)式傳輸、存儲(chǔ)和訪問(wèn)方法,實(shí)現(xiàn)超高清新聞數(shù)字圖像多分辨率的表達(dá)建模及數(shù)據(jù)索引,提升VR領(lǐng)域在全景新聞圖像展示方面的應(yīng)用水平,繼而加速?gòu)V電媒體融合進(jìn)程,不斷提升“VR+新聞”模式的影響力。