(57)【要約】【課題】通話録音装置にて音声ファイルを作成する場合に、保存したパケットのタイムスタンプにより時系列に構築しているため、コンピュータネットワークの遅延により再生されなかったパケットも含めて構築される。【解決手段】通話録音装置にて受話者と音声処理装置との通話データを受信した時に、リアルタイムに再生用の音声ファイルを作成する。これにより、コンピュータネットワークの遅延により再生されなかったパケットを破棄出来るようになり、音声処理装置が受信/発信した通話内容と同じ音声ファイルを作成する。【選択図】図１２
2007174188.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続して、このネットワークに流れるＲＴＰパケットを記録する通話録音装置において、
ｎ個のＲＴＰパケットをシーケンス順に並べるＲＴＰパケット格納テーブルと、該ＲＴＰパケット格納テーブルの先頭シーケンス番号を指し示すシーケンス番号テーブルとからなるジッタバッファを有することを特徴とする通話録音装置。
【請求項２】
請求項１に記載の通話録音装置であって、
受信したＲＴＰパケットの第１のシーケンス番号が、前記シーケンス番号テーブルに記載された第２のシーケンス番号以下であるとき、前記受信したＲＴＰパケットを廃棄することを特徴とする通話録音装置。
【請求項３】
請求項１または請求項２に記載の通話録音装置であって、
受信したＲＴＰパケットの第１のシーケンス番号が、前記シーケンス番号テーブルに記載された第２のシーケンス番号にｎを加えた値を超えているとき、前記受信したＲＴＰパケットを廃棄することを特徴とする通話録音装置。
【請求項４】
ネットワークに接続して、このネットワークに流れるＲＴＰパケットを記録する通話録音装置において、
ｎ個の上りＲＴＰパケットをシーケンス順に並べるＲＴＰパケット格納テーブルと、該ＲＴＰパケット格納テーブルの先頭シーケンス番号を指し示すシーケンス番号テーブルとからなるジッタバッファと、
前記ジッタバッファからの上り音声データと、下り音声データとから、音声ファイルを出力するミキシングバッファとを含むことを特徴とする通話録音装置。
【請求項５】
請求項４に記載の通話録音装置であって、
受信した上りＲＴＰパケットの第１のシーケンス番号が、前記シーケンス番号テーブルに記載された第２のシーケンス番号にｎを加えた値を超えているとき、前記受信した上りＲＴＰパケットを廃棄することを特徴とする通話録音装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークに接続した通話録音装置に係り、特に装置が実際に受信した音声ファイルを作成する通話録音装置に関する。
【背景技術】
【０００２】
特許文献１または特許文献２に記載された発明は、コンピュータネットワーク上に流れる音声データをパケットのまま保存している。特許文献１または特許文献２に記載された発明は、通話データを再生する時に、保存していたパケットに含まれるタイムスタンプにより、パケットを時系列に構築して音声ファイルを作成する。
【０００３】
【特許文献１】特表２００２−５２４００４号公報
【特許文献２】特表２００４−５０９５６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１または特許文献２に記載された発明を、音声処理装置の記録用に適用することを考える。特許文献１または特許文献２に記載された発明は、通話データを再生する時に、保存していたパケットに含まれるタイムスタンプにより、パケットを時系列に構築して音声ファイルを作成する。この結果、ネットワークの遅延により音声処理装置が受信出来なかったパケットを含めて、音声ファイルが構築される。
【０００５】
このため、音声処理装置が実際に受信した音声がわからないため、音声処理装置のユーザからの苦情に対し、顧客窓口での対応が出来ない場合がある。
本発明の目的は、受信側が実際に受信した音声と同じ音声を再生する事ができる通話録音装置を提供することある。
【課題を解決するための手段】
【０００６】
上述した課題は、ｎ個のＲＴＰパケットをシーケンス順に並べるＲＴＰパケット格納テーブルと、ＲＴＰパケット格納テーブルの先頭シーケンス番号を指し示すシーケンス番号テーブルとからなるジッタバッファを有する通話録音装置により解決できる。
【０００７】
また、ｎ個の上りＲＴＰパケットをシーケンス順に並べるＲＴＰパケット格納テーブルと、ＲＴＰパケット格納テーブルの先頭シーケンス番号を指し示すシーケンス番号テーブルとからなるジッタバッファと、ジッタバッファからの上り音声データと、下り音声データとから、音声ファイルを出力するミキシングバッファとを含む通話録音装置により解決できる。
【発明の効果】
【０００８】
本発明によれば、コンピュータネットワークを使用した音声応答サービスのシステムにおいて、実際の通話内容を正確に録音する通話録音装置を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態に付いて、実施例を用いて図面を参照しながら説明する。なお、同一部位には同じ参照番号を振り、説明は繰り返さない。
【００１０】
図１は、音声処理システムの構成を説明するブロック図である。音声処理システム１００では、発呼者がボタン式ＩＰ電話機１を操作してＰＢ信号を入力する。入力されたＰＢ信号は、ＲＴＰ（Realtime Transport Protocol）パケット（上り）２としてＩＰ網３とＳＩＰ（Session Initiation Protocol）サーバー４を通じて、音声処理装置５に送信される。音声処理装置５はＲＴＰパケット２（上り）の解析を行い、出力する音声を設定して発呼者１に対し音声を出力する。出力された音声は、ＲＴＰパケット（下り）６として発呼者１のボタン式ＩＰ電話１に送信される。
【００１１】
通話録音装置７は、音声処理装置５とＳＩＰサーバー４との間にあり、ＲＴＰパケット（上り）２とＲＴＰパケット（下り）６を受信して、音声ファイルを作成する。
【００１２】
図２は、通話録音装置がＲＴＰパケットを受信してから音声ファイルを作成する機能構成を説明する図である。通話録音装置７が受信したＲＴＰパケット（上り）２とＲＴＰパケット（下り）６は、それぞれジッタバッファ（上り）１１とジッタバッファ（下り）１２に一時的に格納する。ジッタバッファ（上り）１１とジッタバッファ（下り）１２では、ＲＴＰパケット２/６をＲＴＰパケットに付与されているシーケンス番号順に並べる。そして一定時間（バッファ時間）が経つと、ジッタバッファ１１、１２に格納されているＲＴＰパケット１３を、ミキシングバッファ１４にそれぞれ送信する。ミキシングバッファ１４では、２つのＲＴＰパケット１３から音声ファイル１５を作成する。
【００１３】
図３は通話録音装置のハードウェアブロック図である。通話録音装置７は、バス７１で相互接続されたＣＰＵ（中央演算装置）７２とメモリ７３とＮＩＣ（Network Interface Card）７４とハードディスク装置７５とで構成される。NIC７４は、LAN/WANとのインターフェースである。図２を用いて説明した機能は、メモリ７３が保持するプログラムをＣＰＵ７２が実行することによって、達成されている。
【００１４】
図４は、ＲＴＰパケットのヘッダの構成を説明する図である。Ｖ（Version）１６は、ＲＴＰのバージョンを示す。Ｐ（Padding）１７は、このビットが「１」の時は、パケットの最後にサイズ調整用のデータ（パディング）が挿入されていることを示す。Ｘ（eXtension header）１８は、このビットが「１」の時は、拡張ヘッダが付加されていることを示す。ＣＣ（Contributing source Count）１９は、ＣＳＲＣ（Contributing Source）識別子の数を示す。Ｍ（Marker）２０は、ペイロードタイプ毎に定義される。ＰＴ（Payload Type）２１はペイロードタイプを示す。シーケンス番号２２は、ＲＴＰパケットの順序の保証と、パケットロスを検出するために使用される。タイムスタンプ２３は、ＲＴＰパケットの第１オクテットのクロック値を示す。同期送信元識別子２４は、送信元を識別するために使用する。寄与送信元（ＣＳＲＣ）識別子２５は、ストリームに関係する送信元のリストを示す。拡張ヘッダ２６は、ＲＴＰパケットにより有無がある。
【００１５】
図５は、ジッタバッファの構成を説明する図である。ジッタバッファ１１/１２は、ＲＴＰパケットを１〜ｎ個まで格納するＲＴＰパケット格納テーブル２８と、ミキシングバッファに渡したＲＴＰパケットの最後のシーケンス番号を格納するシーケンス番号テーブル２９で構成される。
【００１６】
図６は、ジッタバッファからミキシングバッファへＲＴＰパケットを送信する処理を説明する図である。ジッタバッファ１１/１２のシーケンス番号テーブル２９に「０」、ＲＴＰパケット格納テーブル２８にシーケンス番号「１」〜「ｎ」のＲＴＰパケット２/６が格納されている状態で、ジッタバッファは一定時間（バッファ時間）が経つと、ＲＴＰパケット格納テーブル２８に格納しているＲＴＰパケット２/６の内、シーケンス番号テーブルのシーケンス番号１からｍ個分のＲＴＰパケット２/６をミキシングバッファ１４へに送信する。その時、最後に送信したＲＴＰパケットのシーケンス番号の「ｍ」を、シーケンス番号テーブル２９に上書きする。
【００１７】
図７は、ジッタバッファのＲＴＰパケット格納テーブルが空の状態でＲＴＰパケットを受信した場合の処理を説明する図である。ジッタバッファ１１/１２のシーケンス番号テーブル２９の値が「０」で、ＲＴＰパケット格納テーブル２８にＲＴＰパケットが何も格納されていない状態で、シーケンス番号が「１」のＲＴＰパケット２/６を受信した場合は、このＲＴＰパケット２/６をＲＴＰパケット格納テーブル２８の１番目に格納する。
【００１８】
図８は、ジッタバッファのＲＴＰパケット格納テーブルにＲＴＰパケットが１つ以上格納されている状態で、格納済みのＲＴＰパケットのシーケンス番号と、受信したＲＴＰパケットのシーケンス番号が連続している場合の処理を説明する図である。ジッタバッファ１１/１２のシーケンス番号テーブル２９の値が「０」で、ＲＴＰパケット格納テーブル２９にシーケンス番号が「１」のＲＴＰパケットが格納されている状態で、シーケンス番号が「２」のＲＴＰパケット２/６を受信した場合は、このＲＴＰパケット２/６をＲＴＰパケット格納テーブル２８の２番目に格納する。
【００１９】
図９は、ジッタバッファのＲＴＰパケット格納テーブルにＲＴＰパケットが１つ以上格納されている状態で、格納済みのＲＴＰパケットのシーケンス番号と、受信したＲＴＰパケットのシーケンス番号が不連続の場合の処理を説明する図である。ジッタバッファ１１/１２のシーケンス番号テーブル２９の値が「０」で、ＲＴＰパケット格納テーブル２８にシーケンス番号が「１」のＲＴＰパケットが格納されている状態で、シーケンス番号が「３」のＲＴＰパケット２/６を受信した場合は、このＲＴＰパケット２/６をＲＴＰパケット格納テーブル２８の２番目ではなく３番目に格納する。
【００２０】
図１０は、ジッタバッファのＲＴＰパケット格納テーブルの未格納領域に格納すべきＲＴＰパケットを受信した場合の処理を説明する図である。ジッタバッファ１１/１２のシーケンス番号テーブル２９が「０」で、ＲＴＰパケット格納テーブル２８にシーケンス番号「１」のＲＴＰパケットと、シーケンス番号「３」のＲＴＰパケットが格納されている状態で、シーケンス番号「２」のＲＴＰパケット２/６を受信した場合は、このＲＴＰパケット２/６をＲＴＰパケット格納テーブル２８の２番目に格納する。
【００２１】
図１１は、ジッタバッファのＲＴＰパケットテーブルにＲＴＰパケットが全て格納されている場合に、ＲＴＰパケットを受信した場合の処理を説明する図である。ジッタバッファ１１/１２のシーケンス番号テーブル２９が「０」で、ＲＴＰパケット格納テーブル２８にシーケンス番号「１」から「ｎ」までのＲＴＰパケットが格納されている状態で、シーケンス番号「ｎ＋１」のＲＴＰパケット２/６を受信した場合、このＲＴＰパケット２/６は破棄する。
【００２２】
図１２は、ジッタバッファが受信したＲＴＰパケットのシーケンス番号が、シーケンス番号テーブルの値以下の場合の処理を説明する図である。ジッタバッファ１１/１２のシーケンス番号テーブル２９の値が「１０」で、シーケンス番号が「９」のＲＴＰパケット２/６を受信した場合は、このＲＴＰパケット２/６はＲＴＰパケット格納テーブル２８には格納せずに破棄する。この破棄は、ネットワークの遅延によりＲＴＰパケットが遅れて受信した場合に発生する。ＩＰ網３で遅延した上りＲＴＰパケットの音声は、実際には音声処理装置５が受信していない。
【００２３】
本実施例では、遅延したＲＴＰパケットを破棄することで、音声処理装置５が受信した発呼者の音声と、それに対する音声処理装置５の応答音声との音声ファイル１５を作成する。
【００２４】
図１３と図１４を用いて、ジッタバッファの動作フローを説明する。ここで、図１３はジッタバッファのＲＴＰパケット取得を説明するフロー図である。図１４はジッタバッファのミキシングバッファへのＲＴＰパケット転送を説明するフロー図である。
【００２５】
図１３において、ジッタバッファ１１/１２がＲＴＰパケット２/６を受信すると、ＲＴＰパケット２/６のシーケンス番号と、ジッタバッファ２/６のシーケンステーブル２９のシーケンス番号を比較する。ＲＴＰパケット２/６のシーケンス番号が、シーケンステーブル２９のシーケンス番号以下であったとき（Ｓ１０１でＮｏ）、当該ＲＴＰパケット２/６を破棄する。ＲＴＰパケット２/６のシーケンス番号が、シーケンステーブル２９のシーケンス番号を超えていたとき（Ｓ１０１でＹｅｓ）、ＲＴＰパケット２/６のシーケンス番号と、ジッタバッファ２/６のシーケンステーブル２９のシーケンス番号＋ｎを比較する。ここで、ｎはＲＴＰパケット格納テーブル２８の最大バッファパケット数である。
【００２６】
ＲＴＰパケット２/６のシーケンス番号が、シーケンステーブル２９のシーケンス番号＋ｎ以下のとき（Ｓ１０２でＹｅｓ）、ＲＴＰパケット２/６をＲＴＰパケット格納テーブル２８の該当するシーケンス位置に格納する。一方、ＲＴＰパケット２/６のシーケンス番号が、シーケンステーブル２９のシーケンス番号＋ｎを超えていたとき（Ｓ１０２でＮｏ）、当該ＲＴＰパケット２/６を破棄する。
【００２７】
図１４において、ジッタバッファ１１/１２は、バッファ時間経過ごとに、ＲＴＰパケット格納テーブル２８の１〜ｍ番目のＲＴＰパケットを、ＲＴＰパケット１３として、ミキシングバッファ１４へ送信する（Ｓ１１１）。次に、ジッタバッファ１１/１２は、ＲＴＰパケット格納テーブル２８の（ｍ＋１）〜ｎ番目のＲＴＰパケットを、ＲＴＰパケット格納テーブル２８の１〜（ｎ−ｍ）番目に移動する（Ｓ１１２）。さらに、ジッタバッファ１１/１２は、シーケンス番号テーブル２９のシーケンス番号にｍを加算する（Ｓ１１３）。
【００２８】
なお、上述した実施例でジッタバッファは上りパケット用と下りパケット用とに設けたが、下りパケットの遅延はほとんど無いので、下りパケット用のジッタバッファの構造は、単純でよい。また、下りパケット用のジッタバッファを省いても良い。
【図面の簡単な説明】
【００２９】
【図１】音声処理システムの構成を説明するブロック図である。
【図２】通話録音装置がＲＴＰパケットを受信してから音声ファイルを作成するまで機能構成を説明する図である。
【図３】通話録音装置のハードウェアブロック図である。
【図４】ＲＴＰパケットのヘッダの構成を説明する図である。
【図５】ジッタバッファの構成を説明する図である。
【図６】ジッタバッファからミキシングバッファへＲＴＰパケットを送信する処理を説明する図である。
【図７】ジッタバッファのＲＴＰパケット格納テーブルが空の状態でＲＴＰパケットを受信した場合の処理を説明する図である。
【図８】ジッタバッファのＲＴＰパケット格納テーブルにＲＴＰパケットが１つ以上格納されている状態で、格納済みのＲＴＰパケットのシーケンス番号と、受信したＲＴＰパケットのシーケンス番号が連続している場合の処理を説明する図である。
【図９】ジッタバッファのＲＴＰパケット格納テーブルにＲＴＰパケットが１つ以上格納されている状態で、格納済みのＲＴＰパケットのシーケンス番号と、受信したＲＴＰパケットのシーケンス番号が不連続の場合の処理を説明する図である。
【図１０】ジッタバッファのＲＴＰパケット格納テーブルの未格納領域に格納すべきＲＴＰパケットを受信した場合の処理を説明する図である。
【図１１】ジッタバッファのＲＴＰパケットテーブルにＲＴＰパケットが全て格納されている場合に、ＲＴＰパケットを受信した場合の処理を説明する図である。
【図１２】ジッタバッファが受信したＲＴＰパケットのシーケンス番号が、シーケンス番号テーブルの値以下の場合の処理を説明する図である。
【図１３】ジッタバッファのＲＴＰパケット取得を説明するフロー図である。
【図１４】ジッタバッファのミキシングバッファへのＲＴＰパケット転送を説明するフロー図である。
【符号の説明】
【００３０】
１…ボタン式ＩＰ電話機、２…ＲＴＰパケット（上り）、３…ＩＰ網、４…ＳＩＰサーバー、５…音声処理装置、６…ＲＴＰパケット（下り）、７…通話録音装置、１１…ジッタバッファ（上り）、１２…ジッタバッファ（下り）、１３…ＲＴＰパケット、１４…ミキシングバッファ、１５…音声ファイル、１６…ＶＥＲＳＩＯＮ、１７…ＰＡＤＤＩＮＧ、１８…ＥＸＴＥＮＳＩＯＮ、１９…ＣＳＲＣＣＯＵＮＴ、２０…ＭＡＲＫＥＲ、２１…ＰＡＹＬＯＡＤＴＹＰＥ、２２…シーケンス番号、２３…タイムスタンプ、２４…同期送信元識別子、２５…寄与送信元識別子、２６…拡張ヘッダ、２８…ＲＴＰパケット格納テーブル、２９…シーケンス番号テーブル、７１…バス、７２…ＣＰＵ、７３…メモリ、７４…ＮＩＣ、７４…ハードディスク装置、１００…音声処理システム。
【図１】
2007174188.tif 000003
【図２】
2007174188.tif 000004
【図３】
2007174188.tif 000005
【図４】
2007174188.tif 000006
【図５】
2007174188.tif 000007
【図６】
2007174188.tif 000008
【図７】
2007174188.tif 000009
【図８】
2007174188.tif 000010
【図９】
2007174188.tif 000011
【図１０】
2007174188.tif 000012
【図１１】
2007174188.tif 000013
【図１２】
2007174188.tif 000014
【図１３】
2007174188.tif 000015
【図１４】
2007174188.tif 000016