(57)【特許請求の範囲】
【請求項１】
与えられた命令を解釈し対応する制御信号を形成して命令を処理する命令解釈部を有し、
上記命令は命令種別を示す第１部分と、前記命令種別に応じた情報が格納される第２部分を有し、
上記命令種別には所定の描画を行なうべきことを指示するコードを有し、上記第２部分には描画を行うために使用する、少なくともＸ座標とＹ座標を含む座標情報および命令処理の制御情報を格納する第３の部分を有するとともに、
上記Ｘ座標とＹ座標について所定の演算を行うことが可能な座標演算手段を備え、
上記命令の第３の部分が第１条件を示す場合は上記座標演算手段により演算を実行した座標について描画を行ない、
上記第３の部分が第２条件を示す場合は上記演算を実行しない座標について描画を行なうものである画像データ処理装置。
【請求項２】
与えられた命令を解釈し対応する制御信号を形成して命令を処理する命令解釈部を有し、
上記命令は命令種別を示す第１部分と、前記命令種別に応じた情報が格納される第２部分を有し、
上記命令種別には所定の描画を行なうべきことを指示するコードを有し、上記第２部分には描画を行うために使用する、少なくともＸ座標とＹ座標を含む座標情報及び命令処理の制御情報を格納する第３の部分を有するとともに、
上記Ｘ座標とＹ座標について所定の演算を行うことが可能な座標演算手段を備え、
外部から特定の信号が入力された場合は、上記第３部分に格納された制御情報に係わらず上記座標演算手段により演算を実行した座標について描画を行ない、
外部から特定の信号が入力されていない場合は上記演算を実行しない座標について描画を行なうものである画像データ処理装置。
【請求項３】
与えられた命令を解釈し対応する制御信号を形成して命令を処理する命令解釈部と、該命令解釈部における命令処理を制御する制御情報を保持するレジスタ部を有し、
上記命令は命令種別を示す第１部分と、前記命令種別に応じた情報が格納される第２部分を有し、
上記命令種別には所定の描画を行なうべきことを指示するコードを有し、上記第２部分には描画を行うために使用する、少なくともＸ座標とＹ座標を含む座標情報及び命令処理の制御情報を格納する第３の部分を有するとともに、
上記Ｘ座標とＹ座標について所定の演算を行うことが可能な座標演算手段を備え、
上記レジスタ部の一部には、第１条件を示す場合は、上記第３部分に格納された制御情報に係わらず上記座標演算手段により所定の演算を実行した座標について描画を行い、第２条件を示す場合は上記所定の演算を実行しない座標について描画を行うべきことを指定可能な情報を保持する第１領域が設けられている画像データ処理装置。
【請求項４】
請求項３の画像データ処理装置は、
上記レジスタ部の第１領域の情報が第２条件を示し、上記命令の第３の部分が第１条件を示す場合は上記座標演算手段により演算を実行した座標について描画を行ない、
上記レジスタ部の第１領域の情報が第２条件を示し、上記第３の部分が第２条件を示す場合は上記演算を実行しない座標について描画を行なうものである画像データ処理装置。
【請求項５】
上記所定の演算を行う場合は、上記演算を実行した座標について、
上記所定の演算を行わない場合は、上記演算を実行しない座標について、
第２の演算を行い、上記第２の演算を行った座標について描画を行うものである請求項４の画像データ処理装置。
【請求項６】
命令実行制御部と、制御情報設定部と、描画処理部と、座標演算部とを有し、
上記命令実行制御部は、
外部から供給される命令種別を示す第１部分と命令処理の制御情報が格納される第２部分を有する命令に応じて、上記制御情報設定部に処理制御情報を設定させ、若しくは上記描画処理部に所定の描画処理を実行させるとともに、
第１の命令に応じて、上記制御情報設定部に上記処理制御情報として、演算情報を設定させ、
第２の命令の実行処理において、上記第２部分が第１条件を示す場合は、上記座標演算部に座標情報を供給して、上記座標演算部は上記第１の演算情報を用いて上記座標情報に対して所定の演算を行った座標情報を上記描画処理部に供給させ、
上記第２部分が上記第１条件を示さない場合は、上記所定の演算を行わない座標情報を上記描画処理部に供給し、
上記描画処理部は、上記座標演算部から供給される上記所定の演算が行われた座標情報若しくは上記所定の演算が行われてない座標情報を用いて、描画処理を行うものである画像データ処理装置。
【請求項７】
上記描画処理部は、供給された座標情報について第２の演算を行い、
上記第２の演算を行った座標情報について描画処理を行うものである請求項６の画像データ処理装置。
【請求項８】
上記制御情報設定部は、上記第１の命令によらず、外部から直接的に上記演算情報を設定することが可能である請求項７の画像データ処理装置。
【請求項９】
与えられた命令を解釈し対応する制御信号を形成して命令を処理する命令解釈部と、該命令解釈部における命令処理を制御する制御情報を保持するレジスタ部を有し、
上記命令は命令種別を示す第１部分と、前記命令種別に応じた情報が格納される第２部分を有し、
上記命令種別には所定の描画を行うべきことを指示するコードを有し、上記第２部分には描画を行うために使用する、少なくともＸ座標とＹ座標を含む座標情報を有するとともに、
上記Ｘ座標とＹ座標について所定の演算を行うことが可能な第１の座標演算手段と第２の座標演算手段を備え、
上記レジスタ部の一部には、第１領域と第２領域を備え、第１領域の情報が第１条件を示し、かつ、第２領域の情報が第１条件を示した場合は上記第１の座標演算手段により所定の演算を実行した座標について描画を行い、
上記レジスタ部の第１領域の情報が第１条件を示し、かつ、第２領域の情報が第２条件を示す場合は、上記第１の座標演算手段の演算を実行した座標を第２の座標演算手段により所定の演算を実行して描画を行い、
上記レジスタ部の第１領域の情報が第２条件を示した場合は、第２領域の情報が第１条件または第２条件であっても、上記第１の座標演算手段および第２の座標演算手段で所定の演算を実行しない座標について描画を行う画像データ処理装置。
【請求項１０】
上記命令の第２部分に、上記座標情報に加えて、命令処理の制御情報を格納する第３部分を有し、
上記レジスタ部の第１領域の情報が第１の条件を示し、かつ、第２領域の情報が第１条件を示し、かつ、上記命令の第３部分が第１の条件を示す場合は上記第１の座標演算手段により所定の演算を実行した座標について描画を行い、
上記レジスタ部の第１領域の情報が第１の条件を示し、かつ、第２領域の情報が第２条件を示し、かつ、上記命令の第３部分が第１条件を示す場合は、上記第１の座標演算手段により所定の演算を実行した座標を第２の座標演算手段により所定の演算を実行して描画を行い、
上記レジスタ部の第１領域の情報が第２条件を示した場合は、第２領域の情報や上記命令の第３部分の情報によらず、上記第１の座標演算手段および第２の座標演算手段により所定の演算を実行しない座標について描画を行う請求項９に記載の画像データ処理装置。
【請求項１１】
上記レジスタ部の一部が第１の条件を示し、上記命令の第３部分が第１条件を示す場合は、上記座標演算手段により所定の演算を実行した座標について描画を行い、
上記レジスタ部の一部が第２条件を示し、上記命令の第３部分が第１条件または、第２条件を示す場合は、上記所定の演算を実行しない座標について描画を行うものである請求項３に記載の画像データ処理装置。
【発明の詳細な説明】
技術分野
本発明は、データ変換技術さらには２次元座標データに基づく透視変換処理等に適用して有効な技術に関し、例えばナビゲーションシステムに用いられる画像データ処理装置に利用して有効な技術に関するものである。
背景技術
従来のカーナビゲーションシステムには、同一の地図データ（２次元座標データ）を用いて北方向を画面上方に合わせた表示や進行方向を画面上方に合わせた表示を行なったり、透視変換等によって上空から斜め下を見下ろしたような遠近法により表わした鳥瞰図を作成して表示させたりする描画機能を持たせたものがある。
カーナビゲーションシステムは、一般にデータ処理やシステム全体の制御を行なうマイクロプロセッサと、地図データを記憶したＣＤ−ＲＯＭのようなメディアからデータを読み出すＣＤ−ＲＯＭドライブ装置、地図を表示するためのモニタ装置、画像データを記憶する半導体メモリ（画像メモリ）、マイクロプロセッサからの制御とデータとに基づいて表示画面のドットと１対１対応の画像データを生成して画像メモリに記憶するとともに画像メモリから画像データを読み出してモニタ装置への駆動信号を形成して出力する画像データ処理装置（ＬＳＩ）などから構成されている。
ところで、上述したような描画機能を有する従来のカーナビゲーションシステムにおいては、一般にマイクロプロセッサが２次元座標データとして記憶されている図９（Ａ）のような地図データに基づいて、ソフトウェアにより車の進行方向に合わせて図９（Ｂ）のような回転図を生成する回転処理や図９（Ｃ）のような遠近法に従った鳥瞰図を生成する透視変換等の処理を行なうように構成されていた。しかるに、マイクロプロセッサは、画像データ処理の他に、人工衛星との通信および受信した位置情報に基づく現在位置の補正や、無線通信による道路情報に基づく処理なども行なう必要があるため、上記透視変換等の処理に要する時間が遅くなるなどの問題点があることが明らかとなった。
一方、パーソナル・コンピュータシステムもカーナビゲーションシステムと同様に、データ処理やシステム全体の制御を行なうマイクロプロセッサと、ＣＤ−ＲＯＭから画像データ等を読み出すＣＤ−ＲＯＭドライブ装置、画像を表示するためのモニタ装置、画像データを記憶する半導体メモリ（画像メモリ）、マイクロプロセッサからのコマンド（命令）とデータとに基づいて画像データを生成する描画機能として画像メモリの画像データを読み出してモニタ装置を駆動する表示機能とを有する画像データ処理装置（グラフィックコントローラＬＳＩ）などから構成されている。
かかるパーソナル・コンピュータシステムの分野においては、マイクロプロセッサの負担を軽減するために、立体図形（斜視図）などの描画機能を有するグラフィックコントローラＬＳＩが、ｎＶＩＤＩＡ社等から発表されている。しかしながら、このグラフィックコントローラＬＳＩは、あくまでもマイクロプロセッサから受け取った３次元座標データに基づいて立体図形などを描画するもので、２次元座標データに基づいて遠近法に従った図形を生成する描画機能までは備えていない。
本発明の目的は、２次元座標データに基づいて遠近法に従った画像データを生成する機能を有する画像データ処理装置を提供することにある。
また、本発明の他の目的は、地図データを変換して表現形式を変更する機能を有する画像データ処理装置を提供することにある。
本発明のさらに他の目的は、ナビゲーションシステムを構成するのに好適な画像データ処理装置を提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
発明の開示
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。
すなわち、与えられた命令（コマンド）を解釈し対応する制御信号を形成して命令を処理する命令解釈部と、該命令解釈部における命令処理を制御する制御情報を保持するレジスタ部と、命令解釈部からの制御信号に従って描画処理を行なう描画部とを有する画像データ処理装置において、座標変換用の座標演算部を設けるとともに、レジスタ部内のいずれかのレジスタに座標演算部による演算を行なうか行なわないかを指示する制御ビットを設けるようしたものである。レジスタに座標演算部による演算を行なうか行なわないかを指示する制御ビットを設ける代わりに、命令解釈部が処理するコマンドコードにそのような制御ビットを含ませたり、レジスタとコマンドコードの両方に設けるようにしても良い。さらに、外部からの特定の信号に基づいて、上記座標演算部で座標変換のための演算を行なうか行なわないか切り換えるようにしてもよい。
上記した手段によれば、従来はマイクロプロセッサが行なっていた座標変換処理を画像データ処理装置側で行なうことができるため、マイクロプロセッサの負担を軽減し、システムのスループットを向上させることができる。
さらに、具体的には、上記描画部に供給される座標データの供給パス上に上記座標演算部により演算される前の座標データまたは演算後の座標データを選択するセレクタを設け、このセレクタを上記レジスタに設けた制御ビットまたはコマンドコードに含まれる制御ビットに応じて切換え制御させるように構成する。レジスタに座標演算部による演算を行なうか行なわないかを指示する制御ビットを設けるようにした場合には、そのレジスタの制御ビットはマイクロプロセッサが外部から直接設定できるようにしても良いし、命令解釈部がマイクロプロセッサから与えられた所定の命令を実行することで設定を行なうように構成しても良い。
また、上記セレクタの切換え制御信号は、上記命令解釈部が上記レジスタの制御ビットを参照して、あるいは命令に含まれる上記制御ビットに応じて形成し、セレクタの制御端子に供給させるように構成するのが望ましい。
発明を実施するため最良の形態
以下、図面を用いて本発明の好適な実施形態について説明する。
図１は、本発明を適用した画像データ処理装置の概略構成を示す。特に制限されるものでないが、図１において、符号１０で示されている実線で囲まれた領域内にある複数の回路ブロックは、単結晶シリコンのような１個の半導体基板上に形成される。
図１において、１１は外部のメモリに格納されているコマンドリスト（ある図形を描画させるための一連のコマンドの集まり）を読み込んだり読み込んだコマンド（命令）を解釈して描画データの生成を行なう描画処理ユニット、１２は描画処理ユニット１１と外部メモリとの間のデータやアドレスの入出力の際の一時記憶を行なうＦＩＦＯ（ファーストイン・ファーストアウト）メモリもしくはＲＡＭ（ランダム・アクセス・メモリ）からなる緩衝用のバッファユニット、１３は外部のシステムバスＳ−ＢＵＳとチップ内部のＣＰＵデータバスＣＤＢおよびＣＰＵアドレスバスＣＡＢとの間で信号をやりとりするためのＩ／Ｏバッファ、１４はＩ／Ｏバッファ１３を制御してシステムバスＳ−ＢＵＳとＣＰＵバスＣＤＢ，ＣＡＢとの接続に関する制御を行なうＣＰＵインタフェースユニットである。
また、１５は上記外部メモリが接続されている外部メモリバスＭ−ＢＵＳとチップ内部のメモリデータバスＭＤＢおよびメモリアドレスバスＭＡＢとの間で信号をやりとりするためのＩ／Ｏバッファ、１６はＩ／Ｏバッファ１５を制御して外部メモリバスＭ−ＢＵＳと内部メモリバスＭＤＢ，ＭＡＢとの接続に関する制御を行なうメモリインタフェースユニット、１７はＣＰＵインタフェースユニット１４とメモリインタフェースユニット１６を制御して上記ＣＰＵバスＣＤＢ，ＣＡＢとメモリバスＭＤＢ，ＭＡＢのいずれを有効にするかなどバス全体に関する制御を行なうバスコントローラである。また、１８は外部メモリバスＭ−ＢＵＳを介して外部メモリから表示画像データを読み出し外部のモニタ装置へ出力される表示データ信号や制御信号を生成する表示制御部、１９は表示制御部１８で生成された表示データ信号と制御信号を外部へ出力するＩ／Ｏバッファである。
特に制限されるものでないが、この実施例においては、システムバスＳ−ＢＵＳを介してマイクロプロセッサから送られてくる一連の描画コマンドや描画のためのソースデータは、ＤＭＡ転送などによりこの実施例の画像データ処理装置を通して一旦外部の画像メモリに格納され、画像データ処理装置１０が描画処理を行なう際に逐次画像メモリからバッファユニット１２へ読み込まれるようにされる。このＤＭＡ転送制御機能は上記ＣＰＵインタフェースユニット１４が有する。
図２には、上記描画処理ユニット１１の構成が示されている。
図２に示されているように、上記描画処理ユニット１１は、前記バッファユニット１２に読み込まれて保持されているコマンドリストからコマンドを順次取り込むコマンドフェッチ部１１１と、フェッチされたコマンドをデコードして対応する制御信号を生成して内部の各回路に出力するデコーダなどからなるコマンド解釈部１１２と、描画処理のための各種制御情報を設定するレジスタ部１１３と、コマンド解釈部１１２からの制御信号および座標データやレジスタ部１１３に設定されているデータに応じてバッファユニット１２に読み込まれているソースデータに基づいて描画データおよび描画アドレスを生成してバッファユニット１２に書き込む描画部１１４などから構成されている。
上記レジスタ部１１３には、例えばシェーディング（影付け）等の描画属性情報を設定する描画属性レジスタＤＡＲや、演算などに用いられる各種パラメータを設定するパラメータレジスタＰＭＲなどのレジスタとともに、それらのレジスタを選択するアドレスデコーダなどのリード／ライト回路ＲＷＣが設けられている。
上記バッファユニット１２には、外部メモリから読み込まれたコマンドリスト（以下、ディスプレイリストと称する）を保持するコマンドバッファ１２１と、地図データなど描画する図形等の元になるソースデータを保持するソースバッファ１２２と、ワーク座標系の描画で用いられるデータを保持するワークバッファ１２３と、描画部１１４により生成された描画データおよび描画アドレスを保持するライトバッファ１２４とが設けられている。なお、ここで、ワーク座標系の描画とは、多角形の描画を１画素当たり１ビットすなわち２値で行なう処理である。特に制限されないが、コマンドバッファ１２１およびソースバッファ１２２はそれぞれ１６ワード（１ワードは１６ビット）のような記憶容量、ワークバッファ１２３は４ワードの記憶容量、ライトバッファ１２４は１６ワードのような記憶容量を有するように構成されている。また、これらのバッファのうちライトバッファ１２４以外は、描画処理ユニット１１側からはリード専用である。
描画部１１４は、コマンド解釈部１１２からの制御信号により制御され、コマンド解釈部１１２から供給される始点と終点の座標データあるいは頂点の座標データに基づいて始点−終点間や頂点間の各点の座標データを補完する機能や、得られた座標データに対応するＲＧＢデータ（色情報）やワークデータを、バッファユニット１２内のソースバッファ１２２とワークバッファ１２３からそれぞれ読み出して描画アドレスと描画データを生成しライトバッファ１２４に格納する機能を有する。
この実施例においては、コマンドバッファ１２１から読み込まれてコマンド解釈部１１２より供給される座標データ（２次元）に基づいて透視変換や回転などの処理すなわち座標変換のための演算を行なう座標演算部１１５と、該座標演算部１１５で演算された座標データまたはコマンド解釈部１１２から供給される座標データのいずれかを選択するためのセレクタ１１６が設けられている。また、上記レジスタ部１１３内の上記描画属性レジスタＤＡＲには、図３に示すように、座標演算部１１５で座標変換のための演算を行なうか行なわないか指定する座標演算指定ビットｃｃｂが設けられている。
上記座標演算部１１５は、上記描画属性レジスタＤＡＲ内の座標演算指定ビットｃｃｂに応じて座標変換のための演算を行なうか行なわないか制御される。さらに、この実施例では、座標演算部１１５による演算をするかしないかを指定する座標演算指定ビットＣＣＢを有する描画コマンドも用意されており、上記セレクタ１１６は、当該描画コマンド内の座標演算指定ビットに応じて選択制御されるように構成されている。
具体的には、コマンド解釈部１１２がコマンドを解釈した結果、描画系のコマンドであった場合には、描画属性レジスタＤＡＲ内の座標演算指定ビットｃｃｂを参照して、それが“１”の場合には、セレクタ１１６を切り換えて座標演算部１１５で行なわれた座標変換演算後の座標データを描画部１１４へ供給する。また、描画属性レジスタＤＡＲ内の座標演算指定ビットｃｃｂが“０”の場合には、描画コマンド内の座標演算指定ビットＣＣＢが“１”であれば座標演算部１１５で演算された座標データをセレクタ１１６で選択して描画部１１４へ供給し、ＣＣＢが“０”であればコマンド解釈部１１２からの座標データをそのまま描画部１１４へ供給するように、セレクタ１１６の切換え制御が行なわれる。
上記座標演算部１１５は、積和演算が可能な乗算器と加算器および除算器を含むＤＳＰ（デジタル・シグナル・プロセッサ）などの公知のアーキテクチャを有する演算回路で構成されており、２次元座標データに基づいて次式で示される演算を行なうことで、鳥瞰図や回転図などを描画可能にするための座標変換を行なうことができる。
0004033328.tif 000002
（Ｘ，Ｙ）＝（ＴＸ／Ｗ＋ｊ，ＴＹ／Ｗ＋ｋ）
なお、ここで、ｘ，ｙは入力データ、Ｘ，Ｙは出力データ、ａ〜ｉは演算パラメータ、ｊ，ｋは補正値である。上記行列式の演算パラメータａ〜ｉは、１フレームすなわち１画面のデータに対して共通に用いられる。この演算パラメータａ〜ｉを変えることで、鳥瞰図を描画するための座標変換と回転図を描画するための座標変換のいずれも行なうことができる。この実施例の座標演算部１１５で演算される座標データは浮動小数点で表現されたデータであるが、固定小数点のデータであってもよい。また、固定小数点データの場合には上記レジスタ部１１３内に小数点の位置を指定するためのレジスタを設けて、小数点の位置を選択できるように構成することも可能である。
次の表１には、実施例の画像データ処理装置が解読可能なコマンドの表が、また図４にはそれらのコマンドのフォーマットの具体例が、さらに図５にはバッファユニット１２に読み込まれるディスプレイリストの概略が示されている。
表１に示されているように、描画コマンドには、大きく分けると四角形を描画するために用いられる４頂点面描画コマンドと、折れ線を描画するために用いられる線描画コマンドと、ワーク座標系に描画するために用いられる塗りつぶし用のワーク面描画コマンド、ワーク座標系の折れ線用のワーク線描画コマンドと、レジスタ部１１３内のレジスタへの設定に用いられるレジスタ設定コマンドと、ジャンプやサブルーチンへの分岐などシーケンス制御に用いられる制御コマンドおよび描画を終了しマイクロプロセッサへ割込みを発生するための描画終了コマンドがある。
0004033328.tif 000003
表１に示されている各コマンドのうち４頂点面描画用コマンド“ＰＯＬＹＧＯＮ４Ａ”は、図４（Ａ）に示すように、１６ビットを１ワードとする複数のコマンドコードが並んだコマンド列で構成されており、このうち最初のコマンドコードＣＯＤＥ１は、コマンドの種別を示すオペコード部ＯＰＣＤと描画属性を指定する描画属性指定部ＤＲＭＤとから構成されている。２番目以降のコマンドコードはデータコードであり、“ＰＯＬＹＧＯＮ４Ａ”コマンドでは、２番目と３番目のコマンドコードＣＯＤＥ２，ＣＯＤＥ３はテクスチャ（描画単位）と称するソースデータのアドレスを示す座標コード、４番目と５番目のコマンドコードＣＯＤＥ４，ＣＯＤＥ５はテクスチャの大きさすなわち幅と高さを示すテクスチャサイズコード、ＣＯＤＥ６〜ＣＯＤＥ１３は４つの頂点の座標データでこれらの座標データには正負の符号と符号拡張部ＥＸＴが設けられている。
他のコマンドも、コマンドコードの数は異なるが１番目のコマンドコードＣＯＤＥ１はコマンドの内容を表わすオペコード部ＯＰＣＤと描画属性を指定する描画属性指定部ＤＲＭＤとから構成されている。２番目以降のコマンドコードは、同じくデータコードであるが、その内容はコマンドの種類によって若干異なっており、例えば線描画用の“ＬＩＮＥ”コマンドでは、２番目のコマンドコードＣＯＤＥ２は線の色を指定するコード、３番目のコマンドコードＣＯＤＥ３は頂点数を示すコード、４番目以降のコマンドコードは各頂点の座標データである。
この実施例では、上記コマンドコードのうち最初のコマンドコードＣＯＤＥ１のモード指定部ＤＲＭＤに、図４（Ｂ）に示すように、前述の座標演算を行なうか行なわないか指定する座標演算指定ビットＣＣＢが設けられている。なお、モード指定部ＤＲＭＤには、上記座標演算指定ビットＣＣＢの他に、背後の図形を表示させるいわゆる透かし表示を行なうか行なわないかの指定をするためのビットＴＲＮＳや所定のコマンド（ＪＵＭＰ等）において当該コマンドコードから前方または後方に相対アドレスでのソース参照および分岐を行なう際に相対アドレスを指定するためのビットＲＥＬなどが設けられている。最初のコマンドコードＣＯＤＥ１のモード指定部ＤＲＭＤに座標演算指定ビットＣＣＢが設けられるのは、すべてのコマンドではなく、表１のうち４頂点面描画系のコマンド“ＰＯＬＹＧＯＮ４Ａ”からワーク描画系のコマンド“ＲＬＩＮＥＷ”までであり、座標演算に直接関係しないレジスタ設定系のコマンドやシーケンス制御系のコマンドおよび描画終了コマンドには設けられない。
上記のように構成されたコマンド列を組み合わせて画像データ処理装置に所望の描画処理を行なわせるディスプレイリストは、図５に示すように、複数の描画用のコマンド列ＣＭＬ１，ＣＭＬ２，ＣＭＬ３……が、シーケンス制御コマンドのジャンプコマンドＪＵＭＰや分岐コマンドＧＯＳＵＢ、リターンコマンドＲＥＴを用いて結合されて構成される。なお、図５におけるＣＭＬ１，ＣＭＬ２，ＣＭＬ３……が、それぞれ図４（Ａ）のコマンドコードＣＯＤＥ１〜ＣＯＤＥ１３のような一連のコマンドコードからなるコマンド列である。ひとつひとつのコマンド列の長さは同一ではなく、コマンドの種類によって異なる。
サブルーチンは繰返し使用される使用頻度の高い描画コマンド列で構成されており、サブルーチンを用いることでディスプレイリスト全体の長さを短くすることができる。上記のような構成を有するディスプレイリストは、マイクロプロセッサで形成されて画像データ処理装置へ送られ、前記コマンドバッファ１２１に１６ワードのような単位で格納されてから、コマンド解釈部１１２に１ワードずつ順次取り込まれてデコードされることで解読され、コマンドに応じた描画処理が実行される。
次に、上記のようなディスプレイリストに基づいて、上記実施例の画像データ処理装置により行なわれる座標演算を伴う描画処理の手順の一例を、カーナビゲーションシステムにおいて地図表示の回転または鳥瞰図を作成して表示させる場合を例にとって、図６および図７のフローチャートを用いて具体的に説明する。
マイクロプロセッサ（以下、ＣＰＵと略す）は、地図表示処理に入ると、図６に示すように、先ず、ＧＰＳ（衛星測位システム）等から位置情報を受信し、それに基づいて現在位置を把握して表示すべき地図領域を決定する（ステップＳ１）。次に、ＣＰＵは、ステップＳ１で決定した地図領域および表示縮尺に基づいて、地図データが格納されているＣＤ−ＲＯＭ等のメディアから必要な部分の地図データを読み込む（ステップＳ２）。それから、表示サイズに合わせて地図データの中の地図座標を正規化する（ステップＳ３）。
続いて、ＣＰＵは、回転図生成演算のためのアフィン変換行列または鳥瞰図生成演算のためのパラメータ行列を作成する（ステップＳ４）。そして、次のステップＳ５で、作成した行列を、格納先のレジスタを指定するアドレス情報と共に画像データ処理装置（以下、ＧＤＰと略す）へ送り、レジスタ部１１４内のパラメータレジスタＰＭＲに設定するとともに、描画属性レジスタＤＡＲの座標演算指定ビットｃｃｂを“１”に設定する。それから、ＣＰＵは地図データを描画コマンドに変換してディスプレイリストを作成し、このディスプレイリストをＧＤＰへ送る（ステップＳ６）。そして、リスト送信後に、例えばＧＤＰ内の所定のレジスタのスタートビットを設定することで描画処理の開始をＧＤＰへ指示する（ステップＳ７）。
ＧＤＰ（画像データ処理装置）では、図７に示すように、描画開始指令を受信（ステップＳ１１）すると、描画ユニット１１がバッファユニット１２内のディスプレイリストの各描画コマンドを順次フェッチして解読し、描画処理を開始する（ステップＳ１２）。それから、レジスタ部１１４内の描画属性レジスタＤＡＲの座標演算指定ビットｃｃｂを参照する（ステップＳ１３）。そして、座標演算指定ビットｃｃｂが“１”であれば、パラメータレジスタＰＭＲ内の演算パラメータ行列を用いて座標演算部１１５で座標演算を行なって描画部１１４へ渡し、図９（Ｂ）のような回転図または図９（Ｃ）のような鳥瞰図を生成しライトバッファ１２４に格納する（ステップＳ１４→Ｓ１６，Ｓ１７）。
一方、座標演算指定ビットｃｃｂが“０”のときは、ステップＳ１５へ移行してコマンド内の座標演算指定ビットＣＣＢが“１”か否か判定し、ＣＣＢが“１”であれば座標演算部１１５で演算された座標データを描画部１１４へ渡して描画データを生成する。また、ＣＣＢが“０”であれば座標演算は行なわずに、読み込まれた座標データに基づいて、描画部１１４において例えば図９（Ａ）のような２次元の平面地図を生成してライトバッファ１２４に格納する（ステップＳ１５→Ｓ１７）。
その後、ライトバッファ１２４に格納された描画データは外部の画像メモリ（フレームバッファ）に転送され、記憶される（ステップＳ１８）。このようにして、画像メモリに記憶された画像データは、ＧＤＰ内の表示制御部１８によって読み出されて制御信号に同期してモニタに送られて地図表示が行なわれる。
なお、ＧＤＰにはステップＳ１５のような判定機能が設けられているため、ＣＰＵの側では、ステップＳ５で描画属性レジスタＤＡＲの座標演算指定ビットｃｃｂを“１”に設定する代わりに、ステップＳ６のディスプレイリストの作成の際に座標演算指定ビットＣＣＢが“１”である描画コマンドを用いてリストを作成して送信することで、ＧＤＰに回転図または鳥瞰図を生成する描画処理を行なわせることができる。
図８には、本発明を適用した画像データ処理装置の応用例としてカーナビゲーションシステムの構成例を示す。
図８に示されているように、本システムは、前記実施例のように構成された画像データ処理装置１０と、マイクロプロセッサ２０と、マイクロプロセッサ２０の動作プログラムやデータ処理に必要なデータを格納したり処理によって生成されたデータを記憶するのに使用されるＲＯＭおよびＲＡＭからなるシステムメモリ３０と、ＣＤ−ＲＯＭドライバ４１とそのコントローラ４２とからなる大容量記憶装置４０と、画像データ処理装置１０の作業エリアとして使用される画像メモリ５０と、画像データ表示用のモニタ装置６０と、画像データ処理装置１０から出力されるＲＧＢ方式のアナログ映像信号をＮＴＳＣ方式等のアナログ映像信号に変換するビデオエンコーダ７０などから構成される。
これらのうち、画像データ処理装置１０とマイクロプロセッサ２０とシステムメモリ３０および大容量記憶装置４０は、システムバスＳ−ＢＵＳにより互いにデータ送受信可能に接続されている。特に制限されないが、システムバスＳ−ＢＵＳにより転送されるデータは１６ビット幅である。画像メモリ５０はメモリバスＭ−ＢＵＳにより画像データ処理装置１０に接続されている。特に制限されないが、メモリバスＭ−ＢＵＳにより転送されるデータは３２ビット幅である。画像メモリ５０は、異なる種類のデータを記憶する空間ないしは領域に分割されている。
具体的には、画像メモリ５０の記憶領域は、マイクロプロセッサ２０によって作成された画像データ処理装置１０に対する指令文としての前述のディスプレイリストを格納する領域ＤＬＡと、ＣＤ−ＲＯＭから読み込まれて送られてきたソース画像データやワーク座標系のデータを記憶する領域ＳＷＡと、画像データ処理装置１０により描画された画像データを記憶するフレームバッファ領域ＦＢＡと、カーソル表示制御に係わるデータを記憶する領域ＣＳＡと、モニタ装置の画面に表示される背景画像を記憶する領域ＢＰＡなどで構成される。
この実施例では、マイクロプロセッサ２０で作成されたディスプレイリストは、ＤＭＡ転送等により一括して画像メモリ５０に送られ、記憶される。そして、画像メモリ５０に記憶されたディスプレイリストは、画像データ処理装置１０のコマンドバッファ１２１に１６ワードのような単位で読み込まれてから、コマンド解釈部１１２に１ワード（図４の１つ１つのコマンドコードに相当）ずつ順次取り込まれて解読されるように構成されている。
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、上記実施例の画像データ処理装置では、レジスタ部内の座標演算指定ビットまたは描画コマンド内の画像データ処理装置に応じて、コマンド解釈部からの座標データまたは座標演算部で演算された座標データをセレクタで選択して描画部に供給するように構成されているが、レジスタまたはコマンドのいずれか一方にのみ座標演算指定ビットを設けて制御するようにしても良い。さらに、表示切替えスイッチのようなものを設け、このスイッチが操作されることにより生成された信号が外部から入力されたときにセレクタを切り替えて、座標演算部で座標変換のための演算を行なうか行なわないか切り替えることができるようにしてもよい。
また、実施例ではコマンド解釈部からの制御信号でセレクタを切り換えるようにしているが、レジスタ部に座標演算指定ビットを設けた場合には、レジスタ部からの信号でセレクタを切り換えるようにしてもよい。さらに、セレクタを切り換える制御信号で座標演算部を制御して、セレクタがコマンド解釈部からの座標を選択するときは座標演算部が動作しないように構成してもよい。座標データはコマンド解釈部から供給する代わりに、コマンドフェッチ部あるいはバッファユニットから直接供給させるように構成することも可能である。
さらに、実施例においては、マイクロプロセッサから供給されるコマンドリストを、画像データ処理装置を介して画像メモリに一旦格納してから画像データ処理装置が読み出すように構成されているが、マイクロプロセッサから画像データ処理装置のバッファへ格納したり、マイクロプロセッサから直接画像メモリに格納するように構成することも可能である。また、図１には示されていないが、画像データ処理装置に、テレビ放送を受信するチューナやビデオカメラ等からの映像信号を処理する回路を含ませ、描画データ（地図データ）と切り換え又は合成してモニタに表示させることができるように構成してもよい。
産業上の利用可能性
上記実施例では、本発明をカーナビゲーションシステムを構成するのに好適な画像データ処理装置について説明したが、それに限定されるものでなく、本発明はパーソナルコンピュータシステムを含む表示制御システム一般に広く利用することができる。
また、図８のカーナビゲーションシステムの実施例において、ＣＤ−ＲＯＭとともに又はＣＤ−ＲＯＭに代えて携帯電話器等の無線通信装置を用い、地図データを無線通信により取得するようなものであってもよい。
【図面の簡単な説明】
図１は、本発明を適用した画像データ処理装置の概略構成を示すブロック図である。
図２は、描画処理ユニットの構成例を示すブロック図である。
図３は、座標演算部で座標演算を行なうか行なわないか指定する座標演算指定ビットを含む描画属性レジスタの構成例を示す説明図である。
図４は、コマンドのフォーマットの具体例を示す構成説明図である。
図５は、一連の描画コマンドからなるリスト（ディスプレイリスト）の概略を示す模式図である。
図６は、座標演算を伴う描画処理の際のマイクロプロセッサ側における処理手順の一例を示すフローチャートである。
図７は、座標演算を伴う描画処理の際の画像データ処理装置側における処理手順の一例を示すフローチャートである。
図８は、本発明を適用した画像データ処理装置の応用例としてカーナビゲーションシステムの構成例を示すブロック図である。
図９は、座標変換をする前の座標データによる画像および座標変換を行なって描画した画像の例を示す説明図である。
【図１】
0004033328.tif 000004
【図２】
0004033328.tif 000005
【図３】
0004033328.tif 000006
【図４】
0004033328.tif 000007
【図５】
0004033328.tif 000008
【図６】
0004033328.tif 000009
【図７】
0004033328.tif 000010
【図８】
0004033328.tif 000011
【図９】
0004033328.tif 000012