(57)【要約】【課題】連続的なデータストリームを処理するためのパラメータを有効に高速メモリに蓄えて利用するデータストリーム処理装置を提供する。【解決手段】連続的なデータストリームを順次処理する処理手段（処理部５）と、データストリームを処理するためのパラメータが記憶され処理手段の処理する個々のデータに応じてランダムにアクセスされる記憶手段とを備え、記憶手段には、処理手段が現在処理しているデータストリームを処理するための現パラメータと、次のデータストリームを処理するための次パラメータとが順次切り替えて記憶される少なくとも２つの記憶領域（メモリ３Ａ、３Ｂ）が設けられる。【選択図】図１
2009237677.tif 000002
【特許請求の範囲】
【請求項１】
連続的なデータストリームを順次処理する処理手段と、
上記データストリームを処理するためのパラメータが記憶され上記処理手段の処理する個々のデータに応じてランダムにアクセスされる記憶手段と
を備え、
上記記憶手段には、上記処理手段が現在処理しているデータストリームを処理するための現パラメータと、次のデータストリームを処理するための次パラメータとが、順次切り替えて記憶される少なくとも２つの記憶領域が設けられる
ことを特徴とするデータストリーム処理装置。
【請求項２】
前記少なくとも２つの記憶領域のうち前記現パラメータが記憶されている記憶領域を参照して前記処理手段が前記データストリームを処理している間に、他の記憶領域に前記次パラメータが格納されることを特徴とする請求項１記載のデータストリーム処理装置。
【請求項３】
前記少なくとも２つの記憶領域は、一方が書き込み処理中は他方が読み出し処理中となることを特徴とする請求項１または２記載のデータストリーム処理装置。
【請求項４】
前記処理手段は前記連続的なデータストリームに対する複数の処理をパイプライン処理する構成であり、
前記記憶手段には、上記複数の処理のそれぞれに対して少なくとも２つの記憶領域が設けられた
ことを特徴とする請求項１から３のいずれか１項に記載のデータストリーム処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は連続的なデータストリームを順次処理する処理装置に関する。特に、データストリームの個々のデータをそのデータ値に対応するパラメータを用いて処理する装置に関する。
【背景技術】
【０００２】
連続的なデータストリームをパラメータに従って高速に処理するためには、通常、パラメータデータを大容量のメモリに記憶しておき、個々のデータごとにメモリから必要なパラメータを読み出しながら処理する。例えば画像データであれば、各ラインごとにライン特有のライン補正を行う１次元Ｌｕｔ（Ｌｏｏｋ  ｕｐ  Ｔａｂｌｅ）処理や、異なる色空間間で色彩値データを変換する３次元Ｌｕｔ処理では、それぞれに対応したルックアップテーブルがパラメータとして必要となり、閾値との比較を行うスクリーン処理では、閾値データがパラメータとして必要となる。
【０００３】
一方、画素データの処理分野では、出力装置などの進化と大画面化・高解像度化などにより、処理対象画素数が大幅に増加しており、それに伴い、１画素を処理する時間が大幅に短くなっている。その結果、画素を処理するにあたりメモリに逐次アクセスするのでは、処理時間が間に合わない状況になってきている。例えば、２００ＭＨｚで動作するＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）において、２００ＭＨｚごとに処理が終了した画素データが出力される必要がある。ＡＳＩＣやＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのハードウェアでは、複数の処理がパイプラインで実行されるので、各処理は２００ＭＨｚで動作すればよい。しかし、処理中にメモリ参照が必要になると、このメモリ参照も２００ＭＨｚのサイクルタイムで行う必要がある。このサイクルタイムは、メモリ参照としてはかなりの高速動作である。特に、ランダムアクセスが要求されるＬｕｔ処理を実行するような場合には、このような高速動作を汎用の大容量メモリで実現することはかなり困難である。
【０００４】
高速ランダムアクセスを実現するためは、ＡＳＩＣに内蔵された高速デバイス中の高速メモリにデータを格納して処理することが考えられる。しかし、このような高速デバイス中の高速メモリはコストが非常に高くなるので、大画面を処理するにあたって十分なメモリを確保できないか、あるいは確保できたとしても非常に高価なものとなってしまう。
【０００５】
高速ランダムアクセスを実現するひとつの方法として、使用頻度が高いデータは高速メモリに読み込んで処理する方法がある（特許文献１、２参照）。キャッシュ動作も類似の方法である。これらの方法では、高速メモリに必要なデータが存在しない場合に、そのデータを高速メモリに読み込むことが一般的である。また、処理にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を前提とするものでは、必要な命令を予測してあらかじめ読み込むという方法もある。。
【特許文献１】特開平１１−３３２４号公報
【特許文献２】特開２００３−１３２３４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、使用頻度の高いデータを高速メモリに書き込んで処理する方法では、高速メモリに必要な命令・データが必ず存在するという保証はないので、データ・命令が存在しない場合の制御を考慮する必要がある。データが存在しない場合に必要なデータを読み込むのでは、必要なデータの読み込みが完了するまで、処理の流れが止まってしまうことになる。また、データ・命令が存在しない場合の制御を考慮する場合も同様な問題が発生するほか、存在しない場合のデータフローを考慮する必要があるので、制御が複雑になる。
【０００７】
例えば、特許文献１に記載の技術では、システムバスに対して、内部メモリと外部メモリとにデータを読み込み、高速処理を実現するために内部メモリをベースに処理を行う。しかし、内部メモリに必要なデータが無ければ、必然的に、内部メモリと外部メモリのデータの交換が発生する。データの交換時においては、処理が停止するおそれがある。また、データ交換の制御が複雑になってしまう。
【０００８】
引用文献２に記載の技術では、内蔵メモリにアクセス頻度の高いデータが格納される。内蔵メモリのデータが不要になると、置換命令が発せられて、外部メモリのデータとデータ置換を行う。この技術は、高速化は可能であるが、データストリームを処理するにあたって、内部メモリに必要なデータが存在することは保証されていない。内蔵メモリにデータがない場合は、データ置換処理が発生するので、データ置換が終了するまでデータ処理が待たされることになる。
【０００９】
本発明は、このような課題を解決し、連続的なデータストリームを処理するためのパラメータを有効に高速メモリに蓄えて利用するデータストリーム処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のデータストリーム処理装置は、連続的なデータストリームを順次処理する処理手段と、データストリームを処理するためのパラメータが記憶され処理手段の処理する個々のデータに応じてランダムにアクセスされる記憶手段とを備え、記憶手段には、処理手段が現在処理しているデータストリームを処理するための現パラメータと、次のデータストリームを処理するための次パラメータとが、順次切り替えて記憶される少なくとも２つの記憶領域が設けられることを特徴とする。
【００１１】
少なくとも２つの記憶領域のうち現パラメータが記憶されている記憶領域を参照して処理手段がデータストリームを処理している間に、他の記憶領域に次パラメータが格納されることが望ましい。少なくとも２つの記憶領域は、一方が書き込み処理中は他方が読み出し処理中となることが望ましい。
【００１２】
処理手段は連続的なデータストリームに対する複数の処理をパイプライン処理する構成であり、記憶手段には、複数の処理のそれぞれに対して少なくとも２つの記憶領域が設けられることが望ましい。
【発明を実施するための最良の形態】
【００１３】
［実施の形態の構成例］
図１は本発明の実施の形態を示すブロック構成図であり、外部メモリ１からデータストリームを取り込んで処理するデータストリーム処理装置２の構成例を示す。データストリーム処理装置２は、連続的なデータストリームを順次処理する処理手段としての処理部５と、データストリームを処理するためのパラメータが記憶され処理部５の処理する個々のデータに応じてランダムにアクセスされる記憶手段としてのメモリ３Ａ、３Ｂおよびメモリ制御部４とを備える。記憶手段には、処理部５が現在処理しているデータストリームを処理するための現パラメータと、次のデータストリームを処理するための次パラメータとが順次切り替えて記憶される少なくとも２つの記憶領域として、メモリ３Ａおよび３Ｂが設けられる。メモリ３Ａおよび３Ｂへのパラメータの記憶、処理部５への読み出し、およびこれらの切り替えはメモリ制御部４の制御により行われる。データストリーム処理装置２はＡＳＩＣあるいはＦＰＧＡにより構成される。
【００１４】
本実施の形態では、基本的に、必要なデータのみを高速デバイスであるデータストリーム処理装置２のメモリ３Ａ、３Ｂに読み込みながら処理を実施する。一般に、高速デバイスもかなりの量の内蔵メモリを保持している。必要なパラメータをすべて高速内蔵メモリに格納することはできないが、処理に必要な部分の容量のメモリに、使用する必要な部分のデータを格納して処理を実現することは可能である。すなわち、高速内蔵メモリへのデータ格納に際し、パラメータデータを格納する領域（メモリ３Ａ、３Ｂ）を２つ以上設け、ある時間に注目した場合に、処理に使用しているデータ格納領域と、外部データを読み込むデータ格納領域を別々に動作するようにすることによって、データ読み込みを考慮せずに処理動作を行うことが可能である。
【００１５】
一方、データストリームについては、外部メモリ１からのデータ転送においても、バッファを設定することによって、ＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）メモリなどのバーストモードにてデータを高速転送して処理することができる。
【００１６】
基本的に、処理部５は、データとパラメータを並行して読み込み、データ処理を実施する。パラメータについて、現在処理している領域に関してはメモリ３Ａのパラメータデータを使用し、外部からはメモリ３Ｂに読み込む。次の領域では、メモリ３Ｂからのパラメータデータを使用し、外部からはメモリ３Ａにパラメータデータを読み込む。処理対象のデータストリームは連続的なデータであり、データ制御は非常に簡単であってランダムアクセスの必要はないので、パラメータデータのみをメモリ３Ａ、３Ｂに格納する。したがって、パラメータ格納分の２倍の内蔵メモリ量だけで高速処理が実現可能である。
【００１７】
［パラメータを含む画像処理の例］
データストリームがパラメータデータを含む連続的な画像データである場合の処理を例に説明する。
【００１８】
この場合、外部メモリ１にはパラメータデータを含む画像データが記憶される。データストリーム処理装置２は、外部メモリ１から画像データとパラメータデータを受け取り、パラメータデータに基づいて、画像データ処理を実施する。パラメータデータは、画像処理に必要な分だけをデータストリーム処理装置２のメモリ３Ａまたは３Ｂに格納して処理を実行する。すなわち、ある単位の塊の領域を処理するためのパラメータとして、一度取り込んだパラメータをメモリ３Ａまたは３Ｂに保存しておき、複数画素に対して、取り込んだパラメータを用いて処理を実施する。処理済みのデータは、印刷装置あるいはディスプレイ等の次の処理デバイスあるいは出力デバイスに出力する。デバイスに直接出力せず、外部メモリ１にデータを書き戻し、外部メモリ１から他のデバイスにデータを出力することもできる。
【００１９】
また、連続画像データを処理する場合は、外部から外部メモリ１に対して画像データが入力されるような構造とする。これにより、連続する画像データを処理することが可能である。
【００２０】
［メモリの処理方法］
図２はメモリ３Ａ、３Ｂの使用方法を説明する図であり、（ａ）はあるタイミングにおけるメモリ動作、（ｂ）は別なタイミングにおけるメモリ動作を示す。データストリーム処理装置２内において、パラメータ用のメモリは２つ、すなわちメモリ３Ａ、３Ｂに分散されている。一方は、外部からパラメータをデータ入力して保存するＲＡＭ（図２（ａ）ではメモリ３Ａ、図２（ｂ）ではメモリ３Ｂ）、他方は画像データの処理に用いるための読み出しメモリ（図２（ａ）ではメモリ３Ｂ、図２（ｂ）ではメモリ３Ａ）である。２つのメモリ３Ａ、３Ｂは、領域ごとに動作が交代する。動作の交代であるパラメータデータ入力と読み出しの切り替えは、図１に示したメモリ制御部４により行う。例えば、画像データの１ラスタラインごとに使用パラメータが変化する場合は、１ラインごとにＲＡＭの動作が入れ替わる。
【００２１】
[メモリを参照する処理の例]
図３は処理部５によるメモリ参照例を示すフローチャートであり、メモリ参照がＬｕｔ参照の場合の例を示す。各ラインごとにライン特有のライン補正を実施するための１次元Ｌｕｔ参照を行うことを想定する。このライン補正テーブルが、パラメータとしてメモリ３Ａ、３Ｂに保存される。処理部５は、画像データストリームにより画素値が入力されると（ステップＳ１）、Ｌｕｔ参照するアドレスを決定して（ステップＳ２）、メモリ３Ａまたは３Ｂ（図3では参照番号「３」を省略して示す）にアクセスしてメモリ参照を行う（ステップＳ３）。この処理を実施するために、処理部５内に、メモリを含めた形でＬｕｔ参照回路ブロックを構成することができる。Ｌｕｔ参照に必要なパラメータ数は、入力データが８ｂｉｔデータの場合、８ｂｉｔ表現される２５６個となる。ＲＧＢ（赤、緑および青）の3色カラーを処理する場合、２５６×３個のパラメータが必要となる。
【００２２】
図４は処理部５によるメモリ参照の別の例を示すフローチャートであり、メモリ参照がスクリーン処理の場合の例を示す。この場合は、画像データストリームとして画素の位置が入力され（ステップＳ１１）、その画素の位置からメモリ参照するアドレスを決定して（ステップＳ１２）、メモリ参照を行う（ステップＳ１３、図４においても、メモリの参照番号「３」を省略する）。メモリ参照により得られた値（閾値）と画素データを閾値比較して（ステップＳ１４）、その結果（スクリーン処理結果）を出力する（ステップＳ１６）。
【００２３】
図５は図４の処理で想定しているスクリーン処理のスクリーンの概念と処理方向を説明する図である。基本的に画像データに画像サイズよりも小さいスクリーンを格子状に並べて、繰り返してスクリーン処理を用いることを考えている。ここでは、画像処理方向（ｘ方向）を主走査とするラスタスキャンで処理することを前提としており、ｘ方向に５、ｙ方向に４のスクリーンにて画像全体をカバーできる。例えば、スクリーンサイズが３２×３２の場合、ｘ方向は３２×５＝１６０の画素、ｙ方向は３２×４＝１２８の画像を処理対象としている。スクリーンに注目して特定ラインに関して考えると、画像処理方向（図ではｘ方向）処理に必要なｌライン分のスクリーンの閾値だけがメモリ３Ａまたは３Ｂに存在すればよい。さらに、格子状に繰り返し同じ閾値を用いるとなると、各ラインともにスクリーンサイズ（例えば３２）の閾値のみをメモリ３Ａまたは３Ｂにもち、画像データ位置を用いて、処理部５で繰り返し閾値をメモリ３Ａまたは３Ｂから読み出すようにすればよい。この場合、各ラインごとに必要なパラメータ数は、1個のスクリーンサイズ分である。
【００２４】
例えばメモリ３Ｂを用いてデータ処理しているとすると、その間に、データストリームで入力されたパラメータデータは、メモリ３Ａに入力される。そして、次のラインの処理では、メモリ３Ａとメモリ３Ｂの動作条件が入れ替わり、処理部５は途切れることなく連続して処理を続行できる。
【００２５】
図６は図３および図４の２つの処理をパイプライン的に実現する場合のフローチャートを示す。ここでは、図３の処理と同様にＬｕｔ参照（ステップＳ２１からＳ２３）した後に、なんらかの処理αを実施して（ステップＳ２４）から、図４の処理と同様のスクリーン処理を行う（ステップＳ２５〜Ｓ２９）。ここで、メモリ３Ａ、３ＢをそれぞれメモリＡ１、Ａ２、メモリＢ１、Ｂ２に分割し、メモリＡ１、Ｂ１はＬｕｔ参照に、メモリＡ２、Ｂ２はスクリーン処理に用いるものとする。
【００２６】
メモリＡ１、Ａ２に対してパラメータ入力するには、別々にデータ入力を行ってもよいが、メモリＡ１、Ａ２に入力するパラメータデータ（Ｌｕｔデータおよびスクリーンデータ）をシーケンシャルに並べて、データ力ストリームの負荷を分散することもできる。
［外部メモリからのデータの読み込み］
【００２７】
パラメータデータと画像データを外部メモリ１から同時に読み込む場合、メモリデータ帯域が問題になる場合がある。複数のパラメータを外部メモリ１から一度に読み出そうとすると、パラメータデータを読み出すタイミングにおいて外部メモリ１へのデータアクセスが集中して、画像データの転送が遅くなる場合もある。そこで、パラメータデータの読み出しを集中して行うのではなく、時系列で順番に行うことによって、外部メモリ１ヘのアクセスを分散させることができる。パラメータデータは、１ラインを処理する間に、次の１ラインを処理するために必要なパラメータがすべて読み込まれればよい。例えば、解像度３６０ｂｐｉのＡ４の画像を短長方向を主走査として処理する場合、約３０００画素もの画素を処理する必要がある。したがって、パラメータ入力を画素と同数行うように分散した場合、約３０００個のパラメータデータを入力することが可能である。図３に示した処理の場合、ＲＧＢ３色分のデータを用いても、Ｌｕｔ２５６×３＝７５６であるので、スクリーンサイズを２０００程度にすることまで対応可能である。処理部３は大量の画素データをストリームとして処理することを前提としているので、時系列にシーケンシャルにパラメータを入力する方法は有効である。
【００２８】
［その他の実施の形態］
図３ないし図６の説明では１ラインごとにデータを入れ替えるものとしたが、数ラインに同じパラメータを用いて処理することもありうる。この場合、パラメータを入れ替える必要がある単位を１ラインズブロックとすると、ブロックごとにメモリ３Ａ、３Ｂの切り替えを行うようにすればよい。
【００２９】
また、１ラインと１ラインズブロックの２つのパラメータを必要とする場合には、例えば、ラインパラメータとラインズブロックのパラメータとをシーケンシャルにして、メモリ３Ａ、３Ｂに書き込んでもよい。
【００３０】
図７は、１ラインズブロックパラメータ量が多く、１ラインのデータ処理中にメモリ書き込みできない場合において、メモリデータを分割して書き込みデータとする例を示す。１ラインズブロックデータを分割し、各ラインのラインパラメータにシーケンシャルに接続して、データを書き込む。例えば、3次元Ｌｕｔ参照が複数ラインごとに切り替わる場合に適用できる。3次元色空間テーブルは、例えば赤、緑および青の各色彩値で表されるＲＧＢデータを機器依存性のないＬ＊ａ＊ｂ＊空間の色彩値データ、あるいは印刷用の色空間であるＣＭＹ(シアン、マゼンタ、イエロー)空間の色彩値データに変換するために利用される。この３次元色空間テーブルがパラメータとしてメモリ３Ａ、３Ｂに保存される。3次元Ｌｕｔ参照に必要なパラメータ数は、３次元Ｌｕｔのグリッド数が１７の場合、１７の３乗個である４９１３個ものパラメータが必要である。先ほどと同様、Ａ４で３６０ｄｐｉの画像を対象とすることを考えると、パラメータ入力を画素と同数行うように分散した場合、少なくとも２ラインを１ラインズブロックとして取り扱うことで対応が可能になる。
【００３１】
また、１ラインのデータ処理中に必ずパラメータデータを送り込む必要がなく、複数ブロックの処理中にパラメータデータをメモリ３Ａ、３Ｂに書き込むことが許容されている場合は、パラメータデータを分割することによって、パラメータストリームの負荷を分散することができる。結果として画像データのメモリ読み出しなどの影響を最小限に抑えることができ、処理系に影響がない範囲にて処理を継続できる。
【００３２】
外部メモリ１としてＤＤＲなどのＤＲＡＭメモリを用いている場合、メモリに連続して配置されているデータとパラメータを連続して読み込むことによって、メモリデータ読み出しに関するオーバヘッドをなくすことが可能である。データストリーム処理装置２内に外部メモリ１からのシーケンシャルデータを受け取るためのバッファを設けることで、メモリからの連続データを受けることが可能である。すなわち、いくつかの塊ごとにデータを読み出し、それをデータストリーム処理装置２で受信し、処理部５にデータストリームとして供給する。
【００３３】
以上説明したように、本発明では、連続データストリームを前提としている。この連続データストリームは画像データと次の領域にて用いるパラメータデータとにより構成され、連続するデータストリームを読み込むにあたって、パラメータデータは内蔵のメモリ３Ａ、３Ｂに読み込む。処理部５では、１つ前以上にメモリ３Ａまたは３Ｂに読み込み済みのパラメータを用いて、連続する画像データのストリームを処理する。この構成により、連続ストリームに対して、データ入力を途切れることなく連続処理することが可能である。また、必要なパラメータのみをメモリ３Ａ、３Ｂに収めて処理するので、メモリ３Ａ、３Ｂの制御が非常に容易である。画像データは内蔵メモリに格納する必要がなく、連続データとして入力されてきたものを処理すればよいので、必要なパラメータのみのメモリ領域を面数分のみ用意すれば充分であり、使用内蔵メモリ量を非常に少なくできる。
【００３４】
データストリーム処理装置５内のメモリ、すなわちメモリ３Ａ、３Ｂは、パラメータを格納するために必要な容量の少なくとも２面分以上あればよく、連続データストリームをパラメータを読み込む領域（例えばメモリ３Ａ）と、画像データに対して処理に用いるパラメータ領域（同メモリ３Ｂ）は別の面で、ある領域の画像データを処理している間は、それぞれ書き込み、読み込みの一方のみを行う。メモリ３Ａ、３Ｂとしては、画像処理データの連続ストリームの入出力と同じサイクルタイムで動作するものを用いることができ、メモリコストを下げることができる。また、メモリ３Ａ、３Ｂの制御も非常に単純である。
【００３５】
処理部５は、データストリームに対して、パイプライン処理でデータ処理を行うこともできる。ハードウェアにより処理することを前提とすることによって、データストリーム処理装置２の各部はデータストリームと同じサイクルタイムで動作すればよい。メモリ３Ａ、３Ｂも共通の動作でよいので、データストリーム処理装置２の設計が簡易になる。
【００３６】
処理部５が複数の処理をパイプライン処理により実行し、それぞれの処理に使用するパラメータが異なる場合には、各パラメータ用のメモリ領域に順番にパラメータデータを入力することが望ましい。別々に用いるパラメータをシーケンシャルに入力することによって、並列にパラメータを入力する場合と比較して、データ入力ストリームの負荷分散を実現できる。負荷分散されることによって、画像データがパラメータ入力によって妨げられることが少なくなり、全体として処理のスループットが低下する危険を非常に小さくできる。
【００３７】
複数列の処理にまたがって同一パラメータを使用する場合には、分散した列と並行してパラメータ入力を行うことができる。これによって、大きなサイズのパラメータに対応することが可能である。また、複数列に同一パラメータを使用する場合、分散した列と並行してパラメータ入力を行うことによって、パラメータ入力をデータ入力と比較して非常に少なくすることが可能であり、パラメータ入力に伴うオーバヘッドを大幅に少なくできる。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態を示すブロック構成図であり、外部メモリからデータストリームを取り込んで処理するデータストリーム処理装置の構成例を示す。
【図２】メモリの使用方法を説明する図であり、（ａ）はあるタイミングにおけるメモリ動作、（ｂ）は別なタイミングにおけるメモリ動作を示す。
【図３】処理部によるメモリ参照例を示すフローチャートであり、メモリ参照がＬｕｔ参照の場合の例を示す。
【図４】処理部によるメモリ参照の別の例を示すフローチャートであり、メモリ参照がスクリーン処理の場合の例を示す。
【図５】スクリーン処理におけるスクリーンの概念と処理方向を説明する図である。
【図６】２つの処理をパイプライン的に実現する場合のフローチャートである。
【図７】メモリデータを分割して書き込みデータとする例を示す図である。
【符号の説明】
【００３９】
１  外部メモリ
２  データストリーム処理装置
３Ａ、３Ｂ  メモリ（記憶手段）
４  メモリ制御部（記憶手段）
５  処理部（処理手段）
【図１】
2009237677.tif 000003
【図２】
2009237677.tif 000004
【図３】
2009237677.tif 000005
【図４】
2009237677.tif 000006
【図５】
2009237677.tif 000007
【図６】
2009237677.tif 000008
【図７】
2009237677.tif 000009