信号方式変換装置及び信号方式変換プログラム
【課題】DTMF信号の信号方式変換処理において、DTMF信号の送信中に、デジット値の変化があった場合でも正しくDTMF信号を出力できるようにする。
【解決手段】本発明の信号方式変換装置は、入力された音声信号に基づいて第1の周波数重畳信号を検出する周波数重畳信号検出手段と、第1の周波数重畳信号に基づいて、所定の信号方式の第2の周波数重畳信号を作成する信号作成手段とを備え、信号作成手段は、デジット値が変化したときに、変化前のデジット値に関連する第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する第2の周波数重畳信号を作成するものである。
【解決手段】本発明の信号方式変換装置は、入力された音声信号に基づいて第1の周波数重畳信号を検出する周波数重畳信号検出手段と、第1の周波数重畳信号に基づいて、所定の信号方式の第2の周波数重畳信号を作成する信号作成手段とを備え、信号作成手段は、デジット値が変化したときに、変化前のデジット値に関連する第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する第2の周波数重畳信号を作成するものである。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号方式変換装置及び信号方式変換プログラムに関するものであり、例えば、ネットワーク境界の設けられるセッションボーダーコントローラに適用し得るものである。
【背景技術】
【0002】
例えば、固定通信網と移動通信網との間や、それぞれ異なる通信事業者の通信網間等で、円滑な通信を実現するために、各通信網で使用される様々な音声、映像、データ等の信号形式(例えば、符号化形式等)を変換するメディア変換が必要となる(特許文献1参照)。
【0003】
例えば、図2に例示するように、A事業者の通信網(A事業者網)とB事業者の通信網(B自事業者網)との間で行う音声通信を考える。
【0004】
A事業者網では音声符号化形式としてA形式を採用した音声データAを扱い、B事業者網では音声符号化形式としてB形式を採用した音声データBを扱うとする。この場合、音声符号化形式が異なるので、A事業者網とB事業者網との間の音声通話は不可能である。
【0005】
そこで、図2に示すように、A事業者網及びB事業者網間の境界にメディア変換装置91を設け、例えば、メディア変換装置91が、端末92からの音声データAを音声データBに変換し、B事業者網の端末93に送信することで、音声符号化形式が事業者網で異なっていても、相互に音声通信を可能とすることができる。
【0006】
同様に、A事業者網上の端末92とB事業者網上の端末93との間で、DTMF(Dial Tone Multi Frequency)信号を交換する場合がある。ここで、DTMF信号の交換方式は、接続される端末によって異なるものであり、事業者網で一意に統一されているわけではない。
【0007】
例えば、端末92は、圧縮された音声データ(例えば、G.711)中のインバウンドDTMF方式でDTMF信号を交換する端末であり、端末93は、例えばRFC2833に規定された方式(アウトバンドDTMF方式)でDTMF信号を交換する端末であるとする。RFC2833は、IP網上でDTMF信号を伝送する標準化技術が規定されている。
【0008】
このように、端末92はDTMF信号を音として交換する方式を取り、端末93はIP網上での規格化技術に従って交換する方式を取るとき、相互にDTMF信号の交換方式が異なるため、端末92と端末93との間でDTMF信号の交換が不可能となってしまう(特許文献2参照)。
【0009】
そこで、従来のメディア変換装置91は、端末92から圧縮された音声データAにインバウンドDTMFが含まれているか否かを検出し、インバウンドDTMF信号が含まれている場合には、その検出したインバウンドDTMFをアウトバンドDTMFに変換して端末93に送信している。これにより、端末間でDTMF信号の交換方式が異なる場合でも、DTMF信号の交換を可能としている。
【0010】
ここで、従来のメディア変換装置によるDTMF信号の交換方法を簡単に説明する。
【0011】
まず、端末92及び端末93は、SIPサーバーとの間で、例えばSIP(Session Initiation Protocol)等の呼メッセージの送受信することにより、呼を確立させて、通話状態になる。
【0012】
通話状態になると、端末92と端末93との間で、RTP(Real-time Transport Protocol)パケットによるパケット通信が実行されて、音声伝送がなされる。
【0013】
一般的に、端末(電話機)におけるボタン操作によりPB(Push Button)信号が発生し、PB信号は可聴音のDTMF信号である。例えば、端末92は、DTMF信号を、G.711で規格化された符号化方式で圧縮符号化して音声データとし、この音声データを含むRTPパケットを形成して、ネットワークに送信する。
【0014】
メディア変換装置91は、端末92からのRTPパケットを受信し、このRTPパケットに含まれる音声データを復号する。音声データは、復号されると、そのまま可聴信号、いわゆる音声帯域であるインバウンドの信号に変換される。
【0015】
DTMF信号も音声データであるから、メディア変換装置91が、端末92からインバウンドとして入力されるDTMF信号を検出した場合、メディア変換装置91は、例えば、図3に示すアウトバンドDTMFパケットのフォーマットに基づいて、インバウンドDTMF信号を、アウトバンドDTMFパケットに変換して端末93に送信する。なお、図3は、RFC2833で規定されているRTPパケットのフォーマットを示す構成図である。
【0016】
メディア変換装置91において、アウトバンドDTMFに変換する際に、メディア変換装置91は、端末92からのRTPパケットのRTPペイロード時間に基づいて、RFCパケットに規定されるパケットの数を決定する。
【0017】
つまり、メディア変換装置91は、RTPペイロード時間に基づいて、図3の「event」フィールドにデジット値をセットするRTP(DTMF)パケットの数と、図3の「E」ビットに「ON」をセットしてDTMF信号の終了を示すENDパケットの数とを決定する。そして、メディア変換装置91は、端末91からのRTPパケットに同期させて、形成したRFC2833のRTPパケットを端末93に送信する。
【0018】
例えば、メディア変換装置91は、図4に例示するテーブルを用いて、RTP(DTMF)パケットの数と、ENDパケットの数とを決定することができ、端末92のRTPペイロード時間が20msである場合には、RTP(DTMF)パケットを「4」個とENDパケットを「3」個とを形成して送信する。
【0019】
次に、インバウンドDTMFのデジット値が変化した場合、例えばデジット値が「1」から「2」に変化した場合のメディア変換装置91の従来処理を、図5を参照しながら説明する。
【0020】
端末92は、RTPペイロード時間が20msの通常音声RTPを行っているものとする。このときに、インバウンドDTMFが、端末92からメディア変換装置91に入力されたとする。
【0021】
図5に例示するように、メディア変換装置91は、実際にDTMF信号を検出するまでの時間(「検出Delay」)経過後、「event」フィールドにデジット値「1」をセットした4個のDTMFパケットを送信し、その後、「E」ビットを「ON」にした3個のENDパケットを送信する。
【0022】
そして、インバウンドDTMFのデジット値が「1」から「2」に変換されると、上記のデジット値「1」の7個のアウトバンドDTMFパケットを送信後、一旦、音声のRTPパケットを出力した後、デジット値「2」の7個のアウトバンドDTMFパケットを送信する。
【先行技術文献】
【特許文献】
【0023】
【特許文献1】特開2007−214989号公報
【特許文献2】特開2006−315222号公報
【発明の概要】
【発明が解決しようとする課題】
【0024】
しかしながら、メディア変換装置におけるアウトバンドDTMFパケットの出力シーケンス中にデジット値が変化した場合、変更前のデジット値を示すアウトバンドDTMFパケットが全部出力される前に、変更後のデジット値を示すアウトバウンドDTMFパケットが出力されてしまい、送信先の端末が正常にデジット値を認識できない場合が生じ得る。
【0025】
例えば、図6は、RTPペイロード時間が20msの通常音声RTPの後に、インバウンドDTMFのデジット値が「1」のDTMF信号が入力され、その7個のアウトバウンドDTMFパケットの出力シーケンス中に、インバウンドDTMFのデジット値が「1」から「2」に変化したとする。
【0026】
図6に示すように、デジット値「1」のアウトバウンドDTMFパケットの出力シーケンス中に、メディア変換装置91がデジット値「2」のDTMF信号を検出した場合、従来のメディア変換装置91は、デジット値「1」のアウトバンドDTMFパケットの出力を中止し、デジット値「2」のアウトバウンドDTMFパケットの出力を開始しなければならない。
【0027】
そのため、送信先の端末93は、メディア変換装置91からアウトバウンドDTMFパケットを受信しても、デジット値「1」のENDパケットを受信せずに、デジット値「2」のDTMFパケットを受信することとなり、デジット値が「1」と「2」とを正常に認識することができない。
【0028】
また、デジット値が変化した場合でも、例えばパケットロス等によりRTPパケットの遅延や、メディア変換装置内部での処理遅延を抑えることが望まれる。
【0029】
そのため、DTMF信号の信号方式変換処理において、形式変換後のDTMF信号の送信中に、DTMF信号のデジット値の変化があった場合でも、変換先の方式に従って、変化前と変化後のデジット値のDTMF信号を正しい方式にして出力することができる信号方式変換装置及び信号方式変換プログラムが求められている。
【課題を解決するための手段】
【0030】
かかる課題を解決するために、第1の本発明は、入力された音声信号に含まれる第1の周波数重畳信号を、所定の信号方式の第2の周波数重畳信号に変換する信号方式変換装置において、(1)入力された音声信号に基づいて第1の周波数重畳信号を検出する周波数重畳信号検出手段と、(2)周波数重畳信号検出手段により第1の周波数重畳信号のデジット値の変化が検出されると、変化前のデジット値に関連する第2の周波数重畳信号が送信中であるか否かを判定する判定手段と、(3)周波数重畳信号検出手段により検出された第1の周波数重畳信号に基づいて、所定の信号方式の第2の周波数重畳信号を作成する信号作成手段と、(4)信号作成手段により作成された第2の周波数重畳信号を含む信号を出力する出力手段とを備え、信号作成手段は、判定手段により、デジット値が変化したときに、変化前のデジット値に関連する第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する第2の周波数重畳信号を作成するものであることを特徴とする信号方式変換装置である。
【0031】
第2の本発明は、入力された音声信号に含まれる第1の周波数重畳信号を、所定の信号方式の第2の周波数重畳信号に変換する信号方式変換プログラムにおいて、コンピュータを、(1)入力された音声信号に基づいて第1の周波数重畳信号を検出する周波数重畳信号検出手段、(2)周波数重畳信号検出手段により第1の周波数重畳信号のデジット値の変化が検出されると、変化前のデジット値に関連する第2の周波数重畳信号が送信中であるか否かを判定する判定手段、(3)周波数重畳信号検出手段により検出された第1の周波数重畳信号に基づいて、所定の信号方式の第2の周波数重畳信号を作成する信号作成手段、(4)信号作成手段により作成された第2の周波数重畳信号を含む信号を出力する出力手段として機能させるものであり、信号作成手段が、判定手段により、デジット値が変化したときに、変化前のデジット値に関連する第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する第2の周波数重畳信号を作成するものであることを特徴とする信号方式変換プログラムである。
【発明の効果】
【0032】
本発明によれば、DTMF信号の形式変換処理において、形式変換後のDTMF信号の送信中に、DTMF信号のデジット値の変化があった場合でも、変換先の方式に従って、変化前と変化後のデジット値のDTMF信号を正しい方式にして出力することができる。
【図面の簡単な説明】
【0033】
【図1】第1の実施形態のネットワークの概略的な接続構成と、メディア変換装置の内部構成とを示す構成図である。
【図2】従来のメディア変換システムの構成図である。
【図3】RTPパケット(RFC2833)のフォーマットを示す構成図である。
【図4】RTPペイロード時間とDTMFパケット数及びENDパケット数とを対応付けた生成パケットテーブルの構成例を示す構成図である。
【図5】従来のDTMF信号の変換処理を説明する説明図である。
【図6】従来のDTMFパケットの出力シーケンス中にデジット値が変化したときの処理を説明する説明図である。
【図7】第1の実施形態のDTMF検出部における処理を示すフローチャートである(その1)。
【図8】第1の実施形態のDTMF検出部12における処理を示すフローチャートである(その2)。
【図9】第1の実施形態のDTMF検出部が作成するDTMFパケットのペイロードデータ例である。
【図10】第1の実施形態のDTMF検出部が作成するENDパケットのペイロードデータ例である。
【図11】第1の実施形態のアウトバンドDTMFパケットのリンクアドレスを説明する説明図である。
【図12】第1の実施形態のメディア変換装置における具体的な動作例を説明する説明図である。
【図13】第2の実施形態のネットワークの概略的な接続構成と、メディア変換装置の内部構成とを示す構成図である。
【発明を実施するための形態】
【0034】
(A)第1の実施形態
以下では、本発明の信号方式変換装置及び信号方式変換プログラムの第1の実施形態を、図面を参照しながら詳細に説明する。
【0035】
第1の実施形態は、それぞれ異なる複数の事業者網の境界に設けられたメディア変換装置が有する、インバウンドDTMFをアウトバウンドDTMFに変換するDTMF変換機能に、本発明を適用する場合を例示する。
【0036】
(A−1)第1の実施形態の構成
図1は、第1の実施形態のネットワークの概略的な接続構成と、メディア変換装置の内部構成とを示す構成図である。
【0037】
図1において、第1の実施形態のネットワーク10は、メディア変換装置1、端末21、端末22を有して構成される。
【0038】
端末21は、A事業者網上の通信端末であり、端末22は、B事業者網上の通信端末である。端末21及び22は、通話機能を有する通信端末であれば、様々なものを適用することができ、例えば、電話機、IP電話機、携帯電話機、パーソナルコンピュータ上でソフトウェア処理により実行される通話機能(いわゆるソフトフォン)等を適用することができる。
【0039】
ここで、DTMF信号の伝送方式について、端末21は、例えばG.711の符号化方式によりDTMF信号を音声データに変換する方式を採用するものとし、端末22は、RFC2833の規格化されたRTPパケットにより、DTMF信号を交換する方式を採用するものとする。
【0040】
端末21は、図1に示すように、音声入力部211、符号化部212を少なくとも有する。なお、図1には図示しないが、端末21は、パケットを形成する通信部等の通信端末としてのその他構成要素も備える。
【0041】
音声入力部211は、音声(音声波形)を入力し、音声信号を符号化部212に与えるものである。
【0042】
符号化部212は、音声入力部211から音声信号を受け取り、標本化、量子化、符号化等を行い、音声データを形成するものである。これにより、端末21は、符号化部212により形成された音声データを含むパケットを送出することができる。
【0043】
なお、端末21はDTMF信号を音として捉えて伝送するものであり、この実施形態では、符号化部212が、音声符号化方式の一例としてG.711方式を採用する場合を例示するが、その音声符号化方式は、G.711に限定されるものではなく、種々の音声符号化方式を適用することができる。
【0044】
端末22は、図1に示すように、音声復号部221、DTMF生成部222、音声出力部223を少なくとも有するものである。なお、端末22は、図1には図示しないが、パケット通信を行なう通信部等の通信端末としてのその他構成要素を備える。
【0045】
音声復号部221は、受信したパケット(RTPパケット)に含まれる音声データを復号し、その復号した音声データを音声出力部223に与えるものである。
【0046】
DTMF生成部222は、音声復号部221により復号された内容に基づいてDTMF信号を生成するものである。
【0047】
音声出力部223は、音声復号部221及びDTMF生成部222からのDTMF信号を音として出力するものである。
【0048】
なお、端末22は、RFC2833の規格化技術を採用する場合を例示するが、RFC2833の規格化技術だけに限定されるものではなく、その拡張技術等にも広く適用することができる。
【0049】
メディア変換装置1は、A事業者網とB事業者網との間で授受される信号の信号形式(例えば、音声符号化方式等)を変換するものである。メディア変換装置1による変換処理は、既存の技術を広く適用することができる。
【0050】
また、メディア変換装置1は、DTMF信号の変換機能を有するものである。これにより、DTMF信号の交換方式が異なる端末21と端末22との間で、DTMF信号の送出処理を実現させることができる。
【0051】
図1に示すように、メディア変換装置1は、音声復号部11、DTMF検出部12、音声符号化部13、RTPパケット出力部14、設定部15を有して構成される。
【0052】
なお、メディア変換装置1は、例えば、CPU、ROM、RAM、EEPROM、入出力インタフェース等を有して構成されるものであり、メディア変換装置1の機能は、CPUが、ROMに格納される処理プロプログラムを実行することにより実現されるものである。
【0053】
音声復号部11は、端末21が送信したパケットを受信し、その受信パケットに含まれている音声データを復号するものである。この実施形態では、端末21がG.711の規格化技術による符号化方式を採用するので、音声復号部11も、G.711の規格化技術によるものである。すなわち、音声復号部11は、受信したパケットのペイロード部を抽出して音声データを復号し、PCMデータ、ペイロード時間(Nms)をDTMF検出部12に与える。
【0054】
DTMF検出部12は、音声復号部11からのPCMデータ及びペイロード時間に基づいてDTMF信号が有るか否かを判定し、DTMF信号を検出した場合には、ペイロード時間に基づいてアウトバンドDTMF信号を生成してRTPパケット出力部14に与え、一方DTMF信号を検出しない場合には、音声復号部11からのPCMデータを音声符号化部13に与えるものである。
【0055】
音声符号化部13は、DTMF検出部12からPCMデータを受け取り、B事業者網が採用する音声符号化方式でPCMデータを符号化するものである。これにより、A事業者網及びB事業者網が異なる音声符号化方式を採用する場合でも、音声符号化方式を変換することができるので、A事業者網とB事業者網との間で音声通話をすることができる。
【0056】
RTPパケット出力部14は、音声符号化部13又はDTMF検出部12からのデータを用いてRTPパケットを形成し、形成したRTPパケットをB事業者網に送信するものである。
【0057】
設定部15は、インバウンドDTMF信号からアウトバンドDTMFパケットを生成する際の生成パケットテーブル、アウトバンドDTMFパケットの設定情報等を管理するものである。設定部145は、DTMF検出部12がアウトバンドDTMFパケットを生成する際に、生成パケットテーブル、設定情報をDTMF検出部12に与える。
【0058】
ここで、生成パケットテーブルは、従来と同様に、インバウンドRTPパケットのペイロード時間と、アウトバンドDTMFパケットやENDパケットの数とを対応付けたテーブルを適用することができる。この実施形態では、例えば、図4に例示するテーブルを生成パケットテーブルとする場合を例示する。
【0059】
なお、設定部15は、例えば、外部インタフェースを介して、DTMF検出部12と接続可能なようにしてもよいし、メディア変換装置1の内部に設けられるようにしてもよい。
【0060】
(A−2)第1の実施形態の動作
次に、第1の実施形態のメディア変換装置1におけるDTMF変換処理の動作を、図面を参照しながら詳細に説明する。
【0061】
(A−2−1)全体動作
まず、メディア変換装置1における全体動作を、図1を参照しながら説明する。
【0062】
端末21は、G.711の音声符号化方式により、入力された音声信号を符号化し、その符号化データを含むRTPパケットを送信する。端末21は、利用者が発した音声を音声データとしてRTPパケットを送信したり、又利用者の操作によりPB信号が発生し、そのDTMF信号を音声データとしてRTPパケットを送信したりする。
【0063】
端末21からのRTPパケットがメディア変換装置1に入力されると、メディア変換装置1では、音声復号部11が、受信したRTPパケットの音声ペイロード部を抽出し、その音声ペイロード部を復号して、PCMデータを得る。
【0064】
そして、音声復号部11により復号されたPCMデータ及びペイロード時間(Nms)がDTMF検出部12に与えられる。DTMF検出部12は、受け取ったPCMデータに基づいてDTMF信号が含まれているか否かを判定する。
【0065】
そして、DTMF信号が含まれている場合、DTMF検出部12は、アウトバンドDTMFパケットを生成する。このとき、DTMF検出部12は、設定部15の生成パケットテーブルを参照して、インバウンドのRTPペイロード時間に応じたDTMFパケット数とENDパケットの数を生成する。
【0066】
また、DTMF信号が含まれていない場合、DTMF検出部12は、当該データは通常の音声データであるため、当該PCMデータを音声符号化部13に与える。
【0067】
DTMF検出部12において、アウトバウンドDTMFパケットがある場合、DTMF検出部12は、アウトバウンドDTMFパケットをRTPパケット出力部14に与える。そして、RTPパケット出力部14は、RTPヘッダ、DTMFペイロードの各フィールドを設定し、さらにDTMF検出部12のアウトバウンドDTMFパケットのリンクアドレスの設定を行い、アウトバウンドDTMFパケットのリンクアドレスにチェインされているRTPパケットを端末22に送信する。
【0068】
一方、DTMF検出部12において、アウトバウンドDTMFパケットがない場合、音声符号化部13が、DTMF検出部12からのPCMデータを符号化し、符号化した音声データを含む音声RTPペイロードを設定する。そして、RTPパケット出力部14が、RTPヘッダを設定して形成したRTPパケットを端末22に送信する。
【0069】
RTPパケット出力部14は、通常の音声データを含むRTPパケットと、アウトバンドDTMFのRTPパケットとの連続性を考慮し、図3のRTPパケットのフォーマット(RFC2833)に示す、RTPヘッダのsequence number、time stampフィールド、DTMFペイロードの「duration」フィールド(トーンの持続時間)を設定する。
【0070】
なお、図3のDTMFペイロードの「volume」フィールドは、トーンのパワーレベルを示すフィールドであり、DTMF検出部12が、設定部15に規定されている値を参照して、「volume」フィールドを設定する。
【0071】
(A−2−2)DTMF検出部12における処理
図7及び図8は、DTMF検出部12における処理を示すフローチャートである。
【0072】
図7及び図8のフロー上において、「」(括弧)で囲む英数字は、DTMF検出部12の処理における変数を示す。
【0073】
「DTMF_flg」は、RTPパケット出力部14がアウトバンドDTMFパケットを送信中か否かを示すものである。すなわち、アウトバンドDTMFパケットの出力シーケンス中であるか否かを示すものである。ここでは、「1」の場合は送信中であり、「0」の場合は非送信中であるとする。
【0074】
「DTMF_link」は、アウトバンドDTMFパケットのリンクアドレスを示すものである。「DTMF_dij」は、DTMF検出部12が検出したDTMF信号のデジット値を示す。
【0075】
「DTMF_suu」は、DTMF検出部12が生成したアウトバンドのDTMFパケット数であり、「END_suu」は、ENDパケット数である。
【0076】
図7において、PCMデータが入力されると、DTMF検出部12がPCMデータに基づいてDTMF信号の検出を行い(P1)、DTMF信号を検出した場合には処理をP3に移行し、DTMF信号を検出しない場合には処理をP10に移行する(P2)。
【0077】
ここで、第1の実施形態では、説明便宜上、P1のDTMF検出処理はデジット値の変化を「検出」するものとする。すなわち、同じ信号が入力されている場合には「非検出」とし、異なる信号が入力されると「検出」とする。
【0078】
DTMF信号が検出されると、DTMF検出部12は「DTMF_flg」を判定し、「DTMF_flg」の判定結果が、「1」の場合はDTMFパケットの送信中と判断して処理をP21(図8)に移行し、「0」の場合はDTMFパケットの非送信と判断して処理をP4に移行する(P3)。
【0079】
P4において、DTMF検出部12は、「DTMF_link」をNULLに初期化し、未送信のDTMFペイロードがない状態にする(P4)。
【0080】
そして、DTMF検出部12は、「DTMF_flg」を「1」に設定し、すなわちDTMFパケットの送信状態を送信中状態に設定し、検出されたDTMF信号のデジット値を「DTMF_dij」に保存しておく(P5)。
【0081】
DTMF検出部12は、入力されたRTPパケットのペイロード時間を取得し、図4の生成パケットテーブルを参照して、ペイロード時間に対応するDTMFパケット数を取り出して、DTMFパケット数を設定する(P6)。
【0082】
例えば、端末21からのRTPパケットのペイロード時間(Nms)がN=20msである場合、図4を参照して、DTMFパケット数は「4」である。従って、DTMF検出部12は、「DTMF_suu」に4を設定する。
【0083】
また、DTMF検出部12は、入力されたRTPパケットのペイロード時間に基づいて、ENDパケット数を設定する(P7)。
【0084】
例えば、ペイロード時間が20msである場合、DTMF検出部12は、DTMFパケット数の設定と同様に、図4を参照して、ペイロード時間(20ms)に基づいてENDパケット「3」を取り出し、「END_suu」に「3」を設定する。
【0085】
P6及びP7の処理が終了すると、DTMF検出部12は処理をP11に移行する。
【0086】
一方、P2において、DTMF信号が非検出の場合、DTMF検出部12は「DTMF_flg」を判定し、「DTMF_flg」の判定結果が、「1」の場合はDTMFパケットの送信中と判断して処理をP11に移行し、「0」の場合はDTMFパケットの非送信と判断して処理をP20に移行する(P10)。
【0087】
P11では、DTMF検出部12が、「DTMF_suu」に設定されている値を判定する。そして、「DTMF_suu」が「0」の場合には、処理をP15に移行し、「0」でない場合には、処理をP12に移行する(P11)。
【0088】
すなわち、P11の処理は、DTMF信号のデジット値に変化がない場合であって、当該DTMF信号の送信中であるときには、当該DTMF信号の送信を継続するようにする。また、DTMF信号のデジット値に変化があった場合であって、既に変化前のデジット値のDTMF信号の送信が終了しているときには、変化後のデジット値のDTMF信号の送信を行うようにする。
【0089】
「DTMF_suu」が「0」でない場合、DTMF検出部12は、「DTMF_suu」の値から1をデクリメントし(P12)、「DTMF_dij」に設定されているDTMF信号のデジット値に基づいて、DTMFパケットのペイロードを作成する(P13)。
【0090】
図9は、DTMF検出部12が作成するDTMFパケットのペイロードデータ例である。図9のように具体的に、DTMF検出部12は、検出したDTMF信号のデジット値、すなわち「DTMF_dij」に設定されている値を、DTMFペイロードの「event」フィールドに設定する。また、DTMF検出部12は、「E」ビット及び「R」ビットに「0」を設定し、さらに設定部15からの値「x」を「volume」フィールドに設定する。
【0091】
図11は、第1の実施形態のアウトバンドDTMFパケットのリンクアドレスを説明する説明図である。
【0092】
DTMF検出部12は、「DTMF_link」が「NULL」であるか否かを判断し、作成したDTMFペイロードの「DTMF_link」が「NULL」でない場合、DTMF検出部12は、今回作成したDTMFペイロードが最終にチェインするようにリンクさせる。一方、「DTMF_link」が「NULL」の場合、DTMF検出部12は、作成したDTMFペイロードを先頭にチェインするようにリンクさせる。
【0093】
P13で作成したDTMFペイロードを「DTMF_link」から取り出し、DTMF検出部12は、作成したアウトバンドDTMFパケットをRTPパケット出力部14に出力する。そして、出力後、DTMF検出部12は「DTMF_link」を「NULL」にする(P14)。
【0094】
一方、P11において、「DTMF_suu」が「0」である場合、DTMF検出部12は、「END_suu」の値から1をデクリメントし(P15)、「DTMF_dij」に設定されているDTMF信号のデジット値に基づいて、ENDパケットのペイロードを作成する(P16)。これにより、全てのDTMFパケットの送信後に、ENDパケットの送信処理を進めることができる。
【0095】
図10は、DTMF検出部12が作成するENDパケットのペイロードデータ例である。図10のように具体的に、DTMF検出部12は、検出したDTMF信号のデジット値、すなわち「DTMF_dij」に設定されている値を、ENDパケットのペイロードの「event」フィールドに設定する。また、DTMF検出部12は、「E」ビットに「1」を設定し、「R」ビットに「0」を設定し、さらに設定部15からの値「x」を「volume」フィールドに設定する。
【0096】
また、作成したDTMFペイロードは、図11で示す「DTMF_link」がNULLで無い場合は最終にチェインする。「DTMF_link」がNULLの場合は作成したDTMFペイロードを先頭にチェインする。
【0097】
次に、DTMF検出部12は、「END_suu」の値を判定し、「END_suu」の値が「0」でない場合、処理をP19に移行させ、「END_suu」の値が「0」の場合、処理をP18に移行する(P17)。
【0098】
「END_suu」の値が「0」の場合、DTMF検出部12は「DTMF_flg」に「0」を設定する(P18)。
【0099】
P19では、P16で作成したENDパケットのDTMFペイロードを「DTMF_link」から取り出し、DTMF検出部12がENDパケットをRTPパケット出力部14に出力する。また出力後、DTMF検出部12は「DTMF_link」を「NULL」にする(P19)。
【0100】
P20では、アウトバンドDTMFパケットがないので、DTMF検出部12はNULLを出力する(P20)。
【0101】
P3において、「DTMF_flg」が「1」であり、DTMFパケットが送信中である場合、図8のP21に移行する。
【0102】
図8のP21〜P26は、送信中のDTMFペイロードを全て出力するための処理である。
【0103】
まず、P21において、DTMF検出部12は、「DTMF_suu」を判定し、「DTMF_suu」が「0」で無い場合、処理をP22に移行し、「DTMF_suu」がが「0」の場合、処理をP24に移行する(P21)。
【0104】
DTMF検出部12は、「DTMF_suu」の値から1をデクリメントし(P22)、検出したDTMF信号のデジット値「DTMF_dij」の値を、DTMFパケットのペイロードのeventフィールドに設定し、「E」ビットと「R」ビットに「0」を設定する。さらに、DTFM検出部12は、DTMFペイロードの「volume」フィールドは、設定部15から入力される「x」値を設定する。
【0105】
作成したDTMFペイロードは、図11で示す「DTMF_link」が「NULL」で無い場合は最終にチェインする。「DTMF_link」が「NULL」の場合は作成したDTMFペイロードを先頭にチェインする。
【0106】
P24において、DTMF検出部12は、「END_suu」の値から1をデクリメントし(P24)、図10に示すDTMFペイロードを設定する(P25)。
【0107】
具体的には、DTMF検出部12が検出したDTMF信号のデジット値「DTMF_dij」の値を、DTMFペイロードの「event」フィールドに設定し、「E」ビットに「1」を、「R」ビットに「0」を設定する。さらに、DTMF検出部12は、DTMFペイロードの「volume」フィールドに、設定部15から入力される「x」値を設定する。
【0108】
作成したDTMFペイロードは、図11で示す「DTMF_link」が「NULL」で無い場合は最終にチェインする。「DTMF_link」が「NULL」の場合は作成したDTMFペイロードを先頭にチェインする。
【0109】
P26では、DTMF検出部12が「END_suu」の値を判定し、「END_suu」が「0」で無い場合は処理をP24に移行し、「END_suu」が「0」の場合は処理をP5に移行する。
【0110】
図12は、メディア変換装置1における具体的な動作例を説明する説明図である。以下では、図7及び図8のフローチャートの処理に対応させて具体的な説明する。
【0111】
ここでは、端末21のRTPパケットのペイロード時間が20msである場合を例示する。また、メディア変換装置1において、7個のアウトバンドDTMFパケットを送信する出力シーケンス中に、インバウンドDTMFのデジット値が「1」から「2」に変化した場合の動作を説明する。
【0112】
まず、メディア変換装置1において、音声復号部11は、RTPペイロードであるG.711データが入力されると、このデータを復号し、PCMデータ及びペイロード時間(20ms)をDTMF検出部12に出力する。
【0113】
ここでは、デジット値「1」のDTMF信号が入力されるとする。DTMF検出部12において、デジット値「1」のDTMF信号が検出される(P1、P2)。
【0114】
このとき、メディア変換装置1はDTMF信号の非送信の状態であるから、「DTMF_flg」は「0」である(P3)。従って、DTMF検出部12において、「DTMF_link」が「NULL」となり(P4)、「DTMF_flg」に「1」が設定され、「DTMF_dij」にデジット値「1」が設定される(P5)。
【0115】
次に、「DTMF_suu」に「4」が設定され(P6)、「END_suu」に「3」が設定される(P7)。
【0116】
そして、P11において「DTMF_suu」が「0」でないため、「DTMF_suu」の値より「1」が減算される(P12)。
【0117】
P13の実行により、図9に示すDTMFペイロード形式で「event」=1、「E」=0、「R」=0、「volume」=xと設定され、そのペイロードを「DTMF_link」の先頭にリンクする。
【0118】
P14の実行により、P13で作成されたアウトバンドDTMFペイロードがRTPパケット出力部14に与えられ、RTPパケット出力部14がRTPパケットを作成し、その作成したRTPパケットが出力される。
【0119】
その後、デジット値1のDTMF信号のRTPパケットがメディア変換装置1に入力されると、デジット値の変化はないので、P2で「非検出」と判定される。更に、DTMFパケットの送信中であるため、P10で「DTMF_flg」が「1」と判定され、「DTMF_suu」が「0」になるまでP11〜P14の処理が繰り返される。
【0120】
デジット値「1」のアウトバンドDTMFパケットの出力シーケンス中に、デジット値「2」のRTPパケットが入力されると、P2で「検出」と判定される。
【0121】
このとき、メディア変換装置1は、デジット値「1」のDTMFパケットの出力シーケンス中であるから、「DTMF_flg」は「1」であるため(P3)、処理は図8のP21に移行する。
【0122】
例えば、デジット値「2」のDTMF信号を検出したとき、デジット値「1」の7個のアウトバンドDTMFパケットのうち、4個のDTMFパケットは既に送信しており、3個のENDパケットが未送信であるとする。
【0123】
そうすると、このとき、「DTMF_suu」が「0」であり、「END_suu」が「0」でないという状態であるから、処理はP24に移行して、「END_suu」が「0」になるまで、ENDパケットのDTMFペイロードが作成され(P24〜P26)、3個のENDパケットが出力される。
【0124】
すなわち、P25の実行により、図10に示すDTMFペイロード形式で「event」=1、「E」=1、「R」=0、「volume」=xが設定され、そのペイロードを「DTMF_link」の先頭から3つリンクされる。
【0125】
また、「END_suu」が「0」になると、処理は図7のP5に移行して、今回検出したデジット値「2」が「DTMF_dij」に設定される(P5)。
【0126】
つまり、未送信であった3個のENDパケットのDTMFペイロードが作成された後、今回検出されたデジット値「2」を「DTMF_dij」にセットし、デジット値「2」のDTMFパケットのDTMFペイロードが作成される。
【0127】
なお、このとき、「DTMF_dij」の値を変えるまで、DTMF検出部12は、一時的に今回検出したデジット値「2」の値を保持しておくようにしてもよい。また、例えば、デジット値「1」から「2」、更に「2」から「3」等のように続けて変化する場合もある。この場合には、DTMF検出部12は、検出した順序でデジット値を保持しておくようにしてもよい。
【0128】
図7のP5において、デジット値「2」のDTMF信号について、「DTMF_dij」に「2」が設定されると、P6及びP7の実行により、「DTMF_suu」が「4」、「END_suu」が「3」に設定される(P6、P7)。
【0129】
そして、P11において、「DTMF_suu」が「0」でないと判定され、P12の実行で「DTMF_suu」の値より「1」が減算される。
【0130】
P13の実行により、図9に示すDTMFペイロード形式で、「event」=2、「E」=0、「R」=0、「volume」=xが設定され、そのペイロードを「DTMF_link」の最終にリンクする。
【0131】
P14の実行により、P13で作成されたデジット値「2」のDTMFペイロードがRTPパケット出力部14に与えられ、RTPパケット出力部14がRTPパケットを作成して、DTMFパケットが出力される。
【0132】
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、あるデジット値のアウトバンドDTMFパケットを出力中に、端末21が出力するインバウンドDTMFのデジット値が変化しても、メディア変換装置1は送信途中のアウトバンドDTMFパケットを端末22に全て送信した後に、新たなデジット値のアウトバンドDTMFパケットを送信することにより、端末B22でDTMFの桁落ちや、メディア変換装置1内部の遅延が発生することなくインバウンドからアウトバンドDTMF変換処理が可能となる。
【0133】
(B)第2の実施形態
次に、本発明の信号方式変換装置及び信号方式変換プログラムの第2の実施形態を、図面を参照しながら説明する。
【0134】
(B−1)第2の実施形態の構成
図13は、第2の実施形態のネットワークの概略的な接続構成と、メディア変換装置の内部構成とを示す構成図である。
【0135】
第2の実施形態が第1の実施形態と異なる点は、メディア変換装置のDTMF検出部がタイマー部を有する点である。それ以外の構成要素は、第1の実施形態と同じであるので、第1の実施形態で既に説明した各構成要素については同じ番号を付している。
【0136】
図13において、第2の実施形態のネットワーク10は、メディア変換装置1、端末21、端末22を有して構成される。
【0137】
また、メディア変換装置1は、音声復号部11、DTMF検出部12、音声符号化部13、RTPパケット出力部14、設定部15を有して構成される。
【0138】
メディア変換装置1は、第1の実施形態で説明した処理に加えて、パケットロスによる遅延を低減させるために、DTMF検出部12が、タイマー処理を行う。すなわち、DTMF検出部12は、タイマー処理部121を有する。
【0139】
タイマー処理部121は、DTMF検出部12がDTMF信号を検出した場合に、タイマーを起動させ、所定のタイマー時間(例えば、20ms)の計時を行う。
【0140】
そして、そのタイマー時間内に、RTPパケットが入力されたときには、タイマー処理部121は、タイマーをリセット(再起動)する。
【0141】
一方、そのタイマー時間内に、RTPパケットが入力されないときには、タイマー処理部121は、DTMF検出部12によるDTMFペイロードの作成処理を進行させるようにする。
【0142】
すなわち、例えばパケットロス等によりRTPパケットに遅延が生じしている場合でも、タイマー時間経過後に、DTMF検出部12が、残りのDTMFペイロードの作成処理を行うことで、まだ送信されていない残りのDTMFパケット又は残りのENDパケットの送信を行うことができ、遅延を低減することができる。
【0143】
(B−2)第2の実施形態の動作
次に、第2の実施形態のメディア変換装置1における処理の動作を、図面を参照しながら説明する。
【0144】
第2の実施形態のメディア変換装置1におけるDTMF信号の変換処理は、基本的には、第1の実施形態と同じである。異なる点は、DTMF検出部12において、タイマー処理部121がタイマー管理を行う点である。
【0145】
そこで、第2の実施形態では、図7及び図8のフローチャートを参照しながら、DTMF検出部12のタイマー処理の動作を説明する。
【0146】
第2の実施形態も、第1の実施形態と同様に、端末21からのRTPパケットのペイロード時間は20msであり、端末21はG.711の規格化技術により音声符号化を行うものとする。
【0147】
また、メディア変換装置1は、デジット値「1」の7個のアウトバンドDTMFパケットを送信する出力シーケンスにおいて、パケットロス等により、メディア変換装置1にRTPパケットが入力されない場合の動作を説明する。
【0148】
図7において、DTMF検出部12が、音声復号部11からのPCMデータに基づいてDTMF信号を検出し(P1)、デジット値「1」のDTMF信号を検出すると(P2)、タイマー処理部121はタイマー時間(例えば、20ms)を起動する。
【0149】
なお、タイマーの起動後は、DTMF検出部12は処理をP3に移行させ、DTMF検出部12はP3以降の処理を行う。
【0150】
タイマー処理部121は、次のRTPパケットが入力されない場合、すなわちPCMデータがDTMF検出部12に入力されない場合、DTMF検出部12は、処理をP10に移行して、P10以降の処理を行う。
【0151】
つまり、デジット値を検出した時点(P2の検出ルート)で20msタイマーを起動し、P3以降の処理を完了し、メディア変換装置1はRTPパケットの入力を待つが、RTPパケットが入力せず、タイマー時間が満了となったときには、DTMF検出部12は、P10の処理ルートを実行により、アウトバンドDTMFパケットが出力可能となる。
【0152】
一方、タイマー処理部121は、タイマー時間内に、次のRTPパケットが入力され、PCMデータがDTMF検出部12に与えられると、タイマー時間をリセット(再起動)する。
【0153】
(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、パケットロス発生でもDTMF処理を実施することが可能になり、リアルタイムに処理可能となる。
【0154】
なお、タイマー時間を短くし過ぎると、P10処理ルート以降が走行し、P1のDTMF検出処理を行う処理ルートが走行しないためDTMF信号を検出できないケースも生じるので、注意が必要である。
【0155】
(C)他の実施形態
本発明は、メディア変換装置を対象に述べたが、コーデック変換の有無に関わらず、RTPパケットを中継しインバウンドからアウトバンドDTMFに変換するする装置に適用可能である。
【符号の説明】
【0156】
1…メディア変換装置、11…音声復号部、12…DTMF検出部、
13…音声符号化部、14…RTPパケット出力部、15…設定部、
121…タイマー処理部、10…ネットワーク、21及び22…端末。
【技術分野】
【0001】
本発明は、信号方式変換装置及び信号方式変換プログラムに関するものであり、例えば、ネットワーク境界の設けられるセッションボーダーコントローラに適用し得るものである。
【背景技術】
【0002】
例えば、固定通信網と移動通信網との間や、それぞれ異なる通信事業者の通信網間等で、円滑な通信を実現するために、各通信網で使用される様々な音声、映像、データ等の信号形式(例えば、符号化形式等)を変換するメディア変換が必要となる(特許文献1参照)。
【0003】
例えば、図2に例示するように、A事業者の通信網(A事業者網)とB事業者の通信網(B自事業者網)との間で行う音声通信を考える。
【0004】
A事業者網では音声符号化形式としてA形式を採用した音声データAを扱い、B事業者網では音声符号化形式としてB形式を採用した音声データBを扱うとする。この場合、音声符号化形式が異なるので、A事業者網とB事業者網との間の音声通話は不可能である。
【0005】
そこで、図2に示すように、A事業者網及びB事業者網間の境界にメディア変換装置91を設け、例えば、メディア変換装置91が、端末92からの音声データAを音声データBに変換し、B事業者網の端末93に送信することで、音声符号化形式が事業者網で異なっていても、相互に音声通信を可能とすることができる。
【0006】
同様に、A事業者網上の端末92とB事業者網上の端末93との間で、DTMF(Dial Tone Multi Frequency)信号を交換する場合がある。ここで、DTMF信号の交換方式は、接続される端末によって異なるものであり、事業者網で一意に統一されているわけではない。
【0007】
例えば、端末92は、圧縮された音声データ(例えば、G.711)中のインバウンドDTMF方式でDTMF信号を交換する端末であり、端末93は、例えばRFC2833に規定された方式(アウトバンドDTMF方式)でDTMF信号を交換する端末であるとする。RFC2833は、IP網上でDTMF信号を伝送する標準化技術が規定されている。
【0008】
このように、端末92はDTMF信号を音として交換する方式を取り、端末93はIP網上での規格化技術に従って交換する方式を取るとき、相互にDTMF信号の交換方式が異なるため、端末92と端末93との間でDTMF信号の交換が不可能となってしまう(特許文献2参照)。
【0009】
そこで、従来のメディア変換装置91は、端末92から圧縮された音声データAにインバウンドDTMFが含まれているか否かを検出し、インバウンドDTMF信号が含まれている場合には、その検出したインバウンドDTMFをアウトバンドDTMFに変換して端末93に送信している。これにより、端末間でDTMF信号の交換方式が異なる場合でも、DTMF信号の交換を可能としている。
【0010】
ここで、従来のメディア変換装置によるDTMF信号の交換方法を簡単に説明する。
【0011】
まず、端末92及び端末93は、SIPサーバーとの間で、例えばSIP(Session Initiation Protocol)等の呼メッセージの送受信することにより、呼を確立させて、通話状態になる。
【0012】
通話状態になると、端末92と端末93との間で、RTP(Real-time Transport Protocol)パケットによるパケット通信が実行されて、音声伝送がなされる。
【0013】
一般的に、端末(電話機)におけるボタン操作によりPB(Push Button)信号が発生し、PB信号は可聴音のDTMF信号である。例えば、端末92は、DTMF信号を、G.711で規格化された符号化方式で圧縮符号化して音声データとし、この音声データを含むRTPパケットを形成して、ネットワークに送信する。
【0014】
メディア変換装置91は、端末92からのRTPパケットを受信し、このRTPパケットに含まれる音声データを復号する。音声データは、復号されると、そのまま可聴信号、いわゆる音声帯域であるインバウンドの信号に変換される。
【0015】
DTMF信号も音声データであるから、メディア変換装置91が、端末92からインバウンドとして入力されるDTMF信号を検出した場合、メディア変換装置91は、例えば、図3に示すアウトバンドDTMFパケットのフォーマットに基づいて、インバウンドDTMF信号を、アウトバンドDTMFパケットに変換して端末93に送信する。なお、図3は、RFC2833で規定されているRTPパケットのフォーマットを示す構成図である。
【0016】
メディア変換装置91において、アウトバンドDTMFに変換する際に、メディア変換装置91は、端末92からのRTPパケットのRTPペイロード時間に基づいて、RFCパケットに規定されるパケットの数を決定する。
【0017】
つまり、メディア変換装置91は、RTPペイロード時間に基づいて、図3の「event」フィールドにデジット値をセットするRTP(DTMF)パケットの数と、図3の「E」ビットに「ON」をセットしてDTMF信号の終了を示すENDパケットの数とを決定する。そして、メディア変換装置91は、端末91からのRTPパケットに同期させて、形成したRFC2833のRTPパケットを端末93に送信する。
【0018】
例えば、メディア変換装置91は、図4に例示するテーブルを用いて、RTP(DTMF)パケットの数と、ENDパケットの数とを決定することができ、端末92のRTPペイロード時間が20msである場合には、RTP(DTMF)パケットを「4」個とENDパケットを「3」個とを形成して送信する。
【0019】
次に、インバウンドDTMFのデジット値が変化した場合、例えばデジット値が「1」から「2」に変化した場合のメディア変換装置91の従来処理を、図5を参照しながら説明する。
【0020】
端末92は、RTPペイロード時間が20msの通常音声RTPを行っているものとする。このときに、インバウンドDTMFが、端末92からメディア変換装置91に入力されたとする。
【0021】
図5に例示するように、メディア変換装置91は、実際にDTMF信号を検出するまでの時間(「検出Delay」)経過後、「event」フィールドにデジット値「1」をセットした4個のDTMFパケットを送信し、その後、「E」ビットを「ON」にした3個のENDパケットを送信する。
【0022】
そして、インバウンドDTMFのデジット値が「1」から「2」に変換されると、上記のデジット値「1」の7個のアウトバンドDTMFパケットを送信後、一旦、音声のRTPパケットを出力した後、デジット値「2」の7個のアウトバンドDTMFパケットを送信する。
【先行技術文献】
【特許文献】
【0023】
【特許文献1】特開2007−214989号公報
【特許文献2】特開2006−315222号公報
【発明の概要】
【発明が解決しようとする課題】
【0024】
しかしながら、メディア変換装置におけるアウトバンドDTMFパケットの出力シーケンス中にデジット値が変化した場合、変更前のデジット値を示すアウトバンドDTMFパケットが全部出力される前に、変更後のデジット値を示すアウトバウンドDTMFパケットが出力されてしまい、送信先の端末が正常にデジット値を認識できない場合が生じ得る。
【0025】
例えば、図6は、RTPペイロード時間が20msの通常音声RTPの後に、インバウンドDTMFのデジット値が「1」のDTMF信号が入力され、その7個のアウトバウンドDTMFパケットの出力シーケンス中に、インバウンドDTMFのデジット値が「1」から「2」に変化したとする。
【0026】
図6に示すように、デジット値「1」のアウトバウンドDTMFパケットの出力シーケンス中に、メディア変換装置91がデジット値「2」のDTMF信号を検出した場合、従来のメディア変換装置91は、デジット値「1」のアウトバンドDTMFパケットの出力を中止し、デジット値「2」のアウトバウンドDTMFパケットの出力を開始しなければならない。
【0027】
そのため、送信先の端末93は、メディア変換装置91からアウトバウンドDTMFパケットを受信しても、デジット値「1」のENDパケットを受信せずに、デジット値「2」のDTMFパケットを受信することとなり、デジット値が「1」と「2」とを正常に認識することができない。
【0028】
また、デジット値が変化した場合でも、例えばパケットロス等によりRTPパケットの遅延や、メディア変換装置内部での処理遅延を抑えることが望まれる。
【0029】
そのため、DTMF信号の信号方式変換処理において、形式変換後のDTMF信号の送信中に、DTMF信号のデジット値の変化があった場合でも、変換先の方式に従って、変化前と変化後のデジット値のDTMF信号を正しい方式にして出力することができる信号方式変換装置及び信号方式変換プログラムが求められている。
【課題を解決するための手段】
【0030】
かかる課題を解決するために、第1の本発明は、入力された音声信号に含まれる第1の周波数重畳信号を、所定の信号方式の第2の周波数重畳信号に変換する信号方式変換装置において、(1)入力された音声信号に基づいて第1の周波数重畳信号を検出する周波数重畳信号検出手段と、(2)周波数重畳信号検出手段により第1の周波数重畳信号のデジット値の変化が検出されると、変化前のデジット値に関連する第2の周波数重畳信号が送信中であるか否かを判定する判定手段と、(3)周波数重畳信号検出手段により検出された第1の周波数重畳信号に基づいて、所定の信号方式の第2の周波数重畳信号を作成する信号作成手段と、(4)信号作成手段により作成された第2の周波数重畳信号を含む信号を出力する出力手段とを備え、信号作成手段は、判定手段により、デジット値が変化したときに、変化前のデジット値に関連する第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する第2の周波数重畳信号を作成するものであることを特徴とする信号方式変換装置である。
【0031】
第2の本発明は、入力された音声信号に含まれる第1の周波数重畳信号を、所定の信号方式の第2の周波数重畳信号に変換する信号方式変換プログラムにおいて、コンピュータを、(1)入力された音声信号に基づいて第1の周波数重畳信号を検出する周波数重畳信号検出手段、(2)周波数重畳信号検出手段により第1の周波数重畳信号のデジット値の変化が検出されると、変化前のデジット値に関連する第2の周波数重畳信号が送信中であるか否かを判定する判定手段、(3)周波数重畳信号検出手段により検出された第1の周波数重畳信号に基づいて、所定の信号方式の第2の周波数重畳信号を作成する信号作成手段、(4)信号作成手段により作成された第2の周波数重畳信号を含む信号を出力する出力手段として機能させるものであり、信号作成手段が、判定手段により、デジット値が変化したときに、変化前のデジット値に関連する第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する第2の周波数重畳信号を作成するものであることを特徴とする信号方式変換プログラムである。
【発明の効果】
【0032】
本発明によれば、DTMF信号の形式変換処理において、形式変換後のDTMF信号の送信中に、DTMF信号のデジット値の変化があった場合でも、変換先の方式に従って、変化前と変化後のデジット値のDTMF信号を正しい方式にして出力することができる。
【図面の簡単な説明】
【0033】
【図1】第1の実施形態のネットワークの概略的な接続構成と、メディア変換装置の内部構成とを示す構成図である。
【図2】従来のメディア変換システムの構成図である。
【図3】RTPパケット(RFC2833)のフォーマットを示す構成図である。
【図4】RTPペイロード時間とDTMFパケット数及びENDパケット数とを対応付けた生成パケットテーブルの構成例を示す構成図である。
【図5】従来のDTMF信号の変換処理を説明する説明図である。
【図6】従来のDTMFパケットの出力シーケンス中にデジット値が変化したときの処理を説明する説明図である。
【図7】第1の実施形態のDTMF検出部における処理を示すフローチャートである(その1)。
【図8】第1の実施形態のDTMF検出部12における処理を示すフローチャートである(その2)。
【図9】第1の実施形態のDTMF検出部が作成するDTMFパケットのペイロードデータ例である。
【図10】第1の実施形態のDTMF検出部が作成するENDパケットのペイロードデータ例である。
【図11】第1の実施形態のアウトバンドDTMFパケットのリンクアドレスを説明する説明図である。
【図12】第1の実施形態のメディア変換装置における具体的な動作例を説明する説明図である。
【図13】第2の実施形態のネットワークの概略的な接続構成と、メディア変換装置の内部構成とを示す構成図である。
【発明を実施するための形態】
【0034】
(A)第1の実施形態
以下では、本発明の信号方式変換装置及び信号方式変換プログラムの第1の実施形態を、図面を参照しながら詳細に説明する。
【0035】
第1の実施形態は、それぞれ異なる複数の事業者網の境界に設けられたメディア変換装置が有する、インバウンドDTMFをアウトバウンドDTMFに変換するDTMF変換機能に、本発明を適用する場合を例示する。
【0036】
(A−1)第1の実施形態の構成
図1は、第1の実施形態のネットワークの概略的な接続構成と、メディア変換装置の内部構成とを示す構成図である。
【0037】
図1において、第1の実施形態のネットワーク10は、メディア変換装置1、端末21、端末22を有して構成される。
【0038】
端末21は、A事業者網上の通信端末であり、端末22は、B事業者網上の通信端末である。端末21及び22は、通話機能を有する通信端末であれば、様々なものを適用することができ、例えば、電話機、IP電話機、携帯電話機、パーソナルコンピュータ上でソフトウェア処理により実行される通話機能(いわゆるソフトフォン)等を適用することができる。
【0039】
ここで、DTMF信号の伝送方式について、端末21は、例えばG.711の符号化方式によりDTMF信号を音声データに変換する方式を採用するものとし、端末22は、RFC2833の規格化されたRTPパケットにより、DTMF信号を交換する方式を採用するものとする。
【0040】
端末21は、図1に示すように、音声入力部211、符号化部212を少なくとも有する。なお、図1には図示しないが、端末21は、パケットを形成する通信部等の通信端末としてのその他構成要素も備える。
【0041】
音声入力部211は、音声(音声波形)を入力し、音声信号を符号化部212に与えるものである。
【0042】
符号化部212は、音声入力部211から音声信号を受け取り、標本化、量子化、符号化等を行い、音声データを形成するものである。これにより、端末21は、符号化部212により形成された音声データを含むパケットを送出することができる。
【0043】
なお、端末21はDTMF信号を音として捉えて伝送するものであり、この実施形態では、符号化部212が、音声符号化方式の一例としてG.711方式を採用する場合を例示するが、その音声符号化方式は、G.711に限定されるものではなく、種々の音声符号化方式を適用することができる。
【0044】
端末22は、図1に示すように、音声復号部221、DTMF生成部222、音声出力部223を少なくとも有するものである。なお、端末22は、図1には図示しないが、パケット通信を行なう通信部等の通信端末としてのその他構成要素を備える。
【0045】
音声復号部221は、受信したパケット(RTPパケット)に含まれる音声データを復号し、その復号した音声データを音声出力部223に与えるものである。
【0046】
DTMF生成部222は、音声復号部221により復号された内容に基づいてDTMF信号を生成するものである。
【0047】
音声出力部223は、音声復号部221及びDTMF生成部222からのDTMF信号を音として出力するものである。
【0048】
なお、端末22は、RFC2833の規格化技術を採用する場合を例示するが、RFC2833の規格化技術だけに限定されるものではなく、その拡張技術等にも広く適用することができる。
【0049】
メディア変換装置1は、A事業者網とB事業者網との間で授受される信号の信号形式(例えば、音声符号化方式等)を変換するものである。メディア変換装置1による変換処理は、既存の技術を広く適用することができる。
【0050】
また、メディア変換装置1は、DTMF信号の変換機能を有するものである。これにより、DTMF信号の交換方式が異なる端末21と端末22との間で、DTMF信号の送出処理を実現させることができる。
【0051】
図1に示すように、メディア変換装置1は、音声復号部11、DTMF検出部12、音声符号化部13、RTPパケット出力部14、設定部15を有して構成される。
【0052】
なお、メディア変換装置1は、例えば、CPU、ROM、RAM、EEPROM、入出力インタフェース等を有して構成されるものであり、メディア変換装置1の機能は、CPUが、ROMに格納される処理プロプログラムを実行することにより実現されるものである。
【0053】
音声復号部11は、端末21が送信したパケットを受信し、その受信パケットに含まれている音声データを復号するものである。この実施形態では、端末21がG.711の規格化技術による符号化方式を採用するので、音声復号部11も、G.711の規格化技術によるものである。すなわち、音声復号部11は、受信したパケットのペイロード部を抽出して音声データを復号し、PCMデータ、ペイロード時間(Nms)をDTMF検出部12に与える。
【0054】
DTMF検出部12は、音声復号部11からのPCMデータ及びペイロード時間に基づいてDTMF信号が有るか否かを判定し、DTMF信号を検出した場合には、ペイロード時間に基づいてアウトバンドDTMF信号を生成してRTPパケット出力部14に与え、一方DTMF信号を検出しない場合には、音声復号部11からのPCMデータを音声符号化部13に与えるものである。
【0055】
音声符号化部13は、DTMF検出部12からPCMデータを受け取り、B事業者網が採用する音声符号化方式でPCMデータを符号化するものである。これにより、A事業者網及びB事業者網が異なる音声符号化方式を採用する場合でも、音声符号化方式を変換することができるので、A事業者網とB事業者網との間で音声通話をすることができる。
【0056】
RTPパケット出力部14は、音声符号化部13又はDTMF検出部12からのデータを用いてRTPパケットを形成し、形成したRTPパケットをB事業者網に送信するものである。
【0057】
設定部15は、インバウンドDTMF信号からアウトバンドDTMFパケットを生成する際の生成パケットテーブル、アウトバンドDTMFパケットの設定情報等を管理するものである。設定部145は、DTMF検出部12がアウトバンドDTMFパケットを生成する際に、生成パケットテーブル、設定情報をDTMF検出部12に与える。
【0058】
ここで、生成パケットテーブルは、従来と同様に、インバウンドRTPパケットのペイロード時間と、アウトバンドDTMFパケットやENDパケットの数とを対応付けたテーブルを適用することができる。この実施形態では、例えば、図4に例示するテーブルを生成パケットテーブルとする場合を例示する。
【0059】
なお、設定部15は、例えば、外部インタフェースを介して、DTMF検出部12と接続可能なようにしてもよいし、メディア変換装置1の内部に設けられるようにしてもよい。
【0060】
(A−2)第1の実施形態の動作
次に、第1の実施形態のメディア変換装置1におけるDTMF変換処理の動作を、図面を参照しながら詳細に説明する。
【0061】
(A−2−1)全体動作
まず、メディア変換装置1における全体動作を、図1を参照しながら説明する。
【0062】
端末21は、G.711の音声符号化方式により、入力された音声信号を符号化し、その符号化データを含むRTPパケットを送信する。端末21は、利用者が発した音声を音声データとしてRTPパケットを送信したり、又利用者の操作によりPB信号が発生し、そのDTMF信号を音声データとしてRTPパケットを送信したりする。
【0063】
端末21からのRTPパケットがメディア変換装置1に入力されると、メディア変換装置1では、音声復号部11が、受信したRTPパケットの音声ペイロード部を抽出し、その音声ペイロード部を復号して、PCMデータを得る。
【0064】
そして、音声復号部11により復号されたPCMデータ及びペイロード時間(Nms)がDTMF検出部12に与えられる。DTMF検出部12は、受け取ったPCMデータに基づいてDTMF信号が含まれているか否かを判定する。
【0065】
そして、DTMF信号が含まれている場合、DTMF検出部12は、アウトバンドDTMFパケットを生成する。このとき、DTMF検出部12は、設定部15の生成パケットテーブルを参照して、インバウンドのRTPペイロード時間に応じたDTMFパケット数とENDパケットの数を生成する。
【0066】
また、DTMF信号が含まれていない場合、DTMF検出部12は、当該データは通常の音声データであるため、当該PCMデータを音声符号化部13に与える。
【0067】
DTMF検出部12において、アウトバウンドDTMFパケットがある場合、DTMF検出部12は、アウトバウンドDTMFパケットをRTPパケット出力部14に与える。そして、RTPパケット出力部14は、RTPヘッダ、DTMFペイロードの各フィールドを設定し、さらにDTMF検出部12のアウトバウンドDTMFパケットのリンクアドレスの設定を行い、アウトバウンドDTMFパケットのリンクアドレスにチェインされているRTPパケットを端末22に送信する。
【0068】
一方、DTMF検出部12において、アウトバウンドDTMFパケットがない場合、音声符号化部13が、DTMF検出部12からのPCMデータを符号化し、符号化した音声データを含む音声RTPペイロードを設定する。そして、RTPパケット出力部14が、RTPヘッダを設定して形成したRTPパケットを端末22に送信する。
【0069】
RTPパケット出力部14は、通常の音声データを含むRTPパケットと、アウトバンドDTMFのRTPパケットとの連続性を考慮し、図3のRTPパケットのフォーマット(RFC2833)に示す、RTPヘッダのsequence number、time stampフィールド、DTMFペイロードの「duration」フィールド(トーンの持続時間)を設定する。
【0070】
なお、図3のDTMFペイロードの「volume」フィールドは、トーンのパワーレベルを示すフィールドであり、DTMF検出部12が、設定部15に規定されている値を参照して、「volume」フィールドを設定する。
【0071】
(A−2−2)DTMF検出部12における処理
図7及び図8は、DTMF検出部12における処理を示すフローチャートである。
【0072】
図7及び図8のフロー上において、「」(括弧)で囲む英数字は、DTMF検出部12の処理における変数を示す。
【0073】
「DTMF_flg」は、RTPパケット出力部14がアウトバンドDTMFパケットを送信中か否かを示すものである。すなわち、アウトバンドDTMFパケットの出力シーケンス中であるか否かを示すものである。ここでは、「1」の場合は送信中であり、「0」の場合は非送信中であるとする。
【0074】
「DTMF_link」は、アウトバンドDTMFパケットのリンクアドレスを示すものである。「DTMF_dij」は、DTMF検出部12が検出したDTMF信号のデジット値を示す。
【0075】
「DTMF_suu」は、DTMF検出部12が生成したアウトバンドのDTMFパケット数であり、「END_suu」は、ENDパケット数である。
【0076】
図7において、PCMデータが入力されると、DTMF検出部12がPCMデータに基づいてDTMF信号の検出を行い(P1)、DTMF信号を検出した場合には処理をP3に移行し、DTMF信号を検出しない場合には処理をP10に移行する(P2)。
【0077】
ここで、第1の実施形態では、説明便宜上、P1のDTMF検出処理はデジット値の変化を「検出」するものとする。すなわち、同じ信号が入力されている場合には「非検出」とし、異なる信号が入力されると「検出」とする。
【0078】
DTMF信号が検出されると、DTMF検出部12は「DTMF_flg」を判定し、「DTMF_flg」の判定結果が、「1」の場合はDTMFパケットの送信中と判断して処理をP21(図8)に移行し、「0」の場合はDTMFパケットの非送信と判断して処理をP4に移行する(P3)。
【0079】
P4において、DTMF検出部12は、「DTMF_link」をNULLに初期化し、未送信のDTMFペイロードがない状態にする(P4)。
【0080】
そして、DTMF検出部12は、「DTMF_flg」を「1」に設定し、すなわちDTMFパケットの送信状態を送信中状態に設定し、検出されたDTMF信号のデジット値を「DTMF_dij」に保存しておく(P5)。
【0081】
DTMF検出部12は、入力されたRTPパケットのペイロード時間を取得し、図4の生成パケットテーブルを参照して、ペイロード時間に対応するDTMFパケット数を取り出して、DTMFパケット数を設定する(P6)。
【0082】
例えば、端末21からのRTPパケットのペイロード時間(Nms)がN=20msである場合、図4を参照して、DTMFパケット数は「4」である。従って、DTMF検出部12は、「DTMF_suu」に4を設定する。
【0083】
また、DTMF検出部12は、入力されたRTPパケットのペイロード時間に基づいて、ENDパケット数を設定する(P7)。
【0084】
例えば、ペイロード時間が20msである場合、DTMF検出部12は、DTMFパケット数の設定と同様に、図4を参照して、ペイロード時間(20ms)に基づいてENDパケット「3」を取り出し、「END_suu」に「3」を設定する。
【0085】
P6及びP7の処理が終了すると、DTMF検出部12は処理をP11に移行する。
【0086】
一方、P2において、DTMF信号が非検出の場合、DTMF検出部12は「DTMF_flg」を判定し、「DTMF_flg」の判定結果が、「1」の場合はDTMFパケットの送信中と判断して処理をP11に移行し、「0」の場合はDTMFパケットの非送信と判断して処理をP20に移行する(P10)。
【0087】
P11では、DTMF検出部12が、「DTMF_suu」に設定されている値を判定する。そして、「DTMF_suu」が「0」の場合には、処理をP15に移行し、「0」でない場合には、処理をP12に移行する(P11)。
【0088】
すなわち、P11の処理は、DTMF信号のデジット値に変化がない場合であって、当該DTMF信号の送信中であるときには、当該DTMF信号の送信を継続するようにする。また、DTMF信号のデジット値に変化があった場合であって、既に変化前のデジット値のDTMF信号の送信が終了しているときには、変化後のデジット値のDTMF信号の送信を行うようにする。
【0089】
「DTMF_suu」が「0」でない場合、DTMF検出部12は、「DTMF_suu」の値から1をデクリメントし(P12)、「DTMF_dij」に設定されているDTMF信号のデジット値に基づいて、DTMFパケットのペイロードを作成する(P13)。
【0090】
図9は、DTMF検出部12が作成するDTMFパケットのペイロードデータ例である。図9のように具体的に、DTMF検出部12は、検出したDTMF信号のデジット値、すなわち「DTMF_dij」に設定されている値を、DTMFペイロードの「event」フィールドに設定する。また、DTMF検出部12は、「E」ビット及び「R」ビットに「0」を設定し、さらに設定部15からの値「x」を「volume」フィールドに設定する。
【0091】
図11は、第1の実施形態のアウトバンドDTMFパケットのリンクアドレスを説明する説明図である。
【0092】
DTMF検出部12は、「DTMF_link」が「NULL」であるか否かを判断し、作成したDTMFペイロードの「DTMF_link」が「NULL」でない場合、DTMF検出部12は、今回作成したDTMFペイロードが最終にチェインするようにリンクさせる。一方、「DTMF_link」が「NULL」の場合、DTMF検出部12は、作成したDTMFペイロードを先頭にチェインするようにリンクさせる。
【0093】
P13で作成したDTMFペイロードを「DTMF_link」から取り出し、DTMF検出部12は、作成したアウトバンドDTMFパケットをRTPパケット出力部14に出力する。そして、出力後、DTMF検出部12は「DTMF_link」を「NULL」にする(P14)。
【0094】
一方、P11において、「DTMF_suu」が「0」である場合、DTMF検出部12は、「END_suu」の値から1をデクリメントし(P15)、「DTMF_dij」に設定されているDTMF信号のデジット値に基づいて、ENDパケットのペイロードを作成する(P16)。これにより、全てのDTMFパケットの送信後に、ENDパケットの送信処理を進めることができる。
【0095】
図10は、DTMF検出部12が作成するENDパケットのペイロードデータ例である。図10のように具体的に、DTMF検出部12は、検出したDTMF信号のデジット値、すなわち「DTMF_dij」に設定されている値を、ENDパケットのペイロードの「event」フィールドに設定する。また、DTMF検出部12は、「E」ビットに「1」を設定し、「R」ビットに「0」を設定し、さらに設定部15からの値「x」を「volume」フィールドに設定する。
【0096】
また、作成したDTMFペイロードは、図11で示す「DTMF_link」がNULLで無い場合は最終にチェインする。「DTMF_link」がNULLの場合は作成したDTMFペイロードを先頭にチェインする。
【0097】
次に、DTMF検出部12は、「END_suu」の値を判定し、「END_suu」の値が「0」でない場合、処理をP19に移行させ、「END_suu」の値が「0」の場合、処理をP18に移行する(P17)。
【0098】
「END_suu」の値が「0」の場合、DTMF検出部12は「DTMF_flg」に「0」を設定する(P18)。
【0099】
P19では、P16で作成したENDパケットのDTMFペイロードを「DTMF_link」から取り出し、DTMF検出部12がENDパケットをRTPパケット出力部14に出力する。また出力後、DTMF検出部12は「DTMF_link」を「NULL」にする(P19)。
【0100】
P20では、アウトバンドDTMFパケットがないので、DTMF検出部12はNULLを出力する(P20)。
【0101】
P3において、「DTMF_flg」が「1」であり、DTMFパケットが送信中である場合、図8のP21に移行する。
【0102】
図8のP21〜P26は、送信中のDTMFペイロードを全て出力するための処理である。
【0103】
まず、P21において、DTMF検出部12は、「DTMF_suu」を判定し、「DTMF_suu」が「0」で無い場合、処理をP22に移行し、「DTMF_suu」がが「0」の場合、処理をP24に移行する(P21)。
【0104】
DTMF検出部12は、「DTMF_suu」の値から1をデクリメントし(P22)、検出したDTMF信号のデジット値「DTMF_dij」の値を、DTMFパケットのペイロードのeventフィールドに設定し、「E」ビットと「R」ビットに「0」を設定する。さらに、DTFM検出部12は、DTMFペイロードの「volume」フィールドは、設定部15から入力される「x」値を設定する。
【0105】
作成したDTMFペイロードは、図11で示す「DTMF_link」が「NULL」で無い場合は最終にチェインする。「DTMF_link」が「NULL」の場合は作成したDTMFペイロードを先頭にチェインする。
【0106】
P24において、DTMF検出部12は、「END_suu」の値から1をデクリメントし(P24)、図10に示すDTMFペイロードを設定する(P25)。
【0107】
具体的には、DTMF検出部12が検出したDTMF信号のデジット値「DTMF_dij」の値を、DTMFペイロードの「event」フィールドに設定し、「E」ビットに「1」を、「R」ビットに「0」を設定する。さらに、DTMF検出部12は、DTMFペイロードの「volume」フィールドに、設定部15から入力される「x」値を設定する。
【0108】
作成したDTMFペイロードは、図11で示す「DTMF_link」が「NULL」で無い場合は最終にチェインする。「DTMF_link」が「NULL」の場合は作成したDTMFペイロードを先頭にチェインする。
【0109】
P26では、DTMF検出部12が「END_suu」の値を判定し、「END_suu」が「0」で無い場合は処理をP24に移行し、「END_suu」が「0」の場合は処理をP5に移行する。
【0110】
図12は、メディア変換装置1における具体的な動作例を説明する説明図である。以下では、図7及び図8のフローチャートの処理に対応させて具体的な説明する。
【0111】
ここでは、端末21のRTPパケットのペイロード時間が20msである場合を例示する。また、メディア変換装置1において、7個のアウトバンドDTMFパケットを送信する出力シーケンス中に、インバウンドDTMFのデジット値が「1」から「2」に変化した場合の動作を説明する。
【0112】
まず、メディア変換装置1において、音声復号部11は、RTPペイロードであるG.711データが入力されると、このデータを復号し、PCMデータ及びペイロード時間(20ms)をDTMF検出部12に出力する。
【0113】
ここでは、デジット値「1」のDTMF信号が入力されるとする。DTMF検出部12において、デジット値「1」のDTMF信号が検出される(P1、P2)。
【0114】
このとき、メディア変換装置1はDTMF信号の非送信の状態であるから、「DTMF_flg」は「0」である(P3)。従って、DTMF検出部12において、「DTMF_link」が「NULL」となり(P4)、「DTMF_flg」に「1」が設定され、「DTMF_dij」にデジット値「1」が設定される(P5)。
【0115】
次に、「DTMF_suu」に「4」が設定され(P6)、「END_suu」に「3」が設定される(P7)。
【0116】
そして、P11において「DTMF_suu」が「0」でないため、「DTMF_suu」の値より「1」が減算される(P12)。
【0117】
P13の実行により、図9に示すDTMFペイロード形式で「event」=1、「E」=0、「R」=0、「volume」=xと設定され、そのペイロードを「DTMF_link」の先頭にリンクする。
【0118】
P14の実行により、P13で作成されたアウトバンドDTMFペイロードがRTPパケット出力部14に与えられ、RTPパケット出力部14がRTPパケットを作成し、その作成したRTPパケットが出力される。
【0119】
その後、デジット値1のDTMF信号のRTPパケットがメディア変換装置1に入力されると、デジット値の変化はないので、P2で「非検出」と判定される。更に、DTMFパケットの送信中であるため、P10で「DTMF_flg」が「1」と判定され、「DTMF_suu」が「0」になるまでP11〜P14の処理が繰り返される。
【0120】
デジット値「1」のアウトバンドDTMFパケットの出力シーケンス中に、デジット値「2」のRTPパケットが入力されると、P2で「検出」と判定される。
【0121】
このとき、メディア変換装置1は、デジット値「1」のDTMFパケットの出力シーケンス中であるから、「DTMF_flg」は「1」であるため(P3)、処理は図8のP21に移行する。
【0122】
例えば、デジット値「2」のDTMF信号を検出したとき、デジット値「1」の7個のアウトバンドDTMFパケットのうち、4個のDTMFパケットは既に送信しており、3個のENDパケットが未送信であるとする。
【0123】
そうすると、このとき、「DTMF_suu」が「0」であり、「END_suu」が「0」でないという状態であるから、処理はP24に移行して、「END_suu」が「0」になるまで、ENDパケットのDTMFペイロードが作成され(P24〜P26)、3個のENDパケットが出力される。
【0124】
すなわち、P25の実行により、図10に示すDTMFペイロード形式で「event」=1、「E」=1、「R」=0、「volume」=xが設定され、そのペイロードを「DTMF_link」の先頭から3つリンクされる。
【0125】
また、「END_suu」が「0」になると、処理は図7のP5に移行して、今回検出したデジット値「2」が「DTMF_dij」に設定される(P5)。
【0126】
つまり、未送信であった3個のENDパケットのDTMFペイロードが作成された後、今回検出されたデジット値「2」を「DTMF_dij」にセットし、デジット値「2」のDTMFパケットのDTMFペイロードが作成される。
【0127】
なお、このとき、「DTMF_dij」の値を変えるまで、DTMF検出部12は、一時的に今回検出したデジット値「2」の値を保持しておくようにしてもよい。また、例えば、デジット値「1」から「2」、更に「2」から「3」等のように続けて変化する場合もある。この場合には、DTMF検出部12は、検出した順序でデジット値を保持しておくようにしてもよい。
【0128】
図7のP5において、デジット値「2」のDTMF信号について、「DTMF_dij」に「2」が設定されると、P6及びP7の実行により、「DTMF_suu」が「4」、「END_suu」が「3」に設定される(P6、P7)。
【0129】
そして、P11において、「DTMF_suu」が「0」でないと判定され、P12の実行で「DTMF_suu」の値より「1」が減算される。
【0130】
P13の実行により、図9に示すDTMFペイロード形式で、「event」=2、「E」=0、「R」=0、「volume」=xが設定され、そのペイロードを「DTMF_link」の最終にリンクする。
【0131】
P14の実行により、P13で作成されたデジット値「2」のDTMFペイロードがRTPパケット出力部14に与えられ、RTPパケット出力部14がRTPパケットを作成して、DTMFパケットが出力される。
【0132】
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、あるデジット値のアウトバンドDTMFパケットを出力中に、端末21が出力するインバウンドDTMFのデジット値が変化しても、メディア変換装置1は送信途中のアウトバンドDTMFパケットを端末22に全て送信した後に、新たなデジット値のアウトバンドDTMFパケットを送信することにより、端末B22でDTMFの桁落ちや、メディア変換装置1内部の遅延が発生することなくインバウンドからアウトバンドDTMF変換処理が可能となる。
【0133】
(B)第2の実施形態
次に、本発明の信号方式変換装置及び信号方式変換プログラムの第2の実施形態を、図面を参照しながら説明する。
【0134】
(B−1)第2の実施形態の構成
図13は、第2の実施形態のネットワークの概略的な接続構成と、メディア変換装置の内部構成とを示す構成図である。
【0135】
第2の実施形態が第1の実施形態と異なる点は、メディア変換装置のDTMF検出部がタイマー部を有する点である。それ以外の構成要素は、第1の実施形態と同じであるので、第1の実施形態で既に説明した各構成要素については同じ番号を付している。
【0136】
図13において、第2の実施形態のネットワーク10は、メディア変換装置1、端末21、端末22を有して構成される。
【0137】
また、メディア変換装置1は、音声復号部11、DTMF検出部12、音声符号化部13、RTPパケット出力部14、設定部15を有して構成される。
【0138】
メディア変換装置1は、第1の実施形態で説明した処理に加えて、パケットロスによる遅延を低減させるために、DTMF検出部12が、タイマー処理を行う。すなわち、DTMF検出部12は、タイマー処理部121を有する。
【0139】
タイマー処理部121は、DTMF検出部12がDTMF信号を検出した場合に、タイマーを起動させ、所定のタイマー時間(例えば、20ms)の計時を行う。
【0140】
そして、そのタイマー時間内に、RTPパケットが入力されたときには、タイマー処理部121は、タイマーをリセット(再起動)する。
【0141】
一方、そのタイマー時間内に、RTPパケットが入力されないときには、タイマー処理部121は、DTMF検出部12によるDTMFペイロードの作成処理を進行させるようにする。
【0142】
すなわち、例えばパケットロス等によりRTPパケットに遅延が生じしている場合でも、タイマー時間経過後に、DTMF検出部12が、残りのDTMFペイロードの作成処理を行うことで、まだ送信されていない残りのDTMFパケット又は残りのENDパケットの送信を行うことができ、遅延を低減することができる。
【0143】
(B−2)第2の実施形態の動作
次に、第2の実施形態のメディア変換装置1における処理の動作を、図面を参照しながら説明する。
【0144】
第2の実施形態のメディア変換装置1におけるDTMF信号の変換処理は、基本的には、第1の実施形態と同じである。異なる点は、DTMF検出部12において、タイマー処理部121がタイマー管理を行う点である。
【0145】
そこで、第2の実施形態では、図7及び図8のフローチャートを参照しながら、DTMF検出部12のタイマー処理の動作を説明する。
【0146】
第2の実施形態も、第1の実施形態と同様に、端末21からのRTPパケットのペイロード時間は20msであり、端末21はG.711の規格化技術により音声符号化を行うものとする。
【0147】
また、メディア変換装置1は、デジット値「1」の7個のアウトバンドDTMFパケットを送信する出力シーケンスにおいて、パケットロス等により、メディア変換装置1にRTPパケットが入力されない場合の動作を説明する。
【0148】
図7において、DTMF検出部12が、音声復号部11からのPCMデータに基づいてDTMF信号を検出し(P1)、デジット値「1」のDTMF信号を検出すると(P2)、タイマー処理部121はタイマー時間(例えば、20ms)を起動する。
【0149】
なお、タイマーの起動後は、DTMF検出部12は処理をP3に移行させ、DTMF検出部12はP3以降の処理を行う。
【0150】
タイマー処理部121は、次のRTPパケットが入力されない場合、すなわちPCMデータがDTMF検出部12に入力されない場合、DTMF検出部12は、処理をP10に移行して、P10以降の処理を行う。
【0151】
つまり、デジット値を検出した時点(P2の検出ルート)で20msタイマーを起動し、P3以降の処理を完了し、メディア変換装置1はRTPパケットの入力を待つが、RTPパケットが入力せず、タイマー時間が満了となったときには、DTMF検出部12は、P10の処理ルートを実行により、アウトバンドDTMFパケットが出力可能となる。
【0152】
一方、タイマー処理部121は、タイマー時間内に、次のRTPパケットが入力され、PCMデータがDTMF検出部12に与えられると、タイマー時間をリセット(再起動)する。
【0153】
(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、パケットロス発生でもDTMF処理を実施することが可能になり、リアルタイムに処理可能となる。
【0154】
なお、タイマー時間を短くし過ぎると、P10処理ルート以降が走行し、P1のDTMF検出処理を行う処理ルートが走行しないためDTMF信号を検出できないケースも生じるので、注意が必要である。
【0155】
(C)他の実施形態
本発明は、メディア変換装置を対象に述べたが、コーデック変換の有無に関わらず、RTPパケットを中継しインバウンドからアウトバンドDTMFに変換するする装置に適用可能である。
【符号の説明】
【0156】
1…メディア変換装置、11…音声復号部、12…DTMF検出部、
13…音声符号化部、14…RTPパケット出力部、15…設定部、
121…タイマー処理部、10…ネットワーク、21及び22…端末。
【特許請求の範囲】
【請求項1】
入力された音声信号に含まれる第1の周波数重畳信号を、所定の信号方式の第2の周波数重畳信号に変換する信号方式変換装置において、
入力された音声信号に基づいて上記第1の周波数重畳信号を検出する周波数重畳信号検出手段と、
上記周波数重畳信号検出手段により上記第1の周波数重畳信号のデジット値の変化が検出されると、変化前のデジット値に関連する上記第2の周波数重畳信号が送信中であるか否かを判定する判定手段と、
上記周波数重畳信号検出手段により検出された上記第1の周波数重畳信号に基づいて、所定の信号方式の上記第2の周波数重畳信号を作成する信号作成手段と、
上記信号作成手段により作成された上記第2の周波数重畳信号を含む信号を出力する出力手段と
を備え、
上記信号作成手段は、上記判定手段により、上記デジット値が変化したときに、変化前のデジット値に関連する上記第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての上記第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する上記第2の周波数重畳信号を作成するものである
ことを特徴とする信号方式変換装置。
【請求項2】
上記信号作成手段が、上記周波数重畳信号を検出してから所定時間経過後しても、次の上記音声信号が入力しない場合、未送信の上記第2の周波数重畳信号を作成するものであることを特徴とする請求項1に記載の信号方式変換装置。
【請求項3】
入力された音声信号に含まれる第1の周波数重畳信号を、所定の信号方式の第2の周波数重畳信号に変換する信号方式変換プログラムにおいて、
コンピュータを、
入力された音声信号に基づいて上記第1の周波数重畳信号を検出する周波数重畳信号検出手段、
上記周波数重畳信号検出手段により上記第1の周波数重畳信号のデジット値の変化が検出されると、変化前のデジット値に関連する上記第2の周波数重畳信号が送信中であるか否かを判定する判定手段、
上記周波数重畳信号検出手段により検出された上記第1の周波数重畳信号に基づいて、所定の信号方式の上記第2の周波数重畳信号を作成する信号作成手段、
上記信号作成手段により作成された上記第2の周波数重畳信号を含む信号を出力する出力手段
として機能させるものであり、
上記信号作成手段が、上記判定手段により、上記デジット値が変化したときに、変化前のデジット値に関連する上記第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての上記第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する上記第2の周波数重畳信号を作成するものである
ことを特徴とする信号方式変換プログラム。
【請求項1】
入力された音声信号に含まれる第1の周波数重畳信号を、所定の信号方式の第2の周波数重畳信号に変換する信号方式変換装置において、
入力された音声信号に基づいて上記第1の周波数重畳信号を検出する周波数重畳信号検出手段と、
上記周波数重畳信号検出手段により上記第1の周波数重畳信号のデジット値の変化が検出されると、変化前のデジット値に関連する上記第2の周波数重畳信号が送信中であるか否かを判定する判定手段と、
上記周波数重畳信号検出手段により検出された上記第1の周波数重畳信号に基づいて、所定の信号方式の上記第2の周波数重畳信号を作成する信号作成手段と、
上記信号作成手段により作成された上記第2の周波数重畳信号を含む信号を出力する出力手段と
を備え、
上記信号作成手段は、上記判定手段により、上記デジット値が変化したときに、変化前のデジット値に関連する上記第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての上記第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する上記第2の周波数重畳信号を作成するものである
ことを特徴とする信号方式変換装置。
【請求項2】
上記信号作成手段が、上記周波数重畳信号を検出してから所定時間経過後しても、次の上記音声信号が入力しない場合、未送信の上記第2の周波数重畳信号を作成するものであることを特徴とする請求項1に記載の信号方式変換装置。
【請求項3】
入力された音声信号に含まれる第1の周波数重畳信号を、所定の信号方式の第2の周波数重畳信号に変換する信号方式変換プログラムにおいて、
コンピュータを、
入力された音声信号に基づいて上記第1の周波数重畳信号を検出する周波数重畳信号検出手段、
上記周波数重畳信号検出手段により上記第1の周波数重畳信号のデジット値の変化が検出されると、変化前のデジット値に関連する上記第2の周波数重畳信号が送信中であるか否かを判定する判定手段、
上記周波数重畳信号検出手段により検出された上記第1の周波数重畳信号に基づいて、所定の信号方式の上記第2の周波数重畳信号を作成する信号作成手段、
上記信号作成手段により作成された上記第2の周波数重畳信号を含む信号を出力する出力手段
として機能させるものであり、
上記信号作成手段が、上記判定手段により、上記デジット値が変化したときに、変化前のデジット値に関連する上記第2の周波数重畳信号が送信中であると判定された場合、変化前のデジット値に関連する全ての上記第2の周波数重畳信号を出力した後に、変化後のデジット値に関連する上記第2の周波数重畳信号を作成するものである
ことを特徴とする信号方式変換プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−115574(P2013−115574A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−259338(P2011−259338)
【出願日】平成23年11月28日(2011.11.28)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【出願人】(591089556)株式会社 沖情報システムズ (276)
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年11月28日(2011.11.28)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【出願人】(591089556)株式会社 沖情報システムズ (276)
【Fターム(参考)】
[ Back to top ]