説明

ポインタ表示制御装置及び表示装置

【課題】ポインタ図形の先端がポインタ画像領域の表示開始座標と一致しないような場合であっても、ポインタ図形の先端を画面原点と一致させる。
【解決手段】ハードウェア記述言語を用いてプログラミングされると共にポインタ画像データを記憶する半導体集積回路からなり、外部から入力される操作指示と前記ポインタ画像データとに基づいて画面上におけるポインタの表示位置を制御するポインタ表示制御装置であって、ポインタ画像領域が画面選択領域に含まれるか否かを判定し、含まれる場合にはポインタ画像領域のうち前記画面選択領域に含まれる部分の前記ポインタ画像データを読み出すポインタ画像読出回路を具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ポインタ表示制御装置及び表示装置に関する。
【背景技術】
【0002】
従来より、マウス等のポインティングデバイスを用いて、液晶ディスプレイ(LCD)等の画面上に表示されるマウスカーソル(ポインタ)を移動操作し、操作キーによる操作入力と組み合わせてコンピュータを操作することが一般的に行われている。近年では、このようなマウスカーソルの表示制御を行うマウスコントローラをハードウェアによって構築する場合、ハードウェア記述言語を用いてプログラミング可能な半導体集積回路の1つであるFPGA(Field Programmable Gate Array)を使用することが多い。
【0003】
図6は、FPGA内部に構築されたマウスコントローラのブロック構成図である。この図6に示すように、従来のマウスコントローラ100は、一致検出回路110a及びアドレスデコーダ110bからなる制御回路110と、マウスメモリ120と、カウンタ130と、リードイネーブルデコーダ140とから構成されている。
【0004】
制御回路110は、マウスカーソルの画面上における表示開始座標を示すX座標指定信号Xs及びY座標指定信号Ysと、画面上における現在の選択ドット座標を示すXスキャンカウンタXc及びYスキャンカウンタYcを入力とする。以下、これらX座標指定信号Xs及びY座標指定信号Ysと、XスキャンカウンタXc及びYスキャンカウンタYcについて、図7を参照して説明する。
【0005】
図7は、LCD画面に設定されたXY直交座標系を示したものである。なお、図7では、スキャンエリア1344(X)×806(Y)ドット、表示エリア1024(X)×768(Y)ドットのLCD画面を例示している。このようなLCDでは、1フレーム期間(1/60秒)に、画面原点(X、Y)=(0、0)から(1343、805)までのドットを順次選択(スキャン)することで1画面を表示している。
【0006】
XスキャンカウンタXc及びYスキャンカウンタYcは、上記のようなLCDのスキャン動作のタイミングを制御するために用いられるタイミング信号である。1フレームの開始時点では、XスキャンカウンタXc及びYスキャンカウンタYcの値は共に0であり、所定の時間間隔でXスキャンカウンタXcが0から1343までカウントアップされ、1343に到達するとXスキャンカウンタXcは0にリセットされる一方、YスキャンカウンタYcは0から1にカウントアップされる。
【0007】
そして、YスキャンカウンタYcが1になると、再びXスキャンカウンタXcが0から1343までカウントアップされる。このようなカウント動作は、YスキャンカウンタYcが805になるまで繰り返され、Yc=805の場合にXスキャンカウンタXcが1343までカウントアップされると、XスキャンカウンタXc及びYスキャンカウンタYcは共に0にリセットされて1フレームが終了する。
【0008】
LCDは、上記のようなXスキャンカウンタXc及びYスキャンカウンタYcに同期して、画面原点(0、0)から(1343、805)までのドットをスキャンする。つまり、例えばXスキャンカウンタXcの値が1000、YスキャンカウンタYcの値が10の場合、LCDは座標(1000、10)のドットを現在選択していることになる。従って、XスキャンカウンタXc及びYスキャンカウンタYcは、現時点でLCD画面上において選択されているドットの座標(選択ドット座標)を指し示している。なお、このようなXスキャンカウンタXc及びYスキャンカウンタYcは、不図示のタイミングジェネレータによって生成される。
【0009】
また、図7に示すように、マウスカーソルは、予め規定されている横Xw×縦Ywのマウス画像領域内に矢印等のポインタ図形が描画されたものであり、マウス画像領域の原点位置(左上端部)がマウスカーソルの表示開始位置に相当する。すなわち、X座標指定信号Xs及びY座標指定信号Ysは、マウス画像領域の原点位置をマウスカーソルの表示開始座標(Xs、Ys)として指し示している。
【0010】
このようなX座標指定信号Xs及びY座標指定信号Ysは、不図示のCPU(Central Processing Unit)によって生成される。通常、マウスを操作すると、移動方向や移動速度などの情報がCPUに送られる。そして、CPUは、マウスから取得した各種情報に基づいて、LCD画面上におけるマウスカーソルの表示開始座標(Xs、Ys)を演算し、その演算結果をX座標指定信号Xs及びY座標指定信号Ysとしてマウスコントローラ100の制御回路110に出力する。
以上が、X座標指定信号Xs及びY座標指定信号Ysと、XスキャンカウンタXc及びYスキャンカウンタYcの詳細な説明であり、以下では図6に戻って説明を続ける。
【0011】
制御回路110の一致検出回路110aは、X座標指定信号Xs及びY座標指定信号Ysが示すマウスカーソルの表示開始座標(Xs、Ys)と、XスキャンカウンタXc及びYスキャンカウンタYcが示すLCD画面上における現在の選択ドット座標(Xc、Yc)との比較判定を行い、両者が一致した場合に、マウスメモリ120からマウス画像データの読み出し開始を示すスタート信号をカウンタ130に出力する。アドレスデコーダ110bは、XスキャンカウンタXc及びYスキャンカウンタYcを基に、マウスメモリ120のリードアドレスを生成する。
【0012】
マウスメモリ120は、マウス画像データ、つまり横Xw×縦Ywのマウス画像領域に矢印等のポインタ図形が描画されたマウス画像を表すデータを予め記憶しているメモリである。ここでは、図6に示すように、Xw×Yw=32×32ドットに相当するマウス画像データがマウスメモリ120に記憶されているものとする。また、このマウス画像データは、マウスメモリ120におけるX座標アドレスXa=0〜31、Y座標アドレスYa=0〜31のメモリ空間に格納されている。
【0013】
カウンタ130は、マウスメモリ120からマウス画像データを読み出す期間(リード期間)を決定するためのカウンタであり、スタート信号に同期してカウント動作を開始し、リード期間を示すカウント値(1〜32)をリードイネーブルデコーダ140に出力する。リードイネーブルデコーダ140は、カウンタ130のカウント期間(カウント値が1〜32の期間)だけリードイネーブル信号を有効状態に遷移させてマウスメモリ120に出力する。
【0014】
次に、上記のように構成された従来のマウスコントローラ100の動作について説明する。以下では、図7に示すように、マウスカーソルの表示開始座標(Xs、Ys)=(0、0)、つまり画面原点に相当するX座標指定信号Xs及びY座標指定信号Ysが制御回路110に入力された場合を想定する。
【0015】
この場合、選択ドット座標(Xc、Yc)=(0、0)を示すXスキャンカウンタXc及びYスキャンカウンタYcが制御回路110に入力された時に、スタート信号が一致検出回路110aからカウンタ130に出力される。これにより、カウンタ130はカウント動作を開始してカウント値を1にカウントアップし、リードイネーブルデコーダ140はリードイネーブル信号を有効状態に遷移させる。
【0016】
一方、アドレスデコーダ110bは、選択ドット座標(Xc、Yc)=(0、0)の時、マウスメモリ120におけるアドレス(Xa、Ya)=(0、0)に格納されているマウス画像データを読み出すためのリードアドレスを生成してマウスメモリ120に出力する。これにより、LCD画面の座標(0、0)のドットが選択されている時に、マウスメモリ120からアドレス(Xa、Ya)=(0、0)に格納されているマウス画像データが読み出される。読み出されたマウス画像データは、不図示のビデオ合成部によって背景画像データと合成され、その結果、LCD画面の座標(0、0)のドットには、マウスメモリ120のアドレス(Xa、Ya)=(0、0)に格納されているマウス画像データが表示される。
【0017】
続いて、XスキャンカウンタXcがカウントアップされて選択ドット座標(Xc、Yc)=(1、0)になり、カウンタ130のカウント値が2にカウントアップされると(リードイネーブル信号は有効状態を維持)、アドレスデコーダ110bは、マウスメモリ120におけるアドレス(Xa、Ya)=(1、0)に格納されているマウス画像データを読み出すためのリードアドレスを生成してマウスメモリ120に出力する。これにより、LCD画面の座標(1、0)のドットには、マウスメモリ120のアドレス(Xa、Ya)=(1、0)に格納されているマウス画像データが表示される。
【0018】
このような読み出し動作がXスキャンカウンタXcの値が31になるまで、つまり選択ドット座標(Xc、Yc)=(31、0)になるまで繰り返されることにより、マウスメモリ120におけるアドレス(0、0)から(31、0)までのマウス画像データが順次読み出され、LCD画面の座標(0、0)から(31、0)のドットに表示される。
【0019】
カウンタ130は、カウント値が32に達する(この時、XスキャンカウンタXc=31)とカウント値をリセットする。この時、リードイネーブルデコーダ140によってリードイネーブル信号は無効状態になる。すなわち、LCD画面の座標(0、0)から(31、0)のドットに表示すべきマウス画像データの読み出しは終了しているが、XスキャンカウンタXcの値は1343までカウントアップされ、その値に応じたリードアドレスがアドレスデータ110bからマウスメモリ120に出力されることになるが、上記のようにリードイネーブル信号は無効状態に遷移しているため、XスキャンカウンタXcの値が32〜1343の期間ではマウス画像データの読み出しは行われない。
【0020】
そして、YスキャンカウンタYcが1にカウントアップすると(選択ドット座標(Xc、Yc)=(0、1)になると)、カウンタ130はカウント動作を再開してカウント値を1にカウントアップし、リードイネーブル信号は再び有効状態に遷移する。一方、アドレスデコーダ110bは、選択ドット座標(Xc、Yc)=(0、1)の時、マウスメモリ120におけるアドレス(Xa、Ya)=(0、1)に格納されているマウス画像データを読み出すためのリードアドレスを生成する。これにより、LCD画面の座標(0、1)のドットには、マウスメモリ120のアドレス(Xa、Ya)=(0、1)に格納されているマウス画像データが表示される。
【0021】
このような読み出し動作がXスキャンカウンタXcの値が31になるまで、つまり選択ドット座標(Xc、Yc)=(31、1)になるまで繰り返されることにより、マウスメモリ120におけるアドレス(0、1)から(31、1)までのマウス画像データが順次読み出され、LCD画面の座標(0、1)から(31、1)のドットに表示される。
【0022】
そして、以上のようなXアドレス方向の読み出し動作が、YスキャンカウンタYc=31となるまで繰り返されることにより、マウスメモリ120に記憶されている32×32ドットのマウス画像データが読み出され、図7に示すように、マウスカーソルの表示開始位置がLCD画面の原点位置に一致するように表示される。
【特許文献1】特開平10−307155号公報
【特許文献2】特開2000−314750号公報
【発明の開示】
【発明が解決しようとする課題】
【0023】
上述した従来のマウスコントローラ100では、以下のような問題点が指摘される。
(1)従来のマウスコントローラ100では、X座標指定信号Xs及びY座標指定信号Ysと、XスキャンカウンタXc及びYスキャンカウンタYcとを比較して、初めの1点のみ一致した場合にカウント動作を開始し、そのカウント期間のみマウス画像データを読み出す構成を採用しているため、カウンタ130やリードイネーブルデコーダ140等の回路が必要となり、マウスメモリ120のリードアドレスも順にインクリメントするしかできない。
【0024】
(2)従来では、XスキャンカウンタXc及びYスキャンカウンタYcの値は、当然負となることはないため、マウスカーソルの表示開始座標(Xs、Ys)は必ず正の値に設定する必要があった(表示開始座標(Xs、Ys)を負の値に設定すると、一致検出回路110aにて一致検出が不能となるため)。
【0025】
よって、図7に示すように、マウスカーソル(矢印)の先端がマウス画像領域の表示開始座標(Xs、Ys)と一致していれば、表示開始座標(Xs、Ys)=(0、0)とすることにより、問題なくマウスカーソルの先端をLCD画面の原点位置に移動させることができるが、図8(a)に示すように、マウスカーソルの先端がマウス画像領域の表示開始座標(Xs、Ys)と一致しないような場合、表示開始座標(Xs、Ys)の値を負に設定することができないため、マウスカーソルの先端をLCD画面の原点位置に移動させることができない。この場合、マウスカーソルの先端をLCD画面の原点位置に移動させるためには、図8(b)に示すように、マウス画像領域におけるマウスカーソルの配置を変更する必要があり、そのための画像変換処理が非常に複雑となる。
【0026】
本発明は、上述した事情に鑑みてなされたものであり、従来のようなカウンタやリードイネーブルデコーダ等の回路を省略でき、且つポインタ図形の先端がポインタ画像領域の表示開始座標と一致しないような場合であっても、ポインタ図形の先端を画面原点と一致させることの可能なポインタ表示制御装置及び表示装置を提供することを目的とする。
【課題を解決するための手段】
【0027】
上記課題を解決するために、本発明では、ポインタ表示制御装置に係る第1の解決手段として、ハードウェア記述言語を用いてプログラミングされると共にポインタ画像データを記憶する半導体集積回路からなり、外部から入力される操作指示と前記ポインタ画像データとに基づいて画面上におけるポインタの表示位置を制御するポインタ表示制御装置であって、ポインタ画像領域が画面選択領域に含まれるか否かを判定し、含まれる場合にはポインタ画像領域のうち前記画面選択領域に含まれる部分の前記ポインタ画像データを読み出すポインタ画像読出回路を具備することを特徴とする。
【0028】
また、ポインタ表示制御装置に係る第2の解決手段として、上記第1の解決手段において、前記ポインタ画像読出回路は、前記画面選択領域における現在の選択ドット座標及び前記操作指示に応じた正負の符号付きポインタ表示開始座標に基づいて、ポインタ画像領域が前記画面選択領域に含まれているか否かを判定する判定回路と、該判定回路によってポインタ画像領域が画面選択領域に含まれていると判定された場合に、ポインタ画像領域の内、画面選択領域に含まれている部分のポインタ画像データを読み出すためのリードアドレスを生成するアドレス生成回路と、から構成されていることを特徴とする。
【0029】
また、ポインタ表示制御装置に係る第3の解決手段として、上記第2の解決手段において、前記画面選択領域にはXY直交座標系が設定されており、前記判定回路は、ポインタ表示開始座標(Xs、Ys)、選択ドット座標(Xc、Yc)、ポインタ画像領域のX軸方向の幅Xw及びY軸方向の幅Ywからなる下記判定条件式(1)、(2)の両方が成立した場合に、ポインタ画像領域が前記画面選択領域に含まれていると判定することを特徴とする。
【0030】
【数1】

【0031】
また、ポインタ表示制御装置に係る第4の解決手段として、上記第3の解決手段において、前記アドレス生成回路は、前記判定条件式(1)、(2)の両方が成立した場合に、下記演算式(3)、(4)に基づいてポインタ画像メモリのX座標アドレスXa及びY座標アドレスYaを算出した後、下記リニアアドレス演算式(5)に基づいてリニアアドレスLaを算出し、該リニアアドレスLaをリードアドレスとして前記ポインタ画像メモリに出力することを特徴とする。
【0032】
【数2】

【0033】
さらに、本発明では、表示装置に係る解決手段として、画面を表示する表示部と、前記表示部の画面選択領域における選択ドット座標を示すタイミング信号を生成するタイミング生成部と、該タイミング生成部にて生成されたタイミング信号に基づいて、前記表示部における画面表示に必要な同期信号を生成する同期信号生成部と、画面に表示されたポインタを移動操作するためのポインタ操作部と、該ポインタ操作部の操作に応じて正負の符号付きポインタ表示開始座標を生成するポインタ座標生成部と、上記第1〜第4の解決手段のいずれかを有するポインタ表示制御装置と、該ポインタ表示制御装置のポインタ画像メモリから読み出されたポインタ画像データと他の画像データとを合成する画像合成部と、該画像合成部から得られる合成画像データに基づいて、前記表示部にて表示可能な画像データを生成する画像データ生成部とを具備することを特徴とする。
【発明の効果】
【0034】
本発明では、ポインタ表示制御装置を、正負の符号を扱えるハードウェア記述言語を用いてプログラミング可能な半導体集積回路によって構築し、正負両方の数値を扱えるデジタル演算処理を可能とした。従って、正負の符号付きのポインタ表示開始座標を取り入れて、ポインタ画像領域の内、画像選択領域に含まれている部分のポインタ画像データをポインタ画像メモリから読み出すことにより、ポインタ図形の先端がポインタ画像領域の表示開始座標と一致しないような場合であっても、ポインタ図形の先端を画面原点と一致させることが可能となる。
さらに、ハードウェア構成としては、従来のマウスコントローラ100と比べて、カウンタやリードイネーブルデコーダ等の回路を省略することができ、リソース及び設計期間を大幅に削減することが可能となる。
【発明を実施するための最良の形態】
【0035】
以下、図面を参照して、本発明に係るポインタ表示制御装置及び表示装置の一実施形態について説明する。
〔ポインタ表示制御装置〕
図1は、本実施形態に係るポインタ表示制御装置のブロック構成図である。なお、以下では、本実施形態に係るポインタ表示制御装置として、マウス(ポインタ操作部)の操作に応じてLCD画面上におけるマウスカーソル(ポインタ)の表示制御を行うマウスコントローラ1を例示して説明する。また、LCD画面としては、図7と同様に、スキャンエリア1344(X)×806(Y)ドット、表示エリア1024(X)×768(Y)ドットのLCD画面を想定する。
【0036】
図1に示すように、本実施形態におけるマウスコントローラ1は、マウスメモリ2及びマウス画像読出回路3から構成されている。このようなマウスコントローラ1は、正負の符号を扱うことの可能なハードウェア記述言語(例えば、Verilog HDL)を用いてプログラミングされた半導体集積回路(例えばFPGA)内に構築されたものである。つまり、マウスコントローラ1におけるデジタル演算処理では、正負両方の数値を扱うことが可能である。
【0037】
マウスメモリ2(ポインタ画像メモリ)は、図1に示すように、マウス画像データ、つまり横Xw×縦Ywのマウス画像領域に矢印等のポインタ図形が描画されたマウス画像を表すデータを予め記憶しているメモリである。ここでは、図1に示すように、Xw×Yw=32×32ドットに相当するマウス画像データがマウスメモリ2に記憶されているものとする。また、このマウス画像データは、マウスメモリ2におけるX座標アドレスXa=0〜31、Y座標アドレスYa=0〜31のメモリ空間に格納されている。
なお、本実施形態では、マウスカーソルの先端がマウス画像領域の表示開始座標(Xs、Ys)と一致しないようなマウス画像データが格納されているものとし、マウスカーソルの先端に相当するデータは、アドレス(Xa、Ya)=(20、20)に格納されているものとする。
【0038】
マウス画像読出回路3(ポインタ画像読出回路)は、LCD画面の現在の選択ドット座標(Xc、Yc)を示すXスキャンカウンタXc及びYスキャンカウンタYcと、LCD画面上におけるマウスカーソルの表示開始座標(Xs、Ys)を示すX座標指定信号Xs及びY座標指定信号Ys(正負の符号付き)を入力とし、これら選択ドット座標(Xc、Yc)及び正負の符号付き表示開始座標(Xs、Ys)に基づいて、マウス画像領域がLCD画面のスキャンエリア(画面選択領域)に含まれているか否かを判定し、含まれていると判定した場合に、マウス画像領域の内、スキャンエリアに含まれている部分のマウス画像データをマウスメモリ2から読み出す。
【0039】
なお、従来と同様に、XスキャンカウンタXc及びYスキャンカウンタYcは、不図示のタイミングジェネレータによって生成され、X座標指定信号Xs及びY座標指定信号Ysは、不図示のCPU(Central Processing Unit)によって生成される。
【0040】
このマウス画像読出回路3は、当たり判定回路3a及びアドレス生成回路3bから構成されている。当たり判定回路3aは、マウスカーソルの表示開始座標(Xs、Ys)、選択ドット座標(Xc、Yc)、マウス画像領域のX軸方向の幅Xw及びY軸方向の幅Ywからなる下記判定条件式(1)、(2)の両方が成立した場合に、マウス画像領域がLCD画面のスキャン領域に含まれていると判定し(マウスの当たり判定)、リードイネーブル信号を有効状態にしてマウスメモリ2に出力する。
【0041】
【数3】

【0042】
アドレス生成回路3bは、上記判定条件式(1)、(2)の両方が成立した場合に、下記演算式(3)、(4)に基づいてマウスメモリ2のアドレス(Xa、Ya)を算出した後、下記リニアアドレス演算式(5)に基づいてリニアアドレスLaを算出し(有効アドレス演算)、該リニアアドレスLaをリードアドレスとしてマウスメモリ2に出力する。
【0043】
【数4】

【0044】
次に、上記のように構成された本実施形態に係るマウスコントローラ1の動作について説明する。図2は、マウスコントローラ1の動作フローチャートである。この図2に示すように、マウスコントローラ1のマウス画像読出回路3には、LCD画面の現在の選択ドット座標(Xc、Yc)を示すXスキャンカウンタXc及びYスキャンカウンタYcと、マウスの操作に応じてLCD画面上におけるマウスカーソルの表示開始座標(Xs、Ys)を示すX座標指定信号Xs及びY座標指定信号Ys(正負の符号付き)が入力される(ステップS1)。
【0045】
ここで、図3に示すように、マウスカーソルの表示開始座標(Xs、Ys)=(−20、−20)を示すX座標指定信号Xs及びY座標指定信号Ysがマウス画像読出回路3に入力されたものと仮定する。
【0046】
続いて、マウス画像読出回路3における当たり判定回路3aは、マウス画像領域がLCD画面のスキャン領域に含まれているか否か、つまり、上記判定条件式(1)及び(2)の両方が成立するか否かを判定する(ステップS2)。具体的には、LCD画面上における現在の選択ドット座標(Xc、Yc)=(0、0)の場合、上記判定条件式(1)及び(2)の両方が成立するため(「TRUE」)、次のステップS3に移行する。この時、当たり判定回路3aは、リードイネーブル信号を有効状態にしてマウスメモリ2に出力する。
【0047】
上記のように、LCD画面上における現在の選択ドット座標(Xc、Yc)=(0、0)であって、判定条件式(1)及び(2)の両方が成立する場合、アドレス生成回路3bは、上記演算式(3)、(4)に基づいてマウスメモリ2のアドレス(Xa、Ya)を算出した後、下記リニアアドレス演算式(5)に基づいてリニアアドレスLaを算出する(ステップS3)。
【0048】
つまり、演算式(3)及び(4)により、マウスメモリ2のアドレス(Xa、Ya)=(20、20)となり、リニアアドレス演算式(5)により、リニアアドレスLa=20+(20<<SB)となる。なお、ここでは、説明の便宜上、アドレスを10進数表記しているが、実際には2進数であり、例えば8ビットのマウスメモリ2を想定すると、アドレスXa、Yaのそれぞれに4ビットずつ割り当てられるため、シフトビット数SBは5ビットとなる。
【0049】
上記のように生成されたリニアアドレスLaがリードアドレスとしてマウスメモリ2に出力され、これにより、マウスメモリ2からリードアドレスに格納されているマウス画像データが読み出される(ステップS4)。つまり、LCD画面の座標(0、0)のドットが選択されている時に、マウスメモリ2からアドレス(Xa、Ya)=(20、20)に格納されているマウス画像データ(マウスカーソルの先端のデータ)が読み出されることになる。そして、読み出されたマウス画像データは、不図示のビデオ合成部によって背景画像データと合成され、その結果、LCD画面の座標(0、0)のドットには、マウスメモリ2のアドレス(Xa、Ya)=(20、20)に格納されているマウス画像データが表示される。
【0050】
続いて、ステップS1に戻り、XスキャンカウンタXcがカウントアップされて選択ドット座標(Xc、Yc)=(1、0)となると、ステップS2での当たり判定回路3aによる当たり判定結果は「TRUE」のままであるのでステップS3に移行する。そして、ステップS3においてアドレス生成回路3bによる有効アドレス演算によって、マウスメモリ2のアドレス(Xa、Ya)=(21、20)、リニアアドレスLa=21+(20<<5)となる。これにより、LCD画面の座標(1、0)のドットが選択されている時に、マウスメモリ2からアドレス(Xa、Ya)=(21、20)に格納されているマウス画像データが読み出され、LCD画面の座標(1、0)のドットには、マウスメモリ2のアドレス(Xa、Ya)=(21、20)に格納されているマウス画像データが表示される。
【0051】
このようなステップS1〜S4の一連の動作がXスキャンカウンタXcの値が12になるまで、つまり選択ドット座標(Xc、Yc)=(12、0)になるまで繰り返され、マウスメモリ2におけるアドレス(20、20)から(31、20)までのマウス画像データが順次読み出され、LCD画面の座標(0、0)から(12、0)のドットに表示される。
【0052】
そして、XスキャンカウンタXcの値が13になった場合、つまり選択ドット座標(Xc、Yc)=(13、0)になった場合、判定条件式(1)が成立しなくなるため、ステップS2における当たり判定結果は「FALES」となり、ステップS3、S4を行うことなく、ステップS1に戻る。この時、当たり判定回路3aは、リードイネーブル信号を無効状態にしてマウスメモリ2に出力する。
【0053】
このように、ステップS2における当たり判定結果が「FALES」となる期間は、XスキャンカウンタXcの値が13から1343に達するまで継続する。つまり、選択ドット座標(Xc、Yc)が(13、0)から(1343、0)に達するまでの期間では、マウスメモリ2からのマウス画像データの読み出しは行われない。
【0054】
そして、XスキャンカウンタXcがリセットされて、YスキャンカウンタYcが1にカウントアップすると(選択ドット座標(Xc、Yc)=(0、1)になると)、判定条件式(1)及び(2)の両方が成立するため、ステップS2における当たり判定結果が再び「TRUE」となり、上記と同様に、ステップS1〜S4の一連の動作がXスキャンカウンタXcの値が12になるまで、つまり選択ドット座標(Xc、Yc)=(12、1)になるまで繰り返され、マウスメモリ2におけるアドレス(20、21)から(31、21)までのマウス画像データが順次読み出され、LCD画面の座標(0、1)から(12、1)のドットに表示される。
【0055】
そして、XスキャンカウンタXcの値が13になった場合、つまり選択ドット座標(Xc、Yc)=(13、1)になった場合、判定条件式(1)が再び成立しなくなるため、ステップS2における当たり判定結果は再び「FALES」となり、選択ドット座標(Xc、Yc)が(13、1)から(1343、1)に達するまでの期間では、マウスメモリ2からのマウス画像データの読み出しは行われない。
【0056】
以上のような動作がYスキャンカウンタYcの値が12になるまで繰り返されることにより、マウスメモリ2に記憶されている32×32ドットのマウス画像データの内、スキャンエリアに含まれている部分、つまりアドレス(20、20)から(31、31)までのマウス画像データが読み出され、LCD画面の座標(0、0)から(12、12)の矩形領域に表示される。すなわち、図3に示すように、マウスカーソルの先端がマウス画像領域の表示開始座標(Xs、Ys)と一致していなくても、マウスカーソルの先端をLCD画面の原点位置に移動させることができる。
【0057】
一方、YスキャンカウンタYcの値が13になった場合、つまり選択ドット座標(Xc、Yc)=(0、13)になった場合、判定条件式(2)が成立しなくなるため、ステップS2における当たり判定結果は再び「FALES」となり、選択ドット座標(Xc、Yc)が(0、13)から(1343、805)に達するまでの期間では、マウスメモリ2からのマウス画像データの読み出しは行われない。
【0058】
以上のように、本実施形態では、マウスコントローラ1を、正負の符号を扱えるハードウェア記述言語を用いてプログラミング可能なFPGAによって構築し、正負両方の数値を扱えるデジタル演算処理を可能とした。従って、正負の符号付きのマウスカーソルの表示開始座標(Xs、Ys)を取り入れて、判定条件式(1)及び(2)による当たり判定を行うことにより、マウスカーソルの先端がマウス画像領域の表示開始座標(Xs、Ys)と一致していなくてもマウスカーソルの先端をLCD画面の原点位置に移動させることが可能となる。
【0059】
また、マウスメモリ2のアドレス(Xa、Ya)に正負の符号を取り入れたリニアドレス演算を行うことにより、マウスカーソルの表示開始座標(Xs、Ys)を負に設定した場合でも、従来(図8(b)参照)のようにマウス画像変換処理を行うことなく、容易にマウス画像の途中(スキャンエリアに含まれる部分)から表示させることが可能となる。
さらに、ハードウェア構成としては、従来のマウスコントローラ100(図6参照)と比べて、カウンタ130やリードイネーブルデコーダ140等の回路を省略することができ、リソース及び設計期間を大幅に削減することが可能となる。
【0060】
なお、上記実施形態では、マウスカーソルとして矢印を例示したが、砂時計等の特殊な図形やライン状の図形であっても、表示開始座標(Xs、Ys)を負の領域に移動させることにより、図4(a)に示すような表示が可能となる。また、上記実施形態では、ポインタ操作部としてマウスを想定して説明したが、例えば図4(b)に示すように、ポインタ操作部としてロータリーノブ等を回転操作することにより、計測用のライン状のマーカを移動させるような場合でも本発明を適用することができる。
【0061】
〔表示装置〕
続いて、本実施形態に係る表示装置について説明する。なお、以下では、本実施形態に係る表示装置として、デジタルオシロスコープ等、計測した波形を表示部に表示する波形計測装置を例示して説明する。
【0062】
図5は、本実施形態に係る波形計測装置10の構成概略図である。この図5に示すように、波形計測装置10は、マウス20、マザーボード30及びLCD40から構成されている。マウス20(ポインタ操作部)は、LCD40の画面に表示されるマウスカーソルを移動操作するためのポインティングデバイスであり、その操作に応じて移動方向及び移動量などの操作情報をマザーボード30上に実装されたUSB(Universal Serial Bus)−I/F31に出力する。
【0063】
マザーボード30上には、USB−I/F31、CPU32、PCI(Peripheral Component Interconnect)バス33、波形メモリ34及びグラフィックコントローラFPGA35が実装されている。
【0064】
USB−I/F31は、マウス20とCPU32との間で信号の送受信を行うためのインタフェースであり、マウス20から入力される移動方向及び移動量などの操作情報をCPU32に出力する。CPU32(ポインタ座標生成部)は、マウス20からUSB−I/F31を介して取得した操作情報に基づいて、LCD40の画面上におけるマウスカーソルの正負の符号付き表示開始座標(Xs、Ys)を演算し、その演算結果をX座標指定信号Xs及びY座標指定信号Ysとして、PCIバス33を介してグラフィックコントローラFPGA35に出力する。波形メモリ34は、不図示の計測部によって計測された波形や、その他の汎用波形を記憶するメモリである。
【0065】
グラフィックコントローラFPGA35は、正負の符号を扱うことの可能なハードウェア記述言語を用いてプログラミングされたFPGAであり、その内部には、マウスコントローラ1、マーカコントローラ1A、カーソルコントローラ1B、PCI−I/F35a、タイミングジェネレータ35b、波形コントローラ35c、波形メモリI/F35d、ビデオ合成部35e、LVDS(Low Voltage Differential Signaling)ドライバ35f、35gがロジック回路によって構築されている。
【0066】
マウスコントローラ1(ポインタ表示制御装置)は、上述したように、マウス20の操作に応じてLCD40の画面上におけるマウスカーソルの表示制御を行うものであり、マウスメモリ2及びマウス画像読出回路3(当たり判定回路3a、アドレス生成回路3b)から構成されている。なお、マウスコントローラ1については既に記述しているので詳細な説明を省略する。
【0067】
マーカコントローラ1A(ポインタ表示制御装置)は、不図示のマーカ操作部(例えばロータリーノブ等)の操作に応じてLCD40の画面上におけるライン状のマーカの表示制御を行うものであり、その内部構成はマウスコントローラ1と同様である(マウスメモリ2の代わりにマーカ画像データを記憶するマーカメモリを有する)。カーソルコントローラ1B(ポインタ表示制御装置)は、不図示のカーソル操作部の操作に応じてLCD40の画面上における所定図形のカーソルの表示制御を行うものであり、その内部構成はマウスコントローラ1と同様である(マウスメモリ2の代わりにカーソル画像データを記憶するカーソルメモリを有する)。
【0068】
PCI−I/F35aは、PCIバス33とグラフィックコントローラFPGA35との間で信号の送受信を行うためのインタフェースであり、PCIバス33を介してCPU32から送られるX座標指定信号Xs及びY座標指定信号Ysをマウスコントローラ1に出力すると共に、マウスメモリ2に記憶すべきマウス画像データをマウスメモリ2に出力したり、波形メモリ34に記憶すべき波形データを波形メモリI/F35dに出力する。
【0069】
タイミングジェネレータ35b(タイミング生成部)は、LCD40の画面の現在の選択ドット座標(Xc、Yc)を示すXスキャンカウンタXc及びYスキャンカウンタYcをタイミング信号として生成し、これらXスキャンカウンタXc及びYスキャンカウンタYcをマウスコントローラ1、マーカコントローラ1A、カーソルコントローラ1B、波形コントローラ35c及びLVDSドライバ35fに出力する。
【0070】
波形コントローラ35cは、XスキャンカウンタXc及びYスキャンカウンタYcに同期して、波形メモリ34から波形メモリI/F35dを介して波形データを読み出し、当該読み出した波形データをビデオ合成部35eに出力する。波形メモリI/F35dは、波形メモリ34と波形コントローラ35cとの間、及び波形メモリ34とPCI−I/F35aとの間で信号の送受信を行うインタフェースである。
【0071】
ビデオ合成部35e(画像合成部)は、マウスコントローラ1から出力されるマウス画像データ、マーカコントローラ1Aから出力されるマーカ画像データ、カーソルコントローラ1Bから出力されるカーソル画像データ、波形コントローラ35cから出力される波形データを合成し、その合成画像データをLVDSドライバ35gに出力する。
【0072】
LVDSドライバ35f(同期信号生成部)は、タイミングジェネレータ35bにて生成されたXスキャンカウンタXc及びYスキャンカウンタYcに基づいて、LCD40における画面表示に必要な同期信号を生成してLCD40に出力する。LVDSドライバ35g(画像データ生成部)は、ビデオ合成部35eから得られる合成画像データに基づいて、LCD40にて表示可能な画像データを生成してLCD40に出力する。
【0073】
LCD40(表示部)は、例えばスキャンエリア1344(X)×806(Y)ドット、表示エリア1024(X)×768(Y)ドットの画面を有する液晶ディスプレイであり、LVDSドライバ35fにて生成された同期信号、及びLVDSドライバ35gにて生成された画像データに基づいて、画面上にマウスカーソル、マーカ、カーソル、波形等の画像を表示する。
【0074】
以上のように構成された波形計測装置10によれば、マウスカーソル、マーカ、カーソルの先端がそれぞれの画像領域の表示開始座標と一致していなくても、それぞれの先端をLCD40の画面の原点位置に移動させることが可能となる。
なお、上記実施形態では、表示装置として波形計測装置10を例示したが、この他、パーソナルコンピュータ等、ポインタ操作部の操作に応じて画面上にポインタを表示するような表示装置であれば、本発明を適用することができる。
【図面の簡単な説明】
【0075】
【図1】本発明の一実施形態に係るポインタ表示制御装置(マウスコントローラ1)のブロック構成図である。
【図2】本発明の一実施形態に係るマウスコントローラ1の動作フローチャートである。
【図3】本発明の一実施形態に係るマウスコントローラ1の動作に関する補助説明図である。
【図4】本発明の一実施形態に係るマウスコントローラ1を使用した場合の画面表示例である。
【図5】本発明の一実施形態に係る表示装置(波形計測装置10)の構成概略図である。
【図6】従来におけるマウスコントローラ100のブロック構成図である。
【図7】従来におけるマウスコントローラ100に関する補助説明図である。
【図8】従来におけるマウスコントローラ100の問題点を示す説明図である。
【符号の説明】
【0076】
1…マウスコントローラ(ポインタ表示制御装置)、2…マウスメモリ、3…マウス画像読出回路、3a…当たり判定回路、3b…アドレス生成回路、10…波形計測装置(表示装置)、20…マウス、30…マザーボード、40…LCD、31…USB−I/F、32…CPU、33…PCIバス、34…波形メモリ、35…グラフィックコントローラFPGA、1A…マーカコントローラ、1B…カーソルコントローラ、35a…PCI−I/F、35b…タイミングジェネレータ、35c…波形コントローラ、35d…波形メモリI/F、35e…ビデオ合成部、35f、35g…LVDSドライバ

【特許請求の範囲】
【請求項1】
ハードウェア記述言語を用いてプログラミングされると共にポインタ画像データを記憶する半導体集積回路からなり、外部から入力される操作指示と前記ポインタ画像データとに基づいて画面上におけるポインタの表示位置を制御するポインタ表示制御装置であって、
ポインタ画像領域が画面選択領域に含まれるか否かを判定し、含まれる場合にはポインタ画像領域のうち前記画面選択領域に含まれる部分の前記ポインタ画像データを読み出すポインタ画像読出回路を具備することを特徴とするポインタ表示制御装置。
【請求項2】
前記ポインタ画像読出回路は、
前記画面選択領域における現在の選択ドット座標及び前記操作指示に応じた正負の符号付きポインタ表示開始座標に基づいて、ポインタ画像領域が前記画面選択領域に含まれているか否かを判定する判定回路と、
該判定回路によってポインタ画像領域が画面選択領域に含まれていると判定された場合に、ポインタ画像領域の内、画面選択領域に含まれている部分のポインタ画像データを読み出すためのリードアドレスを生成するアドレス生成回路と、から構成されていることを特徴とする請求項1記載のポインタ表示制御装置。
【請求項3】
前記画面選択領域にはXY直交座標系が設定されており、
前記判定回路は、ポインタ表示開始座標(Xs、Ys)、選択ドット座標(Xc、Yc)、ポインタ画像領域のX軸方向の幅Xw及びY軸方向の幅Ywからなる下記判定条件式(1)、(2)の両方が成立した場合に、ポインタ画像領域が前記画面選択領域に含まれていると判定することを特徴とする請求項2記載のポインタ表示制御装置。
【数1】

【請求項4】
前記アドレス生成回路は、前記判定条件式(1)、(2)の両方が成立した場合に、下記演算式(3)、(4)に基づいてポインタ画像メモリのX座標アドレスXa及びY座標アドレスYaを算出した後、下記リニアアドレス演算式(5)に基づいてリニアアドレスLaを算出し、該リニアアドレスLaをリードアドレスとして前記ポインタ画像メモリに出力することを特徴とする請求項3記載のポインタ表示制御装置。
【数2】

【請求項5】
画面を表示する表示部と、
前記表示部の画面選択領域における選択ドット座標を示すタイミング信号を生成するタイミング生成部と、
該タイミング生成部にて生成されたタイミング信号に基づいて、前記表示部における画面表示に必要な同期信号を生成する同期信号生成部と、
画面に表示されたポインタを移動操作するためのポインタ操作部と、
該ポインタ操作部の操作に応じて正負の符号付きポインタ表示開始座標を生成するポインタ座標生成部と、
請求項1〜4のいずれか一項に記載のポインタ表示制御装置と、
該ポインタ表示制御装置のポインタ画像メモリから読み出されたポインタ画像データと他の画像データとを合成する画像合成部と、
該画像合成部から得られる合成画像データに基づいて、前記表示部にて表示可能な画像データを生成する画像データ生成部と、
を具備することを特徴とする表示装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−96967(P2010−96967A)
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願番号】特願2008−267340(P2008−267340)
【出願日】平成20年10月16日(2008.10.16)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】