説明

ナビゲーションシステム

地図表示を行って位置情報を知らせるナビゲーションシステムの表示制御装置に、描画命令に従って表示メモリに画素データを書き込む座標を生成する座標生成部203と、表示画面上に設定されるクリッピング領域の領域外への描画を省かせる座標クリッピング部204と、表示画面上に任意の相対座標を設定可能なローカルオフセットレジスタR13と、相対座標で表わされる相対クリッピング領域を設定可能な相対ユーザクリッピングエリアレジスタR12とが設けられ、座標クリッピング部204はローカルオフセット値と相対クリッピング領域の設定値とを加算して決定されるクリッピング領域(TRUXmin,TRUYmin)−(TRUXmax,TRUYmax)に対してクリッピング処理が行われるようにした。

【発明の詳細な説明】
【技術分野】
本発明は、表示制御技術さらには描画コマンドリストを用いて指定領域の描画を行うグラフィック表示システムに適用して有用な技術に関し、例えばナビゲーションシステムに利用して有用な技術である。
【背景技術】
グラフィック表示システムにおける描画処理の一つに、指定された領域からはみ出した画素データを除去するクリッピング処理と呼ばれるものがある。ここでクリッピング処理における指定領域はクリッピング領域と呼ばれ一般に矩形の領域が指定される。
クリッピング処理は、CPU(中央演算処理装置)を用いたソフトウェア処理により行う方式と、画素データを生成する表示制御装置や描画プロセッサなどのハードウェアにより行う方式とがある。ハードウェアによるクリッピング処理においては、例えば、表示メモリに展開された画素データを表示部まで送る過程で処理する場合と、描画コマンドに基づき画素データを表示メモリへ展開する描画処理の際に処理する場合とがある。
また、ハードウェアにより描画処理の際にクリッピング処理を行う場合においても、1画素ごとにクリッピング領域の内側か外側かを判別して外側の画素データの書込みを省く方式や、描画コマンドにより指定される図形とクリッピング領域の境界線との交点を求めて、新たにクリッピンク領域をはみ出さない図形の描画内容に変更して描画処理を行う方式など、さまざまな方式がある。
ところで、カーナビゲーションシステムには、地図表示を行うために実際の表示範囲よりも大きな範囲の描画コマンドのリストを半導体メモリに格納しておき、これら描画コマンドのリストを逐次実行する際に、上記のクリッピング処理により所定範囲の地図表示のみ描画が行われるようにしたシステムがある。このようなシステムによれば、現在位置がそれほど動いていない期間は、半導体メモリに格納した同一の描画コマンドリストを繰り返し使用して複数の表示フレームにわたる描画処理を行えるので、地図表示に必要なCPUの負担を減らすことが出来るという利点がある。
従来のカーナビゲーションシステムにおいては、例えば、表示制御装置の中に任意にクリッピング領域が設定可能なレジスタ(例えばユーザークリッピングエリアレジスタ)を設け、この設定値に基づき描画処理の際にハードウェア処理によりクリッピング処理を行うのが一般的であった(2000年5月 株式会社日立製作所刊行 HD64413A Q2SDユーザーマニュアル(SuperH RISC engine Peripheral LSI HD64413A Q2SD User’s Manual)参照)。
カーナビゲーションシステムにおいてクリッピング処理をハードウェア処理により行うのは、カーナビゲーションシステムにおいてはシステム制御を行うCPUがパーソナルコンピュータの分野のCPUなどに較べてコスト面から性能をさほど高くできないこと、地図表示において描画する線や多角形などが非常に多くそれゆえ1画面分のクリッピング処理回数が非常に多くなること、加えて、フレーム毎に描画処理を行って画素データの書き直しを行うためトータルでのクリッピング処理が膨大な回数になるなどの理由からである。
さらにカーナビゲーションシステムにおいてクリッピング処理を表示処理の過程でなく描画処理の際に行う理由は、描画後の表示処理の過程で行う場合に較べて処理にかかるハードウェアの負荷や、画素データを格納する表示メモリの容量の低減、画素データによる転送バスの占有率の軽減などが図れるという利点があるからである。
現在、カーナビゲーションシステムは液晶ディスプレイの低廉化に伴って大画面化が進んでおり、表示画面上に複数のウィンドウ表示を行ってそのウィンドウ表示内に地図表示を行ったり、地図表示が行われているウィンドウ表示を任意の場所に平行移動可能とするような表示仕様が求められてくると考えられる。
しかしながら、従来のナビゲーションシステムの表示制御装置においてはクリッピング領域を表示画面に固定的に対応付けられた絶対座標で指定するしかなかったため、ウィンドウ表示を平行移動させるたびにCPUがクリッピング領域を計算しなおして再設定してやる必要がある。
さらに、1つのウィンドウ表示に複数のクリッピング領域を設けてそれぞれに異なる情報を表示させる場合には、第1のクリッピング領域に表示させる情報の描画コマンドと、第2のクリッピング領域に表示させる情報の描画コマンドとをそれぞれ分けて描画コマンドのリスト中に配置するとともに、それらの間にクリッピング領域を第1のクリッピング領域から第2のクリッピング領域に変更する制御コマンドを入れるなどして、指定されたクリッピング領域に指定された情報の描画が行われるようにされるが、このクリッピング領域が絶対座標でしか設定できないと、ウィンドウ表示を平行移動させるたびにCPUは描画コマンドのリストを書き換えなければならなくなる。描画コマンドリストの書き換えは、CPU負荷を著しく増加させるとともに、描画コマンドを転送するバスの占有率の増加を招きシステムのスループットが低下するとともに、スループットの低下を回避するためには性能の高いCPUや転送レートの高いバスが必要となってシステムのコストアップを招いてしまう。
この発明の目的は、クリッピング処理を伴う地図表示を表示装置の画面上で任意の方向へ平行移動させるような描画処理をCPUの負荷や描画コマンド転送に伴うバスの負荷を高めずに実行することの可能な描画処理装置を備えたナビゲーションシステムを提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
【発明の開示】
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
すなわち、地図などの位置情報を表示可能なナビゲーションシステムの描画処理装置に、描画命令(すなわち描画コマンド)に従って例えば表示メモリに画素データを書き込む描画回路と、表示画面上に設定されるクリッピング領域の領域外への描画処理(すなわち画素データの書込み)を除外するクリッピング処理回路と、表示画面に固定的に対応付けられる絶対座標上に相対座標を設定可能なオフセット設定手段としてのオフセット設定レジスタと、上記相対座標で表わされる相対クリッピング領域を設定可能な相対クリッピング領域設定レジスタとが設けられ、上記クリッピング処理回路はオフセット設定レジスタと相対クリッピング領域設定レジスタの各設定値で決定されるクリッピング領域に対してクリッピング処理を行うように構成したものである。
このような手段によれば、画面上で任意の方向に平行移動可能なウィンドウ表示の中にクリッピング領域を設けて地図表示を行うような場合であっても、予めウィンドウ表示に対応づけられた相対座標でクリッピング領域を指定しておくことで、クリッピング領域が設けられたウィンドウ表示を平行移動させると云った描画処理をCPUの負荷や描画コマンドの転送に伴うバスの負荷を上げることなく実行することが可能となる。
【図面の簡単な説明】
図1は、本発明を適用したカーナビゲーションシステムの概略構成を示すブロック図である。
図2は、図1の表示制御装置の構成例を示すブロック図である。
図3は、図1の描画部の一例を詳細に示す構成図である。
図4は、表示制御装置により解釈され実行される描画コマンドの一例を示すビット構成図である。
図5は、1つの描画コマンドに基づき表示制御装置内の画素生成部により生成される描画オブジェクトの一例を示す図である。
図6は、表示制御装置がローカルオフセット値を原点に設定して図5のオブジェクトを描画した例を示す図である。
図7は、表示装置の画面上に所定のクリッピング領域を設定した場合の描画例を示す図である。
図8は、ローカルオフセット値を変更して図5のオブジェクトを描画した例を示す図である。
図9は、絶対座標で表わされるユーザークリッピング領域を指定してローカルオフセット値を変更した場合の描画例を示す図である。
図10は、相対ユーザクリッピング領域を指定してローカルオフセット値を変更した場合の描画例を示す図である。
図11は、カーナビゲーションシステムにおいて任意な方向に平行移動可能なウィンドウ表示の中に複数のクリッピング領域を設定して地図表示を行った場合の画像例を示す図である。
図12は、図1の表示制御装置を構成する描画部の第2実施例を示す構成図である。
図13は、図1の表示制御装置を構成する描画部の第3実施例を示す構成図である。
発明を実施するため最良の形態
以下、本発明の好適な実施例を図面に基づいて説明する。
図1は、本発明をカーナビゲーションシステムに適用した場合のシステム全体の構成と要部を示すブロック図である。特に制限されるものでないが、同図において、符号2で囲まれた領域にある複数の回路ブロックは単結晶シリコンのような1つの半導体基板上に形成される。
図1において、1は現在位置の演算処理並びにこの演算結果やユーザの入力操作に基づき表示内容の変更を指示する等のシステム制御を行うCPU、2は描画コマンドに従って表示メモリ4へ画素データを書き込む描画処理や表示メモリ4から画素データを読み出して表示信号に変換して出力する表示出力処理を行う表示制御装置、3はCPUの作業空間を提供するDRAM(ダイレクトランダムアクセスメモリ)などのメモリ、4は描画コマンドや画素データが格納されるDRAMなどの表示メモリ、5は液晶ディスプレイなどの表示装置、6は起動プログラムなどが格納されるフラッシュメモリやマスクROMなどの電源遮断後もデータ保持可能な不揮発性メモリ、7は地図表示用データなどが格納されるDVD(デジタル多用途ディスク)やハードディスクなどの記憶媒体が搭載される記憶装置、10はシステムバス、11は表示メモリバスである。
また、図示は省略しているが、上記のシステムバス10には、タッチパネルなどの入力装置が接続され、また、GPS(全地球測位システム)受信器や方位計測器ならびにガスレートセンサーなどの現在位置を計測する測位機器が接続されるようになっている。
この実施例のカーナビゲーションシステムにおいては、記憶装置7に格納されている地図表示用のデータはその殆どが線や多角形を示すベクタ情報で表わされており、地図表示を行う場合にはCPUが必要な範囲の地図表示用のデータを読み出して、表示位置に合わせた座標情報を付加したり表示制御装置2に対応した属性情報を付加するなどして、線や多角形の情報ごとに描画コマンドを生成して表示メモリ4に書き込む。この描画コマンドのコード列はディスプレイリストと呼ばれる。そして、表示制御装置2がこのディスプレイリストの描画コマンドをそれぞれ実行して画素データを表示メモリ4に書き込んだ後、この画素データを表示メモリ4から読み出して表示装置5の表示動作に同期させながら表示信号に変換して出力することで、ディスプレイに地図表示を含んだ所定の表示が行われる。
表示メモリ4には、所定範囲の地図表示の描画が可能な描画コマンドの列であるディスプレイリストの格納領域と、ウィンドウ表示や他の階層表示やバックグランド表示の画素データが格納されるフレームバッファ領域などが設けられている。フレームバッファ領域は例えば2面分或いは3面分を備え、第1面のフレームバッファ領域の画素データに基づき表示出力を行っている間に、第2面のフレームバッファ領域に次の面の描画を行うと云ったように描画と表示出力とでフレームバッファ領域を交互に切り替えながら用いるようにしても良い。同様に、ディスプレイリストの格納領域も例えば2面分或いは3面分を備え、交互に切り替えながら用いるようにしていても良い。
表示制御装置2による描画処理は表示フレームごとに行われるが、ディスプレイリストの変更は新しい範囲の地図表示が必要となるまで行われず、その間は同じディスプレイリストを繰り返し用いて描画処理が行われる。
図2は、表示制御装置2の構成例を示すブロック図である。
表示制御装置2は、図1に示すように、描画コマンドを解釈して実行する描画回路である描画部20と、システムバス10に接続されてCPU1からのデータ入出力を行うCPUインターフェースユニット21と、表示メモリ4から画素データを読み出して映像信号に変換して表示装置5の動作と同期させて出力する表示部22と、表示メモリ4へのデータの読み書きを制御するメモリコントロール部23とを備えている。また、図2に詳細に示すように、表示制御装置2には、表示メモリ4のデータやアドレスが転送されるメモリバスMDB,MABと、システムバス10側のデータやアドレスが転送されるCPUバスCDB,CABと、また、これらのバスへの各ブロックのアクセス制御を行うバスコントローラ25が設けられている。また、CPUインターフェースユニット21や表示部22およびメモリコントロール部23はそれぞれI/Oバッファ26a〜26cを介してデータを入出力するようにされる。また、描画部20は描画処理ユニット27とバッファユニット28とを備え、バッファユニット28を介して描画コマンドのフェッチや画素データの書込みを行うようにされている。
図3には描画部20の部分を詳細に示す構成例を、図4には描画コマンドのデータ構成図を示す。
描画部20には、図1に示したように、各種の描画条件を設定する描画レジスタ部201と、クリッピング領域外での描画処理を除外させるクリッピング処理回路としての座標クリッピング部204と、描画レジスタ部201の設定データに基づきクリッピング領域を決定するクリッピングエリア生成部202と、描画データ(例えば描画オブジェクトの頂点など)に基づく描画図形の座標をドットごとに生成する座標生成部203とが設けられている。またそれぞれは、図2に示されるように描画処理ユニット27に含まれる。
描画部20には、その他、描画コマンドや制御コマンドを解釈して座標生成部203に描画用のデータを出力したり描画レジスタに設定データを書き込む解釈部およびデコーダ回路や、描画図形の各ドットの座標値を表示メモリ4のフレームバッファ領域の対応するアドレスに変換する物理アドレス変換回路、並びに、描画する画素データに各ドットの表示色を表わす色データを付加する色データ付加回路などが設けられている。
描画レジスタ部201には、図3に示すようにシステムクリッピングエリアレジスタR10、絶対クリッピング領域設定手段としてのユーザクリッピングエリアレジスタR11、相対クリッピング領域設定手段としての相対ユーザクリッピングエリアレジスタR12、ローカルオフセットレジスタR13等が含まれている。更に、図示はしないが透過色の情報、転送元・転送先のアドレス情報等、演算時に参照され、CPUによってアクセス可能な各種のレジスタなども含まれている。
上記システムクリッピングエリアレジスタR10は、例えば表示装置5のスクリーン座標で画面全領域が設定されるレジスタであり、ここに設定されたシステムクリッピング領域を超えた領域に対する描画処理は常に省かれるようになっている。このレジスタR10にはX−Y座標の各最大値(SXmax,SYmax)が設定され、この座標点と原点(0,0)とを対角線とする矩形領域がシステムクリッピング領域とされる。
ユーザクリッピングエリアレジスタR11は、カーナビゲーションシステムのプログラム設計者が任意のクリッピング領域を設定することの可能なレジスタである。このレジスタR11には表示画面に対して固定的に対応付けられた絶対座標で表わされる2つの座標値(UXmin,UYmin)−(UXmax,UYmax)が設定され、この2点を対角線とする矩形領域がユーザクリッピング領域とされる。
相対ユーザクリッピングエリアレジスタR12は、カーナビゲーションシステムのプログラム設計者が相対座標で表わされる任意のクリッピング領域を設定することの可能なレジスタである。このレジスタR11には上記絶対座標上に任意に設定される相対座標で表わされる2つの座標値(RUXmin,RUYmin)−(RUXmax,RUYmax)が設定され、この2点を対角線とする矩形領域が相対ユーザクリッピング領域(相対クリッピング領域)とされる。
ローカルオフセットレジスタR13は、表示画面に対して原点を任意な位置に設定可能な相対座標が設定されるレジスタである。このレジスタR13には絶対座標で表わされる1つ座標値(LXo,LYo)が設定され、この座標点を原点としX軸とY軸は同方向に伸びる座標が相対座標とされる。
また、本実施例において絶対座標とは、スクリーン座標の左上(0,0)を原点として示される(x,y)座標を意味する。相対座標とは、ローカルオフセットレジスタR13に設定された座標値(LXo,LYo)を原点として示される(x,y)座標を意味する。
上記のレジスタR10〜R13の設定方法は、CPU1がアドレスを指定して直接書き込むことも出来るし、描画部20に読み込まれて実行される制御コマンドにより書き換えることも出来る。制御コマンドにより書換え可能なため、予めディスプレイリストの中に制御コマンドを入れておくことで、CPU1の負荷を高めることなく、また、表示制御装置2の描画処理を中断させることなく、描画処理中の所定のタイミングにクリッピング領域の設定変更が可能となる。それにより、例えば、1つのウィンドウ表示内に複数の表示枠を設け、これら複数の表示枠への描画を1つのディスプレイリストで行わせる場合に、各表示枠に対する描画コマンドをそれぞれブロック化してリスト上で連続的に配列しておくとともに、これらの描画コマンドの各ブロックの間にクリッピング領域を次の表示枠に変更する制御コマンドを挿んでおくことで、描画部20がディスプレイリストに沿って描画処理を行っていく過程の必要なタイミングでクリッピング領域の変更を自動的に行わせることが出来る。
クリッピングエリア生成部202は、これより実行する1つの描画コマンドに対するクリッピング領域を決定するもので、上記の描画レジスタ部201に設定された値と、各描画コマンドの描画属性部に含まれる例えば2ビットの値に基づきクリッピング領域を決定する。図3に示されるように、クリッピングエリア生成部202には、相対ユーザクリッピングエリアレジスタR12とローカルオフセットレジスタR13の値を加算して絶対座標で表わされた相対クリッピング領域の座標を生成する演算器としての4つの加算器AM1と、描画レジスタ部201に設定された複数のクリッピング領域に基づき1つのクリッピング領域を決定するクリッピングエリア選択部SEL1とが設けられている。
上記の加算器AM1は、相対ユーザクリッピングエリアレジスタR12に設定されている2つの座標値のうちX座標の値にはローカルオフセットレジスタR13のX座標の値を、Y座標の値にはローカルオフセットレジスタR13のY座標の値を加算する。そして、絶対座標で表わされた相対ユーザクリッピング領域の2つの対角頂点の座標値(TRUXmin,TRUYmin)−(TRUXmax,TRUYmax){=(RUXmin+LXo,RUYmin+LYo)−(RUXmax+LXo,RUYmax+LYo)}がもとめられる。
クリッピングエリア選択部SEL1には、描画レジスタ部201に設定されたシステムクリッピング領域、ユーザクリッピング領域、絶対座標で表わされた相対クリッピング領域の各対角頂点の座標値と、描画コマンドの描画属性部に含まれるユーザクリップイネーブルビットUCLP_ENABLEと相対ユーザクリップイネーブルビット(相対クリッピングイネーブルビット)RUCLP_ENABLEの2ビットの値が入力される。
描画コマンドは、描画の種別が示された命令コード部と描画の属性を示す描画属性部から成る描画コマンドパラメータ部と、色情報や表示メモリ4に格納されているテクスチャのサイズや格納場所(座標や物理アドレス)の情報をもつ描画テクスチャパラメータ部と、描画図形の頂点の座標値情報を持つ描画頂点パラメータ部から構成されている。図4には、上記描画コマンドの描画コマンドパラメータ部のみを示しており、この描画属性部にユーザクリッピング領域の適用の有無と相対ユーザクリッピング領域の適用の有無をそれぞれ示す2つのビットUCLP_ENABLE,RUCLP_ENABLEが含まれる。
クリッピングエリア選択部SEL1は、対角する2頂点を絶対座標で表わして示されるシステムクリッピング領域、ユーザクリッピング領域、相対ユーザクリッピング領域の3つの領域の重なった部分を1つのクリッピング領域としてその対角2頂点の座標値(CXmin,CYmin)−(CXmax,CXmax)を出力する。但し、クリッピングエリア選択部SEL1に入力されるユーザクリッピングイネーブルビットUCLP_ENABLEが“0”であったときには、クリッピングエリア選択部SEL1はクリッピング領域の演算からユーザクリッピング領域を除外し、相対ユーザクリッピングイネーブルビットRUCLP_ENABLEが“0”のときには、クリッピング領域の演算から相対クリッピング領域を除外する。
従って、描画コマンドの描画属性部に含まれる2ビットUCLP_ENABLE,RUCLP_ENABLEにより、ユーザクリッピング領域と相対ユーザクリッピング領域の使用とこれらが重なった領域の使用とが描画コマンドごとに選択可能になっている。また、システムクリッピング領域との重なり部分を常にクリッピング領域としていることで、ユーザ指定のクリッピング領域が表示画面からはみ出すような設定になっている場合でも、表示画面から外れた部分についても描画処理が省かれるようになっている。
座標生成部203は、例えば多角形を描画する描画コマンドを実行する場合には、描画コマンドに含まれる多角形の頂点の座標が入力されてその多角形の内側全部のドットの座標値を連続的に生成するものである。座標生成部203の前段には、入力される多角形の頂点の座標、例えば四角形の場合4頂点の座標(X1,Y1)〜(X4,Y4)とローカルオフセットレジスタR13の設定値(LXo,LYo)とを加算する第2の演算器としての加算器AM2,AM2が設けられており、描画コマンドに相対座標で表わされた頂点の座標値を記しておくことで、ローカルオフセットレジスタR13により決定される相対座標に沿って描画オブジェクトを描画することが可能になっている。
座標クリッピング部204は、クリッピングエリア生成部202から与えられたクリッピング領域の対角2頂点の座標値に基づき座標生成部203から出力される座標値がクリッピング領域内のものか領域外のものか1ドットずつ比較して、領域外であればその座標値は破棄し、領域内の座標値だけを出力する。
そして、この座標値が図示しない物理アドレス変換回路により表示メモリ4の物理アドレスに変換され、さらに描画コマンド等に基づく各ドットの色データが付加された画素データが生成されて、この画素データが表示メモリ4のフレームバッファ領域の対応する物理アドレスに書き込まれていく。1つの表示フレーム分の画素データが書き込まれるとこの画素データが表示部22により読み出され、表示信号に変換されて表示装置5に出力される。
次に、表示制御装置2の描画処理の例を参照しながらクリッピング処理の説明をする。
図5は例えば1つの描画コマンドで表わされる四角形の描画オブジェクトを示す図、図6はこの描画コマンドに基づく描画をローカルオフセット値(0,0)で行った例を示す図、図7はクリッピング領域の設定を行って描画した例を示す図、図8はローカルオフセット値(384,128)で描画オブジェクトを移動したときの例を示す図、図9はユーザクリッピング領域を設定して描画オブジェクトを移動させたときの例を示す図、図10は相対ユーザクリッピング領域を設定して描画オブジェクトを移動させたときの例を示す図である。
描画コマンドにより表わされる描画オブジェクトとして、例えば、図5に示すような多角形を描画する場合、描画コマンドをデコードして加算器AM2に出力されるのは多角形の第1頂点〜第4頂点の各座標値となる。この座標値はCPUにより描画コマンドが生成されたときに設定されていた描画座標で表わされたものである。
図6に示すように、上記描画オブジェクトをローカルオフセット値(0,0)で描画すれば描画座標と表示装置5のスクリーン座標とは同値となるので図6に示す位置に多角形が描画される。
次に、ユーザクリッピング領域或いは相対ユーザクリッピング領域を(0,128)−(383,383)に設定した状態で上記図6の描画を行うと、図7に示すようにこれらクリッピング領域外の描画が除外されて領域と重なる部分のみが描画される。ここで、オフセット値(0,0)であるため描画コマンドの属性ビットUCLP_ENABLE,RUCLP_ENABLEは何れか対応するビットが“1”であるとしている。
また、図8に示すように、図5の描画オブジェクトをローカルオフセット値(384,128)の設定で描画すると、描画オブジェクトの各頂点の座標値がオフセット値の分だけずらされるので、図6のオフセット値(0,0)のときの描画位置からディスプレイ画面上で描画オブジェクトが平行移動されたような位置に描画オブジェクトが描画される。
さらに、このような描画を、ユーザクリッピング領域が(0,128)−(383,383)に設定された状態で行うと、図9に示すように、ユーザクリッピング領域(0,128)−(383,383)はローカルオフセット値の影響を受けないのでクリッピング領域の位置はオフセット値による座標の演算がされず描画オブジェクトの位置のみオフセット値による演算がされて、描画オブジェクトがクリッピング領域から外れてしまう。
一方、上記オフセット値(384,128)の描画を相対ユーザクリッピング領域が(0,128)−(383,383)に設定された状態で行うと、図10に示すように、相対ユーザクリッピング領域もローカルオフセット値(384,128)の影響を受けて絶対座標表現で(0+383,128+128)−(383+383,383+128)のように描画オブジェクトと同様にオフセット値の演算がされるので、クリッピング領域に対する描画オブジェクトの位置は固定されたまま、クリッピング領域と描画オブジェクトが同様にずれた描画内容となる。
図11には、実施例のカーナビゲーションシステムにおける相対クリッピング領域を利用した地図表示の例を示す。
上述の相対クリッピング領域は比較的大きなディスプレイ画面を搭載した例えばカーナビゲーションシステムにおいて次のような表示を行う場合に有用なものである。
すなわち、ユーザの操作に基づきディスプレイ画面S0上で平行移動させることが可能なウィンドウ表示WDを構成するとともに、このウィンドウ表示WDのなかに複数の相対ユーザクリッピング領域RUC0〜RUC2を設定して地図表示やメニューなど複数種の表示を行うものである。
このようなウィンドウ表示WDを行うには、先ず、ウィンドウ表示WDを含めたディスプレイ画面S0全体の描画を表示メモリ4の連続するフレーム領域に行われるようにするとともに、ユーザによりウィンドウ表示WDを平行移動する操作が行われたときにはCPU1に割込み信号が送られるように構成し、この割込み信号に基づきCPU1が描画レジスタ部201のローカルオフセットレジスタR13の値を書き換えることで、ウィンドウ表示WDがクリッピング領域RUC0〜RUC2とともにウィンドウ表示WD’へと平行移動されるようにする。
表示制御装置2の描画処理部20は、表示メモリ4に格納されたディスプレイリストに沿って描画コマンドや制御コマンドを逐次実行してフレーム領域に画素データを書き込んでいくが、1つのクリッピング領域の描画から他のクリッピング領域の描画へ移行するときには、それらの描画コマンドの間に予め挿入されている相対ユーザクリッピングエリアレジスタR12の値を変更する制御コマンドを表示制御装置2が実行することで、表示制御装置2がCPU1に頼らずに描画処理の必要なタイミングで相対ユーザクリッピング領域の設定変更を行う。
ここで、ウィンドウ表示WDの中に設定されるクリッピング領域が絶対座標で表わされるユーザクリッピング領域であった場合には、ウィンドウ表示WDを移動させる操作があったときに、CPU1は表示メモリ4に格納されたディスプレイリストの制御コマンドを書き換えなければならなくなり、CPU1や表示メモリバス11の負荷が非常に高まってしまう。それに対して、クリッピング領域を相対ユーザクリッピング領域で設定しておくことで、ウィンドウ表示WDを移動させる操作があってもディスプレイリストの変更は不要となるので、上記のようなCPU1や表示メモリバス11の負荷は発生することがない。
他方、ウィンドウ表示WDとともに移動させたくない表示枠を作成したい場合には、ユーザクリッピング領域の設定で描画を行うことで対応することが出来る。
以上のように、この実施例の表示制御装置によれば、地図表示を行うナビゲーションシステムなど、複数のフレーム期間に1つのディスプレイリストを繰り返し使用して複数の表示フレームの描画を行うとともに、クリッピング処理によりディスプレイリストから示される全ての描画オブジェクトのうち必要な部分のみを切り抜いて描画を行うシステムにおいて、ディスプレイ画面上で描画オブジェクトとクリッピング領域とを同時に平行移動させる表示制御を、CPU1や表示メモリバス11の負荷を高めることなく実行できるという効果がある。
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、実施例ではクリッピング領域を対角する2頂点で表わされる矩形領域の内側として説明しているが、その他、矩形領域の外側をクリッピング領域として外側の画素の描画を行って内側の描画を省略するようにしたり、或いは矩形以外の形状(例えば多角形)の領域をクリッピング領域とすることも可能である。
また、実施例では座標生成部203の後段でドット毎の座標値をクリッピング処理する構成を示したが、座標生成部203の前段において例えば描画オブジェクトの全頂点の座標値がクリッピング領域から外れていた場合にこの描画を除外するような大まかなクリッピング処理を行うことも可能である。
また、実施例では地図データを記憶装置7に格納した構成であるが、地図データを通信手段を介してコンピュータネットワークから受信する構成とすることも出来る。
図12には描画部20の第2実施例の構成図を示す。
また、図12に示すように、描画レジスタ部201に図3のシステムクリッピングエリアレジスタR10やユーザクリッピングエリアレジスタR11を設けず、相対ユーザクリッピング領域のみをクリッピング領域として設定可能な構成としても良い。
図13には描画部20の第3実施例の構成図を示す。
また、相対ユーザクリッピング領域に対するクリッピング処理を行うハードウェア構成は、図13のような構成とすることも可能で、それにより図3の加算器AM1を省くことが出来る。図13の構成は、ローカルオフセット値(LXo,LYo)を描画オブジェクトの座標値に加算する加算器AM21,AM21を座標生成部203の後段に配置するとともに、クリッピング処理を行う座標クリッピング部204Aを座標生成部203と加算器AM21,AM21との間に配置したものである。座標クリッピング部204Aには相対ユーザクリッピングエリアレジスタR12の設定値が与えられるように構成する。
このような構成においては、相対座標で生成された描画オブジェクトの座標値をそのまま相対座標で表わされた座標値に基づきクリッピング処理し、その後にローカルオフセット値を加算して絶対座標に変換しているので、相対クリッピング領域を絶対座標で表わすための加算器AM1が不要となる。
なお、図13の構成でシステムクリッピング領域やユーザクリッピング領域の設定も可能にするには、加算器AM21,AM21の後段にこれら領域のクリッピング処理を行う座標クリッピング部を追加すれば良い。
なお、本発明に係る表示制御装置は、地図表示を行って位置情報を知らせるナビゲーションシステムに限られず、一つのディスプレイリストを複数のフレーム期間に渡って繰り返し用いて描画を行うとともに、ディスプレイリストに示される描画オブジェクトをクリッピング処理にて必要な範囲のみ切り出して描画するような制御方式を用いた表示制御システムにおいて、描画オブジェクトとクリッピング領域とを共に平行移動させるような表示制御を行う場合に用いて効果的なものである。
【産業上の利用の可能性】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるカーナビゲーションシステムついて説明したがこの発明はそれに限定されるものでなく、例えば携帯型のナビゲーションシステムなどに広く利用することができる。
【図1】

【図2】

【図3】

【図4】

【図5】

【図6】

【図7】

【図8】

【図9】

【図10】

【図11】

【図12】

【図13】


【特許請求の範囲】
【請求項1】
システム制御を行う中央演算処理装置と描画処理および表示制御を行う表示制御装置とを備え、上記表示制御装置により表示装置に地図表示を行うナビゲーションシステムであって、
上記表示制御装置には、描画命令に基づき描画処理を行う描画回路と、表示座標上に設定されるクリッピング領域の外側または内側に対する描画処理を省略させるクリッピング処理を行うクリッピング処理回路と、ある表示領域に固定的に対応付けられる絶対座標上に相対座標を設定可能なオフセット設定手段と、上記相対座標で表わされる相対クリッピング領域を設定可能な相対クリッピング領域設定手段とが設けられ、上記クリッピング処理回路は上記相対座標と上記相対クリッピング領域とから決定されるクリッピング領域を対象として上記クリッピング処理を実行可能に構成されていることを特徴とするナビゲーションシステム。
【請求項2】
上記相対クリッピング領域設定手段は制御命令に基づき上記表示制御装置により書き換えが可能なレジスタであることを特徴とする請求項1記載のナビゲーションシステム。
【請求項3】
上記オフセット設定手段は上記絶対座標の原点から上記相対座標の原点までのずれ量を表わすオフセット値が設定されるレジスタであり、
上記クリッピング処理回路には、上記相対クリッピング領域設定手段と上記オフセット設定手段の各々の設定値を加算して上記絶対座標で表わされたクリッピング領域の値を求める演算器が設けられていることを特徴とする請求項1又は2に記載のナビゲーションシステム。
【請求項4】
上記表示制御装置に入力される描画命令には、上記相対クリッピング領域に対するクリッピング処理の実行の可否を表わす相対クリッピングイネーブルビットが含まれていることを特徴とする請求項1〜3の何れかに記載のナビゲーションシステム。
【請求項5】
上記表示制御装置には、上記絶対座標で表わされる絶対クリッピング領域を設定可能な絶対クリッピング領域設定手段が設けられ、上記クリッピング処理回路は選択的に上記相対クリッピング領域と上記絶対クリッピング領域との何れかをクリッピング領域として上記クリッピング処理を行うことが可能にされていることを特徴とする請求項1〜4の何れかに記載のナビゲーションシステム。
【請求項6】
上記クリッピング処理回路は選択的に上記絶対クリッピング領域と上記相対クリッピング領域とが重なった領域をクリッピング領域として上記クリッピング処理を行うことが可能にされていることを特徴とする請求項5記載のナビゲーションシステム。
【請求項7】
上記描画命令には、上記絶対クリッピング領域に対するクリッピング処理、上記相対クリッピング領域に対するクリッピング処理、両領域の重なり領域に対するクリッピング処理の何れかを選択する少なくとも一つ以上の属性ビットが設けられていることを特徴とする請求項6記載のナビゲーションシステム。
【請求項8】
上記描画命令には描画図形の描画位置を上記相対座標で指定することが可能であり、上記描画回路には上記描画命令に基づく相対座標の描画位置と上記オフセット設定手段の設定値とから絶対座標の描画位置を算出する第2の演算器が設けられていることを特徴とする請求項1〜7の何れかに記載のナビゲーションシステム。
【請求項9】
上記中央演算処理装置から供給される複数の描画命令コードからなるコード列が格納される記憶手段を備え、該記憶手段には地図表示を行う表示領域よりも大きな領域の地図表示の描画が可能な描画命令のコード列が格納されることを特徴とする請求項1〜8の何れかに記載のナビゲーションシステム。
【請求項10】
システム制御を行う中央演算処理装置と描画処理および表示制御を行う表示制御装置とを備え、上記表示制御装置により表示装置に地図表示を行うナビゲーションシステムであって、
上記表示制御装置には、描画命令に基づき描画処理を行う描画回路と、表示座標上に設定されるクリッピング領域の内側又は外側に対する描画処理を省略するクリッピング処理回路と、表示画面に固定的に対応付けられる絶対座標上に相対座標を設定可能なオフセット設定手段と、上記相対座標で表わされる相対クリッピング領域を設定可能な相対クリッピング領域設定手段とが設けられ、上記相対クリッピング領域設定手段に地図表示が行われるクリッピング領域を指定し、上記オフセット設定手段の設定値を変更することで上記地図表示が含まれるウィンドウ表示領域を表示画面上で平行移動可能に構成されていることを特徴とするナビゲーションシステム。

【国際公開番号】WO2004/055671
【国際公開日】平成16年7月1日(2004.7.1)
【発行日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願番号】特願2004−560573(P2004−560573)
【国際出願番号】PCT/JP2002/013163
【国際出願日】平成14年12月17日(2002.12.17)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】