JP3047009B2 - Image creation apparatus and image creation method - Google Patents

Image creation apparatus and image creation method

Info

Publication number
JP3047009B2
JP3047009B2 JP10344888A JP34488898A JP3047009B2 JP 3047009 B2 JP3047009 B2 JP 3047009B2 JP 10344888 A JP10344888 A JP 10344888A JP 34488898 A JP34488898 A JP 34488898A JP 3047009 B2 JP3047009 B2 JP 3047009B2
Authority
JP
Japan
Prior art keywords
processing
range
patch
image
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP10344888A
Other languages
Japanese (ja)
Other versions
JPH11242750A (en
Inventor
裕志 長島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shima Seiki Manufacturing Ltd
Original Assignee
Shima Seiki Manufacturing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shima Seiki Manufacturing Ltd filed Critical Shima Seiki Manufacturing Ltd
Priority to JP10344888A priority Critical patent/JP3047009B2/en
Publication of JPH11242750A publication Critical patent/JPH11242750A/en
Application granted granted Critical
Publication of JP3047009B2 publication Critical patent/JP3047009B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の利用分野】この発明は画像作成装置に関し、特
に描画入力(ブラシ入力)の高速化に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image forming apparatus, and more particularly to speeding up drawing input (brush input).

【0002】[0002]

【従来技術】画像作成装置では描画データの入力処理の
高速化が要求され、これは解像度の向上とともに困難に
なっている。描画データの処理に要する処理量は解像度
の2乗に比例し、このため低解像度の画像メモリと高解
像度の画像メモリとを用意し、描画データをとりあえず
低解像度で処理してモニタに表示し、これと並列に高解
像度でも処理して、処理の終了後に高解像度画像を表示
することが行われている。この処理では低解像度での処
理でリアルタイム性を保ち、高解像度での処理で画像品
位を保っている。そして高解像度での処理が描画入力か
ら遅れても良いように、低解像度での処理を用いる。
2. Description of the Related Art In an image forming apparatus, it is required to increase the speed of input processing of drawing data, and this is becoming more difficult as the resolution is improved. The processing amount required for processing the drawing data is proportional to the square of the resolution. For this reason, a low-resolution image memory and a high-resolution image memory are prepared, the drawing data is processed at a low resolution for the time being, and displayed on a monitor. In parallel with this, processing is also performed at a high resolution, and a high-resolution image is displayed after the processing is completed. In this processing, real-time processing is maintained by processing at a low resolution, and image quality is maintained by processing at a high resolution. Then, processing at low resolution is used so that processing at high resolution may be delayed from drawing input.

【0003】しかしながら画像品位に対する要求はさら
に増し、描画入力に対して高解像度画像側で並列処理を
行う必要が生じている。発明者は並列処理の例として、
図5〜図7に示すものを検討した。図5の例では、デジ
タイザ等でモニタ上の画像に対して描画位置を指定し、
これをシーケンサ2で受け付けて待行列等で整理し、1
つのパッチを例えば4つに分割して並列処理を行う。各
描画パイプラインには、描画に用いたブラシの濃度分布
信号の発生手段4−1〜4−4と、乗算手段6−1〜6
−4とを直列に配置し、バレルシフタ8でエリアRAM
10に高速でアクセスして、1パッチ分の処理を行う。
[0003] However, the demand for image quality has further increased, and it has become necessary to perform parallel processing on the high resolution image side for drawing input. As an example of parallel processing, the inventor
The ones shown in FIGS. In the example of FIG. 5, a drawing position is specified for an image on a monitor by a digitizer or the like,
This is received by the sequencer 2 and arranged in a queue or the like.
One patch is divided into, for example, four patches and parallel processing is performed. Each drawing pipeline includes means 4-1 to 4-4 for generating a density distribution signal of the brush used for drawing, and multiplying means 6-1 to 6
-4 are arranged in series, and barrel RAM 8 is used for area RAM.
10 is accessed at high speed, and processing for one patch is performed.

【0004】1パッチの処理が終了すると次のパッチを
同様に4分割して処理し、1ストローク分の処理が終了
した後に、ファイルメモリ14に記憶した高解像度画像
とエリアRAM10に記憶した入力画像とを、線形補間
部12でブレンドする。このように描画の原理は、複数
のパッチ列を1パッチずつ順に処理することである。そ
して1パッチのデータの処理は、1パッチ分のピクセル
のデータをエリアRAM10から順次読み出して、乗算
手段6で濃度発生手段4の信号と乗算してエリアRAM
10に書き戻すことである。また複数のパッチは重なっ
ているので、エリアRAM10の同じピクセルに対して
再帰的な処理が行われる。
When the processing of one patch is completed, the next patch is similarly divided into four parts and processed. After the processing of one stroke is completed, the high-resolution image stored in the file memory 14 and the input image stored in the area RAM 10 are processed. Are blended by the linear interpolation unit 12. As described above, the principle of drawing is to process a plurality of patch arrays one by one in order. In the processing of the data of one patch, pixel data of one patch is sequentially read out from the area RAM 10 and multiplied by the signal of the density generating means 4 by the multiplying means 6.
Writing back to 10. Since a plurality of patches are overlapped, recursive processing is performed on the same pixel in the area RAM 10.

【0005】パッチの分割を図6に示すと、パッチP1
〜P3は各4分割され、図6ではパッチP1の処理が終
了し、パッチP2の処理が行われている。そしてパッチ
P2は図の下部に示す領域P2−1〜P2−4に分割さ
れ、各領域で領域16まで処理が終了し、領域18が未
処理である。
FIG. 6 shows the division of a patch.
6 are divided into four parts. In FIG. 6, the processing of the patch P1 has been completed, and the processing of the patch P2 has been performed. Then, the patch P2 is divided into regions P2-1 to P2-4 shown in the lower part of the figure, and the processing is completed up to the region 16 in each region, and the region 18 is unprocessed.

【0006】図7に、パッチP1〜Pnからなるストロ
ークの処理を示す。描画パイプラインを4系統設けるも
のとして、各パッチは4分割されて、第1の領域を第1
のパイプラインで処理し、第2の領域を第2のパイプラ
インで処理し、第3,第4の領域を第3,第4のパイプ
ラインで処理する。各パイプラインはパッチ単位の処理
を行い、エリアRAMからのデータの読み出しと処理結
果の書き込み(図のアクセスサイクル)と、入力データ
とエリアRAMのデータの混合演算(乗算サイクル)と
が平行に行われる。
FIG. 7 shows processing of a stroke composed of patches P1 to Pn. Assuming that four systems of drawing pipelines are provided, each patch is divided into four parts, and the first area is defined as the first area.
, The second region is processed by the second pipeline, and the third and fourth regions are processed by the third and fourth pipelines. Each pipeline performs processing in units of patches, and data reading from the area RAM and writing of processing results (access cycle in the figure) and mixing operation of input data and data in the area RAM (multiplication cycle) are performed in parallel. Will be

【0007】描画パイプラインを複数設けることによ
り、描画処理中の混合演算は高速化する。しかしエリア
RAM10へのアクセス回数は減少していない。例えば
1パッチが10kピクセルからなるものとし、10パッ
チの処理が必要であると、エリアRAMへのアクセス回
数は、読み出しと書き込みに各1回で、1パッチ毎に各
ピクセルに2回アクセスするため、合計 10k×10
×2 の200kとなる。このように並列化を行うと、
演算側を高速化できても、メモリへのアクセス回数が減
少しないため、限界が生じる。いいかえると描画処理中
の演算部分の高速化のみでなく、メモリへのアクセスの
高速化が必要なのである。
By providing a plurality of drawing pipelines, the speed of the mixed operation during the drawing process is increased. However, the number of accesses to the area RAM 10 has not decreased. For example, if one patch is composed of 10 k pixels, and processing of 10 patches is necessary, the number of accesses to the area RAM is once for reading and writing, and each pixel is accessed twice for each patch. , Total 10k × 10
× 2, which is 200k. When parallelization is performed in this way,
Even if the operation speed can be increased, there is a limit because the number of accesses to the memory does not decrease. In other words, it is necessary not only to speed up the operation part during the drawing process but also to speed up the access to the memory.

【0008】[0008]

【発明の課題】この発明の課題は、メモリへのアクセス
回数を減少させて、描画入力処理の高速化を容易にする
ことにある。
SUMMARY OF THE INVENTION An object of the present invention is to reduce the number of accesses to a memory and facilitate the speeding up of a drawing input process.

【0009】[0009]

【発明の構成】この発明は、作成過程の画像をメモリに
記憶してモニタに表示し、この表示画像上の位置を指定
して、複数のピクセルからなるパッチの単位で、描画デ
ータを入力するようにした画像作成装置において、複数
のパッチからなる描画範囲から、少なくとも1ピクセル
からなる処理範囲を定めるための手段と、前記処理範囲
に対して、該処理範囲での処理が終了するまで前記の複
数パッチ分の処理を繰り返して行うための処理手段、と
を備えた描画パイプラインを設けたことを特徴とする。
即ちこの発明では、描画範囲をパッチ毎に処してパッチ
内の処理が終了した後に次のパッチの処理に移るのでは
なく、少数のピクセルからなる処理範囲毎に、複数パッ
チの処理を行い、1つの処理範囲に対して複数パッチの
処理を終えた後に、次の処理範囲を処理する。
According to the present invention, an image in the course of creation is stored in a memory and displayed on a monitor, a position on the display image is designated, and drawing data is input in units of a patch composed of a plurality of pixels. Means for determining a processing range consisting of at least one pixel from a drawing range consisting of a plurality of patches, wherein the processing range is determined until the processing in the processing range ends. And a processing means for repeatedly performing processing for a plurality of patches.
That is, in the present invention, instead of processing the drawing range for each patch and completing the processing in the patch and then proceeding to the processing of the next patch, processing of a plurality of patches is performed for each processing range including a small number of pixels. After processing a plurality of patches for one processing range, the next processing range is processed.

【0010】好ましくは、前記描画パイプラインを複数
設けて、各描画パイプラインに前記描画範囲を該描画範
囲上の位置の異なる複数の領域へと空間的に分割して割
り当て、各描画パイプラインで並行処理する。
Preferably, a plurality of said drawing pipelines are provided, and said drawing range is spatially divided and assigned to each drawing pipeline to a plurality of regions having different positions on said drawing range. Process in parallel.

【0011】好ましくは、前記処理手段は、直列に配置
された、各パッチでの各ピクセルの描画濃度データを発
生するための濃度発生手段と、乗算手段と、レジスタと
を有し、前記乗算手段は、レジスタの記憶データと前記
濃度発生手段のデータとの乗算を、前記レジスタの記憶
データに対して複数パッチ分繰り返し行う。
Preferably, the processing means includes density generating means for generating drawing density data of each pixel in each patch, serially arranged, a multiplying means, and a register. Repeats multiplication of the data stored in the register by the data of the density generating means for a plurality of patches on the data stored in the register.

【0012】さらに好ましくは、処理範囲を1ピクセル
とし、かつレジスタをアキュムレータで構成して、同じ
ピクセルに対してパッチの数だけの処理を繰り返して行
い、描画パイプラインの構成を簡単にする。
More preferably, the processing range is set to one pixel, and the register is constituted by an accumulator, and the same pixel is repeatedly processed by the number of patches, thereby simplifying the configuration of the drawing pipeline.

【0013】また好ましくは、前記描画パイプラインの
出力側にキャッシュメモリを設けて、画像を記憶したメ
モリと描画パイプラインとの間のバッファとする。この
キャッシュメモリは小規模なメモリでよく、割り当てら
れた分割領域全体を記憶するだけの容量は必要ではな
い。
Preferably, a cache memory is provided on the output side of the drawing pipeline to serve as a buffer between the memory storing the image and the drawing pipeline. The cache memory may be a small-scale memory, and does not need a capacity to store the entire assigned divided area.

【0014】[0014]

【発明の作用と効果】この発明では、作成過程の画像を
メモリに記憶してモニタに表示し、この表示画像上の位
置を指定して、パッチ単位で描画データを入力するよう
にした画像作成方法において、複数のパッチからなる描
画範囲を、各複数のピクセルからなり描画範囲上の位置
の異なる複数のグループへと分割して、前記複数のグル
ープを複数の描画パイプラインに割り当て、各描画パイ
プラインでは、割り当てられた範囲から、少なくとも1
ピクセルからなる処理範囲を定め、定められた処理範囲
に対して、該処理範囲での処理が終了するまで前記の複
数パッチ分の処理を繰り返して行い、処理範囲の決定と
定められた処理範囲の処理とを繰り返して、割り当てら
れた範囲を処理する。
According to the present invention, an image is created in which an image in the course of creation is stored in a memory and displayed on a monitor, a position on the displayed image is designated, and drawing data is input in patch units. The method further comprises: dividing a drawing range including a plurality of patches into a plurality of groups each including a plurality of pixels and having different positions on the drawing range; assigning the plurality of groups to a plurality of drawing pipelines; On the line, at least 1
A processing range composed of pixels is determined, and the processing for the plurality of patches is repeatedly performed on the determined processing range until the processing in the processing range is completed, thereby determining the processing range and determining the processing range. The process is repeated to process the assigned range.

【0015】この発明では複数パッチからなる描画範囲
を、処理範囲内のピクセルに対して複数パッチ分の処理
を終えた後に、次の処理範囲の処理を開始する。このた
めメモリへのアクセス回数は、描画範囲での各ピクセル
に対して、例えば読み出しが1回と書き込みが1回とな
り、パッチ数が増加してもメモリへのアクセス回数は余
り増加しない。この結果、この発明ではメモリへのアク
セス回数を抑制して、アクセスの点で描画入力を高速化
できる。
In the present invention, the processing of the next processing range is started after the processing of the drawing range including the plurality of patches for the pixels within the processing range is completed. Therefore, the number of accesses to the memory is, for example, one reading and one writing for each pixel in the drawing range, and the number of accesses to the memory does not increase so much even if the number of patches increases. As a result, according to the present invention, the number of accesses to the memory can be suppressed, and the speed of drawing input can be increased in terms of access.

【0016】描画処理での演算を高速化するため、好ま
しくは描画パイプラインを複数設けて描画範囲を該描画
範囲上の位置の異なる複数の領域へと空間的に分割して
割り当てる。演算速度は並列処理により向上し、メモリ
へのアクセス回数は、パッチ単位ではなく処理範囲単位
の処理を行うので、増加を抑えられ、演算の並列化とア
クセス回数の抑制とにより、高速の描画処理を行える。
In order to speed up the calculation in the drawing process, preferably, a plurality of drawing pipelines are provided, and the drawing range is spatially divided into a plurality of regions at different positions on the drawing range and assigned. The operation speed is improved by parallel processing, and the number of accesses to the memory is not processed in units of patches, but in units of processing ranges. Therefore, increase is suppressed, and parallel processing of operations and suppression of the number of accesses reduce high-speed drawing processing. Can be performed.

【0017】特に各描画パイプラインにレジスタあるい
はアキュムレータを設けて、少数のピクセルの濃度デー
タを記憶し、描画濃度データとアキュムレータやレジス
タの記憶濃度データとの乗算を繰り返し行う。例えばア
キュムレータを用いて1ピクセルの処理を複数のパッチ
に対して行った後に次のピクセルの処理に移り、あるい
はレジスタ分のピクセルに対して複数パッチの処理を行
った後に、次のピクセルの処理に移る。このようにする
と、乗算用のデータの準備と乗算とを並列に行え、1ピ
ッチ(1ステージ)毎に乗算を行って、高速で乗算でき
る。
In particular, a register or an accumulator is provided in each drawing pipeline to store density data of a small number of pixels, and multiplication of the drawing density data by the storage density data of the accumulator and the register is repeated. For example, after processing one pixel for a plurality of patches using an accumulator, the process moves to the next pixel, or after processing a plurality of patches for the pixels of the register, processing for the next pixel is performed. Move on. By doing so, the preparation of the data for multiplication and the multiplication can be performed in parallel, and the multiplication is performed for each pitch (one stage), so that the multiplication can be performed at high speed.

【0018】そして各描画パイプラインの出力側にキャ
ッシュメモリ(キャッシュ)を設けて、各ピクセルにつ
いて例えば1ストローク分の処理が終わる毎に、キャッ
シュへの書き込みを行う。キャッシュへの書き込み回数
の合計は、ストロークに含まれるピクセルの数の程度
で、パッチ数が増加しても書き込み回数が増加しないた
め、処理が簡単になる。このキャッシュは小規模なメモ
リでよく、1ストローク全体に含まれるピクセル分の容
量を持つ必要はなく、画像作成装置のハードウェアコス
トが減少する。さらに好ましくは、高解像度画像のメモ
リと低解像度画像のメモリとを設けて、複数の描画パイ
プラインを用い、パッチ毎の処理ではなく、描画範囲で
の処理範囲間の順序による処理を高解像度画像側で行
い、低解像度画像側ではパッチ毎の処理を行う。このよ
うにすれば低解像度側でリアルタイムな処理を行い、高
解像度側で高精度な処理を行うことができる。
A cache memory (cache) is provided on the output side of each drawing pipeline, and writing to the cache is performed for each pixel, for example, each time processing of one stroke is completed. The total number of times of writing to the cache is on the order of the number of pixels included in the stroke. Even if the number of patches increases, the number of times of writing does not increase, so that the processing is simplified. This cache may be a small memory, and does not need to have a capacity for pixels included in one entire stroke, thereby reducing the hardware cost of the image forming apparatus. More preferably, a high-resolution image memory and a low-resolution image memory are provided, and a plurality of drawing pipelines are used. , And the low-resolution image side performs processing for each patch. In this way, real-time processing can be performed on the low resolution side, and highly accurate processing can be performed on the high resolution side.

【0019】[0019]

【実施例】図1〜図4に実施例を示す。図1に画像作成
装置の構造を示すと、20は描画パイプラインで、複数
系統設け、実施例では4系統設ける。描画パイプライン
20は、先入先出の待行列21と、待行列21に収容し
たパッチ列を適宜の個数、例えば1ストローク分一括し
て処理し、処理終了後に待行列21から削除するための
シーケンサ22と、描画入力データ中の入力濃度の補数
kをパッチ内の各ピクセルに対して出力するための濃度
発生手段23と、乗算手段24と、アキュムレータ25
と、キャッシュ26とのパイプラインからなる。そして
アキュムレータ25に変えて、例えば16あるいは64
ピクセル分以下のレジスタを用いても良い。
1 to 4 show an embodiment. FIG. 1 shows the structure of the image creating apparatus. Reference numeral 20 denotes a drawing pipeline, which is provided with a plurality of systems, and in the embodiment, four systems. The drawing pipeline 20 processes a first-in first-out queue 21 and an appropriate number of patch arrays accommodated in the queue 21, for example, one stroke at a time, and a sequencer for deleting the queue from the queue 21 after the processing is completed. 22, density generating means 23 for outputting the complement k of the input density in the drawing input data to each pixel in the patch, multiplying means 24, and accumulator 25
And a pipeline with the cache 26. Then, instead of the accumulator 25, for example, 16 or 64
A register for pixels or less may be used.

【0020】濃度発生手段23は、例えばパッチでのブ
ラシ形状を円形とし、円の中心からの距離で濃度を定め
るようにしたもの(1次元の濃度テーブルを使用)、あ
るいは適宜の2次元のブラシ形状をRAMに記憶しRA
Mのデータを濃度とするもの、さらにはこれらに描画入
力手段としてのデジタイザのスタイラスに加わる筆圧等
を加味したもの等を用いる。キャッシュ26の容量は例
えば1Kピクセル分等とし、4個のキャッシュ26の合
計で、1ストローク分相当の描画エリアよりも小さなも
のとする。
The density generating means 23 is, for example, one in which the brush shape of the patch is circular and the density is determined by the distance from the center of the circle (using a one-dimensional density table), or an appropriate two-dimensional brush. The shape is stored in RAM and RA
The density of the data of M, and the density of the data of the stylus of the digitizer as the drawing input means are used. The cache 26 has a capacity of, for example, 1K pixels, and the total of the four caches 26 is smaller than the drawing area corresponding to one stroke.

【0021】これらの内で、2次元のブラシ形状自体
は、画像作成装置において従来から広く用いられてきた
ものである。そしてブラシ形状を2次元とすると、ブラ
シ中心等の適宜のブラシ内原点に対する、処理対象のピ
クセルの相対アドレスを求めるだけで、ブラシデータを
読み出すことができる。このため従来例では、ブラシデ
ータの読み出しは、アドレスカウンタで相対アドレスを
1ずつ変化させて、データを読み出すことになる。そし
てこの手法では多数のピクセルを順次処理し、パッチ内
の全ピクセルの処理が終了するまで次のパッチを処理し
ないことになる。
Of these, the two-dimensional brush shape itself has been widely used in image forming apparatuses. If the brush shape is two-dimensional, the brush data can be read only by obtaining the relative address of the pixel to be processed with respect to an appropriate brush origin such as the brush center. For this reason, in the conventional example, the brush data is read by changing the relative address by one using an address counter and reading the data. In this method, a large number of pixels are sequentially processed, and the next patch is not processed until the processing of all the pixels in the patch is completed.

【0022】これに対して実施例では、2次元のブラシ
形状を用いる場合でも、パッチ単位ではなくピクセル単
位の処理を行い、1ストローク内の同じピクセルを連続
して処理する。このためパッチ毎のブラシ内原点に対す
るピクセルの相対アドレスを毎回演算で求めることにな
り、アドレス計算自体は複雑化する。しかしそれでも、
アキュムレータ等のデータに対して繰り返し乗算を行う
ことで濃度計算ができるので、描画処理を高速化でき
る。即ちアキュムレータやレジスタのデータに、同じピ
クセルの次のパッチでの濃度データを乗算するので、メ
モリへの読み出しと書き込みの2つのバスサイクルが不
要で、乗算手段24の速度に応じて濃度計算ができ、メ
モリアクセス等の処理速度を低下させる要因がない。ま
た1次元のブラシデータを用いる場合、従来法でもパッ
チの中心から処理対象のピクセルまでの半径演算が必要
で、このことは実施例でも変わらない。即ち1次元のブ
ラシデータを用いる場合、パッチ内のアドレス計算に要
する負担は、実施例も従来例も同等である。
On the other hand, in the embodiment, even when a two-dimensional brush shape is used, processing is performed not on a patch basis but on a pixel basis, and the same pixel in one stroke is continuously processed. For this reason, the relative address of the pixel with respect to the brush origin is obtained for each patch by calculation every time, and the address calculation itself becomes complicated. But still,
Since the density can be calculated by repeatedly multiplying the data of the accumulator and the like, the drawing process can be sped up. That is, since the data of the accumulator and the register are multiplied by the density data in the next patch of the same pixel, two bus cycles for reading and writing to the memory are unnecessary, and the density can be calculated according to the speed of the multiplying means 24. There is no factor that lowers the processing speed such as memory access. When one-dimensional brush data is used, the radius calculation from the center of the patch to the pixel to be processed is required even in the conventional method, and this is not changed in the embodiment. That is, when one-dimensional brush data is used, the load required for calculating addresses in a patch is the same in the embodiment and the conventional example.

【0023】30はフロントエンドプロセッサで、デジ
タイザのスタイラス等からの入力を受け付け、スタイラ
ス等はモニタ46の表示画像上の位置をカーソル等を介
して指定することにより、モニタ座標系での入力位置を
指定する。またフロントエンドプロセッサ30は、メニ
ュー等を管理する。フロントエンドプロセッサ30は、
モニタ座標系での描画位置を、記憶画像での座標系の描
画位置に換算し、同時にメニューの管理を通じて、ブラ
シの種類やカラー信号を出力する。ブラシの種類はチョ
ーク,クレヨン,油絵等に対応し、ブラシのサイズが1
パッチのサイズに対応する。またパッチは1回の描画位
置の指定での描画範囲で、パッチ内のピクセルの記憶デ
ータを更新することにより描画する。そして複数のパッ
チで1ストロークを構成し、実施例ではストローク単位
で高解像度画像への描画を行う。パッチサイズは例えば
100ピクセル×100ピクセルの10Kピクセル程度
で、ブラシの種類により変化し、また筆圧を用いる場合
には筆圧で変化することもある。
Reference numeral 30 denotes a front-end processor which receives an input from a stylus or the like of a digitizer, and the stylus or the like designates a position on a display image on the monitor 46 through a cursor or the like, thereby changing an input position in a monitor coordinate system. specify. The front-end processor 30 manages menus and the like. The front-end processor 30
The drawing position in the monitor coordinate system is converted into the drawing position in the coordinate system in the stored image, and at the same time, the type of the brush and the color signal are output through menu management. The brush type corresponds to chalk, crayon, oil painting, etc., and the brush size is 1
Corresponds to the size of the patch. The patch is drawn by updating the storage data of the pixels in the patch within the drawing range specified by one drawing position. Then, one stroke is composed of a plurality of patches, and in the embodiment, drawing on a high-resolution image is performed in units of strokes. The patch size is, for example, about 10K pixels of 100 pixels × 100 pixels, and varies depending on the type of brush, and may vary depending on the pen pressure when pen pressure is used.

【0024】上記のハードウェアを補足説明すると、待
行列21は先入先出で複数のパッチの列を特定するデー
タを記憶し、これには各パッチの中心座標、ブラシの種
類やサイズが含まれる。シーケンサ22は濃度発生手段
23からキャッシュ26までを制御し、この処理では例
えば1ストロークを構成する複数のパッチからなる列に
対して、1個のピクセルを選び出して、これに対してパ
ッチ列全体の処理を終えた後に、次のピクセルを同様に
処理する。処理すべきピクセルの座標や、ブラシの中心
座標やサイズ、種類のデータは、シーケンサ22から濃
度発生手段23に供給され、キャッシュ26への書き込
み(次のピクセルの処理を開始する直前)や、キャッシ
ュ26からの出力も、シーケンサ22から指令される。
To supplement the hardware, the queue 21 stores data for specifying a row of a plurality of patches on a first-in first-out basis, including the center coordinates of each patch, and the type and size of the brush. . The sequencer 22 controls from the density generating means 23 to the cache 26. In this processing, for example, one pixel is selected from a row of a plurality of patches constituting one stroke, and the After processing, the next pixel is processed in the same manner. The coordinates of the pixel to be processed, the center coordinates of the brush, the size, and the data of the type are supplied from the sequencer 22 to the density generating means 23, and are written into the cache 26 (immediately before the processing of the next pixel is started), The output from 26 is also instructed from sequencer 22.

【0025】濃度発生手段23は、ブラシの濃度分布に
関するデータを発生するための手段と、ブラシの中心等
を基準とした、ブラシに対する処理中のピクセルの相対
的位置に関するデータ、例えばブラシに対する処理中の
ピクセルの相対アドレス、を発生する手段を備えてい
る。例えばブラシの濃度分布に関するデータとして2次
元のテーブルが与えられているものとし、簡単のために
筆圧の影響を無視する。このようなテーブルは、例えば
ブラシの種類ごとに図示しない別のメモリに記憶されて
おり、ブラシの種類が指定される毎に濃度発生手段23
に一時的に記憶されるものとする。1ストロークの間、
ブラシの種類は一定で、処理中のピクセルの座標はシー
ケンサ22から指定され、パッチ毎にブラシ位置が変化
するが、これはブラシに対する処理中のピクセルの相対
アドレスの変化である。そこでパッチ毎に相対アドレス
を求めて、ブラシの濃度データのテーブルから、処理中
のピクセルへの濃度データを読み出し、乗算手段24へ
供給する。
The density generating means 23 includes means for generating data relating to the density distribution of the brush, and data relating to the relative position of the pixel being processed with respect to the brush with respect to the center of the brush. Means for generating the relative addresses of the pixels. For example, it is assumed that a two-dimensional table is given as data relating to the brush density distribution, and the effect of pen pressure is ignored for simplicity. Such a table is stored in a separate memory (not shown) for each brush type, for example.
To be temporarily stored. During one stroke,
The brush type is constant, the coordinates of the pixel being processed are specified by the sequencer 22, and the brush position changes for each patch. This is a change in the relative address of the pixel being processed with respect to the brush. Thus, a relative address is obtained for each patch, density data for the pixel being processed is read from the table of brush density data, and supplied to the multiplying means 24.

【0026】ブラシの濃度分布に関するデータが例えば
1次元のテーブルの場合、ブラシの中心位置等がパッチ
毎にシーケンサ22から濃度発生手段23へ供給され、
パッチ毎にブラシ中心等から処理中のピクセルへの距離
等を演算して、濃度を発生する。
When the data relating to the brush density distribution is, for example, a one-dimensional table, the center position and the like of the brush are supplied from the sequencer 22 to the density generating means 23 for each patch.
The density is generated by calculating the distance from the center of the brush or the like to the pixel being processed for each patch.

【0027】筆圧によりブラシのサイズを変更する場
合、パッチ毎にブラシの濃度分布のデータを変えて濃度
発生手段23に記憶するのは負担が大きいので、例えば
ブラシの中心に対する処理中のピクセルの相対アドレス
に筆圧を、乗算等で、加味して、ブラシのサイズを変更
する。また筆圧によりブラシの濃度を変更する場合、筆
圧を加味せずに求めた濃度に、筆圧を乗算等で加味し
て、濃度発生手段23の出力濃度を得る。さらに複数枚
のテーブルにブラシの濃度分布を記憶して、これらの間
を筆圧により補間する場合、複数のテーブルについて濃
度を求めて、得られた濃度を補間する。
When the size of the brush is changed by the pen pressure, it is burdensome to change the data of the density distribution of the brush for each patch and store it in the density generating means 23. The brush size is changed by adding the pen pressure to the relative address by multiplication or the like. When the density of the brush is changed by the writing pressure, the output density of the density generating means 23 is obtained by multiplying the writing density by the writing pressure without adding the writing pressure. Further, when the density distribution of the brushes is stored in a plurality of tables and interpolation is performed between them by writing pressure, the density is obtained for the plurality of tables and the obtained density is interpolated.

【0028】1ストロークの描画での濃度信号の補数
を、ストロークを4つの領域に空間的に分割して、4つ
のキャッシュ26に収容し、濃度信号は描画入力でのカ
ラー信号Qの寄与を示し、濃度信号の補数は高解像度メ
モリ32に記憶した描画入力前の原画像のカラー信号P
の寄与を示す。そしてフロントエンドプロセッサ30か
らのカラー信号Qと高解像度メモリ32のカラー信号P
とを、キャッシュ26の濃度信号の補数を用いて、線形
補間処理部34で線形補間する。この補間自体は公知で
ある。高解像度メモリ32の画像を、図示しないプリン
タや外部ディスク等へ出力し、また縮小処理部36で解
像度を縮小して低解像度メモリ38へ入力する。
The complement of the density signal in one-stroke drawing is spatially divided into four areas and stored in four caches 26. The density signal indicates the contribution of the color signal Q to the drawing input. And the complement of the density signal is the color signal P of the original image before drawing input stored in the high-resolution memory 32.
Shows the contribution of The color signal Q from the front end processor 30 and the color signal P from the high resolution memory 32
Are linearly interpolated by the linear interpolation processing unit 34 using the complement of the density signal in the cache 26. This interpolation itself is known. The image in the high resolution memory 32 is output to a printer or an external disk (not shown), and the resolution is reduced by the reduction processing unit 36 and input to the low resolution memory 38.

【0029】フロントエンドプロセッサ30と低解像度
メモリ38との間には、低解像度用の濃度発生手段40
と線形補間処理部42とがあり、1パッチ内のピクセル
数を例えば1/4×1/4の1/16に落として、パッ
チ単位で低解像度メモリ38の画像と入力画像とを線形
補間する。高解像度メモリ32への描画入力の処理は、
低解像度メモリ38への描画入力の処理に遅れても良
く、高解像度メモリ32への例えば描画入力処理終了後
に高解像度メモリ32の画像を縮小処理部36で縮小し
て、低解像度メモリ38へ上書きする。44はフレーム
メモリ、46はモニタで、フレームメモリ44はなくて
も良い。
Between the front-end processor 30 and the low-resolution memory 38, a low-resolution density generating means 40 is provided.
The linear interpolation processing unit 42 reduces the number of pixels in one patch to, for example, 1/16 of ×× 入 力, and linearly interpolates the image of the low-resolution memory 38 and the input image in patch units. . The process of drawing input to the high resolution memory 32 is as follows.
The processing of drawing input to the low resolution memory 38 may be delayed. For example, after the drawing input processing to the high resolution memory 32 is completed, the image of the high resolution memory 32 is reduced by the reduction processing unit 36 and overwritten on the low resolution memory 38. I do. 44 is a frame memory, 46 is a monitor, and the frame memory 44 may not be provided.

【0030】図2にストロークの空間的分割を示す。例
えば1つのストロークがパッチP1〜P9の9パッチで
構成され、パッチP1が最初のパッチで、パッチP9が
最後のパッチとする。高解像度メモリ32への描画入力
処理はストロークの入力よりも遅れても良く、例えば1
ストローク分のパッチP1〜P9の指定後に、パッチP
1〜P9の合計描画範囲を求めて4等分し、分割領域5
0〜53とし、1領域ずつ4つの描画パイプライン20
に割り当てる。
FIG. 2 shows the spatial division of the stroke. For example, one stroke is composed of nine patches P1 to P9, the patch P1 is the first patch, and the patch P9 is the last patch. The drawing input processing to the high-resolution memory 32 may be delayed from the stroke input.
After designating the patches P1 to P9 for the stroke, the patch P
The total drawing range of 1 to P9 is obtained and divided into four equal parts.
0 to 53, four drawing pipelines 20 for each area
Assign to

【0031】図3に分割領域50での処理を示し、他の
分割領域も処理は同様である。分割領域50に対するパ
ッチ列の各パッチを特定するためのデータ、例えば各パ
ッチの中心位置,ブラシの種類,パッチサイズを待行列
21に収容し、シーケンサ22は例えば1ストローク分
のパッチを一括して処理するように、パッチ列を切り出
す。そしてシーケンサ22は分割領域50での空間的順
序、即ちスキャンオーダー、に従って1ピクセルずつ処
理する。この段階でパッチP1〜P9の入力順序に意味
はなく、1パッチの処理終了後に次のパッチを処理する
のではなく、処理対象のピクセルに対して、1ストロー
ク分のパッチを順次連続して処理し、1ピクセルの処理
終了後に、次のピクセルを処理する。
FIG. 3 shows the processing in the divided area 50, and the processing is the same for the other divided areas. Data for specifying each patch of the patch row for the divided area 50, for example, the center position of each patch, the type of brush, and the patch size are stored in the queue 21, and the sequencer 22 collectively collects, for example, patches for one stroke. Cut out a sequence of patches to process. Then, the sequencer 22 processes one pixel at a time according to the spatial order in the divided area 50, that is, the scan order. At this stage, the input order of the patches P1 to P9 is meaningless, and the processing of the next patch is not performed after the processing of one patch is completed. After the processing of one pixel is completed, the next pixel is processed.

【0032】図3で、領域54が処理済み領域で、領域
55が未処理領域で、スキャンは分割領域50の例えば
左上から下へ行われ、次いで例えば1ピクセル分右側次
の列を処理するものとする。ただしスキャンオーダー自
体は任意である。濃度発生手段23は、各ピクセルのブ
ラシ上の位置から入力濃度の補数ki(iはパッチ番
号)を求め、k0は例えば1で、アキュムレータ25に
は初期値として k0=1を記憶させ、この値にkiを乗
算して、アキュムレータ25に書き戻す。この処理をパ
ッチの個数だけ繰り返すと1ピクセル分の処理が終了
し、この時点での濃度の補数値はk1・k2・・・knで
あり、この値をキャッシュ26に書き込み、次のピクセ
ルを同様に処理する。
In FIG. 3, a region 54 is a processed region, a region 55 is an unprocessed region, and scanning is performed, for example, from the upper left to the lower of the divided region 50, and then, for example, the next column to the right by one pixel is processed. And However, the scan order itself is arbitrary. The density generating means 23 calculates the complement ki (i is a patch number) of the input density from the position of each pixel on the brush, and stores k0 as 1, for example, and stores k0 = 1 as an initial value in the accumulator 25. Is multiplied by ki and written back to the accumulator 25. When this process is repeated for the number of patches, the process for one pixel is completed. At this point, the complement value of the density is k1, k2,... Kn, and this value is written to the cache 26, and the next pixel is similarly processed. To process.

【0033】上記の処理は4つの分割領域で並列に行わ
れ、例えば処理の終了したピクセルあるいは処理の終了
したピクセル列から、線形補間処理部34で高解像度メ
モリ32の原画像のカラー信号Pと、描画入力のカラー
信号Qとを線形補間する。そしてキャッシュ26は小容
量のものとし、キャッシュ26に送られたデータを線形
補間処理部34で処理して、処理済みの部分を直ちに次
のピクセルに割り当てる。このように4つの描画パイプ
ラインの合計のキャッシュ容量は、図5でのエリアRA
M10の容量よりも小さく、高速の大規模メモリを必要
としないので、ハードウェアコストが低減する。
The above-described processing is performed in parallel in the four divided areas. For example, the linear interpolation processing unit 34 calculates the color signal P of the original image in the high-resolution memory 32 from the processed pixel or the processed pixel string. , And the color signal Q of the drawing input is linearly interpolated. Then, the cache 26 has a small capacity, the data sent to the cache 26 is processed by the linear interpolation processing unit 34, and the processed portion is immediately allocated to the next pixel. As described above, the total cache capacity of the four drawing pipelines is the area RA in FIG.
Since the capacity is smaller than the capacity of the M10 and a high-speed large-scale memory is not required, hardware costs are reduced.

【0034】図4に実施例の動作を示すと、フロントエ
ンドプロセッサが描画入力を受け付けることにより描画
処理、ここではブラシサブルーチン、が開始される。描
画入力は、一般に複数のパッチの位置の指定と、各パッ
チに共通の描画入力のカラー信号の入力を伴い、フロン
トエンドプロセッサ30は描画入力を例えば低解像度で
処理することを線形補間処理部42に指令し、低解像度
メモリ38の画像を更新して、モニタ46に表示する。
このため描画入力に対する低解像度画像でのリアルタイ
ムな応答が行われる。そして低解像度メモリ38への処
理は公知であり、また低解像度メモリ38に対してこれ
と並列な描画パイプラインでの処理を行う必要は特にな
い。
FIG. 4 shows the operation of the embodiment. When the front end processor receives a drawing input, a drawing process, here a brush subroutine, is started. The drawing input generally involves specifying the positions of a plurality of patches and inputting a color signal of the drawing input common to each patch, and the front-end processor 30 determines that the drawing input is to be processed at a low resolution, for example, by the linear interpolation processing unit 42. To update the image in the low-resolution memory 38 and display it on the monitor 46.
Therefore, a real-time response with a low resolution image to the drawing input is performed. The processing to the low-resolution memory 38 is known, and there is no particular need to perform the processing to the low-resolution memory 38 in a parallel drawing pipeline.

【0035】例えば1ストローク分のパッチが入力され
たことを、所定時間の間、新たなパッチが指定されない
ことから検出し、フロントエンドプロセッサ30は1ス
トロークの領域を例えば空間的に4分割して、図2の分
割領域50〜53として、描画パイプラインに割り当て
る。そして待行列21は各パッチのデータを先入先出で
記憶し(ステップ60)、1ストローク分の処理を分割
領域内でのスキャンオーダーに従って1ピクセルずつ処
理(ステップ61)して、1ピクセルの処理終了後にキ
ャッシュ26に出力する(ステップ62)。ステップ6
0,61,62の処理は4つの描画パイプラインで並列
に行われ、処理の終了したピクセルから、高解像度メモ
リ32の対応ピクセルのカラー信号Pと描画入力したカ
ラー信号Qとの線形補間を線形補間処理部34で行う。
線形補間は Pnew=Pold×k1・k2・・・kn+Q×(1−k1・k
2・・・kn) で示される。上記の高解像度での処理と平行して、例え
ば従来法での低解像度での処理が行われて、モニタ46
に表示される。そして高解像度側で、例えば1ストロー
クの処理終了後に、低解像度メモリ38に高解像度メモ
リ32の画像の縮小画像を上書きする。またシーケンサ
22は処理の終了したパッチ列を待行列21から削除
し、次のストロークの処理に移る。
For example, the input of a patch for one stroke is detected from the fact that a new patch is not designated for a predetermined time, and the front-end processor 30 spatially divides the area of one stroke into, for example, four. Are assigned to the drawing pipeline as the divided areas 50 to 53 in FIG. The queue 21 stores the data of each patch on a first-in, first-out basis (step 60), and processes one stroke at a time on a pixel-by-pixel basis according to the scan order in the divided area (step 61). After completion, the data is output to the cache 26 (step 62). Step 6
The processes of 0, 61, and 62 are performed in parallel by four drawing pipelines, and linear interpolation between the color signal P of the corresponding pixel in the high-resolution memory 32 and the color signal Q input by drawing is performed linearly from the pixels for which processing has been completed. This is performed by the interpolation processing unit 34.
Linear interpolation is as follows: Pnew = Pold × k1 · k2... Kn + Q × (1−k1 · k
2 ... kn). In parallel with the above-described processing at a high resolution, for example, processing at a low resolution according to a conventional method is performed.
Will be displayed. Then, on the high resolution side, for example, after processing of one stroke is completed, the reduced image of the high resolution memory 32 is overwritten on the low resolution memory 38. The sequencer 22 deletes the processed patch sequence from the queue 21 and proceeds to the process of the next stroke.

【0036】描画入力の処理速度に付いて検討すると、
4つの描画パイプライン20を設けたため、演算速度は
4倍になる。さらにアキュムレータ25のデータを繰り
返して用いるため、高速で演算することができる。即ち
濃度発生手段23からの濃度信号の読み出しと、乗算手
段24での乗算及び結果のアキュムレータ25への書き
込みの2つの処理を並列に行えば、1ピッチで1演算を
行うことができ、乗算手段24には無駄な時間が生じな
い。
Considering the processing speed of drawing input,
Since four drawing pipelines 20 are provided, the calculation speed is quadrupled. Further, since the data of the accumulator 25 is used repeatedly, the operation can be performed at high speed. That is, if two processes of reading the density signal from the density generating unit 23 and multiplying by the multiplying unit 24 and writing the result to the accumulator 25 are performed in parallel, one operation can be performed at one pitch. 24 has no wasted time.

【0037】メモリへのアクセスでは、キャッシュ26
への書き込みは、1ストローク内の各ピクセルに対して
1回で、また高解像度メモリ32へのアクセスは1スト
ロークに対し、描画範囲内の各ピクセルに読み出しが1
回と書き込みが1回である。例えばパッチサイズが10
Kピクセルで、1ストロークの間にパッチの直径程度の
距離をスタイラスが移動したとすると、1ストロークで
の描画範囲は約20Kピクセルとなる。このため各キャ
ッシュ26に5K回の書き込みが行われ、高解像度メモ
リ32には読み出しが約20K回と、書き込みが約20
K回行われる。そして各キャッシュ26の容量は例えば
1Kピクセル分程度で充分であり、小さなキャッシュ2
6を用いることができる。
In accessing the memory, the cache 26
Is written once for each pixel in one stroke, and access to the high-resolution memory 32 is one read for each pixel in the drawing range for one stroke.
Times and one writing. For example, if the patch size is 10
Assuming that the stylus moves by a distance of about the diameter of the patch during one stroke with K pixels, the drawing range in one stroke is about 20K pixels. For this reason, each cache 26 is written 5K times, and the high-resolution memory 32 is read about 20K times and written about 20K times.
Performed K times. The capacity of each cache 26 is, for example, about 1 K pixel, which is sufficient.
6 can be used.

【0038】図5の比較例での乗算速度を検討すると、
図7で第2の演算パイプラインについて示したように、
ピクセルnに対する乗算と次のピクセルn+1のデータ
のエリアRAM10からの読み出しとを並列に行い(第
1ピッチ)、次のピッチでピクセルnの乗算結果をエリ
アRAM10に書き戻す(第2ピッチ)ことになる。こ
のため1回の乗算に2ピッチ必要で、実施例に比べて乗
算速度は1/2に低下する。
Considering the multiplication speed in the comparative example of FIG.
As shown in FIG. 7 for the second operation pipeline,
The multiplication for the pixel n and the reading of the data of the next pixel n + 1 from the area RAM 10 are performed in parallel (first pitch), and the multiplication result of the pixel n is written back to the area RAM 10 at the next pitch (second pitch). Become. For this reason, two pitches are required for one multiplication, and the multiplication speed is reduced to half compared with the embodiment.

【0039】また図5の並列処理では、エリアRAM1
0に10K×10の100K回の読み出しと書き込みが
行われ、実施例に比較しメモリへのアクセス回数は4倍
になる。即ち実施例は、図5と比較して、4倍高速のメ
モリとバスとを用い、2倍後側の乗算手段を用いたのと
同等である。このため描画パイプラインを増強すれば、
実質上任意の速度に描画入力処理を高速化できる。また
図5の並列処理では、ストロークのサイズ以上のエリア
RAM10が必要であるが、実施例では小さなキャッシ
ュ26を4個配置するだけでよい。
In the parallel processing shown in FIG.
Reading and writing of 10K × 10 100K times are performed on 0, and the number of accesses to the memory is quadrupled as compared with the embodiment. That is, the embodiment is equivalent to using a memory and a bus that are four times as fast as those in FIG. Therefore, if we increase the drawing pipeline,
The drawing input processing can be sped up to a substantially arbitrary speed. Further, in the parallel processing of FIG. 5, an area RAM 10 having a size equal to or larger than the size of the stroke is required, but in the embodiment, only four small caches 26 need be arranged.

【0040】実施例について補足すると、アキュムレー
タ25に変えて容量が16ピクセル分あるいは64ピク
セル分等のレジスタを用い、1パッチについてレジスタ
の容量分のピクセルを処理した後に次のパッチに移って
も同様である。ただしレジスタやアキュムレータは高価
なメモリであり、アキュムレータ25が最も簡便で好ま
しい。
As a supplementary explanation of the embodiment, a register having a capacity of 16 pixels or 64 pixels is used in place of the accumulator 25, and the same processing is performed after processing the pixels corresponding to the capacity of the register for one patch and then moving to the next patch. It is. However, the register and the accumulator are expensive memories, and the accumulator 25 is the simplest and preferable.

【0041】極めて長いストロークが入力されると、シ
ーケンサ22は処理可能なパッチ数(例えば10パッ
チ)にストロークを分割して処理し、あるいは1ストロ
ークの処理中に次のストロークが入力されると、シーケ
ンサ22は前のストロークの処理終了後に新たなストロ
ークを処理する。また1ストロークのパッチ列を例えば
2つに分割して、分割したパッチ列を1ストロークと見
なして処理しても良い。
When an extremely long stroke is input, the sequencer 22 processes the stroke by dividing it into the number of patches that can be processed (for example, 10 patches), or when the next stroke is input during the processing of one stroke. The sequencer 22 processes a new stroke after finishing the processing of the previous stroke. Alternatively, a one-stroke patch array may be divided into, for example, two, and the divided patch arrays may be regarded as one stroke for processing.

【0042】実施例では平面画像の処理を例示したが、
3D画像の処理に適用しても良く、その場合は高解像度
メモリに3D画像のテクスチャー画像等を記憶して、処
理対象とする。また高解像度メモリ32を多数プレーン
分用意し、指定されたプレーンの画像に対して処理を行
っても良い。
Although the processing of the plane image has been exemplified in the embodiment,
The present invention may be applied to the processing of a 3D image. In this case, a texture image or the like of the 3D image is stored in a high-resolution memory and is processed. Alternatively, the high-resolution memory 32 may be prepared for a number of planes, and processing may be performed on an image of a designated plane.

【図面の簡単な説明】[Brief description of the drawings]

【図1】実施例の画像作成装置の要部ブロック図FIG. 1 is a main block diagram of an image creating apparatus according to an embodiment.

【図2】実施例でのパッチ列の描画パイプラインへの割
り当てを示す図
FIG. 2 is a diagram showing allocation of a patch sequence to a drawing pipeline in an embodiment.

【図3】実施例での各ピクセル毎の処理を示す図FIG. 3 is a diagram showing processing for each pixel in the embodiment.

【図4】実施例でのブラシ処理のアルゴリズムを示すフ
ローチャート
FIG. 4 is a flowchart illustrating an algorithm of a brush process in the embodiment.

【図5】従来例の画像作成装置の要部ブロック図FIG. 5 is a block diagram of a main part of a conventional image forming apparatus.

【図6】従来例での並列処理を示す図FIG. 6 is a diagram showing parallel processing in a conventional example.

【図7】従来例での描画パイプラインでのパッチの処理
とエリアRAMへのアクセスを示す図
FIG. 7 is a diagram showing patch processing and access to an area RAM in a drawing pipeline in a conventional example.

【符号の説明】[Explanation of symbols]

2,22 シーケンサ 4,23 濃度発生手段 6,24 乗算手段 8 バレルシフタ 12 線形補間部 10 エリアRAM 14 ファイルメモリ 16 処理終了領域 18 未処理領域 20 描画パイプライン 21 待行列 25 アキュムレータ 26 キャッシュ 30 フロントエンドプロセッサ 32 高解像度メモリ 34,42 線形補間処理部 36 縮小処理部 38 低解像度メモリ 40 低解像度用濃度発生手段 44 フレームメモリ 46 モニタ 50〜53 分割領域 54 処理済み領域 55 未処理領域 2,22 Sequencer 4,23 Concentration generating means 6,24 Multiplying means 8 Barrel shifter 12 Linear interpolation unit 10 Area RAM 14 File memory 16 Processing end area 18 Unprocessed area 20 Drawing pipeline 21 Queue 25 Accumulator 26 Cache 30 Front end processor 32 High-resolution memory 34, 42 Linear interpolation processing unit 36 Reduction processing unit 38 Low-resolution memory 40 Low-density density generating means 44 Frame memory 46 Monitor 50-53 Divided area 54 Processed area 55 Unprocessed area

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 作成過程の画像をメモリに記憶してモニ
タに表示し、この表示画像上の位置を指定して、複数の
ピクセルからなるパッチの単位で、描画データを入力す
るようにした画像作成装置において、 複数のパッチからなる描画範囲から、少なくとも1ピク
セルからなる処理範囲を定めるための手段と、前記処理
範囲に対して、該処理範囲での処理が終了するまで前記
の複数パッチ分の処理を繰り返して行うための処理手
段、とを備えた描画パイプラインを設けたことを特徴と
する画像作成装置。
1. An image in which an image in the process of being created is stored in a memory and displayed on a monitor, a position on the display image is designated, and drawing data is input in units of a patch composed of a plurality of pixels. A creating device configured to determine a processing range including at least one pixel from a drawing range including a plurality of patches; and a processing unit that determines the processing range for the plurality of patches until the processing in the processing range ends. An image forming apparatus, comprising: a drawing pipeline provided with processing means for repeatedly performing processing.
【請求項2】 前記描画パイプラインを複数設けて、各
描画パイプラインに前記描画範囲を該描画範囲上の位置
の異なる複数の領域へと空間的に分割して割り当てるこ
とにより、各描画パイプラインで並行処理するようにし
たことを特徴とする、請求項1の画像作成装置。
2. A drawing pipeline, comprising: a plurality of drawing pipelines; each drawing pipeline being spatially divided and assigned to a plurality of regions having different positions on the drawing range. 2. The image forming apparatus according to claim 1, wherein the processing is performed in parallel.
【請求項3】 前記処理手段は、直列に配置された、各
パッチでの各ピクセルの描画濃度データを発生するため
の濃度発生手段と、乗算手段と、レジスタとを有し、 前記乗算手段は、レジスタの記憶データと前記濃度発生
手段のデータとの乗算を、前記レジスタの記憶データに
対して複数パッチ分繰り返し行うことを特徴とする、請
求項1の画像作成装置。
3. The processing means includes density generation means for generating drawing density data of each pixel in each patch, serially arranged, a multiplication means, and a register, wherein the multiplication means 2. The image forming apparatus according to claim 1, wherein the multiplication of the data stored in the register and the data of the density generating means is repeated for a plurality of patches on the data stored in the register.
【請求項4】 前記処理範囲は1ピクセルからなり、か
つ前記レジスタはアキュムレータであることを特徴とす
る、請求項3の画像作成装置。
4. The image forming apparatus according to claim 3, wherein said processing range includes one pixel, and said register is an accumulator.
【請求項5】 前記描画パイプラインの出力側にキャッ
シュメモリを設けたことを特徴する、請求項3の画像作
成装置。
5. The image creating apparatus according to claim 3, wherein a cache memory is provided on an output side of said drawing pipeline.
【請求項6】 作成過程の画像をメモリに記憶してモニ
タに表示し、この表示画像上の位置を指定して、パッチ
単位で描画データを入力するようにした画像作成方法に
おいて、 複数のパッチからなる描画範囲を、各複数のピクセルか
らなりかつ該描画範囲上の位置の異なる複数のグループ
へと分割して、前記複数のグループを複数の描画パイプ
ラインに割り当て、 各描画パイプラインでは、割り当てられた範囲から、少
なくとも1ピクセルからなる処理範囲を定め、定められ
た処理範囲に対して該処理範囲での処理が終了するまで
前記複数パッチ分の処理を繰り返して行い、処理範囲の
決定と定められた処理範囲の処理とを繰り返して、割り
当てられた範囲を処理することを特徴とする、画像作成
方法。
6. An image creation method in which an image in the course of creation is stored in a memory and displayed on a monitor, a position on the display image is designated, and drawing data is input in patch units. Is divided into a plurality of groups each including a plurality of pixels and having different positions on the drawing range, and the plurality of groups are assigned to a plurality of drawing pipelines. A processing range consisting of at least one pixel is determined from the set range, the processing for the plurality of patches is repeatedly performed on the determined processing range until the processing in the processing range is completed, and the processing range is determined and determined. An image forming method, wherein the processing of the assigned processing range is repeated to process the assigned range.
JP10344888A 1997-12-22 1998-11-17 Image creation apparatus and image creation method Expired - Lifetime JP3047009B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10344888A JP3047009B2 (en) 1997-12-22 1998-11-17 Image creation apparatus and image creation method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP36579697 1997-12-22
JP9-365796 1997-12-22
JP10344888A JP3047009B2 (en) 1997-12-22 1998-11-17 Image creation apparatus and image creation method

Publications (2)

Publication Number Publication Date
JPH11242750A JPH11242750A (en) 1999-09-07
JP3047009B2 true JP3047009B2 (en) 2000-05-29

Family

ID=26577897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10344888A Expired - Lifetime JP3047009B2 (en) 1997-12-22 1998-11-17 Image creation apparatus and image creation method

Country Status (1)

Country Link
JP (1) JP3047009B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116756444A (en) * 2023-06-14 2023-09-15 北京百度网讯科技有限公司 Image processing method, device, equipment and storage medium

Also Published As

Publication number Publication date
JPH11242750A (en) 1999-09-07

Similar Documents

Publication Publication Date Title
JP5956770B2 (en) Tile-based graphics system and method of operating such a system
JP2637931B2 (en) Computer system for texture mapping
US5287438A (en) System and method for drawing antialiased polygons
US5175806A (en) Method and apparatus for fast surface detail application to an image
US6002407A (en) Cache memory and method for use in generating computer graphics texture
US6940514B1 (en) Parallel initialization path for rasterization engine
KR100448724B1 (en) Data processing unit and shading unit
US7151544B2 (en) Method for improving texture cache access by removing redundant requests
US6831658B2 (en) Anti-aliasing interlaced video formats for large kernel convolution
JPH0628485A (en) Texture address generator, texture pattern generator, texture plotting device and texture address generating method
JPH09231383A (en) Constitution of mip map/lip map texture linear addressing memory and address generator
US20030179199A1 (en) Method of creating a larger 2-D sample location pattern from a smaller one by means of X, Y address permutation
US6943797B2 (en) Early primitive assembly and screen-space culling for multiple chip graphics system
US7069387B2 (en) Optimized cache structure for multi-texturing
US6943796B2 (en) Method of maintaining continuity of sample jitter pattern across clustered graphics accelerators
US20040012610A1 (en) Anti-aliasing interlaced video formats for large kernel convolution
JP3047009B2 (en) Image creation apparatus and image creation method
US20040008204A1 (en) Switching sample buffer context in response to sample requests for real-time sample filtering and video generation
US6329995B1 (en) Image creation apparatus and image creation method
US7042452B1 (en) Triangle coverage estimation and edge-correct tessellation
US20040012609A1 (en) Data management to enable video rate anti-aliasing convolution
JPH05342095A (en) Interleave memory for adjacent interpolaton and image processor using this memory
JPH01131976A (en) Device and method for texture mapping
US7023444B2 (en) Multi-texturing by walking an appropriately-sized supertile over a primitive
US20030231180A1 (en) Image processing apparatus and method of same