矢量圖分類引擎的制作方法
【專利摘要】在本發(fā)明中描述并在附圖中示出了矢量圖分類引擎及相關(guān)聯(lián)的用于對固定格式文檔中的矢量圖進行分類的方法。矢量圖分類引擎定義用于對從固定格式文檔中解析作為字體、文本、段落、表、以及頁面效果(如陰影、邊界、下劃線、以及刪除線)等的矢量圖進行分類的流水線。沒有被以其他方式分類的矢量圖被指定為基本圖。通過按所選次序?qū)z測操作進行排序,最小化或消除了誤分類。
【專利說明】矢量圖分類引擎
[0001] 背景
[0002] 流格式文檔和固定格式文檔被廣泛使用并且具有不同的用途。流格式文檔使用復 雜邏輯格式化結(jié)構(gòu)(如章節(jié)、段落、列以及表)來組織文檔。結(jié)果,流格式文檔提供了靈活 性且易于修改,從而使得它們適用于涉及被頻繁更新或受到顯著編輯的文檔的任務。相反, 固定格式文檔使用基本物理布局元素(如文本串、路徑、以及圖像)來組織文檔以保留原本 外觀。固定格式文檔提供一致且精確的格式布局,從而使得它們適用于涉及不被頻繁或大 量變更或其中需要統(tǒng)一性的文檔的任務。這樣的任務的示例包括文檔歸檔、高質(zhì)量再現(xiàn)、以 及用于商業(yè)發(fā)布和打印的源文件。固定格式文檔通常從流格式源文檔中創(chuàng)建。固定格式文 檔還包括物理(即,紙質(zhì))文檔的數(shù)字再現(xiàn)(例如,掃描和照片)。
[0003] 在其中需要編輯固定格式文檔但流格式源文檔不可用的情況下,固定格式文檔可 被轉(zhuǎn)換成流格式文檔。轉(zhuǎn)換涉及解析該固定格式文檔并將來自該固定格式文檔的基本物理 布局元素變換成流格式文檔中使用的更復雜邏輯元素。面對復雜元素(如矢量圖)的現(xiàn)有 文檔轉(zhuǎn)換器訴諸于被設計成以輸出文檔的可流動性為代價保留布局(例如,文本框、行間 距、以及字符間距)的視覺保真度的基本技術(shù)。結(jié)果是需要用戶執(zhí)行大量手動重構(gòu)來獲得 真正有用的流格式文檔的受限流格式文檔。本發(fā)明正是對于這些和其他考慮事項而做出 的。
【發(fā)明內(nèi)容】
[0004] 提供以下
【發(fā)明內(nèi)容】
以便以簡化形式介紹將在以下詳細描述中進一步描述的一些 概念。本
【發(fā)明內(nèi)容】
并不旨在標識所要求保護主題的關(guān)鍵特征或必要特征,也不旨在用于限 制所要求保護主題的范圍。
[0005] 由矢量圖分類引擎執(zhí)行的矢量圖分類方法的一個實施例定義用于對從固定格式 文檔中解析的數(shù)據(jù)中的矢量圖進行分類的流水線。在各實施例中,矢量圖分類操作依賴于 先前操作的輸出。
[0006] 從文本串陰影檢測開始,矢量圖分類引擎使用直接從固定格式文檔解析的路徑信 息來標識閉合路徑和具有填充的路徑。矢量圖分類引擎分析所標識出的閉合路徑和具有填 充的路徑并確定看起來形成矩形的那些路徑,并且定位該矩形內(nèi)包含的文本串(如果有的 話)。包含填充且限定了文本串的邊界的矩形被分類成文本串陰影。接著,矢量圖分類引擎 基于各單獨線的各體路徑的所選特性來將這些路徑聚集成復合線。聚集這些相關(guān)路徑允許 矢量圖分類引擎將它們作為單條線來分析。矢量圖分類引擎將路徑和定義與文本串在同一 方向上行進的各線的路徑集合視為下劃線和刪除線候選。矢量圖分類引擎分析從固定格式 文檔中提取的文本以查看該線是否滿足下劃線或刪除線的垂直和水平位置約束。在對與下 劃線或刪除線相對應的矢量圖元素進行了分類之后,矢量圖分類引擎分析其余矢量圖元素 作為潛在文本串邊界。包含文本串但不包含填充的矩形被認為是潛在文本串邊界。
[0007] 對于表檢測,矢量圖分類引擎基于矢量圖元素的鄰近度和連接性來將它們編組成 群集,并分析由各線形成的結(jié)構(gòu)集。為了形成矩形表,矢量圖分類引擎忽略交叉路徑,因為 其最可能表示圖。段落陰影檢測和段落邊界檢測依賴于表檢測的結(jié)果。表檢測是按以下方 式執(zhí)行的:檢測帶陰影的段落和帶邊界的段落作為單個單元表。矢量圖分類引擎基于表在 各列中的位置來確定是將單個單元表維持為一個表還是將它轉(zhuǎn)換成帶陰影的段落或帶邊 界的段落。
[0008] 在矢量圖分類方法的各實施例中,頁邊界檢測和頁陰影(S卩,色彩)檢測是使用與 用于文本串和/或段落陰影相同或相似的技術(shù)來完成的,但被應用于包含頁面的全部或基 本上全部區(qū)域的矢量圖。
[0009] 不能被矢量圖分類引擎以其他方式分類的任何矢量圖元素被認為是基本圖形元 素?;诟鱾€體路徑的連接性或鄰近度,基本圖形元素被聚集在一起以形成流格式文檔中 的圖片。在指示各個體矢量圖元素的路徑被連接或定位于少于由間隔距離閾值所表示的所 選距離時,矢量圖分類引擎將這些矢量圖元素置于各編組中。
[0010] 一個或多個實施例的細節(jié)在附圖和以下描述中闡明。通過閱讀下面的具體實施例 并參考相關(guān)聯(lián)的附圖,其他特征和優(yōu)點將變得顯而易見。要理解的是下面的具體實施例僅 僅是說明性的,而不是對所要求保護的發(fā)明的限制。
[0011] 附圖簡述
[0012] 通過參考下面的【具體實施方式】、所附的權(quán)利要求書和附圖,進一步的特征、各方面 和益處將變得更好理解,其中各元素不會縮放以更清晰地示出細節(jié),在若干視圖中,相同的 附圖標記指示相同的元素,并且其中:
[0013] 圖1是示出包括矢量圖分類引擎的系統(tǒng)的一個實施例的框圖;
[0014] 圖2是示出文檔處理器的一個實施例的操作流程的框圖;
[0015] 圖3A-3E示出能夠被所述矢量圖分類引擎進行分類的各矢量圖元素;
[0016] 圖4是矢量圖分類引擎所執(zhí)行的矢量圖分類方法的一個實施例的流程圖;
[0017]圖5示出執(zhí)行矢量圖分類引擎的一個實施例的平板計算設備的一個實施例; [0018]圖6是可用其實踐本發(fā)明的各實施例的計算設備的一個實施例的簡化框圖; [0019]圖7A示出執(zhí)行矢量圖分類引擎的一個實施例的移動計算設備的一個實施例;
[0020] 圖7B是可用其實踐本發(fā)明的各實施例的移動計算設備的一個實施例的簡化框 圖;以及
[0021] 圖8是可在其中實施本發(fā)明的各實施例的分布式計算系統(tǒng)的簡化框圖。
[0022] 詳細描述
[0023] 在本文中描述并在附圖中示出了矢量圖分類引擎及相關(guān)聯(lián)的用于對固定格式文 檔中的矢量圖進行分類的方法。矢量圖分類引擎定義用于對從固定格式文檔中解析作為字 體、文本、段落、表、以及頁面效果(如陰影、邊界、下劃線、以及刪除線)等的矢量圖進行分 類的流水線。沒有被以其他方式分類的矢量圖被指定為基本圖。通過按所選次序?qū)Ψ诸惒?作進行排序,降低或消除了誤分類。
[0024] 圖1是合并了矢量圖分類引擎100的系統(tǒng)。在所示實施例中,矢量圖分類引擎100 作為在計算設備104上執(zhí)行的文檔轉(zhuǎn)換器102的一部分來操作。文檔轉(zhuǎn)換器102使用解析 器110、文檔處理器112以及串行化器114將固定格式文檔106轉(zhuǎn)換成流格式文檔108。解 析器110從固定格式文檔106中提取數(shù)據(jù)。從固定格式文檔提取的數(shù)據(jù)被寫入文檔處理器 112和串行化器114能訪問的數(shù)據(jù)存儲116。文檔處理器112使用一個或多個檢測和/或 重構(gòu)引擎(例如,本發(fā)明的矢量圖分類引擎100)分析該數(shù)據(jù)并將其轉(zhuǎn)換成可流動元素。最 后,串行化器114將可流動元素寫成可流動文檔格式(例如,文字處理格式)。
[0025] 圖2更詳細地示出了文檔處理器112的操作流程的一個實施例。文檔處理器112 包括可任選的光學字符識別(OCR)引擎202、布局分析引擎204以及語義分析引擎206。數(shù) 據(jù)存儲116中包含的數(shù)據(jù)包括物理布局對象208和邏輯布局對象210。在一些實施例中, 物理布局對象208和邏輯布局對象210被分層安排在編組的類樹陣列中(即,數(shù)據(jù)對象)。 在各實施例中,頁面是物理布局對象208的頂級編組,而章節(jié)是邏輯布局對象210的頂級編 組。從固定格式文檔106中提取的數(shù)據(jù)一般被存儲為由固定格式文檔106中的包含頁面來 組織的物理布局對象208。從固定格式文檔獲得的基本物理布局對象包括文本串、圖像以及 路徑。文本串是頁面內(nèi)容流中的指定在顯示固定格式文檔時字符的繪制位置的文本元素。 圖像是儲存在固定格式文檔106中的光柵圖像(S卩,圖片)。路徑描述了諸如用于構(gòu)建矢量 圖的線、曲線(例如,三次貝塞爾曲線)以及文本輪廓等元素。
[0026] 處理開始的位置依賴于被解析的固定格式文檔106的類型。從流格式源文檔直接 創(chuàng)建的原本固定格式文檔l〇6a包含基本物理布局兀素中的一些或全部。一般而言,從原本 固定格式文檔l〇6a提取的數(shù)據(jù)可供文檔轉(zhuǎn)換器立即使用;但在一些情況下,次要重新格式 化或其他次要處理器被應用以組織或標準化該數(shù)據(jù)。相反,通過對物理文檔進行數(shù)字成像 (例如,掃描或拍照)而創(chuàng)建的基于圖像的固定格式文檔l〇6b中的信息被存儲作為不具有 附加數(shù)據(jù)(即,沒有文本串或路徑)的一系列頁面圖像。在這種情況下,任選光學字符識別 引擎202分析每一頁面圖像并創(chuàng)建對應的物理布局對象。一旦物理布局對象208可用,布 局分析引擎204就確定固定格式文檔的布局并用新信息來豐富數(shù)據(jù)存儲(例如,添加、移除 以及更新物理布局對象)。在布局分析完成之后,語義分析引擎206用從對物理布局對象和 /或邏輯布局對象的分析中獲得的語義信息來豐富數(shù)據(jù)存儲。
[0027] 圖3A-3E示出了固定格式文檔106中出現(xiàn)的能夠被所述矢量圖分類引擎分類的各 類矢量圖的示例。圖3A-3D示出了與固定格式文檔106中的文本串相關(guān)聯(lián)并對這些文本串 進行修改的各種矢量圖。圖3A示出了表現(xiàn)為固定格式文檔中的矢量圖的字體和文本串效 果的示例。所示出的文本包括以下文本串以及字體效果:陰影300a、下劃線304a、雙下劃線 304b、刪除線302a、雙刪除線302b以及邊界306a。圖3B示出了具有邊界的表的示例,該邊 界表現(xiàn)為固定格式文檔106中的矢量圖。圖3C示出了段落陰影300b的示例,該段落陰影 表現(xiàn)為固定格式文檔中的矢量圖。圖3D示出了段落邊界306b的示例,該段落邊界表現(xiàn)為 固定格式文檔中的矢量圖。圖3E示出了表現(xiàn)為固定格式文檔中的矢量圖的基本圖316的 示例(即,不與文本串相關(guān)聯(lián)的圖像)。
[0028] 矢量圖元素是通過路徑來描述的。每一路徑可包括一個或多個子路徑。換言之, 固定格式文檔中每一矢量圖元素是根據(jù)路徑所描述的一個或多個線段來形成的。終止于它 的起始點的矢量圖元素具有閉合路徑。閉合路徑能夠被填充。在各實施例中,允許一些容 限,以使得終止于基本上靠近它的起始點的矢量圖元素也將被認為是閉合路徑。在一些實 施例中,路徑不必是閉合的也能包含填充。
[0029] 圖4是示出矢量圖分類引擎100所執(zhí)行的矢量圖分類方法400的一個實施例的流 程圖。由矢量圖分類引擎執(zhí)行的矢量圖分類方法400基于路徑所限定的形狀的物理位置與 對應文本串的物理位置之間的關(guān)系對從固定格式文檔解析出的數(shù)據(jù)中的矢量圖進行分類。 在各實施例中,矢量圖分類方法400中各操作的次序影響矢量圖分類引擎100所產(chǎn)生的輸 出的準確度和質(zhì)量。此外,在各實施例中,矢量圖分類操作依賴于先前操作的輸出。所示出 的矢量圖分類方法400的實施例從文本串陰影檢測402開始。接著,矢量圖分類引擎100將 路徑聚集404成路徑集合。分析406線段集合來作為潛在文本效果,包括作為下劃線304a 和/或刪除線302a。在下劃線和刪除線分析之后,矢量圖分類引擎100尋找408文本串邊 界306a。在尋找文本串邊界之后,表邊界檢測過程410尋找可能與表邊界相對應的矢量圖。 表檢測過程的輸出被用于段落陰影檢測和段落邊界檢測412。在一些實施例中,矢量圖分類 方法400以頁面陰影檢測和段落邊界檢測414結(jié)束。一旦所有語義信息已與矢量圖進行了 關(guān)聯(lián),尚未被先前步驟分類的任何矢量圖就被分類為基本圖并被聚集416。矢量圖分類方法 400嘗試從基本圖形成圖片?;緢D并不攜帶任何語義信息并且不與任何文本相關(guān)聯(lián)。換 言之,基本圖表示文檔中的圖片。
[0030] 在陰影(以及突出顯示)的分類402期間,矢量圖分類引擎100尋找包含填充的閉 合形狀。一般而言,形狀如果閉合則將只包含填充。在一個實施例中,矢量圖分類引擎100 尋找矩形,它們通常被用于將對象進行邊界限定。在另一實施例中,矢量圖分類引擎100尋 找矩形以外的其他形狀。在各實施例中,文本串陰影檢測過程包括附加準則。在一些實施例 中,矩形(即,陰影)高度必須小于所選閾值高度。例如,一些實施例不將其中矩形高度大 于文本串高度的兩倍、文本串寬度的兩倍、或平均字符寬度的兩倍的矢量圖分類成文本串 陰影,因為相對于文本串高度的大矩形尺寸增加了該矢量圖表示段落陰影或表元素的可能 性。在這種情況下,在矢量圖分類方法400的稍后階段期間,該矢量圖元素將被再次考慮。 對文本串陰影檢測過程的這樣的示例性約束不應當被認為是窮盡性的。在所示實施例中, 陰影分類發(fā)生在路徑聚集步驟之前,并且沒有形成具有填充的閉合形狀的(諸)路徑被留 給基本圖聚集步驟。在另一實施例中,陰影分類步驟緊繼路徑聚集步驟之后發(fā)生。陰影周 圍的一些邊界被構(gòu)造為不具有填充的單個閉合形狀,而其他則使用具有極小高度/寬度的 矩形形成每一條邊來構(gòu)造。因此,在一些實施例中,路徑聚集被用來標識由四個矩形形成的 邊界。在各實施例中,矢量圖分類引擎依賴于空白檢測以丟棄文本串陰影的候選。在空白 檢測期間,頁面上只包含空白(即,不包含文本串、圖像和/或路徑)的各區(qū)域的邊界框被 標識為空白。形成具有填充(潛在突出顯示/陰影)的框的所有路徑和路徑集合被檢查它 們是否與至少一個空白完全相交。與空白相交的所有路徑被從作為陰影的進一步考慮中排 除。
[0031] 接著,矢量圖分類引擎100聚集404各個體路徑。聚集這些相關(guān)路徑允許矢量圖 分類引擎100將它們作為單條線來分析。多個路徑所定義的線的示例包括但不限于虛線、 點線、以及中斷線。路徑按以下方式被聚集。首先,頁面上的平均文本串高度被確定并且相 應地設置聚集的最大寬度(即,最大線寬度)。隨后使用移動窗口來迭代地聚集具有適合該 窗口的邊界框的所有路徑。對于每一迭代,窗口的寬度以所選增量從初始線寬度向最大線 寬度增加。通過分別使用水平和垂直移動窗口,分別達到水平和垂直集合兩者。矢量圖分 類引擎100分析所得到的集合,將這些集合拆分,其中兩個路徑分隔開超過最大間隔距離 閾值的距離。例如,在一個實施例中,包含針對頁面上同一行的幾個單詞的單獨下劃線的集 合將被拆分。
[0032] 與陰影檢測一樣,矢量圖分類引擎100的一些實施例使用在空白檢測期間標識的 空白來丟棄下劃線和刪除線候選。在下劃線和刪除線分類406期間,與至少一個空白完全 相交的所有路徑和路徑集合被從作為潛在下劃線或刪除線的進一步考慮中排除。類似地, 與垂直路徑集合相交的任何水平集合也作為潛在下劃線或刪除線被丟棄,因為這樣的水平 集合有較高的概率是文本或表邊界。保持為下劃線或刪除線候選的所有路徑集合以及對 應的文本串(即,在頁面上其物理位置靠近該路徑集合的物理位置的文本串)被提取成兩 個單獨的陣列并按位置從頂至底且從左至右來排序。對于每一路徑集合,矢量圖分類引擎 100定位其邊界框與該路徑集合的邊界框相交的第一文本串。如果在該文本串的開頭處存 在該路徑集合不包含的字符(即,邊界框不相交),則該文本串被分成兩個文本串并且該文 本串的與該邊界框相交的那一部分被保留。對于不同類型的線(包括但不限于下劃線和刪 除線),這一分析被迭代地執(zhí)行。已被不同地分類的矢量圖(即,陰影)被跳過,而已被分 類為同一分類中的元素的矢量圖(即,另一下劃線)被更新。例如,如果所聚集的路徑被確 定為是具有先前檢測到的單條下劃線的文本串的下劃線,則該分類從下劃線改變成雙下劃 線。
[0033] 矢量圖分類引擎100分析從固定格式文檔中提取的文本串以查看該線是否滿足 下劃線304或刪除線302的垂直和水平位置約束。作為示例,被用作刪除線的線應當在相對 于文本高度的所選范圍內(nèi)的高度處與相關(guān)聯(lián)的文本串相交,并且不應延伸出該文本串之外 超過所選閾值長度。在一個實施例中,矢量圖分類引擎100尋找與刪除線相對應的位于文 本高度的頂部五分之一與底部五分之一之間、且在該文本串的任一側(cè)沒有延伸太遠的線。 類似地,可能與下劃線相對應的線的垂直位置被約束成在文本串的垂直位置下方。分類成 下劃線或刪除線的線段從物理布局對象208移除,因為相關(guān)聯(lián)文本串的語義信息將標識該 文本作為加刪除線或下劃線的文本。在其中相關(guān)聯(lián)的文本串的語義信息沒有指示該文本 作為加刪除線或下劃線的文本的情況下,矢量圖分類引擎100的各實施例也更新該語義信 息。
[0034] 在對與下劃線或刪除線相對應的矢量圖元素進行了分類之后,矢量圖分類引擎 100分析408其余矢量圖元素作為潛在文本串邊界。取決于原本固定格式文檔的生產(chǎn)者,文 本串邊界可以按多種不同的方式來表示。在一些原本固定格式文檔中,文本串邊界可由具 有限定矩形的四個段的單個閉合路徑來表示。在其他原本固定格式文檔中,文本串邊界可 由具有共同限定一矩形的四個單獨路徑來表示。矢量圖分類引擎100分析可用路徑以標識 限定矩形(或感興趣的其他所選形狀)的任何組合。在各實施例中,在線聚集過程期間,矢 量圖分類引擎1〇〇嘗試構(gòu)建矩形,并且在線聚集過程期間構(gòu)建的任何矩形被用在文本串邊 界檢測中。包含文本串但不包含填充的矩形被分類為潛在文本串邊界306a。與陰影檢測一 樣,矢量圖分類引擎100的一些實施例使用在空白檢測期間標識的空白來丟棄文本串邊界 候選。在一些實施例中,對于矩形相對于先前相關(guān)于文本串陰影檢測所描述的文本串高度 的大小而言,文本串邊界檢測服從相同或相似約束。
[0035] 對于表檢測410,矢量圖分類引擎100基于矢量圖元素的鄰近度和連接性來將它 們編組成群集并分析由各線形成的結(jié)構(gòu)集。矢量圖分類引擎標識該文檔內(nèi)的表并提供附加 區(qū)域信息以供矢量圖分類引擎使用矢量圖標識表邊界。最終表將在表重構(gòu)期間被重構(gòu)。對 于帶邊界的表和具有部分邊界的表的檢測在區(qū)域和段落檢測之前執(zhí)行。
[0036] 矢量圖分類引擎100通過基于頁面上的矢量圖的連接性將矢量圖編組成各群集 來開始表檢測。過小或不具有矩形周界的群集被丟棄。接著,按需提取并歸并群集中的矢 量圖的垂直和水平段。矢量圖分類引擎100嘗試根據(jù)垂直和水平段創(chuàng)建列/行分隔符,并 且還收集非分隔符元素(非直的,即非垂直也非水平)。在各實施例中,應用附加準則,包括 但不限于檢查特定模式的列/行分隔符的分布、檢查非分隔符元素沒有與分隔符相交、驗 證行高度不小于表中最小文本串的高度、并且檢查大多數(shù)單元格不是空的。最后,矢量圖分 類引擎100根據(jù)列/行分隔符來創(chuàng)建各個體單元格并合并各單元格(如果原始表包含經(jīng)合 并的單元格的話)。在表及其單元格被檢測之后,將在數(shù)據(jù)存儲中創(chuàng)建表和單元格聚集節(jié) 點。并且區(qū)域和段落檢測將在那些節(jié)點上運行。
[0037] 在檢測帶邊界的表之后,矢量圖分類引擎100檢測具有部分邊界的表。提取水平 和垂直圖線(包括已填充矩形的邊界)并按長度來編組。在一些實施例中,排除具有少于三 條線的編組。文本串被置于線之間的間隙中。在該間隙內(nèi),通過連接性來編組文本串???整個表寬度只具有一個大文本群集的行被從表中排除。這將編組分解成更小編組。再次, 具有少于兩條線的任何編組被丟棄。最后,矢量圖分類引擎1〇〇使用用于計入某種對齊偏 差的閾值來驗證各行之間的大多數(shù)文本與其他行中的文本對齊。
[0038] 段落陰影檢測和段落邊界檢測412依賴于表檢測的結(jié)果。表檢測是按以下方式執(zhí) 行的:檢測帶陰影的段落和帶邊界的段落作為單個單元表。因此,所有單個單元表被作為可 能表示段落邊界和/或段落陰影的矢量圖調(diào)查。矢量圖分類引擎100基于表在列中的位置 來確定是將單個單元表維持為一個表還是將它轉(zhuǎn)換成帶陰影的段落300b或帶邊界的段落 306b。如果表具有與該列中的某一文本的垂直重疊,則它被分類為流外對象并將被保留為 表。如果表不具有與任何列內(nèi)容的垂直重疊,則它可被重構(gòu)為具有邊界/陰影的段落。如 此,矢量圖分類引擎100維護該表,或在一些實施例中,將該表重構(gòu)為文本框。相反,列內(nèi)的 周圍沒有文本的單個單元表被重構(gòu)成帶陰影的段落(在該單個單元表包含填充時)或帶邊 界的段落(在該單個單元表不包含填充時)。如果表被分類成段落邊界/陰影,則與它的邊 界/單元格陰影有關(guān)的信息(邊界框和色彩信息)被提取并且存儲在單獨的矢量中以供稍 后使用。來自表的所有內(nèi)容被提取并返回給適當?shù)奈锢聿季止?jié)點(例如,頁節(jié)點)并且將 經(jīng)受進一步分析(例如,線檢測和段落檢測)。當在流水線中稍后檢測段落之后,邊界/陰 影數(shù)據(jù)與段落進行匹配并且邊界/陰影屬性相應地被分配。
[0039] 在矢量圖分類方法400的各實施例中,頁邊界檢測和頁陰影(即,色彩)檢測414 是使用與用于文本串和/或段落陰影相同或相似的技術(shù)來完成的,但被應用于包含頁面的 全部或基本上全部的矢量圖。頁面色彩是應用于整個頁面而非幾個單詞或段落的陰影。用 于將矢量圖分類為頁面陰影的方法在很大程度上類似于用于將矢量圖分類為文本串陰影 的方法。頁面色彩是使用覆蓋該頁面的單個已填充路徑來構(gòu)造的,并且被假定為具有頁面 上所有元素的最低渲染次序。因為不同的生產(chǎn)者可選擇覆蓋頁面的不同區(qū)域(即,小于 100% ),所以矢量圖分類引擎100使用與頁面區(qū)域覆蓋相對應的閾值來分析矢量圖。如果 矢量圖分類引擎100標識了具有超過該閾值的頁面覆蓋區(qū)域的單個已填充路徑,則該路徑 從物理布局對象中移除并且頁面色彩屬性可被儲存在數(shù)據(jù)存儲中。類似地,頁面邊界是應 用于整個頁面而非幾個單詞或段落的邊界。再一次,用于將矢量圖分類為頁面邊界的方法 在很大程度上類似于用于將矢量圖分類為文本串邊界的方法。因為頁面邊界被構(gòu)造為占據(jù) 頁面相當大區(qū)域以及大部分頁面內(nèi)容的矩形,所以矢量圖分類引擎100使用閾值作為分類 準則的一部分。
[0040] 在矢量圖分類引擎100完成所有其他分類步驟之后,尚未被以其他方式分類的任 何其余路徑被分類416為基本圖并且基于這些個體路徑的連接性或鄰近度被聚集成若干 群集。在指示各個體矢量圖元素的路徑被連接或定位于少于由鄰近度閾值所表示的所選距 離時,矢量圖分類引擎100將這些矢量圖元素置于各編組中。在各實施例中,鄰近度閾值取 決于諸如頁面上矢量圖元素所覆蓋的區(qū)域等因素而變化。在另一實施例中,鄰近度閾值與 路徑的邊界框的大小相反地變化。兩個路徑之間的距離被確定為連接它們相應邊界框的最 短直線的長度。如果兩個路徑具有交點,則它們之間的距離是零。在以此方式對路徑進行了 群集之后,固定格式文檔的包含在該群集的邊界框內(nèi)的所有其余元素(即,文本串和圖像) 也被添加到該群集。每一編組隨后將被串行化為包含其所有繪制對象的單獨畫布。
[0041] 本文描述的矢量圖分類引擎100及相關(guān)聯(lián)的矢量圖分類方法400對于標識和分類 固定格式文檔中出現(xiàn)的不同矢量圖以及將由矢量圖分類引擎分類的任何矢量圖變換成流 格式元素而言是有用的。盡管已在結(jié)合在計算機上的操作系統(tǒng)上運行的應用程序執(zhí)行的程 序模塊的一般上下文中描述本發(fā)明,但本領域的技術(shù)人員將認識到,本發(fā)明也可結(jié)合其他 程序模塊實現(xiàn)。一般而言,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程 序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。
[0042] 本文描述的實施例和功能可通過多種計算系統(tǒng)來操作,包括但不限于臺式計算機 系統(tǒng)、有線和無線計算系統(tǒng)、移動計算系統(tǒng)(如移動電話、上網(wǎng)本、圖形輸入板或平板型計 算機、筆記本計算機、和膝上型計算機)、手持設備、多處理器系統(tǒng)、基于微處理器或可編程 消費電子產(chǎn)品、小型計算機、以及大型計算機。圖5示出了執(zhí)行矢量圖分類引擎100的實施 例的示例性平板計算設備500。此外,本文所述的實施例和功能可在分布式系統(tǒng)上操作(如 基于云的計算系統(tǒng)),其中應用功能、存儲器、數(shù)據(jù)存儲和檢索、以及各種處理功能可在諸如 因特網(wǎng)或內(nèi)聯(lián)網(wǎng)之類的分布式計算網(wǎng)絡上彼此遠程地操作。各種類型的用戶界面和信息可 經(jīng)板載計算設備顯示器或經(jīng)與一個或多個計算設備相關(guān)聯(lián)的遠程顯示單元被顯示。例如, 各種類型的用戶界面和信息可在墻壁表面上被顯示和交互,各種類型的用戶界面和信息被 投射在墻壁表面上。與可用于實施本發(fā)明的各實施例的許多計算系統(tǒng)的交互包括:鍵擊輸 入、觸摸屏輸入、語音或其他音頻輸入、姿勢輸入(其中相關(guān)聯(lián)的計算設備配備有用于捕捉 和解釋用于控制計算設備的功能的用戶姿勢的檢測(如相機)功能)等。圖6到8以及相 關(guān)描述提供了其中可實施本發(fā)明的各實施例的各種操作環(huán)境的討論。然而,關(guān)于圖6到8 所示出和討論的設備和系統(tǒng)是用于示例的目的,而非對可被用于實施本文所述的本發(fā)明的 各實施例的大量計算設備配置的限制。
[0043] 圖6是示出可用來實施本發(fā)明的各實施例的計算設備600的示例物理組件(即硬 件)的框圖。下面描述的計算設備組件可適用于上述的計算設備。在基本配置中,計算設 備600可包括至少一個處理單元602和系統(tǒng)存儲器604。取決于計算設備的配置和類型, 系統(tǒng)存儲器604可包括,但不限于,易失性存儲器(例如,隨機存取存儲器)、非易失性存儲 器(例如,只讀存儲器)、閃存、或這些存儲器的任何組合。系統(tǒng)存儲器604可包括操作系統(tǒng) 605和適于運行諸如矢量圖分類引擎100、解析器110、文檔處理器112以及串行化器114等 軟件應用620的一個或多個程序模塊606。操作系統(tǒng)605例如可適合于控制計算設備600 的操作。此外,本發(fā)明的各實施例可以結(jié)合圖形庫、其他操作系統(tǒng)、或任何其他應用程序來 實踐,且不限于任何特定應用程序或系統(tǒng)。該基本配置在圖6中由虛線608內(nèi)的那些組件 示出。計算設備600可具有附加特征或功能。例如,計算設備600還可包括附加數(shù)據(jù)存儲 設備(可移動和/或不可移動),諸如,例如磁盤、光盤或磁帶。這些附加存儲在圖6中由可 移動存儲設備609和不可移動存儲設備610示出。
[0044] 如上所述,可在系統(tǒng)存儲器604中存儲多個程序模塊和數(shù)據(jù)文件。當在處理單元 602上執(zhí)行時,諸如矢量圖分類引擎100、解析器110、文檔處理器112以及串行化器114等 程序模塊606可以執(zhí)行包括例如矢量圖分類方法400的各階段中的一個或多個階段等過 程。上述過程是一示例,且處理單元602可執(zhí)行其他過程。根據(jù)本發(fā)明的實施例可使用的 其他程序模塊可包括電子郵件和聯(lián)系人應用、字處理應用、電子表格應用、數(shù)據(jù)庫應用、幻 燈片演示應用、繪圖或計算機輔助應用等。
[0045] 此外,本發(fā)明的各實施例可在包括分立電子元件的電路、包含邏輯門的封裝或集 成電子芯片、利用微處理器的電路、或在包含電子元件或微處理器的單個芯片上實現(xiàn)。例 如,可以通過片上系統(tǒng)(S0C)來實施本發(fā)明的各實施例,其中,可以將圖6中示出的每個或 許多組件集成到單個集成電路上。這樣的S0C設備可包括一個或多個處理單元、圖形單元、 通信單元、系統(tǒng)虛擬化單元以及各種應用功能,所有這些都被集成到(或"燒錄到")芯片基 板上作為單個集成電路。當通過S0C操作時,在此所述的關(guān)于矢量圖分類引擎100、解析器 110、文檔處理器112以及串行化器114的功能可以通過在單個集成電路(芯片)上與計算 設備600的其它組件集成在一起的專用邏輯來操作。本發(fā)明的各實施例還可以使用能夠執(zhí) 行諸如,例如,AND (與)、0R (或)和NOT (非)等邏輯運算的其他技術(shù)來實踐,包括但不限 于,機械、光學、流體和量子技術(shù)。另外,本發(fā)明的各實施例可以在通用計算機或任何其他電 路或系統(tǒng)中實現(xiàn)。
[0046] 計算設備600也可具有一個或多個輸入設備612,如鍵盤、鼠標、筆、語音輸入設 備、觸摸輸入設備等等。也可包括輸出設備614,如顯示器、揚聲器、打印機等等。上述設備 是示例且可以使用其他設備。計算設備600可包括允許與其他計算設備618進行通信的一 個或多個通信連接616。合適的通信連接616的示例包括但不限于RF發(fā)射機、接收機和/ 或收發(fā)機電路;通用串行總線(USB)、并行或串行端口、以及適用于與適用的計算機可讀介 質(zhì)一起使用的其他連接。
[0047] 例如,本發(fā)明的各實施方式可被實現(xiàn)為計算機進程(方法)、計算系統(tǒng)或諸如計算 機程序產(chǎn)品或計算機可讀介質(zhì)等制品。計算機程序產(chǎn)品可以是計算機系統(tǒng)可讀并編碼了用 于執(zhí)行計算機進程的指令的計算機程序的計算機存儲介質(zhì)。
[0048] 如此處所使用的術(shù)語計算機可讀介質(zhì)可包括計算機存儲介質(zhì)和通信介質(zhì)。計算機 存儲介質(zhì)可包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)等信息 的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。系統(tǒng)存儲器604、可 移動存儲設備609和不可移動存儲設備610都是計算機存儲介質(zhì)(即,存儲器存儲)的示 例。計算機存儲介質(zhì)可以包括,但不限于,RAM、R0M、電可擦除只讀存儲器(EEPR0M)、閃存或 其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光存儲、磁帶盒、磁帶、磁盤存儲或其 它磁性存儲設備、或可用于存儲信息且可以由計算機設備600訪問的任何其它介質(zhì)。任何 這樣的計算機存儲介質(zhì)都可以是計算設備600的一部分。
[0049] 通信介質(zhì)由諸如載波或其他傳輸機制等已調(diào)制數(shù)據(jù)信號中的計算機可讀指令、數(shù) 據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)來體現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語"已調(diào)制數(shù)據(jù)信號"可 以描述以對該信號中的信息進行編碼的方式設定或者改變其一個或多個特征的信號。作為 示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡或直接線連接等有線介質(zhì),以及諸如聲學、射頻 (RF)、紅外線和其他無線介質(zhì)等無線介質(zhì)。
[0050] 圖7A和7B示出可用來實施本發(fā)明的各實施例的移動計算環(huán)境700,例如移動電 話、智能電話、平板個人計算機、膝上型計算機等。參考圖7A,示出了用于實現(xiàn)各實施例的示 例性移動計算設備700。在一基本配置中,移動計算設備700是具有輸入元件和輸出元件兩 者的手持式計算機。移動計算設備700通常包括顯示器705以及允許用戶將信息輸入到移 動計算設備700中的一個或多個輸入按鈕710。移動計算設備705的顯示器700也可充當 輸入設備(如觸摸屏顯示器)。如果包括,則可任選的側(cè)輸入元件715允許進一步的用戶 輸入。側(cè)輸入元件715可以是旋轉(zhuǎn)開關(guān)、按鈕、或任何其他類型的手動輸入元件。在替代實 施例中,移動計算設備700可結(jié)合更多或更少的輸入元件。例如,在某些實施例中,顯示器 705可以不是觸摸屏。在又一替代實施例中,移動計算設備700是諸如蜂窩電話之類的便攜 式電話系統(tǒng)。移動計算設備700還可包括可選的鍵區(qū)735。可選的小鍵盤735可以是物理 小鍵盤或者在觸摸屏顯示器上生成的"軟"小鍵盤。在各種實施例中,輸出元件包括用于示 出圖形用戶界面(GUI)的顯示器705、可視指示器720 (如發(fā)光二極管)、和/或音頻換能器 725(如揚聲器)。在某些實施例中,移動計算設備700結(jié)合振動換能器來向用戶提供觸覺 反饋。在又一實施例中,移動計算設備700結(jié)合諸如音頻輸入(如傳聲器插孔)、音頻輸出 (如耳機插孔)、以及視頻輸出(如HDMI端口)之類的輸入和/或輸出端口,用于將信號發(fā) 送到外部設備或從外部設備接收信號。
[0051] 圖7B是示出移動計算設備的一個實施例的架構(gòu)的框圖。即,移動計算設備700可 結(jié)合系統(tǒng)(即架構(gòu))702以實現(xiàn)某些實施例。在一個實施例中,系統(tǒng)702被實現(xiàn)為能夠運行 一個或多個應用(如瀏覽器、電子郵件、日歷、聯(lián)系人管理器、消息收發(fā)客戶機、游戲、以及 媒體客戶機/播放器)的"智能電話"。在某些實施例中,系統(tǒng)702被集成為計算設備,諸如 集成的個人數(shù)字助理(PDA)和無線電話。
[0052] -個或多個應用程序766可被加載到存儲器762中并在操作系統(tǒng)764上或與操作 系統(tǒng)764相關(guān)聯(lián)地運行。應用程序的示例包括電話撥號程序、電子郵件程序、個人信息管 理(PM)程序、文字處理程序、電子表格程序、因特網(wǎng)瀏覽器程序、消息通信程序等等。系統(tǒng) 702還包括存儲器762內(nèi)的非易失性存儲區(qū)768。非易失性存儲區(qū)768可被用于存儲在系統(tǒng) 702斷電時不會丟失的持久信息。應用程序766可使用信息并將信息存儲在非易失性存儲 區(qū)768中,如電子郵件應用使用的電子郵件或其他消息等。同步應用(未示出)也駐留于 系統(tǒng)702上且被編程為與駐留在主機計算機上的對應的同步應用交互,以保持非易失性存 儲區(qū)768中存儲的信息與主機計算機處存儲的相應信息同步。如應理解的,其他應用可被 加載到存儲器762中并在移動計算設備700上運行,包括此處所述的矢量圖分類引擎100、 解析器110、文檔處理器112以及串行化器114。
[0053] 系統(tǒng)702具有可被實現(xiàn)為一個或多個電池的電源770。電源770還可包括外部功 率源,如補充電池或?qū)﹄姵爻潆姷腁C適配器或加電對接托架。
[0054] 系統(tǒng)702還可包括執(zhí)行發(fā)射和接收無線電頻率通信的功能的無線電772。無線電 772通過通信運營商或服務供應商方便了系統(tǒng)702與"外部世界"之間的無線連接。來往無 線電772的傳輸是在操作系統(tǒng)764的控制下進行的。換言之,無線電772接收的通信可通 過操作系統(tǒng)764傳播到應用程序766,反之亦然。
[0055] 無線電772允許系統(tǒng)702例如通過網(wǎng)絡與其他計算設備通信。無線電772是通信 介質(zhì)的一個示例。通信介質(zhì)通常由諸如載波或其他傳輸機制之類的已調(diào)制數(shù)據(jù)信號中的計 算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)來體現(xiàn),并且包括任何信息傳送介質(zhì)。術(shù)語 "已調(diào)制數(shù)據(jù)信號"是指使得以在信號中編碼信息的方式來設定或改變其一個或多個特征 的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡或直接線連接之類的有線介質(zhì),以 及諸如聲學、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。如此處所使用的術(shù)語計算機可讀介 質(zhì)包括存儲介質(zhì)和通信介質(zhì)兩者。
[0056] 系統(tǒng)702的該實施例使用可用于提供可視通知的可視指示器720和/或通過音頻 換能器725來產(chǎn)生音頻通知的音頻接口 774來提供通知。在所示實施例中,可視指示器720 是發(fā)光二極管(LED),而音頻換能器725是揚聲器。這些設備可直接耦合到電源770,使得 當被激活時,即使為了節(jié)省電池功率而可能關(guān)閉處理器760和其他組件,它們也保留一段 由通知機制指示的保持通電時間。LED可被編程為無限地保持通電,直到用戶采取動作指 示該設備的通電狀態(tài)。音頻接口 774用于向用戶提供聽覺信號并從用戶接收聽覺信號。例 如,除了被耦合到音頻換能器725之外,音頻接口 774還可被耦合到話筒來接收可聽輸入, 例如便于電話通話。根據(jù)各本發(fā)明的各實施例,話筒也可充當音頻傳感器來便于對通知的 控制,如下文將描述的。系統(tǒng)702可進一步包括允許板載相機730的操作來記錄靜止圖像、 視頻流等的視頻接口 776。
[0057] 實現(xiàn)系統(tǒng)700的移動計算設備702可具有附加特征或功能。例如,移動計算設備 700還可包括附加數(shù)據(jù)存儲設備(可移動和/或不可移動),例如磁盤、光盤或磁帶。這種 附加存儲設備在圖7B中用非易失性存儲區(qū)768示出。計算機存儲介質(zhì)可包括以用于存儲 諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)等信息的任何方法或技術(shù)實現(xiàn)的易 失性和非易失性、可移動和不可移動介質(zhì)。
[0058] 移動計算設備700生成或捕捉的且經(jīng)系統(tǒng)702存儲的數(shù)據(jù)/信息可如上所述本地 存儲在移動計算設備700上,或數(shù)據(jù)可被存儲在可由設備通過無線電772或通過移動計算 設備700和與移動計算設備700相關(guān)聯(lián)的一分開的計算設備之間的有線連接訪問的任何數(shù) 量的存儲介質(zhì)上,該計算設備舉例而言是諸如因特網(wǎng)之類的分布式計算網(wǎng)絡中的服務器計 算機。如應理解的,此類數(shù)據(jù)/信息可經(jīng)移動計算設備700、經(jīng)無線電772或經(jīng)分布式計算 網(wǎng)絡來被訪問。類似地,這些數(shù)據(jù)/信息可根據(jù)已知的數(shù)據(jù)/信息傳送和存儲手段來容易 地在計算設備之間傳送以供存儲和使用,這些手段包括電子郵件和協(xié)作數(shù)據(jù)/信息共享系 統(tǒng)。
[0059] 圖8示出了用于向一個或多個客戶機設備提供矢量圖分類引擎100、解析器110、 文檔處理器112以及串行化器114的系統(tǒng)的體系結(jié)構(gòu)的一個實施例。矢量圖分類引擎100、 解析器110、文檔處理器112以及串行化器114所開發(fā)的、與其交互的或與其相關(guān)聯(lián)地編 輯的內(nèi)容可被存儲在不同的通信信道或其他存儲類型中。例如,各種文檔可使用目錄服務 822、web門戶824、郵箱服務826、即時消息存儲828或社交網(wǎng)站830來存儲。如本文所描 述的,矢量圖分類引擎100、解析器110、文檔處理器112以及串行化器114可以使用這些類 型的系統(tǒng)中的任一個或類似物來啟用數(shù)據(jù)利用。服務器820可以向客戶機提供矢量圖分類 引擎1〇〇、解析器110、文檔處理器112以及串行化器114。作為一個示例,服務器820可以 是通過web提供矢量圖分類引擎100、解析器110、文檔處理器112以及串行化器114的web 服務器。服務器820可以通過網(wǎng)絡815在web上向客戶機提供矢量圖分類引擎100、解析器 110、文檔處理器112以及串行化器114。作為示例,客戶機計算設備818可被實現(xiàn)為計算設 備600并被具體化在個人計算機818a、平板計算設備818b和/或移動計算設備818c (如 智能電話)中??蛻魴C計算設備818的這些實施例中的任一個可從存儲816獲得內(nèi)容。在 各種實施例中,用于在構(gòu)成本發(fā)明的計算設備之間進行通信的網(wǎng)絡的類型包括但不限于互 聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、以及虛擬專用網(wǎng)絡(VPN)。在本申請中,網(wǎng)絡包 括企業(yè)網(wǎng)絡和客戶機計算設備用來訪問企業(yè)網(wǎng)絡的網(wǎng)絡(即客戶機網(wǎng)絡)。在一個實施例 中,客戶機網(wǎng)絡是企業(yè)網(wǎng)絡的一部分。在另一實施例中,客戶機網(wǎng)絡是通過外部可用的接入 點(如網(wǎng)關(guān)、遠程訪問協(xié)議、或公共或?qū)S没ヂ?lián)網(wǎng)地址)來訪問企業(yè)網(wǎng)絡的一分開的網(wǎng)絡。
[0060] 本申請中提供的一個或多個實施例的描述和說明不旨在以任何方式限制或約束 如權(quán)利要求所要求保護的發(fā)明范圍。本申請中提供的實施例、示例和細節(jié)被認為是足以傳 達所有權(quán),且使得他人能夠制作并使用所要求保護的發(fā)明的最佳模式。所要求保護的發(fā)明 不應被理解為限制于本申請中所提供的任何實施例、示例或細節(jié)。不管是以組合的方式還 是分開的方式示出和描述,各種特征(結(jié)構(gòu)上的和方法邏輯上的)旨在被選擇性地包括或 忽略,以產(chǎn)生具有特定的特征集的實施例。在被提供本申請的描述和說明的情況下,本領域 的技術(shù)人員能夠想象到落在所要求保護的發(fā)明的更寬泛方面以及本申請中所具體化的一 般發(fā)明概念的精神內(nèi)的替代實施例并不背離該更寬泛的范圍。
【權(quán)利要求】
1. 一種用于對從固定格式文檔解析成流格式矢量圖元素的數(shù)據(jù)中出現(xiàn)的矢量圖進行 分類的矢量圖分類方法,所述方法包括以下步驟: 將來自固定格式文檔的矢量圖路徑和文本串提取成物理布局數(shù)據(jù)對象,每一所述矢量 圖路徑包括所述矢量圖路徑在所述固定格式文檔的頁面上的物理位置,每一所述文本串包 括所述文本串在所述固定格式文檔的頁面上的物理位置; 分析所述矢量圖路徑以將形成所選形狀的一個或多個矢量圖路徑標識為矢量圖,所述 矢量圖具有由所述矢量圖路徑所限定的物理位置; 分析所述文本串以將所述文本串中位于靠近所選形狀的物理位置的物理位置處的至 少一個文本串標識為附近文本串;以及 基于所選形狀的所述物理位置與所述附近文本串的所述物理位置之間的關(guān)系來分類 所述矢量圖。
2. 如權(quán)利要求1所述的矢量圖分類方法,其特征在于,還包括在嘗試將所述矢量圖分 類為文本串陰影的所述步驟之后將所選矢量圖路徑聚集成單個形狀的步驟。
3. 如權(quán)利要求1所述的矢量圖分類方法,其特征在于,將所選矢量圖路徑聚集成單個 形狀的所述步驟還包括以下步驟: 選擇與形狀長度相對應的最小長度;以及 在所述矢量圖路徑的長度小于所述最小長度時,聚集具有相同垂直位置的多個所述矢 量圖路徑。
4. 如權(quán)利要求1所述的矢量圖分類方法,其特征在于,還包括基于邏輯布局數(shù)據(jù)對象 中的所述分類來存儲信息的步驟。
5. 如權(quán)利要求1所述的矢量圖分類方法,其特征在于,還包括一旦所述矢量圖已被分 類就從所述物理布局數(shù)據(jù)對象移除所述矢量圖的步驟。
6. 如權(quán)利要求1所述的矢量圖分類方法,其特征在于,分類所述矢量圖的所述步驟還 包括以下步驟: 基于所述矢量圖與所述附近文本串之間的關(guān)系來將所述矢量圖選擇性地分類為文本 串效果; 在嘗試將所述矢量圖分類為文本串效果的所述步驟之后,基于所述矢量圖與所述附近 文本串之間的關(guān)系來將先前未被分類的所述矢量圖選擇性地分類為字體效果; 在嘗試將所述矢量圖分類為字體效果的所述步驟之后,基于所述矢量圖與所述附近文 本串之間的關(guān)系來將先前未被分類的所述矢量圖選擇性地分類為表邊界; 在嘗試將所述矢量圖分類為表邊界的所述步驟之后,基于所述矢量圖與所述附近文本 串之間的關(guān)系來將先前未被分類的所述矢量圖選擇性地分類為段落效果; 在嘗試將所述矢量圖分類為段落效果的所述步驟之后,基于所述矢量圖與所述附近文 本串之間的關(guān)系來將先前未被分類的所述矢量圖選擇性地分類為頁面效果;以及 當所述矢量圖在先前步驟中未被分類時,將先前未被分類的所述矢量圖分類為基本圖 圖像。
7. 如權(quán)利要求6所述的矢量圖分類方法,其特征在于,所選形狀是包含填充的矩形,將 所述矢量圖選擇性地分類為文本串陰影的所述步驟還包括在所述附近文本串被包含在所 述矢量圖內(nèi)時將所述矢量圖分類為文本串陰影的步驟。
8. 如權(quán)利要求7所述的矢量圖分類方法,其特征在于,還包括在所述矢量圖具有的高 度比所述附近文本串的高度高所選閾值距離以上時延遲將所述矢量圖分類為文本串陰影 的步驟。
9. 如權(quán)利要求6所述的矢量圖分類方法,其特征在于,所選形狀是不包含填充的矩形, 將所述矢量圖選擇性地分類為文本串邊界的所述步驟還包括在所述附近文本串被包含在 所述矢量圖內(nèi)時將所述矢量圖分類為文本串邊界的步驟。
10. 如權(quán)利要求6所述的矢量圖分類方法,其特征在于,所選形狀是與所述附近文本 串的方向平行行進的線,將所述矢量圖選擇性地分類為字體效果的所述步驟還包括以下步 驟: 在所述矢量圖物理位置在下方且在距所述附近文本串物理位置的所選閾值距離內(nèi)時 將所述矢量圖分類為下劃線;以及 在所選形狀物理位置重疊且處于所述附近文本串高度的所選范圍內(nèi)時將所述矢量圖 分類為刪除線。
11. 如權(quán)利要求6所述的矢量圖分類方法,其特征在于,將所述矢量圖選擇性地分類為 表的所述步驟還包括在所述矢量圖與頁面上的列中的文本重疊時將所述矢量圖分類為表 的步驟。
12. 如權(quán)利要求11所述的矢量圖分類方法,其特征在于,所述表是包含填充的單列表, 將所述矢量圖選擇性地分類為段落陰影的所述步驟還包括在所述矢量圖不與頁面上的列 中的文本重疊時將所述矢量圖分類為段落陰影的步驟。
13. 如權(quán)利要求11所述的矢量圖分類方法,其特征在于,所述表是不包含填充的單列 表,將所述矢量圖選擇性地分類為段落邊界的所述步驟還包括在所述矢量圖不與頁面上的 列中的文本重疊時將所述矢量圖分類為段落邊界的步驟。
14. 一種用于檢測固定格式文檔中出現(xiàn)的矢量圖的系統(tǒng),所述系統(tǒng)包括能用于執(zhí)行以 下操作的矢量圖分類引擎應用: 將來自固定格式文檔的矢量圖路徑和文本串提取成物理布局數(shù)據(jù)對象,每一所述矢量 圖路徑包括所述矢量圖路徑在所述固定格式文檔的頁面上的物理位置,每一所述文本串包 括所述文本串在所述固定格式文檔的頁面上的物理位置; 分析所述矢量圖路徑以將形成所選形狀的一個或多個矢量圖路徑標識為矢量圖,所述 矢量圖具有由所述矢量圖路徑所限定的物理位置; 分析所述文本串以將所述文本串中位于靠近所選形狀的物理位置的物理位置處的至 少一個文本串標識為附近文本串;以及 基于所述矢量圖與所述附近文本串之間的關(guān)系來將所述矢量圖選擇性地分類為文本 串效果; 在嘗試將所述矢量圖分類為文本串效果的所述步驟之后,基于所述矢量圖與所述附近 文本串之間的關(guān)系來將先前未被分類的所述矢量圖選擇性地分類為字體效果; 在嘗試將所述矢量圖分類為字體效果的所述步驟之后,基于所述矢量圖與所述附近文 本串之間的關(guān)系來將先前未被分類的所述矢量圖選擇性地分類為表邊界; 在嘗試將所述矢量圖分類為表邊界的所述步驟之后,基于所述矢量圖與所述附近文本 串之間的關(guān)系來將先前未被分類的所述矢量圖選擇性地分類為段落效果; 在嘗試將所述矢量圖分類為段落效果的所述步驟之后,基于所述矢量圖與所述附近文 本串之間的關(guān)系來將先前未被分類的所述矢量圖選擇性地分類為頁面效果;以及 當所述矢量圖在先前操作中未被分類時,將先前未被分類的所述矢量圖分類為基本圖 圖像。
15. 如權(quán)利要求14所述的系統(tǒng),其特征在于,所述矢量圖分類引擎應用能用于在將先 前未被分類的所述矢量圖選擇性分類為字體效果之前將所選矢量圖路徑聚集成單個形狀。
16. 如權(quán)利要求14所述的系統(tǒng),其特征在于,所述矢量圖分類引擎應用能用于基于邏 輯布局數(shù)據(jù)對象中的所述分類來存儲信息。
17. 如權(quán)利要求14所述的系統(tǒng),其特征在于,所述矢量圖分類引擎應用能用于在所述 附近文本串被包含在所述矢量圖內(nèi)且所選形狀是包含填充的矩形時將所述矢量圖選擇性 地分類為文本串陰影。
18. 如權(quán)利要求14所述的系統(tǒng),其特征在于,所述矢量圖分類引擎應用能用于在所述 附近文本串被包含在所述矢量圖內(nèi)且所選形狀是不包含填充的矩形時將先前未被分類的 所述矢量圖選擇性地分類為文本串邊界。
19. 如權(quán)利要求14所述的系統(tǒng),其特征在于,所述矢量圖分類引擎應用能用于: 在所述矢量圖物理位置在下方且在距所述附近文本串物理位置的所選閾值距離內(nèi)并 且所選形狀是與所述附近文本串的方向平行行進的線時將先前未被分類的所述矢量圖選 擇性地分類為下劃線;以及 在所選形狀物理位置重疊且處于所述附近文本串高度的所選范圍內(nèi)并且所選形狀是 與所述附近文本串的方向平行行進的線時將先前未被分類的所述矢量圖選擇性地分類為 刪除線。
20. -種包含計算機可執(zhí)行指令的計算機可讀介質(zhì),所述指令在由計算機執(zhí)行時執(zhí)行 一種檢測并分類從固定格式文檔解析出的數(shù)據(jù)中的矢量圖的方法,所述方法包括以下步 驟: 將來自固定格式文檔的矢量圖路徑和文本串提取成物理布局數(shù)據(jù)對象,每一所述矢量 圖路徑包括所述矢量圖路徑在所述固定格式文檔的頁面上的物理位置,每一所述文本串包 括所述文本串在所述固定格式文檔的頁面上的物理位置; 分析所述矢量圖路徑以標識形成所選形狀的一個或多個矢量圖路徑,所選形狀具有由 所述矢量圖路徑所限定的物理位置; 分析所述文本串以將所述文本串中位于靠近所選形狀的物理位置的物理位置處的至 少一個文本串標識為附近文本串; 其中所選形狀是包含填充的矩形,從而在所述附近文本串之一被包含在所選形狀內(nèi)時 將所述矢量圖分類為文本串陰影; 其中所選形狀是線,在所選形狀物理位置處于下方且在距所述附近文本串物理位置的 所選閾值距離內(nèi)時將所述矢量圖分類為下劃線; 其中所選形狀是線,在所選形狀物理位置重疊且在所述附近文本串高度的所選范圍內(nèi) 時將所述矢量圖分類為刪除線; 在所述矢量圖與頁面上的列中的文本重疊時將所述矢量圖分類為表邊界; 其中表是包含填充的單列表,在所述矢量圖不與頁面上的列中的文本重疊時將所述矢 量圖分類為段落陰影; 其中所述表是不包含填充的單列表,在所述矢量圖不與頁面上的列中的文本重疊時將 所述矢量圖分類為段落邊界;以及 當所述矢量圖在先前步驟中未被分類時,將先前未被分類的所述矢量圖分類為基本圖 圖像。
【文檔編號】G06K9/00GK104067293SQ201280067911
【公開日】2014年9月24日 申請日期:2012年1月23日 優(yōu)先權(quán)日:2012年1月23日
【發(fā)明者】M·舍舒姆, M·拉斯科維克, D·扎里克, M·拉扎里維克, A·奧布爾簡 申請人:微軟公司