本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種圖像處理的方法及裝置。
背景技術(shù):
在目前的交互式應(yīng)用中,多個虛擬對象在交互式應(yīng)用的應(yīng)用界面上進(jìn)行交互,每個虛擬對象處于應(yīng)用界面上的某個位置時,都有有限的可視范圍,在可視范圍之外的區(qū)域都采用遮罩層進(jìn)行視線遮擋。其中,實現(xiàn)遮罩層的效果是通過將每幀計算好的遮罩圖上傳到顯卡,然后通過像素后處理程序來完成渲染效果和平滑效果。
由于在交互過程中,每個虛擬對象在應(yīng)用界面上的可視范圍可能會發(fā)生變化,每當(dāng)虛擬對象的位置變化時,終端設(shè)備都需要計算虛擬對象當(dāng)前所在位置的可視范圍,以及計算敵方虛擬對象當(dāng)前的可視范圍,以發(fā)現(xiàn)進(jìn)入自身的可視范圍的敵方虛擬對象,或者避免自身被敵方虛擬對象發(fā)現(xiàn)。相應(yīng)的,操縱敵方虛擬對象的終端設(shè)備也需要實時計算自身當(dāng)前的可視范圍。
為了保證渲染效果在空間上的平滑效果即保證分界邊緣過度自然,一般針對遮罩層的渲染是基于像素擴(kuò)大的模糊處理。而對于遮罩層的分界邊緣的模糊處理則是采用模式分支的方式來實現(xiàn)遮罩層的分界邊緣的平滑效果。但這兩種處理方式下,在各虛擬對象計算可視范圍以及實時更新遮罩圖的過程中,終端設(shè)備需要進(jìn)行大量、高頻的運(yùn)算,從而導(dǎo)致終端設(shè)備的性能損耗較大。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種圖像處理的方法及裝置,能夠解決現(xiàn)有技術(shù)中終端設(shè)備在實時更新遮罩圖時性能損耗較大的問題。
第一方面提供一種圖像處理的方法,該方法包括:
獲取虛擬對象當(dāng)前在應(yīng)用界面的位置信息,根據(jù)所述位置信息查詢與所述位置信息對應(yīng)的視線遮擋數(shù)據(jù);
根據(jù)所述虛擬對象當(dāng)前在所述應(yīng)用界面上的操作狀態(tài),將所述視線遮擋數(shù)據(jù)生成第一遮罩層;
在預(yù)設(shè)的單位時長內(nèi),將得到的所述第一遮罩層輸入包含至少兩個遮罩層的顯示單元,以替換所述至少兩個遮罩層中生成時間最早的第二遮罩層;
將所述顯示單元中所述第一遮罩層和除去所述第二遮罩層之外的所述至少兩個遮罩層混合后輸出到所述應(yīng)用界面。
本發(fā)明第二方面提供一種圖像處理的裝置,具有實現(xiàn)對應(yīng)于上述第一方面提供的圖像處理的方法的功能。所述功能可以通過硬件實現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實現(xiàn)。硬件或軟件包括一個或多個與上述功能相對應(yīng)的單元,所述單元可以是軟件和/或硬件。
一種可能的設(shè)計中,所述圖像處理的裝置包括:
獲取單元,用于獲取虛擬對象當(dāng)前在應(yīng)用界面的位置信息,根據(jù)所述位置信息查詢與所述位置信息對應(yīng)的視線遮擋數(shù)據(jù);
處理單元,用于根據(jù)所述虛擬對象當(dāng)前在所述應(yīng)用界面上的操作狀態(tài),將所述獲取單元獲取的所述視線遮擋數(shù)據(jù)生成第一遮罩層;
在預(yù)設(shè)的單位時長內(nèi),將得到的所述第一遮罩層輸入包含至少兩個遮罩層的顯示單元,以替換所述至少兩個遮罩層中生成時間最早的第二遮罩層;
將所述顯示單元中所述第一遮罩層和除去所述第二遮罩層之外的所述至少兩個遮罩層混合后輸出到所述應(yīng)用界面。
相較于現(xiàn)有技術(shù),本發(fā)明提供的方案中,根據(jù)虛擬對象當(dāng)前的位置信息即可直接查詢到對應(yīng)的視線遮擋數(shù)據(jù),能夠減少運(yùn)算。然后將所述視線遮擋數(shù)據(jù)生成第一遮罩層,并在單位時長內(nèi)上傳到顯示單元,以替換顯示單元中最早的遮罩層,通過將顯示單元中剩余的遮罩層混合并輸出,更新所述應(yīng)用界面上的遮罩層的灰度值的權(quán)重,從而實現(xiàn)遮罩圖的逐幀的平滑過渡,也能夠降低高頻的上傳遮罩圖所帶來的運(yùn)算負(fù)荷。
附圖說明
圖1為本實施例中應(yīng)用界面的一種布局示意圖;
圖2為本實施例中圖像處理的方法的一種流程示意圖;
圖3為本實施例中應(yīng)用界面上遮罩圖的迷霧效果示意圖;
圖4為本實施例中用于圖像處理的裝置的一種結(jié)構(gòu)示意圖;
圖5為本實施例中用于圖像處理的手機(jī)的一種結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明實施例提供了一種圖像處理的方法及裝置,用于互聯(lián)網(wǎng)通信技術(shù)領(lǐng)域,能夠?qū)崿F(xiàn)遮罩圖的逐幀的平滑過渡,以及降低高頻的上傳遮罩圖所帶來的運(yùn)算負(fù)荷和降低可視范圍的實時計算所帶來的運(yùn)算負(fù)荷。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元,本文中所出現(xiàn)的單元的劃分,僅僅是一種邏輯上的劃分,實際應(yīng)用中實現(xiàn)時可以有另外的劃分方式,例如多個單元可以結(jié)合成或集成在另一個系統(tǒng)中,或一些特征可以忽略,或不執(zhí)行,另外,所顯示的或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元之間的間接耦合或通信連接可以是電性或其他類似的形式,本文中均不作限定。并且,作為分離部件說明的單元或子單元可以是也可以不是物理上的分離,可以是也可以不是物理單元,或者可以分布到多個電路單元中,可以根據(jù)實際的需要選擇其中的部分或全部單元來實現(xiàn)本發(fā)明實施例方案的目的。
本發(fā)明中的圖像處理的方法可以是終端設(shè)備單獨完成,也可以是服務(wù)器和終端設(shè)備共同完成。本發(fā)明中的終端設(shè)備安裝了交互式應(yīng)用(或稱為客戶端),交互式應(yīng)用包括應(yīng)用界面,虛擬對象是指運(yùn)行交互式應(yīng)用的虛擬角色,例如游戲中的英雄角色。
其中,所述應(yīng)用界面劃分為多個區(qū)域單元,例如可以是按照m*n組成的像素格劃分為一個區(qū)域單元,m和n均為正整數(shù),m與n可相等或不相等。在應(yīng)用界面上,每個區(qū)域單元在應(yīng)用界面上都有其對應(yīng)的可視范圍,在應(yīng)用界面上的各類對象都占據(jù)一定的區(qū)域單元,區(qū)域單元能夠表示各類對象在應(yīng)用界面上的位置信息。具體如圖1所示,圖1為應(yīng)用界面上的布局圖,其中,虛線方框所圍成的區(qū)域則表示一個區(qū)域單元。
可視范圍是指針對某個區(qū)域單元當(dāng)前在應(yīng)用界面上的位置,結(jié)合該區(qū)域單元周圍的障礙物、布局等,并通過視線檢測和該區(qū)域單元的視野范圍綜合計算得到的在該區(qū)域單元的位置時所能見到的區(qū)域單元。該可視范圍可通過遮罩層形成遮擋的渲染效果來分界。具體的,可視范圍可通過視線遮擋數(shù)據(jù)來體現(xiàn)。
遮罩層是指根據(jù)應(yīng)用界面上的某些位置的視線遮擋數(shù)據(jù)生成的圖像,將與遮罩層相鏈接的圖形中的圖像遮蓋起來,可以將多個層組合放在一個遮罩層下,以創(chuàng)建出多樣的效果。其中,遮罩層由應(yīng)用界面上某個區(qū)域單元的視線遮擋數(shù)據(jù)換算得到,得到的遮罩層上傳至顯示單元后,對遮罩層的分界邊緣處的像素進(jìn)行處理,使得分界邊緣在空間上形成迷霧的平滑效果。在實際的游戲場景中,遮罩層的效果是以戰(zhàn)爭迷霧的形態(tài)體現(xiàn),戰(zhàn)爭迷霧是指在戰(zhàn)爭游戲中制造雙方戰(zhàn)術(shù)不可預(yù)測性的機(jī)制。戰(zhàn)爭迷霧一般為雙層,第一層為:地型黑霧(即連地理地形地貌都不可見只是黑色一片);第二層為:視野迷霧(即在友方單位不在的情況下,該區(qū)域視野丟失)。
其中,應(yīng)用界面上的各位置對應(yīng)的視線遮擋數(shù)據(jù)中的部分或全部視線遮擋數(shù)據(jù)可以在應(yīng)用界面之外預(yù)計算得到,通過預(yù)計算可以使得玩家在登錄交互式應(yīng)用后,直接根據(jù)當(dāng)前獲取到的玩家操縱的虛擬對象所處的位置信息,即可查詢到預(yù)計算時的視線遮擋數(shù)據(jù),一定程度上能夠極大減少運(yùn)算負(fù)荷,同時還能提高應(yīng)用界面的流暢性。由于應(yīng)用界面上可能會包括靜態(tài)障礙物和動態(tài)障礙物中的至少一種,那么,在預(yù)計算時,可以基于所述應(yīng)用界面中的靜態(tài)障礙物和動態(tài)障礙物中的至少一種計算得到所述應(yīng)用界面上的各區(qū)域單元所對應(yīng)的視線遮擋數(shù)據(jù),然后將預(yù)計算得到的各視線遮擋數(shù)據(jù)存儲在本地。
預(yù)計算是指基于在執(zhí)行算法前輸入數(shù)據(jù)已知的基本假設(shè),在開始時就需要知道問題的所有輸入數(shù)據(jù),而且在解決一個問題后就要立即輸出結(jié)果,可以將這類具有問題的所有信息的前提下所設(shè)計出的算法稱為離線算法。
服務(wù)器和終端設(shè)備都可完成預(yù)計算的功能,也都可以在應(yīng)用界面針對存在動態(tài)障礙物時實時進(jìn)行視線遮擋數(shù)據(jù)的計算。終端設(shè)備也可以協(xié)同服務(wù)器完成預(yù)計算或者存在動態(tài)障礙物時的實時計算。若基于動態(tài)障礙物的實時計算由服務(wù)器執(zhí)行,那么可由服務(wù)器將實時計算得到的視線遮擋數(shù)據(jù)發(fā)送給終端設(shè)備。本發(fā)明中,各虛擬對象可登錄交互式應(yīng)用的應(yīng)用界面,然后在應(yīng)用界面上與其他虛擬對象交互。
其中的終端設(shè)備可以是手機(jī)、平板電腦、個人數(shù)字助理(英文全稱:Personal Digital Assistant,英文簡稱:PDA)、銷售終端(英文全稱:Point of Sales,)英文簡稱:POS)、車載電腦等任意終端設(shè)備。
為解決上述技術(shù)問題,本發(fā)明實施例主要提供以下技術(shù)方案:
分別對應(yīng)用界面上的各個區(qū)域單元的視線遮擋數(shù)據(jù)進(jìn)行預(yù)計算,并將區(qū)域單元與對應(yīng)的視線遮擋數(shù)據(jù)存儲在本地。在玩家選擇虛擬對象且進(jìn)入應(yīng)用界面后,在玩家實時操縱虛擬對象的過程中,根據(jù)可通過先檢測出虛擬對象當(dāng)前所在的位置信息,然后根據(jù)位置信息所在的區(qū)域單元查詢與該區(qū)域單元對應(yīng)的視線遮擋數(shù)據(jù)。隨后,便可根據(jù)查詢到的視線遮擋數(shù)據(jù)實時換算為對應(yīng)的遮罩層,如此,通過預(yù)計算即可減少在玩家實時操作應(yīng)用界面過程中要實時計算生成遮罩層所需的視線遮擋數(shù)據(jù)的操作,極大節(jié)省了運(yùn)算時間,當(dāng)然也能夠降低運(yùn)算負(fù)荷,降低對終端設(shè)備的硬件要求。
此外,為了使得輸出到應(yīng)用界面的遮罩層能夠產(chǎn)生平滑的效果,還設(shè)定在每一個預(yù)設(shè)時長內(nèi)上傳一個遮罩層來替換顯示單元中較早的遮罩層,通過每幀圖像渲染時,連續(xù)兩次以上上傳的遮罩層之間的插值來實時更新迷霧的遮罩效果,在每一個預(yù)設(shè)時長內(nèi)如此反復(fù)。這樣既能夠達(dá)到迷霧遮罩的逐幀平滑過渡的效果,又能夠避免頻繁的上傳實時生成的遮罩層至顯示單元,給顯示單元造成超負(fù)荷的現(xiàn)象。
需要說明的是,本發(fā)明中的用于圖像處理的裝置可以是設(shè)置在裝置端(包括終端設(shè)備或服務(wù)器),在有些場景下,也可以設(shè)置在終端設(shè)備中作為具備圖像處理功能的客戶端,本發(fā)明的下述實施例主要是以該裝置設(shè)置于終端設(shè)備端作為服務(wù)端為例,若該裝置為設(shè)置于終端設(shè)備中的客戶端,那么,在進(jìn)行圖像處理時,本發(fā)明實施例中圖像處理的操作均可由該客戶端完成,具體該裝置設(shè)置于哪些類型的設(shè)備,本發(fā)明不作限定。
請參照圖2,以下從對本發(fā)明提供一種圖像處理的方法進(jìn)行舉例說明,本發(fā)明實施例包括:
101、獲取虛擬對象當(dāng)前在應(yīng)用界面的位置信息,根據(jù)所述位置信息查詢與所述位置信息對應(yīng)的視線遮擋數(shù)據(jù)。
由于所述應(yīng)用界面可能會包括靜態(tài)障礙物和動態(tài)障礙物中的至少一種,那么,在進(jìn)行預(yù)計算時,所述應(yīng)用界面上的各區(qū)域單元所對應(yīng)的視線遮擋數(shù)據(jù)可以基于所述應(yīng)用界面中的靜態(tài)障礙物和動態(tài)障礙物中的至少一種計算得到,所述應(yīng)用界面上的各區(qū)域單元所對應(yīng)的視線遮擋數(shù)據(jù)存儲在本地。
若基于所述應(yīng)用界面中的動態(tài)障礙物計算,那么需要預(yù)測該動態(tài)障礙物在可能出現(xiàn)的各個位置,然后針對各個位置分別計算出對應(yīng)的視線遮擋數(shù)據(jù),然后將得到的視線遮擋數(shù)據(jù)存儲在本地。在預(yù)計算時,可以計算同一動態(tài)障礙物在應(yīng)用界面的部分或全部動態(tài)位置對應(yīng)的視線遮擋數(shù)據(jù),具體根據(jù)實際應(yīng)用設(shè)計需求而定,本發(fā)明不作限定。下面對預(yù)計算和實時計算視線遮擋數(shù)據(jù)進(jìn)行說明:
一、預(yù)計算
首先,獲取障礙物的第二位置信息,該障礙物可包括靜態(tài)障礙物和動態(tài)障礙物中的至少一種。
然后,通過視線檢測和所述第二位置信息的視野范圍計算每個區(qū)域單元的可視范圍,區(qū)域單元的可視范圍用于所述虛擬對象根據(jù)虛擬對象當(dāng)前的位置信息確定所述虛擬對象當(dāng)前的可視范圍,以及根據(jù)另一虛擬對象當(dāng)前的位置信息確定所述另一虛擬對象當(dāng)前的可視范圍。
可知,預(yù)計算時,即可僅針對基于靜態(tài)障礙物的可視范圍的計算,這樣即可達(dá)到減少終端設(shè)備在運(yùn)行應(yīng)用界面時的運(yùn)算負(fù)荷,且靜態(tài)障礙物為固定位置和固定數(shù)量,所以預(yù)計算時較為簡單,預(yù)計算的結(jié)果占用存儲的空間也較小。
還可以僅針對基于動態(tài)障礙物的可視范圍的計算,由于動態(tài)障礙物的數(shù)目可能不固定,或者在應(yīng)用界面的位置也會動態(tài)變化,動態(tài)障礙物的位置變化時,會影響到本地存儲的其當(dāng)前位置周邊的區(qū)域單元的可視范圍的正確性。所以,可以預(yù)先根據(jù)動態(tài)障礙物的軌跡,對軌跡中的至少一個點進(jìn)行了可視范圍的預(yù)計算。那么,在玩家實時操控虛擬對象時,便不需要在去實時計算沒有存儲的動態(tài)障礙物存在時的視線遮擋數(shù)據(jù),由此可見,能夠減少終端設(shè)備在運(yùn)行應(yīng)用界面時的運(yùn)算負(fù)荷。
二、實時計算
考慮到動態(tài)障礙物的軌跡變化,如果基于動態(tài)障礙物的軌跡上的各個點進(jìn)行預(yù)計算,那么就需要考慮到變化到每一個點時對應(yīng)區(qū)域單元的可視范圍,這樣,計算復(fù)雜,且需要占據(jù)更多的存儲空間。所以,本發(fā)明還提供一種機(jī)制以優(yōu)化預(yù)計算的功能,具體為:
若所述應(yīng)用界面上的各區(qū)域單元所對應(yīng)的視線遮擋數(shù)據(jù)基于所述應(yīng)用界面中的靜態(tài)障礙物計算得到,則當(dāng)在所述應(yīng)用界面上,所述位置信息對應(yīng)的可視范圍內(nèi)存在目標(biāo)動態(tài)障礙物,本地未存儲存在所述目標(biāo)動態(tài)障礙物時所述目標(biāo)動態(tài)障礙物在所述應(yīng)用界面的第一位置信息的視線遮擋數(shù)據(jù),本發(fā)明實施例還包括:
通過視線檢測和所述第一位置信息的視野范圍計算所述第一位置信息當(dāng)前的可視范圍,然后將所述第一位置信息當(dāng)前的可視范圍存儲,以替換本地存儲的第一位置信息的可視范圍;所述第一位置信息當(dāng)前的可視范圍用于所述虛擬對象所述虛擬對象當(dāng)前的可視范圍。
本方案中,可以僅針對動態(tài)障礙物的軌跡上的至少一個點(例如按照一定規(guī)則選取)進(jìn)行預(yù)計算,然后在玩家操控虛擬對象過程中,當(dāng)某些區(qū)域單元的可視范圍內(nèi)出現(xiàn)的動態(tài)障礙物在一定程度上影響到這些區(qū)域單元的可視范圍時,則可實時針對該動態(tài)障礙物所在的位置來重新計算這些區(qū)域單元的可視范圍。當(dāng)然,若動態(tài)障礙物的位置變化對某些區(qū)域單元的可視范圍影響較小時(例如出現(xiàn)在這些區(qū)域單元的可視范圍的邊界附近時),則可不必重新計算這些區(qū)域單元的可視范圍,而是僅針對影響較大的區(qū)域單元的可視范圍進(jìn)行重新計算即可,這樣,也能減少不必要的計算,從而降低運(yùn)算負(fù)荷。
102、根據(jù)所述虛擬對象當(dāng)前在所述應(yīng)用界面上的操作狀態(tài),將所述視線遮擋數(shù)據(jù)生成第一遮罩層。
103、在預(yù)設(shè)的單位時長內(nèi),將得到的所述第一遮罩層輸入包含至少兩個遮罩層的顯示單元,以替換所述至少兩個遮罩層中生成時間最早的第二遮罩層。
其中,第二遮罩層為顯示單元上一次作為輸出的遮罩層中的生成時間最早的遮罩層。例如,顯示單元中原本已輸入遮罩層3和遮罩層4,遮罩層3在遮罩層4之前生成,那么在上傳遮罩層5后,遮罩層5便會替換遮罩層3。此外,所選擇的有效的遮罩層為至少兩個,具體選擇要在步驟104中混合的遮罩層可考慮是否會出現(xiàn)延遲現(xiàn)象,或者,是否存在有些遮罩層沒有用到等因素來決定,本發(fā)明不作限定。需要說明的是,被替換掉的第二遮罩層可以直接刪掉,也可以被臨時存儲,但不作為本次顯示單元的輸出。
可選的,還可以為遮罩層設(shè)定一個計時器,在計時器計時觸發(fā)之后,計時結(jié)束之前,都可上傳遮罩層,具體上傳遮罩層的時序本發(fā)明不作具體限定。并且,在第一遮罩層替換所述至少兩個遮罩層中生成時間最早的第二遮罩層之后,重置計時器,進(jìn)行下一輪的計時。
104、將所述顯示單元中所述第一遮罩層和除去所述第二遮罩層之外的所述至少兩個遮罩層混合后輸出到所述應(yīng)用界面。
其中,將所述顯示單元中剩余的遮罩層混合具體為:
先計算所述顯示單元中所述第一遮罩層和除去所述第二遮罩層之外的所述至少兩個遮罩層之間的插值,然后通過所述插值更新所述應(yīng)用界面上的遮罩層的灰度值的權(quán)重。
例如,顯示單元中原本已輸入遮罩層3和遮罩層4,遮罩層3在遮罩層4之前生成,那么在上傳遮罩層5后,遮罩層5便會替換遮罩層3。在顯示單元中,只需要將遮罩層4和遮罩層5混合后輸出值應(yīng)用界面即可。圖3為游戲的戰(zhàn)爭界面當(dāng)前的布局示意圖,圖3中顯示了實時輸出到戰(zhàn)爭界面的各遮罩圖的迷霧效果。
相較于現(xiàn)有機(jī)制,本發(fā)明實施例中,在玩家操控虛擬對象時,根據(jù)虛擬對象當(dāng)前的位置信息即可直接查詢到對應(yīng)的視線遮擋數(shù)據(jù),能夠減少運(yùn)算。然后將所述視線遮擋數(shù)據(jù)生成第一遮罩層,并在單位時長內(nèi)上傳到顯示單元,以替換顯示單元中最早的遮罩層,通過將顯示單元中剩余的遮罩層混合并輸出,更新所述應(yīng)用界面上的遮罩層的灰度值的權(quán)重,從而實現(xiàn)遮罩圖的逐幀的平滑過渡,也能夠降低高頻的上傳遮罩圖所帶來的運(yùn)算負(fù)荷。
可選的,在一些發(fā)明實施例中,在渲染所述遮罩層的分界邊緣時,可采用像素卷積方式計算所述分界邊緣上的各像素的灰度值。
所述遮罩圖的分界邊緣包括多個第一像素點,所述采用像素卷積方式計算所述分界邊緣上的各像素的灰度值,包括:
步驟A:針對目標(biāo)遮罩圖的分界邊緣上的多個第一像素點,分別計算與每個第一像素點相距a以內(nèi)的至少一個像素點的灰度值;
步驟B:融合所述步驟A中得到的所述至少一個像素點的灰度值,得到對應(yīng)的遮罩圖,并將得到的遮罩圖作為所述目標(biāo)遮罩圖。
由此,通過上述步驟A和步驟B的多次迭代計算,能夠達(dá)到分界邊緣處的像素模糊的效果??梢栽O(shè)定迭代計算的次數(shù),例如當(dāng)針對每個第一像素點執(zhí)行所述步驟A和所述步驟B的次數(shù)達(dá)到預(yù)設(shè)次數(shù)后,將最終得到的遮罩圖作為遮罩層的邊緣遮罩圖。
相較于現(xiàn)有機(jī)制中采用的模式分支方式,本方案中,采用的像素卷積的方式能夠避免由于模式分支引起的終端設(shè)備的性能開銷較大的問題。要得到相同或相似的迷霧遮罩的平滑效果,采用像素卷積方式對終端設(shè)備的性能消耗明顯減少。
可選的,在一些發(fā)明實施例中,將所述顯示單元中所述第一遮罩層和除去所述第二遮罩層之外的所述至少兩個遮罩層混合是指:
將所述顯示單元中所述第一遮罩層和除去所述第二遮罩層之外的所述至少兩個遮罩層的分界邊緣的像素點進(jìn)行混合,所述分界邊緣用于區(qū)分所述分界邊緣兩側(cè)的存在灰度值差的區(qū)域。
其中,應(yīng)用界面、區(qū)域單元、靜態(tài)障礙物、動態(tài)障礙物、視線遮擋數(shù)據(jù)等技術(shù)特征也同樣適用于本發(fā)明下述實施例中的圖4和圖5所對應(yīng)的實施例,后續(xù)類似之處不再贅述。
以上對本發(fā)明中一種圖像處理的方法進(jìn)行說明,以下對執(zhí)行上述圖像處理的方法的裝置進(jìn)行描述。
一、參照圖4,對圖像處理的裝置40進(jìn)行說明,該裝置40包括獲取單元401、處理單元402、顯示單元403和檢測單元404:
在應(yīng)用界面上,獲取單元401用于獲取虛擬對象當(dāng)前在應(yīng)用界面的位置信息,根據(jù)所述位置信息查詢與所述位置信息對應(yīng)的視線遮擋數(shù)據(jù);
處理單元402用于根據(jù)所述虛擬對象當(dāng)前在所述應(yīng)用界面上的操作狀態(tài),將所述獲取單元401查詢到的所述視線遮擋數(shù)據(jù)生成第一遮罩層;
并在預(yù)設(shè)的單位時長內(nèi),處理單元402將得到的所述第一遮罩層輸入包含至少兩個遮罩層的顯示單元403,以替換所述至少兩個遮罩層中生成時間最早的第二遮罩層;
顯示單元403用于將所述顯示單元403中所述第一遮罩層和除去所述第二遮罩層之外的所述至少兩個遮罩層混合后輸出到所述應(yīng)用界面。
本發(fā)明實施例中,在玩家操控虛擬對象時,處理單元402根據(jù)虛擬對象當(dāng)前的位置信息即可直接查詢到對應(yīng)的視線遮擋數(shù)據(jù),能夠減少運(yùn)算。然后處理單元再將所述視線遮擋數(shù)據(jù)生成第一遮罩層,并在單位時長內(nèi)上傳到顯示單元,以替換顯示單元中最早的遮罩層,通過將顯示單元403中剩余的遮罩層混合并輸出,更新所述應(yīng)用界面上的遮罩層的灰度值的權(quán)重,從而實現(xiàn)遮罩圖的逐幀的平滑過渡,也能夠降低高頻的上傳遮罩圖所帶來的運(yùn)算負(fù)荷。
可選的,在一些發(fā)明實施例中,若所述應(yīng)用界面上的各區(qū)域單元所對應(yīng)的視線遮擋數(shù)據(jù)基于所述應(yīng)用界面中的靜態(tài)障礙物計算得到,則當(dāng)在所述應(yīng)用界面上,所述位置信息對應(yīng)的可視范圍內(nèi)存在目標(biāo)動態(tài)障礙物,本地未存儲存在所述目標(biāo)動態(tài)障礙物時所述目標(biāo)動態(tài)障礙物在所述應(yīng)用界面的第一位置信息的視線遮擋數(shù)據(jù),所述處理單元402還用于:
通過所述檢測單元404進(jìn)行視線檢測的結(jié)果和所述第一位置信息的視野范圍計算所述第一位置信息當(dāng)前的可視范圍;
將所述第一位置信息當(dāng)前的可視范圍存儲,以替換本地存儲的第一位置信息的可視范圍;所述第一位置信息當(dāng)前的可視范圍用于所述虛擬對象所述虛擬對象當(dāng)前的可視范圍。
可選的,在一些發(fā)明實施例中,所述處理單元402在所述檢測單元401獲取虛擬對象當(dāng)前在應(yīng)用界面的位置信息之前,還用于:
通過所述獲取單元401獲取障礙物的第二位置信息,所述障礙物包括靜態(tài)障礙物和動態(tài)障礙物中的至少一種;
通過所述檢測單元404對第二位置信息周圍的區(qū)域單元進(jìn)行視線檢測,然后根據(jù)視線檢測的結(jié)果和所述第二位置信息的視野范圍計算每個區(qū)域單元的可視范圍,區(qū)域單元的可視范圍用于所述虛擬對象根據(jù)虛擬對象當(dāng)前的位置信息確定所述虛擬對象當(dāng)前的可視范圍,以及根據(jù)另一虛擬對象當(dāng)前的位置信息確定所述另一虛擬對象當(dāng)前的可視范圍。
可選的,在一些發(fā)明實施例中,所述處理單元402具體用于:
計算所述顯示單元403中所述第一遮罩層和除去所述第二遮罩層之外的所述至少兩個遮罩層之間的插值,以通過所述插值更新所述應(yīng)用界面上的遮罩層的灰度值的權(quán)重。
可選的,所述處理單元402在渲染所述遮罩層的分界邊緣時,采用像素卷積方式計算所述分界邊緣上的各像素的灰度值。
可選的,所述顯示單元403中剩余的遮罩層混合是指將所述顯示單元中所述第一遮罩層和除去所述第二遮罩層之外的所述至少兩個遮罩層的分界邊緣的像素點進(jìn)行混合,所述分界邊緣用于區(qū)分所述分界邊緣兩側(cè)的存在灰度值差的區(qū)域。
可選的,在一些發(fā)明實施例中,所述遮罩圖的分界邊緣包括多個第一像素點,所述處理單元402具體用于執(zhí)行以下步驟:
步驟A:針對目標(biāo)遮罩圖的分界邊緣上的多個第一像素點,分別計算與每個第一像素點相距a以內(nèi)的至少一個像素點的灰度值;
步驟B:融合所述步驟A中得到的所述至少一個像素點的灰度值,得到對應(yīng)的遮罩圖,并將得到的遮罩圖作為所述目標(biāo)遮罩圖。
當(dāng)針對每個第一像素點執(zhí)行所述步驟A和所述步驟B的次數(shù)達(dá)到預(yù)設(shè)次數(shù)后,將最終得到的遮罩圖作為遮罩層的邊緣遮罩圖。
上面從單元化功能實體的角度對本發(fā)明實施例中的裝置進(jìn)行了描述,下面從硬件處理的角度對本發(fā)明實施例中的裝置進(jìn)行描述。
本發(fā)明實施例還提供了一種終端設(shè)備,該終端設(shè)備具體為一種圖像處理的方法中描述的終端設(shè)備,如圖5所示,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請參照本發(fā)明實施例方法部分。下面以終端設(shè)備為手機(jī)為例:
圖5示出的是與本發(fā)明實施例提供的移動終端相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖5,手機(jī)包括:射頻(英文全稱:Radio Frequency,英文簡稱:RF)電路510、存儲器520、輸入單元530、顯示單元540、傳感器540、音頻電路540、無線保真(英文全稱:wireless fidelity,英文簡稱:Wi-Fi)單元560、處理器580、以及電源590等部件。本領(lǐng)域技術(shù)人員可以理解,圖5中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖5對手機(jī)的各個構(gòu)成部件進(jìn)行具體的介紹:
RF電路510可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器580處理;另外,將設(shè)計上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路510包括但不限于天線、至少一個放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(英文全稱:Low Noise Amplifier,英文簡稱:LNA)、雙工器等。此外,RF電路510還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(英文全稱:Global System of Mobile communication,英文簡稱:GSM)、通用分組無線服務(wù)(英文全稱:General Packet Radio Service,GPRS)、碼分多址(英文全稱:Code Division Multiple Access,英文簡稱:CDMA)、寬帶碼分多址(英文全稱:Wideband Code Division Multiple Access,英文簡稱:WCDMA)、長期演進(jìn)(英文全稱:Long Term Evolution,英文簡稱:LTE)、電子郵件、短消息服務(wù)(英文全稱:Short Messaging Service,英文簡稱:SMS)等。
存儲器520可用于存儲軟件程序以及單元,處理器580通過運(yùn)行存儲在存儲器520的軟件程序以及單元,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器520可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器520可以包括高速隨機(jī)存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
輸入單元530可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。具體地,輸入單元530可包括觸控面板531以及其他輸入設(shè)備532。觸控面板531,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板531上或在觸控面板531附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置??蛇x的,觸控面板531可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標(biāo),再送給處理器580,并能接收處理器580發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸控面板531。除了觸控面板531,輸入單元530還可以包括其他輸入設(shè)備532。具體地,其他輸入設(shè)備532可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元540可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)的各種菜單。顯示單元540可包括顯示面板541,可選的,可以采用液晶顯示器(英文全稱:Liquid Crystal Display,英文簡稱:LCD)、有機(jī)發(fā)光二極管(英文全稱:Organic Light-Emitting Diode,英文簡稱:OLED)等形式來配置顯示面板541。進(jìn)一步的,觸控面板531可覆蓋顯示面板541,當(dāng)觸控面板531檢測到在其上或附近的觸摸操作后,傳送給處理器580以確定觸摸事件的類型,隨后處理器580根據(jù)觸摸事件的類型在顯示面板541上提供相應(yīng)的視覺輸出。雖然在圖5中,觸控面板531與顯示面板541是作為兩個獨立的部件來實現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實施例中,可以將觸控面板531與顯示面板541集成而實現(xiàn)手機(jī)的輸入和輸出功能。
手機(jī)還可包括至少一種傳感器540,比如光傳感器、運(yùn)動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板541的亮度,接近傳感器可在手機(jī)移動到耳邊時,關(guān)閉顯示面板541和/或背光。作為運(yùn)動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計姿態(tài)校準(zhǔn))、振動識別相關(guān)功能(比如計步器、敲擊)等;至于手機(jī)還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路540、揚(yáng)聲器541,傳聲器542可提供用戶與手機(jī)之間的音頻接口。音頻電路540可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P(yáng)聲器5641,由揚(yáng)聲器541轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器542將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路540接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器580處理后,經(jīng)RF電路510以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲器520以便進(jìn)一步處理。
Wi-Fi屬于短距離無線傳輸技術(shù),手機(jī)通過Wi-Fi單元560可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖5示出了Wi-Fi單元560,但是可以理解的是,其并不屬于手機(jī)的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器580是手機(jī)的控制中心,利用各種接口和線路連接整個手機(jī)的各個部分,通過運(yùn)行或執(zhí)行存儲在存儲器520內(nèi)的軟件程序和/或單元,以及調(diào)用存儲在存儲器520內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器580可包括一個或多個處理單元;優(yōu)選的,處理器580可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器580中。
手機(jī)還包括給各個部件供電的電源590(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器580邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機(jī)還可以包括攝像頭、藍(lán)牙單元等,在此不再贅述。
在本發(fā)明實施例中,該手機(jī)所包括的處理器580還具有控制執(zhí)行圖像處理的方法中由終端設(shè)備執(zhí)行的方法流程。
在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(英文全稱:Read-Only Memory,英文簡稱:ROM)、隨機(jī)存取存儲器(英文全稱:Random Access Memory,英文簡稱:RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上對本發(fā)明所提供的技術(shù)方案進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。