(57)【要約】【課題】画像データの欠落なく元画像の回転処理を行う。【解決手段】元原稿の回転角や余白幅、用紙サイズは画像前処理部１に供給される。画像前処理部１は縮小処理部１０、セレクタ１２、縮小条件判断部１４を有する。セレクタ１２には、縮小処理部１０で縮小された画像データ、及び縮小されていない画像データが供給される。縮小条件判断部１４は、回転処理後の原稿サイズ内に元原稿の有効画像領域が存在すると判定される場合には縮小処理が不要としてセレクタ１２に縮小処理していない画像データの選択を指令する。回転処理部２は、画像前処理部１からの画像データを補間演算して回転処理する。【選択図】図１
2006013803.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を回転して出力する画像処理装置であって、
入力画像を記憶する第１記憶手段と、
前記第１記憶手段に記憶された画像データをブロック単位で読み出すための第１読み出しアドレスを生成する第１アドレス生成手段と、
前記第１読み出しアドレスに従い前記第１記憶手段から読み出された画像データを記憶する第２記憶手段と、
前記第２記憶手段に記憶された画像データを読み出すための第２読み出しアドレスを生成する第２アドレス生成手段と、
前記第２読み出しアドレスに従い前記第２記憶手段から読み出された画像データに対して回転処理を行う演算手段と、
回転処理された画像データを記憶する第３記憶手段と、
を有し、
前記第１アドレス生成手段は、前記入力画像の回転角度、前記入力画像のサイズ、及び前記入力画像の余白幅に応じて前記第１読み出しアドレスを生成し、
さらに、前記回転角度、前記入力画像のサイズ、及び前記入力画像の余白幅に応じて前記入力画像の縮小処理の必要性を判定する判定手段と、
前記判定手段で縮小処理が必要と判定された場合のみ前記入力画像を縮小処理して前記第１記憶手段に供給する縮小手段と、
を有することを特徴とする画像処理装置。
【請求項２】
請求項１記載の装置において、
前記第１アドレス生成手段は、前記入力画像の左右上下の余白幅をそれぞれＸｅｄｇｅ１、Ｘｅｄｇｅ２、Ｙｅｄｇｅ１、Ｙｅｄｇｅ２とした場合、前記入力画像の一点を基準として回転処理する場合の読み出しアドレスに対して主走査方向にＸｅｄｇｅ１／（Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２）に応じた量だけシフトさせ、副走査方向にＹｅｄｇｅ１／（Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２）に応じた量だけシフトさせたアドレスを前記第１読み出しアドレスとして生成し、
前記判定手段は、前記第１アドレス生成手段で生成される読み出しアドレスで指定される読み出し領域内に入力される画像のうちの前記余白幅を除いた有効画像領域が全て含まれない場合に前記入力画像の縮小処理の必要性があると判定する
ことを特徴とする画像処理装置。
【請求項３】
請求項１記載の装置において、
前記第１アドレス生成手段は、前記入力画像の左右上下の余白幅をそれぞれＸｅｄｇｅ１、Ｘｅｄｇｅ２、Ｙｅｄｇｅ１、Ｙｅｄｇｅ２とし、前記入力画像の一点を基準として回転処理する場合の回転処理後の出力画像の前記入力画像に対する主走査方向のはみ出し量Ｘｏｖｒ、副走査方向のはみだし量Ｙｏｖｒとした場合、前記入力画像の一点を基準として回転処理する場合の読み出しアドレスに対して主走査方向にＸｏｖｒ×Ｘｅｄｇｅ１／（Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２）だけシフトさせ、副走査方向にＹｏｖｒ×Ｙｅｄｇｅ１／（Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２）だけシフトさせたアドレスを前記第１読み出しアドレスとして生成し、
前記判定手段は、Ｘｏｖｒ≦Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２であり、かつ、Ｙｏｖｒ≦Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２である場合に前記入力画像の縮小処理は不要であると判定し、そうでない場合に縮小処理の必要性があると判定する
ことを特徴とする画像処理装置。
【請求項４】
請求項１記載の装置において、
前記判定手段は、前記演算手段における回転処理が前記入力画像の傾き角に応じた回転処理である場合には、前記縮小処理は不要であると判定することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、特に画像回転機能を備える複写機等の装置に関する。
【背景技術】
【０００２】
従来より、複写機等の画像処理装置において、入力画像に対して回転処理を行うことが知られている。
【０００３】
例えば、下記に示す特許文献には、画像の傾き角度を検出し、検出された傾き角度に対応するシフト量で所定のライン数毎に画像データを主走査方向にシフトさせ、シフトさせた画像データを画像メモリに記憶させることが記載されている。そして、検出された傾き角度に応じて傾き補正を行うことにより生じる倍率誤差を、画像データ読み取り時に補正する倍率補正手段を備えることが記載されている。この倍率補正手段は、傾き角度をθとした場合に、傾き補正時に元画像に対してｃｏｓθを乗じる演算を行うため補正後の画像は元画像に対してｃｏｓθだけ縮小していることに鑑み、元画像読み取り時に１／ｃｏｓθだけ拡大することで倍率誤差をキャンセルするものである。
【０００４】
【特許文献１】特開２０００−１８８６７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように、回転処理において、回転角が大きい場合には倍率誤差が無視できなくなるため元画像の拡大処理が必要となるが、回転角が小さい場合には元画像の拡大処理はそれほど必要としないと考えられる。その一方で、元画像の回転処理を行う際、単に元画像の所定位置を基準として回転処理したのでは、補正後の用紙領域と元画像の用紙領域との相対的位置関係が異なるため、元画像における画像データが補正後の画像領域に含まれない場合が生じて元画像の一部が欠落する問題が生じ、この問題を解決するために元画像を一律に縮小する処理が必要となる。
【０００６】
もちろん、元画像の用紙に十分な余白領域が存在する場合には、たとえ両用紙領域の相対的位置関係が異なっていても元画像を縮小することなく元画像の画像領域自体が補正後の用紙領域に含まれるため画像データの欠落は生じないが、全ての用紙において十分な余白があることは保証されず、特に余白が小さいか、ほとんどない場合には画像データの一部が欠落する問題が生じ得る。
【０００７】
本発明の目的は、一律に元画像の縮小を行うことなく、かつ、画像データの欠落等の画質劣化を防いで元画像の回転処理を行うことができる装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、入力画像を回転して出力する画像処理装置であって、入力画像を記憶する第１記憶手段と、前記第１記憶手段に記憶された画像データをブロック単位で読み出すための第１読み出しアドレスを生成する第１アドレス生成手段と、前記第１読み出しアドレスに従い前記第１記憶手段から読み出された画像データを記憶する第２記憶手段と、前記第２記憶手段に記憶された画像データを読み出すための第２読み出しアドレスを生成する第２アドレス生成手段と、前記第２読み出しアドレスに従い前記第２記憶手段から読み出された画像データに対して回転処理を行う演算手段と、回転処理された画像データを記憶する第３記憶手段とを有し、前記第１アドレス生成手段は、前記入力画像の回転角度、前記入力画像のサイズ、及び前記入力画像の余白幅に応じて前記第１読み出しアドレスを生成し、さらに、前記回転角度、前記入力画像のサイズ、及び前記入力画像の余白幅に応じて前記入力画像の縮小処理の必要性を判定する判定手段と、前記判定手段で縮小処理が必要と判定された場合のみ前記入力画像を縮小処理して前記第１記憶手段に供給する縮小手段とを有する。
【０００９】
本発明において、前記第１アドレス生成手段は、前記入力画像の左右上下の余白幅をそれぞれＸｅｄｇｅ１、Ｘｅｄｇｅ２、Ｙｅｄｇｅ１、Ｙｅｄｇｅ２とした場合、前記入力画像の一点を基準として回転処理する場合の読み出しアドレスに対して主走査方向にＸｅｄｇｅ１／（Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２）に応じた量だけシフトさせ、副走査方向にＹｅｄｇｅ１／（Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２）に応じた量だけシフトさせたアドレスを前記第１読み出しアドレスとして生成し、前記判定手段は、前記第１アドレス生成手段で生成される読み出しアドレスで指定される読み出し領域内に入力される画像のうちの前記余白幅を除いた有効画像領域が全て含まれない場合に前記入力画像の縮小処理の必要性があると判定することが好適である。
【００１０】
また、本発明において、前記第１アドレス生成手段は、前記入力画像の左右上下の余白幅をそれぞれＸｅｄｇｅ１、Ｘｅｄｇｅ２、Ｙｅｄｇｅ１、Ｙｅｄｇｅ２とし、前記入力画像の一点を基準として回転処理する場合の回転処理後の出力画像の前記入力画像に対する主走査方向のはみ出し量Ｘｏｖｒ、副走査方向のはみだし量Ｙｏｖｒとした場合、前記入力画像の一点を基準として回転処理する場合の読み出しアドレスに対して主走査方向にＸｏｖｒ×Ｘｅｄｇｅ１／（Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２）だけシフトさせ、副走査方向にＹｏｖｒ×Ｙｅｄｇｅ１／（Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２）だけシフトさせたアドレスを前記第１読み出しアドレスとして生成し、前記判定手段は、Ｘｏｖｒ≦Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２であり、かつ、Ｙｏｖｒ≦Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２である場合に前記入力画像の縮小処理は不要であると判定し、そうでない場合に縮小処理の必要性があると判定することが好適である。
【００１１】
本発明において、前記判定手段は、前記演算手段における回転処理が前記入力画像の傾き角に応じた回転処理である場合、すなわちスキュー補正の場合には、前記縮小処理は不要であると判定して縮小手段での縮小処理を行わなくてもよい。  
【発明を実施するための最良の形態】
【００１２】
以下、図面に基づき本発明の実施形態について説明する。
【００１３】
図１には、本実施形態に係る画像処理装置の構成ブロック図が示されている。スキャナ等の画像データ入力部でスキャンされて得られた画像データ、すなわち原稿のデジタルデータは、画像前処理部１を介して回転処理部２に供給される。画像データとしては、図形や写真などの他、文字も含まれる。原稿はＡ４やＢ５、Ａ３等の任意のサイズでよい。
【００１４】
画像前処理部１は、画像データを入力するとともに、回転角θやスキャンした原稿の余白幅、及び用紙サイズ（原稿サイズ）を入力する。原稿の余白幅検出方法は任意であるが、例えばスキャンした原稿においてその画像データが背景データから白データに変わり、さらに白データから黒データに変わるまでの距離を算出することで検出する。原稿の余白は、一般に原稿の上下及び左右に存在するため、これら４ヵ所の余白を検出して回転処理部２に供給する。用紙サイズは、Ａ４あるいはＢ５等と検出する。余白幅や用紙サイズは、ユーザが手操作で入力してもよい。複写機等において、操作パネルを用いたユーザによる用紙サイズ入力や用紙サイズ検出は公知である。処理すべき原稿が文書データである場合、一般にその余白は予め定められている場合もあるため、原稿の種類を入力するようにしてもよい。原稿が文書である場合には所定の余白幅とし、原稿がイメージの場合には余白幅を検出するように原稿の書類に応じて余白幅の検出／非検出を切り替えてもよい。
本実施形態における余白幅の検出は、原稿における画像データ領域（原稿のうち背景部分を除いた文書あるいは画像の存在領域）の片寄り度合いを検出することにあるため、必ずしも正確な余白幅を検出する必要はない。したがって、例えば検出した余白幅を所定の下限値と比較し、（検出余白幅）＜（下限値）である場合には余白幅を０としてもよく、複数値のいずれかに近似してもよい。余白幅を０、１ｃｍ、２ｃｍ、３ｃｍのいずれか近い値に近似する等である。さらに、上下左右の余白幅の精度は必ずしも同一である必要はなく異なっていてもよい。上下方向に重要なデータが存在する画像データの場合には、上下の余白幅を左右の余白幅よりも高精度で検出する等が好適である。
【００１５】
画像前処理部１は、縮小処理部１０、セレクタ１２、縮小条件判断部１４、読み出し開始アドレス計算部１６を備える。縮小処理部１０は、回転処理に伴う元画像の欠落を防止するために元画像を縮小処理するものである。縮小処理は、主走査方向（Ｘ方向）及び副走査方向（Ｙ方向）に行われる。縮小処理は、公知の画素間引き処理で実行される。縮小の倍率については後述する。縮小処理された画像データは、セレクタ１２に供給される。
【００１６】
セレクタ１２には、縮小処理された画像データに加え、縮小処理部１０で縮小処理されていない画像データも供給される。セレクタ１２は、縮小処理された画像データと、縮小処理されていない画像データのいずれかを選択して回転処理部２に供給する。セレクタ１２がいずれの画像データを出力するかは、縮小条件判断部１４での判断結果に依存する。すなわち、縮小条件判断部１４は、回転角度θ、余白幅、用紙サイズに基づいて元画像の縮小処理が必要か否かを判定し、必要である場合にはセレクタ１２に対して縮小処理部１０からの縮小画像データを選択出力するように指令する。縮小処理が必要でないと判定した場合、縮小条件判断部１４はセレクタ１２に対して縮小していない画像データを選択出力するように指令する。縮小条件判断部１４における縮小可否の判断は、具体的には回転処理した後の原稿サイズに、元画像の画像データ部分（余白を除いた画像データ部分：有効画像領域）が含まれるか否かである。より詳しくは、回転処理後の原稿が、元の原稿に対して略中央に位置するように読み出しアドレスを設定した上で、処理後の原稿が元原稿の有効画像領域をカバーしていない場合にのみ縮小処理の必要性があると判定する。読み出しアドレスは、読み出し開始アドレス計算部１６及びアドレス生成部２０で生成される。
【００１７】
読み出し開始アドレス計算部１６は、回転角度θ、余白幅及び用紙サイズに基づきブロック単位で画像データを読み出すときの読み出し開始アドレスを計算して回転処理部２に供給する。後述するように、元原稿をスキャンして得られた画像データは大容量低速メモリに記憶され、このメモリからブロック単位で画像データが読み出されて回転処理を行う演算部に供給される。読み出し開始アドレス計算部１６は、ブロック単位で読み出す際のブロック読み出し開始アドレスを与えるものである。読み出し開始アドレス計算部１６は、定性的には上記のように回転処理後の原稿が元原稿に対して略中央位置にくるようにアドレスを設定する。具体的には、読み出し開始アドレス計算部１６は、元原稿のある一頂点を基準として回転処理する場合のアドレスに対し、主走査方向（Ｘ方向）及び副走査方向（Ｙ方向）にシフトさせるためのオフセットを計算する。算出されたＸ方向オフセット及びＹ方向オフセットは、回転処理部２内のアドレス生成部２０に供給される。
【００１８】
回転処理部２は、大容量低速メモリ１８、アドレス生成部２０、小容量高速メモリ２２、アドレス生成部２４、演算部２６、大容量低速メモリ２８及びアドレス生成部３０を有する。
【００１９】
画像前処理部１のセレクタ１２から供給された画像データ（縮小処理された画像データあるいは縮小処理されていない画像データのいずれか）は、ページメモリ等の大容量低速メモリ１８に記憶される。大容量低速メモリ１８に記憶された画像データは、アドレス生成部２０で生成されたブロック読み出しアドレスに従って順次読み出され、小容量高速メモリ２２に格納される。上記のように、アドレス生成部２０で生成される読み出しアドレスのうち、読み出し開始アドレスは読み出し開始アドレス計算部１６からのアドレスで決定される。小容量高速メモリ２２に格納された画像データは、アドレス生成部２４により生成された局所回転用読み出しアドレスに従って順次読み出され、補間処理を行う演算部２６に供給される。演算部２６は、元画像（ソース画像）における対応画素近傍の複数の画素データを用いて補間処理を行い、処理結果を大容量低速メモリ２８に格納する。ここで、対応画素とは、回転処理（スキュー補正処理）を行って得られるデスティネーション画像における着目画素に対応するソース画像の画素であり、両者はアフィン変換で対応付けられる。大容量低速メモリ２８への書き込みは、アドレス生成部３０により生成されるブロック書き込みアドレスに従って行われる。
【００２０】
以下、本実施形態において処理の前提となる、ブロック読み出しの基本動作について説明する。
【００２１】
図２及び図３には、大容量低速メモリ１８からブロック１００単位で画像データを読み出す際の処理が示されている。アドレス生成部２０は、ブロック読み出しアドレスを順次生成して主走査方向（Ｘ方向）及び副走査方向（Ｙ方向）にブロック１００単位で画像データを読み出していく（図２における矢印参照）。図中、主走査方向に左から右に走査し、次に副走査方向に移動し、さらに主走査方向に左から右に走査していく。図では、ブロック１００は略正方領域であるが、これに限定されるものではない。ブロック１００の主走査方向の幅をＷｘ、副走査方向の幅をＷｙとする。元画像の回転処理を行う際には、上記のようにソース画像における対応画素近傍の複数の画素データを用いた補間演算が必要となるため、ブロック１００単位で画像データを読み出す際にはブロック間で互いにその一部をオーバラップさせて読み出す。オーバラップさせるべき領域は回転角θに応じて変化し、オーバラップデータを読み出すためのブロック読み出し開始点が異なってくる。図３において、例えば４８画素×４０画素のブロック１００の読み出し開始点ＳをＳ１、Ｓ２・・・とすると、読み出し開始点Ｓ１を有するブロック１００に対し、次に読み出すべきブロック１００の読み出し開始点Ｓ２は、Ｘ方向（主走査方向）移動量＝Ｂｙ×ｓｉｎθであり、Ｙ方向（副走査方向）移動量＝Ｂｘ×ｓｉｎθで規定される。ここで、Ｂｘ、Ｂｙは、補正後画像（デスティネーション画像）における出力ブロック２００のサイズである。ブロック２００は、ブロック１００に含有される画像領域であり、アドレス生成部２４が生成する読み出しアドレスによりその領域が決定される。回転処理の対象となるブロックはブロック２００である。
【００２２】
図４には、ブロック１００の読み出し開始位置Ｓ１、Ｓ２、・・・Ｓｎ、Ｓｎ＋１が示されている。回転角θに応じたＹ方向の移動量で読み出し開始点が決定されるため、図中矢印で示されるように大容量低速メモリ１８から斜め方向にブロック１００が順次読み出されていく。
【００２３】
図５には、アドレス生成部２４におけるアドレス生成の原理が示されている。図５（Ａ）は、大容量低速メモリ１８から読み出されたブロック１００及びこのブロック１００から出力ブロック２００を傾けて抽出することが示されており、図５（Ｂ）には、この出力ブロック２００を更にθだけ回転させることが示されている。
【００２４】
具体的には、ブロック１００内におけるブロック２００の画像データを（ｘ，ｙ)、回転角度θで補正した後のブロック２００の画像データを（Ｘ，Ｙ）とすると、アフィン逆行列を用いて
ｘ＝ｃｏｓθ（Ｘ−ｍ）＋ｓｉｎθ（Ｙ−ｎ）
ｙ＝−ｓｉｎθ（Ｘ−ｍ）＋ｃｏｓ（Ｙ−ｎ）
で与えられる。ここで、ｍ，ｎはオフセット量である。これにより、元画像の画素Ｎｏ．２３は出力画像の画素Ｎｏ．１に写像され、元画像の画素Ｎｏ．１７は画素Ｎｏ．１０に写像される。読み出された画像データは演算部２６に供給される。演算部２６は、供給された画素データを用いて補間演算を行う。すなわち、図７に示されるように、補正後の画素データを、元画像において対応する画素Ｎに隣接する４点Ｐ１〜Ｐ４の画素データから
Ｎ１＝ｘＰ２＋（１−ｘ）Ｐ１
Ｎ２＝ｘＰ４＋（１−ｘ）Ｐ３
Ｎ＝（１−ｙ）Ｎ１＋ｙＮ２
で算出する。
【００２５】
以上の基本原理により、元画像（ソース画像）に対して回転処理した補正後画像（デスティネーション画像）が得られるが、図２に示されるように、単に元画像の所定位置、例えば右上の頂点を基準として回転処理するのでは、補正後画像の原稿サイズのうち、元画像の原稿サイズと重複しない部分が生じる。図２において、補正後原稿サイズの元原稿サイズからのＸ方向（主走査方向）のはみ出し量をＸｏｖｒとし、Ｙ方向（副走査方向）のはみ出し量をＹｏｖｒとしている。補正後原稿サイズでカバーされない元原稿サイズの領域は、その多くがブロック１００内に存在しないため大容量低速メモリ１８から読み出されることがなく、仮にこの領域に画像データが存在するとデスティネーション画像においても当該画像データが存在せず欠落することになる。もちろん、回転角θが小さい場合、画像データが元原稿サイズの中央近傍にのみ存在する場合、あるいは元原稿において余白が十分存在する場合には図２の場合でも画像データが欠落することはないが、そうではない場合には画像データの欠落を防止するために元画像を縮小処理する必要が生じる。
【００２６】
そこで、本実施形態においては、図２に示されるように単に元画像に対し回転角θで回転処理するのではなく、補正後の原稿位置をＸ方向、及びＹ方向に調整することで、元画像の画像データの欠落を防ぐとともに元画像の一律の縮小処理を防止する。補正後の原稿位置のＸ方向、Ｙ方向の調整は、ブロック１００の読み出しアドレスをＸ方向及びＹ方向に変化させることで実現でき、具体的には読み出し開始アドレス計算部１６が回転角、余白幅、用紙サイズに基づいて設定する。基本的な考えは、原稿には余白部分が存在することが多いことに着目し、これを利用して図２において補正後原稿サイズでカバーされない領域を元の原稿の余白領域に割り当てるように調整し、元の原稿における画像データ部分が補正後の原稿サイズにおいてカバーされるように調整することにある。
【００２７】
図８には、本実施形態における読み出し処理が示されている。図２と対比すると、補正後原稿は−Ｘ方向及び−Ｙ方向に移動され、図２においては上部及び左部のみに集中して存在していた非カバー領域が、図８では上下及び左右に分配されている点が異なる。すなわち、Ｘ方向に関しては、はみ出し量Ｘｏｖｒが元原稿に対する左側のはみ出し量Ｘｏｖｒ１と元原稿に対する右側のはみ出し量Ｘｏｖｒ２に分配され、かつ、Ｙ方向のはみ出し量Ｙｏｖｒが元原稿に対する上側のはみ出し量Ｙｏｖｒ１と元原稿に対する下側のはみ出し量Ｙｏｖｒ２に分配されている。Ｘｏｖｒに対するＸｏｖｒ１、Ｘｏｖｒ２の関係は、Ｘｏｖｒ＝Ｘｏｖｒ１＋Ｘｏｖｒ２
であり、元原稿における左右の余白幅の比率をＸｅｄｇｅ１：Ｘｅｄｇｅ２（左余白幅をＸｅｄｇｅ１、右余白幅をＸｅｄｇｅ２）とすると
Ｘｅｄｇｅ１：Ｘｅｄｇｅ２＝Ｘｏｖｒ１：Ｘｏｖｒ２
の関係、すなわち左右の余白幅の量に応じて分配される。同様に、
Ｙｏｖｒ＝Ｙｏｖｒ１＋Ｙｏｖｒ２
であり、元原稿における上下の余白幅の比率をＹｅｄｇｅ１：Ｙｅｄｇｅ２（上余白幅をＹｅｄｇｅ１、下余白幅をＹｅｄｇｅ２）とすると、
Ｙｅｄｇｅ１：Ｙｅｄｇｅ２＝Ｙｏｖｒ１：Ｙｏｖｒ２
の関係、すなわち上下の余白幅の量に応じて分配される。
【００２８】
このようにブロック１００の読み出しアドレスを変化させることで、ブロック１００の読み出し時に元原稿の画像データを全て読み出す確率が増大し、元原稿における画像データの欠落を防止でき、縮小処理が不要となる。なお、このように読み出しアドレスを変化させても、例えば元原稿の余白幅が小さい場合には画像データの欠落が生じる場合もあり、この場合にのみ元画像を縮小処理すればよい。具体的には、セレクタ１２で縮小画像データを選択出力すればよい。
【００２９】
以下、読み出しアドレスの設定について、より詳細に説明する。
【００３０】
図９には、読み出しアドレスを調整したときの、元原稿と補正後原稿（回転処理後の原稿）との位置関係が示されている。Ｘ方向はみ出し量Ｘｏｖｒは、元原稿のＸ方向サイズＰｘ、Ｙ方向サイズＰｙ、回転角度θから、
Ｘｏｖｒ＝Ｐｘ×ｃｏｓθ＋Ｐｙ×ｓｉｎθ−Ｐｘ
で与えられ、Ｙ方向はみ出し量Ｙｏｖｒは、
Ｙｏｖｒ＝Ｐｘ×ｓｉｎθ＋Ｐｙ×ｃｏｓθ−Ｐｙ
で与えられる。これらのはみ出し量を左右上下に分配するときの左右のはみ出し量Ｘｏｖｒ１、Ｘｏｖｒ２は、上記のように
Ｘｏｖｒ＝Ｘｏｖｒ１＋Ｘｏｖｒ２
の関係にあり、上下のはみ出し量Ｙｏｖｒ１、Ｙｏｖｒ２は、
Ｙｏｖｒ＝Ｙｏｖｒ１＋Ｙｏｖｒ２
の関係にある。Ｘｏｖｒ１、Ｘｏｖｒ２は左右の余白幅Ｘｅｄｇｅ１、Ｘｅｄｇｅ２に応じて分配されるから、
Ｘｏｖｒ１＝Ｘｏｖｒ×Ｘｅｄｇｅ１／（Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２）
Ｘｏｖｒ２＝Ｘｏｖｒ×Ｘｅｄｇｅ２／（Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２）
となる。同様に、
Ｙｏｖｒ１＝Ｙｏｖｒ×Ｙｅｄｇｅ１／（Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２）
Ｙｏｖｒ２＝Ｙｏｖｒ×Ｙｅｄｇｅ２／（Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２）
となる。
【００３１】
このような補正後原稿のサイズに元原稿の画像データ部分（有効画像領域）が含まれるための条件は、
Ｘｏｖｒ≦Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２
Ｙｏｖｒ≦Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２          ・・・（１）
であるから、この条件を満たす場合には縮小処理は必要ではなく、上記の条件を満たさない場合には縮小処理が必要となる。縮小条件判断部１４では、回転角θ、余白幅Ｘｅｄｇｅ１、Ｘｅｄｇｅ２、Ｙｅｄｇｅ１、Ｙｅｄｇｅ２、用紙サイズＰｘ、Ｐｙに基づいて上記の不等式で示される条件を満たすか否かを判定し、上記の条件（１）を満たす場合には縮小処理が不要と判定し、セレクタ１２から縮小処理していない画像データを選択出力させる。
【００３２】
なお、図９において、補正後原稿が元原稿からはみ出した「はみ出し」領域は、元原稿において画像データが本来存在しない領域であるから、ブロック１００の読み出し時には、これらの領域に相当する画像データは特定の値とする必要がある。具体的には、図９に示されるように、補正後原稿のうち元原稿が存在しない領域である「はみ出し領域」を領域３００、３１０、３２０、３３０とする（左上を領域３００、右上を領域３１０、左下を領域３２０、右下を領域３３０とする）と、領域３００では元原稿の画像データが存在しないため背景の白とすべく、大容量低速メモリ１８において白に相当するデータを格納するアドレスを指定するように設定する。例えば、大容量低速メモリのアドレスＡに白データを予め格納しておき、アドレス生成部２０で生成されたアドレスが領域３００内を指定するアドレスである場合には、当該アドレスを一律にＡに変更する等である。より詳細には、元原稿のＸ方向の範囲を０≦Ｘ≦ｆｓとすると、アドレス生成部２０で生成されたアドレスのＸ方向アドレスと０とを比較し、Ｘ方向アドレス＜０の関係を満たす場合には、当該アドレスが領域３００を指定するアドレスであると判定し、アドレス生成部２０は当該アドレスをＡに変更する。ここに、ｆｓは原稿のＸ方向画素数である。大容量低速メモリ１８に元原稿の画像データを格納するにあたり、まず大容量低速メモリ１８に白データを格納して「初期化」してもよい。
【００３３】
あるいは、アドレス生成部２０は、Ｘ方向のアドレスを元原稿が存在する最も近いＸ方向アドレスに一律にシフトさせてもよい。元原稿の４つの頂点位置が（０，０）、（ｆｓ，０）、（０，ｓｓ）、（ｆｓ，ｓｓ）であるとすると、領域３００におけるＸ方向アドレスは上記のようにＸ＜０となるため、一律にＸ＝０として元原稿の左端の画像データを読み出すようにする。元原稿の左端が背景の白である場合には、領域３００、３１０、３２０、３３０はいずれも白データを読み出すようにアドレス変換されることになる。
【００３４】
領域３１０についても領域３００と同様であり、上側のはみ出し領域３１０は画像データが存在しないため背景の白とすべく、大容量低速メモリ１８において白に相当するデータを格納するアドレスを指定するように設定する。あるいは、Ｙ方向のアドレスを元原稿が存在する最も近いＹ方向アドレスに一律にシフトさせる。領域３１０におけるＹ方向アドレスはＹ＜０となるため、領域３１０では一律にＹ＝０として元原稿の上端の画像データを読み出すようにする。
【００３５】
領域３２０についても同様であり、下側のはみ出し領域３２０は画像データが存在しないため背景の白とすべく、大容量低速メモリ１８において白に相当するデータを格納するアドレスを指定するように設定する。あるいは、Ｙ方向のアドレスを元原稿が存在する最も近いＹ方向アドレスに一律にシフトさせる。領域３２０におけるＹ方向アドレスはＹ＞ｓｓとなるため、領域３２０では一律にＹ＝ｓｓとして元原稿の下端の画像データを読み出すようにする。
【００３６】
領域３３０についても同様であり、右側のはみ出し領域３３０は画像データが存在しないため背景の白とすべく、大容量低速メモリ１８において白に相当するデータを格納するアドレスを指定するように設定する。あるいは、Ｘ方向のアドレスを元原稿が存在する最も近いＸ方向アドレスに一律にシフトさせる。領域３３０におけるＸ方向アドレスはＸ＞ｆｓとなるため、領域３３０では一律にＸ＝ｆｓとして元原稿の右端の画像データを読み出すようにする。
【００３７】
一般に、原稿の端部は用紙の色（通常白と考えられる）であるため、この処理により領域３００、３１０、３２０、３３０はいずれも用紙の色（白）データが読み出されるようにアドレス変換されることとなるが、例えば元原稿の左端が白で右端が黒である場合、領域３００では白データが読み出され、領域３３０では黒データが読み出されるようにアドレス変換されることとなり、元原稿の画像データが反映される。
【００３８】
図１０には、本実施形態の処理フローチャートが示されている。まず、読み出し開始アドレス計算部１６は、回転角度及び用紙サイズからＸ方向及びＹ方向のはみ出し量であるＸｏｖｒ、Ｙｏｖｒを算出する（Ｓ１０１）。次に、余白幅を用いて左右及び上下に分配されたはみ出し量Ｘｏｖｒ１、Ｘｏｖｒ２、Ｙｏｖｒ１、Ｙｏｖｒ２を算出する（Ｓ１０２）。なお、予めこれらの算出結果をテーブルとしてメモリ等に記憶しておき、検出された用紙サイズや余白幅に対応するＸｏｖｒ１等を当該テーブルから読み出して処理の高速化を図ることもできる。一方、縮小条件判断部１４では、算出されたこれらの値を用いて縮小の必要性を判定する条件（１）、すなわち
Ｘｏｖｒ≦Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２、
かつ
Ｙｏｖｒ≦Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２
を満たすか否かを判定する（Ｓ１０３）。これらの条件を満たす場合には、縮小処理が不要と判定してセレクタ１２にその旨指令する。セレクタ１２は縮小処理していない画像データを回転処理部２に選択出力して回転処理を実行する（Ｓ１０５）。なお、Ｘｏｖｒ、Ｙｏｖｒは縮小条件判断部１４で計算し、これらを読み出し開始アドレス計算部１６に供給してもよい。縮小条件判断部１４及び読み出し開始アドレス計算部１６は、実際には単一のマイクロプロセッサで構成できるから、いずれの機能ブロックで算出するかは任意である。
【００３９】
一方、上記の条件（１）を満たさない場合には、元原稿のうちの画像データ部分（有効画像領域）が補正後の原稿からはみ出すこととなり、したがってこのままでは有効画像領域内の画像データが読み出されることがなく、結果として回転処理後の画像の一部が欠落してしまうことから、縮小処理を実行した上で（Ｓ１０４）、回転処理を実行する（Ｓ１０５）。すなわち、縮小条件判断部１４は、セレクタ１２に対して縮小の必要性ありを示す指令を出力する。セレクタ１２は、縮小処理部１０で縮小した画像データを回転処理部２に供給して回転処理を行う。
【００４０】
図１１には、縮小処理部１０における縮小処理フローチャートが示されている。縮小処理部１０は、まず、回転角度θ、余白幅Ｘｅｄｇｅ１、Ｘｅｄｇｅ２、Ｙｅｄｇｅ１、Ｙｅｄｇｅ２、及び用紙サイズＰｘ、Ｐｙに基づき、Ｘ方向及びＹ方向の倍率を算出する（Ｓ２０１）。元原稿において画像データが存在する部分（有効画像領域）は、Ｘ方向についてはＰｘ−Ｘｅｄｇｅ１−Ｘｅｄｇｅ２＝Ｐｘ−Ｘｄｅｇｅ（但し、Ｘｄｅｇｅ＝Ｘｅｄｇｅ１＋Ｘｅｄｇｅ２）であるから、Ｘ方向が補正後の原稿サイズにおさまる倍率Ｎｘは、
Ｎｘ＝（Ｐｘ−Ｘｏｖｒ）／（Ｐｘ−Ｘｄｅｇｅ）
で与えられる。同様に、元原稿において画像データが存在する部分（有効画像領域）は、Ｙ方向についてはＰｙ−Ｙｅｄｇｅ１−Ｙｅｄｇｅ２＝Ｐｙ−Ｙｄｅｇｅ（但し、Ｙｄｅｇｅ＝Ｙｅｄｇｅ１＋Ｙｅｄｇｅ２）であるから、Ｙ方向が補正後の原稿サイズにおさまる倍率Ｎｙは、
Ｎｙ＝（Ｐｙ−Ｙｏｖｒ）／（Ｐｙ−Ｙｄｅｇｅ）
となる。そこで、Ｘ方向の倍率及びＹ方向の倍率のいずれが大であるかを判定し（Ｓ２０２）、Ｎｘ≦Ｎｙである場合には、元原稿の縮小倍率をＮｘとして元原稿を縮小し（Ｓ２０３）、セレクタ１２に出力する（Ｓ２０５）。一方、Ｎｘ＞Ｎｙである場合には、元原稿の縮小倍率をＮｙとして元原稿を縮小し（Ｓ２０４）、セレクタ１２に出力する。
【００４１】
以上のようにして、元原稿の有効画像領域がはみ出す場合にのみ縮小処理を施して回転処理を行うため、縮小に伴う画質劣化及び画像の欠落による画質劣化を防止できる。
【００４２】
なお、アドレス生成部２０は、Ｘ方向アドレス生成部及びＹ方向アドレス生成部から構成され、それぞれは複数のカウンタから構成される。以下、アドレス生成部２０の具体的な構成について説明する。
【００４３】
図１２には、アドレス生成部２０におけるＸ方向アドレス生成の構成ブロック図が示されている。Ｘ方向アドレス生成部は、ブロック内Ｘ方向アドレス計算カウンタ３０、ブロック内行数カウンタ３２、ブロック移動時Ｘ方向アドレス増分カウンタ３４、バンド移動時Ｘ方向アドレス増分カウンタ３６、加算器３８、及びアドレス変換器４０、４２を有して構成される。各カウンタ３０〜３６は加算器３８に対して並列に接続されるとともに、それぞれは前段のカウンタのキャリー信号が後段のカウンタのクロック端子に供給されるようにカスケード接続される。
【００４４】
カウンタ３０は、ブロック１００内のＸ方向アドレスを計算するカウンタであり、１ずつカウントしてブロック１００内のＸ方向の画素数分までカウントする。カウンタの初期値は画像前処理部１の読み出し開始アドレス計算部１６から供給されるＸｏｖｒ１に設定される。Ｗｘ／Ｎｗｏｒｄ−１はブロック１００内の画素数であり、Ｗｘはブロック１００のＸ方向の幅、Ｎｗｏｒｄは１ワードのＸ方向幅である。１ワードが２画素分で構成される場合、Ｗｘ／２−１でブロック１００内で読み出すべき画素数が算出される。カウント値は加算器３８に供給され、カウントアップしたキャリー信号はカウンタ３２に供給される。キャリー信号は、ブロック１００内において次の行に移行するトリガ信号として機能する。
【００４５】
カウンタ３２は、ブロック１００内の行数計算カウンタであり、１ずつカウントしてブロック１００の全行数までカウントする。初期値は０であり、リミット値はブロック１００のＹ方向の幅Ｗｙ−１である。カウント値は加算器３８に供給され、カウントアップした場合のキャリー信号はカウンタ３４に供給される。カウンタ３２からのキャリー信号は、１つのブロック１００における処理が完了し次のブロックに移行するトリガ信号として機能する。
【００４６】
カウンタ３４は、ブロック移動時のＸ方向アドレスの増分を計算するカウンタであり、次のブロック１００の処理に移行する際の読み出し開始アドレスを与えるカウンタである。初期値は０であり、ステップ幅はＳｂｌｋに設定される。Ｓｂｌｋは回転角θに応じた値であり、上記におけるＸ方向移動量Ｂｙ×ｓｉｎθに等しい。Ｓｂｌｋとして、Ｂｙ×ｓｉｎθの整数部を用いて理論値を近似してもよい。リミットはＳｂｌｋ×（ｆｓ／Ｗｘ−１）であり、これは原稿のＸ方向サイズｆｓに応じたＸ方向の総移動量である。カウンタ３４のカウント値は加算器３８に供給され、キャリー信号はカウンタ３６に供給される。カウンタ３４のキャリー信号は、１つのＸ方向走査が完了し、次のＸ方向走査に移行するトリガ信号として機能する。
【００４７】
カウンタ３６は、バンド移動時Ｘ方向アドレスの増分を計算するカウンタであり、あるバンド（ブロック１００をＸ方向に走査する場合の、１走査当たりのブロック群）から次のバンドに移行するときのＸ方向の移動量を与えるものである。初期値は０であり、ステップ幅はＳｂｎｄｘ、すなわちＢｙ×ｓｉｎθである。Ｓｂｌｋのうち、各バンドの先頭のＳｂｌｋがＳｂｎｄに対応する。Ｓｂｎｄとして、Ｓｂｌｋｘと同様に、理論値の整数部を用いることで近似してもよい。カウント値は加算器３８に供給される。
【００４８】
加算器３８は、カウンタ３０、３４、３６からのカウント値を加算して出力する。カウンタ３６により、あるバンドの先頭ブロックのＸ方向アドレスが与えられ、カウンタ３４で当該バンドにおけるブロック１００のＸ方向アドレスが与えられ、カウンタ３０で当該ブロック内のＸ方向アドレスが与えられる。最初の読み出しＸ方向アドレスを例示すると、カウンタ３６、３４、３２のカウント値はいずれも０であり、カウンタ３０のカウント値はＸｏｖｒ１であることから、Ｘ方向アドレス＝Ｘｏｖｒ１（その符号は負）となる。
【００４９】
加算器３８の出力はアドレス変換器４０、４２に順次供給される。アドレス変換器４０は、加算器３８からの出力アドレスと０とを比較し、いずれか大きい方を出力する。加算器３８からＸｏｖｒが出力された場合、Ｘｏｖｒ＜０であるから０が出力されることとなる。加算器３８から出力されたＸ方向アドレスが０より小さい場合には、すべて０に置換される。これは、図９に示された領域３００において、Ｘ方向アドレスを一律にＸ＝０に置換することに対応する。
【００５０】
一方、アドレス変換器４２は、加算器３８からの出力アドレスとｆｓとを比較し、いずれか小さい方を出力する。したがって、加算器３８からの出力アドレスがｆｓより大きい場合には、全てｆｓに置換されることになる。これは、図９に示された領域３３０において、Ｘ方向アドレスを一律にＸ＝ｆｓに置換することに対応する。
【００５１】
図１３には、アドレス生成部２０のＹ方向アドレス生成の構成ブロック図が示されている。Ｙ方向アドレス生成部は、ブロック内Ｘ方向アドレス計算カウンタ５０、ブロック内行番号計算カウンタ５２、ブロック移動時Ｙ方向アドレス増分カウンタ５４、バンド移動時Ｙ方向アドレス増分カウンタ５６、加算器５８、及びアドレス変換器６０、６２を有して構成される。カウンタ５０〜５６は加算器５８に並列に接続され、各カウンタは前段のキャリー信号が後段のクロック端子に供給されるようにカスケードに接続される。
【００５２】
カウンタ５０は、ブロック内におけるＸ方向アドレスがＸ方向に全画素分カウントされたか否かを確認するためのカウンタであり、そのカウント値自体はＹ方向アドレスとは無関係であり、そのキャリー信号のみをカウンタ５２に供給する。
【００５３】
カウンタ５２は、ブロック１００における複数行のうちの何番目の行であるかを計算するカウンタであり、初期値はｆｓ×ｓｉｎθ−Ｙｏｖｒ１である。Ｙｏｖｒ１は、画像前処理部１の読み出し開始アドレス計算部１６から供給される。行番号はこの初期値からカウントし、Ｗｙでカウントアップする。カウント値は加算器５８に供給され、キャリー信号はカウンタ５４に供給される。
【００５４】
カウンタ５４は、ブロック移動時Ｙ方向アドレスの増分を計算するカウンタであり、ステップはＳｂｌｋｙ、すなわちＢｘ×ｓｉｎθである。理論値であるＢｘ×ｓｉｎθの整数部を用いて近似してもよい。リミットはＳｂｌｋ×（ｆｓ／Ｗｘ−１）、すなわちＸ方向のブロック数分である。カウント値は加算器５８に供給され、キャリー信号はカウンタ５６に供給される。
【００５５】
カウンタ５６は、バンド移動時のＹ方向アドレスの増分を計算するカウンタであり、ステップはＳｂｎｄｙ、すなわちバンドの先頭ブロックのＢｘ×ｓｉｎθである。カウント値は加算器５８である。
【００５６】
加算器５８は、カウンタ５２、５４、５６からのカウント値を加算して出力する。カウンタ５６のカウント値によりバンドの先頭ブロックのＹ方向アドレスが与えられ、カウンタ５４のカウント値により当該バンド内におけるブロック１００のＹ方向アドレスが与えられ、カウンタ５２のカウント値により当該ブロック内のＹ方向アドレスが与えられる。
最初の読み出しＹ方向アドレスを例示すると、カウンタ５６、５４のカウント値は０であり、カウンタ５２からｆｓ×ｓｉｎθ−Ｙｏｖｒ１が入力されるから、Ｙ方向アドレス＝ｆｓ×ｓｉｎθ−Ｙｏｖｒ１となる。
【００５７】
加算器５８の出力は、アドレス変換器６０、６２に順次供給される。アドレス変換器６０は、加算器５８の出力アドレスと０とを比較し、いずれか大きい方を出力する。加算器５８から出力されたＹ方向アドレスが０より小さい場合には、すべて０に置換される。これは、図９に示された領域３１０において、Ｙ方向アドレスを一律にＹ＝０に置換することに対応する。
【００５８】
一方、アドレス変換器６２は、加算器５８からの出力アドレスとｓｓとを比較し、いずれか小さい方を出力する。加算器５８から出力されたＹ方向アドレスがｓｓより大きい場合には、全てｓｓに置換される。これは、図９に示された領域３２０において、Ｙ方向アドレスを一律にＹ＝ｓｓに置換することに対応する。
【００５９】
このように、本実施形態では、元原稿を回転処理する際に、回転角、元原稿の用紙サイズ、及び余白幅に応じ、元原稿に対して補正後の原稿がはみ出す部分を上下及び左右に分配することで、元原稿の縮小処理を実行することなく元原稿の画像データ欠落を防ぎ画質劣化を抑制できる。
【００６０】
なお、本実施形態では、回転処理した後の原稿サイズと元原稿における有効画像領域との位置関係に応じて縮小処理を行うか否かを判定しているが、図１４に示されるように、元原稿において有効画像領域が回転処理方向にスキューしている場合には、有効画像領域は必ず補正後の原稿サイズにおさまるため、一律に縮小処理を不要とすることができる。言い換えれば、元原稿が初めからスキューしている（傾いている）場合において、回転処理によりこの傾きを補正する場合には、余白幅の大小によらず縮小処理を不要とすることができる。
【００６１】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく種々の変更が可能である。
【００６２】
例えば、本実施形態では、縮小処理部１０、セレクタ１２、縮小条件判断部１４を備え、縮小処理部１０で縮小した画像データをセレクタ１２に出力し、セレクタ１２で選択出力する構成としているが、他の構成とすることもできる。例えば、縮小処理部１０及び縮小条件判断部１４のみで構成し、縮小条件判断部１４で縮小処理が不要と判断した場合に、縮小処理部１０での縮小率を０％とする、あるいは縮小処理部１０の縮小動作をＯＦＦに設定する等である。この場合、セレクタ１２を設ける必要はない。
【００６３】
また、本実施形態では、縮小条件判断部１４において上記の不等式を満たすか否かを判定することで縮小処理の必要性を判定しているが、より簡易に回転角θと余白幅、用紙サイズと縮小処理の必要性との関係を予めテーブル形式として縮小条件判断部１４のメモリに記憶しておき、テーブルを参照することで縮小処理の必要性を迅速に判定してもよい。例えば、回転角度が１０°で余白幅が上下左右に２５ｍｍずつあるＡ４用紙の場合には、縮小処理の必要性はないと判定し、回転角度が２０°で余白幅が上下左右に１０ｍｍずつあるＡ４用紙の場合には縮小処理の必要性ありと判定する等である。上記のテーブルにスキュー補正の有無も記憶させ、スキュー補正の場合には一律に縮小処理の必要性なしとしてもよい。スキュー補正か否かは、ユーザから入力された操作コマンドで判定できる。縮小条件判断部１４での判定アルゴリズムとして、まず、スキュー補正か否かを判定し、スキュー補正である場合には縮小処理は不要と判定し、スキュー補正でない場合に回転角度、余白幅及び用紙サイズに基づいて縮小処理を不要とできるか否かを判定するアルゴリズムとしてもよい。図１５には、この場合の処理フローチャートが示されている。図１０と異なる点は、まずスキュー補正か否かを判定する処理である（Ｓ３０１）。スキュー補正でない場合には図１０のＳ１０１以降の処理と同様の処理が実行される（Ｓ３０２〜Ｓ３０６）。
【図面の簡単な説明】
【００６４】
【図１】実施形態の全体構成図である。
【図２】回転処理の基本原理説明図である。
【図３】ブロック単位の読み出し処理説明図である。
【図４】ブロック読み出し開始点の説明図である。
【図５】ブロックの回転処理説明図である。
【図６】回転処理の対応関係（写像）説明図である。
【図７】補間演算説明図である。
【図８】実施形態の回転処理説明図（はみ出し量の分配）である。
【図９】実施形態のはみ出し領域説明図である。
【図１０】実施形態の処理フローチャートである。
【図１１】実施形態の縮小処理フローチャートである。
【図１２】アドレス生成部２０内のＸ方向アドレス生成ブロック図である。
【図１３】アドレス生成部２０内のＹ方向アドレス生成ブロック図である。
【図１４】スキュー補正時の回転処理説明図である。
【図１５】実施形態の他の処理フローチャートである。
【符号の説明】
【００６５】
１  画像前処理部、２  回転処理部、１０  縮小処理部、１２  セレクタ、１４  縮小条件判断部、１６  読み出し開始アドレス計算部、１８  大容量低速メモリ、２０  アドレス生成部、２２  小容量高速メモリ、２４  アドレス生成部、２６  演算部、２８  大容量低速メモリ、３０  アドレス生成部。
【図１】
2006013803.tif 000003
【図２】
2006013803.tif 000004
【図３】
2006013803.tif 000005
【図４】
2006013803.tif 000006
【図５】
2006013803.tif 000007
【図６】
2006013803.tif 000008
【図７】
2006013803.tif 000009
【図８】
2006013803.tif 000010
【図９】
2006013803.tif 000011
【図１０】
2006013803.tif 000012
【図１１】
2006013803.tif 000013
【図１２】
2006013803.tif 000014
【図１３】
2006013803.tif 000015
【図１４】
2006013803.tif 000016
【図１５】
2006013803.tif 000017