本発明は、画像情報を表示する画像情報表示装置であって、特に、カスケード接続された画像表示装置において画像情報のデータ量を削減するものに関する。
以下において、従来の画像表示装置について説明する。
1.DPVL
従来、パーソナル・コンピュータからLCDやCRT等の画像表示装置へのビデオ信号は、VGAケーブルを介して、アナログ伝送されていた。アナログ伝送には、伝送の際に波形の歪みが生じるため、画像表示装置の表示画面に、にじみやゴーストが発生しやすいという問題があった。
このようなアナログ伝送の問題の解決策の一つとしてDVI(Digital Visual Interface)が定義された。DVIは、LCDやCRT等の画像表示装置へのビデオ信号をデジタル伝送するための規格である。DVI対応のビデオ・カード、ケーブル、モニタがあれば、高品質の画像表示を簡単に手に入れることができる。
DVIにおいては、ビデオ信号の伝送はアナログ伝送からデジタル伝送になったが、ビデオ信号のフレーム・レートは、従来と同様の60Hzで伝送するラスタ転送方式であった。そのため、DVIにおいては、昨今の超高解像度のモニタに対して表示を行う際に、既存のDVIによる画像出力では伝送帯域をオーバーしてしまう問題がある。
このようなDVIの問題の解決策の一つとしてDPVL(Digital Packet Video Link)が定義された。DPVL(Digital Packet Video Link)とは、従来のように全画面の画像データをフレームレート60Hzで伝送するラスタ転送方式ではなく、パーソナル・コンピュータ(ホスト)側のグラフィックカード(及びドライバ)で更新の必要のある矩形領域とその位置情報をパケット化して送信し、モニタ側ではそのパケットを受信して画面の該当部分のみを更新するものである。つまり、DPVLは、ホスト側がラスタ転送を行うのではなく、パケットを送信し、モニタ側が、受信したパケットを処理することによって、伝送帯域の削減を実現するものである。
このようなDPVLを利用した画像表示装置としては、特開2002−278526に開示されている画像表示システムがある。この画像表示システムを、図37に基づき説明する。画像表示システムは、PC等からなるホスト側(送信側)として画像データの送信装置と、画像表示装置である受信側モニタとを備え、この送信装置と受信側モニタとは、DVI(Digital Visual Interface)ケーブル等のデジタルモニタケーブルである既存のモニタケーブルによって接続されている。送信装置は、変化した領域を抽出する機能と、変化した領域に該当する部分のデータと画像制御情報を含むヘッダ情報を送信する機能とを備えている。 受信側モニタは、例えば、QUXGA等の大型高精細パネルであるパネルと、送信装置からモニタケーブルを介して画像データを受信するパケット受信装置を備えている。
送信装置が、受信側モニタへ送信するパケットデータの生成方法を図37に基づき説明する。図37(a)に示すように、送信装置のグラフィックスカードにおけるフレームメモリは、表示エリア113-1と、非表示エリア113-2とを備えている。この表示エリア113-1には、描画により変更された領域を含む矩形が描かれる。また、非表示エリア113-2には、ヘッダ情報が書き込まれる。送信装置は、変化領域部分のフレームメモリをスキャンし、1ライン前の部分にヘッダを挿入した図37(c)に示すような送信パケットを生成し、受信側モニタへ送信する。
特開2002−2785262.マルチ・モニタ 前述のDPVLは、マルチ・モニタ環境への対応が可能である。DPVLによるマルチ・モニタシステム100を図38に示す。マルチ・モニタシステム100は、ホスト・コンピュータ101、モニタ103、105、107を有している。ホスト・コンピュータ101とモニタ103、105、107とは、DPVLに対応したパケット(以下、DPVLパケットとする。)を送信するためのDVIに対応したデジタル・ケーブル117(以下、DVIケーブル117とする。)を介して接続されている。また、モニタ103、105、107は、この順番でDVIケーブル117を用いてカスケード接続されている。
ホスト・コンピュータ101は、モニタ103に対してDPVLパケットをDVIケーブル117を介して送信する。モニタ103は、受信したDPVLパケットに基づき、自らの画面上で変更のあった領域を更新する。また、モニタ103は、ホスト・コンピュータ101から受信したDPVLパケットを、そのままモニタ105へ送信する。モニタ105も、受信したDPVLパケットに基づき、自らの画面上で変更のあった領域を更新する。以下、モニタ107についても、モニタ103、105と同様である。
従来のマルチ・モニタシステム100には、次のような問題点がある。マルチ・モニタシステム100を構成するモニタ103等は、ホスト・コンピュータ101から受信したDPVLパケットをそのまま次のモニタへ送信する。したがって、ホスト・コンピュータ101−モニタ103間、及び各モニタ間のDVIケーブル117には、同一のデータ量が流れることになる。したがって、ホスト・コンピュータ101−モニタ103間と各モニタ間とのデータ伝送量が異なり、各モニタ間のデータ伝送量がホスト・コンピュータ101−モニタ103間のデータ伝送量より小さい場合、例えば、ホスト・コンピュータ101−モニタ103間はDVIケーブル117によって接続されているが、各モニタ間は無線によって接続されている場合では、DPVL規格を用いたとしてもマルチ・モニタシステム環境を構築できない、という問題がある。
そこで、本発明は、後段に接続されている画像表示装置に送信するデータ量を削減することができる画像表示装置の提供を目的とする。
本発明に関する課題を解決するための手段および発明の効果を以下に示す。
本発明に係る画像表示装置は、部分画像表示領域の全体画像表示領域に対する位置関係を示す部分位置情報を保持し、画像情報及び当該画像情報が表示する画像表示領域の全体画像表示領域に対する位置関係を示す画像位置情報を有する画像表示情報を獲得画像表示情報として獲得し、獲得画像表示情報の画像位置情報及び位置情報保持手段が保持する部分位置情報に基づき、獲得画像表示情報における画像情報が表示する画像表示領域の部分画像表示領域に対する位置関係を判断する。
これにより、画像表示装置は、獲得画像表示情報が自らの部分画像表示領域に関係するものであるか否かを判断することができる。したがって、自らの部分画像表示領域に関係しない獲得画像表示情報については他の画像表示装置へ出力する等、画像表示領域と部分画像表示領域との関係に基づいた処理の選択を行うことができる。
本発明に係る画像表示装置は、画像表示領域の部分画像表示領域に対する位置関係の判断に基づき、獲得画像表示情報の画像情報から、部分画像表示領域に対応する画像情報以外の画像情報を出力画像情報として抽出し、画像表示領域の部分画像表示領域に対する位置関係の判断に基づき、抽出した出力画像情報が表示する出力画像表示領域の全体画像表示領域に対する位置関係を示す出力画像位置情報を生成し、抽出した出力画像情報及び生成した出力画像位置情報に基づき、画像表示情報を生成する。
これにより、画像表示装置は、自らの部分画像表示領域に関係しない出力画像情報についてのみ出力することができる。したがって、出力する画像表示情報のデータ量を削減することができる。
本発明に係る画像表示装置では、部分位置情報は、部分画像表示領域の大きさ及び部分画像表示領域の全体画像表示領域に対する位置に関する情報を含み、画像位置情報は、画像表示領域の大きさ及び画像表示領域の全体画像表示領域に対する位置に関する情報を含み、出力画像位置情報は、出力画像表示領域の大きさ及び出力画像表示領域の全体画像表示領域に対する位置に関する情報を含む。
これにより、部分画像表示領域、画像表示領域、及び出力画像表示領域の位置関係を、全体画像表示領域を基準として判断することができる。したがって、位置の基準に基づいた統一的な判断を容易に行うことができる。
本発明に係る画像表示装置では、画像表示領域は、矩形である。これにより、画像表示領域の一の端点の位置、及び矩形の縦方向及び横方向の大きさを与えるだけで、画像表示装置の位置を特定することができる。したがって、特別なデータを用いることなく、容易に画像表示領域の位置を特定することができる。
本発明に係る画像表示装置では、一の画像表示装置が表示する部分画像表示領域と、他の一の画像表示装置が表示する部分画像表示領域とが重複しない。
これにより、部分画像表示領域の一の端点の位置、及び矩形の縦方向及び横方向の大きさを与えるだけで、部分画像表示領域間の位置関係を気にすることなく、部分画像表示領域の位置を特定することができる。したがって、容易に部分画像表示領域の位置を特定することができる。また、一の画像表示装置が表示した画像表示情報は他の画像表示装置で用いられることはないので、容易に出力する画像表示情報のデータ量を削減することができる。
本発明に係る画像表示装置では、一の画像表示装置が表示する部分画像表示領域と、他の一の画像表示装置が表示する部分画像表示領域とが重複する重複画像表示領域が存在し、部分位置情報は、さらに、重複画像表示領域の全体画像表示領域に対する位置関係を含む。
これにより、部分画像表示領域が重複する場合であっても、部分画像表示領域の位置を容易に特定することができる。また、一の画像表示装置が表示した画像表示情報で他の画像表示装置で用いられる部分を特定でき、出力する画像表示情報のデータ量を削減することができる。
本発明に係る画像表示装置は、画像情報及び当該画像情報が表示する画像表示領域の全体画像表示領域に対する位置関係を示す画像位置情報を有する画像表示情報を獲得画像表示情報として獲得し、獲得画像表示情報の画像情報を所定の単位毎に分割した分割画像情報を生成し、生成した分割画像情報に基づいて、分割画像情報毎に当該分割画像情報に固有する固有値を算出し、獲得画像表示情報の画像位置情報と当該獲得画像表示情報に対応する固有値とを関連付けて位置・固有値保持手段に記憶し、獲得画像表示情報における分割画像情報の固有値と位置・固有値保持手段が保持する固有値とを比較し、獲得画像表示情報における分割画像情報の固有値と位置・固有値保持手段が保持する固有値とは異なると判断した場合、獲得画像表示情報に対する分割画像情報の固有値に対応する分割画像情報を変動画像情報として抽出し、変動画像情報が表示する画像表示領域の全体画像表示領域に対する位置関係を示す変動位置情報を生成し、変動画像情報及び変動位置情報に基づき、画像表示情報を生成する。
これにより、前回に獲得した獲得画像表示情報と今回に獲得した獲得画像表示情報との間で画像情報の内容が異なっている部分に関してのみ、画像情報を出力することができる。したがって、出力する画像表示情報のデータ量を削減することができる。
本発明に係る画像表示装置では、獲得画像表示情報の画像位置情報及び分割画像情報に基づき、当該分割画像情報の分割画像位置情報を生成し、生成した分割画像位置情報及び分割画像情報とに基づいて、分割画像情報毎に当該分割画像情報に固有する固有値を算出する。
これにより、簡単に前回に獲得した獲得画像表示情報と今回に獲得した獲得画像表示情報との間で画像情報の内容が異なっているか否かの判断を行うことができる。
本発明に係る画像表示装置では、生成した分割画像情報のみに基づいて、分割画像情報毎に当該分割画像情報に固有する固有値を算出する。これにより、固有値を算出する前に分割画像位置情報を生成する必要がない。したがって、容易にかつ効率的に固有値を算出することができる。
本発明に係る画像表示装置は、今回獲得した獲得画像表示情報の画像位置情報と、位置・固有値保持手段が保持している画像位置情報とに基づき、今回獲得した獲得画像表示情報の画像表示領域と位置・固有値保持手段が保持している画像位置情報に対する画像表示領域とが同一であるか否かを判断し、今回獲得した獲得画像表示情報の画像表示領域と、位置・固有値保持手段が保持している画像位置情報に対する画像表示領域とが同一でないと判断した場合に、変動画像情報を抽出する処理を行わないようにする。
これにより、画像表示領域が異なる場合には、固有値の算出や変動画像情報の生成を行わないようにすることができる。したがって、以降の処理を行わないので、省電力化が可能となる。
本発明に係る画像表示装置では、獲得画像表示情報の画像情報から、位置・固有値保持手段が保持する固有値とが同一であると判断した場合、変動画像情報を抽出する処理を行わないようにする。これにより、必要のない処理を省略することができるので、省電力化を図ることができる。
本発明に係る画像表示装置では、固有値は、当該固有値に係る分割画像情報のハッシュ値である。これにより、固有値を簡単に求めることができる。
本発明に係る画像表示装置では、順次、分割画像情報に対応する判断を受け取り、最初に、獲得画像表示情報における分割画像情報の固有値と位置・固有値保持手段が保持する固有値とが異なるとの判断を受信すると、当該判断に対応する分割画像情報及び当該判断以降に判断の取得が予定されている分割画像情報に基づいて、変動画像情報を生成する。これにより、全ての分割画像情報を保持できない場合でも、データ量を削減することができる。
本発明に係る画像表示装置は、画像情報及び当該画像情報が表示する画像表示領域の全体画像表示領域に対する位置関係を示す画像位置情報を有する画像表示情報を獲得画像表示情報として獲得し、獲得画像表示情報を画像表示情報保持手段に記憶し、今回獲得した獲得画像表示情報の画像位置情報と、画像表示情報保持手段が保持している画像表示情報の画像位置情報とに基づき、今回獲得した獲得画像表示情報の画像表示領域が、画像表示情報保持手段が保持している画像表示情報の画像表示領域に含まれるか否かを判断し、今回獲得した獲得画像表示情報の画像表示領域が、画像表示情報保持手段が保持している画像表示情報の画像表示領域に含まれると判断した場合に、画像表示情報保持手段が保持している画像表示情報から今回獲得した獲得画像表示情報の画像表示領域に対応する画像表示情報を対応画像表示情報として抽出し、獲得画像表示情報の画像情報と対応画像表示情報の画像情報とを比較し、獲得画像表示情報の画像情報から、対応画像表示情報の画像情報と異なる画像情報を変動画像情報として抽出し、変動画像情報が表示する画像表示領域の全体画像表示領域に対する位置関係を示す変動位置情報を生成し、変動画像情報及び変動位置情報に基づき、画像表示情報を生成する。
これにより、前回に獲得した獲得画像表示情報が今回獲得した獲得画像表示情報を含んでいれば、今回に獲得した獲得画像表示情報と対応する前回に獲得した画像表示情報との間で画像情報の内容が異なっている部分に関してのみ、画像情報を出力することができる。したがって、出力する画像表示情報のデータ量を削減することができる。
「位置関係」とは、ある領域の位置を他の領域の位置に対して一意に決定する関係をいう。実施例においては、例えば、モニタスクリーンR5を仮想スクリーンR1に対して、モニタスクリーンR5の左上の端点の位置(MXORG、MYORG)及びその大きさ(MXWID、MYWID)で一意に決定している。
ここで、請求項に記載されている構成要素と実施例における構成要素との対応関係を示す。画像表示装置はモニタ5、25、35、45、55に対応する。部分位置情報保持手段はHIDテーブルに、画像表示情報獲得手段は入力ポート507aに、位置関係判断手段はパケット解析回路507c及びヘッダ解析回路507dに、出力画像情報生成手段はパケット再構築回路507gに、出力画像位置情報生成手段はパケット再構築回路507gに、画像表示情報生成手段はパケット再構築回路507gに、それぞれ対応する。
出力画像情報生成手段はS1701〜S1707、S1711〜S1713の処理を、出力画像位置情報生成手段はS1709、S1715の処理を、画像表示情報生成手段はS1709、S1715、S1719の処理を、それぞれ行う。
また、画像表示情報獲得手段はS3501の処理を、位置関係判断手段はS3503、S3505の処理を、出力画像情報生成手段はS3507の処理を、出力画像位置情報生成手段はS3509の処理を、画像表示情報生成手段はS3511の処理を、それぞれ実行する。
画像表示情報獲得手段は入力ポート507aに、固有値算出手段はデータ分離回路251及びハッシュ値生成回路253に、位置・固有値記憶手段はハッシュ・キャッシュ507iに、領域判断手段はパケット再構築回路507g’に、固有値比較手段はハッシュ値比較回路255に、変動画像情報抽出手段はパケット再構築回路507g’に、変動位置情報生成手段はパケット再構築回路507g’に、画像表示情報生成手段はパケット再構築回路507g’に、それぞれ対応する。
画像表示情報獲得手段はS2601、S3301、S3305の処理を、固有値算出手段はS2603、S2605、S2701〜S2705、S3303、S3309〜S3311の処理を、位置・固有値記憶手段はS2803、S2807の処理を、領域判断手段はS3001、S3003の処理を、固有値比較手段はS2803の処理を、変動画像情報抽出手段はS2805、S3005〜S3011の処理を、変動位置情報生成手段はS3013の処理を、画像表示情報生成手段はS3013の処理を、それぞれ行う。
また、画像表示情報獲得手段はS3601の処理を、固有値算出手段はS3603、S3605の処理を、位置・固有値記憶手段はS3613の処理を、領域判断手段はS3609の処理を、固有値比較手段はS3607の処理を、変動画像情報抽出手段はS3611の処理を、変動位置情報生成手段はS3615の処理を、画像表示情報生成手段はS3617の処理を、それぞれ行う。
全体画像表示領域は仮想スクリーンR1に、部分画像表示領域はモニタスクリーンR5に、画像表示領域はパケット表示領域R7に、出力画像表示領域は、新たに生成したDPVLパケットの画像データが表示する画像表示領域に、それぞれ対応する。また、画像表示情報はDPVLパケットに、獲得画像表示情報は獲得DPVLパケットに、それぞれ対応する。さらに、画像情報はDPVLパケットの画像データに、出力画像情報は新たに生成するDPVLパケットの画像データに、分割画像情報は分割画像データに、それぞれ対応する。さらに、部分位置情報はHIDテーブルに記憶保持されるモニタスクリーン位置情報に、画像位置情報はDPVLパケットのヘッダ部H1に、出力画像位置情報は、新たに生成したDPVLパケットのヘッダ部H1に、それぞれ対応する。
なお、「プログラム」とは、直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。また、プログラムによって実現される機能は、当該プログラム単独で実現されるのもであってもよく、他のプログラム(例えば、オペレーティング・システム)と共同して実現されるものであってもよい。
本実施例におけるマルチ・モニタシステム1を説明する前に、仮想スクリーン、モニタスクリーン、パケット表示領域、及び更新画像表示領域について説明する。
ここで、仮想スクリーンとは、モニタスクリーンに対して基準となる画像表示領域をいう。仮想スクリーンには、モニタスクリーンの位置やパケット表示領域の位置等を決定する際の基準となる座標系が設定されている。モニタスクリーンとは、モニタが実際に画像を表示することができる画像表示領域をいう。パケット表示領域とは、DPVLパケットの画像データが表示する画像表示領域をいう。
更新画像領域とは、パケット表示領域とモニタスクリーンとが重複する画像表示領域をいう。つまり、更新画像領域とは、あるモニタに関して、実際にそのモニタのモニタスクリーンで画像が更新される画像表示領域となる。
仮想スクリーン、モニタスクリーン、パケット表示領域及び更新画像領域の位置関係について図1を用いて説明する。仮想スクリーンR1の左上の端点を原点(0,0)とし、右方向にX軸、下方向にY軸を仮定する。仮想スクリーンR1の一部を構成するモニタスクリーンR5の仮想スクリーンR1に対する位置を、モニタスクリーンR5の左上の端点の位置(MXORG,MYORG)、及び、モニタスクリーンR5のX方向、Y方向の大きさ(MXWID,MYWID)で特定する。また、パケット表示領域R7の仮想スクリーンR1に対する位置を、パケット表示領域R7の左上の端点T1の位置(XORG,YORG)、及び、パケット表示領域R7のX方向、Y方向の大きさ(XSIZE,YSIZE)で特定する。さらに、更新画像領域R9の仮想スクリーンR1に対する位置を、更新画像領域R9の左上の端点T1’の位置(XORG’,YORG’)、及び、パケット表示領域R7のX方向、Y方向の大きさ(XSIZE’,YSIZE’)で特定する。
次に、DPVLパケットのデータ構造を図2に示す。DPVLパケットは、ヘッダ部H1とボディ部B1によって構成されている。ヘッダ部H1は、HTYP、XORG、XSIZE、HOFF、YORG、YSIZEを記述する領域を有している。ここで、HTYPはヘッダタイプを表す。XORG、YORG、XSIZE、YSIZEは、それぞれ、パケット表示領域R7の左上の端点T1の位置(XORG,YORG)、パケット表示領域R7のX方向、Y方向の大きさ(XSIZE,YSIZE)を表す。HOFFは、更新画像領域R9に対してX軸の−(マイナス)方向に設けられる領域(以下、オフセット領域とする)を示す値である。オフセット領域では、画像は更新されることはない。なお、このオフセット値は、DPVL規格によって規定されている。
ボディ部B1は、パケット表示領域R7に表示する画像データを有している。なお、DPVL規格においては、パケット表示領域R7は矩形領域と定義されている。
1. 概要
本発明に係る画像表示装置における実施例1の概要を図3を用いて説明する。モニタA、B、Cは、DPVLパケットを受信し、当該DPVLパケットに含まれる画像データを各モニタのモニタスクリーンR5に表示する。なお、モニタA、B、Cは、この順番でカスケード接続されているものとする。
モニタAは、DPVLパケットP1を受信すると、DPVLパケットP1におけるパケット表示領域R7とモニタスクリーンR5との位置関係を判断する。そして、モニタAは、DPVLパケットP1から、自らのモニタスクリーンR5に対応する画像データ以外の画像データ([B][C])を抽出する。また、モニタAは、抽出した画像データ([B][C])に関するヘッダ部H2を生成する。モニタAは、抽出した画像データ([B][C])及び生成したヘッダ部H2に基づいて、新たにDPVLパケットP2を生成し、モニタBへ送信する。モニタBは、DPVLパケットP2を受信すると、モニタAと同様に、抽出した画像データ([C])及び生成したヘッダ部H3に基づいて、新たにDPVLパケットP3を生成し、モニタCへ送信する。これにより、モニタAは、モニタB、Cへ出力するデータ量を削減することができる。
2. 機能ブロック図
本実施例における画像表示装置M1の機能ブロック図を図4に示す。画像表示装置M1は、部分位置情報保持手段M11、画像表示情報獲得手段M13、位置関係判断手段M15、出力画像情報生成手段M21、出力画像位置情報生成手段M23、画像表示情報生成手段M25を有している。
部分位置情報保持手段M11は、部分画像表示領域の全体画像表示領域に対する位置関係を示す部分位置情報を保持する。
画像表示情報獲得手段M13は、画像情報及び当該画像情報が表示する画像表示領域の全体画像表示領域に対する位置関係を示す画像位置情報を有する画像表示情報を獲得画像表示情報として獲得する。
位置関係判断手段M15は、獲得画像表示情報の画像位置情報及び位置情報保持手段が保持する部分位置情報に基づき、獲得画像表示情報における画像情報が表示する画像表示領域の部分画像表示領域に対する位置関係を判断する。
出力画像情報生成手段M21は、位置関係判断手段による画像表示領域の部分画像表示領域に対する位置関係の判断に基づき、獲得画像表示情報の画像情報から、部分画像表示領域に対応する画像情報以外の画像情報を出力画像情報として抽出する。
出力画像位置情報生成手段M23は、位置関係判断手段による画像表示領域の部分画像表示領域に対する位置関係の判断に基づき、出力画像情報生成手段が抽出した出力画像情報が表示する出力画像表示領域の全体画像表示領域に対する位置関係を示す出力画像位置情報を生成する。
画像表示情報生成手段M25は、出力画像情報生成手段が抽出した出力画像情報及び出力画像位置情報生成手段が生成した出力画像位置情報に基づき、画像表示情報を生成する。
これにより、画像表示装置は、獲得画像表示情報が自らの部分画像表示領域に関係するものであるか否かを判断することができる。したがって、自らの部分画像表示領域に関係しない獲得画像表示情報については他の画像表示装置へ出力する等、画像表示領域と部分画像表示領域との関係に基づいた処理の選択を行うことができる。また、画像表示装置は、自らの部分画像表示領域に関係しない出力画像情報についてのみ出力することができる。したがって、出力する画像表示情報のデータ量を削減することができる。
3. ハードウェア構成
3.1. マルチ・モニタシステム1のハードウェア構成
本発明に係る画像表示装置を利用したマルチ・モニタシステム1のハードウェア構成を図5に示す。マルチ・モニタシステム1は、ホスト・コンピュータ3、モニタ5a、5b、5cを有している。ホスト・コンピュータ3とモニタ5a、5b、5cとは、DPVLパケットを送信するためのDVI規格に対応したデジタル・ケーブル7(以下、DVIケーブル7とする。)を介して接続されており、マルチ・モニタシステムを形成している。また、モニタ5a、5b、5cは、この順番でDVIケーブル7を用いてカスケード接続されている。さらに、ホスト・コンピュータ3とモニタ5a、5b、5cとは、それぞれ、USB9を介して接続されている。
ホスト・コンピュータ3は、前述のDPVL規格に対応したDPVLパケットをモニタ5a、5b、5cに対して送信する。モニタ5aは、ホスト・コンピュータ3から受信したDPVLパケットに基づいて画像を表示する。また、モニタ5bは、カスケード接続されているモニタ5aから受信したDPVLパケットに基づいて画像を表示する。モニタ5cは、カスケード接続されているモニタ5bから受信したDPVLパケットに基づいて画像を表示する。
さらに、モニタ5a、5b、5cは、各モニタのモニタスクリーンR5(図1参照)の左上の端点の位置(MXORG,MYORG)、及び、モニタスクリーンR5のX方向、Y方向の大きさ(MXWID,MYWID)から構成されるモニタスクリーン位置情報をホスト・コンピュータ3からUSBを介して受信する。
3.2. モニタ5のハードウェア構成
本実施例におけるモニタ5a、5b、5c(以下、モニタ5とする。)のハードウェア構成を図6に示す。モニタ5は、A、B2チャンネルの入力ポート501、A、B2チャンネルの出力ポート503、USBポート505、2チャンネルのDPVL解析回路507、ビット幅変換回路509、517、データ・バッファ511、519、フレーム・メモリ制御回路513、フレームメモリ515、LCD出力ポート521、及びLCD523を有している。
入力ポート501は、ホスト・コンピュータ3(図5参照)若しくは自身より前に接続されているモニタ5からDPVLパケットを受信する。出力ポート503は、自身より後に接続されているモニタ5に対してDPVLパケットを送信する。USBポート505は、ホスト・コンピュータ3からモニタスクリーン位置情報を受信する。モニタスクリーン位置情報は、USB規格で定められたHID Usage Tables(HIDテーブル)と呼ばれるデバイス用の各種コントロールテーブルにしたがって、所定の位置に記録される。
DPVL解析回路507は、受信したDPVLパケットに対してパケット解析処理、ヘッダ解析処理、アドレス演算処理及びパケット再構築処理を行う。DPVL解析回路507については、後述する。
ビット幅変換回路509は、外部から受信したDPVLパケットを内部で処理できるビット数に変換する。データ・バッファ511は、外部から受信し、ビット幅変換したDPVLパケットを一時的に保持する。
フレームメモリ制御回路513は、LCD523に表示する画像データに関するフレームメモリ515への書き込み・読み出し処理を行う。フレームメモリ515は、LCD523に表示する画像データを保持する。
ビット幅変換回路517は、画像データをLCD523に表示するためにビット幅変換する。データ・バッファ519は、ビット幅変換したDPVLパケットをLCD523に出力する際に一時的に保持する。LCD出力ポート521は、画像データをLCD523に表示するために出力する。LCD523は、自らのモニタースクリーンR5上に画像データを表示する。
4. DPVL解析回路507
DPVL解析回路507のロジック回路を図7に示す。DPVL解析回路507は、入力ポート507a、出力ポート507b、パケット解析回路507c、ヘッダ解析回路507d、キャッシュ507e、アドレス演算回路507f、パケット再構築回路507gを有している。
入力ポート507aは、入力ポート501(図6参照)が受信したDPVLパケットを獲得DPVLパケットとして受信する。出力ポート507bは、パケット再構築回路507gから獲得した再構築されたDPVLパケット等を出力ポート503、ビット幅変換回路509(図6参照)へ送信する。
パケット解析回路507cは、入力ポート507aから獲得した獲得DPVLパケットを、ヘッダ部H1とボディ部B1とに分離する。さらに、パケット解析回路507cは、分離したヘッダ部H1をヘッダ解析回路507d送信する。また、パケット解析回路507cは、分離したボディ部B1を出力ポート507bを介して、ビット幅変換回路509(図6参照)へ送信する。
ヘッダ解析回路507dは、獲得DPVLパケットのヘッダ部H1及びHIDテーブルが保持するモニタスクリーン位置情報に基づき、獲得DPVLパケットにおけるパケット表示領域R7のモニタスクリーンR5に対する位置関係を判断する。
パケット再構築回路507gは、ヘッダ解析回路507dが行った獲得DPVLパケットにおけるパケット表示領域R7のモニタスクリーンR5に対する位置関係の判断に基づき、獲得DPVLパケットの画像データから、モニタスクリーンR5に対応する画像データ以外の画像データを出力画像データとして抽出する。さらに、パケット再構築回路507gは、ヘッダ解析回路507dによる獲得DPVLパケットにおけるパケット表示領域R7のモニタスクリーンR5に対する位置関係の判断に基づき、抽出した出力画像データが表示する画像表示領域の仮想スクリーンR1に対する位置関係を示すヘッダ部を出力ヘッダ部として生成する。
パケット再構築回路507gは、抽出した出力画像データ及び生成した出力ヘッダ部に基づき、カスケード接続された後段のモニタへ出力するための出力DPVLパケットを新たに生成する。
アドレス演算回路507fは、更新画像領域R9に対応する画像データをフレームメモリ515(図6参照)に保持する際の物理アドレスを演算する。
以下において、ヘッダ解析回路507d、アドレス演算回路507f、及びパケット再構築回路507gの処理を詳細に説明する。
4.1. ヘッダ解析回路507d
ヘッダ解析回路507dは、まず、獲得DPVLパケットのパケット表示領域R7が、LCD523のモニタスクリーンR5に対して、どの位置にあるのかを判断する。
ヘッダ解析回路507dは、獲得DPVLパケットのヘッダ部H1(図2参照)から、XORG、XSIZE、YORG、YSIZEを抽出し、キャッシュ507e(図7参照)に保持する。次に、ヘッダ解析回路507dは、獲得DPVLパケットのパケット表示領域R7(図1参照)の左上の端点T1が、モニタスクリーンR5に対してどの位置にあるのかを判断する。まず、ヘッダ解析回路507dは、端点T1が、モニタスクリーンR5の左辺に対してモニタスクリーンR5の内側に存在するのか、外側に存在するのかを判断する。図8に示すように、端点T1が、モニタスクリーンR5の左辺LLに対してモニタスクリーンR5の外側にある場合とは、端点T1がAの位置にある場合であり、内側にある場合とは、端点T1がBの位置にある場合となる。端点T1がAの位置にあるのか、Bの位置にあるのかを判断するために、ヘッダ解析回路507dは、端点T1のX座標を示すXORGと左辺LLのX座標を示すMXORGとを比較する。ヘッダ解析部131は、MXORG>=XORGとなる場合には、端点T1がAの位置にあると判断し、「cmp_mx0px0」の値を「0」として、キャッシュ507eに保持する。一方、ヘッダ解析回路507dは、XORG>MXORGとなる場合には、端点T1がBの位置にあると判断し、「cmp_mx0px0」の値を「1」として、キャッシュ507eに保持する。
次に、ヘッダ解析回路507dは、端点T1が、モニタスクリーンR5の右辺RRに対して、モニタスクリーンR5の内側に存在するのか、外側に存在するのかを判断する。図8に示すように、端点T1がモニタスクリーンR5の右辺RRに対してモニタスクリーンR5の内側にある場合とは、端点T1がCの位置にある場合であり、外側にある場合とは、端点T1がDの位置にある場合となる。端点T1がCの位置にあるのか、Dの位置にあるのかを判断するために、ヘッダ解析回路507dは、端点T1のX座標を示すXORGと右辺RRのX座標を示すMXORG+MXWIDとを比較する。ヘッダ解析部131は、MXORG+MXWID>=XORGとなる場合には、端点T1がCの位置にあると判断し、「cmp_mx1px0」の値を「0」として、キャッシュ507eに保持する。一方、ヘッダ解析部131は、XORG>MXORG+MXWIDとなる場合には、端点T1がDの位置にあると判断し、「cmp_mx1px0」の値を「1」として、キャッシュ507eに保持する。
ヘッダ解析回路507dが、これまでの処理を実現する際のロジック回路の一例を図12Aに示す。ここで、「+」は、図13Aに示す全加算回路を、「<」は、図13Bに示す4ビット比較回路を示している。
次に、ヘッダ解析回路507dは、端点T1が、モニタスクリーンR5の上辺に対してモニタスクリーンR5の内側に存在するのか、外側に存在するのか、及び、モニタスクリーンR5の下辺に対してモニタスクリーンR5の内側に存在するのか、外側に存在するのか、を判断する。図9に示すように、端点T1が、モニタスクリーンR5の上辺TTに対してモニタスクリーンR5の外側にある場合とは、端点T1がAの位置にある場合であり、内側にある場合とは、端点T1がBの位置にある場合となる。また、端点T1が、モニタスクリーンR5の下辺BBに対してモニタスクリーンR5の外側にある場合とは、端点T1がDの位置にある場合であり、内側にある場合とは、端点T1がCの位置にある場合となる。ヘッダ解析回路507dは、端点T1と左辺、右辺との位置関係の判断と同様にして、「cmp_my0py0」、「cmp_my1py0」の値を算出し、キャッシュ507eに保持する。
次に、ヘッダ解析回路507dは、獲得DPVLパケットのパケット表示領域R7(図1参照)の右下の端点T4が、モニタスクリーンR5に対してどの位置にあるのかを判断する。ヘッダ解析回路507dは、端点T4が、モニタスクリーンR5の左辺に対してモニタスクリーンR5の内側に存在するのか、外側に存在するのか、及び、モニタスクリーンR5の右辺に対してモニタスクリーンR5の内側に存在するのか、外側に存在するのか、を判断する。図10に示すように、端点T4が、モニタスクリーンR5の左辺LLに対してモニタスクリーンR5の外側にある場合とは、端点T4がAの位置にある場合であり、内側にある場合とは、端点T1がBの位置にある場合となる。また、端点T4が、モニタスクリーンR5の右辺RRに対してモニタスクリーンR5の外側にある場合とは、端点T4がDの位置にある場合であり、内側にある場合とは、端点T4がCの位置にある場合となる。ヘッダ解析回路507dは、端点T1の場合と同様にして、「cmp_mx0px1」、「cmp_mx1px1」の値を算出し、キャッシュ507eに保持する。
最後に、ヘッダ解析回路507dは、端点T4が、モニタスクリーンR5の上辺に対してモニタスクリーンR5の内側に存在するのか、外側に存在するのか、及び、モニタスクリーンR5の下辺に対してモニタスクリーンR5の内側に存在するのか、外側に存在するのか、を判断する。図11に示すように、端点T4が、モニタスクリーンR5の上辺TTに対してモニタスクリーンR5の外側にある場合とは、端点T4がAの位置にある場合であり、内側にある場合とは、端点T1がBの位置にある場合となる。また、端点T4が、モニタスクリーンR5の下辺BBに対してモニタスクリーンR5の外側にある場合とは、端点T4がDの位置にある場合であり、内側にある場合とは、端点T4がCの位置にある場合となる。ヘッダ解析回路507dは、端点T1の場合と同様にして、「cmp_my0py1」、「cmp_my1py1」の値を算出し、キャッシュ507eに保持する。
なお、前述のように、DPVL規格においては、DPVLパケットが表示する画像は、矩形であるので、端部T1、T4について位置を特定できれば、端部T2、T3についても、特定できることになる。この結果、ヘッダ解析回路507dは、モニタスクリーンR5に対する獲得DPVLパケットのパケット表示領域R7の位置を特定することができる。
次に、ヘッダ解析回路507dは、獲得DPVLパケットによって、LCD523のモニタスクリーンR5のどの領域が更新されるのかを特定する。つまり、ヘッダ解析回路507dは、更新画像領域R9(図1参照)の範囲を特定すべく、更新画像領域R9の端点T1’、T2’、T3’、T4’の位置(図1参照)を特定する。図1に示すように、更新画像領域R9は矩形であるので、端部T1’、T4’について位置を特定できれば、更新画像領域R9を特定できることになる。
ヘッダ解析回路507dは、図14に示す位置特定テーブルに基づいて、hdst、vdst、hded、vded、xoff、yoff、hdst_flag、hded_flagの値を決定し、キャッシュ507eに保持する。ここで、hdstは、端点T1’のモニタスクリーンR5に対するX座標を示す。vdstは、端点T1’のモニタスクリーンR5に対するY座標を示す。xoffは、端点T1’に設定されるオフセットのX方向の大きさを示す。yoffは、端点T1’に設定されるオフセットのY方向の大きさを示す。vdstは、端点T4’のモニタスクリーンR5に対するX座標を示す。vdedは、端点T4’のモニタスクリーンR5に対するY座標を示す。hdst_flagは、端点T1’のX座標がLCD523のモニタスクリーンR5内に存在するか否かを示すフラグであり、モニタスクリーンR5内に存在すれば「1」、存在しなければ「0」となる。vdst_flagは、端点T1’のY座標がLCD523のモニタスクリーンR5内に存在するか否かを示すフラグである。hded_flagは、端点T4’のX座標がLCD523のモニタスクリーンR5内に存在するか否かを示すフラグである。vded_flagは、端点T4’のY座標がLCD523のモニタスクリーンR5内に存在するか否かを示すフラグである。それぞれ、モニタスクリーンR5内に存在すれば「1」、存在しなければ「0」となる。
図14に示す位置特定テーブルを用いて、端点T1’、T4’の位置を特定する手順を説明する。位置特定テーブルにおけるcmp_mx1px0、cmp_mx0px0、・・・は、ヘッダ解析回路507dが獲得DPVLパケットのパケット表示領域R7(図1参照)の端点T1、T4の位置を特定する際に算出した値を示す。
まず、端点T1’のX座標の位置を特定する場合を考える。(cmp_mx1px0,cmp_mx0px0)=(0,0)の場合、図8に示すように獲得DPVLパケットのパケット表示領域R7の端点T1は、A若しくはA’の位置にあることになる。つまり、(cmp_mx1px0,cmp_mx0px0)=(0,0)であれば、獲得DPVLパケットのパケット表示領域R7とモニタスクリーンR5とが重なる領域、つまり、画像更新領域R9が存在する可能性がある。よって、hdst_flagに「1」をセットする。画像更新領域R9が存在が存在すれば、端点T1’のX座標は常にMXORGとなる。よって、端点T1’のモニタスクリーンR5に対するX座標を示すhdstは、MXORG−MXORG(=0)となる。端点T1’は、常にモニタスクリーンR5の左辺上に存在するので、xoff=0となる。なお、端点T1がAの位置にあるのか、A’の位置にあるのかは端点T4の位置によって決定されることになる。
次に、(cmp_mx1px0,cmp_mx0px0)=(0,1)の場合、図7に示すように獲得DPVLパケットのパケット表示領域R7の端点T1は、B若しくはCの位置にあることになる。つまり、(cmp_mx1px0,cmp_mx0px0)=(0,1)であれば、画像更新領域R9は常に存在する。よって、hdst_flagに「1」をセットする。画像更新領域R9の端点T1’のX座標は常にXORGとなる。よって、端点T1’のモニタスクリーンR5に対するX座標を示すhdstは、XORG−MXORGとなる。端点T1’に関するxoffは、獲得DPVLパケットにおけるオフセット値であるHOFFの値をセットする。
次に、(cmp_mx1px0,cmp_mx0px0)=(1,0)の場合について考えると、このような場合はあり得ない(図8参照)。よって、hdst_flagに「0」をセットする。この場合、hdst、xoffを特に設定する必要はないので、以前にセットしていた値をそのままセットしておく。
最後に、(cmp_mx1px0,cmp_mx0px0)=(1,1)の場合について考えると、図8に示すように、獲得DPVLパケットのパケット表示領域R7は常にモニタスクリーンR5外に存在し、画像更新領域R9は常に存在しないことになる。よって、hdst_flagに「0」をセットする。この場合、hdst、xoffを特に設定する必要はないので、以前にセットしていた値をそのままセットしておく。
端点T1’のY座標の位置を特定する場合は、端点T1’のX座標の位置を特定する場合と同様に考える(図10参照)。
次に、端点T4’のX座標の位置を特定する場合を考える。(cmp_mx1px1,cmp_mx0px1)=(0,0)の場合について考えると、図9に示すように、獲得DPVLパケットのパケット表示領域R7の端点T4はAの位置に存在することになり、画像更新領域R9は常に常に存在しないことになる。よって、hded_flagに「0」をセットする。この場合、hdedを特に設定する必要はないので、以前にセットしていた値をそのままセットしておく。
次に、(cmp_mx1px1,cmp_mx0px1)=(0,1)の場合、図9に示すように獲得DPVLパケットのパケット表示領域R7の端点T4は、B若しくはCの位置にあることになる。つまり、(cmp_mx1px1,cmp_mx0px1)=(0,1)であれば、画像更新領域R9は常に存在する。よって、hded_flagに「1」をセットする。画像更新領域R9の端点T4’のX座標は常にXORG+XSIZEとなる。よって、端点T4’のモニタスクリーンR5に対するX座標を示すhdedは、XORG+XSIZE−MXORGとなる。
次に、(cmp_mx1px1,cmp_mx0px1)=(1,0)の場合について考えると、このような場合はあり得ない(図9参照)。よって、hded_flagに「0」をセットする。この場合、hdedを特に設定する必要はないので、以前にセットしていた値をそのままセットしておく。
最後に、(cmp_mx1px1,cmp_mx0px1)=(1,1)の場合を考えると、図9に示すように獲得DPVLパケットのパケット表示領域R7の端点T4は、D若しくはD’の位置にあることになる。つまり、(cmp_mx1px1,cmp_mx0px1)=(1,1)であれば、獲得DPVLパケットのパケット表示領域R7とモニタスクリーンR5とが重なる領域、つまり、画像更新領域R9が存在する可能性がある。よって、hdst_flagに「1」をセットする。画像更新領域R9が存在が存在すれば、端点T4’のX座標は常にMXORG+MXWIDとなる。よって、端点T4’のモニタスクリーンR5に対するX座標を示すhdedは、MXORG+MXWID−MXORG=MXWIDとなる。なお、端点T4がDの位置にあるのか、D’の位置にあるのかは端点T1の位置によって決定されることになる。
端点T4’のY座標の位置を特定する場合は、端点T4’のX座標の位置を特定する場合と同様に考える(図11参照)。
以上の手順によって、ヘッダ解析回路507dは、端部T1’、T4’の位置を特定する。
4.2. アドレス演算回路507f
ヘッダ解析回路507dにおいて更新画像領域R9の端点T1’、T2’、T3’、T4’の位置の特定が終了すると、アドレス演算回路507fは、更新画像領域R9に対応する画像データ(更新画像データ)をフレームメモリ515に保持する際のアドレスを演算する。
フレームメモリ515は、少なくとも現在LCD523のモニタスクリーンR5に表示されている画像の画像データを保持している。フレームメモリ515における論理アドレス空間R515を図15に示す。図15におけるフレームメモリ515における論理アドレス空間R515において、左上の端点をアドレス「00000000h」と右下の端点を「FFFFFFFFh」とする。
論理アドレス空間R515において、モニタスクリーンR5に表示されている画像データが保持されている領域を領域R5’、更新画像データが保持される領域を領域R9’とする。アドレス演算回路507fは、ヘッダ解析回路507dが算出し、キャッシュ507eに保持しているhdst、vdst、xoff、hded、及びvdedに基づいて、領域R9’の論理アドレス空間R515における位置を特定する。
アドレス演算回路507fは、論理アドレスを求める前に、ヘッダ解析回路507dが求めた更新画像領域R9がモニタスクリーンR5に完全に含まれるものであるか否かを判断する。ヘッダ解析回路507dでは、更新画像領域R9の端点T1’、T4’について個別に、位置を特定している。したがって、アドレス演算回路507fは、更新画像領域R9全体として、モニタスクリーンR5内に存在するのか否かを判断する。アドレス演算回路507fは、ヘッダ解析回路507dが算出したhdst_flag、vdst_flag、hded_flag、vded_flagを取得し、それらの論理積を算出する。そして、アドレス演算回路507fは、算出した論理積が「1」であれば、論理アドレスの演算を行う。論理積が「1」であるということは、端点T1’、T4’が、ともにモニタスクリーンR5内に存在することを意味し、つまり、更新画像領域R9がモニタスクリーンR5内に存在することを意味する。
アドレス演算回路507fが、更新画像領域R9がモニタスクリーンR5内に存在するか否かの判断を行う際のロジック回路の一例を図16Aに示す。
図15に示すように、領域R5がアドレス「00000000h」から開始しているとすると、アドレス演算回路507fは、frame width(フレームメモリ515の幅)*vdst+hdstのアドレスを更新画像領域R9の端点T1’に対応するアドレスとして算出する。
アドレス演算回路507fは、同様に、frame width(フレームメモリ515の幅)*vded+hdedのアドレスを端点T4’に対応するアドレスとして、算出する。そして、アドレス演算回路507fは、算出した論理アドレスを物理アドレスに変換する。アドレス演算回路507fが、論理アドレスを物理アドレスに変換する際のロジック回路の一例を図16Bに示す。
アドレス演算回路507fは、変換した物理アドレスをフレームメモリ制御回路513へ送信する。フレームメモリ制御回路513は、獲得した物理アドレスに基づいて、更新画像領域R9に含まれる更新画像データでフレームメモリ515の値を更新する。
4.3. パケット再構築回路507g
パケット再構築回路507gが行う処理を図17に示すフローチャートに基づいて説明する。パケット再構築回路507gは、獲得DPVLパケットのパケット表示領域R7がモニタスクリーンR5内に収まるか否か、つまり、獲得DPVLパケットがモニタスクリーンR5内のパケットか否かを、図18に示す条件1に基づき判断する(S1701)。パケット再構築回路507gは、獲得DPVLパケットのパケット表示領域R7がモニタスクリーンR5内に収まると判断すると、当該獲得DPVLパケットを削除し(S1703)、以降に接続されているモニタには出力しない。
一方、ステップS1701において獲得DPVLパケットのパケット表示領域R7がモニタスクリーンR5内に収まらないと判断すると、パケット再構築回路507gは、獲得DPVLパケットが再構築できるDPVLパケットであるか否かを、図18に示す条件2に基づき判断する(S1705)。条件2は、獲得DPVLパケットのパケット表示領域R7がモニタスクリーンR5の範囲外にある場合を判断している。
パケット再構築回路507は、ステップS1705においてパケットの再構築が可能であると判断すると、Y軸方向に削除できる画像データが存在するか否かを図18に示す条件3に基づき判断する(S1707)。条件3は、獲得DPVLパケットのパケット表示領域R7が、上側の境界のみを含む場合(a)、下側の境界のみを含む場合(b)、及び上側及び下側の境界を含む場合(c)のいずれに該当するのかを判断している。
そして、パケット再構築回路507は、条件3に基づく判断にしたがって、図19に示す変換式1に基づいてパケットの再構築を行う(S1709)。パケット再構築回路507は、条件3に合致した獲得DPVLパケットの画像データを、上側及び下側の境界で分割する。また、パケット再構築回路507は、分割した画像データのパケット再構築にあたり、ヘッダ部を生成する必要があるが、このヘッダ部の生成は、変換式1基づいて行われる。変換式1では、分割後の画像データの右上の端点のX座標、Y座標をXORG’(又はXORG’’)、YORG’(YORG’’)、画像データのX軸方向の大きさ、Y軸方向の大きさを、XSIZE’(XSIZE’’)、YSIZE’(YSIZE’’)としている。
次に、パケット再構築回路507は、再構築したDPVLパケットのそれぞれについて、条件2に基づきDPVLパケットの再構築が可能であるか否か、つまり、モニタスクリーンR5外のパケット表示領域R7のみを有するDPVLパケットであるか否かを判断する(S1711)。そして、パケット再構築回路507gは、再構築したDPVLパケットが条件式2に合致する、つまり再構築が不可能と判断すると、当該DPVLパケットについては、そのまま後段のモニタに対して出力する(S1719)。
パケット再構築回路507gは、条件式2に合致しない、つまり再構築したDPVLパケットが再構築可能であると判断すると、X軸方向に削除できる画像データが存在するか否かを図18に示す条件4に基づき判断する(S1713)。条件4は、獲得DPVLパケットのパケット表示領域R7が、左側の境界のみを含む場合(a)、右側の境界のみを含む場合(b)、及び左側及び右側の境界を含む場合(c)のいずれに該当するのかを判断している。
パケット再構築回路507gは、X軸方向に削除できる画像データが存在すると判断すると、変換式2に基づき、DPVLパケットの再構築を行う(S1715)。なお、ステップSにおけるDPVLパケットの再構築は、ステップS1709におけるDPVLパケットの再構築と同様にしておこなう。そして、パケット再構築回路507は、再構築したDPVLパケットについて、ステップS1711と同様に、条件2に基づき再構築可能であるか否かを判断する(S1717)。パケット再構築回路507は、条件2に合致する再構築したDPVLパケットについては、削除する(S1721)。一方、パケット再構築回路507は、条件2に合致しなかった再構築したDPVLパケットについては、そのまま後段のモニタに対して出力する(S1719)。
このようなパケット再構築回路507gが行う処理を具体的に図20を用いて説明する。図20において、A〜Jは、獲得DPVLパケットのパケット表示領域を示している。また、図20には、一部のパケット表示領域に対して、その座標値も記載している。
G、Hの獲得DPVLパケットは、条件1によって、パケット再構築回路507gによって削除される。また、H、Iの獲得DPVLパケットは、条件2によって後段のモニタに対して、そのまま出力される。
結局、パケット再構築の対象となる獲得DPVLパケットは、モニタスクリーンR5の境界を含むもの、つまり、A〜Fの獲得DPVLパケットとなる。まず、上若しくは下の境界を含むA、A’、B、Cの獲得DPVLパケットが、条件3によって、抽出される。そして、各獲得DPVLパケットの画像データは、境界より上に存在する画像データと境界より下に存在する画像データとに分割される。Aの獲得DPVLパケットは、A1及びA2の画像データに分割される。A’の獲得DPVLパケットは、A1’及びA2’の画像データに分割される。次に、分割された画像データについて、ヘッダ部が生成される。例えば、A1の画像データについては、変換式1より、YORG’=YORG、YSIZE’=YORG+YSIZE−MYORGとなる。なお、XORG’、XSIZE’につては、分割前の画像データに関するヘッダ部のXORG、XSIZEと同じとなる。そして、A1の画像データ及び生成したヘッダ部によってDPVLパケットを再構築する。
A1、A1’について再構築したDPVLパケットは、条件2に合致するので、そのまま後段のモニタに対して出力される。一方、A2、A2’について再構築したDPVLパケットについては、条件4における判断の対象となる。
条件4の対象となるのは、A2、A2’、D、E、Fの獲得DPVLパケットとなる。ここで、A2の獲得DPVLパケットは、条件4より、削除される。A2’、D、E、Fの獲得DPVLパケットについては、モニタスクリーンR5の右側若しくは左側の境界を含んでいるので、変換式2に基づく再構築の対象となる。Eの獲得DPVLパケットについては、E1、E2についてDPVLパケットが再構築される。そして、E1について再構築されたDPVLパケットは、条件2によって、削除される。一方、E2について再構築されたDPVLパケットは、後段のモニタに対して出力される。他の獲得DPVLパケットについても、同様である。
1. 概要
前述の実施例1におけるマルチ・モニタシステム1は、図5に示すモニタ5aが受信した獲得DPVLパケットから自らの更新画像領域R9に関する画像データを削除し、後方に接続されているモニタ5b等に対してDPVLパケットを再構築して送信することにより、データの伝送量を削減するものであった。
本実施例2におけるマルチ・モニタシステム21は、図5に示すモニタ5aが、前回に受信した獲得DPVLパケットと今回に受信した獲得DPVLパケットにおいて画像データに変更がない部分を削除し、後段に接続されているモニタ5b等に対してDPVLパケットを再構築して送信することにより、データの伝送量を削減するものである。
本発明に係る画像表示装置における実施例2の概要を図21を用いて説明する。DPVLパケットを受信した各モニタは、DPVLパケットの画像データを所定の単位毎に分割し、分割画像データ毎にハッシュ値を算出する。算出したハッシュ値は、メモリ等に記憶する。モニタは、今回獲得したDPVLパケットのハッシュ値とメモリに記憶しおいた前回獲得したDPVLパケットのハッシュ値とを比較する。そして、今回獲得したDPVLパケットのハッシュ値と前回獲得したDPVLパケットのハッシュ値とが異なると判断した場合、当該ハッシュ値に対応する分割画像データを抽出する。そして、モニタは、分割画像データのヘッダ部を生成する。モニタは、分割画像データ及び生成したヘッダ部に基づき、新たなDPVLパケットを生成し、後段に接続されているモニタへ出力する。これにより、モニタは、後段に接続されているモニタへ出力するデータ量を削減することができる。
2. 機能ブロック図
本実施例における画像表示装置M2の機能ブロック図を図22に示す。画像表示装置M2は、画像表示情報獲得手段M201、固有値算出手段M203、位置・固有値記憶手段M205、領域判断手段M207、固有値比較手段M209、変動画像情報抽出手段M211、変動位置情報生成手段M213、画像表示情報生成手段M215を有している。
画像表示情報獲得手段M201は、画像情報及び当該画像情報が表示する画像表示領域の全体画像表示領域に対する位置関係を示す画像位置情報を有する画像表示情報を獲得画像表示情報として獲得する。
固有値算出手段M203は、獲得画像表示情報の画像情報を所定の単位毎に分割した分割画像情報を生成し、生成した分割画像情報のみに基づいて、分割画像情報毎に当該分割画像情報に固有する固有値を算出する。
位置・固有値記憶手段M205は、獲得画像表示情報の画像位置情報と当該獲得画像表示情報に対応する固有値とを関連付けて位置・固有値保持手段M206に記憶する。
領域判断手段M207は、画像表示情報獲得手段M201が今回獲得した獲得画像表示情報の画像位置情報と、位置・固有値保持手段M206が保持している画像位置情報とに基づき、画像表示情報獲得手段M201が今回獲得した獲得画像表示情報の画像表示領域と位置・固有値保持手段M206が保持している画像位置情報に対する画像表示領域とが同一であるか否かを判断する。
固有値比較手段M209は、獲得画像表示情報における分割画像情報の固有値と位置・固有値記憶手段M206が保持する固有値とを比較する。
変動画像情報抽出手段M211は、固有値比較手段M209が獲得画像表示情報における分割画像情報の固有値と位置・固有値記憶手段M206が保持する固有値と異なると判断した場合、当該固有値に対応する分割画像情報を変動画像情報として抽出する。また、変動画像情報抽出手段M211は、領域判断手段M207が、画像表示情報獲得手段M201が今回獲得した獲得画像表示情報の画像表示領域と、位置・固有値保持手段M206が保持している画像位置情報に対する画像表示領域とが同一でないと判断した場合に、変動画像情報を抽出する処理を行わないようにする。さらに、変動画像情報抽出手段M211は、固有値比較手段M209が獲得画像表示情報の画像情報から、位置・固有値記憶手段M206が保持する固有値とが同一であると判断した場合、変動画像情報を抽出する処理を行わないようにすること、
変動位置情報生成手段M213は、変動画像情報が表示する画像表示領域の全体画像表示領域に対する位置関係を示す変動位置情報を生成する。
画像表示情報生成手段M215は、変動画像情報及び変動位置情報に基づき、画像表示情報を生成する。
なお、固有値は、当該固有値に係る分割画像情報のハッシュ値である。
これにより、前回に獲得した獲得画像表示情報と今回に獲得した獲得画像表示情報との間で画像情報の内容が異なっている部分に関してのみ、画像情報を出力することができる。したがって、出力する画像表示情報のデータ量を削減することができる。また、容易にかつ効率的に固有値を算出することができる。
3. ハードウェア構成
本発明に係る画像表示装置を利用したマルチ・モニタシステム21のハードウェア構成は、実施例1におけるマルチ・モニタシステム1のハードウェア構成と同様である(図5参照)。なお、本実施例においては、接続されるモニタをモニタ25a、25b、25cとする。
モニタ25a、25b、25c(以下、モニタ25とする)のハードウェア構成を図23に示す。モニタ25は、入力ポート501、出力ポート503、USBポート505、DPVL解析回路507’、ビット幅変換回路509、517、データ・バッファ511、519、フレーム・メモリ制御回路513、フレームメモリ515、LCD出力ポート521、及びLCD523を有している。
DPVL解析回路507’は、受信したDPVLパケットに対してパケット解析処理、ヘッダ解析処理、アドレス演算処理、パケット再構築処理及びパケット比較処理を行う。他の構成については、実施例1と同様である。
4. DPVL解析回路507’
DPVL解析回路507’のロジック回路を図24に示す。DPVL解析回路507’は、入力ポート507a、出力ポート507b、パケット解析回路507c、ヘッダ解析回路507d、キャッシュ507e、アドレス演算回路507f、パケット再構築回路507g’、ハッシュ値制御回路507h及びハッシュ・キャッシュ507iを有している。入力ポート507a、出力ポート507b、パケット解析回路507c、ヘッダ解析回路507d、キャッシュ507e、アドレス演算回路507fについては、実施例1におけるDPVL解析回路507と同様である。
4.1. ハッシュ値制御回路507h
ハッシュ値制御回路507hの構成を図25Aに基づいて説明する。ハッシュ値制御回路507hは、データ分離回路251、ハッシュ値生成回路253、及びハッシュ値比較回路255を有している。
データ分離回路251の動作を図26のフローチャートに基づいて説明する。データ分離回路251は、獲得DPVLパケットP1から分離されたボディ部B1に含まれる画像データをパケット解析回路507c(図24照)から取得すると(S2601)、取得した画像データを所定の大きさ毎に分割し、分割画像データを生成する(S2603)。ここで、所定の大きさとは、DPVL規格で規定されているDPVLパケットの最小単位とする。これにより、DPVLパケットの大きさによって分割できないということはなく、常に分割画像データを生成することができる。
データ分離回路251は、生成した分割画像データをハッシュ値生成回路253及びパケット再構築回路507g’へ出力する(S2605)。
次に、ハッシュ値生成回路253の動作を図27のフローチャートに基づいて説明する。ハッシュ値生成回路253は、データ分離回路251が生成した分割画像データを取得すると(S2701)、分割画像データからハッシュ値を生成する(S2703)。そして、ハッシュ値生成回路253は、ハッシュ値比較回路255へ出力する(S2705)。
次に、ハッシュ値比較回路255の動作を図28のフローチャートに基づいて説明する。ハッシュ値比較回路255は、ハッシュ値生成回路253からハッシュ値を取得したと判断すると(S2801)、取得したハッシュ値が既にハッシュ・キャッシュ507iのハッシュ・テーブルHT(図25B参照)に存在するか否かを判断する(S2803)。ハッシュ・テーブルHTとは、分割画像データに基づいて算出されたハッシュ値を保持するためのテーブルである。
ハッシュ値比較回路255は、生成したハッシュ値が、ハッシュ・テーブルHTに存在すると判断すると、分割画像データに対応するハッシュ値がハッシュ・テーブルHTに存在する旨を示すフラグデータをパケット再構築回路507g’に出力する(S2805)。ハッシュ値生成回路253は、取得したハッシュ値をハッシュ・テーブルHTに保持する(S2807)。ハッシュ値比較回路255は、取得した全てのハッシュ値に対して、ステップS31〜S41の処理を行った否かを判断する(S2809)。ハッシュ値比較回路255は、全てのハッシュ値についてステップS2801〜S2807の処理を行ったと判断すると、前回に獲得した獲得DPVLパケットに対応するハッシュ値をハッシュ・テーブルHTから削除する(S2811)。
このようなデータ分離回路251、ハッシュ値生成回路253、及びハッシュ値比較回路255が行う処理を具体的に図29を用いて説明する。データ分離回路251が、図29Aに示すような獲得DPVLパケットP1に関するボディ部B1を獲得したとする。この場合、データ分離回路251は、獲得したボディ部B1から複数の分割画像データ1、2、・・・を生成し、生成した分割画像データ1、2、・・・をハッシュ値生成回路253へ出力する。
ハッシュ値生成回路253は、分割画像データ1、2、・・・のそれぞれに対応するハッシュ値1、2、・・・を生成し、ハッシュ値比較回路255へ出力する。この時、前回の獲得DPVLパケット及びその獲得DPVLパケットの各分割画像データに対応するハッシュ値が図29Bに示すものであったとする。
図29Aに示す生成したハッシュ値1、4、5、7、8については、前回のハッシュ値と同一であるので、これらのハッシュ値に対応する分割画像データ1、4、5、7、8に対して、図29Cに示すようなフラグをたてる。
図29Aに示す今回生成したハッシュ値は、図29Bに示す前回のハッシュ値にかわって、ハッシュ・テーブルHTに保持される。
4.2. パケット再構築回路507g’
パケット再構築回路507g’の動作を図30のフローチャートに基づいて説明する。パケット再構築回路507g’は、パケット解析回路507c(図24参照)からヘッダ部を取得したと判断すると(S3001)、前回に獲得した獲得DPVLパケットと今回に獲得した獲得DPVLパケットとが、同一のパケット表示領域R7を有しているか否かを判断する(S3003)。この際、パケット再構築回路507g’は、それぞれのヘッダ部からXORG、YORG、XSIE、YSIZEを取得し、比較する。パケット再構築回路507g’は、同一のパケット表示領域R7を有していると判断すると、データ分離回路251から分割画像データを取得したか否かを判断する(S3005)。パケット再構築回路507g’は、分割画像データを取得したと判断すると、当該分割画像データに関するフラグデータをハッシュ値生成回路253から取得したか否かを判断する(S3007)。パケット再構築回路507g’は、当該分割画像データに関するフラグデータを取得したと判断すると、当該分割画像データをバッファに保持することはない。一方、パケット再構築回路507g’は、ステップS3007において、フラグデータを取得していないと判断すると、当該分割画像データを所定のバッファに保持する(S3009)。
ケット再構築回路507g’は、全ての分割画像データについてステップS3005〜S3009までの処理を行ったか否かを判断する(S3011)。パケット再構築回路507g’は、全ての分割画像データについてステップS3005〜S3009までの処理を行ったと判断すると、バッファに保持されている分割画像データについて、パケットを再構築する(S3013)。なお、パケットの再構築にあたって、パケット再構築回路507g’は、ステップS3001で獲得したヘッダ部から獲得する今回の獲得DPVLパケットに関するXORG、YORG、XSIE、YSIZE、HOFF、さらに、データ分離回路251が画像データを分割する際の分割画像サイズに基づいて、再構築するパケットのヘッダ部を生成する。さらに、バッファに保持されている分割画像データについて、連続するものがあるか否かを判断する。パケット再構築回路507g’は、連続するものがあれば、それらを一体としてパケットを再構築する。
パケット再構築回路507g’は、再構築したDPVLパケットを次のモニタに出力する(S3015)。なお、ステップS3003において、パケット再構築回路507g’は、前回に獲得した獲得DPVLパケットと今回に獲得した獲得DPVLパケットとが同一のパケット表示領域R7を有していないと判断すると、ステップS3005〜S3013までの処理は行わずに、取得した獲得DPVLパケットをそのまま次のモニタに出力する。
1. 概要
前述の実施例2におけるマルチ・モニタシステム21は、後方に接続されているモニタに対してDPVLパケットを再構築して送信する際に、画像データを所定の大きさに分割した分割画像データのハッシュ値を比較することによって、以前に獲得したDPVLパケットと今回に獲得したDPVLパケットにおける画像データの変更の有無を判断するものであった。
本実施例3におけるマルチ・モニタシステム31は、分割画像データのハッシュ値を比較するのではなく、分割画像データ毎にDPVLパケットを再構築し、再構築したDPVLパケットのハッシュ値を比較することによって、以前に獲得したDPVLパケットと今回に獲得したDPVLパケットにおける画像データの変更の有無を判断するものである。
実施例3の概要を図31を用いて説明する。DPVLパケットを受信した各モニタは、DPVLパケットの画像情報を所定の単位毎に分割し、さらに、分割した画像情報毎のヘッダ部を生成する。そして、モニタは、分割した画像情報及び生成したヘッダ部に基づいて新たなDPVLパケットを生成する。モニタは、生成したDPVLパケット毎にハッシュ値を算出し、算出したハッシュ値をメモリ等に記憶する。モニタは、今回獲得したDPVLパケットのハッシュ値とメモリに記憶しおいた前回獲得したDPVLパケットのハッシュ値とを比較する。そして、今回獲得したDPVLパケットのハッシュ値と前回獲得したDPVLパケットのハッシュ値とが異なると判断した場合、モニタは、当該ハッシュ値に対応する生成したDPVLパケットを抽出する。モニタは、生成した新たなDPVLパケットを後段に接続されているモニタへ出力する。これにより、モニタは、後段に接続されているモニタへ出力するデータ量を削減することができる。
2. 機能ブロック図
本実施例における画像表示装置M3の機能ブロック図を図32に示す。画像表示装置M2は、画像表示情報獲得手段M201、固有値算出手段M203’、位置・固有値記憶手段M205、領域判断手段M207、固有値比較手段M209、変動画像情報抽出手段M211、変動位置情報生成手段M213、画像表示情報生成手段M215を有している。
固有値算出手段M203’は、獲得画像表示情報の画像位置情報及び分割画像情報に基づき、当該分割画像情報の分割画像位置情報を生成し、生成した分割画像位置情報及び分割画像情報とに基づいて、分割画像情報毎に当該分割画像情報に固有する固有値を算出する。これにより、簡単に前回に獲得した獲得画像表示情報と今回に獲得した獲得画像表示情報との間で画像情報の内容が異なっているか否かの判断を行うことができる。
3. ハードウェア構成
本発明に係る画像表示装置を利用したマルチ・モニタシステム31のハードウェア構成は、実施例2におけるマルチ・モニタシステム21のハードウェア構成と同様である(図5、図23、24参照)。但し、図25Aに示すハッシュ値制御回路507hにおけるデータ分離回路251の処理が異なる。以下において、データ分離回路251の動作を説明する。
3.1. データ分離回路251
データ分離回路251の動作を図33のフローチャートに基づいて説明する。データ分離回路251は、獲得DPVLパケットP1から分離されたボディ部B1に含まれる画像データをパケット解析回路507c(図24参照)から取得すると(S3301)、取得した画像データを、実施例2と同様に、所定の大きさ毎に分割し、分割画像データを生成する(S3303)。
一方、データ分離回路251は、獲得DPVLパケットP1から分離されたヘッダ部H1をパケット解析回路507c(図24参照)から取得すると(S3305)、取得したヘッダ部H1に基づき、各分割画像データに対応するヘッダ部である分割ヘッダ部を生成する(S3307)。ここで、分割ヘッダ部の生成について説明する。獲得DPVLパケットのヘッダ部が有するパケット表示領域R7の左上の端点T1のX座標、Y座標、パケット表示領域R7のX方向の大きさ、Y方向の大きさが、それぞれ、XORG、YORG、XSIZE、YSIZEであるとする。また、分割画像データのX方向の大きさ、Y方向の大きさが、それぞれ、XSIZE、1であるとする。つまり、獲得DPVLパケットにおける画像データがライン毎に分割されるものとする。この場合、最初の分割画像データに対応する分割ヘッダ部のXORG、YORG、XSIZE、1となる。2番目の分割画像データに対応する分割ヘッダ部のXORG、YORG+1、XSIZE、1となる。つまり、n番目の分割画像データに対応する分割ヘッダ部のXORG、YORG+(n−1)、XSIZE、1となる。
データ分離回路251は、生成した分割ヘッダ部と対応する分割画像データとに基づいて、分割DPVLパケットを生成する(S3309)。データ分離回路251は、生成した分割DPVLパケットをハッシュ値生成回路253及びパケット再構築回路507g’へ出力する(S3311)。
ハッシュ値生成回路253等は、実施例2における分割画像データを分割DPVLパケットに置き換えて、同様の処理を行う。
1. 概要
前述の実施例1におけるマルチ・モニタシステム1におけるモニタ5は、ハードウェアロジックによってヘッダ解析処理、アドレス演算処理、及びパケット再構築処理を実現するものであった。本実施例4におけるマルチ・モニタシステム41におけるモニタは、実施例1においてハードウェアロジックによって実現していたこれらの処理をDSP(Digital Signal Processor)を用いて実現するものである。
2. ハードウェア構成
本実施例におけるマルチ・モニタシステム41のハードウェア構成は、実施例1におけるものと同様である(図5参照)。但し、図5におけるモニタ5は、本実施例においてはモニタ45とする。
本実施例におけるモニタ45のハードウェア構成を図34に示す。モニタ45は、入力ポート501、出力ポート503、USBポート505、DSP545、メモリ547、ビット幅変換回路509、517、データ・バッファ511、519、フレーム・メモリ制御回路513、フレームメモリ515、LCD出力ポート521、及びLCD523を有している。
DSP545は、メモリ547に記録されている画像表示プログラムに基づいた処理を行う。メモリ547は、ヘッダ解析処理、アドレス演算処理、及びパケット再構築処理を行うための画像表示プログラムを記録保持するとともに、DSP545に対して作業領域を提供する。
他の構成要素については、実施例1と同様である。
3. DSP545における処理
DSP545が画像表示プログラムに基づいて行う処理の内容を図35に示すフローチャートに基づき説明する。DSP545は、DPVLパケットを獲得したと判断すると(S3501)、獲得したDPVLパケット(獲得DPVLパケット)から、ヘッダ部を抽出する(S3503)。
DSP545は、抽出した獲得DPVLパケットのヘッダ部及びHIDテーブルに記憶保持されているモニタスクリーン位置情報に基づき、獲得DPVLパケットのパケット表示領域R7のモニタスクリーンR5に対する位置関係を判断する(S3505)。なお、当該位置関係の判断においては、実施例1と同様に、獲得DPVLパケットのパケット表示領域R7の左上の端点T1、T4が、モニタスクリーンR5に対してどの位置にあるのかを判断する(図8〜9参照)。
DSP545は、ステップS3505における獲得DPVLパケットのパケット表示領域R7のモニタスクリーンR5に対する位置関係に基づき、獲得DPVLパケットの画像データから、モニタスクリーンR5に対応する画像データ以外の画像データを抽出する(S3507)。さらに、DSP545は、ステップS3505における獲得DPVLパケットのパケット表示領域R7のモニタスクリーンR5に対する位置関係に基づき、抽出した画像データが表示する更新画像領域R9の仮想スクリーンR1に対する位置関係を示すヘッダ部を生成する(S3509)。
DSP545は、抽出した画像データ及び生成したヘッダ部に基づき、新たにDPVLパケットを生成する(S3511)。DSP545は、生成したDPVLパケットを後段に接続されているモニタに対して送信する(S3513)。
また、DSP545は、獲得DPVLパケットの画像データから、モニタスクリーンR5に対応する画像データの画像データを抽出する(S3515)。そして、DSP545は、更新画像領域R9に対応する画像データをフレームメモリ515に保持する際のアドレスを演算する(S3517)。
なお、ステップS3505の処理は実施例1におけるパケット解析回路507c及びヘッダ解析回路507dが行う処理(図8〜図14参照)、ステップS3507の処理は実施例1におけるS1701〜S1707、S1711〜S1713の処理(図17参照)を、ステップS3509の処理は実施例1におけるS1709、S1715の処理(図17参照)を、ステップS3511の処理は実施例1におけるS1709、S1715、S1719の処理(図17参照)を、S3515、S3517の処理はアドレス演算回路507fの処理(図15、16参照)を、それぞれ実行することによって、実現できる。
1. 概要
前述の実施例2におけるマルチ・モニタシステム1におけるモニタ5は、ハードウェアロジックによってヘッダ解析処理、アドレス演算処理、及びパケット再構築処理を実現するものであった。本実施例4におけるマルチ・モニタシステムにおけるモニタは、実施例1においてハードウェアロジックによって実現していたこれらの処理をDSP(Digital Signal Processor)を用いて実現するものである。
2. ハードウェア構成
本実施例におけるマルチ・モニタシステムのハードウェア構成は、実施例1におけるものと同様である(図5参照)。但し、図5におけるモニタ5は、本実施例においてはモニタ55とする。
また、本実施例におけるモニタのハードウェア構成は、実施例5におけるものと同様である(図34参照)。但し、図34におけるモニタ45は、本実施例においてはモニタ55とする。また、メモリ547は、ヘッダ解析処理、アドレス演算処理、及びパケット再構築処理を行うための画像表示プログラムを記録保持する。
他の構成要素については、実施例4と同様である。
3. DSP545における処理
DSP545が画像表示プログラムに基づいて行う処理の内容を図36に示すフローチャートに基づき説明する。DSP545は、DPVLパケット獲得したと判断すると(S3601)、獲得したDPVLパケット(獲得DPVLパケット)の画像データを所定の単位毎に分割した分割画像データを生成する(S3603)。DSP545は、生成した分割画像データのみに基づいて、分割画像データ毎に当該分割画像データに固有するハッシュ値を算出する(S3605)。
DSP545は、獲得DPVLパケットにおける分割画像データのハッシュ値とメモリ547が保持するハッシュ値とを比較する(S3607)。
DSP545は、今回獲得した獲得DPVLパケットのヘッダ部と、メモリ547が保持しているヘッダ部とに基づき、今回獲得した獲得DPVLパケットのパケット表示領域R7とメモリ547が保持しているヘッダ部のパケット表示領域R7とが同一であるか否かを判断する(S3609)。
DSP545は、獲得DPVLパケットにおける分割画像データのハッシュ値とメモリ547が保持するハッシュ値とが異なると判断した場合、当該ハッシュ値に対応する分割画像データを抽出する(S3611)。なお、DSP545は、ステップS3607において、獲得DPVLパケットの画像データとメモリ547が保持するハッシュ値とが同一であると判断した場合、ステップS3611における分割画像データを抽出する処理を行わない。DSP545は、獲得DPVLパケットのヘッダ部と当該獲得DPVLパケットの分割画像データに対応するハッシュ値とを関連付けてメモリ547のハッシュ・テーブルに記憶する(S3613)。なお、DSP545は、ステップS3609において、今回獲得した獲得DPVLパケットのパケット表示領域R7と、メモリ547が保持しているヘッダ部に対するパケット表示領域R7とが同一でないと判断した場合に、ステップS3611における分割画像データを抽出する処理を行わない。
DSP545は、ステップS3611において抽出した分割画像データが表示するパケット表示領域R7の仮想スクリーンR1に対する位置関係を示すヘッダ部を生成する(S3617)。DSP545は、ステップS3611において抽出した分割画像データ及び生成したヘッダ部に基づき、新たにDPVLパケットを生成する(S3619)。DSP545は、生成したDPVLパケットを後段のモニタに対して出力する(S3621)。
なお、ステップS3601の処理は実施例2におけるステップS2601(図26参照)の処理、ステップS3603、S3605の処理は実施例2におけるステップS2603、S2605(図26参照)、S2701〜S2705(図27参照)の処理、ステップS3613の処理は実施例2におけるステップS2803、S2807(図28参照)の処理、ステップS3609の処理は実施例2におけるステップS3001、S3003(図30参照)の処理、ステップS3607の処理は実施例2におけるステップS2803(図26参照)の処理、ステップS3611の処理は実施例2におけるS2805(図28参照)及びS3005〜S3011(図30参照)の処理、ステップS3615の処理は実施例2におけるステップS3013(図30参照)の処理、ステップS3617の処理は実施例2におけるステップS3013(図30参照)の処理、をそれぞれ実行することによって、実現できる。
[その他の実施例]
前述の実施例1〜5においては、画像表示装置であるモニタ5、25、35、45、55において、位置関係判断手段であるパケット解析回路507c及びヘッダ解析回路507d、出力画像情報生成手段であるパケット再構築回路507g、出力画像位置情報生成手段であるパケット再構築回路507g、画像表示情報生成手段であるパケット再構築回路507g等の処理を本明細書中及び図17等に示すフローチャート等に示したが、各手段の内容を実現できるものであれば、例示の処理に限定されない。また、各手段の内容を実現できるものであれば、図12、13等に例示した回路構成等に限定されない。
前述の実施例1〜5においては、「位置関係」として、モニタスクリーンR5の左上の端点の位置(XORG,YORG)及びその大きさ(MXWID,MYWID)等、領域を構成するある端点の位置と領域の大きさを示した。しかし、ある領域の位置を他の領域の位置に対して一意に決定する関係であれば、例示のものに限定されない。例えば、モニタスクリーンR5等の各端点の位置によって、モニタスクリーンR5の仮想スクリーンR1対する位置関係を決定してもよい。
前述の実施例1においては、モニタ5a、5b、5cのモニタスクリーンR5に重複する領域がない場合を例示した。しかし、モニタ5a、5b、5cのモニタスクリーンR5に重複する領域があるものとしてもよい。この場合、各モニタは、重複する領域に関する情報である重複情報を保有する。重複情報としては、重複領域が矩形であるなら、例えば、重複領域の左上の端点の仮想スクリーンR1に対する座標、及び重複領域のX軸方向及びY軸方向の大きさがある。この重複情報は、ホスト・コンピュータ3からUSBケーブル9を介して、各モニタへ提供するようにすればよい。
また、前述の実施例1においては、自らのモニタスクリーンR5に関係する画像データについては、後段のモニタに対して送信しないこととした。このため、ホスト・コンピュータ3から獲得したDPVLパケットが、自らのモニタスクリーンR5に関する画像データのみによって構成されていた場合、後段のモニタに対に対しては、一切、情報が伝送されないことになる。モニタによっては、所定の時間以上データの電送がなければ、いわゆるパワーセーブ状態に入るものが存在する。このようなモニタでは、マルチ・モニタにおいて、一部のモニタのみがパワーセーブ状態に入ってしまうという問題が生ずる可能性がある。そこで、獲得したDPVLパケットが、自らのモニタスクリーンR5に関する画像データのみによって構成されていた場合でも、垂直方向若しくは水平方向のSYNC信号のみは出力するようにしてもよい。これにより、一部のモニタのみがパワーセーブ状態に入ることを防止することができる。
前述の実施例2においては、DPVLパケットを後段に接続されているモニタに送信する際にデータ伝送量を削減することができる画像表示装置を示した。しかし、獲得したあるデータを後段に接続された装置に対して出力するものであれば、画像表示装置に限定されない。つまり、今回獲得したデータと前回に獲得したデータとを比較し、今回のデータが、前回に獲得したデータと同一のデータを含む場合には、今回のデータから前回と同一のデータを削除して、後段の装置に対して出力する情報伝送装置として構成してもよい。
また、前述の実施例2においては、獲得DPVLパケットを分割する際の所定の大きさとして、DPVL規格におけるDPVLパケットの最小単位を例示したが、DPVLパケットにおける画像データを分割できるもの出れば、これに限定されない。例えば、128ビットのように予め固定したビット数を設定しておき、当該ビット数にしたがって、分割画像データを生成するようにしてもよい。
さらに、前述の実施例2、3においては、固有値としてハッシュ値を示したが、画像データに固有の固有値を求めることができるものでれば、これに限定されない。例えば、CRC(Cyclic Redundancy Check)やチェックサムであってもよい。
前述の実施例1〜3においては、DPVL解析回路507、507’を有する画像表示装置であるモニタを例示した。しかし、DPVL解析回路507、507’のみ独立した画像位置関係判断装置、画像表示情報生成装置として構成してもよい。この場合、当該処理を行う回路を、例えばパーソナル・コンピュータで用いられるPCボードとして構成するようにしてもよい。
また、前述の実施例1〜3は、自らのモニタスクリーンR5に関する画像データを削除して後段のモニタに対してDPVLパケットを送信するもの、若しくは、前回に獲得した画像データと同一の画像データが今回に獲得した画像データに含まれて入れば、その画像データを削除したDPVLパケットを後段のモニタに対に対して送信するものであった。いずれも、後段のモニタに対に対して送信するDPVLパケットのデータ伝送量を削減するものであるため、これらを併用して画像表示情報を構成するようにしてもよい。これにより、さらなる画像データの削減を実現することができる。
前述の実施例5においては、ステップS3605において分割画像データのみに基づいてハッシュ値を算出するものとしたが、実施例3のように、分割画像データに基づいて生成されたDPVLパケットに基づいて、ハッシュ値を算出するようにしてもよい。
また、前述の実施例5においては、ステップS3609における今回獲得した獲得DPVLパケットのパケット表示領域R7とメモリ547が保持しているヘッダ部のパケット表示領域R7とが同一であるか否かの判断を、ステップS3607における獲得DPVLパケットにおける分割画像データのハッシュ値とメモリ547が保持するハッシュ値との比較の後に実行することとしたが、ステップS3607の前にステップS3609の処理を行うようにしてもよい。さらに、ステップS3605の前にステップS3609の処理を行うようにしてもよい。これにより、省略できるステップが多くなり、さらなる省電力化が可能となる。
前述の1〜5の実施形態においては、仮想スクリーンR1に表示される画像データを分割して、各モニタのモニタスクリーンR5に表示していた。しかし、各モニタが、仮想スクリーンR1における同一の領域を表示するようにしてもよい。さらに、ホスト・コンピュータ3が、最も近くに接続されているモニタ(例えばモニタ5a)に対して、DPVLパケットを送信するではなく、当該モニタのモニタスクリーンR5に表示される画像データの全て(全画面画像データ)を送信するものである場合、当該モニタが後段に接続されているモニタに対して、獲得した全画面画像データのうち、自らが表示している画像データと異なる部分のみを抽出し、抽出した画像データに基づきDPVLパケットを構築し、後段のモニタに対して出力するようにしてもよい。このようなDPVLパケットの構築・出力は、後段に接続されているモニタへの出力帯域が少ない場合、例えば、ホスト・コンピュータ3とはDVIケーブルによって接続されているが、後段のモニタとは無線によって接続されている場合に、特に有効となる。
マルチ・モニタにおける仮想スクリーンR1、モニタスクリーンR5、パケット表示領域R7、更新画像領域R9の関係を説明するための図である。
DPVLパケットのデータ構造を示した図である。
実施例1の概要を示した図である。
実施例1の機能ブロック図である。
マルチ・モニタシステム1のハードウェア構成を示した図である。
モニタ5のハードウェア構成を示した図である。
DPVL解析回路507のロジック回路の一例を示した図である。
パケット表示領域R7の端点T1とモニタスクリーンR5に対する位置関係を説明するための図である。
パケット表示領域R7の端点T1とモニタスクリーンR5に対する位置関係を説明するための図である。
パケット表示領域R7の端点T4とモニタスクリーンR5に対する位置関係を説明するための図である。
パケット表示領域R7の端点T4とモニタスクリーンR5に対する位置関係を説明するための図である。
ヘッダ解析回路507dを構成する実際のロジック回路の一例を示した図である。
ヘッダ解析回路507dを構成する実際のロジック回路の一例を示した図である。
位置特定テーブルの位置例を示した図である。
フレームメモリ515における論理アドレス空間R515を示した図である。
アドレス演算回路507fを構成する実際のロジック回路の一例を示した図であり、Aは更新画像領域R9がモニタスクリーンR5内に存在するか否かの判断を行う際のロジック回路の一例を、Bは論理アドレスを物理アドレスに変換する際のロジック回路の一例を示す。
パケット再構築回路507gの動作を示したフローチャートである。
条件式の一例を示す図である。
変換式の一例を示す図である。
モニタスクリーンR5と獲得DPVLパケットのパケット表示領域R7との位置関係を具体的に例示した図である。
実施例2の概要を示した図である。
実施例2の機能ブロック図である。
モニタ25のハードウェア構成を示した図である。
DPVL解析回路507’のロジック回路の一例を示した図である。
ハッシュ値制御回路507h、ハッシュ・キャッシュ507iの一例を示した図であり、Aはハッシュ値制御回路507hを、Bはハッシュ・キャッシュ507iを、それぞれ示した図である。
データ分離回路251の動作を示したフローチャートである。
ハッシュ値生成回路253の動作を示したフローチャートである。
ハッシュ値比較回路255の動作を示したフローチャートである。
データ分離回路251、ハッシュ値生成回路253、及びハッシュ値比較回路255が行う処理を具体的に説明するため図である。
パケット再構築回路507g’の動作を示したフローチャートである。
実施例3の概要を示した図である。
実施例3の機能ブロック図である。
データ分離回路251の動作を示したフローチャートである。
モニタ45のハードウェア構成を示した図である。
DSP545の動作を示したフローチャートである。
DSP545の動作を示したフローチャートである。
従来技術を示した図である。
従来技術を示した図である。
符号の説明
5・・・・・モニタ
507・・・・・DPVL解析回路
507c・・・・・パケット解析回路
507d・・・・・ヘッダ解析回路
507e・・・・・キャッシュ
507f・・・・・アドレス演算回路