JP2009206608A - Communication device - Google Patents
Communication device Download PDFInfo
- Publication number
- JP2009206608A JP2009206608A JP2008044530A JP2008044530A JP2009206608A JP 2009206608 A JP2009206608 A JP 2009206608A JP 2008044530 A JP2008044530 A JP 2008044530A JP 2008044530 A JP2008044530 A JP 2008044530A JP 2009206608 A JP2009206608 A JP 2009206608A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- fec
- unit
- memory
- sequence number
- 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.)
- Pending
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
本発明は、通信装置、特に、2次元FEC(Forward Error Correction)方式を採用したパケット誤り訂正において、符号化前のパケット欠落を想定した場合に好適な通信装置に関する。なお、以下の記載はRTPパケットを前提としているが、FEC制御に必要な情報(シーケンス番号、タイムスタンプ)を備えるプロトコルであれば、RTPに限らず本発明を適用可能である。 The present invention relates to a communication apparatus, and more particularly to a communication apparatus suitable for a case where a packet loss before encoding is assumed in packet error correction employing a two-dimensional FEC (Forward Error Correction) method. The following description is based on RTP packets, but the present invention is not limited to RTP as long as the protocol includes information (sequence number and time stamp) necessary for FEC control.
パケットをネットワークに送信するときに、中継装置内の優先制御による廃棄や、伝送路上のビット誤りなどの影響により、パケットが正しく受信装置宛に到達できないことがある。TCP(Transmission Control Protocol)による通信の場合は、このようなパケット抜けに対し再送制御を行うことで対応できるが、UDP(User Datagram Protocol)による通信の場合は、再送制御の仕組みが存在しないため、受信装置でパケット抜けを訂正することができない。 When a packet is transmitted to the network, the packet may not reach the receiving device correctly due to discarding due to priority control in the relay device or a bit error on the transmission path. In the case of communication by TCP (Transmission Control Protocol), it is possible to cope with such packet loss by performing retransmission control, but in the case of communication by UDP (User Datagram Protocol), there is no mechanism for retransmission control. The receiving device cannot correct the missing packet.
一方、音声や映像データなどはリアルタイム性が求められるため、UDPによる通信をベースにRTP(Real Time Protocol)にてパケットを送信している(RFC2250、RFC3550参照)。このRTPによる通信時の誤り訂正の方法の一つとして、FECが知られている(RFC2733参照)。一般的なFEC制御として、パリティFECと呼ばれる方法で各パケット同士のXOR演算を冗長パケットとして送信する技術が挙げられる。 On the other hand, since audio and video data are required to have real-time characteristics, packets are transmitted by RTP (Real Time Protocol) based on UDP communication (see RFC2250 and RFC3550). FEC is known as one of error correction methods during communication by RTP (see RFC2733). As general FEC control, there is a technique in which an XOR operation between packets is transmitted as a redundant packet by a method called parity FEC.
図16に映像伝送を例とした一般的なFECパケット終端ネットワークモデルを示す。ビデオカメラ33から入力される映像信号を送信装置1内のFEC符号化部3でRTPパケット化してネットワークに送信し、受信装置2で映像信号を再生しモニタ34にて視聴するイメージ図である。図16の送信装置1内のFEC符号化部3にてFECパケットを生成している。
FIG. 16 shows a general FEC packet termination network model taking video transmission as an example. 3 is an image diagram in which a video signal input from a
図17はFEC演算方法を示している。送信装置1でPacket-A、Packet-B、Packet-Cの各メディアパケットを送信する際に、各メディアパケットをビット単位でXOR演算を行う。その結果をFECパケットとして生成し、図18に示すFECヘッダを追加してネットワークへ送信する。図17では、ネットワーク上にてPacket-Bが消失したケースを例示している。この時、受信装置2で受信する各メディアパケットと、冗長パケットであるFECパケットそれぞれでXOR演算を行う。その結果、ネットワーク上で消失したPacket-Bを訂正(再生成)することができる。
FIG. 17 shows the FEC calculation method. When the transmitting
以下に図18のFECヘッダを説明する。基底シーケンス番号フィールドは、FEC演算対象パケットの最小シーケンス番号である。これは、RTPヘッダ内に設定されるシーケンス番号値を指す。回復パケット長フィールドは、消失したパケットのパケット長を再生する。Eフィールドはヘッダ拡張の有無を示す。回復パケット長のパイロードタイプフィールドは消失したパケットのペイロードタイプを示す。これは、RTPヘッダ内に設定されるペイロードタイプフィールドを指す。マスクフィールドは、基底シーケンス番号以降でFEC演算を構成されるRTPパケットのシーケンス番号を示すビットマスクである。例えば、基底シーケンス番号=N、iビットが1の場合、(N+i)のRTPヘッダ内シーケンス番号のパケットがFEC演算対象であることを示す。回復パケットのタイムスタンプフィールドは、消失したパケットのタイムスタンプを再生する。これは、RTPヘッダ内に設定されるタイムスタンプフィールドを示す。 The FEC header of FIG. 18 will be described below. The base sequence number field is the minimum sequence number of the FEC calculation target packet. This refers to the sequence number value set in the RTP header. The recovery packet length field reproduces the packet length of the lost packet. The E field indicates the presence or absence of header extension. The recovery packet length payload type field indicates the payload type of the lost packet. This refers to the payload type field set in the RTP header. The mask field is a bit mask indicating the sequence number of the RTP packet that constitutes the FEC operation after the base sequence number. For example, if the base sequence number = N and the i bit is 1, it indicates that the packet with the sequence number in the RTP header of (N + i) is an FEC calculation target. The time stamp field of the recovered packet reproduces the time stamp of the lost packet. This indicates a time stamp field set in the RTP header.
ところで、FECヘッダには、Pro-MPEGフォーラムの“Code of Practice”の文献にFECヘッダの拡張が規定されており、図19示すような2次元のパケット誤り訂正による高い訂正率が実現されている。具体的には、図20に示すようにE=1として、図18のFECヘッダを拡張し、Offsetフィールドに横(Column)方向の値を示すL値が設定され、NAフィールドに縦(Row)方向の値を示すD値が設定される。 By the way, for the FEC header, the extension of the FEC header is defined in the “Code of Practice” document of the Pro-MPEG forum, and a high correction rate by two-dimensional packet error correction as shown in FIG. 19 is realized. . Specifically, as shown in FIG. 20, E = 1 is set with E = 1, the L value indicating the value in the horizontal (Column) direction is set in the Offset field, and the vertical (Row) is set in the NA field. A D value indicating the direction value is set.
これらの値により、2次元方向へそれぞれXOR演算を行うことで、ColumnFECパケットとRowFECパケットを生成する。Dフィールドによって、FECパケットの演算方向を示す。D=0であれば、ColumnFECパケット、D=1であれば、RowFECパケットであることを示す。Pro-MPEGフォーラムの規定によれば、COP3方式であれば、L、Dそれぞれ20以下という仕様であり、COP4方式であれば、L値については255以下まで拡張される。また、FECヘッダの内マスクフィールドは未使用とし、マスク=0を設定される仕様である。 With these values, the XOR operation is performed in the two-dimensional direction to generate a ColumnFEC packet and a RowFEC packet. The D field indicates the calculation direction of the FEC packet. If D = 0, it indicates a ColumnFEC packet, and if D = 1, it indicates a RowFEC packet. According to the provisions of the Pro-MPEG Forum, the specification is 20 or less for each of L and D in the COP3 system, and the L value is expanded to 255 or less in the COP4 system. In addition, the mask field in the FEC header is unused, and the mask is set to 0.
図22に、3行5列のメディアパケットとFECパケットの演算イメージ(A)と送信順序イメージ(B)を示す。RowFECパケットについては、FEC演算単位の先頭であるメディアパケット(以下、BlockSNと定義)0からメディアパケット4を送信後に、RowFECパケット0を送信している。また、ColumnFECパケットについては、1FEC演算ブロック送信後、つまり、メディアパケット0〜メディアパケット14を送信後に送信が開始される。
FIG. 22 shows a calculation image (A) and a transmission order image (B) of media packets and FEC packets in 3 rows and 5 columns. With respect to the RowFEC packet, the RowFEC
前述の2次元のパケット誤り訂正方式を採用して損失パケットの再構成を行う技術を記載した文献として、例えば特許文献1を挙げることができる。この文献で記載されている損失パケットの再構成方法は、送信されるパケットをD行及びL列のパケット行列に構成するステップと、行列の各行及び各列に誤り訂正関数を適用し、その結果は、誤り訂正関数が適用されるそれぞれの行及び列での少なくとも1つの損失パケットの再構成を可能にする訂正パケットであるステップと、データパケットに加えて結果の誤りパケットを送信するステップとを有する。
As a document describing a technique for reconstructing a lost packet by adopting the above-described two-dimensional packet error correction method, for example,
ところで、現在は、通信形態の多様化から、図16に示したFECパケット終端ネットワークモデルの発展モデルとして、図21に示すようなネットワーク形態も構成されている。これは、FEC機能を持たない複数の映像出力装置(RTPパケット送信装置25)をLAN内で接続し、中継送信装置23にて各RTPパケット送信装置25からのRTPパケットにFECパケットを追加することで、WAN内のパケット消失を救済するシステムである。受信側も同様に中継受信装置24にて、複数のRTPフロー毎にFEC復号化を行い、RTPパケット再生装置28が接続されているLANへとRTPパケットを送信する。図16のビデオカメラ33+RTPデータ生成部17の機能が、RTPパケット送信装置25であり、モニタ34+RTPデータ再生部21の機能がRTPパケット再生装置28である。
By the way, at present, due to the diversification of communication forms, a network form as shown in FIG. 21 is also configured as an evolution model of the FEC packet termination network model shown in FIG. This means that a plurality of video output devices (RTP packet transmission devices 25) having no FEC function are connected in the LAN, and FEC packets are added to the RTP packets from each RTP
前述のように、Pro-MPEGフォーラムで規定されている1次元または2次元FEC演算方式を実現させる場合、マスクフィールド=0という仕様制限であるため、現在の技術ではFEC符号化部3に入力される前に、メディアパケットが消失すると正しくFEC演算処理を行うことができないという問題点がある。
As described above, when implementing the one-dimensional or two-dimensional FEC calculation method stipulated by the Pro-MPEG forum, the specification limit of mask field = 0 is input to the
特に、図21に示したようなネットワークモデルでは、RTPパケット(メディアパケット)の生成とFECパケットの生成が同一装置内ではないため、例えば、LAN26内でパケット廃棄が発生する可能性が考えられる。仮にマスクフィールドを使用するとしても、ビット幅が24ビットに制限されるため、Pro-MPEGフォーラムで規定されているCOP4方式の符号化には対応できない。 In particular, in the network model as shown in FIG. 21, the generation of the RTP packet (media packet) and the generation of the FEC packet are not in the same device. Even if a mask field is used, since the bit width is limited to 24 bits, it cannot cope with the COP4 encoding specified in the Pro-MPEG Forum.
同様なケースとして、RTPパケット送信装置25の再立ち上げ時などはRTPヘッダ内のシーケンス番号が前パケットのシーケンス番号から継続で付与されないため、前後のメディアパケットに対するFEC演算を正しく実行できない。
As a similar case, when the RTP
なお、特許文献1は送信中の損失パケットの再構成を記載したまでであって、送信装置における符号化前におけるパケットの消失に関する言及は無い。
Note that
そこで、本発明の目的は、FEC符号化前のパケット欠落に対応したFEC機能を実現するパケット誤り訂正装置およびパケット誤り訂正方法を提供することにある。 Accordingly, an object of the present invention is to provide a packet error correction apparatus and a packet error correction method that realize an FEC function corresponding to a packet loss before FEC encoding.
本発明の通信装置は、2次元FEC方式によるパケット誤り訂正を行なう通信装置において、送信装置のFEC符号化部(図1の3)は、入力するRTPデータを元にFECパケットを生成し、該FECパケットの拡張ヘッダに、RTPデータの1演算単位の内で欠落しているパケット位置をビットパターンで示した拡張マスクを付加してメディアパケット共に送信し、受信装置のFEC復号化部(図2の11)は、ビットパターンがパケット欠落を示していないときは、FECパケットによるメディアパケットの訂正を行い、ビットパターンがパケット欠落を示しているときは当該パケット位置のメディアパケットの訂正を行わずにRTPデータを送信することを特徴とする。 The communication apparatus of the present invention is a communication apparatus that performs packet error correction by a two-dimensional FEC method. An FEC encoding unit (3 in FIG. 1) of a transmission apparatus generates an FEC packet based on input RTP data. The FEC packet extension header is added with an extension mask indicating the missing packet position in one RTP data unit as a bit pattern, and transmitted together with the media packet. 11) When the bit pattern does not indicate packet loss, the media packet is corrected by the FEC packet. When the bit pattern indicates packet loss, the media packet at the packet position is not corrected. RTP data is transmitted.
詳しくは、FEC符号化部(図1の3)は、入力したメディアパケットについてXOR演算を行なうFEC演算部(図1の5)と、XOR演算の結果がFEC演算部によって格納されるパケットメモリ(図1の7)と、入力したメディアパケットのシーケンス番号に基づく到着管理情報がFEC演算部によって登録される到着管理メモリ(図1の40)と、到着管理メモリから読み出した到着管理情報に従ってメディアパケットの送信を行うメディアパケット送信制御部(図1の8)と、パケットメモリからリードしたXOR演算結果とFEC演算部からの到着管理情報を元に拡張マスクが付加されたFECパケットを生成し、メディアパケット送信制御部の送信状態を監視しながら送信するFECパケット送信制御部(図1の9)とを有することを特徴とする。 Specifically, the FEC encoding unit (3 in FIG. 1) includes an FEC operation unit (5 in FIG. 1) that performs an XOR operation on the input media packet, and a packet memory (5) that stores the result of the XOR operation by the FEC operation unit. 1), an arrival management memory (40 in FIG. 1) in which arrival management information based on the sequence number of the input media packet is registered by the FEC calculation unit, and a media packet according to the arrival management information read from the arrival management memory A media packet transmission control unit (8 in FIG. 1) that transmits the packet, generates an FEC packet with an expansion mask added based on the XOR operation result read from the packet memory and the arrival management information from the FEC operation unit, And an FEC packet transmission control unit (9 in FIG. 1) that transmits while monitoring the transmission state of the packet transmission control unit.
また、FEC復号化部(図2の11)は、受信したメディアパケットとFECパケットとでXOR演算を行なうFEC訂正部(図2の15)と、XOR演算の結果がFEC演算部によって格納されるパケットメモリ(図2の7A)と、受信したメディアパケットのシーケンス番号に基づく到着管理情報がFEC訂正部によって登録される到着管理メモリと(図2の40A)を有し、FEC訂正部は、FECパケット受信時に到着管理メモリから読み出した到着管理情報により(符号化後の)欠落パケットの訂正を行う。 Further, the FEC decoding unit (11 in FIG. 2) stores the FEC correction unit (15 in FIG. 2) that performs XOR operation on the received media packet and FEC packet, and the result of the XOR operation is stored in the FEC operation unit. A packet memory (7A in FIG. 2), an arrival management memory in which arrival management information based on the sequence number of the received media packet is registered by the FEC correction unit (40A in FIG. 2), and the FEC correction unit The missing packet (after encoding) is corrected based on the arrival management information read from the arrival management memory when the packet is received.
更に詳しくは、FEC演算部(図1,図3の5)は、入力したメディアパケットからシーケンス番号を検出するRTPシーケンス番号検出部(図3の50)と、パケットメモリに対するFECパケット送信制御部とのアクセス競合時の待ち合わせ用として、受信したメディアパケットをリード完了時までバッファリングしてメディアパケット送信制御部へ出力するパケットバッファ(図3の51)と、パケットバッファにパケット入力が開始されたタイミングでパケットメモリから該当するXOR結果をリードするパケットメモリリード部(図3の52)と、パケットバッファからのメディアパケットと、パケットメモリリード部がパケットメモリから読み出したXOR結果についてXOR演算を実施し、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果のライト要求をするXOR演算器(図3の53)と、パケットメモリのライト要求によるアドレスに更新されたXOR結果をライトするパケットメモリライト部(図3の54)と、シーケンス番号を元に到着管理メモリを更新し、また、演算単位毎に到着管理メモリの初期化と基底シーケンス番号を更新し、該基底シーケンス番号を到着管理情報としてFECパケット送信制御部へ通知し、更に演算単位を前記パケットバッファに通知する到着管理メモリ更新部(図3の55)とを有する。 More specifically, the FEC calculation unit (5 in FIGS. 1 and 3) includes an RTP sequence number detection unit (50 in FIG. 3) that detects a sequence number from the input media packet, and an FEC packet transmission control unit for the packet memory. A packet buffer (51 in FIG. 3) for buffering received media packets until read completion and outputting them to the media packet transmission control unit, and timing when packet input is started in the packet buffer. The XOR operation is performed on the packet memory read unit (52 in FIG. 3) that reads the corresponding XOR result from the packet memory, the media packet from the packet buffer, and the XOR result that the packet memory read unit reads from the packet memory. XOR connection updated to the same address that read the XOR result XOR operation unit (53 in FIG. 3), a packet memory write unit (54 in FIG. 3) that writes the updated XOR result to the address by the packet memory write request, and arrival based on the sequence number The management memory is updated, the arrival management memory is initialized and the base sequence number is updated for each operation unit, the base sequence number is notified to the FEC packet transmission control unit as arrival management information, and the operation unit is further changed to the packet. And an arrival management memory update unit (55 in FIG. 3) for notifying the buffer.
また、FEC訂正部(図2,図4の15)は、受信したメディアパケットからシーケンス番号を検出するRTPシーケンス番号検出部(図4の61)と、受信したメディアパケットをバッファリングするパケットバッファ(図4の51A)と、パケットバッファにパケット入力が開始されたタイミングでパケットメモリから該当するXOR結果をリードするパケットメモリリード部(図4の52A)と、パケットバッファからのメディアパケットと、パケットメモリリード部がパケットメモリから読み出したXOR結果についてXOR演算を実施し、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果のライト要求をするXOR演算器(図4の53A)と、パケットメモリのライト要求によるアドレスに更新されたXOR結果をライトするパケットメモリライト部(図4の54A)と、シーケンス番号を元に到着管理メモリを更新し、また、演算単位毎に到着管理メモリの初期化と基底シーケンス番号を更新し、更に演算単位をパケットバッファに通知する到着管理メモリ更新部(図4の55A)と、受信したFECパケットの本体はパケットバッファに格納すると共にFECヘッダより拡張マスクフィールドを検出するFEC拡張マスク検出部(図4の61)と、拡張マスクフィールドのビットを反転するNOT演算器(図4の62)と、到着管理メモリからリードしたシーケンス番号によるビットパターンとNOT演算器の出力とをOR演算するOR演算器(図4の63)と、到着管理メモリ更新部からパケット欠落検出が通知されるとXOR演算器からのXOR結果を抽出することで、欠落したメディアパケットを訂正(再生成)するパケット訂正部(図4の64)とを有し、到着管理メモリ更新部は、OR演算結果のビットパターンがオール1なら符号化後のパケット欠落はなかったと判断する一方、OR演算結果のビットパターンに1ビット抜けを検出した場合には、当該パケットの欠落をパケット訂正部へ通知する。 The FEC correction unit (15 in FIGS. 2 and 4) includes an RTP sequence number detection unit (61 in FIG. 4) that detects a sequence number from the received media packet, and a packet buffer that buffers the received media packet (61). 51A), a packet memory read unit (52A in FIG. 4) for reading the corresponding XOR result from the packet memory at the timing when packet input to the packet buffer is started, a media packet from the packet buffer, and a packet memory An XOR operator (53A in FIG. 4) that performs an XOR operation on the XOR result read from the packet memory by the read unit and makes a write request for the XOR result updated to the same address as the address from which the XOR result was read; The packet memory line that writes the updated XOR result to the address by the write request Unit (54A in FIG. 4) and the arrival management memory are updated based on the sequence number, the arrival management memory is initialized and the base sequence number is updated for each operation unit, and the operation unit is notified to the packet buffer. An arrival management memory update unit (55A in FIG. 4), an FEC extended mask detection unit (61 in FIG. 4) that stores the main body of the received FEC packet in the packet buffer and detects an extended mask field from the FEC header, and an extended mask A NOT operator (62 in FIG. 4) that inverts the bits of the field, an OR operator (63 in FIG. 4) that ORs the bit pattern based on the sequence number read from the arrival management memory and the output of the NOT operator; When packet arrival detection is notified from the arrival management memory update unit, the missing media packet is corrected (regenerated) by extracting the XOR result from the XOR operator And the arrival management memory update unit determines that there is no missing packet after encoding if the bit pattern of the OR operation result is all 1, while the bit of the OR operation result When a missing 1 bit is detected in the pattern, the packet correction unit is notified of the missing packet.
本発明では、Pro-MPEGフォーラムで規定されているFEC拡張ヘッダのXフィールドを設定する。X=1が設定されると更なる追加ヘッダが拡張可能となる。図5では32バイトの拡張マスクフィールドを独自拡張している。 In the present invention, the X field of the FEC extension header defined by the Pro-MPEG forum is set. When X = 1 is set, additional additional headers can be extended. In FIG. 5, the 32-byte extended mask field is uniquely extended.
この拡張マスクフィールドによってFEC演算対象を指定する。手段はFECヘッダのマスクフィールドと同じで、例えば、基底シーケンス番号=N、iビットが1の場合、(N+i)のRTPヘッダ内シーケンス番号のパケットがFEC演算対象であることを示す。拡張マスクフィールドを32バイト分確保すれば、Pro-MPEGフォーラムで規定されているCOP4方式のL≦255まで対応することができる。 The FEC operation target is specified by this extended mask field. The means is the same as the mask field of the FEC header. For example, when the base sequence number = N and the i bit is 1, it indicates that the packet with the sequence number in the RTP header of (N + i) is the target of FEC calculation. If 32 bytes of the extended mask field are secured, it is possible to support up to L ≦ 255 of the COP4 system defined by the Pro-MPEG forum.
図22(A)の演算イメージでR0のRowFECパケットの例で拡張マスクフィールドの働きを説明する。R0の基底シーケンス番号は0である。L=5であるので、拡張マスクフィールドの内、5bit分を到着管理に使用する。ここで、シーケンス番号=3のパケットが欠落した場合、ビットの並びは、11101となる。よって、送信側は拡張マスクフィールドに11101を設定し、FECパケットを送信する。 The operation of the extended mask field will be described with an example of the R0 RowFEC packet in the calculation image of FIG. The base sequence number of R0 is 0. Since L = 5, 5 bits in the extended mask field are used for arrival management. Here, when the packet with the sequence number = 3 is lost, the bit sequence is 11101. Therefore, the transmission side sets 11101 in the extension mask field and transmits the FEC packet.
一方、受信側ではシーケンス番号3を除くメディアパケットに対してXOR演算を実施した後に、R0のRowFECパケットを受信する。本来ならば、シーケンス番号3のメディアパケットがFEC符号化前に欠落したのか、FEC符号化後のネットワーク内で欠落したのか特定不可能であったが、拡張シーケンス番号を受信側で参照することにより、シーケンス番号3のメディアパケットがFEC符号化前に欠落したものであると特定可能となる。
On the other hand, after the XOR operation is performed on the media packet excluding the
本発明により、FECヘッダ内に演算対象シーケンス番号を示して送信し、受信側では、そのシーケンス番号のパケットを除外してFEC符号化後の欠落パケットの訂正をする構成としたため、FEC符号化前に欠落したパケットの影響を受けずにFEC符号化を実現することが可能となった。 According to the present invention, the operation target sequence number is indicated in the FEC header for transmission, and the reception side is configured to correct the missing packet after FEC encoding by excluding the packet of that sequence number. FEC encoding can be realized without being affected by the missing packet.
次に、本発明の実施の形態について図面を参照して詳細に説明する。先ず、本発明が適用される一般的な通信システムについて説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings. First, a general communication system to which the present invention is applied will be described.
図16は映像伝送を例としたFECパケット終端ネットワークモデルを示す。送信装置1内において、RTPデータ生成部17はビデオカメラ33から入力される映像信号をRTPパケット化し、FEC符号化部3はRTPデータを元にFECパケットを生成する。通常パケット送信部18は、本発明で言及するRTPパケット以外の通常パケットを送信する。送信切替部19は、FEC符号化部3からのRTPパケットと通常パケット送信部18からの通常パケットの多重化を行うための調停動作を行う。多重化されたパケットはネットワークを経由して受信装置2へ送信される。
FIG. 16 shows an FEC packet termination network model taking video transmission as an example. In the
受信装置2において、受信切替部20はRTPパケットと通常パケットをセレクトする。FEC復号化部11は、受信したRTPパケット(メディアパケット、FECパケット)から欠落パケットの訂正処理を行い、RTP化された音声・映像データを抜き出す。RTP再生部21は、RTP仕様に基づいて、リアルタイムデータの再生を行う。再生された映像信号はモニタ34にて視聴される。通常パケット受信部22は通常パケットを受信する。
In the receiving
図21は、図16のFECパケット終端ネットワークモデルに対し、通信形態の多様化に対処したFECパケット中継ネットワークモデルを示す。図21において、複数のRTPパケット送信装置25で生成されたRTPパケットがLAN内のL2SW26によりスイッチングされて中継送信装置23に入力される。このRTPパケットは、L2SW26等において欠落が生じ得る。中継送信装置23は、RTPパケットに対して、FEC演算処理を実施し冗長パケット生成することによって、WAN間通信の信頼性で付加価値を実現する装置である。
FIG. 21 shows an FEC packet relay network model that copes with diversification of communication forms with respect to the FEC packet termination network model of FIG. In FIG. 21, RTP packets generated by a plurality of
中継受信装置23のフロー判定部27は、複数のRTPパケット送信装置25に対応する複数のRTPフローの識別処理を行う。具体例としては、RTPフローの送信元IPアドレスによって複数のRTPパケット送信装置25の識別が可能である。フロー判定部27で、識別されたフローそれぞれをFEC符号化部3に入力する。RTPフロー毎に独立してFEC符号化処理が必要であるため、フロー判定部27にて識別可能なフロー分のFEC符号化部3が必要である。FEC符号化部3にて、FEC演算を実施し、到着パケットの管理を行い、FECパケットの生成を行い、送信多重部10へ出力する。送信多重部10では、複数のFEC符号化部3からの送信調停を行い、WANにパケットを送信する。
The
一方、中継受信装置24は、WANからのパケットを受信し、中継送信装置23と同じくフロー判定部27AにてRTPフロー識別を行い、FEC復号化部11へ入力する。FEC復号化部11では、RTPフロー毎に独立してFEC復号化処理を行う。このとき、本発明で追加されたFEC拡張ヘッダにより、FEC符号化前のパケット欠落を認識する。受信したメディアパケットと復号化により訂正されたメディアパケットは送信多重部10Aへ出力され、調停処理後にL2SW26AにてスイッチングされてRTPパケット再生装置28へ到達する。
On the other hand, the
[構成の説明]
図5は、本発明における符号(FEC演算)対象FECヘッダのフォーマットを示す。図5を参照すると、Pro-MPEGフォーラムで規定されているFEC拡張ヘッダのXフィールドに1が設定されている。このように、X=1が設定されると、更なる追加ヘッダが拡張可能となり、図5では拡張マスク0〜7により、32バイトの拡張マスクフィールドを独自拡張している。
[Description of configuration]
FIG. 5 shows the format of the FEC header to be encoded (FEC calculation) in the present invention. Referring to FIG. 5, 1 is set in the X field of the FEC extension header defined by the Pro-MPEG forum. As described above, when X = 1 is set, further additional headers can be expanded. In FIG. 5, the 32-byte extension mask field is uniquely extended by the extension masks 0 to 7.
この拡張マスクフィールドによってFEC演算対象を指定する。そのための手段はFECヘッダのマスクフィールドと同じで、例えば、基底シーケンス番号=N、iビットが1の場合、(N+i)のRTPヘッダ内シーケンス番号のパケットがFEC演算対象であることを示す。拡張マスクフィールドを32バイト分確保することで、Pro-MPEGフォーラムで規定されているCOP4方式のL≦255まで対応することができる。 The FEC operation target is specified by this extended mask field. The means for this is the same as the mask field of the FEC header. For example, when the base sequence number = N and the i bit is 1, it indicates that the packet with the sequence number in the RTP header of (N + i) is the target of FEC calculation. . By securing 32 bytes for the extended mask field, it is possible to support up to L ≦ 255 of the COP4 system defined by the Pro-MPEG forum.
図1は、図21に示したFEC符号化部3の本発明による構成例を示す。FEC符号化部3は、RTPデータ受信部4,FEC演算部5,パケットメモリ7,メディアパケット送信制御部8,FECパケット送信制御部9,送信多重部10および到着管理メモリ40から構成されている。
FIG. 1 shows a configuration example according to the present invention of the
RTPデータ受信部4は、フロー判定部27(図21)から出力されるRTPパケット(FEC符号化されておらず、以下「メディアパケット」と記す)を入力し、FEC演算部5の処理状態を監視して、受信可能となるタイミングでFEC演算部5へ入力させる。FEC演算部5は、受信したメディアパケットについてXOR演算を行なうが、そのために、受信したメディアパケットのRTPヘッダのシーケンス番号に基づく到着管理情報を到着管理メモリ40に登録する。この詳細は後述する。また、パケットメモリ7はFEC演算部5による演算結果を格納する。
The RTP
FEC演算部5は、XOR演算を実施するために、パケットメモリ7よりXOR結果をリードし、受信したメディアパケットのペイロード部とのXOR演算を実施後、再びパケットメモリ7へ書き戻す。このXOR演算において、符号化前の欠落パケットは当然に除外される。
The
FEC演算部5は、受信したメディアパケットをメディアパケット送信制御部8へ出力する。また、最終パケットの受信後、タイマ監視を行い、一定時間後続パケットを受信しない場合には、FECパケット送信制御部9に送信要求と到着管理情報を発行することで、FECパケットのみが送信されなくなる状態を防ぐ。
The
メディアパケット送信制御部8は、送信多重部10の調停処理に従って、また、到着管理メモリ40から読み出した到着管理情報に従って、図22(B)に例示したような順序でメディアパケットの送信を行う。
The media packet
一方、FECパケット送信制御部9は、パケットメモリ7からリードした演算結果とFEC演算部5からの到着管理情報を元に図5に示したFECヘッダから成るFECパケットを生成する。ここで、拡張マスクには、受信したメディアパケットに対応ビットには1、欠落した生成したメディアパケットに対応ビットには0が付される。FECパケット送信制御部9は、メディアパケット送信制御部8の送信状態を監視しながら、図22(B)に示した送信順序に従いFECパケットを送信する。尚、FECパケット送信の際は、メディアパケット送信制御部8と同じく、送信多重部10の調停処理に従う。
On the other hand, the FEC packet
図2は、図21に示したFEC復号化部11の本発明による構成例を示す。FEC復号化部11は、RTPパケット受信部12,FEC訂正部15,RTPデータ送信部16,パケットメモリ7Aおよび到着管理メモリ40Aから構成されている。
FIG. 2 shows a configuration example of the
RTPパケット受信部12は、フロー判定部27A(図21)から出力されるメディアパケットおよびFECパケットを受信する。FEC訂正部15は、到着管理メモリ40Aに対し、受信したメディアパケットのRTPヘッダのシーケンス番号に基づく到着管理情報を登録する。
The
また、FEC訂正部15は、FEC演算部5と同様に、パケットメモリ7Aから読み出した演算結果とメディアパケットとでFEC演算処理を行い、XOR結果をパケットメモリ7Aに格納する。また、FECパケット受信時に、必要に応じて、到着管理メモリ40Aから読み出した到着管理情報により(符号化後の)欠落パケットの訂正を行う。欠落パケットは、到着管理情報により検出できる。FEC演算が完了したメディアパケットと訂正処理で生成されたメディアパケットは、RTPデータとしてRTPデータ送信部16へ出力される。FEC演算が完了したFECパケットはFEC訂正部15にて廃棄される。
Similarly to the
図3は、図1に示したFEC演算部5の回路構成を示す。FEC演算部5は、RTPシーケンス番号検出部50,パケットバッファ51,パケットメモリリード部52,XOR演算器53,パケットメモリライト部54,到着管理メモリ更新部55およびタイマ56で構成されている。
FIG. 3 shows a circuit configuration of the
RTPシーケンス番号検出部50は、RTPデータ受信部4(図1)が受信したメディアパケットからRTPシーケンス番号を検出する。検出したシーケンス番号は到着管理メモリ更新部55に通知し、メディアパケットはパケットバッファ51に格納する。
The RTP
図1で示したとおり、パケットメモリ7はFECパケット送信制御部9からもアクセスされるので、パケットバッファ51をアクセス競合時の待ち合わせ用として、リード完了時までメディアパケットをバッファリングする。パケットバッファ51にパケット入力が開始されたタイミングでパケットメモリリード部52にリード要求が通知される。パケットメモリリード部52はパケットメモリ7から、該当するXOR結果をリードする。
As shown in FIG. 1, since the
XOR結果のリードに合わせて、パケットバッファ51からメディアパケットをリードし、メディアパケット送信制御部8へ出力すると同時に、XOR演算器53にも出力する。出力は到着管理メモリ更新部55からパケットバッファ51に出力されるL値D値で定められる。
Along with the reading of the XOR result, the media packet is read from the
XOR演算器53は、パケットバッファ51からのメディアパケットと、パケットメモリリード部52がパケットメモリ7から読み出したFEC演算結果についてXOR演算を実施し、パケットメモリライト部54へライト要求する。パケットメモリライト部54は、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果をライトする。ここで、パケットメモリ7へのアクセス調停権は、パケットメモリライト部54へのライト完了時まで有効であるものとするため、パケットメモリライト部54にはパケットバッファ51相当のメモリは不要である。
The
一方、到着管理メモリ更新部55は、RTPシーケンス番号検出部50から通知されたシーケンス番号を元に、到着管理メモリ40を更新(詳細は後述)する。また、L、Dそれぞれの演算値を満たす場合においては、到着管理メモリ40の初期化と基底シーケンス番号(SN)を更新し、基底シーケンス番号を到着管理情報としてFECパケット送信制御部9へ通知する。
On the other hand, the arrival management
到着管理メモリ更新部55は、RTPシーケンス番号検出部50からシーケンス番号を通知されたタイミングでタイマ56へリセットを通知する。タイマ56は所定の時間が経過すると、到着管理メモリ更新部55に対してタイムアウト通知を行う。つまり、一定期間のパケットが受信されない場合はタイムアウトとするのである。このとき、送信要求をFECパケット送信制御部9へ通知する。
The arrival management
図4は、図2に示したFEC訂正部15の回路構成を示す。FEC訂正部15は、FEC判定部60,FEC拡張マスク検出部61,NOT演算器62,OR演算器63,パケット訂正部64の他、FEC演算部5(図3)におけるのと同様に、RTPシーケンス番号検出部50A,パケットバッファ51A,パケットメモリリード部52A,XOR演算器53A,パケットメモリライト部54Aおよび到着管理メモリ更新部55Aを備えている。
FIG. 4 shows a circuit configuration of the
FEC判定部60は、RTPパケット受信部12(図2)が受信したRTPパケットがメディアパケットであるか、FECパケットであるかの判定をRTPヘッダのPTフィールドにて行う。これは送信装置1と受信装置2でFECパケット用に予め決められた値を使用する。例えば、96という値で通信を開始すれば、PT=96がFECパケットであると判定可能である。
The
RTPシーケンス番号検出部50AはメディアパケットをFEC判定部60から入力し、そのシーケンス番号を検出して到着管理メモリ更新部55Aへ出力すると共に、メディアパケットをパケットバッファ51Aに格納する。パケットバッファ51Aにパケット入力が開始されたタイミングでパケットメモリリード部52Aにリード要求が通知される。パケットメモリリード部52Aはパケットメモリ7Aから、該当するXOR結果をリードする。
The RTP sequence
XOR結果のリードに合わせて、パケットバッファ51Aからメディアパケットをリードし、RTPデータ送信部16へ出力すると同時に、XOR演算器53Aにも出力する。出力は到着管理メモリ更新部55Aから指定されるL値D値で定められる。なお、この出力には、符号化前に欠落したメディアパケットは勿論、符号化後に欠落したメディアパケットも含まれない。図17の例では、パケットAとパケットCは含まれるが、パケットBは含まれない。
Along with the reading of the XOR result, the media packet is read from the
XOR演算器53Aは、パケットバッファ51Aからのメディアパケットと、パケットメモリリード部52Aがパケットメモリ7Aから読み出したXOR結果についてXOR演算を実施し、パケットメモリライト部54Aへライト要求する。パケットメモリライト部54Aは、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果をライトする。ここで、パケットメモリ7Aへのアクセス調停権は、パケットメモリライト部54Aへのライト完了時まで有効であるものとするため、パケットメモリライト部54Aにはパケットバッファ51A相当のメモリは不要である。
The
XOR演算器53Aは、XOR演算単位の最後に、FEC拡張マスク検出部61からパケットバッファ51Aに入力されているFECパケットと、パケットメモリリード部52Aから読み出したXOR結果とでXOR演算を行なう。このXOR結果(これが訂正パケットである)を含めて、XOR演算器53Aによる全てのXOR結果はパケット訂正部64Aに出力される。
At the end of the XOR operation unit, the
シーケンス番号についても、到着管理メモリ更新部55Aにて同様の手順で更新される。ただし、FEC演算部5と異なり、FECパケットの生成処理が不要なので、タイマ56によるタイムアウト処理と、到着管理情報の通知は不要である。
The sequence number is also updated in the same procedure by the arrival management
一方、FECパケットについては、FEC判定部60からFEC拡張マスク検出部61に入力される。FEC拡張マスク検出部61は、FECパケット本体と、図5のFECヘッダより拡張マスクフィールドを検出し出力する。FECパケット本体はメディアパケットと同様に、パケットバッファ51Aに格納され、XOR演算器53AにてXOR演算が実施される。しかし、FECパケットはFEC復号化部11で終端されるパケットであるので、RTPデータ送信部16へは出力せずに、XOR演算後はパケットバッファ51Aにて廃棄する。
On the other hand, the FEC packet is input from the
到着管理メモリ更新部55Aは、RTPシーケンス番号検出部50Aからのシーケンス番号に基づく到着管理情報を登録する。また、FEC拡張マスク検出部61からの拡張マスクは、図6(A)に示すように、NOT演算器62によりビット反転され、OR演算器63は、図6(B)に示すように、到着管理メモリ40Aからリードしたシーケンス番号によるビットパターンと、NOT演算器62の出力とをOR演算する。
The arrival management
到着管理メモリ更新部55Aは、このOR演算結果のビットパターンがオール1なら符号化後のパケット欠落はなかったと判断する。一方、OR演算結果のビットパターンに1ビット抜けを検出した場合には、当該パケットの欠落をパケット訂正部64へ通知する。このパケット欠落は、図17で示した符号化後のものである。パケット欠落通知後は、到着管理メモリ40Aを初期化する。また、ビット抜けが検出されなかった場合にも到着管理メモリ40Aを初期化する。
If the bit pattern of the OR operation result is all 1, the arrival management
パケット訂正部64は、(符号化後の)パケット欠落検出が通知されると、XOR演算器53AからのXOR結果を抽出することで、欠落したメディアパケットを訂正(再生成)する。訂正されたメディアパケットは、RTPデータ送信部16へ出力される。以上のようにして、符号化前にパケットの欠落があっても、そのためにメディアパケットを誤って訂正することはなく、符号化後のパケット欠落を正しく訂正することができるようになる。
[動作の説明]
次に、パケット欠落の検出と到着管理メモリ40の制御を中心に、本発明のパケット誤り訂正装置動作について説明する。
When notified of packet loss detection (after encoding), the
[Description of operation]
Next, the operation of the packet error correction apparatus of the present invention will be described focusing on the detection of packet loss and the control of the
図6(B)1〜3段は、到着管理メモリ40に格納するビットマップの制御イメージを示す。この図は、基底シーケンス番号(SN)が0の演算ブロックに対する。初期状態では、全ビットが0を格納しているところに、シーケンス番号0〜2のメディアデータを受信するとビット0〜2に1を格納する。この状態で、更にシーケンス番号4のメディアデータを受信するとビット4に1を格納する。シーケンス番号3のメディアデータは受信していないので、ビット3は他のビット共に0のままとなる。ここで、シーケンス番号3のメディアデータは符号化前に欠落したか、符号化後に欠落したものか定かでない。
FIG. 6B shows the control image of the bitmap stored in the
図6は、パケット欠落の検出を説明するための図である。図6(B)1〜3段に示したようにシーケンス番号0〜2および4のメディアデータを受信した状態図(図6(B))のときに、FEC拡張ヘッダのXフィールドに1が設定された、同じ演算ブロックのFECパケットを受信したとする。このFECパケットの拡張マスクが11101であったとすると(図6(A))、符号化前にシーケンス番号3のメディアパケットが欠落していることを示す。一方、シーケンス番号から求めた到着管理情報は、図6(B)のように11101である。このままでは、シーケンス番号3のメディアデータの欠落は符号化の前か後か定かでない。
FIG. 6 is a diagram for explaining detection of packet loss. In the state diagram (Fig. 6 (B)) in which media data of
そこで、図6(A)に示すように、NOT演算器62が拡張マスクフィールド値11101をビット反転して00010とし、OR演算器63がこの00010と到着管理メモリ40の格納内容11101との論理和演算を行なって11111を求める。到着管理メモリ更新部55Aは、論理和演算結果11111であるため、シーケンス番号3のメディアパケットは符号化前に欠落しものであると見做す。この場合はパケット欠落検出をパケット訂正部64へ通知することはない。
Therefore, as shown in FIG. 6A, the
また、同様にシーケンス番号3のメディアデータが符号化前に欠落していて、到着管理情報が01101であったとする。この場合は、シーケンス番号0と3のパケットが欠落していることになる。そして、論理和演算結果は01111となる。この場合には、論理和演算結果のビットパターンがオール1となず、到着管理情報において示されるシーケンス番号0のパケット欠落は符号化後のものであることになる。この場合はパケット欠落検出をパケット訂正部64へ通知する。
Similarly, it is assumed that the media data of
これまでは、説明を単純化するために、到着管理メモリ40を1次元構成で示したが、到着管理メモリ40は、実際には、図7に示すようにアドレスとビットの2次元構成であって、ColumnFEC用(図7の(A))とRowFEC用(図7の(B))それぞれに実装される。Pro-MPEGフォーラムで規定されているCOP4方式の符号化に対応するために、Columnに256ビットのビットマップとRowに20ビットのビットマップにて管理する。図7では、図22の例に合わせ、L値=5、D値=3としており、それぞれ、ビット0〜4、ビット0〜2を使用し、残りのビットは使用しない。
Up to now, in order to simplify the explanation, the
ColumnFEC用到着管理メモリでは、(シーケンス番号−Blockシーケンス番号)÷L値の商がビット位置、剰余がアドレス位置となる。RowFEC用到着管理メモリでは、(シーケンス番号−Blockシーケンス番号)÷L値の商がアドレス位置、剰余がビット位置となる。例えば、図22でシーケンス番号23のメディアパケットを受信した場合、ColumnFEC用到着管理メモリのアドレス3、ビット1に1が格納され、RowFEC用到着管理メモリのアドレス2、ビット2に1が格納される。
In the arrival management memory for ColumnFEC, the quotient of (sequence number−Block sequence number) ÷ L value is the bit position and the remainder is the address position. In the RowFEC arrival management memory, the quotient of (sequence number−Block sequence number) ÷ L value is the address position, and the remainder is the bit position. For example, when the media packet of
更に、到着管理メモリ40は、ColumnFEC用到着管理メモリとRowFEC用到着管理メモリそれぞれについて、0面と1面の二面を設ける。これは、FECパケットの到着を待ち合わせるためと、メディアパケットの到着がズレて入れ替わることがあるのを補うためである。図8は、到着管理メモリ更新部55における、このような面制御のフローチャートを示す。
Further, the
図8において、メディアパケットを受信すると(図8のステップS1)、シーケンス番号がBlockシーケンス番号以上(ステップS2)、かつ当該演算ブロック内であるときは(ステップS3でYES)、ColumnFEC用到着管理メモリとRowFEC用到着管理メモリそれぞれの該当するビットに1を設定する(ステップS4)。 In FIG. 8, when a media packet is received (step S1 in FIG. 8), if the sequence number is equal to or greater than the Block sequence number (step S2) and within the calculation block (YES in step S3), the arrival management memory for ColumnFEC And 1 are set in the corresponding bits of the arrival management memory for RowFEC (step S4).
しかし、シーケンス番号がBlockシーケンス番号の場合は(ステップS2でNO)、受信タイムアウトとして(ステップS3でNO)受信したパケットを廃棄する(ステップS5)。また、シーケンス番号がBlockシーケンス番号以上であるが2Block分先のシーケンス番号未満でない場合は(ステップS3でNO)、2Block分先のメディアパケットを受信したことになるため、削除面を0に初期化して(ステップS5)、面切り替えを行う(ステップS7)。即ち、登録面を削除面、削除面を登録面とする。そして、Blockシーケンス番号を更新した上で(ステップS8)、ColumnFEC用到着管理メモリとRowFEC用到着管理メモリそれぞれの該当するビットに1を設定する(ステップS4)。 However, if the sequence number is a Block sequence number (NO in step S2), the received packet is discarded as a reception timeout (NO in step S3) (step S5). If the sequence number is greater than or equal to the Block sequence number but not less than the sequence number of 2 blocks ahead (NO in step S3), the media packet of 2 blocks ahead is received, so the deletion plane is initialized to 0 (Step S5), the surface is switched (step S7). That is, the registration surface is a deletion surface and the deletion surface is a registration surface. Then, after updating the block sequence number (step S8), 1 is set to the corresponding bits of the arrival management memory for ColumnFEC and the arrival management memory for RowFEC (step S4).
図9は、シーケンス番号15〜59までのメディアパケットの受信イメージと、到着管理メモリ40の面制御の関係を時系列に示している。図9では、時刻T0と時刻T2の直前までは、到着がズレることを考慮して、シーケンス番号15〜44までのメディアパケットが受信可能な時間である。時刻T2において、シーケンス番号30未満のメディアパケットについては、タイムアウトと見做して廃棄される。
FIG. 9 shows the relationship between the media packet reception images of
時刻T0では、シーケンス番号15〜29のメディアパケットを受信中であり、0面が登録面となってシーケンス番号15〜29を登録している。このとき、1面は削除面であって登録済みのシーケンス番号0〜14は削除される。時刻T1では、シーケンス番号30〜44のメディアパケットを受信中であり、1面が登録面となってシーケンス番号30〜44を登録している。このとき、0面は削除面であって登録済みのシーケンス番号15〜29は削除される。時刻T2では、シーケンス番号45〜59のメディアパケットを受信中であり、0面が登録面となってシーケンス番号45〜59を登録している。このとき、1面は削除面であって登録済みのシーケンス番号30〜44は削除される。
At time T0, media packets with
図10は、図8のフローチャートで到着管理メモリ40の初期化が発生したケース(ステップS5)のFEC演算部5に注目した処理シーケンスである。FEC演算部5は、RTPデータ受信部4からメディアパケットを受信すると、メディアパケットをメディアパケット送信制御部8へ出力する。そして、到着管理メモリ40の初期化を行う場合には、その前にFECパケット送信制御部9へ到着管理情報の通知を行っている。FECパケット送信制御部9では受信した到着管理情報を元にFECパケットを生成する。
FIG. 10 is a processing sequence focusing on the
なお、到着管理メモリ更新部55Aにおいても、上述の到着管理メモリ更新部55における面制御と同様な制御を行うが、FEC訂正部15はFEC演算部5と異なり、FECパケットの生成処理が不要なので、タイマ56によるタイムアウト処理は不要である。
The arrival management
実施例1では、本発明のパケット誤り訂正装置をH/Wによって実現しているが、ここではS/Wによって実現する。処理内容については、実施例1と同じである。 In the first embodiment, the packet error correction apparatus of the present invention is realized by H / W, but here, it is realized by S / W. The processing contents are the same as those in the first embodiment.
図11は、送信側のFEC演算部5のS/Wによる実現方法を示す。このFEC演算部5Aは、プロセッサ70と、パケット受信インタフェース71と、プログラムやデータが格納されているROM72と、更新処理に必要な各種値と受信パケット格納するRAM74と、パケット送信インタフェース73をプロセッサ用バス75で接続された構成となっている。
FIG. 11 shows an implementation method by S / W of the
RTPデータ受信部4から出力されたパケットがFEC演算部5A内のパケット受信インタフェース71に入力される。パケット受信インタフェース71からDMA(Direct Memory Access)転送機能により、プロセッサ70を介さずにRAM74のパケットバッファ51へパケットを転送する。転送完了後にパケット受信インタフェース71からプロセッサ70へ割り込み通知を行うことで、プロセッサ70にパケット受信を通知する。
The packet output from the RTP
プロセッサ70は、パケット受信インタフェース71から割り込み通知を受けると、RAM74からパケットを読み込み、パケットメモリ7から演算結果をリードし、パケットバッファ51のメディアパケットとFEC演算を実施後、パケットメモリ7へ演算結果をライトし、パケットバッファ51内のメディアパケットをパケット送信インタフェース73へDMA(Direct Memory Access)転送機能を使用して出力する。図1の送信多重部10がRTPパケット送信部76に相当する。
Upon receiving an interrupt notification from the
一方、先に述べた方法で受信パケットのシーケンス番号を元に到着管理メモリ40を更新し、図22の送信順序でFECパケットを実施例1と同じ要領により、パケット送信インタフェース73へ出力する。また、タイムアウト監視も行い、一定時間パケット受信インタフェース71がパケットを受信しない場合は、到着管理メモリ40を初期化する。
On the other hand, the
図12は、受信側のFEC訂正部15のS/Wによる実現方法を示す。図12のとおり、内部のブロック構成は図11と同様である。処理の差分として、FEC演算部5Aで実施していたFECパケットの生成処理とタイムアウト検出処理は不要となる。代わりにFECヘッダの拡張マスクフィールドから符号化前のパケット欠落を検出する処理と、欠落パケットの訂正処理が必要となる。また、RTPデータ送信部16に出力されるパケットはメディアパケットのみであり、FECパケットについてはパケットバッファ51内で削除される。
FIG. 12 shows an implementation method by S / W of the
最後に、これまでに述べてきた通常方式とは別のAnnexAと呼ばれる演算方式について言及する。AnnexAの規格は、Pro-MPEGフォーラムにて規定されており、図13に示すように、ColumnFECパケットをD周期でスライドさせながら演算するものである。図14は、AnnexA規格によるFEC演算方式であるAnnexA方式における、ColFECパケット受信を期待するパケット位置を例示する。通常方式の場合とは顕著な差がある。従って、受信パケットを0面と1面のどちらの面にライトするかという面管理の方法も通常方式の場合とは異なる。図15に到着管理メモリ40に対するメディアパケットの登録例を示す。各ビット位置に記載され手いる数値が受信したシーケンス番号を示している。
Finally, a calculation method called Annex A, which is different from the normal method described so far, will be mentioned. The Annex A standard is defined by the Pro-MPEG Forum, and as shown in FIG. 13, the ColumnFEC packet is calculated while sliding at a D period. FIG. 14 exemplifies a packet position where ColFEC packet reception is expected in the Annex A system, which is an FEC calculation system based on the Annex A standard. There is a significant difference from the normal method. Therefore, the surface management method for writing the received packet to the 0-side or 1-side is also different from that in the normal method. FIG. 15 shows an example of media packet registration in the
1 送信装置
2 受信装置
3 FEC符号化部
4 RTPデータ受信部
5 FEC演算部
7 パケットメモリ
8 メディアパケット送信制御部
9 FECパケット送信制御部
10 送信多重部
11 FEC復号化部
12 RTPパケット受信部
15 FEC訂正部
16 RTPデータ送信部
17 RTPデータ生成部
18 通常パケット送信部
19 送信切替部
20 受信切替部
21 RTPデータ再生部
22 通常パケット受信部
23 中継送信装置
24 中継受信装置
25 RTPパケット送信装置
26 L2SW
27 Flow判定部
28 RTPパケット再生装置
29 パケット判定部
30 Block判定部
31 FEC更新ヘッダ抽出部
32 FECモード変更要求部
33 ビデオカメラ
34 モニタ
50 RTPシーケンス番号検出部
51 パケットバッファ
52 パケットメモリリード部
53 XOR演算器
54 パケットメモリライト部
55 到着管理メモリ更新部
56 タイマ
60 FEC判定部
61 FEC拡張マスク検出部
62 NOT演算器
63 OR演算器
64 パケット訂正部
70 プロセッサ
71 パケット受信インタフェース
72 ROM
73 パケット送信インタフェース
74 RAM
75 プロセッサ用バス
76 RTPパケット送信部
DESCRIPTION OF
27
73
75
Claims (10)
送信装置のFEC符号化部は、入力するRTPデータを元にFECパケットを生成し、該FECパケットの拡張ヘッダに、前記RTPデータの1演算単位の内で欠落しているパケット位置をビットパターンで示した拡張マスクを付加してメディアパケット共に送信し、
受信装置のFEC復号化部は、前記ビットパターンがパケット欠落を示していないときは、前記FECパケットによる前記メディアパケットの訂正を行い、前記ビットパターンがパケット欠落を示しているときは当該パケット位置のメディアパケットの訂正を行わずにRTPデータを送信することを特徴とする通信装置。 In a communication device that performs packet error correction using the two-dimensional FEC method,
The FEC encoding unit of the transmission device generates an FEC packet based on the input RTP data, and the packet position that is missing in one operation unit of the RTP data is indicated by a bit pattern in the extension header of the FEC packet. Send the media packet with the extended mask shown,
The FEC decoding unit of the receiving device corrects the media packet by the FEC packet when the bit pattern does not indicate packet loss, and when the bit pattern indicates packet loss, A communication apparatus that transmits RTP data without correcting media packets.
入力したメディアパケットについてXOR演算を行なうFEC演算部と、
前記XOR演算の結果が前記FEC演算部によって格納されるパケットメモリと、
入力したメディアパケットのシーケンス番号に基づく到着管理情報が前記FEC演算部によって登録される到着管理メモリと、
前記到着管理メモリから読み出した到着管理情報に従ってメディアパケットの送信を行うメディアパケット送信制御部と、
前記パケットメモリからリードしたXOR演算結果と前記FEC演算部からの到着管理情報を元に前記拡張マスクが付加されたFECパケットを生成し、前記メディアパケット送信制御部の送信状態を監視しながら送信するFECパケット送信制御部とを有することを特徴とする請求項1記載の通信装置。 The FEC encoding unit is
An FEC operation unit that performs an XOR operation on the input media packet;
A packet memory in which the result of the XOR operation is stored by the FEC operation unit;
Arrival management memory in which arrival management information based on the sequence number of the input media packet is registered by the FEC calculation unit,
A media packet transmission controller for transmitting media packets according to the arrival management information read from the arrival management memory;
Based on the XOR operation result read from the packet memory and the arrival management information from the FEC operation unit, the FEC packet to which the extended mask is added is generated and transmitted while monitoring the transmission state of the media packet transmission control unit The communication apparatus according to claim 1, further comprising an FEC packet transmission control unit.
受信したメディアパケットとFECパケットとでXOR演算を行なうFEC訂正部と、
前記XOR演算の結果が前記FEC演算部によって格納されるパケットメモリと、
受信したメディアパケットのシーケンス番号に基づく到着管理情報が前記FEC訂正部によって登録される到着管理メモリとを有し、
前記FEC訂正部は、前記FECパケット受信時に前記到着管理メモリから読み出した到着管理情報により(符号化後の)欠落パケットの訂正を行うことを特徴とする請求項1記載の通信装置。 The FEC decoder is
An FEC correction unit that performs an XOR operation on the received media packet and FEC packet;
A packet memory in which the result of the XOR operation is stored by the FEC operation unit;
Arrival management information based on the sequence number of the received media packet has arrival management memory registered by the FEC correction unit,
The communication apparatus according to claim 1, wherein the FEC correction unit corrects a missing packet (after encoding) based on arrival management information read from the arrival management memory when the FEC packet is received.
入力したメディアパケットからシーケンス番号を検出するRTPシーケンス番号検出部と、
前記パケットメモリに対する前記FECパケット送信制御部とのアクセス競合時の待ち合わせ用として、受信したメディアパケットをリード完了時までバッファリングして前記メディアパケット送信制御部へ出力するパケットバッファと、
前記パケットバッファにパケット入力が開始されたタイミングで前記パケットメモリから該当するXOR結果をリードするパケットメモリリード部と、
前記パケットバッファからのメディアパケットと、前記パケットメモリリード部が前記パケットメモリから読み出したXOR結果についてXOR演算を実施し、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果のライト要求をするXOR演算器と、
前記パケットメモリの前記ライト要求によるアドレスに更新されたXOR結果をライトするパケットメモリライト部と、
前記シーケンス番号を元に前記到着管理メモリを更新し、また、演算単位毎に前記到着管理メモリの初期化と基底シーケンス番号を更新し、該基底シーケンス番号を到着管理情報として前記FECパケット送信制御部へ通知し、更に前記演算単位を前記パケットバッファに通知する到着管理メモリ更新部とを有することを特徴とする請求項2記載の通信装置。 The FEC calculation unit is
An RTP sequence number detector for detecting a sequence number from the input media packet;
A packet buffer for buffering the received media packet until read completion and outputting to the media packet transmission control unit for waiting when access conflict with the FEC packet transmission control unit for the packet memory;
A packet memory read unit that reads a corresponding XOR result from the packet memory at a timing when packet input is started in the packet buffer;
The XOR operation is performed on the media packet from the packet buffer and the XOR result read from the packet memory by the packet memory read unit, and a write request for the XOR result updated to the same address as the address from which the XOR result was read is made. An XOR operator,
A packet memory write unit for writing the updated XOR result to the address according to the write request of the packet memory;
Updating the arrival management memory based on the sequence number, updating the arrival management memory and the base sequence number for each operation unit, and using the base sequence number as arrival management information, the FEC packet transmission control unit The communication apparatus according to claim 2, further comprising: an arrival management memory update unit that notifies the packet buffer of the calculation unit.
受信したメディアパケットからシーケンス番号を検出するRTPシーケンス番号検出部と、
前記受信したメディアパケットをバッファリングするパケットバッファと、
前記パケットバッファにパケット入力が開始されたタイミングで前記パケットメモリから該当するXOR結果をリードするパケットメモリリード部と、
前記パケットバッファからのメディアパケットと、前記パケットメモリリード部が前記パケットメモリから読み出したXOR結果についてXOR演算を実施し、XOR結果をリードしたアドレスと同じアドレスに更新されたXOR結果のライト要求をするXOR演算器と、
前記パケットメモリの前記ライト要求によるアドレスに更新されたXOR結果をライトするパケットメモリライト部と、
前記シーケンス番号を元に前記到着管理メモリを更新し、また、演算単位毎に前記到着管理メモリの初期化と基底シーケンス番号を更新し、更に前記演算単位を前記パケットバッファに通知する到着管理メモリ更新部と、
受信したFECパケットの本体は前記パケットバッファに格納すると共に前記FECヘッダより拡張マスクフィールドを検出するFEC拡張マスク検出部と、
前記拡張マスクフィールドのビットを反転するNOT演算器と、
前記到着管理メモリからリードしたシーケンス番号によるビットパターンと前記NOT演算器の出力とをOR演算するOR演算器と、
前記到着管理メモリ更新部からパケット欠落検出が通知されると前記XOR演算器からのXOR結果を抽出することで、欠落したメディアパケットを訂正(再生成)するパケット訂正部とを有し、
前記到着管理メモリ更新部は、前記OR演算結果のビットパターンがオール1なら符号化後のパケット欠落はなかったと判断する一方、前記OR演算結果のビットパターンに1ビット抜けを検出した場合には、当該パケットの欠落を前記パケット訂正部へ通知することを特徴とする請求項3記載の通信装置。 The FEC correction unit is
An RTP sequence number detector for detecting a sequence number from the received media packet;
A packet buffer for buffering the received media packet;
A packet memory read unit that reads a corresponding XOR result from the packet memory at a timing when packet input is started in the packet buffer;
The XOR operation is performed on the media packet from the packet buffer and the XOR result read from the packet memory by the packet memory read unit, and a write request for the XOR result updated to the same address as the address from which the XOR result was read is made. An XOR operator,
A packet memory write unit for writing the updated XOR result to the address according to the write request of the packet memory;
Update the arrival management memory based on the sequence number, update the arrival management memory and base sequence number for each operation unit, and further notify the packet buffer of the operation unit And
The main body of the received FEC packet is stored in the packet buffer and detects an extended mask field from the FEC header, and an FEC extended mask detector,
A NOT operator for inverting the bits of the extended mask field;
An OR operator that performs an OR operation on the bit pattern according to the sequence number read from the arrival management memory and the output of the NOT operator;
A packet correction unit that corrects (regenerates) the lost media packet by extracting the XOR result from the XOR operator when packet loss detection is notified from the arrival management memory update unit;
The arrival management memory update unit determines that there is no packet loss after encoding if the bit pattern of the OR operation result is all 1, while if it detects a missing 1 bit in the bit pattern of the OR operation result, 4. The communication apparatus according to claim 3, wherein the lack of the packet is notified to the packet correction unit.
プロセッサとパケット受信インタフェースとプログラムやデータが格納されているROMとRAMとパケット送信インタフェースをプロセッサ用バスで接続された構成とし、
前記RAMは、前記パケットバッファと前記パケットメモリと前記到着管理メモリを含み、
入力されたメディアデータは、前記受信インタフェースからDMA転送機能により、前記プロセッサを介さずに前記パケットバッファへ転送され、転送完了後に前記パケット受信インタフェースからプロセッサへ割り込み通知を行うことで前記プロセッサにパケット受信を通知し、
前記プロセッサは、前記割り込み通知を受けると、前記XOR演算,前記FECパケットの生成および前記パケット送信インタフェースからの前記メディアデータと前記FECパケットの送信を行うためのプログラムを実行することを特徴とする請求項2記載の通信装置。 The FEC calculation unit is
The processor, packet reception interface, ROM and RAM storing programs and data, and the packet transmission interface are connected via a processor bus.
The RAM includes the packet buffer, the packet memory, and the arrival management memory,
The input media data is transferred from the receiving interface to the packet buffer without using the processor by the DMA transfer function, and the packet is received by the processor by notifying the processor from the packet receiving interface after the transfer is completed. Notice
The processor, when receiving the interrupt notification, executes a program for performing the XOR operation, generating the FEC packet, and transmitting the media data and the FEC packet from the packet transmission interface. Item 3. The communication device according to Item 2.
プロセッサとパケット受信インタフェースとプログラムやデータが格納されているROMと更新処理に必要な各種値と受信パケット格納するRAMとパケット送信インタフェースをプロセッサ用バスで接続された構成とし、
前記RAMは、前記受信したメディアパケットをバッファリングするパケットバッファと前記パケットメモリと前記到着管理メモリを含み、
入力されたメディアデータは、前記受信インタフェースからDMA転送機能により、前記プロセッサを介さずに前記RAMのパケットバッファへ転送され、転送完了後に前記パケット受信インタフェースからプロセッサへ割り込み通知を行うことで前記プロセッサにパケット受信を通知し、
前記プロセッサは、前記割り込み通知を受けると、前記XOR演算,前記欠落パケットの訂正処理および前記パケット送信インタフェースによる前記訂正済みメディアパケットの送信を行うためのプログラムを実行することを特徴とする請求項3記載の通信装置。 The FEC correction unit is
A processor, a packet reception interface, a ROM storing programs and data, various values necessary for update processing, a RAM for storing received packets, and a packet transmission interface are connected by a processor bus.
The RAM includes a packet buffer for buffering the received media packet, the packet memory, and the arrival management memory,
The input media data is transferred from the reception interface to the packet buffer of the RAM without going through the processor by the DMA transfer function. After the transfer is completed, an interrupt notification is sent from the packet reception interface to the processor. Notify packet reception,
The processor, when receiving the interrupt notification, executes a program for performing the XOR operation, correction processing of the missing packet, and transmission of the corrected media packet by the packet transmission interface. The communication device described.
Blockシーケンス番号で定まる1演算単位(Block)におけるColumnFEC数をL、RowFEC数をDとしたとき、(パケットシーケンス番号−Blockシーケンス番号)÷Lの商をビット位置、剰余をアドレス位置とするColumnFEC用到着管理メモリと、
(パケットシーケンス番号−Blockシーケンス番号)÷Dの商をアドレス位置、剰余をビット位置とするRowFEC用到着管理メモリとで構成されることを特徴とする請求項1〜8記載の通信装置。 The arrival management memory is
For ColumnFEC, where L is the number of ColumnFECs in one operation unit (Block) determined by the Block sequence number and D is the RowFEC number, the quotient of (packet sequence number-Block sequence number) ÷ L is the bit position and the remainder is the address position. Arrival management memory,
9. The communication apparatus according to claim 1, comprising: a RowFEC arrival management memory in which a quotient of (packet sequence number−Block sequence number) ÷ D is an address position and a remainder is a bit position.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008044530A JP2009206608A (en) | 2008-02-26 | 2008-02-26 | Communication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008044530A JP2009206608A (en) | 2008-02-26 | 2008-02-26 | Communication device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009206608A true JP2009206608A (en) | 2009-09-10 |
Family
ID=41148484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008044530A Pending JP2009206608A (en) | 2008-02-26 | 2008-02-26 | Communication device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009206608A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011039869A1 (en) * | 2009-09-30 | 2011-04-07 | 株式会社東芝 | Reception processing apparatus |
JP2013517552A (en) * | 2010-01-13 | 2013-05-16 | マーベル・イスラエル・(エム・アイ・エス・エル)・リミテッド | Hardware virtualization for media processing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005012753A (en) * | 2003-05-29 | 2005-01-13 | Nippon Telegr & Teleph Corp <Ntt> | Packet relay device and method thereof, packet reception device and method thereof, packet relay program and recording medium recording program, and packet reception program and recording medium recording program |
WO2005029806A1 (en) * | 2003-09-19 | 2005-03-31 | Tokyo Denki University | Method for transmitting data and data transmitter |
WO2005086436A1 (en) * | 2004-03-03 | 2005-09-15 | Mitsubishi Denki Kabushiki Kaisha | Packet transfer method, packet transfer network system, and terminal device |
JP2007509557A (en) * | 2003-10-23 | 2007-04-12 | トムソン ライセンシング | Method for reconstructing lost packets and apparatus for implementing the method |
JP2007208418A (en) * | 2006-01-31 | 2007-08-16 | Nhk Engineering Services Inc | Inspection information generating apparatus, transmitter, and relaying apparatus |
-
2008
- 2008-02-26 JP JP2008044530A patent/JP2009206608A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005012753A (en) * | 2003-05-29 | 2005-01-13 | Nippon Telegr & Teleph Corp <Ntt> | Packet relay device and method thereof, packet reception device and method thereof, packet relay program and recording medium recording program, and packet reception program and recording medium recording program |
WO2005029806A1 (en) * | 2003-09-19 | 2005-03-31 | Tokyo Denki University | Method for transmitting data and data transmitter |
JP2007509557A (en) * | 2003-10-23 | 2007-04-12 | トムソン ライセンシング | Method for reconstructing lost packets and apparatus for implementing the method |
WO2005086436A1 (en) * | 2004-03-03 | 2005-09-15 | Mitsubishi Denki Kabushiki Kaisha | Packet transfer method, packet transfer network system, and terminal device |
JP2007208418A (en) * | 2006-01-31 | 2007-08-16 | Nhk Engineering Services Inc | Inspection information generating apparatus, transmitter, and relaying apparatus |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011039869A1 (en) * | 2009-09-30 | 2011-04-07 | 株式会社東芝 | Reception processing apparatus |
JP5535231B2 (en) * | 2009-09-30 | 2014-07-02 | 株式会社東芝 | Reception processing apparatus and program |
US9246632B2 (en) | 2009-09-30 | 2016-01-26 | Kabushiki Kaisha Toshiba | Reception processing device |
JP2013517552A (en) * | 2010-01-13 | 2013-05-16 | マーベル・イスラエル・(エム・アイ・エス・エル)・リミテッド | Hardware virtualization for media processing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5409032B2 (en) | Transmitting apparatus, method, and program | |
EP2823616B1 (en) | Method, device and system for packet transmission over ip networks | |
US8261162B2 (en) | Decoding device, decoding method, and media data delivery system | |
JP5233165B2 (en) | Data transmission device | |
US20060013123A1 (en) | Method and apparatus for processing transmission error in DMB system | |
JP4041137B2 (en) | VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF | |
US20120151291A1 (en) | Receiving apparatus and processing method for receiving apparatus | |
US20080310411A1 (en) | Communication apparatus and integrated circuit for communication | |
JP2006325113A (en) | Packet relay device, contents transmission device and reproduction device, packet relay program and packet relaying method | |
US20100318870A1 (en) | Transmission apparatus, receiving apparatus, method, and storage medium | |
JPWO2008139882A1 (en) | COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM | |
JP5174076B2 (en) | Calculation processing device, reception processing device, reception processing method, and reception processing program | |
JP6511472B2 (en) | Method and apparatus for packet generation and recovery in broadcasting and / or communication systems | |
JP2009206608A (en) | Communication device | |
JP6305398B2 (en) | Method and apparatus for error recovery using information associated with a transmitter | |
US9246631B2 (en) | Communication devices that encode and transmit data, methods of controlling such communication devices, and computer-readable storage media storing instructions for controlling such communication devices | |
JP2007101457A (en) | Transmitter, receiver, time notification method, and time setting method | |
US10116415B2 (en) | Transmission device, receiving device, transmission method, and receiving method | |
JP6511470B2 (en) | Method and apparatus for packet transmission and reception in communication system | |
JP5194747B2 (en) | Data transmission device, data transmission device, data reception device, and data transmission system | |
JP2002314626A (en) | Communication method, transmitter, receiver and communication system provided with the sames | |
JP2012151622A (en) | Receiving terminal, packet data receiving method, transmitting terminal, transmission/reception system, relay terminal, and relay method of packet data | |
KR101777349B1 (en) | Method and apparatus for transmitting and receiving video stream | |
JP2009200744A (en) | Communication device, fec control information judgement and detection method | |
US20160366694A1 (en) | Apparatus and method for processing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20110108 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Effective date: 20120830 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120904 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130107 |