(57)【特許請求の範囲】
【請求項１】
操作者の意思を表現した信号を入力する意思データ入力手段（１）と、
複数のアプリケーションプログラム（３）から、サービス開始要求データを受信したことを記憶するアプリケーション管理手段（２ｂ）と、
前記意思データとジョブ識別コードとパラメータ情報を対応付け、ジョブ識別コードに対応するパラメータ情報を記憶するジョブ認識辞書（２ｄ）と、
前記意思データ入力手段（１）から受領した前記意思データに基づいて前記ジョブ認識辞書（２ｄ）を参照し、ジョブ識別コードを特定し、
該ジョブ識別コードに対応するパラメータ情報に基づきパラメータデータを入力し、
前記パラメータ情報に従って前記意思データ入力手段（１）から意思データを受領し、前記ジョブ識別コードと前記パラメータデータを出力するジョブ認識手段（２ｃ）と、
該ジョブ認識手段（２ｃ）が出力した前記ジョブ識別コードおよび前記パラメータデータを、対応して前記アプリケーション管理手段（２ｂ）に記憶されているアプリケーションプログラム（３）に通知する通知手段（２ｅ）と、
を備えることを特徴とするジョブ処理プログラム。
【請求項２】
前記意思データ入力手段（１）は、外部入力デバイスからコード化されたデータを入力することを特徴とする請求項１に記載のジョブ処理プログラム。
【請求項３】
前記アプリケーション管理手段（２ｂ）は、アプリケーション識別情報と、アプリケーションプログラム（３）の呼出ルーチンのアドレスを記憶し、
前記通知手段（２ｅ）は、前記ジョブ識別コードをパラメータとして前記呼出ルーチンを呼び出すことを特徴とする請求項１に記載のジョブ処理プログラム。
【請求項４】
前記アプリケーション管理手段（２ｂ）は、ＯＳが管理するアプリケーションハンドル情報を記憶し、
前記通知手段（２ｅ）は、前記ハンドル情報に基づいて前記アプリケーションプログラム（３）にメッセージ送信して前記ジョブ識別コードを通知することを特徴とする請求項１に記載のジョブ処理プログラム。
【請求項５】
操作者が前記ジョブ認識辞書（２ｄ）を編集する編集手段を更に備えることを特徴とする請求項１に記載のジョブ処理プログラム。
【請求項６】
操作者が編集したジョブ認識辞書データを、前記ジョブ認識辞書（２ｄ）に再登録可能に出力する出力手段を更に備えることを特徴とする請求項５に記載のジョブ処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声その他の身体動作でコンピュータの操作及びデータ入力を行う方法に関する。
【０００２】
【従来の技術】
パーソナルコンピュータの処理能力の向上により、音声入力が実用レベルで普及して来ている。
【０００３】
ワープロソフトにおいては、キーボードを用いずにしゃべるだけで文章データ入力が可能になって来ている。しゃべった内容は、逐次文字データに変換され、文章データとしてワープロソフトが記憶していくようになっている。
【０００４】
特定業務のアプリケーションにおいては、定型的なデータ入力のために、音声ガイダンスを発してデータ入力（音声入力）を促す、という逐次入力方式を用いることもできる。例えば、「年齢はいくつですか？」という音声ガイダンスに対して、「にじゅうはち」と年齢をしゃべることでデータ入力が可能になっている。
【０００５】
これらの利用形態では、キーボードの代替デバイスとして音声入力デバイスを用いるものであるため、データを入力するという処理そのものについては、旨く機能する。
【０００６】
【発明が解決しようとする課題】
しかしながら、音声によりコンピュータを操作させる、ということは考慮されていない。そのため、音声によりコンピュータを操作する効果は、キーボード配列を覚えなくてもデータ入力できるという点に留り、キーボードを用いずにコンピュータ（アプリケーション）を効率的に操作可能にするという課題は考慮されていない。アプリケーションを操作するためには、別途マウスやキーボードを操作する必要がある。
【０００７】
また、音声によりコンピュータを操作するという課題に対しては、音声入力デバイスからデータ（認識されたワード）を受け取り、そのワードに対応する処理を実行する、という制御を行うことで実現できる。アプリケーション内部でそれらの複雑な処理を行わせずに音声操作を実現する方法として、ＧＵＩのＯＳ上で動作する音声認識ドライバが、ＧＵＩリソース（ボタンやメニューなど）に対応付けられている文字列データを参照し、入力された音声をコード化したデータが文字列データに合致する場合に、このＧＵＩリソースに対してメッセージ送信を行う、という方法が知られている。
【０００８】
これは、特段に音声入力を考慮していないアプリケーションをも、音声で操作させることができるという点では有用である。
【０００９】
しかしながらこの方法では、入力デバイスごとに認識ドライバがそのような制御を行う必要がある。また、ＧＵＩでないアプリケーションの操作を行うことが困難である。
【００１０】
このように、音声入力の適用に関しては、データ入力することまたはアプリケーションを操作することのいずれかに偏重せざるを得ず、双方の機能を同時に効率よく提供することが困難であった（図７参照）。
【００１１】
本発明は、上記の問題点に鑑みてなされたもので、アプリケーションの操作およびデータ入力に関して汎用的な音声入力インターフェースを提供することを課題とする。また、音声に限らず、操作者の身体動作を入力信号としてコンピュータを操作させる汎用的なインターフェースを提供することを第２の課題とする。
【００１２】
【課題を解決するための手段】
この課題を解決するために、請求項１に記載のジョブ処理プログラムは、
操作者の意思を表現した信号を入力する意思データ入力手段（１）と、
【００１３】
複数のアプリケーションプログラム（３）から、サービス開始要求データを受信したことを記憶するアプリケーション管理手段（２ｂ）と、
【００１４】
意思データとジョブ識別コードとパラメータ情報を対応付け、ジョブ識別コードに対応するパラメータ情報を記憶するジョブ認識辞書（２ｄ）と、
【００１５】
意思データ入力手段（１）から受領した意思データに基づいてジョブ認識辞書（２ｄ）を参照し、ジョブ識別コードを特定し、
ジョブ識別コードに対応するパラメータ情報に基づきパラメータデータを入力し、
パラメータ情報に従って意思データ入力手段（１）から意思データを受領し、ジョブ識別コードとパラメータデータを出力するジョブ認識手段（２ｃ）と、
ジョブ認識手段（２ｃ）が出力したジョブ識別コードおよびパラメータデータを、対応してアプリケーション管理手段（２ｂ）に記憶されているアプリケーションプログラム（３）に通知する通知手段（２ｅ）と、
【００１６】
を備えることを特徴とする。
【００１７】
請求項２に記載のジョブ処理プログラムは、請求項１に記載のジョブ処理プログラムであって、前記意思データ入力手段（１）は、外部入力デバイスからコード化されたデータを入力することを特徴とする。
【００１８】
請求項３に記載のジョブ処理プログラムは、請求項１に記載のジョブ処理プログラムであって、
【００１９】
前記アプリケーション管理手段（２ｂ）は、アプリケーション識別情報と、アプリケーションプログラム（３）の呼出ルーチンのアドレスを記憶し、前記通知手段（２ｅ）は、前記ジョブ識別コードをパラメータとして前記呼出ルーチンを呼び出すことを特徴とする。
【００２０】
請求項４に記載のジョブ処理プログラムは、請求項１に記載のジョブ処理プログラムであって、
【００２１】
前記アプリケーション管理手段（２ｂ）は、ＯＳが管理するアプリケーションハンドル情報を記憶し、前記通知手段（２ｅ）は、前記ハンドル情報に基づいて前記アプリケーションプログラム（３）にメッセージ送信して前記ジョブ識別コードを通知することを特徴とする。
【００２４】
請求項５に記載のジョブ処理プログラムは、請求項１に記載のジョブ処理プログラムであって、操作者が前記ジョブ認識辞書（２ｄ）を編集する編集手段を更に備えることを特徴とする。
【００２５】
請求項６に記載のジョブ処理プログラムは、請求項５に記載のジョブ処理プログラムであって、操作者が編集したジョブ認識辞書データを、前記ジョブ認識辞書（２ｄ）に再登録可能に出力する出力手段を更に備えることを特徴とする。
【００３２】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００３３】
図１は、本発明によるジョブ処理プログラムの一実施形態を示すブロック図である。
【００３４】
図１に示すように、本発明によるジョブ処理プログラムは、音声認識ドライバ１、ジョブ認識ドライバ２、アプリケーション３の３層のソフトウェアにより構成される。音声認識ドライバ１は、操作者の音声を入力するフロントエンドとなるものであり、市販のものを利用できる。ジョブ認識ドライバ２は、音声認識ドライバ１とアプリケーション３の間に位置し、音声認識ドライバ１から受取った音声コードデータを基にしてジョブ認識辞書２ｄを参照して、対応するアプリケーション３を呼び出す。そのため、ジョブ認識ドライバ２は、入力ルーチン２ａ、管理テーブル２ｂ、ジョブ認識ルーチン２ｃ、ジョブ認識辞書２ｄ、呼出ルーチン２ｅ、クライアント管理ルーチン２ｆを有する。
【００３５】
入力ルーチン２ａは、音声認識ドライバ１から音声コードデータを受取り、ジョブ認識ルーチン２ｃに出力する。
【００３６】
管理テーブル２ｂは、アプリケーション３ごとに、アプリケーション識別情報、状態、ジョブグループ情報、およびイベントハンドラを記憶管理する。
【００３７】
ジョブ認識ルーチン２ｃは、音声コードデータをジョブ認識辞書２ｄを用いてジョブ識別コードに変換する。
【００３８】
ジョブ認識辞書２ｄには、図３に示すように、ジョブグループ情報、キーワード、ジョブ識別情報、ガイド情報、およびパラメータ情報（パラメータ数、および各パラメータの付随情報）が記録されている。ジョブグループとは、所定の業務形態に含まれる処理を一括管理するために個々のジョブをグループ化したものであるが、グループ化することで、業務形態の変更や拡張があった場合に、ジョブ認識辞書２ｄのメンテナンスが容易になる。ジョブグループおよびジョブコードはアプリケーションごとに固有のものとしても良いが、異なるアプリケーションで類似の業務形態がある場合に、共有することも可能である。規格化すれば、アプリケーション開発も標準化され、開発コストが低減する。
【００３９】
ジョブ認識辞書２ｄの構造に対応して、ジョブ認識ドライバ２は、操作者がジョブ認識辞書２ｄを編集する編集手段を備えている。編集は、図５に示す画面に対応して行われる。この編集手段は、ジョブ認識ドライバ２とは独立したプログラムファイルとなっていてもよい。また、図５の画面を用いて編集したジョブ認識データを、カンマ区切り形式などジョブ認識辞書２ｄに再登録可能なフォーマットでファイルに出力することが可能となっている。呼出ルーチン２ｅは、管理テーブル２ｂを参照してジョブ認識ルーチン２ｃから出力されたジョブ識別コードをアプリケーション３に通知する処理を行う。
【００４０】
クライアント管理ルーチン２ｆは、アプリケーション３から通知を受けて管理テーブル２ｂを変更し、通知を受けたアプリケーション３に対して新たな通知を受け付けない等の処理や、音声入力があったときに警告音を発するなどの処理を行う。なお、詳細はアプリケーション３の箇所で後述する。
【００４１】
アプリケーション３は、ジョブ認識ドライバ２からの通知を受付可能にプログラムされている。通知方法は、代表的なものとしては、メッセージ送受信方式と、関数コールバック方式を挙げることができる。
【００４２】
メッセージ送受信方式でジョブ認識ドライバ２が通知を行う場合は、特定メッセージに応答するイベントハンドラとして受信ルーチンを備え、受信ルーチンが、パラメータとして受取ったジョブコードに対応する内部処理を呼び出す。
【００４３】
関数コールバック方式でアプリケーション３が受信する場合は、コールバック関数がスタックを介してジョブ識別コードを受け取り、受取ったジョブコードに対応する内部処理を呼び出す。以下、関数コールバック方式でジョブ認識ドライバ２からアプリケーション３への通知が行われるものとして、より具体的な動作を説明する。コンピュータの電源が投入されると、ＯＳが起動した後に、音声認識ドライバ１とジョブ認識ドライバ２がメモリにロードされ、それぞれ動作可能状態となる。
【００４４】
操作者の操作によりアプリケーション３が起動すると、ジョブ認識ドライバ２にアプリケーション識別情報（ウィンドウハンドル、実行プログラムのファイル名など）とジョブグループ番号、イベントハンドラ（コールバック関数）のメモリアドレスを通知し、ジョブ認識ドライバ２からの通知を待つ。
【００４５】
ジョブ認識ドライバ２は、次のように動作する。（１）音声認識ドライバの認識結果を逐次受け取る。（２）フォアグラウンドアプリケーションを識別し（ＯＳから容易に情報を取得できる）、認識結果をどのアプリケーションに通知するかを特定する。（３）特定されたアプリケーション識別情報に対応付けられているジョブグループ番号と、音声認識ドライバ１から受け取ったワードでジョブ認識辞書２ｄを検索してジョブＩＤを得る。音声認識ドライバ１から受け取ったワードが認識されたら、必要に応じてガイド情報を操作者に通知する。通知方法は、ディスプレイに表示しても良いし、音声合成による読み上げ（スピーカ出力）でも良い。（４）パラメータ数に示される数のワードを音声認識ドライバ１から受領する。（５）ジョブＩＤおよびパラメータとして受領したワードを、呼び出しパラメータ（引数）として、特定されたアプリケーション識別情報に対応付けられているイベントハンドラルーチン３ａを呼び出す。アプリケーション３のイベントハンドラルーチン３ａは、ジョブ認識ドライバ２から呼び出されると、ジョブ認識ドライバ２に、処理中のため入力受付を一時停止することを通知する。通知を受けたジョブ認識ドライバ２（クライアント管理ルーチン２ｆ）は、管理テーブル２ｂの状態欄にＢＵＳＹを記憶し、この状態の間は、このアプリケーション３に対して新たな通知を受け付けない。具体的には、入力ルーチン２ａは、音声入力があったときには警告音を発するなどにより、入力不可であることを操作者に通知する。このときの入力データは切り捨てても良いし、入力は通常に行って処理結果のデータをバッファに記憶しておいて、ＢＵＳＹ状態が解消されたあとにアプリケーションに通知するようにしても良い。
【００４６】
次に、イベントハンドラルーチン３ａは、パラメータとして受け取ったジョブＩＤに対応づけられたアプリケーション３の内部ルーチンををパラメータデータとともに呼び出すことで所定の処理を実行する。
【００４７】
イベントハンドラルーチン３ａは、処理が終了したら、ジョブ認識ドライバ２に、入力受付を再開することを通知する。ジョブ認識ドライバ２は管理テーブル２ｂの状態欄にＷＡＩＴＩＮＧを記憶し、新たな音声入力を逐次前述の通り処理する。
【００４８】
次に、特定業務への適用例として、図４に示す画面を用いて個人情報を入力するアプリケーションへ適用した例を説明する。ジョブ認識ドライバ２からアプリケーション３への通知方法は、ここではメッセージ方式とする。
【００４９】
このアプリケーションは、ジョブグループＩＤ：AP1-a1001 を使用するものとし、これに対応するよう、ジョブ認識辞書２ｄには図３に示すジョブ認識データが記憶されている。
【００５０】
ジョブ認識ドライバ２は常駐するＤＬＬ（Dynamic Link Library）として動作しており、図６に示すＡＰＩ（Application Program Interface）をアプリケーションに提供している。アプリケーションはこれらのＡＰＩにより、ジョブ認識ドライバの機能を呼び出すことが可能となっている。
【００５１】
図４のアプリケーションは、起動すると、アプリケーションのウィンドウハンドルと、アプリケーションが利用するジョブグループＩＤをパラメータとして、ジョブ認識ドライバのサービス登録ルーチン undInputRegisterAPP() 関数を呼び出す。ジョブ認識ドライバの SoundInputRegisterAPP() 関数は、受取ったウィンドウハンドル、ジョブグループＩＤを管理テーブル２ｂの対応する位置に記憶する。これにより、音声入力内容がアプリケーションへ伝達される経路が確立し、ジョブ認識ドライバ２は音声入力ドライバ１からの入力待ち受け状態に入る。
【００５２】
操作者が「しめい」の音声を発すると、音声認識ドライバ１がこれを検知してコードデータに変換し、ジョブ認識ドライバ２に通知する。通知方法は、メッセージ通信、関数コールバック、入出力割り込みなどの方法が代表的であるが、これに限られるものではない。
【００５３】
ジョブ認識ドライバ２は、「しめい」のコードデータを受取った後、たとえばＯＳがMicrosoft社のWindowsである場合、WindowsのＡＰＩであるGetForegroundWindow()関数をコールして、フォアグラウンドのアプリケーションのウィンドウハンドルを取得する。ここでは、図４のアプリケーションがフォアグラウンドになっているものとし、図４のアプリケーションのウィンドウハンドルが取得される。次に、取得したウィンドウハンドルで管理テーブル２ｂを参照し、ジョブグループＩＤを取得する。得られたジョブグループＩＤと「しめい」のコードデータをもとにジョブ認識辞書２ｄを参照する。まず、ガイド情報の有無を検査し、この場合、「姓と名を区切って発音して下さい。」のデータが存在するので、これをサウンドデータに変換して出力する。次に、ジョブＩＤとパラメータ数を取得する。「しめい」に対応するパラメータ数が２なので、次に音声コードデータが２つ入力されるまで待つ。操作者は「やまだ」および所定の間隔を置いて「たろう」と音声を発する。「たまだ」および「たろう」のデータが音声認識ドライバ１を経由してジョブ認識ドライバ２に通知され、ジョブ認識ドライバ２は上述の通り変換した「やまだ」及び「たろう」コードデータをジョブＩＤに対応するパラメータデータとして記憶する。
【００５４】
音声入力の通知を示すメッセージ識別番号と、ジョブＩＤ、「やまだ」および「たろう」コードデータのそれぞれのメモリアドレスをパラメータとして、当該アプリケーションのウィンドウに対してメッセージを送信する。OSがWindowsの場合、SendMessage() 関数を用いて送信することができる。
【００５５】
アプリケーションは、ウィンドウがメッセージを受信した場合、メッセージ識別番号により実施すべき処理を対応して記憶している。これは「メッセージハンドラテーブル」と呼ばれ、ＧＵＩのアプリケーションが一般に備えているものである。個々のメッセージに対応した処理は「メッセージハンドラ」と呼ばれ、ウィンドウにメッセージが送信されたときに、アプリケーションまたはＯＳにより呼び出される仕組みとなっている。この例で、音声入力通知に対応するメッセージハンドラには SoundInputProc()関数が対応付けられているものとする。なお、ここで言う「メッセージハンドラ」は、前述の「イベントハンドラ（コールバック関数）」とは異種のものである。undInputProc()関数は、図２に示すようにジョブＩＤと処理プロシージャを対応付けて記憶しており、パラメータとして受取ったジョブＩＤに対応するプロシージャを、その他のパラメータデータ（この例では「やまだ」および「たろう」コードデータのそれぞれのメモリアドレス）を引数として実行する。
【００５６】
SoundInputProc()は、呼び出されるとまず、アプリケーションのウィンドウハンドルを引数として ジョブ認識ドライバ２のSoundInputBusy()関数を呼び出し、ジョブ認識ドライバ２に処理中であることを通知する。そして、「やまだ」及び「たろう」コードデータのアドレスを引数として、ジョブＩＤ：P001 に対応するInputNameProc()プロシージャを実行する。putNameProc()プロシージャは、引数である「やまだ」及び「たろう」コードデータのアドレスから、「やまだ」及び「たろう」コードデータを複写し、氏名データの記憶域に記憶する。処理が完了すると、ジョブ認識ドライバ２のSoundInputReset()関数を呼び出して、入力受付を再開する旨をジョブ認識ドライバ２に通知する。
【００５７】
ジョブ認識辞書２ｄにおけるパラメータ付随情報の役割について簡単に説明する。
【００５８】
キーワード「住所」には、パラメータ付随情報「入力完了」が対応付けられている。操作者は、「住所」の音声を発した後、「東京都・・・」のように住所データを読み上げ、最後に「入力完了」の音声を発する。ジョブ認識ドライバ２は「入力完了」の音声コードデータを受取る直前までの音声コードデータを住所データとして記憶する。このように、パラメータ付随情報を利用して、簡便にデータ内容の入力の終了を検知することが可能となる。
【００５９】
アプリケーションは、終了する際に、ジョブ認識ドライバ２のSoundInputUnregisterAPP()関数を呼び出す。ジョブ認識ドライバ２のSoundInputUnregisterAPP()関数は、管理テーブル２ｂから当該アプリケーションに関する管理データを削除する。
【００６０】
以上、本発明を実施の形態により説明したが、本発明の技術的思想によれば、種々の変形が可能である。例えば、上述した実施形態においては、マイクで入力した信号を操作者の意思を表現した信号として入力し、音声認識ドライバ１によってコード化した信号を出力する場合を例として説明したが、音声以外に、キーボードの操作、手書文字タブレットの操作、手話などのジェスチャー、脳波、生体電流、呼吸の仕方、瞬きの回数などを操作者の意思を表現した信号として入力するようにしても良い。
【００６１】
また上記ではＧＵＩアプリケーションでの例を示したが、ＧＵＩを伴わないコンソール入力方式や、画面表示を伴わない音声対話方式のアプリケーションにも適用可能である。この場合、ウィンドウハンドルをもとにアプリケーションを識別する方法に変えて、ジョブ認識ドライバ２がアプリケーションの実行ファイル名とコールバック関数のメモリアドレスを管理し、このコールバック関数を呼び出すことでアプリケーションへの通知を行うようにすればよい。
【００６２】
また、上記の例では、音に対応するコードデータ（ひらがな）をそのまま受け渡しするよう記載したが（「やまだ」および「たろう」）、音声認識ドライバまたはジョブ認識ドライバ２が漢字変換のプログラムに接続して漢字変換を行い、漢字に変換したデータをアプリケーションに受け渡すようにすることもできる。
【００６３】
本発明に基づくプログラム群を個々のコンピュータに配布する運用例としては、ジョブ認識ドライバとアプリケーションを別々の流通・取引単位とし、ジョブ認識ドライバのパッケージは、所定の形式のデータファイルからジョブ認識データを取り込んでジョブ認識辞書に登録するインポートプログラムを含んで提供し、アプリケーションパッケージは、アプリケーションプログラム及び前記インポートプログラムで読み込み可能なジョブコードデータを含んで提供する。これにより、ジョブ認識ドライバの機能を様々なアプリケーションで共有することができ、ジョブ認識に関する操作性が統一する。
【００６４】
【発明の効果】
以上のように、本発明のジョブ処理プログラムによれば、操作者の意思を表現した信号を入力して、コード化した意思データとして出力する意思データ入力手段（１）を基にして、対応するアプリケーションプログラム（３）を通知する（呼び出す）ようにしたので、アプリケーションの操作およびデータ入力に関して汎用的な音声入力インターフェースを提供することが可能になる。
【００６５】
また、意思データ入力手段（１）を変更するだけで、音声に限らず操作者の身体動作を入力信号としてコンピュータを操作させる汎用的なインターフェースを提供することが可能となる。
【００６６】
さらに、ジョブ認識辞書の内容を操作者が編集することができるので、所定のキーワードに対する同義語を定義することにより、異なる言葉で特定の操作をしたり、異なる言語、例えば英語で作成されたアプリケーションを日本語で操作することも可能となる。
【図面の簡単な説明】
【図１】  本発明によるジョブ処理プログラムの一実施形態を示すブロック図である。
【図２】  実施形態においてアプリケーションがジョブ識別コードに対応する処理を記憶するテーブルの例である。
【図３】  本発明によるジョブ処理プログラムが使用するジョブ認識辞書のデータの具体例を示す図である。
【図４】  本発明によるプログラム作動方法が適用されるアプリケーションの表示画面の例である。
【図５】  ジョブ認識辞書のデータを編集する表示画面の例である。
【図６】  実施形態においてアプリケーションがジョブ処理プログラムの機能を呼び出すためのインターフェースの例である。
【図７】  従来の音声入力プログラムの一例を示すブロック図である。
【符号の説明】
１    音声認識ドライバ
２    ジョブ認識ドライバ
２ａ  入力ルーチン
２ｂ  管理テーブル
２ｃ  ジョブ認識ルーチン
２ｄ  ジョブ認識辞書
２ｅ  呼出ルーチン
２ｆ  クライアント管理ルーチン
３    アプリケーション
３ａ  イベントハンドラルーチン
【図１】
0003820352.tif 000002
【図２】
0003820352.tif 000003
【図３】
0003820352.tif 000004
【図４】
0003820352.tif 000005
【図５】
0003820352.tif 000006
【図６】
0003820352.tif 000007
【図７】
0003820352.tif 000008