(57)【特許請求の範囲】
【請求項１】
所定の大きさの分割画像に回転処理を施す画像処理装置であって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成手段と、
前記第２のサイズとなる複数の分割画像の集合の中心点に関して前記複数の分割画像の集合を回転処理する処理手段と、
前記回転処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力手段とを有し、
前記生成手段が、前記処理手段による回転処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とする画像処理装置。
【請求項２】
前記出力手段は、前記第１の座標から順次横方向に画素をライン出力するライン出力手段であり、
前記生成手段は、前記ライン出力手段によりライン単位で無効画像が出力されないように、前記差分領域を含む分割画像を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記分割画像は、位置座標テーブルにより管理されるタイル画像であり、
前記処理手段は、前記位置座標テーブルの書き換えと、各タイル内における画素単位での回転処理により、複数のタイル画像の集合の回転処理を行うことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記タイル画像に属性情報を付加したデータパケットを生成し、
前記処理手段は、前記データパケットの属性情報に基づき前記タイル画像を処理することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
印刷装置で印刷するためのページ画像の画像処理を制御する制御手段をさらに有し、
前記制御手段は、前記印刷装置を用いた両面上下開き出力が設定された場合、奇数ページは前記処理手段による回転処理を行わせず、偶数ページは前記処理手段に回転処理を行わせるように制御することを特徴とする請求項１〜４のいずれかに記載の画像処理装置。
【請求項６】
所定の大きさの分割画像に鏡像変換処理を施す画像処理装置であって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成手段と、
前記第２のサイズとなる複数の分割画像の集合の中心軸に関して前記複数の分割画像の集合を鏡像変換処理する処理手段と、
前記鏡像変換処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力手段とを有し、
前記生成手段が、前記処理手段による鏡像変換処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とする画像処理装置。
【請求項７】
所定の大きさの分割画像に回転処理を施す画像処理方法であって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成工程と、
前記第２のサイズとなる複数の分割画像の集合の中心点に関して前記複数の分割画像の集合を回転処理する処理工程と、
前記回転処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力工程とを有し、
前記生成工程が、前記処理工程における回転処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とする画像処理方法。
【請求項８】
所定の大きさの分割画像に鏡像変換処理を施す画像処理方法であって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成工程と、
前記第２のサイズとなる複数の分割画像の集合の中心軸に関して前記複数の分割画像の集合を鏡像変換処理する処理工程と、
前記鏡像変換処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力工程とを有し、
前記生成工程が、前記処理工程における鏡像変換処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とする画像処理方法。
【請求項９】
所定の大きさの分割画像に回転処理を施す画像処理方法を実行するためのプログラムであって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成ステップと、
前記第２のサイズとなる複数の分割画像の集合の中心点に関して前記複数の分割画像の集合を回転処理する処理ステップと、
前記回転処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力ステップとを有し、
前記生成ステップが、前記処理ステップにおける回転処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とするプログラム。
【請求項１０】
所定の大きさの分割画像に鏡像変換処理を施す画像処理方法を実行するためのプログラムであって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成ステップと、
前記第２のサイズとなる複数の分割画像の集合の中心軸に関して前記複数の分割画像の集合を鏡像変換処理する処理ステップと、
前記鏡像変換処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力ステップとを有し、前記生成ステップが、前記処理ステップにおける鏡像変換処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定の大きさの分割画像に回転処理を施す画像処理装置、画像処理方法、及びプログラムに関するものである。
【０００２】
【従来の技術】
近年、コピーやネットワークプリント、FAX、e-mail送信等の複数の画像入出力機能を実現することが可能なＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  ｐｅｒｉｐｈｅｒａｌ：マルチファンクション周辺機器）が提供されている。この種の装置は、上記複数の機能を実現するために、スキャナ部、プリンタ部、ネットワーク部等、様々な入出力手段を備えている。これら入出力手段による画像入出力機能において、高いパフォーマンスを出すためには、それぞれの入出力機能に関する画像処理を同時並行的に行う必要がある。通常、スキャナで読み取られた画像信号は、CCD等のラインセンサによりライン単位で読み出される。このため、ＭＦＰ内で画像データはラインごとにメモリに記憶され、処理されるのが一般的である。
【０００３】
近年、ＭＦＰで扱われる画像を格納するために必要とされるメモリサイズは増大化する傾向にある。これは、画像の高画質化、大容量化にともなうものであり、例えばＡ４サイズのカラー原稿を８ビットＲＧＢ（Red,Grren,Blue）の６００ｄｐｉ(dot per inch)で読み取った場合、主走査方向７０１６画素で副走査方向４９６１ラインで、1ページ当たりに必要とされる画像メモリサイズは約９９．６Ｍｂｙｔｅとなる。この画像を１０分の１程度に圧縮したとしても約１０Ｍｂｙｔｅのメモリサイズを必要とする。さらに、それぞれの入力手段からの画像データを同時並列的に処理し、さらに回転や解像度変換等の画像処理を行うためには、大きな回路構成になるかもしくはスピードを落とす必要があった。
【０００４】
近年、特開平2002-008002号公報に開示されるように、画像データをタイル単位に処理する技術が提案されている。この技術をＭＦＰに適用することにより、タイル単位でメモリを確保し、画像処理を行うことができる。また、安価な回路構成で高速な並列処理が可能となる。
【０００５】
【発明が解決しようとする課題】
しかしながら、タイル画像処理を行う場合、原稿画像のサイズは、タイル画像のサイズの整数倍になるとは限らず、この場合は、原稿画像からタイル画像を生成する際に、画像の端部において無効画像を付加する必要が生じる。このような無効画像の付加を行った画像に関して、回転処理や鏡像変換処理等、座標変換を伴う画像処理を行うと、以下のような問題が生じる。
【０００６】
すなわち、原稿画像の回転処理を行い出力させる場合、出力させるべき画像のサイズと領域は別途設定されているにもかかわらず、回転処理は、無効画像が付加された画像に関して行われるので、回転角度に応じて無効画像が優先的に出力され、出力すべき原稿画像領域が欠けてしまうという問題があった。鏡像変換処理も、無効画像が付加された画像に関して行われるので、同様に、出力すべき原稿画像領域が欠けてしまうという問題があった。
【０００７】
本発明は上述した問題点を解決するためのものであり、第１のサイズの原画像から第１の座標を基準として生成された第２のサイズの分割画像の集合を回転処理し、第１の座標を基準として出力する際に、回転処理に先立ち、施すべき回転処理の内容に応じて、第１のサイズと第２のサイズの差分領域をどの分割画像が含むかを決定しておくことで、出力画像に回転処理された原画像全体が含まれるようにすることにより、分割画像の処理に起因する原画像の欠落等がない高画質な回転出力画像を得ることができる画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【０００８】
また、本発明は、第１のサイズの原画像から第１の座標を基準として生成された第２のサイズの分割画像の集合を鏡像変換処理し、第１の座標を基準として出力する際に、鏡像変換処理に先立ち、施すべき鏡像変換処理の内容に応じて、第１のサイズと第２のサイズの差分領域をどの分割画像が含むかを決定しておくことで、出力画像に鏡像変換処理された原画像全体が含まれるようにすることにより、分割画像の処理に起因する原画像の欠落等がない高画質な鏡像変換出力画像を得ることができる画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明の画像処理装置は、所定の大きさの分割画像に回転処理を施す画像処理装置であって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成手段と、
前記第２のサイズとなる複数の分割画像の集合の中心点に関して前記複数の分割画像の集合を回転処理する処理手段と、
前記回転処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力手段とを有し、
前記生成手段が、前記処理手段による回転処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とする。
【００１０】
また、本発明の画像処理装置は、所定の大きさの分割画像に鏡像変換処理を施す画像処理装置であって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成手段と、
前記第２のサイズとなる複数の分割画像の集合の中心軸に関して前記複数の分割画像の集合を鏡像変換処理する処理手段と、
前記鏡像変換処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力手段とを有し、
前記生成手段が、前記処理手段による鏡像変換処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とする。
【００１１】
また、本発明の画像処理方法は、所定の大きさの分割画像に回転処理を施す画像処理方法であって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成工程と、
前記第２のサイズとなる複数の分割画像の集合の中心点に関して前記複数の分割画像の集合を回転処理する処理工程と、
前記回転処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力工程とを有し、
前記生成工程が、前記処理工程における回転処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とする。
【００１２】
また、本発明の画像処理方法は、所定の大きさの分割画像に鏡像変換処理を施す画像処理方法であって、第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成工程と、前記第２のサイズなる複数の分割画像の集合の中心軸に関して前記複数の分割画像の集合を鏡像変換処理する処理工程と、前記鏡像変換処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力工程とを有し、前記生成工程が、前記処理工程における鏡像変換処理の内容に応じて、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とする。
【００１３】
また、本発明のプログラムは、所定の大きさの分割画像に鏡像変換処理を施す画像処理方法であって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成工程と、
前記第２のサイズとなる複数の分割画像の集合の中心軸に関して前記複数の分割画像の集合を鏡像変換処理する処理工程と、
前記鏡像変換処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力工程とを有し、
前記生成工程が、前記処理工程における鏡像変換処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにする。
【００１４】
また、本発明のプログラムは、所定の大きさの分割画像に鏡像変換処理を施す画像処理方法を実行するためのプログラムであって、
第１のサイズの原画像を第１の座標を基準として前記分割画像に分割し、全体で第２のサイズとなる複数の分割画像の集合を生成する生成ステップと、
前記第２のサイズとなる複数の分割画像の集合の中心軸に関して前記複数の分割画像の集合を鏡像変換処理する処理ステップと、
前記鏡像変換処理された前記複数の分割画像の集合に基づき、前記原画像に対応する出力画像を前記第１の座標を基準として出力する出力ステップとを有し、前記生成ステップが、前記処理ステップにおける鏡像変換処理の内容に応じて、前記第１のサイズと前記第２のサイズの差分領域をどの分割画像が含むかを決定し、前記第１のサイズの原画像を所定タイミングで分割画像にすることで、該差分領域を該分割画像の特定位置に付加した分割画像に変換し、前記出力画像に回転処理された原画像全体が含まれるようにすることを特徴とする。
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
【００１６】
〔第１の実施形態〕
本実施形態では、本発明をＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  ｐｅｒｉｐｈｅｒａｌ：マルチファンクション周辺機器）に適用した例で説明する。本実施形態のＭＦＰを含む画像入出力システムの全体構成を、図１を参照しながら説明する。
【００１７】
リーダー部（画像入力装置）200は、原稿画像を光学的に読み取り、画像データに変換する。リーダー部200は、原稿を読み取るための機能を持つスキャナユニット210と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット250とで構成される。
【００１８】
プリンタ部（画像出力装置）300は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部300は、複数種類の記録紙カセットを持つ給紙ユニット310と、画像データを記録紙に転写、定着させる機能を持つマーキングユニット320と、印字された記録紙をソート、ステイプルして機外へ出力する機能を持つ排紙ユニット330とで構成される。
【００１９】
制御装置(コントローラ部)110は、リーダー部200、プリンタ部300と電気的に接続され、さらにネットワーク400を介して、ホストコンピュータ（ＰＣ401，402）と接続されている。制御装置110は、リーダー部200を制御して、原稿の画像データを読み込み、プリンタ部300を制御して画像データを記録用紙に出力してコピー機能を提供する。また、リーダー部200から読み取った画像データを、コードデータに変換し、ネットワーク（LAN）400を介してホストコンピュータ（ＰＣ401，ＰＣ402）へ送信するスキャナ機能、ホストコンピュータからネットワーク400を介して受信したコードデータを画像データに変換し、プリンタ部300に出力するプリンタ機能を提供する。
【００２０】
操作部180は、制御装置110に接続され、液晶タッチパネルで構成され、ＭＦＰ100を操作するためのユーザI/Fを提供する。
【００２１】
図２はリーダー部200及びプリンタ部300の概観図である。リーダー部の原稿給送ユニット250は原稿を先頭順に１枚ずつプラテンガラス211上へ給送し、原稿の読み取り動作終了後、プラテンガラス211上の原稿を排出するものである。原稿がプラテンガラス211上に搬送されると、ランプ212を点灯し、そして光学ユニット213の移動を開始させて、原稿を露光走査する。この時の原稿からの反射光は、ミラー214、215、216及びレンズ217によってCCDイメージセンサ（以下CCDという）218へ導かれる。このように、走査された原稿の画像はCCD218によって読み取られる。
【００２２】
222はリーダー画像処理回路部であり、CCD218から出力される画像データに所定の処理を施し、スキャナI/F（図示せず）を介して制御装置110へと出力するところである。352はプリンタ画像処理回路部であり、プリンタI/F（図示せず）を介して制御装置110から送られる画像信号をレーザドライバへと出力するところである。
【００２３】
プリンタ部300のレーザドライバ317はレーザ発光部313、314、315、316を駆動するものであり、プリンタ画像処理部352から出力された画像データに応じたレーザ光をレーザ発光部313、314、315、316を発光させる。このレーザ光はミラー340、341、342、343、344、345、346、347、348、349、350、351によって感光ドラム325、326、327、328に照射され、感光ドラム325、326、327、328にはレーザ光に応じた潜像が形成される。321、322、323、324は、それぞれイエロー（Ｙ）、マゼンダ（Ｍ）、シアン（Ｃ）、ブラック（Ｂｋ）のトナーによって、潜像を現像するための現像器であり、現像された各色のトナーは、用紙に転写されフルカラーのプリントアウトがなされる。なお、カラーモードでは各４色分の現像器を用いて現像動作を行うが、白黒モードでは、ブラック（Ｂｋ）のトナーのみで現像を行い、他の３色の現像器は現像動作を行わない。
【００２４】
用紙カセット360、361及び手差しトレイ362のいずれかより、レーザ光の照射開始と同期したタイミングで給紙された用紙は、レジストローラ333を経て、転写ベルト334上に吸着され、搬送される。そして、感光ドラム325、326、327、328に付着された現像剤を記録紙に転写する。現像剤の乗った記録紙は定着部335に搬送され、定着部335の熱と圧力により現像剤は記像紙に定着される。定着部335を通過した記録紙は排出ローラ336によって排出され、排紙ユニット370は排出された記録紙を束ねて記録紙の仕分けをしたり、仕分けされた記録紙のステイプルを行う。
【００２５】
また、両面記録が設定されている場合は、排出ローラ336のところまで記録紙を搬送した後、排出ローラ336の回転方向を逆転させ、フラッパ337によって再給紙搬送路338へ導く。再給紙搬送路338へ導かれた記録紙は上述したタイミングで転写ベルト334へ給紙される。
【００２６】
（リーダー画像処理部の説明）
図３はリーダー画像処理部222の詳細な構成を示すブロック図である。このリーダー画像処理部222では、プラテンガラス211上の原稿はCCD218に読み取られて電気信号に変換される（CCD218はカラーセンサの場合、ＲＧＢのカラーフィルタが１ラインCCD上にＲＧＢ順にインラインに乗ったものでも、３ラインCCDで、それぞれＲフィルタ・Ｇフィルタ・ＢフィルタをそれぞれのCCDごとに並べたものでも構わないし、フィルタがオンチップ化又は、フィルタがCCDと別構成になったものでも構わない）。そして、その電気信号（アナログ画像信号）は画像処理部222に入力され、クランプ＆Ａｍｐ．＆Ｓ／Ｈ＆Ａ／Ｄ部223でサンプルホールド（Ｓ／Ｈ）され、アナログ画像信号のダークレベルを基準電位にクランプし、所定量に増幅され（上記処理順番は表記順とは限らない）、Ａ／Ｄ変換されて、例えばＲＧＢ各８ビットのデジタル信号に変換される。そして、ＲＧＢ信号はシェーディング部224で、シェーディング補正及び黒補正が施された後、制御装置110へと出力される。
【００２７】
（制御装置の説明）
制御装置110の機能を、図４に示すブロック図をもとに説明する。メインコントローラ111は、主にCPU112と、バスコントローラ113、各種I/Fコントローラ回路とから構成される。CPU112とバスコントローラ113は制御装置110全体の動作を制御するものであり、CPU112はROM120からROM I/F121を経由して読み込んだプログラムに基いて動作する。また、ホストコンピュータから受信したPDL（ページ記述言語）コードデータを解釈し、ラスターイメージデータに展開する動作も、このプログラムに記述されており、ソフトウェアによって処理される。バスコントローラ113は各I/Fから入出力されるデータ転送を制御するものであり、バス競合時の調停やDMAデータ転送の制御を行う。
【００２８】
DRAM122はDRAM I/F123によってメインコントローラ111と接続されており、CPU112が動作するためのワークエリアや、画像データを蓄積するためのエリアとして使用される。調歩同期シリアル通信コントローラ114はリーダー部200、プリンタ部300の各CPUとシリアルバス172，173を介して制御コマンドを送受信し、操作部180のタッチパネルやキー入力の通信を行う。Network Contorller125はI/F127によってメインコントローラ111と接続され、コネクタ126によって外部ネットワークと接続される。ネットワークとしては一般的にイーサネット（登録商標）があげられる。シリアルコネクタ124はメインコントローラ111と接続されて、外部機器との通信を行う。シリアルバスとしては一般的にUSBがあげられる。FAN128はメインコントローラ111に接続され、コントローラ部110を冷却するのに用いる。温度監視IC142はシリアルバス143によってメインコントローラ111に接続されている。温度監視IC142はFAN128の制御や、リアルタイムクロックモジュール137の温度補正等に用いられる。
【００２９】
汎用高速バス130には、拡張ボードを接続するための拡張コネクタ135とI/O制御部136，HDコントローラ131，Codec133とが接続される。汎用高速バスとしては、一般的にPCIバスがあげられる。Codec133は、DRAM122に蓄積されたラスターイメージデータをMH/MR/MMR/JBIG/JPEG等の方式で圧縮し、また逆に圧縮され蓄積されたコードデータをラスターイメージデータに伸長する。SRAM134はCodec133の一時的なワーク領域として使用される。DRAM122との間のデータの転送は、バスコントローラ113によって制御されDMA転送される。HDコントローラ131は、外部記憶装置を接続するためのものである。本実施形態においては、このI/Fを介してハードディスクドライブ132を接続している。ハードディスク132はプログラムを格納したり、画像データを記憶するのに用いている。
【００３０】
I/O制御部136は、LCDコントローラ140やMODEM（モデム）190とのデータ通信を行い、ポート制御部145や割り込み制御部146が含まれている。パネルI/F141は、LCDコントローラ140に接続され、操作部180（後述）上の液晶画面に表示を行うためのI/Fと、ハードキーやタッチパネルキーの入力を行うためのキー入力I/F171とから構成される。操作部180は液晶表示部と液晶表示部上に張り付けられたタッチパネル入力装置と、複数個のハードキーを有する。タッチパネルまたはハードキーにより入力された信号は前述したパネルI/F171を介してCPU112に伝えられ、液晶表示部はパネルI/F141から送られてきた画像データを表示するものである。液晶表示部には、本画像処理装置の操作における機能表示や画像データ等を表示する。
【００３１】
リアルタイムクロックモジュール137は、機器内で管理する日付と時刻を更新/保存するためのもので、バックアップ電池138によってバックアップされている。SRAM139はバックアップ電池138でバックアップされ、ユーザーモードや各種設定情報や、ハードディスクドライブ132のファイル管理情報等を蓄積している。
【００３２】
Graphic Processor151は、DRAM122に蓄積された画像データに対して、画像回転、画像変倍、色空間変換、二値化、スキャナ画像入力、プリンタ画像出力の処理を行う。DRAM152はGraphic Processor151の一時的なワーク領域として使用される。Graphic Processor151はI/F150を介してメインコントローラ111と接続され、DRAM122との間のデータの転送は、バスコントローラ113によって制御されDMA転送される。コネクタ160と155は、それぞれリーダー部200とプリンタ部300とに接続され、同調歩同期シリアルI/F(173，172)とビデオI/F(163，162)とから構成される。スキャナ画像処理157は、コネクタ160を介してリーダー部200と接続され、また、スキャナバス161によってGraphic Processor151と接続されており、リーダー部200から受け取った画像に対して所定の処理を施す機能を有し、さらに、リーダー部200から送られたビデオ制御信号をもとに生成した制御信号を、スキャナバス161に出力する機能も有する。
【００３３】
FIFO158はスキャナ画像処理157と接続され、リーダー部200から送られてくるビデオ信号のライン補正を行うのに用いられる。プリンタ画像処理153は、コネクタ155を介してプリンタ部300と接続され、また、プリンタバス156によってGraphic Processor151と接続されており、Graphic Processor151から出力された画像データに所定の処理を施して、プリンタ部300へ出力する機能を有し、さらに、プリンタ部300から送られたビデオ制御信号をもとに生成した制御信号を、プリンタバス162に出力する機能も有する。DRAM154はプリンタ画像処理153に接続され、ビデオ信号を一定時間遅延させるのに用いられる。DRAM122上に展開されたラスターイメージデータのプリンタ部への転送は、バスコントローラ113によって制御され、Graphic Processor151、プリンタ画像処理153、コネクタ155を経由して、プリンタ部300へDMA転送される。
【００３４】
MODEM（モデム）190は、I/O制御部136およびNCU（ネットワーク制御回路）191と接続されており、コネクタ192を介してPSTN（公衆回線）に対してFAX送信する信号の変調と、受信した信号の復調を行う。FAXデータの受信プリントを行う場合、PSTNから入力されたデータはNCU191及びMODEM190によって復調され、I/O制御部136を介してメインコントローラ111によってDRAM122に展開される。さらにバスコントローラ113によって制御され、Graphic Processor151、プリンタ画像処理153、コネクタ155を経由して、プリンタ部300へDMA転送される。また、FAXデータのスキャン送信を行う場合、リーダー部200から送られてくるビデオ信号は、コネクタ160、スキャナ画像処理157、Graphic Processor151を経由してメインコントローラに転送される。さらにI/O制御部136からMODEM190，NCU191により変調されたデータがPSTNへ出力される。
【００３５】
（スキャナ画像処理部の説明）
スキャナ画像処理157の詳細な説明を行う。図５はスキャナ画像処理157を担う部分の詳細な構成を示すブロック図を示す。リーダー部200からコネクタ160を介して送られる画像信号に対して、つなぎ＆MTF補正部501で読取速度に応じてライン毎の遅延量を調整し、読取速度によって変化したMTFを補正する。CCD218が３ラインCCDの場合、つなぎ処理は３ラインの読取位置が同じになるように信号タイミングを補正する。FIFO158はライン遅延のバッファとして用いる。読取位置タイミングが補正されたデジタル信号は入力マスキング部502によって、CCD218の分光特性及びランプ212及びミラー214、215、216の分光特性を補正する。入力マスキング部502の出力はACSカウント部503及びGraphic Processor151へと送られる。
【００３６】
ACS（オートカラーセレクト）カウント部の説明を図６を用いて行う。オートカラーセレクト（以下ACS）は、原稿がカラーなのか白黒なのかを判断する。つまり画素ごとの彩度を求めてある閾値以上の画素がどれだけ存在するかでカラー判定を行うものである。しかし、白黒原稿であっても、MTFなどの影響により、ミクロ的に見るとエッジ周辺に色画素が多数存在し、単純に画素単位でACS判定を行うのは難しい。このACS手法は様々な方法が提供されているが、本実施形態ではACSの方法にはこだわらない為、ごく一般的な手法で説明を行う。
【００３７】
前記したように、白黒画像でもミクロ的に見ると色画素が多数存在するわけであるから、その画素が本当に色画素であるかどうかは、注目画素に対して周辺の色画素の情報で判定する必要がある。601はそのためのフィルタであり、注目画素に対して周辺画素を参照する為にFIFOの構造をとる。602はメインコントローラ111からセットされた607〜610のレジスタに設定された値と、リーダー部200から送られたビデオ制御信号612を元に、ACSをかける領域信号605を作成する回路である。603の色判定部は、ACSをかける領域信号605に基づき、注目画素に対して601のフィルタ内のメモリ内の周辺画素を参照し、注目画素が色画素か白黒画素かを決定する為の色判定部である。604は603の色判定部が出力した色判定信号の個数を数えるカウンタである。
【００３８】
メインコントローラ111は読み込み範囲に対してACSをかける領域を決定し、607〜610のレジスタに設定する（本実施形態では、原稿に対して独立で範囲を決める構成をとる）。また、メインコントローラ111はACSをかける領域内での色判定信号の個数を計数するカウンタの値を、所定の閾値と比較し、当該原稿がカラーなのか白黒なのかを判断する。
【００３９】
607〜610のレジスタには、主走査方向、副走査方向それぞれについて、色判定部603が判定を開始する位置、判定を終了する位置を、リーダー部200から送られたビデオ制御信号612に基づいて設定しておく。本実施形態では、実際の原稿の大きさよりもそれぞれ10mm程度小さめに設定している。
【００４０】
なお、ACSを使用して画像信号がカラーまたは白黒かを判定して出力するモードをACSモードとし、常にフルカラー画像信号で出力するモードをカラーモード、常に白黒画像信号で出力するモードを白黒モードとする。
【００４１】
（プリンタ画像処理部の説明）
プリンタ画像処理153を担う部分についての詳細な説明を行う。図７はプリンタ画像処理153の詳細な構成を示すブロック図を示す。Graphic Processor151から、プリンタバス156を介して送られる画像信号は、まずLOG変換部701に入力される。LOG変換部701では、LOG変換でRGB信号からCMYK信号に変換する。次にモアレ除去部702でモアレが除去される。703はUCR＆マスキング部で、モアレ除去処理されたCMY信号はUCR処理でCMYK信号が生成され、マスキング処理部でプリンタの出力にあった信号に補正される。UCR＆マスキング部703で処理された信号はγ補正部704で濃度調整された後フィルタ部705でスムージング又はエッジ処理される。ドラム遅延部706で、感光ドラム321〜324のドラム間の距離を補正する為にDRAM154にCMYK画像毎に一旦画像を蓄積し、ドラム間の距離を補正した画像をコネクタ155を介してプリンタ部300へ出力する。
【００４２】
（Graphic Processorの説明）
Graphic Processor151についての詳細な説明を行う。図８はGraphic Processor151の詳細な構成を示すブロック図である。Graphic Processor151は、画像回転、画像変倍、色空間変換、二値化、スキャナ画像入力、プリンタ画像出力の処理をそれぞれ行うモジュールを有する。DRAM152はDRAMコントローラ808を介して各々のモジュールの一時的なワーク領域として使用される。各々のモジュールが用いるDRAM152のワーク領域が競合しないよう、予め各々のモジュールごとにワーク領域が静的に割り当てを行う。Graphic Processor151はI/F150を介してメインコントローラ111と接続され、DRAM122との間のデータの転送は、バスコントローラ113によって制御されDMA転送される。
【００４３】
バスコントローラ113は、GraphicProcessor151の各々のモジュールにモード等を設定する制御及び、各々のモジュールに画像データを転送するためのタイミング制御を行う。入力インターフェース810はI/F150から入力された画像データをCrossBerSwitch809に入力する。画像データ形式は2値ラスターイメージデータ、多値ラスターイメージデータ、JPEG等を扱い、JPEG画像の場合は入力インターフェース810にてラスターイメージデータに変換してCrossBerSwitch809にデータ出力する。出力インターフェース811はCrossBerSwitch809から入力された画像データをI/F150に出力する。CrossBerSwitch809から入力される画像データ形式はラスターイメージデータであるが、出力インターフェース811でJPEG圧縮を行ってI/F150にデータ出力することも行える。
【００４４】
（画像回転部の説明）
以下に画像回転部801における処理手順を示す。I/F150を介して、CPU112からバスコントローラ113に画像回転制御のための設定を行う。この設定によりバスコントローラ113は画像回転部801に対して画像回転に必要な設定（例えば、画像サイズや回転方向・角度等）を行う。必要な設定を行った後に、再度CPU112からバスコントローラ113に対して画像データ転送の許可を行う。この許可に従い、バスコントローラ113はDRAM122もしくは各I/Fを介して接続されているデバイスから画像データの転送を開始する。なお、ここでは回転を行う画像サイズを32画素×32ラインのタイル画像とし、又、画像バス2008上に画像データを転送させる際に24byte（RGB各々8bitで1画素分）を単位とする画像転送を行うものとする。
【００４５】
上述のように、32画素×32ラインの画像を得るためには、上述の単位データ転送を32×32回行う必要があり、且つ不連続なアドレスから画像データを転送する必要がある。(図９参照)
不連続アドレッシングにより転送された画像データは、読み出し時に所望の角度に回転されているように、SRAMに書き込まれる。例えば、90度反時計方向回転であれば、転送される画像データを、図１０のようにY方向に書き込んでいく。読み出し時にX方向に読み出すことで、画像が回転される。
【００４６】
32画素×32ラインの画像回転(DRAM152への書き込み)が完了した後、画像回転部801はDRAM152から上述した読み出し方法で画像データを読み出し、バスコントローラ113に画像を転送する。
【００４７】
回転処理された画像データを受け取ったバスコントローラ113は、連続アドレッシングを以て、DRAM122もしくはI/F上の各デバイスにデータを転送する。
さらに画像回転を行う際に、各タイル画像のデータパケットのパケットテーブル（後述）を書き換えることにより、次にタイル画像を読み出すときに回転後の順番で各タイルを読み出すことが可能となる。こうした一連の処理は、CPU112からの処理要求が無くなるまで(必要なページ数の処理が終わったとき)繰り返される。
【００４８】
（画像変倍部の説明）
以下に画像変倍部802における処理手順を示す。まず、I/F151を介して、CPU112からバスコントローラ113に画像変倍制御のための設定を行う。この設定によりバスコントローラ113は画像変倍部802に対して画像変倍に必要な設定(主走査方向の変倍率、副走査方向の変倍率、変倍後の画像サイズ等)を行う。必要な設定を行った後に、再度CPU112からバスコントローラ113に対して画像データ転送の許可を行う。この許可に従い、バスコントローラ113はDRAM122もしくは各I/Fを介して接続されているデバイスから画像データの転送を開始する。
【００４９】
画像変倍部802は、受け取った画像データを一時DRAM152に格納し、これを入力バッファとして用いて、格納したデータに対して主走査、副走査の変倍率に応じて必要な画素数、ライン数の分の補間処理を行って画像を拡大もしくは縮小することで、変倍処理とする。変倍後のデータは再度DRAM152へ書き戻し、これを出力バッファとして画像変倍部802はDRAM152から画像データを読み出し、バスコントローラ113に転送する。変倍処理された画像データを受け取ったバスコントローラ113は、DRAM122もしくはI/F上の各デバイスにデータを転送する。
【００５０】
（色空間変換部の説明）
以下に色空間変換部803における処理手順を示す。I/F150を介して、CPU112からバスコントローラ113に色空間変換制御のための設定を行う。この設定によりバスコントローラ113は色空間変換部803およびLUT（ルック・アップ・テーブル）804に対して色空間変換処理に必要な設定（後述のマトリックス演算の係数、LUT804のテーブル値等）を行う。必要な設定を行った後に、再度CPU112からバスコントローラ113に対して画像データ転送の許可を行う。この許可に従い、バスコントローラ113はDRAM122もしくは各I/Fを介して接続されているデバイスから画像データの転送を開始する。
【００５１】
色空間変換部803は、受け取った画像データ1画素ごとに対して、まず下記の式で表される3×3のマトリックス演算を施す。
【００５２】
【外１】
0003970148.tif 000002
【００５３】
上式において、R、G、Bが入力、X、Y、Zが出力、a11、a12、a13、a21、a22、a23、a31、a32、a33、b1、b2、b3、c1、c2、c3がそれぞれ係数である。上式の演算によって、例えばRGB色空間からYUV色空間への変換など、各種の色空間変換を行うことができる。
【００５４】
次に、マトリックス演算後のデータに対して、LUT804による変換を行う。これによって、非線形の変換をも行うことができる。当然、スルーのテーブルを設定することにより、実質的にLUT変換を行わないこともできる。その後、色空間変換部803は色空間変換処理された画像データをバスコントローラ113に転送する。色空間変換処理された画像データを受け取ったバスコントローラ113は、DRAM122もしくはI/F上の各デバイスにデータを転送する。
【００５５】
（画像二値化部の説明）
以下に画像二値化部805における処理手順を示す。I/F150を介して、CPU112からバスコントローラ113に二値化制御のための設定を行う。この設定によりバスコントローラ113は画像二値化部805に対して二値化処理に必要な設定（変換方法に応じた各種パラメータ等）を行う。必要な設定を行った後に、再度CPU112からバスコントローラ113に対して画像データ転送の許可を行う。この許可に従い、バスコントローラ113はDRAM122もしくは各I/Fを介して接続されているデバイスから画像データの転送を開始する。
【００５６】
画像二値化部805は、受け取った画像データに対して二値化処理を施す。本実施例では、二値化の手法としては、画像データを所定の閾値と比較して単純に二値化するものとする。もちろん、ディザ法、誤差拡散法、誤差拡散法を改良したものなど、いずれの手法によっても構わない。
【００５７】
その後、画像二値化部805は二値化処理された画像データをバスコントローラ113に転送する。二値化処理された画像データを受け取ったバスコントローラ113は、DRAM122もしくはI/F上の各デバイスにデータを転送する。
【００５８】
（スキャナ入力部の説明）
以下にスキャナ入力部806における処理手順を示す。I/F150を介して、CPU112からバスコントローラ113にスキャナ入力制御のための設定を行う。この設定によりバスコントローラ113はスキャナ入力部806に対して必要な設定（入力処理に応じた各種パラメータ等）を行う。必要な設定を行った後に、再度CPU112からバスコントローラ113に対して画像データ転送の許可を行う。
【００５９】
その後、スキャナ画像処理157から入力される同期信号に同期して画像データがスキャナ入力部806に入力される。スキャナ入力部806は受け取った画像データを入力バッファとして一旦DRAM152に格納する。その後スキャナ入力部はDRAM152に格納した画像を所定のタイミングで32画素x 32画素のタイル単位の画像データに変換し、32画素単位に満たない余白部分（無効画素）は予め設定された値に固定する。なおタイル画像に変換するタイミングを予め設定しておくことにより、後述する余白部分を画像データの先頭または後端に付加することが可能である。その後、生成されたタイル形式のスキャナ入力画像データをバスコントローラ113に転送する。スキャナ入力画像データを受け取ったバスコントローラ113は、DRAM122もしくはI/F上の各デバイスにデータを転送する。
【００６０】
（プリンタ出力部の説明）
以下にプリンタ出力部807における処理手順を示す。I/F150を介して、CPU112からバスコントローラ113にプリンタ出力制御のための設定を行う。この設定によりバスコントローラ113はプリンタ出力部807に対して必要な設定(出力処理に応じた各種パラメータ等)を行う。必要な設定を行った後に、再度CPU112からバスコントローラ113に対して画像データ転送の許可を行う。
【００６１】
この許可に従い、バスコントローラ113はDRAM122もしくは各I/Fを介して接続されているデバイスから画像データの転送を開始する。プリンタ出力部807は受け取った画像データを一旦DRAM152に格納する。その後プリンタ画像処理153から入力される同期信号に応じてDRAM152に格納した32pixel x 32pixelのタイル単位の画像データをライン単位のラスター画像データに変換し、予め設定された有効画像領域の画像データをプリンタ画像処理部153に出力する。なお、有効画像領域の画像データを出力した時にCPU112に対して転送終了割り込みパケット(Interrupt Packet，後述)を出力する。
【００６２】
（ネットワーク構成）
本実施形態の画像入出力システムに係るネットワーク構成図を図１１に示す。1001はカラーマルチファンクション装置であり、図１のMFP100に対応するものである。カラーマルチファンクション装置1001は、図１で説明したスキャナとプリンタから構成され、スキャナから読み込んだ画像をローカルエリアネットワーク1010（以下LAN，図１LAN400に対応）に流したり、LANから受信した画像をプリンタによりプリントアウトできる。また、スキャナから読んだ画像を図示しないFAX送信手段により、PSTNまたはISDN（1030）に送信したり、PSTNまたはISDNから受信した画像をプリンタによりプリントアウトできる。
【００６３】
1002は、データベースサーバで、マルチファンクション装置1001により読み込んだ2値画像及び多値画像をデータベースとして管理する。1003は、データベースサーバ1002のデータベースクライアントで、データベース1002に保存されている画像データを閲覧/検索等できる。1004は、電子メールサーバで、マルチファンクション装置1001により読み取った画像を電子メールの添付として受け取ることができる。1005は、電子メールのクライアントで、電子メールサーバ1004の受け取ったメールを受信し閲覧したり、電子メールを送信したり、可能である。1006がHTML文書をＬＡＮに提供するWWWサーバで、カラーマルチファンクション装置1001によりWWWサーバで提供されるHTML文書をプリントアウトできる。1007は、ルータでLAN1010をインターネット／イントラネット1012と連結する。インターネット／イントラネットに、前述したデータベースサーバ（1002）、WWWサーバ（1006）、電子メールサーバ（1004）、マルチファンクション装置（1001）と同じ機種の装置が、1023として連結している。一方、マルチファンクション装置1001は、PSTNまたはISDN（1030）を介して、FAX装置1031と送受信可能になっている。また、LAN上にプリンタ1040も連結されており、マルチファンクション装置1001により読み取った画像をプリントアウト可能なように構成されている。
【００６４】
（ソフトウェアブロック全体構成）
図１２は、本実施形態のマルチファンクション装置のソフトウェアブロック図である。1501はUI即ちユーザインターフェイスを司るものであり、オペレータが本マルチファンクション装置の各種操作・設定を行う際、機器との仲介を行うモジュールである。本モジュールは、オペレータの操作に従い、後述の各種モジュールに入力情報を転送し処理の依頼、或いはデータの設定等を行う。
【００６５】
1502はAddress-Book即ちデータの送付先、通信先等を管理するデータベースモジュールである。Address-Bookの内容は、UI1501からの操作によりデータの追加、削除、取得が行われ、オペレータの操作により後述の各モジュールにデータの送付・通信先情報を与えるものとして使用されるものである。
【００６６】
1503はWeb-Serverモジュールであり、図外のWebクライアントからの要求により、本マルチファンクション装置の管理情報を通知するために使用される。管理情報は、後述のControll-API1518を介して読み取られ、後述のHTTP1512、TCP/IP1516、Network−Driver1517を介してWebクライアントに通知される。
【００６７】
1504はUniversal-Send即ち、データの配信を司るモジュールであり、UI1501によりオペレータに指示されたデータを、同様に指示された通信（出力）先に配布するものである。また、オペレータにより、本機器のスキャナ機能を使用し配布データの生成が指示された場合は、後述のControll-API1518を介して機器を動作させ、データの生成を行う。
【００６８】
1505はUniversal-Send1504内で出力先にプリンタが指定された際に実行されるモジュールである。1506はUniversal-Send1504内で通信先にE-mailアドレスが指定された際に実行されるモジュールである。1507はUniversal-Send1504内で出力先にデータベースが指定された際に実行されるモジュールである。1508はUniversal-Send1504内で出力先に本機器と同様のマルチファンクション装置が指定された際に実行されるモジュールである。
【００６９】
1509はRemote-Copy-Scanモジュールであり、本マルチファンクション装置のスキャナ機能を使用し、ネットワーク等で接続された他のマルチファンクション装置を出力先とし、本マルチファンクション装置単体で実現しているCopy機能と同等の処理を行うモジュールである。1510はRemote-Copy-Printモジュールであり、本マルチファンクション装置のプリンタ機能を使用し、ネットワーク等で接続された他のマルチファンクション装置を入力先とし、本マルチファンクション装置単体で実現しているCopy機能と同等の処理を行うモジュールである。1511はWeb-Pull-Print即ちインターネットまたはイントラネット上の各種ホームページの情報を読み出し、印刷するモジュールである。
【００７０】
1512は本マルチファンクション装置がHTTPにより通信する際に使用されるモジュールであり、後述のTCP/IP1516モジュールにより前述のWeb-Server1503、Web-Pull-Print1511モジュールに通信を提供するものである。1513はlprモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal-Send1504内のプリンタモジュール1505に通信を提供するものである。1514はSMTPモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal-Send1504内のE-mailモジュール1506に通信を提供するものである。1515はSLM即ちSalutation-Managerモジュールであり、後述のTCP/IP1516モジュールにより前述のUniversal-Send1504内のデータベースモジュール1517、DPモジュール1518、及びRemote-Copy-Scan1509モジュール、Remote-Copy-Print1510モジュールに通信を提供するものである。
【００７１】
1516はTCP/IP通信モジュールであり、前述の各種モジュールに後述のNetwork-Driverによりネットワーク通信を提供するものである。1517はネットワークドライバであり、ネットワークに物理的に接続される部分を制御するものである。
【００７２】
1518はControll-APIであり、Universal-Send1504等の上流モジュールに対し、後述のJob-Manager1519等の下流モジュールとのインタフェースを提供するものであり、上流、及び下流のモジュール間の依存関係を軽減しそれぞれの流用性を高めるものである。1519はJob-Managerであり、前述の各種モジュールよりControll-API1518を介して指示される処理を解釈し、後述の各モジュールに指示を与えるものである。また、本モジュールは、本マルチファンクション装置内で実行されるハード的な処理を一元管理するものである。
【００７３】
1520はCODEC-Managerであり、Job-Manager1519が指示する処理の中でデータの各種圧縮・伸長を管理・制御するものである。1521はFBE-Encoderであり、Job-Manager1519、Scan-Manager1524により実行されるスキャン処理により読み込まれたデータをFBEフォーマットにより圧縮するものである。1522はJPEG-CODECであり、Job-Manager1519、Scan-Manager1524により実行されるスキャン処理、及びPrint-Manager1526により実行される印刷処理において、読み込まれたデータのJPEG圧縮及び印刷データのJPEG展開処理を行うものである。1523はMMR-CODECであり、Job-Manager1519、Scan-Manager1524により実行されるスキャン処理、及びPrint-Manager1526により実行される印刷処理において、読み込まれたデータのMMR圧縮及び印刷データのMMR伸長処理を行うものである。
【００７４】
1524はScan-Managerであり、Job-Manager1519が指示するスキャン処理を管理・制御するものである。1525はSCSIドライバであり、Scan-Manager1524と本マルチファンクション装置が内部的に接続しているスキャナ部との通信を行うものである。
【００７５】
1526はPrint-Managerであり、Job-Manager1519が指示する印刷処理を管理・制御するものである。1527はEngine-I/Fドライバであり、Print-Manager1526と印刷部とのI/Fを提供するものである。1528はパラレルポートドライバであり、Web-Pull−Print1511がパラレルポートを介して図外の出力機器にデータを出力する際のI/Fを提供するものである。
【００７６】
（アプリケーション）
以下、本発明の組み込みアプリケーションの実施の形態について図面を用いて説明する。図１３は、本実施形態の配信に関する組み込みアプリケーションブロックを表すものである。
【００７７】
4050は、前記3000で説明した本発明の操作部アプリケーションを示すブロックである。4100は、リモートコピーアプリケーションの送信側を示すブロックである。4150は、同報配信の送信側を示すブロックである。4200は、Web Pull Printモジュールを示すブロックである。4250は、Web Serverモジュールを示すブロックである。
【００７８】
4300は、リモートコピーの受信側（プリント側）を示すブロックである。4350は、同報配信で送信されてきたイメージを汎用のプリンタで受信・プリントするブロックである。4400は、リモートプリントの受信側（プリント側）を示すブロックである。4450は、同報配信で送信されてきたイメージを公知のNotes Serverで受信・格納するブロックである。4500は、同報配信で送信されてきたイメージを2値のイメージを受信・格納するブロックである。
4550は、同報配信で送信されてきたイメージを公知のMail Serverで受信・格納するブロックである。4600は、同報配信で送信されてきたイメージを多値のイメージを受信・格納するブロックである。
【００７９】
4650は、情報コンテンツを含んだ、公知のWeb Serverを示す図である。
4700は、本実施形態のマルチファンクション装置のWeb Serverなどにアクセスする公知のWeb Browserを示す図である。
【００８０】
以下、それぞれのブロックに照らし合わせながら、アプリケーション群の説明を詳細に行う。
・User Interface アプリケーション
【００８１】
4050ブロックに示したUser Interface（以下、UI）の詳細は、前記したとおりであるが、ここでは、4051のAddress Bookについて説明する。このAddress Bookは、本実施形態のマルチファンクション装置内の不揮発性の記憶装置（不揮発性メモリやハードディスクなど）に保存されており、この中には、ネットワークに接続された機器の特徴が記載されている。
【００８２】
Address Bookには、例えば、機器の正式名やエイリアス名、機器のネットワークアドレス、機器の処理可能なネットワークプロトコル、機器の処理可能なドキュメントフォーマット、機器の処理可能な圧縮タイプ、機器の処理可能なイメージ解像度、プリンタ機器の場合の給紙可能な紙サイズ、給紙段情報サーバ（コンピュータ）機器の場合のドキュメントを格納可能なフォルダ名、等が含まれている。
【００８３】
以下に説明する各アプリケーションは、上記Address Book4051に記載された情報により配信先の特徴を判別することが可能となる。また、このAddress Bookは、編集可能であると共に、ネットワーク内のサーバーコンピュータなどに保存されているものをダウンロードして使用する、または、直接参照することも可能である。
【００８４】
・リモートコピーアプリケーション
リモートコピーアプリケーションは、配信先に指定された機器の処理可能な解像度情報を前記Address Book4051より判別し、それに従い、スキャナにより読みとった画像2値画像を公知のMMR圧縮を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)化し、SLM4103に通して、ネットワーク上のプリンタ機器に送信する。SLM4103とは、詳細には説明しないが、公知のSalutation Manager（または、Smart Link Manager）と呼ばれる機器制御情報などを含んだネットワークプロトコルの一種である。
【００８５】
・同報配信アプリケーション
同報配信アプリケーションは、前記リモートコピーアプリケーションと違い、一度の画像走査で複数の配信宛先に画像を送信する事が可能である。また、配信先もプリンタ機器にとどまらず、いわゆるサーバーコンピュータにも直接配信可能である。以下、配信先に従って順に説明する。
【００８６】
配信先の機器が公知のネットワークプリンタプロトコルであるLPD(Line Printer Daemon)、プリンタ制御コマンドとして公知のLIPSを処理可能だとAddress Book4051より判別した場合、同様にAddress Book4051より判別した画像解像度に従って画像読み取りを行い、画像自体は、本実施形態では、公知のFBE(First Binari Encoding)を用いて圧縮し、さらにLIPSコード化して、公知のネットワークプリンタプロトコルであるLPRで相手機器に送信する。
配信先の機器が前記SLMで通信可能で、サーバ機器の場合、Address Book4051より、サーバーアドレス、サーバ内のフォルダの指定を判別し、リモートコピーアプリケーションと同様に、スキャナにより読みとった画像2値画像を公知のMMR圧縮を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)化し、SLMを通して、ネットワーク上のサーバ機器の特定のフォルダに格納する事が可能である。
【００８７】
また、本実施形態のマルチファンクション装置では、相手機器であるサーバが公知のJPEG圧縮された多値画像を処理可能だと判別した場合、前記の2値画像と同様に多値読み取りした画像を公知のJPEG圧縮を用いて、やはり公知のJFIF化し、SLMを通して、ネットワーク上のサーバ機器の特定のフォルダに格納する事が可能である。
【００８８】
配信先の機器が公知のE-Mailサーバである場合、Address Book4051に記載されたメールアドレスを判別し、スキャナにより読みとった画像2値画像を公知のMMR圧縮を用いて圧縮し、それを公知のTIFF(Tagged Image File Format)し、公知のSMTP(Simple Mail Transfer Protocol)4153を使用して、E-Mailサーバーに送信する。その後の配信は、Mail Server4550に従って実行される。
【００８９】
（操作部概要）
操作部180の構成を図１４に示す。LCD表示部(3001)は、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報をコントローラCPUに伝える。スタートキー(3002)は原稿画像の読取り動作を開始する時などに用いる。スタートキー中央部には、緑と赤の２色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。ストップキー(3003)は稼働中の動作を止める働きをする。IDキー(3004)は使用者のユーザーIDを入力するときに用いる。リセットキー(3005)は操作部からの設定を初期化するときに用いる。以下で操作部の各画面について詳細に説明する。
【００９０】
・操作画面
LCD表示部3001に表示される操作画面を図１５に示す。本実施形態のマルチファンクション装置が提供する機能は、Copy/Original Copy /Send/ Retrieve/ Tasks/ Management/ Configurationの6つの大きなカテゴリーに分かれており、これらは操作画面(3010)上の上部に表示される6つのメインタブ（COPY/SEND/RETREIVE/TASKS/MGMT/CONFIG）(3011〜3016)に対応している。これらのメインタブを押すことにより、各カテゴリーの画面への切り替えが行われる。他カテゴリーへの切り換えが許可されない場合は、メインタブの表示色が変わり、メインタブを押しても反応しない。
【００９１】
Copyは自機が有するスキャナとプリンタを使用して通常のドキュメント複写を行う機能と、自機が有するスキャナとネットワークで接続されたプリンタを使用してドキュメントの複写を行う機能（リモートコピー）を含む。Sendは自機が有するスキャナに置かれたドキュメントを、電子メール、リモートプリンタ、ファックス、ファイル転送（FTP）およびデータベースに転送する機能であり、宛先を複数指定することが可能である。Retrieveは外部にあるドキュメントを取得し、自機が有するプリンタで印刷する機能である。ドキュメントの取得手段としてWWW、電子メール、ファイル転送およびファックスの使用が可能である。Tasksはファックスやインターネットプリントなどの外部から送られるドキュメントを自動処理し、定期的にRetrieveを行うためのタスクの生成、管理を行う。Managementはジョブ・アドレス帳・ブックマーク・ドキュメント・アカウント情報などの管理を行う。Configurationでは自機に関しての設定（ネットワーク、時計など）を行う。以下、これらの機能設定を行う方法をLCD画面表示の例を使用して説明する。
【００９２】
・ID入力画面
電源投入直後およびIDキー押下時に図１６のID入力画面(3020)が表示される。ID入力画面でユーザIDおよびパスワードを正しく入力し、OKボタンを押すと、前述の操作画面が表示され、操作が可能になる。ID入力領域(3021)とパスワード入力領域(3022)の切り換えは、入力領域を直接押すことで切り替えることができる。
【００９３】
・COPY画面
図１７のCOPY画面表示時にスタートボタンを押すと、スキャナが動作し、選択されているプリンタから画面上に表示されている各設定パラメータに応じた複写物が出力される。
【００９４】
COPYメイン画面(3100)はプリンタ選択ボタン(3103)およびプリンタ表示領域(3102)、 Image Quality選択ボタン(3105)およびImage Quality表示領域(3104)、従来の複写機と同様のコピーパラメータ表示(3101)、拡大縮小設定ボタン(3106,3107)、紙選択ボタン(3108)、ソータ設定ボタン(3110)、両面コピー設定ボタン(3112)、濃度インジケータおよび濃度設定ボタン(3109)、テンキー(3114)から構成される。
【００９５】
プリンタ選択ボタン(3103)を押すと、使用可能なプリンタ（自機が有するプリンタおよびネットワークで接続されたプリンタ）の一覧がプルダウン表示される。一覧の中から所望のプリンタを選択すると、一覧が消え、プリンタ表示領域(3102)に選択したプリンタ名が表示される。
【００９６】
Image Quality設定ボタン(3105)を押すと、Image Quality一覧(3125)が表示され、その中から所望のImage Qualityを選択することができる。
【００９７】
前述のコピーパラメータ設定ボタンを押すと、それぞれに対応した設定を行うためのサブ画面（拡大縮小設定、紙選択、ソータ設定、両面コピー設定）が表示され、従来の複写機での設定と同様にパラメータを設定することができる。また濃度設定も従来の複写機と同様に操作することができる。
【００９８】
・SEND画面
SEND画面表示時にスタートボタンが押されると、スキャナが動作し、読み取った画像データを設定された宛先に指定された送信方法で送信する処理が開始される。
【００９９】
図１８のSENDメイン画面(3200)は、宛先表示領域(3202)、詳細宛先数表示領域(3203)、宛先スクロールボタン(3204)、アドレスブックボタン(3208) 、Newボタン(3209)、Editボタン(3210)、Deleteボタン(3211)、Subject入力領域(3205)、Message入力領域(3206)、File Name入力領域(3207)、Cover pageチェックボタン(3212)、Put Into HDチェックボタン(3213) 、Print Outチェックボタン(3214) 、Scan Settingボタン(3215)から構成される。リセットを含む初期化時には図１９の3201に示すように、宛先表示領域には1つの宛先も表示されず、操作説明画面が表示される。
【０１００】
宛先表示領域(3202)には入力された宛先の一覧が表示される。入力は順次末尾に追加される。詳細宛先数表示領域(3203)には現在設定されている宛先数が表示される。
【０１０１】
宛先表示領域からある宛先を選択した後、Deleteボタン(3211)を押すと、選択されていた宛先が削除される。Subject入力領域(3205)、Message入力領域(3206)、File Name入力領域(3207)を押すと、フルキーボードが表示され、それぞれの入力が可能になる。
【０１０２】
・アドレスブックサブ画面
Address Bookボタン(3208)を押すと、図２０のアドレスブックサブ画面(3220)が表示される。アドレス帳表示領域(3221)で選択マーク(3232)を付けられた宛先は、OKボタン(3231)を押すことにより、SENDメイン画面の宛先表示領域(3202)に追加される。アドレス帳の表示はソート項目設定ボタン(3224〜3226)を押すことによりクラス別、名前昇順、名前降順にソートされる。項目選択件数表示領域(3227)には選択マークの付けられた項目数を表示する。
【０１０３】
OKボタン(3231)またはキャンセルボタン(3230)が押されると、アドレスブックサブ画面はクローズされ、SENDメイン画面が表示される。アドレス帳の中の1つの項目を選択した状態でDetailボタン(3229)を押すと、図２１のDetailサブ画面(3235)が表示される。Detailサブ画面には選択された項目の情報としてアドレス帳から得られるすべての情報が表示される。
【０１０４】
・詳細宛先サブ画面
図１８のSENDメイン画面のNewボタン(3209)を押すと、図２２（Ａ）のPersonクラス詳細サブ画面(3270)が表示され、新しい宛先の設定が可能になる。宛先の入力は送信方法（電子メール、ファックス、プリンタ、FTP）に対応した送信方法選択ボタン(3271〜3274)を押すか、詳細宛先入力領域(3275〜3278)を押すと、ファックスの場合はテンキーボード(3050)、その他はフルキーボード(3040)が表示され、入力可能になる。3279〜3282はそれぞれの送信方法の送信オプションを行うためのボタンであるが、ここでは詳細な説明は省略する。
【０１０５】
SENDメイン画面でPersonクラスの宛先が選択されている状態でEditボタン(3210)が押された場合も、図２２（Ｂ）のPersonクラス詳細サブ画面(3290)が表示される。詳細宛先入力領域(3275〜3278)の該当する領域に、選択された宛先の詳細が表示され、前述した方法でキーボードを表示すると、宛先の編集が可能になる。
【０１０６】
SENDメイン画面でData Baseクラスの宛先が選択されている状態でEditボタン(3210)が押された場合、図２２（Ｃ）のData Baseクラス詳細サブ画面(3310)が表示される。データベースクラス詳細サブ画面にはデータベース名(3311)、フォルダリスト(3312)が表示される。
【０１０７】
SENDメイン画面でGroupクラスの宛先が選択されている状態でEditボタン(3210)が押された場合、図２２（Ｄ）のGroupクラス詳細サブ画面(3320)が表示される。Groupクラス詳細サブ画面にはグループメンバー表示(3321)がされる。
【０１０８】
・HD SETTINGサブ画面
Put Into HDチェックボタン(3213)を押すと、ハードディスクに送信するための設定を行う図２３のHD SETTINGサブ画面(3330)が表示される。詳細説明は省略する。
【０１０９】
・Print Outサブ画面
Print Outチェックボタン(3214)を押すと、図２４のプリントアウトサブ画面(3340)が表示される。プリントアウトサブ画面ではプリント枚数、紙サイズ、拡大縮小率、両面印刷、ソート、解像度などを設定する。紙サイズ選択ボタン(3345)を押すと、紙サイズの一覧(3360)が表示され、そこから選択する。ソータ選択ボタン(3350)を押すと、選択可能なソータ一覧(3365)が表示される。
【０１１０】
・Scan Settingサブ画面
Scan Settingボタン(3215)を押すと、 図２５のScan Settingサブ画面(3370)が表示される。 Scan Settingサブ画面内のPresetモード選択領域(3371)からスキャン設定を1つ選択すると、それに対応する予め設定された解像度、スキャンモード、濃度がそれぞれの表示領域(3377、3379、3381)に表示される。これらの値は手動で変えることが可能である。
【０１１１】
・RETRIEVE画面
図２６のRETRIEVEメイン画面(3400)にはWWW(3401)、E-mail(3402)、Fax(3403)、FTP(3404)のサブタブおよび各サブカテゴリーで共通に使用されるPUT INTO HDチェックボタン(3405)、PRINT SETTINGボタン(3406)が表示される。サブタブを押すことによって対応するWWW、E-mail、Fax、FTPの各サブ画面が表示される。リセットを含む初期化時にはWWWサブ画面が表示される。
【０１１２】
・E-mailサブ画面
図２７のE-mailサブ画面(3430)ではE-mailを受け取るための設定を行う。各入力領域(3431〜3433)を押すとフルキーボード(3040)が表示され、入力可能になる。
【０１１３】
・Faxサブ画面
図２８のFaxサブ画面(3440)ではファックス番号の入力を行う。入力領域(3441)を押すと、テンキーボード(3050)が表示され、ファックス番号入力が可能になる。
【０１１４】
・FTP Serverサブ画面
図２９のFTP Serverサブ画面(3450)ではサーバからデータを受け取るための設定を行う。各入力領域(3451〜3453)を押すとフルキーボード(3040)が表示され、入力可能になる。
【０１１５】
・HD Settingサブ画面
各カテゴリーに共通のPut Into HDチェックボタン(3406)を押すと、 HD Settingサブ画面が表示される。機能はSendのHD Settingサブ画面（図２３）と同様である。
【０１１６】
・TASKS画面
TASKS画面が表示されている状態でスタートキーが押されると、TASKS画面上で設定されたパラメータに従って、自動的なRETRIEVE動作が実行される。図３０のTASKSメイン画面(3500)にはWWW、E-mail、Print Receive、Fax Receive、Fax Pollingのサブタブ(3501〜3505)が表示される。リセットを含む初期化時にはWWWサブ画面(3500)が表示される。
【０１１７】
（タイル画像（パケット）フォーマット）
本実施形態のコントローラ部（110）内では、画像データ、CPU(112)によるコマンド、各ブロックより発行される割り込み情報を、パケット化された形式で転送する。
【０１１８】
本実施形態では、図３１に示すデータパケット、図３２に示すコマンドパケット、図３３に示すインタラプトパケットの3種の異なる種類のパケットが使用される。
・データパケット（図３１）
本実施形態では、画像 Dataを32pixel x 32pixelのTile単位の画像データ(2302)に分割して取り扱う例を示した。このTile単位の画像に、必要なヘッダ情報(2301)及び画像付加情報等(2303)を付加してデータPacketとする。以下にヘッダ情報(2301)に含まれる情報について説明を行なう。
【０１１９】
PacketのTypeはヘッダ情報(2301)内のPcktType(2304)で区別される。PcktType(2304)にはリピートフラグが含まれており、Data Packetの画像Dataが1つ前に送信したData Packetの画像Dataと同一の場合、リピートフラグをセットする。
【０１２０】
ChipID(2305)はパケットを送信するターゲットとなるチップのIDを示す。DataType(2306)ではデータのタイプを示す。PageID(2307)はページを示しており、JobIDはソフトウェアで管理するためのJob ID(2308)を格納する。Tileの番号はY方向のTile座標(2309)とX方向のTile座標(2310)の組み合わせで、YnXnで表される。
【０１２１】
データパケットは画像データが圧縮されている場合と非圧縮の場合がある。本実施形態では、圧縮アルゴリズムとして、多値カラー（多値グレースケールを含む）の場合はJPEGを2値の場合はパックビッツを採用した例を示した。
圧縮されている場合と非圧縮の場合との区別はCompressFlag(2317)で示される。
【０１２２】
Process Instruction(2311)は左詰で処理順に設定し、各処理Unitは、処理後Process Instructionを左に8BitShiftする。Process Instruction(2311)はUnitID(2319)とMode(2320)の組が8組格納されている。UnitID(2319)は各処理Unitを指定し、Mode(2320)は各処理Unitでの動作Modeを指定する。これにより、1つのパケットは8つのUnitで連続して処理することができる。
PacketByteLength(2312)はパケットのトータルバイト数を示す。
【０１２３】
ImageDataByteLengh(2315)は画像データのバイト数、ZDataByteLength(2316)は画像付加情報のバイト数を表し、ImageDataOffset(2313)、ZDataOffset(2314)はそれぞれのデータのパケットの先頭からのOffsetを表している。
【０１２４】
・Command Packet Format(図３２)
本Packet FormatはGraphicProcessor(151)へアクセスし、コマンド設定等を行うためのものである。本パケットを用いることにより、CPU(112)よりGraphicProcessor(151)内の画像メモリ(DRAM)(152)へのアクセスも可能である。
【０１２５】
ChipID(2404)にはコマンドパケットの送信先となるGraphicProcessor(151)を表すIDが格納される。PageID(2407)、JobID(2408)はソフトウェアで管理するためのPage IDとJob IDを格納する。Packet ID(2409)は1次元で表される。Data PacketのX-coordinateのみを使用する。
パケットバイトレングス(2410)は128Byte固定である。
【０１２６】
パケットデータ部(2402)には、アドレス(2411)とデータ(2412)の組を１つのコマンドとして、最大12個のコマンドを格納することが可能である。ライトかリードかのコマンドのタイプはCmdType(2405)で示され、コマンドの数はCmdnum(2406)で示される。
【０１２７】
・Interrupt Packet Format(図３３)
本PacketFormatはGraphicProcessor(151)からCPU(112)への割り込みを通知するためのものである。バスコントローラ(113)はInterrupt Packetを送信すると、次に送信の許可がされるまではInterrupt Packetを送信してはならない。
【０１２８】
パケットバイトレングス(2506)は128Byte固定である。パケットデータ部(2502)には、GraphicProcessor(151)の各内部モジュールのステータス情報(2507)が格納されている。バスコントローラ(113)はGraphicProcessor(151)内の各モジュールのステータス情報を集め、一括してメインコントローラ(111)に送ることができる。ChipID(2504)にはInterrupt Packetの送信先となるメインコントローラ(111)を表すIDが、また、IntChipID(2505)にはInterrupt Packetの送信元となるGraphicProcessor(151)を表すIDが格納される。
【０１２９】
・Packet Table（図３４）
各PacketはPacket Table(2601)によって管理する。Packet Table(2601)の構成要素は、
Packet Address Pointer (27bit) + 5b00000 = Packet先頭Address
Packet  Length (11bit) + 5b00000 = PacketのByte Length
の関係を満たし、それぞれTableの値に0を5bit付加すると、Packetの先頭Address(2602)、PacketのByte Length(2605)となる。ここで、Packet Table(2601)とChain Table(2610)は分割されないものとする。
【０１３０】
Packet Table(2601)は常に走査方向に並んでおり、Yn/Xn＝000/000, 000/001,000/002,....という順で並んでいる。このPacket Table(2601)のEntryは一意にひとつのTileを示す。また、Yn/Xmaxの次のEntryはYn+1/X0となる。
【０１３１】
Packetがひとつ前のPacketとまったく同じ Dataである場合は、そのPacketはMemory上には書かず、Packet TableのEntryに１つめのEntryと同じPacket Address Pointer、Packet Lengthを格納する。１つのPacket  Dataを２つのTable Entryが指すようなかたちになる。この場合、２つめのTable EntryのRepeat Flag(2603)がSetされる。
【０１３２】
PacketがChain DMAにより複数に分断された場合は、Divide Flag(2604)をSetし、そのPacketの先頭部分が入っているChain BlockのChain Table番号(2606)をSetする。Chain Table(2610)のEntryはChain Block Address(2611)とChain Block Length(2612)からなっており、Tableの最後のEntryにはAddress、Lengthともに０を格納しておく。
【０１３３】
（タイル画像による回転処理）
図３５に本発明に係る回転処理の例を示す。本実施形態では、図９及び図１０に示したようにタイル単位で画像の回転処理が行われる。
【０１３４】
図３５（Ａ）は、スキャナで読み取られる原稿画像を示す図である。読み取られた画像データは、３２画素×３２画素の画像データを１つのタイルとして、複数のタイルに分割される。図３５（Ｂ）に５×４のタイルに分割された画像データの例を示す。
【０１３５】
ここで、読み取られた画像の左上端部の座標を０とし、横（主走査）方向にX軸、縦（副走査）方向にY軸をとっている。また、３２画素×３２画素でタイルを生成するので、タイルの全体集合としては、原稿画像サイズよりも大きなサイズの画像が生成される。したがって、右側と下側の斜線の部分に示すように、端部のタイルには原稿画像とタイル画像の全体集合との差分となる部分、すなわち余白部分が生じる。この余白部分は、特定の値（例えば白に相当するデータ）に固定される。
【０１３６】
このときの各タイル画像のパケットフォーマットのパケットテーブルを図３５（Ｂ１）に示す。例えばテーブル番号(02)は主走査X=2で副走査Y=0のタイル位置のであることを示す。この画像データをプリント出力する場合、これらの２０個のタイルごとに必要な画像処理を行った後で、パケットテーブルの順番に出力することにより、再び図３５（Ａ）のような画像を出力する。
【０１３７】
図３５（Ｃ）は、図３５（Ｂ）の画像を、全タイル領域に関して中心点を基準に１８０度回転した画像を示す。この場合、余白部分は左側と上側に移動することになり、一方、変倍等を行わなければ、画像の有効領域は、読み取り画像と同じ領域である。
【０１３８】
したがって、このまま、図３５（Ｂ）と同様に左上の端から有効領域として出力すると図３５（Ｄ）のように有効なデータがずれて出力されないことになる。
【０１３９】
また、このままの画像を有効データをずらして出力しようとすると、ページの最初に最大31ライン分の無効データ（余白画像）が入ることになり、無効データを出力しないようにしておくために時間がかかってしまう。
【０１４０】
そこで本実施形態では、入力された画像データを１８０度回転してプリント出力する場合、図３５（Ｅ）のように予め余白になる部分を上側と左側につけてからタイル画像サイズ全体での回転処理を行うような構成にしておく。
【０１４１】
この場合１８０度回転することにより、図３５（Ｆ）のように余白部分が左側と下側にくることになる。そのため図３５（Ｂ）と同様に、右上のタイル画像から順にプリント出力することができる。これにより、図３５（Ｇ）ように図３５（Ａ）の画像を１８０度回転した画像を出力することが可能となる。
【０１４２】
なお、１８０度回転する場合のパケットテーブルは、図３５（Ｅ１）のようになっており、パケットテーブルの(00)である左下から順に画像回転部８０１へ出力することにより１８０度回転を実現することが可能となる。
【０１４３】
（コピー画像出力時のシーケンス）
図３６は、本実施形態におけるコピー画像出力の手順を示すフローチャートである。なお、図中のS101〜S113は各ステップを示す。
【０１４４】
コピー画像を出力する場合、S101では、操作部180上でユーザーが当該コピー画像出力ジョブのコピー設定を行う。コピー設定内容は、部数、用紙サイズ、片面/両面、拡大/縮小率、ソート出力、ステイプル止めの有無等である。ここでは用紙サイズA4で両面上下開き出力が設定されているものとする。
【０１４５】
S102では、操作部180上でコピー開始指示を与えると、制御装置110のメインコントローラ111はコネクタを介してリーダー部200を制御し、原稿の画像データの読み込み動作を行う。まず、原稿給送ユニット250は、載置された原稿を１枚ずつプラテンガラス211上へ給送し、その際同時に原稿のサイズを検知する。検知された原稿のサイズに基づいて原稿を露光走査することにより、画像データを読み取るわけである。A4サイズで読み取られた画像データはGraphic Processor151のスキャナ入力部806に入力され、32画素×32画素のタイル画像に変換される。このとき、読み込まれた画像データが奇数ページ目のときは、S103において図３５（Ｂ）の例のようにタイル画像の余白部分を画像の後ろ（右側及び下側）に付加する。また、読み込まれた画像データが偶数ページ目のときは、S104において図１１（Ｅ）の例のようにタイル画像の余白部分を画像の前側（左側及び上側）に付加する。
【０１４６】
S105では、Graphic Processor151で指定された画像形式で圧縮をしてDRAM122上に記憶される。従来のコピー機では、前記コピー設定の拡大/縮小率の設定に応じて、すなわち副走査方向の変倍率に応じて光学ユニット213の移動速度を変化させることにより副走査方向の変倍処理を実現していた。しかしながら、本実施形態では、前記コピー設定の拡大/縮小率の設定にかかわらず、必ず等倍（100%）で画像データを読み取り、変倍処理については、主走査方向、副走査方向ともに、必要に応じてGraphic Processor151によって行うものとする。
【０１４７】
S106では、メインコントローラ111がDRAM122上の画像データを、Graphic Processor151に転送する。
【０１４８】
S107において画像データが偶数ページのときは、S108においてGraphic Processor151の画像回転部801により180度の画像回転を行う。このとき各タイル画像内部での回転変換と、各タイル画像のパケットフォーマットであるパケットテーブルを書き換えることによるプリント時のタイル画像の転送順番を変更することにより、画像回転を実現することが可能である。また、回転画像データが奇数ページのときは、画像回転を行わずにS109へ進む。S109ではGraphic Processor151が、前記コピー設定パラメータに基づいて必要な画像処理を行う。画像データの画像処理が完了するとS110へ進む。
【０１４９】
S110では、Graphic Processor151がメインコントローラ111へ画像処理後の画像データを指定された画像形式で圧縮を行って転送する。メインコントローラ111は転送されてきた画像データをDRAM122上に記憶する。
【０１５０】
S111では、メインコントローラ111はDRAM122上に記憶された画像データを指定されたファイル形式でファイル化し、ファイル化された画像データをHDコントローラ131を経由してHDドライブ132に転送することで読み込んだ画像データをHDドライブ132に格納する。
【０１５１】
これらの動作はDFユニット250に原稿が存在する限り繰り返し行われる。
S112では、画像データをプリンタ部300へと転送する。この時画像回転を行っていない場合は、予め書き込まれたタイル画像の順番どおりに転送する。また、画像回転を行った場合は、書き込まれたタイル画像とは異なる順番に転送することになる。なおこの時、プリントを行う画像データファイルがDRAM122上に存在しない場合はHDドライブ132から画像ファイルを読み込み、DRAM122に格納する。メインコントローラ111はGraphic Processor151，プリンタ画像処理153およびコネクタ155を介して、プリンタ部300を制御しつつ、適切なタイミングでDRAM122上の画像データを、プリンタ部300へと転送する。
【０１５２】
S113では、制御装置110が、プリンタ部300を制御して画像データをプリント出力する。
【０１５３】
全ての画像データの転送が完了すると、すなわち当該コピージョブが終了すると、プリント出力を終了する。
【０１５４】
（PDL画像出力時のシーケンス）
図３７は、本実施形態におけるPDL画像出力の手順を示すフローチャートである。なお、図中のS201〜S208は各ステップを示す。
【０１５５】
PDL画像を出力する場合、S201では、PC401上でユーザーが当該PDL画像出力ジョブのプリント設定を行う。プリント設定内容は、部数、用紙サイズ、片面/両面、ページ出力順序、ソート出力、ステイプル止めの有無等である。ここでは用紙サイズA4で両面上下開き出力が設定されているものとする。
【０１５６】
S202では、PC401上で印刷指示を与え、それと共にPC401上にインストールされているドライバソフトウェアが、印刷対象となるPC401上のコードデータをいわゆるPDLデータに変換して、S201で設定したプリント設定パラメータとともに、本マルチファンクション装置の制御装置110に、ネットワーク400を介してPDLデータを転送する。
【０１５７】
S203では、制御装置110のメインコントローラ111のCPU112が、コネクタ126およびNetworkController125を介して転送されたPDLデータを前記プリント設定パラメータに基づいて、画像データに展開（ラスタライズ）する。画像データの展開は、DRAM122上に行われる。さらに32画素×32画素のタイル画像に変換される。このとき、展開された画像データが奇数ページ目のときは、図３５（Ｂ）の例のようにタイル画像の余白部分を画像の後ろ（右側及び下側）に付加する。また、展開された画像データが偶数ページ目のときは、図３５（Ｅ）の例のようにタイル画像の余白部分を画像の前側（左側及び上側）に付加する。画像データの変換が完了するとS204へ進む。
【０１５８】
S204では、メインコントローラ111がDRAM122上に展開された画像データを、Graphic Processor151に転送する。
【０１５９】
S205では、画像データが偶数ページのときは、Graphic Processor151の画像回転部801により180度の画像回転を行い、画像データが奇数ページのときは、画像回転を行わない。さらにGraphic Processor151において必要な画像処理を行った後、S206へ進む。
【０１６０】
S206では、Graphic Processor151がメインコントローラ111へ画像処理後の画像データを転送する。メインコントローラ111は転送されてきた画像データをDRAM122上に記憶する。
【０１６１】
S207では、メインコントローラ111はGraphic Processor151、プリンタ画像処理153およびコネクタ155を介して、プリンタ部300を制御しつつ、適切なタイミングでDRAM122上の画像データを、プリンタ部300へと転送する。
【０１６２】
S208では、制御装置110が、プリンタ部300を制御して画像データをプリント出力する。画像データの転送が完了すると、すなわち当該PDLジョブが終了すると、プリント出力を終了する。
【０１６３】
以上説明してきたように、本実施形態では、１８０度の回転処理に先立ち、第１のサイズと第２のサイズの差分領域が左側かつ上側になるようにした。これにより、出力画像に回転処理された原画像全体が含まれるようになり、原稿画像の欠落等がない高画質な回転出力画像を得ることができる。
【０１６４】
また、タイル画像全体の領域の右側と下側に原稿画像をつけることにより、回転処理後の画像を出力するときに、無効ラインを出力する必要がなくなり、全体での画像出力速度が向上する。
【０１６５】
本実施形態では、１８０度回転の場合で説明したが、これに限ることなく、９０度、２７０度回転の場合でも、本発明を適用することができる。例えば、図３５（Ｂ）を時計回り方向に９０度回転する場合は、前もって無効領域を上側と右側に付加しておけばよい。同様に、２７０度回転の場合は、無効領域を左側と下側に付加しておけばよい。
【０１６６】
〔第２の実施形態〕
前記実施形態では、出力画像データが用紙の両面へプリントする場合の例を挙げたが、入力された画像データを回転する場合において他の実施形態も考えられる。
【０１６７】
例えば、リーダ部200の原稿給送ユニット250に置かれた複数の原稿を高速で読み取る場合以下のように動作を行う。光学ユニット213を移動させることにより読み取るのではなく、光学ユニット213を固定したまま原稿給送ユニット250に置かれた原稿を順番にプラテンガラス211に搬送しながら読み取ることになる。
【０１６８】
このため、光学ユニット213の移動位置を読み取り開始位置に移動するバックスキャンが必要なくなるため、高速に読み取ることが可能となる。ただし、原稿給送ユニット250による原稿の搬送方向が光学ユニットを移動させる方式と同じ方向の場合、読み取られた画像データは、図３８（Ａ）のように上下に反転したような画像データとなる。そこで、Graphic Processor151のスキャナ入部806に入力され、32画素×32画素のタイル画像に変換されるときに、図３８（Ｂ）のように、タイル画像の余白部分を上側と右側に付加する。
【０１６９】
さらに、画像回転部801により、図３８（Ｂ）の中心軸に関して上下の鏡像になるように変換することにより、図３５（Ｂ）と同様な画像データが得られるため、後は前記実施形態と同等な処理によりプリント出力することが可能である。
【０１７０】
なお、本実施形態において両面プリント出力を行う場合においても、画像回転処理や鏡像変換処理を組み合わせることにより実現することが可能である。
【０１７１】
以上説明したように、鏡像変換処理の際においても、第１の実施形態と同様に、変換後の画像を考慮して無効画像領域を付加することにより、画像の欠落のない高画質な出力画像を得ることができる。
【０１７２】
本実施形態では、横方向の中心軸の場合で説明したが、これに限ることなく、縦方向の中心軸の場合でも、本発明を適用することができる。例えば、縦方向の中心軸に関して変換する場合は、前もって無効領域を左側と下側に付加しておけばよい。
【０１７３】
〔他の実施形態〕
上記実施形態では、コピー動作やPDLプリント動作の例を挙げたが、FAX受信やネットワーク送信等の異なる動作モードにおいても同様の処理を行うことが可能である。すなわち、原画像の入力源は、スキャナ、記憶装置、通信媒体のいずれでもよく、本発明の処理を行った後の出力画像の出力先も、プリンタ、記憶装置、通信媒体のいずれでもよい。
【０１７４】
なお、本発明は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１７５】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１７６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（Ｒ）ディスク、ハードディスク、光磁気ディスク、光ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１７７】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
【０１７８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
【０１７９】
本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体からそのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【０１８０】
【発明の効果】
以上説明してきたように、本発明によれば、第１のサイズの原画像から第１の座標を基準として生成された第２のサイズの分割画像の集合を回転処理し、第１の座標を基準として出力する際に、回転処理に先立ち、施すべき回転処理の内容に応じて、第１のサイズと第２のサイズの差分領域をどの分割画像が含むかを決定しておくことで、出力画像に回転処理された原画像全体が含まれるようにすることにより、分割画像の処理に起因する原画像の欠落等がない高画質な回転出力画像を得ることができるという効果がある。
【０１８１】
また、本発明によれば、第１のサイズの原画像から第１の座標を基準として生成された第２のサイズの分割画像の集合を鏡像変換処理し、第１の座標を基準として出力する際に、鏡像変換処理に先立ち、施すべき鏡像変換処理の内容に応じて、第１のサイズと第２のサイズの差分領域をどの分割画像が含むかを決定しておくことで、出力画像に鏡像変換処理された原画像全体が含まれるようにすることにより、分割画像の処理に起因する原画像の欠落等がない高画質な鏡像変換出力画像を得ることができるという効果がある。
【図面の簡単な説明】
【図１】第１の実施形態のＭＦＰを含む画像入出力システムの全体構成を示す図である。
【図２】リーダー部200及びプリンタ部300の概観図である。
【図３】リーダー画像処理部222の詳細な構成を示すブロック図である。
【図４】制御装置110の機能を説明するためのブロック図である。
【図５】スキャナ画像処理157を担う部分の詳細な構成を示すブロック図である。
【図６】プリンタ画像処理153の詳細な構成を示すブロック図である。
【図７】プリンタ画像処理153の詳細な構成を示すブロック図である。
【図８】  Graphic Processor151の詳細な構成を示すブロック図である。
【図９】回転処理におけるデータ転送を説明するための図である。
【図１０】回転処理におけるデータ書き込みを説明するための図である。
【図１１】第１の実施形態の画像入出力システムに係るネットワーク構成図である。
【図１２】第１の実施形態のマルチファンクション装置のソフトウェアブロック図である。
【図１３】本実施形態の配信に関する組み込みアプリケーションブロックを表す図である。
【図１４】操作部180の構成を示す図である。
【図１５】  LCD表示部3001に表示される操作画面を示す図である。
【図１６】電源投入直後およびIDキー押下時に表示されるID入力画面(3020)である。
【図１７】  COPY画面を説明するための図である。
【図１８】  SENDメイン画面を説明するための図である。
【図１９】  SEND初期画面を説明するための図である。
【図２０】アドレスブックサブ画面を説明するための図である。
【図２１】  Detailサブ画面を説明するための図である。
【図２２】詳細宛先サブ画面を説明するための図である。
【図２３】  HD SETTINGサブ画面を説明するための図である。
【図２４】プリントアウトサブ画面を説明するための図である。
【図２５】  Scan Settingサブ画面を説明するための図である。
【図２６】  RETRIEVEメイン画面を説明するための図である。
【図２７】  E-mailサブ画面を説明するための図である。
【図２８】  Faxサブ画面を説明するための図である。
【図２９】  FTP Serverサブ画面を説明するための図である。
【図３０】  TASKSメイン画面を説明するための図である。
【図３１】本実施形態のデータパケットのフォーマットを説明するための図である。
【図３２】本実施形態のコマンドパケットを説明するための図である。
【図３３】本実施形態のインタラプトパケットを説明するための図である。
【図３４】本実施形態のパケットテーブルを説明するための図である。
【図３５】本発明に係る回転処理を説明するための図である。
【図３６】本実施形態におけるコピー画像出力の手順を示すフローチャートである。
【図３７】本実施形態におけるPDL画像出力の手順を示すフローチャートである。
【図３８】本発明に係る鏡像変換処理を説明するための図である。
【符号の説明】
１００  MFP
１１１  メインコントローラ
１１２  CPU
１１３  バスコントローラ
１２０  ROM
１２２  DRAM
１５１  Graphic Processor
２００  リーダ部
３００  プリンタ部
８０１  画像回転部
【図１】
0003970148.tif 000003
【図２】
0003970148.tif 000004
【図３】
0003970148.tif 000005
【図４】
0003970148.tif 000006
【図５】
0003970148.tif 000007
【図６】
0003970148.tif 000008
【図７】
0003970148.tif 000009
【図８】
0003970148.tif 000010
【図９】
0003970148.tif 000011
【図１０】
0003970148.tif 000012
【図１１】
0003970148.tif 000013
【図１２】
0003970148.tif 000014
【図１３】
0003970148.tif 000015
【図１４】
0003970148.tif 000016
【図１５】
0003970148.tif 000017
【図１６】
0003970148.tif 000018
【図１７】
0003970148.tif 000019
【図１８】
0003970148.tif 000020
【図１９】
0003970148.tif 000021
【図２０】
0003970148.tif 000022
【図２１】
0003970148.tif 000023
【図２２】
0003970148.tif 000024
【図２３】
0003970148.tif 000025
【図２４】
0003970148.tif 000026
【図２５】
0003970148.tif 000027
【図２６】
0003970148.tif 000028
【図２７】
0003970148.tif 000029
【図２８】
0003970148.tif 000030
【図２９】
0003970148.tif 000031
【図３０】
0003970148.tif 000032
【図３１】
0003970148.tif 000033
【図３２】
0003970148.tif 000034
【図３３】
0003970148.tif 000035
【図３４】
0003970148.tif 000036
【図３５】
0003970148.tif 000037
【図３６】
0003970148.tif 000038
【図３７】
0003970148.tif 000039
【図３８】
0003970148.tif 000040