專利名稱:基于Android系統(tǒng)的電子墨水屏刷新控制系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于Android系統(tǒng)的電子墨水屏技術(shù)領(lǐng)域,特別是基于Android系統(tǒng) 的電子墨水屏刷新控制系統(tǒng)及方法。
背景技術(shù):
Android原是為手機(jī)開發(fā)的智能系統(tǒng),只支持TFT屏的顯示。而TFT顯示屏的驅(qū)動(dòng) 方式為把將要顯示的內(nèi)容拷貝到顯存中,然后由顯示I/O接口將顯存中的內(nèi)容顯示到顯示 屏上。但電子墨水屏(Eink屏)的驅(qū)動(dòng)方式為當(dāng)顯存內(nèi)容更新后,首先把顯存中的內(nèi)容 傳送到芯片控制的內(nèi)存中,然后,CPU通知芯片將要顯示的矩形區(qū)域,并通知芯片以某種波 形模式(DU或GC16)刷新顯示面板的相應(yīng)矩形區(qū)域的顯示內(nèi)容。DU和GC16為波形模式(waveform mode)的其中兩種,DU支持2種灰階黑和白。 而GC16則支持16種灰階。對(duì)比以上可知,Android系統(tǒng)在顯示時(shí),并不能獲知每次需要刷新的矩形區(qū)域,只 是把顯示內(nèi)容存到顯存中,然后由顯示1/0接口來控制刷新,另外,它不能支持電子墨水的 不同波形模式。如果以Android系統(tǒng)的原顯示方式來支持電子墨水屏的話,則系統(tǒng)每次必 須刷新一整屏,而且所有的刷新都只是一種波形模式。而電子墨水屏的顯示速度根據(jù)每次 刷新的矩形區(qū)域大小及刷新的模式及方式不同,從30幾ms到IS不等。在這種情況下,并 不能滿足我們對(duì)列表框中高亮條的快速滾動(dòng)的需求。
發(fā)明內(nèi)容
本發(fā)明的第一個(gè)發(fā)明目的提供基于Android系統(tǒng)的電子墨水屏刷新控制系統(tǒng),以 解決現(xiàn)有技術(shù)中基于Android系統(tǒng)的電子墨水屏無法對(duì)特定區(qū)域進(jìn)行刷新的技術(shù)問題。為了實(shí)現(xiàn)本發(fā)明的第一個(gè)發(fā)明目的,采用的技術(shù)方案如下一種基于Android系統(tǒng)的電子墨水屏刷新控制系統(tǒng),所述系統(tǒng)包括用于存儲(chǔ)整屏 圖像數(shù)據(jù)的存儲(chǔ)模塊,用于向電子墨水屏刷新輸出存儲(chǔ)模塊中的圖像數(shù)據(jù)的顯示模塊,所 述系統(tǒng)還包括用于從系統(tǒng)中抽取特定區(qū)域坐標(biāo)的區(qū)域模塊;用于檢測坐標(biāo)模塊是否存在數(shù)據(jù)的檢測模塊如果區(qū)域模塊中存有數(shù)據(jù),則顯示模塊只刷新輸出由區(qū)域坐標(biāo)確定的圖像數(shù)據(jù);如果區(qū)域模塊中不存在數(shù)據(jù),則顯示模塊刷新輸出所有圖像數(shù)據(jù)。作為一種優(yōu)選方案,所述顯示模塊還包括有波形模式模塊,如果區(qū)域模塊中存有 數(shù)據(jù),則波形模式模塊設(shè)定為區(qū)域波形模式,否則設(shè)定為全屏波形模式。作為進(jìn)一步的優(yōu)選方案,所述區(qū)域波形模式對(duì)應(yīng)的灰階小于全屏波形模式對(duì)應(yīng)的 灰階,優(yōu)選的區(qū)域波形模式采用2灰階,即DU模式,而全屏波形模式采用16灰階,即GC16 模式。
3
作為一種優(yōu)選方案,所述特定區(qū)域?yàn)槎鄠€(gè),包括第一區(qū)域和第二區(qū)域,所述區(qū)域模 塊從系統(tǒng)中抽取第一區(qū)域和第二區(qū)域的坐標(biāo),所述第一區(qū)域?yàn)殡娮幽了⑿虑半娮幽?屏元素的區(qū)域坐標(biāo),第二區(qū)域?yàn)殡娮幽了⑿潞箅娮幽猎氐膮^(qū)域坐標(biāo)。作為一種優(yōu)選方案,所述電子墨水屏元素為高亮條。本發(fā)明的第二個(gè)方面目的,在于提供一種基于Android系統(tǒng)的電子墨水屏刷新控 制方法,應(yīng)用于本發(fā)明第一個(gè)方面目的所提供控制系統(tǒng)。為了實(shí)現(xiàn)本發(fā)明的第二個(gè)發(fā)明目的,采用的技術(shù)方案如下一種基于Android系統(tǒng)的電子墨水屏刷新控制方法,所述方法包括如下步驟(61)從系統(tǒng)內(nèi)存復(fù)制電子墨水屏整屏圖像數(shù)據(jù)到存儲(chǔ)模塊;(62)從系統(tǒng)獲取特定區(qū)域的坐標(biāo)并存儲(chǔ)到區(qū)域模塊;(63)從系統(tǒng)內(nèi)存復(fù)制電子墨水屏整屏圖像數(shù)據(jù)到顯存;(64)檢測區(qū)域模塊中是否有數(shù)據(jù),如果有則在顯存中僅刷新特定區(qū)域的坐標(biāo)內(nèi)的 圖像數(shù)據(jù),否則刷新整屏圖像數(shù)據(jù)。作為一種優(yōu)選方案,其特征在于所述(62)還包括,設(shè)定特定區(qū)域內(nèi)的圖像數(shù)據(jù)的波形模式對(duì)應(yīng)的灰階小于特定 區(qū)域外的圖像數(shù)據(jù)的波形模式對(duì)應(yīng)的灰階,優(yōu)選的特定區(qū)域內(nèi)的波形模式采用2灰階,即 DU模式,特定區(qū)域外的圖像數(shù)據(jù)波形模式采用16灰階。即GC16。作為一種優(yōu)選方案,所述步驟(62)包括從系統(tǒng)中獲取電子墨水屏刷新前電子墨 水屏元素的區(qū)域坐標(biāo),作為第一區(qū)域;從系統(tǒng)中獲取電子墨水屏刷新后電子墨水屏元素的 區(qū)域坐標(biāo),作為第二區(qū)域,所述步驟(64)中,如果檢測到區(qū)域模塊中有數(shù)據(jù),則在顯存中刷 新第一區(qū)域和第二區(qū)域的圖像數(shù)據(jù)。作為進(jìn)一步的優(yōu)選方案,所述電子墨水屏元素為高亮條。本發(fā)明使Android很好的適應(yīng)電子墨水屏的顯示,能對(duì)局部區(qū)域?qū)崿F(xiàn)快速刷新, 同時(shí)使得TFT顯示屏和電子墨水屏的顯示差異對(duì)應(yīng)用層透明。
圖1為本發(fā)明實(shí)施例的流程圖;圖2為本發(fā)明實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的說明。如圖1所示為本發(fā)明實(shí)施例的具體步驟在Android系統(tǒng)中,當(dāng)要刷新視圖,則調(diào)用invalidate函數(shù),調(diào)用invalidate后, 系統(tǒng)會(huì)調(diào)度surface flinger,surface flinger會(huì)把當(dāng)前顯示內(nèi)容從back buffer (系統(tǒng) 分配的一塊內(nèi)存區(qū)域,大小等于顯存)拷貝到front buffer(即為顯存)中,然后由CPU中 的顯示1/0接口將front buffer中的內(nèi)容顯示到顯示屏上。因此本實(shí)施例采用如下步驟步驟S110,在列表框界面中,當(dāng)高亮條從一個(gè)位置滾動(dòng)到另一個(gè)位置時(shí),把移動(dòng)軌 跡的兩個(gè)矩形區(qū)域坐標(biāo)傳遞給surfaceflinger,然后surfacef linger把這兩個(gè)坐標(biāo)傳遞
4給驅(qū)動(dòng),在驅(qū)動(dòng)中的lv_list變量中保存這兩個(gè)坐標(biāo),并把這兩個(gè)坐標(biāo)的刷新模式標(biāo)記為DU。步驟S120,當(dāng)surfaceflinger開始處理顯示時(shí),在surfaceflinger中首先把所有 臟區(qū)域的矩形坐標(biāo)傳遞給驅(qū)動(dòng),在驅(qū)動(dòng)中的oth_list變量中記錄所有這些臟矩形區(qū)域坐 標(biāo),并把這些矩形區(qū)域坐標(biāo)的刷新模式標(biāo)記為GC16。其中,DU是用于2階灰度,即黑和白,而GC16則支持16階灰度。由于DU僅支持2 階灰度,因此其刷新比GC16快,但僅適合于刷新某些簡單區(qū)域,如本實(shí)施例中的高亮條。步驟S130,surfacef linger 把當(dāng)前顯示內(nèi)容從 back buffer 拷貝到 front buffer 中。然后surfacef linger把控制權(quán)交給驅(qū)動(dòng)。步驟S140,在驅(qū)動(dòng)中,首先判斷l(xiāng)v_list變量中是否有節(jié)點(diǎn),如果有,就開始顯示 lv_list變量中所有節(jié)點(diǎn)的坐標(biāo),刷新模式為節(jié)點(diǎn)中記錄的刷新模式,顯示完lv_list變量 中的所有節(jié)點(diǎn)后要將此列表中所有的節(jié)點(diǎn)刪除,然后直接刪除oth_list變量中的所有節(jié) 點(diǎn);如果lv_list變量中不存在節(jié)點(diǎn)的情況下,開始顯示oth_list變量中所有節(jié)點(diǎn)的坐標(biāo), 刷新模式為節(jié)點(diǎn)中記錄的刷新模式,顯示完oth_list變量中的所有節(jié)點(diǎn)后要將此列表中 所有的節(jié)點(diǎn)刪除。處理完成后,然后返回完成本次顯示操作。如圖2所示為本發(fā)明實(shí)施例的結(jié)構(gòu)示意圖。應(yīng)用層210 (Application)把相關(guān)的操作數(shù)據(jù)傳遞給 ListView220,ListView220 通過內(nèi)部線禾呈通信(Inter-process communication, IPC)的方式傳遞給 surfacef!inger 線程230,surfacef 1 inger線程230把數(shù)據(jù)傳遞到驅(qū)動(dòng)240中?;贏ndro id系統(tǒng)的電子墨水屏刷新控制系統(tǒng)241設(shè)置在驅(qū)動(dòng)240中,系統(tǒng)241 包括用于存儲(chǔ)整屏圖像數(shù)據(jù)的存儲(chǔ)模塊2411,surfacef linger把整屏數(shù)據(jù)傳輸?shù)酱?儲(chǔ)模塊2411,在本實(shí)施例中即為oth_list變量;用于向電子墨水屏刷新輸出存儲(chǔ)模塊2411中的圖像數(shù)據(jù)的顯示模塊2412 ;用于從系統(tǒng)中抽取特定區(qū)域坐標(biāo)的區(qū)域模塊2413,surfacef linger把從 ListView220中獲取的特定區(qū)域坐標(biāo)存儲(chǔ)在區(qū)域模塊2413,在本實(shí)施例中為lv_list ;用于檢測坐標(biāo)模塊是否存在數(shù)據(jù)的檢測模塊2414 檢測模塊2414如果區(qū)域模塊2413中存有數(shù)據(jù),則顯示模塊2412只刷新輸出由區(qū) 域坐標(biāo)確定的圖像數(shù)據(jù);如果區(qū)域模塊2413中不存在數(shù)據(jù),則顯示模塊2412刷新輸出所有圖像數(shù)據(jù)。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本領(lǐng)域的普通技術(shù)人員來 說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為 本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種基于Android系統(tǒng)的電子墨水屏刷新控制系統(tǒng),其特征在于,所述系統(tǒng)包括用于存儲(chǔ)整屏圖像數(shù)據(jù)的存儲(chǔ)模塊,用于向電子墨水屏刷新輸出存儲(chǔ)模塊中的圖像數(shù)據(jù)的顯示模塊,其特征在于,所述系統(tǒng)還包括用于從系統(tǒng)中抽取特定區(qū)域坐標(biāo)的區(qū)域模塊;用于檢測坐標(biāo)模塊是否存在數(shù)據(jù)的檢測模塊如果區(qū)域模塊中存有數(shù)據(jù),則顯示模塊只刷新輸出由區(qū)域坐標(biāo)確定的圖像數(shù)據(jù);如果區(qū)域模塊中不存在數(shù)據(jù),則顯示模塊刷新輸出所有圖像數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的刷新控制系統(tǒng),其特征在于,所述顯示模塊還包括有波形模 式模塊,如果區(qū)域模塊中存有數(shù)據(jù),則波形模式模塊設(shè)定為區(qū)域波形模式,否則設(shè)定為全屏 波形模式。
3.根據(jù)權(quán)利要求2所述的刷新控制系統(tǒng),其特征在于,所述區(qū)域波形模式對(duì)應(yīng)的灰階 小于全屏波形模式對(duì)應(yīng)的灰階。
4.根據(jù)權(quán)利要求1所述的刷新控制系統(tǒng),其特征在于,所述特定區(qū)域?yàn)槎鄠€(gè),包括第一 區(qū)域和第二區(qū)域,所述區(qū)域模塊從系統(tǒng)中抽取第一區(qū)域和第二區(qū)域的坐標(biāo),所述第一區(qū)域 為電子墨水屏刷新前電子墨水屏元素的區(qū)域坐標(biāo),第二區(qū)域?yàn)殡娮幽了⑿潞箅娮幽?屏元素的區(qū)域坐標(biāo)。
5.根據(jù)權(quán)利要求4所述的刷新控制系統(tǒng),其特征在于,所述電子墨水屏元素為高亮條。
6.一種基于Android系統(tǒng)的電子墨水屏刷新控制方法,其特征在于,所述方法包括如 下步驟(61)從系統(tǒng)內(nèi)存復(fù)制電子墨水屏整屏圖像數(shù)據(jù)到存儲(chǔ)模塊;(62)從系統(tǒng)獲取特定區(qū)域的坐標(biāo)并存儲(chǔ)到區(qū)域模塊;(63)從系統(tǒng)內(nèi)存復(fù)制電子墨水屏整屏圖像數(shù)據(jù)到顯存;(64)檢測區(qū)域模塊中是否有數(shù)據(jù),如果有則在顯存中僅刷新特定區(qū)域的坐標(biāo)內(nèi)的圖像 數(shù)據(jù),否則刷新整屏圖像數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的刷新控制方法,其特征在于所述(62)還包括,設(shè)定特定區(qū)域內(nèi)的圖像數(shù)據(jù)的波形模式對(duì)應(yīng)的灰階小于特定區(qū)域 外的圖像數(shù)據(jù)的波形模式對(duì)應(yīng)的灰階。
8.根據(jù)權(quán)利要求6所述的刷新控制方法,其特征在于,所述步驟(62)包括從系統(tǒng)中 獲取電子墨水屏刷新前電子墨水屏元素的區(qū)域坐標(biāo),作為第一區(qū)域;從系統(tǒng)中獲取電子墨 水屏刷新后電子墨水屏元素的區(qū)域坐標(biāo),作為第二區(qū)域,所述步驟(64)中,如果檢測到區(qū) 域模塊中有數(shù)據(jù),則在顯存中刷新第一區(qū)域和第二區(qū)域的圖像數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的刷新控制方法,其特征在于,所述電子墨水屏元素為高亮條。
全文摘要
本發(fā)明涉及基于Android系統(tǒng)的電子墨水屏技術(shù)領(lǐng)域,特別是基于Android系統(tǒng)的電子墨水屏刷新控制系統(tǒng)及方法。所述系統(tǒng)包括用于存儲(chǔ)整屏圖像數(shù)據(jù)的存儲(chǔ)模塊,用于向電子墨水屏刷新輸出存儲(chǔ)模塊中的圖像數(shù)據(jù)的顯示模塊,所述系統(tǒng)還包括用于從系統(tǒng)中抽取特定區(qū)域坐標(biāo)的區(qū)域模塊;用于檢測坐標(biāo)模塊是否存在數(shù)據(jù)的檢測模塊如果區(qū)域模塊中存有數(shù)據(jù),則顯示模塊只刷新輸出由區(qū)域坐標(biāo)確定的圖像數(shù)據(jù);如果區(qū)域模塊中不存在數(shù)據(jù),則顯示模塊刷新輸出所有圖像數(shù)據(jù)。本發(fā)明使Android很好的適應(yīng)電子墨水屏的顯示,能對(duì)局部區(qū)域?qū)崿F(xiàn)快速刷新,同時(shí)使得TFT顯示屏和電子墨水屏的顯示差異對(duì)應(yīng)用層透明。
文檔編號(hào)G09G3/34GK101980072SQ20101027284
公開日2011年2月23日 申請(qǐng)日期2010年9月2日 優(yōu)先權(quán)日2010年9月2日
發(fā)明者王波 申請(qǐng)人:廣東歐珀電子工業(yè)有限公司