以下、図面を参照しつつ、本発明の実施形態について説明する。なお、以下の実施形態は、携帯端末装置に対し、本発明に係る、表示制御装置及び、プログラムを適用した場合の実施形態である。
[1]携帯用端末装置の概要
まず、図1を用いて本実施形態における携帯用端末装置10の概要について説明する。なお、図1は、本実施形態における携帯用端末装置10の概要構成を示すブロック図である。
携帯用端末装置10は、例えば、PC(Personal Computer)、タブレット型情報端末装置、スマートフォン、又は、携帯型ゲーム機等の通信端末装置であり、当該携帯用端末装置10が有する種々のハードウェアと協働し、文書が画像化された画像データをユーザに閲覧可能に表示するためのプログラム(以下、「閲覧アプリケーション(文書ビューワー)」という。)を実行するための構成を有している。
特に、携帯用端末装置10は、PDF(Portable Document Format)等の編集者の編集意図を的確に再現することが可能であって、文字及び図版等の文書の各要素が固定配置された印刷ページ体裁のビットマップ形式によって構成された画像データ(以下、単に「文書データ」という。)を表示する表示機能を有している。
ただし、PDF形式のデータは、必ずしもビットマップ形式ではなく、表示時にフォントを参照する文字コードベース形式でも形成することが可能であるが、当該文字コードベース形式であってもビットマップ形式と同様に、編集者の意図を担保するために組版体裁を自由に変更することができないことを特徴としている。
そして、携帯用端末装置10は、ユーザ操作に基づいて、一の文書データが選択されて閲覧アプリケーションを実行すると、ユーザによって設定された文書画像を表示する際の表示画面内において指定された領域(以下、「指定表示領域」という。)の領域サイズに基づいて、選択された文書データを表示する構成を有している。
具体的には、携帯用端末装置10は、閲覧アプリケーションを実行すると、
(1)文書データにおける文書を構成する文字の各配置を画像解析し、各文字の区画(以下、「文字区画」という。)における画像(以下、「区画画像」という。)の配置位置(以下、「区画位置」という。)及びそのサイズ(以下、「区画サイズ」という。)を検出する文字配置解析処理、
(2)文字区画の配置位置及び区画サイズに基づいて、文書の各文書構造を維持しつつ、各文字区画を、ユーザによって表示画面内において指定された指定表示領域に配置する配置位置を決定する区画配置処理、
(3)決定した各配置位置に基づいて、該当する文字区画の区画画像を割り当てて指定表示領域に表示するためのビットマップ形式の表示画像を生成するビットマップ生成処理、及び、
(4)生成した画像を表示画面に出力する出力処理
を実行し、設定した指定表示領域に取得した文書データを表示することができるようになっている。
このような各処理を実現するために、携帯用端末装置10は、図1に示すように、閲覧アプリケーションを含む必要なデータが記憶されるデータ記憶部100と、図示しない複数の文書データを管理するサーバ装置及び他の通信装置と通信を行う通信制御部110と、上記の閲覧アプリケーションを含む各種のアプリケーションの実行及びその管理を行うアプリケーション処理部120と、所定のサイズの表示画面を有する表示部150と、表示部150における種々の描画を制御する表示制御部140と、ユーザ操作を入力するために用いられる操作部160と、全体を制御する端末管理制御部190と、を有している。
また、携帯用端末装置10は、文書閲覧以外の機能を有している場合があり、例えば、ナビゲーション等の地図機能、カメラ等の撮像機能、電話機能、電子メール等のメール機能を有する場合には、GPS受信機、マイク、スピーカ、及び、通信ユニット等の種々の必要な部材を有している場合がある。そして、上記の各部は、バスBによって互いに接続され、データの授受が実行されるようになっている。
なお、例えば、本実施形態のデータ記憶部100は、本発明の記憶手段を構成し、アプリケーション処理部120は、本発明に係る取得手段、設定手段、2値化手段、行検出手段、文字区画検出手段、配置位置決定手段、画像生成手段を構成する。また、例えば、本実施形態の出力手段は、本発明の表示制御手段を構成し、表示部150は、本発明に係る表示手段及び表示装置を構成する。さらに、例えば、本実施形態の操作部160は、本発明に係る操作手段を構成する。
[2]本願発明の原理
次に、図2〜図5の各図を用いて本願発明の原理について説明する。なお、図2は、文字コードベースの文書を画像化しながら表示する際の流れを説明するための図であり、図3は、印刷ページ体裁のビットマップ形式によって既に画像化された文書を表示する際の流れを説明するための図である。また、図4は、印刷ページ体裁のビットマップ形式によって画像化された文書の表示形式を説明するための図であり、図5及び図6は、本願発明の効果の一例を説明するための図である。
本実施形態の携帯用端末装置10は、m行n列のマトリクス状に配列された複数の画素によって形成された文書画像をユーザが閲覧可能になるように表示部150に表示するための端末装置であって、
(1)ユーザによって選択された文書データを図示しないネットワークを介して他の通信端末装置から取得し、又は、内部に記憶された文書データを読み出して取得し、
(2)ユーザ操作に基づいて、文書画像を表示する際の表示画面内において指定された指定表示領域の領域サイズを設定し、
(3)取得した文書データにおける画像化された文書の各文字に該当する文字区画を検出して文字配置を画像解析する文字配置解析処理を実行し、
(4)ページ毎の文書データをシームレスに、検出した文字区画を指定表示領域に配置する配置位置を決定する区画配置処理を実行し、
(5)配置を決定した各文字区画に該当する区画画像を割り当ててビットマップ生成処理を実行し、
(6)生成したビットマップ画像を出力する構成を有している。
通常、図2に示すように、文字コードベースの文書を画像化する場合には、
(1)ユーザ操作などによる組版指示と、文字コードを示すテキストデータと、に基づいて、対応するフォントが選択され、
(2)当該選択されたフォントが組版指示に従ってビットマップに変換され(すなわち、ビットマップ変換処理が実行され)、
(3)ビットマップに変換された画像データが、ビデオメモリに描画されつつ、
(4)当該描画された描画データによって画像化した文書が表示される。したがって、このような場合には、表示領域等の閲覧者の指示に基づいて、文書構造を変更することが容易であり、例えば、変更された表示領域に合わせて画像化された文書を表示することも可能である。
したがって、このような文字コードベースの文書データを、当該文書データを編集(又は制作)した編集者の意図を反映させて画像化するためには、文字コードと編集者が使用した文字フォントとが必要となる。このため、PDF形式等の文書ファイル内に編集者が使用した文字フォントを埋め込むことができる文書データの場合には、編集者の意図を反映させて文書画像を表示することができるものの、当該文字フォントを埋め込むことができない文書データの場合には、携帯用端末装置10内にあらかじめ搭載されている文字フォントを参照させる必要があるので、編集者の意図を反映させる文書を提供することができないだけでなく、文書に含まれる文字を的確に画像化できない場合も多い。
通常、文書データにおいて使用されるフォントは多彩であるため、同一言語においても、閲覧側で編集者が用いた文字フォントを用意することができない場合も少なくない。そのため、対応する文字フォントが文書データに埋め込まれておらず、文書データの閲覧を行う携帯用端末装置10内に搭載されていない場合には、他の文字フォント(代理フォント)を用いることとなる。しかしながら、一部の文字コードに対しては対応する文字パターン(画像化する際のパターン)が定義されていない場合、又は、他の文字フォントと異なる文字パターンが定義されている文字フォントも多く、編集時に用いた文字フォントと代理フォントとにおいて同一の文字について定義されていない場合には、文書データに含まれる文字を表示することができない、又は、当該文字に対して異なる文字が表示されて文字化けが発生してしまうのである。また、たとえ対応する文字パターンが代理フォント内に定義されていても、文字幅が編集者の意図と異なる大きさであることも考えられ、その場合には、フォントサイズ等によっては改行位置がずれてしまうこともある。
また、文字コードベースの文書データにおいては、編集者の意図を反映しつつ、閲覧者の指示に基づいて組版の変更を行うためには、文字コードとなるテキストデータ及び編集者が使用した文字フォントとともに、画像が含まれている場合には当該オリジナル画像等の素材を用意することが必須となる。しかしながら、これらの原素材の使用については著作権等によって認められない場合もあり、当該原素材の使用が認められない場合には、文書データを画像化する際に、編集者の意図を的確に反映させることが難しい。特に、上述のように、編集者の意図した文字フォント等を使用できないことにより、表示領域の設定等の組版指示によっては、文書自体のレイアウトの乱れが生じ、画像表示そのものに不具合が生じることもある。
この結果、文字コードベースの文書を画像化する場合には、PDF等の文字フォントを埋め込んだ文書データ以外のデータ形式であっては、文書データを生成又は編集した編集者の意図を反映させるように当該文書データを画像化及びその表示を行うことは難しい。
一方、図3に示すように、文字コードベースと異なり、印刷ページ体裁のビットマップ形式によって画像化された文書を表示するためには、閲覧者によって印刷ページの体裁を調整することはできないが、文字コードでなく、編集者が完成させた画像そのものを、表示形式を維持しつつ、表示することができる。したがって、このような場合には、著作権などの管理が紙面レイアウト体裁の範囲にとどまり、文字コードベースの文書データに比べて、データの取り扱いが著しく容易になる。また、このようなデータ形式においては、PDF等の文字フォントを埋め込んだ文書データと同様に、編集者が完成させた画像そのものを、表示形式を維持しつつ、表示するので、代替えフォントその他に基づく文字化け、及び、レイアウトの乱れが発生することもない。
他方、上記の印刷ページ体裁のビットマップ形式によって又は文字フォントを埋め込んだ文書データによって画像化された文書は、当該体裁を調整することはできないので、例えば、図3に表示するように、表示領域に合わせて文書構造を調整することができず、ユーザの閲覧性には難がある。例えば、図4(A)に示すように、文字の大きさを確保する一方で、その場合の文書画像の行方向のサイズが表示領域の行方向のサイズより大きな場合には、行方向に表示領域を移動させるスクロール処理をする必要がある。また、行方向にスクロールさせないような表示にする場合には、図4(B)に示すように、文書全体を縮小して表示する必要があり、文字が小さくなり、閲覧性も低下する。
そこで、本実施形態の携帯用端末装置10は、画像化された文書の各行の文字に対応する文字区画を、設定された表示領域のサイズに基づいて当該各文字区画の配置位置を決定し、当該決定した各文字区画の配置位置に、当該各文字区画に対応する画像を割り当てることによって、画像化された文書の文書構造を維持しつつ、各文字を配置するので、表示領域に依存せずに、ユーザの閲覧性を向上させることができるようになっている。
例えば、図5に示すように、適度な文字の大きさを確保しても、表示領域の行方向の幅が狭い場合に行方向へのスクロール表示を制限しつつ、行送り方向のみのスクロールによって表示可能な文字配列を実現することができるようになっている。
また、このような画像化された文書である電子書籍を制作する場合においては、図6に示すように、編集、製版、印刷、製本、スキャニング、文字認識、編集及び書式変換を行う一般書籍を経て制作する通常の制作工程において、製版後にPDF等のイメージデータ、又は、スキャニングしたデータを書式変換するだけで制作することができるので、通常の制作工程に比べて制作費用を低減し、迅速に制作することができるようになっている。
[3]携帯用端末装置
次に、上記の図1を用いて本実施形態の携帯用端末装置10における構成の詳細について説明する。
データ記憶部100は、例えば、ハードディスクドライブ(以下、「HDD」と略す。)、ソリッドステートドライブ(以下、「SSD」と略す。)又は、NAND型、NOR型等の不揮発性フラッシュメモリによって構成される。
また、データ記憶部100には、閲覧アプリケーションを含む、アプリケーション処理部120及び端末管理制御部190によって実行される様々なアプリケーション、及び、文書データを含むコンテンツデータが記憶されるとともに、アプリケーション処理部120及び端末管理制御部190のワークエリアとしてRAM(Random Access Memory)及びROM(Read Only Memory )も含まれる。
具体的には、データ記憶部100には、少なくとも、アプリケーション記憶部101、コンテンツデータ記憶部102、及びROM/RAM103を少なくとも含む。
通信制御部110は、図示しないサーバ装置又は他の通信装置との通信回線を構築し、文書データを含む各種のデータの授受を行う。
アプリケーション処理部120は、主に中央演算処理装置(CPU)によって構成されるとともに、アプリケーション記憶部101に記憶された各種アプリに基づいて、表示制御部140及び操作部160と連動しつつ、各処理を実現する。特に、アプリケーション処理部120は、ユーザによって指定された表示部150の表示画面における指定表示領域の領域サイズに従って、文書データをユーザに閲覧させるための閲覧アプリケーションにおける各種の処理を実行する。
具体的には、アプリケーション処理部120は、
(1)文書画像を表示部150にて表示するための画像データを、通信制御部110を介して外部から又はデータ記憶部100から取得するデータ取得処理、
(2)文書画像を表示する際の表示部150における指定表示領域のサイズを設定する表示サイズ設定処理、
(3)文字配置解析処理の一の処理であって、取得した画像データに基づいて、画像化された文書の行方向及び行送り方向を認識する認識処理、
(4)文字配置解析処理の一の処理であって文書画像において一ページとして設定された各ページ(以下、「文書ページ」という。)において、取得した文書画像の各画素値を2値化する2値化処理と、
(5)文字配置解析処理の一の処理であって各文書ページにおいて、文書画像の文書の行方向に対する画素の配列ライン(以下、「第1配列ライン」という。)毎の、2値化された各画素における画素値に基づいて、文書画像の行を検出する行検出処理と、
(6)文字配置解析処理の一の処理であって各文書ページにおいて、検出した行毎に、文書画像の文書の行送り方向における画素の配列ライン(以下、「第2配列ライン」という。)毎の、2値化した各画素における画素値に基づいて、各行に含まれる文字の区画を文字区画として検出する文字区画検出処理と、
(7)設定した指定表示領域の領域サイズに基づいて、検出した各文字区画を、当該表示領域に配置するための配置位置を決定する区画配置処理と、
(8)決定した各文字区画の配置位置に、文書画像の一部であって各文字区画に対応する区画画像を配置して指定表示領域に表示するための表示画像を生成するビットマップ生成処理と、
を実行し、生成したビットマップ画像を出力する。
特に、アプリケーション処理部120は、文字配置解析処理においては、文書ページ(以下、「解析中の文書データ」ともいう。)毎に、文書画像における画像内の座標位置及び文字区画の基準サイズに基づいて、各文字区画を検出するとともに、各文字区画の特殊性に基づく属性情報の設定、すなわち、見出し文字、字下げ、ルビ、禁則処理の対象となる文字(以下、「禁則文字」)等の特殊文字であるか否かを判定し、特殊文字であると判定した文字区画についてはその旨を示す属性情報の設定を行う。
そして、アプリケーション処理部120は、検出した各文字区画のサイズ及び区画位置に基づいて予め定められた配置条件に従って、検出した各文字区画を、設定された指定表示領域に配置する位置を決定する。すなわち、アプリケーション処理部120は、区画配置処理において、ユーザによって設定された指定表示領域の領域サイズとともに、文字配置解析処理によって設定した属性情報と、文字区画のサイズ及び区画位置に基づく配置条件とに基づいて、検出した各文字区画を、当該表示領域に配置するための配置位置を決定する。
アプリケーション処理部120は、上記の各処理を実行するために、機能的に、文書データの取得、記憶及び読み出しを実行するデータ管理制御部121と、ユーザその他によって指定表示領域を設定する指定表示領域設定部122と、文字配置解析処理を実行する文字配置解析処理部123と、区画配置処理を実行する区画配置処理部124と、ビットマップ画像を生成する画像データ生成部125と、を実現する。なお、本実施形態のアプリケーション処理部120の各部の詳細については後述する。
表示部150は、所定のサイズの表示画面を有し、例えば、電子ペーパー、液晶素子又は有機EL(Electro Luminescence)素子のパネルによって構成され、表示制御部140において生成された表示データに基づいて所定の画像を表示する。
表示制御部140は、表示部150に表示させるために必要な表示データを生成するようになっており、生成された表示データを当該表示部150に出力する。特に、表示制御部140は、アプリケーション処理部120によって生成されたビットマップ画像を表示するための表示データを生成し、出力する。
操作部160は、各種の確認ボタン、各操作指令を入力する操作ボタン、テンキーなどの多数のキー及び表示部150に重畳して形成されたタッチパネルにより構成され、各操作を行う際に用いられるようになっている。特に、操作部160は、文書データを表示するための指定表示領域を指定する際に用いられる。
端末管理制御部190は、主に中央演算処理装置(CPU)によって構成されるとともに、キー入力ポート、表示制御ポート等の各種入出力ポートを含み、データ記憶部100に記憶された各種のアプリケーションを実行することにより、携帯用端末装置10の全般的な機能を総括的に制御する。
[4]アプリケーション処理部
[4.1]データ管理制御部
次に、本実施形態のアプリケーション処理部120におけるデータ管理制御部121について説明する。
データ管理制御部121は、通信制御部110と連動し、図示しないサーバ装置又は他の通信装置と通信に基づく文書データの授受及びデータ記憶部100に記憶される文書データのデータ管理を行う。
具体的には、データ管理制御部121は、HTML(Hyper Text Markup Language)等のマークアップ言語によって記述されているWWWシステム用のリソースデータと、当該リソースデータのネットワークアドレスを示す固有のURL(Uniform Resource Locator)と、を用いたブラウジング機能に基づいて、図示しないサーバ装置又は他の通信装置とデータ通信を行う。特に、データ管理制御部121は、閲覧アプリケーションの実行中に、当該ブラウジング機能とユーザ操作とに基づいて、ユーザが所望する文書データを取得する。
また、データ管理制御部121は、ユーザ操作に基づいて、データ記憶部100に予め記憶された文書データを読み出すことによって取得する。ただし、データ記憶部100に記憶された文書データは、ブラウジング機能によって図示しないサーバ装置又は他の通信装置から取得した(ダウンロード又は転送された)データなどである。
なお、データ管理制御部121は、白黒の文書画像を有する文書データであっても、カラーの文書画像を有する文書データであってもよい。
また、データ管理制御部121は、イメージスキャナによって文書を読み込みつつ、画像化した文書における画像データ(すなわち、文書データ)を取得してもよい。そして、データ管理制御部121は、イメージスキャナによって画像化された文書については、当該文書に予めマーキングされたマーカ又は基準に使用できる文書ページ内にレイアウトされている罫線などに基づく傾き補正を実行する。この傾き補正は、行方向が水平であることを確保するため、及び、行送り方向が垂直であることを確保するために重要である。ただし、データ管理制御部121は、データ通信によって取得した各文書データについても水平が保障されていない場合もあるので、ユーザ指示に基づいて又は自動的に、当該データ通信によって取得した各文書データに対して実行してもよい。
[4.2]指定表示領域設定部
次に、本実施形態のアプリケーション処理部120におけるに指定表示領域設定部122ついて説明する。
指定表示領域設定部122は、ユーザ指示等によって表示部150の表示画面内に形成される矩形の指定表示領域を設定する。
特に、指定表示領域設定部122は、指定表示領域の上下方向及び左右方向に対して拡大及び縮小指示された場合に、当該指示された表示画面における座標を認識するとともに、認識した座標に従って当該指定表示領域を設定しつつ、当該設定した指定表示領域の領域サイズを区画配置処理部124に出力する。
また、指定表示領域設定部122は、閲覧アプリケーションを用いて文書データを表示している場合であっても、操作部160を介して任意のタイミングで指定表示領域が指定された場合に、指示された表示画面における座標を認識するとともに、認識した座標に従って当該指定表示領域を設定する。
[4.3]文字配置解析処理部
[4.3.1]文字配置解析処理部の概要
次に、図7〜図18の各図を用いて本実施形態のアプリケーション処理部120におけるに文字配置解析処理部123ついて説明する。
文字配置解析処理部123は、取得した文書データの文書構造のページ毎に(すなわち、元の文書形式のページ毎に)、上述の認識処理、2値化処理、行検出処理及び文字区画検出処理を実行する。
また、文字配置解析処理部123は、認識処理、2値化処理、行検出処理及び文字区画検出処理を実行すると、補正処理として、各行において所定の条件を具備する2以上の文字区画を統合する統合補正処理と、予め定めた種々の条件に基づいて各文字区画が特殊文字を構成する文字区画であるか否かを解析し、特殊文字に該当する文字区画であると判定された場合には該当する属性を属性情報として設定する特殊文字解析処理と、を実行する。
特に、文字配置解析処理部123は、特殊文字解析処理として、見出し解析処理、字下げ解析処理、ルビ解析処理、及び、禁則文字解析処理を実行する。
具体的には、文字配置解析処理部123は、統合補正処理としては、
(1)文字区画を検出する際の第1画素の検出結果に基づいて、行毎に、同一の行に属し、かつ、隣接する2つの文字区画の文書の行方向(すなわち、第1配列ライン方向)における配置間隔を示す文字ピッチを算出し、
(2)当該算出した文字ピッチが予め定められた文字ピッチ条件を具備する場合に、当該文字ピッチ条件を具備する2つの文字区画を同一の文字区画として統合補正を実行する
一方、文字配置解析処理部123は、見出し解析処理としては、
(1)前記文書の行を検出する際の前記第1画素(例えば、黒画素)の検出結果に基づいて、行毎に、文書の行送り方向(すなわち、第2配列ライン方向)に対する隣接する2つの行の配置間隔を行ピッチとして算出し、
(2)当該算出した行ピッチが予め定められた行ピッチ条件を具備する場合に、当該行ピッチ条件を具備する2つの行のうち、行ピッチを定める基点に基づいて定まる一方の行を、見出し行として特定し、
(3)特定した見出し行に属する文字区画に見出し属性情報を設定する。
なお、行ピッチを定める基点とは、隣接する2つの前段及び後段の行の上端(横組みの場合)又は左端(縦組み)によって行ピッチを定める場合には、前段の行が「行ピッチを定める基点に基づいて定まる一方の行」となり、隣接する2つの前段及び後段の行の下端(横組みの場合)又は右端(縦組みの場合)によって行ピッチを定める場合には、後段の行が「行ピッチを定める基点に基づいて定まる一方の行」となる。
そして、文字配置解析処理部123は、字下げ解析処理としては、
(1)各行毎に、行の先頭に位置する文字区画の配置位置が予め定めた先頭配置条件を具備する場合に、当該先頭配置条件を具備する行の先頭の文字区画を文書の段落における先頭文字として特定し、
(2)特定した文字区画に字下げ属性情報を設定する。
また、文字配置解析処理部123は、ルビ解析処理としては、
(1)文書の行を検出する際の第1画素(例えば、黒画素)の検出結果に基づいて、行毎に、文書の行送り方向(第2配列ライン方向)に対する隣接する2つの行の配置間隔を行ピッチとして算出し、
(2)当該算出した行ピッチのピッチ幅が予め定められた行ピッチ特定条件を具備する場合に、当該行ピッチ特定条件を具備する2つの行のうち、行ピッチを定める基点に基づいて定まる行を、前記ルビを付与するルビ行として特定し、
(3)前記特定したルビ行に属する各文字区画の行方向の第1位置と前記ルビ行の前記文書の行送り方向に対して次段の行であるルビ対象行における各文字区画の行方向の第2位置とをそれぞれ比較して前記第1位置と前記第2位置の差が最小となるルビ対象行の文字区画をルビ対象文字として特定し、
(4)特定したルビ行に属する文字区画にルビ属性情報を設定するとともにルビの対象となる文字区画のID(具体的には、行番及び該当する行の並び順の探索位置)を設定し、特定したルビ対象行に属する文字区画にルビ対象属性情報を設定する。
さらに、文字配置解析処理部123は、禁則文字解析処理としては、
(1)各文字区画の行方向の幅又は行送り方向の幅が予め定めた区画幅条件を具備する場合に、当該区画幅条件を具備する文字区画を禁則文字として特定し、
(2)特定した文字区画に禁則文字属性情報を設定する。
なお、本実施形態においては、文字配置解析処理部123は、統合補正処理等において用いる文字ピッチ又は行ピッチ等については、後述するように前処理(補正処理用の前処理)として種々の演算を実行して算出するようになっている。
また、文字配置解析処理部123は、文書データの元の文書構造におけるページ毎に各種の処理を実行する。ただし、文字配置解析処理部123は、複数ページの文書データであって、次のページのデータが存在する場合には、現ページの文字配置解析処理の実行後に、次ページに該当するデータについて文字配置解析処理を実行する。
[4.3.2]認識処理
文字配置解析処理部123は、認識処理としては、取得した文書データに付加されるフラグ情報に基づいて、画像化された文書のページレイアウトを識別し、当該文書データにおける前記文書の行方向及び行送り方向を認識する。
例えば、文字配置解析処理部123は、フラグ情報に基づいて、取得した文書データの文書が横書き(すなわち、横組み)であるか、又は、縦書き(すなわち、縦組み)であるかを判定し、文書に沿って文字が配列される行方向(すなわち、文字を読む方向)と、当該行方向に対して直交方向となる文書の行送り方向(すなわち、文書の改行方向)と、を認識する。
また、文字配置解析処理部123は、上記に代えて、認識処理として、
(1)各第1配列ラインに属する各画素の画素値に基づいて第2配列ライン方向の文字が存在しない空白ライン数を検出し、
(2)各第2配列ラインに属する各画素の画素値に基づいて第1配列ライン方向の文字が存在しない空白ライン数を検出し、
(3)第1配列ライン方向の空白ライン数と第2配列ライン方向の空白ライン数とに基づいて、文書の行方向及び行送り方向を認識してもよい。
特に、この場合には、文字配置解析処理部123は、空白ライン数が多い配列ライン方向を行送り方向と認識し、空白ライン数が少ない配列ライン方向を行方向と認識する。
通常、行方向の文字間の距離は、行送り方向の行間の距離より短くなる。したがって、第1配列ライン方向の空白ライン数と第2配列ライン方向の空白ライン数によって行方向の文字間の距離及び行送り方向の行間の距離を算出するとともに、2つの距離の大小を比較すれば、行方向を認識することができる。
そこで、文字配置解析処理部123は、空白ライン数が多い配列ライン方向を行送り方向と認識し、空白ライン数が少ない配列ライン方向を行方向と認識することができるようになっている。
なお、この場合においては、第1配列ライン方向の空白ライン数と第2配列ライン方向の空白ライン数については、代表となる2つの行の行間及び2つの文字間の値を用いてもよいし、各行間及び各文字間の平均を用いてもよい。また、後述するように、算出された第1配列ライン方向及び第2配列ライン方向の最大区画サイズ、平均行ピッチ及び基準文字ピッチの値を用いてもよい。
[4.3.3]2値化処理
次に、図7を用いて本実施形態の文字配置解析処理部123における2値化処理について説明する。なお、図7は、本実施形態の文字配置解析処理部123における2値化処理について説明するため図であり、2値化処理の一例を示す図である。
文字配置解析処理部123は、2値化処理としては、解析中の文書ページにおいて、カラーによって形成された文書画像をグレースケール画像に変換し、変換したグレースケール画像を、又は、白黒によって形成された文書画像を直接的に、予め定められた閾値に基づいて、2値化するとともに、2値化された文書画像における量子化ノイズ(2値化処理に伴う斑点状のノイズ)を除去するノイズ補正を実行する。
具体的には、文字配置解析処理部123は、取得した文書画像がカラー画像の場合には、所定の演算処理を実行し、所定の演算処理によって白黒のグレースケール画像に変換する。例えば、文字配置解析処理部123は、(式1)に基づいて、画素毎にRGBの各画素値R(x,y)、G(x,y)及びB(x,y)をグレースケールの画素値P(x、y)を算出する。また、文字配置解析処理部123は、カラー画像の場合には、変換されたグレースケール画像を、又は、白黒画像の場合には、当該取得した文書画像に対して、閾値に基づいて、文字を構成する画素値「1」又は背景を構成する画素値「0」に変換する。
なお、例えば、文字配置解析処理部123は、各画素の階調値が0〜255の場合には、200を閾値として用いて2値化処理を実行する。また、文字配置解析処理部123は、ノイズ補正としては、2値化処理された文書画像に対して孤立点の除去及び不連続点の穴埋め等を実行するモルフォロジ演算に基づく画像処理を実行する。
また、文字配置解析処理部123は、図6(A)、(B)に示すように、横書き又は縦書きのカラー又はグレースケールによる文書画像については、白及び黒の2値化処理を実行する。
[4.3.4]行検出処理
次に、図8及び図9を用いて本実施形態の文字配置解析処理部123における行検出処理について説明する。なお、図8及び図9は、本実施形態の文字配置解析処理部123における行検出処理について説明するため図である。
文字配置解析処理部123は、行検出処理としては、解析中の文書ページにおいて、第1配列ライン毎に、各第1配列ラインに属する画素の中から、2値化した際の一方の画素値(すなわち、黒又は白の画素値)を有する画素を少なくとも検出し、当該検出した画素の有無に基づいて前記画像化された文書の各行を検出する。
なお、本実施形態においては、黒を示す画素値「1」を有する画素(以下、「黒画素」という。)又は、白を示す画素値「0」を有する画素(以下、「白画素」という。)といい、文字配置解析処理部123は、少なくともいずれの画素を検出する。ただし、以下の説明では、文字配置解析処理部123は、第1画素(黒画素)を検出する場合を用いて説明する。
具体的には、文字配置解析処理部123は、文書画像における文書の行方向の画素ライン(第1配列ライン)毎に、黒画素をカウントする。そして、文字配置解析処理部123は、黒画素のカウント数が「0」となるラインを空白ラインとして文書画像における文書の行間を構成するラインであると判定し、黒画素のカウント数が「1」以上となるラインを文字が形成されている行形成ラインとして文書画像における各文字を構成するラインであると判定する。
また、文字配置解析処理部123は、第1配列ラインにおける空白ラインが形成されている一以上のライン又はライン群の領域を行間として検出し、第1配列ラインにおける行形成ラインが形成されている一以上のライン又はライン群の領域を行として検出する。
なお、このとき、文字配置解析処理部123は、検出した行については文書画像の先頭の行から順に符号(すなわち、識別情報であって、本実施形態においては「番号」を用いる。)を付与する。
(横組みの文書構造の場合)
例えば、文書画像が(Sx×Sy)の矩形サイズで形成されている場合であって、各画素の文書画像上における座標値(x、y)が(0,0)〜(Sx−1,Sy−1)によって配列されている場合を想定する。
このような場合であって、文書画像の文書構造が横組みの場合には、x方向が行方向となり、y方向が行送り方向となる。また、x方向に画素が配列されているyラインが、第1配列ラインとなり、xラインが第2配列ラインとなる。
このとき、文字配置解析処理部123は、図8(A)に示すように、yライン毎に各画素値を検出し、黒画素をカウントする。また、文字配置解析処理部123は、黒画素のカウントが「1」以上の場合には、当該yラインを行形成ラインと判定し、カウント「0」の場合には、yラインを空白ラインと判定する。さらに、文字配置解析処理部123は、図8(B)に示すように、空白ラインが形成されているyライン又は空白ラインが連続して形成されているyライン群の領域を行間LSとして検出するとともに、行形成ラインが形成されているyライン群の領域を行C(t)として検出し、文書画像の先頭となる最上部の行からL行まで順に符号(t=1〜L)を付与する。
(縦組みの文書構造の場合)
例えば、横組みの場合と同様に、文書画像が(Sx×Sy)の矩形サイズで形成されている場合であって、各画素の座標値(x、y)が(0,0)〜(Sx−1,Sy−1)によって配列されている場合を想定する。
このような場合であって、文書画像の文書構造が縦組みの場合には、y方向が行方向となり、x方向が行送り方向となる。また、y方向に画素が配列されているxラインが、第1配列ラインとなり、yラインが第2配列ラインとなる。
このとき、文字配置解析処理部123は、図9(A)に示すように、xライン毎に各yの画素値を検出し、黒画素をカウントする。また、文字配置解析処理部123は、カウントが「1」以上の場合には、当該xラインを行形成ラインと判定し、カウント「0」の場合には、xラインを空白ラインと判定する。そして、文字配置解析処理部123は、図9(B)に示すように、空白ラインが形成されているxライン又はxライン群の領域を行間LSとして検出するとともに、行形成ラインが形成されているxライン又はxライン群の領域を行C(t)として検出し、文書画像の先頭となる最右部の行からL行まで順に符号(t=1〜L)を付与する。
[4.3.5]文字区画検出処理
次に、図10〜図13を用いて本実施形態の文字配置解析処理部123における文字区画検出処理ついて説明する。なお、図10〜図13は、本実施形態の文字配置解析処理部123における文字区画検出処理について説明するため図である。
文字配置解析処理部123は、文字検出処理としては、解析中の文書ページにおいて、第1配列ライン及び第2配列ラインに属する各画素の画素値に基づいて、区画サイズ及び文書画像上における区画位置を特定しつつ、各文字区画を検出する。特に、文字配置解析処理部123は、上述の行検出処理として検出された文書画像の行毎に、検出された行に属する第2配列ライン毎の各第2配列ラインに属する画素の中から、2値化した際の一方の値を有する画素を検出し、当該検出した画素の有無に基づいて、行毎に文字区画を検出する。なお、行検出処理と同様に、文字区画検出処理においても、以下の説明においては、文字配置解析処理部123は、第1画素(黒画素)を検出する場合を用いて説明する。
具体的には、文字配置解析処理部123は、行毎に文書画像における文書の行送り方向の画素ラインとなる第2配列ライン毎に、黒画素(又は、白画素)をカウントするとともに、黒画素のカウント数が「0」となるラインを空白ラインとして各行における文字間を構成するラインであると判定し、黒画素のカウント数が「1」以上となるラインを文字が形成されている文字形成ラインとして文書画像における各文字を構成するラインであると判定する。
そして、文字配置解析処理部123は、行毎に第2配列ラインにおける空白ラインが形成されている一以上のライン又はライン群の領域を文字間として検出し、第2配列ラインにおける文字形成ラインが形成されているライン群の領域を文字区画として検出する。特に、文字配置解析処理部123は、各文字区画を規定する座標を検出する。
なお、このとき、文字配置解析処理部123は、検出した文字区画については各行の先頭の文字区画から順に符号を付与する。
(横組みの文書構造の場合)
例えば、文書画像が(Sx×Sy)の矩形サイズで形成されている場合であって、各画素の座標値(x、y)が(0,0)〜(Sx−1,Sy−1)によって配列されている場合を想定する。
このような場合であって、文書画像の文書構造が横組みの場合には、x方向が行方向となり、y方向が行送り方向となる。また、x方向に画素が配列されているyラインが、第1配列ラインとなり、xラインが第2配列ラインとなる。
このとき、文字配置解析処理部123は、図10(A)に示すように、検出された行毎に、各xラインの各画素値を検出し、黒画素をカウントする。また、文字配置解析処理部123は、カウントが「1」以上の場合には、当該xラインを文字形成ラインと判定し、カウント「0」の場合には、xラインを空白ラインと判定する。さらに、文字配置解析処理部123は、図10(B)に示すように、文字形成ラインが形成されているxライン又はxライン群の領域を文字区画C(t、m)として検出する。そして、文字配置解析処理部123は、図11に示すように、各文字区画を規定する四隅、すなわち、左上座標(x1,y1)、左下座標(x1,y2)、右上座標(x2,y1)及び右下座標(x2,y2)を検出するとともに、各行の先頭となる最左部の文字区画行からm区画まで順に符号を付与する。
(縦組みの文書構造の場合)
例えば、横組みの場合と同様に、文書画像が(Sx×Sy)の矩形サイズで形成されている場合であって、各画素の座標値(x、y)が(0,0)〜(Sx−1,Sy−1)によって配列されている場合を想定する。
このような場合であって、文書画像の文書構造が縦組みの場合には、y方向が行方向となり、x方向が行送り方向となる。また、y方向に画素が配列されているxラインが、第1配列ラインとなり、yラインが第2配列ラインとなる。
このとき、文字配置解析処理部123は、図12(A)に示すように、検出された行毎に、各yラインの各画素値を検出し、黒画素をカウントする。また、文字配置解析処理部123は、カウントが「1」以上の場合には、当該yラインを文字形成ラインと判定し、カウント「0」の場合には、yラインを空白ラインと判定する。さらに、文字配置解析処理部123は、図12(B)に示すように、文字形成ラインが形成されているyライン又はyライン群の領域を文字区画C(t,m)として検出する。そして、図13に示すように、文字配置解析処理部123は、横組みと同様に、各文字区画を規定する四隅、すなわち、左上座標(x1,y1)、左下座標(x1,y2)、右上座標(x2,y1)及び右下座標(x2,y2)を検出するとともに、各行の先頭となる最左部の文字区画行からm区画まで順に符号を付与する。
[4.3.6]補正処理用の前処理
次に、本実施形態の文字配置解析処理部123における補正処理用の前処理ついて説明する。
文字配置解析処理部123は、統合補正処理と、見出し解析処理、ルビ解析処理及び禁則文字解析処理の各特殊文字解析処理との補正処理用の前処理として、文字区画の最大区画サイズ、平均区画サイズ及び標準区画サイズと、平均行ピッチ及び最大文字ピッチと、平均行ピッチと、文字間の距離とを算出する。
なお、文字配置解析処理部123は、取得した文書データの元のデータ形式(すなわち、画像化された文書の文書構造)によって定まるページ毎に補正処理用の前処理を実行する。
(各行の最大区画サイズ)
文字配置解析処理部123は、検出された各文字区画に基づいて、行毎に行方向及び行送り方向における最大区画サイズをそれぞれ算出する。
具体的には、文字配置解析処理部123は、行毎に、検出された各文字区画の第1配列ラインにおけるx及びy座標値の差を算出するとともに、検出された各文字区画の第2配列ラインにおけるx及びy座標値の差を算出する。そして、文字配置解析処理部123は、行毎に、検出された各文字区画の第1配列ラインにおける座標値の差の最大の値を、解析中の文書ページにおいて行方向における最大サイズSmax(L1,t)に設定するとともに、検出された各文字区画の第2配列ラインにおける座標値の差の最大の値を、当該解析中の文書ページにおいて行送り方向における最大サイズSmax(L2,t)に設定する。
例えば、横組みの場合には、文字配置解析処理部123は、行毎に、(式2)及び(式3)に示すように、各文字区画の第1配列ラインの方向となる行方向の座標値の差、すなわち、各文字区画の幅を算出し、当該算出した各文字区画の最大幅Smax(x,t)を行方向の最大サイズSmax(L1,t)に設定する。また、文字配置解析処理部123は、行毎に、各文字区画の第2配列ラインの方向となる行送り方向の座標値の差、すなわち、各文字区画の高さを算出し、当該算出した各文字区画の最大の高さSmax(y,t)を行送り方向の最大サイズSmax(L2,t)に設定する。
なお、式中の「t」は、行番、及び、「m」は、各行における先頭からの並び順を示す。また、「.x1」又は「.x2」は、文字区画両端のx座標を示し、「.y1」又は「.y2」は、文字区画両端のy座標を示す。例えば、C(t,m).x2は、解析中の文書ページにおけるt行目の先頭からm番目の文字区画における「x2」の座標値を示す。
一方、縦組みの場合には、文字配置解析処理部123は、行毎に、(式4)及び(式5)に示すように、各文字区画の第1配列ラインの方向となる行方向の座標値の差、すなわち、各文字区画の高さを算出し、当該算出した各文字区画の最大の高さSmax(y,t)を行方向の最大サイズSmax(L1,t)に設定する。また、文字配置解析処理部123は、行毎に、各文字区画の第2配列ラインの方向となる行送り方向の座標値の差、すなわち、各文字区画の幅を算出し、当該算出した各文字区画の最大幅Smax(x,t)を行送り方向の最大サイズSmax(L2,t)に設定する。
なお、(式2)及び(式3)と同様に、式中の「t」は、行番、及び、「m」は、各行における先頭からの並び順を示す。また、「.x1」又は「.x2」は、文字区画両端のx座標を示し、「.y1」又は「.y2」は、文字区画両端のy座標を示す。例えば、C(t,m).x2は、解析中の文書ページにおけるt行目の先頭からm番目の文字区画における「x2」の座標値を示す。
(全行に基づく平均区画サイズ)
文字配置解析処理部123は、解析中の文書ページにおいて、全行における検出された各文字区画に基づいて、行方向及び行送り方向における平均区画サイズをそれぞれ算出する。
具体的には、文字配置解析処理部123は、(式6)及び(式7)に示すように、行毎に算出された行方向の最大サイズ及び行送り方向の最大サイズをそれぞれ加算し、全行(すなわち、T行)で除算することによって、解析中の文書ページにおける行方向の平均区画サイズSav(L1)及び行送り方向の平均区画サイズSav(L2)を算出する。なお、式中「T」は、行数を示す。
例えば、横組みの場合には、文字配置解析処理部123は、当該算出した各行の最大幅Smax(x,t)をt=1,...,Tの範囲で加算し、全行(すなわち、T行)で除算することによって、行方向の平均区画サイズSav(L1)を算出する。また、文字配置解析処理部123は、当該算出した各行の最大の高さSmax(y,t)をt=1,...,Tの範囲で加算し、全行(すなわち、T行)で除算することによって、行方向の平均区画サイズSav(L2)を算出する。
一方、縦組みの場合には、文字配置解析処理部123は、当該算出した各行の最大の高さSmax(y,t)をそれぞれ加算し、全行(すなわち、T行)で除算することによって、行方向の平均区画サイズSav(L1)を算出する。また、文字配置解析処理部123は、当該算出した各行の最大幅Smax(x,t)をそれぞれ加算し、全行(すなわち、T行)で除算することによって、行方向の平均区画サイズSav(L2)を算出する。
(全行に基づく標準区画サイズ)
文字配置解析処理部123は、解析中の文書ページにおいて、各行における行方向の最大区画サイズ及び全行に基づく行方向の平均区画サイズを用いて全行に基づく標準区画サイズを算出する。
具体的には、文字配置解析処理部123は、(式8)及び(式9)に示すように、各行における行方向の最大区画サイズと全行に基づく行方向の平均区画サイズの差分値と、行送り方向の最大区画サイズと全行に基づく行送り方向の平均区画サイズの差分値と、をそれぞれ算出し、算出した差分値のうち各々最小となる差分値Min|Smax(L1,t)−Sav(L1)|およびMin|Smax(L2,t)−Sav(L2)|を有する最大区画サイズの行ts1およびts2を標準行として設定する。そして、文字配置解析処理部123は、標準行に設定した行ts1における行方向のサイズSmax(L1,ts1)及び標準行に設定した行ts2における行送り方向のサイズSmax(L2,ts2)を、解析中の文書ページにおける行方向の標準区画サイズSst(L1)及び行送り方向の標準区画サイズSst(L2)に設定する。
(全行に基づく平均行ピッチ)
文字配置解析処理部123は、解析中の文書ページにおいて、行毎に、行送り方向における検出された各文字区画における基準位置の平均座標値に基づいて、平均行ピッチを算出する。
具体的には、文字配置解析処理部123は、行毎に、中心座標又は文字区画の四隅のいずれかの座標などの各文字区画における基準点の座標を加算し、該当する行の文字区画数で除算することによって、行毎の平均座標値Pt(av,t)を算出する。また、文字配置解析処理部123は、算出した行毎の平均座標値Pt(av,t)に基づいて、隣接する行における平均座標値の差の平均を算出し、当該算出した平均を、解析中の文書ページにおおける平均行ピッチとして設定する。
例えば、横組みの場合には、文字配置解析処理部123は、(式10)及び(式11)に示すように、行毎に算出された座標値y2における平均座標値Pt(av,t)に基づいて、後段に隣接する行との座標値y2における平均座標値Pt(av,t+1)との差を、全行を対象に算出し、算出した座標値の差のそれぞれについて平均を算出し、当該算出した平均を平均行ピッチSL(av)として設定する。
なお、上述の各式と同様に、C(t,m).y2は、文字区画t行目の先頭からm番目の文字区画における「y2」の座標値を示し、「Nc」は、t行における文字区画数を示す。
一方、例えば、縦組みの場合には、文字配置解析処理部123は、(式12)及び(式13)に示すように、行毎に算出された座標値x1における平均座標値Pt(av,t)に基づいて、後段に隣接する行との座標値x1における平均座標値Pt(av,t+1)との差を、全行を対象に算出し、算出した座標値の差のそれぞれについて平均を算出し、当該算出した平均を平均行ピッチSL(av)として設定する。
なお、(式10)及び(式11)と同様に、C(t,m).x1は、文字区画t行目の先頭からm番目の文字区画における「x1」の座標値を示し、「Nc」は、t行における文字区画
数を示す。
(各行の最大文字ピッチ)
文字配置解析処理部123は、解析中の文書ページにおいて、検出された各文字区画に基づいて、行毎に行方向における文字区画の最大の配列ピッチを最大文字ピッチとして算出する。
具体的には、文字配置解析処理部123は、行毎に、検出された各文字区画の第1配列ラインにおける隣接する2つの文字区画の同一の座標位置おける座標値の差を算出し、算出した座標値の差の最大の値を、解析中の文書ページにおいて行方向における最大文字ピッチSpmax(L1,t)に設定する。
例えば、横組みの場合には、文字配置解析処理部123は、(式14)に示すように、各行において、隣接する2つの文字区画の左上の座標位置x1の座標値の差を算出し、算出した座標値の差の最大の値を、各行方向における最大文字ピッチSpmax(L1,t)に設定する。
なお、上述の各式と同様に、式中の「t」は、行番、「m」は、各行における先頭からの並び順及び「.x1」は、x座標を示し、例えば、C(t,m).x1は、t行目の先頭からm番目の文字区画における「x1」の座標値を示す。
一方、例えば、縦組みの場合には、文字配置解析処理部123は、(式15)に示すように、各行において、隣接する2つの文字区画の右隅の座標位置y2の座標値の差を算出し、算出した座標値の差の最大の値を、各行方向における最大文字ピッチSpmax(L1、t)に設定する。
なお、上述の各式と同様に、式中の「t」は、行番、「m」は、各行における先頭からの並び順、及び「.y2」は、y座標を示す。そして、例えば、(L1,1)は、t行における第1配列ラインを示し、C(t,m).y2は、t行目の先頭からm番目の文字区画における「y2」の座標値を示す。
(全行に基づく基準文字ピッチ)
文字配置解析処理部123は、解析中の文書ページにおいて、各行における行方向の最大区画サイズ、全行に基づく行方向の平均区画サイズ及び各行の最大文字ピッチを用いて全行に基づく基準文字ピッチを算出する。
具体的には、文字配置解析処理部123は、(式16)に示すように、各行における行方向の最大区画サイズSmax(L1,t)と全行に基づく行方向の平均区画サイズSst(L1)の差分値をそれぞれ算出し、算出された差分値のうち最小となる差分値を有する最大区画サイズの行を標準行(Lst)として設定する。そして、文字配置解析処理部123は、標準行(Lst)に設定した行における最大文字ピッチSpmax(L1,Lst)を、解析中の文書ページにおける基準文字ピッチSp(st)に設定する。
なお、上述の各式と同様に、式中の「t」は、行番、「Lst」は、(式17)に示すように、各行における行方向の最大区画サイズSmax(L1,t)と全行に基づく行方向の平均区画サイズSst(L1)の最小差分値Mint|ΔSp(L1,t)|を有する行を示す。
[4.3.7]文字区画統合補正処理
次に、図14を用いて本実施形態の文字配置解析処理部123における統合補正処理ついて説明する。なお、図14は、本実施形態の文字配置解析処理部123における統合補正処理について説明するため図である。
文字配置解析処理部123は、文字区画統合補正処理としては、解析中の文書ページにおいて、行毎に、隣接する文字区画の間の距離をそれぞれ算出するとともに、当該算出した文字区画の間の距離が補正処理の前処理によって算出した基準文字ピッチ以下であるか否かをそれぞれ判定する。そして、文字配置解析処理部123は、文字区画の間の距離が基準文字ピッチ以下と判定した文字区画同士を連結し、一の文字区画に統合する。
通常、2以上の互いに独立した部分から構成される文字については、漢字における「へん」や「つくり」等の個々の部分の間に空間が形成されるため、上述のように空白ラインによって文字区画を定めると、画素の大きさや文字の形によっては、個々の部分がそれぞれ別の文字区間として認識される場合がある。その一方、これらの個々の部分の間の空間は、文字間に形成される空間より狭い。
したがって、本実施形態においては、2以上の互いに独立した部分から構成される文字を一文字の文字区画として特定するように、基準となる値(すなわち、基準文字ピッチ)以下の空間がある隣接する2つの文字区画については、単一の文字区画に統合するようになっている。
具体的には、文字配置解析処理部123は、(式18)及び(式19)に示すように、行(t)毎に、行方向の隣接する2つの文字区画C(t、m)及びC(t、m+1)の間の距離D(L1(m,m+1))が補正処理の前処理によって算出した基準文字ピッチSp(st)以下であるか否かをそれぞれ判定する。そして、文字配置解析処理部123は、文字区画の間の距離が基準文字ピッチSp(st)以下と判定した文字区画同士を連結し、一の文字区画に統合する。
なお、(式18)は、横組みの場合の判定式を示し、(式19)は、縦組みの場合の判定式を示す。また、式中の「t」は、行番、「m」は、各行における先頭からの並び順、及び「.x」又は「.y」は、座標を示す。
例えば、横組みの文書の場合には、単に行検出処理をしただけであると、一行目にある「は」及び2行目にある「い」については、2つの文字区画として検出されることになる。そこで、本実施形態における統合補正処理が実行されると、「は」及び「い」については、図14(A)に示すように、一つの文字区画として統合されるようになる。
また、縦組みの文書の場合には、横組の文書の場合と同様に、単に行検出処理をしただけであると、一行目にある「は」及び2行目にある「い」については、2つの文字区画として検出されることになる。そこで、本実施形態における統合補正処理が実行されると、「は」及び「い」は、図14(B)に示すように、一つの文字区画として統合されるようになる。
[4.3.8]見出し解析処理
次に、図15を用いて本実施形態の文字配置解析処理部123における見出し解析処理ついて説明する。なお、図15は、本実施形態の文字配置解析処理部123における見出し解析処理について説明するため図である。
文字配置解析処理部123は、見出し解析処理としては、解析中の文書ページにおいて、行毎に、補正処理用の前処理によって算出した平均行ピッチに基づいて予め定めた条件(以下、「行ピッチ条件」という。)を具備したか否かを判定し、行ピッチ条件を具備する行に属する各文字区画については、見出しに用いる文字区画であることを示す属性を見出し属性情報として設定する。
具体的には、文字配置解析処理部123は、図15並びに(式20)及び(式21)に示すように、各行のピッチが算出した平均行ピッチSL(av)の所定の係数倍(例えば1.5倍)より大きいか否かを判定する。そして、文字配置解析処理部123は、各行が算出した平均行ピッチSL(av)の所定の係数倍(例えば1.5倍)より大きいと判定した場合には、当該判定に用いた行を見出し行に設定し、当該行に属する各文字区画に見出し属性情報(mode=1)を設定する。
なお、(式20)は、横組みの場合の判定式を示し、(式21)は、縦組みの場合の判定式を示す。また、上述と同様に、式中の「t」は、行番、「m」は、各行における先頭からの並び順、及び「.x2」又は「.y2」は、xまたはy座標を示す。さらに、行tが見出し行として判定される場合には、当該行に属する全ての文字区画が見出しに用いられるので、上述の演算においては、任意のmとm+1の文字区画についての行ピッチが算出されればよい。ただし、文字配置解析処理部123は、同一行の複数又は全部の文字区画を用いて平均その他の演算によって各行の行ピッチを算出してもよい。
[4.3.9]字下げ解析処理
次に、図16を用いて本実施形態の文字配置解析処理部123における字下げ解析処理ついて説明する。なお、図16は、本実施形態の文字配置解析処理部123における字下げ解析処理について説明するため図である。
文字配置解析処理部123は、字下げ解析処理としては、解析中の文書ページにおいて、行毎に、先頭の文字区画における位置が補正処理用の前処理によって算出した第1配列ラインにおける標準区画サイズに基づいて予め定めた条件(以下、「先頭配置条件」という。)を具備したか否かを判定し、先頭配置条件を具備する文字区画については、字下げ文字に該当する文字区画であることを示す属性を字下げ属性情報として設定する。
具体的には、文字配置解析処理部123は、図16、並びに(式22)及び(式23)に示すように、行方向において先頭となる文字区画が行方向の文字記載開始位置から所定の距離以上離れているか否かを判定する。そして、文字配置解析処理部123は、行方向において先頭となる文字区画が行方向の文字が記載される開始位置から所定の距離以上離れていると判定した場合には、当該判定に用いた文字区画に字下げ属性情報(mode=2)を設定する。
なお、(式22)は、横組みの場合の判定式を示し、(式23)は、縦組みの場合の判定式を示す。また、式中の「t」は、行番、「1」は、各行における先頭の文字区画、及び「.x」は、座標を示す。また、「Xmin」は、横組みの場合における画像化された文書の文書構造において左側の文字配列開始位置のx座標を示し、「Ymax」は、縦組みの場合における画像化された文書の文書構造において最上端の文字配列開始位置のx座標を示す。
[4.3.10]ルビ解析処理
次に、図17を用いて本実施形態の文字配置解析処理部123におけるルビ解析処理ついて説明する。なお、図17は、本実施形態の文字配置解析処理部123におけるルビ解析処理について説明するため図である。
文字配置解析処理部123は、ルビ解析処理としては、解析中の文書ページにおいて、行毎に、補正処理用の前処理によって算出した平均行ピッチに基づいて予め定めた条件(以下、「行ピッチ特定条件」という。)を具備したか否かを判定し、行ピッチ特定条件を具備する行に属する各文字区画については、ルビに用いる文字区画であることを示す属性をルビ属性情報として設定する。
また、文字配置解析処理部123は、特定したルビ行に属する各文字区画の行方向の第1位置とルビ行の文書の行送り方向に対して次段の行であるルビ対象行における各文字区画の行方向の第2位置とをそれぞれ比較するとともに、第1位置と第2位置の差が最小となるルビ対象行の文字区画をルビ対象文字として特定し、当該ルビ対象文字の文字区画にルビ対象文字を示す属性をルビ対象属性情報として設定する。そして、文字配置解析処理部123は、対象となっているルビの文字区画についても探索位置(ルビ対象となる文字区画の行及び並び順)の情報を設定する。
具体的には、文字配置解析処理部123は、図17、並びに、(式24)及び(式25)に示すように、各行のピッチが算出した行送り方向(第2配列ライン方向)の標準区画サイズSst(L2)の所定の係数倍(例えば0.8倍)より小さいか否かを判定する。そして、文字配置解析処理部123は、各行が算出した標準区画サイズSst(L2)の所定の係数倍より小さいと判定した場合には、当該判定に用いた行をルビ行に設定し、当該行に属する各文字区画(C(t,m))にルビ属性情報(mode=3)を設定する。
なお、(式24)は、横組みの場合の判定式を示し、(式25)は、縦組みの場合の判定式を示す。また、式中の「t」は、行番、「m」は、各行における先頭からの並び順、及び「.x1」および「.x2」又は「.y1」および「.y2」は、xまたはy座標を示す。さらに、行tがルビ行として判定される場合には、当該行に属する全ての文字区画がルビに用いられるので、上述の演算においては、任意のmの文字区画についての行ピッチが算出されればよい。ただし、文字配置解析処理部123は、同一行の複数又は全部の文字区画を用いて平均その他の演算によって各行の行ピッチを算出してもよい。
また、文字配置解析処理部123は、(条件1)及び(条件2)に示すように、特定したルビ行に属する各文字区画の行方向の第1位置とルビ行の文書の行送り方向に対して次段の行であるルビ対象行における各文字区画の行方向の第2位置とをそれぞれ比較し、第1位置と前記第2位置の差が最小となるルビ対象行の文字区画をルビ対象文字として特定する。そして、文字配置解析処理部123は、特定したルビ対象文字として特定された文字区画(C(t+1,i))にルビ対象属性情報(mode=4)を設定するとともに、当該ルビ対象文字のルビとなるルビ属性情報を付与した文字区画に、当該ルビ対象属性情報の文字区画のID(C(t+1,i))を設定する。
なお、(条件1)は、横組みの場合の判定条件を示し、(条件2)は、縦組みの場合の判定条件を示す。また、「t」は、行番、「i」および「m」は、各行における先頭からの並び順、及び「.x1」又は「.y2」は、座標を示す。
[4.3.11]禁則文字解析処理
次に、図18を用いて本実施形態の文字配置解析処理部123における禁則文字処理ついて説明する。なお、図18は、本実施形態の文字配置解析処理部123における禁則文字解析処理について説明するため図である。
文字配置解析処理部123は、禁則文字解析処理としては、解析中の文書ページにおいて、見出し解析処理、字下げ解析処理及びルビ解析処理の各属性情報が設定されていない文字区画について、各文字区画の行方向(第1配列ライン方向)の最大幅サイズ(文字区画内で黒画素が存在する最大の幅)及び最小幅サイズ(文字区画内で黒画素が存在する最小の幅)と、行送り方向(第2配列ライン方向)の最大幅サイズ及び最小幅サイズと、を算出する。そして、文字配置解析処理部123は、算出したそのそれぞれの差が予め定めた条件(以下、「禁則文字条件」という。)を具備したか否かを判定し、禁則文字条件を具備する文字区画については、禁則文字に該当する文字区画であることを示す属性を禁則文字属性情報として設定する。
具体的には、文字配置解析処理部123は、図18、並びに、(式26)及び(式27)に示すように、判定対象の文字区画の範囲において、
(1)行方向(第1配列ライン方向)の最大幅サイズZmax(L1)及び最小幅サイズZmin(L1)と、行送り方向の最大幅サイズZmax(L2)及び最小幅サイズZmin(L2)と、を算出し、
(2)行方向の最大幅サイズZmax(L1)及び最小幅サイズZmin(L1)の差(以下、「行方向サイズ差」という。)ΔZ(L1)と、行送り方向の最大幅サイズZmax(L2)及び最小幅サイズZmin(L2)の差(以下、「行送り方向サイズ差」という。)ΔZ(L2)と、をそれぞれ算出し、
(3)それぞれの差が行方向及び行送り方向のそれぞれが禁則文字条件である標準区画サイズSst(L1)及びSst(L2)の所定の係数倍(例えば、0.35倍)以下であるか否かを判定し、
(4)禁則条件を具備する場合には、当該判定に用いた文字区画に禁則文字属性情報(mode=5)を設定する。
なお、(式26)及び(式27)は、横組みの判定式の場合には、「Zmax(L1)」及び「Zmin(L1)」は、x座標となり、「Zmax(L2)」及び「Zmin(L2)」は、y座標となる。また、(式26)及び(式27)は、縦組みの判定式の場合には、「Zmax(L1)」及び「Zmin(L1)」は、y座標となり、「Zmax(L2)」及び「Zmin(L2)」は、x座標となる。
[4.4]区画配置処理部
次に、図19及び図20を用いて本実施形態のアプリケーション処理部120におけるに区画配置処理部124ついて説明する。なお、図19及び図20は、本実施形態の区画配置処理部124における区画配置処理について説明するため図である。
区画配置処理部124は、取得した文書データの文書構造におけるページ(すなわち、文書ページ)毎に、前の文書ページの文字区画の配置に継続しつつ、字配置解析処理部によって、解析された各文字区画を、設定された指定表示領域の領域サイズと、予め定められた配置条件と、各文字区画の並び順(各ページ毎の並び順)にしたがって文字区画を指定表示領域に配置するための処理を実行する。
具体的には、区画配置処理部124は、文字区画の行番号と行毎の並び順C(t,m)と文書構造(すなわち、横組み又は縦組み)に従って、各文字区画を配置しつつ、見出し文字、字下げ文字、ルビ、ルビ対象文字及び禁則文字を示す各属性情報を有する文字区画を検出した場合に、予め定められた配置条件に従って各属性情報を有する文字区画を所定の位置に配置する。
すなわち、区画配置処理部124は、
(1)属性情報を有していない文字区画を予め定まっている並び順に従って配置し、
(2)見出し属性情報を有する文字区画を検出した場合には、当該文字区画を、当該見出し行に属する他の文字区画とともに、単一の行として設定された指定表示領域内に配置し、
(3)字下げ属性情報を有する文字区画を検出した場合には、当該文字区画を、設定された指定表示領域内における行の先頭であって字下げされる位置に配置し、
(4)ルビ属性情報を有する文字区画を検出した場合には、当該文字区画を、設定された指定表示領域内におけるルビが付与されるルビ対象文字のルビの位置に配置し、
(5)禁則文字属性情報を有する文字区画を検出した場合には、行の先頭に配置禁止の文字に対応する文字区画を前段の行末に、又は、行末に配置禁止の文字に対応する文字区画を次段の行の先頭にそれぞれ当該文字区画を配置する。
そして、区画配置処理部124は、配置された際の各文字区画の座標(以下、「改変文字区画座標」という。)を検出し、文字区画毎に文字区画の四隅の座標を有する配置データを生成する。
例えば、区画配置処理部124は、図19(横組みの場合)及び図20(縦組みの場合)に示すように、字下げ文字区画、ルビ文字区画、ルビ対象文字区画及び禁則文字区画については、上記の配置条件に従って指定表示領域内に配置する。
なお、本実施形態においては、区画配置処理部124は、行末における禁則文字の配置を行う関係上、区画配置処理の実行の際には、図19及び図20に示すように、指定表示領域より行方向に狭い配置領域(以下、「実配置領域」という。)を用いて配置処理を実行し、禁則文字の文字区画があった場合に、指定表示領域内であって禁則文字の前文字区画と同一の行に配置するようになっている。ただし、この実配置領域は、指定表示領域に対して最大の禁則文字の文字区画が配置可能なスペース分狭い領域サイズであればよい。
[4.5]画像データ生成部
次に、図21を用いて本実施形態のアプリケーション処理部120におけるに画像データ生成部125ついて説明する。なお、図21は、本実施形態の画像データ生成部125における画像生成処理について説明するため図である。ただし、図21は、横組みの場合におけるビットマップ画像を生成する場合について説明するための図である。
画像データ生成部125は、区画配置処理部124によって生成された配置データ、すなわち、指定表示領域に配置された各文字区画に基づいて、ビットマップ画像を生成する。
具体的には、画像データ生成部125は、図21に示すように、文書データにおいて各文字区画C(t,m)の該当する区画画像、すなわち、文書データ上の座標で囲まれた各文字区画C(t,m)の画素ブロック(各画素の画素値)を抽出し、当該画素ブロックを、区画配置処理部124によって生成された配置データから各文字区画C(t,m)の四隅の座標(すなわち、改変文字区画座標であって、具体的には、(x1,y1)、(x2,y1)、(x1,y2)及び(x2,y2)である)に割り当てて指示指定領域内の各画素を設定し、ビットマップ画像を生成する。特に、画像データ生成部125は、カラー画像であれば、RGBの各画素値を、白黒画像であれば、グレースケールの値を改変文字区画座標の各画素に設定する。
[5]表示処理の動作
[5.1]閲覧アプリケーションのメイン表示処理
次に、図22を用いて本実施形態の携帯用端末装置10における閲覧アプリケーションに基づく文書画像の表示処理の動作について説明する。なお、図22を用いて本実施形態の携帯用端末装置10における閲覧アプリケーションに基づく文書画像の表示処理の動作を示すフローチャートである。
本動作においては、画像化された文書画像の文書データがデータ記憶部100に既に記憶されているものとし、当該文書データのページサイズとは表示サイズが異なる指定表示領域に当該文書データの文書画像を表示するものとする。
また、所定の文書データにおける文書画像の閲覧中において使用可能なユーザ操作には、指定表示領域の変更指示と、スクロールによる表示位置の変更指示と、終了指示と、を含む。
まず、データ管理制御部121は、操作部160によってユーザが閲覧を希望する文書データの選択とともに、ユーザの閲覧アプリケーションの実行開始の指示を検出すると(ステップS101)、選択された文書データをコンテンツデータ記憶部102から読み出してROM/RAM103に展開する(ステップS102)。
次いで、文字配置解析処理部123は、読み出した文書データの文書画像に含まれる各文字の文字区画を、文書ページ毎に解析する文字区画解析処理を実行し、各文字区画の基準座標(具体的には矩形の四隅の座標)及び見出し等の属性情報から構成される文字区画データを生成する(ステップS103)。なお、文字配置解析処理部123における文字区画解析処理の詳細については後述する。
次いで、指定表示領域設定部122は、予め定められた標準的な指定表示領域を読み出す(ステップS104)。例えば、データ管理制御部121は、前回の閲覧アプリケーションの動作時の指定表示領域をデータ記憶部100に記憶し、本処理においてデータ記憶部100から読み出す。
次いで、区画配置処理部124は、ステップS103において実行された文字区画解析処理によって解析された各文字区画を、所定の配置状況及び属性情報に従って、ステップS104の処理において読み出した指定表示領域、又は、ステップS109の処理において設定された指定表示領域に配置する区画配置処理を実行する(ステップS105)。なお、区画配置処理部124における区画配置処理の詳細については後述する。
次いで、画像データ生成部125は、配置された指定表示領域内の文字区画に、配置された文字区画に対応する元の文書画像における画素ブロックを配置してビットマップ画像を生成する(ステップS106)。
次いで、画像データ生成部125は、表示制御と連動して該当する部分のビットマップ画像を表示部150に出力し、ユーザの操作入力を待機する(ステップS107)。なお、スクロール指示された場合には、その指示に連動して該当する部分のビットマップ画像を連続的に出力する。
次いで、データ管理制御部121は、ユーザにおける操作入力を検出すると(ステップS108)、スクロールによる表示変更指示の有無(ステップS109)、及び、指定表示領域の変更指示の有無(ステップS110)をそれぞれ判定する。
このとき、データ管理制御部121は、ユーザにおける操作入力が指定表示領域の変更指示と判定した場合には、ステップS107の処理に移行し、ユーザにおける操作入力が改変ページの指定と判定した場合には、ステップS105の処理に移行し、ユーザにおける操作入力がいずれの操作入力でもないと判定した場合には、閲覧アプリケーションの終了処理を実行し(ステップS111)、本動作を終了させる。
[5.2]文字配置解析処理
次に、図23を用いて本実施形態の携帯用端末装置10において、閲覧アプリケーション実行中に実行される文字配置解析処理の動作について説明する。なお、図23は、本実施形態において、閲覧アプリケーション実行中における文字配置解析処理の動作を示すフローチャートである。
本動作においては、文書データのページレイアウト、すなわち、横組みであるか、縦組みであるかは、フラグ情報として文書データに含まれているものとする。また、本動作においては、文字区画解析処理の実行を検出すると、文書ページ毎に、以下の処理が実行されるものとする。
まず、文字配置解析処理部123は、上述のステップS103の処理において、文字区画解析処理の実行を検出すると(ステップS201)、ROM/RAM103に記憶された文書データに含まれるフラグ情報に基づいて、当該文書データのページレイアウトを識別し、当該文書データにおける前記文書の行方向及び行送り方向を認識する(ステップS202)。
次いで、文字配置解析処理部123は、カラーによって形成された文書画像をグレースケール画像に変換し、変換したグレースケール画像を、又は、白黒によって形成された文書画像を直接的に、予め定められた閾値に基づいて、2値化するとともに、2値化された文書画像におけるノイズを除去するノイズ補正を実行する(ステップS203)。
次いで、文字配置解析処理部123は、行検出処理及び文字区画検出処理を実行するために、認識した行方向及び行送り方向に対する2値化された各画素のそれぞれの画素値(黒画素、白画素又はその双方)をカウントする(ステップS204)。
次いで、文字配置解析処理部123は、行方向の各画素における画素値のカウント数に基づいて、行方向における空白の画素ライン(空白ライン)を抽出し、領域幅(すなわち、行の高さ又は幅)を含む各行を検出する(ステップS205)。
次いで、文字配置解析処理部123は、検出した行毎に、行送り方向の各画素における画素値のカウント数に基づいて、行送り方向における空白の画素ライン(空白ライン)及び文字を形成する文字形成ラインを抽出し、行毎の各文字区画を検出する(ステップS206)。
次いで、文字配置解析処理部123は、補正処理用の前処理として、最大区画サイズ、平均区画サイズ、標準区画サイズ、平均行ピッチ、最大文字ピッチ、及び、基準文字ピッチを算出する(ステップS207)。
次いで、文字配置解析処理部123は、前処理によって実行された演算結果を用いて、各行において、文字ピッチ条件を具備する隣接する2つの文字区画を統合する統合補正処理を実行する(ステップS208)。
次いで、文字配置解析処理部123は、前処理によって実行された演算結果を用いて、各行において、行ピッチ条件を具備する行であるか否かを判定し、行ピッチ条件を具備する行に属する文字区画に、見出し文字としての属性(見出し属性情報)を設定する見出し解析処理を実行する(ステップS209)。
次いで、文字配置解析処理部123は、前処理によって実行された演算結果を用いて、各行の先頭の文字区画について、先頭配置条件を具備するか否かを判定し、先頭配置条件を具備する先頭の文字区画に、字下げ文字としての属性(字下げ属性情報)を設定する字下げ解析処理を実行する(ステップS210)。
次いで、文字配置解析処理部123は、前処理によって実行された演算結果を用いて、各行において、行ピッチ特定条件を具備するか否かを判定し、行ピッチ特定条件等を有する文字区画をルビ又はルビ対象文字として設定する(ステップS211)。
具体的には、文字配置解析処理部123は、行ピッチ特定条件を具備する各文字区画をルビとしての属性(ルビ属性情報)設定し、ルビと判定され文字区画が存在した場合にルビと判定された文字区画に対して所定の条件を有する文字区画をルビ対象文字としての属性(ルビ対象文字属性情報)を設定し、かつ、ルビに設定された文字区画にルビ対象文字として設定された文字区画を探索する探索位置を設定する。
次いで、文字配置解析処理部123は、前処理によって実行された演算結果を用いて、見出し属性情報、字下げ属性情報、ルビ属性情報及びルビ対象属性情報が設定されていない各文字区画について、禁則条件を具備するか否かを判定し、禁則条件を有する文字区画に禁則文字としての属性(禁則文字属性情報)を設定する禁則文字解析処理を実行する(ステップS212)。
最後に、文字配置解析処理部123は、文字区画毎に、上記各処理によって得られた文字区画の基準座標(具体的には矩形の四隅の座標)、先頭からの並び順情報、及び、見出し等の上記属性情報を含む文字区画データを生成してROM/RAM103に展開し(ステップS213)、本動作を終了させる。
[5.3]区画配置処理
次に、図24〜図26を用いて本実施形態の携帯用端末装置10において、閲覧アプリケーション実行中に実行される区画配置処理の動作について説明する。なお、図24〜図26は、本実施形態において、閲覧アプリケーション実行中における区画配置処理の動作を示すフローチャートである。
本動作においては、文書データの文書構造におけるページ(すなわち、元の文書形式のページ(以下、単に「文書ページ」という。))毎に実行するものとし、配置条件は閲覧アプリケーションの実行開始時にROM/RAM103に展開されているものとする。
また、本動作においては、文字区画を配置する際に、行方向に次の文字区画を配置する座標(x、y)の位置(以下、「次配置位置」という。)を認識し、かつ、指定表示領域内の改行を行うための行方向の残存スペースを算出しつつ、当該文字区画を配置するものとする。
まず、区画配置処理部124は、上述のステップS105の処理において、区画配置処理の実行を検出すると(ステップS300)、ユーザによって設定された又は予め設定された指定表示領域の領域サイズから行方向の長さ情報を取得して後段の処理の演算に使用する各値を初期化する(ステップS301)。具体的には、区画配置処理部124は、行方向及び行送り方向の画素数を取得して指定表示領域の領域サイズ(Ax×Ay)を取得し、かつ、実配置領域(Bx×By)を設定する。また、このとき、区画配置処理部124は、ROM/RAM103に記憶される、指定表示領域の残存スペースを算出する際に用いる行方向の長さWD(L1)を初期化する。
次いで、区画配置処理部124は、該当する文書ページに属する文字区画の文字区画データをROM/RAM103から読み出して取得する(ステップS302)。具体的には、区画配置処理部124は、先頭の文書ページ又は指定表示領域が設定される際に指定表示領域の先頭に表示していた文字区画が属する文書ページを取得する。
次いで、区画配置処理部124は、読み出した文書ページにおける該当する文字区画を、その属性情報とともに、読み出す(ステップS304)。具体的には、区画配置処理部124は、読み出した文書ページにおいて、文字配置解析処理によって得られた各文字区画の並び順に従って、先頭の文字区画、又は、既に当該文書ページについて本処理を実行している場合には、前回読み出した文字区画の次の文字区画を読み出す。
次いで、区画配置処理部124は、読み出した文字区画の属性情報に基づいて当該文字区画がルビを示す文字区画であるか否かを判定する(ステップS305)。具体的には、区画配置処理部124は、当該文字区画の属性情報としてルビ属性情報「mode=3」を有しているか否かを判定する。このとき、区画配置処理部124は、当該読み出した文字区画の属性情報がルビを示す文字区画であると判定した場合には、ステップS304の処理に戻り、ルビでない文字区画と判定した場合には、ステップS306の処理に移行する。
なお、本処理は、ルビと判定された文字区画を、ルビ以外の文字区画を配置した後に配置するための判定処理である。
次いで、区画配置処理部124は、読み出した文字区画の属性情報に基づいて当該文字区画が見出し行に属する文字区画であるか否かを判定する(ステップS306)。具体的には、区画配置処理部124は、当該文字区画の属性情報として見出し属性情報「mode=1」を有しているか否かを判定する。このとき、区画配置処理部124は、当該読み出した文字区画が見出し行に属する文字区画であると判定した場合には、ステップS312の処理に移行し、見出し行に属する文字区画でないと判定した場合には、ステップS307の処理に移行する。
次いで、区画配置処理部124は、読み出した文字区画の属性情報に基づいて当該文字区画が字下げ文字を示す文字区画であるか否かを判定する(ステップS307)。具体的には、区画配置処理部124は、当該文字区画の属性情報として字下げ属性情報「mode=2」を有しているか否かを判定する。このとき、区画配置処理部124は、当該読み出した文字区画が字下げ文字であると判定した場合には、ステップS312の処理に移行し、字下げ文字でないと判定した場合には、ステップS308の処理に移行する。
次いで、区画配置処理部124は、ステップS307の処理において読み出した文字区画が字下げ文字でないと判定した場合には、所定の演算を実行することによって、指定表示領域の該当する行において読み出した文字区画を配置する残存スペースがあるか否かを判定する(ステップS308)。具体的には、区画配置処理部124は、ROM/RAM103に記憶された行方向の長さWD(L1)に、読み出した文字区画の行方向の長さ(横組みの場合にはΔx及び縦組みの場合には、Δy)を加算し、その値がステップS302の処理において取得した実配置領域における行方向の長さ(横組みの場合には、Bx及び縦組みの場合には、By)より小さいか否かを判定する。
また、このとき、区画配置処理部124は、指定表示領域の該当する行において読み出した文字区画を配置する残存スペースがあると判定した場合には、ステップS321の処理に移行し、読み出した文字区画を配置する残存スペースがないと判定した場合には、ステップS331の処理に移行する。
次いで、区画配置処理部124は、ステップS308の処理において、指定表示領域の該当する行において読み出した文字区画を配置する配置スペースがないと判定した場合には、当該読み出した文字区画の属性情報に基づいて禁則文字を示す文字区画であるか否かを判定する(ステップS311)。
具体的には、区画配置処理部124は、当該文字区画の属性情報として禁則文字属性情報「mode=5」を有しているか否かを判定する。このとき、区画配置処理部124は、当該読み出した文字区画が禁則文字でないと判定した場合には、ステップS312の処理に移行し、禁則文字であると判定した場合には、ステップS321の処理に移行する。
次いで、区画配置処理部124は、ステップS306の処理において読み出した文字区画が見出し行に属する文字区画であると判定した場合には、ステップS307の処理において読み出した文字区画が字下げ文字であると判定した場合には、又は、ステップS311の処理において読み出した文字区画が禁則文字であると判定した場合には、指定表示領域における次配置位置を改行し、行方向の長さWD(L1)を初期化し(ステップS312)、ステップS321の処理に移行する。具体的には、区画配置処理部124は、次配置位置に所定の行間値を加算して行送り方向の位置を決定しつつ、行方向の先頭位置に次配置位置を決定する。
次いで、区画配置処理部124は、ステップS308の処理において、指定表示領域の該当する行において読み出した文字区画を配置する配置スペースがあると判定した場合に、ステップS312の処理において、読み出した文字区画が禁則文字であると判定した場合に、又は、ステップS312の処理において改行し、かつ、行方向の先頭位置に次配置位置を決定した場合に、当該次配置位置に読み出した文字区画を配置する(ステップS321)。
次いで、区画配置処理部124は、行方向の次配置位置に読み出した文字区画の行方向の長さ(横組みの場合にはΔx及び縦組みの場合には、Δy)を加算し、行方向の次配置位置を更新する(ステップS322)。
次いで、区画配置処理部124は、ルビを除き、ステップS302の処理によって読み出した文書データについて、全ての文字区画について既に区画配置処理を実行したか否かを判定する(ステップS331)。このとき、区画配置処理部124は、ルビを除き、全ての文字区画について既に区画配置処理を実行したと判定した場合には(すなわち、ルビ以外の文字区画を配置した判定した場合には)、ステップS401の処理移行し、ルビを除き、全ての文字区画について既に区画配置処理を実行していないと判定した場合には(すなわち、ルビ以外にも未だ区画配置処理を実行していない文字区画があると判定した場合には)、ステップS304の処理に戻る。
一方、区画配置処理部124は、ステップS331の処理において、ルビを除き、全ての文字区画について既に区画配置処理を実行したと判定した場合には、ROM/RAM103から該当する文書ページの先頭から該当する文字区画を再度読み出す(ステップS401)。
次いで、区画配置処理部124は、当該読み出した文字区画の属性情報に基づいてルビを示す文字区画であるか否かを判定する(ステップS402)。具体的には、区画配置処理部124は、当該文字区画の属性情報としてルビ属性情報「mode=3」を有しているか否かを判定する。このとき、区画配置処理部124は、当該読み出した文字区画の属性情報がルビを示す文字区画であると判定した場合には、ステップ403の処理に戻り、ルビでない文字区画と判定した場合には、ステップS401の処理に戻る。
次いで、区画配置処理部124は、属性情報に含まれるルビ対象文字を検索し、当該ルビ対象文字のルビ位置を算出し(ステップS403)、該当する位置に文字区画をルビとして配置する(ステップS404)。
次いで、区画配置処理部124は、ルビを含め全ての文字区画について区画配置処理を実行したか否かを判定する(ステップS405)。このとき、区画配置処理部124は、ルビを含め全ての文字区画について区画配置処理を実行していないと判定した場合には、ステップS401の処理に戻り、ルビを含め全ての文字区画について区画配置処理を実行したと判定した場合には、ステップS402の処理に移行する。
最後に、区画配置処理部124は、次の文書ページの有無を判定するとともに(ステップS406)、次の文書ページがあると判定した場合には、ステップS302の処理に移行し、次の文書ページがないと判定した場合には、本動作を終了させる。
[6]表示処理の一例
次に、図27及び図28を用いて本実施形態における表示処理の一例ついて説明する。なお、図27は、本実施形態における横組みの場合における表示処理の一例を説明するための図であり、図28は、本実施形態における縦組みの場合における表示処理の一例を説明するための図である。
横組みの場合は、携帯用端末装置10は、ユーザ操作に基づいて、例えば、図27(A)に示すJPEG形式などのビットマップ形式の文書データ(文書ページ)に基づいて閲覧アプリケーションを起動させると、図27(B)に示すような文字区画データを生成する。そして、携帯用端末装置10は、図28(C)に示すような指定表示領域(実配置領域)を検出して設定すると、図27(D)に示すような、指定表領域に従った表示画面を出力する。
また、縦組みの場合は、携帯用端末装置10は、ユーザ操作に基づいて、例えば、図28(A)に示すJPEG形式などのビットマップ形式の文書データ(文書ページ)に基づいて閲覧アプリケーションを起動させると、図28(B)に示すような文字区画データを生成する。そして、携帯用端末装置10は、図27(C)に示すような指定表示領域(実配置領域)を検出して設定すると、図28(D)に示すような、指定表領域に従った表示を実行する。
[7]変形例
次に、図29を用いて上記実施形態に基づく変形例について説明する。なお、図29は、上記実施形態に基づく変形例を説明するための図である。
上述の実施形態においては、携帯用端末装置10は、ページの概念を用いることなく、行送り方向については、文書データの文末まで一ページ分の仮想的なページによってビットマップ画像を生成し、ユーザのスクロール表示に従ってユーザの希望する部分をシームレスに閲覧可能に表示するようになっているが、指定表示領域についても、ページの概念を用いて文書画像データを指定表示領域に従って表示してもよい。
この場合には、区画配置処理部124は、設定された指定表示領域に従って、複数のページ(以下、「改変ページ」という。)によって文書画像を提供するために、各文字区画を配置するようになっている。例えば、区画配置処理部124は、一の改変ページでは元の文書画像における一のページの文字区画を全て配置することができない場合には、改変ページに文字区画を配置する領域が確保することができなくなる毎に、一の改変ページを追加し、追加した改変ページに、未だ配置されていない文字区画(以下、「未配置文字区画」という。)を配置条件に従って配置する。
特に、この場合において、区画配置処理部124は、図29に示すように、文書画像におけるmpページ(文書ページにおけるmpページ)の文字区画の配置の終了後に、改変ページ(以下、「継続中改変ページ」という。)に一以上の文字区画が配置可能な場合には、文書ページの(mp+1)ページにおける先頭の文字区画から順に、配置条件に従って継続中改変ページの未配置領域に配置し、npページ目の改変ページを生成し、継続中改変ページに未配置の文字区画によって(np+1)ページ目の改変ページを生成する。
そして、画像データ生成部125は、ユーザによって設定された指定表示領域に基づく改変ページ毎に文書画像を表示するためのデータを生成する。
以上、本実施形態の携帯用端末装置10は、2値化された第1配列ライン及び第2配列ラインの各画素の画素値に基づいて、画像化された文書における各文字の画像領域(区画画像)を文字区画として検出することができるので、設定された表示領域に合わせて各文字区画を配列させることができる。
したがって、本実施形態の携帯用端末装置10は、例えば、表示領域の行方向の幅が狭い場合に行方向へのスクロール表示を制限しつつ、表示可能な文字配列を実現することができるので、携帯端末装置等の表示手段の表示領域が小さい場合であっても、当該表示領域のサイズに依存せずに、ユーザの閲覧性を向上させることができる。
また、本実施形態の携帯用端末装置10は、文字区画を検出する際に、画像化された文書画像を構成する各文字のサイズ、当該文書上の配置位置又はその双方を特定することができるので、各文字の大きさ又は元の配置位置に基づいて表示領域に各文字区画を配置することができる。
したがって、本実施形態の携帯用端末装置10は、文書の文書構造を維持しつつ、適切な文字サイズによる表示を実現することができる。
また、本実施形態の携帯用端末装置10は、各第1配列ライン上の第1画素の画素値の有無によって、当該各第1配列ラインが文書の行間を示すラインであるか、文字が存在する行に含まれるラインであるかを検出することができる。
すなわち、本実施形態の携帯用端末装置10は、例えば、黒を示す画素値を有する第1画素を検出する場合であって、第1配列ライン上に第1画素が存在しない場合には、当該第1配列ラインを文字が存在しない空白のラインであって文書の行間を示すラインであることを検出することができるとともに、第1配列ライン上に一以上の第1画素が検出された場合には、第1配列ラインを文字が存在する行に含まれるラインであることを検出することができる。
そして、本実施形態の携帯用端末装置10は、第1画素が存在する隣接する第1配列ライン群によって文書を構成する各行(すなわち、文字が存在する行)とそれらの行間とを検出することができるので、当該第1配列ライン群に属する第1配列ライン数に基づいて文書を構成する文字の行送り方向のサイズ、すなわち、文書が横組みであれば文字の高さ、文書が縦組みであれば文字の幅を検出することができる。
この結果、本実施形態の携帯用端末装置10は、画像化された文書における各文字の画像領域(区画画像)を文字区画として的確に検出することができる。
また、本実施形態の携帯用端末装置10は、文書の各行毎に、各第2配列ライン上の第1画素の画素値の有無によって、当該各第2配列ラインが文字間を示すラインであるか、文字を構成するラインであるかを検出することができる。
すなわち、本実施形態の携帯用端末装置10は、例えば、上述のように、黒を示す画素値を有する第1画素を検出する場合であって、第2配列ライン上に第1画素が存在しない場合には、当該第2配列ラインを文字が存在しない空白のラインであって文字間を示すラインであることを検出することができるとともに、第2配列ライン上に一以上の第1画素が検出された場合には、第2配列ラインを、文字を構成するラインであるとして検出することができる。
そして、本実施形態の携帯用端末装置10は、第1画素が存在する隣接する第2配列ライン群によって各文字とそれらの文字間とを検出することができるので、当該第2配列ライン群に属する第2配列ライン数に基づいて各行の各文字の行方向のサイズ、すなわち、文書が横組みであれば文字の幅、文書が縦組みであれば文字の高さを検出することができる。
この結果、本実施形態の携帯用端末装置10は、画像化された文書における各文字の画像領域(区画画像)を文字区画として的確に検出することができる。
また、本実施形態の携帯用端末装置10は、2以上の互いに独立した部分から構成される文字を一文字の文字区画として特定することができるので、画像化された文書における各文字の画像領域(区画画像)を文字区画として的確に検出することができる。
また、本実施形態の携帯用端末装置10は、画像化された文書画像を構成する各文字のサイズ、当該文書上の配置位置又はその双方を特定し、文書内における各文字の配列ルールを認識することができるとともに、当該配列ルールを配置条件に反映されることによって、当該配列ルールに従いつつ、各文字区画を示す文字区画の表示領域内の位置を決定することができる。
したがって、本実施形態の携帯用端末装置10は、見出し、字下げ、先頭文字、ルビ、又は、禁則文字等の文書構造を維持しつつ、適した文字サイズによる表示を実現することができるので、表示領域に依存せずに、かつ、ユーザの閲覧性を向上させることができる。
また、本実施形態の携帯用端末装置10は、見出し行に属する各文字区画を表示領域における単一の行に配置することができるので、文書構造を維持しつつ、文書を表示領域に合わせて表示させることができる。
また、本実施形態の携帯用端末装置10は、所定の文字のルビとして検出された文字区画を、設定された表示領域内におけるルビが付与されるルビ対象文字のルビの位置に配置することができるので、文書構造を維持しつつ、文書を表示領域に合わせて表示させることができる。
また、本実施形態の携帯用端末装置10は、文書における段落の先頭文字と特定された文字区画を、設定された表示領域内における行の先頭であって字下げされる位置に配置することができるので、文書構造を維持しつつ、文書を表示領域に合わせて表示させることができる。
また、本実施形態の携帯用端末装置10は、文書における禁則処理の対象文字として特定された文字区画を、設定された表示領域内においても禁則処理の対象文字として配置することができるので、文書構造を維持しつつ、文書を表示領域に合わせて表示させることができる。
また、本実施形態の携帯用端末装置10は、文書のページが切り替わった場合であっても、ユーザにページが切り替わったことを意識させることなく、文書を表示領域に表示することができるので、ユーザの閲覧性を向上させることができる。