JP4930449B2 - Forward error recovery method receiver and forward error recovery method reception output method - Google Patents

Forward error recovery method receiver and forward error recovery method reception output method Download PDF

Info

Publication number
JP4930449B2
JP4930449B2 JP2008114532A JP2008114532A JP4930449B2 JP 4930449 B2 JP4930449 B2 JP 4930449B2 JP 2008114532 A JP2008114532 A JP 2008114532A JP 2008114532 A JP2008114532 A JP 2008114532A JP 4930449 B2 JP4930449 B2 JP 4930449B2
Authority
JP
Japan
Prior art keywords
node
packet
media
output
media 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.)
Active
Application number
JP2008114532A
Other languages
Japanese (ja)
Other versions
JP2009267737A (en
Inventor
勝詞 田上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2008114532A priority Critical patent/JP4930449B2/en
Publication of JP2009267737A publication Critical patent/JP2009267737A/en
Application granted granted Critical
Publication of JP4930449B2 publication Critical patent/JP4930449B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To achieve sufficient resistance and low delay with respect to packet loss. <P>SOLUTION: A forward error recovery system receiving apparatus receives a stream of media packets with sequence numbers and FEC packets, and outputs the media packets. The forward error recovery system receiving apparatus includes: a buffer means which stores the received packets; a node control means which sets a plurality of node sequences comprised of a plurality of nodes for referring to storage positions, which are ranked by relatively corresponding to the sequence numbers; an analysis means which determines ranking of the nodes corresponding to the received media packets, and regards the media packets to which the nodes comprising the node sequence including the earliest ranking node need to refer when the determined ranking is within a predetermined ranking range as output objects; and an output means which attempts packet recovery using the FEC packets, and outputs the media packets to be output in the order of the sequence numbers when the media packets to be output include unreceived media packets. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は、前方誤り復元方式受信装置および前方誤り復元方式受信出力方法に係り、特に、パケットロスに対する十分な耐性と低遅延とを実現可能な前方誤り復元方式受信装置および前方誤り復元方式受信出力方法に関する。   The present invention relates to a forward error recovery system receiver and a forward error recovery system reception output method, and more particularly to a forward error recovery system reception apparatus and forward error recovery system reception output capable of realizing sufficient tolerance against packet loss and low delay. Regarding the method.

情報伝送網を利用して映像・音声等のストリームデータをパケット単位で伝送する際に、一部のパケットが欠損(パケットロス)する場合がある。パケットロスに対応する技術として、受信側がパケットロスを検知して送信側にパケットの再送を要求するパケット再送方式が一般的に用いられてきたが、データの確実性よりリアルタイム性が重要な用途や、マルチキャストの配信等に向かないことから、近年、伝送したい情報に冗長な情報を付加して送信し、受信側で欠損したパケットを復元する前方誤り訂正(FEC:Forward Error Correction)方式が注目されている。   When stream data such as video / audio is transmitted in packet units using an information transmission network, some packets may be lost (packet loss). As a technique for dealing with packet loss, a packet retransmission method in which the receiving side detects packet loss and requests the transmitting side to retransmit the packet has been generally used. In recent years, attention has been paid to the Forward Error Correction (FEC) method, in which redundant information is added to information to be transmitted and transmitted, and packets lost on the receiving side are restored. ing.

例えば、特許文献1には、FECによるパケットロス耐性機能を使用する映像通信システムにおいて映像伝送遅延を削減する技術が記載され、特許文献2には、映像データの転送に、10×10の計100パケットで2次元のFECを行なう技術が記載されている。
特開2007−28241号公報 特開2008−11096号公報
For example, Patent Document 1 describes a technique for reducing video transmission delay in a video communication system using a packet loss tolerance function by FEC, and Patent Document 2 discloses a total of 100 × 10 × 10 for transferring video data. A technique for performing two-dimensional FEC with a packet is described.
JP 2007-28241 A JP 2008-11096 A

FECは、伝送したい情報に冗長な情報を付加することによりロスしたパケットを受信側で復元するものであるため、再送要求の手続きが不要となり遅延量を少なくできるという特徴がある。   The FEC is characterized in that a lost packet is restored on the receiving side by adding redundant information to information to be transmitted, and therefore, a procedure for requesting retransmission is unnecessary and the amount of delay can be reduced.

冗長な情報は、一般に、複数のパケットを所定のFEC演算することによりFECパケットとして生成されるが、その生成方式として、複数のパケットを1次元でFEC演算する方式や、複数のパケットを多次元でFEC演算する方式等が提案されている。例えば、4個のパケットの排他的論理和(XOR)を取る1次元パリティFECでは、4個のパケットにより1つのFECパケットが生成されるのに対して、4個のパケットを2×2の2次元でXORする2次元パリティFECでは4個のパケットにより5個のFECパケットが生成されることになる。   In general, redundant information is generated as an FEC packet by performing a predetermined FEC operation on a plurality of packets. As a generation method thereof, a method in which a plurality of packets are FEC-calculated in one dimension, a plurality of packets in a multidimensional manner, and the like. A method for performing FEC calculation is proposed. For example, in a one-dimensional parity FEC that takes the exclusive OR (XOR) of four packets, one FEC packet is generated by four packets, whereas four packets are 2 × 2 2 In a two-dimensional parity FEC that is XORed in dimension, five FEC packets are generated by four packets.

パケットロスに対する耐性については、例えば、パケットロス発生確率がランダムに1%であると仮定すると、4個のパケットに1次元パリティFECを適用する場合において、パケットロスが発生してなおかつパケット復元不能となる確率が0.039%となるのに対し、4個のパケットに2×2の2次元パリティFECを適用する場合の同確率は0.000004%となる。   With regard to resistance to packet loss, for example, assuming that the probability of occurrence of packet loss is 1% at random, when 1-dimensional parity FEC is applied to four packets, packet loss occurs and packet restoration is impossible. Is 0.039%, whereas when 2 × 2 two-dimensional parity FEC is applied to four packets, the probability is 0.000004%.

このように、複数のパケットを1次元でFEC演算する方式よりも、複数のパケットを多次元でFEC演算する方式の方がパケットロスに対する耐性が圧倒的に高くなる。しかしながら、複数のパケットを多次元でFEC演算する方式は、演算量の増大だけでなく、伝送すべきパケット数が多くなってしまうために受信側のパケット管理が煩雑になり、遅延量も増加してしまうという問題がある。特に、従来のように受信したパケットを次段に出力するタイミングやパケット復元を行なうタイミングをパケット毎の生成時刻、受信時刻等で管理しようとすると、受信側の負荷は膨大なものとなる。   As described above, the method of performing the multi-dimensional FEC operation on the plurality of packets is overwhelmingly higher than the method of performing the FEC operation on the plurality of packets in one dimension. However, the multi-dimensional FEC calculation method for a plurality of packets not only increases the calculation amount but also increases the number of packets to be transmitted, which complicates the packet management on the receiving side and increases the delay amount. There is a problem that it ends up. In particular, if it is attempted to manage the timing at which a received packet is output to the next stage and the timing at which the packet is restored as in the prior art using the generation time, reception time, etc. for each packet, the load on the receiving side becomes enormous.

このため、パケットロスに対する耐性を維持しつつ、受信側のパケット管理を容易にする技術の開発が望まれている。そこで、本発明は、パケットロスに対する十分な耐性と低遅延とを実現可能な前方誤り復元方式受信装置および前方誤り復元方式受信出力方法を提供することを目的とする。   Therefore, it is desired to develop a technique that facilitates packet management on the receiving side while maintaining resistance to packet loss. Therefore, an object of the present invention is to provide a forward error recovery system receiver and a forward error recovery system reception output method that can realize sufficient tolerance against packet loss and low delay.

上記課題を解決するため、本発明の第1の態様である前方誤り復元方式受信装置は、シーケンス番号が付されたメディアパケットのストリームと、メディアパケットに基づいて生成されたFECパケットのストリームとを受信し、シーケンス番号順にメディアパケットを出力する前方誤り復元方式受信装置であって、前記受信したメディアパケットおよびFECパケットを格納するバッファ手段と、前記バッファ手段におけるメディアパケットの格納位置を参照するための、シーケンス番号に相対的に対応して順位付けられた複数のノードで構成されるノード列を複数設定したノード管理手段と、前記受信したメディアパケットのシーケンス番号に対応したノードの順位を判定し、判定された順位が付されたノードに当該メディアパケットの格納位置を記憶させ、判定された順位が所定の第1順位範囲である場合に、最も順位の早いノードを含むノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとする解析手段と、出力対象メディアパケットが未受信のメディアパケットを含む場合に、前記格納されたFECパケットを用いて前記未受信のメディアパケットを復元し出力対象メディアパケットにするとともに、前記出力対象メディアパケットをシーケンス番号順に出力する出力手段と、を備えたことを特徴とする。   In order to solve the above-mentioned problem, a forward error recovery method receiver according to the first aspect of the present invention includes a stream of media packets assigned a sequence number and a stream of FEC packets generated based on the media packets. A forward error recovery type receiving apparatus that receives and outputs media packets in order of sequence number, for storing the received media packets and FEC packets, and for referring to the storage location of the media packets in the buffer means A node management means that sets a plurality of node sequences composed of a plurality of nodes ranked relatively corresponding to the sequence number, and determines the rank of the node corresponding to the sequence number of the received media packet; The media packet is sent to the node with the determined rank. Analyzing means for storing a delivery position and, when the determined rank is within a predetermined first rank range, a media packet to be referred to by a node constituting a node sequence including the node with the highest rank as an output target media packet And when the output target media packet includes an unreceived media packet, the stored FEC packet is used to restore the unreceived media packet into an output target media packet, and the output target media packet is sequenced Output means for outputting in numerical order.

受信したメディアパケットをノードで管理し、所定の順位のノードへの記録をトリガとして、メディアパケットの出力を行なうため、パケット毎の時刻管理が不要となる。したがって、複数のパケットを多次元でFEC演算する方式を用いた場合でも受信側装置のパケット管理は容易であり、パケットロスに対する十分な耐性と低遅延とが実現可能となる。   The received media packet is managed by the node, and the media packet is output triggered by recording to a node of a predetermined order. Therefore, time management for each packet becomes unnecessary. Therefore, even when a multi-dimensional FEC calculation method is used for a plurality of packets, the packet management of the receiving apparatus is easy, and sufficient tolerance and low delay against packet loss can be realized.

ここで、前記解析手段は、前記出力手段が出力対象となったメディアパケットをシーケンス番号順に出力すると、出力したメディアパケットの格納位置を記憶していたノードの記憶内容を無効とし、後続するノードの順位を繰り上げることができる。これにより、資源を有効活用することができるようになる。   Here, when the output means outputs the media packets to be output by the output means in the order of the sequence number, the analysis means invalidates the storage contents of the node storing the storage position of the output media packet, and You can move up the ranking. Thereby, resources can be used effectively.

また、前記解析手段は、判定されたノードの順列が所定の第2順位以降の場合は、最も順位の早いノードを含むノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとすることなく、後続するノードの順位を繰り上げるようにすることができる。リアルタイム性が重視される情報の伝送では、パケットが許容遅延時間を超えて受信された場合は、出力不要となるからである。   In addition, when the permutation of the determined nodes is equal to or higher than the predetermined second order, the analysis unit sets a media packet to be referred to by a node constituting the node train including the node with the highest rank as an output target media packet. It is possible to move up the ranking of subsequent nodes without any problem. This is because in the transmission of information in which real-time property is important, if a packet is received exceeding an allowable delay time, output is not necessary.

さらに、前記解析手段は、判定された順位が所定の第1順位範囲である場合に、最も順位の早いノードを含むノード列に加え、前記ノード列と所定の関係を有するノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとしてもよい。これにより設計の自由度が高まることになる。   Further, when the determined rank is in a predetermined first rank range, the analyzing means includes nodes constituting a node string having a predetermined relationship with the node string in addition to the node string including the node having the highest rank. The media packet to be referred to may be the output target media packet. This increases the degree of freedom in design.

具体的には、前記所定の関係を有するノード列は、最も順位の早いノードを含むノード列を構成するノード以外で最も順位の早いノードを含むノード列とすることができる。   Specifically, the node string having the predetermined relationship may be a node string including the node having the highest rank other than the node constituting the node string including the node having the highest rank.

一般に、互換性を重んじて、メディアパケットとFECパケットの相関関係は、FECパケットのみに記載されている。そこで、前記解析手段は、メディアパケットのシーケンス番号の開始値を示すFECパケットを未受信の場合は、あらかじめ定めたノードに最初に受信したメディアパケットの格納位置を記憶させ、FECパケット受信後に、前記メディアパケットのシーケンス番号に対応したノード順位を判定し、前記あらかじめ定めたノードが判定されたノード順位になるように、ノードに付する順位をシフトすることが望ましい。これにより、FECパケットを最初に受信した際のノードとメディアパケットとの対応付け処理が容易になる。   In general, in consideration of compatibility, the correlation between media packets and FEC packets is described only in FEC packets. Therefore, when the FEC packet indicating the start value of the sequence number of the media packet has not been received, the analyzing means stores the storage position of the media packet received first in a predetermined node, and after receiving the FEC packet, It is desirable to determine the node order corresponding to the sequence number of the media packet, and shift the order given to the nodes so that the predetermined node has the determined node order. This facilitates the association processing between the node and the media packet when the FEC packet is first received.

上記課題を解決するため、本発明の第2の態様である前方誤り復元方式受信出力方法は、シーケンス番号が付されたメディアパケットのストリームと、メディアパケットに基づいて生成されたFECパケットのストリームとを受信し、シーケンス番号順にメディアパケットを出力する前方誤り復元方式受信出力方法であって、前記受信したメディアパケットおよびFECパケットをバッファに格納するバッファリングステップと、前記バッファにおけるメディアパケットの格納位置を参照するための、シーケンス番号に相対的に対応して順位付けられた複数のノードで構成されるノード列を複数設定するノード設定ステップと、前記受信したメディアパケットのシーケンス番号に対応したノードの順位を判定し、判定された順位が付されたノードに当該メディアパケットの格納位置を記憶するノード記憶ステップと、判定された順位が所定の第1順位範囲である場合に、最も順位の早いノードを含むノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとし、前記出力対象メディアパケットが未受信のメディアパケットを含む場合に、前記格納されたFECパケットを用いて前記未受信のメディアパケットを復元し出力対象メディアパケットにするとともに、前記出力対象メディアパケットをシーケンス番号順に出力する出力ステップと、を有することを特徴とする。   In order to solve the above problem, a forward error recovery method reception output method according to a second aspect of the present invention includes a stream of media packets assigned a sequence number, a stream of FEC packets generated based on the media packets, Is a forward error recovery method reception output method for outputting media packets in the order of sequence numbers, a buffering step for storing the received media packets and FEC packets in a buffer, and a storage position of the media packets in the buffer. A node setting step for setting a plurality of node strings composed of a plurality of nodes ranked corresponding to the sequence numbers for reference, and the ranks of the nodes corresponding to the sequence numbers of the received media packets And the node with the determined order A node storage step for storing the storage position of the media packet in the node, and a medium to be referred to by a node constituting a node sequence including the node having the earliest rank when the determined rank is in the predetermined first rank range When a packet is an output target media packet and the output target media packet includes an unreceived media packet, the stored FEC packet is used to restore the unreceived media packet into an output target media packet, An output step of outputting the output target media packets in order of sequence numbers.

本発明によれば、パケットロスに対する十分な耐性と低遅延とを両立させることができる。   According to the present invention, it is possible to achieve both sufficient tolerance against packet loss and low delay.

本発明の実施形態について図面を参照して詳細に説明する。図1は、本発明を適用したFEC受信側装置を含むネットワークメディアストリーム送受信システムの構成を示すブロック図である。本図に示すようにネットワークメディアストリーム送受信システム100は、メディアストリーム出力装置10が順次出力するメディアパケットに基づいてFEC送信側装置20が所定のFEC演算によりFECメディアパケットを生成し、メディアパケットとともにコンピュータネットワーク50を介してFEC受信側装置30に送信する。FEC受信側装置30は、受信したメディアパケットをメディアストリーム受信装置40に出力する。この際に、FEC受信側装置30は、受信順ではなく、シーケンス順にメディアパケットをメディアストリーム受信装置40に出力し、一部のメディアパケットが失われている場合には、受信したFECパケットおよび他のメディアパケットを用いて失われたメディアパケットを復元して出力する。このようなFEC方式を採用したネットワークメディアストリーム送受信システム100は、VoIP(Voice over IP)、TV会議、マルチキャスト配信システム等のリアルタイム性が重視され、低遅延が要求される情報の伝送に特に効果的に適用することができる。   Embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a network media stream transmission / reception system including an FEC receiving side apparatus to which the present invention is applied. As shown in the figure, in the network media stream transmission / reception system 100, the FEC transmission side device 20 generates FEC media packets by a predetermined FEC operation based on the media packets sequentially output by the media stream output device 10, and the computer together with the media packets. The data is transmitted to the FEC receiving side device 30 via the network 50. The FEC receiving side device 30 outputs the received media packet to the media stream receiving device 40. At this time, the FEC receiving side apparatus 30 outputs the media packets to the media stream receiving apparatus 40 in the order of the sequence, not in the order of reception, and when some media packets are lost, the received FEC packet and others The lost media packet is restored using the media packet and output. The network media stream transmission / reception system 100 adopting such an FEC method is particularly effective for transmission of information that requires low-delay, such as VoIP (Voice over IP), TV conference, and multicast distribution system. Can be applied to.

メディアストリーム出力装置10が出力するメディアストリームは、動画、音声等種々のデータとすることができる。また、メディアストリーム出力装置10とメディアストリーム受信装置40とが双方向にメディアストリームを送受信する構成としてもよい。コンピュータネットワーク50は、所定のプロトコルによりパケット単位で伝送を行なう品質非保証の情報伝送網を用いることができ、代表的にはインターネットとすることができる。   The media stream output from the media stream output device 10 can be various data such as moving images and sounds. Further, the media stream output device 10 and the media stream receiving device 40 may be configured to transmit and receive media streams in both directions. The computer network 50 can use a non-quality guaranteed information transmission network that performs transmission in units of packets according to a predetermined protocol, and can typically be the Internet.

図2は、FEC受信側装置30の機能構成を示すブロック図である。FEC受信側装置30は、パケット受信部310、ノード管理部320、パケット解析部330、トリガ生成部340、メディアパケット出力部350を備えている。   FIG. 2 is a block diagram illustrating a functional configuration of the FEC reception side device 30. The FEC reception side device 30 includes a packet reception unit 310, a node management unit 320, a packet analysis unit 330, a trigger generation unit 340, and a media packet output unit 350.

パケット受信部310は、リングバッファ構造の受信パケットバッファ312を備えており、受信したメディアパケットとFECパケットとを、受信パケットバッファ312に順次格納する。また、パケット受信部310は、パケットを受信すると受信したことをパケット解析部330に通知する。なお、本実施形態では、低遅延伝送を実現するために、次段のメディアストリーム受信装置40への出力を行なうまで、受信パケットバッファ312に格納したパケットをコピーせずに直接利用するものとする。   The packet reception unit 310 includes a reception packet buffer 312 having a ring buffer structure, and sequentially stores received media packets and FEC packets in the reception packet buffer 312. Further, when receiving a packet, the packet receiving unit 310 notifies the packet analyzing unit 330 that the packet has been received. In this embodiment, in order to realize low-delay transmission, the packet stored in the reception packet buffer 312 is directly used without being copied until output to the media stream reception device 40 at the next stage. .

ノード管理部320は、受信パケットバッファ312に受信順に格納されているパケットを出力順(シーケンス順)に管理するために、パケット格納位置を指し示すノードを出力順に並べたノード配列を用いて受信パケットバッファ312の参照を行なう。すなわち、受信パケットバッファ312に格納されるパケットは、受信順であるため、出力順が入れ替わっていたり、また欠落が生じたりする場合がある。そこで、ノードを用いて格納されたパケットを出力順に参照できるようにしている。ノード管理部320の具体的な構成と処理については後述する。   In order to manage the packets stored in the reception packet buffer 312 in the reception order in the output order (sequence order), the node management unit 320 uses the node array in which the nodes indicating the packet storage positions are arranged in the output order to receive the packet buffer. 312 is referred to. That is, since the packets stored in the reception packet buffer 312 are in the order of reception, the output order may be switched or may be lost. Therefore, packets stored using nodes can be referred to in the order of output. The specific configuration and processing of the node management unit 320 will be described later.

パケット解析部330は、パケット受信部310がパケットを受信すると、受信したパケットのヘッダを解析して、そのパケットに対応するノードを判定し、ノード管理部320に通知する。   When the packet reception unit 310 receives a packet, the packet analysis unit 330 analyzes the header of the received packet, determines a node corresponding to the packet, and notifies the node management unit 320 of it.

トリガ生成部340は、パケット解析部330の解析結果に応じて種々のトリガを生成する。トリガ生成部340が発生するトリガには、ノード管理部320に対するノード群更新/破棄トリガ、メディアパケット出力部350に対するメディアパケット出力トリガが含まれる。トリガ生成部340がこれらのトリガを生成する条件については後述する。   The trigger generation unit 340 generates various triggers according to the analysis result of the packet analysis unit 330. The triggers generated by the trigger generation unit 340 include a node group update / discard trigger for the node management unit 320 and a media packet output trigger for the media packet output unit 350. Conditions for the trigger generation unit 340 to generate these triggers will be described later.

メディアパケット出力部350は、トリガ生成部340が発生する出力トリガを契機として、受信パケットバッファ312に格納されているメディアパケットを所定の単位で次段のメディアストリーム受信装置40に出力する。この際にパケットロスが生じている場合には、パケット復元部352を用いてロスしたパケットを復元して出力する。   The media packet output unit 350 outputs the media packet stored in the reception packet buffer 312 to the next stage media stream reception device 40 in a predetermined unit, triggered by the output trigger generated by the trigger generation unit 340. If packet loss occurs at this time, the lost packet is restored using the packet restoration unit 352 and output.

ここで、本実施形態におけるメディアパケットとFECパケットについて説明する。なお、本実施形態におけるFECパケットは、RFC2733に準拠しているものとする。ただし、本発明は他の仕様のFECパケットにも適用することができる。   Here, media packets and FEC packets in the present embodiment will be described. Note that the FEC packet in this embodiment conforms to RFC2733. However, the present invention can also be applied to FEC packets having other specifications.

図3(a)は、メディアパケットの概略構造を示す図である。本図に示すように、各メディアパケットは、ヘッダとペイロードとを含み、ヘッダにはシーケンス番号が格納される。なお、シーケンス番号の開始値は一般に乱数により生成される。   FIG. 3A shows a schematic structure of a media packet. As shown in the figure, each media packet includes a header and a payload, and a sequence number is stored in the header. Note that the start value of the sequence number is generally generated by a random number.

図3(b)は、FECパケットの概略構造を示す図である。本図に示すように各FECパケットは、ヘッダとペイロードとを含み、ヘッダには、自己のシーケンス番号と、メディアパケットとFECパケットの対応を示す情報を格納し、後者の情報はRFC2733の例では基底シーケンス番号とマスクである。基底シーケンス番号は、対応するメディアパケットを示す基準となるメディアパケットのシーケンス番号である。マスクは、そのFECパケットを生成するのに用いたメディアパケットの組を示す情報で、左記メディアパケット各々のシーケンス番号の基底シーケンス番号からのオフセットをビットマスクで表して、FECパケット生成に関与した全てのメディアパケットのビットマスク表記をORした整数である。このように、メディアパケットとFECパケットとの対応関係は、メディアストリームの互換性保持の目的から、FECパケット内に記述されている。   FIG. 3B is a diagram illustrating a schematic structure of the FEC packet. As shown in the figure, each FEC packet includes a header and a payload, and the header stores information indicating its own sequence number and the correspondence between the media packet and the FEC packet. The latter information is an example of RFC2733. Base sequence number and mask. The base sequence number is a sequence number of a media packet serving as a reference indicating the corresponding media packet. The mask is information indicating a set of media packets used to generate the FEC packet. The offset from the base sequence number of each sequence number of the media packet shown in the left is represented by a bit mask, and all of those involved in FEC packet generation are represented. It is an integer obtained by ORing the bit mask notation of the media packet. As described above, the correspondence between the media packet and the FEC packet is described in the FEC packet for the purpose of maintaining compatibility of the media stream.

図4は、メディアパケットからFECパケットを生成する処理とメディアパケットを復元する処理とを模式的に示す図であり、図4(a)は、1次元の2要素でFECパケットを生成する場合を示し、図4(b)は、2×2の2次元の4要素でFECパケットを生成する場合を示している。   FIG. 4 is a diagram schematically illustrating a process for generating an FEC packet from a media packet and a process for restoring the media packet. FIG. 4A illustrates a case in which an FEC packet is generated with two one-dimensional elements. FIG. 4B shows a case where an FEC packet is generated with 2 × 2 two-dimensional four elements.

図4(a)に示すように、1次元の2要素でFECパケットを生成する場合には、例えば、シーケンス番号M1のメディアパケット(以下、シーケンス番号nのメディアパケットを「Mn」と示し、シーケンス番号kのFECパケットを「Fk」と示す)と「M2」とをFEC演算の単位として、所定の演算、例えば、XOR値を計算することで「F1」を生成する。そして、メディアパケット「M1」「M2」に加えて、冗長なFECパケット「F1」を送出する。情報伝送網において、例えば、「M2」がロスした場合には、受信側で「M1」と「F1」のXOR値を計算することで、失われた「M2」を復元することができる。   As shown in FIG. 4 (a), when generating an FEC packet with two one-dimensional elements, for example, a media packet with a sequence number M1 (hereinafter, a media packet with a sequence number n is indicated as “Mn” The FEC packet of number k is indicated as “Fk”) and “M2” are used as units of FEC calculation, and “F1” is generated by calculating a predetermined operation, for example, an XOR value. Then, in addition to the media packets “M1” and “M2”, a redundant FEC packet “F1” is transmitted. In the information transmission network, for example, when “M2” is lost, the lost “M2” can be restored by calculating the XOR values of “M1” and “F1” on the receiving side.

図4(b)に示すように、2×2の2次元の4要素でFECパケットを生成する場合には、例えば、「M1」「M2」「M3」「M4」のメディアパケットをFEC演算の単位とする。そして、「M1」と「M2」とから「F1」を計算し、「M3」と「M4」とから「F3」を計算し、「M1」と「M3」とから「F2」を計算し、「M2」と「M4」とから「F4」を計算する。さらに、「F1」と「F3」または 「F2」と「F4」とから「F5」を計算する。そして、メディアパケット「M1」「M2」「M3」「M4」に冗長なFECパケット「F1」「F2」「F3」「F4」「F5」を加えて、9個のパケットを送出する。   As shown in FIG. 4B, when an FEC packet is generated with 2 × 2 two-dimensional four elements, for example, media packets of “M1”, “M2”, “M3”, and “M4” are subjected to FEC calculation. Unit. Then, “F1” is calculated from “M1” and “M2”, “F3” is calculated from “M3” and “M4”, “F2” is calculated from “M1” and “M3”, “F4” is calculated from “M2” and “M4”. Further, “F5” is calculated from “F1” and “F3” or “F2” and “F4”. Then, the redundant FEC packets “F1”, “F2”, “F3”, “F4”, and “F5” are added to the media packets “M1”, “M2”, “M3”, and “M4”, and nine packets are transmitted.

2次元の4要素でFECパケットを生成すると、情報伝送網において、例えば、「M1」「M2」「M3」「F3」「F4」の5個のパケットがロスした場合であっても、受信側で、「F1」と「F5」から「F3」を復元し、復元された「F3」と「M4」とから「M3」を復元し、復元された「M3」と「F2」とから「M1」を復元し、復元された「M1」と「F1」とから「M2」を復元することで、元のメディアストリームの「M1」「M2」「M3」「M4」を受信側で得ることができる。   When an FEC packet is generated with two-dimensional four elements, in the information transmission network, for example, even when five packets of “M1”, “M2”, “M3”, “F3”, and “F4” are lost, the receiving side Then, “F3” is restored from “F1” and “F5”, “M3” is restored from the restored “F3” and “M4”, and “M1” is restored from the restored “M3” and “F2”. ”And restoring“ M2 ”from the restored“ M1 ”and“ F1 ”, so that the receiving side can obtain“ M1 ”,“ M2 ”,“ M3 ”, and“ M4 ”of the original media stream. it can.

次に、上記構成のFEC受信側装置30における処理について、好ましい実施例を示して詳細に説明する。   Next, the processing in the FEC reception side apparatus 30 having the above configuration will be described in detail with reference to a preferred embodiment.

まず、第1実施例として基本的な処理について図5のフローチャートおよびノード管理部320の構成と処理を示す図6〜図10を参照して説明する。   First, basic processing as the first embodiment will be described with reference to the flowchart of FIG. 5 and FIGS. 6 to 10 showing the configuration and processing of the node management unit 320.

本処理では、まず、ノードとバッファの初期設定を行なう(S101)。ノードの初期設定では、ノード管理部320において、FECの演算方式に応じたノードブロックの設定を行なう。本例では、2×2の2次元の4要素でFECパケットを生成する方式を用いるものとする。   In this process, first, node and buffer are initially set (S101). In the initial setting of the node, the node management unit 320 sets the node block according to the FEC calculation method. In this example, it is assumed that a method of generating FEC packets with 2 × 2 two-dimensional four elements is used.

第1実施例では、2×2の2次元の4要素でFECパケットを生成する方式の場合、図6(a)に示すようなノードブロック321をノード管理部320に設定する。本図では、「n1」から「n12」までの12個のノードが設定されており、各ノードの中身は無参照の初期状態にある。なお、ここでは簡単のため、メディアパケットに注目して説明する。FECパケットについては、FECパケットに対応した同様のノードブロックを設定してもよいし、後述する第2実施例で説明するように同一のノードブロック321で管理してもよい。   In the first embodiment, a node block 321 as shown in FIG. 6A is set in the node management unit 320 in the case of generating a FEC packet with 2 × 2 two-dimensional four elements. In this figure, 12 nodes from “n1” to “n12” are set, and the contents of each node are in an unreferenced initial state. Here, for the sake of simplicity, the description will be given focusing on the media packet. For the FEC packet, a similar node block corresponding to the FEC packet may be set, or may be managed by the same node block 321 as described in a second embodiment described later.

ノードは受信パケットバッファ312に格納されているパケットを参照するための情報、例えばアドレスを記録するポインタ的役割を担う。本実施例において、ノードはFEC演算の単位で1つのノード列を構成する。すなわち、2×2の2次元で4個のメディアパケットを用いてFEC演算を行なっているため、4つのノードで1つのノード列が構成される。この結果、ノードブロック321には「n1」〜「n4」、「n5」〜「n8」、「n9」〜「n12」の3つのノード列が形成されている。ノード列は、次段のメディアストリーム受信装置40への出力や、破棄等の処理を効率的に行う単位となる。   The node plays a role of pointer to record information for referring to the packet stored in the reception packet buffer 312, for example, an address. In this embodiment, a node constitutes one node sequence in units of FEC operations. In other words, since the FEC operation is performed using 2 media in 2 × 2 and four media packets, one node string is formed by four nodes. As a result, the node block 321 is formed with three node strings “n1” to “n4”, “n5” to “n8”, and “n9” to “n12”. The node sequence is a unit for efficiently performing processing such as output to the next stage media stream receiving device 40 and discarding.

ノード列は1または複数個集まってノード列群を構成する。ノード列群はノードブロック321に3つ構成するものとし、それぞれ、第1ノード列群、第2ノード列群、第3ノード列群と称する。各ノード列群は、1または複数のノード列により構成されるが、第1実施例では、1つのノード列で1つのノード列群を構成するようにする。このため、「n1」〜「n4」のノード列が第1ノード列群を構成し、「n5」〜「n8」のノード列が第2ノード列群を構成し、「n9」〜「n12」のノード列が第3ノード列群を構成することになる。   One or a plurality of node strings are collected to form a node string group. Three node sequence groups are configured in the node block 321 and are referred to as a first node sequence group, a second node sequence group, and a third node sequence group, respectively. Each node string group is composed of one or a plurality of node strings. In the first embodiment, one node string group is constituted by one node string. Therefore, the node strings “n1” to “n4” constitute the first node string group, the node strings “n5” to “n8” constitute the second node string group, and “n9” to “n12”. This node sequence forms the third node sequence group.

上述のように、本実施例においてノードは「n1」〜「n12」まで設定されているが、ノード「n1」は、次段のメディアストリーム受信装置40に未出力のメディアパケットの内、最もシーケンス番号の小さなメディアパケットを参照するためのノードであり、対応するメディアパケットが受信パケットバッファ312に格納されると、その格納位置を特定する情報が記録される。以降、同様にメディアパケットのシーケンス番号順に「n2」〜「n12」が対応する。すなわち、ノードの順に受信パケットバッファ312を参照すると、シーケンス順にメディアパケットを取得することができるとともに、パケットロスを検出することができる。   As described above, in this embodiment, the nodes are set from “n1” to “n12”, but the node “n1” is the most sequenced media packet that has not been output to the media stream receiver 40 at the next stage. This is a node for referring to a media packet having a small number. When the corresponding media packet is stored in the reception packet buffer 312, information for specifying the storage position is recorded. Thereafter, “n2” to “n12” correspond to the sequence numbers of the media packets in the same manner. That is, referring to the reception packet buffer 312 in the order of nodes, media packets can be acquired in the order of sequences and packet loss can be detected.

また、1または複数のノード列により第1ノード列群、第2ノード列群、第3ノード列群を構成しているが、第1ノード列群は出力待ちのノード列群、第2ノード列群は受信待ちのノード列群、第3ノード列群は予備的なノード列群としての性格を有している。   In addition, the first node column group, the second node column group, and the third node column group are configured by one or a plurality of node columns, and the first node column group is a node queue group that is waiting for output, and a second node column group. The group has a character as a node queue group waiting for reception, and the third node queue group as a preliminary node queue group.

第1ノード列群の先頭から第2ノード列群の末尾までに対応するメディアパケットは8個であるため、例えば、FEC送信側装置20におけるメディアパケットの送信間隔を8msとすると、8ms×8=64ms相当のメディアパケットに対応するノードが第1ノード列群と第2ノード列群に記録できることになる。したがって、本実施例で許容する遅延時間は最大64msという設計であり、この範囲内であれば、受信したメディアパケットを第1ノード列群と第2ノード列群のいずれかのノードと対応させることができる。なお、最大遅延時間の64msのうち、32ms(8ms×4)はFEC演算のために本来必要な遅延時間である。   Since there are eight media packets corresponding to the end of the second node sequence group from the beginning of the first node sequence group, for example, if the transmission interval of media packets in the FEC transmission side device 20 is 8 ms, 8 ms × 8 = A node corresponding to a media packet corresponding to 64 ms can be recorded in the first node sequence group and the second node sequence group. Therefore, the delay time allowed in this embodiment is designed to be a maximum of 64 ms, and within this range, the received media packet is made to correspond to one of the nodes of the first node sequence group and the second node sequence group. Can do. Of the maximum delay time of 64 ms, 32 ms (8 ms × 4) is a delay time originally required for the FEC calculation.

バッファの初期設定では、パケット受信部310において、受信パケットバッファ312の領域を確保する。上述のように受信パケットバッファ312はリングバッファ構造とする。確保するサイズは、後述するようにノードブロック321の構成と許容遅延量等に基づいて定めることができる。   In the initial setting of the buffer, the packet receiving unit 310 reserves an area for the received packet buffer 312. As described above, the reception packet buffer 312 has a ring buffer structure. The size to be secured can be determined based on the configuration of the node block 321, the allowable delay amount, and the like, as will be described later.

メディアパケットを受信すると、受信したメディアパケットを受信パケットバッファ312に格納する(S102)。そして、パケット受信部310は、パケット解析部330に受信通知を行ない、パケット解析部330が、受信したメディアパケットのヘッダに格納されているシーケンス番号を参照して対応ノードNの判定を行なう(S103)。上述のように、「n1」は、次段のメディアストリーム受信装置40に未出力のメディアパケットに対応するため、「n1」が参照すべきメディアパケットのシーケンス番号と、受信したメディアパケットのシーケンス番号とを参照することで、受信したメディアパケットに対応するノードNを判定することができる。ただし、メディアパケットの到着順によっては、対応するノードが「n1」〜「n12」の範囲外となる場合も起こり得る。   When the media packet is received, the received media packet is stored in the received packet buffer 312 (S102). Then, the packet receiving unit 310 notifies the packet analyzing unit 330 of reception, and the packet analyzing unit 330 determines the corresponding node N with reference to the sequence number stored in the header of the received media packet (S103). ). As described above, “n1” corresponds to a media packet that has not been output to the media stream receiver 40 in the next stage. Therefore, the sequence number of the media packet to be referred to by “n1” and the sequence number of the received media packet By referring to the above, it is possible to determine the node N corresponding to the received media packet. However, depending on the arrival order of the media packets, the corresponding node may be outside the range of “n1” to “n12”.

なお、RFC2733準拠では、各FECパケットに対応するメディアパケットのシーケンス番号はFECパケット記載の基底シーケンス番号と マスクから判明する。逆に、最初のFECパケットを受信するまで、メディアパケットとFECパケットの相関は不明であって、メディアパケットを格納すべきノードを特定できない。この際のノード判定処理については後述する。ここでは、既にFECパケットを受信して、当該の基底シーケンス番号が判明しているものとする。   In accordance with RFC 2733, the sequence number of the media packet corresponding to each FEC packet is determined from the base sequence number described in the FEC packet and the mask. Conversely, until the first FEC packet is received, the correlation between the media packet and the FEC packet is unknown, and the node where the media packet is to be stored cannot be specified. The node determination process at this time will be described later. Here, it is assumed that the FEC packet has already been received and the base sequence number has been determined.

受信したメディアパケットに対応するノードNを判定すると、Nに応じた処理を行なう(S104)。まず、判定されたノードNが「n1」≦N≦「n6」の場合、すなわち、第1ノード列群および第2ノード列群の3番目の「n7」より前のノードの場合は、受信したメディアパケットの受信パケットバッファ312における格納位置をノードNに記録する(S105)。これにより、ノードNを参照することで受信したメディアパケットを間接参照することができるようになる。   When the node N corresponding to the received media packet is determined, processing corresponding to N is performed (S104). First, when the determined node N is “n1” ≦ N ≦ “n6”, that is, the node before the third “n7” in the first node sequence group and the second node sequence group, the received node N The storage position of the media packet in the reception packet buffer 312 is recorded in the node N (S105). As a result, the received media packet can be indirectly referenced by referring to the node N.

例えば、「M1」「M2」「F1」「M3」「F2」「F3」「F4」「F5」「M6」「M5」の順でパケットを受信した場合には、メディアパケットの受信パケットバッファ312とノード列とは、図6(b)に示すような状態となる。ここで、受信パケットバッファ312のアドレス「b1」からパケットが受信順に「b2」「b3」…に格納されているものとする。本図に示すように、「n1」には最もシーケンス番号の小さい「M1」を格納した「b1」が記録され、「n2」には「M2」を格納した「b2」が記録される。パケット「M4」は未受信であるため対応する「n4」は未参照の状態である。また、「M5」と「M6」とは順序が逆転して受信され、「M6」「M5」の順で受信パケットバッファ312に格納されているが、「n5」「n6」の順で参照することで、シーケンス順に管理することができる。   For example, when packets are received in the order of “M 1” “M 2” “F 1” “M 3” “F 2” “F 3” “F 4” “F 5” “M 6” “M 5”, the media packet received packet buffer 312 is received. And the node string are in a state as shown in FIG. Here, it is assumed that packets from the address “b1” of the reception packet buffer 312 are stored in “b2”, “b3”. As shown in this figure, “b1” storing “M1” having the smallest sequence number is recorded in “n1”, and “b2” storing “M2” is recorded in “n2”. Since the packet “M4” has not been received, the corresponding “n4” is in an unreferenced state. “M5” and “M6” are received in reverse order and are stored in the reception packet buffer 312 in the order of “M6” and “M5”, but are referred to in the order of “n5” and “n6”. Thus, it is possible to manage in sequence order.

判定されたノードNがN=「n7」あるいは「n8」、すなわち、第2ノード列群の3番目の「n7」以降のノードの場合は、まず、受信したメディアパケットの受信パケットバッファ312における格納位置をノードNに記録する(S106)。   If the determined node N is N = “n7” or “n8”, that is, the node after the third “n7” in the second node sequence group, first, the received media packet is stored in the received packet buffer 312. The position is recorded in the node N (S106).

そして、この第2ノード列群の3番目の「n7」以降のノードに対応するメディアパケットの受信をトリガとして、第1ノード列群の次段への、すなわち、メディアストリーム受信装置40への出力を行なう(S107)。この際に、第1ノード列群に対応するメディアパケットにロスがあった場合には、別途同様に格納しているFECパケットを用いてロスしたメディアパケットを復元した上で出力する。   Then, triggered by the reception of the media packet corresponding to the third and subsequent nodes of the second node sequence group, the output to the next stage of the first node sequence group, that is, to the media stream receiving device 40 (S107). At this time, if there is a loss in the media packet corresponding to the first node sequence group, the lost media packet is restored using the FEC packet stored in the same manner and output.

例えば、図6(c)に示すように、「n7」に対応するメディアパケット「M7」を受信すると、第1ノード列群の「n1」〜「n4」で参照されるメディアパケットをノードが示す順序で出力する。本図では、「n4」に対応すべき「M4」がロスしているため、「M4」を復元した上で、「M1」〜「M4」を次段のメディアストリーム受信装置40に出力する。   For example, as shown in FIG. 6C, when the media packet “M7” corresponding to “n7” is received, the node indicates the media packets referred to by “n1” to “n4” in the first node sequence group. Output in order. In this figure, since “M4” that should correspond to “n4” is lost, “M4” is restored and “M1” to “M4” are output to the media stream receiving device 40 in the next stage.

このように、本実施例では、所定のノード、具体的には第2ノード列群の3番目以降のノードに対応したパケットの受信を、第1ノード列群のメディアパケット出力のトリガとしている。このため、従来必須であった送信時刻、受信時刻、経過時間等のパケット毎の管理が不要となり、受信パケットの周期的な監視やタイマ起動処理を行なう必要がなくなる。したがって、受信側装置のパケット管理に関する処理負荷を軽減するとともに、低遅延を実現することができる。   As described above, in this embodiment, reception of a packet corresponding to a predetermined node, specifically, the third and subsequent nodes of the second node sequence group is used as a trigger for outputting the media packet of the first node sequence group. For this reason, management for each packet such as transmission time, reception time, and elapsed time, which has been essential in the past, becomes unnecessary, and it is not necessary to perform periodic monitoring of received packets and timer start processing. Therefore, it is possible to reduce the processing load related to the packet management of the receiving side device and to realize a low delay.

なお、本実施例では第2ノード列群の「n7」以降のノードに対応するメディアパケットの受信をトリガとしているが、これは設定の一例である。遅延量を最も少なくするメディアパケット出力のトリガは、第1ノード列群の最後のノードである「n4」に対応したメディアパケットを受信したときであるが、「n4」に対応したメディアパケットがロスする場合も起こり得る。「M1」〜「M4」のメディアパケットで「F1」〜「F5」のFECパケットを生成しているので第1ノード列群に対し最大の復元能力を発揮するためにはFECパケットの「F5」まで必要である。これに加え、パケットの伝送遅延揺らぎや順序逆転に対するエラー耐性を担保するためにはメディアパケット出力のタイミングは遅い方がよい。一方、メディアパケット出力のタイミングを遅くすると遅延量が大きくなる。   In the present embodiment, reception of media packets corresponding to nodes after “n7” in the second node sequence group is used as a trigger, but this is an example of setting. The media packet output trigger that minimizes the delay amount is when a media packet corresponding to “n4”, which is the last node in the first node sequence group, is received, but the media packet corresponding to “n4” is lost. It can happen if you do. Since the FEC packets “F1” to “F5” are generated from the media packets “M1” to “M4”, the “F5” of the FEC packet is used to exhibit the maximum restoration capability for the first node group. Is necessary. In addition to this, the media packet output timing should be late in order to ensure error tolerance against packet transmission delay fluctuation and order reversal. On the other hand, delaying the media packet output timing increases the amount of delay.

出力のトリガをk番目のノードに対応したメディアパケットの受信とすると、k番目のメディアパケットは先頭のメディアパケット「M1」に対して符号化時刻で既に(k−1)×8msの遅延があり、さらにFEC受信側装置30での種々の処理によりその他の遅延が加わっている。したがって、メディアストリーム受信装置40で許容できる遅延と、エラー耐性との兼ね合いでトリガとなるノードを設定するようにする。   If the output trigger is reception of a media packet corresponding to the k-th node, the k-th media packet already has a delay of (k−1) × 8 ms at the encoding time with respect to the top media packet “M1”. In addition, other delays are added by various processes in the FEC receiving side device 30. Therefore, the trigger node is set in consideration of the delay allowable in the media stream receiving apparatus 40 and the error tolerance.

第1ノード列群のノードに対応するメディアパケットを出力すると、ノード列群の更新を行なう(S108)。ノード列群の更新は、出力して不要となった第1ノード列群のノードを無参照状態として無効にする。これにより、受信パケットバッファ312の第1ノード列群のノードにより参照されていた領域が解放される。そして、第2ノード列群のノード列を第1ノード列群に、第3ノード列群のノード列を第2ノード列群に、無参照状態の第1ノード列群のノード列を第3ノード列群にそれぞれシフトする。   When the media packet corresponding to the node of the first node sequence group is output, the node sequence group is updated (S108). In updating the node sequence group, the nodes of the first node sequence group that are output and become unnecessary are invalidated as a no-reference state. As a result, the area referred to by the nodes in the first node sequence group of the received packet buffer 312 is released. The node sequence of the second node sequence group is the first node sequence group, the node sequence of the third node sequence group is the second node sequence group, and the node sequence of the unreferenced first node sequence group is the third node. Shift to each column group.

すなわち、図6(c)の状態から図7(a)に示す状態に更新する。本図の例では、第2ノード列群の「n5」「n6」「n7」に記録されていた「b10」「b9」「b11」がそれぞれ第1ノード列群の「n1」「n2」「n3」にシフトしている。また、第1ノード列群に参照されていた「b1」「b2」「b4」が解放される。図示しないが、FECパケットについても同様の処理を行なうため、「b3」「b5」「b6」「b7」「b8」も解放されることになる。以降は、更新されたノード列群に対して同様の処理を、受信を継続する間(S120)繰り返す。   That is, the state shown in FIG. 6C is updated to the state shown in FIG. In the example of this figure, “b10”, “b9”, and “b11” recorded in “n5”, “n6”, and “n7” of the second node column group are respectively “n1”, “n2”, and “n2” of the first node column group. n3 ". In addition, “b1”, “b2”, and “b4” that are referenced in the first node sequence group are released. Although not shown, since the same processing is performed for the FEC packet, “b3”, “b5”, “b6”, “b7”, and “b8” are also released. Thereafter, the same processing is repeated for the updated node string group while the reception is continued (S120).

なお、実装上は、ノード列群の更新について図7(b)に示すように、第1ノード列群、第2ノード列群、第3ノード列群を指し示すポインタ変数群322を用意しておき、ポインタ変数の値を交換すれば足りる。このように、本実施例では、ノード列群が参照する受信パケットバッファ312は、ノード列群の更新処理により、古いパケットが参照されなくなる。したがって、バッファの解放プロセスは不要となるとともに処理(S101)の際に設定する受信パケットバッファ312のサイズは、必要最小限のサイズとすることができる。   For implementation, as shown in FIG. 7B, a pointer variable group 322 indicating the first node sequence group, the second node sequence group, and the third node sequence group is prepared for updating the node sequence group. It is sufficient to exchange the values of the pointer variables. As described above, in this embodiment, the received packet buffer 312 referred to by the node string group is not referred to by the old packet due to the update process of the node string group. Therefore, the buffer release process is not required, and the size of the reception packet buffer 312 set in the process (S101) can be set to the minimum necessary size.

判定されたノードNが、N<n1の場合、すなわち、受信したメディアパケットが「n1」に対応したメディアパケットよりも古い場合には、ノードへの記録を行なうことなく破棄する(S109)。このようなパケットはパケットロスとして既に処理済となっている。   If the determined node N is N <n1, that is, if the received media packet is older than the media packet corresponding to “n1”, the node N is discarded without being recorded (S109). Such a packet has already been processed as a packet loss.

判定されたノードNが「n9」以降の場合は、第1ノード列群、第2ノード列群では記録することができない。このような状況は、本実施例で許容する64msの遅延時間以上の遅延が生じた場合に起こる。許容遅延時間内の受信であれば、第2ノード列群のノードに対応するメディアパケットを受信している間に第1ノード列群のノードに対応するメディアパケットを出力し、ノード列群の更新が行なわれるため、第3ノード列群のノードに対応するメディアパケットは受信しないようになっている。   When the determined node N is “n9” or later, it cannot be recorded in the first node sequence group and the second node sequence group. Such a situation occurs when a delay exceeding the delay time of 64 ms allowed in this embodiment occurs. If the reception is within the allowable delay time, the media packet corresponding to the node of the first node sequence group is output while the media packet corresponding to the node of the second node sequence group is being received, and the node sequence group is updated. Therefore, the media packet corresponding to the node of the third node sequence group is not received.

本実施例では、許容遅延時間以上の遅延に備えるために、予備の第3ノード列群を設けている。第3ノード列群は、便宜的に第2ノード列群に連続する「n9」〜「n12」を割り当てているが、パケットの受信間隔が空いて、第2ノード列群に連続しないノード、具体的には「n13」以降のノードに対応するメディアパケットが受信される場合にも安全に対応できる。以下では、許容遅延時間以上の遅延が生じた場合、すなわち、判定されたノードNが「n9」以降の場合の処理について説明する。   In this embodiment, a spare third node sequence group is provided in order to prepare for a delay greater than the allowable delay time. For the sake of convenience, the third node sequence group assigns “n9” to “n12” continuous to the second node sequence group, but has a packet reception interval and is not a continuous node to the second node sequence group. Specifically, even when a media packet corresponding to a node after “n13” is received, it can be handled safely. In the following, a description will be given of processing when a delay equal to or greater than the allowable delay time occurs, that is, when the determined node N is “n9” or later.

判定されたノードNがN=「n9」あるいは「n10」、すなわち、第3ノード列群の3番目の「n11」より前のノードの場合は、まず、受信したメディアパケットの受信パケットバッファ312における格納位置をノードNに記録する(S110)。第3ノード列群のノードに記録することは、第1ノード列群に対応するメディアパケットを次段のメディアストリーム受信装置40に出力すべき時刻が経過してしまっていることを意味するため、第1ノード列群のノードが参照するメディアパケットを出力することなく、第1ノード列群のノードの記録内容を破棄する(S111)。   If the determined node N is N = “n9” or “n10”, that is, a node before the third “n11” in the third node sequence group, first, in the received packet buffer 312 of the received media packet. The storage position is recorded in the node N (S110). Recording in the node of the third node sequence group means that the time to output the media packet corresponding to the first node sequence group to the media stream receiving device 40 in the next stage has passed. The recording contents of the nodes of the first node sequence group are discarded without outputting the media packet referred to by the nodes of the first node sequence group (S111).

例えば、図8(a)に示すように、「M5」の後に、「n7」に対応するメディアパケット「M10」を受信すると、「M1」〜「M4」を出力することなく、第1ノード列群の「n1」〜「n4」の内容を破棄して無参照状態とする。   For example, as illustrated in FIG. 8A, when a media packet “M10” corresponding to “n7” is received after “M5”, the first node sequence is output without outputting “M1” to “M4”. The contents of “n1” to “n4” of the group are discarded and set to a no-reference state.

そして、第2ノード列群のノード列を第1ノード列群に、第3ノード列群のノード列を第2ノード列群に、無参照状態の第1ノード列群のノード列を第3ノード列群にそれぞれシフトするノード列群の更新を行なう(S112)。このようなノード列群の更新を行なって、以降に受信するパケットに対する処理を繰り返す(S120)ことで、処理(S110)で記録した第3ノード列群のノードを第1ノード列群や第2ノード列群のノードと等価に、かつ連続的に使用することができるようになる。このために、第3ノード列群を設けて、かつ第1ノード列群および第2ノード列群と同じサイズに設定している。またこの手段は、第3ノード群列を設けずに、一時的記憶領域(ノード)にパケット解析内容を保持して、ノード列群の更新後に空いた然るべきノードに記録する場合と比べると、ノード記録過程(タイミング)及びノード参照過程(タイミング)が統一されて、競合が排除されかつ設計コンセプトが簡潔明瞭になって、システムの安全性・信頼性を確保できる。図8(b)は、ノード列群を更新した後の受信パケットバッファ312とノードブロック321の状態を示している。   The node sequence of the second node sequence group is the first node sequence group, the node sequence of the third node sequence group is the second node sequence group, and the node sequence of the unreferenced first node sequence group is the third node. The node column group shifted to each column group is updated (S112). By updating the node sequence group in this manner and repeating the processing for the packet received thereafter (S120), the nodes of the third node sequence group recorded in the processing (S110) are changed to the first node sequence group and the second node sequence group. It becomes possible to use the node sequence group equivalently and continuously. For this purpose, a third node column group is provided and set to the same size as the first node column group and the second node column group. In addition, this means does not provide the third node group sequence, and stores the packet analysis contents in the temporary storage area (node) and records it in an appropriate node that is vacant after updating the node sequence group. The recording process (timing) and the node reference process (timing) are unified, the competition is eliminated, the design concept is concise and clear, and the safety and reliability of the system can be ensured. FIG. 8B shows the state of the reception packet buffer 312 and the node block 321 after updating the node string group.

判定されたノードNがN=「n11」あるいは「n12」、すなわち、第3ノード列群の3番目の「n11」以降のノードの場合は、まず、受信したメディアパケットの受信パケットバッファ312における格納位置をノードNに記録する(S113)。第3ノード列群のノードに記録することは、第1ノード列群に対応するメディアパケットを次段のメディアストリーム受信装置40に出力すべき時刻が経過してしまっていることを意味するため、第1ノード列群のノードが参照するメディアパケットを出力することなく、第1ノード列群のノードの記録内容を破棄する(S114)。   When the determined node N is N = “n11” or “n12”, that is, the node after the third “n11” in the third node sequence group, first, the received media packet is stored in the received packet buffer 312. The position is recorded in the node N (S113). Recording in the node of the third node sequence group means that the time to output the media packet corresponding to the first node sequence group to the media stream receiving device 40 in the next stage has passed. The recording contents of the nodes of the first node sequence group are discarded without outputting the media packet referred to by the nodes of the first node sequence group (S114).

しかしながら、第2ノード列群のノードが参照するメディアパケットは許容遅延時間内で有効であるため、次段のメディアストリーム受信装置40に出力する(S115)。この際に、第2ノード列群に対応するメディアパケットにロスがあった場合には、別途同様に格納しているFECパケットを用いてロスしたメディアパケットを復元した上で出力する。   However, since the media packet referred to by the node of the second node sequence group is valid within the allowable delay time, it is output to the media stream receiving device 40 at the next stage (S115). At this time, if there is a loss in the media packet corresponding to the second node sequence group, the lost media packet is restored using the FEC packet stored in the same manner and output.

例えば、図9(a)に示すように、「M5」の後に、「n11」に対応するメディアパケット「M11」を受信すると、「M1」〜「M4」を出力することなく、第1ノード列群の「n1」〜「n4」の内容を破棄する。また、第2ノード列群の「n5」〜「n8」で参照されるメディアパケットをノードが示す順序で出力する。本図では、「n7」「n8」に対応すべき「M7」「M8」がロスしているため、「M7」「M8」を復元した上で、「M5」〜「M8」を次段のメディアストリーム受信装置40に出力する。   For example, as shown in FIG. 9A, when the media packet “M11” corresponding to “n11” is received after “M5”, the first node sequence is output without outputting “M1” to “M4”. Discard the contents of “n1” to “n4” of the group. In addition, media packets referred to by “n5” to “n8” of the second node sequence group are output in the order indicated by the nodes. In this figure, since “M7” and “M8” that should correspond to “n7” and “n8” have been lost, after restoring “M7” and “M8”, “M5” to “M8” The data is output to the media stream receiving device 40.

そして、出力して不要となった第2ノード列群のノードを無参照状態とし、第3ノード列群のノード列を第1ノード列群に、無参照状態の第2ノード列群のノード列を第3ノード列群に、無参照状態の第1ノード列群のノード列を第2ノード列群にそれぞれシフトするノード列群の更新を行なう(S116)。ただし、第2ノード列群のノード列を第1ノード列群に、第3ノード列群のノード列を第2ノード列群に、第1ノード列群のノード列を第3ノード列群にそれぞれシフトするノード列群の更新を2回繰り返すようにしてもよい。このようなノード列群の更新を行なって、以降に受信するパケットに対する処理を繰り返す(S120)ことで、処理(S113)で記録した第3ノード列群のノードを連続的に使用することができるようになる。図9(b)は、ノード列群を更新した後の受信パケットバッファ312とノードブロック321の状態を示している。本図に示すように第3ノード列群の内容が第1ノード列群にシフトしている。   Then, the node of the second node sequence group that has become unnecessary after output is set to the no-reference state, the node sequence of the third node sequence group is set to the first node sequence group, and the node sequence of the second node sequence group of the non-reference state is set Is updated to the third node sequence group, and the node sequence group that shifts the node sequence of the first node sequence group in the unreferenced state to the second node sequence group is updated (S116). However, the node column of the second node column group is the first node column group, the node column of the third node column group is the second node column group, and the node column of the first node column group is the third node column group, respectively. The updating of the node string group to be shifted may be repeated twice. By updating the node sequence group in this manner and repeating the processing for the subsequently received packets (S120), the nodes in the third node sequence group recorded in the processing (S113) can be used continuously. It becomes like this. FIG. 9B shows the state of the received packet buffer 312 and the node block 321 after updating the node string group. As shown in the figure, the contents of the third node sequence group are shifted to the first node sequence group.

判定されたノードNがN≧「n13」の場合、すなわち、第2ノード列群に連続しないノード列のノードの場合は、受信したメディアパケットの受信パケットバッファ312における格納位置を、Nx=n9+(N−n9)%4(%は剰余、4は本実施例2×2の2次元FECでの要素数)として、第3ノード列群のノードNxに記録する(S117)。つまり、受信したメディアパケットが、FEC演算における最初のメディアパケットである場合には「n9」に記録し、2番目のメディアパケットである場合には「n10」に記録し、3番目のメディアパケットである場合には「n11」に記録し、4番目のメディアパケットである場合には「n12」に記録する。   When the determined node N is N ≧ “n13”, that is, a node in a node sequence that is not continuous with the second node sequence group, the storage position of the received media packet in the reception packet buffer 312 is represented by Nx = n9 + ( N−n9)% 4 (% is a remainder, 4 is the number of elements in the 2D FEC of the 2 × 2 embodiment) is recorded in the node Nx of the third node sequence group (S117). That is, if the received media packet is the first media packet in the FEC operation, it is recorded in “n9”, and if it is the second media packet, it is recorded in “n10”. If it is, it is recorded in “n11”, and if it is the fourth media packet, it is recorded in “n12”.

判定されたノードNがN≧「n13」であることは、第1ノード列群に対応するメディアパケットおよび第2ノード列群に対応するメディアパケットを次段のメディアストリーム受信装置40に出力すべき時刻が経過してしまっていることを意味するため、第1ノード列群および第2ノード列群のノードが参照するメディアパケットを出力することなく、第1ノード列群および第2ノード列群のノードの記録内容を破棄する(S118)。   If the determined node N is N ≧ “n13”, the media packet corresponding to the first node sequence group and the media packet corresponding to the second node sequence group should be output to the media stream receiving device 40 in the next stage. This means that the time has elapsed, so that the media node referred to by the nodes of the first node sequence group and the second node sequence group is not output, and the first node sequence group and the second node sequence group The recorded contents of the node are discarded (S118).

例えば、図10(a)に示すように、「M5」の後に、「n14」に対応するメディアパケット「M14」を受信すると、「M14」は、「M13」〜「M16」で行なわれるFEC演算における2番目のメディアパケットであるから、「n10」に「M14」を格納した「b15」が記録される。また、「M1」〜「M4」、「M5」〜「M8」を出力することなく、第1ノード列群の「n1」〜「n4」および第2ノード列群の「n5」〜「n8」の内容を破棄する。   For example, as shown in FIG. 10A, when a media packet “M14” corresponding to “n14” is received after “M5”, “M14” is converted into an FEC operation performed in “M13” to “M16”. “B15” in which “M14” is stored in “n10” is recorded. Further, “n1” to “n4” of the first node sequence group and “n5” to “n8” of the second node sequence group without outputting “M1” to “M4” and “M5” to “M8”. Discard the contents of.

そして、第3ノード列群のノード列を第1ノード列群に、第2ノード列群のノード列を第3ノード列群に、第1ノード列群のノード列を第2ノード列群にそれぞれシフトするノード列群の更新を行なう(S119)。ただし、第2ノード列群のノード列を第1ノード列群に、第3ノード列群のノード列を第2ノード列群に、第1ノード列群のノード列を第3ノード列群にそれぞれシフトするノード列群の更新を2回繰り返すようにしてもよい。このようなノード列群の更新を行なって、以降に受信するパケットに対する処理を繰り返す(S120)ことで、処理(S117)で記録した第3ノード列群のノードを連続的に使用することができるようになる。図10(b)は、ノード列群を更新した後の受信パケットバッファ312とノードブロック321の状態を示している。   The node sequence of the third node sequence group is the first node sequence group, the node sequence of the second node sequence group is the third node sequence group, and the node sequence of the first node sequence group is the second node sequence group. The node string group to be shifted is updated (S119). However, the node column of the second node column group is the first node column group, the node column of the third node column group is the second node column group, and the node column of the first node column group is the third node column group, respectively. The updating of the node string group to be shifted may be repeated twice. By updating the node sequence group in this manner and repeating the processing for the subsequent received packets (S120), the nodes of the third node sequence group recorded in the processing (S117) can be used continuously. It becomes like this. FIG. 10B shows the state of the reception packet buffer 312 and the node block 321 after updating the node string group.

以上説明したように、第1実施例では、ノード列の大きさをFEC演算の単位と等しくすることで、メディアパケットの出力のタイミングと受信パケットバッファ312の更新のタイミングとが関連付けられることになる。このため、より信頼性の高い管理機構を有するFEC受信側装置30を実現することができる。   As described above, in the first embodiment, the size of the node string is made equal to the unit of the FEC operation, so that the output timing of the media packet and the update timing of the reception packet buffer 312 are associated with each other. . For this reason, the FEC receiving side apparatus 30 which has a more reliable management mechanism is realizable.

次に、本発明の第2実施例について説明する。第1実施例では、簡単のためノードブロック321において、1つのノード列により1つのノード列群を構成していた。第2実施例では、より一般化して、1または複数のノード列により1つのノード列群を構成する場合について説明する。   Next, a second embodiment of the present invention will be described. In the first embodiment, for simplification, in the node block 321, one node string group is constituted by one node string. In the second embodiment, the case where one node sequence group is configured by one or a plurality of node sequences will be described more generally.

図11は、第1ノード列群を4個のノード列で構成し、第2ノード列群をN−4個のノード列で構成し、第3ノード列群を2個のノード列で構成したノードブロック321aを示している。本例でも各ノード列を構成するノード数はFEC演算の単位と等しくする。   In FIG. 11, the first node sequence group is composed of four node sequences, the second node sequence group is composed of N-4 node sequences, and the third node sequence group is composed of two node sequences. A node block 321a is shown. Also in this example, the number of nodes constituting each node row is made equal to the unit of FEC calculation.

ここで、ノード列を出力した後のノード列群のシフト等を考慮して、第1ノード列群のノード列の個数と、第2ノード列群のノード列の個数とは、第3ノード列群のノード列の個数の整数倍とする。すなわち、本例では、第3ノード列群のノード列の個数が、一時に出力するノード列の個数と一致するように制御する。本図の場合では、第3ノード列群のノード列数は2個であるから、所定の条件を満たしたとき「ノード列1」と「ノード列2」とが同時に出力されることになる。   Here, considering the shift of the node sequence group after the node sequence is output, the number of node sequences in the first node sequence group and the number of node sequences in the second node sequence group are the third node sequence. It is an integer multiple of the number of group node sequences. That is, in this example, control is performed so that the number of node strings in the third node string group matches the number of node strings output at a time. In the case of this figure, since the number of node columns of the third node column group is two, “node column 1” and “node column 2” are simultaneously output when a predetermined condition is satisfied.

図12は、図11に示したようなノードブロック321aを用いたときのメディアパケット出力処理を説明するフローチャートである。基本的な処理は第1実施例と同様であるため、ここでは特徴的な処理を示す。本例では、メディアパケットの出力のトリガとして所定のノードG、例えば、第2ノード列群の最後のノード列Nの3番目以降のノードに対応するメディアパケットを受信した場合とする。   FIG. 12 is a flowchart for explaining media packet output processing when the node block 321a as shown in FIG. 11 is used. Since the basic processing is the same as in the first embodiment, characteristic processing is shown here. In this example, it is assumed that a media packet corresponding to a predetermined node G, for example, the third and subsequent nodes in the last node sequence N of the second node sequence group is received as a trigger for outputting the media packet.

第1実施例と同様に、メディアパケットを受信すると(S201)、受信パケットバッファ312に格納し、ヘッダのシーケンス番号を解析して対応するノードに格納位置を記録する(S202)。対応するノードが第2ノード列群のノードG以降でない場合(S203:No)には、メディアパケットは出力せずに次のパケットに対応する。   Similar to the first embodiment, when a media packet is received (S201), it is stored in the received packet buffer 312, and the sequence number of the header is analyzed and the storage position is recorded in the corresponding node (S202). If the corresponding node is not after the node G in the second node sequence group (S203: No), the media packet is not output and the next packet is supported.

一方、対応するノードが第2ノード列群のノードG以降であった場合には、第1ノード列群の先頭から第3ノード列群のノード数分のノード列に対応するメディアパケットを、次段のメディアストリーム受信装置40に出力する(S204)。この際に、パケットロスがある場合には復元した上で出力する。本例では「ノード列1」と「ノード列2」とが一時に出力されることになる。   On the other hand, if the corresponding node is after node G of the second node sequence group, the media packet corresponding to the number of nodes in the third node sequence group from the top of the first node sequence group To the next stage media stream receiver 40 (S204). At this time, if there is a packet loss, it is restored and output. In this example, “node string 1” and “node string 2” are output at a time.

そして、出力したノード列の個数に応じたノード列の前方シフトを行なう。本例では、図13に示すように、「ノード列1」と「ノード列2」とが出力された結果、ノード列2個分の前方シフトが行なわれる。すなわち、第1ノード列群に含まれていた「ノード列3」と「ノード列4」とが第1ノード列群の先頭部分にシフトし、第2ノード列群に含まれていた「ノード列5」と「ノード列群6」とが第1ノード列群の後半にシフトする。第2ノード列群、第3ノード列群においても同様のシフトが行なわれ、第2ノード列群は「ノード列7」〜「ノード列N+2」で構成され、第3ノード列群は「ノード列N+3」と「ノード列N+4」で構成されることになる。なお、許容遅延時間内にパケットが受信できなかった場合の処理は、第1実施例と同様に第3ノード列群を利用した処理を行なう。   Then, the node sequence is shifted forward according to the number of output node sequences. In this example, as shown in FIG. 13, as a result of outputting “node string 1” and “node string 2”, a forward shift of two node strings is performed. That is, “node string 3” and “node string 4” included in the first node string group are shifted to the head part of the first node string group, and the “node string” included in the second node string group 5 ”and“ node string group 6 ”are shifted to the second half of the first node string group. The same shift is performed in the second node column group and the third node column group, the second node column group is composed of “node column 7” to “node column N + 2”, and the third node column group is “node column” N + 3 ”and“ node string N + 4 ”. Note that, when the packet cannot be received within the allowable delay time, the process using the third node sequence group is performed as in the first embodiment.

第2実施例では、一般に許容遅延量は第1実施例よりも大きくなることが想定される。実際の許容遅延量はノード列群の具体的な構成や、出力トリガを発生させるノード位置の設定によって設計することができる。したがって第2実施例は第1実施例よりも実用上の設計自由度が高まることになる。より具体的には、第2ノード列群を構成するノード列数を増やすことで、パケットの伝送遅延揺らぎや順序逆転に対するエラー耐性を許容遅延量ぎりぎりまで近づけることができる。このように第2ノード列群を構成するノード列数は、メディアストリーム受信装置40の遅延に関する設計指針によって決定すべき事項である。また、第1ノード列群のノード個数については、上記の例に限られず、設計方針に応じて、出力の際の処理単位としたり、FEC演算の単位としたり、ノード列シフトの単位としたり、その他の処理単位としたりすることができる。さらにいえば、第1ノード列群、第2ノード列群、第3ノード列群の区別は便宜的なものであり、例えば、第2ノード列群の後半のノード列に第3ノード列群の役割を担わせたり、第2ノード列群の前半に第1ノード列群の役割を担わせたりすることで、列群を明確に区別しないようにしてもよい。   In the second embodiment, it is generally assumed that the allowable delay amount is larger than that in the first embodiment. The actual allowable delay amount can be designed according to the specific configuration of the node string group and the setting of the node position that generates the output trigger. Therefore, the second embodiment has a higher degree of practical design freedom than the first embodiment. More specifically, by increasing the number of node strings constituting the second node string group, it is possible to bring the error tolerance against packet transmission delay fluctuation and order inversion to the limit of the allowable delay amount. Thus, the number of node sequences constituting the second node sequence group is a matter to be determined by the design guideline regarding the delay of the media stream receiving device 40. Further, the number of nodes of the first node sequence group is not limited to the above example, and depending on the design policy, it may be a processing unit at the time of output, a unit of FEC calculation, a unit of node sequence shift, Other processing units can be used. Further, the distinction between the first node sequence group, the second node sequence group, and the third node sequence group is convenient, for example, the third node sequence group is added to the second node sequence of the second node sequence group. By assigning a role or by assigning the role of the first node row group to the first half of the second node row group, the row groups may not be clearly distinguished.

次に、第2実施例の別例として、1つの列群に異なる種類のノード列が含まれる場合について説明する。異なる種類のノード列は、例えば、メディアパケットノード列とFECパケットノード列とすることができ、本例では、FEC演算の単位にしたがって、メディアパケットノード列は4個のノードから構成され、FECパケットノード列は5個のノード列から構成されるものとする。また、同じノード列群に含まれるメディアパケットノード列が参照するメディアパケットとFECパケットノード列が参照するFECパケットとは、互いにFEC演算の関連性を備えているものとする。   Next, as another example of the second embodiment, a case where different types of node columns are included in one column group will be described. The different types of node sequences can be, for example, a media packet node sequence and an FEC packet node sequence. In this example, according to the unit of FEC operation, the media packet node sequence is composed of four nodes. The node sequence is assumed to be composed of 5 node sequences. In addition, it is assumed that the media packet referred to by the media packet node sequence included in the same node sequence group and the FEC packet referred to by the FEC packet node sequence have a relationship of FEC calculation.

例えば、図14に示すノードブロック321bの第1ノード列群に含まれるメディアパケットノード列「n1」「n2」「n3」「n4」が参照する4個のメディアパケットから第1ノード列群に含まれるFECパケットノード列「f1」「f2」「f3」「f4」「f5」が参照する5個のFECパケットが生成されていることになる。   For example, the media packet node sequences “n1,” “n2,” “n3,” and “n4” included in the first node sequence group of the node block 321b shown in FIG. That is, five FEC packets referred to by the FEC packet node sequence “f1”, “f2”, “f3”, “f4”, and “f5” are generated.

本例では、第1ノード列群に対応するメディアパケットの出力トリガは、第2ノード列群のメディアパケットノード「n7」以降に対応するメディアパケットが受信された場合、あるいは、第2ノード列群のFECパケットノード「f7」以降に対応するFECパケットが受信された場合とする。ただし、出力トリガは本例に限られない。例えば、判断基準を他のノード位置としたり、メディアパケットノードの所定位置以降のノードおよびFECメディアパケットノードの所定位置以降のノードの双方を受信した場合としたりするようにしてもよい。   In this example, the output trigger of the media packet corresponding to the first node sequence group is when the media packet corresponding to the media packet node “n7” or later of the second node sequence group is received, or the second node sequence group Suppose that the FEC packet corresponding to the FEC packet node “f7” onward is received. However, the output trigger is not limited to this example. For example, the determination criterion may be another node position or a case where both a node after a predetermined position of the media packet node and a node after a predetermined position of the FEC media packet node are received.

図15は、図14に示したようなノードブロック321bを用いたときのメディアパケット出力処理を説明するフローチャートである。基本的な処理は第1実施例と同様であるため、ここでは特徴的な処理を示す。   FIG. 15 is a flowchart for explaining media packet output processing when the node block 321b as shown in FIG. 14 is used. Since the basic processing is the same as in the first embodiment, characteristic processing is shown here.

第1実施例と同様に、パケットを受信すると(S301)、受信パケットバッファ312に格納し、ヘッダのシーケンス番号を解析して対応するノードに格納位置を記録する(S302)。この際に、受信したパケットがメディアパケットであれば、メディアパケットノードの対応するノードに格納位置を記録し、受信したパケットがFECパケットであれば、FECパケットノードの対応するノードに格納位置を記録する。   As in the first embodiment, when a packet is received (S301), the packet is stored in the received packet buffer 312, and the sequence number of the header is analyzed and the storage position is recorded in the corresponding node (S302). At this time, if the received packet is a media packet, the storage location is recorded in the corresponding node of the media packet node. If the received packet is an FEC packet, the storage location is recorded in the corresponding node of the FEC packet node. To do.

記録したノードが第2ノード列群のメディアパケットノード「n7」以降である場合、あるいは、FECパケットノード「f7」以降である場合(S303:Yes)は、第1ノード列群のメディアパケットノード列に対応するメディアパケットをシーケンス番号順に次段のメディアストリーム受信装置40に出力する(S304)。この際に、パケットロスがある場合にはFECパケットを用いて復元した上で出力する。   When the recorded node is after the media packet node “n7” of the second node sequence group, or when it is after the FEC packet node “f7” (S303: Yes), the media packet node sequence of the first node sequence group Are output to the next-stage media stream receiving apparatus 40 in the order of sequence numbers (S304). At this time, if there is a packet loss, it is restored using the FEC packet and output.

そして、第1実施例と同様のノード列群の更新を行なう(S305)。具体的には、第1ノード列群を第3ノード列群とし、第2ノード列群を第1ノード列群とし、第3ノード列群を第2ノード列群とする。なお、許容遅延時間内にパケットが受信できなかった場合の処理は、実施例1と同様に第3ノード列群を利用した処理を行なう。   Then, the same node string group as in the first embodiment is updated (S305). Specifically, the first node column group is a third node column group, the second node column group is a first node column group, and the third node column group is a second node column group. Note that, when the packet cannot be received within the allowable delay time, the process using the third node sequence group is performed as in the first embodiment.

一方、記録したノードが第2ノード列群のメディアパケットノード「n7」以降でなく、FECパケットノード「f7」以降でもない場合(S303:No)には、メディアパケットの出力を行なうことなく、次パケットに対応する(S301)。   On the other hand, if the recorded node is not after the media packet node “n7” of the second node sequence group and after the FEC packet node “f7” (S303: No), the media packet is not output and the next is not performed. Corresponds to the packet (S301).

次に、第2実施例のさらに別例としてFECの演算に用いるメディアパケットのシーケンス番号が連続していない場合について説明する。一般に、インターネット等のコンピュータネットワークでは、単発のパケットロスが支配的であるものの、あるパケットが損失した場合に、その直後のパケットも損失する確率が高くなることが知られている。   Next, as another example of the second embodiment, a case where the sequence numbers of media packets used for FEC calculation are not consecutive will be described. In general, in a computer network such as the Internet, although single packet loss is dominant, it is known that when a packet is lost, the probability of loss of the packet immediately after that increases.

このような連続的なパケットロス対策として、FECでは時系列上離れたメディアパケット同士を関連付けて、いわゆるインタリーブ形式でFEC演算を行なう場合がある。本例では、「M1」「M3」「M5」「M7」を関連付け、「M2」「M4」「M6」「M8」を関連付けてインタリーブ形式でFEC演算を行なう場合を例に説明する。   As a countermeasure against such continuous packet loss, in FEC, media packets distant from each other in time series may be associated with each other and FEC calculation may be performed in a so-called interleaved format. In this example, the case where “M1”, “M3”, “M5”, and “M7” are associated with each other and “M2”, “M4”, “M6”, and “M8” are associated with each other and the FEC operation is performed in an interleave format will be described as an example.

図16(a)は、このようなインタリーブ形式に対応したノードブロック321cの例を示している。すなわち、FRC演算単位に対応させて「n1」「n3」「n5」「n7」で1つのノード列を構成し、「n2」「n4」「n6」「n8」で1つのノード列を構成し、これら2つのノード列で第1ノード列群を構成している。なお、簡単のため、ここではメディアパケットに注目して説明する。FECパケットについては、別途ノードブロックを設けてもよいし、図16(b)に示すように同じノード列群内にFECパケットノード列を含めて、2個のメディアパケットノード列と2個のFECパケットノード列の合計4個のノード列で1つのノード列群を構成してノードブロック321dを設定するようにしてもよい。また、各ノード列群に3個以上のメディアパケットノード列を含めるようにしてもよい。   FIG. 16A shows an example of a node block 321c corresponding to such an interleave format. In other words, “n1”, “n3”, “n5”, “n7” constitute one node string and “n2,” “n4,” “n6,” “n8” constitute one node string corresponding to the FRC operation unit. These two node rows constitute a first node row group. For the sake of simplicity, the following description focuses on media packets. For the FEC packet, a separate node block may be provided, or two media packet node strings and two FECs including the FEC packet node string in the same node string group as shown in FIG. A node block 321d may be set by configuring one node string group with a total of four node strings in the packet node string. Each node sequence group may include three or more media packet node sequences.

本例では、第1ノード列群に対応するメディアパケットの出力トリガは、第2ノード列群のノード「n13」以降に対応するメディアパケットが受信された場合とする。ただし、出力トリガは本例に限られない。例えば、判断基準を「n14」等の他のノード位置としてもよい。   In this example, the output trigger of the media packet corresponding to the first node sequence group is assumed to be a case where a media packet corresponding to the node “n13” and subsequent nodes in the second node sequence group is received. However, the output trigger is not limited to this example. For example, the determination criterion may be another node position such as “n14”.

出力トリガとなるノードに対応するメディアパケットを受信すると、第1ノード列群に含まれるノードに対応するメディアパケットを「n1」〜「n8」の順序で次段のメディアストリーム受信装置40に出力する。この際に、パケットロスが生じている場合には、FEC演算の単位でパケットの復元を行なった上で出力する。一般に、インタリーブ形式でFECを行なうと、パケット管理が一層複雑化するが、本実施例に示すように本発明では極めて簡易にパケット管理を行なうことができる。   When the media packet corresponding to the node serving as the output trigger is received, the media packet corresponding to the node included in the first node sequence group is output to the next-stage media stream receiving device 40 in the order of “n1” to “n8”. . At this time, if a packet loss has occurred, the packet is restored in units of FEC calculation and output. In general, when FEC is performed in an interleaved format, packet management is further complicated. However, as shown in the present embodiment, packet management can be performed very easily.

最後に、最初のFECパケットが受信されるまでのメディアパケットのノード設定について説明する。前述のように、RFC2733に準拠したFECでは、最初のFECパケットを受信するまで、メディアパケットのシーケンス番号とノードとの対応関係は定まらないことになる。   Finally, the node setting of the media packet until the first FEC packet is received will be described. As described above, in the FEC conforming to RFC 2733, the correspondence between the sequence number of the media packet and the node is not determined until the first FEC packet is received.

例えば、図6(b)に示したように最初に「M1」を受信した場合、そのメディアパケットが最初のパケットであることが分からないと、「n1」で参照すべきなのか、「n2」等で参照すべきかを判定することができない。そこで、以下のような処理を行なうことにより、最初にFECパケットを受信した際にメディアパケットのシーケンス番号とノードとを容易に対応付けることができるようになる。   For example, as shown in FIG. 6B, when “M1” is first received, if it is not known that the media packet is the first packet, “n1” should be referred to. It is not possible to determine whether or not to refer to. Therefore, by performing the following processing, it is possible to easily associate the sequence number of the media packet with the node when the FEC packet is first received.

まず、ノードブロックの初期状態として、本来必要なノードの個数に、メディアストリームのノード列を構成するノードの数をmとしてm−1個を加えた数のノードを用意する。本例では、ノード列は4個のノードで構成され、各ノード列群は1つのノード列から構成されるものとするため、本来必要なノードの個数は12となり、余分に必要なノードの個数は3となる。したがって、初期状態として合計15個のノードを用意する。   First, as an initial state of the node block, the number of nodes is prepared by adding m−1, where m is the number of nodes constituting the media stream node sequence, to the number of nodes originally required. In this example, the node string is composed of four nodes, and each node string group is composed of one node string. Therefore, the number of nodes originally required is 12, and the number of extra nodes required. Becomes 3. Therefore, a total of 15 nodes are prepared as an initial state.

そして、図17(a)に示すように第1ノード列群を示す第1ポインタの初期値は、m番目、すなわち4番目のノードを設定し、第2ノード列群を示す第2ポインタの初期値は、2m番目、すなわち8番目のノードを設定し、第3ノード列群を示す第2ポインタの初期値は、3m番目、すなわち12番目のノードを設定する。この結果、4〜7番目のノードで第1ノード列群が仮設定され、8〜11番目のノードで第2ノード列群が仮設定され、12〜15番目のノードで第3ノード列群が仮設定される。   As shown in FIG. 17A, the initial value of the first pointer indicating the first node sequence group is set to the mth, that is, the fourth node, and the initial value of the second pointer indicating the second node sequence group is set. The value is set to the 2mth, that is, the 8th node, and the initial value of the second pointer indicating the third node sequence group is set to the 3mth, that is, the 12th node. As a result, the first node sequence group is provisionally set at the 4th to 7th nodes, the second node sequence group is provisionally set at the 8th to 11th nodes, and the third node sequence group is set at the 12th to 15th nodes. Temporarily set.

この初期状態で、「M7」「M8」「F9」の順序でパケットを受信したとする。メディアパケット「M7」を受信した時点では、FECパケットが未受信であるため、「M7」がシーケンス番号の開始番号から何番目のパケットであるかを判断することができない。このため、図17(b)に示すように第2ノード列群の先頭である8番目のノードに対応させる。メディアパケット「M8」を受信した時点でもFECパケットは未受信であるが、「M8」が「M7」の次のメディアパケットであることは判断することができるため、図17(b)に示すように「M8」を9番目のノードに対応させる。   Assume that in this initial state, packets are received in the order of “M7”, “M8”, and “F9”. When the media packet “M7” is received, since the FEC packet has not been received, it is not possible to determine what number packet “M7” is from the start number of the sequence number. For this reason, as shown in FIG. 17B, it is made to correspond to the eighth node which is the head of the second node sequence group. Although the FEC packet is not received even when the media packet “M8” is received, it can be determined that “M8” is the next media packet after “M7”. “M8” corresponds to the ninth node.

FECパケットである「F9」を受信すると、ヘッダを参照して基底シーケンス番号とマスクを取得する。ここでは「M1」が2×2の2次元FECにおける1行1列のパケット、つまり先頭だと判明したとする。すると、最初に受信した「M7」は、第2ノード列群の3番目のノードである「n8」に対応すべきメディアパケットであったことが判別できる。そこで、図17(c)に示すように第1ポインタ、第2ポインタ、第3ポインタの値をマイナス2ノード分シフトして、2番目のノードが第1ノード列群の先頭ノード、すなわち「n1」になるように設定する。1番目と14番目と15番目のノードは使用しない。以上の処理により、ノードブロック321eにおいてメディアパケットのシーケンス番号とノードとが対応付けられたことになる。   When the FEC packet “F9” is received, the base sequence number and the mask are acquired with reference to the header. Here, it is assumed that “M1” is found to be a packet of one row and one column in 2 × 2 two-dimensional FEC, that is, the head. Then, it can be determined that “M7” received first is a media packet that should correspond to “n8”, which is the third node in the second node sequence group. Therefore, as shown in FIG. 17C, the values of the first pointer, the second pointer, and the third pointer are shifted by minus two nodes, and the second node is the first node of the first node sequence group, that is, “n1”. ”Is set. The first, fourteenth and fifteenth nodes are not used. With the above processing, the sequence number of the media packet is associated with the node in the node block 321e.

本実施形態では、FECパケットが未受信で、ノードが仮設定の状態であっても、図5に示したフローチャートにしたがってメディアパケットの出力とノード列群の更新を行なうことができる。図18を参照して「M3」「M4」「M6」「M7」「M8」「F9」の順序でパケットを受信した場合を例に説明する。   In the present embodiment, even when the FEC packet has not been received and the node is in a temporarily set state, the output of the media packet and the update of the node sequence group can be performed according to the flowchart shown in FIG. An example in which packets are received in the order of “M3”, “M4”, “M6”, “M7”, “M8”, and “F9” will be described with reference to FIG.

図18(a)に示すように、メディアパケット「M3」は、第2ノード列群の先頭である8番目のノードに仮対応させ、「M4」は9番目のノードに仮対応させ、「M6」は11番目のノードに仮対応させる。   As shown in FIG. 18A, the media packet “M3” is provisionally associated with the eighth node that is the head of the second node sequence group, “M4” is provisionally associated with the ninth node, and “M6” "Is temporarily associated with the 11th node.

11番目のノードは仮の第2ノード列群の4番目のノードであるため、処理(S107)にしたがって、仮の第1ノード列群の出力を行なう。ただし、仮の第1ノード列群のノードに対応したメディアパケットは受信していないため、メディアパケットの出力は結局 行なわれない。次いで、処理(S108)にしたがって、ノード列群の更新が行なわれる。この結果、8〜11番目のノード列が第1ノード列群となり、12〜15番目のノード列が第2ノード列群となり、4〜7番目のノード列が第3ノード列群になる。この時点でFECパケットは受信していないため、図示しないFECパケットノード列は無参照状態である。次いで、「M7」「M8」を受信して図18(b)に示すような状態となる。   Since the eleventh node is the fourth node in the provisional second node sequence group, the provisional first node sequence group is output in accordance with the processing (S107). However, since the media packet corresponding to the node of the temporary first node sequence group has not been received, the media packet is not output after all. Next, the node string group is updated according to the process (S108). As a result, the 8th to 11th node rows become the first node row group, the 12th to 15th node rows become the second node row group, and the 4th to 7th node rows become the third node row group. Since no FEC packet has been received at this time, an FEC packet node sequence (not shown) is in a non-reference state. Next, “M7” and “M8” are received, and the state shown in FIG.

その後、FECパケットの「F9」を受信すると、メディアストリームの最初のメディアパケットのシーケンス番号を取得することができる。ここでは「M1」が先頭であったとする。この時点では、8〜11番目のノードが第1ノード列群に対応し、12〜15番目のノードが第2ノード列群に対応し、4〜7番目のノードが第3ノード列群に対応していると仮設定されているため調整が必要である。   Thereafter, when “F9” of the FEC packet is received, the sequence number of the first media packet of the media stream can be acquired. Here, it is assumed that “M1” is the head. At this time, the 8th to 11th nodes correspond to the first node sequence group, the 12th to 15th nodes correspond to the second node sequence group, and the 4th to 7th nodes correspond to the third node sequence group. Adjustment is necessary because it is temporarily set.

FECパケットの受信により、第1ポインタ、第2ポインタ、第3ポインタの値をマイナス2ノード分シフトすればよいことが判明するため、ノードブロック321fを、図18(c)に示すような状態に設定する。つまり、6番目のノードが第1ノード列群の先頭ノード「n1」になり、10番目のノードが第2ノード列群の先頭ノード「n5」になり、2番目のノードが第3ノード列群の先頭ノード「n9」になるように設定する。1番目と14番目と15番目のノードは使用しない。   The reception of the FEC packet reveals that the values of the first pointer, the second pointer, and the third pointer need only be shifted by minus two nodes. Therefore, the node block 321f is brought into a state as shown in FIG. Set. That is, the sixth node is the first node “n1” of the first node sequence group, the tenth node is the first node “n5” of the second node sequence group, and the second node is the third node sequence group. To be the first node “n9”. The first, fourteenth and fifteenth nodes are not used.

この段階で、「n7」に対応するメディアパケットが受信されているため、第1ノード列群の出力トリガが発生する。したがって、「n3」と「n4」が参照している「M3」と「M4」とを次段のメディアストリーム受信装置40に出力し、次いでノード列群の更新を行なう。   At this stage, since the media packet corresponding to “n7” has been received, the output trigger of the first node sequence group is generated. Therefore, “M3” and “M4” referred to by “n3” and “n4” are output to the media stream receiver 40 at the next stage, and then the node sequence group is updated.

仮にFECパケットを最初に受信するまでにさらに多くのメディアパケットを受信したとしても、図5のフローチャートにしたがった通常時と同様のノード列群の更新を行なうことで、FECによるパケット復元はできないものの、次段へのメディアパケットの出力を行なうことができる。すなわち、FECパケットの最初の受信の際の関連付け処理を行なう以外は通常時と同様のアルゴリズムを用いることができる。このため、FECパケット受信前のメディアパケットの扱いについて、従来のようなパケット退避用の資源、通常と別個のアルゴリズム等は必要ない。   Even if more media packets are received before the first FEC packet is received, it is not possible to restore the packet by FEC by updating the node sequence group in the same way as in the normal state according to the flowchart of FIG. The media packet can be output to the next stage. That is, an algorithm similar to that at the normal time can be used except that the association process at the first reception of the FEC packet is performed. For this reason, the handling of the media packet before receiving the FEC packet does not require a conventional packet saving resource, an algorithm separate from the normal one, and the like.

以上説明したように、本発明の実施形態は、受信したパケットをノード列で管理し、さらにノード列を3つのノード列群として管理するようにしている。これにより受信側の管理が簡単で処理が軽くなるとともに、十分なエラー訂正が行えることが可能となる。   As described above, according to the embodiment of the present invention, received packets are managed by a node sequence, and the node sequence is further managed as three node sequence groups. As a result, management on the receiving side is simple and processing is lightened, and sufficient error correction can be performed.

また、低遅延伝送システムにおいて高能力な前方誤り訂正(FEC)を使用してデータの欠落を復元することで、汎用・廉価な伝送路でも低遅延の伝送が実現できる、受信・復号方法を提供することが可能となる。例えば本発明を、様々な施設で運営される業務放送に適用すれば、汎用・廉価な構内LANを用いて低遅延かつ高品位の伝送が可能な業務放送システムを実現することができる。   In addition, by providing high-performance forward error correction (FEC) in low-delay transmission systems to restore missing data, a reception / decoding method is provided that can realize low-delay transmission over general-purpose and inexpensive transmission paths. It becomes possible to do. For example, when the present invention is applied to business broadcasting operated in various facilities, a business broadcasting system capable of low-delay and high-quality transmission using a general-purpose and inexpensive local LAN can be realized.

FEC受信側装置を含むネットワークメディアストリーム送受信システムの構成を示すブロック図である。It is a block diagram which shows the structure of the network media stream transmission / reception system containing a FEC receiving side apparatus. FEC受信側装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of a FEC receiving side apparatus. メディアパケットとFECパケットの概略構造を示す図である。It is a figure which shows schematic structure of a media packet and a FEC packet. メディアパケットからFECパケットを生成する処理とメディアパケットを復元する処理とを模式的に示す図である。It is a figure which shows typically the process which produces | generates a FEC packet from a media packet, and the process which restore | restores a media packet. FEC受信側装置における処理を説明するフローチャートである。It is a flowchart explaining the process in a FEC receiving side apparatus. ノード管理部の構成と処理を示す図である。It is a figure which shows the structure and process of a node management part. ノード管理部の構成と処理を示す図である。It is a figure which shows the structure and process of a node management part. ノード管理部の構成と処理を示す図である。It is a figure which shows the structure and process of a node management part. ノード管理部の構成と処理を示す図である。It is a figure which shows the structure and process of a node management part. ノード管理部の構成と処理を示す図である。It is a figure which shows the structure and process of a node management part. 1または複数のノード列により1つのノード列群を構成したノードブロックの例を示す図である。It is a figure which shows the example of the node block which comprised one node sequence group by the 1 or several node sequence. 第2実施例におけるFEC受信側装置の処理を説明するフローチャートである。It is a flowchart explaining the process of the FEC receiving side apparatus in 2nd Example. 第2実施例におけるノード列群の更新を示す図である。It is a figure which shows the update of the node row group in 2nd Example. 異なる種類のノード列により1つのノード列群を構成したノードブロックの例を示す図である。It is a figure which shows the example of the node block which comprised one node sequence group by the node sequence of a different kind. 第2実施例の別例におけるFEC受信側装置の処理を説明するフローチャートである。It is a flowchart explaining the process of the FEC receiving side apparatus in another example of 2nd Example. インタリーブ形式に対応したノード列群を構成したノードブロックの例を示す図である。It is a figure which shows the example of the node block which comprised the node row group corresponding to an interleave format. FECパケットが受信されるまでのメディアパケットのノード設定について説明する図である。It is a figure explaining the node setting of the media packet until an FEC packet is received. FECパケットが受信されるまでのメディアパケットのノード設定について説明する図である。It is a figure explaining the node setting of the media packet until an FEC packet is received.

符号の説明Explanation of symbols

10…メディアストリーム出力装置、20…FEC送信側装置、30…FEC受信側装置、40…メディアストリーム受信装置、50…コンピュータネットワーク、100…ネットワークメディアストリーム送受信システム、310…パケット受信部、312…受信パケットバッファ、320…ノード管理部、321…ノードブロック、322…ポインタ変数群、330…パケット解析部、340…トリガ生成部、350…メディアパケット出力部、352…パケット復元部 DESCRIPTION OF SYMBOLS 10 ... Media stream output apparatus, 20 ... FEC transmission side apparatus, 30 ... FEC reception side apparatus, 40 ... Media stream reception apparatus, 50 ... Computer network, 100 ... Network media stream transmission / reception system, 310 ... Packet reception part, 312 ... Reception Packet buffer, 320 ... node management unit, 321 ... node block, 322 ... pointer variable group, 330 ... packet analysis unit, 340 ... trigger generation unit, 350 ... media packet output unit, 352 ... packet restoration unit

Claims (12)

シーケンス番号が付されたメディアパケットのストリームと、メディアパケットに基づいて生成されたFECパケットのストリームとを受信し、シーケンス番号順にメディアパケットを出力する前方誤り復元方式受信装置であって、
前記受信したメディアパケットおよびFECパケットを格納するバッファ手段と、
前記バッファ手段におけるメディアパケットの格納位置を参照するための、シーケンス番号に相対的に対応して順位付けられた複数のノードで構成されるノード列を複数設定したノード管理手段と、
前記受信したメディアパケットのシーケンス番号に対応したノードの順位を判定し、判定された順位が付されたノードに当該メディアパケットの格納位置を記憶させ、判定された順位が所定の第1順位範囲である場合に、最も順位の早いノードを含むノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとする解析手段と、
前記出力対象メディアパケットが未受信のメディアパケットを含む場合に、前記格納されたFECパケットを用いて前記未受信のメディアパケットを復元し出力対象メディアパケットにするとともに、前記出力対象メディアパケットをシーケンス番号順に出力する出力手段と、
を備えたことを特徴とする前方誤り復元方式受信装置。
A forward error recovery method receiver that receives a stream of media packets with sequence numbers and a stream of FEC packets generated based on the media packets and outputs the media packets in the order of the sequence numbers,
Buffer means for storing the received media packet and FEC packet;
Node management means for setting a plurality of node sequences composed of a plurality of nodes ranked in correspondence with the sequence numbers for referring to the storage position of the media packet in the buffer means;
The rank of the node corresponding to the sequence number of the received media packet is determined, the storage position of the media packet is stored in the node with the determined rank, and the determined rank is within a predetermined first rank range. In some cases, an analysis unit that sets a media packet to be referred to by a node constituting a node sequence including a node having the highest rank as an output target media packet;
When the output target media packet includes an unreceived media packet, the stored FEC packet is used to restore the unreceived media packet into an output target media packet, and the output target media packet is set to a sequence number. Output means for outputting in order;
A forward error recovery system receiver characterized by comprising:
請求項1に記載の前方誤り復元方式受信装置であって、
前記解析手段は、前記出力手段が出力対象メディアパケットをシーケンス番号順に出力すると、出力したメディアパケットの格納位置を記憶していたノードの記憶内容を無効とし、後続するノードの順位を繰り上げることを特徴とする前方誤り復元方式受信装置。
The forward error recovery method receiver according to claim 1,
When the output means outputs the output target media packets in the order of the sequence number, the analysis means invalidates the storage contents of the node storing the storage position of the output media packet and raises the rank of the subsequent node. A forward error recovery receiver.
請求項1に記載の前方誤り復元方式受信装置であって、
前記解析手段は、判定されたノードの順列が所定の第2順位以降の場合は、最も順位の早いノードを含むノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとすることなく、後続するノードの順位を繰り上げることを特徴とする前方誤り復元方式受信装置。
The forward error recovery method receiver according to claim 1,
When the permutation of the determined nodes is a predetermined second or higher rank, the analyzing means does not set a media packet to be referred to by a node constituting a node string including the node with the highest rank as an output target media packet. A forward error recovery system receiver characterized by moving up the order of subsequent nodes.
請求項1に記載の前方誤り復元方式受信装置であって、
前記解析手段は、判定された順位が所定の第1順位範囲である場合に、最も順位の早いノードを含むノード列に加え、前記ノード列と所定の関係を有するノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとすることを特徴とする前方誤り復元方式受信装置。
The forward error recovery method receiver according to claim 1,
In the case where the determined rank is in a predetermined first rank range, the analyzing means refers to a node that forms a node string having a predetermined relationship with the node string in addition to the node string that includes the node having the highest rank. A forward error recovery system receiver characterized in that a media packet to be output is an output target media packet.
請求項4に記載の前方誤り復元方式受信装置であって、
前記所定の関係を有するノード列は、最も順位の早いノードを含むノード列を構成するノード以外で最も順位の早いノードを含むノード列であることを特徴とする前方誤り復元方式受信装置。
The forward error recovery method receiver according to claim 4,
The forward error recovery method receiving apparatus according to claim 1, wherein the node sequence having the predetermined relationship is a node sequence including a node having the highest rank other than a node constituting the node sequence including the node having the highest rank.
請求項1に記載の前方誤り復元方式受信装置であって、
前記解析手段は、FECパケットを未受信の場合は、あらかじめ定めたノードに最初に受信したメディアパケットの格納位置を記憶させ、FECパケット受信後に、前記メディアパケットのシーケンス番号に対応したノード順位を判定し、前記あらかじめ定めたノードが判定されたノード順位になるように、ノードに付する順位をシフトすることを特徴とする前方誤り復元方式受信装置。
The forward error recovery method receiver according to claim 1,
When the FEC packet has not been received, the analysis means stores the storage position of the media packet received first in a predetermined node, and determines the node rank corresponding to the sequence number of the media packet after receiving the FEC packet. And a forward error recovery receiver apparatus that shifts the ranks assigned to the nodes so that the predetermined nodes have the determined node ranks.
シーケンス番号が付されたメディアパケットのストリームと、メディアパケットに基づいて生成されたFECパケットのストリームとを受信し、シーケンス番号順にメディアパケットを出力する前方誤り復元方式受信出力方法であって、
前記受信したメディアパケットおよびFECパケットをバッファに格納するバッファリングステップと、
前記バッファにおけるメディアパケットの格納位置を参照するための、シーケンス番号に相対的に対応して順位付けられた複数のノードで構成されるノード列を複数設定するノード設定ステップと、
前記受信したメディアパケットのシーケンス番号に対応したノードの順位を判定し、判定された順位が付されたノードに当該メディアパケットの格納位置を記憶するノード記憶ステップと、
判定された順位が所定の第1順位範囲である場合に、最も順位の早いノードを含むノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとし、前記出力対象メディアパケットが未受信のメディアパケットを含む場合に、前記格納されたFECパケットを用いて前記未受信のメディアパケットを復元し出力対象メディアパケットにするとともに、前記出力対象メディアパケットをシーケンス番号順に出力する出力ステップと、
を有することを特徴とする前方誤り復元方式受信出力方法。
A forward error recovery method reception output method of receiving a stream of media packets with a sequence number and a stream of FEC packets generated based on the media packets and outputting the media packets in order of sequence numbers,
A buffering step of storing the received media packet and FEC packet in a buffer;
A node setting step for setting a plurality of node strings composed of a plurality of nodes ranked in correspondence with the sequence numbers in order to refer to the storage position of the media packet in the buffer;
A node storage step of determining a rank of a node corresponding to the sequence number of the received media packet, and storing a storage position of the media packet in a node to which the determined rank is attached;
When the determined rank is the predetermined first rank range, a media packet to be referred to by a node constituting a node sequence including the node with the highest rank is set as an output target media packet, and the output target media packet is not received. An output step of restoring the unreceived media packet to the output target media packet using the stored FEC packet, and outputting the output target media packet in the order of the sequence number.
A forward error recovery system reception output method comprising:
請求項7に記載の前方誤り復元方式受信出力方法であって、
前記出力対象となったメディアパケットをシーケンス番号順に出力すると、出力したメディアパケットの格納位置を記憶していたノードの記憶内容を無効とし、後続するノードの順位を繰り上げる更新ステップをさらに有することを特徴とする前方誤り復元方式受信出力方法。
The forward error recovery method reception output method according to claim 7,
When the media packets to be output are output in order of sequence number, the storage contents of the node that stores the storage position of the output media packet are invalidated, and the update step further advances the rank of the subsequent node. Forward error recovery method reception output method.
請求項7に記載の前方誤り復元方式受信出力方法であって、
前記判定されたノードの順列が所定の第2順位以降の場合は、最も順位の早いノードを含むノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとすることなく、後続するノードの順位を繰り上げることを特徴とする前方誤り復元方式受信出力方法。
The forward error recovery method reception output method according to claim 7,
If the determined permutation of the nodes is equal to or higher than the predetermined second order, the subsequent node without using the media packet to be referred to by the node constituting the node train including the node with the highest rank as the output target media packet The forward error recovery method reception output method, wherein the rank is moved up.
請求項7に記載の前方誤り復元方式受信出力方法であって、
前記出力ステップにおいて、判定された順位が所定の第1順位範囲である場合に、最も順位の早いノードを含むノード列に加え、前記ノード列と所定の関係を有するノード列を構成するノードが参照すべきメディアパケットを出力対象メディアパケットとすることを特徴とする前方誤り復元方式受信出力方法。
The forward error recovery method reception output method according to claim 7,
In the output step, when the determined rank is the predetermined first rank range, in addition to the node string including the node with the highest rank, the nodes constituting the node string having a predetermined relationship with the node string are referred to A forward error recovery system reception output method, wherein a media packet to be output is a media packet to be output.
請求項10に記載の前方誤り復元方式受信出力方法であって、
前記所定の関係を有するノード列は、最も順位の早いノードを含むノード列を構成するノード以外で最も順位の早いノードを含むノード列であることを特徴とする前方誤り復元方式受信出力方法。
The forward error recovery method reception output method according to claim 10,
The forward error recovery method reception output method, wherein the node string having the predetermined relationship is a node string including a node having the highest rank other than the nodes constituting the node string including the node having the highest rank.
請求項7に記載の前方誤り復元方式受信出力方法であって、
前記ノード記憶ステップにおいて、FECパケットを未受信の場合は、あらかじめ定めたノードに最初に受信したメディアパケットの格納位置を記憶させ、FECパケット受信後に、前記メディアパケットのシーケンス番号に対応したノード順位を判定し、前記あらかじめ定めたノードが判定されたノード順位になるように、ノードに付する順位をシフトすることを特徴とする前方誤り復元方式受信出力方法。
The forward error recovery method reception output method according to claim 7,
In the node storing step, when the FEC packet has not been received, the storage position of the media packet received first is stored in a predetermined node, and after receiving the FEC packet, the node rank corresponding to the sequence number of the media packet is set. A forward error recovery method reception output method, characterized in that the order given to the nodes is shifted so that the judgment is made and the predetermined nodes have the judged node order.
JP2008114532A 2008-04-24 2008-04-24 Forward error recovery method receiver and forward error recovery method reception output method Active JP4930449B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008114532A JP4930449B2 (en) 2008-04-24 2008-04-24 Forward error recovery method receiver and forward error recovery method reception output method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008114532A JP4930449B2 (en) 2008-04-24 2008-04-24 Forward error recovery method receiver and forward error recovery method reception output method

Publications (2)

Publication Number Publication Date
JP2009267737A JP2009267737A (en) 2009-11-12
JP4930449B2 true JP4930449B2 (en) 2012-05-16

Family

ID=41393028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008114532A Active JP4930449B2 (en) 2008-04-24 2008-04-24 Forward error recovery method receiver and forward error recovery method reception output method

Country Status (1)

Country Link
JP (1) JP4930449B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5135121B2 (en) * 2008-08-22 2013-01-30 株式会社東芝 Data receiving apparatus, data receiving method, and data receiving program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100458878B1 (en) * 2002-05-03 2004-12-03 학교법인 경희대학교 Method for transmitting and receiving a variable size packet based on foward error correction coding
JP4559126B2 (en) * 2004-06-01 2010-10-06 日本電信電話株式会社 Video transmission method, video transmission apparatus, video transmission program, and computer-readable recording medium recording the program
JP2008011096A (en) * 2006-06-28 2008-01-17 Toshiba Corp Fec encoding method, fec decoding method, and fec decoding device
JP4250654B2 (en) * 2006-11-17 2009-04-08 株式会社東芝 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM

Also Published As

Publication number Publication date
JP2009267737A (en) 2009-11-12

Similar Documents

Publication Publication Date Title
JP5485008B2 (en) Systematic encoding and decryption of chained encryption reactions
JP4157041B2 (en) Multistage code generator and decoder for communication systems
JP5141197B2 (en) Encoder
KR100772528B1 (en) Method and apparatus for efficient packet retransmission in wired/wireless network
JP5442816B2 (en) Streaming and buffering using variable FEC overhead and protection period
US20100195663A1 (en) Fabric Channel Control Apparatus and Method
CN103650399B (en) Adaptive generation of correction data units
JP5677070B2 (en) Receiving device and processing method by receiving device
US20070300134A1 (en) Data Transmitting Device, Data Receiving Device, and Data Distribution System
JP2004032719A (en) Variable-length packet transmission method and receiving method based on fec encoding method
JP2010183439A (en) Transmission device, method, and program
JP3701956B2 (en) Packet relay apparatus and method thereof, packet receiver apparatus and method thereof, packet relay program and recording medium recording the program, packet receiving program and recording medium recording the program
US7215683B2 (en) Method and apparatus for protecting against packet losses in packet-oriented data transmission
JP2009545238A (en) Reduce the number of data packets and increase the number of error correction packets
JP5600774B1 (en) Data transmission apparatus and method
JP4930449B2 (en) Forward error recovery method receiver and forward error recovery method reception output method
JP6305398B2 (en) Method and apparatus for error recovery using information associated with a transmitter
US20040181740A1 (en) Communicating method, transmitting apparatus, receiving apparatus, and communicating system including them
JP5535231B2 (en) Reception processing apparatus and program
CN113114427B (en) Self-adaptive system code FEC encoding method and decoding method based on media content
JP6457282B2 (en) Transmitting apparatus and parity packet generation method
JP6767018B2 (en) Communication equipment and communication programs
US11968284B2 (en) Scrambled packet payload mapping for robust transmission of data
WO2023238205A1 (en) Communication device, communication method, and program
JP2015162854A (en) Encoder, decoder, communication system, encoding method and decoding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100909

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20111012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120112

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: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120130

R150 Certificate of patent or registration of utility model

Ref document number: 4930449

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: 20150224

Year of fee payment: 3