JP2004029377A - 圧縮データ処理装置、方法および圧縮データ処理プログラム - Google Patents
圧縮データ処理装置、方法および圧縮データ処理プログラム Download PDFInfo
- Publication number
- JP2004029377A JP2004029377A JP2002185560A JP2002185560A JP2004029377A JP 2004029377 A JP2004029377 A JP 2004029377A JP 2002185560 A JP2002185560 A JP 2002185560A JP 2002185560 A JP2002185560 A JP 2002185560A JP 2004029377 A JP2004029377 A JP 2004029377A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- data
- compressed data
- decompression
- compressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】処理負担の軽減および処理の高速化が可能な圧縮データ処理装置、方法および圧縮データ処理プログラムを提供すること。
【解決手段】マルチトラック伸長装置30は、圧縮音声データ読込み部31、データ削除処理部34、伸長処理部35、36、合成処理部37を備える。MPEG1オーディオ形式の2つの圧縮音声データが圧縮音声データ読込み部31によって読み込まれると、データ削除処理部34によって、これらの圧縮音声データに対して、伸張処理を行った後に合成したときに発生する冗長な部分を削除する処理が行われ、この削除処理の後に伸長処理部35、36によって伸長処理が行われる。このようにして得られた非圧縮音声データに対して合成処理部37によって合成処理が行われる。
【選択図】 図2
【解決手段】マルチトラック伸長装置30は、圧縮音声データ読込み部31、データ削除処理部34、伸長処理部35、36、合成処理部37を備える。MPEG1オーディオ形式の2つの圧縮音声データが圧縮音声データ読込み部31によって読み込まれると、データ削除処理部34によって、これらの圧縮音声データに対して、伸張処理を行った後に合成したときに発生する冗長な部分を削除する処理が行われ、この削除処理の後に伸長処理部35、36によって伸長処理が行われる。このようにして得られた非圧縮音声データに対して合成処理部37によって合成処理が行われる。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、圧縮データ同士を対象に合成処理を行う圧縮データ処理装置、方法および圧縮データ処理プログラムに関する。
【0002】
【従来の技術】
従来から、ゲーム装置では、プレーヤの操作内容やストーリの進行に伴って複数の音が用いられている。例えば、各種の効果音に加えて、プレーヤキャラクタあるいは敵キャラクタの音声などが任意のタイミングで生成された後、合成されて1つあるいは複数のスピーカから出力される。
【0003】
また、ネットワークを介して接続された複数の利用者が会話を行ういわゆるボイスチャット装置では、各話者の端末装置から送られてきた音声を合成して各話者の端末装置に配信している。
【0004】
【発明が解決しようとする課題】
ところで、上述した従来のゲーム装置やボイスチャット装置などにおいては、合成対象となるデータとして圧縮音声データを考えた場合に、生成された、あるいは入力された圧縮音声データを一旦伸長処理した後に合成処理を行っているため、処理の負担が重く、処理の高速化が難しいという問題があった。
【0005】
例えば、上述したゲーム装置では、記録された各種の圧縮音声データを所定の発生タイミングに合わせて読み出して個別に伸長処理を行った後に合成しているため、合成対象となる圧縮音声データの数が増加すると、並行して行われる伸長処理の処理量が大幅に増加し、この増加分に応じて圧縮音声データの発生から合成音声を出力するまでの処理に要する時間が長くなる。
【0006】
また、上述したボイスチャット装置では、各話者の端末装置から圧縮音声データが送られてきたときに、配信対象となる話者に対応してこの話者以外の各話者の音声圧縮データを一旦伸長し、合成した後に再度圧縮する必要がある。このため、結局は、全ての話者に対応する音声圧縮データに対して伸長処理を行った後に、各話者毎に異なる圧縮処理を行う必要があり、話者が増えれば、その分だけ圧縮音声データが入力されてから各話者に向けて合成後の圧縮音声データを出力するまでの処理負担が重くなるとともに、処理に要する時間が長くなる。
【0007】
本発明は、このような点に鑑みて創作されたものであり、その目的は、処理負担の軽減および処理の高速化が可能な圧縮データ処理装置、方法および圧縮データ処理プログラムを提供することにある。
【0008】
【課題を解決するための手段】
上述した課題を解決するために、本発明の圧縮データ処理装置は、合成対象となる複数の圧縮データを取得する圧縮データ取得手段と、圧縮データ取得手段によって取得された複数の圧縮データのそれぞれについて、これらの圧縮データに対して伸張処理を行った後に合成したときに発生する冗長な部分を伸張処理を行う前に削除するデータ削除手段と、圧縮データ取得手段によって取得され、データ削除手段によって必要に応じて削除処理が行われた後の圧縮データに対して伸張処理を行う伸張処理手段と、伸張処理手段によって伸張処理が行われた複数のデータを合成する合成手段とを備えている。合成によって生じる冗長な部分に対応する圧縮データを削除することにより、この削除された圧縮データに対して行われる伸長処理を省略することができるため、圧縮データに対する伸長処理と合成処理をあわせた全体についての処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0009】
また、上述した圧縮データは、圧縮音声データであり、データ削除手段は、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する圧縮データに対して削除処理を行うことが望ましい。具体的には、上述したデータ削除手段は、発生タイミングが一致する複数の音の中から最も音圧レベルが大きな基準音を抽出し、この基準音に対して所定の比率以下の音圧レベルを有する他の音を削除することが望ましい。あるいは、上述したデータ削除手段は、発生タイミングが前後する複数の音の中から最も音圧レベルが大きな基準音を抽出し、この基準音に対して所定の比率以下の音圧レベルを有する他の音を削除することが望ましい。このような冗長な部分を削除することにより、音声の伸長および合成を行う際の処理の簡略化、高速化が可能になる。特に、上述した所定の比率は、1/2であることが望ましい。これにより、音の大小比較を行う際の処理の簡略化が可能になる。
【0010】
また、上述した圧縮データに対して第1の部分伸張処理を行って得られた中間データに対して第2の部分伸張処理を行うことによりデータの復元が行われ、伸張処理手段によって第1の部分伸張処理を行い、合成手段によって中間データを対象に合成処理を行うことが望ましい。複数の圧縮データを対象に合成処理を行う場合に、非圧縮データを得るために行われる第1および第2の部分伸長処理を行った後ではなく、第1の部分伸長処理のみが終了したときに得られた中間データを用いて合成処理を行っている。このため、その後に行われる処理は、各圧縮データ毎に行う代わりに、合成後の中間データに対して行えばよく、処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0011】
また、上述した合成手段から出力される中間データに対して第2の部分伸張処理を行う第2の伸張処理手段をさらに備えることが望ましい。第2の部分伸長処理を合成後の中間データに対して行うことにより、合成された伸長データ(非圧縮データ)を得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0012】
また、上述した合成手段から出力される中間データに対して第1の部分伸張処理の逆変換となる圧縮処理を行う圧縮処理手段をさらに備えることが望ましい。合成後の中間データに対して圧縮処理を行うことにより、複数の圧縮データ同士を合成して再び圧縮データを得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0013】
また、上述した圧縮データは、MPEG1オーディオ形式の圧縮音声データであり、データ削除手段による削除処理は、複数の周波数帯域毎の音声データを対象に行われることが望ましい。MPEG1オーディオ形式の圧縮音声データの場合には、サブバンドと称される複数の周波数帯域毎の音声データが含まれているため、それぞれの周波数帯域の音声データを対象にマスキング特性を考慮することにより、冗長な周波数成分を効率的に削除することが可能になる。
【0014】
また、上述した合成手段よりも前段に設けられており、複数の圧縮データのそれぞれに対して所定の乗数を乗算する重み付け処理を行う重み付け処理手段をさらに備え、データ削除手段は、複数の圧縮データのそれぞれに対応する乗数を考慮して削除処理を行うことが望ましい。合成処理前に各中間データに対して重み付け処理を行うことにより、合成後の処理負担の軽減や処理の高速化が可能になる。しかも、マスキング特性を考慮した音の削除処理を行う際に、この重み付け処理で用いた乗数が考慮されるため、重み付け処理の結果を反映させた正確な削除処理を行うことが可能になる。
【0015】
また、上述した重み付け処理は、音量バランス調整処理であることが望ましい。複数の音に対して音量バランス調整(音量調整)を行う用途は多いが、従来の音声合成処理では、圧縮音声を非圧縮データに戻してからバランス調整を行っていた。本発明では、このバランス調整を中間データに対して行った結果を合成しており、音量バランス調整が必要な場合であっても処理負担の軽便と処理の高速化を実現することができる。
【0016】
また、上述した圧縮データは、MPEG1オーディオ形式の圧縮音声データであり、第1の部分伸張処理によって、複数の周波数帯域毎の音声データを復元し、第2の部分伸張処理によって、複数の周波数帯域毎の音声データを用いて周波数逆変換を行うことが望ましい。MPEG1オーディオ形式の圧縮音声データを用いる場合には、逆正規化処理を行って周波数帯域毎の音声データを復元した中間データを用いて合成を行うことが可能であり、その後の周波数逆変換処理や窓掛け処理の回数を減らして処理負担の軽減および処理の高速化を図ることができる。
【0017】
また、上述した第2の部分伸張処理は、処理後のデータ同士の合成と等価な処理前のデータ同士の合成が可能な処理であり、第1の部分伸張処理は、処理後のデータ同士の合成と等価な処理前の同士の合成が不可能な処理であることが望ましい。このような条件を満たす第1および第2の部分伸長処理によって復元される圧縮データに対して、第2の部分伸長処理の回数を削減することが可能になり、処理負担の軽減および処理の高速化が可能になる。
【0018】
また、本発明の圧縮データ処理方法は、合成対象となる複数の圧縮データを取得する圧縮データ取得手段と、圧縮データ取得手段によって取得された複数の圧縮データのそれぞれについて、これらの圧縮データに対して伸張処理を行った後に合成したときに発生する冗長な部分を伸張処理を行う前に削除するデータ削除手段と、圧縮データ取得手段によって取得され、データ削除手段によって必要に応じて削除処理が行われた後の圧縮データに対して伸張処理を行う伸張処理手段と、伸張処理手段によって伸張処理が行われた複数のデータを合成する合成手段とを備えた圧縮データ処理装置の圧縮データ処理方法であって、圧縮データ取得手段によって複数の圧縮データを取得するステップと、取得された複数の圧縮データのそれぞれについて、データ削除手段によって冗長な部分を削除するステップと、冗長な部分が削除された後の圧縮データに対して、伸張処理手段によって伸張処理を行うステップと、伸張処理が終了した後の複数のデータを用いて合成手段による合成処理を行うステップとを含んでいる。合成によって生じる冗長な部分に対応する圧縮データを削除することにより、この削除された圧縮データに対して行われる伸長処理を省略することができるため、圧縮データに対する伸長処理と合成処理をあわせた全体についての処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0019】
また、上述した圧縮データは、圧縮音声データであり、データ削除手段によって冗長な部分を削除するステップには、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する圧縮データを削除する動作が含まれていることが望ましい。音声データには合成という概念が定義でき、しかも、聴覚のマスキング特性によって、同時に出力される音には冗長な部分が含まれることが知られているので、この冗長な部分を削除することにより、音声の伸長および合成を行う際の処理の簡略化、高速化が可能になる。
【0020】
また、上述した圧縮データに対して第1の部分伸張処理を行ってから得られた中間データに対して第2の部分伸張処理を行うことによりデータの復元が行われ、伸張処理手段によって圧縮データに対して伸張処理を行うステップには第1の伸張処理を行う動作が含まれており、合成手段によって合成処理を行うステップには中間データを対象にしてこの合成処理を行う動作が含まれていることが望ましい。複数の圧縮データを対象に合成処理を行う場合に、非圧縮データを得るために行われる第1および第2の部分伸長処理を行った後ではなく、第1の部分伸長処理のみが終了したときに得られた中間データを用いて合成処理を行っている。このため、その後に行われる処理は、各圧縮データ毎に行う代わりに、合成後の中間データに対して行えばよく、処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0021】
また、上述した圧縮データ処理装置は、第2の伸張処理を行う第2の伸張処理手段を有しており、合成手段から出力される中間データに対して第2の部分伸張処理手段によって第2の部分伸張処理を行うステップをさらに含むことが望ましい。第2の部分伸長処理を合成後の中間データに対して行うことにより、合成された伸長データ(非圧縮データ)を得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0022】
また、上述した圧縮データ処理装置は、第1の部分伸張処理の逆変換となる圧縮処理を行う圧縮処理手段を有しており、合成手段から出力される中間データに対して圧縮処理手段によって圧縮処理を行うステップをさらに含むことが望ましい。合成後の中間データに対して圧縮処理を行うことにより、複数の圧縮データ同士を合成して再び圧縮データを得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0023】
また、本発明の圧縮データ処理プログラムは、複数の圧縮データを合成するためにコンピュータを、合成対象となる複数の圧縮データを取得する圧縮データ取得手段と、圧縮データ取得手段によって取得された複数の圧縮データのそれぞれについて、これらの圧縮データに対して伸張処理を行った後に合成したときに発生する冗長な部分を伸張処理を行う前に削除するデータ削除手段と、圧縮データ取得手段によって取得され、データ削除手段によって必要に応じて削除処理が行われた後の圧縮データに対して伸張処理を行う伸張処理手段と、伸張処理手段によって伸張処理が行われた複数のデータを合成する合成手段として機能させる。この圧縮データ処理プログラムをコンピュータによって実行することにより、合成によって生じる冗長な部分に対応する圧縮データを削除し、この削除された圧縮データに対して行われる伸長処理を省略することができるため、圧縮データに対する伸長処理と合成処理をあわせた全体についての処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0024】
また、上述した圧縮データは、圧縮音声データであり、コンピュータを、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する圧縮データに対して削除処理を行うデータ削除手段として機能させることが望ましい。これにより、圧縮音声データの中から冗長な部分を削除することができ、音声の伸長および合成を行う際の処理の簡略化、高速化が可能になる。
【0025】
また、上述した圧縮データに対して第1の部分伸長処理を行ってから得られた中間データに対して第2の部分伸長処理を行うことによりデータの復元が行われており、コンピュータを、第1の部分伸長処理を行う伸長処理手段と、中間データを対象に合成処理を行う合成手段として機能させることが望ましい。これにより、複数の圧縮データを対象に合成処理を行う場合に、非圧縮データを得るために行われる第1および第2の部分伸長処理を行った後ではなく、第1の部分伸長処理のみが終了したときに得られた中間データを用いて合成処理を行っており、その後に行われる処理を合成後の中間データに対して行えばよいため、処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0026】
また、上述したデータ圧縮処理プログラムは、コンピュータを、合成手段から出力される中間データに対して第2の部分伸長処理を行う第2の伸長処理手段として機能させることが望ましい。このプログラムを実行することにより、第2の部分伸長処理を合成後の中間データに対して行うことができるため、合成された伸長データ(非圧縮データ)を得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0027】
また、上述したデータ圧縮処理プログラムは、コンピュータを、合成手段から出力される中間データに対して第1の部分伸長処理の逆変換となる圧縮処理を行う圧縮処理手段として機能させることが望ましい。このプログラムを実行することにより、合成後の中間データに対して圧縮処理を行うことができるため、複数の圧縮データ同士を合成して再び圧縮データを得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0028】
【発明の実施の形態】
以下、本発明を適用した一実施形態の圧縮データ処理装置について、図面を参照しながら詳細に説明する。
〔第1の実施形態〕
図1は、第1の実施形態の圧縮データ処理装置の構成を示す図である。図1に示す本実施形態の圧縮データ処理装置100は、例えばゲーム装置等の一部を構成しており、所定の発音タイミングにおいて複数の音を合成出力する。このために、圧縮データ処理装置100は、発音指示装置10、圧縮音声データ格納装置20、マルチトラック伸長装置30、PCM音源40、D/A(デジタル−アナログ)変換器50、増幅器60、スピーカ70を備えている。
【0029】
発音指示装置10は、読み出す圧縮音声データとその読み出しタイミングを指示する。圧縮音声データ格納装置20は、読み出し対象となる圧縮音声データを格納するためのものであり、例えば半導体メモリやハードディスク装置あるいは光ディスク装置等が用いられる。マルチトラック伸長装置30は、圧縮音声データ格納装置20から読み出した複数の圧縮音声データに対して合成処理と伸長処理を行い、伸長された音声データ(非圧縮音声データ)を出力する。PCM音源40は、マルチトラック伸長装置30から出力された音声データに基づいて所定のフォーマット変換を行って、所定ビット数のPCMデータを出力する。D/A変換器50は、このPCMデータをアナログの音声信号に変換し、この音声信号が増幅器60によって増幅されてスピーカ70から出力される。なお、図1では、1系統の音声再生系が示されているが、例えばステレオ音声を再生する場合には、PCM音源40からスピーカ70までについては、左音声に対応するLチャンネル用と右音声に対応するRチャンネル用の各構成が備わっている。
【0030】
図2は、マルチトラック伸長装置30の詳細構成を示す図である。図2に示すように、マルチトラック伸長装置30は、圧縮音声データ読込み部31、データ削除処理部34、伸長処理部35、36、合成処理部37を備えている。例えば、本実施形態では、2つの圧縮音声データが読み込まれて合成が行われるものとする。また、圧縮音声データは、MPEG1(Moving Picture Experts Group 1)オーディオ形式の圧縮方式を用いて圧縮されているものとする。
【0031】
圧縮音声データ読込み部31は、発音指示装置10による読み出し指示に応じて、特定された2つの圧縮音声データを読み出して、レジスタ32、33に格納する。2つのレジスタ32、33のそれぞれに格納された各圧縮音声データは、ともに後段のデータ削除処理部34に入力される。
【0032】
データ削除処理部34は、圧縮音声データ読込み部31から入力される2つの圧縮音声データについて、伸長処理を行った後に合成したときに発生する冗長な部分を削除する処理を行う。この削除処理は、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する圧縮音声データに対して行われる。なお、合成対象となる2つの音に対する音量バランス調整が必要な場合には、このバランス調整を考慮して上述した削除処理が行われる。
【0033】
伸長処理部35は、データ削除処理部34によって部分的な削除処理が行われた後の一方の圧縮音声データに対して伸長処理を行う。同様に、伸長処理部36は、データ削除処理部34によって部分的な削除処理が行われた後の圧縮音声データに対して伸長処理を行う。これらの伸長処理によって非圧縮音声データが得られる。
【0034】
合成処理部37は、2つの伸長処理部35、36のそれぞれから出力される圧縮音声データを合成する。MPEG1オーディオの場合には、伸長された後の各非圧縮音声データ同士を加算することによりこの合成処理が行われる。なお、音量バランス調整を行う場合には、この合成処理部37による加算処理が行われる前に、それぞれの帯域データに所定の乗数を乗算する重み付け処理が合成処理部37において行われる。
【0035】
上述した圧縮音声データ読込み部31が圧縮データ取得手段に、データ削除処理部34がデータ削除手段に、伸長処理部35、36が伸長処理手段に、合成処理部37が合成手段、重み付け処理手段にそれぞれ対応する。
本実施形態の圧縮データ処理装置100はこのような構成を有しており、次にその動作を説明する。
【0036】
まず、聴覚のマスキング特性を利用したデータ削除処理の概要について説明する。一般に、聴覚が検知できる音の最小レベルは、同時に聞いているあるいは短時間の間に前後して聞いている他の音のレベルによって変化する。この現象を聴覚のマスキング特性といい、同時に聞いている他の音によって一方の音が聞こえなくなる「同時マスキング」と、短時間の間に前後して聞いている他の音によって一方の音が聞こえなくなる「テンポラル・マスキング(継時マスキング)」に大別される。また、マスクする音をマスカー(masker)といい、マスクされて聞こえなくなる音をマスキー(maskee)という。
【0037】
図3は、同時マスキングの概要を示す図である。図3において、横軸はマスカーあるいはマスキーの周波数を、縦軸は音圧をそれぞれ示している。図3に示すように、ある瞬間に着目したときに、所定の周波数および音圧の音Aが存在している状態において、この音Aの周波数を含む一定周波数範囲(ハッチングが付されている範囲)に存在する他の音Bは聞き取りにくくなる。他の音Bは、周波数が音Aの周波数に近い程、大きな音圧レベル(音量)を有していても聞き取りにくくなる。
【0038】
一方、他の音Cは、周波数が音Aの周波数からある程度以上離れており、小さな音圧レベルであっても聞き取ることができる。マスカー(音A)によるマスキング効果が及ぶ範囲をクリティカル・バンド(臨界帯域)といい、このクリティカル・バンドから外れる場合には、音圧レベルが比較的小さな他の音Cであっても聞き取ることができる。
【0039】
図4は、テンポラル・マスキングの概要を示す図である。図4において、横軸はマスカーあるいはマスキーの発生時刻を、縦軸は音圧をそれぞれ示している。図4に示すように、ある瞬間に着目したときに、所定の周波数および音圧の音Aが存在している状態において、この音Aの発生時刻を含む一定時間範囲(ハッチングが付されている範囲)に存在する他の音B、Cは聞き取りにくくなる。特に、他の音B、Cは、発生時刻が音Aの発生時刻に近い程、大きな音圧レベルを有していても聞き取りにくくなる。
【0040】
このように、同時あるいは短時間の間に前後して2つの音が発生した場合を考えると、一方の音の大きさによっては、マスキング効果によって他方の音が聞こえなくなる場合がある。このような聞こえなくなる音については、最初から音が発生しない場合と同じであり、マスキング効果によって聞こえなくなる音が予めわかっていれば、この音を伸長処理を行う前に削除することができ、その分だけ伸長処理の負担を軽減するとともに処理時間を短縮することが可能になる。
【0041】
図5は、MPEG1オーディオ形式の圧縮音声データを非圧縮音声データに戻すまでの一般的な伸長処理の内容を示す流れ図である。また、図6はMPEG1オーディオ形式のフレームフォーマット図である。
図6に示すように、MPEG1オーディオ形式のMPEGオーディオ・ビット・ストリームは、AAU(Audio Access Unit、オーディオ復号単位)を単位とし、このAAUが複数集まって構成されている。AAUは、単独で音声信号に復号できる最小単位である。各AAUは、ヘッダ、エラー・チェック、オーディオ・データ、アンシラリー・データから構成されている。また、この中でオーディオ・データは、アロケーション、スケール・ファクタ、サンプルから構成されている。
【0042】
ヘッダには、同期パターンやサンプリングレートを指定する情報が含まれており、これらの各情報に基づいて伸長処理が行われる。
オーディオ・データには、実際の圧縮音声データが含まれている。このオーディオ・データ内のアロケーションは、32サブバンド、2チャンネル分のデータの有無が符号化されている。
【0043】
スケール・ファクタは、各サブバンド、各チャンネル毎に音声データを再生する際の倍率を示している。それぞれが6ビットで表されており、+6dBから−128dBまでを2dB単位で指定することができる。
サンプルには、実際の波形データが含まれている。
【0044】
上述したフレームフォーマットを有するMPEG1オーディオ・ビット・ストリームを用いて圧縮音声の伸長処理を行う場合に、伸長処理の単位となる圧縮フレームとしてのAAUが読み込まれ(ステップ100)、この読み込まれたAAUからヘッダが抽出された後(ステップ101)、アロケーション、スケール・ファクタ、サンプルのそれぞれが抽出される(ステップ102、103、104)。次に、これらの抽出されたアロケーション、スケール・ファクタ、サンプルに基づいて逆正規化処理が行われ(ステップ105)、32個のサブバンド毎のデータが再現される。次に、周波数逆変換が行われて(ステップ106)、周波数成分毎のデータが時間毎の波形データに変換される。その後、各AAU間の波形データを滑らかに結ぶための窓掛け処理が行われて(ステップ107)、圧縮音声データに対する一連の伸長処理が終了する。
【0045】
このようなMPEG1オーディオに対応する2つの音を考えたときに、どちらの音がマスカーとなってどちらの音がマスキーとなるかは、それぞれの音に対応するAAUのヘッダに含まれるアロケーション、スケール・ファクタおよびサンプルに基づいて2つの音の各サブバンド毎の音圧レベルを比較することにより決定することができる。例えば、同時マスキングについて考える場合には、同時に発生する2つの音に対応するAAUの各サブバンド同士を比較し、大きい方の成分の音圧レベルに対して小さい方の成分の音圧レベルが所定の比率以下である場合に、大きい方の成分をマスカー、小さい方の成分をマスキーとして決定する。マスキーとして決定された成分については削除され、その後の処理、すなわち合成前に行われる伸長処理が省略される。
【0046】
図2に示したマルチトラック伸長装置30では、データ削除処理部34は、入力される2つの圧縮音声データのそれぞれに対応する各AAUのスケール・ファクタに基づいて、各帯域毎にマスキーとなるか否かを決定し、後段の伸張処理部35、36では、マスキーとなったサブバンドの音については伸張処理を行わないようにする。したがって、マスキング効果によって聞こえなくなる成分を考慮せずに各圧縮音声データについて別々に伸張処理を行う場合に比べて、伸張処理の負担を軽減することが可能になり、これに伴う処理の高速化が可能になる。
【0047】
上述した本実施形態の圧縮データ処理装置100については、以下の(1)〜(3)に示すような用途が考えられる。
(1)ゲーム装置
ゲーム装置では、各種の効果音やプレーヤキャラクタの音声あるいは敵キャラクタの音声などを、プレーヤの操作内容やゲームの進行状況に応じて適切なタイミングで発生させる必要がある。複数の音声の特定の単位(MPEG1オーディオの場合にはAAU)の先頭が一致していれば合成が可能であり、このときの合成音の生成において上述した圧縮データ処理装置100を用いることができる。これにより、2あるいはそれ以上の数の音声に対応した圧縮音声データを読み出して最終的に合成音声を出力するまでの処理負担の軽減が可能になる。
【0048】
(2)マルチチャンネル音源
複数トラックの音声を合成して出力するマルチチャンネル音源では、1つの音楽ソースから読み出される複数の圧縮音声データ、あるいは複数の音楽ソースから読み出される複数の圧縮音声データに対して並行して伸長処理を行う必要がある。このため、伸長処理の負担が大きい。このマルチチャンネル音源に、上述した圧縮データ処理装置100を用いることにより、伸長処理に対応する処理の負担を大幅に軽減することができる。
【0049】
(3)クロスフェード装置
現在出力中の音に対して、出力音量を徐々に下げるいわゆるフェードアウト処理を行うと同時に、別の音の出力音量を徐々に上げるいわゆるフェードイン処理を行うものがクロスフェード装置である。フェードアウト処理の対象となる音と、フェードイン処理の対象となる音とを合成する処理を上述した圧縮データ処理装置100を用いて行うことにより、伸長処理に対応する処理の負担を大幅に軽減することができる。
【0050】
ところで、本実施形態のマルチトラック伸長装置30は専用のハードウエアを用いて構成することもできるが、パーソナルコンピュータ等の汎用コンピュータあるいはこれと同等の機能を有する装置を用いて実現することもできる。
図7は、マルチトラック伸長装置の変形例を示す図である。図7に示すマルチトラック伸長装置130は、CPU131、ROM132、RAM133を含んで構成されており、ROM132あるいはRAM133に格納されたプログラムをCPU131を用いて実行することにより、図2に示したマルチトラック伸長装置30とほぼ同等の処理を行うコンピュータとして動作する。なお、CPU131によってプログラムを実行することにより、図2に示した発音指示装置10が行っていた発音タイミングの指示動作も行うものとすると、この発音指示装置10を省略することができる。
【0051】
図8および図9は、図7に示したマルチトラック伸長装置130の動作手順を示す流れ図であり、ROM132あるいはRAM133に格納されている圧縮データ処理プログラムをCPU131によって実行することにより実施される動作手順が示されている。
【0052】
CPU131は、所定の発音タイミングになると、合成対象となる一方の圧縮音声データに対応するMPEG1オーディオ形式の圧縮フレームとしてのAAUの読み込みを行う(ステップ200)。次に、CPU131は、この読み込んだAAUからヘッダを抽出した後(ステップ201)、アロケーション、スケール・ファクタのそれぞれの抽出(ステップ202、203)とバランス調整値の設定を行う(ステップ204)。バランス調整とは、異なるレベルで2つの音を合成する場合にそれぞれの音に対してゲインを調整するための処理であり、それぞれの音について調整するゲインが設定されている場合にはこのゲインに相当するバランス調整値が設定される。なお、2つの音をゲイン調整することなく同じレベルを維持した状態で合成する場合には、このバランス調整値の設定に関するステップ204の処理は省略していもよい。
【0053】
次に、CPU131は、合成対象となる全てのAAUの読み込みを終了したか否かを判定する(ステップ205)。例えば、2つの圧縮音声データの合成を行う場合であって、一方の圧縮音声データに対応するAAUの読み込みだけが終了し、他方の圧縮音声データに対応するAAUの読み込みが終了していない場合には、ステップ205の判定において否定判断が行われ、他のAAUについて上述したステップ200以降の処理が繰り返される。
【0054】
また、合成対象となる全てのAAUの読み込みが終了した場合には、ステップ205の判定において肯定判断が行われ、次に、CPU131は、各サブバンド毎にマスク値を決定するとともに(ステップ206)、各AAUがマスクフレームであるか否かの判定を行う(ステップ207)。全てのサブバンドがマスキーとなっているAAUや、マスキーとなっていないサブバンドがあるが無音状態に対応するサブバンドのみが含まれるAAUは、マスクフレームとして決定される。
【0055】
図10は、ステップ206におけるマスク値決定の詳細な動作手順を示す図である。まず、CPU131は、処理対象となるAAUとサブバンドを決定するとともに(ステップ300、301)、この処理対象として決定されたサブバンドの音が、比較対象となっている同一のサブバンドにおいて最大音量であるか否かを判定する(ステップ302)。同一サブバンドにおいて最大音量である場合には肯定判断が行われ、次に、CPU131は、サブバンド毎の最大音量を更新する(ステップ303)。その後、あるいは、処理対象となっているサブバンドの音量が同一サブバンドにおいて最大音量でない場合であってステップ302の判定において否定判断が行われた後、CPU131は、未処理のサブバンドが残っているか否かを判定する(ステップ304)。着目しているAAUに未処理のサブバンドが残っている場合にはこの判定において肯定判断が行われ、上述したステップ301の処理に戻って、処理対象のサブバンドを変更した後にサブバンド毎の最大音量の判定と更新が行われる。
【0056】
また、処理対象となっている一のAAUに含まれる全てのサブバンドについてサブバンド毎の最大音量の判定と更新が行われるとステップ304の判定において否定判断が行われ、次に、CPU131は、未処理のAAUが残っているか否かを判定する(ステップ305)。比較対象となっている一方のAAUのみについて各サブバンド毎の最大音量の判定と更新が終了した場合にはこの判定において肯定判断が行われ、上述したステップ300の処理に戻って、他のAAUについて各サブバンド毎の最大音量の判定と更新が行われる。
【0057】
全てのAAUに含まれる全てのサブバンドについて最大音量の判定と更新が終了するとステップ305の判定において否定判断が行われ、次に、CPU131は、サブバンド毎にマスク値を決定する(ステップ306)。実際のマスカーとマスキーとの関係は図3に示した通りであるが、マスカー(音A)の音量に対してどの音量以下の音がマスキーになるかは、マスカーの音量や周波数によっても変化する。また、同時マスキングのみを考慮する場合には、発生タイミングが同じである2つのAAUを処理対象とすればよいが、テンポラル・マスキングを考慮する場合には、発生タイミングが前後する3以上のAAUを処理対象に設定してもよい。CPU131は、各サブバンド毎に判定した最大音量(マスカーの音量)に基づいてマスク値を決定する。
【0058】
なお、最も計算を簡略化する場合には、同時マスキングのみを考慮するとともに、各サブバンド毎に最大音量を決定してその1/2以下となる音量を有する同一帯域の音をマスキーに設定して削除するようにしてもよい。これにより、最大音量の1/2をマスク値として計算する際の計算量と、後にこのマスク値と同一帯域の他の音と音量を比較する際の計算量とを削減することが可能になる。
【0059】
図11は、ステップ207におけるマスクフレーム決定の詳細な動作手順を示す図である。まず、CPU131は、処理対象となるAAUとサブバンドを決定するとともに(ステップ400、401)、この処理対象として決定されたサブバンドの音がマスキーであるか否かの判定を行う(ステップ402)。この判定は、各サブバンド毎に設定されたマスク値と着目しているサブバンドの音量とを比較することにより行われる。着目しているサブバンドの音がマスキーである場合にはステップ402の判定において肯定判断が行われ、次に、CPU131は、未処理のサブバンドが残っているか否かを判定する(ステップ403)。着目しているAAUに未処理のサブバンドが残っている場合にはこの判定において肯定判断が行われ、上述したステップ401の処理に戻って、処理対象のサブバンドを変更した後に着目しているサブバンドの音がマスキーであるか否かの判定が繰り返される。また、着目しているAAUに含まれる各サブバンドの音がマスキーであって未処理のサブバンドが残っていない場合、すなわち着目しているAAUに含まれる全てのサブバンドの音がマスキーである場合にはにはステップ403の判定において否定判断が行われ、次に、CPU131は、このAAUをマスクフレームに設定する(ステップ404)。
【0060】
このようにしてマスクフレームの設定が行われた後、CPU131は、未処理のAAUが残っているか否かを判定する(ステップ405)。一方のAAUのみについてマスクフレームの判定処理が終了した場合にはこの判定において肯定判断が行われ、上述したステップ400の処理に戻って、他のAAUについてマスクフレームの判定処理が行われる。なお、着目しているAAUにマスキーでないサブバンドの音が一つでも含まれている場合には、このAAUはマスクフレームではない。この場合には、上述したステップ402の判定において否定判断が行われ、ステップ403、404の処理が省略されてステップ405の判定が行われる。
【0061】
このようにして各サブバンド毎のマスク値の決定とマスクフレームの判定処理が行われた後、実際の伸張処理が実施される。
まず、CPU131は、上述したステップ200によって読み込みが終了しているAAUの中から処理対象となる一のAAUを決定し(ステップ208)、このAAUがマスクフレームであるか否かを判定する(ステップ209)。マスキーとなっていない有音部分のサブバンドが一つでも含まれる場合にはマスクフレームではないため、この場合には否定判断が行われる。次に、CPU131は、処理対象となる一のサブバンドを決定し(ステップ210)、このサブバンドの音がマスキーであるか否かを判定する(ステップ211)。マスキーでない場合には否定判断が行われ、次に、CPU131は、サンプルを抽出して(ステップ212)、既に抽出済みのスケール・ファクタや設定済みのバランス調整値等に基づいて逆正規化処理を実施する(ステップ213)。着目しているサブバンドに対応する逆正規化処理が終了した後、あるいは、着目しているサブバンドがマスキーである場合にはステップ211の判定において肯定判断を行った後、CPU131は、未処理のサブバンドが残っているか否かを判定する(ステップ214)。残っている場合には肯定判断が行われ、処理対象となる一のサブバンドを決定するステップ210以降の処理が繰り返される。また、未処理のサブバンドが残っていない場合にはステップ214の判定において否定判断が行われ、次に、CPU131は、未処理のAAUが残っているか否かを判定する(ステップ215)。合成対象となっているAAUの中に上述したステップ209〜214までの一連の処理が行われていない未処理のAAUが残っている場合には肯定判断が行われ、処理対象となる一のAAUを決定するステップ208以降の処理が繰り返される。
【0062】
また、合成対象となっている全てのAAUについて上述したステップ209〜214までの一連の処理が終了した場合には、ステップ215の判定において否定判断が行われる。次に、CPU131は、それぞれのAAU毎について、各サブバンド毎に逆正規化処理によって得られた周波数領域の波形データを用いて周波数逆変換処理および窓掛け処理を行って時間領域の波形データを得た後に(ステップ216、217)、この時間領域の波形データを複数のAAUについて合成する波形データの合成処理を行い(ステップ218)、合成後の非圧縮音声データを出力する(ステップ219)。
【0063】
このように、マルチトラック伸長装置130では、処理対象となっているAAU内の各サブバンドの成分がマスキーとなっている場合にはこの成分に対応する逆正規化処理が省略されるため、伸張処理全体の処理負担を軽減することができるとともに、処理の高速化が可能になる。特に、処理対象となっているAAUがマスクフレームの場合には、このAAU全体に対応する逆正規化処理が省略されるため、伸張処理全体の処理負担を大幅に軽減することが可能になる。
【0064】
なお、上述した説明では、処理対象となっている全てのAAU内のマスキーではない各サブバンドについて逆正規化処理(ステップ213)が終了した後に、各AAUに対する周波数変換処理(ステップ216)と窓掛け処理(ステップ217)を行ったが、AAU毎に逆正規化処理、周波数変換処理、窓掛け処理を行うようにしてもよい。この場合には、図9に示すステップ215の動作フローをステップ217とステップ218の間に移動すればよい。
【0065】
〔第2の実施形態〕
上述した第1の実施形態では、2つの圧縮音声データに対して別々に伸張処理を行って非圧縮音声データを得た後に合成処理を行ったが、伸張処理の内容によっては、完全に非圧縮音声データを得る前の中間データの段階で合成処理を行うことにより、伸張処理全体の簡略化を図ることができる。
【0066】
入力データaを出力データa′に、入力データbを出力データb′に変換するために行う伸長処理をFとすると、a′=F(a)、b′=F(b)と表すことができる。
本明細書ではこれら2つの出力データa′、b′を合成する処理をa′・b′と表すものとすると、2つの入力データa、bに基づいて合成後の非圧縮データを得るためには、2回の伸長処理Fと1回の合成処理を行う必要がある。
【0067】
ところで、伸長処理を行った後の2つの非圧縮データを合成する代わりに、伸長処理前の入力データ同士を合成することができれば、その後の伸長処理を1回行うだけで同じ出力データを得ることができ、処理手順の簡略化、処理負担の軽減、処理時間の短縮等が可能になる。本明細書では伸長前に2つの入力データa、bを合成する処理をa*bと表すものとする。
【0068】
上述した伸長処理後のデータ合成を伸長処理前に行うことができるためには、
a′・b′=F(a*b) …(1)
の関係を満たす必要がある。なお、「・」、「*」で示された2つの合成処理の内容は、必ずしも同じである必要はない。例えば、「・」で表される合成処理が単純な加算処理である場合に、「*」で表される合成処理は同じ内容の単純な加算処理の場合だけでなく、乗算等の他の処理であってもよい。
【0069】
図12は、圧縮音声データから非圧縮音声データを得るために行われる伸長処理の概略を示す図である。図12に示すように、一般的な伸長処理は、n段の部分伸長処理F1、F2、…、Fnに分解される。nは1以上の整数であり、最も処理が簡単で圧縮率が小さい伸長処理ではnが1の場合もあるが、ある程度圧縮率が高い実用的な伸長処理では、通常はnは2以上となる。
【0070】
ところで、図12に示すような複数の部分伸長処理F1、F2、…、Fnが直列接続されたモデルを考えると、m+1段目以降の部分伸長処理の合成処理Gが(1)式の関係((1)式においてFをGに置き換えたa′・b′=G(a*b)で示された関係)を満たす場合には、m段目の部分伸長処理によって得られた中間データを合成した後この合成した中間データに対してm+1段目以降の部分伸長処理を行うことで、2つの圧縮音声データのそれぞれについてn段の部分伸長処理を行った後の非圧縮音声データを最後に合成した結果と同じ結果が得られる。図13は、このようにしてm段目の部分伸長処理の後に2つの中間データを合成する場合の伸長・合成処理の概略を示す図である。
【0071】
このようにして伸長処理の途中段階で出力される中間データを合成することができれば、その後段で行われる部分伸長処理を共通化することができるため、伸長処理の簡略化が可能になる。本実施形態では、このような特徴を有する圧縮伸長処理としてMPEG1オーディオ方式が採用されており、合成前に逆正規化処理までの第1の部分伸張処理が行われて中間データが生成され、この中間データを用いて合成処理を行った結果に対して周波数逆変換と窓掛け処理からなる第2の部分伸張処理が行われる。
【0072】
図14は、第2の実施形態の圧縮データ処理装置に含まれるマルチトラック伸張装置の構成を示す図である。図14に示すマルチトラック伸張装置230は、圧縮音声データ読込み部31、データ削除処理部34、伸張処理部135、136、138、合成処理部137を備えている。このマルチトラック伸張装置230では、図2に示した第1の実施形態のマルチトラック伸張装置30と同様に、2つの圧縮音声データが読み込まれて合成が行われる。なお、図2に示したマルチトラック伸長装置30に含まれる構成と基本的に同じ動作を行う構成については同じ符号を付してあり、詳細な説明は省略する。
【0073】
伸張処理部135は、データ削除処理部34によって部分的な削除処理が行われた後の一方の圧縮音声データに対して、逆正規化処理までの第1の部分伸張処理を行う。同様に、伸張処理部136は、データ削除処理部34によって部分的な削除処理が行われた後の他方の圧縮音声データに対して、逆正規化処理までの第1の部分伸張処理を行う。
【0074】
合成処理部137は、2つの伸張処理部135、136のそれぞれから出力される中間データを合成する。各中間データの同一帯域データ同士を加算することによりこの合成処理が行われる。
伸張処理部138は、合成処理部137によって合成された後の中間データに対して、周波数逆変換と窓掛け処理からなる第2の部分伸張処理を行う。この第2の部分伸張処理によって、非圧縮音声データが得られる。上述した伸張処理部135、136が伸張処理手段に、伸張処理部138が第2の伸張処理手段にそれぞれ対応する。
【0075】
ところで、上述した第1の実施形態と同様に、本実施形態のマルチトラック伸張装置230は専用のハードウエアを用いて構成することもできるが、パーソナルコンピュータ等の汎用コンピュータあるいはこれと同等の機能を有する装置を用いて実現することもできる。例えば、図7に示したマルチトラック伸張装置130と全く同じ構成を用いてマルチトラック伸張装置230を構成することができる。
【0076】
図15は、図7に示した構成によって本実施形態のマルチトラック伸張装置230を実現した場合の動作手順を示す流れ図であり、ROM132あるいはRAM133に格納されている圧縮音声データ処理プログラムをCPU131によって実行することにより実施される動作手順が示されている。なお、ステップ215までの動作手順は、図8および図9に示したステップ200〜215の動作手順と同じであり、図示および詳細な説明は省略する。
【0077】
合成対象となっているAAUの全てのサブバンドについて逆正規化処理までの各処理が終了してステップ215の判定において否定判断が行われると、次に、CPU131は、逆正規化処理によって得られた周波数領域の波形データを各サブバンド毎に加算する合成処理を行った後(ステップ500)、周波数逆変換処理および窓掛け処理を行って時間領域の波形データを生成し(ステップ501、502)、合成後の非圧縮音声データを出力する(ステップ503)。
【0078】
このように、本実施形態の圧縮データ処理装置では、マルチトラック伸張装置230においてMPEG1オーディオ形式の2つの圧縮音声データに対して逆正規化処理までの第1の部分伸張処理を別々に行って中間データを得るとともに、これら2つの中間データを合成した後のデータに対して周波数逆変換処理以降の第2の部分伸張処理を行っている。したがって、各圧縮音声データについて別々に第1および第2の伸張処理を行って非圧縮音声データに戻した後のデータを合成する場合に比べて、第2の部分伸張処理の回数を減らすことができるため、さらなる処理負担の軽減および処理の高速化が可能になる。
【0079】
〔第3の実施形態〕
上述した第1および第2の実施形態では伸張処理後の非圧縮音声データを出力するようにしたが、ボイスチャット装置等では、合成後の非圧縮音声データを再び圧縮して各端末装置に送信する必要があるため、この圧縮処理までを含めた一連の処理を簡略化することが望ましい。
【0080】
図16は、第3の実施形態の圧縮データ処理装置としての圧縮音声データ合成装置の構成を示す図である。図16に示すように、圧縮音声データ合成装置330は、圧縮音声データ読込み部31、データ削除処理部34、伸長処理部135、136、合成処理部137、圧縮処理部139が備わっている。例えば、本実施形態では、2つの圧縮音声データが読み込まれて合成が行われ、この合成後のデータが再び圧縮されて出力される。なお、図14に示したマルチトラック伸長装置230に含まれる構成と基本的に同じ動作を行う構成については同じ符号を付してあり、詳細な説明は省略する。
【0081】
圧縮処理部139は、合成処理部137から出力される中間データに対して、伸長処理部135、136によって行われた部分伸長処理と反対の圧縮処理を行う。合成処理部137からは各伸張処理部135、136によって逆正規化処理された中間データが出力されており、圧縮処理部139は、この逆正規化処理と反対の部分的な圧縮処理、すなわち各サブバンド毎の波形データを用いて帯域削除処理および正規化処理を行った後、アロケーション、スケール・ファクタ、サンプルおよびヘッダを作成してAAUを生成する処理を行う。圧縮音声データ合成装置330からは、このようにして圧縮処理部139によって作成されたAAUが出力される。上述した圧縮処理部139が圧縮処理手段に対応する。
【0082】
ところで、上述した第1および第2の実施形態と同様に、本実施形態の圧縮音声データ合成装置330は専用のハードウエアを用いて構成することもできるが、パーソナルコンピュータ等の汎用コンピュータあるいはこれと同等の機能を有する装置を用いて実現することもできる。例えば、図7に示したマルチトラック伸長装置130と全く同じ構成を用いて圧縮音声データ合成装置を構成することができる。
【0083】
図17は、図7に示した構成によって本実施形態の圧縮音声データ合成装置を実現した場合の動作手順を示す図であり、ROM132あるいはRAM133に格納されている圧縮音声データ合成プログラムをCPU131によって実行することにより実施される動作手順が示されている。なお、ステップ215までの動作手順は、図8および図9に示したステップ200〜215の動作手順と同じであり、図示および詳細な説明は省略する。
【0084】
合成対象となっているAAUの全てのサブバンドについて逆正規化処理までの各処理が終了してステップ215の判定において否定判断が行われると、次に、CPU131は、逆正規化処理によって得られた周波数領域の波形データを各サブバンド毎に加算する合成処理を行うとともに(ステップ600)、合成された各サブバンド毎のデータを用いて正規化処理を行った後(ステップ601)、アロケーション、スケール・ファクタ、サンプルおよびヘッダ等からなるAAUを作成する処理を行い(ステップ602)、この作成されたAAUからなる合成圧縮音声データを出力する(ステップ603)。
【0085】
このように、本実施形態の圧縮音声データ合成装置では、MPEG1オーディオ形式の2つの圧縮データに対して逆正規化処理までの第1の部分伸長処理を別々に行って中間データを得るとともに、それ以後の第2の部分伸長処理を行わずにこれら2つの中間データを合成した結果を圧縮処理している。したがって、その後の伸長処理およびこの伸長処理に対応する圧縮処理を行う手順を省略することができるため、処理負担の軽減および処理の高速化が可能になる。特に、第1の部分伸張処理の前に、データ削除処理部34によってAAU内の冗長なサブバンドの成分が削除されるため、第1の部分伸張処理の対象となるデータ量を減らすことができるため、処理負担の軽減および処理の高速化の効果をさらに高めることが可能になる。
【0086】
上述した本実施形態の圧縮音声データ合成装置330については、以下の(4)〜(6)に示した用途が考えられる。
(4)ミキサ装置
入力された複数の圧縮音声データに対して合成処理を行い、合成結果を圧縮データとして出力する従来のミキサ装置では、冗長なサブバンドの成分を含む圧縮音声データに対して一旦伸長処理を行って完全な非圧縮データにした後に合成し、再び圧縮処理を行っている。すなわち、従来のミキサ装置では、冗長なサブバンドの成分が含まれる圧縮音声データの数に対応した完全な伸長処理と、これらの伸長処理によって得られた非圧縮データを合成した後に完全な圧縮処理とを行う必要があり、処理の負担が大きい。このようなミキサ装置に上述した圧縮音声データ合成装置330を用いることにより、圧縮データの一部を伸張処理の対象から除外するとともに、伸長処理の一部と圧縮処理の一部を省略することができるため、処理の負担を大幅に軽減することができる。
【0087】
(5)ボイスチャットサーバ装置
ネットワークを介して接続された複数の利用者が会話を行うボイスチャットサーバ装置では、各利用者の端末から送られてくる圧縮音声データを合成して各利用者の端末に送り返す必要がある。この合成処理を上述した圧縮音声データ合成装置330を用いて行うことにより、全てのサブバンドの成分が含まれる圧縮音声データに対して完全に伸長処理を行って非圧縮データを生成した後に合成して再び圧縮する場合に比べて処理の負担を軽減することができる。
【0088】
(6)電子会議システム
ボイスチャットサーバ装置と同様に、複数箇所の会議室等に設置されたマイクロホンによって集音して生成された圧縮音声データ同士を合成する際に、上述した圧縮音声データ合成装置330を用いることができ、各会議室等に圧縮音声データを配信するまでの処理の負担を軽減することができる。
【0089】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した第2および第3の実施形態では、伸長処理部135、136によって所定の伸長処理を行った後の中間データを用いて合成処理を行うようにしたが、例えば差分PCM(DPCM)形式の圧縮音声データのように、圧縮音声データそのものを合成することができる場合(伸長処理の全体が(1)式を満たす場合)には、図14あるいは図16に示した伸長処理部135、136を省略して(図16に示した圧縮音声データ合成装置330では圧縮処理部139も省略可能)、2つの圧縮音声データを合成処理部137に直接入力するようにしてもよい。この場合に、図14において合成処理部137の後段に設けられた伸長処理部138は、圧縮音声データに基づいて非圧縮音声データを得る伸長処理を行う。
【0090】
【発明の効果】
上述したように、本発明によれば、合成によって生じる冗長な部分に対応する圧縮データを削除することにより、この削除された圧縮データに対して行われる伸長処理を省略することができるため、圧縮データに対する伸長処理と合成処理をあわせた全体についての処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【図面の簡単な説明】
【図1】第1の実施形態の圧縮データ処理装置の構成を示す図である。
【図2】マルチトラック伸長装置の詳細構成を示す図である。
【図3】同時マスキングの概要を示す図である。
【図4】テンポラル・マスキングの概要を示す図である。
【図5】MPEG1オーディオ形式の圧縮音声データを非圧縮音声データに戻すまでの一般的な伸長処理の内容を示す流れ図である。
【図6】MPEG1オーディオ形式のフレームフォーマット図である。
【図7】マルチトラック伸長装置の変形例を示す図である。
【図8】図7に示したマルチトラック伸長装置の動作手順を示す流れ図である。
【図9】図7に示したマルチトラック伸長装置の動作手順を示す流れ図である。
【図10】図8に示したステップ206のマスク値決定の詳細な動作手順を示す図である。
【図11】図8に示したステップ207におけるマスクフレーム決定の詳細な動作手順を示す図である。
【図12】圧縮音声データから非圧縮音声データを得るために行われる伸長処理の概略を示す図である。
【図13】m段目の部分伸長処理の後に2つの中間データを合成する場合の伸長・合成処理の概略を示す図である。
【図14】第2の実施形態の圧縮データ処理装置に含まれるマルチトラック伸張装置の構成を示す図である。
【図15】図7に示した構成によって本実施形態のマルチトラック伸張装置を実現した場合の動作手順を示す流れ図である。
【図16】第3の実施形態の圧縮データ処理装置としての圧縮音声データ合成装置の構成を示す図である。
【図17】図7に示した構成によって本実施形態の圧縮音声データ合成装置を実現した場合の動作手順を示す図である。
【符号の説明】
10 発音指示装置
20 圧縮音声データ格納装置
30 マルチトラック伸長装置
31 圧縮音声データ読込み部
32、33 レジスタ
34 データ削除処理部
35、36、135、136、138 伸長処理部
37、137 合成処理部
40 PCM音源
50 D/A(デジタル−アナログ)変換器
60 増幅器
70 スピーカ
130 マルチトラック伸長装置
131 CPU
132 ROM
133 RAM
139 圧縮処理部
230 マルチトラック伸長装置
330 圧縮音声データ合成装置
【発明の属する技術分野】
本発明は、圧縮データ同士を対象に合成処理を行う圧縮データ処理装置、方法および圧縮データ処理プログラムに関する。
【0002】
【従来の技術】
従来から、ゲーム装置では、プレーヤの操作内容やストーリの進行に伴って複数の音が用いられている。例えば、各種の効果音に加えて、プレーヤキャラクタあるいは敵キャラクタの音声などが任意のタイミングで生成された後、合成されて1つあるいは複数のスピーカから出力される。
【0003】
また、ネットワークを介して接続された複数の利用者が会話を行ういわゆるボイスチャット装置では、各話者の端末装置から送られてきた音声を合成して各話者の端末装置に配信している。
【0004】
【発明が解決しようとする課題】
ところで、上述した従来のゲーム装置やボイスチャット装置などにおいては、合成対象となるデータとして圧縮音声データを考えた場合に、生成された、あるいは入力された圧縮音声データを一旦伸長処理した後に合成処理を行っているため、処理の負担が重く、処理の高速化が難しいという問題があった。
【0005】
例えば、上述したゲーム装置では、記録された各種の圧縮音声データを所定の発生タイミングに合わせて読み出して個別に伸長処理を行った後に合成しているため、合成対象となる圧縮音声データの数が増加すると、並行して行われる伸長処理の処理量が大幅に増加し、この増加分に応じて圧縮音声データの発生から合成音声を出力するまでの処理に要する時間が長くなる。
【0006】
また、上述したボイスチャット装置では、各話者の端末装置から圧縮音声データが送られてきたときに、配信対象となる話者に対応してこの話者以外の各話者の音声圧縮データを一旦伸長し、合成した後に再度圧縮する必要がある。このため、結局は、全ての話者に対応する音声圧縮データに対して伸長処理を行った後に、各話者毎に異なる圧縮処理を行う必要があり、話者が増えれば、その分だけ圧縮音声データが入力されてから各話者に向けて合成後の圧縮音声データを出力するまでの処理負担が重くなるとともに、処理に要する時間が長くなる。
【0007】
本発明は、このような点に鑑みて創作されたものであり、その目的は、処理負担の軽減および処理の高速化が可能な圧縮データ処理装置、方法および圧縮データ処理プログラムを提供することにある。
【0008】
【課題を解決するための手段】
上述した課題を解決するために、本発明の圧縮データ処理装置は、合成対象となる複数の圧縮データを取得する圧縮データ取得手段と、圧縮データ取得手段によって取得された複数の圧縮データのそれぞれについて、これらの圧縮データに対して伸張処理を行った後に合成したときに発生する冗長な部分を伸張処理を行う前に削除するデータ削除手段と、圧縮データ取得手段によって取得され、データ削除手段によって必要に応じて削除処理が行われた後の圧縮データに対して伸張処理を行う伸張処理手段と、伸張処理手段によって伸張処理が行われた複数のデータを合成する合成手段とを備えている。合成によって生じる冗長な部分に対応する圧縮データを削除することにより、この削除された圧縮データに対して行われる伸長処理を省略することができるため、圧縮データに対する伸長処理と合成処理をあわせた全体についての処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0009】
また、上述した圧縮データは、圧縮音声データであり、データ削除手段は、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する圧縮データに対して削除処理を行うことが望ましい。具体的には、上述したデータ削除手段は、発生タイミングが一致する複数の音の中から最も音圧レベルが大きな基準音を抽出し、この基準音に対して所定の比率以下の音圧レベルを有する他の音を削除することが望ましい。あるいは、上述したデータ削除手段は、発生タイミングが前後する複数の音の中から最も音圧レベルが大きな基準音を抽出し、この基準音に対して所定の比率以下の音圧レベルを有する他の音を削除することが望ましい。このような冗長な部分を削除することにより、音声の伸長および合成を行う際の処理の簡略化、高速化が可能になる。特に、上述した所定の比率は、1/2であることが望ましい。これにより、音の大小比較を行う際の処理の簡略化が可能になる。
【0010】
また、上述した圧縮データに対して第1の部分伸張処理を行って得られた中間データに対して第2の部分伸張処理を行うことによりデータの復元が行われ、伸張処理手段によって第1の部分伸張処理を行い、合成手段によって中間データを対象に合成処理を行うことが望ましい。複数の圧縮データを対象に合成処理を行う場合に、非圧縮データを得るために行われる第1および第2の部分伸長処理を行った後ではなく、第1の部分伸長処理のみが終了したときに得られた中間データを用いて合成処理を行っている。このため、その後に行われる処理は、各圧縮データ毎に行う代わりに、合成後の中間データに対して行えばよく、処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0011】
また、上述した合成手段から出力される中間データに対して第2の部分伸張処理を行う第2の伸張処理手段をさらに備えることが望ましい。第2の部分伸長処理を合成後の中間データに対して行うことにより、合成された伸長データ(非圧縮データ)を得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0012】
また、上述した合成手段から出力される中間データに対して第1の部分伸張処理の逆変換となる圧縮処理を行う圧縮処理手段をさらに備えることが望ましい。合成後の中間データに対して圧縮処理を行うことにより、複数の圧縮データ同士を合成して再び圧縮データを得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0013】
また、上述した圧縮データは、MPEG1オーディオ形式の圧縮音声データであり、データ削除手段による削除処理は、複数の周波数帯域毎の音声データを対象に行われることが望ましい。MPEG1オーディオ形式の圧縮音声データの場合には、サブバンドと称される複数の周波数帯域毎の音声データが含まれているため、それぞれの周波数帯域の音声データを対象にマスキング特性を考慮することにより、冗長な周波数成分を効率的に削除することが可能になる。
【0014】
また、上述した合成手段よりも前段に設けられており、複数の圧縮データのそれぞれに対して所定の乗数を乗算する重み付け処理を行う重み付け処理手段をさらに備え、データ削除手段は、複数の圧縮データのそれぞれに対応する乗数を考慮して削除処理を行うことが望ましい。合成処理前に各中間データに対して重み付け処理を行うことにより、合成後の処理負担の軽減や処理の高速化が可能になる。しかも、マスキング特性を考慮した音の削除処理を行う際に、この重み付け処理で用いた乗数が考慮されるため、重み付け処理の結果を反映させた正確な削除処理を行うことが可能になる。
【0015】
また、上述した重み付け処理は、音量バランス調整処理であることが望ましい。複数の音に対して音量バランス調整(音量調整)を行う用途は多いが、従来の音声合成処理では、圧縮音声を非圧縮データに戻してからバランス調整を行っていた。本発明では、このバランス調整を中間データに対して行った結果を合成しており、音量バランス調整が必要な場合であっても処理負担の軽便と処理の高速化を実現することができる。
【0016】
また、上述した圧縮データは、MPEG1オーディオ形式の圧縮音声データであり、第1の部分伸張処理によって、複数の周波数帯域毎の音声データを復元し、第2の部分伸張処理によって、複数の周波数帯域毎の音声データを用いて周波数逆変換を行うことが望ましい。MPEG1オーディオ形式の圧縮音声データを用いる場合には、逆正規化処理を行って周波数帯域毎の音声データを復元した中間データを用いて合成を行うことが可能であり、その後の周波数逆変換処理や窓掛け処理の回数を減らして処理負担の軽減および処理の高速化を図ることができる。
【0017】
また、上述した第2の部分伸張処理は、処理後のデータ同士の合成と等価な処理前のデータ同士の合成が可能な処理であり、第1の部分伸張処理は、処理後のデータ同士の合成と等価な処理前の同士の合成が不可能な処理であることが望ましい。このような条件を満たす第1および第2の部分伸長処理によって復元される圧縮データに対して、第2の部分伸長処理の回数を削減することが可能になり、処理負担の軽減および処理の高速化が可能になる。
【0018】
また、本発明の圧縮データ処理方法は、合成対象となる複数の圧縮データを取得する圧縮データ取得手段と、圧縮データ取得手段によって取得された複数の圧縮データのそれぞれについて、これらの圧縮データに対して伸張処理を行った後に合成したときに発生する冗長な部分を伸張処理を行う前に削除するデータ削除手段と、圧縮データ取得手段によって取得され、データ削除手段によって必要に応じて削除処理が行われた後の圧縮データに対して伸張処理を行う伸張処理手段と、伸張処理手段によって伸張処理が行われた複数のデータを合成する合成手段とを備えた圧縮データ処理装置の圧縮データ処理方法であって、圧縮データ取得手段によって複数の圧縮データを取得するステップと、取得された複数の圧縮データのそれぞれについて、データ削除手段によって冗長な部分を削除するステップと、冗長な部分が削除された後の圧縮データに対して、伸張処理手段によって伸張処理を行うステップと、伸張処理が終了した後の複数のデータを用いて合成手段による合成処理を行うステップとを含んでいる。合成によって生じる冗長な部分に対応する圧縮データを削除することにより、この削除された圧縮データに対して行われる伸長処理を省略することができるため、圧縮データに対する伸長処理と合成処理をあわせた全体についての処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0019】
また、上述した圧縮データは、圧縮音声データであり、データ削除手段によって冗長な部分を削除するステップには、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する圧縮データを削除する動作が含まれていることが望ましい。音声データには合成という概念が定義でき、しかも、聴覚のマスキング特性によって、同時に出力される音には冗長な部分が含まれることが知られているので、この冗長な部分を削除することにより、音声の伸長および合成を行う際の処理の簡略化、高速化が可能になる。
【0020】
また、上述した圧縮データに対して第1の部分伸張処理を行ってから得られた中間データに対して第2の部分伸張処理を行うことによりデータの復元が行われ、伸張処理手段によって圧縮データに対して伸張処理を行うステップには第1の伸張処理を行う動作が含まれており、合成手段によって合成処理を行うステップには中間データを対象にしてこの合成処理を行う動作が含まれていることが望ましい。複数の圧縮データを対象に合成処理を行う場合に、非圧縮データを得るために行われる第1および第2の部分伸長処理を行った後ではなく、第1の部分伸長処理のみが終了したときに得られた中間データを用いて合成処理を行っている。このため、その後に行われる処理は、各圧縮データ毎に行う代わりに、合成後の中間データに対して行えばよく、処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0021】
また、上述した圧縮データ処理装置は、第2の伸張処理を行う第2の伸張処理手段を有しており、合成手段から出力される中間データに対して第2の部分伸張処理手段によって第2の部分伸張処理を行うステップをさらに含むことが望ましい。第2の部分伸長処理を合成後の中間データに対して行うことにより、合成された伸長データ(非圧縮データ)を得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0022】
また、上述した圧縮データ処理装置は、第1の部分伸張処理の逆変換となる圧縮処理を行う圧縮処理手段を有しており、合成手段から出力される中間データに対して圧縮処理手段によって圧縮処理を行うステップをさらに含むことが望ましい。合成後の中間データに対して圧縮処理を行うことにより、複数の圧縮データ同士を合成して再び圧縮データを得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0023】
また、本発明の圧縮データ処理プログラムは、複数の圧縮データを合成するためにコンピュータを、合成対象となる複数の圧縮データを取得する圧縮データ取得手段と、圧縮データ取得手段によって取得された複数の圧縮データのそれぞれについて、これらの圧縮データに対して伸張処理を行った後に合成したときに発生する冗長な部分を伸張処理を行う前に削除するデータ削除手段と、圧縮データ取得手段によって取得され、データ削除手段によって必要に応じて削除処理が行われた後の圧縮データに対して伸張処理を行う伸張処理手段と、伸張処理手段によって伸張処理が行われた複数のデータを合成する合成手段として機能させる。この圧縮データ処理プログラムをコンピュータによって実行することにより、合成によって生じる冗長な部分に対応する圧縮データを削除し、この削除された圧縮データに対して行われる伸長処理を省略することができるため、圧縮データに対する伸長処理と合成処理をあわせた全体についての処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0024】
また、上述した圧縮データは、圧縮音声データであり、コンピュータを、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する圧縮データに対して削除処理を行うデータ削除手段として機能させることが望ましい。これにより、圧縮音声データの中から冗長な部分を削除することができ、音声の伸長および合成を行う際の処理の簡略化、高速化が可能になる。
【0025】
また、上述した圧縮データに対して第1の部分伸長処理を行ってから得られた中間データに対して第2の部分伸長処理を行うことによりデータの復元が行われており、コンピュータを、第1の部分伸長処理を行う伸長処理手段と、中間データを対象に合成処理を行う合成手段として機能させることが望ましい。これにより、複数の圧縮データを対象に合成処理を行う場合に、非圧縮データを得るために行われる第1および第2の部分伸長処理を行った後ではなく、第1の部分伸長処理のみが終了したときに得られた中間データを用いて合成処理を行っており、その後に行われる処理を合成後の中間データに対して行えばよいため、処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【0026】
また、上述したデータ圧縮処理プログラムは、コンピュータを、合成手段から出力される中間データに対して第2の部分伸長処理を行う第2の伸長処理手段として機能させることが望ましい。このプログラムを実行することにより、第2の部分伸長処理を合成後の中間データに対して行うことができるため、合成された伸長データ(非圧縮データ)を得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0027】
また、上述したデータ圧縮処理プログラムは、コンピュータを、合成手段から出力される中間データに対して第1の部分伸長処理の逆変換となる圧縮処理を行う圧縮処理手段として機能させることが望ましい。このプログラムを実行することにより、合成後の中間データに対して圧縮処理を行うことができるため、複数の圧縮データ同士を合成して再び圧縮データを得るまでに必要な処理負担の軽減と処理の高速化が可能になる。
【0028】
【発明の実施の形態】
以下、本発明を適用した一実施形態の圧縮データ処理装置について、図面を参照しながら詳細に説明する。
〔第1の実施形態〕
図1は、第1の実施形態の圧縮データ処理装置の構成を示す図である。図1に示す本実施形態の圧縮データ処理装置100は、例えばゲーム装置等の一部を構成しており、所定の発音タイミングにおいて複数の音を合成出力する。このために、圧縮データ処理装置100は、発音指示装置10、圧縮音声データ格納装置20、マルチトラック伸長装置30、PCM音源40、D/A(デジタル−アナログ)変換器50、増幅器60、スピーカ70を備えている。
【0029】
発音指示装置10は、読み出す圧縮音声データとその読み出しタイミングを指示する。圧縮音声データ格納装置20は、読み出し対象となる圧縮音声データを格納するためのものであり、例えば半導体メモリやハードディスク装置あるいは光ディスク装置等が用いられる。マルチトラック伸長装置30は、圧縮音声データ格納装置20から読み出した複数の圧縮音声データに対して合成処理と伸長処理を行い、伸長された音声データ(非圧縮音声データ)を出力する。PCM音源40は、マルチトラック伸長装置30から出力された音声データに基づいて所定のフォーマット変換を行って、所定ビット数のPCMデータを出力する。D/A変換器50は、このPCMデータをアナログの音声信号に変換し、この音声信号が増幅器60によって増幅されてスピーカ70から出力される。なお、図1では、1系統の音声再生系が示されているが、例えばステレオ音声を再生する場合には、PCM音源40からスピーカ70までについては、左音声に対応するLチャンネル用と右音声に対応するRチャンネル用の各構成が備わっている。
【0030】
図2は、マルチトラック伸長装置30の詳細構成を示す図である。図2に示すように、マルチトラック伸長装置30は、圧縮音声データ読込み部31、データ削除処理部34、伸長処理部35、36、合成処理部37を備えている。例えば、本実施形態では、2つの圧縮音声データが読み込まれて合成が行われるものとする。また、圧縮音声データは、MPEG1(Moving Picture Experts Group 1)オーディオ形式の圧縮方式を用いて圧縮されているものとする。
【0031】
圧縮音声データ読込み部31は、発音指示装置10による読み出し指示に応じて、特定された2つの圧縮音声データを読み出して、レジスタ32、33に格納する。2つのレジスタ32、33のそれぞれに格納された各圧縮音声データは、ともに後段のデータ削除処理部34に入力される。
【0032】
データ削除処理部34は、圧縮音声データ読込み部31から入力される2つの圧縮音声データについて、伸長処理を行った後に合成したときに発生する冗長な部分を削除する処理を行う。この削除処理は、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する圧縮音声データに対して行われる。なお、合成対象となる2つの音に対する音量バランス調整が必要な場合には、このバランス調整を考慮して上述した削除処理が行われる。
【0033】
伸長処理部35は、データ削除処理部34によって部分的な削除処理が行われた後の一方の圧縮音声データに対して伸長処理を行う。同様に、伸長処理部36は、データ削除処理部34によって部分的な削除処理が行われた後の圧縮音声データに対して伸長処理を行う。これらの伸長処理によって非圧縮音声データが得られる。
【0034】
合成処理部37は、2つの伸長処理部35、36のそれぞれから出力される圧縮音声データを合成する。MPEG1オーディオの場合には、伸長された後の各非圧縮音声データ同士を加算することによりこの合成処理が行われる。なお、音量バランス調整を行う場合には、この合成処理部37による加算処理が行われる前に、それぞれの帯域データに所定の乗数を乗算する重み付け処理が合成処理部37において行われる。
【0035】
上述した圧縮音声データ読込み部31が圧縮データ取得手段に、データ削除処理部34がデータ削除手段に、伸長処理部35、36が伸長処理手段に、合成処理部37が合成手段、重み付け処理手段にそれぞれ対応する。
本実施形態の圧縮データ処理装置100はこのような構成を有しており、次にその動作を説明する。
【0036】
まず、聴覚のマスキング特性を利用したデータ削除処理の概要について説明する。一般に、聴覚が検知できる音の最小レベルは、同時に聞いているあるいは短時間の間に前後して聞いている他の音のレベルによって変化する。この現象を聴覚のマスキング特性といい、同時に聞いている他の音によって一方の音が聞こえなくなる「同時マスキング」と、短時間の間に前後して聞いている他の音によって一方の音が聞こえなくなる「テンポラル・マスキング(継時マスキング)」に大別される。また、マスクする音をマスカー(masker)といい、マスクされて聞こえなくなる音をマスキー(maskee)という。
【0037】
図3は、同時マスキングの概要を示す図である。図3において、横軸はマスカーあるいはマスキーの周波数を、縦軸は音圧をそれぞれ示している。図3に示すように、ある瞬間に着目したときに、所定の周波数および音圧の音Aが存在している状態において、この音Aの周波数を含む一定周波数範囲(ハッチングが付されている範囲)に存在する他の音Bは聞き取りにくくなる。他の音Bは、周波数が音Aの周波数に近い程、大きな音圧レベル(音量)を有していても聞き取りにくくなる。
【0038】
一方、他の音Cは、周波数が音Aの周波数からある程度以上離れており、小さな音圧レベルであっても聞き取ることができる。マスカー(音A)によるマスキング効果が及ぶ範囲をクリティカル・バンド(臨界帯域)といい、このクリティカル・バンドから外れる場合には、音圧レベルが比較的小さな他の音Cであっても聞き取ることができる。
【0039】
図4は、テンポラル・マスキングの概要を示す図である。図4において、横軸はマスカーあるいはマスキーの発生時刻を、縦軸は音圧をそれぞれ示している。図4に示すように、ある瞬間に着目したときに、所定の周波数および音圧の音Aが存在している状態において、この音Aの発生時刻を含む一定時間範囲(ハッチングが付されている範囲)に存在する他の音B、Cは聞き取りにくくなる。特に、他の音B、Cは、発生時刻が音Aの発生時刻に近い程、大きな音圧レベルを有していても聞き取りにくくなる。
【0040】
このように、同時あるいは短時間の間に前後して2つの音が発生した場合を考えると、一方の音の大きさによっては、マスキング効果によって他方の音が聞こえなくなる場合がある。このような聞こえなくなる音については、最初から音が発生しない場合と同じであり、マスキング効果によって聞こえなくなる音が予めわかっていれば、この音を伸長処理を行う前に削除することができ、その分だけ伸長処理の負担を軽減するとともに処理時間を短縮することが可能になる。
【0041】
図5は、MPEG1オーディオ形式の圧縮音声データを非圧縮音声データに戻すまでの一般的な伸長処理の内容を示す流れ図である。また、図6はMPEG1オーディオ形式のフレームフォーマット図である。
図6に示すように、MPEG1オーディオ形式のMPEGオーディオ・ビット・ストリームは、AAU(Audio Access Unit、オーディオ復号単位)を単位とし、このAAUが複数集まって構成されている。AAUは、単独で音声信号に復号できる最小単位である。各AAUは、ヘッダ、エラー・チェック、オーディオ・データ、アンシラリー・データから構成されている。また、この中でオーディオ・データは、アロケーション、スケール・ファクタ、サンプルから構成されている。
【0042】
ヘッダには、同期パターンやサンプリングレートを指定する情報が含まれており、これらの各情報に基づいて伸長処理が行われる。
オーディオ・データには、実際の圧縮音声データが含まれている。このオーディオ・データ内のアロケーションは、32サブバンド、2チャンネル分のデータの有無が符号化されている。
【0043】
スケール・ファクタは、各サブバンド、各チャンネル毎に音声データを再生する際の倍率を示している。それぞれが6ビットで表されており、+6dBから−128dBまでを2dB単位で指定することができる。
サンプルには、実際の波形データが含まれている。
【0044】
上述したフレームフォーマットを有するMPEG1オーディオ・ビット・ストリームを用いて圧縮音声の伸長処理を行う場合に、伸長処理の単位となる圧縮フレームとしてのAAUが読み込まれ(ステップ100)、この読み込まれたAAUからヘッダが抽出された後(ステップ101)、アロケーション、スケール・ファクタ、サンプルのそれぞれが抽出される(ステップ102、103、104)。次に、これらの抽出されたアロケーション、スケール・ファクタ、サンプルに基づいて逆正規化処理が行われ(ステップ105)、32個のサブバンド毎のデータが再現される。次に、周波数逆変換が行われて(ステップ106)、周波数成分毎のデータが時間毎の波形データに変換される。その後、各AAU間の波形データを滑らかに結ぶための窓掛け処理が行われて(ステップ107)、圧縮音声データに対する一連の伸長処理が終了する。
【0045】
このようなMPEG1オーディオに対応する2つの音を考えたときに、どちらの音がマスカーとなってどちらの音がマスキーとなるかは、それぞれの音に対応するAAUのヘッダに含まれるアロケーション、スケール・ファクタおよびサンプルに基づいて2つの音の各サブバンド毎の音圧レベルを比較することにより決定することができる。例えば、同時マスキングについて考える場合には、同時に発生する2つの音に対応するAAUの各サブバンド同士を比較し、大きい方の成分の音圧レベルに対して小さい方の成分の音圧レベルが所定の比率以下である場合に、大きい方の成分をマスカー、小さい方の成分をマスキーとして決定する。マスキーとして決定された成分については削除され、その後の処理、すなわち合成前に行われる伸長処理が省略される。
【0046】
図2に示したマルチトラック伸長装置30では、データ削除処理部34は、入力される2つの圧縮音声データのそれぞれに対応する各AAUのスケール・ファクタに基づいて、各帯域毎にマスキーとなるか否かを決定し、後段の伸張処理部35、36では、マスキーとなったサブバンドの音については伸張処理を行わないようにする。したがって、マスキング効果によって聞こえなくなる成分を考慮せずに各圧縮音声データについて別々に伸張処理を行う場合に比べて、伸張処理の負担を軽減することが可能になり、これに伴う処理の高速化が可能になる。
【0047】
上述した本実施形態の圧縮データ処理装置100については、以下の(1)〜(3)に示すような用途が考えられる。
(1)ゲーム装置
ゲーム装置では、各種の効果音やプレーヤキャラクタの音声あるいは敵キャラクタの音声などを、プレーヤの操作内容やゲームの進行状況に応じて適切なタイミングで発生させる必要がある。複数の音声の特定の単位(MPEG1オーディオの場合にはAAU)の先頭が一致していれば合成が可能であり、このときの合成音の生成において上述した圧縮データ処理装置100を用いることができる。これにより、2あるいはそれ以上の数の音声に対応した圧縮音声データを読み出して最終的に合成音声を出力するまでの処理負担の軽減が可能になる。
【0048】
(2)マルチチャンネル音源
複数トラックの音声を合成して出力するマルチチャンネル音源では、1つの音楽ソースから読み出される複数の圧縮音声データ、あるいは複数の音楽ソースから読み出される複数の圧縮音声データに対して並行して伸長処理を行う必要がある。このため、伸長処理の負担が大きい。このマルチチャンネル音源に、上述した圧縮データ処理装置100を用いることにより、伸長処理に対応する処理の負担を大幅に軽減することができる。
【0049】
(3)クロスフェード装置
現在出力中の音に対して、出力音量を徐々に下げるいわゆるフェードアウト処理を行うと同時に、別の音の出力音量を徐々に上げるいわゆるフェードイン処理を行うものがクロスフェード装置である。フェードアウト処理の対象となる音と、フェードイン処理の対象となる音とを合成する処理を上述した圧縮データ処理装置100を用いて行うことにより、伸長処理に対応する処理の負担を大幅に軽減することができる。
【0050】
ところで、本実施形態のマルチトラック伸長装置30は専用のハードウエアを用いて構成することもできるが、パーソナルコンピュータ等の汎用コンピュータあるいはこれと同等の機能を有する装置を用いて実現することもできる。
図7は、マルチトラック伸長装置の変形例を示す図である。図7に示すマルチトラック伸長装置130は、CPU131、ROM132、RAM133を含んで構成されており、ROM132あるいはRAM133に格納されたプログラムをCPU131を用いて実行することにより、図2に示したマルチトラック伸長装置30とほぼ同等の処理を行うコンピュータとして動作する。なお、CPU131によってプログラムを実行することにより、図2に示した発音指示装置10が行っていた発音タイミングの指示動作も行うものとすると、この発音指示装置10を省略することができる。
【0051】
図8および図9は、図7に示したマルチトラック伸長装置130の動作手順を示す流れ図であり、ROM132あるいはRAM133に格納されている圧縮データ処理プログラムをCPU131によって実行することにより実施される動作手順が示されている。
【0052】
CPU131は、所定の発音タイミングになると、合成対象となる一方の圧縮音声データに対応するMPEG1オーディオ形式の圧縮フレームとしてのAAUの読み込みを行う(ステップ200)。次に、CPU131は、この読み込んだAAUからヘッダを抽出した後(ステップ201)、アロケーション、スケール・ファクタのそれぞれの抽出(ステップ202、203)とバランス調整値の設定を行う(ステップ204)。バランス調整とは、異なるレベルで2つの音を合成する場合にそれぞれの音に対してゲインを調整するための処理であり、それぞれの音について調整するゲインが設定されている場合にはこのゲインに相当するバランス調整値が設定される。なお、2つの音をゲイン調整することなく同じレベルを維持した状態で合成する場合には、このバランス調整値の設定に関するステップ204の処理は省略していもよい。
【0053】
次に、CPU131は、合成対象となる全てのAAUの読み込みを終了したか否かを判定する(ステップ205)。例えば、2つの圧縮音声データの合成を行う場合であって、一方の圧縮音声データに対応するAAUの読み込みだけが終了し、他方の圧縮音声データに対応するAAUの読み込みが終了していない場合には、ステップ205の判定において否定判断が行われ、他のAAUについて上述したステップ200以降の処理が繰り返される。
【0054】
また、合成対象となる全てのAAUの読み込みが終了した場合には、ステップ205の判定において肯定判断が行われ、次に、CPU131は、各サブバンド毎にマスク値を決定するとともに(ステップ206)、各AAUがマスクフレームであるか否かの判定を行う(ステップ207)。全てのサブバンドがマスキーとなっているAAUや、マスキーとなっていないサブバンドがあるが無音状態に対応するサブバンドのみが含まれるAAUは、マスクフレームとして決定される。
【0055】
図10は、ステップ206におけるマスク値決定の詳細な動作手順を示す図である。まず、CPU131は、処理対象となるAAUとサブバンドを決定するとともに(ステップ300、301)、この処理対象として決定されたサブバンドの音が、比較対象となっている同一のサブバンドにおいて最大音量であるか否かを判定する(ステップ302)。同一サブバンドにおいて最大音量である場合には肯定判断が行われ、次に、CPU131は、サブバンド毎の最大音量を更新する(ステップ303)。その後、あるいは、処理対象となっているサブバンドの音量が同一サブバンドにおいて最大音量でない場合であってステップ302の判定において否定判断が行われた後、CPU131は、未処理のサブバンドが残っているか否かを判定する(ステップ304)。着目しているAAUに未処理のサブバンドが残っている場合にはこの判定において肯定判断が行われ、上述したステップ301の処理に戻って、処理対象のサブバンドを変更した後にサブバンド毎の最大音量の判定と更新が行われる。
【0056】
また、処理対象となっている一のAAUに含まれる全てのサブバンドについてサブバンド毎の最大音量の判定と更新が行われるとステップ304の判定において否定判断が行われ、次に、CPU131は、未処理のAAUが残っているか否かを判定する(ステップ305)。比較対象となっている一方のAAUのみについて各サブバンド毎の最大音量の判定と更新が終了した場合にはこの判定において肯定判断が行われ、上述したステップ300の処理に戻って、他のAAUについて各サブバンド毎の最大音量の判定と更新が行われる。
【0057】
全てのAAUに含まれる全てのサブバンドについて最大音量の判定と更新が終了するとステップ305の判定において否定判断が行われ、次に、CPU131は、サブバンド毎にマスク値を決定する(ステップ306)。実際のマスカーとマスキーとの関係は図3に示した通りであるが、マスカー(音A)の音量に対してどの音量以下の音がマスキーになるかは、マスカーの音量や周波数によっても変化する。また、同時マスキングのみを考慮する場合には、発生タイミングが同じである2つのAAUを処理対象とすればよいが、テンポラル・マスキングを考慮する場合には、発生タイミングが前後する3以上のAAUを処理対象に設定してもよい。CPU131は、各サブバンド毎に判定した最大音量(マスカーの音量)に基づいてマスク値を決定する。
【0058】
なお、最も計算を簡略化する場合には、同時マスキングのみを考慮するとともに、各サブバンド毎に最大音量を決定してその1/2以下となる音量を有する同一帯域の音をマスキーに設定して削除するようにしてもよい。これにより、最大音量の1/2をマスク値として計算する際の計算量と、後にこのマスク値と同一帯域の他の音と音量を比較する際の計算量とを削減することが可能になる。
【0059】
図11は、ステップ207におけるマスクフレーム決定の詳細な動作手順を示す図である。まず、CPU131は、処理対象となるAAUとサブバンドを決定するとともに(ステップ400、401)、この処理対象として決定されたサブバンドの音がマスキーであるか否かの判定を行う(ステップ402)。この判定は、各サブバンド毎に設定されたマスク値と着目しているサブバンドの音量とを比較することにより行われる。着目しているサブバンドの音がマスキーである場合にはステップ402の判定において肯定判断が行われ、次に、CPU131は、未処理のサブバンドが残っているか否かを判定する(ステップ403)。着目しているAAUに未処理のサブバンドが残っている場合にはこの判定において肯定判断が行われ、上述したステップ401の処理に戻って、処理対象のサブバンドを変更した後に着目しているサブバンドの音がマスキーであるか否かの判定が繰り返される。また、着目しているAAUに含まれる各サブバンドの音がマスキーであって未処理のサブバンドが残っていない場合、すなわち着目しているAAUに含まれる全てのサブバンドの音がマスキーである場合にはにはステップ403の判定において否定判断が行われ、次に、CPU131は、このAAUをマスクフレームに設定する(ステップ404)。
【0060】
このようにしてマスクフレームの設定が行われた後、CPU131は、未処理のAAUが残っているか否かを判定する(ステップ405)。一方のAAUのみについてマスクフレームの判定処理が終了した場合にはこの判定において肯定判断が行われ、上述したステップ400の処理に戻って、他のAAUについてマスクフレームの判定処理が行われる。なお、着目しているAAUにマスキーでないサブバンドの音が一つでも含まれている場合には、このAAUはマスクフレームではない。この場合には、上述したステップ402の判定において否定判断が行われ、ステップ403、404の処理が省略されてステップ405の判定が行われる。
【0061】
このようにして各サブバンド毎のマスク値の決定とマスクフレームの判定処理が行われた後、実際の伸張処理が実施される。
まず、CPU131は、上述したステップ200によって読み込みが終了しているAAUの中から処理対象となる一のAAUを決定し(ステップ208)、このAAUがマスクフレームであるか否かを判定する(ステップ209)。マスキーとなっていない有音部分のサブバンドが一つでも含まれる場合にはマスクフレームではないため、この場合には否定判断が行われる。次に、CPU131は、処理対象となる一のサブバンドを決定し(ステップ210)、このサブバンドの音がマスキーであるか否かを判定する(ステップ211)。マスキーでない場合には否定判断が行われ、次に、CPU131は、サンプルを抽出して(ステップ212)、既に抽出済みのスケール・ファクタや設定済みのバランス調整値等に基づいて逆正規化処理を実施する(ステップ213)。着目しているサブバンドに対応する逆正規化処理が終了した後、あるいは、着目しているサブバンドがマスキーである場合にはステップ211の判定において肯定判断を行った後、CPU131は、未処理のサブバンドが残っているか否かを判定する(ステップ214)。残っている場合には肯定判断が行われ、処理対象となる一のサブバンドを決定するステップ210以降の処理が繰り返される。また、未処理のサブバンドが残っていない場合にはステップ214の判定において否定判断が行われ、次に、CPU131は、未処理のAAUが残っているか否かを判定する(ステップ215)。合成対象となっているAAUの中に上述したステップ209〜214までの一連の処理が行われていない未処理のAAUが残っている場合には肯定判断が行われ、処理対象となる一のAAUを決定するステップ208以降の処理が繰り返される。
【0062】
また、合成対象となっている全てのAAUについて上述したステップ209〜214までの一連の処理が終了した場合には、ステップ215の判定において否定判断が行われる。次に、CPU131は、それぞれのAAU毎について、各サブバンド毎に逆正規化処理によって得られた周波数領域の波形データを用いて周波数逆変換処理および窓掛け処理を行って時間領域の波形データを得た後に(ステップ216、217)、この時間領域の波形データを複数のAAUについて合成する波形データの合成処理を行い(ステップ218)、合成後の非圧縮音声データを出力する(ステップ219)。
【0063】
このように、マルチトラック伸長装置130では、処理対象となっているAAU内の各サブバンドの成分がマスキーとなっている場合にはこの成分に対応する逆正規化処理が省略されるため、伸張処理全体の処理負担を軽減することができるとともに、処理の高速化が可能になる。特に、処理対象となっているAAUがマスクフレームの場合には、このAAU全体に対応する逆正規化処理が省略されるため、伸張処理全体の処理負担を大幅に軽減することが可能になる。
【0064】
なお、上述した説明では、処理対象となっている全てのAAU内のマスキーではない各サブバンドについて逆正規化処理(ステップ213)が終了した後に、各AAUに対する周波数変換処理(ステップ216)と窓掛け処理(ステップ217)を行ったが、AAU毎に逆正規化処理、周波数変換処理、窓掛け処理を行うようにしてもよい。この場合には、図9に示すステップ215の動作フローをステップ217とステップ218の間に移動すればよい。
【0065】
〔第2の実施形態〕
上述した第1の実施形態では、2つの圧縮音声データに対して別々に伸張処理を行って非圧縮音声データを得た後に合成処理を行ったが、伸張処理の内容によっては、完全に非圧縮音声データを得る前の中間データの段階で合成処理を行うことにより、伸張処理全体の簡略化を図ることができる。
【0066】
入力データaを出力データa′に、入力データbを出力データb′に変換するために行う伸長処理をFとすると、a′=F(a)、b′=F(b)と表すことができる。
本明細書ではこれら2つの出力データa′、b′を合成する処理をa′・b′と表すものとすると、2つの入力データa、bに基づいて合成後の非圧縮データを得るためには、2回の伸長処理Fと1回の合成処理を行う必要がある。
【0067】
ところで、伸長処理を行った後の2つの非圧縮データを合成する代わりに、伸長処理前の入力データ同士を合成することができれば、その後の伸長処理を1回行うだけで同じ出力データを得ることができ、処理手順の簡略化、処理負担の軽減、処理時間の短縮等が可能になる。本明細書では伸長前に2つの入力データa、bを合成する処理をa*bと表すものとする。
【0068】
上述した伸長処理後のデータ合成を伸長処理前に行うことができるためには、
a′・b′=F(a*b) …(1)
の関係を満たす必要がある。なお、「・」、「*」で示された2つの合成処理の内容は、必ずしも同じである必要はない。例えば、「・」で表される合成処理が単純な加算処理である場合に、「*」で表される合成処理は同じ内容の単純な加算処理の場合だけでなく、乗算等の他の処理であってもよい。
【0069】
図12は、圧縮音声データから非圧縮音声データを得るために行われる伸長処理の概略を示す図である。図12に示すように、一般的な伸長処理は、n段の部分伸長処理F1、F2、…、Fnに分解される。nは1以上の整数であり、最も処理が簡単で圧縮率が小さい伸長処理ではnが1の場合もあるが、ある程度圧縮率が高い実用的な伸長処理では、通常はnは2以上となる。
【0070】
ところで、図12に示すような複数の部分伸長処理F1、F2、…、Fnが直列接続されたモデルを考えると、m+1段目以降の部分伸長処理の合成処理Gが(1)式の関係((1)式においてFをGに置き換えたa′・b′=G(a*b)で示された関係)を満たす場合には、m段目の部分伸長処理によって得られた中間データを合成した後この合成した中間データに対してm+1段目以降の部分伸長処理を行うことで、2つの圧縮音声データのそれぞれについてn段の部分伸長処理を行った後の非圧縮音声データを最後に合成した結果と同じ結果が得られる。図13は、このようにしてm段目の部分伸長処理の後に2つの中間データを合成する場合の伸長・合成処理の概略を示す図である。
【0071】
このようにして伸長処理の途中段階で出力される中間データを合成することができれば、その後段で行われる部分伸長処理を共通化することができるため、伸長処理の簡略化が可能になる。本実施形態では、このような特徴を有する圧縮伸長処理としてMPEG1オーディオ方式が採用されており、合成前に逆正規化処理までの第1の部分伸張処理が行われて中間データが生成され、この中間データを用いて合成処理を行った結果に対して周波数逆変換と窓掛け処理からなる第2の部分伸張処理が行われる。
【0072】
図14は、第2の実施形態の圧縮データ処理装置に含まれるマルチトラック伸張装置の構成を示す図である。図14に示すマルチトラック伸張装置230は、圧縮音声データ読込み部31、データ削除処理部34、伸張処理部135、136、138、合成処理部137を備えている。このマルチトラック伸張装置230では、図2に示した第1の実施形態のマルチトラック伸張装置30と同様に、2つの圧縮音声データが読み込まれて合成が行われる。なお、図2に示したマルチトラック伸長装置30に含まれる構成と基本的に同じ動作を行う構成については同じ符号を付してあり、詳細な説明は省略する。
【0073】
伸張処理部135は、データ削除処理部34によって部分的な削除処理が行われた後の一方の圧縮音声データに対して、逆正規化処理までの第1の部分伸張処理を行う。同様に、伸張処理部136は、データ削除処理部34によって部分的な削除処理が行われた後の他方の圧縮音声データに対して、逆正規化処理までの第1の部分伸張処理を行う。
【0074】
合成処理部137は、2つの伸張処理部135、136のそれぞれから出力される中間データを合成する。各中間データの同一帯域データ同士を加算することによりこの合成処理が行われる。
伸張処理部138は、合成処理部137によって合成された後の中間データに対して、周波数逆変換と窓掛け処理からなる第2の部分伸張処理を行う。この第2の部分伸張処理によって、非圧縮音声データが得られる。上述した伸張処理部135、136が伸張処理手段に、伸張処理部138が第2の伸張処理手段にそれぞれ対応する。
【0075】
ところで、上述した第1の実施形態と同様に、本実施形態のマルチトラック伸張装置230は専用のハードウエアを用いて構成することもできるが、パーソナルコンピュータ等の汎用コンピュータあるいはこれと同等の機能を有する装置を用いて実現することもできる。例えば、図7に示したマルチトラック伸張装置130と全く同じ構成を用いてマルチトラック伸張装置230を構成することができる。
【0076】
図15は、図7に示した構成によって本実施形態のマルチトラック伸張装置230を実現した場合の動作手順を示す流れ図であり、ROM132あるいはRAM133に格納されている圧縮音声データ処理プログラムをCPU131によって実行することにより実施される動作手順が示されている。なお、ステップ215までの動作手順は、図8および図9に示したステップ200〜215の動作手順と同じであり、図示および詳細な説明は省略する。
【0077】
合成対象となっているAAUの全てのサブバンドについて逆正規化処理までの各処理が終了してステップ215の判定において否定判断が行われると、次に、CPU131は、逆正規化処理によって得られた周波数領域の波形データを各サブバンド毎に加算する合成処理を行った後(ステップ500)、周波数逆変換処理および窓掛け処理を行って時間領域の波形データを生成し(ステップ501、502)、合成後の非圧縮音声データを出力する(ステップ503)。
【0078】
このように、本実施形態の圧縮データ処理装置では、マルチトラック伸張装置230においてMPEG1オーディオ形式の2つの圧縮音声データに対して逆正規化処理までの第1の部分伸張処理を別々に行って中間データを得るとともに、これら2つの中間データを合成した後のデータに対して周波数逆変換処理以降の第2の部分伸張処理を行っている。したがって、各圧縮音声データについて別々に第1および第2の伸張処理を行って非圧縮音声データに戻した後のデータを合成する場合に比べて、第2の部分伸張処理の回数を減らすことができるため、さらなる処理負担の軽減および処理の高速化が可能になる。
【0079】
〔第3の実施形態〕
上述した第1および第2の実施形態では伸張処理後の非圧縮音声データを出力するようにしたが、ボイスチャット装置等では、合成後の非圧縮音声データを再び圧縮して各端末装置に送信する必要があるため、この圧縮処理までを含めた一連の処理を簡略化することが望ましい。
【0080】
図16は、第3の実施形態の圧縮データ処理装置としての圧縮音声データ合成装置の構成を示す図である。図16に示すように、圧縮音声データ合成装置330は、圧縮音声データ読込み部31、データ削除処理部34、伸長処理部135、136、合成処理部137、圧縮処理部139が備わっている。例えば、本実施形態では、2つの圧縮音声データが読み込まれて合成が行われ、この合成後のデータが再び圧縮されて出力される。なお、図14に示したマルチトラック伸長装置230に含まれる構成と基本的に同じ動作を行う構成については同じ符号を付してあり、詳細な説明は省略する。
【0081】
圧縮処理部139は、合成処理部137から出力される中間データに対して、伸長処理部135、136によって行われた部分伸長処理と反対の圧縮処理を行う。合成処理部137からは各伸張処理部135、136によって逆正規化処理された中間データが出力されており、圧縮処理部139は、この逆正規化処理と反対の部分的な圧縮処理、すなわち各サブバンド毎の波形データを用いて帯域削除処理および正規化処理を行った後、アロケーション、スケール・ファクタ、サンプルおよびヘッダを作成してAAUを生成する処理を行う。圧縮音声データ合成装置330からは、このようにして圧縮処理部139によって作成されたAAUが出力される。上述した圧縮処理部139が圧縮処理手段に対応する。
【0082】
ところで、上述した第1および第2の実施形態と同様に、本実施形態の圧縮音声データ合成装置330は専用のハードウエアを用いて構成することもできるが、パーソナルコンピュータ等の汎用コンピュータあるいはこれと同等の機能を有する装置を用いて実現することもできる。例えば、図7に示したマルチトラック伸長装置130と全く同じ構成を用いて圧縮音声データ合成装置を構成することができる。
【0083】
図17は、図7に示した構成によって本実施形態の圧縮音声データ合成装置を実現した場合の動作手順を示す図であり、ROM132あるいはRAM133に格納されている圧縮音声データ合成プログラムをCPU131によって実行することにより実施される動作手順が示されている。なお、ステップ215までの動作手順は、図8および図9に示したステップ200〜215の動作手順と同じであり、図示および詳細な説明は省略する。
【0084】
合成対象となっているAAUの全てのサブバンドについて逆正規化処理までの各処理が終了してステップ215の判定において否定判断が行われると、次に、CPU131は、逆正規化処理によって得られた周波数領域の波形データを各サブバンド毎に加算する合成処理を行うとともに(ステップ600)、合成された各サブバンド毎のデータを用いて正規化処理を行った後(ステップ601)、アロケーション、スケール・ファクタ、サンプルおよびヘッダ等からなるAAUを作成する処理を行い(ステップ602)、この作成されたAAUからなる合成圧縮音声データを出力する(ステップ603)。
【0085】
このように、本実施形態の圧縮音声データ合成装置では、MPEG1オーディオ形式の2つの圧縮データに対して逆正規化処理までの第1の部分伸長処理を別々に行って中間データを得るとともに、それ以後の第2の部分伸長処理を行わずにこれら2つの中間データを合成した結果を圧縮処理している。したがって、その後の伸長処理およびこの伸長処理に対応する圧縮処理を行う手順を省略することができるため、処理負担の軽減および処理の高速化が可能になる。特に、第1の部分伸張処理の前に、データ削除処理部34によってAAU内の冗長なサブバンドの成分が削除されるため、第1の部分伸張処理の対象となるデータ量を減らすことができるため、処理負担の軽減および処理の高速化の効果をさらに高めることが可能になる。
【0086】
上述した本実施形態の圧縮音声データ合成装置330については、以下の(4)〜(6)に示した用途が考えられる。
(4)ミキサ装置
入力された複数の圧縮音声データに対して合成処理を行い、合成結果を圧縮データとして出力する従来のミキサ装置では、冗長なサブバンドの成分を含む圧縮音声データに対して一旦伸長処理を行って完全な非圧縮データにした後に合成し、再び圧縮処理を行っている。すなわち、従来のミキサ装置では、冗長なサブバンドの成分が含まれる圧縮音声データの数に対応した完全な伸長処理と、これらの伸長処理によって得られた非圧縮データを合成した後に完全な圧縮処理とを行う必要があり、処理の負担が大きい。このようなミキサ装置に上述した圧縮音声データ合成装置330を用いることにより、圧縮データの一部を伸張処理の対象から除外するとともに、伸長処理の一部と圧縮処理の一部を省略することができるため、処理の負担を大幅に軽減することができる。
【0087】
(5)ボイスチャットサーバ装置
ネットワークを介して接続された複数の利用者が会話を行うボイスチャットサーバ装置では、各利用者の端末から送られてくる圧縮音声データを合成して各利用者の端末に送り返す必要がある。この合成処理を上述した圧縮音声データ合成装置330を用いて行うことにより、全てのサブバンドの成分が含まれる圧縮音声データに対して完全に伸長処理を行って非圧縮データを生成した後に合成して再び圧縮する場合に比べて処理の負担を軽減することができる。
【0088】
(6)電子会議システム
ボイスチャットサーバ装置と同様に、複数箇所の会議室等に設置されたマイクロホンによって集音して生成された圧縮音声データ同士を合成する際に、上述した圧縮音声データ合成装置330を用いることができ、各会議室等に圧縮音声データを配信するまでの処理の負担を軽減することができる。
【0089】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した第2および第3の実施形態では、伸長処理部135、136によって所定の伸長処理を行った後の中間データを用いて合成処理を行うようにしたが、例えば差分PCM(DPCM)形式の圧縮音声データのように、圧縮音声データそのものを合成することができる場合(伸長処理の全体が(1)式を満たす場合)には、図14あるいは図16に示した伸長処理部135、136を省略して(図16に示した圧縮音声データ合成装置330では圧縮処理部139も省略可能)、2つの圧縮音声データを合成処理部137に直接入力するようにしてもよい。この場合に、図14において合成処理部137の後段に設けられた伸長処理部138は、圧縮音声データに基づいて非圧縮音声データを得る伸長処理を行う。
【0090】
【発明の効果】
上述したように、本発明によれば、合成によって生じる冗長な部分に対応する圧縮データを削除することにより、この削除された圧縮データに対して行われる伸長処理を省略することができるため、圧縮データに対する伸長処理と合成処理をあわせた全体についての処理負担の軽減およびこれに伴う処理の高速化が可能になる。
【図面の簡単な説明】
【図1】第1の実施形態の圧縮データ処理装置の構成を示す図である。
【図2】マルチトラック伸長装置の詳細構成を示す図である。
【図3】同時マスキングの概要を示す図である。
【図4】テンポラル・マスキングの概要を示す図である。
【図5】MPEG1オーディオ形式の圧縮音声データを非圧縮音声データに戻すまでの一般的な伸長処理の内容を示す流れ図である。
【図6】MPEG1オーディオ形式のフレームフォーマット図である。
【図7】マルチトラック伸長装置の変形例を示す図である。
【図8】図7に示したマルチトラック伸長装置の動作手順を示す流れ図である。
【図9】図7に示したマルチトラック伸長装置の動作手順を示す流れ図である。
【図10】図8に示したステップ206のマスク値決定の詳細な動作手順を示す図である。
【図11】図8に示したステップ207におけるマスクフレーム決定の詳細な動作手順を示す図である。
【図12】圧縮音声データから非圧縮音声データを得るために行われる伸長処理の概略を示す図である。
【図13】m段目の部分伸長処理の後に2つの中間データを合成する場合の伸長・合成処理の概略を示す図である。
【図14】第2の実施形態の圧縮データ処理装置に含まれるマルチトラック伸張装置の構成を示す図である。
【図15】図7に示した構成によって本実施形態のマルチトラック伸張装置を実現した場合の動作手順を示す流れ図である。
【図16】第3の実施形態の圧縮データ処理装置としての圧縮音声データ合成装置の構成を示す図である。
【図17】図7に示した構成によって本実施形態の圧縮音声データ合成装置を実現した場合の動作手順を示す図である。
【符号の説明】
10 発音指示装置
20 圧縮音声データ格納装置
30 マルチトラック伸長装置
31 圧縮音声データ読込み部
32、33 レジスタ
34 データ削除処理部
35、36、135、136、138 伸長処理部
37、137 合成処理部
40 PCM音源
50 D/A(デジタル−アナログ)変換器
60 増幅器
70 スピーカ
130 マルチトラック伸長装置
131 CPU
132 ROM
133 RAM
139 圧縮処理部
230 マルチトラック伸長装置
330 圧縮音声データ合成装置
Claims (23)
- 合成対象となる複数の圧縮データを取得する圧縮データ取得手段と、
前記圧縮データ取得手段によって取得された複数の圧縮データのそれぞれについて、これらの圧縮データに対して伸張処理を行った後に合成したときに発生する冗長な部分を前記伸張処理を行う前に削除するデータ削除手段と、
前記圧縮データ取得手段によって取得され、前記データ削除手段によって必要に応じて削除処理が行われた後の前記圧縮データに対して前記伸張処理を行う伸張処理手段と、
前記伸張処理手段によって伸張処理が行われた複数のデータを合成する合成手段と、
を備えることを特徴とする圧縮データ処理装置。 - 請求項1において、
前記圧縮データは、圧縮音声データであり、
前記データ削除手段は、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する前記圧縮データに対して削除処理を行うことを特徴とする圧縮データ処理装置。 - 請求項2において、
前記データ削除手段は、発生タイミングが一致する複数の音の中から最も音圧レベルが大きな基準音を抽出し、この基準音に対して所定の比率以下の音圧レベルを有する他の音を削除することを特徴とする圧縮データ処理装置。 - 請求項3において、
前記所定の比率は、1/2であることを特徴とする圧縮データ処理装置。 - 請求項2において、
前記データ削除手段は、発生タイミングが前後する複数の音の中から最も音圧レベルが大きな基準音を抽出し、この基準音に対して所定の比率以下の音圧レベルを有する他の音を削除することを特徴とする圧縮データ処理装置。 - 請求項2〜5のいずれかにおいて、
前記圧縮データに対して第1の部分伸張処理を行って得られた中間データに対して第2の部分伸張処理を行うことによりデータの復元が行われ、
前記伸張処理手段によって前記第1の部分伸張処理を行い、前記合成手段によって前記中間データを対象に合成処理を行うことを特徴とする圧縮データ処理装置。 - 請求項6において、
前記合成手段から出力される中間データに対して前記第2の部分伸張処理を行う第2の伸張処理手段をさらに備えることを特徴とする圧縮データ処理装置。 - 請求項6において、
前記合成手段から出力される中間データに対して前記第1の部分伸張処理の逆変換となる圧縮処理を行う圧縮処理手段をさらに備えることを特徴とする圧縮データ処理装置。 - 請求項2〜8のいずれかにおいて、
前記圧縮データは、MPEG1オーディオ形式の圧縮音声データであり、
前記データ削除手段による削除処理は、複数の周波数帯域毎の音声データを対象に行われることを特徴とする圧縮データ処理装置。 - 請求項2〜8のいずれかにおいて、
前記合成手段よりも前段に設けられており、前記複数の圧縮データのそれぞれに対して所定の乗数を乗算する重み付け処理を行う重み付け処理手段をさらに備え、
前記データ削除手段は、前記複数の圧縮データのそれぞれに対応する前記乗数を考慮して削除処理を行うことを特徴とする圧縮データ処理装置。 - 請求項10において、
前記重み付け処理は、音量バランス調整処理であることを特徴とする圧縮データ処理装置。 - 請求項6〜8のいずれかにおいて、
前記圧縮データは、MPEG1オーディオ形式の圧縮音声データであり、
前記第1の部分伸張処理によって、複数の周波数帯域毎の音声データを復元し、
前記第2の部分伸張処理によって、前記複数の周波数帯域毎の音声データを用いて周波数逆変換を行うことを特徴とする圧縮データ処理装置。 - 請求項6〜8のいずれかにおいて、
前記第2の部分伸張処理は、処理後のデータ同士の合成と等価な処理前のデータ同士の合成が可能な処理であり、
前記第1の部分伸張処理は、処理後のデータ同士の合成と等価な処理前の同士の合成が不可能な処理であることを特徴とする圧縮データ処理装置。 - 合成対象となる複数の圧縮データを取得する圧縮データ取得手段と、前記圧縮データ取得手段によって取得された複数の圧縮データのそれぞれについて、これらの圧縮データに対して伸張処理を行った後に合成したときに発生する冗長な部分を前記伸張処理を行う前に削除するデータ削除手段と、前記圧縮データ取得手段によって取得され、前記データ削除手段によって必要に応じて削除処理が行われた後の前記圧縮データに対して前記伸張処理を行う伸張処理手段と、前記伸張処理手段によって伸張処理が行われた複数のデータを合成する合成手段とを備えた圧縮データ処理装置の圧縮データ処理方法であって、
前記圧縮データ取得手段によって複数の圧縮データを取得するステップと、
取得された複数の圧縮データのそれぞれについて、前記データ削除手段によって前記冗長な部分を削除するステップと、
前記冗長な部分が削除された後の前記圧縮データに対して、前記伸張処理手段によって伸張処理を行うステップと、
前記伸張処理が終了した後の複数のデータを用いて前記合成手段による合成処理を行うステップと、
を含む圧縮データ処理方法。 - 請求項14において、
前記圧縮データは、圧縮音声データであり、
前記データ削除手段によって前記冗長な部分を削除するステップには、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する前記圧縮データを削除する動作が含まれていることを特徴とする圧縮データ処理方法。 - 請求項14において、
前記圧縮データに対して第1の部分伸張処理を行ってから得られた中間データに対して第2の部分伸張処理を行うことによりデータの復元が行われ、
前記伸張処理手段によって前記圧縮データに対して伸張処理を行うステップには前記第1の伸張処理を行う動作が含まれており、
前記合成手段によって合成処理を行うステップには前記中間データを対象にしてこの合成処理を行う動作が含まれていることを特徴とする圧縮データ処理方法。 - 請求項16において、
前記圧縮データ処理装置は、前記第2の伸張処理を行う第2の伸張処理手段を有しており、
前記合成手段から出力される前記中間データに対して前記第2の部分伸張処理手段によって前記第2の部分伸張処理を行うステップをさらに含むことを特徴とする圧縮データ処理方法。 - 請求項16において、
前記圧縮データ処理装置は、前記第1の部分伸張処理の逆変換となる圧縮処理を行う圧縮処理手段を有しており、
前記合成手段から出力される前記中間データに対して前記圧縮処理手段によって前記圧縮処理を行うステップをさらに含むことを特徴とする圧縮データ処理方法。 - 複数の圧縮データを合成するためにコンピュータを、
合成対象となる前記複数の圧縮データを取得する圧縮データ取得手段と、
前記圧縮データ取得手段によって取得された複数の圧縮データのそれぞれについて、これらの圧縮データに対して伸張処理を行った後に合成したときに発生する冗長な部分を前記伸張処理を行う前に削除するデータ削除手段と、
前記圧縮データ取得手段によって取得され、前記データ削除手段によって必要に応じて削除処理が行われた後の前記圧縮データに対して前記伸張処理を行う伸張処理手段と、
前記伸張処理手段によって伸張処理が行われた複数のデータを合成する合成手段と、
して機能させるための圧縮データ処理プログラム。 - 請求項19において、
前記圧縮データは、圧縮音声データであり、
前記コンピュータを、聴覚のマスキング特性を利用して、合成後に聞き取りにくくなる音に対応する前記圧縮データに対して削除処理を行う前記データ削除手段として機能させるための圧縮データ処理プログラム。 - 請求項19において、
前記圧縮データに対して第1の部分伸長処理を行ってから得られた中間データに対して第2の部分伸長処理を行うことによりデータの復元が行われており、
前記コンピュータを、前記第1の部分伸長処理を行う前記伸長処理手段と、前記中間データを対象に合成処理を行う前記合成手段として機能させるための圧縮データ処理プログラム。 - 請求項21において、
前記コンピュータを、前記合成手段から出力される中間データに対して前記第2の部分伸長処理を行う第2の伸長処理手段として機能させるための圧縮データ処理プログラム。 - 請求項21において、
前記コンピュータを、前記合成手段から出力される中間データに対して前記第1の部分伸長処理の逆変換となる圧縮処理を行う圧縮処理手段として機能させるための圧縮データ処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002185560A JP2004029377A (ja) | 2002-06-26 | 2002-06-26 | 圧縮データ処理装置、方法および圧縮データ処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002185560A JP2004029377A (ja) | 2002-06-26 | 2002-06-26 | 圧縮データ処理装置、方法および圧縮データ処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004029377A true JP2004029377A (ja) | 2004-01-29 |
Family
ID=31181151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002185560A Pending JP2004029377A (ja) | 2002-06-26 | 2002-06-26 | 圧縮データ処理装置、方法および圧縮データ処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004029377A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020067531A (ja) * | 2018-10-23 | 2020-04-30 | 株式会社コーエーテクモゲームス | プログラム、情報処理方法、及び情報処理装置 |
WO2021190039A1 (zh) * | 2020-03-23 | 2021-09-30 | 全景声科技南京有限公司 | 可拆解和再编辑音频信号的处理方法及装置 |
-
2002
- 2002-06-26 JP JP2002185560A patent/JP2004029377A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020067531A (ja) * | 2018-10-23 | 2020-04-30 | 株式会社コーエーテクモゲームス | プログラム、情報処理方法、及び情報処理装置 |
JP7194559B2 (ja) | 2018-10-23 | 2022-12-22 | 株式会社コーエーテクモゲームス | プログラム、情報処理方法、及び情報処理装置 |
WO2021190039A1 (zh) * | 2020-03-23 | 2021-09-30 | 全景声科技南京有限公司 | 可拆解和再编辑音频信号的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10276173B2 (en) | Encoded audio extended metadata-based dynamic range control | |
JP4899359B2 (ja) | 信号符号化装置及び方法、信号復号装置及び方法、並びにプログラム及び記録媒体 | |
JP2011059714A (ja) | 信号符号化装置及び方法、信号復号装置及び方法、並びにプログラム及び記録媒体 | |
US20020169601A1 (en) | Encoding device, decoding device, and broadcast system | |
JP2002341896A (ja) | ディジタルオーディオ圧縮回路および伸長回路 | |
JP4639966B2 (ja) | オーディオデータ圧縮方法およびオーディオデータ圧縮回路並びにオーディオデータ伸張回路 | |
JPWO2002058053A1 (ja) | ディジタル音声データの符号化方法及び復号化方法 | |
JP2013073230A (ja) | オーディオ符号化装置 | |
US6463405B1 (en) | Audiophile encoding of digital audio data using 2-bit polarity/magnitude indicator and 8-bit scale factor for each subband | |
JP2004029377A (ja) | 圧縮データ処理装置、方法および圧縮データ処理プログラム | |
JP4174859B2 (ja) | デジタルオーディオ信号のミキシング方法およびミキシング装置 | |
JP2003271198A (ja) | 圧縮データ処理装置、方法および圧縮データ処理プログラム | |
JP2003228399A (ja) | 符号化装置、復号化装置および音響データ配信システム | |
JPH1083623A (ja) | 信号記録方法、信号記録装置、記録媒体および信号処理方法 | |
KR100368456B1 (ko) | 음성속도 및 음정가변 어학학습장치 | |
JP2007240819A (ja) | デジタルデータ復号化装置 | |
JP2007240902A (ja) | デジタルデータ復号化装置 | |
JP2002236499A (ja) | 音楽信号圧縮装置、音楽信号圧縮伸張装置及び前処理制御装置 | |
JP3829134B2 (ja) | 生成装置、再生装置、生成方法、再生方法、および、プログラム | |
JP3510493B2 (ja) | 音声信号の符号/復号方法及びそのプログラムを記録した記録媒体 | |
US6477496B1 (en) | Signal synthesis by decoding subband scale factors from one audio signal and subband samples from different one | |
JP2005031169A (ja) | 音声信号処理装置,その方法,そのプログラム | |
JP2000293199A (ja) | 音声符号化方法および記録再生装置 | |
JP3884131B2 (ja) | データ圧縮装置およびデータ伸長装置 | |
JP2007240823A (ja) | デジタルデータ復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050520 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071113 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080311 |