(57)【特許請求の範囲】
【請求項１】
スキャナ部を有する画像処理装置であって、
前記スキャナ部によってスキャンされたスキャンデータを記憶手段に記憶して管理するスキャンデータ管理手段と、
前記スキャナ部によるスキャン動作を制御し、前記スキャナ部によるスキャン動作が終了した後、前記スキャンデータの配信先に準備完了を通知するスキャナ制御手段と、
前記スキャンデータ管理手段により前記記憶手段から読み出された前記スキャンデータを内部バッファ手段に記憶し、前記配信先からのスキャンデータ要求に応じて前記内部バッファ手段に記憶されている前記スキャンデータを前記配信先用のバッファ手段に書き込み、前記配信先用のバッファ手段から前記スキャンデータを前記配信先に配信する待ち合わせ処理手段と
を有し、
前記待ち合わせ処理手段は、前記スキャンデータを前記内部バッファ手段に記憶するときのデータサイズと、前記配信先用のバッファ手段から前記スキャンデータを前記配信先に配信するときのデータサイズとの違いを調整すること
を特徴とする画像処理装置。
【請求項２】
前記待ち合わせ処理手段は、前記スキャンデータ管理手段により前記記憶手段から読み出された前記スキャンデータを前記内部バッファ手段に記憶する処理と、前記配信先からのスキャンデータ要求に応じて前記内部バッファ手段に記憶されている前記スキャンデータを前記配信先用のバッファ手段に書き込み、前記配信先用のバッファ手段から前記スキャンデータを前記配信先に配信する処理とを非同期に行うこと
を特徴とする請求項１記載の画像処理装置。
【請求項３】
前記待ち合わせ処理手段は、前記スキャンデータをジョブ識別子で管理することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記待ち合わせ処理手段は、前記配信先に配信する前記スキャンデータを前記配信先からのスキャンデータ要求に含まれる画像編集要求に応じて加工することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記待ち合わせ処理手段は、前記配信先に配信する前記スキャンデータを前記配信先からのスキャンデータ要求に含まれるスキャン条件に応じて加工することを特徴とする請求項１記載の画像処理装置。
【請求項６】
スキャナ部を有する画像処理装置のスキャンデータ配信方法であって、
スキャナ制御手段が前記スキャナ部によるスキャン動作を制御するステップと、
スキャンデータ管理手段が前記スキャナ部によってスキャンされたスキャンデータを記憶手段に記憶して管理するステップと、
前記スキャナ制御手段が前記スキャナ部によるスキャン動作を制御し終えた後、前記スキャンデータの配信先に準備完了を通知するステップと、
待ち合わせ処理手段が前記スキャンデータ管理手段により前記記憶手段から読み出された前記スキャンデータを内部バッファ手段に記憶するステップと、
前記待ち合わせ処理手段が前記配信先からのスキャンデータ要求に応じて前記内部バッファ手段に記憶されている前記スキャンデータを前記配信先用のバッファ手段に書き込むステップと、
前記待ち合わせ処理手段が前記配信先用のバッファ手段から前記スキャンデータを前記配信先に配信するステップと
を有し、
前記待ち合わせ処理手段は、前記スキャンデータを前記内部バッファ手段に記憶するときのデータサイズと、前記配信先用のバッファ手段から前記スキャンデータを前記配信先に配信するときのデータサイズとの違いを調整すること
を特徴とするスキャンデータ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びスキャンデータ配信方法に係り、特にスキャンデータを配信先に配信する画像処理装置及びスキャンデータ配信方法に関する。
【背景技術】
【０００２】
近年、画像処理装置の一例としての複合機（ＭＦＰ）やスキャナ等は、ＰＣ（パーソナルコンピュータ）等の外部機器とＬＡＮ等のネットワーク経由で受け付けた指示や要求等に応じて、搭載する機能により処理を行っている。例えば特許文献１には、ネットワーク経由で接続されるＰＣからの指示や要求等に応じて文書を配信する画像処理装置が記載されている。
【０００３】
ここでは一例として、原稿からスキャンされたスキャンデータをネットワーク経由で配信先のＰＣに配信するスキャナ（ネットワークスキャナ）について説明する。スキャナが原稿からスキャンデータをスキャンし、そのスキャンデータをネットワーク経由で配信先のＰＣに配信する従来のシステムとしては、ＰＣ主導によるスキャン（Ｐｕｌｌ型）とスキャナ主導によるスキャン（Ｐｕｓｈ型）とがある。従来のシステムは、Ｐｕｌｌ型又はＰｕｓｈ型の処理に特化した作りとなっていた。
【０００４】
図１はＰＣ主導によるスキャン（Ｐｕｌｌ型）のシステムを表した模式図である。ＰＣ主導によるスキャン（Ｐｕｌｌ型）のシステムには、例えばＴｗａｉｎ（Tool Without An Interesting Name）を利用したものがある。まず、スキャナ１は所定位置に原稿がセットされる。ＰＣ２は操作者からの操作に基づき、スキャン条件の指定及びスキャン指示をスキャナ１に対して行う。
【０００５】
スキャナ１は、ＰＣ２からのスキャン条件の指定及びスキャン指示に基づき、所定位置にセットされた原稿をスキャンし、原稿のスキャンデータを取得する。ＰＣ２は操作者からの操作に基づき、スキャンデータ要求をスキャナ１に対して行う。スキャナ１はＰＣ２からのスキャンデータ要求に基づき、原稿のスキャンデータをＰＣ２に配信する。
【０００６】
また、図２はスキャナ主導によるスキャン（Ｐｕｓｈ型）のシステムを表した模式図である。スキャナ主導によるスキャン（Ｐｕｓｈ型）のシステムには、例えばＳｃａｎＴｏＰＣを利用したものがある。ＳｃａｎＴｏＰＣとは操作者がスキャナ１を操作し、原稿からスキャンしたスキャンデータをスキャナ１からＰＣ２に配信するものである。
【０００７】
まず、スキャナ１は所定位置に原稿がセットされる。スキャナ１は操作者からの操作に基づき、スキャン条件及び配信先が設定される。スキャナ１は操作者からのスキャン開始の指示に基づき、所定位置にセットされた原稿をスキャンし、原稿のスキャンデータを取得する。スキャナ１は原稿のスキャンデータをＰＣ２に配信する。
【特許文献１】特開２００４−２９７７８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、従来のシステムはＰｕｌｌ型又はＰｕｓｈ型の処理に特化した作りとなっていたため、融通が利かないという問題があった。例えば従来はＰｕｓｈ型のスキャナ１とＰｕｌｌ型のＰＣ２とでスキャンのシステムを作ることができなかった。特に従来はＰｕｌｌ型のスキャンに特化したＰＣ２に対し、Ｐｕｓｈ型のスキャンに特化したスキャナ１で対応したいという要望があった。
【０００９】
本発明は、上記の点に鑑みなされたもので、Ｐｕｌｌ型のスキャンに特化した配信先に対して、Ｐｕｓｈ型のスキャンに特化した操作にて対応可能な画像処理装置及びスキャンデータ配信方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明は、スキャナ部を有する画像処理装置であって、前記スキャナ部によってスキャンされたスキャンデータを記憶手段に記憶して管理するスキャンデータ管理手段と、前記スキャナ部によるスキャン動作を制御し、前記スキャナ部によるスキャン動作が終了した後、前記スキャンデータの配信先に準備完了を通知するスキャナ制御手段と、前記スキャンデータ管理手段により前記記憶手段から読み出された前記スキャンデータを内部バッファ手段に記憶し、前記配信先からのスキャンデータ要求に応じて前記内部バッファ手段に記憶されている前記スキャンデータを前記配信先用のバッファ手段に書き込み、前記配信先用のバッファ手段から前記スキャンデータを前記配信先に配信する待ち合わせ処理手段とを有し、前記待ち合わせ処理手段は、前記スキャンデータを前記内部バッファ手段に記憶するときのデータサイズと、前記配信先用のバッファ手段から前記スキャンデータを前記配信先に配信するときのデータサイズとの違いを調整することを特徴とする。
【００１２】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、Ｐｕｌｌ型のスキャンに特化した配信先に対して、Ｐｕｓｈ型のスキャンに特化した操作にて対応可能な画像処理装置及びスキャンデータ配信方法を提供可能である。
【発明を実施するための最良の形態】
【００１４】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。まず、本発明の理解を容易とする為、図３を参照しつつ本発明の原理について説明する。
【００１５】
＜発明の原理＞
図３は本発明によるスキャンのシステムを表した模式図である。図３のスキャンのシステム（スキャンデータ配信システム）はＰｕｌｌ型のＰＣ２に対し、スキャナ１がＰｕｓｈ型の操作にて対応するものである。
【００１６】
ステップＳ１に進み、スキャナ１は所定位置に原稿がセットされる。また、ステップＳ２及びＳ３に進み、スキャナ１は操作者からの操作に基づき、スキャン条件及び配信先が設定される。ステップＳ４に進み、スキャナ１は操作者からのスキャン開始の指示に基づいて所定位置にセットされた原稿をスキャンし、原稿のスキャンデータを取得する。
【００１７】
原稿のスキャンデータを取得すると、スキャナ１はステップＳ５に進み、ＰＣ２に対して後述するようにスキャン準備完了を通知する。スキャン準備完了を通知されると、ＰＣ２はステップＳ６に進み、スキャンデータ要求をスキャナ１に対して行う。ＰＣ２からのスキャン要求があると、スキャナ１はステップＳ７に進み、原稿のスキャンデータをＰＣ２に配信する。
【００１８】
本発明によるスキャンデータ配信システムでは、スキャナ１が原稿のスキャンデータを取得したあと、ＰＣ２に対してスキャン準備完了を通知している。ＰＣ２はスキャナ１からスキャン準備完了を通知されることで、図１に示すＰＣ２主導によるスキャン（Ｐｕｌｌ型）のシステムと同様、スキャンデータ要求をスキャナ１に対して行うことができる。
【００１９】
また、本発明によるスキャンデータ配信システムでは、図２に示すスキャナ１主導によるスキャン（Ｐｕｓｈ型）のシステムと同様、操作者がスキャナ１を操作し、スキャン条件及び配信先の設定と、所定位置にセットされた原稿のスキャンデータを取得するためのスキャン開始の指示とを行うことができる。
【００２０】
このように、本発明によるスキャンデータ配信システムでは、Ｐｕｌｌ型のＰＣ２に対してスキャナ１がＰｕｓｈ型の操作にて対応できる。なお、本発明によるスキャンデータ配信システムは、後述するように、スキャナ１がスキャンデータを適宜分割し、ＰＣ２からの要求に同期して、分割したスキャンデータをＰＣ２に配信できる。
【００２１】
＜ハードウェア構成＞
以下の実施例では、画像処理装置の一例としての複合機を例に説明するが、スキャナ機能を有する如何なる画像処理装置であってもよい。
【００２２】
本発明による複合機１００のハードウェア構成について図４を用いて説明する。図４は本発明による複合機のハードウェア構成図である。図４の複合機１００は、操作パネル１１と、記憶メディアＩ／Ｆ１２と、コントローラ１３と、データ通信Ｉ／Ｆ１４と、ＨＤＤ（Hard Disk Drive）１７と、スキャナ１５と、プロッタ１６とが、それぞれ相互に接続されるように構成されている。
【００２３】
操作パネル１１は入力装置１１ａと表示装置１１ｂとを有している。入力装置１１ａはハードウェアキーなどで構成されており、複合機１００に各操作信号を入力するのに用いられる。また、表示装置１１ｂは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信Ｉ／Ｆ１４は、インタフェース装置１４ａを有しており、複合機１００をデータ伝送路であるネットワークなどに接続するインタフェースである。ＨＤＤ１７は複合機１００で取り扱われる受信文書データや読み取り画像データなどの各種データを格納している。また、ＨＤＤ１７は、これらの各種データを、所定のファイルシステムやＤＢ（Data Base）により管理している。
【００２４】
ＨＤＤ１７に格納される各種データの中には、例えば、デジタルカメラ等の外部の機器によって記録された電子データも含まれる。このような場合、電子データはメモリカードなどの記録媒体１２ｂによって複合機１００に提供されるか、データ伝送路であるネットワークなどを通じてアップロードされる。記録媒体１２ｂは、記憶メディアＩ／Ｆ１２が有するドライブ装置１２ａにセットされ、各種データが記録媒体１２ｂからドライブ装置１２ａを介してＨＤＤ１７に格納される。
【００２５】
コントローラ１３はＲＯＭ（Read Only Memory）１３ａ，ＲＡＭ（Random Access Memory）１３ｂ及びＣＰＵ（Central Processing Unit）１３ｃを有している。ＲＯＭ１３ａは複合機１００が起動されるときに実行されるプログラムや各種データを格納している。また、ＲＡＭ１３ｂは、ＲＯＭ１３ａやＨＤＤ１７から読み出された各種プログラムやデータを一時保持する。更に、ＣＰＵ１３ｃは、ＲＡＭ１３ｂが一時保持しているプログラムを実行する。
【００２６】
コントローラ１３は、例えば、データ通信Ｉ／Ｆ１４を介して印刷データを受信した場合に、ＲＯＭ１３ａからＲＡＭ１３ｂ上に読み出された、ＰＤＬ（Page Description Language）を解釈可能なプログラム（ＰＤＬパーサ）をＣＰＵ１３ｃにより実行し、印刷データを解釈してビットマップイメージを生成する。
【００２７】
スキャナ１５は画像読取装置１５ａを有しており、読み取り面に配置された原稿を光学的に読み取り画像データ（スキャンデータ）を生成する。プロッタ１６は印刷装置１６ａを有しており、例えば電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。本発明による複合機１００では、上記したハードウェア構成により、コピー、プリンタ、ファクシミリ又はスキャナなどの複数の機能を実現している。
【００２８】
＜ソフトウェア構成＞
本発明による複合機１００のソフトウェア構成について図５を用いて説明する。図５は本発明による複合機のソフトウェア構成図である。
【００２９】
図５の複合機１００は、図４に示したプロッタ１６と、スキャナ１５と、ファクシミリやＨＤＤ１７などのハードウェアリソース１０１とを有するとともに、起動部１４０により起動されるプラットホーム１２０及びアプリケーション１３０を含むように構成されるソフトウェア群１１０とを備えている。
【００３０】
プラットホーム１２０は、アプリケーション１３０からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービス１５０と、１つ以上のハードウェア資源の管理を行い、コントロールサービス１５０からの獲得要求を調停するＳＲＭ（System Resource Manager）１２３と、ＯＳ（Operating System）１２１とを有する。
【００３１】
コントロールサービス１５０は、複数のサービスモジュールから形成され、ＳＣＳ（System Control Service）１２２と、ＥＣＳ（Engine Control Service）１２４と、ＭＣＳ（Memory Control Service）１２５と、ＯＣＳ（Operation panel Control Service）１２６と、ＦＣＳ（FAX Control Service）１２７と、ＮＣＳ（Network Control Service）１２８とを有するように構成される。
【００３２】
なお、このプラットホーム１２０は、予め定義されたメソッドによりアプリケーション１３０から処理要求を受信可能とするＡＰＩ（Application Program Interface）１０３と、プロッタ１６やスキャナ１５、その他のハードウェアリソース１０１等を上位層からの要求に従ってＯＳ１２１を介して制御するときのインタフェースであるエンジンＩ／Ｆ１０２を有する。
【００３３】
ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００３４】
ＳＲＭ１２３は、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものであり、プロッタ１６やスキャナ１５などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（例えば、セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４ Ｉ／Ｆ、ＲＳ２３２Ｃ Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
【００３５】
具体的には、このＳＲＭ１２３は要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など。）を直接実施している。
【００３６】
ＳＣＳ１２２は、アプリ管理、操作部制御、システム画面表示、ＬＥＤ（Light Emitting Diode）表示、リソース管理、割り込みアプリ制御を行うものである。ＥＣＳ１２４は、プロッタ１６、スキャナ１５などから構成されるハードウェア資源のエンジンを制御するものである。
【００３７】
ＭＣＳ１２５は、画像メモリの取得および解放、ＨＤＤの利用、画像データの圧縮および伸張などを行うものである。ＯＣＳ１２６は、オペレータ（操作者）との情報伝達手段となる操作パネル１１を制御するモジュールである。
【００３８】
ＦＣＳ１２７は、システムコントローラの各アプリ層からＰＳＴＮ（Public Switched Telephone Networks）／ＩＳＤＮ（Integrated Services Digital Network）を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ：Static Random Access Memory）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、複合送受信を行うためのＡＰＩを提供するものである。ＦＣＳ１２７には、そのサブプロセスであるＦＣＵハンドラ（ＦＣＵＨ）が起動される。このＦＣＵＨは、ＦＣＳ１２７からの指令によりファクシミリ送受信のときにファクシミリエンジンのデバイスドライバを制御するものである。
【００３９】
ＮＣＳ１２８は、ネットワークＩ／Ｏを必要とするアプリケーション１３０に対して共通に利用できるサービスを提供するためのモジュール群である。ＮＣＳ１２８は通信処理を行う。
【００４０】
アプリケーション１３０は、ＰＣＬやポストスクリプト（ＰＳ）などのＰＤＬパーサを有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、配信用のアプリケーションである配信アプリ１１７とを有している。
【００４１】
これらの各コントロールサービスとＳＲＭ１２３と各アプリケーション１３０とは１つ以上のメソッドを有するオブジェクトであり、このオブジェクトを起動することによりプロセスとしてＯＳ１２１上に生成されて実行される。そして、各プロセス内部には複数のスレッドが起動され、ＯＳ１２１の管理下でこれらのスレッドのＣＰＵ占有時間を切り替えることにより並列実行が実現されている。このため、複合機１００はプロセス切り替えによる並列実行と比較して、並列実行時の処理速度の向上が図られている。
【００４２】
なお、各アプリプロセスと各コントロールサービスプロセスとは、メソッドの実行によるプロセス間通信によってメッセージの送受信が行われる。ここからは、本発明によるスキャンデータ配信処理の詳細について説明する。
【００４３】
＜スキャンデータ配信処理＞
図６は、本発明によるスキャンデータ配信処理を説明する為の一例のソフトウェア構成図である。図６のソフトウェア構成図は本発明によるスキャンデータ配信処理の説明に不要な部分を適宜省略している。図６の配信アプリ１１７は、待ち合わせ処理部２００及びスキャンデータ管理部２１０を有する構成である。なお、待ち合わせ処理部２００及びスキャンデータ管理部２１０は配信アプリ１１７以外に設けてもよい。
【００４４】
待ち合わせ処理部２００は、内部バッファ処理，元画像加工処理及び待ち合わせ処理を行う。なお、図６に示した各ソフトウェアは図７に示す処理手順で本発明によるスキャンデータ配信処理を行う。
【００４５】
図７はスキャンデータ配信処理の手順を表したシーケンス図である。ステップＳ１０に進み、複合機１００は所定位置に原稿がセットされる。ステップＳ１１に進み、スキャナアプリ１１４は操作者からの操作に基づき、スキャン条件や配信先が設定される。
【００４６】
ステップＳ１２に進み、スキャナアプリ１１４は操作者からのスキャン実行（開始）の指示に基づいて、所定位置にセットされた原稿をスキャンし、原稿のスキャンデータを取得する。原稿のスキャンデータを取得すると、スキャナアプリ１１４はステップＳ１３に進み、取得した原稿のスキャンデータとジョブ番号とをスキャンデータ管理部２１０に送信する。なお、ジョブ番号はジョブ識別子の一例である。
【００４７】
ステップＳ１４に進み、スキャンデータ管理部２１０は受信した原稿のスキャンデータ及びジョブ番号をストレージであるＨＤＤ１７に格納する。また、スキャナアプリ１１４は取得した原稿のスキャンデータとジョブ番号とをスキャンデータ管理部２１０に送信したあと、ステップＳ１５，Ｓ１６に進み、ＮＣＳ１２８経由でＰＣ２へストレージのＵＲＬと共に、スキャン準備完了を通知する。
【００４８】
その後、スキャンデータ管理部２１０はストレージに格納された原稿のスキャンデータを読み出して、待ち合わせ処理部２００の内部バッファに格納するスキャンデータ格納処理を行う。内部バッファはＰＣ２と複合機１００とでスキャンデータの同期を取るためのバッファである。
【００４９】
図７に示したスキャンデータ格納処理はストレージに格納されたスキャンデータをｍ個に分割し、分割したスキャンデータをジョブ番号と共に、ｍ回に分けて待ち合わせ処理部２００に送信して待ち合わせ処理部２００の内部バッファに格納する例である（ステップＳ１７−１，Ｓ１８−１，Ｓ１９−１，・・・・，ステップＳ１７−ｍ，Ｓ１８−ｍ，Ｓ１９−ｍ）。
【００５０】
また、スキャン準備完了を通知されると、ＰＣ２はジョブ番号を指定して、待ち合わせ処理部２００へデータ要求を行う。図７に示したデータ要求はスキャンデータをｎ個に分割し、ｎ個に分割したスキャンデータをｎ回に分けて待ち合わせ処理部２００からＰＣ２へ配信する例である（ステップＳ２０−１，Ｓ２１−１，Ｓ２２−１，Ｓ２３−１，Ｓ２４−１，・・・・，ステップＳ２１−ｎ，Ｓ２２−ｎ，Ｓ２３−ｎ，Ｓ２４−ｎ）。
【００５１】
スキャンデータ管理部２１０はストレージに格納された原稿のスキャンデータを読み出して、待ち合わせ処理部２００の内部バッファに格納後、ステップＳ２５に進み、終了をスキャナアプリ１１４へ通知する。
【００５２】
図７に示すように、待ち合わせ処理部２００は内部バッファを持ち、ＮＣＳ１２８経由でＰＣ２からのデータ要求と、スキャンデータ管理部２１０からのスキャンデータ格納処理とを非同期に行う。つまり、ＮＣＳ１２８経由でＰＣ２からのデータ要求及びスキャンデータ管理部２１０からのスキャンデータ格納処理の数は、一対一に対応しない。
【００５３】
また、図７に示すように、待ち合わせ処理部２００は内部バッファを持つ為、ＰＣ２との通信でエラーが生じても複合機１００のスキャン機能に負担を掛けることなくリトライが容易に実現できる。
【００５４】
さらに、図７に示すように、待ち合わせ処理部２００はスキャンデータを１〜ｍに分割してスキャンデータ管理部２１０から受信し、内部バッファに格納する。待ち合わせ処理部２００は、内部バッファに格納されているスキャンデータを１〜ｎに分割してＰＣ２へ配信する。このようにスキャンデータは一般的に大きいので分割（Ｃｈｕｎｋｅｄ）後に送信する。
【００５５】
スキャンデータ管理部２１０から受信する分割後のスキャンデータのサイズと、ＰＣ２へ配信する分割後のスキャンデータのサイズとは無関係であり、待ち合わせ処理部２００で調整される。スキャンデータ管理部２１０はスキャンデータをジョブ番号で管理しているため、複数のジョブがある場合であってもスキャンデータの振り分けが可能である。
【００５６】
＜待ち合わせ処理＞
図８は、ＰＣからデータ要求を受け付けた待ち合わせ処理部の動作概要を示す一例のフローチャートである。ＰＣ２からデータ要求を受け付けると、待ち合わせ処理部２００はステップＳ３１に進み、要求されたサイズ分のスキャンデータを、内部バッファから読み出す。ステップＳ３２に進み、待ち合わせ処理部２００は、ステップＳ３１で読み出したスキャンデータが要求されたサイズより小さい、言い換えればデータ量不足か否かを判定する。
【００５７】
ステップＳ３１で読み出したスキャンデータが要求されたサイズより小さくなければ待ち合わせ処理部２００はステップＳ３３に進み、ステップＳ３１で内部バッファから読み出したスキャンデータをＰＣ２側（待ち合わせ処理部２００内のＰＣ２用）のバッファに書き込む。ステップＳ３４に進み、待ち合わせ処理部２００はＰＣ２側のバッファからＰＣ２側へスキャンデータを送信する。
【００５８】
ステップＳ３５に進み、待ち合わせ処理部２００はステップＳ３１で内部バッファから読み出したスキャンデータの最終データフラグが「Ｏｎ」であるか「Ｏｆｆ」であるかを判定する。スキャンデータの最終データフラグが「Ｏｆｆ」であれば、待ち合わせ処理部２００は図８のフローチャートで示す処理を終了する。
【００５９】
スキャンデータの最終データフラグが「Ｏｎ」であれば、待ち合わせ処理部２００はステップＳ４０に進み、最終のスキャンデータ（最終データ）であることをＰＣ２側へ通知したあと、図８のフローチャートで示す処理を終了する。
【００６０】
一方、ステップＳ３２において、ステップＳ３１で読み出したスキャンデータが要求されたサイズより小さければ、待ち合わせ処理部２００はステップＳ３６に進み、スキャンデータ管理部２１０から内部バッファへスキャンデータが格納されるのを待つ。ステップＳ３７に進み、待ち合わせ処理部２００はスキャンデータをスキャンデータ管理部２１０から受信したか否かを判定する。スキャンデータをスキャンデータ管理部２１０から受信すれば、待ち合わせ処理部２００はステップＳ３８に進み、受信したスキャンデータを内部バッファに書き込む。ステップＳ３９に進み、待ち合わせ処理部２００はステップＳ３１で判定した不足分のスキャンデータを内部バッファから読み出した後、ステップＳ３３に進む。
【００６１】
なお、スキャンデータをスキャンデータ管理部２１０から受信しなければ、待ち合わせ処理部２００はステップＳ４１に進み、前回のスキャンデータをスキャンデータ管理部２１０から受信したあと所定時間を経過したタイムアウトか否かを判定する。タイムアウトでなければ、待ち合わせ処理部２００はステップＳ３６に戻る。また、タイムアウトであれば、待ち合わせ処理部２００はエラーを出力する。
【００６２】
図９は、スキャンデータ管理部からスキャンデータを受け付けた待ち合わせ処理部の動作概要を示す一例のフローチャートである。待ち合わせ処理部２００はスキャンデータ管理部２１０からスキャンデータを受け付けると、ステップＳ５１に進み、内部バッファにスキャンデータを格納する。
【００６３】
ステップＳ５２に進み、待ち合わせ処理部２００は内部バッファがフルであるか否かを判定する。内部バッファがフルであれば、待ち合わせ処理部２００はステップＳ５３に進み、ＰＣ２側からのスキャンデータの取得、言い換えればデータ要求を待つ。
【００６４】
ＰＣ２側からのスキャンデータの取得後、ステップＳ５４に進み、待ち合わせ処理部２００は内部バッファに、スキャンデータ管理部２１０から残りのスキャンデータを格納可能な空きがあるか否かを判定する。内部バッファに空きがあれば、待ち合わせ処理部２００は、ステップＳ５５に進み、スキャンデータ管理部２１０から残りのスキャンデータを受け取り、内部バッファに格納する。
【００６５】
ステップＳ５５からステップＳ５６に進み、待ち合わせ処理部２００は内部バッファに格納されているスキャンデータが最終データであるか否かを判定する。最終データであれば待ち合わせ処理部２００はステップＳ５７に進み、最終データフラグを「ＯＮ」に設定したあと、図９のフローチャートで示す処理を終了する。なお、最終データでなければ待ち合わせ処理部２００はステップＳ５６の処理後、図９のフローチャートで示す処理を終了する。
【００６６】
ステップＳ５４において、内部バッファに空きがなければ、待ち合わせ処理部２００はステップＳ５８に進み、前回のデータ要求をＰＣ２側から受信したあと所定時間を経過したタイムアウトか否かを判定する。タイムアウトでなければ、待ち合わせ処理部２００はステップＳ５３に戻る。タイムアウトであれば、待ち合わせ処理部２００はエラーを出力する。
【００６７】
＜スキャンデータ配信処理の拡張＞
図１０は、スキャンデータ配信処理の拡張の手順を表した一例のシーケンス図である。ステップＳ６０に進み、複合機１００は所定位置に原稿がセットされる。ステップＳ６１に進み、スキャナアプリ１１４は操作者からの操作に基づき、スキャン条件や配信先が設定される。
【００６８】
ステップＳ６２に進み、スキャナアプリ１１４は操作者からのスキャン実行（開始）の指示に基づいて、所定位置にセットされた原稿をスキャンし、原稿のスキャンデータを取得する。原稿のスキャンデータを取得すると、スキャナアプリ１１４はステップＳ６３に進み、取得した原稿のスキャンデータとジョブ番号とをスキャンデータ管理部２１０に送信する。
【００６９】
ステップＳ６４に進み、スキャンデータ管理部２１０は受信した原稿のスキャンデータ及びジョブ番号をストレージであるＨＤＤ１７に格納する。また、スキャナアプリ１１４は取得した原稿のスキャンデータとジョブ番号とをスキャンデータ管理部２１０に送信したあと、ステップＳ６５，Ｓ６６に進み、ＮＣＳ１２８経由でＰＣ２へストレージのＵＲＬと共に、スキャン準備完了を通知する。
【００７０】
その後、スキャンデータ管理部２１０はステップＳ６７〜Ｓ６９に進み、ストレージに格納された原稿のスキャンデータを読み出して、待ち合わせ処理部２００の内部バッファに格納するスキャンデータ格納処理を行う。また、スキャン準備完了を通知されると、ＰＣ２はステップＳ７０，Ｓ７１に進み、ジョブ番号を指定して、待ち合わせ処理部２００へプレビュー用のデータ要求を行う。
【００７１】
ステップＳ７２に進み、待ち合わせ処理部２００は内部バッファからスキャンデータを読み出し、そのスキャンデータに対してプレビュー用の画像の間引き処理を行う。このようなスキャンデータに対するプレビュー用の画像の間引き処理は画像編集機能が行う処理の一例である。そして、ステップＳ７３，Ｓ７４に進み、待ち合わせ処理部２００はプレビュー用に画像の間引き処理を行ったスキャンデータをＰＣ２へ配信する。
【００７２】
図１１は、スキャンデータ配信処理の拡張の手順を表した他の一例のシーケンス図である。ステップＳ８０に進み、複合機１００は所定位置に原稿がセットされる。ステップＳ８１に進み、スキャナアプリ１１４は操作者からのスキャン実行（開始）の指示に基づいて所定位置にセットされた原稿を、いつも最高のスキャン条件でスキャンして、原稿のスキャンデータを取得する。原稿のスキャンデータを取得すると、スキャナアプリ１１４はステップＳ８２に進み、取得した原稿のスキャンデータとジョブ番号とをスキャンデータ管理部２１０に送信する。
【００７３】
ステップＳ８３に進み、スキャンデータ管理部２１０は受信した原稿のスキャンデータ及びジョブ番号をストレージであるＨＤＤ１７に格納する。また、スキャナアプリ１１４は取得した原稿のスキャンデータとジョブ番号とをスキャンデータ管理部２１０に送信したあと、ステップＳ８４，Ｓ８５に進み、ＮＣＳ１２８経由でＰＣ２へストレージのＵＲＬと共に、スキャン準備完了を通知する。
【００７４】
その後、スキャンデータ管理部２１０はステップＳ８６〜Ｓ８８に進み、ストレージに格納された原稿のスキャンデータを読み出して、待ち合わせ処理部２００の内部バッファに格納するスキャンデータ格納処理を行う。また、スキャン準備完了を通知されると、ＰＣ２はステップＳ８９，Ｓ９０に進み、ジョブ番号及びスキャン条件を指定して、待ち合わせ処理部２００へデータ要求を行う。
【００７５】
ステップＳ９１に進み、待ち合わせ処理部２００は内部バッファからスキャンデータを読み出し、ＰＣ２側から指定されたスキャン条件に合わせてスキャンデータを加工する処理を行う。このようなＰＣ２側から指定されたスキャン条件に合わせてスキャンデータを加工する処理は画像編集機能が行う処理の一例である。
【００７６】
例えばＰＣ２側から指定されたスキャン条件が白黒であり、元画像がカラー及びフル解像度のスキャンデータである場合、待ち合わせ処理部２００はスキャンデータをカラー画像から白黒に変換する。
【００７７】
また、ＰＣ２側から指定されたスキャン条件が解像度の指定であり、元画像がカラー及びフル解像度のスキャンデータである場合、待ち合わせ処理部２００はスキャンデータをフル解像度から指定された解像度に間引きする。また、ＰＣ２側から指定されたスキャン条件がセキュリティ処理の指定である場合、待ち合わせ処理部２００はスキャンデータに電子すかし，スクランブル，圧縮等の指定されたセキュリティ処理を施す。
【００７８】
そして、ステップＳ９２，Ｓ９３に進み、待ち合わせ処理部２００はＰＣ２側から指定されたスキャン条件に合わせて加工したスキャンデータをＰＣ２へ配信する。
【００７９】
＜スキャンデータ配信処理の他の例＞
図１２は、外部のストレージを利用するスキャンデータ配信処理の手順を表したシーケンス図である。
【００８０】
ステップＳ１００に進み、複合機１００は所定位置に原稿がセットされる。ステップＳ１０１に進み、スキャナアプリ１１４は操作者からの操作に基づき、スキャン条件や配信先が設定される。ステップＳ１０２に進み、スキャナアプリ１１４は操作者からのスキャン実行（開始）の指示に基づいて、所定位置にセットされた原稿をスキャンし、原稿のスキャンデータを取得する。原稿のスキャンデータを取得すると、スキャナアプリ１１４はステップＳ１０３−１〜Ｓ１０７−１，・・・，ステップＳ１０３−ｍ〜Ｓ１０７−ｍに進み、取得した原稿のスキャンデータをＮＣＳ１２８経由で外部のストレージ３００に格納する。
【００８１】
ステップＳ１０８〜Ｓ１１１に進み、スキャナアプリ１１４は外部ストレージ３００にスキャンデータの転送完了を通知する。また、スキャナアプリ１１４は取得した原稿のスキャンデータを外部ストレージ３００に格納後、ステップＳ１１２，Ｓ１１３に進み、ＮＣＳ１２８経由でＰＣ２へ外部ストレージのＵＲＬ及びスキャンデータのファイルＩＤと共に、スキャン準備完了を通知する。
【００８２】
また、スキャン準備完了を通知されると、ＰＣ２はステップＳ１１４に進み、外部ストレージ３００へデータ要求を行う。図１２に示したデータ要求はスキャンデータをｎ個に分割し、ｎ個に分割したスキャンデータをｎ回に分けて外部ストレージ３００からＰＣ２へ配信する例である（ステップＳ１１６−１〜Ｓ１１６−ｎ）。
【００８３】
図１２に示したスキャンデータ配信処理では、外部ストレージ３００を利用し、ＰＣ２からのデータ要求と、複合機１００からのスキャンデータ格納処理とを非同期に行う。つまり、ＰＣ２からのデータ要求及び複合機１００からのスキャンデータ格納処理の数は一対一に対応しない。
【００８４】
また、図１２に示したスキャンデータ配信処理では外部ストレージを利用する為、ＰＣ２との通信でエラーが生じても複合機１００のスキャン機能に負担を掛けることなくリトライが容易に実現できる。
【００８５】
さらに、図１２に示したスキャンデータ配信処理ではスキャンデータを１〜ｍに分割して外部ストレージ３００に送信し、格納する。ＰＣ２は外部ストレージ３００に格納されているスキャンデータを１〜ｎに分割して配信される。このようにスキャンデータは一般的に大きいので分割（Ｃｈｕｎｋｅｄ）後に送信される。なお、複合機１００から送信する分割後のスキャンデータのサイズと、ＰＣ２へ配信する分割後のスキャンデータのサイズとは無関係であり、外部ストレージ３００で調整される。
【００８６】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００８７】
【図１】ＰＣ主導によるスキャン（Ｐｕｌｌ型）のシステムを表した模式図である。
【図２】スキャナ主導によるスキャン（Ｐｕｓｈ型）のシステムを表した模式図である。
【図３】本発明によるスキャンのシステムを表した模式図である。
【図４】本発明による複合機のハードウェア構成図である。
【図５】本発明による複合機のソフトウェア構成図である。
【図６】本発明によるスキャンデータ配信処理を説明する為の一例のソフトウェア構成図である。
【図７】スキャンデータ配信処理の手順を表したシーケンス図である。
【図８】ＰＣからデータ要求を受け付けた待ち合わせ処理部の動作概要を示す一例のフローチャートである。
【図９】スキャンデータ管理部からスキャンデータを受け付けた待ち合わせ処理部の動作概要を示す一例のフローチャートである。
【図１０】スキャンデータ配信処理の拡張の手順を表した一例のシーケンス図である。
【図１１】スキャンデータ配信処理の拡張の手順を表した他の一例のシーケンス図である。
【図１２】外部のストレージを利用するスキャンデータ配信処理の手順を表したシーケンス図である。
【符号の説明】
【００８８】
１    スキャナ
２    ＰＣ
１１    操作パネル
１２    記憶メディアＩ／Ｆ
１３    コントローラ
１４    データ通信Ｉ／Ｆ
１５    スキャナ
１６    プロッタ
１７    ＨＤＤ（Hard Disk Drive）
１００    複合機
１１４    スキャナアプリ
１１７    配信アプリ
１２１    ＯＳ（カーネル）
１２８    ＮＣＳ（通信処理部）
２００    待ち合わせ処理部
２１０    スキャンデータ管理部
３００    外部ストレージ
【図１】
0005096114.tif 000002
【図２】
0005096114.tif 000003
【図３】
0005096114.tif 000004
【図４】
0005096114.tif 000005
【図５】
0005096114.tif 000006
【図６】
0005096114.tif 000007
【図７】
0005096114.tif 000008
【図８】
0005096114.tif 000009
【図９】
0005096114.tif 000010
【図１０】
0005096114.tif 000011
【図１１】
0005096114.tif 000012
【図１２】
0005096114.tif 000013