JP4152383B2 - Navigation system - Google Patents

Navigation system Download PDF

Info

Publication number
JP4152383B2
JP4152383B2 JP2004560573A JP2004560573A JP4152383B2 JP 4152383 B2 JP4152383 B2 JP 4152383B2 JP 2004560573 A JP2004560573 A JP 2004560573A JP 2004560573 A JP2004560573 A JP 2004560573A JP 4152383 B2 JP4152383 B2 JP 4152383B2
Authority
JP
Japan
Prior art keywords
clipping
display
relative
area
navigation system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004560573A
Other languages
Japanese (ja)
Other versions
JPWO2004055671A1 (en
Inventor
淳 中村
賢一郎 大村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Publication of JPWO2004055671A1 publication Critical patent/JPWO2004055671A1/en
Application granted granted Critical
Publication of JP4152383B2 publication Critical patent/JP4152383B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)

Description

本発明は、表示制御技術さらには描画コマンドリストを用いて指定領域の描画を行うグラフィック表示システムに適用して有用な技術に関し、例えばナビゲーションシステムに利用して有用な技術である。  The present invention relates to a display technology and a technology that is useful when applied to a graphic display system that draws a specified area using a drawing command list. For example, the technology is useful for a navigation system.

グラフィック表示システムにおける描画処理の一つに、指定された領域からはみ出した画素データを除去するクリッピング処理と呼ばれるものがある。ここでクリッピング処理における指定領域はクリッピング領域と呼ばれ一般に矩形の領域が指定される。
クリッピング処理は、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の負荷や描画コマンド転送に伴うバスの負荷を高めずに実行することの可能な描画処理装置を備えたナビゲーションシステムを提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
One of the drawing processes in the graphic display system is a so-called clipping process that removes pixel data protruding from a specified area. Here, the designated area in the clipping process is called a clipping area, and generally a rectangular area is designated.
Clipping processing includes a method that is performed by software processing using a CPU (central processing unit) and a method that is performed by hardware such as a display control device or a drawing processor that generates pixel data. In the clipping process by hardware, for example, when processing the pixel data expanded in the display memory in the process of sending to the display unit, and when processing the pixel data in the display memory based on the drawing command There is.
In addition, even when clipping processing is performed by hardware during drawing processing, it is specified by a method for determining whether each pixel is inside or outside the clipping region and omitting writing of outer pixel data, or by a drawing command There are various methods such as a method in which the intersection between the figure and the boundary line of the clipping area is obtained and the drawing process is performed by changing to the drawing content of the figure that does not extend beyond the clipped pink area.
By the way, in the car navigation system, a list of drawing commands in a range larger than the actual display range is stored in a semiconductor memory in order to perform map display, and when the list of drawing commands is sequentially executed, There is a system in which only a predetermined range of map display is drawn by clipping processing. According to such a system, since the same drawing command list stored in the semiconductor memory can be repeatedly used during a period in which the current position is not moved, drawing processing over a plurality of display frames can be performed. There is an advantage that it can reduce the burden.
In a conventional car navigation system, for example, a register (for example, a user clipping area register) in which a clipping region can be arbitrarily set is provided in the display control device, and clipping is performed by hardware processing during drawing processing based on this setting value. It was common to perform the processing (see May 2000, Hitachi, Ltd., HD64413A Q2SD User Manual (SuperH RISC engine Peripheral LSI HD64413A Q2SD User's Manual)).
The reason why clipping processing is performed by hardware processing in a car navigation system is that the CPU that performs system control in a car navigation system cannot perform so much in terms of cost compared to CPUs in the field of personal computers, etc. The number of lines and polygons to be processed is very large. Therefore, the number of clipping processes for one screen is very large. In addition, the total clipping process is performed because the pixel data is rewritten by performing the drawing process for each frame. This is because of the huge number of times.
Furthermore, the reason why clipping processing is performed in the car navigation system in the drawing process, not in the display processing process, is to store the hardware load and pixel data for processing compared to the case in the display processing process after drawing. This is because there is an advantage that the capacity of the display memory can be reduced and the occupation rate of the transfer bus by the pixel data can be reduced.
Currently, car navigation systems are becoming larger in size as LCDs become cheaper. Multiple windows are displayed on the display screen, and map display is performed within the window display. It is considered that a display specification that enables parallel movement of an existing window display to an arbitrary position is required.
However, in the display control apparatus of the conventional navigation system, the clipping area must be specified by absolute coordinates fixedly associated with the display screen, so that the CPU recalculates the clipping area each time the window display is translated. Need to be reset.
Further, when a plurality of clipping areas are provided in one window display and different information is displayed on each window, a drawing command for information to be displayed in the first clipping area and a drawing of information to be displayed in the second clipping area The command is divided into commands and placed in the list of drawing commands, and a control command for changing the clipping region from the first clipping region to the second clipping region is inserted between them, and the specified clipping region However, if the clipping area can only be set in absolute coordinates, the CPU must rewrite the list of drawing commands each time the window display is moved in parallel. Rewriting the drawing command list significantly increases the CPU load, increases the occupation rate of the bus for transferring drawing commands, lowers the system throughput, and avoids a decrease in throughput. A bus having a high transfer rate is required, resulting in an increase in system cost.
An object of the present invention is to execute a drawing process for translating a map display accompanied by a clipping process in an arbitrary direction on the screen of a display device without increasing the load on the CPU or the bus accompanying the transfer of the drawing command. It is an object of the present invention to provide a navigation system provided with a drawing processing apparatus capable of performing the following.
The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
すなわち、地図などの位置情報を表示可能なナビゲーションシステムの描画処理装置に、描画命令(すなわち描画コマンド)に従って例えば表示メモリに画素データを書き込む描画回路と、表示画面上に設定されるクリッピング領域の領域外への描画処理(すなわち画素データの書込み)を除外するクリッピング処理回路と、表示画面に固定的に対応付けられる絶対座標上に相対座標を設定可能なオフセット設定手段としてのオフセット設定レジスタと、上記相対座標で表わされる相対クリッピング領域を設定可能な相対クリッピング領域設定レジスタとが設けられ、上記クリッピング処理回路はオフセット設定レジスタと相対クリッピング領域設定レジスタの各設定値で決定されるクリッピング領域に対してクリッピング処理を行うように構成したものである。
このような手段によれば、画面上で任意の方向に平行移動可能なウィンドウ表示の中にクリッピング領域を設けて地図表示を行うような場合であっても、予めウィンドウ表示に対応づけられた相対座標でクリッピング領域を指定しておくことで、クリッピング領域が設けられたウィンドウ表示を平行移動させると云った描画処理をCPUの負荷や描画コマンドの転送に伴うバスの負荷を上げることなく実行することが可能となる。
Outlines of representative ones of the inventions disclosed in the present application will be described as follows.
That is, a drawing processing device for a navigation system capable of displaying position information such as a map, a drawing circuit for writing pixel data to a display memory, for example, in accordance with a drawing command (that is, a drawing command), and a clipping region set on the display screen A clipping processing circuit that excludes external drawing processing (that is, writing of pixel data), an offset setting register as an offset setting means capable of setting relative coordinates on absolute coordinates fixedly associated with the display screen, and And a relative clipping area setting register capable of setting a relative clipping area represented by relative coordinates, and the clipping processing circuit performs clipping with respect to a clipping area determined by each setting value of the offset setting register and the relative clipping area setting register. To do the processing It is those that form.
According to such means, even when a map display is performed by providing a clipping region in a window display that can be translated in any direction on the screen, the relative display previously associated with the window display is used. By specifying the clipping area with coordinates, the drawing process of translating the window display provided with the clipping area can be executed without increasing the CPU load or the bus load associated with the transfer of the drawing command. Is possible.

図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の後段にこれら領域のクリッピング処理を行う座標クリッピング部を追加すれば良い。
なお、本発明に係る表示制御装置は、地図表示を行って位置情報を知らせるナビゲーションシステムに限られず、一つのディスプレイリストを複数のフレーム期間に渡って繰り返し用いて描画を行うとともに、ディスプレイリストに示される描画オブジェクトをクリッピング処理にて必要な範囲のみ切り出して描画するような制御方式を用いた表示制御システムにおいて、描画オブジェクトとクリッピング領域とを共に平行移動させるような表示制御を行う場合に用いて効果的なものである。
FIG. 1 is a block diagram showing a schematic configuration of a car navigation system to which the present invention is applied.
FIG. 2 is a block diagram illustrating a configuration example of the display control apparatus of FIG.
FIG. 3 is a block diagram showing in detail an example of the drawing unit of FIG.
FIG. 4 is a bit configuration diagram illustrating an example of a drawing command that is interpreted and executed by the display control apparatus.
FIG. 5 is a diagram illustrating an example of a drawing object generated by the pixel generation unit in the display control device based on one drawing command.
FIG. 6 is a diagram illustrating an example in which the display control apparatus sets the local offset value as the origin and draws the object of FIG.
FIG. 7 is a diagram illustrating a drawing example when a predetermined clipping region is set on the screen of the display device.
FIG. 8 is a diagram illustrating an example in which the local offset value is changed and the object of FIG. 5 is drawn.
FIG. 9 is a diagram illustrating a drawing example when the local offset value is changed by designating a user clipping area represented by absolute coordinates.
FIG. 10 is a diagram illustrating a drawing example when the local offset value is changed by designating the relative user clipping area.
FIG. 11 is a diagram illustrating an image example when a map display is performed by setting a plurality of clipping regions in a window display that can be translated in an arbitrary direction in the car navigation system.
FIG. 12 is a block diagram showing a second embodiment of the drawing unit constituting the display control apparatus of FIG.
FIG. 13 is a block diagram showing a third embodiment of the drawing unit constituting the display control apparatus of FIG.
BEST MODE FOR CARRYING OUT THE INVENTION
Preferred embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing the configuration and main parts of the entire system when the present invention is applied to a car navigation system. Although not particularly limited, in the figure, a plurality of circuit blocks in a region surrounded by reference numeral 2 are formed on one semiconductor substrate such as single crystal silicon.
In FIG. 1, reference numeral 1 denotes a CPU for performing a system control such as a calculation process of a current position and an instruction to change display contents based on the calculation result and a user's input operation, and 2 writes pixel data to the display memory 4 in accordance with a drawing command. A display control device that performs a drawing process and a display output process that reads out pixel data from the display memory 4 and converts the pixel data into a display signal and outputs the display signal. 3 is a memory such as a DRAM (Direct Random Access Memory) that provides a work space for the CPU. Is a display memory such as a DRAM that stores drawing commands and pixel data, 5 is a display device such as a liquid crystal display, and 6 is a non-volatile memory that can retain data even after the power is turned off such as a flash memory or mask ROM that stores a startup program. 7 is a DVD (digital versatile disc) that stores map display data and the like. ) Or the storage device storage medium is mounted, such as a hard disk, 10 a system bus, 11 denotes a display memory bus.
Although not shown, an input device such as a touch panel is connected to the system bus 10, and current positions such as a GPS (Global Positioning System) receiver, a direction measuring device, and a gas rate sensor are provided. A positioning device that measures the distance is connected.
In the car navigation system of this embodiment, most of the map display data stored in the storage device 7 is represented by vector information indicating lines and polygons. Is read for each line or polygon information by reading out the map display data in the necessary range and adding coordinate information according to the display position or adding attribute information corresponding to the display control device 2 A command is generated and written to the display memory 4. The code sequence of this drawing command is called a display list. Then, after the display control device 2 executes the display list drawing commands and writes the pixel data to the display memory 4, the pixel data is read from the display memory 4 and displayed while being synchronized with the display operation of the display device 5. By converting it into a signal and outputting it, a predetermined display including a map display is performed on the display.
The display memory 4 has a display list storage area, which is a sequence of drawing commands capable of drawing a predetermined range of map display, and a frame buffer area in which pixel data for window display, other hierarchical display, and background display are stored. Etc. are provided. The frame buffer area has, for example, two or three planes, and while performing display output based on the pixel data of the frame buffer area of the first plane, the next plane is drawn in the frame buffer area of the second plane. As described above, the frame buffer area may be alternately switched between drawing and display output. Similarly, the display list storage area may include, for example, two screens or three screens, and may be used while being switched alternately.
The drawing process by the display control device 2 is performed for each display frame, but the display list is not changed until a new range of map display is required, and during that time, the same display list is repeatedly used to perform the drawing process.
FIG. 2 is a block diagram illustrating a configuration example of the display control device 2.
As shown in FIG. 1, the display control device 2 includes a drawing unit 20 that is a drawing circuit that interprets and executes drawing commands, and a CPU interface unit 21 that is connected to the system bus 10 and performs data input / output from the CPU 1. A display unit 22 that reads out pixel data from the display memory 4, converts the pixel data into a video signal, outputs the video signal in synchronization with the operation of the display device 5, and a memory control unit 23 that controls reading and writing of data to and from the display memory 4. ing. As shown in detail in FIG. 2, the display control device 2 includes memory buses MDB and MAB to which data and addresses of the display memory 4 are transferred, and a CPU bus to which data and addresses on the system bus 10 side are transferred. A CDB, CAB, and a bus controller 25 for controlling access of each block to these buses are provided. The CPU interface unit 21, the display unit 22, and the memory control unit 23 input / output data via the I / O buffers 26a to 26c, respectively. The drawing unit 20 includes a drawing processing unit 27 and a buffer unit 28, and fetches drawing commands and writes pixel data via the buffer unit 28.
FIG. 3 shows a detailed configuration example of the drawing unit 20, and FIG. 4 shows a data configuration diagram of the drawing command.
As shown in FIG. 1, the drawing unit 20 includes a drawing register unit 201 for setting various drawing conditions, a coordinate clipping unit 204 as a clipping processing circuit for excluding drawing processing outside the clipping region, and a drawing register. A clipping area generation unit 202 that determines a clipping region based on setting data of the unit 201 and a coordinate generation unit 203 that generates coordinates of a drawing figure based on drawing data (for example, a vertex of a drawing object) for each dot are provided. Yes. Each of them is included in the drawing processing unit 27 as shown in FIG.
In addition, the drawing unit 20 interprets drawing commands and control commands, outputs drawing data to the coordinate generation unit 203, writes setting data to the drawing register, decoder circuits, and each dot of the drawing figure. A physical address conversion circuit for converting the coordinate value into a corresponding address in the frame buffer area of the display memory 4 and a color data addition circuit for adding color data representing the display color of each dot to the pixel data to be drawn are provided. Yes.
As shown in FIG. 3, the drawing register unit 201 includes a system clipping area register R10, a user clipping area register R11 as absolute clipping area setting means, a relative user clipping area register R12 as relative clipping area setting means, and a local offset register R13. Etc. are included. Further, although not shown, various types of registers that are referred to at the time of calculation and accessible by the CPU, such as transparent color information and transfer source / transfer destination address information, are also included.
The system clipping area register R10 is a register in which the entire screen area is set by the screen coordinates of the display device 5, for example, and drawing processing for an area exceeding the system clipping area set here is always omitted. Yes. In this register R10, the maximum values (SXmax, SYmax) of the XY coordinates are set, and a rectangular area having the coordinate point and the origin (0, 0) as a diagonal line is set as a system clipping area.
The user clipping area register R11 is a register that allows the program designer of the car navigation system to set an arbitrary clipping area. In this register R11, two coordinate values (UXmin, UYmin) − (UXmax, UYmax) expressed by absolute coordinates fixedly associated with the display screen are set, and a rectangular area having these two points as diagonal lines. Is the user clipping region.
The relative user clipping area register R12 is a register that allows the program designer of the car navigation system to set an arbitrary clipping area represented by relative coordinates. In this register R11, two coordinate values (RUXmin, RUYmin) − (RUXmax, RUYmax) represented by relative coordinates arbitrarily set on the absolute coordinates are set, and a rectangular area having these two points as diagonal lines is relative. A user clipping area (relative clipping area) is used.
The local offset register R13 is a register in which relative coordinates capable of setting the origin to an arbitrary position with respect to the display screen are set. A single coordinate value (LXo, LYo) expressed in absolute coordinates is set in the register R13, and the coordinates extending from the coordinate point as the origin and extending in the same direction are set as relative coordinates.
In the present embodiment, the absolute coordinate means an (x, y) coordinate indicated with the upper left (0, 0) of the screen coordinate as an origin. Relative coordinates mean (x, y) coordinates indicated with the coordinate value (LXo, Lyo) set in the local offset register R13 as the origin.
The setting method of the registers R10 to R13 can be directly written by the CPU 1 by designating an address, or can be rewritten by a control command read and executed by the drawing unit 20. Since it can be rewritten by a control command, by putting the control command in the display list in advance, without increasing the load on the CPU 1 and without interrupting the drawing process of the display control device 2, the drawing process can be performed. The clipping area setting can be changed at a predetermined timing. Thus, for example, when a plurality of display frames are provided in one window display and drawing in the plurality of display frames is performed in one display list, the drawing commands for the respective display frames are blocked and displayed on the list. The drawing unit 20 performs drawing processing along the display list by inserting a control command for changing the clipping region to the next display frame between each block of these drawing commands. The clipping region can be automatically changed at a necessary timing in the process of performing the operation.
The clipping area generation unit 202 determines a clipping region for one drawing command to be executed, and the value set in the drawing register unit 201 and, for example, 2 bits included in the drawing attribute portion of each drawing command. The clipping region is determined based on the value of. As shown in FIG. 3, the clipping area generator 202 adds the values of the relative user clipping area register R12 and the local offset register R13, and generates the coordinates of the relative clipping area expressed in absolute coordinates. And a clipping area selection unit SEL1 for determining one clipping region based on a plurality of clipping regions set in the drawing register unit 201.
The adder AM1 uses the X coordinate value of the local offset register R13 for the X coordinate value and the local offset register for the Y coordinate value of the two coordinate values set in the relative user clipping area register R12. The value of the Y coordinate of R13 is added. Then, the coordinate values (TRUXmin, TRUYmin) − (TRUXmax, TRUYmax) {= (RUXmin + LXo, RUYmin + LYo) − (RUXmax + LXo, RUYmax + LYo)} of the two diagonal vertices of the relative user clipping area expressed in absolute coordinates are obtained. .
The clipping area selection unit SEL1 includes coordinate values of diagonal vertices of a system clipping region, a user clipping region, and a relative clipping region represented by absolute coordinates set in the drawing register unit 201, and a drawing attribute portion of a drawing command. 2 bits of a user clip enable bit UCLP_ENABLE and a relative user clip enable bit (relative clipping enable bit) RUCLP_ENABLE included in the input are input.
The drawing command includes a drawing command parameter portion including an instruction code portion indicating a drawing type and a drawing attribute portion indicating a drawing attribute, and the size and storage location (coordinates) of the color information and the texture stored in the display memory 4. And a drawing texture parameter part having information on the physical address) and a drawing vertex parameter part having coordinate value information on the vertices of the drawing figure. FIG. 4 shows only the drawing command parameter part of the drawing command. In this drawing attribute part, two bits UCLP_ENABLE and RUCLP_ENABLE indicating whether or not the user clipping area is applied and whether or not the relative user clipping area is applied are respectively shown. included.
The clipping area selection unit SEL1 uses the overlapping portion of the three areas of the system clipping area, the user clipping area, and the relative user clipping area, which are expressed by expressing the two diagonal vertices in absolute coordinates, as a diagonal area 2 The vertex coordinate value (CXmin, CYmin) − (CXmax, CXmax) is output. However, when the user clipping enable bit UCLP_ENABLE input to the clipping area selection unit SEL1 is “0”, the clipping area selection unit SEL1 excludes the user clipping region from the calculation of the clipping region, and the relative user clipping enable bit RUCLP_ENABLE is set. When “0”, the relative clipping area is excluded from the calculation of the clipping area.
Accordingly, the use of the user clipping area and the relative user clipping area and the use of the overlapping area can be selected for each drawing command by the 2-bit UCLP_ENABLE and RUCLP_ENABLE included in the drawing attribute portion of the drawing command. In addition, since the overlapping area with the system clipping area is always set as the clipping area, even if the user-specified clipping area is set to protrude from the display screen, the drawing process is omitted even for the part outside the display screen. It has come to be.
For example, when executing a drawing command for drawing a polygon, the coordinate generation unit 203 receives the coordinates of the vertices of the polygon included in the drawing command and continuously calculates the coordinate values of all the dots inside the polygon. Is generated. In the preceding stage of the coordinate generation unit 203, the coordinates of the vertexes of the input polygon, for example, the coordinates (X1, Y1) to (X4, Y4) of the four vertices in the case of a square, and the set values (LXo, Lyo) of the local offset register R13 are displayed. ) And second adders AM2 and AM2 are provided, and the coordinates of the vertices expressed in relative coordinates are written in the drawing command, and are determined by the local offset register R13. The drawing object can be drawn along the relative coordinates.
The coordinate clipping unit 204 determines whether the coordinate value output from the coordinate generation unit 203 is within the clipping region or outside the region based on the coordinate values of the two diagonal vertices of the clipping region given from the clipping area generation unit 202. Comparing each dot, if it is outside the area, the coordinate value is discarded and only the coordinate value within the area is output.
Then, the coordinate value is converted into a physical address of the display memory 4 by a physical address conversion circuit (not shown), and pixel data to which color data of each dot based on a drawing command is added is generated, and this pixel data is displayed. The data is written to the corresponding physical address in the frame buffer area of the memory 4. When pixel data for one display frame is written, the pixel data is read by the display unit 22, converted into a display signal, and output to the display device 5.
Next, the clipping process will be described with reference to an example of the drawing process of the display control apparatus 2.
FIG. 5 is a diagram showing, for example, a rectangular drawing object represented by one drawing command, FIG. 6 is a diagram showing an example in which drawing based on this drawing command is performed with a local offset value (0, 0), and FIG. 7 is a clipping region FIG. 8 is a diagram showing an example of drawing when the drawing object is moved with the local offset value (384, 128). FIG. 9 is a diagram showing an example of moving the drawing object by setting a user clipping area. FIG. 10 is a diagram showing an example when the drawing object is moved with the relative user clipping area set.
For example, when a polygon as shown in FIG. 5 is drawn as the drawing object represented by the drawing command, the drawing command is decoded and output to the adder AM2 from the first vertex to the fourth vertex of the polygon. It becomes each coordinate value. This coordinate value is represented by the drawing coordinates set when the drawing command is generated by the CPU.
As shown in FIG. 6, if the drawing object is drawn with a local offset value (0, 0), the drawing coordinates and the screen coordinates of the display device 5 are the same value, so that a polygon is drawn at the position shown in FIG. .
Next, when the drawing in FIG. 6 is performed with the user clipping area or the relative user clipping area set to (0, 128) − (383, 383), drawing outside these clipping areas is performed as shown in FIG. Only the part that is excluded and overlaps the area is drawn. Here, since the offset value is (0, 0), the attribute bit UCLP_ENABLE, RUCLP_ENABLE of the drawing command is assumed to have a corresponding bit “1”.
Further, as shown in FIG. 8, when the drawing object of FIG. 5 is drawn with the setting of the local offset value (384, 128), the coordinate value of each vertex of the drawing object is shifted by the offset value. The drawing object is drawn at a position where the drawing object is translated on the display screen from the drawing position at the offset value (0, 0).
Further, when such drawing is performed in a state where the user clipping area is set to (0, 128)-(383, 383), as shown in FIG. 9, the user clipping area (0, 128)-(383 , 383) is not affected by the local offset value, the position of the clipping region is not calculated by the coordinates based on the offset value, and only the position of the drawing object is calculated by the offset value, so that the drawing object deviates from the clipping region.
On the other hand, if the offset value (384, 128) is drawn in a state where the relative user clipping area is set to (0, 128)-(383, 383), the relative user clipping area is also displayed as shown in FIG. Since the offset value is calculated in the same manner as the drawing object as (0 + 383, 128 + 128) − (383 + 383, 383 + 128) in absolute coordinate expression under the influence of the local offset value (384, 128), the drawing object for the clipping region The drawing content is similarly shifted from the clipping region while the position of is fixed.
In FIG. 11, the example of the map display using the relative clipping area | region in the car navigation system of an Example is shown.
The above-described relative clipping region is useful when, for example, the following display is performed in a car navigation system equipped with a relatively large display screen.
That is, a window display WD that can be translated on the display screen S0 based on a user's operation is configured, and a plurality of relative user clipping regions RUC0 to RUC2 are set in the window display WD to display a map display or Multiple types of display such as menus are performed.
In order to perform such window display WD, first, drawing of the entire display screen S0 including the window display WD is performed in a continuous frame area of the display memory 4, and the window display WD is translated by the user. When an operation is performed, an interrupt signal is sent to the CPU 1, and the CPU 1 rewrites the value of the local offset register R13 of the drawing register unit 201 based on the interrupt signal, so that the window display WD becomes a clipping region RUC0 to RUC0. Along with RUC2, it is translated to the window display WD ′.
The drawing processing unit 20 of the display control device 2 sequentially executes drawing commands and control commands along the display list stored in the display memory 4 to write pixel data in the frame area. When transitioning from drawing to drawing of another clipping region, the display control device 2 executes a control command for changing the value of the relative user clipping area register R12 inserted in advance between these drawing commands, whereby display control is performed. The apparatus 2 changes the setting of the relative user clipping area at a timing required for the drawing process without depending on the CPU 1.
Here, if the clipping region set in the window display WD is a user clipping region expressed in absolute coordinates, the CPU 1 stores the operation in the display memory 4 when the window display WD is moved. The control command of the displayed list must be rewritten, and the load on the CPU 1 and the display memory bus 11 is greatly increased. On the other hand, by setting the clipping area as a relative user clipping area, it is not necessary to change the display list even if there is an operation for moving the window display WD. Therefore, the CPU 1 or the display memory bus 11 as described above. No load will occur.
On the other hand, when it is desired to create a display frame that is not desired to be moved together with the window display WD, it can be dealt with by drawing with the setting of the user clipping area.
As described above, according to the display control apparatus of this embodiment, a navigation system that performs map display, etc. draws a plurality of display frames by repeatedly using one display list in a plurality of frame periods, and performs clipping processing. In the system that performs drawing by cutting out only necessary portions of all the drawing objects indicated by the display list, the CPU 1 and the display memory bus 11 perform display control for simultaneously moving the drawing object and the clipping area on the display screen. There is an effect that it can be executed without increasing the load.
The invention made by the present inventor has been specifically described based on the embodiments. However, the present invention is not limited to the above embodiments, and various modifications can be made without departing from the scope of the invention. Nor.
For example, in the embodiment, the clipping area is described as being inside the rectangular area represented by the two vertices, but the outside pixels are drawn using the outside of the rectangular area as the clipping area, and the inside drawing is omitted. Alternatively, it is possible to set a clipping region to a region other than a rectangle (for example, a polygon).
Further, in the embodiment, the configuration in which the coordinate value for each dot is clipped in the subsequent stage of the coordinate generation unit 203 has been described. In some cases, it is possible to perform rough clipping processing to exclude this drawing.
In the embodiment, the map data is stored in the storage device 7, but the map data can be received from the computer network via the communication means.
FIG. 12 shows a configuration diagram of the second embodiment of the drawing unit 20.
Also, as shown in FIG. 12, the drawing register unit 201 may not be provided with the system clipping area register R10 and the user clipping area register R11 shown in FIG. 3, and only the relative user clipping area may be set as the clipping area.
FIG. 13 shows a configuration diagram of the third embodiment of the drawing unit 20.
Further, the hardware configuration for performing the clipping process for the relative user clipping region may be the configuration as shown in FIG. 13, thereby eliminating the adder AM1 of FIG. In the configuration of FIG. 13, adders AM21 and AM21 for adding local offset values (LXo, Lyo) to the coordinate values of the drawing object are arranged after the coordinate generation unit 203, and the coordinate clipping unit 204A that performs clipping processing is coordinated. It is arranged between the generator 203 and the adders AM21 and AM21. The coordinate clipping unit 204A is configured to be given the set value of the relative user clipping area register R12.
In such a configuration, the coordinate value of the drawing object generated in relative coordinates is clipped based on the coordinate value expressed in relative coordinates as it is, and then the local offset value is added to convert it into absolute coordinates. Therefore, the adder AM1 for expressing the relative clipping region in absolute coordinates becomes unnecessary.
In order to make it possible to set the system clipping region and the user clipping region with the configuration of FIG. 13, a coordinate clipping unit that performs clipping processing of these regions may be added after the adders AM21 and AM21.
The display control device according to the present invention is not limited to a navigation system that displays a map and notifies position information, and draws a display list by repeatedly using it for a plurality of frame periods, and displays it on the display list. This is effective when display control is performed in which a drawing object and a clipping area are translated together in a display control system that uses a control method that cuts out and draws only the necessary range in the clipping process. Is something.

産業上の利用の可能性Industrial applicability

以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるカーナビゲーションシステムついて説明したがこの発明はそれに限定されるものでなく、例えば携帯型のナビゲーションシステムなどに広く利用することができる。  In the above description, the car navigation system, which is the field of use behind the invention made by the present inventor, has been described. However, the present invention is not limited thereto, and is widely used, for example, in a portable navigation system. can do.

Claims (14)

システム制御を行う中央演算処理装置と描画処理および表示制御を行う表示制御装置とを備え、上記表示制御装置により表示装置に地図表示を行うナビゲーションシステムであって、
上記表示制御装置には、
描画命令に基づき描画処理を行う描画回路と、
表示座標上に設定されるクリッピング領域の外側または内側に対する描画処理を省略させるクリッピング処理を行うクリッピング処理回路と、
ある表示領域に固定的に対応付けられる絶対座標上に相対座標を設定可能なオフセット設定手段と、
上記相対座標で表わされる相対クリッピング領域を設定可能な相対クリッピング領域設定手段とが設けられ、
上記クリッピング処理回路は上記相対座標と上記相対クリッピング領域とから決定されるクリッピング領域を対象として上記クリッピング処理を実行可能であり、
上記表示制御装置に入力される描画命令には、上記相対クリッピング領域に対するクリッピング処理の実行の可否を表わす相対クリッピングイネーブルビットが含まれていることを特徴とするナビゲーションシステム。
A navigation system comprising a central processing unit for performing system control and a display control unit for performing drawing processing and display control, wherein the display control unit displays a map on the display unit,
In the display control device,
A drawing circuit that performs a drawing process based on a drawing command;
A clipping processing circuit for performing a clipping process for omitting a drawing process for the outside or inside of the clipping region set on the display coordinates;
Offset setting means capable of setting relative coordinates on absolute coordinates fixedly associated with a display area;
A relative clipping region setting means capable of setting a relative clipping region represented by the relative coordinates,
The clipping processing circuit can perform the clipping processing on a clipping region determined from the relative coordinates and the relative clipping region ;
The navigation system according to claim 1, wherein the drawing command input to the display control device includes a relative clipping enable bit indicating whether or not the clipping process can be executed on the relative clipping region .
上記表示制御装置には、上記絶対座標で表わされる絶対クリッピング領域を設定可能な絶対クリッピング領域設定手段が設けられ、上記クリッピング処理回路は選択的に上記相対クリッピング領域と上記絶対クリッピング領域との何れかをクリッピング領域として上記クリッピング処理を行うことが可能にされていることを特徴とする請求項1に記載のナビゲーションシステム。 The display control device is provided with an absolute clipping region setting means capable of setting an absolute clipping region represented by the absolute coordinates, and the clipping processing circuit selectively selects either the relative clipping region or the absolute clipping region. The navigation system according to claim 1 , wherein the clipping process can be performed using a clipping region as a clipping region . 上記クリッピング処理回路は選択的に上記絶対クリッピング領域と上記相対クリッピング領域とが重なった領域をクリッピング領域として上記クリッピング処理を行うことが可能にされていることを特徴とする請求項2に記載のナビゲーションシステム。Navigation claim 2 said clipping circuit, characterized in that it is possible to perform the clipping processing overlapped and selectively the absolute clipping region and the relative clipping region area as a clipping area system. 上記描画命令には、上記絶対クリッピング領域に対するクリッピング処理、上記相対クリッピング領域に対するクリッピング処理、両領域の重なり領域に対するクリッピング処理の何れかを選択する少なくとも一つ以上の属性ビットが設けられていることを特徴とする請求項3に記載のナビゲーションシステム。 The drawing command is provided with at least one attribute bit for selecting one of clipping processing for the absolute clipping region, clipping processing for the relative clipping region, and clipping processing for the overlapping region of both regions. The navigation system according to claim 3, wherein: 上記描画命令には描画図形の描画位置を上記相対座標で指定することが可能であり、上記描画回路には上記描画命令に基づく相対座標の描画位置と上記オフセット設定手段の設定値とから絶対座標の描画位置を算出する第2の演算器が設けられていることを特徴とする請求項1から請求項4の何れかに記載のナビゲーションシステム。 In the drawing command, the drawing position of the drawing figure can be specified by the relative coordinate, and the drawing circuit has an absolute coordinate based on the drawing position of the relative coordinate based on the drawing command and the set value of the offset setting means. The navigation system according to any one of claims 1 to 4, further comprising a second computing unit that calculates the drawing position . 上記中央演算処理装置から供給される複数の描画命令コードからなるコード列が格納される記憶手段を備え、該記憶手段には地図表示を行う表示領域よりも大きな領域の地図表示の描画が可能な描画命令のコード列が格納されることを特徴とする請求項1から請求項5までの何れかに記載のナビゲーションシステム。 Storage means for storing a code string composed of a plurality of drawing instruction codes supplied from the central processing unit is provided, and the storage means can draw a map display in a larger area than a display area for displaying a map. The navigation system according to any one of claims 1 to 5, wherein a code sequence of a drawing command is stored . 上記表示制御装置は、上記記憶手段へのデータの読み書きを制御するメモリコントローラと、上記メモリコントローラによって上記記憶手段から読み出された画素データを元に上記表示装置へ信号を出力する表示部とを有することを特徴とする請求項6に記載のナビゲーションシステム。The display control device includes: a memory controller that controls reading and writing of data to the storage unit; and a display unit that outputs a signal to the display device based on pixel data read from the storage unit by the memory controller. The navigation system according to claim 6, further comprising: 上記地図表示のためのデータを格納する記憶媒体が搭載される記憶装置を更に含むことを特徴とする請求項7に記載のナビゲーションシステム。The navigation system according to claim 7, further comprising a storage device on which a storage medium for storing data for displaying the map is mounted. システム制御を行い、複数の描画コマンドを生成可能な中央処理装置と、A central processing unit capable of performing system control and generating a plurality of drawing commands;
上記描画コマンドに基づいて描画処理を行う描画回路と、A drawing circuit for performing drawing processing based on the drawing command;
表示制御を行う表示回路と、A display circuit for performing display control;
上記表示回路から供給される信号を表示する表示装置と、A display device for displaying a signal supplied from the display circuit;
上記描画コマンドを格納可能なメモリと、A memory capable of storing the above drawing commands;
上記メモリへのデータの読み書きを制御するメモリコントローラとを備え、上記表示装A memory controller for controlling reading and writing of data to and from the memory. 置に地図表示を行うナビゲーションシステムであって、A navigation system that displays a map on the screen,
上記描画回路は、ある表示領域に固定的に対応付けられる絶対座標上に相対座標を設定可能なオフセットレジスタと、上記相対座標で表わされる相対クリッピング領域を設定可能な相対クリッピング領域レジスタとを有するものであり、The drawing circuit has an offset register capable of setting relative coordinates on absolute coordinates fixedly associated with a certain display area, and a relative clipping area register capable of setting a relative clipping area represented by the relative coordinates. And
上記描画回路は、表示座標上に設定されるクリッピング領域の外側または内側に対する描画処理を省略させるクリッピング処理を行うものであり、The drawing circuit performs a clipping process for omitting a drawing process for the outside or inside of a clipping region set on display coordinates,
上記描画回路は、描画コマンドに応答して上記相対座標と上記相対クリッピング領域とから決定されるクリッピング領域を対象として上記クリッピング処理を実行可能であり、The drawing circuit is capable of executing the clipping process for a clipping region determined from the relative coordinates and the relative clipping region in response to a drawing command;
上記クリッピング処理に際して上記描画回路が応答する上記描画コマンドには、上記相対クリッピング領域に対するクリッピング処理の実行の可否を表わす相対クリッピングイネーブルビットが含まれていることを特徴とするナビゲーションシステム。The navigation system according to claim 1, wherein the drawing command to which the drawing circuit responds in the clipping process includes a relative clipping enable bit indicating whether or not the clipping process can be executed for the relative clipping region.
上記地図表示のためのデータを格納する記憶媒体が搭載される記憶装置を更に含むことを特徴とする請求項9に記載のナビゲーションシステム The navigation system according to claim 9, further comprising a storage device on which a storage medium for storing data for displaying the map is mounted . 上記描画回路は、描画処理を行うことで生成した画素データを上記メモリに格納することを特徴とする請求項9または請求項10に記載のナビゲーションシステム。The navigation system according to claim 9 or 10, wherein the drawing circuit stores pixel data generated by performing drawing processing in the memory. 上記中央処理装置は、生成した描画コマンドを上記メモリに格納することを特徴とする請求項9から請求項11までの何れかに記載のナビゲーションシステム。The navigation system according to any one of claims 9 to 11, wherein the central processing unit stores the generated drawing command in the memory. 上記メモリには、地図表示を行う表示領域よりも大きな領域の地図表示の描画が可能な複数の描画コマンドが格納される請求項9から請求項12までの何れかに記載のナビゲーションシステム。The navigation system according to any one of claims 9 to 12, wherein the memory stores a plurality of drawing commands capable of drawing a map display of an area larger than a display area for displaying a map. 上記描画回路は、上記絶対座標で表わされる絶対クリッピング領域を設定可能な絶対クリッピング領域レジスタを有し、The drawing circuit has an absolute clipping region register capable of setting an absolute clipping region represented by the absolute coordinates,
上記描画回路は、選択的に上記相対クリッピング領域と上記絶対クリッピング領域との何れかをクリッピング領域として上記クリッピング処理を行うことが可能にされていることを特徴とする請求項9から請求項13までの何れかに記載のナビゲーションシステム。14. The drawing circuit according to claim 9, wherein the drawing circuit is configured to selectively perform the clipping process using any one of the relative clipping area and the absolute clipping area as a clipping area. The navigation system according to any one of the above.
JP2004560573A 2002-12-17 2002-12-17 Navigation system Expired - Fee Related JP4152383B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/013163 WO2004055671A1 (en) 2002-12-17 2002-12-17 Navigation system

Publications (2)

Publication Number Publication Date
JPWO2004055671A1 JPWO2004055671A1 (en) 2006-04-20
JP4152383B2 true JP4152383B2 (en) 2008-09-17

Family

ID=32587954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004560573A Expired - Fee Related JP4152383B2 (en) 2002-12-17 2002-12-17 Navigation system

Country Status (2)

Country Link
JP (1) JP4152383B2 (en)
WO (1) WO2004055671A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5418078B2 (en) * 2009-09-03 2014-02-19 ヤマハ株式会社 Image processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347651A (en) * 1999-06-07 2000-12-15 Matsushita Electric Ind Co Ltd Picture drawing processing device

Also Published As

Publication number Publication date
WO2004055671A1 (en) 2004-07-01
JPWO2004055671A1 (en) 2006-04-20

Similar Documents

Publication Publication Date Title
JP3030206B2 (en) Method and apparatus for clipping a graphic polygon to a clipping area
JPS5995669A (en) Graphic processor
JP2008257467A (en) Information processor and display method
KR100277803B1 (en) 3D graphic display
US6952217B1 (en) Graphics processing unit self-programming
JP2013045401A (en) Animation drawing device
JP4683384B2 (en) Memory control method, graphic processor, and information processing apparatus
JP4152383B2 (en) Navigation system
JP4137903B2 (en) Graphics display device and graphics processor
JP4050605B2 (en) Display control device and navigation system
JPH06149533A (en) Segment quick plotting system for reducing plotting processing for segment outside display area
JP2010152702A (en) Semiconductor integrated circuit for graphics
JPH0962852A (en) Graphic processor
JPH10161636A (en) Graphics display device
JP4479957B2 (en) Curved surface subdivision device
JP6147448B1 (en) Data processing apparatus, data processing method, and data processing program
JP5885827B2 (en) Drawing control apparatus and drawing control program
JPS6315617B2 (en)
JP2009265329A (en) Font drawing device and information processing device
JPH02270082A (en) Equipment for comparing coordinate pair of x-coordinate y-coordinate of object displayed by graphics subsystem
JP2001166767A (en) Device and method for processing drawing
JPH1186026A (en) Image processor
JPH0346826B2 (en)
JP2008015543A (en) Microcomputer and display control device
JPH06282657A (en) Graphic display method and device

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080325

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080624

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080701

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees