(57)【要約】      （修正有）【課題】ハードウェアをより有効に活用したデータ処理を実行するデータ処理装置及びデータ処理方法を提供する。【解決手段】画像データ処理装置は、ＡＳＩＣ１０の機能Ａを制御する機能Ａ制御部と、ＡＳＩＣ１０の機能Ｂを制御する機能Ｂ制御部と、機能Ａ制御部で制御された機能Ａによる画像データの処理状況を示す状態情報通知を出力する機能Ａ用出力部３１２ａと、機能Ａを含む入力リストと、機能Ａの次に実行される機能Ｂを含む出力リストと、を対応付けて記憶する制御情報記憶部と、状態情報通知で示された画像データの処理状況に基づいて、当該処理状況を作り出した機能Ａを含む入力リストと、対応付けられた出力リストで示された機能Ｂを実行するか否か判断する判断部３０２と、判断部３０２が実行すると判断した場合、機能Ｂを制御する機能制御部に対して機能の実行を要求する要求部３０３と、を備える。【選択図】図３
2009043234.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する機能を制御する、機能毎の機能制御手段と、
前記機能制御手段で制御された機能による前記データの処理状況を示す状況情報を出力する出力手段と、
前記機能を示す機能情報と、当該機能の次に実行される機能を示す次機能情報と、を対応付けて記憶する記憶手段と、
前記状況情報で示された前記データの処理状況に基づいて、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行するか否か判断する判断手段と、
前記判断手段が実行すると判断した場合、前記次機能情報で示された機能を制御する前記機能制御手段に対して機能の実行を要求する要求手段と、
を備えることを特徴とするデータ処理装置。
【請求項２】
前記要求手段の要求により前記機能制御手段で実行された機能による前記データの処理状況を示す次状況情報を出力する次出力手段と、
前記次状況情報で示された前記データの処理状況に基づいて、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行するか否か判断する次判断手段と、
前記次判断手段が実行すると判断した場合、前記次機能情報で示された機能を制御する前記機能制御手段に対して機能の実行を要求する次要求手段と、
をさらに備えることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
複数の機能を用いたデータの処理毎に、当該処理で用いる複数の機能に基づいて、複数の前記記憶手段と、前記判断手段と、前記次判断手段と、前記要求手段と、前記次要求手段と、を生成する統合生成手段を、備えることを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記記憶手段は、複数の前記機能情報と、前記次機能情報と、を対応付けて記憶し、
前記出力手段は、複数の前記機能情報で示されたそれぞれの機能による前記データの処理状況を示す複数の状況情報を出力し、
前記判断手段は、前記複数の状況情報で示された前記データの複数の処理状況に基づいて、次の機能を開始してよいと判断した場合に、当該複数の処理状況を作り出した前記複数の機能を示す複数の前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行してよいと判断すること、
を特徴とする請求項１乃至３のいずれか一つに記載のデータ処理装置。
【請求項５】
前記記憶手段は、前記機能情報と、複数の前記次機能情報と、を対応付けて記憶し、
前記判断手段は、前記状況情報で示された前記データの処理状況で次の機能を開始して良いと判断した場合に、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた複数の前記次機能情報で示された複数の機能を実行してよいと判断すること、
を特徴とする請求項１乃至４のいずれか一つに記載のデータ処理装置。
【請求項６】
複数の前記次機能情報毎に優先順位を記憶する優先順位記憶手段をさらに備え、
前記判断手段は、さらに、複数の前記次機能情報の前記優先順位に従って、当該次機能情報で示された機能を実行してよいと判断すること、
を特徴とする請求項５に記載のデータ処理装置。
【請求項７】
複数の前記次機能情報毎に機能を開始する開始条件情報を記憶する条件情報記憶手段をさらに備え、
前記判断手段は、さらに、複数の前記次機能情報のそれぞれについて、前記開始条件情報を満足した場合に、当該次機能情報で示された機能を実行してよいと判断すること、
を特徴とする請求項５に記載のデータ処理装置。
【請求項８】
画像データ処理装置で実行される画像データ処理方法であって、
画像データ処理装置は、前記機能を示す機能情報と、当該機能の次に実行される機能を示す次機能情報と、を対応付けて記憶する記憶手段を備え、
機能毎の機能制御手段が、データを処理する機能を制御する複数の機能制御ステップと、
出力手段が、前記機能制御ステップで制御された機能による前記データの処理状況を示す状況情報を出力する出力ステップと、
判断手段が、前記状況情報で示された前記データの処理状況に基づいて、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行するか否か判断する判断ステップと、
要求手段が、前記判断ステップが実行すると判断した場合、前記次機能情報で示された機能を制御する前記機能制御ステップに対して機能の実行を要求する要求ステップと、
を有することを特徴とするデータ処理方法。
【請求項９】
次出力手段が、前記要求手段の要求により前記機能制御ステップで実行された機能による前記データの処理状況を示す次状況情報を出力する次出力ステップと、
次判断手段が、前記次状況情報で示された前記データの処理状況に基づいて、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行するか否か判断する次判断ステップと、
次判断手段が、前記次判断手段が実行すると判断した場合、前記次機能情報で示された機能を制御する前記機能制御ステップに対して機能の実行を要求する次要求ステップと、
をさらに有することを特徴とする請求項８に記載のデータ処理方法。
【請求項１０】
統合生成手段が、複数の機能を用いたデータの処理毎に、複数の前記記憶手段と、複数の前記判断手段と、複数の前記要求手段と、を生成する統合生成ステップを有することを特徴とする請求項８又は９に記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機能を用いてデータ処理を行うデータ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
データ処理、特に、画像データの処理においては、近年、ＡＳＩＣ（Application  Specific  Integrated  Circuit）を用いた処理が行われているが、このようなデータ処理においては、データ処理のアルゴリズムと該アルゴリズムを実行するハードウェア、または、ソフトウェアの実装形態とが密着していた。例えば、データ処理を行うための機能が予め定められた順序で行うように、ソフトウェア及びハードウェアを組み合わせて設計されていることもあった。このため、データ処理アルゴリズムを柔軟に変更することが困難であった。また、データ処理アルゴリズムを変更すると、データ処理装置の内部構成が複雑化し、開発、改良、アフターサービスを向上させる上で問題があった。
【０００３】
当該問題を解決するために、特許文献１では、画像データに所定の加工を施す複数の画像データ加工手段により順次画像データに加工を施して、画像データに所定の画像処理を施す技術、また、画像処理要求があると、該画像処理要求に対応する画像データ加工手段を選択して、該選択した画像データ加工手段により画像データに順次加工を施して画像処理を施す技術が提案されている。
【０００４】
この特許文献１に記載された技術では、画像データ加工手段を画像処理要求の内容に応じて順次選択して実行させることで、アルゴリズムの変更に対して柔軟に対応させることが可能となる。
【０００５】
【特許文献１】特開２００１−１１８０５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、近年のデータ処理では、処理内容が複雑化している。そして、特許文献１に記載された技術では、順次リソースを確保して実行させ、処理中のリソースが解放されると、次の処理を行うという処理を行うと共に、処理単位毎にリソースを開放している。このため、上記データ処理内容の複雑化とハードウェアの仕様に合わせた柔軟な制御を行うことができず、処理性能を向上させる上で、改良の必要があった。
【０００７】
そこで、本発明は、ハードウェアの制御に柔軟性を持たせると共に、処理性能を向上させることのできるデータ処理装置及びデータ処理方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
請求項１記載の発明のデータ処理装置は、データを処理する機能を制御する、機能毎の機能制御手段と、前記機能制御手段で制御された機能による前記データの処理状況を示す状況情報を出力する出力手段と、前記機能を示す機能情報と、当該機能の次に実行される機能を示す次機能情報と、を対応付けて記憶する記憶手段と、前記状況情報で示された前記データの処理状況に基づいて、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行するか否か判断する判断手段と、前記判断手段が実行すると判断した場合、前記次機能情報で示された機能を制御する前記機能制御手段に対して機能の実行を要求する要求手段と、を備えることを特徴とする。
【０００９】
請求項１の場合、例えば、請求項２に記載するように、前記要求手段の要求により前記機能制御手段で実行された機能による前記データの処理状況を示す次状況情報を出力する次出力手段と、前記次状況情報で示された前記データの処理状況に基づいて、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行するか否か判断する次判断手段と、前記次判断手段が実行すると判断した場合、前記次機能情報で示された機能を制御する前記機能制御手段に対して機能の実行を要求する次要求手段と、をさらに備えてもよい。
【００１０】
また、請求項２の場合、例えば、請求項３に記載するように、複数の機能を用いたデータの処理毎に、当該処理で用いる複数の機能に基づいて、複数の前記記憶手段と、前記判断手段と、前記次判断手段と、前記要求手段と、前記次要求手段と、を生成する統合生成手段を、備えてもよい。
【００１１】
また、請求項１乃至３のいずれか一つの場合、例えば、請求項４に記載するように、前記記憶手段は、複数の前記機能情報と、前記次機能情報と、を対応付けて記憶し、前記出力手段は、複数の前記機能情報で示されたそれぞれの機能による前記データの処理状況を示す複数の状況情報を出力し、前記判断手段は、前記複数の状況情報で示された前記データの複数の処理状況に基づいて、次の機能を開始してよいと判断した場合に、当該複数の処理状況を作り出した前記複数の機能を示す複数の前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行してよいと判断してもよい。
【００１２】
さらに、請求項１乃至４のいずれか一つの場合、例えば、請求項５に記載するように、前記記憶手段は、前記機能情報と、複数の前記次機能情報と、を対応付けて記憶し、前記判断手段は、前記状況情報で示された前記データの処理状況で次の機能を開始して良いと判断した場合に、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた複数の前記次機能情報で示された複数の機能を実行してよいと判断してもよい。
【００１３】
また、請求項５の場合、例えば、請求項６に記載するように、複数の前記次機能情報毎に優先順位を記憶する優先順位記憶手段をさらに備え、前記判断手段は、さらに、複数の前記次機能情報の前記優先順位に従って、当該次機能情報で示された機能を実行してよいと判断してもよい。
【００１４】
さらに、請求項５の場合、例えば、請求項７に記載するように、複数の前記次機能情報毎に機能を開始する開始条件情報を記憶する条件情報記憶手段をさらに備え、前記判断手段は、さらに、複数の前記次機能情報のそれぞれについて、前記開始条件情報を満足した場合に、当該次機能情報で示された機能を実行してよいと判断してもよい。
【００１５】
請求項８記載の発明のデータ処理方法は、画像データ処理装置で実行される画像データ処理方法であって、画像データ処理装置は、前記機能を示す機能情報と、当該機能の次に実行される機能を示す次機能情報と、を対応付けて記憶する記憶手段を備え、機能毎の機能制御手段が、データを処理する機能を制御する複数の機能制御ステップと、出力手段が、前記機能制御ステップで制御された機能による前記データの処理状況を示す状況情報を出力する出力ステップと、判断手段が、前記状況情報で示された前記データの処理状況に基づいて、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行するか否か判断する判断ステップと、要求手段が、前記判断ステップが実行すると判断した場合、前記次機能情報で示された機能を制御する前記機能制御ステップに対して機能の実行を要求する要求ステップと、を有することを特徴とする。
【００１６】
請求項８の場合、例えば、請求項９に記載するように、次出力手段が、前記要求手段の要求により前記機能制御ステップで実行された機能による前記データの処理状況を示す次状況情報を出力する次出力ステップと、次判断手段が、前記次状況情報で示された前記データの処理状況に基づいて、当該処理状況を作り出した前記機能を示す前記機能情報と、前記記憶手段により対応付けられた前記次機能情報で示された機能を実行するか否か判断する次判断ステップと、次判断手段が、前記次判断手段が実行すると判断した場合、前記次機能情報で示された機能を制御する前記機能制御ステップに対して機能の実行を要求する次要求ステップと、をさらに有してもよい。
【００１７】
また、請求項８又は９の場合、例えば、請求項１０に記載するように、統合生成手段が、複数の機能を用いたデータの処理毎に、複数の前記記憶手段と、複数の前記判断手段と、複数の前記要求手段と、を生成する統合生成ステップを有してもよい。
【発明の効果】
【００１８】
本発明によれば、複数の機能でデータの処理を行う場合に、機能の処理状況に応じて次に呼び出す機能を特定できるので、予め機能を実行する順序をハードウェアコーティングする必要がなくなるので、異なるデータの処理に応じて必要な機能の順序を柔軟に設定できることになり、ハードウェアを効率的かつ柔軟に制御を可能とし、処理性能を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の好適な実施の形態を添付図面に基づいて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００２０】
（第１の実施の形態）
本実施の形態では、データ処理装置及びデータ処理方法を、画像データ処理装置に適用した例について説明する。図１は、第１の実施の形態にかかる画像データ処理装置１の概略機能構成図である。
【００２１】
また、本実施の形態では、処理対象となるデータが画像データの例について説明するが、画像データに限らず、複数の機能による処理の対象となるデータであれば、どのようなデータであっても良い。
【００２２】
図１において、画像データ処理装置１は、ハードウェアであるＡＳＩＣ１０、ＡＳＩＣ１０を各機能で動作させる複数のドライバＤｒ１〜Ｄｒ１２、ドライバＤｒ１〜Ｄｒ６及びドライバＤｒ７〜Ｄｒ１２をそれぞれ統合する統合ドライバＴＤｒ１、ＴＤｒ２、統合ドライバを管理する統合ビデオドライバＴＢＤｒ及びＯＳ（Operating  System）のプロセス２０等で構成されている。画像データ処理装置１は、ＣＤ（Compact  Disc）、ＣＤ−ＲＷ（Compact  Disc  Rewritable）、ＤＶＤ（Digital  Video  Disk）、フレキシブルディスク等の記録媒体に記録されているデータ処理プログラムが複合装置、複写装置、プリンタ装置等の画像処理装置やコンピュータにインストールされて実行されたものとする。これにより、後述するデータ処理方法を実行する画像データ処理装置（データ処理装置）１が構築される。
【００２３】
プロセス２０は、複数のスレッド２１ａ〜２１ｎ及び統合ビデオライブラリ２２等を備えており、処理実行単位であるスレッド２１ａ〜２１ｎと統合ビデオライブラリ２２との間で各種情報の授受を行って、ドライバＤｒ１〜Ｄｒ１２をアプリケーションとして扱う。
【００２４】
スレッド２１ａ〜２１ｎは、利用者又は画像データ処理装置１からの要求を満たす処理を行うための実行単位とする。これら処理は、ＡＳＩＣ１０が提供する複数の機能を、処理に応じて設定された順序で実行されることで実現する。そして、スレッド２１ａ〜２１ｎは、当該処理を実行するために、統合ビデオライブラリ２２を呼び出す。
【００２５】
統合ビデオライブラリ２２は、スレッド２１ａ〜２１ｎが、各ドライバで制御される機能を利用するためのライブラリを備える。また、統合ビデオライブラリ２２は、スレッド２１ａ〜２１ｎからの要求に応じて、実行される機能を開始する順序が設定された制御手順情報を発行する。また、統合ビデオドライバＴＢＤｒがスレッド関数を呼び出す際に、ディスクセットＯＰＥキューを利用する。
【００２６】
画像データ処理装置１は、統合ビデオライブラリ２２と統合ビデオドライバＴＢＤｒとの間で、オープン、ライト、クローズ、リードの交換を行ったり、統合ビデオドライバＴＢＤｒから統合ビデオライブラリ２２にスレッド関数のコールを行って、ディスクセット、メモリ上のデータ等の管理情報のやり取り、ドライバ動作の同期、動作内容の情報のやり取り、ドライバＤｒ１〜Ｄｒ１２単位でのドライバＤｒ１〜Ｄｒ１２の有効化及び動作停止等の情報のやり取りを行い、さらに、ドライバ側からスレッド側（プロセス側）に知りたい情報を読み取ることで、プロセス２０が各ドライバＤｒ１〜Ｄｒ１２を柔軟に制御している。
【００２７】
統合ドライバＴＤｒ１は、ドライバＤｒ１〜Ｄｒ６の動作を制御する。統合ドライバＴＤｒ２は、ドライバＤｒ７〜Ｄｒ１２の動作を制御する。この統合ドライバＴＤｒ１、ＴＤｒ２は、後述するＡＳＩＣ１０内のカスタムチップ毎に備えられているものとする。
【００２８】
統合ビデオドライバＴＢＤｒは、統合ドライバＴＤｒ１及び統合ドライバＴＤｒ２を介して各ドライバＤｒ１〜Ｄｒ１２の動作を制御する。
【００２９】
また、統合ビデオドライバＴＢＤｒは、統合ビデオライブラリ２２により発行された制御手順情報に設定された、各機能の開始する順序に従って、各機能に対応するドライバＤｒ１〜Ｄｒ１２の開始制御を行う。本実施の形態にかかる統合ビデオドライバＴＢＤｒは、ドライバＤｒ１〜Ｄｒ１２に対して制御許可通知を行うことで、各ドライバにおける機能の実行を制御する。そして、制御許可通知を受信したドライバＤｒ１〜Ｄｒ１２は、ＡＳＩＣ１０が提供する機能の制御を開始する。なお、機能を制御するための具体的な処理については後述する。
【００３０】
ＡＳＩＣ１０は、第１ＡＳＩＣ１１及び第２ＡＳＩＣ１２という２個のカスタムチップで構成されている。第１ＡＳＩＣ１１及び第２ＡＳＩＣ１２は、それぞれ異なる機能を提供する。また、第１ＡＳＩＣ１１及び第２ＡＳＩＣ１２の間は接続されているため、互いに処理終了後の画像データの送受信を行うことができる。本実施の形態では、第１ＡＳＩＣ１１の機能をドライバＤｒ１〜Ｄｒ６が制御し、第２ＡＳＩＣ１２の機能をドライバＤｒ７〜Ｄｒ１２が制御する。
【００３１】
また、ＡＳＩＣ１０は、ドライバＤｒ１〜Ｄｒ１２の制御によって、データ（特に、画像データ）に対して各種機能動作を実行するハードウェアとする。例えば、ＡＳＩＣ１０は、ハードディスク（ＨＤＤ）機能、ビデオ入力処理機能、画像処理機能、配信前処理機能、回転処理機能、ＪＰＥＧ伸長処理機能、合成処理機能、地紋処理機能、解像度変換処理機能、圧縮伸長処理機能、ビデオ出力処理機能等を実行する。
【００３２】
ドライバＤｒ１〜Ｄｒ６は、統合ドライバＴＤｒ１を介した統合ビデオドライバＴＢＤｒからの制御許可通知に従って、ＡＳＩＣ１０で提供される機能を動作制御する。本実施の形態では、ドライバＤｒ１〜Ｄｒ６は、統合ビデオドライバＴＢＤｒからの制御許可通知に従って、上記ＡＳＩＣ１０が提供する機能のうち、各ドライバＤｒ１〜Ｄｒ６に対応付けられた機能を実行させる。
【００３３】
ドライバＤｒ７〜Ｄｒ１２は、統合ドライバＴＤｒ２を介して統合ビデオドライバＴＢＤｒからの制御許可通知に従って、ＡＳＩＣ１０で提供される機能を動作制御する。本実施の形態では、ドライバＤｒ７〜Ｄｒ１２は、統合ビデオドライバＴＢＤｒからの制御許可通知に従って、上記ＡＳＩＣ１０が提供する機能のうち、各ドライバＤｒ７〜Ｄｒ１２に対応付けられた機能を実行させる。
【００３４】
そして、統合ビデオドライバＴＢＤｒから上位の処理（プロセス２０、スレッド関数による処理）を、ユーザプロセスとし、統合ビデオドライバＴＢＤｒより下位の処理（統合ドライバＴＤｒ１、ＴＤｒ２、並びにドライバＤｒ１〜１２及びＡＳＩＣ１０の処理）を、カーネルモードとする。
【００３５】
図２は、画像データ処理装置のうち要部となる、画像データに対して実行される機能、及び当該機能を動作させるための各構成を示した説明図である。図２に示すように、統合ビデオライブラリ２２により発行された制御手順情報に応じて、統合ビデオドライバＴＢＤｒは、当該統合ビデオドライバＴＢＤｒの作業領域内に、複数の状態設定制御部３１ａ〜ｎを生成する。なお、生成された複数の状態設定制御部３１ａ〜ｎのそれぞれ毎に、図３に示す各構成（ドライバ制御部、制御情報記憶部、判断部、要求部）が含まれている。つまり、統合ビデオドライバＴＢＤｒは、換言すれば各構成を生成する統合生成手段としての機能を備えている。
【００３６】
なお、機能Ａ用ドライバＤｒａ、機能Ｂ用ドライバＤｒｂ、機能Ｃ用ドライバＤｒｃ及び機能Ｄ用ドライバＤｒｄは、画像データを処理するための機能に対応するドライバとして、図１に示したドライバＤｒ１〜Ｄｒ１２から選択されたものとする。なお、機能Ａ〜Ｄは、図１に示した第１ＡＳＩＣ１１及び第２ＡＳＩＣ１２のうちいずれのチップが提供する機能であっても良いものとする。
【００３７】
また、状態設定制御部３１ａ〜ｎは、画像データを処理するために実行される機能の数から１減じた数だけ生成されるものとする。
【００３８】
例えば、統合ビデオドライバＴＢＤｒは、制御手順情報に基づいて、画像データに対して機能Ａ、機能Ｂ、機能Ｃ及び機能Ｄの順に機能を実行すると判断した場合、機能Ａの状況に応じて機能Ｂを実行する状態設定制御部３１ａと、機能Ｂの状況に応じて機能Ｃを実行する状態設定制御部３１ｂと、機能Ｃの状況に応じて機能Ｄを実行する状態設定制御部３１ｃと、を当該統合ビデオドライバＴＢＤｒの作業領域内に生成する。
【００３９】
状態設定制御部３１ａ〜ｎは、各機能の処理状況に応じて、当該各機能の次の機能を制御するドライバに対して、統合ドライバを介して制御許可通知を行う。これにより、各機能の処理状況に応じて、次の機能が実行されることになる。
【００４０】
例えば、状態設定制御部３１ａは、機能Ａ用ドライバＤｒａから、機能Ａによる画像データの処理状況を示す状態情報通知を受信し、状態情報通知に基づいて次の機能Ｂを実行してよいと判断した場合に、機能Ｂ用ドライバＤｒｂに対して制御許可通知を出力する。これにより、機能Ｂ用ドライバＤｒｂが、機能Ｂの実行を開始する。
【００４１】
そして、状態設定制御部３１ｂは、機能Ｂ用ドライバＤｒｂから、機能Ｂによる画像データの処理状況を示す状態情報通知を受信し、状態情報通知に基づいて次の機能Ｃを実行してよいと判断した場合に、機能Ｃ用ドライバＤｒｃに対して制御許可通知を出力する。これにより、機能Ｃ用ドライバＤｒｃが、機能Ｃの実行を開始する。
【００４２】
その後、状態設定制御部３１ｃは、機能Ｃ用ドライバＤｒｃから、機能Ｃによる画像データの処理状況を示す状態情報通知を受信し、状態情報通知に基づいて次の機能Ｃを実行してよいと判断した場合に、機能Ｄ用ドライバＤｒｄに対して制御許可通知を出力する。これにより、Ｄ用ドライバＤｒｄが、機能Ｄの実行を開始する。
【００４３】
つまり、本実施の形態にかかる画像データ処理装置１では、実行したい機能の順序に応じた状態設定制御部３１ａ〜ｎが生成され、生成された状態設定制御部３１ａ〜ｎが各機能間の実行を制御している。これにより、画像データ処理装置１は、スレッド２１ａ〜２１ｎが要求する処理に応じて、実行する機能の順序を設定することができる。次に、ドライバＤｒａ、Ｄｒｂ及び状態設定制御部３１ａについて説明する。なお、他のドライバ及び状態設定制御部も同様の構成を備えているものとして説明を省略する。
【００４４】
図３は、状態設定制御部３１ａ、機能Ａ用ドライバＤｒａ及び機能Ｂ用ドライバＤｒｂの構成を示したブロック図である。
【００４５】
そして、画像データ処理装置１において、例えば、図３に示すように、画像データに対して、ＡＳＩＣ１０が提供する機能のうち、前段のデータ処理手段としての機能Ａと、後段のデータ処理手段としての機能Ｂと、を順番に動作させる場合、上記データ処理プログラムの一部である、統合ビデオドライバＴＢＤｒが、状態設定制御部３１ａを構築する。
【００４６】
構築された状態設定制御部３１ａは、制御情報記憶部３０１と、判断部３０２と、要求部３０３と、ドライバ制御部３０４と、を備える。ドライバ制御部３０４は、機能Ａ用ドライバＤｒａの状態情報保持部３１０ａ及び機能Ｂ用ドライバＤｒｂの状態情報保持部３１０ｂへの設定パラメータの設定と、状態情報保持部３１０ａ及び状態情報保持部３１０ｂに対するパラメータの参照と、機能Ａ用ドライバＤｒａからの状態情報通知の受信制御と、を行う。判断部３０２及び要求部３０３は、指定された制御手順通りに機能Ａの後に機能Ｂを実行する制御を行う。設定パラメータとは、各ドライバがＡＳＩＣ１０を制御するために予め設定しておく必要があるパラメータとする。
【００４７】
判断部３０２は、ドライバ制御部３０４が受信した状態情報通知で示された機能Ａによる画像データの処理状況に基づいて、当該処理状況を作り出した機能Ａの次に行われる機能Ｂを実行するか否か判断する。この処理中の機能Ａと、機能Ａの次に行う機能Ｂとの対応付けは、後述する制御情報記憶部３０１で記憶されている。これにより、判断部３０２は、状態情報通知による処理状況に基づいて、次に実行する機能Ｂ用のドライバを特定することができる。本実施の形態にかかる判断部３０２は、後述する制御情報記憶部３０１を参照して、機能Ｂを実行して良いか否か判断する。
【００４８】
本実施の形態にかかる判断部３０２は、実行するか否かの判断に、制御情報記憶部７０２が保持する入力状態に対するビット演算を用いる。これにより、高速に画像データの処理状況を判断することが可能になる。
【００４９】
要求部３０３は、判断部３０２が次の機能Ｂを実行して良いと判断した場合に、制御情報記憶部３０１を参照して、次の機能Ｂ用ドライバＤｒｂを特定し、当該機能Ｂ用ドライバＤｒｂに対して制御許可通知を出力することで、機能Ｂの実行を要求する。
【００５０】
つまり、状態設定制御部３１ａは、上記データ処理プログラム（例えば、統合ビデオドライバＴＢＤｒ）によって構築され、機能Ｂの起動タイミングをユーザの設定したタイミング（機能Ａの状態）に合わせて、ＡＳＩＣ１０に対して機能Ｂのデータ処理を開始させる。
【００５１】
機能Ａ用ドライバＤｒａは、状態情報保持部３１０ａと、機能Ａ制御部３１１ａと、機能Ａ用出力部３１２ａとを備える。
【００５２】
機能Ｂ用ドライバＤｒｂは、状態情報保持部３１０ｂと、機能Ｂ制御部３１１ｂと、機能Ｂ用出力部３１２ｂとを備える。
【００５３】
状態情報保持部３１０ａ、３１０ｂは、機能Ａ用ドライバＤｒａ及び機能Ｂ用ドライバＤｒｂの対応する機能Ａ及び機能Ｂの制御に必要な機能設定情報となる設定パラメータを保持する。そして、機能Ａ制御部３１１ａ及び機能Ｂ制御部３１１ｂは、それぞれ状態情報保持部３１０ａ、３１０ｂを参照し、機能を実行するために必要な条件等を設定する。
【００５４】
また、状態情報保持部３１０ａ、３１０ｂは、機能Ａ、機能Ｂによるデータ処理状況情報である状態情報と、状態情報パラメータと、を保持する。状態情報は、各機能による現在のデータ処理状況を示す情報とする。状態情報パラメータは、次の機能を開始するための処理状況の条件を保持する。例えば、状態情報パラメータは、何ラインまで処理が完了したことを、次の処理の開始するための条件として保持する。
【００５５】
機能Ａ制御部３１１ａは、画像データのデータを処理するＡＳＩＣ１０の機能Ａを制御する。本実施の形態にかかる機能Ａ制御部３１１ａは、機能Ａ用ドライバＤｒａにより状態情報保持部３１０ａが保持している設定パラメータが設定された場合に、当該設定パラメータに従って機能Ａを制御する。
【００５６】
機能Ｂ制御部３１１ｂは、画像データのデータを処理するＡＳＩＣ１０の機能Ｂを制御する。本実施の形態にかかる機能Ｂ制御部３１１ｂは、機能Ｂ用ドライバＤｒｂにより状態情報保持部３１０ｂが保持している設定パラメータが設定された場合に、当該設定パラメータに従って機能Ｂを制御する。
【００５７】
機能Ａ用出力部３１２ａは、状態情報保持部３１０ａが保持している、画像データの処理状況を示す状況情報を含む状態情報通知を、状態設定制御部３１ａに対して出力する。機能Ｂ用出力部３１２ｂは、状態情報保持部３１０ｂが保持している状態情報を示す状態情報通知を、状態設定制御部３１ｂに対して出力する。
【００５８】
状態設定制御部３１ａの制御情報記憶部３０１は、データ処理目的に応じた各段の機能Ａ、機能Ｂの制御手順に関する制御手順情報である状態設定制御情報を記憶する。そして、機能Ａ用ドライバＤｒａ及び機能Ｂ用ドライバＤｒｂは、状態情報保持部３１０ａ、３０ｂの保持する設定パラメータと、状態情報及び状態情報パラメータと、制御情報記憶部３０１の状態設定制御情報と、に基づいて、各段の機能Ａ、機能Ｂを駆動制御することができる。
【００５９】
また、図３に示すように、機能Ａ用の状態情報保持部３１０ａ及び機能Ｂ用の状態情報保持部３１０ｂは、それぞれ機能Ａ用ドライバＤｒａ及び機能Ｂ用ドライバＤｒｂの一部として構築される。また、状態設定制御部３１ａは、統合ビデオドライバＴＢＤｒの一部として構築される。
【００６０】
状態設定制御部３１ａの制御情報記憶部３０１は、状態設定制御情報を記憶する。図４は、制御情報記憶部３０１が記憶する状態設定制御情報の概念を示した説明図である。状態設定制御情報は、機能Ａ及び機能Ｂ間で行われる制御手順に関する情報とする。また、状態設定制御情報は、スレッドが要求する画像処理を実現するための制御手順に応じて設定可能である。
【００６１】
図４に示すように、状態設定制御情報は、状態設定制御ＩＤ、入力状態、入出力有効マスク、入力数、出力数、入力リスト及び出力リストによって構成されている。入力数は、入力リストに記載された機能の数を保持する。入力状態は、入力リストが保持している機能毎に、次の機能を開始して良いか否か等を表す状態（フラグ）を保持する。なお、入力状態は、さらに入力機能毎に現在の処理状況を保持しても良い。入力状態のビット数は、入力リストが保持可能な入力機能の数を示す。
【００６２】
出力数は、出力リストに記載された機能の数を保持する。入力リストは、状態情報通知を状態設定制御部に対して入力する機能を示す入力機能のリストが設定されている。そして、入力リストでは、入力機能毎に、機能用ドライバの状態情報保持部を示す状態情報保持部ＩＤと、当該状態情報保持部が保持する状態情報パラメータのアドレスと、が設定されている。状態情報パラメータは、ユーザが設定する情報で、例えば、何ラインまで処理が完了すると、次の処理の開始を許可してもよいとの制御許可通知を出す基準となる情報とする。
【００６３】
出力リストは、入力機能による画像データの処理状況により、次の機能を実行して良いと判断された場合に、制御許可通知が出力される側においてデータ処理を行う機能を示す出力機能のリストが設定されている。出力リストでは、出力機能毎に、機能用ドライバの状態情報保持部を示す状態情報保持部ＩＤと状態情報パラメータのアドレスとが設定されている。
【００６４】
このように、制御情報記憶部３０１が記憶する状態設定制御情報においては、入力機能が設定されている入力リストと、出力機能が設定されている出力リストと、が対応付けられている。
【００６５】
ドライバ制御部３０４は、入力リストで示された各機能に対応するドライバから、状態情報通知を受信した場合、当該状態情報通知に含まれている状態情報が、入力リストにおいて当該機能として参照できる状態情報パラメータに設定された条件を満たすと、「１」から「０」に更新する。そして、判断部３０２は、入力状態が全て「０」となった場合に、次の機能を実行して良いと判断する。
【００６６】
そして、制御情報記憶部３０１において、入力機能が示された入力リストと、入力機能の次に実行される出力機能が示された出力リストとが対応付けて記憶していると共に、入力状態を記憶しているため、判断部３０２が、制御情報記憶部３０１の状態設定制御情報を参照することで、入力リストと対応付けられた出力リストで示された各出力機能を実行するか否か判断することができる。
【００６７】
状態設定制御情報は、図３に示す例では、入力リストには、機能Ａの状態情報保持部ＩＤと状態情報パラメータが設定され、出力リストには、機能Ｂの状態情報保持部ＩＤと状態情報パラメータが設定される。
【００６８】
統合ビデオドライバＴＢＤｒの状態設定制御部３１ａは、状態情報保持部３１０ａに、機能Ａ用ドライバＤｒａへの機能Ａ用の設定パラメータの設定と、状態情報パラメータに状態情報通知を行う条件の指定と、を行う。また、状態設定制御部３１ａは、状態情報保持部３１０ｂに、機能Ｂ用ドライバＤｒｂへの機能Ｂ用の設定パラメータを設定する。
【００６９】
機能Ａ用ドライバＤｒａは、状態情報保持部３１０ａに機能Ａ用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、ＡＳＩＣ１０の機能Ａを制御して、画像データに対して前段の機能Ａとしての機能動作を行わせる。機能Ｂ用ドライバＤｒｂは、状態情報保持部３１０ｂから機能Ｂ用のパラメータ設定と処理状況（状態情報パラメータ）の指定が行われる。そして、機能Ａ用に指定された処理状況（状態情報パラメータ）を満足した場合に、機能Ｂ用ドライバＤｒｂは、ＡＳＩＣ１０を制御して、機能Ａで処理された画像データに対して後段の機能Ｂとしての機能を行わせる。
【００７０】
そして、ＡＳＩＣ１０の機能Ａは、設定パラメータに基づいて画像データに機能Ａとしての画像処理を施して、指定されたデータ処理状況情報である状態情報を機能Ａ制御部３１１ａに通知し、機能Ａ制御部３１１ａは、該機能Ａからの状態情報を状態情報保持部３１０ａの状態情報に対して更新する。機能Ａ用出力部３１２ａは、機能Ａ制御部３１１ａを介して機能Ａから通知された状態情報保持部３１０ａの状態情報を、状態設定制御部３１ａに通知する。
【００７１】
状態設定制御部３１ａのドライバ制御部３０４は、機能Ａから通知された状態情報が、該状態情報がユーザの設定した状態設定制御情報の入力リストの状態情報パラメータになると、入力状態を、「１」または「０」に切り替える。そして、判断部３０２が、入力状態に基づいて、入力リストの機能Ａと制御情報記憶部３０１で対応付けて記憶されている出力リストの機能Ｂを開始して良いか否か判断する。そして、開始して良いと判断した場合に、要求部３０３が、出力リストの機能Ｂに対して起動をかけるために、状態情報保持部３１０ｂに制御許可通知を行う。
【００７２】
例えば、入力状態「１」を入力状態情報待ち状態、入力状態「０」を入力状態情報通知可能状態とする。この場合、機能Ａから通知された状態情報が入力リストの状態情報パラメータになると、ドライバ制御部３０４が入力状態を「０」に切り替える。該入力状態が全て「０」になると、判断部３０２が出力リストの機能Ｂを開始して良いと判断する。そして、要求部３０３が、出力リストの機能Ｂに対して起動をかけるために、機能Ｂ用ドライバＤｒｂの状態情報保持部３１０ｂに制御許可通知を行う。
【００７３】
機能Ｂ用ドライバＤｒｂの状態情報保持部３１０ｂは、状態設定制御部３１ａから制御許可通知を受け取ると、機能Ｂ用ドライバＤｒｂが、当該機能Ｂ制御部３１１ｂに対して、設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。そして、機能Ｂ制御部３１１ｂは、状態情報保持部３１０ｂが保持していた機能Ｂ用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂを起動させて、設定パラメータに従って、機能Ａで処理された画像データに対して機能Ｂとしての機能動作を行わせる。なお、機能Ｂ用ドライバＤｒｂの状態情報保持部３１０ｂの処理状況（状態情報パラメータ）の指定は、状態設定制御部３１ａ及び状態設定制御部３１ｂのどちらが行ってもよい。
【００７４】
なお、図３は、機能Ａ用ドライバＤｒａと機能Ｂ用ドライバＤｒｂの２つのドライバのそれぞれに状態情報保持部３１０ａ、３１０ｂを設けるとともに、統合ビデオドライバＴＢＤｒに状態設定制御部３１ａを設けて、ＡＳＩＣ１０の機能Ａと機能Ｂを動作制御する場合について示しているが、状態情報保持部を有するドライバの数は、上記の数に限られるものではなく、データに対する処理に応じて適宜設定される。
【００７５】
例えば、機能Ｂ用ドライバＤｒｂの機能Ｂ用出力部３１２ｂが、機能Ｂによる画像データの処理状況に基づいて、状態情報通知を状態設定制御部３１ｂに出力する。その後は、状態設定制御部３１ｂが機能間の制御を行う。図５は、状態設定制御部３１ｂ、機能Ｂ用ドライバＤｒｂ及び機能Ｃ用ドライバＤｒｃの構成を示したブロック図である。
【００７６】
状態設定制御部３１ｂは、制御情報記憶部５０１と、判断部５０２と、要求部５０３と、ドライバ制御部５０４と、を備える。制御情報記憶部５０１は、データ処理目的に応じた各段の機能Ｂ、機能Ｃの制御手順に関する制御手順情報として、機能Ｂに関する入力状態、機能Ｂを含む入力リスト、機能Ｃを含む出力リスト等を対応付けて記憶している。
【００７７】
機能Ｂ用ドライバＤｒｂは、状態情報保持部３１０ｂと、機能Ｂ制御部３１１ｂと、機能Ｂ用出力部３１２ｂと、を備えている。また、機能Ｃ用ドライバＤｒｃは、状態情報保持部３１０ｃと、機能Ｃ制御部３１１ｃと、機能Ｃ用出力部３１２ｃと、を備えている。各構成は、上述した機能Ａ用ドライバＤｒｂの各構成と同様の処理を行うものとして説明を省略する。
【００７８】
図５に示す、機能Ｂ用出力部３１２ｂは、図３の状態設定制御部３１ｂの要求部３０３の制御許可通知による開始要求により、機能Ａの次の機能として、機能Ｂ制御部３１１ｂで実行された機能Ｂによる画像データの処理状況を示す、状態情報通知を出力する。
【００７９】
そして、機能Ｂ用ドライバＤｒｂから状態情報通知を受信した場合に、状態設定制御部３１ｂの判断部５０２が、制御情報記憶部５０１に記憶された所定の入力状態が示す、画像データの処理状況に基づいて、当該処理状況を作り出した機能Ｂを含む入力リストと、制御情報記憶部５０１により対応付けられた出力リストに示された機能Ｃを実行するか否か判断する。
【００８０】
そして、要求部５０３は、判断部５０２が実行すると判断した場合、出力リストで示された機能Ｃを制御する機能Ｃ制御部３１１ｃを含む機能Ｃ用ドライバＤｒｃに対して機能Ｃの実行を要求する。
【００８１】
統合ビデオドライバＴＢＤｒの状態設定制御部３１ｂのドライバ制御部５０４は、状態情報保持部３１０ｂの状態情報パラメータに状態情報通知を行う条件を指定する。また、状態設定制御部３１ｂは、状態情報保持部３１０ｃに、機能Ｃ用ドライバＤｒｃへの機能Ｃ用の設定パラメータを設定する。
【００８２】
上述したように各機能用ドライバ間を接続する状態設定制御部を必要に応じて複数設けることで、複数の機能による画像データの処理を行うことができる。
【００８３】
次に、本実施の形態の作用を説明する。本実施の形態の画像データ処理装置１は、ドライバＤｒ１〜Ｄｒ１２にそれぞれ状態情報保持部３１０ａ、３１０ｂ・・・を設けるとともに、統合ビデオドライバＴＢＤｒに状態設定制御部３１ａを設けてドライバＤｒ１〜Ｄｒ１２によるＡＳＩＣ１０の各機能動作制御を柔軟に行う。
【００８４】
なお、以下の説明では、図３の機能Ａ用ドライバＤｒａと機能Ｂ用ドライバＤｒｂの２つのドライバを用いて、ＡＳＩＣ１０の機能Ａと機能Ｂを制御する場合について説明する。
【００８５】
いま、画像データ処理装置１は、ユーザの設定に応じて、プロセス２０の統合ビデオライブラリ２２と統合ビデオドライバＴＢＤｒとの間で情報の交換やスレッド関数のコール等を行って、統合ビデオドライバＴＢＤｒに必要なパラメータの設定や情報の通知を行う。そして、統合ビデオドライバＴＢＤｒは、状態設定制御部３１ａに、状態設定制御情報を設定するとともに、状態情報保持部３１０ａに、機能Ａ用ドライバＤｒａへの設定パラメータの設定と通知処理状況（状態情報パラメータ）の指定を行うとともに、状態情報保持部３１０ｂに、機能Ｂ用ドライバＤｒｂへの設定パラメータの設定と通知処理状況（状態情報パラメータ）の指定を行う。
【００８６】
次に、本実施の形態にかかる画像データ処理装置１におけるスレッドからの要求に従って、画像データに対する処理を開始するまでの処理について説明する。図６は、本実施の形態にかかる画像データ処理装置１における上述した処理の手順を示すフローチャートである。本処理手順においては、統合ビデオライブラリ２２が、プロセス２０と、各ドライバＤｒ１〜１２との間で呼出可能にするためのライブラリを提供する。
【００８７】
まず、プロセス２０が、スレッドの要求に応じて、実行する機能の順序を特定する（ステップＳ６０１）。そして、プロセス２０は、統合ビデオライブラリ２２に対して、制御手順情報の発行を依頼する（ステップＳ６０２）。
【００８８】
次に、統合ビデオライブラリ２２は、プロセス２０で特定された機能の順序が設定された制御手順情報を発行する（ステップＳ６０３）。
【００８９】
そして、統合ビデオドライバＴＢＤｒが、発行された制御手順情報に従って、当該制御手順情報に記載された機能を実行するために必要な状態設定制御部の領域を確保する（ステップＳ６０４）。
【００９０】
次に、確保した状態設定制御部群を特定するための状態設定制御ＩＤを発行する（ステップＳ６０５）。
【００９１】
そして、プロセス２０では、状態設定制御ＩＤと、制御手順情報との対応付を要求する（ステップＳ６０６）。その後、統合ビデオライブラリ２２は、統合ビデオドライバＴＢＤｒで発行された状態設定制御ＩＤと、制御手順情報とを対応付ける（ステップＳ６０７）。
【００９２】
次に、統合ビデオドライバＴＢＤｒが、発行した状態設定制御ＩＤと対応付けられた制御手順情報に設定された機能を制御する、状態設定制御部群を生成する（ステップＳ６０８）。
【００９３】
その後、統合ビデオドライバＴＢＤｒは、生成した状態設定制御部群のそれぞれが備える制御情報記憶部毎に、入力リスト及び出力リストを生成する（ステップＳ６０９）。入力リスト及び出力リストが生成されたことで、制御手順情報に設定されている機能の順序が設定されたことになる。
【００９４】
そして、統合ビデオドライバＴＢＤｒは、状態設定制御部のそれぞれの制御情報記憶部と、機能用ドライバのそれぞれの状態情報保持部に対して、必要なパラメータの設定を行う（ステップＳ６１０）。設定されるパラメータとしては、例えば、制御情報記憶部が記憶する入力状態の初期値、入力数、出力数、制御許可通知タイミング値、及び状態情報保持部の状態情報パラメータ、制御優先順序、開始状態条件情報等とする。なお、制御許可通知タイミング値、制御優先順序、開始状態条件情報については、後述する実施形態で説明する。
【００９５】
その後、プロセス２０が、制御対象となる制御手順情報に基づく処理の開始を要求する（ステップＳ６１１）。そして、統合ビデオドライバＴＢＤｒは、制御手順情報において、最初の処理を行う機能を起動する（ステップＳ６１２）。後は、開始された機能の処理状況に応じて、次の機能による処理の開始を状態設定制御部が制御する。これにより、スレッドの要求通りの順序で複数の機能が実行される。
【００９６】
上述したように本実施の形態においては、図３に示した例のように、画像データ処理装置１は、まず、機能Ａでの処理を開始して、通知処理状況（状態情報パラメータ）による、ユーザの設定した起動タイミング（機能Ａの状態）に合わせて、機能Ｂを起動させて、機能Ａと機能Ｂで画像データの処理を行わせる。
【００９７】
すなわち、画像データ処理装置１においては、まず、機能Ａを起動するために、状態情報保持部３１０ａが、必要な設定パラメータとユーザの指定した状態情報パラメータを機能Ａ用ドライバＤｒａに設定し、機能Ａ用ドライバＤｒａは、ＡＳＩＣ１０の機能Ａが使用可能な状態かをチェックした上で、機能Ａを起動する。
【００９８】
機能Ａは、入力される画像データに対して設定パラメータに基づいて機能Ａの動作処理を実行し、機能Ａによる画像データの処理状況を状態情報として、機能Ａ用ドライバＤｒａに通知する。機能Ａ制御部３１１ａは、該通知された状態情報で状態情報保持部３１０ａを更新し、機能Ａ用出力部３１２ａは、状態情報保持部３１０ａの該状態情報を、状態情報通知として状態設定制御部３１ａに通知する。
【００９９】
状態情報制御部３１ａは、機能Ａ用ドライバＤｒａ及び状態情報保持部３１０ａを介して機能Ａから通知された状態情報が、ユーザの設定した状態設定制御情報の入力リストの状態情報パラメータになると、入力状態を、例えば、「１」から「０」に切り替え、該入力状態が全て「０」になると、出力リストの機能Ｂに対して起動をかけるために、状態情報保持部３１０ｂに制御許可通知を行う。
【０１００】
機能Ｂ用ドライバＤｒｂは、状態設定制御部３１ａから制御許可通知を受け取ると、状態情報保持部３１０ｂに対して、パラメータ設定と処理状況状態の指定を行う。そして、機能Ｂ制御部３１１ｂは、状態情報保持部３１０ｂに指定された機能Ｂ用の設定パラメータの設定と処理状況（状態情報パラメータ）とを参照して、機能Ｂを起動させて、機能Ａで処理された画像データに対して機能Ｂとしての機能動作を行わせる。
【０１０１】
このように、本実施の形態の画像データ処理装置１においては、ＡＳＩＣ１０の機能Ａ、機能Ｂにおいて次の機能を開始するための画像データの処理状況（状態情報パラメータ）を状態情報保持部３１０ａ、３１０ｂが保持し、状態設定制御部３１ａが、制御情報記憶部３０１が記憶する状態設定制御情報と、データ処理状況（状態情報パラメータ）とに基づいてＡＳＩＣ１０の各段の機能Ａ、機能Ｂを駆動制御している。
【０１０２】
したがって、状態情報を保持する状態情報保持部３１０ａ、３１０ｂと制御手順を管理する状態設定制御部３１ａ〜ｎとアルゴリズムが分かれており、アルゴリズムが変更になっても、内部構成が複雑化することなく、処理、手順、制御を区別して対応することができ、ハードウェアであるＡＳＩＣ１０を効率的かつ柔軟に制御して、処理性能を向上させることができる。
【０１０３】
また、本実施の形態の画像データ処理装置１は、データとして画像データ（画像データ）を取り上げて該画像データを処理している。
【０１０４】
したがって、近年の高機能化、高速化している画像データの処理を、アルゴリズムが変更になっても、効率的かつ高速に処理することができる。
【０１０５】
本実施の形態の画像データ処理装置１によれば、複数の機能でデータの処理を行う場合に、機能の処理状況に応じて次に呼び出す機能を特定できるので、予め機能を実行する順序をハードウェアコーティングする必要がなくなるとともに、異なるデータの処理に応じて必要な機能の順序を柔軟に設定できることになり、ハードウェアを効率的かつ柔軟に制御を可能とし、処理性能を向上させることができる。
【０１０６】
また、本実施の形態の画像データ処理装置１によれば、処理状況に応じた機能の呼び出しを管理する状態設定制御部と、機能を実行する機能Ａ用ドライバとを別構成としてアルゴリズムを分け、それぞれの構成を単純にしたことで、アルゴリズムが変更になっても、他の内部構成に影響を与えることが減少したために、処理、手順、制御について適切に対応することができ、ハードウェアを効率的かつ柔軟に制御すると共に、処理性能を向上させることができる。
【０１０７】
（第２の実施の形態）
図７及び図８は、第２の実施の形態にかかるデータ処理装置及びデータ処理方法を示す図である。本実施の形態でも、データ処理装置及びデータ処理方法を、画像データ処理装置に適用した例について説明する。図７は、第２の実施の形態にかかる画像データ処理装置の要部機能構成図である。
【０１０８】
なお、第２の実施の形態は、第１の実施の形態の画像データ処理装置１と同様の画像データ処理装置に適用したものとする。本実施の形態の説明においては、必要に応じて、第１実施の形態の説明で用いた符号をそのまま用いて説明する。
【０１０９】
また、本実施の形態は、その画像データ処理装置１において、一つの出力機能に対して、多入力制御を行う場合に適用したものとする。図７は、ＡＳＩＣ１０に一つの出力機能（機能Ｂ）に対して機能Ａ１と機能Ａ２との２個の入力機能がある場合の、画像データ処理装置１の要部となる構成を示したブロック図である。
【０１１０】
図７に示すように、画像データ処理装置１は、状態設定制御部７０１ａ、機能Ａ１用ドライバＤｒａａ、機能Ａ２用ドライバＤｒａｂ、及び機能Ｂ用ドライバＤｒｂを備える。
【０１１１】
そして、機能Ａ１用ドライバＤｒａａは、状態情報保持部７１０ａａ、機能Ａ１制御部７１１ａａ、及び機能Ａ１用出力部７１２ａａを備えている。機能Ａ２用ドライバＤｒａｂは、状態情報保持部７１０ａｂ、機能Ａ２制御部７１１ａｂ、及び機能Ａ２用出力部７１２ａｂを備えている。機能Ｂ用ドライバＤｒｂは、状態情報保持部３１０ｂ、機能Ｂ制御部３１１ｂ、及び機能Ｂ用出力部３１２ｂを備えている。
【０１１２】
状態情報保持部７１０ａａ、状態情報保持部７１０ａｂ及び状態情報保持部３１０ｂは、機能Ａ１、機能Ａ２及び機能Ｂを実行するために必要な設定パラメータと、各機能によるデータ処理状況情報である状態情報と、次の機能の実行を開始する条件を示す処理状況（状態情報パラメータ）と、を保持する。
【０１１３】
状態設定制御部７０１ａは、制御情報記憶部７０２と、判断部７０３と、要求部７０４と、ドライバ制御部７０５と、を備える。ドライバ制御部７０５は、機能Ａ１用ドライバＤｒａの状態情報保持部７１０ａａ、機能Ａ２用ドライバＤｒｂの状態情報保持部７１０ａｂ及び機能Ｂ用ドライバＤｒｂの状態情報保持部３１０ｂへのパラメータ設定と、状態情報保持部７１０ａａ、状態情報保持部７１０ａｂ及び状態情報保持部３１０ｂに対するパラメータの参照と、機能Ａ１用ドライバＤｒａａ及び機能Ａ２用ドライバＤｒａｂからの状態情報通知の受信制御と、を行う。判断部７０３及び要求部７０４は、指定された制御手順通りに機能Ａ１及び機能Ａ２の後に機能Ｂを実行する制御を行う。
【０１１４】
図７において、画像データ処理装置１は、例えば、画像データに対して、ＡＳＩＣ１０に、機能Ａ１、機能Ａ２及び機能Ｂを動作させる場合、ドライバＤｒ１〜Ｄｒ１２のうち、機能Ａ１、機能Ａ２及び機能Ｂと対応付けられたドライバを機能Ａ１用ドライバＤｒａａ、機能Ａ２用ドライバＤｒａｂ及び機能Ｂ用ドライバＤｒｂとする。
【０１１５】
機能Ａ１用の状態情報保持部７１０ａａ、機能Ａ２用の状態情報保持部７１０ａｂ及び機能Ｂ用の状態情報保持部３１０ｂ、並びに状態設定制御部７０１ａは、上記データ処理プログラム（例えば、統合ビデオドライバＴＢＤｒ）によって構築され、機能Ｂの起動タイミングをユーザの設定したタイミング（機能Ａの状態）に合わせて、ＡＳＩＣ１０に機能Ａ１、機能Ａ２及び機能Ｂのデータ処理を行わせる。
【０１１６】
上記機能Ａ１用の状態情報保持部７１０ａａ、機能Ａ２用の状態情報保持部７１０ａｂ及び機能Ｂ用の状態情報保持部３１０ｂは、それぞれ機能Ａ１用ドライバＤｒａａ、機能Ａ２用ドライバＤｒａｂ及び機能Ｂ用ドライバＤｒｂの一部として構築され、状態設定制御部７０１ａは、統合ビデオドライバＴＢＤｒの一部として構築される。
【０１１７】
状態設定制御部７０１ａの制御情報記憶部７０２は、状態設定制御情報を記憶する。図８に示すように、制御情報記憶部７０２は、図４と同様の構造の状態設定制御情報を記憶する。また、状態設定制御情報は、スレッドが要求する画像処理を実現するための制御手順に応じて設定可能である。
【０１１８】
状態設定制御情報は、上記同様に、状態設定制御ＩＤ、入力状態、入出力有効マスク、入力数、出力数、入力リスト及び出力リストによって構成されている。入力リストは、画像データの入力機能のリストが設定されているが、本実施の形態の場合、機能Ａ１と機能Ａ２の双方の状態情報保持部ＩＤと状態情報パラメータのアドレスが設定されている。状態情報パラメータは、ユーザが設定する情報で、例えば、何ラインまで処理が完了すると、次の処理の開始を許可してもよいとの許可通知を出してもよいとする後段の処理を許可する前段の処理状況等の情報である。
【０１１９】
出力リストは、入力機能による画像データの処理状況により、次の機能を実行して良いと判断された場合に、制御許可通知が出力される側としてデータ処理を行う機能を示す出力機能のリストが設定されている。出力リストでは、出力機能毎に、機能用ドライバの状態情報保持部を示す状態情報保持部ＩＤと状態情報パラメータのアドレスとが設定されている。
【０１２０】
入力状態は、入力リストが保持している機能毎に、次の機能を開始して良いか否か等を表す状態（フラグ）を保持する。本実施の形態の入力状態においては、機能Ａ１及び機能Ａ２のそれぞれに対応するフラグが設定される。
【０１２１】
状態設定制御情報は、図７の処理の場合、入力リストには、機能Ａ１と機能Ａ２の状態情報保持部ＩＤと状態情報パラメータのアドレスとが設定され、出力リストには、機能Ｂの状態情報保持部ＩＤと状態情報パラメータのアドレスが設定される。
【０１２２】
統合ビデオドライバＴＢＤｒのドライバ制御部７０５は、状態情報保持部７１０ａａに、機能Ａ１用ドライバＤｒａａへの機能Ａ１用の設定パラメータの設定と通知を許可するための処理状況（状態情報パラメータ）の指定と、を行う。また、ドライバ制御部７０５は、状態情報保持部７１０ａｂに、機能Ａ２用ドライバＤｒａｂへの機能Ａ２用の設定パラメータの設定と通知を許可するための処理状況（状態情報パラメータ）の指定とを行い、さらに、ドライバ制御部７０５は、状態情報保持部３１０ｂに、機能Ｂ用ドライバＤｒｂへの機能Ｂ用の設定パラメータの設定と、通知を許可するための処理状況（状態情報パラメータ）の指定と、を行う。
【０１２３】
機能Ａ１用制御部７１１ａａは、機能Ａ１用ドライバＤｒａａにより、状態情報保持部７１０ａａが保持する機能Ａ１用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、ＡＳＩＣ１０の機能Ａ１を制御して、画像データに対して機能Ａ１としての機能動作を行わせる。機能Ａ２用ドライバＤｒａｂは、状態情報保持部７１０ａｂに機能Ａ２用のパラメータ設定と処理状況（状態情報パラメータ）の指定が行われると、ＡＳＩＣ１０の機能Ａ２を制御して、画像データに対して機能Ａ２としての機能動作を行わせる。
【０１２４】
機能Ｂ用制御部３１１ｂは、機能Ｂ用ドライバＤｒｂにより、状態情報保持部３１０ｂが保持する機能Ｂ用のパラメータ設定と処理状況（状態情報パラメータ）の指定が行われると、ＡＳＩＣ１０の機能Ｂを制御して、機能Ａで処理された画像データに対して機能Ｂとしての機能動作を行わせる。処理を開始するタイミングとしては、機能Ａ１用に指定された処理状況（状態情報パラメータ）及び機能Ａ２用に指定された処理状況（状態情報パラメータ）のそれぞれを満足した場合に、機能Ｂ用制御部３１１ｂは、ＡＳＩＣ１０を制御して、機能Ａ１及びＡ２で処理された画像データに対して後段の機能Ｂとしての機能を行わせる。
【０１２５】
そして、ＡＳＩＣ１０の機能Ａ１は、設定パラメータに基づいて画像データに機能Ａ１としての画像処理を施して、指定された状態情報を機能Ａ１制御部７１１ａａに通知し、機能Ａ１制御部７１１ａａは、該機能Ａ１からの状態情報を状態情報保持部７１０ａａの状態情報に対して更新する。機能Ａ１用出力部７１２ａａは、機能Ａ１制御部７１１ａａを介して機能Ａ１から通知された状態情報保持部７１０ａａの状態情報を、状態設定制御部７０１ａに通知する。
【０１２６】
同様に、ＡＳＩＣ１０の機能Ａ２は、設定パラメータに基づいて画像データに機能Ａ２としての画像処理を施して、指定された状態情報を機能Ａ２制御部７１１ａｂに通知し、機能Ａ２制御部７１１ａｂは、該機能Ａ２からの状態情報を状態情報保持部７１０ａｂの状態情報に対して更新する。機能Ａ２用出力部７１２ａｂは、機能Ａ２制御部７１１ａｂを介して機能Ａ２から通知された状態情報保持部７１０ａｂの状態情報を、状態設定制御部７０１ａに通知する。
【０１２７】
状態設定制御部７０１ａのドライバ制御部７０５は、前段である機能Ａ１及び機能Ａ２から通知された状態情報が、ユーザの設定した状態設定制御情報の入力リストの状態情報パラメータになると、機能Ａ１及び機能Ａ２それぞれの入力状態を、「１」または「０」に切り替える。そして、判断部７０３が、入力状態に基づいて、入力リストの機能Ａ１及びＡ２と制御情報記憶部７０２で対応付けて記憶されている出力リストの機能Ｂを開始して良いか否か判断する。そして、それぞれの入力状態に基づいて、開始して良いと判断した場合に、要求部７０４が、出力リストの機能Ｂに対して起動をかけるために、機能Ｂ用ドライバＤｒｂの状態情報保持部３１０ｂに制御許可通知を行う。例えば、入力状態「１」を入力状態情報待ち状態、入力状態「０」を入力状態情報通知受付状態とする。この場合、機能Ａ１から通知された状態情報が入力リストの状態情報パラメータになると、ドライバ制御部７０５が、機能Ａ１の入力状態を「０」に切り替える。さらに、機能Ａ２から通知された状態情報が入力リストの状態パラメータになると、ドライバ制御部７０５が、機能Ａ２の入力状態を「０」に切り替える。そして、該入力状態が全て「０」になると、判断部３０２が出力リストの機能Ｂを開始して良いと判断する。そして、要求部７０４が、出力リストの機能Ｂに対して起動をかけるために、機能Ｂ用ドライバＤｒｂの状態情報保持部３１０ｂに制御許可通知を行う。
【０１２８】
機能Ｂ用ドライバＤｒｂの状態情報保持部３１０ｂは、状態設定制御部７０１ａから制御許可通知を受け取ると、機能Ｂ用ドライバＤｒｂが、当該機能Ｂ制御部３１１ｂに対して、設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。そして、機能Ｂ制御部３１１ｂは、状態情報保持部３１０ｂが保持していた機能Ｂ用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂを起動させて、設定パラメータに従って、機能Ａ１及び機能Ａ２で処理された画像データに対して機能Ｂとしての機能動作を行わせる。
【０１２９】
なお、図７は、機能Ａ１用ドライバＤｒａａと機能Ａ２用ドライバＤｒａｂと機能Ｂ用ドライバＤｒｂの３つのドライバのそれぞれに状態情報保持部７１０ａａ、７１０ａｂ、３１０ｂを設けるとともに、統合ビデオドライバＴＢＤｒに状態設定制御部７０１ａを設けて、ＡＳＩＣ１０の機能Ａ１、機能Ａ２及び機能Ｂを動作制御する場合について示しているが、状態情報保持部を有するドライバの数は、上記の数に限られるものではなく、データに対する処理に応じて適宜設定される。
【０１３０】
次に、本実施の形態の作用を説明する。本実施の形態の画像データ処理装置１は、ドライバＤｒ１〜Ｄｒ１２にそれぞれ状態情報保持部７１０ａａ、７１０ａｂ、３１０ｂ・・・を設けるとともに、統合ビデオドライバＴＢＤｒに状態設定制御部７０１ａを設けてドライバＤｒ１〜Ｄｒ１２による複数入力の場合のＡＳＩＣ１０の各機能動作制御を柔軟に行う。
【０１３１】
なお、以下の説明では、図７の機能Ａ１用ドライバＤｒａａ、機能Ａ２用ドライバＤｒａｂ及び機能Ｂ用ドライバＤｒｂの３つのドライバを用いて、ＡＳＩＣ１０の前段の機能Ａ１、機能Ａ２及び後段の機能Ｂを制御する場合について説明する。
【０１３２】
いま、画像データ処理装置１は、ユーザの設定に応じて、プロセス２０の統合ビデオライブラリ２２と統合ビデオドライバＴＢＤｒとの間で情報の交換やスレッド関数のコール等を行って、統合ビデオドライバＴＢＤｒに必要なパラメータの設定や情報の通知を行う。そして、統合ビデオドライバＴＢＤｒは、状態設定制御部７０１ａの制御情報記憶部７０２に、状態設定制御情報を設定するとともに、状態情報保持部７１０ａａに、機能Ａ１用ドライバＤｒａａへの設定パラメータの設定と通知処理状況（状態情報パラメータ）の指定を行うとともに、状態情報保持部７１０ａｂに、機能Ａ２用ドライバＤｒａｂへの設定パラメータの設定と通知処理状況（状態情報パラメータ）の指定を行い、さらに、状態情報保持部３１０ｂに、機能Ｂ用ドライバＤｒｂへの設定パラメータの設定と通知処理状況（状態情報パラメータ）の指定を行う。
【０１３３】
図７の場合、画像データ処理装置１は、まず、機能Ａ１及び機能Ａ２での処理を開始して、ユーザの設定した起動タイミング（機能Ａ１と機能Ａ２の状態）に合わせて、機能Ｂを起動させて、前段の機能Ａ１と機能Ａ２及び後段の機能Ｂで画像データの処理を行わせる。
【０１３４】
すなわち、画像データ処理装置１においては、まず、機能Ａ１と機能Ａ２を起動するために、状態情報保持部７１０ａａと状態情報保持部７１０ａｂが、必要な設定パラメータとユーザの指定した状態情報パラメータを機能Ａ１用ドライバＤｒａ及び機能Ａ２用ドライバＤｒａｂに設定し、機能Ａ１用ドライバＤｒａａ及び機能Ａ２用ドライバＤｒａｂは、ＡＳＩＣ１０の機能Ａ１及び機能Ａ２が使用可能な状態かをチェックした上で、機能Ａ１及び機能Ａ２を起動する。
【０１３５】
機能Ａ１及び機能Ａ２は、入力される画像データに対して設定パラメータに基づいて機能Ａ１及び機能Ａ２の動作処理を実行し、機能Ａ１及び機能Ａ２による画像データの処理状況を状態情報として、機能Ａ１用ドライバＤｒａａ及び機能Ａ２用ドライバＤｒａｂに通知する。機能Ａ１制御部７１１ａａ及び機能Ａ２制御部７１１ａｂは、該通知された状態情報でそれぞれ状態情報保持部７１０ａａ、７１０ａｂを更新する。そして、機能Ａ１用出力部７１２ａａは、状態情報保持部７１０ａａの該状態情報を、状態情報通知として状態設定制御部７０１ａに通知する。また、機能Ａ２用出力部７１２ａｂは、状態情報保持部７１０ａｂの該状態情報を、状態情報通知として状態設定制御部７０１ａに通知する。
【０１３６】
状態設定制御部７０１ａのドライバ制御部７０５は、機能Ａ１用ドライバＤｒａａ及び状態情報保持部７１０ａａを介して機能Ａ１から通知された状態情報を、入力状態に反映させる。また、状態設定制御部７０１ａのドライバ制御部７０５は、機能Ａ２用ドライバＤｒａｂ及び状態情報保持部７１０ａｂを介して機能Ａ２から通知された状態情報を、入力状態に反映させる。例えば、ドライバ制御部７０５は、該状態情報が、ユーザの設定した状態設定制御情報の入力リストの状態情報パラメータになると、入力状態を「１」から「０」に切り替える。そして、判断部７０３が、該入力状態が全て「０」になると、機能Ｂを開始して良いものと判断し、要求部７０４が、出力リストの機能Ｂに対して起動をかけるために、状態情報保持部３１０ｂに制御許可通知を行う。
【０１３７】
機能Ｂ用ドライバＤｒｂの状態情報保持部３１０ｂは、状態設定制御部７０１ａから制御許可通知を受け取ると、機能Ｂ用ドライバＤｒｂが、機能Ｂ制御部３１１ｂに対して、パラメータ設定と処理状況（状態情報パラメータ）の指定を行う。そして、機能Ｂ制御部３１１ｂは、状態情報保持部３１０ｂが保持していた機能Ｂ用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂを起動させて、設定パラメータに従って、機能Ａ１及び機能Ａ２で処理された画像データに対して機能Ｂとしての機能動作を行わせる。
【０１３８】
このように、本実施の形態の画像データ処理装置１においては、状態設定制御部７０１ａの制御情報記憶部７０２が、複数の前段の機能Ａ１、機能Ａ２と、前段より数が少ない後段の機能Ｂとを対応付けた状態設定制御情報を記憶している。そして、状態設定制御部７０１ａの判断部７０３及び要求部７０４は、各前段の機能Ａ１、機能Ａ２によるデータ処理状況である状態情報と、状態設定制御情報と、に基づいて、後段の機能Ｂの起動タイミングを制御している。したがって、多入力−少出力のデータ処理を適切にかつ高速に行うことができる。
【０１３９】
（第３の実施の形態）
図９及び図１０は、第３の実施の形態にかかるデータ処理装置及びデータ処理方法を示す図である。本実施の形態では、データ処理装置及びデータ処理方法を、画像データ処理装置に適用した例について説明する。図９は、第３の実施の形態にかかる画像データ処理装置の要部機能構成図である。
【０１４０】
なお、第３の実施の形態は、上記第１の実施の形態の画像データ処理装置１と同様の画像データ処理装置に適用したものであり、本実施の形態の説明においては、必要に応じて、第１の実施の形態の説明で用いた符号をそのまま用いて説明する。
【０１４１】
また、本実施の形態は、その画像データ処理装置１において、一つの入力機能に対して、多出力制御を行う場合に適用したものであり、図９は、ＡＳＩＣ１０の入力機能Ａに対応付けられた出力機能として、機能Ｂ１と機能Ｂ２との２個の出力機能がある場合を示した図である。
【０１４２】
図９に示すように、画像データ処理装置１は、状態設定制御部９０１ａ、機能Ａ用ドライバＤｒａ、機能Ｂ１用ドライバＤｒｂａ、及び機能Ｂ２用ドライバＤｒｂｂを備える。
【０１４３】
そして、機能Ａ用ドライバＤｒａは、状態情報保持部３１０ａ、機能Ａ制御部３１１ａ、及び機能Ａ用出力部３１２ａを備えている。機能Ｂ１用ドライバＤｒｂａは、状態情報保持部９１０ｂａ、機能Ｂ１制御部９１１ｂａ、及び機能Ｂ１用出力部９１２ｂａを備えている。機能Ｂ用ドライバＤｒｂｂは、状態情報保持部９１０ｂｂ、機能Ｂ２制御部９１１ｂｂ、及び機能Ｂ２用出力部９１２ｂｂを備えている。
【０１４４】
状態情報保持部３１０ａ、状態情報保持部９１０ｂａ及び状態情報保持部９１０ｂｂは、機能Ａ、機能Ｂ１及び機能Ｂ２を実行するために必要な設定パラメータと、各機能によるデータ処理状況情報である状態情報と、次の機能の実行を開始する条件を示す処理状況（状態情報パラメータ）と、を保持する。
【０１４５】
状態設定制御部９０１ａは、制御情報記憶部９０２と、判断部９０３と、要求部９０４と、ドライバ制御部９０５と、を備える。ドライバ制御部９０５は、機能Ａ用ドライバＤｒａの状態情報保持部３１０ａ、機能Ｂ１用ドライバＤｒｂａの状態情報保持部９１０ｂａ及び機能Ｂ２用ドライバＤｒｂｂの状態情報保持部９１０ｂｂへのパラメータ設定と、状態情報保持部３１０ａ、状態情報保持部９１０ｂａ及び状態情報保持部９１０ｂｂに対するパラメータの参照と、機能Ａ用ドライバＤｒａからの状態情報通知の受信制御と、を行う。判断部９０３及び要求部９０４は、指定された制御手順通りに機能Ａの後に機能Ｂ１及び機能Ｂ２を実行する制御を行う。
【０１４６】
図９において、画像データ処理装置１は、例えば、画像データに対して、ＡＳＩＣ１０に、機能Ａ及び機能Ｂ１と機能Ｂ２を動作させる場合、ドライバＤｒ１〜Ｄｒ１２のうち、機能Ａ、機能Ｂ１及び機能Ｂ２と対応付けられたドライバを、機能Ａ用ドライバＤｒａ、機能Ｂ１用ドライバＤｒｂａと機能Ｂ２用ドライバＤｒｂｂとする。
【０１４７】
機能Ａ用の状態情報保持部３１０ａ、機能Ｂ１用の状態情報保持部９１０ｂａ及び機能Ｂ２用の状態情報保持部９１０ｂｂ、並びに状態設定制御部９０１ａは、上記データ処理プログラム（例えば、統合ビデオドライバＴＢＤｒ）によって構築され、機能Ｂ１及び機能Ｂ２の起動タイミングをユーザの設定したタイミング（機能Ａの状態）に合わせて、ＡＳＩＣ１０に機能Ａ、機能Ｂ１及び機能Ｂ２のデータ処理を行わせる。
【０１４８】
上記機能Ａ用の状態情報保持部３１０ａ、機能Ｂ１用の状態情報保持部９１０ｂａ及び機能Ｂ２用の状態情報保持部９１０ｂｂは、それぞれ機能Ａ用ドライバＤｒａ、機能Ｂ１用ドライバＤｒｂａ及び機能Ｂ２用ドライバＤｒｂｂの一部として構築され、状態設定制御部９０１ａは、統合ビデオドライバＴＢＤｒの一部として構築される。
【０１４９】
状態設定制御部９０１ａの制御情報記憶部９０２は、状態設定制御情報を記憶する。図１０に示すように、制御情報記憶部９０２は、図４と同様の構造の状態設定制御情報を記憶する。また、状態設定制御情報は、スレッドが要求する画像処理を実現するための制御手順に応じて設定可能である。
【０１５０】
状態設定制御情報は、上記同様に、状態設定制御ＩＤ、入力状態、入出力有効マスク、入力数、出力数、入力リスト及び出力リストによって構成されている。入力リストは、画像データの入力機能のリストが設定され、本実施の形態の場合、機能Ａの状態情報保持部ＩＤと状態情報パラメータのアドレスが設定されている。状態情報パラメータは、ユーザが設定する情報で、例えば、何ラインまで処理が完了すると、次の処理の開始を許可してもよいとの許可通知を出してもよいとする後段の処理を許可する前段の処理状況等の情報である。
【０１５１】
出力リストは、入力機能による画像データの処理状況により、次の機能を実行して良いと判断された場合に、制御許可通知が出力される側においてデータ処理を行う機能を示す出力機能のリストが設定されている。出力リストでは、出力機能（機能Ｂ１及び機能Ｂ２のそれぞれ）毎に、機能用ドライバの状態情報保持部を示す状態情報保持部ＩＤと状態情報パラメータのアドレスと開始状態条件情報とが設定される。
【０１５２】
開始状態条件情報は、入力機能の処理途中に、出力機能の処理を開始するために制御許可通知をするための条件や、入力機能の完了後に出力機能の処理を開始する等の、制御許可通知を通知する、入力機能の処理状況の条件（タイミング）を示した情報とする。
【０１５３】
このため、機能Ｂ１と機能Ｂ２の開始タイミングは、開始状態条件情報によって異なる。入力状態は、入力リストが保持している機能毎に、次の機能を開始して良いか否か等を表す状態（フラグ）を保持する。本実施の形態の入力状態においては、機能Ａに対応するフラグが設定される。
【０１５４】
状態設定制御情報は、図９の処理の場合、入力リストには、機能Ａの状態情報保持部ＩＤと状態情報パラメータのアドレスが設定され、出力リストには、機能Ｂ１及び機能Ｂ２の状態情報保持部ＩＤと状態情報パラメータのアドレスと開始状態条件情報とが設定される。
【０１５５】
統合ビデオドライバＴＢＤｒのドライバ制御部９０５は、状態情報保持部３１０ａに、機能Ａ用ドライバＤｒａへの機能Ａ用の設定パラメータの設定と、通知を許可するための処理状況（状態情報パラメータ）の指定と、を行う。また、ドライバ制御部９０５は、状態情報保持部９１０ｂａに、機能Ｂ１用ドライバＤｒｂａに機能Ｂ１を実行させるか判断するための処理状況（状態情報パラメータ）の指定を行い、さらに、状態情報保持部９１０ｂｂに、機能Ｂ２用ドライバＤｒｂｂへの機能Ｂ２を実行させるか判断するための処理状況（状態情報パラメータ）の指定を行う。
【０１５６】
機能Ａ用ドライバＤｒａは、状態情報保持部３１０ａに機能Ａ用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、ＡＳＩＣ１０の機能Ａを制御して、画像データに対して前段の機能Ａとしての機能動作を行わせる。機能Ｂ１用ドライバＤｒｂａは、状態情報保持部９１０ｂａに後段の機能Ｂ１用のパラメータ設定と処理状況（状態情報パラメータ）と開始状態条件情報との指定が行われると、開始状態条件情報で示された条件を満たした場合に、ＡＳＩＣ１０の機能Ｂ１を制御して、機能Ａで処理された画像データに対して機能Ｂ１としての機能動作を行わせる。また、機能Ｂ２用ドライバＤｒｂｂは、状態情報保持部９１０ｂｂから機能Ｂ２用のパラメータ設定と処理状況（状態情報パラメータ）と開始状態条件情報との指定が行われると、開始状態条件情報で示された条件を満たした場合に、ＡＳＩＣ１０の機能Ｂ２を制御して、機能Ａで処理された画像データに対して後段の機能Ｂ２としての機能動作を行わせる。
【０１５７】
そして、ＡＳＩＣ１０の機能Ａは、設定パラメータに基づいて画像データに機能Ａとしての画像処理を施して、指定された状態情報を機能Ａ制御部３１１ａに通知し、機能Ａ制御部３１１ａは、該機能Ａからの状態情報を状態情報保持部３１０ａの状態情報に対して更新する。機能Ａ用出力部３１２ａは、機能Ａ制御部３１１ａを介して機能Ａから通知された状態情報保持部３１０ａの状態情報を、状態設定制御部９０１ａに通知する。
【０１５８】
状態設定制御部９０１ａのドライバ制御部９０５は、機能Ａから通知された状態情報が、ユーザの設定した状態設定制御情報の入力リストの状態情報パラメータになると、入力状態を、「１」または「０」に切り替える。判断部９０３が、入力リストの機能Ａと制御情報記憶部９０２で対応付けて記憶されている出力リストの機能Ｂ１及び機能Ｂ２を開始して良いか否か判断する。
【０１５９】
そして、判断部９０３は、入力状態に基づいて、次の機能を開始して良いと判断した場合に、さらに判断部９０３は、機能Ｂ１の開始状態条件情報で示された条件を満足しているか否か判断する。満足していると判断した場合、要求部９０４が、出力リストの機能Ｂ１に対して起動をかけるために、機能Ｂ１用ドライバＤｒｂａに制御許可通知を行う。さらに、判断部９０３は、機能Ｂ２の開始状態条件情報で示された条件を満足しているか否か判断する。満足していると判断した場合、要求部９０４が、出力リストの機能Ｂ２に対して起動をかけるために、機能Ｂ２用ドライバＤｒｂｂに制御許可通知を行う。
【０１６０】
例えば、入力状態「１」を入力状態情報待ち状態、入力状態「０」を入力状態情報通知受付状態とする。この場合、機能Ａから通知された状態情報が入力リストの状態情報パラメータになると、ドライバ制御部９０５が、機能Ａの入力状態を「０」に切り替える。そして、該入力状態が全て「０」になると、判断部９０３が出力リストの機能Ｂを開始して良いと判断する。そして、判断部９０３が、出力リストの機能Ｂ１及び機能Ｂ２それぞれの開始状態条件情報で示された条件を満足するか否か判断する。そして、判断部９０３が、条件を満足したと判断した場合に、条件を満足した機能Ｂ１及び機能Ｂ２に対して起動をかけるために、機能Ｂ１用ドライバＤｒｂａの状態情報保持部９１０ｂａ及び機能Ｂ２用ドライバＤｒｂｂの状態情報保持部９１０ｂｂに制御許可通知を行う。
【０１６１】
機能Ｂ１用ドライバＤｒｂａの状態情報保持部９１０ｂａは、状態設定制御部９０１ａから制御許可通知を受け取ると、機能Ｂ１用ドライバＤｒｂａが、当該機能Ｂ１制御部９１１ｂａに対して、状態情報保持部９１０ｂａが保持していた設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。機能Ｂ１制御部９１１ｂａは、状態情報保持部９１１ｂａが保持していた機能Ｂ１用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂ１を起動させて、機能Ａで処理された画像データに対して機能Ｂ１としての機能動作を行わせる。
【０１６２】
また、機能Ｂ２用ドライバＤｒｂｂの状態情報保持部９１０ｂｂは、状態設定制御部９０１ａから制御許可通知を受け取ると、機能Ｂ２用ドライバＤｒｂｂが、当該機能Ｂ２制御部９１１ｂｂに対して、状態情報保持部９１０ｂｂが保持していた設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。機能Ｂ２制御部９１１ｂｂは、状態情報保持部９１１ｂｂが保持していた機能Ｂ２用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂ２を起動させて、機能Ａで処理された画像データに対して機能Ｂ２としての機能動作を行わせる。
【０１６３】
なお、図９は、機能Ａ用ドライバＤｒａと機能Ｂ１用ドライバＤｒｂａと機能Ｂ２用ドライバＤｒｂｂの３つのドライバのそれぞれに状態情報保持部３１０ａ、９１０ｂａ、９１０ｂｂを設けるとともに、統合ビデオドライバＴＢＤｒに状態設定制御部９０１ａを設けて、ＡＳＩＣ１０の機能Ａ、機能Ｂ１及び機能Ｂ２を動作制御する場合について示しているが、状態情報保持部を有するドライバの数は、上記の数に限られるものではなく、データに対する処理に応じて適宜設定される。
【０１６４】
次に、本実施の形態の作用を説明する。本実施の形態の画像データ処理装置１は、ドライバＤｒ１〜Ｄｒ１２にそれぞれ状態情報保持部３１０ａ、９１０ｂａ、９１０ｂｂ・・・を設けるとともに、統合ビデオドライバＴＢＤｒに状態設定制御部９０１ａを設けてドライバＤｒ１〜Ｄｒ１２による複数出力の場合のＡＳＩＣ１０の各機能動作制御を柔軟に行う。
【０１６５】
なお、以下の説明では、図９の機能Ａ用ドライバＤｒａ、機能Ｂ１用ドライバＤｒｂａ及び機能Ｂ２用ドライバＤｒｂｂの３つのドライバを用いて、ＡＳＩＣ１０の前段の機能Ａ及び後段の機能Ｂ１と機能Ｂ２を制御する場合について説明する。
【０１６６】
いま、画像データ処理装置１は、ユーザの設定に応じて、プロセス２０の統合ビデオライブラリ２２と統合ビデオドライバＴＢＤｒとの間で情報の交換やスレッド関数のコール等を行って、統合ビデオドライバＴＢＤｒに必要なパラメータの設定や情報の通知を行う。そして、統合ビデオドライバＴＢＤｒは、状態設定制御部９０１ａに、状態設定制御情報を設定するとともに、状態情報保持部３１０ａに、機能Ａ用ドライバＤｒａへの設定パラメータの設定と通知処理状況（状態情報パラメータ）の指定を行い、状態情報保持部９１０ｂａに、機能Ｂ１用ドライバＤｒｂａへの設定パラメータの設定と通知処理状況（状態情報パラメータ）と開始状態条件情報の指定を行うとともに、状態情報保持部９１０ｂｂに、機能Ｂ２用ドライバＤｒｂｂへの設定パラメータの設定と通知処理状況（状態情報パラメータ）と開始状態条件情報の指定を行う。
【０１６７】
図９の場合、画像データ処理装置１は、まず、機能Ａでの処理を開始して、ユーザの設定した起動タイミング（なお、この場合、機能Ｂ１と機能Ｂ２とで開始タイミングが異なるときには、状態情報保持部９１０ｂａ、９１０ｂｂが、図１０に示したように、開始状態条件情報を保持している。）に合わせて、機能Ｂ１、機能Ｂ２を起動させて、前段の機能Ａ及び後段の機能Ｂ１と機能Ｂ２で画像データの処理を行わせる。
【０１６８】
すなわち、画像データ処理装置１においては、まず、機能Ａを起動するために、状態情報保持部３１０ａが、必要な設定パラメータとユーザの指定した状態情報パラメータを機能Ａ用ドライバＤｒａに設定し、機能Ａ用ドライバＤｒａは、ＡＳＩＣ１０の機能Ａが使用可能な状態かをチェックした上で、機能Ａを起動する。
【０１６９】
機能Ａは、入力される画像データに対して設定パラメータに基づいて機能Ａの動作処理を実行し、機能Ａによる画像データの処理状況を状態情報として、機能Ａ用ドライバＤｒａに通知する。機能Ａ用ドライバＤｒａは、該通知された状態情報で状態情報保持部３１０ａを更新する。そして、機能Ａ１用出力部３１２ａは、状態情報保持部３１０ａの該状態情報を、状態情報通知として状態設定制御部９０１ａに通知する。
【０１７０】
状態設定制御部９０１ａのドライバ制御部９０５は、機能Ａ用ドライバＤｒａを介して機能Ａから通知された状態情報を、入力状態に反映させる。例えば、ドライバ制御部９０５は、該状態情報が、ユーザの設定した状態設定制御情報の入力リストの状態情報パラメータになると、入力状態を「１」から「０」に切り替える。そして、判断部９０３が、該入力状態が全て「０」になる及び開始状態条件情報を満足すると、出力リストの機能Ｂ１及び機能Ｂ２に対して起動をかけるために、状態情報保持部９１０ｂａ及び状態情報保持部９１０ｂｂに制御許可通知を行う。このように、機能Ｂ１と機能Ｂ２とで起動タイミングが異なるときには、状態設定制御部９０１ａの出力リストの機能Ｂ１と機能Ｂ２のそれぞれの開始状態条件情報を異ならせればよい。
【０１７１】
機能Ｂ１用ドライバＤｒｂａの状態情報保持部９１０ｂａは、状態設定制御部９０１ａから制御許可通知を受け取ると、機能Ｂ１用ドライバＤｒｂａが、当該機能Ｂ１制御部９１１ｂａに対して、状態情報保持部９１０ｂａが保持していた設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。機能Ｂ１制御部９１１ｂａは、状態情報保持部９１１ｂａが保持していた機能Ｂ１用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂ１を起動させて、機能Ａで処理された画像データに対して機能Ｂ１としての機能動作を行わせる。
【０１７２】
また、機能Ｂ２用ドライバＤｒｂｂの状態情報保持部９１０ｂｂは、状態設定制御部９０１ａから制御許可通知を受け取ると、機能Ｂ２用ドライバＤｒｂｂが、当該機能Ｂ２制御部９１０ｂｂに対して、状態情報保持部９１０ｂｂが保持していた設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。機能Ｂ２制御部９１１ｂｂは、状態情報保持部９１０ｂｂが保持していた機能Ｂ２用の設定パラメータの処理状況（状態情報パラメータ）の指定が行われると、機能Ｂ２を起動させて、機能Ａで処理された画像データに対して機能Ｂ２としての機能動作を行わせる。
【０１７３】
このように、本実施の形態の画像データ処理装置１においては、状態設定制御部９０１ａの制御情報記憶部９０２が、前段の機能Ａと、機能Ａの数よりも多い後段の機能Ｂ１、機能Ｂ２とを対応付けた状態設定制御情報を記憶している。そして、状態設定制御部９０１ａの判断部９０３及び要求部９０４は、該前段の機能Ａによるデータ処理状況である状態情報と、該状態設定制御情報と、に基づいて、後段の機能Ｂ１、機能Ｂ２の起動タイミングを制御している。
【０１７４】
したがって、少入力−多出力のデータ処理を適切にかつ高速に行うことができる。
【０１７５】
（第４の実施の形態）
図１１及び図１２は、第４の実施の形態にかかるデータ処理装置及びデータ処理方法を示す図である。本実施の形態でも、データ処理装置及びデータ処理方法を、画像データ処理装置に適用した例について説明する。図１１は、第４の実施の形態にかかる画像データ処理装置の要部機能構成図である。
【０１７６】
なお、第４の実施の形態は、上記第１の実施の形態の画像データ処理装置１と同様の画像データ処理装置に適用したものであり、本実施の形態の説明においては、必要に応じて、第１の実施の形態の説明で用いた符号をそのまま用いて説明する。
【０１７７】
また、本実施の形態は、その画像データ処理装置１において、後段の１つの機能を複数回優先順位に基づいて処理を行う場合に適用したものであり、図１１は、ＡＳＩＣ１０の入力機能Ａの出力結果である画像データに対して、同一機能の機能Ｂ−１と機能Ｂ−２とで処理を行う場合に適用したものである。また、機能Ｂ−１は、機能Ｂで優先度が「１」の機能とし、機能Ｂ−２は、機能Ｂで優先度が「２」の機能とする。なお、このように同一機能を複数回する場合としては、例えば画像データの色毎（Ｒ、Ｇ、Ｂ）に同一機能で処理を行う場合などが考えられる。
【０１７８】
図１１に示すように、画像データ処理装置１は、状態設定制御部１１０１ａ、機能Ａ用ドライバＤｒａ、及び機能Ｂ用ドライバＤｒｂを備える。
【０１７９】
そして、機能Ａ用ドライバＤｒａは、状態情報保持部３１０ａ、機能Ａ制御部３１１ａ、及び機能Ａ用出力部３１２ａを備えている。機能Ｂ用ドライバＤｒｂは、状態情報保持部１１１０ｂａ、状態情報保持部１１１０ｂｂ、機能Ｂ制御部３１１ｂ、及び機能Ｂ１用出力部３１２ｂを備えている。
【０１８０】
状態情報保持部３１０ａ、状態情報保持部１１１０ｂａ及び状態情報保持部１１１０ｂｂは、機能Ａ、及び機能Ｂを実行するために必要な設定パラメータと、各機能によるデータ処理状況情報である状態情報と、次の機能の実行を開始する条件を示す処理状況（状態情報パラメータ）と、を保持する。
【０１８１】
状態設定制御部１１０１ａは、制御情報記憶部１１０２と、判断部１１０３と、要求部１１０４と、ドライバ制御部１１０５と、を備える。ドライバ制御部１１０５は、機能Ａ用ドライバＤｒａの状態情報保持部３１０ａ、機能Ｂ１用ドライバＤｒｂの状態情報保持部１１１０ｂａ及び状態情報保持部１１１０ｂｂへのパラメータ設定と、状態情報保持部３１０ａ、状態情報保持部１１１０ｂａ及び状態情報保持部１１１０ｂｂに対するパラメータの参照と、機能Ａ用ドライバＤｒａからの状態情報通知の受信制御と、を行う。判断部１１０３及び要求部１１０４は、指定された制御手順通りに機能Ａの後に機能Ｂ−１及び機能Ｂ−２を実行する制御を行う。
【０１８２】
図１１において、画像データ処理装置１は、例えば、画像データに対して、ＡＳＩＣ１０に、機能Ａ及び機能Ｂ（機能Ｂは、機能Ｂ−１と機能Ｂ−２を内蔵している。）を動作させる場合、ドライバＤｒ１〜Ｄｒ１２のうち、機能Ａ、及び機能Ｂと対応付けられたドライバを、機能Ａ用ドライバＤｒａ、機能Ｂ用ドライバＤｒｂとする。
【０１８３】
機能Ａ用の状態情報保持部３１０ａ、機能Ｂ−１用の状態情報保持部１１１０ｂａ及び機能Ｂ−２用の状態情報保持部１１１０ｂｂ、並びに状態設定制御部１１０１ａは、上記データ処理プログラム（例えば、統合ビデオドライバＴＢＤｒ）によって構築される。そして、状態設定制御部１１０１ａは、機能Ｂ１及び機能Ｂ２の起動タイミングをユーザの設定したタイミング（優先度）に合わせて、ＡＳＩＣ１０に機能Ａ及び機能Ｂ１と機能Ｂ２のデータ処理を行わせる。
【０１８４】
上記機能Ａ用の状態情報保持部３１０ａ、機能Ｂ−１用の状態情報保持部１１１０ｂａ及び機能Ｂ−２用の状態情報保持部１１１０ｂｂは、それぞれ機能Ａ用ドライバＤｒａ及び機能Ｂ用ドライバＤｒｂの一部として構築され、状態設定制御部１１０１ａは、統合ビデオドライバＴＢＤｒの一部として構築される。
【０１８５】
状態設定制御部１１０１ａの制御情報記憶部１１０２は、状態設定制御情報を記憶する。図１２に示すように制御情報記憶部１１０２は、図４と同様の構造の状態設定制御情報を記憶する。また、状態設定制御情報は、スレッドが要求する画像処理を実現するための制御手順に応じて設定可能である。
【０１８６】
状態設定制御情報は、上記同様に、状態設定制御ＩＤ、入力状態、入出力有効マスク、入力数、出力数、入力リスト及び出力リストによって構成されている。入力リストは、画像データの入力機能のリストが設定され、本実施の形態の場合、機能Ａの状態情報保持部ＩＤと状態情報パラメータのアドレスが設定されている。状態情報パラメータは、ユーザが設定する情報で、例えば、何ラインまで処理が完了すると、次の処理の開始を許可してもよいとの許可通知を出してもよい等の情報である。
【０１８７】
出力リストは、入力機能による画像データの処理状況により、次の機能を実行して良いと判断された場合に、制御許可通知が出力される側においてデータ処理を行う機能を示す出力機能のリストが設定されている。本実施の形態の場合、出力リストでは、同一機能の実行される順番（機能Ｂ−１及び機能Ｂ−２のそれぞれ）毎に、機能用ドライバの状態情報保持部を示す状態情報保持部ＩＤ、状態情報パラメータのアドレス及び制御優先順序が設定される。
【０１８８】
制御優先順序は、同一機能で複数回処理を行う場合に、優先ランクを１から順に設定した値とする。例えば、機能Ｂ−１の制御優先順序に「１」が設定され、機能Ｂ−２の制御優先順序に「２」が設定されている場合、機能Ｂ−１が最初に実行され、その後に機能Ｂ−２が実行されることになる。このように、制御優先順序によって、機能Ｂ−１と機能Ｂ−２の開始タイミングが異なる。
【０１８９】
入力状態は、入力リストが保持している機能毎に、次の機能を開始して良いか否か等を表す状態（フラグ）を保持する。本実施の形態の入力状態においては、機能Ａに対応するフラグが設定される。
【０１９０】
状態設定制御情報は、図１１の処理の場合、入力リストには、機能Ａの状態情報保持部ＩＤと状態情報パラメータのアドレスが設定され、出力リストには、機能Ｂ−１及び機能Ｂ−２それぞれの状態情報保持部ＩＤと状態情報パラメータのアドレスと開始状態条件情報とが設定される。
【０１９１】
統合ビデオドライバＴＢＤｒのドライバ制御部１１０５は、状態情報保持部３１０ａに、機能Ａ用ドライバＤｒａへの機能Ａ用の設定パラメータの設定と、通知を許可するための処理状況（状態情報パラメータ）の指定と、を行う。また、ドライバ制御部１１０５は、状態情報保持部１１１０ｂａに、機能Ｂ１用ドライバＤｒｂａに機能Ｂ１を実行させるか判断するための処理状況（状態情報パラメータ）の指定を行い、さらに、状態情報保持部９１０ｂｂに、機能Ｂ２用ドライバＤｒｂｂへの機能Ｂ２を実行させるか判断するための処理状況（状態情報パラメータ）の指定を行う。
【０１９２】
機能Ａ用ドライバＤｒａは、状態情報保持部３１０ａに機能Ａ用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、ＡＳＩＣ１０の機能Ａを制御して、画像データに対して前段の機能Ａとしての機能動作を行わせる。機能Ｂ用ドライバＤｒｂは、状態情報保持部１１１０ｂａまたは状態情報保持部１１１０ｂｂに機能Ｂ−１用または機能Ｂ−２用のパラメータ設定と処理状況（状態情報パラメータ）と制御優先順序の指定が行われると、制御優先順序に従って、ＡＳＩＣ１０を制御して、機能Ａで処理された画像データに対して機能Ｂ−１または機能Ｂ−２としての機能動作を行わせる。
【０１９３】
そして、ＡＳＩＣ１０の機能Ａは、設定パラメータに基づいて画像データに機能Ａとしての画像処理を施して、指定された状態情報を機能Ａ制御部３１１ａに通知し、機能Ａ制御部３１１ａは、該機能Ａからの状態情報を状態情報保持部３１０ａの状態情報に対して更新する。機能Ａ用出力部３１２ａは、機能Ａ制御部３１１ａを介して機能Ａから通知された状態情報保持部３１０ａの状態情報を、状態設定制御部１１０１ａに通知する。
【０１９４】
状態設定制御部１１０１ａのドライバ制御部１１０５は、機能Ａから通知された状態情報が、ユーザの設定した状態設定制御情報の入力リストの状態情報パラメータになると、入力状態を、「１」または「０」に切り替える。判断部１１０３が、入力リストの機能Ａと制御情報記憶部１１０２で対応付けて記憶されている出力リストの機能Ｂ−１及び機能Ｂ−２を開始して良いか否か判断する。
【０１９５】
そして、判断部１１０３は、入力状態に基づいて、次の機能を開始して良いと判断した場合に、さらに判断部１１０３は、機能Ｂ−１及び機能Ｂ−２の制御優先順序によりいずれの機能を優先すべきか判断する。そして、判断部１１０３の判断した優先順序に従って、要求部１１０４は、出力リストの機能Ｂに対して起動をかけるために、状態情報保持部１１１０ｂａまたは状態情報保持部１１１０ｂｂに制御許可通知を行う。
【０１９６】
例えば、入力状態「１」を入力状態情報待ち状態、入力状態「０」を入力状態情報通知受付状態とする。この場合、機能Ａから通知された状態情報が入力リストの状態情報パラメータになると、ドライバ制御部１１０５が、機能Ａの入力状態を「０」に切り替える。そして、該入力状態が全て「０」になると、判断部１１０３が出力リストの機能Ｂを開始して良いと判断する。そして、判断部１１０３が、出力リストの機能Ｂ１及び機能Ｂ２それぞれの制御優先順序で、機能Ｂ−１及び機能Ｂ−２の実行する順序を判断する。そして、要求部１１０４は、出力リストの機能Ｂ−１及び機能Ｂ−２のうち優先順位に従って、機能Ｂに対して起動をかけるために、機能Ｂ用ドライバＤｒｂの状態情報保持部１１１０ｂａ及び状態情報保持部１１１０ｂｂに制御許可通知を行う。
【０１９７】
機能Ｂ用ドライバＤｒｂの状態情報保持部１１１０ｂａは、状態設定制御部１１０１ａから制御許可通知を受け取ると、機能Ｂ用ドライバＤｒｂが、当該機能Ｂ制御部１１１０ｂａに対して、状態情報保持部１１１０ｂａが保持していた機能Ｂ−１用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。機能Ｂ制御部３１１ｂは、状態情報保持部１１１０ｂａが保持していた機能Ｂ−１用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂ−１を起動させて、機能Ａで処理された画像データに対して機能Ｂ−１としての機能動作を行わせる。
【０１９８】
また、機能Ｂ用ドライバＤｒｂの状態情報保持部１１１０ｂｂは、状態設定制御部１１０１ａから制御許可通知を受け取ると、機能Ｂ用ドライバＤｒｂが、当該機能Ｂ制御部３１１ｂに対して、状態情報保持部１１１０ｂｂが保持していた機能Ｂ−２用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。機能Ｂ制御部３１１ｂは、状態情報保持部１１１０ｂｂが保持していた機能Ｂ−２用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂ−２を起動させて、機能Ａ（加えて機能Ｂ−１）で処理された画像データに対して機能Ｂ−２としての機能動作を行わせる。
【０１９９】
なお、図１１は、機能Ａ用ドライバＤｒａと機能Ｂ用ドライバＤｒｂの２つのドライバのそれぞれに状態情報保持部３１０ａ、１１１０ｂａ及び１１１０ｂｂを設けるとともに、統合ビデオドライバＴＢＤｒに状態設定制御部１１０１ａを設けて、ＡＳＩＣ１０の機能Ａ及び機能Ｂの機能Ｂ−１と機能Ｂ−２を動作制御する場合について示しているが、状態情報保持部を有するドライバの数は、上記の数に限られるものではなく、データに対する処理に応じて適宜設定される。
【０２００】
次に、本実施の形態の作用を説明する。本実施の形態の画像データ処理装置１は、ドライバＤｒ１〜Ｄｒ１２にそれぞれ情報保持部３１０ａ、１１１０ｂａ及び１１１０ｂｂ・・・を設けるとともに、統合ビデオドライバＴＢＤｒに状態設定制御部１１０１ａを設けてドライバＤｒ１〜Ｄｒ１２によってＡＳＩＣ１０の各機能動作のうち複数の同−機能を優先順位に基づいて柔軟に制御する。
【０２０１】
なお、以下の説明では、図１１の機能Ａ用ドライバＤｒａ、機能Ｂ用ドライバＤｒｂの２つのドライバを用いて、ＡＳＩＣ１０の機能Ａ、機能Ｂ（機能Ｂ−１と機能Ｂ−２を内蔵する）を制御する場合について説明する。この機能Ｂの機能としては、例えば、画像の回転機能であり、機能Ｂ−１が９０度回転、機能Ｂ−２が２７０度回転の場合等である。
【０２０２】
いま、ユーザの設定に応じて、プロセス２０の統合ビデオライブラリ２２と統合ビデオドライバＴＢＤｒとの間で情報の交換やスレッド関数のコール等を行って、統合ビデオドライバＴＢＤｒに必要なパラメータの設定や情報の通知を行う。そして、統合ビデオドライバＴＢＤｒは、状態設定制御部１１０１ａに、状態設定制御情報を設定するとともに、状態情報保持部３１０ａに、機能Ａ用ドライバＤｒａへの設定パラメータの設定と通知処理状況（状態情報パラメータ）の指定を行うとともに、状態情報保持部１１１０ｂａに、機能Ｂ−１を実行するための機能Ｂ用ドライバＤｒｂへの設定パラメータの設定と通知処理状況（状態情報パラメータ）の指定を行う。また、状態情報保持部１１１０ｂｂに、機能Ｂ−２を実行するための機能Ｂ用ドライバＤｒｂへの設定パラメータの設定と通知処理状況（状態情報パラメータ）の指定を行う。
【０２０３】
図１１の場合、まず、機能Ａでの処理を開始して、ユーザの設定した起動タイミング（なお、機能Ｂ１と機能Ｂ２の開始タイミングの優先順位は、図１２に示したように、制御情報記憶部１１０２が、制御優先順位を保持している。なお、状態情報保持部１１１０ｂａ及び状態情報保持部１１１０ｂｂがそれぞれの制御優先順序を保持し、制御情報記憶部１１０２がこれらを指し示すアドレスを保持することにしても良い。）に合わせて、機能Ｂ１、機能Ｂ２を起動させて、機能Ａと機能Ｂ１または機能Ｂ２で画像データの処理を行わせる。
【０２０４】
すなわち、画像データ処理装置１においては、まず、機能Ａを起動するために、状態情報保持部３１０ａが、必要な設定パラメータとユーザの指定した状態情報パラメータを機能Ａ用ドライバＤｒａに設定し、機能Ａ用ドライバＤｒａは、ＡＳＩＣ１０の機能Ａが使用可能な状態かをチェックした上で、機能Ａを起動する。
【０２０５】
機能Ａは、入力される画像データに対して設定パラメータに基づいて機能Ａの動作処理を実行し、機能Ａによる画像データの処理状況を状態情報として、機能Ａ用ドライバＤｒａに通知する。機能Ａ制御部３１１ａは、該通知された状態情報で状態情報保持部３１０ａを更新し、機能Ａ用出力部３１２ａは、状態情報保持部３１０ａの該状態情報を、状態情報通知として状態設定制御部１１０１ａに通知する。
【０２０６】
状態設定制御部１１０１ａは、機能Ａ用ドライバＤｒａ及び状態情報保持部３１０ａを介して機能Ａから通知された状態情報が、ユーザの設定した状態設定制御情報の入力リストの状態情報パラメータになると、入力状態を、例えば、「１」から「０」に切り替え、該入力状態が全て「０」になると、出力リストの機能Ｂ１または機能Ｂ２に対して起動をかけるために、状態情報保持部１１１０ｂａまたは状態情報保持部１１１０ｂｂに制御許可通知を行う。この場合、機能Ｂ１と機能Ｂ２の起動タイミングとして、状態設定制御部１１０１ａの制御情報記憶部１１０２は、出力リストの機能Ｂ１と機能Ｂ２のそれぞれに、図１２に示したように、その優先順位を設定する制御優先順位を有している。そして、要求部１１０４は、当該制御優先順位に基づいて制御許可通知を行う。
【０２０７】
機能Ｂ用ドライバＤｒｂの状態情報保持部１１１０ｂａは、状態設定制御部１１０１ａから制御許可通知を受け取ると、機能Ｂ用ドライバＤｒｂが、当該機能Ｂ制御部３１１ｂに対して、状態情報保持部１１１０ｂａの保持する機能Ｂ−１用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。そして、機能Ｂ制御部３１１ｂは、状態情報保持部１１１０ｂａの保持していた機能Ｂ−１用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂの機能Ｂ−１を起動させて、設定パラメータに従って、機能Ａで処理された画像データに対して機能Ｂ−１としての機能動作を行わせる。また、機能Ｂ用ドライバＤｒｂの状態情報保持部１１１０ｂｂは、状態設定制御部１１０１ａから制御許可通知を受け取ると、機能Ｂ用ドライバＤｒｂが、当該機能Ｂ制御部３１１ｂに対して、状態情報保持部１１１０ｂｂの保持する機能Ｂ−２用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。そして、機能Ｂ制御部３１１ｂは、状態情報保持部１１１０ｂｂの保持していた機能Ｂ−２用の設定パラメータの設定と処理状況（状態情報パラメータ）の指定が行われると、機能Ｂの機能Ｂ−２を起動させて、設定パラメータに従って、機能Ａ（加えて機能Ｂ−１）で処理された画像データに対して機能Ｂ−２としての機能動作を行わせる。
【０２０８】
このように、本実施の形態の画像データ処理装置１においては、制御情報記憶部１１０２が、制御手順情報として、該異なる処理毎に優先度が記憶されている。このため、該後段の機能Ｂを用いた機能Ｂ−１及び機能Ｂ−２の処理順序を、優先度に基づいて制御できる。
【０２０９】
したがって、同一デバイスの排他処理を行うことができ、データ処理の効率をより一層向上させることができる。
【０２１０】
（変形例１）
ところで、上記各実施の形態の説明においては、ハードウェアであるＡＳＩＣ１０の各種機能のうち、前段の機能と後段の機能との処理タイミングは、前段の処理状況にのみ基づいて決定されている。しかしながら、後段の機能の処理タイミングは、前段の機能の処理タイミングに基づくものに制限するではない。そこで、本変形例では、前段の処理タイミングと関係なく処理を行う場合について説明する。
【０２１１】
本変形例においては、図１３に示すように、状態設定制御部の制御情報記憶部に、制御許可通知タイミング値を記憶させる。制御許可通知タイミング値は、入力状態の変化回数と制御許可通知の関係を示したパラメータとする。例えば、制御許可通知タイミング値に「２」が設定された場合、入力状態が２回変化した時に制御許可通知を行うことを意味する。この制御許可通知タイミング値は、ユーザが任意に設定可能なタイミング値とする。
【０２１２】
図１３に示す例では、機能Ａの処理が指定の状態まで進行したことが通知されて、入力状態が「１」から「０」に切りかわる回数が、制御許可通知タイミング値に設定されているタイミング値となった場合に、機能Ｂの起動を行わせる。すなわち、状態設定制御部は、前段の機能Ａの所定のデータ処理状況で決定される後段の機能Ｂの起動タイミングとは異なる起動タイミングで、該後段の機能Ｂを起動させる。したがって、多出力の制御を非同期で行うことができる。
【０２１３】
（変形例２）
上述した実施形態及び変形例では、ハードウェアであるＡＳＩＣ１０の各種機能のうち、機能間の処理タイミングは、後段の機能の処理開始タイミングが前段の機能の処理状況にのみ基づいて決定されている。しかしながら、実行する各機能の処理タイミングは、これらの処理タイミングに限るものではない。例えば、図１４に示すように、ＡＳＩＣ１０によって画像データに対して、機能Ａ用ドライバＤｒａと機能Ｂ用ドライバＤｒｂによって機能Ａと機能Ｂの処理を相互の処理タイミングを調整しつつ行ってもよい。
【０２１４】
図１４に示す例では、統合ビデオドライバＴＢＤｒが、その状態設定制御部３１ａの制御情報記憶部３０１に、状態設定制御情報を設定し、状態情報保持部３１０ａに、機能Ａ用ドライバＤｒａへの設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行い、また、状態情報保持部３１０ｂに、機能Ｂ用ドライバＤｒｂへの設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行う。
【０２１５】
まず、機能Ａでの処理を開始する。機能ＡドライバＤｒａ及び状態情報保持部３１０ａを介して通知された状態情報通知で、機能Ａでの処理状況を状態設定制御部３１ａが監視する。所定のタイミングまで、機能Ａの処理が進行すると、機能Ａ用ドライバＤｒａは、機能Ａの処理を一時停止させる。この停止させる条件は、例えば状態情報保持部３１０ａが保持する。
【０２１６】
次に、状態設定制御部３１ａは、状態情報保持部３１０ｂに、機能Ｂ用ドライバＤｒｂへの設定パラメータの設定と処理状況（状態情報パラメータ）の指定を行い、機能Ｂを起動させる。そして、機能Ｂでの処理状況を機能ＢドライバＤｒｂ及び状態情報保持部３１０ｂを介して状態設定制御部３１ａが監視する。所定のタイミングまで、該機能Ｂの処理が進行すると、起動タイミング（機能Ａの状態）に合わせて、状態設定制御部３１ａが状態情報保持部３１０ａに対して制御許可通知を発行する。状態情報保持部３１０ａが、制御許可通知を受けた時に、機能Ａの処理が一時停止していれば、機能Ａ用ドライバＤｒａは、機能Ａの処理を再開するように機能Ａ制御部３１１ａに対して再開命令を発行する。
【０２１７】
このようにすると、前段機能と後段機能とを同期制御して処理させることができ、例えば、データ処理に利用可能なメモリに制限がある場合に、メモリへの上書きを防止しつつメモリを利用した処理を実行させたり、処理速度の異なる機能（例えば、スキャナで読み取った入力画像データを適宜の処理を施してメモリに書き込む場合や、メモリ上の画像データに適宜のデータ処理を施して印刷出力する場合等）を適切に同期させて処理を実行することができる。
【０２１８】
以上、本発明者によってなされた発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０２１９】
図１５は、かかる画像データ処理装置１のハードウェア構成を示すブロック図である。本図に示すように、この画像データ処理装置１は、コントローラ１５１０とエンジン部（Engine）１５６０とをＰＣＩ（Peripheral  Component  Interconnect）バスで接続した構成となる。コントローラ１５１０は、画像データ処理装置１全体の制御と描画、通信、操作部１５２０からの入力を制御するコントローラである。エンジン部１５６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【０２２０】
コントローラ１５１０は、ＣＰＵ１５１１と、ノースブリッジ（ＮＢ）１５１３と、システムメモリ（ＭＥＭ−Ｐ）１５１２と、サウスブリッジ（ＳＢ）１５１４と、ローカルメモリ（ＭＥＭ−Ｃ）１５１７と、ＡＳＩＣ（Application  Specific  Integrated  Circuit）１０と、ハードディスクドライブ（ＨＤＤ）１５１８とを有し、ノースブリッジ（ＮＢ）１５１３とＡＳＩＣ１０との間をＡＧＰ（Accelerated  Graphics  Port）バス１５１５で接続した構成となる。また、ＭＥＭ−Ｐ１５１２は、ＲＯＭ（Read  Only  Memory）１５１２ａと、ＲＡＭ(Random  Access  Memory)１５１２ｂとをさらに有する。
【０２２１】
ＣＰＵ１５１１は、画像データ処理装置１の全体制御をおこなうものであり、ＮＢ１５１３、ＭＥＭ−Ｐ１５１２およびＳＢ１５１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。そして、ＣＰＵ１５１１は、画像データプログラムにより、図１に示したプロセス２０、統合ビデオドライバＴＢＤｒ、統合ドライバＴＤｒ１、ＴＤｒ２、ドライバＤｒ１〜１２の処理を実現する。
【０２２２】
ＮＢ１５１３は、ＣＰＵ１５１１とＭＥＭ−Ｐ１５１２、ＳＢ１５１４、ＡＧＰ１５１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１５１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【０２２３】
ＭＥＭ−Ｐ１５１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１５１２ａとＲＡＭ１５１２ｂとからなる。ＲＯＭ１５１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１５１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【０２２４】
ＳＢ１５１４は、ＮＢ１５１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１５１４は、ＰＣＩバスを介してＮＢ１５１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【０２２５】
ＡＳＩＣ１０は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated  Circuit）であり、ＡＧＰ１５１５、ＰＣＩバス、ＨＤＤ１５１８およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１０は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１０の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１５１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct  Memory  Access  Controller）と、エンジン部１５６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１０には、ＰＣＩバスを介してＦＣＵ（Fax  Control  Unit）１５３０、ＵＳＢ（Universal  Serial  Bus）１５４０、ＩＥＥＥ１３９４（the  Institute  of  Electrical  and  Electronics  Engineers  1394）インターフェース１５５０が接続される。
【０２２６】
ＭＥＭ−Ｃ１５１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard  Disk  Drive）１５１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【０２２７】
ＡＧＰ１５１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１５１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【０２２８】
なお、本実施形態の画像データ処理装置１で実行される画像処理プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０２２９】
本実施形態の画像データ処理装置１で実行される画像処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０２３０】
さらに、本実施形態の画像データ処理装置で実行される画像データ処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の画像データ処理装置で実行される画像データ処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０２３１】
本実施の形態の画像データ処理装置で実行される画像データ処理プログラムは、上述した各部（プロセス２０、統合ビデオドライバＴＢＤｒ、統合ドライバＴＢＤｒ１、ＴＢＤｒ２、及びドライバＤｒ１〜１２）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから画像データ処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、プロセス２０、統合ビデオドライバＴＢＤｒ、統合ドライバＴＢＤｒ１、ＴＢＤｒ２、及びドライバＤｒ１〜１２が主記憶装置上に生成されるようになっている。
【０２３２】
なお、図１５に示す、本実施の形態にかかる画像データ処理装置のハードウェア構成は、一例として示したものであり、他のハードウェア構成でもよい。
【産業上の利用可能性】
【０２３３】
本発明は、画像データ等のデータをハードウェアを制御して効率的に処理する画像処理装置等のデータ処理装置及びデータ処理方法に適用することができる。
【図面の簡単な説明】
【０２３４】
【図１】第１の実施の形態を適用した画像データ処理装置の概略機能構成図である。
【図２】第１の実施の形態にかかる画像データ処理装置の要部機能構成図である。
【図３】第１の実施の形態にかかる画像データ処理装置の第１の状態設定制御部、機能Ａ用ドライバ及び機能Ｂ用ドライバの構成を示したブロック図である。
【図４】第１の実施の形態にかかる制御情報記憶部の状態設定制御情報の概念を示す図である。
【図５】第１の実施の形態にかかる画像データ処理装置の第２の状態設定制御部、機能Ｂ用ドライバ及び機能Ｃ用ドライバの構成を示したブロック図である。
【図６】第１の実施の形態にかかる画像データ処理装置におけるスレッドからの要求に従って、画像データに対する処理を開始するまでの処理の手順を示すフローチャートである。
【図７】第２の実施の形態にかかる画像データ処理装置の状態設定制御部、機能Ａ１用ドライバ、機能Ａ２用ドライバ、及び機能Ｂ用ドライバの構成を示したブロック図である。
【図８】第２の実施の形態にかかる制御情報記憶部の状態設定制御情報の概念を示す図である。
【図９】第３の実施の形態を適用した画像データ処理装置の状態設定制御部、機能Ａ用ドライバ、機能Ｂ１用ドライバ、及び機能Ｂ２用ドライバの構成を示したブロック図である。
【図１０】第３の実施の形態にかかる制御情報記憶部の状態設定制御情報の概念を示す図である。
【図１１】第４の実施の形態を適用した画像データ処理装置の状態設定制御部、機能Ａ用ドライバ、及び機能Ｂ用ドライバの構成を示したブロック図である。
【図１２】第４の実施の形態にかかる制御情報記憶部の状態設定制御情報の概念を示す図である。
【図１３】変形例１の画像データ処理装置の制御情報記憶部において、機能間の処理タイミングを制御する制御許可通知タイミング値を有する状態設定制御情報の一例を示す図である。
【図１４】変形例２の、機能間の処理進行を適宜調整する画像データ処理装置の状態設定制御部、機能Ａ用ドライバ、機能Ｂ１用ドライバの構成を示したブロック図である。
【図１５】画像データ処理装置のハードウェア構成を示した図である。
【符号の説明】
【０２３５】
１  画像データ処理装置
１０  ＡＳＩＣ
１１  第1ＡＳＩＣ
１２  第２ＡＳＩＣ
Ｄｒ１〜Ｄｒ１２  ドライバ
ＴＤｒ１、ＴＤｒ２  統合ドライバ
ＴＢＤｒ  統合ビデオドライバ
Ｄｒａ  機能Ａ用ドライバ
Ｄｒｂ  機能Ｂ用ドライバ
Ｄｒｃ  機能Ｃ用ドライバ
Ｄｒｄ  機能Ｄ用ドライバ
２０  プロセス
２１ａ〜２１ｎ  スレッド
２２  統合ビデオライブラリ
３１０ａ  状態情報保持部
３１ａ〜ｎ、７１０ａ、９０１ａ、１１０１ａ  状況設定制御部
３０１、５０１、７０２、９０２、１１０２  制御情報記憶部
３０２、５０２、７０３、９０３、１１０３  判断部
３０３、５０３、７０４、９０４、１１０４  要求部
３０４、５０４、７０５、９０５、１１０５  ドライバ制御部
３１０ａ〜ｃ、７１０ａａ、７１０ａｂ、９１０ｂａ、９１０ｂｂ、１１１０ｂａ、１１１０ｂｂ  状態情報保持部
３１１ａ  機能Ａ制御部
３１１ｂ  機能Ｂ制御部
３１１ｃ  機能Ｃ制御部
３１２ａ  機能Ａ用出力部
３１２ｂ  機能Ｂ用出力部
７１１ａａ  機能Ａ１制御部
７１１ａｂ  機能Ａ２制御部
７１１ｂ  機能Ｂ制御部
７１２ａａ  機能Ａ１用出力部
７１２ａｂ  機能Ａ２用出力部
９１１ｂａ  機能Ｂ１制御部
９１１ｂｂ  機能Ｂ２制御部
９１２ｂａ  機能Ｂ１用出力部
９１２ｂｂ  機能Ｂ１用出力部
【図１】
2009043234.tif 000003
【図２】
2009043234.tif 000004
【図３】
2009043234.tif 000005
【図４】
2009043234.tif 000006
【図５】
2009043234.tif 000007
【図６】
2009043234.tif 000008
【図７】
2009043234.tif 000009
【図８】
2009043234.tif 000010
【図９】
2009043234.tif 000011
【図１０】
2009043234.tif 000012
【図１１】
2009043234.tif 000013
【図１２】
2009043234.tif 000014
【図１３】
2009043234.tif 000015
【図１４】
2009043234.tif 000016
【図１５】
2009043234.tif 000017