説明

表示装置、表示方法、プログラムおよびその記録媒体

【課題】複数の文字オブジェクトからなる文字列中に画像オブジェクトが挿入された文書データに応じた画像を表示する表示装置において、画像オブジェクトが段やページの境界部で途切れることを防止しつつ当該画像オブジェクトを上記文書データにおける挿入位置の近傍に表示させるとともに、段やページに空白領域が生じることを抑制する。
【解決手段】文書データに含まれるon_edge指定オブジェクトを、文書データ中においてon_edge指定オブジェクトの直前に配置されているオブジェクト(文字j)が表示される段(1段目)の末尾に表示させ、当該段におけるon_edge指定オブジェクトよりも文書方向の上流側の領域に、文書データ中においてon_edge指定オブジェクトの直後に配置されている1または複数のオブジェクト(文字k,l,m,n)を表示させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の文字オブジェクトからなる文字列と画像オブジェクトとが混在する文書データに応じた画像を表示する表示装置に関するものである。
【背景技術】
【0002】
従来から、文字列と画像とが混在する文書(例えば電子書籍など)を表示装置に表示させる技術が知られている。
【0003】
例えば、文字列と画像とが混在する文書を含む電子書籍のデータをパソコンや携帯端末などを用いてインターネットでダウンロードして表示させたり、各種記録媒体に保存されている文書データを読み出して表示させたりすることが行われている。
【0004】
また、この種の文書の表示方法としては、webブラウザを用いて表示させる方法や、ワープロソフトを用いて表示させる方法、あるいは特許文献1に開示されている方法などがある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4450731号明細書(平成15年12月18日公開)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、既存のwebブラウザやワープロソフトでは、画面サイズやユーザの指定した文字サイズなどに応じて文書に含まれる文字列と画像とを自動的にレイアウトする場合に、画像がページや段の途中で途切れてしまったり、特別な操作をしないと表示されなくなってしまったりするので、ユーザにとって使い勝手が悪いという問題がある。
【0007】
例えば、webブラウザは、HTMLで記述された文書(文字列と画像とが混在する文書)を画面サイズおよび指定された文字サイズに応じて動的にレイアウトすることが可能であるが、ページという概念がないので、レイアウトの結果、画面内に収まらない部分はユーザがスクロール操作をしないと表示されない。すなわち、画像の一部または全部が画面外に隠れることがあり、画像を表示させるためには、表示装置にスクロール機能を設けておき、ユーザが画面をスクロール操作する必要がある。
【0008】
また、ワープロソフトには文字列と画像とが混在した文書をページ単位で編集する機能が備えられているが、画像がページの途中で途切れてしまう場合がある。
【0009】
また、ワープロソフトの中には画像がページの境界で途切れることを防止するために、画像を1つのページ内に表示しきれない場合には自動的に改ページを行ってその画像を次のページに追い出して表示させる機能を有するものがある(例えば、Microsoft Word(登録商標))。ところが、その場合には、画像を追い出したページに空白領域が生じてしまうので、表示画面上に表示される文書が見難くなる。
【0010】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、複数の文字オブジェクトからなる文字列中に画像オブジェクトが挿入された文書データに応じた画像を表示する表示装置において、画像オブジェクトが段やページの境界部で途切れることを防止しつつ当該画像オブジェクトを上記文書データにおける挿入位置の近傍に表示させるとともに、段やページに空白領域が生じることを抑制することにある。
【課題を解決するための手段】
【0011】
本発明の表示装置は、上記の課題を解決するために、複数の文字オブジェクトからなる文字列中に静止画像または動画像の画像オブジェクトが挿入された文書データに応じた画像を、表示画面を1または複数の段に分割した各段に振り分けて表示する表示装置であって、上記文書データに含まれる各オブジェクトの表示位置を上記各段のサイズに応じて設定したレイアウトを生成するレイアウト生成部を備え、上記レイアウト生成部は、上記画像オブジェクトを、上記文書データ中において当該画像オブジェクトの直前に配置されているオブジェクトである直前オブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるとともに、上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ上記画像オブジェクトの表示位置よりも文書方向の上流側の領域に上記文書データ中において上記画像オブジェクトの直後に配置されている1または複数のオブジェクトである直後オブジェクトを表示可能な残領域がある場合、上記直後オブジェクトを上記残領域に表示させるように上記レイアウトを生成することを特徴としている。
【0012】
また、本発明の表示方法は、上記の課題を解決するために、複数の文字オブジェクトからなる文字列中に静止画像または動画像の画像オブジェクトが挿入された文書データに応じた画像を、表示画面を1または複数の段に分割した各段に振り分けて表示させる表示方法であって、上記文書データに含まれる各オブジェクトの表示位置を上記各段のサイズに応じて設定したレイアウトを生成するレイアウト生成工程を含み、上記レイアウト生成工程では、上記画像オブジェクトを、上記文書データ中において当該画像オブジェクトの直後に配置されているオブジェクトである直前オブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるとともに、上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ上記画像オブジェクトの表示位置よりも文書方向の上流側の領域に上記文書データにおいて上記画像オブジェクトの直後に配置されている1または複数のオブジェクトである直後オブジェクトを表示可能な残領域がある場合、上記直後オブジェクトを上記残領域に表示させるように上記レイアウトを生成することを特徴としている。
【0013】
上記の表示装置および表示方法によれば、上記画像オブジェクトを上記文書データ中において当該画像オブジェクトの直前に配置されているオブジェクトである直前オブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるように上記レイアウトを生成する。これにより、画像オブジェクトが段やページの境界部で途切れることを防止するとともに、当該画像オブジェクトを上記直前オブジェクトおよび上記直後オブジェクトの近傍に表示させることができる。
【0014】
また、上記の表示装置および表示方法によれば、上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ当該画像オブジェクトの表示位置よりも文書方向の上流側の領域に上記文書データ中において上記画像オブジェクトの直後に配置されている1または複数のオブジェクトである直後オブジェクトを表示可能な残領域がある場合、上記直後オブジェクトを上記残領域に表示させるように上記レイアウトを生成する。これにより、段やページに空白領域が生じることを抑制することができる。
【0015】
また、本発明の表示装置において、上記レイアウト生成部は、上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側の表示領域のサイズと上記画像オブジェクトのサイズとを比較し、当該画像オブジェクトのサイズの方が小さい場合には当該画像オブジェクトを当該段の末尾に表示させ、当該画像オブジェクトのサイズの方が大きい場合には当該画像オブジェクトを当該段の次段の先頭に表示させるように上記レイアウトを生成する構成としてもよい。
【0016】
上記の構成によれば、画像オブジェクトが段やページの境界部で途切れることを防止しつつ、当該画像オブジェクトを上記直前オブジェクトおよび上記直後オブジェクトの近傍に表示させることができる。
【0017】
また、上記レイアウト生成部は、上記画像オブジェクトを上記直前オブジェクトが表示される段の次段に表示させる場合であって、当該画像オブジェクトのサイズが上記次段のサイズよりも大きい場合に、当該画像オブジェクトのサイズを上記次段のサイズに収まるように縮小し、縮小した上記画像オブジェクトを上記次段に表示させるように上記レイアウトを生成する構成としてもよい。
【0018】
上記の構成によれば、画像オブジェクトのオリジナルのサイズが段の表示領域のサイズよりも大きい場合であっても、当該画像オブジェクトが段やページの境界部で途切れることを防止しつつ、当該画像オブジェクトを上記直前オブジェクトおよび上記直後オブジェクトの近傍に表示させることができる。
【0019】
また、上記レイアウト生成部は、上記文書データに含まれる各オブジェクトを上記各段の行方向のサイズに応じて複数の行に振り分けた行レイアウトを生成する行レイアウト生成部と、上記行レイアウトを上記各段の行方向に垂直な方向のサイズに応じて上記各段に振り分けた段レイアウトを生成する段レイアウト生成部とを備えており、
上記行レイアウト生成部は、上記画像オブジェクトを1つの行レイアウトに振り分けるとともに、当該行レイアウトには他のオブジェクトを振り分けず、上記直前オブジェクトを振り分けた行レイアウトに上記直後オブジェクトを表示可能な残領域がある場合、当該行レイアウトにおける上記残領域に上記直後オブジェクトを振り分ける構成としてもよい。
【0020】
上記の構成によれば、直前オブジェクトおよび直後オブジェクトを同一行に連続して表示させることができ、当該行に空白領域が生じることを防止できる。
【0021】
また、上記段レイアウト生成部は、上記各段における行方向に垂直な方向のサイズと、上記行レイアウト生成部によって生成された各行レイアウトの行方向に垂直な方向のサイズと、当該各行レイアウトの上記文書データにおける記載順序とに応じて上記各段に含める行レイアウトを決定し、上記各段に含める行レイアウトの中に上記画像オブジェクトを振り分けた行レイアウトが存在する場合であって、当該行レイアウトが段の先頭の行レイアウトではない場合に、当該行レイアウトを当該段の末尾に表示させるように当該段に含められた各行レイアウトの順序を変更する構成としてもよい。
【0022】
上記の構成によれば、画像オブジェクトを段の先頭または末尾に配置するとともに、段内に空白領域が生じることを抑制できる。
【0023】
また、上記段レイアウト生成部は、上記文書データにおける上記各行レイアウトの記載順序に従って上記各段に含める行レイアウトを決定していき、上記画像オブジェクトを振り分けた行レイアウトが上記直前オブジェクトを振り分けた行レイアウトが含められる段に入らない場合、当該画像オブジェクトが振り分けられた行レイアウトを当該段の次段に振り分け、かつ、上記直前オブジェクトを振り分けた行レイアウトが振り分けられる段に上記画像オブジェクトが振り分けられた行レイアウトの直後の1または複数の行レイアウトを表示可能な残領域がある場合、上記画像オブジェクトが振り分けられた行レイアウトの直後の上記1または複数の行レイアウトを上記直前オブジェクトと同じ段に振り分ける構成としてもよい。
【0024】
上記の構成によれば、画像オブジェクトが段やページの境界部で途切れることを防止しつつ、当該画像オブジェクトを直前オブジェクトおよび直後オブジェクトの近傍に表示させることができる。
【0025】
また、上記レイアウト生成部は、上記画像オブジェクトのうち所定のインデックスが付与されている画像オブジェクトである指定オブジェクトについては、上記文書データ中において当該指定オブジェクトの直前に配置されているオブジェクトである直前オブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるとともに、上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ上記指定オブジェクトの表示位置よりも文書方向の上流側の領域に上記文書データ中において上記指定オブジェクトの直後に配置されている1または複数のオブジェクトである直後オブジェクトを表示させる残領域がある場合、上記直後オブジェクトを上記残領域に表示させるように上記レイアウトを生成する一方、上記インデックスが付与されていない画像オブジェクトについては上記文書データにおける当該画像オブジェクトの記載順序に応じた順序で表示させるように上記レイアウトを生成する構成としてもよい。
【0026】
上記の構成によれば、インデックスが付与されていない画像データについては文書データにおける当該画像オブジェクトの記載順序に応じた順序で表示させることができる。したがって、例えば、文書データの作成者が、必要に応じて画像データにインデックスを付与するか否かを選択することにより、(i)画像データを段の末尾または先頭に配置させるか、あるいは(ii)文書データにおける画像オブジェクトの直前のオブジェクト、画像オブジェクト、および画像オブジェクトの直後のオブジェクトを常にこの順で表示させるかを設定することができる。すなわち、文書データ作成者の意図に応じた表示を行うことができる。
【0027】
なお、上記レイアウト生成部はコンピュータによって実現してもよく、この場合には、コンピュータを上記レイアウト生成部として動作させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。
【発明の効果】
【0028】
以上のように、本発明の表示装置は、上記文書データに含まれる各オブジェクトの表示位置を上記各段のサイズに応じて設定したレイアウトを生成するレイアウト生成部を備え、上記レイアウト生成部は、上記画像オブジェクトを、上記文書データ中において当該画像オブジェクトの直前に配置されているオブジェクトである直前オブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるとともに、上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ上記画像オブジェクトの表示位置よりも文書方向の上流側の領域に上記文書データ中において上記画像オブジェクトの直後に配置されている1または複数のオブジェクトである直後オブジェクトを表示可能な残領域がある場合、上記直後オブジェクトを上記残領域に表示させるように上記レイアウトを生成する。
【0029】
また、本発明の表示方法は、上記文書データに含まれる各オブジェクトの表示位置を上記各段のサイズに応じて設定したレイアウトを生成するレイアウト生成工程を含み、上記レイアウト生成工程では、上記画像オブジェクトを、上記文書データ中において当該画像オブジェクトの直後に配置されているオブジェクトである直前オブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるとともに、上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ上記画像オブジェクトの表示位置よりも文書方向の上流側の領域に上記文書データにおいて上記画像オブジェクトの直後に配置されている1または複数のオブジェクトである直後オブジェクトを表示可能な残領域がある場合、上記直後オブジェクトを上記残領域に表示させるように上記レイアウトを生成する。
【0030】
それゆえ、本発明の表示装置および表示方法によれば、画像オブジェクトが段やページの境界部で途切れることを防止するとともに、当該画像オブジェクトを上記文書データにおける挿入位置の近傍に表示させることができる。また、段やページに空白領域が生じることを抑制することができる。
【図面の簡単な説明】
【0031】
【図1】(a)は文書データの一例を示す説明図であり、(b)は(a)に示した文書データに基づいて図2の表示装置に表示される画像の例を示す説明図である。
【図2】本発明の一実施形態にかかる表示装置の概略構成を示すブロック図である。
【図3】図2に示した表示装置における行レイアウトの生成処理の流れを示すフローチャートである。
【図4】図2に示した表示装置における段レイアウトの生成処理の流れを示すフローチャートである。
【図5】(a)は文書データの一例を示す説明図であり、(b)は(a)に示した文書データに基づいて図2の表示装置に表示される画像の例を示す説明図である。
【図6】(a)は文書データの一例を示す説明図であり、(b)および(c)は(a)に示した文書データに基づいて図2の表示装置に表示される画像の例を示す説明図である。
【図7】(a)〜(c)は図1(a)に示した文書データに基づいて図2の表示装置に表示される画像の例を示す説明図である。
【発明を実施するための形態】
【0032】
本発明の一実施形態について説明する。図2は本実施形態にかかる表示装置1の概略構成を示すブロック図である。この表示装置1は、文字オブジェクトと画像オブジェクトとが混在する文書データ、すなわち文字列(複数の文字)からなる文章中に画像が挿入されている文書データを取得して表示させるものである。なお、このような文書データの一例としては、電子書籍データや電子辞書データなどが挙げられる。表示装置1は、例えば、携帯電話機、携帯情報端末、パソコンのモニタ、電子書籍リーダーなどであってもよい。また、上記の画像オブジェクトには、静止画像の画像オブジェクトと動画像の画像オブジェクトとが含まれる。すなわち、上記の文書データは、文字オブジェクトと静止画像の画像オブジェクトとが混在したものであってもよく、文字オブジェクトと動画像の画像オブジェクトとが混在したものであってもよく、文字オブジェクトと静止画像の画像オブジェクトと動画像の画像オブジェクトとが混在したものであってもよい。
【0033】
図2に示したように、表示装置1は、文書データ取得部11、バッファ部12、画像処理部13、表示部14、記憶部15、操作入力部16、および制御部17を備えている。
【0034】
操作入力部16はユーザからの指示入力を受け付けて制御部17に伝達するものである。操作入力部16の構成は特に限定されるものではなく、例えば、各種操作ボタン、キーボード、マウス、キーパッド、タッチパネルなどを用いることができる。
【0035】
文書データ取得部11は、制御部17からの指示に応じて表示部14に表示させるための文書データを取得し、バッファ部12に出力するものである。文書データ取得部11の構成は特に限定されるものではなく、例えば、ユーザの指示に応じてweb上のサイトにアクセスして文書データを取得するものであってもよく、ユーザの指示に応じてネットワーク上の他の装置から文書データをダウンロードするものであってもよい。また、表示装置1に備えられる記憶部15、あるいは表示装置1に対して着脱可能に装着される各種記憶媒体に記憶されている文書データを読み出すものであってもよい。
【0036】
なお、本実施形態では、文書データ取得部11が制御部17の指示に応じて文書データを所定の単位(ブロック)毎に取得するようになっている。バッファ部12は、文書データ取得部11が取得した文書データを一時的に格納する記憶手段である。
【0037】
画像処理部13は、バッファ部12から読み出した文書データを表示部14の画面サイズおよび各種設定条件に応じてレイアウトした表示画像データを生成する。
【0038】
具体的には、画像処理部13は、図2に示したように、レイアウト生成部21、表示条件決定部24、および表示画像生成部25を備えている。また、レイアウト生成部21は、行レイアウト生成部22および段レイアウト生成部23を備えている。
【0039】
表示条件決定部24は、操作入力部16を介して入力されるユーザからの指示入力、記憶部15に記憶している各種設定値、表示部14の画面サイズ、および表示装置1に備えられる各種センサ(例えば表示画面の配置方向を検知するセンサなど)の検知結果などに基づいて、文書データに応じた画像を表示部14に表示させる際の文字フォント、文書方向(縦書き/横書き)、表示画面の配置方向(縦置き(縦長配置)/横置き(横長配置))、および段数(段組み数)などの表示条件を決定する。
【0040】
レイアウト生成部21は、表示条件決定部24によって決定された表示条件に応じて、文書データ取得部11が取得した文書データを表示部14に表示する際のレイアウトを示すレイアウト情報を生成する。
【0041】
なお、行レイアウト生成部22は、表示部14に文書データを段組み表示する際の各段に含まれる各行のレイアウトを示す行レイアウト(行レイアウト情報)を文書データに含まれる文章の先頭からブロックの末尾まで順に生成していく。すなわち、文書データに含まれる文字および画像オブジェクトを表示部14に表示される各段の行のサイズに応じて行毎に順次割り付けていくことで各行の行レイアウトを生成する。
【0042】
また、段レイアウト生成部23は、行レイアウト生成部22によって生成された各行の行レイアウトを段のサイズに応じて段毎に順次配置していくことで各段の段レイアウト(段レイアウト情報、レイアウト情報)を生成する。
【0043】
なお、本実施形態では、文字列中に挿入されている画像オブジェトのうち、文書データの作成者が所定の属性値(インデックス。本実施形態では「position=”on_edge”」)を付与した画像オブジェクトであるon_edge指定オブジェクト(指定オブジェクト)について、当該画像オブジェクトの文書データ中での記載位置の直前のオブジェクト(直前オブジェクト)を含む段の末尾、または当該段の次段の先頭に配置するようになっている。また、この直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ上記のon_edge指定オブジェクトの表示位置よりも文書方向の上流側の領域に、文書データにおいてon_edge指定オブジェクトの直後に記載されている1または複数のオブジェクト(直後オブジェクト)を表示可能な残領域がある場合、この直後オブジェクトを上記残領域に配置するようになっている。レイアウト生成部21の処理の詳細については後述する。
【0044】
表示画像生成部25は、レイアウト生成部21によって生成されたレイアウト情報に基づいて文書データに応じた画像を表示部14に表示させるための表示画像データを生成し、表示部14に出力する。
【0045】
表示部14は、制御部17の指示に基づいて画像処理部13から出力される表示画像データに応じた画像を表示する表示手段である。表示部14としては、例えば液晶ディスプレイ、有機ELディスプレイ、プラズマディスプレイ、CRTなどを用いることができる。
【0046】
制御部17は、表示装置1に備えられる各部の動作を制御するものであり、例えば、CPU(中央演算処理装置;Central Processing Unit)を備えるマイクロコンピュータ、マイクロプロセッサなどによって実現される処理回路である。制御部17は、記憶部15に記憶されている各種情報および各種制御を実施するためのプログラムを取り出して演算処理や判定処理を行い、これらの処理結果に基づいて表示装置1の各部に制御信号を送って各部の動作を制御する。
【0047】
記憶部15は、表示装置1の各部の動作を制御するための各種設定値、データテーブル、プログラムなどを記憶するものである。記憶部15としては、従来から公知の種々の記憶手段、例えば、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ(HDD)などを用いることができる。また、本実施形態では、画像処理部13の各部において取り扱われる各種データ、処理中のデータなどを記憶部15に一時的に記憶させ、画像処理部13の各部の処理タイミングに応じて適宜読み出すようになっている。
【0048】
なお、画像処理部13の各部についても、制御部17と同様、CPUを備えるマイクロコンピュータ、マイクロプロセッサなどによって実現される処理回路であってもよい。この場合、画像処理部13は、記憶部15に記憶されている画像処理プログラムを読み出して実行する。
【0049】
次に、レイアウト生成部21におけるレイアウト情報の生成処理について具体的に説明する。まず、行レイアウト生成部22における行レイアウトの生成処理について、図3に示すフローチャートを参照しながら説明する。
【0050】
まず、行レイアウト生成部22は、表示条件決定部24の決定した表示条件に基づいて行の長さ(行長)が設定された1行分の行レイアウトの作成を開始する(S1)。なお、以下の説明では、連続する文字を行内において並べて配置する方向を行方向と称し、行の行方向についての長さを行長と称する。また、行方向に垂直な方向、すなわち行同士の隣接方向を行幅方向と称し、行幅方向についての行のサイズを行幅と称する。
【0051】
次に、行レイアウト生成部22は、バッファ部12から次のレイアウト要素(文字オブジェクトまたは画像オブジェクトのデータ)を取得する(S2)。
【0052】
次に、行レイアウト生成部22は、取得したレイアウト要素がon_edge指定オブジェクトであるか否かを判断する(S3)。ここで、on_edge指定オブジェクトとは、文書データの作成者が当該オブジェクトを当該オブジェクトのオリジナルの記載位置(文書データにおける当該オブジェクトのデータの記載位置)の前後に記載されているオブジェクトを含む段の末尾、または当該段の次段の先頭に配置するように指定したオブジェクトである。
【0053】
本実施形態では、on_edge指定オブジェクトは、オブジェクトを特定するための情報(図1(a)の場合「object arc=”home.png”」)とともに、on_edge指定オブジェクトであることを示す属性値(図1(a)の場合「position=”on_edge”」)が設定されている。なお、本実施形態では、on_edge指定オブジェクトであることを示す属性値が設定されていない各オブジェクト(図1(a)、図5(a)における各文字オブジェクト(a,b,c,d,・・・・)、および図5(a)における画像オブジェクト(<object src=”hoge.png”>))については文書データにおける各オブジェクトの記載順序に応じた位置に表示するようになっている。
【0054】
S3においてon_edge指定オブジェクトであると判断した場合、行レイアウト生成部22は、現在作成中の行レイアウトの次の行レイアウトとして、このon_edge指定オブジェクトのみを含む行レイアウトを生成して記憶部15に記憶させ(S4)、S8の処理に移行する。
【0055】
この際、行レイアウト生成部22は、on_edge指定オブジェクトを含める行レイアウトに、当該行レイアウトの行幅を示す行幅情報と、当該行レイアウトの文書データ中における順序を示す行順序情報とを対応付けて記憶部15に記憶させる。
【0056】
なお、on_edge指定オブジェクトの行方向のサイズが、次の行の行レイアウトの行方向のサイズよりも大きい場合、行レイアウト生成部22は、on_edge指定オブジェクトのサイズを次の行の行レイアウトに収まるようにアスペクト比一定の条件で縮小して次の行の行レイアウトに含める。また、縮小後のon_edge指定オブジェクトのサイズに基づいて次の行の行レイアウトの行幅を算出し、当該行レイアウトと対応付けて記憶部15に記憶させる。
【0057】
一方、S3においてon_edge指定オブジェクトではないと判断した場合、行レイアウト生成部22は、S2で取得したレイアウト要素が現在作成中の行レイアウトに入るか否かを判断する(S5)。そして、現在作成中の行レイアウトに入ると判断した場合、行レイアウト生成部22は、そのレイアウト要素を現在作成中の行レイアウトに追加し(S6)、S8の処理に移行する。
【0058】
一方、S5において現在作成中の行レイアウトに入らないと判断した場合、行レイアウト生成部22は、現在作成中の行レイアウトを確定して新たな行レイアウトの作成を開始し、当該レイアウト要素をその新たな行レイアウトに追加して(S7)、S8の処理に移行する。なお、現在作成中の次の行レイアウトがon_edge指定オブジェクトを格納する行レイアウトとして既に設定されている場合には、さらにその次の行レイアウトの作成を開始し、処理中のレイアウト要素を当該行レイアウトに追加する。また、前回処理したレイアウト要素と今回処理するレイアウト要素との間に改行指示が挿入されている場合には、S5およびS6の処理を行わずにS7の処理を行うようにしてもよい。
【0059】
なお、行レイアウト生成部22は、確定した行レイアウトに当該行レイアウトの行幅と、当該行レイアウトの文書データ中における順序を示す行順序情報とを対応付けて記憶部15に記憶させる。
【0060】
また、処理中のレイアウト要素(例えばon_edge指定されていない画像オブジェクト)の行長が、新たな行レイアウトにおける行長よりも長い場合、行レイアウト生成部22は、当該レイアウト要素のサイズを当該行レイアウトの行長に収まるようにアスペクト一定の条件で縮小して当該行レイアウトに含める。
【0061】
そして、行レイアウト生成部22は、S4、S6、またはS7の処理を行った後、バッファ部12から入力される1ブロック分の文書データの中に行レイアウトへの割り付けを行っていない未処理のレイアウト要素が残っているか否かを判断する(S8)。そして、未処理のレイアウト要素が残っていない場合にはS2以降の処理を継続する。一方、未処理のレイアウト要素が残っている場合には当該ブロックについての行レイアウトの生成処理を終了する。
【0062】
次に、段レイアウト生成部23における段レイアウトの生成処理について、図4に示すフローチャートを参照しながら説明する。
【0063】
まず、段レイアウト生成部23は、表示条件決定部24の決定した表示条件に基づいて段のサイズが設定された1段分の段レイアウトの作成を開始する(S11)。
【0064】
次に、段レイアウト生成部23は、記憶部15に記憶されている行レイアウトの中から次の行レイアウトを取得する(S12)。すなわち、記憶部15に記憶されている段レイアウトへの割り付けを行っていない行レイアウトのうち、行順序情報が最も文書データの先頭側である行レイアウトを取得する。
【0065】
次に、段レイアウト生成部23は、S12で取得した行レイアウトが現在処理中の段レイアウトに入るか否かを判断する(S13)。すなわち、S12で取得した行レイアウトの行幅が、現在処理中の段レイアウトにおける行レイアウトが配置されていない領域の行幅方向のサイズ以下であるか否かを判断する。
【0066】
そして、S12で取得した行レイアウトが現在処理中の段レイアウトに入ると判断した場合、段レイアウト生成部23は、その行レイアウトを現在処理中の段レイアウトに追加し、S22の処理に移行する。
【0067】
一方、S12で取得した行レイアウトが現在処理中の段レイアウトに入らないと判断した場合、段レイアウト生成部23は、その行レイアウトがon_edge指定オブジェクトを格納した行レイアウトであるか否かを判断する(S15)。
【0068】
S15においてon_edge指定オブジェクトを格納した行レイアウトであると判断した場合、段レイアウト生成部23は、そのon_edge指定オブジェクトを格納した行レイアウトが現在処理中の段レイアウトの次の段レイアウトに収まるか否かを判断する(S16)。
【0069】
そして、S16において次の段レイアウトに収まると判断した場合、段レイアウト生成部23は、そのon_edge指定オブジェクトを次の段レイアウトに含め(S18)、S22の処理に移行する。
【0070】
一方、S16において次の段レイアウトに収まらないと判断した場合、段レイアウト生成部23は、そのon_edge指定オブジェクトを格納した行レイアウトを、次の段レイアウトに収まるようにアスペクト比一定の条件で縮小し(S17)、縮小した行レイアウトを次の段レイアウトに含め(S18)、S22の処理に移行する。
【0071】
また、S15においてon_edge指定オブジェクトを格納した行レイアウトではないと判断した場合、段レイアウト生成部23は、現在処理中の段レイアウトに含まれる行レイアウトの中にon_edge指定オブジェクトを格納した行レイアウトが含まれているか否かを判断する(S19)。
【0072】
そして、現在処理中の段レイアウトにon_edge指定オブジェクトを格納した行レイアウトが含まれていると判断した場合、段レイアウト生成部23は、そのon_edge指定オブジェクトを格納した行レイアウトを段レイアウトの末尾に移動させるように当該段レイアウトに含まれる行レイアウトの順序を変更する(S20)。なお、現在処理中の段レイアウトにon_edge指定オブジェクトを格納した行レイアウトが複数含まれている場合には、それら各行レイアウトを段レイアウトの末尾に、文書データにおけるそれら各行レイアウトの記載順序に応じた順序で配置する。
【0073】
また、S19において現在処理中の段レイアウトにon_edge指定オブジェクトを格納した行レイアウトが含まれていないと判断した場合、およびS20における行レイアウトの順序の変更を行った後、段レイアウト生成部23は、現在処理中の段レイアウトを確定して新たな段レイアウトの作成を開始し、処理中の行レイアウトをその新たな段レイアウトに追加して(S21)、S22の処理に移行する。
【0074】
そして、段レイアウト生成部23は、S14、S18、またはS21の処理を行った後、記憶部15に記憶している1ブロック分の文書データの中に段レイアウトへの割り付けを行っていない未処理の行レイアウトが残っているか否かを判断する(S22)。そして、未処理の行レイアウトが残っている場合にはS12以降の処理を継続する。一方、未処理の行レイアウトが残っていない場合には当該ブロックについての段レイアウトの生成処理を終了する。
【0075】
以上のように、本実施形態にかかる表示装置1では、文書データに含まれるon_edge指定オブジェクトを、文書データ中においてon_edge指定オブジェクトの直前に配置されているオブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させる。また、直前に配置されている上記オブジェクトが表示される段における当該オブジェクトの表示位置よりも文書方向の後流側、かつ上記on_edge指定オブジェクトよりも文書方向の上流側の領域に他のオブジェクトを表示可能な残領域がある場合、文書データ中においてon_edge指定オブジェクトの直後に配置されている1または複数のオブジェクトをその残領域に表示させる。
【0076】
これにより、複数の文字オブジェクトからなる文字列中に画像オブジェクトが挿入された文書データに応じた画像を表示する際、画像オブジェクトが段やページの境界部で途切れることを防止しつつこの画像オブジェクトを文書データにおける挿入位置の近傍に表示させるとともに、段やページに空白領域が生じることを抑制することができる。
【0077】
図1(a)はon_edge指定オブジェクトを含む文書データの一例を示しており、図1(b)は図1(a)に示した文書データに基づいて表示装置1の表示部14に表示される画像を示している。
【0078】
図1(a)に示したように、文書データにおいて画像オブジェクト(object=”home.png”)は文字jと文字kとの間に記載されている。しかしながら、属性値「position=”on_edge”」が設定されたon_edge指定オブジェクトであることから、図1(b)に示したように、この画像オブジェクトは、文字jと文字kとを含む段の末尾に表示される。
【0079】
図5(a)はon_edge指定されていない画像オブジェクトを含む文書データの一例を示しており、図5(b)は図5(a)に示した文書データに基づいて表示装置1の表示部14に表示される画像を示している。なお、図5(a)の文書データは画像オブジェクトがon_edge指定されていない点以外は図1(a)の文書データと同じである。
【0080】
図5(a)に示したように、画像オブジェクト(object=”home.png”)は文字jと文字kとの間に記載されており、on_edge指定されていない。このため、図5(b)に示したように、この画像オブジェクトは、文字jと文字kとの間に表示される。図5(b)の例では、文字jの位置で改行されて画像オブジェクトが次の行に表示され、この画像オブジェクトの次の行にk以降の文字が表示されている。なお、文字jが含まれる行における文字jの後の位置に画像オブジェクトを配置可能な場合には、文字jの位置で改行することなく、当該行における文字jの後の位置に画像オブジェクトを配置する。また、画像オブジェクトが含まれる行における画像オブジェクトの後の位置に次の文字(文字k,・・・)を配置可能な場合には、画像オブジェクトと同じ行における画像オブジェクトの後の位置に次の文字(文字k,・・・)を配置する。
【0081】
図6(a)は、on_edge指定オブジェクトを含む文書データの他の例を示しており、図6(b)は図6(a)に示した文書データに基づいて表示装置1の表示部14に表示される画像を示している。
【0082】
図6(a)に示したように、文書データにおいて画像オブジェクト(object=”home.png”)は文字zと文字Aとの間に記載されている。しかしながら、属性値「position=”on_edge”」が設定されたon_edge指定オブジェクトであり、しかも文字zと文字Aとを含む段の末尾にはこの画像オブジェクトを表示するスペースが残っていないため、図6(b)に示したように、この画像オブジェクトは文字zと文字Aとを含む段の次の段の先頭に表示される。また、文字zと文字Aとを含む段には、文書データにおける文字Aよりも後に記載されている文字が文字Aに続けて段の末尾まで含まれる。
【0083】
また、図6(c)は、図6(a)に示した文書データに基づいて表示装置1の表示部14に表示される画像であって、2段目の文書データ表示領域のサイズが小さい場合の例を示している。この図に示す例では、図6(b)と同様、画像オブジェクトは文字zと文字Aとを含む段の次の段(2段目)の先頭に表示されるが、画像オブジェクトのサイズが2段目の文書データ表示領域のサイズよりも大きいため、画像オブジェクトのサイズがオリジナルのサイズよりも縮小されて2段目に表示されている。
【0084】
なお、本実施形態では、レイアウト生成部21が1ブロック分の行レイアウトおよび段レイアウトを生成して記憶部15に記憶させるようになっている。また、例えばユーザからの指示によって文字サイズ(文字の表示サイズ)が変更された場合や、段数あるいは段のサイズが変更された場合などには、その時点で表示中の部分が含まれるブロックの文書データを変更後の条件に基づいて再生成し、記憶部15に記憶させているレイアウト情報(行レイアウトおよび段レイアウト)を更新するようになっている。なお、レイアウト情報を再生成する範囲は表示中の部分が含まれるブロック全体に限るものではなく、例えば、表示中の部分が含まれるブロックのうち表示中の部分を含む所定範囲としてもよい。
【0085】
図7(a)は図1(a)に示した文書データを図1(b)と同じ条件で表示させた場合の例を示しており、図7(b)は図1(a)に示した文書データを図1(b)よりも文字サイズを大きく設定して表示させた場合の例を示しており、図7(c)は図1(a)に示した文書データを図7(b)よりもさらに文字サイズを大きく設定して表示させた場合の例を示している。
【0086】
図7(a)に示した例では、文字jと文字kとを含む段(1段目)における文字jと文字kとを含む行よりも後にこの画像オブジェクトを配置するスペースが残っているため、画像オブジェクトは文字jと文字kとを含む段(1段目)の末尾に表示される。
【0087】
一方、図7(b)に示した例では、文字jと文字kとを含む段(1段目)における文字jと文字kとを含む行よりも後にこの画像オブジェクトを配置するスペースが残っていないので、この画像オブジェクトは文字jと文字kとを含む段の次の段(2段目)の先頭に表示される。
【0088】
また、図7(c)に示した例では、文字サイズが大きく設定された結果、文字jと文字kとを含む段が表示画面の2段目になっており、しかも文字jと文字kとを含む段(2段目)における文字jと文字kとを含む行よりも後にこの画像オブジェクトを配置するスペースが残っているので、この画像オブジェクトは文字jと文字kとを含む段(2段目)の末尾に表示される。
【0089】
なお、本実施形態では1ページが2段に分けて表示される場合について説明したが、1ページの段数はこれに限らず、3段以上であってもよい。また、各段のサイズは段毎に異なっていてもよい。
【0090】
また、1ページを複数の段に分けて表示する構成に限らず、各ページが1段の表示を行う構成であってもよい。この場合には、on_edge指定オブジェクトを文書データにおける当該on_edge指定オブジェクトの前後に配置されたオブジェクトが表示されるページの末尾、または当該ページの次のページの先頭に表示するようにすればよい。
【0091】
また、本実施形態では、画像オブジェクトのうちon_edge指定オブジェクトについてのみ、当該on_edge指定オブジェクトの直前のオブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させ、on_edge指定オブジェクト以外の画像オブジェクトについては文書データ中における当該画像オブジェクトの記載順序に応じた順序で表示させるものとしているが、これに限るものではない。例えば、on_edge指定オブジェクトとon_edge指定されていないオブジェクト(非指定オブジェクト)との区別を行わず、全ての画像オブジェクトについて、当該画像オブジェクトの直前のオブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるようにしてもよい。
【0092】
また、本実施形態において、表示装置1に備えられる制御部17および/または画像処理部13を、CPU等のプロセッサを用いてソフトウェアによって実現してもよい。すなわち、表示装置1は、制御部17および/または画像処理部13の機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている構成としてもよい。この場合、本発明の目的は、上述した機能を実現するソフトウェアである制御部17および/または画像処理部13の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、表示装置1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによって達成される。
【0093】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
【0094】
また、表示装置1を通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【0095】
また、表示装置1に備えられる制御部17および/または画像処理は、ソフトウェアを用いて実現されるものに限らず、ハードウェアロジックによって構成されるものであってもよく、処理の一部を行うハードウェアと当該ハードウェアの制御や残余の処理を行うソフトウェアを実行する演算手段とを組み合わせたものであってもよい。
【0096】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0097】
本発明は、複数の文字オブジェクトからなる文字列と画像オブジェクトとが混在する文書データに応じた画像を表示する表示装置に適用できる。
【符号の説明】
【0098】
1 表示装置
11 文書データ取得部
12 バッファ部
13 画像処理部
14 表示部
15 記憶部
16 操作入力部
17 制御部
21 レイアウト生成部
22 行レイアウト生成部
23 段レイアウト生成部
24 表示条件決定部
25 表示画像生成部


【特許請求の範囲】
【請求項1】
複数の文字オブジェクトからなる文字列中に静止画像または動画像の画像オブジェクトが挿入された文書データに応じた画像を、表示画面を1または複数の段に分割した各段に振り分けて表示する表示装置であって、
上記文書データに含まれる各オブジェクトの表示位置を上記各段のサイズに応じて設定したレイアウトを生成するレイアウト生成部を備え、
上記レイアウト生成部は、
上記画像オブジェクトを、上記文書データ中において当該画像オブジェクトの直前に配置されているオブジェクトである直前オブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるとともに、
上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ上記画像オブジェクトの表示位置よりも文書方向の上流側の領域に上記文書データ中において上記画像オブジェクトの直後に配置されている1または複数のオブジェクトである直後オブジェクトを表示可能な残領域がある場合、上記直後オブジェクトを上記残領域に表示させるように上記レイアウトを生成することを特徴とする表示装置。
【請求項2】
上記レイアウト生成部は、
上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側の表示領域のサイズと上記画像オブジェクトのサイズとを比較し、当該画像オブジェクトのサイズの方が小さい場合には当該画像オブジェクトを当該段の末尾に表示させ、当該画像オブジェクトのサイズの方が大きい場合には当該画像オブジェクトを当該段の次段の先頭に表示させるように上記レイアウトを生成することを特徴とする請求項1に記載の表示装置。
【請求項3】
上記レイアウト生成部は、
上記画像オブジェクトを上記直前オブジェクトが表示される段の次段に表示させる場合であって、当該画像オブジェクトのサイズが上記次段のサイズよりも大きい場合に、当該画像オブジェクトのサイズを上記次段のサイズに収まるように縮小し、縮小した上記画像オブジェクトを上記次段に表示させるように上記レイアウトを生成することを特徴とする請求項2に記載の表示装置。
【請求項4】
上記レイアウト生成部は、上記文書データに含まれる各オブジェクトを上記各段の行方向のサイズに応じて複数の行に振り分けた行レイアウトを生成する行レイアウト生成部と、上記行レイアウトを上記各段の行方向に垂直な方向のサイズに応じて上記各段に振り分けた段レイアウトを生成する段レイアウト生成部とを備えており、
上記行レイアウト生成部は、
上記画像オブジェクトを1つの行レイアウトに振り分けるとともに、当該行レイアウトには他のオブジェクトを振り分けず、
上記直前オブジェクトを振り分けた行レイアウトに上記直後オブジェクトを表示可能な残領域がある場合、当該行レイアウトにおける上記残領域に上記直後オブジェクトを振り分けることを特徴とする請求項1から3のいずれか1項に記載の表示装置。
【請求項5】
上記段レイアウト生成部は、
上記各段における行方向に垂直な方向のサイズと、上記行レイアウト生成部によって生成された各行レイアウトの行方向に垂直な方向のサイズと、当該各行レイアウトの上記文書データにおける記載順序とに応じて上記各段に含める行レイアウトを決定し、
上記各段に含める行レイアウトの中に上記画像オブジェクトを振り分けた行レイアウトが存在する場合であって、当該行レイアウトが段の先頭の行レイアウトではない場合に、当該行レイアウトを当該段の末尾に表示させるように当該段に含められた各行レイアウトの順序を変更することを特徴とする請求項4に記載の表示装置。
【請求項6】
上記段レイアウト生成部は、
上記文書データにおける上記各行レイアウトの記載順序に従って上記各段に含める行レイアウトを決定していき、
上記画像オブジェクトを振り分けた行レイアウトが上記直前オブジェクトを振り分けた行レイアウトが含められる段に入らない場合、当該画像オブジェクトが振り分けられた行レイアウトを当該段の次段に振り分け、かつ、上記直前オブジェクトを振り分けた行レイアウトが振り分けられる段に上記画像オブジェクトが振り分けられた行レイアウトの直後の1または複数の行レイアウトを表示可能な残領域がある場合、上記画像オブジェクトが振り分けられた行レイアウトの直後の上記1または複数の行レイアウトを上記直前オブジェクトと同じ段に振り分けることを特徴とする請求項4または5に記載の表示装置。
【請求項7】
上記レイアウト生成部は、
上記画像オブジェクトのうち所定のインデックスが付与されている画像オブジェクトである指定オブジェクトについては、上記文書データ中において当該指定オブジェクトの直前に配置されているオブジェクトである直前オブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるとともに、上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ上記指定オブジェクトの表示位置よりも文書方向の上流側の領域に上記文書データ中において上記指定オブジェクトの直後に配置されている1または複数のオブジェクトである直後オブジェクトを表示させる残領域がある場合、上記直後オブジェクトを上記残領域に表示させるように上記レイアウトを生成する一方、
上記インデックスが付与されていない画像オブジェクトについては上記文書データにおける当該画像オブジェクトの記載順序に応じた順序で表示させるように上記レイアウトを生成することを特徴とする請求項1から6のいずれか1項に記載の表示装置。
【請求項8】
複数の文字オブジェクトからなる文字列中に静止画像または動画像の画像オブジェクトが挿入された文書データに応じた画像を、表示画面を1または複数の段に分割した各段に振り分けて表示させる表示方法であって、
上記文書データに含まれる各オブジェクトの表示位置を上記各段のサイズに応じて設定したレイアウトを生成するレイアウト生成工程を含み、
上記レイアウト生成工程では、
上記画像オブジェクトを、上記文書データ中において当該画像オブジェクトの直後に配置されているオブジェクトである直前オブジェクトが表示される段の末尾、または当該段の次段の先頭に表示させるとともに、
上記直前オブジェクトが表示される段における当該直前オブジェクトの表示位置よりも文書方向の後流側、かつ上記画像オブジェクトの表示位置よりも文書方向の上流側の領域に上記文書データにおいて上記画像オブジェクトの直後に配置されている1または複数のオブジェクトである直後オブジェクトを表示可能な残領域がある場合、上記直後オブジェクトを上記残領域に表示させるように上記レイアウトを生成することを特徴とする表示方法。
【請求項9】
コンピュータを請求項1から7のいずれか1項に記載の表示装置に備えられる上記レイアウト生成部として機能させるためのプログラム。
【請求項10】
請求項9に記載のプログラムをコンピュータ読み取り可能に格納した記録媒体。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−68859(P2012−68859A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願番号】特願2010−212604(P2010−212604)
【出願日】平成22年9月22日(2010.9.22)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】