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