一種顯示立體圖像的處理方法和裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例提供了一種顯示立體圖像的處理方法和裝置,該方法包括:創(chuàng)建第一線程和第二線程;在圖像渲染的過程中,同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù),其中,所述第一線程用于生成渲染圖像,所述第二線程用于對(duì)所述渲染圖像進(jìn)行繪制;播放所述立體圖像數(shù)據(jù)顯示相應(yīng)的立體圖像數(shù)據(jù)。本發(fā)明實(shí)施例提供的顯示立體圖像的處理方法通過并行執(zhí)行第一線程和第二線程,從而可以快速生成各場(chǎng)景的立體圖像數(shù)據(jù),提高立體圖像的渲染效率,達(dá)到實(shí)時(shí)渲染的目的;并提高移動(dòng)終端顯示立體圖像的幀率。
【專利說明】
一種顯示立體圖像的處理方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及虛擬現(xiàn)實(shí)技術(shù)領(lǐng)域,特別是涉及一種顯示立體圖像的處理方法和一種顯示立體圖像的處理裝置。
【背景技術(shù)】
[0002]隨著虛擬現(xiàn)實(shí)(Virtual Reality,VR)技術(shù)的發(fā)展,基于移動(dòng)終端的虛擬現(xiàn)實(shí)系統(tǒng)也迅速的發(fā)展起來。在VR系統(tǒng)中,雙目立體視覺起了很大作用。具體的,用戶的兩只眼睛看到的不同圖像是分別產(chǎn)生的,并顯示在不同的顯示屏上。在基于移動(dòng)終端的VR系統(tǒng)中,通過在移動(dòng)終端上左右分屏顯示有一定像差的同一場(chǎng)景的兩個(gè)圖像幀;用戶在戴上特殊的眼鏡后,一只眼睛只能看到奇數(shù)幀圖像,另一只眼睛只能看到偶數(shù)幀圖像,奇數(shù)幀、偶數(shù)幀之間的不同也就是視差就產(chǎn)生了立體感。簡(jiǎn)單而言,基于移動(dòng)終端的VR系統(tǒng),用戶通過特殊的眼鏡觀看在移動(dòng)終端的屏幕上顯示左右眼的圖像,形成立體圖像。
[0003]在基于移動(dòng)終端的VR系統(tǒng)中,繪制同一場(chǎng)景的圖像幀需要實(shí)時(shí)對(duì)左右眼的圖像進(jìn)行渲染,并加以反畸變、反色散計(jì)算,才能取得較好的圖像質(zhì)量。基于移動(dòng)終端的VR系統(tǒng),通常把左右眼的圖像渲染,以及反畸變、反色散等計(jì)算任務(wù)放在同一個(gè)線程中串行執(zhí)行。但是,由于左右眼的圖像渲染,以及反畸變、反色散的計(jì)算任務(wù)復(fù)雜,并且計(jì)算量大,導(dǎo)致立體圖像不能快速生成,即移動(dòng)終端顯示立體圖像的幀率較低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例所要解決的技術(shù)問題是提供一種顯示立體圖像的處理方法,解決移動(dòng)終端生成立體圖像慢的問題,提高移動(dòng)終端顯示立體圖像的幀率。
[0005]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種顯示立體圖像的處理裝置,用以保證上述方法的實(shí)現(xiàn)及應(yīng)用。
[0006]為了解決上述問題,本發(fā)明實(shí)施例公開了一種顯示立體圖像的處理方法,包括:
[0007]創(chuàng)建第一線程和第二線程;
[0008]在圖像渲染的過程中,同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù),其中,所述第一線程用于生成渲染圖像,所述第二線程用于對(duì)所述渲染圖像進(jìn)行繪制;
[0009]播放所述立體圖像數(shù)據(jù)顯示相應(yīng)的立體圖像數(shù)據(jù)。
[0010]相應(yīng)的,本發(fā)明實(shí)施例還公開了一種顯示立體圖像的處理裝置,包括:
[0011]線程創(chuàng)建模塊,用于創(chuàng)建第一線程和第二線程;
[0012]立體圖像數(shù)據(jù)生成模塊,用于在圖像渲染的過程中,同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù),其中,所述第一線程用于生成渲染圖像,所述第二線程用于對(duì)所述渲染圖像進(jìn)行繪制;
[0013]立體圖像顯示模塊,用于播放所述立體圖像數(shù)據(jù)顯示相應(yīng)的立體圖像數(shù)據(jù)。
[0014]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0015]本發(fā)明實(shí)施例可以在圖像渲染的過程中,通過并行執(zhí)行第一線程和第二線程,從而可以快速生成各場(chǎng)景的立體圖像數(shù)據(jù)。具體的,本發(fā)明實(shí)施例可以在第一線程生成當(dāng)前場(chǎng)景的渲染圖像后,通過第一線程繼續(xù)生成下一個(gè)場(chǎng)景的渲染圖像,同時(shí)通過第二線程對(duì)當(dāng)前場(chǎng)景的渲染圖像進(jìn)行繪制,生成當(dāng)前場(chǎng)景的立體圖像數(shù)據(jù),從而提高立體圖像的渲染效率,達(dá)到實(shí)時(shí)清染的目的;并提尚移動(dòng)終端顯不立體圖像的幀率。
【附圖說明】
[0016]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1是本發(fā)明的一種顯示立體圖像的處理方法實(shí)施例的步驟流程圖;
[0018]圖2是本發(fā)明的一種顯示立體圖像的處理方法優(yōu)選實(shí)施例的步驟流程圖;
[0019]圖3是本發(fā)明實(shí)施例中第一線程和第二線程同步執(zhí)行的示意圖;
[0020]圖4A是本發(fā)明的一種顯示立體圖像的處理裝置實(shí)施例的結(jié)構(gòu)框圖;
[0021]圖4B是本發(fā)明的一種顯示立體圖像的處理裝置優(yōu)選實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0022]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0023]針對(duì)上述問題,本發(fā)明實(shí)施例的核心構(gòu)思之一在于,在圖像渲染的過程中,通過并行執(zhí)行第一線程和第二線程,從而可以快速生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。其中,所述第一線程用于生成渲染圖像,所述第二線程用于對(duì)所述渲染圖像進(jìn)行繪制。
[0024]參照?qǐng)D1,示出了本發(fā)明的一種顯示立體圖像的處理方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
[0025]步驟101,創(chuàng)建第一線程和第二線程。
[0026]在基于移動(dòng)終端的VR系統(tǒng)中,在顯示屏顯示立體圖像之前,VR系統(tǒng)需要實(shí)時(shí)對(duì)各場(chǎng)景的數(shù)據(jù)幀(也稱為圖像幀)進(jìn)行渲染,生成渲染圖像,并對(duì)渲染圖像進(jìn)行反畸變、反色散處理,才能獲得比較好的圖像質(zhì)量。為了提高移動(dòng)終端顯示立體圖像的幀率,基于移動(dòng)終端的VR系統(tǒng)可以創(chuàng)建多個(gè)線程,通過多個(gè)線程并行執(zhí)行,充分發(fā)揮利用中央處理器(Central Processing Unit,CPU)時(shí)間,從而可以快速生成立體圖像。需要說明的是,移動(dòng)終端是指可以在移動(dòng)中使用的計(jì)算機(jī)設(shè)備,例如智能手機(jī)、筆記本電腦、平板電腦等,本發(fā)明實(shí)施例對(duì)此不作限制。本發(fā)明實(shí)施例將以手機(jī)為例,對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述,但不應(yīng)將此作為對(duì)本發(fā)明實(shí)施例的限制。
[0027]作為本發(fā)明實(shí)施例的一個(gè)具體示例,基于手機(jī)的VR系統(tǒng)可以預(yù)先創(chuàng)建兩個(gè)線程,將圖像渲染的計(jì)算放在其中一個(gè)線程,將該線程標(biāo)注為第一線程;還可以將反畸變反色散的計(jì)算放在另一個(gè)線程,并標(biāo)注為第二線程。
[0028]可選的,上述步驟101具體可以是在檢測(cè)到圖像渲染命令時(shí),基于所述圖像渲染命令創(chuàng)建所述第一線程和第二線程。
[0029]步驟103,在圖像渲染的過程中,同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。
[0030]其中,所述第一線程可以用于生成渲染圖像,所述第二線程可以用于對(duì)所述渲染圖像進(jìn)行繪制。在圖像渲染的過程中,基于手機(jī)的VR系統(tǒng)可以通過并行執(zhí)行第一線程和第二線程,即同步執(zhí)行第一線程和第二線程,生成立體圖像數(shù)據(jù)。具體的,基于手機(jī)的VR系統(tǒng)可以通過第一線程對(duì)第一個(gè)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,生成第一個(gè)場(chǎng)景的渲染圖像。從第二個(gè)場(chǎng)景開始,基于手機(jī)的VR系統(tǒng)可以通過第一線程對(duì)當(dāng)前場(chǎng)景進(jìn)行渲染,生成當(dāng)前場(chǎng)景的渲染圖像,同時(shí)還可以通過第二線程對(duì)上一個(gè)場(chǎng)景的渲染圖像進(jìn)行繪制,生成上一個(gè)場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。以當(dāng)前場(chǎng)景為第二個(gè)場(chǎng)景為例,基于手機(jī)的VR系統(tǒng)通過第一線程對(duì)第二個(gè)場(chǎng)(即當(dāng)前場(chǎng)景)進(jìn)行圖像渲染,生成第一個(gè)場(chǎng)景的渲染圖像;同時(shí),通過第二線程對(duì)第一個(gè)場(chǎng)景(即上一個(gè)場(chǎng)景)的渲染圖像進(jìn)行繪制,生成第一個(gè)場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。
[0031]可選的,顯示立體圖像的處理方法在同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)之前,還可以包括:第一線程對(duì)第一個(gè)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,生成第一個(gè)場(chǎng)景的渲染圖像。相應(yīng)的,同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)的步驟具體可以包括:從第二個(gè)場(chǎng)景開始,所述第一線程對(duì)當(dāng)前場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,同時(shí)所述第二線程對(duì)上一個(gè)場(chǎng)景的渲染圖像進(jìn)行繪制,生成上一個(gè)場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。
[0032]步驟105,播放所述立體圖像數(shù)據(jù)顯示相應(yīng)的立體圖像數(shù)據(jù)。
[0033]具體而言,基于手機(jī)的VR系統(tǒng)在第二線程生成立體圖像后,就可以對(duì)該立體圖形數(shù)據(jù)進(jìn)行播放,在顯示屏上顯示相應(yīng)的立體圖像數(shù)據(jù),即在顯示屏上顯示各場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù),相當(dāng)于顯示各場(chǎng)景對(duì)應(yīng)的立體圖像。
[0034]本發(fā)明實(shí)施例通過創(chuàng)建第一線程和第二線程,其中第一線程用于生成渲染圖像,第二線程用于繪制渲染圖像,將圖像渲染與反畸變、反色散計(jì)算分離到兩個(gè)獨(dú)立的線程中;在圖像渲染的過程中,同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù),即通過并行執(zhí)行第一線程和第二線程生產(chǎn)立體圖像數(shù)據(jù),節(jié)省立體圖像數(shù)據(jù)生成的時(shí)間,從而可以快速生成立體圖像,提高移動(dòng)終端顯示立體圖像的幀率。
[0035]參照?qǐng)D2,示出了本發(fā)明的一種顯示立體圖像的處理方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
[0036]步驟201,當(dāng)檢測(cè)到圖像渲染命令時(shí),基于所述圖像渲染命令創(chuàng)建所述第一線程和第二線程。
[0037]具體而言,在基于手機(jī)的VR系統(tǒng)需要對(duì)場(chǎng)景的圖像幀進(jìn)行渲染時(shí),手機(jī)可以自動(dòng)生成圖像渲染命令,也可以基于用戶的操作生成生圖像渲染命令,本發(fā)明實(shí)施例對(duì)此不作限制。
[0038]在檢測(cè)到圖像渲染命令時(shí),基于手機(jī)的VR系統(tǒng)可以對(duì)該圖像渲染命令進(jìn)行處理,即基于該圖像渲染命令創(chuàng)建第一線程和第二線程,如基于該圖像渲染命令調(diào)用預(yù)置的接口創(chuàng)建第一線程和第二線程。其中,所述第一線程可以用于生成渲染圖像,所述第二線程可以用于對(duì)所述渲染圖像進(jìn)行繪制。
[0039]步驟203,第一線程對(duì)第一個(gè)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,生成第一個(gè)場(chǎng)景的渲染圖像。
[0040]步驟205,從第二個(gè)場(chǎng)景開始,所述第一線程對(duì)當(dāng)前場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,同時(shí)所述第二線程對(duì)上一個(gè)場(chǎng)景的渲染圖像進(jìn)行繪制,生成上一個(gè)場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。
[0041]在圖像渲染的過程中,如圖3所示,基于手機(jī)的VR系統(tǒng)可以將圖像渲染與反畸變、反色散計(jì)算分離到兩個(gè)獨(dú)立的線程中,通過并步執(zhí)行第一線程和第二線程,就可以快速生成立體圖像。具體的,第一線程對(duì)第一個(gè)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,生成第一場(chǎng)景的渲染圖像。第一線程渲染完第一個(gè)場(chǎng)景的數(shù)據(jù)幀后,繼續(xù)對(duì)第二個(gè)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染;同時(shí),第二線程對(duì)第一個(gè)場(chǎng)景的渲染圖像進(jìn)行繪制,如對(duì)第一個(gè)場(chǎng)景的渲染圖像進(jìn)行反畸變、反色散計(jì)算,生成第一個(gè)場(chǎng)景對(duì)應(yīng)的立體圖像。第一線程渲染完第二個(gè)場(chǎng)景的數(shù)據(jù)幀后,
繼續(xù)對(duì)第三個(gè)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染......如此類推,直到渲染完所有場(chǎng)景的數(shù)據(jù)幀。同理,第二線程繪制完第一個(gè)場(chǎng)景的渲染圖像后,繼續(xù)對(duì)第二個(gè)場(chǎng)景的渲染圖像進(jìn)行繪制......如此類推,直到繪制完所有場(chǎng)景的數(shù)渲染圖像。
[0042]在本發(fā)明的一種優(yōu)選實(shí)施例中,第一線程對(duì)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染的步驟可以包括如下子步驟:
[0043]子步驟20511,獲取場(chǎng)景的兩個(gè)數(shù)據(jù)幀。
[0044]具體的,基于手機(jī)的VR系統(tǒng)通常在手機(jī)顯示屏上左右分屏顯示具有一定像差的同一場(chǎng)景的圖像幀。這樣,用戶通過特殊眼鏡可以觀看在同一屏幕上顯示的左右眼圖像,形成立體圖像。因此,在圖像渲染的過程中,第一線程可以獲取同一場(chǎng)景的兩個(gè)數(shù)據(jù)幀,其中一個(gè)數(shù)據(jù)幀為第一數(shù)據(jù)幀,另一個(gè)數(shù)據(jù)幀為第二數(shù)據(jù)幀。當(dāng)數(shù)據(jù)幀的幀號(hào)為奇數(shù)時(shí),可以將該數(shù)據(jù)幀數(shù)確定為第一數(shù)據(jù)幀,如將幀號(hào)為I或者3的數(shù)據(jù)幀確定為第一數(shù)據(jù)幀。當(dāng)數(shù)據(jù)幀的幀號(hào)為偶數(shù)時(shí),可以將該數(shù)據(jù)幀數(shù)確定為第二數(shù)據(jù)幀,如將幀號(hào)為2或者4的數(shù)據(jù)幀確定為第二數(shù)據(jù)幀。當(dāng)數(shù)據(jù)幀為第一數(shù)據(jù)幀時(shí),執(zhí)行子步驟2013 ;當(dāng)數(shù)據(jù)幀為第二數(shù)據(jù)幀時(shí),執(zhí)行子步驟20515。
[0045]子步驟20513,對(duì)所述第一數(shù)據(jù)幀進(jìn)行離屏渲染,生成第一渲染圖像。
[0046]子步驟20515,對(duì)所述第二數(shù)據(jù)幀進(jìn)行離屏渲染,生成第二渲染圖像。
[0047]具體的,基于手機(jī)的VR系統(tǒng)可以在圖像渲染過程中,將生成的渲染圖像分為第一渲染圖像和第二渲染圖像。其中,第一渲染圖像可以是指對(duì)第一數(shù)據(jù)幀進(jìn)行渲染所生成的渲染圖像;第二渲染圖像可以是指對(duì)第二數(shù)據(jù)幀進(jìn)行渲染所生成的渲染圖像。VR系統(tǒng)可以將第一渲染圖像用于右眼圖像的顯示,將第二渲染圖像用于左眼圖像的顯示;當(dāng)然也可以將第一渲染圖像用于左眼圖像的顯示,將第二渲染圖像用于右眼圖像的顯示,本發(fā)明實(shí)施例對(duì)此不作限制。后文將以第一渲染圖像用于左眼圖像的顯示,第二渲染圖像用于右眼圖像的顯示為例,對(duì)本發(fā)明實(shí)施例進(jìn)行描述,但不應(yīng)將此作為本發(fā)明實(shí)施例的限制。
[0048]可選的,基于手機(jī)的VR系統(tǒng)還可以將所生成的第一渲染圖像保存在第一離屏緩沖區(qū),以及將所生成的第二渲染圖像保存在第二離屏緩沖區(qū)。
[0049]在本發(fā)明實(shí)施例中,第一線程在完成數(shù)據(jù)幀的渲染后,可以把所生產(chǎn)的渲染圖像保存在顯卡緩存中的一塊緩存區(qū)(buffer),如離屏緩沖區(qū)。具體的,第一線程對(duì)第一數(shù)據(jù)幀進(jìn)行清染,把該第一數(shù)據(jù)幀清染到一個(gè)幀緩沖區(qū)(frame buffer)中,相當(dāng)于生成第一清染圖像,從而可以將該第一渲染圖像保存在第一離屏緩沖區(qū),即將第一線程所生成的第一渲染圖像放在左眼對(duì)應(yīng)的離屏buffer中。同理,第一線程對(duì)第二數(shù)據(jù)幀進(jìn)行渲染,生成第二渲染圖像,將該第二渲染圖像保存在第二離屏緩沖區(qū),即可以將第二線程所生成的第二渲染圖像放在右眼對(duì)應(yīng)的離屏buffer中。
[0050]在本發(fā)明的一種優(yōu)選實(shí)施例中,第二線程對(duì)場(chǎng)景的渲染圖像進(jìn)行繪制,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)的步驟具體可以包括如下子步驟:
[0051]子步驟20521,從所述第一離屏緩沖區(qū)獲取第一渲染圖像,以及從所述第二離屏緩沖區(qū)獲取第二渲染圖像。
[0052]當(dāng)?shù)谝痪€程完成數(shù)據(jù)幀的渲染后,其所生成的渲染圖像保存在相應(yīng)的離屏buffer中,即第一渲染圖像保存在第一離屏緩沖區(qū),第二渲染圖像保存在第二離屏緩沖區(qū)。在繪制場(chǎng)景的渲染圖像時(shí),第二線程可以從第一離屏緩沖區(qū)獲取所繪制場(chǎng)景的第一渲染圖像,以及還可以從第一離屏緩沖區(qū)獲取所繪制場(chǎng)景的第二渲染圖像。
[0053]子步驟20521,調(diào)用預(yù)置的算法對(duì)所述第一渲染圖像和第二渲染圖像進(jìn)行反畸變反色散計(jì)算,生成所述立體圖像數(shù)據(jù)。
[0054]在具體實(shí)現(xiàn)中,第二線程可以通過調(diào)用VR系統(tǒng)預(yù)置的算法,如反畸變、反色散算法,對(duì)第一渲染圖像和第二渲染圖像進(jìn)行反畸變反色散計(jì)算,即采用VR系統(tǒng)參數(shù),如透鏡光學(xué)參數(shù)、左右透鏡距離、屏幕與透鏡距離、透鏡與眼睛距離等參數(shù),對(duì)場(chǎng)景的渲染圖像進(jìn)行繪制,生成所繪制場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。
[0055]可選的,立體圖像數(shù)據(jù)包括左屏顯示數(shù)據(jù)和右屏顯示數(shù)據(jù)。上述子步驟20521具體可以包括:調(diào)用所述算法對(duì)第一渲染圖像進(jìn)行反畸變反色散計(jì)算,生成左屏顯示數(shù)據(jù);調(diào)用所述算法對(duì)第二渲染圖像進(jìn)行反畸變反色散計(jì)算,生成右屏顯示數(shù)據(jù)。
[0056]具體的,在渲染圖像為第一渲染圖像時(shí),第二線程對(duì)渲染圖像進(jìn)行反畸變反色散計(jì)算,生產(chǎn)左屏顯示數(shù)據(jù)。在渲染圖像為第二渲染圖像時(shí),第二線程對(duì)渲染圖像進(jìn)行反畸變反色散計(jì)算,生產(chǎn)右屏顯示數(shù)據(jù)。
[0057]步驟207,播放所述立體圖像數(shù)據(jù)顯示相應(yīng)的立體圖像數(shù)據(jù)。
[0058]在基于手機(jī)的VR系統(tǒng)中,通過播放立體圖像數(shù)據(jù),即在顯示屏上顯示第二線程所生成的左屏顯示數(shù)據(jù)和右屏顯示數(shù)據(jù),就可以生成各場(chǎng)景對(duì)應(yīng)的立體圖像。
[0059]在本發(fā)明實(shí)施例中,基于手機(jī)的VR系統(tǒng)可以將圖像渲染與反畸變、反色散計(jì)算分離到兩個(gè)獨(dú)立的線程中,通過并步執(zhí)行第一線程和第二線程,可以節(jié)省立體圖像數(shù)據(jù)生成的時(shí)間,從而可以提高移動(dòng)終端顯示立體圖像的幀率,進(jìn)而可以減輕整體一次性渲染造成的高延遲現(xiàn)象,同時(shí)解決了由于渲染圖像延遲而導(dǎo)致用戶眩暈的問題,提高了用戶體驗(yàn)。
[0060]需要說明的是,對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本發(fā)明實(shí)施例所必須的。
[0061]參照?qǐng)D4A,示出了本發(fā)明一種顯示立體圖像的處理裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
[0062]線程創(chuàng)建模塊401,可以用于創(chuàng)建第一線程和第二線程。
[0063]立體圖像數(shù)據(jù)生成模塊403,可以用于在圖像渲染的過程中,同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。
[0064]其中,所述第一線程可以用于生成渲染圖像,所述第二線程可以用于對(duì)所述渲染圖像進(jìn)行繪制。
[0065]立體圖像顯示模塊405,可以用于播放所述立體圖像數(shù)據(jù)顯示相應(yīng)的立體圖像數(shù)據(jù)。
[0066]在本發(fā)明的一種優(yōu)選實(shí)施例中,該線程創(chuàng)建模塊401可以具體用于在檢測(cè)到圖像渲染命令時(shí),基于所述圖像渲染命令創(chuàng)建所述第一線程和第二線程。
[0067]在圖4A的基礎(chǔ)上,可選的,立體圖像數(shù)據(jù)生成模塊403可以包括渲染子模塊40301和繪制子模塊40303,參照?qǐng)D4B。
[0068]其中,渲染子模塊40301,可以用于觸發(fā)第一線程對(duì)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,生成場(chǎng)景的渲染圖像。
[0069]在本發(fā)明的一種優(yōu)選實(shí)施例中,渲染子模塊40301可以包括如下單元:
[0070]數(shù)據(jù)幀獲取單元403011,用于獲取場(chǎng)景的兩個(gè)數(shù)據(jù)幀。
[0071]離屏渲染單元403013,用于當(dāng)數(shù)據(jù)幀為第一數(shù)據(jù)幀時(shí),對(duì)所述第一數(shù)據(jù)幀進(jìn)行離屏渲染,生成第一渲染圖像;以及,還用于當(dāng)數(shù)據(jù)幀為第二數(shù)據(jù)幀時(shí),對(duì)所述第二數(shù)據(jù)幀進(jìn)行離屏渲染,生成第二渲染圖像。
[0072]渲染圖像保存單元403015,用于將所生成的第一渲染圖像保存在第一離屏緩沖區(qū),以及將所生成的第二渲染圖像保存在第二離屏緩沖區(qū)。
[0073]繪制子模塊40303,可以用于觸發(fā)第二線程對(duì)場(chǎng)景的渲染圖像進(jìn)行繪制,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。
[0074]可選的,繪制子模塊40303可以包括如下單元:
[0075]渲染圖像獲取單元403031,用于從所述第一離屏緩沖區(qū)獲取第一渲染圖像,以及從所述第二離屏緩沖區(qū)獲取第二渲染圖像。
[0076]反畸變反色散計(jì)算單元403033,用于調(diào)用預(yù)置的算法對(duì)所述第一渲染圖像和第二渲染圖像進(jìn)行反畸變反色散計(jì)算,生成所述立體圖像數(shù)據(jù)。
[0077]在本發(fā)明的一種優(yōu)選實(shí)施例中,立體圖像數(shù)據(jù)可以包括左屏顯示數(shù)據(jù)和右屏顯示數(shù)據(jù)。反畸變反色散計(jì)算單元403033,可以具體用于調(diào)用所述算法對(duì)第一渲染圖像進(jìn)行反畸變反色散計(jì)算,生成左屏顯示數(shù)據(jù);以及,對(duì)第二渲染圖像進(jìn)行反畸變反色散計(jì)算,生成右屏顯示數(shù)據(jù)。
[0078]對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0079]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
[0080]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0081]本發(fā)明實(shí)施例是參照根據(jù)本發(fā)明實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0082]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0083]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0084]盡管已描述了本發(fā)明實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明實(shí)施例范圍的所有變更和修改。
[0085]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
[0086]以上對(duì)本發(fā)明所提供的一種顯示立體圖像的處理方法和一種顯示立體圖像的處理裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【主權(quán)項(xiàng)】
1.一種顯示立體圖像的處理方法,其特征在于,包括: 創(chuàng)建第一線程和第二線程; 在圖像渲染的過程中,同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù),其中,所述第一線程用于生成渲染圖像,所述第二線程用于對(duì)所述渲染圖像進(jìn)行繪制; 播放所述立體圖像數(shù)據(jù)顯示相應(yīng)的立體圖像數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)之前,還包括: 所述第一線程對(duì)第一個(gè)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,生成第一個(gè)場(chǎng)景的渲染圖像; 所述同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù),包括: 從第二個(gè)場(chǎng)景開始,所述第一線程對(duì)當(dāng)前場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,同時(shí)所述第二線程對(duì)上一個(gè)場(chǎng)景的渲染圖像進(jìn)行繪制,生成上一個(gè)場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述創(chuàng)建第一線程和第二線程,包括: 當(dāng)檢測(cè)到圖像渲染命令時(shí),基于所述圖像渲染命令創(chuàng)建所述第一線程和第二線程。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一線程對(duì)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染的步驟包括: 獲取場(chǎng)景的兩個(gè)數(shù)據(jù)幀; 當(dāng)數(shù)據(jù)幀為第一數(shù)據(jù)幀時(shí),對(duì)所述第一數(shù)據(jù)幀進(jìn)行離屏渲染,生成第一渲染圖像; 當(dāng)數(shù)據(jù)幀為第二數(shù)據(jù)幀時(shí),對(duì)所述第二數(shù)據(jù)幀進(jìn)行離屏渲染,生成第二渲染圖像。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 將所生成的第一渲染圖像保存在第一離屏緩沖區(qū),以及將所生成的第二渲染圖像保存在第二離屏緩沖區(qū)。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述第二線程對(duì)場(chǎng)景的渲染圖像進(jìn)行繪制,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)的步驟,包括: 從所述第一離屏緩沖區(qū)獲取第一渲染圖像,以及從所述第二離屏緩沖區(qū)獲取第二渲染圖像; 調(diào)用預(yù)置的算法對(duì)所述第一渲染圖像和第二渲染圖像進(jìn)行反畸變反色散計(jì)算,生成所述立體圖像數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述立體圖像數(shù)據(jù)包括左屏顯示數(shù)據(jù)和右屏顯示數(shù)據(jù); 所述調(diào)用預(yù)置的算法對(duì)所述第一渲染圖像和第二渲染圖像進(jìn)行反畸變反色散計(jì)算,生成所述立體圖像數(shù)據(jù)的步驟包括: 調(diào)用所述算法對(duì)第一渲染圖像進(jìn)行反畸變反色散計(jì)算,生成左屏顯示數(shù)據(jù); 調(diào)用所述算法對(duì)第二渲染圖像進(jìn)行反畸變反色散計(jì)算,生成右屏顯示數(shù)據(jù)。8.一種顯示立體圖像的處理裝置,其特征在于,包括: 線程創(chuàng)建模塊,用于創(chuàng)建第一線程和第二線程; 立體圖像數(shù)據(jù)生成模塊,用于在圖像渲染的過程中,同步執(zhí)行第一線程和第二線程,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù),其中,所述第一線程用于生成渲染圖像,所述第二線程用于對(duì)所述渲染圖像進(jìn)行繪制; 立體圖像顯示模塊,用于播放所述立體圖像數(shù)據(jù)顯示相應(yīng)的立體圖像數(shù)據(jù)。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述立體圖像數(shù)據(jù)生成模塊包括: 渲染子模塊,用于觸發(fā)第一線程對(duì)場(chǎng)景的數(shù)據(jù)幀進(jìn)行渲染,生成場(chǎng)景的渲染圖像; 繪制子模塊,用于觸發(fā)第二線程對(duì)場(chǎng)景的渲染圖像進(jìn)行繪制,生成場(chǎng)景對(duì)應(yīng)的立體圖像數(shù)據(jù)。10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述線程創(chuàng)建模塊,具體用于當(dāng)檢測(cè)到圖像渲染命令時(shí),基于所述圖像渲染命令創(chuàng)建所述第一線程和第二線程。11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述渲染子模塊包括: 數(shù)據(jù)幀獲取單元,用于獲取場(chǎng)景的兩個(gè)數(shù)據(jù)幀; 離屏渲染單元,用于當(dāng)數(shù)據(jù)幀為第一數(shù)據(jù)幀時(shí),對(duì)所述第一數(shù)據(jù)幀進(jìn)行離屏渲染,生成第一渲染圖像;以及,還用于當(dāng)數(shù)據(jù)幀為第二數(shù)據(jù)幀時(shí),對(duì)所述第二數(shù)據(jù)幀進(jìn)行離屏渲染,生成第二渲染圖像。12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述渲染子模塊還包括: 渲染圖像保存單元,用于將所生成的第一渲染圖像保存在第一離屏緩沖區(qū),以及將所生成的第二渲染圖像保存在第二離屏緩沖區(qū)。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述繪制子模塊,包括: 渲染圖像獲取單元,用于從所述第一離屏緩沖區(qū)獲取第一渲染圖像,以及從所述第二離屏緩沖區(qū)獲取第二渲染圖像; 反畸變反色散計(jì)算單元,用于調(diào)用預(yù)置的算法對(duì)所述第一渲染圖像和第二渲染圖像進(jìn)行反畸變反色散計(jì)算,生成所述立體圖像數(shù)據(jù)。14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述立體圖像數(shù)據(jù)包括左屏顯示數(shù)據(jù)和右屏顯示數(shù)據(jù); 所述反畸變反色散計(jì)算單元,具體用于調(diào)用所述算法對(duì)第一渲染圖像進(jìn)行反畸變反色散計(jì)算,生成左屏顯示數(shù)據(jù);以及,對(duì)第二渲染圖像進(jìn)行反畸變反色散計(jì)算,生成右屏顯示數(shù)據(jù)。
【文檔編號(hào)】H04N13/02GK105979243SQ201510869736
【公開日】2016年9月28日
【申請(qǐng)日】2015年12月1日
【發(fā)明人】胡雪蓮
【申請(qǐng)人】樂視致新電子科技(天津)有限公司