本發(fā)明涉及移動(dòng)終端領(lǐng)域,尤其涉及的是一種移動(dòng)終端及其攝像頭拍照錄像數(shù)據(jù)處理方法、及存儲(chǔ)介質(zhì)。
背景技術(shù):
目前,攝像頭是移動(dòng)終端的標(biāo)準(zhǔn)配置了,并且越來越多的移動(dòng)終端配置了高清晰、高分辨率的攝像頭以滿足用戶錄像與拍照的需求。另一方面,移動(dòng)終端在拍照時(shí)攝像頭數(shù)據(jù)被傳輸至拍照處理對(duì)應(yīng)的內(nèi)存中由拍照處理程序處理,移動(dòng)終端在錄像時(shí)攝像頭數(shù)據(jù)被傳輸至錄像處理對(duì)應(yīng)的內(nèi)存中由錄像處理程序處理;由于攝像頭的一幀數(shù)據(jù)容量大,因此,上述兩塊內(nèi)存往往占用較多。
因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對(duì)現(xiàn)有技術(shù)的上述缺陷,提供一種移動(dòng)終端及其攝像頭拍照錄像數(shù)據(jù)處理方法、及存儲(chǔ)介質(zhì)。本發(fā)明提供一種移動(dòng)終端攝像頭拍照與錄像數(shù)據(jù)的處理方法,旨在對(duì)攝像頭傳輸過來的數(shù)據(jù)進(jìn)行統(tǒng)一內(nèi)存存放,使移動(dòng)終端的內(nèi)存利用率提高。
本發(fā)明解決技術(shù)問題所采用的技術(shù)方案如下:
一種移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法,其中,包括:
a、預(yù)先建立一塊連續(xù)的內(nèi)存用于攝像頭拍照與錄像數(shù)據(jù)的處理;
b、控制將拍照數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的起始地址開始,由低地址向高地址連續(xù)存儲(chǔ);
以及控制錄像的數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的結(jié)束地址開始,由高地址向低地址連續(xù)存儲(chǔ)。
所述移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法,其中,所述步驟a具體包括:
預(yù)先建立一塊用于錄像數(shù)據(jù)處理的第一連續(xù)內(nèi)存,以及預(yù)先建立一塊用于拍照數(shù)據(jù)處理的第二連續(xù)內(nèi)存。
所述移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法,其中,所述步驟a還包括:
a1、建立一塊連續(xù)的內(nèi)存后,用數(shù)組cam_frame[y]表示,每個(gè)數(shù)組元素存儲(chǔ)一個(gè)字節(jié)數(shù)據(jù),因此該建立內(nèi)存的大小為y字節(jié),用于存儲(chǔ)y字節(jié)的數(shù)據(jù);
a2、設(shè)置變量x1存儲(chǔ)拍照所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),設(shè)置變量x2存儲(chǔ)錄像所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),在初始化或復(fù)位時(shí)x1、x2均置零。
所述移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法,其中,所述步驟b中在拍照的數(shù)據(jù)需要存儲(chǔ)時(shí),具體包括:
b11、獲取本次需要存儲(chǔ)的數(shù)據(jù)的字節(jié)數(shù)z1;
b12、判斷x1+x2+z1是否大于或等于y,如果是則說明存儲(chǔ)空間不足該數(shù)據(jù)無法存儲(chǔ);否則將z1字節(jié)數(shù)據(jù)依次存儲(chǔ)在cam_frame[x1]至cam_frame[x1+z1-1],存儲(chǔ)結(jié)束后x1=x1+z1。
所述移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法,其中,所述步驟b中在錄像的數(shù)據(jù)需要存儲(chǔ)時(shí),具體包括:
b21、獲取本次需要存儲(chǔ)的數(shù)據(jù)的字節(jié)數(shù)z2;
b22、判斷x1+x2+z2是否大于或等于y3,如果是則說明存儲(chǔ)空間不足該數(shù)據(jù)無法存儲(chǔ);否則將z2字節(jié)數(shù)據(jù)依次存儲(chǔ)在cam_frame[y-x2-1]至cam_frame[y-x2-z2],存儲(chǔ)結(jié)束后x2=x2+z2。
一種移動(dòng)終端,其中,包括處理器,以及與所述處理器連接的存儲(chǔ)器,
所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)任一項(xiàng)移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法的步驟;
所述處理器用于調(diào)用所述存儲(chǔ)器中的程序指令,以執(zhí)行上述任一項(xiàng)移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法的步驟。
一種存儲(chǔ)裝置,其中,所述存儲(chǔ)裝置存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)任一項(xiàng)所述移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法的步驟。
本發(fā)明所提供的移動(dòng)終端及其攝像頭拍照錄像數(shù)據(jù)處理方法、及存儲(chǔ)介質(zhì),所述方法通過預(yù)先建立一塊連續(xù)的內(nèi)存用于拍照與錄像所的到的數(shù)據(jù)的臨時(shí)存儲(chǔ);拍照的數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的起始地址開始,由低地址向高地址連續(xù)存儲(chǔ);錄像的數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的結(jié)束地址開始,由高地址向低地址連續(xù)存儲(chǔ)。對(duì)攝像頭傳輸過來的數(shù)據(jù)進(jìn)行統(tǒng)一內(nèi)存存放,使移動(dòng)終端的內(nèi)存利用率提高。
附圖說明
圖1是本發(fā)明移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法的較佳實(shí)施例的流程圖。
圖2是本發(fā)明移動(dòng)終端較佳實(shí)施例的功能原理框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
實(shí)施例一
請(qǐng)參見圖1,圖1是本發(fā)明移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法的較佳實(shí)施例的流程圖。如圖1所示,本發(fā)明實(shí)施例所述的移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法,包括以下步驟:
步驟s100、預(yù)先建立一塊連續(xù)的內(nèi)存用于攝像頭拍照與錄像數(shù)據(jù)的處理。
本發(fā)明在具體實(shí)施時(shí),在建立一塊連續(xù)的內(nèi)存后,用數(shù)組cam_frame[y]表示,每個(gè)數(shù)組元素存儲(chǔ)一個(gè)字節(jié)數(shù)據(jù),因此該建立內(nèi)存的大小為y字節(jié),用于存儲(chǔ)y字節(jié)的數(shù)據(jù);本實(shí)施例中,建立內(nèi)存的大小為y字節(jié)按數(shù)組定義分別為cam_frame[0]、cam_frame[1]、……、cam_frame[y-1]用于存儲(chǔ)y字節(jié)的數(shù)據(jù)。
a2、設(shè)置變量x1存儲(chǔ)拍照所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),設(shè)置變量x2存儲(chǔ)錄像所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),在初始化或復(fù)位時(shí)x1、x2均置零。
即本發(fā)明實(shí)施中,可以設(shè)置其中一部分連續(xù)內(nèi)存用于處理拍照數(shù)據(jù),另一段連續(xù)內(nèi)存用于處理錄像數(shù)據(jù)。
本發(fā)明實(shí)施例中單獨(dú)劃出的一塊連續(xù)的內(nèi)存,用于暫時(shí)性存放拍照、錄像得到的數(shù)據(jù)。
考慮到在實(shí)際應(yīng)用中,錄像與拍照只會(huì)在特定的情況下偶爾使用,比如在錄像時(shí)對(duì)對(duì)當(dāng)前錄像顯示的圖片拍一張照,因此多數(shù)時(shí)候步驟s100中建立的內(nèi)存要么用于錄像,要么用于拍照。這樣,作為本發(fā)明較佳地還可以在開始建立時(shí)就分兩個(gè)連續(xù)的內(nèi)存,例如預(yù)先建立一塊用于錄像數(shù)據(jù)處理的第一連續(xù)內(nèi)存,以及預(yù)先建立一塊用于拍照數(shù)據(jù)處理的第二連續(xù)內(nèi)存。這樣,可以使移動(dòng)終端的內(nèi)存利用率提高。
步驟s200、控制將拍照數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的起始地址開始,由低地址向高地址連續(xù)存儲(chǔ)。
以及控制錄像的數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的結(jié)束地址開始,由高地址向低地址連續(xù)存儲(chǔ)。
本發(fā)明中,其中,所述步驟s200中在拍照的數(shù)據(jù)需要存儲(chǔ)時(shí),具體包括:
b11、獲取本次需要存儲(chǔ)的數(shù)據(jù)的字節(jié)數(shù)z1;
b12、判斷x1+x2+z1是否大于或等于y,如果是則說明存儲(chǔ)空間不足該數(shù)據(jù)無法存儲(chǔ);否則將z1字節(jié)數(shù)據(jù)依次存儲(chǔ)在cam_frame[x1]至cam_frame[x1+z1-1],存儲(chǔ)結(jié)束后x1=x1+z1。
例如,本發(fā)明中在具體實(shí)施時(shí),預(yù)先建立一塊連續(xù)的內(nèi)存用于攝像頭拍照與錄像數(shù)據(jù)的處理;在建立一塊連續(xù)的內(nèi)存后,用數(shù)組cam_frame[y]表示,每個(gè)數(shù)組元素存儲(chǔ)一個(gè)字節(jié)數(shù)據(jù),因此該內(nèi)存的大小為y字節(jié)(按數(shù)組定義cam_frame[0]、cam_frame[1]、……、cam_frame[y-1]用于存儲(chǔ)y字節(jié)的數(shù)據(jù));并且設(shè)置變量x1存儲(chǔ)拍照所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),設(shè)置變量x2存儲(chǔ)錄像所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),在初始化或復(fù)位時(shí)x1、x2均置零;
而拍照數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的起始地址開始,由低地址向高地址連續(xù)存儲(chǔ);例如獲取本次需要存儲(chǔ)的數(shù)據(jù)的字節(jié)數(shù)z1(例如z1=100),判斷x1+x2+z1是否大于或等于y(y是為拍照與錄像分配的總內(nèi)存大小的字節(jié)數(shù),例如y=10000),x1是當(dāng)前存儲(chǔ)拍照所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),x2是當(dāng)前存儲(chǔ)錄像所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù)。
例如x1=5000,x2=4990,
因此滿足x1+x2+z1大于y,則說明存儲(chǔ)空間不足該數(shù)據(jù)無法存儲(chǔ)。
又例如x1=10,x2=20,
因此滿足x1+x2+z1小于y,則說明本次需要存儲(chǔ)的數(shù)據(jù)的字節(jié)數(shù)z1=100可以存儲(chǔ)。然后將z1字節(jié)數(shù)據(jù)依次存儲(chǔ)在cam_frame[x1]至cam_frame[x1+z1-1],存儲(chǔ)結(jié)束后x1=x1+z1;;即將z1字節(jié)數(shù)據(jù)依次存儲(chǔ)在cam_frame[10]至cam_frame[10+100-1],存儲(chǔ)結(jié)束后x1=10+100。
另外地,所述步驟s200中在錄像的數(shù)據(jù)需要存儲(chǔ)時(shí),具體包括:
b21、獲取本次需要存儲(chǔ)的數(shù)據(jù)的字節(jié)數(shù)z2;
b22、判斷x1+x2+z2是否大于或等于y3,如果是則說明存儲(chǔ)空間不足該數(shù)據(jù)無法存儲(chǔ);否則將z2字節(jié)數(shù)據(jù)依次存儲(chǔ)在cam_frame[y-x2-1]至cam_frame[y-x2-z2],存儲(chǔ)結(jié)束后x2=x2+z2。
具體地,本實(shí)施例預(yù)先建立一塊連續(xù)的內(nèi)存用于攝像頭拍照與錄像數(shù)據(jù)的處理;然后在建立一塊連續(xù)的內(nèi)存后,用數(shù)組cam_frame[y]表示,每個(gè)數(shù)組元素存儲(chǔ)一個(gè)字節(jié)數(shù)據(jù),因此該內(nèi)存的大小為y字節(jié)(按數(shù)組定義cam_frame[0]、cam_frame[1]、……、cam_frame[y-1]用于存儲(chǔ)y字節(jié)的數(shù)據(jù));并且設(shè)置變量x1存儲(chǔ)拍照所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),設(shè)置變量x2存儲(chǔ)錄像所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),在初始化或復(fù)位時(shí)x1、x2均置零。之后錄像的數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的結(jié)束地址開始,由高地址向低地址連續(xù)存儲(chǔ)。
例如獲取本次需要存儲(chǔ)的數(shù)據(jù)的字節(jié)數(shù)z2(例如z2=100),判斷x1+x2+z2是否大于或等于y。判斷x1+x2+z2是否大于或等于y(y是為拍照與錄像分配的總內(nèi)存大小的字節(jié)數(shù),例如y=10000),x1是當(dāng)前存儲(chǔ)拍照所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù),x2是當(dāng)前存儲(chǔ)錄像所存儲(chǔ)數(shù)據(jù)的字節(jié)數(shù)。
例如x1=5000,x2=4990。
因此滿足x1+x2+z2大于y,則說明存儲(chǔ)空間不足該數(shù)據(jù)無法存儲(chǔ)。
又例如x1=10,x2=20。
因此滿足x1+x2+z2小于y,則說明本次需要存儲(chǔ)的數(shù)據(jù)的字節(jié)數(shù)z2=100可以存儲(chǔ)。將z2字節(jié)數(shù)據(jù)依次存儲(chǔ)在cam_frame[y-x2-1]至cam_frame[y-x2-z2],存儲(chǔ)結(jié)束后x2=x2+z2。即將z2字節(jié)數(shù)據(jù)依次存儲(chǔ)在cam_frame[10000-20-1]至cam_frame[10000-20-100],存儲(chǔ)結(jié)束后x2=20+100。
考慮到在實(shí)際應(yīng)用中,錄像與拍照只會(huì)在特定的情況下偶爾使用,比如在錄像時(shí)對(duì)對(duì)當(dāng)前錄像顯示的圖片拍一張照,因此多數(shù)時(shí)候步驟s100中建立的內(nèi)存要么用于錄像,要么用于拍照。
需要說明的是,在本發(fā)明實(shí)施中,內(nèi)存皆為棧的結(jié)構(gòu),也就是后入先入處理的結(jié)構(gòu)。
由上可見,本發(fā)明提供一種移動(dòng)終端攝像頭拍照與錄像數(shù)據(jù)的處理方法,旨在對(duì)攝像頭傳輸過來的數(shù)據(jù)進(jìn)行統(tǒng)一內(nèi)存存放,使移動(dòng)終端的內(nèi)存利用率提高。
當(dāng)然,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)硬件(如處理器,控制器等)來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí)可包括如上述各方法實(shí)施例的流程。其中所述的存儲(chǔ)介質(zhì)可為存儲(chǔ)器、磁碟、光盤等。
實(shí)施例二
本發(fā)明實(shí)施例還提供了一種移動(dòng)終端,其中,包括處理器10,以及與所述處理器10連接的存儲(chǔ)器20,
所述存儲(chǔ)器20存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器10執(zhí)行時(shí)實(shí)現(xiàn)如上任一項(xiàng)實(shí)施例移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法的步驟;
所述處理器10用于調(diào)用所述存儲(chǔ)器中的程序指令,以執(zhí)行上述任一項(xiàng)實(shí)施例移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法的步驟。具體如上所述。
實(shí)施例三
本發(fā)明實(shí)施例一種存儲(chǔ)裝置,其中,所述存儲(chǔ)裝置存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器10執(zhí)行時(shí)實(shí)現(xiàn)上述任一項(xiàng)移動(dòng)終端攝像頭拍照錄像數(shù)據(jù)處理方法的步驟。具體如上所述。
綜上所述,本發(fā)明所提供的移動(dòng)終端及其攝像頭拍照錄像數(shù)據(jù)處理方法、及存儲(chǔ)介質(zhì),所述方法通過預(yù)先建立一塊連續(xù)的內(nèi)存用于拍照與錄像所的到的數(shù)據(jù)的臨時(shí)存儲(chǔ);拍照的數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的起始地址開始,由低地址向高地址連續(xù)存儲(chǔ);錄像的數(shù)據(jù)存儲(chǔ)以所述內(nèi)存的結(jié)束地址開始,由高地址向低地址連續(xù)存儲(chǔ)。對(duì)攝像頭傳輸過來的數(shù)據(jù)進(jìn)行統(tǒng)一內(nèi)存存放,使移動(dòng)終端的內(nèi)存利用率提高。
應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對(duì)本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。