JP4758687B2 - 音声パケット送信方法、音声パケット受信方法、それらの方法を用いた装置、プログラム、および記録媒体 - Google Patents

音声パケット送信方法、音声パケット受信方法、それらの方法を用いた装置、プログラム、および記録媒体 Download PDF

Info

Publication number
JP4758687B2
JP4758687B2 JP2005177481A JP2005177481A JP4758687B2 JP 4758687 B2 JP4758687 B2 JP 4758687B2 JP 2005177481 A JP2005177481 A JP 2005177481A JP 2005177481 A JP2005177481 A JP 2005177481A JP 4758687 B2 JP4758687 B2 JP 4758687B2
Authority
JP
Japan
Prior art keywords
code
bit
speech
value
voice
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.)
Expired - Fee Related
Application number
JP2005177481A
Other languages
English (en)
Other versions
JP2006352616A (ja
Inventor
仲 大室
岳至 森
祐介 日和▲崎▼
章俊 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005177481A priority Critical patent/JP4758687B2/ja
Publication of JP2006352616A publication Critical patent/JP2006352616A/ja
Application granted granted Critical
Publication of JP4758687B2 publication Critical patent/JP4758687B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Description

この発明は、ディジタル化された音声、音楽などの音響信号(以下、総称して「音声信号」という。)をインターネットをはじめとするパケット通信網を介して送信する際に、受信側において、良好な品質で音声信号を再生するための音声パケット送信方法、音声パケット受信方法、それらの方法を用いた装置、プログラム、および記録媒体に関する。
音声信号をボイスオーバ(Voice over)IP(インターネットプロトコル)技術を利用して送信するサービスが普及しつつある。図1に示すように入力音声を音声信号送信装置80で音声パケットに変換してIP通信網96によって音声信号受信装置95へ送信し、音声信号受信装置95により音声パケットを復号して再生音声を出力する。これをリアルタイム通信する場合、通信網96の状態によっては通信網の途中においてパケットロス(紛失)が生じ、それによって再生音声が途切れるといった品質劣化が問題となっている。特に、インターネットなどのベストエフォートと呼ばれる通信サービスの場合には、パケットロスを許容しているため通信網の混雑時に特にこの問題が顕著である。
そこで、音声信号をパケット通信網で通信する場合には、パケットロスコンシールメントと呼ばれる手法を用いて、パケットが通信路の途中で消失あるいは通信路の遅延によって制限時間内に受信側に届かなかった場合(以下、「パケットロスの場合」という。)に、消失または届かなかったパケット(以下、「ロスパケット」という。)に対応する区間の音声信号を受信側で推定して補償する方法が用いられる。パケットロス率が高い場合、または、一定時間連続してパケットロスが発生するバーストパケットロスの場合でも、十分な再生音品質を維持できる方法として非特許文献1がある。非特許文献1では、図2に示すように、入力音声は入力バッファ81に蓄えられ、音声信号をフレームと呼ばれる一定の時間ごとに区切って音声波形符号化部82に送る。1フレームの時間長は一般には、10ミリ秒から20ミリ秒程度とすることが多い。音声波形符号化部82では、例えば、ITU−Tの標準符号化方式であるG.711(μ則PCMまたはA則PCM方式)を適用して入力音声を音声符号に変換する。なお、G.711以外の音声符号化方式が用いられる場合もある。音声符号は、パケット構成部83に送られる。音声特徴量計算部85では、入カバッファ81に蓄えられた音声信号を用いて、当該フレームにおける音声特徴量を計算する。
音声特徴量とは、ピッチ周期(音声の基本周波数に相当)、パワなどを指し、これらの特徴量のいずれかのみを利用することもあるし、全部を利用することもある。ピッチ周期は、音声波形または音声波形にスペクトル包絡の逆特性を持つフィルタをかけた信号の自己相関係数を計算することによって得られる。パワは、フレーム内の全サンプルの二乗和により得られる。音声特徴量符号化部86では、前記音声特徴量を決められたビット数(またはバイト数)で表すことができるように量子化した後、符号に変換する。決められたビット数とは、例えば、ピッチ周期に7ビット、パワに7ビットなどである。符号化された音声特徴量は、シフトバッファ87に送られる。シフトバッファ87では、あらかじめ指定された数のフレームにわたって音声特徴量の符号を保持し、指定されるフレーム数だけ前(過去)の音声特徴量の符号をパケット構成部83に送る。例えば、現在のフレームをn、指定されるフレーム数を3とすると、フレームn−3の音声特徴量符号がパケット構成部83に送られる。パケット構成部83では、前記音声波形を符号化した符号と、音声特徴量の符号を用いてパケットを構成する。パケット送出部84は、パケット構成部83で作成されたパケットの情報を受け取り、音声パケットとしてパケット通信網に送出する。
図3は、パケット構成部83でパケットを構成する際の、パケットの構成例である。一般にパケットはヘッダ領域とデータ領域からなり、ヘッダ領域の中でも必須領域とオプション領域がある。パケットの宛先やフレーム番号などのタイムスタンプはヘッダ領域に格納される。音声波形を符号化した符号データはデータ領域に格納される。音声特徴量の符号は、波形データに比べてサイズ(バイト数)が少ないため、ヘッダ領域のオプション領域HOPに格納する方法と、データ領域の先頭D1または末尾DEに格納する方法があるが、オプション領域に格納するほうが当該技術を適用しない従来の方法や既存設備との互換性を維持しやすい。
非特許文献1の音声特徴量をヘッダ領域のオプション領域に格納する方法は、非特許文献1の方法を適用しない従来の方法や既存設備、例えば既存のIP電話機やIP−PBXシステムの大半とは互換性や相互接続性の点で問題はないと考えられる。しかしながら、オプション領域利用に関するルールがIETF(Internet Engineering Task Force)で規定されているにもかかわらず、数多い市中製品の中にはヘッダ領域のオプション領域利用を想定していない製品が出回っており、すべての既存製品との互換性が保証されないという問題がある。
これに対して特許文献1では、図4に示すように音声波形符号化部82にITU−T G.711方式を用い、入力バッファ81に蓄えられた音声信号から並行して送信したい情報(高能率圧縮符号)を計算して、音声波形符号化部82の出力であるG.711符号列の最下位ビットを並行して送信したい情報のビット系列でそれぞれ置換することによって、音声符号に別の情報を埋め込んでいる。これらの方法を用いれば、既存設備との完全な互換性が保証される。(情報を埋め込んだパケットを既存設備の端末で受信しても、音声が再生できる。)
大室仲,他"音声特徴量並行送信によるバーストパケットロス耐性の向上", 信学技報(電子情報通信学会), SP2004-77, pp.35-40, 2004. 特許第2676046号明細書
特許文献1の方法を用いることにより、当該方法を実装しない既存のシステムとの完全な互換性は保証される。しかし、音声符号の最下位1ビットを強制的に別の情報に書き換えてしまうことから、埋め込みビット数を増やすと、再生音声にノイズが発生する問題があった。
送信装置側では、ビット列解析部で並行送信データをビット列に分解し、コード探索部で、あらかじめ定めた前記ビット列の各ビットに対応するサンプル点では、当該ビットの値が0ならば、あらかじめ定めたG.711の128コードを探索し、当該ビットの値が1ならば、G.711の他の128コードを探索し、前記各ビットに対応するサンプル点以外では、G.711の256コードを探索し、探索結果に従ってG.711の音声符号を出力する。
受信装置では、受信したG.711音声符号を、G.711規格にしたがって復号するとともに、あらかじめ定めた並行送信データのビットが格納されるサンプル点から、並行送信データの情報を抽出し、並行送信データを復号する。
本発明では、音声波形符号化部で、ITU−T G.711符号化方式が利用される場合に、特許文献1と同様に、音声符号列の中に音声特徴量を埋め込んでいる。しかし、特許文献1のように、生成された後の音声符号の特定ビットを置換するのではなく、G.711の音声符号化処理自体に、音声特徴量が音声符号にデコーダ互換で埋め込まれる処理を組み込んでいる。したがって、当該方法を実装していない既存のシステムとの完全な互換性を保証した情報の埋め込みを行いつつ、情報の埋め込みに起因する音質の劣化(再生音声中のノイズの増加)を抑えることが可能となる。
以下、本発明を、図面を参照しながら説明する。重複説明を避けるため、同じ機能の構成部や同じ処理のステップには同じ番号を付して、重複説明を省略する。また、本明細書中の「音声」とは、音声や音楽などの音の信号の総称として用いる。
[第1実施形態]
図5は、本発明の音声信号送信装置10の機能構成例である。また、図6に音声信号送信装置10の処理フローを示す。入力音声は、入カバッファ81に蓄えられ(S11)、音声信号をフレームと呼ばれる一定の時間ごとに区切って音声符号化部11と音声特徴量計算部85に送る(S12)。1フレームの時間長は一般には、10ミリ秒から20ミリ秒程度とすることが多い。音声特徴量計算部85では、入力バッファ81に蓄えられた音声信号を用いて、当該フレームの音声特徴量を計算する(S13)。音声特徴量とは、ピッチ周期(音声の基本周波数に相当)、パワなどを指し、これらの特徴量のいずれかのみを利用することもあるし、全部を利用することもある。ピッチ周期は、音声波形または音声波形にスペクトル包絡の逆特性を持つフィルタをかけた信号の自己相関係数を計算することによって得られる。パワは、フレーム内の全サンプルの二乗和により得られる。
音声特徴量符号化部86では、前記音声特徴量を決められたビット数(またはバイト数)で表すことができるように量子化した後、符号に変換する。決められたビット数とは、例えば、ピッチ周期に7ビット、パワに7ビットなどである。符号化された音声特徴量は、シフトバッファ87に送られる(S14)。シフトバッファ87では、あらかじめ指定された数のフレームにわたって音声特徴量の符号を保持し、指定されるフレーム数だけ前(過去)の音声特徴量の符号を音声符号化部11に送る(S15)。例えば、現在のフレームをn、指定されるフレーム数を3とすると、フレームn−3の音声特徴量符号が音声符号化部11に送られる。
音声符号化部11では、フレーム化された音声と音声特徴量符号から、G.711方式とデコーダ互換の符号を生成し、パケット構成部12に送る(S16)。パケット構成部12では、音声特徴量符号の含まれた音声符号からパケットを構成する(S17)。パケット送出部84は、パケット構成部12で作成されたパケットの情報を受け取り、パケット通信網に送出する(S18)。
図7に本発明の音声符号化部11の機能構成例を、図8にステップS16の詳細な処理フローを、図9に本発明の音声符号化の概念例を示す。フレーム化された音声信号は、音声信号バッファ21に入力され、蓄積される(S21)。音声信号バッファ21は、例えば、20ミリ秒の音声信号、例えば、サンプリング周波数が8kHzであれば、160サンプルの音声信号をサンプル単位に分解して、サンプル毎にSW23に送る(S22)。SW23の先には、G.711全コード探索部24、G.711偶数コード探索部25、G.711奇数コード探索部26が接続されており、サンプル毎にSW23がこれらの探索部を切り替える。ビット解析・SW制御部22は、入力される音声特徴量符号をもとに、音声信号バッファ21から出力されるサンプルごとにSW23を、次に説明するように切り替える。この動作を、図9を用いて説明する。図9は、音声信号のサンプリング周波数が8kHz、フレーム長が20ミリ秒、G.711ビットストリームの一部に埋め込む音声特徴量が32ビットの場合を示したものである。サンプリング周波数が8kHz、フレーム長が20ミリ秒であるから、1フレーム内のサンプル数は160サンプルである。また、G.711音声符号は1サンプルあたり8ビットであるから、1フレーム分の音声符号は、8ビット×160サンプルとなる。音声符号欄の横軸は時刻を表し、P1〜P160はサンプル番号を示す。縦軸方向にはそれぞれのサンプル点に対応する8ビットのG.711符号を、LSB(Least Significant Bit)を下に、MSB(Most Significant Bit)を上にビット単位で表現している。音声特徴量符号のビットは、これらのG.711符号のうち、特定のサンプル点に対応するG.711符号のLSBが音声特徴量符号のビットを表すようにG.711符号を決めることとする。また、G.711符号に音声特徴量符号が埋め込まれているかいないか(単なるG.711符号か)を判別するために、音声特徴量符号のチェックサム(1ビット)を計算しておく。図9の例では、音声特徴量符号の32ビットのうち、1が19個であるから、チェックサムビットは1とする。もし1が偶数個であればチェックサムビットは0とする。この例でG.711符号のLSBに埋め込むビット数は、音声特徴量符号の32ビットと、チェックサム1ビットの合計33ビットである。160箇所のLSBに33ビットを埋め込むには、例えば、160を33で除すると、4.8となることから、4サンプル点ごと、すなわちP4,P8,P12,…,P128,P132の33箇所に埋め込むとよい。なお、前記例は等間隔になっているが、規則が決まっていれば、例えばP4,P9,P13,P18,…のように、不等間隔でもよい。ここで、前記の「G.711符号のLSBに1または0のビットを埋め込む」とは、G.711符号のLSBを指定された1または0に固定することをいう。つまり、G.711のコードは本来8ビットあり、パターンの数は256通りであるが、パターンを探索する前にLSBを1または0のいずれかに固定してしまい、選択肢を7ビットの128通りに限定する。これは、LSBを1に固定した場合には、G.711の符号探索時に、奇数符号しか探索しないことを、LSBを0に固定した場合には、G.711の符号探索時に、偶数符号しか探索しないことを意味する。音声特徴量符号のビットが埋め込まれないサンプル点では、従来と同様に全符号256通りを探索して最適な符号を出力できる。図9の上部に、各サンプル点に全探索、奇数探索(P4,Pc)、偶数探索(P8,P12)と記載しているのがこれにあたる。
本処理の概念を図7のブロック図にあてはめると、ビット解析・SW制御部22は、音声特徴量符号をビット列に分解して(S23−1)、チェックサムビットを計算する(S23−2)。順に各ビットが0か1かを判定し(S23−3)、G.711符号のLSBにビットを埋め込むサンプル点では、音声特徴量符号をビット列に分解して得たビットまたはチェックサムビットが0であれば、SW23をG.711偶数コード探索部25にセットし、音声特徴量符号をビット列に分解して得たビットまたはチェックサムビットが1であれば、SW23をG.711奇数コード探索部26にセットし、LSBにビットを埋め込まないサンプル点では、SW23をG.711全コード探索部24にセットする(S23−4)。
G.711全コード探索部24は、図9での説明のように、G.711の全256パターンの中から、入力された音声サンプル値に量子化値の近い符号を決定し、出力する(S24)。G.711偶数コード探索部25は、同じく図9での説明のように、G.711の偶数符号に対応する128パターンの中から、入力された音声サンプル値に量子化値の近い符号を決定し、出力する(S25)。G.711奇数コード探索部26は、G.711の奇数符号に対応する128パターンの中から、入力された音声サンプル値に量子化値の近い符号を決定し、出力する(S26)。
なお、全コードを探索する場合に比べて、奇数コードのみ、または偶数コードのみしか探索しない場合には、G.711で符号化したときの波形歪みが大きくなり(SN比が悪くなり)、ノイズの増加原因となる。例えば、160サンプル点すべてのLSBに、ビットの情報を埋め込むと(つまり、160ビット分を埋め込むと)、再生音のノイズが耳障りになって実用的ではない。一方、160サンプル点のごく一部だけに情報を埋め込むのであれば、波形全体を見たときの歪みは小さく、再生音のノイズは気にならない。160サンプルあたり何ビット埋め込むと、人間が聴いたときにノイズがどれくらい気になるかについては後述する。
従来の方法では、全256パターンの中から、入力された音声サンプル値に量子化値の近い符号を決定し、決定した符号の最下位ビットを別の情報で置き換える。本発明の方法では、最初から探索できるコードを128パターンに制限し、量子化歪みが小さくなるような符号を決定する。2つの方法は、ある特定条件では結果が一致するが、一般には結果が異なり、本発明の方法の方が再生時の歪みを小さくできる。
G.711全コード探索部24、G.711偶数コード探索部25、G.711奇数コード探索部26から出力された1サンプル分のG.711符号は、音声符号バッファ27において1フレーム分蓄えられたのち、1フレーム分の音声符号として出力される(S27)。
[第2実施形態]
図9のようなG.711符号のLSBに別のビット情報を埋め込む方法は、160サンプル点の一部のサンプル点であれば、音質劣化が目立たずに情報を確実に埋め込むことができるが、ときに問題点が存在する。問題が生じる例として、図7のフレーム化入力音声に、静かな部屋で録音された音声を入力した場合がある。ITU−T G.711方式のうち日本や米国で主に使われるμ則の場合、G.711符号のコード255(16進数表現でFF)は量子化値0を表し、コード254(16進数表現でFE)は量子化値8を表す。これに前述の偶数コード探索、奇数コード探索の手法を適用してみる。無音区間のLSBに1を埋め込み、奇数コードのみを探索した場合には、G.711符号を復号したときの音声信号のサンプル値(量子化値)が0となる。しかし、LSBに0を埋め込み、偶数コードのみを探索した場合には、G.711符号を復号したときの音声信号のサンプル値(量子化値)は8となる。つまり、無音区間のLSBに0を埋め込まれた場合に、復号値が8となるので、プーンというノイズが耳につきやすい。ただし、無音区間でなければ、聴覚特性上、ノイズは目立たない。この問題を回避するためには、振幅の小さい音声区間、例えば、振幅値が±4以内のサンプル点では、埋め込まれる値が0の場合でも1の場合でも、再生音声は0のサンプル値であることが望ましい。そこで、μ則のG.711符号のコードと量子化値の対応関係を調べてみると、コード255は量子化値+0(正の値としてのゼロ)、コード127が量子化値−0(負の値としてのゼロ)を表す構造となっている。再生すればどちらも0のサンプル値を表す0に対して、二重のコードが割り当てられていることになる。この冗長性を利用して、例えば入カサンプル値が±4以内のサンプル点では、LSBに1、0の値を埋め込むのではなく、例えば埋め込む値が1のときはコード255、埋め込む値が0のときはコード127(もしくは、逆の対応関係)を使うことにすれば、無音区間でプーンという耳障りなノイズが発生することなく、受信側で埋め込まれたビットの1、0を判定することが可能である。言い換えれば、入カサンプル値が±4以内のサンプル点では、LSBに情報ビットを埋め込むのではなく、MSBに情報ビットを埋め込むことに等しい。
このように、μ則のG.711方式を利用するときに限って(欧州で主に使われるA則でないときは) 、振幅が0に近い区間ではMSBに、それ以外ではLSBに情報ビットを埋め込む方法が有効である。本実施形態の音声符号化部11’の構成例を図10に示す。また、処理フローを図11に示す。図10と図7との違いは、入力サンプル値が±4以内かを判定するサンプル値判定部28、コード255を出力するコード255出力部29、コード127を出力するコード127出力部30が追加され、サンプル値判定部28の判定結果も入力としてSW23を制御するビット解析・SW制御部31に変更したことである。サンプル値判定部28が、入カサンプル値が±4以内のサンプル点であるかどうかの判定を行う(S28)。ビット解析・SW制御部31は、サンプル値が±4以内であった場合に、埋め込むビットが1のときはSW23をコード255出力部29に切り替え、埋め込むビットが0のときはSW23をコード127出力部30に切り替える(S23’、S23−4’)。また、コード255出力部29は、255を出力し(S29)、コード127出力部30は、127を出力する(S30)。それ以外は、図8の処理フローと同じである。
[第3実施形態]
図12は、本発明を適用した受信装置40の機能構成例である。図13に、本発明の受信装置40の処理フローを示す。パケット受信部41は、ネットワークから音声パケットを受信し、受信バッファ42に音声パケットに含まれる音声符号を蓄積するとともに、チェックサム検出部52にも音声符号を送る(S41)。受信バッファ42はゆらぎ吸収バッファとも呼ばれる。受信した音声符号は、第1実施形態で示したように、音声特徴量符号が組み込まれていても、G.711符号と完全な互換性を有している。
受信バッファ42は、蓄えた音声符号をフレームの順番に従って音声波形復号部43に送る(S42)。音声波形復号部43は、音声符号を音声波形に復号する(S43)。パケットロスが発生していないフレームでは音声波形復号部43の出力信号が再生音声として出力される。
チェックサム検出部52では、音声符号に音声特徴量符号およびチェックサムビットが組み込まれているものとして、音声特徴量符号およびチェックサムビットを抽出する(S52−1)。たとえば、図12が図10の構成に対応する音声信号受信部であるとすると、次のように処理される。音声特徴量符号またはチェックサムビットが組み込まれているサンプル点(どのサンプル点に組み込まれているかは、事前に決められているものとする)のコードが255あるいは127であるかを判定する(S52−2)。255または127の場合は、図10の送信部の定義にしたがって1または0のビットの判定を行う(S52−3)。コードが255または127でない場合は、LSBのビットが1か0かによって、組み込まれているビットの1または0を判定する(S52−4)。音声特徴量符号の全ビットとチェックサムビットが抽出できたら、音声特徴量符号のチェックサムを計算しなおし、抽出したチェックサムビットと一致するかどうかを判断する(S52−5)。チェックサムが一致しない場合には、音声特徴量符号は組み込まれていなかったと判断する。本実施形態では、通信路の途中でビット誤りは発生していないものとしている。チェックサムが一致すれば、この音声符号には、音声特徴量符号が正しく組み込まれていた可能性が高い。ここで、「可能性が高い」とは、100%の確実性ではないことを示す。すなわち、音声特徴量符号が音声符号に組み込まれている場合には、チェックサムは一致することは送信時の定義により確実であるが、チェックサムが一致した場合でも、それが音声特徴量符号とチェックサムビットが音声符号に組み込まれた結果であるのか、符号化された音声符号が、たまたまチェックサムビットの一致条件に合致したにすぎないのかの判断ができないためである。そこで、チェックサム検出部52では、あらかじめ決められた連続する複数のフレームにわたってチェックサムが一致するかどうかの判定を行う(S52−6)。1フレームでもチェックサムが一致しない場合には、一連の受信した音声符号には音声特徴量符号が組み込まれていないと判断する。判定を行ったすべてのフレームでチェックサムが一致すれば、一連の受信した音声符号には音声特徴量符号が組み込まれていると判断する。なお、あらかじめ決められた連続する複数のフレーム全部のチェックサムの判定が終了するまでは、受信した音声符号には音声特徴量符号が組み込まれていたかどうかの確実な判断ができない。したがって、フェールセーフの観点から、判定開始初期段階では、音声特徴量符号は組み込まれていなかったものとして処理しておく。チェックサム検出部52の判定結果によって、SW49が制御され、一連の受信した音声符号に音声特徴量符号が組み込まれている場合には、SW49は音声特徴量復号部48側にセットされ(S49−1)、組み込まれていない場合には、SW49は音声特徴量なし側にセットされる(S49−2)。
SW50は、通常時は音声波形復号部43側にセットされており、音声波形復号部43で復号された音声信号が受信装置40から出力される(S50−1)。パケットロス検出部53は、受信バッファ42の状態から、これから音声を復号しようとするフレーム(フレームnとする)でパケットロスが発生しているかどうか、すなわち受信バッファ42に復号すべき音声符号が正しく格納されているかどうかを検出する(S53)。フレームnでパケットロスが発生している場合には、SW50をパケットロスコンシールメント44側に切り替える(S50−2)。
パケットロスが発生した場合のパケットロスコンシールメントの手法は、本発明の特徴である音声特徴量がG.711互換の音声符号に組み込まれていることを除いて非特許文献1と同様である。なお、非特許文献1では、音声特徴量は、パケットヘッダに組み込むか、データ領域に格納する。たとえば、フレームnにおいて、パケットロスが発生したとする。パケットロスが発生した場合は、受信バッファ探索部46は、受信バッファ42に蓄積された音声符号を探索し、フレームn+1以降で受信されている音声符号のうち、フレームnに時間の近い(タイムスタンプが直近の)音声符号を探索する(S46−1)。探索の結果、フレームn+iの音声符号が得られたとする。例えば、フレームn+1がロスしていないときはi=1、フレームn+1、フレームn+2とも連続してロスしてフレームn+3がロスでない場合はi=3となる。フレームn+iの音声符号は、先読み音声波形復号部47でフレームn+iの音声波形に復号され、パケットロスコンシールメント部44に送られる(S47)。
受信バッファ探索部46では、さらに受信バッファ42に蓄積された音声符号の中から、フレームnの音声特徴量が組み込まれた音声符号を探索する(S46−2)。前述のように、音声特徴量符号はフレームnと相対的に何フレームかずれてつけられており、例えばフレームn+3の音声符号に組み込まれている。音声特徴量復号部48は、フレームnに対応する音声特徴量をフレームnのピッチ情報とパワ情報に復号し、パケットロスコンシールメント部44に送る(S48)。ここで、音声特徴量符号は、図9に示すようにあらかじめ定めたサンプルに組み込まれている。また図10に示したように、無音区間のノイズ対策としてコード127とコード255を用いている場合がある。したがって、ステップS48での音声特徴量符号の抽出では、次のように音声特徴量符号が抽出される。音声特徴量符号が組み込まれたサンプルを探す。サンプルの値がG.711のコード127かコード255に一致する場合は、あらかじめ定めた規則にしたがって、音声特徴量符号のビットを0または1とする。サンプルの値がG.711のコード127またはコード255ではない場合は、あらかじめ定めたサンプルのビット(例えばLSB)から音声特徴量符号のビットを抽出する。ステップS48では、このように抽出された音声特徴量符号から音声特徴量を復号する。なお、前述のように、チェックサム検出部52で音声特徴量符号が音声符号に組み込まれていると判断されなかった場合には、フレームnに対応する音声特徴量は、パケットロスコンシールメント部44に送らない。
出力音声バッファ51は、受信装置40の出力音声を常に一定時間蓄える(S51−1)。出力音声バッファ51は、蓄積された出力音声の中から、直前フレームn−1に対応する出力波形をパケットロスコンシールメント部44に送る(S51−2)。また、ピッチ抽出部45は、出力音声バッファ51に蓄えられた出力音声波形を用いて、直前フレームn−1に対応するピッチ周期を分析する。なお、ピッチ抽出は、常時行ってもよいし、パケットロスが発生したときだけ行ってもよい。また、ピッチ抽出部45は、分析により得られた直前フレームn−1に対応するピッチを、パケットロスコンシールメント部44に送る(S45)。パケットロスコンシールメント44では、ロスしたパケットを以下のように生成し(S44)、出力音声として出力する。
パケットロスコンシールメント44の機能構成例を図14に示す。また、パケットロスコンシールメント44の処理フローを図15に示す。前向き波形外挿部441は、出力音声バッファ51内の直前のフレームの音声波形からピッチ周期に相当する長さまたはピッチ周期よりも少し長い区間の波形を切り出し、ピッチ周期で並べて、あるいは一部を重ね合わせながら並べて波形を生成する(S441)。後ろ向き波形外挿部442は、先読み音声波形復号部47の出力である先読み音声波形、例えば、受信バッファ内からフレームn+2の波形が得られればフレームn+2の波形からピッチ周期に相当する長さまたはピッチ周期よりも少し長い区間の波形を切り出し、ピッチ周期で時間軸の逆方向に並べて、あるいは一部を重ね合わせながら並べて、波形を生成する(S442)。なお、受信バッファ内を探索しても先読み音声波形が得られなかった場合には、後ろ向き波形外挿部442は波形を生成しない。
前向き波形外挿部441と後ろ向き波形外挿部442の動作概念を図16に示す。図16の例は、フレームnがパケットロス、フレームn+1もパケットロス、フレームn+2が正しく受信されて受信バッファ内に蓄積されている場合である。前向き波形外挿部441と後ろ向き波形外挿部442で用いるピッチ周期は、音声特徴量復号部48で得たフレームnに対応する音声特徴量に含まれるピッチ周期である(S447−2)。フレームnに対応する音声特徴量が得られていない場合、すなわち、前述のようにチェックサムビットが一致せず音声特徴量が音声符号に組み込まれていないと判断される場合や、他のフレームでは音声特徴量が音声符号に組み込まれているものの、パケットロスによってフレームnの音声特徴量が組み込まれたパケットがロスしてしまった場合などには(S447−1)、SW447をピッチ抽出部48側に切り替え、出力音声波形を分析して得られたフレームn−1のピッチ周期を用いる(S447−3)。前向き波形外挿部441と後ろ向き波形外挿部442の出力であるそれぞれの波形は、乗算部443、444でそれぞれ決められた重みを乗じた後(S443、S444)、加算部445で加算される(S445)。なお、受信バッファ内を探索しても先読み音声波形が得られなかった場合には、後ろ向き波形外挿部442は波形を生成しないので、乗算部444側の重みは0とする。加算部445の出力波形は、パワ補正部446で信号のパワが補正される(S446)。「パワを補正する」とは、加算部445の出力波形のパワがフレームnに対応する音声特徴量から得られるパワの値と同等になるように波形にゲインを乗じる操作である。なお、フレームnに対応する音声特徴量が得られていない場合には、パワ補正は行わないか、パワ補正のゲインを1とする。パワ補正部446の出力は、パケットロスコンシールメント部の出力となる。
[第4実施形態]
第1実施形態から第3実施形態は、パケットロスコンシールメントに本発明を適用した例であったが、G.711の音声符号のLSBまたはMSBに組み込まれる符号情報は、他の用途の符号であってもよい。図17に本発明を帯域分割符号化の送信装置60に適用した例を、図18に本発明を帯域分割符号化の受信装置70に適用した例を示す。また、図19に送信側の処理フローを、図20に受信側の処理フローを示す。
入力音声は入力バッファ61に蓄えられ、10ミリ秒〜20ミリ秒程度の長さのフレームに区切って帯域分割フィルタ62に送られる(S61)。入力音声は広帯域音声で、サンプリング周波数が16kHzとすると、帯域分割フィルタ62によって、サンプリング周波数がそれぞれ8kHzの低域音声と高域音声に分けられる(S62)。高域音声符号化部66は、高域音声を符号化し、出力である高域音声符号を低域音声符号化部63に送る(S66)。本実施形態では、図5の音声特徴量の代わりが高域音声符号である。したがって、低域音声符号化部63は、図7〜図11の音声符号化部11(または11’)と同様の方法で高域音声符号を低域音声符号のLSBまたはMSBに組み込む(S63)。低域音声符号化部63の出力は、パケット構成部64でパケットに構成され(S64)、パケット送出部65によってネットワークに送出される(S65)。このとき、低域音声符号化部63の出力である音声符号は、G.711と完全な互換性を有することから、既存のG.711用のシステムに接続して利用することができる。また、受信側が従来の(本発明に対応していない)端末であった場合でも、問題なくG.711で符号化された音声として低域音声のみが再生される。
本発明を適用した受信装置70では、パケット受信部71がネットワークから音声パケットを受信し(S71)、受信バッファ72に音声符号を蓄える(S72)。受信バッファ72から出力された音声符号は低域音声復号部73で復号される(S73)。また、高域符号抽出部74は音声符号から高域符号を抽出する(S74)。高域音声復号部76は、抽出された高域符号から高域音声成分を復号する(S76)。チェックサム検出部78は、受信バッファ72から出力された音声符号を、高域符号が低域符号のLSBまたはMSBに組み込まれているかどうかの判定を行い(S78−1)、組み込まれている場合には、SW77を高域音声復号部76側にセットし、ステップS76で得た高域音声成分を帯域合成フィルタ75に送る(S78−2)。なお、チェックサム検出部78での判定の結果、高域符号が低域符号のLSBまたはMSBに組み込まれていないと判定された場合には、SW77を高域なし側にセットする(S78−3)。つまり、高域音声成分は生成されない。帯域合成フィルタ75は、低域音声復号部73の出力と、高域音声復号部76の出力を広帯域の音声信号に合成して出力する(S75)。
第1実施形態から第3実施形態ではパケットロスコンシールメントに利用する音声特徴量符号を、第4実施形態では帯域分割符号化の高域音声符号を、G.711符号に組み込んで並行送信している。このほかにも、多地点音声通信会議を行うための制御情報や、チャットなどの文字情報を同様にG.711符号に組み込むことも可能である。
なお、本発明は、コンピュータ本体とコンピュータプログラムとして実行することが可能であるし、デジタルシグナルプロセッサや専用LSIに実装して実現することも可能である。
[実験例]
上記のように、G.711の符号化アルゴリズムとして符号のLSBまたはMSBに別の符号を埋め込む方法ならば、音質の劣化を抑えつつ、従来のG.711の符号と完全な互換性を保証することができる。したがって、既存のすべてのシステムやネットワークに、本発明を適用した端末をつないで使用することができる。しかし、あまり多くの情報を埋め込みすぎると、G.711で符号化された音声自体の品質が劣化し、耳障りなノイズが発生してしまう。そこで、G.711符号化の1フレームを160サンプル(20ミリ秒)として、160サンプルあたりに何ビット埋め込むと、人間が聴いたときの品質がどれくらい劣化するかの主観評価試験を実施した。図21はその結果を示したものである。並行して送信したい情報の符号としてそれぞれ0、8、16、32、48ビットと、チェックサムビットとして1ビットを埋め込んだ音声を作成した。図21は、ヘッドフォン受聴により、1(非常に悪い)〜5(非常に良い)の5段階評価を行った結果である。この結果、音声特徴量8ビット(チェックサムビットを加えると9ビット)までは、全く劣化が検知されていない。また、音声特徴量16ビット(チェックサムビットを加えると17ビット)でも、ほとんど劣化が検知されていないことがわかる。32ビットになると劣化が検知され始め、48ビットでは0.25ポイント評価値が低下した。「0.25ポイント評価値が低下」とは、平均して4人に1人は1段階評価値を下げたことを意味する。したがって、160サンプルあたりに埋め込むビットは、16ビットまでであれば品質劣化の影響がなく、32ビットまでであれば平均して10人に1人が1段階評価値を下げる程度であり、実用上の影響ないと判断できる。
IP通信網上で音声通信を行う利用形態が普及してきており、本発明を適用することによって、既存システムと完全な互換性を有し、安価で信頼性の高い音声通信が実現できる。
IP通信網を介した1対1の音声通信の構成を示す図。 非特許文献1の音声信号送信装置の構成を示す図。 パケット構成部83でパケットを構成する際の、パケットの構成例を示す図。 符号の最下位ビットを置換する従来技術を用いた音声信号送信部の構成を示す図。 第1実施形態の音声信号送信装置10の機能構成例を示す図。 第1実施形態の音声信号送信装置10の処理フローを示す図。 第1実施形態の音声符号化部11の機能構成例を示す図。 第1実施形態の音声符号化部11の処理フローを示す図。 本発明の音声符号化の概念例を示す図。 第2実施形態の音声符号化部11’の構成例を示す図。 第2実施形態の音声符号化部11’の処理フローを示す図。 第3実施形態の受信装置40の機能構成例を示す図。 第3実施形態の受信装置40の処理フローを示す図。 パケットロスコンシールメント44の機能構成例を示す図。 パケットロスコンシールメント44の処理フローを示す図。 前向き波形外挿部441と後ろ向き波形外挿部442の動作概念を示す図。 本発明を帯域分割符号化の送信装置60に適用した例を示す図。 本発明を帯域分割符号化の受信装置70に適用した例を示す図。 本発明を帯域分割符号化の送信装置60に適用した場合の処理フローを示す図。 本発明を帯域分割符号化の受信装置70に適用した場合の処理フローを示す図。 主観評価試験の結果を示す図。

Claims (9)

  1. 音声および音楽を含む音の信号である音声信号を、音声パケットとして送信する音声パケット送信方法であって、
    入力バッファ、音声信号をフレームと呼ばれる一定時間ごとに区切って出力するステップと、
    ビット列解析部、前記フレームごとに、音声信号の情報とともに送信したいデータ(以下、「並行送信データ」という。)をビット列に分解するビット列分解ステップと、
    偶数コード探索部、前記フレーム内の各サンプル点のうち、あらかじめ定めた前記ビット列の各ビットに対応するサンプル点では、当該ビットの値が0ならば、G.711の偶数符号に対応する128コードから、入力された音声サンプル値に量子化値の近いコードを探索し、探索結果に従ってLSBが当該ビットの値を表すG.711の音声符号を出力する偶数コード探索ステップと、
    奇数コード探索部が、前記各ビットに対応するサンプル点において、当該ビットの値が1ならば、G.711の奇数符号に対応する128コードから、入力された音声サンプル値に量子化値の近いコードを探索し、探索結果に従ってLSBが当該ビットの値を表すG.711の音声符号を出力する奇数コード探索ステップと、
    全コード探索部が、前記各ビットに対応するサンプル点以外では、G.711の全256コードから、入力された音声サンプル値に量子化値の近いコードを探索し、探索結果に従ってG.711の音声符号を出力する全コード探索ステップと、
    を有する音声パケット送信方法。
  2. 請求項1記載の音声パケット送信方法であって、
    前記各ビットに対応するサンプル点での入力音声の値が、あらかじめ定めた0に近い範囲内の場合であって、当該ビットの値が1ならば、コード255出力部が、G.711のコード255番を探索結果として出力するコード255出力ステップと、
    前記各ビットに対応するサンプル点での入力音声の値が、あらかじめ定めた0に近い範囲内の場合であって、当該ビットの値が0ならば、コード127出力部が、G.711のコード127番を探索結果として出力するコード127出力ステップと、をさらに備える、
    ことを特徴とする音声パケット送信方法。
  3. 請求項1または2記載の音声パケット送信方法であって、
    前記並行送信データのビット列に、当該並行送信データから計算されるチェックサムビットが含まれる、
    ことを特徴とする音声パケット送信方法。
  4. 音声および音楽を含む音の信号である音声信号を、音声パケットとして受信する音声パケット受信方法であって、
    音声波形復号部、受信したG.711音声符号を、G.711規格にしたがって復号する音声符号復号ステップと、
    並行送信データ復号部が、並行送信データのビットが組み込まれているあらかじめ定められたサンプル点のコードG.711のコード127番または255番であるかを判定し、G.711のコード127番または255番の場合には対応する送信部の定義に従って並行送信データのビットが0か1かを求め、G.711のコード127番または255番でない場合にはそのサンプル点のLSBから並行送信データのビットが0か1かを抽出し、並行送信データを復号する並行送信データ復号ステップと
    を有する音声パケット受信方法。
  5. 請求項4記載の音声パケット受信方法であって、
    チェックサム検出部が、チェックサムビットの値が、並行送信データのビット列から計算したチェックサムと一致するかを確認する第1のチェックサム確認ステップと、
    前記チェックサム検出部が、前記第1のチェックサム確認ステップでの確認結果が正しいことを、あらかじめ定めた連続するフレーム数確認する第2のチェックサム確認ステップと、
    前記第1のチェックサム確認ステップまたは前記第2のチェックサム確認ステップのいずれかの確認結果が正しくなかった場合には、前記並行送信データ復号部が、並行送信データを復号しないことを特徴とする前記並行送信データ復号ステップと
    を有する音声パケット受信方法。
  6. 音声および音楽を含む音の信号である音声信号を、音声パケットとして送信する音声パケット送信装置であって、
    音声信号をフレームと呼ばれる一定時間ごとに区切って出力する入力バッファと、
    前記フレームごとに、音声信号の情報とともに送信したいデータ(以下、「並行送信データ」という。)をビット列に分解するビット列解析部と、
    前記フレームの各サンプル点のうち、あらかじめ定めた前記ビット列の各ビットに対応するサンプル点では、当該ビットの値が0ならば、G.711の偶数符号に対応する128コードから、入力された音声サンプル値に量子化値の近いコードを探索し、探索結果に従ってLSBが当該ビットの値を表すG.711の音声符号を出力する偶数コード探索部と、
    前記各ビットに対応するサンプル点において、当該ビットの値が1ならば、G.711の奇数符号に対応する128コードから、入力された音声サンプル値に量子化値の近いコードを探索し、探索結果に従ってLSBが当該ビットの値を表すG.711の音声符号を出力する奇数コード探索部と、
    前記各ビットに対応するサンプル点以外では、G.711の全256コードから、入力された音声サンプル値に量子化値の近いコードを探索し、探索結果に従ってG.711の音声符号を出力する全コード探索部と、
    を備える音声パケット送信装置。
  7. 音声および音楽を含む音の信号である音声信号を、音声パケットとして受信する音声パケット受信装置であって、
    受信したG.711音声符号を、G.711規格にしたがって復号する音声符号復号部と、
    並行送信データのビットが組み込まれているあらかじめ定められたサンプル点のコードG.711のコード127番または255番であるかを判定し、G.711のコード127番または255番の場合には対応する送信部の定義に従って並行送信データのビットが0か1かを求め、G.711のコード127番または255番でない場合にはそのサンプル点のLSBから並行送信データのビットが0か1かを抽出し、並行送信データを復号する並行送信データ復号部と
    を有する音声パケット受信装置。
  8. 請求項1から5のいずれかに記載の方法の各ステップを、コンピュータにより実行するプログラム。
  9. 請求項8記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2005177481A 2005-06-17 2005-06-17 音声パケット送信方法、音声パケット受信方法、それらの方法を用いた装置、プログラム、および記録媒体 Expired - Fee Related JP4758687B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005177481A JP4758687B2 (ja) 2005-06-17 2005-06-17 音声パケット送信方法、音声パケット受信方法、それらの方法を用いた装置、プログラム、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005177481A JP4758687B2 (ja) 2005-06-17 2005-06-17 音声パケット送信方法、音声パケット受信方法、それらの方法を用いた装置、プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2006352616A JP2006352616A (ja) 2006-12-28
JP4758687B2 true JP4758687B2 (ja) 2011-08-31

Family

ID=37647959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005177481A Expired - Fee Related JP4758687B2 (ja) 2005-06-17 2005-06-17 音声パケット送信方法、音声パケット受信方法、それらの方法を用いた装置、プログラム、および記録媒体

Country Status (1)

Country Link
JP (1) JP4758687B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008151408A1 (en) * 2007-06-14 2008-12-18 Voiceage Corporation Device and method for frame erasure concealment in a pcm codec interoperable with the itu-t recommendation g.711
JP5455222B2 (ja) * 2010-02-19 2014-03-26 Kddi株式会社 ディジタルオーディオ信号の音質劣化装置、音質回復装置、及び音質劣化・回復システム
JP5615078B2 (ja) * 2010-07-22 2014-10-29 アルパイン株式会社 データ伝送システム
JP5447628B1 (ja) 2012-09-28 2014-03-19 パナソニック株式会社 無線通信装置及び通信端末

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2676046B2 (ja) * 1989-01-30 1997-11-12 日本電信電話株式会社 ディジタル音声伝送方式
JP4022427B2 (ja) * 2002-04-19 2007-12-19 独立行政法人科学技術振興機構 エラー隠蔽方法、エラー隠蔽プログラム、送信装置、受信装置及びエラー隠蔽装置

Also Published As

Publication number Publication date
JP2006352616A (ja) 2006-12-28

Similar Documents

Publication Publication Date Title
JP4473869B2 (ja) 音響信号のパケット通信方法、送信方法、受信方法、これらの装置およびプログラム
JP4518714B2 (ja) 音声符号変換方法
US8340973B2 (en) Data embedding device and data extraction device
JP5268952B2 (ja) データパケットのシーケンスを伝送するための装置および方法ならびにデータパケットのシーケンスをデコードするためのデコーダおよび装置
US6725191B2 (en) Method and apparatus for transmitting voice over internet
US7590532B2 (en) Voice code conversion method and apparatus
CA2408890C (en) System and methods for concealing errors in data transmission
US6871175B2 (en) Voice encoding apparatus and method therefor
JP4758687B2 (ja) 音声パケット送信方法、音声パケット受信方法、それらの方法を用いた装置、プログラム、および記録媒体
JP2003241799A (ja) 音響符号化方法、復号化方法、符号化装置、復号化装置及び符号化プログラム、復号化プログラム
JP5012897B2 (ja) 音声パケット受信装置、音声パケット受信方法、およびプログラム
JP3566931B2 (ja) 音声信号の符号列のパケット組立方法、装置及びパケット分解方法、装置並びにこれらの方法を実行するプログラム、プログラムを記録する記録媒体
US20130085751A1 (en) Voice communication system encoding and decoding voice and non-voice information
US6167374A (en) Signal processing method and system utilizing logical speech boundaries
JP3722366B2 (ja) パケット構成方法及び装置、パケット構成プログラム、並びにパケット分解方法及び装置、パケット分解プログラム
Ding Wideband audio over narrowband low-resolution media
KR100591544B1 (ko) VoIP 시스템을 위한 프레임 손실 은닉 방법 및 장치
KR20040050810A (ko) 부가 음성 데이터를 이용한 패킷 손실 복구 방법 및 이를이용한 송수신기
KR100542435B1 (ko) 패킷 망에서의 프레임 손실 은닉 방법 및 장치
JP4403103B2 (ja) 音声信号パケット通信方法、多地点ミキシング方法、およびそれらを利用したシステム、装置
JP2002252644A (ja) 音声パケット通信装置及び音声パケット通信方法
JP4985743B2 (ja) 音声符号変換方法
KR20050027272A (ko) 스피치 프레임들의 에러 경감을 위한 스피치 통신 유닛 및방법
US20030055515A1 (en) Header for signal file temporal synchronization
JP2001296898A (ja) ハミング距離を利用した音声符号化方式及び音声伝送システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110603

R150 Certificate of patent or registration of utility model

Ref document number: 4758687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees