(57)【要約】【課題】通信システムにおいて、転送効率の悪化を低減しながらも、ネットワーク品質の変動を考慮せずに、損失したパケットを復元可能とすること。【解決手段】送信装置１０は、通信路の余剰帯域を表す情報に基づき冗長度を決定する冗長度決定部１１と、データを取得する取得部１２と、データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより冗長度に基づく冗長パケットを生成する冗長化部１３と、パケットおよび冗長パケットを送信する送信部１４とを備える。また、受信装置２０は、パケットおよび冗長パケットを受信する受信部２１と、損失したパケットを、受信されたパケットおよび冗長パケットに対して復号を行う論理演算を施すことにより復元する復元部２２と、受信されたパケットおよび復元されたパケットに基づきデータを出力する出力部２３とを備える。【選択図】図１
2017175495.tif 000002
【特許請求の範囲】
【請求項１】
送信対象のデータを符号化する際の冗長度を、通信路の余剰帯域を表す情報に基づき決定する冗長度決定部と、
前記送信対象のデータを取得する取得部と、
前記データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより、前記冗長度に基づく冗長パケットを生成する冗長化部と、
前記パケットに前記冗長パケットを付加して受信装置に対して前記通信路を介して送信する送信部と、
を備えた送信装置。
【請求項２】
前記送信装置の前記冗長化部は、異なる論理演算を施す複数の論理演算回路により、前記冗長度に基づく複数の前記冗長パケットを生成することを特徴とする請求項１に記載の送信装置。
【請求項３】
請求項１または請求項２に記載の送信装置から、前記パケットおよび前記冗長パケットを受信する受信部と、
前記送信装置から送信された前記パケットのうち損失したパケットを、受信された前記パケットおよび前記冗長パケットに対して前記誤り訂正符号化に対応する復号を行う論理演算を施すことにより復元する復元部と、
受信された前記パケットおよび復元された前記パケットに基づき前記データを出力する出力部と、
を備えた受信装置。
【請求項４】
前記受信部が、請求項２に記載の送信装置から前記パケットおよび前記冗長パケットを受信するとき、
前記受信装置の前記復元部は、前記複数の論理演算回路による前記誤り訂正符号化に対応する復号を行う複数の論理演算回路により前記損失したパケットを復元することを特徴とする請求項３に記載の受信装置。
【請求項５】
請求項１または請求項２に記載の送信装置と、
請求項３または請求項４に記載の受信装置と、
を備えた通信システム。
【請求項６】
送信装置が、
送信対象のデータを符号化する際の冗長度を、通信路の余剰帯域を表す情報に基づき決定しておき、
前記送信対象のデータを取得すると、前記データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより、前記冗長度に基づく冗長パケットを生成し、
前記パケットに前記冗長パケットを付加して受信装置に対して前記通信路を介して送信し、
前記受信装置が、
前記送信装置から、前記パケットおよび前記冗長パケットを受信し、
前記送信装置から送信された前記パケットのうち損失したパケットを、受信された前記パケットおよび前記冗長パケットに対して前記誤り訂正符号化に対応する復号を行う論理演算を施すことにより復元し、
受信された前記パケットおよび復元された前記パケットに基づき前記データを出力する方法。
【請求項７】
送信装置が、
送信対象のデータを符号化する際の冗長度を、通信路の余剰帯域を表す情報に基づき決定しておき、
前記送信対象のデータを取得すると、前記データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより、前記冗長度に基づく冗長パケットを生成し、
前記パケットに前記冗長パケットを付加して受信装置に対して前記通信路を介して送信する方法。
【請求項８】
送信対象のデータを符号化する際の冗長度を、通信路の余剰帯域を表す情報に基づき決定する冗長度決定ステップと、
前記送信対象のデータを取得する取得ステップと、
前記データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより、前記冗長度に基づく冗長パケットを生成する冗長化ステップと、
前記パケットに前記冗長パケットを付加して受信装置に対して前記通信路を介して送信する送信ステップと、
を送信装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置から受信装置にデータを送信する技術に関する。
【背景技術】
【０００２】
送信装置から送信されたデータが受信装置に到達するまでに、データの一部に欠落や不正等の誤りが発生することがある。このような場合に対応する一般的な技術として、受信装置で誤りが検出されたデータについては、送信装置からデータを再送する手法がある。
【０００３】
しかしながら、データの再送は、ネットワークの負荷を増大させる。また、データを再送する手法は、リアルタイム性が重要なデータの送信には適していない。そこで、受信装置で誤りが検出されたデータについて受信装置において誤りを訂正する手法がある。この手法では、送信装置は、データに、誤りを訂正可能な誤り訂正符号を付加して送信する。
【０００４】
例えば、送信装置において、送信されるデータを分割したパケット毎に、誤り訂正符号（ＥＣＣ：Error Correction Code）を付加して送信する手法がある。この場合、受信装置は、パケットの一部に誤りが発生した場合には、再送を要求することなく、誤りを訂正して正しいパケットを得ることができる。しかしながら、受信装置は、特定のパケットの広範囲に誤りが発生した場合や特定のパケットが未達となった場合には、正しいパケットを得ることができず、再送を要求しなければならない。以降、特定のパケットの広範囲に誤りが発生した場合や特定のパケットが未達となった場合を総称して、パケット損失とも記載する。
【０００５】
そこで、送信されるデータを分割したパケット同士を論理演算して誤り訂正符号のパケットを生成して付加する手法が知られている。このような手法は、ＦＥＣ（Forward Error Correction）とも呼ばれる。ＦＥＣでは、パケット損失が発生した場合にも、受信装置は、他のパケットおよび誤り訂正符号のパケットに基づいて、そのパケットを復元することができる。
【０００６】
このようなＦＥＣに関連する技術の一例が、特許文献１に記載されている。この関連技術では、送信装置は、送信データを複数の要素データに分割し、要素データ同士に対して、異なる符号系列を用いた論理演算をそれぞれ実行して複数の冗長データを生成する。そして、送信装置は、送信データをそれぞれの冗長データと組み合わせて複数の欠損保障データを生成する。そして、この関連技術は、複数の欠損保障データを異なる通信路にそれぞれ割り当てて送信する。受信装置は、異なる通信路を介して複数の欠損保障データを受信し、それぞれの欠損保障データを復号して送信データを得る。これにより、受信装置は、複数の欠損保障データのそれぞれに欠損が生じている場合でも、それぞれから復号した送信データを統合することにより、元の送信データを得ることが可能となる。
【０００７】
また、このようなＦＥＣに適用可能な技術の一例が、特許文献２に記載されている。この関連技術は、データを分割したブロックから２種類の誤り訂正符号を生成し、各ブロックおよび各誤り訂正符号を、物理的に異なる記憶装置に格納する。この関連技術を通信システムに適用して、送信装置から受信装置へ向けて送信するデータに基づき誤り訂正符号を生成し、データに加えて送信することが考えられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−３０６１４０号公報
【特許文献２】特開２０１０−２３８４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述のＦＥＣでは、パケット損失数の増加に対応するために冗長度を増加させると、転送効率が悪化するという問題がある。しかしながら、転送効率を考慮して冗長度を低下させると、パケット損失数が増加した場合に元のデータを復元できないという問題が生じる。
【００１０】
特許文献１および特許文献２に記載された関連技術には、冗長度をどのように決定するかという問題に関する記載がない。また、ネットワーク品質の変動に応じて冗長度を動的に変更することも考えられるが、通信中の動的な冗長度の変更処理は、送信装置および受信装置の負荷を増大させる。
【００１１】
本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、通信システムにおいて、転送効率の悪化を低減しながらも、ネットワーク品質の変動を考慮せずに、損失したパケットを復元可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の送信装置は、送信対象のデータを符号化する際の冗長度を、通信路の余剰帯域を表す情報に基づき決定する冗長度決定部と、前記送信対象のデータを取得する取得部と、前記データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより、前記冗長度に基づく冗長パケットを生成する冗長化部と、前記パケットに前記冗長パケットを付加して受信装置に対して前記通信路を介して送信する送信部と、を備える。
【００１３】
また、本発明の受信装置は、上述の送信装置から、前記パケットおよび前記冗長パケットを受信する受信部と、前記送信装置から送信された前記パケットのうち損失したパケットを、受信された前記パケットおよび前記冗長パケットに対して前記誤り訂正符号化に対応する復号を行う論理演算を施すことにより復元する復元部と、受信された前記パケットおよび復元された前記パケットに基づき前記データを出力する出力部と、を備える。
【００１４】
また、本発明の通信システムは、上述の送信装置と、上述の受信装置と、を備える。
【００１５】
また、本発明の方法は、送信装置が、送信対象のデータを符号化する際の冗長度を、通信路の余剰帯域を表す情報に基づき決定しておき、前記送信対象のデータを取得すると、前記データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより、前記冗長度に基づく冗長パケットを生成し、前記パケットに前記冗長パケットを付加して受信装置に対して前記通信路を介して送信し、前記受信装置が、前記送信装置から、前記パケットおよび前記冗長パケットを受信し、前記送信装置から送信された前記パケットのうち損失したパケットを、受信された前記パケットおよび前記冗長パケットに対して前記誤り訂正符号化に対応する復号を行う論理演算を施すことにより復元し、受信された前記パケットおよび復元された前記パケットに基づき前記データを出力する。
【００１６】
また、本発明の他の方法は、送信装置が、送信対象のデータを符号化する際の冗長度を、通信路の余剰帯域を表す情報に基づき決定しておき、前記送信対象のデータを取得すると、前記データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより、前記冗長度に基づく冗長パケットを生成し、前記パケットに前記冗長パケットを付加して受信装置に対して前記通信路を介して送信する。
【００１７】
また、本発明のプログラムは、送信対象のデータを符号化する際の冗長度を、通信路の余剰帯域を表す情報に基づき決定する冗長度決定ステップと、前記送信対象のデータを取得する取得ステップと、前記データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより、前記冗長度に基づく冗長パケットを生成する冗長化ステップと、前記パケットに前記冗長パケットを付加して受信装置に対して前記通信路を介して送信する送信ステップと、を送信装置に実行させる。
【発明の効果】
【００１８】
本発明は、通信システムにおいて、転送効率の悪化を低減しながらも、ネットワーク品質の変動を考慮せずに、損失したパケットを復元可能とする技術を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態としての通信システムの構成を示すブロック図である。
【図２】本発明の実施の形態としての通信システムのハードウェア構成の一例を示す図である。
【図３】本発明の実施の形態としての通信システムの構成の一例を示す図である。
【図４】本発明の実施の形態の送信装置において送信対象のデータに付加される冗長パケットを模式的に説明する図である。
【図５】本発明の実施の形態の受信装置における損失パケットの復元を模式的に説明する図である。
【図６】本発明の実施の形態としての通信システムの動作を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２１】
本発明の実施の形態としての通信システム１の機能ブロック構成を図１に示す。図１において、通信システム１は、送信装置１０および受信装置２０を含む。送信装置１０および受信装置２０は、ネットワーク３０を介して接続されている。送信装置１０は、冗長度決定部１１と、取得部１２と、冗長化部１３と、送信部１４とを含む。また、受信装置２０は、受信部２１と、復元部２２と、出力部２３とを含む。
【００２２】
ここで、通信システム１は、図２に示すようなハードウェア要素によって構成可能である。
【００２３】
図２において、送信装置１０は、ＣＰＵ（Central Processing Unit）１００１、メモリ１００２、１つ以上の論理演算回路１００３、および、ネットワークインタフェース１００５を含む。メモリ１００２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置（ハードディスク等）等によって構成される。論理演算回路１００３は、入力されるパケット同士に対して誤り訂正符号化を行う論理演算を施して出力する回路である。ネットワークインタフェース１００５は、ネットワーク３０に接続するインタフェースである。この場合、送信装置１０の冗長度決定部１１および取得部１２は、メモリ１００２に格納されるコンピュータ・プログラムを読み込んで実行するＣＰＵ１００１によって構成される。また、冗長化部１３は、１つ以上の論理演算回路１００３と、メモリ１００２に格納されるコンピュータ・プログラムを読み込んで実行するＣＰＵ１００１とによって構成される。また、送信部１４は、ネットワークインタフェース１００５と、メモリ１００２に格納されるコンピュータ・プログラムを読み込んで実行するＣＰＵ１００１とによって構成される。
【００２４】
また、受信装置２０は、ＣＰＵ２００１、メモリ２００２、１つ以上の論理演算回路２００３、出力装置２００４、および、ネットワークインタフェース２００５を含む。メモリ２００２は、ＲＡＭ、ＲＯＭ、補助記憶装置等によって構成される。論理演算回路２００３は、入力されるパケット同士に所定の論理演算を施して出力する回路である。なお、論理演算回路２００３は、送信装置１０が有する論理演算回路１００３により実行される誤り訂正符号化に対応する復号を行う論理演算を施すものとして構成される。出力装置２００４は、ディスプレイ装置やプリンタ等のように、情報を出力する装置によって構成される。ネットワークインタフェース２００５は、ネットワーク３０に接続するインタフェースである。この場合、受信装置２０の受信部２１は、ネットワークインタフェース２００５と、メモリ２００２に格納されるコンピュータ・プログラムを読み込んで実行するＣＰＵ２００１とによって構成される。また、復元部２２は、１つ以上の論理演算回路２００３と、メモリ２００２に格納されるコンピュータ・プログラムを読み込んで実行するＣＰＵ２００１とによって構成される。また、出力部２３は、出力装置２００４と、メモリ２００２に格納されるコンピュータ・プログラムを読み込んで実行するＣＰＵ２００１とによって構成される。
【００２５】
ここで、例えば、図３に示すように、送信装置１０の冗長化部１３が、論理演算回路１００３としての、複数のパケット同士に対してＸＯＲ演算を行うＸＯＲ演算回路およびガロア体算術演算を行うガロア体演算回路によって構成されるとする。この場合、受信装置２０の復元部２２は、図３に示すように、論理演算回路２００３としての、ＸＯＲ演算回路およびガロア体演算回路によって構成される。
【００２６】
なお、図２には、送信装置１０が備える論理演算回路１００３および受信装置２０が備える論理演算回路２００３をそれぞれ２つずつ示した。また、図３には、論理演算回路１００３および論理演算回路２００３として、それぞれ、ＸＯＲ演算回路およびガロア体演算回路を示した。ただし、各装置が備える論理演算回路１００３または論理演算回路２００３の数および種類は、これに限定されない。また、通信システム１を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００２７】
次に、送信装置１０の各機能ブロックの詳細について説明する。
【００２８】
冗長度決定部１１は、ネットワーク３０の余剰帯域を表す情報に基づいて、送信対象のデータを符号化する際の冗長度を決定する。なお、ネットワーク３０の余剰帯域を表す情報は、伝送帯域を表す情報に基づき算出可能である。冗長度決定部１１は、あらかじめ得られる余剰帯域の情報に基づいて冗長度を決定しておけばよく、通信中のネットワーク品質の変動を考慮しなくてよい。
【００２９】
取得部１２は、送信対象となるデータを取得する。例えば、取得部１２は、メモリ１００２に格納されたデータを、送信対象として取得してもよい。また、取得部１２は、ネットワークや可搬型記憶媒体を介して、送信対象となるデータを取得してもよい。なお、送信対象のデータの取得元は、これらに限定されない。
【００３０】
冗長化部１３は、送信対象のデータが分割されたパケット同士に対して、誤り訂正符号化を行う論理演算を施すことにより、冗長度決定部１１によって決定された冗長度に基づく冗長パケットを生成する。例えば、冗長化部１３は、異なる論理演算を施す複数の論理演算回路１００３を用いて、複数の冗長パケットを生成してもよい。
【００３１】
ここで、図３に示したように、複数の論理演算回路１００３が、ＸＯＲ演算回路およびガロア体演算回路によって構成される場合について説明する。この場合、冗長化部１３は、図４に示すように、Ｎ（Ｎは２以上の整数）個に分割されたパケットから、ＸＯＲ演算による冗長パケットＰと、ガロア体算術演算による冗長パケットＱとを生成すればよい。なお、冗長度に基づく冗長パケットを生成する論理演算については、誤り訂正符号化に用いられる各種の技術を適用可能である。
【００３２】
送信部１４は、送信対象のデータが分割されたパケットに、冗長化部１３によって生成された冗長パケットを付加して、受信装置２０に対してネットワーク３０を介して送信する。なお、送信部１４は、送信対象のデータが分割されたパケットおよび冗長パケットを、どのような順序で送信してもよい。また、送信部１４は、送信対象のデータが分割されたパケットおよび冗長パケットを、インタリーブして送信してもよい。
【００３３】
次に、受信装置２０の各機能ブロックの詳細について説明する。
【００３４】
受信部２１は、送信装置１０から、パケットおよび冗長パケットを受信する。
【００３５】
復元部２２は、損失したパケットを、受信されたパケットおよび冗長パケットに対して論理演算を施すことにより復元する。復元部２２が施す論理演算の内容は、送信装置１０の冗長化部１３が施す論理演算による誤り訂正符号化に対応する復号を行うものである。例えば、送信装置１０の冗長化部１３が複数の演算回路１００３を用いて誤り訂正符号化を行うとき、復元部２２は、その誤り訂正符号化に対応する復号を行う複数の演算回路２００３を用いて復元を行えばよい。
【００３６】
例えば、図３に示したように、送信装置１０において複数の演算回路１００３が、ＸＯＲ演算回路およびガロア体演算回路によって構成される場合、複数の演算回路２００３は、ＸＯＲ演算回路およびガロア体演算回路によって構成される。このとき、図４に模式的に示したパケットおよび冗長パケットが、送信装置１０から受信装置２０に対して送信されたとする。そして、受信装置２０では、このうち、図５に示すように、２番目のパケットが損失したとする。この場合、復元部２２は、１〜Ｎ番目のうち２番目以外のパケットと、冗長パケットＰおよび冗長パケットＱとに対して、ＸＯＲ演算回路およびガロア体演算回路を用いた論理演算を行うことにより、損失した２番目のパケットを復元する。
【００３７】
なお、損失したパケットとは、送信装置１０から送信されたが未達のパケットや、到達したがその大部分に不正が発生しているパケットである。損失したパケットは、他の受信されたパケットや、パケット毎に付加されている誤り検出符号等により特定可能である。ただし、損失したパケットがなければ、復元部２２は、動作しなくてよい。
【００３８】
出力部２３は、受信されたパケットおよび復元されたパケットに基づき、送信されたデータを出力する。出力先は、出力装置２００４であってもよいし、メモリ２００２であってもよい。ただし、出力先は、これらに限定されない。
【００３９】
以上のように構成された通信システム１の動作について、図６を参照して説明する。
【００４０】
図６において、左図は送信装置１０の動作を示し、右図は受信装置２０の動作を示す。
【００４１】
まず、送信装置１０において、冗長度決定部１１は、余剰帯域の情報に基づいて、冗長度を決定する（ステップＳ１）。このステップは、あらかじめ実行され、決定された冗長度は、ネットワーク品質の変動があっても変更されなくてよい。
【００４２】
次に、取得部１２は、送信対象のデータを取得する（ステップＳ２）。
【００４３】
次に、冗長化部１３は、送信対象のデータが分割されたパケット同士に対して、誤り訂正符号化を行う論理演算を施すことにより、冗長度に基づく冗長パケットを生成する（ステップＳ３）。
【００４４】
次に、送信部１４は、分割されたパケットおよび冗長パケットを、ネットワーク３０を介して受信装置２０に対して送信する（ステップＳ４）。
【００４５】
次に、受信装置２０において、受信部２１は、パケットおよび冗長パケットを受信する（ステップＳ５）。
【００４６】
次に、復元部２２は、損失したパケットを、受信されたパケットおよび冗長パケットに対して論理演算を施すことにより復元する（ステップＳ６）。
【００４７】
次に、出力部２３は、受信されたパケットおよび復元したパケットに基づいて、送信されたデータを出力する（ステップＳ７）。
【００４８】
以上で、通信システム１は、動作を終了する。
【００４９】
次に、本発明の実施の形態の効果について述べる。
【００５０】
本発明の実施の形態としての通信システムは、通信システムにおいて、転送効率の悪化を低減しながらも、ネットワーク品質の変動を考慮せずに、損失したパケットを復元可能とする。
【００５１】
その理由について説明する。本実施の形態では、冗長度決定部が、送信対象のデータを符号化する際の冗長度を、通信路の余剰帯域を表す情報に基づき決定する。そして、取得部が、送信対象のデータを取得すると、冗長化部が、データが分割されたパケット同士に対して誤り訂正符号化の論理演算を施すことにより、冗長度に基づく冗長パケットを生成する。そして、送信部が、パケットに冗長パケットを付加して受信装置に対して通信路を介して送信するからである。また、受信装置が、送信装置からパケットおよび冗長パケットを受信すると、復元部が、損失したパケットを、受信されたパケットおよび冗長パケットに対して誤り訂正符号化に対応する復号を行う論理演算を施すことにより復元する。そして、出力部が、受信されたパケットおよび復元されたパケットに基づきデータを出力するからである。
【００５２】
このように、本実施の形態は、あらかじめ余剰帯域を表す情報に基づき決定した冗長度を半固定的に用いて誤り訂正符号化を行うので、ネットワーク品質の変動を考慮しなくてよい。また、本実施の形態は、余剰帯域に応じた冗長度で誤り訂正符号化を行うので、冗長パケットが付加されることによる転送効率の悪化をできる限り低減する。このような効果を奏しながら、本実施の形態は、損失したパケットを送信装置から再送することなく、受信装置側で復元可能とする。
【００５３】
なお、本実施の形態において、冗長化部および復元部が、それぞれ、ＸＯＲ演算回路およびガロア体演算回路によって構成される例について説明した。ただし、これらの各機能ブロックを構成する演算回路の数および種類は限定されない。
【００５４】
また、本実施の形態において、送信装置および受信装置の各機能ブロックが、メモリに記憶されたコンピュータ・プログラムを実行するＣＰＵによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
【００５５】
また、本実施の形態において、フローチャートを参照して説明した送信装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置（記憶媒体）に格納しておく。そして、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【００５６】
また、本発明は、上述した実施の形態に限定されず、様々な態様で実施されることが可能である。
【符号の説明】
【００５７】
１  通信システム
１０  送信装置
１１  冗長度決定部
１２  取得部
１３  冗長化部
１４  送信部
２０  受信装置
２１  受信部
２２  復元部
２３  出力部
３０  ネットワーク
１００１、２００１    ＣＰＵ
１００２、２００２    メモリ
１００３、２００３    論理演算回路
２００４    出力装置
１００５、２００５    ネットワークインタフェース
【図１】
2017175495.tif 000003
【図２】
2017175495.tif 000004
【図３】
2017175495.tif 000005
【図４】
2017175495.tif 000006
【図５】
2017175495.tif 000007
【図６】
2017175495.tif 000008