(57)【要約】      （修正有）【課題】種々のデータを外部メモリからバンド領域毎に柔軟に読み出して自律的に画像処理を実行可能としＣＰＵのＤＭＡＣ制御のための処理負荷を軽減する画像処理装置を提供する。【解決手段】画像処理装置は、メモリからコマンドリストを取得し、当該コマンドリストに基づいてコマンドを送出する入力部１３０と、入力部から送出されたコマンドに基づいて処理を実行する処理部１５０とを有する。入力部は、レジスタへの指示を示すレジスタ制御コマンドをコマンドリストから取得すると、当該レジスタ制御コマンドを処理部へ送出する。また、入力部は、データ取得を指示するデータ取得コマンドをコマンドリストから取得すると、レジスタ制御コマンドに基づいてメモリからダイレクトメモリアクセスによって画像データを取得し、取得した画像データのデータ処理コマンドを生成してデータ処理コマンドと取得した画像データとを処理部へ送出する。【選択図】図１
2014112396.tif 000002
【特許請求の範囲】
【請求項１】
メモリからコマンドリストを取得し、当該コマンドリストに基づいてコマンドを送出する入力手段と、
前記入力手段から送出されたコマンドに基づいて処理を実行する処理手段と、
を有し、
前記入力手段は、
レジスタへの指示を示すレジスタ制御コマンドを前記コマンドリストから取得すると、当該レジスタ制御コマンドを前記処理手段へ送出し、
データ取得を指示するデータ取得コマンドを前記コマンドリストから取得すると、レジスタ制御コマンドに基づいて前記メモリからダイレクトメモリアクセスによって画像データを取得し、取得した画像データのデータ処理コマンドを生成して前記データ処理コマンドと前記取得した画像データとを前記処理手段へ送出することを特徴とする画像処理装置。
【請求項２】
前記処理手段に接続され、前記処理手段が前記データ処理コマンドを処理することにより得られた処理済の画像データを所定の形式にパッキングし、前記入力手段より送出されたレジスタ制御コマンドにより指示されたアドレスを用いたダイレクトメモリアクセスを実行することにより前記処理済の画像データを前記メモリに転送する出力手段を更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記処理手段は、各々異なる回路識別情報を有する複数の画像処理回路を有し、前記入力手段より送出されるレジスタ制御コマンドは、当該コマンドを実行するべき画像処理回路を特定する回路識別情報を含み、前記複数の処理回路の各々は、自身の識別情報に一致する回路識別情報を含むレジスタ制御コマンドを入力すると当該コマンドを実行してから後段の回路へ送出し、自身の識別情報に一致しない回路識別情報を含むレジスタ制御コマンドを入力するとそのまま当該コマンドを後段の回路へ送出することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記入力手段より送出されるデータ処理コマンドは、当該コマンドに含まれるデータに対する処理を識別するためのデータ処理識別情報を含み、
前記複数の画像処理回路の各々は、自身に登録されたデータ処理識別情報と入力されたデータ処理コマンドに含まれるデータ処理識別情報が一致する場合に、データ処理識別情報を有するデータ処理コマンドに含まれるデータを用いて、当該データ処理識別情報に対応した処理を実行することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記入力手段において読み出したデータを一時的に格納するバッファをダブルバンク方式で構成し、前記メモリから読出しと、前記バッファからのコマンド生成を並列的に実行することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
少なくともコマンド生成する回数を設定したデータを保持するコマンドレジスタと、
ＲＡＭからダイレクトメモリアクセスによって読み出した処理対象データを保持するバッファと、
前記コマンドレジスタに設定されたデータに従ってコマンドを生成し、送出する入力手段と、
前記入力手段から送出されたコマンドにしたがって画像データを処理する処理手段とを備え、
前記入力手段は、
前記コマンドレジスタから取得したデータと前記バッファから取得した処理対象データに基づいて、前記コマンドレジスタに保持されたデータに設定された回数の、前記処理手段のレジスタを制御するためのレジスタ制御コマンド、或いは、処理対象データの処理を指示するためのデータ処理コマンドを生成して前記処理手段へ送出するＰＵＳＨ型のコマンド生成手段を有することを特徴とする画像処理装置。
【請求項７】
前記入力手段は、メモリからコマンドリストを取得し、前記コマンドリストにしたがってコマンドを生成し、前記処理手段へ送出するＰＵＬＬ型のコマンド生成手段を更に有し、
前記ＰＵＬＬ型のコマンド生成手段は、前記コマンドリストからレジスタへのデータの書き込み或いは読出しを指示するレジスタ制御コマンドを取得すると、当該レジスタ制御コマンドを前記処理手段へ送出し、
前記コマンドリストからデータ取得を指示するデータ取得コマンドを取得すると、レジスタ制御コマンドにより指示されたアドレスを用いて前記メモリからダイレクトメモリアクセスによって画像データを取得し、取得した画像データのデータ処理コマンドを生成して前記データ処理コマンドと前記取得した画像データとを前記処理手段へ送出し、
前記処理手段は、複数の画像処理回路を有し、
前記ＰＵＳＨ型のコマンド生成手段と前記ＰＵＬＬ型の生成手段は、前記複数の画像処理回路を互いに排他的に利用するようにコマンドを生成することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
コマンドリストに基づいてコマンドを送出する入力手段と、前記入力手段に接続され、前記入力手段から送出されたコマンドにしたがってレジスタの設定或いは画像データの処理を実行する処理手段とを備え、メモリから読み出した処理対象データに処理を施す処理装置の制御方法であって、
前記入力手段が、前記メモリからコマンドリストを取得する工程と、
前記入力手段が、前記コマンドリストからレジスタへのデータの書き込み或いは読出しを指示するレジスタ制御コマンドを取得すると、当該レジスタ制御コマンドを前記処理手段へ送出する工程と、
前記入力手段が、前記コマンドリストからデータ取得を指示するデータ取得コマンドを取得すると、レジスタ制御コマンドにより指示されたアドレスを用いて前記メモリからダイレクトメモリアクセスによって処理対象データを取得し、取得した処理対象データのデータ処理コマンドを生成して前記データ処理コマンドと前記取得した処理対象データとを前記処理手段へ送出する工程とを有することを特徴とする画像処理装置の制御方法。
【請求項９】
少なくともコマンド生成する回数を設定したデータを保持するコマンドレジスタと、ＲＡＭからダイレクトメモリアクセスによって取得した処理対象データを保持するバッファとを有する入力手段と、前記入力手段に接続され、前記入力手段から送出されたコマンドにしたがって処理対象データを処理する処理手段とを備え、処理対象データに処理を施す処理装置の制御方法であって、
前記バッファへのコマンド生成のためのデータの書き込み、及び前記バッファへの処理対象データの書き込みを受け付ける工程と、
前記入力手段が、前記コマンドレジスタから取得したデータと前記バッファから取得した処理対象データに基づいて、前記コマンドレジスタに保持されたデータに設定された回数の、前記処理手段のレジスタを制御するためのレジスタ制御コマンド、或いは、処理対象データの処理を指示するためのデータ処理コマンドを生成して前記処理手段へ送出する工程とを有することを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法および画像処理装置に関する。特に、画像処理のためにメインメモリの複数の画像データや補正データなどを分割して取り扱い、必要なデータを逐次的に読み出して画像処理や補正処理を行う場合に用いて好適なものである。
【背景技術】
【０００２】
一般に、画像形成を行って出力するに際し、空間フィルタ処理などの局所（近傍）画像処理が行われている。この局所画像処理は、処理対象となる画素（以下、処理画素と略称する）を含む空間フィルタ領域に含まれる画素を用いて何らかの演算を行う画像処理のことである。
【０００３】
例えば、図３のデジタル画像データ３００に対してエッジ強調処理やぼかし処理といった空間フィルタ処理が施される。特許文献１〜４は、デジタル画像データを領域ごとに分割し、別々の領域ごとに局所画像処理を行うという技術である。この技術では、図３の（ａ）〜（ｄ）に示されるように、１枚のデジタル画像データ全体が帯状（短冊状）に分割され、逐次的に領域毎に各種の画像処理が行なわれる。
【０００４】
この分割された細長い領域をバンド領域と呼び、バンド領域が展開される記憶領域をバンドメモリと呼ぶ。バンドメモリは、例えばメインメモリ内に記憶領域として確保される。かかるバンド処理では、各バンド領域間で隙間なく局所画像処理を行うために、各バンド領域が、夫々隣接する領域との境界で一部分が互いに重なり合うようにしている。また、特許文献４では、各バンド領域の高さと同一の方向に１画素ずつ画素を走査することで、局所画像処理に必要な処理画素を保持する遅延メモリの容量を各バンド領域の高さの大きさで規定し、遅延メモリの省メモリ化を実現している。
【０００５】
一方、特許文献１〜４記載の技術のように局所画像処理を考慮するだけでは、対応できない画像処理が多く存在する。
【０００６】
まず、スキャナなどの画像読み取り装置による読み取り画像に対して、センサデバイスの読み取り素子の個体差を補正するような補正処理があげられる。このような補正処理では、読み取り最小値データ、読み取り最大値データを基に補正対象である読み取り画像を画素データ（画素値）ごとに補正する。
【０００７】
他に、複数のレンダリング画像を合成データ（α値）に応じて画像合成するような画像処理がある。この種の画像処理では、例えば２枚の合成対象のレンダリング画像を、画素毎に設定された合成比率（合成データ）で合成する。
【０００８】
また、例えば動画像のインターレース／プログレッシブ変換（以下、Ｉ／Ｐ変換と略称する）のように時間軸方向に連続した複数フィールド画像を参照して適応的な空間フィルタ処理を施す場合がある。ここで、Ｉ／Ｐ変換のように複数フィールド画像を参照するような画像処理では、より多くのフィールド画像を用いて適応処理した方が高品位な画像処理を施せる。従って、解像度や参照フィールド数に応じて柔軟に画像処理方法を切り替えることが重要となる。
【０００９】
上述の画像処理に共通することは、画素データが２次元に配置された画像データを１枚だけ考慮して画像処理するだけでは不十分ということである。例えば、上述の画像処理に必要な画像データや補正データや合成データは、
・センサ形状に依存して外部メモリからの読み出し回数が異なる。
・ユーザの指定する数で、外部メモリから読み出すレンダリング画像の枚数が異なる。
・放送波の入力解像度で、外部メモリから読み出すフィールド画像の枚数が異なる。
【００１０】
このように画像処理の際に必要となるデータは多岐にわたり、一般的に外部メモリに記憶される。そのため、画像処理の種類に応じて多岐のデータを外部メモリから読み出して画像処理回路に転送することが必要となる。
【００１１】
一般に画像処理装置の分野では、ＣＰＵがダイレクトメモリアクセスコントローラ（Direct Memory Access Controller、以下ＤＭＡＣ）に対して読み出しアドレスを設定しＤＭＡＣを起動する。起動されたＤＭＡＣは、読み出しアドレスに従ってメモリコントローラを介して外部メモリから画像処理に必要なデータを取得し、画像処理回路に取得データを転送する。画像処理回路は入力データをもとに画像処理を行う。
【００１２】
上記のデータは、補正処理のようにデータの種類が異なったり、Ｉ／Ｐ変換のように放送波によって時間軸がずれて外部機器から入力されるため、外部メモリの別領域に格納される。このような別領域に格納されたデータを、前述バンド領域毎にさらに分割して逐次的に画像処理を行うためには、別領域にある各データをバンド領域に相当する領域だけ部分的に外部メモリから読み出して画像処理回路に転送する必要がある。このようなデータ読み出しを実現するためには特許文献５〜６のような複数チャネルＤＭＡＣを用いて実現することが考えられる。
【００１３】
しかしながら、たとえ複数チャネルＤＭＡＣを用いたとしても、前述したバンド領域ごとの逐次的な画像処理では、ＤＭＡＣを制御するＣＰＵは、
（１）次のバンド領域の画像処理に必要となる種々のデータの先頭アドレスと転送サイズをＤＭＡＣに設定し、
（２）画像処理回路のレジスタを設定し、
（３）ＤＭＡＣを起動し、
（４）ＤＭＡＣにより外部メモリから画像処理回路へ画像データを転送する、
といった一連の制御を画像処理回路からの画像処理終了割り込みを検知するたびに行う必要がある。すなわち、ＣＰＵは、（１）〜（４）の制御を、データの種類ごとに、バンド処理の回数だけ繰り返さなければならない。
【００１４】
また特許文献２〜４のようにバンド領域の高さ方向に１画素を走査するためには、後述の画像処理入力回路にてＨＶ変換（水平方向から垂直方向への走査変換）を行う必要がある。このＨＶ変換のためにＣＰＵは、後述の小容量の転送ブロック単位に非常に多くの回数にわたってＤＭＡＣを起動する事となり、ＣＰＵの制御回数は増大する。
【００１５】
一方、汎用ＣＰＵは、どのような演算であっても１サイクルの処理時間を消費し、また画像処理に必要なパラメータや中間演算データなどのレジスタへの書き込みやレジスタからの読み出しにも１サイクルの処理時間を消費するように設計される。それ故、演算処理をパイプライン構成で並列実行できるように設計されている画像処理回路の方が、動作周波数あたりの処理性能は格段に高い。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】米国特許第６，５８７，１５８号公報
【特許文献２】特開２０００−３１２３２７号公報
【特許文献３】特許第３７３３８２６号公報
【特許文献４】特開２００６−１３９６０６号公報
【特許文献５】特開平７−３２００６６号公報
【特許文献６】特開２００２−３６６５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
近年、限られたコスト制約の中で種々の画像処理の要求に対応することが望まれている。つまり、メモリ帯域や回路規模を一定に保ったままで、前述の種々の画像処理を柔軟に実現する装置や手法が望まれている。
【００１８】
特許文献１〜４の従来技術では、１枚の画像データに対する複数の補正データや複数の画像データや連続した複数フィールド画像に対して、数量に応じて外部メモリから柔軟に種々のデータを取得するという観点からの検討は行われていない。ここで、データの数量とは、補正データ数、レンダリング画像数、参照フィールド数などが挙げられる。
【００１９】
また特許文献５〜６においても、前述の多岐にわたる画像処理に必要な前述の種々のデータを外部メモリからバンド領域ごとに柔軟に取得するという観点で、ＣＰＵとＤＭＡＣと画像処理部の連携のし方は検討されていない。また、画像処理専用ＣＰＵが画像処理部の演算リソースを一時的に使用することで動作周波数（消費電力）あたりの処理性能を向上させるという観点での検討も行われていない。
【００２０】
本発明は、上述した課題に鑑みてなされたもので、画像処理部が種々のデータを外部メモリからバンド領域毎に柔軟に読み出して自律的に画像処理を実行可能としＣＰＵのＤＭＡＣ制御のための処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【００２１】
上記の課題を解決するための本発明の一態様による画像処理装置は以下の構成を備える。すなわち、
メモリからコマンドリストを取得し、当該コマンドリストに基づいてコマンドを送出する入力手段と、
前記入力手段から送出されたコマンドに基づいて処理を実行する処理手段と、
を有し、
前記入力手段は、
レジスタへの指示を示すレジスタ制御コマンドを前記コマンドリストから取得すると、当該レジスタ制御コマンドを前記処理手段へ送出し、
データ取得を指示するデータ取得コマンドを前記コマンドリストから取得すると、レジスタ制御コマンドに基づいて前記メモリからダイレクトメモリアクセスによって画像データを取得し、取得した画像データのデータ処理コマンドを生成して前記データ処理コマンドと前記取得した画像データとを前記処理手段へ送出する。
【発明の効果】
【００２２】
本発明によれば、ＣＰＵのＤＭＡＣ制御のための処理負荷を軽減しつつ、画像処理部が種々のデータを外部メモリからバンド領域毎に柔軟に読み出して自律的に画像処理を実行することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】画像処理装置の全体構成の一例を示すブロック図。
【図２】画像処理部の回路構成の一例を示すブロック図。
【図３】バンド処理の動作の一例を説明する図。
【図４】画像処理に必要なデータのＲＡＭへの格納例を説明する図。
【図５】ディスプレイリストのＲＡＭへの格納例を説明する図。
【図６】画像データの画素値の格納例を説明する図。
【図７】コマンドのデータ構成例を説明する図。
【図８Ａ】ディスプレイリストおよび画像データの一例を示す図。
【図８Ｂ】画像処理回路に取り込まれるコマンドを説明する図。
【図８Ｃ】画像処理出力回路から取り出されるデータを説明する図。
【図９】画素データを出力するまでの動作例を説明する図。
【図１０】画素データを出力するまでの動作例を説明する図。
【図１１Ａ】、
【図１１Ｂ】画像処理部による画像処理の一例を説明するフロー図。
【図１２】画像処理回路の動作を説明するフロー図。
【図１３】画像処理入力回路が有するコマンドレジスタを説明する図。
【図１４】画像処理ＣＰＵの動作を説明するフロー図。
【図１５】コマンドの生成動作を説明するフロー図。
【図１６Ａ】、
【図１６Ｂ】画像処理の一例を説明するフロー図。
【図１７】画像処理回路の動作を説明する図。
【図１８】画像処理装置の構成と動作を説明する図。
【図１９】画像処理の一例を説明する図。
【発明を実施するための形態】
【００２４】
以下、添付の図面を参照して本発明の好適な実施例を説明する。
【００２５】
（第１実施例）
図１は、第１実施例の画像処理装置の全体構成の一例を示すブロック図である。図１において、画像読み取り部１２０は、レンズ１２４、ＣＣＤセンサ１２６、及びアナログ信号処理部１２７等を有する。画像読み取り部１２０において、レンズ１２４を介しＣＣＤセンサ１２６に結像された原稿１１０の画像情報が、ＣＣＤセンサ１２６によりＲ（Red），Ｇ（Green），Ｂ（Blue）のアナログ電気信号に変換される。アナログ電気信号に変換された画像情報は、アナログ信号処理部１２７に入力され、Ｒ，Ｇ，Ｂの各色毎に補正等が行われた後にアナログ／デジタル変換（Ａ／Ｄ変換）される。こうして、デジタル化されたフルカラー信号（デジタル画像信号という）が生成される。生成されたデジタル画像信号は、ＣＰＵ１０２によって予め動作を設定されたダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１９２により、共有バス１９０を介してＣＰＵ回路部１００のＲＡＭ１０６にデジタル画像データとして格納される。
【００２６】
次にＣＰＵ１０２は、画像処理部１５０の起動レジスタに所定の値をセットして画像処理部１５０を起動する。画像処理部１５０は、コマンドリストをＲＯＭ１０４やＲＡＭ１０６（メインメモリ）や外部記憶装置１０８から取得する。本実施例では、後述のディスプレイリストがコマンドリストとして用いられる。そして、画像処理部１５０は、取得したディスプレイリストに従って画像処理部１５０内部の画像処理回路等のレジスタ設定を行い、デジタル画像データをＲＡＭ１０６（メインメモリ）や外部記憶装置１０８から読み込む。そして入力されたデジタル画像信号に対し、スキャナなどのセンサデバイスの読み取り素子の個体差の補正と入力ガンマ補正などの色補正を行い、読み取り画像を正規化して一定水準のデジタル画像データを作成する。画像処理部１５０は、これら処理が施されたデジタル画像信号を、上述のディスプレイリストに従ったレジスタ設定値に応じてＲＡＭ１０６（メインメモリ）に格納させる。
【００２７】
また、例えば、画像処理部１５０は入力されたデジタル画像信号に対し、入力色補正処理、空間フィルタ処理、色空間変換、濃度補正処理、及び中間調処理などの印刷のための画像処理を施し、印刷可能なデジタル画像データを作成する。そして、上述と同様に、画像処理部１５０は、作成したデジタル画像データをＲＡＭ１０６に格納する。最後にＣＰＵ１０２は、ＤＭＡＣ１９８を用いて、ＲＡＭ１０６に格納された画像処理済みのデジタル画像データを読み出して画像印刷部１７０（プリンタ）へ出力する。この画像印刷部１７０は、たとえば、インクジェットヘッドやサーマルヘッド等を使用したラスタプロッタ等の印刷出力部（図示せず）を備えて構成され、入力されたデジタル画像信号により紙上に画像を記録する。
【００２８】
ＣＰＵ回路部１００は、演算制御用のＣＰＵ１０２、固定データやプログラムを格納するＲＯＭ１０４、データの一時保存やプログラムのロードに使用されるＲＡＭ１０６、及び外部記憶装置１０８等を備える。ＣＰＵ回路部１００は、画像読み取り部１２０、画像処理部１５０、及び画像印刷部１７０等を制御し、本実施例の画像処理装置のシーケンスを統括的に制御する。外部記憶装置１０８は、本実施例の画像処理装置が使用するパラメータやプログラムや補正データを記憶するディスク等の記憶媒体であり、ＲＡＭ１０６のデータやプログラム等は、外部記憶装置１０８からロードされる構成としても構わない。
【００２９】
まず、図１の画像読み取り部１２０による読み取り画像に対して、センサデバイスの読み取り素子の個体差を補正する補正処理をバンド領域を単位としたバンド処理を用いて行う場合について説明する。バンド処理では、デジタル画像データの座標系（主走査方向−副走査方向）として、図３の（ｅ）に示すように、長さ方向、高さ方向という新たな座標系（バンド領域座標系）を定義し、バンド領域を長さ×高さで表現する。また、バンド領域の長さは、デジタル画像データの主走査方向の幅、もしくは副走査方向の高さの何れかの値となり、バンドの高さは任意の値となる。例えば、主走査方向に複数のバンド領域を確保した場合のバンド領域の長さは、デジタル画像データの副走査方向の高さとなる。
【００３０】
バンド処理では、図３の（ａ）に示す第１のバンド領域３０１を、メインメモリ上のバンドメモリに展開して画像処理を行う。次に、図３の（ｂ）に示す第２のバンド領域３０２を第１のバンド領域３０１が展開されたバンドメモリに上書き展開して画像処理を行う。さらに、図３の（ｃ）に示す第３のバンド領域３０３を第２のバンド領域３０２が展開されたバンドメモリに上書き展開して画像処理を行う。最後に、図３の（ｄ）に示す第４のバンド領域３０４を第３のバンド領域３０３が展開されたバンドメモリに上書き展開して画像処理を行う。図３の（ａ）〜（ｄ）で明らかなように、バンド領域３０１〜３０４の長さは同じであるが、高さは同じである必要性は無い。メインメモリに確保される記憶領域であるところのバンドメモリの高さは、高さ方向のサイズが最も大きいバンド領域（図３の場合、第１〜第３のバンド領域３０１〜３０３）によって決定される。
【００３１】
図１９の（ａ）は、スキャナなどの画像読み取り装置による読み取り画像に対して、センサデバイスの読み取り素子の個体差を補正する補正処理を説明する図である。この補正処理に必要な情報は、センサデバイスの読み取り素子ごとの読み取り最小値データ（補正データ１００２）と読み取り最大値データ（補正データ１００１）である。補正画像処理１００６では、これらの情報を元に補正対象である読み取り画像１００３を画素データ（画素値）ごとに、例えば下記（式１）を用いた演算により補正し、補正部分画像１００７を得る。
（式１）  Ｘ＝（Ｐ−ＭＩＮ）／（ＭＡＸ−ＭＩＮ）×１０２３
ここで、読み取り画素値 ：Ｐ，読み取り最小値 ：ＭＩＮ，読み取り最大値 ：ＭＡＸ，補正画素値 ：Ｘ（Ｘは１０bitのデジタル信号）とする。
そして、この処理を読み取り画像１００３について繰り返すことにより、補正画像１００５を得る。つまり補正処理に必要なデータは、画素ごとに異なる補正データ１００１，１００２と読み取り画像の画素データ（入力部分画像１００４）という３種の異なる情報である。スキャナのセンサデバイスが、画素ごとの読み取り素子を１ラインにまとめたものであるラインセンサの場合には、このセンサが副走査方向に移動することで２次元画像の読み取りを行う。このような読み取り方式の場合、主走査方向に対しては、画素ごとに異なる最小値データと最大値データが並び、副走査方向に対しては、主走査位置が同一の画素の場合、同一の最小値データと最大値データとなる。
【００３２】
上記の画像処理の場合、センサデバイスの読み取り素子ごとの読み取り最小値データと読み取り最大値データが必要であり、これらの種々のデータは一時的に前述のＲＡＭ１０６に格納されている。図４を用いてＲＡＭ１０６への画像データの格納のし方を説明する。
【００３３】
図４中のIMG_AREA_STR_ADDRからIMG_AREA_END_ADDRまでが画像処理に必要な種々のデータを格納する領域である。図示の一例では、この領域にS0_IMGからS5_IMGまで６種のデータが格納されている状態である。ＤＲＡＭの性能を落とさずにデータをアクセスできるように、各々格納されるデータの容量の最小単位は、４０８に示すように３２bit×８wordの３２Byteとなっている。当然ながら、S0_IMGからS5_IMGまでの画像データの格納容量は、３２Byteの整数倍となる。たとえば、２次元の画像データの場合、最大画像領域（window'sarea）４４０に相当する領域がメモリ上の４２０（４２２，４２４，４２６）で示される。また、そこに収まるS0_IMG（image's area）４３０の領域がメモリ上の４１０で示される領域に格納されている。スキャナのラインセンサデバイス４５０が原稿４９０に対して副走査方向（ｖ）に移動しながら原稿を読み取る場合にラインセンサデバイス４５０の主走査方向（ｈ）に補正データ（ＭＡＸ）４７０と補正データ（ＭＩＮ）４７５が分布している。図４の例では、ＲＡＭ１０６上のS4_IMG４６０とS5_IMG４６５に補正データ（ＭＡＸ）４７０と補正データ（ＭＩＮ）４７５がそれぞれ格納されている。
【００３４】
さらに図６を用いてバンド単位の画像データのデータ構造を詳しく説明する。５００は前述のS0_IMG（image’sarea）４３０の領域のデジタル画像データを示している。５１０の領域は前述の３２Byte単位のデータであり、その中に５２０で示す８画素のデータがパッキングされている。また１つの画素データは、５３０で示すように１０bitのＲ（Red），Ｇ（Green），Ｂ（Blue）データがパッキングされている。なお、図示の例では、残りの２bitは、ＤＲＡＭによるデータアクセスを簡単にするために確保されているものであり、無効データとして処理には使用されない。図の太枠５００の範囲は、８Ｍ×Ｎの大きさの画像を意味する。また前述のS4_IMG４６０とS5_IMG４６５に格納されている、スキャナ・センサデバイスの補正データの場合、１ラインのラインセンサであるため、座標（０，０）から（８Ｍ，０）の範囲のデータとなる。
【００３５】
次に図５を用いてＲＡＭ１０６へのディスプレイリストの格納のし方を説明する。図５中のDPL_AREA_STR_ADDRからDPL_AREA_END_ADDRまでが画像処理に必要な種々の描画コマンドを格納する領域である。図示の例では、この領域にＤＰＬ（１）からＤＰＬ（３）まで３種のディスプレイリストが格納されている状態が示されている。ＤＲＡＭの性能を落とさずにデータをアクセスできるように、各々格納されるデータの容量の最小単位は、４０６に示すように３２bit×８wordの３２Byteとなっている。当然ながら、ＤＰＬ（１）からＤＰＬ（３）までのディスプレイリストの格納容量は、３２Byteの整数倍となる。ＣＰＵ１０２は、選択されたアプリケーションやユーザ操作などによって使用するディスプレイリストをＤＰＬ（１）からＤＰＬ（３）の中から選択して、異なる画像処理を実行する。
【００３６】
さらに図７を用いてメインメモリとしてのＲＡＭ１０６へ格納されているディスプレイリストに含まれるコマンドのデータ構成例について詳しく説明する。本実施例では、ディスプレイリストを構成するコマンドは、６４bit長のコマンドとなっており、３２Byte単位のデータ５２０に４つのコマンドが格納される。またディスプレイリストを構成するコマンドは、レジスタ制御コマンド５４０、データ取得コマンド５４２、終了コマンド５４６のように少なくとも３種存在する。なお、データ取得コマンド５４２は画像処理入力回路２２０により生成され、画像処理回路へ送出されるコマンド（詳細は後述する)である。各コマンドは上位８bitのオペコード（opcode）により識別され、下位５６bitは各コマンドにより用途が異なる。これらのコマンドは図１に記載の画像処理部１５０で機能する。以下、画像処理部１５０の構成例である図２の（ａ）を用いて各コマンドの動作について説明する。
【００３７】
まずディスプレイリストを構成する各コマンドは、画像処理部１５０の各種画像処理回路（画像処理入力回路２２０、画像処理回路（１）２３０、画像処理回路（２）２４０〜画像処理回路（Ｐ）２７０、画像処理出力回路２８０）で機能する。画像処理回路（１）２３０、画像処理回路（２）２４０〜画像処理回路（Ｐ）２７０は、内部バスによりシリーズに接続されている。各コマンドは、その入力順に内部バス２２５、２３５、２４５、・・・、２６５、２７５を介して画像処理入力回路２２０、画像処理回路（１）２３０、画像処理回路（２）２４０〜画像処理回路（Ｐ）２７０、画像処理出力回路２８０へと送出される。各コマンドは各画像処理回路により、内部情報を書き換えられることはあるが、コマンド自体が途中で削除されることはない。
【００３８】
レジスタ制御コマンド５４０は、画像処理部１５０の各種画像処理回路のレジスタに対して値を読み書きするためのコマンドであり、１bit情報“rw”が“０”のときはレジスタリードコマンド、“rw”が“１”のときはレジスタライトコマンドとなる。７bitの回路識別情報“ip_id”は、上記の各種画像処理回路を区別、特定する情報である。例えば画像処理入力回路２２０は“０”、画像処理回路（１）２３０は“１”、画像処理回路（２）２４０は“２”、画像処理回路（Ｐ）２７０は“Ｐ”、画像処理出力回路２８０は“３０”であるとする。また１６bit情報“address”は、上記の各種画像処理回路ごとの所有するレジスタの番地を示す情報である。例えば、“rw＝１、ip_id＝１、address＝０ｘ０、data＝０ｘＦ”であるレジスタ制御コマンドの場合を考える。このレジスタ制御コマンドは、画像処理入力回路２２０では、回路識別情報“ip_id”が異なるので無視され、内部バス２２５を通って画像処理回路（１）２３０に入力される。画像処理回路（１）２３０では、回路識別情報“ip_id”が同一であるので、同レジスタライトコマンドが有効となり、画像処理回路（１）２３０の“address＝０ｘ０”番地のレジスタに、“data＝０ｘＦ”が書き込まれる。画像処理回路（１）２３０は同レジスタ・ライト・コマンドを削除せず、そのまま内部バス２３５を介して次の画像処理回路（２）２４０へ入力される。画像処理回路（２）２４０以降の回路では回路識別情報“ip_id”が異なるため、同レジスタライトコマンドは無視され、最後に画像処理出力回路２８０で無視された後、同レジスタライトコマンドは画像処理出力回路２８０により削除される。また“rw＝０、ip_id＝２、address＝0x4、data＝0x0”であるレジスタリードコマンドの場合、前述のレジスタライトコマンド同様、回路識別情報“ip_id＝２”である画像処理回路（２）２４０以外では無視される。同レジスタリードコマンドは回路識別情報“ip_id”が同一である画像処理回路（２）２４０で有効となる。そして、“address＝０ｘ４”番地のレジスタ値が読み出され、同レジスタリードコマンドの“data”領域がこの読み出された値に置き換わり、内部バス２４５を介して後段の画像処理回路に送られる。画像処理出力回路２８０では、前述のレジスタライトコマンドと異なり、“data”だけが抜き取られるか、同レジスタリードコマンドそのものが、ＣＰＵ１０２がアクセス可能なメモリ領域に出力（記憶）される。
【００３９】
データ取得コマンド５４２は、画像処理入力回路２２０と画像処理出力回路２８０の動作を制御するコマンドである。画像処理入力回路２２０は、データ取得コマンドを受け取り、前述のレジスタ制御コマンドにて予め設定されたレジスタ値に従い、ＤＭＡＣ（Ｒｅａｄ）２１０を起動してメインメモリからデジタル画像データや補正データを取得する。ここで、ＤＭＡＣに予め設定されたレジスタ値とは、例えば、レジスタ制御コマンドにより設定された読出し開始アドレスと読出し回数である。次に、画像処理入力回路２２０は、このデータ取得コマンドを画像処理回路（１）２３０、画像処理回路（２）２４０〜画像処理回路（Ｐ）２７０、画像処理出力回路２８０へ内部バスを介して送る。このように、データ取得コマンドを下流へ送ることにより、例えば、レジスタ制御とデータ処理を時分割で動作を切り換えるときに、切り替え制御を容易に実現することが可能となる。そして、画像処理入力回路２２０は、ＤＭＡＣ２１０を用いて取得したデジタル画像データや補正データをデータ処理コマンド５４４の形式に変換する。そして、画像処理入力回路２２０は、データ処理コマンド５４４を画像処理回路（１）２３０、画像処理回路（２）２４０〜画像処理回路（Ｐ）２７０、画像処理出力回路２８０へ内部バスを介して送る。
【００４０】
また画像処理出力回路２８０は、データ取得コマンドを受け取り、その後に続くデータ処理コマンドのＲＧＢ領域から情報を抜き出し、所定のパッキングを行い、３２Byte単位のデータに変換する。そして、画像処理出力回路２８０は、レジスタ制御コマンドにて予め設定されたレジスタ値にしたがってＤＭＡＣ（Ｗｒｉｔｅ）２９０を起動して３２Byte単位の処理後のデジタル画像データをＲＡＭ１０６へ書き出す。
【００４１】
データ処理コマンド５４４は、画像処理回路（１）２３０、画像処理回路（２）２４０〜画像処理回路（Ｐ）２７０を用いて画像処理を実行するためのコマンドである。画像処理を実行する前に予め画像処理回路（１）２３０、画像処理回路（２）２４０〜画像処理回路（Ｐ）２７０には、前述のレジスタライトコマンドにより所定のレジスタ値が設定されている。データ処理コマンド５４４は、８bitのデータ処理識別情報“step”を含む。また、画像処理回路（１）２３０、画像処理回路（２）２４０〜画像処理回路（Ｐ）２７０には、処理すべきデータ処理コマンドを識別するためのデータ処理識別情報“step”が設定されている。そして、各画像処理回路は、入力されたデータ処理コマンドのデータ処理識別情報“step”が自身の同一のデータ処理識別情報と同一のデータ処理コマンドのみ画像処理を行い、それ以外のデータ処理コマンドは無視する。各画像処理回路は、データ処理コマンドの各１６bitのＲ、Ｇ、Ｂ領域の画像データを抜き出し、所定の画像処理を行い、処理結果をデータ処理コマンドの各１６bitのＲ、Ｇ、Ｂ領域に格納して内部バスを介して後段の画像処理回路に送る。各画像処理回路（１）２３０、画像処理回路（２）２４０〜画像処理回路（Ｐ）２７０が一連の画像処理を行うことで、パイプライン的に並列処理を行う。終了コマンド５４６は、ディスプレイリストの終了を示すコマンドであり、画像処理出力回路２８０は、このコマンドを受け取った後、ＣＰＵ１０２に対して終了割り込みを出力する。
【００４２】
次に、図２の（ａ）と図８Ａ、図８Ｂ、図８Ｃ、図９、図１０、図１１Ａ、図１１Ｂを用いて画像処理部１５０の動作とディスプレイリストの関係についてさらに詳しく説明する。前述の画像読み取り部１２０により読み取られた読み取り画像（デジタル画像データ）と補正データは図４および図６で説明したようにＲＡＭ１０６に格納されている。まずＣＰＵ１０２は、ＲＡＭ１０６に格納されたデジタル画像データを画像処理するために、図８Ａに示すようなディスプレイリストを作成する（Ｓ７１０）。そして、ＣＰＵ１０２は、作成したディスプレイリストを、ＲＡＭ１０６の図５に記載のディスプレイリスト格納領域ＤＰＬ（２）に書き込む（Ｓ７１２）。次にＣＰＵ１０２は、図２の（ａ）の画像処理部１５０を制御するための専用バス２０２を介して、ディスプレイリストの先頭アドレスであるDPL_STR_ADDRと連続転送量であるDPL_DMA_LENGTHとを設定する（Ｓ７１４）。さらに、ＣＰＵ１０２は、専用バス２０２を介してディスプレイリストの読み出し動作を起動するレジスタ（Ｋｉｃｋレジスタ）に“０ｘ１”を書き込む（Ｓ７１６）。なお、本明細書では、前述のようなディスプレイリストに従った画像処理を画像処理部１５０のＰＵＬＬ型動作と呼ぶこととする。その後、ＣＰＵ１０２は、画像処理出力回路２８０から画像処理の終了割り込みが入力されるまで解放される（Ｓ７１８、Ｓ７１９）。
【００４３】
画像処理入力回路２２０は、ＤＭＡＣ（Ｒｅａｄ）２１０の設定と起動を行う（Ｓ７２０，Ｓ７２２）ことにより、ダイレクトメモリアクセスによりディスプレイリストを取得する。すなわち、画像処理入力回路２２０は、ＤＭＡＣ２１０を用いてＲＡＭ１０６のDPL_STR_ADDR番地を先頭アドレスとして連続するDPL_DMA_LENGTH（例えが１KByte）分のディスプレイリストを読み出す（Ｓ７８０）。画像処理入力回路２２０は、ＤＭＡＣ２１０からの入力を受けて、読み出したディスプレイリストを画像処理入力回路２２０内のバッファ６６０に一旦記憶する。画像処理入力回路２２０はバッファ６６０に記憶されたディスプレイリストを先頭から１コマンドずつ取り出して解析する（Ｓ７２４）。そして、取り出したコマンドがレジスタ制御コマンドであり回路識別情報“ip_id”が“０”の場合、画像処理入力回路２２０は当該レジスタ制御コマンドを処理した後に後段の画像処理回路へ送出する（Ｓ７２６，Ｓ７３０）。また、取り出したコマンドがレジスタ制御コマンドであり回路識別情報“ip_id”が“０”でない場合、画像処理入力回路２２０は何も処理せずに当該レジスタ制御コマンドを後段の画像処理回路へ送出する（Ｓ７２６，Ｓ７３０）。後段の画像処理回路（１）２３０から画像処理回路（Ｐ）２７０においても、回路識別情報“ip_id”によりレジスタ制御コマンドに対応した処理（レジスタライト、レジスタリード）が行われる（Ｓ７４０）。そして、画像処理出力回路２８０も同様のレジスタ設定処理を行った後（Ｓ７５０）に、レジスタリードコマンドに記述されている、読み出されたレジスタ値のみをＤＭＡＣ（Ｗｒｉｔｅ）２９０を用いてＲＡＭ１０６へ書き込む（Ｓ７９０）。
【００４４】
図８Ａのディスプレイリスト例の５５０、５５２、５５４はレジスタライトコマンド（rw＝１）である。すなわち、画像処理入力回路２２０、画像処理回路（１）２３０〜画像処理回路（Ｐ）２７０、画像処理出力回路２８０の画像処理時のレジスタ値を設定するためのレジスタライトコマンドがディスプレイリスト冒頭に並ぶ。このレジスタライトコマンドですべての回路の所望のレジスタ設定が完了すると、データ取得コマンド５５６が画像入力回路に取り込まれる。画像処理入力回路２２０は解析したコマンドがデータ取得コマンドであった場合は、当該コマンドをそのまま後段の画像処理回路（１）へ送る（Ｓ７２８、Ｓ７３２）。また、このとき、画像処理入力回路２２０は、データ取得コマンドが記憶されていたバッファ６６０のアドレスを内部のテンポラリレジスタに退避して、ディスプレイリスト解析を一旦中断する。そして、先に設定されたレジスタ値にしたがってＤＭＡＣ（Ｒｅａｄ）２１０の設定と起動を行い（Ｓ７３２）、ダイレクトメモリアクセスにより画像データを取得する。すなわち、ＤＭＡＣ２１０は、ＲＡＭ１０６の先頭アドレスS0_IMG_STR_ADDR番地から後述する所定の連続数で所定の繰り返し回数だけデジタル画像データを読み出す（Ｓ７８２）。
【００４５】
画像処理入力回路２２０は、ＤＭＡＣ（Ｒｅａｄ）２１０からの入力を受けて、読み出したデジタル画像データを画像処理入力回路２２０のバッファ６６０に一時的に記憶する。そして、画像処理入力回路２２０は、バッファに記憶されたデジタル画像データを、先頭から所定画素数ずつ取り出して、データ処理コマンド５４４に変換して後段の画像処理回路へ送出する（Ｓ７３４）。画像処理入力回路２２０にディスプレイリストが入力されたときの図８Ａと、画像処理入力回路２２０から出力されたコマンド例である図８Ｂを比べてみると以下のことがわかる。すなわち、図８Ｂではデータ取得コマンド５７０の後にデータ処理コマンド５７２や５７４が挿入されており、これらのコマンドはメモリから読み出されたデジタル画像データ５５９がコマンドに変換されたものである。なお、図８Ｂにおいて、step＝０，１，２はそれぞれ「補正データ（ＭＡＸ）」「補正データ（ＭＩＮ）」「画像データ」を表している。また、データ処理コマンド５７４のstep＝Ｍは、補正処理には関係ない別種の画像処理のデータコマンドを表しており、Ｍとして０，１，２以外の数値が用いられる。また、図８Ｂにおいて、データ処理コマンド５７２はstep＝０，１，２，０，１，２，…の繰り返しとなっているが、補正データ（ＭＡＸ）と補正データ（ＭＩＮ）を最初に転送した後、画像データを繰り返すようにしてもよい。この場合、step＝０，１，２，２，２，２…のようになる。
【００４６】
後段の画像処理回路（１）２３０から画像処理回路（Ｐ）２７０は、先に設定されたレジスタ値に従い画像処理を行い、Ｒ，Ｇ，Ｂデータを変更して（Ｓ７４４）画像処理出力回路２８０へ送出する。画像処理出力回路２８０は、Ｒ，Ｇ，Ｂデータをデータ処理コマンドから抜き出し（Ｓ７５４）、所定の形式でパッキングする（Ｓ７５４）。そして、パッキングを完了したら、画像処理出力回路２８０は、先に設定されたレジスタ値に従いＤＭＡＣ（ｗｒｉｔｅ）２９０にレジスタ設定と起動を行う（Ｓ７５６，Ｓ７５８）。この結果、ＤＭＡＣ２９０により、画像処理後のデジタル画像データ５９８（図８Ｃ）がＲＡＭ１０６に書き込まれる（Ｓ７９２）。
【００４７】
以上のように、ディスプレイリストのデータ取得コマンドをトリガとして、ＣＰＵ１０２の介在なしに、画像処理入力回路２２０によって必要な種々のデータがＲＡＭ１０６から取得される。そして、画像処理回路によって処理され、画像処理出力回路２８０により処理結果がＲＡＭ１０６へ書き出される。なお、図１１Ａ，図１１Ｂでは記載を簡潔にするため、１つのデータ取得コマンドに対して１回のＤＭＡＣ（Ｒｅａｄ）と１回のＤＭＡＣ（Ｗｒｉｔｅ）の起動となっているが、本発明はこれに限られるものではない。例えば、画像処理入力回路２２０と画像処理出力回路２８０のレジスタ設定により、一度に取得するデジタル画像データの画素数を少なく指定することができる。このような設定によれば、１つのデータ取得コマンドに対してＤＭＡＣ２１０，２９５を複数回起動し、少量のデジタル画像データずつ、分割してデータ処理を行うことが可能である。このような場合、後述に詳細説明する画像処理入力回路２２０と画像処理出力回路２８０のバッファ容量を小さくできるという利点がある。
【００４８】
データ取得コマンドに対する種々のデータの取得が終了したら（Ｓ７３６）、中断していたディスプレイリストの解析を再開する（Ｓ７３６、Ｓ７２４）。図８Ａのディスプレイリスト例では、データ取得コマンド５５６の後に、レジスタリードコマンド５５８が続いている。これらのコマンドは、画像処理後の画像処理回路（１）２３０から（Ｐ）２７０のステイタス値を読み出すためにある。レジスタリードコマンドに対しては、画像処理出力回路２８０において、レジスタリードコマンド５９０の形式のままＲＡＭ１０６へ退避してもよいし、読み出されたレジスタ値だけ抜き出した形式のデータ５９２をＲＡＭ１０６へ退避してもよい（図８Ｃ）。ＣＰＵ１０２はＲＡＭ１０６のこれらのデータを参照して画像処理部１５０の動作状況を知ることができる。
【００４９】
図８Ａのディスプレイリスト例の最後に終了コマンド（不図示）があり、画像処理入力回路２２０はこの終了コマンドを後段の画像処理回路へ送出する（Ｓ７３９）。各画像処理回路も終了コマンドを後段に送出し（Ｓ７４９）、画像処理出力回路２８０は終了コマンドを受け取ると、ＣＰＵ１０２へ画像処理の終了割り込みを通知する（Ｓ７５９）。ＣＰＵ１０２は終了割り込みを受け付けると、本処理を終了する（Ｓ７１９）。そして、画像処理部１５０は、これまで説明したディスプレイリストに応じた一連の自律的な動作を行った後、再びＣＰＵ１０２から起動されるまで待機する。
【００５０】
１つのディスプレイリストにデータ取得コマンドが複数回、挿入されている場合、前述のデータ取得コマンドの動作をその回数分繰り返すことで複数バンド領域に対する画像処理を実現できることは言うまでもない。図１８は、本実施例によるＣＰＵ１０２の、画像処理時の処理を説明する図である。ＣＰＵ１０２は、ＲＡＭ１０６に対してディスプレイリスト（ＤＰＬ）を書き込み（Ｓ９０１）、画像処理部１５０のｋｉｃｋレジスタに起動を指示する値を書き込む（Ｓ９０２）。以降、画像処理部１５０は、ＲＡＭ１０６からＤＰＬや画像データを自立的に読み出し、画像処理を遂行する。したがって、ＣＰＵ１０２は、画像処理部１５０に起動を指示した後は、当該画像処理から解放され、ＣＰＵ１０２の処理負荷は軽減される。
【００５１】
また画像処理回路（１）２３０から画像処理回路（Ｐ）２７０の動作をまとめたものを図１２と図１７に記載すると共に、画像処理について簡単に説明する。画像処理回路では、図１１ＢのＳ７４０、Ｓ７４２、Ｓ７４４において図１２に示す処理が実行される。すなわち、画像処理回路の制御部８００１は、上段の回路よりコマンドを入力すると、当該コマンドを解析し、それがレジスタ制御コマンドかデータ処理コマンドかを判定する（Ｓ７００１，Ｓ７００２，Ｓ７００３）。レジスタ制御コマンドの場合、当該コマンドのip_idが自身のIP_IDレジスタに登録されている値と一致するかを判定し、一致していなければ、当該コマンドをそのまま下流へ送出する（Ｓ７００４、Ｓ７００７）。コマンドのip_idが自身のIP_IDレジスタに登録されている値と一致した場合は、当該コマンドのrwによりレジスタリードコマンドかレジスタライトコマンドかを判定する（Ｓ７００５）。レジスタライトコマンドであった場合はコマンドにしたがって指定されたデータを指定されたドレスへ書き込み、コマンドを下流へ送出する（Ｓ７００６、Ｓ７００７）。レジスタリードコマンドであった場合は、指定されたアドレスから読み出したデータを当該コマンドのdata領域に書き込み、下流へ送出する（Ｓ７００８，Ｓ７００９，Ｓ７００７）。
【００５２】
一方、データ処理コマンドであった場合は、当該コマンドのstepが自身のSTEP_REGと一致するかを判断し、一致しなければそのまま当該コマンドを下流へ送出する（Ｓ７０１０でＮＯ、Ｓ７００７）。一致した場合は、制御部８００１は当該コマンドのＲ，Ｇ，Ｂデータ（或いは補正データ）を演算部８００２に投入し、演算部８００２は所定のデータ処理を実行する（Ｓ７０１１）。そして、制御部８００１は、処理後のデータを当該データ処理コマンドのデータに置き換えて、下流へ送出する（Ｓ７０１２）。なお、データ取得コマンドの場合は、そのままコマンドを下流へ送出するのみなので、図示を省略している。例えば上記補正処理の場合、画像処理入力回路２２０は前述のデータ取得コマンドをトリガとして、読み取り画像と補正データを、ＤＭＡＣ（ｒｅａｄ）２１０を起動してＲＡＭ１０６から読み出す。そして、図６で説明したパッキングされた読み取り画像と補正データ（ＭＡＸ）と補正データ（ＭＩＮ）から１画素単位の画素データ（画素値）として取り出し、データ処理識別情報“step”を付加する。そして、画像処理入力回路２２０は、読み取り画像、補正データ（ＭＡＸ）、補正データ（ＭＩＮ）の順でデータ処理コマンドに変換して内部バス２２５を介して出力する。なお、図１７において、A(1)_REG、A(2)_REG、B(1)_REG等は、それぞれの演算部が演算をするときに必要となる、画像処理に固有の設定値である。
【００５３】
画像処理回路（１）２３０から画像処理回路（Ｐ）２７０のうちのいずれかにおいて、上記（式１）で示したセンサデバイスの読み取り素子の個体差の補正が行われる。また、画像処理回路（１）２３０から画像処理回路（Ｐ）２７０のうちのいずれかにおいて、入力色補正処理、空間フィルタ処理、色空間変換、濃度補正処理、及び中間調処理のような画像処理が行われる。例えば、画像処理回路（１）２３０が（式１）で示したセンサデバイスの読み取り素子の個体差の補正を行う回路であるとする。この場合、画像処理回路（１）２３０は、異なるデータ処理識別情報“step”が付加された読み取り画像と補正データ（ＭＡＸ）と補正データ（ＭＩＮ）を順番に受け取り、データ処理識別情報“step”によりデータの意味を区別して（式１）の演算を行う。そして、補正後のＲ，Ｇ，Ｂをデータ処理コマンドのＲ，Ｇ，Ｂに置き換えて後段の画像処理回路へ送る。このときデータ処理識別情報“step”を別の値に置き換えてもよい。画像処理回路の制御部８００１には、予め設定されたSTEP_REGレジスタにより、受け取るべきデータ処理コマンドが設定されている。上記補正の例では、読み取り画像と補正データ（ＭＡＸ）と補正データ（ＭＩＮ）に指定された３つのデータ処理識別情報“step”がSTEP_REGレジスタに設定されている。また画像処理後に置き換えるデータ処理識別情報“step”も同レジスタにより指定されている。
【００５４】
本実施例では、バンド処理に特化した画像処理を行うことで、空間フィルタ処理などの局所（近傍）画像処理における遅延メモリの省容量化を実現し手いる。更に、複数の画像データ、もしくは、および補正データを参照した画像データの補正処理や画像処理を実現する。このような目的を達成するために、本実施例ではデジタル画像データの座標系（主走査方向−副走査方向）とは異なるバンド領域座標系で画像処理が行なわれる。
【００５５】
図９、図１０は、本実施例の画像処理装置を用いた場合にＲＡＭ１０６から画像処理入力回路２２０に前述のディスプレイリストや画像データや補正データを入力する方法について詳細に説明している。ディスプレイリスト６０５や画像データ６００がＲＡＭ１０６に格納されている。６００は画像データの全体像であり、そのうちバンド領域６１０を抜き出し、画像処理を行う。処理対象となるバンド領域６１０は、６２０と６３０で示されるようにバンド領域座標系でバンド領域の高さＢｄｈが１６ライン（１６画素）であり、バンド領域の長さＢｄｌが８×Ｍ画素である。まず、図１０の（ａ）のＣＰＵ１０２は制御バス６８５を介してＲＡＭ１０６のディスプレイリスト６０５の先頭アドレスと連続読み出し量（３２Byte単位のデータを連続何回読み出すか）、インクリメントアドレスと繰り返し回数を設定する。図示の例では、先頭アドレスは図５のＤＰＬ（２）領域のDPL_STR_ADDRとなり、連続読み出し量はDPL_DMA_LENGTH回（３２Byte）、繰り返し数は１回である（繰り返し数が１回なのでインクリメントアドレスは、０でよい）。なお、図９では、補正データの取得に関して記載を省略したが、図１９（ａ）で示したように、補正データも画像データと同様にＲＡＭ１０６から読み出される。
【００５６】
また図１０の（ａ）のようにＤＭＡＣ２１０と画像処理入力回路２２０の間には、両モジュールからデータアクセス可能な共有バッファ６６０が存在する。そこでＣＰＵ１０２は、制御バス６８５を介してＤＭＡＣ２１０に取得データのディスプレイリストの書き込み先である、共有バッファの書き込み先頭アドレスも指示する。図示の例では、６６１に一時保存するため、DPL_BUF_STR_ADDRが書き込み先頭アドレスとして設定されるアドレスとなる。ＤＭＡＣ２１０は画像処理入力回路２２０からの指示を受け、ＲＡＭ１０６のディスプレイリスト６０５を読み出し（６５０）、共有バス６９４を介して共有バッファ６６０の領域６６１に格納する。その後、画像処理入力回路２２０はディスプレイリスト６０５の解析を実行する。
【００５７】
ディスプレイリスト６０５のレジスタ制御コマンドにより、ＲＡＭ１０６のバンド領域６１０の先頭アドレスと連続読み出し量（３２Byte単位のデータを連続何回読み出すか）、インクリメントアドレスと繰り返し回数が設定される。図示の例では、先頭アドレスは図４のS0_IMG_STR_ADDRとなり、連続読み出し量は１回（３２Byte）、インクリメントアドレスは、１ラインのデータ量である、３２Byte×Ｍとなり、繰り返し数は１６回である。またレジスタ制御コマンドにより取得するデジタル画像データの書き込み先である、共有バッファの書き込み先頭アドレスも指示する。図示の例では、共有バッファ６６０の領域６６２にデータを一時保存するため、S0_BUF_STR_ADDRが設定される。ＤＭＡＣ２１０は画像処理入力回路２２０からの指示を受け、ＲＡＭ１０６に格納されている画像データのバンド領域６３０の領域（１）６４０から領域（Ｍ）６４５のいずれかを読み出す（６５０）。そして、共有バス６９４を介して共有バッファ６６０の領域６６２に取得データを格納する。
【００５８】
画像処理入力回路２２０は、共有バッファ６６０に対して、チップセレクト信号、アドレス信号などの制御信号６７４を介してリードアクセスしリードデータ６７２を取得する。そして、１画素単位の画素データ（画素値）を選び出し、前述したデータ処理コマンドに変換して画像処理部の内部バス６７６（図２の（ａ）記載の２２５に相当）に出力する。なお、共有バッファ６６０は、図１０の（ｂ）の６６５に示すように、２つ以上のバッファ６６６と６６７で構成しても良い。前述の図１０の（ａ）の例では、ＤＭＡＣ２１０と画像処理入力回路２２０で１つのバッファを共有しているため、共有バッファ６６０への書き込みと、共有バッファ６６０からの読み出しを時分割で動作させていた。これに対して、図１０の（ｂ）の６共有バッファ６６５のような構成にすると、画像処理入力回路２２０が共有バッファ６６７から画素データの取得処理をしている間に、ＤＭＡＣ２１０は共有バッファ６６６にＲＡＭ１０６から所望のデータを転送できる。すなわち、ダブルバンク方式のバッファが構成されるため、ＤＭＡＣ２１０と画像処理入力回路２２０の処理を並列的に実行できる。なお、画像データのバンド領域６１０を画像処理するためには、領域（１）６４０から領域（Ｍ）６４５まで同様の動作をＭ回繰り返せばよい。
【００５９】
以上のようにディスプレイリストに従い、所定のレジスタ設定が行われ、ＲＡＭ１０６から共有バッファへの画像データの取得が実行される。また、あと２つの補正データに関してもＤＭＡＣ２１０に設定する繰り返し回数が１回（つまり、バンド領域の高さが１ライン）として画像データと同様の動作で順次必要なデータを取得するようにディスプレイリストを作成する。なお、上記では、１画素ラインを有するラインセンサに関して行われる１次元の補正処理を説明したが、本発明はこれに限られるものではない。例えば、上記に類似した補正処理として薄型テレビで使用される２次元表示デバイスに対する補正処理がある。２次元表示デバイスの場合、２次元に敷き詰められた表示素子の個体差が異なるため、２次元の補正データを用いて補正処理を施すことになるが、本発明が適用可能であることは明らかである。
【００６０】
（第２実施例）
実施例１と同一機能を有する構成や工程には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。
【００６１】
まず、図１９の（ｂ）、図１９の（ｃ）に示す合成処理１０２０やＩ／Ｐ変換１０３０について考える。図１９の（ｂ）は、複数のレンダリング画像を合成データ（α値）に応じて画像合成する画像処理を示している。合成対象のレンダリング画像が２枚のとき、例えば下記（式２）のような合成式を用いて各画素ごとに合成処理を施す。ここで合成データ（α値）は、レンダリング画像の画素すべてにおいて同一の場合もあれば、レンダリング画像の画素ごとに異なる２次元の合成データ（α値）の場合もある。後者のような合成データ（α値）の場合は、
（式２）  Ｘ＝Ｐ２×Ａ＋Ｐ１×（１０２４−Ａ）／１０２４
ここで、第１レンダリング画像の画素値 ：Ｐ１，第２レンダリング画像の画素値 ：Ｐ２，合成データの画素毎のα値 ：Ａ，合成後の画素値 ：Ｘ，（α値が１０bitのデジタル信号の場合）とする。なお、図１９の（ｂ）は、後者の合成処理の一例を示している。また、上記のような合成処理では、合成対象のレンダリング画像の枚数がＮの場合、処理に必要な画素データと合成データ（α値）の枚数が上述の例と異なることは言うまでもない。図１９の（ｂ）では、２枚の画像１０５１，１０５２と合成データ１０５３を用いて合成画像１０５４が生成される様子が示されている。
【００６２】
また、図１９の（ｃ）は、動画像のインターレース／プログレッシブ変換（以下、Ｉ／Ｐ変換と略称する）のように、時間軸方向に連続した複数フィールド画像を参照して適応的な空間フィルタ処理を施す処理を示す。一般的にＩ／Ｐ変換のように複数フィールド画像を参照するような画像処理では、より多くのフィールド画像を用いて適応処理した方が高品位な画像処理を施せる。しかしながら複数フィールド画像は、画像処理回路が実装される半導体チップ（ＡＳＩＣなど）と接続された安価なＤＲＡＭなどの外部メモリに記憶されていることが一般的である。したがって、Ｉ／Ｐ変換のために外部メモリから毎回複数フィールド画像を読み出し、Ｉ／Ｐ変換回路に入力する必要がある。
【００６３】
ここで、フルハイビジョン解像度のフィールド画像を３枚までＩ／Ｐ変換のために読み出せるメモリ帯域の画像処理装置を仮定する。この画像処理装置においてＮＴＳＣ（７２０×４８０ｉ）のような低解像度の動画像をＩ／Ｐ変換するのであれば、前述のフルハイビジョン解像度の動画像より多くのフィールド画像を参照して高品位なＩ／Ｐ変換ができることは明らかである。なお、図１９の（ｃ）は、３フィールド対応もしくは５フィールド対応のＩ／Ｐ変換の一例を示している。以上のようなＩ／Ｐ変換では、使用可能なメモリ帯域が一定の場合、できるだけ高品位な画像処理を行うために、解像度や参照フィールド数に応じて柔軟に画像処理方法を切り替えることが重要となる。
【００６４】
以上のような補正処理の第１実施例との違いは、図１の映像入力部１３０を介して種々のデータが入力されること、および映像表示部１６０によりディスプレイなどの表示装置に処理後のデータが出力されることである。本実施例では、画像データを画像処理する場合に必要となる複数の画像データや合成データは、第１実施例と違い、２次元のデータとなっている。また第１実施例の補正データ（ＭＡＸおよびＭＩＮ）のように副走査方向に同一のデータ値を繰り返すことはない。そのため図４のS1_IMGやS2_IMGやS3_IMGのように処理対象であるS0_IMGと同様に座標系４４０と同じ格納のし方となる。説明を簡潔にするために第２実施形でも種々の画像データおよび合成データは図６のデータフォーマットであると仮定する。
【００６５】
上記条件にあるディスプレイリストを作成することで、上記画像処理が実現される。ＣＰＵ１０２は、画像処理に必要となる種々のデータの個数をデータ取得数Ｓとして設定する。レンダリング画像２枚の合成処理のときは、必要なデータは、処理対象の画像データ１枚に合成対象の画像データと合成データ２枚の計３種のデータであり、Ｓ＝３である。また、フィールド画像３枚に対するＩ／Ｐ変換の場合は、処理対象の時間のフィールド画像に対し、過去、未来の１フィールドずつの画像データが必要となり、計３種のデータとなり、Ｓ＝３である。また、フィールド画像５枚に対するＩ／Ｐ変換の場合は、処理対象の時間のフィールド画像に対し、過去、未来の２フィールドずつの画像データが必要となり、計５種のデータとなり、Ｓ＝５である。
【００６６】
次にバンド領域の高さおよび共有バッファの読み出し先頭アドレスを算出する。前述のフォーマットにより３２Byte単位のデータが画像データの１ラインを表し、本実施例の場合、この１ラインの画像データを処理するためにその他の画像データおよび合成データも３２Byte（１ライン）となる。そこで共有バッファの容量が２５６bit（３２Byte）×ＢＬワードであり、ＢＬラインの種々のデータを保持できると仮定して以下の算出を説明する。画像データの最小転送単位は３２Byte（共有バッファの１ワード（１ライン）に相当）であり、この画像データを処理するための種々のデータの最小転送単位は３２Byte（共有バッファの１ワード（１ライン）に相当）である。つまり、画像データの最小転送単位３２Byteを処理するために、レンダリング画像２枚の合成処理のときは３２Byte×３の種々のデータが必要となる。フィールド画像３枚に対するＩ／Ｐ変換の場合も同様である。フィールド画像５枚に対するＩ／Ｐ変換のときは、３２Byte×５の種々のデータが必要となる。そこでバンド領域の高さ（ライン数）は以下の結果となる。
【００６７】
レンダリング画像２枚の合成処理
ＢＬライン／（１ライン＋２ライン）＝ＢＬ／３
フィールド画像３枚に対するＩ／Ｐ変換
ＢＬライン／（１ライン＋２ライン）＝ＢＬ／３
フィールド画像５枚に対するＩ／Ｐ変換
ＢＬライン／（１ライン＋４ライン）＝ＢＬ／５
すなわち、バッファライン数ＢＬを画像データの最小転送単位３２Byte（共有バッファの１ワード（１ライン）に相当）とそれを処理するために必要なデータの最小転送単位との合計値で除算した値がバンド領域の高さとなる。
【００６８】
共有バッファの先頭アドレスは、上記バンド領域の高さ（ライン数）ずつ等間隔に配置されたアドレスとなる。上記バンド高さの設定に従い、ディスプレイリストのレジスタ制御コマンドを生成してＲＡＭ１０６のディスプレイリスト格納領域にディスプレイリストを保存する。
【００６９】
以上のように、第１、第２実施例によれば、ＤＭＡＣの転送終了割り込みと画像処理部の画像処理終了割り込みの度にＤＭＡＣのレジスタ設定と起動と画像処理のレジスタ設定を行う処理からＣＰＵが解放される。そのため、ＣＰＵのＤＭＡＣ制御のための処理負荷が軽減される。また、遅延メモリの省容量化を実現しつつ、局所画像処理の回路規模の削減と、処理の高速化を達成できる。
【００７０】
（第３実施例）
次に第３実施例について説明する。実施例１、２と同一機能を有する構成や工程には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。図２（ｂ）は、第３実施例による画像処理部１５０の構成例を示すブロック図である。第３実施例の画像処理部１５０では、画像処理ＣＰＵ２５０と、画像処理入力回路２２０、画像処理出力回路２８０及び画像処理ＣＰＵ２５０からアクセス可能なＲＡＭ２５２及びＲＯＭ２５４が、がブリッジを介して接続されている。画像処理入力回路２２０は、図１３に記載のレジスタ群を有するコマンドレジスタがあり、画像処理入力回路２２０は画像処理ＣＰＵ２５０から専用バスを介したレジスタ設定により、レジスタ制御コマンドやデータ処理コマンドを生成する。そして、画像処理入力回路２２０の後段にある画像処理回路（１）２３０から（Ｐ）２７０に送り、画像処理ＣＰＵ２５０が所望する画像処理演算を画像処理回路（１）２３０から（Ｐ）２７０のいずれかを用いて実現することができる。これから説明する画像処理は、画像処理部１５０とは別の画像処理をしている画像処理ＣＰＵ２５０によって生成されたコマンドが画像処理部１５０の演算リソースを一時的に使用するという特徴を持つ。前述のディスプレイリストに従った画像処理部１５０の自律的な動作であるＰＵＬＬ型動作の画像処理と区別して、画像処理ＣＰＵ２５０のＰＵＳＨ型動作の画像処理と呼称する。
【００７１】
画像処理入力回路２２０のコマンドレジスタ２１００は、図１３に示すようなコマンドレジスタ群を有する。CMD_REPEATレジスタには、画像処理ＣＰＵ２５０により１回に生成されるレジスタ制御コマンドもしくはデータ処理コマンドの数が指定される。CMD_UPPERレジスタは６４bit長のコマンドの上位３２bitを表し、CMD_LOWERレジスタは下位３２bitを表し、２つを連結して１つの６４bit長のコマンドとなる。CMD_OFS_ADDRレジスタはアドレスの増分を示し、CMD_BUF_STR_ADDRはデータテーブル２１０１の先頭アドレスを示す。
【００７２】
次に、画像処理ＣＰＵ２５０の基本的な動作を図１４のフローチャートにより説明する。また、画像処理入力回路２２０によるコマンドの生成処理を図１５のフローチャートにより説明する。更に、画像処理ＣＰＵ２５０と画像処理部１５０の連係動作について図１６Ａ、図１６Ｂにより説明する。
【００７３】
まず、画像処理ＣＰＵ２５０は、図１３に示したCMD_REPEAT、CMD_UPPER、CMD_LOWER、CMD_OFS_ADDR、CMD_BUF_STR_ADDR等の各種レジスタの設定をおこなう（Ｓ７１０１、Ｓ７３０１）。また、このとき、必要であればコマンド生成に使用するデータテーブルの設定を行う（Ｓ７１０２）。データテーブルには、レジスタライトコマンドに対応したデータ値やデータ処理コマンドの処理対象データが保持される。その後、画像処理ＣＰＵ２５０がCMD_ORDERレジスタに“０ｘ１”を書き込むと（Ｓ７１０３，Ｓ７３０２）、画像処理入力回路２２０（“PushCMD Order”シーケンサ）が動作する。そして、画像処理入力回路２２０は、CMD_REPEATレジスタにおいて指定された回数分、所望のコマンドを生成し、後段の画像処理回路（１）２３０から（Ｐ）２７０へ出力する（Ｓ７３２０、Ｓ７３２２）。コマンド生成完了時には、画像処理入力回路２２０は終了コマンドを自動的に生成して、後段の画像処理回路（１）２３０へ送出する（Ｓ７３２４）。Ｓ７４００〜Ｓ７４２４の処理は上記Ｓ７３０１〜Ｓ７３２４と同様である。但し、Ｓ７４２０ではデータ処理コマンドが生成され、画像処理回路へ送出される。
【００７４】
画像処理回路（１）２３０から画像処理回路（Ｐ）２７０はオペコード“opcode”、回路識別情報“ip_id”、データ処理識別情報“step”に基づき、必要な処理を行い、後段に送出する（Ｓ７３４０、Ｓ７３４４、Ｓ７４４０、Ｓ７４４４）。画像処理回路の動作は第１実施例で説明したとおりである。そして、画像処理出力回路２８０は、コマンドがレジスタ制御コマンドのリードコマンドであれば、レジスタリード値を画像処理ＣＰＵ２５０からアクセスできるＲＡＭ１０６（メインメモリ）やＲＡＭ２５２へ格納する（Ｓ７３６０）。また画像処理出力回路２８０は、コマンドがデータ処理コマンドであれば、画像処理済みのデータを画像処理ＣＰＵ２５０からアクセスできるＲＡＭ２５２へ格納する（Ｓ７４６０）。或いは、ＤＭＡＣ２９０を用いてＲＡＭ１０６（メインメモリ）に画像処理済みのデータを格納するようにしてもよい。また画像処理出力回路２８０は、コマンドが終了コマンドの場合、画像処理ＣＰＵ２５０へ終了割り込みを通知する（Ｓ７３５４，Ｓ７４６４）。
【００７５】
通常、図１６Ａ，図１６Ｂの処理７３００のように、所望の画像処理に必要な画像処理回路（１）２３０から画像処理回路（Ｐ）２７０にいずれかにレジスタ制御コマンドを送出してレジスタ設定を行う。そして次に、処理７４００のように所望の画像処理に必要な画像処理回路（１）２３０から画像処理回路（Ｐ）２７０のいずれかにデータ処理コマンドを送出して画像処理を実行する。画像処理回路（１）２３０から画像処理回路（Ｐ）２７０はパイプライン回路であり、生成するデータ処理コマンド数が多い場合は画像処理ＣＰＵ２５０で行うより、処理性能が高い。画像処理ＣＰＵ２５０は画像処理出力回路２８０によってＲＡＭ２５２に格納された演算結果を使用してソフトウェア実装された適応処理を行う。
【００７６】
図１５に、第３実施例の画像処理入力回路２２０によるコマンドの生成のし方の詳細をフローチャートで示す。CMD_UPPERレジスタの上位８bitは“opcode”を示すため、画像処理ＣＰＵ２５０がどの種類のコマンドを生成したいのかを画像処理入力回路２２０は判別できる（Ｓ７２０３，Ｓ７２０４）。所望のコマンドがレジスタ制御コマンドの場合、処理はＳ７２０５に進む。Ｓ７２０５において、さらに当該コマンドがレジスタライトコマンドの場合は、CMD_UPPERレジスタの下位１６bitの“address”にCMD_OFS_ADDRレジスタで指定するアドレスを加算してコマンドの上位３２bitとする。また、下位３２bitはデータ領域であるため、予め設定されたデータテーブルからデータを取得して下位３２bitとする。そして、上位３２bitと下位３２bitを連結してレジスタ制御コマンド（レジスタライトコマンド）とする。一方、Ｓ７２０５において当該コマンドがレジスタリードコマンドの場合は、下位３２bitを0x0に固定する。また所望のコマンドがデータ処理コマンドの場合（Ｓ７２０６）、上位３２bitと下位３２bitを連結し、Ｒ，Ｇ，Ｂにデータテーブル２１０１からデータを取得して置き換えて、データ処理コマンドとする。その他のコマンドのときはCMD_UPPERレジスタとCMD_LOWERレジスタを連結してコマンドとする（Ｓ７２０７）。以上のようにして生成されたコマンドは、下位の画像処理回路へ出力される（Ｓ７２０８）。以上の処理は、CMD_REPEATに登録されている回数だけ、繰り返される（Ｓ７２０１，Ｓ７２０２，Ｓ７２０９）。また前述のデータテーブルからのデータ取得は必ず必要というわけではなく、レジスタ制御コマンドがレジスタリードコマンドの場合は、データ領域はどのような値でもよく、データテーブルを使う必要はない。そのためデータテーブルからのデータ取得は別途レジスタを設けて有効と無効を切り替えられるようにしてもよい。
【００７７】
また画像処理回路（１）２３０から画像処理回路（Ｐ）２７０は、前述のデータ処理識別情報“step”を判別して画像処理を実行する。そのため、ＰＵＬＬ型画像処理の最中にＰＵＳＨ型の画像処理を実行できることは言うまでもない。すなわち、前述のディスプレイリストによるＰＵＬＬ型の画像処理と画像処理ＣＰＵ２５０によるＰＵＳＨ型画像処理で画像処理回路（１）２３０から画像処理回路（Ｐ）２７０を互いに排他的に使用するようにデータ処理識別情報“step”を設定すればよい。
【００７８】
以上のように、第３実施例によれば、画像処理出力回路が画像処理ＣＰＵとの共有メモリへ演算結果を出力し、画像処理ＣＰＵはその演算結果を利用することで、ＣＰＵの処理性能を向上できる。このように、画像処理ＣＰＵが画像処理部の演算リソースを部分的に使用することができるので、ＣＰＵの動作周波数（消費電力）あたりの処理性能を向上させることができる。
【００７９】
また、バンド領域の長さ方向を画像データの副走査方向に合わせて設定することもできる。すなわち、図４の画像データフォーマットの３２Byte単位に含まれる画素のデータ５２０を主走査方向に１画素、副走査方向に８画素と設定しても本発明を適用できる。
【００８０】
また、前述の各実施例の処理は、複数のハードウェアとソフトウエアの協同によって実現するようにしてもよい。また、本発明は前述した実施例の機能をコンピュータに実現させるプログラムを記憶した記憶媒体を、システム或いは装置に供給することによって実現してもよい。
【図１】
2014112396.tif 000003
【図２】
2014112396.tif 000004
【図３】
2014112396.tif 000005
【図４】
2014112396.tif 000006
【図５】
2014112396.tif 000007
【図６】
2014112396.tif 000008
【図７】
2014112396.tif 000009
【図８Ａ】
2014112396.tif 000010
【図８Ｂ】
2014112396.tif 000011
【図８Ｃ】
2014112396.tif 000012
【図９】
2014112396.tif 000013
【図１０】
2014112396.tif 000014
【図１１Ａ】
2014112396.tif 000015
【図１１Ｂ】
2014112396.tif 000016
【図１２】
2014112396.tif 000017
【図１３】
2014112396.tif 000018
【図１４】
2014112396.tif 000019
【図１５】
2014112396.tif 000020
【図１６Ａ】
2014112396.tif 000021
【図１６Ｂ】
2014112396.tif 000022
【図１７】
2014112396.tif 000023
【図１８】
2014112396.tif 000024
【図１９】
2014112396.tif 000025