(57)【特許請求の範囲】
【請求項１】
音声波形の連続する零クロス間隔ｔ１，ｔ２，…を計測する零クロス間隔計測手段と、
ｎ（ｎは１以上の整数）を各種変化させ、各ｎについて、２ｎ個の零クロス間隔の総和Ｔ＝（ｔ１＋ｔ２＋・・ｔ２ｎ）をピッチ周期と仮定し、隣接するｍ周期（ｍは２以上の整数）分の前記仮定したピッチ周期の各々に含まれる互いに対応する前記零クロス間隔の間の一致の程度を前記音声波形の一致の程度として算出し、音声波形の一致の程度が最も高いｎを選択することによりピッチ周期を求めるピッチ演算手段とを具備するピッチ検出装置であって、
前記零クロス間隔計測手段は、計測した零クロス間隔が所定の下限値以下の場合にはその計測値を無視するとともに、所定の上限値を超える場合にはその上限値を計測値とすることを特徴とするピッチ検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、音声波形のピッチ周期またはピッチ周波数を検出するピッチ検出装置に関する。
【０００２】
【従来の技術】
音声波形を特徴付けるパラメータの１つとしてピッチ周期（あるいはピッチ周波数）があり、この音声波形のピッチ周期を検出する技術が音声分析・合成システム、音声符号化システム等において一般的に使用されている。また、最近では、カラオケシステムにも、歌唱者の音声のピッチ周期の検出を行うものがあり、歌唱の採点等に利用されている。
【０００３】
従来、音声のピッチ周期を検出する方法として以下のものがあった。
（１）零クロス法
音声波形が正弦波に非常に近いものと仮定すると、音声波形は零レベル線を負方向から正方向に横切り、次いで正方向から負方向に横切り、再び負方向から正方向に横切るという単調な変化を繰り返すため、零レベル線を同一方向に横切る時間間隔によってピッチ周期が与えられる。零クロス法は、この考えに従い、単純に２つの零クロス間隔を計測してピッチ周期とする方法である。また、これと同様な発想として、音声波形の瞬時値が極大値または極小値となるタイミングの間隔を計測してピッチ周期とする方法もある。
【０００４】
（２）自己相関法
この自己相関法においては、音声波形を一定のサンプリング周期毎にサンプリングすることによって得られる時系列サンプルｘ（１），ｘ（２），…を用い、以下の自己相関関数Ｒ（ｒ）の演算を行うことにより、ピッチ周期を求める。
Ｒ（ｒ）＝１／Ｎ・Σ ｛ｘ（ｎ）・ｘ（ｎ＋ｒ）｝
（ただし、上記式において、Σはｎ＝１〜Ｎ・ｒの範囲で｛｝内の総和を求める演算子である。）
すなわち、ｒを各種変化させ、各ｒについて自己相関関数Ｒ（ｒ）を求め、Ｒ（ｒ）が最大（すなわち、自己相関が最大）になるときのｒから音声波形のピッチ周期を算出する。
【０００５】
【発明が解決しようとする課題】
ところで、上述した零クロス法は、比較的安価にしかも高速にピッチ周期を検出することができる反面、人間の音声は多くの倍音成分を多く含んでいるため正確なピッチ周期を検出することができないという問題があった。また、上述した自己相関法は、ある程度正確にピッチ周期を検出することが可能であるが、計算量が膨大であるとともに、検出時間が多くかかる。また、コスト的にも高くなる。
【０００６】
この発明は、上記問題点を克服し、基本的には零クロス間隔を測定することによってピッチ周期を演算し、かつ、かかる方法を採った場合に生じる弊害を防止する手段を講じ、安価な構成で、正確かつ高速にピッチ周期を検出することが可能なピッチ検出装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
この発明は、音声波形の連続する零クロス間隔ｔ１，ｔ２，…を計測する零クロス間隔計測手段と、ｎ（ｎは１以上の整数）を各種変化させ、各ｎについて、２ｎ個の零クロス間隔の総和Ｔ＝（ｔ１＋ｔ２＋・・ｔ２ｎ）をピッチ周期と仮定し、隣接するｍ周期（ｍは２以上の整数）分の前記仮定したピッチ周期の各々に含まれる互いに対応する前記零クロス間隔の間の一致の程度を前記音声波形の一致の程度として算出し、音声波形の一致の程度が最も高いｎを選択することによりピッチ周期を求めるピッチ演算手段とを具備するピッチ検出装置であって、前記零クロス間隔計測手段は、計測した零クロス間隔が所定の下限値以下の場合にはその計測値を無視するとともに、所定の上限値を超える場合にはその上限値を計測値とすることを特徴とするピッチ検出装置を要旨とする。
【０００８】
【発明の実施の形態】
以下、本発明を更に理解しやすくするため、実施の形態について説明する。
かかる実施の形態は、本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【０００９】
Ａ．実施形態の構成
図１はこの発明をカラオケシステムに適用した実施形態の構成を示すブロック図である。本実施形態は、カラオケシステムの構成部分のうち歌唱者の歌の採点をする部分に関するものである。図１において、１はデジタル音楽信号が記録されたＣＤ（コンパクトディスク）である。このＣＤ１に記録されたデジタル音楽信号はサンプリング周波数ｆｓ＝４４．１ｋＨｚのクロックに同期して順次再生される。２はボーカル抽出部であり、ＣＤ１から再生されたデジタル音楽信号からボーカル音に相当する信号（以下、デジタルお手本信号という。）を抽出する。一例として、ＣＤ１から再生されたデジタル音楽信号の音声帯域を含む周波数帯域の信号をバンドパスフィルタにより抽出するという処理によりデジタルお手本信号を得ることができる。また、ボーカル音のみを記録したメディアを利用可能な場合は、そのメディアから再生されたデジタル音楽信号をそのままデジタルお手本信号として使用すればよい。３はマイクロホンであり、ＣＤ１の再生に合わせて歌う歌唱者の歌声を採取し、アナログ音声信号として出力する。４はＡ／Ｄ変換器であり、マイクロホン１からアナログ音声信号を、ＣＤ１の再生の場合と同様なサンプリング周波数ｆｓ＝４４．１ｋＨｚのクロックに同期してサンプリングし、デジタル音声信号に変換する。
【００１０】
５はＤＣ除去部であり、順次供給されるデジタル音声信号およびデジタルお手本信号に対してＤＣ除去処理を施し、ＤＣとみなせる低い周波数帯域、例えば０Ｈｚ〜５０Ｈｚの帯域の成分の除去されたデジタル音声信号およびデジタルお手本信号を各々出力する。６はＬＰＦ（ローパスフィルタ）であり、ＤＣ除去部５によって出力されたデジタル音声信号およびデジタルお手本信号の各々から例えば５００Ｈｚ以上の周波数の成分を除去して出力する。これらのＤＣ除去部５およびＬＰＦ６により、デジタル音声信号およびデジタルお手本信号の各々について、５０〜５００Ｈｚの帯域内の成分のみが選択され、出力される。
【００１１】
７は４倍オーバーサンプリング部であり、ＬＰＦ６を通過したデジタル音声信号およびデジタルお手本信号（いずれもサンプリング周波数ｆｓ＝４４．１ｋＨｚ）に対して補間演算を施し、４倍のサンプリング周波数の信号に変換して出力する。
【００１２】
図２はこの４倍オーバーサンプリング部７のうちデジタル音声信号またはデジタルお手本信号の一方（以下、入力デジタル信号という。）の処理を行うのに必要な回路構成を例示したものである。この図において、ラッチ７１は、サンプリング周波数ｆｓに対応したクロックが与えられることにより、入力デジタル信号を取り込んで保持する。遅延器７２，７２，…は図示の通りラッチ７１の後段にカスケード接続されている。これらの遅延器７２は、各々サンプリング周波数ｆｓの４倍の周波数のクロックが与えられることにより、ラッチ７１に保持された入力信号を順次シフトし、該入力信号を１クロック周期ずつ順次遅延させた遅延信号を各々出力する。７３，７３，…は乗算器、７４，７４，…は加算器であり、これらによりラッチ７１および遅延器７２，７２，…の各出力信号に所定の補間係数列を畳み込む補間演算が実行される。以上の構成により、サンプリング周波数ｆｓの４倍の周波数のクロックに同期して補間演算が実行され、補間のなされたデジタル信号が最終段の加算器７４から順次出力される。
【００１３】
この４倍オーバーサンプリング部７は、ピッチ周期を求める際の精度を高めるために設けられた手段である。すなわち、本実施形態においては、デジタル音声信号およびデジタルお手本信号の各々の零クロス点の時間間隔を測定することにより各デジタル信号のピッチ周期を求める。このため、ピッチ周期の測定精度を高めるためには、時間軸上における零クロス点の位置の検出精度を高める必要がある。そこで、この４倍オーバーサンプリング部７を介挿することにより、デジタル音声信号およびデジタルお手本信号の各々のサンプルの時間密度を４倍にし、各々の零クロス点の位置の検出精度を高めている。この例では曲線補間によりオーバーサンプリングを行っているが、コストの問題に鑑みて、ある程度の精度が得られる直線補間を用いることもできる。
【００１４】
８は２値化部であり、４倍オーバーサンプリング部７から出力されるデジタル音声信号およびデジタルお手本信号のレベルの２値化を行う。この２値化は、基本的には、零レベルを基準として入力デジタル信号の正負判定を行い、入力デジタル信号が正の場合は“１”を、負の場合は“０”を出力するものである。すなわち、この２値化部８は入力デジタル信号が零レベルを横切る毎に“０”／“１”が反転する２値信号を出力する手段である。ただし、本実施形態においては２値化を行う際に零レベルを中心に±Δの範囲をマスキング帯とし、入力デジタル信号にこの±Δのマスキング帯内の微小な振動があったとしても、かかる微小な振動によっては２値信号を反転させないようにしている。
【００１５】
図３はこの２値化部８のうちデジタル音声信号またはデジタルお手本信号の一方（以下、入力デジタル信号という。）の処理を行うのに必要な回路構成を例示したものである。この図において、８１は入力デジタル信号の絶対値を検出する絶対値検出部である。８２は比較部であり、絶対値検出部８１によって検出された入力デジタル信号の絶対値を所定値Δと比較し、絶対値がΔを越えている場合には“１”を、越えていない場合には“０”を出力する。８３はサンプルホールド部であり、比較部８２から“１”が出力されている期間は入力デジタル信号をそのまま出力し（サンプル状態）、比較部８２から“０”が出力されている期間は比較部８２の出力信号が“１”から“０”に変化する直前の入力デジタル信号を保持し出力する（ホールド状態）。８４は比較部であり、零レベルを基準としてサンプルホールド部８３の出力信号の正負判定を行い、正の場合は“１”を、負の場合は“０”の２値信号を出力する。
【００１６】
以上の構成によれば、入力デジタル信号が±Δの範囲外にある場合にはサンプルホールド部８３を介してそのまま出力される。また、入力デジタル信号が零レベル±Δのマスキング帯内に入った場合には、その直前の入力デジタル信号の値がサンプルホールド部８３によって保持され、この保持動作が行われている期間中は比較部８４が出力する２値信号が反転することはない。従って、入力デジタル信号が零レベル±Δのマスキング帯を横切って変化する場合はマスキング帯を横切り終えた時点で２値信号が反転することとなる。一方、入力デジタル信号が零レベル±Δのマスキング帯に入ったがこれを横切ることなくマスキング帯内を上下動するような場合には、たとえ入力デジタル信号が零レベルを横切ったとしてもサンプルホールド部８３の出力信号値が零レベルを横切ることはないため、２値信号の反転は起こらない。
【００１７】
図３において比較部８４よりも前段にある回路は、図４に示すものに置き換えてもよい。この図４において、８５および８６は比較部であり、各々、入力デジタル信号を基準レベルと比較し、入力デジタル信号が基準レベルより高いときには“１”を、基準レベルより低いときには“０”を出力する。比較部８５に対しては基準レベルとして＋Δが与えられ、比較部８６に対しては基準レベルとして−Δが与えられる。８７は入力デジタル信号を保持するラッチ、８８は入力デジタル信号またはラッチ８７の出力信号を選択して出力するセレクタである。８９は制御部であり、比較部８５および８６の各出力信号に基づいてラッチ８７およびセレクタ８８の制御を行う。すなわち、次の通りである。
【００１８】
ａ．比較部８５および８６の出力信号がいずれも“１”、あるいはいずれも“０”である場合
入力デジタル信号が零レベル±Δのマスキング帯の外側にある場合である。この場合、制御部８９は、ラッチ８７をサンプル状態とし、セレクタ８８には入力デジタル信号を出力させる。
ｂ．比較部８５の出力信号が“０”であり、かつ、比較部８６の出力信号が“１”である場合
入力デジタル信号が零レベル±Δのマスキング帯の内側にある場合である。この場合、制御部８９は、入力デジタル信号がマスキング帯内に入った時点でラッチ８７をホールド状態とし、セレクタ８８にはラッチ８７の出力信号を出力させる。
【００１９】
図１において、９はデジタル音声信号およびデジタルお手本信号に対応した２値化部８の各出力信号の反転が起こる時間間隔、すなわち、これらの各デジタル信号の零クロス点の発生する時間間隔を計時するためのタイマであり、１０はタイマ９の計時結果を記憶するＲＡＭである。
【００２０】
図５はタイマ９およびＲＡＭ１０をそれらの制御系と共に示したブロック図である。なお、この図は、デジタル音声信号およびデジタルお手本信号の一方に対応した処理に必要な部分のみが示されている。図５において、９１は遅延器、９２は排他的論理和回路である。これらは２値化部８が出力する２値信号を微分する微分回路９０を構成しており、２値信号の反転が起こる毎にパルスを出力する。タイマ９は、微分回路９０からの出力パルスが与えられる毎にリセットされ、このリセットの後、次にリセットされるまでの間は、一定周波数４ｆｓのクロックをカウントする。
【００２１】
タイマ９のカウント値は、ラッチ９３に対し入力データとして与えられる。ラッチ９３は、微分回路９０からの出力パルスが与えられることにより、リセット直前のタイマ９のカウント値を取り込んで保持する。このラッチ９３に保持されるカウント値は、前回の２値信号の反転が検出されてから今回の反転が検出されるまでの間に出力された周波数４ｆｓのクロックの個数であるから、零クロス点が発生する時間間隔を表していると言える。従って、以下では、このラッチ９３の保持データを零クロス間隔データと呼ぶ。
【００２２】
書込制御部９４は、微分回路９０からの出力パルスが与えられる毎に、ラッチ９３内の零クロス間隔データを順次読み出し、一定範囲内の零クロス間隔データが所定値以上（タイマ９のカウント値が大）のときはリミットを設けてＲＡＭ１０に書込み、また、所定値未満（タイマ９のカウント値が小）のときはリミットを設けてＲＡＭ１０への書込みを行わず廃棄する。このように一定範囲内の零クロス間隔データのみをＲＡＭ１０へ書込むようにしたのは、音声信号の零クロス点の時間間隔として妥当でない零クロス間隔データが演算に使用され、誤ったピッチ周期が演算されてしまうのを防止するためである。
【００２３】
図１におけるピッチ演算部１１は、ＲＡＭ１０に蓄積された零クロス間隔データを参照することにより、デジタル音声信号およびデジタルお手本信号の各々のピッチ周期を演算する。
【００２４】
ここで、デジタル音声信号等が正弦波であるとすると、１周期分の正弦波の始点と終点において零レベル線とクロスする他、これらの零クロス点の中間において１回だけ零レベル線とクロスする。従って、連続した２個の零クロス間隔データを加算することによりピッチ周期を求めることができる。
【００２５】
しかしながら、人間の音声波形を表したデジタル音声信号等は、多くの倍音成分を含んでいるため、１ピッチ周期分の波形がそのピッチ周期の始点と終点の間に３個以上の零クロス点を含んでいる場合があり、かかる場合には連続した２個の零クロス間隔データを加算しても正しいピッチ周期が得られない。
【００２６】
そこで、本実施形態においては、複数種類の整数ｎの各々について、１ピッチ周期が２ｎ個の零クロス間隔データの和に相当する長さを有するものと仮定する。そして、各々の仮定の下でピッチ周期を求め、１ピッチ周期内の各零クロス点の発生タイミングが各ピッチ周期間でどの程度一致しているかを求める。なお、この零クロス点の発生タイミングの一致の程度の検出の詳細については後述する。そして、この一致の程度が最も高いピッチ周期を真のピッチ周期として選択する。これは、短い時間内であれば大きな波形の変化は生じないという音声信号の性質を前提としたものである。
【００２７】
次に、図１において、１２はレベル検出部であり、Ａ／Ｄ変換器４によって出力されたデジタル音声信号およびボーカル抽出部２によって出力されたデジタルお手本信号の各々のレベルを検出し、各レベルを表す信号を出力する。
【００２８】
１３は採点部であり、ピッチ演算部１１によって求められたデジタル音声信号およびデジタルお手本信号の各々のピッチ周期のずれと、レベル検出部１２によって求められた両信号レベルのずれを総合評価し、歌唱者の歌を採点する。この採点結果は表示部１４に表示される。
【００２９】
Ｂ．実施形態の動作
以下、本実施形態の動作を説明する。歌唱者によって選曲が行われると、その曲に対応したＣＤ１からデジタル音楽信号が順次再生される。そして、ボーカル抽出部２により、デジタル音楽信号からデジタルお手本信号が抽出され、ＤＣ除去部５およびレベル検出部１２へ出力される。一方、ＣＤ１の再生により歌唱者が歌唱を開始し、その歌声がマイクロホン３によって採取され、アナログ音声信号として出力される。このアナログ音声信号は、Ａ／Ｄ変換器４を介すことにより、デジタル音声信号に変換され、ＤＣ除去部５およびレベル検出部１２へ出力される。
【００３０】
デジタル音声信号およびデジタルお手本信号は、ＤＣ除去部５およびＬＰＦ６を順次介すことにより、不要な周波数帯域の信号が除去され、人の声の周波数帯域内の成分のみからなる波形を表すデジタル信号となって４倍オーバーサンプリング部７へ各々出力される。
【００３１】
そして、デジタル音声信号およびデジタルお手本信号は、４倍オーバーサンプリング部７により、各々時間軸上において補間され、４倍のサンプリング周波数の信号に変換されて出力され、２値化部８によって２値信号に変換される。
【００３２】
図６はこの４倍オーバーサンプリング部７の動作を例示したものである。図６（ａ）において、水平方向の直線は零レベル線である。また、正弦波状の信号波形に沿って○印のプロットが示されているが、後者のプロットはデジタル音声信号（デジタルお手本信号）を構成する個々の原サンプルを表しており、前者はこれらの原サンプルの母体である本来の信号波形を表している。また、各原サンプルを表す○印のプロットの間には、３個の×印のプロットが介挿されているが、これらは４倍オーバーサンプリング部７によって求められた補間サンプルを各々表している。
【００３３】
図６（ｂ）は、４倍オーバーサンプリングを行わず、原サンプル（○印）のみを２値化部８に与えた場合に得られる２値信号を示しており、図６（ｃ）は４倍オーバーサンプリングを行い、原サンプル（○印）および補間サンプル（×印）を２値化部８に与えた場合に得られる２値信号を示している。なお、これらの図は、説明の便宜のため、デジタル音声信号（デジタルお手本信号）が２値化部８のマスキング帯よりも小さなレベルの振動を含んでいない場合の例を示している。
【００３４】
ここで、デジタル音声信号等は信号波形と無関係に一定のサンプリング周期毎にサンプリングされたものである。従って、デジタル音声信号等が同一波形を繰り返すものである場合に、図６（ａ）に示すように、いずれのタイミングの瞬時値がサンプリングされるかは各波形により区々になる。このため、サンプリング周期が粗いと、図６（ｂ）に示すように、ピッチ周期が切り換わると同一波形であるにも拘わらず異なった波形の２値信号が得られてしまう場合がある。しかしながら、本実施形態のようにデジタル音声信号等の４倍オーバーサンプリングを行った後で２値化を行う場合には、図６（ｃ）に示すように本来の零クロス点に近いタイミングで反転する２値信号が得られ、図６（ｂ）に示したような不具合は防止される。
【００３５】
図７（ａ）〜（ｄ）は２値化部８の動作を例示したものである。まず、図７（ａ）において正弦波状の信号波形は４倍オーバーサンプリング部７から出力されるデジタル音声信号（デジタルお手本信号）を表しており、水平線は零レベル線を表している。図７（ｂ）は図３におけるサンプルホールド部８３の動作を示すものである。この図に示すように、サンプルホールド部８３は、入力信号たるデジタル音声信号（デジタルお手本信号）が零レベル±Δのマスキング帯の外側にある場合にはサンプル状態とされ（同図において“Ｓ”と表記）、零レベル±Δのマスキング帯の内側にある場合にはホールド状態とされる（同図において“Ｈ”と表記）される。このようなサンプルホールド部８３の制御が行われる結果、比較部８４へ入力される信号波形は図７（ｃ）に例示するものとなり、比較部８４から得られる２値信号は図７（ｄ）に例示するものとなる。このようにデジタル音声信号（デジタルお手本信号）が零レベル±Δのマスキング帯を横切って変化する場合はマスキング帯を横切り終えた時点で２値信号が反転することとなる。また、仮にデジタル音声信号（デジタルお手本信号）に±Δ以下の振幅の微小な振動部分を含んでいたとしても、デジタル音声信号（デジタルお手本信号）が零レベル±Δのマスキング帯内にある場合にはサンプルホールド部８３が前値保持動作を行うため、振動部分において２値信号が反転することはない。
【００３６】
本実施形態においては、零クロス間隔を使用してピッチ周期を演算するため、１ピッチ周期相当の入力デジタル信号波形についてあまりの多くの零クロス間隔が検出されてしまうと、ピッチ周期の演算の負担が大きくなってしまう。しかしながら、本実施形態においては、上記のようにマスキング帯を有する２値化部８によって２値信号を生成しているので、入力デジタル信号中、ピッチ周期の演算にとって重要でない零レベル近傍の微動が無視され、“０”／“１”反転箇所を必要以上に多く含まない２値信号が得られ、ピッチ周期の演算にとって適度な数の零クロス間隔を検出することが可能となる。
【００３７】
以上のようにデジタル音声信号およびデジタルお手本信号の各々に基づいて２値信号が生成される。そして、各２値信号毎に、“１”／“０”反転が生じる時間間隔がタイマ９によって順次計時され、その計時結果たる零クロス間隔データが図５に示すラッチ９３に順次保持される。このようにしてラッチ９３に順次保持される零クロス間隔データが、書込制御部９４による制御の下、ＲＡＭ１０に順次書込まれる。すなわち、書込制御部９４は、２値信号の反転によって微分回路９０からパルスが出力されるのに応答し、図８にフローを示す書込制御ルーチンを実行する。まず、書込制御部９４は、ラッチ９３から零クロス間隔データｔを取り込み（ステップＳ１）、この零クロス間隔データｔが下限値「８」以上か否かを判断する。この判断結果が「ＮＯ」の場合は零クロス間隔データｔの書込みを行うことなくルーチンを終了する。ステップＳ２の判断結果が「ＹＥＳ」の場合はステップＳ３に進み、零クロス間隔データｔが上限値「８１９２」より大きいか否かを判断する。この判断結果が「ＮＯ」の場合は零クロス間隔データｔをＲＡＭ１０へ書込み（ステップＳ４）、ルーチンを終了する。一方、ステップＳ３の判断結果が「ＹＥＳ」の場合は、取り込んだ零クロス間隔データｔの代りに「８１９２」をＲＡＭ１０に書込み（ステップＳ５）、ルーチンを終了する。以上の制御により、「８」〜「８１９２」の範囲内の零クロス間隔データのみがＲＡＭ１０へ書込まれるため、音声信号の零クロス点の時間間隔として妥当でない零クロス間隔データが演算に使用され、誤ったピッチ周期が演算されてしまうのを防止することができる。
【００３８】
このようにしてＲＡＭ１０に蓄積される零クロス間隔データがピッチ演算部１１によって参照され、デジタル音声信号およびデジタルお手本信号の各々のピッチ周期が求められる。ここで、図９を参照し、デジタル音声信号のピッチ周期の算出処理を例にその概要を説明する。図９（ａ）に例示するようなデジタル音声信号が２値化部８に与えられたとすると、現時点までに発生された零クロス間隔データｔ1，ｔ2，…がＲＡＭ１０内に蓄積されている。ピッチ演算部１１は、これらの零クロス間隔データｔ1，ｔ2，…とデジタル音声信号のピッチ周期との間の関係について以下の４通りの仮定を設け、各々の妥当性を検討するという手順に従ってピッチ周期を求める。
【００３９】
▲１▼仮定１
デジタル音声信号のピッチ周期は、２個の零クロス間隔データｔ1，ｔ2の和に相当する長さＴ1を有する。すなわち、図９（ｂ１）に示す時間Ｔ11，Ｔ12，…がデジタル音声信号のピッチ周期である。
▲２▼仮定２
デジタル音声信号のピッチ周期は、４個の零クロス間隔データｔ1〜ｔ4の和に相当する長さＴ2を有する。すなわち、図９（ｂ２）に示す時間Ｔ21，Ｔ22，…がデジタル音声信号のピッチ周期である。
▲３▼仮定３
デジタル音声信号のピッチ周期は、６個の零クロス間隔データｔ1〜ｔ6の和に相当する長さＴ3を有する。すなわち、図９（ｂ３）に示す時間Ｔ31，Ｔ32，…がデジタル音声信号のピッチ周期である。
▲４▼仮定４
デジタル音声信号のピッチ周期は、８個の零クロス間隔データｔ1〜ｔ8の和に相当する長さＴ4を有する。すなわち、図９（ｂ４）に示す時間Ｔ41，Ｔ42，…がデジタル音声信号のピッチ周期である。
【００４０】
上記各仮定の妥当性の検討およびこの検討結果に基づくピッチ周期の算出は図１０に示すフローに従って実行される。まず、ピッチ演算部１１は、上記仮定１を前提とした場合のデジタル音声信号の波形の再現率ＣＲ１を算出する（ステップＳ１０１）。この再現率は、上記各仮定に従った場合に各ピッチ周期に対応した各デジタル音声信号波形がどの程度一致しているかを表す数値であり、本実施形態においては、零クロス間隔データｔ1，ｔ2，…に基づいて算出する。
【００４１】
ここで、図１１のフローチャートを参照し、ステップＳ１０１において行われる再現率ＣＲ１を求める演算の手順について説明する。まず、ステップＳ２０１に進み、カウンタＣＮＴおよび制御変数ｉに対し、初期値として「０」および「１」を各々設定する。
【００４２】
次にステップＳ２０２に進み、制御変数ｉを「２」だけ増加させ、ｉ＝「３」とする。次にステップＳ２０３に進み、０．９ｔ1−ｔi＜０なる条件を満たすか否か、すなわち、零クロス間隔データｔ3が零クロス間隔データｔ1の９０％よりも大きいか否かを判断する。そして、この判断結果が「ＹＥＳ」の場合はカウンタＣＮＴを「１」だけ増加させ（ステップＳ２０４）、ステップＳ２０５へ進み、「ＮＯ」の場合はステップＳ２０４を介すことなくステップＳ２０５に進む。次にステップＳ２０５に進むと、−１．１ｔ1＋ｔi＜０なる条件を満たすか否か、すなわち、零クロス間隔データｔ3が零クロス間隔データｔ1の１１０％よりも小さいか否かを判断する。そして、この判断結果が「ＹＥＳ」の場合はカウンタＣＮＴを「１」だけ増加させ（ステップＳ２０６）、ステップＳ２０７へ進み、「ＮＯ」の場合はステップＳ２０６を介すことなくステップＳ２０７に進む。
【００４３】
次にステップＳ２０７に進むと、制御変数ｉが「７」となったか否かを判断し、この判断結果が「ＮＯ」の場合はステップＳ２０２に戻る。以後、２回に亙ってステップＳ２０２〜Ｓ２０７が実行され、零クロス間隔データｔ5およびｔ7の各々について上記ステップＳ２０３およびＳ２０５の判断が行われ、各零クロス間隔データが零クロス間隔データｔ1の９０％より大きい場合または１１０％よりも小さい場合にカウンタＣＮＴのインクリメントが行われる（ステップＳ２０４，Ｓ２０６）。
【００４４】
そして、ｉ＝「７」となると、ステップＳ２０７の判断結果が「ＹＥＳ」となってステップＳ２０８へ進み、制御変数ｉに「２」を設定する。
【００４５】
次いでステップＳ２０９に進み、制御変数ｉを「２」だけ増加させ、ｉ＝「４」とする。次にステップＳ２１０に進み、０．９ｔ2−ｔi＜０なる条件を満たすか否か、すなわち、零クロス間隔データｔ4が零クロス間隔データｔ2の９０％よりも大きいか否かを判断する。そして、この判断結果が「ＹＥＳ」の場合はカウンタＣＮＴを「１」だけ増加させ（ステップＳ２１１）、ステップＳ２１２へ進み、「ＮＯ」の場合はステップＳ２１１を介すことなくステップＳ２１２に進む。次にステップＳ２１２に進むと、−１．１ｔ2＋ｔi＜０なる条件を満たすか否か、すなわち、零クロス間隔データｔ4が零クロス間隔データｔ2の１１０％よりも小さいか否かを判断する。そして、この判断結果が「ＹＥＳ」の場合はカウンタＣＮＴを「１」だけ増加させ（ステップＳ２１３）、ステップＳ２１４へ進み、「ＮＯ」の場合にはステップＳ２１３を介すことなくステップＳ２１４に進む。
【００４６】
次にステップＳ２１４に進むと、制御変数ｉが「８」となったか否かを判断し、この判断結果が「ＮＯ」の場合はステップＳ２０９に戻る。以後、２回に亙ってステップＳ２０９〜Ｓ２１４が実行され、零クロス間隔データｔ6およびｔ8の各々について上記ステップＳ２１０およびＳ２１２の判断が行われ、各零クロス間隔データが零クロス間隔データｔ2の９０％より大きい場合または１１０％よりも小さい場合にカウンタＣＮＴのインクリメントが行われる（ステップＳ２１１，Ｓ２１３）。
【００４７】
そして、ｉ＝「８」となると、ステップＳ２１４の判断結果が「ＹＥＳ」となってステップＳ２１５へ進み、カウンタＣＮＴの値を零クロス間隔データについての判断の回数によって正規化し、その結果を再現率ＣＲ１とする。このフローの場合、判断は１２回行われるので、ＣＮＴ／１２が再現率ＣＲ１とされる。
【００４８】
ここで、ピッチ周期の長さを２個の零クロス間隔データの和Ｔ1とした仮定が正しく、かつ、ピッチ周期が４回切り換わってもデジタル音声信号の波形が変化しない理想状態においては、ｔ1＝ｔ3＝ｔ5＝ｔ7かつｔ2＝ｔ4＝ｔ6＝ｔ8となる。従って、この場合に上記処理によって得られる再現率ＣＲ１は１００％となる。また、各零クロス間隔データに多少の誤差があっても、ｔ3，ｔ5およびｔ7がｔ1±１０％の範囲内に収っており、かつ、ｔ4，ｔ6およびｔ8がｔ2±１０％の範囲内に収っている場合には再現率ＣＲ１は１００％となる。一方、上記仮定が誤りであるとすると、ピッチ周期が切り換わることによって相互に対応する零クロス間隔データ間に大きな差が生じることとなる。このため、上記ステップＳ２０３等において否定的な判断がされ易くなり、そのような否定的な判断のなされる回数の増加に応じて再現率ＣＲ１が低下することとなる。
【００４９】
このようにして再現率ＣＲ１の算出が終了すると、図１０のフローに戻ってステップＳ１０２に進み、上記仮定２を前提とした場合のデジタル音声信号の波形の再現率ＣＲ２を算出する。すなわち、ピッチ周期が４個の零クロス間隔データの和に相当する長さＴ2を有していると仮定する。そして、第１番目のピッチ周期に対応した零クロス間隔データｔ1〜ｔ4を各々基準とし、第２番目，第３番目および第４番目の各ピッチ周期に対応した零クロス間隔データｔ5〜ｔ8，ｔ9〜ｔ12およびｔ13〜ｔ15の各々が基準と所定の誤差範囲内で一致しているか否かを判断する。そして、肯定的な判断結果の得られた回数をカウントし、全判断回数によって正規化し、再現率ＣＲ２を求める。
【００５０】
ピッチ周期の長さを４個の零クロス間隔データの和とした仮定が正しく、かつ、ピッチ周期が４回切り換わってもデジタル音声信号の波形が変化しない理想状態においては、
ｔ1＝ｔ5＝ｔ9＝ｔ13
ｔ2＝ｔ6＝ｔ10＝ｔ14
ｔ3＝ｔ7＝ｔ11＝ｔ15
ｔ4＝ｔ8＝ｔ12＝ｔ16
なる条件を全て満たし、再現率ＣＲ２は１００％となる。また、各零クロス間隔データに多少の誤差があっても、±１０％の範囲内に収っている場合には再現率ＣＲ２は１００％となる。ピッチ周期が切り換わることによって基準（すなわち、第１番目のピッチ周期に対応した零クロス間隔データ）から大きくずれた零クロス間隔データが生じる場合には、その個数に応じて再現率ＣＲ２が低下することとなる。
【００５１】
次にステップＳ１０３に進み、上記仮定３を前提とした場合のデジタル音声信号の波形の再現率ＣＲ３を算出する。すなわち、ピッチ周期が６個の零クロス間隔データの和に相当する長さＴ3を有していると仮定する。そして、第１番目のピッチ周期に対応した零クロス間隔データｔ1〜ｔ6を各々基準とし、第２番目，第３番目および第４番目の各ピッチ周期に対応した零クロス間隔データｔ7〜ｔ12，ｔ13〜ｔ18およびｔ19〜ｔ24の各々が基準と所定の誤差範囲内で一致しているか否かを判断する。そして、肯定的な判断結果の得られた回数をカウントし、全判断回数によって正規化し、再現率ＣＲ３を求める。
【００５２】
この再現率ＣＲ３は、
ｔ1＝ｔ7＝ｔ13＝ｔ19
ｔ2＝ｔ8＝ｔ14＝ｔ20
ｔ3＝ｔ9＝ｔ15＝ｔ21
ｔ4＝ｔ10＝ｔ16＝ｔ22
ｔ5＝ｔ11＝ｔ17＝ｔ23
ｔ6＝ｔ12＝ｔ18＝ｔ24
なる条件を全て満たす場合あるいは各零クロス間隔データに多少の誤差があっても±１０％の範囲内の誤差である場合には再現率ＣＲ３は１００％となる。また、誤差の大きな零クロス間隔データが生じる場合にはその個数に応じて再現率ＣＲ３が低下する。
【００５３】
次にＳ１０４に進み、上記仮定４を前提とした場合のデジタル音声信号の波形の再現率ＣＲ３を算出する。すなわち、ピッチ周期が８個の零クロス間隔データの和に相当する長さＴ4を有していると仮定する。そして、第１番目のピッチ周期に対応した零クロス間隔データｔ1〜ｔ8を各々基準とし、第２番目および第３番目の各ピッチ周期に対応した零クロス間隔データｔ9〜ｔ16およびｔ17〜ｔ24の各々が基準と所定の誤差範囲内で一致しているか否かを判断する。そして、肯定的な判断結果の得られた回数をカウントし、全判断回数によって正規化し、再現率ＣＲ４を求める。
【００５４】
上記ステップＳ１０１〜Ｓ１０３までの各処理においては４個分のピッチ周期を処理対象としたが、このステップＳ１０４においては３個分のピッチ周期（図９（ｂ４）におけるＴ41〜Ｔ43）を処理対象としている。これは次の理由によるものである。すなわち、ステップＳ１０４においては、ピッチ周期として８個分の零クロス間隔データに相当する長い時間を仮定している。従って、仮にステップＳ１０４において４個分のピッチ周期を処理対象とすると、たとえ仮定４が正しい場合であっても、４個分のピッチ周期という極めて長時間に亙ってデジタル音声信号波形が安定していないと再現率ＣＲ４が低下することとなる。しかし、デジタル音声信号の波形は、ある程度の短時間の間は同一波形を維持し得るが、ある程度の時間が経つと波形に変化が生じるものである。このため、４個分のピッチ周期を処理対象とした場合には、たとえ仮定４が正しかったとしても、デジタル音声信号の波形の時間的変化の影響によって不当に低い再現率ＣＲ４が演算されてしまう可能性が高い。そこで、ステップＳ１０４においては、上述の通り３個分のピッチ周期を処理対象としている。
【００５５】
ステップＳ１０４において、再現率ＣＲ４は、
ｔ1＝ｔ9＝ｔ17
ｔ2＝ｔ10＝ｔ18
ｔ3＝ｔ11＝ｔ19
ｔ4＝ｔ12＝ｔ20
ｔ5＝ｔ13＝ｔ21
ｔ6＝ｔ14＝ｔ22
ｔ7＝ｔ15＝ｔ23
ｔ8＝ｔ16＝ｔ24
なる条件を全て満たす場合あるいは各零クロス間隔データに多少の誤差があっても±１０％の範囲内の誤差である場合には再現率ＣＲ４は１００％となる。また、誤差の大きな零クロス間隔データが生じる場合にはその個数に応じて再現率ＣＲ４が低下する。万一、再現率が同じ場合には、その優先順位は、ＣＲ１＞ＣＲ２＞ＣＲ３＞ＣＲ４（ＣＲ１が最優先）である。
【００５６】
次にステップＳ１０５に進み、以上のようにして求めた再現率ＣＲ１〜ＣＲ４に基づき、仮定１〜４のいずれが妥当であるか否かを判断する。この判断の詳細なフローを図１２に示す。まず、ステップＳ３０１に進み、再現率ＣＲ１〜ＣＲ４のうちどれが最大であるかを判断する。そして、再現率ＣＲ１が最大である場合は、このＣＲ１が所定の基準値ｒｅｆよりも大きいか否かを判断し（ステップＳ３０２）、この判断結果が「ＹＥＳ」の場合には仮定１に従うこと、すなわち、２個分の零クロス間隔データの長さＴ1によりピッチ周期を求めることとする。他の再現率ＣＲ２〜ＣＲ４が最大である場合も同様であり、ＣＲ２等が所定の基準値ｒｅｆよりも大きいか否かを判断し（ステップＳ３０３〜Ｓ３０５）、この判断結果が「ＹＥＳ」の場合には、各再現率の算出の前提となった仮定に従い、４個分の零クロス間隔データの長さＴ2、６個分の零クロス間隔データの長さＴ3あるいは８個分の零クロス間隔データの長さＴ4によりピッチ周期を求めることとする。
【００５７】
一方、再現率ＣＲ１〜ＣＲ４のうち最大のものが基準値ｒｅｆ以下である場合には、ステップＳ３０２〜Ｓ３０５のいずれに進んだとしても判断結果が「ＮＯ」となる。この場合、仮定１〜４のいずれが妥当であるか結論を出すことができず、該当なしという判断結果となる。
【００５８】
以上の判断が終了すると、図１０に示すフローに戻り、判断結果に対応したステップへ進む。すなわち、２個分の零クロス間隔データの長さＴ1によりピッチ周期を求めることと判断した場合にはステップＳ１０６に進み、各々２個分の零クロス間隔データからなるピッチ周期を４周期分求め（図９（ｂ１）のＴ11〜Ｔ14に相当）、これらの平均値をデジタル音声信号のピッチ周期とする。また、４個分の零クロス間隔データの長さＴ2によりピッチ周期を求めることと判断した場合にはステップＳ１０７に進み、この判断結果に従ってピッチ周期を４周期分求め（図９（ｂ２）のＴ21〜Ｔ24に相当）、これらの平均値をデジタル音声信号のピッチ周期とする。また、６個分の零クロス間隔データの長さＴ3によりピッチ周期を求めることと判断した場合にはステップＳ１０８に進み、この判断結果に従ってピッチ周期を４周期分求め（図９（ｂ３）のＴ31〜Ｔ34に相当）、これらの平均値をデジタル音声信号のピッチ周期とする。そして、８個分の零クロス間隔データの長さＴ4によりピッチ周期を求めることと判断した場合にはステップＳ１０９に進み、この判断結果に従ってピッチ周期を３周期分求め（図９（ｂ４）のＴ41〜Ｔ43に相当）、これらの平均値をデジタル音声信号のピッチ周期とする。
【００５９】
以上の処理が終了すると、ステップＳ１０１へ戻り、同様の処理を繰り返す。このようにして、デジタル音声信号のピッチ周期が連続的に出力される訳である。一方、図１２の判断において、「該当なし」との結論が得られた場合にはピッチ周期の演算は行わず、ピッチ周期の演算を行わなかった旨を示す信号を出力し、ステップＳ１０１に戻る。なお、上記においては、デジタル音声信号の場合を例にピッチ周期の演算処理を説明したが、デジタルお手本信号についても全く同様な処理によりピッチ周期が演算される。
【００６０】
以上のように、本実施形態は、仮定１〜４のすべてについて再現率を求め、最も高い再現率の得られた仮定を選択し、この選択した仮定に基づくピッチ演算を当該再現率が許容範囲内である場合に限って実施し、許容範囲外である場合は実施しないという慎重な手順を踏むものである。このような慎重な手順を踏むこととした理由は次の通りである。
【００６１】
ａ．上記手順以外のものとして、例えば仮定１〜４に対応した各再現率を順次演算してゆき、許容範囲内の再現率が得られた時点で演算を終了し、その再現率の得られた仮定を選択してピッチ周期を求めるような代替案が考えられる。しかしながら、音声波形によっては、例えば仮定１および３に対応した再現率が許容範囲内にあり、しかも仮定３に対応した再現率の方が仮定１のものよりも高いという状況の生じることが有り得る。かかる場合にこの代替案に従うとすると、仮定１を選択し、誤ったピッチ周期を求めることとなる。仮定の選択が正しくなされるように許容範囲を狭く設定することも考えられるが、その場合には「該当なし」と判断されるケースが続出するおそれがある。
【００６２】
ｂ．また、仮定１〜４に対応した各再現率をすべて演算し、最大の再現率の得られた仮定を無条件に採用し、ピッチ周期を求めるという代替案も考えられる。しかしながら、いずれの仮定に対応した再現率も一様に低く、特定の仮定に対応した再現率が僅かに他より勝っているようなケースが生じる場合が考えられ、このような場合に特定の仮定を採用して無理にピッチ周期を求めたとしても果たして正確なピッチ周期が得られるか、その保証はない。例えばピッチ周期をデジタル音声信号の波形が急激に変化した場合等においては、上記仮定のいずれにおいても再現率が低くなる可能性が高い。
【００６３】
ｃ．そこで、本実施形態においては、上述の手順に従ってピッチ周期の演算をすることとし、不適当なピッチ周期の出力を防止している。
【００６４】
以上のようにして求められるデジタル音声信号およびデジタルお手本信号の各ピッチ周期が採点部１３に順次報告され、この両信号のピッチ周期のずれとレベル検出部１２によって求められた両信号レベルのずれとの総合評価により、歌唱者の歌が採点され、採点結果が表示部１４に表示される。
【００６５】
Ｃ．本実施形態に係る装置の評価結果
以上説明したピッチ周期検出装置について各部の動作条件を種々設定し、ピッチ周期の検出時間および検出誤差の評価を行った。図１３〜図１６はその結果を示すものである。まず、図１３は、４倍オーバーサンプリング部７として直線補間を行う回路を使用し、この回路のオーバーサンプリング周波数を種々に変化させ、実用域でのピッチ周期の検出誤差を測定した結果である。この結果より、４倍オーバーサンプリング程度の補間を行えば実用域での検出誤差を充分に小さくすることができることがわかる。次に図１４は、ピッチ周期を３周期間の相関により求めた場合（ｍ＝３）と４周期間の相関により求めた場合（ｍ＝４）の各々について、ピッチ周期が検出されるまでの遅れ時間を入力周波数毎に測定した結果を示すものである。この実験結果が示すように、ｍ＝３または４程度であれば、検出遅れを問題のない範囲に収めることができる。また、図１５は、平均化の回数とピッチ周期の抽出誤差との関係を示している。また、図１６は、過去何周期（ピッチ周期）分の波形と比較をすれば正確にピッチ周期を抽出できるかを実験した結果を示すものである。この実験結果は、過去２周期程度を比較したのでは誤差が多く、過去５周期以上の入力波形を比較したのでは波形が古過ぎて却ってピッチ周期を誤ってしまい、結局のところ、過去３〜４周期に亙って入力波形の比較を行うことが正確なピッチ抽出を行う上で最適であることを物語っている。
【００６６】
Ｄ．変形例
（１）上記実施形態においては、１ピッチ周期を構成する各零クロス間隔データが各ピッチ周期間でどの程度一致しているかにより、ピッチ周期を２ｎ個分の零クロス間隔データの和とした仮定が妥当か否かの判断を行った。この方法の代りに、各ｎについて、２ｎ個分の零クロス間隔データの和を演算することにより所定個数のピッチ周期を求め、これらのピッチ周期のばらつきが最も少ないｎを選択し、ピッチ周期を選択するようにしてもよい。すなわち、図９（ｂ１）〜（ｂ４）において、Ｔ11〜Ｔ14のばらつきが最も小さい場合はＴ11〜Ｔ14の平均値をピッチ周期とし、Ｔ21〜Ｔ24のばらつきが最も小さい場合はＴ21〜Ｔ24の平均値をピッチ周期とし、…という具合にピッチ周期を求める訳である。また、上記実施形態において開示した零クロス間隔データに基づく判定方法とこのピッチ周期のばらつきに求める判定方法を併用し、零クロス間隔データおよびピッチ周期の長さのピッチ周期間ばらつきを総合評価し、ピッチ周期を選択するようにしてもよい。
【００６７】
（２）上記実施形態において、２値化部８のマスキング帯の幅Δを固定とした。しかし、零レベル付近に生じる音声波形の微小な上下動の振幅は、音声波形全体の振幅に依存するため、適切なΔを決めるのが困難な場合もある。そこで、デジタル音声信号またはデジタルお手本信号の振幅を検出し、この振幅値に所定の係数を乗じ、その結果をΔとする等の方法により、２値化部８のマスキング帯の幅Δの制御を行うのが好ましい。
（３）上記実施形態ではデジタル処理によりピッチ周期を求めたが、零クロス間隔をアナログ音声波形から直接求め、その結果に基づいてピッチ周期を求めるようにしてもよい。
【００６８】
【発明の効果】
以上説明したように、本発明によれば、音声波形の連続した零クロス間隔を求めると共に所定範囲内の零クロス間隔のみを選択して使用し、各種のｎについて、ピッチ周期を２ｎ個分の零クロス間隔の和と仮定し、上記零クロス間隔に基づいて各ピッチ周期間での音声波形の一致度を求め、一致度の最も優れた仮定を採用してピッチ周期を求めるようにしたので、音声波形が倍音成分を含んだ複雑な波形であり、音声波形の零クロス間隔として不適当なものが測定される状況下においても、高速かつ正確にピッチ周期を求めることができるという効果がある。
【図面の簡単な説明】
【図１】  この発明の一実施形態の構成を示すブロック図である。
【図２】  同実施形態における４倍オーバーサンプリング部の構成例を示すブロック図である。
【図３】  同実施形態における２値化部の構成を例示するブロック図である。
【図４】  同実施形態における２値化部の構成を例示するブロック図である。
【図５】  同実施形態におけるタイマ、ＲＡＭおよびこれらの制御系を示すブロック図である。
【図６】  同実施形態における４倍オーバーサンプリング部の動作を示す図である。
【図７】  同実施形態における２値化部の動作を示す図である。
【図８】  同実施形態における書込制御部の動作を示す図である。
【図９】  同実施形態におけるピッチ周期の算出処理の概要を説明する図である。
【図１０】  同実施形態におけるピッチ周期の算出処理を示すフローチャートである。
【図１１】  同実施形態におけるピッチ周期の算出処理を示すフローチャートである。
【図１２】  同実施形態におけるピッチ周期の算出処理を示すフローチャートである。
【図１３】  同実施形態の性能評価結果を示す図である。
【図１４】  同実施形態の性能評価結果を示す図である。
【図１５】  同実施形態の性能評価結果を示す図である。
【図１６】  同実施形態の性能評価結果を示す図である。
【符号の説明】
１……ＣＤ、２……ボーカル抽出部、３……マイクロホン、
４……Ａ／Ｄ変換器、５……ＤＣ除去部、６……ＬＰＦ、
７……４倍オーバーサンプリング部、８……２値化部、
９……タイマ（零クロス間隔計測手段）、
１０……ＲＡＭ（零クロス間隔計測手段）、
１１……ピッチ演算部（ピッチ演算手段）、
１２……レベル検出部、１３……採点部、１４……表示部。
【図１】
0003707120.tif 000002
【図２】
0003707120.tif 000003
【図３】
0003707120.tif 000004
【図４】
0003707120.tif 000005
【図５】
0003707120.tif 000006
【図６】
0003707120.tif 000007
【図７】
0003707120.tif 000008
【図８】
0003707120.tif 000009
【図９】
0003707120.tif 000010
【図１０】
0003707120.tif 000011
【図１１】
0003707120.tif 000012
【図１２】
0003707120.tif 000013
【図１３】
0003707120.tif 000014
【図１４】
0003707120.tif 000015
【図１５】
0003707120.tif 000016
【図１６】
0003707120.tif 000017