JPH05307601A - 出力画像作成方法 - Google Patents
出力画像作成方法Info
- Publication number
- JPH05307601A JPH05307601A JP4354644A JP35464492A JPH05307601A JP H05307601 A JPH05307601 A JP H05307601A JP 4354644 A JP4354644 A JP 4354644A JP 35464492 A JP35464492 A JP 35464492A JP H05307601 A JPH05307601 A JP H05307601A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- image
- line
- block
- blocks
- 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
- 238000000034 method Methods 0.000 title claims description 16
- 239000000872 buffer Substances 0.000 claims abstract description 48
- 230000015654 memory Effects 0.000 claims abstract description 28
- 238000013507 mapping Methods 0.000 description 13
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 9
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/60—Rotation of a whole image or part thereof
- G06T3/606—Rotation by memory addressing or mapping
Abstract
ブロックの数を画像を格納するのに必要なブロックの数
に削減する。 【構成】 4ブロック×3ブロックの画像10は、A〜
Lによりラベルされ、1度に1走査ライン全体が入力さ
れる。画像10の走査ラインは、順次バッファ11にロ
ードされる。PROM12には、バッファ11を読出す
特定の順序が記憶されている。PROM12の順序に従
って第1の出力行に第1走査ラインをバッファ13の
I、E、Aのブロックから取出し、出力画像14の第1
の走査ラインを得る。
Description
度の回転操作が必要となることがある。回転を行う最も
簡単な方法としては、行または列によりアドレス可能な
2次元メモリアレイ構成のページバッファを使用する方
法である。データを行方向に沿ってワードでバッファに
書き込み、それを列方向に沿ってワードで読み出すとい
うものである。
作の数は非回転画像の場合と同じであるので、この回転
に要する時間はゼロと考えられる。必要なことはメモリ
のモードを行モードから列モード(即ち、回転されたモ
ード)に変換することである。また、対象をバッファに
ロードしながらメモリのモードを変えることにより、回
転及び非回転対象の画像を構成することもできる。しか
しながら、行及び列の両方のアクセス機能をページバッ
ファに付与することがメモリ装置に求められるが、この
ようなものは、現在のところ流通していない。
ワードをある方向に読み込み、これと直交する方向に読
み出すことが可能な特別に設計されたメモリを供与する
発明がいくつかある。しかしながら、このような特殊用
途のメモリは高価であり、一般的に容量が小さい。
ずに高速に回転させる方法及び回路は、本件共通所有の
特許出願番号第07/453,738の”ビットマップ
画像90度回転方法”及び特許出願番号第07/72
1,797の”平行回転アルゴリズム”に記載されてお
り、これらを本件の参考とする。この従来の発明の最も
簡単な形態としては、各ワードが4ビットの水平ワード
としてメモリに配列された二値画素の4×4ビットブロ
ックがあり、これは90度回転される。上記特許出願”
ビットマップ画像90度回転方法”の図1から4を参
照。
ットの回転と全画像のブロックの回転の和として説明さ
れる。1つのブロック内のビットを回転させるには、第
1の4ビットワードを4×4ビットバッファの第1ライ
ンにロードする。次のワードを循環的に1ビット上昇回
転し、これをバッファの第2ラインにロードする。第3
のワードを循環的に2ビットずらし、それをバッファの
第3ラインにロードする。さらに第4のワードを循環的
に3ビットずらし、それをバッファの第4ラインにロー
ドする。この時点において、原画像の鉛直ラインはバッ
ファにおいても鉛直ラインであるが、原画像上の水平ラ
インはこの時点で対角ラインとなる。
バイスにより実行されるので、他のデバイスに関係な
く、各デバイスのいずれのビットからでもアクセスする
ことが可能である。つまり、バッファ中の1つのワード
のあるビットはメモリ中の4ワードのいずれのビットへ
もロードすることができる。そのため、バッファの中の
ビットをバッファ中の対角ラインに平行な斜ラインに沿
ってアドレスし、メモリの1つのワードとしてロードす
ると、バッファ中の対角ラインは出力では鉛直ラインと
なる。また、対角ラインに沿ってのビットへアドレスを
すると、バッファ中の鉛直ラインは出力上、対角ライン
になる。出力された4ワードをメモリ内に格納する前に
対角ビットが水平なラインに並ぶようにシフトする。こ
のラインは最初は鉛直ラインであったので、ここに至
り、4×4ビットのブロックにおいて90度の回転が完
了したことが理解できよう。画像内でブロックを回転さ
せるために、簡単なアドレスアルゴリズムにより、ブロ
ックバッファから読み出したブロックを適切な順序で読
み込む方法がある。
ことが要求され、更にそれが二の累乗である必要があ
る。回転以前に1ライン12,288ビットで5,12
2ラインの画像があるとすれば、ページバッファは1
6,384画素×16,384ラインに配列された25
6メガビットのアドレス空間を必要とする。しかし、ど
の瞬間においても画像を格納するために64メガビット
のメモリが必要となるだけである。画像の形に関係なく
画像を回転させるのに必要なバッファメモリのブロック
の数が画像を格納するのに実際に必要とされるブロック
の数に削減できればそれは格段なる進歩である。
ガビットの実メモリにマップした256メガビットの仮
想アドレス空間を供与することにより、上記所望の結果
を達成する。各メモリデバイスは1メガビット×1ビッ
トのDRAMとし、メモリの各ブロックは1,024ビ
ット平方である。画像ラインはラインごとに最新のブロ
ックに読み込まれる。各画像ラインごとに12,288
ビットとすると、最初の画像ラインは最初の12ブロッ
クの最初のラインに格納され、次の画像は最初のブロッ
クの第2のラインの始点から格納され始める。
われる。バッファから回転前のデータが読み出された場
合には、カウンターは各12,288ビット後に次のラ
インの始点にジャンプしなければならない。同様に回転
後の画像を読み出す場合には、カウンタは5,120ビ
ット後に次のラインを開始する。画像の回転はデータを
ページバッファに対し読み込み及び読み出す最大の速度
で行われ、このため、画像を回転させる機能を持たない
ページバッファによってかかる時間と等しい時間で、画
像の回転を行うことができる。
画像中のブロックの数がバッファ中の同一サイズのブロ
ックの数を越えないという条件の下における、任意の形
の画像の回転に使用可能なバッファメモリである。この
過程は二つの独立した過程の組み合わせとして考えるこ
とができる。第1は各ブロック内のデータの回転であ
り、各ブロックに対する内部データの第1のシフト、再
構成、第2のシフトという従来の技術である。第2の過
程は原画像の内部的に回転された各ブロックが最終画像
においてどこに配置されるべきかを指示するために、何
らかのアドレスの機構、ソフトウェアまたはハードウェ
アを使用することである。本明細書においてはこのアド
レスビットの再配分を包括するこの課題に対するハード
ウェアによる一つの特殊な解決策について記述するが、
参考特許の記載のひとつの方法に類似した論理式による
アプローチを含むこの他の方法を使用することも可能で
ある。
想ブロックはアドレス変換PROMを有する実メモリの
ブロックにマップされる。図2は12,288ビット×
5,120ラインの回転されていない領域についての仮
想ブロックから実ブロックへのマッピングを示す。図3
及び4は回転画像についての同様なマップを示すもので
ある。また、ここには示さないが、8,192ビット平
方の画像に対する第3の態様も可能である。
示す。各ワードは16ビットであり、各ビットは別々の
DRAMデバイスに存在する。換言すれば、デバイス#
1はブロック内の全1,024ラインの全64ワードの
ビット0を格納し、デバイス#1はブロック内の全1,
024ラインの全64ワードの内のビット1を格納す
る、等々である。例えば図6及び図7について言えば、
一つのデバイスの内容は水平ラインとして現れる。
ファの一つのDRAMデバイスのなかに完全に納まって
いる1のラインが回転後のバッファにおいては16ワー
ドに渡って広がってしまうことである。このことは図6
と図7を比較することにより理解できよう。図6におい
て文字”F”の上部の水平部分を構成するビットはみな
同一のデバイスに位置する。図7においてこの文字の上
記上の部分は16のデバイス、即ちワード0のビット1
からワード1のビット1までに渡って、広がっている。
仮に強引な方法で回転を行うと、回転方向のワードを構
成するビットを得るために図6におけるデバイスについ
て16回の読み込み動作を行う必要が生じる。この課題
に対するここでの解決法は、ビットのそれぞれが異なる
デバイスに存在するように、ページバッファに読み込ん
だ通りにデータを配列することである。これは各ワード
をmod16即ち”走査ラインmod16”のワードの
数分右方向(LSBの方向)に循環的にずらすことによ
り行う。つまり、ワード0のビットはデバイス0に0ビ
ットだけシフトして格納し、ワード1はデバイス1に1
ビット分シフトして格納し、・・・ワード15は15ビ
ット分シフトしてデバイス15に格納し、そしてワード
16は0ビットシフトしデバイス0に格納する。今、す
べてのデバイスは個々にアドレス可能であり、ワード各
ビットもまた個々にアドレス可能である。そして、デー
タは回転することが可能であり、回転が必要のない場合
には元の形態に戻すことも可能である。元の形態に画像
を戻すのであれば、データを単純に読み出しかつシフト
バックさせる。
アドレスされる必要がある。1ワードを記憶するために
16のデバイスが必要となるので、各RAMデバイスに
ついて異なる4つのアドレスビットがあるが、アドレス
ビットは多重構造になっているので、各デバイスに対し
放射状に2つの物理的ラインだけが必要となる。残りの
アドレスラインは全RAMについて共通である。
るために、アドレス変換が行われる。回転した仮想のペ
ージバッファアドレスをアドレス上の論理演算により実
アドレスに変換することが可能である。各RAMに移行
する放射状のアドレスラインの値を計算するために算術
演算が必要となる。読み出し操作において、RAMから
の16ビットの読み出しは、”走査ラインmod16”
の距離分、右方向に回転しなければならず、その後、そ
のワードを反転(ビット15をビット0にする等)する
必要がある。得られたデータは回転された方向における
16ビットワードである。書き込み操作においてはこの
過程は逆となる。
は図8に示したように多数のフィールドから構成され
る。仮想アドレスは24ビットのアドレスとなる。24
ビットの仮想アドレスの22ビットの実アドレスへのマ
ッピングは図9に示す方法で行う。回転した仮想アドレ
スについては、図10の方法を用いる。
も効率的なマッピングを図11に示す。このマッピング
により、各RAMについて異なる4つのアドレスビット
をCAS(行アドレス)の2つのビット上に割り当て
る。この方法では各RAMについて二つの放射状ライン
のみが必要とされる。
仮想アドレスへのマップを図12に参考として挙げてお
く。
×1Kのブロックを矩形の領域に並べることが可能であ
る。下の表は実メモリの64ブロック(64メガビッ
ト)を用いた場合の使用可能な全組み合わせを示したも
のである。以下の例では5×12のサイズのものを選択
した。
5×12、12×5及び8×8といった3つの異なるマ
ッピングに関して、制御について2ビットがPROMに
対し必要とされる。256の仮想ブロックを記述する8
ビットをそれに付加し、高速にアクセスできる1K×6
ビットのPROMが必要となる。このPROMからのア
ドレスビットはCASアドレスに移行しPROMのアク
セス時間を”隠す”。
である。512ビット×512ラインのブロックであれ
ば、矩形の画像サイズより幾分扱いやすい。しかしなが
ら、1,024の仮想ブロックの空間において256の
実ブロックが必要となる。このためには4K×8ビット
のPROMマッピングが必要となる。
の90度の回転により実行する。X及びY方向の仮想メ
モリの制御に関する回転を用いることにより、4つの9
0度回転及び鏡像を行うことが可能である。データをバ
ッファに書き込む際に回転を行う場合、データはニブル
モードでバッファから読み出すことができる。
ァにデータを書き込むときに”データを途中まで回転さ
せる”ことにより動作する。通常の動作に対しては、デ
ータは読み戻すときに”通常の位置に戻される”。回転
動作に対しては、データを読み出すに際し”残りの回転
を行う”。
と、このメモリは、行方向に沿ったワードについて、ま
たは列方向に沿ったワードについてのいずれにおいても
アクセス可能な2次元メモリアレイとして認識される。
13に示す。この例における画像10は4ブロック×3
ブロックであり、AからLによりラベルされ、一度に1
走査ライン全体が入力される。AからDに渡る第1の走
査ラインを画像の左端に沿う矢印により示す。バッファ
11は画像を包括するのに必要なだけ、もしくはそれ以
上の容量を有する必要があるが、図示してあるように、
特定の配列に限定されない。走査ラインは図示したよう
に順次バッファブロックにロードされる。
ブロック、特定の回転、この場合には時計方向に90
度、において、バッファを読み出すべき特定の順序があ
り、この順序をPROM12に記憶することができる。
図示したように、出力の行1はI、E、Aの順のブロッ
クからなり、この行をPROMの第1ラインに記憶す
る。このように、第1の出力行の第1の走査ラインをバ
ッファ13のブロックI、E、Aから取り出し、出力画
像14の第1の走査ラインを構成する。
が、本発明の意図及び範囲から逸脱することなく様々な
変形が可能である。また本件の構成要素を同等なものに
代用できることは当業者であれば理解されよう。例え
ば、各画素について1ビット以上の複数ビットあっても
よく、このような場合には数個の並列したRAMまたは
1ビット幅より大きな幅のRAMデバイスの使用が可能
であろう。異なる方向について循環シフトしたり、一つ
のブロックの列を読み出し、書き出しする際の始端を変
えることにより、別の回転やこれらの回転の鏡像を構成
することができる。データをバッファに読み込む時、ま
たはデータを読み出す時のいずれかの時点で画像画素を
再配列することが可能である。本明細書における具体例
は8 1/2×11の画像から11×8 1/2の画像への移行を仮
定したが、11×8 1/2の画像から開始し逆の工程を行う
ことも可能である。非回転ブロック配列から回転ブロッ
ク配列への変換方法については多くのハードウェア及び
ソフトウェアが存在する。更に、本発明の基本的な教示
から逸脱することなく数多くの変更が可能である。
配列を示す。
クから実ブロックへのマッピングを示す。
の別の一配列を示す。
クから実ブロックへのマッピングを示す。
す。
うに格納されているかを示す。
うに格納されているかを示す。
ジンを示す。
スと22ビット実アドレス間のマッピングを示す。
ドレスと22ビット実アドレス間のマッピングを示す。
ピングを示す。
想アドレスへのマッピングを示す。
索を使用する本発明の簡単な実施例である。
Claims (1)
- 【請求項1】 n個の画素からなる入力ラインをn列含
むブロックを最大でm個含む任意の形の入力画像を90
度回転し出力画像を作成する出力画像作成方法であっ
て、 A.入力画像データのブロックを受け取り前記入力画像
データを少なくともmブロック有するバッファに1から
mの順序で次のステップで記憶するステップと、 a.入力画像データを各n画素のラインごとに受け取る
ステップ、 b.前記入力ラインを、mod nのブロックラインの
数分循環的にシフトするステップ、及び c.バッファメモリの対応ブロックの対角ラインに沿っ
てデータの前記入力ラインを記憶するステップ、 B.バッファのブロックから出力n画素ラインを読み出
す順番を決定するステップと、 C.画像データの前記出力ラインにアクセスし出力す
る、次のステップを含むステップと、 a.次に出力されるべきバッファの出力ラインを決定す
るステップ、 b.前記バッファからの前記データ出力ラインにアクセ
スするステップ、及び c.バッファのmod nのブロックラインの数分各ラ
インを循環的にシフトさせ、各出力ラインを回転後の出
力画像として出力するステップ、 を含む出力画像作成方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81185491A | 1991-12-23 | 1991-12-23 | |
US811854 | 1991-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05307601A true JPH05307601A (ja) | 1993-11-19 |
JP3151788B2 JP3151788B2 (ja) | 2001-04-03 |
Family
ID=25207776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35464492A Expired - Fee Related JP3151788B2 (ja) | 1991-12-23 | 1992-12-15 | 矩形原画像の回転方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0549316B1 (ja) |
JP (1) | JP3151788B2 (ja) |
DE (1) | DE69231090T2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485281A (en) * | 1992-07-31 | 1996-01-16 | E. I. Du Pont De Nemours And Company | Raster image processing with pixel mapping to allow image border density allocation |
EP0582824A2 (en) * | 1992-07-31 | 1994-02-16 | E.I. Du Pont De Nemours And Company | Orthogonal image rotation using matrix transposition |
US6226016B1 (en) * | 1996-02-05 | 2001-05-01 | Seiko Epson Corporation | Display apparatus and method capable of rotating an image by 180 degrees |
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 |
US8395630B2 (en) | 2007-01-02 | 2013-03-12 | Samsung Electronics Co., Ltd. | Format conversion apparatus from band interleave format to band separate format |
KR101037624B1 (ko) * | 2009-06-19 | 2011-05-30 | (주)실리콘화일 | 메모리를 사용하지 않고 구현되는 이미지 회전 방법 및 장치 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2183118B (en) * | 1985-11-19 | 1989-10-04 | Sony Corp | Image signal processing |
JPH01171067A (ja) * | 1987-12-26 | 1989-07-06 | Fanuc Ltd | アドレス変換回路 |
US5111192A (en) | 1989-12-20 | 1992-05-05 | Xerox Corporation | Method to rotate a bitmap image 90 degrees |
-
1992
- 1992-12-15 JP JP35464492A patent/JP3151788B2/ja not_active Expired - Fee Related
- 1992-12-21 DE DE1992631090 patent/DE69231090T2/de not_active Expired - Fee Related
- 1992-12-21 EP EP19920311679 patent/EP0549316B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69231090T2 (de) | 2000-09-28 |
EP0549316A3 (ja) | 1994-03-09 |
JP3151788B2 (ja) | 2001-04-03 |
EP0549316B1 (en) | 2000-05-24 |
DE69231090D1 (de) | 2000-06-29 |
EP0549316A2 (en) | 1993-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5956049A (en) | Hardware that rotates an image for portrait-oriented display | |
US5111192A (en) | Method to rotate a bitmap image 90 degrees | |
US7333097B2 (en) | Display apparatus and method capable of rotating an image | |
EP2446413B1 (en) | Apparatus and method for displaying a warped version of a source image | |
US6297857B1 (en) | Method for accessing banks of DRAM | |
US5613018A (en) | Page buffer rotator | |
US8762686B2 (en) | Multimode accessible storage facility | |
EP0549313B1 (en) | N-bit wide parallel rotation algorithm | |
US5361339A (en) | Circuit for fast page mode addressing of a RAM with multiplexed row and column address lines | |
JP3151788B2 (ja) | 矩形原画像の回転方法 | |
KR20000039714A (ko) | 텍스처 매핑시스템 | |
US8400529B2 (en) | Buffer memory for rotating image, image capture device and display device including the same | |
US20030231176A1 (en) | Memory access device, semiconductor device, memory access method, computer program and recording medium | |
US6680736B1 (en) | Graphic display systems having paired memory arrays therein that can be row accessed with 2(2n) degrees of freedom | |
EP0549309B1 (en) | Address reduction scheme implementing rotation algorithm | |
US7107425B2 (en) | SDRAM controller that improves performance for imaging applications | |
KR950033862A (ko) | Ram과의 인터페이스 방법 및 장치 | |
JPH07110786A (ja) | 半導体記憶装置 | |
JP2633251B2 (ja) | 画像メモリ素子 | |
JPH061449B2 (ja) | 画像編集用イメ−ジメモリ | |
JPS6353795A (ja) | 多次元アクセス半導体メモリ | |
JPH09259035A (ja) | 画像変換処理用半導体記憶装置 | |
JPS63255778A (ja) | 画像処理装置 | |
JPH03280088A (ja) | 画像表示システムおよび画像メモリへのベクタの高速描画方式 | |
JPH07320053A (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: 20001226 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100126 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |