〔実施の形態1〕
本発明の実施の一形態について図1〜図21に基づいて説明すれば、以下のとおりである。以下では、本発明の表示装置の一例として携帯電話1を挙げて説明するが、本発明の表示装置は、携帯電話に限定されない。本発明の表示装置は、画像(主表示データ)と、当該画像に付随する文字列(副表示データ)とを表示装置の同一の表示画面に表示する装置であればよい。なお、主表示データは、画像に限定されず、副表示データは、文字列に限定されない。
図2は、携帯電話1の構成を示す機能ブロック図である。同図に示すように、携帯電話1は、主制御部2、記憶部6、入出力制御部7、操作部8、表示部9および通信部10を備えている。なお、携帯電話1は、スピーカ、マイク等、携帯電話として機能するための部材を備えているが、これらの部材は、図2では省略してある。
主制御部2は、データ取得部3、画像形成制御部4および表示用画像形成部5を備えている。
データ取得部3は、表示部9に表示するデータ(以下、表示対象データ61と称する)を記憶部6から取得し、その表示対象データ61を表示用画像形成部5へ出力する。表示対象データ61は、基本的に、表示対象となる対象画像と当該対象画像に付随する文字列(以下、付随文字列と称する)とからなるデータであるが、画像のみのデータまたは文字列のみのデータであってもよい。ただし、携帯電話1は、対象画像と付随文字列とからなる表示対象データを表示する場合に効果を奏するものである。
表示用画像形成部5は、対象画像と付随文字列との相対位置を調節し、表示部9に表示するための表示用画像を形成する。表示用画像形成部5の詳細については後述する。
画像形成制御部4は、データ取得部3および表示用画像形成部5を制御する。
記憶部6は、表示対象データ61および配置ルールテーブル62を格納している。配置ルールテーブル62は、表示対象データ61に含まれる対象画像および付随文字列を配置する時のルールが示されているテーブルであり、対象画像の表示領域または付随文字列の表示領域のいずれを優先的に移動させるのかという優先順位が示されているものである。この配置ルールテーブル62は、後述するように表示用画像形成部5によって参照される。
図20は、配置ルールテーブル62に含まれる、優先順位を示すテーブルの一例を示す図である。同図には、対象画像および付随文字列の両方が再配置可能であり、対象画像よりも付随文字列の方を優先的に移動させる(付随文字列の優先順位が「1」である)ことが示された配置ルールテーブルを示している。配置ルールテーブル62には、再配置可能であるかどうかを示す情報および再配置する場合の優先順位を示す情報の他にも、対象画像および付随文字列のデフォルトの状態(初期位置、初期表示方向および初期サイズ)を示す情報、および、対象画像および/または付随文字列を再配置する場合の対象画像および/または付随文字列の移動様式および表示方向の変更様式を示す情報(再配置ルール)等が含まれているが、これらの情報は、図20には示していない。
操作部8は、ユーザからの指示を受け付けるものであり、複数の操作キーを有している。
表示部9は、表示用画像形成部5によって形成された表示用画像を表示するものであり、例えば、液晶表示装置である。
通信部10は、外部の装置、例えば、サーバから表示対象データを受信する。
入出力制御部7は、操作部8、表示部9および通信部10から出力された信号を受付け、信号の変換を行った後、変換された信号を主制御部2へ出力する。
(表示用画像形成部5の構成)
図1は、表示用画像形成部5の構成を示す機能ブロック図である。同図に示すように、表示用画像形成部5は、再配置制御部51(再配置手段)、文字列配置部52(再配置手段)および画像配置部53(再配置手段)を含む表示状態決定部(表示位置決定手段、再配置手段)60、重複領域検出部(再配置要否判定手段)54、余白領域検出部55(余白領域検出手段)、余白領域比較部56(余白比較手段)、余白/文字列比較部57(面積比較手段)、文字列方向変更部58(文字列方向変更手段)および上書き可能領域検出部59(上書き可能領域検出手段)を備えている。
再配置制御部51は、表示用画像形成部5の各部を制御し、後述するように、余白領域を利用して、画像と文字列とが同一の表示画面内に収まるように画像または文字列、もしくはその両方の位置または大きさを調節し、表示用画像を形成する。換言すれば、再配置制御部51は、画像表示領域および/または文字列表示領域の、位置または大きさを初期状態から変更する。この再配置制御部51は、形成した表示用画像を画像形成制御部4へ出力する。
表示状態決定部60は、文字列配置部52および画像配置部53を備えており、対象画像および付随文字列の、表示部9の表示画面における表示状態(表示位置および表示の大きさ)を決定する。特に、表示状態決定部60は、後述する再配置処理が行われる前の初期表示状態(特に初期表示位置)を決定する。
文字列配置部52は、配置ルールテーブル62に示された配置ルールに従って、付随文字列の表示領域(以下、文字列表示領域と称する)を決定する。文字列配置部52は、文字列表示領域の座標の値を重複領域検出部54へ出力する。
画像配置部53は、配置ルールテーブル62に示された配置ルールに従って、対象画像の表示領域(以下、画像表示領域と称する)を決定する。画像配置部53は、画像表示領域の座標の値を重複領域検出部54へ出力する。
重複領域検出部54は、文字列表示領域と画像表示領域とが表示画面からはみ出ることなく表示されているか否か、および、文字列表示領域と画像表示領域とが重複しているか否かを検出し、その検出結果を再配置制御部51へ出力する。換言すれば、重複領域検出部54は、表示状態決定部60が決定した、対象画像の表示位置または付随文字列の表示位置、もしくはその両方を変更する再配置処理が必要であるかどうかを判定し、その判定結果を再配置制御部51へ出力する。
以下の説明では、文字列表示領域または画像表示領域が表示画面からはみ出ている場合、または、文字列表示領域と画像表示領域とが重複している場合に、重複領域検出部54は、再配置処理が必要であると判定するものとする。ただし、重複領域検出部54が、再配置処理が必要であると判定する条件は、上記のものに限定されない。例えば、対象画像と付随文字列との距離が、所定の値より小さい場合に、重複領域検出部54は再配置処理が必要であると判定してもよい。重複領域検出部54における処理の詳細については後述する。
余白領域検出部55は、画像表示領域の周囲に存在する余白領域のサイズ(または面積)を検出する。ここで、余白領域とは、表示部9が有する表示画面の全領域(以下、全表示領域と称する)から画像表示領域および文字列表示領域を除いた領域である。余白領域検出部55は、検出した余白領域のサイズに関する情報(以下、余白領域情報と称する)を余白領域比較部56へ出力する。この余白領域情報、および余白領域検出部55による余白領域の検出方法の詳細については後述する。なお、後述するように、余白領域のサイズとは、画像表示領域63の辺と表示画面9aの辺との間の距離(図6参照)を意味する。
また、余白領域検出部55は、上書き可能領域検出部59から上書き可能領域の情報を受け取った場合に、当該上書き可能領域を余白領域と見なし、既に検出している余白領域に当該上書き可能領域を加える。
余白領域比較部56は、余白領域検出部55から余白情報を受け取り、画像表示領域の上側に位置する余白領域の面積と、下側に位置する余白領域の面積とを比較する。または、余白領域比較部56は、画像表示領域の左側に位置する余白領域の面積と、右側に位置する余白領域の面積とを比較する。そして、余白領域比較部56は、比較結果を再配置制御部51へ出力する。
余白/文字列比較部57は、文字列表示領域の面積と、画像表示領域の左右に位置する余白領域の面積の合計または画像表示領域の上下に位置する余白領域の面積の合計とを比較し、比較結果を再配置制御部51へ出力する。
文字列方向変更部58は、余白領域の、上下または左右の合計面積が文字列表示領域の面積以上である場合に、文字列表示領域の表示方向を90度回転させる。すなわち、文字列方向変更部58は、横書きの文字列を縦書きに、縦書きの文字列を横書きに変更する。
上書き可能領域検出部59は、表示対象データ61に含まれる対象画像における上書き可能領域を検出する。上書き可能領域とは、対象画像に含まれる、情報量の少ない領域である。本実施形態では、上書き可能領域とは、対象画像における輝度値の変化量(ばらつき)が所定の閾値内に収まる領域である。例えば、上書き可能領域は、同一色でベタ塗りされた領域である。つまり、上書き可能領域検出部59は、対象画像における輝度値のばらつきが所定の閾値内である領域を上書き可能領域として検出する。
図3は、上書き可能領域検出部59の構成を示す機能ブロック図である。同図に示すように、上書き可能領域検出部59は、上部上書き可能領域検出部59a、下部上書き可能領域検出部59b、左部上書き可能領域検出部59c、右部上書き可能領域検出部59dおよび上書き可能領域検出制御部59eを備えている。
上部上書き可能領域検出部59a、下部上書き可能領域検出部59b、左部上書き可能領域検出部59cおよび右部上書き可能領域検出部59dは、それぞれ、対象画像の上部、下部、左部および右部における上書き可能領域を検出し、検出結果を上書き可能領域検出制御部59eへ出力する。
上書き可能領域検出制御部59eは、上部上書き可能領域検出部59a、下部上書き可能領域検出部59b、左部上書き可能領域検出部59cおよび右部上書き可能領域検出部59dを制御し、得られた上書き可能領域の検出結果をまとめ、上書き可能領域の位置およびサイズを示す情報である上書き可能領域情報を、余白領域検出部55へ出力する。
上書き可能領域検出部59における処理の詳細については後述する。
(表示対象データ61のデータ構造)
図4は、表示対象データ61のデータ構造の一例を示す概略図である。「データ位置」は、表示対象データ61に含まれる表示対象要素(対象画像または付随文字列)を特定するための情報である。ここでは、「データ位置」は、表示対象データ61の先頭から何番目の表示対象要素であるかを示す値である。
「種類」は、表示対象要素が対象画像であるか付随文字列であるかを示す。「IMAGE」は、その表示対象要素が対象画像であることを示し、「STRING」は、その表示対象要素が付随文字列であることを示している。
「XY位置」は、各表示対象要素を表示領域に表示するときのXY座標値を示す。なお、XY座標とは、表示画面の左上をX=0、Y=0として、右方向に行くにつれてXが増加していき、下方向に行くにつれてYが増加していく座標系のことである。
「関連データ番号」は、表示対象要素同士の関連を示す。ここに番号が格納されている場合、自分自身を親として、関連データ番号が示す表示対象要素を子とする親子関係があることになる。また、親子関係にある表示対象要素は、基本的に同じ表示画面に表示するものとする。その時、親子関係にある表示対象要素は、同一画面上において独立に位置を変更することができる。
換言すれば、「関連データ番号」が「NONE」でない場合には、その表示対象要素は、対象画像(主表示データ)であり、「NONE」である場合には、その表示対象要素は、付随文字列(副表示データ)である。つまり、副表示データが対応付けられていない表示データが主表示データである。関連データ番号が「NONE」であるかどうかで、その表示対象要素が主表示データであるのか副表示データであるのかを区別することができる。
図4に示す例では、データ位置が「1」である画像にデータ位置が「2」または「3」である文字列が付随している。データ位置が「2」である文字列と、データ位置が「3」である文字列とはひと続きの文字列であるが、2つの文字列として存在している。このように、ひと続きの文字列を複数の文字列に分割して対象画像に付随させてもよい。換言すれば、ひとつの対象画像に付随する付随文字列の数は、ひとつでもよいし、複数でもよい。
表示対象データ61に含まれる対象画像および付随文字列の内容は、どのようなものであってもよい。例えば、対象画像がマンガの絵柄であり、付随文字列がマンガの吹き出しであってもよい。また、対象画像がユーザが撮像した写真であり、付随文字列が当該写真の説明文であってもよい。
また、付随文字列は、背景を有するものであってもよいし、背景を有しないものであってもよい。すなわち、付随文字列を対象画像に重ねた時に、対象画像が部分的に透けて見えるものであってもよいし、重なっている領域において対象画像が完全に隠れるものであってもよい。
また、対象画像の代わりに動画を用いてもよく、付随文字列の代わりに文字を画像化した画像を用いてもよい。
(表示対象データ61の表示例)
図5は、表示対象データ61(対象画像および付随文字列)を表示部9の表示画面9aに表示した状態の一例を示す図である。同図に示すように、矩形の対象画像の画像表示領域63と「おはようございます。」という付随文字列の文字列表示領域64とが重複することなく、かつ、表示画面9aからはみ出ることなく、対象画像と付随文字列とが表示されている。
図6は、図5に示す付随文字列(換言すれば、文字列表示領域64)のサイズを大きくした状態を示す概略図である。同図に示すように、付随文字列のサイズを大きくした場合には、付随文字列は表示画面9aからはみ出ることがある。このような付随文字列のサイズ変更は、ユーザの指示に従って行われる。付随文字列が表示画面9aからはみ出た場合には、付随文字列の一部は、ユーザによって視認されなくなる。また、図示しないが、画像表示領域63と文字列表示領域64とが重なる場合には、対象画像または付随文字列の一部が視認されなくなる。このような場合に、表示用画像形成部5は、画像表示領域63と文字列表示領域64との相対位置を調節する。
なお、上述した初期状態とは、通常、付随文字列が表示画面9aからはみ出た状態または画像表示領域63と文字列表示領域64とが重なっている状態を指すが、より見易い状態にするために、上記の状態にない、画像表示領域63および/または文字列表示領域64を再配置してもかまわない。本実施形態では、上記初期状態とは、表示状態決定部60が決定した、対象画像および付随文字列の表示状態に対して、ユーザが操作部8を介して入力した変更指示(対象画像および/または付随文字列の、大きさおよび/または表示位置を変更する指示)を反映させた表示状態を意味するものとする。
(余白領域検出部55における余白領域検出方法)
次に、余白領域検出部55における余白領域検出方法について、図6を参照しつつ説明する。
余白領域検出部55は、画像表示領域63の各辺(外郭)の座標をもとに、画像表示領域63の辺と表示画面9aの辺との間の距離(図6にて、矢印65a〜65cによって示される距離)を算出する。画像表示領域63の辺と表示画面9aの辺との間に文字列表示領域64が存在する場合には、余白領域検出部55は、画像表示領域63の辺と文字列表示領域64の辺との間の距離(矢印65dによって示される距離)を算出する。余白領域検出部55は、これらの距離を余白領域のサイズを表す余白領域情報として余白領域比較部56へ出力する。
または、余白領域検出部55は、上記距離および表示画面の大きさから、画像表示領域63の周囲4方向(上下左右)に位置する余白領域の面積をそれぞれ算出し、算出した余白領域の面積を余白/文字列比較部57へ出力する。
また、余白領域検出部55は、上書き可能領域検出部59から後述する上書き可能領域情報を受け取ると、既に算出した余白領域のサイズに、上書き可能領域のサイズを加算する。換言すれば、余白領域検出部55は、上書き可能領域を余白領域と見なす。
なお、余白領域検出部55における余白領域検出方法は、上述した方法に限定されない。例えば、余白領域検出部55は、上書き可能領域情報を受け取ると、画像表示領域63から上書き可能領域を除いた領域を新たな画像表示領域63として認識し、余白領域のサイズを再計算してもよい。
(上書き可能領域検出部59における上書き可能領域検出方法)
次に、上書き可能領域検出部59における上書き可能領域検出方法について図7を参照しつつ説明する。図7は、対象画像における上書き可能領域を検出する方法を説明するための図である。同図に示すように、対象画像は高さ方向(図7にてY軸方向)および幅方向(図7にてX軸方向)に配列した複数の画素から構成されている。同図には、一例として、Y軸方向に8つ、X軸方向に5つの画素が配列した、8行5列の対象画像が示されている。
上書き可能領域検出部59は、対象画像における輝度値のばらつきが所定の閾値内であるかどうかを検出することにより、上書き可能領域を検出する。より具体的には、上書き可能領域検出部59の上部上書き可能領域検出部59a、下部上書き可能領域検出部59b、左部上書き可能領域検出部59cおよび右部上書き可能領域検出部59dは、対象画像の或る辺(注目辺)から当該注目辺に対向する辺に向かう方向へ、検出対象となる、対象画像の注目行(または注目列)を移動させる。そして、各上書き可能領域検出部は、それぞれ、各注目行(または注目列)において、或る画素(注目画素)と当該注目画素に隣接する画素との輝度値の差分値を算出し、当該差分値が所定の範囲内のものであるかどうかを判定する。注目行(または注目列)において、すべての差分値が所定の範囲内のものである場合に、各上書き可能領域検出部は、当該注目行(または注目列)を、上書き可能行(または上書き可能列)として上書き可能領域に追加する。
以下において、上書き可能領域検出部59における処理の流れを説明する。図8は、上書き可能領域検出部59における処理の流れを示すフローチャートである。
再配置制御部51から上書き可能領域を検出することを命じる上書き可能領域検出命令を受け取ると、上書き可能領域検出制御部59eは、上部上書き可能領域の検出を命じる命令を上部上書き可能領域検出部59aへ出力する。ここで、上部上書き可能領域とは、対象画像の中央部よりも上側に位置する上書き可能領域を指している。
上記命令を受け取ると、上部上書き可能領域検出部59aは、上部上書き可能領域の高さ(Y軸方向における画素数)を算出し、その情報を上書き可能領域検出制御部59eへ出力する(S1)。
その後、同様に、上書き可能領域検出制御部59eは、下部、左部および右部上書き可能領域の検出を命じる命令を、下部上書き可能領域検出部59b、左部上書き可能領域検出部59cおよび右部上書き可能領域検出部59dへそれぞれ順に出力する。
下部上書き可能領域検出部59bは、上記命令を受け取ると、下部上書き可能領域の高さ(Y軸方向における画素数)を算出し、その情報を上書き可能領域検出制御部59eへ出力する(S2)。
左部上書き可能領域検出部59cは、上記命令を受け取ると、左部上書き可能領域の幅(X軸方向における画素数)を算出し、その情報を上書き可能領域検出制御部59eへ出力する(S3)。
右部上書き可能領域検出部59dは、上記命令を受け取ると、右部上書き可能領域の幅(X軸方向における画素数)を算出し、その情報を上書き可能領域検出制御部59eへ出力する(S4)。
各上書き可能領域の情報を受け取ると、上書き可能領域検出制御部59eは、それらの情報をまとめ、上書き可能領域検出情報として余白領域検出部55へ出力する。
なお、上部、下部、左部、右部の各上書き可能領域を検出する順番はどのようなものであってもよい。また、各上書き可能領域を並行して検出してもよい。
(上書き可能領域検出処理の詳細)
次に、上部上書き可能領域検出部59aにおける処理の流れについて図9を参照しつつ説明する。図9は、上部上書き可能領域検出部59aにおける処理の流れを示すフローチャートである。上書き可能領域検出制御部59eから上部上書き可能領域の検出を命じる命令を受け取ると、上部上書き可能領域検出部59aは、自らが備える座標カウンタ(Y、X)を、X=1、Y=1に設定する(S11)。
そして、上部上書き可能領域検出部59aは、Xに1を加算し、1を加算する前の座標カウンタが示す画素の輝度値と、1を加算した後の座標カウンタが示す画素の輝度値との差分値を算出する。例えば、上部上書き可能領域検出部59aは、(1、1)の画素(第1行第1列目の画素)と、(1、2)の画素(第1行第2列目の画素)との輝度値の差分値を算出する。
その後、上部上書き可能領域検出部59aは、上記差分値が所定の範囲内のものかどうかを判定する(S13)。換言すれば、上部上書き可能領域検出部59aは、輝度値が所定の範囲を超えて変化しているかどうかを判定する。
上記差分値が所定の範囲を超えていた場合(S13にてYES)、上部上書き可能領域検出部59aは、その時点の座標カウンタのYの値から1を引いた数を上部上書き可能領域の高さとし、当該高さの情報を上書き可能領域検出制御部59eへ出力する(S14)。例えば、座標カウンタが(1、2)であった場合、上部上書き可能領域の高さは0となる。
一方、上記差分値が所定の範囲内であった場合(S13にてNO)、上部上書き可能領域検出部59aは、その時点の座標カウンタのXの値が幅方向(X軸方向)の画素数に一致しているかどうかを判定する(S14)。
Xの値が幅方向の画素数に一致していない場合(S15にてNO)、Xの値に1を加算し、再度差分値を算出する(S12に戻る)。
Xの値が幅方向の画素数に一致している場合(S15にてYES)、上部上書き可能領域検出部59aは、座標カウンタのYの値に1を加算するとともに、Xの値を1に設定する(S16)。すなわち、上部上書き可能領域検出部59aは、注目行における輝度値の比較がすべて終了すると、注目行を次の行に移す。
そして、上部上書き可能領域検出部59aは、座標カウンタのYの値が高さ方向(Y軸方向)の画素数より大きいかどうかを判定する。
座標カウンタのYの値が高さ方向の画素数以下の場合(S17にてNO)、Xの値に1を加算し、再度差分値を算出する(S12に戻る)。
一方、座標カウンタのYの値が高さ方向の画素数より大きい場合(S17にてYES)、上部上書き可能領域検出部59aは、その時点の座標カウンタのYから1を引いた値を上部上書き可能領域の高さとし、当該高さの情報を上書き可能領域検出制御部59eへ出力する(S14)。
図10は、下部上書き可能領域検出部59bにおける処理の流れを示すフローチャートである。図11は、左部上書き可能領域検出部59cにおける処理の流れを示すフローチャートである。図12は、右部上書き可能領域検出部59dにおける処理の流れを示すフローチャートである。
下部上書き可能領域検出部59b、左部上書き可能領域検出部59cおよび右部上書き可能領域検出部59dにおける処理の流れは、上部上書き可能領域検出部59aにおける処理の流れとほぼ同様であり、差分値を算出するために注目する行(または列)の順番と、比較する画素の方向が異なるだけである。それゆえ、下部上書き可能領域検出部59b、左部上書き可能領域検出部59cおよび右部上書き可能領域検出部59dにおける処理の流れの説明については、これを省略する。
(携帯電話1における処理の流れ)
次に携帯電話1における処理の流れについて、図13を参照しつつ説明する。図13は、携帯電話1における処理の流れを示すフローチャートである。以下では、表示対象データ61は、記憶部6に既に格納されているという前提に立って説明を行う。
ユーザから、操作部8を介して表示対象データを表示する指示を受け付けると、その指示は、入出力制御部7を経て、画像形成制御部4へ伝達される。上記指示を受け取ると、画像形成制御部4は、表示対象データを取得することを命じる取得命令をデータ取得部3へ出力する。
この取得命令を受け取ると、データ取得部3は、記憶部6から表示対象データ61を取得し、当該表示対象データ61を表示用画像形成部5の再配置制御部51へ出力する(S51)。
表示対象データ61を受け取ると、再配置制御部51は、表示対象データ61に文字列が含まれているか否かを検出する(S52)。
表示対象データ61に文字列が含まれていない場合、すなわち、表示対象データ61が画像のみから構成されている場合(S52にてNO)、再配置制御部51は、表示対象データ61を画像配置部53へ出力し、表示対象データ61に含まれている対象画像の表示画面上の位置(画像表示領域)を決定するよう画像配置部53に命じる。
この命令を受け取ると、画像配置部53は、配置ルールテーブル62を参照して画像表示領域を決定し(S58)、画像表示領域の位置を示す座標を再配置制御部51へ出力する。そして、再配置制御部51は、当該座標を基に表示用画像を形成し、画像形成制御部4へ出力する(S59へ進む)。
一方、文字列が含まれている場合(S52にてYES)、再配置制御部51は、文字列配置部52へ表示対象データを出力する。
表示対象データ61を受け取ると、文字列配置部52は、配置ルールテーブル62を参照しつつ、表示対象データに含まれる文字列の表示画面上の位置、すなわち、文字列表示領域および文字列のサイズを決定し(S53)、文字列表示領域の位置を示す座標を重複領域検出部54へ出力する。
なお、文字列の表示サイズとは、表示する文字を画面上に全て配置したときの合計面積(ドット数)を表す。
次に、再配置制御部51は、表示対象データ61に画像が含まれているか否かを検出し(S54)、表示対象データ61に画像が含まれていた場合(S54にてYES)、画像配置部53へ表示対象データ61を出力する。
表示対象データを受け取ると、画像配置部53は、配置ルールテーブル62を参照しつつ、表示対象データに含まれる対象画像の表示画面上の位置、すなわち、画像表示領域を決定し(S55)、画像表示領域の位置を示す座標を重複領域検出部54へ出力する。
上記ステップS51〜55およびS58が、表示状態決定部60が行う表示状態決定工程(表示位置決定工程)である。
なお、ユーザが、対象画像および/または付随文字列の、大きさおよび/または表示位置を変更する指示を、操作部8を介して入力した場合には、表示状態決定部60(文字列配置部52および画像配置部53)は、その指示を反映させた座標を重複領域検出部54へ出力する。
上記の座標を受け取ると、重複領域検出部54は、文字列表示領域と画像表示領域とが重複していないかどうか、および、文字列表示領域が表示画面9aからはみ出ていないかどうかを検出し、検出結果を再配置制御部51へ出力する(S56)。換言すれば、重複領域検出部54は、再配置処理が必要であるかどうかを判定し、その判定結果を再配置制御部51へ出力する。
文字列表示領域と画像表示領域とが重複していた場合、または、文字列表示領域が表示画面9aからはみ出ていた場合、すなわち、重複領域検出部54が、再配置処理が必要であると判定した場合に(S56にてYES)、再配置制御部51は、表示位置を調節するため処理(表示位置調節処理(再配置処理))を行う(S57)。そして、再配置制御部51は、表示位置の調節を行った表示用画像を画像形成制御部4へ出力する。
この表示用画像を受け取ると、画像形成制御部4は、当該表示用画像を表示部9に表示させる(S59)。
一方、表示対象データ61に画像が含まれていない場合(S54にてNO)、および文字列表示領域と画像表示領域とが重複しておらず、かつ、文字列表示領域が表示画面9aからはみ出ていない場合、すなわち、重複領域検出部54が、再配置処理は必要でないと判定した場合(S56にてNO)、再配置制御部51は、表示位置調節処理を行わずに、対象画像と付随文字列とから、または文字列のみからなる表示用画像を形成し、当該表示用画像を画像形成制御部4へ出力する。この表示用画像を受け取ると、画像形成制御部4は、当該表示用画像を表示部9に表示させる(S59)。
その後、主制御部2は、ユーザからさらなる入力操作、例えば、次の表示対象画像を表示させるための入力操作が行われれば(S60にてYES)、当該入力操作に対応する処理を行い(S61)、操作を終了するための入力操作を受け付けると(S62にてYES)、一連の処理を終了する。
(表示用画像形成部5における表示位置調節処理の流れ)
次に、表示用画像形成部5における表示位置調節処理の流れについて図14を参照しつつ説明する。図14は、表示用画像形成部5における処理の流れを示すフローチャートである。
文字列表示領域と画像表示領域とが重複していることを示す情報、または、文字列表示領域が表示画面からはみ出ていることを示す情報(すなわち、再配置処理が必要であるとの判定結果)を重複領域検出部54から受け取ると、再配置制御部51は、余白領域を検出する命令を余白領域検出部55へ出力する。
この命令を受け取ると、余白領域検出部55は、画像表示領域の周囲に存在する余白領域のサイズを算出する。このとき、余白領域検出部55は、付随文字列が横書きであれば(S71にてYES)、画像表示領域の上下に存在する余白領域のサイズを算出し(S72)、付随文字列が縦書きであれば(S71にてNO)、画像表示領域の左右に存在する余白領域のサイズを算出する(S73)。
余白領域検出部55は、算出した余白領域のサイズに関する余白情報を余白領域比較部56へ出力する。
なお、画像表示領域の上下または左右に余白領域がない場合(S72またはS73にてNO)、余白領域検出部55は、その旨を再配置制御部51へ伝え、再配置制御部51は、文字列表示領域と画像表示領域とが重複していないかどうか、および、文字列表示領域が表示画面からはみ出ていないかどうかを検出するよう重複領域検出部54に命じる(S76へ進む)。
余白情報を受け取ると、余白領域比較部56は、付随文字列が横書きの場合、画像表示領域の上側に位置する余白領域のサイズと、下側に位置する余白領域のサイズとを比較する。または、余白領域比較部56は、付随文字列が縦書きの場合、画像表示領域の左側に位置する余白領域のサイズと、右側に位置する余白領域のサイズとを比較する。そして、余白領域比較部56は、比較結果を再配置制御部51へ出力する。
この比較結果を受け取ると、再配置制御部51は、比較された余白領域のうちサイズの大きい方の余白領域が位置する方向へ画像表示領域を移動させる(S74)。このとき、再配置制御部51は、サイズの大きい方の余白領域がほぼなくなる位置まで、画像表示領域を移動させる。ただし、再配置制御部51は、サイズの大きい方の余白領域が完全になくなる位置まで画像表示領域を移動させる必要はなく、当該余白領域が所定のサイズになるまで画像表示領域を移動させてもよい。
その後、再配置制御部51は、再度、文字列配置部52に文字列表示領域を決定させる(S75)。文字列配置部52は、文字列表示領域の座標を重複領域検出部54へ出力する。
また、再配置制御部51は、移動後の画像表示領域の座標を重複領域検出部54へ出力する。
上記の位置情報を受け取ると、重複領域検出部54は、文字列表示領域と画像表示領域とが重複していないかどうか、および、文字列表示領域が表示画面9aからはみ出ていないかどうかを検出し、検出結果を再配置制御部51へ出力する(S76)。換言すれば、重複領域検出部54は、再配置処理が必要であるかどうかを判定し、その判定結果を再配置制御部51へ出力する。
文字列表示領域と画像表示領域とが重複していた場合、または、文字列表示領域が表示画面9aからはみ出ていた場合、すなわち、重複領域検出部54が、再配置処理が必要であると判定した場合(S76にてYES)、再配置制御部51は、余白領域を検出する命令を余白領域検出部55へ出力する。
この命令を受け取ると、余白領域検出部55は、画像表示領域の周囲に存在する余白領域の面積を算出する。このとき、余白領域検出部55は、付随文字列が横書きであれば(S77にてYES)、画像表示領域の上下に存在する余白領域の面積を算出し(S78)、付随文字列が縦書きであれば(S77にてNO)、画像表示領域の左右に存在する余白領域の面積を算出する(S81)。
余白領域検出部55は、算出した余白領域の面積に関する余白情報を余白/文字列比較部57へ出力する。
この余白情報を受け取ると、余白/文字列比較部57は、付随文字列が横書きの場合、文字列表示領域の面積と、画像表示領域の左右に位置する余白領域を足した合計面積とを比較する(S79)。または、余白/文字列比較部57は、付随文字列が縦書きの場合、文字列表示領域の面積と、画像表示領域の上下に位置する余白領域を足した合計面積とを比較する(S82)。
画像表示領域の左右に位置する余白領域を足した合計面積が、文字列表示領域の面積以上である場合(S79にてYES)、余白/文字列比較部57は、付随文字列を縦書きに変更する変更命令を文字列方向変更部58へ出力する。
または、画像表示領域の上下に位置する余白領域を足した合計面積が、文字列表示領域の面積以上である場合(S82にてYES)、余白/文字列比較部57は、付随文字列を横書きに変更する変更命令を文字列方向変更部58へ出力する。
この変更命令を受け取ると、文字列方向変更部58は、横書きの付随文字列を縦書きに(S80)、縦書きの付随文字列を横書きに変更する(S83)。文字列方向変更部58は、変更した文字列表示領域の情報を再配置制御部51へ出力する。
この情報を受け取ると、再配置制御部51は、再度、文字列配置部52に文字列表示領域を決定させる(S75に戻る)。
一方、画像表示領域の左右に余白領域が存在しない場合(S78にてNO)、画像表示領域の上下に余白領域が存在しない場合(S81にてNO)、画像表示領域の左右に位置する余白領域を足した合計面積が、文字列表示領域の面積より小さい場合(S79にてNO)および画像表示領域の上下に位置する余白領域を足した合計面積が、文字列表示領域の面積より小さい場合(S82にてNO)、余白領域検出部55および余白/文字列比較部57は、その旨を示す情報を再配置制御部51へ出力する。
当該情報を受け取ると、再配置制御部51は、上書き可能領域を既に検出しているかどうかを確認する(S84)。上書き可能領域を未だ検出していない場合(S84にてNO)、再配置制御部51は、上書き可能領域の検出を命じる命令を上書き可能領域検出部59へ出力する。
この命令を受け取ると、上書き可能領域検出部59は、上述したように上書き可能領域を検出し、上書き可能領域情報を余白領域検出部55へ出力する(S85)。
この上書き可能領域情報を受け取ると、余白領域検出部55は、当該上書き可能領域情報によって示される上書き可能領域を、既に検出している余白領域に加え(S86)、余白領域の再検出を行う(S71に戻る)。
文字列表示領域と画像表示領域とが重複しておらず、かつ、文字列表示領域が表示画面からはみ出ていない場合、すなわち、重複領域検出部54が、再配置処理は必要ないと判定した場合(S76にてNO)、および、上書き可能領域が既に検出されている場合(S84にてYES)、再配置制御部51は、一連の処理を終了する。
(重複領域検出部54における処理の流れ)
次に、重複領域検出部54における処理(再配置要否判定処理)の流れの一例について、図21を参照しつつ説明する。図21は、重複領域検出部54における処理の流れの一例を示すフローチャートである。
重複領域検出部54は、文字列配置部52が決定した文字列表示領域の位置を示す座標および画像配置部53が決定した画像表示領域の位置を示す座標を、自らが備えるメモリ(不図示)に格納しているものとする。また、ここでは、ひとつの対象画像に複数の付随文字列が対応付けられている場合の処理の流れについて説明する。
まず、重複領域検出部54は、上記メモリから対象画像が表示される画像表示領域の座標を取得する(S91)。なお、表示領域とは、表示開始位置と、表示データの幅および高さとによって定まる矩形である。また、表示開始位置および表示データの幅・高さは、ユーザの指示した文字サイズや文字の縦書き/横書きによって変化する。
そして、重複領域検出部54は、記憶部6に格納された表示対象データ61に含まれる、対象画像の関連データ番号(付随文字列の番号)を全て取得し、上記メモリに格納する(S92)。そして、重複領域検出部54は、自らが備えるカウンタを「1」に設定する(S93)。
その後、重複領域検出部54は、上記メモリから、1番目の付随文字列が表示される文字列表示領域の座標を取得する(S94)。
そして、重複領域検出部54は、1番目の文字列表示領域が表示画面からはみ出るかどうかを判定する(S95)。文字列表示領域が画面からはみ出るとは、表示領域の上下左右のいずれかの端のXY座標値が、表示画面の全表示領域を規定するXY座標値の範囲を超えることを意味する。
1番目の文字列表示領域が表示画面からはみ出ると判定した場合(S95にてYES)、重複領域検出部54は、再配置が必要であるとの判定結果を再配置制御部51へ出力する(S96)。
一方、1番目の文字列表示領域が表示画面からはみ出ないと判定した場合には(S95にてNO)、重複領域検出部54は、画像表示領域と1番目の文字列表示領域とが互いに重なっているかどうかを判定する(S97)。表示領域が互いに重なるとは、一方の表示領域(表示矩形)を規定する4辺の少なくとも1つと、他方の表示領域を規定する4辺の少なくとも1つとが交わる状態、または、一方の表示領域が、他方の表示領域に完全に含まれている状態を意味する。
画像表示領域と1番目の文字列表示領域とが互いに重なっていると判定した場合(S97にてYES)、重複領域検出部54は、再配置が必要であるとの判定結果を再配置制御部51へ出力する(S96)。
一方、画像表示領域と1番目の文字列表示領域とが互いに重なっていないと判定した場合(S97にてNO)、重複領域検出部54は、全ての付随文字列について上記の判定を行ったかどうかを判定する(S98)。
全ての付随文字列について上記の判定を行っていない場合(S98にてNO)、重複領域検出部54は、カウンタに「1」を加算し、上記メモリから、2番目の付随文字列が表示される文字列表示領域の座標を取得する(S94に戻る)。
一方、全ての付随文字列について上記の判定を行っている場合(S98にてYES)、重複領域検出部54は、再配置は不要であるとの判定結果を再配置制御部51へ出力する(S100)。
すなわち、上記再配置要否判定処理において、重複領域検出部54は、重なりおよびはみ出しの判定を、複数の付随文字列の全てについて行い、1つでも重なりまたははみ出しがあると判定した場合には、再配置が必要であると判定する。
(相対位置調節の具体例)
次に、文字列表示領域および画像表示領域の相対位置調節の具体例について、図5〜図6および図15〜図19を参照しつつ説明する。図15は、図6に示す状態から、付随文字列を縦書きに変更し、かつ文字列表示領域の位置を変更することで、文字列表示領域が表示画面に収まるように配置変更した状態を示す図である。図16は、図6に示す状態から、画像表示領域を上方向に移動し、付随文字列を2行表示することで、文字列表示領域が表示画面に収まるように配置変更した状態を示す図である。
図5に示す状態の付随文字列の大きさを、ユーザの指示に従い大きくすると、図6に示すように、文字列表示領域64が表示画面9aからはみ出る場合がある。このような場合には、図15に示すように、付随文字列を横書きから縦書きに変更し、かつ文字列表示領域の位置を表示画面9aの下部から右部に変更することで、付随文字列を表示画面に収めることができる。
また、別の方法としては、図16に示すように、画像表示領域63を表示画面9aの上方向に移動することで、文字列表示領域64を上下方向に広げ、付随文字列を2行表示することで、付随文字列を表示画面に収めることができる。
上述の説明では、付随文字列の方向を変更する方法よりも対象画像の位置を移動させる方法を優先させたが、付随文字列の方向を変更する方法を優先させてもよい。
図17は、図5に示す対象画像とは異なる対象画像および付随文字列を同一の表示画面に表示した状態の一例を示す図である。図18は、対象画像に含まれる上書き可能領域の一例を示す図である。図19は、上書き可能領域に文字列表示領域を重ね、付随文字列を2行表示することで、文字列表示領域が表示画面に収まるように配置変更した状態を示す図である。
図17に示すように、文字列表示領域64が表示画面9aからはみ出ている場合には、上記の例のように、画像表示領域65を移動させる処理または文字列表示領域64の方向および位置を変更する処理を行うこともできるが、以下のように上書き可能領域を利用することもできる。
図18に示すように、画像表示領域65に示される画像の下部には、上書き可能領域66が存在している。この上書き可能領域66は、同一色を有する背景を表す領域である。図19に示すように、上書き可能領域66に文字列表示領域64の一部を重ね、付随文字列を2行表示することで、付随文字列を表示画面に収めることができる。
上述の説明では、上書き可能領域を利用する方法よりも、付随文字列の方向を変更する方法および対象画像の位置を移動させる方法を優先させたが、上書き可能領域を利用する方法を優先させてもよい。どの処理を優先させるかは、配置ルールテーブル62に規定されていてもよい。このような配置ルールテーブル62を再配置制御部51が参照し、配置ルールテーブル62に規定されたルールに従って表示位置調節処理を行えばよい。
(携帯電話1の効果)
以上のように、携帯電話1では、余白領域検出部55が検出した余白領域を利用することにより、再配置制御部51は、画像表示領域と文字列表示領域とが同一の表示画面内に収まるように当該画像表示領域または当該文字列表示領域、もしくはその両方の位置を調節する。
それゆえ、対象画像と付随文字列とを表示装置の同一の表示画面に効率良く表示することができる。
さらに、上書き可能領域検出部59が上書き可能領域を検出し、再配置制御部51が当該上書き可能領域に文字列表示領域を重ねることにより、対象画像と付随文字列とを表示装置の同一の表示画面に表示できる可能性を広げることができる。
(変更例)
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
上述した例では、全表示領域は、表示画面9aそのものであったが、全表示領域は、表示画面9aに表示されるウィンドウであってもよい。ユーザがウィンドウの大きさを変更すれば、全表示領域の面積は変化するが、この変化に応じて画像表示領域と文字列表示領域との相対位置を調節してもよい。
また、上述の説明では、余白領域検出部55は、付随文字列が横書きであれば、画像表示領域の上下に存在する余白領域のサイズを算出し、付随文字列が縦書きであれば、画像表示領域の左右に存在する余白領域のサイズを算出しているが、付随文字列の方向に関わらず、画像表示領域の上下左右に存在する余白領域のサイズを算出してもよい。
また、上書き可能領域検出部59における上書き可能領域検出方法は、上述したものに限定されない。例えば、対象画像全体について輝度値のばらつきを検出し、対象画像の外郭周辺であって、輝度値のばらつきが所定の範囲内である領域を上書き可能領域としてもよい。ただし、上述のように、上部、下部、左部、右部の4方向から上書き可能領域を検出する方が、上書き可能領域の検出にかかる処理量を低減することができるため、より好ましい。
また、輝度値以外の指標を用いて上書き可能領域を検出してもよい。例えば、対象画像の画素における色調の変化を検出してもよい。
また、主表示データは、動画であってもよい。動画と当該動画に付随する文字列とを同一の表示画面に表示することにより、映画の字幕と同様の表現が可能となる。
また、画像形成制御部4は、主表示データが動画の場合、当該動画に付随する付随文字列(副表示データ)を、動画が表示されてから所定の時間後(例えば、1秒後)に所定の時間(例えば、5秒間)表示してもよい。すなわち、付随文字列を、動画が表示されてから何時間後に何時間表示するかを示す表示スケジュールが、記憶部6に格納されており、画像形成制御部4は、当該表示スケジュールを参照することにより付随文字列を所定のタイミングで表示部9に表示してもよい。
また、付随文字列が再配置不可であることが配置ルールテーブル62に規定されており、かつ重複領域検出部54において当該付随文字列の再配置が必要と判定された場合に、画像形成制御部4は、i)付随文字列を、表示画面上の特定の表示範囲においてスクロールさせて表示させたり、ii)特定の表示範囲に収まる分だけ付随文字列を表示させた後、所定時間経過後に、表示しきれなかった分の付随文字列を上記表示範囲に表示させたりするなどの、アニメーション効果を活用して付随文字列を表示してもよい。この場合、配置ルールテーブル62に、再配置が必要であるにも関わらず再配置できない場合には、上記アニメーション効果を用いて表示することが規定されていてもよい。
また、上述した携帯電話1の各ブロック、特に表示用画像形成部5は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、携帯電話1は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである携帯電話1の制御プログラム(表示プログラム)のプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記携帯電話1およびレジスタ2に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、携帯電話1を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
また、本発明は、以下のようにも表現できる。すなわち、主表示データおよび主表示データに付随する副表示データを表示する表示装置であって、前記主表示データならびに前記副表示データを表示する位置を示す表示対象データに基づいて初期状態を算出する初期状態算出手段と、前記初期状態において、再配置が必要かどうかを判定する再配置要否判定手段と、前記主表示データを表示する領域と前記副表示データを表示する領域とを表示画面の全領域から除いた領域である余白領域を検出する余白領域検出手段と、前記再配置要否判定手段において再配置が必要と判定された場合において、前記余白領域を利用し、前記主表示データならびに前記副表示データを再配置する再配置手段と、を備えている。
以上のように、本発明に係る表示装置は、上記の課題を解決するために、主表示データおよび当該主表示データに付随する副表示データを表示する表示装置であって、上記主表示データおよび上記副表示データの、表示画面における表示位置を決定する表示位置決定手段と、上記表示位置決定手段が決定した、上記主表示データの表示位置または上記副表示データの表示位置、もしくはその両方を変更する再配置処理が必要であるかどうかを判定する再配置要否判定手段と、上記主表示データを表示する主表示データ表示領域と上記副表示データを表示する副表示データ表示領域とを上記表示画面の全領域から除いた領域である余白領域を検出する余白領域検出手段と、上記再配置要否判定手段が、上記再配置処理が必要であると判定した場合に、上記余白領域検出手段が検出した余白領域を利用し、上記再配置処理を行う再配置手段とを備えることを特徴としている。
上記の構成によれば、表示位置決定手段は、主表示データおよび副表示データの、表示画面における表示位置を決定する。再配置要否判定手段は、表示位置決定手段が決定した、主表示データの表示位置または副表示データの表示位置、もしくはその両方を変更する必要があるかどうか、すなわち、再配置処理を行う必要があるかどうかを判定する。再配置手段は、再配置処理が必要であると再配置要否判定手段が判定した場合に、余白領域検出手段が検出した余白領域を利用して上記再配置処理を行う。
それゆえ、余白領域を利用することにより、主表示データと当該主表示データに付随する副表示データとをひとつの表示画面上に効率良く表示することができ、主表示データおよび副表示データをそれぞれ見易く表示することができる。
また、上記主表示データは画像であり、上記主表示データ表示領域は、画像表示領域であり、上記副表示データは上記画像に付随する文字列であり、上記副表示データ表示領域は、文字列表示領域であってもよい。
上記の構成により、画像と当該画像に付随する文字列とをひとつの表示画面上に効率良く表示することができ、画像および文字列をそれぞれ見易く表示することができる。