(57)【要約】【課題】複数の画像処理アルゴリズムモジュールが接続された形態を有する画像処理実行部がＤＭＡＣによりメモリとの間のデータ転送を行うときに、画像処理アルゴリズムモジュール自身を変更することなく、各画像処理アルゴリズムモジュールの転送状態の異常を容易に検査できるようにする。【解決手段】画像処理実行部２１は、ＤＭＡＣ２４によりメモリ（図示せず）から画像データを読み込み、画像処理を施した後に、ＤＭＡＣ２５によりメモリに書き込む。ＤＭＡＣ２４の各転送状態の継続時間が所定値に達したとき、第１〜第３の転送量監視部２２８〜２３０が監視している画像処理アルゴリズムモジュール２１１〜２１３の入力データ量及び出力データ量、並びに状態監視部２２１が監視しているＤＭＡＣ２４の転送状態の監視データを状態保持部２２７で保持し、外部のＣＰＵに出力する。【選択図】図２
2012069093.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像処理アルゴリズムモジュールが接続された形態を有する画像処理実行部と、複数の転送状態を遷移して前記画像処理実行部とメモリとの間のデータ転送を行うＤＭＡＣとを有する半導体集積回路であって、
各画像処理アルゴリズムモジュールの入力データ量及び出力データ量を監視するデータ量監視部と、
前記ＤＭＡＣの転送状態を監視する転送状態監視部と、
前記転送状態監視部の監視情報に基づいて、前記ＤＭＡＣの各転送状態の継続時間を計測する計時部と、
該計時部による各転送状態の継続時間の計時結果が所定値に達したとき、前記データ量監視部の監視情報、及び前記転送状態監視部の監視情報を保持する外部から読み出し可能な監視情報保持部と
を有する半導体集積回路。
【請求項２】
請求項１に記載された半導体集積回路において、
前記データ量監視部がライン単位又はバイト単位又は画素単位で入力データ量及び出力データ量を監視する半導体集積回路。
【請求項３】
請求項１に記載された半導体集積回路において、
画像処理アルゴリズムモジュールに想定されるデータ転送量を保持する想定データ転送量保持部と、
該想定データ転送量保持部に保持されている想定データ転送量と、前記データ量監視部で監視された実際のデータ転送量を比較し、異常転送を検知したとき、前記データ量監視部の監視データ、及び前記転送状態監視部の監視データを保持する異常転送監視データ保持部と、該異常転送監視データ保持部の保持データを外部へ出力する異常転送監視データ出力部と
を有する半導体集積回路。
【請求項４】
請求項１に記載された半導体集積回路において、
前記複数の画像処理アルゴリズムモジュールの各々をバイパスする複数のバイパス回路と、
前記画像処理アルゴリズムモジュールとバイパス回路の切り替えを行うバイパス制御部と、
前記計時部による各転送状態の継続時間の計時結果が所定値に達したとき、前記データ量監視部によるデータ転送量を基に、停止している画像処理アルゴリズムモジュールを示す情報を生成する回路停止状態通知部と、
当該回路停止状態通知部で生成された情報に基づいて、前記バイパス制御部を制御し、停止している画像処理アルゴリズムモジュールをバイパス回路に切り替え、前記画像処理実行部内に停滞しているデータを外部に出力するように制御するデータ抜き取り制御部と
を有する半導体集積回路。
【請求項５】
請求項４に記載された半導体集積回路において、
バイパス回路に切り替えられる画像処理アルゴリズムモジュールの識別データを出力する識別データ出力部を有する半導体集積回路。
【請求項６】
請求項４に記載された半導体集積回路において、
前記データ抜き取り制御部は、画像処理アルゴリズムモジュールをバイパス回路に切り替えるとき、当該画像処理アルゴリズムモジュール内部のバッファ分のダミーデータを付加して出力するように制御する半導体集積回路。
【請求項７】
請求項５に記載された半導体集積回路において、
前記識別データ出力部は、識別データを出力するか否かを画像処理アルゴリズムモジュール毎に設定可能である半導体集積回路。
【請求項８】
複数の画像処理アルゴリズムモジュールが接続された形態を有する画像処理実行部と、複数の転送状態を遷移して前記画像処理実行部とメモリとの間のデータ転送を行うＤＭＡＣとを有する半導体集積回路の検査方法であって、
各画像処理アルゴリズムモジュールの入力データ量及び出力データ量を監視するデータ量監視工程と、
前記ＤＭＡＣの転送状態を監視する転送状態監視工程と、
前記転送状態監視工程の監視情報に基づいて、前記ＤＭＡＣの各転送状態の継続時間を計測する計時工程と、
該計時工程による各転送状態の継続時間の計時結果が所定値に達したとき、前記データ量監視工程の監視情報、及び前記転送状態監視工程の監視情報を保持する監視情報保持工程と、
該監視情報保持工程の保持情報を外部へ出力する監視情報出力工程と
を有する半導体集積回路の検査方法。
【請求項９】
複数の画像処理アルゴリズムモジュールが接続された形態を有する画像処理実行部と、複数の転送状態を遷移して前記画像処理実行部とメモリとの間のデータ転送を行うＤＭＡＣとを有する半導体集積回路に、請求項８に記載された半導体集積回路の検査方法の各工程を実行させるための制御プログラム。
【請求項１０】
請求項１乃至７のいずれかに記載された半導体集積回路を有する画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理機能を有する半導体集積回路、その検査方法及び制御プログラム、並びに画像形成装置に関する。
【背景技術】
【０００２】
近年、複写装置等の画像形成装置においては、デジタル化が進むとともにメモリを利用した画像処理（加工、編集等）が行われるようになってきている。ここで、画像処理を行う半導体集積回路である画像処理実行部とメモリとの間で画像データの入出力を行う際にＤＭＡ転送方式を用いたＤＭＡコントローラ（以下、ＤＭＡＣという）が使用されることが多い。
【０００３】
そして、従来のＤＭＡＣによるデータ転送において、画像処理実行部とメモリとの間でデータ転送を行う場合、画像処理実行部は、画像処理パラメータをパラメータＤＭＡＣによりメモリからダウンロードし、画像処理前の画像データをメモリ読み出し用ＤＭＡＣによりメモリから読み込み、画像処理パラメータに従って画像処理した画像データをメモリ書き込み用ＤＭＡＣによりメモリに書き込む。
【０００４】
このようなＤＭＡＣを用いたデータ転送において、転送が出来ない状態になった場合、それを外部に伝え、不具合の原因を解析することが必要となる。転送先アドレスの不整合やパラメータ設定ミスなどはエラーとして扱うことが容易なため、エラー割り込みを利用してソフトウェアに画像処理実行部の状態を伝えることが出来る。一方、簡単にエラーとは判断できない転送停止状態については、ＤＭＡＣの転送状態を監視することで、その転送が停止している可能性がある場合に外部へそれを伝える仕組みを有する半導体集積回路が提案されている（特許文献１）。
【０００５】
図８は特許文献１に記載された半導体集積回路であるデータ処理機能部のブロック図である。ＡＳＩＣ（Application Specific Integrated Circuit）で構成されたデータ処理機能部１０１は、コア１０２、割り込み制御部１０３、ＤＭＡＣ１０４、及びデバッグ回路１１０を備えており、デバッグ回路１１０は、状態監視部１１１、タイマー１１２、カウンタ１１３、状態継続最大値設定レジスタ１１４、状態監視実行フラグ１１５、回路停止状態通知部１１６、及び状態保持レジスタ１１７を備えている。
【０００６】
コア１０２は、データ処理機能部１０１の担っているデータ処理を実行するモジュール（データ処理実行部）であり、例えば画像入力処理時に必要な画像処理、画像出力時に必要な画像処理、画像拡大・縮小等の変倍処理、画像回転処理等の画像処理を行う。コア１０２は、所定の画像処理を完了する等の処理の区切りのタイミングに、割り込み制御部１０３に割り込みを発生させる。
【０００７】
ＤＭＡＣ１０４は、バス１０５とコア１０２、及び割り込み制御部１０３とデバッグ回路１１０の状態監視部１１１に接続されており、ＤＭＡＣ１０４は、バス１０５を介してメモリ（図示せず）からディスクリプタを読み込み、そのディスクリプタに基づいてメモリ上のデータを読み込んで、コア１０２に転送する。即ち、ＤＭＡＣ１０４によるデータ転送では、ディスクリプタによってメモリアドレスと転送量を指定することで、データ転送を行い、このディスクリプタをＣＰＵ（図示せず）がバス１０５を介してメモリのディスクリプタ領域に書き込む。
【０００８】
ＤＭＡＣ１０４は、データ転送の完了等の区切りのときに、割り込み制御部１０３に割り込みを発生させる。このＤＭＡＣ１０４は、そのデータの転送状態が、アイドル中状態、転送要求中状態及び転送中状態の３つの状態に分けられる。このアイドル中状態から転送要求中状態への状態切り替えタイミングは、ＤＭＡＣ１０４が転送要求を発行したときであり、転送要求中状態からデータ転送中状態への状態切り替えタイミングは、ＤＭＡＣ１０４からの転送要求が受理されたときであり、データ転送中状態からアイドル中状態への状態切り替えタイミングは、ＤＭＡＣ１０４がデータ転送を終了したときである。
【０００９】
デバッグ回路１１０の状態監視部１１１は、ＤＭＡＣ１０４の各転送状態を監視し、ＤＭＡＣ１０４の転送状態が切り替わると、タイマー１１２に対して状態変更を通知する。
【００１０】
カウンタ１１３には、状態継続最大値設定レジスタ１１４からＤＭＡＣ１０４の各転送状態の継続時間の最大値がタイマー１１２を介して設定されて、状態継続最大値設定レジスタ１１４には、ＣＰＵから各転送状態の継続時間の最大値が適宜設定される。
【００１１】
カウンタ１１３は、タイマー１１２からのクロックをカウントし、カウント値が設定された各転送状態の継続時間の最大値に達する前に、状態監視部１１１から転送状態の切り替わりがタイマー１１２を介して通知されると、カウント時間を次の転送状態の継続時間の最大値にリセットして、カウントを開始し、タイマー１１２を介して状態監視部１１１から転送状態切り替わりの通知が来る前に最大値に達すると、カウンタ１１３は、タイマー１１２にカウントアップを通知する。
【００１２】
タイマー１１２は、クロックをカウンタ１１３に出力して各転送状態の継続時間をカウントさせ、カウント値が各転送状態の継続時間の最大値に達したか否かを監視するとともに、最大値に達すると、回路停止状態通知部１１６にタイムアップを通知する。
【００１３】
状態監視実行フラグ１１５は、デバッグ回路１１０を利用するか否かを切り替えるフラグであり、ＣＰＵによってデバッグモード或いは非デバッグモードに設定される。ＣＰＵは、評価ソフトウェアを実行して、データ処理機能部１０１のエラーテストを行ってデバッグを実行する際に状態監視実行フラグ１１５をデバッグモードに設定する。
【００１４】
回路停止状態通知部１１６は、状態監視実行フラグ１１５がデバッグモードのときに、タイマー１１２からタイムアウトが通知されると、状態保持レジスタ１１７に状態監視部１１１が現在監視中のＤＭＡＣ１０４の転送状態を保持させるとともに、割り込み制御部１０３にエラー通知の割り込みを発生させる。
【００１５】
この状態保持レジスタ１１７の保持するＤＭＡＣ１０４の転送状態は、ＣＰＵが読み取ることができる。従って、ＣＰＵはＤＭＡＣ１０４の転送状態を状態保持レジスタ１１７の保持する転送状態で知ることができる。
【００１６】
割り込み制御部１０３は、コア１０２やＤＭＡＣ１０４から割り込みがあったり、デバッグ回路１１０の回路停止状態通知部１１６からエラー通知があったりすると、その割り込みをバス１０５を介して割り込みコントローラ（図示せず）へ送り、割り込みコントローラが割り込みをＣＰＵに通知し、ＣＰＵが割り込みに応じた処理を実行する。
【００１７】
このように、データ処理機能部１０１は、デバッグ回路１１０を搭載しており、デバッグ回路１１０は、その状態監視部１１１で、複数の転送状態を遷移してデータ転送を行うＤＭＡＣ１０４の現在の転送状態を監視し、タイマー１１２とカウンタ１１３で、ＤＭＡＣ１０４の各転送状態の継続時間を計時して、各転送状態の継続時間の計時結果に基づいてデータ転送に異常があるか否かをタイマー１１２で判断し、データ転送に異常があると、状態保持レジスタ１１７が、ＤＭＡＣ１０４の異常発生時の転送状態を保持する。従って、ＣＰＵが状態保持レジスタ１１７の内容を読み出すことで、データ処理機能部１０１の異常発生時のＤＭＡＣ１０４のデータ転送状態を把握出来る。
【００１８】
ところで、近年のＡＳＩＣの高集積化とアルゴリズムの部品化による設計効率の向上を利用した設計手法を採用することにより、複数のコア（画像処理アルゴリズムモジュール）が接続された形態の画像処理実行部を有する半導体集積回路が多くなってきた。
【００１９】
この形態の画像処理実行部の場合、上述したＤＭＡＣの転送状態を確認する手法を利用するだけではデバッグは容易にならない。即ち特許文献１に記載された手法を単純にコア間に実装した場合、ＤＭＡＣの起動に対して各コアの起動タイミングが異なるため、後段に接続されたコアがデータ転送を行っていない場合に転送エラーと判定してしまうという問題がある。また、転送状態監視を開始するタイミングをずらす方法も考えられるが、各コアによるデータ遅延情報やデータパスの切り替えによる遅延量の変化を考慮すると、転送状態監視を開始する信号をコア毎にずらすことは現実的ではない。
【００２０】
そこで、一般的には、各コア内で自身が転送する転送量を管理し、データ転送が必要な場合は、前段のコアへデータ転送用の通知信号を出し、この通知信号をソフトウェアから監視できる仕組みを作ることが考えられる。しかし、この仕組みにおいても、自身のデータ転送量を管理する機能を各コアに追加しなければならないため、かえってバグを加えてしまう恐れがある。
【発明の概要】
【発明が解決しようとする課題】
【００２１】
本発明はこのような問題を解決するためになされたものであり、その目的は、複数の画像処理アルゴリズムモジュールが接続された形態の画像処理実行部がＤＭＡＣによりメモリとの間のデータ転送を行うときに、従来のＤＭＡＣの転送状態を確認する手法を用い、画像処理アルゴリズムモジュール自身を変更することなく、各画像処理アルゴリズムモジュールにおける転送状態の異常の有無を検査できるようにすることである。
【課題を解決するための手段】
【００２２】
本発明の半導体集積回路は、複数の画像処理アルゴリズムモジュールが接続された形態を有する画像処理実行部と、複数の転送状態を遷移して前記画像処理実行部とメモリとの間のデータ転送を行うＤＭＡＣとを有する半導体集積回路であって、各画像処理アルゴリズムモジュールの入力データ量及び出力データ量を監視するデータ量監視部と、前記ＤＭＡＣの転送状態を監視する転送状態監視部と、前記転送状態監視部の監視情報に基づいて、前記ＤＭＡＣの各転送状態の継続時間を計測する計時部と、該計時部による各転送状態の継続時間の計時結果が所定値に達したとき、前記データ量監視部の監視情報、及び前記転送状態監視部の監視情報を保持する外部から読み出し可能な監視情報保持部とを有する半導体集積回路である。
本発明の半導体集積回路の検査方法は、複数の画像処理アルゴリズムモジュールが接続された形態を有する画像処理実行部と、複数の転送状態を遷移して前記画像処理実行部とメモリとの間のデータ転送を行うＤＭＡＣとを有する半導体集積回路の検査方法であって、各画像処理アルゴリズムモジュールの入力データ量及び出力データ量を監視するデータ量監視工程と、前記ＤＭＡＣの転送状態を監視する転送状態監視工程と、前記転送状態監視工程の監視情報に基づいて、前記ＤＭＡＣの各転送状態の継続時間を計測する計時工程と、該計時工程による各転送状態の継続時間の計時結果が所定値に達したとき、前記データ量監視工程の監視情報、及び前記転送状態監視工程の監視情報を保持する監視情報保持工程と、該監視情報保持工程の保持情報を外部へ出力する監視情報出力工程とを有する半導体集積回路の検査方法である。
本発明の制御プログラムは、複数の画像処理アルゴリズムモジュールが接続された形態を有する画像処理実行部と、複数の転送状態を遷移して前記画像処理実行部とメモリとの間のデータ転送を行うＤＭＡＣとを有する半導体集積回路に、本発明の半導体集積回路の検査方法の各工程を実行させるための制御プログラムである。
本発明の画像形成装置は、本発明の半導体集積回路を有する画像形成装置である。
【００２３】
［作用］
本発明によれば、複数の画像処理アルゴリズムモジュールが接続された形態を有する画像処理実行部と、複数の転送状態を遷移して前記画像処理実行部とメモリとの間のデータ転送を行うＤＭＡＣとを有する半導体集積回路において、前記ＤＭＡＣの各転送状態の継続時間が所定値に達したとき、各画像処理アルゴリズムモジュールの入力データ量及び出力データ量の監視情報、並びにＤＭＡＣの転送状態の監視情報を保持し、外部へ出力する。
【発明の効果】
【００２４】
本発明によれば、複数の画像処理アルゴリズムモジュールが接続された形態を有する画像処理実行部がＤＭＡＣによりメモリとの間のデータ転送を行うときに、従来のＤＭＡＣの転送状態を確認する手法を用い、画像処理アルゴリズムモジュール自身を変更することなく、各画像処理アルゴリズムモジュールにおける転送状態の異常の有無を判定することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態の半導体集積回路を実装した画像形成装置のブロック図である。
【図２】本発明の第１の実施形態の半導体集積回路のブロック図である。
【図３】本発明の第１の実施形態の半導体集積回路のデバッグ回路動作時のハードウェア動作のフロー図である。
【図４】本発明の第１の実施形態の半導体集積回路のデバッグ回路動作時のソフトウェア制御のフロー図である。
【図５】本発明の第２の実施形態の半導体集積回路のブロック図である。
【図６】本発明の第２の実施形態の半導体集積回路におけるデータ抜き取り制御部の動作フローの一例を示す図である。
【図７】本発明の第２の実施形態の半導体集積回路において、複数箇所でデータ転送が停止している場合のデータ抜き取り動作を示すフローチャートである。
【図８】従来の半導体集積回路のブロック図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態について図面を参照して説明する。
［第１の実施形態］
〈半導体集積回路を実装した画像形成装置〉
図１は、本発明の第１の実施形態の半導体集積回路を実装した画像形成装置のブロック図である。
【００２７】
この画像形成装置は、ＡＳＩＣ１と、それぞれがＡＳＩＣ１に接続されたＣＰＵ２、メモリ３、ＬＡＮ（Local Area Network）などのネットワーク４、ＦＡＸ（ファクシミリ装置）５、プロッタ６、及びスキャナ７からなる。
【００２８】
メモリ３は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等で構成され、各種プログラムやデータ、例えばＡＳＩＣ１を検査する検査ソフトウェアや必要なデータが格納されている。
【００２９】
ＣＰＵ２は、ＲＯＭ内のプログラムに基づいて、ＡＳＩＣ１の各部を制御し、例えば検査ソフトウェアなどのソフトウェア８に基づいて、ＡＳＩＣ１の検査を行う。ネットワーク４、ＦＡＸ５は、ＡＳＩＣ１に対して画像データの入、出力を行う。プロッタ６は、ＡＳＩＣ１から出力される画像データに基づいて、電子写真プロセスやインクジェットプロセスにより、記録用紙に画像を形成する。スキャナ７は、原稿などの画像を読み取り、ＡＳＩＣ１に送出する。
【００３０】
ＡＳＩＣ１は、バス１０と、それぞれがバス１０に接続されたＣＰＵＩ／Ｆ（インタフェース）１１、メモリＩ／Ｆ１２、ネットワークＩ／Ｆ１３、ＦＡＸＩ／Ｆ１４、プロッタ出力部１５、回転器１６、画像処理機能部１７、編集器１８、及びスキャナ入力部１９を備えている。
【００３１】
ＣＰＵＩ／Ｆ１１、メモリＩ／Ｆ１２、ネットワークＩ／Ｆ１３、ＦＡＸＩ／Ｆ１４は、それぞれＣＰＵ２、メモリ３、ネットワーク４、ＦＡＸ５との間でデータの送受を行う。プロッタ出力部１５は画像データをプロッタ６へ出力し、スキャナ入力部１９はスキャナ７から画像データを入力する。
【００３２】
回転器１６、画像処理機能部１７、編集器１８は、スキャナ７、ネットワーク４、若しくはＦＡＸ５から入力された画像データ、又はプロッタ６、ネットワーク４、若しくはＦＡＸ５に出力する画像データに対して、それぞれ回転処理、各種画像処理、編集処理を施す。画像処理機能部１７の詳細については後述する（図２参照）。
【００３３】
以上の構成を有する画像形成装置において、スキャナ７、ネットワーク４、ＦＡＸ５から入力された画像データはメモリＩ／Ｆ１２を通して、メモリ３に一度保持される。メモリ３に保持された画像データは用途に応じて各種画像処理を受ける。この画像処理では、画像処理機能部１７などがメモリ３から画像データを読み込み、画像処理を行い、処理結果をメモリ３に書き戻す。処理後の画像データはプロッタ６、ネットワーク４、或いはＦＡＸ５に送出される。
【００３４】
〈画像処理機能部〉
図２は画像処理機能部１７のブロック図である。この画像処理機能部１７は、画像処理実行部２１、デバッグ回路２２、割り込み制御部２３、メモリ読み出し用のＤＭＡＣ２４、メモリ書き込み用のＤＭＡＣ２５を備えている。
【００３５】
画像処理実行部２１は、縦続接続された３つの画像処理アルゴリズムモジュールである色補正部２１１、出力階調補正部２１２、及び編集加工部２１３からなる。他に回転、解像度変換、フィルタ処理等の画像処理アルゴリズムモジュールを用途に応じて、組み合わせてもよい。
【００３６】
デバッグ回路２２は、状態監視部２２１、タイマー２２２、カウンタ２２３、状態継続最大値設定部２２４、状態監視実行指示部２２５、回路停止状態通知部２２６、状態保持部２２７、第１転送量監視部２２８、第２転送量監視部２２９、第３転送量監視部２３０を備えている。
【００３７】
状態監視部２２１は、ＤＭＡＣ２４の各転送状態（起動、アイドル中状態、転送要求中状態、転送中状態）を監視し、転送状態が切り替わると、タイマー２２２に対して状態変更を通知する。また、現在のＤＭＡＣの転送状態を状態保持部２２７へ通知する。ただし、メモリ書き込み用のＤＭＡＣ２５に接続されるデバッグ回路（図示せず）では、ＤＭＡＣの起動から各画像処理アルゴリズムモジュールを通して最初データが送られてくるまでに時間がかかるため、起動通知はＤＭＡＣ２５に対してデータが入力されてから通知する。
【００３８】
状態継続最大値設定部２２４は、ＤＭＡＣ２４の各転送状態の最大継続時間をＣＰＵ２により設定できる。状態監視実行指示部２２５は、デバッグ回路２２を利用するかどうかを指示する機能を持っており、検査ソフトウェアからＣＰＵ２を介して、状態監視を指示されると、デバッグ回路２２を起動する。
【００３９】
タイマー２２２は、デバッグ回路２２の利用が指示された状態で、ＤＭＡＣ２４の起動又は状態監視部２２１からの状態変更通知があると、状態継続最大値設定部２２４から、状態監視部２２１から受け取った転送状態での継続時間の最大値を取得し、カウンタ２２３に対してリセットと再カウント開始を指示し、各転送状態の継続時間のカウント値を受け取る。また、タイマー２２２は各転送状態の継続時間の最大値とカウンタ２２３から受ける各転送状態の継続時間のカウント値とを比較し、カウント値が最大値を越えている場合（タイムアップ）、ＤＭＡＣ２４が停止していると判断し、回路停止状態通知部２２６へ回路停止を通知する。
【００４０】
回路停止状態通知部２２６は、タイマー２２２から回路停止を通知されると、状態保持部２２７に対して現在のＤＭＡＣ２４の転送状態及び第１〜第３転送量監視部２２８〜２３０の監視情報を保持するよう通知する。回路停止状態を検査ソフトウェアに対して通知するために割り込み制御部２３に対して割り込み発生を通知するのが最適な構成である。しかしながら、ソフトウェアやハードウェアの構成上、割り込みを通知したくない場合には、回路停止状態であることを示す情報をレジスタで提供しても良い。
【００４１】
状態保持部２２７は、回路停止状態通知部２２６から回路停止状態通知を受けると、状態監視部２２１からＤＭＡＣ２４の転送状態、第１〜第３転送量監視部２２８〜２３０から監視情報を取得し、それを保持する。これらの保持情報は検査ソフトウェアから見る（読み出す）ことができる。
【００４２】
即ち、デバッグ回路２２における状態監視部２２１、タイマー２２２、カウンタ２２３、状態継続最大値設定部２２４、状態監視実行指示部２２５、回路停止状態通知部２２６、状態保持部２２７は、状態保持部２２７が状態監視部２２１の監視情報に加えて、第１〜第３転送量監視部２２８〜２３０から監視情報をも保持すること以外は、従来装置のデバッグ回路１１０における状態監視部１１１、タイマー１１２、カウンタ１１３、状態継続最大値設定レジスタ１１４、状態監視実行フラグ１１５、回路停止状態通知部１１６、状態保持レジスタ１１７と同様に構成されている。
【００４３】
次に第１〜第３転送量監視部２２８〜２３０について説明する。第１転送量監視部２２８、第２転送量監視部２２９、第３転送量監視部２３０は、それぞれ色補正部２１１、出力階調補正部２１２、編集加工部２１３が転送する入力データ量及び出力データ量を監視し、監視情報を状態保持部２２７に通知する。
【００４４】
監視する情報は、各画像処理アルゴリズムモジュールがどのようなデータを扱うかによって異なる。例えば画素単位の転送量であったり、ライン単位、また、単純にバイトデータ単位であったり、トランザクション単位であったりしてよい。ただし、入力と出力で監視する単位を揃える必要がある。
【００４５】
第１〜第３転送量監視部２２８〜２３０は入出力の差分を管理するのが最良である。この様にすることでＤＭＡＣ２４が停止した際に、最初に差分が０にならなかった画像処理アルゴリズムモジュールが異常転送になっていると判定できるからである。
【００４６】
バイト単位で転送量を監視することで、デバッグ時に詳細な転送情報を得ることが出来るため、デバッグの容易性が上がる。一方、ライン単位で転送量を監視することで、デバッグ容易性は落ちるが、回路構成が簡単になるため、回路規模を抑えたい場合は、これを用いると良い。通常、画像処理アルゴリズムモジュールでは一般的に用いられるライン同期信号カウンタだけでこの回路を構成できる。
【００４７】
また、画像を扱う上では画素単位で転送量を監視することが良い場合がある。この場合、観測するインタフェース（画像処理アルゴリズムモジュールと転送量監視部のインタフェース）のデータバス幅、１画素が何ビットかを示す画像種情報、ＲＧＢ、ＣＹＭＫといった画像フォーマット情報から画素数を容易に計算することができる。画素単位で転送量を監視することで、前出のバス幅や画像種情報、画像フォーマット情報をソフトウェアから隠蔽できるため、デバッグの容易性が上がる。
【００４８】
画像処理アルゴリズムモジュールの中には、入力データサイズと出力データサイズが異なる場合がある。例えば変倍（拡大や縮小）である。この場合でも入出力データの差分をとっていると、動作状況を容易に判断できる。例えば入出力データサイズの異なる画像処理アルゴリズムモジュールの後段モジュールの入出力データ差分が０の場合、入出力データサイズの異なる画像処理アルゴリズムモジュールは後段に対して正しくデータを転送していることが分かる。
【００４９】
一方、入出力データサイズの異なる画像処理アルゴリズムモジュールの後段モジュールが転送停止していると判断された場合、入出力データサイズの異なる画像処理アルゴリズムモジュール又はその後段のモジュールで転送が停止しているか否かを判断することになる。この場合、次のいくつかの方法で解決出来る。
【００５０】
１．単純なアルゴリズムの場合
２倍拡大や、１／２倍縮小といった単純なアルゴリズムに対してはデータカウント時のカウント方法を変更することで入出力の差分を無くす方法が挙げられる。例えば、２倍拡大の場合、入力データをカウントする場合に２倍にしてカウントしたり、出力データをカウントする際に２回に１回のみカウントしたりすることで対応出来る。この様に単純なサイズ変更のアルゴリズムの場合は、サイズ変更にかかわるパラメータを転送量監視部に与えることで、サイズ変更がない場合と同等の手法でデバッグを行うことができる。
【００５１】
２．複雑なアルゴリズムの場合
データ圧縮といった入力データのデータ配列などに依存して出力サイズが変わるアルゴリズムの場合は、デバッグ回路上で転送成功の判断を行うことは出来ない。しかしながら、シミュレーション上で同等の画像データをアルゴリズムに与えることで回路同等の出力データを得ることができるため、シミュレーション上での入出力差分と回路上での入出力差分を比較することで容易にデバッグすることが可能となる。
【００５２】
また、画像処理アルゴリズムモジュールの内部構成が明確であれば、入出力のデータ転送量の差分が最大でどの程度になるか容易に計算できる。従って、想定されるデータ転送量と実際のデータ転送量を比較することで異常転送を検知することが可能である。異常転送を観測した場合、異常転送が発生したことを回路停止状態通知部２２６へ通知し、回路停止状態通知部２２６はタイマー２２２からの回路停止通知と同等の処理を行うことで、ＤＭＡＣ２４が停止する前に異常状態を検知することが可能となり、よりデバッグがしやすくなる
【００５３】
〈デバッグ回路動作時のハードウェア動作〉
ＡＳＩＣ１では、検査ソフトウェアによって画像処理機能部１７の検査を行う場合、検査ソフトウェアをＣＰＵ２で実行して、画像処理機能部１７が、そのＤＭＡＣ２４によりメモリ３から所定の画像データ、例えばテスト用の画像データを画像処理実行部２１に転送して、画像処理実行部２１で必要な処理を実行する。
【００５４】
このとき、ハードウェア動作は図３のように実行される。
即ち、ＤＭＡＣ２４が起動され（ステップＳ１）、続いてデバッグ回路２２が起動されると（ステップＳ２）、ＤＭＡＣ２４が転送を開始する（ステップＳ４）と同時に、デバッグ回路２２の状態監視部２２１がＤＭＡＣ２４の転送状態を監視し、第１〜第３転送量監視部２２８〜２３０がそれぞれ色補正部２１１、出力階調補正部２１２、編集加工部２１３の入出力データ転送量の監視を行う（ステップＳ５）。なお、メモリ書き込み用のＤＭＡＣ２５に接続されるデバッグ回路（図示せず）の場合、ＤＭＡＣ２５が起動され（ステップＳ１）、ＤＭＡＣ２５に画像データが入力されてから、デバッグ回路が起動される（ステップＳ２）。
【００５５】
ＤＭＡＣ２４が検査ソフトウェアから設定されたデータ量を転送し終えると（ステップＳ３：YES）、転送量監視を解除し（ステップＳ１２）、動作を終了する。
【００５６】
ＤＭＡＣ２４の状態が、検査ソフトウェアが設定した各転送状態の継続時間の最大値以上、同じ状態を保持した場合、即ちタイマー２２２がタイムアップした場合（ステップＳ６：YES）、第１〜第３転送量監視部２２８〜２３０が監視している転送量監視情報、及び状態監視部２２１が監視しているＤＭＡＣ２４の転送状態を状態保持部２２７で保持する（ステップＳ１０）。必要があればエラー割り込みの通知を行い（ステップＳ１１）、ＤＭＡＣ２４による転送及び転送量監視を終了させて、転送終了とする。
【００５７】
タイマー２２２がタイムアップする前に、状態監視部２２１からＤＭＡＣ２４の転送状態の変化がタイマー２２２に通知されると（ステップＳ７：YES）、タイマー２２２はカウンタ２２３をリセットする（ステップＳ８）。ＤＭＡＣ２４の転送状態が変化しない場合は（ステップＳ７：NO）、そのままカウンタ２２３をカウントアップして転送状態の継続時間のカウントを行う（ステップＳ９）。
【００５８】
〈デバッグ回路動作時のソフトウェア制御〉
ＤＭＡＣ２４によるデータ転送処理でのデバッグを行う場合、検査ソフトウェアの処理は図４のように実行される。即ち、検査ソフトウェアは、ＤＭＡＣ２４によるデータ転送における通常のデータ転送用パラメータ設定（ステップＳ２１）に加え、デバッグ回路２０を起動するためのデバッグ用パラメータの設定（ステップＳ２２）を行う。そして、パラメータの設定が終わると、検査ソフトウェアは、転送の開始をハードウェア（ＤＭＡＣ２４）に指示し（ステップＳ２３）、転送完了やエラー等の割り込みを待つ（ステップＳ２４→Ｓ２５：NO→Ｓ２４）。
【００５９】
割り込みが発生すると（ステップＳ２５：YES）、検査ソフトウェアは割り込みステータスの確認を行い（ステップＳ２６）、割り込みがエラーかそれ以外かの判断を行う（ステップＳ２７）。
【００６０】
エラーが発生していない場合（ステップＳ２７：NO）は、通常の割込み処理を行う（ステップＳ２９）。転送完了割り込みが発生した場合は（ステップＳ３０：YES）、そのまま転送終了となる。転送完了以外の割り込みの場合（ステップＳ３０：NO）、再び割り込みが発生するのを待つ（ステップＳ２４）。
【００６１】
エラーが発生した場合（ステップＳ２７：YES）は、更にエラーステータスの確認を行う（ステップＳ２８）。確認するエラー要因として、ＤＭＡＣ２４の転送が停止していることを表すエラーが発生した場合、状態保持部２２７から第１〜第３転送量監視部２２８〜２３０の監視したデータ転送量を確認し、デバッグを行う。データ量監視を利用したデバッグ方法については前述した。
【００６２】
なお、以上の説明は、メモリ読み出し用のＤＭＡＣ２４に接続されたデバッグ回路２２の動作に関するものであるが、メモリ書き込み用のＤＭＡＣ２５に接続されるデバッグ回路も、ＤＭＡＣ２５にデータが入力されてからデバッグ回路が起動されること以外はデバッグ回路２２と同じである。
【００６３】
以上、詳細に説明したように、本発明の第１の実施形態の半導体集積回路であるＡＳＩＣ１は、ＤＭＡＣ２４の転送状態を監視し、転送状態が変更されるとタイマー２２２へＤＭＡＣ２４の転送状態の変更を通知する状態監視部２２１と、各画像処理アルゴリズムモジュール２１１〜２１３の入出力データ量を監視し、状態保持部２２７からの要求により、現在の転送量を応答する第１〜第３転送量監視部２２８〜２３０と、ＤＭＡＣ２４の各状態の最大継続時間を保持する状態継続最大値設定部２２４と、ＤＭＡＣ２４の転送状態継続時間を計測するカウンタ２２３と、ＤＭＡＣ２４の状態継続時間と状態継続最大時間を比較して、最大時間より長く状態が継続すると回路停止状態であることを通知するタイマー２２２と、デバッグ機能を利用するか否かを制御する状態監視実行指示部２２５と、デバッグ機能利用時、回路停止通知をタイマー２２２から受けると、第１〜第３転送量監視部２２８〜２３０の監視情報とＤＭＡＣ２４の転送状態情報を状態保持部２２７に保持させ、ソフトウェアに対して回路停止状態を通知する回路停止状態通知部２２６と、回路停止状態通知部２２６から回路停止状態通知を受けると、その時点でのＤＭＡＣ２４の転送状態情報と第１〜第３転送量監視部２２８〜２３０の監視情報を保持し、ソフトウェアからの要求により保持したデータを出力する状態保持部２２７とを有するので、下記（１）〜（６）の特徴を有する。
【００６４】
（１）複数の画像処理アルゴリズムモジュール（色補正部２１１、出力階調補正部２１２、編集加工部２１３）が接続された画像処理実行部２１について、画像処理アルゴリズム毎のデータ転送量を監視し、ＤＭＡＣの停止時に各画像処理アルゴリズムモジュールのデータ入出力量を監視するので、複数の画像処理アルゴリズムモジュールを持つ画像処理実行部２１に対して、画像処理アルゴリズムモジュールを変更することなく、デバッグ容易性を向上させることができる。
（２）第１〜第３転送量監視部２２８〜２３０が、各画像処理アルゴリズムモジュールが処理を行うライン単位での監視を行うように構成することで、簡単な回路実装のみで複雑に接続された画像処理実行部２１のデバッグを容易に行うことができる。
（３）第１〜第３転送量監視部２２８〜２３０が、各画像処理アルゴリズムモジュールが処理を行う転送データ数単位での監視を行うように構成することで、ライン単位の監視に比べより詳細なデバッグを行うことができる。
（４）第１〜第３転送量監視部２２８〜２３０が、各画像処理アルゴリズムモジュールが処理を画素単位での監視を行うように構成することで、検証者はデータ転送量から画素数への変換といった煩雑な作業を行うことなく容易にデバッグを行うことができる。
（５）画像処理アルゴリズムモジュールの入力データと出力データの転送サイズが異なる場合、単純なサイズ変更アルゴリズムであれば、サイズ変更にかかわるパラメータを第１〜第３転送量監視部２２８〜２３０に与えることで、この差を自動で計算して転送量を監視することにより、検証者はデータ転送量とアルゴリズムの特性からデータ量を計算するといった煩雑な作業を行うことなく容易にデバッグを行うことができる。
（６）画像処理アルゴリズムモジュールの内部構成から想定したデータ転送量に対して異常な量の転送が行われ場合、割り込みを発生してソフトウェアに通知することで、異常が発生した瞬間の画像処理アルゴリズムモジュールの状態をデバッグできるので、複数の画像処理アルゴリズムモジュールが接続された画像処理実行部２１のデバッグを容易に行うことができる。
【００６５】
［第２の実施形態］
図５は、本発明の第２の実施形態の半導体集積回路（ＡＳＩＣ）における画像処理機能部１７のブロック図である。この図において、図２（第１の実施形態）と同一又は対応部分には、図２と同じ参照符号を付した。なお、本発明の第２の実施形態の半導体集積回路を実装した画像形成装置のブロック図は、第１の実施形態（図１）と同じである。
【００６６】
図５に示すように、本実施形態の半導体集積回路における画像処理機能部１７は、第１の実施形態の画像処理機能部１７の画像処理実行部２１内に、バイパス回路２１４ａ〜２１４ｃ、バイパス制御モジュール２１５ａ〜２１５ｄ、及びデータ抜き取り制御部２１６を付加したものであり、それ以外の部分は第１の実施形態と同じである。
【００６７】
バイパス回路２１４ａ、２１４ｂ、２１４ｃは、それぞれ画像処理アルゴリズムモジュールである色補正部２１１、出力階調補正部２１２、編集加工部２１３に並列接続されている。また、これらの並列接続回路の入力側、及び出力側には、データ転送方向の前段（上流側）、即ちＤＭＡＣ２４側から順にバイパス制御モジュール２１５ａ、２１５ｂ、２１５ｃ、２１５ｄが接続されている。
【００６８】
各バイパス制御モジュールはデータ抜き取り制御部２１６の制御により、データ入力側、出力側が切り替えられる。即ち、色補正部２１１とバイパス回路２１４ａからなる並列接続回路の入力側に接続されたバイパス制御モジュール２１５ａは、ＤＭＡＣ２４からの入力データをバイパスさせないときは、自身の出力側を色補正部２１１の入力側に接続し、バイパスさせるときは、自身の出力側をバイパス回路２１４ａの入力側に接続する。このとき、色補正部２１１及びバイパス回路２１４ａからなる並列接続回路の出力側に接続されたバイパス制御モジュール２１５ｂの入力側をバイパス制御モジュール２１５ａの出力側と対応するように接続する。出力階調補正部２１２とバイパス回路２１４ｂからなる並列接続回路、及び編集加工部２１３とバイパス回路２１４ｃからなる並列接続回路と、バイパス制御モジュール２１５ｂ〜２１５ｄも同様に動作する。
【００６９】
回路停止状態通知部２２６は、タイマー２２２から回路停止を通知されると、状態保持部２２７に対して現在のＤＭＡＣ２４の転送状態及び第１〜第３転送量監視部２２８〜２３０の監視情報を保持するよう通知する。この動作は第１の実施形態（図２）の回路停止状態通知部２２６も行う動作である。本実施形態の回路停止状態通知部２２６は、さらに以下の動作も行う。即ち、画像処理実行部２１内に停滞しているデータをメモリ３へ吐き出すために、データ抜き取り制御部２１６に対して、データ停止箇所を示す情報とともにデータ抜き取り開始を通知する。また、データ抜き取り制御部２１６からの完了通知を受けると、割り込み制御部２３に対して回路停止状態を通知する。
【００７０】
データ抜き取り制御部２１６は、回路停止状態通知部２２６から通知を受けると、データ抜き取り動作を開始する。データの抜き取りが完了すると、回路停止状態通知部２２６に対して抜き取り完了情報を通知する。
【００７１】
〈データ抜き取り動作〉
デバッグ回路２２の動作時のハードウェア動作及びソフトウェア動作は第１の実施形態（図３、図４）と同じであるから説明を省略し、本実施形態特有の動作であるデータ抜き取り制御部２１６の動作について説明する。
【００７２】
図６は、データ抜き取り制御部２１６の動作フローの一例を示す図である。
データ抜き取り制御部２１６は、回路停止状態通知部２２６から回路停止通知を受けると、動作を開始する。
【００７３】
データ抜き取り制御部２１６は、回路停止状態通知部２２６から回路停止箇所（停止している画像処理アルゴリズムモジュール）を示す情報を受け取り（ステップＳ３１）、その回路停止箇所を示す情報からバイパス回路２１４ａ〜２１４ｃに切り替えるためのバイパス制御モジュール２１５ａ〜２１５ｄを選択する（ステップＳ３２）。
【００７４】
次に停止している画像処理アルゴリズムモジュールの出力側のバイパス制御モジュールの入力をバイパス回路側に切り替える（ステップＳ３３）。
【００７５】
この際、切り替える前にバイパス制御モジュールに対して、どの画像処理アルゴリズムモジュールのバイパス制御モジュールを切り替えたかを示すマーカーデータ（識別データ）を出力することで、デバッグ時にメモリ３へ出力されたデータを解析する際に解析が容易になる。この場合、マーカーデータのデータ量分、多く出力することになる。
【００７６】
また、このマーカーデータ出力を任意の画像処理アルゴリズムモジュールについてのみ出力させることで、不要なマーカーデータを出力させないようにすれば、解析が容易になる。
【００７７】
また画像処理アルゴリズムモジュールには内部にバッファを持つものが存在する。その場合は、データ出力側のバイパス回路切り替え後かデータ入力側のバイパス回路切り替え前に内部バッファ分のダミーデータを出力させることで、画像処理実行部２１全体としての総転送量の整合をとることが出来る。ダミーデータのサイズについては、第１〜第３転送量監視部２２８〜２３０が持っている差分を利用して画像処理アルゴリズムに合わせて出力するのが望ましい（例えば、２変倍の場合は差分データサイズ×２とする等）。
【００７８】
次に停止している画像処理アルゴリズムモジュールの入力側のバイパス制御モジュールの出力をバイパス回路側に切り替える（ステップＳ３４）。この動作により、停止した画像処理アルゴリズムモジュールの部分がバイパスされるため、画像処理実行部２１全体としてはデータ転送が再開される。
【００７９】
データ転送の再開の後、ＤＭＡＣ２４の転送が完了（COMPLETE）するまで待ち（ステップＳ３５）、終了したら、回路停止状態通知部２２６に対して、データ抜き取り動作完了を通知し（ステップＳ３６）、データ抜き取り動作を終了する。
【００８０】
図６は、１箇所、即ち１つの画像処理アルゴリズムモジュールでデータ転送が停止している場合の処理であった。次に図７を参照して、複数箇所、即ち複数の画像処理アルゴリズムモジュールでデータ転送が停止している場合の処理について説明する。この処理は、回路停止状態通知部２２６がＤＭＡＣ２４のタイムアウトを検知した後、画像処理実行部２１内の後段の画像処理アルゴリズムモジュールから順に内部のデータを出来るだけ出力させる操作を行った後に、対象の画像処理アルゴリズムモジュールをバイパス回路に切り替えることで、画像処理実行部２１の内部データのメモリ３への吐き出しを可能にするものである。
【００８１】
この図において、処理開始からステップＳ４４までは図６の処理開始からステップＳ３４までと同じである。バイパス回路に切り替えた後、次のステップＳ４５では、ＤＭＡＣ２４のデータ転送完了が発生するまで、データ転送が停止しているか否か監視する（ステップＳ４５）。ここで、バイパス回路に切り替えられた画像処理アルゴリズムモジュールの後段モジュールから内部のデータを出力することになる。どこで停止しているかはアルゴリズムの種類、内部構造によって異なる。例えば、１データ入力の1データ出力の画像処理アルゴリズムモジュールの場合は、入出力の差が1となっていれば、このモジュールで停止していることが判る。また、内部にバッファを持つ場合、バッファに必要なデータが溜まる前に停止していれば、その前段モジュールのどこかで停止していることが判る。
【００８２】
この監視は、図３のステップＳ５に示す転送量監視を利用する。転送が停止すると（ステップＳ４５：YES）、データ抜き取り制御部２１６は、回路停止状態通知部２２６から回路停止通知を受ける（ステップＳ４１）。停止した画像処理アルゴリズムモジュールをバイパス回路に切り替えながらデータ転送が完了するのを待つ（ステップＳ４２〜Ｓ４６）。このとき、以前にバイパス回路に切り替えた設定はそのまま残す。
【００８３】
全ての画像処理アルゴリズムモジュール（ここでは、色補正部２１１、出力階調補正部２１２、編集加工部２１３）をバイパス回路によりバイパスしても回路停止通知が発生する場合は（ステップＳ４７：YES）、強制停止動作を行う（ステップＳ４８）。この強制停止動作は、ＤＭＡＣ２４の転送動作を停止させるものである。強制停止動作の後、回路停止状態通知部２２６に対して、データ抜き取り動作完了を通知し（ステップＳ４９）、データ抜き取り動作を終了する。
【００８４】
このように、本発明の第２の実施形態の半導体集積回路によれば、第１〜第３転送量監視部２２８〜２３０が、複数の画像処理アルゴリズムモジュール（色補正部２１１、出力階調補正部２１２、編集加工部２１３）間の入出力データ転送をモニターし、回路停止状態通知部２２６がＤＭＡＣ２４のタイムアウトを検知した後、後段の画像処理アルゴリズムモジュールから順に内部のデータを出来るだけ出力させる操作を行った後に、対象の画像処理アルゴリズムモジュールをバイパス回路に切り替えることで、内部データのメモリ３への吐き出しが可能となる。
【００８５】
つまり、本実施形態の半導体集積回路によれば、第１の実施形態の半導体集積回路の特徴に加えて下記の特徴を有する。即ち、縦続接続された複数の画像処理アルゴリズムモジュールのどのモジュールで転送が停滞しているかを容易に確認でき、その際にさらに、解析に必要な情報の一つである画像処理実行部２１に流れたデータを、メモリ３上へ自動的に出力することができる。
【００８６】
以上、詳細に説明したように、本発明の第２の実施形態の半導体集積回路は、第１の実施形態の半導体集積回路に加え、複数の画像処理アルゴリズムモジュール２１１〜２１３の各々に並列接続された複数のバイパス回路２１４ａ〜２１４ｃと、各画像処理アルゴリズムモジュール２１１〜２１３のデータパスをバイパス回路２１４ａ〜２１４ｃに切り替えるバイパス制御モジュール２１５ａ〜２１５ｄと、回路停止状態通知部２２６から回路停止通知を受けると、バイパス制御モジュール２１５ａ〜２１５ｄを制御し、バイパス回路２１４ａ〜２１４ｃと画像処理アルゴリズムモジュール２１１〜２１３のデータパスを切り替えながら、画像処理実行部２１の内部に停滞しているデータをメモリ３へ出力するように制御を行うデータ抜き取り制御部２１６を有するので、下記（１）〜（６）の特徴を有する。
【００８７】
（１）複数の画像処理アルゴリズムモジュール（色補正部２１１、出力階調補正部２１２、編集加工部２１３）が接続された画像処理実行部２１について、画像処理アルゴリズム毎の転送量を監視し、ＤＭＡＣ停止時に画像処理アルゴリズムモジュール毎のデータ入出力量を監視し、さらに画像処理実行部２１が停止状態となると、画像処理実行部２１内に残るデータをメモリ３へ出力するので、複数の画像処理アルゴリズムモジュールを持つ画像処理実行部２１に対して、画像処理アルゴリズムモジュールに変更を加えることなく、デバッグ容易性を向上させることができる。
（２）データパス切り替え前にマーカーデータを出力することで、メモリ３上のデータを解析する際に、どの画像処理アルゴリズムモジュールから切り替わったかを容易に判断できるようになり、デバッグ容易性を向上させることができる。
（３）停止した画像処理アルゴリズムモジュールから順に入力側方向へバイパス回路を切り替えていくことで、複数の画像処理アルゴリズムモジュールでデータ転送が停止している場合でも、画像処理実行部２１内のデータを出力できるので、デバッグ容易性を向上させることができる。
（４）停止した画像処理アルゴリズムモジュールから順に入力側方向へバイパス回路に切り替えていく際に、バイパス回路に切り替える前に、データ転送状態を監視し、転送停止状態の場合に切り替えを行うことにより、停止箇所よりも入力側の画像処理アルゴリズムモジュールにおいて動作が可能なものには動作を行わせることで、停止対象モジュールに入力されているデータをメモリ３へ出力できるのでデバッグ容易性を向上させることができる。
（５）停止している画像処理アルゴリズムモジュールのバッファ分のデータをダミーデータとして出力することで、画像処理実行部２１全体の入出力量の整合が取れる。これにより、全てのデータがメモリ３へ出力されるため、デバッグ容易性を向上させることができる。
（６）マーカー出力を行うか否かを画像処理アルゴリズムモジュール毎に切り替えることが出来るようにすることで、メモリ３へ出力されたデータに必要な部分だけマーカーを挿入することができる。これにより、デバッグ容易性を向上させることができる。
【符号の説明】
【００８８】
２…ＣＰＵ、３…メモリ、８…ソフトウェア、１７…画像処理機能部、２１…画像処理実行部、２２…デバッグ回路、２３…割り込み制御部、２４，２５…ＤＭＡＣ、２１１…色補正部、２１２…出力階調補正部、２１３…編集加工部、２１４ａ〜２１４ｃ…バイパス回路、２１５ａ〜２１５ｄ…バイパス制御モジュール、２１６…データ抜き取り制御部、２２１…状態監視部、２２２…タイマー、２２３…カウンタ、２２４…状態継続最大値設定部、２２５…状態監視実行指示部、２２６…回路停止状態通知部、２２７…状態保持部、２２８…第１転送量監視部、２２９…第２転送量監視部、２３０…第３転送量監視部。
【先行技術文献】
【特許文献】
【００８９】
【特許文献１】特開２００９−７００４６号公報
【図１】
2012069093.tif 000003
【図２】
2012069093.tif 000004
【図３】
2012069093.tif 000005
【図４】
2012069093.tif 000006
【図５】
2012069093.tif 000007
【図６】
2012069093.tif 000008
【図７】
2012069093.tif 000009
【図８】
2012069093.tif 000010