説明

VoIP通信装置

【課題】通話の途切れやノイズを生じさせること無く通話中に音声コーデックを切り替えることができるVoIP通信装置を提供する。
【解決手段】受信RTPパケットに含まれる音声データを設定コーデックに従って復号する復号部と、少なくとも2つの非音声データの各々にコーデック識別子を対応付けて記憶するコーデックテーブルと、当該受信RTPパケットに含まれるデータが当該非音声データのうちの1つと同一であると判別した場合にこれに対応するコーデック識別子を当該コーデックテーブルから変更コーデック識別子として取得する変更コーデック識別子取得部と、当該受信RTPパケットに含まれる変更シーケンス番号を取得する変更シーケンス番号取得部と、を含み、当該復号部は、当該受信RTPパケットに後続して到来した後続RTPパケットに含まれるシーケンス番号と当該変更シーケンス番号とが一致したときに当該変更コーデック識別子に対応するコーデックを当該設定コーデックとするVoIP通信装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信網を介してRTP(Real-time Transport Protocol)パケットのストリームを送受信するVoIP通信装置に関する。
【背景技術】
【0002】
一般に、インターネットやイントラネット等のIPネットワーク上で音声通信を行う場合、VoIP(Voice over Internet Protocol)ルータやIP電話端末がSIP(Session Initiation Protocol)通信プロトコルのINVITEメッセージに音声コーデック種別を含めて対向装置へ送信し、通話セッションを確立するためのいわゆるネゴシエーションを行う。そして、そのネゴシエーションにより決定された音声コーデックに従って音声通信がなされる。例えば特許文献1には、音声通話開始前にユーザが任意に音声コーデックを指定して通話を行う音声コーデック指定方式が開示されている。ところで、従来、通話中にコーデックを変更する場合にも同様に、SIPのINVITEメッセージに音声コーデック種別を含めてネゴシエーションしていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−283667号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、SIPのINVITEメッセージを用いたネゴシエーションによって通話中に音声コーデックを変更する方法の場合、自装置と対向装置との間のネゴシエーションが完了した時点で音声コーデックを切り替えることになるので、音声RTPストリームの受信側(音声RTPパケットをデコードする側)の装置では、その音声RTPストリームを構成する音声RTPパケットのうちのどのパケットからが、切り替え後の音声コーデックに対応するものなのかを厳密に判断することができなかった。ゆえに、音声RTPパケットをデコードできない期間が生じ、通話の途切れやノイズが発生してしまうという問題点があった。
【0005】
本発明は上記した如き問題点に鑑みてなされたものであって、通話の途切れやノイズを生じさせること無く通話中に音声コーデックを切り替えることができるVoIP通信装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明によるVoIP通信装置は、通信網を介してRTPパケットのストリームを送受信するVoIP通信装置であって、前記通信網を介して到来した受信RTPパケットに含まれる音声データを設定コーデックに従って復号する復号部と、少なくとも2つの非音声データの各々にコーデック識別子を対応付けて記憶するコーデックテーブルと、前記受信RTPパケットに含まれるデータが前記非音声データのうちの1つと同一であると判別した場合にこれに対応するコーデック識別子を前記コーデックテーブルから変更コーデック識別子として取得する変更コーデック識別子取得部と、前記受信RTPパケットに含まれる変更シーケンス番号を取得する変更シーケンス番号取得部と、を含み、前記復号部は、前記受信RTPパケットに後続して到来した後続RTPパケットに含まれるシーケンス番号と前記変更シーケンス番号とが一致したときに前記変更コーデック識別子に対応するコーデックを前記設定コーデックとすることを特徴とする。
【0007】
本発明によるVoIP通信装置は、通信網を介してRTPパケットのストリームを送受信するVoIP通信装置であって、電話端末からの音声データを設定コーデックに従って符合化して符号化音声データを得る符号化部と、1パケット分の前記符号化音声データが生成される毎にカウントしてシーケンス番号を生成するカウンタと、前記符号化音声データとこれに対応するシーケンス番号とを含む送信RTPパケットを生成する送信RTPパケット生成部と、前記送信RTPパケットを前記通信網へ送出するRTPパケット送出部と、少なくとも2つの非音声データの各々にコーデック識別子を対応付けて記憶するコーデックテーブルと、外部からのコーデック切替指示に応じて当該コーデック切替指示に含まれるコーデック識別子に対応する非音声データと同一のデータを送信非音声データとして生成する送信非音声データ生成部と、を含み、前記RTPパケット生成部は、前記コーデック切替指示があった場合に前記符号化音声データに代えて前記送信非音声データを前記送信RTPパケットに含め且つ前記符号化音声データに対応するシーケンス番号に代えて当該シーケンス番号に所定値を加算して得られた変更シーケンス番号を前記送信RTPパケットに含めることを特徴とする。
【発明の効果】
【0008】
本発明によるVoIP通信装置によれば、通話の途切れやノイズを生じさせること無く通話中に音声コーデックを切り替えることができる。
【図面の簡単な説明】
【0009】
【図1】第1の実施例のVoIP通信装置を電話端末及び通信網と共に表すブロック図である。
【図2】コーデックテーブルの一例を表す図である。
【図3】音声コーデック変更処理における各装置の動作を表すシーケンス図である。
【図4】第2の実施例のVoIP通信装置を電話端末及び通信網と共に表すブロック図である。
【発明を実施するための形態】
【0010】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
【0011】
<第1の実施例>
図1は、本実施例のVoIP通信装置1及び2を電話端末3及び4、通信網5と共に表すブロック図である。VoIP通信装置1は、呼発信に応じて通話セッションを確立し、当該通話セッションにおいて音声データをRTPパケットのストリームとして通信網5を介して送受信する例えばVoIPルータ等の装置である。VoIP通信装置2もVoIP通信装置1と同じ構成である。以下、VoIP通信装置1を自装置、VoIP通信装置2を対向装置と適宜称する。電話端末3及び4の各々は例えばアナログ電話端末である。通信網5は、例えばインターネットやイントラネット等のIPネットワークである。なお、本実施例における電話端末の個数は2つであるがこれに限られない。
【0012】
VoIP通信装置1は、VoIP部10と、SLIC(Subscriber Line Interface Circuit)20と、WAN(Wide Area Network)ポート30と、DSP(Digital Signal Processor)40と、非音声データ制御部50と、RTP制御部60と、を含む。
【0013】
VoIP部10は、電話端末2又は対向装置からの呼発信に応じて、SIP通信プロトコルに従って通話セッションの確立や終了等のセッション管理処理を行う。また、VoIP部10は、通話セッション確立時に実行するネゴシエーションにおいて決定した音声コーデックを非音声データ制御部50へ通知する。
【0014】
SLIC20は、VoIP部10及びDSP40と電話端末2との間のインターフェースとして動作するいわゆる加入者線インターフェース回路である。
【0015】
WANポート30は、RTP制御部60と通信網5との間のインターフェースとしての通信ポートである。
【0016】
DSP40は、音声データの符号化及び復号化処理を行うプロセッサであり、エンコーダ41と、デコーダ42と、を含む。エンコーダ41は、SLIC20から供給された音声信号を、設定コーデックに従ってエンコードして符号化音声データを生成する。エンコーダ41は、RTPパケット生成部62から通知された音声コーデックを設定コーデックとする。また、エンコーダ41は、RTPパケット生成部62から通知された変更シーケンス番号に基づいてコーデックの変更タイミングを決定する。
【0017】
デコーダ42は、RTP制御部60から供給された音声データを、設定コーデックに従ってデコードして復号化音声信号を生成する。デコーダ42は、変更コーデック識別子取得部65から通知された音声コーデックを設定コーデックとする。また、デコーダ42は、シーケンス番号取得部66から通知された変更シーケンス番号に基づいてコーデックの変更タイミングを決定する。
【0018】
非音声データ制御部50は、非音声RTPデータの生成等の処理を行うものであり、コーデックテーブル51と、送信非音声データ生成部52と、を含む。
【0019】
コーデックテーブル51は、コーデック種別識別子と、非音声データとを対応付けられたテーブルである。コーデックテーブル51は、例えばハードディスクやRAMなどの記憶媒体である。図2は、コーデックテーブル51の一例を表す図である。「コーデック種別識別子」は、例えばG.711μ−lowやG.711A−lowなどの音声コーデックの種別を識別するための識別子である。「非音声データ」は、RTPパケットに含まれるデータが非音声データであると対向装置が認識可能なデータであり、例えばG.711符号化規格において無音を示すデータとして定められている0x7F及び0xFFからなるデータである。ここでは、例としてコーデック種別識別子G.711μ−lowと非音声データ0xFFFFFFFFとが対応付けられ、コーデック種別識別子G.711A−lowと非音声データ0xFFFFFF7Fとが対応付けられている。
【0020】
送信非音声データ生成部52は、外部からのコーデック切替指示に応じてコーデックテーブル51を参照し、当該コーデック切替指示に含まれるコーデック識別子に対応する非音声データと同一のデータを送信非音声データとして生成する。送信非音声データ生成部52は、送信非音声データをRTP制御部60のRTPパケット生成部62へ供給する。
【0021】
RTP制御部60は、RTPストリームを送受信するものであり、カウンタ61と、RTPパケット生成部62と、RTPパケット送出部63と、RTPパケット受信部64と、変更コーデック識別子取得部65と、シーケンス番号取得部66と、を含む。RTP制御部60は、例えばマイクロプロセッサで構成される。
【0022】
カウンタ61は、DSP40のエンコーダ41が1パケット分の符号化音声データを生成する毎に1ずつカウントしてシーケンス番号を生成する。
【0023】
RTPパケット生成部62は、通話セッションが確立しているときには、エンコーダ41によって生成された符号化音声データと、これに対応するシーケンス番号とを含む音声RTPパケットを生成する。RTPパケット生成部62は、通話セッション確立直後には、シーケンス番号を初期値として乱数で生成し、音声RTPパケットに含める。(一例として、以降、通話開始時の初期値は、”0”として記す。)
【0024】
RTPパケット生成部62は、送信非音声データ生成部52から送信非音声データを供給された場合には、符号化音声データに代えて当該送信非音声データを送信RTPパケットに含める。また、この場合には、RTPパケット生成部62は、当該符号化音声データに対応するシーケンス番号に代えて当該シーケンス番号に所定値を加算して得られた変更シーケンス番号を送信RTPパケットに含める。RTPパケット生成部62は、送信非音声データ生成部52から送信非音声データを供給された時点におけるカウンタ61のシーケンス番号が例えば49850であった場合、49850に例えば150などの所定値を加算して得られた50000を変更シーケンス番号として送信RTPパケットに含める。
【0025】
RTPパケット生成部62は、送信非音声データ生成部52から送信非音声データを供給された際、コーデックテーブル51を参照して当該送信非音声データに対応する音声コーデックをエンコーダ41へ通知する。また、RTPパケット生成部62は、変更シーケンス番号をエンコーダ41へ通知する。
【0026】
RTPパケット送出部63は、RTPパケット生成部62によって生成された送信RTPパケットをWANポート30から音声RTPストリームとして通信網5へ送出する。
【0027】
RTPパケット受信部64は、通信網5からRTPストリームとして到来したRTPパケットを受信する。以下、当該受信したRTPパケットを受信RTPパケットと称する。RTPパケット受信部64は、受信RTPパケットに含まれる符号化音声データをデコーダ42へ与える。
【0028】
変更コーデック識別子取得部65は、受信RTPパケットに含まれるデータがコーデックテーブル51の非音声データのうちの1つと同一であると判別した場合に、これに対応するコーデック識別子をコーデックテーブル51から変更コーデック識別子として取得する。そして、変更コーデック識別子取得部65は、変更コーデック識別子に対応する音声コーデックをデコーダ42に通知する。
【0029】
シーケンス番号取得部66は、受信RTPパケットに含まれるシーケンス番号を取得し、これをデコーダ42に通知する。また、シーケンス番号取得部66は、受信RTPパケットに含まれるデータがコーデックテーブル51の非音声データのうちの1つと同一であると判別した場合には、受信RTPパケットに含まれるシーケンス番号を変更シーケンス番号としてデコーダ42に通知する。
【0030】
図3は、音声コーデック変更処理における各装置の動作を表すシーケンス図である。以下、図3を参照しつつ、音声コーデック変更処理における各装置の動作について説明する。なお、対向装置であるVoIP通信装置2については電話端末4と一体として図示している。
【0031】
先ず、電話端末3がVoIP通信装置1へ呼発信する(ステップS1)。以下、VoIP通信装置1の処理について説明する。
【0032】
VoIP部10は、対向装置との間でSIP通信プロトコルに従って通話セッション確立処理を実行する(ステップS2〜S3)。この際、VoIP部10は、音声コーデックとしてG.711μ−lowを対向装置に通知し、両装置のネゴシエーションにより、当該通話セッションにおいて使用する音声コーデックがG.711μ−lowに決定される。VoIP部10は、G.711μ−lowを非音声データ制御部50へ通知する。
【0033】
送信非音声データ生成部52は、当該通知に応じてコーデックテーブル51を参照し、G.711μ−lowに対応する非音声データ0xFFFFFFFFと同一のデータを送信非音声データとして生成する。送信非音声データ生成部52は、送信非音声データ(0xFFFFFFFF)をRTP制御部60へ与える。RTPパケット生成部62は、当該送信非音声データと、初期値0のシーケンス番号とを含む非音声RTPパケットを生成する。RTPパケット送出部63はこれをWANポート30から通信網5へ送出する(ステップS4)。
【0034】
RTPパケット生成部62は、コーデックテーブル51を参照して当該送信非音声データ0xFFFFFFFFに対応する音声コーデックG.711μ−lowをエンコーダ41へ通知する。この際、RTPパケット生成部62は、初期値”0”のシーケンス番号を変更シーケンス番号としてエンコーダ41へ通知する。
【0035】
エンコーダ41は、カウンタ61のシーケンス番号”0”と変更シーケンス番号”0”とが一致したときに、RTPパケット生成部62から既に通知された音声コーデックG.711μ−lowを設定コーデックとする。その後、エンコーダ41は、設定コーデックG.711μ−lowに従って音声信号を順次エンコードし、符号化音声データを生成する。カウンタ61は、エンコーダ41が1パケット分の符号化音声データを生成する毎に1ずつカウントしてシーケンス番号を生成する。
【0036】
RTPパケット生成部62は、エンコーダ41によって生成された符号化音声データと、これに対応するシーケンス番号とを含む音声RTPパケットを生成する。RTPパケット送出部63は、これをWANポート30から音声RTPストリームとして通信網5へ送出する。以上の処理により、VoIP通信装置1から対向装置側へ、音声コーデックG.711μ−lowを用いてエンコードされた音声RTPストリームが送信される(ステップS6)。
【0037】
一方、対向装置であるVoIP通信装置2は、VoIP通信装置1からの非音声RTPパケットを受信する(ステップS4)。以下、VoIP通信装置2の処理について説明する。
【0038】
RTPパケット受信部64は、通信網5からRTPストリームとして到来したRTPパケットをWANポート30を介して受信する。当該受信RTPパケットには、データ0xFFFFFFFFが含まれている。変更コーデック識別子取得部65は、データ0xFFFFFFFFがコーデックテーブル51の非音声データのうちの1つと同一であると判別し、これに対応するコーデック識別子G.711μ−lowをコーデックテーブル51から変更コーデック識別子として取得する。変更コーデック識別子取得部65は、変更コーデック識別子に対応する音声コーデックG.711μ−lowを変更音声コーデックとしてデコーダ42に通知する。
【0039】
また、シーケンス番号取得部66は、受信RTPパケットに含まれるデータ0xFFFFFFFFがコーデックテーブル51の非音声データのうちの1つと同一であると判別し、当該受信RTPパケットに含まれるシーケンス番号”0”を取得してこれを変更シーケンス番号としてデコーダ42に通知する。
【0040】
ステップS2〜S3の処理によって通話セッションが確立されているので、VoIP通信装置2は、上記した受信RTPパケットに後続する音声RTPパケット(以下、後続RTPパケットとも称する)をVoIP通信装置1から順次受信する。RTPパケット受信部64は、受信RTPパケットに含まれる音声データをデコーダ42へ順次供給し、シーケンス番号取得部66は、受信RTPパケットに含まれるシーケンス番号をデコーダ42へ順次供給する。
【0041】
デコーダ42は、シーケンス番号取得部66から供給されるシーケンス番号”0”が変更シーケンス番号”0”と一致したときに、変更コーデック識別子取得部65から既に通知された変更音声コーデックG.711μ−lowを設定コーデックとする。以降、デコーダ42は、RTPパケット受信部64から順次供給される音声データを、当該設定コーデックに従ってデコードして復号化音声信号を生成する。このように、VoIP通信装置2は、VoIP通信装置1から送信された音声RTPストリームを音声コーデックG.711μ−lowを用いてデコードする(ステップS6)。
【0042】
また、上記したのと同様の処理により、VoIP通信装置2からVoIP通信装置1へ非音声データ及びシーケンス番号が通知され(ステップS5)、VoIP通信装置2からVoIP通信装置1への音声RTPストリームの送信も開始される(ステップS6)。
【0043】
その後、例えば電話端末3の通話者が通話音質の改善等を目的として音声コーデックを変更する旨の指示(以下、コーデック変更指示と称する)をVoIP通信装置1のVoIP部10に与える(ステップS7)。以下、VoIP通信装置1の処理について説明する。
【0044】
VoIP部10は、コーデック変更指示に応じて、対向装置との間でSIP通信プロトコルに従って通話セッション確立処理を実行する(ステップS8〜S9)。この際、VoIP部10は、音声コーデックとしてG.711A−lowを対向装置に通知し、両装置のネゴシエーションにより、当該通話セッションにおいて使用する音声コーデックがG.711A−lowに決定される。VoIP部10は、G.711A−lowを非音声データ制御部50へ通知する。
【0045】
送信非音声データ生成部52は、当該通知に応じてコーデックテーブル51を参照し、G.711A−lowに対応する非音声データ0xFFFFFF7Fと同一のデータを送信非音声データとして生成する。送信非音声データ生成部52は、送信非音声データ(0xFFFFFF7F)をRTP制御部60へ与える。RTPパケット生成部62は、送信非音声データ生成部52から送信非音声データを供給された時点におけるカウンタ61のシーケンス番号が例えば49850であった場合、49850に例えば150などの所定値を加算して得られた50000を変更シーケンス番号とする。RTPパケット生成部62は、送信非音声データと、変更シーケンス番号”50000”とを含む非音声RTPパケットを生成する。RTPパケット送出部63はこれをWANポート30から通信網5へ送出する(ステップS10)。
【0046】
RTPパケット生成部62は、コーデックテーブル51を参照して当該送信非音声データ0xFFFFFF7Fに対応する音声コーデックG.711A−lowをエンコーダ41へ通知する。この際、RTPパケット生成部62は、変更シーケンス番号”50000”を変更シーケンス番号としてエンコーダ41へ通知する。
【0047】
エンコーダ41は、カウンタ61のシーケンス番号”50000”と変更シーケンス番号”50000”とが一致したときに、RTPパケット生成部62から既に通知された音声コーデックG.711A−lowを設定コーデックとする。その後、エンコーダ41は、設定コーデックG.711A−lowに従って音声信号を順次エンコードし、符号化音声データを生成する。カウンタ61は、エンコーダ41が1パケット分の符号化音声データを生成する毎に1ずつカウントしてシーケンス番号を生成する。
【0048】
RTPパケット生成部62は、エンコーダ41によって生成された符号化音声データと、これに対応するシーケンス番号とを含む音声RTPパケットを生成する。RTPパケット送出部63は、これをWANポート30から音声RTPストリームとして通信網5へ送出する。以上の処理により、VoIP通信装置1においては、シーケンス番号が”0”から”49999”までの音声信号については、音声コーデックG.711μ−lowを用いてエンコードし(ステップS12)、シーケンス番号が”50000”以降の音声信号については、音声コーデックG.711A−lowを用いてエンコードする(ステップS13)。
【0049】
一方、対向装置であるVoIP通信装置2は、VoIP通信装置1からの非音声RTPパケットを受信する(ステップS10)。以下、VoIP通信装置2の処理について説明する。
【0050】
RTPパケット受信部64は、通信網5からRTPストリームとして到来したRTPパケットをWANポート30を介して受信する。当該受信RTPパケットには、データ0xFFFFFF7Fが含まれている。変更コーデック識別子取得部65は、データ0xFFFFFF7Fがコーデックテーブル51の非音声データのうちの1つと同一であると判別し、これに対応するコーデック識別子G.711A−lowをコーデックテーブル51から変更コーデック識別子として取得する。変更コーデック識別子取得部65は、変更コーデック識別子に対応する音声コーデックG.711A−lowを変更音声コーデックとしてデコーダ42に通知する。
【0051】
また、シーケンス番号取得部66は、受信RTPパケットに含まれるデータ0xFFFFFF7Fがコーデックテーブル51の非音声データのうちの1つと同一であると判別し、当該受信RTPパケットに含まれるシーケンス番号”50000”を取得してこれを変更シーケンス番号としてデコーダ42に通知する。
【0052】
ステップS8〜S39の処理によって通話セッションが確立されているので、VoIP通信装置2は、VoIP通信装置1からの音声RTPパケットを順次受信する。RTPパケット受信部64は、受信RTPパケットに含まれる音声データをデコーダ42へ順次供給し、シーケンス番号取得部66は、受信RTPパケットに含まれるシーケンス番号をデコーダ42へ順次供給する。
【0053】
デコーダ42は、シーケンス番号取得部66から供給されるシーケンス番号”50000”が変更シーケンス番号”50000”と一致したときに、変更コーデック識別子取得部65から既に通知された変更音声コーデックG.711A−lowを設定コーデックとする。以降、デコーダ42は、RTPパケット受信部64から順次供給される音声データを、当該設定コーデックに従ってデコードして復号化音声信号を生成する。
【0054】
このように、VoIP通信装置2は、シーケンス番号が”0”から”49999”までの受信パケットについては、音声コーデックG.711μ−lowを用いてデコードし(ステップS12)、シーケンス番号が”50000”以降の受信パケットについては、音声コーデックG.711A−lowを用いてデコードする(ステップS13)。
【0055】
また、上記したのと同様の処理により、VoIP通信装置2からVoIP通信装置1へ非音声データ及び変更シーケンス番号が通知される(ステップS11)。そして、同様にシーケンス番号が”0”から”49999”までの受信パケットについては、音声コーデックG.711μ−lowを用いた通信がなされ(ステップS12)、シーケンス番号が”50000”以降の受信パケットについては、音声コーデックG.711A−lowを用いた通信がなされる(ステップS13)。
【0056】
上記したように、本実施例のVoIP通信装置1は、シーケンス番号を含む音声RTPパケットを対向装置との間で送受信する。そして、VoIP通信装置1は、設定音声コーデックを用いて音声信号のエンコード及び音声データのデコードを行う。外部からのコーデック変更指示があった場合、VoIP通信装置1は、当該指示に対応する変更音声コーデック種別と変更シーケンス番号とをエンコーダに通知する。変更シーケンス番号は、現在のカウンタ値に所定値を加算して得られた値である。また、VoIP通信装置1は、当該変更音声コーデック種別に対応する非音声データと、当該変更シーケンス番号とを含むRTPパケットを生成してこれを対向装置に送信する。非音声データは、音声コーデック種別と非音声データとを対応付けたコーデックテーブルに基づいて生成される。これにより、VoIP通信装置1及び対向装置の双方が変更音声コーデックの種別及び音声コーデックの変更タイミングを認識できる。
【0057】
VoIP通信装置1は、自身が備えるカウンタ61によって生成されたシーケンス番号が当該変更シーケンス番号に一致したときから、変更音声コーデックを用いて音声信号をエンコードし、得られた符号化音声データを音声RTPパケットにより対向装置に送信する。また、対向装置は、VoIP通信装置1から送信された音声RTPパケットのシーケンス番号が当該変更シーケンス番号に一致したときから、変更音声コーデックを用いて符号化音声データをデコードする。例えばVoIP通信装置1は、シーケンス番号”50000”から音声コーデックG.711A−lowでエンコードしこれを対向装置に送信する。また、VoIP通信装置1は、音声コーデックG.711A−lowに対応する非音声RTPデータとシーケンス番号”50000”とを非音声RTPパケットにより対向装置に通知する。対向装置側では、シーケンス番号”50000”以降の受信パケットに含まれる符号化音声信号を、当該非音声RTPデータに対応する音声コーデックG.711A−lowを用いてデコードする。
【0058】
このように、対向装置が設定コーデックと異なる音声コーデックにより符号化された音声データを受信することがないように音声コーデックの切り替えタイミングを調整するので、通話の途切れやノイズを生じさせること無く通話中に音声コーデックを切り替えることができる。
【0059】
<第2の実施例>
図4は、本実施例のVoIP通信装置1及び2を電話端末3及び4、通信網5と共に表すブロック図である。以下、第1の実施例と異なる部分について主に説明する。動作シーケンスは図3に示されるものと同一である。
【0060】
VoIP通信装置1におけるエンコーダ41は、送信非音声データ生成部52と、カウンタ61と、RTPパケット生成部62とを非音声データ挿入機能43として含む。また、デコーダ42は、変更コーデック識別子取得部65と、シーケンス番号取得部66とを非音声データ解析機能44として含む。VoIP通信装置2もVoIP通信装置1と同じ構成である。
【0061】
以下、図3を参照しつつ、音声コーデック変更処理について説明する。先ず、VoIP通信装置1の処理について説明する。VoIP通信装置1のVoIP部10は、SIP通信プロトコルに従って通話セッション確立した後(ステップS2〜S3)、当該通話セッションにおいて使用する音声コーデックG.711μ−lowをエンコーダ41に通知する。非音声データ挿入機能43は、当該通知に応じて当該コーデックを用いて変換を開始するシーケンス番号を”0”と決定する。また、非音声データ挿入機能43は、コーデックテーブル51を参照し、音声コーデックG.711μ−lowに対応する非音声データ0xFFFFFFFFを生成する。また、非音声データ挿入機能43は、非音声データ0xFFFFFFFF及びシーケンス番号を”0”を含む非音声パケットを生成し、これをRTP制御部60へ与える。RTP制御部60は、DSP40から受け取った非音声パケットをそのまま対向装置へと送信する(ステップS4)。その後、音声コーデックG.711μ−lowを用いて符号化された符号化音声データを含む音声RTPパケットがRTP制御部60から順次送信される(ステップS6)。
【0062】
一方、対向装置であるVoIP通信装置2は、VoIP通信装置1からの非音声RTPパケットを受信する(ステップS4)。以下、VoIP通信装置2の処理について説明する。非音声データ解析機能44は、コーデックテーブル51を参照し、非音声RTPパケットに含まれる非音声データ0xFFFFFFFFに対応する音声コーデックG.711μ−lowと、シーケンス番号”0”とを取得する。そして、非音声データ解析機能44は、シーケンス番号”0”の受信パケットから、音声コーデックG.711μ−lowを用いたデコードを行う。これによって、VoIP通信装置1との間で、音声コーデックG.711μ−lowを用いた通信が開始される。
【0063】
また、上記したのと同様の処理により、VoIP通信装置2からVoIP通信装置1へ非音声データ及びシーケンス番号が通知され(ステップS5)、VoIP通信装置2からVoIP通信装置1への音声RTPストリームの送信も開始される(ステップS6)。
【0064】
その後、外部からのコーデック変更指示がVoIP通信装置1のVoIP部10に与えられる(ステップS7)。以下、VoIP通信装置1の処理について説明する。
【0065】
VoIP部10は、コーデック変更指示に応じて、SIP通信プロトコルに従って通話セッション確立した後(ステップS8〜S9)、当該通話セッションにおいて使用する音声コーデックG.711A−lowをエンコーダ41に通知する。非音声データ挿入機能43は、当該通知に応じて当該コーデックを用いて変換を開始するシーケンス番号を”50000”と決定する。当該シーケンス番号は、現在のシーケンス番号に例えば150などの所定値を加算して得られたものである。また、非音声データ挿入機能43は、コーデックテーブル51を参照し、音声コーデックG.711A−lowに対応する非音声データ0xFFFFFF7Fを生成する。また、非音声データ挿入機能43は、非音声データ0xFFFFFF7F及びシーケンス番号を”50000”を含む非音声パケットを生成し、これをRTP制御部60へ与える。RTP制御部60は、DSP40から受け取った非音声パケットをそのまま対向装置へと送信する(ステップS10)。以上の処理により、VoIP通信装置1においては、シーケンス番号が”0”から”49999”までの音声信号については、音声コーデックG.711μ−lowを用いてエンコードし(ステップS12)、シーケンス番号が”50000”以降の音声信号については、音声コーデックG.711A−lowを用いてエンコードする(ステップS13)。
【0066】
一方、対向装置であるVoIP通信装置2は、VoIP通信装置1からの非音声RTPパケットを受信する(ステップS10)。以下、VoIP通信装置2の処理について説明する。非音声データ解析機能44は、コーデックテーブル51を参照し、非音声RTPパケットに含まれる非音声データ0xFFFFFF7Fに対応する音声コーデックG.711A−lowと、シーケンス番号”50000”とを取得する。このように、VoIP通信装置2は、シーケンス番号が”0”から”49999”までの受信パケットについては、音声コーデックG.711μ−lowを用いてデコードし(ステップS12)、シーケンス番号が”50000”以降の受信パケットについては、音声コーデックG.711A−lowを用いてデコードする(ステップS13)。
【0067】
また、上記したのと同様の処理により、VoIP通信装置2からVoIP通信装置1へ非音声データ及び変更シーケンス番号が通知される(ステップS11)。そして、同様にシーケンス番号が”0”から”49999”までの受信パケットについては、音声コーデックG.711μ−lowを用いた通信がなされ(ステップS12)、シーケンス番号が”50000”以降の受信パケットについては、音声コーデックG.711A−lowを用いた通信がなされる(ステップS13)。
【0068】
上記したように、本実施例のVoIP通信装置1におけるDSP40はコーデックテーブル51を備え、エンコーダ41は非音声データ挿入機能43を備え、デコーダ42は非音声データ解析機能44を備える。そして、非音声RTPパケットにより音声コーデック種別と変更シーケンス番号を対向装置に通知する。かかる構成により、対向装置のDSP40が設定コーデックと異なる音声コーデックにより符号化された音声データを受信することがなくなる。ゆえに、VoIP通話中におけるコーデック変更の際にも、通話の途切れや雑音が生じさせないという効果を奏する。
【符号の説明】
【0069】
1、2 VoIP通信装置
3、4 電話端末
5 通信網
10 VoIP部
20 SLIC
30 WANポート
40 DSP
41 エンコーダ
42 デコーダ
43 非音声データ挿入機能
44 非音声データ解析機能
50 非音声データ制御部
51 コーデックテーブル
52 送信非音声データ生成部
60 RTP制御部
61 カウンタ
62 RTPパケット生成部
63 RTPパケット送出部
64 RTPパケット受信部
65 変更コーデック識別子取得部
66 シーケンス番号取得部

【特許請求の範囲】
【請求項1】
通信網を介してRTPパケットのストリームを送受信するVoIP通信装置であって、
前記通信網を介して到来した受信RTPパケットに含まれる音声データを設定コーデックに従って復号する復号部と、
少なくとも2つの非音声データの各々にコーデック識別子を対応付けて記憶するコーデックテーブルと、
前記受信RTPパケットに含まれるデータが前記非音声データのうちの1つと同一であると判別した場合にこれに対応するコーデック識別子を前記コーデックテーブルから変更コーデック識別子として取得する変更コーデック識別子取得部と、
前記受信RTPパケットに含まれる変更シーケンス番号を取得する変更シーケンス番号取得部と、を含み、
前記復号部は、前記受信RTPパケットに後続して到来した後続RTPパケットに含まれるシーケンス番号と前記変更シーケンス番号とが一致したときに前記変更コーデック識別子に対応するコーデックを前記設定コーデックとすることを特徴とするVoIP通信装置。
【請求項2】
前記コーデック識別子に対応するコーデックは、G.711符号化規格のコーデックであることを特徴とする請求項1に記載のVoIP通信装置。
【請求項3】
前記非音声データは、G.711符号化規格における無音データであることを特徴とする請求項1に記載のVoIP通信装置。
【請求項4】
通信網を介してRTPパケットのストリームを送受信するVoIP通信装置であって、
電話端末からの音声データを設定コーデックに従って符合化して符号化音声データを得る符号化部と、
1パケット分の前記符号化音声データが生成される毎にカウントしてシーケンス番号を生成するカウンタと、
前記符号化音声データとこれに対応するシーケンス番号とを含む送信RTPパケットを生成する送信RTPパケット生成部と、
前記送信RTPパケットを前記通信網へ送出するRTPパケット送出部と、
少なくとも2つの非音声データの各々にコーデック識別子を対応付けて記憶するコーデックテーブルと、
外部からのコーデック切替指示に応じて当該コーデック切替指示に含まれるコーデック識別子に対応する非音声データと同一のデータを送信非音声データとして生成する送信非音声データ生成部と、を含み、
前記RTPパケット生成部は、前記コーデック切替指示があった場合に前記符号化音声データに代えて前記送信非音声データを前記送信RTPパケットに含め且つ前記符号化音声データに対応するシーケンス番号に代えて当該シーケンス番号に所定値を加算して得られた変更シーケンス番号を前記送信RTPパケットに含めることを特徴とするVoIP通信装置。
【請求項5】
前記コーデック識別子に対応するコーデックは、G.711符号化規格のコーデックであることを特徴とする請求項4に記載のVoIP通信装置。
【請求項6】
前記非音声データは、G.711符号化規格における無音データであることを特徴とする請求項4に記載のVoIP通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−211624(P2011−211624A)
【公開日】平成23年10月20日(2011.10.20)
【国際特許分類】
【出願番号】特願2010−79165(P2010−79165)
【出願日】平成22年3月30日(2010.3.30)
【出願人】(308033722)株式会社OKIネットワークス (165)
【Fターム(参考)】