(57)【特許請求の範囲】
【請求項１】
０より大きく１より小さい係数kの値と、変数a，x，bの値と、が、記憶される記憶部、
所定のサンプリング周期で割込を発生させる手段、
前記所定のサンプリング周期で割込が発生するごとに、当該時点に対応付けられる入力波形の変位の値をランダムアクセスメモリから読み出すことにより、入力波形の変位の入力を受け付けて、当該受け付けた入力の値を前記変数aに記憶させる入力受付部、
前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されるべき出力波形の変位を計算する変位計算部、
前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されている出力波形の変位を出力する出力部、
前記所定のサンプリング周期で割込が発生するごとに、前記変数aに記憶されている入力波形の変位と、前記変数xに記憶されている出力波形の変位と、の差分を計算して、当該差分を前記変数bに記憶させる差分計算部を備え、
前記変位計算部は、前記変数xに記憶されている出力波形の変位と、前記変数bに記憶されている差分に前記記憶部に記憶されている係数kの値を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果として、当該計算結果を前記変数xに記憶させる
ことを特徴とする音声処理装置。
【請求項２】
請求項１に記載の音声処理装置であって、
前記出力部は、前記入力波形の変位の入力が記憶されるごとに、前記変数xに記憶された前記出力波形の変位を出力し、
前記差分計算部は、前記出力波形の変位が出力されるごとに、前記差分を計算して、当該計算された差分を前記変数bに記憶させ、
前記変位計算部は、前記差分が記憶されるごとに、前記出力波形の変位を計算して、当該計算された出力波形の変位を前記変数xに記憶させる
ことを特徴とする音声処理装置。
【請求項３】
請求項２に記載の音声処理装置であって、
前記出力部は、前記割込が初めて発生したものである場合、前記受け付けられた入力波形の変位を、前記出力波形の変位として出力し、
前記変位計算部は、前記割込が初めて発生したものである場合、前記受け付けられた入力波形の変位を、前記変数xに記憶させる
ことを特徴とする音声処理装置。
【請求項４】
請求項２または３に記載の音声処理装置であって、
当該入力波形の変位は、仮想空間内に配置された発音体に係る音波の波形の変位であり、
当該仮想空間内における所定の注目点と、当該発音体との距離が大きくなると、当該係数kが小さくなるように変化させる係数変化部
をさらに備えることを特徴とする音声処理装置。
【請求項５】
請求項２または３に記載の音声処理装置であって、
前記出力部は、前記変数xに記憶される出力波形の変位を出力するのにかえて、前記変数aに記憶される入力波形の変位と、前記変数xに記憶される出力波形の変位と、の差を出力する
ことを特徴とする音声処理装置。
【請求項６】
請求項５に記載の音声処理装置であって、
当該入力波形の変位は、仮想空間内に配置された発音体に係る音波の波形の変位であり、
当該仮想空間内における所定の注目点と、当該発音体との距離が大きくなると、当該係数kが大きくなるように変化させる係数変化部
をさらに備えることを特徴とする音声処理装置。
【請求項７】
当該仮想空間内に配置された発音体に係る音波の波形の変位を、請求項４に記載の音声処理装置（以下「ローパス処理装置」という。）と、請求項６に記載の音声処理装置（以下「ハイパス処理装置」という。）と、の２つに、直列に処理させる音声処理装置であって、
当該ローパス処理装置で用いる係数は、当該ハイパス処理装置で用いる係数より大きい
ことを特徴とする音声処理装置。
【請求項８】
割込部、記憶部、入力受付部、出力部、差分計算部、変位計算部を備える音声処理装置にて実行される音声処理方法であって、前記記憶部には、０より大きく１より小さい係数kの値と、変数a，x，bの値と、が、記憶され、
前記割込部が、所定のサンプリング周期ごとに割込を発生させる工程、
前記入力受付部が、前記所定のサンプリング周期で割込が発生するごとに、当該時点に対応付けられる入力波形の変位の値をランダムアクセスメモリから読み出すことにより、入力波形の変位の入力を受け付けて、当該受け付けた入力の値を前記変数aに記憶させる入力受付工程、
前記変位計算部が、前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されるべき出力波形の変位を計算する変位計算工程、
前記出力部が、前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されている出力波形の変位を出力する出力工程、
前記差分計算部が、前記所定のサンプリング周期で割込が発生するごとに、前記変数aに記憶されている入力波形の変位と、前記変数xに記憶されている出力波形の変位と、の差分を計算して、当該差分を前記変数bに記憶させる差分計算工程、
を備え、
前記変位計算工程では、前記変位計算部が、前記変数xに記憶されている出力波形の変位と、前記変数bに記憶されている差分に前記記憶部に記憶されている係数kの値を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果として、当該計算結果を前記変数xに記憶させる
ことを特徴とする音声処理方法。
【請求項９】
コンピュータを、
０より大きく１より小さい係数kの値と、変数a，x，bの値と、が、記憶される記憶部、
所定のサンプリング周期で割込を発生させる手段、
前記所定のサンプリング周期で割込が発生するごとに、当該時点に対応付けられる入力波形の変位の値をランダムアクセスメモリから読み出すことにより、入力波形の変位の入力を受け付けて、当該受け付けた入力の値を前記変数aに記憶させる入力受付部、
前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されるべき出力波形の変位を計算する変位計算部、
前記所定のサンプリング周期で割込が発生するごとに、前記変数xに記憶されている出力波形の変位を出力する出力部、
前記所定のサンプリング周期で割込が発生するごとに、前記変数aに記憶されている入力波形の変位と、前記変数xに記憶されている出力波形の変位と、の差分を計算して、当該差分を前記変数bに記憶させる差分計算部
として機能させ、
前記変位計算部は、前記変数xに記憶されている出力波形の変位と、前記変数bに記憶されている差分に前記記憶部に記憶されている係数kの値を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果として、当該計算結果を前記変数xに記憶させる
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を、簡易な計算によリ実現する音声処理装置、音声処理方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、音声情報処理においては、各種の技術が提案されており、たとえば、以下の文献に開示されている。
【特許文献１】特開２００５−２０８１９６号公報
【０００３】
ここで、[特許文献１]には、入力された音声情報を各周波数成分に分解する技術が開示されており、具体形には、高速フーリエ変換を利用することとしている。
【０００４】
高速フーリエ変換によれば、入力された音声情報を、所定の分解能で複数の周波数成分に分解できる。したがって、ハイパスフィルタを実現する場合には、低周波数帯の周波数成分を無視し、ローパスフィルタを実現する場合には、高周波数帯の周波数成分を無視し、バンドパスフィルタの場合には、所望の周波数帯以外の周波数成分を無視して、逆フーリエ変換すれば良いこととなる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、計算機資源が豊かでない場合、たとえば、家庭用ゲーム装置や携帯用ゲーム装置にてこのような各種の音声フィルタを実現したい場合、計算速度やメモリ容量の観点から、高速フーリエ変換を利用できない場合もある。
したがって、簡易な計算により高速な処理が可能で、メモリ使用量も少なくてすむような音声フィルタを実現したい、との要望は大きい。
【０００６】
本発明は、以上のような課題を解決するものであって、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を、簡易な計算によリ実現する音声処理装置、音声処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００８】
本発明の第１の観点に係る音声処理装置は、入力受付部、出力部、差分計算部、変位計算部を備え、以下のように構成する。
【０００９】
まず、入力受付部は、入力波形の変位の入力を順次受け付ける。
ここで、入力波形として考えられるものは、音声情報であり、典型的にはＰＣＭ（Pulse Coded Module）信号である。入力波形は、時間の経過によって基準位置からのずれがどのように変化するかをあわらす情報で、サンプリング周波数（たとえば、２２０５０Ｈｚや４４１００Ｈｚ、８８２００Ｈｚ等。）で、所定の精度の数値（たとえば、８ビットや１６ビット、２４ビット等。）が変位として得られるのが典型的である。
【００１０】
さらに、変位計算部は、出力波形の変位を順次計算する。その計算の具体的な手法については後述する。
【００１１】
一方、出力部は、変位計算部により計算された出力波形の変位を順次出力する。変位計算部における処理については後述する。
出力部は、本音声処理装置の出力を担う部分であるが、後述するように、ある時点で出力部から出力された出力波形の変位を、それより後の時点の出力波形の変位を計算する際に利用する。
入力変位が１つに対して出力変位が１つ対応するため、また、入力波形の変位の入力がされる時間間隔と同じ時間間隔で、出力波形の変位の出力がされるように構成するのが一般的であるが、適宜バッファリング処理を行っても良い。
【００１２】
さらに、差分計算部は、当該入力波形の変位のうち最後に受け付けられた入力波形の変位と、当該出力波形の変位のうち最後に出力された出力波形の変位と、の差分を計算する。
ここで「最後」とは、「現時点」から見た「最後」であり、「現時点での最新」の意味である。すなわち、ここでの「最後に受付けられた入力波形の変位」とは、現時点で入力受付部により受け付けられた最新の入力波形の変位を意味し、「最後に出力された出力波形の変位」とは、現時点で出力部により出力された最新の出力波形の変位を意味する。また、出力部は、変位計算部が計算した出力波形の変位を順次出力するから、「最後に出力された出力波形の変位」は、「最後に計算された出力波形の変位」に等しい。
【００１３】
したがって、差分計算部の処理を行うには、最新の入力と出力の変位のみをメモリ内に蓄積しておけば良い。また、差分計算部は、出力部もしくは変位計算部からフィードバックを受ける、と考えることができる。
【００１４】
一方、変位計算部は、当該出力波形の変位のうち最後に出力された出力波形の変位と、当該計算された差分のうち最後に計算された差分に０より大きく１より小さい係数を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果とする。
【００１５】
上記のように、「最後に出力された出力波形の変位」とは、現時点で出力部により出力された最新の出力波形の変位、すなわち、現時点で変位計算部により計算された最新の出力波形の変位であり、「最後に計算された差分」とは、源時点で差分計算部により計算された最新の差分である。そして、変位計算部は、これらの「最新の出力波形の変位」と「最新の差分」から、「次の出力波形の変異」を計算するのである。
したがって、変位計算部の処理を行うには、最新の出力の変位と最新の差分のみをメモリ内に蓄積しておけば良い。
変位計算部は、差分計算部によって計算された差分に適当な係数を乗じて出力波形の変位に加算する。出願人らの実験によれば、このようなディジタル処理によって、ローパスフィルタとして機能することが判明している。また、当該係数はローパスフィルタとしての「強さ」「弱さ」に相当するもので、当該係数を小さくすると高音が小さくなり（強いローパスフィルタ）、当該係数を大きくすると高音が大きくなる（弱いローパスフィルタ）。
【００１６】
本発明によれば、メモリ使用量が少なく、簡易な計算により、１つの係数に与える数値によって容易に強弱の調整ができるローパスフィルタを実現することができる。
【００１７】
本発明の第２の観点に係る音声処理装置は、入力受付部、出力部、差分計算部、変位計算部を備え、以下のように構成する。
【００１８】
すなわち、入力受付部は、ある時点iにおける入力波形の変位aiの入力を受け付ける。
ここで、入力波形として考えられるものは、上記と同様の音声情報である。また、サンプリングされた時間順にiが0，1，2，3，…のように増えていく、と考えることができる。
【００１９】
一方、出力部は、変位計算部により計算されたある時点iにおける第１の出力波形の変位xiを出力する。
このように、本発明では、入力受付部と同じサンプリング間隔で、出力部が出力波形の変位を出力する。
【００２０】
一方、差分計算部は、ある時点iの直後の時点i+1における当該入力波形の変位ai+1と、当該第１の出力波形の変位xiと、の差分
bi = ai+1 - xi
を計算する。
したがって、差分計算部が利用するデータは、最新の入力波形の変位と最新の出力波形の変位のみとなるので、データのローカリティを高くすることができ、利用する計算機によっては、キャッシュ内にデータがすべて入るため、高速な処理が期待できる。
【００２１】
一方、変位計算部は、当該第１の出力波形の当該変位xi+1を、当該第１の出力波形の変位xiと、当該差分biと、所定の０より大きく１より小さい係数kとから、
xi+1 = xi + kbi
と計算する。
したがって、変位計算部が利用するデータは、直前の処理によって得られた最新の差分と最新の出力波形の変位のみとなるので、データのローカリティを高くすることができ、利用する計算機によっては、キャッシュ内にデータがすべて入るため、高速な処理が期待できる。
【００２２】
係数kはローパスフィルタとしての「強さ」「弱さ」に相当するもので、係数kを小さくすると高音が小さくなり（強いローパスフィルタ）、係数kを大きくすると高音が大きくなる（弱いローパスフィルタ）。
【００２３】
本発明によれば、メモリ使用量が少なく、簡易な計算により、１つの係数kに与える数値によって容易に強弱の調整ができるローパスフィルタを実現することができる。
【００２４】
また、本発明の音声処理装置において、変位計算部は、当該第１の出力波形の変位の初期値x0として、当該入力波形の変位の初期値a0を計算結果とするように構成することができる。
本発明は、上記発明の好適実施形態に係るものである。出力波形の変位の初期値x0としては、任意の数値を採用することができるが、本発明では、入力波形の変位の初期値a0を採用することする。
本発明によれば、音声処理の際に音声の冒頭に発生しがちな「ボツ音」「ポツ音」と呼ばれる雑音が生じるのをできるだけ防止することができる。
【００２５】
また、本発明の音声処理装置（ローパスフィルタに係るもの。）は、係数変化部をさらに備え、以下のように構成することができる。
まず、ある時点iにおける当該入力波形の変位aiは、仮想空間内に配置された発音体に係る音波の波形の変位である。
【００２６】
当該仮想空間内に配置された発音体として典型的なものは、ゲーム世界に配置されたキャラクター、動物、怪物、乗物、機械などのオブジェクトであり、その音波とは、当該キャラクター等が発する声や音をあらわすものである。当該音波としては、あらかじめ用意されたＰＣＭデータを採用しても良いし、音声ジェネレータによって生成したものであっても良い。また、プレイヤー自身が操作するキャラクターが発する音波として、マイクによって入力されたプレイヤー自身の声を利用することも可能である。
【００２７】
そして、係数変化部は、当該仮想空間内における所定の注目点と、当該発音体との距離が大きくなると、当該所定の係数kが小さくなるように変化させる。
現実世界の音声の伝搬では、距離が遠くなると、高周波成分が落ちて中音域のみが残る減少が見られる。そこで、距離が離れると係数kを小さくして、高音域をより大きく除去するようなローパスフィルタとして機能させるのである。
【００２８】
本発明によれば、仮想世界における音声処理によって、発音体との距離をユーザによりリアルに感じさせるような音声処理装置を提供することができる。
【００２９】
また、本発明の音声処理装置において、出力部は、当該第１の出力波形の変位xiを出力するのにかえて、第２の出力波形の変位として、当該入力波形の変位aiと、当該第１の出力波形の変位xiと、の差
yi = ai - xi
を、出力するように構成することができる。
前述の発明はローパスフィルタに相当するものであるから、原音からローパスフィルタの出力を減算すれば、ハイパスフィルタとなる。そして、利用するデータのローカリティや計算が容易であること、ハイパスフィルタとしての強弱の調整が容易であることは、前述のローパスフィルタと同様である。
本発明によれば、省メモリで簡易な計算により、強弱が容易に調整可能なハイパスフィルタを実現することができる。
【００３０】
また、本発明の音声処理装置（ハイパスフィルタに係るもの。）は、係数変化部をさらに備え、ある時点iにおける当該入力波形の変位aiは、仮想空間内に配置された発音体に係る音波の波形の変位であり、係数変化部は、当該仮想空間内における所定の注目点と、当該発音体との距離が大きくなると、当該所定の係数kが大きくなるように変化させる。
現実世界の音声の伝搬では、距離が遠くなると、低周波成分が落ちて中音域のみが残る減少が見られる。そこで、距離が離れると係数kを大きくして、低音域をより大きく除去するようなハイパスフィルタとして機能させるのである。
【００３１】
本発明によれば、仮想世界における音声処理によって、発音体との距離をユーザによりリアルに感じさせるような音声処理装置を提供することができる。
【００３２】
本発明のその他の観点に係る音声処理装置は、上記の音声処理装置のうち、ローパスフィルタに係るもの（以下「ローパス処理装置」という。）と、上記の音声処理装置のうち、ハイパスフィルタに係るもの（以下「ハイパス処理装置」という。）と、の２つに、直列に処理させ、当該ローパス処理装置で用いる係数は、当該ハイパス処理装置で用いる係数より大きいように構成する。
【００３３】
上記のような係数の大小関係を設けることにより、中音域をよく通過させ、高音域と低音域を除去するようなバンドパスフィルタを実現するのである。
【００３４】
本発明によれば、省メモリで簡易な計算により、２つの係数の値を変化させることで通過させる周波数帯を容易に調整することができるバンドパスフィルタを実現することができる。
【００３５】
本発明のその他の観点にかかる音声処理方法は、入力受付部、出力部、差分計算部、変位計算部を備える音声処理装置にて実行され、入力受付工程、出力工程、差分計算工程、変位計算工程を備え、以下のように構成する。
【００３６】
ここで、入力受付工程では、入力受付部が、入力波形の変位の入力を順次受け付ける。
さらに、変位計算工程では、変位計算部が、出力波形の変位を順次計算する。
一方、出力工程では、出力部が、変位計算工程にて計算された出力波形の変位を順次出力する。
【００３７】
さらに、差分計算工程では、差分計算部が、当該入力波形の変位のうち最後に受け付けられた入力波形の変位と、当該出力波形の変位のうち最後に出力された出力波形の変位と、の差分を計算する。
そして、変位計算工程では、変位計算部が、当該出力波形の変位のうち最後に出力された出力波形の変位と、当該計算された差分のうち最後に計算された差分に０より大きく１より小さい係数を乗じたものと、の和を当該出力波形の変位のうち次に出力すべき出力波形の変位の計算結果とする。
【００３８】
本発明のその他の観点に係るプログラムは、コンピュータを上記の音声処理装置として機能させ、コンピュータに上記の音声処理方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３９】
本発明によれば、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を、簡易な計算によリ実現する音声処理装置、音声処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００４０】
以下に本発明の実施形態を説明する。なお、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００４１】
図１は、プログラムを実行することにより、本発明の音声処理装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００４２】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ  １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０、マイク１１１と、を備える。
【００４３】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の音声処理装置が実現される。
【００４４】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００４５】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００４６】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００４７】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００４８】
インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００４９】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００５０】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００５１】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００５２】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５３】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００５４】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００５５】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００５６】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００５７】
さらに、情報処理装置１００には、インターフェイス１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【００５８】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００５９】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、音声処理や画像処理を行うことが可能であれば、本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００６０】
たとえば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、ＮＩＣ、音声入力用マイク、音声出力用スピーカ、を備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【００６１】
図２は、本発明の実施形態の一つにかかる音声処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００６２】
音声処理装置２０１は、上記情報処理装置１００にてプログラムを実行することにより実現され、入力受付部２０２、出力部２０３、差分計算部２０４、変位計算部２０５、係数変化部２０６を備える。また、これらの各要素は、ＲＡＭ  １０３からなる記憶部２０７にあらかじめ確保された変数領域を適宜参照したり、これに値を代入したりする。
【００６３】
本実施形態では、変数領域として確保されるものとして、
最後に受け付けられた入力波形の変位の値を記憶する変数a。
最後に出力した出力波形の変位の値を記憶する変数x。
最後に計算した差分の値を記憶する変数b。
係数k。０より大きく１より小さい値が格納される。
を用いる。
【００６４】
図３は、音声処理装置にて実行される音声処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００６５】
本音声処理が開始されると、まず、音声処理装置２０１は、記憶部２０７に確保された変数a，x，b，kを初期化する（ステップＳ３０１）。変数a，x，bの初期化の値としては、典型的には変位0を表す値を用いるが、その他の値を適宜利用しても良い。また、変数kの初期化の値は、０より大きく１より小さいものを用いる。
【００６６】
そして、入力波形の変位に対する処理が完了するまで、以下の処理を繰り返す（ステップＳ３０２）。
【００６７】
ついで、入力受付部２０２は、入力波形の変位の入力を１つ受け付けて、その値を変数aに代入する（ステップＳ３０３）。したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３と共働して入力受付部２０２として機能する。
【００６８】
さらに、出力部２０３は、当該入力波形の変位の入力が処理を開始してから初めて、すなわち、繰り返しの最初である場合（ステップＳ３１０；Ｙｅｓ）、現在変数xに格納されている値を出力して（ステップＳ３１１）、ステップＳ３０４に進み、そうでない場合（ステップＳ３１０；Ｎｏ）、そのままステップＳ３０４に進む。
【００６９】
なお、ステップＳ３１１において出力する値として、現在変数xに格納されている値ではなく、現在変数aに格納されている値を採用しても良い。これにより、音声処理の際に音声の冒頭に発生しがちな「ボツ音」「ポツ音」と呼ばれる雑音が生じるのをできるだけ防止することができる。
【００７０】
また、ステップＳ３１０〜Ｓ３１１の処理は、フィルタ処理においてデータ長を一致させるためのものであり、１回限りのリアルタイム処理のみが必要な場合には、適宜省略しても良い。
【００７１】
ここで、入力波形として考えられるものは、音声情報であり、典型的にはＰＣＭ（Pulse Coded Module）信号である。入力波形は、時間の経過によって基準位置からのずれがどのように変化するかをあわらす情報で、サンプリング周波数（たとえば、２２０５０Ｈｚや４４１００Ｈｚ、８８２００Ｈｚ等。）で、所定の精度の数値（たとえば、８ビットや１６ビット、２４ビット等。）が変位として得られるのが典型的である。
【００７２】
変位の入力を１つ受け付ける手法としては、ステップＳ３０３において、音声情報のサンプリング周期ごとに発生する割り込みを待機し、割り込みが発生したら、入出力ポートから変位の値を直接読み出したり、他の処理によって用意され、ＲＡＭに確保されたデータを読み出したりする手法がありうる。
【００７３】
このほか、ストリーミング処理にて音声情報を処理する場合には、適宜バッファリングを行うことにより、入力波形の変位の入力が行われる時間間隔が、サンプリング周期と必ずしも一致しないような手法を採用しても良い。
また、あらかじめＤＶＤ−ＲＯＭやＲＡＭ  １０３、ハードディスクなどに用意されたファイル内のＰＣＭデータを順次読み出すことによっても良い。
【００７４】
ついで、差分計算部２０４は、当該入力波形の変位のうち最後に受け付けられた入力波形の変位、すなわち、現在変数aに格納されている値と、当該出力波形の変位のうち最後に出力された出力波形の変位、すなわち、現在変数xに格納されている値と、の差分a-xを計算して、これを変数bに代入する（ステップＳ３０４）。したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３と共働して、差分計算部２０４として機能する。
【００７５】
さらに、変位計算部２０５は、当該出力波形の変位のうち最後に出力された出力波形の変位、すなわち、現在変数xに格納されている値と、当該計算された差分のうち最後に計算された差分、すなわち、現在変数bに格納されている値に現在変数kに格納されている値を乗じた値を加算した値x + k bを、変数xに代入する（ステップＳ３０５）。したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３と共働して、変位計算部２０５として機能する。
【００７６】
そして、出力部２０３は、変位計算部２０５により計算された出力波形の変位、すなわち、現在変数xに格納されている値を出力して（ステップＳ３０６）、処理を繰り返す（ステップＳ３０７）。したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３と共働して、変位計算部２０５として機能する。
入力変位が１つに対して出力変位が１つ対応するため、また、入力波形の変位の入力がされる時間間隔と同じ時間間隔で、出力波形の変位の出力がされるように構成するのが一般的であるが、適宜バッファリング処理を行っても良い。
【００７７】
なお、ステップＳ３０４にて参照される変数xの値は、出力部２０３が最初にステップＳ３１１にて出力した値、もしくは、前回の繰返しで出力部２０３がステップＳ３０６にて出力した値（これは、前回の繰り返しでステップＳ３０５において変位計算部２０５が計算した値に等しい。）であるから、差分計算部２０４は、出力部２０３もしくは変位計算部２０５からのフィードバックを受けていることとなる。
【００７８】
ここで出力された出力波形の変位は、サンプリング周期ごとに音声処理部１１０に渡されると、適切なミキシングやＤ／Ａ変換が行われて、スピーカから出力される。また、ＲＡＭ  １０３やハードディスクに蓄積して、他の音声処理の対象とすることとしても良い。
【００７９】
そして、すべての入力波形の変位について処理を行ったら、本処理を終了する。
【００８０】
上記のような処理を行うことにより、入力波形の変位が
a0，a1，a2，…，ai，…
のように時系列として与えられた場合、出力波形の変位
x0，x1，x2，…，xi，…
は、漸化式
bi = ai+1 - xi；
xi+1 = xi + kbi
によって計算されるものとなる。
【００８１】
ただし、x0は、ステップＳ３１１で出力される値で、上記の場合には、xの初期値（典型的には０）もしくは、a0（最初に入力された入力波形の変位）である。
【００８２】
このようなディジタル処理によって、本音声処理装置２０１は、ローパスフィルタとして機能することが判明している。また、当該係数kはローパスフィルタとしての「強さ」「弱さ」に相当するもので、当該係数kを小さくすると高音が小さくなり（強いローパスフィルタ）、当該係数kを大きくすると高音が大きくなる（弱いローパスフィルタ）。
【００８３】
係数変化部２０６は、この係数kを変化させるもので、ＣＰＵ  １０１の制御の下、ＲＡＭ  １０３に記憶される係数kを変化させることにより、本音声処理装置２０１（ローパスフィルタ）の特性を変化させることができる。
【００８４】
以下、理解を容易にするため、係数kが与えられたローパスフィルタとして機能する音声処理装置２０１を、適宜L(k)と表記する。
【００８５】
このように、音声処理装置L(k)  ２０１では、係数kを変化させることで容易にその特性を変化させることができるとともに、フィルタ処理に必要なメモリ量が少なく、データのローカリティを高くすることができ、利用する計算機によっては、キャッシュ内にデータがすべて入るため、高速な処理が期待できる。
【実施例２】
【００８６】
上記実施形態では、音声処理装置L(k)  ２０１によってローパスフィルタを実現したが、本実施形態は、ハイパスフィルタを実現するものである。
【００８７】
係数kを採用したときの本実施形態による音声処理装置２０１を、適宜、以下ではH(k)と表記する。
【００８８】
図４は、本実施形態に係る音声処理装置H(k)  ２０１の概要構成を示す模式図である。以下、本図を参照して説明する。
【００８９】
図４に示す本実施形態と、図２に示す上記実施形態と、その基本構成は共通する。したがって、相違する点について述べる。
【００９０】
異なる点は、ステップＳ３１１、ステップＳ３０６において出力部２０３が出力する値として、変数xに現在格納されている値ではなく、変数aの値から変数xの値を減算した値y = a - xを出力することである。
【００９１】
このようにすると、出力波形の変位の時系列
y0，y1，y2，…，yi，…
は、漸化式
yi = ai - xi
によって得られるものとなる。
【００９２】
前述の音声処理装置L(k)  ２０１はローパスフィルタに相当するものであるから、原音からローパスフィルタの出力を減算すれば、ハイパスフィルタとなる。
【００９３】
また、当該係数kはハイパスフィルタとしての「弱さ」「強さ」に相当するもので、当該係数kを小さくすると低音が大きくなり（弱いハイパスフィルタ）、当該係数kを大きくすると低音が小さくなる（強いハイパスフィルタ）。
【００９４】
音声処理装置L(k)  ２０１と、音声処理装置H(k)  ２０１と、は、利用するデータのローカリティや計算が容易であること、ハイパスフィルタとしての強弱の調整が容易であることが、共通する。
【００９５】
本発明によれば、省メモリで簡易な計算により、強弱が容易に調整可能なハイパスフィルタを実現することができる。
【実施例３】
【００９６】
以下では、音声処理装置L(k)，H(k)はハイパスフィルタ、ローパスフィルタであるから、種々の音声処理に適用できることはいうまでもないが、音声処理装置L(k)，H(k)の種々の応用について述べる。
【００９７】
たとえば、コンピュータゲームにおいて、ユーザに仮想空間の様子を提示する際に、当該仮想空間内で発せられる音声をスピーカ等から提示したり、当該発せられる音声として、他のユーザがマイクから入力した音声を利用することがある。このようなときに、音声処理装置L(k)，H(k)に対して、当該音声の波形の変位を入力として与えるのである。
【００９８】
当該仮想空間内に配置された発音体として典型的なものは、ゲーム世界に配置されたキャラクター、動物、怪物、乗物、機械などのオブジェクトであり、その音波とは、当該キャラクター等が発する声や音をあらわすものである。当該音波としては、あらかじめ用意されたＰＣＭデータを採用しても良いし、音声ジェネレータによって生成したものであっても良い。また、プレイヤー自身が操作するキャラクターが発する音波として、マイクによって入力されたプレイヤー自身の声を利用することも可能である。
【００９９】
このとき、係数変化部２０６は、当該仮想空間内において当該プレイヤー自身が操作するキャラクターの位置（注目点）と、当該発音体との距離が大きくなると、当該所定の係数kが小さくなるように変化させる。
【０１００】
現実世界の音声の伝搬では、距離が遠くなると、高周波成分が低周波成分が落ちて中音域のみが残る減少が見られる。
【０１０１】
そこで、L(k)を採用する場合には、距離が離れると係数kを小さくして、高音域をより大きく除去するようなローパスフィルタとして機能させる。
【０１０２】
また、H(k)を採用する場合には、距離が離れると係数kを大きくして、低音域をより大きく除去するようなハイパスフィルタとして機能させるのである。
【０１０３】
このような態様を採用することにより、仮想世界における音声処理によって、発音体との距離をユーザによりリアルに感じさせることができるようになる。
【０１０４】
また、適当な係数1 > m > n > 0を用いて、L(m)とH(n)の両方を直列に繋ぐように採用することにより、バンドパスフィルタを実現することも可能である。図５は、このようなバンドパスフィルタの概要構成を示す模式図である。
【０１０５】
バンドパスフィルタ５０１は、音声処理装置L(m)  ２０１と音声処理装置H(n)  ２０１とが、直列接続されて構成されるが、いずれを原音よりに、いずれを出力よりにするかの、直列接続する順序は、本図（ａ）（ｂ）に示すように任意である。
【０１０６】
上記のような条件を満たす２つの係数m，nが与えられ、これらを調整することによって、どの帯域を通過させ、どの帯域を低減させるのか、を決めることができる。
【０１０７】
バンドパスフィルタ５０１を上記仮想空間における距離の表現に利用する場合には、そこで、L(m)に与える係数mは、距離が離れると小さくし、H(n)に与える係数nは、距離が離れると大きくする。
【０１０８】
これによって、上記のような係数の大小関係を設けることにより、中音域をよく通過させ、高音域と低音域を除去するようなバンドパスフィルタを実現するのである。これにより、省メモリで簡易な計算により、２つの係数の値を変化させることで通過させる周波数帯を容易に調整することができるバンドパスフィルタを実現することができる。
【産業上の利用可能性】
【０１０９】
以上説明したように、本発明によれば、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ等を、簡易な計算によリ実現する音声処理装置、音声処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１１０】
【図１】プログラムを実行することにより、本実施形態の音声処理装置として機能する典型的な情報処理装置の概要構成を示す模式図である。
【図２】本実施形態にかかる音声処理装置L(k)の概要構成を示す模式図である。
【図３】音声処理装置にて実行される音声処理の制御の流れを示すフローチャートである。
【図４】本実施形態に係る音声処理装置H(k)の概要構成を示す模式図である。
【図５】本実施形態に係るバンドパスフィルタの概要構成を示す模式図である。
【符号の説明】
【０１１１】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
２０１  音声処理装置
２０２  入力受付部
２０３  出力部
２０４  差分計算部
２０５  変位計算部
２０６  係数変化部
２０７  記憶部
５０１  バンドパスフィルタ
【図１】
0004437993.tif 000002
【図２】
0004437993.tif 000003
【図３】
0004437993.tif 000004
【図４】
0004437993.tif 000005
【図５】
0004437993.tif 000006