説明

文書ファイル表示装置、方法およびプログラム

【課題】表示領域の小さい画面で画像と文書が混在したドキュメントを画像ビューワで表示する際に、テキスト文字種の判別を行うことなく、閲覧性を向上させる。
【解決手段】本発明によると、元の画像ファイルの要素の並びに沿った要素画像にて、表示部に納まるサイズの行情報が作成され、さらにその行情報がスクロール方向に並んだ段落情報が作成される。ユーザは、単純に段落情報をスクロール方向に沿ってスクロールするだけで、行情報の前後関係を確かめながら文書を読み進めることができ、複数の方向にあちこちスクロールしながら文書を読み進める必要がない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、新聞、雑誌、書類、教科書、参考書などの文書を画像化した各種のコンテンツを表示する装置、方法およびプログラムに関する。
【背景技術】
【0002】
近年の情報技術革新に伴い、雑誌やコミックなどの紙にプリントされることを前提とした書籍をデジタル化し、スマートフォンなどの画像ビューアで視聴するという情報配信形態が確立されてきた。
【0003】
非特許文献1および2には、画像化された新聞を、スクロール、拡大、縮小することで、新聞記事をユーザに読ませることが開示されている。
【0004】
特許文献1では、携帯電話においてメールの添付ファイルを視聴する技術が開示されている。
【0005】
特許文献2では、携帯端末に合わせ文書のレイアウトを変更する技術が開示されている。
【0006】
特許文献3では、文書データのレイアウトをメタデータ化し、それに応じてレイアウトをして印刷する技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−199983号公報
【特許文献2】特開平11−122398号公報
【特許文献3】特開2008−176541号公報
【非特許文献】
【0008】
【非特許文献1】「産経NetViewの使い方」、平成23年4月13日検索、URL<http://www.sankei.co.jp/netview/howto_1.html>
【非特許文献2】「産経新聞(iPhone版):操作方法」、平成23年4月13日検索、URL<http://www.sankei.co.jp/iphone/>
【発明の概要】
【発明が解決しようとする課題】
【0009】
近年の携帯端末の高機能化に伴い、ネットワークを介した様々なデータが取得可能になった。例えば、メールサーバ上のメールを取得したり、社内の共有サーバのファイルを取得するというような操作が可能である。テキストデータ、jpg(Joint Photographic Experts Group)などの圧縮画像データ、HTMLデータなどのデータ形式は、ほとんどの携帯端末で視聴できる。しかし、取得するデータが、構造化された文書ファイル形式(Microsoft Word(登録商標), Microsoft Excel(登録商標), Microsoft PowerPoint(登録商標), Adobe PDF(登録商標)など、プレーンテキストファイル以外の文書ファイル)の場合、当該データを視聴できるアプリケーションを搭載した携帯端末は少ないのが現状である。このような状況の中、ビューワアプリケーションが携帯端末に搭載されていなくとも、文書ファイルを閲覧するための技術が開発されてきた。
【0010】
例えば、サーバ側で取得要求のあった文書ファイルをレンダリング(画像化)し、画像化したデータを携帯端末に送信する。携帯端末は当該画像を再生することで、元々の文書ファイルと同じレイアウトの文書を閲覧できる。しかし、生成される画像は、紙にプリントされることを前提としたレイアウトであることが多く、携帯端末のように表示領域が小さい場合、文書を快適に閲覧できるとは言い難い。
【0011】
特許文献1は、文書ファイルをレンダリングし、画像化するだけでなく、レイアウト情報とテキスト情報も抽出し、画像とともに携帯電話に送信することで、画像では文字が潰れて読めない領域はテキストを表示し、視聴の利便性を向上させようとしている。このためには、テキスト領域の判別に加え、文字種の判別を行う必要がある。
【0012】
特許文献2は、画面サイズに合わせ文書画像のレイアウトを変更しているが、文書と画像が混在したオフィスドキュメントなどをそのままのレイアウトで画像化した文書には対応できない。
【0013】
本発明はこのような問題点に鑑みてなされたもので、表示領域の小さい画面で画像と文書が混在したドキュメントを画像ビューワで表示する際に、テキスト文字種の判別を行うことなく、閲覧性を向上させることを目的とする。
【課題を解決するための手段】
【0014】
本発明は、画像を表示する表示部と、構造化された文書ファイルを画像ファイルに変換する画像変換部と、画像変換部の変換した画像ファイルから、文書を構成する個々の要素の存在領域および要素の並び方向を含むレイアウト情報を検出するレイアウト情報検出部と、レイアウト情報検出部の検出したレイアウト情報に基づき、個々の要素の存在領域に相当する部分画像である要素画像を画像ファイルから抽出する要素画像抽出部と、要素画像抽出部の抽出した各要素画像の要素の並び方向に沿ったサイズに基づき、表示部に納まる要素画像の集合で、行情報を作成する行情報作成部と、要素の並び方向に従い、行情報作成部の作成した行情報のスクロール方向を決定するスクロール方向決定部と、スクロール方向決定部の決定したスクロール方向に沿って複数の行情報を配列することで、段落情報を作成する段落情報作成部と、段落情報作成部の作成した段落情報を、表示部の表示範囲内で表示する表示制御部と、スクロール方向に沿った段落情報のスクロール表示を指示するスクロール指示部と、を備え、表示制御部は、スクロール指示部の指示するスクロール方向に沿って、段落情報を表示部の表示範囲内でスクロール表示する文書ファイル表示装置を提供する。
【0015】
好ましくは、表示制御部は、画像ファイルの全体を縮小表示するとともに、縮小表示された画像の中の各文書の存在領域を指し示す情報を表示し、各文書の存在領域の中から所望の文書の存在領域を選択する領域選択部を備え、レイアウト情報検出部は、領域選択部の選択した文書の存在領域から、個々の要素の存在領域および要素の並び方向を含むレイアウト情報を検出し、表示制御部は、表示部の第1の領域に、スクロール指示部の指示するスクロール方向に沿って、領域選択部の選択した文書の存在領域に対応する段落情報を表示部の表示範囲内でスクロール表示するとともに、表示部の第1の領域と異なる第2の領域に、画像ファイルの全体を縮小表示する。
【0016】
好ましくは、スクロール方向決定部は、要素の並び方向と直交する方向を行情報のスクロール方向に決定する。
【0017】
好ましくは、段落情報の表示の拡縮率を指定する拡縮率指定部を備え、行情報作成部は、要素画像抽出部の抽出した各要素画像を拡縮率指定部の指定した拡縮率に従って拡縮したサイズに従い、要素の並び方向に沿って表示部に納まる要素画像の集合で、行情報を作成する。
【0018】
好ましくは、行情報作成部は、所定の基準に満たない要素画像を行情報から削除する。
【0019】
好ましくは、段落情報作成部は、所定の基準に満たない行情報を段落情報から削除する。
【0020】
好ましくは、行情報作成部は、画像ファイル上の要素の並び方向に隣接する要素画像同士を同一の行情報に含める。
【0021】
好ましくは、行情報作成部は、所定の割合のサイズに満たない前の要素画像と要素方向に沿って隣接する後の要素画像を、前の要素画像と異なる行情報に含める。
【0022】
好ましくは、行情報作成部は、異なる行情報を結合したサイズが要素の並び方向に沿って表示部に納まる場合、異なる行情報を同一の行情報に統合する。
【0023】
好ましくは、行情報作成部は、改行の直前の要素画像と改行の直後の要素画像が連続しないよう行情報を作成する。
【0024】
好ましくは、段落情報作成部は、画像ファイル上のスクロール方向に隣接する要素画像を含む行情報同士を同一の段落情報に含める。
【0025】
好ましくは、要素画像抽出部は、レイアウト情報検出部の検出した個々の要素の存在領域を所定のサイズだけ拡張した領域を要素画像として抽出する。
【0026】
本発明は、情報処理装置が、構造化された文書ファイルを画像ファイルに変換するステップと、変換した画像ファイルから、文書を構成する個々の要素の存在領域および要素の並び方向を含むレイアウト情報を検出するステップと、検出したレイアウト情報に基づき、個々の要素の存在領域に相当する部分画像である要素画像を画像ファイルから抽出するステップと、記抽出した各要素画像の要素の並び方向に沿ったサイズに基づき、画像を表示する表示部に納まる要素画像の集合で、行情報を作成するステップと、要素の並び方向に従い、作成した行情報のスクロール方向を決定するステップと、決定したスクロール方向に沿って複数の行情報を配列することで、段落情報を作成するステップと、作成した段落情報を、表示部の表示範囲内で表示するステップと、スクロール方向に沿った段落情報のスクロール表示を指示するステップと、指示するスクロール方向に沿って、段落情報を表示部の表示範囲内でスクロール表示するステップと、を実行する文書ファイル表示方法を提供する。
【0027】
本発明は、この文書ファイル表示方法を情報処理装置に実行させるための文書ファイル表示プログラムを提供する。
【発明の効果】
【0028】
本発明によると、元の画像ファイルの要素の並びに沿った要素画像にて、表示部に納まるサイズの行情報が構成され、さらにその行情報がスクロール方向に並んだ段落情報が作成される。ユーザは、単純に段落情報をスクロール方向に沿ってスクロールするだけで、行情報の前後関係を確かめながら文書を読み進めることができ、複数の方向にあちこちスクロールしながら文書を読み進める必要がない。
【図面の簡単な説明】
【0029】
【図1】コンテンツ配信システムの概略構成図
【図2】画像出力部の出力した画像ファイルの一例を示す図
【図3】行レイアウト情報テーブルを示す図
【図4】文字レイアウト情報を示す図
【図5】OCRでレイアウト情報が取得されている様子を模式的に示す図
【図6】文書配信処理のフローチャート
【図7】元画像のプレビュー表示の一例を示す図
【図8】選択された文書領域の一例を示す図
【図9】文書のレイアウトの再構成(A7)の詳細なフローチャート
【図10】文字の周辺部に欠けが発生した文字認識範囲の一例を示す図
【図11】文字の下部に欠けが発生した文字認識範囲の一例を示す図
【図12】OCR認識された文字の縦横サイズ値から数ピクセル分拡張した範囲を、改めて、認識された文字画像として抽出した様子を示す図
【図13】行情報の作成を示す図
【図14】行情報の作成(分離)を示す図
【図15】行情報の作成(統合)を示す図
【図16】元画像の一例を示す図
【図17】文書閲覧用の表示画像の再構成の一例を示す図
【図18】隣接する行情報の一例を示す図
【図19】行頭のずれを保持しながら、2つ以上の行情報を結合した様子を示す図
【図20】元画像の改行を保持するよう作成された段落情報の一例を示す図
【図21】従来のOCRによる文字配置を示す図
【発明を実施するための形態】
【0030】
<第1実施形態>
図1は本発明の好ましい実施形態に係るコンテンツ配信システムの構成を示す。このシステムは、サーバ1とクライアント2とを含む。サーバ1は、演算装置(CPU)、記憶装置、入出力回路などを備えたコンピュータ(情報処理装置)で構成される。クライアント2は、画像を再生可能な表示手段、通信手段、演算装置(CPU)、記憶装置、入出力回路、操作手段などを備えた情報端末であり、例えば、スマートフォンやタブレット型コンピュータで構成される。なお、サーバ1にアクセスするクライアント2は不特定多数であってもよいものとする。
【0031】
具体的には、サーバ1は、文書ファイル取得部10、画像出力部11、通信部12、通信データ制御部13、文書ファイル解析部14、データベース(DB)15を備える。
【0032】
通信データ制御部13、文書ファイル解析部14は、CPUなどの情報処理装置で構成される。DB15は、ハードディスクやメモリなどの記憶媒体で構成される。文書ファイル取得部10、画像出力部11、通信部12は、入出力装置、ネットワーク通信装置などで構成される。情報の送受信の開始や終了などの通信に関する制御は通信データ制御部13が司る。
【0033】
通信データ制御部13は、受信データ制御、送信データ制御を行う。受信データ制御は、通信部12で取得したデータの解析処理を含む。また、送信データ制御は、文書ファイル解析部14と、画像出力部11で生成した画像やレイアウト情報、テキスト情報を特定のデータ形式に変更し、通信部12へ送る処理を含む。
【0034】
文書ファイル取得部10は、ネットワークで接続された文書ストレージ3から、各種の形式(doc, txt, pdf, ppt, xlsなど)で構造化された文書ファイルを取得する。どのファイルを取得するかは、クライアント2が指定するか、サーバ1の操作手段などでユーザが指定する。
【0035】
画像出力部11は、クライアント2やサーバ1の各ブロックからの要求に応じ、文書ファイル取得部10の取得した文書ファイルを、クライアント2で再生可能な画像ファイルの形式(jpg, tif, bmpなど)に変換し、文書ファイル解析部14に出力する。図2は、画像出力部11の出力した画像ファイルの一例を示す。以下、画像出力部11の出力した画像ファイルは、元画像と呼ばれることもある。
【0036】
文書ファイル解析部14は、画像出力部11の出力した画像ファイルから画像領域とテキスト領域を判別し、テキスト領域に含まれる各行の各文字(句読点・疑問符・括弧などの約物も含む)のレイアウトを当該行単位で解析する。この行単位の文字のレイアウトをレイアウト情報と呼ぶ。レイアウト情報は、画像ファイルとともにDB15に蓄積される。
【0037】
図3と図4は、文書ファイル解析部14の出力したレイアウト情報の一例を示す。このうち図3は、行レイアウト情報テーブルを示す。行レイアウト情報テーブルは、各行の識別情報、位置(縦位置、横位置)とサイズ(幅、高さ)と行の並び方向(横または縦)を示す行レイアウト情報を格納する。行とは、画像ファイルの各文字の読み方向に沿って並んだ文字群をいう。
【0038】
領域番号は、元画像に存在する各文書の存在領域に付与されたIDである。横位置は、領域番号で指定された領域の左上の座標を示す。縦位置は、領域番号で指定された領域の右下の座標を示す。幅は、領域番号で指定された領域の幅(読み方向に沿った長さ)を示す。高さは、領域番号で指定された領域の高さ(読み方向と直交する方向の領域の長さ)を示す。文字方向は、領域内に含まれる文字の読み方向である。
【0039】
図4は、文字レイアウト情報を示す。文字レイアウト情報は、各行の識別情報(領域番号)と、各行に含まれる各文字の識別情報(文字番号)、所属する行の識別情報(領域番号)、位置(縦位置、横位置)、サイズ(幅、高さ)を格納する。
【0040】
文字番号は、各文字に付与されるIDである。領域番号、横位置、縦位置、幅、高さは、行レイアウト情報テーブルと共通する。
【0041】
アプリケーションによる再生形式の文書ファイルのレイアウト情報は、画像出力部11に組み込まれた当該文書ファイルに対応するアプリケーションで画像化したものをOCR(Optical Character Recognition)エンジンなどの文字認識ロジックを用いて精度よく取得することができる。あるいは、画像出力部11に組み込まれた文書ファイル形式に応じたプリンタドライバにより、文書内の画像領域、テキスト領域の判別をしてもよい。レイアウト情報をレイアウト情報は、文書の単語や文節などの意味単位の区切り位置や、意味単位の文字数などを含んでもよい。ただし、文書を構成する文字自体は、レイアウト情報に含まれない。文字自体は、エラーを含むことがあるが、位置情報なら、OCRで十分に精度よく取得できる。図5はOCRでレイアウト情報が取得されている様子を模式的に示す。レイアウト情報は、構造化されたテキスト情報などで記述される。
【0042】
文書ファイル解析部14の解析したレイアウト情報は、画像出力部11の出力した元画像と対応づけてDB15に記憶される。
【0043】
通信部12は、通信データ制御部13の制御に従い、DB15の元画像とレイアウト情報をクライアント2に送信する。
【0044】
クライアント2は、通信部21、通信データ制御部22、表示部23、入力部24、画像処理部25、レイアウト処理部26、入力情報制御部27を備える。
【0045】
通信データ制御部22、画像処理部25、レイアウト処理部26、入力情報制御部27は、CPUなどの情報処理装置で構成される。
【0046】
通信データ制御部22は、受信データ制御、送信データ制御を行う。受信データ制御は、通信部21で取得したデータの分類・解析処理を含む。分類・解析の結果、レイアウト情報はレイアウト処理部26に送られ、元画像は画像処理部25に送られる。また、送信データ制御は、ユーザから入力された指令などの各種要求を特定のデータ形式に変更し、通信部21へ送る処理を含む。
【0047】
通信部21は、入出力装置、ネットワーク通信装置などで構成され、サーバ1の通信部12とインターネットなどのネットワークを介して接続し、各種の情報を送受信する。情報の送受信の開始や終了などの通信に関する制御は通信データ制御部22が司る。
【0048】
入力部24は、表示部23に積層されたタッチパネルなどのユーザインターフェースで構成され、表示画像のスクロール、拡大、縮小、次頁、前頁の取得、高解像度の元画像の取得、領域選択などの各種操作を受け付ける。
【0049】
入力情報制御部27は、入力部24に入力された操作に対応する指令を解釈し、その指令の実行に関係するブロック、例えば、画像処理部25、レイアウト処理部26、通信データ制御部22に該指令を送る。この指令は、表示画像のスクロール、拡大、縮小、次頁、前頁の取得、高解像度の元画像の取得、領域選択などを含む。画像処理部25などは、これらの指示に応じて、表示画像のスクロール、拡大、縮小、領域選択の着色ハイライト表示、次頁、前頁の取得、高解像度の元画像の取得などを行う。
【0050】
画像処理部25は、通信データ制御部22から取得した画像データの処理(拡大、縮小、平行移動、スクロール)やレイアウトの再構築処理を行う。
【0051】
レイアウト処理部26は、画像処理部25から取得した処理済み画像データ、通信データ制御部22から取得したレイアウト情報により、表示部23に送る表示画像を作成する。
【0052】
レイアウト処理部26は、サーバ1から送信されたレイアウト情報と、表示部23属性(画面高さ、画面幅、解像度など)に基づき、画像ファイルに含まれる文書の配置を決定する。
【0053】
表示部23はLCDモニタなどで構成され、その表示の制御は画像処理部27が統括する。
【0054】
図6はコンテンツ配信システムの実行する文書配信処理のフローチャートである。この処理を実行するためのプログラムはサーバ1およびクライアント2のメモリに記憶され、サーバ1およびクライアント2の各ブロックによって実行される。以下、クライアント2はA1〜A8の処理、サーバ1はB1〜B6の処理を実行する。
【0055】
A1では、クライアント2の入力情報制御部27は、入力部24への入力に基づき、文書ストレージ3に蓄積された文書の中から所望の文書ファイルを選択する。通信データ制御部22は、該選択された文書ファイルの取得を通信部21経由でサーバ1に要求する。例えば、文書ストレージ3から提供されたファイル名の一覧のURLなどから、クライアント2の入力部24および入力情報制御部27が所望の文書ファイルを選択することで、文書取得要求が発生する。あるいは、クライアント2は、DB15に蓄積された文書の中から所望の画像ファイルを選択し、その取得をサーバ1に要求することもできる。
【0056】
B1では、サーバ1の通信データ制御部13は、通信部12経由でクライアント2からの文書取得要求を受信すると、B2に進む。
【0057】
B2では、サーバ1の通信データ制御部13は、受信した文書取得要求を解析・分類し、要求元のクライアント1の識別情報(ネットワークアドレスなど)、要求された文書ファイルの識別情報(ファイル名など)を取得する。
【0058】
B3では、サーバ1の文書ファイル取得部10は、要求された文書ファイルに対応する画像ファイルをDB15から取得する。DB15に当該文書ファイルがなければ、サーバ1の文書ファイル取得部10は、要求された文書ファイルを文書ストレージ3から取得し、画像出力部11にて画像ファイルに変換する。
【0059】
B4では、サーバ1の文書ファイル解析部14は、文書ストレージ3から取得した文書ファイルを解析し、レイアウト情報を取得する。サーバ1の文書ファイル解析部14は、取得したレイアウト情報を、要求された画像ファイルに対応づけてDB15に記憶する。
【0060】
B5では、サーバ1の通信データ制御部13は、通信部12経由で、要求された文書ファイルの画像ファイルとそれに対応するレイアウト情報をクライアント2に送信する。
【0061】
A2では、クライアント2の通信データ制御部22は、通信部21経由で、サーバ1から送信されてきた画像ファイルとレイアウト情報を受信する。
【0062】
A3では、クライアント2のレイアウト処理部26は、表示部23の属性(サイズ)、文書の拡縮率、および文書の行方向を解析する。これらの情報のうち、表示部23の属性(サイズ)は、クライアント2のROMなどに予め記憶されていてもよい。
【0063】
A4では、クライアント2は、画像ファイルの画像全体をプレビュー表示する。
【0064】
A5では、クライアント2は、入力部24を介し、プレビュー表示された元画像全体の中から、表示すべき文書領域の選択を受け付ける。例えば、図7では、文書領域R1〜R6を含む元画像がプレビューされており、図8では、領域R2が表示すべき文書領域として選択されている。選択された文書領域は色分けなどで視覚的に区別される。
【0065】
A6では、クライアント2の入力情報制御部27は、表示すべき文書領域の選択が完了したか否かを判断する。Yesの場合はA7に進み、Noの場合は引き続きこの選択を待機する。
【0066】
A7では、クライアント2の画像処理部25は、表示部23の属性(サイズ)、文書の拡縮率、および文書の行方向に基づき、選択された文書領域の最適なレイアウトを決定し、選択された文書領域に含まれる文書のレイアウトを再構成する。この処理の詳細は後述する。
【0067】
A8では、クライアント2の画像処理部25は、再構成された最適なレイアウトで、該選択された文書領域に含まれる文書を表示部23に表示する。画像のプレビュー表示領域と、選択された文書領域の文書の表示領域は、それぞれ別である。
【0068】
図9は文書のレイアウトの再構成(A7)の詳細を示す。この処理は、画像処理部25およびレイアウト処理部26により実行される。
【0069】
A7−1では、レイアウト処理部26は元画像の各文字のレイアウト情報を取得する。これは、サーバ1の文書ファイル解析部14の解析の結果得られたレイアウト情報でもよいし、クライアント2のレイアウト処理部26で実行された同様の解析の結果得られたレイアウト情報でもよい。
【0070】
レイアウト処理部26は、レイアウト情報に基づいて、文字認識範囲に描画されている文字画像(文字の存在範囲に相当する部分画像)を抽出する。
【0071】
図10に例示するように、OCRでの文字認識の際は、文字認識範囲に描画されている文字画像(文字の存在範囲に相当する部分画像)にずれが生じ、文字の周辺部に欠けが発生する。特に、図11に例示するように、文字下部の文字欠けが頻発することが知られている。このため、図12に例示するように、OCR認識された文字の縦横サイズ値から数ピクセル分拡張した範囲を、改めて、認識された文字画像として抽出する。ここでは、文字そのものでなく、元画像上の文字の存在範囲が認識されることに注意を要する。なお、所定のサイズに満たない文字認識範囲からは、文字画像を抽出しないか、抽出しても、そのような文字画像を削除する。
【0072】
A7−2では、レイアウト処理部26は、認識された各文字画像の集合から、1または複数の行情報を作成する。行の配置される方向は、レイアウト情報の文字方向に従う。
【0073】
ここでいう文字方向は、表示画像のスクロール方向と異なる。操作性を考慮すると、スクロール方向は、行方向と直交する方向が好ましい。さらに操作性を考慮し、スクロール方向は、1つのみが望ましい。従来技術のように左右および上下方向など、スクロール方向が複数あると、あちこちにスクロールしながら文書を閲覧することになり、使いにくいからである。
【0074】
いくつの文字画像の数nで表示部23の1行の行情報を作成するかは、各文字画像のサイズai、表示部23の行方向のサイズb、および文字の拡縮率cに依存する。すなわち、各文字を所望の拡縮率で拡縮し、表示部23の文字方向のサイズを超えない最大限の範囲で、元画像の選択文書と同じ並びを保ったままその拡縮後の各文字を行方向に並べていった場合、その文字の集合が1行分の行集合となる。数式で表すと、1行分の文字集合の行方向のサイズは、
L= Σai*c*n≦b …(1)
を満たすLの最大値Lmaxである。ここで、Σaiは、隣接する個々の文字画像の総和(行情報)である。よって、
n=Lmax/(Σai*c) …(2)
である。bは固定値であるから、文字の拡縮率cが大きくなれば、それだけ表示部23の1行あたりの文字数nは小さくなる。拡縮率cは、ユーザインターフェース、例えば、図7の拡縮ボタンBを介してユーザより任意に指定される。
【0075】
行情報Σaiは、次のようにして決定される。例えば、図13のように、行の読み進み方向である左から右に沿って、前の文字画像である「商」の文字画像に隣接する所定のサイズαの領域、例えば当該「商」の文字画像の横幅の30%の横幅を有する領域が、「品」の文字画像の存在領域の一部と重複したとする。この場合、レイアウト処理部26は「商」の文字画像に隣接する文字画像は「品」の文字画像と判断し、それらは同じ行情報に含める。
【0076】
逆に、前の文字画像の幅が所定のサイズに満たないものと、それに隣接する文字画像は、隣接しないものと判断する。例えば、図14のような「。」の文字画像は、所定サイズαを下回り、次の文字画像「会」とは隣接しないものとする。すなわち文字画像「。」と「会」は別の行情報に分離する。
【0077】
ただし、文字画像同士が隣接しないと判断されても、異なる文字画像の集合同士が、元画像上で共通する座標を有しており、かつそれらの結合サイズが表示部23の表示範囲に納まるならば、それらを同じ行情報に統合する。例えば、図15の2つの行集合R1とR2は、所定サイズαに満たない「、」の文字画像で分断されているが、それらの結合サイズが表示部23の表示範囲に納まるので、これを新たな行情報Rとする。
【0078】
レイアウト処理部26は、n個分の文字画像を含む切り出し枠を元画像に設定し、1行分の文字画像の固まりを切り出す。そして、切り出した1行分の文字画像の固まりを、スクロール方向に沿って1行分ずつ配置する。
【0079】
例えば、図16のような元画像Iが存在し、数式(2)により、表示部23の1行あたりの文字数n=12が算出されたとする。この場合、1番目の行に対する切り出し枠として、元画像Iの1番目の行の12個分の文字画像を含む枠T1が画像Iに設定される。次に、2番目の行に対する切り出し枠として、元画像Iの1番目の行の5個分の文字画像を含む枠T2−1と、元画像Iの2番目の行の7個分の文字画像を含む枠T2−2とからなる枠T2が元画像Iに設定される。次に、3番目の行に対する切り出し枠として、元画像Iの2番目の行の10個分の文字画像を含む枠T3−1と、元画像Iの3番目の行の2個分の文字画像を含む枠T3−2とからなる枠T3が元画像Iに設定される。以後、同様に、前のk番目の行の枠に包含されなかった直後の文字画像から、n個後の文字画像までを包含するように、k+1番目の行の枠Tkが設定される。
【0080】
図17に例示するように、レイアウト処理部26は、枠Tkに包含される部分画像を、スクロール方向に沿って、k番目の行に配置する。このようにして行の配置を繰り返すことで、元画像Iから、クライアント2での文書閲覧用の表示画像I’を再構成する。表示画像I’がスクロールしない文字方向Xのサイズは、表示部23のサイズと同じであるかそれよりも小さい。すなわち、文字方向Xに関し、画像I’のサイズと表示部23のサイズと異なっていても、文字方向にスクロールの必要がないほど微細な違いしかないものとする。
【0081】
A7−3では、レイアウト処理部26は、行集合の中から不要文字行を削除する。不要文字行とは、1文字だけの行情報である。これは、1文字だけの行情報は、文字の一部を文字として誤認識した可能性が高いためである。ただし不要文字行は、1文字だけの行情報に限られない。
【0082】
A7−4では、レイアウト処理部26は、文字方向に基づいてスクロール方向を決定する。通常は、読む行を閲覧者に簡単に選択させるため、文字方向とスクロール方向とは直交する関係にあるとする。例えば、レイアウト処理部26は、文字方向が横であれば、スクロール方向は縦、文字方向が縦であれば、スクロール方向は横というように、文字方向からスクロール方向を決定する。
【0083】
レイアウト処理部26は、決定したスクロール方向に沿って隣接した行情報を結合することで、段落情報を作成する。これは例えば図18のように、元画像およびその文字方向を基準にすると、上流側の文字画像を含む行情報(前の行情報R1)の下端から所定の範囲β、例えば前の行情報R1の文字画像の高さの50%の範囲に存在する文字画像を含む行情報R2(後の行情報R2)が、R1と隣接する行情報と判断される。レイアウト処理部26は、隣接する行情報R1とR2を結合し、同一の段落情報とする。レイアウト処理部26は、この隣接する行情報の判断と結合を行情報ごとに繰り返すことで、段落情報を作成する。
【0084】
なお、図19に例示するように、レイアウト処理部26は、行頭のずれを保持しながら、2つ以上の行情報を結合してもよい。
【0085】
あるいは、レイアウト処理部26は、元画像の文書領域の改行を保持するように、行情報を作成してもよい。すなわち、図20に例示するように、レイアウト処理部26は、元画像の選択された文書領域Dの行の中に、途中で改行のある行Fを識別した場合、この行Fの末尾の文字画像には、直後の行L2の最初の文字画像を結合せず、これらが同一の行情報で連続しないよう、行情報および段落情報Zを作成する。
【0086】
A7−5では、レイアウト処理部26は、段落情報の中から不要段落を判断し、削除する。不要段落は、段落面積や段落内の文字数に応じて判断される。例えば、ある段落に含まれている文字面積の総和が、元の画像の面積に対する比率(0.1%など)以下であれば、その段落は不要段落と判断される。あるいは、ある段落に含まれている文字の数がある所定の数(2個など)以下であれば、その段落は不要段落と判断される。つまり、極端に文字数が少ない段落などは、閲覧に適さないものとして削除する。
【0087】
A7−5では、レイアウト処理部26は、不要段落削除後の段落をスクロール方向に沿って並べて結合することで、段落情報を再構成し、これを新たな表示画像I’とする。この後A8に進み、表示画像I’が表示される。
【0088】
表示画像I’の文字方向のサイズは、表示部23のサイズと同じであり、スクロールは不要であるが、表示画像I’のスクロール方向のサイズは、表示部23のサイズを超える場合がある。よって、表示画像I’のスクロール方向の表示範囲は、表示部23のサイズに限定され、部分的な表示となる。
【0089】
そのため、入力情報制御部27は、文字方向から定まるスクロール方向の指示を受け付け、その指示を画像処理部25に送る。画像処理部25は、スクロールの指示どおり表示画像I’をスクロールさせ、スクロールで進んだ範囲を表示させる。ただし、入力情報制御部27は、それ以外のスクロール方向の指示は受け付けず無視してもよい。
【0090】
入力情報制御部27は、表示画像I’の拡縮率の変更を受け付けると、A7−1に戻り、変更された拡縮率に最適な表示画像I’が再構成される。
【0091】
以上の処理によると、元画像の文字の並びに沿った文字画像にて、画面横サイズと同じサイズの行情報が作成され、さらにその行情報がスクロール方向に並んだ段落情報から表示画像I’が作成される。ユーザは、単純に表示画像I’を文字方向と直交するスクロール方向に沿ってスクロールするだけで、行の前後関係を確かめながら文書を読み進めることができ、複数の方向にあちこちスクロールしながら文書を読み進める必要がない。
【0092】
従来では、OCRで文字そのものを認識し、認識された文字を並べて行を作成していくと、次のような問題が生じる。(1)微妙な文字間のバランスを再現するのが難しい。(2)句読点の正しい配置が難しい(図21参照)。しかしながら、本処理では、画像そのものを並べて閲覧用画像を再構成するため、このような問題は起こらない。
【0093】
また、任意に指定された拡縮率に応じて、閲覧用画像を再構成するため、どのような拡縮率でも、行の前後関係を確かめながら文書を読み進めることができる。
【符号の説明】
【0094】
1…サーバ、2…クライアント、10…文書ファイル取得部、11…画像出力部、12…通信部、13…通信データ制御部、14…文書ファイル解析部、15…DB、21…通信部、22…通信データ制御部、23…表示部、24…入力部、25…画像処理部、26…レイアウト処理部、27…入力情報制御部

【特許請求の範囲】
【請求項1】
画像を表示する表示部と、
構造化された文書ファイルを画像ファイルに変換する画像変換部と、
前記画像変換部の変換した画像ファイルから、文書を構成する個々の要素の存在領域および要素の並び方向を含むレイアウト情報を検出するレイアウト情報検出部と、
前記レイアウト情報検出部の検出したレイアウト情報に基づき、個々の要素の存在領域に相当する部分画像である要素画像を前記画像ファイルから抽出する要素画像抽出部と、
前記要素画像抽出部の抽出した各要素画像の前記要素の並び方向に沿ったサイズに基づき、前記表示部に納まる前記要素画像の集合で、行情報を作成する行情報作成部と、
前記要素の並び方向に従い、前記行情報作成部の作成した行情報のスクロール方向を決定するスクロール方向決定部と、
前記スクロール方向決定部の決定したスクロール方向に沿って複数の行情報を配列することで、段落情報を作成する段落情報作成部と、
前記段落情報作成部の作成した段落情報を、前記表示部の表示範囲内で表示する表示制御部と、
前記スクロール方向に沿った前記段落情報のスクロール表示を指示するスクロール指示部と、
を備え、
前記表示制御部は、前記スクロール指示部の指示するスクロール方向に沿って、前記段落情報を前記表示部の表示範囲内でスクロール表示する文書ファイル表示装置。
【請求項2】
前記表示制御部は、前記画像ファイルの全体を縮小表示するとともに、前記縮小表示された画像の中の各文書の存在領域を指し示す情報を表示し、
前記各文書の存在領域の中から所望の文書の存在領域を選択する領域選択部を備え、
前記レイアウト情報検出部は、前記領域選択部の選択した文書の存在領域から、個々の要素の存在領域および要素の並び方向を含むレイアウト情報を検出し、
前記表示制御部は、前記表示部の第1の領域に、前記スクロール指示部の指示するスクロール方向に沿って、前記領域選択部の選択した文書の存在領域に対応する段落情報を前記表示部の表示範囲内でスクロール表示するとともに、前記表示部の第1の領域と異なる第2の領域に、前記画像ファイルの全体を縮小表示する請求項1に記載の文書ファイル表示装置。
【請求項3】
前記スクロール方向決定部は、前記要素の並び方向と直交する方向を行情報のスクロール方向に決定する請求項1または2に記載の文書ファイル表示装置。
【請求項4】
段落情報の表示の拡縮率を指定する拡縮率指定部を備え、
前記行情報作成部は、前記要素画像抽出部の抽出した各要素画像を前記拡縮率指定部の指定した拡縮率に従って拡縮したサイズに従い、前記要素の並び方向に沿って前記表示部に納まる前記要素画像の集合で、行情報を作成する請求項1〜3のいずれか1項に記載の文書ファイル表示装置。
【請求項5】
前記行情報作成部は、所定の基準に満たない要素画像を前記行情報から削除する請求項1〜4のいずれか1項に記載の文書ファイル表示装置。
【請求項6】
前記段落情報作成部は、所定の基準に満たない行情報を前記段落情報から削除する請求項1〜5のいずれか1項に記載の文書ファイル表示装置。
【請求項7】
前記行情報作成部は、前記画像ファイル上の前記要素の並び方向に隣接する要素画像同士を同一の行情報に含める請求項1〜6のいずれか1項に記載の文書ファイル表示装置。
【請求項8】
前記行情報作成部は、所定の割合のサイズに満たない前の要素画像と前記要素方向に沿って隣接する後の要素画像を、前記前の要素画像と異なる行情報に含める請求項7に記載の文書ファイル表示装置。
【請求項9】
前記行情報作成部は、異なる行情報を結合したサイズが前記要素の並び方向に沿って前記表示部に納まる場合、前記異なる行情報を同一の行情報に統合する請求項8に記載の文書ファイル表示装置。
【請求項10】
前記行情報作成部は、改行の直前の要素画像と改行の直後の要素画像が連続しないよう行情報を作成する請求項7または8に記載の文書ファイル表示装置。
【請求項11】
前記段落情報作成部は、前記画像ファイル上の前記スクロール方向に隣接する要素画像を含む行情報同士を同一の段落情報に含める請求項1〜10のいずれか1項に記載の文書ファイル表示装置。
【請求項12】
前記要素画像抽出部は、前記レイアウト情報検出部の検出した個々の要素の存在領域を所定のサイズだけ拡張した領域を要素画像として抽出する請求項1〜11のいずれか1項に記載の文書ファイル表示装置。
【請求項13】
情報処理装置が、
構造化された文書ファイルを画像ファイルに変換するステップと、
前記変換した画像ファイルから、文書を構成する個々の要素の存在領域および要素の並び方向を含むレイアウト情報を検出するステップと、
前記検出したレイアウト情報に基づき、個々の要素の存在領域に相当する部分画像である要素画像を前記画像ファイルから抽出するステップと、
前記抽出した各要素画像の前記要素の並び方向に沿ったサイズに基づき、画像を表示する表示部に納まる前記要素画像の集合で、行情報を作成するステップと、
前記要素の並び方向に従い、前記作成した行情報のスクロール方向を決定するステップと、
前記決定したスクロール方向に沿って複数の行情報を配列することで、段落情報を作成するステップと、
前記作成した段落情報を、前記表示部の表示範囲内で表示するステップと、
前記スクロール方向に沿った前記段落情報のスクロール表示を指示するステップと、
前記指示するスクロール方向に沿って、前記段落情報を前記表示部の表示範囲内でスクロール表示するステップと、
を実行する文書ファイル表示方法。
【請求項14】
請求項13に記載の文書ファイル表示方法を情報処理装置に実行させるための文書ファイル表示プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図20】
image rotate

【図21】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2012−230623(P2012−230623A)
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2011−99694(P2011−99694)
【出願日】平成23年4月27日(2011.4.27)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】