(57)【要約】【課題】プロキシにより複数のパケットが結合された場合でも、フレーム単位でビット誤りの検出を行えるようにする。【解決手段】先頭を表す識別子とデータのチェックサムとを含む独自ヘッダを生成する独自ヘッダ生成部３３と、データの前に独自ヘッダを付加したパケットを送信する送信部３４と、データおよび独自ヘッダを含むパケットを受信する受信部３５と、受信されたパケットにおいて識別子の位置から独自ヘッダの先頭位置を検出する独自ヘッダ先頭位置検出部３６と、データの後に独自ヘッダが存在する場合に、検出されたデータと独自ヘッダとを独自ヘッダの先頭位置で分離することにより独自ヘッダおよびデータを復元する復元処理部３７と、データの内容をそのデータに対応する独自ヘッダのチェックサムと比較することによりビット誤りの有無を検出するビット誤り検出部３８とを備える。【選択図】  図２
2005333452.tif 000002
【特許請求の範囲】
【請求項１】
エラー確認用情報を含む独自ヘッダを生成する独自ヘッダ生成手段と、
データの前に前記独自ヘッダを付加したパケットを送信する送信手段と、
データおよび独自ヘッダを含むパケットを受信する受信手段と、
受信された前記パケットを前記データ毎に分割する分割手段と、
前記データに対応する前記独自ヘッダのエラー確認用情報を用いて前記データにおけるビット誤りの有無を検出するビット誤り検出手段と
を備えることを特徴とする通信装置。
【請求項２】
請求項１記載の通信装置において、
前記独自ヘッダは、この独自ヘッダの先頭を表す識別子と、前記エラー確認用情報として前記データのチェックサムとを含み、
前記分割手段は、
受信された前記パケットにおいて前記独自ヘッダの前記識別子の位置から前記独自ヘッダの先頭位置を検出する独自ヘッダ先頭位置検出手段と、
受信された前記パケットが１組より多くの前記独自ヘッダおよび前記データを含むことにより前記データの後に前記独自ヘッダが存在する場合に、検出された前記データと前記独自ヘッダとを前記独自ヘッダの先頭位置で分割することにより前記独自ヘッダおよび前記データを復元する復元処理手段とを備え、
前記ビット誤り検出手段は、前記データの内容をそのデータに対応する独自ヘッダのチェックサムと比較することによりビット誤りの有無を検出することを特徴とする通信装置。
【請求項３】
請求項１または２に記載の通信装置において、
前記データにビット誤りがあることが検出されたときに、前記データの送信元に対し前記データおよび対応する前記独自ヘッダの再送を要求する再送要求手段を更に備えることを特徴とする通信装置。
【請求項４】
請求項３記載の通信装置において、
映像を取得する映像取得手段と、
フレーム内圧縮されたキーフレームを含む映像符号化手法を用いて前記映像からフレーム単位で符号化データを生成し、前記データとして前記独自ヘッダ生成手段および前記送信手段に出力する符号化処理手段と
を更に備えることを特徴とする通信装置。
【請求項５】
請求項４記載の通信装置において、
前記再送要求手段は、
ビット誤りがあることが検出された前記データが前記キーフレームであるかどうかを判定する手段と、
前記キーフレームであると判定された場合に、再送を要求する手段と、
前記キーフレームでないと判定された場合に、前記データを廃棄する手段と
を備えることを特徴とする通信装置。
【請求項６】
請求項１〜５のいずれか１項に記載の通信装置において、
前記送信手段は、ネットワークへのアクセスを中継するプロキシが通過させるプロトコルで前記独自ヘッダおよび前記データをカプセル化するカプセル化手段を更に備えることを特徴とする通信装置。
【請求項７】
送信側クライアントにおいて、エラー確認用情報を含む独自ヘッダを生成するステップと、
データの前に前記独自ヘッダを付加したパケットを前記送信側クライアントからサーバに送信するステップと、
前記サーバにおいて、前記パケットを受信するステップと、
前記サーバにおいて、受信された前記パケットを少なくとも１つの受信側クライアントに送信するステップと、
前記受信側クライアントにおいて、前記パケットを受信するステップと、
前記受信側クライアントにおいて、受信された前記パケットを前記データ毎に分割するステップと、
前記受信側クライアントにおいて、前記データに対応する前記独自ヘッダのエラー確認用情報を用いて前記データにおけるビット誤りの有無を検出するステップと
を備えることを特徴とする通信方法。
【請求項８】
エラー確認用情報を含む独自ヘッダを生成する独自ヘッダ生成手段と、
データの前に前記独自ヘッダを付加したパケットを送信する送信手段と、
データおよび独自ヘッダを含むパケットを受信する受信手段と、
受信された前記パケットを前記データ毎に分割する分割手段と、
前記データに対応する前記独自ヘッダのエラー確認用情報を用いて前記データにおけるビット誤りの有無を検出するビット誤り検出手段と
をコンピュータに実現させるためのプログラムを記録した記録媒体。
【請求項９】
請求項８記載のプログラムを記録した記録媒体において、
前記独自ヘッダは、この独自ヘッダの先頭を表す識別子と、前記エラー確認用情報として前記データのチェックサムとを含み、
前記分割手段に含まれ、受信された前記パケットにおいて前記独自ヘッダの前記識別子の位置から前記独自ヘッダの先頭位置を検出する手段と、
前記分割手段に含まれ、受信された前記パケットが１組より多くの前記独自ヘッダおよび前記データを含むことにより前記データの後に前記独自ヘッダが存在する場合に、検出された前記データと前記独自ヘッダとを前記独自ヘッダの先頭位置で分割することにより前記独自ヘッダおよび前記データを復元する手段と、
前記ビット誤り検出手段に含まれ、前記データの内容をそのデータに対応する独自ヘッダのチェックサムと比較することによりビット誤りの有無を検出する手段と
を更にコンピュータに実現させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および通信方法に関し、特に、独自ヘッダを用いる通信装置および通信方法に関する。
【背景技術】
【０００２】
双方向で映像通信を行う場合には、一般にＨ．２６３，ＭＰＧ２、ＭＰＧ４等を用いて映像を圧縮した符号化データを送受信する（例えば、非特許文献１を参照。）。これらの符号化データは、一般にＲＴＰプロトコルを用いて、１ＶＯＰ（Video Object Plane）あたり１パケットで送信される。一般的なインターネットにおいては、ＶＯＰ毎に送信された符号化データは、受信端末でもＶＯＰ毎にパケットを受け取ることができる。したがって、受信端末では、パケット毎にＲＴＰヘッダを取り外して符号化データをデコーダに渡すことにより、その符号化データを復号化できる。ここで、通信中にビット誤りが生じたとしても、受信端末では、ＲＴＰヘッダのサブセットであるＵＤＰヘッダに含まれるチェックサムを用いてビット誤りを検出できる。このため、エラーパケットのＶＯＰのみに対してスキップ処理を行うことにより、乱れた画像を非表示にすることが可能である。
【０００３】
一方、企業ネットワーク等を介して符号化データの送受信を行う場合には、セキュリティ確保を目的としたプロキシを越えて通信を行わなければならない（例えば、非特許文献２を参照。）。プロキシでは特定のプロトコルしか通過できないので、プロキシを通過できるプロトコルで通過させたいプロトコルを包み込むトンネリング技術が必要となる（例えば、非特許文献３を参照。）。一般には、ＲＴＰをＨＴＴＰで包み込むＨＴＴＰトンネリングにより、プロキシを通過できるようになる。
【０００４】
プロキシには、企業ネットワーク等の外部から内部に送信されるパケットを一時的に蓄積するキャッシュ機能がある。蓄積された複数のパケットからは、複数のＶＯＰを含む新たなパケットが生成される。例えば、図１０（ａ）に示すように２つのパケットが蓄積されている場合には、図１０（ｂ）に示すように各パケットのＴＣＰヘッダが取り外された２つのデータ１，２を結合してデータ１′とし、このデータ１′にＴＣＰヘッダを付加することにより新たなパケットが生成される。したがって、企業ネットワーク等の外部から内部への通信では、プロキシにより生成された複数のＶＯＰを含む新たなパケットが受信端末に送信されることになる。プロキシと受信端末との間の通信で生じるビット誤りの検出には、従来は、新たなパケットに唯一付加されたＴＣＰヘッダに含まれるチェックサムが用いられる。
【０００５】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【非特許文献１】大久保栄／川島正久著、「Ｈ．３２３／ＭＰＥＧ４教科書」、ＩＥインスティチュート（株）、２００１年
【非特許文献２】石田晴久編、「要点チェック式インターネット教科書（上）」、（株）Ｉ＆Ｅ神蔵研究所、２０００年
【非特許文献３】藤原信一郎著、「通信担当者のためのＶｏＩＰ−Ｑ＆Ａで学ぶ基礎−」、（株）リックテレコム、２００１年
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来のビット誤り検出方法では、ＴＣＰヘッダに含まれるチェックサムによりビット誤りが検出されても、プロキシにより生成された新たなパケットのどの箇所にビット誤りが発生したかを特定できない。上述した例を用いて言えば、データ１′に付加されたＴＣＰヘッダのチェックサムのみでは、ビット誤りの発生箇所がデータ１かデータ２かを区別できない。このため、新たなパケットに含まれるすべてのＶＯＰにビット誤りがあると判断されてしまう。したがって、スキップ処理を行うと、パケットに含まれるすべてのＶＯＰに対してデコードが行われないので、その間の映像が止まったままの状態になるという問題があった。
【０００７】
本発明はこのような課題を解決するためになされたものであり、その目的は、プロキシにより複数のパケットが結合された場合でも、ＶＯＰ単位でビット誤りの検出を行えるようにすることにある。
【課題を解決するための手段】
【０００８】
このような目的を達成するために、本発明に係る通信装置は、エラー確認用情報を含む独自ヘッダを生成する独自ヘッダ生成手段と、データの前に独自ヘッダを付加したパケットを送信する送信手段と、データおよび独自ヘッダを含むパケットを受信する受信手段と、受信されたパケットをデータ毎に分割する分割手段と、データに対応する独自ヘッダのエラー確認用情報を用いてデータにおけるビット誤りの有無を検出するビット誤り検出手段とを備えることを特徴とする。
【０００９】
ここで、独自ヘッダは、この独自ヘッダの先頭を表す識別子と、エラー確認用情報としてデータのチェックサムとを含み、分割手段は、受信されたパケットにおいて独自ヘッダの識別子の位置から独自ヘッダの先頭位置を検出する独自ヘッダ先頭位置検出手段と、受信されたパケットが１組より多くの独自ヘッダおよびデータを含むことによりデータの後に独自ヘッダが存在する場合に、検出されたデータと独自ヘッダとを独自ヘッダの先頭位置で分割することにより独自ヘッダおよびデータを復元する復元処理手段とを備え、ビット誤り検出手段は、データの内容をそのデータに対応する独自ヘッダのチェックサムと比較することによりビット誤りの有無を検出するものであってもよい。
【００１０】
また、上述した通信装置は、データにビット誤りがあることが検出されたときに、データの送信元に対しデータおよび対応する独自ヘッダの再送を要求する再送要求手段を更に備えるものであってもよい。
また、映像を取得する映像取得手段と、フレーム内圧縮されたキーフレームを含む映像符号化手法を用いて映像からフレーム単位で符号化データを生成し、データとして独自ヘッダ生成手段および送信手段に出力する符号化処理手段とを更に備えるものであってもよい。
【００１１】
また、再送要求手段は、ビット誤りがあることが検出されたデータがキーフレームであるかどうかを判定する手段と、キーフレームであると判定された場合に再送を要求する手段と、キーフレームでないと判定された場合にデータを廃棄する手段とを備えるものであってもよい。
また、送信手段は、ネットワークへのアクセスを中継するプロキシが通過させるプロトコルで独自ヘッダおよびデータをカプセル化するカプセル化手段を更に備えるものであってもよい。
【００１２】
また、本発明に係る通信方法は、送信側クライアントにおいてエラー確認用情報を含む独自ヘッダを生成するステップと、データの前に独自ヘッダを付加したパケットを送信側クライアントからサーバに送信するステップと、サーバにおいてパケットを受信するステップと、サーバにおいて受信されたパケットを少なくとも１つの受信側クライアントに送信するステップと、受信側クライアントにおいてパケットを受信するステップと、受信側クライアントにおいて受信されたパケットをデータ毎に分割するステップと、受信側クライアントにおいてデータに対応する独自ヘッダのエラー確認用情報を用いてデータにおけるビット誤りの有無を検出するステップとを備えることを特徴とする。
【００１３】
また、本発明に係る記録媒体は、エラー確認用情報を含む独自ヘッダを生成する独自ヘッダ生成手段と、データの前に独自ヘッダを付加したパケットを送信する送信手段と、データおよび独自ヘッダを含むパケットを受信する受信手段と、受信されたパケットをデータ毎に分割する分割手段と、データに対応する独自ヘッダのエラー確認用情報を用いてデータにおけるビット誤りの有無を検出するビット誤り検出手段とをコンピュータに実現させるためのプログラムを記録した記録媒体である。
【００１４】
ここで、独自ヘッダは、この独自ヘッダの先頭を表す識別子と、エラー確認用情報としてデータのチェックサムとを含み、分割手段に含まれ、受信されたパケットにおいて独自ヘッダの識別子の位置から独自ヘッダの先頭位置を検出する手段と、分割手段に含まれ、受信されたパケットが１組より多くの独自ヘッダおよびデータを含むことによりデータの後に独自ヘッダが存在する場合に、検出されたデータと独自ヘッダとを独自ヘッダの先頭位置で分割することにより独自ヘッダおよびデータを復元する手段と、ビット誤り検出手段に含まれ、データの内容をそのデータに対応する独自ヘッダのチェックサムと比較することによりビット誤りの有無を検出する手段とを更にコンピュータに実現させるためのプログラムを記録した記録媒体であってもよい。
【発明の効果】
【００１５】
本発明では、データの前に独自ヘッダを付加したパケットを送信するので、たとえプロキシ等により複数のパケットが結合されて新たなパケットが生成された場合でも、独自ヘッダに基づき分割することにより、結合前の独自ヘッダおよびデータを復元できる。さらに、各データに対応する独自ヘッダのエラー確認用情報を用いてビット誤りを検出することにより、データ単位でのビット誤りの検出が可能となる。このデータがＶＯＰに相当する場合には、ＶＯＰ単位でのビット誤りの検出が可能となる。したがって、新たなパケットにビット誤りが生じたとしても、新たなパケットを構成する複数のパケットの中からビット誤りがある箇所を特定できるので、ビット誤りがない箇所の利用が可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照し、本発明の一実施の形態について詳細に説明する。
図１は、本発明の一実施の形態を説明するためのネットワーク構成を示すブロック図である。図１では、インターネット等のＩＰネットワーク１を介して、サーバ２と複数のクライアント（通信装置）３Ａ，３Ｂ，３Ｃ（クライアント３Ａ〜３Ｃを総称して、クライアント３と呼ぶことがある）とが接続される。ただし、クライアント３Ｃは、企業ネットワーク等に属しており、企業ネットワーク等には、その内部から外部のＩＰネットワーク１へのアクセスを中継するプロキシ４が存在している。プロキシ４では、企業ネットワーク等のセキュリティ確保のため、例えばＨＴＴＰなど特定のプロトコルしか通過できないように設定されている。
【００１７】
図２は、クライアント３の構成を示すブロック図である。この図に示すクライアント３は、カメラ３１と、符号化処理部３２と、独自ヘッダ生成部３３と、送信部３４と、受信部３５と、独自ヘッダ先頭位置検出部３６と、復元処理部３７と、ビット誤り検出部３８と、復号化処理部３９と、ディスプレイ４０と、キーフレーム判定部４１と、再送要求生成部４２とを有する。以下、各部３１〜４２について説明する。
【００１８】
カメラ（映像取得部）３１は、例えばＵＳＢ接続カメラや、キャプチャボードを介して接続されたＮＴＳＣのＴＶカメラ等である。カメラ３１により取得された映像（カメラ映像と呼ぶ）は、符号化処理部３２に出力される。
符号化処理部３２は、カメラ映像の符号化処理を行い、カメラ映像からフレーム単位で符号化データを生成する。符号化処理には、フレーム内圧縮されたキーフレームとフレーム間圧縮された内挿フレームとを生成する映像圧縮形式が用いられる。例えば、ＭＰＥＧ４やＨ．２６３等である（例えば、非特許文献１を参照。）。なお、符号化処理で用いられる映像圧縮形式は、少なくともキーフレームを生成できる形式であればよい。符号化データは、独自ヘッダ生成部３３および送信部３４に出力される。
【００１９】
独自ヘッダ生成部３３は、フレーム単位の符号化データに付加される独自ヘッダを生成する。図３（ａ）に示すように、独自ヘッダには、少なくとも、符号化データのチェックサム（エラー確認用情報）と、独自ヘッダの先頭を表す固有ビット列（例えば、６４ビット列）からなる識別子とが含まれる。独自ヘッダは、送信部３４に出力される。
【００２０】
送信部３４は、フレーム単位の符号化データの前にこの符号化データに対応する独自ヘッダを付加したパケットをサーバ２に送信する。ここでは、プロキシ４が通過させるプロトコルで、通過させたいプロトコルをカプセル化する。例えば、ＲＴＰをＨＴＴＰでカプセル化し、符号化データおよび独自ヘッダをＴＣＰで送信する。この際、図３（ｂ），（ｃ）に示すように、ＴＣＰヘッダ、独自ヘッダ、ＲＴＰヘッダ、符号化データの順でパケットを生成する。ここでは、ＴＣＰヘッダにＨＴＴＰヘッダも含まれているものとする。送信部３４はまた、後述する再送要求生成部４２で生成された符号化データおよび独自ヘッドの再送要求を、サーバ２に送信する。
【００２１】
受信部３５は、サーバ２から直接、またはプロキシ４を経由して送信されたパケットを受信する。後述するように、サーバ２は送信クライアントから送信されたパケットをそのまま受信クライアントに送信するので、クライアント３がサーバ２から直接受信する受信パケットは、図３に示した送信パケットと同じデータ構造をもつ。一方、プロキシ４は、キャッシュ機能によって蓄積された複数のパケットから新たなパケットを生成する。例えば、図４（ａ）に示すように２つの送信パケットのデータ１，２を結合させ、図４（ｂ）に示すようなデータ構造をもつパケットを生成する。図５に示すように、符号化データとこれに対応する独自ヘッダとが別々のパケットに分割されてしまう場合もある。いずれにせよ、クライアント３がサーバ２からプロキシ４を経由して受信する受信パケットでは、１組より多くの符号化データおよび独自ヘッダを含むことにより、本来先頭に存在すべき独自ヘッドが、符号化データの後に存在する場合がある。受信部３５で受信された受信パケットは、独自ヘッダ先頭位置検出部３６および復元処理部３７に出力される。
【００２２】
独自ヘッダ先頭位置検出部３６は、受信パケットに対し、独自ヘッダの先頭を表す識別子をサーチし、この識別子の位置から独自ヘッダの先頭位置を検出する。その検出結果は、復元処理部３７に出力される。
【００２３】
復元処理部３７は、独自ヘッダ先頭位置検出部３６により受信パケットにおける独自ヘッダの先頭位置を検出した結果、図４（ｂ）または図５に示したように符号化データの後に独自ヘッダが存在する場合には、受信パケットがプロキシ４を経由して受信されたと判定し、符号化データと独自ヘッダとを独自ヘッダの先頭位置で分割する。このようにして、プロキシ４により結合される前の、符号化データとこれに対応する独自ヘッダとからなるデータ構造を復元する。さらに、復元された符号化データおよび独自ヘッダをビット誤り検出部３８、復号化処理部３９およびキーフレーム判定部４１に出力する。これに対し、符号化データの後に独自ヘッダが存在しない場合には、受信パケットがプロキシ４を経由せずに直接受信されたと判定し、受信部３５から入力された符号化データおよび独自ヘッダを、そのままビット誤り検出部３８、復号化処理部３９およびキーフレーム判定部４１に出力する。
【００２４】
ビット誤り検出部３８は、符号化データについて、ビット誤りの有無を検出する。具体的には、まず、符号化データのチェックサムを求める。復元処理部３７において受信パケットがプロキシ４を経由していると判定された場合には、符号化データのチェックサムと対応する独自ヘッダのチェックサムとを比較する。また、受信パケットがプロキシ４を経由していないと判定された場合には、符号化データのチェックサムと対応するＴＣＰヘッダのチェックサムとを比較する。これらの結果、符号化データのチェックサムとヘッダのチェックサムとが一致していれば、その符号化データにビット誤りがないと判定し、一致していなければ、ビット誤りがあると判定する。ビット誤りがないと判定された場合には、その旨を復号化処理部３９に出力し、ビット誤りがあると判定された場合には、その旨をキーフレーム判定部４１に出力する。
【００２５】
復号化処理部３９は、ビット誤り検出部３８によりビット誤りがないと判定された符号化データを復号化する。
ディスプレイ（表示手段）４０は、復号化処理部３９により復号化されたカメラ映像を表示する。
【００２６】
キーフレーム判定部４１は、ビット誤り検出部３８によりビット誤りがあると判定された符号化データについて、この符号化データのフレームがキーフレームであるかどうかを判定する。キーフレームであると判定された場合には、その旨を再生要求生成部４２に出力し、キーフレームでないと判定された場合には、その符号化データを破棄する。
再送要求生成部４２は、キーフレーム判定部４１によりビット誤りのある符号化データがキーフレームであると判定された場合に、その符号化データおよびこれに対応する独自ヘッドの再送要求を生成し、送信部３４に出力する。
【００２７】
図６は、サーバ２の構成を示すブロック図である。この図に示すサーバ２は、受信部２１と、制御部２２と、バッファ２３と、送信部２４とを有する。以下、各部２１〜２４について説明する。
受信部２１は、送信クライアント３（３Ａ）から送信されたパケットを受信し、受信されたパケットを制御部２２に出力する。受信部２１はまた、受信クライアント３（３Ｂ，３Ｃ）から送信されたキーフレームの再送要求を受信し、受信された再送要求を制御部２２に出力する。
【００２８】
制御部２２は、受信部２１で受信されたパケットに含まれる符号化データおよび独自ヘッダを受信クライアントの数に応じて複製する。ここでは、受信クライアント３（３Ｂ，３Ｃ）に対応し、符号化データおよび独自ヘッダを２組複製する。また、符号化データがキーフレームであるかどうかを判定し、キーフレームであると判定された場合には、複製された符号化データおよび独自ヘッダをバッファ２３に蓄積する。この際、バッファ２３に蓄積されていた符号化データおよび独自ヘッダを削除する。すなわち、バッファ２３の内容は、キーフレームが受信される毎に更新される。また、複製された符号化データおよび独自ヘッダを送信部２４に出力する。
制御部２２はまた、キーフレームの再送要求が受信されたときに、バッファ２３に蓄積されている符号化データおよび独自ヘッダを読み出し、読み出された符号化データおよび独自ヘッダを送信部２４に出力する。
【００２９】
送信部２４は、制御部２２からの入力に基づき、符号化データの前に独自ヘッダを付加したパケットを受信クライアント３（３Ｂ，３Ｃ）に送信する。ここでも、クライアント３（３Ａ）の送信部２４と同様に、プロキシ４が通過させるプロトコルで、通過させたいプロトコルをカプセル化する。なお、送信クライアント３（３Ａ）から送信された符号化データおよび独自ヘッダは、待ち時間なしに受信クライアント３（３Ｂ，３Ｃ）に送信される。
【００３０】
次に、図７〜図９を参照し、送信クライアント３Ａからサーバ２を介して受信クライアント３Ｂ，３Ｃに映像を送信する場合を例に、本実施の形態による通信方法について説明する。図７は、送信クライアント３Ａの送信動作の流れを示すフローチャートである。図８は、サーバ２の動作の流れを示すフローチャートである。図９は、受信クライアント３Ｂ，３Ｃの受信動作の流れを示すフローチャートである。
【００３１】
まず、送信クライアント３Ａは、カメラ３１によりカメラ映像を取得する（図７のステップＳ１）。このカメラ映像を符号化処理部３２において符号化処理し、フレーム単位で符号化データを生成する（図７のステップＳ２）。また、独自ヘッダ生成部３３において、符号化データに付加される独自ヘッダを生成する（図７のステップＳ３）。そして、符号化データの前にこれに対応する独自ヘッダを付加したパケットを送信部３４よりサーバ２に送信する（図７のステップＳ４）。このとき、パケットがプロキシ４を通過できるように、ＲＴＰをＨＴＴＰでカプセル化し、符号化データおよび独自ヘッダをＴＣＰで送信する。
【００３２】
サーバ２は、送信クライアント３Ａから送信されたパケットを受信部２１で受信すると（図８のステップＳ１１、Ｓ１２（ＮＯ））、制御部２２においてパケットに含まれる符号化データおよび独自ヘッダを受信クライアント３Ｂ，３Ｃのそれぞれに対応して複製する。この際、符号化データがキーフレームであるかとき、複製された符号化データおよび独自ヘッダをバッファ２３に蓄積する（図８のステップＳ１３）。そして、符号化データの前に独自ヘッダを付加したパケットを、送信部２４より待ち時間なしに受信クライアント３Ｂ，３Ｃに送信する（図８のステップＳ１４）。このときも、図７のステップＳ４と同様に、ＲＴＰをＨＴＴＰでカプセル化し、符号化データおよび独自ヘッダをＴＣＰで送信する。
【００３３】
以下、受信クライアント３Ｂへの送信と受信クライアント３Ｃへの送信に分けて説明する。まず、受信クライアント３Ｂへの送信について説明する。
受信クライアント３Ｂは、サーバ２から送信されたパケットを受信部３５で受信する（図９のステップＳ２１）。サーバ２と受信クライアント３Ｂとの間にはプロキシ４が存在しないので、受信部３５で受信されたパケットは図３に示した送信パケットと同じデータ構造をもつ。このため、独自ヘッダ先頭位置検出部３６において、受信パケットにおける独自ヘッダの先頭位置をサーチすると、独自ヘッダの先頭はＴＣＰヘッダを除く受信パケットの先頭のみに現れる（図９のステップＳ２２（ＹＥＳ））。
【００３４】
よって、受信部３５で受信された受信パケットに含まれる符号化データおよびＴＣＰヘッダを用いて、ビット誤り検出部３８においてビット誤りの有無を検出する。具体的には、まず、符号化データのチェックサムを求め、ＴＣＰヘッダのチェックサムと比較する（図９のステップＳ２３）。その結果、両者が一致していれば、その符号化データにビット誤りがないと判定し（図９のステップＳ２４（ＹＥＳ））、復号化処理部３９においては符号化データを復号化し（図９のステップＳ２５）、復号化されたカメラ映像をディスプレイ４０に表示する（図９のステップＳ２６）。
【００３５】
これに対し、ビット誤り検出部３８において符号化データのチェックサムとＴＣＰヘッダのチェックサムとを比較した結果、両者が一致していなければ、ビット誤りがあると判定する（図９のステップＳ２４（ＮＯ））。この場合には、キーフレーム判定部４１において、ビット誤りがあると判定された符号化データのフレームがキーフレームであるかどうかを判定する。その結果、キーフレームでないと判定された場合には（図９のステップＳ２７（ＮＯ））、その符号化データを破棄する（図９のステップＳ２８）。また、キーフレームであると判定された場合には（図９のステップＳ２７（ＹＥＳ））、再送要求生成部４２において、その符号化データおよびこれに対応する独自ヘッドの再送要求を生成し、送信部３４よりサーバ２に送信する（図９のステップＳ２９）。
【００３６】
サーバ２は、受信クライアント３Ｂから送信された再送要求を受信部２１で受信すると（図８のステップＳ１１、Ｓ１２（ＹＥＳ））、制御部２２により、バッファ２３に蓄積されているキーフレームの符号化データおよび独自ヘッダを読み出し、受信クライアント３Ｂに再送する（図８のステップＳ１５）。このようなキーフレームの再送処理により、フレームレートは低下するものの、ビット誤りに起因する画像の乱れを発生させることなく、映像を送受信することが可能となる。
【００３７】
次に、サーバ２から受信クライアント３Ｃへの送信について説明する。
サーバ２と受信クライアント３Ｃとの間にはプロキシ４が存在するので、プロキシ４により図４（ｂ）または図５に示したような複数のパケットのデータを結合した新たなパケットが生成される。受信クライアント３Ｃは、この新たなパケットを受信部３５で受信する（図９のステップＳ２１）。独自ヘッダ先頭位置検出部３６において、受信パケットにおける独自ヘッダの先頭位置をサーチすると、独自ヘッダの先頭はＴＣＰヘッダを除く受信パケットの先頭だけでなく、符号化データの後にも現れる（図９のステップＳ２２（ＮＯ））。
【００３８】
よって、復元処理部３７において、受信パケットに含まれる符号化データと独自ヘッダとを独自ヘッダの先頭位置で分割する。このようにして、プロキシ４により結合される前の、符号化データとこれに対応する独自ヘッダとからなるデータ構造を復元する（図９のステップＳ３０）。そして、ビット誤り検出部３８において、ＴＣＰヘッダではなく、復元された符号化データおよび独自データを用いて、ビット誤りの有無を検出する。具体的には、まず、符号化データのチェックサムを求め、独自ヘッダのチェックサムと比較する（図９のステップＳ２３）。その結果、両者が一致していれば、その符号化データにビット誤りがないと判定し（図９のステップＳ２４（ＹＥＳ））、両者が一致していなければ、ビット誤りがあると判定する（図９のステップＳ２４（ＮＯ））。
【００３９】
このように、独自ヘッダのチェックサムを用いてビット誤りを検出することにより、フレーム単位（ＶＯＰ単位）でのビット誤りの検出が可能となる。したがって、プロキシ４により生成された新たなパケットにビット誤りが生じたとしても、新たなパケットを構成する複数のＶＯＰの中からビット誤りがあるＶＯＰを特定できるので、ビット誤りがないＶＯＰを復号化し、ディスプレイ４０に表示することが可能となる。
【００４０】
なお、受信クライアント３Ｃにおける復号化処理（図９のステップＳ２５）、映像表示処理（図９のステップＳ２６）、キーフレーム判定処理（図９のステップＳ２７）、データ廃棄処理（図９のステップＳ２８）および再送処理（図９のステップＳ２９）は、処理に用いられる符号化データがステップＳ３０において復元された符号化データであることを除き、前述した受信クライアント３Ｂにおける処理と同様であるから、その説明を省略する。
【００４１】
なお、本実施の形態において、クライアント３またはサーバ２は、コンピュータにより実現することができる。このコンピュータは、中央処理装置（ＣＰＵ）と、リードオンリメモリ（ＲＯＭ）と、ランダムアクセスメモリ（ＲＡＭ）と、ディスプレイやキーボード、外部記憶装置またはＩＰネットワーク１とのインタフェースをとるための回路などを備えた公知の構成のものでよい。
ＣＰＵは、ＲＯＭもしくはＲＡＭに記憶されたプログラム、またはキーボードから入力されたコマンドにしたがって処理を実行する。ＣＰＵはまた、外部記憶装置にデータを書き込んだり、外部記憶装置からデータを読み出したりすることができる。ＣＰＵはさらに、ＩＰネットワーク１からデータを取得したり、ＩＰネットワーク１にデータを送出したりすることができる。
【００４２】
このようなコンピュータにおいて、本発明の通信装置および方法を実現させるためのプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカードなどの記録媒体に記録された状態で提供される。この記録媒体を外部記憶装置に挿入すると、記録媒体に書き込まれたプログラムが読み取られ、コンピュータに転送される。そして、ＣＰＵは、読み込んだプログラムをＲＡＭ等に書き込む。その後に、ＩＰネットワーク１、外部記憶装置またはキーボード等の外部入力装置から入力されたデータに基づき、ＣＰＵは、前述した機能部を実現し、前述した処理を実行する。
【産業上の利用可能性】
【００４３】
本発明は、例えば、プロキシが存在する通信経路を用いたＩＰ双方向画像通信に利用できる。また、画像通信だけに限られず、音声通信やそれ以外のデータ通信にも利用できる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施の形態を説明するためのネットワーク構成を示すブロック図である。
【図２】クライアントの構成を示すブロック図である。
【図３】クライアントで生成される独自ヘッダおよびこれを含む送信パケットの構造を示す図である。
【図４】プロキシで生成される新たなパケットの構造を説明するための図である。
【図５】プロキシで生成される新たなパケットの構造を説明するための図である。
【図６】サーバの構成を示すブロック図である。
【図７】送信クライアントの送信動作の流れを示すフローチャートである。
【図８】サーバの動作の流れを示すフローチャートである。
【図９】受信クライアントの受信動作の流れを示すフローチャートである。
【図１０】プロキシで生成される新たなパケットの構造を説明するための図である。
【符号の説明】
【００４５】
１…ＩＰネットワーク、２…サーバ、３…クライアント、４…プロキシ、２１…受信部、２２…制御部、２３…バッファ、２４…送信部、３１…カメラ、３２…符号化処理部、３３…独自ヘッダ生成部、３４…送信部、３５…受信部、３６…独自ヘッダ先頭位置検出部、３７…復元処理部、３８…ビット誤り検出部、３９…復号化処理部、４０…ディスプレイ、４１…キーフレーム判定部、４２…再送要求生成部。
【図１】
2005333452.tif 000003
【図２】
2005333452.tif 000004
【図３】
2005333452.tif 000005
【図４】
2005333452.tif 000006
【図５】
2005333452.tif 000007
【図６】
2005333452.tif 000008
【図７】
2005333452.tif 000009
【図８】
2005333452.tif 000010
【図９】
2005333452.tif 000011
【図１０】
2005333452.tif 000012