(57)【特許請求の範囲】
【請求項１】
表示画面上に表示されているウィンドウと当該ウィンドウ内のオブジェクトを選択するヒットテスト装置において、
前記表示画面上に表示中のウィンドウデータを表示階層の順にソートするウィンドウデータソート部と、
前記ウィンドウデータソート部でソートされたウィンドウデータ毎にそれぞれ異なる色情報を関連付けるウィンドウ・色関連付け部と、
前記ウィンドウ・色関連付け部で関連付けられたウィンドウデータと色情報に基づき、その色情報に対応する色のウィンドウを表示階層の下から順にヒットテストプレーンに描画するウィンドウ描画部と、
前記表示画面上の選択座標に基づき、その座標に対応する前記ウィンドウ描画部で描画されたヒットテストプレーン上の色情報を読み出すウィンドウ・色読み出し部と、
前記ウィンドウ・色関連付け部で関連付けられたウィンドウデータと色情報から、前記ウィンドウ・色読み出し部で読み出した色情報に関連付けられたウィンドウデータを検索し、当該検索結果のウィンドウデータを選択されたウィンドウとして決定するウィンドウ検索部と、
前記ウィンドウ検索部で選択されたウィンドウ内に表示中のオブジェクトデータを表示階層の順にソートするオブジェクトデータソート部と、
前記オブジェクトデータソート部でソートされたオブジェクトデータ毎にそれぞれ異なる色情報を関連付けるオブジェクト・色関連付け部と、
前記オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するオブジェクト描画部と、
前記表示画面上の選択座標に基づき、その座標に対応する前記オブジェクト描画部で描画されたヒットテストプレーン上の色情報を読み出すオブジェクト・色読み出し部と、
前記オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報から、前記オブジェクト・色読み出し部で読み出した色情報に関連付けられたオブジェクトデータを検索し、当該検索結果のオブジェクトデータを選択されたオブジェクトとして決定するオブジェクト検索部と、
を備えたことを特徴とするヒットテスト装置。
【請求項２】
前記色情報を構成するビットが、ウィンドウデータを識別するビットとオブジェクトデータを識別するビットに所定の割合で割り当てられる
ことを特徴とする請求項１記載のヒットテスト装置。
【請求項３】
前記オブジェクト・色関連付け部は、ハッシュ法を用いてオブジェクトデータ毎にそれぞれ異なる色情報を関連付け、
前記オブジェクト検索部は、前記オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報から、ハッシュ法を用いて、前記オブジェクト・色読み出し部で読み出した色情報に対応するオブジェクトデータを検索する
ことを特徴とする請求項１または請求項２記載のヒットテスト装置。
【請求項４】
前記ウィンドウ・色関連付け部は、ハッシュ法を用いてウィンドウデータ毎にそれぞれ異なる色情報を関連付け、
前記ウィンドウ検索部は、前記ウィンドウ・色関連付け部で関連付けられたウィンドウデータと色情報から、ハッシュ法を用いて、前記ウィンドウ・色読み出し部で読み出した色情報に対応するウィンドウデータを検索する
ことを特徴とする請求項１から請求項３のうちのいずれか１項記載のヒットテスト装置。
【請求項５】
前記オブジェクトデータソート部、前記オブジェクト・色関連付け部、前記オブジェクト描画部、前記ウィンドウデータソート部、前記ウィンドウ・色関連付け部、および前記ウィンドウ描画部の機能を実行する演算プロセッサと、
前記オブジェクト・色読み出し部、前記オブジェクト検索部、前記ウィンドウ・色読み出し部および前記ウィンドウ検索部の機能を実行するプログラマブルユニットを内蔵した描画グラフィックスＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）と、
を備えたことを特徴とする請求項１から請求項４のうちのいずれか１項記載のヒットテスト装置。
【請求項６】
表示画面上に表示されているウィンドウと当該ウィンドウ内のオブジェクトを選択するヒットテスト方法において、
前記表示画面上に表示されているウィンドウデータを表示階層の順にソートするウィンドウデータソート工程と、
前記ウィンドウデータソート工程でソートされたウィンドウデータ毎にそれぞれ異なる色情報を関連付けるウィンドウ・色関連付け工程と、
前記ウィンドウ・色関連付け工程で関連付けられたウィンドウデータと色情報に基づき、その色情報に対応する色のウィンドウを表示階層の下から順にヒットテストプレーンに描画するウィンドウ描画工程と、
前記表示画面上の選択座標に基づき、その座標に対応する前記ウィンドウ描画工程で描画されたヒットテストプレーン上の色情報を読み出すウィンドウ・色読み出し工程と、
前記ウィンドウ・色関連付け工程で関連付けられたウィンドウデータと色情報から、前記ウィンドウ・色読み出し工程で読み出した色情報に関連付けられたウィンドウデータを検索し、当該検索結果のウィンドウデータを選択されたウィンドウとして決定するウィンドウ検索工程と、
前記ウィンドウ検索工程で選択されたウィンドウ内に表示中のオブジェクトデータを表示階層の順にソートするオブジェクトデータソート工程と、
前記オブジェクトデータソート工程でソートされたオブジェクトデータ毎にそれぞれ異なる色情報を関連付けるオブジェクト・色関連付け工程と、
前記オブジェクト・色関連付け工程で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するオブジェクト描画工程と、
前記表示画面上の選択座標に基づき、その座標に対応する前記オブジェクト描画工程で描画されたヒットテストプレーン上の色情報を読み出すオブジェクト・色読み出し工程と、
前記オブジェクト・色関連付け工程で関連付けられたオブジェクトデータと色情報から、前記オブジェクト・色読み出し工程で読み出した色情報に関連付けられたオブジェクトデータを検索し、当該検索結果のオブジェクトデータを選択されたオブジェクトとして決定するオブジェクト検索工程と、
を備えたことを特徴とするヒットテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、表示画面上に表示されているオブジェクトを選択するヒットテスト装置及びヒットテスト方法に関するものである。
【背景技術】
【０００２】
コンピュータなどにおける表示画面上で、マウスやタッチパネルなどの選択装置により表示画面上のアイコンや図形などのオブジェクトを選択するヒットテスト方法としてピック処理を用いる方法がある。ピック処理では、選択場所を示す座標が各オブジェクトの外接矩形内に含まれるかどうかを判定する処理が行われる。
例えば特許文献１のピック処理によれば、各オブジェクトの外接矩形を演算し、表示画面上の選択場所を示す矩形とオブジェクトの外接矩形との重なり状態を算出して重なり具合を判定し、２つの矩形が重なった場合、選択場所を示す矩形に対応したビットマップを作成し、重なった外接矩形に対応するオブジェクトをビットマップに書き込み、そのビットマップの変化を確認することでオブジェクトを選択したかを判定する方法が開示されている。この方法だと、ビットマップにｎビットを割り当てることで最大ｎ個のオブジェクトを判定できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０６−０８３９２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のピック処理によるヒットテストは、表示画面に表示するオブジェクト数が多い場合には、オブジェクトの外接矩形の演算量が増加してヒットテストの処理速度が遅くなるという課題があった。また、オブジェクト同士が重なり合う場合、そのオブジェクト間の前後関係を算出するため、演算量がさらに増加するという課題があった。また、組込向けなどのＣＰＵ性能が低い環境や、ヒットテストを含む表示関連の処理以外にＣＰＵの演算処理時間を割り当てる必要がある場合には、ヒットテスト処理の演算処理時間を削減する必要があるため、ヒットテストの処理速度が遅くなるという課題があった。
【０００５】
この発明は、上記のような課題を解決するためになされたもので、演算量を低減させ、高速でヒットテスト処理を実現できるヒットテスト装置及びヒットテスト方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るヒットテスト装置は、表示画面上に表示中のウィンドウデータを表示階層の順にソートするウィンドウデータソート部と、ウィンドウデータソート部でソートされたウィンドウデータ毎にそれぞれ異なる色情報を関連付けるウィンドウ・色関連付け部と、ウィンドウ・色関連付け部で関連付けられたウィンドウデータと色情報に基づき、その色情報に対応する色のウィンドウを表示階層の下から順にヒットテストプレーンに描画するウィンドウ描画部と、表示画面上の選択座標に基づき、その座標に対応するウィンドウ描画部で描画されたヒットテストプレーン上の色情報を読み出すウィンドウ・色読み出し部と、ウィンドウ・色関連付け部で関連付けられたウィンドウデータと色情報から、ウィンドウ・色読み出し部で読み出した色情報に関連付けられたウィンドウデータを検索し、当該検索結果のウィンドウデータを選択されたウィンドウとして決定するウィンドウ検索部と、ウィンドウ検索部で選択されたウィンドウ内に表示中のオブジェクトデータを表示階層の順にソートするオブジェクトデータソート部と、オブジェクトデータソート部でソートされたオブジェクトデータ毎にそれぞれ異なる色情報を関連付けるオブジェクト・色関連付け部と、オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するオブジェクト描画部と、表示画面上の選択座標に基づき、その座標に対応するオブジェクト描画部で描画されたヒットテストプレーン上の色情報を読み出すオブジェクト・色読み出し部と、オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報から、オブジェクト・色読み出し部で読み出した色情報に関連付けられたオブジェクトデータを検索し、当該検索結果のオブジェクトデータを選択されたオブジェクトとして決定するオブジェクト検索部とを備えたものである。
【発明の効果】
【０００７】
この発明に係るヒットテスト装置及びヒットテスト方法によれば、上記のように構成したことにより、表示画面上のオブジェクト毎に関連付けた色情報を用いてヒットテストプレーンに描画し、選択座標に相当するヒットテストプレーン上の色情報を読み出して対応するオブジェクトを検索することでオブジェクトを選択するので、ヒットテスト処理の演算量を低減させることができる。その結果、高速でヒットテスト処理を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１に係るヒットテスト装置の構成を示す図（ａ），（ｂ）である。
【図２】この発明の実施の形態１に係るヒットテスト装置の動作処理を示すフロー図である。
【図３】実施の形態１における表示画面の一例を示す図である。
【図４】この発明の実施の形態１に係るヒットテスト装置におけるオブジェクト参照テーブルを示す図である。
【図５】実施の形態１に係るヒットテスト装置におけるヒットテストプレーンを示す図である。
【図６】この発明の実施の形態２に係るヒットテスト装置における動作処理を説明する図である。
【図７】この発明の実施の形態４に係るヒットテスト装置の構成を示す図である。
【図８】この発明の実施の形態４に係るヒットテスト装置の動作処理を示すフロー図である。
【図９】実施の形態４における表示画面の一例を示す図である。
【図１０】実施の形態４に係るヒットテスト装置におけるヒットテストプレーンを示す図（ａ），（ｂ）である。
【発明を実施するための形態】
【０００９】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１（ａ）は、実施の形態１に係るヒットテスト装置を実現するための構成を示している。ヒットテスト装置は、演算プロセッサ１、システムメモリ２、描画グラフィックスＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）３がバスによりそれぞれ通信可能に接続された描画制御装置において、例えば演算プロセッサ１で実行される処理プログラム４により実現される。また、これらの構成に加え、既知の技術で構成されたモニタ等の表示装置（不図示）やマウス、キーボード、タッチパネル等の選択装置（不図示）と通信可能に接続されている。
【００１０】
演算プロセッサ１は、例えばＣＰＵで構成され、演算処理を実行する機能を有している。
演算プロセッサ１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を実装し、このＯＳ上で複数のアプリケーションや複数のタスクを動作させており、その一つとして表示装置に表示された表示画面上のオブジェクトが選択されたかを検出するヒットテスト処理プログラムを実行させている。
【００１１】
システムメモリ２は、演算プロセッサ１の命令コードやデータ、ヒットテスト処理プログラム、後述する参照テーブルを保持しており、演算プロセッサ１からの要求に応じてこれらのデータの入出力を行う。
【００１２】
描画グラフィックスＬＳＩ３は、表示装置の表示画面上に表示する描画プレーンを生成するよう機能する。また、描画グラフィックスＬＳＩ３は、演算プロセッサ１からの指示にしたがってヒットテスト用のヒットテストプレーンにオブジェクトを描画する。描画グラフィックスＬＳＩ３にはグラフィックスメモリ５が接続されており、グラフィックスメモリ５は、描画グラフィックスＬＳＩ３で生成された表示画面のイメージとしての描画プレーンやヒットテスト用のヒットテストプレーンを保持するフレームバッファとしての機能と、非表示イメージ（非表示画面データ）を記憶する機能を有する。また、グラフィックスメモリ５は、描画グラフィックスＬＳＩ３からの要求に応じて記憶したデータの入出力を行う。
【００１３】
次にヒットテスト装置の機能的構成について図１（ｂ）を用いて説明する。
ヒットテスト装置１０は、オブジェクトデータソート部１１、色情報関連付け部１２（オブジェクト・色関連付け部）、オブジェクト描画部１３、色情報読み出し部１４（オブジェクト・色読み出し部）、オブジェクト検索部１５で構成されている。
【００１４】
オブジェクトデータソート部１１は、グラフィックスメモリ５に記憶されている描画プレーンに基づき表示画面上に表示中のオブジェクト毎のデータ（オブジェクトデータ）を取得し、その表示中のオブジェクトデータに対して表示階層の下から順に並び替え（ソート）を行う。ここで、オブジェクトデータは、オブジェクトを描画するための座標、オブジェクトを識別する名称などの情報に加え、オブジェクト毎にそれぞれ異なる表示階層を示す情報を含んでいる。このオブジェクトデータの表示階層を示す情報により、複数のオブジェクトが重なる位置に描画される場合、各オブジェクトの前後関係を考慮して描画されている。
【００１５】
色情報関連付け部１２は、オブジェクトデータソート部１１でソートされた表示中のオブジェクトデータに対し一意に識別可能な色情報を関連付けて付加し、システムメモリ２内のオブジェクト参照テーブルに記憶する。ここで一意に識別可能な色情報を関連付けるとは、表示中のオブジェクトデータ毎にそれぞれ異なる色情報を割り当てるということである。
【００１６】
オブジェクト描画部１３は、オブジェクト参照テーブルを参照し、色情報関連付け部１２で関連付けられたオブジェクトデータと色情報に基づき、色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するよう機能する。ここでヒットテストプレーンは、表示画面上に表示しないヒットテスト用の描画面であり、グラフィックメモリ３１内に用意されている。
【００１７】
色情報読み出し部１４は、ユーザから選択装置を用いて入力された表示装置の表示画面上の選択座標に基づき、その選択座標に対応する、オブジェクト描画部１３で描画されたヒットテストプレーン上の色情報を読み出すよう機能する。
【００１８】
オブジェクト検索部１５は、色情報読み出し部１４で読み出した色情報を取得すると、オブジェクト参照テーブルを参照し、色情報関連付け部１２で関連付けられたオブジェクトデータと色情報から、色情報読み出し部１４で読み出した色情報に関連付けられたオブジェクトデータを検索し、その検索結果のオブジェクトデータを選択されたオブジェクトのデータ（選択オブジェクトデータ）として決定するよう機能する。
【００１９】
なお、ここでは、オブジェクトデータソート部１１がオブジェクトデータを表示階層の下から順に並び替える構成について説明しているが、オブジェクトが表示階層の下から順番にヒットテストプレーンに描画されるよう構成されていればよい。例えば、オブジェクトデータソート部１１がオブジェクトデータのソートを行う構成に替えて、図形描画を管理する外部の画面描画装置または画面描画プログラムからオブジェクト毎の表示階層を示すソート情報を通知してもらうよう構成した場合、オブジェクト描画部１３はソート情報を用いて表示階層の下から順にオブジェクトを描画するように構成される。
【００２０】
次に、実施の形態１のヒットテスト装置１０の動作処理について図２のフロー図を用いて説明する。
ヒットテスト装置１０は、ユーザにより選択装置を介して表示装置の表示画面上の位置が指定されると処理を開始する（スタート）。
ヒットテスト装置１０のオブジェクトデータソート部１１は、グラフィックスメモリ５に記憶されている描画プレーンに基づき、表示画面上に表示中のオブジェクト毎のデータ（オブジェクトデータ）を取得し、そのオブジェクトデータを表示階層の下から順にソートする（ステップＳＴ１０１）（オブジェクトデータソート工程）。
【００２１】
色情報関連付け部１２は、オブジェクトデータソート部１１でソートされたオブジェクトデータ毎にそれぞれ異なる色を示す色情報を関連付け、システムメモリ２内のオブジェクト参照テーブルに記憶する（ステップＳＴ１０２）（オブジェクト・色関連付け工程）。
オブジェクト描画部１３は、オブジェクト参照テーブルを参照し、色情報関連付け部１２で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画する（ステップＳＴ１０３）（オブジェクト描画工程）。
【００２２】
色情報読み出し部１４は、選択装置から選択された表示画面上の選択座標を取得し、その選択座標に対応する、オブジェクト描画部１３で描画されたヒットテストプレーン上の座標における色情報を読み出す（ステップＳＴ１０４）（オブジェクト・色読み出し工程）。
オブジェクト検索部１５は、色情報読み出し部１４で読み出した色情報を取得すると、参照テーブルを参照し、色情報関連付け部１２で関連付けられたオブジェクトデータと色情報から、色情報読み出し部１４で読み出した色情報に関連付けられたオブジェクトデータを検索する（ステップＳＴ１０５）（オブジェクト検索工程）。オブジェクト検索部１５は、検索結果のオブジェクトデータをヒットテスト結果の選択オブジェクトデータとして決定して処理を終了する（エンド）。このとき、外部の描画制御装置は、オブジェクト検索部１５からの選択オブジェクトデータに対応する描画プレーン上のオブジェクトに対して、例えば選択されたことを強調表示する。
【００２３】
ここで、実施の形態１に係るヒットテスト装置１０の動作処理の具体的一例について図３から図５を用いて説明する。図３は外部の表示装置に表示される表示画面としての描画プレーン１３０を示している。図４はヒットテスト装置１０で用いるオブジェクト参照テーブル１４０を示している。図５はヒットテスト装置１０において描画するヒットテストプレーン１５０を示している。なお、ここではヒットテストターゲットとしてのオブジェクトが矩形である場合の具体的一例を示す。
【００２４】
図３に示すように、表示画面のイメージを保持する描画プレーン１３０には、オブジェクトとして、表示階層の下から順に図形１３１、図形１３２、図形１３３がそれぞれ重なり合った状態で描画されている。また、描画プレーン１３０には、選択装置で指定された選択位置１３４が表示されている。
このとき、上記ステップＳＴ１０１において、オブジェクトデータソート部１１が、表示階層の最下位に位置する図形１３１のオブジェクトデータから、図形１３２のオブジェクトデータ、図形１３３のオブジェクトデータの順にソートする。
【００２５】
上記ステップＳＴ１０２において、色情報関連付け部１２により関連付けられたオブジェクトデータと色情報を示すオブジェクト参照テーブル１４０は、例えば図４に示すように、オブジェクト名称と色情報で構成されており、図形１３１は赤、図形１３２は緑、図形１３３は青に関連付けられる。このとき、カラーフォーマットＲＧＢのＲ（Ｒｅｄ）を８ビット、Ｇ（Ｇｒｅｅｎ）を８ビット、Ｂ（Ｂｌｕｅ）を８ビットとすると、赤は「0xFF0000」、緑は「0x00FF00」、青は「0x0000FF」で示すことができ、これらを色情報とする。色情報のビット数により、ヒットテスト可能なオブジェクト数が変化する。上記のようにＲＧＢがそれぞれ８ビットの２４ビットプレーンとする場合には、２の２４乗で１６７７７２１６色を表せるため、１６７７７２１６個のオブジェクトを判別が可能である。また、Ｒが５ビット、Ｇが６ビット、Ｂが５ビットの場合は、２の１６乗で６５５３６色が表せるため、６５５３６個のオブジェクトの判別が可能である。すなわち、色情報で表現できる色の数と同じ数のオブジェクトを判別することができる。
【００２６】
上記ステップＳＴ１０３において描画されたヒットテストプレーン１５０には、例えば図５に示すように、図４のオブジェクト参照テーブル１４０を参照して、赤色の図形１５１、緑色の図形１５２、青色の図形１５３、および選択位置１３４が描画される。ここで、赤色の図形１５１は描画プレーン１３０の図形１３１に関連付けられた色情報「0xFF0000」に対応して描画されたものであり、緑色の図形１５２は描画プレーン１３０の図形１３２に関連付けられた色情報「0x00FF00」に対応して描画されたものであり、青色の図形１５３は描画プレーン１３０の図形１３３に関連付けられた色情報「0x0000FF」に対応して描画されたものである。このヒットテストプレーン１５０は、表示用の描画プレーン１３０と同様のカラープレーンで構成されているが、表示用に使用せずヒットテスト用に使用する点が異なるものである。そのため、表示用の描画プレーン１３０に対してデータを読み取るのと同様に、上記ステップＳＴ１０４において、選択位置１３４の座標値に相当するヒットテストプレーン１５０上の色情報「0x0000FF」を読み出すことができ、複雑な処理を必要としない。
【００２７】
上記ステップＳＴ１０５では、オブジェクト検索部１５がオブジェクト参照テーブル１４０を参照して、色情報「0x0000FF」に対応する図形１３３を検索する。このようにして、選択位置１３４が示す選択座標に相当する図形１３３を検出することができる。
【００２８】
なお、この実施の形態では、ユーザから選択装置により指定される表示画面上の選択位置に基づきヒットテスト処理を行っているが、この選択位置を選択領域として指定される構成であってもよい。その場合、色情報読み出し部１４が表示画面上の選択領域に対応するヒットテストプレーン上の色情報を読み出し、オブジェクト検索部１５が色情報読み出し部１４で読み出された色情報に基づきオブジェクトデータを検索することで、選択領域に含まれるオブジェクトを検出することができる。選択領域は、矩形に限定されず、星形や三角形など任意の形状の領域でもよい。また、選択領域に複数のオブジェクトが含まれる場合、それらのオブジェクトのうち、表示階層の最も上位（表示画面上の最前面）のオブジェクトを検出するよう構成してもよい。
【００２９】
なお、この実施の形態においては、描画グラフィックスＬＳＩ３がヒットテストプレーンへの描画を行っているが、演算プロセッサ１としてのＣＰＵが十分高速な場合には演算プロセッサ１で描画するよう構成してもよい。また、演算プロセッサ１に描画グラフィックスＬＳＩ３が内蔵されている場合、演算プロセッサ１に内蔵されている描画グラフィックスＬＳＩ３を用いて描画するよう構成してもよい。
【００３０】
なお、この実施の形態において、ヒットテスト装置１０は、ＣＰＵ、メモリ、ＬＳＩなどのハードウェアと各種処理プログラムなどのソフトウェアの組み合わせで実現されているものとして説明しているが、オブジェクトデータソート部１１、色情報関連付け部１２、オブジェクト描画部１３、色情報読み出し部１４、オブジェクト検索部１５が、それぞれ異なるハードウェアで実現されるものであってもよい。
【００３１】
以上のように、実施の形態１のヒットテスト装置１０およびヒットテスト方法は、表示画面（描画プレーン）上のオブジェクト毎に関連付けた色情報を用いてヒットテストプレーンに描画し、選択座標に相当するヒットテストプレーン上の色情報を読み出して対応するオブジェクトデータを検索することでオブジェクトを選択するので、ヒットテスト処理の演算量を低減させることができる。その結果、高速でヒットテスト処理を行うことができるという効果が得られる。
また、表示可能な色の数と同じ数のオブジェクトを扱うことができるため、大量のオブジェクトに対するヒットテスト処理ができるという効果が得られる。
【００３２】
実施の形態２．
実施の形態１においては、オブジェクトデータ毎にそれぞれ異なる色情報を関連付けてオブジェクト参照テーブルに記憶させる構成について説明した。実施の形態２は、ハッシュ法を用いて、オブジェクトデータ毎にそれぞれ異なる色情報を関連付ける構成について説明する。
なお、実施の形態２のヒットテスト装置は、実施の形態１のヒットテスト装置１０の構成とほぼ同一であるため、図示を省略して、同じ構成については同一の符号を用いる。ここで、実施の形態２においては、実施の形態１のヒットテスト装置１０、色情報関連付け部１２、オブジェクト検索部１５と区別するため、ヒットテスト装置２０、色情報関連付け部２２、オブジェクト検索部２５を用いて説明する。
【００３３】
ヒットテスト装置２０は、処理プログラムにより、例えばオブジェクトデータソート部１１、色情報関連付け部２２（オブジェクト・色関連付け部）、オブジェクト描画部１３、色情報読み出し部１４（オブジェクト・色読み出し部）、オブジェクト検索部２５で構成される。ここで、色情報関連付け部２２とオブジェクト検索部２５以外の構成は実施の形態１と同様であるため説明を省略する。
【００３４】
色情報関連付け部２２は、オブジェクトデータソート部１１でソートされたオブジェクトデータに対し、ハッシュ法を用いて一意に識別可能な色情報を関連付けて付加し、参照テーブルに記憶する。
オブジェクト検索部２５は、色情報読み出し部１４で読み出した色情報を取得すると、参照テーブルを参照し、色情報関連付け部２２で関連付けられたオブジェクトデータと色情報から、ハッシュ法を用いて、色情報読み出し部１４で読み出した色情報に関連付けられたオブジェクトデータを検索し、その検索結果のオブジェクトデータを選択されたオブジェクトデータ（選択オブジェクトデータ）として出力するよう機能する。
【００３５】
実施の形態２に係るヒットテスト装置２０の動作処理は、上述した図２とほぼ同じであるが、実施の形態１のヒットテスト装置１０における図２のステップＳＴ１０２とステップＳＴ１０５でハッシュ法を用いる点が異なっている。ここで、ハッシュ法としては、ハッシュ関数をハッシュテーブルで実現している。
ステップＳＴ１０２において、色情報関連付け部２２は、ハッシュテーブルを用いて、オブジェクトデータからハッシュ値としての色情報を出力することで、オブジェクトデータと色情報を関連付ける。このとき、例えば、色情報関連付け部２２は、オブジェクトの名称「図面１３１」という文字列からハッシュテーブルを用いて「図面１３１」に対応するハッシュ値「0xFF0000」を出力する。
ステップＳＴ１０５において、オブジェクト検索部２５は、ハッシュテーブルを用いて、色情報からオブジェクトデータを出力する。このとき、例えば、オブジェクト検索部２５は、図６に示すように、色情報「0xFF0000」からハッシュテーブル２００を用いて「0xFF0000」に対応するオブジェクト名「図面１３１」を出力する。オブジェクト検索部２５は、このようにオブジェクトを検索する際に、ハッシュ法により色情報に対応するオブジェクトデータを出力することで演算量を低減させ、検索速度を上げることができる。
【００３６】
以上のように、実施の形態２のヒットテスト装置２０およびヒットテスト方法によれば、ハッシュ法を用いたことにより、検索速度を向上させることができるという効果が得られる。
【００３７】
実施の形態３．
実施の形態１においては、色情報読み出し部１４とオブジェクト検索部１５を演算プロセッサ１で実現する構成について説明したが、描画グラフィックスＬＳＩ３がプログラマブルユニットを備える場合には、色情報読み出し部１４とオブジェクト検索部１５を描画グラフィックスＬＳＩ３のプログラマブルユニットにおいて実行するよう構成してもよい。このように構成すれば、演算プロセッサ１の演算量を低減することができる。また、描画グラフィックスＬＳＩ３は、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と呼ばれ、並列演算を行うことができる。その結果、ヒットテスト処理を高速化することができる。
【００３８】
実施の形態４．
実施の形態１では、表示画面上に直接表示されているオブジェクトを選択するためのヒットテスト処理を行う構成について説明した。実施の形態４では、表示画面上のウィンドウ内にオブジェクトを表示する動作環境においてヒットテスト処理を行う構成について説明する。なお、実施の形態４において、実施の形態１〜３と同様の構成は、図１から図６で用いた符号と同じ符号を用いて、その構成の詳細な説明を省略する。
図７は、実施の形態４に係るヒットテスト装置４０の機能的構成を示している。
ヒットテスト装置４０は、実施の形態１のオブジェクトデータソート部１１、色情報関連付け部１２（オブジェクト・色関連付け部）、オブジェクト描画部１３、色情報読み出し部１４（オブジェクト・色読み出し部）、オブジェクト検索部１５に加え、ウィンドウデータソート部４１、色情報関連付け部４２（ウィンドウ・色関連付け部）、ウィンドウ描画部４３、色情報読み出し部４４（ウィンドウ・色読み出し部）、ウィンドウ検索部４５で構成されている。ここで、オブジェクトデータソート部１１、色情報関連付け部１２、オブジェクト描画部１３、色情報読み出し部１４、オブジェクト検索部１５の構成については、実施の形態１と同様であるため説明を省略する。
【００３９】
ウィンドウデータソート部４１は、グラフィックスメモリ５に記憶されている描画プレーンに基づき表示画面上に表示中のウィンドウ毎のデータ（ウィンドウデータ）を取得し、その表示中のウィンドウデータに対して表示階層の下から順に並び替え（ソート）を行う。ここで、ウィンドウデータは、ウィンドウを描画するための座標などの情報と、ウィンドウ毎にそれぞれ異なる表示階層を示す情報を含んでいる。このウィンドウデータの表示階層を示す情報により、複数のウィンドウが重なる位置に描画される場合、各ウィンドウの前後関係を考慮して描画されている。
【００４０】
色情報関連付け部４２は、ウィンドウデータソート部４１でソートされた表示中のウィンドウデータに対し一意に識別可能な色情報を関連付けて付加し、システムメモリ２内のウィンドウ参照テーブルに記憶する。
ウィンドウ描画部４３は、ウィンドウ参照テーブルを参照し、色情報関連付け部４２で関連付けられたウィンドウデータと色情報に基づき、色情報に対応した色のウィンドウを表示階層の下から順にヒットテストプレーンに描画するよう機能する。
色情報読み出し部４４は、ユーザから選択装置を用いて入力された表示装置の表示画面上の選択座標に基づき、その選択座標に対応する、ウィンドウ描画部４３で描画されたヒットテストプレーン上の色情報を読み出すよう機能する。
ウィンドウ検索部４５は、色情報読み出し部４４で読み出した色情報を取得すると、ウィンドウ参照テーブルを参照し、色情報関連付け部４２で関連付けられたウィンドウデータと色情報から、色情報読み出し部４４で読み出した色情報に関連付けられたウィンドウデータを検索し、その検索結果のウィンドウデータを選択されたウィンドウのデータ（選択ウィンドウデータ）として決定するよう機能する。
【００４１】
なお、ここでは、ウィンドウデータソート部４１がウィンドウデータを表示階層の下から順に並び替える構成について説明しているが、ウィンドウが表示階層の下から順番にヒットテストプレーンに描画されるよう構成されていればよい。例えば、ウィンドウデータソート部４１がウィンドウデータのソートを行う構成に替えて、図形描画を管理する外部の画面描画装置または画面描画プログラムからウィンドウ毎の表示階層を示すソート情報を通知してもらうよう構成した場合、ウィンドウ描画部４３はソート情報を用いて表示階層の下から順にウィンドウを描画するように構成される。
【００４２】
次に、実施の形態４のヒットテスト装置４０の動作処理について図８のフロー図を用いて説明する。
ヒットテスト装置４０は、ユーザにより選択装置を介して表示装置の表示画面上の位置が指定されると処理を開始する（スタート）。
ヒットテスト装置４０のウィンドウデータソート部４１は、グラフィックスメモリ５に記憶されている描画プレーンに基づき、表示画面上に表示中のウィンドウ毎のデータ（ウィンドウデータ）を取得し、そのウィンドウデータを表示階層の下から順にソートする（ステップＳＴ４０１）（ウィンドウデータソート工程）。
【００４３】
色情報関連付け部４２は、ウィンドウデータソート部４１でソートされたウィンドウデータ毎にそれぞれ異なる色を示す色情報を関連付け、システムメモリ２内のウィンドウ参照テーブルに記憶する（ステップＳＴ４０２）（ウィンドウ・色関連付け工程）。
ウィンドウ描画部４３は、ウィンドウ参照テーブルを参照し、色情報関連付け部４２で関連付けられたウィンドウデータと色情報に基づき、その色情報に対応した色のウィンドウを表示階層の下から順にヒットテストプレーンに描画する（ステップＳＴ４０３）（ウィンドウ描画工程）。
【００４４】
色情報読み出し部４４は、選択装置から選択された表示画面上の選択座標を取得し、その選択座標に対応する、ウィンドウ描画部４３で描画されたヒットテストプレーン上の座標における色情報を読み出す（ステップＳＴ４０４）（ウィンドウ・色読み出し工程）。
ウィンドウ検索部４５は、色情報読み出し部４４で読み出した色情報を取得すると、ウィンドウ参照テーブルを参照し、色情報関連付け部４２で関連付けられたウィンドウデータと色情報から、色情報読み出し部４４で読み出した色情報に関連付けられたウィンドウデータを検索する（ステップＳＴ４０５）（ウィンドウ検索工程）。ウィンドウ検索部４５は、グラフィックスメモリ５内の描画プレーンを参照し、検索結果の選択ウィンドウデータをオブジェクトデータソート部１１に出力する。
【００４５】
オブジェクトデータソート部１１は、ウィンドウ検索部４５からの選択ウィンドウデータとグラフィックスメモリ５に記憶されている描画プレーンに基づき、表示画面上の選択ウィンドウに表示中のオブジェクト毎のデータ（オブジェクトデータ）を取得し、そのオブジェクトデータを表示階層の下から順にソートする（ステップＳＴ４０６）（オブジェクトデータソート工程）。
このステップＳＴ４０６以降、ステップＳＴ４０７からステップＳＴ４１０までの動作処理は、実施の形態１のステップＳＴ１０２からステップＳＴ１０５に相当するため、その説明を省略する。
【００４６】
ここで、実施の形態４のヒットテスト装置４０の動作処理の具体的一例について図９を用いて説明する。図９は表示画面としての描画プレーン４００を示している。図１０（ａ）はヒットテスト装置４０において描画するヒットテストプレーン４１０を示している。図１０（ｂ）はヒットテスト装置４０において描画するヒットテストプレーン４２０を示している。なお、ここでは選択装置により表示装置の表示画面上に指定される選択位置が選択領域であるものとして説明する。
【００４７】
図９に示すように、表示画面のイメージを保持する描画プレーン４００には、表示階層の下から順にウィンドウ４０１、ウィンドウ４０２、ウィンドウ４０３がそれぞれ一部が重なり合った状態で描画されている。ウィンドウ４０１内にはオブジェクトとしての図形４０４が描画されており、ウィンドウ４０２内にはオブジェクトとしての図形４０５と図形４０６が描画されており、ウィンドウ４０３内にはオブジェクトとしての図形４０７が描画されている。また、描画プレーン４００には、選択装置で指定された選択領域４０８が表示されている。
このとき、ユーザにより選択装置を介して表示装置の表示画面上の位置が指定されると、上記ステップＳＴ４０１において、ウィンドウデータソート部４１が、表示階層の最下位に位置するウィンドウ４０１のウィンドウデータから、ウィンドウ４０２のウィンドウデータ、ウィンドウ４０３のウィンドウデータの順にソートする。
【００４８】
上記ステップＳＴ４０２において、色情報関連付け部４２により、例えば各ウィンドウを識別するウィンドウ名と一意の色情報を関連付け、システムメモリ２内のウィンドウ参照テーブルに記憶する。ウィンドウ参照テーブルは、例えば上述した図４のオブジェクト参照テーブル１４０のオブジェクト名の項目部分がウィンドウ名で構成されるテーブルデータである。ここではウィンドウ名としてのウィンドウ４０１が赤、ウィンドウ４０２が緑、ウィンドウ４０３が青に関連付けられるものとする。そして、上記ステップＳＴ４０３において描画されたヒットテストプレーン４１０には、例えば図１０（ａ）に示すように、表示階層の下から順に赤色のウィンドウ４１１、緑色のウィンドウ４１２、青色のウィンドウ４１３が描画される。
【００４９】
上記ステップＳＴ４０４において、選択領域４０８の範囲に相当するヒットテストプレーン４１０上の色情報（ここでは緑色を示す色情報）を読み出すと、上記ステップＳＴ４０５において、ウィンドウ検索部４５がウィンドウ４１２を検出する。上記ステップＳＴ４０６、ステップＳＴ４０７を経て、ステップＳＴ４０８においては、ウィンドウ描画部４３が、表示画面上のウィンドウ４１２に対応するヒットテストプレーン４２０を描画する。ヒットテストプレーン４２０には、図１０（ｂ）に示すように、例えば表示画面上の図形４０５に対応する図形４２５が桃色で描画され、表示画面上の図形４０６に対応する図形４２６が黄色で描画される。色情報読み出し部４４は、上記ステップＳＴ４０９において、選択領域４０８の範囲に相当するヒットテストプレーン４２０上の色情報（ここでは桃色を示す色情報）を読み出す。そして、上記ステップＳＴ４１０において、オブジェクト検索部１５がオブジェクト参照テーブルを参照して、桃色を示す色情報に対応する図形４０５を検索する。このようにして、選択範囲４０８が示す選択座標に相当する図形４０５を検出することができる。
【００５０】
以上のように実施の形態４のヒットテスト装置４０およびそのヒットテスト方法は、実施の形態１の効果に加え、ウィンドウの概念を導入し、選択された表示画面上の座標に対応するウィンドウを検索してからウィンドウ内のオブジェクトを検索することで、ヒットテスト処理の階層化を実現できる。その結果、ヒットテストプレーンへの描画数を減らしてヒットテストの処理時間を低減させることができるという効果が得られる。
【００５１】
なお、色情報関連付け部４２がウィンドウデータと色情報の関連付けを行う際、または色情報関連付け部１２がオブジェクトデータと色情報の関連付けを行う際、それぞれで別々の参照テーブル（ウィンドウ参照テーブルとオブジェクト参照テーブル）を用いることなく、色情報を構成するビットを、ウィンドウデータを識別するビットとオブジェクトデータを識別するビットに所定の割合で割り当てて１つの参照テーブルを用いる構成にしてもよい。例えば、ビットマップのカラーフォーマットがＲＧＢ８８８の２４ビットである場合、上位８ビットの色成分をウィンドウデータ用、下位１６ビットの色成分をオブジェクト用に割り当てて１つの参照テーブルを用いるようにすれば、参照テーブルを記憶する領域を低減させることができる。
【００５２】
なお、本発明は、その発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００５３】
１  演算プロセッサ、２  システムメモリ、３  描画グラフィックスＬＳＩ、４  処理プログラム、５  グラフィックスメモリ、１０，２０，４０  ヒットテスト装置、１１  オブジェクトデータソート部、１２，２２  色情報関連付け部（オブジェクト・色関連付け部）、１３  ヒットテストプレーン描画部（オブジェクト描画部）、１４  色情報読み出し部（オブジェクト・色読み出し部）、１５，２５  オブジェクト検索部、４１  ウィンドウデータソート部、４２  色情報関連付け部（ウィンドウ・色関連付け部）、４３  ヒットテストプレーン描画部（ウィンドウ描画部）、４４  色情報読み出し部（ウィンドウ・色読み出し部）、４５  ウィンドウ検索部、１３０，４００  描画プレーン、１３１，１３２，１３３，１５１，１５２，１５３，４０４，４０５，４０６，４０７，４２５，４２６  図形、１３４  選択位置、１４０  オブジェクト参照テーブル、１５０，４１０，４２０  ヒットテストプレーン、２００  ハッシュテーブル、４０１，４０２，４０３，４１１，４１２，４１３  ウィンドウ、４０８  選択領域。
【図１】
0005615220.tif 000002
【図２】
0005615220.tif 000003
【図３】
0005615220.tif 000004
【図４】
0005615220.tif 000005
【図５】
0005615220.tif 000006
【図６】
0005615220.tif 000007
【図７】
0005615220.tif 000008
【図８】
0005615220.tif 000009
【図９】
0005615220.tif 000010
【図１０】
0005615220.tif 000011