(57)【要約】【課題】ＰＣＩｅを介してデータ転送制御を行うデータ転送制御装置において、レイテンシの発生抑制のためにデータ転送リクエストの量を制限しつつ、装置全体のパフォーマンスの低下を防止すること。【解決手段】データの転送要求に基づくデータの転送処理を制御するデータ転送制御装置であって、データ転送処理において発生するデータ転送の遅延時間を計測する遅延時間計測部と、データ転送要求を発行するモジュールのうちデータ転送において所定の制約があるモジュールである転送制約モジュールの動作有無を示す情報である動作有無情報を取得する動作有無情報取得部と、計測された遅延時間が所定の閾値以上であって、取得された動作有無情報が動作中を示す場合に、転送制約モジュールにおいて発行されるデータ転送要求の送信量を制限する転送制御部とを含むことを特徴とする。【選択図】図３
2016177503.tif 000002
【特許請求の範囲】
【請求項１】
データの転送要求に基づくデータの転送処理を制御するデータ転送制御装置であって、
データ転送処理において発生するデータ転送の遅延時間を計測する遅延時間計測部と、
前記データ転送要求を発行するモジュールのうちデータ転送において所定の制約があるモジュールである転送制約モジュールの動作有無を示す情報である動作有無情報を取得する動作有無情報取得部と、
計測された前記遅延時間が所定の閾値以上であって、取得された前記動作有無情報が動作中を示す場合に、前記転送制約モジュールにおいて発行される前記データ転送要求の送信量を制限する転送制御部と
を含むデータ転送制御装置。
【請求項２】
前記転送制御部は、前記データ転送要求を受信する要求受信装置において受信可能なデータ量を示す値から前記データ転送制御装置において予め定められた値を減算した値に基づいて、前記データ転送要求の送信量を制限する
請求項１に記載のデータ転送制御装置。
【請求項３】
前記転送制約モジュールは、所定量の画像データの転送が所定の時間周期内に完了する必要がある処理を行うモジュールである
請求項１又は２に記載のデータ転送制御装置。
【請求項４】
前記転送制御部は、前記転送制約モジュールの前記動作有無情報が動作停止中を示す場合に、前記データ転送要求の送信量の制限を解除する
請求項１〜３のいずれか１項に記載のデータ転送制御装置。
【請求項５】
前記転送制御部は、前記遅延時間が前記閾値未満である場合に、前記データ転送要求の送信量の制限を解除する
請求項１〜４のいずれか１項に記載のデータ転送制御装置。
【請求項６】
前記転送制御部は、ＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）を介する前記データ転送処理を制御する
請求項１〜５のいずれか１項に記載のデータ転送制御装置。
【請求項７】
請求項１〜６のいずれか１項に記載のデータ転送制御装置を備える画像処理装置であって、前記データ転送制御装置により転送制御された画像データに対する画像処理を実行する画像処理装置。
【請求項８】
請求項１〜６のいずれか１項に記載のデータ転送制御装置と前記データ転送制御装置から送信されるデータ転送要求を受信する要求受信装置とを備えるデータ転送システム。
【請求項９】
データの転送要求に基づくデータの転送処理を制御するデータ転送制御方法であって、
データ転送処理において発生するデータ転送の遅延時間を計測するステップと、
前記データ転送要求を発行するモジュールのうちデータ転送において所定の制約があるモジュールである転送制約モジュールの動作有無を示す情報である動作有無情報を取得するステップと、
計測された前記遅延時間が所定の閾値以上であって、取得された前記動作有無情報が動作中を示す場合に、前記転送制約モジュールにおいて発行される前記データ転送要求の送信量を制限するステップと
を含むデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置、画像処理装置、データ転送システム及びデータ転送制御方法に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）として構成されることが多い。
【０００３】
このような画像処理装置において、様々な画像処理を行うＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の演算装置とデータを読み書きするメモリを制御するコントローラとの間で画像データが転送される。また、このような画像データは、高速な転送を行うインタフェースであるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）−Ｅｘｐｒｅｓｓ（登録商標）（以降、「ＰＣＩｅ」とする）を介して転送される。
【０００４】
ＰＣＩｅを介した画像データ等のデータ転送の際には、レイテンシが発生する場合がある。このようなレイテンシの発生の抑制を目的として、複数のデバイス間でＰＣＩｅを介してデータ転送を行うデータ転送システムにおいて、データ転送リクエストの量を制限することが提案されている（例えば、特許文献１を参照）。具体的には、データ転送システムにおいて、データ転送リクエストを受信するデバイスが、データ転送リクエストを送信するデバイスからのデータ転送レートを計測し、計測結果に基づいてデータ転送リクエストの量を制限する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像処理装置においては、所定量のデータ転送完了までの時間が厳密に制限されておりレイテンシの抑制が必須である処理と、所定量のデータ転送完了までの時間が厳密には制限されておらずレイテンシの抑制が必須ではない処理とがある。例えば、紙面上に画像形成出力を実行するプロッタ装置とメモリとの間で画像データを転送する際には、プロッタ装置の動作タイミングに合わせる必要があることから、１ライン分のデータ転送完了までの時間が厳密に制限されている。一方、画像の拡大縮小を実行する画像編集部とメモリとの間でデータを転送する際には、他の装置の動作タイミングに合わせる必要がないので、所定量のデータ転送完了までの時間は厳密には制限されていない。
【０００６】
特許文献１に開示された技術においては、データ転送リクエストを受信するデバイスが上述したデータ転送完了までの時間の制限を考慮せず、どのような処理においてもデータ転送リクエストの量を制限する。そのため、特許文献１に開示された技術においては、レイテンシの抑制が必須ではない処理であっても、データ転送リクエストの量が制限されることによりデータの転送が制限され、データ転送システム全体のパフォーマンスがかえって低下する場合がある。
【０００７】
なお、このような課題は、画像処理装置における画像データの転送制御に限らず、画像処理以外の様々な処理を行うためにＰＣＩｅを介してデータ転送制御を行うデータ転送制御装置においても同様に生じ得る。
【０００８】
本発明は、上記実情に鑑みてなされたものであり、ＰＣＩｅを介してデータ転送制御を行うデータ転送制御装置において、レイテンシの発生抑制のためにデータ転送リクエストの量を制限しつつ、装置全体のパフォーマンスの低下を防止することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一態様は、データの転送要求に基づくデータの転送処理を制御するデータ転送制御装置であって、データ転送処理において発生するデータ転送の遅延時間を計測する遅延時間計測部と、前記データ転送要求を発行するモジュールのうちデータ転送において所定の制約があるモジュールである転送制約モジュールの動作有無を示す情報である動作有無情報を取得する動作有無情報取得部と、計測された前記遅延時間が所定の閾値以上であって、取得された前記動作有無情報が動作中を示す場合に、前記転送制約モジュールにおいて発行される前記データ転送要求の送信量を制限する転送制御部とを含むことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ＰＣＩｅを介してデータ転送制御を行うデータ転送制御装置において、レイテンシの発生抑制のためにデータ転送リクエストの量を制限しつつ、装置全体のパフォーマンスの低下を防止することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る画像処理装置のハードウェア構成を例示するブロック図である。
【図２】本発明の実施形態に係る画像処理部の構成を例示するブロック図である。
【図３】本発明の実施形態に係るフロー制御部によるフロー制御の動作を例示するフローチャートである。
【図４】本発明の実施形態に係るＰＣＩｅ通信コアによるデータ転送リクエストの送信制御の動作を例示するフローチャートである。
【図５】本発明の実施形態に係るＰＣＩｅ通信コアによるクレジット制限を受けた場合の動作を例示するフローチャートである。
【図６】本発明の実施形態に係るクレジット値を概念的に例示する図である。
【図７】本発明の実施形態に係る本発明の実施形態に係る画像処理部の構成を例示するブロック図である。
【図８】本発明の実施形態に係る本発明の実施形態に係る画像処理部の構成を例示するブロック図である。
【図９】本発明の実施形態に係る本発明の実施形態に係る画像処理部の構成を例示するブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）としての画像処理装置を例として説明する。
【００１３】
図１は、本実施形態に係る画像処理装置１の構成のうち画像データの転送に関するハードウェア構成を例示するブロック図である。図１に示すように、本実施形態に係る画像処理装置１は、プロッタ１０、スキャナ２０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０、メモリ４０及び画像処理部１００を含む。また、ＣＰＵ３０及び画像処理部１００は、ＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）（以降、「ＰＣＩｅ」とする）介して接続されている。
【００１４】
プロッタ１０は、画像形成出力対象の画像データに基づき、紙面上に画像形成出力を実行する。スキャナ２０は、原稿を読み取って画像データ（以降、「スキャンデータ」とする）を生成する。ＣＰＵ３０は、画像処理部１００の動作を制御するとともに、画像処理部１００からのデータ転送リクエストに応じて、メモリ４０に対して画像データの読み書きを制御する。メモリ４０は、画像データを格納する記憶領域であり、ＣＰＵ３０の制御により、メモリ４０に画像データが書き込まれたり、メモリ４０に格納されている画像データが読み出されたりする。
【００１５】
画像処理部１００は、各種の画像処理を行う専用デバイスであり、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の演算装置により構成される。例えば、画像処理部１００は、ＣＰＵ３０に対してデータ転送リクエストを送信して、ＰＣＩｅを介してメモリ４０に格納されている画像データを取得したり、メモリ４０に対して画像データを転送したりする。
【００１６】
具体的には、例えば、画像処理部１００は、ユーザによる印刷指示を受け付けると、ＣＰＵ３０に対してメモリ４０に格納された画像データを読み出すメモリリードリクエストを送信する。これにより、画像処理部１００は、ＣＰＵ３０の制御によりメモリ４０から読み出されて転送された画像データを取得し、プロッタ１０に対して転送する。プロッタ１０は、転送された画像データを紙面上に画像形成出力する。すなわち、この場合、メモリリードリクエストがデータ転送リクエスト（データ転送要求）である。
【００１７】
また、例えば、画像処理部１００は、ユーザによる原稿の読取指示を受け付けると、スキャナ２０により生成されたスキャンデータを取得する。スキャンデータを取得した画像処理部１００は、ＣＰＵ３０に対してメモリ４０に画像データを書き込むメモリライトリクエストとともに取得したスキャンデータを送信する。これにより、スキャンデータがメモリ４０に格納される。すなわち、この場合、メモリライトリクエストがデータ転送リクエスト（データ転送要求）である。
【００１８】
また、本実施形態において、画像処理部１００は、データ転送要求に基づくデータの転送処理を制御するデータ転送制御装置として機能し、ＣＰＵ３０は、画像処理部１００からのデータ転送要求を受信する要求受信装置として機能する。また、データ転送制御装置及び要求受信装置によりデータ転送システムが構成される。
【００１９】
上述した画像処理部１００によるメモリ４０からプロッタ１０への画像データの転送は、プロッタ１０のメカの動作タイミングに合わせる必要がある。そのため、プロッタ１０への所定量の画像データの転送は、所定の時間周期（例えば、数十μｓ）以内に完了する必要があり、データ転送完了までの時間が厳密に制限されている。所定量の画像データの転送が所定の時間周期以内に完了しない場合、プロッタ１０による画像形成出力の実行に対して必要な画像データの転送が間に合わず、白抜けやノイズが発生した異常画像が紙面上に出力される。
【００２０】
また、スキャナ２０からメモリ４０への所定量の画像データの転送も同様に、所定の時間周期（例えば、数十μｓ）以内に完了する必要があり、データ転送完了までの時間が厳密に制限されている。所定量の画像データの転送が所定の時間周期以内に完了しない場合、スキャナ２０から生成される画像データに対してメモリ４０への格納が間に合わず、白抜けやノイズが発生した異常画像がメモリ４０に格納される。
【００２１】
そのため、画像処理部１００によるプロッタ１０への画像データの転送やスキャナ２０からの画像データの転送等の画像入出力処理における画像データの転送では、レイテンシの抑制が必須である。一方、画像処理部１００による処理によっては、所定量のデータ転送完了までの時間が厳密には制限されておらず、レイテンシの抑制が必須ではないものもある。
【００２２】
レイテンシの抑制が必須ではない処理としては、例えば、画像データの拡大縮小等を行う画像編集処理や画像データの圧縮伸張を行う圧縮伸張処理がある。画像処理部１００は、画像編集処理において、ＣＰＵ３０に対してメモリリードリクエストを送信して、メモリ４０に格納されている画像データを取得する。そして、画像処理部１００は、取得した画像データに対して拡大縮小等の処理を行った後、メモリライトリクエストを送信してメモリ４０に処理後の画像データを転送する。
【００２３】
また、画像処理部１００は、圧縮伸張処理において、ＣＰＵ３０に対してメモリリードリクエストを送信して、メモリ４０に格納されている画像データを取得して圧縮処理を行った後、メモリライトリクエストを送信してメモリ４０に圧縮後の画像データを転送する。また、画像処理部１００は、ＣＰＵ３０に対してメモリリードリクエストを送信して、メモリ４０に格納されている圧縮された画像データを取得して伸張処理を行った後、メモリライトリクエストを送信してメモリ４０に伸張後の画像データを転送する。
【００２４】
このような画像処理部１００による画像編集処理や圧縮伸張処理のための画像データ転送は、他の装置の動作タイミングに合わせる必要がない。そのため、所定量の画像データの転送が所定の時間周期内に間に合わない場合であっても、異常画像が発生することはない。したがって、画像編集処理や圧縮伸張処理のための画像データ転送では、レイテンシの抑制が必須ではない。
【００２５】
レイテンシを抑制するためには、データの転送レートに応じて、データ転送リクエストの量を制限することが考えられる。しかしながら、画像処理部１００においてレイテンシの抑制が必須ではない処理にも関わらず、データ転送リクエストの量が制限されると、データ転送が制限され、画像処理装置１全体のパフォーマンスがかえって低下する場合がある。一方で、画像処理部１００においてレイテンシの抑制が必須である処理においては、データ転送リクエストの量が制限されないと、レイテンシの発生により異常画像が発生する場合がある。
【００２６】
本実施形態に係る要旨は、様々な画像処理を実行する画像処理部１００において、レイテンシの発生抑制のためにデータ転送リクエストの量を制限しつつ、装置全体のパフォーマンスの低下を防止することにある。以下、本実施形態に係る画像処理部１００の詳細な構成を説明する。
【００２７】
図２は、本実施形態に係る画像処理部１００の構成を例示するブロック図である。図２に示すように、画像処理部１００は、画像出力部１０１、画像入力部１０２、画像編集部１０３、圧縮伸張部１０４、クロスバースイッチ１０５、ＰＣＩｅ通信コア１０６、動作情報取得部１０７、レジスタ１０８及びフロー制御部１０９を含む。
【００２８】
画像出力部１０１は、上述したように、メモリ４０に格納されている画像データを取得し、プロッタ１０に転送する。具体的には、画像出力部１０１は、クロスバースイッチ１０５及びＰＣＩｅ通信コア１０６を介してＣＰＵ３０に対してメモリリードリクエストを送信し、リクエストに応じてＣＰＵ３０から転送された画像データを取得して、プロッタ１０に転送する。上述したように、画像出力部１０１におけるデータ転送は他の装置であるプロッタ１０の動作タイミングに合わせる必要があるので、画像出力部１０１は、レイテンシの抑制が必須のモジュールである。
【００２９】
画像入力部１０２は、上述したように、スキャナ２０により生成されたスキャンデータを、メモリ４０に転送する。具体的には、画像入力部１０２は、クロスバースイッチ１０５及びＰＣＩｅ通信コア１０６を介してＣＰＵ３０に対してメモリライトリクエストを送信するとともに、スキャナ２０により生成されたスキャンデータを転送する。上述したように、画像入力部１０２におけるデータ転送は他の装置であるスキャナ２０の動作タイミングに合わせる必要があるので、画像入力部１０２は、レイテンシの抑制が必須のモジュールである。
【００３０】
なお、以降、所定量の画像データの転送を所定の時間周期内に完了する必要があるというデータ転送における所定の制約があり、レイテンシの抑制が必須である画像出力部１０１及び画像入力部１０２等のモジュールを、「転送制約モジュール」とする。
【００３１】
画像編集部１０３は、上述したように、画像データの拡大縮小、フォーマット変換、回転、スタンプ押下等の画像編集処理を行う。具体的には、画像編集部１０３は、クロスバースイッチ１０５及びＰＣＩｅ通信コア１０６を介してＣＰＵ３０に対してメモリリードリクエストを送信し、リクエストに応じてＣＰＵ３０から転送された画像データを取得する。
【００３２】
そして、画像編集部１０３は、取得した画像データに対して画像編集処理を行い、クロスバースイッチ１０５及びＰＣＩｅ通信コア１０６を介してＣＰＵ３０に対してメモリライトリクエストを送信するとともに、編集処理後の画像データを転送する。上述したように、画像編集部１０３におけるデータ転送は他の装置の動作タイミングに合わせる必要がないので、画像編集部１０３は、レイテンシの抑制が必須ではないモジュールである。
【００３３】
圧縮伸張部１０４は、上述したように、画像データの圧縮伸張処理を行う。具体的には、圧縮伸張部１０４は、クロスバースイッチ１０５及びＰＣＩｅ通信コア１０６を介してＣＰＵ３０に対してメモリリードリクエストを送信し、リクエストに応じてＣＰＵ３０から転送された画像データを取得する。そして、圧縮伸張部１０４は、取得した画像データを圧縮処理し、クロスバースイッチ１０５及びＰＣＩｅ通信コア１０６を介してＣＰＵ３０に対してメモリライトリクエストを送信するとともに、圧縮後の画像データを転送する。
【００３４】
また、圧縮伸張部１０４は、クロスバースイッチ１０５及びＰＣＩｅ通信コア１０６を介してＣＰＵ３０に対してメモリリードリクエストを送信し、リクエストに応じてＣＰＵ３０から転送された圧縮された画像データを取得する。そして、圧縮伸張部１０４は、取得した圧縮された画像データを伸張処理し、クロスバースイッチ１０５及びＰＣＩｅ通信コア１０６を介してＣＰＵ３０に対してメモリライトリクエストを送信するとともに、伸張後の画像データを転送する。上述したように、圧縮伸張部１０４におけるデータ転送は他の装置の動作タイミングに合わせる必要がないので、圧縮伸張部１０４は、レイテンシの抑制が必須ではないモジュールである。
【００３５】
クロスバースイッチ１０５は、上述した各種モジュールとＰＣＩｅ通信コアとの間でデータを送受信するための接続切替部である。ＰＣＩｅ通信コア１０６は、後述するフロー制御部１０９の制御に従って、各種モジュールからクロスバースイッチ１０５を介して送信されたデータ転送リクエストをＣＰＵ３０に対して送信する。また、ＰＣＩｅ通信コア１０６は、クロスバースイッチ１０５を介して、ＣＰＵ３０から転送された画像データを、メモリリードリクエストを送信したモジュールに転送する。フロー制御部１０９の制御に従ったＰＣＩｅ通信コア１０６の動作の詳細は後述する。
【００３６】
動作情報取得部１０７は、転送制約モジュールとクロスバースイッチ１０５とを接続するバスを監視して、モジュールの動作情報を取得し、フロー制御部１０９に対して出力する。本実施形態においては、動作情報取得部１０７は、例えば、画像出力部１０１及び画像入力部１０２とクロスバースイッチ１０５とをそれぞれ接続する各バスを監視して、各モジュールの動作情報を取得する。
【００３７】
モジュールの動作情報は、例えば、モジュールが送信したデータ転送リクエストに対するデータ転送処理におけるレイテンシ及びモジュールの動作有無を示す情報（以降、「動作有無情報」とする）である。具体的には、動作情報取得部１０７は、例えば、画像出力部１０１がメモリリードリクエストを発行した（送信した）時刻からリクエストに対する画像データの受信が完了した時刻までの時間をレイテンシとして取得する。すなわち、動作情報取得部１０７は、データ転送処理において発生するデータ転送の遅延時間を計測する遅延時間計測部として機能する。
【００３８】
また、動作情報取得部１０７は、例えば、画像出力部１０１とクロスバースイッチ１０５とを接続するバスにおいてデータ通信が行われている場合に、モジュールが動作中であることを示す動作有無情報を取得する。すなわち、動作情報取得部１０７は、データ転送要求を発行する所定のモジュールの動作有無情報を取得する動作有無情報として機能する。
【００３９】
レジスタ１０８は、後述するフロー制御部１０９による制御に必要な情報を格納する記憶領域である。具体的には、例えば、レジスタ１０８は、動作情報取得部１０７により取得されたレイテンシに対する閾値であるレイテンシ閾値及びクレジット制限時に用いられるクレジット制限値を格納する。なお、レイテンシ閾値及びクレジット制限値は画像処理装置１の管理者等により予め定められるものとする。また、クレジット制限に関する具体的な説明は後述する。
【００４０】
フロー制御部１０９は、転送制約モジュールからデータ転送リクエストが送信された際に、動作情報取得部１０７から入力された動作情報及びレジスタ１０８に格納されている情報に基づいてフロー制御を行う。フロー制御は、ＰＣＩｅ通信コア１０６におけるデータ転送リクエストの送信及びリクエストに応じたデータ転送等の一連のデータ転送に関する処理の流れを制御する処理である。
【００４１】
図３は、フロー制御部１０９によるフロー制御の具体的な動作を例示するフローチャートである。図３に示すように、フロー制御部１０９は、動作情報取得部１０７から入力された動作情報を取得する（Ｓ３０１）。動作情報を取得したフロー制御部１０９は、取得した動作情報が示すレイテンシがレジスタ１０８に格納されているレイテンシ閾値以上であり、かつ動作有無情報が動作中であることを示すか否かを判定する（Ｓ３０２）。
【００４２】
レイテンシがレイテンシ閾値未満又は動作有無情報が動作停止中であることを示す場合（Ｓ３０２／ＮＯ）、フロー制御部１０９は、そのまま待機し、動作情報取得部１０７から再度入力される動作情報を取得する（Ｓ３０１）。なお、本実施形態においては、動作情報取得部１０７は、フロー制御部１０９に対して定期的に動作情報を出力する場合を例として説明する。その他、フロー制御部１０９が、動作情報取得部１０７に対して、必要なタイミングで動作情報を要求してもよい。
【００４３】
一方、レイテンシがレイテンシ閾値以上であり、かつ動作有無情報が動作中であることを示す場合（Ｓ３０２／ＹＥＳ）、フロー制御部１０９は、クレジットを制限するようＰＣＩｅ通信コア１０６に対して通知する（Ｓ３０３）。クレジットは、ＰＣＩｅで規定されるフロー制御において用いられる概念であり、クレジット値は、データ転送リクエストを受信するＣＰＵ３０において受信可能なデータ量（空きバッファ容量）である。換言すると、クレジット値は、データ転送リクエストを送信する画像処理部１００において送信可能なデータ量である。
【００４４】
クレジットの制限は、画像処理部１００において送信可能なデータ量を制限する処理である。すなわち、クレジットの制限により、動作情報が取得された転送制約モジュールによるデータ転送リクエストの送信量が制限される。すなわち、フロー制御部１０９は、レイテンシがレイテンシ閾値以上であって、動作有無情報が動作中を示す場合に、転送制約モジュールにおいて発行されるデータ転送要求の送信量を制限する転送制御部として機能する。なお、クレジットやクレジット制限の詳細は、図４〜図６を参照して後述する。
【００４５】
クレジットの制限を通知したフロー制御部１０９は、動作情報取得部１０７から動作情報を取得する（Ｓ３０４）。動作情報を取得したフロー制御部１０９は、取得した動作情報が示すレイテンシがレジスタ１０８に格納されているレイテンシ閾値未満又は動作有無情報が動作停止中であることを示すか否かを判定する（Ｓ３０５）。
【００４６】
レイテンシがレイテンシ閾値以上かつ動作有無情報が動作中であることを示す場合（Ｓ３０５／ＮＯ）、フロー制御部１０９は、そのまま待機し、動作情報取得部１０７から再度入力される動作情報を取得する（Ｓ３０４）。なお、本実施形態においては、動作情報取得部１０７は、フロー制御部１０９に対して定期的に動作情報を出力する場合を例として説明する。その他、フロー制御部１０９が、動作情報取得部１０７に対して、必要なタイミングで動作情報を要求してもよい。
【００４７】
一方、レイテンシがレイテンシ閾値未満または動作有無情報が動作停止中であることを示す場合（Ｓ３０５／ＹＥＳ）、フロー制御部１０９は、クレジットの制限を解除するようＰＣＩｅ通信コア１０６に対して通知する（Ｓ３０６）。クレジットの制限解除を通知したフロー制御部１０９は、Ｓ３０１の処理に戻り、画像処理装置１が動作している間、以降の処理を繰り返す。
【００４８】
次に、ＰＣＩｅ通信コア１０６による動作の詳細を説明する。図４は、ＰＣＩｅ通信コア１０６によるクレジットに基づくデータ転送リクエストの送信制御の動作を例示するフローチャートである。図５は、ＰＣＩｅ通信コア１０６によるフロー制御部１０９からクレジット制限を受けた場合の動作を例示するフローチャートである。なお、クレジットに基づくフロー制御は、ＰＣＩｅのデータリンクレイヤが生成するＤＬＬＰ（Ｄａｔａ  Ｌｉｎｋ  Ｌａｙｅｒ  Ｐａｃｋｅｔ）によって実現される。
【００４９】
図４に示すように、ＰＣＩｅ通信コア１０６は、ＣＰＵ３０とのリンクが確立された際に、ＣＰＵ３０からＣＰＵ３０が受信可能な初期のデータ量である初期クレジット値を取得する（Ｓ４０１）。初期クレジット値を取得したＰＣＩｅ通信コア１０６は、データ転送リクエストの送信が可能か否かを判定する（Ｓ４０２）。具体的には、ＰＣＩｅ通信コア１０６は、取得したクレジット値がデータ転送リクエストの量以上であるか否かを判定する。
【００５０】
データ転送リクエストの送信が可能である場合（Ｓ４０２／ＹＥＳ）、ＰＣＩｅ通信コア１０６は、クロスバースイッチ１０５を介してモジュールから入力されたデータ転送リクエストをＣＰＵ３０に対して送信する（Ｓ４０３）。データ転送リクエストを送信したＰＣＩｅ通信コア１０６は、取得したクレジット値からデータ転送リクエストを送信したデータ量分を減算する（Ｓ４０４）。
【００５１】
クレジット値を減算したＰＣＩｅ通信コア１０６は、ＣＰＵ３０からクレジットの更新通知を受けたか否かを判定する（Ｓ４０５）。ＣＰＵ３０は、所定のクレジット値（例えば、受信が完了したデータ分のバッファ容量）を更新通知としてＰＣＩｅ通信コア１０６に対して出力する。本実施形態においては、ＣＰＵ３０は、データ転送リクエストを受信するごとに、ＰＣＩｅ通信コア１０６に対して更新通知を送信する。
【００５２】
ＣＰＵ３０から更新通知を受けた場合（Ｓ４０５／ＹＥＳ）、ＰＣＩｅ通信コア１０６は、現在のクレジット値にＣＰＵ３０から入力されたクレジット値を加算する（Ｓ４０６）。これにより、画像処理部１００から送信可能なデータ量が回復する。クレジット値を加算したＰＣＩｅ通信コア１０６は、クロスバースイッチ１０５を介してモジュールから入力されたデータ転送リクエストの送信が完了したか否かを判定する（Ｓ４０７）。
【００５３】
データ転送リクエストの送信が完了した場合（Ｓ４０７／ＹＥＳ）、ＰＣＩｅ通信コア１０６は、処理を終了する。一方、データ転送リクエストの送信が未完了の場合（Ｓ４０７／ＮＯ）、ＰＣＩｅ通信コア１０６は、Ｓ４０２の処理に戻り、以降の処理を繰り返す。
【００５４】
また、取得したクレジット値が少なく、データ転送リクエストの送信が不可能である場合（Ｓ４０２／ＮＯ）、ＰＣＩｅ通信コア１０６は、データ転送リクエストを送信せず、ＣＰＵ３０からクレジットの更新通知を受けたか否かを判定する（Ｓ４０５）。また、ＣＰＵ３０からクレジットの更新通知を受けていない場合（Ｓ４０５／ＮＯ）、ＰＣＩｅ通信コア１０６は、クレジット値を更新せず、データ転送リクエストの送信が完了したか否かを判定する（Ｓ４０７）。
【００５５】
次に、フロー制御部１０９からクレジット制限を受けた場合のＰＣＩｅ通信コア１０６による動作を、図５を参照して説明する。図５に示すように、ＰＣＩｅ通信コア１０６は、フロー制御部１０９からクレジットの制限通知を受けたか否かを判定する（Ｓ５０１）。クレジット制限通知を受けた場合（Ｓ５０１／ＹＥＳ）、ＰＣＩｅ通信コア１０６は、レジスタ１０８に格納されているクレジット制限値を取得する（Ｓ５０２）。
【００５６】
クレジット制限値を取得したＰＣＩｅ通信コア１０６は、取得したクレジット制限値に基づいて、クレジット制限時におけるクレジット値を算出する（Ｓ５０３）。図６は、クレジット値を概念的に例示する図であり、図６（ａ）は、クレジットが制限されていない場合におけるクレジット値を例示し、図６（ｂ）は、クレジット制限時のクレジット値を例示する。
【００５７】
図６（ａ）に示すように、クレジットが制限されていない場合、送信可能なクレジット値は、ＣＰＵ３０から通知されたクレジット値からデータ転送リクエストにより送信されたデータ量分のクレジット値を減算した値である。
【００５８】
一方、図６（ｂ）に示すように、クレジットが制限されている場合、送信可能なクレジット値は、ＣＰＵ３０から通知されたクレジット値からではなく、制限時クレジット値からデータ転送リクエストにより送信されたデータ量分のクレジット値を減算した値である。また、図６（ｂ）に示すように、制限時クレジット値は、ＣＰＵ３０から通知されたクレジット値からＳ５０２において取得されたクレジット制限値を減算した値である。
【００５９】
このように、ＰＣＩｅ通信コア１０６は、クレジット制限時には、クレジットが制限されていない場合の元のクレジット値よりも小さい制限時クレジット値に基づきフロー制御を行うことで、クレジットを制限する。
【００６０】
図５に戻り、制限時クレジット値を算出したＰＣＩｅ通信コア１０６は、フロー制御部１０９からクレジットの制限解除通知を受けたか否かを判定する（Ｓ５０４）。クレジットの解除通知を受けた場合（Ｓ５０４／ＹＥＳ）、ＰＣＩｅ通信コア１０６は、図６（ａ）に示した通知されたクレジット値を用いてフロー制御を行う（Ｓ５０５）。すなわち、ＰＣＩｅ通信コア１０６は、制限時クレジット値にＳ５０２の処理において取得したクレジット制限値を加算したクレジット値を用いてフロー制御を行う。
【００６１】
通知されたクレジット値に基づきフロー制御を行うＰＣＩｅ通信コア１０６は、画像処理装置１が動作している間、以降の処理を繰り返す。また、クレジット制限通知を受けていない場合（Ｓ５０１／ＮＯ）、ＰＣＩｅ通信コア１０６は、制限時クレジット値を算出することなく、通知されたクレジット値をそのまま用いてフロー制御を行う（Ｓ５０５）。
【００６２】
以上説明したように、本実施形態に係る画像処理部１００は、画像出力部１０１や画像入力部１０２等の転送制約モジュールにおけるデータ転送の際に、転送制約モジュールの動作状態に基づいてデータ転送リクエストの量を制限する。一方、画像処理部１００は、所定量の画像データを所定時間周期内に完了させる必要がないモジュール（例えば、画像編集部１０３、圧縮伸張部１０４）におけるデータ転送の際には、データ転送リクエストの量を制限することはない。
【００６３】
これにより、画像処理部１００自身が転送制約モジュールの状態を監視し、転送制約モジュールが動作中であり、レイテンシが閾値以上である場合には、レイテンシの発生抑制のためにデータ転送リクエストの量を制限することが可能になる。また、転送制約モジュールが動作していない場合や、レイテンシが閾値未満である場合や、レイテンシの抑制が必須ではないモジュールにおけるデータ転送である場合に、データが転送されず、画像処理装置１全体のパフォーマンスが低下することを防止できる。
【００６４】
したがって、本実施形態によれば、ＰＣＩｅを介してデータ転送制御を行うデータ転送制御装置において、レイテンシの発生抑制のためにデータ転送リクエストの量を制限しつつ、装置全体のパフォーマンスの低下を防止することが可能になる。また、本実施形態によれば、ＣＰＵ３０が汎用品でありデータ転送リクエストの制限処理等がＣＰＵ３０側で自由に設定できない場合であっても、レイテンシの抑制や装置全体のパフォーマンスの低下を防止することが可能になる。
【００６５】
また、本実施形態に係る画像処理部１００は、データ転送リクエストを制限するために、画像処理部１００において予め設定されたクレジット制限値に基づき制限時クレジット値を算出し、制限時クレジット値に基づきフロー制御を行う場合を例として説明した。このような構成により、リクエストを受信する側のデバイスであるＣＰＵ３０が汎用品でありクレジット制限値等の設定が自由にできない場合であっても、データ転送リクエストを制限することが可能になる。しかしながら、画像処理部１００において設定されたクレジット制限値を用いる構成は必須ではなく、例えば、ＣＰＵ３０により制限時クレジット値を取得可能な場合は、画像処理部１００は、ＣＰＵ３０から通知された制限時クレジット値を用いてもよい。
【００６６】
なお、上記実施形態において、動作情報取得部１０７は、画像出力部１０１及び画像入力部１０２とクロスバースイッチ１０５とをそれぞれ接続する各バスを監視して、各モジュールの動作情報を取得する場合を例として説明した。その他、図７に示すように、動作情報取得部１０７は、画像出力部１０１とクロスバースイッチ１０５とを接続するバスのみを監視して、画像出力部１０１の動作情報を取得してもよい。また、その他、図８に示すように、動作情報取得部１０７は、画像入力部１０２とクロスバースイッチ１０５とを接続するバスのみを監視して、画像入力部１０２の動作情報を取得してもよい。
【００６７】
このように、例えば、転送制約モジュールであっても、過去のレイテンシの発生状況に基づいてレイテンシの発生率が低いと判定されたモジュールについては動作情報を取得しない構成としてもよい。このような構成であっても、レイテンシの発生を抑制するとともに装置全体のパフォーマンスの低下を防止することができ、また、このような構成によれば、動作情報取得部１０７によるバスの監視負担を軽減することが可能になる。
【００６８】
また、上記実施形態においては、動作情報取得部１０７が、動作情報としてレイテンシ及び動作有無情報を取得する場合を例として説明した。しかしながら、このような構成に限定されず、図９に示すように、レイテンシ測定部１１０がレイテンシを測定して取得し、動作有無情報取得部１１１が動作有無情報を取得する構成であってもよい。この場合、レイテンシ測定部１１０が遅延時間計測部として機能する。
【００６９】
また、上記実施形態においては、画像処理装置１に含まれる画像処理部１００がデータ転送制御装置として機能する場合を例として説明した。しかしながら、本実施形態は、画像処理装置１におけるデータ転送制御装置に限らず、画像処理以外の様々な処理を行うためにＰＣＩｅを介してデータ転送制御を行うデータ転送制御装置においても同様に適用可能である。
【符号の説明】
【００７０】
１  画像処理装置
１０  プロッタ
２０  スキャナ
３０  ＣＰＵ
４０  メモリ
１００  画像処理部
１０１  画像出力部
１０２  画像入力部
１０３  画像編集部
１０４  圧縮伸張部
１０５  クロスバースイッチ
１０６  ＰＣＩｅ通信コア
１０７  動作情報取得部
１０８  レジスタ
１０９  フロー制御部
１１０  レイテンシ測定部
１１１  動作有無情報取得部
【先行技術文献】
【特許文献】
【００７１】
【特許文献１】特許５３１６１３１号明細書
【図１】
2016177503.tif 000003
【図２】
2016177503.tif 000004
【図３】
2016177503.tif 000005
【図４】
2016177503.tif 000006
【図５】
2016177503.tif 000007
【図６】
2016177503.tif 000008
【図７】
2016177503.tif 000009
【図８】
2016177503.tif 000010
【図９】
2016177503.tif 000011