JP2745957B2 - 画像回転処理装置 - Google Patents
画像回転処理装置Info
- Publication number
- JP2745957B2 JP2745957B2 JP4117542A JP11754292A JP2745957B2 JP 2745957 B2 JP2745957 B2 JP 2745957B2 JP 4117542 A JP4117542 A JP 4117542A JP 11754292 A JP11754292 A JP 11754292A JP 2745957 B2 JP2745957 B2 JP 2745957B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- image data
- line
- pixel
- memory
- 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
Links
- 230000015654 memory Effects 0.000 claims description 164
- 238000010586 diagram Methods 0.000 description 22
- 238000000034 method Methods 0.000 description 10
- 238000007796 conventional method Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】
【産業上の利用分野】本発明は画像処理装置に関し、特
に1画素当たりのビット数がページによって異なってい
る画像データを0°、90°、180°または270°
に回転処理しながらページメモリに格納するための画像
回転処理装置に関する。
に1画素当たりのビット数がページによって異なってい
る画像データを0°、90°、180°または270°
に回転処理しながらページメモリに格納するための画像
回転処理装置に関する。
【0002】
【従来の技術】順次入力される画像データを90°回転
させた態様でページメモリに格納する装置としては、特
開平2−235181号公報に記載されたものがある。
この装置では、入力された画像データが配置されるべき
ビット位置を含むページメモリの番地から1ワードを読
み出して前記ワード内のビット位置を指定し、前記ビッ
ト位置のデータを入力された画像データで書き換えて再
びページメモリの前記番地に書き込むことにより、最終
的に1ページ分の回転画像が得られるようにするもので
ある。
させた態様でページメモリに格納する装置としては、特
開平2−235181号公報に記載されたものがある。
この装置では、入力された画像データが配置されるべき
ビット位置を含むページメモリの番地から1ワードを読
み出して前記ワード内のビット位置を指定し、前記ビッ
ト位置のデータを入力された画像データで書き換えて再
びページメモリの前記番地に書き込むことにより、最終
的に1ページ分の回転画像が得られるようにするもので
ある。
【0003】
【発明が解決しようとする課題】上記従来例では、ファ
クシミリ画像(2値画像)のような1画素当たり1ビッ
トのページと、カラー画像(多値画像)のような1画素
当たり複数ビットのページとを同一の装置で回転できる
かどうか明らかでなかった。また、仮に可能であるにし
ても上記従来例の方式では、ページメモリのある番地か
ら1ワードを読み出してこれを入力された画像データで
一部を書き換え、再びページメモリの同じ番地へ書き込
むという処理を画像データが入力される毎に完了しなけ
ればならないため、画像データの入力速度はページメモ
リのアクセス速度を越えることができなかった。
クシミリ画像(2値画像)のような1画素当たり1ビッ
トのページと、カラー画像(多値画像)のような1画素
当たり複数ビットのページとを同一の装置で回転できる
かどうか明らかでなかった。また、仮に可能であるにし
ても上記従来例の方式では、ページメモリのある番地か
ら1ワードを読み出してこれを入力された画像データで
一部を書き換え、再びページメモリの同じ番地へ書き込
むという処理を画像データが入力される毎に完了しなけ
ればならないため、画像データの入力速度はページメモ
リのアクセス速度を越えることができなかった。
【0004】本発明は上記課題を解決するためのもので
ある。
ある。
【0005】本発明の目的は、順次入力される画像デー
タの1画素当たりのビット数がページによって異なる場
合にも画像回転処理を可能にすることである。
タの1画素当たりのビット数がページによって異なる場
合にも画像回転処理を可能にすることである。
【0006】本発明の他の目的は、画像データの入力が
高速な場合でもリアルタイムに回転処理しながらページ
メモリに格納できるようにすることである。
高速な場合でもリアルタイムに回転処理しながらページ
メモリに格納できるようにすることである。
【0007】本発明の他の目的は、画像回転処理に必要
なページメモリのサイズを1ページ分だけで済むように
することである。
なページメモリのサイズを1ページ分だけで済むように
することである。
【0008】
【課題を解決するための手段】本発明は、順次入力され
る画像データを0°、90°、180°又は270°に
回転角度を設定してページメモリに蓄積する画像回転処
理装置において、画像データを1ビット単位で格納でき
るラインメモリを複数個持ち、順次入力される画像デー
タに対して回転角度、1ラインの画素数および1画素あ
たりのビット数に応じて複数のラインメモリの中から1
つを選択して画像データを書き込む手段と、複数のライ
ンメモリを読み出して読み出された画像データをパラレ
ルに配列する手段と、配列した画像データに対応するペ
ージメモリ内のアドレスを計算し、配列した画像データ
を計算で求めたページメモリのアドレスに書き込む手段
とを備えたことを特徴とする。
る画像データを0°、90°、180°又は270°に
回転角度を設定してページメモリに蓄積する画像回転処
理装置において、画像データを1ビット単位で格納でき
るラインメモリを複数個持ち、順次入力される画像デー
タに対して回転角度、1ラインの画素数および1画素あ
たりのビット数に応じて複数のラインメモリの中から1
つを選択して画像データを書き込む手段と、複数のライ
ンメモリを読み出して読み出された画像データをパラレ
ルに配列する手段と、配列した画像データに対応するペ
ージメモリ内のアドレスを計算し、配列した画像データ
を計算で求めたページメモリのアドレスに書き込む手段
とを備えたことを特徴とする。
【0009】
【作用】本発明は、順次入力される画像データが設定し
た回転角度、ライン番号、画素番号および設定した1画
素当たりのビット数に応じて複数のラインメモリのうち
の1つに書き込まれる。ページメモリに書き込まれる1
ワードのデータが揃うと1ワード分のデータが読み出さ
れてパラレルに配列され、配列した画像データが格納さ
れるべきページメモリのアドレスを計算して前記配列さ
れた1ワードのデータがページメモリに書き込まれる。
このように、ページ単位で回転角度、画素ビット数が設
定されて回転処理されるので、画素ビット数がページに
よって異なる場合でも回転処理が可能であり、ページメ
モリに対するアクセスは1ワードにつき1回の書き込み
だけで済むため比較的高速な画像入力装置から画像が入
力されてもリアルタイムに回転処理しながらページメモ
リに格納することが可能となる。
た回転角度、ライン番号、画素番号および設定した1画
素当たりのビット数に応じて複数のラインメモリのうち
の1つに書き込まれる。ページメモリに書き込まれる1
ワードのデータが揃うと1ワード分のデータが読み出さ
れてパラレルに配列され、配列した画像データが格納さ
れるべきページメモリのアドレスを計算して前記配列さ
れた1ワードのデータがページメモリに書き込まれる。
このように、ページ単位で回転角度、画素ビット数が設
定されて回転処理されるので、画素ビット数がページに
よって異なる場合でも回転処理が可能であり、ページメ
モリに対するアクセスは1ワードにつき1回の書き込み
だけで済むため比較的高速な画像入力装置から画像が入
力されてもリアルタイムに回転処理しながらページメモ
リに格納することが可能となる。
【0010】
【実施例】以下、図面を参照して本発明の実施例を説明
する。以下では、簡単のため回転する画像は1ライン当
たり16画素、入力される画像データは1画素あたり1
ビットもしくは4ビット、ページメモリのビット幅は8
ビットとするが、本発明はこれに限定されるものではな
い。図1は本発明の1実施例の構成を示すブロック図で
ある。図中、100はスキャナ、101は中央制御装置
(CPU)、102は画素カウンタ、103はラインカ
ウンタ、104は回転開始制御部、105はレジスタ、
106はラインメモリ選択部、107はデータセレク
タ、108はラインメモリ、109はラインメモリ書込
み制御部、110はワードデータ配列部、111はペー
ジメモリアドレス計算部、112は画像回転処理装置、
113はページメモリである。
する。以下では、簡単のため回転する画像は1ライン当
たり16画素、入力される画像データは1画素あたり1
ビットもしくは4ビット、ページメモリのビット幅は8
ビットとするが、本発明はこれに限定されるものではな
い。図1は本発明の1実施例の構成を示すブロック図で
ある。図中、100はスキャナ、101は中央制御装置
(CPU)、102は画素カウンタ、103はラインカ
ウンタ、104は回転開始制御部、105はレジスタ、
106はラインメモリ選択部、107はデータセレク
タ、108はラインメモリ、109はラインメモリ書込
み制御部、110はワードデータ配列部、111はペー
ジメモリアドレス計算部、112は画像回転処理装置、
113はページメモリである。
【0011】図1において、破線で囲まれた部分が画像
回転処理装置112であり、スキャナ100で原稿を読
み取って1画素当たり1ビットもしくは4ビットの画像
データに変換し、画像クロック、ライン信号、およびペ
ージ信号とともに順次画像回転装置に入力される。画像
データは4ビットバス(b3,b2,b1,b0)で転
送され、1画素が4ビットの場合にはb3〜b0にパラ
レルに、1画素が1ビットの場合にはb0に有効な画像
データが入力される。
回転処理装置112であり、スキャナ100で原稿を読
み取って1画素当たり1ビットもしくは4ビットの画像
データに変換し、画像クロック、ライン信号、およびペ
ージ信号とともに順次画像回転装置に入力される。画像
データは4ビットバス(b3,b2,b1,b0)で転
送され、1画素が4ビットの場合にはb3〜b0にパラ
レルに、1画素が1ビットの場合にはb0に有効な画像
データが入力される。
【0012】中央制御装置(CPU)101はアクセス
信号およびデータにより回転角度および画素ビット(本
実施例では1ビットまたは4ビット)を画像回転処理装
置112のレジスタ105に設定する。ページメモリ1
13は画像の横方向に対応するXアドレスと縦方向に対
応するYアドレスを持ち、画像回転処理装置112か
ら、(Xアドレス、Yアドレス)が指定され、回転され
た態様の画像データが書き込まれる。
信号およびデータにより回転角度および画素ビット(本
実施例では1ビットまたは4ビット)を画像回転処理装
置112のレジスタ105に設定する。ページメモリ1
13は画像の横方向に対応するXアドレスと縦方向に対
応するYアドレスを持ち、画像回転処理装置112か
ら、(Xアドレス、Yアドレス)が指定され、回転され
た態様の画像データが書き込まれる。
【0013】ラインメモリ書き込み制御部109は画素
カウンタ102、ラインカウンタ103、回転開始制御
部104、ラインメモリ選択部106、レジスタ105
およびデータセレクタ107から構成され、入力された
画像データを回転角度と画素ビット数に応じてラインメ
モリ108のA〜Hのいずれかに順次書き込む。画素カ
ウンタ102およびラインカウンタ103はいずれも3
ビットカウンタで、順次入力される画素のそれぞれ画素
番号およびライン番号を8進カウントする。回転開始制
御部104は、ページ信号により回転処理全体の開始お
よび終了を制御する。ラインメモリ選択部106および
データセレクタ107は入力される画像データに対し、
回転角度、画素ビット数、ライン番号および画素番号に
従って適当なラインメモリを選択して書き込む。
カウンタ102、ラインカウンタ103、回転開始制御
部104、ラインメモリ選択部106、レジスタ105
およびデータセレクタ107から構成され、入力された
画像データを回転角度と画素ビット数に応じてラインメ
モリ108のA〜Hのいずれかに順次書き込む。画素カ
ウンタ102およびラインカウンタ103はいずれも3
ビットカウンタで、順次入力される画素のそれぞれ画素
番号およびライン番号を8進カウントする。回転開始制
御部104は、ページ信号により回転処理全体の開始お
よび終了を制御する。ラインメモリ選択部106および
データセレクタ107は入力される画像データに対し、
回転角度、画素ビット数、ライン番号および画素番号に
従って適当なラインメモリを選択して書き込む。
【0014】ラインメモリ108は8個のメモリA〜H
からなり、それぞれ1ビット×16ビットで、書込み読
み出しが同時に独立してできるデュアルポートFIFO
(First In First Out)メモリで構
成されている。ワードデータ配列部110はページメモ
リの1つのアドレスに書き込むべきワードデータがライ
ンメモリ中で揃うとこれをラインメモリから読みだし、
8ビットのワードデータとして配列する。ページメモリ
アドレス計算部はワードデータが書き込まれるべきペー
ジメモリの(Xアドレス,Yアドレス)を計算し、その
アドレスにワードデータを書き込む。
からなり、それぞれ1ビット×16ビットで、書込み読
み出しが同時に独立してできるデュアルポートFIFO
(First In First Out)メモリで構
成されている。ワードデータ配列部110はページメモ
リの1つのアドレスに書き込むべきワードデータがライ
ンメモリ中で揃うとこれをラインメモリから読みだし、
8ビットのワードデータとして配列する。ページメモリ
アドレス計算部はワードデータが書き込まれるべきペー
ジメモリの(Xアドレス,Yアドレス)を計算し、その
アドレスにワードデータを書き込む。
【0015】はじめに、図2に示すようなX方向16画
素、Y方向16画素で画素ビットが1ビット、すなわち
1画素あたり1ビットの画像を反時計方向に90°回転
する場合について説明する。
素、Y方向16画素で画素ビットが1ビット、すなわち
1画素あたり1ビットの画像を反時計方向に90°回転
する場合について説明する。
【0016】図3は通し番号、画素番号、ライン番号を
説明するための図である。図3において、0から255
(10進)までの通し番号を付けられた画素はそれぞれ
が1ビットのデータであり、画像回転処理装置112に
は通し番号0から順にデータが入力される。また、通し
番号0〜7、8〜15、16〜23、24〜31、……
240〜247、248〜255の各画素はそれぞれ画
素番号が0〜7である。また、0ライン〜7ライン、8
ライン〜15ラインはライン番号0〜7である。
説明するための図である。図3において、0から255
(10進)までの通し番号を付けられた画素はそれぞれ
が1ビットのデータであり、画像回転処理装置112に
は通し番号0から順にデータが入力される。また、通し
番号0〜7、8〜15、16〜23、24〜31、……
240〜247、248〜255の各画素はそれぞれ画
素番号が0〜7である。また、0ライン〜7ライン、8
ライン〜15ラインはライン番号0〜7である。
【0017】このような画像データを90°回転し、図
4に示すように回転後の画像の左上隅のデータがページ
メモリの(0H,0H)番地の最上位ビットに、回転後
の画像の右下隅のデータが(1H,FH)番地の最下位
ビットに配列されるよう格納する場合について説明す
る。
4に示すように回転後の画像の左上隅のデータがページ
メモリの(0H,0H)番地の最上位ビットに、回転後
の画像の右下隅のデータが(1H,FH)番地の最下位
ビットに配列されるよう格納する場合について説明す
る。
【0018】まず、図1において中央制御装置(CP
U)101は画素ビットが1ビットであること、90°
回転することをレジスタ105に設定する。画素カウン
タ102およびラインカウンタ103はクリアされてい
る。スキャナ100からのページ信号が有効になると、
回転開始制御部104が回転処理を開始し、画素カウン
タ102およびラインカウンタ103はそれぞれ8進の
カウントを始める。例えば、通し番号0の画素は画素番
号0でライン番号0、通し番号7の画素は画素番号7で
ライン番号0、通し番号8の画素は画素番号0でライン
番号0、通し番号16の画素は画素番号0でライン番号
1のようにカウントされる。
U)101は画素ビットが1ビットであること、90°
回転することをレジスタ105に設定する。画素カウン
タ102およびラインカウンタ103はクリアされてい
る。スキャナ100からのページ信号が有効になると、
回転開始制御部104が回転処理を開始し、画素カウン
タ102およびラインカウンタ103はそれぞれ8進の
カウントを始める。例えば、通し番号0の画素は画素番
号0でライン番号0、通し番号7の画素は画素番号7で
ライン番号0、通し番号8の画素は画素番号0でライン
番号0、通し番号16の画素は画素番号0でライン番号
1のようにカウントされる。
【0019】ラインメモリ選択部106は図15に従っ
てラインメモリ108を選択する。ただし、図15にお
いてXは任意、イネーブルは0で有効を表している。図
15より画素ビット1、回転角度90°の場合、画素番
号によらず以下のように割り当られる。
てラインメモリ108を選択する。ただし、図15にお
いてXは任意、イネーブルは0で有効を表している。図
15より画素ビット1、回転角度90°の場合、画素番
号によらず以下のように割り当られる。
【0020】ライン番号0…ラインメモリA ライン番号1…ラインメモリB ライン番号2…ラインメモリC ライン番号3…ラインメモリD ライン番号4…ラインメモリE ライン番号5…ラインメモリF ライン番号6…ラインメモリG ライン番号7…ラインメモリH また、データセレクタ107は図16に従って画素デー
タのb3〜b0をラインメモリA〜Hに割り当て、画素
ビットが1の場合には8つのラインメモリはいづれもb
0がセレクトされる。
タのb3〜b0をラインメモリA〜Hに割り当て、画素
ビットが1の場合には8つのラインメモリはいづれもb
0がセレクトされる。
【0021】いま、考察対象としているのは回転角度が
90°、画素ビットが1ビットの場合であり、通し番号
0から15まではライン番号が0であるからラインメモ
リAが選択され、通し番号16から31まではラインメ
モリBに、以下同様に通し番号127までが図8に示す
ような配置でラインメモリに格納される。なお、通し番
号128から143までは再びラインメモリAに、通し
番号144から159またはラインメモリBに書き込ま
れ、以下同様に書き込まれる。
90°、画素ビットが1ビットの場合であり、通し番号
0から15まではライン番号が0であるからラインメモ
リAが選択され、通し番号16から31まではラインメ
モリBに、以下同様に通し番号127までが図8に示す
ような配置でラインメモリに格納される。なお、通し番
号128から143までは再びラインメモリAに、通し
番号144から159またはラインメモリBに書き込ま
れ、以下同様に書き込まれる。
【0022】通し番号112がラインメモリに書き込ま
れると、図4に示すページメモリの(0H,FH)番地
に書き込むべきワードデータが揃うので、図1のワード
データ配列部110は8本のラインメモリからデータを
読みだして8ビットのデータとして配列する。
れると、図4に示すページメモリの(0H,FH)番地
に書き込むべきワードデータが揃うので、図1のワード
データ配列部110は8本のラインメモリからデータを
読みだして8ビットのデータとして配列する。
【0023】一方、ページメモリアドレス計算部111
はワードデータが揃うごとに図17に示す計算によりペ
ージメモリのアドレスを計算する。なお、図17におい
て、16進カウントアップとは0からFへのカウントア
ップ、16進カウントダウンとはFから0へのカウント
ダウン、2進カウントアップとは0から1へのカウント
アップ、2進カウントダウンとは1から0へのカウント
ダウン、8進カウントアップとは0から7へのカウント
アップ、8進カウントダウンとは7から0へのカウント
ダウンをそれぞれ表している。
はワードデータが揃うごとに図17に示す計算によりペ
ージメモリのアドレスを計算する。なお、図17におい
て、16進カウントアップとは0からFへのカウントア
ップ、16進カウントダウンとはFから0へのカウント
ダウン、2進カウントアップとは0から1へのカウント
アップ、2進カウントダウンとは1から0へのカウント
ダウン、8進カウントアップとは0から7へのカウント
アップ、8進カウントダウンとは7から0へのカウント
ダウンをそれぞれ表している。
【0024】画素ビット1、90°回転のときは、Yア
ドレス0→FでXアドレスは2進カウントアップ、即ち
0→1となり、一方、Yアドレスは、Xアドレスが1→
0のとき、即ち1ワードごとにF→E→…→0とカウン
トダウンされる。したがって、先ずページメモリの(0
H,FH)番地に通し番号0、16、32、48、6
4、80、96、112の組が書き込まれ、次いで通し
番号1、17、33、49、65、81、97、113
がページメモリの(0H,EH)番地に書き込まれる。
以下、順次、通し番号2、18、34、50、66、8
2、98、114がページメモリの(0H,DH)番地
………のように書き込まれ、このようにして最終的にペ
ージメモリには図4のようにデータが格納され、90°
回転処理が完了する。
ドレス0→FでXアドレスは2進カウントアップ、即ち
0→1となり、一方、Yアドレスは、Xアドレスが1→
0のとき、即ち1ワードごとにF→E→…→0とカウン
トダウンされる。したがって、先ずページメモリの(0
H,FH)番地に通し番号0、16、32、48、6
4、80、96、112の組が書き込まれ、次いで通し
番号1、17、33、49、65、81、97、113
がページメモリの(0H,EH)番地に書き込まれる。
以下、順次、通し番号2、18、34、50、66、8
2、98、114がページメモリの(0H,DH)番地
………のように書き込まれ、このようにして最終的にペ
ージメモリには図4のようにデータが格納され、90°
回転処理が完了する。
【0025】図5は回転角0°(回転しない場合)の場
合の画像データとページメモリアドレスの関係を説明す
る図である。回転角0°の場合には、図5で示すように
データがページメモリに書き込まれる。即ち、図3で示
す画像の左上隅のデータがページメモリの(0H,0
H)番地の最上位ビットに、画像の右下隅のデータが
(1H,FH)番地の最下位ビットに格納される。そし
て、図15からライン番号によらず以下のように割り当
られる。
合の画像データとページメモリアドレスの関係を説明す
る図である。回転角0°の場合には、図5で示すように
データがページメモリに書き込まれる。即ち、図3で示
す画像の左上隅のデータがページメモリの(0H,0
H)番地の最上位ビットに、画像の右下隅のデータが
(1H,FH)番地の最下位ビットに格納される。そし
て、図15からライン番号によらず以下のように割り当
られる。
【0026】画素番号0…ラインメモリA 画素番号1…ラインメモリB 画素番号2…ラインメモリC 画素番号3…ラインメモリD 画素番号4…ラインメモリE 画素番号5…ラインメモリF 画素番号6…ラインメモリG 画素番号7…ラインメモリH こうしてラインメモリには、図9に示すように、画素番
号0(通し番号0、8、16、……120)はラインメ
モリAに、画素番号1(通し番号1、9、17、……1
21)はラインメモリBに書き込まれ、以下同様に書き
込まれる。そして、通し番号7がラインメモリに書き込
まれると、図5に示すページメモリの(0H,0H)番
地に書き込むべきワードデータが揃うので、図1のワー
ドデータ配列部110は8本のラインメモリからデータ
を読みだして8ビットのデータとして配列する。ページ
メモリアドレス計算部111は、ワードデータが揃うご
とに図17に示す計算によりページメモリのアドレスを
計算する。即ち、Xアドレスは1ワードごとに0→1→
0→1……と2進カウントアップし、一方、Yアドレス
は、Xアドレスが1→0のとき、即ち1ワードごとに0
→1→…E→Fと16進カウントアップされる。したが
って、ページメモリの(0H,0H)番地に通し番号
0、1、2、3、4、5、6、7の組が書き込まれ、次
いで通し番号8、9、10、11、12、13、14、
15がページメモリの(1H,0H)番地に書き込まれ
る。以下、順次、通し番号16、17、18、19、2
0、21、22、23がページメモリの(0H,1H)
番地………のように書き込まれ、このようにして最終的
にページメモリには図5のようにデータが格納される。
号0(通し番号0、8、16、……120)はラインメ
モリAに、画素番号1(通し番号1、9、17、……1
21)はラインメモリBに書き込まれ、以下同様に書き
込まれる。そして、通し番号7がラインメモリに書き込
まれると、図5に示すページメモリの(0H,0H)番
地に書き込むべきワードデータが揃うので、図1のワー
ドデータ配列部110は8本のラインメモリからデータ
を読みだして8ビットのデータとして配列する。ページ
メモリアドレス計算部111は、ワードデータが揃うご
とに図17に示す計算によりページメモリのアドレスを
計算する。即ち、Xアドレスは1ワードごとに0→1→
0→1……と2進カウントアップし、一方、Yアドレス
は、Xアドレスが1→0のとき、即ち1ワードごとに0
→1→…E→Fと16進カウントアップされる。したが
って、ページメモリの(0H,0H)番地に通し番号
0、1、2、3、4、5、6、7の組が書き込まれ、次
いで通し番号8、9、10、11、12、13、14、
15がページメモリの(1H,0H)番地に書き込まれ
る。以下、順次、通し番号16、17、18、19、2
0、21、22、23がページメモリの(0H,1H)
番地………のように書き込まれ、このようにして最終的
にページメモリには図5のようにデータが格納される。
【0027】図6は回転角180°の場合の画像データ
とページメモリアドレスの関係を説明する図である。図
3で示す画像データを180°回転し、図6に示すよう
に回転後の画像の左上隅のデータがページメモリの(0
H,0H)番地の最上位ビットに、回転後の画像の右下
隅のデータが(1H,FH)番地の最下位ビットに配列
されるよう格納する。図15からライン番号によらず以
下のように割り当られる。
とページメモリアドレスの関係を説明する図である。図
3で示す画像データを180°回転し、図6に示すよう
に回転後の画像の左上隅のデータがページメモリの(0
H,0H)番地の最上位ビットに、回転後の画像の右下
隅のデータが(1H,FH)番地の最下位ビットに配列
されるよう格納する。図15からライン番号によらず以
下のように割り当られる。
【0028】画素番号0…ラインメモリH 画素番号1…ラインメモリG 画素番号2…ラインメモリF 画素番号3…ラインメモリE 画素番号4…ラインメモリD 画素番号5…ラインメモリC 画素番号6…ラインメモリB 画素番号7…ラインメモリA こうしてラインメモリには、図10に示すように、画素
番号0(通し番号0、8、16、……120)はライン
メモリHに、画素番号1(通し番号1、9、17、……
121)はラインメモリGに書き込まれ、以下同様に書
き込まれる。そして、通し番号7がラインメモリAに書
き込まれると、図6に示すページメモリの(1H,F
H)番地に書き込むべきワードデータが揃うので、図1
のワードデータ配列部110は8本のラインメモリから
データを読みだして8ビットのデータとして配列する。
ページメモリアドレス計算部111は、ワードデータが
揃うごとに図17に示す計算によりページメモリのアド
レスを計算する。即ち、Xアドレスは1ワードごとに1
→0→1→0……と2進カウントダウンし、一方、Yア
ドレスは、Xアドレスが0→1のとき、即ち1ワードご
とにF→E→…1→0と16進カウントダウンされる。
したがって、ページメモリの(1H,FH)番地に通し
番号0、1、2、3、4、5、6、7の組が書き込ま
れ、次いで通し番号8、9、10、11、12、13、
14、15がページメモリの(0H,FH)番地に書き
込まれる。以下、順次、通し番号16、17、18、1
9、20、21、22、23がページメモリの(1H,
EH)番地………のように書き込まれ、このようにして
最終的にページメモリには図6のようにデータが格納さ
れ、180°回転処理が完了する。
番号0(通し番号0、8、16、……120)はライン
メモリHに、画素番号1(通し番号1、9、17、……
121)はラインメモリGに書き込まれ、以下同様に書
き込まれる。そして、通し番号7がラインメモリAに書
き込まれると、図6に示すページメモリの(1H,F
H)番地に書き込むべきワードデータが揃うので、図1
のワードデータ配列部110は8本のラインメモリから
データを読みだして8ビットのデータとして配列する。
ページメモリアドレス計算部111は、ワードデータが
揃うごとに図17に示す計算によりページメモリのアド
レスを計算する。即ち、Xアドレスは1ワードごとに1
→0→1→0……と2進カウントダウンし、一方、Yア
ドレスは、Xアドレスが0→1のとき、即ち1ワードご
とにF→E→…1→0と16進カウントダウンされる。
したがって、ページメモリの(1H,FH)番地に通し
番号0、1、2、3、4、5、6、7の組が書き込ま
れ、次いで通し番号8、9、10、11、12、13、
14、15がページメモリの(0H,FH)番地に書き
込まれる。以下、順次、通し番号16、17、18、1
9、20、21、22、23がページメモリの(1H,
EH)番地………のように書き込まれ、このようにして
最終的にページメモリには図6のようにデータが格納さ
れ、180°回転処理が完了する。
【0029】図7は回転角270°の場合の画像データ
とページメモリアドレスの関係を説明する図である。図
3で示す画像データを270°回転し、図7に示すよう
に回転後の画像の左上隅のデータがページメモリの(0
H,0H)番地の最上位ビットに、回転後の画像の右下
隅のデータが(1H,FH)番地の最下位ビットに配列
されるよう格納する。図15から画素番号によらず以下
のように割り当られる。
とページメモリアドレスの関係を説明する図である。図
3で示す画像データを270°回転し、図7に示すよう
に回転後の画像の左上隅のデータがページメモリの(0
H,0H)番地の最上位ビットに、回転後の画像の右下
隅のデータが(1H,FH)番地の最下位ビットに配列
されるよう格納する。図15から画素番号によらず以下
のように割り当られる。
【0030】ライン番号0…ラインメモリH ライン番号1…ラインメモリG ライン番号2…ラインメモリF ライン番号3…ラインメモリE ライン番号4…ラインメモリD ライン番号5…ラインメモリC ライン番号6…ラインメモリB ライン番号7…ラインメモリA こうしてラインメモリには、図11に示すように、ライ
ン番号0(通し番号0、1、2、3……15)はライン
メモリHに、ライン番号1(通し番号16、17、18
……31)はラインメモリGに書き込まれ、以下同様に
書き込まれる。そして、通し番号112がラインメモリ
Aに書き込まれると、図7に示すページメモリの(1
H,0H)番地に書き込むべきワードデータが揃うの
で、図1のワードデータ配列部110は8本のラインメ
モリからデータを読みだして8ビットのデータとして配
列する。ページメモリアドレス計算部111は、ワード
データが揃うごとに図17に示す計算によりページメモ
リのアドレスを計算する。即ち、XアドレスはYアドレ
スがF→0のときに1→0と2進カウントダウンし、一
方、Yアドレスは、1ワードごとに0→1→…E→Fと
カウントアップされる。したがって、ページメモリの
(1H,0H)番地に画素番号0(通し番号0、16、
……96、112)の組が書き込まれ、次いで画素番号
1(通し番号1、17、……97、113)の組がペー
ジメモリの(1H,1H)番地に書き込まれる。以下、
順次、同様に書き込まれ、最終的にページメモリには図
7のようにデータが格納され、270°回転処理が終了
する。
ン番号0(通し番号0、1、2、3……15)はライン
メモリHに、ライン番号1(通し番号16、17、18
……31)はラインメモリGに書き込まれ、以下同様に
書き込まれる。そして、通し番号112がラインメモリ
Aに書き込まれると、図7に示すページメモリの(1
H,0H)番地に書き込むべきワードデータが揃うの
で、図1のワードデータ配列部110は8本のラインメ
モリからデータを読みだして8ビットのデータとして配
列する。ページメモリアドレス計算部111は、ワード
データが揃うごとに図17に示す計算によりページメモ
リのアドレスを計算する。即ち、XアドレスはYアドレ
スがF→0のときに1→0と2進カウントダウンし、一
方、Yアドレスは、1ワードごとに0→1→…E→Fと
カウントアップされる。したがって、ページメモリの
(1H,0H)番地に画素番号0(通し番号0、16、
……96、112)の組が書き込まれ、次いで画素番号
1(通し番号1、17、……97、113)の組がペー
ジメモリの(1H,1H)番地に書き込まれる。以下、
順次、同様に書き込まれ、最終的にページメモリには図
7のようにデータが格納され、270°回転処理が終了
する。
【0031】以上は画素ビットが1ビットについての回
転処理であるが、次に、16画素×16画素で画素ビッ
トが4ビット、即ち1画素当たり4ビットの原画像を反
時計方向に90°回転する場合について説明する。図1
2は通し番号0〜255の画素データを示したもので、
1ワードは2画素から構成され、X方向8ワード(16
画素)、Y方向16画素である。この画像データを90
°反時計方向に回転し、図13に示すように、回転後の
画像の左上隅のデータがページメモリの(0H,0H)
番地の上位4ビットに、回転後の画像の右下隅のデータ
が(1H,FH)番地の下位4ビットに配列されるよう
格納する場合について説明する。
転処理であるが、次に、16画素×16画素で画素ビッ
トが4ビット、即ち1画素当たり4ビットの原画像を反
時計方向に90°回転する場合について説明する。図1
2は通し番号0〜255の画素データを示したもので、
1ワードは2画素から構成され、X方向8ワード(16
画素)、Y方向16画素である。この画像データを90
°反時計方向に回転し、図13に示すように、回転後の
画像の左上隅のデータがページメモリの(0H,0H)
番地の上位4ビットに、回転後の画像の右下隅のデータ
が(1H,FH)番地の下位4ビットに配列されるよう
格納する場合について説明する。
【0032】中央制御装置(CPU)101が回転角度
90°および画素ビット4をレジスタ105に設定した
のちにスキャナ100から画像データが入力される。通
し番号0の画素4ビットはb3からb0(図16)まで
順に、図14に示すようにラインメモリA、B、C、D
に1ビットずつ格納され、通し番号1から15まで同様
にラインメモリA、B、C、Dに1ビットずつ格納され
る。2ライン目の先頭、即ち通し番号16のb3からb
0は順にラインメモリE、F、G、Hに格納される。通
し番号17から31までは同様にラインメモリE、F、
G、Hに格納される。こうして通し番号31までが図1
4のような配置でラインメモリに格納される。通し番号
16がラインメモリに書き込まれるとページメモリの
(0H,FH)番地に書き込むべきデータが揃うので図
1のワードデータ配列部110は8本のラインメモリか
らデータを読みだして8ビットのデータとして配列す
る。
90°および画素ビット4をレジスタ105に設定した
のちにスキャナ100から画像データが入力される。通
し番号0の画素4ビットはb3からb0(図16)まで
順に、図14に示すようにラインメモリA、B、C、D
に1ビットずつ格納され、通し番号1から15まで同様
にラインメモリA、B、C、Dに1ビットずつ格納され
る。2ライン目の先頭、即ち通し番号16のb3からb
0は順にラインメモリE、F、G、Hに格納される。通
し番号17から31までは同様にラインメモリE、F、
G、Hに格納される。こうして通し番号31までが図1
4のような配置でラインメモリに格納される。通し番号
16がラインメモリに書き込まれるとページメモリの
(0H,FH)番地に書き込むべきデータが揃うので図
1のワードデータ配列部110は8本のラインメモリか
らデータを読みだして8ビットのデータとして配列す
る。
【0033】一方、ページメモリアドレス計算部111
は、ワードデータが揃うごとに図17に示す計算により
ページメモリのアドレスを計算する。即ち、Xアドレス
はYアドレスが0→Fのときに0→1→……6→7と8
進カウントアップし、一方、Yアドレスは、1ワードご
とにF→E→…1→0と16進カウントダウンされる。
したがって、ページメモリの(0H,FH)番地に通し
番号0と16の4ビットずつが書き込まれる。次いで、
通し番号1と17の4ビットずつがページメモリの(0
H,EH)番号に書き込まれ、最終的にページメモリに
図13に示すようにデータが格納され、回転処理が終了
する。
は、ワードデータが揃うごとに図17に示す計算により
ページメモリのアドレスを計算する。即ち、Xアドレス
はYアドレスが0→Fのときに0→1→……6→7と8
進カウントアップし、一方、Yアドレスは、1ワードご
とにF→E→…1→0と16進カウントダウンされる。
したがって、ページメモリの(0H,FH)番地に通し
番号0と16の4ビットずつが書き込まれる。次いで、
通し番号1と17の4ビットずつがページメモリの(0
H,EH)番号に書き込まれ、最終的にページメモリに
図13に示すようにデータが格納され、回転処理が終了
する。
【0034】説明は省略するが、画素4ビットの場合
の、回転角0°、180°、270°も全く同様にして
回転処理が行われる。なお、上記説明では、説明の便宜
上、画素1ビット、4ビットの場合について説明した
が、任意の画素ビット数に対しても同様に回転処理を行
うことが可能である。また、上記実施例においては、ス
キャナから入力される画像を回転するようにしたが、入
力装置は、スキャナに限定されるものではなく、例えば
回線から入力される画像を回転させるようにしてもよ
い。
の、回転角0°、180°、270°も全く同様にして
回転処理が行われる。なお、上記説明では、説明の便宜
上、画素1ビット、4ビットの場合について説明した
が、任意の画素ビット数に対しても同様に回転処理を行
うことが可能である。また、上記実施例においては、ス
キャナから入力される画像を回転するようにしたが、入
力装置は、スキャナに限定されるものではなく、例えば
回線から入力される画像を回転させるようにしてもよ
い。
【0035】
【発明の効果】以上のように本発明によれば、ページ単
位で回転角度、画素ビット数を設定して回転処理するこ
とができるので、画素ビットがページによって異なる場
合でも回転処理が可能であり、ページメモリに対するア
クセスは1ワードにつき1回の書き込みだけで済むため
比較的高速な画像入力装置から画像が入力されてもリア
ルタイムに回転処理しながらページメモリに格納するこ
とができ、回転処理に必要なページメモリのサイズは1
ページ分だけで済ませることが可能である。
位で回転角度、画素ビット数を設定して回転処理するこ
とができるので、画素ビットがページによって異なる場
合でも回転処理が可能であり、ページメモリに対するア
クセスは1ワードにつき1回の書き込みだけで済むため
比較的高速な画像入力装置から画像が入力されてもリア
ルタイムに回転処理しながらページメモリに格納するこ
とができ、回転処理に必要なページメモリのサイズは1
ページ分だけで済ませることが可能である。
【図1】 本発明の1実施例の構成を示すブロック図で
ある。
ある。
【図2】 16画素×16画素の画像データを示す図で
ある。
ある。
【図3】 画素の通し番号、画素番号、ライン番号を説
明するための図である。
明するための図である。
【図4】 90°回転後の画像データとページメモリア
ドレスの関係を説明するための図である。
ドレスの関係を説明するための図である。
【図5】 0°回転後の画像データとページメモリアド
レスの関係を説明するための図である。
レスの関係を説明するための図である。
【図6】 180°回転後の画像データとページメモリ
アドレスの関係を説明するための図である。
アドレスの関係を説明するための図である。
【図7】 270°回転後の画像データとページメモリ
アドレスの関係を説明するための図である。
アドレスの関係を説明するための図である。
【図8】 90°回転の場合のラインメモリへのデータ
の書込みを説明する図である。
の書込みを説明する図である。
【図9】 0°回転の場合のラインメモリへのデータの
書込みを説明する図である。
書込みを説明する図である。
【図10】 180°回転の場合のラインメモリへのデ
ータの書込みを説明する図である。
ータの書込みを説明する図である。
【図11】 270°回転の場合のラインメモリへのデ
ータの書込みを説明する図である。
ータの書込みを説明する図である。
【図12】 画素4ビットの場合の画像データを示す図
である。
である。
【図13】 画素4ビットの場合における90°回転後
の画像データとページメモリアドレスの関係を説明する
ための図である。
の画像データとページメモリアドレスの関係を説明する
ための図である。
【図14】 画素4ビットの場合における90°回転の
場合のラインメモリへのデータの書込みを説明する図で
ある。
場合のラインメモリへのデータの書込みを説明する図で
ある。
【図15】 画素ビット数、回転角度に対するラインメ
モリへの書込みを説明する図である。
モリへの書込みを説明する図である。
【図16】 画素ビット数、回転角度に対するデータを
説明するための図である。
説明するための図である。
【図17】 ページメモリのアドレス計算方法を説明す
る図である。
る図である。
100…スキャナ、101…中央制御装置、102…画
素カウンタ、103…ラインカウンタ、104…回転開
始制御部、105…レジスタ、106…ラインメモリ選
択部、107…データセレクタ、108…ラインメモ
リ、109…ラインメモリ書込み制御部、110…ワー
ドデータ配列部、111…ページメモリアドレス計算
部、112…画像回転処理装置、113…ページメモ
リ。
素カウンタ、103…ラインカウンタ、104…回転開
始制御部、105…レジスタ、106…ラインメモリ選
択部、107…データセレクタ、108…ラインメモ
リ、109…ラインメモリ書込み制御部、110…ワー
ドデータ配列部、111…ページメモリアドレス計算
部、112…画像回転処理装置、113…ページメモ
リ。
Claims (6)
- 【請求項1】 画像データ入力手段と、画像回転角度及
び画素ビット数を設定する制御手段と、画像読取り手段
により読み取られて順次入力される画像データを設定さ
れた角度に回転処理する画像回転手段と、画像回転した
データが蓄積されるページメモリとを備えた画像回転処
理装置であって、 前記画像回転手段は、 順次入力される画像データを1ビット単位で格納する複
数のラインメモリと、 複数のラインメモリの中から1つを選択して画像データ
を書き込む画像データ書込み手段と、 各ラインメモリに書き込まれた画像データを読み出して
パラレルに配列する配列手段と、 配列した画像データに対応するページメモリ内のアドレ
スを計算して配列した画像データを算出したページメモ
リのアドレスに書き込むページメモリ書込み手段と、を
備えたことを特徴とする画像回転処理装置。 - 【請求項2】 前記画像回転手段は、前記制御手段によ
り画像回転角度及び画素ビット数が設定されるレジスタ
を備えていることを特徴とする請求項1記載の画像回転
処理装置。 - 【請求項3】 前記画像データ書込み手段は、回転角
度、ライン番号、画素番号および1画素あたりのビット
数に応じて複数のラインメモリの中から1つを選択して
書き込むことを特徴とする請求項1記載の画像回転処理
装置。 - 【請求項4】 前記画像回転手段は、回転開始制御手段
を有し、画像データ入力手段からのページ信号により回
転処理の開始、終了を制御することを特徴とする請求項
1記載の画像回転処理装置。 - 【請求項5】 ページメモリ書込み手段は、回転角度、
画素ビット数に応じてXアドレス、Yアドレスを算出す
ることを特徴とする請求項1記載の画像回転処理装置。 - 【請求項6】 前記画像回転手段は、画像データを0
°、90°、180°、または270°回転可能である
ことを特徴とする請求項1記載の画像回転処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4117542A JP2745957B2 (ja) | 1992-05-11 | 1992-05-11 | 画像回転処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4117542A JP2745957B2 (ja) | 1992-05-11 | 1992-05-11 | 画像回転処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05314249A JPH05314249A (ja) | 1993-11-26 |
JP2745957B2 true JP2745957B2 (ja) | 1998-04-28 |
Family
ID=14714380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4117542A Expired - Fee Related JP2745957B2 (ja) | 1992-05-11 | 1992-05-11 | 画像回転処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2745957B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000184134A (ja) * | 1998-12-11 | 2000-06-30 | Fuji Xerox Co Ltd | 画像記録装置、画像読取装置並びに画像形成装置 |
JP2007334323A (ja) * | 2006-05-19 | 2007-12-27 | Semiconductor Energy Lab Co Ltd | ビデオデータ制御回路、当該ビデオデータ制御回路の駆動方法、並びに当該ビデオデータ制御回路を具備する表示装置及び電子機器 |
-
1992
- 1992-05-11 JP JP4117542A patent/JP2745957B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05314249A (ja) | 1993-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4636783A (en) | Device for giving a pattern a rotation of an integral multiple of 90° with the pattern read from a memory on a block by block basis | |
KR970011222B1 (ko) | 비데오 랜덤 액세스 메모리(vram) 액서스 회로 및 방법 | |
JPH077260B2 (ja) | 画像データ回転処理装置及びその方法 | |
US5459835A (en) | Graphics rendering systems | |
US5095422A (en) | Information transferring method and apparatus for transferring information from one memory area to another memory area | |
JPH0644368A (ja) | 画像回転装置 | |
US5361339A (en) | Circuit for fast page mode addressing of a RAM with multiplexed row and column address lines | |
JP3166447B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2745957B2 (ja) | 画像回転処理装置 | |
WO1992000570A1 (en) | Graphics rendering systems | |
EP0456394A2 (en) | Video memory array having random and serial ports | |
US5895502A (en) | Data writing and reading method for a frame memory having a plurality of memory portions each having a plurality of banks | |
JPH05108812A (ja) | 画像回転処理装置 | |
JP2610887B2 (ja) | イメージデータ回転処理装置 | |
JPS6037930B2 (ja) | 情報記憶装置 | |
JP3147567B2 (ja) | 画像回転処理装置 | |
JPH02148237A (ja) | データのブロツクを記憶させ且つ操作を加えるための方法 | |
JP2510219B2 (ja) | 画像処理装置 | |
JP2740197B2 (ja) | ビットマップ描画装置 | |
JPH05113928A (ja) | 画像メモリ装置 | |
JP3016372B2 (ja) | 画像処理装置 | |
JPH07320053A (ja) | 画像回転処理装置 | |
JPS6333348B2 (ja) | ||
JPH01305769A (ja) | 画像縮小装置 | |
JPH0765198A (ja) | 画像メモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |