專利名稱:在電子書閱讀器上打開文本格式電子書的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子書閱讀器,特別涉及電子書閱讀器上文本格式電子書的處理技術(shù)。
背景技術(shù):
電子書閱讀器(e-book device, e-book reader)是一種瀏覽電子圖書的工具。屏幕的大小決定了可以單屏顯示字數(shù)的多少。而應(yīng)用于電子書閱讀器屏幕的技術(shù)有電子墨水技術(shù)、液晶顯示(Liquid Crystal Display,簡稱“LCD” )等顯示技術(shù)。電子墨水是一種顯示信息的革新技術(shù)。在不耗費任何額外電能的前提下,電子墨水能保持圖像達數(shù)周,而其它顯示技術(shù)通常在顯示時需要持續(xù)的電能消耗?;陔娮幽夹g(shù)的電子書閱讀器是一種平板式閱讀器,雖然外形只相當于一本薄薄的平裝書,卻能儲存約幾百本電子圖書。它具有重量輕、容量大、電池使用時間長、屏幕大等優(yōu)點。有些電子書閱讀器還具備調(diào)節(jié)字體大小的功能,并且能顯示JPEG、GIF等格式的黑白圖像和WorcUPDF等格式的文件。電子墨水顯示屏通過反射環(huán)境光線達到可視效果,因此看上去更像普通紙張,長時間閱讀也不傷眼睛。這種顯示屏的能效非常高,只在翻頁時需要少量電能,一小塊鋰電池就可以翻上萬頁。目前的電子書閱讀器中除了顯示屏以外,還有處理器、非易失性存貯器(如 Flasti)、隨機存取存儲器(Random Access Memory,簡稱“RAM”)等部件。通常電子書保存在非易失性存貯器中,需要時讀入隨機存取存儲器,由處理器進行處理,將相關(guān)內(nèi)容顯示在顯示屏上。目前的電子書中一種常見的格式是文本格式,文本格式不含格式信息,純?yōu)槲淖中畔?。目前的電子書閱讀器打開文本格式的電子書時通常使用如圖1所示的流程。在步驟101中,將一個文本格式的電子書文件全部讀入RAM中。此后進入步驟102,由處理器對整個電子書進行排版,排版時對各種文字統(tǒng)一采用不等寬度方式排版。此后進入步驟103,處理器在排版完控制顯示屏顯示指定的頁面。例如用戶通過點擊書簽選擇第沈頁,此時第沈頁就是指定的頁面。現(xiàn)有技術(shù)的問題在于,打開文本格式電子書的速度比較慢,所使用的RAM也比較大。其原因在于,電子書通常有較多的信息,一次性對整個電子書進行排版較花時間,不等寬方式的排版有一定的計算量,在排版過程中,RAM中需要保存一個電子書的全部內(nèi)容,所需RAM較多。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在電子書閱讀器上打開文本格式電子書的方法,可以提高打開文本格式電子書的速度,減少對隨機存取存儲器容量的需求。為解決上述技術(shù)問題,本發(fā)明的實施方式提供了一種在電子書閱讀器上打開文本格式電子書的方法,該電子書閱讀器至少包括處理器、非易失性存貯器、隨機存取存儲器和顯示屏,包括以下步驟B從當前位置開始,從非易失性存貯器中讀取文本文件的一部分至隨機存取存儲器,更新當前位置;C處理器根據(jù)隨機存取存儲器中所讀取的信息進行排版計算,得到分頁信息;D處理器判斷所得的分頁信息是否包含當前要顯示的頁,如果是則在顯示屏上顯示該頁的內(nèi)容;重復上述步驟B、C和D,直到文件被處理完畢。本發(fā)明實施方式與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于對文本文件使用分段讀取和排版的方式,不必等到整個文件都讀取完畢并完成分頁后再顯示,提高了打開電子書的速度,每當一段信息處理完后其所占用的隨機存取存儲器可以全部或部分釋放,從而只需要少得多的隨機存取存儲器容量就可以完成工作。進一步地,對不同類型的文字采用不同的排版方式,對東亞文字采用等寬度排版, 對Ascii碼字符采用不等寬度排版,既可以提高排版速度,又能夠保證版面整齊、美觀。進一步地,保存分頁信息供下次使用,可以在下次打開該電子書時在瞬間完成指定頁的顯示,因為省去了計算量較大的排版過程,所以可以節(jié)省寶貴的電能,這對于本身就耗電極少的電子書閱讀器來說,可以顯著增加翻頁的次數(shù)。進一步地,使用多線程的方式,一旦排版線程計算完當前要顯示的頁,立即通知用戶界面線程顯示該頁,不用在對一段文本信息的排版之后再顯示指定頁,進一步提高了打開電子書的速度,最大程度的減少了用戶的等待時間,充分利用了處理器資源。進一步地,每次讀取4096字節(jié),這是發(fā)明人經(jīng)過反復試驗得到的優(yōu)選值。如果每次讀取的信息量過少,則處理器的工作量會加大,如果每次讀取的信息量過大,則顯示指定頁的速度會變慢,4096字節(jié)在這兩方面都可以做得很好。
圖1是現(xiàn)有技術(shù)中在電子書閱讀器上打開文本格式電子書的流程示意圖;圖2是本發(fā)明第一實施方式中在電子書閱讀器上打開文本格式電子書的流程示意圖;圖3是本發(fā)明第三實施方式中在電子書閱讀器上打開文本格式電子書的流程示意圖;圖4是本發(fā)明第四實施方式中在電子書閱讀器上打開文本格式電子書的流程示意圖。
具體實施例方式在以下的敘述中,為了使讀者更好地理解本申請而提出了許多技術(shù)細節(jié)。但是,本領(lǐng)域的普通技術(shù)人員可以理解,即使沒有這些技術(shù)細節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請各權(quán)利要求所要求保護的技術(shù)方案。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的實施方式作進一步地詳細描述。
4
本發(fā)明第一實施方式涉及一種在電子書閱讀器上打開文本格式電子書的方法。該電子書閱讀器至少包括處理器、非易失性存貯器、隨機存取存儲器(RAM)和顯示屏。處理器可以是中央處理器(Central Processing Unit,簡稱“CPU”)、數(shù)字信號處理器(Digital Signal ftOcessor,簡稱“DSP”)等。非易失性存貯器可以是閃存、微型硬盤等存儲設(shè)備。本實施方式的流程如圖2所示。在步驟201中,處理器判斷當前文件是否已被讀完,如果是則結(jié)束本流程,否則進入步驟202。在步驟202中,從當前位置開始,從非易失性存貯器中讀取文本文件的一部分(本發(fā)明各實施方式中稱為“一段”)至隨機存取存儲器,更新當前位置。當前位置就是下一段的起始地址,每次讀完一段更新一下當前位置。文本格式電子書在非易失性存貯器中以文本文件的形式存儲。此后進入步驟203,處理器根據(jù)隨機存取存儲器中所讀取的信息進行排版計算,得到分頁信息。每次讀取并處理一段文本,如果排版計算下來,這段的結(jié)尾并非正好是一頁的結(jié)束(這種情況很常見),可以保留最后這個不完整頁的信息,與下次讀取的下一段信息合并處理,同時釋放其它的已經(jīng)完成分頁的信息??梢允桥虐嫱暌豁撫尫乓豁摚部梢栽谧x取下一段之前統(tǒng)一釋放。此后進入步驟204,處理器判斷所得的分頁信息是否包含當前要顯示的頁(或稱為“指定頁”),如果是則進入步驟205,否則回到步驟201。在步驟205中,在顯示屏上顯示指定頁的內(nèi)容。此后回到步驟201。對文本文件使用分段讀取的方式,不必等到整個文件都讀完并完成分頁后再顯示,提高了打開電子書的速度,每當一段信息處理完后其所占用的隨機存取存儲器可以全部或部分釋放,從而只需要少得多的隨機存取存儲器容量就可以完成工作。本發(fā)明第二實施方式涉及一種在電子書閱讀器上打開文本格式電子書的方法。第二實施方式在第一實施方式的基礎(chǔ)上進行了改進,主要改進之處在于對排版計算的步驟進行了優(yōu)化,對東亞文字(包括中文,韓文,日文)采用等寬度排版,對Ascii 碼字符采用不等寬度排版。對不同類型的文字采用不同的排版方式,對東亞文字采用等寬度排版,對Ascii 碼字符采用不等寬度排版,既可以提高排版速度,又能夠保證版面整齊、美觀。 本發(fā)明第三實施方式涉及一種在電子書閱讀器上打開文本格式電子書的方法。第三實施方式在第一或第二實施方式的基礎(chǔ)上進行了改進,其流程如圖3所示。在步驟301中,處理器判斷非易失性存貯器中是否已保存有文本格式電子書所對應(yīng)的分頁信息,如果是則進入步驟307,否則進入步驟302。在步驟302中,處理器判斷當前文件是否已被讀完,如果是則進入步驟309,否則進入步驟303。在步驟303中,從當前位置開始,從非易失性存貯器中讀取文本文件的下一段至隨機存取存儲器,更新當前位置。此后進入步驟304,處理器根據(jù)隨機存取存儲器中所讀取的信息進行排版計算,得到分頁信息。
此后進入步驟305,處理器判斷所得的分頁信息是否包含指定頁,如果是則進入步驟306,否則回到步驟302。在步驟306中,在顯示屏上顯示指定頁的內(nèi)容,此后回到步驟302。在步驟307中,從非易失性存儲器中讀取分頁信息。此后進入步驟308,根據(jù)分頁信息,在顯示屏上顯示指定頁的內(nèi)容。此后結(jié)束本流程。在步驟309中,因為文件已處理完畢,相應(yīng)的分頁信息也已經(jīng)完整地得到,所以將所得的分頁信息保存到非易失性存儲器中,供以后使用。保存分頁信息供下次使用,可以在下次打開該電子書時在瞬間完成指定頁的顯示,因為省去了計算量較大的排版過程,所以可以節(jié)省寶貴的電能,這對于本身就耗電極少的電子書閱讀器來說,可以顯著增加翻頁的次數(shù)。本發(fā)明第四實施方式涉及一種在電子書閱讀器上打開文本格式電子書的方法。第四實施方式在第一、第二或第三實施方式的基礎(chǔ)上進行了改進,主要改進之處在于使用多線程的方式,一旦排版線程計算完當前要顯示的頁,立即通知用戶界面(UI) 線程顯示該頁,不用在對一段文本信息的排版之后再顯示指定頁,進一步提高了打開電子書的速度,最大程度的減少了用戶的等待時間,充分利用了處理器資源。處理器中同時運行著有排版計算功能的排版線程和有顯示屏顯示控制功能的UI 線程。第四實施方式的流程如圖4所示。在步驟401中,由排版線程判斷非易失性存儲器是否存在指定電子書的分頁信息,如果是則進入步驟405,否則進入步驟402。在步驟402中,排版線程判斷文本文件是否已經(jīng)讀取完畢,如果是則進入步驟 406,否則進入步驟403。在步驟403中,排版線程讀取下一段至RAM。此后進入步驟404,排版線程對RAM中的信息進行排版,得到分頁信息。排版過程中,一旦完成了指定頁的排版,立即通知UI線程顯示該頁的內(nèi)容。此后回到步驟402。在步驟405中,排版線程從非易失性存儲器中讀取分頁信息,并通知UI線程根據(jù)分頁信息顯示指定頁。此后結(jié)束本流程。在步驟406中,排版線程將分頁信息保存到非易失性存儲器中,供以后使用。此后結(jié)束本流程。對本實施方式也可以作一些變化,例如,在步驟401-404及406中不使用排版線程,而是使用一個控制線程,在步驟405中,控制線程創(chuàng)建或調(diào)用排版線程完成排版。本發(fā)明第五實施方式涉及一種在電子書閱讀器上打開文本格式電子書的方法。第五實施方式在第一至第四實施方式的基礎(chǔ)上進行了改進,主要改進之處在于, 讀取一部分文本文件(下一段)至RAM的步驟中,每次讀取的一部分文本文件的信息量是 512字節(jié)的整數(shù)倍。每次讀取512字節(jié)的整數(shù)倍,可以充分發(fā)揮現(xiàn)有軟硬件的性能。在本實施方式的一個優(yōu)選實例中,每次讀取的一部分文本文件的信息量是4096 字節(jié)。每次讀取4096字節(jié),是發(fā)明人經(jīng)過反復試驗得到的優(yōu)選值。每次讀取的信息量過少, 則處理器的工作量會加大,每次讀取的信息量過大,則顯示指定頁的速度會變慢,4096字節(jié)在這兩方面都可以做得很好。本發(fā)明的各方法實施方式均可以以軟件、硬件、固件等方式實現(xiàn)。不管本發(fā)明是以軟件、硬件、還是固件方式實現(xiàn),指令代碼都可以存儲在任何類型的計算機可訪問的存儲器中(例如永久的或者可修改的,易失性的或者非易失性的,固態(tài)的或者非固態(tài)的,固定的或者可更換的介質(zhì)等等)。同樣,存儲器可以例如是可編程陣列邏輯(Programmable Array Logic,簡稱“PAL”)、隨機存取存儲器(Random Access Memory,簡稱“RAM”)、可編程只讀存儲器(Programmable Read Only Memory,簡稱 “PROM”)、只讀存儲器(Read-Only Memory, 簡稱“ROM”)、電可擦除可編程只讀存儲器(Electrically Erasable Programmable ROM,簡稱“EEPROM”)、磁盤、光盤、數(shù)字通用光盤(Digital Versatile Disc,簡稱“DVD”)等等。雖然通過參照本發(fā)明的某些優(yōu)選實施方式,已經(jīng)對本發(fā)明進行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種在電子書閱讀器上打開文本格式電子書的方法,該電子書閱讀器至少包括處理器、非易失性存貯器、隨機存取存儲器和顯示屏,其特征在于,包括以下步驟B從當前位置開始,從所述非易失性存貯器中讀取文本文件的一部分至所述隨機存取存儲器,更新當前位置;C所述處理器根據(jù)所述隨機存取存儲器中所讀取的信息進行排版計算,得到分頁信息;D所述處理器判斷所得的分頁信息是否包含當前要顯示的頁,如果是則在所述顯示屏上顯示該頁的內(nèi)容;重復上述步驟B、C和D,直到所述文件被處理完畢。
2.根據(jù)權(quán)利要求1所述的在電子書閱讀器上打開文本格式電子書的方法,其特征在于,所述排版計算的步驟中,對東亞文字采用等寬度排版,對Ascii碼字符采用不等寬度排版。
3.根據(jù)權(quán)利要求2所述的在電子書閱讀器上打開文本格式電子書的方法,其特征在于,所述東亞文字包括中文,韓文,日文。
4.根據(jù)權(quán)利要求2所述的在電子書閱讀器上打開文本格式電子書的方法,其特征在于,在所述文件被處理完畢之后,還包括以下步驟將所得到的分頁信息保存到所述非易失性存貯器;在重復所述步驟B、C和D之前,還包括以下步驟A所述處理器判斷所述非易失性存貯器中是否已有所述文本文件所對應(yīng)的分頁信息, 如果是則從非易失性存貯器讀取該分頁信息,并使用該分頁信息在所述顯示屏上顯示當前要顯示的頁的內(nèi)容,否則重復執(zhí)行所述步驟B、C和D。
5.根據(jù)權(quán)利要求4所述的在電子書閱讀器上打開文本格式電子書的方法,其特征在于,所述步驟D中,所述處理器中同時運行著有排版計算功能的排版線程和有顯示屏顯示控制功能的用戶界面線程,一旦所述排版線程在排版過程中計算完當前要顯示的頁,立即通知所述用戶界面線程顯示該頁。
6.根據(jù)權(quán)利要求5所述的在電子書閱讀器上打開文本格式電子書的方法,其特征在于,所述步驟B中,每次讀取的一部分文本文件的信息量是512XN字節(jié),其中N為正整數(shù)。
7.根據(jù)權(quán)利要求6所述的在電子書閱讀器上打開文本格式電子書的方法,其特征在于,所述步驟B中,每次讀取的一部分文本文件的信息量是4096字節(jié)。
8.根據(jù)權(quán)利要求1至7中任一項所述的在電子書閱讀器上打開文本格式電子書的方法,其特征在于,所述非易失性存貯器是閃存。
全文摘要
本發(fā)明涉及電子書閱讀器,公開了一種在電子書閱讀器上打開文本格式電子書的方法。本發(fā)明中,對文本文件使用分段讀取和排版的方式,不必等到整個文件都讀取完畢并完成分頁后再顯示,提高了打開電子書的速度。對不同類型的文字采用不同的排版方式,對東亞文字采用等寬度排版,對Ascii碼字符采用不等寬度排版,既可以提高排版速度,又能夠保證版面整齊和美觀。保存分頁信息供下次使用,可以在下次打開該電子書時在瞬間完成指定頁的顯示。
文檔編號G09G5/22GK102214441SQ20101013729
公開日2011年10月12日 申請日期2010年4月1日 優(yōu)先權(quán)日2010年4月1日
發(fā)明者馮威, 葉立飛, 李曉輝, 沈?qū)W成, 王雷 申請人:上海易狄歐電子科技有限公司