(57)【要約】【課題】  複数のパケットに分割されて送信されてくるオーディオデータに応じて音声を再生する際の再生遅延を短くしつつ、パケットの欠落による影響を緩和する。【解決手段】  音声信号を所定のサンプリング間隔でサンプリングして得られるオーディオデータを、シーケンス番号が書き込まれたヘッダ部と所定のデータサイズのペイロード部とを有する複数のパケットのペイロード部に所定の時間間隔に応じた数分づつ書き込んで送信する送信装置であって、連続する複数の時間間隔の各々に応じたオーディオデータを１つのパケットのペイロード部にその時間間隔の順に書き込むとともに、連続するシーケンス番号を有する複数のパケットのペイロード部に、１つの時間間隔に応じたオーディオデータを均等に振り分けて書き込む送信装置を提供する。【選択図】      図３
2006279559.tif 000002
【特許請求の範囲】
【請求項１】
音声または映像を表す信号が入力される入力手段と、
前記信号を所定のサンプリング間隔でサンプリングして、各サンプリングタイミングにおける信号レベルに応じたデジタルデータを生成する生成手段と、
シーケンス番号が書き込まれたヘッダ部と所定のデータサイズのペイロード部とを有する複数のデータブロックを生成し、その各々のペイロード部に前記複数のデジタルデータを所定の時間間隔に応じた数分づつ書き込む書き込み手段と、
前記書き込み手段によりデジタルデータの書き込みが行われたデータブロックを通信網を介して送信する送信手段と、
を備え、
前記書き込み手段は、
所定の時間間隔における前記デジタルデータを抽出して振り分けて異なるデータブロックのペイロード部へ書き込む
ことを特徴とする送信装置。
【請求項２】
前記通信網にかかっている負荷を検出する検出手段を備え、
前記書き込み手段は、
前記検出手段により検出された負荷が所定の閾値を超えている場合には、前記時間間隔における前記信号の信号波形を表すデジタルデータを、連続するシーケンス番号を有する複数のデータブロックのペイロード部へ均等に振り分けて書き込むとともに、その振り分け方を表す識別子を各データブロックのヘッダ部へ書き込み、
前記検出手段により検出された負荷が前記所定の閾値以下である場合には、前記時間間隔における前記信号の信号波形を表すデジタルデータを、連続するシーケンス番号を有する複数のデータブロックのペイロード部へ重複して書き込むとともに、同一のデジタルデータが複数のデータブロックのペイロード部に書き込まれていることを表す識別子を各データブロックのヘッダ部へ書き込む
ことを特徴とする請求項１に記載の送信装置。
【請求項３】
シーケンス番号が書き込まれたヘッダ部を有するとともに、音声または映像を表す信号を所定のサンプリング間隔でサンプリングして得られるデジタルデータが所定の時間間隔分づつ書き込まれたペイロード部を有するデータブロックであって、連続する複数の前記時間間隔における前記信号の信号波形を表すデジタルデータが１つのデータブロックのペイロード部に書き込まれているとともに、前記時間間隔におけるデジタルデータが、連続するシーケンス番号を有する複数のデータブロックのペイロード部に振り分けて書き込まれているデータブロックを通信網を介して受信する受信手段と、
前記受信手段により連続して受信されたデータブロックのヘッダ部に書き込まれているシーケンス番号に基づいて、データブロックが不連続に受信されたか否かを判定する判定手段と、
データブロック１つ分の不連続が発生したと前記判定手段により判定された場合に、シーケンス抜けのデータブロックの前後のデータブロックに書き込まれているデジタルデータに基づいて信号を復元する第１の復元手段と、
連続する複数のデータブロック分の不連続が発生したと前記判定手段により判定された場合に、該複数のデータブロックの前後のデータブロックに書き込まれているデジタルデータの表す信号波形が滑らかに繋がるように補正してその両者の表す信号を復元する第２の復元手段と、
前記第１の復元手段または前記第２の復元手段により復元された信号を出力する出力手段と、
を有することを特徴とする受信装置。
【請求項４】
コンピュータ装置に、
音声または映像を表す信号が入力された場合に、その信号を所定のサンプリング間隔でサンプリングして、各サンプリングタイミングにおける信号レベルに応じたデジタルデータを生成する第１のステップと、
シーケンス番号が書き込まれたヘッダ部と所定のデータサイズのペイロード部とを有する複数のデータブロックの各々に、前記複数のデジタルデータを所定の時間間隔に応じた数分づつそのペイロード部へ書き込む第２のステップと、
前記第２のステップにてデジタルデータの書き込みが行われたデータブロックを通信網を介して送信する第３のステップと、
を実行させ、
前記第２のステップにおいては、
所定の時間間隔における前記デジタルデータを抽出して振り分けて異なるデータブロックのペイロード部へ書き込む処理を前記コンピュータ装置に実行させる
ことを特徴とするプログラム。
【請求項５】
コンピュータ装置に、
シーケンス番号が書き込まれたヘッダ部を有するとともに、音声または映像を表す信号を所定のサンプリング間隔でサンプリングして得られるデジタルデータが所定の時間間隔分づつ書き込まれたペイロード部を有するデータブロックであって、連続する複数の前記時間間隔における前記信号の信号波形を表すデジタルデータが１つのデータブロックのペイロード部に書き込まれているとともに、前記時間間隔におけるデジタルデータが、連続するシーケンス番号を有する複数のデータブロックのペイロード部に振り分けて書き込まれているデータブロックを通信網を介して受信する第１のステップと、
前記第１のステップにて受信したデータブロックのヘッダ部に書き込まれているシーケンス番号に基づいて、データブロックが不連続に受信されたか否かを判定する第２のステップと、
データブロック１つ分の不連続が発生したと前記第２のステップにて判定された場合に、シーケンス抜けのデータブロックの前後のデータブロックに書き込まれているデジタルデータに基づいて信号を復元する一方、連続する複数のデータブロック分の不連続が発生したと前記第２のステップにて判定された場合に、該複数のデータブロックの前後のデータブロックに書き込まれているデジタルデータの表す信号波形が滑らかに繋がるように補正してその両者の表す信号を復元する第３のステップと、
前記第３のステップにて復元された信号を出力する第４のステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータブロックに分割された送信されてくるデータを受信し、そのデータを復元する技術に関する。
【背景技術】
【０００２】
近年、インターネットなどの通信網を介してデータ通信を行うことが一般に普及している。この種のデータ通信の一例としては、ＩＰ（Internet Protocol）にしたがって行われるパケット通信が挙げられる。パケット通信においては、以下のようにしてデータの送受信が行われる。すなわち、データの送り手側の通信装置（以下、送信装置）は、送信対象データを所定のデータサイズを有する複数の分割データに分割し、所定のヘッダ部とペイロード部とを有するパケットのペイロード部に各分割データを１つづつ書き込んで送信することで、上記送信対象データを送信する。なお、上記ヘッダ部には、パケットの送信元および宛先を表す通信アドレス（以下、前者を「送信元アドレス」と呼び、後者を「送信先アドレス」と呼ぶ）や、そのパケットのペイロード部に書き込まれている分割データを一意に示すシーケンス番号（例えば、上記送信対象データにおける各分割データの先頭ビットの位置を表すデータ）などが書き込まれる。一方、上記送信先アドレスで特定されるコンピュータ装置（すなわち、上記パケットの受け手側の通信装置：以下、「受信装置」）は、受信した各パケットのペイロード部に書き込まれている分割データを上記シーケンス番号にしたがって連結することによって、上記送信対象データを復元する。
【０００３】
ところで、パケット通信においては、上記パケットの送受信を仲介する通信網にかかっている負荷の度合いに応じて、送信装置から送信されたパケットのうちの幾つかが受信装置へ到達しないこと（以下、「パケットロス」という）が起こり得る。このようなパケットロスが発生した場合であっても、例えば図７（ａ）に示すように１つのパケットが欠落した場合であれば、その欠落したパケットに格納されていたであろう分割データをその前後のパケットに格納されている分割データに基づいて補間することによって、そのパケットロスによる影響を最小限にくいとめることが可能である（例えば、特許文献１に開示された技術）。
【０００４】
しかしながら、図７（ｂ）に示すように、連続するシーケンス番号を有する複数のパケットが欠落してしまった場合には、上記補間を精度良く行うことは困難であり、パケットロスによる影響が顕著に表れてしまう。そこで、送信装置から送信されたパケットが連続して欠落した場合であっても、その欠落による影響を最小限にくいとめることを可能にする技術が従来より提案されており、その一例としては、非特許文献１に開示されたインターリービング技術が挙げられる。
【０００５】
図８は、非特許文献１に開示されたインターリービング技術を説明するための図である。このインターリービング技術では、図８に示すように、連続するシーケンス番号を有するパケット（図８（ａ）参照）が互いに所定の間隔以上を開けて送信されるように、各パケットの送信順序を入れ替えて送信するようになっている（図８（ｂ）参照）。このため、図８（ｃ）に示すように、送信装置から送信されたパケットが連続して欠落した場合であっても、受信装置へ到達したパケットをそのシーケンス番号の順にソートすると、単独のパケットの欠落が離散的に複数回生じた場合と同一の受信結果が得られる（図８（ｄ）参照）。単独のパケットの欠落であれば、その前後のパケットに格納されている分割データに基づいて欠落した分割データを精度良く補間することができることは前述した通りであるから、パケットの欠落による影響を最小限にくいとめることが可能になる。
【特許文献１】特開平７−３３４１９１号公報
【非特許文献１】“マスタリングＴＣＰ／ＩＰ、ＲＩＰ編”、オーム社、Colia Perkins著、小川晃通監訳、Ｐ２０９〜２１２
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、非特許文献１に開示された技術によれば、受信したパケットをそのシーケンス番号順にソートするために、受信したパケットを順次蓄積するための充分な大きさのバッファを受信装置へ設けておくことが必要になる。しかしながら、このようなバッファを受信装置へ設けてしまうと、各パケットを受信してからそれらパケットに分割して書き込まれている送信対象データを復元するまでに要する時間が長くなってしまう。このように、送信対象データを復元する際に要する時間が長くなってしまうことは、例えば、上記パケット通信により音声通話サービスを提供するＩＰ電話などにおいては、音声の遅延として顕著に表れてしまうため、大きな問題となってしまう。
【０００７】
本発明は、上記課題に鑑みて為されたものであり、例えばパケットなどの複数のデータブロックに分割されて送信されてくるデータに応じて音声や映像を再生する際の再生遅延を短くしつつ、データブロックの欠落による影響を緩和することを可能する技術を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、音声または映像を表す信号が入力される入力手段と、前記信号を所定のサンプリング間隔でサンプリングして、各サンプリングタイミングにおける信号レベルに応じたデジタルデータを生成する生成手段と、シーケンス番号が書き込まれたヘッダ部と所定のデータサイズのペイロード部とを有する複数のデータブロックを生成し、その各々のペイロード部に前記複数のデジタルデータを所定の時間間隔に応じた数分づつ書き込む書き込み手段と、前記書き込み手段によりデジタルデータの書き込みが行われたデータブロックを通信網を介して送信する送信手段と、を備え、前記書き込み手段は、所定の時間間隔における前記デジタルデータを抽出して振り分けて異なるデータブロックのペイロード部へ書き込むことを特徴とする送信装置を提供する。
このような送信装置によれば、上記所定の時間間隔における複数のデジタルデータのうちから抽出されたデジタルデータが異なるデータブロックに振り分けられて書き込まれ、このようにしてデジタルデータの書き込みが行われたデータブロックが送信される。
【０００９】
より好ましい態様においては、前記通信網にかかっている負荷を検出する検出手段を備え、前記書き込み手段は、前記検出手段により検出された負荷が所定の閾値を超えている場合には、前記時間間隔における前記信号の信号波形を表すデジタルデータを、連続するシーケンス番号を有する複数のデータブロックのペイロード部へ均等に振り分けて書き込むとともに、その振り分け方を表す識別子を各データブロックのヘッダ部へ書き込み、前記検出手段により検出された負荷が前記所定の閾値以下である場合には、前記時間間隔における前記信号の信号波形を表すデジタルデータを、連続するシーケンス番号を有する複数のデータブロックのペイロード部へ重複して書き込むとともに、同一のデジタルデータが複数のデータブロックのペイロード部に書き込まれていることを表す識別子を各データブロックのヘッダ部へ書き込むことを特徴としている。このような態様にあっては、上記通信網にかかっている負荷が上記所定の閾値以下である場合（すなわち、上記通信網にかかっている負荷の度合いが低い場合）には、１の時間間隔に応じたデジタルデータが連続する複数のデータブロックに重複して書き込まれて送信される。このため、これら複数のデータブロックのうちの何れか１つが受信装置へ到達すれば、そのデータブロックに書き込まれているデジタルデータに基づいて上記時間間隔における信号を完全に復元することが可能になる。一方、上記通信網にかかっている負荷が上記所定の所定の閾値を超えている場合（すなわち、上記通信網にかかっている負荷の度合いが高い場合）には、１の時間間隔に応じたデジタルデータが連続する複数のデータブロックに均等に振り分けられて書き込まれて送信されるので、上記デジタルデータを重複して書き込む場合に比較して、各データブロックのデータサイズを小さくし、上記通信網へ流入するデータ量を削減しその通信網にかかっている負荷が高くなりすぎることを回避することが可能になる。なお、上記複数のデジタルデータには、上記時間間隔に応じたデジタルデータが均等に振り分けられて書き込まれているので、それら複数のデータブロックの何れかが欠落した場合であっても、その時間間隔における信号をその欠落の度合いに応じた精度で復元することが可能になる。
【００１０】
また、上記課題を解決するために、本発明は、シーケンス番号が書き込まれたヘッダ部を有するとともに、音声または映像を表す信号を所定のサンプリング間隔でサンプリングして得られるデジタルデータが所定の時間間隔分づつ書き込まれたペイロード部を有するデータブロックであって、連続する複数の前記時間間隔における前記信号の信号波形を表すデジタルデータが１つのデータブロックのペイロード部に書き込まれているとともに、前記時間間隔におけるデジタルデータが、連続するシーケンス番号を有する複数のデータブロックのペイロード部に振り分けて書き込まれているデータブロックを通信網を介して受信する受信手段と、前記受信手段により連続して受信されたデータブロックのヘッダ部に書き込まれているシーケンス番号に基づいて、データブロックが不連続に受信されたか否かを判定する判定手段と、データブロック１つ分の不連続が発生したと前記判定手段により判定された場合に、シーケンス抜けのデータブロックの前後のデータブロックに書き込まれているデジタルデータに基づいて信号を復元する第１の復元手段と、連続する複数のデータブロック分の不連続が発生したと前記判定手段により判定された場合に、該複数のデータブロックの前後のデータブロックに書き込まれているデジタルデータの表す信号波形が滑らかに繋がるように補正してその両者の表す信号を復元する第２の復元手段と、前記第１の復元手段または前記第２の復元手段により復元された信号を出力する出力手段と、を有することを特徴とする受信装置を提供する。
【００１１】
また、本発明の別の態様にあっては、コンピュータ装置に、音声または映像を表す信号が入力された場合に、その信号を所定のサンプリング間隔でサンプリングして、各サンプリングタイミングにおける信号レベルに応じたデジタルデータを生成する第１のステップと、シーケンス番号が書き込まれたヘッダ部と所定のデータサイズのペイロード部とを有する複数のデータブロックの各々に、前記複数のデジタルデータを所定の時間間隔に応じた数分づつそのペイロード部へ書き込む第２のステップと、前記第２のステップにてデジタルデータの書き込みが行われたデータブロックを通信網を介して送信する第３のステップと、を実行させ、前記第２のステップにおいては、所定の時間間隔における前記デジタルデータを抽出して振り分けて異なるデータブロックのペイロード部へ書き込む処理を前記コンピュータ装置に実行させることを特徴とするプログラムを提供する。このようなプログラムによれば、一般的なコンピュータ装置に本発明に係る送信装置と同一の機能を付与することが可能になる。なお、本発明の別の態様にあっては、コンピュータ装置読み取り可能な記録媒体に上記プログラムを書き込んで提供するとしても良い。
【００１２】
また、本発明の別の態様にあっては、コンピュータ装置に、シーケンス番号が書き込まれたヘッダ部を有するとともに、音声または映像を表す信号を所定のサンプリング間隔でサンプリングして得られるデジタルデータが所定の時間間隔分づつ書き込まれたペイロード部を有するデータブロックであって、連続する複数の前記時間間隔における前記信号の信号波形を表すデジタルデータが１つのデータブロックのペイロード部に書き込まれているとともに、前記時間間隔におけるデジタルデータが、連続するシーケンス番号を有する複数のデータブロックのペイロード部に振り分けて書き込まれているデータブロックを通信網を介して受信する第１のステップと、前記第１のステップにて受信したデータブロックのヘッダ部に書き込まれているシーケンス番号に基づいて、データブロックが不連続に受信されたか否かを判定する第２のステップと、データブロック１つ分の不連続が発生したと前記第２のステップにて判定された場合に、シーケンス抜けのデータブロックの前後のデータブロックに書き込まれているデジタルデータに基づいて信号を復元する一方、連続する複数のデータブロック分の不連続が発生したと前記第２のステップにて判定された場合に、該複数のデータブロックの前後のデータブロックに書き込まれているデジタルデータの表す信号波形が滑らかに繋がるように補正してその両者の表す信号を復元する第３のステップと、前記第３のステップにて復元された信号を出力する第４のステップと、を実行させるプログラムを提供する。このようなプログラムによれば、一般的なコンピュータ装置に本発明に係る受信装置と同一の機能を付与することが可能になる。なお、本発明の別の態様においては、コンピュータ装置読み取り可能な記録媒体に上記プログラムを書き込んで提供するとしても良い。
【発明の効果】
【００１３】
本発明によれば、複数のデータブロックに分割されて送信されてくるデータに応じて音声や映像を再生する際の再生遅延を短くしつつ、データブロックの欠落による影響を緩和することが可能になる、といった効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施する際の最良の形態について図面を参照しつつ説明する。
（Ａ：構成）
（Ａ−１：通信システムの構成）
図１は、本発明に係る送信装置の機能と本発明に係る受信装置の機能とを兼ね備えた通信装置を含んでいる通信システム１０の全体構成の一例を示すブロック図である。この通信システム１０は、図１に示すように、通信網１００と、この通信網１００に接続されている通信装置２００Ａおよび２００Ｂと、を含んでいる。
【００１５】
通信網１００は、例えばインターネットであり、ルータなどの中継装置（図示省略）を含んでいる。この通信網１００は、自網に接続されている通信装置から所定の通信プロトコル（本実施形態では、ＩＰ）にしたがって送信されてくるパケットを上記中継装置によって適宜ルーティングし、そのパケットのヘッダ部に書き込まれている送信先アドレスで特定される通信装置へ送り届ける機能を備えている。なお、本実施形態では、通信網１００がインターネットである場合について説明するが、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）であっても良く、また、無線ＬＡＮなどの無線ネットワークであっても良いことは勿論である。要は、自網に接続されている通信装置から所定の通信プロトコルにしたがって送信されてくるパケットをその宛先へ送り届ける機能を備えた通信網であれば、どのような通信網であっても良い。
【００１６】
図１の通信装置２００Ａと２００Ｂは、例えば、パーソナルコンピュータ（以下、「ＰＣ」）であり、本発明に係る送信装置の機能と本発明に係る受信装置の機能とを兼ね備えている。なお、以下では、通信装置２００Ａと２００Ｂとを区別する必要がない場合には、「通信装置２００」と表記する。
【００１７】
図１においては詳細な図示は省略したが、通信装置２００には、電話機が接続されており、その電話機から引渡された音声信号にデジタル変換を施して得られるオーディオデータをＩＰにしたがって通信網１００へ送出するとともに、通信網１００を介して送信されてくるオーディオデータを受信し、そのオーディオデータにアナログ変換を施して得られる音声信号を上記電話機へ供給する機能を備えている。つまり、通信装置２００は、通信網１００を介したＩＰ電話サービスを提供するためのものである。そして、この通信装置２００は、前述した再生遅延を充分に小さくすることが可能であるとともに、通信網１００においてパケットロスが発生した場合であってもその影響を最小限にくいとめることが可能な態様で上記オーディオデータを分割して送信するようになっている。以下、通信装置２００の構成および動作について図面を参照しつつ説明する。
【００１８】
（Ａ−２：通信装置２００の構成）
図２は、通信装置２００のハードウェア構成の一例を示す図である。
図２に示すように、通信装置２００は、制御部２１０と、通信インターフェイス部（以下、「通信ＩＦ部」）２２０と、信号処理部２３０と、記憶部２４０と、これら構成要素間のデータ授受を仲介するバス２５０と、を有している。
【００１９】
制御部２１０は、例えばＣＰＵ（Central Processing Unit）であり、記憶部２４０に格納されているソフトウェアにしたがって通信装置２００の各部を中枢的に制御するものである。通信ＩＦ部２２０は、通信網１００に接続されており、通信網１００を介して送信されてくるパケットを受信し制御部２１０へ引渡す一方、制御部２１０から引渡されたパケットを通信網１００へ送出する。
【００２０】
信号処理部２３０は、図２に示すように、ＡＤ変換器２３１と、ＤＡ変換器２３２と、を含んでいる。この信号処理部２３０は、図示せぬ電話機に接続されており、その電話機から引渡された音声信号をＡＤ変換器２３１によってオーディオデータへ変換し制御部２１０へ引渡す処理と、制御部２１０から引渡されたオーディオデータをＤＡ変換器２３２によって音声信号に変換し上記電話機へ引渡す処理とを制御部２１０の制御下で行う。
【００２１】
より詳細に説明すると、ＡＤ変換器２３１は、上記電話機から引渡された音声信号を所定のサンプリング間隔でサンプリングして、各サンプリングタイミングにおける上記音声信号の信号レベルに応じたオーディオデータを生成する。本実施形態では、ＡＤ変換器２３１は、４８ｋＨｚのサンプリング周波数で上記音声信号をサンプリングし、各サンプリングタイミングにおける信号レベルを１６ｂｉｔ  ＬＥ  ＰＣＭ形式で表すオーディオデータを生成する。このため、本実施形態では、１ミリ秒あたり４８個のオーディオデータが生成される。なお、上記電話機から複数チャネル分の音声信号が引渡される場合には、各チャネル毎に１ミリ秒あたり４８個のオーディオデータが生成される。一方、ＤＡ変換器２３２は、制御部２１０から引渡されたオーディオデータ（すなわち、上記各サンプルタイミングにおける音声信号の信号レベルを表すデータ）をそのサンプリングタイミングの順に受け取り、それら一連のオーディオデータにアナログ変換を施して音声信号を復元するとともに、その音声信号を上記電話機へ出力する。
【００２２】
記憶部２４０は、図２に示すように、揮発性記憶部２４１と不揮発性記憶部２４２とを含んでいる。揮発性記憶部２４１は、例えばＲＡＭ（Random Access Memory）であり、各種ソフトウェアにしたがって作動している制御部２１０によってワークエリアとして利用される。一方、不揮発性記憶部２４２は、例えばＲＯＭ（Read Only Memory）やハードディスであり、本発明に係る送信装置や受信装置に特有な機能を制御部２１０に実現させるためのソフトウェアを格納しておくためのものである。この不揮発性記憶部２４２に格納されているソフトウェアの一例としては、ＯＳ（Operating System）を制御部２１０に実現させるためのＯＳソフトウェアと、上記オーディオデータを本発明に係る送信装置や受信装置に特有な態様で送受信する処理を制御部２１０に実行させるための通信ソフトウェアとが挙げられる。以下、これらソフトウェアを実行することによって制御部２１０に付与される機能について説明する。
【００２３】
通信装置２００の電源（図示省略）が投入されると、制御部２１０は、まず、ＯＳソフトウェアを不揮発性記憶部２４２から読み出し、これを実行する。ＯＳソフトウェアにしたがって作動している制御部２１０には、通信装置２００の各部を制御する機能、他のソフトウェアを不揮発性記憶部２４２から読み出して実行する機能などが付与される。そして、本実施形態では、制御部２１０は、ＯＳソフトウェアの実行を完了しＯＳを実現している状態になると即座に、上記通信ソフトウェアを不揮発性記憶部２４２から読出し、これを実行する。この通信ソフトウェアにしたがって作動している制御部２１０には、本発明に係る送信装置に特有なデータ送信処理を行う機能と、本発明に係る受信装置に特有な信号復元処理を行う機能とが付与される。以下、上記通信ソフトウェアにしたがって作動している制御部２１０に付与される機能について説明する。
【００２４】
図３は、上記通信ソフトウェアにしたがって作動している制御部２１０が行うデータ送信処理の流れを示すフローチャートである。図３に示すように、このデータ送信処理を実行中の制御部２１０には、以下に述べる２つの機能が付与される。
【００２５】
第１に、連続するシーケンス番号が書き込まれたヘッダ部と所定のデータサイズのペイロード部を有するパケットを生成するとともに、信号処理部２３０から受取ったオーディオデータを所定のアルゴリズムにしたがって分割し、上記各パケットのペイロード部へ書き込むとともに、上記所定のアルゴリズムを表すデータ（以下、アルゴリズム識別子）を各パケットのヘッダ部の所定の領域へ書き込む書き込み機能である。そして、第２に、上記書き込み機能によりオーディオデータの書き込みが行われた各パケットを通信網１００を介して送信する送信機能である。なお、詳細については後述するが、本実施形態では、上記アルゴリズムとして、連続するシーケンス番号を有する２つのパケットのペイロード部に、所定の時間間隔（本実施形態では、１ミリ秒）に応じたオーディオデータを均等に振り分けて、かつ、その各々によって上記所定時間における音声信号の信号波形の概形が表されるように振り分けて書き込むとともに、連続する２ミリ秒分の信号波形の概形を表すオーディオデータを１つのパケットのペイロード部へ書き込むアルゴリズムが用いられている。
【００２６】
一方、図４は、上記通信ソフトウェアにしたがって作動している制御部２１０が行う信号復元処理の流れを表すフローチャートである。図４に示すように、信号復元処理を実行中の制御部２１０には、以下に述べる２つの機能が付与される。
【００２７】
第１に、通信ＩＦ部２２０を介して受信したパケットのヘッダ部に書き込まれているシーケンス番号に基づいて、パケットが不連続に受信されたか否か（すなわち、パケットロスやパケットの到達順序の入れ替わりが発生したか否か）を判定する判定機能である。本実施形態では、連続するシーケンス番号がヘッダ部に書き込まれたパケットが送信されてくるのであるから、制御部２１０は、通信ＩＦ部２２０を介して受信したパケットのヘッダ部に書き込まれているシーケンス番号とその直前に受信したパケットのヘッダ部に書き込まれているシーケンス番号とが不連続である場合に、パケットが不連続に受信されたと判定する。なお、以下では、上記のような不連続を生じさせた原因となったパケット（すなわち、パケットロスしたパケットや遅れて到達したパケット）のことを「シーケンス抜けのパケット」と呼ぶ。
そして、第２に、パケット１つ分の不連続が発生したと上記判定機能により判定された場合には、シーケンス抜けのパケットに書き込まれているオーディオデータとその前後のパケットに書き込まれているオーディオデータとで完全に表される音声信号を、後者のオーディオデータのみに基づいて信号処理部２３０に復元させる一方、連続する複数のパケット分の不連続が発生したと上記判定機能により判定された場合には、該複数のシーケンス抜けのパケットの前後のパケットに書き込まれているオーディオデータの表す信号波形が滑らかに繋がるように補正を施した音声信号を信号処理部２３０に復元させる復元機能である。このようにして信号処理部２３０により復元された音声信号は信号処理部２３０に接続されている電話機（図示省略）へ出力され、その音声信号に応じた音声がその電話機から放音されることになる。なお、上記判定機能により不連続が発生していないと判定された場合には、受信されたパケットのヘッダ部に書き込まれているアルゴリズム識別子に基づいて、各パケットのペイロード部に格納されているオーディオデータをマージしそのマージ結果を信号処理部２３０へ引渡して音声信号を正確に復元させることについては言うまでもない。
【００２８】
以上に説明したように、本実施形態に係る通信装置２００のハードウェア構成は、信号処理部２３０を備えている他は、一般的なコンピュータ装置のハードウェア構成と同一であり、本発明に係る送信装置や受信装置に特徴的な機能はソフトウェアモジュールで実現されている。なお、本実施形態では、本発明に係る送信装置や受信装置に特有な機能をソフトウェアモジュールで実現する場合について説明したが、ハードウェアモジュールで実現するとしても良いことは勿論である。また、本実施形態では、通信ソフトウェアとＯＳソフトウェアとを夫々個別に不揮発性記憶部２４２へ書き込んでおく場合について説明したが、両者の役割を兼ね備えたファームウェアを不揮発性記憶部２４２へ書き込んでおくとしても勿論良い。
【００２９】
（Ｂ：動作）
次いで、通信装置２００が行う動作のうち、その特徴を顕著に示す動作について図面を参照しつつ説明する。なお、以下に説明する動作例では、図１において図示を省略した電話機から通信装置２００Ａへ入力された音声信号に応じて生成されたパケットが通信装置２００Ａから通信装置２００Ｂへ宛てて送信される場合について説明する。なお、以下に説明する動作例では、通信装置２００Ａの構成要素と通信装置２００Ｂの構成要素とを夫々区別する必要がある場合には、以下のように表記する。すなわち、通信装置２００Ａの構成要素については、制御部２１０Ａ、通信ＩＦ部２２０Ａ、信号処理部２３０Ａ、記憶部２４０Ａおよびバス２５０Ａと表記し、通信装置２００Ｂの構成要素については、制御部２１０Ｂ、通信ＩＦ部２２０Ｂ、信号処理部２３０Ｂ、記憶部２４０Ｂおよびバス２５０Ｂと表記する。そして、以下に説明する動作例では、制御部２１０Ａと制御部２１０Ｂとは前述した通信ソフトウェアにしたがって作動しているものとする。
【００３０】
前述したように、制御部２１０Ａは、信号処理部２３０Ａにより生成されたオーディオデータを受取ると、そのオーディオデータを図３に示すフローチャートにしたがって送信する。より詳細に説明すると、制御部２１０Ａは、まず、連続するシーケンス番号が書き込まれたヘッダ部と所定のデータサイズのペイロード部とを有するパケットを生成し、所定のアルゴリズムにしたがって上記オーディオデータを上記ペイロード部へ書き込み（ステップＳＡ１）、各パケットを通信ＩＦ部２２０Ａにより通信網１００へ送信する（ステップＳＡ２）。
【００３１】
より詳細に説明すると、本実施形態では、上記ステップＳＡ１において、３２ビット単位のデータ格納領域を４８個有するペイロード部を有するパケットが生成され、各データ格納領域に、信号処理部２３０により生成されたオーディオデータが１つづつ書き込まれる。ここで注目すべき点は、本実施形態では、上記アルゴリズムにしたがって、連続する２ミリ秒分のオーディオデータが均等に、かつ、その各々により上記２ミリ秒分の音声信号の信号波形の概形が表されるように振り分けられて１つのパケットのペイロード部へ書き込まれるとともに、連続するシーケンス番号を有する２つのパケットのペイロード部に、１ミリ秒分の信号波形を表すオーディオデータが均等に振り分けられて書き込まれる点である。
【００３２】
例えば、制御部２１０は、各々１ミリ秒の間隔を有する３つの連続する時間間隔Ｔ１、Ｔ２およびＴ３における信号波形を表すオーディオデータを、シーケンス番号が“１”〜“３”である３つのパケットに図５に示すように振り分けて書き込む。なお、図５では、説明を簡略にするために、各データ格納領域に１チャネル分のデジタルデータを書き込む場合について例示されている。すなわち、制御部２１０は、シーケンス番号が“１”であるパケットのペイロード部には、その後半の２４個のデータ格納領域に、上記Ｔ１における奇数番目のサンプルタイミングの信号レベルを表す２４個のオーディオデータを書き込み、前半の２４個のデータ格納領域には、Ｔ１の直前の時間間隔における偶数番目のサンプルタイミングの信号レベルを表す２４個のオーディオデータを書き込む。次いで、制御部２１０は、シーケンス番号が“２”であるパケットのペイロード部には、その前半の２４個のデータ格納領域に、上記Ｔ１における偶数番目のサンプルタイミングの信号レベルを表す２４個のオーディオデータを書き込み、後半の２４個のデータ格納領域には、上記Ｔ２における奇数番目のサンプルタイミングの信号レベルを表す２４個のオーディオデータを書き込む。そして、制御部２１０は、シーケンス番号が“３”であるパケットのペイロード部には、その前半の２４個のデータ格納領域に、上記Ｔ２における偶数番目のサンプルタイミングの信号レベルを表す２４個のオーディオデータを書き込み、後半の２４個のデータ格納領域には、上記Ｔ３における奇数番目のサンプルタイミングの信号レベルを表す２４個のオーディオデータを書き込む。
【００３３】
本実施形態に係る通信装置２００によれば、以上に説明したような態様でオーディオデータが書き込まれたパケットが通信網１００へ送出されるため、例えば、Ｔ１、Ｔ２およびＴ３の各々における信号波形を表すオーディオデータを、シーケンス番号が“１”、“２”および“３”の各パケットへ書き込む従来の技術に比較して、以下に述べるような効果を奏する。すなわち、従来の技術では、例えば、シーケンス番号が“２”であるパケットが欠落した場合には、そのパケットに格納されているオーディオデータの表す１ミリ秒分の信号波形（すなわち、Ｔ２における信号波形）が全く不明になってしまうが、本実施形態に係る通信装置２００によれば、シーケンス番号が“２”であるパケットについてパケットロスが発生した場合であっても、その前後のパケットには、Ｔ１における奇数番目のサンプリングタイミングにおける信号レベルを表すデジタルデータと、Ｔ２における偶数番目のサンプリングタイミングにおける信号レベルを表すデジタルデータとが格納されているため、Ｔ１およびＴ２における音声信号を復元することが可能になる。このように、本実施形態に係る通信装置によれば、オーディオデータを複数のパケットに分割して送信する際に、パケットロスが発生した場合であってもその影響を緩和することが可能な態様でオーディオデータを送信することが可能になる。
【００３４】
さて、上記のようにして通信装置２００Ａから送信されたパケットは、通信網１００を介して通信装置２００Ｂへ到達する。次いで、通信ＩＦ部２２０Ｂにより上記パケットを受信した場合に、制御部２１０Ｂが行う信号復元処理について図４を参照しつつ説明する。
図４は、制御部２１０Ｂが上記通信ソフトウェアにしたがって行う信号復元処理の流れを示すフローチャートである。図４に示すように、制御部２１０Ｂは、上記パケットを受信（ステップＳＢ１）すると、そのパケットのヘッダ部に書き込まれているシーケンス番号に基づいて、パケットが不連続に受信されたか否か（すなわち、シーケンス抜けのパケットがあるか否か）を判定する（ステップＳＢ２）。具体的には、制御部２１０Ｂは、ステップＳＢ１にて受信したパケットのヘッダ部に書き込まれているシーケンス番号と、そのパケットの直前に受信したパケットのヘッダ部に書き込まれているシーケンス番号とに飛びがあるか否かを判定し、飛びがある場合に、パケットロスが不連続に受信されたと判定する。
【００３５】
ステップＳＢ２の判定結果が“Ｎｏ”である場合（すなわち、パケットが連続して受信されたと判定した場合）には、制御部２１０Ｂは、受信したパケットのペイロード部に書き込まれているオーディオデータとそのパケットの直前に受信したパケットのペイロード部に書き込まれているオーディオデータとを、各パケットのヘッダ部に書き込まれているアルゴリズム識別子にしたがってマージし、そのマージ結果を信号処理部２３０Ｂへ引渡して、音声信号を復元させ（ステップＳＢ３）、その音声信号を電話機（図示省略）へ出力する（ステップＳＢ７）。この場合、図６（ａ）に示すように、各時間間隔における音声信号が完全に復元されることになる。一方、ステップＳＢ２の判定結果が“Ｙｅｓ”である場合には、制御部２１０Ｂは、パケット１つ分の不連続であるのか、それとも、複数のパケット分の不連続であるのかを判定する（ステップＳＢ４）。
【００３６】
ステップＳＢ４の判定結果が“Ｙｅｓ”である場合（すなわち、パケット１つ分の不連続が発生したと判定した場合）には、制御部２１０Ｂは、シーケンス抜けのパケットに格納されていたであろうオーディオデータと、その直後および直前に位置するパケット（すなわち、ステップＳＢ１にて受信されたパケットとその直前に受信されたパケット）に格納されているオーディオデータとで完全に表される音声信号を、後者のオーディオデータのみに基づいて信号処理部２３０Ｂにより復元し（ステップＳＢ５）、その音声信号を上記電話機へ出力する（ステップＳＢ７）。逆に、ステップＳＢ４の判定結果が“Ｎｏ”である場合（すなわち、連続する複数のパケットが受信されなかったと判定した場合）には、それら複数のシーケンス抜けのパケットの直後および直前に位置するパケット（すなわち、ステップＳＢ１にて受信されたパケットとその直前に受信されたパケット）に格納されているオーディオデータの表す信号波形が滑らかに繋がるように補正して得られる音声信号を信号処理部２３０に復元させ（ステップＳＢ６）、その音声信号を上記電話機へ出力する（ステップＳＢ７）。
【００３７】
例えば、図５に示す３つのパケットのうち、シーケンス番号が“２”であるパケットについてパケットロスが発生した場合（すなわち、シーケンス番号が“１”であるパケットに後続してシーケンス番号が“３”であるパケットが受信された場合）には、シーケンス番号が“１”であるパケットとシーケンス番号が“３”であるパケットについて上記ステップＳＢ５の処理が実行され、図６（ｂ）に示すように、Ｔ１に対応する音声信号についてはシーケンス番号が“１”であるパケットのペイロード部の後半に格納されているオーディオデータ（すなわち、Ｔ１における偶数番目のサンプルタイミングにおける信号レベルを表すオーディオデータ）のみに基づいて復元され、Ｔ２に対応する音声信号についてはシーケンス番号が“３”であるパケットのペイロード部の前半に格納されているオーディオデータ（すなわち、Ｔ２における奇数番目のサンプルタイミングにおける信号レベルを表すオーディオデータ）のみに基づいて復元される。
【００３８】
また、図５に示す３つのパケットのうち、シーケンス番号が“２”および“３”であるパケットについてパケットロスが発生した場合（すなわち、シーケンス番号が“１”であるパケットに後続してシーケンス番号が“４”であるパケットが受信された場合）には、図６（ｃ）に示すように、Ｔ１に対応する音声信号についてはシーケンス番号が“１”であるパケットのペイロード部の後半に格納されているオーディオデータに基づいて復元され、Ｔ２に対応する音声信号についてはＴ１における信号波形を反転させその末尾をフェードアウトさせた音声信号として復元される。そして、シーケンス番号が“４”であるパケットのペイロード部の前半に格納されているオーディオデータに応じた音声信号については、上記フェードアウトさせた音声信号に滑らかに繋がるようにその先頭をフェードインさせて復元される。なお、図６（ｄ）に示すように、連続する３つ以上のパケットが受信されなかった場合には、受信されなかったパケットの数に応じた時間間隔分の無音を表す音声信号が復元されることになる。なお、本実施形態では、各パケットには２ミリ秒分の音声信号の信号波形を表すオーディオデータが格納されているのであるから、連続する複数のパケットについてパケットロスが発生した場合であっても、上記無音区間の時間間隔は数ミリ秒〜数十ミリ秒程度であり、人間の聴覚では殆ど知覚することができない。つまり、上記無音区間が生じたとしても、聴感上ほとんど影響を与えることはない。また、本実施形態では、非特許文献１に開示されているインターリービング技術のように、受信したパケットをバッファへ蓄積する必要がないため、各パケットを受信してからそれらパケットに分割して書き込まれているオーディオデータを復元するまでに要する遅延時間が長くなってしまうこともない。なお、本実施形態においては、パケットが不連続に受信される場合として、パケットロスが発生した場合について説明したが、上述した如く本実施形態に係る通信装置は、受信したパケットを蓄積しておくバッファを有していないのであるから、パッケトの到達順が入れ替わった場合（例えば、シーケンス番号が“２”であるパケットがシーケンス番号が“３”であるパケットよりも遅く到達した場合）には、遅れて到達したパケットについてはパケットロスが発生したものと見なされて破棄されることになる。
【００３９】
以上に説明したように、本実施形態によれば、複数のパケットに分割されて送信されてくるオーディオデータに応じて音声を再生する際の再生遅延を短くしつつ、パケットの欠落による影響を緩和することが可能になる、といった効果を奏する。
【００４０】
（Ｃ：変形）
以上、本発明の１実施形態について説明したが、上記実施形態に以下に述べるような変形を加えても良いことは勿論である。
（Ｃ−１：変形例１）
上述した実施形態では、ＩＰ電話による音声通話サービスを提供するための通信装置に本発明を適用する場合について説明したが、いわゆるストリーミング配信によって送信されてくるオーディオデータを受信しそのオーディオデータに応じた音声を再生する通信装置に本発明を適用するとしても良いことは勿論である。
【００４１】
（Ｃ−２：変形例２）
上述した実施形態では、通信網１００を介して送信されてくるパケットに、音声信号にデジタル変換を施して得られるオーディオデータが所定の時間間隔分づつ書き込まれている場合について説明した。しかしながら、上記パケットに分割されて書き込まれているデジタルデータは、音声信号にデジタル変換を施して得られるものに限定されるものではなく、映像信号にデジタル変換を施して得られるビデオデータであっても良いことは勿論である。
【００４２】
（Ｃ−３：変形例３）
上述した実施形態では、所定の時間間隔（上記実施形態では１ミリ秒）における音声信号の信号波形を表すオーディオデータを２つのパケットに均等に振り分け、かつ、その各々が上記信号波形の概形を表すように振り分けて書き込む場合について説明した。しかしながら、上記所定の時間間隔における音声信号の信号波形を表すオーディオデータを２つのパケットに重複して書き込むようにしても勿論良い。また、通信装置２００に、通信網１００にかかっている負荷を検出する検出手段を設け、その負荷の値が予め定められた閾値以下である場合には、所定の時間間隔における音声信号の信号波形を表すオーディオデータを２つのパケットのペイロード部へ重複して書き込むとともに、オーディオデータが重複して書き込まれていることを表す識別子を各パケットのヘッダ部へ書き込み、その負荷の値が上記閾値を超えている場合には、所定の時間間隔（上記実施形態では１ミリ秒）における音声信号の信号波形を表すオーディオデータを２つのパケットのペイロード部へ均等に振り分け、かつ、その各々が上記信号波形の概形を表すように振り分けて書き込むとともに、その振り分け方を表す識別子を各パケットのヘッダ部へ書き込むようにしても良い。
【００４３】
（Ｃ−４：変形例４）
上述した実施形態では、所定の時間間隔（上記実施形態では１ミリ秒）における音声信号の信号波形を表すオーディオデータを２つのパケットに均等に振り分け、かつ、その各々が上記信号波形の概形を表すように振り分けて書き込む場合について説明した。しかしながら、上記所定の時間間隔における音声信号の信号波形を表すオーディオデータを、連続するシーケンス番号を有する３つ以上のパケットに均等に、かつ、その各々が上記時間間隔における信号波形の概形を表すように振り分けて書き込むとともに、連続する３つ以上の時間間隔における信号波形の概略を表すオーディオデータを１つのパケットのペイロード部へ書き込み、その振り分け方を表す識別子を各パケットのヘッダ部へ書き込むようにしても勿論良い。また、複数のデータブロックへ振り分ける際に、必ずしも均等に振り分ける必要はない。要は、所定の時間間隔における信号波形を表す複数のデジタルデータを抽出して異なるデータブロックのペイロード部へ振り分けて書き込む態様であれば良い。
【００４４】
（Ｃ−５：変形例５）
上述した実施形態では、通信装置２００Ａと２００ＢとがＩＰにしたがってデータ通信を行う場合について説明したが、ＵＤＰ（User Datagram Protocol）やＴＣＰ（Transmission Control Protocol）などＩＰよりも上位層の通信プロトコルを用いて上記データ通信をよりきめ細かく制御するようにしても良く、逆に、ＩＰよりも下位の通信プロトコル（例えば、データリンク層の通信プロトコル）にしたがって上記制御を行うとしても勿論良い。要は、デジタルデータを所定のデータサイズを有する分割データに分割し、その各々に各分割データを一意に表す識別子を書き込んだヘッダを付加したデータブロックとして送出する通信プロトコルであれば何れであっても良く、イーサネット（登録商標）以外でもＵＳＢ（Universal Serial Bus）やＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４といったネットワークでも適用てきる。なお、ＴＣＰにしたがって上記データ通信を行う場合には、上記データブロックはセグメントと呼ばれ、データリンク層の通信プロトコルにしたがって上記データ通信を行う場合には、上記データブロックはフレームと呼ばれる。
【００４５】
（Ｃ−６：変形例６）
上述した実施形態では、本発明に係る送信装置や受信装置に特有な機能を制御部２１０に実現させるためのソフトウェアが不揮発性記憶部２４２に予め書き込まれている場合について説明した。しかしながら、これらソフトウェアを、例えばＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）やＤＶＤ（Digital Versatile Disk）などのコンピュータ装置読み取り可能な記録媒体に記録して配布し、その記録媒体を用いて一般的なコンピュータ装置に上記ソフトウェアをインストールするとして本発明に係る送信装置や受信装置と同一の機能を付与するとしても良い。
【図面の簡単な説明】
【００４６】
【図１】本発明の１実施形態に係る通信装置を含んでいる通信システム１０の構成例を示す図である。
【図２】同通信装置２００のハードウェア構成の一例を示すブロック図である。
【図３】同通信装置２００の制御部２１０が通信ソフトウェアにしたがって行うデータ送信処理の流れを示すフローチャートである。
【図４】同制御部２１０が通信ソフトウェアにしたがって行うデータ復元処理の流れを示すフローチャートである。
【図５】同制御部２１０がデータ送信処理にて生成するパケットを説明するための図である。
【図６】同制御部２１０が信号復元処理にて復元する音声信号の一例を示す図である。
【図７】従来のパケット通信におけるパケットロスの影響を説明するための図である。
【図８】非特許文献１に開示されたインターリービング技術を説明するための図である。
【符号の説明】
【００４７】
１０…通信システム、１００…通信網、２００、２００Ａ、２００Ｂ…通信装置、２１０…制御部、２２０…通信ＩＦ部、２３０…信号処理部、２３１…ＡＤ変換器、２３２…ＤＡ変換器、２４０…記憶部、２４１…揮発性記憶部、２４２…不揮発性記憶部、２５０…バス。
【図１】
2006279559.tif 000003
【図２】
2006279559.tif 000004
【図３】
2006279559.tif 000005
【図４】
2006279559.tif 000006
【図５】
2006279559.tif 000007
【図６】
2006279559.tif 000008
【図７】
2006279559.tif 000009
【図８】
2006279559.tif 000010