本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)壓縮方法和設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,用戶對(duì)游戲的畫面效果和游戲性能的要求越來越高。三維游戲中逼真的環(huán)境模擬,實(shí)時(shí)的交互體驗(yàn),以及豐富的聲光效果,在很大程度上提升了游戲的用戶體驗(yàn)。
游戲開發(fā)者在三維動(dòng)畫制作軟件(例如:3dmax)中為游戲角色制作角色動(dòng)畫,并將角色動(dòng)畫對(duì)應(yīng)的動(dòng)作數(shù)據(jù)從三維動(dòng)畫制作軟件中導(dǎo)出,得到角色動(dòng)畫對(duì)應(yīng)的動(dòng)作數(shù)據(jù)文件。游戲程序運(yùn)行過程中,游戲引擎通過運(yùn)行動(dòng)作數(shù)據(jù)文件,為用戶展示這個(gè)角色動(dòng)畫。
在實(shí)際應(yīng)用中,通常將三維動(dòng)畫制作軟件中角色動(dòng)畫對(duì)應(yīng)的動(dòng)作數(shù)據(jù)全幀導(dǎo)出,得到角色動(dòng)畫的全幀動(dòng)作數(shù)據(jù)文件。例如:角色動(dòng)畫包含100幀,就會(huì)導(dǎo)出100幀的動(dòng)作數(shù)據(jù)。
但是,全幀動(dòng)作數(shù)據(jù)文件的大小較大,例如:對(duì)于一個(gè)包含50根骨骼的游戲角色大約3秒的角色動(dòng)畫,每根骨骼對(duì)應(yīng)的骨骼動(dòng)畫包含100幀動(dòng)作數(shù)據(jù),因此,這個(gè)大約3秒的角色動(dòng)畫對(duì)應(yīng)的全幀動(dòng)作數(shù)據(jù)包含50×100=5000幀動(dòng)作數(shù)據(jù)。假設(shè)一幀動(dòng)作數(shù)據(jù)用一個(gè)大小為64字節(jié)的4×4的矩陣來保存,那么,這個(gè)大約3秒的角色動(dòng)畫對(duì)應(yīng)的全幀動(dòng)作數(shù)據(jù)的大小為312k,占用空間較大。
由于全幀動(dòng)作數(shù)據(jù)較大,游戲程序在運(yùn)行過程中,加載全幀動(dòng)作數(shù)據(jù)的時(shí)間較長,加載完成后的全幀動(dòng)作數(shù)據(jù)在用戶設(shè)備中占用的存儲(chǔ)空間較大,影響用戶對(duì)于游戲的用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供一種數(shù)據(jù)的壓縮方法和設(shè)備,用于解決現(xiàn)有技術(shù)中全幀動(dòng)作數(shù)據(jù)較大導(dǎo)致的加載時(shí)間較長、占用存儲(chǔ)空間較大的問題。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)的壓縮方法,包括:
獲取動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù);
確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù),所述可計(jì)算幀數(shù)據(jù)表示所述原始幀數(shù)據(jù)中可以通過計(jì)算得到的幀數(shù)據(jù);
將不包含所述可計(jì)算幀數(shù)據(jù)的所述原始幀數(shù)據(jù)確定為壓縮后的動(dòng)畫數(shù)據(jù)。
優(yōu)選地,確定所述可計(jì)算幀數(shù)據(jù),包括:
將所述原始幀數(shù)據(jù)作為輸入幀數(shù)據(jù)執(zhí)行如下步驟:
確定所述輸入幀數(shù)據(jù)中的非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù),所述輸入幀數(shù)據(jù)中的任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為缺少該幀數(shù)據(jù)的所述輸入幀數(shù)據(jù);
確定所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值,所述任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)是通過該幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)計(jì)算得到的;
判斷所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中是否存在滿足預(yù)設(shè)條件的誤差值;
若存在,則將所述滿足預(yù)設(shè)條件的誤差值對(duì)應(yīng)的幀數(shù)據(jù)確定為可計(jì)算幀數(shù)據(jù),將該可計(jì)算幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)作為輸入幀數(shù)據(jù),重復(fù)執(zhí)行上述步驟。
優(yōu)選地,所述任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)是通過該幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)計(jì)算得到的,包括:
對(duì)所述任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的所述壓縮數(shù)據(jù)執(zhí)行線性插值操作,得到該幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)。
優(yōu)選地,所述滿足預(yù)設(shè)條件的誤差值表示所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的所述誤差值中數(shù)值最小并且數(shù)值小于預(yù)設(shè)值的誤差值。
優(yōu)選地,所述方法還包括:
若所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中不存在滿足預(yù)設(shè)條件的誤差值,終止確定所述可計(jì)算幀數(shù)據(jù)。
本發(fā)明實(shí)施例還提供一種游戲,所述游戲中的動(dòng)畫數(shù)據(jù)是采用如上所述的數(shù)據(jù)的壓縮方法對(duì)原始幀數(shù)據(jù)進(jìn)行壓縮之后得到的壓縮后的動(dòng)畫數(shù)據(jù)。
本發(fā)明實(shí)施例還提供一種數(shù)據(jù)的壓縮設(shè)備,包括:
獲取單元,用于獲取動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù);
確定單元,用于確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù),所述可計(jì)算幀數(shù)據(jù)表示所述原始幀數(shù)據(jù)中可以通過計(jì)算得到的幀數(shù)據(jù);
所述確定單元,還用于將不包含所述可計(jì)算幀數(shù)據(jù)的所述原始幀數(shù)據(jù)確定為壓縮后的動(dòng)畫數(shù)據(jù)。
本發(fā)明有益效果如下:
本發(fā)明實(shí)施例獲取動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù),確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù),進(jìn)而刪除所述可計(jì)算幀數(shù)據(jù),實(shí)現(xiàn)對(duì)動(dòng)畫對(duì)應(yīng)的所述原始幀數(shù)據(jù)的數(shù)據(jù)壓縮,得到不包含所述可計(jì)算幀數(shù)據(jù)的壓縮后的動(dòng)畫數(shù)據(jù),使得游戲程序在運(yùn)行過程中,提高動(dòng)畫數(shù)據(jù)的加載速度,減小加載完成后的動(dòng)畫數(shù)據(jù)占用的存儲(chǔ)空間,有效提高用戶對(duì)于游戲的用戶體驗(yàn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)的壓縮方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種確定可計(jì)算幀數(shù)據(jù)的方法的流程示意圖;
圖3本發(fā)明實(shí)施例提供的原始幀數(shù)據(jù)對(duì)應(yīng)的動(dòng)作動(dòng)畫示意圖;
圖4本發(fā)明實(shí)施例提供的壓縮后的動(dòng)畫數(shù)據(jù)對(duì)應(yīng)的動(dòng)作動(dòng)畫示意圖;
圖5本發(fā)明實(shí)施例提供的一種數(shù)據(jù)的壓縮設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
游戲開發(fā)者通過三維動(dòng)畫制作軟件為游戲角色制作角色動(dòng)作時(shí),假設(shè)所述游戲角色包含x根骨骼,所述游戲開發(fā)者在所述三維動(dòng)畫軟件中為每根骨骼制作骨骼動(dòng)畫。
具體地,首先,在三維動(dòng)畫制作軟件中創(chuàng)建骨骼動(dòng)畫的關(guān)鍵幀,其中,關(guān)鍵幀表示骨骼動(dòng)畫中的關(guān)鍵動(dòng)作所處的一幀;其次,三維動(dòng)畫制作軟件通過插值算法創(chuàng)建相鄰關(guān)鍵幀之間的過渡幀,得到骨骼動(dòng)畫對(duì)應(yīng)的全幀動(dòng)作數(shù)據(jù);最后,為了準(zhǔn)確還原游戲開發(fā)者制作的角色動(dòng)畫,將每根骨骼的骨骼動(dòng)畫對(duì)應(yīng)的全幀動(dòng)作數(shù)據(jù)從三維動(dòng)畫制作軟件中導(dǎo)出,得到所述游戲角色對(duì)應(yīng)的角色動(dòng)畫的原始幀數(shù)據(jù),游戲引擎通過運(yùn)行所述原始幀數(shù)據(jù),能夠?yàn)橛脩粽故舅鲇螒蚪巧鄳?yīng)的動(dòng)畫過程。
但是,由于所述原始幀數(shù)據(jù)為全幀動(dòng)作數(shù)據(jù),數(shù)據(jù)量較大,使得游戲程序在運(yùn)行過程中,加載所述原始幀數(shù)據(jù)的時(shí)間較長,加載完成后的原始幀數(shù)據(jù)在用戶設(shè)備中占用的存儲(chǔ)空間較大,影響用戶對(duì)于游戲的用戶體驗(yàn)。
在所述角色動(dòng)畫中,很多骨骼并沒有動(dòng)畫,或者,角色動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù)中有很多是可以通過計(jì)算得到的幀數(shù)據(jù)。
為了實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)的壓縮方法和設(shè)備,獲取動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù),確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù),進(jìn)而刪除所述可計(jì)算幀數(shù)據(jù),實(shí)現(xiàn)對(duì)動(dòng)畫對(duì)應(yīng)的所述原始幀數(shù)據(jù)的數(shù)據(jù)壓縮,得到不包含所述可計(jì)算幀數(shù)據(jù)的壓縮后的動(dòng)畫數(shù)據(jù),使得游戲程序在運(yùn)行過程中,提高動(dòng)畫數(shù)據(jù)的加載速度,減小加載完成后的動(dòng)畫數(shù)據(jù)占用的存儲(chǔ)空間,有效提高用戶對(duì)于游戲的用戶體驗(yàn)。
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例1
圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)的壓縮方法的流程示意圖。所述方法可以如下所示。
步驟11:獲取動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù)。
在步驟11中,游戲開發(fā)者在三維動(dòng)畫軟件中制作完成角色動(dòng)畫之后,將所述角色動(dòng)畫對(duì)應(yīng)的動(dòng)作數(shù)據(jù)從所述三維動(dòng)畫軟件中全幀導(dǎo)出,獲取到所述角色動(dòng)畫對(duì)應(yīng)的全幀動(dòng)作數(shù)據(jù),即所述角色動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù)。
例如:游戲角色包含50根骨骼,每根骨骼對(duì)應(yīng)的骨骼動(dòng)畫包含100幀動(dòng)作數(shù)據(jù),因此,所述游戲角色的角色動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù)中包含50×100=5000幀數(shù)據(jù)。
步驟12:確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù)。
其中,所述可計(jì)算幀數(shù)據(jù)表示所述原始幀數(shù)據(jù)中可以通過計(jì)算得到的幀數(shù)據(jù)。
在步驟12中,對(duì)于步驟11中獲取得到的所述原始幀數(shù)據(jù),其中包含可以通過計(jì)算得到的幀數(shù)據(jù),確定所述原始幀數(shù)據(jù)中包含的可以通過計(jì)算得到的幀數(shù)據(jù)。
步驟13:將不包含所述可計(jì)算幀數(shù)據(jù)的所述原始幀數(shù)據(jù)確定為壓縮后的動(dòng)畫數(shù)據(jù)。。
在步驟13中,將步驟12中確定的所述可計(jì)算幀數(shù)據(jù)從包含所述原始幀數(shù)據(jù)中去除掉,實(shí)現(xiàn)對(duì)所述原始幀數(shù)據(jù)的數(shù)據(jù)壓縮,將不包含所述可計(jì)算幀數(shù)據(jù)的所述原始幀數(shù)據(jù)確定為壓縮后的動(dòng)畫數(shù)據(jù)。
需要說明的是,所述原始幀數(shù)據(jù)壓縮后得到的所述壓縮后的動(dòng)畫數(shù)據(jù)中包含的數(shù)據(jù)幀數(shù)是根據(jù)實(shí)際情況確定的,這里不做具體限定。當(dāng)所述原始幀數(shù)據(jù)對(duì)應(yīng)的動(dòng)作動(dòng)畫越簡單時(shí),得到的所述壓縮后的動(dòng)畫數(shù)據(jù)中包含的數(shù)據(jù)幀數(shù)越少。
本發(fā)明實(shí)施例獲取動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù),確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù),進(jìn)而刪除所述可計(jì)算幀數(shù)據(jù),實(shí)現(xiàn)對(duì)動(dòng)畫對(duì)應(yīng)的所述原始幀數(shù)據(jù)的數(shù)據(jù)壓縮,得到不包含所述可計(jì)算幀數(shù)據(jù)的壓縮后的動(dòng)畫數(shù)據(jù),使得游戲程序在運(yùn)行過程中,提高動(dòng)畫數(shù)據(jù)的加載速度,減小加載完成后的動(dòng)畫數(shù)據(jù)占用的存儲(chǔ)空間,有效提高用戶對(duì)于游戲的用戶體驗(yàn)。
實(shí)施例2
基于同一個(gè)發(fā)明構(gòu)思,在本發(fā)明實(shí)施例中,進(jìn)一步對(duì)上述實(shí)施例1中所記載的“確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù)”如何具體實(shí)現(xiàn)進(jìn)項(xiàng)詳細(xì)說明。
步驟12中記載了“確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù)。其中,所述可計(jì)算幀數(shù)據(jù)表示所述原始幀數(shù)據(jù)中可以通過計(jì)算得到的幀數(shù)據(jù)。”
下面詳細(xì)描述如何確定所述可計(jì)算幀數(shù)據(jù)。圖2為本發(fā)明實(shí)施例提供的一種確定可計(jì)算幀數(shù)據(jù)的方法的流程示意圖。所述方法可以如下所示。
將所述原始幀數(shù)據(jù)作為輸入幀數(shù)據(jù)第一次執(zhí)行如下步驟21-24確定所述可計(jì)算幀數(shù)據(jù):
步驟21:確定所述輸入幀數(shù)據(jù)中的非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)。
其中,所述輸入幀數(shù)據(jù)中的任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為缺少該幀數(shù)據(jù)的所述輸入幀數(shù)據(jù)。
例如:0.3秒的動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù)中包含10幀數(shù)據(jù),所述10幀數(shù)據(jù)為時(shí)間間隔相等的連續(xù)幀數(shù)據(jù),相鄰兩幀數(shù)據(jù)之間的時(shí)間間隔為1/30秒。
將包含10幀數(shù)據(jù)的所述原始幀數(shù)據(jù)作為輸入幀數(shù)據(jù)執(zhí)行步驟21的操作,確定所述輸入幀數(shù)據(jù)中的非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)。
所述非邊緣各幀數(shù)據(jù)分別為所述原始幀數(shù)據(jù)中的第2-9幀數(shù)據(jù)。
所述輸入幀數(shù)據(jù)中的任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的所述壓縮數(shù)據(jù)為缺少該幀數(shù)據(jù)的所述輸入幀數(shù)據(jù),因此:
所述第2幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1幀數(shù)據(jù)、第3-10幀數(shù)據(jù)”;
所述第3幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1-2幀數(shù)據(jù)、第4-10幀數(shù)據(jù)”;
所述第4幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1-3幀數(shù)據(jù)、第5-10幀數(shù)據(jù)”;
以此類推,分別確定所述第2-9幀數(shù)據(jù)中的各幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)。
步驟22:確定所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值。
其中,所述任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)是通過該幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)計(jì)算得到的。
優(yōu)選地,所述任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)是通過該幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)計(jì)算得到的,包括:
對(duì)所述任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的所述壓縮數(shù)據(jù)執(zhí)行線性插值操作,得到該幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)。
仍以上述0.3秒的動(dòng)畫為例,所述0.3秒的動(dòng)畫對(duì)應(yīng)的所述原始幀數(shù)據(jù)中包含第1-10幀數(shù)據(jù),所述非邊緣各幀數(shù)據(jù)分別為所述原始幀數(shù)據(jù)中的第2-9幀數(shù)據(jù)。
確定所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù),即確定所述第2-9幀數(shù)據(jù)的計(jì)算數(shù)據(jù)。
所述第2幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1幀數(shù)據(jù)、第3-10幀數(shù)據(jù)”。
對(duì)與所述第2幀數(shù)據(jù)相鄰的所述第1幀數(shù)據(jù)和所述第3幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第2幀數(shù)據(jù)對(duì)應(yīng)的第2計(jì)算幀數(shù)據(jù)。
因此,所述第2幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)為“第1幀數(shù)據(jù)、第2計(jì)算幀數(shù)據(jù)、第3-10幀數(shù)據(jù)”。
進(jìn)而,確定所述第2幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值,即確定所述“第1幀數(shù)據(jù)、第2計(jì)算幀數(shù)據(jù)、第3-10幀數(shù)據(jù)”與所述“第1-10幀數(shù)據(jù)”之間的誤差值。
所述第3幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1-2幀數(shù)據(jù)、第4-10幀數(shù)據(jù)”。
根據(jù)與所述第3幀數(shù)據(jù)相鄰的所述第2幀數(shù)據(jù)和所述第4幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第3幀數(shù)據(jù)對(duì)應(yīng)的第3計(jì)算幀數(shù)據(jù)。
因此,所述第3幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)為“第1-2幀數(shù)據(jù)、第3計(jì)算幀數(shù)據(jù)、第4-10幀數(shù)據(jù)”。
進(jìn)而,確定所述第3幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值,即確定“第1-2幀數(shù)據(jù)、第3計(jì)算幀數(shù)據(jù)、第4-10幀數(shù)據(jù)”與“第1-10幀數(shù)據(jù)”之間的誤差值。
以此類推,分別確定所述“第2-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值。
步驟23:判斷所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中是否存在滿足預(yù)設(shè)條件的誤差值。
優(yōu)選地,所述滿足預(yù)設(shè)條件的誤差值表示所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的所述誤差值中數(shù)值最小并且數(shù)值小于預(yù)設(shè)值的誤差值。
需要說明的是,所述預(yù)設(shè)值可以根據(jù)實(shí)際情況確定,這里不做具體限定。
仍以上述0.3秒的動(dòng)畫為例,判斷所述“第2-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中是否存在滿足預(yù)設(shè)條件的誤差值。
所述“第2-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中,第4幀數(shù)據(jù)對(duì)應(yīng)的誤差值是數(shù)值最小的誤差值,并且所述第4幀數(shù)據(jù)對(duì)應(yīng)的誤差值小于預(yù)設(shè)值。
因此,所述第4幀數(shù)據(jù)對(duì)應(yīng)的誤差值是滿足預(yù)設(shè)條件的誤差值。
步驟24:若存在,則將滿足預(yù)設(shè)條件的誤差值對(duì)應(yīng)的幀數(shù)據(jù)確定為可計(jì)算幀數(shù)據(jù),將該可計(jì)算幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)作為輸入幀數(shù)據(jù),重復(fù)執(zhí)行上述步驟21-24。
仍以上述0.3秒的動(dòng)畫為例,由于所述第4幀數(shù)據(jù)對(duì)應(yīng)的誤差值是滿足預(yù)設(shè)條件的誤差值,因此,將所述第4幀數(shù)據(jù)確定為可計(jì)算幀數(shù)據(jù)。
將所述第4幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)作為輸入幀數(shù)據(jù),第二次執(zhí)行上述步驟21-24確定所述可計(jì)算幀數(shù)據(jù)。
在第二次執(zhí)行步驟21-24確定所述可計(jì)算幀數(shù)據(jù)的過程中,所述輸入幀數(shù)據(jù)為所述第4幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù),即“第1-3幀數(shù)據(jù)、第5-10幀數(shù)據(jù)”。
對(duì)所述輸入幀數(shù)據(jù)執(zhí)行步驟21的操作,確定所述輸入幀數(shù)據(jù)中的非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)。
所述非邊緣各幀數(shù)據(jù)為“第2-3幀數(shù)據(jù)、第5-9幀數(shù)據(jù)”。
所述輸入幀數(shù)據(jù)中的任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為缺少該幀數(shù)據(jù)的所述輸入幀數(shù)據(jù),因此:
所述第2幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1幀數(shù)據(jù)、第3幀數(shù)據(jù)、第5-10幀數(shù)據(jù)”;
所述第3幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1-2幀數(shù)據(jù)、第5-10幀數(shù)據(jù)”;
所述第5幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1-3幀數(shù)據(jù)、第6-10幀數(shù)據(jù)”;
以此類推,分別確定所述“第2-3幀數(shù)據(jù)、第5-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)。
執(zhí)行步驟22的操作,確定所述“第2-3幀數(shù)據(jù)、第5-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值。
所述第2幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1幀數(shù)據(jù)、第3幀數(shù)據(jù)、第5-10幀數(shù)據(jù)”。
對(duì)與所述第2幀數(shù)據(jù)相鄰的所述第1幀數(shù)據(jù)和所述第3幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第2幀數(shù)據(jù)對(duì)應(yīng)的第2計(jì)算幀數(shù)據(jù);對(duì)與所述第4幀數(shù)據(jù)相鄰的所述第3幀數(shù)據(jù)和所述第5幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第4幀數(shù)據(jù)對(duì)應(yīng)的第4計(jì)算幀數(shù)據(jù)。
因此,所述第2幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)為“第1幀數(shù)據(jù)、第2計(jì)算幀數(shù)據(jù)、第3幀數(shù)據(jù)、第4計(jì)算幀數(shù)據(jù),第5-10幀數(shù)據(jù)”。
進(jìn)而,確定所述第2幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值,即確定所述“第1幀數(shù)據(jù)、第2計(jì)算幀數(shù)據(jù)、第3幀數(shù)據(jù)、第4計(jì)算幀數(shù)據(jù)、第5-10幀數(shù)據(jù)”與所述“第1-10幀數(shù)據(jù)”之間的誤差值。
所述第3幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1-2幀數(shù)據(jù)、第5-10幀數(shù)據(jù)”。
所述第3、4幀數(shù)據(jù)之間的時(shí)間間隔相等,對(duì)與所述第3、4幀數(shù)據(jù)相鄰的所述第2幀數(shù)據(jù)和所述第5幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第3幀數(shù)據(jù)對(duì)應(yīng)的第3計(jì)算幀數(shù)據(jù)和所述第4幀數(shù)據(jù)對(duì)應(yīng)的第4計(jì)算幀數(shù)據(jù)。
因此,所述第3幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)為“第1-2幀數(shù)據(jù)、第3-4計(jì)算幀數(shù)據(jù)、第5-10幀數(shù)據(jù)”。
進(jìn)而,確定所述第3幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值,即確定所述“第1-2幀數(shù)據(jù)、第3-4計(jì)算幀數(shù)據(jù)、第5-10幀數(shù)據(jù)”與所述“第1-10幀數(shù)據(jù)”之間的誤差值。
以此類推,分別確定所述輸入幀數(shù)據(jù)中的非邊緣各幀數(shù)據(jù),即所述“第2-3幀數(shù)據(jù)、第5-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值。
判斷所述“第2-3幀數(shù)據(jù)、第5-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中是否存在滿足預(yù)設(shè)條件的誤差值。
所述“第2-3幀數(shù)據(jù)、第5-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)中對(duì)應(yīng)的誤差值中,所述第7幀數(shù)據(jù)對(duì)應(yīng)的誤差值是數(shù)值最小的誤差值,并且所述第7幀數(shù)據(jù)對(duì)應(yīng)的誤差值小于預(yù)設(shè)值。
因此,所述第7幀數(shù)據(jù)對(duì)應(yīng)的誤差值是滿足預(yù)設(shè)條件的誤差值,將所述第7幀數(shù)據(jù)確定為可計(jì)算幀數(shù)據(jù)。
將所述第7幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)作為輸入幀數(shù)據(jù),第三次執(zhí)行上述步驟21-24確定所述可計(jì)算幀數(shù)據(jù)。
優(yōu)選地,所述方法還包括:
若所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中不存在滿足預(yù)設(shè)條件的誤差值,終止確定所述可計(jì)算幀數(shù)據(jù)的操作。
仍以上述0.3秒的動(dòng)畫為例,在第三次執(zhí)行步驟21-24確定所述可計(jì)算幀數(shù)據(jù)的過程中,所述輸入幀數(shù)據(jù)為所述第7幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù),即“第1-3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”。
對(duì)所述輸入幀數(shù)據(jù)執(zhí)行步驟21的操作,確定所述輸入幀數(shù)據(jù)中的非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)。
所述非邊緣各幀數(shù)據(jù)為“第2-3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-9幀數(shù)據(jù)”。
所述輸入幀數(shù)據(jù)中的任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為缺少該幀數(shù)據(jù)的所述輸入幀數(shù)據(jù),因此:
所述第2幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1幀數(shù)據(jù)、第3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”;
所述第3幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1-2幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”;
所述第5幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1-3幀數(shù)據(jù)、第6幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”;
以此類推,分別確定所述“第2-3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)。
執(zhí)行步驟22的操作,確定所述“第2-3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值。
所述第2幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1幀數(shù)據(jù)、第3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”。
對(duì)與所述第2幀數(shù)據(jù)相鄰的所述第1幀數(shù)據(jù)和所述第3幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第2幀數(shù)據(jù)對(duì)應(yīng)的第2計(jì)算幀數(shù)據(jù);對(duì)與所述第4幀數(shù)據(jù)相鄰的所述第3幀數(shù)據(jù)和所述第5幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第4幀數(shù)據(jù)對(duì)應(yīng)的第4計(jì)算幀數(shù)據(jù);對(duì)與所述第7幀數(shù)據(jù)相鄰的所述第6幀數(shù)據(jù)和所述第8幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第7幀數(shù)據(jù)對(duì)應(yīng)的第7計(jì)算幀數(shù)據(jù)。
因此,所述第2幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)為“第1幀數(shù)據(jù)、第2計(jì)算幀數(shù)據(jù)、第3幀數(shù)據(jù)、第4計(jì)算幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第7計(jì)算幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”。
進(jìn)而,確定所述第2幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值,即確定所述“第1幀數(shù)據(jù)、第2計(jì)算幀數(shù)據(jù)、第3幀數(shù)據(jù)、第4計(jì)算幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第7計(jì)算幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”與所述“第1-10幀數(shù)據(jù)”之間的誤差值。
所述第3幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)為“第1-2幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”。
所述第3、4幀數(shù)據(jù)之間的時(shí)間間隔相等,對(duì)與所述第3、4幀數(shù)據(jù)相鄰的所述第2幀數(shù)據(jù)和所述第5幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第3幀數(shù)據(jù)對(duì)應(yīng)的第3計(jì)算幀數(shù)據(jù)和所述第4幀數(shù)據(jù)對(duì)應(yīng)的第4計(jì)算幀數(shù)據(jù);對(duì)與所述第7幀數(shù)據(jù)相鄰的所述第6幀數(shù)據(jù)和所述第8幀數(shù)據(jù)執(zhí)行線性插值操作,確定所述第7幀數(shù)據(jù)對(duì)應(yīng)的第7計(jì)算幀數(shù)據(jù)。
因此,所述第3幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)為“第1-2幀數(shù)據(jù)、第3-4計(jì)算幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第7計(jì)算幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”。
進(jìn)而,確定所述第3幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值,即確定所述“第1-2幀數(shù)據(jù)、第3-4計(jì)算幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第7計(jì)算幀數(shù)據(jù)、第8-10幀數(shù)據(jù)”與所述“第1-10幀數(shù)據(jù)”之間的誤差值。
以此類推,分別確定所述輸入幀數(shù)據(jù)中的非邊緣各幀數(shù)據(jù),即所述“第2-3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值。
判斷所述“第2-3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中是否存在滿足預(yù)設(shè)條件的誤差值。
所述“第2-3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中,所述第6幀數(shù)據(jù)對(duì)應(yīng)的誤差值是數(shù)值最小的誤差值,但是所述第6幀數(shù)據(jù)對(duì)應(yīng)的誤差值不小于預(yù)設(shè)值。
因此,所述“第2-3幀數(shù)據(jù)、第5-6幀數(shù)據(jù)、第8-9幀數(shù)據(jù)”中的各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中不存在滿足預(yù)設(shè)條件的誤差值,終止執(zhí)行步驟21-24確定所述可計(jì)算幀數(shù)據(jù)的操作。
通過3次執(zhí)行步驟21-24確定所述可計(jì)算幀數(shù)據(jù)的操作可知,所述0.3秒的動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù)中包含第1-10幀數(shù)據(jù),其中,所述第4幀數(shù)據(jù)和所述第7幀數(shù)據(jù)是可計(jì)算幀數(shù)據(jù)。
實(shí)施例3
基于同一個(gè)發(fā)明構(gòu)思,對(duì)于采用上述實(shí)施例1和/或?qū)嵤├?中所記載的方法確定的壓縮后的動(dòng)畫數(shù)據(jù),為了確保游戲引擎運(yùn)行所述壓縮后的動(dòng)畫數(shù)據(jù)得到的游戲效果與運(yùn)行所述原始幀數(shù)據(jù)得到的游戲效果不會(huì)影響用戶對(duì)于游戲的用戶體驗(yàn),對(duì)所述原始幀數(shù)據(jù)和所述壓縮后的動(dòng)畫數(shù)據(jù)進(jìn)行了測試對(duì)比。
圖3本發(fā)明實(shí)施例提供的原始幀數(shù)據(jù)對(duì)應(yīng)的動(dòng)作動(dòng)畫示意圖。
圖4本發(fā)明實(shí)施例提供的壓縮后的動(dòng)畫數(shù)據(jù)對(duì)應(yīng)的動(dòng)作動(dòng)畫示意圖。
由圖3和圖4對(duì)比可知,采用本發(fā)明實(shí)施例所記載的數(shù)據(jù)的壓縮方法,壓縮后的動(dòng)畫數(shù)據(jù)中僅包含15幀數(shù)據(jù),并且所述壓縮后的動(dòng)畫數(shù)據(jù)得到的動(dòng)作動(dòng)畫與所述原始幀數(shù)據(jù)得到的動(dòng)作動(dòng)畫相似,不會(huì)影響用戶對(duì)于游戲的用戶體驗(yàn)。
與此同時(shí),本發(fā)明實(shí)施例還提供一種游戲,所述游戲中的動(dòng)畫數(shù)據(jù)是采用上述實(shí)施例1和/或?qū)嵤├?記載的所述數(shù)據(jù)的壓縮方法對(duì)原始幀數(shù)據(jù)進(jìn)行壓縮之后得到的壓縮后的動(dòng)畫數(shù)據(jù)。
實(shí)施例4
圖5本發(fā)明實(shí)施例提供的一種數(shù)據(jù)的壓縮設(shè)備的結(jié)構(gòu)示意圖,所述設(shè)備包括:獲取單元51和確定單元52,其中:
獲取單元51,用于獲取動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù);
確定單元52,用于確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù),所述可計(jì)算幀數(shù)據(jù)表示所述原始幀數(shù)據(jù)中可以通過計(jì)算得到的幀數(shù)據(jù);
所述確定單元52,還用于將不包含所述可計(jì)算幀數(shù)據(jù)的所述原始幀數(shù)據(jù)確定為壓縮后的動(dòng)畫數(shù)據(jù)。
優(yōu)選地,所述確定單元52確定所述可計(jì)算幀數(shù)據(jù),包括:
將所述原始幀數(shù)據(jù)作為輸入幀數(shù)據(jù)執(zhí)行如下步驟:
確定所述輸入幀數(shù)據(jù)中的非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù),所述輸入幀數(shù)據(jù)中的任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的所述壓縮數(shù)據(jù)為缺少該幀數(shù)據(jù)的所述輸入幀數(shù)據(jù);
確定所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)與所述原始幀數(shù)據(jù)之間的誤差值,所述任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)是通過該幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)計(jì)算得到的;
判斷所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中是否存在滿足預(yù)設(shè)條件的誤差值;
若存在,則將滿足所述預(yù)設(shè)條件的誤差值對(duì)應(yīng)的幀數(shù)據(jù)確定為可計(jì)算幀數(shù)據(jù),將該可計(jì)算幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)作為輸入幀數(shù)據(jù),重復(fù)執(zhí)行上述步驟。
優(yōu)選地,所述任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)是通過該幀數(shù)據(jù)對(duì)應(yīng)的壓縮數(shù)據(jù)計(jì)算得到的,包括:
對(duì)所述任一非邊緣幀數(shù)據(jù)對(duì)應(yīng)的所述壓縮數(shù)據(jù)執(zhí)行線性插值操作,得到該幀數(shù)據(jù)對(duì)應(yīng)的計(jì)算數(shù)據(jù)。
優(yōu)選地,所述滿足預(yù)設(shè)條件的誤差值表示所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的所述誤差值中數(shù)值最小并且數(shù)值小于預(yù)設(shè)值的誤差值。
優(yōu)選地,所述壓縮設(shè)備還包括:終止單元,其中:
所述終止單元,用于若所述非邊緣各幀數(shù)據(jù)對(duì)應(yīng)的誤差值中不存在滿足預(yù)設(shè)條件的誤差值,終止確定所述可計(jì)算幀數(shù)據(jù)。
通過所述數(shù)據(jù)的壓縮設(shè)備,所述獲取單元獲取動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù),所述確定單元確定所述原始幀數(shù)據(jù)中的可計(jì)算幀數(shù)據(jù),所述確定單元還用于將不包含所述可計(jì)算幀數(shù)據(jù)的所述原始幀數(shù)據(jù)確定為壓縮后的數(shù)據(jù),實(shí)現(xiàn)對(duì)動(dòng)畫對(duì)應(yīng)的原始幀數(shù)據(jù)的數(shù)據(jù)壓縮,使得游戲程序在運(yùn)行過程中,提高動(dòng)畫數(shù)據(jù)的加載速度,減小加載完成后的動(dòng)畫數(shù)據(jù)占用的存儲(chǔ)空間,有效提高用戶對(duì)于游戲的用戶體驗(yàn)。
本領(lǐng)域的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、裝置(設(shè)備)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(設(shè)備)和計(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è)方框中指定的功能的裝置。
這些計(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è)方框中指定的功能。
這些計(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è)方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。