JP4041137B2 - VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF - Google Patents

VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF Download PDF

Info

Publication number
JP4041137B2
JP4041137B2 JP2005208030A JP2005208030A JP4041137B2 JP 4041137 B2 JP4041137 B2 JP 4041137B2 JP 2005208030 A JP2005208030 A JP 2005208030A JP 2005208030 A JP2005208030 A JP 2005208030A JP 4041137 B2 JP4041137 B2 JP 4041137B2
Authority
JP
Japan
Prior art keywords
packet
error correction
fec
correction code
video encoding
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
JP2005208030A
Other languages
Japanese (ja)
Other versions
JP2007028241A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005208030A priority Critical patent/JP4041137B2/en
Publication of JP2007028241A publication Critical patent/JP2007028241A/en
Application granted granted Critical
Publication of JP4041137B2 publication Critical patent/JP4041137B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は,動画像や音声あるいはその他のディジタル信号を,例えばMPEG(Moving Picture Experts Group)方式に従って符号化し,パケット通信ネットワークを通じて送信する映像符号化・送信装置に関する。とりわけ,IPネットワークを介して接続された遠隔地間でテレビ電話機能を提供する低遅延映像コミュニケーションシステムに関する。   The present invention relates to a video encoding / transmission apparatus that encodes moving images, audio, or other digital signals in accordance with, for example, an MPEG (Moving Picture Experts Group) system and transmits the encoded data through a packet communication network. In particular, the present invention relates to a low-latency video communication system that provides a videophone function between remote locations connected via an IP network.

BS/CS/地上ディジタル放送やDVDの本格的な普及により,ディジタル映像の圧縮技術はその応用範囲を広げつつある。とりわけ,インターネットに代表されるディジタルパケット通信網の高速化と広帯域化に伴い,高品質なディジタル圧縮映像を用いたTV電話アプリケーションや映像配信サービスなど,通信ネットワークを利用した映像伝送システムが普及しつつある。   With the full-scale spread of BS / CS / terrestrial digital broadcasting and DVD, the application range of digital video compression technology is expanding. In particular, video transmission systems using communication networks, such as TV phone applications and video distribution services using high-quality digital compressed video, are becoming widespread as digital packet communication networks such as the Internet become faster and wider. is there.

図8は,従来の映像伝送システムの例を示す図である。映像伝送システムにおいて,圧縮装置(エンコーダ)100と,復号装置(デコーダ)200とは,一般的に図8に示すような形態で信号の授受を行う。   FIG. 8 is a diagram illustrating an example of a conventional video transmission system. In the video transmission system, the compression device (encoder) 100 and the decoding device (decoder) 200 generally exchange signals in the form shown in FIG.

映像符号化器101は,入力された映像に対して符号化処理を行い,符号化ストリームを生成する。例として,符号化方式にMPEG−2を使用する場合には,この符号化ストリームはMPEG−2エレメンタリーストリーム(以降,ESと表記)ないしパケッタイズドエレメンタリーストリーム(以降,PESと表記)に相当し,符号化方式にH.264を使用する場合には,この符号化ストリームはNALユニットないしバイトストリームに相当する。   The video encoder 101 performs an encoding process on the input video and generates an encoded stream. For example, when MPEG-2 is used as an encoding method, this encoded stream is converted into an MPEG-2 elementary stream (hereinafter referred to as ES) or a packetized elementary stream (hereinafter referred to as PES). Equivalent to H. When H.264 is used, this encoded stream corresponds to a NAL unit or byte stream.

生成された映像符号化ストリームは,映像符号化ストリームバッファ102に一旦蓄積されたのち,符号出力器103から規定のタイミングで出力される。この出力タイミングは,後述の仮想バッファモデルに基づいて,バッファの破綻(オーバーランおよびアンダーラン)が発生しないように制御される。   The generated encoded video stream is temporarily stored in the encoded video stream buffer 102 and then output from the code output unit 103 at a specified timing. This output timing is controlled based on a virtual buffer model, which will be described later, so that a buffer failure (overrun and underrun) does not occur.

復号装置(デコーダ)200では,伝送路300を介して符号入力器201が符号化ストリームを受信し,映像符号化ストリームバッファ202に格納する。映像復号化器203は,映像符号化ストリームバッファ202に蓄積された符号化ストリームを復号し出力する。   In the decoding device (decoder) 200, the code input unit 201 receives the encoded stream via the transmission path 300 and stores it in the video encoded stream buffer 202. The video decoder 203 decodes the encoded stream stored in the video encoded stream buffer 202 and outputs it.

図9は,従来の他の映像伝送システムの例を示す図である。図9に示すように,符号化ストリーム出力部の位置に多重化器104を配置し,映像に付随する音声およびその他のデータを多重する機能を併せ持つ場合もある。   FIG. 9 is a diagram illustrating an example of another conventional video transmission system. As shown in FIG. 9, a multiplexer 104 may be disposed at the position of the encoded stream output unit, and may have a function of multiplexing audio and other data accompanying the video.

すなわち,多重化器104は,映像符号化ストリームバッファ102に格納された符号化ストリームと,音声符号化器105によって符号化された音声データを多重化し,伝送路300へ介して復号装置(デコーダ)200へ送信する。復号装置(デコーダ)200では,多重分離器204によって映像符号と音声符号のデータを分離し,それぞれ映像復号化器203と音声復号化器205とによって復号する。   That is, the multiplexer 104 multiplexes the encoded stream stored in the video encoded stream buffer 102 and the audio data encoded by the audio encoder 105, and decodes it via the transmission path 300. 200. In the decoding device (decoder) 200, video code and audio code data are separated by a demultiplexer 204 and decoded by a video decoder 203 and an audio decoder 205, respectively.

ここで,出力タイミングの規定について,図10をもとに説明する。図10は,エンコーダからデコーダへ一定のビットレートで映像符号を伝送するCBR(Constant Bit Rate )の例を示す図である。図10(A)は符号化側のバッファの蓄積状態,図10(B)は復号側のバッファの蓄積状態の例を示している。   Here, the definition of the output timing will be described with reference to FIG. FIG. 10 is a diagram showing an example of CBR (Constant Bit Rate) for transmitting a video code from the encoder to the decoder at a constant bit rate. FIG. 10A shows an example of the accumulation state of the buffer on the encoding side, and FIG. 10B shows an example of the accumulation state of the buffer on the decoding side.

符号化側では,各ピクチャは瞬時に符号化され,1ピクチャを構成する映像符号が瞬時に映像符号化ストリームバッファ102に蓄積される。符号化側の映像符号化ストリームバッファ102からは一定のビットレートで映像符号が読み出され,復号側に伝送される。   On the encoding side, each picture is encoded instantaneously, and the video code constituting one picture is instantaneously stored in the video encoded stream buffer 102. A video code is read from the video encoding stream buffer 102 on the encoding side at a constant bit rate and transmitted to the decoding side.

復号側では,到着した映像符号が逐次映像符号化ストリームバッファ202に蓄積され,各ピクチャの復号時刻において,1ピクチャを構成する映像符号が瞬時に映像符号化ストリームバッファ202から引き抜かれ復号される。圧縮装置100は,復号側の映像符号化ストリームバッファ202の溢れ(オーバーラン)や枯渇(アンダーラン)が生じないように,各ピクチャの発生符号量を制御しなければならない。   On the decoding side, the arrived video code is sequentially stored in the video encoded stream buffer 202, and the video code constituting one picture is instantaneously extracted from the video encoded stream buffer 202 and decoded at the decoding time of each picture. The compression apparatus 100 must control the generated code amount of each picture so that overflow (overrun) and exhaustion (underrun) of the video encoded stream buffer 202 on the decoding side does not occur.

実際の圧縮装置100や復号装置200は瞬時に符号化や復号を行うことができないため,上記のバッファ動作は,出力タイミングの規定を行うための仮想的なものである。実際の圧縮装置100においては,出力されるストリームを上記の仮想バッファ動作に準拠させる必要があるため,符号化側バッファに相当量の符号情報を蓄積して出力タイミングの制御を行うことが多い。これに対し,実際の復号装置200においては,到着した映像符号を,復号タイミングを待たずに復号装置200に逐次入力し復号することが多いため,復号側バッファに蓄積される符号情報量は,上記の仮想的なバッファと比較するとはるかに小さいことが多い。   Since the actual compression apparatus 100 and decoding apparatus 200 cannot perform encoding or decoding instantaneously, the above buffer operation is a virtual one for defining the output timing. In the actual compression apparatus 100, since it is necessary to make the output stream conform to the above-described virtual buffer operation, a considerable amount of code information is stored in the encoding side buffer to control the output timing in many cases. On the other hand, in the actual decoding device 200, since the arrived video code is often input and decoded sequentially into the decoding device 200 without waiting for the decoding timing, the amount of code information stored in the decoding side buffer is: It is often much smaller than the above virtual buffer.

さて,インターネットに代表される通信ネットワークにおいては,伝送中にパケットロスが発生するため,受信側において復号映像の乱れやフリーズを生じることがある。これを防ぐため,送信側であらかじめ冗長なパケットを生成して伝送し,受信側において損失したパケットを回復できるようにするFEC(Forward Error Correction)技術が一般に知られている。損失パケットを回復するための誤り訂正符号としては主に,パリティ(XOR)符号,ハミング符号,リードソロモン符号,畳み込み符号,LDPC符号などが使用される。   Now, in communication networks represented by the Internet, packet loss occurs during transmission, so that the decoded video may be disturbed or frozen on the receiving side. In order to prevent this, FEC (Forward Error Correction) technology is generally known in which redundant packets are generated and transmitted in advance on the transmission side, and lost packets can be recovered on the reception side. As error correction codes for recovering lost packets, parity (XOR) codes, Hamming codes, Reed-Solomon codes, convolutional codes, LDPC codes, etc. are mainly used.

図11,図12は,FEC処理の代表的な配置の例を示す図である。送信側では,圧縮装置100の符号出力器103ないし多重化器104から出力される符号に対して,FEC符号化器401によって冗長パケットを生成し,ネットワーク送信器403によって通信パケットとして通信ネットワーク301に送出する。インターネットに代表されるIPネットワークの場合,通信パケットとはIPパケットに相当し,リアルタイムメディア伝送に適したRTP/UDP/IPプロトコルが使用されることが多い。   11 and 12 are diagrams illustrating examples of typical arrangements of the FEC processing. On the transmission side, a redundant packet is generated by the FEC encoder 401 for the code output from the code output unit 103 or the multiplexer 104 of the compression apparatus 100, and the network transmitter 403 transmits the redundant packet to the communication network 301 as a communication packet. Send it out. In the case of an IP network represented by the Internet, a communication packet corresponds to an IP packet, and an RTP / UDP / IP protocol suitable for real-time media transmission is often used.

受信側では,ネットワーク受信器404によって通信パケットを受け取った後,FEC復号器405によって損失したパケットを回復して,復号装置200の符号入力器201ないし多重分離器204へ伝達する。   On the receiving side, after receiving the communication packet by the network receiver 404, the lost packet is recovered by the FEC decoder 405 and transmitted to the code input unit 201 or the demultiplexer 204 of the decoding device 200.

このように,圧縮装置100と復号装置200の間に,通信ネットワーク301をはさんでFEC符号化処理と復号処理を行うことにより,通信ネットワーク301上でのパケットロスの影響を防ぐ効果がある。   As described above, the FEC encoding process and the decoding process are performed between the compression apparatus 100 and the decoding apparatus 200 with the communication network 301 interposed therebetween, so that the effect of packet loss on the communication network 301 can be prevented.

図13は,FECによる損失パケット回復の方法を説明する図である。ここで使用する誤り訂正符号は,k個の値の入力に対して(n−k)個の冗長な値を演算し,合計でn個の値を出力する(n,k)誤り訂正符号である。このような符号の例としては,(n,k)リードソロモン符号,(n,k)ハミング符号,インタリーブした(n,k)パリティ符号,(n,k)LDPC符号などが挙げられる。   FIG. 13 is a diagram for explaining a lost packet recovery method using FEC. The error correction code used here is an (n, k) error correction code that calculates (n−k) redundant values for k value inputs and outputs a total of n values. is there. Examples of such codes include (n, k) Reed-Solomon codes, (n, k) Hamming codes, interleaved (n, k) parity codes, (n, k) LDPC codes, and the like.

ここでインタリーブした(n,k)パリティ符号とは,例えば1,k+1,2k+1,3k+1,... 番目の元信号のXOR値を1番目のFEC符号,2,k+2,2k+2,3k+2,... 番目の元信号のXOR値を2番目のFEC符号,というように,k個ずつ離れた元信号の組からそれぞれXOR値を計算し,FEC符号とするものである。   Here, the interleaved (n, k) parity code is, for example, the XOR value of the first k + 1, 2k + 1, 3k + 1, ... th original signal, the first FEC code, 2, k + 2, 2k + 2, 3k + 2,. The XOR value is calculated from each set of original signals separated by k pieces, such as the XOR value of the .th original signal is the second FEC code, and is used as the FEC code.

図13において,まず送信側のFEC符号化バッファ402に,送信される符号情報が入力される。FEC符号化バッファ402の横1行が,通信ネットワーク301に送信される1パケットのペイロードに相当し,送信される符号情報は一番上の行から順に,横方向に充填される。ペイロードサイズが横一行に満たない場合には,余りをあらかじめ定めたダミー値(0など)で埋める。   In FIG. 13, first, code information to be transmitted is input to the FEC encoding buffer 402 on the transmission side. One horizontal row of the FEC encoding buffer 402 corresponds to the payload of one packet transmitted to the communication network 301, and the transmitted code information is filled in the horizontal direction in order from the top row. If the payload size is less than one horizontal line, the remainder is filled with a predetermined dummy value (such as 0).

k行の充填が完了したら,FEC符号化器401が冗長符号の生成を開始する。FEC符号化バッファ402の左端から順に,縦方向にk個の値を読み出し,FEC符号化演算を行って,生成した(n−k)個の値を書き戻す。この演算を,FEC符号化バッファ402の右端まで繰り返す。   When the filling of k rows is completed, the FEC encoder 401 starts generating redundant codes. In order from the left end of the FEC encoding buffer 402, k values are read in the vertical direction, FEC encoding operation is performed, and the generated (n−k) values are written back. This calculation is repeated up to the right end of the FEC encoding buffer 402.

FEC符号化演算が終了したら,FEC符号化バッファ402の各行をペイロードとする通信パケットを構成し,通信ネットワーク301へ送出する。図13においては,符号情報のペイロードを格納した通信パケットをメディアパケット,FEC符号を格納した冗長な通信パケットをFECパケットと称している。   When the FEC encoding operation is completed, a communication packet having the payload of each row of the FEC encoding buffer 402 is formed and sent to the communication network 301. In FIG. 13, a communication packet storing a payload of code information is called a media packet, and a redundant communication packet storing an FEC code is called an FEC packet.

受信側においては,到着したメディアパケットおよびFECパケットからペイロードを取り出し,送信側と同じ順序でFEC復号バッファ406に格納する。通信ネットワーク301での伝送中にパケットの損失があった場合には,対応する行が空欄となる。この場合,FEC復号器405が損失したパケットの回復を行う。すなわち,FEC復号バッファ406の左端から順に,縦方向にn個の値を読み出し,FEC復号演算を行って,回復した損失パケットの値を空欄行に書き戻す。この演算を,FEC復号バッファ406の右端まで繰り返す。演算が終了したら,回復したk行の符号情報を出力する。   On the receiving side, the payload is extracted from the arrived media packet and FEC packet, and stored in the FEC decoding buffer 406 in the same order as that on the transmitting side. If there is a packet loss during transmission on the communication network 301, the corresponding line is blank. In this case, the FEC decoder 405 recovers the lost packet. That is, in order from the left end of the FEC decoding buffer 406, n values are read in the vertical direction, FEC decoding operation is performed, and the recovered lost packet value is written back to the blank row. This calculation is repeated up to the right end of the FEC decoding buffer 406. When the calculation is completed, the recovered k-row code information is output.

ここで回復可能な最大損失パケット数は,使用した誤り訂正符号に依存するが,例えば(n,k)リードソロモン符号を使用した場合には,nパケット中最大k個までのパケット損失に対して,損失をすべて回復することができる。   Here, the maximum number of recoverable lost packets depends on the error correction code used. For example, when the (n, k) Reed-Solomon code is used, up to k packet losses in n packets. , All losses can be recovered.

一般的なIPネットワークにおいては,パケットの到着順序は保障されず順不同となることがある。しかし,上記のFEC復号を行う際には,受信側においてメディアパケットとFECパケットの順序および対応関係を正しく認識する必要がある。そのため,一般的にメディアパケットおよびFECパケットには通し番号(シーケンスナンバ)を付与すると同時に,FECパケットにはメディアパケットとの対応関係が記述される。   In a general IP network, the order of arrival of packets is not guaranteed and may be out of order. However, when performing the above FEC decoding, it is necessary for the receiving side to correctly recognize the order and correspondence between media packets and FEC packets. Therefore, generally, serial numbers (sequence numbers) are assigned to media packets and FEC packets, and at the same time, correspondences with media packets are described in FEC packets.

図14は,RFC2733で規定されるFECパケットのヘッダフォーマットの一部を模式的に表したものである。メディアパケットおよびFECパケットは,RFC3550で規定されるRTPパケットフォーマットに準拠するが,このRTPヘッダに存在するシーケンス番号フィールド(16ビット)に,それぞれのシーケンス番号を付与する。   FIG. 14 schematically shows a part of the header format of the FEC packet defined by RFC2733. The media packet and the FEC packet conform to the RTP packet format defined by RFC3550, but each sequence number is assigned to the sequence number field (16 bits) present in the RTP header.

さらに,FECパケットのFECヘッダには,ベースフィールドとマスクフィールドがあり,ベースフィールドには,対応するメディアパケット群の中で,一番小さなシーケンス番号の値(この例ではM)が記述される。   Further, the FEC header of the FEC packet includes a base field and a mask field, and the base field describes the smallest sequence number value (M in this example) in the corresponding media packet group.

マスクフィールドは,各々のFECパケットが何番目のメディアパケットをもとに演算生成されたものかを示すフィールドであり,例として第1のFECパケットが1,4,7番目のメディアパケットのXOR値を計算したものであるなら「100100100」,第2のFECパケットが2,5,8番目のメディアパケットのXOR値を計算したものであるなら「010010010」,第3のFECパケットが3,6,9番目のメディアパケットのXOR値を計算したものであるなら「001001001」のように,それぞれのFECパケットを演算する元となったメディアパケットの位置に「1」を立てることによって対応関係を記述する。   The mask field is a field that indicates what number of media packets each FEC packet is calculated and generated. For example, the first FEC packet is the XOR value of the first, fourth, and seventh media packets. Is "100100100", the second FEC packet is "010010010" if the XOR value of the second, fifth, and eighth media packets is calculated, and the third FEC packet is 3, 6, If the XOR value of the ninth media packet is calculated, the correspondence is described by setting “1” at the position of the media packet that is the source of the calculation of each FEC packet, such as “001001001”. .

リードソロモン(n,k)符号化のように,n−k個のFECパケットがいずれも,k個のメディアパケットすべてを使用して演算される場合には,k個のビットすべてに1を立てるか,あるいはリードソロモン符号化においてはこの事実は自明であるため,マスクフィールドの規定を変更して,n,kなどのリードソロモン符号化パラメータを伝送するようにした実装も存在する(非特許文献1参照)。   If all nk FEC packets are computed using all k media packets, as in Reed-Solomon (n, k) encoding, 1 is set for all k bits. In Reed-Solomon coding, this fact is self-evident, and there are implementations in which Reed-Solomon coding parameters such as n and k are transmitted by changing the mask field specification (Non-Patent Document). 1).

このように,メディアパケットとFECパケットの対応関係はパケット中に記述されているから,実際の送信順序としては図13に示すようにメディアパケットに続いてFECパケットを送り出す順序でなくてもよく,FECパケットを先に送り出しても,メディアパケットとFECパケットとを交互に送り出してもよい。   Thus, since the correspondence between the media packet and the FEC packet is described in the packet, the actual transmission order may not be the order in which the FEC packet is sent out after the media packet as shown in FIG. Even if the FEC packet is sent out first, the media packet and the FEC packet may be sent out alternately.

受信側では,これらのシーケンス番号や,メディアパケットとの対応関係を記すフィールドをもとに,パケット順序を元に戻した後,FEC復号動作を行う。
相原玲二,西村浩二,前田香織,渡辺健次,「HDTV MPEG2 over IPv6システムの開発」,情報処理学会研究報告 高品質インターネット5−2,2002-QAI-5,pp.7-12 ,2002年10月10日発行,Vol.2002,No.93 ,ISSN 0919-6072
On the receiving side, the FEC decoding operation is performed after returning the packet order based on the sequence number and the field describing the correspondence relationship with the media packet.
Shinji Aihara, Koji Nishimura, Kaori Maeda, Kenji Watanabe, “Development of HDTV MPEG2 over IPv6 System”, IPSJ Research Report High Quality Internet 5-2, 2002-QAI-5, pp.7-12, October 2002 Issued 10th, Vol.2002, No.93, ISSN 0919-6072

以上述べたように,映像符号化装置および復号装置に,FEC符号を用いた誤り訂正処理を加えることにより,通信ネットワークにおけるパケット損失の影響を抑える効果を得ることができる。   As described above, the effect of suppressing the packet loss in the communication network can be obtained by adding error correction processing using the FEC code to the video encoding device and the decoding device.

しかしながら,FECの符号化および復号については,それぞれk個およびn個の通信パケットをバッファに蓄積しなければ処理が開始できない。例として4Mビット/秒(=500kバイト/秒)の出力符号を,(n,k)=(255,239)の誤り訂正符号でFEC処理し,1400バイトのペイロード長を持つ通信パケットで伝送する場合には,送信側・受信側それぞれ1/(500000/1400/239)=0.67(秒)のバッファリング遅延が発生することになる。これは,TV電話などに代表されるリアルタイム性の高いアプリケーションにおいては,コミュニケーション品質を低下させる大きな原因となる。とりわけ,インターネットに代表されるIPネットワークで発生するバースト的なパケット損失に耐えるためには,nおよびkの値を大きくとる必要があり,遅延がさらに増大する。   However, FEC encoding and decoding cannot be started unless k and n communication packets are stored in the buffer, respectively. As an example, output code of 4M bits / second (= 500k bytes / second) is FEC processed with an error correction code of (n, k) = (255,239) and transmitted as a communication packet having a payload length of 1400 bytes. In this case, a buffering delay of 1 / (500000/1400/239) = 0.67 (seconds) occurs on each of the transmission side and the reception side. This is a major cause of poor communication quality in high real-time applications such as TV phones. In particular, in order to withstand bursty packet loss that occurs in an IP network typified by the Internet, it is necessary to increase the values of n and k, which further increases the delay.

このように,通信ネットワークを使用して符号化映像信号の伝送を行う際に,FEC符号を用いた誤り訂正処理を導入すると,映像符号化ストリームバッファ102で一旦蓄積された後に出力される符号化ストリームを,再度FEC符号化バッファ402に蓄積する必要があり,結果として伝送遅延が増大するという問題があった。   As described above, when an error correction process using an FEC code is introduced when an encoded video signal is transmitted using a communication network, an encoding that is temporarily stored in the video encoded stream buffer 102 and then output is output. There is a problem that the stream needs to be stored again in the FEC encoding buffer 402, resulting in an increase in transmission delay.

本発明は,上記の問題点の解決を図り,動画像を符号化したストリームをパケット化し,誤り訂正演算によってパケット損失を回復するための冗長なパケットを付加して,パケット通信ネットワークへ送信する映像通信システムにおいて,映像伝送遅延を削減することを目的とする。   The present invention solves the above problems, packetizes a stream in which a moving image is encoded, adds a redundant packet for recovering packet loss by error correction calculation, and transmits the packet to a packet communication network. The purpose is to reduce video transmission delay in a communication system.

前項で述べた課題を解決するために,本発明による映像符号化・送信装置では,符号化処理の終了した映像符号化ストリームが,上述の仮想バッファモデルの規定を満たすことを目的として符号化装置内部のバッファに蓄積されている特性に着目し,符号化装置からの出力を待たず,バッファに蓄積されている映像符号から,通信ネットワークへ送出する際のパケット分割位置を予測してFEC符号化を行い,FEC符号バッファに蓄積する。そして,映像符号化ストリームがバッファから出力されてメディアパケットを構成する際,対応するFEC符号を事前にFEC符号バッファから読み出してFECパケットを構成し,ネットワークへ送出する。   In order to solve the problem described in the previous section, in the video encoding / transmission apparatus according to the present invention, an encoding apparatus for the purpose of satisfying the above-mentioned definition of the virtual buffer model for a video encoded stream for which encoding processing has been completed Focusing on the characteristics stored in the internal buffer, without waiting for the output from the encoding device, predict the packet division position when sending to the communication network from the video code stored in the buffer, FEC encoding Are stored in the FEC code buffer. When a video encoded stream is output from the buffer to form a media packet, the corresponding FEC code is read from the FEC code buffer in advance to form an FEC packet and sent to the network.

以上のように,本発明によって,符号化ストリームがバッファから出力されるより前に,FEC符号を演算しておくことにより,バッファから出力された符号化ストリームを改めてFEC符号バッファに蓄積する必要がなく,FECパケットをネットワークに送出することができ,結果としてFECによるパケットロス耐性機能を使用する映像送受信装置の映像伝送遅延を削減することができる。   As described above, according to the present invention, it is necessary to store the encoded stream output from the buffer again in the FEC code buffer by calculating the FEC code before the encoded stream is output from the buffer. Therefore, the FEC packet can be transmitted to the network, and as a result, the video transmission delay of the video transmission / reception apparatus using the packet loss tolerance function by FEC can be reduced.

〔実施形態1〕
図1は,本発明の第1の実施形態による映像符号化・送信装置の構成例を示す図である。
Embodiment 1
FIG. 1 is a diagram illustrating a configuration example of a video encoding / transmission apparatus according to the first embodiment of the present invention.

圧縮装置(エンコーダ)1は,映像符号化器2と,映像符号化ストリームバッファ3と,符号出力器4とを備える。FEC符号事前生成部5は,通信ネットワークへ送出する際のパケット分割位置を予測して事前にFEC符号化を行うものであり,符号情報バッファ51と,パケット化予測器52と,読出順序制御器53と,FEC符号化器54と,FEC符号バッファ55とを備える。圧縮装置1およびFEC符号事前生成部5によって生成された符号は,ネットワーク送信器6を介して通信ネットワークへ送出される。   The compression device (encoder) 1 includes a video encoder 2, a video encoded stream buffer 3, and a code output unit 4. The FEC code pre-generation unit 5 performs FEC encoding in advance by predicting the packet division position when sending to the communication network, and includes a code information buffer 51, a packetization predictor 52, and a reading order controller. 53, an FEC encoder 54, and an FEC code buffer 55. The codes generated by the compression device 1 and the FEC code pre-generation unit 5 are sent to the communication network via the network transmitter 6.

本装置の動作は,以下のとおりである。映像符号化器2によって符号化された映像符号21は,映像符号化ストリームバッファ3へ格納されると同時に,FEC符号事前生成部5にも分配され,符号情報バッファ51に格納される。   The operation of this device is as follows. The video code 21 encoded by the video encoder 2 is stored in the video encoded stream buffer 3 and simultaneously distributed to the FEC code pre-generation unit 5 and stored in the code information buffer 51.

パケット化予測器52は,符号情報バッファ51に格納された符号情報511を順次読み出し,通信ネットワークへ送出する際のペイロードの分割位置を推定して,パケット境界情報521を読出順序制御器53へ出力する。   The packetization predictor 52 sequentially reads the code information 511 stored in the code information buffer 51, estimates the division position of the payload when sending it to the communication network, and outputs the packet boundary information 521 to the read order controller 53. To do.

ここで,パケット化予測器52が,パケット境界情報521を出力するための判定方法を図2に示す。ここでは例として,ペイロードが一定のサイズP1であるが,各ピクチャの境界とパケット境界とは一致しなければならないとの制約があるものとする。すなわち,ネットワークへ送信されるメディアパケットのペイロードサイズは普段P1であるが,符号化ストリームのピクチャ境界においてはペイロードをP1未満で終了し,続くメディアパケットのペイロードにおいて,次ピクチャの符号化ストリームが先頭から格納されるものとする。このように,ペイロードサイズが規定長未満であってもペイロードを終了するポイントを,以降アライメントポイントと呼称する。   Here, a determination method for the packetization predictor 52 to output the packet boundary information 521 is shown in FIG. Here, as an example, it is assumed that the payload has a certain size P1, but there is a restriction that the boundary of each picture and the packet boundary must match. That is, the payload size of the media packet transmitted to the network is usually P1, but the payload ends at less than P1 at the picture boundary of the encoded stream, and the encoded stream of the next picture starts at the beginning of the media packet payload. Shall be stored. The point at which the payload ends even if the payload size is less than the specified length is hereinafter referred to as an alignment point.

図2に示すように,まずステップS1において,パケットペイロード量を示す値pをp=0に初期化する。続いてステップS2において符号化ストリームを1バイト読み進めるとともに,ステップS3でpを1加算する。   As shown in FIG. 2, first, in step S1, a value p indicating the packet payload amount is initialized to p = 0. Subsequently, in step S2, the encoded stream is read by 1 byte, and p is incremented by 1 in step S3.

続くステップS4にて,符号化ストリームがアライメントポイントに到達したか否かを判定する。すなわち,この例では,ピクチャ境界に達したか否かを判定する。また,ステップS5にて,p=P1になったか否かを判定する。ステップS4とステップS5とがともに偽の場合にはステップS2に戻り,引き続きパケット境界の探索を続ける。   In subsequent step S4, it is determined whether or not the encoded stream has reached the alignment point. That is, in this example, it is determined whether or not the picture boundary has been reached. In step S5, it is determined whether or not p = P1. If both step S4 and step S5 are false, the process returns to step S2, and the search for the packet boundary is continued.

ステップS4またはステップS5のいずれかにおいて真であると判定された場合には,ステップS6でその位置をパケット境界と判定してマーキングし,ステップS1に戻って新たなパケット境界の判定を開始する。このようにして判定したパケット境界位置を,パケット境界情報521として出力する。   If it is determined to be true in either step S4 or step S5, the position is determined to be a packet boundary in step S6 and marked, and the process returns to step S1 to start a new packet boundary determination. The packet boundary position determined in this way is output as packet boundary information 521.

読出順序制御器53は,このパケット境界情報521に基づいて符号情報バッファ51から順次値を読み出し,FEC符号化器54に供給する。   The reading order controller 53 sequentially reads values from the code information buffer 51 based on the packet boundary information 521 and supplies the values to the FEC encoder 54.

ここで読出順序制御器53の動作を図3に示す。読出順序制御器53は,予測されたk個のパケット境界の直後からそれぞれk個の値を読み出してFEC符号化器54によりFEC符号化演算を行い,演算結果であるn−k個のFEC符号551をFEC符号バッファ55の左端に格納する。この演算をパケット境界から順に右へ移動しつつ行い,演算結果であるFEC符号551をFEC符号バッファ55に順に右へ移動しつつ書き込んでいく。この演算を,FEC符号バッファ55の行の長さ,すなわちペイロードサイズP1の長さ分行う。   The operation of the reading order controller 53 is shown in FIG. The reading order controller 53 reads k values immediately after the predicted k packet boundaries, performs the FEC encoding operation by the FEC encoder 54, and outputs n−k FEC codes as the operation results. 551 is stored at the left end of the FEC code buffer 55. This calculation is performed while moving to the right sequentially from the packet boundary, and the FEC code 551 as the calculation result is written to the FEC code buffer 55 while moving to the right sequentially. This calculation is performed for the length of the row of the FEC code buffer 55, that is, the length of the payload size P1.

前述のアライメントポイントにより,ペイロードサイズがP1に満たないペイロードについては,残る部分をあらかじめ定めたダミー値(0など)としてFEC符号化器54に供給する。こうしてFEC符号バッファ55には,予測されたk個のメディアパケットに対応するFECパケットのペイロードがn−k個生成されることになる。   With respect to the payload whose payload size is less than P1, the remaining part is supplied to the FEC encoder 54 as a predetermined dummy value (such as 0) due to the alignment point described above. Thus, nk payloads of FEC packets corresponding to the predicted k media packets are generated in the FEC code buffer 55.

また,FEC符号バッファ55には,FEC符号551に対応してFEC対象シーケンス番号552が記録される。FEC対象シーケンス番号552は,符号情報バッファ51内の符号化ストリームとFEC符号バッファ55内のFEC符号551との対応関係を示すものであり,動作開始後最初のk個のメディアパケットに対して演算したFECには「0〜k−1」が付与される。続くk個のメディアパケットに対して演算したFECには「k〜2k−1」,続くk個のメディアパケットに対して演算したFECには「2k〜3k−1」が付与される。   Further, the FEC target sequence number 552 is recorded in the FEC code buffer 55 corresponding to the FEC code 551. The FEC target sequence number 552 indicates the correspondence between the encoded stream in the code information buffer 51 and the FEC code 551 in the FEC code buffer 55, and is calculated for the first k media packets after the operation starts. “0 to k−1” is assigned to the FEC. “K˜2k−1” is assigned to the FEC calculated for the subsequent k media packets, and “2k to 3k−1” is assigned to the FEC calculated for the subsequent k media packets.

図1に戻り,符号出力器4が蓄積された符号化ストリームを映像符号化ストリームバッファ3から読み出し,出力符号41として出力すると,ネットワーク送信器6はこれをメディアパケット化して通信ネットワークに送出するが,あわせて,対応するFEC符号をFEC符号バッファ55から読み出してFECパケット化し,通信ネットワークに送出する。   Returning to FIG. 1, when the encoded stream stored in the code output unit 4 is read from the video encoded stream buffer 3 and output as the output code 41, the network transmitter 6 converts it into a media packet and sends it to the communication network. In addition, the corresponding FEC code is read from the FEC code buffer 55, converted into an FEC packet, and sent to the communication network.

この動作を図4によって説明する。図4は,FECパケットとメディアパケットの送信を説明する図である。   This operation will be described with reference to FIG. FIG. 4 is a diagram illustrating transmission of FEC packets and media packets.

符号出力器4は,映像符号化ストリームバッファ3に蓄積されている符号化ストリームを順に読み出し,仮想バッファモデルを満たすよう出力タイミングを制御しつつ,出力符号41として出力する。   The code output unit 4 sequentially reads out the encoded stream stored in the video encoded stream buffer 3, and outputs it as an output code 41 while controlling the output timing so as to satisfy the virtual buffer model.

今,ネットワーク送信器6が,シーケンス番号M〜M+k−1のメディアパケットを生成するために,出力符号41を読み込む状態にあるとする。このとき,ネットワーク送信器6は,FEC対象シーケンス番号552として「M〜M+k−1」が付与されたFEC符号,すなわち,シーケンス番号M〜M+k−1のメディアパケットに対応するFEC符号を,FEC符号バッファ55から読み込み,FECパケット611を生成して,シーケンス番号M〜M+k−1のメディアパケット612に先んじて通信ネットワークに送出する。   Assume that the network transmitter 6 is in a state of reading the output code 41 in order to generate media packets with sequence numbers M to M + k−1. At this time, the network transmitter 6 converts the FEC code assigned with “M to M + k−1” as the FEC target sequence number 552, that is, the FEC code corresponding to the media packet of the sequence number M to M + k−1, Reading from the buffer 55, an FEC packet 611 is generated, and sent to the communication network prior to the media packet 612 of sequence numbers M to M + k-1.

FECパケット611のヘッダには,FECパケット自身のシーケンス番号(先頭のFECパケットから順に,1ずつ増加する通し番号)と,FECベース番号として,対応するメディアパケットの最小シーケンス番号(この例では,M)を記したフィールド,およびマスクフィールドが存在する。FECパケットの生成と送信が完了したら,ネットワーク送信器6は,続いてシーケンス番号M〜M+k−1のメディアパケットを生成し,出力する。   The header of the FEC packet 611 includes the sequence number of the FEC packet itself (a serial number that increases by 1 in order from the first FEC packet), and the minimum sequence number of the corresponding media packet (M in this example) as the FEC base number. There is a field marked with and a mask field. When the generation and transmission of the FEC packet are completed, the network transmitter 6 subsequently generates and outputs media packets with sequence numbers M to M + k−1.

ここで,シーケンス番号M〜M+k−1のメディアパケット612に先んじて,FECパケットを送信するのは,受信側においてFECパケットが先着していれば,続くメディアパケットにパケットロスが発生した際に,すでに到着しているFECパケットを使用して直ちにFEC復号を行うことができ,伝送遅延をさらに減少させることができるからである。   Here, the FEC packet is transmitted prior to the media packet 612 having the sequence numbers M to M + k−1. If the FEC packet arrives first on the receiving side, when a packet loss occurs in the subsequent media packet, This is because the FEC decoding can be immediately performed using the FEC packet that has already arrived, and the transmission delay can be further reduced.

なお,前記においてメディアパケットのシーケンス番号をM〜M+k−1としたが,RFC3550に準拠したRTPパケットのシーケンス番号は常に0から開始するのではなく,ランダムな値から開始しなければならないと規定されている。そのため,図4で示したメディアパケットのシーケンス番号,およびFECパケットのFECベース番号とFEC対象シーケンス番号については,実際には,送信開始時にランダムに決定した初期値Si を加算した値を使用する。 In the above description, the sequence number of the media packet is set to M to M + k−1. However, it is specified that the sequence number of the RTP packet conforming to RFC3550 does not always start from 0 but should start from a random value. ing. For this reason, the media packet sequence number shown in FIG. 4 and the FEC base number and FEC target sequence number of the FEC packet are actually values obtained by adding the initial values S i randomly determined at the start of transmission. .

以上述べたように,実施形態1に基づく映像符号化・送信装置によれば,映像符号化ストリームバッファ3に蓄積されている符号化ストリームに対して,ネットワークへ送出する際のパケット境界を予測して事前にFEC符号を生成し,符号化ストリームを送信する際には,対応する生成済みのFEC符号を読み出してFECパケットを構成し出力する。これにより,映像符号化ストリームバッファ3から出力された符号化ストリームを,再びFEC符号化を行うために蓄積する必要がなく,結果として映像の符号化から出力までに要する遅延を大幅に減少させることができる。   As described above, according to the video encoding / transmitting apparatus based on the first embodiment, the packet boundary when sending to the network is predicted for the encoded stream stored in the video encoded stream buffer 3. When an FEC code is generated in advance and an encoded stream is transmitted, the corresponding generated FEC code is read, and an FEC packet is configured and output. As a result, it is not necessary to store the encoded stream output from the video encoded stream buffer 3 in order to perform FEC encoding again, and as a result, the delay required from video encoding to output can be greatly reduced. Can do.

なお,実施形態1においては,映像符号化ストリームバッファ3と符号情報バッファ51は別個のものとして記載したが,これら2つのバッファに格納されるストリームは同一のものであるから,これらを映像符号化ストリームバッファ3に統一することもできる。この場合,パケット化予測器52および読出順序制御器53は,映像符号化ストリームバッファ3から符号化ストリームを読み取り,パケット分割位置の予測およびFEC符号化器54への符号供給を行う。   In the first embodiment, the video encoding stream buffer 3 and the code information buffer 51 are described as separate ones. However, since the streams stored in these two buffers are the same, they are encoded as video. The stream buffer 3 can be unified. In this case, the packetization predictor 52 and the reading order controller 53 read the encoded stream from the video encoded stream buffer 3, predict the packet division position, and supply the code to the FEC encoder 54.

また,FEC符号事前生成部5は,必ずしも圧縮装置1と独立して存在する必要はなく,FEC符号事前生成部5が圧縮装置1の内部に存在する構成でもかまわない。   Further, the FEC code pre-generation unit 5 does not necessarily have to exist independently of the compression device 1, and the FEC code pre-generation unit 5 may be configured to exist inside the compression device 1.

さらに,実施形態1においては,パケット化予測器52が符号情報バッファ51から符号情報を読み込み,映像符号の構成を解析するものとして記載したが,映像符号の構成情報は,映像符号化器2から直接パケット化予測器52に供給される構成としてもよい。この場合,映像符号化器2からは,ピクチャ境界などアライメントポイントの情報が,例えば映像符号の累積バイト位置(符号化開始時点をゼロとした累積のバイトカウント)として供給される。   Further, in the first embodiment, the packetization predictor 52 reads the code information from the code information buffer 51 and analyzes the configuration of the video code. However, the configuration information of the video code is obtained from the video encoder 2. It may be configured to be directly supplied to the packetization predictor 52. In this case, the video encoder 2 supplies alignment point information such as a picture boundary, for example, as a cumulative byte position of the video code (cumulative byte count where the encoding start time is zero).

〔実施形態2〕
実施形態2では,ネットワークに送出するメディアパケットのペイロードのみならず,ヘッダ情報の一部もFEC符号化によって保護する場合について述べる。例えばRFC2733においては,RTPヘッダに位置するパディングビット(P),ヘッダ拡張ビット(X),CSRC数(CC),マーカビット(M),ペイロードタイプ(PT),タイムスタンプ,パケット長(LEN),CSRCリスト,ヘッダ拡張の各フィールドについてもFEC符号化を行い,パケットロスから保護することが規定されている。非特許文献1では,このうちP,X,CC,M,PT,およびタイムスタンプについて,FECによる保護を行っている。
[Embodiment 2]
In the second embodiment, a case will be described in which not only a payload of a media packet sent to a network but also a part of header information is protected by FEC encoding. For example, in RFC 2733, the padding bit (P), header extension bit (X), CSRC number (CC), marker bit (M), payload type (PT), time stamp, packet length (LEN) located in the RTP header, It is specified that the fields of the CSRC list and the header extension are also subjected to FEC encoding and protected from packet loss. Non-Patent Document 1 protects P, X, CC, M, PT, and time stamp among these by FEC.

実施形態2による映像符号化・送信装置の構成を図5に示す。実施形態2において,パケット化予測器52は,実施形態1と同様にパケット境界情報521を提供するだけでなく,FECによる保護の対象となるRTPヘッダフィールドの値であるヘッダ予測値522をあわせて生成し,FEC符号化器54へ供給する。   The configuration of the video encoding / transmission apparatus according to the second embodiment is shown in FIG. In the second embodiment, the packetization predictor 52 not only provides the packet boundary information 521 as in the first embodiment, but also combines the predicted header value 522 that is the value of the RTP header field to be protected by FEC. It is generated and supplied to the FEC encoder 54.

ヘッダ予測値522は,符号情報511,ならびにネットワーク送信器6から取得する送信パラメータ62をもとに生成される。例としてP,X,CC,M,PT,タイムスタンプおよびパケット長をFEC保護の対象とし,パディングや拡張ヘッダ,CSRCリストは使用しない場合の例を図6に示す。   The header predicted value 522 is generated based on the code information 511 and the transmission parameter 62 acquired from the network transmitter 6. As an example, FIG. 6 shows an example in which P, X, CC, M, PT, time stamp, and packet length are subject to FEC protection, and padding, extension header, and CSRC list are not used.

パディングや拡張ヘッダ,CSRCリストを使用しないから,P,X,CCは常に0である。PT値は,RFC1890の規定に従い,H.261なら31,MPEGビデオなら32など,動画像ストリームの符号化方式によって決まる一定値である。   Since no padding, extension header, or CSRC list is used, P, X, and CC are always 0. The PT value is determined according to RFC 1890, H.264. It is a fixed value determined by the encoding method of the moving image stream, such as 31 for 261 and 32 for MPEG video.

マーカビット(M)の定義は,動画像ストリームの符号化方式によって異なるが,例えばMPEG−4ビジュアルの場合には,RFC3016の規定により,ピクチャ境界でM=1とすることが規定されているから,符号情報511に基づいて,アライメントポイントと同一のパケットに対してM=1とすればよい。MPEG−1/2ビデオの場合には,RFC2250の規定により,タイムスタンプが不連続となった場合にM=1とすることが規定されているから,同一のタイムスタンプを使用している符号化中はM=0のままでよい。   The definition of the marker bit (M) differs depending on the encoding method of the moving image stream. For example, in the case of MPEG-4 visual, it is specified that M = 1 at the picture boundary according to the specification of RFC3016. Based on the code information 511, M = 1 may be set for the same packet as the alignment point. In the case of MPEG-1 / 2 video, RFC 2250 defines that M = 1 when the time stamp becomes discontinuous, so that encoding using the same time stamp is performed. The inside may remain M = 0.

タイムスタンプについては,符号情報511として,符号化ストリームのビットレートを得ることにより,予測を行うことができる。例えば,R(bits/sec)の一定ビットレート(CBR)で符号化出力されるストリームであり,通信ネットワークへの送出も一定ビットレートで行うとすると,
・符号化開始時点から,当該メディアパケットのペイロード先頭までの累積ビット量=ra
・1秒あたりのタイムスタンプの増加値=C(90KHzクロックの場合にはC=90000),
・タイムスタンプの初期値=Tbase
として,タイムスタンプ値Tは,
T=Tbase+C*ra /R
と予測することができる。ただし,Tは16ビットの値であるので,実際のTはT÷216の剰余値となる。また,予測値と実値が食い違うことを防ぐため,ネットワーク送信器6においても,上記と同一の式に基づいてタイムスタンプ値を導き出し,送出タイミングを決定するものとする。
The time stamp can be predicted by obtaining the bit rate of the encoded stream as the code information 511. For example, if a stream is encoded and output at a constant bit rate (CBR) of R (bits / sec) and is sent to a communication network at a constant bit rate,
· The encoding start point, the accumulated bit amount up payload head of the media packets = r a,
Increase value of time stamp per second = C (C = 90,000 in case of 90 KHz clock),
・ Initial value of time stamp = T base ,
The time stamp value T is
T = T base + C * r a / R
Can be predicted. However, since T is a 16-bit value, the actual T is a remainder value of T ÷ 2 16 . In order to prevent the predicted value and the actual value from being different from each other, the network transmitter 6 also derives a time stamp value based on the same formula as described above, and determines the transmission timing.

パケット長(LEN)はペイロードサイズに依存するので,パケット境界位置の予測によって得ることができる。   Since the packet length (LEN) depends on the payload size, it can be obtained by predicting the packet boundary position.

以上述べたように,符号情報511および送信パラメータ62から,FEC保護の対象となるRTPヘッダの値を生成し,FEC符号化器54に供給する。   As described above, the RTP header value to be FEC protected is generated from the code information 511 and the transmission parameter 62 and supplied to the FEC encoder 54.

なお,ここではP,X,CC,M,PT,およびタイムスタンプを保護するだけの簡単な例を挙げたが,その他の場合においても,ヘッダ拡張の有無,CSRCの数,ペイロードタイプなどのパラメータは,ネットワーク送信器6で既知であるから,これを送信パラメータ62として取得し,X,CC,PT値を生成することができる。   In this example, a simple example of protecting only P, X, CC, M, PT, and time stamp has been described. However, in other cases, parameters such as presence / absence of header extension, number of CSRC, payload type, etc. Is known by the network transmitter 6, it can be acquired as a transmission parameter 62 and X, CC, and PT values can be generated.

また,特定の動画像ストリームの符号化方式(例えばRFC2250に規定されるMPEG−1ビデオ)においては,拡張ヘッダに符号化パラメータの一部(テンポラルリファレンス,各種ヘッダの存在ビットなど)を格納することが要求されるが,これら拡張ヘッダの内容は符号化ストリームの解析によって得られるものであるから,符号情報511から生成可能である。   In addition, in a specific moving picture stream encoding method (for example, MPEG-1 video defined in RFC2250), a part of encoding parameters (temporal reference, existence bits of various headers, etc.) are stored in an extension header. However, since the contents of these extension headers are obtained by analyzing the encoded stream, they can be generated from the code information 511.

図6に戻り,FEC演算対象となるk個のメディアパケットについて生成されたヘッダ予測値522が,FEC符号化器54へと供給されてFEC符号を生成し,FEC符号バッファ55のヘッダ保護FEC符号553領域に格納される。続いて,実施形態1と同様に,予測されたパケット分割位置に基づいてパケットペイロードのFEC符号化が行われる。   Returning to FIG. 6, the header prediction value 522 generated for the k media packets to be subjected to the FEC operation is supplied to the FEC encoder 54 to generate the FEC code, and the header protection FEC code of the FEC code buffer 55 is generated. It is stored in the 553 area. Subsequently, as in the first embodiment, FEC encoding of the packet payload is performed based on the predicted packet division position.

その後,図5において,ネットワーク送信器6がFEC符号551を読み出す際には,あわせてヘッダ保護FEC符号553が読み出され,FECパケットのヘッダに存在するヘッダ保護用フィールドに格納される。   Thereafter, in FIG. 5, when the network transmitter 6 reads the FEC code 551, the header protection FEC code 553 is also read and stored in the header protection field existing in the header of the FEC packet.

例えば図7に示すRFC2733に規定されるFECパケットの構成において,パケット長(LEN)のFEC符号はlength recoveryに,ペイロードタイプ(PT)のFEC符号はPT recoveryに,タイムスタンプのFEC符号はTS recoveryにそれぞれ収容され,P,X,CC,MのFEC符号はそれぞれP,X,CC,Mフィールド自身に収容される。   For example, in the configuration of the FEC packet defined in RFC 2733 shown in FIG. 7, the FEC code of the packet length (LEN) is length recovery, the FEC code of the payload type (PT) is PT recovery, and the FEC code of the time stamp is TS recovery. F, P, X, CC, and M FEC codes are accommodated in the P, X, CC, and M fields themselves, respectively.

以上述べたように,メディアパケットのペイロードだけでなく,ヘッダの一部についてもFEC演算が必要な場合においても,FEC演算を行うヘッダ値を事前に予測してFEC符号化を行い,FECパケットを生成する際には事前に演算したFEC符号を使用することによって,FEC演算のために符号化ストリームを改めてバッファに蓄積する必要をなくし,伝送遅延を大幅に削減することができる。   As described above, even when the FEC operation is necessary not only for the payload of the media packet but also for a part of the header, the FEC encoding is performed by predicting the header value to be subjected to the FEC operation in advance. When the FEC code calculated in advance is used at the time of generation, it is not necessary to store the encoded stream in the buffer again for the FEC calculation, and the transmission delay can be greatly reduced.

本発明の第1の実施形態による映像符号化・送信装置の構成例を示す図である。It is a figure which shows the structural example of the video coding and transmission apparatus by the 1st Embodiment of this invention. パケット化予測器によるパケット境界判定処理フローチャートである。It is a packet boundary determination process flowchart by a packetization predictor. 読出順序制御器の動作を説明する図である。It is a figure explaining operation | movement of a reading order controller. FECパケットとメディアパケットの送信を説明する図である。It is a figure explaining transmission of a FEC packet and a media packet. 本発明の第2の実施形態による映像符号化・送信装置の構成例を示す図である。It is a figure which shows the structural example of the video coding and transmission apparatus by the 2nd Embodiment of this invention. ヘッダ情報の一部もFEC符号化によって保護する場合の例を示す図である。It is a figure which shows the example in case a part of header information is also protected by FEC encoding. FECパケットの構成例を示す図である。It is a figure which shows the structural example of a FEC packet. 従来の一般的な映像伝送システムの例を示す図である。It is a figure which shows the example of the conventional general video transmission system. 従来の他の映像伝送システムの例を示す図である。It is a figure which shows the example of the other conventional video transmission system. 一定のビットレートで映像符号を伝送したときの符号化側と復号側のバッファの状態の例を示す図である。It is a figure which shows the example of the state of the buffer of an encoding side and a decoding side when video code | symbol is transmitted with a fixed bit rate. FEC処理の代表的な配置の例を示す図である。It is a figure which shows the example of the typical arrangement | positioning of FEC processing. FEC処理の代表的な配置の例を示す図である。It is a figure which shows the example of the typical arrangement | positioning of FEC processing. FECによる損失パケット回復の方法を説明する図である。It is a figure explaining the method of the loss packet recovery by FEC. FECパケットのヘッダフォーマットの一部を模式的に表した図である。It is the figure which represented typically a part of header format of a FEC packet.

符号の説明Explanation of symbols

1 圧縮装置(エンコーダ)
2 映像符号化器
3 映像符号化ストリームバッファ
4 符号出力器
41 出力符号
5 FEC符号事前生成部
51 符号情報バッファ
511 符号情報
52 パケット化予測器
521 パケット境界情報
522 ヘッダ予測値
53 読出順序制御器
54 FEC符号化器
541 FEC符号
55 FEC符号バッファ
551 FEC符号
552 FEC対象シーケンス番号
553 ヘッダ保護FEC符号
6 ネットワーク送信器
61 送信パケット
611 FECパケット
612 メディアパケット
62 送信パラメータ
1 Compression device (encoder)
2 Video encoder 3 Video encoded stream buffer 4 Code output device 41 Output code 5 FEC code pre-generation unit 51 Code information buffer 511 Code information 52 Packetization predictor 521 Packet boundary information 522 Header prediction value 53 Reading order controller 54 FEC encoder 541 FEC code 55 FEC code buffer 551 FEC code 552 FEC target sequence number 553 Header protection FEC code 6 Network transmitter 61 Transmission packet 611 FEC packet 612 Media packet 62 Transmission parameter

Claims (6)

動画像を符号化したストリームをパケット化し,誤り訂正演算によってパケット損失を回復するための冗長なパケットを付加して,パケット通信ネットワークへ送信する映像符号化・送信装置において,
符号化したストリームの構成から,パケット通信ネットワークへ送信する際のパケット分割位置を予測するパケット化予測手段と,
予測されたパケット分割位置に基づいて,符号化したストリームを読み込み,誤り訂正符号を演算する誤り訂正符号演算手段と,
符号化したストリームと,上記誤り訂正符号演算手段によって演算された誤り訂正符号とを対応づけてパケット化し,パケット通信ネットワークへ送出するネットワーク送信手段とを備える
ことを特徴とする映像符号化・送信装置。
In a video encoding / transmitting device that packetizes a stream in which a moving image is encoded, adds a redundant packet for recovering packet loss by error correction calculation, and transmits the packet to a packet communication network.
A packetization prediction means for predicting a packet division position when transmitting to the packet communication network from the configuration of the encoded stream;
An error correction code calculation means for reading an encoded stream and calculating an error correction code based on the predicted packet division position;
A video encoding / transmission apparatus comprising: a network transmission unit that packetizes an encoded stream and the error correction code calculated by the error correction code calculation unit in association with each other and sends the packet to a packet communication network .
請求項1記載の映像符号化・送信装置において,
上記パケット化予測手段は,パケット通信ネットワークへ送信するパケットのペイロードサイズと,符号化したストリームにおいて映像伝送フォーマットの規定に従ってペイロードを終了することが要求される位置を検出した情報に基づいて,パケット分割位置の予測を行う
ことを特徴とする映像符号化・送信装置。
The video encoding / transmission apparatus according to claim 1,
The packetization predicting means performs packet segmentation based on the payload size of the packet to be transmitted to the packet communication network, and information that detects the position where the payload is required to be terminated in accordance with the video transmission format specification in the encoded stream. A video encoding / transmission device that performs position prediction.
請求項1または請求項2記載の映像符号化・送信装置において,
上記パケット化予測手段はさらに,符号化したストリームをパケット通信ネットワークへ送出する際に,ネットワークパケットのヘッダに付加する必要がある情報を予測して生成し,
上記誤り訂正符号演算手段はさらに,上記パケット化予測手段が生成したヘッダ情報に対して誤り訂正符号演算を行い,
上記ネットワーク送信手段はさらに,誤り訂正符号をパケット化する際に,上記のヘッダ情報に対して生成された誤り訂正符号を含めたパケットを生成する
ことを特徴とする映像符号化・送信装置。
In the video encoding / transmission apparatus according to claim 1 or 2,
The packetization predicting means further predicts and generates information that needs to be added to the header of the network packet when sending the encoded stream to the packet communication network,
The error correction code calculation means further performs error correction code calculation on the header information generated by the packetization prediction means,
The video transmission / transmission apparatus, wherein the network transmission means further generates a packet including the error correction code generated for the header information when packetizing the error correction code.
動画像を符号化したストリームをパケット化し,誤り訂正演算によってパケット損失を回復するための冗長なパケットを付加して,パケット通信ネットワークへ送信する映像符号化・送信方法において,
符号化したストリームの構成から,パケット通信ネットワークへ送信する際のパケット分割位置を予測するパケット化予測過程と,
予測されたパケット分割位置に基づいて,符号化したストリームを読み込み,誤り訂正符号を演算する誤り訂正符号演算過程と,
符号化したストリームと,上記誤り訂正符号演算過程によって演算された誤り訂正符号とを対応づけてパケット化し,パケット通信ネットワークへ送出するネットワーク送信過程とを有する
ことを特徴とする映像符号化・送信方法。
In a video encoding / transmission method in which a stream in which a moving image is encoded is packetized, a redundant packet for recovering packet loss is added by error correction calculation, and the packet is transmitted to a packet communication network.
A packetization prediction process for predicting a packet division position when transmitting to a packet communication network from the configuration of the encoded stream;
An error correction code calculation process of reading an encoded stream and calculating an error correction code based on the predicted packet division position;
A video encoding / transmission method comprising: a network transmission process in which an encoded stream and the error correction code calculated by the error correction code calculation process are associated with each other and packetized and transmitted to a packet communication network .
動画像を符号化したストリームをパケット化し,誤り訂正演算によってパケット損失を回復するための冗長なパケットを付加して,パケット通信ネットワークへ送信する映像符号化・送信装置が備えるコンピュータに実行させるための映像符号化・送信プログラムであって,
上記コンピュータを,
符号化したストリームの構成から,パケット通信ネットワークへ送信する際のパケット分割位置を予測するパケット化予測手段と,
予測されたパケット分割位置に基づいて,符号化したストリームを読み込み,誤り訂正符号を演算する誤り訂正符号演算手段と,
符号化したストリームと,上記誤り訂正符号演算手段によって演算された誤り訂正符号とを対応づけてパケット化し,パケット通信ネットワークへ送出するネットワーク送信手段として
機能させるための映像符号化・送信プログラム。
Video stream for encoding moving images is packetized, and redundant packets are added to recover packet loss by error correction, and the computer is provided for the video encoding / transmission device that transmits to the packet communication network. A video encoding / transmission program,
The above computer
A packetization prediction means for predicting a packet division position when transmitting to the packet communication network from the configuration of the encoded stream;
An error correction code calculation means for reading an encoded stream and calculating an error correction code based on the predicted packet division position;
A video encoding / transmission program for functioning as a network transmission means for packetizing an encoded stream and the error correction code calculated by the error correction code calculation means and sending them to a packet communication network.
動画像を符号化したストリームをパケット化し,誤り訂正演算によってパケット損失を回復するための冗長なパケットを付加して,パケット通信ネットワークへ送信する映像符号化・送信装置が備えるコンピュータに実行させるための映像符号化・送信プログラムを記録したコンピュータ読み取り可能な記録媒体であって,
上記コンピュータを,
符号化したストリームの構成から,パケット通信ネットワークへ送信する際のパケット分割位置を予測するパケット化予測手段と,
予測されたパケット分割位置に基づいて,符号化したストリームを読み込み,誤り訂正符号を演算する誤り訂正符号演算手段と,
符号化したストリームと,上記誤り訂正符号演算手段によって演算された誤り訂正符号とを対応づけてパケット化し,パケット通信ネットワークへ送出するネットワーク送信手段として
機能させるための映像符号化・送信プログラムを記録した記録媒体。
Video stream for encoding moving images is packetized, and redundant packets are added to recover packet loss by error correction, and the computer is provided for the video encoding / transmission device that transmits to the packet communication network. A computer-readable recording medium on which a video encoding / transmission program is recorded,
The above computer
A packetization prediction means for predicting a packet division position when transmitting to the packet communication network from the configuration of the encoded stream;
An error correction code calculation means for reading an encoded stream and calculating an error correction code based on the predicted packet division position;
A video encoding / transmission program for recording the encoded stream and the error correction code calculated by the error correction code calculation means in association with each other and packetizing it and sending it to the packet communication network is recorded. recoding media.
JP2005208030A 2005-07-19 2005-07-19 VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF Active JP4041137B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005208030A JP4041137B2 (en) 2005-07-19 2005-07-19 VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005208030A JP4041137B2 (en) 2005-07-19 2005-07-19 VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF

Publications (2)

Publication Number Publication Date
JP2007028241A JP2007028241A (en) 2007-02-01
JP4041137B2 true JP4041137B2 (en) 2008-01-30

Family

ID=37788408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005208030A Active JP4041137B2 (en) 2005-07-19 2005-07-19 VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF

Country Status (1)

Country Link
JP (1) JP4041137B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5376855B2 (en) * 2008-07-29 2013-12-25 キヤノン株式会社 Data transmission apparatus and data transmission method
JP5204006B2 (en) * 2009-02-27 2013-06-05 株式会社東芝 Apparatus, method, and program for transmitting data
JP4972128B2 (en) * 2009-06-16 2012-07-11 日本電信電話株式会社 Encoding / decoding system and encoding / decoding method
JP5728069B1 (en) * 2013-12-11 2015-06-03 日本電信電話株式会社 Forward error correction information generation device, forward error correction device, forward error correction information generation method, forward error correction method, forward error correction information generation program, and forward error correction program
JP5833191B1 (en) * 2014-06-25 2015-12-16 日本電信電話株式会社 Distribution system and method
EP3086497B1 (en) * 2015-04-24 2019-03-06 Alcatel Lucent An apparatus and a method for a regenerative network node between a first and a second link portion
JP6667285B2 (en) * 2015-12-21 2020-03-18 日本放送協会 Transmitting device, receiving device, program, and chip
JP6673604B2 (en) * 2016-06-14 2020-03-25 三菱電機株式会社 Log data transfer method and log data transfer system
CN109862364A (en) * 2019-01-25 2019-06-07 深圳市朗强科技有限公司 A kind of sending, receiving method and device of ultra high-definition video

Also Published As

Publication number Publication date
JP2007028241A (en) 2007-02-01

Similar Documents

Publication Publication Date Title
JP4041137B2 (en) VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF
KR101125846B1 (en) Method for transmitting image frame data based on packet system and apparatus thereof
JP5847577B2 (en) High quality stream protection over broadcast channels using symbolic identifiers derived from lower level packet structures
US7320099B2 (en) Method and apparatus for generating error correction data, and a computer-readable recording medium recording an error correction data generating program thereon
US7751324B2 (en) Packet stream arrangement in multimedia transmission
US20060291475A1 (en) Selective forward error correction
JP5442816B2 (en) Streaming and buffering using variable FEC overhead and protection period
US7539187B2 (en) System and method for low-latency content-sensitive forward error correction
EP0996292B1 (en) Method and apparatus for receiving MPEG video over the internet and decoding thereof
JP5409032B2 (en) Transmitting apparatus, method, and program
US20160105259A1 (en) Apparatus and method of transmitting/receiving broadcast data
US20050013249A1 (en) Redundant packets for streaming video protection
EP1514378B1 (en) Multimedia server with simple adaptation to dynamic network loss conditions
US8010863B2 (en) Method and apparatus for synchronizing multiple multimedia streams
US8004963B2 (en) Apparatus and method for packet redundancy and recovery
JP2000134619A (en) Encoding method and encoder
KR20080059508A (en) Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
EP1813115A1 (en) Buffering packets of a media stream
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
JP4696008B2 (en) IP transmission apparatus and IP transmission method
JP5553663B2 (en) Video transmission device, video reception device, video transmission system
KR20130039866A (en) Method and apparatus for transmitting/receiving forward error correction packet in a communication system
JP4604851B2 (en) Transmission device, reception device, transmission processing method, reception processing method, and program thereof
JP2005033556A (en) Data transmitter, data transmitting method, data receiver, data receiving method
JP5031230B2 (en) Data transmission apparatus and method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4041137

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

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131116

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350