JPH07262364A - 画像処理装置およびその方法 - Google Patents

画像処理装置およびその方法

Info

Publication number
JPH07262364A
JPH07262364A JP6054109A JP5410994A JPH07262364A JP H07262364 A JPH07262364 A JP H07262364A JP 6054109 A JP6054109 A JP 6054109A JP 5410994 A JP5410994 A JP 5410994A JP H07262364 A JPH07262364 A JP H07262364A
Authority
JP
Japan
Prior art keywords
address
data
memory
image data
read
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.)
Withdrawn
Application number
JP6054109A
Other languages
English (en)
Inventor
Tetsuya Morita
哲哉 森田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP6054109A priority Critical patent/JPH07262364A/ja
Publication of JPH07262364A publication Critical patent/JPH07262364A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【目的】 通常のフォントデータを回転処理した場合で
も、スループットを低下させない画像処理装置およびそ
の方法を提供する。 【構成】 回転角度を表すモード信号119に応じて、
演算器102はアドレス信号112からシフト回路10
3のシフト量を設定し、演算器104はアドレス信号1
12からメモリ106の入出力アドレスを演算する。デ
ータバス114を介して入力された画像データは、所定
量シフトされてメモリ106へ書込まれ、回転角度に応
じたアドレスによってメモリ106から読出される。読
出された画像データは、回転角度に応じて、シフト回路
103でシフトされ、ビットアライン変換器107によ
ってMSBとLSBが変換される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は画像処理装置およびその
方法に関し、例えば、画像の回転処理を行なう画像処理
装置およびその方法に関するものである。
【0002】
【従来の技術】従来の画像処理装置は、画像データを展
開してビットマップデータを作成する前に、回転処理が
必要か否かを判定する。そして、回転処理が必要であれ
ば、予め回転されたフォントデータを使用することによ
って、回転されたビットマップデータを作成する。
【0003】
【問題を解決しようとする課題】しかし、上記従来例に
おいては、次のような問題点があった。すなわち、一度
作成したビットマップデータに、再び回転処理を施すこ
とができない問題がある。さらに、予め回転されたフォ
ントデータを必要とするために、少なくとも二倍量のフ
ォントデータを用意するか、通常のフォントデータを回
転する特別な処理を必要とする。この回転処理を伴う場
合は、画像処理装置のスループットが著しく低下した。
【0004】本発明は、上述の問題を解決するためのも
のであり、その目的は次のようなものである。本発明の
目的は、通常のフォントデータを回転処理した場合で
も、スループットを低下させないことにある。
【0005】
【課題を解決するための手段および作用】本発明は、前
記の目的を達成する一手段として、以下の構成を備え
る。画像を回転処理する画像処理方法であって、画像デ
ータを所定単位で記憶する複数のメモリからなる記憶手
段へ所定量シフトした画像データを記憶させる記憶行程
と、前記回転処理に応じた前記記憶手段の各メモリに共
通な第1のアドレスと各メモリ間で異なる第2のアドレ
スとによって、該記憶手段から画像データを読出す読出
行程と、前記記憶手段から読出された画像データを前記
回転処理に応じた所定単位でシフトするシフト行程と、
前記回転処理に応じて前記シフトされた画像データのデ
ータ順を変換する変換行程とを有することを特徴とす
る。
【0006】画像を回転処理する画像処理装置であっ
て、画像データを所定単位で記憶する複数のメモリから
なる記憶手段と、前記記憶手段に入出力される画像デー
タを前記回転処理に応じた所定単位でシフトするシフト
手段と、前記回転処理に応じた前記記憶手段の各メモリ
に共通な第1のアドレスと各メモリ間で異なる第2のア
ドレスとによって、該記憶手段の入出力アドレスを制御
する制御手段と、前記回転処理に応じて前記記憶手段か
ら読出され前記シフト手段でシフトされた画像データの
データ順を変換する変換手段とを有することを特徴とす
る。
【0007】
【実施例】以下、本発明にかかる一実施例の画像処理装
置を図面を参照して詳細に説明する。
【0008】
【第1実施例】図1は本発明にかかる一実施例の画像処
理装置に使用するビットマップメモリの構成例を示すブ
ロック図である。なお、このビットマップメモリは例え
ば、16ビット幅のデータバスで制御される16ビット×16
ビットサイズである。図1において、101はラッチ
で、アドレスバス110上のアドレスデータを、不図示
のCPUからのタイミング信号ASB111でラッチし、メモ
リ106に対する4ビットのアドレス信号112を出力
する。
【0009】102は演算器で、モード信号119に応
じて、入力されたアドレス信号112を演算して、その
結果得られたシフト値をシフト回路103へ出力する。
なお、シフト回路103は、例えば16ビットのデータブ
ロックを単位として、シフト値に基づいて、入力された
データをシフトするものである。104も演算器で、モ
ード信号119に応じて、入力されたアドレス信号11
2を演算して、その結果得られたアドレス信号をメモリ
106へ出力する。なお、図2に演算器104およびメ
モリ106の詳細な構成例を示す。すなわち、メモリ1
06は、16ビットのメモリデバイス16個からなり、その
メモリデバイス203はドット0を、メモリデバイス2
04はドット1をそれぞれ16ビット記憶する。
【0010】105はセレクタで、CPUからのリードラ
イト信号R/W113により、書込時はデータバス114
を経て送られてきた信号を選択し、読出時はメモリ10
6から出力された信号を選択する。107はビットアラ
イン変換器で、モード信号119によって制御され、入
力されたデータの出力順を制御する。
【0011】次に、図1のビットマップメモリの動作を
説明する。まず、ビットマップデータを作成するため
に、CPUはデータバス114を介してメモリ106へデ
ータを書込む。この場合は書込動作なので、信号R/W1
13により、セレクタ105はデータバス114上のデ
ータを選択し、シフト回路103を介して、メモリ10
6へCPUからのデータが入力される。また、ラッチ10
1は、アドレスバス110上のアドレスデータをラッチ
して、アドレス信号112を出力する。
【0012】そして、演算器102と演算器104によ
りシフト値とアドレス値が決定されるが、書込動作にお
いて各演算器はモード信号119の影響を受けず、ラッ
チ101から出力されたアドレス信号がそのままシフト
値とアドレス値になる。つまり、メモリ106へ任意の
データを書込んだ場合、アドレス0にはデータがそのま
ま書込まれ、アドレス1から15までにはそれぞれのアド
レス値分シフトされたデータが書込まれる。図3と図4
はこの様子を示す図である。
【0013】つまり、図3は、アドレス値0とともに16
ビットデータ‘00,10,20,30,…,F0’を、アドレス値1と
ともに16ビットデータ‘01,11,21,31,…,F1’を、…、
アドレス値15とともに16ビットデータ‘0F,1F,2F,3F,
…,FF’を、CPUが出力した例である。なお、ここで‘0
0’や‘F0’などはデータの値を意味するものではな
く、各ビットを表すためのラベルである。
【0014】また、図4は図3のデータをメモリ106
へ書込んだ状態例を示し、アドレス0にはそのまま‘00,
10,20,30,…,F0’が、アドレス1にはアドレス値分シフ
トされた‘F1,01,11,21,…,E1’が、…、アドレス15に
は同様にシフトされた‘1F,2F,3F,4F,…,0F’が書込ま
れている。次に、読出動作を回転角度毎に順に説明す
る。
【0015】●零度の場合 この場合は、図4に示したメモリ内容を図5に示す状態
にフォーマットする必要がある。つまり、メモリ106
から読出したデータを、そのアドレスが0の場合はその
まま、アドレスが1の場合はそのデータを15シフトし
て、アドレスが2の場合はそのデータを14シフトして、
…、アドレスが15の場合はそのデータを1シフトして、
それぞれ読出せばよい。
【0016】CPUは、モード信号119を零度回転読出
に設定した後、メモリ106から順次データを読出すた
めに、アドレスバス110へ書込時と同様のアドレス信
号を出力する。演算器102は、モード信号119が零
度回転読出に設定されているので、入力されたアドレス
ADDからシフト量Sを次式のように設定する。 S=0-ADD …(1) また、演算器104は、モード信号119が零度回転読
出に設定されているので、入力されたアドレスADDをそ
のまま出力する。
【0017】ADD1=ADD …(2) さらに、ビットアライン変換器107も、モード信号1
19が零度回転読出に設定されているので、シフト回路
103から入力されたデータをそのまま出力する。そし
て、CPUのリードサイクルに応じた不図示の制御信号に
より、メモリ106からデータがセレクタ105へ出力
される。このデータはシフト回路103へ入力されて、
式(1)で演算されたシフト値S分シフトされた後、ビット
アライン変換器107を介して出力される。
【0018】●90度の場合 この場合は、図4に示したメモリ内容を図6に示す状態
にフォーマットする必要がある。図6に示すように、例
えば、アドレス0のデータは‘F0,F1,F2,F3,…,FF’であ
り、アドレス1のデータは‘E0,E1,E2,E3,…,EF’であ
る。
【0019】これをメモリ106から読出すためには、
まず、アドレス0のドットD0でアドレス1のビットである
F1を読み、ドットD1でアドレス2のビットF2を読み、
…、ドットD15でアドレス0のビットF0を読む。次に、ア
ドレス1のドットD0でアドレス2のビットE2を読み、ドッ
トD1でアドレス3のビットE3を読み、…、ドットD15でア
ドレス1のビットE1を読む。さらに、このようにして読
出したデータは、例えばアドレス0の場合‘F1,F2,F3,F
4,…,F0’の順になっているので、これをシフトするこ
とで図6に示すようなデータが得られる。
【0020】この場合は、各ドット毎に割当てられたメ
モリに対して異なったアドレスを供給する必要があり、
これを実現するために演算器104によってアドレスを
変換する必要がある。つまり、演算器104は、次式に
示すように、入力されたアドレス信号112の表すアド
レスADDに1を加えた第一のアドレスADD1と、ADD1にドッ
ト位置に相当する値分を加えるためのアドレスADD2とを
生成する。
【0021】ADD1=ADD+1 …(3) ADD2=+DOT …(4) 動作を具体的に説明すると、CPUは、モード信号119
を90度回転読出に設定した後、メモリ106から順次デ
ータを読出すために、アドレスバス110へ書込時と同
様のアドレス信号を出力する。演算器102は、モード
信号119が90度回転読出に設定されているので、入力
されたアドレスADDからシフト量Sを次式のように設定す
る。
【0022】S=ADD+1 …(5) また、演算器104は、モード信号119が90度回転読
出に設定されているので、入力されたアドレスADDを次
式のように変換し、第二のアドレスもオンする。メモリ
106は、第一のアドレスにドット位置に対応した値分
を加算したアドレスのデータを出力する。
【0023】ADD1=ADD+1 …(6) さらに、ビットアライン変換器107は、モード信号1
19が90度回転読出に設定されているが、このモードの
場合は入力データをそのまま出力する。 ●180度の場合 この場合は、図4に示したメモリ内容を図7に示す状態
にフォーマットする必要がある。
【0024】図7に示すように、例えば、アドレス0の
データは‘FF,EF,DF,CF,…,0F’であり、アドレス1のデ
ータは‘FE,EE,DE,CE,…,0E’である。これをメモリ1
06から読出すためには、まず、アドレス0ではアドレ
ス15の各ビットを読み、次に、アドレス1ではアドレス1
4の各ビットを読む。さらに、このようにして読出した
データは、例えばアドレス0の場合、‘1F,2F,3F,4F,…,
0F’の順になっているのでこれをシフトした後、そのMS
BとLSBを逆転することによって図7に示すようなデータ
が得られる。
【0025】動作を具体的に説明すると、CPUは、モー
ド信号119を180度回転読出に設定した後、メモリ1
06から順次データを読出すために、アドレスバス11
0へ書込時と同様のアドレス信号を出力する。演算器1
02は、モード信号119が180度回転読出に設定され
ているので、入力されたアドレスADDからシフト量Sを次
式のように設定する。
【0026】S=1+ADD …(7) また、演算器104は、モード信号119が180度回転
読出に設定されているので、入力されたアドレスADDを
次式のように変換する。 ADD1=F-ADD …(8) さらに、ビットアライン変換器107は、モード信号1
19が180度回転読出に設定されているので、MSBとLSB
を逆転して出力する。
【0027】●270度の場合 この場合は、図4に示したメモリ内容を図8に示す状態
にフォーマットする必要がある。図8に示すように、例
えば、アドレス0のデータは‘0F,0E,0D,0C,…,00’であ
り、アドレス1のデータは‘1F,1E,1D,1C,…,10’であ
る。
【0028】これをメモリ106から読出すためには、
まず、アドレス0のドットD0でそのビットである00を読
み、ドットD1でアドレス1のビット01を読み、…、ドッ
トD15でアドレス15のビット0Fを読む。次に、アドレス1
のドットD0でアドレス15のビット1Fを読み、ドットD1で
アドレス0のビット10を読み、…、ドットD15でアドレス
14のビット1Eを読む。さらに、このようにして読出した
データは、例えばアドレス1の場合、‘1F,10,11,12,…,
1E’の順になっているので、15シフトした後、データ順
を逆転することで図9に示すようなデータが得られる。
【0029】この場合は、各ドット毎に割当てられたメ
モリに対して異なったアドレスを供給する必要があり、
これを実現するために演算器104によってアドレスを
変換する必要がある。つまり、演算器104は、次式に
示すように、入力されたアドレス信号112の表すアド
レスADDに1を加えた第一のアドレスADD1と、ADD1にドッ
ト位置に相当する値分を加えるためのアドレスADD2とを
生成する。
【0030】ADD1=0-ADD …(9) ADD2=+DOT …(10) 動作を具体的に説明すると、CPUは、モード信号119
を270度回転読出に設定した後、メモリ106から順次
データを読出すために、アドレスバス110へ書込時と
同様のアドレス信号を出力する。演算器102は、モー
ド信号119が270度回転読出に設定されているので、
入力されたアドレスADDからシフト量Sを次式のように設
定する。
【0031】S=0-ADD …(11) また、演算器104は、モード信号119が270度回転
読出に設定されているので、入力されたアドレスADDを
次式のように変換し、第二のアドレスもオンする。メモ
リ106は、第一のアドレスにドット位置に対応した値
分を加算したアドレスのデータを出力する。
【0032】ADD1=0-ADD …(12) さらに、ビットアライン変換器107は、モード信号1
19が270度回転読出に設定されているので、データが
入力された順番とは逆の順番で出力する。以上、零度か
ら270度までの四つのモードの動作を説明したが、これ
らのモードにおけるシフト量、第一のアドレスと第二の
アドレスおよびビットアライン変換の関係を、図9にま
とめておく。
【0033】以上説明したように、本実施例によれば、
入力されたデータをメモリに書込む際にそのアドレスに
応じてシフトして書込み、画像の回転角度に応じた順番
とシフト量を設定してメモリからデータを読出すことに
より、ビットマップデータに高速の回転処理を施すこと
ができる。
【0034】
【第2実施例】以下、本発明にかかる第2実施例の画像
処理装置を説明する。なお、第2実施例において、第1
実施例と略同様の構成については、同一符号を付して、
その詳細説明を省略する。図10は本発明にかかる一実
施例の画像処理装置に使用するビットマップメモリの構
成例を示すブロック図である。
【0035】また、図11は本実施例におけるビットマ
ップメモリの詳細な構成例を示す図で、X方向に16ドッ
ト×1000Hの幅をもち、Y方向にはYライン分の幅をも
つ。同図において、ブロックA,B,C,…などの各ブロック
は、16×16ドットのマトリクスを示していて、このブロ
ックそれぞれは第1実施例で説明したものと同じであ
る。次に、第1実施例で説明した画像の回転方法を本実
施例に適用する例を説明する。
【0036】図10において、1001はアドレス変換
器で、X方向レジスタ信号1111に基づいて、アドレ
スバス110から入力されたアドレスを演算して、ビッ
トマップメモリ空間に対してY方向の下位4ビットをライ
ンアドレス112として出力する。図示しないCPUから
アドレスバス110を介してアドレスが供給されると、
アドレス変換器1001は、供給されるX方向レジスタ
信号1111に基づいて、入力されたアドレス値を、ビ
ットマップメモリ空間を16×16ドットで分割したブロッ
クの何ライン目かを演算して、その結果をラインアドレ
スと112として出力する。
【0037】この場合、X方向レジスタ値が1000Hである
ので、アドレス中のビット12から15の4ビットを抜き出
して、そのまま1012として出力する。また、アドレ
ス変換器1001は、入力されたアドレスのうち、ライ
ンアドレスとして抜き出さなかったビット0から11の12
ビットを上位アドレスとしてメモリ106へ供給する。
【0038】このようにすれば、第1実施例で説明した
画像の回転方法を本実施例に適用することができる。な
お、本発明は、複数の機器から構成されるシステムに適
用しても、一つの機器からなる装置に適用してもよい。
また、本発明は、システムあるいは装置にプログラムを
供給することによって達成される場合にも適用できるこ
とはいうまでもない。
【0039】
【発明の効果】以上説明したように、本発明によれば、
通常のフォントデータを回転処理した場合でも、スルー
プットを低下させないことができる。
【図面の簡単な説明】
【図1】本発明にかかる一実施例の画像処理装置に使用
するビットマップメモリの構成例を示すブロック図であ
る。
【図2】図1の演算器104およびメモリ106の詳細
な構成例を示すブロック図である。
【図3】ビットマップメモリに書込まれるデータを説明
する図である。
【図4】図3のデータをメモリ106へ書込んだ様子を
示す図である。
【図5】零度回転モードの場合にメモリ106から読出
した状態例を示す図である。
【図6】90度回転モードの場合にメモリ106から読出
した状態例を示す図である。
【図7】180度回転モードの場合にメモリ106から読
出した状態例を示す図である。
【図8】270度回転モードの場合にメモリ106から読
出した状態例を示す図である。
【図9】各モードにおけるシフト量、第一のアドレスと
第二のアドレスおよびビットアライン変換の関係を示す
図である。
【図10】本発明にかかる第2実施例の画像処理装置に
使用するビットマップメモリの構成例を示すブロック図
である。
【図11】第2実施例におけるビットマップメモリの詳
細な構成例を示す図である。
【符号の説明】
101 ラッチ 102 演算器 103 シフト回路 104 演算器 105 セレクタ 106 メモリ 107 ビットアライン変換器

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 画像を回転処理する画像処理方法であっ
    て、 画像データを所定単位で記憶する複数のメモリからなる
    記憶手段へ所定量シフトした画像データを記憶させる記
    憶行程と、 前記回転処理に応じた前記記憶手段の各メモリに共通な
    第1のアドレスと各メモリ間で異なる第2のアドレスと
    によって、該記憶手段から画像データを読出す読出行程
    と、 前記記憶手段から読出された画像データを前記回転処理
    に応じた所定単位でシフトするシフト行程と、 前記回転処理に応じて前記シフトされた画像データのデ
    ータ順を変換する変換行程とを有することを特徴とする
    画像処理方法。
  2. 【請求項2】 画像を回転処理する画像処理装置であっ
    て、 画像データを所定単位で記憶する複数のメモリからなる
    記憶手段と、 前記記憶手段に入出力される画像データを前記回転処理
    に応じた所定単位でシフトするシフト手段と、 前記回転処理に応じた前記記憶手段の各メモリに共通な
    第1のアドレスと各メモリ間で異なる第2のアドレスと
    によって、該記憶手段の入出力アドレスを制御する制御
    手段と、 前記回転処理に応じて前記記憶手段から読出され前記シ
    フト手段でシフトされた画像データのデータ順を変換す
    る変換手段とを有することを特徴とする画像処理装置。
JP6054109A 1994-03-24 1994-03-24 画像処理装置およびその方法 Withdrawn JPH07262364A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6054109A JPH07262364A (ja) 1994-03-24 1994-03-24 画像処理装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6054109A JPH07262364A (ja) 1994-03-24 1994-03-24 画像処理装置およびその方法

Publications (1)

Publication Number Publication Date
JPH07262364A true JPH07262364A (ja) 1995-10-13

Family

ID=12961441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6054109A Withdrawn JPH07262364A (ja) 1994-03-24 1994-03-24 画像処理装置およびその方法

Country Status (1)

Country Link
JP (1) JPH07262364A (ja)

Similar Documents

Publication Publication Date Title
US4660181A (en) Memory system
US4907284A (en) Image processing apparatus having function of enlargement and/or shrinkage of image
JPS6277633A (ja) プリンタ制御装置
JPH0715706B2 (ja) メモリ制御装置
JPH05266177A (ja) 描画装置
US4924432A (en) Display information processing apparatus
JPS60245062A (ja) デ−タ転送装置
JP2001154910A (ja) メモリアクセスシステム
JPS62299892A (ja) キヤラクタジエネレ−タメモリのアクセス方式
EP0063612A1 (en) Numerical control unit
JPS6330256A (ja) 印字装置
JPS61235958A (ja) 画像記憶装置
JPH0754544B2 (ja) イメ−ジメモリのアクセス回路
JP2889479B2 (ja) ヒストグラム構築回路
JPS6249571A (ja) クリツプ方式
JPH0516451A (ja) プリンタ
JPH04205678A (ja) 画像情報処理装置
KR100195199B1 (ko) 메타얼라인 모드 데스티네이션 어드레스 발생회로 및 이를 이용한 그래픽 콘트롤러
JPH0520450A (ja) 画像処理装置
JPH01237690A (ja) フォントのベクトル表記方法
JPH06332436A (ja) ビットマップデータ転送装置
JPH0636017A (ja) データ回転装置
JPH07122899B2 (ja) 高速回転回路
JPS61149365A (ja) デ−タ制御装置
JPH01131595A (ja) 描画用リフレッシュメモリ制御装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010605