本發(fā)明涉及數(shù)據(jù)轉(zhuǎn)換技術(shù),尤其涉及一種數(shù)據(jù)轉(zhuǎn)換方法、裝置及電子設(shè)備。
背景技術(shù):
:隨著計(jì)算機(jī)通信以及互聯(lián)網(wǎng)技術(shù),尤其是4G通信技術(shù)的不斷發(fā)展,電子設(shè)備,例如,智能移動(dòng)電話、個(gè)人數(shù)字助理、掌上電腦、筆記本電腦等應(yīng)用越來(lái)越廣泛,電子設(shè)備中安裝的應(yīng)用程序(APP,Application)越來(lái)越多,提供的應(yīng)用功能也越來(lái)越豐富。舉例來(lái)說(shuō),利用電子設(shè)備中內(nèi)置的攝像頭,可以隨時(shí)隨地進(jìn)行視頻拍照并存儲(chǔ),并將存儲(chǔ)的視頻或圖像進(jìn)行分享,從而能夠極大地增強(qiáng)和豐富用戶的體驗(yàn)。在多媒體領(lǐng)域,視頻的存儲(chǔ)格式與圖像的存儲(chǔ)格式不同,圖像一般采用紅綠藍(lán)(RGB,Red、Green、Blue)存儲(chǔ)格式,視頻一般采用亮度和色差信號(hào)(LumaandChroma),即YUV存儲(chǔ)格式。其中,Y表示明亮度(Luminance或Luma),即灰階值;U和V表示色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用于指定像素的顏色,明亮度信號(hào)Y和色度信號(hào)U、V是分離的。與要求三個(gè)獨(dú)立的信號(hào)同時(shí)傳輸?shù)腞GB存儲(chǔ)格式相比,YUV存儲(chǔ)格式只需占用極少的頻寬。目前,在電子設(shè)備中,攝像頭采集的數(shù)據(jù)采用YUV存儲(chǔ)格式,但在實(shí)際應(yīng)用中,用戶基于個(gè)性化的視頻體驗(yàn)需求,需要對(duì)拍攝的視頻進(jìn)行一些個(gè)性化的后處理,例如,對(duì)攝像頭拍攝的視頻(數(shù)據(jù))添加濾鏡,在該后處理過(guò)程中,需要將YUV存儲(chǔ)格式的數(shù)據(jù)轉(zhuǎn)化為RGB存儲(chǔ)格式的數(shù)據(jù)以進(jìn)行相應(yīng)處理,現(xiàn)有的轉(zhuǎn)換方法是采用串行轉(zhuǎn)換,即獲取YUV存儲(chǔ)格式的數(shù)據(jù)中的一像素點(diǎn)的YUV值,按照轉(zhuǎn)換公式,轉(zhuǎn)換為RGB存儲(chǔ)格式的對(duì)應(yīng)像素點(diǎn)的RGB值,然后,遍歷YUV存儲(chǔ)格式的數(shù)據(jù)中的每一像素點(diǎn),以此完成對(duì)像素點(diǎn)的轉(zhuǎn)換。但該數(shù)據(jù)轉(zhuǎn)換方法,轉(zhuǎn)換所需的時(shí)間較長(zhǎng),使得數(shù)據(jù)轉(zhuǎn)換的實(shí)時(shí)性效率較低。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本發(fā)明實(shí)施例提供一種數(shù)據(jù)轉(zhuǎn)換方法、裝置及電子設(shè)備,能夠有效提升數(shù)據(jù)轉(zhuǎn)換效率,以解決現(xiàn)有的數(shù)據(jù)串行轉(zhuǎn)換方法中,數(shù)據(jù)轉(zhuǎn)換所需的時(shí)間較長(zhǎng),數(shù)據(jù)轉(zhuǎn)換的實(shí)時(shí)性效率較低的問(wèn)題。第一方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)轉(zhuǎn)換方法,包括:依序獲取待轉(zhuǎn)換數(shù)據(jù)幀中各像素點(diǎn)的待轉(zhuǎn)換值,得到幀待轉(zhuǎn)換值序列;查詢轉(zhuǎn)換公式編程器集,獲取所述待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器,所述轉(zhuǎn)換公式編程器為對(duì)轉(zhuǎn)換公式通過(guò)并行處理的方式進(jìn)行編程的編程器;將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中,運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列。結(jié)合第一方面,在第一方面的第一種實(shí)施方式中,所述待轉(zhuǎn)換值為采用YUV4:2:0采樣格式的YUV值,所述獲取的轉(zhuǎn)換公式編程器中的轉(zhuǎn)換公式為:Ri=Y(jié)i+1.403*(Vi-128)Gi=Y(jié)i-0.344*(Ui-128)-0.714*(Vi-128)Bi=Y(jié)i+1.770*(Ui-128)式中,Ri、Gi、Bi分別為第i個(gè)像素點(diǎn)的R轉(zhuǎn)換值、G轉(zhuǎn)換值以及B轉(zhuǎn)換值;Yi、Ui、Vi分別為第i個(gè)像素點(diǎn)的Y待轉(zhuǎn)換值、U待轉(zhuǎn)換值以及V待轉(zhuǎn)換值。結(jié)合第一方面的第一種實(shí)施方式,在第一方面的第二種實(shí)施方式中,所述獲取的轉(zhuǎn)換公式編程器中包含有多個(gè)轉(zhuǎn)換公式。結(jié)合第一方面的第一種實(shí)施方式,在第一方面的第三種實(shí)施方式中,利用硬件開(kāi)放圖形庫(kù)的著色器對(duì)轉(zhuǎn)換公式編程器進(jìn)行編程。結(jié)合第一方面,在第一方面的第四種實(shí)施方式中,所述將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中包括:統(tǒng)計(jì)所述獲取的轉(zhuǎn)換公式編程器中的轉(zhuǎn)換公式數(shù);對(duì)所述幀待轉(zhuǎn)換值序列進(jìn)行切分,每一切分得到的待轉(zhuǎn)換值切分序列包含有所述轉(zhuǎn)換公式數(shù)的像素點(diǎn)對(duì)應(yīng)的待轉(zhuǎn)換值;依序?qū)⒋D(zhuǎn)換值切分序列寫入獲取的轉(zhuǎn)換公式編程器中。第二方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)轉(zhuǎn)換裝置,包括:待轉(zhuǎn)換序列生成模塊、轉(zhuǎn)換公式查詢模塊以及轉(zhuǎn)換序列獲取模塊,其中,待轉(zhuǎn)換序列生成模塊,用于依序獲取待轉(zhuǎn)換數(shù)據(jù)幀中各像素點(diǎn)的待轉(zhuǎn)換值,得到幀待轉(zhuǎn)換值序列;轉(zhuǎn)換公式查詢模塊,用于查詢轉(zhuǎn)換公式編程器集,獲取所述待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器,所述轉(zhuǎn)換公式編程器為對(duì)轉(zhuǎn)換公式通過(guò)并行處理的方式進(jìn)行編程的編程器;轉(zhuǎn)換序列獲取模塊,用于將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中,運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列。結(jié)合第二方面,在第二方面的第一種實(shí)施方式中,所述待轉(zhuǎn)換值為采用YUV4:2:0采樣格式的YUV值,所述獲取的轉(zhuǎn)換公式編程器中的轉(zhuǎn)換公式為:Ri=Y(jié)i+1.403*(Vi-128)Gi=Y(jié)i-0.344*(Ui-128)-0.714*(Vi-128)Bi=Y(jié)i+1.770*(Ui-128)式中,Ri、Gi、Bi分別為第i個(gè)像素點(diǎn)的R轉(zhuǎn)換值、G轉(zhuǎn)換值以及B轉(zhuǎn)換值;Yi、Ui、Vi分別為第i個(gè)像素點(diǎn)的Y待轉(zhuǎn)換值、U待轉(zhuǎn)換值以及V待轉(zhuǎn)換值。結(jié)合第二方面的第一種實(shí)施方式,在第二方面的第二種實(shí)施方式中,所述獲取的轉(zhuǎn)換公式編程器中包含有多個(gè)轉(zhuǎn)換公式。結(jié)合第二方面的第一種實(shí)施方式,在第二方面的第三種實(shí)施方式中,利用硬件開(kāi)放圖形庫(kù)的著色器對(duì)轉(zhuǎn)換公式編程器進(jìn)行編程。結(jié)合第二方面,在第二方面的第四種實(shí)施方式中,所述轉(zhuǎn)換序列獲取模塊包括:統(tǒng)計(jì)單元、切分單元、寫入單元以及轉(zhuǎn)換序列獲取單元,其中,統(tǒng)計(jì)單元,統(tǒng)計(jì)所述獲取的轉(zhuǎn)換公式編程器中的轉(zhuǎn)換公式數(shù);切分單元,對(duì)所述幀待轉(zhuǎn)換值序列進(jìn)行切分,每一切分得到的待轉(zhuǎn)換值切分序列包含有所述轉(zhuǎn)換公式數(shù)的像素點(diǎn)對(duì)應(yīng)的待轉(zhuǎn)換值;寫入單元,依序?qū)⒋D(zhuǎn)換值切分序列寫入獲取的轉(zhuǎn)換公式編程器中;轉(zhuǎn)換序列獲取單元,用于運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列。第三方面,本發(fā)明實(shí)施例提供一種電子設(shè)備,所述電子設(shè)備包括:殼體、處理器、存儲(chǔ)器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲(chǔ)器設(shè)置在電路板上;電源電路,用于為上述電子設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼;處理器通過(guò)讀取存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,用于執(zhí)行如下操作:依序獲取待轉(zhuǎn)換數(shù)據(jù)幀中各像素點(diǎn)的待轉(zhuǎn)換值,得到幀待轉(zhuǎn)換值序列;查詢轉(zhuǎn)換公式編程器集,獲取所述待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器,所述轉(zhuǎn)換公式編程器為對(duì)轉(zhuǎn)換公式通過(guò)并行處理的方式進(jìn)行編程的編程器;將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中,運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列。第四方面,本發(fā)明實(shí)施例還提供了一種存儲(chǔ)介質(zhì),用于存儲(chǔ)應(yīng)用程序,所述應(yīng)用程序用于執(zhí)行本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)轉(zhuǎn)換方法。第五方面,本發(fā)明實(shí)施例還提供了一種應(yīng)用程序,用于執(zhí)行本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)轉(zhuǎn)換方法。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)轉(zhuǎn)換方法、裝置及電子設(shè)備,通過(guò)依序獲取待轉(zhuǎn)換數(shù)據(jù)幀中各像素點(diǎn)的待轉(zhuǎn)換值,得到幀待轉(zhuǎn)換值序列;查詢轉(zhuǎn)換公式編程器集,獲取所述待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器,所述轉(zhuǎn)換公式編程器為對(duì)轉(zhuǎn)換公式通過(guò)并行處理的方式進(jìn)行編程的編程器;將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中,運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列,能夠有效提升數(shù)據(jù)轉(zhuǎn)換效率,以解決現(xiàn)有的數(shù)據(jù)串行轉(zhuǎn)換方法中,數(shù)據(jù)轉(zhuǎn)換所需的時(shí)間較長(zhǎng),數(shù)據(jù)轉(zhuǎn)換的實(shí)時(shí)性效率較低的問(wèn)題。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖1為本發(fā)明的實(shí)施例一數(shù)據(jù)轉(zhuǎn)換方法流程示意圖;圖2為本發(fā)明的實(shí)施例二數(shù)據(jù)轉(zhuǎn)換裝置結(jié)構(gòu)示意圖;圖3為本發(fā)明電子設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。具體實(shí)施方式下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。應(yīng)當(dāng)明確,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一圖1為本發(fā)明的實(shí)施例一數(shù)據(jù)轉(zhuǎn)換方法流程示意圖,如圖1所示,本實(shí)施例的方法可以包括:步驟101,依序獲取待轉(zhuǎn)換數(shù)據(jù)幀中各像素點(diǎn)的待轉(zhuǎn)換值,得到幀待轉(zhuǎn)換值序列;本實(shí)施例中,作為一可選實(shí)施例,待轉(zhuǎn)換數(shù)據(jù)可以是采用YUV存儲(chǔ)格式的數(shù)據(jù),例如,視頻YUV數(shù)據(jù);作為另一可選實(shí)施例,待轉(zhuǎn)換數(shù)據(jù)也可以是采用RGB存儲(chǔ)格式的數(shù)據(jù),例如,視頻RGB數(shù)據(jù),本實(shí)施例對(duì)此不作限定。本實(shí)施例中,待轉(zhuǎn)換數(shù)據(jù)包含一個(gè)或多個(gè)待轉(zhuǎn)換數(shù)據(jù)幀,每一待轉(zhuǎn)換數(shù)據(jù)幀對(duì)應(yīng)一幀待轉(zhuǎn)換值序列。作為一可選實(shí)施例,幀待轉(zhuǎn)換值序列如表1所示。表1YUVP1Y1U1V1P2Y2U2V2…………PnYnUnVn表1中,P1、P2為像素點(diǎn),n為待轉(zhuǎn)換數(shù)據(jù)幀中包含的像素點(diǎn)數(shù)。步驟102,查詢轉(zhuǎn)換公式編程器集,獲取所述待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器,所述轉(zhuǎn)換公式編程器為對(duì)轉(zhuǎn)換公式通過(guò)并行處理的方式進(jìn)行編程的編程器;本實(shí)施例中,作為一可選實(shí)施例,轉(zhuǎn)換公式編程器集包括:YUV至RGB轉(zhuǎn)換公式編程器以及RGB至YUV轉(zhuǎn)換公式編程器。如果待轉(zhuǎn)換值為YUV值,則該待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器為YUV至RGB轉(zhuǎn)換公式編程器,如果待轉(zhuǎn)換值為RGB值,則該待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器為RGB至YUV轉(zhuǎn)換公式編程器。本實(shí)施例中,作為一可選實(shí)施例,利用硬件開(kāi)放圖形庫(kù)(OpenGL,OpenGraphicsLibrary)的著色器(shader)對(duì)轉(zhuǎn)換公式進(jìn)行編程,這樣,可以利用顯卡的圖形處理器(GPU,GraphicProcessingUnit)功能進(jìn)行處理工作,可以釋放CPU空間而提高效率。當(dāng)然,實(shí)際應(yīng)用中,也可以為采用軟件編程方式對(duì)轉(zhuǎn)換公式進(jìn)行編程,本實(shí)施例對(duì)此不作限定。本實(shí)施例中,作為一可選實(shí)施例,可以為一個(gè)或多個(gè)像素點(diǎn)設(shè)置一線程以進(jìn)行數(shù)據(jù)轉(zhuǎn)換,在轉(zhuǎn)換公式編程器中,包含有多個(gè)線程。本實(shí)施例中,對(duì)于YUV數(shù)據(jù),YUV數(shù)據(jù)的采樣格式包括:YUV4:4:4、YUV4:2:2以及YUV4:2:0。其中,對(duì)于YUV4:4:4采樣格式,每一Y共用一組UV;對(duì)于YUV4:2:2采樣格式,每?jī)蓚€(gè)Y共用一組UV;對(duì)于YUV4:2:0采樣格式,每四個(gè)Y共用一組UV。其中,YUV4:2:0采樣格式具有最大的壓縮比率,例如,假設(shè)有一2x2大小的像素點(diǎn),采用RGB存儲(chǔ)格式進(jìn)行存儲(chǔ),需要12個(gè)字節(jié)大小,如果采用YUV存儲(chǔ)格式中的YUV4:2:0采樣格式進(jìn)行存儲(chǔ),只需要6個(gè)字節(jié),占用的存儲(chǔ)空間可以縮小一半。本實(shí)施例中,作為一可選實(shí)施例,待轉(zhuǎn)換值為采用YUV4:2:0采樣格式的YUV值。對(duì)于YUV4:2:0采樣格式,由于是將YUV分量分別打包,將數(shù)據(jù)分為3塊進(jìn)行存儲(chǔ)。例如,對(duì)于一W*H大小的數(shù)據(jù),采用YUV420采樣格式進(jìn)行存儲(chǔ),為Y分配的存儲(chǔ)空間大小為W*H,為U分配的存儲(chǔ)空間大小為W*H/4,為V分配的存儲(chǔ)空間大小為W*H/4。本實(shí)施例中,如果待轉(zhuǎn)換值為采用YUV4:2:0采樣格式的YUV值,對(duì)應(yīng)的轉(zhuǎn)換公式如下:Ri=Y(jié)i+1.403*(Vi-128)Gi=Y(jié)i-0.344*(Ui-128)-0.714*(Vi-128)Bi=Y(jié)i+1.770*(Ui-128)式中,Ri、Gi、Bi分別為第i個(gè)像素點(diǎn)的R轉(zhuǎn)換值、G轉(zhuǎn)換值以及B轉(zhuǎn)換值;Yi、Ui、Vi分別為第i個(gè)像素點(diǎn)的Y待轉(zhuǎn)換值、U待轉(zhuǎn)換值以及V待轉(zhuǎn)換值。本實(shí)施例中,通過(guò)為一個(gè)或多個(gè)像素點(diǎn)設(shè)置一轉(zhuǎn)換公式,每一轉(zhuǎn)換公式對(duì)應(yīng)一線程,每一轉(zhuǎn)換公式負(fù)責(zé)對(duì)應(yīng)的一個(gè)或多個(gè)像素點(diǎn)的數(shù)據(jù)轉(zhuǎn)換,使得在轉(zhuǎn)換公式編程器中,包含有多個(gè)相同的轉(zhuǎn)換公式,各像素點(diǎn)的Y和UV可以同時(shí)使用,不需要串行的依次進(jìn)行轉(zhuǎn)換,從而能夠?qū)崿F(xiàn)并行地將YUV數(shù)據(jù)轉(zhuǎn)換為RGB數(shù)據(jù),可以大大降低轉(zhuǎn)換所需的時(shí)間,增強(qiáng)數(shù)據(jù)轉(zhuǎn)換的實(shí)時(shí)性效率,提高數(shù)據(jù)轉(zhuǎn)換性能。進(jìn)一步地,利用OpenGL的shader對(duì)轉(zhuǎn)換公式進(jìn)行編程,由于OpenGL為一套GPU硬件接口,可以使用GPU對(duì)數(shù)據(jù)進(jìn)行并行處理,能夠有效加速整個(gè)數(shù)據(jù)轉(zhuǎn)換過(guò)程。步驟103,將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中,運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列。本實(shí)施例中,作為一可選實(shí)施例,將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中包括:A11,統(tǒng)計(jì)所述獲取的轉(zhuǎn)換公式編程器中的轉(zhuǎn)換公式數(shù);本實(shí)施例中,轉(zhuǎn)換公式編程器中包含有一個(gè)或多個(gè)轉(zhuǎn)換公式,每一轉(zhuǎn)換公式對(duì)應(yīng)一像素點(diǎn)的數(shù)據(jù)轉(zhuǎn)換。根據(jù)轉(zhuǎn)換公式編程器中的轉(zhuǎn)換公式數(shù),可以確定并行處理的像素點(diǎn)數(shù)。A12,對(duì)所述幀待轉(zhuǎn)換值序列進(jìn)行切分,每一切分得到的待轉(zhuǎn)換值切分序列包含有所述轉(zhuǎn)換公式數(shù)的像素點(diǎn)對(duì)應(yīng)的待轉(zhuǎn)換值;本實(shí)施例中,如果轉(zhuǎn)換公式編程器中的轉(zhuǎn)換公式數(shù)為5,則以5個(gè)像素點(diǎn)為切分單位,對(duì)幀待轉(zhuǎn)換值序列進(jìn)行切分處理,每一待轉(zhuǎn)換值切分序列包含有5個(gè)像素點(diǎn)對(duì)應(yīng)的待轉(zhuǎn)換值,最后一待轉(zhuǎn)換值切分序列可以包含少于5個(gè)像素點(diǎn)對(duì)應(yīng)的待轉(zhuǎn)換值。A13,依序?qū)⒋D(zhuǎn)換值切分序列寫入獲取的轉(zhuǎn)換公式編程器中。本實(shí)施例中,作為一可選實(shí)施例,可以將待轉(zhuǎn)換值切分序列依次傳入顯卡的圖形處理器(GPU,GraphicProcessingUnit)中。本實(shí)施例中,作為一可選實(shí)施例,可以啟動(dòng)OpenGL渲染管道以運(yùn)行所述獲取的轉(zhuǎn)換公式編程器。通過(guò)啟動(dòng)OpenGL渲染管道,將傳入顯卡的圖形處理器中的YUV數(shù)據(jù)(待轉(zhuǎn)換值)并行利用YUV至RGB轉(zhuǎn)換公式進(jìn)行處理,得到RGB幀轉(zhuǎn)換值序列,該并行處理耗時(shí)基本在1ms左右,因而,能夠更快速地將YUV數(shù)據(jù)轉(zhuǎn)換為RGB數(shù)據(jù)。本實(shí)施例中,在得到幀轉(zhuǎn)換值序列(RGB數(shù)據(jù))后,可以直接顯示采用RGB存儲(chǔ)格式的RGB數(shù)據(jù),也可以從顯卡的GPU中取出RGB數(shù)據(jù),還可以對(duì)得到的RGB數(shù)據(jù)作進(jìn)一步的處理,例如,對(duì)轉(zhuǎn)換得到的RGB數(shù)據(jù)進(jìn)行濾鏡處理等。本發(fā)明實(shí)施例的數(shù)據(jù)轉(zhuǎn)換方法,通過(guò)依序獲取待轉(zhuǎn)換數(shù)據(jù)幀中各像素點(diǎn)的待轉(zhuǎn)換值,得到幀待轉(zhuǎn)換值序列;查詢轉(zhuǎn)換公式編程器集,獲取所述待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器,所述轉(zhuǎn)換公式編程器為對(duì)轉(zhuǎn)換公式通過(guò)并行處理的方式進(jìn)行編程的編程器;將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中,運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列。這樣,由于在轉(zhuǎn)換公式編程器中并行設(shè)置多個(gè)相同的轉(zhuǎn)換公式,能夠?qū)崿F(xiàn)并行地將待轉(zhuǎn)換值(例如,YUV數(shù)據(jù))轉(zhuǎn)換為轉(zhuǎn)換值(例如,RGB數(shù)據(jù)),數(shù)據(jù)轉(zhuǎn)換速度非??欤驹?ms左右,性能能夠達(dá)到串行算法的幾十倍,從而可以大大降低數(shù)據(jù)轉(zhuǎn)換所需的時(shí)間,能夠有效提升數(shù)據(jù)轉(zhuǎn)換的實(shí)時(shí)性效率。實(shí)施例二圖2為本發(fā)明的實(shí)施例二數(shù)據(jù)轉(zhuǎn)換裝置結(jié)構(gòu)示意圖,如圖2所示,本實(shí)施例的裝置可以包括:待轉(zhuǎn)換序列生成模塊21、轉(zhuǎn)換公式查詢模塊22以及轉(zhuǎn)換序列獲取模塊23,其中,待轉(zhuǎn)換序列生成模塊21,用于依序獲取待轉(zhuǎn)換數(shù)據(jù)幀中各像素點(diǎn)的待轉(zhuǎn)換值,得到幀待轉(zhuǎn)換值序列;本實(shí)施例中,待轉(zhuǎn)換數(shù)據(jù)可以是采用YUV存儲(chǔ)格式的數(shù)據(jù),例如,視頻YUV數(shù)據(jù);也可以是采用RGB存儲(chǔ)格式的數(shù)據(jù),例如,視頻RGB數(shù)據(jù)。本實(shí)施例中,待轉(zhuǎn)換數(shù)據(jù)包含一個(gè)或多個(gè)待轉(zhuǎn)換數(shù)據(jù)幀,每一待轉(zhuǎn)換數(shù)據(jù)幀對(duì)應(yīng)一幀待轉(zhuǎn)換值序列。轉(zhuǎn)換公式查詢模塊22,用于查詢轉(zhuǎn)換公式編程器集,獲取所述待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器,所述轉(zhuǎn)換公式編程器為對(duì)轉(zhuǎn)換公式通過(guò)并行處理的方式進(jìn)行編程的編程器;本實(shí)施例中,作為一可選實(shí)施例,轉(zhuǎn)換公式編程器集包括:YUV至RGB轉(zhuǎn)換公式編程器以及RGB至YUV轉(zhuǎn)換公式編程器。如果待轉(zhuǎn)換值為YUV值,則該待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器為YUV至RGB轉(zhuǎn)換公式編程器,如果待轉(zhuǎn)換值為RGB值,則該待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器為RGB至YUV轉(zhuǎn)換公式編程器。本實(shí)施例中,作為一可選實(shí)施例,一轉(zhuǎn)換公式編程器中包含有多個(gè)轉(zhuǎn)換公式,每一轉(zhuǎn)換公式對(duì)應(yīng)一線程。本實(shí)施例中,作為一可選實(shí)施例,利用硬件開(kāi)放圖形庫(kù)的著色器對(duì)轉(zhuǎn)換公式編程器進(jìn)行編程。轉(zhuǎn)換序列獲取模塊23,用于將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中,運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列。本實(shí)施例中,作為一可選實(shí)施例,待轉(zhuǎn)換值為采用YUV4:2:0采樣格式的YUV值,所述獲取的轉(zhuǎn)換公式編程器中的轉(zhuǎn)換公式為:Ri=Y(jié)i+1.403*(Vi-128)Gi=Y(jié)i-0.344*(Ui-128)-0.714*(Vi-128)Bi=Y(jié)i+1.770*(Ui-128)式中,Ri、Gi、Bi分別為第i個(gè)像素點(diǎn)的R轉(zhuǎn)換值、G轉(zhuǎn)換值以及B轉(zhuǎn)換值;Yi、Ui、Vi分別為第i個(gè)像素點(diǎn)的Y待轉(zhuǎn)換值、U待轉(zhuǎn)換值以及V待轉(zhuǎn)換值。本實(shí)施例中,作為一可選實(shí)施例,轉(zhuǎn)換序列獲取模塊23包括:統(tǒng)計(jì)單元、切分單元、寫入單元以及轉(zhuǎn)換序列獲取單元(圖中未示出),其中,統(tǒng)計(jì)單元,統(tǒng)計(jì)所述獲取的轉(zhuǎn)換公式編程器中的轉(zhuǎn)換公式數(shù);切分單元,對(duì)所述幀待轉(zhuǎn)換值序列進(jìn)行切分,每一切分得到的待轉(zhuǎn)換值切分序列包含有所述轉(zhuǎn)換公式數(shù)的像素點(diǎn)對(duì)應(yīng)的待轉(zhuǎn)換值;寫入單元,依序?qū)⒋D(zhuǎn)換值切分序列寫入獲取的轉(zhuǎn)換公式編程器中;本實(shí)施例中,作為一可選實(shí)施例,可以將待轉(zhuǎn)換值切分序列依次傳入顯卡的圖形處理器中。轉(zhuǎn)換序列獲取單元,用于運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列。本實(shí)施例中,作為一可選實(shí)施例,可以啟動(dòng)OpenGL渲染管道以運(yùn)行所述獲取的轉(zhuǎn)換公式編程器。本實(shí)施例的裝置,可以用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。本說(shuō)明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說(shuō)明書而言,″計(jì)算機(jī)可讀介質(zhì)″可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(CDROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。本發(fā)明實(shí)施例還提供一種電子設(shè)備,所述電子設(shè)備包含前述任一實(shí)施例所述的裝置。圖3為本發(fā)明電子設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,可以實(shí)現(xiàn)本發(fā)明圖1-2所示實(shí)施例的流程,如圖3所示,上述電子設(shè)備可以包括:殼體31、處理器32、存儲(chǔ)器33、電路板34和電源電路35,其中,電路板34安置在殼體31圍成的空間內(nèi)部,處理器32和存儲(chǔ)器33設(shè)置在電路板34上;電源電路35,用于為上述電子設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器33用于存儲(chǔ)可執(zhí)行程序代碼;處理器32通過(guò)讀取存儲(chǔ)器33中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,用于執(zhí)行如下操作:依序獲取待轉(zhuǎn)換數(shù)據(jù)幀中各像素點(diǎn)的待轉(zhuǎn)換值,得到幀待轉(zhuǎn)換值序列;查詢轉(zhuǎn)換公式編程器集,獲取所述待轉(zhuǎn)換值映射的轉(zhuǎn)換公式編程器,所述轉(zhuǎn)換公式編程器為對(duì)轉(zhuǎn)換公式通過(guò)并行處理的方式進(jìn)行編程的編程器;將所述幀待轉(zhuǎn)換值序列寫入獲取的轉(zhuǎn)換公式編程器中,運(yùn)行所述獲取的轉(zhuǎn)換公式編程器,得到幀轉(zhuǎn)換值序列。處理器32對(duì)上述步驟的具體執(zhí)行過(guò)程以及處理器32通過(guò)運(yùn)行可執(zhí)行程序代碼來(lái)進(jìn)一步執(zhí)行的步驟,可以參見(jiàn)本發(fā)明圖1-2所示實(shí)施例的描述,在此不再贅述。該電子設(shè)備以多種形式存在,包括但不限于:(1)移動(dòng)通信設(shè)備:這類設(shè)備的特點(diǎn)是具備移動(dòng)通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標(biāo)。這類終端包括:智能手機(jī)(例如iPhone)、多媒體手機(jī)、功能性手機(jī),以及低端手機(jī)等。(2)超移動(dòng)個(gè)人計(jì)算機(jī)設(shè)備:這類設(shè)備屬于個(gè)人計(jì)算機(jī)的范疇,有計(jì)算和處理功能,一般也具備移動(dòng)上網(wǎng)特性。這類終端包括:PDA、MID和UMPC設(shè)備等,例如iPad。(3)便攜式娛樂(lè)設(shè)備:這類設(shè)備可以顯示和播放多媒體內(nèi)容。該類設(shè)備包括:音頻、視頻播放器(例如iPod),掌上游戲機(jī),電子書,以及智能玩具和便攜式車載導(dǎo)航設(shè)備。(4)服務(wù)器:提供計(jì)算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計(jì)算機(jī)架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。(5)其他具有數(shù)據(jù)交互功能的電子設(shè)備。本發(fā)明實(shí)施例還提供了一種存儲(chǔ)介質(zhì),用于存儲(chǔ)應(yīng)用程序,所述應(yīng)用程序用于執(zhí)行本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)轉(zhuǎn)換方法。本發(fā)明實(shí)施例還提供了一種應(yīng)用程序,用于執(zhí)行本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)轉(zhuǎn)換方法。本
技術(shù)領(lǐng)域:
的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。為了描述的方便,描述以上裝置是以功能分為各種單元/模塊分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各單元/模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁(yè)1 2 3