JP3150342B2 - Orthogonal rotator - Google Patents

Orthogonal rotator

Info

Publication number
JP3150342B2
JP3150342B2 JP51000293A JP51000293A JP3150342B2 JP 3150342 B2 JP3150342 B2 JP 3150342B2 JP 51000293 A JP51000293 A JP 51000293A JP 51000293 A JP51000293 A JP 51000293A JP 3150342 B2 JP3150342 B2 JP 3150342B2
Authority
JP
Japan
Prior art keywords
bit
register
word
array
control signal
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
JP51000293A
Other languages
Japanese (ja)
Other versions
JPH07502352A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of JPH07502352A publication Critical patent/JPH07502352A/en
Application granted granted Critical
Publication of JP3150342B2 publication Critical patent/JP3150342B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/606Rotation of whole images or parts thereof by memory addressing or mapping

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】 関連特許出願の引照 本特許出願は、1991年7月8日出願され、係属中の米
国特許出願第07/726,929号、発明の名称「シングル・チ
ップ・ページ・プリンタ・コントローラ:Single Chip P
age Printer Controller」に関連するものであり、当該
米国特許出願の番号を参照することによって当該米国特
許出願の明細書の記載内容が本明細書の一部分を構成す
るものとする。
DETAILED DESCRIPTION OF RELATED APPLICATIONS This patent application, filed July 8, 1991, is pending U.S. patent application Ser. No. 07 / 726,929, entitled "Single Chip Page Printer." Controller: Single Chip P
age Printer Controller ", and the contents of the specification of the U.S. patent application are incorporated herein by reference.

発明の背景 I. 産業上の利用分野 本発明はコンピュータ・グラフィックスの分野に関
し、より具体的には、ラスタ・プリンタ、画面(スクリ
ーン)、表示装置か、その他の人間の視覚に感じられる
明示方法によって表されるビデオ・イメージに係わるビ
ット・マップに格納されたデータを操作することに関す
る。
BACKGROUND OF THE INVENTION I. INDUSTRIAL APPLICATIONS This invention relates to the field of computer graphics, and more particularly to raster printers, screens, displays, or other human visual perception methods. And manipulating the data stored in the bit map associated with the video image represented by.

II. 関連技術 ラスタ・グラフィックス・システムにおいて、グラフ
ィックス・イメージはメモリに格納され、そのイメージ
(画像)をビットのマトリックス(行列)の形で表現す
ることによって、プリンタ、画面、もしくは表示装置に
表される。そのマトリックスは「ビット・マップ」ある
いは「フレーム・バッファ」と呼ばれる。単色システム
では、ビット・マップの1ビットが表示面上の1個の可
視ドット、もしくは画素(略して、ピクセル)を表す。
グレー・スケールあるいはカラーのシステムでは、ビッ
ト・マップの複数のビットが表示面上の1ピクセルもし
くはピクセル集合を表す。
II. Related Art In a raster graphics system, a graphics image is stored in a memory, and the image (image) is expressed in the form of a matrix of bits to a printer, a screen, or a display device. expressed. The matrix is called a "bit map" or "frame buffer." In a monochrome system, one bit of the bit map represents one visible dot or pixel (abbreviated pixel) on the display surface.
In a gray scale or color system, multiple bits of a bit map represent a pixel or set of pixels on a display surface.

グラフィックス・イメージの表示を制御するために数
多くのタイプのグラフィックス・プロセッサが当業界で
設計され実現されてきた。このタスク専用のグラフィッ
クス・プロセッサは制御プロセッサの処理負担を軽減す
るのに役立つ。グラフィックス・プロセッサは通常イメ
ージ・データを生成するためだけでなく、ビット・マッ
プ内に存在しているイメージ・データを操作するように
も設計されている。一つの典型的なグラフィックス操作
が回転(rotation)である。「回転」とは、「変換(tr
anslation)」あるいは「シフティング(shifting)」
と対照したものとして、あるイメージを、もしくはそれ
を部分的に、表示面に対し垂直をなす軸の回りを動かす
ことを言う。変換あるいはシフティングは移動の線形成
分、即ち、表示面を横切る移動のことを言う。
Many types of graphics processors have been designed and implemented in the art to control the display of graphics images. A graphics processor dedicated to this task helps to reduce the processing burden on the control processor. Graphics processors are typically designed not only to generate image data, but also to manipulate image data residing in a bit map. One typical graphics operation is rotation. "Rotation" means "transform (tr
anslation) or "shifting"
In contrast to moving an image, or part of it, about an axis perpendicular to the display surface. Transformation or shifting refers to the linear component of movement, ie, movement across the display surface.

単純明快な数学を使ってハードウェア及び/又はソフ
トウェアで実現したイメージを回転(ローテート)させ
るためには、膨大な計算が必要である。一つの理由は、
ビット・マップがX成分とY成分を有する座標系として
取り扱われることである。ビット・マップの1ビットを
操作するためには、前記XとYの両成分が考慮されなけ
ればならない。
Rotating an image implemented in hardware and / or software using straightforward mathematics requires a great deal of computation. One reason is that
That is, the bit map is treated as a coordinate system having an X component and a Y component. In order to manipulate one bit of the bit map, both the X and Y components must be considered.

グラフィックス・イメージを回転させることには複雑
な数学が伴うことから、回転動作は通常、使用する角度
毎に文字を描きその文字をフォント・テーブルもしくは
フォント・キャッシュに格納することによって、実現さ
れてきた。基本的に、すべての使用可能なフォントがフ
ォント・テーブルに格納され、1個の文字をどのように
も回転させた形(rotated view)が単独の固有文字とし
て取り扱われる。従って、文字を最も一般的な回転、即
ち、90度、180度あるいは270度に回転させるためには、
4つのフォントが回転の各角度に対応するフォント・テ
ーブルに格納される。
Due to the complex math involved in rotating graphics images, rotation is usually accomplished by drawing a character for each angle used and storing the character in a font table or font cache. Was. Basically, all available fonts are stored in a font table, and the rotated view of a single character is treated as a single unique character. Therefore, to rotate a character to the most common rotation, i.e., 90, 180 or 270,
Four fonts are stored in a font table corresponding to each angle of rotation.

さらに、前記フォント・テーブルは、文字の単一バー
ジョンだけを格納することによってサイズの縮小をする
ことができるし、その後回転が必要になればソフトウェ
アによってその文字を回転させることができる。しかし
ながら、ソフトウェア使用による回転はハードウェアを
用いての回転よりはるかに時間が掛かり、そのためにシ
ステム性能の低下を招くことになる。
In addition, the font table can be reduced in size by storing only a single version of a character, and then the character can be rotated by software if rotation is required. However, rotation using software takes much longer than rotation using hardware, which leads to a decrease in system performance.

回転を実現させるための別の技法は、S.Nandaに供与
された米国特許第4,797,852号、発明の名称「グラフィ
ックス・プロセッサ用ブロック・シフタ(Block Shifte
r For Graphics Processor)」に記載されている。な
お、当該米国特許番号を参照することによって当該米国
特許の明細書の記載内容が本明細書の一部分を構成する
ものとする。ブロック・シフタはレジスタのマトリック
ス・アレイの形で備えられている。回転は、先ず前記ブ
ロック・シフタにメモリからデータをロードすることに
よって成し遂げられる。次に、ビットが事前に決定され
たアルゴリズムによる決定に従って水平方向並びに垂直
方向にシフトされ、それによって前記アレイに格納され
たビットが位置(position)を変更できるようになる。
ひとたび回転動作が完了すると、その回転されたデータ
を表わすビット・パターンが横方向(ラテラル:latera
l)出力もしくは縦方向(バーティカル:vertical)出力
からのレジスタ・アレイからシーケンシャルなワードの
順序で読み出される。Nandaの説により、文字当たり1
フォントだけしかフォント・テーブルに格納される必要
がない。何故ならば、すべての回転された形は文字ブロ
ック転送によって成し遂げられるからである。
Another technique for achieving rotation is described in U.S. Pat. No. 4,797,852 to S. Nanda, entitled "Block Shifter for Graphics Processors."
r For Graphics Processor) ". The contents of the specification of the U.S. patent are incorporated herein by reference to the U.S. patent number. The block shifters are provided in a matrix array of registers. Rotation is accomplished by first loading the block shifter with data from memory. The bits are then shifted both horizontally and vertically as determined by a predetermined algorithm, so that the bits stored in the array can change position.
Once the rotation operation is completed, the bit pattern representing the rotated data is shifted in the horizontal direction (latera).
l) Read in sequential word order from register array from output or vertical output. According to Nanda, one per character
Only fonts need be stored in the font table. This is because all rotated shapes are achieved by character block transfers.

前記の技法は、ある程度、イメージの回転を実行する
ことに関連する計算の過負荷(overload)を削減しては
いるが、それを実現するのに必要なシステム回路が大き
くなりすぎる。それゆえ、スピード、効率さらに面積の
重視が主要なドライビング・フォース(driving force
s)になっている、非常に競争の厳しいグラフィックス
業界では、関連技術におけるシステムより活用面積がさ
らに小さな、高性能なグラフィックス・システムが必要
とされている。
Although the techniques described above reduce, to some extent, the computational overload associated with performing image rotation, the system circuitry required to achieve it is too large. Therefore, emphasis on speed, efficiency and area is the driving force.
s), the highly competitive graphics industry requires high performance graphics systems that take up less space than systems in related technologies.

発明の概要 本発明は、グラフィックス・プロセッサにおけるビッ
ト・マップ領域を、垂直に鏡映(パーティカル・ミラ
ー:vertical mirror)させる以外に、直角(90度もしく
は270度)にも回転させるために使うことができる直交
方向ローテータである。
SUMMARY OF THE INVENTION The present invention is used to rotate a bit map area in a graphics processor to a right angle (90 degrees or 270 degrees) as well as to vertically mirror it (vertical mirror). Directional rotator.

本発明において、レジスタ・アレイ手段はビット・ロ
ケーションの行(row)と列(column)を有するマトリ
ックスの形で構成されている。ビット制御手段はワード
制御手段と共にレジスタ・アレイを制御する。ビット制
御手段はソース・データ・バイトをソース・ビット・マ
ップからレジスタ・アレイ手段の列にロードする。直交
方向回転および垂直鏡映は、ワード(4バイト)がデス
ティネーション・ビット・マップ(destination bit ma
p)に読み込まれる順序との組み合わせで、バイトがソ
ース・ビット・マップからレジスタ・アレイ手段にロー
ドされる順序に従って成し遂げられる。
In the present invention, the register array means is configured in a matrix having a row and a column of bit locations. The bit control means controls the register array together with the word control means. The bit control means loads the source data bytes from the source bit map into the columns of the register array means. For orthogonal rotation and vertical mirroring, a word (4 bytes) is stored in the destination bit map (destination bit map).
Combined with the order in which they are read in p), this is achieved according to the order in which bytes are loaded from the source bit map into the register array means.

具体的に述べると、垂直鏡映を取り入れないで90度回
転させるには、ビット制御手段はソース・データ・バイ
トを、左端の列(以下、LSB列と呼ぶ)に存在する最下
位ビット(LSB)位置から始まり右端の列(以下、MSB列
と呼ぶ)に存在する最上位ビット(MSB)で終わる順序
で、レジスタ・アレイ手段の列にロードする。ワード制
御手段は次に、レジスタ・アレイ手段からデータ・ワー
ドを読み出すが、それはボトム・レジスタ内の最上位ワ
ード(MSW)から始まりトップ・レジスタ内の最下位ワ
ード(LSW)で終わる順序で行われる。
Specifically, to rotate 90 degrees without incorporating vertical mirroring, the bit control means converts the source data byte to the least significant bit (LSB) present in the leftmost column (hereinafter referred to as the LSB column). ) Loads into the columns of the register array means in order starting from the position and ending with the most significant bit (MSB) present in the rightmost column (hereinafter referred to as the MSB column) The word control means then reads the data words from the register array means, starting with the most significant word (MSW) in the bottom register and ending with the least significant word (LSW) in the top register. .

垂直鏡映を利用して90度回転させるには、データ・バ
イトがLSB列から始まりMSB列で終わる順序でレジスタ・
アレイ手段にロードされる。次に、データ・ワードがト
ップ・レジスタのLSWから始まりボトム・レジスタのMSW
で終わる順序でレジスタ・アレイ手段から読み出され
る。
To rotate 90 degrees using vertical mirroring, register bytes in the order that data bytes start with the LSB column and end with the MSB column.
Loaded into array means. Next, the data word starts with the LSW of the top register and the MSW of the bottom register.
Are read from the register array means in the order ending with.

垂直鏡映を利用しないで270度回転させるには、デー
タ・バイトがMSB列に始まりLSB列に終わる順序でレジス
タ・アレイ手段にロードされる。続いて、ワード制御手
段がトップ・レジスタ108内のLSWから始まりボトム・レ
ジスタ内のMSWに終わる順序でレジスタ・アレイ手段か
らワードを読み出される。
To rotate 270 degrees without using vertical mirroring, the data bytes are loaded into the register array means in the order that the data bytes begin in the MSB column and end in the LSB column. Subsequently, the word control means reads the words from the register array means in an order starting with the LSW in the top register 108 and ending with the MSW in the bottom register.

垂直鏡映を用いて270度の回転を実現させるには、ソ
ース・データ・バイトがMSB列に始まりLSB列に終わる順
序でレジスタ・アレイ手段にロードされる。次に、デー
タ・ワードがボトム・レジスタのMSWに始まりトップ・
レジスタのLSWに終わる順序でレジスタ・アレイ手段か
ら読み出される。
To achieve a 270 degree rotation using vertical mirroring, the source data bytes are loaded into the register array means in an order starting with the MSB column and ending with the LSB column. Next, the data word begins with the MSW of the bottom register and
The registers are read from the register array means in the order ending with the LSW.

本発明には数多くの利点並びに適用業務がある。例を
挙げると、ビット・マップ上のイメージ・データ(バイ
ト単位で)の高速かつ確実な回転の実現に必要な機構を
備えるために、RISC型マイクロプロセッサのような集積
回路の中にほとんど実面積をとらずに容易に実現される
ことができる。
The invention has numerous advantages and applications. For example, in order to provide the necessary mechanisms to achieve fast and reliable rotation of image data (in bytes) on a bit map, the real area is almost completely embedded in an integrated circuit such as a RISC microprocessor. It can be easily realized without taking any steps.

当直交方向ローテータはクリアリング機能を容易に実
現することができる。
The orthogonal rotator can easily realize the clearing function.

当直交方向ローテータの独立した運用によって、直交
方向ローテータが実行している間に、グラフィックス・
プロセッサの複数の他のサブシステムは並行して機能す
ることが可能になり、それによってより高速なグラフィ
ックス能力を提供することになる。
The independent operation of the orthogonal rotator allows the graphics rotator to run while the orthogonal rotator is running.
Multiple other subsystems of the processor will be able to function in parallel, thereby providing faster graphics capabilities.

本発明のさらにもう一つの利点は、ハードウェア、ソ
フトウェア、性能並びに空間に関わる要件の間でのトレ
ードオフを可能にすることである。例えば、性能及び空
間の要件次第で、ソフトウェアあるいはハードウェアに
よって、もしくはその両方の組み合わせによって、この
新規な直交方向ローテータからデータを読み出すことが
できる。さらに、直交方向ローテータ内のワード・レジ
スタ数は変更可能である。ワード・レジスタ数は増やす
ことができ、それによって空間を犠牲にしてシステムの
性能を上げることができる。言い換えれば、好適な実施
例においては8ワード・レジスタになっているが、もし
そうしたければ、この数字を16または32に上げることが
可能である。さらに、ハードウェア費用と実面積が最大
の懸念であるようなら、ワード・レジスタ数を減らすこ
とができる。
Yet another advantage of the present invention is that it allows for a trade-off between hardware, software, performance and space requirements. For example, data can be read from this novel orthogonal rotator by software or hardware, or a combination of both, depending on performance and space requirements. Further, the number of word registers in the orthogonal rotator can be changed. The number of word registers can be increased, thereby increasing system performance at the expense of space. In other words, the preferred embodiment is an eight word register, but if desired, this number can be raised to 16 or 32. Furthermore, if hardware costs and real estate are of greatest concern, the number of word registers can be reduced.

本発明のまた別の利点は、この新規な直交方向ローテ
ータが、ビット・マップ領域を事実上180度回転させる
ことができる単純な水平鏡映(ホリゾンタル・ミラー:h
orizontal mirror)システムと組み合わせて使用するこ
とができることであり、それによって90度の増分(イン
クリメント)で全ての回転を実現可能にすることであ
る。この目的のための水平鏡映システムについては、係
属中の米国特許出願第07/798,705号、発明の名称「ピク
セル変更ユニツト:Pixel Modification Unit」の明細書
に説明されている。なお、当該米国特許出願の番号を参
照することによって当該米国特許出願の明細書の記載内
容が本明細書の一部分を構成するものとする。
Yet another advantage of the present invention is that the novel orthogonal rotator provides a simple horizontal mirror (horizontal mirror: h) that can rotate the bit map area by substantially 180 degrees.
that it can be used in combination with an orizontal mirror system, thereby making all rotations feasible in 90 degree increments. A horizontal mirror system for this purpose is described in pending U.S. patent application Ser. No. 07 / 798,705, entitled "Pixel Modification Unit." The contents of the specification of the US patent application constitute a part of the present specification by referring to the number of the US patent application.

図面の簡単な説明 本発明は、特許請求の範囲に明示されている通りであ
るが、下記の図面を参考することにより、より良く理解
されることであろう。
BRIEF DESCRIPTION OF THE DRAWINGS The invention, as set forth in the claims, will be better understood with reference to the following drawings.

第1図は本発明によるレジスタ・アレイを有する直交
方向ローテータのブロック図である。
FIG. 1 is a block diagram of an orthogonal rotator having a register array according to the present invention.

第2A図はビット・マップのビデオ・イメージ内のある
領域の90度回転を示す図である。
FIG. 2A is a diagram illustrating a 90 degree rotation of an area in a video image of a bit map.

第2B図はビット・マップのビデオ・イメージ内のある
領域の270度回転を示す図である。
FIG. 2B illustrates a 270 degree rotation of an area in the video image of the bit map.

第2C図はビット・マップのビデオ・イメージ内のある領
域の、垂直鏡映を取り入れた90度回転を示す図である。
FIG. 2C shows a 90 degree rotation of a region within the video image of the bit map, incorporating vertical mirroring.

第2D図はビット・マップのビデオ・イメージ内のある
領域の垂直鏡映を取り入れた270度回転を示す図であ
る。
FIG. 2D shows a 270 degree rotation incorporating vertical mirroring of an area within the video image of the bit map.

第3図は第1図のレジスタ・アレイ内のレジスタ・ア
レイ・ビットの周囲に通信経路をつけたブロック図であ
る。
FIG. 3 is a block diagram in which a communication path is provided around register array bits in the register array of FIG.

第4図は本発明の方法論の高レベル(high level)の
フローチャートを示す図である。
FIG. 4 shows a high level flow chart of the methodology of the present invention.

好適な実施例の詳細な説明 第1図は、本発明による高性能直交方向ローテータ10
0のブロック図である。直交方向ローテータ100は、グラ
フィックスのソース・ビット・マップ102からバイト単
位でビット・マップ・データの領域を垂直に鏡映する以
外に、直角に回転されることもできる。即ち、90度もし
くは270度回転させることができる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1 shows a high performance orthogonal rotator 10 according to the present invention.
It is a block diagram of 0. The orthogonal rotator 100 can be rotated at right angles, as well as vertically mirroring the area of bit map data in bytes from the graphics source bit map 102. That is, it can be rotated 90 degrees or 270 degrees.

第2A〜2D図は、本明細書における直交方向回転並びに
垂直鏡映の概念を視覚的に示す図である。第2A図におい
て、デスティネーション・ビット・マップ122で直交方
向に回転された領域204が示すように、ソース・ビット
・マップ102内の領域202は90度の角度(時計の針の回転
方向と反対方向に取り決め)で回転している。
2A to 2D are diagrams visually illustrating the concept of orthogonal rotation and vertical mirroring in the present specification. In FIG. 2A, the region 202 in the source bitmap 102 is at a 90 degree angle (as opposed to the direction of rotation of the clock hand), as shown by the orthogonally rotated region 204 in the destination bitmap 122. In the direction).

第2B図において、デスティネーション・ビット・マッ
プ122で直交方向に回転された領域206が示すように、ソ
ース・ビット・マップ102内のビット・マップ領域202は
直交方向に270度の角度(時計の針の回転方向と反対方
向に取り決め)で回転している。
In FIG. 2B, the bit map area 202 in the source bit map 102 is orthogonally oriented at a 270 degree angle (clockwise), as indicated by the orthogonally rotated area 206 in the destination bit map 122. It is rotating in the direction opposite to the direction of rotation of the needle).

第2C図において、ソース・ビット・マップ102内のビ
ット・マップ領域202は90度の角度で回転しさらに垂直
に鏡映している。回転しさらに垂直に鏡映した領域214
の構成をデスティネーション・ビット・マップ122に示
す。
In FIG. 2C, the bit map area 202 in the source bit map 102 is rotated at an angle of 90 degrees and is mirrored vertically. Rotated and vertically mirrored area 214
Is shown in the destination bit map 122.

さらに、第2D図において、ソース・ビット・マップ10
2内のビット・マップ領域202は270度の角度で回転しさ
らに垂直に鏡映している。回転しさらに垂直に鏡映した
領域216の構成をデスティネーション・ビット・マップ1
22に示す。
Further, in FIG. 2D, the source bit map 10
The bit map area 202 in 2 rotates at an angle of 270 degrees and is mirrored vertically. Destination bitmap 1 showing the configuration of rotated and vertically mirrored area 216
See Figure 22.

再び第1図において、アーキテクチャ上の見地から見
ると、この新規な直交方向ローテータ100はビット・デ
コード/制御ロジック104、ワード・デコード/制御ロ
ジック105並びにレジスタ・アレイ106から成り立ってい
る。好適な実施例において、レジスタ・アレイ106は8
行に並んだそれぞれのレジスタ108〜114を有している。
一般的に、例えば、ソース・データ118がレジスタ108〜
114に供給されるのに対し、制御ソフトウェアからのビ
ット選択制御信号116は、直交方向に回転した出力デー
タ120を生成するように、ビット・デコード/制御ロジ
ック104に対して供給される。示されているように、直
交方向に回転した出力データ120はグラフィックスのデ
スティネーション・ビット・マップ122に入れらる。
Referring again to FIG. 1, from an architectural point of view, the new orthogonal rotator 100 comprises bit decode / control logic 104, word decode / control logic 105, and a register array 106. In the preferred embodiment, register array 106 contains 8
It has registers 108 to 114 arranged in rows.
In general, for example, source data 118
While provided to 114, a bit select control signal 116 from the control software is provided to the bit decode / control logic 104 to generate orthogonally rotated output data 120. As shown, the orthogonally rotated output data 120 is entered into a graphics destination bit map 122.

イメージ・ビット・マップの左側に各バイトの最下位
ビット(LSB)を置き、イメージ・ビット・マップの右
側に各バイトの最上位ビットが来るようにするというの
がグラフィックス業界の一般的な取り決めである。その
一般的取り決めは本明細書において考察のために解説と
して使われているが、本発明を実現するに当たってその
取り決めを使用する必要はない。従って、第1図におい
て、ビットb0はビット・マップの最も左側のビットに相
当し、ビットb31はビット・マップの最も右側のビット
に相当する。さらに、最上位ワード(MSW)がボトム・
レジスタ114に格納されるのに対し、最下位ワード(LS
W)はトップ・レジスタ108に格納される。
A common convention in the graphics industry is to place the least significant bit (LSB) of each byte on the left side of the image bit map and the most significant bit of each byte on the right side of the image bit map. It is. Although that general convention is used herein for discussion purposes, it is not necessary to use that convention in implementing the present invention. Thus, in Figure 1, bit b 0 corresponds to the leftmost bit of the bit map, the bit b 31 corresponds to the rightmost bit of the bit map. In addition, the most significant word (MSW)
While stored in register 114, the least significant word (LS
W) is stored in the top register 108.

本発明はソース・データ・バイト(8ビット)をレジ
スタ・アレイ106の列に転送することを考案している。
ソース・データ・バイトは、アレイが完全にあるいは部
分的に一杯になるまで、レジスタ・アレイに書き込まれ
る。第1図に具体的に示すように、各ソース・データ・
バイト124〜130は、そのビットの各々が別々のレジスタ
(もしくは行)108〜114に流されるように、ビット・ス
ライス方式になっている。ビット・スライス式の各ビッ
トは次にその排他的レジスタ、即ち、レジスタ108〜114
の1本の、全ビットに対して多重化される。例えば、ソ
ース・ビット0はアレイ・レジスタ0の32ビット全てに
渡される。ソース・ビット1は、第1図に示すように、
アレイ・レジスタ1の32ビット全てに渡される、といっ
た具合である。
The present invention contemplates transferring the source data bytes (8 bits) to the columns of register array 106.
Source data bytes are written to the register array until the array is completely or partially full. As specifically shown in FIG. 1, each source data
Bytes 124-130 are bit sliced such that each of its bits is streamed to a separate register (or row) 108-114. Each bit of the bit slice expression is then its exclusive register, ie, registers 108-114.
Is multiplexed for all bits. For example, source bit 0 is passed to all 32 bits of array register 0. Source bit 1 is, as shown in FIG.
It is passed to all 32 bits of array register 1, and so on.

ビット選択制御信号116は、第1図に示すように、そ
れぞれのレジスタ108〜114に送り込まれる32ビットのロ
ード選択信号セットを生成するように、ビット・デコー
ド/制御104によってデコードされる。ロード選択信号
はレジスタ・アレイ106の列を横切るビット・スライス
方式になっている。言い換えれば、参照番号132で表記
したロード選択制御ビット0はビットすべてにb0が入っ
た列0を制御する。参照番号134で表記したロード選択
制御ビット1はビットすべてにb1が入った列1を制御す
る、といった具合である。従って、ビット選択制御信号
116は入力されたソース・データ・バイトが書き込まれ
るアレイの列を選択する。さらに、ソース・データ・ビ
ットはレジスタ108〜114の全ビットに対して多重化され
るけれども、各レジスタ108〜114の1ビットだけがソー
ス・データ・ビットによってロードされる。
The bit select control signal 116 is decoded by the bit decode / control 104 to generate a 32-bit load select signal set that feeds into each of the registers 108-114, as shown in FIG. The load selection signal is in a bit slice system that crosses the columns of the register array 106. In other words, the load selection control bit 0 which is denoted by reference numeral 132 controls column 0 containing the b 0 to all bits. Load selection control bits and denoted by reference numeral 134 1 controls the column 1 containing the b 1 for all bits, and so on. Therefore, the bit selection control signal
116 selects a column of the array to which the input source data byte is written. Further, although the source data bits are multiplexed for all bits of registers 108-114, only one bit of each register 108-114 is loaded by the source data bits.

さらに、ワード選択制御信号144とロード/読み出し
制御信号146は、第1図に示すように、レジスタ108〜11
4の各々に対するワード・ロード信号ならびにワード読
み出し信号を生成するように、ワード・デコード/制御
ロジック148によってデコードされる。
Further, the word selection control signal 144 and the load / read control signal 146 are, as shown in FIG.
4 is decoded by word decode / control logic 148 to generate a word load signal as well as a word read signal.

第3図はレジスタ・アレイ106内の任意のレジスタ・
アレイ・ビット位置302のブロック図である。レジスタ
・アレイ・ビット位置302は第1図のレジスタ108〜114
のいずれかに収められているビットb31〜b0のいずれか
である可能性がある。
FIG. 3 shows any registers in the register array 106.
FIG. 4 is a block diagram of array bit position 302. Register array bit position 302 corresponds to registers 108-114 of FIG.
There is a likelihood that any bit b 31 ~b 0, which is on the either.

第3図に示すように、ビット・ロード304は、ビット
選択信号116に応じて、ソース・ビットn(実施例にお
いては、0<n<7)がレジスタ・アレイ・ビット位置
302に入るようにすることができる。ワード・ロード306
は、ロード制御信号と共にワード選択制御信号に応じ
て、ワードが並列ロード・バス308からレジスタ・アレ
イ・ビット302を包含する特定のワード・レジスタもし
くは行に入るようにすることができる。ワード読み出し
310は、読み出し制御信号と共にワード選択制御信号に
応じて、ワードが読み出しバス312に書き込まれるよう
にすることができる。従って、ワード・ロード306なら
びにワード読み出し310により、レジスタ・アレイ106内
のレジスタ108〜114もしくは行へのランダム・アクセス
が起きる。さらに、レジスタ・アレイ・ビット位置302
へのビット・ロード304の結果として、レジスタ集合108
〜114もしくは行内のビットb31−b0へのランダム・アク
セスが発生する。
As shown in FIG. 3, the bit load 304 causes the source bit n (0 <n <7 in the preferred embodiment) to be set to the register array bit position in response to the bit select signal 116.
302. Word Road 306
Can cause words to enter a particular word register or row containing register array bits 302 from parallel load bus 308 in response to the word select control signal along with the load control signal. Read word
310 may cause a word to be written to read bus 312 in response to a word select control signal along with a read control signal. Thus, word load 306 and word read 310 cause random access to registers 108-114 or rows in register array 106. In addition, register array bit position 302
Register set 108 as a result of bit loading 304
To 114 or random access to rows of the bit b 31 -b 0 is generated.

本発明のまた別の特徴によって、この直交方向ローテ
ータは全レジスタを同時にクリアするかもしくは個々の
レジスタをクリアするかのいずれも可能にすることがで
きる。ビット制御/デコード・ロジック104は同時にレ
ジスタ108〜114の全てをクリアさせることができる。そ
のような全クリアリング機能は、例えば、初期設定に都
合が良い場合がある。このタイプのクリアリングでは、
直交方向ローテータ100全体が単一命令(本明細書には
記載されていない)によってビット制御/デコード・ロ
ジック104に事前にロードされる場合がある。さらに、
個々のレジスタのクリアリングはワード制御/デコード
・ロジック148を介して実行されることがある。本明細
書において、「クリアリング」とは、レジスタに流され
る同じ状態(1または0のいずれか)のソース・ビット
nでレジスタもしくは行が一杯になることを言う。
In accordance with yet another aspect of the invention, the orthogonal rotator can allow either all registers to be cleared simultaneously or individual registers to be cleared. Bit control / decode logic 104 may cause all of registers 108-114 to be cleared at the same time. Such a full clearing function may be convenient for initial settings, for example. In this type of clearing,
The entire orthogonal rotator 100 may be pre-loaded into the bit control / decode logic 104 by a single instruction (not described herein). further,
Clearing of individual registers may be performed via word control / decode logic 148. As used herein, "clearing" refers to a register or row being filled with a source bit n of the same state (either 1 or 0) flowing through the register.

第4図は、第1図に示されたアーキテクチャで実現さ
れる本発明の方法論を示す図である。第4図からわかる
ように、直交方向回転及び垂直鏡映は基本的にソース・
データ・バイトがソース・ビット・マップ102からレジ
スタ・アレイ106にロードされる順序に従い、且つデー
タ・ワードがレジスタ・アレイ106からデスティネーシ
ョン・ビット・マップ122に読み出される順序に従って
実行される。
FIG. 4 is a diagram illustrating the methodology of the present invention implemented in the architecture shown in FIG. As can be seen from FIG. 4, orthogonal rotation and vertical mirroring are basically
It is performed according to the order in which data bytes are loaded from the source bit map 102 into the register array 106 and according to the order in which data words are read from the register array 106 into the destination bit map 122.

具体的に述べると、垂直鏡映なしで90度の回転を果た
すには、第2A図に示すように、制御ロジック140が、各
レジスタ行108〜114のLSB位置を有する列(LSB列)から
始まり各レジスタ行108〜114のMSB位置を有する列(MSB
列)で終わる順序で、データ・バイト124〜130の各々を
ソース・ビット・マップ102からレジスタ・アレイ106に
ロードする。さらに、データ・ワード(1ワード=4バ
イト)が続いてレジスタ・アレイ114から読み出される
が、それはボトム・レジスタ114内のMSWから始まりトッ
プ・レジスタ108内のLSWで終わる順序で行なわれる。前
記方法論を第4図のフローチャートのブロック404、40
6、408に示す。
Specifically, to achieve a 90 degree rotation without vertical mirroring, as shown in FIG. 2A, the control logic 140 requires that each register row 108-114 be moved from the column having the LSB position (LSB column). Beginning with each register row 108-114 column with MSB position (MSB
Each of the data bytes 124-130 is loaded from the source bit map 102 into the register array 106, in the order ending in column. In addition, a data word (1 word = 4 bytes) is subsequently read from register array 114, starting with the MSW in bottom register 114 and ending with the LSW in top register 108. The methodology is described in blocks 404, 40 of the flowchart of FIG.
6, 408.

垂直鏡映を用いずに90度回転を行なうには、先ずソー
ス・データ・ビットを第1図に示されているのとは逆の
順序で多重化し、次にそのバイトをLSB列から始まりMSB
列に終わる順序でレジスタ・アレイ106の列にロード
し、最後にそのデータ・ワードをトップ・レジスタ108
からボトム・レジスタ114に読み出すことによって実現
できたはずであることを記しておくべきであろう。基本
的に、ソース・ビットの順序を逆にすると言うことは、
それによってデータ・ワードをボトム・レジスタ114か
らトップ・レジスタ108に読み出さなければならないこ
とが処理されるということである。前記方法論は垂直鏡
映を用いての270度回転について後に述べる論考にも同
様に当てはまるものである。
To perform a 90-degree rotation without vertical mirroring, first multiplex the source data bits in the reverse order as shown in FIG.
Load the columns of the register array 106 in the order ending with the columns, and finally load the data word into the top register 108
It should be noted that this could have been achieved by reading into the bottom register 114 from. Basically, reversing the order of the source bits means that
That is to say that the data word has to be read from the bottom register 114 to the top register 108. The methodology is equally applicable to the discussion below for 270 degree rotation using vertical mirroring.

垂直鏡映を用いて90度回転を行なうためには、第2C図
に示すように、データ・バイトがLSB列から始まりMSB列
で終わる順序でレジスタ・アレイ106にロードされる。
さらに、データ・ワードが次にトップ・レジスタ108のL
SWから始まりボトム・レジスタ114のMSWで終わる順序で
レジスタ・アレイ106から読み出される。前記方法論を
第4図のブロック404、406、410に示す。
To perform a 90 degree rotation using vertical mirroring, the data bytes are loaded into the register array 106 in the order starting with the LSB column and ending with the MSB column, as shown in FIG. 2C.
In addition, the data word is then
The data is read from the register array 106 in the order starting from SW and ending with the MSW of the bottom register 114. The methodology is illustrated by blocks 404, 406, 410 in FIG.

垂直鏡映なしで270度回転を行なうためには、第2B図
に示すように、データ・バイトがMSB列から始まりLSB列
で終わる順序でレジスタ・アレイ106にロードされる。
その後、データ・ワードがトップ・レジスタ108内のLSW
から始まりボトム・レジスタ114内のMSWで終わる順序で
レジスタ・アレイ106から読み出される。前記方法論を
第4図のブロック404、412、414に示す。
To perform a 270 degree rotation without vertical mirroring, the data bytes are loaded into the register array 106 in the order starting with the MSB column and ending with the LSB column, as shown in FIG. 2B.
Then, the data word is stored in LSW in top register 108.
From the register array 106 in the order starting with ending with MSW in the bottom register 114. The methodology is shown in blocks 404, 412, 414 of FIG.

垂直鏡映を取り入れて270度回転を実現するために
は、第2D図に示すように、データ・バイトがMSB列から
始まりLSB列で終わる順序でレジスタ・アレイ106にロー
ドされる。その後、データ・ワードがボトム・レジスタ
114のMSWから始まりトップ・レジスタ108のLSWで終わる
順序でレジスタ・アレイ106から読み出される。前記方
法論を第4図のブロック404、412、416に示す。
To implement 270 degree rotation with vertical mirroring, the data bytes are loaded into register array 106 in the order starting with the MSB column and ending with the LSB column, as shown in FIG. 2D. Then the data word is in the bottom register
The registers are read from the register array 106 in an order starting with the MSW of 114 and ending with the LSW of the top register 108. The methodology is illustrated in blocks 404, 412, 416 of FIG.

本発明の別の利点は、この直交方向ローテータ100は1
80度の角度でビット・マップ領域を事実上回転させるこ
とができる、単純な水平鏡映システムと組み合わせて使
える場合があることであり、それによって90度の増分で
全回転の実現を可能にすることである。この目的のため
の水平鏡映システムについては、係属中の米国特許出願
第07/798,705号、発明の名称「ピクセル変更ユニット:P
ixel Modification Unit」の明細書に説明されている。
なお、当該米国特許出願の番号を参照することによって
当該米国特許出願の明細書の記載内容が本明細書の一部
分を構成するものとする。
Another advantage of the present invention is that this orthogonal rotator 100
That it can be used in conjunction with a simple horizontal mirroring system that can effectively rotate the bitmap area at an 80 degree angle, thereby enabling full rotation in 90 degree increments That is. For a horizontal mirroring system for this purpose, see pending U.S. patent application Ser. No. 07 / 798,705, entitled "Pixel Change Unit: P.
ixel Modification Unit ”.
The contents of the specification of the US patent application constitute a part of the present specification by referring to the number of the US patent application.

本発明に基づく好適な実施例については以上詳述して
きたが、当業者は本発明が新たに教えるところから実質
的に逸脱することなくさらに付加的な修正変更並びに応
用が可能なことを容易に認識することであろう。例を挙
げるなら、本発明によって、レジスタ・アレイ106は好
適な実施例において記述されている以上もしくは以下の
行(レジスタ)数及び/又は列(出力されたビット)数
で構築されることができるだろう。別の例を挙げるな
ら、ソース・ビットは、直交方向回転を実現しつつ、且
つ特定の方法でアレイを読み出す必要がなくなるように
制御可能な方法でレジスタ・アレイ106に多重化される
ことができるだろう。従って、上述したような修正変更
ならびに応用は以下に記載する特許請求の範囲に規定し
た本発明の範囲内に含まれるものとする。
While the preferred embodiment of the present invention has been described in detail above, those skilled in the art will readily appreciate that additional modifications and adaptations are possible without departing substantially from the teachings of the present invention. Will recognize. By way of example, in accordance with the present invention, register array 106 may be constructed with more or less rows (registers) and / or columns (output bits) than described in the preferred embodiment. right. As another example, source bits can be multiplexed into register array 106 in a controllable manner while achieving orthogonal rotation and without having to read the array in a particular manner. right. Therefore, such modifications and applications as described above are intended to be included within the scope of the present invention as set forth in the claims below.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−134495(JP,A) 特開 平1−59296(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 3/60 G09G 5/36 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-1-134495 (JP, A) JP-A-1-59296 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06T 3/60 G09G 5/36

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】グラフィックス・プロセッサにおいてソー
ス・ビット・マップのソース・データ領域を直交方向に
回転させるための直交方向ローテータであって、 複数のビット列で構成されるアレイ・レジスタ(108〜1
14)を複数行配列してなり、各ソース・データ・バイト
のビットのそれぞれが別々の前記アレイ・レジスタの全
ビットに対して多重化されたビット・スライス方式のレ
ジスタ・アレイ(106)と、 ビット選択制御信号をデコードして前記アレイ・レジス
タのロード選択信号を生成するビット・デコード/制御
ロジック(104)と、 ワード選択制御信号とロード/読み出し制御信号をデコ
ードして前記アレイ・レジスタのワード・ロード信号と
ワード読み出し信号を生成するワード・デコード/制御
ロジック(148)と を備え、前記ビット選択信号に応じてレジスタ・アレイ
・ビット位置にソース・ビットのビット・ロードを実行
し、前記ロード制御信号とワード選択制御信号に応じて
レジスタ・アレイ・ビットを包含する特定のワード・レ
ジスタもしくは行にワード・ロードを実行し、ワード選
択制御信号と読み出し制御信号に応じてワード読み出し
を実行することにより、前記レジスタ・アレイ内の行及
び行内のビットへランダム・アクセスし、ロードする列
の順序と読み出す行の順序を切り換えて回転させるよう
に構成したことを特徴とする直交方向ローテータ。
1. An orthogonal rotator for rotating a source data area of a source bit map in an orthogonal direction in a graphics processor, the array register comprising a plurality of bit strings.
14) in a multi-row array, wherein each bit of each source data byte is multiplexed to every bit of said separate array register, in a bit sliced register array (106); A bit decode / control logic (104) for decoding a bit select control signal to generate a load select signal for the array register, and a word for the array register for decoding a word select control signal and a load / read control signal A word decode / control logic (148) for generating a load signal and a word read signal; performing a bit load of a source bit at a register array bit position according to the bit select signal; A specific word register that contains the register array bits in response to the control signal and the word select control signal Alternatively, by performing a word load on a row and performing a word read in response to a word select control signal and a read control signal, a row in the register array and a bit in the row can be randomly accessed and loaded. Characterized in that the rotator is configured to rotate by rotating the order of the rows and the order of the rows to be read.
JP51000293A 1991-11-27 1992-11-27 Orthogonal rotator Expired - Lifetime JP3150342B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US79870491A 1991-11-27 1991-11-27
US798,704 1991-11-27
PCT/JP1992/001558 WO1993011499A1 (en) 1991-11-27 1992-11-27 Orthogonal rotator

Publications (2)

Publication Number Publication Date
JPH07502352A JPH07502352A (en) 1995-03-09
JP3150342B2 true JP3150342B2 (en) 2001-03-26

Family

ID=25174070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51000293A Expired - Lifetime JP3150342B2 (en) 1991-11-27 1992-11-27 Orthogonal rotator

Country Status (2)

Country Link
JP (1) JP3150342B2 (en)
WO (1) WO1993011499A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271476A (en) * 1979-07-17 1981-06-02 International Business Machines Corporation Method and apparatus for rotating the scan format of digital images
US4763251A (en) * 1986-01-17 1988-08-09 International Business Machines Corporation Merge and copy bit block transfer implementation
US4797852A (en) * 1986-02-03 1989-01-10 Intel Corporation Block shifter for graphics processor

Also Published As

Publication number Publication date
WO1993011499A1 (en) 1993-06-10
JPH07502352A (en) 1995-03-09

Similar Documents

Publication Publication Date Title
US5533185A (en) Pixel modification unit for use as a functional unit in a superscalar microprocessor
US5751295A (en) Graphics accelerator chip and method
US4903217A (en) Frame buffer architecture capable of accessing a pixel aligned M by N array of pixels on the screen of an attached monitor
EP0197412B1 (en) Variable access frame buffer memory
US5764243A (en) Rendering architecture with selectable processing of multi-pixel spans
US6924808B2 (en) Area pattern processing of pixels
US5864512A (en) High-speed video frame buffer using single port memory chips
KR20000023136A (en) Display apparatus and method capable of rotating an image by 180 degrees
EP0647931A2 (en) Method and apparatus for constructing a frame buffer with a fast copy means
EP0677190B1 (en) Frame buffer system designed for windowing operations
US5450604A (en) Data rotation using parallel to serial units that receive data from memory units and rotation buffer that provides rotated data to memory units
US6812928B2 (en) Performance texture mapping by combining requests for image data
US5504855A (en) Method and apparatus for providing fast multi-color storage in a frame buffer
JP3150342B2 (en) Orthogonal rotator
WO2003075253A1 (en) Frame buffer access device, frame buffer access method, computer program and recording medium
JPH081612B2 (en) Memory circuit
KR100297716B1 (en) Semiconductor memory device having high flexibility in column
JPH0740242B2 (en) Data transfer method
US5668980A (en) System for performing rotation of pixel matrices
JP2889572B2 (en) Font data processing device
CA1294380C (en) Display system
JP2753349B2 (en) Arbitrary angle rotation image data input / output method, input / output circuit thereof, and electronic file device using the same
KR0145709B1 (en) Computer graphic system
JPH07320053A (en) Image rotation processor
JPH096312A (en) Display data conversion device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 12

EXPY Cancellation because of completion of term