(57)【要約】地図表示を行って位置情報を知らせるナビゲーションシステムの表示制御装置に、描画命令に従って表示メモリに画素データを書き込む座標を生成する座標生成部２０３と、表示画面上に設定されるクリッピング領域の領域外への描画を省かせる座標クリッピング部２０４と、表示画面上に任意の相対座標を設定可能なローカルオフセットレジスタＲ１３と、相対座標で表わされる相対クリッピング領域を設定可能な相対ユーザクリッピングエリアレジスタＲ１２とが設けられ、座標クリッピング部２０４はローカルオフセット値と相対クリッピング領域の設定値とを加算して決定されるクリッピング領域（ＴＲＵＸｍｉｎ，ＴＲＵＹｍｉｎ）−（ＴＲＵＸｍａｘ，ＴＲＵＹｍａｘ）に対してクリッピング処理が行われるようにした。
2004055671.tif 000002
【特許請求の範囲】
【請求項１】
システム制御を行う中央演算処理装置と描画処理および表示制御を行う表示制御装置とを備え、上記表示制御装置により表示装置に地図表示を行うナビゲーションシステムであって、
上記表示制御装置には、描画命令に基づき描画処理を行う描画回路と、表示座標上に設定されるクリッピング領域の外側または内側に対する描画処理を省略させるクリッピング処理を行うクリッピング処理回路と、ある表示領域に固定的に対応付けられる絶対座標上に相対座標を設定可能なオフセット設定手段と、上記相対座標で表わされる相対クリッピング領域を設定可能な相対クリッピング領域設定手段とが設けられ、上記クリッピング処理回路は上記相対座標と上記相対クリッピング領域とから決定されるクリッピング領域を対象として上記クリッピング処理を実行可能に構成されていることを特徴とするナビゲーションシステム。
【請求項２】
上記相対クリッピング領域設定手段は制御命令に基づき上記表示制御装置により書き換えが可能なレジスタであることを特徴とする請求項１記載のナビゲーションシステム。
【請求項３】
上記オフセット設定手段は上記絶対座標の原点から上記相対座標の原点までのずれ量を表わすオフセット値が設定されるレジスタであり、
上記クリッピング処理回路には、上記相対クリッピング領域設定手段と上記オフセット設定手段の各々の設定値を加算して上記絶対座標で表わされたクリッピング領域の値を求める演算器が設けられていることを特徴とする請求項１又は２に記載のナビゲーションシステム。
【請求項４】
上記表示制御装置に入力される描画命令には、上記相対クリッピング領域に対するクリッピング処理の実行の可否を表わす相対クリッピングイネーブルビットが含まれていることを特徴とする請求項１〜３の何れかに記載のナビゲーションシステム。
【請求項５】
上記表示制御装置には、上記絶対座標で表わされる絶対クリッピング領域を設定可能な絶対クリッピング領域設定手段が設けられ、上記クリッピング処理回路は選択的に上記相対クリッピング領域と上記絶対クリッピング領域との何れかをクリッピング領域として上記クリッピング処理を行うことが可能にされていることを特徴とする請求項１〜４の何れかに記載のナビゲーションシステム。
【請求項６】
上記クリッピング処理回路は選択的に上記絶対クリッピング領域と上記相対クリッピング領域とが重なった領域をクリッピング領域として上記クリッピング処理を行うことが可能にされていることを特徴とする請求項５記載のナビゲーションシステム。
【請求項７】
上記描画命令には、上記絶対クリッピング領域に対するクリッピング処理、上記相対クリッピング領域に対するクリッピング処理、両領域の重なり領域に対するクリッピング処理の何れかを選択する少なくとも一つ以上の属性ビットが設けられていることを特徴とする請求項６記載のナビゲーションシステム。
【請求項８】
上記描画命令には描画図形の描画位置を上記相対座標で指定することが可能であり、上記描画回路には上記描画命令に基づく相対座標の描画位置と上記オフセット設定手段の設定値とから絶対座標の描画位置を算出する第２の演算器が設けられていることを特徴とする請求項１〜７の何れかに記載のナビゲーションシステム。
【請求項９】
上記中央演算処理装置から供給される複数の描画命令コードからなるコード列が格納される記憶手段を備え、該記憶手段には地図表示を行う表示領域よりも大きな領域の地図表示の描画が可能な描画命令のコード列が格納されることを特徴とする請求項１〜８の何れかに記載のナビゲーションシステム。
【請求項１０】
システム制御を行う中央演算処理装置と描画処理および表示制御を行う表示制御装置とを備え、上記表示制御装置により表示装置に地図表示を行うナビゲーションシステムであって、
上記表示制御装置には、描画命令に基づき描画処理を行う描画回路と、表示座標上に設定されるクリッピング領域の内側又は外側に対する描画処理を省略するクリッピング処理回路と、表示画面に固定的に対応付けられる絶対座標上に相対座標を設定可能なオフセット設定手段と、上記相対座標で表わされる相対クリッピング領域を設定可能な相対クリッピング領域設定手段とが設けられ、上記相対クリッピング領域設定手段に地図表示が行われるクリッピング領域を指定し、上記オフセット設定手段の設定値を変更することで上記地図表示が含まれるウィンドウ表示領域を表示画面上で平行移動可能に構成されていることを特徴とするナビゲーションシステム。
【発明の詳細な説明】
【技術分野】  本発明は、表示制御技術さらには描画コマンドリストを用いて指定領域の描画を行うグラフィック表示システムに適用して有用な技術に関し、例えばナビゲーションシステムに利用して有用な技術である。
【背景技術】  グラフィック表示システムにおける描画処理の一つに、指定された領域からはみ出した画素データを除去するクリッピング処理と呼ばれるものがある。ここでクリッピング処理における指定領域はクリッピング領域と呼ばれ一般に矩形の領域が指定される。
クリッピング処理は、ＣＰＵ（中央演算処理装置）を用いたソフトウェア処理により行う方式と、画素データを生成する表示制御装置や描画プロセッサなどのハードウェアにより行う方式とがある。ハードウェアによるクリッピング処理においては、例えば、表示メモリに展開された画素データを表示部まで送る過程で処理する場合と、描画コマンドに基づき画素データを表示メモリへ展開する描画処理の際に処理する場合とがある。
また、ハードウェアにより描画処理の際にクリッピング処理を行う場合においても、１画素ごとにクリッピング領域の内側か外側かを判別して外側の画素データの書込みを省く方式や、描画コマンドにより指定される図形とクリッピング領域の境界線との交点を求めて、新たにクリッピンク領域をはみ出さない図形の描画内容に変更して描画処理を行う方式など、さまざまな方式がある。
ところで、カーナビゲーションシステムには、地図表示を行うために実際の表示範囲よりも大きな範囲の描画コマンドのリストを半導体メモリに格納しておき、これら描画コマンドのリストを逐次実行する際に、上記のクリッピング処理により所定範囲の地図表示のみ描画が行われるようにしたシステムがある。このようなシステムによれば、現在位置がそれほど動いていない期間は、半導体メモリに格納した同一の描画コマンドリストを繰り返し使用して複数の表示フレームにわたる描画処理を行えるので、地図表示に必要なＣＰＵの負担を減らすことが出来るという利点がある。
従来のカーナビゲーションシステムにおいては、例えば、表示制御装置の中に任意にクリッピング領域が設定可能なレジスタ（例えばユーザークリッピングエリアレジスタ）を設け、この設定値に基づき描画処理の際にハードウェア処理によりクリッピング処理を行うのが一般的であった（２０００年５月  株式会社日立製作所刊行  ＨＤ６４４１３Ａ  Ｑ２ＳＤユーザーマニュアル（ＳｕｐｅｒＨ  ＲＩＳＣ  ｅｎｇｉｎｅ  Ｐｅｒｉｐｈｅｒａｌ  ＬＳＩ  ＨＤ６４４１３Ａ  Ｑ２ＳＤ  Ｕｓｅｒ’ｓ  Ｍａｎｕａｌ）参照）。
カーナビゲーションシステムにおいてクリッピング処理をハードウェア処理により行うのは、カーナビゲーションシステムにおいてはシステム制御を行うＣＰＵがパーソナルコンピュータの分野のＣＰＵなどに較べてコスト面から性能をさほど高くできないこと、地図表示において描画する線や多角形などが非常に多くそれゆえ１画面分のクリッピング処理回数が非常に多くなること、加えて、フレーム毎に描画処理を行って画素データの書き直しを行うためトータルでのクリッピング処理が膨大な回数になるなどの理由からである。
さらにカーナビゲーションシステムにおいてクリッピング処理を表示処理の過程でなく描画処理の際に行う理由は、描画後の表示処理の過程で行う場合に較べて処理にかかるハードウェアの負荷や、画素データを格納する表示メモリの容量の低減、画素データによる転送バスの占有率の軽減などが図れるという利点があるからである。
現在、カーナビゲーションシステムは液晶ディスプレイの低廉化に伴って大画面化が進んでおり、表示画面上に複数のウィンドウ表示を行ってそのウィンドウ表示内に地図表示を行ったり、地図表示が行われているウィンドウ表示を任意の場所に平行移動可能とするような表示仕様が求められてくると考えられる。
しかしながら、従来のナビゲーションシステムの表示制御装置においてはクリッピング領域を表示画面に固定的に対応付けられた絶対座標で指定するしかなかったため、ウィンドウ表示を平行移動させるたびにＣＰＵがクリッピング領域を計算しなおして再設定してやる必要がある。
さらに、１つのウィンドウ表示に複数のクリッピング領域を設けてそれぞれに異なる情報を表示させる場合には、第１のクリッピング領域に表示させる情報の描画コマンドと、第２のクリッピング領域に表示させる情報の描画コマンドとをそれぞれ分けて描画コマンドのリスト中に配置するとともに、それらの間にクリッピング領域を第１のクリッピング領域から第２のクリッピング領域に変更する制御コマンドを入れるなどして、指定されたクリッピング領域に指定された情報の描画が行われるようにされるが、このクリッピング領域が絶対座標でしか設定できないと、ウィンドウ表示を平行移動させるたびにＣＰＵは描画コマンドのリストを書き換えなければならなくなる。描画コマンドリストの書き換えは、ＣＰＵ負荷を著しく増加させるとともに、描画コマンドを転送するバスの占有率の増加を招きシステムのスループットが低下するとともに、スループットの低下を回避するためには性能の高いＣＰＵや転送レートの高いバスが必要となってシステムのコストアップを招いてしまう。
この発明の目的は、クリッピング処理を伴う地図表示を表示装置の画面上で任意の方向へ平行移動させるような描画処理をＣＰＵの負荷や描画コマンド転送に伴うバスの負荷を高めずに実行することの可能な描画処理装置を備えたナビゲーションシステムを提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
【発明の開示】
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
すなわち、地図などの位置情報を表示可能なナビゲーションシステムの描画処理装置に、描画命令（すなわち描画コマンド）に従って例えば表示メモリに画素データを書き込む描画回路と、表示画面上に設定されるクリッピング領域の領域外への描画処理（すなわち画素データの書込み）を除外するクリッピング処理回路と、表示画面に固定的に対応付けられる絶対座標上に相対座標を設定可能なオフセット設定手段としてのオフセット設定レジスタと、上記相対座標で表わされる相対クリッピング領域を設定可能な相対クリッピング領域設定レジスタとが設けられ、上記クリッピング処理回路はオフセット設定レジスタと相対クリッピング領域設定レジスタの各設定値で決定されるクリッピング領域に対してクリッピング処理を行うように構成したものである。
このような手段によれば、画面上で任意の方向に平行移動可能なウィンドウ表示の中にクリッピング領域を設けて地図表示を行うような場合であっても、予めウィンドウ表示に対応づけられた相対座標でクリッピング領域を指定しておくことで、クリッピング領域が設けられたウィンドウ表示を平行移動させると云った描画処理をＣＰＵの負荷や描画コマンドの転送に伴うバスの負荷を上げることなく実行することが可能となる。
【図面の簡単な説明】  図１は、本発明を適用したカーナビゲーションシステムの概略構成を示すブロック図である。
図２は、図１の表示制御装置の構成例を示すブロック図である。
図３は、図１の描画部の一例を詳細に示す構成図である。
図４は、表示制御装置により解釈され実行される描画コマンドの一例を示すビット構成図である。
図５は、１つの描画コマンドに基づき表示制御装置内の画素生成部により生成される描画オブジェクトの一例を示す図である。
図６は、表示制御装置がローカルオフセット値を原点に設定して図５のオブジェクトを描画した例を示す図である。
図７は、表示装置の画面上に所定のクリッピング領域を設定した場合の描画例を示す図である。
図８は、ローカルオフセット値を変更して図５のオブジェクトを描画した例を示す図である。
図９は、絶対座標で表わされるユーザークリッピング領域を指定してローカルオフセット値を変更した場合の描画例を示す図である。
図１０は、相対ユーザクリッピング領域を指定してローカルオフセット値を変更した場合の描画例を示す図である。
図１１は、カーナビゲーションシステムにおいて任意な方向に平行移動可能なウィンドウ表示の中に複数のクリッピング領域を設定して地図表示を行った場合の画像例を示す図である。
図１２は、図１の表示制御装置を構成する描画部の第２実施例を示す構成図である。
図１３は、図１の表示制御装置を構成する描画部の第３実施例を示す構成図である。
発明を実施するため最良の形態
以下、本発明の好適な実施例を図面に基づいて説明する。
図１は、本発明をカーナビゲーションシステムに適用した場合のシステム全体の構成と要部を示すブロック図である。特に制限されるものでないが、同図において、符号２で囲まれた領域にある複数の回路ブロックは単結晶シリコンのような１つの半導体基板上に形成される。
図１において、１は現在位置の演算処理並びにこの演算結果やユーザの入力操作に基づき表示内容の変更を指示する等のシステム制御を行うＣＰＵ、２は描画コマンドに従って表示メモリ４へ画素データを書き込む描画処理や表示メモリ４から画素データを読み出して表示信号に変換して出力する表示出力処理を行う表示制御装置、３はＣＰＵの作業空間を提供するＤＲＡＭ（ダイレクトランダムアクセスメモリ）などのメモリ、４は描画コマンドや画素データが格納されるＤＲＡＭなどの表示メモリ、５は液晶ディスプレイなどの表示装置、６は起動プログラムなどが格納されるフラッシュメモリやマスクＲＯＭなどの電源遮断後もデータ保持可能な不揮発性メモリ、７は地図表示用データなどが格納されるＤＶＤ（デジタル多用途ディスク）やハードディスクなどの記憶媒体が搭載される記憶装置、１０はシステムバス、１１は表示メモリバスである。
また、図示は省略しているが、上記のシステムバス１０には、タッチパネルなどの入力装置が接続され、また、ＧＰＳ（全地球測位システム）受信器や方位計測器ならびにガスレートセンサーなどの現在位置を計測する測位機器が接続されるようになっている。
この実施例のカーナビゲーションシステムにおいては、記憶装置７に格納されている地図表示用のデータはその殆どが線や多角形を示すベクタ情報で表わされており、地図表示を行う場合にはＣＰＵが必要な範囲の地図表示用のデータを読み出して、表示位置に合わせた座標情報を付加したり表示制御装置２に対応した属性情報を付加するなどして、線や多角形の情報ごとに描画コマンドを生成して表示メモリ４に書き込む。この描画コマンドのコード列はディスプレイリストと呼ばれる。そして、表示制御装置２がこのディスプレイリストの描画コマンドをそれぞれ実行して画素データを表示メモリ４に書き込んだ後、この画素データを表示メモリ４から読み出して表示装置５の表示動作に同期させながら表示信号に変換して出力することで、ディスプレイに地図表示を含んだ所定の表示が行われる。
表示メモリ４には、所定範囲の地図表示の描画が可能な描画コマンドの列であるディスプレイリストの格納領域と、ウィンドウ表示や他の階層表示やバックグランド表示の画素データが格納されるフレームバッファ領域などが設けられている。フレームバッファ領域は例えば２面分或いは３面分を備え、第１面のフレームバッファ領域の画素データに基づき表示出力を行っている間に、第２面のフレームバッファ領域に次の面の描画を行うと云ったように描画と表示出力とでフレームバッファ領域を交互に切り替えながら用いるようにしても良い。同様に、ディスプレイリストの格納領域も例えば２面分或いは３面分を備え、交互に切り替えながら用いるようにしていても良い。
表示制御装置２による描画処理は表示フレームごとに行われるが、ディスプレイリストの変更は新しい範囲の地図表示が必要となるまで行われず、その間は同じディスプレイリストを繰り返し用いて描画処理が行われる。
図２は、表示制御装置２の構成例を示すブロック図である。
表示制御装置２は、図１に示すように、描画コマンドを解釈して実行する描画回路である描画部２０と、システムバス１０に接続されてＣＰＵ１からのデータ入出力を行うＣＰＵインターフェースユニット２１と、表示メモリ４から画素データを読み出して映像信号に変換して表示装置５の動作と同期させて出力する表示部２２と、表示メモリ４へのデータの読み書きを制御するメモリコントロール部２３とを備えている。また、図２に詳細に示すように、表示制御装置２には、表示メモリ４のデータやアドレスが転送されるメモリバスＭＤＢ，ＭＡＢと、システムバス１０側のデータやアドレスが転送されるＣＰＵバスＣＤＢ，ＣＡＢと、また、これらのバスへの各ブロックのアクセス制御を行うバスコントローラ２５が設けられている。また、ＣＰＵインターフェースユニット２１や表示部２２およびメモリコントロール部２３はそれぞれＩ／Ｏバッファ２６ａ〜２６ｃを介してデータを入出力するようにされる。また、描画部２０は描画処理ユニット２７とバッファユニット２８とを備え、バッファユニット２８を介して描画コマンドのフェッチや画素データの書込みを行うようにされている。
図３には描画部２０の部分を詳細に示す構成例を、図４には描画コマンドのデータ構成図を示す。
描画部２０には、図１に示したように、各種の描画条件を設定する描画レジスタ部２０１と、クリッピング領域外での描画処理を除外させるクリッピング処理回路としての座標クリッピング部２０４と、描画レジスタ部２０１の設定データに基づきクリッピング領域を決定するクリッピングエリア生成部２０２と、描画データ（例えば描画オブジェクトの頂点など）に基づく描画図形の座標をドットごとに生成する座標生成部２０３とが設けられている。またそれぞれは、図２に示されるように描画処理ユニット２７に含まれる。
描画部２０には、その他、描画コマンドや制御コマンドを解釈して座標生成部２０３に描画用のデータを出力したり描画レジスタに設定データを書き込む解釈部およびデコーダ回路や、描画図形の各ドットの座標値を表示メモリ４のフレームバッファ領域の対応するアドレスに変換する物理アドレス変換回路、並びに、描画する画素データに各ドットの表示色を表わす色データを付加する色データ付加回路などが設けられている。
描画レジスタ部２０１には、図３に示すようにシステムクリッピングエリアレジスタＲ１０、絶対クリッピング領域設定手段としてのユーザクリッピングエリアレジスタＲ１１、相対クリッピング領域設定手段としての相対ユーザクリッピングエリアレジスタＲ１２、ローカルオフセットレジスタＲ１３等が含まれている。更に、図示はしないが透過色の情報、転送元・転送先のアドレス情報等、演算時に参照され、ＣＰＵによってアクセス可能な各種のレジスタなども含まれている。
上記システムクリッピングエリアレジスタＲ１０は、例えば表示装置５のスクリーン座標で画面全領域が設定されるレジスタであり、ここに設定されたシステムクリッピング領域を超えた領域に対する描画処理は常に省かれるようになっている。このレジスタＲ１０にはＸ−Ｙ座標の各最大値（ＳＸｍａｘ，ＳＹｍａｘ）が設定され、この座標点と原点（０，０）とを対角線とする矩形領域がシステムクリッピング領域とされる。
ユーザクリッピングエリアレジスタＲ１１は、カーナビゲーションシステムのプログラム設計者が任意のクリッピング領域を設定することの可能なレジスタである。このレジスタＲ１１には表示画面に対して固定的に対応付けられた絶対座標で表わされる２つの座標値（ＵＸｍｉｎ，ＵＹｍｉｎ）−（ＵＸｍａｘ，ＵＹｍａｘ）が設定され、この２点を対角線とする矩形領域がユーザクリッピング領域とされる。
相対ユーザクリッピングエリアレジスタＲ１２は、カーナビゲーションシステムのプログラム設計者が相対座標で表わされる任意のクリッピング領域を設定することの可能なレジスタである。このレジスタＲ１１には上記絶対座標上に任意に設定される相対座標で表わされる２つの座標値（ＲＵＸｍｉｎ，ＲＵＹｍｉｎ）−（ＲＵＸｍａｘ，ＲＵＹｍａｘ）が設定され、この２点を対角線とする矩形領域が相対ユーザクリッピング領域（相対クリッピング領域）とされる。
ローカルオフセットレジスタＲ１３は、表示画面に対して原点を任意な位置に設定可能な相対座標が設定されるレジスタである。このレジスタＲ１３には絶対座標で表わされる１つ座標値（ＬＸｏ，ＬＹｏ）が設定され、この座標点を原点としＸ軸とＹ軸は同方向に伸びる座標が相対座標とされる。
また、本実施例において絶対座標とは、スクリーン座標の左上（０，０）を原点として示される（ｘ，ｙ）座標を意味する。相対座標とは、ローカルオフセットレジスタＲ１３に設定された座標値（ＬＸｏ，ＬＹｏ）を原点として示される（ｘ，ｙ）座標を意味する。
上記のレジスタＲ１０〜Ｒ１３の設定方法は、ＣＰＵ１がアドレスを指定して直接書き込むことも出来るし、描画部２０に読み込まれて実行される制御コマンドにより書き換えることも出来る。制御コマンドにより書換え可能なため、予めディスプレイリストの中に制御コマンドを入れておくことで、ＣＰＵ１の負荷を高めることなく、また、表示制御装置２の描画処理を中断させることなく、描画処理中の所定のタイミングにクリッピング領域の設定変更が可能となる。それにより、例えば、１つのウィンドウ表示内に複数の表示枠を設け、これら複数の表示枠への描画を１つのディスプレイリストで行わせる場合に、各表示枠に対する描画コマンドをそれぞれブロック化してリスト上で連続的に配列しておくとともに、これらの描画コマンドの各ブロックの間にクリッピング領域を次の表示枠に変更する制御コマンドを挿んでおくことで、描画部２０がディスプレイリストに沿って描画処理を行っていく過程の必要なタイミングでクリッピング領域の変更を自動的に行わせることが出来る。
クリッピングエリア生成部２０２は、これより実行する１つの描画コマンドに対するクリッピング領域を決定するもので、上記の描画レジスタ部２０１に設定された値と、各描画コマンドの描画属性部に含まれる例えば２ビットの値に基づきクリッピング領域を決定する。図３に示されるように、クリッピングエリア生成部２０２には、相対ユーザクリッピングエリアレジスタＲ１２とローカルオフセットレジスタＲ１３の値を加算して絶対座標で表わされた相対クリッピング領域の座標を生成する演算器としての４つの加算器ＡＭ１と、描画レジスタ部２０１に設定された複数のクリッピング領域に基づき１つのクリッピング領域を決定するクリッピングエリア選択部ＳＥＬ１とが設けられている。
上記の加算器ＡＭ１は、相対ユーザクリッピングエリアレジスタＲ１２に設定されている２つの座標値のうちＸ座標の値にはローカルオフセットレジスタＲ１３のＸ座標の値を、Ｙ座標の値にはローカルオフセットレジスタＲ１３のＹ座標の値を加算する。そして、絶対座標で表わされた相対ユーザクリッピング領域の２つの対角頂点の座標値（ＴＲＵＸｍｉｎ，ＴＲＵＹｍｉｎ）−（ＴＲＵＸｍａｘ，ＴＲＵＹｍａｘ）｛＝（ＲＵＸｍｉｎ＋ＬＸｏ，ＲＵＹｍｉｎ＋ＬＹｏ）−（ＲＵＸｍａｘ＋ＬＸｏ，ＲＵＹｍａｘ＋ＬＹｏ）｝がもとめられる。
クリッピングエリア選択部ＳＥＬ１には、描画レジスタ部２０１に設定されたシステムクリッピング領域、ユーザクリッピング領域、絶対座標で表わされた相対クリッピング領域の各対角頂点の座標値と、描画コマンドの描画属性部に含まれるユーザクリップイネーブルビットＵＣＬＰ＿ＥＮＡＢＬＥと相対ユーザクリップイネーブルビット（相対クリッピングイネーブルビット）ＲＵＣＬＰ＿ＥＮＡＢＬＥの２ビットの値が入力される。
描画コマンドは、描画の種別が示された命令コード部と描画の属性を示す描画属性部から成る描画コマンドパラメータ部と、色情報や表示メモリ４に格納されているテクスチャのサイズや格納場所（座標や物理アドレス）の情報をもつ描画テクスチャパラメータ部と、描画図形の頂点の座標値情報を持つ描画頂点パラメータ部から構成されている。図４には、上記描画コマンドの描画コマンドパラメータ部のみを示しており、この描画属性部にユーザクリッピング領域の適用の有無と相対ユーザクリッピング領域の適用の有無をそれぞれ示す２つのビットＵＣＬＰ＿ＥＮＡＢＬＥ，ＲＵＣＬＰ＿ＥＮＡＢＬＥが含まれる。
クリッピングエリア選択部ＳＥＬ１は、対角する２頂点を絶対座標で表わして示されるシステムクリッピング領域、ユーザクリッピング領域、相対ユーザクリッピング領域の３つの領域の重なった部分を１つのクリッピング領域としてその対角２頂点の座標値（ＣＸｍｉｎ，ＣＹｍｉｎ）−（ＣＸｍａｘ，ＣＸｍａｘ）を出力する。但し、クリッピングエリア選択部ＳＥＬ１に入力されるユーザクリッピングイネーブルビットＵＣＬＰ＿ＥＮＡＢＬＥが“０”であったときには、クリッピングエリア選択部ＳＥＬ１はクリッピング領域の演算からユーザクリッピング領域を除外し、相対ユーザクリッピングイネーブルビットＲＵＣＬＰ＿ＥＮＡＢＬＥが“０”のときには、クリッピング領域の演算から相対クリッピング領域を除外する。
従って、描画コマンドの描画属性部に含まれる２ビットＵＣＬＰ＿ＥＮＡＢＬＥ，ＲＵＣＬＰ＿ＥＮＡＢＬＥにより、ユーザクリッピング領域と相対ユーザクリッピング領域の使用とこれらが重なった領域の使用とが描画コマンドごとに選択可能になっている。また、システムクリッピング領域との重なり部分を常にクリッピング領域としていることで、ユーザ指定のクリッピング領域が表示画面からはみ出すような設定になっている場合でも、表示画面から外れた部分についても描画処理が省かれるようになっている。
座標生成部２０３は、例えば多角形を描画する描画コマンドを実行する場合には、描画コマンドに含まれる多角形の頂点の座標が入力されてその多角形の内側全部のドットの座標値を連続的に生成するものである。座標生成部２０３の前段には、入力される多角形の頂点の座標、例えば四角形の場合４頂点の座標（Ｘ１，Ｙ１）〜（Ｘ４，Ｙ４）とローカルオフセットレジスタＲ１３の設定値（ＬＸｏ，ＬＹｏ）とを加算する第２の演算器としての加算器ＡＭ２，ＡＭ２が設けられており、描画コマンドに相対座標で表わされた頂点の座標値を記しておくことで、ローカルオフセットレジスタＲ１３により決定される相対座標に沿って描画オブジェクトを描画することが可能になっている。
座標クリッピング部２０４は、クリッピングエリア生成部２０２から与えられたクリッピング領域の対角２頂点の座標値に基づき座標生成部２０３から出力される座標値がクリッピング領域内のものか領域外のものか１ドットずつ比較して、領域外であればその座標値は破棄し、領域内の座標値だけを出力する。
そして、この座標値が図示しない物理アドレス変換回路により表示メモリ４の物理アドレスに変換され、さらに描画コマンド等に基づく各ドットの色データが付加された画素データが生成されて、この画素データが表示メモリ４のフレームバッファ領域の対応する物理アドレスに書き込まれていく。１つの表示フレーム分の画素データが書き込まれるとこの画素データが表示部２２により読み出され、表示信号に変換されて表示装置５に出力される。
次に、表示制御装置２の描画処理の例を参照しながらクリッピング処理の説明をする。
図５は例えば１つの描画コマンドで表わされる四角形の描画オブジェクトを示す図、図６はこの描画コマンドに基づく描画をローカルオフセット値（０，０）で行った例を示す図、図７はクリッピング領域の設定を行って描画した例を示す図、図８はローカルオフセット値（３８４，１２８）で描画オブジェクトを移動したときの例を示す図、図９はユーザクリッピング領域を設定して描画オブジェクトを移動させたときの例を示す図、図１０は相対ユーザクリッピング領域を設定して描画オブジェクトを移動させたときの例を示す図である。
描画コマンドにより表わされる描画オブジェクトとして、例えば、図５に示すような多角形を描画する場合、描画コマンドをデコードして加算器ＡＭ２に出力されるのは多角形の第１頂点〜第４頂点の各座標値となる。この座標値はＣＰＵにより描画コマンドが生成されたときに設定されていた描画座標で表わされたものである。
図６に示すように、上記描画オブジェクトをローカルオフセット値（０，０）で描画すれば描画座標と表示装置５のスクリーン座標とは同値となるので図６に示す位置に多角形が描画される。
次に、ユーザクリッピング領域或いは相対ユーザクリッピング領域を（０，１２８）−（３８３，３８３）に設定した状態で上記図６の描画を行うと、図７に示すようにこれらクリッピング領域外の描画が除外されて領域と重なる部分のみが描画される。ここで、オフセット値（０，０）であるため描画コマンドの属性ビットＵＣＬＰ＿ＥＮＡＢＬＥ，ＲＵＣＬＰ＿ＥＮＡＢＬＥは何れか対応するビットが“１”であるとしている。
また、図８に示すように、図５の描画オブジェクトをローカルオフセット値（３８４，１２８）の設定で描画すると、描画オブジェクトの各頂点の座標値がオフセット値の分だけずらされるので、図６のオフセット値（０，０）のときの描画位置からディスプレイ画面上で描画オブジェクトが平行移動されたような位置に描画オブジェクトが描画される。
さらに、このような描画を、ユーザクリッピング領域が（０，１２８）−（３８３，３８３）に設定された状態で行うと、図９に示すように、ユーザクリッピング領域（０，１２８）−（３８３，３８３）はローカルオフセット値の影響を受けないのでクリッピング領域の位置はオフセット値による座標の演算がされず描画オブジェクトの位置のみオフセット値による演算がされて、描画オブジェクトがクリッピング領域から外れてしまう。
一方、上記オフセット値（３８４，１２８）の描画を相対ユーザクリッピング領域が（０，１２８）−（３８３，３８３）に設定された状態で行うと、図１０に示すように、相対ユーザクリッピング領域もローカルオフセット値（３８４，１２８）の影響を受けて絶対座標表現で（０＋３８３，１２８＋１２８）−（３８３＋３８３，３８３＋１２８）のように描画オブジェクトと同様にオフセット値の演算がされるので、クリッピング領域に対する描画オブジェクトの位置は固定されたまま、クリッピング領域と描画オブジェクトが同様にずれた描画内容となる。
図１１には、実施例のカーナビゲーションシステムにおける相対クリッピング領域を利用した地図表示の例を示す。
上述の相対クリッピング領域は比較的大きなディスプレイ画面を搭載した例えばカーナビゲーションシステムにおいて次のような表示を行う場合に有用なものである。
すなわち、ユーザの操作に基づきディスプレイ画面Ｓ０上で平行移動させることが可能なウィンドウ表示ＷＤを構成するとともに、このウィンドウ表示ＷＤのなかに複数の相対ユーザクリッピング領域ＲＵＣ０〜ＲＵＣ２を設定して地図表示やメニューなど複数種の表示を行うものである。
このようなウィンドウ表示ＷＤを行うには、先ず、ウィンドウ表示ＷＤを含めたディスプレイ画面Ｓ０全体の描画を表示メモリ４の連続するフレーム領域に行われるようにするとともに、ユーザによりウィンドウ表示ＷＤを平行移動する操作が行われたときにはＣＰＵ１に割込み信号が送られるように構成し、この割込み信号に基づきＣＰＵ１が描画レジスタ部２０１のローカルオフセットレジスタＲ１３の値を書き換えることで、ウィンドウ表示ＷＤがクリッピング領域ＲＵＣ０〜ＲＵＣ２とともにウィンドウ表示ＷＤ’へと平行移動されるようにする。
表示制御装置２の描画処理部２０は、表示メモリ４に格納されたディスプレイリストに沿って描画コマンドや制御コマンドを逐次実行してフレーム領域に画素データを書き込んでいくが、１つのクリッピング領域の描画から他のクリッピング領域の描画へ移行するときには、それらの描画コマンドの間に予め挿入されている相対ユーザクリッピングエリアレジスタＲ１２の値を変更する制御コマンドを表示制御装置２が実行することで、表示制御装置２がＣＰＵ１に頼らずに描画処理の必要なタイミングで相対ユーザクリッピング領域の設定変更を行う。
ここで、ウィンドウ表示ＷＤの中に設定されるクリッピング領域が絶対座標で表わされるユーザクリッピング領域であった場合には、ウィンドウ表示ＷＤを移動させる操作があったときに、ＣＰＵ１は表示メモリ４に格納されたディスプレイリストの制御コマンドを書き換えなければならなくなり、ＣＰＵ１や表示メモリバス１１の負荷が非常に高まってしまう。それに対して、クリッピング領域を相対ユーザクリッピング領域で設定しておくことで、ウィンドウ表示ＷＤを移動させる操作があってもディスプレイリストの変更は不要となるので、上記のようなＣＰＵ１や表示メモリバス１１の負荷は発生することがない。
他方、ウィンドウ表示ＷＤとともに移動させたくない表示枠を作成したい場合には、ユーザクリッピング領域の設定で描画を行うことで対応することが出来る。
以上のように、この実施例の表示制御装置によれば、地図表示を行うナビゲーションシステムなど、複数のフレーム期間に１つのディスプレイリストを繰り返し使用して複数の表示フレームの描画を行うとともに、クリッピング処理によりディスプレイリストから示される全ての描画オブジェクトのうち必要な部分のみを切り抜いて描画を行うシステムにおいて、ディスプレイ画面上で描画オブジェクトとクリッピング領域とを同時に平行移動させる表示制御を、ＣＰＵ１や表示メモリバス１１の負荷を高めることなく実行できるという効果がある。
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、実施例ではクリッピング領域を対角する２頂点で表わされる矩形領域の内側として説明しているが、その他、矩形領域の外側をクリッピング領域として外側の画素の描画を行って内側の描画を省略するようにしたり、或いは矩形以外の形状（例えば多角形）の領域をクリッピング領域とすることも可能である。
また、実施例では座標生成部２０３の後段でドット毎の座標値をクリッピング処理する構成を示したが、座標生成部２０３の前段において例えば描画オブジェクトの全頂点の座標値がクリッピング領域から外れていた場合にこの描画を除外するような大まかなクリッピング処理を行うことも可能である。
また、実施例では地図データを記憶装置７に格納した構成であるが、地図データを通信手段を介してコンピュータネットワークから受信する構成とすることも出来る。
図１２には描画部２０の第２実施例の構成図を示す。
また、図１２に示すように、描画レジスタ部２０１に図３のシステムクリッピングエリアレジスタＲ１０やユーザクリッピングエリアレジスタＲ１１を設けず、相対ユーザクリッピング領域のみをクリッピング領域として設定可能な構成としても良い。
図１３には描画部２０の第３実施例の構成図を示す。
また、相対ユーザクリッピング領域に対するクリッピング処理を行うハードウェア構成は、図１３のような構成とすることも可能で、それにより図３の加算器ＡＭ１を省くことが出来る。図１３の構成は、ローカルオフセット値（ＬＸｏ，ＬＹｏ）を描画オブジェクトの座標値に加算する加算器ＡＭ２１，ＡＭ２１を座標生成部２０３の後段に配置するとともに、クリッピング処理を行う座標クリッピング部２０４Ａを座標生成部２０３と加算器ＡＭ２１，ＡＭ２１との間に配置したものである。座標クリッピング部２０４Ａには相対ユーザクリッピングエリアレジスタＲ１２の設定値が与えられるように構成する。
このような構成においては、相対座標で生成された描画オブジェクトの座標値をそのまま相対座標で表わされた座標値に基づきクリッピング処理し、その後にローカルオフセット値を加算して絶対座標に変換しているので、相対クリッピング領域を絶対座標で表わすための加算器ＡＭ１が不要となる。
なお、図１３の構成でシステムクリッピング領域やユーザクリッピング領域の設定も可能にするには、加算器ＡＭ２１，ＡＭ２１の後段にこれら領域のクリッピング処理を行う座標クリッピング部を追加すれば良い。
なお、本発明に係る表示制御装置は、地図表示を行って位置情報を知らせるナビゲーションシステムに限られず、一つのディスプレイリストを複数のフレーム期間に渡って繰り返し用いて描画を行うとともに、ディスプレイリストに示される描画オブジェクトをクリッピング処理にて必要な範囲のみ切り出して描画するような制御方式を用いた表示制御システムにおいて、描画オブジェクトとクリッピング領域とを共に平行移動させるような表示制御を行う場合に用いて効果的なものである。
【産業上の利用の可能性】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるカーナビゲーションシステムついて説明したがこの発明はそれに限定されるものでなく、例えば携帯型のナビゲーションシステムなどに広く利用することができる。
【図１】
2004055671.tif 000003
【図２】
2004055671.tif 000004
【図３】
2004055671.tif 000005
【図４】
2004055671.tif 000006
【図５】
2004055671.tif 000007
【図６】
2004055671.tif 000008
【図７】
2004055671.tif 000009
【図８】
2004055671.tif 000010
【図９】
2004055671.tif 000011
【図１０】
2004055671.tif 000012
【図１１】
2004055671.tif 000013
【図１２】
2004055671.tif 000014
【図１３】
2004055671.tif 000015
【国際調査報告】
2004055671.tif 000016
2004055671.tif 000017