以下、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
(マルチディスプレイシステム)
図1は、マルチディスプレイシステムの構成図である。
図1を参照して、このマルチディスプレイシステムは、コンピュータ94と、複数のディスプレイ1〜4とを備える。各ディスプレイは、コンピュータ94の映像出力端子5と映像伝送ケーブル6で接続される。
図1では、ディスプレイ1〜4は分離して記載してあるが、実際の使用時には隣接して設置する。
(コンピュータ)
図2は、コンピュータの構成を表わす図である。
図2を参照して、このコンピュータ94は、CPU(Central Processing Unit)7と、グラフィックコントローラ11と、VRAM(Video RAM)12と、補助記憶装置8と、RAM(Random Access Memory)9と、ROM(Read Only Memory)10と、映像信号ドライバ13と、映像出力端子5とを備える。
ROM10は、コンピュータ94を起動するためのプログラム(IPL(イニシャルプログラムローダ)およびBIOS(BASIC INPUT OUTPUT SYSTEM)を格納する。
RAM9は、プログラムを実行するための作業領域やカメラから得られた画像データを一時的に格納する。
補助記憶装置8は、磁気記録装置、半導体記録装置、または光学式記録装置などで構成される。補助記憶装置8は、プログラム、画像データ、および動画像データを格納する。プログラムとして、本発明の実施形態で説明する文字認識用データ、文字認識用プログラム、画像表示処理用プログラムなどが格納されている。
CPU7は、ROM10に格納されたプログラムを実行し、コンピュータ94のシステムを起動する。CPU7は、補助記憶装置8に格納されたプログラムをRAM9に転送し、RAM9に一時格納されたプログラムの処理を実行する。CPU7は、補助記憶装置8に格納されているデータをプログラムに従って様々な処理を行なう。CPU7は、グラフィックコントローラ11に表示すべきディスプレイを指示するコマンドを送り、また表示したいデータを転送するなどの様々な処理を行なう。CPU7は、補助記憶装置8に記憶された文字認識用プログラムを実行することによって文字認識部81として機能する。また、CPU7は、補助記憶装置8に記憶された画像表示処理用プログラムを実行することによって画像表示処理部82として機能する。
グラフィックコントローラ11は、各ディスプレイに表示するデータをVRAM12から受け取り、映像信号をドライバ13へ送信する。グラフィックコントローラ11は、CPU7から送信されてきた画像データを受け取り、VRAM12のデータを更新する。グラフィックコントローラ11は、CPU7からの画像データの更新がない場合は、VRAM12内のデータを映像信号ドライバ13に繰り返し送信し続ける。
また、グラフィックコントローラ11は、画像に関する処理に関してCPU7が行なう処理の一部、もしくは大部分を行なうことができる。グラフィックコントローラ11は、各画像データに対して、CPU7側から指定されているウインドウデータの拡大/縮小や、表示する/しない、表示優先順位などに従って、合成して最終的に表示データとして出力する。
VRAM12は、映像信号を出力するための画像データを格納する。VRAM12は、4つのディスプレイ1〜4に表示する画像データを格納できるサイズを有している。VRAM12は、グラフィックコントローラ11と接続されている。
映像信号ドライバ13は、グラフィックコントローラ11から出力された映像信号(機器の内部信号)を変換して映像出力端子5へ出力する。
映像出力端子5は、ディスプレイ1〜4と映像伝送ケーブル6で接続するための端子である。本実施の形態の説明では、ディスプレイ1〜4とコンピュータ94との間は、有線で接続しているが、無線で接続してもよい。
入力装置93は、キーボード、またはマウスなどで構成される。
(ディスプレイ)
図3は、ディスプレイ1の構成を表わす図である。他のディスプレイ2〜4も、ディスプレイ1と同様の構成である。
図3を参照して、このディスプレイ1は、ドットマトリクスタイプのディスプレイであって、LCD(Liquid Crystal Display)19と、映像入力端15子と、映像信号レシーバ16と、LCDコントローラ17と、セグメントドライバ18と、コモンドライバ20とを備える。
10は、表示のために液晶組成物を利用する表示装置である。本実施の形態のLCD19は、ドットマトリクスLCDである。
映像入力端子15は、映像伝送ケーブル6でコンピュータ94と接続するための端子である。
映像信号レシーバ16は、映像信号ドライバ13から出力された映像信号をLCDコントローラ17で受信できる信号に変換して出力する。
LCDコントローラ17は、映像信号レシーバ16から出力された信号をLCD19に表示するための信号に変換し、セグメントドライバ18およびコモンドライバ20に出力する。
セグメントドライバ18およびコモンドライバ20は、LCDコントローラ17から出力された信号をLCD19に表示するための信号に変換してLCD19に出力する。
(原画像およびマルチディスプレイのサイズの説明)
図4は、原画像を表わす図である。図5は、マルチディスプレイの大きさおよび配置を表わす図である。
図4および図5を参照して、原画像の横幅を2×WX、高さを2×WYとする。
マルチディスプレイを構成する各ディスプレイのスクリーンの大きさは、等しく、いずれもWX×WYである。したがって、原画像のサイズは、4個のディスプレイのスクリーンのサイズの合計に等しい。また、各ディスプレイの筐体の幅は、WDである。
原画像を各ディスプレイのスクリーンの大きさに応じて分割したときに、ディスプレイ1に割り当てられる画像をディスプレイ1のブロック画像BL(1)とし、ディスプレイ2に割り当てられる画像をディスプレイ2のブロック画像BL(2)とし、ディスプレイ3に割り当てられる画像をディスプレイ3のブロック画像BL(3)とし、ディスプレイ4に割り当てられる画像をディスプレイ4のブロック画像BL(4)とする。
ブロック画像BL(1)の左上の座標を(X1,Y1)とし、右下の座標を(X2,Y2)とする。ただし、X2=X1+WXであり、Y2=Y1+WYである。ブロック画像BL(2)の左上の座標を(X2,Y1)とし、右下の座標を(X2+WX,Y2)とする。ブロック画像BL(3)の左上の座標を(X1,Y2)とし、右下の座標を(X2,Y2+WY)とする。ブロック画像BL(4)の左上の座標を(X2,Y2)とし、右下の座標を(X2+WX,Y2+WY)とする。
以下の説明では、画像の(XA,YA)−(XB,YB)の範囲とは、左上の座標が(XA,YA)であり、右下の座標が(XB,YB)である画像の一部の領域をいう。
(表示処理動作)
図6は、第1の実施形態の表示処理手順を表わすフローチャートである。
まず、文字認識部81は、原画像の文字認識処理を実施する(ステップS101)。
次に、文字認識部81は、原画像の文字認識処理によってRAM9に記録されたデータを読出す(ステップS102)。
次に、画像表示処理部82は、ステップS102で読み出されたデータを参照して、原画像に文字が含まれていない場合には(ステップS103でNO)、補正タイプ1で原画像を補正して表示する(ステップS106)。
一方、画像表示処理部82は、原画像に文字が含まれている場合には(ステップS103でYES)、RAM9に記録された文字の座標とサイズを参照して、原画像のY方向の中央WD×2の幅に文字が含まれるかどうかを調べる。つまり、画像表示処理部82は、ブロック画像BL(1)の右端からWDの幅の辺縁部に文字が含まれ、かつブロック画像BL(2)の左端からWDの幅の辺縁部に文字が含まれるか、またはブロック画像BL(3)の右端からWDの幅の辺縁部に文字が含まれ、かつブロック画像BL(4)の左端からWDの幅の辺縁部に文字が含まれるかどうかを調べる。
図7(a)に示すように、Y方向の中央WD×2の幅に文字が含まれる場合には(ステップS104でYES)、画像表示処理部82は、補正なしで画像を表示する(ステップS107)。
Y方向の中央WD×2の幅に文字が含まれない場合には(ステップS104でNO)、画像表示処理部82は、さらに、RAM9に記録された文字の座標とサイズを参照して、画像のX方向の中央WD×2の幅に文字が含まれるかどうかを調べる。つまり、画像表示処理部82は、ブロック画像BL(1)の下端からWDの幅の辺縁部に文字が含まれ、かつブロック画像BL(3)の上端からWDの幅の辺縁部に文字が含まれるか、またはブロック画像BL(2)の下端からWDの幅の辺縁部に文字が含まれ、かつブロック画像BL(4)の上端からWDの幅の辺縁部に文字が含まれるかどうかを調べる。
図7(b)に示すように、X方向の中央WD×2の幅に文字が含まれる場合には(ステップS105でYES)、画像表示処理部82は、補正なしで画像を表示する(ステップS107)。
Y方向の中央WD×2の幅およびX方向の中央WD×2の幅に文字が含まれない場合には(ステップS104でNO、ステップS105でNO)、画像表示処理部82は、補正タイプ1で画像を補正して表示する(ステップS106)。
原画像に変更があった場合には(ステップS108でYES)、文字認識部81は、ステップS101に戻って処理を繰返す。
(文字認識動作)
図8は、図6のステップS101の文字認識処理の手順を表わすフローチャートである。
図8を参照して、まず、文字認識部81は、補助記憶装置8から文字認識プログラムを読出し、RAM9に転送し、文字認識プログラムを実行する(ステップS201)。
次に、文字認識部81は、原画像から文字を抽出する(ステップS202)。
次に、文字認識部81は、抽出した文字のデータと補助記憶装置8に記録されている文字認識用辞書のデータとの比較を行なう。
文字認識部81は、抽出した文字のデータと合致するパターンが文字認識辞書に登録されている場合には(ステップS204でYES)、文字認識辞書のパターンと一致したすべての文字のサイズおよび座標を抽出して、RAM9に記録する(ステップS205)。
一方、文字認識部81は、抽出した文字のデータと合致するパターンが文字認識辞書に登録されていない場合には(ステップS204でNO)、原画像には文字が含まれていないと判定し、RAM9に文字が含まれていないことを表わす情報を記録する(ステップS206)。
(補正なしで表示動作)
図9は、図6のステップS107の補正なしで表示する処理の手順を表わすフローチャートである。
図9を参照して、画像表示処理部82は、原画像データをVRAM12に書込む(ステップS301)。
画像表示処理部82は、VRAM12に格納された原画像の(X1,Y1)−(X2,Y2)の領域であるブロック画像BL(1)をディスプレイ1に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X2,Y1)−(X2,Y2)の範囲であるブロック画像BL(2)をディスプレイ2に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X1,Y2)−(X2,Y2)の範囲であるブロック画像BL(3)をディスプレイ3に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X2,Y2)−(X2,Y2)の範囲であるブロック画像BL(4)をディスプレイ4に表示する画像に設定する(ステップS102)。
画像表示処理部82は、グラフィックコントローラ11に対して、ディスプレイi(i=1〜4)に対して設定された画像を表示させるように指示する。グラフィックコントローラ11は、ディスプレイiに表示する画像を拡大または縮小せずにそのまま表示する(ステップS103)。
(補正タイプ1で補正して表示する動作)
図10は、図6のステップS106の補正タイプ1で補正して表示する処理の手順を表わすフローチャートである。
図10を参照して、画像表示処理部82は、原画像データをVRAM12に書込む(ステップS401)。
画像表示処理部82は、VRAM12に格納された原画像の(X1,Y1)−(X2−WD,Y2−WD)の領域をディスプレイ1に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(1)から、ディスプレイ2と隣接する右端からWDの幅の辺縁部およびディスプレイ3と隣接する下端からWDの幅の辺縁部が削除された画像をディスプレイ1に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X2+WD,Y1)−(X2+WX,Y2−WD)の領域をディスプレイ2に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(2)から、ディスプレイ1と隣接する左端からWDの幅の辺縁部およびディスプレイ4と隣接する下端からWDの幅の辺縁部が削除された画像をディスプレイ2に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X1,Y2+WD)−(X2−WD,Y2+WY)の領域をディスプレイ3に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(3)から、ディスプレイ4と隣接する右端からWDの幅の辺縁部およびディスプレイ1と隣接する上端からWDの幅の辺縁部が削除された画像をディスプレイ3に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X2+WD,Y2+WD)−(X2+WX,Y2+WY)の領域をディスプレイ4に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(4)から、ディスプレイ3と隣接する左端からWDの幅の辺縁部およびディスプレイ2と隣接する上端からWDの幅の辺縁部が削除された画像をディスプレイ4に表示する画像に設定する(ステップS402)。
画像表示処理部82は、グラフィックコントローラ11に対して、ディスプレイi(i=1〜4)に対して設定された画像を表示させるように指示する。グラフィックコントローラ11は、ディスプレイiに表示する画像をディスプレイiのスクリーン全体に表示されるようにX方向にWX/(WX−WD)倍に拡大し、かつY方向にWY/(WY−WD)倍に拡大して表示する(ステップS403)。
(表示例)
図11(a)は、原画像の例を表わす図である。
図11(b)は、従来方式による補正によってマルチディスプレイに表示される画像の例を表わす図である。
従来の方式では、文字の有無に係らず、補正タイプ1で補正するので、文字が識別できなくなる。
図11(c)は、本発明の第1の実施形態でマルチディスプレイに表示される画像の例を表わす図である。
本発明の第1の実施形態では、原画像の中央に文字が含まれる場合には、補正なしで表示するので、文字を識別することができる。
[第2の実施形態]
第1の実施形態では、原画像の中央に文字が含まれる場合には、補正しないので読めなくなることはないが、1つ文字が複数のディスプレイに跨って表示されるので読みにくいという問題がある。第2の実施形態では、この問題を解決する。
(表示処理動作)
図12は、第2の実施形態の表示処理手順を表わすフローチャートである。
まず、文字認識部81は、原画像の文字認識処理を実施する(ステップS501)。
次に、文字認識部81は、原画像の文字認識処理によってRAM9に記録されたデータを読出す(ステップS502)。
次に、画像表示処理部82は、ステップS502で読み出されたデータを参照して、画像に文字が含まれていない場合には(ステップS503でNO)、補正タイプ1で画像を補正して表示する(ステップS504)。
一方、画像表示処理部82は、原画像に文字が含まれている場合には(ステップS503でYES)、RAM9に記録された文字の座標とサイズを参照して、原画像のY方向のセンターラインY2をまたいで文字が存在するかどうかを調べる。つまり、画像表示処理部82は、1つの文字を構成する画素がブロック画像BL(1)とブロック画像BL(3)の両方に含まれるか、またはブロック画像BL(2)とブロック画像BL(4)の両方に含まれるかどうかを調べる。
原画像のY方向のセンターラインY2をまたいで文字が存在する場合には(ステップS505でYES)、画像表示処理部82は、ずらし量AYを算出する(ステップS511)。さらに、画像表示処理部82は、原画像のX方向のセンターラインX2をまたいで文字が存在する場合、つまり、1つの文字を構成する画素がブロック画像BL(1)とブロック画像BL(2)の両方に含まれるか、またはブロック画像BL(3)とブロック画像BL(4)の両方に含まれる場合には(ステップS512でYES)、ずらし量AXを算出し(ステップS514)、原画像のX方向のセンターラインX2をまたいで文字が存在しない場合には(ステップS512でNO)、ずらし量AXを0に設定する(ステップS513)。
一方、原画像のY方向のセンターラインY2をまたいで文字が存在しない場合には(ステップS505でNO)、画像表示処理部82は、ずらし量AYを0に設定する(ステップS506)。さらに、画像表示処理部82は、原画像のX方向のセンターラインX2をまたいで文字が存在する場合には(ステップS507でYES)、ずらし量AXを算出し(ステップS509)、原画像のX方向のセンターラインX2をまたいで文字が存在しない場合には(ステップS507でNO)、ずらし量AXを0に設定する(ステップS508)。
画像表示処理部82は、ずらし量AX=0かつずらし量AY=0に設定されたときには(ステップS505でNO、かつステップS507でNO)、補正タイプ1で画像を補正して表示する(ステップS504)。
画像表示処理部82は、ずらし量AX=0かつずらし量AY=0に設定されなかったときには(ステップS505でYES、またはステップS507でYE2)、補正タイプ2で画像を補正して表示する(ステップS510)。
原画像に変更があった場合には(ステップS515でYES)、文字認識部81は、ステップS501に戻って処理を繰返す。
(補正タイプ2の補正の説明)
図13は、センターラインX2をまたいで文字が存在するときの文字の配置を説明するための図である。
文字領域の横幅をCDとする。センターラインX2から文字領域の左端までの長さをΔXLとする。センターラインX2から文字領域の右端までの長さをΔXRとする。
図14は、センターラインY2をまたいで文字が存在するときの文字の配置を説明するための図である。
文字領域の高さをCDとする。センターラインY2から文字領域の上端までの長さをΔYUとする。センターラインY2から文字領域の下端までの長さをΔYUとする。
図15(a)は、ΔXLがΔXRよりも小さい場合の、新分割ラインを説明するための図である。図15(a)に示すように、ΔXLがΔXRよりも小さいときには、ずらし量の絶対値が小さくなるように(つまり、分割ラインをずらす量を少なくするように)、ずらし量AX=−ΔXLとし、分割ラインがX2からX2+AXに移動する。これによって、文字領域の文字がディスプレイ1および/またはディスプレイ3に表示される。
図15(b)は、ΔXLがΔXR以上の場合の、新分割ラインを説明するための図である。図15(b)に示すように、ΔXLがΔXR以上のときには、ずらし量の絶対値が小さくなるように、ずらし量AY=ΔXRとし、分割ラインがX2からX2+AXに移動する。これによって、文字領域の文字がディスプレイ2および/またはディスプレイ4に表示される。
図16(a)は、ΔYUがΔYBよりも小さい場合の、新分割ラインを説明するための図である。図16(a)に示すように、ΔYUがΔYBよりも小さいときには、ずらし量の絶対値が小さくなるように、ずらし量AY=−ΔYUとし、分割ラインがY2からY2+AYに移動する。これによって、文字領域の文字がディスプレイ1および/またはディスプレイ2に表示される。
図16(b)は、ΔYUがΔYB以上の場合の、新分割ラインを説明するための図である。図16(b)に示すように、ΔYUがΔYB以上のときには、ずらし量の絶対値が小さくなるように、ずらし量AY=ΔYBとし、分割ラインがY2からY2+AYに移動する。これによって、文字領域の文字がディスプレイ3および/またはディスプレイ4に表示される。
図17は、補正タイプ2での原画像の分割を表わす図である。
図17は、ずらし量AXおよびずらし量AYが負の値のときの分割を表わしている。つまり、原画像の(X1,Y1)−(X2+AX,Y2+AY)がディスプレイ1に表示される。原画像の(X2+AX,Y1)−(X2+WX,Y2+AY)の領域がディスプレイ2に表示される。原画像の(X1,Y2+AY)−(X2+AX,Y2+WY)の領域がディスプレイ3に表示される。原画像の(X2+AX,Y2+AY)−(X2+WX,Y2+WY)の領域がディスプレイ4に表示される。
(ずらし量AXの算出動作)
図18は、ずらし量AXの算出処理手順を表わすフローチャートである。
まず、画像表示処理部82は、文字領域の行幅CDを決定する(ステップS801)。
次に、画像表示処理部82は、センターラインY2よりも上側の長さΔYUを特定する(ステップS802)。
次に、画像表示処理部82は、センターラインY2よりも下側の長さΔYBを特定する(ステップS803)。
画像表示処理部82は、ΔYUの値がΔYBの値以上の場合には(ステップS804でYES)、ずらし量AYの値をΔYBの値に設定する(ステップS805)。
一方、ΔYUの値がΔYBの値未満の場合には(ステップS804でNO)、ずらし量AYの値を−ΔYUの値に設定する(ステップS806)。
(ずらし量AYの算出動作)
図19は、ずらし量AYの算出処理の手順を表わすフローチャートである。
まず、画像表示処理部82は、文字領域の行幅CDを決定する(ステップS601)。
次に、画像表示処理部82は、センターラインX2よりも左側の長さΔXLを特定する(ステップS602)。
次に、画像表示処理部82は、センターラインX2よりも右側の長さΔXRを特定する(ステップS603)。
画像表示処理部82は、ΔXLの値がΔXRの値以上の場合には(ステップS604でYES)、ずらし量AXの値をΔXRの値に設定する(ステップS605)。
一方、ΔXLの値がΔXRの値未満の場合には(ステップS604でNO)、ずらし量AXの値を−ΔXLの値に設定する(ステップS606)。
(補正タイプ2で補正して表示する表示)
図20は、図12のステップS510の補正タイプ2で補正して表示する処理の手順を表わすフローチャートである。
図20を参照して、画像表示処理部82は、原画像データをVRAM12に書込む(ステップS701)。
画像表示処理部82は、VRAM12に格納された原画像の(X1,Y1)−(X2+AX,Y2+AY)の領域をディスプレイ1に表示する画像に設定する。AXが正の場合には、ブロック画像BL(1)に加えて、センターラインX2上に存在した文字のセンターラインX2よりも右側のAXだけの幅のブロック画像BL(2)の一部がディスプレイ1に表示する画像に含まれる。AXが負の場合には、ブロック画像BL(1)から、センターラインX2上に存在した文字のセンターラインX2よりも左側のAXだけの幅の部分を除外した画像がディスプレイ1に表示する画像に含まれる。
AYが正の場合には、ブロック画像BL(1)に加えて、センターラインY2上に存在した文字のセンターラインY2よりも下側のAYだけの幅のブロック画像BL(3)の一部がディスプレイ1に表示する画像に含まれる。AYが負の場合には、ブロック画像BL(1)から、センターラインY2上に存在した文字のセンターラインY2よりも上側のAYだけの幅の部分を除外した画像がディスプレイ1に表示する画像に含まれる。
画像表示処理部82は、VRAM12に格納された原画像の(X2+AX,Y1)−(X2+WX,Y2+AY)の領域をディスプレイ2に表示する画像に設定する。
AXが正の場合には、ブロック画像BL(2)から、センターラインX2上に存在した文字のセンターラインX2よりも右側のAXだけの幅の部分を除外した画像がディスプレイ2に表示する画像に含まれる。AXが負の場合には、ブロック画像BL(2)に加えて、センターラインX2上に存在した文字のセンターラインX2よりも左側のAXだけの幅のブロック画像BL(1)の一部がディスプレイ2に表示する画像に含まれる。
AYが正の場合には、ブロック画像BL(2)に加えて、センターラインY2上に存在した文字のセンターラインY2よりも下側のAYだけの幅のブロック画像BL(4)の一部がディスプレイ2に表示する画像に含まれる。AYが負の場合には、ブロック画像BL(2)から、センターラインY2上に存在した文字のセンターラインY2よりも上側のAYだけの幅の部分を除外した画像がディスプレイ2に表示する画像に含まれる。
画像表示処理部82は、VRAM12に格納された原画像の(X1,Y2+AY)−(X2+AX,Y2+WY)の領域をディスプレイ3に表示する画像に設定する。
AXが正の場合には、ブロック画像BL(3)に加えて、センターラインX2上に存在した文字のセンターラインX2よりも右側のAXだけの幅のブロック画像BL(4)の一部がディスプレイ3に表示する画像に含まれる。AXが負の場合には、ブロック画像BL(3)から、センターラインX2上に存在した文字のセンターラインX2よりも左側のAXだけの幅の部分を除外した画像がディスプレイ3に表示する画像に含まれる。
AYが正の場合には、ブロック画像BL(3)から、センターラインY2上に存在した文字のセンターラインY2よりも下側のAYだけの幅の部分を除外した画像がディスプレイ3に表示する画像に含まれる。AYが負の場合には、ブロック画像BL(3)に加えて、センターラインY2上に存在した文字のセンターラインY2よりも上側のAYだけの幅のブロック画像BL(1)の一部がディスプレイ3に表示する画像に含まれる。
画像表示処理部82は、VRAM12に格納された原画像の(X2+AX,Y2+AY)−(X2+WX,Y2+WY)の領域をディスプレイ4に表示する画像に設定する。
AXが正の場合には、ブロック画像BL(4)から、センターラインX2上に存在した文字のセンターラインX2よりも右側のAXだけの幅の部分を除外した画像がディスプレイ4に表示する画像に含まれる。AXが負の場合には、ブロック画像BL(4)に加えて、センターラインX2上に存在した文字のセンターラインX2よりも左側のAXだけの幅のブロック画像BL(3)の一部がディスプレイ4に表示する画像に含まれる。
AYが正の場合には、ブロック画像BL(4)から、センターラインY2上に存在した文字のセンターラインY2よりも下側のAYだけの幅の部分を除外した画像がディスプレイ4に表示する画像に含まれる。AYが負の場合には、ブロック画像BL(4)に加えて、センターラインY2上に存在した文字のセンターラインY2よりも上側のAYだけの幅のブロック画像BL(2)の一部がディスプレイ4に表示する画像に含まれる(ステップS702)。
画像表示処理部82は、グラフィックコントローラ11に対して、ディスプレイi(i=1〜4)に対して設定された画像を表示させるように指示する。グラフィックコントローラ11は、ディスプレイ1に表示する画像をディスプレイ1のスクリーン全体に表示されるようにX方向にWX/(WX+AX)倍に拡大または縮小し、かつY方向にWY/(WY+AY)倍に拡大または縮小して表示する。グラフィックコントローラ11は、ディスプレイ2に表示する画像をディスプレイ2のスクリーン全体に表示されるようにX方向にWX/(WX−AX)倍に拡大または縮小し、かつY方向にWY/(WY+AY)倍に拡大または縮小して表示する。グラフィックコントローラ11は、ディスプレイ3に表示する画像をディスプレイ3のスクリーン全体に表示されるようにX方向にWX/(WX+AX)倍に拡大または縮小し、かつY方向にWY/(WY−AY)倍に拡大または縮小して表示する。グラフィックコントローラ11は、ディスプレイ4に表示する画像をディスプレイ4のスクリーン全体に表示されるようにX方向にWX/(WX−AX)倍に拡大または縮小し、かつY方向にWY/(WY−AY)倍に拡大または縮小して表示する(ステップS703)。
(表示例)
図21(a)は、原画像の例を表わす図である。
図21(b)は、本発明の第2の実施形態でマルチディスプレイに表示される画像の例を表わす図である。
本発明の実施形態では、原画像の中央に文字が含まれる場合には、1つ文字をいずれか1つのディスプレイで表示するので、文字を完璧に識別することができる。
[第3の実施形態]
本発明の実施形態では、原画像が複数のレイヤで構成される場合について説明する。
図22は、原画像が複数のレイヤで構成される例を表わす図である。
図22に示すように、原画像がテキストレイヤと、複数の画像レイヤ(画像レイヤ1、画像レイヤ2、画像レイヤ3、背景レイヤ)で構成される。
図23は、レイヤごとにデータが格納されている例を示す図である。
図23に示すように、各レイヤのデータと、座標と、表示優先順位が定められている。
図23の例では、表示優先順序は、高い方からテキストレイヤ、画像レイヤ1、画像レイヤ2、画像レイヤ2、背景レイヤの順に設定されている。
(表示処理動作)
図24は、第3の実施形態の表示処理手順を表わすフローチャートである。
図24を参照して、まず、画像表示処理部82は、背景レイヤ、画像レイヤ3、画像レイヤ2、画像レイヤ1の順にデータをVRAM12に書込む(ステップS901)。
次に、画像表示処理部82は、テキストレイヤが存在する場合には(ステップS902でYES)、さらに、テキストレイヤが原画像のX方向のセンターラインX2をまたいでいるかどうかを調べる。すなわち、画像表示処理部82は、テキストレイヤを構成する画素がブロック画像BL(1)とブロック画像BL(2)の両方に含まれるか、またはブロック画像BL(3)とブロック画像BL(4)の両方に含まれるかどうかを調べる。
画像表示処理部82は、テキストレイヤが原画像のX方向のセンターラインX2をまたいでいる場合には(ステップS903でYES)、図25に示すように、テキストレイヤの左端の原画像の左端からの距離TX、テキストレイヤの上端の原画像の上端からの距離TY、テキストレイヤの横幅TWX、テキストレイヤの高さTWYを特定する(ステップS904)。
次に、画像表示処理部82は、図26に示すように、テキストレイヤをX方向のセンターラインX2で分割することによって、テキストレイヤ1とテキストレイヤ2を生成する。
画像表示処理部82は、テキストレイヤ1の始点を(X1+TX,Y1+TY)、サイズを(WX−TX)×TWYに設定する(ステップS905)。
次に、画像表示処理部82は、テキストレイヤ2の始点を(X2,Y1+TY)、サイズを(TWX+TX−WX)×TWYに設定する(ステップS906)。
次に、画像表示処理部82は、テキストレイヤ1が後述のステップS917およびS918の補正タイプ1の補正処理で見えなくならないように、つまり、テキストレイヤ1がブロック画像BL(1)のディスプレイ2に隣接する右端から幅WDだけの辺縁部、またはブロック画像BL(3)のディスプレイ4に隣接する右端から幅WDだけの辺縁部に含まれないように、テキストレイヤ1の始点を左にWDだけずらす(ステップS907)。
次に、画像表示処理部82は、テキストレイヤ2が後述のステップS917およびS918の補正タイプ1の補正処理で見えなくならないように、つまり、テキストレイヤ2がブロック画像BL(2)のディスプレイ1に隣接する左端から幅WDだけの辺縁部、またはブロック画像BL(4)のディスプレイ3に隣接する左端から幅WDだけの辺縁部に含まれないように、テキストレイヤ2の始点を右にWDだけずらす(ステップS908)。
次に、画像表示処理部82は、テキストレイヤ1およびテキストレイヤ2のデータをVRAM12に書込む(ステップS909)。
また、画像表示処理部82は、テキストレイヤが原画像のY方向のセンターラインY2をまたいでいるかどうかを調べる。すなわち、画像表示処理部82は、テキストレイヤを構成する画素がブロック画像BL(1)とブロック画像BL(3)の両方に含まれるか、またはブロック画像BL(2)とブロック画像BL(4)の両方に含まれるかどうかを調べる。
画像表示処理部82は、テキストレイヤが原画像のY方向のセンターラインY2をまたいでいる場合には(ステップS910でYES)、テキストレイヤの左端の原画像の左端からの距離TX、テキストレイヤの上端の原画像の上端からの距離TY、テキストレイヤの横幅TWX、テキストレイヤの高さTWYを特定する(ステップS911)。
次に、画像表示処理部82は、テキストレイヤをY方向のセンターラインY2で分割することによって、テキストレイヤ1とテキストレイヤ2を生成する。
次に、画像表示処理部82は、テキストレイヤの始点を(X1+TX,Y1+TY)、サイズをTWX×(WY−TY)に設定する(ステップS912)。
次に、画像表示処理部82は、テキストレイヤの始点を(X1+TX,Y2)、サイズをTWX×(TWY+TY−WY)に設定する(ステップS913)。
次に、画像表示処理部82は、テキストレイヤ1が後述のステップS917およびS918の補正タイプ1の補正処理で見えなくならないように、つまり、テキストレイヤ1がブロック画像BL(1)のディスプレイ3に隣接する下端から幅WDだけの辺縁部、またはブロック画像BL(2)のディスプレイ4に隣接する下端から幅WDだけの辺縁部に含まれないように、テキストレイヤ1の始点を上にWDだけずらす(ステップS914)。
次に、画像表示処理部82は、テキストレイヤ2が後述のステップS917およびS918の補正タイプ1の補正処理で見えなくならないように、つまり、テキストレイヤ2がブロック画像BL(3)のディスプレイ1に隣接する上端から幅WDだけの辺縁部、またはブロック画像BL(4)のディスプレイ2に隣接する上端から幅WDだけの辺縁部に含まれないように、テキストレイヤ2の始点を下にWDだけずらす(ステップS915)。
次に、画像表示処理部82は、テキスト1レイヤおよびテキストレイヤ2のデータをVRAM12に書込む(ステップS909)。
画像表示処理部82は、テキストレイヤが原画像のX方向のセンターラインX2にも、Y方向のセンターラインY2にもまたがっていない場合には(ステップS903でNO、ステップS910でNO)、テキストレイヤのデータをそのままVRAM12に書込む(ステップS916)。
次に、画像表示処理部82は、テキストレイヤが存在しない場合(ステップS902でNO)、または、テキストレイヤが存在し(ステップS902でYES)、かつ分割されたテキストレイヤ1およびテキストレイヤ2のデータがVRAM12に書き込まれたり(ステップS909)、テキストレイヤのデータがVRAM12に書込まれた(ステップS916)後に、以下のステップS917およびS918(ステップS402とS403と同様の処理)によって、補正タイプ1での補正処理を行って、表示する。
画像表示処理部82は、VRAM12に格納された原画像の(X1,Y1)−(X2−WD,Y2−WD)の領域をディスプレイ1に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(1)から、ディスプレイ2と隣接する右端からWDの幅の辺縁部およびディスプレイ3と隣接する下端からWDの幅の辺縁部が削除された画像をディスプレイ1に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X2+WD,Y1)−(X2+WX,Y2−WD)の領域をディスプレイ2に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(2)から、ディスプレイ1と隣接する左端からWDの幅の辺縁部およびディスプレイ4と隣接する下端からWDの幅の辺縁部が削除された画像をディスプレイ2に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X1,Y2+WD)−(X2−WD,Y2+WY)の領域をディスプレイ3に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(3)から、ディスプレイ4と隣接する右端からWDの幅の辺縁部およびディスプレイ1と隣接する上端からWDの幅の辺縁部が削除された画像をディスプレイ3に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X2+WD,Y2+WD)−(X2+WX,Y2+WY)の領域をディスプレイ4に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(4)から、ディスプレイ3と隣接する左端からWDの幅の辺縁部およびディスプレイ2と隣接する上端からWDの幅の辺縁部が削除された画像をディスプレイ4に表示する画像に設定する(ステップS917)。
画像表示処理部82は、グラフィックコントローラ11に対して、ディスプレイi(i=1〜4)に対して設定された画像を表示させるように指示する。グラフィックコントローラ11は、ディスプレイiに表示する画像をディスプレイiのスクリーン全体に表示されるようにX方向にWX/(WX−WD)倍に拡大し、かつY方向にWY/(WY−WD)倍に拡大して表示する(ステップS918)。
(表示例)
図27(a)は、補正なしで表示した画面の例を表わす図である。
図27(a)に示すように、補正しないと、ディスプレイの境界付近での画像が不自然となる。
図27(b)は、補正タイプ1で補正した表示した画面の例を表わす図である。
図27(b)に示すように、補正タイプ1による補正によって、ディスプレイの境界付近での画像の不自然さは解消されるが、ディスプレイの境界付近の文字が識別できなくなる。
図27(c)は、第3の実施形態による方式で表示した画面の例を表わす図である。
図27(c)では、テキストレイヤを中央で分割し、かつ辺縁部に含まれない位置に移動した上で、画像を補正タイプ1で補正している。
図27(c)では、ディスプレイの境界付近での画像の不自然さは解消されるとともに、ディスプレイの境界付近の文字が識別することができる。
[第4の実施形態]
第3の実施形態では、ディスプレイの境界付近の文字を識別することができるものの、読みにくいという問題がある。第4の実施形態では、この問題を解決する。
(表示処理動作)
図28は、第4の実施形態の表示処理手順を表わすフローチャートである。
図28を参照して、まず、画像表示処理部82は、背景レイヤ、画像レイヤ3、画像レイヤ2、画像レイヤ1の順にデータをVRAM12に書込む(ステップS1001)。
次に、画像表示処理部82は、テキストレイヤが存在する場合には(ステップS1002でYES)、さらに、テキストレイヤが原画像のX方向のセンターラインX2をまたいでいるかどうかを調べる。すなわち、画像表示処理部82は、テキストレイヤを構成する画素がブロック画像BL(1)とブロック画像BL(2)の両方に含まれるか、またはブロック画像BL(3)とブロック画像BL(4)の両方に含まれるかどうかを調べる。
画像表示処理部82は、テキストレイヤが原画像のX方向のセンターラインX2にまたがっている場合には(ステップS1003でYES)、図24に示すように、テキストレイヤの左端の原画像の左端からの距離TX、テキストレイヤの上端の原画像の上端からの距離TY、テキストレイヤの横幅TWX、テキストレイヤの高さTWYを特定する(ステップS1004)。
次に、画像表示処理部82は、図29に示すように、テキストレイヤをX方向のセンターラインX2からBXだけ離れた分割ライン(X2+BX)で分割することによって、テキストレイヤ1とテキストレイヤ2を生成する。BXが正のときには、センターラインX2から右に分割ラインが設定され、BXが負のときには、センターラインX2から左に分割ラインが設定される。BXは、テキストレイヤに含まれる文字が分割ラインで分断されず、かつ分割ラインがセンターラインX2にできるだけ近くなるという条件を満たす値である。たとえば、テキストレイヤに含まれる文字がセンターラインX2よりも左側に4画素、センターラインX2よりも右側に6画素の計10画素の幅で構成される場合には、BXは−4となる。また、テキストレイヤに含まれる文字がセンターラインX2よりも左側に6画素、センターラインX2よりも右側に4画素の計10画素の幅で構成される場合には、BXは+4となる。
次に、画像表示処理部82は、テキストレイヤ1の始点を(X1+TX,Y1+TY)、サイズを(WX−TX+BX)×TWYに設定する(ステップS1005)。
次に、画像表示処理部82は、テキストレイヤ2の始点を(X2+BX,Y1+TY)、サイズを(TWX+TX−WX−BX)×TWYに設定する(ステップS1006)。
次に、画像表示処理部82は、テキストレイヤ1が後述のステップS1017およびS1018の補正タイプ1の補正処理で見えなくならないように、つまり、テキストレイヤ1がブロック画像BL(1)のディスプレイ2に隣接する右端から幅WDだけの辺縁部、またはブロック画像BL(3)のディスプレイ4に隣接する右端から幅WDだけの辺縁部に含まれないように、テキストレイヤ1の始点を左にWD+BXだけずらす(ステップS1007)。
次に、画像表示処理部82は、テキストレイヤ2が後述のステップS1017およびS1018の補正タイプ1の補正処理で見えなくならないように、つまり、テキストレイヤ2がブロック画像BL(2)のディスプレイ1に隣接する左端から幅WDだけの辺縁部、またはブロック画像BL(4)のディスプレイ3に隣接する左端から幅WDだけの辺縁部に含まれないように、テキストレイヤ2の始点を右にWD−BXだけずらす(ステップS1008)。
次に、画像表示処理部82は、テキストレイヤ1およびテキストレイヤ2のデータをVRAM12に書込む(ステップS1009)。
また、画像表示処理部82は、テキストレイヤが原画像のY方向のセンターラインY2にまたがっているかどうかを調べる。すなわち、画像表示処理部82は、テキストレイヤを構成する画素がブロック画像BL(1)とブロック画像BL(3)の両方に含まれるか、またはブロック画像BL(2)とブロック画像BL(4)の両方に含まれるかどうかを調べる。
画像表示処理部82は、テキストレイヤが原画像のY方向のセンターラインY2にまたがっている場合には(ステップS1010でYES)、テキストレイヤの左端の原画像の左端からの距離TX、テキストレイヤの上端の原画像の上端からの距離TY、テキストレイヤの横幅TWX、テキストレイヤの高さTWYを特定する(ステップS1011)。
次に、画像表示処理部82は、テキストレイヤをY方向のセンターラインY2からBYだけ離れた分割ライン(Y2+BY)で分割することによって、テキストレイヤ1とテキストレイヤ2を生成する。BYが正のときには、センターラインY2から下に分割ラインが設定され、BYが負のときには、センターラインY2から上に分割ラインが設定される。BYは、テキストレイヤに含まれる文字が分割ラインで分断されず、かつ分割ラインがセンターラインY2にできるだけ近くなるという条件を満たす値である。たとえば、テキストレイヤに含まれる文字がセンターラインY2よりも上側に4画素、センターラインY2よりも下側に6画素の計10画素の幅で構成される場合には、BYは−4となる。また、テキストレイヤに含まれる文字がセンターラインY2よりも上側に6画素、センターラインY2よりも下側に4画素の計10画素の幅で構成される場合には、BYは+4となる。
画像表示処理部82は、テキストレイヤの始点を(X1+TX,Y1+TY)、サイズをTWX×(WY−TY+BY)に設定する(ステップS1012)。
次に、画像表示処理部82は、テキストレイヤの始点を(X1+TX,Y2+BY)、サイズをTWX×(TWY+TY−WY−BY)に設定する(ステップS1013)。
次に、画像表示処理部82は、テキストレイヤ1が後述のステップS1017およびS1018の補正タイプ1の補正処理で見えなくならないように、つまり、テキストレイヤ1がブロック画像BL(1)のディスプレイ3に隣接する下端から幅WDだけの辺縁部、またはブロック画像BL(2)のディスプレイ4に隣接する下端から幅WDだけの辺縁部に含まれないように、テキストレイヤ1の始点を上にWD+BYだけずらす(ステップS1014)。
次に、画像表示処理部82は、テキストレイヤ2が後述のステップS1017およびS1018の補正タイプ1の補正処理で見えなくならないように、つまり、テキストレイヤ2がブロック画像BL(3)のディスプレイ1に隣接する上端から幅WDだけの辺縁部、またはブロック画像BL(4)のディスプレイ2に隣接する上端から幅WDだけの辺縁部に含まれないように、テキストレイヤ2の始点を下にWD−BYだけずらす(ステップS1015)。
次に、画像表示処理部82は、テキスト1レイヤおよびテキストレイヤ2のデータをVRAM12に書込む(ステップS1009)。
画像表示処理部82は、テキストレイヤが原画像のX方向のセンターラインX2にも、Y方向のセンターラインY2にもまたがっていない場合には(ステップS1003でNO、ステップS1010でNO)、テキストレイヤのデータをそのままVRAM12に書込む(ステップS1016)。
次に、画像表示処理部82は、テキストレイヤが存在しない場合(ステップS1002でNO)、または、テキストレイヤが存在し(ステップS1002でYES)、かつ分割されたテキストレイヤ1およびテキストレイヤ2のデータがVRAM12に書き込まれたり(ステップS1009)、テキストレイヤのデータがVRAM12に書込まれた(ステップS1016)後に、以下のステップS1017およびS1018(ステップS402とS403と同様の処理)によって、補正タイプ1での補正処理を行って、表示する。
画像表示処理部82は、VRAM12に格納された原画像の(X1,Y1)−(X2−WD,Y2−WD)の領域をディスプレイ1に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(1)から、ディスプレイ2と隣接する右端からWDの幅の辺縁部およびディスプレイ3と隣接する下端からWDの幅の辺縁部が削除された画像をディスプレイ1に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X2+WD,Y1)−(X2+WX,Y2−WD)の領域をディスプレイ2に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(2)から、ディスプレイ1と隣接する左端からWDの幅の辺縁部およびディスプレイ4と隣接する下端からWDの幅の辺縁部が削除された画像をディスプレイ2に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X1,Y2+WD)−(X2−WD,Y2+WY)の領域をディスプレイ3に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(3)から、ディスプレイ4と隣接する右端からWDの幅の辺縁部およびディスプレイ1と隣接する上端からWDの幅の辺縁部が削除された画像をディスプレイ3に表示する画像に設定する。
また、画像表示処理部82は、VRAM12に格納された原画像の(X2+WD,Y2+WD)−(X2+WX,Y2+WY)の領域をディスプレイ4に表示する画像に設定する。すなわち、画像表示処理部82は、ブロック画像BL(4)から、ディスプレイ3と隣接する左端からWDの幅の辺縁部およびディスプレイ2と隣接する上端からWDの幅の辺縁部が削除された画像をディスプレイ4に表示する画像に設定する(ステップS1017)。
画像表示処理部82は、グラフィックコントローラ11に対して、ディスプレイi(i=1〜4)に対して設定された画像を表示させるように指示する。グラフィックコントローラ11は、ディスプレイiに表示する画像をディスプレイiのスクリーン全体に表示されるようにX方向にWX/(WX−WD)倍に拡大し、かつY方向にWY/(WY−WD)倍に拡大して表示する(ステップS1018)。
(表示例)
図30は、第4の実施形態による方式で表示した画面の例を表わす図である。
図30では、テキストレイヤを文字が分断されないラインで分割し、かつ辺縁部に含まれない位置に移動した上で、画像を補正タイプ1で補正している。
図30では、ディスプレイの境界付近での画像の不自然さは解消されるとともに、ディスプレイの境界付近の文字がはっきりと識別することができる。
本発明は、上記の実施形態に限定されるものではなく、たとえば以下のような変形例も含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。