用于處理動(dòng)畫的裝置和方法
【專利摘要】用于處理動(dòng)畫的裝置包括:對(duì)象存儲(chǔ)單元,被配置為存儲(chǔ)動(dòng)畫內(nèi)容中包括的對(duì)象;以及動(dòng)畫控制單元,被配置為通過計(jì)算要在一幀內(nèi)渲染的對(duì)象的渲染時(shí)間并且將所述渲染時(shí)間與預(yù)設(shè)的目標(biāo)每秒幀數(shù)(FPS)進(jìn)行比較來調(diào)整以下至少一項(xiàng):所述動(dòng)畫內(nèi)容中包括的對(duì)象中要在一幀內(nèi)渲染的對(duì)象的數(shù)量、以及目標(biāo)FPS。
【專利說明】用于處理動(dòng)畫的裝置和方法
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)要求于2015年2月9日在韓國知識(shí)產(chǎn)權(quán)局遞交的韓國專利申請(qǐng)N0.10-2015-0019661的優(yōu)先權(quán),其公開內(nèi)容通過全文引用的方式并入本文中。
技術(shù)領(lǐng)域
[0003]本申請(qǐng)涉及用于處理動(dòng)畫的裝置和方法,更具體地,涉及用于處理動(dòng)畫由此可以啟發(fā)式地調(diào)整動(dòng)畫的每秒幀數(shù)(FPS)和要在一幀內(nèi)渲染的對(duì)象的數(shù)量的裝置和方法。
【背景技術(shù)】
[0004]網(wǎng)頁是使用超文本標(biāo)記語言(HTML)創(chuàng)建的文檔,并且在其主體(body)中不僅可以包括文本,而且還可以包括各條網(wǎng)頁內(nèi)容,例如,圖像、視頻、音頻等。根據(jù)與布局有關(guān)的標(biāo)記(tag)使用HTML來分別適當(dāng)?shù)夭贾镁W(wǎng)頁中的各條網(wǎng)頁內(nèi)容。最初,HTML曾用于僅制作靜態(tài)網(wǎng)頁。然而,最近,HTML已經(jīng)擴(kuò)展到通過利用諸如Java script和層疊樣式表(cascadingstyle sheets,CSS)等的技術(shù)來制作動(dòng)態(tài)網(wǎng)頁。
[0005]通常,基于網(wǎng)絡(luò)引擎的網(wǎng)絡(luò)瀏覽器在屏幕上顯示網(wǎng)頁的過程如下。首先,網(wǎng)絡(luò)瀏覽器讀取HTML文檔以加載必要的資源。接下來,網(wǎng)絡(luò)引擎對(duì)加載的資源進(jìn)行解析,以制作文檔對(duì)象模型(DOM)樹和渲染樹。最后,網(wǎng)絡(luò)引擎通過基于渲染樹執(zhí)行布局操作并且對(duì)HTML文檔中包括的每一條網(wǎng)絡(luò)內(nèi)容執(zhí)行繪畫操作來創(chuàng)建網(wǎng)頁,并且在屏幕上顯示所創(chuàng)建的網(wǎng)頁。
【發(fā)明內(nèi)容】
[0006]提供了能夠通過啟發(fā)式地調(diào)整動(dòng)畫的每秒幀數(shù)(FPS)和要在一幀內(nèi)渲染的對(duì)象的數(shù)量來提高動(dòng)畫的質(zhì)量的裝置和方法。
[0007]附加方面將在以下說明書中被部分地闡述,并且將根據(jù)說明書部分地顯而易見,或者可以通過實(shí)踐所給出的示例實(shí)施例而獲知。
[0008]根據(jù)示例實(shí)施例的一個(gè)方面,用于處理動(dòng)畫的裝置包括:對(duì)象存儲(chǔ)單元,被配置為存儲(chǔ)動(dòng)畫內(nèi)容中包括的對(duì)象;以及動(dòng)畫控制單元,被配置為通過計(jì)算要在一幀內(nèi)渲染的對(duì)象的渲染時(shí)間并且將所述渲染時(shí)間與預(yù)設(shè)的目標(biāo)每秒幀數(shù)FPS進(jìn)行比較來調(diào)整以下至少一項(xiàng):所述動(dòng)畫內(nèi)容中包括的對(duì)象中要在一幀內(nèi)渲染的對(duì)象的數(shù)量、以及所述目標(biāo)FPS。
[0009]所述動(dòng)畫控制單元可以被進(jìn)一步配置為:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間大于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間并且要在一幀內(nèi)渲染的對(duì)象的數(shù)量等于或大于預(yù)設(shè)數(shù)量,則減小要在一幀內(nèi)渲染的對(duì)象的數(shù)量。
[0010]所述動(dòng)畫控制單元可以被進(jìn)一步配置為:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間大于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間并且要在一幀內(nèi)渲染的對(duì)象的數(shù)量小于預(yù)設(shè)數(shù)量,則減小所述目標(biāo)FPS。
[0011]所述動(dòng)畫控制單元可以被進(jìn)一步配置為:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間小于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間,則增加要在一幀內(nèi)渲染的對(duì)象的數(shù)量。
[0012]所述對(duì)象存儲(chǔ)單元可以被進(jìn)一步配置為:以循環(huán)隊(duì)列形式存儲(chǔ)對(duì)象。
[0013]所述動(dòng)畫控制單元可以被進(jìn)一步配置為:控制所述對(duì)象存儲(chǔ)單元來設(shè)置窗口,以順序地包括所述對(duì)象存儲(chǔ)單元中存儲(chǔ)的預(yù)設(shè)數(shù)量的對(duì)象。
[0014]所述窗口中包括的對(duì)象可以是要在一幀內(nèi)渲染的對(duì)象。
[0015]所述動(dòng)畫控制單元可以測(cè)量用于對(duì)對(duì)象中的每一個(gè)對(duì)象進(jìn)行渲染的矩陣計(jì)算時(shí)間,并且將測(cè)量到的時(shí)間確定為針對(duì)對(duì)象中的每一個(gè)對(duì)象的渲染時(shí)間。
[0016]所述裝置還可以包括:網(wǎng)絡(luò)接口單元,被配置為接收所述動(dòng)畫內(nèi)容。
[0017]所述裝置還可以包括:顯示單元,被配置為顯示通過渲染所述窗口中包括的對(duì)象而產(chǎn)生的幀。
[0018]根據(jù)另一示例實(shí)施例的一個(gè)方面,處理動(dòng)畫的方法包括:計(jì)算動(dòng)畫內(nèi)容中包括的對(duì)象中要在一幀內(nèi)渲染的對(duì)象的渲染時(shí)間;將所述渲染時(shí)間與預(yù)設(shè)的目標(biāo)每秒幀數(shù)(FPS)進(jìn)行比較;以及調(diào)整要在一幀內(nèi)渲染的對(duì)象的數(shù)量和所述目標(biāo)FPS中的至少一項(xiàng)。
[0019]調(diào)整要在一幀內(nèi)渲染的對(duì)象的數(shù)量和所述目標(biāo)FPS中的至少一項(xiàng)可以包括:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間大于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間并且要在一幀內(nèi)渲染的對(duì)象的數(shù)量等于或大于預(yù)設(shè)數(shù)量,則減小要在一幀內(nèi)清染的對(duì)象的數(shù)量。
[0020]調(diào)整要在一幀內(nèi)渲染的對(duì)象的數(shù)量和所述目標(biāo)FPS中的至少一項(xiàng)可以包括:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間大于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間并且要在一幀內(nèi)清染的對(duì)象的數(shù)量小于預(yù)設(shè)數(shù)量,則減小所述目標(biāo)FPS。[0021 ]調(diào)整要在一幀內(nèi)渲染的對(duì)象的數(shù)量和所述目標(biāo)FPS中的至少一項(xiàng)可以包括:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間小于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間,則增加要在一幀內(nèi)渲染的對(duì)象的數(shù)量。
[0022]所述方法還可以包括:以循環(huán)隊(duì)列形式存儲(chǔ)所述動(dòng)畫內(nèi)容中包括的對(duì)象。
[0023]所述方法還可以包括:設(shè)置窗口,以順序地包括預(yù)設(shè)數(shù)量的存儲(chǔ)對(duì)象,其中,所述窗口中包括的對(duì)象是要在一幀內(nèi)渲染的對(duì)象。
[0024]所述方法還可以包括:顯示通過渲染所述窗口中包括的對(duì)象而產(chǎn)生的幀。
[0025]計(jì)算要在一幀內(nèi)渲染的對(duì)象的渲染時(shí)間可以包括:測(cè)量用于渲染所述對(duì)象中的每一個(gè)對(duì)象的矩陣計(jì)算時(shí)間,并且將測(cè)量到的時(shí)間確定為所述對(duì)象中的每一個(gè)對(duì)象的渲染時(shí)間。
[0026]所述方法還可以包括:接收所述動(dòng)畫內(nèi)容。
[0027]根據(jù)另一示例實(shí)施例的一個(gè)方面,動(dòng)畫處理方法可以包括:將計(jì)算出的針對(duì)要在單個(gè)幀內(nèi)渲染的動(dòng)畫對(duì)象的渲染時(shí)間與和每秒幀數(shù)的目標(biāo)數(shù)量相對(duì)應(yīng)的目標(biāo)渲染時(shí)間進(jìn)行比較,并且當(dāng)根據(jù)比較結(jié)果,可以在不超出目標(biāo)渲染時(shí)間的情況下增加要在單個(gè)幀內(nèi)渲染的動(dòng)畫對(duì)象的數(shù)量時(shí),增加要在單個(gè)幀內(nèi)渲染的動(dòng)畫對(duì)象的數(shù)量。
【附圖說明】
[0028]根據(jù)以下結(jié)合附圖給出的示例實(shí)施例的描述,這些和/或其他方面將變得顯而易見并且更容易理解,在附圖中:
[0029]圖1示出了根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的用于處理動(dòng)畫的裝置的框圖;
[0030]圖2示出了圖1的裝置中的對(duì)象存儲(chǔ)單元;
[0031]圖3A、圖3B、圖3C和圖3D是根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的用于描述處理動(dòng)畫的方法的參考示意圖;
[0032]圖4A和圖4B是根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的用于描述處理動(dòng)畫的方法的參考示意圖;
[0033]圖5示出了根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的處理動(dòng)畫的方法的流程圖;以及
[0034]圖6示出了圖5的操作S420和S430的詳細(xì)流程圖。
【具體實(shí)施方式】
[0035]將簡要描述說明書中使用的術(shù)語,然后將詳細(xì)描述本發(fā)明構(gòu)思。
[0036]雖然已經(jīng)將通用的當(dāng)前術(shù)語用于基于本發(fā)明構(gòu)思中的功能來描述本發(fā)明構(gòu)思,但是術(shù)語可以根據(jù)本領(lǐng)域普通技術(shù)人員的意圖、個(gè)案先例和新技術(shù)的出現(xiàn)而改變。此外,在具體情形中,可以使用
【申請(qǐng)人】選擇的術(shù)語,并且在這些情形中,將在說明書的相應(yīng)描述中公開這些術(shù)語的含義。因此,說明書中用于描述本發(fā)明構(gòu)思的術(shù)語不是由其簡單的名字來定義的,而是由其在本發(fā)明構(gòu)思的上下文中的含義來定義的。
[0037]在說明書中,除非存在不同的公開內(nèi)容,否則當(dāng)某個(gè)部件“包括”某個(gè)組件時(shí),這表明該部件還可以包括另一組件,而不是排除其他組件。此外,說明書中所公開的諸如..單元”或“模塊”等的術(shù)語指示用于處理至少一個(gè)功能或操作的單元,所述單元可以用硬件、軟件或其組合來實(shí)現(xiàn)。
[0038]下面將詳細(xì)參考示例實(shí)施例,在附圖中示出了示例實(shí)施例的示例,其中全文中相似的附圖標(biāo)記指代相似的要素。在這一方面,本示例實(shí)施例可以具有不同的形式,并且不應(yīng)當(dāng)被理解為受限于本文闡述的描述。在附圖中,與描述無關(guān)的部分被省略以清楚地描述本發(fā)明構(gòu)思。因此,以下參考附圖僅描述了示例實(shí)施例,以解釋本說明書的一些方面。
[0039]如本文所使用的,在要素列表之前的諸如..中的至少一項(xiàng)”等的表述修飾整個(gè)要素列表但不修飾列表中的單獨(dú)要素。
[0040 ]圖1示出了根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的用于處理動(dòng)畫的裝置100的框圖。
[0041]根據(jù)示例實(shí)施例,裝置100可以實(shí)現(xiàn)為各種電子設(shè)備之一,例如,TV、蜂窩電話、平板個(gè)人計(jì)算機(jī)(PC)、數(shù)碼相機(jī)、便攜式攝像機(jī)、膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、電子書終端、數(shù)字廣播終端、個(gè)人數(shù)字助理(PDA)、便攜式多媒體播放器(PMP)、導(dǎo)航儀、MP3播放器、可穿戴設(shè)備等,但是不限于此。
[0042 ] 參照?qǐng)D1,裝置100可以包括例如網(wǎng)絡(luò)接口單元110、動(dòng)畫控制單元120、對(duì)象存儲(chǔ)單元130和顯示單元140。
[0043]網(wǎng)絡(luò)接口單元110可以提供用于將裝置100連接到諸如互聯(lián)網(wǎng)等的有線/無線網(wǎng)絡(luò)的接口。例如,網(wǎng)絡(luò)接口單元110可以通過網(wǎng)絡(luò)接收由互聯(lián)網(wǎng)或內(nèi)容提供商或網(wǎng)絡(luò)運(yùn)營商提供的內(nèi)容或數(shù)據(jù)。
[0044]此外,網(wǎng)絡(luò)接口單元110可以訪問互聯(lián)網(wǎng)以接收HTML文檔并且向動(dòng)畫控制單元120傳送所接收的HTML文檔。HTML文檔可以包括內(nèi)容。內(nèi)容可以指示通過互聯(lián)網(wǎng)、計(jì)算機(jī)通信等提供的各種類型的數(shù)據(jù),并且可以包括網(wǎng)絡(luò)內(nèi)容。網(wǎng)絡(luò)內(nèi)容可以包括文本、圖像、圖標(biāo)、縮略圖、視頻或其組合等作為HTML文檔的要素。此外,如果內(nèi)容包括運(yùn)動(dòng),則內(nèi)容的運(yùn)動(dòng)或執(zhí)行內(nèi)容的運(yùn)動(dòng)的功能可以被稱作動(dòng)畫。此外,如果內(nèi)容包括運(yùn)動(dòng),則內(nèi)容可以被稱作動(dòng)畫內(nèi)容。
[0045]動(dòng)畫控制單元120可以根據(jù)所接收的HTML文檔中包括的網(wǎng)絡(luò)內(nèi)容來確定動(dòng)畫的對(duì)象。此外,動(dòng)畫控制單元120可以在對(duì)象存儲(chǔ)單元130中存儲(chǔ)所確定的對(duì)象。
[0046]圖2示出了圖1的對(duì)象存儲(chǔ)單元130。
[0047]參照?qǐng)D2,對(duì)象存儲(chǔ)單元130可以以循環(huán)隊(duì)列形式來存儲(chǔ)對(duì)象。循環(huán)隊(duì)列是一種類型的數(shù)據(jù)結(jié)構(gòu),并且指示隊(duì)列,該隊(duì)列中存儲(chǔ)的數(shù)據(jù)是循環(huán)的。
[0048]此外,可以在循環(huán)隊(duì)列中設(shè)置窗口 230,并且窗口 230可以移動(dòng)使得以循環(huán)隊(duì)列形式存儲(chǔ)的對(duì)象被順序地包括在窗口 230中。在該情況下,可以在一幀內(nèi)渲染窗口 230中同時(shí)包括的所有對(duì)象。
[0049]例如,如圖2所示,當(dāng)窗口 230的大小為3時(shí),窗口 230可以包括三個(gè)對(duì)象,并且動(dòng)畫控制單元120可以控制第一對(duì)象至第三對(duì)象在第一幀內(nèi)被渲染。在完成對(duì)第一幀的渲染之后,動(dòng)畫控制單元120可以移動(dòng)窗口 230以渲染第一幀之后的下一幀(第二幀)。移動(dòng)的窗口240可以包括第四對(duì)象至第六對(duì)象。在完成對(duì)第二幀的渲染之后,動(dòng)畫控制單元120可以移動(dòng)窗口 240以渲染第二幀之后的下一幀(第三幀)。移動(dòng)的窗口 250可以包括第七對(duì)象至第九對(duì)象。
[0050]動(dòng)畫控制單元120可以計(jì)算當(dāng)前窗口中包括的對(duì)象的渲染時(shí)間。在該情況下,對(duì)象的渲染時(shí)間可以包括從動(dòng)畫控制單元120向渲染模塊(未示出)發(fā)送渲染執(zhí)行命令的時(shí)間和計(jì)算要渲染的對(duì)象的坐標(biāo)、矩陣等的時(shí)間。動(dòng)畫控制單元120可以測(cè)量計(jì)算對(duì)象中的每一個(gè)對(duì)象的矩陣的時(shí)間并且將測(cè)量的時(shí)間設(shè)置為對(duì)象中的每一個(gè)對(duì)象的渲染時(shí)間。
[0051 ] 例如,動(dòng)畫控制單元120可以通過使用性能功能(performance funct1n)去測(cè)量當(dāng)前窗口中包括的對(duì)象的渲染起始時(shí)間點(diǎn)和對(duì)象中的每一個(gè)對(duì)象的矩陣計(jì)算的結(jié)束時(shí)間點(diǎn),來計(jì)算對(duì)象中的每一個(gè)對(duì)象的渲染時(shí)間。
[0052]此外,可以使用對(duì)象中的每一個(gè)對(duì)象的動(dòng)畫參數(shù)來計(jì)算對(duì)象中的每一個(gè)對(duì)象的矩陣。動(dòng)畫參數(shù)可以指示多少像素被對(duì)象移動(dòng)、對(duì)象被放大或縮小了多少等等。
[0053]動(dòng)畫控制單元120可以將當(dāng)前窗口中包括的對(duì)象的渲染時(shí)間與目標(biāo)每秒幀數(shù)(FPS)進(jìn)行比較。例如,動(dòng)畫控制單元120可以將對(duì)象的渲染時(shí)間與和目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間進(jìn)行比較。在該情況下,目標(biāo)時(shí)間可以被計(jì)算為目標(biāo)FPS的倒數(shù)。例如,如果目標(biāo)FPS是60,則目標(biāo)時(shí)間可以約為16ms。
[0054]作為比較結(jié)果,如果當(dāng)前窗口中包括的目標(biāo)的渲染時(shí)間大于目標(biāo)時(shí)間,則動(dòng)畫控制單元120可以確定當(dāng)前窗口中包括的對(duì)象的數(shù)量是否等于或大于預(yù)設(shè)數(shù)量。在該情況下,可以通過考慮內(nèi)容中包括的對(duì)象的總數(shù)來設(shè)置預(yù)設(shè)數(shù)量。
[0055]如果當(dāng)前窗口中包括的對(duì)象的數(shù)量等于或大于預(yù)設(shè)數(shù)量,則動(dòng)畫控制單元120可以調(diào)整當(dāng)前窗口的大小。例如,當(dāng)前窗口的大小可以指示當(dāng)前窗口中包括的對(duì)象的數(shù)量,并且動(dòng)畫控制單元120可以調(diào)整當(dāng)前窗口的大小以調(diào)整其中包括的對(duì)象的數(shù)量。也即是說,動(dòng)畫控制單元120可以調(diào)整當(dāng)前窗口的大小以減小當(dāng)前窗口中包括的對(duì)象的數(shù)量。
[0056]如果當(dāng)前窗口中包括的對(duì)象的數(shù)量小于預(yù)設(shè)數(shù)量,則動(dòng)畫控制單元120可以減小目標(biāo)FPS。當(dāng)目標(biāo)FPS被減小時(shí),目標(biāo)時(shí)間增加,且相應(yīng)地當(dāng)前窗口中包括的對(duì)象的渲染時(shí)間可以等于或小于調(diào)整后的目標(biāo)時(shí)間。
[0057]否則,作為比較結(jié)果,如果當(dāng)前窗口中包括的對(duì)象的渲染時(shí)間等于或小于目標(biāo)時(shí)間,則動(dòng)畫控制單元120可以增加當(dāng)前窗口的大小以增加當(dāng)前窗口中包括的對(duì)象的數(shù)量。
[0058]雖然未示出,但是裝置100還可以包括渲染模塊。渲染模塊可以從動(dòng)畫控制單元120接收渲染執(zhí)行命令,并且可以渲染對(duì)象。渲染模塊可以在一幀內(nèi)渲染一個(gè)窗口中包括的對(duì)象。
[0059]當(dāng)當(dāng)前窗口中包括的對(duì)象被渲染時(shí),動(dòng)畫控制單元120可以移動(dòng)當(dāng)前窗口使得當(dāng)前窗口包括循環(huán)隊(duì)列中存儲(chǔ)的后續(xù)對(duì)象。
[0060]根據(jù)示例實(shí)施例,動(dòng)畫控制單元120可以控制內(nèi)容中包括的對(duì)象中具有比其他對(duì)象更高重要性的對(duì)象存儲(chǔ)在單獨(dú)的循環(huán)隊(duì)列中,以與其他對(duì)象的渲染頻率相比增加渲染頻率。例如,動(dòng)畫控制單元120可以控制具有比預(yù)設(shè)值更小重要性的對(duì)象存儲(chǔ)在第一循環(huán)隊(duì)列中,并且控制具有與預(yù)設(shè)值相比相等或更大重要性的對(duì)象單獨(dú)地存儲(chǔ)在第二循環(huán)隊(duì)列中。在該情況下,動(dòng)畫控制單元120可以單獨(dú)地控制第一循環(huán)隊(duì)列和第二循環(huán)隊(duì)列,使得第二循環(huán)隊(duì)列中存儲(chǔ)的重要對(duì)象的渲染頻率大于第一循環(huán)隊(duì)列中存儲(chǔ)的對(duì)象的渲染頻率。例如,第二循環(huán)隊(duì)列中存儲(chǔ)的重要對(duì)象可以針對(duì)每一幀被渲染。
[0061 ] 顯示單元140可以顯示渲染的幀。顯示單元140可以實(shí)現(xiàn)為等離子體顯示面板(PDP)、液晶顯示器(IXD)、有機(jī)發(fā)光顯示器(0LED)、柔性顯示器、三維(3D)顯示器等。此外,顯示單元140可以被配置為包括觸摸屏,以除了用作輸出設(shè)備之外,還用作輸入設(shè)備。
[0062]圖1中所示的裝置100的框圖僅是示意性的??梢愿鶕?jù)要實(shí)際實(shí)現(xiàn)的裝置100的規(guī)格來集成、添加或省略框圖中的每一個(gè)組件。也即是說,根據(jù)環(huán)境,可以將兩個(gè)或更多個(gè)組件集成為一個(gè)組件,或者可以將一個(gè)組件分離為兩個(gè)或更多個(gè)組件。此外,在示例實(shí)施例中描述了由每一個(gè)框執(zhí)行的功能,并且每一個(gè)框的詳細(xì)操作或設(shè)備不限制本發(fā)明構(gòu)思的正確范圍。
[0063]圖3A至圖3D是根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的用于描述處理動(dòng)畫的方法的參考示意圖。
[0064]參照?qǐng)D3A,動(dòng)畫可以包括第一對(duì)象351至第九對(duì)象359。在該情況下,當(dāng)動(dòng)畫中包括的所有對(duì)象(第一對(duì)象351至第九對(duì)象359)針對(duì)每一幀都被渲染時(shí),渲染時(shí)間大于與目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間,因此不能在目標(biāo)時(shí)間內(nèi)渲染所有對(duì)象。因此,發(fā)生跳幀,并且在該情況下,目標(biāo)FPS減小,因此動(dòng)畫的性能和質(zhì)量變差。
[0065]根據(jù)示例實(shí)施例,動(dòng)畫控制單元120可以計(jì)算渲染對(duì)象存儲(chǔ)單元130中存儲(chǔ)的對(duì)象的時(shí)間。動(dòng)畫控制單元120可以測(cè)量計(jì)算對(duì)象中的每一個(gè)對(duì)象的矩陣的時(shí)間并且將測(cè)量到的時(shí)間設(shè)置為渲染時(shí)間。動(dòng)畫控制單元120可以基于預(yù)設(shè)目標(biāo)FPS和對(duì)象中的每一個(gè)對(duì)象的渲染時(shí)間來調(diào)整窗口的大小(要在一幀內(nèi)渲染的對(duì)象的數(shù)量)。
[0066]例如,如果目標(biāo)FPS被設(shè)置為60并且相應(yīng)地目標(biāo)時(shí)間被設(shè)置為約16ms,則動(dòng)畫控制單元120可以調(diào)整窗口的大小(要在一幀內(nèi)渲染的對(duì)象的數(shù)量),使得通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間是16ms或者更少。
[0067]當(dāng)?shù)谝粚?duì)象351的清染時(shí)間被計(jì)算為4ms,第二對(duì)象352的清染時(shí)間被計(jì)算為8ms,第三對(duì)象353的渲染時(shí)間被計(jì)算為4ms,并且第四對(duì)象354的渲染時(shí)間被計(jì)算為7ms時(shí),動(dòng)畫控制單元120可以如圖3B中所示控制第一對(duì)象351、第二對(duì)象352和第三對(duì)象353在第一幀內(nèi)被渲染,使得滿足目標(biāo)FPS (例如,60)。在該情況下,窗口 310的大小可以為3。
[0068]在完成對(duì)第一幀的渲染之后,窗口310可以移動(dòng)以包括第四對(duì)象354、第五對(duì)象355和第六對(duì)象356。然而,第四對(duì)象354的渲染時(shí)間可以被計(jì)算為7ms,第五對(duì)象355的渲染時(shí)間可以被計(jì)算為7ms,并且第六對(duì)象356的渲染時(shí)間可以被計(jì)算為6ms。在該情況下,通過對(duì)第四對(duì)象354、第五對(duì)象355和第六對(duì)象356的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間(20ms( =7ms+7ms+6ms))大于目標(biāo)時(shí)間(16ms)。
[0069]因此,如圖3C所示,動(dòng)畫控制單元120可以將窗口 320的大小(窗口 320中包括的對(duì)象的數(shù)量)減小為2。此外,動(dòng)畫控制單元120可以控制第四對(duì)象354和第五對(duì)象355在第二幀內(nèi)被清染。
[0070]在完成對(duì)第二幀的渲染之后,窗口320可以移動(dòng)以包括第六對(duì)象356和第七對(duì)象357。然而,第六對(duì)象356的渲染時(shí)間可以被計(jì)算為6ms,并且第七對(duì)象357的渲染時(shí)間可以被計(jì)算為5ms。在該情況下,通過對(duì)第六對(duì)象356和第七對(duì)象357的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間(I Ims ( = 6ms+5ms))小于目標(biāo)時(shí)間(16ms)。
[0071]因此,如圖3D所示,動(dòng)畫控制單元120可以將窗口 330的大小(在窗口 330中包括的對(duì)象的數(shù)量)增加為3。當(dāng)窗口 330的大小增加為3時(shí),在窗口 330中包括第八對(duì)象358。第八對(duì)象358的渲染時(shí)間被計(jì)算為5ms,并且通過對(duì)第六對(duì)象356、第七對(duì)象357和第八對(duì)象358的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間(16ms)等于目標(biāo)時(shí)間(16ms)。
[0072]動(dòng)畫控制單元120可以控制第六對(duì)象356、第七對(duì)象357和第八對(duì)象358在第三幀內(nèi)被渲染。
[0073]圖4A和圖4B是根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的用于描述處理動(dòng)畫的方法的參考示意圖。
[0074]根據(jù)示例實(shí)施例,動(dòng)畫控制單元120可以控制內(nèi)容中包括的對(duì)象中具有比其他對(duì)象更高重要性的對(duì)象被存儲(chǔ)在單獨(dú)的循環(huán)隊(duì)列中,以與其他對(duì)象的渲染頻率相比,增加具有更高重要性的對(duì)象的渲染頻率。例如,參考圖4A,動(dòng)畫控制單元120可以控制具有與預(yù)設(shè)值相比相等或更大的重要性的第一對(duì)象351和第三對(duì)象353被存儲(chǔ)在第一循環(huán)隊(duì)列371中,并且控制具有比預(yù)設(shè)值更小重要性的第二對(duì)象352和第四對(duì)象354至第九對(duì)象359被存儲(chǔ)在第二循環(huán)隊(duì)列372中。在該情況下,動(dòng)畫控制單元120可以單獨(dú)地控制第一循環(huán)隊(duì)列371和第二循環(huán)隊(duì)列372。動(dòng)畫控制單元120可以控制第二循環(huán)隊(duì)列372的目標(biāo)FPS,使得存儲(chǔ)在第一循環(huán)隊(duì)列371中的重要對(duì)象針對(duì)每一幀被渲染。備選地,動(dòng)畫控制單元120可以調(diào)整第二循環(huán)隊(duì)列372的窗口 385的大小,使得通過對(duì)存儲(chǔ)在第二循環(huán)隊(duì)列372中的對(duì)象中要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間等于或小于第二循環(huán)隊(duì)列372的目標(biāo)時(shí)間。
[0075]例如,參照?qǐng)D4A,動(dòng)畫控制單元120可以控制第一循環(huán)隊(duì)列371中存儲(chǔ)的第一對(duì)象351和第三對(duì)象353以及第二循環(huán)隊(duì)列372中存儲(chǔ)的第二對(duì)象352和第四對(duì)象354在第一幀內(nèi)被渲染。此外,參照?qǐng)D4B,動(dòng)畫控制單元120可以控制第一循環(huán)隊(duì)列371中存儲(chǔ)的第一對(duì)象351和第三對(duì)象353和第二循環(huán)隊(duì)列372中存儲(chǔ)的第五對(duì)象355在第二幀內(nèi)被渲染。
[0076]圖5示出了根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的處理動(dòng)畫的方法的流程圖。
[0077]參照?qǐng)D5,在操作S410,裝置100計(jì)算當(dāng)前窗口中包括的對(duì)象中的每一個(gè)對(duì)象的渲染時(shí)間。
[0078]對(duì)象的渲染時(shí)間可以包括向渲染設(shè)備(例如,渲染模塊)發(fā)送渲染執(zhí)行命令的時(shí)間和計(jì)算用于渲染的對(duì)象的坐標(biāo)、矩陣等的時(shí)間。裝置100可以測(cè)量計(jì)算對(duì)象中的每一個(gè)對(duì)象的矩陣的時(shí)間并且將測(cè)量到的時(shí)間設(shè)置為對(duì)象中的每一個(gè)對(duì)象的渲染時(shí)間。
[0079]例如,裝置100可以通過使用性能功能去測(cè)量當(dāng)前窗口中包括的對(duì)象的渲染起始時(shí)間點(diǎn)和針對(duì)對(duì)象中的每一個(gè)對(duì)象進(jìn)行的矩陣計(jì)算的結(jié)束時(shí)間點(diǎn),來計(jì)算對(duì)象中的每一個(gè)對(duì)象的渲染時(shí)間。性能功能是提供當(dāng)前時(shí)間點(diǎn)的功能,并且通過使用性能功能,可以測(cè)量起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn),并且可以基于起始時(shí)間點(diǎn)與結(jié)束時(shí)間點(diǎn)之差來計(jì)算經(jīng)過時(shí)間。
[0080]此外,可以使用對(duì)象中的每一個(gè)對(duì)象的動(dòng)畫參數(shù)來計(jì)算對(duì)象中的每一個(gè)對(duì)象的矩陣。動(dòng)畫參數(shù)可以指示多少像素被對(duì)象移動(dòng)、對(duì)象被放大或縮小了多少等等。
[0081]在操作S420,裝置100可以將通過對(duì)當(dāng)前窗口中包括的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間與目標(biāo)FPS進(jìn)行比較。
[0082]例如,裝置100可以將對(duì)象的渲染時(shí)間與和目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間進(jìn)行比較。在該情況下,目標(biāo)時(shí)間可以被計(jì)算為目標(biāo)FPS的倒數(shù)。例如,當(dāng)目標(biāo)FPS等于60時(shí),目標(biāo)時(shí)間可以約為16ms。
[0083]在操作S430中,裝置100根據(jù)比較結(jié)果來調(diào)整窗口的大小和目標(biāo)FPS中的至少一項(xiàng)。
[0084]現(xiàn)在將參照?qǐng)D6來詳細(xì)描述操作S430。
[0085]圖6示出了圖5的操作S420和S430的詳細(xì)流程圖。
[0086]圖6中指示的操作S510可以與圖5中指示的操作S420相對(duì)應(yīng),并且圖6中指示的操作S520至S560可以與圖5中指示的操作S430相對(duì)應(yīng)。
[0087]參照?qǐng)D6,在操作S510中,裝置100通過以下方式來確定通過對(duì)窗口中包括的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間是否大于目標(biāo)時(shí)間:將通過對(duì)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間與目標(biāo)時(shí)間進(jìn)行比較。
[0088]在操作S520,如果求和得到的時(shí)間大于目標(biāo)時(shí)間,則裝置100確定窗口的大小小于預(yù)設(shè)大小。在該情況下,可以基于內(nèi)容中包括的對(duì)象的總數(shù)來確定預(yù)設(shè)大小。
[0089]在操作S530,如果窗口的大小等于或大于預(yù)設(shè)大小,則裝置100減小窗口的大小以減小窗口中包括的對(duì)象的數(shù)量。
[0090]否則,如果窗口的大小小于預(yù)設(shè)大小,則在操作S540中裝置100減小目標(biāo)FPS。相應(yīng)地,目標(biāo)時(shí)間增加。
[0091]如果在操作S510求和得到的時(shí)間小于或等于目標(biāo)時(shí)間,則裝置100在操作S550中確定對(duì)象是否可以被添加到當(dāng)前窗口。
[0092]例如,裝置100甚至可以在新對(duì)象被添加到當(dāng)前窗口之后確定通過對(duì)當(dāng)前窗口中的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間是否小于或等于目標(biāo)時(shí)間。
[0093]如果甚至在新對(duì)象被添加到當(dāng)前窗口之后通過對(duì)當(dāng)前窗口中包括的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間小于或等于目標(biāo)時(shí)間,則在操作S560中,裝置100增加窗口的大小。相應(yīng)地,裝置100可以增加當(dāng)前窗口中包括的對(duì)象的數(shù)量。
[0094]否則,如果在新對(duì)象被添加到當(dāng)前窗口之后通過對(duì)當(dāng)前窗口中包括的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間大于目標(biāo)時(shí)間,則裝置100維持當(dāng)前窗口的大小。
[0095]根據(jù)本發(fā)明構(gòu)思的一個(gè)或多個(gè)示例實(shí)施例的處理動(dòng)畫的方法可以以程序指令的形式執(zhí)行,所述程序指令可以通過各種計(jì)算機(jī)或處理設(shè)備執(zhí)行并且記錄在非瞬時(shí)性計(jì)算機(jī)可讀記錄介質(zhì)中。非瞬時(shí)性計(jì)算機(jī)可讀記錄介質(zhì)可以包括單獨(dú)的程序指令、數(shù)據(jù)文件、數(shù)據(jù)結(jié)構(gòu)等或其組合。在非瞬時(shí)性計(jì)算機(jī)可讀記錄介質(zhì)中記錄的程序指令可以根據(jù)一個(gè)或多個(gè)示例實(shí)施例被特別地創(chuàng)建和配置,或者可由計(jì)算機(jī)軟件領(lǐng)域的普通技術(shù)人員公知的和可使用的。非瞬時(shí)性計(jì)算機(jī)可讀記錄介質(zhì)的示例是磁性介質(zhì)(例如,硬盤、軟盤和磁帶)、光學(xué)介質(zhì)(例如,⑶-ROM和數(shù)字多功能盤(DVD))、磁光介質(zhì)(例如,光磁軟盤)和硬件設(shè)備(例如,只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、閃存等),其被特別配置為存儲(chǔ)和執(zhí)行程序指令。程序指令可以不僅包括例如由編譯器制作的機(jī)器語言代碼,而且還可以包括計(jì)算機(jī)可以使用解譯器等執(zhí)行的高級(jí)語言代碼。
[0096]根據(jù)示例實(shí)施例中的一個(gè)或多個(gè),即使當(dāng)動(dòng)畫內(nèi)容中包括特定數(shù)量的對(duì)象時(shí),也可以最小化跳過動(dòng)畫的情況,從而提高動(dòng)畫的質(zhì)量。
[0097]此外,即使當(dāng)使用低規(guī)格硬件來處理動(dòng)畫時(shí),也可以通過啟發(fā)式地調(diào)整動(dòng)畫的FPS和要在一幀內(nèi)渲染的對(duì)象的數(shù)量來提高動(dòng)畫的感知性能。
[0098]應(yīng)當(dāng)理解的是:本文所述的示例實(shí)施例應(yīng)當(dāng)僅在說明意義上被考慮,而不用于限制的目的。每個(gè)示例實(shí)施例中的特征或方面的描述通常應(yīng)當(dāng)被看作是可用于其他示例實(shí)施例中的其他類似特征或方面。
[0099]雖然已經(jīng)參照附圖描述了一個(gè)或多個(gè)示例實(shí)施例,但是本領(lǐng)域普通技術(shù)人員應(yīng)該理解:在不脫離由所附權(quán)利要求限定的精神和范圍的情況下,可以在形式和細(xì)節(jié)上對(duì)其進(jìn)行各種改變。
【主權(quán)項(xiàng)】
1.一種用于處理動(dòng)畫的裝置,所述裝置包括: 對(duì)象存儲(chǔ)設(shè)備,用于存儲(chǔ)動(dòng)畫內(nèi)容中包括的對(duì)象;以及 動(dòng)畫控制單元,包括基于硬件的處理器,所述基于硬件的處理器被配置為通過計(jì)算要在一幀內(nèi)渲染的對(duì)象的渲染時(shí)間并且將所述渲染時(shí)間與預(yù)定的目標(biāo)每秒幀數(shù)FPS進(jìn)行比較來選擇性地調(diào)整以下至少一項(xiàng):所述動(dòng)畫內(nèi)容中包括的對(duì)象中要在一幀內(nèi)渲染的對(duì)象的數(shù)量、以及所述目標(biāo)FPS。2.根據(jù)權(quán)利要求1所述的裝置,其中,所述動(dòng)畫控制單元被進(jìn)一步配置為:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間大于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間并且要在一幀內(nèi)渲染的對(duì)象的數(shù)量等于或大于預(yù)設(shè)數(shù)量,則減小要在一幀內(nèi)渲染的對(duì)象的數(shù)量。3.根據(jù)權(quán)利要求1所述的裝置,其中,所述動(dòng)畫控制單元被進(jìn)一步配置為:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間大于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間并且要在一幀內(nèi)渲染的對(duì)象的數(shù)量小于預(yù)設(shè)數(shù)量,則減小所述目標(biāo)FPS。4.根據(jù)權(quán)利要求1所述的裝置,其中,所述動(dòng)畫控制單元被進(jìn)一步配置為:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間小于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間,則增加要在一幀內(nèi)渲染的對(duì)象的數(shù)量。5.根據(jù)權(quán)利要求1所述的裝置,其中,所述對(duì)象存儲(chǔ)單元被進(jìn)一步配置為:以循環(huán)隊(duì)列形式存儲(chǔ)要清染的對(duì)象。6.根據(jù)權(quán)利要求5所述的裝置,其中,所述動(dòng)畫控制單元被進(jìn)一步配置為:控制所述對(duì)象存儲(chǔ)單元來設(shè)置窗口,以順序地包括所述對(duì)象存儲(chǔ)單元中存儲(chǔ)的預(yù)設(shè)數(shù)量的對(duì)象。7.根據(jù)權(quán)利要求6所述的裝置,其中,所述窗口中包括的對(duì)象是要在一幀內(nèi)渲染的對(duì)象。8.根據(jù)權(quán)利要求6所述的裝置,還包括:顯示單元,被配置為顯示通過渲染所述窗口中包括的對(duì)象而產(chǎn)生的幀。9.一種處理動(dòng)畫的方法,所述方法包括: 計(jì)算動(dòng)畫內(nèi)容中包括的對(duì)象中要在一幀內(nèi)渲染的對(duì)象的渲染時(shí)間; 將所述渲染時(shí)間與預(yù)定的目標(biāo)每秒幀數(shù)FPS進(jìn)行比較;以及 基于所述渲染時(shí)間和所述預(yù)定的目標(biāo)FPS的比較結(jié)果,選擇性地調(diào)整要在一幀內(nèi)渲染的對(duì)象的數(shù)量和所述目標(biāo)FPS中的至少一項(xiàng)。10.根據(jù)權(quán)利要求9所述的方法,其中,調(diào)整要在一幀內(nèi)渲染的對(duì)象的數(shù)量和所述目標(biāo)FPS中的至少一項(xiàng)包括:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間大于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間并且要在一幀內(nèi)渲染的對(duì)象的數(shù)量等于或大于預(yù)設(shè)數(shù)量,則減小要在一幀內(nèi)渲染的對(duì)象的數(shù)量。11.根據(jù)權(quán)利要求9所述的方法,其中,調(diào)整要在一幀內(nèi)渲染的對(duì)象的數(shù)量和所述目標(biāo)FPS中的至少一項(xiàng)包括:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間大于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間并且要在一幀內(nèi)渲染的對(duì)象的數(shù)量小于預(yù)設(shè)數(shù)量,則減小所述目標(biāo)FPS。12.根據(jù)權(quán)利要求9所述的方法,其中,調(diào)整要在一幀內(nèi)渲染的對(duì)象的數(shù)量和所述目標(biāo)FPS中的至少一項(xiàng)包括:如果通過對(duì)要在一幀內(nèi)渲染的對(duì)象的各個(gè)渲染時(shí)間進(jìn)行求和所獲得的時(shí)間小于與所述目標(biāo)FPS相對(duì)應(yīng)的目標(biāo)時(shí)間,則增加要在一幀內(nèi)渲染的對(duì)象的數(shù)量。13.根據(jù)權(quán)利要求9所述的方法,還包括:以循環(huán)隊(duì)列形式存儲(chǔ)所述動(dòng)畫內(nèi)容中包括的對(duì)象。14.根據(jù)權(quán)利要求13所述的方法,還包括:設(shè)置窗口,以順序地包括要渲染的預(yù)設(shè)數(shù)量的存儲(chǔ)對(duì)象, 其中,所述窗口中包括的對(duì)象是要在一幀內(nèi)渲染的對(duì)象。15.根據(jù)權(quán)利要求14所述的方法,還包括:顯示通過渲染所述窗口中包括的對(duì)象而產(chǎn)生的幀。
【文檔編號(hào)】G06T13/00GK105869199SQ201510999078
【公開日】2016年8月17日
【申請(qǐng)日】2015年12月28日
【發(fā)明人】南基勛, 桂寅豪
【申請(qǐng)人】三星電子株式會(huì)社