(57)【要約】      （修正有）【課題】ビット選択処理を用いることにより、高速回転処理が可能な画像データ回転処理装置を供する。【解決手段】ｊを１以上の整数とし，ｋ，ｍを２以上の整数とし、ｎ＝ｋｍ、Ｌ＝ｊｋとして、Ｌアドレス×ｎビットサイズの画像データを格納するメモリを有する画像データ回転処理装置。アドレス方向にｋ個単位、ビット幅方向にｍビット単位でメモリに書込まれる画像データに対してｋアドレス×ｍビットサイズのｊ×ｋ個のブロックを設定して、アドレス方向の各ブロックのｍビットデータｋ個を、アドレスの増加する方向とメモリのビット幅方向とを対応させてメモリの１アドレス分のｎビットデータに配列変換して各ブロックをメモリの１アドレスに割当てて記憶する第１のｍビットデータ配列変換手段と、ｍビット単位のデータを所定の回転角度の１アドレスｎビットの配列データに変換して画像データを生成する第２のｍビットデータ配列変換手段とを有する。【選択図】図１
2005022387.tif 000002
【特許請求の範囲】
【請求項１】
ｊを１以上の整数とし，ｋ，ｍを２以上の整数とし、ｎ＝ｋｍ、Ｌ＝ｊｋとして、Ｌアドレス×ｎビットサイズの画像データを格納するメモリを有する画像データ回転処理装置において、
前記画像データのアドレス方向にｋ個単位、ビット幅方向にｍビット単位で前記メモリに書込まれる画像データに対してｋアドレス×ｍビットサイズのｊ×ｋ個のブロックを設定して、アドレス方向の各ブロックのｍビットデータｋ個を、アドレスの増加する方向と前記メモリのビット幅方向とを対応させて前記メモリの１アドレス分のｎビットデータに配列変換して各前記ブロックを前記メモリの１アドレスに割当てて記憶する第１のｍビットデータ配列変換手段と、前記メモリの各アドレスがアクセスされて前記配列変換された前記画像データが順次読出されたときに読出された前記ｍビット単位のデータを所定の回転角度の１アドレスｎビットの配列データに変換して前記画像データを生成する第２のｍビットデータ配列変換手段とを有する画像データ回転処理装置。
【請求項２】
前記第１のｍビットデータ配列変換手段は、前記画像データの１アドレス分のｎビットのデータ記憶される分割されたｍビットデータをそれが所属する前記ブロックが割当てられる前記メモリ上のアドレス位置に分配することで前記配列変換を行う請求項１記載の画像データ回転処理装置。
【請求項３】
前記第１のｍビットデータ配列変換手段は、ｋ個の第１のマルチプレクサを有し、前記ｋ個の第１のマルチプレクサは、前記画像データの１アドレス分のｋ個のｎビットデータを順次受けて、特定のブロック位置のｍビットのデータｋ個を順次選択して前記メモリの１アドレスのビット幅方向のｍビットデータｋ個に変換して前記メモリに出力する請求項２記載の画像データ回転処理装置。
【請求項４】
ｊは２以上の整数であり、前記画像データの１アドレス分のｎビットのデータ記憶される分割されたｍビットデータを分配する前記メモリ上の１アドレスの位置は、前記メモリのｋアドレスおきである請求項２記載の画像データ回転処理装置。
【請求項５】
ｊ＝ｋとして、前記アドレス方向もｋ個のブロックに分割して、前記ブロックをｋ×ｋ個として、前記メモリをｋ個のアドレスを持つｎビット幅のｋ個のメモリに分割してそれぞれ設け、前記第１のｍビットデータ配列変換手段は、前記メモリに書込まれる画像データにおけるｋアドレスあるいはｋ−１アドレス分のｎビットデータを記憶する記憶手段を有していて、この記憶手段に記憶された前記ｋアドレスあるいは前記ｋ−１アドレス分＋読出１アドレス分の画像データそれぞれをｍビットデータに分割して前記配列変換を行いｋ個の前記分割されたメモリのそれぞれの１アドレスに配列変換されたｎビットビットデータを同時に記憶する請求項４記載の画像データ回転処理装置。
【請求項６】
ｋ＞＝２として、前記画像データに設定される前記ブロックをアドレス方向に対してビット幅方向を優先させて１からｊ×ｋの順位付けをした場合において、前記第１のｍビットデータ配列変換手段は、前記分割されたｋ個のメモリの最初のアドレスを前記順位の１〜ｋの前記ブロックに順次割当て、２番目のアドレスを前記順位の２ｋ，ｋ＋１〜２ｋ−１の前記ブロックに順次割当て、３以上のアドレスがある場合には３番目のアドレスを前記順位の３ｋ−１，３ｋ，２ｋ＋１〜３ｋ−２の前記ブロックに順次割当て、一般式Ｐｋ−（Ｐ−２）〜Ｐｋ〜Ｐｋ−（Ｐ−１）（ただし、Ｐは２以上の整数）において前記分割されたｋ個の各メモリのアドレスの増加に従って先頭ブロックを増加分に対応して順次分割された次のメモリに繰下げかつ分割された最後のメモリの次は分割された最初のメモリへと循環させてシフトさせて割当てて前記ブロックのｍビットデータを記憶する請求項５記載の画像データ回転処理装置。
【請求項７】
前記第１のｍビットデータ配列変換手段は、ｋ列×ｊ行のｋ×ｊ個の第１のマルチプレクサを有し、前記記憶手段は、前記メモリに書込まれる画像データの１アドレス分のｎビットのデータを順次受けるｋ−１アドレス分を記憶するｋ−１個のレジスタからなり、前記ｋ列の第１のマルチプレクサのうちのｋ−１列は、それぞれ前記レジスタに対応して設けられて前記レジスタを介して前記画像データの１アドレス分のデータを順次受け、残りの１列の前記第１のマルチプレクサは、前記画像データの１アドレス分のデータを直接受け、各行の前記ｋ個の第１のマルチプレクサは、前記画像データの１アドレスにおけるｎビットのデータのうちの特定のブロック位置のｍビットのデータｋ個を順次選択して前記メモリの１アドレスのビット幅方向のデータｋ個に変換し、前記ｋ列×ｊ行の第１のマルチプレクサは、前記ｋ個の分割されたメモリの各アドレスに同時にｋ個のｍビットのデータをｎビットデータとして記憶する請求項６記載の画像データ回転処理装置。
【請求項８】
前記第２のｍビットデータ配列変換手段は、前記メモリの各アドレスから読み出される配列変換されたｎビットのデータを受けて前記所定の回転角度に応じて前記ｍビット単位のデータを分配するｋ個のマルチプレクサを有し、ｋ個の前記マルチプレクサのそれぞれは、前記所定の回転角に応じて前記メモリの１アドレスから読出される前記ｎビットのデータのうちのビット幅方向における異なる所定のｍビットのデータあるいはこのｍビットデータのうちの所定の位置のビットを選択する請求項２記載の画像データ回転処理装置。
【請求項９】
前記第２のｍビットデータ配列変換手段は、前記メモリの各アドレスから読み出される配列変換されたｎビットのデータを受けて前記所定の回転角度に応じて前記ｍビット単位のデータを分配するｋ個の第２のマルチプレクサを有し、ｋ個の前記第２のマルチプレクサのそれぞれは、前記所定の回転角に応じて前記メモリの１アドレスから読出される前記ｎビットのデータのうちのビット幅方向における異なる所定のｍビットのデータあるいはこのｍビットデータのうちの所定の位置のビットを選択する請求項８記載の画像データ回転処理装置。
【請求項１０】
前記第１のマルチプレクサは、マシンサイクルに対応して選択された前記ｍビットのデータを分配し、前記第２のマルチプレクサは、前記マシンサイクルに対応して選択された前記ｍビットのデータあるいはこのｍビットデータのうちの所定の位置のビットを分配する請求項９記載の画像データ回転処理装置。
【請求項１１】
前記所定の回転角は、０度，９０度，１８０度、２７０度から選択された角度である請求項２記載の画像データ回転処理装置。
【請求項１２】
前記第２のマルチプレクサは、前記メモリの各アドレスから読出されたｎビットのデータを受けて０度あるいは１８０度回転のいずれかに回転させるｍビットデータの選択が可能なｋ個の第１の回転データ選択用のマルチプレクサと、前記メモリの各アドレスから読出されたｎビットのデータを受けて９０度あるいは２７０度回転のいずれかに回転させるｍビットデータの選択が可能なｋ個の第２の回転データ選択用のマルチプレクサと、前記第１および第２の回転データ選択用のマルチプレクサから選択された前記ｍビットデータを受けて、選択された回転角のｎビット配列データを復元するためのデマルチプレクサと、このデマルチプレクサのｍビットを受けてｎビット幅の“１８０度あるいは２７０度回転のためのビット配列反転回路とを有し、いずれかの回転角が選択される請求項１１記載の画像データ回転処理装置。
【請求項１３】
前記メモリは、ｋ個のバンクあるいはｋ個の独立のメモリからなり、前記第１のｍビットデータ配列変換手段は、前記画像データをｍアドレス×ｍビットサイズのｎ個のブロックに分けて、前記画像データに設定される前記ブロックをアドレス方向に対してビット幅方向を優先させて１からｊ×ｋの順位付けをした場合において、１番目のブロックのｎビットのデータを１番目の独立の前記メモリあるいは前記バンクの１番目のアドレスで示される領域に書込み、２番目のブロックのｎビットのデータを２番目の独立の前記メモリあるいは前記バンクの１番目のアドレスで示される領域に書込み、以下同様にしてｋ番目のブロックのｎビットのデータをｋ番目の独立の前記メモリあるいは前記バンクの１番目のアドレスで示される領域への書込みまで行い、次に、ｋ＋１番目のブロックのｎビットのデータを２番目の独立の前記メモリあるいは前記バンクの２番目のアドレスで示される領域に書込み、ｋ＋２番目のブロックのｎビットのデータを３番目の前記メモリあるいは前記バンクの２番目のアドレスで示される領域に書込み、以下同様にして２ｋ番目のブロックのｎビットのデータを１番目の独立の前記メモリあるいは前記バンクの２番目のアドレスで示される領域への書込みまで行い、次に、２ｋ＋１番目のブロックのｎビットのデータを３番目の独立の前記メモリあるいは前記バンクの３番目のアドレスで示される領域に書込み、以下同様にして書込む独立の前記メモリあるいは前記バンクとそのアドレスを一つずつずらして行きｎ番目のブロックまですべて書込んで行く請求項１記載の画像データ回転処理装置。
【請求項１４】
前記メモリに記憶したデータから所望の回転をしたデータを得るための、前記メモリから読出したｎビットからｍビット選択する０度あるいは１８０度のいずれかを選択する第１のマルチプレクサをｍ個設け、前記メモリから読出したｎビットからｍビット選択する９０度あるいは２７０度のいずれかの選択が可能な第２のマルチプレクサをｍ個設け、前記第１および第２のマルチプレクサから選択的に選択されたｍビットが入力されてｎビットの内のあるｍビットのみ選択するデマルチプレクサをｍ個設け、このｍ個のデマルチプレクサの出力を受けてｎビット幅の１８０度あるいは２７０度回転のためのビット配列反転回路を設けた請求項１３記載の画像データ回転処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ディスプレイ装置あるいはプリンタ装置等のデータ出力装置に送出される画像データ、例えば、フォントデータ、１画面分の表示データまたは１ページ分の紙の印刷データ等の入力画像のビットデータに対して、０度、９０度、１８０度、２７０度回転処理を行なって、ディプレイ装置に表示し、あるいはプリンタ装置のプリントバッファに記憶されてプリンタエンジンに出力される画像データの回転処理において、論理的な処理を低減しあるいは論理処理に換えてビット選択処理を用いることにより、高速回転処理が可能な画像データ回転処理装置に関する。
【背景技術】
【０００２】
従来の画像データ回転処理装置としては、例えば、特開平７−２６２３６４号公報にフォントデータ（ビットデータ）を回転処理する技術が開示されている（特許文献１）。これに記載された装置においては、入力画像の各ビットデータをアドレス値分だけそれぞれにシフトさせてメモリの各アドレスに順次書込み、画像データ読出し時に回転角度に応じて必要な各ビットのアドレスを演算し、演算されたアドレスに従ってメモリからシフトとされた各ビットデータを読出し、さらに読出された各ビットデータを回転角度に応じてシフト回路でシフトするものである。なお、回転角度によってはビットアライン変換器でビット配列が反転されて、これらのことで求める回転画像の各ビットデータを得ている。
このとき、メモリに対する回転処理に応じた各ビットデータの読出アドレスは、シフトして書込む処理をする分だけ、演算処理が軽減されて簡単にアドレスが算出できる。
その結果、算出アドレス値に応じたビットデータのシフトによって、回転後のビットデータの生成が容易にできる利点がある。
【０００３】
【特許文献１】特開平７−２６２３６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このようなシフト処理による画像データ回転処理装置では、メモリに書込む前と読出し時に、シフト回路によるシフト処理が必要になる。そのシフト処理は、１６ビット単位のビットデータでは、場合により１ビットシフトから１５ビットシフトまで必要になるため、論理回路を減らそうとするとスループットが低下する問題がある。
仮に、１シフトに、例えば、１マシンサイクル＝２５ｎｓ要するとすると、１５ビットシフトだけで１５×２５＝３７５ｎｓ要することになる。そのため、回転処理データ生成のスループットが低下する。
もしも、性能を上げて極力シフトに要する時間を減らそうとすると、それに反比例して論理回路が増大して、回路規模が大きくならざるを得ない。そのため、少ない論理回路で処理性能を上げることができない欠点がある。
この発明の目的は、このような従来技術の問題点を解決するものであって、論理的な処理を低減しあるいは論理処理に換えてビット選択処理を用いることにより、高速回転処理が可能な画像データ回転処理装置を供することである。
【課題を解決するための手段】
【０００５】
このような目的を達成する第１の発明の特徴は、ｊを１以上の整数とし，ｋ，ｍを２以上の整数とし、ｎ＝ｋｍ、Ｌ＝ｊｋとして、Ｌアドレス×ｎビットサイズの画像データを格納するメモリを有する画像データ回転処理装置において、
画像データのアドレス方向にｋ個単位、ビット幅方向にｍビット単位でメモリに書込まれる画像データに対してｋアドレス×ｍビットサイズのｊ×ｋ個のブロックを設定して、アドレス方向の各ブロックのｍビットデータｋ個を、アドレスの増加する方向とメモリのビット幅方向とを対応させてメモリの１アドレス分のｎビットデータに配列変換して各ブロックをメモリの１アドレスに割当てて記憶する第１のｍビットデータ配列変換手段と、メモリの各アドレスがアクセスされて配列変換された前記画像データが順次読出されたときに読出されたｍビット単位のデータを所定の回転角度の１アドレスｎビットの配列データに変換して画像データを生成する第２のｍビットデータ配列変換手段とを有するものである。
また、第２の発明の特徴は、ｊ＝ｋとして、前記のアドレス方向もｋ個のブロックに分割して、前記のブロックをｋ×ｋ個設け、前記メモリをｋ個のアドレスを持つｎビット幅のｋ個のメモリに分割してそれぞれ設ける。そして、第１のｍビットデータ配列変換手段は、メモリに書込まれる画像データにおけるｋアドレスあるいはｋ−１アドレス分のｎビットデータを記憶する記憶手段を有している。この記憶手段に記憶されたｋアドレスあるいはｋ−１アドレス分＋読出１アドレス分の画像データをｍビットデータに分割して配列変換を行いｋ個の分割されたメモリのそれぞれの１アドレスに配列変換されたｎビットビットデータを同時に記憶するものである。
【発明の効果】
【０００６】
前記の第１の発明によれば、画像データにおける、本来のｋ個のアドレス方向配置されるｍビットデータがｎビットのデータとしてメモリの各アドレスのビット幅方向に配列変換されて画像データ用のメモリに記憶されているので、１アドレスをアクセスするだけで、ｋアドレス分の各ｍビットデータを得ることができる。そこで、所定の回転角のビットマップを形成する際に１アドレスをアクセスしてｍビット単位で０度あるいは１８０度回転のためのアドレス方向への配列変換処理をすることが容易にでき、あるいは、９０度あるいは２７０度回転のためにビット幅方向への変換も容易にできる。
これにより、配列変換したｍビットデータからｎビットの回転処理後の配列ビットデータを高速に得ることができる。
前記の第２の発明によれば、画像メモリがｋ個のアドレスを持つｎビット幅のメモリブロックあるいはバンクメモリに分割され、ｋ個パラレルに設けられて構成される。これにより、分割された各メモリの１アドレスに同時に配列変換したｋ個のｍビットデータをｎビットデータとして記憶することができる。その結果、ブロックに対応する前記の配列変換が同時にできるので、さらに高速な処理が可能になる。
通常、９０度、２７０度の各回転処理は、回転に応じて０度の時の各ビットがアドレス方向にある位置からビット幅方向あるいはその逆にビット幅方向からアドレス方向へと移動する。１８０度のときには、回転に応じて０度の時の各ビットが点対称となる位置に移動する。さらに、回転角度に応じて前後のビット入れ換えがある。
そこで、０度を基準とせずに、あらかじめｋ×ｍ個のブロックに分けて各ブロックのｍビット単位で９０度の回転に近い状態になるように、メモリのアドレス方向のデータｍビットをビット幅方向に移動させておいて、１アドレスのアクセスでアドレス方向に配列されるｍビットデータを同時にｋ個読出せるようにして、回転中間状態で画像データをメモリに記憶する。
これにより、１アドレスのアクセスで複数アドレス方向のデータｍビットが得られるので、１ビット対応にビット配列変換する場合よりも、９０度、１８０度、２７０度のビット配列を得ることが容易になる。また、０度の場合にも配列変換を行うが、それは、各アドレスをアクセスしてビット幅方向のビットをアドレス方向のブロックへとブロック単位に移動させるだけで済むので、高速に元に戻すことが可能である。
その結果、メモリに書込む前と読出し時のシフト処理が不要となり、アドレス演算も行わなくて済むために、論理的な処理が低減され、あるいは論理処理に換えてビット選択処理を用いることにより、高速処理ができる画像データ回転処理装置を実現できる。
【発明を実施するための最良の形態】
【０００７】
この発明の実施例としては、ｎ×ｎビットサイズの画像データを格納するｎビット×ｍアドレスから成るメモリをｍ個設ける。そして、ｎ×ｎビットサイズの画像データをｍ×ｍビットサイズのｎ個のブロックに分ける。なお、アドレス方向に行を採り、ビット幅方向に列を採って、ｎ行、ｎ列のブロックとして以下説明する。
ここで、画像データに設定されるブロックをアドレス方向に対してビット幅方向を優先させて１からｊ×ｋの順位付けをした場合において、このｎ個のブロックの内の、１行目の１番目のブロックのｎビットのデータを１番目のメモリの１番目のアドレスで示される領域に書込み、２番目のブロックのｎビットのデータを２番目のメモリの１番目のアドレスで示される領域に書込み、以下同様にしてｋ番目のメモリの１番目のアドレスで示される領域への書込みまで行なう。
これにより、ｎ×ｎ個のブロックを設定した画像データの最初の１行目のビット幅方向にあるブロックのｍビットデータがメモリにｍアドレスおきに１アドレス対応に記憶される。
【０００８】
次に、ｋ＋１番目のブロックのｎビットのデータを２番目のメモリの２番目のアドレスで示される領域に書込み、ｋ＋２番目のブロックのｎビットのデータを３番目のメモリの２番目のアドレスで示される領域に書込み、以下同様にして２ｋ番目のブロックのｎビットのデータを１番目のメモリの２番目のアドレスで示される領域への書込みまで行なう。これにより、画像データの第２行目のビット幅方向にあるブロックのｍビットデータがメモリにｍアドレスおきに１アドレス対応に記憶される。
さらに、２ｋ＋１番目のブロックのｎビットのデータを３番目のメモリの３番目のアドレスで示される領域に書込み、以下同様にして書込むメモリとそのアドレスを一つずつずらして行きｎ番目のブロックまですべて書込んで行く。これにより、画像データの第３行目以降のビット幅方向にあるブロックのｍビットデータがメモリにｍアドレスおきに１アドレス対応に記憶される。
このようにして、画像データに設定した各ブロックのｍビットデータをメモリの１アドレスに割当てて記憶していく。
ここで、２行目以降のブロックをシフトさせて、分割されたｎ個の各メモリのアドレスの増加に従って先頭ブロックを増加分に対応して順次分割された次のメモリに繰下げかつ分割された最後のメモリの次は分割された最初のメモリへと循環させてシフトさせて割当ててブロックのｍビットデータを記憶する。このようにすることで、アドレス方向に配列される各ブロックのｍビットデータをｎ個に分けたメモリから同時に読出すことが可能になる。
また、次に説明する実施例では、分割したｍビットデータを効率よく、メモリの１アドレスに割付記憶するために、ｎビット幅の入力バッファを“ｍ−１”個設けてある。そして、ｎビットからｍビットを選択するメモリ書込み用のマルチプレクサをｎ個設けてある。
さらに、以下の実施例では、メモリに記憶した回転中間状態に配列変換したｍビットデータから所望の回転をした画像データを得るために、メモリから読出されたｎビットデータからｍビット選択する０度／１８０度回転用マルチプレクサをｍ個設けてある。ｎビットからｍビット選択する９０度／２７０度回転用マルチプレクサもｍ個設けてある。
また、ｍビットを入力してｎビットデータ内のあるｍビットデータのみ選択するデマルチプレクサをｍ個設けて、ｎビットの所定の回転角のデータを得る。さらに、ｎビット幅の１８０度／２７０度回転用のビット配列反転回路も設けてある。
【実施例１】
【０００９】
以下、この発明にかかる一実施例を図面を参照しながら説明する。
図１は、この発明の一実施例の画像データ回転処理装置におけるブロック分割による画像データメモリ書込み処理の説明図、図２には、その書込画像データと画像データメモリのビットマップの説明図、図３は、９０度，１８０度、２７０度の回転処理のビットマップによる説明図、図４は、この発明を適用した一実施例のプリンタ等に内蔵される画像データ回転処理装置の全体的な構成を示すブロック図、図５は、その画像データメモリに記憶する画像データの配列変換書込処理回路のブロック図、図６は、画像データに設定される前記ブロックをアドレス方向に対してビット幅方向を優先させて１からｊ×ｋの順位付けをした場合の説明図、図７は、配列変換読出処理回路のブロック図、そして図８〜図１１は、画像データメモリから読出した配列変換されたデータを回転させるデータの配列変換読出処理のための各回路のブロック図である。
図４において、１は、プリンタ等に内蔵される画像データ回転処理装置であって、画像データメモリ１００を有している。１０は、回転前の画像データを出力するコンピュータ等のＭＰＵである。内部メモリあるいは外部メモリには、回転前の画像データ２００が記憶されている。
この発明では、画像データメモリ１００に記憶する画像データ１画面分のビットデータに対してｊ×ｋ個のブロックを設定してブロック分割し、ｍビットデータ単位で画像データを処理をしてブロック対応に画像データメモリ１００の各アドレスに記憶する処理をする。そのため、メモリに書込まれる画像データをｋアドレス×ｍビットサイズのｊ×ｋ個のブロックで管理する。
【００１０】
図１は、この場合のブロック分割による画像データメモリ書込み処理を説明するものであり、図２は、画像データ１画面分のビットマップと、画像データメモリ１００のビットマップの具体的な説明図である。
図１の横にしてその左側に示すように、画像データ１画面分をＡとし、ｍ＝４，ｋ＝４，ｊ＝４として、画像データＡを１６アドレス×１６ビットで４アドレス×４ビットを１ブロックとし、１６個に分割したものを例として以下説明する。
各ブロックは、説明の都合上、先とは逆に、そのビット幅方向に対してアドレス方向を優先させて１からｊ×ｋの順位付けをしてブロック分割してある。
なお、アドレス方向を優先に各ブロックに順位付けをするのは、回転処理のときに一度にアドレス方向の４ブロックのデータを読出せることを説明するためである。このブロック順位は、前記したように、ビット方向を優先させて番号付けしてもよいことはもちろんである。
そこで、画像データＡは、図１に示すように、ブロック(1)〜ブロック(16)となる。画像データＡは、これら１６個のブロック(1)〜ブロック(16)で管理され、このブロックに従って各ブロックのｍビットのデータが画像データメモリ１００の各１アドレスへ順次記憶される。
ここでは、画像データメモリ１００を図面右側に示すように、４バンク構造のバンクメモリ１０４〜１０７で構成して、バンクメモリ１０４〜１０７に同時に４ブロックのｎビットデータを記憶する。このことで書込み処理の高速化を図る。
その結果、画像データメモリ１００に記憶される画像データＡの各ブロックは、図１の右側に示す状態になる。
なお、各バンクメモリの１０４〜１０７のアドレス２以降では、ブロック分割した２列目以降の各ブロックの記憶は、例えば、ブロック(5)が２番目のバンクメモリ１０５に後退してバンクメモリの１０４に記憶されるブロックがブロック(8)になっている。それぞれのブロックの順位がシフトしているが、その理由は、画像データメモリ１００の各バンクメモリのアドレスからデータを読出したときに、列方向（アドレス方向）にある４ブロックを同時に読出すためである。
具体的には、バンクメモリ１０４のアドレス１、バンクメモリ１０５のアドレス２、バンクメモリ１０６のアドレス３、バンクメモリ１０７のアドレス４を同時にアクセスして各ブロックの１６ビットのデータを読出したときに、画像データＡのアドレス方向にある縦のブロック(1)〜ブロック(4)が同時に読出せる。これにより回転処理の論理回路が単純になる。なぜなら、９０度回転，２７０度回転では、縦方向（アドレス方向）にあるものを横方向（ビット幅方向）に変換していくからである。この点を理解し易いように、前記では、ブロックの順位をアドレス方向を優先して番号付けしてある。
【００１１】
ここでは、画像データメモリ１００の１アドレスに書込まれる書込みデータは、１ブロック分のデータに対応している。言い換えれば、画像データのアドレス方向にあるｍビット（ｍ＝４）のデータｋ個（ｋ＝４）がアドレス方向から画像データメモリ１００のビット幅方向へ配列変換されて１アドレスにｎビット（ｎ＝４×４）として書込まれる。
図２は、この関係を示すビットマップであり、その画像データＡのビットマップＡとビットマップＢはこの関係を示している。
図２のビットマップＡは、ＭＰＵ１０等から出力される画像データＡの１画面分あるいは１表示エリア分（以下ではこれらを含めて１画面分として以下説明する。）のビットマップである。
ここでのブロック単位の配列変換を理解し易くするために、ビットマップＡには、図１の１６分割したブロック(1)〜ブロック(16)に対応して、各ブロックのｍビット（ｍ＝４）に対してその各ビット位置に、“００”〜“ＦＦ”までの１６ビット符号で順次ラベル付けしてある。
ここで、Ｂの画像データメモリ１００に記憶される画像データの１画面分の配列変換されたビットマップを参照する。ビットマップＡの１ブロックのアドレス方向にあるｍビットがビットマップＢの１アドレスのビット幅方向に配列変換されていることが判る。
これにより、画像データメモリ１００の１アドレスのアクセスで元の画像データのアドレス方向のｋアドレス（ｋ＝４）分のｍビットのデータを同時に読出すことが可能になる。言い換えれば、１アドレスにｍビット単位で中間的な回転状態のｍビットデータを画像データメモリ１００に記憶している。
図３のビットマップＣは、画像データメモリ１００から読出したデータをｍビット単位で９０回転角度に応じて配列した１画面分のビットマップである。図３のビットマップＣ〜Ｅは、回転後の画像データが図４の出力バッファメモリ２０３に記憶された状態である。なお、０度回転の場合にはビットマップＡと同じとなるので、図示してはいない。
【００１２】
各ブロックのｍビットデータの配列変換を効率的に行うために、この実施例では、画像データメモリ１００を前記したように４バンク構造にしている。これにより、画像データＡの１アドレス分のｎビットデータを４アドレス置きに各メモリバンクに同時に書込むことができる。画像データＡの１アドレス分のｎビットデータは、ここでは、ビット幅方向（横方向，列方向）にある４ブロックに相当するので、これら４ブロックが記憶される図１の画像データメモリ１００のアドレスに記憶するために、画像データＡの１アドレス分のデータを４個のバンクメモリに分配して記憶する処理をする。これにより、特定のブロックのアドレス方向にある各ブロックのｍビットデータを画像データメモリ１００上のビット幅方向に変換していく。
図２の画像データのビットマップＡと画像データメモリ１００のビットマップＢとの対比で判るように、画像データの１アドレスのｍビットデータは、列方向にある複数のブロックに亙っている。そのため、１アドレスとして読出された各ｍビットのデータは、それが属するブロックが割当てられる画像データメモリ１００のアドレス位置に分配して記憶することが必要になる。
【００１３】
以下その処理を具体的に説明する。
配列変換の具体的な方法は、画像データＡの１アドレス分のｎビット（ｎ＝１６）のデータをｋ個（ｋ＝４）のｍビットデータ（ｍ＝４）に分割して画像データメモリ１００にｋ（＝４）アドレスおきに分配し、かつ、各ブロックのアドレス方向のｋ個×ｍ（＝１６）ビットデータを画像データメモリ１００のビット幅方向に展開して記憶していく。これにより、結果として、画像データメモリ１００の各アドレスには、ビットマップＢに図示するような関係で各ビットデータが記憶される。
具体的には、図２のビットマップＡの１行目におけるブロック(1)のｍビットの各データは、バンクメモリ１０４（特定の記憶領域１０４でも可，以下同じ）の最初のアドレス“００”に記憶され、ブロック(5)のｍビットの各データは、各バンクメモリ１０５（記憶領域１０５）の最初のアドレス“００”に記憶され、ブロック(9)のｍビットの各データは、各バンクメモリ１０６（記憶領域１０６）の最初のアドレス“００”に記憶され、ブロック(13)のｍビットの各データは、各バンクメモリ１０７（記憶領域１０７）の最初のアドレス“００”に記憶される。
そして、ビットマップＡの２行目におけるブロック(2)のｍビットの各データは、各バンクメモリ１０５（記憶領域１０５）の２番目のアドレス“０１”に記憶され、次のブロック(6)のｍビットの各データは、各バンクメモリ１０６（記憶領域１０６）のアドレス“０１”に記憶され、以下同様にして(6)〜(16)の各ブロックのｍビットのデータが図１に示す関係で記憶される。
これにより各ブロックのｍビットのアドレス方向のデータは、ビット幅方向に配列変換される。この変換は、元の画像データＡの１アドレスのビット幅方向に着目すると、そのｍビットデータが画像データメモリ１００上で逆にアドレス方向に変換されるものでもある。
その結果、画像データメモリ１００の１アドレスの各ｍビットデータが９０度回転状態のときに近い、元の画像データのアドレス方向にあるｋ個のｍビットデータとなり、回転の中間状態で各アドレスそれぞれに配置されることになる。そこで、画像データメモリ１００の１アドレスをアクセスするだけでこの中間状態のｍビットのデータｋ個を同時に読出すことができる。ここで、中間状態とは、画像データメモリ１００において、図１の画像データＡのアドレス方向にある縦の４ブロックがバンクメモリ１０４〜１０７から同時に読出せる関係になっている状態である。
【００１４】
このような画像データメモリ１００の１アドレスの各ｍビットデータを読出して、回転角度に応じて変換した結果として０度回転処理をすると、ビットマップＡに示す画像データ１画面分になる。これは、Ｂの１画面分のビットマップを前記とは逆配列変換をして各グループ(1)〜(16)をビットマップＡのように配列し直せば１画面分のビットマップＡが得られる。
次に、９０度回転処理のビットマップＣについて説明すると、これは、ビットマップＡの各ブロックを９０度回転させて、例えば、ブロック（1）をブロック(4)の位置に移し、ブロック（4）をブロック(16)の位置に移して、それぞれのブロックのビット幅方向（横方向）にあるｍビットをアドレス方向（縦方向）にすればよい。
画像データメモリ１００の１画面分のビットマップＢの、例えば、バンクメモリ１０７（記憶領域１０７）のアドレス００から一度に読出される、ブロック（13）のラベル“Ｃ０”〜“Ｃ３”の４ビット、“Ｃ４”〜“Ｃ７”の４ビット、ラベル“Ｃ８”〜“ＣＢ”の４ビット、ラベル“ＣＣ”〜“ＣＦ”の４ビットに着目してみると、これらの各ｍビットのデータが９０度回転して前後が下、上に反転してアドレス方向に変換されてＣのビットマップのブロック(1)に相当する位置に移動している。
【００１５】
このように、Ｂの１画面分のビットマップの１アドレス分のｎビットのデータをｍビットのデータとしてビット幅方向からアドレス配列方向に変換して回転角度に対応する所定のブロック位置、例えば、ブロック（13）のｍビットデータをブロック（1）の位置に移動する配列変換処理をし、必要に応じてビット配列の前後を上下に入れ換える処理するだけで、９０度の回転処理の１画面分のビットマップＣが得られる。その実際については後述する。
このように、９０度回転の場合には、ビットマップＢの各アドレスから読出される各ブロック対応のｍビット単位のビットデータを横（ビット幅方向）から縦（アドレス方向）に配列変換して９０度回転したブロック位置に割当てればよい。
【００１６】
図３のビットマップＤ，Ｅは、それぞれ１８０度と２７０度の回転処理のビットマップである。
Ｄに示す画像データ１画面分のビットマップが１８０度回転処理をしたものから説明すると、画像データメモリ１００の１画面分のビットマップＢの、例えば、バンクメモリ１０６（記憶領域１０６）のアドレス１１から一度に読出される、ブロック(16)のラベル“Ｆ０”〜“Ｆ３”の４ビット、ラベル“Ｆ４”〜“Ｆ７”の４ビット、ラベル“Ｆ８”〜“ＦＢ”の４ビット、ラベル“ＦＣ”〜“ＦＦ”の４ビットに着目してみると、これらの１アドレス分の各ｍビットのデータが１８０度回転して前後が反転してアドレス方向に変換されて、ビットマップＤのブロック(1)に配列されていることが判る。ここに、ブロック(16)とブロック(1)とは１８０度回転した位置関係にある。
このように、１画面分のビットマップＢの１アドレス分のｎビットのデータをｍビットのデータとしてビット幅方向からアドレス配列方向に変換してビット配列を反転させて所定のブロック位置に配列する処理をするだけで、１８０度の回転処理のＤの１画面分のビットマップが得られる。なお、ビット配列の反転は、図４のビット配列反転回路１０８で行う。これは、例えば、双方向シフトのシフトレジスタにｍビットのデータをセットして逆方向にシフトして読出せばよい。
【００１７】
Ｅに示す画像データ１画面分のビットマップが２７０度回転処理をしたものについて説明すると、同様に、画像データメモリ１００の１画面分のビットマップＢの、例えば、バンクメモリ１０７（記憶領域１０７）のアドレス１１から一度に読出される、ブロック(4)のラベル“３１”〜“３３”の４ビット、ラベル“３４”〜“３７”の４ビット、ラベル“３８”〜“３Ｂ”の４ビット、ラベル“３Ｃ”〜“３Ｆ”の４ビットに着目してみると、これらの１アドレス分の各ｍビットのデータが２７０度回転して前後が反転してアドレス方向に変換されかつ上下が反転してビットマップＥのブロック(1)に配列されていることが判る。
このように、１画面分のビットマップＢの１アドレス分のｎビットのデータをｍビットのデータとしてビット幅方向からアドレス配列方向に変換してビット配列を反転させて回転角度に応じた所定のブロック位置に配列する処理をするだけで、２７０度の回転処理のＥの１画面分のビットマップが得られる。
【００１８】
図４は、以上のような回転処理を行う、プリンタ等に内蔵される、画像データ回転処理装置１の全体的な構成を示すブロック図である。
なお、通常、ｍ×ｋビット（１６ビット）幅のメモリの１アドレスにデータを記憶する場合には、１６ビット揃ってから一度に記憶しないと効率が悪いので、この実施例では、画像データＡの４アドレス分が読出されて、それがバンクメモリの４アドレス分に分配されて１６ビットのデータが一度に各バンクメモリ１０４〜１０７に記憶される。そのために配列変換書込処理回路２０１に入力バッファが設けられている。
パーソナルコンピュータ等に内蔵されたＭＰＵ１０の内部メモリあるいはその外部メモリには、回転前画像データ２００（１画面分ビットマップＡに相当）が記憶されている。ＭＰＵ１０は、これの各アドレスを順次アクセスしてｎビットデータとして画像データ回転装置１を内蔵するプリンタ等の側に転送する。ＭＰＵ１０から順次出力された回転前画像データ２００がｎビットデータごとに順次画像データの配列変換書込処理回路２０１に入力される。
配列変換書込処理回路２０１は、入力バッファ１０１〜１０３と、メモリ書込みのための書込側マルチプレクサ１３７とからなり、入力バッファ１０１〜１０３を介しまたは直接に書込側マルチプレクサ１３７に受けたｎビットのデータを、ｍビットに分割してバンクメモリ１０４〜１０７からなる画像データメモリ１００に前記のビットマップＢのフォーマットに配列変換して格納する。
【００１９】
画像データメモリ１００に格納された配列変換されたｍビットデータは、その各バンクメモリ１０４〜１０７から配列変換読出処理回路２０２により読出される。
なお、図中、書込制御回路２は、メモリ書込みのための書込側マルチプレクサ１３７と画像データメモリ１００に制御信号を送出して書込側マルチプレクサ１３７を介してマシンサイクルに対応して画像データメモリ１００にデータを書込む処理を行う回路である。クロック発生回路３は、画像データメモリ１００と各マルチプレクサ等にマシンサイクルに対応したクロックＣＬＫを送出する。読出制御回路４は、画像データメモリ１００の１アドレスからデータを読出して、マシンサイクルに対応して読出側マルチプレクサ／デマルチプレクサ１３８とビット配列反転回路１０８、そして出力バッファメモリ２０３に反転したｍビットデータを転送し、セットする制御をする。
なお、書込制御回路２と、クロック発生回路３、読出制御回路４は、コントローラ５により制御される。
コントローラ５は、さらに、外部から指定された回転角度に応じて配列変換読出処理回路２０２に回転角選択信号Ｓを送出する。この回転角選択信号Ｓに応じて配列変換読出処理回路２０２のマルチプレクサ／デマルチプレクサの回転処理の角度が選択され、画像データメモリ１００から読出されたビットデータに対して所定の回転角度処理が行われる。
【００２０】
配列変換読出処理回路２０２は、メモリ読出のための読出側マルチプレクサ／デマルチプレクサ１３８とビット配列反転回路１０８とからなり、読出側マルチプレクサ／デマルチプレクサ１３８を介し、ビット配列反転回路１０８を介しまたは直接に各バンクメモリ１０４〜１０７から画像データを読出すことにより、０度回転後画像データ（ビットマップＡ参照）または９０度回転後画像データ（ビットマップＣ参照）または１８０度回転後画像データ（ビットマップＤ参照）または２７０度回転後画像データ（ビットマップＥ参照）を得て、それを、回転後の画像データを保持できるような、例えば、出力バッファメモリ２０３などに記憶する。
なお、出力バッファメモリ２０３の回転データは、コントローラ等（図示せず）により読出されてプリンタエンジン等に出力されて、印刷される。
【００２１】
以下詳細に各回路についてその具体例を説明する。
図５は、配列変換書込処理回路２０１を中心とする回路である。
図４の書込側マルチプレクサ１３７は、ｍビットデータ分割、配列変換のために、マルチプレクサ１０９〜１２４を有している。マルチプレクサ１０９〜１１２は、バンクメモリ１０４に対応して設けられ、バンクメモリ１０４に分割したたｍビットデータを書込む、マルチプレクサ１１３〜１１６は、メモリ１０５に対応して設けられ、メモリ１０５に分割したｍビットデータを書込む。マルチプレクサ１１７〜１２０は、メモリ１０６に対応して設けられ、メモリ１０６に分割したｍビットデータを書込む。マルチプレクサ１２１〜１２４は、メモリ１０７に対応して設けられ、メモリ１０７に分割したたｍビットデータを書込む。
図５においては、説明の都合上、１マシンサイクルごとに回転前画像データ２００の内の１６ビットずつが順番に配列変換書込処理回路２０１に入力されるものとする。すなわち、最初のマシンサイクルで回転前画像データ２００の内、アドレス００００と記したところのビット０〜１５のデータ位置００，０１，０２，０３，４０，４１，４２，４３，８０，８１，８２，８３，Ｃ０，Ｃ１，Ｃ２，Ｃ３が入力され、入力バッファ１０１にセットされる。
次のマシンサイクルで回転前画像データ２００の内、アドレス０００１と記したところのビット０〜１５のデータ位置０４，０５，０６，０７，４４，４５，４６，４７，８４，８５，８６，８７，Ｃ４，Ｃ５，Ｃ６，Ｃ７が同様にして入力バッファ１０２に入力される。以下同様に、アドレス００１０のビット０〜１５が入力バッファ１０３に入力され、アドレス００１１のビット０〜１５がマルチプレクサ１１２にセットされる。
これにより、バンクメモリ１０４への書込みデータ１行分の１６ビットが第１行目のマルチプレクサ１０９〜１１２に揃うことになる。入力バッファ１０１〜１０３の入力データとマルチプレクサ１１２の入力データは、２行目〜４行目のマルチプレクサ１１３〜１１６，マルチプレクサ１１７〜１２０，マルチプレクサ１２１〜１２４にも同時に入力されるので、４マシンサイクル単位にバンクメモリ１０４〜１０７の各行分の書込みデータがそれぞれに揃うことになる。
【００２２】
書込側マルチプレクサ１３７の各マルチプレクサのｍビットデータ分割、配列変換のための信号線の接続について以下説明する。
回転前画像データ２００の１６ビットのデータ信号線は、入力バッファ１０１、入力バッファ１０２、入力バッファ１０３の入力側にビット０〜１５がそのまま接続されている。
なお、回転前画像データ２００の１６ビットのデータ信号線は、バンクメモリ１０４に対応して設けられたマルチプレクサ１０９〜１１２、メモリ１０５に対応して設けられたマルチプレクサ１１３〜１１６、メモリ１０６に対応して設けられたマルチプレクサ１１７〜１２０、メモリ１０７に対応して設けられたマルチプレクサ１２１〜１２４の入力側にはビット０〜１５がそのままではなく、４ビット単位で桁位置が規則的にずれて接続されている。
そして、バンクメモリ１０４対するマルチプレクサ１０９〜１１２、メモリ１０５対するマルチプレクサ１１３〜１１６、メモリ１０６対するマルチプレクサ１１７〜１２０、メモリ１０７対するマルチプレクサ１２１〜１２４の出力側は、４ビット単位でビット０〜１５がそのままバンクメモリ１０４、メモリ１０５、メモリ１０６、メモリ１０７の入力側に接続されている。
４ビット単位で桁位置の規則的なずれは、行方向に配列された４個のマルチプレクサ１０９〜１１２が４アドレス分ｎ読出データを受けたときに、行方向にある、ある１ブロック分のｍビットデータをバンクメモリ１０４の１アドレスのビット幅に変換する。同様にして４個のマルチプレクサ１１３〜１１６が、行方向にある、他の１ブロックのｍビットデータをバンクメモリ１０５の１アドレスのビット幅に変換し、４個のマルチプレクサ１１７〜１２０が、行方向にある、さらに他の１ブロックのｍビットデータをバンクメモリ１０６の１アドレスのビット幅に変換する。そして、最後の４個のマルチプレクサ１２１〜１２４が、行方向にある、最後の他の１ブロックのｍビットデータをバンクメモリ１０７の１アドレスのビット幅に変換する。各マルチプレクサ１０９〜１２４の選択切換えにより１行目の各ブロックから４行目のブロックまで順次選択する行が切換えられていく。
【００２３】
具体的には、バンクメモリ１０４に対するマルチプレクサ１０９〜１１２は、入力側のビットの桁位置が、ｍビット＝４ビット単位に、左から０〜３，１２〜１５，８〜１１，４〜７の順で接続されていてこれら４ビット単位に入力されたビットが順次選択される。左からの４ビットが列方向の各ブロックに対応していて、各ブロックがクロック発生回路３からのクロックＣＬＫに応じて順次選択される。
そして、マルチプレクサ１０９は、選択した４ビットのデータをビット幅方向の０〜３ビットの桁位置のデータとしてバンクメモリ１０４に書込む。マルチプレクサ１１０は、選択した４ビットのデータをビット幅方向の４〜７ビットの桁位置のデータとしてバンクメモリ１０４に書込む。マルチプレクサ１１１は、選択した各４ビットのデータをビット幅方向の８〜１１ビットの桁位置のデータとしてバンクメモリ１０４に書込む。マルチプレクサ１１２は、選択した４ビットのデータをビット幅方向の１２〜１５ビットの桁位置のデータとしてバンクメモリ１０４に書込む。
同様に、メモリ１０５対するマルチプレクサ１１３〜１１６は、入力側のビット桁位置が左から４〜７，０〜３，１２〜１５，８〜１１の順となっていて、これら４ビット単位に入力された１６ビットから４ビットを順次選択する。左からの４ビットが列方向の各ブロックが１ブロックシフトした位置に対応していて、各ブロックがクロックＣＬＫに応じて順次選択される。
同様に４ビット単位でそれぞれのマルチプレクサ１１３〜１１６が選択した各４ビットのデータを、０〜３ビットの桁位置のデータ，４〜７ビットの桁位置のデータ，８〜１１ビットの桁位置のデータ，１２〜１５ビットの桁位置のデータとしてそれぞれにメモリ１０５に書込む。
【００２４】
これと同様にして、メモリ１０６対するマルチプレクサ１１７〜１２０は、入力側のビット桁位置が左から８〜１１，４〜７，０〜３，１３〜１５の順となっていて、これら４ビット単位に入力された１６ビットから４ビットを順次選択する。左からの４ビットが列方向がさらに１ブロックシフトした位置に対応していて、各ブロックがクロックＣＬＫに応じて順次選択される。
同様に４ビット単位でそれぞれのマルチプレクサ１１７〜１２０が選択した各４ビットのデータを、０〜３ビットの桁位置のデータ，４〜７ビットの桁位置のデータ，８〜１１ビットの桁位置のデータ，１２〜１５ビットの桁位置のデータとしてそれぞれにメモリ１０６に書込む。
また、メモリ１０７対するマルチプレクサ１２１〜１２４は、入力側のビット桁位置が左から１２〜１３，８〜１１，４〜７，０〜３の順となっていて、これら４ビット単位に入力された１６ビットから４ビットを順次選択する。左からの４ビットが列方向がさらに１ブロックシフトした位置に対応していて、各ブロックがクロックＣＬＫに応じて順次選択される。
同様に４ビット単位でそれぞれのマルチプレクサ１２１〜１２４が選択した各４ビットのデータを、０〜３ビットの桁位置のデータ，４〜７ビットの桁位置のデータ，８〜１１ビットの桁位置のデータ，１２〜１５ビットの桁位置のデータとしてそれぞれにメモリ１０７に書込む。
【００２５】
次に、配列変換書込処理回路２０１が回転前画像データ２００の各データ位置の４ビットデータがいかにしてバンクメモリ１０４〜１０７の所定のデータ位置に書込まれるか、その動作について説明する。
マルチプレクサ１０９〜１２４までのすべてのマルチプレクサは、書込制御回路２から選択値“００”を受けて、当初一番左を選択している。すなわち、バンクメモリ１０４対するマルチプレクサ１０９〜１１２は、すべて１番目の入力側の０〜３ビットの桁位置を選択して出力する。これは、図１に示す１行目のブロック(1)の４ビットデータを選択する位置に対応している。バンクメモリ１０５対するマルチプレクサ１１３〜１１６は、すべて１番目の入力側の４〜７ビットの桁位置を選択して出力する。これは、ブロック(5)の４ビットデータを選択する位置に対応している。同様にして、バンクメモリ１０６対するマルチプレクサ１１７〜１２０は、８〜１１ビットの桁位置によりブロック(9)の４ビットデータを選択する位置に対応し、バンクメモリ１０７対するマルチプレクサ１２１〜１２４は、１２〜１５ビットの桁位置によりブロック(13)の４ビットデータを選択する位置に対応している。
そこで、回転前画像データ２００の１アドレスの１６ビットデータが４アドレス分読み出されると、各ブロックの１アドレス分の１６ビットが揃い、バンクメモリ１０４〜１０７の最初の１アドレスに記憶できる。４アドレス分の読出は、入力バッファ１０１、入力バッファ１０２、入力バッファ１０３に最初の３アドレス分を順次読込み、最後の１アドレス分を直接マルチプレクサ１１２，１１６，１２０，１２４に読込む。これを読込んだタイミングで、入力バッファ１０１のデータはマルチプレクサ１０９，１１３，１１７，１２１に、入力バッファ１０２のデータはマルチプレクサ１１０，１１４，１１８，１２２に、入力バッファ１０３のデータはマルチプレクサ１１１，１１５，１１９，１２３にそれぞれ読込まれて、１行目のブロック(1)，ブロック(5)，ブロック(9)，ブロック(13)の各４ビットをアドレスの増加方向をビット幅方向に対応させて配列変換を行い、バンクメモリ１０４〜１０７の最初の１アドレスに記憶する。
【００２６】
以下、同様にして図１の第２行目、第３行目、第４行目の各ブロックについて、図１のバンクメモリ１０４〜１０７に示したブロック配列に対応するようにマルチプレクサ１０９〜１２４のｍビット選択位置を右にシフトして選択位置を切換えて配列変換を行う。
すなわち、書込制御回路２がクロック発生回路３からクロックＣＬＫを受けて、図１の最初の行のブロック(1)，ブロック(5)，ブック(9)，ブロック(13)の４ブロックのアドレス方向への分配変換を各バンクメモリ１０４〜１０７の“００”のアドレス（アドレス１）に設定して行う。
第２行のブロック(14)，ブロック(2)，ブック(6)，ブロック(10)の４ブロックのアドレス方向への分配変換を各バンクメモリ１０４〜１０７の“０１”のアドレス（アドレス２）に設定して行う。
第３行のブロック(11)，ブロック(15)，ブック(3)，ブロック(7)の４ブロックのアドレス方向への分配変換を各バンクメモリ１０４〜１０７の“１０”のアドレス（アドレス３）に設定して行う。
そして、第４行のブロック(8)，ブロック(12)，ブロック(16)，ブロック(4)の４ブロックのアドレス方向への分配変換を各バンクメモリ１０４〜１０７の“１１”のアドレス（アドレス４）に設定して行う。
この場合、画像データメモリ１００からのデータ読出時にビットマップＡのアドレス方向の４ブロックである、ブロック(1)〜(4)，ブロック(5)〜(8)、ブロック(9)〜(12)，ブロック(13)〜(16)がバンクメモリ１０４〜１０７から一度に読出せるようにするために、アドレス２以降は、各ブロックが重ならないように、先頭のブロックの位置から順次１ブロックずつ後ろにシフトして記憶していくことによる。
【００２７】
このブロックのシフトについて、一般式で説明する。これは、バンクメモリ１０４〜１０７をそれぞれアドレスをずらせて“００”，“０１”，“１０”，“１１”とアクセスしてときに、それぞれのアクセスアドレスに応じてビットマップＡのアドレス方向の４ブロックが読出せるように、４ブロックをずらせるものである。
一般式の説明の都合上、まず、今までの説明とは逆に、ブロックの順位をアドレス方向からビット幅方向に採り、横方向（列方向）に割り当てて図６のマップＡのような順位で各ブロックを番号付けする。これは、図１のマップＡの各ブロックの行と列とを入れ換えた番号付である。その結果、画像データメモリ１００上のブロックの配列関係は、図６の画像データメモリ１００に示すようになる。
すなわち、画像データメモリ１００は、書込画像データに設定されるブロックをアドレス方向に対してビット幅方向を優先させて１からｊ×ｋの順位付けをした場合において、１からｊ×ｋ（ｊ＝４，ｋ＝４）の順位付けをした場合において、分割されたｋ個のバンクメモリ１０４〜１０７の最初のアドレスを１行目のブロック順位の１〜ｋのブロックに順次割当て、２番目のアドレスを２行目の２ｋ，ｋ＋１〜２ｋ−１のブロックに順次割当て、３番目のアドレスを前記順位の３行目の３ｋ−１，３ｋ，２ｋ＋１〜３ｋ−２のブロックに順次割当てるとすると、一般式として、Ｐｋ−（Ｐ−２）〜Ｐｋ〜Ｐｋ−（Ｐ−１）（ただし、Ｐは２以上の整数）において分割されたｋ個の各バンクメモリ１０４〜１０７のアドレスの増加に従って先頭ブロックを増加分に対応して順次次のバンクメモリに繰下げかつ分割された最後のバンクメモリ１０７の次は分割された最初のバンクメモリ１０４へと循環させてシフトさせて割当てて各ブロックのｍビットデータを記憶するものである。これにより、アドレス方向（縦方向）の各４ブロックのデータを同時に読出すことができる。その結果、図６の画像データメモリ１００に示すような状態でバンクメモリ１０４〜１０７に各ブロック(1)〜(16)が記憶される。
【００２８】
ここで、画像データメモリ１００の各バンクメモリ１０４〜１０７への各ブロックのｍビットデータの書込みは、マシンサイクルに対応して行われる。
以下、これを具体的に説明すると、各マルチプレクサ１０９〜１２４が、前記した最初の状態において、まず回転前画像データ２００の内、アドレス００００のところの１６ビットのデータがあるマシンサイクルにおいて配列変換書込処理回路２０１に入力されると、そのデータはそのマシンサイクル内で入力バッファ１０１へ格納される。すなわち、入力バッファ１０１には００，０１，０２，０３，４０，４１，４２，４３，８０，８１，８２，８３，Ｃ０，Ｃ１，Ｃ２，Ｃ３のデータ位置のデータが格納される。
次のマシンサイクルで回転前画像データ２００の内、アドレス０００１のところの１６ビットのデータが入力されると、そのデータはそのマシンサイクル内で入力バッファ１０２へ格納される。すなわち、入力バッファ１０２には０４，０５，０６，０７，４４，４５，４６，４７，８４，８５，８６，８７，Ｃ４，Ｃ５，Ｃ６，Ｃ７のデータ位置のデータが格納される。
次のマシンサイクルで回転前画像データ２００の内、アドレス００１０のところの１６ビットのデータが入力されると、そのデータはそのマシンサイクル内で入力バッファ１０３へ格納される。すなわち、入力バッファ１０３には０８，０９，０Ａ，０Ｂ，４８，４９，４Ａ，４Ｂ，８８，８９，８Ａ，８Ｂ，Ｃ８，Ｃ９，ＣＡ，ＣＢのデータ位置のデータが格納される。
さらに、次のマシンサイクルで回転前画像データ２００の内、アドレス００１１のところの１６ビットのデータが入力されると、バンクメモリ１０４〜１０７に対するメモリの書込アドレスを００番地にして書込制御回路２が書込命令を出すことにより、各マルチプレクサが前述した状態になっているため、バンクメモリ１０４〜１０７のアドレス００番地の所定のデータ位置にデータが書込まれる。
【００２９】
すなわち、バンクメモリ１０４の００番地に回転前画像データ２００の内、アドレス００００〜００１１のところにある、データ位置００，０１，０２，０３，０４，０５，０６，０７，０８，０９，０Ａ，０Ｂ，０Ｃ，０Ｄ，０Ｅ，０Ｆのデータが書込まれ、メモリ１０５の００番地に回転前画像データ２００の内、アドレス００００〜００１１のところにある、データ位置４０，４１，４２，４３，４４，４５，４６，４７，４８，４９，４Ａ，４Ｂ，４Ｃ，４Ｄ，４Ｅ，４Ｆのデータが書込まれ、メモリ１０６の００番地に回転前画像データ２００の内、アドレス００００〜００１１のところにある、データ位置８０，８１，８２，８３，８４，８５，８６，８７，８８，８９，８Ａ，８Ｂ，８Ｃ，８Ｄ，８Ｅ，８Ｆのデータが書込まれ、メモリ１０７の００番地に回転前画像データ２００の内、アドレス００００〜００１１のところにある、データ位置Ｃ０，Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５，Ｃ６，Ｃ７，Ｃ８，Ｃ９，ＣＡ，ＣＢ，ＣＣ，ＣＤ，ＣＥ，ＣＦのデータが書込まれる。
【００３０】
次のマシンサイクルからは、すべてのマルチプレクサ１０９〜１２４は、書込制御回路２から選択値“０１”を受けて、先ほどまで選択していた一番左の一つ右隣りを選択する。すなわち、バンクメモリ１０４対するマルチプレクサ１０９〜１１２はすべて入力側の１２〜１５ビットを選択して出力し、メモリ１０５対するマルチプレクサ１１３〜１１６はすべて入力側の０〜３ビットを選択して出力し、メモリ１０６対するマルチプレクサ１１７〜１２０はすべて入力側の４〜７ビットを選択して出力し、メモリ１０７対するマルチプレクサ１２１〜１２４はすべて入力側の８〜１１ビットを選択して出力する状態になる。
【００３１】
各マルチプレクサ１０９〜１２４は、この状態において、まず回転前画像データ２００の内、アドレス０１００のところの１６ビットのデータがあるマシンサイクルにおいて入力されると、そのデータはそのマシンサイクル内で入力バッファ１０１へ格納される。すなわち、入力バッファ１０１には１０，１１，１２，１３，５０，５１，５２，５３，９０，９１，９２，９３，Ｄ０，Ｄ１，Ｄ２，Ｄ３のデータ位置のデータが格納される。次のマシンサイクルで回転前画像データ２００の内、アドレス０１０１のところの１６ビットのデータが入力されると、そのデータはそのマシンサイクル内で入力バッファ１０２へ格納される。すなわち、入力バッファ１０２には１４，１５，１６，１７，５４，５５，５６，５７，９４，９５，９６，９７，Ｄ４，Ｄ５，Ｄ６，Ｄ７のデータ位置のデータが格納される。
【００３２】
次のマシンサイクルで回転前画像データ２００の内、アドレス０１１０のところの１６ビットのデータが入力されると、そのデータはそのマシンサイクル内で入力バッファ１０３へ格納される。すなわち、入力バッファ１０３には１８，１９，１Ａ，１Ｂ，５８，５９，５Ａ，５Ｂ，９８，９９，９Ａ，９Ｂ，Ｄ８，Ｄ９，ＤＡ，ＤＢのデータ位置のデータが格納される。次のマシンサイクルで回転前画像データ２００の内、アドレス０１１１のところの１６ビットのデータが入力されると、画像データメモリ１００のアドレスを０１番地にして書込み信号を出すことにより、各マルチプレクサが前述した状態になっているため、バンクメモリ１０４〜１０７のアドレス０１番地の所定のデータ位置にデータが書込まれる。すなわち、バンクメモリ１０４の０１番地に回転前画像データ２００の内、アドレス０１００〜０１１１のところにある、データ位置Ｄ０，Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６，Ｄ７，Ｄ８，Ｄ９，ＤＡ，ＤＢ，ＤＣ，ＤＤ，ＤＥ，ＤＦのデータが書込まれ、メモリ１０５の０１番地に回転前画像データ２００の内、アドレス０１００〜０１１１のところにある、データ位置１０，１１，１２，１３，１４，１５，１６，１７，１８，１９，１Ａ，１Ｂ，１Ｃ，１Ｄ，１Ｅ，１Ｆのデータが書込まれ、メモリ１０６の０１番地に回転前画像データ２００の内、アドレス０１００〜０１１１のところにある、データ位置５０，５１，５２，５３，５４，５５，５６，５７，５８，５９，５Ａ，５Ｂ，５Ｃ，５Ｄ，５Ｅ，５Ｆのデータが書込まれ、メモリ１０７の０１番地に回転前画像データ２００の内、アドレス０１００〜０１１１のところにある、データ位置９０，９１，９２，９３，９４，９５，９６，９７，９８，９９，９Ａ，９Ｂ，９Ｃ，９Ｄ，９Ｅ，９Ｆのデータが書込まれる。
【００３３】
次のマシンサイクルからは、１０９〜１２４までのすべてのマルチプレクサは、書込制御回路２から選択値“１１”を受けて、先ほどまで選択していた一番左の二つ右隣りを選択する。すなわち、バンクメモリ１０４対するマルチプレクサ１０９〜１１２はすべて入力側の８〜１１ビットを選択して出力し、メモリ１０５対するマルチプレクサ１１３〜１１６はすべて入力側の１２〜１５ビットを選択して出力し、メモリ１０６対するマルチプレクサ１１７〜１２０はすべて入力側の０〜３ビットを選択して出力し、メモリ１０７対するマルチプレクサ１２１〜１２４はすべて入力側の４〜７ビットを選択して出力する状態になる。
以下同様にして、バンクメモリ１０４〜１０７のすべての番地に所定のデータを書込むことができる。
【００３４】
図７は、配列変換読出処理回路２０２のブロック図である。
配列変換読出処理回路２０２は、９０度回転，２７０度のときには、バンクメモリ１０４〜１０７のアドレスをそれぞれ“００”〜“１１”から選択して順次異なる番地に設定することで、図１の画像データメモリ１００のブロック分割におけるアドレス方向の４ブロックを同時に読出す。このことで、各ブロックのｍビットデータを縦方向に得て、それを回転に応じたブロック位置に変換してビット入れ換え等を行う。
配列変換読出処理回路２０２について以下具体的に説明する。
図４に示した配列変換読出処理回路２０２の読出側マルチプレクサ／デマルチプレクサ１３８は、図７に示すように、バンクメモリ１０４に対するマルチプレクサ１２５、１２９、これらマルチプレクサ１２５、１２９からｍビットデータを受けるデマルチプレクサ１３３、バンクメモリ１０５に対するマルチプレクサ１２６、１３０、これらマルチプレクサ１２６、１３０からｍビットデータを受けるデマルチプレクサ１３４、バンクメモリ１０６に対するマルチプレクサ１２７、１３１、これらマルチプレクサ１２７、１３１からｍビットデータを受けるデマルチプレクサ１３５、そして、メモリ１０７に対するマルチプレクサ１２８、１３２、これらマルチプレクサ１２８、１３２からｍビットデータを受けるデマルチプレクサ１３６とからなる。
【００３５】
図８は、配列変換読出処理回路２０２の０度回転後画像データ出力部分のみを記した詳細ブロック図である。なお、図８においては、図４の読出制御回路は省略してある。
０度回転は、図４の配列変換書込処理回路２０１とは逆の変換をするものである。すなわち、画像データメモリ１００（バンクメモリ１０４〜１０７）は、１アドレスのアクセスでアドレス方向にあるブロックの４ビットのデータを４個、１ブロック分読出すことができるので、バンクメモリ１０４〜１０７についてそれぞれの１アドレスをアクセスして、ビットマップＡの、元の１アドレス分の４ビットを４個同時に読出し、マルチプレクサで特定のビット位置の４ビットを切出して、デマルチプレクサで元のｎビットデータに合成する。
そこで、バンクメモリ１０４〜１０７の各アドレスは、図１の１６ブロックの行方向に配列されるブロック４個を同時にアクセスするように設定される。すなわち、先の図４ではアドレスｋ（この実施例ではｋ＝４）おきにｍビットデータを分配しているので、これと同じアクセスをして各メモリから行方向のブロックのｍビットデータを読出す、ビット幅方向に順次マルチプレクサの位置を切換えて４回読出すことになる。
なお、各バンクメモリ１０４〜１０７のアドレスの増加に従って先頭ブロックを増加分に対応して順次次のバンクメモリに繰下げて各ブロックを記憶しているので、これに対する修正がデマルチプレクサでビット選択位置を切換えて対応を採っている。
【００３６】
図８の信号線の接続について以下説明する。
１．バンクメモリ１０４について
バンクメモリ１０４の１６ビットのデータ出力信号線は、バンクメモリ１０４についてのマルチプレクサ１２５の入力側にビット０〜１５がそのまま接続されている。マルチプレクサ１２５の４ビットの出力信号線は、デマルチプレクサ１３３の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３３の１６ビットのデータ出力信号線は、そのまま出力信号として出力される。
２．バンクメモリ１０５について
バンクメモリ１０５の１６ビットのデータ出力信号線は、バンクメモリ１０５についてのマルチプレクサ１２６の入力側にビット０〜１５がそのまま接続されている。マルチプレクサ１２６の４ビットの出力信号線は、デマルチプレクサ１３４の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３４の１６ビットのデータ出力信号線は、そのまま出力信号として出力される。
３．バンクメモリ１０６について
バンクメモリ１０６の１６ビットのデータ出力信号線は、バンクメモリ１０６についてのマルチプレクサ１２７の入力側にビット０〜１５がそのまま接続されている。マルチプレクサ１２７の４ビットの出力信号線は、バンクメモリ１０６デマルチプレクサ１３５の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３５の１６ビットのデータ出力信号線は、そのまま出力信号として出力される。
３．メモリ１０７について
メモリ１０７の１６ビットのデータ出力信号線は、メモリ１０７についてのマルチプレクサ１２８の入力側にビット０〜１５がそのまま接続されている。マルチプレクサ１２８の４ビットの出力信号線は、デマルチプレクサ１３６の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３６の１６ビットのデータ出力信号線は、そのまま出力信号として出力される。
【００３７】
図８を参照して、バンクメモリ１０４〜１０７のあるデータ位置のデータがいかにして０度回転後データとして出力されるかを説明する。
各マルチプレクサの選択動作は、バンクメモリ１０４〜１０７に対応してビット位置が４ビットごとにビット幅方向にシフトした位置に選択位置が設定されていて、それぞれに元の１アドレスの行方向の各ブロックに記憶するｍビットを選択するように構成されている。
すなわち、マルチプレクサ１２５〜１２８は、バンクメモリ１０４〜１０７の各最初のアドレスから最初の行のブロック(1)，ブロック(5)，ブック(9)，ブロック(13)の４ブロックのｍビットデータを選択して、デマルチプレクサ１３３〜１３６へと送りそれぞれのｍビットデータをビット幅方向に展開してビット幅方向に変換し、出力バッファメモリ２０３の最初のアドレスに記憶する。これは、読出制御回路４により各バンクメモリ１０４〜１０７の“００”のアドレス（アドレス１）に設定して行う。これを４アドレス分、選択するビット幅方向の位置を換えて行う。
次に、第２行のブロック(14)，ブロック(2)，ブック(6)，ブロック(10)の４ブロックのｍビットデータを選択してビット幅方向への分配変換を各バンクメモリ１０４〜１０７の“０１”のアドレス（アドレス２）に設定して同様にして行う。これを４アドレス分、選択するビット幅方向の位置を換えて行う。
第３行のブロック(11)，ブロック(15)，ブック(3)，ブロック(7)の４ブロックのｍビットデータを選択してビット幅方向への分配変換を、読出制御回路４により各バンクメモリ１０４〜１０７の“１０”のアドレス（アドレス３）に設定して行う。これを４アドレス分、選択するビット幅方向の位置を換えて行う。
そして、第４行のブロック(8)，ブロック(12)，ブロック(16)，ブロック(4)のｍビットデータを選択してビット幅方向への分配変換を、読出制御回路４により各バンクメモリ１０４〜１０７の“１１”のアドレス（アドレス４）に設定して行う。これを４アドレス分、選択するビット幅方向の位置を換えて行う。
【００３８】
以下、これについて具体的に説明する。
まず、各マルチプレクサ／デマルチプレクサが当初どの部分を選択しているかを説明する。
図４の配列変換書込処理回路２０１のときと同様に、読出制御回路４から選択値“００”を受けて、マルチプレクサ１２５〜１２８は、当初一番左を選択し、バンクメモリ１０４デマルチプレクサ１３３は一番左を選択し、バンクメモリ１０５デマルチプレクサ１３４は一番左の一つ右隣りを選択し、バンクメモリ１０６デマルチプレクサ１３５は一番左の二つ右隣りを選択し、メモリ１０７デマルチプレクサ１３６は一番右を選択する。
すなわち、マルチプレクサ１２５〜１２８はすべて入力側の０〜３ビットを選択して出力し、バンクメモリ１０４デマルチプレクサ１３３は０〜３ビットを選択して出力し、バンクメモリ１０５デマルチプレクサ１３４は４〜７ビットを選択して出力し、バンクメモリ１０６デマルチプレクサ１３５は８〜１１ビットを選択して出力し、メモリ１０７デマルチプレクサ１３６は１２〜１５ビットを選択して出力する状態になっている。
【００３９】
あるマシンサイクルにおいて、読出制御回路４から“００”を受けて、画像データメモリ１００（バンクメモリ１０４〜１０７）のアドレスを００番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっている。そのため、バンクメモリ１０４〜１０７のアドレス００番地のデータが読出され、０度回転後画像データ（ビットマップＡ参照）のアドレス００００（図２のビットマップＡ参照）に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。
すなわち、バンクメモリ１０４のアドレス００のビット０〜１５の００〜０Ｆのデータ位置のデータが読出され、バンクメモリ１０４ついてのマルチプレクサ１２５によって０４〜０Ｆのデータ位置のデータは捨てられ、００〜０３のデータ位置のデータがデマルチプレクサ１３３により、０度回転後画像データのアドレス００００（図２のビットマップＡ参照）のビット０〜３に示す様に出力される。さらに、バンクメモリ１０５のアドレス００のビット０〜１５の４０〜４Ｆのデータ位置のデータが読出され、バンクメモリ１０５についてのマルチプレクサ１２６によって４４〜４Ｆのデータ位置のデータは捨てられ、４０〜４３のデータ位置のデータがバンクメモリ１０５についてのデマルチプレクサ１３４により、０度回転後画像データのアドレス００００のビット４〜７に示す様に出力される。さらに、バンクメモリ１０６のアドレス００のビット０〜１５の８０〜８Ｆのデータ位置のデータが読出され、バンクメモリ１０６についてのマルチプレクサ１２７によって８４〜８Ｆのデータ位置のデータは捨てられ、８０〜８３のデータ位置のデータがバンクメモリ１０６デマルチプレクサ１３５により、０度回転後画像データのアドレス００００のビット８〜１１に示す様に出力される。
同様に、メモリ１０７のアドレス００のビット０〜１５のＣ０〜ＣＦのデータ位置のデータが読出され、メモリ１０７についてのマルチプレクサ１２８によってＣ４〜ＣＦのデータ位置のデータは捨てられ、Ｃ０〜Ｃ３のデータ位置のデータがメモリ１０７についてのデマルチプレクサ１３６により、０度回転後画像データのアドレス００００のビット１２〜１５に示すように出力される。
【００４０】
次のマシンサイクルでは、読出制御回路４から選択値“０１”を受けて、１２５〜１２８までのすべてのマルチプレクサは、先ほどまで選択していた一番左の一つ右隣りを選択する。すなわち、マルチプレクサ１２５〜１２８はすべて入力側の４〜７ビットを選択する。すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択する。この状態において、読出制御回路４から“００”を受けて、画像データメモリ１００のアドレスを００番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、バンクメモリ１０４〜１０７のアドレス００番地のデータが読出され、０度回転後画像データのアドレス０００１に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。すなわち、先ほどと同様なので詳細の記述は省略するが、０度回転後画像データのアドレス０００１に０４〜０７, ４４〜４７, ８４〜８７, Ｃ４〜Ｃ７が出力される。
【００４１】
その次のマシンサイクルでは、読出制御回路４から選択値“１０”を受けて、１２５〜１２８までのすべてのマルチプレクサは、一番左の二つ右隣りを選択する。すなわち、マルチプレクサ１２５〜１２８はすべて入力側の８〜１１ビットを選択する。すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択し、この状態において、読出制御回路４の制御によりメモリのアドレスを００番地にして読出命令を出すことにより、０度回転後画像データのアドレス００１０に０８〜０Ｂ, ４８〜４Ｂ, ８８〜８Ｂ, Ｃ８〜ＣＢが出力される。
次のマシンサイクルでは、読出制御回路４から選択値“１１”を受けて、１２５〜１２８までのすべてのマルチプレクサは、一番右を選択する。すなわち、マルチプレクサ１２５〜１２８はすべて入力側の１２〜１５ビットを選択する。すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択し、この状態において、読出制御回路４がメモリのアドレスを００番地にして読出命令を出すことにより、０度回転後画像２０２のアドレス００１１に０Ｃ〜０Ｆ, ４Ｃ〜４Ｆ, ８Ｃ〜８Ｆ, ＣＣ〜ＣＦが出力される。
【００４２】
そして、さらに次のマシンサイクルでは、読出制御回路４から選択値“００”を受けて、１２５〜１２８までのすべてのマルチプレクサは、また最初の状態に戻り、一番左を選択する。すなわち、マルチプレクサ１２５〜１２８はすべて入力側の０〜３ビットを選択する。
一方、すべてのデマルチプレクサ１３３〜１３６は、先ほどまでと、異なるところを選択する。これにより、シフトさせて記憶したブロック位置を元に戻す。
具体的にはバンクメモリ１０４についてのデマルチプレクサ１３３は、一番右、すなわち、１２〜１５ビットのところを選択し、バンクメモリ１０５についてのデマルチプレクサ１３４は、一番左、すなわち、０〜３ビットのところを選択し、バンクメモリ１０６についてのデマルチプレクサ１３５は一番左の一つ右、すなわち、４〜７ビットのところを選択し、メモリ１０７についてのデマルチプレクサ１３６は一番左の二つ右、すなわち、８〜１１ビットのところを選択する。
この状態において、読出制御回路４の制御により画像データメモリ１００のバンクメモリ１０４〜１０７の各アドレスを０１番地に更新して読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、バンクメモリ１０４〜１０７のアドレス０１番地のデータが読出され、０度回転後画像２０２のアドレス０１００に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。すなわち、先ほどと同様なので詳細の記述は省略するが、０度回転後画像２０２のアドレス０１００に１０〜１３, ５０〜５３, ９０〜９３, Ｄ０〜Ｄ３が出力される。
【００４３】
以下同様にして、すべてのデマルチプレクサ１３３〜１３６の選択位置をまったく同じにしたまま先ほど同様に１２５〜１２８のマルチプレクサ選択をずらして行き、読出制御回路４の制御により画像データメモリ１００のバンクメモリ１０４〜１０７の各アドレスを０１番地のまま読出命令を出すことにより、０度回転後画像２０２のアドレス０１０１〜０１１１に示す様なデータが得られる。
さらに同様にして、またデマルチプレクサの選択位置をずらして、その状態でマルチプレクサをずらして行き、読出制御回路４の制御により画像データメモリ１００のバンクメモリ１０４〜１０７の各アドレスを１０番地に更新して読出命令を出すことにより、０度回転後画像２０２のアドレス１０００〜１０１１に示す様なデータが得られ、以下同様にしてまたデマルチプレクサの選択位置をずらして、その状態でマルチプレクサをずらして行き、読出制御回路４から“１１”を受けて、画像データメモリ１００のバンクメモリ１０４〜１０７の各アドレスを１１番地に更新して読出命令を出すことにより、０度回転後画像２０２のアドレス１１００〜１１１１に示す様なデータが得られる。結局、以上の様にして、バンクメモリ１０４〜１０７から１６マシンサイクルかけて０度回転後画像２０２を出力することができる。
このようにして、配列変換読出処理回路２０２は、画像データメモリ１００をｋアドレスおきにアクセスして、言い換えれば、バンクメモリとしての各バンクメモリ１０４，１０５，１０６，１０７ごとに図１の１６ブロックの行方向に配列されるブロックに対応するアドレスをアクセスしてｍビットデータを読出して、図１のマップＡのそれぞれのブロックのｍビットデータを同時に読出して分配されたｍデータをデマルチプレクサで元のｎビットデータに合成して元のブロック位置に戻す処理をする。
【００４４】
次に、図９を参照して、配列変換読出処理回路２０２がコントローラ５からの選択信号Ｓを受けて９０度回転後画像データを出力する処理について説明する。
９０度回転の場合には、画像データメモリ１００の各アドレスのｍビットデータのビット幅方向（横方向）のビットデータがアドレス方向（縦方向）に変換されることでｍビット単位で９０度回転させる。さらに、各アドレスに記憶された４ブロックの各ｍビットデータが読出されたときに、それぞれに図１のＡの１６ブロックに分けた元のグループの位置からそれを９０度回転したグループの位置に再配列する。このようなビットデータの横縦変換と９０度回転したグループに再配置するための処理回路が図９である。
なお、この場合、ｍビットのデータ配列を横方向（行方向）から縦方向（列方向）に変換しなければならないために、ｍビットデータは、ビット単位で選択される。
そこで、図９では、図１において縦方向（アドレス方向）に配置される４ブロックを同時に読出して、縦方向（列方向）の各ブロックのｍビットについて、マルチプレクサ１２９〜１３２により、後ろのビットを選択し、次にその手前のビットを選択し、最後に先頭ビットを選択する処理をする。これによりビットが横方向から縦方向に入れ換えられる。そして、デマルチプレクサ１３３〜１３６で、各ブロックのｍビットをｎビットに合成してそれぞれのブロックのｍビットの９０回転したブロック位置になるように、出力バッファメモリ２０３に記憶しあるいはプリンタ等のバッファメモリに出力する処理をする。
【００４５】
すなわち、マルチプレクサ１３３〜１３６は、バンクメモリ１０４〜１０７の各最初のアドレスから最初の行のブロック(1)，ブロック(5)，ブック(9)，ブロック(13)の４ブロックのｍビットデータを選択して、これら４ブロックのｍビットの最後のビットの選択をする。第２行のブロック(14)，ブロック(2)，ブック(6)，ブロック(10)の４ブロックのｍビットデータを選択して、これら４ブロックのｍビットの最後のビットを選択をする。さらに、第３行のブロック(11)，ブロック(15)，ブック(3)，ブロック(7)の４ブロックのｍビットデータを選択して、これら４ブロックのｍビットの最後のビットを選択をする。そして、第４行のブロック(8)，ブロック(12)，ブロック(16)，ブロック(4)のｍビットデータを選択してこれら４ブロックのｍビットの最後のビットを選択をする。
こうして選択された最後のｍビットは、デマルチプレクサ１３３〜１３６に送出され、ｎビットデータとして合成されて、所定のアドレスに出力バッファメモリ２０３に記憶される。以下、同様にして各４ブロックのｍビットの最後のビットのｍビットから順次最初のビットのｍビットまで選択してデマルチプレクサ１３３〜１３６に送出されてｎビットデータとされて出力バッファメモリ２０３に記憶される。
【００４６】
これについて以下具体的に説明する。
まず、図９の信号線の接続について以下説明する。
１．バンクメモリ１０４について
バンクメモリ１０４の１６ビットのデータ出力信号線は、バンクメモリ１０４についてのマルチプレクサ１２９の一番左の入力側にビット０，４，８，１２が、一番左の一つ右隣りの入力側にビット１，５，９，１３が、一番左の二つ右隣りの入力側にビット２，６，１０，１４が、一番右の入力側にビット３，７，１１，１５が、それぞれ接続されている。
このため、マルチプレクサ１２９が一番左を選択している状態では、バンクメモリ１０４出力の０ビット目がマルチプレクサ１２９出力の０ビット目に対応し、以下同様にバンクメモリ１０４の４ビット目がマルチプレクサ１２９出力の１ビット目に対応し、バンクメモリ１０４の８ビット目がマルチプレクサ１２９出力の２ビット目に対応し、バンクメモリ１０４の１２ビット目がマルチプレクサ１２９出力の３ビット目に対応する。
このバンクメモリ１０４についてのマルチプレクサ１２９が一番左の一つ右隣りを選択している状態では、バンクメモリ１０４出力の１ビット目がマルチプレクサ１２９出力の０ビット目に対応し、バンクメモリ１０４の５ビット目がマルチプレクサ１２９出力の１ビット目に対応し、バンクメモリ１０４の９ビット目がマルチプレクサ１２９出力の２ビット目に対応し、バンクメモリ１０４の１３ビット目がマルチプレクサ１２９出力の３ビット目に対応する。
【００４７】
このマルチプレクサ１２９が一番左の二つ右隣りを選択している状態では、バンクメモリ１０４出力の２ビット目がマルチプレクサ１２９出力の０ビット目に対応し、バンクメモリ１０４の６ビット目がマルチプレクサ１２９出力の１ビット目に対応し、バンクメモリ１０４の１０ビット目がマルチプレクサ１２９出力の２ビット目に対応し、バンクメモリ１０４の１４ビット目がマルチプレクサ１２９出力の３ビット目に対応する。
マルチプレクサ１２９が一番右を選択している状態では、バンクメモリ１０４出力の３ビット目がマルチプレクサ１２９出力の０ビット目に対応し、バンクメモリ１０４の７ビット目がマルチプレクサ１２９出力の１ビット目に対応し、バンクメモリ１０４の１１ビット目がマルチプレクサ１２９出力の２ビット目に対応し、バンクメモリ１０４の１５ビット目がマルチプレクサ１２９出力の３ビット目に対応する。
次にマルチプレクサ１２９の４ビットの出力信号線は、図８とまったく同じく、デマルチプレクサ１３３の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３３の１６ビットのデータ出力信号線は、図８とまったく同じく、そのまま出力信号として出力される。
【００４８】
２．バンクメモリ１０５について
同様にしてバンクメモリ１０５の１６ビットのデータ出力信号線は、バンクメモリ１０５についてのマルチプレクサ１３０の一番左の入力側にビット０，４，８，１２が、一番左の一つ右隣りの入力側にビット１，５，９，１３が、一番左の二つ右隣りの入力側にビット２，６，１０，１４が、一番右の入力側にビット３，７，１１，１５が、それぞれ接続されている。
マルチプレクサ１３０の４ビットの出力信号線は、図８とまったく同じく、デマルチプレクサ１３４の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３４の１６ビットのデータ出力信号線は、そのまま出力信号として出力される。
【００４９】
３．バンクメモリ１０６について
同様にしてバンクメモリ１０６の１６ビットのデータ出力信号線は、バンクメモリ１０６についてのマルチプレクサ１３１の一番左の入力側にビット０，４，８，１２が、一番左の一つ右隣りの入力側にビット１，５，９，１３が、一番左の二つ右隣りの入力側にビット２，６，１０，１４が、一番右の入力側にビット３，７，１１，１５が、それぞれ接続されている。
マルチプレクサ１３１の４ビットの出力信号線は、図８とまったく同じく、デマルチプレクサ１３５の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３５の１６ビットのデータ出力信号線は、そのまま出力信号として出力される。
【００５０】
４．メモリ１０７について
同様にしてメモリ１０７の１６ビットのデータ出力信号線は、メモリ１０７についてのマルチプレクサ１３２の一番左の入力側にビット０，４，８，１２が、一番左の一つ右隣りの入力側にビット１，５，９，１３が、一番左の二つ右隣りの入力側にビット２，６，１０，１４が、一番右の入力側にビット３，７，１１，１５が、それぞれ接続されている。
マルチプレクサ１３２の４ビットの出力信号線は、図８とまったく同じく、デマルチプレクサ１３６の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３６の１６ビットのデータ出力信号線は、そのまま出力信号として出力される。
【００５１】
以上のマルチプレクサとデマルチプレクサと各バンクメモリ１０４〜１０７との接続において、バンクメモリ１０４〜１０７のあるデータ位置のデータがいかにして９０度回転後データとして出力されるかを次に説明する。
まず、各マルチプレクサ／デマルチプレクサは、当初どの部分を選択しているかを説明すると、１２９〜１３２までのすべてのマルチプレクサは、当初一番右を選択し、メモリ１０７についてのデマルチプレクサ１３６は、一番左を選択し、バンクメモリ１０４についてのデマルチプレクサ１３３は、一番左の一つ右隣りを選択し、バンクメモリ１０５についてのデマルチプレクサ１３４は、一番左の二つ右隣りを選択し、バンクメモリ１０６についてのデマルチプレクサ１３５は、一番右を選択する。
すなわち、マルチプレクサ１２９〜１３２はすべて入力側の３，７，１１，１５ビットを選択して出力し、メモリ１０７についてのデマルチプレクサ１３６は０〜３ビットを選択して出力し、バンクメモリ１０４についてのデマルチプレクサ１３３は、４〜７ビットを選択して出力し、バンクメモリ１０５についてのデマルチプレクサ１３４は、８〜１１ビットを選択して出力し、バンクメモリ１０６についてのデマルチプレクサ１３５は１２〜１５ビットを選択して出力する状態になっている。
【００５２】
あるマシンサイクルにおいて読出制御回路４の制御によりメモリ１０７のアドレスを００番地にし、バンクメモリ１０４のアドレスを０１番地にし、バンクメモリ１０５のアドレスを１０番地にし、バンクメモリ１０６のアドレスを１１番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、メモリ１０７の００番地、バンクメモリ１０４の０１番地、バンクメモリ１０５の１０番地、バンクメモリ１０６の１１番地のデータが読出され、９０度回転後画像データ（ビットマップＣ参照）のアドレス００００に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。
すなわち、メモリ１０７については、
メモリ１０７のアドレス００のビット０〜１５のＣ０〜ＣＦのデータ位置のデータが読出され、メモリ１０７についてのマルチプレクサ１３２によって“Ｃ３，Ｃ７，ＣＢ，ＣＦ”以外のデータ位置のデータは捨てられ、Ｃ３，Ｃ７，ＣＢ，ＣＦのデータ位置のデータがメモリ１０７についてのデマルチプレクサ１３６により、９０度回転後画像データのアドレス００００のビット０〜３に示す様に出力される。
【００５３】
また、バンクメモリ１０４については、
バンクメモリ１０４のアドレス０１のビット０〜１５のＤ０〜ＤＦのデータ位置のデータが読出され、バンクメモリ１０４マルチプレクサ１２９によって“Ｄ３，Ｄ７，ＤＢ，ＤＦ”以外のデータ位置のデータは捨てられ、Ｄ３，Ｄ７，ＤＢ，ＤＦのデータ位置のデータがバンクメモリ１０４デマルチプレクサ１３３により、９０度回転後画像データのアドレス００００のビット４〜７に示す様に出力される。
さらに、バンクメモリ１０５については、
バンクメモリ１０５のアドレス１０のビット０〜１５のＥ０〜ＥＦのデータ位置のデータが読出され、バンクメモリ１０５についてのマルチプレクサ１３０によって“Ｅ３，Ｅ７，ＥＢ，ＥＦ”以外のデータ位置のデータは捨てられ、Ｅ３，Ｅ７，ＥＢ，ＥＦのデータ位置のデータがバンクメモリ１０５についてのデマルチプレクサ１３４により、９０度回転後画像データのアドレス００００のビット８〜１１に示す様に出力される。
バンクメモリ１０６については、
バンクメモリ１０６のアドレス１１のビット０〜１５のＦ０〜ＦＦのデータ位置のデータが読出され、バンクメモリ１０６についてのマルチプレクサ１３１によって“Ｆ３，Ｆ７，ＦＢ，ＦＦ”以外のデータ位置のデータは捨てられ、Ｆ３，Ｆ７，ＦＢ，ＦＦのデータ位置のデータがバンクメモリ１０６についてのデマルチプレクサ１３５により、９０度回転後画像データのアドレス００００のビット１２〜１５に示す様に出力される。
【００５４】
次のマシンサイクルは、１２９〜１３２までのすべてのマルチプレクサは、読出制御回路４の制御により先ほどまで選択していた一番右の一つ左隣りを選択する。すなわち、マルチプレクサ１２９〜１３２はすべて入力側の２，６，１０，１４ビットを選択する。すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択する。この状態において、読出制御回路４の制御によりメモリ１０７のアドレスを００番地にし、バンクメモリ１０４のアドレスを０１番地にし、バンクメモリ１０５のアドレスを１０番地にし、バンクメモリ１０６のアドレスを１１番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、メモリ１０７の００番地、バンクメモリ１０４の０１番地、バンクメモリ１０５の１０番地、バンクメモリ１０６の１１番地のデータが読出され、９０度回転後画像データのアドレス０００１に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。
すなわち、先ほどと同様なので詳細の記述は省略するが、９０度回転後画像データのアドレス０００１にＣ２，Ｃ６，ＣＡ，ＣＥ，Ｄ２，Ｄ６，ＤＡ，ＤＥ，Ｅ２，Ｅ６，ＥＡ，ＥＥ，Ｆ２，Ｆ６，ＦＡ，ＦＥが出力される。
【００５５】
次のマシンサイクルは、１２９〜１３２までのすべてのマルチプレクサは、読出制御回路４の制御により一番右の二つ左隣りを選択する。すなわち、マルチプレクサ１２９〜１３２はすべて入力側の１，５，９，１３ビットを選択する。
すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択し、この状態において、読出制御回路４によりメモリ１０７のアドレスを００番地にし、バンクメモリ１０４のアドレスを０１番地にし、バンクメモリ１０５のアドレスを１０番地にし、バンクメモリ１０６のアドレスを１１番地にして読出命令を出すことにより、９０度回転後画像データのアドレス００１０にＣ１，Ｃ５，Ｃ９，ＣＤ，Ｄ１，Ｄ５，Ｄ９，ＤＤ，Ｅ１，Ｅ５，Ｅ９，ＥＤ，Ｆ１，Ｆ５，Ｆ９，ＦＤが出力される。
【００５６】
次のマシンサイクルは、１２９〜１３２までのすべてのマルチプレクサは、読出制御回路４の制御により一番左を選択する。すなわち、マルチプレクサ１２９〜１３２はすべて入力側の０，４，８，１２ビットを選択する。
すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択し、この状態において、読出制御回路４によりメモリ１０７のアドレスを００番地にし、バンクメモリ１０４のアドレスを０１番地にし、バンクメモリ１０５のアドレスを１０番地にし、バンクメモリ１０６のアドレスを１１番地にして読出命令を出すことにより、９０度回転後画像データのアドレス００１１にＣ０，Ｃ４，Ｃ８，ＣＣ，Ｄ０，Ｄ４，Ｄ８，ＤＣ，Ｅ０，Ｅ４，Ｅ８，ＥＣ，Ｆ０，Ｆ４，Ｆ８，ＦＣが出力される。
【００５７】
次のマシンサイクルは、１２９〜１３２までのすべてのマルチプレクサは、読出制御回路４の制御によりまた最初の状態に戻り、一番右を選択する。
すなわち、マルチプレクサ１２９〜１３２はすべて入力側の３，７，１１，１５ビットを選択する。
一方、すべてのデマルチプレクサは先ほどまでと、読出制御回路４の制御により異なるところを選択する。具体的にはバンクメモリ１０６デマルチプレクサ１３５は一番左、すなわち、０〜３ビットのところを選択し、メモリ１０７デマルチプレクサ１３６は一番左の一つ右、すなわち、４〜７ビットのところを選択し、バンクメモリ１０４デマルチプレクサ１３３は一番左の二つ右、すなわち、８〜１１ビットのところを選択し、バンクメモリ１０５デマルチプレクサ１３４は一番右、すなわち、１２〜１５ビットのところを選択する。
この状態において、読出制御回路４の制御によりバンクメモリ１０６のアドレスを００番地にし、メモリ１０７のアドレスを０１番地にし、バンクメモリ１０４のアドレスを１０番地にし、バンクメモリ１０５のアドレスを１１番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、バンクメモリ１０６の００番地、メモリ１０７の０１番地、バンクメモリ１０４の１０番地、バンクメモリ１０５の１１番地のデータが読出され、９０度回転後画像データのアドレス０１００に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。すなわち、先ほどと同様なので詳細の記述は省略するが、９０度回転後画像データのアドレス０１００に８３，８７，８Ｂ，８Ｆ，９３，９７，９Ｂ，９Ｆ，Ａ３，Ａ７，ＡＢ，ＡＦ，Ｂ３，Ｂ７，ＢＢ，ＢＦが出力される。
【００５８】
以下同様にして、すべてのデマルチプレクサの選択位置をまったく同じにしたまま先ほど同様に１２９〜１３２のマルチプレクサ選択をずらして行き、読出制御回路４によりバンクメモリ１０６のアドレスを００番地にし、メモリ１０７のアドレスを０１番地にし、バンクメモリ１０４のアドレスを１０番地にし、バンクメモリ１０５のアドレスを１１番地にして読出命令を出すことにより、９０度回転後画像データのアドレス０１０１〜０１１１に示す様なデータが得られる。
【００５９】
さらに同様にして、またデマルチプレクサの選択位置をずらして、その状態でマルチプレクサをずらして行き、読出制御回路４によりバンクメモリ１０５のアドレスを００番地にし、バンクメモリ１０６のアドレスを０１番地にし、メモリ１０７のアドレスを１０番地にし、バンクメモリ１０４のアドレスを１１番地にして読出命令を出すことにより、９０度回転後画像データのアドレス１０００〜１０１１に示す様なデータが得られ、以下同様にしてまたデマルチプレクサの選択位置をずらして、その状態でマルチプレクサをずらして行き、読出制御回路４によりバンクメモリ１０４のアドレスを００番地にし、バンクメモリ１０５のアドレスを０１番地にし、バンクメモリ１０６のアドレスを１０番地にし、メモリ１０７のアドレスを１１番地にして読出命令を出すことにより、９０度回転後画像データのアドレス１１００〜１１１１に示す様なデータが得られる。結局、以上の様にして、バンクメモリ１０４〜１０７から１６マシンサイクルかけて９０度回転後画像データを出力することができる。
【００６０】
次に、図１０を参照して、配列変換読出処理回路２０２がコントローラ５からの選択信号Ｓを受けて１８０度回転後画像データを出力する処理について説明する。
１８０度回転は、図８の場合に対してｍビットデータの前後が入れ替わり、ｍビットデータのグループの位置が１８０度回転している。そこで、０度回転のデータの各アドレスのｎビットデータをさらにｍビット単位で前後の入れ換えをしてアドレス位置が逆転すればよい。そのために、図８の各マルチプレクサは、逆に、各ビットの後ろから選択して前へと移動させる。また、ｍビットの配列を前後入れ換えるためにビット配列反転回路１０８が利用される。
以下、これについて説明する。
まず、図１０の信号線の接続について以下説明する。
１．バンクメモリ１０４について
バンクメモリ１０４の１６ビットのデータ出力信号線は、図８とまったく同じく、バンクメモリ１０４にちうてのマルチプレクサ１２５の入力側にビット０〜１５がそのまま接続されている。
マルチプレクサ１２５の４ビットの出力信号線は、図８とまったく同じく、デマルチプレクサ１３３の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３３の１６ビットのデータ出力信号線は、ビット配列反転回路１０８を通して、すなわち、ビット０はビット１５へ、ビット１はビット１４へ、ビット２はビット１３へというようにビット配列を反転させて前後置換えた出力信号として出力される。
【００６１】
２．バンクメモリ１０５について
同様にしてバンクメモリ１０５についての１６ビットのデータ出力信号線は、マルチプレクサ１２６の入力側にビット０〜１５がそのまま接続されている。マルチプレクサ１２６の４ビットの出力信号線は、デマルチプレクサ１３４の入力側にビット０〜３がそのまま接続されている。
デマルチプレクサ１３４の１６ビットのデータ出力信号線は、ビット配列反転回路１０８を通して、すなわち、ビット０はビット１５へ、ビット１はビット１４へ、ビット２はビット１３へというようにビット配列を反転させて前後置換えた出力信号として出力される。
【００６２】
３．バンクメモリ１０６について
同様にしてバンクメモリ１０６についての１６ビットのデータ出力信号線は、マルチプレクサ１２７の入力側にビット０〜１５がそのまま接続されている。マルチプレクサ１２７の４ビットの出力信号線は、デマルチプレクサ１３５の入力側にビット０〜３がそのまま接続されている。
デマルチプレクサ１３５の１６ビットのデータ出力信号線は、ビット配列反転回路１０８を通して、すなわち、ビット０はビット１５へ、ビット１はビット１４へ、ビット２はビット１３へというようにビット配列を反転させて前後置換えた出力信号として出力される。
４．メモリ１０７について
同様にしてメモリ１０７についての１６ビットのデータ出力信号線は、マルチプレクサ１２８の入力側にビット０〜１５がそのまま接続されている。マルチプレクサ１２８の４ビットの出力信号線は、メモリ１０７デマルチプレクサ１３６の入力側にビット０〜３がそのまま接続されている。
デマルチプレクサ１３６の１６ビットのデータ出力信号線は、ビット配列反転回路１０８を通して、すなわち、ビット０はビット１５へ、ビット１はビット１４へ、ビット２はビット１３へというようにビット配列を反転させて前後置換えた出力信号として出力される。
【００６３】
図１０において、以下、バンクメモリ１０４〜１０７のあるデータ位置のデータがいかにして１８０度回転後データとして出力されるかを説明する。
そのため、まず各マルチプレクサ／デマルチプレクサが当初どの部分を選択しているかを説明する。１２５〜１２８までのすべてのマルチプレクサは当初一番右を選択し、メモリ１０７デマルチプレクサ１３６は、一番左を選択し、バンクメモリ１０４についてのデマルチプレクサ１３３は、一番左の一つ右隣りを選択し、バンクメモリ１０５についてのデマルチプレクサ１３４は、一番左の二つ右隣りを選択し、バンクメモリ１０６についてのデマルチプレクサ１３５は、一番右を選択する。
すなわち、マルチプレクサ１２５〜１２８はすべて入力側の１２〜１５ビットを選択して出力し、メモリ１０７についてのデマルチプレクサ１３６は、０〜３ビットを選択して出力し、バンクメモリ１０４についてのデマルチプレクサ１３３は４〜７ビットを選択して出力し、バンクメモリ１０５についてのデマルチプレクサ１３４は８〜１１ビットを選択して出力し、バンクメモリ１０６についてのデマルチプレクサ１３５は１２〜１５ビットを選択して出力する状態になっている。
【００６４】
あるマシンサイクルにおいて読出制御回路４の制御によりバンクメモリ１０４〜１０７のアドレスを１１番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、バンクメモリ１０４〜１０７の１１番地のデータが読出され、１８０度回転後画像データ（ビットマップＤ参照）のアドレス００００に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。
メモリ１０７から説明すると、
メモリ１０７のアドレス１１のビット０〜１５の３０〜３Ｆのデータ位置のデータが読出され、メモリ１０７についてのマルチプレクサ１２８によって“３Ｃ〜３Ｆ”以外のデータ位置のデータは捨てられ、３Ｃ〜３Ｆのデータ位置のデータがメモリ１０７についてのデマルチプレクサ１３６により、ビット配列反転回路１０８のビット０〜３に入力され、ビット配列反転回路１０８を通過することで、ビット１２に“３Ｆ”が、ビット１３に“３Ｅ”が、ビット１４に“３Ｄ”が、ビット１５に“３Ｃ”が、それぞれ出力される。したがって、１８０度回転後画像データのアドレス００００のビット１２〜１５に“３Ｆ，３Ｅ，３Ｄ，３Ｃ”が出力される。
【００６５】
また、バンクメモリ１０４については、
バンクメモリ１０４についてのアドレス１１のビット０〜１５の７０〜７Ｆのデータ位置のデータが読出され、バンクメモリ１０４についてのマルチプレクサ１２５によって“７Ｃ〜７Ｆ”以外のデータ位置のデータは捨てられ、７Ｃ〜７Ｆのデータ位置のデータがバンクメモリ１０４についてのデマルチプレクサ１３３により、ビット配列反転回路１０８のビット４〜７に入力され、ビット配列反転回路１０８を通過することで、ビット８に“７Ｆ”が、ビット９に“７Ｅ”が、ビット１０に“７Ｄ”が、ビット１１に“７Ｃ”が、それぞれ出力され、１８０度回転後画像データのアドレス００００のビット８〜１１に“７Ｆ，７Ｅ，７Ｄ，７Ｃ”が出力される。
さらに、バンクメモリ１０５については、
バンクメモリ１０５についてのアドレス１１のビット０〜１５のＢ０〜ＢＦのデータ位置のデータが読出され、バンクメモリ１０５についてのマルチプレクサ１２６によって“ＢＣ〜ＢＦ”以外のデータ位置のデータは捨てられ、ＢＣ〜ＢＦのデータ位置のデータがバンクメモリ１０５についてのデマルチプレクサ１３４により、ビット配列反転回路１０８のビット８〜１１に入力され、ビット配列反転回路１０８を通過することで、ビット４に“ＢＦ”が、ビット５に“ＢＥ”が、ビット６に“ＢＤ”が、ビット７に“ＢＣ”が、それぞれ出力されて、１８０度回転後画像データのアドレス００００のビット４〜７に“ＢＦ，ＢＥ，ＢＤ，ＢＣ”が出力される。
【００６６】
バンクメモリ１０６については、
バンクメモリ１０６のアドレス１１のビット０〜１５のＦ０〜ＦＦのデータ位置のデータが読出され、バンクメモリ１０６マルチプレクサ１２８によって“ＦＣ〜ＦＦ”以外のデータ位置のデータは捨てられ、ＦＣ〜ＦＦのデータ位置のデータがバンクメモリ１０６デマルチプレクサ１３５により、ビット配列反転回路１０８のビット１２〜１５に入力され、ビット配列反転回路１０８を通過することで、ビット０に“ＦＦ”が、ビット１に“ＦＥ”が、ビット２に“ＦＤ”が、ビット３に“ＦＣ”が、出力され、１８０度回転後画像データのアドレス００００のビット０〜３に“ＦＦ，ＦＥ，ＦＤ，ＦＣ”が出力される。
【００６７】
次のマシンサイクルでは、１２５〜１２８までのすべてのマルチプレクサは、読出制御回路４の制御により先ほどまで選択していた一番右の一つ左隣りを選択する。すなわち、マルチプレクサ１２５〜１２８はすべて入力側の８〜１１ビットを選択する。すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択する。この状態において、読出制御回路４によりバンクメモリ１０４〜１０７のアドレスを１１番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、バンクメモリ１０４〜１０７の１１番地が読出され、１８０度回転後画像データのアドレス０００１に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。すなわち、先ほどと同様なので詳細の記述は省略するが、１８０度回転後画像データのアドレス０００１にＦＢ，ＦＡ，Ｆ９，Ｆ８，ＢＢ，ＢＡ，Ｂ９，Ｂ８，７Ｂ，７Ａ，７９，７８，３Ｂ，３Ａ，３９，３８が出力される。
【００６８】
次のマシンサイクルでは、１２５〜１２８までのすべてのマルチプレクサは、読出制御回路４の制御により一番右の二つ左隣りを選択する。すなわち、マルチプレクサ１２５〜１２８はすべて入力側の４〜７ビットを選択する。
すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択し、この状態において、読出制御回路４によりバンクメモリ１０４〜１０７のアドレスを１１番地にして読出命令を出すことにより、１８０度回転後画像データのアドレス００１０にＦ７，Ｆ６，Ｆ５，Ｆ４，Ｂ７，Ｂ６，Ｂ５，Ｂ４，７７，７６，７５，７４，３７，３６，３５，３４が出力される。
【００６９】
次のマシンサイクルでは、１２５〜１２８までのすべてのマルチプレクサは、読出制御回路４の制御により一番左を選択する。すなわち、マルチプレクサ１２５〜１２８はすべて入力側の０〜３ビットを選択する。
すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択し、この状態において、読出制御回路４によりバンクメモリ１０４〜１０７のアドレスを１１番地にして読出命令を出すことにより、１８０度回転後画像データのアドレス００１１にＦ３，Ｆ２，Ｆ１，Ｆ０，Ｂ３，Ｂ２，Ｂ１，Ｂ０，７３，７２，７１，７０，３３，３２，３１，３０が出力される。
【００７０】
次のマシンサイクルでは、１２５〜１２８までのすべてのマルチプレクサは、読出制御回路４の制御によりまた最初の状態に戻り、一番右を選択する。すなわち、マルチプレクサ１２５〜１２８はすべて入力側の１２〜１５ビットを選択する。
一方、すべてのデマルチプレクサは先ほどまでと、読出制御回路４の制御により異なるところを選択する。具体的にはバンクメモリ１０６デマルチプレクサ１３５は一番左、すなわち、０〜３ビットのところを選択し、メモリ１０７デマルチプレクサ１３６は一番左の一つ右、すなわち、４〜７ビットのところを選択し、バンクメモリ１０４デマルチプレクサ１３３は一番左の二つ右、すなわち、８〜１１ビットのところを選択し、バンクメモリ１０５デマルチプレクサ１３４は一番右、すなわち、１２〜１５ビットのところを選択する。この状態において、読出制御回路４によりバンクメモリ１０４〜１０７のアドレスを１０番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、バンクメモリ１０４〜１０７の１０番地が読出され、１８０度回転後画像データのアドレス０１００に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。すなわち、先ほどと同様なので詳細の記述は省略するが、１８０度回転後画像データのアドレス０１００にＥＦ，ＥＥ，ＥＤ，ＥＣ，ＡＦ，ＡＥ，ＡＤ，ＡＣ，６Ｆ，６Ｅ，６Ｄ，６Ｃ，２Ｆ，２Ｅ，２Ｄ，２Ｃが出力される。
【００７１】
以下同様にして、すべてのデマルチプレクサの選択位置をまったく同じにしたまま先ほど同様に１２５〜１２８のマルチプレクサ選択をずらして行き、読出制御回路４によりバンクメモリ１０４〜１０７のアドレスを１０番地のまま読出命令を出すことにより、１８０度回転後画像データのアドレス０１０１〜０１１１に示す様なデータが得られる。
【００７２】
さらに同様にして、またデマルチプレクサの選択位置をずらして、その状態でマルチプレクサをずらして行き、読出制御回路４によりバンクメモリ１０４〜１０７のアドレスを０１番地にして読出命令を出すことにより、１８０度回転後画像データのアドレス１０００〜１０１１に示す様なデータが得られ、以下同様にしてまたデマルチプレクサの選択位置をずらして、その状態でマルチプレクサをすらして行き、読出制御回路４によりバンクメモリ１０４〜１０７のアドレスを００番地にして読出命令を出すことにより、１８０度回転後画像データのアドレス１１００〜１１１１に示す様なデータが得られる。結局、以上の様にして、バンクメモリ１０４〜１０７から１６マシンサイクルかけて１８０度回転後画像データを出力することができる。
【００７３】
次に、図１１を参照して、配列変換読出処理回路２０２がコントローラ５からの選択信号Ｓを受けて２７０度回転後画像データを出力する処理について説明する。
２７０度回転の場合には、９０度回転する図９のデータをマルチプレクサで逆に選択することでさらに１８０度回転させてビット配列の入換えを行う。
以下これについて説明する。
図１１の信号線の接続について以下説明する。
バンクメモリ１０４について
バンクメモリ１０４の１６ビットのデータ出力信号線は、図９とまったく同じく、バンクメモリ１０４マルチプレクサ１２９の一番左の入力側にビット０，４，８，１２が、一番左の一つ右隣りの入力側にビット１，５，９，１３が、一番左の二つ右隣りの入力側にビット２，６，１０，１４が、一番右の入力側にビット３，７，１１，１５が、それぞれ接続されている。このため、マルチプレクサ１２９が一番左を選択している状態では、バンクメモリ１０４出力の０ビット目がマルチプレクサ１２９出力の０ビット目に対応し、以下同様にバンクメモリ１０４の４ビット目がマルチプレクサ１２９出力の１ビット目に対応し、バンクメモリ１０４の８ビット目がマルチプレクサ１２９出力の２ビット目に対応し、バンクメモリ１０４の１２ビット目がマルチプレクサ１２９出力の３ビット目に対応する。
【００７４】
マルチプレクサ１２９が一番左の一つ右隣りを選択している状態では、バンクメモリ１０４出力の１ビット目がマルチプレクサ１２９出力の０ビット目に対応し、バンクメモリ１０４の５ビット目がマルチプレクサ１２９出力の１ビット目に対応し、バンクメモリ１０４の９ビット目がマルチプレクサ１２９出力の２ビット目に対応し、バンクメモリ１０４の１３ビット目がマルチプレクサ１２９出力の３ビット目に対応する。
マルチプレクサ１２９が一番左の二つ右隣りを選択している状態では、バンクメモリ１０４出力の２ビット目がマルチプレクサ１２９出力の０ビット目に対応し、バンクメモリ１０４の６ビット目がマルチプレクサ１２９出力の１ビット目に対応し、バンクメモリ１０４の１０ビット目がマルチプレクサ１２９出力の２ビット目に対応し、バンクメモリ１０４の１４ビット目がマルチプレクサ１２９出力の３ビット目に対応する。
マルチプレクサ１２９が一番右を選択している状態では、バンクメモリ１０４出力の３ビット目がマルチプレクサ１２９出力の０ビット目に対応し、バンクメモリ１０４の７ビット目がマルチプレクサ１２９出力の１ビット目に対応し、バンクメモリ１０４の１１ビット目がマルチプレクサ１２９出力の２ビット目に対応し、バンクメモリ１０４の１５ビット目がマルチプレクサ１２９出力の３ビット目に対応する。
【００７５】
次にマルチプレクサ１２９の４ビットの出力信号線は、図８とまったく同じく、デマルチプレクサ１３３の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３３の１６ビットのデータ出力信号線は、図１０とまったく同じく、ビット配列反転回路１０８を通して、すなわち、ビット０はビット１５へ、ビット１はビット１４へ、ビット２はビット１３へというようにビット配列を反転させて前後置換えた出力信号として出力される。
【００７６】
バンクメモリ１０５について、
同様にしてバンクメモリ１０５の１６ビットのデータ出力信号線は、図９とまったく同じく、バンクメモリ１０５マルチプレクサ１３０の一番左の入力側にビット０，４，８，１２が、一番左の一つ右隣りの入力側にビット１，５，９，１３が、一番左の二つ右隣りの入力側にビット２，６，１０，１４が、一番右の入力側にビット３，７，１１，１５が、それぞれ接続されている。
マルチプレクサ１３０の４ビットの出力信号線は、図８とまったく同じく、デマルチプレクサ１３４の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３４の１６ビットのデータ出力信号線は、図１０とまったく同じく、ビット配列反転回路１０８を通して、すなわち、ビット０はビット１５へ、ビット１はビット１４へ、ビット２はビット１３へというようにビット配列を反転させて前後置換えた出力信号として出力される。
【００７７】
バンクメモリ１０６について、
同様にしてバンクメモリ１０６の１６ビットのデータ出力信号線は、図９とまったく同じく、マルチプレクサ１３１の一番左の入力側にビット０，４，８，１２が、一番左の一つ右隣りの入力側にビット１，５，９，１３が、一番左の二つ右隣りの入力側にビット２，６，１０，１４が、一番右の入力側にビット３，７，１１，１５が、それぞれ接続されている。
マルチプレクサ１３１の４ビットの出力信号線は、図８とまったく同じく、デマルチプレクサ１３５の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３５の１６ビットのデータ出力信号線は、図１０とまったく同じく、ビット配列反転回路１０８を通して、すなわち、ビット０はビット１５へ、ビット１はビット１４へ、ビット２はビット１３へというようにビット配列を反転させて前後置換えた出力信号として出力される。
【００７８】
メモリ１０７について、
同様にしてメモリ１０７の１６ビットのデータ出力信号線は、図９とまったく同じく、マルチプレクサ１３２の一番左の入力側にビット０，４，８，１２が、一番左の一つ右隣りの入力側にビット１，５，９，１３が、一番左の二つ右隣りの入力側にビット２，６，１０，１４が、一番右の入力側にビット３，７，１１，１５が、それぞれ接続されている。
マルチプレクサ１３２の４ビットの出力信号線は、図８とまったく同じく、デマルチプレクサ１３６の入力側にビット０〜３がそのまま接続されている。デマルチプレクサ１３６の１６ビットのデータ出力信号線は、図１０とまったく同じく、ビット配列反転回路１０８を通して、すなわち、ビット０はビット１５へ、ビット１はビット１４へ、ビット２はビット１３へというようにビット配列を反転させて前後置換えた出力信号として出力される。
【００７９】
図１１においてバンクメモリ１０４〜１０７のあるデータ位置のデータがいかにして２７０度回転後データとして出力されるかを説明する。
そのため、まず各マルチプレクサ／デマルチプレクサが当初どの部分を選択しているかを説明する。
１２９〜１３２までのすべてのマルチプレクサは当初一番左を選択し、バンクメモリ１０４についてのデマルチプレクサ１３３は、一番左を選択し、バンクメモリ１０５についてのデマルチプレクサ１３４は、一番左の一つ右隣りを選択し、バンクメモリ１０６についてのデマルチプレクサ１３５は、一番左の二つ右隣りを選択し、メモリ１０７についてのデマルチプレクサ１３６は、一番右を選択する。
すなわち、マルチプレクサ１２９〜１３２はすべて入力側の０，４，８，１２ビットを選択して出力し、バンクメモリ１０４についてのデマルチプレクサ１３３は、０〜３ビットを選択して出力し、バンクメモリ１０５についてのデマルチプレクサ１３４は、４〜７ビットを選択して出力し、バンクメモリ１０６についてのデマルチプレクサ１３５は、８〜１１ビットを選択して出力し、メモリ１０７についてのデマルチプレクサ１３６は、１２〜１５ビットを選択して出力する状態になっている。
【００８０】
あるマシンサイクルにおいて読出制御回路４により制御されて、バンクメモリ１０４のアドレスを００番地にし、バンクメモリ１０５のアドレスを０１番地にし、バンクメモリ１０６のアドレスを１０番地にし、メモリ１０７のアドレスを１１番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、バンクメモリ１０４の００番地、バンクメモリ１０５の０１番地、バンクメモリ１０６の１０番地、メモリ１０７の１１番地のデータが読出され、２７０度回転後画像データ（ビットマップＥ参照）のアドレス００００に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。
すなわち、バンクメモリ１０４のアドレス００のビット０〜１５の００〜０Ｆのデータ位置のデータが読出され、マルチプレクサ１２９によって“００，０４，０８，０Ｃ”以外のデータ位置のデータは捨てられ、００，０４，０８，０Ｃのデータ位置のデータがバンクメモリ１０４デマルチプレクサ１３３を通り、さらにビット配列反転回路を通過することで図１０と同様にして２７０度回転後画像データのアドレス００００のビット１２〜１５に示す様に出力される。
【００８１】
バンクメモリ１０５のアドレス０１のビット０〜１５の１０〜１Ｆのデータ位置のデータが読出され、マルチプレクサ１３０によって“１０，１４，１８，１Ｃ”以外のデータ位置のデータは捨てられ、１０，１４，１８，１Ｃのデータ位置のデータがバンクメモリ１０５デマルチプレクサ１３４により、２７０度回転後画像データのアドレス００００のビット８〜１１に示す様に出力される。
バンクメモリ１０６のアドレス１０のビット０〜１５の２０〜２Ｆのデータ位置のデータが読出され、マルチプレクサ１３１によって“２０，２４，２８，２Ｃ”以外のデータ位置のデータは捨てられ、２０，２４，２８，２Ｃのデータ位置のデータがバンクメモリ１０６デマルチプレクサ１３５により、２７０度回転後画像データのアドレス００００のビット４〜７に示す様に出力される。
メモリ１０７のアドレス１１のビット０〜１５の３０〜３Ｆのデータ位置のデータが読出され、マルチプレクサ１３２によって“３０，３４，３８，３Ｃ”以外のデータ位置のデータは捨てられ、３０，３４，３８，３Ｃのデータ位置のデータがメモリ１０７デマルチプレクサ１３６により、２７０度回転後画像データのアドレス００００のビット０〜３に示す様に出力される。
【００８２】
次のマシンサイクルでは、１２９〜１３２までのすべてのマルチプレクサは、読出制御回路４により制御されて、先ほどまで選択していた一番左の一つ右隣りを選択する。すなわち、マルチプレクサ１２９〜１３２はすべて入力側の１，５，９，１３ビットを選択する。すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択する。この状態において、読出制御回路４によりバンクメモリ１０４のアドレスを００番地にし、バンクメモリ１０５のアドレスを０１番地にし、バンクメモリ１０６のアドレスを１０番地にし、メモリ１０７のアドレスを１１番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、バンクメモリ１０４の００番地、バンクメモリ１０５の０１番地、バンクメモリ１０６の１０番地、メモリ１０７の１１番地のデータが読出され、２７０度回転後画像データのアドレス０００１に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。すなわち、先ほどと同様なので詳細の記述は省略するが、２７０度回転後画像データのアドレス０００１に３Ｄ，３９，３５，３１，２Ｄ，２９，２５，２１，１Ｄ，１９，１５，１１，０Ｄ，０９，０５，０１が出力される。
【００８３】
次のマシンサイクルでは、１２９〜１３２までのすべてのマルチプレクサは、読出制御回路４により制御されて、一番左の二つ右隣りを選択する。すなわち、マルチプレクサ１２９〜１３２はすべて入力側の２，６，１０，１４ビットを選択する。
すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択し、この状態において、読出制御回路４によりバンクメモリ１０４のアドレスを００番地にし、バンクメモリ１０５のアドレスを０１番地にし、バンクメモリ１０６のアドレスを１０番地にし、メモリ１０７のアドレスを１１番地にして読出命令を出すことにより、２７０度回転後画像データのアドレス００１０に３Ｅ，３Ａ，３６，３２，２Ｅ，２Ａ，２６，２２，１Ｅ，１Ａ，１６，１２，０Ｅ，０Ａ，０６，０２が出力される。
【００８４】
次のマシンサイクルでは、１２９〜１３２までのすべてのマルチプレクサは、一番右を選択する。すなわち、マルチプレクサ１２９〜１３２はすべて入力側の３，７，１１，１５ビットを選択する。
すべてのデマルチプレクサは先ほどまでと、まったく同じところを選択し、この状態において、読出制御回路４によりバンクメモリ１０４のアドレスを００番地にし、バンクメモリ１０５のアドレスを０１番地にし、バンクメモリ１０６のアドレスを１０番地にし、メモリ１０７のアドレスを１１番地にして読出命令を出すことにより、２７０度回転後画像データのアドレス００１１に３Ｆ，３Ｂ，３７，３３，２Ｆ，２Ｂ，２７，２３，１Ｆ，１Ｂ，１７，１３，０Ｆ，０Ｂ，０７，０３が出力される。
【００８５】
次のマシンサイクルでは、１２９〜１３２までのすべてのマルチプレクサは、また最初の状態に戻り、一番左を選択する。すなわち、マルチプレクサ１２９〜１３２はすべて入力側の０，４，８，１２ビットを選択する。
一方、すべてのデマルチプレクサは先ほどまでと、異なるところを選択する。具体的にはバンクメモリ１０５についてのデマルチプレクサ１３４は一番左すなわち、０〜３ビットのところを選択し、バンクメモリ１０６についてのデマルチプレクサ１３５は一番左の一つ右、すなわち、４〜７ビットのところを選択し、メモリ１０７についてのデマルチプレクサ１３６は一番左の二つ右、すなわち、８〜１１ビットのところを選択し、バンクメモリ１０４についてのデマルチプレクサ１３３は一番右、すなわち、１２〜１５ビットのところを選択する。この状態において、読出制御回路４によりバンクメモリ１０５のアドレスを００番地にし、バンクメモリ１０６のアドレスを０１番地にし、メモリ１０７のアドレスを１０番地にし、バンクメモリ１０４のアドレスを１１番地にして読出命令を出すことにより、各マルチプレクサ／デマルチプレクサが前述した状態になっているため、バンクメモリ１０５の００番地、バンクメモリ１０６の０１番地、メモリ１０７の１０番地、バンクメモリ１０４の１１番地のデータが読出され、２７０度回転後画像データのアドレス０１００に示す様にバンクメモリ１０４〜１０７上のデータの一部が出力される。
すなわち、先ほどと同様なので詳細の記述は省略するが、２７０度回転後画像データのアドレス０１００に７Ｃ，７８，７４，７０，６Ｃ，６８，６４，６０，５Ｃ，５８，５４，５０，４Ｃ，４８，４４，４０が出力される。
【００８６】
以下同様にして、すべてのデマルチプレクサの選択位置をまったく同じにしたまま先ほど同様に１２９〜１３２のマルチプレクサ選択をずらして行き、読出制御回路４の制御によりバンクメモリ１０５のアドレスを００番地にし、バンクメモリ１０６のアドレスを０１番地にし、メモリ１０７のアドレスを１０番地にし、バンクメモリ１０４のアドレスを１１番地にして読出命令を出すことにより、２７０度回転後画像データのアドレス０１０１〜０１１１に示す様なデータが得られる。
さらに同様にして、またデマルチプレクサの選択位置をずらして、その状態でマルチプレクサをずらして行き、読出制御回路４によりバンクメモリ１０６のアドレスを００番地にし、メモリ１０７のアドレスを０１番地にし、バンクメモリ１０４のアドレスを１０番地にし、バンクメモリ１０５のアドレスを１１番地にして読出命令を出すことにより、２７０度回転後画像データのアドレス１０００〜１０１１に示す様なデータが得られ、以下同様にしてまたデマルチプレクサの選択位置をずらして、その状態でマルチプレクサをずらして行き、読出制御回路４によりメモリ１０７のアドレスを００番地にし、バンクメモリ１０４のアドレスを０１番地にし、バンクメモリ１０５のアドレスを１０番地にし、バンクメモリ１０６のアドレスを１１番地にして読出命令を出すことにより、２７０度回転後画像データのアドレス１１００〜１１１１に示す様なデータが得られる。結局、以上の様にして、バンクメモリ１０４〜１０７から１６マシンサイクルかけて２７０度回転後画像データを出力することができる。
【００８７】
以上、図７の配列変換読出処理回路２０２の詳細を、説明の便宜上、図８〜図１１を用いて説明してきたが、図８〜図１１の回路は、それぞれまったく別々の論理回路を設けてもよいが、このような論理回路を設けなくとも、マルチプレクサ１２５〜１２８とマルチプレクサ１２９〜１３２とでメモリとの間の接続ビット位置が異なる点と、ビット配列反転回路１０８が必要なケースと不要なケースの二通りがある点を除いて共通である。このことに着目し、さらに図示してない制御系でメモリのアドレス制御と、マルチプレクサ／デマルチプレクサの選択制御をすることにより、図７に概略ブロック図で示す様な形でデータ系を共通化することが可能である。
【００８８】
ところで、以上の実施例は１６×１６ビットサイズの例で説明してきたが、それに限らず、４×４，９×９，１６×１６（上記実施例のケース），２５×２５，３６×３６，４９×４９，６４×６４，８１×８１，１００×１００，．．．，ｎ×ｎ（ここでｍは２以上の整数であり、ｎはｍの２乗で計算する）の各ビットサイズに摘要可能である。
上記実施例、すなわち、１６×１６ビットサイズの例では３個の入力バッファ（１６ビット幅）を設け、１６個のメモリマルチプレクサ（１６ビットから４ビットを選択）を設け、４個のメモリ（１６ビット×４アドレスから成る）を設け、４個のメモリ読出“０度／１８０度回転用”マルチプレクサ（１６ビットから４ビット選択）を設け、４個のメモリ読出“９０度／２７０度回転用”マルチプレクサ（１６ビットから４ビット選択）を設け、４個のメモリデマルチプレクサ（４ビットを入力して、１６ビットの内のある４ビットのみ選択）を設け、１個の“１８０度／２７０度回転用”ビット配列反転回路（１６ビット幅）を設けた。
【００８９】
一般にｎ×ｎビットサイズの場合は、“ｍ−１”個の入力バッファ（ｎビット幅）を設け、ｎ個のメモリマルチプレクサ（ｎビットからｍビットを選択）を設け、ｍ個のメモリ（ｎビット×ｍアドレスから成る）を設け、ｍ個のメモリ読出“０度／１８０度回転用”マルチプレクサ（ｎビットからｍビット選択）を設け、ｍ個のメモリ読出“９０度／２７０度回転用”マルチプレクサ（ｎビットからｍビット選択）を設け、ｍ個のメモリデマルチプレクサ（ｍビットを入力して、ｎビットの内のあるｍビットのみ選択）を設け、１個の“１８０度／２７０度回転用”ビット配列反転回路（ｎビット幅）を設けることで実現可能である。
また、上記でｎ＜（ｍの２乗）のケース、例えばｍ＝４でｎ＝１５、すなわち、１５×１５ビットサイズの場合等でも、例えば１６×１６のケースの論理回路に、一部未使用部を“０”固定する（強制的に“０”を入力する）等の変形を加えることで実現可能である。さらに、例えば１６×１２ビットサイズの様な長方形ビットサイズの場合も、上記同様例えば１６×１６のケースの論理回路に、一部未使用部を“０”固定する（強制的に“０”を入力する）等の変形を加えることで実現可能である。もちろん、強制的に“０”にしたところを削除することで、回転後の形状も長方形ビットサイズとして取出すことも可能である。
【００９０】
以上の実施例では、メモリはあるビット幅×アドレス構成の部品を使うことで説明したが、ビット幅×アドレス構成の異る部品を複数個組み合わせる方法でも、また専用のＬＳＩ等を作製すれば１個でも実現可能である。
他のマルチプレクサ、デマルチプレクサ、ビット配列反転回路も同様に、他の構成のものを１個または複数個で実現することも可能である。
また、以上の実施例では説明の都合上、１６×１６ビットサイズの、すなわち、フォントデータ等比較的小さなビットサイズの回転について説明してきたが、もっと大きな例えば１ページ分のサイズのデータの回転でも、まったく同じ考えで実現可能である。
さらにこの発明は、複数の機器から構成されるシステムの一部に適用してもよいし、一つの機器からなる装置に適用してもよい。また以上の実施例はすべてハードウェア論理で説明してきたが、その一部または全部をソフトウェア化することも可能である。
【００９１】
以上説明してきたが、実施例では、プリンタに内蔵される画像データ回転処理装置を説明しているが、この発明は、これに限定されるものではない。したがって、図４で説明した実施例におけるＭＰＵは、装置側に内蔵されていてもよく、また、出力バッファメモリ２０３は、この装置とは別の装置にあってもよい。さらに、画像データメモリ１００は、バンクメモリ構成である必要はなく、プログラム処理にて内部メモリ等の作業領域に記憶されるものであってもよい。
【図面の簡単な説明】
【００９２】
【図１】図１は、この発明の一実施例の画像データ回転処理装置におけるブロック分割による画像データメモリ書込み処理の説明図である。
【図２】図２には、その書込画像データと画像データメモリのビットマップの説明図である。
【図３】図３は、９０度，１８０度、２７０度の回転処理のビットマップによる説明図である。
【図４】図４は、この発明を適用した一実施例のプリンタ等に内蔵される画像データ回転処理装置の全体的な構成を示すブロック図である。
【図５】図５は、その画像データメモリに記憶する画像データの配列変換書込処理回路のブロック図である。
【図６】図６は、画像データに設定される前記ブロックをアドレス方向に対してビット幅方向を優先させて１からｊ×ｋの順位付けをした場合の説明図である。
【図７】図７は、配列変換読出処理回路のブロック図である。
【図８】図８は、配列変換読出処理回路の０度回転させるデータの配列変換読出処理のための説明図である。
【図９】図９は、配列変換読出処理回路の９０度回転させるデータの配列変換読出処理のための説明図である。
【図１０】図１０は、配列変換読出処理回路の１８０度回転させるデータの配列変換読出処理のための説明図である。
【図１１】図１１は、配列変換読出処理回路の２７０度回転させるデータの配列変換読出処理のための説明図である。
【符号の説明】
【００９３】
１…画像データ回転処理装置、
２…書込制御回路、３…クロック発生回路、
４…読出制御回路、５…コントローラ、１０…ＭＰＵ、
１００…画像データメモリ、
１０１〜１０３…入力バッファ、
１０４，１０５，１０６，１０７…バンクメモリ、
１０８…ビット配列反転回路、
１０９〜１３２…マルチプレクサ、
１３３〜１３６…デマルチプレクサ、１３７…書込側マルチプレクサ、
１３８…読出側マルチプレクサ／デマルチプレクサ、
２００…回転前画像データ、
２０１…配列変換書込処理回路、
２０２…配列変換読出処理回路、
２０３…出力バッファメモリ、
【図１】
2005022387.tif 000003
【図２】
2005022387.tif 000004
【図３】
2005022387.tif 000005
【図４】
2005022387.tif 000006
【図５】
2005022387.tif 000007
【図６】
2005022387.tif 000008
【図７】
2005022387.tif 000009
【図８】
2005022387.tif 000010
【図９】
2005022387.tif 000011
【図１０】
2005022387.tif 000012
【図１１】
2005022387.tif 000013