JPH05282437A - 画像回転回路 - Google Patents
画像回転回路Info
- Publication number
- JPH05282437A JPH05282437A JP4353514A JP35351492A JPH05282437A JP H05282437 A JPH05282437 A JP H05282437A JP 4353514 A JP4353514 A JP 4353514A JP 35351492 A JP35351492 A JP 35351492A JP H05282437 A JPH05282437 A JP H05282437A
- Authority
- JP
- Japan
- Prior art keywords
- bits
- word
- shifter
- bit
- image
- 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.)
- Granted
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
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)
- Digital Computer Display Output (AREA)
Abstract
(57)【要約】
【目的】 「バイフォー」デバイスを用いて画像の回転
を行う。 【構成】 例えば16×16ビット画像を回転させる場
合、まず、各ワードは、走査ライン番号を4で割った剰
余に4を乗じたビット数だけ循環的にシフトされ、4ビ
ット幅のRAMから実行されるページバッファに記憶さ
れる。次に、接続ラインネットワークにより再配列され
た後、ワード番号を4で割った剰余に4を乗じたビット
数だけ循環的にシフトされ、バンドバッファに記憶され
る。更に、バンドバッファからの出力は、走査ライン数
を4で割った剰余に4を乗じたビット数だけ循環的にシ
フトされ、その結果、完全に回転された画像が得られ
る。
を行う。 【構成】 例えば16×16ビット画像を回転させる場
合、まず、各ワードは、走査ライン番号を4で割った剰
余に4を乗じたビット数だけ循環的にシフトされ、4ビ
ット幅のRAMから実行されるページバッファに記憶さ
れる。次に、接続ラインネットワークにより再配列され
た後、ワード番号を4で割った剰余に4を乗じたビット
数だけ循環的にシフトされ、バンドバッファに記憶され
る。更に、バンドバッファからの出力は、走査ライン数
を4で割った剰余に4を乗じたビット数だけ循環的にシ
フトされ、その結果、完全に回転された画像が得られ
る。
Description
【0001】
【産業上の利用分野】本発明はディジタル画像データ処
理分野に属し、更に詳しくは、90度の整数倍だけ画像
を回転させる方法に係る。
理分野に属し、更に詳しくは、90度の整数倍だけ画像
を回転させる方法に係る。
【0002】
【従来技術】画像を90度または270度回転させるこ
と、又はこれらの鏡像を作成することは、頻繁に必要と
される。この操作を行うには、画像を一方向にメモリ内
に書き込み、それをその垂直方向に沿って読み出せば良
いことは明らかである。例えば、各16ビットからなる
16ワードをメモリに書き込み、その後、第1の出力ワ
ードが各入力ワードの第1ビットを含み、第2の出力ワ
ードが各入力ワードの第2ビットを含むといったように
して、16のワードを読み出すことができる。この処理
は、ソフトウェアで実行される場合時間がかかる。
と、又はこれらの鏡像を作成することは、頻繁に必要と
される。この操作を行うには、画像を一方向にメモリ内
に書き込み、それをその垂直方向に沿って読み出せば良
いことは明らかである。例えば、各16ビットからなる
16ワードをメモリに書き込み、その後、第1の出力ワ
ードが各入力ワードの第1ビットを含み、第2の出力ワ
ードが各入力ワードの第2ビットを含むといったように
して、16のワードを読み出すことができる。この処理
は、ソフトウェアで実行される場合時間がかかる。
【0003】いくつかの発明においては、画像データワ
ードを一方向に書き込み、直交方向に読み出すことがで
きる特別設計のメモリを設けることにより、この要求を
扱っている。しかしながら、このような特別な目的のメ
モリは高価であり、容量が小さくなる傾向にある。
ードを一方向に書き込み、直交方向に読み出すことがで
きる特別設計のメモリを設けることにより、この要求を
扱っている。しかしながら、このような特別な目的のメ
モリは高価であり、容量が小さくなる傾向にある。
【0004】特殊メモリハードウェアを必要とせずに高
速な回転を行うための方法及び回路は、米国特許出願第
07/453、738号及び第07/721、797号
に記載されており、これらは本件に参考として組み入れ
られている。この先行技術の発明の最も簡単な形態とし
ては、それぞれ4ビットからなる4つの水平ワードとし
てメモリに配列された二値画素の4×4ビットブロック
の90度回転により記述することができる。
速な回転を行うための方法及び回路は、米国特許出願第
07/453、738号及び第07/721、797号
に記載されており、これらは本件に参考として組み入れ
られている。この先行技術の発明の最も簡単な形態とし
ては、それぞれ4ビットからなる4つの水平ワードとし
てメモリに配列された二値画素の4×4ビットブロック
の90度回転により記述することができる。
【0005】この先行技術の方法は、各4×4ビットブ
ロック内のビットの回転、及び全画像のブロックの回転
であると説明することができる。先ず第1のワードは、
4×4ビットバッファの第1ラインにロードされる。次
のワードは循環的に1ビット回転され、バッファの第2
ラインロードされる。第3のワードは循環的に2ビット
シフトされ、バッファの第3ラインにロードされる。さ
らに第4のワードは循環的に3ビットシフトされ、バッ
ファの第4ラインにロードされる。この時点で原画像の
水平ラインはバッファにおいても水平ラインであるが、
原画像の鉛直ラインはバッファにおいては対角方向ライ
ン(斜めのライン)となる。
ロック内のビットの回転、及び全画像のブロックの回転
であると説明することができる。先ず第1のワードは、
4×4ビットバッファの第1ラインにロードされる。次
のワードは循環的に1ビット回転され、バッファの第2
ラインロードされる。第3のワードは循環的に2ビット
シフトされ、バッファの第3ラインにロードされる。さ
らに第4のワードは循環的に3ビットシフトされ、バッ
ファの第4ラインにロードされる。この時点で原画像の
水平ラインはバッファにおいても水平ラインであるが、
原画像の鉛直ラインはバッファにおいては対角方向ライ
ン(斜めのライン)となる。
【0006】このバッファは「バイワン(by1)」デ
バイスから実行されるので、各デバイスいずれのビット
も他のデバイスから独立にアドレス指定することがで
き、バッファ内の1つのワード中の1つのビットは、メ
モリ中の4つのワードのいずれにもロードすることがで
きる。そのため、バッファのビットがバッファの対角線
に平行な斜めのラインに沿ってアドレス指定され、メモ
リの1つのワード内へロードされると、バッファ中の対
角方向ラインは出力では水平ラインとなる。このように
原画像の鉛直なラインがここに至り水平なラインとな
る。また、対角方向ラインに沿ってビットのアドレス指
定を続けると、バッファ中の水平ラインは出力では対角
方向ラインになる。出力の4ワードは、メモリ内に記憶
される前に、対角方向ビットが鉛直ラインに並ぶように
シフトされる。このラインは最初は水平ラインであった
ので、4×4ビットブロックはこの時点で90度の回転
を完了したことが理解できよう。画像内でブロックを回
転させるためには、簡単なアドレス指定アルゴリズムに
より、ブロックバッファから読み出したブロックをペー
ジバッファの正しい領域に読み込むことができる。
バイスから実行されるので、各デバイスいずれのビット
も他のデバイスから独立にアドレス指定することがで
き、バッファ内の1つのワード中の1つのビットは、メ
モリ中の4つのワードのいずれにもロードすることがで
きる。そのため、バッファのビットがバッファの対角線
に平行な斜めのラインに沿ってアドレス指定され、メモ
リの1つのワード内へロードされると、バッファ中の対
角方向ラインは出力では水平ラインとなる。このように
原画像の鉛直なラインがここに至り水平なラインとな
る。また、対角方向ラインに沿ってビットのアドレス指
定を続けると、バッファ中の水平ラインは出力では対角
方向ラインになる。出力の4ワードは、メモリ内に記憶
される前に、対角方向ビットが鉛直ラインに並ぶように
シフトされる。このラインは最初は水平ラインであった
ので、4×4ビットブロックはこの時点で90度の回転
を完了したことが理解できよう。画像内でブロックを回
転させるためには、簡単なアドレス指定アルゴリズムに
より、ブロックバッファから読み出したブロックをペー
ジバッファの正しい領域に読み込むことができる。
【0007】上述の方法は、4つのメモリデバイスのそ
れぞれから、任意のビット、ただし一度にただ1つのビ
ットにアクセス可能であるという概念に基づいている。
そのため、1つのラインの4つの鉛直方向ビットが1つ
のデバイスに記憶されると、これら4つのビットを同時
に全て出力させることはできないし、これらのビットが
水平ラインになることを要求する回転は不可能である。
しかしながら、鉛直ラインが対角方向ラインに変換(水
平ラインは水平のまま)されれば、各ラインの各ビット
はそれぞれ異なるデバイスにあることになり、元々は鉛
直ラインであった対角方向ラインを水平ラインとして読
み出すことができる。
れぞれから、任意のビット、ただし一度にただ1つのビ
ットにアクセス可能であるという概念に基づいている。
そのため、1つのラインの4つの鉛直方向ビットが1つ
のデバイスに記憶されると、これら4つのビットを同時
に全て出力させることはできないし、これらのビットが
水平ラインになることを要求する回転は不可能である。
しかしながら、鉛直ラインが対角方向ラインに変換(水
平ラインは水平のまま)されれば、各ラインの各ビット
はそれぞれ異なるデバイスにあることになり、元々は鉛
直ラインであった対角方向ラインを水平ラインとして読
み出すことができる。
【0008】上述の方法は、先に述べたように各デバイ
スの各ビットが独立にアドレス指定されなければならな
いので、「バイワン(by1)」デバイスから実行され
るメモリに基づいている。しかしながら、最近のメモリ
デバイスは、「バイフォー(by4)」デバイスも有し
ている。このデバイスは各アクセス毎に4ビットを並行
して出力し、この4ビットはいずれも個々にはアドレス
指定できない。4ビットは全部、同一アドレスから出力
される。このような「バイフォー」デバイスから実行さ
れるメモリにおいてこの回転を実行する方法がここでの
課題である。
スの各ビットが独立にアドレス指定されなければならな
いので、「バイワン(by1)」デバイスから実行され
るメモリに基づいている。しかしながら、最近のメモリ
デバイスは、「バイフォー(by4)」デバイスも有し
ている。このデバイスは各アクセス毎に4ビットを並行
して出力し、この4ビットはいずれも個々にはアドレス
指定できない。4ビットは全部、同一アドレスから出力
される。このような「バイフォー」デバイスから実行さ
れるメモリにおいてこの回転を実行する方法がここでの
課題である。
【0009】
【課題を解決するための手段】本発明は、mビットワー
ドに区分されたyビット×x走査ラインの画像を回転さ
せる回路であって、nをmの約数(fraction)としたと
きに、走査ライン番号をnで割った剰余にnビットを乗
じた数(走査ライン数 mod n)だけ各ワードを循環的に
シフトさせるための第1のシフタと、前記第1のシフタ
によりシフトされたワードを記憶するためのnビット幅
メモリデバイスから実行されるページバッファ手段と、
前記ページバッファ手段の出力ビットを再配列するため
の接続ラインシステムと、前記接続ラインから各ワード
を受信し、その受信したワードを、第2のシフタのワー
ド番号をnで割った剰余にnビットを乗じた数だけ循環
的にシフトさせるための第2のシフタと、前記第2のシ
フタの出力を記憶するためのnビット幅メモリデバイス
から実行されるバンドバッファ手段と、前記バンドバッ
ファ手段から各ワードを受信し、その受信したワード
を、第3のシフタの走査ライン数をnで割った剰余にn
ビットを乗じた数だけ循環的にシフトさせるための第3
のシフタであって、その結果完全に回転された画像が得
られる第3のシフタと、を備えている。
ドに区分されたyビット×x走査ラインの画像を回転さ
せる回路であって、nをmの約数(fraction)としたと
きに、走査ライン番号をnで割った剰余にnビットを乗
じた数(走査ライン数 mod n)だけ各ワードを循環的に
シフトさせるための第1のシフタと、前記第1のシフタ
によりシフトされたワードを記憶するためのnビット幅
メモリデバイスから実行されるページバッファ手段と、
前記ページバッファ手段の出力ビットを再配列するため
の接続ラインシステムと、前記接続ラインから各ワード
を受信し、その受信したワードを、第2のシフタのワー
ド番号をnで割った剰余にnビットを乗じた数だけ循環
的にシフトさせるための第2のシフタと、前記第2のシ
フタの出力を記憶するためのnビット幅メモリデバイス
から実行されるバンドバッファ手段と、前記バンドバッ
ファ手段から各ワードを受信し、その受信したワード
を、第3のシフタの走査ライン数をnで割った剰余にn
ビットを乗じた数だけ循環的にシフトさせるための第3
のシフタであって、その結果完全に回転された画像が得
られる第3のシフタと、を備えている。
【0010】
【作用】プロセスは、先ず、データバス上の画像を受信
する。例えば、16ビットのデータバス上に一度に16
ビットワード単位で、256ビット×256走査ライン
の画像が送られるとする。走査ラインは、0、1、2、
3等々と番号付けされる。各ワードは受信されると、走
査ライン番号を4で割った剰余の4倍のビット数だけ一
方向にシフトされ、ページバッファに記憶される。ペー
ジバッファが完全にロードされると、原画像の下端の水
平ラインはページバッファでも水平のままであるが、画
像の鉛直ラインは全て、ページバッファでは対角方向ラ
インの集合となる。このとき、各鉛直ラインの1つの画
素は4ビットの各水平集合の中にある。
する。例えば、16ビットのデータバス上に一度に16
ビットワード単位で、256ビット×256走査ライン
の画像が送られるとする。走査ラインは、0、1、2、
3等々と番号付けされる。各ワードは受信されると、走
査ライン番号を4で割った剰余の4倍のビット数だけ一
方向にシフトされ、ページバッファに記憶される。ペー
ジバッファが完全にロードされると、原画像の下端の水
平ラインはページバッファでも水平のままであるが、画
像の鉛直ラインは全て、ページバッファでは対角方向ラ
インの集合となる。このとき、各鉛直ラインの1つの画
素は4ビットの各水平集合の中にある。
【0011】次に、ビットは、4つの4ビット集合単位
で一度に読み出され、再配列され、再び4ビットの整数
倍だけシフトされ、4走査ラインバンドバッファにロー
ドされる。この時点では原画像における鉛直ラインは、
対角方向ラインのままであるが、ここで原画像の各鉛直
ラインからの4画素が4ビットの各水平集合にあるよう
に再配列される。
で一度に読み出され、再配列され、再び4ビットの整数
倍だけシフトされ、4走査ラインバンドバッファにロー
ドされる。この時点では原画像における鉛直ラインは、
対角方向ラインのままであるが、ここで原画像の各鉛直
ラインからの4画素が4ビットの各水平集合にあるよう
に再配列される。
【0012】ここに至り、ビットは、対角方向ラインを
水平ラインへ変換するために、4つの4ビット集合で同
時に読み出されることが可能である。この時点で、原画
像の鉛直ラインは水平であり、原画像の水平ラインは対
角方向になっている。最後の工程では、対角方向ライン
を鉛直にするために4ビットの整数倍での最終シフトが
実行され、画像が完全に回転される。以下このプロセス
を図面を参照し、詳細説明する。
水平ラインへ変換するために、4つの4ビット集合で同
時に読み出されることが可能である。この時点で、原画
像の鉛直ラインは水平であり、原画像の水平ラインは対
角方向になっている。最後の工程では、対角方向ライン
を鉛直にするために4ビットの整数倍での最終シフトが
実行され、画像が完全に回転される。以下このプロセス
を図面を参照し、詳細説明する。
【0013】
【実施例】原画像を図1に示す。この簡単な例におい
て、画像は16×16ビットであり、一部のビットのみ
ラベル付けされている。例えば、画像の最上部において
ラベル付けされたビットはラインF(16進法表記)の
ビット0−3であり、FL0、1、2、3として表記さ
れる。最下部のラインにおいてラベル付けされたビット
はライン0のビット0−3であり、0L0−Fと書き表
される。これらの走査ラインの出所は重要ではないが、
例えば、ラスタ入力スキャナー、メモリ等から送られ
る。データの流れを視覚的に分かり易くするために、画
像の左端の画素は円で囲まれ、最上部及び最下部のライ
ンは四角で囲まれている。
て、画像は16×16ビットであり、一部のビットのみ
ラベル付けされている。例えば、画像の最上部において
ラベル付けされたビットはラインF(16進法表記)の
ビット0−3であり、FL0、1、2、3として表記さ
れる。最下部のラインにおいてラベル付けされたビット
はライン0のビット0−3であり、0L0−Fと書き表
される。これらの走査ラインの出所は重要ではないが、
例えば、ラスタ入力スキャナー、メモリ等から送られ
る。データの流れを視覚的に分かり易くするために、画
像の左端の画素は円で囲まれ、最上部及び最下部のライ
ンは四角で囲まれている。
【0014】第1動作の目的は原画像の鉛直ラインを対
角方向ラインにすることである。これを実行するため
に、受信された各走査ラインをまずシフタにロードし、
各走査ラインを、その走査ラインの番号を4で割った剰
余を4倍したビット数だけ右方向にシフトさせる。これ
により、走査ライン0は0ビットシフトされ、走査ライ
ン1は4ビットシフトされ、走査ライン2は8ビットシ
フトされ、走査ライン3は12ビットシフトされ、走査
ライン4は再び0ビットシフトされる。この結果は、図
2に示すようにそれぞれ4ビット幅を有する4つのRA
Mから実行されるページバッファに記憶される。
角方向ラインにすることである。これを実行するため
に、受信された各走査ラインをまずシフタにロードし、
各走査ラインを、その走査ラインの番号を4で割った剰
余を4倍したビット数だけ右方向にシフトさせる。これ
により、走査ライン0は0ビットシフトされ、走査ライ
ン1は4ビットシフトされ、走査ライン2は8ビットシ
フトされ、走査ライン3は12ビットシフトされ、走査
ライン4は再び0ビットシフトされる。この結果は、図
2に示すようにそれぞれ4ビット幅を有する4つのRA
Mから実行されるページバッファに記憶される。
【0015】次のステップは、指示された対角方向に沿
ってページバッファから読み出すことである。例えば、
第1の16ビット出力ワードは00、01、02、0
3、10、11、12、13、20、21、22、2
3、30、31、32、33である。これは、次のシフ
タに入力する接続ラインネットワークにより、再配列さ
れる。わかり易くするため、16本の接続ラインのうち
最初の4つのみが示されている。この結果、シフタには
図3に示されるパターンがロードされる。次に、シフタ
は、4ビットにワード番号を4で割った剰余を乗じた分
だけ右にシフトさせ、この結果をバンドバッファに記憶
する。この結果、図4に示されるパターンとなる。
ってページバッファから読み出すことである。例えば、
第1の16ビット出力ワードは00、01、02、0
3、10、11、12、13、20、21、22、2
3、30、31、32、33である。これは、次のシフ
タに入力する接続ラインネットワークにより、再配列さ
れる。わかり易くするため、16本の接続ラインのうち
最初の4つのみが示されている。この結果、シフタには
図3に示されるパターンがロードされる。次に、シフタ
は、4ビットにワード番号を4で割った剰余を乗じた分
だけ右にシフトさせ、この結果をバンドバッファに記憶
する。この結果、図4に示されるパターンとなる。
【0016】この第2のパターンから再び対角方向に沿
って読み出され、図5に示すようにシフタに格納され
る。例えば、最初に読み出される16ビットワードは0
0、10、20、30、40、50、60、70、8
0、90、A0、B0、C0、D0、E0、F0とな
る。このシフタにおいては、最上部のワードは0ビッ
ト、2番目のワードは4ビット、3番目のワードは8ビ
ット、最下部のワードは12ビットそれぞれ左にシフト
される。図6に示す結果は回転を完了したワードの出力
である。
って読み出され、図5に示すようにシフタに格納され
る。例えば、最初に読み出される16ビットワードは0
0、10、20、30、40、50、60、70、8
0、90、A0、B0、C0、D0、E0、F0とな
る。このシフタにおいては、最上部のワードは0ビッ
ト、2番目のワードは4ビット、3番目のワードは8ビ
ット、最下部のワードは12ビットそれぞれ左にシフト
される。図6に示す結果は回転を完了したワードの出力
である。
【0017】上例においては16×16ビットの画像の
回転について記述したが、この方法は任意のサイズの画
像においても動作するように拡張可能である。例とし
て、256ビット×128走査ラインの画像を次に示
す。その場合の原画像を図10に示す。
回転について記述したが、この方法は任意のサイズの画
像においても動作するように拡張可能である。例とし
て、256ビット×128走査ラインの画像を次に示
す。その場合の原画像を図10に示す。
【0018】先ず、図7に示すように走査ラインは、ペ
ージバッファ内に記憶されなければならない。走査ライ
ン0の16個の16ビットワード、即ち、0L0−Fか
ら0LFFのそれぞれは、循環的に0ビットシフトさ
れ、図示するように最初の16のアドレスにロードされ
る。走査ライン7F(走査ライン127の16進法表
記)までの一連の走査ラインのそれぞれのワードは、走
査ライン番号を4で割った剰余に4ビットを乗じた分だ
け循環的にシフトされ、図示の如く記憶される。この結
果は、図2に等価なページバッファ全体にロードされ
る。
ージバッファ内に記憶されなければならない。走査ライ
ン0の16個の16ビットワード、即ち、0L0−Fか
ら0LFFのそれぞれは、循環的に0ビットシフトさ
れ、図示するように最初の16のアドレスにロードされ
る。走査ライン7F(走査ライン127の16進法表
記)までの一連の走査ラインのそれぞれのワードは、走
査ライン番号を4で割った剰余に4ビットを乗じた分だ
け循環的にシフトされ、図示の如く記憶される。この結
果は、図2に等価なページバッファ全体にロードされ
る。
【0019】次に、画像データビットはページバッファ
から読み出され、RAM1、2、3、4から実行され、
再序列され、シフトされ、そして4つの4ビット幅RA
M1’、2’、3’4’から実行される4つの走査ライ
ンバンドバッファにロードされる。例えば、ページバッ
ファRAMから読み出されるデータの最初の16ビット
は以下の通りである。 RAM1から0L0、1、2、3 RAM2から1L0、1、2、3 RAM3から2L0、1、2、3 RAM4から3L0、1、2、3
から読み出され、RAM1、2、3、4から実行され、
再序列され、シフトされ、そして4つの4ビット幅RA
M1’、2’、3’4’から実行される4つの走査ライ
ンバンドバッファにロードされる。例えば、ページバッ
ファRAMから読み出されるデータの最初の16ビット
は以下の通りである。 RAM1から0L0、1、2、3 RAM2から1L0、1、2、3 RAM3から2L0、1、2、3 RAM4から3L0、1、2、3
【0020】これらのビットは再配列され、0ビットシ
フトされ、以下のようにバンドバッファに記憶される。 RAM1’へ0、1、2、3L0 RAM2’へ0、1、2、3L1 RAM3’へ0、1、2、3L2 RAM4’へ0、1、2、3L3
フトされ、以下のようにバンドバッファに記憶される。 RAM1’へ0、1、2、3L0 RAM2’へ0、1、2、3L1 RAM3’へ0、1、2、3L2 RAM4’へ0、1、2、3L3
【0021】ページバッファRAMから読まれるデータ
の第2の16ビットは以下の通りである。 RAM1から4L0、1、2、3 RAM2から5L0、1、2、3 RAM3から6L0、1、2、3 RAM4から7L0、1、2、3
の第2の16ビットは以下の通りである。 RAM1から4L0、1、2、3 RAM2から5L0、1、2、3 RAM3から6L0、1、2、3 RAM4から7L0、1、2、3
【0022】これらのビットはを再配列され、4ビット
シフトされ、以下のようにバンドバッファに記憶され
る。 RAM1’へ4、5、6、7L3 RAM2’へ4、5、6、7L0 RAM3’へ4、5、6、7L1 RAM4’へ4、5、6、7L2
シフトされ、以下のようにバンドバッファに記憶され
る。 RAM1’へ4、5、6、7L3 RAM2’へ4、5、6、7L0 RAM3’へ4、5、6、7L1 RAM4’へ4、5、6、7L2
【0023】バンドバッファ内に結果として得られるデ
ータ配列を図8に示す。
ータ配列を図8に示す。
【0024】データはバンドバッファから的確なアドレ
ス指定により読み出される。例えば、最初に読み出され
る16ビットワードは以下の通りである。 RAM1’から0、1、2、3L0 RAM2’から4、5、6、7L0 RAM3’から8、9、A、BL0 RAM4’からC、D、E、FL0
ス指定により読み出される。例えば、最初に読み出され
る16ビットワードは以下の通りである。 RAM1’から0、1、2、3L0 RAM2’から4、5、6、7L0 RAM3’から8、9、A、BL0 RAM4’からC、D、E、FL0
【0025】2番目に読み出される16ビットワードは
以下の通りである。 RAM1’から10、11、12、13L0 RAM2’から14、15、16、17L0 RAM3’から18、19、1A、1BL0 RAM4’から1C、1D、1E、1FL0
以下の通りである。 RAM1’から10、11、12、13L0 RAM2’から14、15、16、17L0 RAM3’から18、19、1A、1BL0 RAM4’から1C、1D、1E、1FL0
【0026】これらのワードは、次に、適切な量だけ
(この第1の走査ラインについては0ビット)循環的に
シフトされ、最終出力画像が形成される。
(この第1の走査ラインについては0ビット)循環的に
シフトされ、最終出力画像が形成される。
【0027】図9は本動作に必要とされる実際のハード
ウェア部を示す。図示するようにパイプライン状に配列
された場合、必要とされる回路要素の最低数は、シフタ
3つ、バンドバッファ1つ及びページバッファ1つであ
る。処理効率を上げるために、同時に2つのバンドバッ
ファを使用することができる。この場合、一方のバンド
バッファがロードされている間に、他方のバンドバッフ
ァは次の回路要素へデータを出力する。
ウェア部を示す。図示するようにパイプライン状に配列
された場合、必要とされる回路要素の最低数は、シフタ
3つ、バンドバッファ1つ及びページバッファ1つであ
る。処理効率を上げるために、同時に2つのバンドバッ
ファを使用することができる。この場合、一方のバンド
バッファがロードされている間に、他方のバンドバッフ
ァは次の回路要素へデータを出力する。
【0028】この回路には多くの使い方がある。例え
ば、画像を回転させるために、データの流れを上向きに
して最初にページバッファに入力するか、データの流れ
を下向きにして最初にバンドバッファに入力するかを設
計者が選択できる。90度及び270度の回転並びにこ
れらの鏡像を行うために、シフトを右または左に行うこ
とにより対角方向を右上り、または左上りにすることが
でき、記憶及び読取のサイクルをバッファの最下部また
は最上部から行うようにすることができる。
ば、画像を回転させるために、データの流れを上向きに
して最初にページバッファに入力するか、データの流れ
を下向きにして最初にバンドバッファに入力するかを設
計者が選択できる。90度及び270度の回転並びにこ
れらの鏡像を行うために、シフトを右または左に行うこ
とにより対角方向を右上り、または左上りにすることが
でき、記憶及び読取のサイクルをバッファの最下部また
は最上部から行うようにすることができる。
【0029】
【図1】簡単な原画像の図である。
【図2】最初のシフトを実行した後の簡単な画像であ
る。
る。
【図3】再配列した後の簡単な画像データである。
【図4】第2のシフトをした後のバンドバッファ中の簡
単な画像データである。
単な画像データである。
【図5】アドレス指定されてバンドバッファから出力さ
れた後の簡単な画像データである。
れた後の簡単な画像データである。
【図6】第3のシフト後の完全に回転された簡単な画像
である。
である。
【図7】ページバッファに記憶される、より大きい画像
である。
である。
【図8】バンドバッファに配列される、より大きい画像
である。
である。
【図9】回路の概略構成図である。
【図10】典型的な原画像の形式の構成図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェフリー エヌ.ケルマン アメリカ合衆国 90250 カリフォルニア 州 ハウソーン ナンバー11 ユコン ア ヴェニュー 13801 (72)発明者 クリスティーン カング アメリカ合衆国 90066 カリフォルニア 州 ロサンジェルス メイ ストリート 3655
Claims (1)
- 【請求項1】 mビットワードに区分されたyビット×
x走査ラインの画像を回転させる回路であって、 nをmの約数としたときに、走査ライン番号をnで割っ
た剰余にnビットを乗じた数だけ各ワードを循環的にシ
フトさせるための第1のシフタと、 前記第1のシフタによりシフトされたワードを記憶する
ためのnビット幅メモリデバイスから実行されるページ
バッファ手段と、 前記ページバッファ手段の出力ビットを再配列するため
の接続ラインシステムと、 前記接続ラインから各ワードを受信し、その受信したワ
ードを、第2のシフタのワード番号をnで割った剰余に
nビットを乗じた数だけ循環的にシフトさせるための第
2のシフタと、 前記第2のシフタの出力を記憶するためのnビット幅メ
モリデバイスから実行されるバンドバッファ手段と、 前記バンドバッファ手段から各ワードを受信し、その受
信したワードを、第3のシフタの走査ライン数をnで割
った剰余にnビットを乗じた数だけ循環的にシフトさせ
るための第3のシフタであって、その結果完全に回転さ
れた画像が得られる第3のシフタと、 を備えた画像回転回路。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US811865 | 1991-12-23 | ||
| US07/811,865 US5365601A (en) | 1991-12-23 | 1991-12-23 | N-bit wide parallel rotation algorithm |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05282437A true JPH05282437A (ja) | 1993-10-29 |
| JP3074229B2 JP3074229B2 (ja) | 2000-08-07 |
Family
ID=25207811
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP04353514A Expired - Fee Related JP3074229B2 (ja) | 1991-12-23 | 1992-12-14 | 画像回転回路 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5365601A (ja) |
| EP (1) | EP0549313B1 (ja) |
| JP (1) | JP3074229B2 (ja) |
| DE (1) | DE69225390T2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006511832A (ja) * | 2002-12-20 | 2006-04-06 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 2つの置換ステップおよび部分的に再配列された中間画像データの記憶を用いて画像データをディスプレイ向けに再配列するための装置 |
| JP2010091304A (ja) * | 2008-10-03 | 2010-04-22 | Furuno Electric Co Ltd | レーダ装置 |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| JP2723056B2 (ja) * | 1994-09-29 | 1998-03-09 | 日本電気株式会社 | データ変換装置 |
| US5670982A (en) * | 1995-02-08 | 1997-09-23 | International Business Machines Corporation | System for fast 90-degree rotation of bi-level images |
| US5668980A (en) * | 1995-07-31 | 1997-09-16 | Advanced Micro Devices, Inc. | System for performing rotation of pixel matrices |
| 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 |
| JP3092579B2 (ja) * | 1997-01-29 | 2000-09-25 | 日本電気株式会社 | 画像データ回転処理方法及び画像データ回転処理装置 |
| US6223181B1 (en) | 1997-07-31 | 2001-04-24 | Oak Technology, Inc. | Memory conserving and compression technique-compatible image rotation system |
| JP2001069351A (ja) * | 1999-08-26 | 2001-03-16 | Matsushita Electric Ind Co Ltd | 画像処理装置 |
| KR101348354B1 (ko) * | 2012-05-30 | 2014-01-08 | 주식회사 디에이아이오 | 낸드 플래시 메모리 장치의 페이지 데이터 독출 방법 |
| US10365966B1 (en) * | 2014-03-25 | 2019-07-30 | Marvell lnternational Ltd. | Methods and systems for wordline based encoding and decoding in NAND flash |
Family Cites Families (12)
| 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 |
| JPS58159184A (ja) * | 1982-03-17 | 1983-09-21 | Nec Corp | 画像回転装置 |
| US4658430A (en) * | 1984-12-27 | 1987-04-14 | International Business Machines Corp. | System for rotating binary images |
| US4703515A (en) * | 1985-08-26 | 1987-10-27 | Xerox Corporation | Image rotation |
| CA1252902A (en) * | 1985-10-31 | 1989-04-18 | David R. Pruett | Method for rotating a binary image |
| US4797852A (en) * | 1986-02-03 | 1989-01-10 | Intel Corporation | Block shifter for graphics processor |
| US4806920A (en) * | 1986-03-28 | 1989-02-21 | Nec Corporation | Device for producing an output image while giving an original image a rotation of 90, 180, or 270 |
| DE3713627A1 (de) * | 1986-04-23 | 1987-10-29 | Casio Computer Co Ltd | Bildspeicherschaltung, insbesondere zur verwendung beim drehen von bilddaten |
| JPH0773920B2 (ja) * | 1986-11-17 | 1995-08-09 | 日本電気株式会社 | n×nビットドットマトリックス90゜回転回路 |
| GB2210760B (en) * | 1987-10-05 | 1991-07-03 | Int Computers Ltd | Image rotation circuit |
| US5111192A (en) * | 1989-12-20 | 1992-05-05 | Xerox Corporation | Method to rotate a bitmap image 90 degrees |
| US5124692A (en) * | 1990-04-13 | 1992-06-23 | Eastman Kodak Company | Method and apparatus for providing rotation of digital image data |
-
1991
- 1991-12-23 US US07/811,865 patent/US5365601A/en not_active Expired - Fee Related
-
1992
- 1992-12-14 JP JP04353514A patent/JP3074229B2/ja not_active Expired - Fee Related
- 1992-12-21 DE DE69225390T patent/DE69225390T2/de not_active Expired - Fee Related
- 1992-12-21 EP EP92311668A patent/EP0549313B1/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006511832A (ja) * | 2002-12-20 | 2006-04-06 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 2つの置換ステップおよび部分的に再配列された中間画像データの記憶を用いて画像データをディスプレイ向けに再配列するための装置 |
| JP2010091304A (ja) * | 2008-10-03 | 2010-04-22 | Furuno Electric Co Ltd | レーダ装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5365601A (en) | 1994-11-15 |
| DE69225390D1 (de) | 1998-06-10 |
| EP0549313A3 (en) | 1993-10-20 |
| JP3074229B2 (ja) | 2000-08-07 |
| DE69225390T2 (de) | 1998-10-08 |
| EP0549313B1 (en) | 1998-05-06 |
| EP0549313A2 (en) | 1993-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6640295B2 (en) | Semiconductor circuit with address translation circuit that enables quick serial access in row or column directions | |
| US6157751A (en) | Method and apparatus for interleaving a parallel image processing memory | |
| JPH03290765A (ja) | ビットマップ・イメージの90度回転方法 | |
| JP3074229B2 (ja) | 画像回転回路 | |
| JPS6126712B2 (ja) | ||
| JPH11144451A5 (ja) | ||
| JPH11144451A (ja) | 半導体記憶装置 | |
| JP2949589B2 (ja) | 2×2ウインドウ・アーキテクチヤを有する並列パイプライン映像プロセツサ | |
| KR100494980B1 (ko) | 범위선택 가능한 어드레스 디코더와 이를 이용한 고속그래픽 처리용 프레임 메모리 장치 | |
| JP3124852B2 (ja) | データ移動回路及びアドレス配列 | |
| USRE36183E (en) | System for rearranging sequential data words from an initial order to an arrival order in a predetermined order | |
| JPS61201350A (ja) | 画像編集用イメ−ジメモリ | |
| JP2548286B2 (ja) | イメージデータ処理装置 | |
| JP2824976B2 (ja) | 2次元配列データ回転装置 | |
| JPH028336B2 (ja) | ||
| JP2753349B2 (ja) | 任意角回転画像データ入出力方法及びその入出力回路並びにこれらを用いた電子ファイル装置 | |
| JPH05204744A (ja) | 2次元配列データアクセス装置 | |
| JP2728663B2 (ja) | 画像処理装置 | |
| JPH06324935A (ja) | アドレス発生器およびアドレス発生システム | |
| JPH0553898A (ja) | 機能メモリ | |
| JP2000020705A (ja) | 並列画像処理プロセッサ | |
| JPH0312752A (ja) | 画像データアクセス方式 | |
| JPS62119679A (ja) | 回転・縮小用画像記憶装置 | |
| JPH0554132A (ja) | 画像回転用メモリ装置 | |
| JPH06214556A (ja) | 画像処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000523 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |