JP2002091427A - Device and method for processing picture - Google Patents
Device and method for processing pictureInfo
- Publication number
- JP2002091427A JP2002091427A JP2000275479A JP2000275479A JP2002091427A JP 2002091427 A JP2002091427 A JP 2002091427A JP 2000275479 A JP2000275479 A JP 2000275479A JP 2000275479 A JP2000275479 A JP 2000275479A JP 2002091427 A JP2002091427 A JP 2002091427A
- Authority
- JP
- Japan
- Prior art keywords
- storage medium
- image storage
- vram
- writing
- update information
- 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.)
- Withdrawn
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、書込用画像記憶媒
体と、表示用画像記憶媒体とを利用した画像処理装置及
び画像処理方法に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus and an image processing method using a writing image storage medium and a display image storage medium.
【0002】[0002]
【従来の技術】従来から、この種の画像処理装置とし
て、複写機やカメラ等の液晶等の表示デバイスにマッピ
ングされたVRAM等の画像記憶媒体へ、直接図形等を
描画するため書き込みを行うと、描画の過程が見えてし
まったり、ちらつくといった現象が見られた。これを抑
えるために、VRAMを2つ搭載し、一方を表示用、一
方を書込用として交互に切換えるダブルバッファ方式の
装置が一般的となっている。2. Description of the Related Art Conventionally, as an image processing apparatus of this type, when writing is performed to directly draw a figure or the like on an image storage medium such as a VRAM mapped to a display device such as a liquid crystal such as a copying machine or a camera. There was a phenomenon that the drawing process was visible or flickering. In order to suppress this, a device of a double buffer system in which two VRAMs are mounted and one is alternately switched for display and one for writing is generally used.
【0003】一般的なダブルバッファ方式の詳細は、ま
ず、表示デバイスに反映されない書込用VRAMに描画
を行う(描画過程が表示デバイスに反映されないため、
ちらつきが起こらない)。次に、描画完了時点で、書込
用VRAMと表示用VRAMを切換える。この時点で表
示デバイスに描画結果が瞬時に反映される。さらに、次
の描画に備え、切換後の表示用VRAM(最新描画結果
を保持)から、書込用VRAMにVRAM全体のイメー
ジを転送する。転送が完了すると再び、書込用VRAM
に描画可能となる。The details of the general double buffer method are as follows. First, drawing is performed on a writing VRAM that is not reflected on the display device (because the drawing process is not reflected on the display device,
No flickering). Next, when the drawing is completed, the writing VRAM and the display VRAM are switched. At this point, the drawing result is instantly reflected on the display device. Further, in preparation for the next drawing, the image of the entire VRAM is transferred from the switched display VRAM (holding the latest drawing result) to the writing VRAM. When the transfer is completed, the VRAM for writing
Can be drawn.
【0004】次の描画は表示用VRAMから書込用VR
AMへの転送が完了してからでなければできないので、
描画のタイムラグをなくすため、更新された差分だけ転
送する等、転送効率を上げる様々な方法が提案されてい
る。[0004] The next drawing is performed from the display VRAM to the write VR.
Since it can be done only after the transfer to AM is completed,
Various methods have been proposed to increase the transfer efficiency, such as transferring only the updated difference in order to eliminate the time lag of drawing.
【0005】一方、機器にリアルタイムOS上で動作す
る組込用ウィンドウシステムを搭載し、この上で複数の
ウィンドウアプリケーションタスクを動作させ、各々が
ランダムに描画を行うというシステムが普及してきてい
る。この場合、複数のウィンドウアプリケーションタス
クからランダムに描画や描画完了ダブルバッファ切換要
求が発生するため、特に処置を講じないと、描画結果が
表示デバイスに反映されなかったり、描画途中なのに表
示デバイスに描画過程が反映されてちらついて見えたり
といった不都合が生じる。そこで複数のウィンドウアプ
リケーションタスクとダブルバッファ方式を共存させる
ために以下の方法が一般的である。On the other hand, a system in which a built-in window system that operates on a real-time OS is mounted on a device, a plurality of window application tasks are operated on the window system, and each of them performs drawing at random has become widespread. In this case, a drawing or drawing completion double buffer switching request is randomly generated from a plurality of window application tasks. Therefore, if no special measures are taken, the drawing result is not reflected on the display device, or the drawing process is performed on the display device while drawing is in progress. Is reflected and flickering appears. Therefore, the following method is generally used to coexist a plurality of window application tasks with the double buffer method.
【0006】(1)ダブルバッファを使用できるウィン
ドウアプリケーションタスクを1つに固定する。(1) The number of window application tasks that can use the double buffer is fixed to one.
【0007】(2)複数のウィンドウアプリケーション
タスクでダブルバッファを使用する場合は、ダブルバッ
ファを使用している間、排他制御を行う。(2) When a double buffer is used by a plurality of window application tasks, exclusive control is performed while the double buffer is used.
【0008】(3)ウィンドウアプリケーション毎に論
理的に書込用VRAM及び表示用VRAMを割当て、ウ
ィンドウ毎の更新状態及び可視領域を管理することで、
物理的な書込用VRAM及び表示用VRAMとマッピン
グを行う(特登録2690925)。(3) By logically allocating a write VRAM and a display VRAM for each window application, and managing an update state and a visible area for each window,
The mapping is performed with the physical write VRAM and display VRAM (special registration 2690925).
【0009】[0009]
【発明が解決しようとする課題】しかしながら、上述の
従来の技術(1)(2)(3)の方法では、以下のよう
な問題点があった。However, the conventional techniques (1), (2), and (3) have the following problems.
【0010】(1)ダブルバッファを使用できるウィン
ドウアプリケーションタスクが1つと固定されるため、
他のウィンドウアプリケーションタスクの描画はちらつ
いて見えてしまう。(1) Since the number of window application tasks that can use the double buffer is fixed at one,
Drawings of other window application tasks will flicker.
【0011】(2)ウィンドウアプリケーションタスク
1がダブルバッファの排他制御使用権を獲得している間
に、非同期なイベントでウィンドウアプリケーションタ
スク2にタスクスイッチした場合、ウィンドウアプリケ
ーションタスク2は排他制御使用権を獲得できず中断状
態に遷移し、ウィンドウアプリケーションタスク1にタ
スクスイッチ後、ウィンドウアプリケーションタスク1
が描画を完了し排他制御使用権を開放してから再びウィ
ンドウアプリケーションタスク2にタスクスイッチす
る。このように、無駄なタスクスイッチが発生しシステ
ムの負荷を増加させる。(2) If the window application task 1 switches to the window application task 2 by an asynchronous event while acquiring the exclusive control right to use the double buffer, the window application task 2 sets the exclusive control right to use. It cannot be acquired and transits to the suspended state. After the task switch to window application task 1, window application task 1
Completes the drawing and releases the exclusive control use right, and then switches the task to the window application task 2 again. In this way, a useless task switch occurs and increases the load on the system.
【0012】(3)ウィンドウアプリケーション毎に論
理的に書込用VRAM及び表示用VRAMを割当て、物
理的な書込用VRAM及び表示用VRAMとマッピング
を行うために、ウィンドウ毎の更新状態及び可視領域を
管理する必要があるので、組込用ウィンドウシステムの
内部を把握していなければならず、市販の組込用ウィン
ドウシステムを利用することは難しい。(3) A write VRAM and a display VRAM are logically assigned to each window application, and an update state and a visible area for each window are assigned to perform mapping with the physical write VRAM and the display VRAM. Therefore, it is necessary to know the inside of the window system for embedding, and it is difficult to use a commercially available window system for embedding.
【0013】本発明は、上記従来技術の課題を解決する
ためになされたもので、その目的は、リアルタイムOS
上で動作する組込用マルチウィンドウシステムを利用
し、ウィンドウ単位の描画の排他制御を意識することな
く、効率的にダブルバッファを切換え、描画時のちらつ
きを抑えた画像処理装置及び画像処理方法を提供するこ
とである。SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems of the prior art.
An image processing apparatus and an image processing method that efficiently switch a double buffer and suppress flickering at the time of drawing by using an embedded multi-window system that operates on the above, without being aware of exclusive control of drawing on a window basis. To provide.
【0014】[0014]
【課題を解決するための手段】上記目的を達成するた
め、本発明に係る装置は、書込用画像記憶媒体と表示用
画像記憶媒体とを有し、リアルタイムOS上で動作する
組込用ウィンドウシステムを利用した画像処理装置であ
って、前記書込用画像記憶媒体へ描画を行う描画手段
と、前記描画手段による描画が行われているか否かを判
定する判定手段と、前記判定手段によって、描画が行わ
れていると判断されると、描画による更新情報を累積し
保持する更新情報累積手段と、前記判定手段によって、
描画が行われていないと判断されると、書込用画像記憶
媒体と表示用画像記憶媒体を切換え、更新情報累積手段
で累積した更新情報を表示用画像記憶媒体から書込用画
像記憶媒体に転送する制御手段を具備したことを特徴と
する。In order to achieve the above-mentioned object, an apparatus according to the present invention has an image storage medium for writing and an image storage medium for display, and has a built-in window operating on a real-time OS. An image processing apparatus using a system, comprising: a drawing unit configured to perform drawing on the writing image storage medium; a determination unit configured to determine whether drawing is performed by the drawing unit; When it is determined that drawing is performed, update information accumulating means for accumulating and holding update information by drawing, and the determination means,
If it is determined that drawing is not performed, the writing image storage medium and the display image storage medium are switched, and the update information accumulated by the update information accumulation means is transferred from the display image storage medium to the writing image storage medium. It is characterized by comprising control means for transferring.
【0015】前記画像処理装置は、さらに、画像表示手
段を有していることを特徴とする。The image processing apparatus further comprises an image display means.
【0016】前記描画手段は、非同期なタイミングで書
込用画像記憶媒体へ描画を行うことを特徴とする。[0016] The drawing means is characterized in that drawing is performed on the image storage medium for writing at asynchronous timing.
【0017】前記判定手段は、前記描画手段において描
画を実行中のウィンドウ数をカウントするカウント手段
を有し、前記更新情報累積手段は、前記カウント手段の
カウントするウィンドウ数が0から1に変化した時点か
ら、描画による更新情報を累積し始め、前記制御手段
は、前記カウント手段のカウントするウィンドウ数が1
から0に変化した時点で、書込用画像記憶媒体と表示用
画像記憶媒体を切換え、前記更新情報を表示用画像記憶
媒体から書込用画像記憶媒体に転送することを特徴とす
る。The determining means includes a counting means for counting the number of windows in which the drawing means is performing drawing, and the update information accumulating means changes the number of windows counted by the counting means from 0 to 1. From the point in time, the update information by drawing starts to be accumulated, and the control means determines that the number of windows counted by the
At the time when the value changes from 0 to 0, the writing image storage medium and the display image storage medium are switched, and the update information is transferred from the display image storage medium to the writing image storage medium.
【0018】前記制御手段は、前記リアルタイムOS上
の全てのタスクが中断状態になった後に、前記更新情報
累積手段において累積された更新情報を前記表示用画像
記憶媒体から前記書込用画像記憶媒体に転送することを
特徴とする。After all the tasks on the real-time OS are interrupted, the control means transfers the update information accumulated by the update information accumulating means from the display image storage medium to the writing image storage medium. It is characterized by being transferred to
【0019】前記更新情報累積手段は、前記更新情報と
して、描画更新された領域の情報を矩形情報として累積
保持する手段であって、該矩形情報の縦又は横軸方向の
内、一方の軸方向は累積せずに固定値とし、他方の軸方
向のみを累積することを特徴とする。[0019] The update information accumulating means is means for accumulating and holding, as the update information, information on the area where the drawing has been updated as rectangular information. Is a fixed value without accumulation, and accumulates only in the other axial direction.
【0020】リアルタイムOS上のウィンドウアプリケ
ーションタスク群のみラウンドロビンスケジューリング
を行うことを特徴とする。The present invention is characterized in that round robin scheduling is performed only for a group of window application tasks on a real-time OS.
【0021】リアルタイムOS上のウィンドウアプリケ
ーションタスク群からの一連の描画命令実行を、各ウィ
ンドウアプリケーションタスク内の再描画イベントハン
ドラ内でのみ行うことを特徴とする。It is characterized in that a series of drawing instructions from a group of window application tasks on the real-time OS are executed only in a redrawing event handler in each window application task.
【0022】上記目的を達成するため、本発明に係る記
憶媒体は、コンピュータによって実行されることによ
り、該コンピュータが上記の画像処理装置として動作す
るような画像処理プログラムを格納したことを特徴とす
る。In order to achieve the above object, a storage medium according to the present invention stores an image processing program that is executed by a computer so that the computer operates as the image processing apparatus described above. .
【0023】上記目的を達成するため、本発明に係る方
法は、書込用画像記憶媒体と表示用画像記憶媒体とを有
し、リアルタイムOS上で動作する組込用ウィンドウシ
ステムを利用した画像処理方法であって、前記書込用画
像記憶媒体へ描画を行う描画工程と、前記描画工程によ
る描画が行われているか否かを判定する判定工程と、前
記判定工程によって、描画が行われていると判断される
と、描画による更新情報を累積し保持する更新情報累積
工程と、前記判定工程によって、描画が行われていない
と判断されると、書込用画像記憶媒体と表示用画像記憶
媒体を切換え、更新情報累積工程で累積した更新情報を
表示用画像記憶媒体から書込用画像記憶媒体に転送する
制御工程を具備したことを特徴とする。In order to achieve the above object, a method according to the present invention is directed to an image processing method using an embedded window system having a writing image storage medium and a display image storage medium and operating on a real-time OS. A drawing step of drawing on the writing image storage medium; a determining step of determining whether or not drawing is performed by the drawing step; and drawing is performed by the determining step. Is determined, the update information accumulating step of accumulating and holding the update information by drawing, and if the determination step determines that drawing is not performed, the writing image storage medium and the display image storage medium And a control step of transferring the update information accumulated in the update information accumulation step from the display image storage medium to the writing image storage medium.
【0024】書込用画像記憶媒体と、表示用画像記憶媒
体と、リアルタイムOS上で動作する組込用ウィンドウ
システムと、を利用する、画像処理プログラムを格納し
たコンピュータ可読メモリであって、前記書込用画像記
憶媒体へ描画を行う描画工程のコードと、前記描画工程
による描画が行われているか否かを判定する判定工程の
コードと、前記判定工程によって、描画が行われている
と判断されると、描画による更新情報を累積し保持する
更新情報累積工程のコードと、前記判定工程によって、
描画が行われていないと判断されると、書込用画像記憶
媒体と表示用画像記憶媒体を切換え、更新情報累積工程
で累積した更新情報を表示用画像記憶媒体から書込用画
像記憶媒体に転送する制御工程のコードと、を具備した
ことを特徴とする。A computer readable memory storing an image processing program, utilizing an image storage medium for writing, an image storage medium for display, and a built-in window system operating on a real-time OS. It is determined that drawing is performed by the code of a drawing step of performing drawing on the embedded image storage medium, the code of a determining step of determining whether or not the drawing is performed by the drawing step, and the determining step. Then, the code of the update information accumulation step of accumulating and holding the update information by drawing, and the determination step,
If it is determined that drawing is not performed, the writing image storage medium and the display image storage medium are switched, and the update information accumulated in the update information accumulation step is transferred from the display image storage medium to the writing image storage medium. And a code for a control process to be transferred.
【0025】[0025]
【発明の実施の形態】以下に、図面を参照して、この発
明の好適な実施の形態を例示的に詳しく説明する。ただ
し、この実施の形態に記載されている構成要素の相対配
置、数式、数値等は、特に特定的な記載がない限りは、
この発明の範囲をそれらのみに限定する趣旨のものでは
ない。Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. However, the relative arrangement of components described in this embodiment, formulas, numerical values, etc., unless otherwise specified,
It is not intended to limit the scope of the present invention only to them.
【0026】(第1の実施の形態)本発明の第1の実施
の形態では、図1乃至図16を用いて、リアルタイムO
S上で動作する組込用ウィンドウシステムを搭載し、こ
の上で複数のウィンドウアプリケーションタスクを動作
させ、各々がランダムに描画を行うように、ダブルバッ
ファ制御を行う表示装置について説明する。(First Embodiment) In a first embodiment of the present invention, a real-time O
A description will be given of a display device equipped with a built-in window system that operates on the S, executes a plurality of window application tasks on the window system, and performs double-buffer control so that each performs random drawing.
【0027】<概要>本実施の形態としての表示装置
は、複写機やカメラ等の液晶等の表示デバイスを有し、
リアルタイムOS上で動作する組込用ウィンドウシステ
ムを搭載し、非同期なタイミングで書込用VRAM上の
指定された座標へのプリミティブな描画を行う描画機構
と、一連の描画命令実行中のウィンドウ数をカウントす
る描画要求カウント機構と、描画要求カウント機構のカ
ウントするウィンドウ数が無から有に変化した時点から
プリミティブな挿画による更新領域情報を累積し矩形情
報として保持する更新矩形累積機構と、描画要求カウン
ト機構のカウントするウィンドウ数が有から無に変化し
た時点で書込用VRAMと表示用VRAMを切換えか
つ、更新矩形累積機構で累積した矩形情報で示されるイ
メージ領域のみを表示用VRAMから書込用VRAMに
転送するダブルバッファ切換え機構を具備する。組込用
ウィンドウシステムから描画要求命令があると、描画要
求カウント機構はカウントするウィンドウ数(初期値=
0)を1つ増加させ、カウントするウィンドウ数が無か
ら有に変化した時点で更新矩形累積機構で管理する累積
矩形情報をクリアする。次に、組込用ウィンドウシステ
ムから一連の描画命令がコールされると、描画機構は書
込用VRAM上の指定された座標へのプリミティブな
(ウィンドウの重なり、位置、クリッピング情報を必要
としないVRAMに対する絶対座標指定による点、平行
線、垂直線、ビットマップ)描画を行うと同時に、その
際の更新領域情報を更新矩形累積機構の管理する累積矩
形情報に追加する。最後に、組込用ウィンドウシステム
から、一連の描画が完了したことを示す描画完了命令が
あると、描画要求カウント機構はカウントするウィンド
ウ数を1つ減少させ、カウントするウィンドウ数が有か
ら無に変化した時点で、ダブルバッファ切換え機構を起
動する。ダブルバッファ切換え機構は、起動されると書
込用VRAMと表示用VRAMを切換えかつ、更新矩形
累積機構で管理する累積矩形情報で示されるイメージ領
域のみを表示用VRAM(最新描画結果を保持)から書
込用VRAMに転送する。<Overview> The display device according to the present embodiment has a display device such as a liquid crystal display such as a copying machine or a camera.
A built-in window system that operates on a real-time OS is mounted, a drawing mechanism that performs primitive drawing at specified coordinates on a writing VRAM at asynchronous timing, and a number of windows during execution of a series of drawing commands. A drawing request counting mechanism for counting, an update rectangle accumulating mechanism for accumulating update area information by primitive insertion from the point in time when the number of windows counted by the drawing request counting mechanism changes from nothing to existence and holding the information as rectangle information, and a drawing request count The writing VRAM and the display VRAM are switched when the number of windows counted by the mechanism changes from existence to non-existence, and only the image area indicated by the rectangle information accumulated by the update rectangle accumulation mechanism is written from the display VRAM. A double buffer switching mechanism for transferring data to the VRAM is provided. When there is a drawing request command from the embedded window system, the drawing request counting mechanism counts the number of windows to be counted (initial value =
0) is incremented by one, and the accumulated rectangle information managed by the update rectangle accumulation mechanism is cleared when the number of windows to be counted changes from nothing to existence. Next, when a series of drawing commands are called from the built-in window system, the drawing mechanism performs primitive (window overlapping, position, VRAM that does not require clipping information) to the designated coordinates on the writing VRAM. (Points, parallel lines, vertical lines, bitmaps) by specifying the absolute coordinates with respect to, and at the same time, the update area information at that time is added to the accumulation rectangle information managed by the update rectangle accumulation mechanism. Finally, when there is a drawing completion command from the embedded window system indicating that a series of drawing has been completed, the drawing request counting mechanism decreases the number of windows to be counted by one, and the number of windows to be counted is changed from existence to none. At that point, the double buffer switching mechanism is activated. When activated, the double buffer switching mechanism switches between the write VRAM and the display VRAM, and switches only the image area indicated by the accumulated rectangle information managed by the updated rectangle accumulation mechanism from the display VRAM (holding the latest drawing result). Transfer to the write VRAM.
【0028】以上の機構を設けることで、組込用ウィン
ドウシステム上の複数のウィンドウアプリケーションタ
スクから描画要求命令があっても、描画要求カウント機
構により、ウィンドウ数が有の時は全てのウィンドウア
プリケーションタスクの描画命令は書込用VRAMに書
込まれ、ウィンドウ数が無になるまで表示デバイスに反
映されないので、ちらつきを抑えることを可能としてい
る。By providing the above mechanism, even if there are drawing request commands from a plurality of window application tasks on the embedded window system, when the number of windows is present, all the window application tasks are executed by the drawing request counting mechanism. Is written in the write VRAM and is not reflected on the display device until the number of windows becomes zero, so that flicker can be suppressed.
【0029】また、描画要求カウント機構によりウィン
ドウアプリケーションタスク間の描画の整合性は保たれ
るため、排他制御を行う必要がなく、ウィンドウアプリ
ケーションタスク1が描画を行っている途中に、非同期
なイベントでウィンドウアプリケーションタスク2にタ
スクスイッチした場合、ウィンドウアプリケーションタ
スク2は中断状態に遷移することなくそのまま描画を開
始し、描画完了後、ウィンドウアプリケーションタスク
1にタスクスイッチし元の描画を続行する。ウィンドウ
アプリケーションタスク1が描画を完了すると、描画要
求カウント機構のカウントするウィンドウ数が有から無
に変化し、ウィンドウアプリケーションタスク1及びウ
ィンドウアプリケーションタスク2の描画結果がまとめ
て表示デバイスに反映される。このように、無駄なタス
クスイッチが発生せずシステムの負荷を軽減することが
できる。Further, since the consistency of the drawing between the window application tasks is maintained by the drawing request counting mechanism, there is no need to perform exclusive control, and while the window application task 1 is drawing, an asynchronous event When the task is switched to the window application task 2, the window application task 2 starts drawing without transiting to the suspended state, and after the drawing is completed, switches the task to the window application task 1 and continues the original drawing. When the window application task 1 completes the drawing, the number of windows counted by the drawing request counting mechanism changes from existence to no existence, and the drawing results of the window application task 1 and the window application task 2 are collectively reflected on the display device. As described above, unnecessary task switching does not occur, and the load on the system can be reduced.
【0030】また、描画機構では、書込用VRAM上の
指定された座標へのプリミティブな(ウィンドウの重な
り、位置、クリッピング情報を必要としないVRAMに
対する絶対座標指定による点、平行線、垂直線、ビット
マップ)描画のみを行うので、ダブルバッファ切換えを
実現するために、更新矩形累積機構及びダブルバッファ
切換え機構でも、ウィンドウの重なり、位置、クリッピ
ング情報を必要としない。このため、市販の組込用ウィ
ンドウシステムを利用することが容易である。In the drawing mechanism, primitives (points, parallel lines, vertical lines, and the like based on the absolute coordinates specified for a VRAM that does not require clipping information, and the primitive (window overlapping, position, clipping information) (Bitmap) Since only drawing is performed, the overlapping rectangle position, the position, and the clipping information are not required even in the update rectangle accumulation mechanism and the double buffer switching mechanism in order to realize the double buffer switching. Therefore, it is easy to use a commercially available window system for installation.
【0031】<具体的な構成>図1は、本実施の形態に
係る表示装置の概略構成を示すブロック図である。<Specific Configuration> FIG. 1 is a block diagram showing a schematic configuration of a display device according to the present embodiment.
【0032】図1において、表示装置100は、CPU
バス200に、CPU210、ROM220、RAM3
00、操作ボタン110、及び表示デバイス900が接
続された構成となっている。In FIG. 1, a display device 100 has a CPU
CPU 210, ROM 220, RAM 3
00, operation buttons 110, and a display device 900 are connected.
【0033】これらの内、ROM220には、ダブルバ
ッファ制御部400、組込用ウィンドウシステム31
0、ウィンドウアプリケーションタスク320及びウィ
ンドウアプリケーションタスク330用のオブジェクト
コードが格納され、リアルタイムOS及びRAM300
上に展開される。CPU210にリセットがかかると、
ROM220上のオブジェクトコードの内、ダブルバッ
ファ制御部400、組込用ウィンドウシステム310、
ウィンドウアプリケーションタスク320及びウィンド
ウアプリケーションタスク330に対応するコードがR
AM300にコピーされ、ROM220上のリアルタイ
ムOSが立ち上がり、さらに、RAM300上で組込用
ウィンドウシステム310が立ち上がる。Of these, the ROM 220 has a double buffer control unit 400 and a window system 31 for embedding.
0, object codes for the window application task 320 and the window application task 330 are stored, and the real-time OS and the RAM 300
Expanded above. When the CPU 210 is reset,
Among the object codes on the ROM 220, the double buffer control unit 400, the window system 310 for embedding,
The code corresponding to the window application task 320 and the window application task 330 is R
The data is copied to the AM 300, the real-time OS on the ROM 220 is started, and the window system for embedding 310 is started on the RAM 300.
【0034】ダブルバッファ制御部400においては、
最初にダブルバッファ切換部800を起動し、ウィンド
ウアプリケーションタスク320及びウィンドウアプリ
ケーションタスク330の描画結果を表示するためVR
AM801及びVRAM802をクリアし、表示切換8
04によりVRAM801を表示用VRAM、書込切換
803によりVRAM802を書込用VRAMにマッピ
ングする。この段階で、描画のためのウィンドウアプリ
ケーションタスク320及びウィンドウアプリケーショ
ンタスク330が、組込用ウィンドウシステム310上
で起動される。In the double buffer control unit 400,
First, the double buffer switching unit 800 is activated, and VR for displaying the drawing results of the window application task 320 and the window application task 330 is displayed.
AM 801 and VRAM 802 are cleared and display switching 8
04 maps the VRAM 801 to the display VRAM, and the write switch 803 maps the VRAM 802 to the write VRAM. At this stage, a window application task 320 and a window application task 330 for drawing are activated on the embedded window system 310.
【0035】ウィンドウアプリケーションタスク320
及びウィンドウアプリケーションタスク330は、一連
のウィンドウ操作命令340及びウィンドウ内描画命令
350による描画を開始する前に描画要求命令407に
より描画要求カウント部700を起動し、一連の描画を
終了した後に描画完了命令408により描画要求カウン
ト部700を起動する。Window application task 320
The window application task 330 activates the drawing request counting unit 700 by the drawing request command 407 before starting drawing by the series of window operation commands 340 and the drawing command 350 in the window, and after completing the series of drawing, the drawing completion command. In step 408, the drawing request count unit 700 is activated.
【0036】描画要求カウント部700は、内部で保持
している描画要求カウンタ701をインクリメントし、
0→1に変化した場合は、更新開始イベント401によ
り更新矩形累積部600を起動する。複数のウィンドウ
アプリケーションタスクから描画要求命令407を受け
ると、描画要求カウンタ701はその度に1加算され
る。The drawing request counter 700 increments the drawing request counter 701 held therein,
When the number has changed from 0 to 1, the update rectangle accumulation unit 600 is activated by the update start event 401. When the drawing request command 407 is received from a plurality of window application tasks, the drawing request counter 701 is incremented by one each time.
【0037】なおここで、描画要求カウント部700
は、描画要求カウンタ701を用いて、現在一連の描画
を行っているウィンドウ数をカウントしているが、カウ
ントの方法を数値カウンタに限定するものではない。例
えば、スタックの増減を用いて、ウィンドウ数の有無を
管理することも可能である。Here, the drawing request counting section 700
Uses the drawing request counter 701 to count the number of windows that are currently performing a series of drawing, but the counting method is not limited to the numerical counter. For example, it is also possible to manage the presence / absence of the number of windows by using the increase and decrease of the stack.
【0038】更新矩形累積部600は、内部で保持して
いる累積矩形情報405をクリアする。また、更新矩形
累積部600は、描画部500からプリミティブな描画
の度に起動され、描画によって更新された矩形領域を示
す更新領域情報403を受け取り、累積矩形情報405
に加算し累積していく。The update rectangle accumulation section 600 clears the accumulation rectangle information 405 held therein. The update rectangle accumulating unit 600 is activated each time a primitive drawing is performed from the drawing unit 500, receives update region information 403 indicating a rectangular region updated by drawing, and receives cumulative rectangle information 405.
Is added to and accumulated.
【0039】描画要求命令407発行後には、ウィンド
ウアプリケーションタスク320及びウィンドウアプリ
ケーションタスク330において、一連の描画命令(ウ
ィンドウ操作命令340やウィンドウ内描画命令35
0)が発行される。通常、この一連の描画命令は、組込
用ウィンドウシステム310において、ウィンドウの重
なり等によりクリッピングされた後、最下層で、プリミ
ティブな描画要求(点、水平線、垂直線、ビットマップ
処理要求)に分解される。これを一般化したものが描画
命令406である。描画部500は、描画命令406に
より起動され、書込用VRAM(現状VRAM802が
マッピングされている)に対し、要求されたプリミティ
ブな描画(点描画処理、水平線描画処理、垂直線描画処
理、ビットマップ描画処理)を行う。これと同時に、更
新矩形累積部600を起動し、プリミティブな描画毎に
描画による更新領域情報403の累積を依頼する。After issuing the drawing request command 407, the window application task 320 and the window application task 330 execute a series of drawing commands (the window operation command 340 and the in-window drawing command 35).
0) is issued. Normally, this series of drawing commands are clipped by the embedded window system 310 due to overlapping windows, and then decomposed into primitive drawing requests (points, horizontal lines, vertical lines, bitmap processing requests) at the bottom layer. Is done. The rendering command 406 is a generalization of this. The drawing unit 500 is activated by the drawing command 406 and requested primitive drawing (point drawing processing, horizontal line drawing processing, vertical line drawing processing, bitmap processing) for the write VRAM (the current VRAM 802 is mapped). Rendering processing). At the same time, the update rectangle accumulator 600 is activated, and a request is made to accumulate the update area information 403 by drawing for each primitive drawing.
【0040】ウィンドウアプリケーションタスク320
及びウィンドウアプリケーションタスク330は、一連
のウィンドウ操作命令340及びウィンドウ内描画命令
350による描画が終了した後に、描画完了命令408
により描画要求カウント部700を起動する。Window application task 320
The window application task 330 executes a drawing completion command 408 after a series of window operation commands 340 and drawing in a window drawing command 350 are completed.
Activates the drawing request counting unit 700.
【0041】描画要求カウント部700は、描画要求カ
ウンタ701をデクリメントし、1→0に変化した場合
は、ダブルバッファ切換部800を起動する。描画要求
カウント部700では、複数のウィンドウアプリケーシ
ョンタスクから描画要求命令407を受けている場合、
描画完了命令408を受けても、描画要求カウンタ70
1が1→0になるまで、表示デバイス900に描画結果
は反映されないことが保証される。The drawing request count unit 700 decrements the drawing request counter 701 and activates the double buffer switching unit 800 when it changes from 1 to 0. In the drawing request counting unit 700, when receiving a drawing request command 407 from a plurality of window application tasks,
Even when the drawing completion command 408 is received, the drawing request counter 70
Until 1 changes from 1 to 0, it is guaranteed that the drawing result is not reflected on the display device 900.
【0042】ダブルバッファ切換部800は、表示切換
部804によりVRAM802を表示用VRAM、書込
切換部803によりVRAM801を書込用VRAMに
マッピングすることで、書込用VRAMと表示用VRA
Mのマッピングを入れ換える。図1の場合、VRAM8
01に描画された最新の結果を表示デバイス900に反
映させる。さらに、それ以降、書込用VRAMとしてマ
ッピングされたVRAM802への描画を可能にするた
め、更新矩形累積部600から累積更新情報405を獲
得し、その領域のみ表示用VRAM(図1ではVRAM
801がマッピングされている)から、書込用VRAM
(図1ではVRAM802がマッピングされている)に
イメージを転送する。The double buffer switching section 800 maps the VRAM 802 to the display VRAM by the display switching section 804 and maps the VRAM 801 to the write VRAM by the write switching section 803.
Swap the mapping of M. In the case of FIG.
01 is reflected on the display device 900. Further, thereafter, in order to enable drawing on the VRAM 802 mapped as the write VRAM, the cumulative update information 405 is obtained from the update rectangle accumulating unit 600, and only that area is displayed in the display VRAM (VRAM in FIG. 1).
801 is mapped), the write VRAM
(The VRAM 802 is mapped in FIG. 1).
【0043】以上の結果、組込用ウィンドウシステム3
10上の複数のウィンドウアプリケーションタスク32
0,330から描画要求命令407があっても、描画要
求カウント部700により、描画要求カウンタ701の
値が0以外の時は全てのウィンドウアプリケーションタ
スク320,330の描画命令406は書込用VRAM
に書き込まれ、描画要求カウンタ701の値が0になる
まで表示デバイス900に反映させないことで、ちらつ
きを抑えることを可能とし、また、描画要求カウント部
700によりウィンドウアプリケーションタスク32
0,330間の描画の整合性は保たれるため、排他制御
を行う必要がなく、ウィンドウアプリケーションタスク
320が描画を行っている途中に、非同期なイベントで
ウィンドウアプリケーションタスク330にタスクスイ
ッチした場合、ウィンドウアプリケーションタスク33
0は中断状態に遷移することなくそのまま描画を開始
し、描画完了後、ウィンドウアプリケーションタスク3
20にタスクスイッチし元の描画を続行する。ウィンド
ウアプリケーションタスク320が描画を完了すると、
描画要求カウント部700の描画要求カウンタ701の
値が1から0に変化し、ウィンドウアプリケーションタ
スク320及びウィンドウアプリケーションタスク33
0の描画結果がまとめて表示デバイス900に反映され
る。このように、無駄なタスクスイッチが発生せずシス
テムの負荷を軽減することを可能とし、また、描画部5
00では、書込用VRAM上の指定された座標へのプリ
ミティブな(ウィンドウの重なり、位置、クリッピング
情報を必要としないVRAMに対する絶対座標指定によ
る点、平行線、垂直線、ビットマップ)描画のみを行う
ので、ダブルバッファ切換えを実現するために、更新矩
形累積部600及びダブルバッファ切換部800でも、
ウィンドウの重なり、位置、クリッピング情報を必要と
しない。このため、市販の組込用ウィンドウシステム3
10を容易に利用することができる。As a result, the embedded window system 3
Multiple Window Application Tasks 32 on 10
Even if there is a drawing request command 407 from 0, 330, when the value of the drawing request counter 701 is other than 0, the drawing command 406 of all the window application tasks 320, 330 is written by the drawing request counting unit 700.
Is not reflected on the display device 900 until the value of the drawing request counter 701 becomes 0, thereby making it possible to suppress flickering.
Since the consistency of the drawing between 0 and 330 is maintained, there is no need to perform exclusive control, and when the window application task 320 switches to the window application task 330 by an asynchronous event during drawing, Window application task 33
0 starts the drawing as it is without transition to the suspended state, and after the drawing is completed, the window application task 3
The task is switched to 20, and the original drawing is continued. When the window application task 320 completes drawing,
The value of the drawing request counter 701 of the drawing request counting unit 700 changes from 1 to 0, and the window application task 320 and the window application task 33
0 drawing results are collectively reflected on the display device 900. In this way, it is possible to reduce the load on the system without generating useless task switches.
00, only primitive (points, parallel lines, vertical lines, and bitmaps, designated by absolute coordinates for a VRAM that does not require clipping information, to a specified coordinate on a write VRAM) are drawn. Therefore, in order to realize double buffer switching, the update rectangle accumulating unit 600 and the double buffer switching unit 800
Does not require window overlap, position, or clipping information. For this reason, commercially available window systems for embedded 3
10 can be easily used.
【0044】つまり、本実施の形態は、リアルタイムO
S上で動作する市販の組込用マルチウィンドウシステム
を利用して、ウィンドウ単位の描画の排他制御を意識す
ることなく、効率的にダブルバッファの切換えを行い、
描画時のちらつきを抑えたダブルバッファ制御が可能に
なる。本システムを実現するためには、専用のハードウ
ェアを新規に開発する必要はなく、一般的な安価なダブ
ルバッファをサポートしたビデオコントローラを用いる
のみでよく、それ以外は全てソフトウェアで実現可能で
あり、低コストで効率的な組込ウィンドウシステムのダ
ブルバッファ制御を実現することができる。That is, this embodiment is a real-time O
Using a commercially available embedded multi-window system that operates on S, it is possible to switch the double buffer efficiently without being aware of exclusive control of drawing in window units.
Double-buffer control that suppresses flickering during drawing becomes possible. In order to realize this system, it is not necessary to develop new dedicated hardware, only a general-purpose inexpensive video controller supporting a double buffer is required, and all other parts can be realized by software. In addition, low cost and efficient double buffer control of the embedded window system can be realized.
【0045】以下、本実施の形態について、図面に基づ
きさらに詳細に説明する。Hereinafter, the present embodiment will be described in more detail with reference to the drawings.
【0046】<初期化処理>図2、図3を用いて、ダブ
ルバッファ切換部800の初期化処理について説明す
る。<Initialization Processing> The initialization processing of the double buffer switching unit 800 will be described with reference to FIGS.
【0047】図2はVRAM801,VRAM802の
格納情報を示す図である。FIG. 2 is a diagram showing information stored in the VRAMs 801 and 802.
【0048】1番地(1byte)が1ピクセルの情報
を表し、ベース番地から相対的に0番地から30719
9番地を有することで、幅640、高さ480の画像イ
メージを格納することができる。VRAM801のベー
ス番地は、VRAM1_TOPで表され、100000
番地である。VRAM802のベース番地は、VRAM
2_TOPで表され500000番地である。An address (1 byte) represents information of one pixel, and is relatively shifted from an address 0 to 30719 from a base address.
By having the address 9, an image having a width of 640 and a height of 480 can be stored. The base address of the VRAM 801 is represented by VRAM1_TOP and 100000
Address. The base address of VRAM 802 is VRAM
It is represented by 2_TOP and is at address 500,000.
【0049】各番地(ピクセル)には、0〜255のカ
ラーインデックス値が16進数で格納され、このカラー
インデックス値により、256色を表現する。例えば、
図2では、0番地にカラーインデックス01が格納され
ているが、これは、(x,y)=(0,0)の座標の画
像の色が、ブラウンであることを示している。At each address (pixel), a color index value of 0 to 255 is stored in hexadecimal notation, and 256 colors are expressed by the color index value. For example,
In FIG. 2, the color index 01 is stored at address 0, which indicates that the color of the image at the coordinates of (x, y) = (0, 0) is brown.
【0050】図3は図1中のダブルバッファ切換部80
0の初期化処理を示すフローチャートである。FIG. 3 shows the double buffer switching section 80 in FIG.
11 is a flowchart showing initialization processing of 0.
【0051】ダブルバッファ切換部800の初期化を行
い、ウィンドウアプリケーションタスク320及びウィ
ンドウアプリケーションタスク330の描画結果を表示
するため、VRAM801及びVRAM802をクリア
し、表示切換部804によりVRAM801を表示用V
RAM、書込切換部803によりVRAM802を書込
用VRAMにマッピングする。The VRAM 801 and VRAM 802 are cleared in order to initialize the double buffer switching unit 800 and display the drawing results of the window application task 320 and the window application task 330, and the VRAM 801 is displayed by the display switching unit 804.
The RAM / write switching unit 803 maps the VRAM 802 to the write VRAM.
【0052】以下ステップを追って説明する。本処理は
割込禁止で実行する。まず、変数VRAM1_TOPに
VRAM801の物理ベースアドレス100000を代
入する(ステップS811)。次に、変数VRAM2_
TOPにVRAM802の物理ベースアドレス5000
00を代入する(ステップS812)。次に、書込用V
RAM幅に640を代入する(ステップS813)。次
に、表示用VRAM幅に640を代入する(ステップS
814)。次にVRAM801をクリアする(ステップ
S815)。次にVRAM802をクリアする(ステッ
プS816)。次に、同期にOKをセットする(ステッ
プ817)。描画の結果、VRAM801とVRAM8
02に相違が生じている場合は、同期には、DIRTY
がセットされる。次に、書込用VRAMベース番地にV
RAM2_TOPをセットする(ステップS818)。
次に、書込用VRAMをVRAM802とすることで書
込切換部803を切換えマッピングする(ステップS8
19)。次に、表示用VRAMベース番地にVRAM1
_TOPをセットする(ステップS820)。次に、表
示用VRAMをVRAM801とすることで表示切換部
804を切換えマッピングする(ステップS819)。The steps will be described below. This process is executed without interrupts. First, the physical base address 100000 of the VRAM 801 is substituted for the variable VRAM1_TOP (step S811). Next, the variable VRAM2_
The physical base address 5000 of VRAM802 in TOP
00 is substituted (step S812). Next, write V
640 is substituted for the RAM width (step S813). Next, 640 is substituted for the display VRAM width (step S
814). Next, the VRAM 801 is cleared (step S815). Next, the VRAM 802 is cleared (step S816). Next, OK is set for synchronization (step 817). As a result of drawing, VRAM 801 and VRAM 8
02, there is a DIRTY
Is set. Next, V is set to the write VRAM base address.
RAM2_TOP is set (step S818).
Next, the write switching unit 803 is switched and mapped by setting the write VRAM to the VRAM 802 (step S8).
19). Next, VRAM1 is set in the display VRAM base address.
_TOP is set (step S820). Next, the display switching unit 804 is switched and mapped by setting the display VRAM to the VRAM 801 (step S819).
【0053】<点描画処理>図4は図1中の描画部50
0で行われる点描画処理を示すフローチャートである。
描画命令406により起動され、指定されたx座標、y
座標、RGBカラー値で書込用VRAM中に点を描画
し、最後に点描画によって更新された更新領域情報40
3を累積矩形情報405に追加するため、更新矩形累積
部600を起動する。<Point Drawing Processing> FIG. 4 shows the drawing unit 50 in FIG.
9 is a flowchart showing a point drawing process performed at 0.
Activated by the drawing command 406, the designated x coordinate, y
A point is drawn in the writing VRAM with the coordinates and the RGB color values, and finally the updated area information 40 updated by the point drawing
In order to add 3 to the accumulated rectangle information 405, the update rectangle accumulation unit 600 is started.
【0054】以下ステップを追って説明する。まず、指
定されたRGBカラー値をカラーインデックス値に変換
する(ステップS560)。次に、書込用VRAM幅と
指定されたx座標、y座標から描画オフセット番地を求
める(ステップS511)。次に、書込用VRAMベー
ス番地とステップS511でセットした描画オフセット
番地の和を求め、描画番地にセットする(ステップS5
12)。次に、描画番地の指し示すポインタの内容をス
テップS560で獲得したカラーインデックス値に更新
する(ステップS513)。ステップS513が書込用
VRAM上の指定座標への点描画に相当する。最後に、
描画により更新した更新領域情報403を累積矩形情報
405に追加するため、更新矩形累積部600を起動
し、交信領域追加処理を行う(ステップS620)。こ
の際のパラメータとして、点を含む領域を指定するの
で、AddUpdateRect(x座標,y座標,1,1)という
呼び出しシーケンスをとる。The steps will be described below. First, the designated RGB color values are converted into color index values (step S560). Next, a drawing offset address is obtained from the write VRAM width and the designated x-coordinate and y-coordinate (step S511). Next, the sum of the VRAM base address for writing and the drawing offset address set in step S511 is obtained and set to the drawing address (step S5).
12). Next, the content of the pointer indicating the drawing address is updated to the color index value obtained in step S560 (step S513). Step S513 corresponds to point drawing at the designated coordinates on the writing VRAM. Finally,
In order to add the updated area information 403 updated by drawing to the accumulated rectangle information 405, the updated rectangle accumulation unit 600 is activated and communication area addition processing is performed (step S620). Since a region including a point is designated as a parameter at this time, a calling sequence of AddUpdateRect (x coordinate, y coordinate, 1, 1) is used.
【0055】次に、ステップS560で行われるカラー
インデックス獲得処理について、さらに詳しく説明す
る。Next, the color index acquisition processing performed in step S560 will be described in more detail.
【0056】図5はカラーパレット情報を示す図であ
る。PaletteRGB配列を格納してあり、256
色のカラーインデックスをPaletteRGB配列の
添字として指定することで、RGB各256階調のRG
Bカラー値を取得することができる。PaletteR
GB配列を示すカラーインデックス値は、VRAM80
1及びVRAM802の各ピクセルの色データに相当す
る。FIG. 5 is a diagram showing color pallet information. Stores the Palette RGB array and 256
By specifying the color index of a color as a subscript of the Palette RGB array, RGB RGB
The B color value can be obtained. PaletteR
The color index value indicating the GB array is the VRAM80
1 and the color data of each pixel of the VRAM 802.
【0057】図6はカラーインデックス獲得処理を示す
フローチャートである。この処理は、点描画処理、水平
線描画処理、垂直線描画処理によって起動される。指定
されたRGBカラー値をカラーインデックス値に変換し
てリターン値として返す。以下ステップを追って説明す
る。まず、カラーインデックス上限値を255にセット
する(ステップS561)。カラーインデックスに0を
セットする(ステップS562)。次に、図5のテーブ
ルを用いて、指定されたRGBカラー値とPalett
eRGB[カラーインデックス]を比較する(ステップ
S564)。FIG. 6 is a flowchart showing the color index acquisition process. This process is started by a point drawing process, a horizontal line drawing process, and a vertical line drawing process. The specified RGB color value is converted into a color index value and returned as a return value. The steps will be described below. First, the color index upper limit value is set to 255 (step S561). The color index is set to 0 (step S562). Next, using the table of FIG. 5, the designated RGB color value and Palette
The eRGB [color index] is compared (step S564).
【0058】ステップS564で等しくなければ次のカ
ラーインデックスを検索するため、カラーインデックス
をインクリメントする(ステップS565)。0からカ
ラーインデックス上限値までこれらステップS564,
565を繰り返す。ステップS564で等しければ、繰
り返しを終了し、一致した現在のカラーインデックスを
リターン値として返す(ステップS566)。If not equal in step S564, the color index is incremented to search for the next color index (step S565). From step 0 to the color index upper limit, these steps S564,
Repeat 565. If they are equal in step S564, the repetition is terminated, and the matched current color index is returned as a return value (step S566).
【0059】また、さらにここで、図4のステップS6
20における更新領域追加処理について、詳細に説明す
る。Further, here, step S6 in FIG.
The update area adding process in 20 will be described in detail.
【0060】図7は更新矩形領域累積部600の更新領
域追加処理を示すフローチャートである。組込用ウィン
ドウシステム310からの一連の描画命令406を起因
として、描画部500における点描画処理、水平線描画
処理、垂直線描画処理又はビットマップ描画処理により
起動され、プリミティブな描画毎に描画による更新領域
情報403(開始x座標、開始y座標、幅、高さ)を、
累積矩形情報405(矩形開始x座標、矩形開始y座
標、矩形幅、矩形高さ)に加算し、2つの矩形を含む1
矩形を求める。但し、座標系は左上を(x,y)=
(0,0)原点とし、右下方向にプラス成長する。矩形
は左上を開始点(x,y)とし、右下方向に幅、高さを
とる。従って、開始x座標、開始y座標、幅、高さ、矩
形開始x座標、矩形開始y座標、矩形幅、矩形高さは、
いずれもマイナス値にならないこととする。FIG. 7 is a flowchart showing an update area adding process of the update rectangular area accumulation unit 600. The drawing unit 500 is activated by a point drawing process, a horizontal line drawing process, a vertical line drawing process, or a bitmap drawing process in the drawing unit 500 due to a series of drawing commands 406 from the embedded window system 310, and is updated by drawing for each primitive drawing. The area information 403 (start x coordinate, start y coordinate, width, height)
Add to the cumulative rectangle information 405 (rectangle start x coordinate, rectangle start y coordinate, rectangle width, rectangle height), and include 1 including two rectangles
Find a rectangle. However, in the coordinate system, (x, y) =
With the origin at (0,0), it grows positively in the lower right direction. The rectangle has a starting point (x, y) at the upper left and a width and height in the lower right direction. Therefore, the start x coordinate, start y coordinate, width, height, rectangle start x coordinate, rectangle start y coordinate, rectangle width, and rectangle height are:
Neither should be a negative value.
【0061】以下ステップを追って説明する。本処理は
割込禁止で実行する。まず、矩形幅又は矩形高さが0と
等しいか比較する(ステップS621)。ステップS6
21で等しい場合、累積矩形情報405をクリアした
後、初回の更新領域追加と判断し、累積矩形情報405
(矩形開始x座標、矩形開始y座標、矩形幅、矩形高
さ)に、更新領域情報403(開始x座標、開始y座
標、幅、高さ)をそれぞれ代入し処理を終了する(ステ
ップS622,623,624,625)。ステップS
621で等しくない場合、すでに累積矩形情報405に
有効な値が入っていると判断し、以下の加算処理を行
う。まず、引数で渡される更新領域情報403(開始x
座標、開始y座標、幅、高さ)と、すでに保持している
累積矩形情報405(矩形開始x座標、矩形開始y座
標、矩形幅、矩形高さ)から、新規追加矩形(開始x座
標、開始y座標、終了x座標、終了y座標)と既存累積
矩形(矩形開始x座標、矩形開始y座標、矩形終了x座
標、矩形終了y座標)を求める(ステップS626,6
27,628,629)。次に、既存累積矩形=既存累
積矩形+新規追加矩形の演算を行う(ステップS630
からS639)。この演算は、まず、矩形開始x座標を
求める(ステップS630,ステップS631)。次
に、矩形開始y座標を求める(ステップS632,ステ
ップS633)。次に、矩形終了x座標を求める(ステ
ップS634,ステップS635)。次に、矩形終了x
座標とステップS630,631で求めた矩形開始x座
標から矩形幅を求める(ステップS636)。次に、矩
形終了y座標を求める(ステップS637,ステップS
638)。次に、矩形終了y座標とステップS632,
ステップS633で求めた矩形開始y座標から矩形高さ
を求める(ステップS636)。以上で加算結果は、累
積矩形情報405(矩形開始x座標、矩形開始y座標、
矩形幅、矩形高さ)に格納されたことになる。The steps will be described below. This process is executed without interrupts. First, it is compared whether the rectangular width or the rectangular height is equal to 0 (step S621). Step S6
If they are equal to each other, the accumulated rectangle information 405 is cleared, and then it is determined that the update area is to be added for the first time.
The update area information 403 (start x coordinate, start y coordinate, width, height) is substituted for (rectangle start x coordinate, rectangle start y coordinate, rectangle width, rectangle height), and the process ends (step S622, step S622). 623, 624, 625). Step S
If they are not equal in 621, it is determined that a valid value has already been entered in the accumulated rectangle information 405, and the following addition processing is performed. First, the update area information 403 (start x
From the coordinates, start y coordinate, width, height and the accumulated rectangle information 405 (rectangle start x coordinate, rectangle start y coordinate, rectangle width, rectangle height) already stored, a newly added rectangle (start x coordinate, A start y coordinate, an end x coordinate, and an end y coordinate) and an existing cumulative rectangle (rectangle start x coordinate, rectangle start y coordinate, rectangle end x coordinate, rectangle end y coordinate) are obtained (steps S626, S6).
27,628,629). Next, the calculation of the existing cumulative rectangle = the existing cumulative rectangle + the newly added rectangle is performed (step S630).
To S639). In this calculation, first, a rectangle start x coordinate is obtained (steps S630 and S631). Next, a rectangle start y coordinate is obtained (step S632, step S633). Next, a rectangle end x coordinate is obtained (step S634, step S635). Next, end rectangle x
A rectangle width is determined from the coordinates and the rectangle start x coordinate determined in steps S630 and 631 (step S636). Next, a rectangle end y coordinate is obtained (step S637, step S637).
638). Next, the rectangle end y coordinate and step S632,
A rectangle height is obtained from the rectangle start y coordinate obtained in step S633 (step S636). As described above, the addition result is the cumulative rectangle information 405 (rectangle start x coordinate, rectangle start y coordinate,
(Rectangle width, rectangle height).
【0062】<水平線描画処理>図8は水平線描画処理
を示すフローチャートである。描画命令406により起
動される。指定されたx座標、y座標、長さ、RGBカ
ラー値で書込用VRAM中に水平線を描画し、最後に水
平線描画によって更新された更新領域情報403を累積
矩形情報405に追加するため、更新矩形累積部600
を起動する。<Horizontal Line Drawing Process> FIG. 8 is a flowchart showing the horizontal line drawing process. It is started by a drawing command 406. A horizontal line is drawn in the writing VRAM with the specified x-coordinate, y-coordinate, length, and RGB color value. Finally, the update area information 403 updated by the horizontal line drawing is added to the accumulated rectangle information 405. Rectangle accumulator 600
Start
【0063】以下ステップを追って説明する。まず、指
定されたRGBカラー値を、図6で示したようにカラー
インデックス値に変換する(ステップS560)。次
に、書込用VRAM幅と指定されたx座標、y座標から
描画オフセット番地を求める(ステップS521)。次
に、書込用VRAMベース番地とステップS521でセ
ットした描画オフセット番地の和を求め、描画番地にセ
ットする(ステップS522)。次に、指定された長さ
分だけ以下の処理(ステップS524,525)を繰り
返す(ステップS523)。描画番地の指し示すポイン
タの内容をステップS560で獲得したカラーインデッ
クス値に更新する(ステップS524)。ステップS5
24が書込用VRAM上の指定座標への点描画に相当
し、これを繰り返すことで線描画となる。繰り返しのた
めに描画番地をインクリメントする(ステップS52
5)。繰り返しが完了したら、最後に、描画により更新
した更新領域情報403を累積矩形情報405に追加す
るため、更新矩形累積部600を起動し、図7で示した
ように更新領域追加処理を行う(ステップS620)。
この処理では、パラメータとして、水平線を含む領域を
指定するので、AddUpdateRect(x座標,y座標,長
さ,1)という呼び出しシーケンスをとる。The steps will be described below. First, the designated RGB color values are converted into color index values as shown in FIG. 6 (step S560). Next, a drawing offset address is obtained from the write VRAM width and the designated x-coordinate and y-coordinate (step S521). Next, the sum of the VRAM base address for writing and the drawing offset address set in step S521 is obtained and set to the drawing address (step S522). Next, the following processing (steps S524 and 525) is repeated for the designated length (step S523). The content of the pointer indicating the drawing address is updated to the color index value acquired in step S560 (step S524). Step S5
Reference numeral 24 corresponds to point drawing at designated coordinates on the writing VRAM, and by repeating this, line drawing is performed. The drawing address is incremented for repetition (step S52).
5). When the repetition is completed, finally, in order to add the update area information 403 updated by drawing to the cumulative rectangle information 405, the update rectangle accumulation unit 600 is activated, and the update area adding process is performed as shown in FIG. S620).
In this process, since a region including a horizontal line is specified as a parameter, a calling sequence of AddUpdateRect (x coordinate, y coordinate, length, 1) is used.
【0064】<垂直線描画処理>図9は垂直線描画処理
を示すフローチャートである。描画命令406により起
動される。指定されたx座標、y座標、長さ、RGBカ
ラー値で書込用VRAM中に垂直線を描画し、最後に垂
直線描画によって更新された更新領域情報403を累積
矩形情報405に追加するため、更新矩形累積部600
を起動する。<Vertical Line Drawing Process> FIG. 9 is a flowchart showing the vertical line drawing process. It is started by a drawing command 406. To draw a vertical line in the write VRAM with the specified x-coordinate, y-coordinate, length, and RGB color value, and finally add the updated area information 403 updated by the vertical line drawing to the cumulative rectangle information 405 , Updated rectangle accumulator 600
Start
【0065】以下ステップを追って説明する。ます、指
定されたRGBカラー値を、図6で示したようにカラー
インデックス値に変換する(ステップS560)。次
に、書込用VRAM幅と指定されたx座標、y座標から
描画オフセット番地を求める(ステップS531)。次
に、書込用VRAMベース番地とステップS531でセ
ットした描画オフセット番地の和を求め、描画番地にセ
ットする(ステップS532)。次に、指定された長さ
分だけ以下の処理(ステップS534,535)を繰り
返す(ステップS533)。描画番地の指し示すポイン
タの内容をステップS560で獲得したカラーインデッ
クス値に更新する(ステップS534)。ステップS5
34が書込用VRAM上の指定座標への点描画に相当
し、これを繰り返すことで線描画となる。繰り返しのた
めに描画番地を書込用VRAM幅分インクリメントする
(ステップS535)。繰り返しが完了したら、最後
に、描画により更新した更新領域情報403を累積矩形
情報405に追加するため、更新矩形累積部600を起
動し、図7で示したように、更新領域追加処理を行う
(ステップS620)。この際のパラメータとして、垂
直線を含む領域を指定するので、AddUpdateRect(x座
標,y座標,1,長さ)という呼出しシーケンスをと
る。The steps will be described below. First, the designated RGB color values are converted into color index values as shown in FIG. 6 (step S560). Next, a drawing offset address is obtained from the write VRAM width and the designated x and y coordinates (step S531). Next, the sum of the VRAM base address for writing and the drawing offset address set in step S531 is obtained and set to the drawing address (step S532). Next, the following processing (steps S534 and 535) is repeated for the designated length (step S533). The content of the pointer indicating the drawing address is updated to the color index value obtained in step S560 (step S534). Step S5
Numeral 34 corresponds to point drawing at designated coordinates on the writing VRAM, and by repeating this, line drawing is performed. The drawing address is incremented by the write VRAM width for repetition (step S535). When the repetition is completed, finally, the update rectangle accumulation unit 600 is started to add the update area information 403 updated by drawing to the accumulation rectangle information 405, and the update area addition processing is performed as shown in FIG. 7 ( Step S620). Since a region including a vertical line is specified as a parameter at this time, a calling sequence called AddUpdateRect (x coordinate, y coordinate, 1, length) is used.
【0066】<ビットマップ描画処理>図10はビット
マップ描画処理を示すフローチャートである。描画命令
406により起動される。指定されたビットマップ幅、
ビットマップ高さ、ビットマップ先頭番地で示されたビ
ットマップを書込用VRAM中の指定されたx座標、y
座標にコピーし、最後にビットマップ描画によって更新
された更新領域情報403を累積矩形情報405に追加
するため、更新矩形累積部600(図13更新領域追加
処理)を起動する。<Bitmap Drawing Processing> FIG. 10 is a flowchart showing bitmap drawing processing. It is started by a drawing command 406. The specified bitmap width,
The bitmap height and the bitmap indicated by the bitmap head address are designated as x coordinates and y in the write VRAM.
In order to copy the coordinates to the coordinates and finally add the update area information 403 updated by the bitmap drawing to the accumulation rectangle information 405, the update rectangle accumulation unit 600 (the update area addition processing in FIG. 13) is activated.
【0067】以下ステップを追って説明する。まず、書
込用VRAM幅と指定されたx座標、y座標から描画オ
フセット番地を求める(ステップS541)。次に、書
込用VRAMベース番地とステップS541でセットし
た描画オフセット番地の和を求め、描画番地にセットす
る(ステップS542)。次に、転送元の指定されたビ
ットマップ先頭番地をカレントピクセル番地にセットす
る(ステップS543)。次に、指定されたビットマッ
プ高さ分だけ以下の処理(ステップS545,549)
を繰り返す(ステップS544)。さらに入れ子で、指
定されたビットマップ幅分だけ以下の処理(ステップS
546,547,548)を繰り返す(ステップS54
5)。描画番地の指し示すポインタの内容を、カレント
ピクセル番地の指し示すポインタの内容に更新する(ス
テップS546)。ステップS546が書込用VRAM
上の指定座標への1ピクセルコピーに相当し、これをビ
ットマップ幅及びビットマップ高さ分繰り返すことでビ
ットマップ描画となる。幅繰り返しのために、描画番地
をインクリメントし(ステップS547)カレントピク
セル番地をインクリメントする(ステップS548)。
また、高さ繰り返しのために、描画番地を書込用VRA
M幅分インクリメントして、指定されたビットマップ幅
分デクリメントする(ステップS549)。繰り返しが
完了したら、最後に、描画により更新した更新領域情報
403を累積矩形情報405に追加するため、更新矩形
累積部600を起動し、図7で示したように、更新領域
追加処理を行う(ステップS620)。この際のパラメ
ータとして、ビットマップを含む領域を指定するので、
DrawBitmap()(x座標,y座標,ビットマップ幅,ビッ
トマップ高さ)という呼び出しシーケンスをとる。The steps will be described below. First, a drawing offset address is obtained from the write VRAM width and the specified x and y coordinates (step S541). Next, the sum of the write VRAM base address and the drawing offset address set in step S541 is obtained, and set to the drawing address (step S542). Next, the start address of the designated bitmap of the transfer source is set to the current pixel address (step S543). Next, the following processing is performed for the designated bitmap height (steps S545 and 549).
Is repeated (step S544). Further, the following processing is performed by the nesting for the designated bitmap width (step S
546, 547, and 548) (Step S54)
5). The contents of the pointer indicating the drawing address are updated to the contents of the pointer indicating the current pixel address (step S546). Step S546 is the write VRAM
This corresponds to one pixel copy to the above designated coordinates, and by repeating this for the bitmap width and the bitmap height, bitmap drawing is performed. In order to repeat the width, the drawing address is incremented (step S547), and the current pixel address is incremented (step S548).
In order to repeat the height, the drawing address is written in the VRA for writing.
Increment by M width and decrement by the specified bitmap width (step S549). When the repetition is completed, finally, the update rectangle accumulation unit 600 is started to add the update area information 403 updated by drawing to the accumulation rectangle information 405, and the update area addition processing is performed as shown in FIG. 7 ( Step S620). Since the area including the bitmap is specified as a parameter at this time,
A calling sequence called DrawBitmap () (x coordinate, y coordinate, bitmap width, bitmap height) is taken.
【0068】<描画要求受付処理>図11は図1中の描
画要求カウント部700の描画要求受付処理を示すフロ
ーチャートである。<Drawing Request Accepting Process> FIG. 11 is a flowchart showing the drawing request accepting process of the drawing request counting unit 700 in FIG.
【0069】ウィンドウアプリケーションタスク320
及びウィンドウアプリケーションタスク330から一連
のウィンドウ操作命令340及びウィンドウ内描画命令
350に応じて、描画部500が描画を開始する前に、
描画要求命令407により描画要求カウント部が起動さ
れ、描画要求受付処理が行われる。内部で保持している
描画要求カウンタ701をインクリメントし、0→1に
変化した場合は、更新開始イベント401により更新矩
形累積部600に更新開始処理を行わせる。複数のウィ
ンドウアプリケーションタスクから描画要求命令407
を受けると、描画要求カウンタ701はその度に1加算
される。Window application task 320
And in response to the series of window operation instructions 340 and in-window drawing instructions 350 from the window application task 330, before the drawing unit 500 starts drawing,
The drawing request command unit 407 starts the drawing request counting unit, and performs a drawing request reception process. When the internally stored drawing request counter 701 is incremented and changes from 0 to 1, an update start event 401 causes the update rectangle accumulation unit 600 to perform update start processing. Drawing request command 407 from a plurality of window application tasks
Upon receiving this, the drawing request counter 701 is incremented by one each time.
【0070】以下ステップを追って説明する。本処理は
割込禁止で実行する。まず、描画要求カウンタ701を
インクリメントする(ステップS711)。次に、描画
要求カウンタ701が1と等しいか判断する(ステップ
S712)。ステップS712において等しくなけれ
ば、複数のウィンドウアプリケーションタスク320,
330から平行して描画要求命令407が来ていると判
断しそのまま処理を終了する。ステップS712におい
て等しければ、複数のウィンドウアプリケーションタス
ク320,330の内の1つからの最初の描画要求命令
407と判断し、以下の処理を実行する。まず、以降実
行される可能性のある描画命令406によって、書込用
VRAMと表示用VRAMのイメージは、一致しない可
能性があるので、同期をDIRTYにセットする(ステ
ップS713)。最後に、更新累積部600の更新開始
処理を起動することで、累積矩形情報405をクリアす
る(ステップS610)。The steps will be described below. This process is executed without interrupts. First, the drawing request counter 701 is incremented (step S711). Next, it is determined whether the drawing request counter 701 is equal to 1 (step S712). If not equal in step S712, the plurality of window application tasks 320,
It is determined that the drawing request command 407 has arrived in parallel from 330, and the processing is terminated as it is. If they are equal in step S712, it is determined as the first drawing request command 407 from one of the plurality of window application tasks 320 and 330, and the following processing is executed. First, since the image of the writing VRAM and the image of the display VRAM may not match due to the drawing command 406 that may be executed thereafter, the synchronization is set to DIRTY (step S713). Finally, by activating the update start process of the update accumulation unit 600, the accumulation rectangle information 405 is cleared (step S610).
【0071】図12は更新矩形領域累積部600の更新
開始処理を示すフローチャートである。描画要求カウン
ト部700において、描画要求カウンタ701をインク
リメントし、0→1に変化した場合に起動される。組込
用ウィンドウシステム310からの一連の描画命令40
6に応じた、描画部500における点描画処理、水平線
描画処理、垂直線描画処理、ビットマップ描画処理が開
始される前に、累積矩形情報405をクリアする。FIG. 12 is a flowchart showing the update start processing of the update rectangular area accumulator 600. The drawing request counter 700 is activated when the drawing request counter 701 is incremented and changes from 0 to 1. A series of drawing commands 40 from the built-in window system 310
Before the point drawing process, the horizontal line drawing process, the vertical line drawing process, and the bitmap drawing process in the drawing unit 500 according to 6 are started, the accumulated rectangle information 405 is cleared.
【0072】本処理は割込禁止で実行する。更新矩形累
積部600で保持している累積矩形情報405の矩形開
始x座標、矩形開始y座標、矩形幅、矩形高さを全て0
にセットする(ステップS611)。This process is executed without interrupts. The rectangle start x coordinate, rectangle start y coordinate, rectangle width, and rectangle height of the accumulated rectangle information 405 held by the update rectangle accumulation unit 600 are all 0.
(Step S611).
【0073】<描画完了受付処理>図13は図1中の描
画要求カウント部700の描画完了受付処理を示すフロ
ーチャートである。ウィンドウアプリケーションタスク
320及びウィンドウアプリケーションタスク330か
ら、一連のウィンドウ操作命令340及びウィンドウ内
描画命令350による描画が終了した後に、描画完了命
令408により起動される。描画要求カウンタ701を
デクリメントし、1→0に変化した場合は、ダブルバッ
ファ切換部800に切換処理を行わせる。複数のウィン
ドウアプリケーションタスクから描画要求命令407を
受けている場合、描画完了命令408を受けても、描画
要求カウンタ701が1→0になるまで、表示デバイス
900に描画結果は反映されないことが保証される。<Drawing Completion Accepting Process> FIG. 13 is a flowchart showing the drawing completion accepting process of the drawing request counting unit 700 in FIG. The window application task 320 and the window application task 330 are activated by a drawing completion command 408 after a series of window operation commands 340 and drawing in the window drawing command 350 are completed. When the drawing request counter 701 is decremented and changes from 1 to 0, the double buffer switching unit 800 performs a switching process. If the drawing request command 407 has been received from a plurality of window application tasks, it is guaranteed that even if the drawing completion command 408 is received, the drawing result is not reflected on the display device 900 until the drawing request counter 701 changes from 1 to 0. You.
【0074】以下ステップを追って説明する。本処理は
割込禁止で実行する。まず、描画要求カウンタ701を
デクリメントする(ステップS721)。次に、描画要
求カウンタ701が0と等しいか判断する(ステップS
722)。ステップS712において等しくなければ、
複数のウィンドウアプリケーションタスク320,33
0から平行して描画要求命令407が来ていると判断し
そのまま処理を終了する。ステップS722において等
しければ、複数のウィンドウアプリケーションタスク3
20,330の内の1つからの最後の描画完了命令40
8と判断し、ダブルバッファ切換部800の切換処理を
起動することで、書込用VRAMに描画された最新の結
果を、書込用VRAMと表示用VRAMのマッピングを
入れ換え、表示デバイス900に反映させる(ステップ
S830)。The steps will be described below. This process is executed without interrupts. First, the drawing request counter 701 is decremented (step S721). Next, it is determined whether the drawing request counter 701 is equal to 0 (step S).
722). If not equal in step S712,
Multiple window application tasks 320, 33
It is determined that the drawing request command 407 has arrived in parallel from 0, and the processing ends as it is. If equal in step S722, a plurality of window application tasks 3
Last drawing completion command 40 from one of 20, 330
8 and activates the switching process of the double buffer switching unit 800 to reflect the latest result drawn in the writing VRAM on the display device 900 by exchanging the mapping between the writing VRAM and the display VRAM. (Step S830).
【0075】次に、図13の切換処理(ステップS83
0)について、さらに詳しく説明する。Next, the switching process of FIG. 13 (step S83)
0) will be described in more detail.
【0076】図14はダブルバッファ切換部800の切
換処理を示すフローチャートである。描画要求カウント
部700において、描画要求カウンタ701をデクリメ
ントし、1→0に変化した場合に起動される。書込用V
RAMに描画された最新の結果を、書込用VRAMと表
示用VRAMのマッピングを入れ換えることで、表示デ
バイス900に反映させる。さらに、以降書込用VRA
MにマッピングされたVRAMを最新の描画結果を保持
した状態にするため、表示用VRAM(現状最新描画結
果保持)から、書込用VRAMにイメージを転送する。FIG. 14 is a flowchart showing the switching processing of double buffer switching section 800. In the drawing request counting unit 700, the drawing request counter 701 is decremented, and is started when it changes from 1 to 0. V for writing
The latest result drawn in the RAM is reflected on the display device 900 by exchanging the mapping between the writing VRAM and the display VRAM. Furthermore, the VRA for writing
To make the VRAM mapped to M hold the latest drawing result, the image is transferred from the display VRAM (currently holding the latest drawing result) to the writing VRAM.
【0077】以下ステップを追って説明する。本処理は
割込禁止で実行する。まず、書込用VRAMにVRAM
801がマッピングされているか判断する(ステップS
831)。書込用VRAMにVRAM801がマッピン
グされている場合、ステップS832,833,83
4,835により、書込用VRAMにVRAM802を
マッピングし、表示用VRAMにVRAM801をマッ
ピングするようにVRAMの切換えを行う。また、ステ
ップS831で、書込用VRAMにVRAM801がマ
ッピングされていない場合、ステップS836,83
7,838,839により、書込用VRAMにVRAM
801をマッピングし、表示用VRAMにVRAM80
2をマッピングすることでVRAMの切換えを行う。表
示用VRAMにマッピングされたVRAMのイメージ
は、この時点で表示デバイスに瞬時に反映される。最後
に、切換により書込用VRAMにマッピングされたVR
AMを、最新の描画結果を保持した状態にするため、表
示用VRAM(現状最新描画結果保持)から、書込用V
RAMにイメージを転送する(ステップS840)。The steps will be described below. This process is executed without interrupts. First, write VRAM to VRAM
It is determined whether or not 801 is mapped (step S
831). If the VRAM 801 is mapped to the write VRAM, steps S832, 833, 83
According to 4,835, the VRAM is switched so that the VRAM 802 is mapped to the write VRAM and the VRAM 801 is mapped to the display VRAM. If it is determined in step S831 that the VRAM 801 is not mapped to the write VRAM, the process proceeds to steps S835 and 83.
According to 7, 838, 839, the VRAM is
801 is mapped to VRAM 80 for display VRAM.
Switching of VRAM is performed by mapping 2. The VRAM image mapped to the display VRAM is instantly reflected on the display device at this point. Finally, the VR mapped to the write VRAM by switching
In order to make the AM hold the latest drawing result, the display VRAM (currently holding the latest drawing result) is read from the writing VRAM.
The image is transferred to the RAM (Step S840).
【0078】次に図14の転送処理(ステップS84
0)について、さらに詳しく説明する。図15はダブル
バッファ切換部800の転送処理(ステップS840)
を詳細に示すフローチャートである。Next, the transfer process of FIG. 14 (step S84)
0) will be described in more detail. FIG. 15 shows the transfer processing of double buffer switching section 800 (step S840).
5 is a flowchart showing in detail.
【0079】ダブルバッファ切換部800の切換処理か
らバッファ切換に伴い起動される。書込用VRAMにマ
ッピングされたVRAMを最新の描画結果を保持した状
態にするため、更新矩形累積部600から累積更新情報
405を獲得し、その領域のみ表示用VRAM(現状最
新描画結果保持)から、書込用VRAMにイメージを転
送する。The switching process of the double buffer switching unit 800 is started when the buffer is switched. In order to make the VRAM mapped to the write VRAM hold the latest drawing result, the cumulative update information 405 is obtained from the update rectangle accumulating unit 600, and only that area is displayed from the display VRAM (currently holds the latest drawing result). Then, the image is transferred to the write VRAM.
【0080】以下ステップを追って説明する。本処理は
割込禁止で実行する。表示用VRAMが転送元、書込用
VRAMが転送先である。まず、更新矩形累積部600
で保持している累積矩形情報405の矩形開始x座標、
矩形開始y座標、矩形幅、矩形高さ)を更新矩形情報と
してx座標、y座標、転送幅、転送高さにセットする
(ステップS841)。次に、表示用VRAM幅とステ
ップS841で取得されたx座標、y座標から転送オフ
セット番地を求める(ステップS842)。但し、表示
用VRAM幅と書込用VRAM幅は同一と仮定する。次
に、表示用VRAMベース番地とステップS842でセ
ットした転送オフセット番地の和を求め、転送元番地に
セットする(ステップS843)。次に、書込用VRA
Mベース番地とステップS842でセットした転送オフ
セット番地の和を求め、転送先番地にセットする(ステ
ップS844)。次に、ステップS841でセットされ
た転送高さ分だけ以下の処理(ステップS846,85
0,851)を繰り返す(ステップS845)。さらに
入れ子で、ステップS841でセットされた転送幅分だ
け以下の処理(ステップS847,848,849)を
繰り返す(ステップS846)。転送先番地の指し示す
ポインタの内容を、転送元番地の指し示すポインタの内
容に更新する(ステップS847)。ステップS847
が書込用VRAM上の指定座標への1ピクセルコピーに
相当し、これを転送幅及び転送高さ分繰り返すことで描
画されたイメージの矩形コピーとなる。転送幅繰り返し
のために、転送先番地をインクリメントし(ステップS
848)、転送元番地をインクリメントする(ステップ
S849)。また、転送高さ繰り返しのために、転送先
番地を書込用VRAM幅分インクリメントして、転送幅
分デクリメントする(ステップS850)。さらに、転
送先番地を表示用VRAM幅分インクリメントして、転
送幅分デクリメントする(ステップS851)。転送
幅、転送高さ分繰り返しが終了したら、書込用VRAM
と表示用VRAMのイメージは完全に一致するので、同
期にOKをセットする。The following is a step-by-step description. This process is executed without interrupts. The display VRAM is the transfer source, and the write VRAM is the transfer destination. First, the update rectangle accumulation unit 600
, The rectangle start x coordinate of the accumulated rectangle information 405 held in
The rectangle start y coordinate, the rectangle width, and the rectangle height are set to the x coordinate, the y coordinate, the transfer width, and the transfer height as update rectangle information (step S841). Next, a transfer offset address is obtained from the display VRAM width and the x and y coordinates acquired in step S841 (step S842). However, it is assumed that the display VRAM width and the write VRAM width are the same. Next, the sum of the display VRAM base address and the transfer offset address set in step S842 is obtained and set as the transfer source address (step S843). Next, write VRA
The sum of the M base address and the transfer offset address set in step S842 is obtained and set to the transfer destination address (step S844). Next, the following processing is performed by the transfer height set in step S841 (steps S846 and 85).
0, 851) is repeated (step S845). Further, the following processes (steps S847, 848, and 849) are repeated by the transfer width set in step S841 (step S846). The contents of the pointer indicating the transfer destination address are updated to the contents of the pointer indicating the transfer source address (step S847). Step S847
Corresponds to one pixel copy to the designated coordinates on the writing VRAM, and is repeated by the transfer width and transfer height to form a rectangular copy of the drawn image. In order to repeat the transfer width, the transfer destination address is incremented (Step S
848), the transfer source address is incremented (step S849). In order to repeat the transfer height, the transfer destination address is incremented by the write VRAM width and decremented by the transfer width (step S850). Further, the transfer destination address is incremented by the display VRAM width and decremented by the transfer width (step S851). When repetition for the transfer width and transfer height is completed, the write VRAM
And the image of the display VRAM completely match, so OK is set synchronously.
【0081】図16はダブルバッファ制御部400の状
態遷移図である。本実施の形態では、状態A「VRAM
802READY」→状態B「VRAM802更新中」
→状態C「VRAM801READY」→状態D「VR
AM更新中」の4つの状態のみを繰り返して遷移する。FIG. 16 is a state transition diagram of the double buffer control unit 400. In the present embodiment, state A “VRAM
802 READY "→ Status B" VRAM 802 updating "
→ State C “VRAM801READY” → State D “VR
Only the four states of “AM update in progress” are repeated.
【0082】なお、ウィンドウアプリケーションタスク
320,330のみをリアルタイムOS上でラウンドロ
ビンスケジューリングにしてもよい。そうすれば、ある
1つのウィンドウアプリケーションタスクが、描画要求
命令407を発行後、一連の描画命令406を実行し、
描画完了命令408を発行するまで、無駄なタスクスイ
ッチを発生させることがない。これにより、効率的に描
画を行うことができる。Note that only the window application tasks 320 and 330 may be round-robin scheduled on the real-time OS. Then, one window application task executes a series of drawing commands 406 after issuing the drawing request command 407,
Until the drawing completion command 408 is issued, no useless task switch is generated. Thereby, drawing can be performed efficiently.
【0083】2つのウィンドウアプリケーションタスク
を、リアルタイムOS上でラウンドロビンスケジューリ
ングさせるには、リアルタイムOSで生成システムコー
ル375を用いて、同じ優先順位かつタイムスライスス
ケジューリングを禁止にして、これら2つのタスクを生
成すればよい。To make the two window application tasks round-robin scheduled on the real-time OS, the real-time OS uses the generation system call 375 to generate the two tasks by disabling the same priority and time slice scheduling. do it.
【0084】なお、リアルタイムOS上のウィンドウア
プリケーションタスク群320,330からの一連の描
画命令406実行を、各ウィンドウアプリケーションタ
スク320,330内の再描画イベントハンドラ内での
み行ってもよい。The series of drawing commands 406 from the window application tasks 320 and 330 on the real-time OS may be executed only in the redrawing event handler in each window application task 320 and 330.
【0085】ここで、再描画イベントハンドラとは、ウ
ィンドウ処理関数内で、再描画イベントを処理する部分
をいう。ウィンドウ処理関数とは、一般的な組込用ウィ
ンドウシステムにおいて、各ウィンドウアプリケーショ
ンタスクが有する関数であり、自分自身のウィンドウに
対して送られてきたイベントを処理するためのものであ
る。Here, the redraw event handler refers to a portion of the window processing function that processes the redraw event. The window processing function is a function of each window application task in a general embedded window system, and is for processing an event sent to its own window.
【0086】再描画イベントは、一般的なウィンドウシ
ステム、例えば、米国マサチューセッツ工科大学の登録
商標であるXWindow SystemのX11では、Exposeイベン
トに相当する。ウィンドウシステムでは、再描画イベン
トは、その他のイベントと比較して、イベント送信の優
先順位が低く実装されていることが多い。[0086] The redraw event corresponds to an Expose event in a general window system, for example, X11 of XWindow System, which is a registered trademark of the Massachusetts Institute of Technology in the United States. In a window system, a redraw event is often implemented with a lower priority for event transmission than other events.
【0087】このようなことから、全てのウィンドウア
プリケーションタスク群からの一連の描画命令406実
行を、各ウィンドウアプリケーションタスク内の再描画
イベントハンドラ内でのみ行えば、他のイベントで非同
期に描画することがなくなるため、プリエンプションが
発生しない。したがって、ある1つのウィンドウアプリ
ケーションタスクが、描画要求命令407を発行後、一
連の描画命令406を実行し、描画完了命令408を発
行するまで、無駄なタスクスイッチは発生しなくなり、
効率的な描画を実現することが可能である。Thus, if a series of drawing commands 406 from all the window application tasks are executed only in the redrawing event handler in each window application task, the drawing can be performed asynchronously with other events. And no preemption occurs. Therefore, until one window application task issues a drawing request command 407, executes a series of drawing commands 406, and issues a drawing completion command 408, no useless task switch occurs.
It is possible to realize efficient drawing.
【0088】(第2の実施の形態)次に、本発明の第2
の実施の形態について説明する。(Second Embodiment) Next, a second embodiment of the present invention will be described.
An embodiment will be described.
【0089】第1の実施の形態では、ダブルバッファ切
換部800の切換処理により、書込用VRAMと表示用
VRAMとを切換えた後、すぐに転送処理に移っていた
が、本実施の形態では、切換処理後、リアルタイムOS
上の全てのタスクが中断状態になった時点で、図11の
ように、更新矩形累積部600で保持した累積矩形情報
405で示されるイメージ領域のみを表示用VRAM
(現状最新描画結果保持)から、書込用VRAMにイメ
ージを転送する。すなわち、転送処理を最低優先順位の
タスクとして起動する。In the first embodiment, the transfer process is performed immediately after switching between the writing VRAM and the display VRAM by the switching process of the double buffer switching unit 800. However, in the present embodiment, the transfer process is performed. After the switching process, the real-time OS
When all of the above tasks are suspended, only the image area indicated by the accumulation rectangle information 405 held by the update rectangle accumulation unit 600 is displayed in the display VRAM as shown in FIG.
The image is transferred from (currently latest drawing result holding) to the writing VRAM. That is, the transfer process is started as the task with the lowest priority.
【0090】このように処理することにより、図16に
おいて状態A「VRAM802READY」→状態B
「VRAM802更新中」→状態E「VRAM802→
VRAM801転送待ち」→状態C「VRAM801R
EADY」→状態D「VRAM801更新中」→状態F
「VRAM801→VRAM802転送待ち」の6つの
状態を繰り返して遷移する。By performing the above processing, the state A “VRAM 802 READY” → the state B in FIG.
“Updating VRAM 802” → Status E “VRAM 802 →
Waiting for VRAM 801 transfer "→ State C" VRAM 801R
EADY ”→ State D“ Updating VRAM801 ”→ State F
A transition is made repeatedly by repeating the six states of “VRAM 801 → VRAM 802 transfer waiting”.
【0091】本実施の形態によれば、ダブルバッファ切
替部800の転送処理をシステムに負荷を増加させるこ
となく効率的に行うことができる。According to the present embodiment, the transfer processing of double buffer switching section 800 can be performed efficiently without increasing the load on the system.
【0092】(第3の実施の形態)次に、本発明の第3
の実施の形態について説明する。(Third Embodiment) Next, a third embodiment of the present invention will be described.
An embodiment will be described.
【0093】本実施の形態では、処理高速化を図るた
め、この内、y軸方向に関する演算のみを行い、x軸方
向は、表示用VRAM幅として固定とする。In this embodiment, in order to increase the processing speed, only the calculation in the y-axis direction is performed, and the x-axis direction is fixed as the display VRAM width.
【0094】つまり、上記実施の形態では、プリミティ
ブな描画毎に描画による更新領域情報403(開始x座
標、開始y座標、幅、高さ)を、累積矩形情報405
(矩形開始x座標、矩形開始y座標、矩形幅、矩形高
さ)に、x軸方向とy軸方向の両方向で加算していた
が、本実施の形態では、y軸方向のみ加算し、2つの矩
形を含む表示用VRAM幅の矩形を求める。That is, in the above-described embodiment, the update area information 403 (start x coordinate, start y coordinate, width, height) by drawing for each primitive drawing is stored in the cumulative rectangle information 405.
(Rectangle start x coordinate, rectangle start y coordinate, rectangle width, rectangle height) are added in both the x-axis direction and the y-axis direction. However, in this embodiment, only the y-axis direction is added and 2 A rectangle having a display VRAM width including two rectangles is obtained.
【0095】具体的には、図7において、ステップS6
21で矩形幅又は矩形高さが0に等しいと判断された場
合、累積矩形情報405をクリアした後、初回の更新領
域追加と判断し、累積矩形情報405の矩形開始y座
標、矩形高さ)に、更新領域情報403の開始y座標、
高さをそれぞれ代入する(ステップS623,62
5)。ステップS622においては、矩形開始x座標に
0を代入する。また、ステップS624においては、矩
形幅に表示用VRAM幅を代入する。Specifically, in FIG. 7, step S6
If it is determined at 21 that the rectangle width or the rectangle height is equal to 0, after clearing the cumulative rectangle information 405, it is determined that an update area is to be added for the first time, and the rectangle start y coordinate and the rectangle height of the cumulative rectangle information 405) The start y coordinate of the update area information 403
The heights are respectively substituted (steps S623 and S62)
5). In step S622, 0 is substituted for the rectangle start x coordinate. In step S624, the display VRAM width is substituted for the rectangular width.
【0096】ステップS621で等しくないと判断され
た場合、すでに累積矩形情報405に有効な値が入って
いると判断し、以下の加算処理を行う。まず、引数で渡
される更新領域情報403(開始y座標、高さ)と、す
でに保持している累積矩形情報405(矩形開始y座
標、矩形高さ)から、新規追加矩形(開始y座標、終了
y座標)と既存累積矩形(矩形開始y座標、矩形終了y
座標)を求める(ステップS627,629)。ステッ
プS626,628は実行しない。If it is determined in step S621 that they are not equal, it is determined that a valid value has already been entered in the cumulative rectangle information 405, and the following addition processing is performed. First, based on the update area information 403 (start y coordinate, height) passed as an argument and the accumulated rectangle information 405 (rectangle start y coordinate, rectangle height) already stored, a newly added rectangle (start y coordinate, end) y coordinate) and existing cumulative rectangle (rectangle start y coordinate, rectangle end y)
Is obtained (steps S627 and S629). Steps S626 and 628 are not executed.
【0097】次に、既存累積矩形=既存累積矩形+新規
追加矩形の演算を行う(ステップS632,633,6
37,638,639)。ステップS630,631,
634,635,636は実行しない。この演算は、ま
ず、矩形開始y座標を求める(ステップS632,63
3)。次に、矩形終了y座標を求める(ステップS63
7,638)。次に、矩形終了y座標とステップS63
2,633で求めた矩形開始y座標から矩形高さを求め
る(ステップS636)。Next, the calculation of the existing cumulative rectangle = the existing cumulative rectangle + the newly added rectangle is performed (steps S632, 633, 6).
37, 638, 639). Step S630, 631,
Steps 634, 635, and 636 are not executed. In this calculation, first, a rectangular start y coordinate is obtained (steps S632 and S63).
3). Next, a rectangle end y coordinate is obtained (step S63).
7,638). Next, the rectangle end y coordinate and step S63
A rectangle height is obtained from the rectangle start y coordinate obtained in 2,633 (step S636).
【0098】以上で加算結果は、累積矩形情報405
(矩形開始x座標=固定、矩形開始y座標、矩形幅=固
定、矩形高さ)に格納されたことになる。As described above, the addition result is the cumulative rectangle information 405
(Rectangular start x coordinate = fixed, rectangular start y coordinate, rectangular width = fixed, rectangular height).
【0099】このように、本実施の形態によれば、更新
領域情報のy(縦)軸方向のみを累積し、x(横)軸は
VRAMの幅とした矩形情報として保持することで、処
理の高速化を図ることができる。As described above, according to the present embodiment, only the y (vertical) axis direction of the update area information is accumulated, and the x (horizontal) axis is stored as rectangular information having the width of the VRAM, thereby achieving processing. Can be speeded up.
【0100】なお本実施の形態で、x(横)軸方向を表
示用VRAM幅固定とし、y(縦)軸方向のみ累積する
としているが、これは、x(横)軸方向にVRAM上の
番地が連続していることを仮定している場合である。例
えば、y(縦)軸方向にVRAM上の番地が連続してい
る場合、y(縦)軸方向を表示用VRAM幅固定とし、
x(横)軸方向のみ累積することで同様の高速化を図る
ことが可能である。In this embodiment, the width of the display VRAM is fixed in the x (horizontal) axis direction and accumulation is performed only in the y (vertical) axis direction. This is a case where it is assumed that addresses are continuous. For example, when addresses on the VRAM are continuous in the y (vertical) axis direction, the display VRAM width is fixed in the y (vertical) axis direction.
By accumulating only in the x (horizontal) axis direction, a similar high speed can be achieved.
【0101】(その他の実施の形態)なお、本発明は、
複数の機器(例えばホストコンピュータ、インタフェイ
ス機器、リーダ、プリンタなど)から構成されるシステ
ムに適用しても、一つの機器からなる装置(例えば、複
写機、ファクシミリ装置など)に適用してもよい。(Other Embodiments) The present invention
The present invention may be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, and the like), or may be applied to a device including one device (for example, a copier, a facsimile device, and the like). .
【0102】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプ
ログラムコードを読み出し実行することによっても、達
成されることは言うまでもない。この場合、記憶媒体か
ら読み出されたプログラムコード自体が前述した実施形
態の機能を実現することになり、そのプログラムコード
を記憶した記憶媒体は本発明を構成することになる。ま
た、コンピュータが読み出したプログラムコードを実行
することにより、前述した実施形態の機能が実現される
だけでなく、そのプログラムコードの指示に基づき、コ
ンピュータ上で稼働しているオペレーティングシステム
(OS)などが実際の処理の一部または全部を行い、その
処理によって前述した実施形態の機能が実現される場合
も含まれることは言うまでもない。Further, an object of the present invention is to supply a storage medium (or a recording medium) in which a program code of software for realizing the functions of the above-described embodiments is recorded to a system or an apparatus, and a computer (a computer) of the system or the apparatus It is needless to say that the present invention can also be achieved by a CPU or an MPU) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. The functions of the above-described embodiments are not only realized by the computer executing the readout program code, but also the operating system running on the computer based on the instructions of the program code.
It goes without saying that the (OS) or the like performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
【0103】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。Further, after the program code read from the storage medium is written into the memory provided in the function expansion card inserted into the computer or the function expansion unit connected to the computer, the program code is read based on the instruction of the program code. Needless to say, the CPU included in the function expansion card or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
【0104】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明した(図14および/または
図15に示す)フローチャートに対応するプログラムコ
ードが格納されることになる。When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the above-described flowcharts (shown in FIG. 14 and / or FIG. 15).
【0105】[0105]
【発明の効果】本発明によれば、リアルタイムOS上で
動作する組込用マルチウィンドウシステムを利用し、ウ
ィンドウ単位の描画の排他制御を意識することなく、効
率的にダブルバッファを切換え、描画時のちらつきを抑
えた画像処理装置及び画像処理方法を提供することがで
きる。According to the present invention, the double buffer is efficiently switched by using the built-in multi-window system operating on the real-time OS without being conscious of exclusive control of drawing in window units. It is possible to provide an image processing apparatus and an image processing method in which flicker is suppressed.
【図1】本発明の第1の実施の形態に係るシステム構成
を示すブロック図である。FIG. 1 is a block diagram showing a system configuration according to a first embodiment of the present invention.
【図2】VRAM801及びVRAM802の格納情報
を示す図である。FIG. 2 is a diagram showing information stored in a VRAM 801 and a VRAM 802.
【図3】ダブルバッファ切換部800の初期化処理を示
すフローチャートである。FIG. 3 is a flowchart illustrating an initialization process of a double buffer switching unit 800.
【図4】描画部500の点描画処理を示すフローチャー
トである。FIG. 4 is a flowchart illustrating a point drawing process of a drawing unit 500;
【図5】色データを表すカラーパレット情報を示す図で
ある。FIG. 5 is a diagram showing color palette information representing color data.
【図6】描画部500のカラーインデックス獲得処理を
示すフローチャートである。FIG. 6 is a flowchart showing a color index acquisition process of a drawing unit 500.
【図7】更新矩形累積部600の更新領域追加処理を示
すフローチャートである。FIG. 7 is a flowchart illustrating an update area adding process of an update rectangle accumulating unit 600;
【図8】描画部500の水平線描画処理を示すフローチ
ャートである。FIG. 8 is a flowchart showing a horizontal line drawing process of the drawing unit 500.
【図9】描画部500の垂直線描画処理を示すフローチ
ャートである。FIG. 9 is a flowchart illustrating a vertical line drawing process of the drawing unit 500.
【図10】描画部500のビットマップ描画処理を示す
フローチャートである。FIG. 10 is a flowchart illustrating a bitmap drawing process of a drawing unit.
【図11】描画要求カウント部700の描画要求受付処
理を示すフローチャートである。FIG. 11 is a flowchart showing a drawing request reception process of a drawing request counting unit 700.
【図12】更新矩形累積部600の更新開始処理を示す
フローチャートである。FIG. 12 is a flowchart illustrating an update start process of the update rectangle accumulating unit 600;
【図13】描画要求カウント部700の描画完了受付処
理を示すフローチャートである。FIG. 13 is a flowchart showing a drawing completion receiving process of the drawing request counting unit 700.
【図14】ダブルバッファ切換部800の切換処理を示
すフローチャートである。14 is a flowchart illustrating a switching process of a double buffer switching unit 800. FIG.
【図15】ダブルバッファ切換部800の転送処理を示
すフローチャートである。FIG. 15 is a flowchart showing a transfer process of a double buffer switching unit 800.
【図16】ダブルバッファ制御部400の状態遷移図で
ある。FIG. 16 is a state transition diagram of the double buffer control unit 400.
100 表示装置 110 操作ボタン 200 CPUバス 210 CPU 220 ROM 300 RAM 310 組込用ウィンドウシステム 320 組込用ウィンドウシステム上で動作するウィン
ドウアプリケーションタスク1 330 組込用ウィンドウシステム上で動作するウィン
ドウアプリケーションタスク2 340 ウィンドウ操作命令 350 ウィンドウ内描画命令 360 ボタンイベント 400 ダブルバッファ制御部 401 更新開始イベント 402 点,水平線,水直線,ビットマップ書込処理 403 描画部500による描画の更新領域情報 404 更新完了イベント 405 累積矩形情報 406 描画命令 407 描画要求命令 408 描画完了命令 500 描画部 600 更新矩形累積部 700 更新要求カウント部 701 カウンタ 800 ダブルバッファ切換部 801 VRAM 802 VRAM 803 書込切換スイッチ 804 表示切換スイッチ 805 転送イメージ 900 表示デバイス 901 組込用ウィンドウシステムが表示したウィンド
ウ 902 組込用ウィンドウシステムが表示したウィンド
ウREFERENCE SIGNS LIST 100 display device 110 operation button 200 CPU bus 210 CPU 220 ROM 300 RAM 310 window system for embedding 320 window application task 1 330 operating on window system for embedding Window application task 2 330 operating on window system for embedding Window operation command 350 In-window drawing command 360 Button event 400 Double buffer control unit 401 Update start event 402 Point, horizontal line, horizontal line, bitmap writing process 403 Update area information of drawing by drawing unit 500 404 Update completion event 405 Cumulative rectangle Information 406 Drawing command 407 Drawing request command 408 Drawing completion command 500 Drawing unit 600 Update rectangle accumulation unit 700 Update request counting unit 701 Counter 8 0 window double buffer switching unit 801 VRAM 802 VRAM 803 Window 902 Window system for embedded to write selector switch 804 display switching switch 805 transfers image 900 displayed device 901 window system for embedded is displayed is displayed
フロントページの続き (72)発明者 佐々木 誠司 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 矢部 俊夫 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 Fターム(参考) 5B069 BC02 CA13 5B098 AA08 GA02 GA04 GC02 GD05 GD14 5C082 AA01 BA12 BB15 BB25 BB26 CA62 CB01 DA22 DA53 DA87 MM02 MM10 Continued on the front page (72) Inventor Seiji Sasaki 3-30-2 Shimomaruko, Ota-ku, Tokyo Inside Canon Inc. (72) Inventor Toshio Yabe 3-30-2 Shimomaruko, Ota-ku, Tokyo Inside Canon Inc. F term (reference) 5B069 BC02 CA13 5B098 AA08 GA02 GA04 GC02 GD05 GD14 5C082 AA01 BA12 BB15 BB25 BB26 CA62 CB01 DA22 DA53 DA87 MM02 MM10
Claims (11)
OS上で動作する組込用ウィンドウシステムを利用した
画像処理装置であって、 前記2つの画像記憶媒体の一方へ描画を行う描画手段
と、 前記描画手段による描画が行われているか否かを判定す
る判定手段と、 前記判定手段によって、描画が行われていると判断され
ると、描画による更新情報を累積し保持する更新情報累
積手段と、 2つの画像記憶媒体の内、いずれか一方を前記描画手段
によって描画を行われる書込用画像記憶媒体とし、他方
を表示用画像記憶媒体とする制御手段と、 を有し、 前記制御手段は、 前記判定手段によって、描画が行われていないと判断さ
れると、前記書込用画像記憶媒体と前記表示用画像記憶
媒体とを切換え、更新情報累積手段で累積した更新情報
を表示用画像記憶媒体から書込用画像記憶媒体に転送す
ることを特徴とする画像処理装置。1. An image processing apparatus using an embedded window system that operates on a real-time OS and has two image storage media, and a drawing unit that performs drawing on one of the two image storage media. Determining means for determining whether or not drawing is being performed by the drawing means; and updating information accumulating means for accumulating and holding update information by drawing when the determining means determines that drawing is being performed. And control means for setting one of the two image storage media as a writing image storage medium on which drawing is performed by the drawing means and the other as a display image storage medium. When the determination means determines that drawing is not performed, the image information storage medium is switched between the writing image storage medium and the display image storage medium, and the update information accumulated by the update information accumulation means is An image processing apparatus for transferring from a display image storage medium to a writing image storage medium.
求項1に記載の画像処理装置。2. The image processing apparatus according to claim 1, wherein said image processing apparatus further comprises image display means.
込用画像記憶媒体へ描画を行うことを特徴とする請求項
1に記載の画像処理装置。3. The image processing apparatus according to claim 1, wherein said drawing means performs drawing on an image storage medium for writing at asynchronous timing.
画を実行中のウィンドウ数をカウントするカウント手段
を有し、 前記更新情報累積手段は、前記カウント手段のカウント
するウィンドウ数が0から1に変化した時点から、描画
による更新情報を累積し始め、 前記制御手段は、前記カウント手段のカウントするウィ
ンドウ数が1から0に変化した時点で、書込用画像記憶
媒体と表示用画像記憶媒体を切換え、前記更新情報を表
示用画像記憶媒体から書込用画像記憶媒体に転送するこ
とを特徴とする請求項1に記載の画像処理装置。4. The method according to claim 1, wherein the determining unit includes a counting unit that counts the number of windows in which the drawing unit is performing drawing, and the update information accumulating unit changes the number of windows counted by the counting unit from 0 to 1. At the time of the change, the update information by drawing starts to be accumulated. At the time when the number of windows counted by the counting means changes from 1 to 0, the control unit switches the writing image storage medium and the display image storage medium. The image processing apparatus according to claim 1, wherein the switching is performed, and the update information is transferred from the display image storage medium to the writing image storage medium.
の全てのタスクが中断状態になった後に、前記更新情報
累積手段において累積された更新情報を前記表示用画像
記憶媒体から前記書込用画像記憶媒体に転送することを
特徴とする請求項1に記載の画像処理装置。5. The control means according to claim 1, wherein said update information accumulated by said update information accumulating means is transferred from said display image storage medium to said writing image after all tasks on said real-time OS are suspended. 2. The image processing apparatus according to claim 1, wherein the image is transferred to a storage medium.
して、描画更新された領域の情報を矩形情報として累積
保持する手段であって、 該矩形情報の縦又は横軸方向の内、一方の軸方向は累積
せずに固定値とし、他方の軸方向のみを累積することを
特徴とする請求項1に記載の画像処理装置。6. The update information accumulating means is means for accumulating and holding, as the update information, information of a region updated and rendered as rectangular information, wherein one of the rectangular information in the vertical or horizontal axis direction is provided. The image processing apparatus according to claim 1, wherein a fixed value is not accumulated in the axial direction, and only the other axial direction is accumulated.
ーションタスク群のみラウンドロビンスケジューリング
を行うことを特徴とする請求項1に記載の画像処理装
置。7. The image processing apparatus according to claim 1, wherein round robin scheduling is performed only for a group of window application tasks on a real-time OS.
ーションタスク群からの一連の描画命令実行を、各ウィ
ンドウアプリケーションタスク内の再描画イベントハン
ドラ内でのみ行うことを特徴とする請求項1に記載の画
像処理装置。8. The image processing apparatus according to claim 1, wherein a series of drawing instructions from a group of window application tasks on the real-time OS are executed only in a redrawing event handler in each window application task. .
り、該コンピュータが前記請求項1乃至8のいずれかに
記載の画像処理装置として動作するような画像処理プロ
グラムを格納したコンピュータ可読メモリ。9. A computer-readable memory storing an image processing program that is executed by a computer so that the computer operates as the image processing apparatus according to claim 1. Description:
込用画像記憶媒体とし、他方を表示用画像記憶媒体とし
て、描画を行う画像処理方法であって、 前記書込用画像記憶媒体へ描画を行う描画工程と、 前記描画工程による描画が行われているか否かを判定す
る判定工程と、 前記判定工程によって、描画が行われていると判断され
ると、描画による更新情報を累積し保持する更新情報累
積工程と、 前記判定工程によって、描画が行われていないと判断さ
れると、書込用画像記憶媒体と表示用画像記憶媒体を切
換え、更新情報累積工程で累積した更新情報を表示用画
像記憶媒体から書込用画像記憶媒体に転送する制御工程
と、 を具備したことを特徴とする画像処理方法。10. An image processing method for performing drawing, wherein one of two image storage media is selectively used as a write image storage medium and the other is used as a display image storage medium. A drawing step of performing drawing in the drawing step; a determining step of determining whether or not the drawing is performed in the drawing step; and if the determining step determines that the drawing is performed, the update information by the drawing is accumulated. An update information accumulating step for storing and updating, and when it is determined that drawing is not performed in the determining step, the image information storage medium for writing and the display image storage medium are switched, and the update information accumulated in the update information accumulating step is obtained. Transferring the image data from the display image storage medium to the writing image storage medium.
込用画像記憶媒体とし、他方を表示用画像記憶媒体とし
て、描画を行う画像処理プログラムを格納したコンピュ
ータ可読メモリであって、 前記書込用画像記憶媒体へ描画を行う描画工程のコード
と、 前記描画工程による描画が行われているか否かを判定す
る判定工程のコードと、 前記判定工程によって、描画が行われていると判断され
ると、描画による更新情報を累積し保持する更新情報累
積工程のコードと、 前記判定工程によって、描画が行われていないと判断さ
れると、書込用画像記憶媒体と表示用画像記憶媒体を切
換え、更新情報累積工程で累積した更新情報を表示用画
像記憶媒体から書込用画像記憶媒体に転送する制御工程
のコードと、 を具備したことを特徴とするコンピュータ可読メモリ。11. A computer-readable memory storing an image processing program for performing drawing, wherein one of the two image storage media is selectively used as a write image storage medium and the other is used as a display image storage medium. A code for a drawing step for drawing on the image storage medium for writing, a code for a determination step for determining whether or not the drawing in the drawing step is performed; and a determination that the drawing is performed by the determination step Then, a code of an update information accumulating step for accumulating and holding update information by drawing, and when it is determined in the determining step that drawing is not performed, a writing image storage medium and a display image storage medium And a code for a control step of transferring the update information accumulated in the update information accumulating step from the display image storage medium to the writing image storage medium. Over data readable memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000275479A JP2002091427A (en) | 2000-09-11 | 2000-09-11 | Device and method for processing picture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000275479A JP2002091427A (en) | 2000-09-11 | 2000-09-11 | Device and method for processing picture |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002091427A true JP2002091427A (en) | 2002-03-27 |
Family
ID=18761092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000275479A Withdrawn JP2002091427A (en) | 2000-09-11 | 2000-09-11 | Device and method for processing picture |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002091427A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012035632A1 (en) * | 2010-09-16 | 2012-03-22 | 株式会社 東芝 | Image generating device |
-
2000
- 2000-09-11 JP JP2000275479A patent/JP2002091427A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012035632A1 (en) * | 2010-09-16 | 2012-03-22 | 株式会社 東芝 | Image generating device |
JP5613249B2 (en) * | 2010-09-16 | 2014-10-22 | 株式会社東芝 | Image generating apparatus and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8310492B2 (en) | Hardware-based scheduling of GPU work | |
JP3224782B2 (en) | Process sharing dynamic change method and computer | |
KR20040014588A (en) | Apparatus, method and system with a graphics-rendering engine having a graphics context manager | |
US4862155A (en) | Graphic display system with secondary pixel image storage | |
JP2002091427A (en) | Device and method for processing picture | |
JPH07271344A (en) | Graphic display device | |
CN109978749A (en) | Graphics processor, rendering system and the method for operating graphics processor | |
TW319853B (en) | A method and apparatus for executing commands in a graphics controller chip | |
JP2616353B2 (en) | Input indicating device | |
US5812150A (en) | Device synchronization on a graphics accelerator | |
JP2020042558A (en) | Image drawing device | |
CN114064826A (en) | Map rendering method, system, terminal and storage medium | |
JP3216556B2 (en) | Window information transfer method and window information transfer method | |
JP2005276194A (en) | Graphics display device and graphics processor | |
JP3454113B2 (en) | Graphics display | |
JP3071210B2 (en) | Task management control method | |
CN117591055A (en) | Display acceleration system for industrial serial port screen with memory | |
JP3835287B2 (en) | Bitmap data processing method, bitmap data processing method, and bitmap data processing program | |
JP2829051B2 (en) | Character display method | |
JPS6315617B2 (en) | ||
CN115269392A (en) | Visual debugging method, equipment and medium for fusion perception | |
JPH04214598A (en) | Moving picture display device | |
JP2937219B2 (en) | Pick input method | |
JP3060497B2 (en) | Marker segment registration / redraw method | |
JP2005352796A (en) | Transfer of image using hook of drawing command |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20071204 |