JP2005333452A - Communication device, communication method, and recording medium recording program - Google Patents
Communication device, communication method, and recording medium recording program Download PDFInfo
- Publication number
- JP2005333452A JP2005333452A JP2004150394A JP2004150394A JP2005333452A JP 2005333452 A JP2005333452 A JP 2005333452A JP 2004150394 A JP2004150394 A JP 2004150394A JP 2004150394 A JP2004150394 A JP 2004150394A JP 2005333452 A JP2005333452 A JP 2005333452A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unique header
- unique
- header
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims description 31
- 238000000034 method Methods 0.000 title claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 39
- 238000001514 detection method Methods 0.000 claims description 20
- 238000012790 confirmation Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
本発明は、通信装置および通信方法に関し、特に、独自ヘッダを用いる通信装置および通信方法に関する。 The present invention relates to a communication device and a communication method, and more particularly to a communication device and a communication method using a unique header.
双方向で映像通信を行う場合には、一般にH.263,MPG2、MPG4等を用いて映像を圧縮した符号化データを送受信する(例えば、非特許文献1を参照。)。これらの符号化データは、一般にRTPプロトコルを用いて、1VOP(Video Object Plane)あたり1パケットで送信される。一般的なインターネットにおいては、VOP毎に送信された符号化データは、受信端末でもVOP毎にパケットを受け取ることができる。したがって、受信端末では、パケット毎にRTPヘッダを取り外して符号化データをデコーダに渡すことにより、その符号化データを復号化できる。ここで、通信中にビット誤りが生じたとしても、受信端末では、RTPヘッダのサブセットであるUDPヘッダに含まれるチェックサムを用いてビット誤りを検出できる。このため、エラーパケットのVOPのみに対してスキップ処理を行うことにより、乱れた画像を非表示にすることが可能である。 In general, when performing bi-directional video communication, H.264 is generally used. 263, MPG2, MPG4, and the like are used to transmit and receive encoded data obtained by compressing video (see, for example, Non-Patent Document 1). These encoded data are generally transmitted in one packet per 1 VOP (Video Object Plane) using the RTP protocol. In the general Internet, the encoded data transmitted for each VOP can be received by the receiving terminal for each VOP. Therefore, the receiving terminal can decode the encoded data by removing the RTP header for each packet and passing the encoded data to the decoder. Here, even if a bit error occurs during communication, the receiving terminal can detect the bit error using a checksum included in the UDP header that is a subset of the RTP header. For this reason, it is possible to hide the disordered image by performing the skip process only on the VOP of the error packet.
一方、企業ネットワーク等を介して符号化データの送受信を行う場合には、セキュリティ確保を目的としたプロキシを越えて通信を行わなければならない(例えば、非特許文献2を参照。)。プロキシでは特定のプロトコルしか通過できないので、プロキシを通過できるプロトコルで通過させたいプロトコルを包み込むトンネリング技術が必要となる(例えば、非特許文献3を参照。)。一般には、RTPをHTTPで包み込むHTTPトンネリングにより、プロキシを通過できるようになる。 On the other hand, when transmitting and receiving encoded data via a corporate network or the like, communication must be performed beyond a proxy for ensuring security (see, for example, Non-Patent Document 2). Since a proxy can pass only a specific protocol, a tunneling technique that wraps a protocol that is desired to pass by a protocol that can pass the proxy is required (see, for example, Non-Patent Document 3). In general, HTTP tunneling that wraps RTP with HTTP makes it possible to pass through a proxy.
プロキシには、企業ネットワーク等の外部から内部に送信されるパケットを一時的に蓄積するキャッシュ機能がある。蓄積された複数のパケットからは、複数のVOPを含む新たなパケットが生成される。例えば、図10(a)に示すように2つのパケットが蓄積されている場合には、図10(b)に示すように各パケットのTCPヘッダが取り外された2つのデータ1,2を結合してデータ1′とし、このデータ1′にTCPヘッダを付加することにより新たなパケットが生成される。したがって、企業ネットワーク等の外部から内部への通信では、プロキシにより生成された複数のVOPを含む新たなパケットが受信端末に送信されることになる。プロキシと受信端末との間の通信で生じるビット誤りの検出には、従来は、新たなパケットに唯一付加されたTCPヘッダに含まれるチェックサムが用いられる。
The proxy has a cache function for temporarily storing packets transmitted from outside to inside such as a corporate network. A new packet including a plurality of VOPs is generated from the accumulated packets. For example, when two packets are accumulated as shown in FIG. 10A, the two
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
しかし、従来のビット誤り検出方法では、TCPヘッダに含まれるチェックサムによりビット誤りが検出されても、プロキシにより生成された新たなパケットのどの箇所にビット誤りが発生したかを特定できない。上述した例を用いて言えば、データ1′に付加されたTCPヘッダのチェックサムのみでは、ビット誤りの発生箇所がデータ1かデータ2かを区別できない。このため、新たなパケットに含まれるすべてのVOPにビット誤りがあると判断されてしまう。したがって、スキップ処理を行うと、パケットに含まれるすべてのVOPに対してデコードが行われないので、その間の映像が止まったままの状態になるという問題があった。
However, in the conventional bit error detection method, even if a bit error is detected by the checksum included in the TCP header, it cannot be specified in which part of the new packet generated by the proxy the bit error has occurred. Using the example described above, it is impossible to distinguish whether the bit error occurrence location is
本発明はこのような課題を解決するためになされたものであり、その目的は、プロキシにより複数のパケットが結合された場合でも、VOP単位でビット誤りの検出を行えるようにすることにある。 The present invention has been made to solve such problems, and an object of the present invention is to enable bit error detection in units of VOPs even when a plurality of packets are combined by a proxy.
このような目的を達成するために、本発明に係る通信装置は、エラー確認用情報を含む独自ヘッダを生成する独自ヘッダ生成手段と、データの前に独自ヘッダを付加したパケットを送信する送信手段と、データおよび独自ヘッダを含むパケットを受信する受信手段と、受信されたパケットをデータ毎に分割する分割手段と、データに対応する独自ヘッダのエラー確認用情報を用いてデータにおけるビット誤りの有無を検出するビット誤り検出手段とを備えることを特徴とする。 In order to achieve such an object, a communication apparatus according to the present invention includes a unique header generating unit that generates a unique header including error confirmation information, and a transmitting unit that transmits a packet with a unique header added before data. And receiving means for receiving a packet including data and a unique header, a dividing means for dividing the received packet for each data, and whether or not there is a bit error in the data using error confirmation information of the unique header corresponding to the data And a bit error detecting means for detecting.
ここで、独自ヘッダは、この独自ヘッダの先頭を表す識別子と、エラー確認用情報としてデータのチェックサムとを含み、分割手段は、受信されたパケットにおいて独自ヘッダの識別子の位置から独自ヘッダの先頭位置を検出する独自ヘッダ先頭位置検出手段と、受信されたパケットが1組より多くの独自ヘッダおよびデータを含むことによりデータの後に独自ヘッダが存在する場合に、検出されたデータと独自ヘッダとを独自ヘッダの先頭位置で分割することにより独自ヘッダおよびデータを復元する復元処理手段とを備え、ビット誤り検出手段は、データの内容をそのデータに対応する独自ヘッダのチェックサムと比較することによりビット誤りの有無を検出するものであってもよい。 Here, the unique header includes an identifier indicating the head of the unique header and a checksum of data as error confirmation information, and the dividing means starts from the position of the identifier of the unique header in the received packet. Unique header head position detection means for detecting the position, and when the received packet includes more than one set of unique headers and data, and there is a unique header after the data, the detected data and the unique header are And a restoration processing means for restoring the unique header and data by dividing at the head position of the unique header, and the bit error detecting means compares the data contents with the checksum of the unique header corresponding to the data to generate a bit. You may detect the presence or absence of an error.
また、上述した通信装置は、データにビット誤りがあることが検出されたときに、データの送信元に対しデータおよび対応する独自ヘッダの再送を要求する再送要求手段を更に備えるものであってもよい。
また、映像を取得する映像取得手段と、フレーム内圧縮されたキーフレームを含む映像符号化手法を用いて映像からフレーム単位で符号化データを生成し、データとして独自ヘッダ生成手段および送信手段に出力する符号化処理手段とを更に備えるものであってもよい。
Further, the communication device described above may further include a retransmission request unit that requests retransmission of the data and the corresponding unique header to the data transmission source when it is detected that the data has a bit error. Good.
In addition, using the video acquisition means that acquires the video and the video encoding method including the key frame compressed in the frame, the encoded data is generated in units of frames from the video and is output as data to the unique header generation means and the transmission means And an encoding processing means.
また、再送要求手段は、ビット誤りがあることが検出されたデータがキーフレームであるかどうかを判定する手段と、キーフレームであると判定された場合に再送を要求する手段と、キーフレームでないと判定された場合にデータを廃棄する手段とを備えるものであってもよい。
また、送信手段は、ネットワークへのアクセスを中継するプロキシが通過させるプロトコルで独自ヘッダおよびデータをカプセル化するカプセル化手段を更に備えるものであってもよい。
The retransmission request means is means for determining whether the data detected to have a bit error is a key frame, means for requesting retransmission when it is determined to be a key frame, and not a key frame. And a means for discarding the data when it is determined.
The transmission means may further include an encapsulation means for encapsulating the unique header and data with a protocol that is passed by a proxy that relays access to the network.
また、本発明に係る通信方法は、送信側クライアントにおいてエラー確認用情報を含む独自ヘッダを生成するステップと、データの前に独自ヘッダを付加したパケットを送信側クライアントからサーバに送信するステップと、サーバにおいてパケットを受信するステップと、サーバにおいて受信されたパケットを少なくとも1つの受信側クライアントに送信するステップと、受信側クライアントにおいてパケットを受信するステップと、受信側クライアントにおいて受信されたパケットをデータ毎に分割するステップと、受信側クライアントにおいてデータに対応する独自ヘッダのエラー確認用情報を用いてデータにおけるビット誤りの有無を検出するステップとを備えることを特徴とする。 The communication method according to the present invention includes a step of generating a unique header including error confirmation information in the transmission side client, a step of transmitting a packet with a unique header added before the data from the transmission side client to the server, Receiving a packet at the server; transmitting a packet received at the server to at least one receiving client; receiving a packet at the receiving client; and receiving a packet at the receiving client for each data And a step of detecting the presence or absence of a bit error in the data using the error confirmation information of the unique header corresponding to the data at the receiving client.
また、本発明に係る記録媒体は、エラー確認用情報を含む独自ヘッダを生成する独自ヘッダ生成手段と、データの前に独自ヘッダを付加したパケットを送信する送信手段と、データおよび独自ヘッダを含むパケットを受信する受信手段と、受信されたパケットをデータ毎に分割する分割手段と、データに対応する独自ヘッダのエラー確認用情報を用いてデータにおけるビット誤りの有無を検出するビット誤り検出手段とをコンピュータに実現させるためのプログラムを記録した記録媒体である。 The recording medium according to the present invention includes a unique header generating means for generating a unique header including error confirmation information, a transmitting means for transmitting a packet with a unique header added before data, and data and a unique header. A receiving means for receiving a packet; a dividing means for dividing the received packet for each data; and a bit error detecting means for detecting the presence or absence of a bit error in the data using error confirmation information in a unique header corresponding to the data; Is a recording medium on which a program for causing a computer to execute is recorded.
ここで、独自ヘッダは、この独自ヘッダの先頭を表す識別子と、エラー確認用情報としてデータのチェックサムとを含み、分割手段に含まれ、受信されたパケットにおいて独自ヘッダの識別子の位置から独自ヘッダの先頭位置を検出する手段と、分割手段に含まれ、受信されたパケットが1組より多くの独自ヘッダおよびデータを含むことによりデータの後に独自ヘッダが存在する場合に、検出されたデータと独自ヘッダとを独自ヘッダの先頭位置で分割することにより独自ヘッダおよびデータを復元する手段と、ビット誤り検出手段に含まれ、データの内容をそのデータに対応する独自ヘッダのチェックサムと比較することによりビット誤りの有無を検出する手段とを更にコンピュータに実現させるためのプログラムを記録した記録媒体であってもよい。 Here, the unique header includes an identifier representing the head of the unique header and a checksum of data as error confirmation information, is included in the dividing means, and is received from the position of the unique header identifier in the received packet. Means for detecting the head position of the data, and if the received packet contains more than one set of unique headers and data, and the unique header is present after the data because the received packet contains more than one set of unique headers and data. A means for restoring the original header and data by dividing the header at the head position of the original header, and a bit error detection means, and comparing the contents of the data with the checksum of the original header corresponding to the data A recording medium storing a program for causing a computer to further detect a bit error It may be.
本発明では、データの前に独自ヘッダを付加したパケットを送信するので、たとえプロキシ等により複数のパケットが結合されて新たなパケットが生成された場合でも、独自ヘッダに基づき分割することにより、結合前の独自ヘッダおよびデータを復元できる。さらに、各データに対応する独自ヘッダのエラー確認用情報を用いてビット誤りを検出することにより、データ単位でのビット誤りの検出が可能となる。このデータがVOPに相当する場合には、VOP単位でのビット誤りの検出が可能となる。したがって、新たなパケットにビット誤りが生じたとしても、新たなパケットを構成する複数のパケットの中からビット誤りがある箇所を特定できるので、ビット誤りがない箇所の利用が可能となる。 In the present invention, since a packet with a unique header added before data is transmitted, even if a plurality of packets are combined by a proxy or the like to generate a new packet, the packet is combined by dividing based on the unique header. You can restore previous unique headers and data. Furthermore, bit errors can be detected in units of data by detecting bit errors using the error confirmation information in the unique header corresponding to each data. When this data corresponds to a VOP, it is possible to detect a bit error in units of VOP. Therefore, even if a bit error occurs in a new packet, a location where there is a bit error can be identified from among a plurality of packets constituting the new packet, so that a location where there is no bit error can be used.
以下、図面を参照し、本発明の一実施の形態について詳細に説明する。
図1は、本発明の一実施の形態を説明するためのネットワーク構成を示すブロック図である。図1では、インターネット等のIPネットワーク1を介して、サーバ2と複数のクライアント(通信装置)3A,3B,3C(クライアント3A〜3Cを総称して、クライアント3と呼ぶことがある)とが接続される。ただし、クライアント3Cは、企業ネットワーク等に属しており、企業ネットワーク等には、その内部から外部のIPネットワーク1へのアクセスを中継するプロキシ4が存在している。プロキシ4では、企業ネットワーク等のセキュリティ確保のため、例えばHTTPなど特定のプロトコルしか通過できないように設定されている。
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing a network configuration for explaining an embodiment of the present invention. In FIG. 1, a
図2は、クライアント3の構成を示すブロック図である。この図に示すクライアント3は、カメラ31と、符号化処理部32と、独自ヘッダ生成部33と、送信部34と、受信部35と、独自ヘッダ先頭位置検出部36と、復元処理部37と、ビット誤り検出部38と、復号化処理部39と、ディスプレイ40と、キーフレーム判定部41と、再送要求生成部42とを有する。以下、各部31〜42について説明する。
FIG. 2 is a block diagram showing the configuration of the
カメラ(映像取得部)31は、例えばUSB接続カメラや、キャプチャボードを介して接続されたNTSCのTVカメラ等である。カメラ31により取得された映像(カメラ映像と呼ぶ)は、符号化処理部32に出力される。
符号化処理部32は、カメラ映像の符号化処理を行い、カメラ映像からフレーム単位で符号化データを生成する。符号化処理には、フレーム内圧縮されたキーフレームとフレーム間圧縮された内挿フレームとを生成する映像圧縮形式が用いられる。例えば、MPEG4やH.263等である(例えば、非特許文献1を参照。)。なお、符号化処理で用いられる映像圧縮形式は、少なくともキーフレームを生成できる形式であればよい。符号化データは、独自ヘッダ生成部33および送信部34に出力される。
The camera (video acquisition unit) 31 is, for example, a USB connection camera or an NTSC TV camera connected via a capture board. The video (referred to as camera video) acquired by the
The
独自ヘッダ生成部33は、フレーム単位の符号化データに付加される独自ヘッダを生成する。図3(a)に示すように、独自ヘッダには、少なくとも、符号化データのチェックサム(エラー確認用情報)と、独自ヘッダの先頭を表す固有ビット列(例えば、64ビット列)からなる識別子とが含まれる。独自ヘッダは、送信部34に出力される。
The unique
送信部34は、フレーム単位の符号化データの前にこの符号化データに対応する独自ヘッダを付加したパケットをサーバ2に送信する。ここでは、プロキシ4が通過させるプロトコルで、通過させたいプロトコルをカプセル化する。例えば、RTPをHTTPでカプセル化し、符号化データおよび独自ヘッダをTCPで送信する。この際、図3(b),(c)に示すように、TCPヘッダ、独自ヘッダ、RTPヘッダ、符号化データの順でパケットを生成する。ここでは、TCPヘッダにHTTPヘッダも含まれているものとする。送信部34はまた、後述する再送要求生成部42で生成された符号化データおよび独自ヘッドの再送要求を、サーバ2に送信する。
The
受信部35は、サーバ2から直接、またはプロキシ4を経由して送信されたパケットを受信する。後述するように、サーバ2は送信クライアントから送信されたパケットをそのまま受信クライアントに送信するので、クライアント3がサーバ2から直接受信する受信パケットは、図3に示した送信パケットと同じデータ構造をもつ。一方、プロキシ4は、キャッシュ機能によって蓄積された複数のパケットから新たなパケットを生成する。例えば、図4(a)に示すように2つの送信パケットのデータ1,2を結合させ、図4(b)に示すようなデータ構造をもつパケットを生成する。図5に示すように、符号化データとこれに対応する独自ヘッダとが別々のパケットに分割されてしまう場合もある。いずれにせよ、クライアント3がサーバ2からプロキシ4を経由して受信する受信パケットでは、1組より多くの符号化データおよび独自ヘッダを含むことにより、本来先頭に存在すべき独自ヘッドが、符号化データの後に存在する場合がある。受信部35で受信された受信パケットは、独自ヘッダ先頭位置検出部36および復元処理部37に出力される。
The receiving
独自ヘッダ先頭位置検出部36は、受信パケットに対し、独自ヘッダの先頭を表す識別子をサーチし、この識別子の位置から独自ヘッダの先頭位置を検出する。その検出結果は、復元処理部37に出力される。
The unique header
復元処理部37は、独自ヘッダ先頭位置検出部36により受信パケットにおける独自ヘッダの先頭位置を検出した結果、図4(b)または図5に示したように符号化データの後に独自ヘッダが存在する場合には、受信パケットがプロキシ4を経由して受信されたと判定し、符号化データと独自ヘッダとを独自ヘッダの先頭位置で分割する。このようにして、プロキシ4により結合される前の、符号化データとこれに対応する独自ヘッダとからなるデータ構造を復元する。さらに、復元された符号化データおよび独自ヘッダをビット誤り検出部38、復号化処理部39およびキーフレーム判定部41に出力する。これに対し、符号化データの後に独自ヘッダが存在しない場合には、受信パケットがプロキシ4を経由せずに直接受信されたと判定し、受信部35から入力された符号化データおよび独自ヘッダを、そのままビット誤り検出部38、復号化処理部39およびキーフレーム判定部41に出力する。
As a result of detecting the head position of the unique header in the received packet by the unique header head
ビット誤り検出部38は、符号化データについて、ビット誤りの有無を検出する。具体的には、まず、符号化データのチェックサムを求める。復元処理部37において受信パケットがプロキシ4を経由していると判定された場合には、符号化データのチェックサムと対応する独自ヘッダのチェックサムとを比較する。また、受信パケットがプロキシ4を経由していないと判定された場合には、符号化データのチェックサムと対応するTCPヘッダのチェックサムとを比較する。これらの結果、符号化データのチェックサムとヘッダのチェックサムとが一致していれば、その符号化データにビット誤りがないと判定し、一致していなければ、ビット誤りがあると判定する。ビット誤りがないと判定された場合には、その旨を復号化処理部39に出力し、ビット誤りがあると判定された場合には、その旨をキーフレーム判定部41に出力する。
The bit
復号化処理部39は、ビット誤り検出部38によりビット誤りがないと判定された符号化データを復号化する。
ディスプレイ(表示手段)40は、復号化処理部39により復号化されたカメラ映像を表示する。
The
The display (display unit) 40 displays the camera video decoded by the
キーフレーム判定部41は、ビット誤り検出部38によりビット誤りがあると判定された符号化データについて、この符号化データのフレームがキーフレームであるかどうかを判定する。キーフレームであると判定された場合には、その旨を再生要求生成部42に出力し、キーフレームでないと判定された場合には、その符号化データを破棄する。
再送要求生成部42は、キーフレーム判定部41によりビット誤りのある符号化データがキーフレームであると判定された場合に、その符号化データおよびこれに対応する独自ヘッドの再送要求を生成し、送信部34に出力する。
The key
When the key
図6は、サーバ2の構成を示すブロック図である。この図に示すサーバ2は、受信部21と、制御部22と、バッファ23と、送信部24とを有する。以下、各部21〜24について説明する。
受信部21は、送信クライアント3(3A)から送信されたパケットを受信し、受信されたパケットを制御部22に出力する。受信部21はまた、受信クライアント3(3B,3C)から送信されたキーフレームの再送要求を受信し、受信された再送要求を制御部22に出力する。
FIG. 6 is a block diagram showing the configuration of the
The
制御部22は、受信部21で受信されたパケットに含まれる符号化データおよび独自ヘッダを受信クライアントの数に応じて複製する。ここでは、受信クライアント3(3B,3C)に対応し、符号化データおよび独自ヘッダを2組複製する。また、符号化データがキーフレームであるかどうかを判定し、キーフレームであると判定された場合には、複製された符号化データおよび独自ヘッダをバッファ23に蓄積する。この際、バッファ23に蓄積されていた符号化データおよび独自ヘッダを削除する。すなわち、バッファ23の内容は、キーフレームが受信される毎に更新される。また、複製された符号化データおよび独自ヘッダを送信部24に出力する。
制御部22はまた、キーフレームの再送要求が受信されたときに、バッファ23に蓄積されている符号化データおよび独自ヘッダを読み出し、読み出された符号化データおよび独自ヘッダを送信部24に出力する。
The
The
送信部24は、制御部22からの入力に基づき、符号化データの前に独自ヘッダを付加したパケットを受信クライアント3(3B,3C)に送信する。ここでも、クライアント3(3A)の送信部24と同様に、プロキシ4が通過させるプロトコルで、通過させたいプロトコルをカプセル化する。なお、送信クライアント3(3A)から送信された符号化データおよび独自ヘッダは、待ち時間なしに受信クライアント3(3B,3C)に送信される。
Based on the input from the
次に、図7〜図9を参照し、送信クライアント3Aからサーバ2を介して受信クライアント3B,3Cに映像を送信する場合を例に、本実施の形態による通信方法について説明する。図7は、送信クライアント3Aの送信動作の流れを示すフローチャートである。図8は、サーバ2の動作の流れを示すフローチャートである。図9は、受信クライアント3B,3Cの受信動作の流れを示すフローチャートである。
Next, the communication method according to the present embodiment will be described with reference to FIGS. 7 to 9 taking as an example the case where video is transmitted from the
まず、送信クライアント3Aは、カメラ31によりカメラ映像を取得する(図7のステップS1)。このカメラ映像を符号化処理部32において符号化処理し、フレーム単位で符号化データを生成する(図7のステップS2)。また、独自ヘッダ生成部33において、符号化データに付加される独自ヘッダを生成する(図7のステップS3)。そして、符号化データの前にこれに対応する独自ヘッダを付加したパケットを送信部34よりサーバ2に送信する(図7のステップS4)。このとき、パケットがプロキシ4を通過できるように、RTPをHTTPでカプセル化し、符号化データおよび独自ヘッダをTCPで送信する。
First, the
サーバ2は、送信クライアント3Aから送信されたパケットを受信部21で受信すると(図8のステップS11、S12(NO))、制御部22においてパケットに含まれる符号化データおよび独自ヘッダを受信クライアント3B,3Cのそれぞれに対応して複製する。この際、符号化データがキーフレームであるかとき、複製された符号化データおよび独自ヘッダをバッファ23に蓄積する(図8のステップS13)。そして、符号化データの前に独自ヘッダを付加したパケットを、送信部24より待ち時間なしに受信クライアント3B,3Cに送信する(図8のステップS14)。このときも、図7のステップS4と同様に、RTPをHTTPでカプセル化し、符号化データおよび独自ヘッダをTCPで送信する。
When the
以下、受信クライアント3Bへの送信と受信クライアント3Cへの送信に分けて説明する。まず、受信クライアント3Bへの送信について説明する。
受信クライアント3Bは、サーバ2から送信されたパケットを受信部35で受信する(図9のステップS21)。サーバ2と受信クライアント3Bとの間にはプロキシ4が存在しないので、受信部35で受信されたパケットは図3に示した送信パケットと同じデータ構造をもつ。このため、独自ヘッダ先頭位置検出部36において、受信パケットにおける独自ヘッダの先頭位置をサーチすると、独自ヘッダの先頭はTCPヘッダを除く受信パケットの先頭のみに現れる(図9のステップS22(YES))。
Hereinafter, the transmission to the
The
よって、受信部35で受信された受信パケットに含まれる符号化データおよびTCPヘッダを用いて、ビット誤り検出部38においてビット誤りの有無を検出する。具体的には、まず、符号化データのチェックサムを求め、TCPヘッダのチェックサムと比較する(図9のステップS23)。その結果、両者が一致していれば、その符号化データにビット誤りがないと判定し(図9のステップS24(YES))、復号化処理部39においては符号化データを復号化し(図9のステップS25)、復号化されたカメラ映像をディスプレイ40に表示する(図9のステップS26)。
Therefore, the bit
これに対し、ビット誤り検出部38において符号化データのチェックサムとTCPヘッダのチェックサムとを比較した結果、両者が一致していなければ、ビット誤りがあると判定する(図9のステップS24(NO))。この場合には、キーフレーム判定部41において、ビット誤りがあると判定された符号化データのフレームがキーフレームであるかどうかを判定する。その結果、キーフレームでないと判定された場合には(図9のステップS27(NO))、その符号化データを破棄する(図9のステップS28)。また、キーフレームであると判定された場合には(図9のステップS27(YES))、再送要求生成部42において、その符号化データおよびこれに対応する独自ヘッドの再送要求を生成し、送信部34よりサーバ2に送信する(図9のステップS29)。
On the other hand, if the bit
サーバ2は、受信クライアント3Bから送信された再送要求を受信部21で受信すると(図8のステップS11、S12(YES))、制御部22により、バッファ23に蓄積されているキーフレームの符号化データおよび独自ヘッダを読み出し、受信クライアント3Bに再送する(図8のステップS15)。このようなキーフレームの再送処理により、フレームレートは低下するものの、ビット誤りに起因する画像の乱れを発生させることなく、映像を送受信することが可能となる。
When the
次に、サーバ2から受信クライアント3Cへの送信について説明する。
サーバ2と受信クライアント3Cとの間にはプロキシ4が存在するので、プロキシ4により図4(b)または図5に示したような複数のパケットのデータを結合した新たなパケットが生成される。受信クライアント3Cは、この新たなパケットを受信部35で受信する(図9のステップS21)。独自ヘッダ先頭位置検出部36において、受信パケットにおける独自ヘッダの先頭位置をサーチすると、独自ヘッダの先頭はTCPヘッダを除く受信パケットの先頭だけでなく、符号化データの後にも現れる(図9のステップS22(NO))。
Next, transmission from the
Since the proxy 4 exists between the
よって、復元処理部37において、受信パケットに含まれる符号化データと独自ヘッダとを独自ヘッダの先頭位置で分割する。このようにして、プロキシ4により結合される前の、符号化データとこれに対応する独自ヘッダとからなるデータ構造を復元する(図9のステップS30)。そして、ビット誤り検出部38において、TCPヘッダではなく、復元された符号化データおよび独自データを用いて、ビット誤りの有無を検出する。具体的には、まず、符号化データのチェックサムを求め、独自ヘッダのチェックサムと比較する(図9のステップS23)。その結果、両者が一致していれば、その符号化データにビット誤りがないと判定し(図9のステップS24(YES))、両者が一致していなければ、ビット誤りがあると判定する(図9のステップS24(NO))。
Therefore, the
このように、独自ヘッダのチェックサムを用いてビット誤りを検出することにより、フレーム単位(VOP単位)でのビット誤りの検出が可能となる。したがって、プロキシ4により生成された新たなパケットにビット誤りが生じたとしても、新たなパケットを構成する複数のVOPの中からビット誤りがあるVOPを特定できるので、ビット誤りがないVOPを復号化し、ディスプレイ40に表示することが可能となる。
Thus, by detecting a bit error using the checksum of the unique header, it is possible to detect a bit error in frame units (VOP units). Therefore, even if a bit error occurs in a new packet generated by the proxy 4, it is possible to identify a VOP having a bit error from among a plurality of VOPs constituting the new packet. Can be displayed on the
なお、受信クライアント3Cにおける復号化処理(図9のステップS25)、映像表示処理(図9のステップS26)、キーフレーム判定処理(図9のステップS27)、データ廃棄処理(図9のステップS28)および再送処理(図9のステップS29)は、処理に用いられる符号化データがステップS30において復元された符号化データであることを除き、前述した受信クライアント3Bにおける処理と同様であるから、その説明を省略する。
Note that the decryption process (step S25 in FIG. 9), the video display process (step S26 in FIG. 9), the key frame determination process (step S27 in FIG. 9), and the data discard process (step S28 in FIG. 9) in the receiving
なお、本実施の形態において、クライアント3またはサーバ2は、コンピュータにより実現することができる。このコンピュータは、中央処理装置(CPU)と、リードオンリメモリ(ROM)と、ランダムアクセスメモリ(RAM)と、ディスプレイやキーボード、外部記憶装置またはIPネットワーク1とのインタフェースをとるための回路などを備えた公知の構成のものでよい。
CPUは、ROMもしくはRAMに記憶されたプログラム、またはキーボードから入力されたコマンドにしたがって処理を実行する。CPUはまた、外部記憶装置にデータを書き込んだり、外部記憶装置からデータを読み出したりすることができる。CPUはさらに、IPネットワーク1からデータを取得したり、IPネットワーク1にデータを送出したりすることができる。
In the present embodiment, the
The CPU executes processing according to a program stored in the ROM or RAM or a command input from the keyboard. The CPU can also write data to the external storage device and read data from the external storage device. Further, the CPU can acquire data from the
このようなコンピュータにおいて、本発明の通信装置および方法を実現させるためのプログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供される。この記録媒体を外部記憶装置に挿入すると、記録媒体に書き込まれたプログラムが読み取られ、コンピュータに転送される。そして、CPUは、読み込んだプログラムをRAM等に書き込む。その後に、IPネットワーク1、外部記憶装置またはキーボード等の外部入力装置から入力されたデータに基づき、CPUは、前述した機能部を実現し、前述した処理を実行する。
In such a computer, a program for realizing the communication apparatus and method of the present invention is provided in a state of being recorded on a recording medium such as a flexible disk, a CD-ROM, a DVD-ROM, or a memory card. When this recording medium is inserted into the external storage device, the program written in the recording medium is read and transferred to the computer. Then, the CPU writes the read program into the RAM or the like. Thereafter, based on data input from the
本発明は、例えば、プロキシが存在する通信経路を用いたIP双方向画像通信に利用できる。また、画像通信だけに限られず、音声通信やそれ以外のデータ通信にも利用できる。 The present invention can be used for, for example, IP bidirectional image communication using a communication path in which a proxy exists. Moreover, it can be used not only for image communication but also for voice communication and other data communication.
1…IPネットワーク、2…サーバ、3…クライアント、4…プロキシ、21…受信部、22…制御部、23…バッファ、24…送信部、31…カメラ、32…符号化処理部、33…独自ヘッダ生成部、34…送信部、35…受信部、36…独自ヘッダ先頭位置検出部、37…復元処理部、38…ビット誤り検出部、39…復号化処理部、40…ディスプレイ、41…キーフレーム判定部、42…再送要求生成部。
DESCRIPTION OF
Claims (9)
データの前に前記独自ヘッダを付加したパケットを送信する送信手段と、
データおよび独自ヘッダを含むパケットを受信する受信手段と、
受信された前記パケットを前記データ毎に分割する分割手段と、
前記データに対応する前記独自ヘッダのエラー確認用情報を用いて前記データにおけるビット誤りの有無を検出するビット誤り検出手段と
を備えることを特徴とする通信装置。 A unique header generation means for generating a unique header including error confirmation information;
Transmitting means for transmitting a packet with the unique header added before data;
Receiving means for receiving a packet including data and a unique header;
Dividing means for dividing the received packet into the data;
Bit error detection means for detecting presence / absence of a bit error in the data using the error confirmation information of the unique header corresponding to the data.
前記独自ヘッダは、この独自ヘッダの先頭を表す識別子と、前記エラー確認用情報として前記データのチェックサムとを含み、
前記分割手段は、
受信された前記パケットにおいて前記独自ヘッダの前記識別子の位置から前記独自ヘッダの先頭位置を検出する独自ヘッダ先頭位置検出手段と、
受信された前記パケットが1組より多くの前記独自ヘッダおよび前記データを含むことにより前記データの後に前記独自ヘッダが存在する場合に、検出された前記データと前記独自ヘッダとを前記独自ヘッダの先頭位置で分割することにより前記独自ヘッダおよび前記データを復元する復元処理手段とを備え、
前記ビット誤り検出手段は、前記データの内容をそのデータに対応する独自ヘッダのチェックサムと比較することによりビット誤りの有無を検出することを特徴とする通信装置。 The communication device according to claim 1.
The unique header includes an identifier representing the head of the unique header, and a checksum of the data as the error confirmation information,
The dividing means includes
Unique header start position detecting means for detecting the start position of the unique header from the position of the identifier of the unique header in the received packet;
When the received packet includes more than one set of the unique header and the data, and the unique header is present after the data, the detected data and the unique header are replaced with a head of the unique header. A restoration processing means for restoring the unique header and the data by dividing at a position;
The bit error detecting means detects the presence or absence of a bit error by comparing the content of the data with a checksum of a unique header corresponding to the data.
前記データにビット誤りがあることが検出されたときに、前記データの送信元に対し前記データおよび対応する前記独自ヘッダの再送を要求する再送要求手段を更に備えることを特徴とする通信装置。 The communication device according to claim 1 or 2,
A communication apparatus, further comprising: a retransmission request unit that requests the data transmission source to retransmit the data and the corresponding unique header when it is detected that the data has a bit error.
映像を取得する映像取得手段と、
フレーム内圧縮されたキーフレームを含む映像符号化手法を用いて前記映像からフレーム単位で符号化データを生成し、前記データとして前記独自ヘッダ生成手段および前記送信手段に出力する符号化処理手段と
を更に備えることを特徴とする通信装置。 The communication device according to claim 3.
Video acquisition means for acquiring video;
An encoding processing unit that generates encoded data in units of frames from the video using a video encoding method including an intra-frame compressed key frame, and outputs the encoded data to the unique header generation unit and the transmission unit as the data; A communication device further comprising:
前記再送要求手段は、
ビット誤りがあることが検出された前記データが前記キーフレームであるかどうかを判定する手段と、
前記キーフレームであると判定された場合に、再送を要求する手段と、
前記キーフレームでないと判定された場合に、前記データを廃棄する手段と
を備えることを特徴とする通信装置。 The communication device according to claim 4, wherein
The retransmission request means includes
Means for determining whether the data detected to have a bit error is the key frame;
Means for requesting retransmission when it is determined to be the key frame;
Means for discarding the data when it is determined not to be the key frame.
前記送信手段は、ネットワークへのアクセスを中継するプロキシが通過させるプロトコルで前記独自ヘッダおよび前記データをカプセル化するカプセル化手段を更に備えることを特徴とする通信装置。 The communication device according to any one of claims 1 to 5,
The communication apparatus further includes an encapsulating unit that encapsulates the unique header and the data using a protocol that is passed by a proxy that relays access to a network.
データの前に前記独自ヘッダを付加したパケットを前記送信側クライアントからサーバに送信するステップと、
前記サーバにおいて、前記パケットを受信するステップと、
前記サーバにおいて、受信された前記パケットを少なくとも1つの受信側クライアントに送信するステップと、
前記受信側クライアントにおいて、前記パケットを受信するステップと、
前記受信側クライアントにおいて、受信された前記パケットを前記データ毎に分割するステップと、
前記受信側クライアントにおいて、前記データに対応する前記独自ヘッダのエラー確認用情報を用いて前記データにおけるビット誤りの有無を検出するステップと
を備えることを特徴とする通信方法。 In the sending client, generating a unique header including information for error confirmation;
Transmitting the packet with the unique header added before the data from the sending client to the server;
Receiving the packet at the server;
Transmitting the received packet to at least one receiving client at the server;
Receiving the packet at the receiving client;
Dividing the received packet into the data at the receiving client;
And a step of detecting the presence or absence of a bit error in the data using the error confirmation information of the unique header corresponding to the data in the receiving client.
データの前に前記独自ヘッダを付加したパケットを送信する送信手段と、
データおよび独自ヘッダを含むパケットを受信する受信手段と、
受信された前記パケットを前記データ毎に分割する分割手段と、
前記データに対応する前記独自ヘッダのエラー確認用情報を用いて前記データにおけるビット誤りの有無を検出するビット誤り検出手段と
をコンピュータに実現させるためのプログラムを記録した記録媒体。 A unique header generation means for generating a unique header including error confirmation information;
Transmitting means for transmitting a packet with the unique header added before data;
Receiving means for receiving a packet including data and a unique header;
Dividing means for dividing the received packet into the data;
A recording medium recording a program for causing a computer to implement bit error detection means for detecting the presence or absence of a bit error in the data using the error confirmation information of the unique header corresponding to the data.
前記独自ヘッダは、この独自ヘッダの先頭を表す識別子と、前記エラー確認用情報として前記データのチェックサムとを含み、
前記分割手段に含まれ、受信された前記パケットにおいて前記独自ヘッダの前記識別子の位置から前記独自ヘッダの先頭位置を検出する手段と、
前記分割手段に含まれ、受信された前記パケットが1組より多くの前記独自ヘッダおよび前記データを含むことにより前記データの後に前記独自ヘッダが存在する場合に、検出された前記データと前記独自ヘッダとを前記独自ヘッダの先頭位置で分割することにより前記独自ヘッダおよび前記データを復元する手段と、
前記ビット誤り検出手段に含まれ、前記データの内容をそのデータに対応する独自ヘッダのチェックサムと比較することによりビット誤りの有無を検出する手段と
を更にコンピュータに実現させるためのプログラムを記録した記録媒体。
In the recording medium which recorded the program of Claim 8,
The unique header includes an identifier representing the head of the unique header, and a checksum of the data as the error confirmation information,
Means for detecting the leading position of the unique header from the position of the identifier of the unique header in the received packet included in the dividing means;
The detected data and the unique header when the unique packet is included after the data because the received packet includes more than one set of the unique header and the data. And reconstructing the unique header and the data by dividing the unique header and the head position of the unique header;
Recorded in the bit error detecting means is a program for further causing the computer to realize means for detecting the presence or absence of a bit error by comparing the content of the data with a checksum of a unique header corresponding to the data. recoding media.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004150394A JP3923959B2 (en) | 2004-05-20 | 2004-05-20 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND RECORDING MEDIUM CONTAINING PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004150394A JP3923959B2 (en) | 2004-05-20 | 2004-05-20 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND RECORDING MEDIUM CONTAINING PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005333452A true JP2005333452A (en) | 2005-12-02 |
JP3923959B2 JP3923959B2 (en) | 2007-06-06 |
Family
ID=35487791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004150394A Expired - Lifetime JP3923959B2 (en) | 2004-05-20 | 2004-05-20 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND RECORDING MEDIUM CONTAINING PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3923959B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007274319A (en) * | 2006-03-31 | 2007-10-18 | Ntt Communications Kk | Image transmission device, image transmission method, and program |
WO2008047510A1 (en) * | 2006-10-17 | 2008-04-24 | Panasonic Corporation | Digital data receiver |
-
2004
- 2004-05-20 JP JP2004150394A patent/JP3923959B2/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007274319A (en) * | 2006-03-31 | 2007-10-18 | Ntt Communications Kk | Image transmission device, image transmission method, and program |
WO2008047510A1 (en) * | 2006-10-17 | 2008-04-24 | Panasonic Corporation | Digital data receiver |
US8369418B2 (en) | 2006-10-17 | 2013-02-05 | Panasonic Corporation | Digital data receiver |
Also Published As
Publication number | Publication date |
---|---|
JP3923959B2 (en) | 2007-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10009630B2 (en) | System and method for encoding video content using virtual intra-frames | |
CA2932005C (en) | Uploading and transcoding media files | |
JP4767443B2 (en) | Network storage type video camera system | |
US8214708B2 (en) | Video transmitting apparatus, video receiving apparatus, and video transmission system | |
WO2014203515A1 (en) | Transmission method | |
KR20090124993A (en) | Transmission apparatus, transmission method, and reception apparatus | |
US8081635B2 (en) | Reconstruction of errored media streams in a communication system | |
US20070127437A1 (en) | Medium signal transmission method, reception method, transmission/reception method, and device | |
JP2009118244A (en) | Technology for transmitting data whose regeneration unit is variable | |
JP5344541B2 (en) | Data transmission apparatus, transmission method and program | |
JP4488958B2 (en) | Video transmission system and video transmission method | |
US10116415B2 (en) | Transmission device, receiving device, transmission method, and receiving method | |
KR20140070896A (en) | Method for video streaming and an electronic device thereof | |
US10694213B1 (en) | Overcoming lost or corrupted slices in video streaming | |
JP3923959B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND RECORDING MEDIUM CONTAINING PROGRAM | |
JP2012151622A (en) | Receiving terminal, packet data receiving method, transmitting terminal, transmission/reception system, relay terminal, and relay method of packet data | |
JP2010011287A (en) | Image transmission method and terminal device | |
US9118953B2 (en) | Remote mobile communication system, server device, and remote mobile communication system control method | |
JP4876427B2 (en) | COMMUNICATION SYSTEM, TRANSMISSION DEVICE, TRANSMISSION METHOD, RECEPTION DEVICE, RECEPTION METHOD, AND PROGRAM | |
KR101416901B1 (en) | Method and device restoring missed image packets | |
KR20130141368A (en) | Reception device and program for reception device | |
KR20090067017A (en) | A frame-based selective encryption methoad and apparatus for real time video transmission on voip | |
KR20100062864A (en) | Communication method and device with security function and recording medium for performing the method | |
JP2007318545A (en) | Data transmitter, data receiver, data transmitting method, and data receiving method | |
JP2009049530A (en) | Data transmission device, data relay device, and data receiving device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060905 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061102 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070222 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3923959 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100302 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110302 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120302 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130302 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140302 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |