專利名稱:來自出版物的經(jīng)ocr處理的文本和對應(yīng)圖像在客戶端設(shè)備上的選擇性顯示的制作方法
技術(shù)領(lǐng)域:
本公開總體上地涉及光學(xué)字符識別(OCR)領(lǐng)域,特別是涉及顯示使用OCR提取的文本以及顯示從中提取該文本的原始圖像。
背景技術(shù):
隨著越來越多的印刷文檔被掃描并使用光學(xué)字符識別(OCR)技術(shù)被轉(zhuǎn)換至可編輯文本,人們越來越多地使用計算機(jī)閱讀此類文檔。當(dāng)在計算機(jī)屏幕上閱讀文檔時,用戶通常更偏愛經(jīng)OCR處理的版本而不是圖像版本。與文檔圖像相比,經(jīng)OCR處理的文本大小較小,并且由此可以更有效地通過計算機(jī)網(wǎng)絡(luò)傳輸。經(jīng)過OCR處理的文本還是可編輯的(例如,支持拷貝和粘貼)和可搜索的,并且可以被清晰地(例如,使用本地可用的字體)且靈活地(例如,使用調(diào)整適合于計算機(jī)屏幕的布局)顯示,這提供了更好的閱讀體驗。上述優(yōu)點尤其有益于那些偏愛在他們的移動設(shè)備(諸如,移動電話和音樂播放器)上閱讀的用戶。然而,在OCR處理的文本中經(jīng)常存在錯誤。此類錯誤可能是由于文檔中瑕疵、在掃描處理期間引入的贗像以及OCR引擎的缺點。這些錯誤可以干擾使用和享受經(jīng)OCR處理的文本,并削弱此類文本的優(yōu)勢。由此,需要一種方式來實現(xiàn)使用經(jīng)OCR處理的文本的益處, 同時將由OCR處理引入的錯誤的影響最小化。
發(fā)明內(nèi)容
本公開的實施方式包括用于顯示使用OCR從圖形中提取的文本的方法(以及相應(yīng)的系統(tǒng)和計算機(jī)程序產(chǎn)品)。在一個方面,針對經(jīng)OCR處理的文本片段的集合而生成經(jīng)OCR處理的文檔。文檔中的每個文本片段利用唯一地標(biāo)識矩形圖像片段的信息來標(biāo)記,該矩形圖像片段包括來自原始文檔的圖像序列中的原始文本圖像中的文本片段。該文檔還包括響應(yīng)于用戶選擇而使得讀者能夠在經(jīng)OCR處理的文本和相應(yīng)圖像片段之間切換文本片段的顯示的程序代碼。在另一方面,針對每個文本片段計算垃圾得分。經(jīng)OCR處理的文檔中的每個文本片段利用其垃圾得分來標(biāo)記。當(dāng)加載經(jīng)OCR處理的文檔時,嵌入的程序代碼將每個文本片段的垃圾得分與閾值的值相比較。如果文本片段的垃圾得分低于該閾值,則程序代碼顯示文本片段。否則,程序代碼顯示圖像片段以取代文本片段。用戶可以通過選擇文本片段而切換顯示。在說明書中描述的特征和優(yōu)點并非是全面包括的,尤其是,參考附圖、說明書和權(quán)利要求書,許多附加特征和優(yōu)點對于本領(lǐng)域普通技術(shù)人員是易見的。此外,應(yīng)當(dāng)注意,說明書中使用的語言是出于易讀性和指示性目的而選擇,而并非選擇用于描繪和限制所公開的主題。
圖1是根據(jù)本公開一個實施方式的計算環(huán)境的高層次框圖;圖2是例示出根據(jù)本公開一個實施方式的用于在圖1中示出的計算環(huán)境中使用的計算機(jī)的示例的高層次框圖;圖3是例示出根據(jù)本公開一個實施方式的在文檔服務(wù)系統(tǒng)內(nèi)的模塊的高層次框圖;圖4是例示出根據(jù)本公開一個實施方式的文檔服務(wù)系統(tǒng)的操作的流程圖;圖5是例示出根據(jù)本公開一個實施方式的由文檔服務(wù)系統(tǒng)生成的控制模塊的操作的流程圖;圖6A至6C是例示出根據(jù)本公開一個實施方式的由文檔服務(wù)系統(tǒng)生成的閱讀web 頁面的用戶體驗的截屏。
具體實施例方式在此描述的計算環(huán)境使得經(jīng)過OCR處理的文檔的讀者能夠方便地在經(jīng)過OCR處理的文本片段和包括該文本片段的源圖像的片段之間切換顯示。附圖以及下文的描述僅通過例示的方式描述了特定實施方式。從下文的描述中, 本領(lǐng)域技術(shù)人員將易于認(rèn)識到,在不脫離在此描述的原理的情況下,可以使用在此例示的結(jié)構(gòu)和方法的備選實施方式。現(xiàn)在將詳細(xì)參考若干實施方式,該實施方式的示例在附圖中例示出。應(yīng)當(dāng)注意,在任何可行處,類似或者相似的參考標(biāo)號可以在附圖中使用,并且可以指示類似或者相似的功能。系統(tǒng)環(huán)境圖1是例示出根據(jù)本公開一個實施方式的計算環(huán)境100的高層次框圖,該計算環(huán)境100用于將印刷出版物轉(zhuǎn)換至經(jīng)過OCR處理的文本、并如所期望地允許讀者查看經(jīng)OCR 處理的文本和相應(yīng)的源圖像。如所示出的,計算環(huán)境100包括掃描儀110、0CR引擎120、文檔服務(wù)系統(tǒng)130和客戶端設(shè)備140。僅示出了各實體中的一個以便使得當(dāng)前的描述簡化和清晰。在計算環(huán)境100中還可以存在其他實體。在某些實施方式中,OCR引擎120和文檔服務(wù)系統(tǒng)130結(jié)合為單一實體。掃描儀110是硬件設(shè)備,配置用于光學(xué)地掃描印刷的出版物(例如,書本、報紙) 并將該印刷的出版物轉(zhuǎn)換成數(shù)字文本圖像。掃描儀110的輸出被饋送至OCR引擎120中。OCR引擎120是硬件設(shè)備和/或軟件程序,配置用于將源圖像轉(zhuǎn)換(或轉(zhuǎn)化)為可編輯文本(下文中稱為經(jīng)OCR處理的文本)。OCR引擎120使用計算機(jī)算法處理源圖像并生成相應(yīng)的經(jīng)OCR處理的文本。此外,OCR引擎120生成并輸出描述包含在源圖像中經(jīng)OCR處理的文本的圖像片段的位置信息。例如,對于每個文本片段(例如,段落、欄目、標(biāo)題),OCR引擎120提供描述包圍盒的值集合,該包圍盒唯一地指定包含文本片段的源圖像的片段。描述包圍盒的值包括在χ軸和y軸上的矩形的左上角的二維坐標(biāo)以及該矩形的寬度和高度。由此,該包圍盒將源圖像的區(qū)域唯一地標(biāo)識為對應(yīng)于文本片段的圖像片段。在其他實施方式中,包圍盒可以使用矩形以外的其他形狀指定。OCR引擎120還可以生成測量經(jīng)OCR處理的文本質(zhì)量的置信度級別。此外,OCR引擎120可以生成諸如格式信息(例如,字體、字體大小、樣式)的其他信息。OCR引擎120的示例包括ABBYY FineReader 0CR、AD0BE Acrobat Capture和MICROSOFT Office Document Imaging。OCR引擎120的輸出被饋送至文檔服務(wù)系統(tǒng)130。文檔服務(wù)系統(tǒng)130是配置用于向用戶提供印刷出版物的電子呈現(xiàn)的計算機(jī)系統(tǒng)。 文檔服務(wù)系統(tǒng)130存儲從OCR引擎120接收的信息,該信息包括經(jīng)OCR處理的文本、源圖像、 將經(jīng)OCR處理的文本片段關(guān)聯(lián)于源圖像片段的位置信息以及置信度級別。在一個實施方式中,文檔服務(wù)系統(tǒng)130使用所接收的信息,針對經(jīng)OCR處理的文本的每個文本片段計算用于測量其整體質(zhì)量的“垃圾得分”。此外,文檔服務(wù)系統(tǒng)130包括可以由客戶端設(shè)備140執(zhí)行的控制模塊132??刂颇K132允許客戶端設(shè)備140的用戶選擇性地切換文本片段和相應(yīng)圖像片段的顯示,由此允許查看經(jīng)OCR處理的文本或者從中生成該文本的印刷出版物的源圖像的部分。在一個實施方式中,文檔服務(wù)系統(tǒng)130向用戶提供web站點以使用客戶端設(shè)備140 如同web頁面那樣閱讀經(jīng)OCR處理的印刷出版物。一旦從客戶端設(shè)備接收到印刷出版物特定部分的請求,則文檔服務(wù)系統(tǒng)130生成包含該出版物的所請求部分的文檔(例如,web頁面)。在一個實施方式中,文檔包括出版物的所請求部分(例如,書本的章節(jié)的文本)內(nèi)的文本片段。此外,文檔包括將文本片段與對應(yīng)的圖像片段相關(guān)聯(lián)的位置信息,以及該文本片段的垃圾得分。文檔還包括控制模塊132。文檔服務(wù)系統(tǒng)130向請求客戶端設(shè)備140提供所生成的文檔??蛻舳嗽O(shè)備140是計算機(jī)系統(tǒng),配置用于從文檔服務(wù)系統(tǒng)130請求文檔,以及作為響應(yīng)而顯示所接收的文檔。此功能可以由諸如在客戶端設(shè)備140上執(zhí)行的web瀏覽器(例如,Microsoft Internet Explorer , Mozilla Firefoxn^PApple Safari )的閱讀應(yīng)用 142提供。閱讀應(yīng)用142執(zhí)行從文檔服務(wù)系統(tǒng)130接收的文檔中所包括的控制模塊132,該控制模塊132轉(zhuǎn)而允許用戶在文本片段的顯示和對應(yīng)圖像片段的顯示之間切換文檔的部分。掃描儀110與OCR引擎120可通信地連接;OCR引擎120與文檔服務(wù)系統(tǒng)130可通信地連接;并且文檔服務(wù)系統(tǒng)130與客戶端設(shè)備140可通信地連接。連接中的任一項可以通過有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)進(jìn)行。網(wǎng)絡(luò)示例包括因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、WiFi網(wǎng)絡(luò)、WiMAX網(wǎng)絡(luò)、移動電話網(wǎng)絡(luò)或者其結(jié)合。計算機(jī)架構(gòu)使用一個或者多個計算機(jī)來實現(xiàn)在圖1示出的實體。圖2是例示出示例計算機(jī) 200的高層次框圖。計算機(jī)200包括耦合至芯片集204的至少一個處理器202。芯片集204 包括存儲器控制器集線器220和輸入/輸出(1/0)控制器集線器222。存儲器206和圖形適配器212耦合至存儲器控制器集線器220,并且顯示器218耦合至圖形適配器212。存儲設(shè)備208、鍵盤210、指點設(shè)備214、網(wǎng)絡(luò)適配器216耦合至1/0控制器集線器222。計算機(jī) 200的其他實施方式具有不同的架構(gòu)。存儲設(shè)備208是諸如硬件驅(qū)動、光盤只讀存儲器(⑶-ROM)、DVD或者固態(tài)存儲器設(shè)備的計算機(jī)可讀存儲介質(zhì)。存儲器206保持由處理器202使用的指令和數(shù)據(jù)。指點設(shè)備 214是鼠標(biāo)、軌跡球或者其他類型的指示設(shè)備,并與鍵盤210結(jié)合使用以向計算機(jī)系統(tǒng)200 輸入數(shù)據(jù)。圖形適配器212在顯示器218上顯示圖像和其他信息。網(wǎng)絡(luò)適配器212將計算機(jī)系統(tǒng)200耦合至一個或者多個計算機(jī)網(wǎng)絡(luò)。
計算機(jī)200適用于執(zhí)行用于提供在此描述的功能的計算機(jī)程序模塊。如在此使用的,術(shù)語“模塊”指代用于提供特定功能的計算機(jī)程序邏輯。因而,模塊可以被實現(xiàn)為硬件、 固件和/或軟件。在一個實施方式中,程序模塊存儲在存儲設(shè)備208上,被加載到存儲器 206中并且由處理器202執(zhí)行。由圖1的實體使用的計算機(jī)200的類型可以取決于由該實體所需要的實施方式和所需的處理能力而有所變化。例如,文檔服務(wù)系統(tǒng)130可以包括多個在一起工作的刀片服務(wù)器以提供在此描述的功能。作為另一示例,客戶端設(shè)備140可以包括具有有限處理能力的移動電話。計算機(jī)200可以不具有在此描述的某些組件,諸如鍵盤210、圖形適配器212 和顯示器218。文檔服務(wù)系統(tǒng)的示例性架構(gòu)概覽圖3是例示出根據(jù)一個實施方式的在文檔服務(wù)系統(tǒng)130內(nèi)的模塊的詳細(xì)視圖的高層次框圖。文檔服務(wù)系統(tǒng)130的某些實施方式具有不同于在此所述的模塊和/或具有其他模塊。類似地,功能可以按照不同于在此描述的方式,根據(jù)其他實施方式而在模塊之間分布。如所例示出的,文檔服務(wù)系統(tǒng)130包括文本評估引擎310、代碼生成模塊320、文本生成模塊330、輸入/輸出管理模塊(在此稱為I/O模塊)340和數(shù)據(jù)存儲350。文本評估引擎310基于由OCR引擎120提供的信息而生成文本片段的垃圾得分。 垃圾得分是測量文本片段的整體質(zhì)量的數(shù)字值。在一個實施方式中,垃圾得分在0和100 的范圍之間,其中0指示高文本質(zhì)量,而100指示低文本質(zhì)量。為了生成垃圾得分,文本評估引擎310的一個實施方式針對在文本片段中的每個字符而生成語言條件性字符概率的集合。每個語言條件性字符概率指示在文本片段中位于前部的字符和字符集合與語言模型相一致的程度。位于前部的字符集合通常限于較小數(shù)量 (例如,4-8個字符),使得基于該模型賦予復(fù)合詞和其他聯(lián)合詞中的字符以強(qiáng)概率值。語言條件性字符概率可以與文本質(zhì)量的其他指示符(例如,由OCR引擎120提供的置信度水平)相結(jié)合,以針對文本片段中的每個字符生成文本質(zhì)量得分。此類值的計算允許文本質(zhì)量的位置特定的分析。文本評估引擎310結(jié)合與文本片段中的字符相關(guān)聯(lián)的文本質(zhì)量得分的集合,以生成表征文本片段的質(zhì)量的垃圾得分。文本評估引擎310可以將與文本片段中的字符相關(guān)聯(lián)的文本質(zhì)量得分求平均,以生成垃圾得分。代碼生成模塊320生成或者以其他方式提供控制文檔在客戶端設(shè)備140上的顯示的控制模塊132。在一個實施方式中,使用瀏覽器可執(zhí)行代碼(使用諸如JAVASCRIPT、 JAVA或者Perl的編程語言)來實現(xiàn)控制模塊132。代碼生成模塊320可以包括或者與諸如Google Web工具集的應(yīng)用通信,和/或提供允許開發(fā)者開發(fā)控制模塊132的集成開發(fā)環(huán)境(IDE)。取決于實施方式,代碼生成模塊320可以存儲控制模塊132的預(yù)創(chuàng)建的實例,該控制模塊132可以包括在向客戶端設(shè)備140提供的文檔中,或者在從文檔服務(wù)系統(tǒng)130請求文檔的客戶端設(shè)備140時,可以實時地形成控制模塊132。文本生成模塊330生成向請求客戶端設(shè)備140提供出版物的部分的文檔。在一個實施方式中,所生成的文檔是使用超文本標(biāo)記語言(HTML)形成的web頁面。其他的實施方式生成非web頁面的文檔,諸如便攜文檔格式(PDF)文檔和/或使用HTML以外的語言形成的web頁面。
為了生成文檔,文本生成模塊330標(biāo)識由客戶端設(shè)備140請求的出版物和部分,并且從數(shù)據(jù)存儲350獲取構(gòu)成該部分的文本片段。文本生成模塊330生成具有文本片段的文檔,另外還利用將文本片段與來自源圖像的相應(yīng)圖像片段進(jìn)行相關(guān)的位置信息來標(biāo)記該文檔中的每個文本片段。文本生成模塊330還利用其相關(guān)聯(lián)的垃圾得分來標(biāo)記每個文本片段。此外,文本生成模塊330在文檔中嵌入由代碼生成模塊320提供的控制模塊132。文本生成模塊330可以在當(dāng)經(jīng)OCR處理的文本變?yōu)榭捎脮r生成文檔。備選的是,文本生成模塊 330可以按需(例如,基于來自客戶端設(shè)備140的請求)動態(tài)地生成文檔。I/O模塊340管理文檔服務(wù)系統(tǒng)130的輸入和輸出。例如,I/O模塊340把從OCR 引擎120接收的數(shù)據(jù)存儲在數(shù)據(jù)存儲350中,并且激活文本評估引擎310以生成相應(yīng)的垃圾得分。作為另一示例,I/O模塊340從客戶端設(shè)備140接收請求,并激活生成模塊330以作為響應(yīng)而提供所請求的文檔。如果文檔服務(wù)系統(tǒng)接收針對圖像片段的請求,則I/O模塊 340從數(shù)據(jù)存儲350獲取圖像片段,并將其提供給客戶端設(shè)備140。在一個實施方式中,I/ 0模塊340在向客戶端設(shè)備140返回圖像片段之前處理該圖像片段。例如,I/O模塊340可以基于顯示文檔的客戶端設(shè)備140的屏幕分辨率,調(diào)整圖像片段的大小和/或分辨率。數(shù)據(jù)存儲350存儲由文檔服務(wù)系統(tǒng)130使用的數(shù)據(jù)。此類數(shù)據(jù)的示例包括經(jīng)OCR 處理的文本和相關(guān)聯(lián)的信息(例如,垃圾得分、位置信息)、源圖像以及所生成的文檔。數(shù)據(jù)存儲350可以是關(guān)系數(shù)據(jù)庫或者任何其他類型的數(shù)據(jù)庫。文檔和控制模塊根據(jù)一個實施方式,文檔服務(wù)系統(tǒng)130利用嵌入式控制模塊132來生成文檔。文檔包括利用用于標(biāo)識相應(yīng)圖像片段的信息而被標(biāo)記的文本片段。還使用設(shè)計用于模擬源圖像中的原始文本的格式信息來標(biāo)記文本片段。此類格式信息可以包括字體、字體大小和樣式(例如,斜體、粗體、帶下劃線)。控制模塊132的一個實施方式包括處理與文檔相關(guān)的事件的事件處理機(jī)。例如, 響應(yīng)于文檔被加載到客戶端設(shè)備140處的web瀏覽器(on-load事件),控制模塊132使用 HTML文本標(biāo)記來生成所包括的文本片段的顯示。作為另一示例,響應(yīng)于對文本片段的用戶選擇,控制模塊132在文本片段和對應(yīng)的圖像片段之間切換顯示。在一個實施方式中,當(dāng)web頁面由web瀏覽器加載時,嵌入式控制模塊將每個文本片段的垃圾得分與閾值進(jìn)行比較,以確定文本片段是否具有足夠的質(zhì)量以用于顯示。如果垃圾得分等于或者低于該閾值,則控制模塊使用諸如以下HTML代碼來顯示文本片段<pid =‘pageID. 40. paraID. 1. box. 103. 454. 696. 70. garbage. 40 ‘ ><i>The courtyard of the Sheriff' ;s house. A chapel. A shed in which is a blacksmith' ;s forge with fire. A prison near which is an anvil,before which Will Scarlet is at work making a sword. </i></p>上述html代碼包括以斜體樣式顯示如下文字“77^ courtyard of
the Sheriff,s house. A chapel. A shed in which is a blacksmith's forge with fire. A prison near which is an anvil, before which Will Scarlet is at
work making a sword.“使用如下信息“id = ' pageID. 40. paraID. 1. box. 103. 454. 696. 70. garbage. 40' ”來標(biāo)記該段落,這指示對應(yīng)的圖像片段定位于頁面40 (pageID. 40),第1段(paraID. 1),圖像片段的左上角位于(103,454),該圖像片段高度為696像素而長度為70像素,并且相關(guān)聯(lián)的垃圾得分是40 (garbage. 40)。如果垃圾得分超過閾值,則控制模塊132自動地獲取圖像片段,并使用諸如以下HTML代碼來顯示圖像片段而不是文本片段<p id = ‘ pageID. 40. paraID. 1. box. 103. 454. 696. 70. garbage. 40 ‘ Ximgsrc = “ image ? bookID = 0123&pageID = 40¶ID = l&x = 103&y = 454&h = 696&w = 70 “ display ="100%" ></p>上述HTML代碼獲取包含與上述段落相同的文本的圖像片段,并且在文本片段處顯示圖像片段。應(yīng)當(dāng)注意,bookID可以由文本生成模塊330硬編碼到文檔中。閾值的值可以由用戶設(shè)置或者在文檔中預(yù)置。用戶還可以指定文檔是顯示文本片段還是圖像片段。例如,用戶可以使用鍵盤或者指示設(shè)備來激活文本片段,或者在觸敏屏上標(biāo)記文本片段。響應(yīng)于用戶選擇,控制模塊 132動態(tài)地在文本片段和對應(yīng)的圖像片段之間切換顯示。當(dāng)顯示從文本片段切換至圖像片段時,控制模塊132利用唯一地標(biāo)識圖像片段(例如,頁面號、段號、包圍盒)的信息,從文檔服務(wù)系統(tǒng)130請求圖像片段,向web頁面中插入圖像片段的圖像標(biāo)記,并且向向用戶繪制該圖像片段以取代經(jīng)OCR處理的文本。即使文本片段沒有被顯示,其也被存儲于本地變量中,使得當(dāng)用戶切換回來時可以容易地顯示對應(yīng)對文本。通常,當(dāng)顯示圖像片段時,控制模塊132配置為100%地顯示,這指示圖像將被重置尺寸為充滿屏幕的整個寬度。然而,當(dāng)文本片段(例如,簡短表達(dá)或者諸如“第一章”的標(biāo)題行)是非常短(例如,小于一行的50%)時,控制模塊可以配置用于以與屏幕寬度類似的比例顯示圖像。文檔服務(wù)系統(tǒng)方法論概覽圖4是根據(jù)本發(fā)明一個實施方式的用于文檔服務(wù)系統(tǒng)130交互式地向由用戶向客戶端設(shè)備140提供文檔以用于查看的方法400的流程圖。其他實施方式可以以不同的順序執(zhí)行方法400的步驟。并且,其他實施方式可以包括在此描述的之外的不同步驟和/或附加步驟。文檔服務(wù)系統(tǒng)130可以并發(fā)地和/或并行地執(zhí)行方法400的步驟的多個實例。初始地,文檔服務(wù)系統(tǒng)130從OCR引擎120接收經(jīng)OCR處理的文本、源圖像和相關(guān)聯(lián)的信息(例如,位置信息、置信度水平M410)。文檔服務(wù)系統(tǒng)130(例如,通過文本評估引擎310)計算每個經(jīng)OCR處理的文本片段的垃圾得分020),并且(例如,通過代碼生成模塊 320)生成將被包括在文檔中的控制模塊132(430)。文檔服務(wù)系統(tǒng)130從客戶端設(shè)備140接收針對出版物的一部分(例如,書中的章節(jié))的請求G40),從數(shù)據(jù)存儲350獲取構(gòu)成所請求部分的文本片段,并生成諸如包括文本片段的web頁面的文檔(450)。利用包括位置信息和垃圾得分的相關(guān)屬性來標(biāo)記文本片段。 所生成的文檔還包括控制模塊132。文檔服務(wù)系統(tǒng)130向請求所生成的文檔的客戶端設(shè)備 140發(fā)送該文檔。如上所述,用戶可以與文檔交互以查看圖像片段而非對應(yīng)的文本片段。當(dāng)在客戶端設(shè)備140處執(zhí)行的控制模塊132接收到顯示圖像片段的請求時,該控制模塊132向文檔服務(wù)系統(tǒng)130傳輸具有唯一地標(biāo)識該圖像片段的圖像請求。文檔服務(wù)系統(tǒng)130接收圖像請求G70),獲取所請求的圖像片段G80),并將該圖像片段傳輸給客戶端設(shè)備140以用于顯示090)。該圖像請求可以提供附加信息,諸如顯示文檔的屏幕的分辨率。在向客戶端設(shè)備140傳輸經(jīng)處理的圖像片段用于顯示(490)之前,文檔服務(wù)系統(tǒng)130可以基于此類信息處理該圖像片段(例如,重設(shè)大小、調(diào)整分辨率)。針對控制模塊的方法論概覽圖5是根據(jù)一個實施方式例示出在文檔中包括的控制模塊132的操作500的流程圖。當(dāng)文檔由應(yīng)用來顯示時,通過客戶端設(shè)備140處的閱讀應(yīng)用142(例如,web瀏覽器) 來執(zhí)行控制模塊132。在備選實施方式中,控制模塊132的功能通過閱讀應(yīng)用142自身來提供(例如,通過插件小應(yīng)用提供)。因而,控制模塊132不需要被包括在由文檔服務(wù)系統(tǒng) 130向客戶端設(shè)備140發(fā)送的文檔中。如所示出的,當(dāng)加載文檔時,控制模塊132生成文檔的顯示(510)。如上所述,控制模塊132將每個文本片段的垃圾得分與閾值的值進(jìn)行比較,以確定是顯示文本片段還是顯示對應(yīng)的圖像片段??刂颇K132監(jiān)視并且檢測用戶對所顯示片段的選擇(520)??刂颇K132確定所選擇的片段當(dāng)前被顯示為文本片段還是圖像片段。如果所顯示的片段是文本片段,則控制模塊132請求對應(yīng)的圖像片段(540),接收所請求的圖像片段(550),并且顯示所接收的圖像片段以取代文本片段(560)。否則,控制模塊132以文本片段替換用于圖像片段的圖像標(biāo)記(570)。在一個實施方式中,控制模塊132在文檔中本地存儲未顯示的文本片段(例如,在本地JavMcript變量中),使得在當(dāng)用戶將顯示切換回到文本時不需要從文檔服務(wù)系統(tǒng)130請求和獲取文本片段。在顯示切換之后,控制模塊132恢復(fù)監(jiān)視用戶選擇。示例圖6A至圖6C是根據(jù)本公開的一個實施方式示出了與文檔交互的用戶體驗截屏。 在此示例中,文檔是web頁面。如圖6A所示,用戶使用APPLE iPHONE客戶端獲取針對標(biāo)題為“A Christmas Carol =Being a Ghost of Christmas Past,,的經(jīng) OCR 處理的圖書而生成的web頁面。該web頁面包括圖書的第120-130頁。用戶期望查看段落610的圖像片段,并點擊該段落的顯示。如圖6B所示,作為響應(yīng),控制模塊132利用間隙(interstitial)圖像620替換段落610的文本片段。間隙圖像 620示出文本“Loading original book image…(點擊該圖像以返回先前視圖)”。間隙圖像620被設(shè)計用于幫助用戶理解動作,以及提供如何返回的清晰引導(dǎo)。例如,如果客戶端設(shè)備140的網(wǎng)絡(luò)連接情況差,則可能會花費一段時間來加載包含段落610的原始圖像片段。 用戶可以點擊間隙圖像620來取消動作,并恢復(fù)查看文本片段。間隙圖像620還有助于減小所感知到的加載時間。如圖6C所示,當(dāng)獲取圖像片段630時,控制模塊132切換到圖像片段630以替換文本片段。用戶繼而可以再次點擊以返回如圖6A所示的文本片段。上述說明的某些部分以算法過程或操作的形式描述了實施方式。這些算法描述和表示通常由數(shù)據(jù)處理技術(shù)領(lǐng)域的技術(shù)人員使用,以向本領(lǐng)域其他技術(shù)人員有效地傳遞他們工作的實質(zhì)。盡管這些操作以功能、計算或者邏輯方式描述,然而應(yīng)當(dāng)理解為可以由包括由處理器或者等效電子電路執(zhí)行的指令、微代碼等的計算機(jī)程序執(zhí)行。而且,還證明了將這些功能操作的布置稱為模塊有時候是方便的。所描述的操作和他們相關(guān)聯(lián)的模塊也可以嵌入到軟件、固件、硬件、或者任何他們的結(jié)合中。
如在此使用的,對于“一個實施方式”或者“一種實施方式”的任何引用意味著,與實施方式結(jié)合描述的特定元素、特征、結(jié)構(gòu)或者特性被包括在至少一個實施方式中。在說明書中不同位置處出現(xiàn)的術(shù)語“在一個實施方式中”不必全指代相同的實施方式。可以使用表述“耦合”和“連接”及其變型來描述某些實施方式。應(yīng)當(dāng)理解,這些術(shù)語并不旨在作為彼此的同義詞。例如,可以使用術(shù)語“連接”來描述某些實施方式,以指示兩個或者更多元件物理地或者電氣地彼此直接接觸。在另一示例中,可以使用術(shù)語“耦合” 來描述某些實施方式,以指示兩個或者更多元件物理地或電氣地直接接觸。然而,術(shù)語“耦合”還可以表示兩個或者更多元件不是彼此直接地接觸,而是彼此協(xié)作或者交互。實施方式不限于此內(nèi)容。如在此使用的,術(shù)語“包括”、“包括了”、“包含”、“包含了”、“具有”、“具有了”或者其
任何其他變形旨在覆蓋非排他性的包括。例如,包括一系列元件的處理、方法、物品或者裝置不必僅限于那些元件,而是可以包括沒有明確列出其他元件的或者對于此類過程、方法、 物品或者裝置固有的其他元件。此外,除非相反地明確闡明,“或者”是指包含式的或者,而不是排他式的或者。例如,在符合以下任一項時滿足條件A或B :A為真(或者存在)并且 B為假(或者不存在)、A為假(或者不存在)并且B為真(或者存在)、以及A和B兩者均為真(或者存在)。此外,可以使用“ 一,,或者“ 一種,,來描述在此的實施方式的元件或者組件。這僅僅是出于方便并且為了給出了本公開的概括含義而使用。此描述將被解讀為包括一個或者至少一個,并且除非很明顯不是這樣,否則該單數(shù)還可以包括復(fù)數(shù)。在閱讀本公開時,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解仍然有用于顯示經(jīng)OCR處理的文本的系統(tǒng)和過程的其他備選結(jié)構(gòu)性和功能性設(shè)計。因而,盡管已經(jīng)例示出和描述了特定實施方式和應(yīng)用,應(yīng)當(dāng)理解,本發(fā)明不限于在此公開的精確構(gòu)成和組件,并且在不脫離所附權(quán)利要求書定義的精神和范圍的情況下,可以針對在此公開的方法和裝置的布置、操作和細(xì)節(jié)做出對本領(lǐng)域技術(shù)人員易見的各種修改、改變和變形。
權(quán)利要求
1.一種用于顯示出版物的計算機(jī)實現(xiàn)的方法,包括接收包括響應(yīng)于對所述出版物的源圖像執(zhí)行光學(xué)字符識別(OCR)處理而生成的文本片段的文檔;在用戶所使用的客戶端設(shè)備的顯示器上顯示一個或多個所述文本片段;響應(yīng)于所述用戶對所顯示的文本片段的選擇,獲取與所選擇的文本片段的源圖像相對應(yīng)的圖像片段;以及在所述客戶端設(shè)備的所述顯示器上顯示所述圖像片段以取代所選擇的文本片段。
2.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,進(jìn)一步包括響應(yīng)于所述用戶對所述圖像片段的選擇,在所述客戶端設(shè)備的所述顯示器上顯示所述文本片段以取代所選擇的圖像片段。
3.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中所述文檔進(jìn)一步包括指示相關(guān)聯(lián)文本片段的質(zhì)量的垃圾得分,以及其中顯示一個或多個所述文本片段包括將所述相關(guān)聯(lián)文本片段的所述垃圾得分與閾值的值進(jìn)行比較;響應(yīng)于所述垃圾得分低于所述閾值的值,顯示所述相關(guān)聯(lián)文本片段;以及響應(yīng)于所述垃圾得分超過所述閾值的值,在所述客戶端設(shè)備的所述顯示器上顯示與所述相關(guān)聯(lián)文本片段相對應(yīng)的圖像片段以取代所述相關(guān)聯(lián)文本片段。
4.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,其中所述文檔包括將所包括的文本片段與所述源圖像的圖像片段進(jìn)行相關(guān)的位置信息,其中獲取所述圖像片段進(jìn)一步包括標(biāo)識所述所顯示的文本片段在所述文檔中的位置信息;以及傳輸針對所述圖像片段的請求,所述請求包括所標(biāo)識的所述位置信息。
5.根據(jù)權(quán)利要求4所述的計算機(jī)實現(xiàn)的方法,其中針對所述圖像片段的所述請求被傳輸至遠(yuǎn)程服務(wù)器,并且所述圖像片段從所述遠(yuǎn)程服務(wù)器被獲取。
6.根據(jù)權(quán)利要求4所述的計算機(jī)實現(xiàn)的方法,其中所述位置信息描述所述源圖像中顯示對應(yīng)的文本片段中所包含的文本的區(qū)域。
7.根據(jù)權(quán)利要求1所述的計算機(jī)實現(xiàn)的方法,進(jìn)一步包括響應(yīng)于所述用戶對所顯示的文本片段的所述選擇,與所述文檔相關(guān)聯(lián)地存儲所述所顯示的文本片段。
8.一種編碼有用于顯示出版物的可執(zhí)行計算機(jī)程序代碼的計算機(jī)可讀存儲介質(zhì),所述計算機(jī)程序代碼包括用于執(zhí)行如下的程序代碼接收包括響應(yīng)于對所述出版物的源圖像執(zhí)行光學(xué)字符識別(OCR)處理而生成的文本片段的文檔;在用戶所使用的客戶端設(shè)備的顯示器上顯示一個或多個所述文本片段;響應(yīng)于所述用戶對所顯示的文本片段的選擇,獲取與所選擇的文本片段的源圖像相對應(yīng)的圖像片段;以及在所述客戶端設(shè)備的所述顯示器上顯示所述圖像片段以取代所選擇的文本片段。
9.根據(jù)權(quán)利要求8所述的計算機(jī)可讀存儲介質(zhì),進(jìn)一步包括用于以下的程序代碼響應(yīng)于所述用戶對所述圖像片段的選擇,在所述客戶端設(shè)備的所述顯示器上顯示所述文本片段以取代所選擇的圖像片段。
10.根據(jù)權(quán)利要求8所述的計算機(jī)可讀存儲介質(zhì),其中所述文檔進(jìn)一步包括指示相關(guān)聯(lián)文本片段的質(zhì)量的垃圾得分,以及其中用于顯示一個或多個所述文本片段的程序代碼包括用于以下的程序代碼將所述相關(guān)聯(lián)文本片段的所述垃圾得分與閾值的值進(jìn)行比較;響應(yīng)于所述垃圾得分低于所述閾值的值,顯示所述相關(guān)聯(lián)文本片段;以及響應(yīng)于所述垃圾得分超過所述閾值的值,在所述客戶端設(shè)備的所述顯示器上顯示與所述相關(guān)聯(lián)文本片段相對應(yīng)的圖像片段以取代所述相關(guān)聯(lián)文本片段。
11.根據(jù)權(quán)利要求8所述的計算機(jī)可讀存儲介質(zhì),其中所述文檔包括將所包括的文本片段與所述源圖像的圖像片段相關(guān)聯(lián)的位置信息,其中用于獲取所述圖像片段的程序代碼進(jìn)一步包括用于以下的程序代碼標(biāo)識所述所顯示的文本片段在所述文檔中的位置信息;以及傳輸針對所述圖像片段的請求,所述請求包括所標(biāo)識的所述位置信息。
12.一種用于向用戶提供出版物的計算機(jī)實現(xiàn)的方法,包括接收包括響應(yīng)于對所述出版物的源圖像執(zhí)行的光學(xué)字符識別(OCR)處理而生成的文本片段的文檔,所述文檔還包括指定與所述文本片段相對應(yīng)的所述源圖像的片段的位置信息;向客戶端設(shè)備提供所述文檔;以及響應(yīng)于從所述客戶端設(shè)備接收包括與所述文檔中所包含的文本片段對應(yīng)的圖像片段的位置信息的請求,向所述客戶端設(shè)備提供所述對應(yīng)的圖像片段。
13.根據(jù)權(quán)利要求12所述的計算機(jī)實現(xiàn)的方法,其中接收所述文檔進(jìn)一步包括生成指示相關(guān)聯(lián)文本片段的質(zhì)量的垃圾得分;以及生成所述文檔以包括所述相關(guān)聯(lián)文本片段和所述垃圾得分。
14.根據(jù)權(quán)利要求13所述的計算機(jī)實現(xiàn)的方法,其中生成相關(guān)聯(lián)文本片段的所述垃圾得分進(jìn)一步包括基于語言模型,計算所述相關(guān)聯(lián)文本片段中的每個字符的語言條件性字符概率的集合;以及基于所述文本片段中的字符的語言條件性字符概率的集合,生成所述相關(guān)聯(lián)文本片段的所述垃圾得分。
15.根據(jù)權(quán)利要求13所述的計算機(jī)實現(xiàn)的方法,進(jìn)一步包括在所述文檔中包括控制模塊,所述控制模塊適用于在所述客戶端設(shè)備上執(zhí)行以控制所述文檔在所述客戶端設(shè)備上的顯示,以及響應(yīng)于與所述客戶端設(shè)備的用戶的交互而生成針對與所述文本片段對應(yīng)的圖像片段的請求。
16.根據(jù)權(quán)利要求12所述的計算機(jī)實現(xiàn)的方法,其中所述位置信息描述所述源圖像中顯示對應(yīng)的文本片段中所包括的文本的區(qū)域。
17.—種編碼有用于向用戶提供出版物的可執(zhí)行計算機(jī)程序代碼的計算機(jī)可讀存儲介質(zhì),所述計算機(jī)程序代碼包括用于執(zhí)行如下的程序代碼接收包括響應(yīng)于對所述出版物的源圖像執(zhí)行的光學(xué)字符識別(OCR)處理而生成的文本片段的文檔,所述文檔還包括指定與所述文本片段相對應(yīng)的所述源圖像的片段的位置信息;向客戶端設(shè)備提供所述文檔;以及響應(yīng)于從所述客戶端設(shè)備接收包括與所述文檔中所包含的文本片段對應(yīng)的圖像片段的位置信息的請求,向所述客戶端設(shè)備提供所述對應(yīng)的圖像片段。
18.根據(jù)權(quán)利要求17所述的計算機(jī)可讀存儲介質(zhì),其中用于獲取所述文檔的程序代碼進(jìn)一步包括用于如下的程序代碼生成指示相關(guān)聯(lián)文本片段的質(zhì)量的垃圾得分;以及生成所述文檔以包括所述相關(guān)聯(lián)文本片段和所述垃圾得分。
19.根據(jù)權(quán)利要求18所述的計算機(jī)可讀存儲介質(zhì),其中用于生成相關(guān)聯(lián)文本片段的所述垃圾得分的程序代碼進(jìn)一步包括用于如下的程序代碼基于語言模型,計算所述相關(guān)聯(lián)文本片段中的每個字符的語言條件性字符概率的集合;以及基于所述文本片段中的字符的語言條件性字符概率的集合,生成所述相關(guān)聯(lián)文本片段的所述垃圾得分。
20.根據(jù)權(quán)利要求18所述的計算機(jī)可讀存儲介質(zhì),進(jìn)一步包括用于如下的程序代碼 在所述文檔中包括控制模塊,所述控制模塊適用于在所述客戶端設(shè)備上執(zhí)行用以控制所述文檔在所述客戶端設(shè)備上的顯示,以及用以響應(yīng)于與所述客戶端設(shè)備的用戶的交互而生成針對與所述文本片段對應(yīng)的圖像片段的請求。
全文摘要
使用光學(xué)字符識別(OCR)處理從出版物的源圖像提取文本。生成包括所提取文本的文本片段的文檔。該文檔包括對與所顯示文檔的用戶交互進(jìn)行響應(yīng)的控制模塊。響應(yīng)于用戶對所顯示文本片段的選擇,從源圖像中獲取對應(yīng)的包括該文本的圖像片段,并將繪制該圖像片段以取代所選擇的文本片段。用戶可以再次將顯示切換回文本片段??梢岳弥甘酒滟|(zhì)量的垃圾得分來標(biāo)記每個文本片段。如果文本片段的垃圾得分超過閾值的值,則可以自動地代之以顯示對應(yīng)的圖像片段。
文檔編號G06K9/00GK102301380SQ201080005734
公開日2011年12月28日 申請日期2010年1月25日 優(yōu)先權(quán)日2009年1月28日
發(fā)明者A·波帕特, F·豪根, V·蘭納卡 申請人:谷歌公司