(57)【特許請求の範囲】
【請求項１】
供給される第１のオーディオ信号を放音する第１の放音手段と、
供給される第２のオーディオ信号を放音する第２の放音手段と、
入力される音を入力信号として出力する収音手段と、
前記第１の放音手段に供給される第１のオーディオ信号、前記第２の放音手段に供給される第２のオーディオ信号および前記収音手段から出力される入力信号を、所定のタイミングでフーリエ変換を行うことにより、それぞれ周波数領域の複素ベクトルＬ、Ｒ、Ｍを生成する処理を複数回行う変換手段と、
前記変換手段によって生成された複素ベクトルＬ、Ｒ、Ｍを、フーリエ変換が行われたタイミングごとに組にして記憶する記憶手段と、
前記記憶手段に記憶される複数の複素ベクトルの組から２つの組を選択する処理を、複数回行う選択手段と、
前記選択手段における選択が行われるたびに、所定の数式を用いて当該選択した２つの組に対応する値を算出し、当該算出された複数の値の平均に基づいて、第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出する算出手段と
を具備することを特徴とするエコーキャンセル装置。
【請求項２】
前記算出手段は、以下の数式により第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出する
ＨＬ＝Ａｖｅ（（Ｒ２＊Ｍ１−Ｒ１＊Ｍ２）＊Ｃ＊）／Ａｖｅ（Ｃ＊Ｃ＊）
ＨＲ＝Ａｖｅ（（Ｌ１＊Ｍ２−Ｌ２＊Ｍ１）＊Ｃ＊）／Ａｖｅ（Ｃ＊Ｃ＊）
ただし、
Ｌ１、Ｒ１、Ｍ１：前記選択手段が選択した２つの組のうち、一方の組の複素ベクトル
Ｌ２、Ｒ２、Ｍ２：前記選択手段が選択した２つの組のうち、もう一方の組の複素ベクトル
Ｘ＊Ｙ：複素ベクトルＸとＹとの対応する要素ごとの積
Ｘ／Ｙ：複素ベクトルＸとＹとの対応する要素ごとの商
Ｃ＝Ｌ１＊Ｒ２−Ｌ２＊Ｒ１
Ｃ＊：Ｃの共役複素数
Ａｖｅ（Ｚ）：前記選択手段が２つの組を選択するたびに計算される複素ベクトルＺの平均
ことを特徴とする請求項１に記載のエコーキャンセル装置。
【請求項３】
前記第１の放音手段に供給される第１のオーディオ信号と前記第２の放音手段に供給される第２のオーディオ信号とを加算して第３のオーディオ信号を出力する加算手段と、
前記第３のオーディオ信号および前記収音手段から出力される入力信号を、所定のタイミングでフーリエ変換を行うことにより、それぞれ周波数領域の複素ベクトルＡ、Ｍを生成する処理を複数回行う第２の変換手段と、
前記第２の変換手段によって生成された複素ベクトルＡ、Ｍを、フーリエ変換が行われたタイミングごとに組にして記憶する第２の記憶手段と、
所定の数式を用いて前記第２の記憶手段に記憶された複数の組の各々に対応する値を算出し、当該算出された複数の値の平均に基づいて、第３の伝達関数ＨＡを算出する第２の算出手段と、
前記第２の算出手段が算出した第３の伝達関数ＨＡと前記加算手段から出力される第３のオーディオ信号とに基づいてモノラルキャンセル信号を生成するモノラルキャンセル信号生成手段と、
前記算出手段が算出した第１の伝達関数ＨＬと前記第１の放音手段に供給される第１のオーディオ信号とに基づいて第１のキャンセル信号を生成し、前記算出手段が算出した第２の伝達関数ＨＲと前記第２の放音手段に供給される第２のオーディオ信号とに基づいて第２のキャンセル信号を生成し、当該生成した第１のキャンセル信号と第２のキャンセル信号とを加算してステレオキャンセル信号を生成するステレオキャンセル信号生成手段と、
前記第１の放音手段に供給される第１のオーディオ信号と前記第２の放音手段に供給される第２のオーディオ信号とに基づいて、当該第１のオーディオ信号と当該第２のオーディオ信号との違いの程度を示す相違度Ｐを算出し、当該算出した相違度Ｐが所定値以上であるか否かにより、ステレオ状態かモノラル状態かを判定する判定手段と、
前記判定手段がステレオ状態と判定した場合には、前記収音手段から出力された入力信号から前記ステレオキャンセル信号を減算した信号を出力し、前記判定手段がモノラル状態と判定した場合には、前記収音手段から出力された入力信号から前記モノラルキャンセル信号を減算した信号を出力する出力手段と
を具備する
ことを特徴とする請求項１または請求項２に記載のエコーキャンセル装置。
【請求項４】
前記第２の算出手段は、以下の数式により第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出する
ＨＡ＝Ａｖｅ（Ｍ＊Ａ＊）／Ａｖｅ（Ａ＊Ａ＊）
ただし、
Ｘ＊Ｙ：複素ベクトルＸとＹとの対応する要素ごとの積
Ｘ／Ｙ：複素ベクトルＸとＹとの対応する要素ごとの商
Ａ＊：Ａの共役複素数
Ａｖｅ（Ｚ）：前記第２の記憶手段に記憶された組ごとに計算される複素ベクトルＺの平均
ことを特徴とする請求項３に記載のエコーキャンセル装置。
【請求項５】
前記判定手段は、以下の数式により相違度Ｐを算出する
Ｐ＝Ａｖｅ（Ｌ１＊Ｒ２−Ｌ２＊Ｒ１）／Ａｖｅ（Ｌ１＊Ｒ２＋Ｌ２＊Ｒ１）
但し、
Ｘ＊Ｙ：複素ベクトルＸとＹとの対応する要素ごとの積
Ｘ／Ｙ：複素ベクトルＸとＹとの対応する要素ごとの商
Ａｖｅ（Ｚ）：前記選択手段が２つの組を選択するたびに計算される複素ベクトルＺの平均
ことを特徴とする請求項３または請求項４に記載のエコーキャンセル装置。
【請求項６】
前記算出手段が算出した第１の伝達関数ＨＬと前記第１の放音手段に供給される第１のオーディオ信号とに基づいて第１のキャンセル信号を生成し、前記算出手段が算出した第２の伝達関数ＨＲと前記第２の放音手段に供給される第２のオーディオ信号とに基づいて第２のキャンセル信号を生成し、当該生成した第１のキャンセル信号と第２のキャンセル信号とを加算してステレオキャンセル信号を生成するステレオキャンセル信号生成手段と、
前記収音手段から出力された入力信号からステレオキャンセル信号を減算して出力する出力手段と
をさらに具備する
ことを特徴とする請求項１または請求項２に記載のエコーキャンセル装置。
【請求項７】
請求項３乃至請求項６のいずれかに記載のエコーキャンセル装置と、
前記出力手段から出力された信号に基づいて、ピッチを算出するピッチ算出手段と
を具備することを特徴とするカラオケ装置。
【請求項８】
供給される第１のオーディオ信号を放音する第１の放音過程と、
供給される第２のオーディオ信号を放音する第２の放音過程と、
入力される音を入力信号として出力する収音過程と、
前記第１の放音過程において供給される第１のオーディオ信号、前記第２の放音過程において供給される第２のオーディオ信号および前記収音過程によって出力される入力信号を、所定のタイミングでフーリエ変換を行うことにより、それぞれ周波数領域の複素ベクトルＬ、Ｒ、Ｍを生成する処理を複数回行う変換過程と、
前記変換過程によって生成された複素ベクトルＬ、Ｒ、Ｍを、フーリエ変換が行われたタイミングごとに組にして記憶手段に記憶する記憶過程と、
前記記憶手段に記憶される複数の複素ベクトルの組から２つの組を選択する処理を、複数回行う選択過程と、
前記選択過程における選択が行われるたびに、所定の数式によって当該選択した２つの組に基づく値を算出し、当該算出された複数の値の平均に基づいて、第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出する算出過程と
を備えることを特徴とするエコーキャンセル方法。
【請求項９】
コンピュータに、
供給される第１のオーディオ信号を放音する第１の放音機能と、
供給される第２のオーディオ信号を放音する第２の放音機能と、
入力される音を入力信号として出力する収音機能と、
前記第１の放音機能において供給される第１のオーディオ信号、前記第２の放音機能において供給される第２のオーディオ信号および前記収音機能によって出力される入力信号を、所定のタイミングでフーリエ変換を行うことにより、それぞれ周波数領域の複素ベクトルＬ、Ｒ、Ｍを生成する処理を複数回行う変換機能と、
前記変換機能によって生成された複素ベクトルＬ、Ｒ、Ｍを、フーリエ変換が行われたタイミングごとに組にして記憶手段に記憶する記憶機能と、
前記記憶手段に記憶される複数の複素ベクトルの組から２つの組を選択する処理を、複数回行う選択機能と、
前記選択機能における選択が行われるたびに、所定の数式を用いて当該選択した２つの組に対応する値を算出し、当該算出された複数の値の平均に基づいて、第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出する算出機能と
を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エコーキャンセルの技術に関する。
【背景技術】
【０００２】
カラオケ装置においては、歌唱者の歌唱の巧拙を採点するための方法として様々な方法が提案されている。例えば、歌唱者の歌唱のピッチを検出し、歌唱のピッチと手本となるリファレンスのピッチとの比較に基づいて採点する方法がある（例えば、特許文献１）。
【特許文献１】特開２００５−１０７３３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
歌唱者の歌唱は、マイクによって収音されるが、この収音にはスピーカから放音されるカラオケの伴奏も一緒に収音される場合がある。このような場合には、マイクによって収音された歌唱者の歌唱とカラオケの伴奏に基づいてピッチを検出することになり、歌唱者の歌唱のピッチが正確に検出されないことがあった。
【０００４】
このような場合に、様々なエコーキャンセル技術を用いてカラオケの伴奏部分を除去することができる。このようなエコーキャンセル技術は、適応型のＦＩＲ（Ｆｉｎｉｔｅ  ｉｍｐｕｌｓｅ  ｒｅｓｐｏｎｓｅ）フィルタの係数を逐次修正する方法（以下、ＦＩＲ方式という）、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）を使い伝達関数を求める方式（以下、ＦＦＴ方式という）がある。
【０００５】
ＦＩＲ方式によるタップ数はＦＦＴ方式のＦＦＴサイズに対応するものであり、その数値が大きくなればモデル化の精度が高くなる。サンプルごとの演算回数は、概ねＦＩＲ方式の場合はタップ数に比例するが、ＦＦＴ方式の場合はＦＦＴサイズの対数に比例するため、タップ数またはＦＦＴサイズが大きくなると、ＦＦＴ方式の演算数が少なくなる利点がある。一方、スピーカからの放音がステレオ方式である場合には、ＬチャンネルとＲチャンネルで相関があるため、それぞれのスピーカからマイクへの伝達関数の測定は困難であった。
【０００６】
本発明は、上述の事情に鑑みてなされたものであり、ステレオ方式において、Ｌチャンネル、Ｒチャンネルのスピーカからマイクへの伝達関数を少ない演算数で算出することが可能なエコーキャンセル装置、カラオケ装置、エコーキャンセル方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明は、供給される第１のオーディオ信号を放音する第１の放音手段と、供給される第２のオーディオ信号を放音する第２の放音手段と、入力される音を入力信号として出力する収音手段と、前記第１の放音手段に供給される第１のオーディオ信号、前記第２の放音手段に供給される第２のオーディオ信号および前記収音手段から出力される入力信号を、所定のタイミングでフーリエ変換を行うことにより、それぞれ周波数領域の複素ベクトルＬ、Ｒ、Ｍを生成する処理を複数回行う変換手段と、前記変換手段によって生成された複素ベクトルＬ、Ｒ、Ｍを、フーリエ変換が行われたタイミングごとに組にして記憶する記憶手段と、前記記憶手段に記憶される複数の複素ベクトルの組から２つの組を選択する処理を、複数回行う選択手段と、前記選択手段における選択が行われるたびに、所定の数式を用いて当該選択した２つの組に対応する値を算出し、当該算出された複数の値の平均に基づいて、第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出する算出手段とを具備することを特徴とするエコーキャンセル装置を提供する。
【０００８】
また、別の好ましい態様において、前記算出手段は、以下の数式により第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出してもよい。
ＨＬ＝Ａｖｅ（（Ｒ２＊Ｍ１−Ｒ１＊Ｍ２）＊Ｃ＊）／Ａｖｅ（Ｃ＊Ｃ＊）
ＨＲ＝Ａｖｅ（（Ｌ１＊Ｍ２−Ｌ２＊Ｍ１）＊Ｃ＊）／Ａｖｅ（Ｃ＊Ｃ＊）
ただし、
Ｌ１、Ｒ１、Ｍ１：前記選択手段が選択した２つの組のうち、一方の組の複素ベクトル
Ｌ２、Ｒ２、Ｍ２：前記選択手段が選択した２つの組のうち、もう一方の組の複素ベクトル
Ｘ＊Ｙ：複素ベクトルＸとＹとの対応する要素ごとの積
Ｘ／Ｙ：複素ベクトルＸとＹとの対応する要素ごとの商
Ｃ＝Ｌ１＊Ｒ２−Ｌ２＊Ｒ１
Ｃ＊：Ｃの共役複素数
Ａｖｅ（Ｚ）：前記選択手段が２つの組を選択するたびに計算される複素ベクトルＺの平均
【０００９】
また、別の好ましい態様において、前記第１の放音手段に供給される第１のオーディオ信号と前記第２の放音手段に供給される第２のオーディオ信号とを加算して第３のオーディオ信号を出力する加算手段と、前記第３のオーディオ信号および前記収音手段から出力される入力信号を、所定のタイミングでフーリエ変換を行うことにより、それぞれ周波数領域の複素ベクトルＡ、Ｍを生成する処理を複数回行う第２の変換手段と、前記第２の変換手段によって生成された複素ベクトルＡ、Ｍを、フーリエ変換が行われたタイミングごとに組にして記憶する第２の記憶手段と、所定の数式を用いて前記第２の記憶手段に記憶された複数の組の各々に対応する値を算出し、当該算出された複数の値の平均に基づいて、第３の伝達関数ＨＡを算出する第２の算出手段と、前記第２の算出手段が算出した第３の伝達関数ＨＡと前記加算手段から出力される第３のオーディオ信号とに基づいてモノラルキャンセル信号を生成するモノラルキャンセル信号生成手段と、前記算出手段が算出した第１の伝達関数ＨＬと前記第１の放音手段に供給される第１のオーディオ信号とに基づいて第１のキャンセル信号を生成し、前記算出手段が算出した第２の伝達関数ＨＲと前記第２の放音手段に供給される第２のオーディオ信号とに基づいて第２のキャンセル信号を生成し、当該生成した第１のキャンセル信号と第２のキャンセル信号とを加算してステレオキャンセル信号を生成するステレオキャンセル信号生成手段と、前記第１の放音手段に供給される第１のオーディオ信号と前記第２の放音手段に供給される第２のオーディオ信号とに基づいて、当該第１のオーディオ信号と当該第２のオーディオ信号との違いの程度を示す相違度Ｐを算出し、当該算出した相違度Ｐが所定値以上であるか否かにより、ステレオ状態かモノラル状態かを判定する判定手段と、前記判定手段がステレオ状態と判定した場合には、前記収音手段から出力された入力信号から前記ステレオキャンセル信号を減算した信号を出力し、前記判定手段がモノラル状態と判定した場合には、前記収音手段から出力された入力信号から前記モノラルキャンセル信号を減算した信号を出力する出力手段とを具備してもよい。
【００１０】
また、別の好ましい態様において、前記第２の算出手段は、以下の数式により第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出してもよい。
ＨＡ＝Ａｖｅ（Ｍ＊Ａ＊）／Ａｖｅ（Ａ＊Ａ＊）
ただし、
Ｘ＊Ｙ：複素ベクトルＸとＹとの対応する要素ごとの積
Ｘ／Ｙ：複素ベクトルＸとＹとの対応する要素ごとの商
Ａ＊：Ａの共役複素数
Ａｖｅ（Ｚ）：前記第２の記憶手段に記憶された組ごとに計算される複素ベクトルＺの平均
【００１１】
また、別の好ましい態様において、前記判定手段は、以下の数式により相違度Ｐを算出してもよい。
Ｐ＝Ａｖｅ（Ｌ１＊Ｒ２−Ｌ２＊Ｒ１）／Ａｖｅ（Ｌ１＊Ｒ２＋Ｌ２＊Ｒ１）
但し、
Ｘ＊Ｙ：複素ベクトルＸとＹとの対応する要素ごとの積
Ｘ／Ｙ：複素ベクトルＸとＹとの対応する要素ごとの商
Ａｖｅ（Ｚ）：前記選択手段が２つの組を選択するたびに計算される複素ベクトルＺの平均
【００１２】
また、別の好ましい態様において、前記算出手段が算出した第１の伝達関数ＨＬと前記第１の放音手段に供給される第１のオーディオ信号とに基づいて第１のキャンセル信号を生成し、前記算出手段が算出した第２の伝達関数ＨＲと前記第２の放音手段に供給される第２のオーディオ信号とに基づいて第２のキャンセル信号を生成し、当該生成した第１のキャンセル信号と第２のキャンセル信号とを加算してステレオキャンセル信号を生成するステレオキャンセル信号生成手段と、前記収音手段から出力された入力信号からステレオキャンセル信号を減算して出力する出力手段とをさらに具備してもよい。
【００１３】
また、本発明は、上記に記載のエコーキャンセル装置と、前記出力手段から出力された信号に基づいて、ピッチを算出するピッチ算出手段とを具備することを特徴とするカラオケ装置を提供する。
【００１４】
また、本発明は、供給される第１のオーディオ信号を放音する第１の放音過程と、供給される第２のオーディオ信号を放音する第２の放音過程と、入力される音を入力信号として出力する収音過程と、前記第１の放音過程において供給される第１のオーディオ信号、前記第２の放音過程において供給される第２のオーディオ信号および前記収音過程によって出力される入力信号を、所定のタイミングでフーリエ変換を行うことにより、それぞれ周波数領域の複素ベクトルＬ、Ｒ、Ｍを生成する処理を複数回行う変換過程と、前記変換過程によって生成された複素ベクトルＬ、Ｒ、Ｍを、フーリエ変換が行われたタイミングごとに組にして記憶手段に記憶する記憶過程と、前記記憶手段に記憶される複数の複素ベクトルの組から２つの組を選択する処理を、複数回行う選択過程と、前記選択過程における選択が行われるたびに、所定の数式を用いて当該選択した２つの組に対応する値を算出し、当該算出された複数の値の平均に基づいて、第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出する算出過程とを備えることを特徴とするエコーキャンセル方法を提供する。
【００１５】
また、本発明は、コンピュータに、供給される第１のオーディオ信号を放音する第１の放音機能と、供給される第２のオーディオ信号を放音する第２の放音機能と、入力される音を入力信号として出力する収音機能と、前記第１の放音機能において供給される第１のオーディオ信号、前記第２の放音機能において供給される第２のオーディオ信号および前記収音機能によって出力される入力信号を、所定のタイミングでフーリエ変換を行うことにより、それぞれ周波数領域の複素ベクトルＬ、Ｒ、Ｍを生成する処理を複数回行う変換機能と、前記変換機能によって生成された複素ベクトルＬ、Ｒ、Ｍを、フーリエ変換が行われたタイミングごとに組にして記憶手段に記憶する記憶機能と、前記記憶手段に記憶される複数の複素ベクトルの組から２つの組を選択する処理を、複数回行う選択機能と、前記選択機能における選択が行われるたびに、所定の数式を用いて当該選択した２つの組に対応する値を算出し、当該算出された複数の値の平均に基づいて、第１の伝達関数ＨＬおよび第２の伝達関数ＨＲを算出する算出機能とを実現するためのプログラムを提供する。
【発明の効果】
【００１６】
本発明によれば、ステレオ方式において、Ｌチャンネル、Ｒチャンネルのスピーカからマイクへの伝達関数を少ない演算数で算出することが可能なエコーキャンセル装置、カラオケ装置、エコーキャンセル方法およびプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態について説明する。
【００１８】
＜実施形態＞
本発明の実施形態に係るカラオケ装置１は、後述するようなエコーキャンセル機能を有している。図１に示すように、各スピーカ１６−Ｌ、１６−Ｒからの放音をマイクロフォン１７−Ｍで収音し、各スピーカ１６−Ｌ、１６−Ｒに供給されるオーディオ信号と、マイクロフォン１７−Ｍの収音内容に基づいて、スピーカ１６−Ｌからマイクロフォン１７−Ｍへの伝達関数ＨＬ、スピーカ１６−Ｒからマイクロフォン１７−Ｍへの伝達関数ＨＲを計算することによって、エコーキャンセル機能を実現する。
【００１９】
カラオケ装置１のハードウエアの構成について、図２を用いて説明する。図２は、カラオケ装置１のハードウエアの構成を示すブロック図である。
【００２０】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１は、記憶部１２に記憶されたプログラムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３にロードして実行する。これにより、ＣＰＵ１１が、バス１０を介して、カラオケ装置１の各部について制御する。また、ＲＡＭ１３は、ＣＰＵ１１が各データの加工などを行う際のワークエリアとして機能する。
【００２１】
記憶部１２は、ハードディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、不揮発性メモリなどの記憶手段であって、上述したプログラム、各種情報を記憶する。
【００２２】
操作部１４は、例えばキーボード、マウス、リモコンなどであり、カラオケ装置１の利用者が操作部１４を操作すると、その操作内容を表す情報がＣＰＵ１１へ出力される。
【００２３】
表示部１５は、液晶ディスプレイなどの表示デバイスであって、ＣＰＵ１１によって入力される映像データに基づく表示、カラオケ装置１を操作するためのメニュー画面などの各種画面の表示を行う。また、ＣＰＵ１１の制御に基づいて、操作部１４の操作に対応するポインタなどの表示を行う。
【００２４】
音声出力部１６は、スピーカ１６−Ｌ、１６−Ｒを有し、各々に入力されるオーディオ信号に基づいて放音する。
【００２５】
音声入力部１７は、収音を行うマイクロフォン１７−Ｍを有し、マイクロフォンの収音に基づいたオーディオ信号（以下、入力信号という）を生成して出力する。
【００２６】
通信部１８は、有線、無線などによって、配信サーバなどとデータの送受信を行う通信手段である。通信部１８は、利用者が操作部１４を操作することによって、選択されるカラオケ曲を示す情報を送信し、この情報に対応したカラオケ曲の伴奏を示すＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）形式などの演奏データ、カラオケ曲の歌詞を示す歌詞テキストデータおよび色替え指示を示すワイプデータなどの歌詞表示データを受信する。
【００２７】
そして、ＣＰＵ１１は、通信部１８が受信した歌詞表示データに基づいて、映像データを生成して表示部１５に出力することにより、表示部１５にカラオケ曲の歌詞などを表示させる。また、ＣＰＵ１１は、通信部１８が受信した演奏データに基づいて、オーディオ信号を生成する。このオーディオ信号は、多チャンネルの形式であり、本実施形態においては、２チャンネル（Ｌｃｈ、Ｒｃｈ）とする。以下、Ｌｃｈ、Ｒｃｈのオーディオ信号を区別して表記するときには、Ｌｃｈのオーディオ信号を伴奏信号Ｌｃｈ、Ｒｃｈのオーディオ信号を伴奏信号Ｒｃｈという。ＣＰＵ１１は、生成したオーディオ信号を音声出力部１６に供給する。そして、音声出力部１６は、スピーカ１６−Ｌに伴奏信号Ｌｃｈを、スピーカ１６−Ｒに伴奏信号Ｒｃｈを供給する。以上が、カラオケ装置１のハードウエアの構成の説明である。
【００２８】
次に、カラオケ装置１のＣＰＵ１１が記憶部１２に記憶されたプログラムを実行することによって実現する機能のうち、エコーキャンセル機能について、図３を用いて説明する。図３は、ＣＰＵ１１が実現する機能を示したソフトウエアの構成を示すブロック図である。
【００２９】
判定部１０１は、スピーカ１６−Ｌ、１６−Ｒに供給される伴奏信号Ｌｃｈと伴奏信号Ｒｃｈとが入力され、これらの信号に基づいて、各スピーカ１６−Ｌ、１６−Ｒの放音が、ステレオ状態になっているか、モノラル状態になっているかを判定する。すなわち、伴奏信号Ｌｃｈと伴奏信号Ｒｃｈとの違いの程度を示す相違度Ｐを算出し、この相違度Ｐの大きさが所定値以上であれば、伴奏信号Ｌｃｈと伴奏信号Ｒｃｈはステレオ状態であると判定し、それ以外であれば、伴奏信号Ｌｃｈと伴奏信号Ｒｃｈとはほぼ同一であるとしてモノラル状態と判定する。そして、判定した状態を示す判定信号を切替部１０８に出力する。判定部１０１の詳細構成について、図４を用いて説明する。図４は、判定部１０１の構成を示すブロック図である。
【００３０】
ＦＦＴ部１０１１は、伴奏信号Ｌｃｈが入力され、入力された伴奏信号ＬｃｈにＦＦＴを施して、所定のタイミングごとに周波数領域の複素ベクトルＬを生成する。また、伴奏信号Ｒｃｈについても同様にして複素ベクトルＲを生成する。そして、生成した複素ベクトルＬと複素ベクトルＲとを組にして順次バッファ部１０１２に記憶させる。
【００３１】
バッファ部１０１２は、上述のように、ＦＦＴ部１０１１から出力された複素ベクトルＬ、Ｒを、生成されるタイミングごとに組にして記憶する。
【００３２】
選択部１０１３は、バッファ部１０１２に記憶された複素ベクトルＬ、Ｒの組から２つの組を選択して読み出し、算出部１０１４に出力する。そして、２つの組の選択を複数回（本実施形態においてはｎ回とする）繰り返す。このような２つの組選択は、所定のアルゴリズムによって定められた方法で行われる。例えば、バッファ部１０１２に記憶された複素ベクトルの組のうち、ランダムに２つの組を選択するものであってもよいし、早い時刻に生成された順に２つずつの組を選択するものであってもよいし、一方の組は固定して、もう一方の組を適宜選択するものであってもよく、選択された２つの組が同一でなければ、どのようなアルゴリズムで行なわれてもよい。以下、読み出した２つの組に係る複素ベクトルは、複素ベクトルＬ１、Ｒ１、および複素ベクトルＬ２、Ｒ２という。
【００３３】
算出部１０１４は、選択部１０１３から出力された複素ベクトルＬ１、Ｒ１、および複素ベクトルＬ２、Ｒ２を用いた以下の数式（１）、（２）によってＰａｍ、Ｐｂｍを算出し、算出したＰａｍ、Ｐｂｍを平均化部１０１５に出力する。
Ｐａｍ＝（Ｌ１ｍ＊Ｒ２ｍ−Ｌ２ｍ＊Ｒ１ｍ）・・・（１）
Ｐｂｍ＝（Ｌ１ｍ＊Ｒ２ｍ＋Ｌ２ｍ＊Ｒ１ｍ）・・・（２）
ただし、「Ｘ＊Ｙ」は、複素ベクトルＸとＹとの対応する要素（周波数領域）ごとの積（以下の数式においても同じ）を示す。例えば、複素ベクトルＸが｛ｘ１，ｘ２，ｘ３｝という要素で表され、Ｙが｛ｙ１，ｙ２，ｙ３｝という要素で表される場合には、「Ｘ＊Ｙ」は、｛ｘ１×ｙ１，ｘ２×ｙ２，ｘ３×ｙ３｝という要素で表されるベクトルになるような演算を行うものである。また、ｍ＝１、２、・・・、ｎであり、Ｌ１ｍは、選択部１０１３においてｍ回目に選択された２つの組の一方の組の複素ベクトルＬ１を示す。Ｌ２ｍ、Ｒ１ｍ、Ｒ２ｍ、また、後述するＡｍ，ＭｍについてもＬ１ｍと同様である。
【００３４】
平均化部１０１５は、算出部１０１４から出力されたＰａｍおよびＰｂｍを用いた以下の数式（３）によって相違度Ｐを算出し、評価部１０１６に出力する。
Ｐ＝Ａｖｅ（Ｐａｍ）／Ａｖｅ（Ｐｂｍ）・・・（３）
ただし、「Ｘ／Ｙ」は、複素ベクトルＸとＹとの対応する要素ごとの商（以下の数式においても同じ）を示す。例えば、複素ベクトルＸが｛ｘ１，ｘ２，ｘ３｝という要素で表され、Ｙが｛ｙ１，ｙ２，ｙ３｝という要素で表される場合には、「Ｘ／Ｙ」は、｛ｘ１／ｙ１，ｘ２／ｙ２，ｘ３／ｙ３｝という要素で表されるベクトルになるような演算を行うものである。「Ａｖｅ（Ｚｍ）」は、ｍ＝１〜ｎの複素ベクトルＺの平均（以下の数式においても同じ）であり、Ａｖｅ（Ｚｍ）＝（Ｚ１＋Ｚ２＋・・・＋Ｚｎ）／ｎを示す。
【００３５】
評価部１０１６は、平均化部１０１５から入力された相違度Ｐが予め定められた所定値以上であればステレオ状態と判定し、それ以外の場合、すなわちＰが所定値より小さい場合には、複素ベクトルＬとＲとがほぼ同一であり、モノラル状態と判定する。そして、評価部１０１６は、ステレオ状態かモノラル状態かを示す判定信号を切替部１０８に出力する。以上が、判定部１０１の構成の説明である。
【００３６】
図３に戻る。ステレオ伝達関数算出部１０２は、音声入力部１７によって生成された入力信号と、スピーカ１６−Ｌ、１６−Ｒに供給される伴奏信号Ｌｃｈと伴奏信号Ｒｃｈとに基づいて、スピーカ１６−Ｌからマイクロフォン１７−Ｍへの伝達関数ＨＬと、スピーカ１６−Ｒからマイクロフォン１７−Ｍへの伝達関数ＨＲとを算出する。そして、算出した伝達関数ＨＬ、ＨＲをステレオキャンセル信号生成部１０３に出力する。なお、スピーカ１６−Ｌ、１６−Ｒの放音がステレオ状態である場合を想定しているから、判定部１０１の判定がステレオ状態であるときのみ、ステレオ伝達関数算出部１０２、および後述するステレオキャンセル信号生成部１０３が機能するようにしてもよい。以下、ステレオ伝達関数算出部１０２の詳細構成について図５を用いて説明する。図５は、ステレオ伝達関数算出部１０２の構成を示すブロック図である。
【００３７】
ＦＦＴ部１０２１は、ＦＦＴ部１０１１と同様に、伴奏信号Ｌｃｈ、伴奏信号Ｒｃｈが入力され、所定のタイミングごとにＦＦＴを施して各々の複素ベクトルＬ、Ｒを生成する。さらに、ＦＦＴ部１０２１には、マイクロフォン１７−Ｍの収音によって音声入力部１７によって生成された入力信号が入力され、この入力信号についても所定のタイミングごとにＦＦＴを施し、周波数領域の複素ベクトルＭを生成する。そして、生成した複素ベクトルＬと複素ベクトルＲと複素ベクトルＭとを組にして順次バッファ部１０２２に記憶させる。
【００３８】
バッファ部１０２２は、上述のように、ＦＦＴ部１０２１から出力された複素ベクトルＬ、Ｒ、Ｍを、生成されるタイミングごとに組にして記憶する。
【００３９】
選択部１０２３は、バッファ部１０２２に記憶された複素ベクトルＬ、Ｒ、Ｍの組から２つの組を選択して読み出し、算出部１０２４に出力する。そして、２つの組の選択を複数回（本実施形態においてはｎ回とする）繰り返す。このような２つの組選択は、所定のアルゴリズムによって定められた方法で行われ、選択部１０１３と同様に様々なアルゴリズムを用いることができる。以下、読み出した２つの組に係る複素ベクトルは、複素ベクトルＬ１、Ｒ１、Ｍ１および複素ベクトルＬ２、Ｒ２、Ｍ２という。
【００４０】
算出部１０２４は、選択部１０２３から出力された複素ベクトルＬ１、Ｒ１、Ｍ１、および複素ベクトルＬ２、Ｒ２、Ｍ２を用いた以下の数式（４）〜（６）によってＨＬｍ、ＨＲｍ、Ｃｍを算出し、算出したＨＬｍ、ＨＲｍ、Ｃｍを平均化部１０２５に出力する。
ＨＬｍ＝（Ｒ２ｍ＊Ｍ１ｍ−Ｒ１ｍ＊Ｍ２ｍ）・・・（４）
ＨＲｍ＝（Ｌ１ｍ＊Ｍ２ｍ−Ｌ２ｍ＊Ｍ１ｍ）・・・（５）
Ｃｍ＝（Ｌ１ｍ＊Ｒ２ｍ−Ｌ２ｍ＊Ｒ１ｍ）・・・（６）
【００４１】
平均化部１０２５は、算出部１０２４から出力されたＨＬｍ、ＨＲｍ、Ｃｍを用いた以下の数式（７）（８）によって、伝達関数ＨＬ、伝達関数ＨＲを算出し、ステレオキャンセル信号生成部１０３に出力する。
ＨＬ＝Ａｖｅ（ＨＬｍ＊Ｃｍ＊）／Ａｖｅ（Ｃｍ＊Ｃｍ＊）・・・（７）
ＨＲ＝Ａｖｅ（ＨＲｍ＊Ｃｍ＊）／Ａｖｅ（Ｃｍ＊Ｃｍ＊）・・・（８）
ただし、「Ｃｍ＊」は、Ｃｍの共役複素数（以下の数式においても同じ）である。
【００４２】
ここで、上記方法により伝達関数ＨＬ、ＨＲが計算できる根拠について説明する。まず、入力信号は、スピーカ１６−Ｌとスピーカ１６−Ｒからの放音が、マイクロフォン１７−Ｍによって収音されたものとノイズ信号とをあわせた信号であるから、選択部１０２３で選択される２つの組である複素ベクトルＬ１、Ｒ１、Ｍ１、Ｌ２、Ｒ２、Ｍ２、および各組のタイミングにおいて想定されるノイズ信号を示す複素ベクトルＥ１、Ｅ２（仮の値であって計算により導出されるものではない）は、以下の数式（９）（１０）が成り立つ。
Ｍ１＝ＨＬ＊Ｌ１＋ＨＲ＊Ｒ１＋Ｅ１・・・（９）
Ｍ２＝ＨＬ＊Ｌ２＋ＨＲ＊Ｒ２＋Ｅ２・・・（１０）
【００４３】
数式（９）、（１０）をＨＬ、ＨＲを未知数とした２元連立方程式と考え、まずＨＬを導出する。数式（９）の両辺にＲ２を乗算したものから、数式（１０）の両辺にＲ１を乗算したものを減算すると、以下の数式（１１）が得られる。
ＨＬ＝（Ｒ２＊（Ｍ１−Ｅ１）−Ｒ１＊（Ｍ２−Ｅ２））／（Ｌ１＊Ｒ２−Ｌ２＊Ｒ１）
・・・（１１）
【００４４】
次に、数式（１１）の分母（Ｌ１＊Ｒ２−Ｌ２＊Ｒ１）をＣとし、その共役複素数Ｃ＊を数式（１１）の分母分子に乗算すると、以下の数式（１２）が得られる。
ＨＬ＝（（Ｒ２＊（Ｍ１−Ｅ１）−Ｒ１＊（Ｍ２−Ｅ２））＊Ｃ＊）／（Ｃ＊Ｃ＊）
＝（（Ｒ２＊Ｍ１＊Ｃ＊）−（Ｒ２＊Ｅ１＊Ｃ＊）−（Ｒ１＊Ｍ２＊Ｃ＊）＋（Ｒ１＊Ｅ２＊Ｃ＊））／（Ｃ＊Ｃ＊）・・・（１２）
【００４５】
数式（１２）を様々な２つの組の複素ベクトルＬ、Ｒ、Ｍで計算し、分母分子をそれぞれ平均すると、分子の第２項（Ｒ２＊Ｅ１＊Ｃ＊）、第４項（Ｒ１＊Ｅ２＊Ｃ＊）は、相関の無いクロススペクトルの平均であるから、「０」となり、以下の数式（１３）が得られる。
ＨＬ＝Ａｖｅ（（Ｒ２＊Ｍ１−Ｒ１＊Ｍ２）＊Ｃ＊）／Ａｖｅ（Ｃ＊Ｃ＊）・・・（１３）
【００４６】
同様にして、ＨＲを導出すると、以下の数式（１４）が得られる。
ＨＲ＝Ａｖｅ（（Ｌ１＊Ｍ２−Ｌ２＊Ｍ１）＊Ｃ＊）／Ａｖｅ（Ｃ＊Ｃ＊）・・・（１４）
【００４７】
このように、複素ベクトルＬ、Ｒ、Ｍを組にしてバッファ部１０２２に所定数の組を記憶し、バッファ部１０２２に記憶された複素ベクトルの組から２つを選択して伝達関数ＨＬ、ＨＲを算出する際に、複数回の算出を行って平均化処理を行うことにより、ノイズ信号を示す複素ベクトルＥ１、Ｅ２については計算上から消去され、ＨＬ、ＨＲの算出を行うことができる。以上が、ステレオ伝達関数算出部１０２の構成の説明である。
【００４８】
図３に戻る。ステレオキャンセル信号生成部１０３は、ステレオ伝達関数算出部１０２から伝達関数ＨＬ、伝達関数ＨＲが入力されると、別途、異なる伝達関数が入力されるまでは、この伝達関数を現状の伝達関数であるものとして設定する。
【００４９】
そして、ステレオキャンセル信号生成部１０３は、スピーカ１６−Ｌに供給される伴奏信号Ｌｃｈと、設定した伝達関数ＨＬとに基づいて、スピーカ１６−Ｌからの音をマイクロフォン１７−Ｍが収音すると想定される信号を示すキャンセル信号Ｌｃｈを生成する。また、同様にして、スピーカ１６−Ｒに供給される伴奏信号Ｒｃｈと、設定された伝達関数ＨＲとに基づいて、キャンセル信号Ｒｃｈを生成する。
【００５０】
具体的には、伴奏信号ＬｃｈにＦＦＴを施した複素ベクトルＬと伝達関数ＨＬとの積（Ｌ＊ＨＬ）を算出し、この算出結果に対して逆ＦＦＴを行うことで、キャンセル信号Ｌｃｈを生成する。また、伴奏信号ＲｃｈにＦＦＴを施した複素ベクトルＲと伝達関数ＨＲとの積（Ｒ＊ＨＲ）を算出し、この算出結果に対して逆ＦＦＴを行って、キャンセル信号Ｒｃｈを生成する。
【００５１】
加算部１０４は、ステレオキャンセル信号生成部１０３において生成されたキャンセル信号Ｌｃｈとキャンセル信号Ｒｃｈとを加算し、ステレオキャンセル信号として切替部１０８に出力する。
【００５２】
加算部１０５は、スピーカ１６−Ｌ、１６−Ｒに供給される伴奏信号Ｌｃｈと伴奏信号Ｒｃｈとを加算して、伴奏信号Ａとしてモノラル伝達関数算出部１０６およびモノラルキャンセル信号生成部１０７に出力する。
【００５３】
モノラル伝達関数算出部１０６は、音声入力部１７によって生成された入力信号と、加算部１０５から出力された伴奏信号Ａとに基づいて、２つのスピーカ１６−Ｌ、１６−Ｒからマイクロフォン１７−Ｍへの伝達関数ＨＡを算出する。そして、算出した伝達関数ＨＡをモノラルキャンセル信号生成部１０７に出力する。なお、スピーカ１６−Ｌ、１６−Ｒの放音がモノラル状態である場合を想定しているから、判定部１０１の判定がモノラル状態であるときのみ、モノラル伝達関数算出部１０６、および後述するモノラルキャンセル信号生成部１０７が機能するようにしてもよい。以下、モノラル伝達関数算出部１０６の詳細構成について図６を用いて説明する。図６は、モノラル伝達関数算出部１０６の構成を示すブロック図である。
【００５４】
ＦＦＴ部１０６１は、伴奏信号Ａが入力され、ＦＦＴ部１０１１、１０２１と同様に、所定のタイミングごとにＦＦＴを施して各々の複素ベクトルＡを生成する。さらに、ＦＦＴ部１０２１と同様に、ＦＦＴ部１０６１には、マイクロフォン１７−Ｍの収音によって音声入力部１７によって生成された入力信号が入力され、この入力信号についても所定のタイミングごとにＦＦＴを施し、周波数領域の複素ベクトルＭを生成する。そして、生成した複素ベクトルＡと複素ベクトルＭとを組にして順次バッファ部１０６２に記憶させる。
【００５５】
バッファ部１０６２は、上述のように、ＦＦＴ部１０６１から出力された複素ベクトルＡ、Ｍを、生成されるタイミングごとに組にして記憶する。
【００５６】
選択部１０６３は、バッファ部１０６２に記憶された複素ベクトルＡ、Ｍの組から１つの組を選択して読み出して、平均化部１０６５に出力する。そして、１つの組の選択を複数回（本実施形態においてはｎ回とする）繰り返す。このような組選択は、所定のアルゴリズムによって定められた方法で行われ、選択部１０１３、１０２３と同様に、ランダムに選択、生成された順に選択など様々なアルゴリズムを用いることができる。
【００５７】
平均化部１０６５は、選択部１０６３によって選択された組の複素ベクトルＡ、Ｍを用いた以下の数式（１５）によって、伝達関数ＨＡを算出し、モノラルキャンセル信号生成部１０７に出力する。
ＨＡ＝Ａｖｅ（Ｍｍ＊Ａｍ＊）／Ａｖｅ（Ａｍ＊Ａｍ＊）・・・（１５）
【００５８】
ここで、上記方法により伝達関数ＨＡが計算できる根拠について説明する。伝達関数ＨＬ、ＨＲの計算と同様に、入力信号は、スピーカ１６−Ｌとスピーカ１６−Ｒからの放音が、マイクロフォン１７−Ｍによって収音されたものとノイズ信号とをあわせた信号であるから、選択部１０６３で選択される１つの組である複素ベクトルＡ、Ｍ、および各組のタイミングにおいて想定されるノイズ信号を示す複素ベクトルＥ（仮の値であって計算により導出されるものではない）は、以下の数式（１６）が成り立つ。
Ｍ＝ＨＡ＊Ａ＋Ｅ・・・（１６）
よって、
ＨＡ＝（Ｍ−Ｅ）／Ａ・・・（１７）
となる。
【００５９】
次に、数式（１７）の分母Ａの共役複素数Ａ＊を数式（１７）の分母分子に乗算すると、以下の数式（１８）が得られる。
ＨＡ＝（（Ｍ−Ｅ）＊Ａ＊）／Ａ＊Ａ＊
＝（（Ｍ＊Ａ＊）−（Ｅ＊Ａ＊））／（Ａ＊Ａ＊）・・・（１８）
【００６０】
数式（１８）を様々な組の複素ベクトルＡ、Ｍで計算し、分母分子をそれぞれ平均すると、分子の第２項（Ｅ＊Ａ＊）は、相関の無いクロススペクトルの平均であるから、「０」となり、以下の数式（１９）が得られる。
ＨＡ＝Ａｖｅ（Ｍ＊Ａ＊）／Ａｖｅ（Ａ＊Ａ＊）・・・（１９）
【００６１】
モノラル状態である場合には、ステレオ状態と同様な計算を行うと、ほぼＬ＝Ｒであることから、伝達関数算出の式の分母（Ｌ１＊Ｒ２−Ｌ２＊Ｒ１）がほぼ「０」になってしまい、計算ができない場合がある。このような場合に、上述のようなモノラル伝達関数算出部１０６による処理を行うことで、モノラル状態であっても、ステレオ状態のときと同様に、伝達関数ＨＡの算出を行うことができる。以上が、モノラル伝達関数算出部１０６の構成の説明である。
【００６２】
図３に戻る。モノラルキャンセル信号生成部１０７は、モノラル伝達関数算出部１０６から伝達関数ＨＡが入力されると、別途、異なる伝達関数が入力されるまでは、この伝達関数を現状の伝達関数であるものとして設定する。
【００６３】
モノラルキャンセル信号生成部１０７は、加算部１０５から出力された伴奏信号Ａと、設定した伝達関数ＨＡとに基づいて、各スピーカ１６−Ｌ、１６−Ｒからの音をマイクロフォン１７−Ｍが収音すると想定される信号を示すモノラルキャンセル信号を生成する。
【００６４】
具体的には、伴奏信号ＡにＦＦＴを施した複素ベクトルＡと伝達関数ＨＡとの積（Ａ＊ＨＡ）を算出し、この算出結果に対して逆ＦＦＴを行うことで、モノラルキャンセル信号を生成し、切替部１０８に出力する。
【００６５】
切替部１０８は、判定部１０１から入力された判定信号がステレオ状態を示している場合には、加算部１０４から入力されるステレオキャンセル信号を減算部１０９に出力する。一方、判定部１０１から入力された判定信号がモノラル状態を示している場合には、モノラルキャンセル信号生成部１０７から入力されるモノラルキャンセル信号を減算部１０９に出力する。なお、上述したように、ステレオ伝達関数算出部１０２、モノラル伝達関数算出部１０６が、各々ステレオ状態、モノラル状態である場合にのみ、機能するようになっている場合には、ステレオキャンセル信号とモノラルキャンセル信号との双方が同時に切替部１０８に入力されることがなくなるから、これらのいずれか入力された信号について減算部１０９に出力するようにしてもよい。
【００６６】
減算部１０９は、音声入力部１７において生成された入力信号と、切替部１０８から出力されるステレオキャンセル信号またはモノラルキャンセル信号とが入力される。そして、減算部１０９は、入力信号から、ステレオキャンセル信号またはモノラルキャンセル信号を減算した出力信号を出力する。このような出力信号は、マイクロフォン１７−Ｍが収音した内容が、スピーカ１６−Ｌ、１６−Ｒからの放音のみである場合には、その放音が低減または消去されたようなオーディオ信号となる。一方、歌唱者の歌唱をマイクロフォン１７−Ｍで収音した場合には、スピーカ１６−Ｌ、１６−Ｒからの音が低減または消去されることにより、出力信号は、ほぼ歌唱者の歌唱を示すオーディオ信号となる。
【００６７】
次に、本実施形態に係るカラオケ装置１の動作について説明する。まず、カラオケ装置１の利用者（以下、歌唱者という）は操作部１４を操作して、カラオケ曲を選択する。そして、カラオケ曲に係る各種データを通信部１８によって受信すると、カラオケ曲の前奏が開始される。この前奏の期間において、上述した伝達関数の算出が行われる。なお、前奏の期間については、マイクロフォン１７−Ｍの収音内容（音量、波形など）からＣＰＵ１１が判断してもよいしＣＰＵ１１が、歌詞表示データを解析して、曲の開始からワイプが開始される直前までの期間としてもよい。また、伝達関数の算出を行う期間は、前奏の期間だけではなく間奏の期間でもよく、歌唱者の歌唱がマイクロフォン１７−Ｍによって収音されていないとき、すなわちダブルトーク状態でないときであればどのような期間であってもよく、そのような期間は、上述同様に判断すればよい。
【００６８】
そして、ステレオ伝達関数算出部１０２、モノラル伝達関数算出部１０６は、上記期間で伝達関数ＨＬ、ＨＲ、ＨＡを算出し、ステレオキャンセル信号生成部１０３、モノラルキャンセル信号生成部１０７に伝達関数ＨＬ、ＨＲ、ＨＡを設定する。
【００６９】
前奏期間が終了して歌唱者の歌唱が始まると、判定部１０１は、ステレオ状態かモノラル状態かを判定しながら判定信号を出力する。そして、切替部１０８は、判定信号に応じて、ステレオキャンセル信号またはモノラルキャンセル信号のいずれかを出力する。これにより、出力信号は、歌唱者の歌唱とスピーカ１６−Ｌ、１６−Ｒからの音とを含む入力信号から、スピーカ１６−Ｌ、１６−Ｒからの音が低減または消去された音を示すオーディオ信号となる。
【００７０】
そして、歌唱者の歌唱の巧拙を評価するために、例えば、ＣＰＵ１１によってピッチ検出が行われる構成であるときには、この出力信号を用いてピッチの検出を行うようにする。これにより、音声入力部１７が生成した入力信号をそのまま用いてピッチの検出をするよりも、スピーカ１６−Ｌ、１６−Ｒからの音が低減または消去されることにより、ほぼ歌唱者の歌唱を反映した出力信号を用いてピッチの検出をすることにより、より精密な検出をすることができる。
【００７１】
このように、本発明の実施形態に係るカラオケ装置１は、２つのタイミングでの収音内容を示すオーディオ信号と、各スピーカ１６−Ｌ、１６−Ｒに供給されるオーディオ信号とに基づいて、生成される複素ベクトルを用いて所定の演算を行い、これを複数回行った平均を用いることにより、ノイズ信号の成分によらず、ステレオ方式であっても各スピーカ１６−Ｌ、１６−Ｒからマイクロフォン１７−Ｍへの伝達関数ＨＬ、ＨＲを少ない演算数で簡易に算出することができる。また、モノラル状態における伝達関数ＨＡを算出することにより、ステレオ状態とモノラル状態とを切り替えて、エコーキャンセル機能を実現することもできる。
【００７２】
以上、本発明の実施形態について説明したが、本発明は以下のように、さまざまな態様で実施可能である。
【００７３】
＜変形例１＞
上述した実施形態においては、判定部１０１、ステレオ伝達関数算出部１０２、モノラル伝達関数算出部１０６のＦＦＴ部１０１１、１０２１、１０６１およびバッファ部１０１２、１０２２、１０６２についてはは、各々別々に機能するものとしていたが、これらを共通化したＦＦＴ部、バッファ部を設けるようにしてもよい。この場合には、共通化したＦＦＴ部は、共通のタイミングで入力信号、伴奏信号Ｌｃｈ、伴奏信号Ｒｃｈ、伴奏信号ＡについてのＦＦＴを行って、これらの複素ベクトルＭ、Ｌ、Ｒ、Ａをそのタイミングごとにまとめて組にして、共通化したバッファ部に記憶させるようにすればよい。そして、判定部１０１、ステレオ伝達関数算出部１０２、モノラル伝達関数算出部１０６の選択部１０１３、１０２３、１０６３は、複素ベクトルの組を選択するときには、共通化したバッファから、選択した組を構成する複素ベクトルのうち必要な複素ベクトル、例えば選択部１０１３であれば、選択した組を構成する複素ベクトルのうち複素ベクトルＬ、Ｒを抽出するようにすればよい。このようにすれば、ＣＰＵ１１の処理負担を低減することができる。
【００７４】
＜変形例２＞
実施形態においては、判定部１０１は、上述したように複素ベクトルを用いた所定の数式を用いて相違度Ｐを算出し、相違度Ｐに基づいてステレオ状態かモノラル状態かの判定を行っていたが、これ以外の方法によって判定を行なってもよい。例えば、伴奏信号Ｌｃｈと伴奏信号Ｒｃｈとの差または比に基づいて相違度Ｐを算出してもよい。また、通信部１８が受信する演奏データがステレオ方式であるか否かを示す情報を有するようにすれば、判定部１０１は、この情報を用いてステレオ状態かモノラル状態かを判定してもよい。また、このような情報がなくても、判定部１０１は、演奏データを解析してステレオ状態かモノラル状態かを判定するようにしてもよい。このように、判定部１０１は、ステレオ状態かモノラル状態かの判定の際に、伴奏信号Ｌｃｈと伴奏信号Ｒｃｈとがステレオ方式の信号か否かを判定できればよいから、様々な方法で判定を行うことができる。
【００７５】
＜変形例３＞
実施形態においては、音声出力部１６が有するスピーカはスピーカ１６−Ｌ、１６−Ｒの２つであったが、より多くの数であってもよい。この場合には、選択部１０２３において選択する組の数をスピーカの数に応じて増加させればよい。例えば、スピーカが３つであれば、３元連立方程式を解くことで計算可能であるから、バッファ部１０２２に記憶された複数の複素ベクトルの組から３つの組を選択し、所定のアルゴリズムで計算を行い、この計算結果の平均を算出するようにすればよい。
【００７６】
このように、算出したい伝達関数を未知数とした連立方程式を解くために、少なくとも未知数に応じた数の複素ベクトルの組を選択するようにすればよい。そして、ノイズ信号に相当する部分を消去するために、伝達関数の計算において平均化を行うようにすればよい。
【００７７】
すなわち、このようなエコーキャンセル装置は、各々供給されるオーディオ信号を放音する複数の放音手段と、入力される音を入力信号として出力する収音手段と、前記各放音手段に供給されるオーディオ信号および前記収音手段から出力される入力信号を、所定のタイミングでフーリエ変換を行うことにより、それぞれ周波数領域の複素ベクトルを生成する処理を複数回行う変換手段と、前記変換手段によって生成された各複素ベクトルを、フーリエ変換が行われたタイミングごとに組にして記憶する記憶手段と、前記記憶手段に記憶される複数の複素ベクトルの組から、前記放音手段の数の組を選択する処理を複数回行う選択手段と、前記選択手段における選択が行われるたびに、所定の数式によって当該選択した組に基づく値を算出し、当該算出された複数の値の平均に基づいて、前記放音手段の数の伝達関数を算出する算出手段とを具備することを特徴としている。
【００７８】
＜変形例４＞
実施形態においては、マイクロフォン１７−Ｍは１つであったが、複数であってもよい。この場合には、各スピーカ１６−Ｌ、１６−Ｒからそれぞれのマイクロフォン１７−Ｍへの伝達関数を算出し、算出した伝達関数と伴奏信号Ｌｃｈ、伴奏信号Ｒｃｈとに基づいて生成される各キャンセル信号を、対応するマイクロフォン１７−Ｍに係る入力信号から減算するようにすればよい。
【図面の簡単な説明】
【００７９】
【図１】実施形態に係る伝達関数ＨＬ、伝達関数ＨＲについての説明図である。
【図２】実施形態に係るカラオケ装置のハードウエアの構成を示すブロック図である。
【図３】実施形態に係るカラオケ装置のエコーキャンセル機能に係るソフトウエアの構成を示すブロック図である。
【図４】実施形態に係る判定部の構成を示すブロック図である。
【図５】実施形態に係るステレオ伝達関数算出部の構成を示すブロック図である。
【図６】実施形態に係るモノラル伝達関数算出部の構成を示すブロック図である。
【符号の説明】
【００８０】
１…カラオケ装置、１０…バス、１１…ＣＰＵ、１２…記憶部、１３…ＲＡＭ、１４…操作部、１５…表示部、１６…音声出力部、１６−Ｌ，１６−Ｒ…スピーカ、１７…音声入力部、１７−Ｍ…マイクロフォン、１８…通信部、１０１…判定部、１０２…ステレオ伝達関数算出部、１０３…ステレオキャンセル信号生成部、１０４，１０５…加算部、１０６…モノラル伝達関数算出部、１０７…モノラルキャンセル信号生成部、１０８…切替部、１０９…減算部、１０１１，１０２１，１０６１…ＦＦＴ部、１０１２，１０２２，１０６２…バッファ部、１０１３，１０２３，１０６３…選択部、１０１４，１０２４…算出部、１０１５，１０２５，１０６５…平均化部、１０１６…評価部
【図１】
0005034920.tif 000002
【図２】
0005034920.tif 000003
【図３】
0005034920.tif 000004
【図４】
0005034920.tif 000005
【図５】
0005034920.tif 000006
【図６】
0005034920.tif 000007