《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 電子紙閱讀器的PPT格式引擎設計和優化
電子紙閱讀器的PPT格式引擎設計和優化
維庫開發網
李慶誠,張占營
摘要: 摘要:根據目前主流電子紙閱讀器硬件資源有限、要求功耗小、灰階顯示等特點,提出了一種PPT格式文檔解析...
Abstract:
Key words :

  摘要: 根據目前主流電子紙閱讀器硬件資源有限、要求功耗小、灰階顯示等特點,提出了一種PPT格式文檔解析方案。聚焦于滿足人們對于移動閱讀的基本需求,選取了文字、圖形、圖像作為基本解析對象,設計并實現了一個適合電子紙閱讀器的PPT格式引擎,并進行了多重優化以提升性能體驗,在低端的硬件配置和有限的運行時間內完成格式解析。

  引言

  PPT(Microsoft Office PowerPoint),是微軟公司開發的編輯演示文稿的辦公軟件。該格式相對于txt、chm等,信息量更大,結構也更加復雜,導致其對硬件配置要求較高。然而,目前嵌入式終端配置低,因此本文聚焦于滿足人們對于移動閱讀的基本需求,暫不考慮視頻、音頻和外部對象等特性支持。本解析器在開源環境下,基于Linux操作系統實現。基于嵌入式多格式解析引擎系統架構和中間格式理論,具有平臺無關性、高效性的特點。

  1  系統特點

  該解析引擎兼容版本多,包括Microsoft PowerPoint 972003等版本。下面介紹一下系統特點。

 ?、?不依賴于圖形服務器。解析引擎擁有自己的專用的矢量圖形繪制器。不依賴于特定的底層圖形服務器。例如,我們的實驗系統的圖形服務器由nanoX改為Qt時,該解析引擎不需要修改。

 ?、?高效性。對于一般的格式解析器,樣本文件越大,打開速度越慢,而該解析器可以做到文件打開速度與文件大小基本無關。

  ③ 平臺無關性。解析引擎并不是直接在顯示設備上繪制圖形和文字,而是把各種格式元素繪制在一段內存區域上,然后把這段內存數據映射到物理設備上。即輸入是文件,輸出是屏幕大小的位圖。

 ?、?配置靈活。解析引擎的模塊化設計便于移植和裁剪。所有數據類型采用宏定義,便于根據平臺配置。

 ?、?支持手寫批注。 解析器只做內容抽取和顯示,不支持編輯和保存,支持手寫批注。手寫批注不改變原文檔,而是新建xml描述文件。

 ?、?個性化交互方式。利用電子紙控制器的16通道和黑白刷,實現動畫切換效果。

  2  格式分析

  2.1  總體結構

  Microsoft PowerPoint使用OLE2組合文檔存儲。和文件系統結構類似,它包含容器和流,并組成的樹狀結構。各種流獨立存儲,便于載入和快速保存。如表1所列,PPT文件包括以下5種流式數據。

PowerPoint文件結構

  表1  PowerPoint文件結構

  PPT存儲格式采用十六進制,small endian字節序,分為若干個大數據塊和小數據塊,大小分別為512字節和64字節,第一個數據塊為初始數據塊,存儲了數據塊索引表。

關鍵字:電子紙閱讀器 PPT 引擎設計

 

  2.2  圖像流結構

  PPT中包含矩形、圖片框、文本框、線、橢圓等204種形式的元素,統稱為Shape。每種Shape有一個唯一的實例碼與之相應。

  多媒體數據的層次結構如圖1所示。

 容器層次結構

  圖1  容器層次結構

  Drawing GROUP為組合圖形存儲結構,它包含了一組圖形對象。Drawing為圖形存儲結構,Shape和Solver為兩組圖形屬性元數據。Blip Store為插入的圖片對象。Property Table為缺省屬性表。Client Data為一組元數據信息,包含坐標,文本和OLE數據和用戶自定義屬性表。

  屬性項采用idvalue結構,自定義屬性表的長度可變。各項屬性相對位置不變。自定義屬性表中出現的屬性將覆蓋默認屬性。

  Drawing為一組描述來管理容器中的圖形對象的規則集合,包括對齊方式、標尺等。

  3  軟件設計

  本設計以嵌入式多格式解析引擎系統架構為基礎。解析引擎是負責對源文件進行解析,生成中間格式需要的數據的模塊。

  解析引擎的內部架構如圖2所示。

 解析引擎架構

  圖2  解析引擎架構

  3.1  語法分析器

  語法分析器為輸入流數據,輸出為結構化數據供各模塊使用。PPT格式的記錄采用idvalue結構,id和value占據規定的字節數,語法分析器負責識別記錄id,并抽取value。

關鍵字:電子紙閱讀器 PPT 引擎設計

 

  3.2  導航器

  負責把數據從文件系統調入內存,并把I/O流轉換成結構化數據,即用DOM結構描述文件的整體架構。

  該模塊具有頁面導航作用。PPT使用OLE2組合文檔存儲。容器和結點只存儲粗粒度索引信息,對于不需要立即顯示的頁,只存儲容器結點,暫時不展開,需要顯示該頁時,再從該結點向下展開,從而減少了不必要的文件讀取。這種分層裝載方法,提高了打開速度,并且對于大文檔,進入速度只和第一頁的復雜程度有關。

  此外,為了更好地索引,建立了一系列的鏈表結構。如:數據塊索引表、根目錄表、圖像數據流鏈表、用戶反向鏈表、文本鏈、母板鏈表等。

  文件長度、版本號、進行文件合法性等信息通過讀取初始化塊獲得。除此之外還需要初始化幾個重要的全局鏈表。

 ?、?數據塊索引表。文件以塊為單位存儲,且不連續,數據所屬塊號和塊內偏移量可以方便地進行尋址操作。

 ?、?構建根目錄表,包括存儲內容的起始塊號和大小,用于尋址操作。讀操作只在當前塊范圍內,當超出當前塊可讀長度時,通過查詢塊索引表找到下一塊的塊號。

 ?、?構建圖像數據流鏈表。

  ④ 構建用戶反向鏈表。為了快速保存,PPT采用增量式存儲,即每次保存時,直接生成頁面副本并追加到文檔末尾。增量式存儲的缺點是冗余量大。例如,有的文件只有幾頁,但文件大小幾MB甚至幾十MB,文件實際大小和修改次數有關。

  ⑤ 幻燈片文本鏈,流信息到排版元數據獨立存儲。純文本存儲在文本流中,存儲以及排版信息存儲在頁數據區。頁數據區還存儲了純文本在文本流中的位置。

  ⑥ 母板鏈表,母板一般作為背景,以頁為單位順次存儲。因為電子紙顯示灰度圖像,背景和正文疊加以后看不清楚,用戶閱讀時可以去除背景,而不會影響到文件本身。

  增量式存儲的基本思想是:每次修改產生一個用戶信息,存儲修改的塊號,當前用戶信息反向指向上一個用戶信息,從而構成一個用戶反向鏈。遍歷用戶反向鏈可以找到最后一次修改。冗余數據可以直接丟棄。

  3.3  布局管理器

  負責屏幕劃分和圖層管理,布局管理器劃為不同的矩形區域,并標識該區域的類型。然后分別將解析得到的文字,圖形,圖像緩沖區映射到屏幕位圖上。

  3.4  文字處理器

  PPT格式的文字種類和布局相對復雜,可以分為正文和圖形內嵌文字兩種,各級標題正文的布局也有要求。文字處理器針對各種文本的排版格式多樣性進行解析和布局,完整再現原文檔的版式信息。

  文字處理過程分為預排版和頁面排版兩部分,預排版負責填充字模緩沖區,抽取字符編碼和字體信息作為FreeType的輸入,用生成的單個字模位圖填充緩沖區。然后結合標尺和對其方式把映射到頁面顯示緩沖區。文字解析原理圖如圖3所示。

文字解析原理圖

  圖3  文字解析原理圖

關鍵字:電子紙閱讀器 PPT 引擎設計

 

  3.5  圖形渲染

  負責圖形繪制和組合圖形坐標空間轉換。本解析引擎不依賴于圖形服務器,擁有專用的矢量圖形繪制庫。能夠將圖形直接繪制到頁面位圖中,與物理顯示無關。

  繪制直線,曲線和多邊形填充分別采用了經典的Breshman算法,三次貝塞爾曲線畫線算法,列掃描多邊形填充算法3種成熟算法。為了提高了運算效率,對于浮點數作取整運算。經驗證,在浮點數運算效率不佳的嵌入式系統上也能到達較好的渲染效果。

  組合圖形(Drawing GROUP)包含了一組圖形對象,采用了Dom結構。子結點使用相對于父結點的坐標空間。因此,圖形處理能夠遞歸地進行坐標轉化,并把圖形繪制在其父結點的坐標空間內。

  3.6  圖像渲染

  圖像渲染器采用Cximage圖像庫把圖像數據重構,并進一步轉化成灰度圖像放入屏幕緩沖區。

  文件中圖像和多媒體信息存儲在圖像流中,通過FBSE (File Blip Store Entry)描述。于是定義了結構體:

  typedef struct _FBSE{

  MSOBLIPTYPE imageType;

  ULONG id;

  ULONG size;

  ULONG cRef;

  ULONG offsetInDelayStream;

  }FBSE;

  4  優化提速

  用戶總是希望系統越快越好,但是嵌入式系統受主頻較低、內存較小的限制,對于一些計算量比較大的工作,很難達到理想的效果。于是本解析引擎在應用了多頁面緩沖機制和異步并行機制的優化策略。

  各渲染器異步并行地工作,第一個完成任務的渲染器立即把數據提交給屏幕顯示。電子紙整屏刷新速度為1 s,利用這個刷屏間歇,其余渲染器完成任務,再采用局部刷屏的方式把增量部分刷新到屏幕上。這樣整體速度取決于渲染速度最慢的那一個。此外,異步執行不阻塞輸入,如果這時用戶翻頁,未完成解析線程會被終止,并建立新線程來解析下一頁。例如:打開一頁圖文混排的幻燈片,打開時先顯示文字,隨后顯示出圖像,并且不會阻塞用戶輸入,假如用戶快速連續翻若干頁后停止,中間頁解析會被終止。

關鍵字:電子紙閱讀器 PPT 引擎設計

 

  5  驗證

  在主頻200 MHz的電子紙閱讀器上實現效果如圖4所示。

在電子紙閱讀器上解析效果圖

  圖4  在電子紙閱讀器上解析效果圖

  隨機選擇60個樣本文件,進入書籍最短時間2.82 s,最長11.92 s.如圖5所示。

在電子紙閱讀器上解析速度統計圖

  圖5  在電子紙閱讀器上解析速度統計圖

  解析引擎采用分層裝載方法,提高了打開書籍速度,這里選擇了3個第一頁完全相同但是大小差別較大的PPT文檔。實驗表明,雖然文檔大小差別很大,但是打開速度差異不大。如表2所列。

啟動速度對比

  表2  啟動速度對比

  結語

  由于電子紙的特性和嵌入式設備的資源限制,本文僅僅聚焦在常用元素的解析上,如文字、圖形、圖像、表格等,而對于嵌入對象(如視頻、音頻等)沒有支持。對于未知元素的解析將成為未來的主要工作。本文模塊化的設計架構,有利于下一步進行功能擴展,另外,隨著Office開放文檔格式(OOXML)的誕生并成為國際標準,未來將開發支持OOXML的嵌入式解析器。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美国产第二页| 国产美女精品人人做人人爽| 亚洲欧美久久久久一区二区三区| 欧美日韩国产片| 美女啪啪无遮挡免费久久网站| 亚洲精品综合精品自拍| 亚洲精品一级| 亚洲精品一品区二品区三品区| 亚洲一区制服诱惑| 亚洲日本va午夜在线电影| 国产一区二区三区在线观看免费视频| 尤物yw午夜国产精品视频| 在线一区二区三区四区| 亚洲影院色无极综合| 永久免费精品影视网站| 国产精品嫩草影院av蜜臀| 国产精品海角社区在线观看| 日韩亚洲在线观看| 99在线热播精品免费99热| 欧美日韩dvd在线观看| 欧美激情a∨在线视频播放| 国产欧美精品日韩| 亚洲欧美视频在线观看视频| 亚洲精品在线免费观看视频| 欧美激情视频在线免费观看 欧美视频免费一| 欧美激情中文字幕一区二区| 亚洲已满18点击进入久久| 久久综合狠狠综合久久综青草| 久久综合伊人77777| 国产一区二区欧美日韩| 欧美午夜不卡视频| 久久久国产精品亚洲一区| 国产一区二区三区四区三区四| 在线观看国产成人av片| 国产一区欧美日韩| 18成人免费观看视频| 欧美sm重口味系列视频在线观看| 香蕉久久夜色精品国产| 亚洲精品乱码久久久久久久久| 亚洲日本黄色| 久久久爽爽爽美女图片| 另类成人小视频在线| 在线观看免费视频综合| 亚洲专区一区| 亚洲精品美女久久7777777| 国产精品第一页第二页第三页| 亚洲成在线观看| 在线一区二区日韩| 免费国产自线拍一欧美视频| 欧美亚洲午夜视频在线观看| 亚洲一区二区av电影| 亚洲欧美日韩中文播放| 国产午夜精品一区二区三区欧美| 亚洲卡通欧美制服中文| 欧美freesex交免费视频| 亚洲天堂男人| 蜜臀av性久久久久蜜臀aⅴ| 久久精品一二三| 午夜精品短视频| 国产欧美精品xxxx另类| 国产精品视频精品| 国产欧美日韩精品一区| 欧美精选在线| 国内精品一区二区三区| 欧美国产综合一区二区| 能在线观看的日韩av| 永久免费视频成人| 国产性色一区二区| 欧美视频中文字幕| 国产主播在线一区| 欧美一区二区网站| 国产精品影音先锋| 久久偷看各类wc女厕嘘嘘偷窃| 欧美日韩精品一区二区在线播放| 在线成人激情| 久久九九精品99国产精品| 久久高清福利视频| 欧美成人精品不卡视频在线观看| 亚洲乱码国产乱码精品精可以看| 国产精品亚洲欧美| 欧美亚洲一区三区| 免费成人黄色av| 亚洲一区美女视频在线观看免费| 国产亚洲毛片在线| 欧美精品一区二区视频| 欧美亚韩一区| 欧美视频在线观看免费| 久久久久久久成人| 久久综合色播五月| 香蕉av福利精品导航| 欧美14一18处毛片| 久久激情五月激情| 欧美精品一区二区三区在线播放| 久久九九国产精品怡红院| 日韩午夜av在线| 午夜伦欧美伦电影理论片| 亚洲国产成人在线视频| 久久精品视频免费播放| 亚洲美女中文字幕| 最新日韩精品| 亚洲欧美成人一区二区在线电影| 国产精品久久一区主播| 亚洲午夜日本在线观看| 亚洲大胆美女视频| 99在线精品视频在线观看| 欧美大片一区二区三区| 亚洲一区国产视频| 国产麻豆91精品| 国产精品美女主播在线观看纯欲| 国产精品不卡在线| 久久亚洲欧美国产精品乐播| 欧美日韩综合视频网址| 国内外成人免费视频| 一本色道久久99精品综合| 91久久香蕉国产日韩欧美9色| 国产精品乱码一区二三区小蝌蚪| 亚洲欧美日本国产有色| 久久久久五月天| 一本色道久久综合狠狠躁篇怎么玩| 国产精品视频免费观看| 很黄很黄激情成人| 欧美激情综合五月色丁香小说| 亚洲一区二区三区激情| 亚洲精品国产精品久久清纯直播| 曰韩精品一区二区| 在线观看视频欧美| 久久久久久久一区二区| 欧美一区二区福利在线| 国产视频精品xxxx| 国产美女一区| 老鸭窝亚洲一区二区三区| 中文一区在线| 国产一区二区三区高清| 国产精品chinese| 亚洲精品色婷婷福利天堂| 午夜精品一区二区三区四区| 亚洲成人中文| 性高湖久久久久久久久| 久久免费午夜影院| 国产欧美一区二区三区国产幕精品| 欧美香蕉大胸在线视频观看| 伊人激情综合| 国产欧美日韩三级| 亚洲激情影视| 亚洲国产精品成人一区二区| 亚洲欧美国产高清| 亚洲午夜精品一区二区| 国产视频在线观看一区| 蜜臀99久久精品久久久久久软件| 欧美一区二区三区视频在线| 在线观看成人小视频| 韩国欧美一区| 校园激情久久| 国产色婷婷国产综合在线理论片a| 久久九九久久九九| 久久精品观看| 久久久久国产一区二区三区| 另类专区欧美制服同性| 国内成人精品视频| 国内外成人免费激情在线视频| 狠狠色丁香婷综合久久| 娇妻被交换粗又大又硬视频欧美| 蜜臀av在线播放一区二区三区| 国产精品美女www爽爽爽视频| 91久久嫩草影院一区二区| 国产一区二区无遮挡| 亚洲日本欧美日韩高观看| 亚洲国产精品成人综合| 久久一日本道色综合久久| 久久久综合视频| 99re这里只有精品6| 欧美在线短视频| 在线国产日韩| 国产精品va在线| 久久影音先锋| 午夜亚洲福利在线老司机| 欧美日韩精品免费观看| 午夜精品久久久久久久99樱桃| 国产一区二区精品| 米奇777超碰欧美日韩亚洲| 欧美三日本三级三级在线播放| 欧美日韩国产一区二区三区地区| 欧美一区三区三区高中清蜜桃| 欧美性生交xxxxx久久久| 欧美成人情趣视频| 国产一区二区三区成人欧美日韩在线观看| 欧美一区午夜视频在线观看| 国产欧美一区二区白浆黑人| 一区二区三区福利| 欧美日韩国产色站一区二区三区| 亚洲五月六月| 噜噜爱69成人精品| 欧美成人精品一区二区| 欧美午夜精品一区二区三区| 亚洲一区日韩在线| 欧美不卡激情三级在线观看| 亚洲综合日韩在线| 国产精品手机在线| 国产伊人精品| 国内自拍亚洲| 国产一区二三区| 亚洲激情一区二区| 久久成人在线| 在线观看日韩欧美| 国内精品久久久久久久97牛牛| 亚洲小视频在线观看| 久久福利电影| 亚洲国产精品久久久久| 亚洲国产高清视频| 欧美日韩精品综合| 亚洲在线视频观看| 欧美日韩一区二区三区四区五区| 亚洲午夜视频| 亚洲欧美日韩系列| 欧美成人一区二区在线| 韩日精品中文字幕| 亚洲缚视频在线观看| 亚洲日本电影| 欧美日韩在线一区二区| 亚洲欧美不卡| 伊人久久噜噜噜躁狠狠躁| 欧美国产精品va在线观看| 久久不射中文字幕| 久久五月婷婷丁香社区| 欧美综合第一页| 亚洲欧洲在线播放| 欧美激情综合在线| 国产精品久久久久久久久| 嫩草成人www欧美| 欧美色偷偷大香| 国产精品视频免费观看www| 久热精品视频| 性欧美8khd高清极品| 国产精品午夜久久| 国产一区二区激情| 久久国产综合精品| 国产视频久久| 国语对白精品一区二区| 亚洲欧美资源在线| 国产区欧美区日韩区| 亚洲国产欧美一区二区三区久久| 欧美色123| 亚洲午夜精品久久| 欧美a级理论片| 欧美精品xxxxbbbb| 国产一区二区三区无遮挡| 欧美视频日韩| 久久精品二区| 欧美日韩不卡视频| 国产欧美日韩精品a在线观看| 午夜精品免费视频| 久久美女艺术照精彩视频福利播放| 国产欧美日韩在线视频| 欧美高清在线观看| 欧美一区二区三区免费大片| 欧美成年网站| 欧美凹凸一区二区三区视频| 欧美日韩国产精品一区| 久久爱www.| 午夜久久久久| 国产精品igao视频网网址不卡日韩| 欧美日韩在线观看一区二区| 免费久久99精品国产| 性色av一区二区三区在线观看| 欧美日韩视频在线一区二区| 欧美精品在线极品| 亚洲国产精品久久| 精品99一区二区| 久久久亚洲国产美女国产盗摄| 午夜精品在线看| 久久久久国内| 99综合精品| 欧美不卡视频一区发布| 亚洲激情av| 欧美理论片在线观看| 国产精品视频观看| 亚洲麻豆国产自偷在线| 国产精品久久久对白| 欧美不卡视频一区发布| 亚洲成人在线| 国产视频一区二区三区在线观看| 亚洲午夜精品久久| 国产精品高潮呻吟久久av黑人| 国产精品普通话对白| 欧美大片网址| 国产视频亚洲精品| 欧美三级网址| 玖玖综合伊人| 久久精品一二三| 欧美一区二区视频在线观看| 国产精品婷婷| 亚洲蜜桃精久久久久久久| 国产小视频国产精品| 影音先锋久久资源网| 国产精品美腿一区在线看| 欧美日韩亚洲一区二区| 伊人久久综合97精品| 国产精品高潮呻吟久久av无限| 国产一区自拍视频| 欧美日韩人人澡狠狠躁视频| 亚洲精选中文字幕| 欧美视频一区在线| 免费视频一区二区三区在线观看| 欧美亚洲成人精品| 欧美高清在线视频| 欧美日韩在线播放一区| 国产精品xnxxcom| 欧美深夜福利| 欧美激情无毛| 老司机午夜精品视频在线观看| 亚洲一区二区三区四区五区黄| 国产亚洲福利社区一区| 国产亚洲综合在线| 亚洲黑丝在线| 欧美日韩高清在线| 欧美日韩国产专区| 国外精品视频| 欧美成年网站| 亚洲少妇最新在线视频| 欧美亚洲一区三区| 国产精品普通话对白| 午夜久久99| 国产亚洲一区二区三区在线观看| 欧美激情精品久久久久久黑人| 久久久夜精品| 欧美刺激性大交免费视频| 免费观看国产成人| 国产精品女人久久久久久|