説明

文書処理装置及びプログラム

【課題】表示部のサイズによらず、文書全体のレイアウトを維持しながら、レイアウトされた文書要素の各々を拡大表示する。
【解決手段】複数の文書要素を含む文書情報を、処理対象文書として受け入れ、当該受け入れた処理対象文書から、文書要素の各々を検出する。そして当該検出した文書要素の画像のそれぞれを、指定された分だけ拡大した要素画像を生成し、当該文書要素が処理対象文書のうちに占める範囲の中で、対応する文書要素の要素画像を表示するよう制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書処理装置及びプログラムに関する。
【背景技術】
【0002】
2画面を有するユーザ端末において、表示部2−1には、コンテンツの作成者が意図した状態で、コンテンツが表示される。この表示されているコンテンツは、複数のブロック毎のコンテンツにより構成されており、そのブロック毎に拡大の処理が行えるようになっている。拡大が指示されたブロックのコンテンツは、表示部2−2に表示される。表示部2−2に表示されるコンテンツは、拡大されたものであるが、その拡大には、規則が定められており、例えば、画像などは、上下左右の比率が変化しないで拡大表示されるように処理される。本発明は、電子書籍を扱う装置に適用できる、という技術が特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−118477号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
表示部のサイズによらず、文書全体のレイアウトを維持しながら、レイアウトされた各文書要素の内容を拡大表示できる技術が望まれている。
【課題を解決するための手段】
【0005】
請求項1に記載の発明は,文書処理装置であって、複数の文書要素を含む文書情報を、処理対象文書として受け入れる手段と、前記受け入れた処理対象文書から、前記文書要素の各々を検出する手段と、前記検出した文書要素の画像のそれぞれを、指定された分だけ拡大した要素画像を生成する手段と、当該文書要素が前記処理対象文書のうちに占める範囲の中で、対応する文書要素の要素画像を表示するよう制御する表示制御手段と、を含むものである。
【0006】
請求項2記載の発明は、請求項1記載の文書処理装置であって、前記表示制御手段は、前記各文書要素が前記処理対象文書のうちに占める範囲の中で、それぞれ対応する文書要素の要素画像の一部を切り出して表示し、当該切り出し範囲を指定された方向に、指定された速度で移動させて表示するよう制御することとしたものである。
【0007】
請求項3記載の発明は、プログラムであって、コンピュータを、複数の文書要素を含む文書情報を、処理対象文書として受け入れる手段と、前記受け入れた処理対象文書から、前記文書要素の各々を検出する手段と、前記検出した文書要素の画像のそれぞれを、指定された分だけ拡大した要素画像を生成する手段と、当該文書要素が前記処理対象文書のうちに占める範囲の中で、対応する文書要素の要素画像を表示するよう制御する表示制御手段と、として機能させることとしたものである。
【発明の効果】
【0008】
請求項1,3記載の発明によると、文書全体のレイアウトを維持しながら、レイアウトされた各文書要素の内容を拡大表示できる。
【0009】
請求項2記載の発明によると、拡大表示した文書要素の各々を、文書要素の配置されていた領域内でスクロール表示させることができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施の形態に係る文書処理装置の構成例を表すブロック図である。
【図2】本発明の実施の形態に係る文書処理装置における処理対象文書の画像の例を表す説明図である。
【図3】本発明の実施の形態に係る文書処理装置の一例に係る機能ブロック図である。
【図4】本発明の実施の形態に係る文書処理装置による拡大の処理例を表す説明図である。
【図5】本発明の実施の形態に係る文書処理装置の処理例を表す説明図である。
【図6】本発明の実施の形態に係る文書処理装置において処理される処理対象文書の一具体例を表す説明図である。
【図7】本発明の実施の形態に係る文書処理装置の処理例を表すフローチャート図である。
【図8】本発明の実施の形態に係る文書処理装置による文書要素の処理例を表す説明図である。
【図9】本発明の実施の形態に係る文書処理装置により行われる表示制御の例を表す説明図である。
【発明を実施するための形態】
【0011】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る文書処理装置1は、図1に例示するように、制御部11と、記憶部12と、操作部13と、表示部14とを含んで構成される。ここに制御部11は、CPU(Central Processing Unit)等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。
【0012】
本実施の形態では、この制御部11は、複数の文書要素を含む文書情報を、処理対象文書として受け入れ、当該受け入れた処理対象文書から、文書要素の各々を検出する。そして当該検出した文書要素の画像のそれぞれを、指定された分だけ拡大した要素画像を生成し、各文書要素について、それぞれが処理対象文書のうちに占める範囲の中で、対応する文書要素の拡大後の要素画像を表示する。この具体的な制御部11の処理の内容については後に述べる。
【0013】
記憶部12は、メモリデバイスなどであり、制御部11によって実行されるプログラムが保持される。このプログラムは、DVD−ROM(Digital Versatile Disc Read Only Memory)等のコンピュータ可読な記録媒体に格納された状態で提供され、シリアルインタフェースやネットワークなどの通信手段(不図示)を介して、本実施の形態の文書処理装置1側に転送され、記憶部12に格納されたものであってもよい。
【0014】
また、この記憶部12には、処理の対象となる文書情報が保持される。この文書情報もまた、シリアルインタフェースやネットワークなどの通信手段(不図示)を介して、本実施の形態の文書処理装置1側に転送され、記憶部12に格納されたものであってもよい。
【0015】
本実施の形態において処理の対象となる文書情報は、図2に例示するように、文字列が配されたテキスト領域Tや、絵柄を配した絵柄領域Pなど、空隙W(少なくとも文字間隔以上の空白部分)で隣接した領域と仕切られた複数の領域を含む。ここでは、これら各領域内のテキストや絵柄のそれぞれを文書要素と呼ぶ。このような文書要素を検出する方法としては、広く知られているレイアウト解析処理等がある。本実施の形態の記憶部12は、さらに、制御部11のワークメモリとしても動作する。
【0016】
操作部13は、キーパッド等であり、利用者の指示操作を受け入れて、当該指示操作の内容を制御部11に出力する。表示部14は、液晶表示デバイスなどであり、制御部11から入力される指示に従って、指示された画像を表示出力する。
【0017】
次に制御部11の動作について述べる。本実施の形態では、この制御部11が記憶部12に格納されたプログラムを実行することで、文書処理装置1が機能的に、図3に例示するように、文書情報受入部21と、文書要素検出部22と、要素画像生成部23と、表示制御部24と、を含むものとして実現される。
【0018】
ここで文書情報受入部21は、処理の対象である処理対象文書を受け入れる。具体的にこの文書情報受入部21は、図示しない通信手段を介して受信した文書情報を記憶部12に格納し、当該文書情報を処理対象文書として読み出すこととしてもよい。また、記憶部12に予め格納されている文書情報を処理対象文書として読み出すものであってもよい。
【0019】
文書要素検出部22は、文書情報受入部21が読み出した処理対象文書から文書要素を検出する。この処理としては、広く知られた種々のレイアウト解析処理を用いることができる。
【0020】
[文書情報が描画命令群である場合]
例えば処理対象となった文書情報がPDF(Portable Document Format)のデータである場合、各文書要素はそれぞれオブジェクトと呼ばれるデータ部分に区分されているものとする。この場合、文書要素検出部22は、各オブジェクトによって描画されるべき部分を文書要素として検出する。そしてオブジェクトごとに、その描画範囲(処理対象文書内でどの範囲に描画されるかを表す情報)と、当該オブジェクトに含まれる描画命令とを、要素データとして取り出す。
【0021】
ここで描画範囲の情報は、例えば処理対象文書の左上隅を原点として、描画範囲の左上隅の位置座標(Xlt,Ylt)と、右下隅の位置座標(Xrb,Yrb)とで表すことができる(ここでXlt、Ylt、Xrb、Yrbはそれぞれセンチメートルやインチなど、表示デバイス等の解像度に依存しない単位で定められる)。
【0022】
[文書情報がビットマップ画像である場合]
また、処理対象文書がビットマップの画像である場合、文書要素検出部22は、次の処理を行ってもよい。すなわち、当該処理対象文書画像を白黒二値化して、二値化データを生成する。次に文書要素検出部22は、二値化データに対してラベリング処理を行い、黒色の画素が連続する部分からなる複数の画素群(連結画素群)を特定する。
【0023】
そして文書要素検出部22は、特定した連結画素群ごとに、各連結画素群に外接する矩形を基本矩形として画定する。各基本矩形の座標情報(当該矩形を画定するための座標情報)を生成する。文書要素検出部22は、画定した基本矩形の各々について固有の識別子を発行し、当該識別子と各基本矩形の座標情報とを関連づけて記憶部12に格納しておく。
【0024】
また文書要素検出部22は、処理対象文書の左上端の画素を初期位置として、処理対象文書の初期位置から、各画素を左から右へと1ライン走査する。そしてラベリング処理において白画素とされた画素が、予め定めた水平方向閾値より多く連続している場合に、当該連続画素部分を水平セパレータとして検出する。文書要素検出部22は、この水平セパレータを特定する情報(その左端画素の処理対象文書上の座標と右端画素の処理対象文書上の座標など)を生成して記憶部12に格納する。文書要素検出部22は、この処理を上から下へ1ラインずつ行う。
【0025】
また文書要素検出部22は、処理対象となっている絵柄候補部分データの左上端の画素を初期位置として、当該初期位置から各画素を上から下へと1ライン走査する。そしてラベリング処理において白画素とされた画素が、予め定めた垂直方向閾値より多く連続している場合に、当該連続画素部分を垂直セパレータとして検出する。文書要素検出部22は、この垂直セパレータを特定する情報(その上端画素の処理対象文書上の座標と下端画素の処理対象文書上の座標など)を生成して記憶部12に格納する。文書要素検出部22は、この処理を左から右へ1ラインずつ行う。
【0026】
なお、例えば多段組のレイアウトにおいて自領域を他の領域から分かつための閾値であり、水平方向閾値は左右に隣接する文字間(基本矩形間)の空隙の幅よりも大きく、左右に隣接する段(隣接する他の領域)までの空隙の幅より小さいものとして予め定めておく。また垂直方向閾値は2行以上の文字列を含むテキスト領域を、その上下に隣接する他の領域と分けるための閾値であり、テキストの行間(上下に隣接する基本矩形間)の空隙幅よりも大きく、上下に隣接する他の領域までの空隙の幅よりも小さいものとして予め定めておく。この設定は、予めユーザの設定によってもよい。一例としてはいくつかの文書情報について、文字間隔、段間隔、文字列行間隔、レイアウト間隔などの統計をとって決定してもよい。
【0027】
文書要素検出部22は、記憶部12に格納されている基本矩形の一つを注目基本矩形として選択しておき、次に記憶部12に格納されている基本矩形であって、いままでに注目基本矩形として選択されていない基本矩形を処理対象基本矩形として順次選択しながら、次の処理を行う。
【0028】
すなわち、文書要素検出部22は、注目基本矩形の中心座標(座標情報が、基本矩形の対角線上にある基本矩形の各頂点の座標を表している場合、その中点座標)と、処理対象基本矩形の中心座標へのベクトルを生成する。そして当該ベクトルの大きさ(各成分の二乗和の平方根)から注目基本矩形と処理対象基本矩形との距離を算出する。そして、この算出した距離が予め定めた距離閾値以下となっている場合は、上記算出したベクトルが、記憶部12に格納された情報で特定されるセパレータのいずれかと交差するか否かを調べる。この処理は2つの線分が交差するか否かを調べる処理として広く知られたものを用いることができる。ここで、上記算出したベクトルが、検出されたセパレータのいずれとも交差しない場合、注目基本矩形の識別子と、当該処理対象基本矩形の識別子とを関連づけて記憶部12に格納する。
【0029】
この処理により、同じ画像要素(セパレータで仕切られる各領域)に含まれるべき文字や図形に対応する基本矩形の識別子は互いに関連づけられることになる。文書要素検出部22は、互いに関連づけられた複数の基本矩形を少なくとも1セット特定し、特定されたセットの各々に含まれる基本矩形に、さらに外接する矩形を画像要素外接矩形として画定する。
【0030】
文書要素検出部22は、こうして画像要素外接矩形を画定すると、元の処理対象文書の画像のうちから、当該画定した個々の画像要素外接矩形内のビットマップ画像部分を抽出する。そして文書要素検出部22は、画定した各画像要素外接矩形を特定する座標情報(左上隅の座標と右下隅の座標とすればよい)と、当該画像要素外接矩形内から抽出したビットマップ画像部分とを要素データとする。
【0031】
要素画像生成部23は、文書要素検出部22が検出した各要素データに含まれる画像部分に対して、指定された割合で画像の拡大処理を行い、表示対象要素画像を生成する。
【0032】
具体的にこの要素画像生成部23は、利用者が操作部13にて行った操作に応じて、拡大率βを定める。例えばこの要素画像生成部23は、処理開始時に予めデフォルト値として定められた値(例えば1.0倍)に拡大率βを定めておく。そして、要素画像生成部23は、利用者から拡大率を上昇させる指示操作(例えば十字キーの上向きボタンの押下操作)があると、拡大率を予め定めた割合Δβだけ増大させる。なお、この場合には上限値βmaxを定めておき、当該上限値を超えて拡大率βを増大できないようにしておいてもよい。また要素画像生成部23は、利用者から拡大率を下降させる指示操作(例えば十字キーの下向きボタンの押下操作)があると、拡大率βを、β>1.0の範囲で、予め定めた割合Δβだけ減少させる。
【0033】
そして要素画像生成部23は、処理の開始時、及び拡大率βが変更されたときに、その時点での拡大率βに応じて各要素データに含まれる画像部分を拡大した画像を生成する。この画像の生成は、要素データに含まれている情報が、描画範囲の情報及び描画命令である場合(PDF等の描画命令から抽出されたものである場合)と、要素データに含まれている情報が、画像要素外接矩形を特定する座標情報及びビットマップ画像部分とである場合とのそれぞれに対応して、次のような処理によって行われる。
【0034】
[描画命令が含まれる場合]
要素データに含まれている情報が、描画範囲の情報及び描画命令である場合、要素画像生成部23は、各要素データの描画範囲の情報、処理対象文書のサイズの情報、及び表示部14の解像度の情報を取得する。
【0035】
ここで表示部14の解像度の情報は、表示部14に含まれる画素数の情報であり、例えば横方向に配列される画素数Pxと、縦方向に配列される画素数Pyとで規定される。また処理対象文書のサイズの情報は幅W及び高さHとすればよい。ここでも幅Wや高さHは、それぞれセンチメートルやインチなど、表示デバイス等の解像度に依存しない単位で定められてよい。
【0036】
要素画像生成部23は、画素数Px×Pyの範囲に、サイズW×Hの画像を配することとして、単位長さあたりの画素数αを求める。具体的に要素画像生成部23は、Px/WとPy/Hとを算出し、いずれか小さい方の値をαとする。すなわち、
α=min[Px/W,Py/H]
とする。ここでmin[a,b]は、a,bのうち小さい方の値を意味する。
【0037】
そして要素画像生成部23は、各要素データを順次、注目要素データとして選択しつつ、次の処理を行う。要素画像生成部23は、注目要素データの描画範囲の情報としてその左上隅の位置座標(Xlt,Ylt)と、右下隅の位置座標(Xrb,Yrb)とを読み出す。要素画像生成部23は、高さα×β×|Ylt−Yrb|、幅α×β×|Xlt−Xrb|(ここで、|Z|は、Zの絶対値を意味する)画素の記憶領域を記憶部12に確保する。要素画像生成部23は、この記憶領域の位置(記憶部12上の位置、例えばその先頭アドレスなど)を特定する情報を、注目要素データに関連づけて記憶部12に格納する。
【0038】
要素画像生成部23は、注目要素データに含まれる描画命令に従って、記憶部12に確保した記憶領域に画像を描画する。このとき描画命令において指定された座標の値をβ倍して描画することで、対応して確保した記憶領域のサイズに拡大した画像を得る。要素画像生成部23は、各要素データについて上記の処理を実行することで、各要素データに対応した拡大処理の結果(拡大ビットマップ画像と呼ぶ)を得る。
【0039】
[ビットマップ画像が含まれる場合]
要素データに含まれている情報が、画像要素外接矩形を特定する座標情報及びビットマップ画像部分とである場合、要素画像生成部23は、各要素データに含まれる画像要素外接矩形を特定する情報と、当該特定される画像要素外接矩形内のビットマップ画像部分と、処理対象文書のサイズの情報と、表示部14の解像度の情報とを取得する。
【0040】
ここで表示部14の解像度の情報は、表示部14に含まれる画素数の情報であり、例えば横方向に配列される画素数Pxと、縦方向に配列される画素数Pyとで規定されるものでよい。一方、処理対象文書のサイズの情報は、処理対象文書の幅w及び高さhとすればよい。ここで幅wや高さhは、画素数で定められる。
【0041】
そして要素画像生成部23は、画素数Px×Pyの範囲に、サイズw×hの画像を配することとして、次のような値(サイズ比率)α′を求める。すなわち、要素画像生成部23は、Px/wとPy/hとを算出し、いずれか小さい方の値をα′とする。つまり、
α′=min[Px/w,Py/h]
とする。ここでmin[a,b]は、a,bのうち小さい方の値を意味する。
【0042】
要素画像生成部23は、各要素データを順次、注目要素データとして選択しつつ、次の処理を行う。要素画像生成部23は、注目要素データの画像要素外接矩形を特定する情報としてその左上隅の位置座標(xlt,ylt)と、右下隅の位置座標(xrb,yrb)とを読み出す。これらの位置座標は、処理対象文書の例えば左上隅を原点とした画素数で表される。つまり、位置座標(x,y)は、原点から右(x軸方向)へx画素、下(y軸方向)へy画素だけ移動した位置を意味する。
【0043】
要素画像生成部23は、高さα′×β×|ylt−yrb|、幅α′×β×|xlt−xrb|(ここで|Z|は、Zの絶対値を意味する)画素の記憶領域を記憶部12に確保する。要素画像生成部23は、この記憶領域の位置(記憶部12上の位置、例えばその先頭アドレスなど)を特定する情報を、注目要素データに関連づけて記憶部12に格納する。
【0044】
要素画像生成部23は、注目要素データに含まれるビットマップ画像部分(このビットマップ画像部分は、もともと画像要素外接矩形のサイズなので、そのサイズは高さ|ylt−yrb|、幅|xlt−xrb|である)を縦横それぞれα′×β倍する拡大処理を行い、その結果を記憶部12に確保した記憶領域に格納する。これにより対応して確保した記憶領域のサイズに拡大したビットマップの画像を得る。要素画像生成部23は、各要素データについて上記の処理を実行することで、各要素データに対応した拡大処理後のビットマップ画像(拡大ビットマップ画像)を得る。
【0045】
表示制御部24は、表示部14上の処理対象文書の表示範囲、幅α×Px/W、高さα×Py/Hまたは幅α′×Px/w、高さα′×Py/hの範囲に対して、要素画像生成部23が生成した拡大ビットマップ画像のそれぞれを、もともと当該画像が処理対象文書のうちに占める範囲にクリッピングして表示する。
【0046】
具体的にこの表示制御部24は、各要素データを順次選択し、選択した要素データに含まれる描画範囲の情報または画像要素外接矩形を特定する座標情報を取り出す。表示制御部24は、i番目(i=1,2,…N、Nは要素データの総数)の要素データに対応して記憶部12に格納されている拡大ビットマップ画像を読み出す。以下ではi番目の要素データに対応する画像が描画される範囲をその左上隅座標(ui_lt,vi_lt)から右下隅座標(ui_rb,vi_rb)で表すとする。この座標は、画素数で表される。
【0047】
例えばi番目の要素データに描画範囲の情報が含まれ、表示デバイスの解像度に依存しない左上隅の位置座標(Xi_lt,Yi_lt)と、右下隅の位置座標(Xi_rb,Yi_rb)とで表される場合、要素画像生成部23におけるのと同じ方法で演算された(または要素画像生成部23から入力された)単位長さあたりの画素数αを用いて、
ui_lt=α×Xi_lt、
vi_lt=α×Yi_lt、
ui_rb=α×Xi_rb、
vi_rb=α×Yi_rb、
とする。一方、要素データに含まれている情報が、画像要素外接矩形を特定する座標情報及びビットマップ画像部分とである場合、i番目の要素データにおける画像要素外接矩形を特定する情報としてその左上隅の位置座標(xi_lt,yi_lt)と、右下隅の位置座標(xi_rb,yi_rb)とが含まれる場合、サイズ比率α′を用いて、
ui_lt=α′×xi_lt、
vi_lt=α′×yi_lt、
ui_rb=α′×xi_rb、
vi_rb=α′×yi_rb、
とする。
【0048】
また、ui=|ui_rb−ui_lt|、vi=|vi_rb−vi_lt|とする。既に述べたように、i番目の要素データに関連づけて記憶されているビットマップ画像のサイズは、対応するi番目の要素データの描画範囲または画像要素外接矩形の幅ui、高さviにそもそも一致していたものがβ倍に拡大されているのである。従って、i番目の要素データに関連づけて記憶されているビットマップ画像のサイズは幅β×ui、高さβ×viとなっている(図4)。
【0049】
表示制御部24は、図5に示すように、各要素データに対応する幅β×ui、高さβ×vi(ただしi=1,2…)のサイズのビットマップ画像のうち、幅ui、高さviの範囲を切り出して、表示部14の(ξ+ui_lt,η+vi_lt)から(ξ+ui_rb,η+vi_rb)の範囲(幅ui、高さvi)に描画する。なお(ξ,η)は、表示部14において表示範囲の左上隅の座標である(図5)。
【0050】
ここで表示制御部24は、この幅β×ui、高さβ×vi(ただしi=1,2…)のサイズの拡大ビットマップ画像のうち、当初は予め定めた基準位置(例えば拡大ビットマップ画像の左上隅(0,0))から幅ui、高さviの範囲を切り出す。そして表示制御部24は、利用者からのスクロール指示の操作に応じて、この基準位置を変更して切り出し範囲を変更する。例えば表示制御部24は、利用者から十字キーの右向きボタンの押下操作がされるごとに、基準位置の座標を予め定めた量Δxずつx軸正の方向にシフトさせる。同様に、利用者から十字キーの下向きボタンの押下操作がされるごとに、基準位置の座標を予め定めた量Δyずつy軸正の方向にシフトさせる。そうして表示制御部24は、n回だけ右向きボタンが押下され、m回だけ下向きボタンが押下された後では図5に例示するように、基準位置の座標を(Rx,Ry)=(n×Δx,m×Δy)として、拡大ビットマップ画像の(Rx,Ry)から(Rx+ui,Ry+vi)までの範囲を切り出すことになる。
【0051】
さらに表示制御部24は、利用者から十字キーの左向きボタンの押下操作がされるごとに、基準位置の座標を予め定めた量Δxずつx軸負の方向にシフトさせる。同様に、利用者から十字キーの下向きボタンの押下操作がされるごとに、基準位置の座標を予め定めた量Δyずつy軸負の方向にシフトさせる。なお、表示制御部24は、利用者の指示操作に応じて基準位置を変更したときに、変更後の基準位置の座標(Rx,Ry)が、Rx<0であればRx=0とし、Ry<0であればRy=0とする。また、β×ui>Rx+uiであればRx=β×ui−uiとし、β×vi>Ry+viであればRy=β×vi−viとする。
【0052】
そして表示制御部24は、基準位置が変化するごとに、その変化後の座標(Rx,Ry)から(Rx+ui,Ry+vi)の範囲を拡大ビットマップ画像から切り出す。
【0053】
表示制御部24は、i番目の要素データに対応して切り出して得た拡大ビットマップ画像の一部(部分画像)について、i番目の要素データの配置位置を表す情報(要素データに含まれる描画範囲または画像要素外接矩形を特定する情報)が表す領域に配置する。
【0054】
すなわち、各要素データ(i=1,2,…N)に対応して、表示部14の(ξ+ui_lt,η+vi_lt)から(ξ+ui_rb,η+vi_rb)の範囲に、拡大ビットマップ画像の座標系で(Rx,Ry)から(Rx+ui,Ry+vi)の範囲から切り出された部分画像を配置する。
【0055】
なお、表示制御部24は、表示部14に表示する場合だけでなく、この表示の指示を指定された宛先に対して送信してもよい。この宛先は例えば利用者の携帯端末などでよい。宛先となった装置では、この指示に従って画像を表示する。この場合、表示部14のサイズとされていた情報は、この携帯端末など、表示を行うデバイス(いわば表示手段)のサイズ(縦横の画素数等)とする。
【0056】
[動作]
以上のように構成された本実施の形態の文書処理装置1は、次のように動作する。以下の動作例では、説明のため、図6に例示するように、文字による表題部Aと、サブタイトル部Bと、第1の段落部Cと、第2の段落部Dと、図表部Eと、グラフ表題部Fと、グラフ部Gとを含む文書(ビットマップ画像であるとする)を、処理対象文書とし、この処理対象文書のサイズ(幅w、高さh)は、表示部14の画素数(幅Px、高さPy)に一致していることとする(この場合、α′=1となる)。
【0057】
文書処理装置1は、図7に例示する処理を開始し、レイアウト解析の処理により、上記表題部Aと、サブタイトル部Bと、第1の段落部Cと、第2の段落部Dと、図表部Eと、グラフ表題部Fと、グラフ部Gとのそれぞれを文書要素として特定し(S1)、それぞれが占める領域を表す情報と、それぞれの部分の画像とを取り出して互いに関連づけた要素データとして記憶部12に記録する(S2)。一例として、表題部Aについては、図8(a)に示すように幅u1、高さv1の画像が取り出される。
【0058】
文書処理装置1は、処理S2で各文書要素の占める範囲から取り出した画像を指定された拡大率βで拡大した拡大ビットマップ画像(要素画像)を生成する(S3)。表題部Aについては、この結果は図8(b)に示すように、幅β×u1、高さβ×v1の画像となる。文書処理装置1は、さらに処理S3における拡大処理により、文書要素ごとに得られた拡大ビットマップ画像から、それぞれ元の文書要素のサイズの領域の部分画像を切り出す(S4)。表題部Aについては、拡大処理により得られた幅β×u1、高さβ×v1の画像から、元の幅u1、高さv1の部分画像を切り出す(図8(b)を参照)。なお、この切り出しの範囲は、当初は拡大ビットマップ画像の左上隅を含む部分とすればよい。この結果は、表題部Aについては、図8(c)に示すようなものとなる。
【0059】
文書処理装置1は、レイアウト解析により見いだされた文書要素ごとに、この切り出しを行い、切り出して得られた各文書要素ごとの部分画像を、それぞれの文書要素の元の配置位置に配置する(S5)。この配置の結果は、例えば図8(d)にその一部を示すようなものとなる。
【0060】
文書処理装置1は、この部分画像をそれぞれ配置した後の画像を、表示部14に表示する。また、文書処理装置1は、利用者から切り出しの範囲を移動する指示が行われるごとに、処理S4で切り出す範囲を変化させ(S6)、処理S4から繰り返して処理を行う。
【0061】
本実施の形態によると、利用者が切り出し範囲を右方向に移動させる操作を行うと、すべての文書要素において切り出し範囲が右方向に移動する(ただし既に右端が表示されている文書要素は除く)。つまり、文書処理装置1は、各文書要素が処理対象文書のうちに占める範囲の中で、それぞれ対応する文書要素の要素画像の一部を切り出して表示し、当該切り出し範囲を指定された方向に、指定された速度で移動させることとなる。
【0062】
また、ここでは利用者の操作により切り出しの範囲を変化させる例としているが、これに限らず、文書処理装置1は、予め定めたタイミングごとに、切り出し範囲を右方向に予め定めた量だけ移動させることとしてもよい。また、切り出し範囲が拡大ビットマップ画像の右端に至った場合は、切り出し範囲を下方向に予め定めた量だけ移動させ、さらに拡大ビットマップ画像の左端を含む位置に移動させてもよい。これによると、各文書要素がラスタスキャン順(一ラインごとに左から右へ、右端に至ると、次のラインの左端へ移動することで、左上隅から右下隅へと至る順)にスクロール表示されることになる。
【0063】
この例では図9に示すように、文書要素が一斉にスクロール表示される(図9(a))。そしてそれぞれ終点(1ラインのみの場合は右端に至ったところ、複数ラインある場合は右下隅に至ったところ)に達した文書要素のスクロールが停止し(図9(b):サブタイトル部Bは終点に達している)、未だ終点に達していない文書要素のスクロールが継続されるということになる(図9(c):表題部Aと、第1の段落部Cとは未だ終点に達していない)。
【0064】
[変形例1]
本実施の形態では、すべてのスクロールが同時期に終了することとなるよう、文書要素ごとにスクロールの速度(1回あたり、または単位時間当たりの切り出し範囲の移動量)を異ならせてもよい。具体的にi番目の文書要素の総スクロール量をSiとする。総スクロール量Siは、文書要素がX軸方向にのみスクロールする場合(Y軸方向にはスクロールしない場合)は、文書要素の幅uiに等しい。また、Y軸方向にもスクロールする場合は、幅uiにライン数(Y軸方向への移動回数)を乗じた値となる。ライン数は、Y軸方向へのスクロール量ΔSy_iで文書要素の高さviを除した値を超えない最大の整数とすればよい。なお、i番目の文書要素におけるY軸方向へのスクロール量ΔSy_iは0より大きく文書要素の高さvi以下の値とする。例えばviに0より大きく1以下の定数γを乗じた値γ・viをΔSy_iとすればよい。
【0065】
次に、各文書要素の総スクロール量Si(i=1,2,…N)のうち、これが最も長いものmax[Si](以下この値をSmaxとする)を選択する。なお、max[Qi]は、Qi(i=1,2,…)のうち、最大のQiを意味する。また、最大ステップ量Δxmaxを、各文書要素の横幅uiのうち最小のものmin[ui]を選択し、0より大きく当該min[ui]以下の値とする。ここでmin[Qi]は、Qi(i=1,2,…)のうち、最小のQiを意味する。例えばmin[ui]に1以下の定数γを乗じた値γ・min[ui]をΔxmaxとすればよい。また、このΔxmaxは、文書要素に含まれる文字のサイズ(フォントサイズ)に応じて調整してもよい。例えば基準となるフォントサイズを予め定めておき、当該基準となるフォントサイズと、実際のフォントサイズとの比εをさらに乗じて、γ・ε・min[ui]をΔxmaxとすればよい。この場合、Δxmax>min[ui]となったときは、Δxmax=min[ui]に補正する。
【0066】
そしてi番目の文書要素のスクロール速度(1回あたり、または単位時間あたりの切り出し範囲の移動量)Δxiを、Δxi=(Si/Smax)×Δxmaxとして求める。これによると、文書要素ごとに定められる総スクロール量の大きさによって1回あたり、ないし単位時間当たりのスクロール量(切り出し範囲の移動量)が、次のような条件を満足するように決定される。
【0067】
すなわちこの例では、Siまでの移動にかかる総移動回数(総移動時間)は、
Si/Δxi=Smax/Δxmax
となり、iに関わらず一定の値となる。つまり、どの文書要素においても同じ回数(同じ時間)でスクロールが完了する。
【0068】
[変形例2]
また本実施の形態では、文書要素ごとに、文書要素に含まれる画像が文字列であるか文字列でない(線図、絵柄などである)かによって1回あたり、ないし単位時間当たりのスクロール量を異ならせてもよい。なお、文書要素に含まれる画像が文字列であるか否かは、処理対象文書がPDF等、描画命令を含む場合は、各文書要素に係る描画命令が文字列を描画する命令であるか否かにより判断でき、処理対象文書がビットマップ画像である場合は、広く知られたテキスト・イメージ分離の処理により行うことができる。
【0069】
[変形例3]
さらに文書要素検出部22が検出したi番目の文書要素のサイズ、つまり幅uiまたは高さviが、予め定めたしきい値Thを下回る場合、当該i番目の文書要素を、それに隣接する文書要素と結合してもよい。あるいは、隣接する文書要素に接しない範囲で幅、高さを拡大してもよい。
【0070】
[実施形態の効果]
本実施の形態によると、各文書要素の内容を拡大し、元の文書要素が配置されていた領域内でそれぞれスクロール表示することで、表示部のサイズによらず、文書全体のレイアウトを維持しながら、レイアウトされた文書要素の各々を拡大表示できる。
【符号の説明】
【0071】
1 文書処理装置、11 制御部、12 記憶部、13 操作部、14 表示部、21 文書情報受入部、22 文書要素検出部、23 要素画像生成部、24 表示制御部。

【特許請求の範囲】
【請求項1】
複数の文書要素を含む文書情報を、処理対象文書として受け入れる手段と、
前記受け入れた処理対象文書から、前記文書要素の各々を検出する手段と、
前記検出した文書要素の画像のそれぞれを、指定された分だけ拡大した要素画像を生成する手段と、
当該文書要素が前記処理対象文書のうちに占める範囲の中で、対応する文書要素の要素画像を表示するよう制御する表示制御手段と、
を含むことを特徴とする文書処理装置。
【請求項2】
前記表示制御手段は、前記各文書要素が前記処理対象文書のうちに占める範囲の中で、それぞれ対応する文書要素の要素画像の一部を切り出して表示し、当該切り出し範囲を指定された方向に、指定された速度で移動させて表示するよう制御する請求項1記載の文書処理装置。
【請求項3】
コンピュータを、
複数の文書要素を含む文書情報を、処理対象文書として受け入れる手段と、
前記受け入れた処理対象文書から、前記文書要素の各々を検出する手段と、
前記検出した文書要素の画像のそれぞれを、指定された分だけ拡大した要素画像を生成する手段と、
当該文書要素が前記処理対象文書のうちに占める範囲の中で、対応する文書要素の要素画像を表示するよう制御する表示制御手段と、
として機能させるプログラム。

【図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


【公開番号】特開2011−13791(P2011−13791A)
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願番号】特願2009−155504(P2009−155504)
【出願日】平成21年6月30日(2009.6.30)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】