JPH0215381A - ラスタ操作実行方法、時間領域多重化方法および画像処理方法 - Google Patents

ラスタ操作実行方法、時間領域多重化方法および画像処理方法

Info

Publication number
JPH0215381A
JPH0215381A JP7160489A JP7160489A JPH0215381A JP H0215381 A JPH0215381 A JP H0215381A JP 7160489 A JP7160489 A JP 7160489A JP 7160489 A JP7160489 A JP 7160489A JP H0215381 A JPH0215381 A JP H0215381A
Authority
JP
Japan
Prior art keywords
patch
plane
shifted
pixel
shift
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.)
Pending
Application number
JP7160489A
Other languages
English (en)
Inventor
Neil F Trevett
ネイル フランシス トレヴェット
Malcolm E Wilson
マルコム エリック ウィルソン
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.)
3DLabs Ltd
Original Assignee
DuPont Pixel Systems 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
Priority claimed from GB8806845A external-priority patent/GB2215952A/en
Priority claimed from GB8806837A external-priority patent/GB2215948A/en
Application filed by DuPont Pixel Systems Ltd filed Critical DuPont Pixel Systems Ltd
Publication of JPH0215381A publication Critical patent/JPH0215381A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、概して画像処理に関し、特には画像メモリ内
でラスク操作を実行するための装置および方法に関する
ものである。
[従来の技術] ラスク操作は、画像の四角形部分の操作を実行するため
に使用される。画像メモリ内の第1四角形領域(ソース
)および第2四角形領域(デスティネーション)は、相
互間でいかなるプール演算でも実行することができる。
プール演算の結果は、デスティネーション四角形領域に
位置付けられる。最も単純なラスク操作は、単にソース
画素をデスティネーション画素に置換することである。
これは通常、画素対画素を基にして実行される。各々の
画素にはアドレスが割り当てられており、読み込み画素
は、新しいアドレスに従って、デスティネーション領域
の新しいロケーションへ移行する。この様な移行は、通
常コピーと呼ばれている。
単純なコピーにはブロック転送処理が含まれる。ソース
・ロケーションの画素は、グループとして所望のデステ
ィネーション・ロケーションヘコビーされる。典型的な
ブロック転送は、画素対画素を基に実行される。このよ
うなコピーの結果、デイスプレィ画面上でのソース・ロ
ケーションからデスティネーション・ロケーションへと
画像が移動する。
さらに高度なラスク操作には、通常、移動した画素のプ
ール演算が含まれており、デスティネーション・ロケー
ションの画素はプール演算の結果を反映する。プール演
算により、コピーされた画像に所望の変更を加えること
ができる。周知の通り、プール演算は画素上で実行され
る論理演算である。プール演算は桁の切り上げや切り下
げを必要としないため、これらを必要とする算術演算(
加減乗除)と、対照的である。
従来のプール演算の一般例としては、画素のマージがあ
る。デスティネーション・ロケーションでの二つの画像
の合成は、画像マージのひとつである。1ビツトの画像
では、2つの画像は゛OR′演算を使用してマージされ
る。両画像のバックグラウンドが0′で、値゛1′の画
素によって画像内のオブジェクトが表されるとすれば、
論理゛OR′は、デスティネーション画像に両画像のす
べてのオブジェクトが含まれることになる。
論理演算゛OR′を使用したブロックコピー操作の一例
を第1図および第2図により説明する。ブロックコピー
される第1画像を含むソース102と、第2画像を含む
デスティネーション領域104で、論理演算゛OR′を
実行すると仮定する。ソースから、デスティネーション
へコピーを実行している間に、2領域102 、104
の論理和か実行され、その結果、デスティネーション領
域104に双方の画像が現される(第2図)。ソースと
デスティネーションの領域間で論理演算が実行されるよ
うなブロックコピー操作では、デスティネーション領域
が論理演算゛OR′のデータを提供するための第二ソー
スとして有効的に働くということが理解されるべきであ
る。
以下の文献には、−成約なラスク操作についての優れた
考察が述べられている。本願には、その全文が参考とし
て統合されている。
5ection  5−6  # Ra5ter  M
ethods  For  Trans−format
ions   : Hearn、Donald  an
d  M、PaulineBaker  : Comp
uter Graphics、(Prentice−H
allInternat、1ona1.1986)(:
hapter 5 ’  Segments”  : 
Harrington、5teven;Compute
r  Graphics−A  programmin
g  八pproach。
(McGraw−11+11  Inc、、1983.
Internationalstudent  Edi
tion) (:hapter  5  ”  CC11ppin 
 and  ffindowingChapter  
15“ Ra5ter−Graphics  Fund
amentals”Chapter  19’  Ra
5ter  Graphics  SystermsC
hapter  18“ Ra5ter Displa
y Hardware   ; Newman、Wil
liam  M、and  Robert  F、5p
roull  :Pr1ncipJs  of  Ir
+teractive  Computer  Gra
phics(McGraw−11i11  Inter
national’ 、Book  Company。
1981.International  5tude
nt  Edition)[発明の概要J 本発明は、画像メモリ(デイスプレィ・メモリおよびも
しあればノンデイスプレィまたはオフスクリーン・メモ
リを含む)内で、ラスク操作ブロック転送機能を実行す
るための新しくかつ効率的なシステムおよび方法を具え
るものである。種々の実施例において、操作には単純コ
ピー、すベテノプール関数(011,AND、 INV
EllT、No 0I’ERATION。
XORおよびこれらのホ■み合わせを含むが、この限り
ではない)、すべての算術関数(ADD、5IIBTR
ACT、 MtlLTIPLY、DIVIDEおよびこ
れらの組み合わせを含むが、この限りではない)、平面
スワツピングおよび/またはマスク・コピーをj画用す
ることができる。
画素対画素のアプローチとは反対に、ソースとデスティ
ネーション(領域またはアドレス)間のパッチ・アプロ
ーチが使用される。パッチ・アプローチは、画素か、一
つのメモリサイクルの(予め還択された隣接画像の四角
形領域の)画素の2次元パッチの画像(フレーム)メモ
リからアクセスされるという事実と関連している。
パッチ・アクセス・システムおよび方法には、画像デー
タを大きなグループ(例えば、2o画素のパッチ)で処
理できるという利点がある。従って、画像の処理、表示
および保存のスピードを著しく速めることができる。例
えば、8ピツ]・画素5×4の配列により定義されるパ
ッチをアクセスする場合、フレーム・メモリは、同時に
160ビツトの読み込みおよび書き込みを実行すること
ができる。すなわち、画素データバスのバンド幅を画素
アクセスシステム(すなわち、画素は8ビツトにより定
義される)の20倍に増加することができる。さらに、
5×4パッチ構造は、1280x 1024画素の標準
的な高解像度グラフィック・デイスプレィ・モニタに良
好に適合する。5×4パッチの画素データ構造はスクリ
ーン・リフレッシュ・メモリが、X、Yの両方向にそれ
ぞれ正確に256パッチ(および指定可能ロケーション
)を持っていることを意味している。画像メモリと関連
デイスプレィモニタのアドレス指定が同次元である事は
、概念上多くの操作を簡易化し、実行速度を高める。
パッチ・アクセス処理の欠点は、このシステムがスピー
ドと概念上の簡易性を得た一方で粒状度(gra旧+1
arity)を損失したことにある。すなわち、1パッ
チより小さいデータグループの操作、およびパッチ境界
内に定義されていない画像領域での作業が難しくなった
ということである。
本発明のシステムおよび方法は、1画素までの粒状度の
画像を操作し、グループの画素データをパッチ境界内に
定義されていない領域間でコピーするという点て、パッ
チ・アクセス・プロセッサの能力を著しく改善した。
本発明者らは、多くの重要な画像処理を1画素の粒状度
およびアドレス指定能力で実行可能とし、パッチ・アク
セス処理の全ての利点を得るようなシステム・アーキテ
クチャと操作方法を発明した。さらに、零発/各らは、
ビット・ポジションを同じ画素内で交換および/または
異なる画素間でスワップさせることによって、画素デー
タをビット平面内のいたる所で処理するシステムおよび
方法を確立することにより、従来の画素粒状度の限界と
いう概念を超越した。
[実施例] 以下、図面を参照し、次の目次に従った順序で本発明の
詳細な説明する。
(目次) ■概要 11  本発明のシステムおよび方法の好適実施例a)
システム環境 b)画像データ形式 C)操作の概略 d)入力パッチ・レジスタ e)シフトおよびマージ操作の目的 f)Xシフトおよびマージ g)時間領域の多重化(Time Domain Mu
ltiple:II IV ■ xing) h)Yシフト i)ライン・ストレージRAM j)論理装置 k)出力マルチプレクサ 1)出力パッチ・レジスタ m)書ぎ込み(ライト)マスク n)ベージ・モード・アドレッシング 0)シフト計算 平面スワツピングおよびビット・ポジション処理 変形と強調 結論 ■概要 広義的に、本システムおよび方法は、画像記憶装置とは
別に、シフト論理および非表示1’lAM領域を採用し
ている。シフト論理は、コピーする画像のパッチのシフ
トおよび水平マージに使用される。非表示RAM領域(
ライン・ストレージRAM )は、垂直マージおよび画
像記憶装置のデスティネーション・ロケーションにコピ
ーする画像の全ラインを一時的に保存するために使用さ
れる。
保存された画像を画像記憶装置の画像のデスティネーシ
ョン・ロケーションに合成するため、論理ユニットもま
た使用されている。特定のプール関数または算術関数を
使用することにより、画像記憶装置に記憶されている一
つ以上の画像領域を、同時に処理することができる。
!i 末完 のシステムおよび 法の好適実施例第3図
は、本発明のシステムおよび方法の好適実施例を示す概
要ブロック図である。
a)システム環境 第3図に示すように、画像メモリ302は、ビデオ・デ
イスプレィ装置(不図示)の画素ロケーションに相当す
る2次元メモリ・ロケーション・フォーマットに従って
、画素単位でビデオ画像を記憶している。画像メモリ3
02は、ダイナミックRAMのようなランダム・アクセ
ス記憶装置を使用することにより、いかなる設計も可能
である。好適には、画像記憶装置は、日本の日立社のm
ode153462 VRAM(OようなビデオRAM
 (VRAM) ヲ使用した従来の設計のものである。
本実施例のシステムで使用している画像メモリは、非選
択平面をマスキングしながら、選択した画像平面の部分
集合を書き込む能力を持っている(すなわち、各画素を
定義するビットの部分集合を書き込む)。さらに、メモ
リは、X方向のVRAMのページ・モード・アクセスを
実行できるようになっているのが好ましい0画像メモリ
としては、英国、5 Penrhyn Road。
Kingston upon Thames、 5ur
rey KTI 2BTにあるDu Pont Pix
el Systems Lim1ted  (旧名be
nch−Mark  Technologies  L
im1ted  )  製のDu  PontPixe
l Systems bFs Framestoreを
好ましく用いることかできる。これら実施例で使用する
装置は代表に過ぎず、既存あるいは今後開発されるすべ
ての適合性のあるRAM装置が、本発明に適用できると
いうことが理解されなければならない。
ビデオ・デイスプレィ装置(図には示されていない)は
、画像メモリ302に記憶されたビデオ画像を表示する
。本実施例のビデオ・デイスプレィ装置は、日本の東京
にあるソニー社製のmodelGTM 1901−22
のような高解像度ラスク走査ビデオ・モニタである。こ
のモニタは、横方向(行)1280画素、縦方向(カラ
ム) 1024画素の2次元ビデオ画像を表示するもの
であり、本発明の実施例に適合する。既存あるいは今後
開発されるすべての適合性のあるデイスプレィ装置も本
発明に適用できる。
画像メモリ302は、出力ボート304を備えており、
データ・バス306と接続している。画像メモリ302
は、アドレス/コントロールバス310により供給され
るプロセッサ308からのアドレス信号に応答して、隣
接メモリ・ロケーションに記憶されている画素をデータ
・バス306に出力する。プロセッサ308は以下に説
明する本発明の様々な段階(ブロック)の処理を制御す
る。本実施例では、プロセッサ308は、ビット・スラ
イス・グラフィックス・プロセッサで、本発明の様々な
段階を命令マイクロコードを使用して制御する。
プロセッサとしては、Du Pont Pixel S
ystemsLimited 、  (英国、5 Pe
nrhyn Road、にingston uponT
hames、 5urrey KTI 2BT)のDu
Pont PixelSystems GIPを好まし
く用いることができるが、本発明がその他のプロセッサ
も適用可能とすることを理解されたい。
b)画像データ形式 本発明の一形態では、画素データを出力、操作、処理お
よび供給するために、パッチ処理を使用している。パッ
チは、画像メモリ302に記憶されている画像の隣接す
る画素の1グループである。パッチの最少単位は、2行
2列の4画素から成る正方形である。最大パッチは、デ
イスプレィ装置のデイスプレィ・フレームを形成してい
る画素の総数となる。
木実施例で使用しているパッチは、第4図に示すような
横5画素、縦4画素の長方形である。従って、本例のパ
ッチは、隣接する200画素形成されている。各画素に
はビット番号が指定されており、データワードを構成し
ている。画素に指定されたデータワードには、ディジタ
ル語で表現可能なディジタル状態番号で定義された連続
体(パレット)の画素の色、彩度などの指定情報が含ま
れている。木実施例では、画像メモリ302に記憶され
た各画素ワードは、8ビツトである。しかしワードのサ
イズは、内容の範囲および/または画素の記憶に必要な
一定の機能/条件により、1以上のいかなるビット数に
もなり得ることが理解されなければならない。従りて、
本例の5×4画素のパッチには160ビツトのデータが
含まれていることが分かるはずである(5画素×4画素
×8ビット)。
本例のパッチ構造は、第4図を参照すると理解しやすい
。第4図は、1104,406.408,410,41
2,414゜148.418の8平面から成る5×4パ
ッチ(包括して参照番号402で表される)を示してい
る。各平面は、パッチ402に定義されている200画
素1ビツトの深さのスライスである。本例のパッチ40
2は、各画素の定義に8ビツトを使用するため、各パッ
チは8平而から成っている。仮に、各画素を1ビツトで
定義するとすれば、パッチは】平面した持たないという
ことになる。通常、1パッチは、その画素を定義してい
るビット数と同数の平面から成っている。このため、パ
ッチの各平面を、平面またはパッチ平面と呼ぶことにす
る。
第4図はまたパッチおよびパッチ平面の画素データの番
号構成を示している。第4図から、定義されたパッチは
4行5列であることが分かるであろう。パッチおよびパ
ッチ平面内の画素ポジションには、0(左下)から19
(右上)までの番号が付けられている。これらの番号は
、本書の参照番号として使用される。例えば、パッチ平
面のビット7とは、(概念上)下から2行目、左から3
列目の位置にあるビットを示している。ビットの番号構
成は、本書の20ビツト・パッチ平面データ・バスにも
同棟に供給されるものとする。
また、本書では、パッチ平面の行と列とが定義されてい
る。パッチ平面の第1行(行1)は、0.1,2,3.
4のデータ・ポジションから成ると定義される。第2行
(行2)は、5.6゜7.8.9のデータ・ポジション
から成ると定義される。第3行(行3)は、データ・ポ
ジション!0,11,12.13.14から、第4行(
行4)は、15,16゜17、ill、19から成ると
定義される。パッチ平面の第1列(列1)は、0. 5
.10.15のデータ・ポジションから成っている。第
2列(列2)は、1゜6、11.16のデータ・ポジシ
ョンから成っている。第3列(列3)は、2. 7.1
2.17のデータ・ポジションから成っている。第4列
(列4)は、3.8.13.18のデータ・ポジション
から成っている。第5列(列5)は、4,9,14゜l
9のデータ・ポジションから成っている。
上記内容から、ビデオ・デイスプレィ画面および画像メ
モリは、5×4パッチ(またはその他の与えられたパッ
チ次元)の複数の水平行から形成されたものとして概念
化することができる。同様に、すべての四角形画像領域
は、これらのパッチの水平行から形成されていると概念
化できる。
本書では、パッチの行は“ライン”または゛パッチ行°
゛として呼ぶことにする。この定義は、゛°ライン“ 
(上記で定義したパッチの行)と、以降単に゛°行゛°
と呼ぶパッチ内の画素の行(またはパッチ平面のビット
群)との相違を明確にするためのものである。本書で使
用される゛カラム”という語は、パッチ内の画素の列(
またはパッチ平面のビット群)を意味する。
また、本書では、画像を形成しているすべてのパッチの
1ビツトの深さのスライスを、画像平面と呼ぶことにす
る。
C)操作の概略 本装置および方法の実施例では、画素データのパッチは
、グラフィックス・プロセッサ308により供給される
アドレスおよびコントロールデータに応じて画像メモリ
302からアクセスされる。入力パッチ・レジスタ31
2へは、1回に1パッチずつロードされる。入力パッチ
・レジスタは選択された各パッチの平面を、Xシフトお
よびマージ論理回路314および論理ユニット317の
1入力端子へ出力する。Xシフトおよびマージ回路内で
は、パッチ・データの平面は、X方向に所望の数値だけ
シフトされ、次に、水平に隣接したパッチのデータ平面
とマージされる。
Xシフトされたパッチ平面は、Xシフトおよびマージ論
理回路からYシフトブロック311i−\転送される。
Yシフト論理回路は、パッチ平面をY方向に所望の行数
だけシフトするが、マージは実行しない。XおよびYシ
フトされたパッチ平面は、次に中間RAM  (すなわ
ちライン・ストレージRAM318)に保存される。ラ
イン・ストレージRAMには2つの目的に使用される。
第1X−目的は、現行および既存の入力パッチ平面の行
から選択された画素の行をマージして、完全な出力パッ
チ平面を作成することである。第2目的は、ページ・モ
ードの画像メモリ302がデータを直接読み込むことが
できるよう、完全にシフトおよびマージされたパッチ平
面の全ラインを記憶することである。
ライン・ストレージRAMから、新しく作成されたパッ
チ平面が論理ユニット317に転送される。
論理ユニットは、新しく作成されたパッチ平面とデステ
ィネーション・パッチ・データ(平面の一つが論理ユニ
ット入力端子に適切に準備されているもの)との間で、
プール演算を実行する。論理ユニット317からは、パ
ッチ平面にいくつかの処理が行われる。第1に、パッチ
平面は、グラフィックス・プロセッサ308の書き込み
マヌク・レジスタ320を起動させるのに用いることが
できる。第2に、各平面は、2 : I M[1,X 
324の操作を通じて第2データ・バス322のもう一
つのラスク操作プロセッサからの平面と置換することか
てぎる。2つの3状態バッファ326,328は、他の
ラスク操作プロセッサと現システムとの間のマスク・デ
ータの流れを制御する。最後に、平面は2:IMIXを
通じて出力レジスタ330に転送され、すぐに画像メモ
リに書き込まれる。この処理はコピーするパッチ平面が
残っている限り繰り返される。
できれば、完全なソース四角形が、−度に一つの(非T
DM )または二つの(TDM )画像平面の処理によ
って処理され、次の画像平面の処理に戻るのが望ましい
。表示破壊作用を低減するためには、最も重要な画像平
面を最初に処理するのが好ましい。本装置および方法に
おいて、最も重要という用語は、表示画像の完全性に最
も影晋を与える画像平面を意味している。通常、最も重
要な画像平面は、各画像パッチ内の高配列ビットの画素
を占めている。
明確化のため、本装置を以降B1ft (ブロック転送
)プロセッサと呼ぶことにする。
d)入力パッチ・レジスタ 入力パッチ・レジスタの目的は、各々の完全なパッチに
関連する160ピッ1−のデータを集積し、B11tプ
ロセツサに処理する一つの平面(すなわち20ビット、
1画素1ビツト)を選択させることである。本実施例で
は、完全なデスティネーション(転送先)画像データが
作成されるまで、−度に一つ(非TDM)または二つ(
TDM )の平面上で、ラスク操作が実行される。この
処理を達成するために、入力パッチ・レジスタ312は
完全す160ビツト・パッチを保存し、グラフィクス・
プロセッサ308からの制御データに応じて選択された
処理平面を出力する。
入力パッチ・17ジスタ(第9図)は、8個の20ピツ
[・・1.ノジスタ902.904.906,908,
910,912,914゜916から成っており、各レ
ジスタは、可逆データ・バス306上のパッチ・データ
の1平面を受信する。レジスタを起動したい場合は、グ
ラフィックス・プロセッサ308が論理回路ゲート92
2に接続する入力レジスタロートイネーブル1ライン9
1(左下)に出力を行う。これにより、プロセッサ・ク
ロック1ooo (ライン920上)が、可逆データ・
バス306からの160ビツト・パッチを持つ入力レジ
スタを起動する。プロセッサ・クロック1000は、グ
ラフィック・プロセッサ308により生成され、画像メ
モリ・データバス306に接続する画像メモリ302か
らパッチが出力されるごとに1回循環する。第9図に示
すように、画像メモリ・データ・バス306の全180
ビツトのパッチは、人力レジスタに平行にロードされる
。パッチ・データがレジスタにロードされると、B11
tプロセツサの操作が開始可能となる。
PAL 924 は、人力レジスタの出力使用可能ライ
ンの制御を行い、Ba1tプロセツサにより処理される
平面を制御している。8平面(20ビツト)のどの平面
を出力するのかを選択するために、PALは、8木のコ
ントロールラインを使用する。これらのラインは、グラ
フィックス・プロセッサ308により生成されるのが望
ましい。これらは、以下のラインから構成されている。
すなわち、3木の入力0レジスタ・フェーズ1大力平面
選択ライン926  (PAL 924 にTDM B
11jプロセッサ操作の第1第図フェーズに与える平面
を選択させるためのもの)、3木のフェーズ2大力平面
遭択ライン928(PAL 924 にTDMラスタ操
作の第2フエーズに与える平面を選択させるためのもの
)、PAl、にシングル・フェーズ(非TDM )と、
デュアル・フェーズ(TDM )どのどちらが実行され
るのかを伝達するデュアル1ライン930  : PA
L 924 にフェーズ1とフェーズ2の平面選択人力
を正確に選択させるためTDMのどのフェーズを実行さ
せるのかを伝達するフェーズ1″ライン932である。
プロセッサ・クロック1000のタイミング、すなわち
フェーズ11侶号1006は第10図に示されている。
非TDM(1平面)操作では、デュアル“ライン930
は常にハイ、フェーズビラインは常にローとなっている
。これによりPAL 924は、常にフェーズ1平面選
択人力に指定された平面を選択する。
TDM 操作では、フェーズ1″ラインが循環している
間デュアル1ライン930は常にローとなっている。こ
れによりPAL 924はフェーズ1゛信号1006(
ライン932)がローのときはフェーズ1平而選択人力
により指定された平面を選択し、フェーズ1゛信号がハ
イのときは、フェーズ2平面選択人力により指定された
平面を選択する。
入力レジスタ・ロードイネーブル′信号ラインがローの
とき、パッチ平面は対応するレジスタに記録される。選
択されたパッチ平面のレジスタはPAL 924により
出力可能となり、lA埋が実行される。
e)シフトとマージの目的 画素を、パッチ・アクセス画像メモリ302(本好適実
施例の画像メモリ)のラスク操作ブロック転送で配列す
るためには、2方向(XおよびY)へのシフトおよびマ
ージが実行可能でなければならない。パッチ・アクセス
・プロセッサでは、画素は2次元パッチの一部として画
像メモリからアクセスされる。ラスク操作では画素の操
作が必要なため、ソース・パッチは、ソース画素が要求
されたデスティネーション画素に対応できるよう2次元
でシフト可能でなければならない。また、シフト操作に
より出力画素は正確なボジシミンに移動するが、シフト
により作成された出力パッチは、パッチ内の画素がすべ
て同じデスティネーション・パッチに属すとは限らない
ため、直接画像メモリに書き込むことができない。従っ
て、画像メモリに保存できるパッチを作成するために、
シフトしたパッチのマージが必要となる。
シフトおよびマージ操作の必要性は、第5図を参照する
と理解しやすい。この図は、4つのパッチ(502,5
04,506,508)から成る画像メモリ302のソ
ース区域を示している。各パッチは、5×、4配列の画
素データを持っている。パッチ境界上にはない(太線で
囲まれた)画素データ・グループ510を、デスティネ
ーション領域512のパッチにコピーすると仮定する。
典型的なパッチ・アクセス・プロセッサ内の画像メモリ
は、パッチ境界の粒状度までしか指定可能ではないため
、プログラマは問題に遭遇する。
この問題の解決方法の一つは、4つのパッチ502.5
04,506.508の全データを読み込み、セクショ
ン510のデータを持つ新しいパッチにマージすること
である。マージされたデータは、可逆バス306を通じ
て画像メモリ302のデスティネーション領域512に
書き込まれる。ntttプロセッサはページ・モードで
シフトおよびマージを実行(すなわち−度にパッチの一
行を処I!りするため、全体の操作時間が短縮される。
本例のシフト論理回路は、すべて5×4パッチを処理す
るよう設計されている。従って、特記事項がない限り、
読者は5X4パッチまたはパッチ平面が処理されている
と仮定されたい。
f)Xシフトおよびマージ Xシフトおよびマージ論理回路314は、第6図を参照
すると理解しやすい。第6図に示すように、Xシフトお
よびマージ論理回路は、4つの5ビツト・バレル・シフ
タ602.604.606.608を備えている。各バ
レル・シフタは、各パッチ・プレーンの完全な1行を処
理する。既述したように、B11tプロセツサは一回に
つきパッチ・データの1平面のシフトおよびマージを実
行する。従って、5×4パッチ平面の各行には、5ビツ
トの情報が含まれている。第1第図のバレル・シフター
608は、パッチ・レジスタ312から出力された0か
ら4まで(行1)のビットを受信する。第2のバレル・
シフタ606は、5から9まで(行2)のビットを受信
する。第3のバレル・シフタ[t04は、10から14
まで(行3)のビットを受信する。第4のバレル・シフ
タ602は、15から19まで(行4)のビットを受信
する。バレル・シフタは、5ビツトXシフト制御パス6
10上のデータに基づいて、パッチ・データの行を順番
に左または右へ該当数分シフトする。デコーダPAL 
632は、このデータをバレル・シフタが使用する3ビ
ツトのシフト制御データにデコードする。各バレル・シ
フタのシフト制御入力端子は、デコーダから出力される
3ライン634を受信する。デコーダPAL 632に
ついては後述する。
Xシフト・データの各行は、バレル・シフタから4つの
5ビツト・レジスタ612,614,61fi、618
の一つにクロックに同期して記録される。各バレル・シ
フタ602,804.BOB、808は、シフトデータ
を受信する5ビツト・レジスタ612,614,616
,618の一つと対応している。
5ビツト・レジスタへのデータの記録は、ライン620
上のグローバル・B11tクロック1004により制御
される。B11tクロック1004 (第10図)は、
概してB11tプロセツサの動作を制御している。プロ
セッサ・クロック1000が循環するごとに、新しいデ
ータ・パッチが入力パッチ・レジスタ312に記録され
る。B11tクロック1004が循環するごとに、パッ
チの選択された平面が入力パッチ・レジスタからクロッ
ク同期して出力される。 B1ftクロックは、これと
同様に他の機能も制御している。
(以下余白) データの第1平面が5ビツト・レジスタに記録されると
(プロセッサは一回に1平面のみを操作する。)、次の
水平にll接したパッチからの新しいデータ平面がバレ
ル・シフタにより処理され、5ビツト・レジスタに記録
される。各B11tクロックの循環の最後に、5つの4
ビット2:1マルチプレクサ(MIX)622,624
.628,628,630の入力端子に8ビツトデータ
が転送される。各MIXは、各パッチ平面の5列データ
の一つを処理する。明確化のため、5ビツト・レジスタ
に既に保存されたデータを前パッチ平面、レジスタの入
力端子にあるデータを現パッチ平面と呼ぶことにする。
各マルチプレクサは、前パッチ平面から1列を、現パッ
チ平面から対応する列を受信する。Xシフトコントロー
ルバス610のデータ制御に従って、2:1MIX群は
、前パッチ平面と現パッチ平面とをマージする。コント
ロールバスの各ビット610 (0)。
610(1) 、810(2) 、610 (3) 、
610(4)が、直接−つのMIXを制御する。
XMのマージ操作を例示する。以下に示す例つの隣接す
る画素データのパッチ の1−1の2 を、3ボジシヨ 例1−1 第1パッチ 八15−A16−A17−^1B−A19A10−Al
l−へ12−Δ13−Δ14八〇5−八06−AO7−
へ〇8−八〇9八0O−AOI−Δ02−へ〇3−八〇
4バレル・シフターを通過 のようになる: ン左にシフトすると仮定する。
第2パッチ 815−BIB−817−818−819805−80
6−BO7−808−BO9した後のパッチは、以下 前パッチ へ18−八19−A15−A16−A17A13−へ1
4−AIO−八11−八12A08−へ〇9−八〇5−
八08−AO7A03−A04−AOO−へ0l−AO
2現パッチ B18−819−815−B16−817B13−81
4−BIO−Bll−812808−809−BO5−
BO6−BO7803−804−BOO−BOI−80
2Xシフトおよびマージ論理回路は、 以下に示すよ うな新しいパッチを作成する: A18−A19−815−816−817A13−A1
4−810−Bll−812八〇8−へ〇9二BO5−
BO6−807八03−A04−BOO−BOI−BO
2上記の例では、5つの4ビット2:1マルチプレクサ
の2つ(本例では622,624 )が、前パッチ平面
の最初の2列を選択し、それらを残りの3つのマルチプ
レクサ626,628,630により選択された現パッ
チ平面の最後の3列とマージしている。
度設定されると、マルチプレクサ・プログラミングはす
べてのラスタ(ブロック・コピー)操作を確実に実行す
る。
デコーダPへL632のプログラミングにつし1て説明
する。上記の例から、バレル・シフタ602,604゜
606.608,610は、MIIX 622,624
,826,828,630 と相互に関連して処理を実
行していることがわかる。
例えば、前パッチ平面がNポジション左にシフトしたと
すれば、MtlXは前(保存された)パッチ平面の最初
の5−N列と、バレル・シフタによりシフトされた現(
保存されていない)パッチ平面の最後のN列を選択しな
ければならない。
この方式は、逆の場合も同様である。前パッチ平面の最
初の5−N列と、現パッチ平面の最後のN列の選択は、
5ビツトXシフト制御データが5つの2 : I MU
X 622.l124.628,628.630の入力
端子を制御することにより実行される。デコーダPAL
632は、3ビツトのバレル・シフタ制御データが順番
にNの循環シフトを実行するようプログラムされている
。Xシフト・レジスタ制御ライン610上の論理値1の
宣言(assert)によって各MIXの現入力端子が
選択されるならば、デコーダPAL 623は、バレル
・シフタにNと同数分のシフトをさせるために、車にX
シフト・レジスタ制御ライン610の1の数を3ビツト
の2進数に変換すれば良いのである。
本実施例では、Yシフトが上下に8動するのに対し、X
シフトは左穆動のみとなっている。Yの上下移動は、ソ
ースとデスティネーションの四角形を重ね合せるために
必要である。すなわち、デスティネーションがソースの
ボトムと重なっている場合は、デスティネーションに転
送する前にソースのトップがボトムに来るようにコピー
しなければならない。X方向の場合は、B1ft RA
Mにより問題は生じない。これは、行が常にデスティネ
−ジョンに書き込まれる前に処理されるからである。本
実施例ではXシフトを左移動のみとしたが、右移動も簡
単に実行できるということを理解されたい。Xシフトは
循環しているため、Nの右シフトは、5−Hの左シフト
と全く同じことだからである。
上記説明から、B1ftクロックの各循環の間に、Xシ
フトおよびマージ論理回路512から新しくXシフトさ
れた平面のデータが出力されることがわかる。
g)時間領域多重化方式 Xシフトおよびマージ論理回路は、時分割多重方式(T
DM)を使用することにより、−度に一つ以上の平面を
処理できるように変更されている。
本実施例のXシフトおよびマージ論理回路は、第12図
に示すようにTDMおよび非TDMの双方に適合する。
多くの場合、TDM操作は、B11tクロックの速度を
2倍にし、各プロセッサ・クロック・サイクルの各パッ
チからの2平面を処理する。人力パッチ・レジスタ31
2は、最初のB11tクロック・サイクルでクロック同
期して人力されたパッチの1平面が選択され5次のB1
ftクロック・サイクルで別の平面が選択されることを
除けば、通常通り作動する。TDM操作では、l1li
tクロック1004 (人力パッチ・レジスタのクロッ
クアウトを行うのに用いられるクロック)は、プロセッ
サ・クロック1000 (すなわち人力パッチ・レジス
タ312に完全なパッチをクロック同期して入力するク
ロック)の2倍の速さで作動することに注意しなければ
ならない。同様に、出力パッチ・レジスタ330は、各
クロック・サイクルに、画像メモリに書き込むためのパ
ッチ平面を、−面ではなく2面ロードするよう調整され
ている。
第12図のXシフトおよびマージ論理回路は、第2のセ
ラ]・である4つのレジスタ1202.1204゜12
06.1208およびゲート回路1210.1212,
1214゜1216が追加されたことを除けば、第6図
示の実施例とほぼ同様である。さらに、グラフィックス
・プロセッサ308は、IA埋されたパッチの第17エ
ーズ画素平面の下および第27エーズ画素平面の上に宣
言されるフェーズ1信号1006を供給する。
言い換えれば、Xシフトおよびマージ回路には2つの完
全な記憶レジスタのセットがあるということである。各
セットはデュアル・フェーズ・パッチ・サイクルの1フ
エーズのみ、1平面のみに使用される。
第12図から、第1セツトのレジスタ612,614゜
616.618の全クロック入力端子は第1ゲート12
16の出力端子と、第2セツトのレジスタ1202,1
204゜1206.1208の全クロック入力端子は第
2ゲート1214の出力端子と接続していることがわか
る。
TDM操作の第1フエーズ実行中は、ゲートは第1セツ
トのレジスタのみにデータをクロックする(フェーズl
″信号はロー)。TDM操作の第27エーズ実行中は、
ゲートは第2セツトのレジスタのみにデータをクロック
する(フェーズ1信号はハイ)。同様に、インバータ1
210.1217はフェーズ11信号がローのときに第
1セツトのレジスタを、フェーズ11信号がハイのとき
に第2セツトのレジスタを出力可能とする。TDM操作
は、2つのフェーズが存在していると概念化できる。第
17エーズはパッチ人力レジスタ312に第1パッ、チ
がクロックされたときに開始する。第1フエーズでは、
パッチの第1平面が選択され処理される。第1平面は、
Xシフトおよびマージ論理回路に到達すると、シングル
平面の例の場合と同様に処理される。グラフィックス・
プロセッサはフェーズビ信号をローに宣言しているため
、シフトされたデータは第1セツトの5ビツト・レジス
タ612,614゜816.618にクロック同期して
記録される。次に、グラフィックス・プロフエツサ10
0がフェーズ13信号の宣言を解除(ハイに設定)し、
パッチ入力レジスタ312の第2パッチ平面が選択され
る。
(第1パッチの)第2平面は、゛第2セットのレジスタ
1202.1204,1206.1208にシフトされ
ロードされる。既に記述したようにフェーズ11信号の
宣言(ロー)中は、第1セツトの5ビツト・レジスタは
ロードされ、出力可能となるが、第2セツトではこれは
起こらない。宣言解除(ハイ)中は、第2セツトの5ビ
ツト・レジスタはロードされ、出力可能となるが、第1
セツトではこれは起こらない。
第1パッチの第2パッチ平面が第2セツトの5ビツト・
レジスタにクロックされると、第2パッチが人力パッチ
・レジスタ312にロードされる。
フェーズl′信号が再びローに宣言されると、入力パッ
チ・レジスタは、最初のフエーズビ信号がローであると
きにクロックされたものと同じパッチ平面を最初に選択
する。例えば、第1パッチのパッチ平面1が最初に選択
されたとすれば、同様に第2パッチのパッチ平面1が最
初に選択される。
(第2パッチの)選択されたパッチ平面は、バレル・シ
フタによりシフトされ、レジスタの入力端子および2 
: I MtlXに転送される。フェーズビが宣言(ロ
ー)されているため、第1セツトのレジスタのみが出力
可能となる。各Xシフトコントロールバス610の1ビ
ツト制御により、MUXは第1および第2パッチの第1
パッチ平面のマージを実行する。次のB11tクロック
(第27エーズの開始をマークする)で、現行の(保存
されていない)データが第1セツトのビット・レジスタ
612.6’14616.61fl にロードされる。
同じプロセッサ・クロック・サイクルの第2フエーズで
は、(第2パッチの)第2パッチ平面(すなわち、第1
パッチで2番目に選択された平面)がパッチ人力レジス
タにより選択される。グラフィック・プロセッサはフェ
ーズ1′信号を解除(ハイに設定)し、第2セツI・の
5ビット・レジスタが出力可能となる。2 : 1. 
MUXは、第1および第2パッチの第2平面のマージを
実行する。次のB11tクロックで、第2パッチの第2
平面は第2セツトの5ビツト・レジスタにクロックされ
る。
このサイクルは、全行のパッチすべての処理が終了する
まで継続する。
第12図の回路を使用したTDM操作のタイミングは、
第10図を参照すると理解しやすい。第1O図から明ら
かなように、TDM操作では、B11tクロック100
4は、可逆データ・バス306から人力レジスタ312
にクロック同期して記録されたデータの各パッチに対し
、2サイクルで進行している。このパッチ・データは参
照番号1002で表されている。
B11tクロックとパッチ・データの関連タイミングに
より、クロックインされた各パッチにつき2つのパッチ
平面が人力パッチ・レジスタ308(参照番号1008
で表されている)からクロックアウトされる。フェーズ
1゛信号は、各パッチがクロックインされるごとに1回
循環し、各パッチの第1パッチ平面をXシフトおよびマ
ージ回路の第1セツトのレジスタにクロックインさせ、
第2パッチ平面を第2セツトのレジスタにクロックイン
させる。
一連のパッチの処理過程は、参照番号1010で表され
ている。
非TDM  (第11図)では、第12図の回路の動作
は少し異なる。非TDM操作(シングル・フェーズ)で
は、B11tクロック1004は、人力レジスタに記録
された各パッチに対し1サイクルで進行し、フェーズ1
′信号1006は永久的にローの状態になっている。こ
のタイミングでは、各パッチにつき1つのパッチ平面の
みが入力レジスタからクロックアラ]・される(参照番
号1008’で表されている)。その結果、パッチ平面
の行は、参照番号1010’ に示すように一般的な順
序で処理される。第12図の回路においてフェーズ1″
信号が永久的にローである状態は、第6図の回路と同じ
動作となる。
Xシフトおよびマージ論理回路は、木(+11.の5×
4とは異なる他のパッチ・フォーマット用にも簡単に修
正できる。バレル・シフタ602.[i04.fi06
゜608.610は、各パッチ列につき1ビツトを有し
ていなければならない。これは、レジスタでも同じであ
る。各パッチ列には一つの2 : I MUXが割り当
てられ、MIXは、パッチ行の数だけ設けられなければ
ならない。本例では、Xシフトおよびマージ論理回路に
は、プログラマブル論理アレー(PAL)が使用されて
いる。
本書には、“隣接する”という用語が使用されている。
この用語の意味は、2次元の指定可能な画像メモリ30
2の環境を考えると理解しやすい。
このメモリはビデオ画面と同じようにアドレッシングさ
れているため、データは列と行との配列に格納されてい
ると考えて良い。症って、与えられたパッチは、垂直方
向(Y)に隣接する2つのパッチ(すなわちパッチ行の
上下にあるもの)および水平方向(X)に隣接する2つ
のパッチ(1列の両側にあるものンを有している。
h)Yシフト Yシフト論理回路316は、第7図を参照すると理解し
やすい。Yシフト論理回路512は、Xシフトおよびマ
ージ論理回路314から、Xシフトされたパッチ平面を
受信する。7978回路内では、Yシフトコントロール
ライン712の2ビツト制御データ基づいて、パッチ平
面の行を上下にシフトするため、5つのビット・バレル
・シフタ702゜704.706,708,710が使
用される。各バレル・シフタには、パッチ平面の完全な
1つの列(4ビツト)がロードされる。
Xシフトされたパッチ平面の0.5.10ポジシヨンの
データから成る第1列は、第1バレル・シフタ702に
ロードされる。ポジション1.6,11.16のデータ
から成る第2列は、第2バレル・シフタ704 にロー
ドされる。ポジション2.7.12.17データから成
る第3列は、第3バレル・シフタ70Bにロードされる
。ポジション3.8,13.18のデータから成る第4
列は、第4バレル・シフタ708にロードされる。ポジ
ション4.9.14.19のから成る第5列は、第5バ
レル・シフタ710にロードされる。
2本のYシフトコントロールライン712は、グラフィ
ックス・プロセッサ308により制御されている。2ビ
ツトのYシフト情報は、Yバレル・シフタ702,70
4,708,708,710に各パッチ平面の4行をY
方向に順番に3ポジシヨンまでシフトさせるのに充分で
ある。Y方向への4ポジシヨンのシフトは、単に5X4
パッチ平面を開始位置に戻すことにすぎないため不要で
ある。シフトは循環しているため、負のシフトも簡単で
ある。すなわち、1ポジシヨンの負のシフトは、3ポジ
シヨンの正のシフトと全く同じだからである。
Yバレル・シフタにより処理されたYシフトしたパッチ
平面は、Yシフト回路316の出力端子から、ライン・
ストレージRAM31aに転送され、Yマージおよび行
の集積が実行される。
i)ライン・ストレージRAM ライン・ストレージRAMは、2つの目的に用いられる
。第1に、完全な出力パッチ平面を作成するために、現
および前入力パッチ平面から選択された行をマージする
。第2に、ベージモードで画像メモリ302に直接読み
込ませることができるよう、完全にシフトおよびマージ
されたパッチ平面のすべての行を格納する。
ライン・ストレージRAMの動作は、第8図を参照する
と理解しやすい。第8図は、アドレス・ジェネレータ3
33およびライン・ストレージRAM318の双方を示
している。アドレス・ジェネレータ333は、10ビツ
ト・カウンタ802%プログラマブル論理アレー(PA
L)a(14およびトライステートバッフ1806を備
えている。
ライン・ストレージRAM318は、書き込み可能な論
理回路8(18および4つの2に×5ランダム・アクセ
ス・メモリ810,812,814,816(Bilt
 RAM)を具えている。グラフィックス・プロセッサ
308は、いくつかのデータを供給し、アドレス・ジェ
ネレータ333およびライン・ストレージRAM318
へのラインを制御している。これらのラインには、1木
のダイアグノスティック・リード・イネーブルライン8
18.10本のプロセッサ・データ・ライン820.1
本のカウント・イネーブルライン822.1本のカウン
タ、ロード・イネーブルライン824 、blitクロ
ック・ライン620 、B11tリード1ライン826
、B11tライ−ライン828.2本のYシフト制御ラ
イン712、ダウン制御ライン832.および偶数制御
ライン834が含まれている。
ライン・ストレージRAM318には、2つのモードが
ある。パッチ平面の完全な画像の行がR1ft RAM
から読み込まわるB11tリード・モード、およびパッ
チ平面の完全な画像の行がB11t RAMに書き込ま
れるB11t RAMライト・モードである。
まず、B11tライト・モードについて説明する。
パッチ平面の完全な行は、継続的にXYシフト後のデー
タ・バス332に送信される。XYシフト後のパッチ平
面は、[1litクロック・サイクルごとに、Yシフト
論理回路からバス322ヘ一つずつ送信される。パッチ
のラインを処理する前に、グラフィックス・プロセッサ
は、プロセッサ・データ・バス820に初期アドレスを
設定し、ライン824にロードイネーブル信号を宣言す
ることにより、アドレス初期値(通常O)で、10ビツ
ト・カウンタ802をロードする。初期値がロードされ
、最初の有効なパッチ平面がXYシフト後のデータ・バ
ス322に送信されると、ロードイネーブル信号は解除
され、ライン872にカウントイネーブル信号が宣言さ
れる。10ビツト・カウンタのデータは、ライン620
上のB11tクロック1004のサイクルごとに増加さ
れる。カウンタ・データは、blit RAM810.
812,814,818の下位10桁のアドレスビット
のアドレスとして使用される。トライステートバッファ
806は診断の目的で使用され、グラフィックス・プロ
セッサ308がリードイネーブル”信号(ローが真)を
宣言すること、によりカウンタ・アドレス・データを読
み戻すことができる。この信号を宣言すると、カウンタ
・データはプロセッサ・データ・パスライン820上に
送信される。
B11tライン・モードを開始する前に、B1ft書き
込み信号が、ライトイネーブル論理の人力ライン828
がローに宣言される。これにより、blitクロック1
004は、XYシフト後のデータ・バス322から送信
される有効パッチ平面データをRAM810゜812.
814,816 に書き込み可能とする。B11tライ
ト・サイクル中、PAL 804は、B11t RAM
に完全な出力パッチ平面を正確に作成するべく、グラフ
ィックス・プロセッサからの制御データに従って、各B
1ft RAMの上位アドレス・ビットをセットあるい
はリセットする。
時間領域多重化方式では、B11t RAMカウンタ8
02は、シングル・フェーズ(非時間領域多重化方式)
の2倍の速さでクロックされ、B11t RAMは、各
パッチサイクルごとに(1つではなく)2つのパッチ平
面を格納することに注意されたい。
B11t RAM5 リード・モードも同様である。l
Oビット・カウンタ802は、グラフィックス・プロセ
ッサ308によりロードされ、カウント可能となる。次
に、ライン826のB11tリ一ド′″侶号が宣言(ロ
ー、真)され、B11t RAM5の出力をイネーブル
とする。(ライン828の) B11tライト″信号は
解除(ハイ)されているため、B11t RAM5の書
き込みは禁止されている。 B11t RAMから完全
な出力パッチ平面を読み込むために、PAL 804の
データ制御により、すべてのB11t RAMの上位ア
ドレス・ビットがセットあるいはリセットされる。
各B11t RAMには、パッチ平面の1行が割り当て
られていることに注意しなければならない。行1のR,
AM810は、XYシフト後のパッチ平面の第1行、す
なわちXYシフト後のデータ・バスのOh)ら4ビツト
のみの受信または書き込みを実行する。行2のRAM8
12は、xYシフト後のパッチ平面の第2行、すなわち
5から9ビツトのみの、行3のRAM814は、XYシ
フト後のパッチ平面の第3行、すなわち10から14ビ
ツトのみの、行4のRAM816は、XYシフト後のパ
ッチ平面の第4行、すなわち15から19のみの受信ま
たは書き込みを実行する。
PAL 804 は、B1ftリード・モードおよびB
11tライト・モードで、BIitRAMを適切に使用
可能にするために使用される。第8図から明らかなよう
に、P A 1.804は、各BlitRAMに上位ア
ドレス・ビットを供給する。各RAMは、実際に、2つ
の分離したアドレス指定可能領域を持っていると考える
ことができる。第1領域は、PALがB11t rlA
Mの上位アドレス・ビットを設定したときにアドレス指
定され、第2領域には、PALが下位アドレス・ビット
を設定した時にアドレス指定される。これらの領域を、
それぞれ、第1および第2領域と呼ぶ。
各B11t RAMは、パッチ平面データの1行(5ビ
ツト)を格納する。1アドレス領域は、完全なパッチを
保存するのに使用され、他のアドレス領域は、開始され
たパッチの保存に使用される。
5X4パッチの何行かが与えられた数値NによリYシフ
トされ、Y方向に隣接するパッチとマージされると仮定
する。ライン・ストレージRAMは、この処理をい(つ
かの段階で行う。
Yマージに必要な正確なアドレス処理は、Yシフトの量
と、処理される四角形領域の垂直移動方向とによる。代
表的なYシフトおよびマージ操作は、デスティネーショ
゛ン画像領域がソース画像領域より上に位置しているよ
うなソース領域の処理例で説明することができる。ラス
ク操作を正確に実行するために、ソース領域はトップダ
ウン処理されなければならない。この理由は、ソースと
デスティネーションの画像領域が重複することを考える
と理解しやすい。重複させる領域へのオーバーラツプを
防ぐために、トップダウン処理が実行される。
例えば、パッチ内のデスティネーション画素がソース画
素よりN画素上方にあるとする。シフトアップする場合
、PAL804は、パッチの行1を最下行、行4を最上
行とみなす。
以下に、これについての−成約な処理方法について述べ
る。
第1段階は準備段階である。(Yシフト論理回路316
によって)Y方向へN行シフトアップされたパッチ平面
の第1ラインが、ライン・ストレージI(AM318に
送信される。最初のソース画像ラインの前パッチに対し
、シフトされた1からN行が関連B11t RAMの第
1アドレス領域にロードされる。N+1から4までの行
は、関連B11t RAMの第2アドレス領域にロード
される。この段階の終りでは、B1ft RAMの第2
アドレス領域には、出力パッチ作成に不要でB11t 
RAMに読み込まれないパッチ平面の行が含まれ、第1
アドレス領域には、画像メモリに出力される可能性のあ
るパッチ平面の第1行または複数の行が含まれている。
次の段階で、パッチを作成する。この段階で、PAL8
Q4は、[1lit RAMの上位アドレスを逆にする
Yシフトされたパッチ平面の第2ラインは、Yシフト論
理回路316のライン・ストレージRAMから送信され
る。この時、第2ソース画像ラインのシフトされた行1
からNは、関連Bltt RAMの第2アドレス領域に
保存され、N+1から4までの行は関連B11t RA
M  の第1アドレス領域に保存される。この段階では
、B11t RAMの第1アドレス領域には、パッチ平
面の完全な1行が含まれている。
B11t RAMの第2アドレス領域には、コピーされ
るパッチ平面の次ラインの最初のN行が含まれている。
次の段階で、パッチ平面が読み込まれる。B’litR
AMが読み込み可能となり、すべてのB1ft RAM
の第1領域のパッチ平面データが読み込まれる。既述し
たように、この時点では、第1アドレス領域には完全な
パッチの表示行が含まれている。従って、グラフィック
ス・プロセッサ308はページ・モードですべてのパッ
チ行を読み込むことができる。
次の段階で、もう一つのパッチを作成する。この段階で
、PAL804は再度B1ft RAMの上位アドレス
を逆にする。Yシフトされたパッチ平面の新表示性はY
シフト回路のライン・ストレージRAMから送信される
。行1からNは、関連B11t nA!4:の第1アド
レス領域に保存される。N+1から4までのパッチ平面
性は、関連B11t RAMの第2アドレス領域に保存
される。この段階では、B1ft RAM+7)第2ア
ドレス領域には、パッチ平面の完全な1行が含まれてい
る。コピーされるパッチ平面の次ラインの最初のN行は
、関連B11t IIAMの第1アドレス領域に保存さ
れる。
次の段階で、もう一つのパッチ平面の読み込みを行う。
B1ft RAMが読み込み可能となり、すべてのB1
ft RAMの第2アドレス領域のパッチ平面データが
読み込まれる。既述したように、この時点で第2アドレ
ス領域には、完全なパッチの全行が含まれており、グラ
フィックス・プロセッサ508は、行アドレス・モード
で(パッチ行の)前ラインを読み込むことかできる。
パッチ平面の作成と読み込みは、すべてのデータ・ブロ
ックのコピーが終了するまで、交互に実行される。N値
のYシフトを実行するアルゴリズムの概要をまとめると
、以下のようになる。
A、準備段階−各パッチ平面の最初のN行を、1’1l
it RAMの第1アドレス領域に書き込む。各パッチ
平面の次の4−N行を、l1lit RAM5の第2ア
ドレス領域に書き込む。
B4第1パッチ平面の作成段階−各パッチ平面の最初の
N行を、l1lit RAMの第2アドレス領域に書き
込む。各パッチ平面の次の4−N行を、B11tRΔM
の第1アドレス領域に書き込む。
c、yB1パッチ平面の読み込み段階−Blit II
RAM第1アドレス領域を、ページ・モードで読み込む
D、第2パッチ平面の作成段階−各パッチ平面の最初の
N行を、B11t RΔMsの第17トレス領域に書き
込む。各パッチ平面の次の4−N行を、IllitRA
Mの第2アドレス領域に書き込む。
E、第2パッチ平面の読み込み段階−Blit RAM
の第2アドレス領域を、ページ・モードで読み込む。
F、コピーするデータを持つパッチ行の総数だけ、Bか
らEまでの段階を繰り返す。
第1ラインが、(最初の出力行のマスクされた店き込み
も含めて)最初の出力ラインに必要なすべての行を含ん
でいる場合には、準備段階は不要であることに7主意さ
れたい。
上記のアルゴリズムは、N行シフト・ダウンする場合に
も適用されるが、この場合、パッチの処理は、下から上
に実行される。デスティネーション画像領域が、ソース
画像領域の下に位置している場合には、PAL 804
は、各パッチ平面の最上性を第1行、最下行を第4行と
みなす。従って、読者は、この第2の番号規則に従うも
のとする。
ソースとデスティネーションのパッチをオーバラップし
た時に、コピー結果が無効データとなる危険がある場合
には、シフト・ダウンおよび下方への処理(またはその
逆)を実行してはならない。
PAL 804は、各段階で、B11t RAMの上位
アドレス・ビットを正確に作成するようにプログラムさ
れている。このため、グラフィックス・プロセッサ30
8からいくつかの制御およびラインを利用している。こ
れらには、Yシフト制御ライン(2ビツト)、ダウン“
制御ライン、偶数″制御ライン、およびB11tソード
′制御ラインが含まれている。Yシフト制御ライン71
2は、Yシフトの量(本例ではN)をキャリーするのに
用いられる。
これらのラインは、Yシフト論理回路316により、同
じYシフト信号を処理する。グラフィックス・プロセッ
サは、パッチ平面のすべての偶数行に偶数ライン1 (
ロー)を、すべての奇数行にハイを宣言する。このよう
に、PAL 804はどの段階が実行されているのかを
常に把握している。また、PAL 804は、現行モー
ド(ライトまたはリード)を決定するために、B11t
リ一ド信号を使用する。ダウン“制御ライン832は、
パッチ行の読み込みがどの方向(上または下)に処理さ
れているかという情報を、PAL 804に伝達する。
このラインのロー信号は、処理が画像メモリの上から下
へ実行されていることを示すのに用いられ、” 1 ”
信号は、下から上へ実行されていることを示すのに用い
られる。リード・モードでは、PへL804はすべての
RAMについて同じアドレス領域(すなわち、最新の出
力パッチ行が作成された領域)を選択する。ライ]・・
モートては、完全な出力パッチを作成するために、種々
の人力を使用して、通切な領域の正しい行のマージが実
行される。
j)論理装面 論理ユニット317は、できればン寅算論J里ユニット
(八rithmeむic logic Unit、:A
LU)が望ましい。本例に係る論理ユニットは、Tex
as instruments製の5つの74八518
1八LUを備えている。この八LUの目的は、ソースと
デスティネーション平面との間で、プール演算を実行す
ることである。
論理演算を実行する場合には、出力パッチがライン・ス
トレージRAM 318から読み出される前に、デステ
ィネーション平面が入力パッチ・レジスタに読み込まれ
なければならない。デスティネーション・パッチは、ソ
ース・パッチおよびソースとデスティネーション平面が
ALU 316の入力端子に同時に送信された後に、直
接読み込むことができる。これは、画像メモリ302へ
行を書き込み中はページ・モードオペレーションができ
ないことを意味しているが、デスティネーションの読み
込みはページ・モードで行うことができる。
(本例の画像メモリ302のような)ビデオRAMへ書
き込む場合には、デスティネーション・パッチの読み込
みは、RAMの内部論理モードを使用する事により、回
避することができる。論理モードを設定すると、日立社
のVRAMは、通常の書き込みサイクル時に、人力デー
タとRAMデータの間で論理演算を実行する。
ビデオRAMの操作についての概要は、 BITAC)
IIICMEMOnY D^丁A BOOK、 198
8 version  (日本の日立社および米国のH
ITACHI販売店にて入手できる)に説明されている
本内容には、そのすべてが参考として統合されている。
k)出力マルチプレクサ 出力マルチプレクサは、基本的には、グラフィックス・
プロセッサ308により提供される選択入力端子を持つ
20ビット2:IMLIXである。出力マルチプレクサ
により、外部(例えば、他の同期B11tプロセツサ)
から供給されたパッチの平面を、ソース・パッチの平面
のいかなる位置にも挿入することが可能である。外部か
ら供給された平面は、ソース平面のXおよび/またはY
シフトが実行されているいないにかかわらず、挿入する
ことができる。外部から供給される平面とソース平面の
選択は、グラフィックス・プロセッサ308により制御
されることを、理解されたい。
l)出力パッチ・レジスタ 出力パッチ・レジスタ330(第13図)は、人力パッ
チ・レジスタ312と同様の処理を実行する。
XYシフト・データの選択平面(20ビツト)を160
ビツト・パッチの適切な位置へ人力するため、グラフィ
ックス・プロセッサ308により生成されるいくつかの
信号が、出力レジスタ論理回路PAL 1301の制御
に使用される。この場合、PAL1302は、入力端子
の制御ラインの状態に従って、処理されたパッチ平面を
格納する8つの出力レジスタ1308.131G、 1
312.1314.1316.1318゜1320、1
322のうち一つを選択する。
出力レジスタPALの制御ラインには以下のものが含ま
れる。時間領域多重化処理のフェーズ1に与えられた平
面のレジスタをPAL 1302に選択させる3本のフ
ェーズ1出力平面選択ライン1304、時間領域多重化
されたblitIA理のフェーズ2に与えられた平面の
レジスタをPAL 1302に選択させる3木のフェー
ズ2出力平面選択ライン130B、実行中の操作がシン
グル・フェーズであるかデュアル・フェーズであるかを
PAL 13G2に伝達するデュアル“ライン930(
ロー、真)、フェーズ1およびフェーズ2の平面選択入
力端子を正確に選択させるために時間領域多重化処理の
現行フェーズをPAL 1302に伝達するフェーズ1
ライン932、およびB11tプロセツサが画像メモリ
からデータを読み込んでいる時、出力レジスタへのすべ
てのロードを禁止するために使用するレジスタ・ライト
・イネーブルライン1324である。
PAL 1302は、データを適切な平面レジスタにロ
ードするために、(グラフィックス・プロセッサ308
により生成される) B11tクロック1004を使用
して、正確な時間にレジスタ・クロック入力にライジン
グ・エツジを作成する。シングル・フェーズ操作では、
1パッチ・サイクルにつぎ1つのライジング・エツジの
みが作成される。2フ工−ズ操作では、2つのライジン
グ・エツジが作成される。PALへの書き込み可能人力
は、B11tプロセツサが画像メモリからデータを読み
込んでいる時、出力レジスタへのすべてのロードを禁止
するために使用される。
出力レジスタは、画像メモリ・データ・バス306の1
60ビツト上のパッチデータの全8平面を使用可能とす
ることを理解されたい。しかしながら、シングル・フェ
ーズ走査では1平面のみが、2フエーズ走査では2平面
が有効となる。有効な平面のみが、グラフィックス・プ
ロセッサ308によって、画像メモリに書き込み可能と
なる。
画像メモリ平面イネーブル2機能は、できれば画像メモ
リ308自身により実行されるのが望ましい。本例の画
像メモリ内の各ビデオIIAMは、4平面を格納する。
しかしながらビデオRAMは内部書き込みイネーブル機
能を備えており、それによりすべての平面の書き込みを
禁止することができる。グラフィックス・プロセッサ3
08内の平面保護レジスタの内容は、書き込みサイクル
およびVRAMの内部書き込み禁止中のチップのデータ
ラインに表れる。VRAMを使用しない他のタイプの画
像メモリでは、画像の各平面は、しばしば別のIIAM
チップのセットを使用して格納される。その場合、書き
込み信号により、ある平面のサブセットは書き込み可能
となる。各平面への書き込み信号は、8ビット平面使用
可能レジスタの関連ビットのANDゲートが有効に使用
される。
人力レジスタ平面選択926,928  (第9図)は
、出力レジスタ平面選択1304.1306  (第1
3図)とは独立している。このため、平面間のコピー(
すなわち、1平面のソースから他の平面のデスティネー
ションへのコピー)が可能となっている。これは、マル
チビット画素のシフト操作、または多(の平面を持つフ
レームスドアの平面間での1(またはそれ以上の)ビッ
ト画像のコピーに有効である(例えば、8ビツトフレー
ムスドアに大型の1ビット画像を格納する場合、有効で
ある。)。平面間コピーを実行する場合、プロセッサは
、処理した平面を出力レジスタ論理回路内の選択平面レ
ジスタに別々に人力するため、人力および出力パッチ・
レジスタのソースおよびデスティネーション平面の制御
は別々に実行される。
m)書き込みマスク 古き込み(ライト)マスク・レジスタ320は、デステ
ィネーション領域のマスクを生成するために、グラフィ
ックス・プロセッサ100により使用される。マスク・
レジスタの機能は、第14図に最も良く表されている。
ソース領域1402が、デスティネーション領域140
4にコピーされると仮定する。さらに、ソースよりコピ
ーされるデスティネーションの一部は、最終的に両像1
404のように表されると仮定する。マスクしない状態
ではB11tプロセツサはソース画像領域1402全体
を、デスティネーション画像1404上にオーバレイす
る。これでは、希望の結果にならないことは明白である
書き込みマスクは、また、別の目的にも使用される。最
上行および最下行のパッチ並びに、各行の左右パッチは
、デスティネーションの境界が正確なパッチ境界となっ
ていない場合、マスクが必要となる。
ソース画像の要求部分のみを正確にコピーするためには
、ソースの一部をコピーさせないようにする必要がある
。各画素のコピー情報のマツプは、ソース画像の1平面
(マスク平面と呼ぶ)に格納されている。(各ソース・
パッチ内の)この平面は、バッファ320を経由して書
き込みマスク・レジスタにロードされ、各パッチ平面の
形の輪郭に従って、領域のマスキングが実行される。こ
のような操作はマスク・コピーと呼ばれ、所望のデステ
ィネーション画像1106が生成される。
マスク・コピーが時間領域多重化方式を使用するシステ
ムのみで実行可能であることを、理解されたい。各パッ
チのマスク・データは、画像データ・パッチが出力パッ
チ・レジスタにロードされる時に、書き込みマスク・レ
ジスタにロードされなければならないからである。これ
により、各出力パッチからの画素の書き込みは、B11
tプロセツサを経由した画像データと同じデスティネー
ションポジションに正確にシフトおよびマージされた該
当ソース・マスクにより、修正される。マスク・コピー
は、□マスク平面に従って処理される1画像子面のみが
必要であり、多重平面画像の処理はバスの数を増加すれ
ば良いということがわかるだろう。
マスク・コピーのメカニズムは、システムごとに異なっ
ている。未実施例では、各画素ポジションは、画像メモ
リ内の他の画素ポジションと重複しないRAMバンクを
使用している。本例の画像メモリには20の画素ポジシ
ョンがあり、5×4のパッチ形式の各ポジションに対応
している(第4図参照)。従って、パッチ画素の選択さ
れたサブセットのみを書き込む場合は、使用可能なRA
M信号の一つ(好ましくは列アドレス・ストローブ)が
ゲートされ、ディスエーブルとなりでいるRAMバンク
には到達しない。グラフィックス・プロセッサ308は
、20ビット書き込みマスク・レジスタの各ビットを使
用して、1本の列アドレス・ストローブ(CへS)ライ
ンをゲートする。木イ列では、P八りのゲーティングは
、書き込みマスクビットと列アドレス・ストローブとを
効果的に”AND″処理することにより、実行される。
これは−例に過ぎず、グラフィックス・プロセッサ内で
は、他にも様々なバッファリングおよび論理が使用され
る。本例のグラフィックス・プロセッサでは、書き込み
マスクにこの方法が使用されているが、他の方法を用い
ても同じ結果が得られると予想されることを理解された
い。
本発明には、2つの異なるパッチ・マスク操作を があること〆理解されたい。第1の操作は、境界かパッ
チと適合しない場合、デスティネーションの最上、最下
行をマスクすることである。第2の操作は、マスク・コ
ピーを実行して、シフト・マージ論理回路にマスク平面
を転送することである。マスク・コピーの最下行を実行
する場合、エツジマスクは、データ・マスクと共に”A
ND″処理が実行される。これはグラフィックス・プロ
セッサ308で実行され、B11tプロセツサからのマ
スク・データが読み込まれ、現行エツジマスクと”AN
D”処理された後、結果が書き込まれマスク・レジスタ
に書き込まれる。
マスク論理演算中、B11t論理ユニツト317は、フ
ェーズごとに異なる操作を実行する必要がある。論理ユ
ニットは、画像データに要求された論理演算を実行する
が、マスク・データをストレートにバスしなければなら
ない。このため、論理回路317には、グラフィックス
・プロセッサにより、別々のフェーズ1命令およびフェ
ーズ2命令が供給される。命令(OPコード)は、フェ
ーズ1“信号により選択される。
n)ページ・モート・アドレス指定 多くの動的記憶装置のように、画像メモリ5trobe
;RAS) /ステーブル状態でよく、列アドレス・ス
トローブ (CへS)のみを循環させるページ・アクセ
ス・モードを備えている。このモードの操作では、各行
アドレスのアクセスを、240nsから約120nsに
短縮する。B11tプロセツサは、各操作サイクルのデ
ータのすべてのアドレス行を格納しているため、ページ
・モード操作が可能である。
従って、処理したデータの全行をRAMアドレスを変更
することなしに読み込むことができる。ページ・モード
操作は、従来の技術でも良く知られている。B1ftア
ーキテクチャは、プログラマまたはシステム・デザイナ
がより速くマスク操作を実行できるよう、このモードの
使用を可能にしている。
0)シフト計算 既述したように、シフトおよびマージ論理回路は、Xお
よびY方向に与えられた数値(すなわち0以上、パッチ
寸法(dimensions)以下のすへての数値)に
従って、シフトおよびマージを実行する。本例の5×4
パッチ寸法の場合、Xシフト数は、デスティネーション
・パッチ内の所望の画素のXポジションからソース・パ
ッチ内の画素のXポジションを差し引き、結果が負数な
らば5を加算することにより計算される。Yシフトは、
パッチが読み込まれる方向により異なる。ソース領域が
上から下へ読み込まれる場合は、ソース領域のパッチ内
の画素ポジションからデスティネーション領域内の画素
ポジションが差し引かれる。結果が負数ならば、4を加
算する。次に、Yシフト数を得るために、4からその結
果を差し引く。コピーが下から上へ実行される場合は、
デスティネーションのポジションからソースの画素ポジ
ションが差し引かれ、結果が負数ならば4が加算される
(5×4以外の)その他のパッチ寸法の場合でも、パッ
チ寸法に影響を及ぼす定数の変更がない限り、計算方法
は同しである。つまり、X方向では、5が加減される代
わりに、パッチのX寸法が加減される。X方向ては、4
が加減される代わりに、パッチの7寸法の値が使用され
る。言い換えれば、X方向にH画素、X方向にV画素を
持つパッチのシフト値を計算する場合は、5および4に
それぞれHおよびYを代用ずれはよい。
II+ 、平面スワツピングおよびビット・ポジション
外J 前章では、XおよびX方向のシフトおよびマージ機能に
ついて説明した。パッチ内の各画素の交換、おきかえ、
およびパッチ周辺への移動は、マージ機能を使用しなく
ても、シフト機能だけで実行できる。すなわち、パッチ
が3次元の配列であるとすれば(本例ではパッチは、5
X4X8の3次元である)、本システムおよび方法は、
パッチ内のすべての次元(X、YまたはZ)のすべての
ビットに関し、おきかえまたは移動を実行することがで
きる。
a)ヒ゛・ント・ボシシ三】ン処J里 XおよびYシフト論理は、与えられた平面の周囲にビッ
トを移動することができる(すなわち、平面IU埋)。
ビット列の上下のシフトについては、Yシフト論理31
6の現形式で実行できる。つまり、パッチの与えらねた
平面において、画素対画素て選択した行数の上下移動が
可能である。これは、一つのパッチ内の20画素をそれ
ぞれ1ビツト・ポジションだけシフトすることと同じで
ある。Yシフト論理は一度に1平面ずつ処理を実行する
ため、他をシフトせずにいくつかの平面のみをシフトさ
せることができる。
この処理には、ライン・ストレージRAM 318を使
用することもできる。通常、ライン・ストレージRAM
は、垂直に隣接したパッチのマージに使用される。しか
しながら、ライン・ストレージIIAIIは、パッチの
1平面または平面のグループを、オリジナルのパッチ・
データそのものとマージするのに使用することもできる
。これは、ライン・ストレージRAMが完全なラインを
集積し、かつB11t RへMの書き込みか初期化ξ、
ねるまではそれを画像メモリに書き込まないためである
。さらに、垂直隣接マージとは別に、パッチ内の全平面
の全行数を他のラインのデータと置換することもできる
Xシフトおよびマージ論理回路314には、多少の変更
を加えることができる。通常、デコーダPAL 632
は、MIIXの選択人力に対応するバレル・シフタ60
2.604.606.608にシフト制御信号が送信さ
れていることを確認するために使用される。しかし、望
むのであれば、デコーダPALを取り除き、バレル・シ
フタに送信されるシフト制御データをMIXの選択デー
タと切り放して処理させることができる。簡単な例とし
ては、マージなしのシフトを実行することにより、パッ
チ1平面または複数の平面を、数値に従ってXシフトさ
せることができる。
マージなしのXおよびYシフトとは、全ビットを平面内
のどのポジションにでも移動させることができ、しかも
平面を回転させることができるということである。この
回転とシフトとを使用してマスク書ぎ込みを実行すると
、様々な効果を得ることができる。
b)平面スワツピング 木システムおよび方法は、平面を交換およびスワップさ
せることができる(すなわち、平面間処理)。既述した
ように、人力パッチ・レジスタ312は、出力レジスタ
330とは独立した平面選択を行うことができる。TD
M操作では、2平面のスワップが可能である。TDMま
たは非TDM走査のいずれかで、いくつかの平面を他の
平面のオーバライドに使用することができる。この操作
は、出力レジスタ平面選択をスワップさせるか、または
人力平面選択と異なる設定にすることにより実行される
本システムでは、第1パッチの任意の数の平面を、第2
パッチの任意の数の平面でオーバライドさせることもで
きる(パッチ間処理)。他のシステムまたはマスク操作
プロセッサ(できればもう一つのB11tプロセツサ)
と木システムおよび方法にシンクロナイズさせることに
より、与えられたパッチ平面の代わりに外部ソースから
のパッチを、出力マルチプレクサ324を経由して、出
力レジスタ330にロードすることができる。通常、出
力レジスタは、同じ画像メモリに書き込みを実行する2
つのl1litプロセツサに使用することができる。
上記の特徴の応用として考えられるのは、マスク・スワ
ツピング、グラフィック・オーバレイの変更(すなわち
、画像にオーバレイした1平而で、1サイズのグリッド
をスワップし、次に別のサイズのグリッドのスワップを
行う)、および画像のエンコーディング/デコーディン
グである。
rv、変形と強調 これらの技術には、多くの変形および強調を施すことが
できる。例えば、−度に完全な8ビツトのパッチ平面を
処理するために、8台のB11tプロセツサ(またはT
DM使用の4台)を並行して実行させることができる。
この場合、λカレジスタ論理はパッチの各平面が、B1
1tプロセツサの一つへ送信されるように、また出力レ
ジスタ論理は各B11tプロセツサから平面を受信し1
つのパッチを形成するように、変更することができる。
同様に、さらに多くの平面を処理する場合は、さらに多
くのB11tプロセツサを使用することができる。
また、ハードウェアには、一つ以上の適用指定集積回路
(Application 5peciffic In
tegratedCircuit:ASIG)を用いる
ことができる。また、すべての平面を同時に処理するこ
とにより、B目tプロセッサは論理演算同様、算術演算
を実行することができる。
さらに、もう一つのライン・ストレージRAM(現行ラ
イン・ストレージRAMと同サイズ)を使用して、ベー
ジモードで読み込まれたデスティネーション・ラインを
保存することにより、論理演算中のデスティネーション
読み込みベージモード操作の中断を回避することができ
る。このRAMは、画面ソース1行が読み込まれた後、
直接ロードされる。次に、RAMはライン・スト?−ジ
RへMとともに並列に読み込まれる。各RAMは、B1
1tプロセツサの論理装置316の1人力と接続してい
る。デスティネーション・パッチは、無論デスティネー
ションに適合しているため、これらのRAMのロード中
は、シフトおよびマージのハードウェアは必要でなく、
従ってRAMは人力データバス304と直接接続できる
。論理ユニット317の第2人力に接糸売している2つ
めのライン・ストレージRAMもまた、ソースと第2ソ
ース間の操作を実行でき、デスティネーション(第1お
よび第2ソース以外の)への出力を備えたものであフて
もよい。この場合、第2ライン・ストレージRAMは、
シフトおよびマージの後に接続される。第2ソース・パ
ッチ平面は、デスティネーションと適合させる必要がな
いからである。
さらなる変形として、シフト/マージのマスク・データ
の1行を保存する別のライン・ストレージRAMを使用
することもできる。これにより、マスクコピーの際に、
B11tプロセツサは各平面に対し、縁り返しマスク平
面処理を行う必要がなくなる。このRA Mは、出力パ
ッチ・レジスタへの2つ以上の平面の処理に影響を与え
ることなく、プライベート、データバスを通じて、書き
込みマスク・レジスタ320に直接読み込むことができ
る。このRAMを利用する場合、プロセッサは、次の行
に進む前に、出力行のすべての平面を処理しておく必要
があり、それによってマスク平面は、−度の操作しか必
要としないことになる。この場合、ライン・ストレージ
RAMは、TDMの2面に比べ8面すべてのデータを保
存するため、4倍の大きさが必要となる。
また、論理装置316の出力と書き込みマスク・レジス
タの人力との間に、第2のALUを使用することができ
る。この第2のALUの使用により、グラフィックス・
プロセッサ308は、マスク・コピーのエツジのマスク
・データの”^ND″処理を実行する必要がなくなる。
このALtlの第2人力が、現行エツジ/コーナー・パ
ターンを持つグラフィックス・フロセッサ308のソー
スとなる。データを書きみマスク・レジスタに直接バス
するためには、ALUには、バイパス・バスまたはモー
ドへのパス設定が必要である。
また、B11jプロセツサは、時間領域多重化方式を用
いて8平而すべてを処理するよう修正することができる
。これは、B11tクロックの速度をプロセッサ・クロ
・・ツクの8倍にする。(8フエーズをすべてカウント
するため)3木のフェーズ表示信号ラインと、処理平面
を追加するごとにXシフトおよびマージ論理回路314
の追加が必要となる。
ライン・ストレージRAM 318もまた、2平面操作
の場合の4倍の大きさが必要となる。8フ工−ズ操作で
は、パッチの全8平面のシフトおよびマージを最初に実
行する。次のパッチの平面がパッチ人力レジスタ312
から供給されると、Xシフトおよびマージ回路は、第2
パッチの各平面を対応する平面とマージする。デコーダ
PAL 632およびXシフト制御ライン610は、2
フ工−ズTDM操作と同様の処理を実行する。出力パッ
チ・レジスタ330はすべてのシフトおよびマージされ
た平面を集積し、画像メモリに完全なパッチを書き込む
論理装買は、2フエーズ’I’ D M操作と同様の処
理を実行し、デスティネーションとXYシフト後のソー
ス平面との間のプール演算を実行する。
■、結論 これまでの説明では、好適実施例および変形例について
述べたが、これらは例示であって、本発明の範囲を限定
するものでないことを理解されたい。
【図面の簡単な説明】
第1図は、第1画像のソース領域(SOLIRCE l
)および第2画像のデスティネーション領域を示したビ
デオ・デイスプレィ画面を表す説明図、第2図は、第1
図のソース領域から論理演算゛OR”を実行して、第1
図のデスティネーション領域にブロックコピーを行った
後のビデオ・デイスプレィ画面を示す説明図、 第3図は、本発明のシステム(アーキテクチャ)の一実
施例を示す概略ブロック図、第4図は、パッチ・フォー
マットを表したもので、8平面の5×4パッチを示し、
パッチの各平面の画素ポジションに参照番号(0〜19
)を記した説明図、 第5図は、パッチ(またはパッチ平面)の読み込みおよ
び書き込みにより、画素をマスク操作に配列するのに必
要な2次元のシフトおよびマージ操作を説明するための
マツプを示す説明図、第6図は、本発明のXシフトおよ
び/またはマージ機能を実行するための第3図における
Xシフトおよびマージ・ブロック314の一実施例を示
した詳細なブロック図、 第7図は、本発明のYシフト機能を実行するための第3
図におけるYシフト・ブロック311iの一実施例を示
した詳細なブロック図、 第8図は、本発明のYマージおよびベージモード・アク
セス機能を実行するための第3図におけるアドレス・ジ
ェネレータ333およびライン・ストレー・ジRAM 
31Bのブロックの一実施例を示した詳細なブロック図
、 第9図は、パッチを保存し、パッチ平面を供給するため
の第3図における人カパッヂ・レジスタ・ブロック31
2の一実施例を示した詳細なブロック図、 第1O図は、第12図示のXシフトおよびマージブロッ
ク3I4、およびその他の種々のシステム・ブロックの
実施例に用いられる時領域多重(TDM)モードのクロ
ックおよびデータ信号を示すタイミング・チャート、 第11図は、第12図示のXシフトおよびマージブロッ
ク314、およびその他の種々のシステム・ブロックの
実施例に用いられる非時間領域多重モードのクロックお
よびデータ信号を示すタイミング・チャート、 第12図は、時間領域多重モードに適合する第3図のX
シフトおよびマージ・ブロックの他の実施例を示す詳細
なブロック図、 第13図は、第3図示の出力レジスタ・ブロック330
の実施例を示す詳細なブロック図、第14図は、木発明
で実行される書き込みマスク操作を示す説明図、 第15図は、本発明のXシフトおよびマージ機能と方法
とに含まれる代表的なステップを示すジェネラル・フロ
ー・チャート、 第16図は、木発明のYシフトおよびマージ機能と方法
とに含まれる代表的なステップを示すジェネラル・フロ
ー・チャート、 第17図は、本発明のXYシフトおよびマージ機能と方
法とに含まれる代表的なステップを示すジェネラル・フ
ロー・チャート、 第18図は、ソース・パッチとデスティネーション・パ
ッチ間の論理および/または算術演算の代表的なステッ
プを示すジェネラル・フロー・チャートである。 旦四匹λ hxv−zbLt<tq=IItb Figure 4 Figure 7 手続ネ甫工E書 (方式) %式% 1、事件の表示 特願平 1−71604号 発明の名称 マスク操作実行方法、時間領域多重化方法および画像処
理方法 補正をする者 事件との関係

Claims (1)

  1. 【特許請求の範囲】 1)パッチ形式化した画素データについてラスタ操作を
    実行する方法であって、 第1パッチを得るステップと、 第2パッチを得るステップと、 前記第1パッチの予め選択された画素と前記第2パッチ
    の予め選択された画素とをマージングして、前記第1お
    よび/または第2パッチと同じ数の画素を有するシフト
    したパッチを生成するステップと を具えたことを特徴とするラスタ操作実行方法。 2)前記第1および第2パッチを、前記パッチの予め選
    択した列から予め選択した画素と同じパッチのラインか
    ら得ることにより、前記シフトしたパッチを、前記ライ
    ンの方向(X方向)にシフトされているものとしたこと
    を特徴とする請求項1記載のラスタ操作実行方法。 3)前記第1および第2パッチを、前記パッチの予め選
    択した行から予め選択された画素と異なるパッチのライ
    ンから得ることにより、前記シフトしたパッチを、前記
    ラインを横切る方向(Y方向)にシフトされているもの
    としたことを特徴とする請求項1記載のラスタ操作実行
    方法。 4)第1パッチA1および第2パッチA2に関し請求項
    2記載の方法を実行して、X方向にシフトしたパッチを
    生成し、 前記第1パッチA1および前記第2パッチA2とは異な
    るラインにある第1パッチB1および第2パッチB2に
    関し請求項2記載の方法を実行して、X方向にシフトし
    たパッチを生成し、 前記X方向にシフトしたパッチAXおよび前記X方向に
    シフトしたパッチBXに関して請求項3に記載の方法を
    実行して、XY方向にシフトしたパッチを得ることを特
    徴とするラスタ操作実行方法。 5)前記シフトしたパッチと前記第1および第2のパッ
    チのいずれかとの間で論理および/または算術演算を実
    行するステップをさらに具えたことを特徴とする請求項
    1ないし4のいずれかの項に記載のラスタ操作実行方法
    。 6)第3パッチを得るステップと、 前記シフトしたパッチと前記第3パッチとの間で論理お
    よび/または算術論理演算を実行するステップと をさらに具えたことを特徴とする請求項1ないし4のい
    ずれかの項に記載のラスタ操作実行方法。 7)前記第1及び第2パッチはソースパッチであり、前
    記第3パッチはデスティネーションパッチであることを
    特徴とする請求項6記載のラスタ操作実行方法。 8)前記XY方向にシフトしたパッチの部分をデスティ
    ネーションに書込むステップをさらに具え、前記部分は
    書込みマスクに関して選択されていることを特徴とする
    請求項4記載のラスタ操作実行方法。 9)前記書込みマスクは画像平面または画像平面のパッ
    チ平面に設けられることを特徴とする請求項8記載のラ
    スタ操作実行方法。 10)前記画像平面はソース平面であることを特徴とす
    る請求項9記載のラスタ操作実行方法。 11)前記画像平面はデスティネーション平面であるこ
    とを特徴とする請求項9記載のラスタ操作実行方法。 12)ライン上のすべてのパッチが処理されるまで請求
    項1ないし11のいずれかの方法を繰返し実行すること
    を特徴とするラスタ操作実行方法。 13)2以上の平面を有するパッチ形式化された画素デ
    ータについてラスタ操作を実行するラスタ操作実行方法
    であって、 第1パッチの第1平面を得るステップと、 第2パッチの第1平面を得るステップと、 第1パッチの第1平面内の予め選択したビット群と、第
    2パッチの第1平面内の予め選択した他のビット群とを
    マージし、第1および/または第2パッチの第1平面と
    して同じ数のビット群を有するシフトされたパッチ平面
    を生成するステップと を具えたことを特徴とするラスタ操作実行方法。 14)前記第1パッチの第1平面は、前記第1パッチを
    得てそこから第1平面を得ることによって得られ、およ
    び/または前記第2パッチの第1平面は、前記第2パッ
    チを得てそこから第1平面を得ることにより得られるこ
    とを特徴とする請求項13記載のラスタ操作実行方法。 15)前記第1および第2パッチのそれぞれの平面につ
    いて請求項13または14記載の方法を繰返し実行する
    ことを特徴とするラスタ操作実行方法。 16)前記シフトされたパッチ平面は同じ数のビット群
    を有することを特徴とする請求項15記載のラスタ操作
    実行方法。 17)2以上の平面を有するパッチ形式化された画素デ
    ータにラスタ操作を実行するための時間領域多重化方法
    であって、 第1クロックサイクルで第1パッチを得るステップと、 前記第1クロックサイクルの第1時間部分で前記第1パ
    ッチの第1平面を選択するステップ第2クロックサイク
    ルで第2パッチを得るステップと、 前記第2クロックサイクルの第1時間部分で前記第2パ
    ッチの第1平面を選択するステップと、 前記第1パッチの前記第1平面内で予め選択した部分と
    、前記第2パッチの前記第1平面内で予め選択した部分
    とをマージングし、シフトされたパッチの第1平面を生
    成するステップと を具えたことを特徴とする時間領域多重化方法。 18)前記第1クロックサイクルの第2時間部分で前記
    第1パッチの第2平面を選択するステップと、 前記第2クロックの第2時間部分で前記第2パッチの第
    2平面を選択するステップと、 前記第1パッチの前記第2平面内で予め選択した部分と
    、前記第2パッチの前記第2平面内で予パッチの第2平
    面を得るステップと をさらに具えたことを特徴とする請求項17記載の時間
    領域多重化方法。 19)前記予め選択した部分は予め選択した列であり、
    前記シフトされたパッチはX方向にシフトされたパッチ
    であることを特徴とする請求項17または18記載の時
    間領域多重化方法。 20)前記予め選択した部分は予め選択した行であり、
    前記シフトされたパッチはY方向にシフトされたパッチ
    であることを特徴とする請求項17ないし19のいずれ
    かの項に記載の時間領域多重化方法。 21)画像が複数のパッチによって表現され、それぞれ
    のパッチが2次元の画素のアレーを表現し、各画素のデ
    ータは各平面におけるそれぞれの画素成分を有するもの
    である前記画像データの処理方法であって、 パッチの第1平面内でいくつかの数の画素成分を選択す
    るステップと、 パッチの第2平面で前記数の画素成分を選択するステッ
    プと、 前記第2平面内で選択した画素成分と前記第1平面内で
    選択した画素成分とを置換えるステップと を具えたことを特徴とする画像データ処理方法。 22)前記各平面において前記画素成分のすべてが選択
    されることを特徴とする請求項21記載の画像データ処
    理方法。 23)画素成分の2次元アレーが選択されることを特徴
    とする請求項21記載の画像データ処理方法。 24)前記第1および第2平面は同一パッチ上の平面で
    あることを特徴とする請求項21ないし23のいずれか
    の項に記載の画像データ処理方法。 25)前記第1および第2平面は異なるパッチ上の平面
    であることを特徴とする請求項21ないし23のいずれ
    かの項に記載の画像データ処理方法。 26)前記異なるパッチは異なる画像に関連しているこ
    とを特徴とする請求項25記載の画像データ処理方法。 27)前記第1平面内で選択した画素成分と前記第2平
    面内で選択した画素成分を置換えることにより、前記第
    1平面と前記第2平面との間で前記選択した画素成分を
    交換するステップをさらに具えたことを特徴とする請求
    項21ないし26のいずれかの項に記載の画像データ処
    理方法。
JP7160489A 1988-03-23 1989-03-23 ラスタ操作実行方法、時間領域多重化方法および画像処理方法 Pending JPH0215381A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB8806845A GB2215952A (en) 1988-03-23 1988-03-23 Performing raster operations on patch formatted pixel data using time domain multiplexing
GB8806837 1988-03-23
GB8806837A GB2215948A (en) 1988-03-23 1988-03-23 Performing raster operations on patch formatted pivel data
GB8806845 1988-03-29

Publications (1)

Publication Number Publication Date
JPH0215381A true JPH0215381A (ja) 1990-01-19

Family

ID=26293673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7160489A Pending JPH0215381A (ja) 1988-03-23 1989-03-23 ラスタ操作実行方法、時間領域多重化方法および画像処理方法

Country Status (1)

Country Link
JP (1) JPH0215381A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6646653B2 (en) 1992-01-30 2003-11-11 A/N Inc. Programmable graphics processor for use in a video game system or the like

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6646653B2 (en) 1992-01-30 2003-11-11 A/N Inc. Programmable graphics processor for use in a video game system or the like
US6895470B2 (en) 1992-01-30 2005-05-17 Nintendo Of America Inc. External memory system having programmable graphics processor for use in a video game system or the like
US7229355B2 (en) 1992-01-30 2007-06-12 Nintendo Co., Ltd. External memory system having programmable graphics processor for use in a video game system of the like
US7432932B2 (en) 1992-01-30 2008-10-07 Nintendo Co., Ltd. External memory system having programmable graphics processor for use in a video game system or the like

Similar Documents

Publication Publication Date Title
US4692880A (en) Memory efficient cell texturing for advanced video object generator
US5774133A (en) Computer system with improved pixel processing capabilities
US5170468A (en) Graphics system with shadow ram update to the color map
US5287470A (en) Apparatus and method for coupling a multi-lead output bus to interleaved memories, which are addressable in normal and block-write modes
US5029105A (en) Programmable pipeline for formatting RGB pixel data into fields of selected size
US5254979A (en) Raster operations
JPH0429069B2 (ja)
JPS62288984A (ja) ビデオ表示装置
US4823281A (en) Color graphic processor for performing logical operations
JPH077260B2 (ja) 画像データ回転処理装置及びその方法
JPS6162980A (ja) 画像メモリ周辺lsi
US5459835A (en) Graphics rendering systems
US5185859A (en) Graphics processor, a graphics computer system, and a process of masking selected bits
US5737761A (en) Memory control architecture for high-speed transfer operations
US5422998A (en) Video memory with flash fill
US5269001A (en) Video graphics display memory swizzle logic circuit and method
EP0230352B1 (en) Graphic and data display system
US4916746A (en) Image rotation circuit
JPH0215381A (ja) ラスタ操作実行方法、時間領域多重化方法および画像処理方法
JPS6330633B2 (ja)
GB2215951A (en) Performing raster operations on patch formatted pixel data
EP0334622A2 (en) Raster operations
JP2886855B2 (ja) 画像表示装置
GB2215948A (en) Performing raster operations on patch formatted pivel data
GB2215952A (en) Performing raster operations on patch formatted pixel data using time domain multiplexing