(57)【特許請求の範囲】
【請求項１】
他の通信装置との間で通信を行う通信装置であって、
ＦＥＣ符号を構成する情報シンボルを含む情報パケットおよび検査シンボルを含む検査パケットを含む受信パケットを受信し、各々のパケットを複数のシンボルに分割する受信部と、
前記受信パケットの各パケットが正常受信パケットであるか非正常受信パケットであるかを検出する第１誤り検出部と、
前記ＦＥＣ符号毎に、前記正常受信パケットに含まれる正常シンボルと前記非正常受信パケットに含まれる不確定シンボルとで構成されるＦＥＣ復号候補を、前記不確定シンボルが異なるように複数生成し、第１の誤り訂正を行う第１誤り訂正部と、
前記第１誤り訂正部による複数の前記ＦＥＣ復号候補に対する複数の前記第１の誤り訂正の結果のうち、一致した前記第１の誤り訂正の結果に基づいて、前記ＦＥＣ符号を修正する第２誤り訂正部と、を備える通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記第１誤り訂正部は、前記第１誤り検出部により誤りが検出されなかった正常受信パケットの数が前記情報パケットの数未満であり、前記受信パケットの数が前記情報パケットの数よりも大きい場合、前記ＦＥＣ符号毎に、前記正常受信パケットに含まれるシンボルである正常シンボルの全てと、前記第１誤り検出部により誤りが検出された非正常受信パケットに含まれるシンボルである不確定シンボルの一部と、により構成される前記ＦＥＣ復号候補を、前記不確定シンボルが異なるように複数生成する、通信装置。
【請求項３】
請求項２に記載の通信装置であって、
前記ＦＥＣ復号候補のシンボルの数は、前記情報シンボルの数と同数である通信装置。
【請求項４】
請求項２または３に記載の通信装置であって、
前記第２誤り訂正部は、前記ＦＥＣ符号毎に、前記非正常受信パケットに含まれる前記不確定シンボルの値と、前記一致した前記第１の誤り訂正の結果により得られた前記非正常受信パケットに含まれるエラーシンボルの値と、に基づいて、前記他の通信装置により送信された送信パケットに含まれる送信シンボルを算出する通信装置。
【請求項５】
請求項２ないし４のいずれか１項に記載の通信装置であって、更に、
前記第２誤り訂正部により修正されたパケットである修正パケットに対して、第２の誤り検出を行う第２誤り検出部と、
前記第２誤り訂正部は、前記第２誤り検出部により誤りが検出されなかった場合、前記修正パケットを前記非正常受信パケットから前記正常受信パケットに変更する通信装置。
【請求項６】
請求項５に記載の通信装置であって、
前記第１誤り訂正部は、前記第２誤り訂正部により前記ＦＥＣ符号が修正された結果、前記正常受信パケットの数が前記情報パケットの数以上となった場合、後続のＦＥＣ符号の前記ＦＥＣ復号候補に対する前記第１の誤り訂正を中止し、前記後続のＦＥＣ符号に対する前記第１の誤り訂正を行う通信装置。
【請求項７】
ＦＥＣ符号を構成する情報シンボルを含む情報パケットおよび検査シンボルを含む検査パケットを含む受信パケットを受信し、各々のパケットを複数のシンボルに分割するステップと、
前記受信パケットの各パケットが正常受信パケットであるか非正常受信パケットであるかを検出するステップと、
前記ＦＥＣ符号毎に、前記正常受信パケットに含まれる正常シンボルと前記非正常受信パケットに含まれる不確定シンボルとで構成されるＦＥＣ復号候補を、前記不確定シンボルが異なるように複数生成し、第１の誤り訂正を行うステップと、
前記第１の誤り訂正による複数の前記ＦＥＣ復号候補に対する複数の前記第１の誤り訂正の結果のうち、一致した前記第１の誤り訂正の結果に基づいて、前記ＦＥＣ符号を修正して第２の誤り訂正を行うステップと、
を有する通信方法。
【請求項８】
請求項７に記載の通信方法の各ステップをコンピュータに実行させるための通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、及びプログラムに関する。
【背景技術】
【０００２】
従来の電子機器では、外部の通信装置との間で行われるデジタル通信処理、デジタル通信により得られたデータや記憶装置に記憶されたデータに施される信号処理において、データの信頼性を確保するために、誤り検出や誤り訂正が一般的に行われる。誤り検出では、データに誤りが発生しているか否かを識別することができる。また、誤り訂正では、データに誤りが発生しているか否かを識別し、さらに誤りのあるデータを訂正することができる。
【０００３】
誤り検出又は誤り訂正では、ｋ単位長（ｋビット等）の符号を、ｎ＝ｍ＋ｋ単位長の符号語に変換するブロック符号と呼ばれる種類のものがある。これを（ｎ、ｋ）符号などと記載する。符号語は、最小ハミング距離がｄ＞１、つまり互いに少なくともｄ単位異なっている。この冗長性を利用して、誤り検出や誤り訂正が成される。
【０００４】
誤り検出では、符号語あたりｄ−１単位の誤りを検出することができ、誤り訂正では、符号語あたり［（ｄ−１）／２］単位の誤りを訂正することができる（［］は床関数）。
【０００５】
誤り訂正に用いられる符号の１つとして、前方誤り訂正符号（以下、「ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）符号」ともいう）があり、その１つとして、リード・ソロモン符号（以下、「ＲＳ符号」という）が知られている。ＲＳ符号は、生成と復号が複雑であるので、処理にある程度の時間を要する反面、誤り訂正能力が高く、地上デジタル放送、衛星通信、ＡＤＳＬ、ＣＤ、ＤＶＤ、ＱＲコード等の誤り訂正に応用されている。また、ＲＳ符号では、符号語をシンボルの集まりで表し、各シンボル単位で誤り検出と誤り訂正とを行う。そして、ＲＳ符号は、１つのシンボル内のビットにどれだけ誤りを含んでいても、全体として１シンボルの誤りと認識されるので、連続して起こるビット誤りであるバースト誤りに強いという特性がある。ＲＳ符号の符号語は、例えばＲＳ（ｎ、ｋ）符号又は単にＲＳ（ｎ、ｋ）と表される。
【０００６】
また、ＲＳ符号の誤り訂正において、誤り位置があらかじめ特定されている場合の誤り訂正を消失訂正というが、消失訂正では符号語あたりｎ−ｋシンボル以下の誤りまでは正しく誤り訂正できる。
【０００７】
ＦＥＣ符号を用いた技術の例として、ＦＥＣ符号を用いることで、映像データの映像品質を推定することができる映像品質推定装置が知られている（例えば、特許文献１参照）。
【０００８】
また、情報パケット数ｋ、検査パケット数ｍ、送信パケット数ｎ＝ｋ＋ｍの場合には、ｎ個中任意のｎ−ｋ＝ｍ（個）のパケット損失まで回復可能（誤り訂正可能）である。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−１８７０９７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来のＦＥＣ符号を用いた誤り訂正では、ｎパケット中、正常に受信された正常受信パケットのパケット数がｋパケット以上でないと、ｋ個の情報パケットを復元できなかった。
【００１１】
本発明は、上記事情に鑑みてなされたものであって、誤り訂正能力を向上させることが可能な通信装置、通信方法、及び通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の通信装置は、他の通信装置との間で通信を行う通信装置であって、ＦＥＣ符号を構成する情報シンボルを含む情報パケットおよび検査シンボルを含む検査パケットを含む受信パケットを受信し、各々のパケットを複数のシンボルに分割する受信部と、前記受信パケットの各パケットが正常受信パケットであるか非正常受信パケットであるかを検出する第１誤り検出部と、前記ＦＥＣ符号毎に、前記正常受信パケットに含まれる正常シンボルと前記非正常受信パケットに含まれる不確定シンボルとで構成されるＦＥＣ復号候補を、前記不確定シンボルが異なるように複数生成し、第１の誤り訂正を行う第１誤り訂正部と、前記第１誤り訂正部による複数の前記ＦＥＣ復号候補に対する複数の前記第１の誤り訂正の結果のうち、一致した前記第１の誤り訂正の結果に基づいて、前記ＦＥＣ符号を修正する第２誤り訂正部と、を備える。
【００１３】
この通信装置によれば、複数のＦＥＣ復号候補に対する複数の誤り訂正（第１の誤り訂正）の結果の一致度に基づいて、誤り訂正（第２の誤り訂正）が困難であったＦＥＣ符号についても復元をすることができる。このとき、比較的下層（ＤＬＣ層など）で通常破棄されるパケットを利用して、誤り訂正を行うことができる。したがって、誤り訂正能力を向上させることが可能である。
【００１４】
本発明の通信装置は、前記第１誤り訂正部が、前記第１誤り検出部により誤りが検出されなかった正常受信パケットの数が前記情報パケットの数未満であり、前記受信パケットの数が前記情報パケットの数以上である場合、前記ＦＥＣ符号毎に、前記正常受信パケットに含まれるシンボルである正常シンボルの全てと、前記第１誤り検出部により誤りが検出された非正常受信パケットに含まれるシンボルである不確定シンボルの一部と、により構成される前記ＦＥＣ復号候補を、前記不確定シンボルが異なるように複数生成する。
【００１５】
この通信装置によれば、複数のＦＥＣ復号候補に対する複数の誤り訂正（第１の誤り訂正）の結果の一致度に基づいて、誤り訂正（第２の誤り訂正）が困難であったＦＥＣ符号についても復元をすることができる。したがって、誤り訂正能力を向上させることが可能である。
【００１６】
また、本発明の通信装置は、前記ＦＥＣ復号候補のシンボルの数が、前記情報シンボルの数と同数である。
【００１７】
この通信装置によれば、誤り訂正を行うための必要最低限の数のＦＥＣ復号候補のシンボルを用いて、誤り訂正を行うことができる。
【００１８】
本発明の通信装置は、前記第２誤り訂正部が、前記ＦＥＣ符号毎に、前記非正常受信パケットに含まれる前記不確定シンボルの値と、前記一致した前記第１の誤り訂正の結果により得られた前記非正常受信パケットに含まれるエラーシンボルの値と、に基づいて、前記他の通信装置により送信された送信パケットに含まれる送信シンボルを算出する。
【００１９】
この通信装置によれば、一般的な誤り訂正の演算式を用いながら、誤り訂正が困難であったＦＥＣ符号についても復元することができる。
【００２０】
また、本発明の通信装置は、前記第２の誤り訂正部により修正されたパケットである修正パケットに対して、第２の誤り検出を行う第２誤り検出部を備え、前記第２誤り訂正部が、前記第２誤り検出部により誤りが検出されなかった場合、前記修正パケットを前記非正常受信パケットから前記正常受信パケットに変更する。
【００２１】
この通信装置によれば、第２の誤り訂正により確実にＦＥＣ符号が修正されたことを検証することができる。また、同一パケット内の後続のＦＥＣ符号についてはエラーシンボルが含まれていないことを確認することができる。
【００２２】
また、本発明の通信装置は、前記第１誤り訂正部が、前記ＦＥＣ符号修正部により前記ＦＥＣ符号が修正された結果、前記正常受信パケットの数が前記情報パケットの数以上となった場合、後続のＦＥＣ符号の前記ＦＥＣ復号候補に対する前記第１の誤り訂正を中止し、前記後続のＦＥＣ符号に対する前記第１の誤り訂正を行う。
【００２３】
この通信装置によれば、第１の誤り訂正の結果、正常受信パケット数が増加して情報パケット数以上となった場合、一般的な誤り訂正（第２の誤り訂正）を行うことができるようになるので、誤り訂正の処理を容易化して演算量を少なくすることができる。
【００２４】
また、本発明の通信方法は、複数のパケットを受信し、各々のパケットを複数のシンボルに分割するステップと、前記分割されたシンボルに含まれる正常シンボルと不確定シンボルとで構成されるＦＥＣ復号候補を用いて、第１の誤り訂正を行うステップと、複数の前記第１の誤り訂正の結果のうち、一致した結果を用いて、第２の誤り訂正を行うステップと、を有する。
【００２５】
この通信方法によれば、複数のＦＥＣ復号候補に対する複数の誤り訂正の結果の一致度に基づいて、誤り訂正が困難であったＦＥＣ符号についても復元をすることができる。このとき、比較的下層（ＤＬＣ層など）で通常破棄されるパケットを利用して、誤り訂正を行うことができる。したがって、誤り訂正能力を向上させることが可能である。
【００２６】
また、本発明の通信プログラムは、上記通信方法の各ステップをコンピュータに実行させるためのプログラムである。
【００２７】
この通信プログラムによれば、複数のＦＥＣ候補に対する複数の誤り訂正の結果の一致度に基づいて、誤り訂正が困難であったＦＥＣ符号についても復元をすることができる。したがって、誤り訂正能力を向上させることが可能である。
【発明の効果】
【００２８】
本発明によれば、誤り訂正能力を向上させることが可能である。
【図面の簡単な説明】
【００２９】
【図１】本発明の第１の実施形態における通信システムの構成例を示す図
【図２】本発明の第１の実施形態におけるＲＳ符号の構成例を示す図
【図３】本発明の第１の実施形態におけるＦＥＣ符号化を説明するための図
【図４】本発明の第１の実施形態におけるＦＥＣ復号化を説明するための図
【図５】本発明の第１の実施形態における受信処理部およびＦＥＣ復号化部の動作例を示すフローチャート
【図６】本発明の第１の実施形態における受信処理部およびＦＥＣ復号化部の動作例を示すフローチャート（図５の続き）
【図７】本発明の第２の実施形態における通信システムの構成例を示す図
【図８】本発明の第２の実施形態におけるＦＥＣ符号化を説明するための図
【図９】本発明の第２の実施形態におけるＦＥＣ復号化を説明するための図
【図１０】本発明の第２の実施形態における受信処理部およびＦＥＣ復号化部の動作例を示すフローチャート
【図１１】本発明の第２の実施形態における受信処理部およびＦＥＣ復号化部の動作例を示すフローチャート（図１０の続き）
【発明を実施するための形態】
【００３０】
以下、本発明の実施形態について、図面を用いて説明する。
【００３１】
本実施形態の通信装置としては、有線ＬＡＮ、同軸ケーブル、電力線等の有線を介して通信を行う通信装置、セルラー通信、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）等の無線を介して通信を行う通信装置、などが考えられる。
【００３２】
また、本実施形態の通信装置は、パケット伝送を行う通信装置であり、テレビ会議システム、監視カメラ映像伝送システム、映像データのダウンロード／アップロードを行うシステム、遠隔授業システム、等における通信装置がある。また、無線通信路のような、パケットエラー率が比較的高い通信路を用いて通信を行う通信装置に、非常に適している。
【００３３】
（誤り訂正、消失訂正の具体的な演算）
本実施形態の通信装置は、誤り訂正、特に消失訂正を行う。各実施形態について説明する前に、まずは誤り訂正、消失訂正の具体的な演算の方法について説明する。
【００３４】
ここでは、通信装置の１つである送信装置から通信装置の１つである受信装置へデータを送信することを想定し、ＲＳ（１５，７）つまりｋ＝７、ｍ＝８、ｎ＝１５の場合を例示する。また、１シンボルを８ビットとする。ＲＳ（１５，７）のデータには、実際に送るべき情報データＤ０〜Ｄ６と、検査を行うためのパリティデータＰ０〜Ｐ７と、が含まれる。
【００３５】
まず、送信装置及び受信装置は、以下の８次の生成多項式Ｇ（ｘ）を用意し、保持しておく。
【数１】
0005895238.tif 000002
【００３６】
送信装置は、情報データＤ０〜Ｄ６に基づいて、以下の式が成り立つようにパリティデータＰ０〜Ｐ７を決定する。
【数２】
0005895238.tif 000003
【００３７】
次に、Ｄ６＝Ｗ14、Ｄ５＝Ｗ13、・・・、Ｄ０＝Ｗ８、Ｐ７＝Ｗ７、Ｐ６＝Ｗ６、・・・、Ｐ０＝Ｗ０、とする。Ｗ０〜Ｗ14は送信シンボルである。（数式２）の式から、Ｗ（ｘ）を以下のように定義すると、Ｗ（ｘ）は、Ｇ（ｘ）で割り切れる。
【数３】
0005895238.tif 000004
【００３８】
したがって、Ｗ（ｘ）＝Ｇ（ｘ）・Ａ（ｘ）＋Ｂ（ｘ）と表すと、Ｂ（ｘ）＝０となる。（数式３）の式の両辺に、ｘ＝α０、ｘ＝α１、ｘ＝α２、・・・、ｘ＝α７を代入すると、以下の式を導くことができる。
【数４】
0005895238.tif 000005
このように、送信装置が送信する送信シンボル（Ｗ０〜Ｗ14）には、満足すべき方程式が存在する（送信装置の制約条件）。
【００３９】
一方、受信装置は、受信シンボル（Ｒ０〜Ｒ14）を送信装置から受信する。送信シンボルと受信シンボルとの間には、以下のような関係がある。
【数５】
0005895238.tif 000006
つまり、
【数６】
0005895238.tif 000007
Ｅｉは、通信路上の各送信シンボルに重畳されたエラーシンボルを示している。
【００４０】
ここで、
【数７】
0005895238.tif 000008
と定義すると、（数式６）は、以下のように表せる。
Ｗ（ｘ）＋Ｅ（ｘ）＝Ｒ（ｘ）
【００４１】
（数式７）の式の両辺、ｘ＝α０、ｘ＝α１、ｘ＝α２、・・・、ｘ＝α７を代入すると、シンドロームＳiを用いて、以下の式を導くことができる。
【数８】
0005895238.tif 000009
すなわち、受信装置は、通信路上で送信シンボルに重畳されたエラーシンボル（Ｅ（ｘ））に基づいて、８個のシンドロームを一意に決定することができる。
【００４２】
また、（数式７）及び（数式８）より、Ｅ（ｘ）に、ｘ＝α０、ｘ＝α１、ｘ＝α２、・・・、ｘ＝α７を代入すると、以下の結果となる。
【数９】
0005895238.tif 000010
【００４３】
各エラーシンボルＥｉのうち、Ｅｉ≠０（非零）であるＥｉの個数をＰとし、ｉ＝Ｌ（０）、Ｌ（１）、・・・Ｌ（Ｐ−１）とすると、（数式９）より、以下の式が成り立つ。なお、アスタリスク「＊」は乗算を示す。
【数１０】
0005895238.tif 000011
ＲＳ（１５，７）の場合には、Ｐ＝０〜８の場合、つまり最大エラーシンボル数が８個の場合まで消失訂正を行うことが可能である。一方、Ｐ≧９の場合、つまりエラーシンボル数が９個以上の場合には、消失訂正を行うことはできない。
【００４４】
例えば、エラー（誤り）がｉ＝５、８、１３の位置で発生しているとすると、以下の式が成り立つ。
【数１１】
0005895238.tif 000012
【００４５】
受信装置は、受信シンボルによりシンドロームＳ０、Ｓ１、Ｓ２の値を認識することができ、αの値についても生成多項式Ｇ（ｘ）の定義式から認識することができる。したがって、エラーが発生している位置である消失シンボル位置（ｉの値）を認識することができれば、各エラーシンボルＥ５、Ｅ８、Ｅ１３の値を算出することができ、消失訂正を行うことができる。
【００４６】
（第１の実施形態）
図１は、本発明の第１の実施形態における通信システムの構成例を示す図である。図１に示す通信システムでは、通信装置１００と通信装置２００とが通信路３００を介して接続されている。
【００４７】
通信路３００は、電力線や有線ＬＡＮなどの有線回線、セルラー通信、無線ＬＡＮなどの無線回線などの通信回線を広く含む。また、基地局、コアネットワーク、インターネットなどを含むものも考えられる。また、通信路３００は、通信装置１００から通信装置２００に向かう方向（第１方向）にデータが伝送される第１通信路３１０と、通信装置２００から通信装置１００に向かう方向（第２方向）にデータが伝送される第２通信路３２０と、を含む。
【００４８】
通信装置１００は、映像符号化部１０１、パケット生成部１０２、ＦＥＣ符号化部１０３、送信処理部１０４、受信処理部１０５、ＦＥＣ復号化部１０６、映像復号化部１０７、を有して構成される。
【００４９】
映像符号化部１０１は、外部装置から受信した映像信号や図示しないメモリから出力した映像信号を符号化し、映像符号を生成する。映像符号は情報シンボルの一例である。ここでは、映像信号の符号化方式として既知の方式を用いる。なお、映像信号の符号化を可変レートで行う場合には、一定時間に生成される情報パケットの数は可変となる。
【００５０】
パケット生成部１０２は、映像符号としての情報シンボルを含むパケット（情報パケット）を生成する（後述の図３参照）。
【００５１】
ＦＥＣ符号化部１０３は、パケット生成部１０２からの情報パケットを構成する情報シンボルをＦＥＣにより符号化（ＦＥＣ符号化）し、固定長のＦＥＣ符号を生成する。ＦＥＣ符号化を行う際には、先に説明した（数式１）〜（数式４）を考慮する。ＦＥＣ符号は、情報シンボルと検査シンボルとからなり、ＲＳ符号などがある。ＦＥＣ符号化の詳細については後述する。以降、ＦＥＣ符号化部１０３により符号化されたパケットを生成パケットとも呼ぶ（後述の図３参照）。生成パケットの先頭には、生成パケットを識別するための識別情報、その他生成パケットに関する情報が記述されたヘッダが含まれている。
【００５２】
なお、ＦＥＣ符号化部１０３で生成される生成パケットは、ＯＳＩ参照モデルの第７層（アプリケーション層、以下、単に「アプリ層」ともいう）におけるパケットである（後述の図３参照）。
【００５３】
送信処理部１０４は、ＦＥＣ符号化部１０３からの生成パケットに含まれる各シンボル（情報シンボル、検査シンボル等）に基づいて、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ：巡回冗長検査）を付与する。ＣＲＣは、誤り検出符号の１つである。以降、生成パケットとＣＲＣとを含むパケットを送信パケットとも呼ぶ（後述の図３参照）。送信パケットの先頭には、送信パケットを識別するための識別情報、その他送信パケットに関する情報が記述されたヘッダが含まれている。送信処理部１０４は、生成された送信パケットを第１通信路３１０へ送信する。
【００５４】
なお、送信処理部１０４により生成される送信パケットは、ＯＳＩ参照モデルの第２層（データリンク制御層、以下、「ＤＬＣ（Ｄａｔａ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ）層」、「レイヤ２」ともいう）におけるパケットである（後述の図３参照）。なお、無線プロトコルの場合には、ＤＬＣをＲＬＣ（Ｒａｄｉｏ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ）ともいう。したがって、送信処理部１０４により付与されたＣＲＣは、ＤＬＣ層における誤り検出を行うためのＣＲＣ（ＤＬＣ層のＣＲＣ）である。ＤＬＣ層のＣＲＣは、通信によりパケット内のシンボルにエラーが発生したか否かを判断するためのデータである。
【００５５】
受信処理部１０５は、第２通信路３２０からのパケットを受信する。以降、受信処理部１０５により受信されたパケットを受信パケットとも呼ぶ（後述の図３参照）。受信パケットには、情報パケットおよび検査パケットにより構成されるＦＥＣ符号が含まれる。受信パケットは、通信装置２００からのパケットを受信する場合には、通信路３００において回線エラーが重畳しないような理想的な場合には通信装置２００の送信パケットと同じである。受信パケットは、ＤＬＣ層におけるパケットである（後述の図３参照）。このように、受信処理部１０５は、受信パケットを受信する受信部としての機能を有する。この受信パケットは、受信処理部１０５により複数のシンボルに分割される。
【００５６】
また、受信処理部１０５は、受信パケットに対して、ＤＬＣ層のＣＲＣを用いた誤り検出（第１の誤り検出）を行う。誤り検出の結果、受信処理部１０５は、受信パケットが正常（ＯＫ）であった場合には、その受信パケットを正常受信パケット（ＰＧ）として、正常受信パケットの数（ａ）をカウントする。一方、受信パケットが非正常（ＮＧ）であった場合には、その受信パケットを非正常受信パケット（ＰＮ）として、非正常受信パケットの数（ｂ）をカウントする。このように、受信処理部１０５は、受信パケットに対して第１の誤り検出を行う第１誤り検出部としての機能を有する。
【００５７】
また、受信処理部１０５は、通信装置１００から送信されたが通信装置２００により受信されなかった損失パケット（ＰＬ）を認識し、損失パケットの数（ｃ）をカウントする。損失パケットについては、例えば受信パケットのヘッダに含まれる送信パケットの識別情報（例えば送信パケット番号）から認識できる。
【００５８】
受信処理部１０５は、受信パケット（正常受信パケット（ＰＧ）および非正常受信パケット（ＰＮ））、正常受信パケット数（ａ）、非正常受信パケット数（ｂ）、損失パケット数（ｃ）の情報を、ＦＥＣ復号化部１０６へ出力する。
【００５９】
なお、正常受信パケット（ＰＧ）に含まれる各シンボルは、正常シンボルである。非正常受信パケット（ＰＮ）に含まれる各シンボルは、不確定シンボルである。損失パケット（ＰＬ）に含まれる各シンボルは、損失シンボルである。さらに、エラーシンボルには、損失シンボルと、不確定シンボルの一部である送信時のデータと異なるシンボルと、が含まれる。
【００６０】
ＦＥＣ復号化部１０６は、受信処理部１０５からの受信パケットをＦＥＣにより復号化（ＦＥＣ復号化）する。ＦＥＣ復号化を行う際には、先に説明した（数式５）〜（数式１１）を考慮する。以降、ＦＥＣ復号化部１０６によりＦＥＣ復号化されたパケットを復号化パケットとも呼ぶ（後述の図３参照）。復号化パケットは、アプリ層のパケットである（後述の図３参照）。
【００６１】
ＦＥＣ復号化の詳細については後述するが、ＦＥＣ復号化部１０６は、ＦＥＣ符号毎に、正常シンボルの全てと不確定シンボルの一部とで構成されるＦＥＣ復号候補を、不確定シンボルが異なるように複数生成するＦＥＣ復号候補生成部としての機能を有する。
【００６２】
なお、ここで、ＦＥＣ符号候補とは、ＦＥＣ復号処理を行う場合に消失していないシンボルと見なすシンボルの組合せのことであり、具体的には上述したように正常シンボルと不確定シンボルとの組み合わせのことである。
【００６３】
また、ＦＥＣ復号化部１０６は、ＦＥＣ復号候補に対して誤り訂正（第１の誤り訂正）を行う第１誤り訂正部としての機能を有する。
【００６４】
また、ＦＥＣ復号化部１０６は、複数のＦＥＣ復号候補に対する複数の誤り訂正（第１の誤り訂正）の結果のうち、一致した誤り訂正（第１の誤り訂正）の結果に基づいてＦＥＣ符号を修正（第２の誤り訂正）する第２誤り訂正部としての機能を有する。
【００６５】
映像復号化部１０７は、ＦＥＣ復号化部１０６からの情報パケットに含まれる情報シンボルとしての映像符号を復号化し、映像信号を得る。ここでは、映像信号の復号化方式として既知の方式を用いる。なお、ユーザデータとして映像データを想定しているが、音声データなどの他のデータであってもよい。
【００６６】
通信装置２００は、映像符号化部２０１、パケット生成部２０２、ＦＥＣ符号化部２０３、送信処理部２０４、受信処理部２０５、ＦＥＣ復号化部２０６、映像復号化部２０７、を有して構成される。
【００６７】
通信装置２００は、通信装置１００における同名の構成部と同様の機能を有するので、ここでは説明を省略する。ただし、送信および受信における通信路３００（第１通信路３１０および第２通信路３２０）の向きは逆となる。
【００６８】
以下の説明では、通信装置１００の動作と通信装置２００の動作とは同じであるので、送信に関する動作については通信装置１００の動作を例として、受信に関する動作については通信装置２００の動作を例として、説明する。また、ＦＥＣ符号としてＲＳ符号を用いることを主に想定する。
【００６９】
また、本実施形態では、情報シンボル数が４個、検査シンボル数が３個のＲＳ（７，４）符号の１種類のみを用いることを想定する。つまり、ｋ＝４、ｍ＝３、ｎ＝７であり、図２に示すようなＲＳ符号を用いることを想定する。なお、通信装置１００および２００は、通信相手である通信装置２００および１００の送信パケットに含まれる情報シンボルの数（ｋ）、送信パケットのシンボルの数（ｎ）の情報を各々あらかじめ保持している。なお、検査シンボルの数は、ｎ−ｋとなる。
【００７０】
次に、ＦＥＣ符号化について詳細に説明する。
図３は、ＦＥＣ符号化を説明するための図である。
【００７１】
映像符号化部１０１は、映像信号を符号化し、パケット生成部１０２は、符号化された映像信号を情報パケットに変換する。ここでは、図３の１ｐｋｔは１パケット分の情報パケットを示しており、例えば情報シンボル１０００シンボル（８０００ビット）分に相当する。ここでは４パケット分の情報パケットで区切られている。また、８ビットが１シンボル分に相当するものとする。なお、本実施形態では、１パケットのデータサイズが大きいため、１０００シンボルに分割しているが、本実施形態における誤り訂正は、１パケットが２シンボル以上に分割されていれば適用することができる。
【００７２】
続いて、ＦＥＣ符号化部１０３は、ＲＳ（７，４）となるように、情報パケット４パケットにつき、検査パケットを３パケット分付加することで、ＦＥＣ符号化する。ここでは、７パケット分のパケット（情報パケット４パケット分と検査パケット３パケット分）で区切られており、７パケットは１０００個のＲＳ（７，４）符号に相当する。
【００７３】
また、ＦＥＣ符号化部１０３は、図３に示すように、生成パケットにおいて、各情報パケットおよび各検査パケットの先頭に、ヘッダを付与する。
【００７４】
続いて、送信処理部１０４は、生成パケットから決定されるＣＲＣを付与し、送信パケットを生成する。また、図３に示すように、送信パケットにおいて、各情報パケットおよび各検査パケットの先頭に、ヘッダを付与する。送信処理部１０４は、この送信パケットを第１通信路３１０を介して通信装置２００へ送信する。
【００７５】
次に、ＦＥＣ復号化について詳細に説明する。
本実施形態では、誤り訂正として主に消失訂正を行う。以下、主に消失訂正について説明する。
【００７６】
図４は、ＦＥＣ復号化を説明するための図である。
なお、送信されたパケットは、第１通信路３１０の伝送途中で、当該データが変更されたり欠損したりして、エラー（ビットエラー）が発生することがある。この場合、エラーが発生した非正常受信パケットには何れかのシンボルに誤りがあるが、通常判別することができないため、図４では、便宜上「×」のシンボルを間違っているシンボルとしている。
【００７７】
受信処理部２０５は、受信パケットを受信する。受信パケットには、ＦＥＣ符号を構成する情報シンボルを含む情報パケットや検査シンボルを含む検査パケットが含まれるが、第１通信路３１０の通信環境によっては、一部のシンボルにエラーが発生したり、パケットが欠損したりする。
【００７８】
図４の例では、通信装置１００により送信された情報シンボルＤ３を含む第１情報パケットの一部および情報シンボルＤ１を含む第３情報パケットの一部にエラーが発生し、情報シンボルＤ２を含む第２情報パケットが全て欠損（パケット損失）している。同様に、通信装置１００により送信された検査シンボルＰ２を含む第１検査パケットの一部にエラーが発生している。図４では、左側から順に、第１情報パケットから第４情報パケット、第１検査パケットから第３検査パケットが配列された状態を想定している。
【００７９】
また、受信処理部２０５は、受信された第１情報パケット、第３情報パケット、第４情報パケット、および第１検査パケット〜第３検査パケットに対して、ＤＬＣ層のＣＲＣを用いて誤り検出を行う。誤り検出では、エラーのない第４情報パケット、第２検査パケット、および第３検査パケットは正常に受信された（ＯＫ）と判定され、エラーが存在する第１情報パケット、第３情報パケット、および第１検査パケットは非正常に受信された（ＮＧ）と判定される。一方、受信されなかった第２情報パケットについては、この誤り検出を行うことができない。
【００８０】
受信処理部２０５は、受信パケットのヘッダを参照して、受信パケットに含まれる生成パケットに対応するパケット（情報シンボルまたは検査シンボル、および生成パケットのヘッダで構成されるパケット）を、ＦＥＣ復号化部２０６へ出力する。
【００８１】
続いて、ＦＥＣ復号化部２０６は、受信処理部２０５からパケットを受け取り、消失訂正を行う。なお、ＦＥＣ復号化部２０６は、受信処理部２０５からの受信パケットの情報に基づいて、どのパケット位置のパケットが、正常受信パケット、非正常受信パケット、または損失パケットであるかを判別することができるので、消失訂正を行うことが可能である。
【００８２】
また、図４では、正常受信パケット数ａ＝３、非正常受信パケット数ｂ＝３、損失パケット数ｃ＝１であるので、受け取ったパケットに対して単純に消失訂正を行っただけでは、ＲＳ符号を復元することはできない。詳細については後述するが、ＦＥＣ復号化部２０６は、正常受信パケットと非正常受信パケットの一部とを組み合わせてＦＥＣ復号候補を生成し、このＦＥＣ復号候補に対する消失訂正の結果に基づいて、ＦＥＣ符号を復元する。所定の条件を満たす場合には、上記消失訂正によって、図４に示す復号化パケットのように、元のデータを正確に復元することができる。
【００８３】
なお、図４の例とは異なり、例えばＦＥＣ符号に含まれる情報パケット数ｋ＝４であり、正常受信パケット数ａ＝４である場合には、上記のようなＦＥＣ復号候補に対する消失訂正を考慮する必要はなく、一般的な消失訂正により、元データを復元することができる。
【００８４】
次に、受信処理部２０５およびＦＥＣ復号化部２０６の動作について説明する。
図５および図６は、受信処理部２０５およびＦＥＣ復号化部２０６の動作例を示すフローチャートである。この動作を行う通信プログラムは、通信装置２００内のＲＯＭに格納され、通信装置２００内のＣＰＵによって実行される。
【００８５】
まず、受信処理部２０５が、第１通信路３１０を介して伝送されたパケット（受信パケット）を受信する（図５のステップＳ１０１）。
【００８６】
受信処理部２０５は、ＤＬＣ層のＣＲＣを用いて受信パケットの誤り検出を行う。そして、誤り検出の結果に応じて、正常受信パケット（ＰＧ）、非正常受信パケット（ＰＮ）、損失パケット（ＰＬ）、を認識し、正常受信パケット数（ａ）、非正常受信パケット数（ｂ）、損失パケット数（ｃ）をカウントする（ステップＳ１０２）。受信処理部２０５は、ＰＧ、ＰＮ、ＰＬ、ａ、ｂ、ｃ、の情報をＦＥＣ復号化部２０６へ出力する。つまり、本実施形態では、正常受信パケット（ＰＧ）だけでなく、非正常受信パケット（ＰＮ）についても廃棄せずに、ＦＥＣ復号化部２０６（上位層であるアプリ層）へ送られる。なお、ａ＋ｂ＋ｃ＝ｎである。
【００８７】
ＦＥＣ復号化部２０６は、受信処理部２０５から取得した情報に基づいて、ａ≧ｋを満たすか否かを判定する（ステップＳ１０３）。なお、値ｋは、通信装置１００により送信されたＦＥＣ符号の情報シンボル数を示す。
【００８８】
ａ≧ｋの場合、ＦＥＣ復号化部２０６は、受信パケットに含まれる各ＦＥＣ符号に対して消失訂正を行い、各ＦＥＣ符号の元のデータを復元する。そして、生成パケットのヘッダを参照して、復元されたＦＥＣ符号を含むパケットを映像復号化部２０７へ出力する（ステップＳ１０４）。
【００８９】
一方、ａ＜ｋの場合、ＦＥＣ復号化部２０６は、ａ＋ｂ≧ｋ＋１を満たすか否かを判定する（ステップＳ１０５）。
【００９０】
ａ＋ｂ＜ｋ＋１の場合、ＦＥＣ復号化部２０６は、受信パケットに含まれる各ＦＥＣ符号に対して消失訂正を実行せずに、生成パケットのヘッダを参照して、受信パケットを映像復号化部２０７へ出力する（ステップＳ１０６）。
【００９１】
一方、ａ＋ｂ≧ｋ＋１の場合、以下の処理を、受信パケットに含まれるＦＥＣ符号毎に行う。なお、ここでのＦＥＣ符号は、シンボルエラーの発生やパケット損失により、一部消失していることがある。
【００９２】
ＦＥＣ復号化部２０６は、同一ＦＥＣ符号のａ個の正常シンボルと、上記同一ＦＥＣ符号のｂ個中の任意の（ｋ−ａ）個の不確定シンボルと、の組み合わせであるＦＥＣ復号候補を全て生成する（図６のステップＳ１０７）。ここで、正常シンボルは、正常受信パケット（ＰＧ）のに含まれるシンボルであり、エラーを含まないシンボルである。不確定シンボルは、非正常受信パケット（ＰＮ）に含まれるシンボルであり、エラーを含むか否か不明であるシンボルである。したがって、ＦＥＣ復号候補のシンボル数は、情報シンボル数ｋと同数である。また、ｂ個中の任意の（ｋ−ａ）個の組み合わせは、全部でｂＣｋ−ａ通りである。したがって、ＦＥＣ復号候補は、ｂＣｋ−ａ個生成される。なお、図４に示した受信パケットの場合、ａ＝３、ｂ＝３、ｋ＝４、であるので、ステップＳ１０７の処理が実行されることになる。
【００９３】
続いて、ＦＥＣ復号化部２０６は、生成された複数のＦＥＣ復号候補の各々に対して、消失訂正を行う（ステップＳ１０８）。
【００９４】
続いて、ＦＥＣ復号化部２０６は、複数の消失訂正の結果のうち、消失訂正の結果が一致する（同一である）ものが少なくとも１つ存在するか否かを判定する（ステップＳ１０９）。
【００９５】
消失訂正の結果が一致するものがある場合、ＦＥＣ復号化部２０６は、この一致した消失訂正の結果で、受信パケットに含まれるＦＥＣ符号を修正する（ステップＳ１１０）。
【００９６】
２つのＦＥＣ復号候補において、その中に含まれるシンボルの１ビットでも異なる場合、２つのＦＥＣ復号候補を用いて消失訂正を行った結果は異なってくる。このような消失訂正（誤り訂正も同様）の特性を考慮すると、ＦＥＣ復号候補に対する消失訂正の結果が一致するということは、ＦＥＣ復号候補に含まれる不確定パケットに誤りがないと推定され、正常なＦＥＣ符号が復元できた可能性が非常に高いことになる。そこで、一致する消失訂正の結果を、正常シンボルのみを用いて行う通常の消失訂正の結果と同等に扱い、
送信パケットに含まれていたと推定されるＦＥＣ符号を一致する消失訂正の結果を用いて再現する。
【００９７】
具体的には、ＦＥＣ復号化部２０６は、先に説明した（数式１１）により、誤り訂正の結果として、エラーや損失を含むパケット位置のＦＥＣ復号の値を算出する。ＦＥＣ復号の値がｂＣｋ−ａ通りの組合せの内、２通り以上の組合せで一致した場合、ＦＥＣ復号の値は元々送信側で生成された正しいシンボルであると推定できる。
【００９８】
一方、全てのＦＥＣ候補に対する消失訂正の結果が一致しない場合、ＦＥＣ復号化部２０６は、消失訂正の結果によるＦＥＣ符号の修正を断念する（ステップＳ１０９のＮｏ）。
【００９９】
ＦＥＣ符号の修正後またはＦＥＣ符号の修正の断念後、通信装置２００は、全てのＦＥＣ符号に対して、消失訂正の結果を用いたＦＥＣ符号の修正の可否について判断したか否かを判定する（ステップＳ１１１）。全てのＦＥＣ符号の数は、図４の例では１０００個である。
【０１００】
ＦＥＣ符号の修正の可否について判断していないＦＥＣ符号が存在する場合、ステップＳ１０７に進み、後続のＦＥＣ符号について同様の処理を行う。
【０１０１】
一方、全てのＦＥＣ符号について修正可否の判断を行った場合には、ＦＥＣ復号化部２０６は、生成パケットのヘッダを参照して、ＦＥＣ符号の修正を反映したパケットを映像復号化部２０７へ出力する（ステップＳ１０６）。ＦＥＣ符号の修正の可否は、受信パケットに含まれるＦＥＣ符号毎に異なる。したがって、出力されたパケットに含まれるＦＥＣ符号については、修正できたＦＥＣが存在することも、修正できなかったＦＥＣが存在することも想定される。
【０１０２】
このような受信処理部２０５およびＦＥＣ復号化部２０６の処理によれば、一般的に消失訂正を適用可能なａ≧ｋの条件を満たさない場合であっても、受信パケットから仮のＦＥＣ符号（ＦＥＣ復号候補）を用いて、正しく復号されるＦＥＣ符号を復元できることがある。このように正しいＦＥＣ符号が増加することで、例えば映像や音声の品質が向上する。
【０１０３】
なお、ステップＳ１０８において、全てのＦＥＣ復号候補に対して消失訂正を行ってから、全ての消失訂正の結果のうちの少なくとも１つの結果が一致するか否かを判定してもよいが、消失訂正の結果が一致するものがあった時点で当該判定を終了してもよい。これより、演算処理量および演算処理時間を低減させることができる。
【０１０４】
また、ステップＳ１０７において、ＦＥＣ符号毎に、最初にＦＥＣ復号候補を生成するのではなく、まずは２つのＦＥＣ復号候補を生成し、この２つのＦＥＣ復号候補に対する消失訂正の結果が一致するかどうかを判定してもよい。そして、一致しない場合には、新たにＦＥＣ復号候補を生成し、そのＦＥＣ復号候補に対する消失訂正の結果が一致するかどうかを判定する、という処理を繰り返すようにしてもよい。これにより、演算処理量および演算処理時間を低減させることができる。
【０１０５】
このような本実施形態の通信装置によれば、従来は廃棄していた非正常受信パケットも考慮して、非正常受信パケットの組み合わせを生成し、複数のＦＥＣ復号候補を生成する。そして、複数のＦＥＣ復号候補に対する複数の誤り訂正（消失訂正）の結果の一致度に基づいて、誤り訂正が困難であったＦＥＣ符号についても復元をすることができる。
【０１０６】
つまり、通常、ＯＳＩ参照モデルにおける下の層で廃棄するパケットから得られる正常なシンボルであるか否かの判断不可能な不確定シンボルを活用して、複数のＦＥＣ復号候補を作り、複数のＦＥＣ復号候補による消失訂正の結果が一致したときの消失訂正の結果を、消失訂正の結果として利用することで、誤り訂正を行うことが可能であり、誤り訂正能力を向上させることが可能である。
【０１０７】
（第２の実施形態）
本実施形態では、パケット生成部が生成する生成パケットについても、送信処理部が生成する送信パケットと同様に、ＣＲＣを有するようにする。ただし、送信パケットのＣＲＣはＤＬＣ層のＣＲＣであり、生成パケットのＣＲＣはアプリ層のＣＲＣである。
【０１０８】
図７は、本発明の第２の実施形態における通信システムの構成例を示す図である。図７に示す通信システムでは、通信装置１００Ｂと通信装置２００Ｂとが通信路３００を介して接続されている。図７に示す通信システムにおいて、図１に示した通信システムと同様の構成部については、同一の符号を付し、説明を省略または簡略化する。
【０１０９】
通信装置１００Ｂは、ＦＥＣ符号化部１０３の代わりにＦＥＣ符号化部１０３Ｂを備え、ＦＥＣ復号化部１０６の代わりにＦＥＣ復号化部１０６Ｂを備える。同様に、通信装置２００Ｂは、ＦＥＣ符号化部２０３の代わりにＦＥＣ符号化部２０３Ｂを備え、ＦＥＣ復号化部１０６の代わりにＦＥＣ復号化部１０６Ｂを備える。
【０１１０】
ＦＥＣ符号化部１０３Ｂは、ＦＥＣ符号化部１０３と同様の機能に加え、生成された生成パケットに含まれる情報シンボルまたは検査シンボルに基づいて、ＣＲＣを付与する（後述する図８参照）。このＣＲＣは、生成パケットに含まれており、アプリ層における誤り検出を行うためのＣＲＣ（アプリ層のＣＲＣ）である。アプリ層のＣＲＣは、修正されたＦＥＣ符号が正しく修正されているか否かを検証するためのデータである。
【０１１１】
ＦＥＣ復号化部１０６Ｂは、ＦＥＣ復号化部１０６と同様の機能に加え、生成パケットに含まれるアプリ層のＣＲＣを用いた誤り検出の結果を考慮して、ＦＥＣ復号化を行う。ＦＥＣ復号化の詳細については後述する。
【０１１２】
ＦＥＣ符号化部２０３Ｂは、ＦＥＣ符号化部１０３Ｂと同様の機能を有するので、説明を省略する。同様に、ＦＥＣ復号化部２０６Ｂは、ＦＥＣ復号化部１０６Ｂと同様の機能を有するので、説明を省略する。
【０１１３】
本実施形態では、第１の実施形態と同様に、送信に関する動作については通信装置１００Ｂの動作を例として、受信に関する動作については通信装置２００Ｂの動作を例として、説明する。また、ＦＥＣ符号としてＲＳ符号を用いることを想定する。また、情報シンボル数が４個、検査シンボル数が３個のＲＳ（７，４）符号の１種類のみを用いることを想定する。
【０１１４】
次に、ＦＥＣ符号化について詳細に説明する。
図８は、ＦＥＣ符号化を説明するための図である。ここでは、図３と異なる点を主に説明する。
【０１１５】
ＦＥＣ符号化部１０３Ｂは、生成パケットのパケット単位でＣＲＣ符号化を施す。つまり、生成パケットに含まれる１０００個のシンボルの値に基づいてアプリ層のＣＲＣを付与する。図８の例では、生成パケットには、ヘッダ、１０００個のシンボル、アプリ層のＣＲＣが含まれている。
【０１１６】
次に、ＦＥＣ復号化について詳細に説明する。
本実施形態では、誤り訂正として主に消失訂正を行う。以下、主に消失訂正について説明する。
【０１１７】
図９は、ＦＥＣ復号化を説明するための図である。ここでは、図４と異なる点を主に説明する。図９では、図４と同様のパケット位置にエラーやパケット損失が生じている場合を想定している。
【０１１８】
ＦＥＣ復号化部２０６Ｂは、受信処理部２０５からのパケットを受け取り、消失訂正を行う。このとき、第１の実施形態と同様に、ＦＥＣ復号候補を生成し、このＦＥＣ復号候補に対する誤り訂正の結果に基づいて、ＦＥＣ符号を復元する。所定の条件を満たす場合には、上記誤り訂正によって、図９に示す復号化パケットのように、元のデータを正確に復元することができる。
【０１１９】
さらに、ＦＥＣ復号化部２０６Ｂは、エラーシンボルが修正されたパケットについては、そのパケットに付与されたアプリ層のＣＲＣを用いて誤り検出（第２の誤り検出）を行う。つまり、ＦＥＣ復号化部２０６Ｂは、修正パケットに対して第２の誤り検出を行う第２誤り検出部としての機能を有する。詳細については後述するが、この誤り検出を行うことで、消失訂正が正確に行われたかどうかを検証することができ、ＦＥＣ符号化処理をさらに改善することができる。
【０１２０】
次に、受信処理部２０５ＢおよびＦＥＣ復号化部２０６Ｂの動作について説明する。
図１０および図１１は、受信処理部２０５ＢおよびＦＥＣ復号化部２０６Ｂの動作例を示すフローチャートである。この動作を行う通信プログラムは、通信装置２００Ｂ内のＲＯＭに格納され、通信装置２００Ｂ内のＣＰＵによって実行される。なお、図１０および図１１において、図５および図６と同様のステップについては、説明を省略または簡略化する。
【０１２１】
図１１のステップＳ１１０の処理後、ＦＥＣ復号化部２０６Ｂは、ステップＳ１１０において修正されたシンボルを含むパケットに対して、当該パケットに含まれるアプリ層のＣＲＣを用いて誤り検出を行う（ステップＳ２０１）。
【０１２２】
ＦＥＣ復号化部２０６Ｂは、アプリ層のＣＲＣによる誤り検出の結果、誤り検出対象のパケットにエラーシンボルが含まれない（ＣＲＣ＝ＯＫ）か否かを判定する（ステップＳ２０２）。誤り検出対象のパケットにエラーシンボルが含まれている場合（ＣＲＣ＝ＮＧ）、ステップＳ１１１に進む。
【０１２３】
誤り検出対象のパケットにエラーシンボルが含まれていないと判定された場合、つまり、通信時に発生したエラーシンボルが正確に修正されている場合、ＦＥＣ復号化部２０６Ｂは、当該パケットを、非正常受信パケットＰＮから正常受信パケットＰＧに変更（昇格）させる。また、ＦＥＣ復号化部２０６Ｂは、正常受信パケット数（ａ）に１加算し（ａ←ａ＋１）、非正常受信パケット数（ｂ）から１減算する（ｂ←ｂ−１）（ステップＳ２０３）。
【０１２４】
続いて、ＦＥＣ復号化部２０６Ｂは、上記のパケットの昇格を考慮して、ａ≧ｋを満たすか否かを判定する（ステップＳ２０４）。ａ≧ｋを満たさない場合、つまりａ＜ｋの場合、ステップＳ１１１に進む。
【０１２５】
ａ≧ｋを満たす場合、図１０のステップＳ１０４に進む。つまり、非正常受信パケットが正常受信パケットに昇格した結果、そのパケットのエラーシンボルが全て修正された場合には、他の（後続の）ＦＥＣ符号における当該パケットのシンボルはエラーシンボルではないものと推定される。また、昇格の結果、正常受信パケット数（ａ）が情報パケット数（ｋ）以上である場合には、ＦＥＣ復号候補に対する消失訂正を行うまでもなく、一般的なＦＥＣ符号に対する消失訂正によりＦＥＣ符号を復元できる。したがって、以降のＦＥＣ符号に対するステップＳ１０７〜Ｓ１１１、Ｓ２０１〜Ｓ２０４の処理を省略することができ、演算量を小さくすることができるので、通信装置２００Ｂの処理負荷を軽減させることができる。
【０１２６】
このように、ＦＥＣ復号化部２０６Ｂは、ＦＥＣ符号修正された結果、正常受信パケット数（ａ）が情報パケット数（ｋ）以上である場合には、後続のＦＥＣ符号のＦＥＣ復号候補に対する誤り訂正を中止し、受信パケットに含まれる後続のＦＥＣ符号に対する誤り訂正を行うようにしてもよい。
【０１２７】
なお、ステップＳ２０２におけるアプリ層のＣＲＣによる誤り検出は、１つのＦＥＣ符号に対する処理毎に行われてもよいし、いくつかのＦＥＣ符号に対する処理毎につまり処理頻度を低下させて行われてもよい。
【０１２８】
本実施形態の通信装置２００Ｂによれば、アプリ層のＣＲＣを用いた誤り検出を行うことで、エラーシンボルが確実に修正されたかどうかを検証することができる。例えば、あるＦＥＣ符号においては、ＦＥＣ復号候補に対する誤り訂正の結果で一致するものがなく、ＦＥＣ符号を修正されなかったものが含まれる可能性もある。このような場合であっても、アプリ層のＣＲＣを用いた誤り検出を行うことで、信頼性を向上できる。
【０１２９】
また、エラーシンボルが修正されて、一般的な消失訂正が行うことができるようになった場合には、以降の消失訂正を容易に行うことができ、通信装置２００Ｂの処理負荷を軽減させることができる。
【０１３０】
本発明は、上記実施形態の構成に限られるものではなく、特許請求の範囲で示した機能、または本実施形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【０１３１】
上記実施形態では、通信装置が、図５、図６、図１０、図１１等に示したような受信処理部やＦＥＣ復号化部による処理を行うことを説明したが、例えば通信された映像データを含む受信パケットをケーブルやメディア等を介して外部装置へ出力し、当該外部装置において受信処理部やＦＥＣ復号化部による処理を行うようにしてもよい。
【０１３２】
上記実施形態では、エラーやパケット損失が発生したパケット位置を把握している消失訂正を例に説明したが、誤り訂正を行うための受信パケット数は消失訂正を行うための受信パケット数よりも多く必要であるという条件さえ満たしていれば、上記パケット位置を把握していない誤り訂正についても、当然適用可能である。
【０１３３】
上記実施形態では、アプリ層のＣＲＣとともに、ＤＬＣ層のＣＲＣを用いていることを説明したが、これに限らず、アプリ層よりも下位層における他のＣＲＣ（例えば、トランスポート層のＣＲＣ）を用いるようにしてもよい。
【０１３４】
上記実施形態では、消失訂正において全ての正常シンボルを利用することが最良であるが、全ての正常シンボルの一部を利用せず、その代わりに不確定シンボルを利用して消失訂正を行うようにしてもよい。
【０１３５】
上記実施形態では、ＦＥＣ復号候補のシンボル数が情報シンボル数と同数であることを説明したが、これに限られず、ＦＥＣ復号候補のシンボル数が情報シンボル数以上であってもよい。ＦＥＣ復号候補のシンボル数が情報シンボル数と同数である場合には、不確定シンボルを消失訂正の演算に利用する数が少なくなるので、消失訂正の演算結果の一致度を得る確率を大きくすることができる。一方、ＦＥＣ復号候補のシンボル数が情報シンボル数以上である場合には、消失訂正の演算量を低減させることができる。
【０１３６】
また、本発明は、上記実施形態の機能を実現する通信プログラムを、ネットワークあるいは各種記憶媒体を介して通信装置に供給し、この通信装置内のコンピュータ（ＣＰＵ）が読み出して実行するプログラムも適用範囲である。
【産業上の利用可能性】
【０１３７】
本発明は、誤り訂正能力を向上させることが可能な通信装置、通信プログラム等に有用である。
【符号の説明】
【０１３８】
１００、２００、１００Ｂ、２００Ｂ  通信装置
１０１、２０１  映像符号化部
１０２、２０２  パケット生成部
１０３、２０３、１０３Ｂ、２０３Ｂ  ＦＥＣ符号化部
１０４、２０４  送信処理部
１０５、２０５  受信処理部
１０６、２０６、１０６Ｂ、２０６Ｂ  ＦＥＣ復号化部
１０７、２０７  映像復号化部
３００  通信路
３１０  第１通信路
３２０  第２通信路
【図１】
0005895238.tif 000013
【図２】
0005895238.tif 000014
【図３】
0005895238.tif 000015
【図４】
0005895238.tif 000016
【図５】
0005895238.tif 000017
【図６】
0005895238.tif 000018
【図７】
0005895238.tif 000019
【図８】
0005895238.tif 000020
【図９】
0005895238.tif 000021
【図１０】
0005895238.tif 000022
【図１１】
0005895238.tif 000023