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