JP6220017B1 - Encoding apparatus, encoding method, and encoding program - Google Patents
Encoding apparatus, encoding method, and encoding program Download PDFInfo
- Publication number
- JP6220017B1 JP6220017B1 JP2016138294A JP2016138294A JP6220017B1 JP 6220017 B1 JP6220017 B1 JP 6220017B1 JP 2016138294 A JP2016138294 A JP 2016138294A JP 2016138294 A JP2016138294 A JP 2016138294A JP 6220017 B1 JP6220017 B1 JP 6220017B1
- Authority
- JP
- Japan
- Prior art keywords
- block
- time
- packet
- data
- error correction
- 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
Links
Images
Landscapes
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
【課題】誤り訂正符号を付加したデータを低遅延で平滑化して送信する。【解決手段】符号化装置が、所定のブロック毎にパリティデータを算出し、1ブロック分のソースデータを入力した時間と同じ時間で、1ブロック分のソースデータとパリティデータを送出する。これにより、受信装置がブロックの先頭のソースデータを受信してから1ブロック分の時間でソースデータとパリティデータを受信できる。また、前のブロックのパリティデータの送出に必要な時間が経過するまで入力したソースデータを一時的に保持しておき、前のブロックのパリティデータの送出を終えてからソースデータの送出を開始する。これにより、バースト的にパリティデータが送出されず、かつソースデータの送出開始までの遅延をパリティデータの増加分に抑えることができる。【選択図】図2Data to which an error correction code is added is smoothed with a low delay and transmitted. An encoding device calculates parity data for each predetermined block, and sends out source data and parity data for one block in the same time as the time when source data for one block is input. As a result, the source data and the parity data can be received in a time corresponding to one block after the receiving apparatus receives the source data at the head of the block. Further, the input source data is temporarily held until the time necessary for transmitting the parity data of the previous block elapses, and the transmission of the source data is started after the transmission of the parity data of the previous block is completed. . Thereby, parity data is not transmitted in bursts, and the delay until the start of transmission of source data can be suppressed to an increase in parity data. [Selection] Figure 2
Description
本発明は、データを符号化する技術に関する。 The present invention relates to a technique for encoding data.
MMT(MPEG Media Transport)は、国際標準化された新しいメディア伝送技術である(非特許文献3)。MPEG−2 TSでは、システムクロックと呼ばれる固有の基準クロックが用いられていたが、MMTでは、グローバルな協定世界時を用いることで、複数装置からの同期伝送や、複数伝送路を用いた同期伝送が可能になった。これにより、MMTには、放送と通信のハイブリッド方向などの新しいユースが期待されている。 MMT (MPEG Media Transport) is a new media transmission technology that has been internationally standardized (Non-patent Document 3). In MPEG-2 TS, a unique reference clock called a system clock was used. In MMT, synchronous transmission from a plurality of devices or synchronous transmission using a plurality of transmission paths is performed by using a global coordinated universal time. Became possible. Accordingly, new uses such as a hybrid direction of broadcasting and communication are expected for MMT.
一方、IP通信はベストエフォート型の通信であり、IP通信網の輻輳によるデータ欠損などに対処する必要がある。放送のような一斉配信をIP通信網で行う場合、前方誤り訂正符号(FEC)による冗長化によりデータ欠損に対して耐性を持たせることが効果的である。 On the other hand, IP communication is best-effort communication, and it is necessary to deal with data loss due to congestion of the IP communication network. When simultaneous delivery such as broadcasting is performed on an IP communication network, it is effective to provide tolerance against data loss by redundancy using a forward error correction code (FEC).
前方誤り訂正符号のうちブロック符号と呼ばれる方式では、所定のサイズのブロックごとにパリティデータを生成する。生成されたパリティデータをすぐに伝送すると、受信側での復号までの遅延は少なくできるものの、図9に示すように、データがバースト的に送出されてしまうという問題があった。 In a method called a block code among forward error correction codes, parity data is generated for each block of a predetermined size. If the generated parity data is transmitted immediately, the delay until decoding on the receiving side can be reduced, but there is a problem that data is transmitted in bursts as shown in FIG.
バースト的に送出されるデータを平滑化するために、例えば、パリティデータを次に送出するソースブロック区間に重ねて送出することが考えられる。この方法はソースデータが時間あたり一定であり付加するパリティデータも時間あたり一定であれば、均一な送信レートとすることが出来る方法である。しかしながら、このシェイピング方法にて平滑化すると、図10に示すように、受信側ではパリティデータの受信が完了するまで復号できずに、遅延が発生してしまうという問題があった。また、例えばシェイピング装置を挟みシェイピングする方法がとられるが、シェイピング装置にはパケットが生成されたタイミングで渡されることから送出されるパリティデータはブロックをまたがった位置にパケットが挿入されるなどが発生してしまい、図10に示す場合と同様に遅延の発生や、タイムアウト処理の設定によっては意図通りにFECデコーダが機能しないことがあるという問題があった。さらに、MMTでは、MMT規格のパケット(MMTPパケット)に付与された協定世界時で指定された送出時刻に従ってMMTPパケットは送出される。シェイピング装置によって送信タイミングが変更された場合、受信側からはネットワーク内のジッターが発生したようにみえてしまい、受信端末のバッファ制御などに新たな問題を発生させてしまうという問題があった。 In order to smooth the data transmitted in a burst manner, for example, it is conceivable to transmit the parity data superimposed on the source block section to be transmitted next. In this method, if the source data is constant per time and the parity data to be added is also constant per time, a uniform transmission rate can be obtained. However, if smoothing is performed by this shaping method, as shown in FIG. 10, there is a problem in that the reception side cannot perform decoding until the reception of parity data is completed, resulting in a delay. In addition, for example, a shaping method is used with a shaping device sandwiched, but since the packet is passed to the shaping device at the timing when the packet is generated, the parity data to be sent is inserted at a position across blocks. Thus, as in the case shown in FIG. 10, there is a problem that the FEC decoder may not function as intended depending on the occurrence of delay and the setting of timeout processing. Further, in the MMT, the MMTP packet is transmitted in accordance with the transmission time specified in the Coordinated Universal Time attached to the MMT standard packet (MMTP packet). When the transmission timing is changed by the shaping device, there appears a problem that a jitter in the network appears from the receiving side and a new problem occurs in the buffer control of the receiving terminal.
非特許文献2では、到着したパケットをFEC演算より前に転送することで、中継ノードにおける遅延を回避しているが、パリティデータを送信する方法までは考慮していない。 In Non-Patent Document 2, a delay in the relay node is avoided by transferring the arrived packet before the FEC calculation, but the method for transmitting the parity data is not considered.
本発明は、上記に鑑みてなされたものであり、誤り訂正符号を付加したデータを低遅延で平滑化して送信することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to smooth and transmit data with an error correction code added with low delay.
第1の本発明に係る符号化装置は、入力データに対して所定のブロック毎に誤り訂正符号を算出する符号化手段と、前記入力データを前記誤り訂正符号の増加分を考慮した伝送速度の最大レートで前記誤り訂正符号の送出に必要な時間分のバッファ量を下限として保持するバッファと、前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した1ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出する送出手段と、を有し、前記送出手段は、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする。 An encoding apparatus according to a first aspect of the present invention includes encoding means for calculating an error correction code for each predetermined block for input data, and a transmission rate of the input data in consideration of an increase in the error correction code. A buffer that holds the buffer amount for the time required for sending out the error correction code at the maximum rate as a lower limit, and all input data of the block are input at a transmission rate that takes into account the increase in the error correction code Sending means for sending all the input data of the block and the error correction code within the time corresponding to the block, and the sending means corrects the error correction from the time when the first input data of the block is inputted. After the input data is held in the buffer for the time required for sending the code, the input data starts to be sent, and after all the input data of the block has been sent, Characterized in that it starts transmission of Ri correction code.
第2の本発明に係る符号化方法は、コンピュータによる符号化方法であって、入力データに対して所定のブロック毎に誤り訂正符号を算出するステップと、前記入力データをバッファに前記誤り訂正符号の増加分を考慮した伝送速度の最大レートで前記誤り訂正符号の送出に必要な時間分のバッファ量を下限として保持するステップと、前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した1ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出するステップと、を有し、前記送出するステップは、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする。 An encoding method according to a second aspect of the present invention is a computer encoding method, comprising: calculating an error correction code for each predetermined block for input data; and using the input data as a buffer for the error correction code. Holding the buffer amount for the time required for sending the error correction code as a lower limit at the maximum rate of the transmission rate in consideration of the increase in the block, and the block at the transmission rate in consideration of the increase in the error correction code Transmitting all the input data of the block and the error correction code within the time of one block in which all the input data of the block are input, and the step of transmitting includes the step of transmitting the first input of the block The input data is held in the buffer for a time required for sending the error correction code from the time when the data is inputted, and then the input data starts to be sent. Characterized in that to start the error correction transmission of codes after finished sending all the input data of the block.
第3の本発明に係る符号化プログラムは、上記符号化装置の各手段としてコンピュータを動作させることを特徴とする。 An encoding program according to a third aspect of the present invention is characterized in that a computer is operated as each unit of the encoding apparatus.
本発明によれば、誤り訂正符号を付加したデータを低遅延で平滑化して送信することができる。 According to the present invention, data to which an error correction code is added can be smoothed and transmitted with low delay.
[第1の実施の形態]
図1は、本実施の形態における符号化装置の構成を示す機能ブロック図である。
[First Embodiment]
FIG. 1 is a functional block diagram showing the configuration of the encoding apparatus according to the present embodiment.
図1に示す符号化装置は、FEC生成部11、バッファ機能部12、及び送信部13を備える。本符号化装置は、入力するソースデータにブロック単位でパリティデータ(誤り訂正符号)を付与して送出する装置であり、パリティデータの増大分を加味した伝送量でソースデータとパリティデータを伝送する。符号化装置が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは符号化装置が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
The encoding apparatus illustrated in FIG. 1 includes an
FEC生成部11は、所定のブロック毎に、入力したソースデータのパリティデータを算出する。FEC生成部11は、1ブロック分のソースデータからパリティデータを算出すると、パリティデータをバッファ機能部12へ送信する。
The
バッファ機能部12は、送信部13によって送出されるソースデータ及びパリティデータを一時的に保持する機能を有し、パリティデータの増大分を加味した伝送量でソースデータを伝送できるまでソースデータを一時的に保持する。
The
送信部13は、バッファ機能部12からソースデータ及びパリティデータを読み出し、1ブロック分のソースデータを入力した時間と同じ時間で、1ブロック分のソースデータとパリティデータを送出する。送出するデータのサイズは入力したソースデータよりもパリティデータのサイズ分増加しているので、送信部13は、1ブロック分の時間内にソースデータとパリティデータを送出できるように、ソースデータの入力伝送速度よりも速い伝送速度でソースデータとパリティデータを送出する。
The
次に、本実施の形態における符号化装置の動作について説明する。 Next, the operation of the coding apparatus according to the present embodiment will be described.
図2は、本実施の形態における符号化装置が受信するソースデータと送出するソースデータ及びパリティデータを示す図である。 FIG. 2 is a diagram illustrating source data received by the encoding apparatus according to the present embodiment, source data to be transmitted, and parity data.
符号化装置は、時刻TA0の時点からソースデータA0のブロックを入力し始める。符号化装置は、入力したソースデータA0をバッファ機能部12に蓄えて、時刻TA1まで送出しない。本実施の形態における符号化装置は、入力したソースデータA0をすぐに送出しないでバッファ機能部12に蓄えることで、前のブロックのパリティデータを送出する隙間を作っている。例えば、パリティデータのサイズが1Mbitで送出伝送速度が10Mbpsの場合、パリティデータの送出には、1Mbit/10bps=100msecの時間が必要である。したがって、バッファ機能部12は、ソースデータA0を100mesc分保持できるバッファを持つ。ソースデータA0を入力してから送出を開始するまで、つまり時刻TA0から時刻TA1までは100msecである。
The encoding apparatus starts to input a block of source data A0 from time TA0. The encoding apparatus stores the input source data A0 in the
符号化装置は、時刻TA1から、バッファ機能部12に蓄えられたソースデータA1を送出伝送速度S1で送出し始める。なお、入力したソースデータA0と送出するソースデータA1は同じデータであるが、入力と送出を区別するために、ソースデータのそれぞれに異なる符号A0,A1を付与している。
The encoding device starts sending the source data A1 stored in the
送出伝送速度S1は、ソースデータA0のブロックを全て入力する時間内つまり1ブロック分の時間内で、ソースデータA1とパリティデータApを送出し終えるように決められる。例えば、ソースデータA0の入力伝送速度S0が10Mbpsであり、1秒1ブロックのFECを適用し(ブロックの入力時間が1秒)、ソースデータA0に対して10%のパリティデータApを付加する場合を考える。ソースデータA0のサイズは10Mbps×1sec=10Mbitであるから、パリティデータApのサイズは10Mbit×10%=1Mbitとなる。符号化装置は、ソースデータA1とパリティデータApを合わせた11Mbitのデータを1秒で送出するので、必要な送出伝送速度S1は少なくとも11Mbpsとなる。 The transmission transmission speed S1 is determined such that the transmission of the source data A1 and the parity data Ap is completed within the time for inputting all the blocks of the source data A0, that is, within the time for one block. For example, when the input transmission rate S0 of the source data A0 is 10 Mbps, FEC of 1 block per second is applied (block input time is 1 second), and 10% parity data Ap is added to the source data A0. think of. Since the size of the source data A0 is 10 Mbps × 1 sec = 10 Mbit, the size of the parity data Ap is 10 Mbit × 10% = 1 Mbit. Since the encoding device sends out 11 Mbit of data including the source data A1 and the parity data Ap in one second, the necessary transmission transmission rate S1 is at least 11 Mbps.
符号化装置は、時刻TA2の時点で、ブロックの最後のソースデータA0を入力する。本実施の形態における符号化装置は、ブロックの最後のソースデータA0を遅延なしですぐに送出する。つまり、符号化装置は、時刻TA2の時点で、ソースデータA1の全てを送出し終えている。 The encoding device inputs the last source data A0 of the block at time TA2. The encoding apparatus according to the present embodiment immediately transmits the last source data A0 of the block without delay. That is, the encoding device has finished sending all of the source data A1 at time TA2.
符号化装置は、時刻TA2にブロックの最後のソースデータA0を入力すると、ソースデータA0のブロックのパリティデータApを算出し、パリティデータApの送出を開始する。符号化装置は、時刻TA2にはソースデータA1の全てを送出し終えているので、パリティデータApを時刻TA2から送出できる。 When the last source data A0 of the block is input at time TA2, the encoding device calculates the parity data Ap of the block of the source data A0 and starts sending the parity data Ap. Since the encoding device has finished sending all of the source data A1 at time TA2, it can send parity data Ap from time TA2.
符号化装置は、時刻TA2から、ソースデータA0のつぎのブロックであるソースデータB0を入力し始める。符号化装置は、入力したソースデータB0をバッファ機能部12に蓄えて、時刻TB1までソースデータB1を送出しない。
The encoding device starts to input source data B0, which is the next block of source data A0, from time TA2. The encoding apparatus stores the input source data B0 in the
符号化装置は、時刻TB1までに、パリティデータApを送出し終える。ソースデータA1の送出を開始した時刻TA1から時刻TB1までの時間は1ブロック分の時間と同じである。言い換えると、符号化装置は、ソースデータA1とパリティデータApを1ブロック分の時間で送出する。 The encoding device finishes sending the parity data Ap by time TB1. The time from the time TA1 at which the transmission of the source data A1 is started to the time TB1 is the same as the time for one block. In other words, the encoding device transmits source data A1 and parity data Ap in a time corresponding to one block.
符号化装置は、前のブロックのパリティデータApを送出し終えた時刻TB1から、次のブロックのソースデータB1の送出を開始する。以下同様に、符号化装置は、1ブロック分の時間内で、ソースデータB1とパリティデータBpを送出する。 The encoding device starts sending the source data B1 of the next block from the time TB1 at which the parity data Ap of the previous block has been sent. Similarly, the encoding apparatus transmits source data B1 and parity data Bp within a time corresponding to one block.
本実施の形態では、ソースデータの送出は、パリティデータの増加分(時刻TA0から時刻TA1まで)遅れるが、受信側では、1ブロック分の時間で、ソースデータとパリティデータを受信して復号できる。したがって、トータルでは、受信側での復号までの遅延を含めても、遅延をパリティデータの増加分と1ブロック分の時間に抑えることができる。 In this embodiment, the transmission of source data is delayed by an increase in parity data (from time TA0 to time TA1), but the receiving side can receive and decode the source data and parity data in one block time. . Therefore, in total, the delay can be suppressed to the increase of the parity data and the time of one block even if the delay until decoding on the receiving side is included.
これに対して、送出するデータを平滑化するために、次のブロックのソースデータの送出中にパリティデータを送出する場合、受信側ではソースデータを受信し始めてから復号できるようになるまで2ブロック分の時間が必要となる。この場合、1ブロックの長さをより長くすると、遅延が大きくなってしまう。 On the other hand, when the parity data is transmitted during the transmission of the source data of the next block in order to smooth the data to be transmitted, the receiving side starts receiving the source data and then blocks it until it can be decoded. Minutes of time are required. In this case, if the length of one block is made longer, the delay becomes larger.
以上説明したように、本実施の形態によれば、符号化装置が、所定のブロック毎にパリティデータを算出し、1ブロック分のソースデータを入力した時間と同じ時間で、1ブロック分のソースデータとパリティデータを送出することにより、受信装置がブロックの先頭のソースデータを受信してから1ブロック分の時間でソースデータとパリティデータを受信できるので、受信装置での遅延を1ブロック分の時間に抑えることができる。 As described above, according to the present embodiment, the encoding device calculates parity data for each predetermined block, and the source for one block is the same as the time when the source data for one block is input. By sending data and parity data, the receiving device can receive the source data and parity data in a time of one block after receiving the source data at the head of the block. Time can be kept down.
本実施の形態によれば、前のブロックのパリティデータの送出に必要な時間が経過するまで入力したソースデータを一時的に保持しておき、前のブロックのパリティデータの送出を終えてからソースデータの送出を開始することにより、バースト的にパリティデータが送出されず、かつソースデータの送出開始までの遅延をパリティデータの増加分に抑えることができる。 According to the present embodiment, the input source data is temporarily held until the time necessary for sending the parity data of the previous block elapses, and the source data after the sending of the parity data of the previous block is finished. By starting the transmission of data, parity data is not transmitted in bursts, and the delay until the start of transmission of source data can be suppressed to an increase in parity data.
[第2の実施の形態]
図3は、本実施の形態における符号化装置の構成を示す機能ブロック図である。
[Second Embodiment]
FIG. 3 is a functional block diagram showing the configuration of the encoding apparatus according to the present embodiment.
図3に示す符号化装置は、第1の実施の形態の符号化装置に、送出時刻を示すタイムスタンプをパケットに付与するタイムスタンプ付与部14を追加したものである。送信部13は、タイムスタンプ(送出時刻)に従ってパケットを送出する。
The coding apparatus shown in FIG. 3 is obtained by adding a time
ソースデータとしてMMTPパケットを入力する場合、MMTPパケットにはUTC(Coordinated Universal Time)で指定されたパケットの送出時刻を与える必要がある。 When an MMTP packet is input as source data, it is necessary to give the MMTP packet the transmission time of the packet specified by UTC (Coordinated Universal Time).
タイムスタンプ付与部14は、ブロック中のパケットの位置に基づいたオフセットが加算されたタイムスタンプを送出するパケットに付与する。第1の実施の形態で説明したように、ブロック中の最初のソースデータは前のブロックのパリティデータの送出が終了するまで送出されないが、ブロック中の最後のソースデータはすぐに送出される。つまり、ブロック中の先頭のパケットから最後のパケットに向かうにつれて、パケットの入力から送出までの時間が短くなる。そこで、タイムスタンプ付与部14は、ブロック中の先頭のパケットには、元のタイムスタンプにバッファ時間分を加算したタイムスタンプを付与し、ブロック中の最後のパケットには、バッファ時間分のオフセットを加算しないタイムスタンプを付与する。先頭と最後のパケットの間のパケットには、当該パケットのブロック中の位置に応じたオフセットを加算したタイムスタンプを付与する。
The time
次に、パケットにタイムスタンプを付与する具体例について説明する。 Next, a specific example of giving a time stamp to a packet will be described.
ここでは、入力と送出の最大ビットレートからパケットを送出するタイムスタンプを導出する方法について説明する。具体的には、前のパケットの送出時刻に、パケット間隔に出力伝送速度に対する入力伝送速度の比率(入力伝送速度/送出伝送速度)を乗算した値を加算した時刻を送出時刻としてタイムスタンプを付与する。 Here, a method for deriving a time stamp for transmitting a packet from the maximum bit rate of input and transmission will be described. Specifically, a time stamp is added with a time obtained by adding a value obtained by multiplying the packet interval by the ratio of the input transmission rate to the output transmission rate (input transmission rate / sending transmission rate) to the sending time of the previous packet. To do.
図4の上段は、入力パケットとそのタイムスタンプ値を示し、下段は、送出パケットと書き換え後のタイムスタンプ値を示している。10個のパケットP1〜P10で1ブロックが構成される。入力パケットの間隔は10であったとする。符号化装置は、パケットP1〜P10とパリティデータのパケットFECを合わせた11個のパケットを1ブロックの時間内で送出するので、送出パケットの間隔は、10×10/11≒9となる。 The upper part of FIG. 4 shows the input packet and its time stamp value, and the lower part shows the outgoing packet and the time stamp value after rewriting. One block is composed of ten packets P1 to P10. Assume that the interval between input packets is 10. Since the encoding apparatus transmits 11 packets, which are a combination of the packets P1 to P10 and the parity data packet FEC, within one block time, the interval between the transmission packets is 10 × 10 / 11≈9.
時刻t0(=10)において、ブロックの先頭のパケットP1が入力される。パケットP1は、前のブロックのパリティデータが送出し終えるまでバッファ機能部12において一時的に保持される。
At time t0 (= 10), the first packet P1 of the block is input. The packet P1 is temporarily held in the
時刻t1(=19)になると、ブロックの先頭のパケットP1が送出される。パケットP1は、元のタイムスタンプ(=10)に9を加算した19に書き換えられている。パケットP1の次のパケットP2のタイムスタンプは、前のパケットP1のタイムスタンプに9を加算した28に書き換えられる。以下、同様に、パケットP3〜P10も、パケットの間隔を9として送出される。パケットP1〜P10は、ブロック中の位置に基づいて、元のタイムスタンプに対し、それぞれ9,8,7,6,5,4,3,2,1,0のオフセットが加算されている。 At time t1 (= 19), the head packet P1 of the block is transmitted. The packet P1 is rewritten to 19 by adding 9 to the original time stamp (= 10). The time stamp of the packet P2 next to the packet P1 is rewritten to 28 obtained by adding 9 to the time stamp of the previous packet P1. Hereinafter, similarly, the packets P3 to P10 are transmitted with the packet interval set to 9. In packets P1 to P10, offsets of 9, 8, 7, 6, 5, 4, 3, 2, 1, and 0 are added to the original time stamps based on the positions in the block, respectively.
時刻t2(=100)では、ブロックの最後のパケットP10が元のタイムスタンプ(=100)のまま送出される。つまり、ブロックの最後のパケットP10は遅延なしで伝送される。 At time t2 (= 100), the last packet P10 of the block is transmitted with the original time stamp (= 100). That is, the last packet P10 of the block is transmitted without delay.
ブロック中の全てのパケットP1〜P10が送出された後に、パリティデータのパケットFECが送出される。パリティデータのパケットFECのタイムスタンプは、ブロックの最後のパケットP10のタイムスタンプを基準として付与する。 After all the packets P1 to P10 in the block are transmitted, the parity data packet FEC is transmitted. The time stamp of the parity data packet FEC is given with reference to the time stamp of the last packet P10 of the block.
図4の例では、パケットP1〜P10を入力する1ブロック分の時間は90であり、パケットP1〜P10とパケットFECを送出する時間も90である。 In the example of FIG. 4, the time for one block to input the packets P1 to P10 is 90, and the time to send the packets P1 to P10 and the packet FEC is 90.
パケットFECの送出後に、次のブロックのパケットP11が送出される。 After sending the packet FEC, the packet P11 of the next block is sent.
続いて、FEC対象外のパケットが含まれるときのタイムスタンプを付与する処理について説明する。 Next, a process for giving a time stamp when a packet that is not subject to FEC is included will be described.
FEC対象外のパケットについては、前パケットとの間隔を変えずに送出する。 Packets that are not subject to FEC are sent without changing the interval with the previous packet.
図5の上段は、FEC対象外のパケットを含む入力パケットとそのタイムスタンプ値を示し、下段は、送出パケットと書き換え後のタイムスタンプ値を示している。図5の例では、パケットP4,P5,P7,P10,P13がFEC対象外のパケットである。入力パケットの間隔は10であったとする。 The upper part of FIG. 5 shows an input packet including a packet not subject to FEC and its time stamp value, and the lower part shows a transmission packet and a time stamp value after rewriting. In the example of FIG. 5, packets P4, P5, P7, P10, and P13 are packets that are not subject to FEC. Assume that the interval between input packets is 10.
時刻t1(=19)以降、FEC対象のパケットP1,P2,P3は、パケットの間隔を9として送出される。符号化装置は、FEC対象外のパケットP4に対しては、前のパケットP3のタイムスタンプ(=37)にパケットの入力間隔(=10)を加えたタイムスタンプ(=47)を付与する。符号化装置は、FEC対象のパケットについては送出伝送速度に合わせてパケットの間隔を変更し、FEC対象外のパケットについてはパケットの間隔を変えない。 After the time t1 (= 19), the FEC target packets P1, P2, and P3 are transmitted with a packet interval of 9. The encoding apparatus gives a time stamp (= 47) obtained by adding a packet input interval (= 10) to the time stamp (= 37) of the previous packet P3 to the packet P4 not subject to FEC. The encoding device changes the packet interval according to the transmission transmission rate for the FEC target packet, and does not change the packet interval for the non-FEC packet.
時刻t2(=150)では、ブロックの最後のパケットP15が遅延なしで送出される。その後、パリティデータが算出されて、パリティデータのパケットFECが送出される。 At time t2 (= 150), the last packet P15 of the block is transmitted without delay. Thereafter, parity data is calculated, and a parity data packet FEC is transmitted.
続いて、複数種類のパケットが含まれるときの処理について説明する。 Next, processing when a plurality of types of packets are included will be described.
映像ストリームと音声ストリームなどの別々の種類のパケットが符号化装置に入力される場合、符号化装置は、パケットの種類別ではなく、別々の種類のパケットを合わせたブロック単位でパリティデータを算出する。 When different types of packets such as a video stream and an audio stream are input to the encoding device, the encoding device calculates parity data in units of blocks in which the different types of packets are combined, not for each type of packet. .
図6の上段は、入力する映像と音声それぞれのパケットとそのタイムスタンプ値を示し、下段は、送出パケットと書き換え後のタイムスタンプ値を示している。図6では、1ブロックが10パケットで構成される。 The upper part of FIG. 6 shows the input video and audio packets and their time stamp values, and the lower part shows the outgoing packets and the time stamp values after rewriting. In FIG. 6, one block is composed of 10 packets.
時刻t0(=10)において、ブロックの先頭の映像パケットV1が入力される。映像パケットV1は、時刻t1(=19)までバッファ機能部12において一時的に保持される。
At time t0 (= 10), the top video packet V1 of the block is input. The video packet V1 is temporarily held in the
時刻t1(=19)になると、映像パケットV1が送出される。以下、パケットの送出間隔を変更して映像パケットV2,V3が送出される。映像パケットV3の次に音声パケットA1が入力されたので、音声パケットA1は、映像パケットV3の次に送出される。以下、映像パケットと音声パケットを入力し、入力した順にパケットを送出する。 At time t1 (= 19), the video packet V1 is sent out. Thereafter, video packets V2 and V3 are transmitted with the packet transmission interval changed. Since the audio packet A1 is input next to the video packet V3, the audio packet A1 is transmitted next to the video packet V3. Thereafter, video packets and audio packets are input, and the packets are transmitted in the input order.
時刻t2(=65)において、ブロックの最後の音声パケットA4を入力する。符号化装置は、映像パケットV1〜V6と音声パケットA1〜A4からパリティデータを算出し、音声パケットA4の送出後にパリティデータのパケットFECを送出する。 At time t2 (= 65), the last voice packet A4 of the block is input. The encoding device calculates parity data from the video packets V1 to V6 and the audio packets A1 to A4, and transmits a parity data packet FEC after transmitting the audio packet A4.
次のブロックについても同様に、映像パケットV7〜V11と音声パケットA5〜A9からパケットデータを算出する。 Similarly for the next block, packet data is calculated from the video packets V7 to V11 and the audio packets A5 to A9.
これまで説明した例では、最大のビットレートでパケットが入力されるものみなして各パケットの送出間隔を短くしてタイムスタンプを算出したが、実際のビットレートに基づいてパケットに付与するタイムスタンプを逐次算出してもよい。例えば、ブロックの先頭のパケットと処理対象のパケットの関係からタイムスタンプを算出してもよいし、前のパケットと処理対象のパケットの間隔からタイムスタンプを算出してもよい。 In the examples described so far, the time stamp is calculated by assuming that the packet is input at the maximum bit rate and shortening the transmission interval of each packet. However, the time stamp to be given to the packet based on the actual bit rate is calculated. You may calculate sequentially. For example, the time stamp may be calculated from the relationship between the first packet of the block and the packet to be processed, or the time stamp may be calculated from the interval between the previous packet and the packet to be processed.
また、ブロック中において、順番に入力したパケットに付与されていたタイムスタンプが逆転していた場合は、強制的に前のパケットのタイムスタンプと同じ値を付与してもよい。 Further, in the block, when the time stamps assigned to the sequentially input packets are reversed, the same value as the time stamp of the previous packet may be forcibly assigned.
以上説明したように、本実施の形態によれば、タイムスタンプ付与部14が、パケットに付与されたタイムスタンプに当該パケットのブロック内の位置に応じた値を加算することにより、送信部13は、付与されたタイムスタンプに従ってパケットを送出するだけで、入力したソースデータとパリティデータを平滑化して送出することができる。
As described above, according to the present embodiment, the time
[第3の実施の形態]
図7は、本実施の形態における符号化装置の構成を示す機能ブロック図である。
[Third Embodiment]
FIG. 7 is a functional block diagram showing the configuration of the encoding apparatus according to the present embodiment.
図7に示す符号化装置は、第1の実施の形態の符号化装置に、送出するソースデータのタイムスタンプが均等になるように整列させたり、ソースデータとパリティデータをインターリーブする整列部15を追加したものである。例えば、タイムスタンプが0,60,60,60,60,60,70のパケットを入力した場合、0から60までは送出間隔が大きいが、タイムスタンプが60のパケットがバースト的に出力される。そこで、整列部15は、1ブロック分のソースデータを入力した後、タイムスタンプの分布を考慮し、送出するパケットのタイムスタンプが均等になるように、例えば上記のタイムスタンプを100,109,118,127,136,145,154と書き換える。
The encoding apparatus shown in FIG. 7 includes an
本実施の形態における符号化装置は、1ブロック分のソースデータを入力してパリティデータを算出した後に、整列部15が処理を実行し、ソースデータとパリティデータを1ブロック分の時間で送出する。本実施の形態では、符号化装置がソースデータを入力してから送出を開始するまで、1ブロック分の時間以上の遅延が生じる。しかしながら、受信装置では、ブロックの先頭のソースデータを受信してからパリティデータも含めた1ブロック分のデータを受信して復号できるまでの時間は1ブロック分の時間であり、受信側の遅延量は抑えることができる。
In the encoding apparatus according to the present embodiment, after the source data for one block is input and the parity data is calculated, the
次に、本実施の形態における符号化装置の動作について説明する。 Next, the operation of the coding apparatus according to the present embodiment will be described.
図8は、本実施の形態における符号化装置が受信するソースデータと送出するソースデータ及びパリティデータを示す図である。 FIG. 8 is a diagram illustrating source data received by the encoding apparatus according to the present embodiment, source data to be transmitted, and parity data.
符号化装置は、時刻TA0の時点からソースデータA0のブロックを受信し始める。符号化装置は、ソースデータA0を一時的に保持し、送出しない。 The encoding apparatus starts to receive the block of the source data A0 from time TA0. The encoding device temporarily holds the source data A0 and does not send it out.
時刻TB0の時点で、符号化装置は、ソースデータA0のブロックを全て入力し、次のブロックのソースデータB0を入力し始める。 At time TB0, the encoding apparatus inputs all the blocks of the source data A0 and starts to input the source data B0 of the next block.
符号化装置は、ソースデータA0のブロックを全て入力すると、ソースデータA0からパリティデータApを算出する。 When all the blocks of the source data A0 are input, the encoding device calculates the parity data Ap from the source data A0.
整列部15は、ソースデータA1とパリティデータApを整列あるいはインターリーブし、送出時刻であるタイムスタンプを付与する。
The aligning
送出時刻TA1になると、送信部13は、付与されたタイムスタンプに従ってソースデータA1とパリティデータApの送出を開始する。ソースデータA1とパリティデータApは、ソースデータA0を入力した1ブロック分の時間で送出される。
When the sending time TA1 is reached, the transmitting
以上説明したように、本実施の形態によれば、整列部15が、ソースデータA1とパリティデータApを整列またはインターリーブすることにより、データをより平滑に送信したり、バーストエラーに対する耐性を高めることができる。
As described above, according to the present embodiment, the aligning
11…FEC生成部
12…バッファ機能部
13…送信部
14…タイムスタンプ付与部
15…整列部
DESCRIPTION OF
Claims (5)
前記入力データを前記誤り訂正符号の増加分を考慮した伝送速度の最大レートで前記誤り訂正符号の送出に必要な時間分のバッファ量を下限として保持するバッファと、
前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した1ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出する送出手段と、を有し、
前記送出手段は、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする符号化装置。 Encoding means for calculating an error correction code for each predetermined block with respect to input data;
A buffer for holding the input data as a lower limit of a buffer amount for a time required for sending out the error correction code at a maximum rate of transmission speed considering an increase in the error correction code ;
Sending means for sending out all the input data of the block and the error correction code within a time of one block in which all the input data of the block is inputted at a transmission rate considering the increase of the error correction code Have
The sending means starts sending the input data after holding the input data in the buffer for a time required for sending the error correction code from the time when the first input data of the block is inputted. An encoding apparatus , wherein transmission of the error correction code is started after transmission of all input data is completed .
前記パケットの前記ブロック内の位置に応じた値を当該パケットのタイムスタンプに加算して当該タイムスタンプを書き換えるタイムスタンプ付与手段を有し、
前記送出手段は、前記パケットのタイムスタンプに従って前記パケットを送出することを特徴とする請求項1に記載の符号化装置。 The input data is a packet with a time stamp,
A time stamp giving means for rewriting the time stamp by adding a value corresponding to the position in the block of the packet to the time stamp of the packet;
The encoding apparatus according to claim 1, wherein the sending unit sends the packet according to a time stamp of the packet.
入力データに対して所定のブロック毎に誤り訂正符号を算出するステップと、
前記入力データをバッファに前記誤り訂正符号の増加分を考慮した伝送速度の最大レートで前記誤り訂正符号の送出に必要な時間分のバッファ量を下限として保持するステップと、
前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した1ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出するステップと、を有し、
前記送出するステップは、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする符号化方法。 A computer encoding method comprising:
Calculating an error correction code for each predetermined block with respect to input data;
Holding a buffer amount as a lower limit for the time required for sending the error correction code at a maximum rate of transmission speed in consideration of an increase in the error correction code in the input data;
Sending all the input data of the block and the error correction code within a time of one block in which all the input data of the block is inputted at a transmission rate considering the increase of the error correction code; Have
The sending step starts sending the input data after holding the input data in the buffer for a time required for sending the error correction code from the time when the first input data of the block is inputted. An encoding method , wherein transmission of the error correction code is started after transmission of all the input data is completed .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016138294A JP6220017B1 (en) | 2016-07-13 | 2016-07-13 | Encoding apparatus, encoding method, and encoding program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016138294A JP6220017B1 (en) | 2016-07-13 | 2016-07-13 | Encoding apparatus, encoding method, and encoding program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6220017B1 true JP6220017B1 (en) | 2017-10-25 |
JP2018011168A JP2018011168A (en) | 2018-01-18 |
Family
ID=60156777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016138294A Active JP6220017B1 (en) | 2016-07-13 | 2016-07-13 | Encoding apparatus, encoding method, and encoding program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6220017B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006157525A (en) * | 2004-11-30 | 2006-06-15 | Nippon Telegr & Teleph Corp <Ntt> | Data transmission method, reception method, apparatus, system and program for performing error correction |
-
2016
- 2016-07-13 JP JP2016138294A patent/JP6220017B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006157525A (en) * | 2004-11-30 | 2006-06-15 | Nippon Telegr & Teleph Corp <Ntt> | Data transmission method, reception method, apparatus, system and program for performing error correction |
Also Published As
Publication number | Publication date |
---|---|
JP2018011168A (en) | 2018-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5442816B2 (en) | Streaming and buffering using variable FEC overhead and protection period | |
US8010863B2 (en) | Method and apparatus for synchronizing multiple multimedia streams | |
US8855145B2 (en) | Jitter buffer | |
US9246644B2 (en) | Jitter buffer | |
US8266492B2 (en) | FEC transmission processing apparatus and method and program recording medium | |
JP5409032B2 (en) | Transmitting apparatus, method, and program | |
JP2011523806A (en) | Fast channel zapping and high-quality stream protection on broadcast channels | |
US8948213B2 (en) | Jitter buffer | |
JP4041137B2 (en) | VIDEO ENCODING / TRANSMITTING DEVICE, VIDEO ENCODING / TRANSMITTING METHOD, VIDEO ENCODING / TRANSMITTING PROGRAM, AND RECORDING MEDIUM THEREOF | |
JP6588092B2 (en) | Method and apparatus for transmitting and receiving packets in broadcast and communication systems | |
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 | |
JP5357839B2 (en) | Transmission device and transmission program | |
US10833710B2 (en) | Bandwidth efficient FEC scheme supporting uneven levels of protection | |
US9641803B1 (en) | Multiplexing FEC protection of multiple streams with different delay requirements | |
JP6220017B1 (en) | Encoding apparatus, encoding method, and encoding program | |
JP6504820B2 (en) | Method and apparatus for providing streaming service | |
CN102934435B (en) | Video display devices | |
JP4752898B2 (en) | CONTENT DISTRIBUTION SYSTEM, RECEPTION DEVICE, AND REPRODUCTION PROGRAM | |
JP4400571B2 (en) | Coding data processing method and gateway device in connection between different types of communication networks | |
JP6694430B2 (en) | Method and apparatus for controlling reception of broadcast service provided using application layer forward error correction scheme | |
JP2005519541A (en) | Method and apparatus for converting a first data stream into a second data stream | |
JP2005348347A (en) | Audio-visual decoding method, audio-visual decoding apparatus, audio-visual decoding program and computer readable recording medium with the program recorded thereon | |
JP2008005030A (en) | Packet transmitter and receiver | |
JP2005311614A (en) | Information distribution system, method and program and information recording medium | |
KR20140011514A (en) | Apparatus and method for transmitting/receiving data in communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170907 |
|
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: 20170926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170928 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6220017 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |