(57)【特許請求の範囲】
【請求項１】
複数のコアを有するマルチコアプロセッサとメインメモリとがメモリバスで接続され、前記マルチコアプロセッサにより画像処理タスクが処理される画像処理装置において、
前記複数のコアを管理する制御部は、
各々の前記画像処理タスクに設けられた処理期限に応じて、当該画像処理タスクのタスク優先度を設定する優先度設定部と、
各々の前記画像処理タスクが処理の対象とする画像の種別を特定し、前記特定した画像の種別に応じて、前記画像処理タスクを処理する時のメモリバス帯域負荷レベルを予測する帯域負荷レベル予測部と、
各々の前記画像処理タスクの前記タスク優先度と前記メモリバス帯域負荷レベルとに基づいて、画像処理タスク管理情報を生成する管理情報生成部と、
複数の画像処理タスクを前記複数のコアで並列に処理する場合に、前記画像処理タスク管理情報に基づいて、前記複数の画像処理タスクの前記メモリバス帯域負荷レベルの合計値が予め定めた閾値以下となるように、前記タスク優先度が高い画像処理タスクから順にコアに割り当てるタスク管理部と、を備える、
ことを特徴とする画像処理装置。
【請求項２】
前記優先度設定部は、前記複数の画像処理タスクが同時並列に且つ連続的に処理される場合、画像処理結果の出力の早いページ順に、前記タスク優先度を設定する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
１ページの画像を複数のバンドに分割して画像処理を行う場合、
前記優先度設定部は、同一ページでは、画像処理結果の出力の早いバンド順に、前記タスク優先度を設定する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
画像処理をパイプライン処理で実行する場合、
前記優先度設定部は、前記画像処理タスクの種別に応じて予め設定された処理属性情報に基づいて、前記タスク優先度を設定する、
ことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記帯域負荷レベル予測部は、前記処理の対象とする画像のデータサイズ、解像度、色情報、オブジェクト属性、圧縮率の中から選択される少なくとも１つに基づいて、前記メモリバス帯域負荷レベルを予測する、
ことを特徴とする請求項１乃至４のいずれか一に記載の画像処理装置。
【請求項６】
前記帯域負荷レベル予測部は、ＰＤＬ（Page Description Language）形式のデータの一次処理結果として出力される中間データをラスター処理する際の、前記メモリバス帯域負荷レベルを予測する、
ことを特徴とする請求項１乃至５のいずれか一に記載の画像処理装置。
【請求項７】
画像処理をパイプライン処理で実行する場合、
前記帯域負荷レベル予測部は、前段の画像処理タスクの処理後に、後段の画像処理タスクに対する前記メモリバス帯域負荷レベルを予測する、
ことを特徴とする請求項１乃至６のいずれか一に記載の画像処理装置。
【請求項８】
前記タスク管理部は、前記タスク優先度が高い画像処理タスクを所定のコアに割り当てた結果、次のコアに画像処理タスクを割り当てることができない場合は、前記タスク優先度が次に高い画像処理タスクを前記所定のコアに割り当てる、
ことを特徴とする請求項１乃至７のいずれか一に記載の画像処理装置。
【請求項９】
前記画像処理装置は、コピー機能、プリント機能、ファクシミリ機能、スキャン機能の中から選択される複数の機能を備えたＭＦＰ（Multi Function Peripheral）である、
ことを特徴とする請求項１乃至８のいずれか一に記載の画像処理装置。
【請求項１０】
複数のコアを有するマルチコアプロセッサとメインメモリとがメモリバスで接続され、前記マルチコアプロセッサにより画像処理タスクが処理される装置で動作する並列処理制御プログラムであって、
前記装置に、
各々の前記画像処理タスクに設けられた処理期限に応じて、当該画像処理タスクのタスク優先度を設定する第１処理、
各々の前記画像処理タスクが処理の対象とする画像の種別を特定し、前記特定した画像の種別に応じて、前記画像処理タスクを処理する時のメモリバス帯域負荷レベルを予測する第２処理、
各々の前記画像処理タスクの前記タスク優先度と前記メモリバス帯域負荷レベルとに基づいて、画像処理タスク管理情報を生成する第３処理、
複数の画像処理タスクを前記複数のコアで並列に処理する場合に、前記画像処理タスク管理情報に基づいて、前記複数の画像処理タスクの前記メモリバス帯域負荷レベルの合計値が予め定めた閾値以下となるように、前記タスク優先度の高い画像処理タスクから順にコアに割り当てる第４処理、を実行させる、
ことを特徴とする並列処理制御プログラム。
【請求項１１】
複数のコアを有するマルチコアプロセッサとメインメモリとがメモリバスで接続され、前記マルチコアプロセッサにより画像処理タスクが処理される装置における並列処理制御方法であって、
各々の前記画像処理タスクに設けられた処理期限に応じて、当該画像処理タスクのタスク優先度を設定する第１処理と、
各々の前記画像処理タスクが処理の対象とする画像の種別を特定し、前記特定した画像の種別に応じて、前記画像処理タスクを処理する時のメモリバス帯域負荷レベルを予測する第２処理と、
各々の前記画像処理タスクの前記タスク優先度と前記メモリバス帯域負荷レベルとに基づいて、画像処理タスク管理情報を生成する第３処理と、
複数の画像処理タスクを前記複数のコアで並列に処理する場合に、前記画像処理タスク管理情報に基づいて、前記複数の画像処理タスクの前記メモリバス帯域負荷レベルの合計値が予め定めた閾値以下となるように、前記タスク優先度の高い画像処理タスクから順にコアに割り当てる第４処理と、を実行する、
ことを特徴とする並列処理制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び並列処理制御プログラム並びに並列処理制御方法に関し、特に、マルチコアプロセッサを備える画像処理装置及び当該画像処理装置における並列処理を制御する並列処理制御プログラム並びに並列処理制御方法に関する。
【背景技術】
【０００２】
近年、様々な装置に搭載されるプロセッサとして、複数のコアを有するマルチコアプロセッサが普及している。マルチコアプロセッサを搭載した装置を用いて、複数のタスクを複数のコアで並列処理する場合、単一のコアで逐次処理する場合と比較して、処理全体のスループットは向上すると考えられる。特に、ＭＦＰ（Multi Function Peripheral）などの画像処理装置では、複数の機能を同時に動作させる場合が多いことから、複数の画像処理タスクを複数のコアで並列処理することによるスループットの向上が期待されている。
【０００３】
上記マルチコアプロセッサを使用して並列処理を行うシステムに関して、例えば、下記特許文献１には、複数のコアを有する複数のマルチコアプロセッサと、各マルチコアプロセッサの資源を共有する共有資源とを有するマルチコアシステムであって、前記各マルチコアプロセッサの負荷情報と、前記共有資源に対するアクセス時の負荷情報とを取得する負荷情報収集手段と、前記負荷情報収集手段により取得した前記各マルチコアプロセッサの負荷情報と、前記アクセス時の負荷情報との条件に基づいて、負荷分散を行うか否かの判定を行う負荷分散判定手段と、前記負荷分散判定手段により、前記負荷分散を行うと判断された際には、負荷を分散する負荷分散手段とを有する構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１９１９４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マルチコアプロセッサを用いた並列処理において、特定の画像処理タスクのみに着目した時、その特定の画像処理タスクと、それと並列に実行される他の画像処理タスクと、でメモリバスを共有するため、メモリバス帯域がボトルネックとなり、着目している特定の画像処理タスクの処理効率が、単一のコアで逐次処理する場合と比較して低下する場合がある。
【０００６】
特に、特定の画像処理タスクに処理期限が存在するような、高いリアルタイム性が求められるシステムにおいては、メモリバス帯域がボトルネックとなることによる処理効率の低下が原因となって、期限内に処理を完了することができず、システム要件を満たせなくなる可能性がある。
【０００７】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、マルチコアプロセッサを採用した構成において、処理効率の低下を抑制して、リアルタイム性を向上させることができる画像処理装置及び並列処理制御プログラム並びに並列処理制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一側面は、複数のコアを有するマルチコアプロセッサとメインメモリとがメモリバスで接続され、前記マルチコアプロセッサにより画像処理タスクが処理される画像処理装置において、前記複数のコアを管理する制御部は、各々の前記画像処理タスクに設けられた処理期限に応じて、当該画像処理タスクのタスク優先度を設定する優先度設定部と、各々の前記画像処理タスクが処理の対象とする画像の種別を特定し、前記特定した画像の種別に応じて、前記画像処理タスクを処理する時のメモリバス帯域負荷レベルを予測する帯域負荷レベル予測部と、各々の前記画像処理タスクの前記タスク優先度と前記メモリバス帯域負荷レベルとに基づいて、画像処理タスク管理情報を生成する管理情報生成部と、複数の画像処理タスクを前記複数のコアで並列に処理する場合に、前記画像処理タスク管理情報に基づいて、前記複数の画像処理タスクの前記メモリバス帯域負荷レベルの合計値が予め定めた閾値以下となるように、前記タスク優先度が高い画像処理タスクから順にコアに割り当てるタスク管理部と、を備えることを特徴とする。
【０００９】
本発明の一側面は、複数のコアを有するマルチコアプロセッサとメインメモリとがメモリバスで接続され、前記マルチコアプロセッサにより画像処理タスクが処理される装置で動作する並列処理制御プログラムであって、前記装置に、各々の前記画像処理タスクに設けられた処理期限に応じて、当該画像処理タスクのタスク優先度を設定する第１処理、各々の前記画像処理タスクが処理の対象とする画像の種別を特定し、前記特定した画像の種別に応じて、前記画像処理タスクを処理する時のメモリバス帯域負荷レベルを予測する第２処理、各々の前記画像処理タスクの前記タスク優先度と前記メモリバス帯域負荷レベルとに基づいて、画像処理タスク管理情報を生成する第３処理、複数の画像処理タスクを前記複数のコアで並列に処理する場合に、前記画像処理タスク管理情報に基づいて、前記複数の画像処理タスクの前記メモリバス帯域負荷レベルの合計値が予め定めた閾値以下となるように、前記タスク優先度の高い画像処理タスクから順にコアに割り当てる第４処理、を実行させることを特徴とする。
【００１０】
本発明の一側面は、複数のコアを有するマルチコアプロセッサとメインメモリとがメモリバスで接続され、前記マルチコアプロセッサにより画像処理タスクが処理される装置における並列処理制御方法であって、各々の前記画像処理タスクに設けられた処理期限に応じて、当該画像処理タスクのタスク優先度を設定する第１処理と、各々の前記画像処理タスクが処理の対象とする画像の種別を特定し、前記特定した画像の種別に応じて、前記画像処理タスクを処理する時のメモリバス帯域負荷レベルを予測する第２処理と、各々の前記画像処理タスクの前記タスク優先度と前記メモリバス帯域負荷レベルとに基づいて、画像処理タスク管理情報を生成する第３処理と、複数の画像処理タスクを前記複数のコアで並列に処理する場合に、前記画像処理タスク管理情報に基づいて、前記複数の画像処理タスクの前記メモリバス帯域負荷レベルの合計値が予め定めた閾値以下となるように、前記タスク優先度の高い画像処理タスクから順にコアに割り当てる第４処理と、を実行することを特徴とする。
【発明の効果】
【００１１】
本発明の画像処理装置及び並列処理制御プログラム並びに並列処理制御方法によれば、マルチコアプロセッサを用いた画像処理装置において、画像処理タスクの並列実行に起因する、優先度の高い特定の画像処理タスクの処理効率の低下が抑制されることにより、リアルタイム性を向上させることができる。また、メモリバス帯域負荷が恒常的に分散されることにより、システム全体のスループットを向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例に係る画像処理装置のシステム構成を示すブロック図である。
【図２】本発明の一実施例に係る画像処理装置のマルチコアプロセッサの構成を示すブロック図である。
【図３】本発明の一実施例に係る画像処理装置の制御部の機能を示すブロック図である。
【図４】本発明の一実施例に係る画像処理装置の動作（画像処理タスク／管理情報生成制御）を示すフローチャート図である。
【図５】本発明の一実施例に係る画像処理装置の動作（タスクスケジューリング）を示すフローチャート図である。
【図６】本発明の一実施例に係る画像処理装置における処理期限による優先度設定を説明する図である。
【図７】本発明の一実施例に係る画像処理装置における画像処理タスク優先度設定の一例を示すテーブルである。
【図８】本発明の一実施例に係る画像処理装置における画像処理タスク管理情報の一例を示すテーブルである。
【図９】本発明の一実施例に係るタスクスケジューリング方法（メモリバス帯域負荷レベルの閾値が８０〜９０％の場合）を説明する図である。
【図１０】本発明の一実施例に係るタスクスケジューリング方法（メモリバス帯域負荷レベルの閾値が６５〜８０％の場合）を説明する図である。
【図１１】本発明の一実施例に係るタスクスケジューリング方法（メモリバス帯域負荷レベルの閾値が５５〜６５％の場合）を説明する図である。
【図１２】本発明の一実施例に係るタスクスケジューリング方法（コア数が５で、メモリバス帯域負荷レベルの閾値が８５％の場合）を説明する図である。
【図１３】本発明の一実施例に係る画像処理装置におけるコピー画像パイプライン処理の一例を示す図である。
【図１４】本発明の一実施例に係る画像処理装置におけるコピー処理連続動作を示す図である。
【図１５】本発明の一実施例に係る画像処理装置における処理属性を含む画像処理タスク管理情報の一例を示すテーブルである。
【図１６】本発明の一実施例に係るコピー処理連続動作におけるタスクスケジューリング方法（メモリバス負荷レベルの閾値が７０〜７５％の場合）を説明する図である。
【図１７】本発明の一実施例に係る画像処理装置におけるパイプライン処理における次段メモリバス帯域負荷レベルの予測方法を説明する図である。
【発明を実施するための形態】
【００１３】
背景技術で示したように、複数のコアを有するマルチコアプロセッサを搭載する画像処理装置を用いて並列処理を行う場合、複数の画像処理タスクでメモリバスを共有するため、メモリバス帯域がボトルネックとなり、特定の画像処理タスクの処理効率が低下する場合がある。特に、特定の画像処理タスクに対して高いリアルタイム性が求められる場合は、処理効率の低下が原因となって期限内に処理を完了することができなくなる可能性がある。
【００１４】
この問題に対して、特許文献１では、タスクの実行中に、一定間隔でＣＰＵ（Central Processing Unit）及びメモリアクセス時の負荷情報を取得し、取得した負荷情報を用いて負荷の偏りを判定し、負荷の状態が判定基準を超える場合、負荷分散を実施するようにしている。しかしながら、スレッド実行中の負荷状態を取得後、負荷分散の実施有無を決定するような受動的な制御では、負荷の重いスレッド実行が集中するような特殊なケースにおいては、場当たり的な制御となり、適切な負荷状態の均衡化が望めない。また、特定のスレッドに着目した場合、特定のスレッドの処理効率が低下することに対する解決策としては効果が薄く、リアルタイム性の保証が困難である。
【００１５】
そこで、本発明の一実施の形態では、複数のコアを有するマルチコアプロセッサを用いた画像処理装置において、複数の画像処理タスクを並列処理する際、処理期限に応じてタスク優先度を設定すると共に、各々の画像処理タスクを実行することによるメモリバス帯域負荷レベルを予測する。そして、タスク優先度とメモリバス帯域負荷レベルとに基づいて画像処理タスク管理情報を生成し、その画像処理タスク管理情報に基づき、複数の画像処理タスクのメモリバス帯域負荷レベルの合計が予め定めた閾値以下となるように、タスク優先度の高い画像処理タスクから順にコアに割り当てるようにタスクスケジューリングを行う。
【００１６】
このように、予めメモリバス帯域負荷レベルを予測し、予測結果に基づいて負荷分散を実施するため、適切な負荷分散が行うことができ、メモリバス帯域がボトルネックとなって高い優先度の画像処理タスクの実行効率が低下することを防止することができる。また、優先度の高い特定の画像処理タスクの処理効率が低下しないよう負荷分散を行うため、リアルタイム性の保証が容易であり、システム全体のスループットの向上とリアルタイム性の確保を両立させることができる。
【実施例】
【００１７】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る画像処理装置及び並列処理制御プログラム並びに並列処理制御方法について、図１乃至図１７を参照して説明する。
【００１８】
本実施例の画像処理装置１０は、図１に示すように、マルチコアプロセッサ１２と、メインメモリ１３と、画像入力装置１４と、画像出力装置１５などで構成され、マルチコアプロセッサ１２とメインメモリ１３とで、画像処理装置１０の動作を制御する制御部１１が構成される。
【００１９】
マルチコアプロセッサ１２は、図２に示すように、複数のコア１２ａと複数のコア１２ａに接続されるメモリコントローラ１２ｂとで構成され、メモリコントローラ１２ｂは、メモリバス１６を介してメインメモリ１３に接続される。すなわち、複数のコア１２ａでメインメモリ１３を共有する構成となっている。
【００２０】
なお、上記マルチコアプロセッサ１２は、各コア１２ａに特定の機能を割り当てるＡＭＰ（Asymmetric Multiprocessing）にて動作させてもよいし、個々のコア１２ａが対等の条件でメインメモリ１３を共有するＳＭＰ（Symmetric Multiprocessing）にて動作させてもよいし、ＡＭＰとＳＭＰを併合したＢＭＰ（Bound Multiprocessing）にて動作させてもよい。ＡＭＰで動作させる場合は、本実施例の並列処理制御プログラム（必要に応じてＯＳ（Operating System）など）は特定のコア１２ａで実行され、ＳＭＰで動作させる場合は、本実施例の処理制御プログラム（必要に応じてＯＳなど）は全てのコア１２ａで実行されることになる。また、マルチコアプロセッサ１２におけるコア１２ａの数は特に限定されず、複数のコア１２ａは、同種の（規模や構成、処理能力が同じ）コアとしてもよいし、規模や構成、処理能力が異なるコアとしてもよい。
【００２１】
以下、４つのコア１２ａで構成されるマルチコアプロセッサ１２を使用するＭＦＰを前提にして説明する。
【００２２】
画像入力装置１４は、本実施例の画像処理の対象となる画像を入力する装置であり、例えば、スキャナ部、Fax制御部、ネットワークＩ／Ｆ部などである。
【００２３】
スキャナ部は、原稿台上に載置された原稿から画像データを光学的に読み取り、制御部１１に転送する。このスキャナ部は、原稿を走査する光源と、原稿で反射された光を電気信号に変換するＣＣＤ（Charge Coupled Devices）等のイメージセンサと、電気信号をＡ／Ｄ変換するＡ／Ｄ変換器等により構成される。
【００２４】
Fax制御部は、ナンバーディスプレイ応答や通常着信処理、画像データの送受信処理などを実行し、外部のFax装置からFax画像データを取得し、制御部１１に転送する。
【００２５】
ネットワークＩ／Ｆ部は、ＬＡＮ（Local Area Network）などの構内通信網に接続するためのＮＩＣ（Network Interface Card）などであり、外部のコンピュータ装置などから、ＰＪＬ（Printer Job Language）やＰＳ（PostScript）、ＰＣＬ（Printer Control Language）等のページ記述言語で記述されたＰＤＬ（Page Description Language）データ、または、ＰＤＦ（Portable Document Format）データなどの印刷データを取得し、制御部１１に転送する。
【００２６】
制御部１１は、画像入力装置１４から取得したデータに対して画像処理を行う。例えば、スキャナ部から取得した原稿の画像データや、Fax制御部から取得したFax画像データに対して、エッジ強調処理やスムージング処理、色変換処理等の画像処理を行う。また、外部のコンピュータ装置から取得した印刷データを解析し、一次処理結果として中間データを出力し、その中間データをラスター処理（ラスタライズ）してページ毎の画像データを生成し、生成した画像データに対して上記画像処理を行う。そして、画像処理後の画像データを画像出力装置１５にVIDEO出力する。
【００２７】
画像出力装置１５は、制御部１１によって画像処理された画像を出力する装置であり、例えば、画像形成部（エンジン）などである。
【００２８】
画像形成部（エンジン）は、制御部１１からVIDEO出力される画像データに基づき、用紙への印刷処理を行う。具体的には、電子写真方式の場合は、帯電装置により帯電された感光体ドラムに、露光装置から画像に応じた光を照射して静電潜像を形成し、現像装置で帯電したトナーを付着させて現像し、そのトナー像を転写ベルトに１次転写し、転写ベルトから用紙に２次転写し、更に定着装置で用紙上のトナー像を定着させる処理を行う。
【００２９】
なお、画像形成部（エンジン）は、必ずしも画像処理装置１０に内蔵されている必要はなく、画像形成部が別の装置として分離した構成としてもよい。
【００３０】
図３は、上記制御部１１によって実行される機能を示しており、制御部１１は、優先度設定部１１ａ、帯域負荷レベル予測部１１ｂ、管理情報生成部１１ｃ、タスク管理部１１ｄとして機能する。すなわち、制御部１１を、優先度設定部１１ａ、帯域負荷レベル予測部１１ｂ、管理情報生成部１１ｃ及びタスク管理部１１ｄとして機能させる並列処理制御プログラムが、いずれかのコア１２ａで実行される。
【００３１】
優先度設定部１１ａは、画像処理タスクの処理期限に応じてタスク優先度を設定する。具体的には、複数の画像処理タスクが同時並列に且つ連続的に処理される場合に、画像処理結果の出力の早いページ順に、タスク優先度を設定する。また、１ページの画像を複数の領域（バンド）に分割して画像処理を行う場合は、同一ページでは、画像処理結果の出力の早いバンド順に、タスク優先度を設定する。また、画像処理を後述するパイプライン処理で実行する場合は、画像処理タスクの種別に応じて予め設定された処理属性情報に基づいて、タスク優先度を設定する。
【００３２】
帯域負荷レベル予測部１１ｂは、画像処理タスクによって処理される画像の種別を特定し、特定した画像の種別に応じて、画像処理タスクを所定のコアに実行させる時のメモリバス帯域負荷レベルを予測する。具体的には、画像処理の対象となる画像のデータサイズ、解像度、色情報、オブジェクト属性、圧縮率の中から選択される少なくとも１つに基づいて、メモリバス帯域負荷レベルを予測する。特に、ＰＤＬ形式のデータの一次処理結果として出力される中間データをラスター処理する際のメモリバス帯域負荷レベルを予測する。また、画像処理をパイプライン処理で実行する場合は、前段の画像処理タスクの処理後に、後段の画像処理タスクに対するメモリバス帯域負荷レベルを予測する。なお、メモリバス帯域負荷レベルの値は実測値としてよいし、計算値としてもよい。また、絶対値としてもよいし、相対値としてもよい。
【００３３】
管理情報生成部１１ｃは、優先度設定部１１ａが設定したタスク優先度と帯域負荷レベル予測部１１ｂが予測したメモリバス帯域負荷レベルとに基づいて、画像処理タスク管理情報を生成する。
【００３４】
タスク管理部１１ｄは、複数の画像処理タスクを同時並列で実行する場合に、管理情報生成部１１ｃが生成した画像処理タスク管理情報に基づいて、複数の画像処理タスクのメモリバス帯域負荷レベルの合計値が予め定めた閾値以下となるように、タスク優先度の高い画像処理タスクから順にコアに割り当てて画像処理タスクを処理する。また、後述するように、メモリバス帯域負荷レベルが予め定めた閾値以下となる画像処理タスクの組み合わせが複数存在する場合は、複数のコアを効率的に使用できるように画像処理タスクを割り当てる。
【００３５】
なお、本実施例では、マルチコアプロセッサ１２による並列処理を制御するプログラム（並列処理制御プログラム）をマルチコアプロセッサ１２自身に実行させる構成とするが、マルチコアプロセッサ１２以外のプロセッサに実行させることも可能であり、その場合は、マルチコアプロセッサ１２を管理するプロセッサ（ＣＰＵ（Central Processing Unit）など）を備える構成とすることもできる。
【００３６】
以下、上記構成の画像処理装置１０を用いた並列処理制御方法について説明する。マルチコアプロセッサ１２は、メインメモリ１３から読み込んだ並列処理制御プログラムを実行することにより、図４及び図５のフローチャート図に示す各ステップの処理を実行する。
【００３７】
まず、画像処理タスク及び画像処理タスク管理情報の生成制御について、図４を参照して説明する。
【００３８】
制御部１１（優先度設定部１１ａ）は、画像入力装置１４からジョブを受信したら（Ｓ１０１のＹｅｓ）、画像処理タスクの優先度を設定する（Ｓ１０２）。
【００３９】
具体的には、ＭＦＰ等の画像処理装置１０では、Copy、Print、Fax等のジョブを同時に処理する場合、一定の印刷出力速度を保持するために、各ジョブの画像処理の処理期限が存在する。例えば、図６に示すように、Copyジョブの連続処理中に、Printジョブ及びFaxジョブを受信した場合、各ジョブの画像処理について、印刷出力が開始される順番に処理期限が設けられる。従って、マルチ動作時においては、同時並列に画像処理が実施されるCopy、Print、Faxジョブについて、処理期限は印刷出力の順序と等価で、Copy＞Print＞Faxの順序となり、各ジョブの画像処理は、処理期限の早い順に処理が完了する必要がある。そこで、制御部１１（優先度設定部１１ａ）は、画像処理の開始時に、各画像処理のタスク優先度を、印刷出力順（処理期限が早い順）に高い優先度となるように設定する。
【００４０】
また、各画像処理について、１ページ分の画像データを複数バンドに分割し、バンド毎に処理を行う。各バンドの画像処理を行う複数の画像処理タスクは、ページの先頭バンドデータから順に印刷出力されるため、１ページ内の各バンドの画像処理タスクのタスク優先度は、先頭バンドから順に高い優先度となるように設定する。
【００４１】
以上より、図６の並列処理区間内に並列処理される各画像処理タスクのタスク優先度は、図７に示すように、ページナンバー及びバンドナンバーから構成される２ケタ以上の数値（ページナンバーを上位の桁、バンドナンバーを下位の桁とした数値）として設定され、数値が小さいほど、優先度が高くなる。
【００４２】
次に、制御部１１（帯域負荷レベル予測部１１ｂ）は、ジョブに含まれる画像処理タスクの画像種別を特定し、その画像種別に応じて、メモリバス帯域負荷レベルを予測する（Ｓ１０３）。
【００４３】
具体的には、画像処理タスクを実行することにより生じる、メモリバス帯域負荷レベルは、画像処理タスクが処理の対象とする画像の種別により予測することができることから、制御部１１のメインメモリ１３等の記憶手段に、画像の種別毎のメモリバス帯域負荷レベル予測値テーブルを用意しておく。なお、画像種別とは、例えば、画像のサイズ、解像度、カラー／モノクロ設定、色階調、Copy、Print、Fax等の処理の違いによる圧縮率の差異（ＰＤＬ形式のデータの一次処理結果として出力される中間データをラスター処理する際の画像では、更に、テキスト／イメージ／グラフィック等のイメージ属性）などであり、帯域負荷レベル予測部１１ｂは、これらの中から選択される少なくとも１つを特定し、予め記憶したメモリバス帯域負荷レベル予測値テーブルを参照して、画像処理タスク実施時のメモリバス帯域負荷レベルを予測する。
【００４４】
次に、制御部１１（管理情報生成部１１ｃ）は、画像処理の開始時、各バンドを処理する画像処理タスクを生成する際に、各画像処理タスクの管理情報を同時に生成し（Ｓ１０４）、生成した画像処理タスク管理情報を画像処理タスクリストに追加する（Ｓ１０５）。
【００４５】
この画像処理タスク管理情報は、図８に示すように、画像処理タスクと優先度とメモリバス帯域負荷レベルとから構成される。上記優先度には、ページ優先度が含まれ、ページ優先度は印字出力順番ごとにカウントアップされる。すなわち、印字出力順番が後になるほど、当該画像処理タスクのページ優先度は低くなるが、前ページの印字出力が完了し、前ページの画像処理タスクが削除されることにより、それよりも後のページ出力順である画像処理タスクの優先度が、相対的に繰り上がる。従って、全ての画像処理タスクは、印字出力直前になると、必ず、最優先の画像処理タスクとして扱われることになる。
【００４６】
次に、上記手順で生成された画像処理タスク管理情報を用いたタスクスケジューリングについて、図５を参照して説明する。
【００４７】
制御部１１（タスク管理部１１ｄ）は、画像処理タスクリストをチェックし（Ｓ２０１）、処理待ちの画像処理タスクがあるかを判断する（Ｓ２０２）。処理待ちの画像処理タスクがある場合は、制御部１１（タスク管理部１１ｄ）は、タスクスケジューリングを行い（Ｓ２０３）、タスクスケジューリングに従って画像処理タスクを実行する（Ｓ２０４）。そして、画像処理タスクの実行が完了したら（Ｓ２０５のＹｅｓ）、Ｓ２０１に戻って、次の画像処理タスクに対して同様の処理を繰り返す。
【００４８】
例えば、図６に示すマルチ動作時に、図７に示す画像処理タスクが存在する場合、図９に示すように、各画像処理タスクの実行順序の割り振りを行うタスクスケジューラ（タスク管理部１１ｄ）は、画像処理タスクをコア１〜３で実行し、それ以外のシステム全体の制御タスクをコア４で実行する。その際、画像処理タスク管理情報の優先度とメモリバス帯域負荷レベルとを参照し、後述の手順に従って画像処理タスクの割り当てを実施することにより、常時メモリバス帯域負荷レベルが、一定の閾値以下となるように制御を行う。
【００４９】
具体的には、タスクスケジューラ（タスク管理部１１ｄ）は、図８に示す画像処理タスク管理情報のリストから、優先度及びメモリバス帯域負荷レベルを参照し、メモリバス帯域負荷レベルが予め定めた閾値以下となるように、優先度が高い画像処理タスクから順に選択し、RUNキュー１〜３に格納する。各RUNキューに格納された画像処理タスクについて、同一のカラムに存在する画像処理タスクは、同一のタイミングで、同一の一定時間実行され、一定時間経過ごとに、次のカラムに格納されている画像処理タスクに実行を切り替える。
【００５０】
このタスクスケジューラ（タスク管理部１１ｄ）が、RUNキューに実行待ち画像処理タスクを格納し、順次実行する動作は、以下の手順１〜６のようになる。ここでは、画像処理タスクに割り当てるRUNキュー（コア）を３つ、カラムを４つとするが、RUNキュー（コア）及びカラムの数は適宜設定することができる。
【００５１】
・手順１：画像処理タスクリストをチェックし、処理待ちタスクが存在する場合、手順２へ進む。
・手順２：キュー１−１（RUNキュー１のカラム１）に、画像処理タスクリスト内で最も優先度の高い画像処理タスクを割り当てる。
・手順３：キュー２−１に、キュー１−１及びキュー２−１に割り当てる画像処理タスクのメモリバス帯域負荷レベルの合計値が一定の閾値以下となる範囲で、最も優先度の高いタスクを割り当てる。
・手順４：キュー３−１に、キュー１−１、キュー２−１、及びキュー３−１に割り当てる画像処理タスクのメモリバス帯域負荷レベルの合計値が一定の閾値以下となる範囲で、最も優先度の高いタスクを割り当てる。
・手順５：手順２〜４の処理をカラム毎に実施し、RUNキュー１〜３の全カラムに対して画像処理タスクの割り当てが完了したら、RUNキュー１〜３の画像処理タスクを、カラム毎に順次コア１〜３で実行する。
・手順６：RUNキューに格納された全画像処理タスクの実行完了後、手順１へ戻る。
【００５２】
なお、上記手順において、RUNキュー１〜３のカラム１〜４内に、同一の画像処理タスクが割り当てられないようするために、一度割り当てられた画像処理タスクは、画像処理タスクリストから、割り当て済タスクリストに退避し、RUNキュー１〜３のカラム１〜４の画像処理タスクの実行が完了した時点で、割り当て済タスクリストから画像処理タスクリストに戻す処理を実施する。また、画像処理タスクの実行完了時点で、画像処理タスクの処理が完全に完了している場合、割り当て済タスクリストから削除する制御を行う。
【００５３】
以下、上記手順について具体的に説明する。図９は、メモリバス帯域負荷レベルの閾値を８０％以上、９０％未満の範囲の値に設定した場合のタスクスケジューリングを示している。まず、上記手順２に従って、RUNキュー１のカラム１に、最も優先度の高い（Page優先度が”２”でBand優先度が”１”の）Copyタスク１を割り当てる。次に、上記手順３に従って、RUNキュー２のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクを割り当てる。ここでは、最も優先度の高いタスクはPage優先度が”２”でBand優先度が”２”のCopyタスク２であり、メモリバス帯域負荷レベルの合計値は６０％であるため、このCopyタスク２を割り当てる。次に、上記手順４に従って、RUNキュー３のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクを割り当てる。ここでは、最も優先度の高いタスクはPage優先度が”２”でBand優先度が”３”のCopyタスク３であるが、メモリバス帯域負荷レベルの合計値は９０％となるため、条件を満たさない（同様にPage優先度が”２”でBand優先度が”４〜８”のCopyタスク４〜８も条件を満たさない）。次に優先度の高いタスクはPage優先度が”３”でBand優先度が”１”のPrintタスク１であり、メモリバス帯域負荷レベルの合計値は８０％であるため、このPrintタスク１を割り当てる。以降のカラムについても同様に画像処理タスクをコアに割り当てると、Copyタスク１、３、５、７がコア１に割り当てられ、Copyタスク２、４、６、８がコア２に割り当てられ、Printタスク１、２、３、４がコア３に割り当てられる。
【００５４】
なお、図示していないが、RUNキューのタスクの処理が終了すると、次のカラムには、RUNキュー１にPrintタスク５、RUNキュー２にPrintタスク６、RUNキュー３にPrintタスク７が割り当てられる。更に、次のカラムには、RUNキュー１にPrintタスク８、RUNキュー２にFaxタスク１、RUNキュー３にFaxタスク２が割り当てられる。更に、次のカラムには、RUNキュー１にFaxタスク３、RUNキュー２にFaxタスク４、RUNキュー３にFaxタスク５が割り当てられる。更に、次のカラムには、RUNキュー１にFaxタスク６、RUNキュー２にFaxタスク７、RUNキュー３にFaxタスク８が割り当てられる。
【００５５】
図１０は、メモリバス帯域負荷レベルの閾値を６５％以上、８０％未満の範囲の値に設定した場合を示している。同様に、上記手順２に従って、RUNキュー１のカラム１に、最も優先度の高いCopyタスク１を割り当てる。次に、上記手順３に従って、RUNキュー２のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクとして、Page優先度が”２”でBand優先度が”２”のCopyタスク２を割り当てる。次に、上記手順４に従って、RUNキュー３のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクを割り当てる。ここでは、最も優先度の高いタスクはPage優先度が”２”でBand優先度が”３”のCopyタスク３であるが、メモリバス帯域負荷レベルの合計値は９０％となるため、条件を満たさない（同様にPage優先度が”２”でBand優先度が”４〜８”のCopyタスク４〜８も条件を満たさない）。また、次に優先度の高いタスクはPage優先度が”３”でBand優先度が”１”のPrintタスク１であるが、メモリバス帯域負荷レベルの合計値は８０％となるため、同様に条件を満たさない（同様にPage優先度が”３”でBand優先度が”２〜８”のPrintタスク２〜８も条件を満たさない）。次に優先度の高いタスクはPage優先度が”４”でBand優先度が”１”のFaxタスク１であり、メモリバス帯域負荷レベル合計値は６５％であるため、このFaxタスク１を割り当てる。以降のカラムについても同様に画像処理タスクをコアに割り当てると、Copyタスク１、３、５、７がコア１に割り当てられ、Copyタスク２、４、６、８がコア２に割り当てられ、Faxタスク１、２、３、４がコア３に割り当てられる。
【００５６】
なお、図示していないが、RUNキューのタスクの処理が終了すると、次のカラムには、RUNキュー１にPrintタスク１、RUNキュー２にPrintタスク２、RUNキュー３にPrintタスク３が割り当てられる。更に、次のカラムには、RUNキュー１にPrintタスク４、RUNキュー２にPrintタスク５、RUNキュー３にPrintタスク６が割り当てられる。更に、次のカラムには、RUNキュー１にPrintタスク７、RUNキュー２にPrintタスク８、RUNキュー３にFaxタスク５が割り当てられる。更に、次のカラムには、RUNキュー１にFaxタスク６、RUNキュー２にFaxタスク７、RUNキュー３にFaxタスク８が割り当てられる。
【００５７】
図１１は、メモリバス帯域負荷レベルの閾値を５５％以上、６５％未満の範囲の値に設定した場合を示している。同様に、上記手順２に従って、RUNキュー１のカラム１に、最も優先度の高いCopyタスク１を割り当てる。次に、上記手順３に従って、RUNキュー２のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクを割り当てる。ここでは、最も優先度の高いタスクはPage優先度が”２”でBand優先度が”２”のCopyタスク２であり、メモリバス帯域負荷レベル合計値は６０％となり、条件を満たすが、RUNキュー２にCopyタスクを割り当てると、RUNキュー３にいずれのタスク（メモリバス帯域負荷レベルが最も低いFaxタスク）も割り当てることができなくなる。そのような場合、コア１と２の２つのコアを用いてタスクの処理を行ってもよいが、メモリバス帯域負荷レベルが次に高いタスクを割り当てても３つのコアを利用できるようにしてもよい。例えば、Page優先度が”３”でBand優先度が”１”のPrintタスク１を割り当てると、メモリバス帯域負荷レベルの合計値は５０％となり、RUNキュー３にFaxタスクを割り当てることができることから、図ではPrintタスク１を割り当てている。次に、上記手順４に従って、RUNキュー３のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクを割り当てる。ここでは、Page優先度が”４”でBand優先度が”１”のFaxタスク１を割り当てる。以降のカラムについても同様に画像処理タスクをコアに割り当てると、Copyタスク１、２、３、４がコア１に割り当てられ、Printタスク１、２、３、４がコア２に割り当てられ、Faxタスク１、２、３、４がコア３に割り当てられる。
【００５８】
図１２は、コア数を５とし、その内の４つのコアを画像処理タスクの処理に割り当て、かつ、メモリバス帯域負荷レベルの閾値を８５％に設定した場合を示している。同様に、上記手順２に従って、RUNキュー１のカラム１に、最も優先度の高いCopyタスク１を割り当てる。次に、上記手順３に従って、RUNキュー２のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクとして、Page優先度が”２”でBand優先度が”２”のCopyタスク２を割り当てる。次に、上記手順４に従って、RUNキュー３のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクを割り当てる。ここでは、最も優先度の高いタスクはPage優先度が”２”でBand優先度が”３”のCopyタスク３であるが、メモリバス帯域負荷レベルの合計値は９０％となるため、条件を満たさない（同様にPage優先度が”２”でBand優先度が”４〜８”のCopyタスク４〜８も条件を満たさない）。次に優先度の高いタスクはPage優先度が”３”でBand優先度が”１”のPrintタスク１であり、メモリバス帯域負荷レベルの合計値は８０％であるため、このPrintタスク１を割り当てる。同様に、RUNキュー４のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクを割り当てる。ここでは、最も優先度の高いタスクはPage優先度が”２”でBand優先度が”３”のCopyタスク３であるが、メモリバス帯域負荷レベル合計値は１１０％となるため、条件を満たさない（同様にPage優先度が”２”でBand優先度が”４〜８”のCopyタスク４〜８も条件を満たさない）。また、次に優先度の高いタスクはPage優先度が”３”でBand優先度が”２”のPrintタスク２であるが、メモリバス帯域負荷レベルの合計値は１００％となるため、条件を満たさない（同様にPage優先度が”３”でBand優先度が”３〜８”のPrintタスク３〜８も条件を満たさない）。次に優先度の高いタスクはPage優先度が”４”でBand優先度が”１”のFaxタスク１であり、メモリバス帯域負荷レベルの合計値は８５％であるため、このFaxタスク１を割り当てる。次のカラムについても同様に画像処理タスクをコアに割り当てると、Copyタスク１、３、５、７がコア１に割り当てられ、Copyタスク２、４、６、８がコア２に割り当てられ、Printタスク１、２、３、４がコア３に割り当てられ、Faxタスク１、２、３、４がコア４に割り当てられる。
【００５９】
なお、図示していないが、RUNキューのタスクの処理が終了すると、次のカラムには、RUNキュー１にPrintタスク５、RUNキュー２にPrintタスク６、RUNキュー３にPrintタスク７、RUNキュー４にPrintタスク８が割り当てられる。更に、次のカラムには、RUNキュー１にFaxタスク５、RUNキュー２にFaxタスク６、RUNキュー３にFaxタスク７、RUNキュー４にFaxタスク８が割り当てられる。
【００６０】
このように、画像処理タスク管理情報を参照して、メモリバス帯域負荷レベルが予め定めた閾値以下となるように、タスク優先度の高い画像処理タスクから順にコアに割り当てることにより、メモリバス帯域がボトルネックとなることによる処理効率の低下を抑制して、リアルタイム性を向上させることができる。
【００６１】
次に、本実施例の並列処理制御方法をパイプライン処理に適用する場合の優先度設定について説明する。ＭＦＰ等の画像処理装置１０において、複数のジョブを同時に処理するマルチ動作を実施した場合、生成される各画像処理タスクの処理期限が、必ずしもページの出力順序のみに従わない場合がある。例えば、ＭＦＰでは、Copy動作において、しばしば、画像処理が図１３に示すようなパイプライン処理で行われる。更に、画像データの入力処理及び印字データの出力処理について、一定の画像データ入力速度及び印字データ出力速度を維持することが求められるケースがしばしばある。このようなシステムにおいては、各画像処理タスクの処理期限と、処理期限に応じて設定される画像処理タスクの優先度は、ページ出力順序のみに従わないことから、後述するような優先度の設定方法を採用する。以降、一定の画像データ入力速度及び印字データ出力速度の維持が必要なシステムでの優先度の設定方法について説明する。
【００６２】
図１３のパイプライン処理のうち、画像データ入力処理及び印字データ出力処理では、それぞれ、外部から入力される画像データの入力処理及び外部への印字データの出力処理を実施するが、これらの処理が遅れた場合、一定の画像データ入力速度及び印字データ出力速度の維持が出来なくなる。従って、画像データ入力処理及び印字データ出力処理には高い優先度設定が必要となる。このような場合、制御部１１（優先度設定部１１ａ）は、画像処理タスク管理情報に設定する優先度として、ページナンバー及びバンドナンバーに加えて、処理属性を追加する。
【００６３】
例えば、図１４に示すように、Copy処理を連続で実施するケースの、処理区間Ａにおいては、Page１の処理２、Page２の処理１、Page３の画像データ入力の画像処理タスクが存在し、これらの画像処理タスク管理情報の優先度を設定する時に、画像処理タスクの種別に応じて予め設定した処理属性情報を参照して、図１５に示すように、ページナンバーと、バンドナンバーと、処理属性とからなる優先度の設定を行う。
【００６４】
この処理属性を含む優先度は、ページナンバー及びバンドナンバーから構成される２ケタ以上の数値と、処理属性ナンバーの数値とから構成され、処理属性ナンバーが大きいほど、優先度が高く、処理属性ナンバーが同値の場合、ページナンバー及びバンドナンバーからなる２ケタ以上の数値が小さいほど優先度が高くなる。図１５に示す画像処理タスクでは、処理属性１であるPage３の画像データ入力のタスク優先度が最も高くなり、一定の画像データ入力速度を維持するための最適な優先度設定となる。
【００６５】
図１６は、処理属性を加味したタスクスケジューリングを具体的であり、メモリバス帯域負荷レベルの閾値を７０％以上、７５％未満の範囲の値に設定した場合を示している。まず、上述した手順２に従って、RUNキュー１のカラム１に、最も優先度の高い（処理属性が”１”、Page優先度が”４”でBand優先度が”１”の）入力タスク１を割り当てる。次に、手順３に従って、RUNキュー２のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクを割り当てる。ここでは、最も優先度の高いタスクとして処理属性が”１”、Page優先度が”４”でBand優先度が”２”の入力タスク２を割り当てる。次に、手順４に従って、RUNキュー３のカラム１に、メモリバス帯域負荷レベル合計値が閾値以下の範囲で、最も優先度の高いタスクを割り当てる。ここでは、最も優先度の高いタスクは処理属性が”１”、Page優先度が”４”でBand優先度が”３”の入力タスク３であるが、メモリバス帯域負荷レベルの合計値は７５％となるため、条件を満たさない（同様に処理属性が”１”、Page優先度が”４”でBand優先度が”４〜８”の入力タスク４〜８も条件を満たさない）。次に優先度の高いタスクは処理属性が”０”、Page優先度が”２”でBand優先度が”１”の処理２タスク１であり、メモリバス帯域負荷レベルの合計値は７０％であるため、この処理２タスク１を割り当てる。以降のカラムについても同様に画像処理タスクをコアに割り当てると、入力タスク１、３、５、７がコア１に割り当てられ、入力タスク２、４、６、８がコア２に割り当てられ、処理２タスク１、２、３、４がコア３に割り当てられる。
【００６６】
なお、図示していないが、RUNキューのタスクの処理が終了すると、次のカラムには、RUNキュー１に処理２タスク５、RUNキュー２に処理２タスク６、RUNキュー３に処理２タスク７が割り当てられる。更に、次のカラムには、RUNキュー１に処理２タスク８、RUNキュー２に処理１タスク１、RUNキュー３に処理１タスク２が割り当てられる。更に、次のカラムには、RUNキュー１に処理１タスク３、RUNキュー２に処理１タスク４、RUNキュー３に処理１タスク５が割り当てられる。更に、次のカラムには、RUNキュー１に処理１タスク６、RUNキュー２に処理１タスク７、RUNキュー３に処理１タスク８が割り当てられる。
【００６７】
次に、本実施例の並列処理制御方法をパイプライン処理に適用する場合のメモリバス帯域負荷レベルについて説明する。Copy、Print、Faxなどの各画像処理がパイプライン処理である場合は、ある画像処理タスクの内容が、その前段の画像処理タスクの処理結果によって変動する場合がする。そこで、画像処理をパイプライン処理で実行する場合は、帯域負荷レベル予測部１１ｂは、前段の画像処理タスクの処理後に、後段の画像処理タスクに対するメモリバス帯域負荷レベルを予測するようにする。具体的には、図１７に示すように、パイプライン処理内の前段の画像処理結果に基づき、次段の処理におけるメモリバス帯域負荷レベルを予測し、次段の画像処理タスク管理情報を生成する時に、その予測値を画像処理タスク管理情報内のメモリバス帯域負荷レベルに反映することで、画像処理タスク実行時に発生するメモリバス帯域負荷レベルの精度を向上させることができる。
【００６８】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。
【産業上の利用可能性】
【００６９】
本発明は、複数のプロセッサコアで構成されるマルチコアプロセッサを備える画像処理装置、及び当該画像処理装置における並列処理を制御する並列処理制御プログラム、並びに当該並列処理制御プログラムを記録した記録媒体、並びに当該画像処理装置における並列処理制御方法に利用可能である。
【符号の説明】
【００７０】
１０  画像処理装置
１１  制御部
１１ａ  優先度設定部
１１ｂ  帯域負荷レベル予測部
１１ｃ  管理情報生成部
１１ｃ  タスク管理部
１２  マルチコアプロセッサ
１２ａ  コア
１２ｂ  メモリコントローラ
１３  メインメモリ
１４  画像入力装置
１５  画像出力装置
１６  メモリバス
【図１】
0006372315.tif 000002
【図２】
0006372315.tif 000003
【図３】
0006372315.tif 000004
【図４】
0006372315.tif 000005
【図５】
0006372315.tif 000006
【図６】
0006372315.tif 000007
【図７】
0006372315.tif 000008
【図８】
0006372315.tif 000009
【図９】
0006372315.tif 000010
【図１０】
0006372315.tif 000011
【図１１】
0006372315.tif 000012
【図１２】
0006372315.tif 000013
【図１３】
0006372315.tif 000014
【図１４】
0006372315.tif 000015
【図１５】
0006372315.tif 000016
【図１６】
0006372315.tif 000017
【図１７】
0006372315.tif 000018