(57)【要約】【課題】各画像データ処理部において後に処理を行う画像データ処理部で必要な余白画像データを画像データに付加することで、余白画像データを高効率・高精度に制御すること。【解決手段】画像データを処理する複数の画像データ処理手段、および画像データに対して前記画像データ処理手段を用いて行う処理の順序を制御する制御手段を有する画像処理装置であって、各前記画像データ処理手段は、入力された画像データに余白画像データを付加する画素付加処理手段を有し、前記制御手段は、各前記画像データ処理手段で付加する前記余白画像データを、前記処理の順序が後の他の前記画像データ処理手段の処理内容に基づいて決定することを特徴とする。【選択図】図２
2020108107.tif 000002
【特許請求の範囲】
【請求項１】
画像データを処理する複数の画像データ処理手段、および画像データに対して前記画像データ処理手段を用いて行う処理の順序を制御する制御手段を有する画像処理装置であって、
各前記画像データ処理手段は、入力された画像データに余白画像データを付加する画素付加処理手段を有し、
前記制御手段は、各前記画像データ処理手段で付加する前記余白画像データを、前記処理の順序が後の他の前記画像データ処理手段の処理内容に基づいて決定する
ことを特徴とする画像処理装置。
【請求項２】
前記制御手段は、各前記画像データ処理手段で付加する前記余白画像データを、各当該画像データ処理手段の次に処理を行う前記画像データ処理手段の処理内容に基づいて決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、各前記画像データ処理手段で付加する前記余白画像データを、各当該画像データ処理手段よりも処理の順序が後の複数の前記画像データ処理手段の処理内容に基づいて決定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記制御手段は、ジョブを受信する受信手段を有し、
前記制御手段は、受信したジョブの内容に基づいて、前記処理の順序を決定する
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記画素付加処理手段の処理速度は、前記画素付加処理手段を有する前記画像データ処理手段の処理速度に略等しいことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記制御手段は、前記画像データ処理手段の処理内容が所定の矩形領域毎に画像処理を行う矩形処理であるとき、矩形処理において参照する周辺画素幅に基づいて、入力された画像データに付加する前記余白画像データを決定する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記制御手段は、前記画像データ処理手段の処理内容が所定の矩形領域毎に回転を行う回転処理であるとき、回転角度に依らず、入力された画像データが回転処理後の出力される画像データの所定の位置に配置されるように、前記画像データに付加する前記余白画像データを決定する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項８】
前記所定の位置は、入力された画像データの隅が回転処理後の出力される画像データの左上隅と合う位置であることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記制御手段は、前記画像データ処理手段の処理内容がセンタリング処理であるとき、入力された画像データがセンタリング処理後の出力される画像データの中央に配置されるように、前記画像データに付加する前記余白画像データを決定する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項１０】
画像データを処理する複数の画像データ処理手段、および画像データに対して前記画像データ処理手段を用いて行う処理の順序を制御する制御手段を有する画像処理装置の制御方法であって、
各前記画像データ処理手段において、入力された画像データに余白画像データを付加する画素付加処理ステップと、
前記制御手段において、各前記画像データ処理手段で付加する前記余白画像データを、前記処理の順序が後の他の前記画像データ処理手段の処理内容に基づいて決定するステップと
を有することを特徴とする制御方法。
【請求項１１】
コンピュータに、請求項１０に記載の制御方法を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビットマップ状の画像データを制御する技術に関する。
【背景技術】
【０００２】
従来から、画像処理装置において、目的に応じて入力画像データに所定の余白画像データを付加して、出力画像データのサイズを制御する処理が行われている。余白画像データを付加する処理には、入力画像データを物理ページに割り付ける割り付け処理、周辺画素を参照して行う矩形処理や、印刷および画像送信の際の画像の向きをあわせるための回転処理、レイアウト処理、面付け処理などがある。
【０００３】
特許文献１では、集約印刷時に、割り付け処理回路の処理する所定のブロックサイズおよび割り付け位置に応じて、入力画像データに対して所定の方向にブロックサイズの整数倍となる幅の余白画像データを付加するよう制御する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４６１８３６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では面付け処理において付加する余白画像データの幅及び方向を制御するが、面付け処理前にメモリに書き出された際に付加されたパディングデータにより生じた余白画像データを制御することはできないという課題がある。各処理がハードウェア回路で実現されている場合、ハードウェア回路間の画像データの送受信はメモリを介して行われる。メモリはデータの書き換え単位が所定のサイズに設定されており、メモリに書き込むデータのサイズがその書き換え単位の整数倍でない場合、書き換え単位の整数倍になるようパディングデータが付加される。そのため、複数の処理を組み合わせて行う場合、処理される画像データにメモリの書き換え単位に合わせてパディングデータが付加される場合がある。このように付加されたパディングデータを含む画像データに対して処理を行うと、レイアウト位置の精度がパディングデータの分だけ悪化するという課題がある。また、余白画像データの生成のためにＣＰＵやＤＭＡＣによるメモリのクリア処理を用いる場合、クリア処理に伴うシステムバスやメモリの帯域を圧迫するという課題がある。
【０００６】
そこで本発明は、各画像データ処理部において後に処理を行う画像データ処理部で必要な余白画像データを画像データに付加することで、余白画像データを高効率・高精度に制御することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、画像データを処理する複数の画像データ処理手段、および画像データに対して前記画像データ処理手段を用いて行う処理の順序を制御する制御手段を有する画像処理装置であって、各前記画像データ処理手段は、入力された画像データに余白画像データを付加する画素付加処理手段を有し、前記制御手段は、各前記画像データ処理手段で付加する前記余白画像データを、前記処理の順序が後の他の前記画像データ処理手段の処理内容に基づいて決定することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、各画像データ処理部において後に処理を行う画像データ処理部で必要な余白画像データを画像データに付加することで、余白画像データを高効率・高精度に制御することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る画像形成装置を含むシステム構成図。
【図２】本発明の一実施形態に係る画像発生部、リーダーＩＦ部、符号部、復号部、プリント画像処理部の詳細図。
【図３】本発明の一実施形態に係る画素付加処理を説明する図。
【図４】本発明の一実施形態に係るコントローラのジョブ制御のフローチャート。
【図５】本発明の一実施形態に係る画素付加処理部への指示の制御のフローチャート。
【図６】本発明の一実施形態に係る矩形領域単位の処理に対する画素付加処理を説明する図。
【図７】本発明の一実施形態に係る回転処理に対する画素付加処理を説明する図。
【図８】本発明の一実施形態に係る画像のセンタリング処理に対する画素付加処理を説明する図。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１１】
［画像処理装置の構成］
図１は、本発明の実施形態に関わる画像処理装置の構成を説明するブロック図である。
【００１２】
本実施形態では、画像読取装置は、例えば、コピー機能、スキャン機能、プリンタ機能、ファクシミリ機能等の複数の機能が一体化された複合機１（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ）とする。複合機１は、外部Ｉ／Ｆ部１０６を介してネットワークに接続され、他の装置からネットワークを利用してプリント指示や装置情報のやり取りが可能である。複合機１は、ユーザが各種の操作および設定変更を行うための操作部１１と、操作部１１からの指示に従い画像情報を読み取る画像読取部１３と、画像データを用紙に印刷する画像形成部１２とを有する。操作部１１、画像読取部１３、および画像形成部１２に対する各種制御は、コントローラ１００によって実現される。
【００１３】
コントローラ１００は、リーダーＩ／Ｆ部１０８を有しており、画像読取部１３が読み取った画像データは、リーダーＩ／Ｆ部１０８を介してコントローラ１００に入力される。またリーダーＩ／Ｆ部１０８は、画像読取部１３との間で送受信される信号の入出力部を構成するとともに、画像読取部１３との間の通信制御を行う。
【００１４】
外部ＩＦ部１０６は、ネットワークを介して入力される印刷データを画像生成部１０９に転送する。ここで、入力される印刷データは、例えば、ＰＤＬ（ページ記述言語）データで構成される。
【００１５】
画像生成部１０９は、入力された印刷データの解析（例えば、ＰＤＬ解析処理）を行う。そして、その解析結果から中間言語を生成し、更にコントローラ１００の有する各画像処理部が処理可能な画像データを生成する。
【００１６】
スキャン画像部１１３は、リーダーＩＦ部１０８を介してコントローラ１００に入力された画像データを、所定の矩形毎に順次読み出し、各種画像処理を行う。各種画像処理として、下地除去処理や、ＭＴＦ（Ｍｏｄｕｌａｔｅｄ  Ｔｒａｎｓｆｅｒ  Ｆｕｎｃｔｉｏｎ）補正のためのフィルタ処理、文字か否かを判定する文字判定処理などを含む。各種画像処理の中には、注目画素データに対して周辺画素データの参照が必要となる処理が多く存在する。一般に、周辺画素を参照する処理を行うためには、順次入力される画像の各画素のデータを格納しておくラインバッファを要する。ラインバッファの容量は、ページ毎の処理を矩形領域単位で行うことにより、ラスタ順で行う場合に比べ少なくでき、回路規模の増大を抑制することができる。但し、画像データを所定の矩形領域単位で出力するためには、周辺画素データを含む矩形領域単位の画素データの入力が必要となる。そのため、入力画素データに対応する矩形領域（以降、入力矩形という）の大きさは、出力画素データに対応する矩形領域（以降、出力矩形という）の大きさよりも大きくしなければならない。
【００１７】
符号化部１１０は、画像データを符号化処理し、符号データを生成する。画像データを符号データにすることよりデータ量を少なくすることができ、より少ない画像メモリで多くの画像データを格納することができる。また、コントローラ１００が備える各要素間を接続するシステムバス１１５の帯域の使用率上昇を抑制することができる。符号化処理には、ＪＢＩＧやＪＰＥＧ、Ｐａｃｋｂｉｔｓといった符号化方式を用いることができる。
【００１８】
復号化部１１１は、符号化部１１０が符号化した符号データや、外部ＩＦ部１０６を介して入力される符号データを復号化処理し、ラスタ状の画像データ（以降、ラスタ画像データという）を生成する。各種画像処理や、プリンタＩＦ１０７部を介して画像形成処理が可能な画像データが必要なときに用いられる。
【００１９】
回転器１１２は、画像データを所定の正方形単位、例えば６４×６４画素単位で順次回転処理を行う。画像生成部１０９が生成した画像データや、あるいは各種画像処理が施された画像データを、印刷用紙の方向に合わせるためや、複数の画像データを１枚の印刷用紙に割り付けて画像形成するときに方向をあわせるために用いられる。
【００２０】
プリント画像部１１４は、画像データを読み出して各種画像処理を行い、画像形成部１２において印刷処理可能な画像データを生成する。各種画像処理として、ＲＧＢからＹＭＣＫへの色空間変換処理や、ディザパターンを用いた疑似中間調処理などを含む。
【００２１】
画像メモリ１０４は、画像データや符号データを格納する。
【００２２】
ＣＰＵ１０１は、操作部１１もしくは外部Ｉ／Ｆ部１０６を介して入力された指示に基づいて、上述の各画像データ処理部の制御を行う。この制御は、ＲＯＭ１０２に格納されている制御プログラムに基づいて実行される。ＣＰＵ１０１による演算処理の作業領域としては、ＲＡＭ１０３が使用される。ＣＰＵ１０１を含むコントローラ１００が備える各要素は、システムバス１１５に接続されている。ＣＰＵ１０１は、システムバス１１５を介して各要素を制御し、画像データや符号データを、画像メモリ１０４から各要素に転送する。
【００２３】
次に、本実施形態にかかる画像生成部１０９、リーダーＩＦ部１０８、符号化部１１０、復号部１１１、およびプリント画像部１１４の詳細構成について図２（ａ）〜（ｅ）を用いて説明する。図２（ａ）〜（ｅ）は、本実施形態にかかる画像生成部１０９、リーダーＩＦ部１０８、符号化部１１０、復号化部１１１、およびプリント画像部１１４の詳細構成を示すブロック図である。
【００２４】
図２（ａ）は、画像生成部１０９の詳細構成を示すブロック図である。
【００２５】
レジスタ部２２１は、複数のレジスタ（不図示）で構成される。画像生成部１０９に対するＣＰＵ１０１からの指示は、ＣＰＵ１０１がレジスタ部２２１の各レジスタに適切な値を書き込むことで行われる。
【００２６】
ＰＤＬ解析処理部２３１は、印刷データ（ＰＤＬデータ）の解析と、その解析結果に基づく中間言語情報の作成に関する処理を行う。またこの処理には、印刷データに含まれる文字コードから予め格納されているビットパターン、アウトラインフォント等のフォントデータへの変換等の処理が含まれる。
【００２７】
ラスタライズ処理部２３２は、ＰＤＬ解析処理部２３１が作成した中間言語情報からラスタ画像データを生成する。
【００２８】
画素付加処理部２１１は、レジスタ部２２１のレジスタの値に基づき、ラスタライズ処理部２３２が生成した画像データの周辺に画素データを付加する処理を行う。画素付加処理部２１１の行う処理については後述する。なお、図２（ｂ）〜（ｅ）に示す各画像データ処理部のレジスタ部（２２２、２２３、２２４、２２５）および画素付加処理部（２１２、２１３、２１４、２１５）は、画像生成部１０９のレジスタ部２２１および画素付加処理部２１１と同様の構成である。そのため、これらについての説明は省略する。
【００２９】
図２（ｂ）は、リーダーＩＦ部１０８の詳細構成を示すブロック図である。リーダーＩＦ部１０８のリーダー画像処理部２３４は、画像読取部１３から入力される画像データを、コントローラ１００の各画像データ処理部が処理可能な画像データに変換する処理を行う。画像読取部１３から入力される画像データは、光学的にＲ、Ｇ、Ｂの各画素のデータを読み取ることが可能な素子が配列されたイメージセンサユニット（不図示）によって得られるものであり、素子の配列に依存したデータの並び順で入力される。リーダー画像処理部２３４は、このイメージセンサユニットに依存した画像データを、イメージセンサユニットに依存しない、ＲＧＢの各画素データが揃った並び順（点順次）に変換する処理を行う。リーダー画像処理部２３４は、処理した画像データを画素付加処理部２１２へ出力する。
【００３０】
図２（ｃ）は、符号化部１１０の詳細構成を示すブロック図である。符号処理部２３５は、画素付加処理部２１３で処理されたラスタ画像データを符号化処理し、符号データを生成する。符号化部１１０では、例えばレポートプリント処理等でテキスト画像データのみが入力された場合、符号化する前に用紙サイズの画像データとなるよう余白画像データを付加することが可能である。これにより、レポート結果を用紙サイズの画像データを符号化した符号データとして外部送信することができる。なお、レポートプリント処理とは、画像処理装置において生成される管理情報等を示す画像データを出力する処理である。
【００３１】
図２（ｄ）は、復号化部１１１の詳細構成を示すブロック図である。符号処理部２３６は、符号データを復号化処理し、復号化されたラスタ画像データを画素付加処理部２１４へ出力する。
【００３２】
図２（ｅ）は、プリント画像部１１４の詳細構成を示すブロック図である。ブリント画像処理部２３７は、ＲＧＢからＹＭＣＫへの色空間変換処理や、ディザパターンを用いた疑似中間調処理などを行い、処理後のラスタ画像データを画素付加処理部２１５へ出力する。
【００３３】
次に、図３を参照して、画素付加処理部（２１１、２１２、２１３、２１４、２１５）の行う画素付加処理について説明する。
【００３４】
図３（ａ）は、画素付加処理部に入力される、主走査幅ＸＩ、副走査幅ＹＩの画像データを示している。図３（ｂ）は、画素付加処理部が出力する画像データを示している。画素付加処理部が出力する画像データは、主走査幅ＸＯ、副走査幅ＹＯである。画素付加処理部は、同じ処理部内のレジスタ部に指示された、左方向・右方向・上方向・下方向のそれぞれ付加する画素幅を示す各レジスタ値Ｐａｄ＿ｌ、Ｐａｄ＿ｒ、Ｐａｄ＿ｔ、Ｐａｄ＿ｂに基づき、入力された画像データに画素データを付加して出力する。
【００３５】
本実施形態では、付加する画素データの値は白を示す値を持つ。ＲＧＢなどの加法混合の画像データを処理する場合、最大値を示す値を付加する画素データの値として用い、ＹＭＣＫなどの減法混合の画像データを処理する場合、０を示す値を付加する画素データの値として用いる。
【００３６】
また、各画素付加処理部は、画素付加処理部を有する各画像データ処理部の処理速度に相当する速度で処理を行う。例えば、ラスタライズ処理部２３２が２４ビットカラーの画素を２００ＭＨｚで処理する場合、画素付加処理部２１１はラスタライズ処理部２３２で処理された部分から並行して８ｂｉｔ×３×２００ＭＨｚ＝６００ＭＢ／ｓの速度で処理する。画素付加処理部２１２は、リーダー画像処理部２３４が１００ＭＨｚ程度で動作する場合、リーダー画像処理部２３４で処理された部分から並行して３００ＭＢ／ｓの速度で処理する。
【００３７】
これに対し、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）（不図示）で画像メモリ１０４に白を示す値を書き込む場合、画像データ全体をまとめて６４ｂｉｔ×２００ＭＨｚ＝１６００ＭＢ／ｓで処理する。このＤＭＡＣの処理速度は、上記画像処理部や、画像読取部１３、画像形成部１２の処理速度と比べ、非常に高速である。そのため、ＤＭＡＣでの高速な処理に伴にバスアクセスが急増すると、操作部１１が有する表示装置の画像データの転送や、画像形成部１２への画像データ転送など、システムバス１１５を利用する他の処理の妨げになる。
【００３８】
このように本発明では、ＣＰＵやＤＭＡＣによって画像メモリ１０４をクリア処理する場合に比べ、システムバス１１５への帯域負荷を抑制することができる。その結果、本発明では、システムバス１１５の帯域不足による画像データ転送の遅延に起因した、表示不良や画像形成不良を避けることが可能となる。
【００３９】
［制御シーケンス］
本実施形態にかかるコントローラ１００の制御フローの一例を、図４、５のフローチャート、及び図６〜８を用いて説明する。
【００４０】
図４は、コントローラ１００の備えるＣＰＵ１０１による制御のフローチャートである。
【００４１】
ステップＳ４０１において、ＣＰＵ１０１は、操作部１１や、外部ＩＦ部１０６を介したジョブの入力を待機し、ジョブ要求を受信したとき、ステップＳ４０２へ移行する。
【００４２】
ステップＳ４０２では、ＣＰＵ１０１は、受信したジョブ要求における処理内容を解析し、ジョブ種、各種パラメータを取得する。
【００４３】
次にステップＳ４０３では、ＣＰＵ１０１は、ステップＳ４０２において取得したジョブ種、各種パラメータに基づき、ジョブの処理実行に必要な処理データフローを決定する。処理データフローは、コントローラ１００において、データの入力から出力までを、どの処理部をどの順で用いるかを定めたものである。例えば、１枚の原稿を１０枚出力するカラーコピージョブであれば、その処理データフローには、原稿の読取りからスプールまでのデータフローと、スプールされているデータから画像形成するまでのデータフローとが含まれる。原稿の読取りからスプールまでのデータフローの一例としては、リーダーＩＦ部１０８、画像メモリ（バンド）１０４、スキャン画像部１１３、画像メモリ（バンド）１０４、符号化部１１０、画像メモリ（スプール）１０４の順のようになる。
【００４４】
ここで画像メモリ（バンド）１０４は、画像メモリ１０４上に所定のライン数分の容量を確保することを示す。画像メモリ（バンド）１０４は、その前の処理部から所定のライン数分の画像データが画像メモリ１０４に格納されたら、次の処理部が所定のライン数分の画像データを画像メモリ１０４から読み出す、といった処理を繰り返すために用いられる。すなわち、画像メモリ（バンド）１０４は一時的なバッファの用途として用いられる。画像メモリ（スプール）１０４は、画像メモリ１０４上に１ページ分の容量を確保することを示す。
【００４５】
また、スプールされている画像データを画像形成するまでの処理データフローの一例を示す。このような処理データフローは、画像メモリ（スプール）１０４、復号化部１１１、画像メモリ（バンド）１０４、プリント画像部１１４、画像メモリ（バンド）１０４、プリンタＩＦ部１０７、の順のようになる。上述した処理データフローは一例であり、別の処理データフローを採用しても良い。コントローラ１００の各画像データ処理部の処理順や、ＣＰＵ１０１による処理や、あるいは外部ＩＦ部１０６を介して、外部の処理部を利用する処理データフローを用いても良い。
【００４６】
なお、処理データフローの各画像データ処理部は処理毎に区別され、処理部としては同一であっても、異なるタイミングで複数の処理を行う場合、処理データフロー上では別の処理部として識別するものとする。
【００４７】
ステップＳ４０４では、ステップＳ４０２において取得した情報に基づき、コントローラ１００の各画像データ処理部が必要な情報を生成し、ステップＳ４０３で決定した処理データフローに含まれる各画像データ処理部に、処理の指示を行う。ＣＰＵ１０１から各画像データ処理部への指示は、図２を用いて説明したように、各レジスタ部に適切な値を書き込むことによって行う。また、このときＣＰＵ１０１は、処理データフローに基づいて、各画像データ処理部の有する画素付加処理部を用いて、画素付加処理を行う指示を行う。各画素付加処理部への指示の具体的な方法に関しては、図５を用いて後述する。
【００４８】
ステップＳ４０４の処理が完了すると、ステップＳ４０５へ進み、ステップＳ４０３で決定した処理データフローに基づき、ＣＰＵ１０１は各画像データ処理部に対し画像データ転送の制御を行う。
【００４９】
図５は、ＣＰＵ１０１が、処理データフローに基づいて、各画像データ処理部の有する画素付加処理部毎に行う指示方法を説明するフローチャートである。図５に示す例では、ステップＳ５０１、Ｓ５０２、Ｓ５０３において、ステップＳ４０３で決定した処理データフローにおける各画素付加処理部に関して、その後に用いられる処理部が行う処理について判定を行う。
【００５０】
ステップＳ５０１では、ＣＰＵ１０１は、次に行う処理が矩形領域単位の処理（矩形処理）か否かを判定し、矩形処理であればステップＳ５１０へ進み、矩形処理でなければ、次の判定であるステップＳ５０２へ移行する。例えば、上述した処理データフローの一例のように、リーダーＩＦ部１０８、画像メモリ（バンド）１０４、スキャン画像部１１３の順に処理が行われる場合を考える。このような処理データフローでは、リーダーＩＦ部１０８の有する画素付加処理部２１２での処理の次の処理は、矩形領域単位の処理を行うスキャン画像処理であるので、Ｓ５０１からＳ５１０へ移行する。
【００５１】
ステップＳ５１０では、ＣＰＵ１０１は、処理する画像データのサイズと、処理単位のサイズとに基づいて、画素付加処理部で付加する画素幅を算出する。Ｓ５１０において画素幅を算出する具体的な方法については、図６（ａ）〜（ｅ）を用いて説明する。
【００５２】
図６（ａ）、（ｂ）は、本実施形態のコントローラ１００の有するスキャン画像部１１３が矩形領域単位で処理するときの、矩形領域のサイズを示している。出力矩形は主走査幅ＸＲｏ、副走査幅ＹＲｏである。この矩形領域に対応する画素データを出力するためにスキャン画像処理が必要とする周辺画素データを含む入力矩形は、主走査幅ＸＲｉ、副走査幅ＹＲｉである。入力矩形の主走査幅ＸＲｉは、左方向の周辺画素幅ＸＲｌと、右方向の周辺画素幅ＸＲｒとを、出力矩形の主走査幅ＸＲｏに加算した関係、すなわちＸＲｉ＝ＸＲｌ＋ＸＲｏ＋ＸＲｒの関係を持つ。同様に、副走査方向においても、ＹＲｉ＝ＹＲｔ＋ＹＲｏ＋ＹＲｂの関係を持つ。
【００５３】
図６（ｃ）は、リーダー画像処理部２３４が出力し、リーダーＩＦ部１０８の有する画素付加処理部２１２に入力される画像データのサイズを示している。この入力画像データは、主走査画像幅ＸＩ、副走査画像幅ＹＩである。
【００５４】
図６（ｄ）は、リーダーＩＦ部１０８の有する画素付加処理部２１２の出力する画像データのサイズを示している。この出力画像データは、図３を用いて説明したときと同様に、上下左右に画素データを付加した画像データであり、主走査画像幅ＸＯ、副走査画像幅ＹＯである。
【００５５】
図６（ｅ）は、スキャン画像部１１３が、画像データを矩形領域単位で画像メモリ１０４から読み出すときの画像データに対する入力矩形の位置関係を示している。スキャン画像部１１３が出力する画像データを隙間なく出力するために、出力矩形が隣り合うように読み出すデータ転送制御をＣＰＵ１０１が行うことから、入力矩形が重なるように配置している。スキャン画像部１１３が所定の矩形領域単位ごとに処理可能であり、かつすべて入力画像データが画像処理可能なように、以下に示すように付加する画素幅を算出し、図６（ｄ）に示すように画素付加処理された画像データを生成する。
【００５６】
まず、出力矩形の主走査幅ＸＲｏが最低いくつあれば、入力画像の主走査幅ＸＩ以上になるかを算出する。
Ｘｎ＝（ＸＩ＋ＸＲｏ−１）／ＸＲｏ
ここで「／」は切り捨ての除算、すなわち商を得るための除算を示す。Ｘｎは、ＸＩをＸＲｏで割ったときに剰余がゼロのとき、ＸＲｏ−１は切り捨てられてＸＩをＸＲｏで割った商となり、ＸＩをＸＲｏで割ったときに剰余がゼロでないとき、ＸＩをＸＲｏで割った商に１を加えた値となる。副走査方向も同様に、入力画像の副走査幅ＹＩ以上になるために必要な出力矩形の副走査方向の最小数を算出する。
Ｙｎ＝（ＹＩ＋ＹＲｏ−１）／ＹＲｏ
【００５７】
次に、出力画像の主走査幅ＸＯ、副走査幅ＹＯを、以下のように算出する。
ＸＯ＝Ｘｎ×ＸＲｏ＋ＸＲｌ＋ＸＲｒ
ＹＯ＝Ｙｎ×ＹＲｏ＋ＹＲｌ＋ＹＲｒ
【００５８】
次に、画素付加処理部に指示する付加する画素幅を、以下のように算出する。
左方向：Ｐａｄ＿ｌ＝ＸＲｌ
右方向：Ｐａｄ＿ｒ＝ＸＯ−ＸＩ−ＸＲｌ
上方向：Ｐａｄ＿ｔ＝ＹＲｔ
下方向：Ｐａｄ＿ｂ＝ＹＯ−ＹＩ−ＹＲｔ
【００５９】
ＣＰＵ１０１は、ステップＳ５１０において上述したような方法により、付加する画素幅を算出する。ＣＰＵ１０１は、算出した画素幅をリーダーＩＦ部１０８のレジスタ部に書き込むことで、画素付加処理部２３４への指示を行う。
【００６０】
ステップＳ５０２では、ＣＰＵ１０１は、次に行う処理が回転処理であるか否かを判定し、回転処理であればステップＳ５１１へ進み、回転処理でなければ、次の判定であるステップＳ５０３へ移行する。
【００６１】
ステップＳ５１１では、処理する画像データのサイズと、回転器１１２の処理単位のサイズと、回転方向とに基づき、回転処理後の画像データにおける入力画像データの隅が左上隅に揃うように画素付加処理部で付加する画素幅を算出する。本実施形態においては、回転処理後の画像データの左上隅の位置を原点位置としている。Ｓ５１１において画素幅を算出する具体的な方法については、図７（ａ）〜（ｊ）を用いて説明する。
【００６２】
図７（ａ）は、処理データフロー上で、回転器１１２が処理を行う前に処理を行ういずれかの画素付加処理部に入力される画像データのサイズを示している。また、図７（ｂ）は、本実施形態における回転機１１２の処理単位のサイズを示している。図７（ａ）に示す入力画像データは、主走査画像幅ＸＩ、副走査画像幅ＹＩであり、図７（ｂ）に示す回転器１１２の処理単位は、主走査方向、副走査方向ともにＷの幅を持つ。
【００６３】
まず、回転器１１２の処理単位に、画像データのサイズを合わせる必要があるため、主走査方向に付加する画素幅をＰａｄ＿ｘ、副走査方向に付加する画素幅Ｐａｄ＿ｙを、以下のように算出する。
出力主走査画像幅ＸＯ＝（（ＸＩ＋Ｗ−１）／Ｗ）×Ｗ
出力副走査画像幅ＹＯ＝（（ＹＩ＋Ｗ−１）／Ｗ）×Ｗ
Ｐａｄ＿ｘ＝ＸＯ％Ｗ
Ｐａｄ＿ｙ＝ＹＯ％Ｗ
なお、「／」は切り捨ての除算を示し、「％」は剰余を得るための除算を示す。
【００６４】
図７（ｃ）は、回転器１１２において２７０°回転処理を行うときの、直近の画素付加処理部における出力画像データのサイズと入力画像データの位置とを示している。図７（ｃ）に示す出力画像データは、図７（ａ）に示す画像データに対して左方向と下方向に画素データを付加する処理が行われている。このとき、ＣＰＵ１０１は、画素付加処理部に指示する付加する画素幅を、以下のように算出する。
左方向：Ｐａｄ＿ｌ＝Ｐａｄ＿ｘ
右方向：Ｐａｄ＿ｒ＝０
上方向：Ｐａｄ＿ｔ＝０
下方向：Ｐａｄ＿ｂ＝Ｐａｄ＿ｙ
【００６５】
図７（ｄ）は、図７（ｃ）に示す画素付加処理された画素付加処理部の出力画像データが回転器１１２で２７０°回転処理された画像データを示している。
【００６６】
図７（ｅ）は、回転器において９０°回転処理を行うときの、直近の画素付加処理部の出力画像データのサイズと入力画像データの位置とを示している。図７（ｅ）に示す出力画像データは、図７（ａ）に示す画像データに対して右方向と上方向に画素データを付加する処理が行われている。このとき、ＣＰＵ１０１は、画素付加処理部に指示する付加する画素幅を、以下のように算出する。
左方向：Ｐａｄ＿ｌ＝０
右方向：Ｐａｄ＿ｒ＝Ｐａｄ＿ｘ
上方向：Ｐａｄ＿ｔ＝Ｐａｄ＿ｙ
下方向：Ｐａｄ＿ｂ＝０
【００６７】
図７（ｆ）は、図７（ｅ）に示す画素付加処理された画素付加処理部の出力画像データが回転器１１２で９０°回転処理された画像データを示している。
【００６８】
図７（ｇ）および図７（ｉ）は、回転処理に加えて鏡像処理を行うときの、直近の画素付加処理部の出力画像データのサイズと入力画像データの位置とを示している。
【００６９】
本実施形態では、鏡像処理は、例えば画像メモリ１０４の画像データの読み出し順を書き込み順に対して逆にすることや、回転器１１２の入力順序に対して出力順序を変えることなどによって実現することができる。なお鏡像処理は、以下のような場合に必要となる処理である。例えば、画像読取部１３が１度の原稿の通紙で両面の画像データを読み取るときの表面と裏面の関係を揃える場合に必要となる。また、トナー色毎に異なるレーザー走査および感光ドラムを用いて画像形成を行うタンデムプリンターエンジンにおいて色ごとにレーザー走査方向が異なる場合にも必要ようとなる。他にも１８０°回転処理を行うときや、操作部１１を介してユーザが鏡像処理を指定するときなどにも必要となる処理である。
【００７０】
図７（ｇ）に示す出力画像データは、図７（ａ）に示す画像データに対して右方向と下方向に画素データを付加する処理が行われている。このとき、ＣＰＵ１０１は、画素付加処理部に指示する付加する画素幅を、以下のように算出する。
左方向：Ｐａｄ＿ｌ＝０
右方向：Ｐａｄ＿ｒ＝Ｐａｄ＿ｘ
上方向：Ｐａｄ＿ｔ＝０
下方向：Ｐａｄ＿ｂ＝Ｐａｄ＿ｙ
【００７１】
図７（ｈ）は、図７（ｇ）に示す画素付加処理された画素付加処理部の出力画像データが回転器１１２で処理された画像データを示している。
【００７２】
図７（ｉ）に示す出力画像データは、図７（ａ）に示す画像データに対して左方向と上方向に画素データを付加する処理が行われている。このとき、ＣＰＵ１０１は、画素付加処理部に指示する付加する画素幅を、以下のように算出する。
左方向：Ｐａｄ＿ｌ＝Ｐａｄ＿ｘ
右方向：Ｐａｄ＿ｒ＝０
上方向：Ｐａｄ＿ｔ＝Ｐａｄ＿ｙ
下方向：Ｐａｄ＿ｂ＝０
【００７３】
図７（ｊ）は、図７（ｉ）に示す画素付加処理された画素付加処理部の出力画像データが画像メモリ１０４および回転器１１２で処理された画像データを示している。
【００７４】
このように、図７（ｄ）、（ｆ）、（ｈ）、（ｊ）のいずれの画像データにおいても、図７（ａ）に示す画像データの隅が回転処理後の画像データの左上隅に位置している。このように、回転処理後の出力画像データにおいて、回転角度に依らず入力画像データの隅を原点位置に合わせ込むことにより、その後の処理において複雑な場合分けを行うことなく、入力画像データのレイアウト位置を容易に調整することが可能となる。
【００７５】
ステップＳ５０３では、ＣＰＵ１０１は、次に画像のセンタリング処理、すなわち画像の位置合わせを行う必要か否かを判定し、必要であればステップＳ５１２へ移行し、必要でなければステップＳ５１３へ移行する。センタリング処理は、画像メモリ１０４にある画像データが画像形成部１２に画像データを転送するときの印刷用紙のサイズに相当する大きさに満たないときに必要であると判定される。
【００７６】
ステップＳ５１２では、ＣＰＵ１０１は、処理する画像データのサイズと、出力する画像データのサイズに基づき、入力画像データの画像が出力画像データの画像の中央に配置されるように、画素付加処理部で付加する画素幅を算出する。Ｓ５１２において画素幅を算出する具体的な方法については、図８（ａ）、（ｂ）を用いて説明する。
【００７７】
図８（ａ）は、処理データフロー上のいずれかの画素付加処理部に入力される画像データのサイズを示している。図８（ｂ）は画素付加処理部の出力画像データのサイズと入力画像データの位置とを示している。例えば、Ａ４の印刷用紙に画像形成するときに、入力画像データがＢ５の大きさの場合、出力主走査幅ＸＯおよび出力副走査幅ＹＯをＡ４に相当するサイズとして算出する。このとき、画素付加処理部に指示する付加する画素幅を、以下のように算出する。
左方向および右方向：Ｐａｄ＿ｌ＝Ｐａｄ＿ｒ＝（ＸＯ−ＸＩ）／２
上方向および下方向：Ｐａｄ＿ｔ＝Ｐａｄ＿ｂ＝（ＹＯ−ＹＩ）／２
なお、「／」は切り捨ての除算を示す。
【００７８】
ステップＳ５１３では、画素データを付加する必要がない場合であり、付加する画素幅をすべて０として算出する。
【００７９】
なお、図５に示した指示方法は、処理データフローに複数の画素付加処理部が存在するときには、各画素付加処理部に対してそれぞれ指示を行うものである。例えば、処理データフローに、ステップＳ５０３に相当する画像のセンタリング処理を行う処理部と、その次にステップＳ５０１に相当する矩形処理を行う処理部とが含まれる場合を考える。この場合、センタリング処理の前に処理を行う処理部内の画素付加処理部と、センタリング処理を行う処理部内の画素付加処理部とのそれぞれに関して図５に示す方法で処理を判定して付加する画素幅および位置を算出する。まずステップＳ５１２に相当する付加画素幅および位置を算出し、その算出結果に基づいてステップＳ５１０に相当する付加画素幅および位置を算出し、それぞれ対応する画素付加処理部に算出した付加画素幅および位置の指示を行う。
【００８０】
また判定対象とする処理は、ステップＳ５１０、Ｓ５１１、Ｓ５１２の処理に限定されるものではない。判定対象は、原稿の開き方設定に伴うレイアウト処理、Ｎｉｎ１レイアウト処理、レポートプリント処理等、必要な余白画像データの幅及び方向又は位置が決まった処理とすることができる。ここで原稿の開き方の設定とは、両面印刷時において長辺綴じとするか短辺綴じとするかや、製本印刷とするかを指定することによって原稿の開き方を設定するものである。
【００８１】
以上説明したように本実施形態によれば、各画像データ処理部が画素付加処理部を有する構成とし、処理データフロー上で次に行う処理に基づき、付加する画素幅を算出することにより、次の処理に必要な画素データが付加された画像データを得ることができる。この結果、余白画像データを生成するためにＣＰＵやＤＭＡＣによって画像メモリ１０４をクリアする処理が不要となり、システムバス１１５や画像メモリ１０４の帯域の使用を抑制することができる。さらに回転処理や鏡像処理を行うときの画像位置のレイアウト性能が向上する。
【００８２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2020108107.tif 000003
【図２】
2020108107.tif 000004
【図３】
2020108107.tif 000005
【図４】
2020108107.tif 000006
【図５】
2020108107.tif 000007
【図６】
2020108107.tif 000008
【図７】
2020108107.tif 000009
【図８】
2020108107.tif 000010