JPH03290765A - ビットマップ・イメージの90度回転方法 - Google Patents

ビットマップ・イメージの90度回転方法

Info

Publication number
JPH03290765A
JPH03290765A JP2401872A JP40187290A JPH03290765A JP H03290765 A JPH03290765 A JP H03290765A JP 2401872 A JP2401872 A JP 2401872A JP 40187290 A JP40187290 A JP 40187290A JP H03290765 A JPH03290765 A JP H03290765A
Authority
JP
Japan
Prior art keywords
word
image
buffer
words
pixels
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
JP2401872A
Other languages
English (en)
Inventor
Vinod K Kadakia
ヴィノード ケイ カダキア
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.)
Xerox Corp
Original Assignee
Xerox 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 Xerox Corp filed Critical Xerox Corp
Publication of JPH03290765A publication Critical patent/JPH03290765A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00—Geometric image transformations in the plane of the image
    • G06T3/60—Rotation of whole images or parts thereof
    • G06T3/602—Rotation of whole images or parts thereof by block rotation, e.g. by recursive reversal or rotation

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
[0001]
【産業上の利用分野】
本発明は、ディジタル画像を90度の倍数回転させる回
路に関し、この画像の回転は、第1アドレスおよびシフ
ト・プロセスと第2アドレスおよびシフト・プロセスを
使用することによってメモリ、ラスク入力スキャナ等か
らのオリジナル画像をバッファに転送して、このバッフ
ァからこのメモリ、ラスク出力スキャナ等に対して読み
出しを行うことによって行われ、その結果、この画像が
回転されて各ワードの全てのビットは平行にバッファに
対して転送されると共にこのバッファから転送される。 [0002] 2次元のアレイによって目視可能な画像を表示すること
は周知である。このようなアレイは、一般的にピクセル
と呼ぶ画素の行と列によって構成される。このようなピ
クセルは画像全体のスポットの色または濃度を表すこと
ができ、1つまたは多数の2進ビツトまたはワードまた
はアナログ電圧である。このような表示の基本的な利点
は、画像全体を一緒に取り扱うとするのではなくて一時
に複数のピクセルを取り扱う画像処理システムが可能に
なることである。ピクセルから画像を転送し、表示しま
たは印刷するシステムの場合、通常の1時に1ピクセル
の順序(one−at−a−time pixel )
は「ラスタ順序Jと呼ぶ案である。ラスタ順序の場合ピ
クセル・アレイはその列(またはその行)に対応する走
査線に分割され、ピクセルは各走査線にとって同じ方向
に順にアクセスされ、この場合、このアクセスはピクセ
ル・アレイの一端に沿った第1走査線ではじまり全ての
走査線のピクセルがアクセスされてしまうまで連続して
次に隣接する走査線がアクセスされる。画像処理システ
ムの性能を向上させるには、ピクセル・アレイの各走査
線はしばしば「ワード」と呼ぶ固定した大きさの隣接す
るピクセルのサブセットに仕切られ、このワードの大き
さは全体のピクセル・アレイを通して一定である。この
ようなシステムの場合、全体のワードは同時に転送また
は記憶される。このようにしてピクセルの全体のワード
を並列に記憶するメモリ・サブシステムは「ワード・オ
ーガナイズド・メモリ」と呼ぶ。ラスタ順序のピクセル
・アレイを直線のワード・オーガナイズド・メモリに記
憶すると、その結果、各走査線のワードは連続したワー
ドのアドレスを占め、アレイの走査線が端部と端部で隣
接する。 [0003] 1つの方向でシステムに対して走査されるページが別の
方向で印刷されることがディジタル原稿処理装置の一般
的な要求である。1つの例は、「ランドスケープ」モー
ドでシステム内に記載されていた走査された画像が「ポ
ートレート」モードで印刷されなければならない場合で
ある。この場合、オペレータは画像を再操作するよりも
この画像を電子的に回転させる方が容易であり、これは
もしオリジナルの画像が最早入手できない場合には可能
な唯一の方法である。また、多くのシステムの場合、画
像は水平走査線を使用したデイスプレィ上で編集のため
にオペレータに対して表示され、ついでこの画像は垂直
走査線を使用するプリンタで印刷される。この結果、印
刷システムは処理のいずれの段階におし)でも回転され
た画像と回転されない画像を作ることができる必要があ
る。しかし、メモリの順序のため、走査線に沿って隣接
するピクセルを並列に取り出す方が走査線に対して直角
に隣接するピクセルを並列に取り出すよりも容易である
。例えば、16ビツト・ワードの一般的なメモリの場合
、1つのイメージの最初の16ビツト・ワードが第1の
16メモリ・チップの第1ビツトにロードされて、第2
ワードがこの16メモリ・チップの第2ビツトにロード
される等々である。従って、もしワードの長さの方向の
ビットによって構成される線を出力する必要があれば、
同時に16ビツトを並列にアクセスすることができるが
、この理由は、各ビットが異なったメモリ・チップ内に
あるからである。しかし、もしこの線がワード線と直角
であれば、個々のビットは全て同じチップ内にあり、従
って順番にアクセスされることのみが可能であり、これ
は比較して非常に遅い処理である。 [0004] 記憶されているピクセル・アレイの行と列の両方に対し
て並列なワードでアクセスを行う(word−para
llel access )ことに対する困難によって
従来技術は挑戦されてきた。画像処理システムは、しば
しばピクセル・アレイの走査の方向または画像の方向を
90度変更する必要がある。米国特許第3,976.9
82号および4,562,485号のアプローチのよう
な幾つかのアプローチでは同時に1つのピクセルに対す
る遅いアクセス(slow one−pixel−at
−a−time access )を使用している。他
のアプローチでは、ピクセル・アレイをメモリに記憶し
、次に別の変刷する前に90度回転されて記憶されるバ
ージョンに変更することによって遅延を発生している。 米国特許第4,052,699号、4,168,488
号、4.271.476号、4,593,407号、4
,627,020号、4,636,783号に開示され
ているように、または「The Image Pr15
m : A Device for Rotating
 and Mirroring Bitmap Ima
gesJ、I E E E  Computer Gr
aphics and Applications、 
 1987年5月でKornfeldによって説明され
ているシステムのように、これらのアプローチの多くは
、ピクセル・アレイの小さなサブセットを同時に別の回
転子に転送することによってこれを行っている。従って
、この記憶と変換によるアプローチの全ては、ピクセル
・アレイを最初にメモリに記憶した後、このピクセル・
アレイ全体を少なくとも1回別に取り出して記憶する必
要がある。 [0005] 必要とされているのは、バッファに対するデータの転送
が1度だけ必要でありかつバッファからのデータの転送
が1度だけ必要であり、これらの2つのデータの転送が
ワード全体で並列に行われる回転方法である。 [0006]
【発明の要約】
各行の最初のデータ・ワードの全てのビットが別のチッ
プに入力され、各列の全てのビットもまた別のチップに
入力される場合のみ、イメージはデータ・ワードを全て
並列に転送することによって回転されることができる。 従って、適当なアドレスを行えば、最初の画像の水平ス
トリップまたは垂直ストリップのいずれかをバッファか
ら並列に出力することができる。 [0007] これを達成するためのシステムは、簡単な数字による例
を使用して説明することが可能であり、ここでデータ・
ワードがいずれかのソースから受は取られるとこれらの
データ・ワードのストリングを取り出し、ワード#Oを
ゼロ・ビットだけシフトし、ワード#1を1ビツトだけ
シフトし、ワード#2を2ビツトだけシフトし、等々を
行い、次にこれらをバッファにロードする。このシフト
は循環して行われる種類のものであり、ワードの終端部
から外れたビットは先端部に挿ブ内にあるが、しかしま
たこのワードの長さと直角な画像線内にある全てのビッ
トは現在また別のチップ内にある。次に、各バッファ・
チップ内の適当なビットを正しくアドレスすることによ
って、水平なワード長さの線または垂直なワード長さの
線のいずれかをバッファから並列に取り出し、再びシフ
トして回転した画像として出力することができる。これ
らのシフトのため、並列シフタが使用されその結果Oな
い15ビツトのシフトを1つのクロックサイクル中に行
うことができる。 [0008]
【実施例】
図1、図2、および図4は、それぞれ、メモリまたはス
キャナから受は取られた直角の形をした最初の画像、0
度を含む90度のいずれかの倍数だけ回転されることの
できる形の中間画像を含むバッファ、およびメモリに送
り返される回転された画像を示す。単純化のため、バッ
ファは4x4ビツトとして示され、1ワード当たり4ビ
ツトが存在するがこのアルゴリズムはいずれの大きさの
システムに対しても動作可能である。また、理解をより
容易にするため、回転されていない画像はメモリから来
るも゛のとして示され、回転された画像はメモリに対し
て出力される物として示されるが、上で説明したように
、この画像はいずれのソースから受は取ることも可能で
あり、いずれの種類の装置に転送することも可能である
。これらの数字は垂直走査線を仮定し、その結果、図1
のワードO11,2および3は図示のように下から上に
左の列のワードである。次の走査線はワード45、等で
開始される。これらの図1のワード・アドレスは仮想充
填アドレスと称するが、その理由は、これらが実際のメ
モリ・アドレスを識別せず、またこれらがバッファを充
填するために使用されるロケーションのアドレスを発生
するアルゴリズムによって使用される数であるからであ
る。 [0009] 画像を回転させるには、第1ステツプで最初の画像の各
ワードをバッファに対してシフトおよび転送する。本発
明の重要な特徴の1つは、いずれの特定の順序でもワー
ドをバッファに対して載置またはこれから除去する必要
がないことである。また、ワードのいずれのサブセット
・ブロックも残りの画像から独立して処理することがで
きる。例えば、反時計方向に90度回転されなければな
らない1つの4x4ビツトの画像のブロックを構成する
ワード18.22.26および30の処理を検討してみ
る。最初の垂直な線によって構成されるワード18の4
つのビット(OOlol、02.03)は循環している
シフタ内でOビットだけ上方向にシフトされてバッファ
の同じ位置18に載置される。次にワード22のビット
(10,11,12,13)は1ビツトだけ上方向にシ
フトされてバッファ・ワード22に載置される。次に、
ワード26は、2ビツトだけシフトされてバッファのワ
ード26に載置される。最後に、ワード30は、3ビツ
トだけシフトされてバッファのロケーション30に載置
される。さて、図示のように最初の各垂直線の各ビット
が別のチップに載置されるだけでなく、また最初の各水
平線の各ビットもまた別のチップに載置される。従って
、最初の水平または垂直線のいずれかをバッファから並
列にアクセスすることが可能である。 [0010] 第2ステツプでは、図2のバッファからビットを読み出
し、これらのビットを適当な数のビットにシフトし、こ
れらを回転された画像として例えば図4のメモリに載置
する。図1の最初の画像は、高さが4ワードで幅が3ワ
ードであることに留意のこと。もし、画像全体が90度
回転されれば、その結果、得られる画像は、図4に示す
ように、高さが3ワードで幅が4ワードである。 [0011] この部分のアルゴリズムは、2つのステップによって構
成されると考えることができ、第1ステツプは各ワード
のビットを集め、その結果、図3の画像を得るステップ
であり、第2ステツプはワード内のこれらのビットをシ
フトして図4の画像を得るステップである。 [0012] 例として、図3のワード13を使用する。必要なピクセ
ルのビットは、13.23.33および03であり、こ
れらは図2のワード13のビット0、ワード27のビッ
ト1、ワード31のビット2、およびワード19のビッ
ト3に対応する。各々のビットは別のバッファ・チップ
内にあり、従ってこれら全ては同時に並列にアドレスお
よびアクセスされることが可能であり、ワード#13と
して出力(J開干3−冶JU/b0(−) される。残りの3つのワードは同様に転送されて図3に
示す4x4ビツトのブロックを発生する。 [0013] 最後に、回転を完了するには上方向のシフトが必要であ
る。ワード13.1619および22はそれぞれ1.2
.3およびOビットだけ上方向にシフトされる。図4は
この結果を完全にシフトされた画像として示す。このア
ルゴリズム全体の結果として得られるのは、図示のよう
に回転された画像であり、これは2つの並列な転送と2
つのシフトによって得られるものである。これらのシフ
トはまた以下で論する並列シフタを使用して行われるの
で、回転は全体として並列動作を使用して行われる。 [0014] 図2のバッファと図4のメモリとの間で転送を行ってい
る間に同様のアドレス方法を使用して画像を270度回
軸回転ることができる。0度のシフトは、バッファ内の
ワードをシフトすることによってそれらの最初の形に戻
し、メモリに出力することによって簡単に行われる。各
々の回転されたワードは、バッファからアクセスされ、
メモリに対して直接シフトおよび載置されるため、図3
の画像を有する記憶装置の存在しないことに留意のこと
。この画像は本発明の理解を助けるためにここで発生さ
れたものにすぎない。 [0015] このシステムは、下記のように数学的表現を使用して一
般化することができる。画像を90度回転させるアルゴ
リズムは、ピクセルのr行と0列のアレイで開始される
。図2において、例えば、ここには16行と12列があ
り、従ってr=16であり、C=12である。ピクセル
・アレイの各列は各々Wピクセルのワードに仕切られ、
行、列、各列内のワード、およびピクセル・アレイの各
ワード内のピクセルは全てOで始まる番号を付けられて
いる。図3において、ワード当たり4ビツトが存在し、
従って、w=4である。 [0016] 事実、最も一般的な場合、バッファ・ワードの大きさは
画像データ・ワードの6ビツトのバッファ・メモリに記
憶されるとすれば、3データ・ワード(15ビツト)を
記憶するには1メモリ・ワード(16ビツト)が必要で
あり、4データ・ワード(20ビツト)を記憶するには
2メモリ・ワード(32ビツト)が必要である。 [0017] また、画像の次元はメモリ・ワードの大きさの倍数の数
字全体である必要はない。数学的に言えば、ワード内の
メモリの垂直デイメンジョンをv[r/wJに等しくし
、ここで「r/W」はr/w以上の最小の整数である。 同様に、メモリの水平デイメンジョンはhをrc/Wj
に等しくする。図2の場合、v=4でありh=3である
。 [0018] アルゴリズムは、図1の例に示すように、最初のピクセ
ル・アレイのワードを以下のようにして図2に示すよう
に直線ワード・オーガナイズドバツファ・メモリに記憶
する。すなわち、アルゴリズムは列jの各ワードiを(
j)モツド(mod)wピクセル位置だけ右方向に回転
シフトさせ、次にこの変更されたワードのビットを並列
にバッファ・メモリのワード・アドレスvj+iに書き
込む。図1および図2に基づく数字の例を使用すれば、
列Oに記憶されるべきワードはOビットだけシフトされ
、列1.2および3のワードは、それぞれ、1.2およ
び3ビツトだけシフトされ、列4のワードは再びOでス
タートする。これらの5つのワードは次にメモリの第1
の5つのロケーションに記憶されるが、これらの5つの
ロケーションは列Oの4つのロケーションと列1の第1
0ケーシヨンである。 [0019] アルゴリズムの次のステップではバッファから並列して
記憶されたピクセル・アレイの各ワードを取り出し、そ
の結果、図3の各ピクセルpはワード・アドレスの図2
の各ピクセルpから得られるが、このワード・アドレス
は、wvi+v [(p+j+1) mod w] +
「(wv−j−1) /wJによって表される。 [0020] なお図3の例を使用すると、これは下記の式になる。 16 i+4 [4(p+j+1)mod4] + 「
(15−j)/4J[0021] 図3の列5のビット02を数字による例として取り上げ
ると、pすなわちワード内のピクセル番号は2に等しく
、iすなわちこのコラムのワード番号は1に等しい。そ
して、jすなわち列番号は5に等しい。図2の全ての定
数と図3の変数全土の等式に代入すると、18の答が得
られる。すなわち、図3のワード16のピクセルには図
2のワード18の同じピクセル(2)からアクセスされ
なければならない。 [0022] 図4のメモリに出力する前に、最後のステップで、この
ワードを2ビツトだけ上方にシフトする。 [0023] 上で説明した等式は、このアルゴリズムを数学的に説明
しているが、もしh、■、およびWが2の全ての累乗で
あれば、これらのアドレスはまたシフトしているビット
をマスクすることによってソフトウェアまたはハードウ
ェアで発生することができる。図5は、このプロセスを
実行するシステムの一例を示し、ここでは最初の画像は
ワード当たり16個の1ビツトのずクセル、走査線当た
り1024個のワードおよび256本の走査線を有する
と仮定する。従って、許容可能な画像の大きさ内の全て
の入力ワードを識別するのには、18ビツトのアドレス
(17:O)が必要である。この画像全体の内部にある
ワードはメモリ内の実際のアドレスを使用するのではな
くてOで始まる任意に割り当てられたアドレスであり、
従って1仮想」アドレスと称し、バッファを「充填する
」ために使用される。図5は、18ビツト(17: 0
)としての仮想充填アドレス(VFA)を示す[002
4] このバッファは、各々が256にビットを有する16個
のチップから実行される。従って、各チップ内の各ビッ
トのアドレスおよびバッファ内の各ワードのアドレスも
また18ビツトのワードである。このアドレスは実充填
アドレスと呼ぶが、その理由は、これが実際のバッファ
のロケーションのアドレスであり、このバッファを充填
するために使用されるからである。図5に示すように、
バッファを充填するのに使用される仮想充填アドレスと
実充填アドレスは同一である。 [0025] 転送されるべき各ワードは、バッファ内に記憶される前
にまたシフトされなければならない。この例の場合、シ
フトの範囲はOないし15ビツトであり、従って図5で
データ右サイクル距離と呼ぶ4ビツトの数によって定義
される。最初の画像が走査線当たり1.024ワードを
有していると仮定すれば、このアドレス10個の最下位
ビット、9:0はその走査線内のワードの数によって構
成され、次の4ビツト、13:10は走査線の数の最下
位4ビツトによって構成され、この数はまた必要なシフ
トの数でもある。従って、VFAのビット13 : 1
0は図5の右サイクル距離として示される。 [0026] バッファから出力されたワードのデータを転送するには
、まず、この出力されたワードの数を取り上げなければ
ならない。このワードの数はこの例では18ビツトであ
り、図5では仮想ダンプ・アドレスVDA (17: 
0)として表す。画像を回転させる目的のため、このV
DAは最初の画像を90度回転させたバージョンの16
ビツトのワードをユニークな方法で選択したものと考え
ることができる。この回転された画像は、走査線当たり
16のワードと16,384本の走査線を有する。従っ
て、VDAの最下位4ビツト、ビット3:0は、これら
の新しい走査線の内の1本のワードの数であり、最上位
の14ビツト、ビット17:4は走査線の数である。1
6ビツトのデータが実際に得られなければならないバッ
ファのロケーションは図5ではリアル・ダンプ・アドレ
スとして示され、下記のようにして集められる。最上位
ビット(17:14)はVDA (3: O)から得ら
れ、次の4ビツトはVDA (7: 4)にピクセルの
数Rと1を加えたものであり最下位10ビツトは反転さ
れたVDA (17: 8)である。データを読み出す
には、これらのアドレスの内16個が各ビットに対して
1つ集められなければならない。0ないし15ビツトの
最後の右方向に回転するシフト距離は、VDA (7:
 4)+1として集められる。 [0027] 上述のフィールドは画像ワードを取り出しシフトするた
めのプログラムの基礎になるものであり、実際のアドレ
スを発生する回路を駆動するために、使用することが可
能であり、この回路を図6、図7および図8に示す。入
力は、図示のフィールドに分割された18ビツトの仮想
ダンプ・アドレスである。全ての場合、もし画像が回転
されるべきでなければ、下位のグループの信号が2対1
のマルチプレクサの全てで選択され、一方上位のグルー
プは90度回転させるために選択される。最初の画像ま
たは回転された画像のいずれかの16ビツト対16ビツ
トにアライメントされたブロックの各々の場合、一般に
14のアドレスビットが存在する。これらは14ビツト
のマルチプレクサによって出力される。 [0028] 各チップに対するアドレスの残りの4ビツトは回転しな
い場合の各チップに対しては同じであり、回転された場
合の各チップに対しては異なっている。回転しない場合
、残りの4ビツト13 : 10は変化しないままであ
り、各4ビツトのマルチプレクサの下半分に加えられて
残りのアドレス・ビットを発生する。回転された場合、
ビット・アドレスは各チップに対して異なっている。こ
のことは、入力アドレスのビット7:4で開示し、各々
がOと15との間の数の合計と4ビツトのアドレス・フ
ィールドを発生する16個の4ビツト加算器を設けるこ
とによって達成される。各々の出力は、16個の4ビツ
トマルチプレクサに対する回転されたアドレス入力とし
て使用される。 [00291 図9は、1つの可能な16ビツトの並列サイクリック・
シフタ(cydic 5hifter )の最初の3個
のマルチプレクサの最初の6ビツトを示す簡単な概略図
であり、このサイクリック・シフタは16ビツトのワー
ドを1クロツク・サイクル内に何ビットでもシフトする
ことができる。入力ワードの最初の6ビツトは文字Aな
いしFによって表され、全てのマルチプレクサの入力ピ
ンOないし5に加えられる。各マルチプレクサに対する
アドレス入力は定数O11,2、・を必要とされるシフ
ト数nに加算する加算器を介して加えられる。従って、
もしn = 2であれば、第1マルチプレクサはピン2
を選択し、第2マルチプレクサはピン3を選択し、第3
マルチプレクサはピン4を選択する等々である。従って
、出力ワ− ドCDEFは1クロツク・サイクル内に入
力ワードABCDから2ビツトだけシフトされる。 [0030] 図16は、画像の8つの可能な方向を示す。上で説明し
たように、最初の回転されない画像1は90度回転され
て例5を発生し、または270度回転されて例2を発生
することができる。また、最初の画像は載置プロセスで
ステップを逆転させることによって出力されてもよい。 180度回転された例6は図13のようにして達成され
ることができる。この場合ワードは逆の順序で読み出さ
れる。従って、図示のように最初の画像の上部のブロッ
クの最後のワードは回転された画像の下部のブロックの
最初のワードになる。更に、ピクセルも逆にされなけれ
ばならない。これは、図11に示すように、ワードをピ
クセル・シックを介して転送することによって簡単に達
成される。左側の入力レジスタの上部のピクセルは右側
のピクセルの底部のロケーションにハード的に結線され
、残りのピクセルは図示のように同様にして結線される
。この走査とシフトのプロセスの結果、180度の回転
が行われる。 [0031] 図16の例1と3に示すように、画像が右と左に反転し
ている鏡に写した画像は、図10に示すプロセスを使用
することによって作ることができる。ここでは走査線は
受は取られたのと逆の順序で読み出される。すなわち、
最初の列入力は最後の列出力として使用される、等々で
ある。 [0032] 図16の例1と8に示すように、画像が上と下で反転し
ている鏡に写した画像は第10に示すプロセスを使用す
ることによって作ることができる。ここで、走査線は通
常の順序で読み出されるが、図11の回路を使用して、
各列内でワードは上下に反転され、各ワード内のピクセ
ルの順序もまた反転される。 [0033] 最後に、画像を90度または270度回転させるプロセ
スを鏡に写した画像を発生させるプロセスまたは180
度回転させるプロセスと組み合わせて異なった方向を発
生することができる。画像を90度回転させるのに続い
てこの鏡に写した画像を上下で反転させるプロセスが図
14に示され、これによって図16の例7が発生される
。同様に、画像を90度回転させてからこの鏡に写した
画像を左右で反転させるプロセスが図15に示され、こ
の結果、図16の例4が得られる[0034] 図10ないし図13のワードの転送の全ては並列に行わ
れ、従って上で説明した90度および270度の回転と
組み合わせて処理時間を増加させることなく全ての可能
な方向を発生することができる。 [0035] 本発明を特定の実施例を参照して説明したが、本発明の
真の精神と範囲から逸脱することなく種々の変更が可能
であり、等価な要素で以て本実施例の要素を代替するこ
とも可能であることを当業者は理解する。例えば、各ピ
クセルは1つまたは複数の2進ワードまたはアナログ電
圧で表すことができる。更に、本発明の基本的な教示か
ら逸脱することなく多くの変形が可能である。 [0036]
【図面の簡単な説明】
【図1】 回転回路の受信した画像である。
【図2】 バッファに記憶されている画像である。
【図3】 バッファからアクセスされた画像である。
【図4】 回転された形の画像である。
【図5】 回転回路の必要とする種々のアドレス領域の内容を示す
図である。
【図6】 回転回路の単純化した概略図の部分図である。
【図7】 回転回路の単純化した概略図の部分図である。
【図8】 回転回路の単純化した概略図の部分図である。
【図9】 並列シフタの単純化した概略図である。
【図10】 ワードの転送を示す画像である。
【図11】 ワードの転送を示す画像である。
【図12】 ワードの転送を示す画像である。
【図13】 ワードの転送を示す画像である。
【図14】 ワードの転送を示す画像である。
【図15】 ワードの転送を示す画像である。
【図16】
【書類名】
図面
【図1】
【図2】 行の番号R=16 列の番号C=12 ビット数/ワードW二4 ワード数、″列v=4 ワード数1.・′列H=3
【図3】 列番号Ci−2)
【図4】
【図5】
【図6】
【図7】 図6へ
【図8】
【図91 【図101 【図12】
【図13】
【図14】
【図15】
【図16】

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】各列が1つのワードによって構成されてい
    る場合に、n列対n行の最初の画像を回転させる方法に
    於いて、上記の方法は:A、上記の画像をバッファに記
    憶するステップであって: a、各々の最初のワードを列の数に等しいピクセルの数
    だけ回転シフトする第1ステップ;および b、各々のシフトされたワードをコラムの数に等しい上
    記のバッファの位置に記憶するステップ;によって構成
    される上記のステップ;およびB、n列対n行の画像を
    上記のバッファから出力するステップであって、上記の
    バッファのコラムの数jとピクセルの数が0からn−1
    に変化し、各ワードの出力のための上記の出力ステップ
    が: a、上記のバッファのnピクセルからj番目の出力のn
    個のピクセル・ワードを集めるステップであって、集め
    られたワードの各ピクセルのピクセル数がバファ内のワ
    ードのピクセル数に等しく出力ワード内の全てのピクセ
    ルが最初の画像のn番目の画像の列内に最初から存在し
    ていたピクセルである上記の集合ステップ;および b、その結果得られたワードのj+1ピクセルを回転シ
    フトする第2のステップ;によって構成される上記の出
    力ステップ;によって構成されることを特徴とする方法
    。
  2. 【請求項2】画像の配列方向を変更する方法に於いて、
    上記の方法は:請求項1の方法を使用して画像を回転さ
    せ、走査線の順序を反転して鏡に写した画像を発生する
    ステップ;によって構成されることを特徴とする方法。
  3. 【請求項3】画像の配列方向を変更するプロセスに於い
    て、上記のプロセスは: 請求項1の方法を使用して画像を回転させるステップ;
    および各走査線内のピクセルの順序を反転して鏡に写し
    た画像を発生するステップ;によって構成されることを
    特徴とするプロセス。
  4. 【請求項4】iが0からh−1まで変化する場合に指数
    iを使用してワードをカウントし、jが0からr−1ま
    で変化する場合に指数jを使用して列を表すことによっ
    て、r行、c列、ワード当たりwピクセル、列当たりv
    ワード、および行当たりhワードを有する最初の画像を
    回転する方法に於いて、上記の方法は: 最初の画像内の各ワードをそのコラムの数に等しいシフ
    ト回数だけ回転シフトする第1ステップ; バッファ内のワードの数が最初の画像のワードの数と等
    しくなるように、バッファ・メモリ内に各ワードを記憶
    するステップ;バッファから同時に1つのワードを読み
    出すステップであって、この出力ワードの各ピクセルp
    はバッファ・ワード・アドレスwvi+v[(p+j+
    1)mod w]+「(wv−j−1)/w」のピクセ
    ルpから得られる上記の読み出しステップ;およびこの
    集められたワードの(j+1)mod wピクセルを回
    転シフトする第2ステップ; によって構成される方法。
  5. 【請求項5】画像の配列方向を変更する方法に於いて、
    上記の方法は:請求項3の方法を使用して画像を回転さ
    せるステップ;および走査線の順序を反転して鏡に写し
    た画像を発生するステップ;によって構成されることを
    特徴とする方法。
  6. 【請求項6】画像の配列方向を変更するプロセスに於い
    て、上記のプロセスは: 請求項3の方法を使用して画像を回転させるステップ;
    および各走査線内のピクセルの順序を反転して鏡に写し
    た画像を発生するステップ;によって構成されることを
    特徴とするプロセス。
JP2401872A 1989-12-20 1990-12-13 ビットマップ・イメージの90度回転方法 Pending JPH03290765A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/453,738 US5111192A (en) 1989-12-20 1989-12-20 Method to rotate a bitmap image 90 degrees
US453738 1989-12-20

Publications (1)

Publication Number Publication Date
JPH03290765A true JPH03290765A (ja) 1991-12-20

Family

ID=23801864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2401872A Pending JPH03290765A (ja) 1989-12-20 1990-12-13 ビットマップ・イメージの90度回転方法

Country Status (4)

Country Link
US (1) US5111192A (ja)
EP (1) EP0433645A3 (ja)
JP (1) JPH03290765A (ja)
CA (1) CA2027458A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3022903B2 (ja) * 1992-07-27 2000-03-21 富士ゼロックス株式会社 画像回転装置
US5365601A (en) * 1991-12-23 1994-11-15 Xerox Corporation N-bit wide parallel rotation algorithm
JP3151788B2 (ja) 1991-12-23 2001-04-03 ゼロックス コーポレーション 矩形原画像の回転方法
US5613018A (en) * 1991-12-23 1997-03-18 Xerox Corporation Page buffer rotator
US5611001A (en) * 1991-12-23 1997-03-11 Xerox Corporation Address reduction scheme implementing rotation algorithm
US5361339A (en) * 1992-05-04 1994-11-01 Xerox Corporation Circuit for fast page mode addressing of a RAM with multiplexed row and column address lines
US5581773A (en) * 1992-05-12 1996-12-03 Glover; Michael A. Massively parallel SIMD processor which selectively transfers individual contiguously disposed serial memory elements
US5450604A (en) * 1992-12-18 1995-09-12 Xerox Corporation Data rotation using parallel to serial units that receive data from memory units and rotation buffer that provides rotated data to memory units
EP0609622A1 (en) * 1992-12-31 1994-08-10 Xerox Corporation Cell band rotation
US5671440A (en) * 1994-08-08 1997-09-23 Eastman Kodak Company Color image data reorientation and format conversion system
US5517587A (en) * 1994-09-23 1996-05-14 International Business Machines Corporation Positioning method and apparatus for line scanned images
US5585863A (en) * 1995-04-07 1996-12-17 Eastman Kodak Company Memory organizing and addressing method for digital video images
JPH10501901A (ja) * 1995-04-07 1998-02-17 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 画像の回転のための方法および装置
WO1996036941A1 (en) * 1995-05-15 1996-11-21 Polaroid Corporation Image rotation using discrete cosine transforms
US5668980A (en) * 1995-07-31 1997-09-16 Advanced Micro Devices, Inc. System for performing rotation of pixel matrices
US5634088A (en) * 1995-11-01 1997-05-27 Xerox Corporation Method and apparatus for rotation of high addressability bitmap images
US5912995A (en) * 1996-06-06 1999-06-15 Sun Microsystems, Inc. Method and apparatus for rotating or transposing a binary image
US5946222A (en) * 1996-12-20 1999-08-31 Oak Technology, Inc. Method and apparatus for performing a masked byte addition operation
US5870581A (en) * 1996-12-20 1999-02-09 Oak Technology, Inc. Method and apparatus for performing concurrent write operations to a single-write-input register file and an accumulator register
US6223181B1 (en) 1997-07-31 2001-04-24 Oak Technology, Inc. Memory conserving and compression technique-compatible image rotation system
US5986672A (en) * 1997-10-14 1999-11-16 Minnesota, Mining And Manufacturing 3M Center Method and system for forming a rotated image on an imaging element using limited system resources
JP4695815B2 (ja) * 2002-02-22 2011-06-08 キヤノン株式会社 描画処理装置および描画処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
US7376286B2 (en) * 2002-09-18 2008-05-20 Nxp B.V. Block-based rotation of arbitrary-shaped images
US7581080B2 (en) * 2003-04-23 2009-08-25 Micron Technology, Inc. Method for manipulating data in a group of processing elements according to locally maintained counts
US7596678B2 (en) * 2003-04-23 2009-09-29 Micron Technology, Inc. Method of shifting data along diagonals in a group of processing elements to transpose the data
US7913062B2 (en) * 2003-04-23 2011-03-22 Micron Technology, Inc. Method of rotating data in a plurality of processing elements
US7676648B2 (en) * 2003-04-23 2010-03-09 Micron Technology, Inc. Method for manipulating data in a group of processing elements to perform a reflection of the data
US7315294B2 (en) * 2003-08-25 2008-01-01 Texas Instruments Incorporated Deinterleaving transpose circuits in digital display systems
US7167148B2 (en) * 2003-08-25 2007-01-23 Texas Instruments Incorporated Data processing methods and apparatus in digital display systems
US20050275665A1 (en) * 2004-06-14 2005-12-15 Keith Kejser System and method for efficiently supporting image rotation modes by utilizing a display controller
US20060028491A1 (en) * 2004-07-29 2006-02-09 Zih Corp. System and method for providing a protable printer capable of altering the orientation of information displayed on an associated printer display
US20060262143A1 (en) * 2005-05-23 2006-11-23 Mr. Paul Harris Multi-Image Rotation on an Individual Video and/or Graphic Display
US7643038B2 (en) * 2005-06-29 2010-01-05 Qualcomm Incorporated Virtual device buffer for embedded device
US7512287B2 (en) * 2005-07-25 2009-03-31 Seiko Epson Corporation Method and apparatus for efficient image rotation
JP4863755B2 (ja) 2006-04-18 2012-01-25 ヤマハ発動機株式会社 クラッチ用アクチュエータ、エンジンユニットおよび鞍乗型車両
US20070252842A1 (en) * 2006-04-28 2007-11-01 Smith Gerald R System and method for capturing and transposing vertically scanned documents in an imaging system
US7768678B2 (en) * 2006-05-15 2010-08-03 Xerox Corporation Systems, methods and devices for rotating images
JP4909144B2 (ja) * 2007-03-22 2012-04-04 富士通セミコンダクター株式会社 画像認識装置及び画像回転処理方法
US9561008B2 (en) 2010-12-28 2017-02-07 General Electric Company Method of displaying image
US8797359B2 (en) * 2011-11-29 2014-08-05 Apple Inc. Inline image rotation
JP5751354B1 (ja) * 2014-01-28 2015-07-22 日本電気株式会社 メモリ制御装置、情報処理装置、メモリ制御方法、および、コンピュータ・プログラム
CN106610821B (zh) * 2015-10-22 2020-05-12 海信视像科技股份有限公司 一种在终端上显示图片的方法和终端
US11582402B2 (en) * 2018-06-07 2023-02-14 Eys3D Microelectronics, Co. Image processing device
US12380666B2 (en) 2021-10-05 2025-08-05 FLIR Unmanned Aerial Systems AS Compressed fixed-point SIMD macroblock rotation systems and methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149246A (ja) * 1984-08-16 1986-03-11 Fujitsu Ltd イメ−ジ回転処理方式
JPS62299892A (ja) * 1986-06-19 1987-12-26 富士通株式会社 キヤラクタジエネレ−タメモリのアクセス方式

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3976982A (en) * 1975-05-12 1976-08-24 International Business Machines Corporation Apparatus for image manipulation
US4052699A (en) * 1976-06-30 1977-10-04 International Business Machines Corporation High speed real time image transformation
IT1084325B (it) * 1977-06-30 1985-05-25 Elsag Procedimento ed apparecchio per la rotazione di una matrice di datibinari, particolaremente destinati all'impiego come utilita' di memoria a duplice modo di accesso per calcolatori elettronici.
GB1547119A (en) * 1977-12-09 1979-06-06 Ibm Image rotation apparatus
US4271476A (en) * 1979-07-17 1981-06-02 International Business Machines Corporation Method and apparatus for rotating the scan format of digital images
US4562485A (en) * 1979-08-10 1985-12-31 Canon Kabushiki Kaisha Copying apparatus
JPS58159184A (ja) * 1982-03-17 1983-09-21 Nec Corp 画像回転装置
JPS6073671A (ja) * 1983-09-30 1985-04-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション パタ−ン処理装置
US4627020A (en) * 1983-12-30 1986-12-02 International Business Machines Corporation Method for rotating a binary image
US4701752A (en) * 1985-10-24 1987-10-20 International Business Machines Corp. Mirror inverse function in an interactive graphics system
CA1252902A (en) * 1985-10-31 1989-04-18 David R. Pruett Method for rotating a binary image
JPH0773920B2 (ja) * 1986-11-17 1995-08-09 日本電気株式会社 n×nビットドットマトリックス90゜回転回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149246A (ja) * 1984-08-16 1986-03-11 Fujitsu Ltd イメ−ジ回転処理方式
JPS62299892A (ja) * 1986-06-19 1987-12-26 富士通株式会社 キヤラクタジエネレ−タメモリのアクセス方式

Also Published As

Publication number Publication date
EP0433645A2 (en) 1991-06-26
EP0433645A3 (en) 1992-12-30
US5111192A (en) 1992-05-05
CA2027458A1 (en) 1991-06-21

Similar Documents

Publication Publication Date Title
US5111192A (en) Method to rotate a bitmap image 90 degrees
US4627020A (en) Method for rotating a binary image
US4780711A (en) Anti-aliasing of raster images using assumed boundary lines
EP0216501B1 (en) Digital image rotation
US6640295B2 (en) Semiconductor circuit with address translation circuit that enables quick serial access in row or column directions
US3973245A (en) Method and apparatus for point plotting of graphical data from a coded source into a buffer and for rearranging that data for supply to a raster responsive device
JPH01134495A (ja) 画像データ回転処理装置及びその方法
JPS6235679B2 (ja)
JPS60147884A (ja) イメージ回転方法
US5361339A (en) Circuit for fast page mode addressing of a RAM with multiplexed row and column address lines
JP3074229B2 (ja) 画像回転回路
JPS642993B2 (ja)
EP0456394B1 (en) Video memory array having random and serial ports
JPH01283676A (ja) ウインドウ画像データの読出処理方式
JP3151788B2 (ja) 矩形原画像の回転方法
US5910794A (en) Method and apparatus for storing and rotating bit patterns
JPH11306343A (ja) 2次元データ回転処理装置
JPH05307600A (ja) データの読込及び読出回路
JPH061449B2 (ja) 画像編集用イメ−ジメモリ
JPH028335B2 (ja)
JPH0241267A (ja) 像形成装置
JPH0581940B2 (ja)
JPS6125192B2 (ja)
JP2708841B2 (ja) ビットマップメモリの書き込み方法
JPH028336B2 (ja)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19940822