JPH0697462B2 - 画像回転方法 - Google Patents

画像回転方法

Info

Publication number
JPH0697462B2
JPH0697462B2 JP60062561A JP6256185A JPH0697462B2 JP H0697462 B2 JPH0697462 B2 JP H0697462B2 JP 60062561 A JP60062561 A JP 60062561A JP 6256185 A JP6256185 A JP 6256185A JP H0697462 B2 JPH0697462 B2 JP H0697462B2
Authority
JP
Japan
Prior art keywords
image
data
shift
rotation
image data
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 - Fee Related
Application number
JP60062561A
Other languages
English (en)
Other versions
JPS61221881A (ja
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP60062561A priority Critical patent/JPH0697462B2/ja
Publication of JPS61221881A publication Critical patent/JPS61221881A/ja
Publication of JPH0697462B2 publication Critical patent/JPH0697462B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ワード構成を有する画像を回転する方法にあ
って、1回のメモリアクセス単位を総てワード単位で処
理することができると共に、画像を任意の角度で歪みを
生じることなく高速に回転処理を行なうことができる画
像回転方法に関する。
〔従来の技術〕
従来の画像回転装置として、例えば、特開昭55−95145
「図形の回転方法」、特開昭57−89171「画像処理装
置」、情報処理学会第25回全国大会(昭和57年後期)武
田他「2次元ブロック転送による画像傾き補正方式」、
情報処理学会第26回全国大会(昭和58年前期)武田他
「2次元ブロック転送による高速画像回転方式」等があ
る。
従来、2次元パターンの回転については、アフィン変換
を行なう方式が一般的である。このアフィン変換を利用
する方式は、次式により座標変換を行なうものである。
但し、x,yは旧座標系、X,Yは新座標系、θは回転角を示
す。
回転するべき2次元パターンの各ピクセル位置座標(x,
y)を、(1)式に代入して、変換新座標(X,Y)を求
め、旧座標(x,y)におけるピクセル値を、新座標(X,
Y)に置換することにより、回転変換が行なわれる。変
換新座標(X,Y)が共に整数値でない、即ち格子点上に
なければ、(X,Y)に最も近い格子点(X0,Y0)をあらた
めて変換新座標として旧座標(x,y)におけるピクセル
値を新座標(X0,Y0)に置換することにより、回転変換
が行なわれる。(1)式についての詳細は、例えば広川
書店刊の代数学および幾何学(著者和田秀三氏、寺田文
行氏)の137ページ〜138ページに述べられている。
なお具体例としては、グラフィックディスプレイに具備
されている図形処理機能の1つとして公知の回転座標発
生回路がある。正弦余弦演算回路、マトリクスレジスタ
群およびマトリクス乗算回路より成り、回転角θの入力
により正弦余弦演算回路から得られるsinθ,cosθに基
づき、(1)式におけるマトリクス をマトリクスレジスタ群に置数する。次に2次元パター
ンの旧座標(x,y)と、前記マトリクスレジスタの内容
を、マトリクス乗算回路に入力し、出力として新座標
(X,Y)を得ることができる。
しかしながらこの方法では、掛算器を用いて2次元パタ
ーンの各ピクセル毎に(1)式の演算を行なわねばなら
ず、演算時間が大になり、高速に回転2次元パターンを
得ることができなかった。また、回路が複雑化する不具
合があった。
これを解決すべく特開昭55−95145においては、記憶さ
れた2次元パターンを任意の角度回転した回転2次元パ
ターンを得る方法において、前記記憶された原2次元パ
ターンを、水平方向に対して予め指定した角度をもって
走査し、順次垂直方向に移動して第1の読み出しを行
い、かつ水平方向に走査し、順次垂直方向に移動して前
記第1の読み出し信号を記憶再構成し、さらに前記角度
をもった走査に対して垂直な角度をもって走査し、順次
水平方向に移動して第2の読み出しを行い、かつ垂直方
向に走査し、順次水平方向に移動して前記第2の読み出
し信号を記憶再構成することにより回転2次元パターン
を得る方法が提案されている。
また、特開昭57−89171においては、或る画像を回転さ
せた画像の画像データを得るための画像処理装置であっ
て、前記画像の画像データを入力するための画像データ
入力手段、前記画像データ入力手段によって入力される
画像データを符号化して圧縮するための画像データ符号
化手段、前記回転のための回転中心データおよび回転角
度データを入力するための回転データ入力手段および、
前記入力される回転データに基づいて前記符号化された
画像データを処理して前記回転させた画像の画像データ
を出力するための符号化データ処理手段を備えて構成さ
れ、斜め走査を行なって掛算を行なうことなく回転パタ
ーンを得る装置が提案されている。
〔発明が解決しようとする問題点〕
しかし、従来の画像回転装置にあっては、引例1の場合
には傾斜が大であると複数ワードにまたがるために回転
角が大になると画像歪が出ることから、回転角が微小な
範囲に限られ、かつ、アドレスをビット単位で制御する
必要があるため、利用範囲が狭く、かつ構成が複雑にな
る不具合がある。また引例2(特開昭57−89171)の場
合には回転処理に際して画像の符号化及び復号化を行な
う必要があるほか、ワード構成であっても全ドットに対
して処理しなければならないため、構成が複雑になると
共に処理時間が多大となる。しかも、画像内容によって
は画像を符号化する際にデータ量が増加することもあり
処理時間が増大する不都合がある。また、引例3及び4
は引例1の改良型に相当するが、処理を1ビット単位で
制御するものであるため、アドレス制御部の構成が複雑
になる不具合がある。
〔問題点を解決するための手段及び作用〕
本発明は、上記に鑑みてなされたものであり、掛算処理
及びビット処理を不要にしてワード単位で処理ができ、
且つ画像を任意の角度へ歪みを生じさせることなく高速
に回転できるようにするため、回転角θが与えらえたこ
とをもって画像データを角度θシフトさせ、シフトさせ
た画像データを回転角θによって定まる拡大率で副走査
方向の拡大を行なったのち、拡大された画像データを90
度回転して主走査方向と副走査方向を入れ換え、ついで
90度回転した画像データを回転角θによって定まる縮小
率で縮小ののち該縮小した画像データを角度θシフトさ
せて斜交軸交換を行う画像回転方法を提供するものであ
る。
〔実施例〕
以下、本発明による画像回転装置を詳細に説明する。
本発明の実施例を説明する前に本発明の原理を説明す
る。
前述したように、回転の座標変換は(1)式の様に表わ
すことができる。(1)式は図形を固定して座標軸を変
換した場合を示しているが、以後の説明ではわかりやす
くするため、座標軸は元の直交座標系のまま固定し、図
形の方を変換させて記述する。まず、点(X0,Y0)をθ
だけ回転させた点(X1,X1)は次の様に表される。
なお、角度θの範囲としては、−45゜θ45゜で十分
である。
特に、|θ|>45゜の場合には、90度回転回路と本発明
の処理法を組合せることにより実現できる。即ち、全回
転角をθとし、本発明による回転角をθ(−45゜θ
45゜)とすると、 θ=l・90+θ(但し、l=0,±1,……)で実現する
ことができる。従って、以下の説明では、−45゜θ
45゜の範囲でθを扱うものとする。
次に、第3図に示すように、ライン毎にtan(−θ)だ
け斜交軸の変換(即ち、副走査方向の位置によって1ラ
イン毎にtanθを加算)し、その結果だけシフトを行な
う(ここでは、反時計回りのθを正としている)。
次に、(5)式に従って第4図に示すようにシフトした
図形を1/cosθを順次加算し、その値Aが桁上りしたと
きにラインを1本挿入して、y軸(副走査)方向へ拡大
する。
ここで拡大した図形を垂直方向にシフトさせるために、
第5図の如くに90゜回転する。
ここで、第6図に示す様に、90゜回転した図形をy軸
(副走査)方向をcosθ倍し、元図のx方向の縮小をラ
インの間引きを行なうことにより実施する。縮小率を順
次加算してゆき、桁上がりが生じなかったときに間引き
を行なう。
次に、縮小した図形をtan(−θ)だけ、第7図に示す
ように斜交軸変換する(第3図における変換を元に戻す
為の処理)。
異所の処理によって(90゜−θ)の画像の回転が行われ
る。
さらに、斜交軸変換された図形を第8図のように−90度
(または、+270度)回転させる(第5図における90゜
回転を戻すための処理)。
ここで、(4),(5),(6),(7),(8),
(9)式により、 つまり、 となり、斜交軸変換、拡大・縮小90゜回転により任意角
度の回転が行なわれる。
尚、90゜回転と−90゜回転は順序を入れ変えてもよい。
このとき、マトリクスの演算は以下の様になる。
となり、斜交軸変換、拡大、−90゜回転、縮小、斜交軸
変換、90゜回転により任意角度の回転が行われる。
説明はθ<0の場合について行なったが、θ>0の場合
でも同様である。また、以上の説明では各処理を全て分
けて行なったが、実際には斜交軸変換と拡大、縮小と斜
交軸変換等を同時に行なうことが可能である。つまり、
(4),(5)式は、 に(7),(8)式は の如くに置き換えて処理することができる。
第2図は本発明が適用される編集装置の一例を示すもの
であり、文書等の原稿をCCD等を用いて読み取り、その
画像信号を2値のディジタル信号で出力する画像入力装
置1と、装置の中核を成し設定されたプログラムに従っ
て編集処理を実行するCPU2と、画像メモリに格納された
イメージデータに対し本発明による処理方法によって回
転処理を施す画像装置3と、処理中及び処理後の画像を
表示するCRT4と、各種の指令を入力するキーボード5
と、画像入力装置1より入力した画像データ及び回転処
理後の画像データを記憶する画像メモリ6a及び6bと、回
転処理を施して編集した画像をハードコピーする画像出
力装置7と、各装置間に接続されてデータ転送が行なわ
れるデータバス8とより構成される。
第1図は本発明の一実施例を示し、第2図の画像回転装
置3に相当するものである。本発明における画像回転装
置3は、画像メモリ6a,6b、後述するイメージシフト部3
b及びイメージ90゜回転部3cに対するアドレス及びリー
ド・ライトの制御を行なう制御部3aと、イメージをライ
ン(主走査)方向に0から(W−1)ビットの範囲でシ
フトするイメージシフト部3bと、イメージを90゜回転さ
せるイメージ90゜回転部3cとより構成されて、斜交軸変
換処理、拡大・縮小処理及び90゜回転処理の各々を実行
し、任意の角度だけ画像を回転させる。
第9図はイメージシフト部3bの詳細を示し、シフト数を
設定するレジスタ10と、シフトすべきデータをセットす
るデータレジスタ11と、データを設定ビット数だけ循環
させる循環シフト回路12と、シフトによってあふれたビ
ットを次のデータと結合させるために次回までラッチす
るデータラッチ13と、前回あふれたデータと今回あふれ
ずにシフトされたデータをセレクトして1ワードとする
データセレクタ14と、データセレクタ14を制御するセレ
クタ制御回路15と、シフトされたデータを出力するバス
ドライバ16とより構成される。レジスタ10及び11はラッ
チ回路等を用いて構成され、イメージプロセッサの書込
み信号等でデータをラッチする。
第10図は循環シフト回路12の構成を示し、4組のセレク
ト回路12a,12b,12c,12dによって構成される。本構成に
おいては右シフトされる。S0〜S3の信号はシフト数設定
レジスタ10の出力であり、S0がLSB、S3がMSBとなってい
る。つまり、S0〜S3の値によって2進数でシフト数で示
されることになり、S0=Lなら1ビットシフト部はシフ
トせず、S0=Hなら1ビットシフトする。つまり、Si
(i=0〜3)がLならセレクタのA入力がYに出力さ
れ、HならB入力が出力される。6ビットシフトの場
合、S0=L,S1=H,S2=H,S3=Lとなり、データは第11図
に示すように、循環シフト回路12の中を伝わってゆく。
データラッチ回路13は16ビット(実際には15ビットでも
可。この場合L15〜L1でよい。)のデータラッチ回路で
あり、イニシャル時にはラッチデータをクリアできる。
ラッチするタイミングは、イメージプロセッサが画像シ
フト回路からのデータ読出し終了時である。
次にデータセレクタ14について述べる。第12図にその構
成を示す。2入力のセレクタが16(15でも可)個並列に
構成してある。入力のRは循環シフト回路12の出力、入
力のLはラッチ回路の出力であり、出力M15〜M0は出力
バスドライバに接続されている。SEL入力に入力されて
いるC15〜C0はセレクタ制御回路15から供給されてい
る。SEL入力=LのときはA入力(R)がセレクトさ
れ、SEL入力=HのときはB入力(L)がセレクトされ
る。
次にセレクタ制御回路15について説明する。この回路は
ゲートやROM等で実現可能である。第13図にはROMで実現
した場合について示す。また下表にROMの内容について
示す。入力信号S3〜S0はシフト数セット回路より供給さ
れる。つまり、シフト数に従ってラッチデータをセレク
トする数が増加する。また、ROM出力を見るとわかる
が、C0はつねに0なので第12図のセレクタが1つ不要に
なる。つまり、R0=M0としてよい。従ってラッチ回路及
びセレクタ制御回路15のLSBも不要になり各15ビットで
構成可能である。
第9図における動作を第14図を参照して説明する。第14
図においては、1ワード6ビットで3ビット右シフトし
た場合について示してある。元の1ラインのデータを1
ワード入力すると出力には設定ビット数だけシフトした
データが出力される。シフトされてあふれたデータはラ
ッチされている。次の1ワードが入力されるとこれも設
定ビットだけシフトされる。ここで前回ラッチされてい
たデータと、シフトしてあふれなかったデータとがセレ
クトされ、1ワードとして出力される。あふれた分は次
のワードのためにラッチされる。以下、このような動作
が繰り返されて入力データが順に設定ビット数だけシフ
トして出力される。結果として、1ラインが指定ビット
数だけシフトされる。1ワード以上や別ラインへのシフ
トもある時はアドレス制御を行なう。
次に、イメージ90゜回転部3cについて詳述する。
第15図及び第16図(イ)〜(ホ)はイメージ90゜回転部
3cの詳細を示し、第15図は回路本体の構成、第16部
(イ)〜(ホ)は画像メモリを6a,6bの記憶内容を示す
ものである。
まず、イメージ90゜回転部3cの概略動作について説明す
る。ワードの各ビットに対応するシフトレジスタ(した
がってシフトレジスタはW本ある。)にWワード連続に
シフトインする。シフトインの方向は+90゜回転あるい
は−90゜回転に応じてシフトレジスタのLSB側からMSB側
から入力させる。Wワードシフトインされた所で回転方
向に応じて順にW個のシフトレジスタから並列読出しを
W回繰り返す。画像全体を90゜回転させる為には、でき
あがったWビット×Wワードの回転像をそのブロックが
回転後に入るべきアドレスへ転送すればよい。これを画
像全体について行なえばよい。
次に、第15図及び第16図(イ)〜(ホ)に基づいて回路
を詳述する。第16図から明らかな通り、画像メモリ6a,6
bに貯蔵される画像は8×8の画素から成り、第16図
(イ)はこれをビデオ画像として示したもので、白地に
黒で描かれたRの文字を読み取ることができる。同図
(ロ)は、同図(イ)の白部分を0、黒部分を1に置換
し、2進符号群として表示された画像データで、画像メ
モリ3の記憶内容そのものであり、また、8行8列のマ
トリクスとみなすことができる。このマトリクスの第1,
第2,第3,……,第8行(row)をなす数列をそれぞれ1B,
2B,3B,……,8Bとすれば、これらはそれぞれ1バイトの
データの構成し、その内容は、それぞれ横方向に配列さ
れたデータD7,D6,D5,……,Dφにより特定される。これ
を行マトリクス(row matrix)の形で表示すれば、 と書くことができる。後述する通り、画像メモリ6a,6b
からのデータの読み出し又は画像メモリ6へのデータの
書込みは上記各行のデータ(この場合は1バイトのデー
タ)を1単位として行なわれる。なお、第16図(ロ)の
データを左の列から縦方向に読んで得られる数列は、そ
れぞれ、列にマトリクス(column matrix)を構成する
ということができる。
第15図の20a〜20hはそれぞれ8ビットの8箇の3ステー
トシフトレジスタであり、後述する通りCPU2よりの指定
により、データのシフト方向は左シフト又は右シフトに
切り換えることができ、1列に並んで8×8の画像レジ
スタ20を構成し、これに貯蔵された画像データ(2進符
号群)も8行8列のマトリクスを構成する。21はCPU2か
らアドレスバス100を経由して送られてくるメモリアド
レス信号に基づいてシフトレジスタ20a〜20hのうちの何
れか1つを選択するデコーダ、110は同じくCPU2から画
像レジスタ20へ向けで発せられる書き込み信号WR、読出
し信号RD及びデコーダ21入力側のCS端子向けて発せられ
るチップ選択信号CSを伝送するアドレスバス、22はデコ
ーダ21のCS端子にチップ選択信号CSが入力している場合
に限り、書き込み信号WRをシフトレジスタ20a〜20hへ向
けて伝達する役割を果たすゲート回路である。
前述のアドレスバス100は回線100a,100b,100c及び100d
の4回線により構成され、そのうち、100a,100b,100cは
3ビットの並列2進符号で構成されたメモリアドレス信
号を伝送し、それぞれ、デコーダ21入力側のA,B,C端子
に接続される。また、100dはシフトレジスタ20a〜20hの
L/R端子の全てに並列的に接続され、各シフトレジスタ2
0a〜20hはこれにより伝送される信号Aφが1の場合は
左シフトのシフトレジスタとして、0の場合には右シフ
トのシフトレジスタとしてそれぞれ機能する。8は画像
メモリ6及び画像レジスタ20の間で交換される画像デー
タを伝送するデータバスで、第17図に示す通り9a〜9hの
8回線で構成され、各シフトレジスタ20a〜20hの入力端
子(DL及びDR端子)はそれぞれ回線8a〜8hに、また、同
出力端子Oφ〜O7はそれぞれ回線8a〜8hに接続される。
次に、各チップ21及び20a〜20hの機能について説明す
る。まず、第17図に示すシフトレジスタ20x(xはa〜
hのうちの何れか)の入力端子DL及びDRには画像メモリ
6からデータバス8中の回線8xを通じて画像データが並
列2進符号として入力するが、このデータはシフトレジ
スタ20xが左シフトのときはDL端子から、右シフトの場
合にはDR端子からそれぞれシフトレジスタ20xの内部に
取り込まれる。またD′φ〜D′7はシストレジスタ20
x内に貯蔵されたデータであり、それぞれ、出力端子
O′φ〜O′7を通じてデータバス8内の回線8a〜8hへ
向けて並列2進符号として出力される。CKはクロック信
号の入力端子であり、チップ選択信号CS(この回線を選
択する信号)と書き込み信号WRの入力端子である。CE端
子はチップ・エネイブル端子と呼ばれるもので、この端
子にデコーダ21の出力端子Oxから信号1が入力する場合
に限り、シフトレジスタ20xは読出し信号RDに反応し、
シフトレジスタ20xのO′φ〜O′7を通じてデータバ
ス8内の回線8a〜8fへ出力する。従って、この場合、CE
端子はチップ選択端子と同様に機能すると考えて差支え
ない。なお、L/R端子の機能については既に説明した。
なお、第17図に示すとおり、シフトレジスタ20xのデー
タシフトレジスタ方向が左シフトの場合はデータはシフ
トレジスタ20x自身よりみて左側(同図矢印方向)にシ
フトするものであり、第15図または第17図に示すような
実装状態では読者よりみて下側へ向けてシフトする。
次に、デコーダ21入力側のA,B,C端子は、アドレスバス1
00内の3回線100a、100b及び100cを通じて3ビットの並
列2進符号として送られてくるメモリアドレス信号の入
力端子であり、入力信号の内容に応じてその出力端子O
φ〜O7中の何れか1端子からのみ信号1が出力され、他
の出力端子からの出力は0である。G1及びG2はそれぞ
れ、読出し信号RD及びチップ選択信号CS(チップ21を選
択する信号)の入力端子である。
以上の構成において、最初にアドレスバス100内の回線1
00dを通じ信号Aφ=1が入力し、これが各シフトレジ
スタ20a〜20hのL/R端子に伝達されるため、全シフトレ
ジスタは左シフトレジスタとして機能するようになる。
次に、第16図(ロ)に示すように画像メモリ6の内に貯
蔵された画像データのうち第1行のデータ1B〔0111100
0〕が読み出され、データバス8内の回線8a〜8hを通じ
てシフトレジスタ20a〜20hの入力端子(DL及びDR端子)
に並列的に入力する。次にクロック信号に同期する書き
込み信号WRがコントロールバス11を通じて伝送され、ゲ
ート回路22を通じてシフトレジスタ20a〜20hのCK端子に
入力する。従って、回線8aを通じて伝達された信号(こ
の場合は0)はシフトレジスタ20hの入力端子DLを通じ
てその内部に取り込まれ、データD′φとして書き込ま
れる。この状態を第18図(イ)に示す。次に、同様の操
作により画像メモリ6のデータ(第16図(ロ)の第2行
のデータ2B〔01000100〕が読み出され、シフトレジスタ
20a〜20hに並列にデータD′φとして書き込まれるが、
既に記入されているデータ1Bは左側(第15図及び第17図
の矢印方向)にシフトするため、画像レジスタ20内のデ
ータ配列の状態は第18図(ロ)に示す通りとなる。以
下、引き続き像メモリ6のデータ(第16部(ロ))は第
3,第4,……,第8行の順(3B,4B,……,8Bの順)に読み
出され、シフトレジスタ20a〜20hに書き込まれ、全作業
が完了したとき、画像レジスタ20内データ配列の状況は
第16図(ハ)に示す通りである。
ここで画像レジスタ20内に配列されたデータ(第16図
(ハ))を改めて8行8列のマトリクスとみなし、第1,
第2,……,第7,第8列のデータをそれぞれ8B′,7B′,
……,2B′,1B′とすれば、これらは各々1バイトのデー
タを構成し、その内容は第16図(ハ)に示すデータD′
φ,D′1,……,D′6,D′7により特定され、それぞれシ
フトレジスタ20a〜20h内に貯蔵されている。これを列マ
トリクス(column matrix)の形で表示すれば、 次に、デコーダ21入力側のA,B,C端子にメモリアドレス
信号000が入力しかつ、読出し信号RDがデコーダ21入力
側のG1端子に入力し、同出力側のOφ端子から信号1が
出力してシフトレジスタ20hのCE端子に機能するように
なる。このとき、他のシフトレジスタ20a〜20gは機能し
ない。シフトレジスタ20h内のデータ(すなわち、第16
図(ハ)の第8列のデータ1B′「00000000」)が同出力
端子O′φ,O′1,O′2,……,O′7から並列2進符号と
して読み出され、データバス8の各回線8a〜8hを通じて
画像メモリ6へ向けて伝送されて、ここの第1行のデー
タ1Bとして書き込まれる(第16図(ニ)第1行)。その
後、引き続き画像レジスタの第7,6,5,……,1行のデータ
2B′,3B′,4B′,……,8B′が次々とシフトレジスタ20
g,20f,20e,……,20aから読み出され、それぞれ、画像メ
モリ6の第2,第3,第4,……,第8行のデータ2B,3B,4B,
……,8Bとして書き込まれていく。この作業が完了した
ときの画像メモリ6内のデータ配列は第16図(ニ)に示
す通りとなり、これをビデオ図形として示したものが第
16図(ホ)である。画像の向きは当初の状態(第16図
(イ))から反時計廻り方向に90゜回転され、所定の目
的は達成されている。
画像レジスタ20の各シフトレジスタ20a〜20hを右シフト
のシフトレジスタとして機能させるときは、同様の操作
により画像の向きを時計廻り方向に90゜回転させること
ができる。また、第15図の構成においては各シフトレジ
スタ20a〜20hには直列入力並列出力型のものが用いられ
ているが、並列入力直列出力型の用いてもこの回路を構
成することができる。
次に、第1図に示す画像回転装置の全体の動作について
説明する。ここでは、斜交軸変換と拡大、斜交軸変換と
縮小を同時に行なう場合について説明する。尚、以下の
説明では、(−45゜θ45゜)の範囲にθがあるもの
とする。今、角度θだけ画像を回転させるものとする
と、以下の4ステップの処理過程によって回転を実行す
ることができる。第1ステップ……斜交軸変換tanθと
副走査方向拡大 原画の行番号をi、i行目のシフト量をS(i)、変換
後の行番号をjとすると(i,j=0,1,……)、 S(i)=[tanθ×i+a] ……(12) [ ]はガウス記号で、[ ]内の値を越えない最も大
きい整数を求める。
i=[cosθ×j+b] ……(13) となる変換を行なえばよい。ここでa,bは0a,b<1.0
の値である。
a,bの値によって四捨五入、切捨、切上げ等が決定でき
る。(12)式、(13)式の変換式でiを0から最終ライ
ンまで順番に処理を繰り返せばよい。イメージシフト部
3bではシフト可能なビットは(W−1)までなので、そ
れを越える場合は制御部3aで転送先のアドレスを制御し
て、正しいアドレスに転送する。つまり、S(i)=A
(i)×W+B(i)と分解できる。A(i)は制御部
3aでシフトさせるワード数、B(i)はイメージシフト
部3bでシフトさせるビット数である。
(12)式、(13)式を各ライン毎に解くのでは処理時間
がかかるので、任意のビット数の加算器を2セット用意
し、1つはシフトビット用、もう1つは拡大用とし、シ
フトビット用にはtanθを、拡大用には を原画の1ライン進む毎に加算する(第3図及び第4図
の処理)。実際に加算する数は加算器がmビットであれ
ば[tanθ×2である。ここで、シフトビット用の加算器で桁上りが発
生すればシフトビット数を+1する。拡大用の加算器で
桁上りが発生すれば同じラインを挿入する。第19図に処
理例を示す。
第2ステップ……第5図の処理に相当し、90゜回転部3c
を用いて、第1ステップでできた斜交拡大図を90゜回転
する。
第3ステップ……第6図及び第7図の処理に相当し、副
走査方向縮小角をcosθとし、斜交軸変換角をtanθと
し、原画の行番号i、変換後の行番号j、i行目のシフ
ト量をS(j)とすると(i,j=0,1,……)、 j=[cosθ×i+c] ……(14) S(j)=[tanθ×j+d] ……(15) (0c,d<1.0) となる変換をi=0から最後まで繰り返せばよい。ま
た、Wビット以上のシフトはアドレス制御で行なう。ま
た、この場合も(14)式,(15)式を解かずに処理を行
なうには、第1ステップと同様に加算器を2セット用意
し、1つは縮小用、1つはシフトビット用にする。縮小
用にはcosθを原画で1ライン進む毎に加算し、桁上り
が発生したら、その時の原画の1ラインをシフトさせて
転送する。それと同時に、シフトビット用加算器にtan
θを加算する。その時桁上りがあれば、シフトビットを
1つ増加させておく。以下これを繰り返す。
第4ステップ……90゜回転部3cを用いて、第3ステップ
でできた縮小斜交図を−90゜回転する(第8図の処理に
相当)。
以上の4ステップにより、画像をθだけ回転させること
が可能となる。
尚、以上の説明では、入力装置から読み込んだ画像デー
タについて回転処理をする例を示したが、この他、例え
ば、キャラクタジェネレータ用のメモリ内に格納されて
いる文字パターンに対しても適用可能である。従って、
CAD等の装置において、或る角度をもって傾いている文
字を発生させる処理も容易に可能である。
また、実施例では原画サイズを変えないで回転させた
が、(5)式及び(7)式を次のように変更すると、 ただし、cは拡大・縮小率である。
(16)式及び(17)式より明らかなように、原画像を任
意の倍率で拡大・縮小させてθだけ回転することが可能
になる。ここで、(16)式、(17)式の変換は(5)式
及び、(7)式の変換の cosθの項を変換するのみでよく、処理の手順、複雑さ
は前述の説明と全く変わらない。
〔発明の効果〕
以上説明した通り本発明の画像回転方法によれば、斜交
軸の変換、副走査方向の拡大・縮小及び90度回転処理を
行なって画像の回転を行なうようにしたため、データを
ワード単位で高速に且つ任意角への回転を歪みなく行な
うことができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
本発明が適用される編集装置の一例を示すブロック図、
第3図乃至第8図は本発明の処理原理を示す説明図、第
9図は本発明に係るイメージシフト部3bの詳細ブロック
図、第10図はイメージシフト部3cを構成する循環シフト
回路12の構成を示すブロック図、第11図は循環シフト回
路のシフト動作説明図、第12図はイメージシフト部3cを
構成するデータセレクタ14の詳細回路図、第13図はイメ
ージシフト部3cを構成するセレクタ制御回路15の詳細回
路図、第14図はイメージシフト部3cの動作を示す動作説
明図、第15図はイメージ90゜回転部3cの詳細ブロック
図、第16図(イ)〜(ホ)は画像メモリ6a,6bの記憶内
容を示すデータ配列図、第17図は第15図に示すシフトレ
ジスタの動作説明図、第18図(イ),(ロ)は画像レジ
スタへの画像データの書き込みの状態を示す説明図、第
19図は本発明における斜交軸変換と拡大の同時処理の説
明図。 符号の説明 3……画像回転装置、3a……制御部、 3b……イメージシフト部、3c……イメージ90゜回転部、 8……データバス、9……アドレスバス、 10……レジスタ、11……データレジスタ、 12……循環シフト回路、13……データラッチ、 14……データセレクタ、15……セレクタ制御回路、 16……出力バスドライバ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】主走査方向に配列された所定のワードから
    なる走査線が副走査線方向に所定の複数ライン配列され
    て構成される画像データを画像メモリに記憶し、この画
    像メモリに記憶された画像データをワード単位で編集処
    理して回転させる画像回転方法において、 入力された画像データを回転角θおよび副走査方向の位
    置によって走査線毎に定まるシフト量でシフトし、 前記シフトした画像データを前記回転角θによって定ま
    る拡大率で拡大し、 前記拡大した画像データを90度回転し、 前記90度回転した画像データを前記回転角θによって定
    まる縮小率で縮小し、 前記縮小した画像データを前記回転角θおよび副走査方
    向の位置によって走査線毎に定まるシフト量でシフト
    し、 前記シフトした画像データを−90度回転する ことを特徴とする画像回転方法。
  2. 【請求項2】前記シフト量は回転角θの正接(tanθ)
    および副走査方向の位置によって定まる特許請求の範囲
    第1項記載の画像回転方法。
  3. 【請求項3】前記拡大する際の拡大率は副走査方向に回
    転角θの余弦の逆数(1/cosθ)倍であり、前記縮小す
    る際の縮小率は副走査方向に回転角θの余弦(cosθ)
    倍であることを特徴とする特許請求の範囲第1項または
    第2項記載の画像回転方法。
JP60062561A 1985-03-27 1985-03-27 画像回転方法 Expired - Fee Related JPH0697462B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60062561A JPH0697462B2 (ja) 1985-03-27 1985-03-27 画像回転方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60062561A JPH0697462B2 (ja) 1985-03-27 1985-03-27 画像回転方法

Publications (2)

Publication Number Publication Date
JPS61221881A JPS61221881A (ja) 1986-10-02
JPH0697462B2 true JPH0697462B2 (ja) 1994-11-30

Family

ID=13203814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60062561A Expired - Fee Related JPH0697462B2 (ja) 1985-03-27 1985-03-27 画像回転方法

Country Status (1)

Country Link
JP (1) JPH0697462B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62177675A (ja) * 1986-01-31 1987-08-04 Fujitsu Ltd 画像処理装置
JPH01131971A (ja) * 1987-11-18 1989-05-24 Hitachi Ltd 画像のアフィン変換処理方法および装置
JPH02165006A (ja) * 1988-12-19 1990-06-26 Sankyo Seiki Mfg Co Ltd 画像計測装置

Also Published As

Publication number Publication date
JPS61221881A (ja) 1986-10-02

Similar Documents

Publication Publication Date Title
JPS6158083A (ja) 高速メモリ−・システム、デ−タ処理方法及びメモリ−・セグメント
JPS6235679B2 (ja)
US4224600A (en) Arrays for parallel pattern recognition
JPH0697462B2 (ja) 画像回転方法
JPH0370431B2 (ja)
JPH0481231B2 (ja)
US6195463B1 (en) Multiresolution image processing and storage on a single chip
JP4828006B2 (ja) 画像処理装置
KR100276793B1 (ko) 부화소 마스크 생성장치
JPH026106B2 (ja)
JP2753349B2 (ja) 任意角回転画像データ入出力方法及びその入出力回路並びにこれらを用いた電子ファイル装置
JPH028336B2 (ja)
JP2855899B2 (ja) 機能メモリ
JP3009483B2 (ja) 画像処理装置
Tabata et al. High‐speed rotation of digital images by raster scanning and table‐lookup operations
JP3227237B2 (ja) 符号化装置
JP2904433B2 (ja) 画像パターンデータ拡張方法
JP2647073B2 (ja) 図形表示装置
JP2974596B2 (ja) カラー画像処理装置
JP2824976B2 (ja) 2次元配列データ回転装置
JP2862498B2 (ja) 画像処理方法
JP2557630B2 (ja) 画像縮小装置
Fountain et al. The CLIP4S system
JPS6125192B2 (ja)
JPS61201350A (ja) 画像編集用イメ−ジメモリ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees