(57)【要約】【課題】読み取った画像データの破壊を効率的に防止できるようにすることを目的とする。【解決手段】画像読取装置であって、読み取った画像データを受信し、該画像データを調停部に送信する第一送受信部と、前記調停部から前記画像データを受信し、該画像データを第一記憶部に送信する第二送受信部と、前記第二送受信部のバッファの使用量が閾値を超えたことを検知する検知部と、前記検知部が、前記バッファの使用量が閾値を超えたことを検知したことに応じて、前記第一送受信部から送信される画像データの送信先を、前記調停部に接続された第二記憶部に変更するよう指示する指示部と、を有する、画像読取装置を提供する。【選択図】図６
2015128207.tif 000002
【特許請求の範囲】
【請求項１】
画像読取装置であって、
読み取った画像データを受信し、該画像データを調停部に送信する第一送受信部と、
前記調停部から前記画像データを受信し、該画像データを第一記憶部に送信する第二送受信部と、
前記第二送受信部のバッファの使用量が閾値を超えたことを検知する検知部と、
前記検知部が、前記バッファの使用量が閾値を超えたことを検知したことに応じて、前記第一送受信部から送信される画像データの送信先を、前記調停部に接続された第二記憶部に変更するよう指示する指示部と、
を有する、画像読取装置。
【請求項２】
前記指示部は、前記第二記憶部に送信された画像データのデータ量が一定の量に達すると、前記第一送受信部から送信される画像データの送信先を、前記第二送受信部に変更するよう指示する、
請求項１に記載の画像読取装置。
【請求項３】
前記画像読取装置は、第一制御部と第二制御部とを有し、
前記第一制御部は、前記第一記憶部及び前記第二制御部と接続され、
前記第二制御部は、前記第一制御部と接続される、
請求項１又は２に記載の画像読取装置。
【請求項４】
前記第一記憶部は、前記第二記憶部より高速なメインメモリである、
請求項３に記載の画像読取装置。
【請求項５】
前記第二記憶部は、ＳＤカードである、
請求項４に記載の画像読取装置。
【請求項６】
前記第二記憶部は、ネットワークを介して接続された記憶装置である、
請求項４に記載の画像読取装置。
【請求項７】
前記調停部と前記第二記憶部とは、ＮＡＮＤメモリインタフェースで接続される、
請求項４に記載の画像読取装置。
【請求項８】
前記調停部と前記第二記憶部とは、ＳＰＩで接続される、
請求項４に記載の画像読取装置。
【請求項９】
画像読取方法であって、
第一送受信部が読み取った画像データを受信する段階と、
前記第一送受信部が受信した前記画像データを調停部に送信する段階と、
第二送受信部が前記調停部から前記画像データを受信する段階と、
前記第二送受信部が受信した前記画像データを第一記憶部に送信する段階と、
前記第二送受信部のバッファの使用量が閾値を超えたことを検知する段階と、
前記バッファの使用量が閾値を超えたことを検知したことに応じて、前記第一送受信部から送信される画像データの送信先を、前記調停部に接続された第二記憶部に変更するよう指示する段階と、
を有する、画像読取方法。
【請求項１０】
コンピュータに画像読取方法を実行させるプログラムであって、前記画像読取方法は、
第一送受信部が読み取った画像データを受信する段階と、
前記第一送受信部が受信した前記画像データを調停部に送信する段階と、
第二送受信部が前記調停部から前記画像データを受信する段階と、
前記第二送受信部が受信した前記画像データを第一記憶部に送信する段階と、
前記第二送受信部のバッファの使用量が閾値を超えたことを検知する段階と、
前記バッファの使用量が閾値を超えたことを検知したことに応じて、前記第一送受信部から送信される画像データの送信先を、前記調停部に接続された第二記憶部に変更するよう指示する段階と、
を有する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置、画像読取方法及びプログラムに関する。
【背景技術】
【０００２】
ＭＦＰ（Multifunction  Peripheral）において原稿の読取りを行う場合、コントローラＡＳＩＣ（Application  Specific  Integrated  Circuit）は、スキャナの接続された画像処理ＡＳＩＣから画像データを受け取る。そして、チップセットを介して、画像データをメインメモリに格納する。ここで、例えばチップセット側の帯域が逼迫しているために、コントローラＡＳＩＣ側からの読み取った画像データの転送ができず、結果として画像データの一部が失われ、画像データの破壊が生ずることが知られている。
【０００３】
特許文献１には、読み取ったデータを複数に分割して圧縮し、メモリ量を削減して画像破綻を回避する画像形成装置の発明が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の方法では、読み取ったデータを記憶するために必要なメモリ量を削減することができるが、そのために画像データを分割したり圧縮したりする必要があり、非効率となる可能性がある。
【０００５】
本発明は、このような問題に鑑みてなされたものであり、読み取った画像データの破壊を効率的に防止できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し目的を達成するため、本発明における画像読取装置は、
画像読取装置であって、
読み取った画像データを受信し、該画像データを調停部に送信する第一送受信部と、
前記調停部から前記画像データを受信し、該画像データを第一記憶部に送信する第二送受信部と、
前記第二送受信部のバッファの使用量が閾値を超えたことを検知する検知部と、
前記検知部が、前記バッファの使用量が閾値を超えたことを検知したことに応じて、前記第一送受信部から送信される画像データの送信先を、前記調停部に接続された第二記憶部に変更するよう指示する指示部と、
を有する。
【発明の効果】
【０００７】
本発明によれば、読み取った画像データの破壊を効率的に防止できるようにすることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態における画像読取装置の構成例を表す図。
【図２】コントローラＡＳＩＣの構成例を表す図。
【図３】本発明の原理を説明する図。
【図４】本発明の原理を説明する図。
【図５】ディスプクリプタの例を表す図。
【図６】本発明の一実施形態における画像読取装置の機能ブロック図。
【図７】本発明の一実施形態における画像読取装置の処理の流れを表すフローチャート。
【図８】本発明の一実施形態における画像読取装置の動作例を表すシーケンス図。
【図９】本発明の原理を説明する図。
【図１０】本発明の原理を説明する図。
【図１１】本発明の一実施形態における画像読取装置の機能ブロック図。
【図１２】本発明の一実施形態における画像読取装置の処理の流れを表すフローチャート。
【図１３】本発明の一実施形態における画像読取装置の動作例を表すシーケンス図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。
【００１０】
１．概要
２．機能
３．動作例
４．変形例
【００１１】
＜１．概要＞
図１は、本発明の一実施形態における画像読取装置１の構成例を表す図である。図１は、画像読取装置１が有する主な装置のみを示している。画像読取装置１は、スキャナ１０１と、画像処理ＡＳＩＣ１０２と、コントローラＡＳＩＣ１０３と、メインメモリ１０４と、ローカルメモリ１０５と、ＨＤＤ（Hard  Disk  Drive）１０６と、チップセット１０７とを有する。
【００１２】
スキャナ１０１は、原稿を読み取るスキャナであり、片面又は両面の原稿を読取り、取得した画像データを転送する。スキャナ１０１は、両面の原稿を読み取る場合には、表面と裏面の両方のデータを同時に転送することができる。画像処理ＡＳＩＣ１０２は、スキャナ１０１が読み取った画像データに対する画像処理及び圧縮処理を行う。コントローラＡＳＩＣ１０３は、画像処理ＡＳＩＣ１０２とチップセット１０７との間、及び、チップセット１０７とＨＤＤ１０６との間の通信を調停する。コントローラＡＳＩＣ１０３は、内部にアービタを有する。
【００１３】
メインメモリ１０４は、読み取った画像データを蓄積する。メインメモリ１０４は、例えば、約７００ＭＢ／ｓの帯域を有し、約１ｕｓのレーテンシで動作する。同様に、ローカルメモリ１０５は、メインメモリ１０４側の帯域が逼迫している場合に、メインメモリ１０４の代わりに画像データを蓄積することができる。
【００１４】
ローカルメモリ１０５は、例えば、約２ＧＢ／ｓの帯域を有し、約２００ｎｓのレーテンシで動作する。ローカルメモリ１０５は、通常、コントローラＡＳＩＣ１０３に搭載された画像描画モジュールにより使用されている。画像描画モジュールは、リード・モディファイ・ライト（指定された番地／ポートのデータの読み込み、データの加工、元の番地／ポートへのデータの書き込みの一連の処理）の処理を多く実行するため、低レーテンシであるローカルメモリを使用する。
【００１５】
ＨＤＤ１０６は、メインメモリ１０４とローカルメモリ１０５に記憶された画像データを、最終的に格納する。また、ＨＤＤ１０６は、チップセット１０７に接続されるＣＰＵ（Central  Processing  Unit）のプログラム領域又はスワップ領域として使用される。
【００１６】
チップセット１０７は、ＣＰＵを内蔵し、メインメモリ１０４と接続される。チップセット１０７は、さらに、ＨＤＤを接続するためのインタフェースや、ＵＳＢ（Universal  Serial  Bus）のインタフェースを有していてもよい。
【００１７】
スキャナ１０１が読み取った画像データは、画像処理ＡＳＩＣ１０２において、例えばシェーディングが施される。その後、画像データは、画像処理ＡＳＩＣ１０２から、ＰＣＩｅ（Express）（登録商標）インタフェース経由で、コントローラＡＳＩＣ１０３に転送され、さらに、ＰＣＩｅインタフェース経由で、チップセット１０７に転送される。画像データは、最終的に、メインメモリ１０４に転送され、読取り処理が完了する。
【００１８】
図２は、図１に示したコントローラＡＳＩＣ１０３の構成例を表す図である。コントローラＡＳＩＣ１０３は、ＰＣＩｅインタフェース（Ｉ／Ｆ）２０２、２０３と、ＤＤＲ（Double-Data-Rate）インタフェース（Ｉ／Ｆ）２０４と、アービタ２０５と、ＨＤＤインタフェース（Ｉ／Ｆ）２０６とを有する。
【００１９】
図２に例示されるように、スキャナ１０１側から入力されるデータと、チップセット１０７側から入力されるデータとを調停するアービタ２０５は、画像処理ＡＳＩＣ１０２とＰＣＩｅインタフェース２０２で接続されている。また、アービタ２０５は、チップセット１０７とＰＣＩｅインタフェース２０３で接続されている。
【００２０】
また、アービタ２０５は、ローカルメモリ１０５と、ＤＤＲインタフェース２０４で接続されている。さらに、アービタ２０５は、ＨＤＤインタフェース２０６を介して、メインメモリ１０４又はローカルメモリ１０５に記憶された画像データを、ＨＤＤに転送する。
【００２１】
以下の実施例では、図１、図２で示したように、アービタ２０５とローカルメモリ１０５とが、ＤＤＲインタフェース２０４で接続される例を用いて説明する。しかしながら、本発明は、この例に限定されず、例えば、アービタ２０５とローカルメモリ１０５とは、ＮＡＮＤメモリインタフェース、又は、ＳＰＩ（Serial  Peripheral  Interface）で接続されても良い。
【００２２】
また、以下の実施例では、ローカルメモリ１０５が、ＤＤＲメモリである例を用いて説明する。しかしながら、本発明は、この例に限定されず、例えば、ローカルメモリの代わりに、ＳＤカード又はネットワークを介して接続された記憶装置が用いられてもよい。
【００２３】
また、以下の実施例では、コントローラＡＳＩＣ１０３と画像処理ＡＳＩＣ１０２、及び、コントローラＡＳＩＣ１０３とチップセット１０７とが、ＰＣＩｅインタフェースで接続される例を用いて説明する。しかしながら、本発明は、この例に限定されず、任意のシリアルバス又はパラレルバスを用いてもよい。
【００２４】
次に、図３と図４を用いて、本発明において、読み取られた画像データの流れを説明する。図３と図４は、本発明の一実施形態における画像読取装置１の構成を表しており、図１と図２に示した各装置を含む。なお、図３と図４では、メインメモリに格納されるディスクリプタが示されている。
【００２５】
図５は、読み取ったデータの構造や内容、属性等を記載する情報である、ディスクリプタの構造の例を表す。ディスクリプタは、例えば、読み取ったデータのページごとに用意されてもよい。本発明において、任意の構造のデイスクリプタが用いられ得る。但し、本発明では、読み取ったデータが、ローカルメモリ１０５に記憶されているかを示す領域「ＩＭＳＥＬ」を有する。
【００２６】
図３は、スキャナ１０１で読み取られた画像データが、コントローラＡＳＩＣ１０３を介して、メインメモリ１０４に格納される様子を表している。まず、画像処理ＡＳＩＣ１０２は、マスタとなって、メインメモリ１０４のディスクリプタをリードし、転送量、転送アドレスを把握した後に、画像データをメインメモリに転送する。その後、画像データは、ＰＣＩｅ  Ｉ／Ｆ２０２、アービタ２０５、ＰＣＩｅ  Ｉ／Ｆ  ２０３を介して、メインメモリ１０４に記憶される。
【００２７】
ここで、ＰＣＩｅ  Ｉ／Ｆ２０２、２０３は、パケット型のシリアルインタフェースである。そのため、ＣＰＵからメインメモリ１０４に対するＣＰＵキャッシュフラッシュ動作や、ＣＰＵからコントローラＡＳＩＣ１０３に対する転送処理により、転送路のレーテンシが低下し、帯域が逼迫することがある。画像データがメインメモリ１０４に転送されている途中に、画像データの転送に必要な帯域が不足すると、画像データが途中で破壊されているおそれがある。
【００２８】
図４は、本発明により、スキャナ１０１で読み取られた画像データが、コントローラＡＳＩＣ１０３を介して、ローカルメモリ１０５に格納される様子を表している。
【００２９】
本発明の一実施形態におけるＰＣＩｅ  Ｉ／Ｆ２０３は、チップセット１０７へのライトバッファの使用量を監視することができる。そして、使用量が閾値を超えた場合に、ＰＣＩｅ  Ｉ／Ｆ２０３は、レーテンシが変動して帯域が確保できなかったと判断し、画像処理ＡＳＩＣ１０２からメインメモリ１０４へのトランザクションのディスティネーションアドレスを切り替える。バッファの使用量は、例えば、ＰＣＩｅ  Ｉ／Ｆにおける「Unsupported  Correction」エラーの発生によっても、増加し得る。
【００３０】
ＰＣＩｅ  Ｉ／Ｆ２０３は、アドレスの切り替えを、画像処理ＡＳＩＣ１０２側のＰＣＩｅ  Ｉ／Ｆ２０２に通知する。これにより、画像処理ＡＳＩＣ１０２から転送される画像データの転送先アドレスが、ローカルメモリ１０５に切り替わる。なお、アドレスの切り替えを通知するために、例えば、ＰＣＩｅ  Ｉ／Ｆ２０３からＰＣＩｅ  Ｉ／Ｆ２０２へ、通知パケットが送信されても良い。あるいは、ＰＣＩｅ  Ｉ／Ｆ２０３とＰＣＩｅ  Ｉ／Ｆ２０２との間に、通知のための専用の信号線が設けられてもよい。
【００３１】
画像処理ＡＳＩＣ１０２側のＰＣＩｅ  Ｉ／Ｆ２０２は、読み取られる画像データの画像ラインを監視している。ＰＣＩｅ  Ｉ／Ｆ２０２は、ＰＣＩｅ  Ｉ／Ｆ２０３からの通知に応じて、画像のライン区切りで、アービタに出力するアドレスを切り替える。例えば、アドレスの切り替えは、マスタの発行するＩＤ(例えば、ＡＸＩ  Ｉ／Ｆの場合は、ａｘｉ＿ｉｄ信号)により判断される。画像処理ＡＳＩＣ１０２からのトランザクションのみをアドレス切り替えの対象とし、その他のマスタからのトランザクションに対するアドレス切り替えは行われない。
【００３２】
上記の動作により、通知を受けた後の画像データの画像ラインは、ローカルメモリ１０５に記憶される。ここで、ローカルメモリ１０５に記憶したデータのライン数は、ＰＣＩｅ  Ｉ／Ｆ２０２のレジスタに格納される。ＰＣＩｅ  Ｉ／Ｆ２０３は、ローカルメモリ１０５に記憶されたデータのライン数を監視おり、画像データの１ページ分の転送が終わると、ディスクリプタの「ＩＭＳＥＬ」ビットを変更し、画像データをローカルメモリに蓄積したことを記録する。
【００３３】
以上の処理によって、メインメモリ１０４へのデータ転送路が逼迫したことを検知し、画像データの一部をローカルメモリ１０５に記憶することにより、読み取った画像データの破壊を防ぐことが可能となる。
【００３４】
なお、画像データの転送が、例えば２ページ分（両面読取りを想定した場合）に到達した時、コントローラＡＳＩＣ１０３の汎用ＤＭＡＣは、ローカルメモリに蓄積した画像データを、メインメモリに転送してもよい。
【００３５】
＜２．機能＞
図６を用いて、本発明の一実施形態における画像読取装置１の機能を説明する。画像読取装置１は、第一制御部１００と、第一記憶部２００と、第二制御部３００と、第二記憶部４００を有する。第一制御部１００は、図１のコントローラＡＳＩＣ１０３により実現され、第一記憶部２００は、図１のローカルメモリ１０５により実現される。また、第二制御部３００は、図１のチップセット１０７により実現され、第二記憶部４００は、図１のメインメモリ１０４により実現される。
【００３６】
第一制御部１００は、第一インタフェース部１１０と、調停部１２０と、第二インタフェース部１３０を有する。第一インタフェース部１１０は、図２のＰＣＩｅ  Ｉ／Ｆ２０２により実現され、調停部１２０は、図２のアービタ２０５により実現され、第二インタフェース部１３０は、図２のＰＣＩｅ  Ｉ／Ｆ２０３により実現される。
【００３７】
第一インタフェース部１１０は、送受信部１１１と、宛先制御部１１２と、計測部１１３とを有する。
【００３８】
送受信部１１１は、図１のスキャナ１０１から読み取られ、画像処理ＡＳＩＣ１０２によって画像処理された画像データを受信し、宛先制御部１１２の示す宛先に対して、画像データを送信する。
【００３９】
宛先制御部１１２は、送受信部１１１が送信する画像データの宛先を制御する。宛先制御部１１２は、後述する、第二インタフェース部１３０の指示部１３３からの指示信号を受信すると、画像データの宛先を、第二記憶部４００又は第一記憶部２００に切り替える。
【００４０】
計測部１１３は、送受信部１１１が送信した画像データのデータ量を計測する。
【００４１】
調停部１２０は、転送部１２１を有し、第一制御部を介してなされるデータ転送を調停する。
【００４２】
転送部１２１は、送受信部１１１から受け取った画像データを、第二インタフェース部１３０又は第一記憶部２００に転送する。また、転送部１２１は、第二制御部３００からの指示に応じて、第一記憶部２００に記憶された画像データを、第二記憶部４００に転送する。
【００４３】
第二インタフェース部１３０は、送受信部１３１と、監視部１３２と、指示部１３３とを有する。
【００４４】
送受信部１３１は、転送部１２１から受信した画像データをバッファに蓄積し、その画像データを第二制御部３００へと送信する。バッファは、例えば、画像データの一ラインを単位として、約１６ラインの容量を有する。バッファの単位及び容量は、任意である。
【００４５】
監視部１３２は、送受信部１３１のバッファの使用量を監視し、バッファの使用量が閾値１０００を超えた場合に、指示部１３３に通知信号を送信する。閾値１０００は、例えば、１６［ライン］のバッファ容量に対して、１４［ライン］が設定される。閾値１０００は、変更可能な任意の値であってもよい。また、閾値１０００は、監視部１３２、第二インタフェース部１３０、又は、第一記憶部２００等、任意の装置の記憶領域に記憶され得る。
【００４６】
指示部１３３は、監視部１３２から通知信号を受け取ると、画像データの宛先を第二記憶部４００から第一記憶部２００に切り替えるよう指示する指示信号を、第一インタフェース部１１０の宛先制御部１１２に送信する。
【００４７】
また、指示部１３３は、計測部１１３を介して、第二記憶部４００と第一記憶部２００にそれぞれ送信された画像データのデータ量を取得することができる。指示部１３３は、第一記憶部２００にデータが送信された場合に、そのデータ量が、例えば原稿の１ページの区切りに達したとき、画像データの宛先を第一記憶部２００から第二記憶部４００に切り替えるよう指示する指示信号を、宛先制御部１１２に送信する。指示部１３３は、送信されたデータ量が、予め定められた任意のデータ量（例えば、ｎ（任意の整数）ページ、所定のライン数、所定のバイト数等）に達したとき、上記の指示信号を送信してもよい。
【００４８】
また、指示部１３３は、第一記憶部２００にデータが送信された場合に、そのデータ量が、例えば原稿の１ページの区切りに達したとき、第二記憶部４００に格納された画像データのディスクリプタ（管理情報４１００）を更新する。具体的には、指示部１３３は、図５に例示されるディスクリプタの「ＩＭＳＥＬ」ビットを有効にし、画像データが、第二記憶部４００だけでなく、第一記憶部２００に記憶されていることを記録する。さらに、指示部１３３は、第一記憶部２００に記憶された画像データのアドレスやデータ量をディスクリプタに記録することができる。
【００４９】
第一記憶部２００は、調停部１２０から送信された画像データ２０００を記憶する。
【００５０】
第二制御部３００は、画像読取装置１の全体の動作を制御する。第二制御部３００は、スキャナ１０１での原稿の読取りや、画像処理ＡＳＩＣ１０２での画像処理の内容を指示するアプリケーションを動作させることができる。第二制御部３００は、原稿の読取り動作において、第一制御部１００の第二インタフェース部１３０（送受信部１３１）から送信された画像データを、第二記憶部４００に記憶する。
【００５１】
第二記憶部４００は、第二制御部３００から受け取った画像データ４０００と、その画像データのディスクリプタである管理情報４１００を記憶する。なお、管理情報４１００は、例えば、画像データのページごとに作成されてもよい。
【００５２】
上記の機能により、第一記憶部２００と第二記憶部４００のそれぞれに画像データが記憶される。その後、第二制御部３００は、管理情報４１００を参照して、第一記憶部２００に一部の画像データ２０００が記憶されていることを検出し、その画像データ２０００を、第二記憶部４００の画像データ４０００と併合することができる。あるいは、第二制御部３００は、第二記憶部４００の画像データ４０００と、第一記憶部２００の画像データ２０００とを、第一制御部１００を介して、ＨＤＤ１０６に転送してもよい。
【００５３】
このように、第一記憶部２００と第二記憶部４００のそれぞれに画像データが記憶された場合の、それぞれの画像データの扱いは、第二制御部３００で動作するアプリケーションの動作に依存する。
【００５４】
＜３．動作例＞
次に、図７、図８を用いて、本発明の一実施形態における画像読取装置１の動作例を説明する。
【００５５】
図７は、本発明の一実施形態における画像読取装置１の処理の流れを表すフローチャートである。ここでは、第二制御部３００が、画像読取装置１のスキャナ１０１を制御して原稿を読取り、取得された画像データを、第一制御部１００を介して、第二記憶部４００に転送している状態である。
【００５６】
第二インタフェース部１３０の監視部１３２は、送受信部１３１のバッファの使用量を取得し、閾値１０００と比較する（ステップＳ１０１）。使用量が閾値１０００を超えている場合（ステップＳ１０２のＹｅｓ）、指示部１３３は、画像データの宛先を、第二記憶部４００から第一記憶部２００に切り替えるよう指示する指示信号を、宛先制御部１１２に送信する（ステップＳ１０３）。そうでない場合には（ステップＳ１０２のＮｏ）、ステップＳ１０１に戻る。
【００５７】
ステップＳ１０３の次に、指示部１３３は、計測部１１３を介して、送信された画像データのデータ量を取得する（ステップＳ１０４）。取得したデータ量が所定量に達している場合（ステップＳ１０５のＹｅｓ）、指示部１３３は、第二記憶部４００に格納された管理情報４１００を更新する（ステップＳ１０６）。そうでない場合には（ステップＳ１０５のＮｏ）、ステップＳ１０４に戻る。
【００５８】
ステップＳ１０６の次に、指示部１３３は、画像データの宛先を、第一記憶部２００から第二記憶部４００に切り替えるよう指示する指示信号を、宛先制御部１１２に送信する（ステップＳ１０７）。
【００５９】
この後、第二制御部３００は、管理情報４１００を参照して、第一記憶部２００に一部の画像データ２０００が記憶されていることを検出し、その画像データ２０００を、第二記憶部４００の画像データ４０００と併合することができる。
【００６０】
図８は、本発明の一実施形態における画像読取装置１の全体の動作例を表すシーケンス図である。ここでは、第二制御部３００が、画像読取装置１のスキャナ１０１に、原稿を読取るよう指示する。
【００６１】
スキャナ１０１は、原稿を読取り、取得した画像データを、画像処理ＡＳＩＣ１０２に送信する（Ｓ２０１）。画像処理ＡＳＩＣ１０２は、スキャナ１０１から受信した画像データに、所定の画像処理を施し、その画像データを、第一制御部１００の第一インタフェース部１１０に送信する（ステップＳ２０２）。
【００６２】
第一インタフェース部１１０（送受信部１１１）は、画像処理ＡＳＩＣ１０２から画像データを受信し、宛先制御部１１２の示す宛先である第二記憶部４００に対して、画像データを送信する（ステップＳ２０３）。調停部１２０（転送部１２１）は、第一インタフェース部１１０から受信した画像データを、第二インタフェース部１３０に送信する（ステップＳ２０４）。第二インタフェース部（送受信部１３１）は、調停部１２０から受信した画像データを、第二制御部３００に送信する（ステップＳ２０５）。第二制御部３００は、第二インタフェース部１３０から受信した画像データを、第二記憶部４００に送信する（ステップＳ２０６）。
【００６３】
次いで、上記のステップＳ２０１−Ｓ２０４と同様に、スキャナ１０１で読み取られた画像データが、第二インタフェース部１３０に送信される（ステップＳ２０７−Ｓ２１０）。ここで、第一制御部１００と第二制御部３００との間の通信路の通信エラーにより、データ転送ができず、第二インタフェース部１３０の送受信部１３１のバッファ使用量が閾値を超えたものとする。
【００６４】
第二インタフェース部１３０（監視部１３２）は、バッファ使用量が閾値を超えたことを検知する（ステップＳ２１１）。そして、第二インタフェース部１３０（指示部１３３）は、第一インタフェース部１１０（宛先制御部１１２）に、画像データの宛先を、第二記憶部４００から第一記憶部２００に切り替えるよう指示する指示信号を送信する（ステップＳ２１２）。その後、第二インタフェース部１３０（送受信部１３１）は、バッファに蓄積されていた画像データを、第二制御部３００に送信する（ステップＳ２１３）。第二制御部３００は、第二インタフェース部１３０から受信した画像データを、第二記憶部４００に送信する（ステップＳ２１４）。
【００６５】
スキャナ１０１は、さらに、取得した画像データを、画像処理ＡＳＩＣ１０２に送信する（Ｓ２１５）。画像処理ＡＳＩＣ１０２は、スキャナ１０１から受信した画像データに、所定の画像処理を施し、その画像データを、第一制御部１００の第一インタフェース部１１０に送信する（ステップＳ２１６）。
【００６６】
次いで、第一インタフェース部１１０（送受信部１１１）は、画像処理ＡＳＩＣ１０２から画像データを受信し、宛先制御部１１２の示す宛先である第一記憶部２００に対して、画像データを送信する（ステップＳ２１７）。調停部１２０（転送部１２１）は、第一インタフェース部１１０から受信した画像データを、第一記憶部２００に送信する（ステップＳ２１８）。第二インタフェース部１３０（指示部１３３）は、第一インタフェース部１１０（計測部１１３）から、送信された画像データのデータ量を受信する（ステップＳ２１９）。
【００６７】
次いで、上記のステップＳ２１５−Ｓ２１９と同様に、スキャナ１０１で読み取られた画像データが、第一記憶部２００に送信され、送信されたデータ量が取得される（ステップＳ２２０−Ｓ２２４）。ここで、第二インタフェース部１３０（指示部１３３）は、送信された画像データのデータ量が所定量に達したことを検知する（ステップＳ２２５）。そして、第二インタフェース部１３０（指示部１３３）は、第一インタフェース部１１０（宛先制御部１１２）に、画像データの宛先を、第一記憶部２００から第二記憶部４００に切り替えるよう指示する指示信号を送信する（ステップＳ２２６）。
【００６８】
さらに、第二インタフェース部１３０（指示部１３３）は、管理情報を更新する信号を第二制御部３００に送信する（ステップＳ２２７）。第二制御部３００は、受信した信号に従って、管理情報を更新する（ステップＳ２２８）。
【００６９】
以後、上記のステップＳ２０１−Ｓ２０６と同様に、スキャナ１０１で読み取られた画像データが、第一制御部１００及び第二制御部３００を介して、第二記憶部４００に送信される（ステップＳ２２９−Ｓ２３４）。
【００７０】
以上の動作により、第二制御部３００（チップセット１０７）側の通信路でエラーが発生した場合であっても、第二インタフェース部１３０（ＰＣＩｅ  Ｉ／Ｆ２０３）の送信バッファが溢れることを回避することができる。その結果、本実施形態における画像読取装置１は、スキャナ１０１で読み取った画像データを破壊することなく、取得することができるようになる。このことは、例えば、スキャナ１０１が両面読取りに対応しており、画像データの送信に大きな帯域を必要とする場合に、特に有効である。
【００７１】
＜４．変形例＞
次に、本発明の別の実施形態である画像処理装置２を、図９−図１３を用いて説明する。本実施形態における画像処理装置２の構成は、図１、図２で示した画像読取装置１と同様である。但し、画像処理装置２は、図１に示されるスキャナ１０１の代わりに、プロッタ（図示しない）を有する。プロッタは、画像処理ＡＳＩＣ１０２を介して入力される画像データを、紙面に出力することができる。画像処理装置２は、例えばメインメモリ１０４に記憶された画像データを、チップセット１０７、コントローラＡＳＩＣ１０３及び画像処理ＡＳＩＣ１０２を介して、プロッタに出力する。
【００７２】
図９、図１０に示されるように、本実施形態では、チップセット１０７から画像処理ＡＳＩＣ１０２に画像データが送信される場合に、ＰＣＩｅ  Ｉ／Ｆ２０２の送信バッファが閾値を超えた場合に、画像データをローカルメモリ１０５に一時的に蓄積する。
【００７３】
＜機能＞
図１１は、本実施形態における画像処理装置２の機能ブロック図である。画像処理装置２の機能は、図６に示される画像読取装置１と基本的に同様である。但し、図１１に示される例では、第二制御部３００で動作するアプリケーションが、第二記憶部４００又はＨＤＤ１０６に記憶された画像データを、コントローラＡＳＩＣ１０３を介して、画像処理ＡＳＩＣ１０２に送信する。
【００７４】
図１１に示されるように、第一インタフェース部１１０と第二インタフェース部１３０とは、図６に示される例と比較して、反対の位置に配置されている。また、第一インタフェース部１１０は、画像処理ＡＳＩＣ１０２ではなく、第二制御部３００から送信された画像データを受信する。さらに、第二インタフェース部１３０は、第二制御部３００ではなく、画像処理ＡＳＩＣ１０２に画像データを送信する。
【００７５】
以下、図６に示した例と異なる機能を中心に説明する。
【００７６】
図１１に示される第一インタフェース部１１０の送受信部１１１は、第二制御部３００から送信された画像データを受信し、宛先制御部１１２の示す宛先に対して、画像データを送信する。
【００７７】
図１１に示される第一インタフェース部１１０の宛先制御部１１２は、第二インタフェース部１３０の指示部１３３からの指示信号を受信すると、画像データの宛先を、画像処理ＡＳＩＣ１０２又は第一記憶部２００に切り替える。
【００７８】
図１１に示される調停部１２０の転送部１２１は、指示部１３３からの指示に応じて、第一記憶部２００に一時的に画像データを、画像処理ＡＳＩＣ１０２に送信する。
【００７９】
図１１に示される第二インタフェース部１３０の送受信部１３１は、転送部１２１から受信した画像データをバッファに蓄積し、その画像データを画像処理ＡＳＩＣ１０２へと送信する。
【００８０】
図１１に示される第二インタフェース部１３０の指示部１３３は、監視部１３２から通知信号を受け取ると、画像データの宛先を画像処理ＡＳＩＣ１０２から第一記憶部２００に切り替えるよう指示する指示信号を、宛先制御部１１２に送信する。
【００８１】
また、指示部１３３は、第一記憶部２００にデータが送信された場合に、そのデータ量が、所定のデータ量に達したとき、転送部１２１に、第一記憶部２００に記憶された画像データを、画像処理ＡＳＩＣ１０２に送信するよう指示する。その後、指示部１３３は、画像データの宛先を第一記憶部２００から画像処理ＡＳＩＣ１０２に切り替えるよう指示する指示信号を、宛先制御部１１２に送信する。
【００８２】
図１１に示される第二制御部３００は、画像データの出力動作（例えば、印刷、加工又は送信）において、第二記憶部４００に記憶された画像データを、画像処理ＡＳＩＣ１０２に送信する。
【００８３】
図１１に示される第二記憶部４００は、予め取得された画像データ４０００を記憶する。
【００８４】
＜動作例＞
次に、図１２、図１３を用いて、本実施形態における画像処理装置２の動作例を説明する。
【００８５】
図１２は、画像処理装置２の処理の流れを表すフローチャートである。ここでは、第二制御部３００が、第二記憶部４００の画像データを、画像処理ＡＳＩＣ１０２に送信している状態である。
【００８６】
第二インタフェース部１３０の監視部１３２は、送受信部１３１のバッファの使用量を取得し、閾値１０００と比較する（ステップＳ３０１）。使用量が閾値１０００を超えている場合（ステップＳ３０２のＹｅｓ）、指示部１３３は、画像データの宛先を、画像処理ＡＳＩＣ１０２から第一記憶部２００に切り替えるよう指示する指示信号を、宛先制御部１１２に送信する（ステップＳ３０３）。そうでない場合には（ステップＳ３０２のＮｏ）、ステップＳ３０１に戻る。
【００８７】
ステップＳ３０３の次に、指示部１３３は、計測部１１３を介して、送信された画像データのデータ量を取得する（ステップＳ３０４）。取得したデータ量が所定量に達している場合（ステップＳ３０５のＹｅｓ）、指示部１３３は、転送部１２１に指示信号を送信し、第一記憶部２００に記憶された画像データを、画像処理ＡＳＩＣ１０２に転送させる（ステップＳ３０６）。そうでない場合には（ステップＳ３０５のＮｏ）、ステップＳ３０４に戻る。
【００８８】
ステップＳ３０６の次に、指示部１３３は、画像データの宛先を、第一記憶部２００から画像処理ＡＳＩＣ１０２に切り替えるよう指示する指示信号を、宛先制御部１１２に送信する（ステップＳ３０７）。
【００８９】
図１３は、本発明の一実施形態における画像処理装置２の全体の動作例を表すシーケンス図である。ここでは、第二制御部３００が、第二記憶部４００の画像データを、画像処理ＡＳＩＣ１０２に送信するよう指示する。
【００９０】
第二制御部３００は、第二記憶部４００に記憶された画像データを読取り、この画像データを、第一制御部１００に送信する（ステップＳ４０１）。第一制御部１００の第一インタフェース部１１０（送受信部１３１）は、第二制御部３００から画像データを受信し、宛先制御部１１２の示す宛先である画像処理ＡＳＩＣ１０２に対して、画像データを送信する（ステップＳ４０２）。調停部１２０（転送部１２１）は、第一インタフェース部１１０から受信した画像データを、第二インタフェース部１３０に送信する（ステップＳ４０３）。第二インタフェース部（送受信部１３１）は、調停部１２０から受信した画像データを、画像処理ＡＳＩＣ１０２に送信する（ステップＳ４０４）。
【００９１】
次いで、上記のステップＳ４０１−Ｓ４０３と同様に、画像データが第二インタフェース部１３０に送信される（ステップＳ４０５−Ｓ４０７）。ここで、画像処理ＡＳＩＣ１０２と第一制御部１００との間の通信エラーにより、データ転送ができず、第二インタフェース部１３０の送受信部１３１のバッファ使用量が閾値を超えたものとする。
【００９２】
第二インタフェース部１３０（監視部１３２）は、バッファ使用量が閾値を超えたことを検知する（ステップＳ４０８）。そして、第二インタフェース部１３０（指示部１３３）は、第一インタフェース部１１０（宛先制御部１１２）に、画像データの宛先を、画像処理ＡＳＩＣ１０２から第一記憶部２００に切り替えるよう指示する指示信号を送信する（ステップＳ４０９）。その後、第二インタフェース部１３０（送受信部１３１）は、バッファに蓄積されていた画像データを、画像処理ＡＳＩＣ１０２に送信する（ステップＳ４１０）。
【００９３】
第二制御部３００は、さらに、画像データを、画像処理ＡＳＩＣ１０２に送信する（ステップＳ４１１）。第一インタフェース部１１０（送受信部１１１）は、第二制御部３００から画像データを受信し、宛先制御部１１２の示す宛先である第一記憶部２００に対して、画像データを送信する（ステップＳ４１２）。調停部１２０（転送部１２１）は、第一インタフェース部１１０から受信した画像データを、第一記憶部２００に送信する（ステップＳ４１３）。第二インタフェース部１３０（指示部１３３）は、第一インタフェース部１１０（計測部１１３）から、送信された画像データのデータ量を受信する（ステップＳ４１４）。
【００９４】
次いで、上記のステップＳ４１１−Ｓ４１４と同様に、第二制御部３００から送信された画像データが、第一記憶部２００に送信され、送信されたデータ量が取得される（ステップＳ４１５−Ｓ４１８）。ここで、第二インタフェース部１３０（指示部１３３）は、送信された画像データのデータ量が所定量に達したことを検知する（ステップＳ４１９）。
【００９５】
ここで、第二インタフェース部１３０（指示部１３３）は、転送部１２１に、第一記憶部２００に記憶された画像データを、画像処理ＡＳＩＣ１０２に転送するよう指示する指示信号を送信する（ステップＳ４２０）。これに応じて、調停部１２０（転送部１２１）は、第一記憶部２００から画像データを受信し（ステップＳ４２１）、その画像データを第二インタフェース部１３０に送信する（ステップＳ４２２）。第二インタフェース部１３０（送受信部１３１）は、受信した画像データを、画像処理ＡＳＩＣ１０２に送信する（ステップＳ４２３）。さらに、第一記憶部２００に記憶された画像データを全て画像処理ＡＳＩＣ１０２に送信するために、上記のステップＳ４２１−Ｓ４２３と同様のステップＳ４２４−Ｓ４２６が実行される。
【００９６】
その後、第二インタフェース部１３０（指示部１３３）は、第一インタフェース部１１０（宛先制御部１１２）に、画像データの宛先を、第一記憶部２００から画像処理ＡＳＩＣ１０２に切り替えるよう指示する指示信号を送信する（ステップＳ４２７）。
【００９７】
以後、上記のステップＳ４０１−Ｓ４０４と同様に、第二制御部３００から送信された画像データが、第一制御部１００を介して、画像処理ＡＳＩＣ１０２に送信される（ステップＳ４２８−Ｓ４３１）。
【００９８】
以上の動作により、画像処理装置における画像出力動作において、画像処理ＡＳＩＣ１０２側の通信路でエラーが発生した場合であっても、第二インタフェース部１３０（ＰＣＩｅ  Ｉ／Ｆ２０３）の送信バッファが溢れることを回避することができる。その結果、本実施形態における画像処理装置２は、画像データを破壊することなく、出力処理を実行することができるようになる。このことは、例えば、画像処理装置２が、大容量の画像データを、高速に画像処理ＡＳＩＣ１０２に出力する際に特に有効である。
【符号の説明】
【００９９】
１  画像読取装置
２  画像処理装置
１００  第一制御部
１０１  スキャナ
１０２  画像処理ＡＳＩＣ
１０３  コントローラＡＳＩＣ
１０４  メインメモリ
１０５  ローカルメモリ
１０６  ＨＤＤ
１０７  チップセット
１１０  第一インタフェース部
１１１  送受信部
１１２  宛先制御部
１１３  計測部
１２０  調停部
１２１  転送部
１３０  第二インタフェース部
１３１  送受信部
１３２  監視部
１３３  指示部
２００  第一記憶部
３００  第二制御部
４００  第二記憶部
１０００  閾値
２０００  画像データ
４０００  画像データ
４１００  管理情報
【先行技術文献】
【特許文献】
【０１００】
【特許文献１】特開２００８−３０１１８６号公報
【図１】
2015128207.tif 000003
【図２】
2015128207.tif 000004
【図３】
2015128207.tif 000005
【図４】
2015128207.tif 000006
【図５】
2015128207.tif 000007
【図６】
2015128207.tif 000008
【図７】
2015128207.tif 000009
【図８】
2015128207.tif 000010
【図９】
2015128207.tif 000011
【図１０】
2015128207.tif 000012
【図１１】
2015128207.tif 000013
【図１２】
2015128207.tif 000014
【図１３】
2015128207.tif 000015