(57)【要約】【課題】誤り訂正符号を付加したデータを低遅延で平滑化して送信する。【解決手段】符号化装置が、所定のブロック毎にパリティデータを算出し、１ブロック分のソースデータを入力した時間と同じ時間で、１ブロック分のソースデータとパリティデータを送出する。これにより、受信装置がブロックの先頭のソースデータを受信してから１ブロック分の時間でソースデータとパリティデータを受信できる。また、前のブロックのパリティデータの送出に必要な時間が経過するまで入力したソースデータを一時的に保持しておき、前のブロックのパリティデータの送出を終えてからソースデータの送出を開始する。これにより、バースト的にパリティデータが送出されず、かつソースデータの送出開始までの遅延をパリティデータの増加分に抑えることができる。【選択図】図２
2018011168.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対して所定のブロック毎に誤り訂正符号を算出する符号化手段と、
前記入力データを一時的に保持するバッファと、
前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した１ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出する送出手段と、
を有することを特徴とする符号化装置。
【請求項２】
前記送出手段は、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする請求項１記載の符号化装置。
【請求項３】
前記入力データはタイムスタンプが付与されたパケットであって、
前記パケットの前記ブロック内の位置に応じた値を当該パケットのタイムスタンプに加算して当該タイムスタンプを書き換えるタイムスタンプ付与手段を有し、
前記送出手段は、前記パケットのタイムスタンプに従って前記パケットを送出することを特徴とする請求項１又は２に記載の符号化装置。
【請求項４】
前記タイムスタンプ付与手段は、前記パケットの入力間隔に出力伝送速度に対する入力伝送速度の比率を乗算した値を前のパケットのタイムスタンプに加算した時刻をタイムスタンプとして付与することを特徴とする請求項３に記載の符号化装置。
【請求項５】
前記送出手段は、前記入力データに対して前記誤り訂正符号が付与された後に、当該入力データと当該誤り訂正符号を送出するものであって、
前記入力データと前記誤り訂正符号を整列またはインターリーブする整列手段を有することを特徴とする請求項１記載の符号化装置。
【請求項６】
コンピュータによる符号化方法であって、
入力データに対して所定のブロック毎に誤り訂正符号を算出するステップと、
前記入力データをバッファに一時的に保持するステップと、
前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した１ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出するステップと、
を有することを特徴とする符号化方法。
【請求項７】
前記送出するステップは、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする請求項６記載の符号化方法。
【請求項８】
請求項１乃至５のいずれかに記載の符号化装置の各手段としてコンピュータを動作させることを特徴とする符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを符号化する技術に関する。
【背景技術】
【０００２】
ＭＭＴ（ＭＰＥＧ  Ｍｅｄｉａ  Ｔｒａｎｓｐｏｒｔ）は、国際標準化された新しいメディア伝送技術である（非特許文献３）。ＭＰＥＧ−２  ＴＳでは、システムクロックと呼ばれる固有の基準クロックが用いられていたが、ＭＭＴでは、グローバルな協定世界時を用いることで、複数装置からの同期伝送や、複数伝送路を用いた同期伝送が可能になった。これにより、ＭＭＴには、放送と通信のハイブリッド方向などの新しいユースが期待されている。
【０００３】
一方、ＩＰ通信はベストエフォート型の通信であり、ＩＰ通信網の輻輳によるデータ欠損などに対処する必要がある。放送のような一斉配信をＩＰ通信網で行う場合、前方誤り訂正符号（ＦＥＣ）による冗長化によりデータ欠損に対して耐性を持たせることが効果的である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】藤井竜也、木村直宏、山口高弘、小河原成哲、「高能率ＬＤＧＭ-ＦＥＣを用いた共用ＩＰ網での大容量８Ｋ映像伝送」、ネットワーク仮想化時限研究専門委員会、電子情報通信学会、２０１３年
【非特許文献２】大西隆之、池田充郎、長沼次郎、八島由幸、「低遅延映像通信に向けたFEC中継方式に関する一検討」、情報科学技術フォーラム一般講演論文集、情報処理学会、２００４年、3(4), pp.87-88
【非特許文献３】“Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 1: MPEG media transport (MMT)”, ISO/IEC 23008-1:2014
【非特許文献４】“Information technology - High efficiency coding and media delivery in heterogeneous environments - Part 10: MPEG media transport forward error correction (FEC) codes”, ISO/IEC 23008-10:2015
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前方誤り訂正符号のうちブロック符号と呼ばれる方式では、所定のサイズのブロックごとにパリティデータを生成する。生成されたパリティデータをすぐに伝送すると、受信側での復号までの遅延は少なくできるものの、図９に示すように、データがバースト的に送出されてしまうという問題があった。
【０００６】
バースト的に送出されるデータを平滑化するために、例えば、パリティデータを次に送出するソースブロック区間に重ねて送出することが考えられる。この方法はソースデータが時間あたり一定であり付加するパリティデータも時間あたり一定であれば、均一な送信レートとすることが出来る方法である。しかしながら、このシェイピング方法にて平滑化すると、図１０に示すように、受信側ではパリティデータの受信が完了するまで復号できずに、遅延が発生してしまうという問題があった。また、例えばシェイピング装置を挟みシェイピングする方法がとられるが、シェイピング装置にはパケットが生成されたタイミングで渡されることから送出されるパリティデータはブロックをまたがった位置にパケットが挿入されるなどが発生してしまい、図１０に示す場合と同様に遅延の発生や、タイムアウト処理の設定によっては意図通りにＦＥＣデコーダが機能しないことがあるという問題があった。さらに、ＭＭＴでは、ＭＭＴ規格のパケット（ＭＭＴＰパケット）に付与された協定世界時で指定された送出時刻に従ってＭＭＴＰパケットは送出される。シェイピング装置によって送信タイミングが変更された場合、受信側からはネットワーク内のジッターが発生したようにみえてしまい、受信端末のバッファ制御などに新たな問題を発生させてしまうという問題があった。
【０００７】
非特許文献２では、到着したパケットをＦＥＣ演算より前に転送することで、中継ノードにおける遅延を回避しているが、パリティデータを送信する方法までは考慮していない。
【０００８】
本発明は、上記に鑑みてなされたものであり、誤り訂正符号を付加したデータを低遅延で平滑化して送信することを目的とする。
【課題を解決するための手段】
【０００９】
第１の本発明に係る符号化装置は、入力データに対して所定のブロック毎に誤り訂正符号を算出する符号化手段と、前記入力データを一時的に保持するバッファと、前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した１ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出する送出手段と、を有することを特徴とする。
【００１０】
第２の本発明に係る符号化方法は、コンピュータによる符号化方法であって、入力データに対して所定のブロック毎に誤り訂正符号を算出するステップと、前記入力データをバッファに一時的に保持するステップと、前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した１ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出するステップと、を有することを特徴とする。
【００１１】
第３の本発明に係る符号化プログラムは、上記符号化装置の各手段としてコンピュータを動作させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、誤り訂正符号を付加したデータを低遅延で平滑化して送信することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態における符号化装置の構成を示す機能ブロック図である。
【図２】第１の実施の形態における符号化装置が受信するソースデータと送出するソースデータ及びパリティデータを示す図である。
【図３】第２の実施の形態における符号化装置の構成を示す機能ブロック図である。
【図４】入力パケットと出力パケットのタイムスタンプの例を示す図である。
【図５】ＦＥＣ対象外パケットを含む入力パケットと出力パケットのタイムスタンプの例を示す図である。
【図６】複数種類の入力パケットと出力パケットのタイムスタンプの例を示す図である。
【図７】第３の実施の形態における符号化装置の構成を示す機能ブロック図である。
【図８】第３の実施の形態における符号化装置が受信するソースデータと送出するソースデータ及びパリティデータを示す図である。
【図９】パリティデータを送信する従来の例を示す図である。
【図１０】パリティデータを送信する従来の別の例を示す図である。
【発明を実施するための形態】
【００１４】
［第１の実施の形態］
図１は、本実施の形態における符号化装置の構成を示す機能ブロック図である。
【００１５】
図１に示す符号化装置は、ＦＥＣ生成部１１、バッファ機能部１２、及び送信部１３を備える。本符号化装置は、入力するソースデータにブロック単位でパリティデータ（誤り訂正符号）を付与して送出する装置であり、パリティデータの増大分を加味した伝送量でソースデータとパリティデータを伝送する。符号化装置が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは符号化装置が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００１６】
ＦＥＣ生成部１１は、所定のブロック毎に、入力したソースデータのパリティデータを算出する。ＦＥＣ生成部１１は、１ブロック分のソースデータからパリティデータを算出すると、パリティデータをバッファ機能部１２へ送信する。
【００１７】
バッファ機能部１２は、送信部１３によって送出されるソースデータ及びパリティデータを一時的に保持する機能を有し、パリティデータの増大分を加味した伝送量でソースデータを伝送できるまでソースデータを一時的に保持する。
【００１８】
送信部１３は、バッファ機能部１２からソースデータ及びパリティデータを読み出し、１ブロック分のソースデータを入力した時間と同じ時間で、１ブロック分のソースデータとパリティデータを送出する。送出するデータのサイズは入力したソースデータよりもパリティデータのサイズ分増加しているので、送信部１３は、１ブロック分の時間内にソースデータとパリティデータを送出できるように、ソースデータの入力伝送速度よりも速い伝送速度でソースデータとパリティデータを送出する。
【００１９】
次に、本実施の形態における符号化装置の動作について説明する。
【００２０】
図２は、本実施の形態における符号化装置が受信するソースデータと送出するソースデータ及びパリティデータを示す図である。
【００２１】
符号化装置は、時刻ＴＡ０の時点からソースデータＡ０のブロックを入力し始める。符号化装置は、入力したソースデータＡ０をバッファ機能部１２に蓄えて、時刻ＴＡ１まで送出しない。本実施の形態における符号化装置は、入力したソースデータＡ０をすぐに送出しないでバッファ機能部１２に蓄えることで、前のブロックのパリティデータを送出する隙間を作っている。例えば、パリティデータのサイズが１Ｍｂｉｔで送出伝送速度が１０Ｍｂｐｓの場合、パリティデータの送出には、１Ｍｂｉｔ／１０ｂｐｓ＝１００ｍｓｅｃの時間が必要である。したがって、バッファ機能部１２は、ソースデータＡ０を１００ｍｅｓｃ分保持できるバッファを持つ。ソースデータＡ０を入力してから送出を開始するまで、つまり時刻ＴＡ０から時刻ＴＡ１までは１００ｍｓｅｃである。
【００２２】
符号化装置は、時刻ＴＡ１から、バッファ機能部１２に蓄えられたソースデータＡ１を送出伝送速度Ｓ１で送出し始める。なお、入力したソースデータＡ０と送出するソースデータＡ１は同じデータであるが、入力と送出を区別するために、ソースデータのそれぞれに異なる符号Ａ０，Ａ１を付与している。
【００２３】
送出伝送速度Ｓ１は、ソースデータＡ０のブロックを全て入力する時間内つまり１ブロック分の時間内で、ソースデータＡ１とパリティデータＡｐを送出し終えるように決められる。例えば、ソースデータＡ０の入力伝送速度Ｓ０が１０Ｍｂｐｓであり、１秒１ブロックのＦＥＣを適用し（ブロックの入力時間が１秒）、ソースデータＡ０に対して１０％のパリティデータＡｐを付加する場合を考える。ソースデータＡ０のサイズは１０Ｍｂｐｓ×１ｓｅｃ＝１０Ｍｂｉｔであるから、パリティデータＡｐのサイズは１０Ｍｂｉｔ×１０％＝１Ｍｂｉｔとなる。符号化装置は、ソースデータＡ１とパリティデータＡｐを合わせた１１Ｍｂｉｔのデータを１秒で送出するので、必要な送出伝送速度Ｓ１は少なくとも１１Ｍｂｐｓとなる。
【００２４】
符号化装置は、時刻ＴＡ２の時点で、ブロックの最後のソースデータＡ０を入力する。本実施の形態における符号化装置は、ブロックの最後のソースデータＡ０を遅延なしですぐに送出する。つまり、符号化装置は、時刻ＴＡ２の時点で、ソースデータＡ１の全てを送出し終えている。
【００２５】
符号化装置は、時刻ＴＡ２にブロックの最後のソースデータＡ０を入力すると、ソースデータＡ０のブロックのパリティデータＡｐを算出し、パリティデータＡｐの送出を開始する。符号化装置は、時刻ＴＡ２にはソースデータＡ１の全てを送出し終えているので、パリティデータＡｐを時刻ＴＡ２から送出できる。
【００２６】
符号化装置は、時刻ＴＡ２から、ソースデータＡ０のつぎのブロックであるソースデータＢ０を入力し始める。符号化装置は、入力したソースデータＢ０をバッファ機能部１２に蓄えて、時刻ＴＢ１までソースデータＢ１を送出しない。
【００２７】
符号化装置は、時刻ＴＢ１までに、パリティデータＡｐを送出し終える。ソースデータＡ１の送出を開始した時刻ＴＡ１から時刻ＴＢ１までの時間は１ブロック分の時間と同じである。言い換えると、符号化装置は、ソースデータＡ１とパリティデータＡｐを１ブロック分の時間で送出する。
【００２８】
符号化装置は、前のブロックのパリティデータＡｐを送出し終えた時刻ＴＢ１から、次のブロックのソースデータＢ１の送出を開始する。以下同様に、符号化装置は、１ブロック分の時間内で、ソースデータＢ１とパリティデータＢｐを送出する。
【００２９】
本実施の形態では、ソースデータの送出は、パリティデータの増加分（時刻ＴＡ０から時刻ＴＡ１まで）遅れるが、受信側では、１ブロック分の時間で、ソースデータとパリティデータを受信して復号できる。したがって、トータルでは、受信側での復号までの遅延を含めても、遅延をパリティデータの増加分と１ブロック分の時間に抑えることができる。
【００３０】
これに対して、送出するデータを平滑化するために、次のブロックのソースデータの送出中にパリティデータを送出する場合、受信側ではソースデータを受信し始めてから復号できるようになるまで２ブロック分の時間が必要となる。この場合、１ブロックの長さをより長くすると、遅延が大きくなってしまう。
【００３１】
以上説明したように、本実施の形態によれば、符号化装置が、所定のブロック毎にパリティデータを算出し、１ブロック分のソースデータを入力した時間と同じ時間で、１ブロック分のソースデータとパリティデータを送出することにより、受信装置がブロックの先頭のソースデータを受信してから１ブロック分の時間でソースデータとパリティデータを受信できるので、受信装置での遅延を１ブロック分の時間に抑えることができる。
【００３２】
本実施の形態によれば、前のブロックのパリティデータの送出に必要な時間が経過するまで入力したソースデータを一時的に保持しておき、前のブロックのパリティデータの送出を終えてからソースデータの送出を開始することにより、バースト的にパリティデータが送出されず、かつソースデータの送出開始までの遅延をパリティデータの増加分に抑えることができる。
【００３３】
［第２の実施の形態］
図３は、本実施の形態における符号化装置の構成を示す機能ブロック図である。
【００３４】
図３に示す符号化装置は、第１の実施の形態の符号化装置に、送出時刻を示すタイムスタンプをパケットに付与するタイムスタンプ付与部１４を追加したものである。送信部１３は、タイムスタンプ（送出時刻）に従ってパケットを送出する。
【００３５】
ソースデータとしてＭＭＴＰパケットを入力する場合、ＭＭＴＰパケットにはＵＴＣ（Ｃｏｏｒｄｉｎａｔｅｄ  Ｕｎｉｖｅｒｓａｌ  Ｔｉｍｅ）で指定されたパケットの送出時刻を与える必要がある。
【００３６】
タイムスタンプ付与部１４は、ブロック中のパケットの位置に基づいたオフセットが加算されたタイムスタンプを送出するパケットに付与する。第１の実施の形態で説明したように、ブロック中の最初のソースデータは前のブロックのパリティデータの送出が終了するまで送出されないが、ブロック中の最後のソースデータはすぐに送出される。つまり、ブロック中の先頭のパケットから最後のパケットに向かうにつれて、パケットの入力から送出までの時間が短くなる。そこで、タイムスタンプ付与部１４は、ブロック中の先頭のパケットには、元のタイムスタンプにバッファ時間分を加算したタイムスタンプを付与し、ブロック中の最後のパケットには、バッファ時間分のオフセットを加算しないタイムスタンプを付与する。先頭と最後のパケットの間のパケットには、当該パケットのブロック中の位置に応じたオフセットを加算したタイムスタンプを付与する。
【００３７】
次に、パケットにタイムスタンプを付与する具体例について説明する。
【００３８】
ここでは、入力と送出の最大ビットレートからパケットを送出するタイムスタンプを導出する方法について説明する。具体的には、前のパケットの送出時刻に、パケット間隔に出力伝送速度に対する入力伝送速度の比率（入力伝送速度／送出伝送速度）を乗算した値を加算した時刻を送出時刻としてタイムスタンプを付与する。
【００３９】
図４の上段は、入力パケットとそのタイムスタンプ値を示し、下段は、送出パケットと書き換え後のタイムスタンプ値を示している。１０個のパケットＰ１〜Ｐ１０で１ブロックが構成される。入力パケットの間隔は１０であったとする。符号化装置は、パケットＰ１〜Ｐ１０とパリティデータのパケットＦＥＣを合わせた１１個のパケットを１ブロックの時間内で送出するので、送出パケットの間隔は、１０×１０／１１≒９となる。
【００４０】
時刻ｔ０（＝１０）において、ブロックの先頭のパケットＰ１が入力される。パケットＰ１は、前のブロックのパリティデータが送出し終えるまでバッファ機能部１２において一時的に保持される。
【００４１】
時刻ｔ１（＝１９）になると、ブロックの先頭のパケットＰ１が送出される。パケットＰ１は、元のタイムスタンプ（＝１０）に９を加算した１９に書き換えられている。パケットＰ１の次のパケットＰ２のタイムスタンプは、前のパケットＰ１のタイムスタンプに９を加算した２８に書き換えられる。以下、同様に、パケットＰ３〜Ｐ１０も、パケットの間隔を９として送出される。パケットＰ１〜Ｐ１０は、ブロック中の位置に基づいて、元のタイムスタンプに対し、それぞれ９，８，７，６，５，４，３，２，１，０のオフセットが加算されている。
【００４２】
時刻ｔ２（＝１００）では、ブロックの最後のパケットＰ１０が元のタイムスタンプ（＝１００）のまま送出される。つまり、ブロックの最後のパケットＰ１０は遅延なしで伝送される。
【００４３】
ブロック中の全てのパケットＰ１〜Ｐ１０が送出された後に、パリティデータのパケットＦＥＣが送出される。パリティデータのパケットＦＥＣのタイムスタンプは、ブロックの最後のパケットＰ１０のタイムスタンプを基準として付与する。
【００４４】
図４の例では、パケットＰ１〜Ｐ１０を入力する１ブロック分の時間は９０であり、パケットＰ１〜Ｐ１０とパケットＦＥＣを送出する時間も９０である。
【００４５】
パケットＦＥＣの送出後に、次のブロックのパケットＰ１１が送出される。
【００４６】
続いて、ＦＥＣ対象外のパケットが含まれるときのタイムスタンプを付与する処理について説明する。
【００４７】
ＦＥＣ対象外のパケットについては、前パケットとの間隔を変えずに送出する。
【００４８】
図５の上段は、ＦＥＣ対象外のパケットを含む入力パケットとそのタイムスタンプ値を示し、下段は、送出パケットと書き換え後のタイムスタンプ値を示している。図５の例では、パケットＰ４，Ｐ５，Ｐ７，Ｐ１０，Ｐ１３がＦＥＣ対象外のパケットである。入力パケットの間隔は１０であったとする。
【００４９】
時刻ｔ１（＝１９）以降、ＦＥＣ対象のパケットＰ１，Ｐ２，Ｐ３は、パケットの間隔を９として送出される。符号化装置は、ＦＥＣ対象外のパケットＰ４に対しては、前のパケットＰ３のタイムスタンプ（＝３７）にパケットの入力間隔（＝１０）を加えたタイムスタンプ（＝４７）を付与する。符号化装置は、ＦＥＣ対象のパケットについては送出伝送速度に合わせてパケットの間隔を変更し、ＦＥＣ対象外のパケットについてはパケットの間隔を変えない。
【００５０】
時刻ｔ２（＝１５０）では、ブロックの最後のパケットＰ１５が遅延なしで送出される。その後、パリティデータが算出されて、パリティデータのパケットＦＥＣが送出される。
【００５１】
続いて、複数種類のパケットが含まれるときの処理について説明する。
【００５２】
映像ストリームと音声ストリームなどの別々の種類のパケットが符号化装置に入力される場合、符号化装置は、パケットの種類別ではなく、別々の種類のパケットを合わせたブロック単位でパリティデータを算出する。
【００５３】
図６の上段は、入力する映像と音声それぞれのパケットとそのタイムスタンプ値を示し、下段は、送出パケットと書き換え後のタイムスタンプ値を示している。図６では、１ブロックが１０パケットで構成される。
【００５４】
時刻ｔ０（＝１０）において、ブロックの先頭の映像パケットＶ１が入力される。映像パケットＶ１は、時刻ｔ１（＝１９）までバッファ機能部１２において一時的に保持される。
【００５５】
時刻ｔ１（＝１９）になると、映像パケットＶ１が送出される。以下、パケットの送出間隔を変更して映像パケットＶ２，Ｖ３が送出される。映像パケットＶ３の次に音声パケットＡ１が入力されたので、音声パケットＡ１は、映像パケットＶ３の次に送出される。以下、映像パケットと音声パケットを入力し、入力した順にパケットを送出する。
【００５６】
時刻ｔ２（＝６５）において、ブロックの最後の音声パケットＡ４を入力する。符号化装置は、映像パケットＶ１〜Ｖ６と音声パケットＡ１〜Ａ４からパリティデータを算出し、音声パケットＡ４の送出後にパリティデータのパケットＦＥＣを送出する。
【００５７】
次のブロックについても同様に、映像パケットＶ７〜Ｖ１１と音声パケットＡ５〜Ａ９からパケットデータを算出する。
【００５８】
これまで説明した例では、最大のビットレートでパケットが入力されるものみなして各パケットの送出間隔を短くしてタイムスタンプを算出したが、実際のビットレートに基づいてパケットに付与するタイムスタンプを逐次算出してもよい。例えば、ブロックの先頭のパケットと処理対象のパケットの関係からタイムスタンプを算出してもよいし、前のパケットと処理対象のパケットの間隔からタイムスタンプを算出してもよい。
【００５９】
また、ブロック中において、順番に入力したパケットに付与されていたタイムスタンプが逆転していた場合は、強制的に前のパケットのタイムスタンプと同じ値を付与してもよい。
【００６０】
以上説明したように、本実施の形態によれば、タイムスタンプ付与部１４が、パケットに付与されたタイムスタンプに当該パケットのブロック内の位置に応じた値を加算することにより、送信部１３は、付与されたタイムスタンプに従ってパケットを送出するだけで、入力したソースデータとパリティデータを平滑化して送出することができる。
【００６１】
［第３の実施の形態］
図７は、本実施の形態における符号化装置の構成を示す機能ブロック図である。
【００６２】
図７に示す符号化装置は、第１の実施の形態の符号化装置に、送出するソースデータのタイムスタンプが均等になるように整列させたり、ソースデータとパリティデータをインターリーブする整列部１５を追加したものである。例えば、タイムスタンプが０，６０，６０，６０，６０，６０，７０のパケットを入力した場合、０から６０までは送出間隔が大きいが、タイムスタンプが６０のパケットがバースト的に出力される。そこで、整列部１５は、１ブロック分のソースデータを入力した後、タイムスタンプの分布を考慮し、送出するパケットのタイムスタンプが均等になるように、例えば上記のタイムスタンプを１００，１０９，１１８，１２７，１３６，１４５，１５４と書き換える。
【００６３】
本実施の形態における符号化装置は、１ブロック分のソースデータを入力してパリティデータを算出した後に、整列部１５が処理を実行し、ソースデータとパリティデータを１ブロック分の時間で送出する。本実施の形態では、符号化装置がソースデータを入力してから送出を開始するまで、１ブロック分の時間以上の遅延が生じる。しかしながら、受信装置では、ブロックの先頭のソースデータを受信してからパリティデータも含めた１ブロック分のデータを受信して復号できるまでの時間は１ブロック分の時間であり、受信側の遅延量は抑えることができる。
【００６４】
次に、本実施の形態における符号化装置の動作について説明する。
【００６５】
図８は、本実施の形態における符号化装置が受信するソースデータと送出するソースデータ及びパリティデータを示す図である。
【００６６】
符号化装置は、時刻ＴＡ０の時点からソースデータＡ０のブロックを受信し始める。符号化装置は、ソースデータＡ０を一時的に保持し、送出しない。
【００６７】
時刻ＴＢ０の時点で、符号化装置は、ソースデータＡ０のブロックを全て入力し、次のブロックのソースデータＢ０を入力し始める。
【００６８】
符号化装置は、ソースデータＡ０のブロックを全て入力すると、ソースデータＡ０からパリティデータＡｐを算出する。
【００６９】
整列部１５は、ソースデータＡ１とパリティデータＡｐを整列あるいはインターリーブし、送出時刻であるタイムスタンプを付与する。
【００７０】
送出時刻ＴＡ１になると、送信部１３は、付与されたタイムスタンプに従ってソースデータＡ１とパリティデータＡｐの送出を開始する。ソースデータＡ１とパリティデータＡｐは、ソースデータＡ０を入力した１ブロック分の時間で送出される。
【００７１】
以上説明したように、本実施の形態によれば、整列部１５が、ソースデータＡ１とパリティデータＡｐを整列またはインターリーブすることにより、データをより平滑に送信したり、バーストエラーに対する耐性を高めることができる。
【符号の説明】
【００７２】
１１…ＦＥＣ生成部
１２…バッファ機能部
１３…送信部
１４…タイムスタンプ付与部
１５…整列部
【図１】
2018011168.tif 000003
【図２】
2018011168.tif 000004
【図３】
2018011168.tif 000005
【図４】
2018011168.tif 000006
【図５】
2018011168.tif 000007
【図６】
2018011168.tif 000008
【図７】
2018011168.tif 000009
【図８】
2018011168.tif 000010
【図９】
2018011168.tif 000011
【図１０】
2018011168.tif 000012
【手続補正書】
【提出日】平成29年9月7日(2017.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力データに対して所定のブロック毎に誤り訂正符号を算出する符号化手段と、
前記入力データを前記誤り訂正符号の増加分を考慮した伝送速度の最大レートで前記誤り訂正符号の送出に必要な時間分のバッファ量を下限として保持するバッファと、
前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した１ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出する送出手段と、を有し、
前記送出手段は、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする符号化装置。
【請求項２】
前記入力データはタイムスタンプが付与されたパケットであって、
前記パケットの前記ブロック内の位置に応じた値を当該パケットのタイムスタンプに加算して当該タイムスタンプを書き換えるタイムスタンプ付与手段を有し、
前記送出手段は、前記パケットのタイムスタンプに従って前記パケットを送出することを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記タイムスタンプ付与手段は、前記パケットの入力間隔に出力伝送速度に対する入力伝送速度の比率を乗算した値を前のパケットのタイムスタンプに加算した時刻をタイムスタンプとして付与することを特徴とする請求項２に記載の符号化装置。
【請求項４】
コンピュータによる符号化方法であって、
入力データに対して所定のブロック毎に誤り訂正符号を算出するステップと、
前記入力データをバッファに前記誤り訂正符号の増加分を考慮した伝送速度の最大レートで前記誤り訂正符号の送出に必要な時間分のバッファ量を下限として保持するステップと、
前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した１ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出するステップと、を有し、
前記送出するステップは、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする符号化方法。
【請求項５】
請求項１乃至３のいずれかに記載の符号化装置の各手段としてコンピュータを動作させることを特徴とする符号化プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
第１の本発明に係る符号化装置は、入力データに対して所定のブロック毎に誤り訂正符号を算出する符号化手段と、前記入力データを前記誤り訂正符号の増加分を考慮した伝送速度の最大レートで前記誤り訂正符号の送出に必要な時間分のバッファ量を下限として保持するバッファと、前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した１ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出する送出手段と、を有し、前記送出手段は、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
第２の本発明に係る符号化方法は、コンピュータによる符号化方法であって、入力データに対して所定のブロック毎に誤り訂正符号を算出するステップと、前記入力データをバッファに前記誤り訂正符号の増加分を考慮した伝送速度の最大レートで前記誤り訂正符号の送出に必要な時間分のバッファ量を下限として保持するステップと、前記誤り訂正符号の増加分を考慮した伝送速度で、前記ブロックの全ての入力データを入力した１ブロック分の時間内に、前記ブロックの全ての入力データと前記誤り訂正符号を送出するステップと、を有し、前記送出するステップは、前記ブロックの最初の入力データを入力した時点から前記誤り訂正符号の送出に必要な時間前記入力データを前記バッファにて保持した後、前記入力データを送出し始め、前記ブロックの全ての入力データを送出し終えた後に前記誤り訂正符号の送出を開始することを特徴とする。