(57)【要約】【課題】伝送装置におけるＦＥＣ付加処理のタイミングエラーを回避する。【解決手段】伝送装置は、入力データを分割した所定単位毎に並列にエンコード演算を行う複数の演算部を備える。そして、伝送装置は、複数の演算部によるエンコード演算の結果をそれぞれ格納する複数の格納部を備える。そして、伝送装置は、複数の格納部に格納された複数の演算部によるエンコード演算の結果を合算して入力データに付加する誤り訂正符号を生成する生成部を備える。【選択図】図５
2017017588.tif 000002
【特許請求の範囲】
【請求項１】
入力データを分割した所定単位毎に並列にエンコード演算を行う複数の演算部と、
前記複数の演算部によるエンコード演算の結果をそれぞれ格納する複数の格納部と、
前記複数の格納部に格納された前記複数の演算部によるエンコード演算の結果を合算して前記入力データに付加する誤り訂正符号を生成する生成部と
を備えることを特徴とする伝送装置。
【請求項２】
前記複数の演算部は、第１の演算部及び第２の演算部を含み、
前記複数の格納部は、第１の格納部及び第２の格納部を含み、
前記第１の演算部は、２シンボル単位で入力される前記入力データを１シンボル単位に分割したシンボルのうち、奇数番目のシンボルを係数とする奇数次の項からなる多項式を所定の生成多項式で除算した第１の剰余を算出し、
前記第１の格納部は、前記第１の演算部により算出された前記第１の剰余を格納し、
前記第２の演算部は、前記入力データを１シンボル単位に分割したシンボルのうち、偶数番目のシンボルを係数とする偶数次の項からなる多項式を前記所定の生成多項式で除算した第２の剰余を算出し、
前記第２の格納部は、前記第２の演算部により算出された前記第２の剰余を格納し、
前記生成部は、前記第１の格納部に格納された前記第１の剰余及び前記第２の格納部に格納された前記第２の剰余を合算して前記誤り訂正符号を生成する
ことを特徴とする請求項１に記載の伝送装置。
【請求項３】
入力データを分割した所定単位毎に並列にシンドローム演算を行う複数の演算部と、
前記複数の演算部によるシンドローム演算の結果をそれぞれ格納する複数の格納部と、
前記複数の格納部に格納された前記複数の演算部によるシンドローム演算の結果の合算値と、前記入力データに付加されている誤り訂正符号とをもとに、前記入力データの誤り訂正を行う誤り訂正部と
を備えることを特徴とする伝送装置。
【請求項４】
前記複数の演算部は、第１の演算部及び第２の演算部を含み、
前記複数の格納部は、第１の格納部及び第２の格納部を含み、
前記第１の演算部は、２シンボル単位で入力される前記入力データを１シンボル単位に分割したシンボルのうち、奇数番目のシンボルを係数とする奇数次の項からなる多項式を所定の生成多項式で除算した第１の剰余を算出し、
前記第１の格納部は、前記第１の演算部により算出された前記第１の剰余を格納し、
前記第２の演算部は、前記入力データを１シンボル単位に分割したシンボルのうち、偶数番目のシンボルを係数とする偶数次の項からなる多項式を前記所定の生成多項式で除算した第２の剰余を算出し、
前記第２の格納部は、前記第２の演算部により算出された前記第２の剰余を格納し、
前記誤り訂正部は、前記第１の格納部に格納された前記第１の剰余及び前記第２の格納部に格納された前記第２の剰余の合算値と、前記誤り訂正符号とをもとに、前記入力データの誤り訂正を行う
ことを特徴とする請求項３に記載の伝送装置。
【請求項５】
入力データに付加する誤り訂正符号の生成方法であって、
伝送装置が、
入力データを分割した所定単位毎に並列にエンコード演算を行い、
並列に行ったエンコード演算の結果をそれぞれの格納部に格納し、
各格納部に格納された各エンコード演算の結果を合算して前記入力データに付加する誤り訂正符号を生成する
処理を実行することを特徴とする誤り訂正符号の生成方法。
【請求項６】
入力データを該入力データに付加された誤り訂正符号をもとに誤り訂正する誤り訂正方法であって、
伝送装置が、
入力データを分割した所定単位毎に並列にシンドローム演算を行い、
並列に行ったシンドローム演算の結果をそれぞれの格納部に格納し、
各格納部に格納された各シンドローム演算の結果の合算値と、前記誤り訂正符号とをもとに、前記入力データの誤り訂正を行う
処理を実行することを特徴とする誤り訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、伝送装置、誤り訂正符号の生成方法及び誤り訂正方法に関する。
【背景技術】
【０００２】
光伝送ネットワークの伝送路において効率的に信号を転送する方式として、ＯＴＮと呼ばれる伝送規格が、ＩＴＵ−Ｔ（International  Telecommunication  Union  Telecommunication  Standardization  Sector）G.709に規定されている。ＯＴＮは、Optical  Transport  Networkの略である。ＯＴＮフレームフォーマットは、長距離伝送の品質向上のための誤り訂正のために、例えばReed-Solomon（255，239）符号（以降、ＲＳ（255，239）と表記する）が用いられるＦＥＣ（Forward  Error  Correction）を含む。
【０００３】
光伝送ネットワークの伝送装置は、ＩＴＵ−Ｔ  G.709に準拠してＦＥＣを演算する。ＲＳ（255，239）の場合、伝送装置は、１symbol＝８bitとし、２３９symbolの入力データに対して１６symbolのＦＥＣを付加する。ＲＳ（255，239）においては、最大８symbolまでの誤り訂正を可能としている。
【０００４】
ここで、入力データに付加するＦＥＣの生成処理は、ＦＥＣ生成の動作クロックのあるクロックタイミングにおける後段の処理結果を次クロックタイミングにおいて前段で取り込む。この際、ＦＥＣ生成の各段における信号遅延のため、タイミングエラーが発生する。そこで、タイミングエラーを回避するために、１クロックで処理するデータ量を増加させて動作クロックを落とし、クロック周期を長くする技術がある。この技術は、１クロックで処理するデータ量を増加させるためにＦＥＣ生成を複数回路で並列に行い、ＦＥＣ生成の動作クロックのあるクロックタイミングにおける後段の処理結果を、長くしたクロック周期の次クロックタイミングにおいて前段で取り込むことになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−０４１８３０号公報
【特許文献２】特開平１１−１３６１３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の技術では、ＦＥＣ生成を複数回路で並列に行う際も、ＦＥＣ生成の後段における処理結果を前段で取り込む。このため、ＦＥＣ生成の後段における処理結果を前段で取り込む際に、ＦＥＣ生成を複数回路で行うことによりＦＥＣ生成の段数が増え、ＦＥＣ生成の各段における信号遅延のためにタイミングエラーが発生するという問題が依然としてある。
【０００７】
一つの側面としては、伝送装置におけるＦＥＣ付加処理のタイミングエラーを回避できる伝送装置、誤り訂正符号の生成方法及び誤り訂正方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの案では、複数の演算部が、入力データを分割した所定単位毎に並列にエンコード演算を行う。そして、複数の格納部が、複数の演算部によるエンコード演算の結果をそれぞれ格納する。そして、生成部が、複数の格納部に格納された複数の演算部によるエンコード演算の結果を合算して入力データに付加する誤り訂正符号を生成する。
【発明の効果】
【０００９】
一つの側面として、伝送装置におけるＦＥＣ付加処理のタイミングエラーを回避できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例に係る伝送システムの一例を示す図である。
【図２】図２は、ＯＴＮフレームフォーマットの一例を示す図である。
【図３】図３は、実施例に係る元一覧テーブルの一例を示す図である。
【図４】図４は、実施例に係るＦＥＣエンコード部の概略の一例を示す図である。
【図５】図５は、実施例に係るＦＥＣエンコード部の詳細の一例を示す図である。
【図６】図６は、実施例に係る生成多項式による除算処理の一例を示す図である。
【図７】図７は、実施例に係るＦＥＣ生成処理の一例を示すタイムチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して実施例に係る伝送装置、誤り訂正符号の生成方法及び誤り訂正方法について説明する。なお、以下の実施例の説明では、開示技術と関連する構成のみを説明し、その他の構成の説明を省略する。また、以下の実施例の説明では、重複する同一又は類似の構成もしくは処理について説明を省略する。また、以下の実施例は開示の技術を限定するものではない。また、各実施例は、矛盾しない範囲で適宜組み合わせてもよい。
【実施例】
【００１２】
（伝送システムについて）
図１は、実施例に係る伝送システムの一例を示す図である。図１に示すように、実施例に係る伝送システム１００は、ネットワーク２００を介して接続された伝送装置１０Ａ及び伝送装置１０Ｂを有する。伝送システム１００は、例えばＯＴＮ（Optical  Transport  Network）である。なお、図１では、説明の都合上、伝送装置１０Ａが送信側、伝送装置１０Ｂが受信側であるとするが、伝送装置１０Ａ及び伝送装置１０Ｂは、ともに送信側、受信側いずれともなり得る。
【００１３】
伝送装置１０Ａは、クライアント側ＩＦ（Inter  Face）部１Ａ、ＳＷ（Switch）部４Ａ、ネットワーク側ＩＦ部５Ａを有する。クライアント側ＩＦ部１Ａは、マッピング部２Ａ−１及びＯＨ（Over  Head）挿入部３Ａ−１〜マッピング部２Ａ−ｎ及びＯＨ挿入部３Ａ−ｎを有する。ｎは、自然数である。また、ネットワーク側ＩＦ部５Ａは、ＦＥＣエンコード部６Ａ−１〜６Ａ−ｎ、マルチプレクサ部７Ａを有する。ＦＥＣエンコード部６Ａ−１〜６Ａ−ｎは、後述する元一覧テーブル６ｔ（図３参照）を保持する。
【００１４】
マッピング部２Ａ−１及びＯＨ挿入部３Ａ−１〜マッピング部２Ａ−ｎ及びＯＨ挿入部３Ａ−ｎそれぞれには、クライアント９Ａ−１〜９Ａ−ｎが接続される。マッピング部２Ａ−１〜２Ａ−ｎは、クライアント９Ａ−１〜９Ａ−ｎそれぞれからのユーザデータを、ＯＴＮフレームのペイロード領域へマッピングする。ＯＨ挿入部３Ａ−１〜３Ａ−ｎは、マッピング部２Ａ−１〜マッピング部２Ａ−ｎによりそれぞれペイロード領域へマッピングされたＯＴＮフレームにＯＨを挿入する。
【００１５】
図２は、ＯＴＮフレームフォーマットの一例を示す図である。図２に示すように、ＯＴＮフレームフォーマットは、ＦＡＳ、ＯＴＵ−ＯＨ、ＯＤＵ−ＯＨ、ＯＰＵ−ＯＨ、ペイロード、ＦＥＣを含む。なお、ＦＡＳは、Frame  Alignment  Signalの略である。また、ＯＴＵは、Optical  Channel  Transport  Unitの略である。また、ＯＤＵは、Optical  Channel  Data  Unitの略である。また、ＯＰＵは、Optical  Channel  Payload  Unitの略である。また、ＦＥＣは、Forward  Error  Correctionの略である。ＯＨ挿入部３Ａ−１〜３Ａ−ｎは、ＯＴＵ−ＯＨ、ＯＤＵ−ＯＨ、ＯＰＵ−ＯＨの各ＯＨをＯＴＮフレームへ挿入する。
【００１６】
ＳＷ部４Ａは、ＯＨ挿入部３Ａ−１〜３Ａ−ｎから出力されたＯＴＮフレームそれぞれを、方路切り替えにより、ネットワーク側ＩＦ部５ＡのＦＥＣエンコード部６Ａ−１〜６Ａ−ｎのいずれかへ入力する。ＦＥＣエンコード部６Ａ−１〜６Ａ−ｎは、入力されたＯＴＮフレームに対して、例えばＲＳ（255，239）のリードソロモンによる誤り訂正符号（ＦＥＣ）を生成して付加する。マルチプレクサ部７Ａは、ＦＥＣエンコード部６Ａ−１〜６Ａ−ｎによりＦＥＣが付与されたＯＴＮフレームを合波し、ネットワーク２００へ送出する。なお、ＦＥＣエンコード部６Ａ−１〜６Ａ−ｎは、例えばＦＰＧＡ（Field-Programmable  Gate  Array）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）等により構成される。
【００１７】
伝送装置１０Ｂは、ネットワーク側ＩＦ部５Ｂ、ＳＷ部４Ｂ、クライアント側ＩＦ部１Ｂを有する。ネットワーク側ＩＦ部５Ｂは、デマルチプレクサ部７Ｂ、ＦＥＣデコード部６Ｂ−１〜６Ｂ−ｎを有する。また、クライアント側ＩＦ部１Ｂは、ＯＨ終端部３Ｂ−１及びデマッピング部２Ｂ−１〜ＯＨ終端部３Ｂ−ｎ及びデマッピング部２Ｂ−ｎを有する。ＯＨ終端部３Ｂ−１及びデマッピング部２Ｂ−１〜ＯＨ終端部３Ｂ−ｎ及びデマッピング部２Ｂ−ｎそれぞれには、クライアント９Ｂ−１〜９Ｂ−ｎが接続される。
【００１８】
デマルチプレクサ部７Ｂは、ネットワーク２００から受信した信号を分波した各ＯＴＮフレームをＦＥＣデコード部６Ｂ−１〜６Ｂ−ｎへ入力する。ＦＥＣデコード部６Ｂ−１〜６Ｂ−ｎは、入力された各ＯＴＮフレームに付加されている例えばＲＳ（255，239）のリードソロモンの誤り訂正符号（ＦＥＣ）をもとに、各ＯＴＮフレームの誤り訂正を行う。ＦＥＣによる誤り訂正を、デコードと呼ぶ。ＦＥＣデコード部６Ｂ−１〜６Ｂ−ｎは、後述する元一覧テーブル６ｔ（図３参照）を保持する。なお、ＦＥＣデコード部６Ｂ−１〜６Ｂ−ｎは、例えばＦＰＧＡ、ＡＳＩＣ等により構成される。
【００１９】
ＳＷ部４Ｂは、ＦＥＣデコード部６Ｂ−１〜６Ｂ−ｎから入力された各ＯＴＮフレームを、方路切り替えにより、クライアント側ＩＦ部１ＢのＯＨ終端部３Ｂ−１〜３Ｂ−ｎのいずれかへ入力する。ＯＨ終端部３Ｂ−１〜３Ｂ−ｎは、入力された各ＯＴＮフレームからＯＴＵ−ＯＨ、ＯＤＵ−ＯＨ、ＯＰＵ−ＯＨの各ＯＨを除去する。デマッピング部２Ｂ−１〜２Ｂ−ｎは、ＯＨ終端部３Ｂ−１〜３Ｂ−ｎにより各ＯＨが除去された各ＯＴＮフレームのペイロード領域からユーザデータをデマッピングし、各ユーザデータをクライアイント９Ｂ−１〜９Ｂ−ｎへ送信する。
【００２０】
（ＦＥＣエンコード部及びＦＥＣデコード部について）
実施例においては、ＦＥＣの演算は、信号をガロア体ＧＦ（２８）上で定義されるリードソロモン符号として扱う。ガロア体ＧＦ（２８）は、２８＝２５６個の元を有する有限体である。ガロア体ＧＦ（２８）上の原始多項式の１つにｘ８＋ｘ４＋ｘ３＋ｘ２＋１がある。ガロア体ＧＦ（２８）の原始元の１つをαとすると、αのべき乗は、全てガロア体ＧＦ（２８）の元となる。原始多項式ｘ８＋ｘ４＋ｘ３＋ｘ２＋１から、α８＋α４＋α３＋α２＋１＝０又はα８＝α４＋α３＋α２＋１の関係を用いてαｉ（０≦ｉ≦２５４）を計算する。そして、αｉ（０≦ｉ≦２５４）に、さらに“０”を加えると、図３に示すように、８bitで表現されるガロア体ＧＦ（２８）の全ての元が構成される。図３は、実施例に係る元一覧テーブルの一例を示す図である。実施例では、ＦＥＣ演算を、ガロア体ＧＦ（２８）上における元の加算及び除算として取り扱う。
【００２１】
ガロア体ＧＦ（２８）上の加算は、ガロア体ＧＦ（２８）の各元のバイナリ表現の各桁をベクトルの各成分と見なし、ガロア体ＧＦ（２）上で加算することで定義される。すなわち、ガロア体ＧＦ（２８）の各元のバイナリ表現の各ビットのＥｘ−ＯＲ（Exclusive  OR、排他的論理和）となる。例えば、図３を参照すると、α３＝（00001000）、α５＝（00100000）であり、（00001000）＋（00100000）＝(00101000)＝α５３である。
【００２２】
ガロア体ＧＦ（２８）上の乗算は、ガロア体ＧＦ（２８）の各元のべき数（指数）を加算し、２５５（２８−１）で除算したときの剰余（ｍｏｄ２５５)で定義される。例えば、図３を参照すると、α１２３×α２３１＝α（１２３＋２３１）ｍｏｄ２５５＝α９９である。
【００２３】
このように、ＦＥＣエンコード部６Ａ−１〜６Ａ−ｎは、入力データを生成多項式で除算処理し、その剰余をＦＥＣ領域へ挿入する。
【００２４】
また、ＦＥＣデコード部６Ｂ−１〜６Ｂ−ｎは、受信したデータに対してシンドローム演算（生成多項式による除算処理）を行い、その結果を元に誤り位置を特定させるための式を計算する。この式は連立方程式となるので、連立方程式を解くことによって誤りを起こしている位置及び値が判明し、一連の演算の間待ち合わせしておいたデータに対して誤り訂正処理を行ったデータを出力する。
【００２５】
（ＦＥＣエンコード部の概略について）
図４は、実施例に係るＦＥＣエンコード部の概略の一例を示す図である。図４は、図１において、ｎ＝２とした場合を示す。以下、ＦＥＣエンコード部６Ａ−１〜６Ａ−２を総称してＦＥＣエンコード部６と呼ぶ。ＦＥＣエンコード部６は、入力データを１symbol＝８bit単位に分割し、前後する２つのsymbol毎に、２つのsymbolそれぞれを別回路にて所定の生成多項式で除算し、各剰余を算出する。そして、ＦＥＣエンコード部６は、最後に各剰余を加算することで、入力データに付与するＦＥＣを生成する。例えば、ＦＥＣエンコード部６は、２パラレル処理を行う場合は、入力データを偶数項及び奇数項に分けてそれぞれ所定の生成多項式による除算を行い、それぞれの剰余を加算することでＦＥＣを生成する。なお、剰余の加算は、bit単位のＥｘ−ＯＲである。以降、入力データを所定の生成多項式で除算して剰余を算出する処理を、エンコード演算と呼ぶ。
【００２６】
図４に示すように、ＦＥＣエンコード部６は、偶数項演算部６ａ、格納部６ｂ、奇数項演算部６ｃ、格納部６ｄ、加算器６ｅ、セレクタ６ｆを有する。ＦＥＣエンコード部６は、所定クロックI_CLK（例えば３００ＭＨｚ）で動作するものとする。格納部６ｂ及び６ｄは、ＦＦ（Flip  Flop）等である。
【００２７】
偶数項演算部６ａは、格納部６ｂに格納されている１クロック前の演算結果と、今回のクロックの１６bitの入力データのうち上位８bit及び全て“０”とした下位８bitの１６bitの第１のデータとからエンコード演算を行い、演算結果を格納部６ｂに格納する。また、奇数項演算部６ｃは、格納部６ｄに格納されている１クロック前の演算結果と、今回のクロックの１６bitの入力データのうち全て“０”とした上位８bit及び下位８bitの１６bitの第２のデータとからエンコード演算を行い、演算結果を格納部６ｄに格納する。ＦＥＣエンコード部６は、出力データ生成時に加算器６ｅで格納部６ｂ及び６ｄに格納された各演算結果を加算する。セレクタ６ｆは、後段にて入力データにＦＥＣが付加されるように、加算器６ｅによる加算結果であるＦＥＣ及び入力データを切り替えて順次出力する。
【００２８】
例えば、図４に示すように、偶数項演算部６ａは、I_CLKのタイミングｔ１１〜ｔ１２において、１６bitの入力データI_DT[15:0]のうち、上位８bitであるI_DT[15:8]を“D1”とし、下位８bitであるI_DT[7:0]を全て“0x00”とした１６bitのデータのエンコード演算を行う。並行して、奇数項演算部６ｃは、I_CLKのタイミングｔ１１〜ｔ１２において、１６bitの入力データI_DT[15:0]のうち、上位８bitであるI_DT[15:8]を全て“0x00”とし、下位８bitであるI_DT[7:0]を“D2”とした１６bitのデータのエンコード演算を行う。同様に、偶数項演算部６ａ及び奇数項演算部６ｃは、I_CLKのタイミングｔ１２〜ｔ１３、・・・、ｔ１５〜ｔ１６において、並行してエンコード演算を行う。なお、１６bitの入力データI_DT[15:0]は、ＦＥＣ付加前の入力データであり、所定クロックI_CLKの１クロックにつき１symbolずつ入力される。
【００２９】
すなわち、ＦＥＣ付加対象の入力データI_DTは、所定クロックI_CLKの１クロック毎の入力データI_DT[15:0]が、ＦＥＣ演算用の乗算器及び加算器を含む偶数項演算部６ａ又は奇数項演算部６ｃにおいて、生成多項式により除算される。そして、ＦＥＣ付加対象の全入力データI_DTが入力された時点で格納部６ｂ及び６ｄに除算結果（剰余）が保持される。そして、加算器６ｅは、格納部６ｂ及び６ｄに保持される除算結果を加算することにより、ＦＥＣ付加対象のデータに付加するＦＥＣを生成する。そして、セレクタ６ｆにより、I_DTと、加算器６ｅの出力を選択することで、出力データO_DTにＦＥＣが付加されたデータが出力されることになる。
【００３０】
（ＦＥＣエンコード部の詳細について）
図５は、実施例に係るＦＥＣエンコード部の詳細の一例を示す図である。図５は、図４を詳細に示した図である。図５では、入力データを除算する生成多項式は、原始元をαとして、ｘ４＋α１８２ｘ３＋α１９４ｘ２＋α２２５ｘ＋α１２０である場合を示す。また、図５では、各ＦＦへ、I_CLKとして例えば300MHzのクロックが供給されるものとする。図５に示すように、ＦＥＣエンコード部６は、偶数項演算部６ａ、格納部６ｂ、奇数項演算部６ｃ、格納部６ｄ、加算器６ｅ−１及び６ｅ−２、セレクタ６ｆ、ＦＦ（Flip  Flop）６ｇを有する。
【００３１】
偶数項演算部６ａは、加算器６ａ−１、ＡＮＤゲート６ａ−２を有する。また、偶数項演算部６ａは、乗算器６ａ−３〜６ａ−６を有する。また、偶数項演算部６ａは、加算器６ａ−７〜６ａ−９を有する。また、偶数項演算部６ａは、ＡＮＤゲート６ａ−１０を有する。また、偶数項演算部６ａは、乗算器６ａ−１１〜６ａ−１４を有する。
【００３２】
格納部６ｂは、ＦＦ６ｂ−２〜６ｂ−５を有する。また、格納部６ｂは、加算器６ｂ−６〜６ｂ−８を有する。
【００３３】
奇数項演算部６ｃは、ＡＮＤゲート６ｃ−２を有する。また、奇数項演算部６ｃは、乗算器６ｃ−３〜６ｃ−６を有する。また、奇数項演算部６ｃは、加算器６ｃ−７〜６ｃ−９を有する。また、奇数項演算部６ｃは、ＡＮＤゲート６ｃ−１０を有する。また、奇数項演算部６ｃは、乗算器６ｃ−１１〜６ｃ−１４を有する。
【００３４】
格納部６ｂは、ＦＦ６ｂ−２〜６ｂ−５、加算器６ｂ−６〜６ｂ−８を有する。また、格納部６ｄは、ＦＦ６ｄ−２〜６ｄ−５、加算器６ｄ−１、６ｄ−６〜６ｄ−８を有する。
【００３５】
加算器６ａ−１は、１６bitの入力データI_DT[15:0]の上位８bitであるI_DT[15:8]と、ＦＦ６ｂ−５の出力との加算結果をＡＮＤゲート６ａ−２へ出力する。入力データI_DT[15:0]の上位８bitであるI_DT[15:8]は、８bitのガロア体ＧＦ（２８）の元である、偶数番目のデータに該当する。ＡＮＤゲート６ａ−２は、加算器６ａ−１からの入力と、イネーブル信号I_ENとの論理積を取り、乗算器６ａ−３〜６ａ−６へ出力する。イネーブル信号I_ENは、“H”が入力データ領域、“L”がＦＥＣ領域を示し、入力データI_DT[15:0]と、ＦＥＣ演算結果との選択制御に使用される。
【００３６】
乗算器６ａ−３は、ＡＮＤゲート６ａ−２からの入力と、α１２０＝（00111011）との乗算結果を加算器６ｂ−６へ出力する。乗算器６ａ−４は、ＡＮＤゲート６ａ−２からの入力と、α２２５＝（00100100）との乗算結果を加算器６ａ−７へ出力する。加算器６ａ−７は、ＦＦ６ｂ−２からの入力と、乗算器６ａ−４からの入力との加算結果を加算器６ｂ−７へ出力する。
【００３７】
乗算器６ａ−５は、ＡＮＤゲート６ａ−２からの入力と、α１９４＝（00110010）との乗算結果を加算器６ａ−８へ出力する。加算器６ａ−８は、ＦＦ６ｂ−３からの入力と、乗算器６ａ−５からの入力との加算結果を加算器６ｂ−８へ出力する。
【００３８】
乗算器６ａ−６は、ＡＮＤゲート６ａ−２からの入力と、α１８２＝（01100010）との乗算結果を加算器６ａ−９へ出力する。加算器６ａ−９は、ＦＦ６ｂ−４からの入力と、乗算器６ａ−６からの入力との加算結果をＡＮＤゲート６ａ−１０及び加算器６ｅ−２へ出力する。
【００３９】
ＡＮＤゲート６ａ−１０は、加算器６ａ−９からの入力と、イネーブル信号I_ENとの論理積を取り、乗算器６ａ−１１〜６ａ−１４へ出力する。
【００４０】
乗算器６ａ−１１は、ＡＮＤゲート６ａ−１０からの入力と、α１２０＝（00111011）との乗算結果をＦＦ６ｂ−２へ出力する。乗算器６ａ−１２は、ＡＮＤゲート６ａ−１０からの入力と、α２２５＝（00100100）との乗算結果を加算器６ｂ−６へ出力する。加算器６ｂ−６は、乗算器６ａ−３からの入力と、乗算器６ａ−１２からの入力との加算結果をＦＦ６ｂ−３へ出力する。
【００４１】
乗算器６ａ−１３は、ＡＮＤゲート６ａ−１０からの入力と、α１９４＝（00110010）との乗算結果を加算器６ｂ−７へ出力する。加算器６ｂ−７は、加算器６ａ−７からの入力と、乗算器６ａ−１３からの入力との加算結果をＦＦ６ｂ−４へ出力する。
【００４２】
乗算器６ａ−１４は、ＡＮＤゲート６ａ−１０からの入力と、α１８２＝（01100010）との乗算結果を加算器６ｂ−８へ出力する。加算器６ｂ−８は、加算器６ａ−８からの入力と、乗算器６ａ−１４からの入力との加算結果をＦＦ６ｂ−５へ出力する。ＦＦ６ｂ−５は、格納する情報を加算器６ｅ−１へ出力する。
【００４３】
ＡＮＤゲート６ｃ−２は、ＦＦ６ｄ−５からの入力と、イネーブル信号I_ENとの論理積を取り、乗算器６ｃ−３〜６ａ−６へ出力する。
【００４４】
乗算器６ｃ−３は、ＡＮＤゲート６ｃ−２からの入力と、α１２０＝（00111011）との乗算結果を加算器６ｄ−６へ出力する。乗算器６ｃ−４は、ＡＮＤゲート６ｃ−２からの入力と、α２２５＝（00100100）との乗算結果を加算器６ｃ−７へ出力する。加算器６ｃ−７は、ＦＦ６ｄ−２からの入力と、乗算器６ｃ−４からの入力との加算結果を加算器６ｄ−７へ出力する。
【００４５】
乗算器６ｃ−５は、ＡＮＤゲート６ｃ−２からの入力と、α１９４＝（00110010）との乗算結果を加算器６ｃ−８へ出力する。加算器６ｃ−８は、ＦＦ６ｄ−３からの入力と、乗算器６ｃ−５からの入力との加算結果を加算器６ｄ−８へ出力する。
【００４６】
乗算器６ｃ−６は、ＡＮＤゲート６ｃ−２からの入力と、α１８２＝（01100010）との乗算結果を加算器６ｃ−９へ出力する。加算器６ｃ−９は、ＦＦ６ｄ−４からの入力と、乗算器６ｃ−６からの入力との加算結果を加算器６ｄ−１及び加算器６ｅ−２へ出力する。
【００４７】
加算器６ｄ−１は、１６bitの入力データI_DT[15:0]の下位８bitであるI_DT[7:0]と、加算器６ｃ−９の出力との加算結果をＡＮＤゲート６ｃ−１０へ出力する。入力データI_DT[15:0]の下位８bitであるI_DT[7:0]は、８bitのガロア体ＧＦ（２８）の元である、奇数番目のデータに該当する。ＡＮＤゲート６ｃ−１０は、加算器６ｄ−１からの入力と、イネーブル信号I_ENとの論理積を取り、乗算器６ｃ−１１〜６ｃ−１４へ出力する。
【００４８】
乗算器６ｃ−１１は、ＡＮＤゲート６ｃ−１０からの入力と、α１２０＝（00111011）との乗算結果をＦＦ６ｄ−２へ出力する。乗算器６ｃ−１２は、ＡＮＤゲート６ｃ−１０からの入力と、α２２５＝（00100100）との乗算結果を加算器６ｄ−６へ出力する。加算器６ｄ−６は、乗算器６ｃ−３からの入力と、乗算器６ｃ−１２からの入力との加算結果をＦＦ６ｄ−３へ出力する。
【００４９】
乗算器６ｃ−１３は、ＡＮＤゲート６ｃ−１０からの入力と、α１９４＝（00110010）との乗算結果を加算器６ｄ−７へ出力する。加算器６ｄ−７は、加算器６ｃ−７からの入力と、乗算器６ｃ−１３からの入力との加算結果をＦＦ６ｄ−４へ出力する。
【００５０】
乗算器６ｃ−１４は、ＡＮＤゲート６ｃ−１０からの入力と、α１８２＝（01100010）との乗算結果を加算器６ｄ−８へ出力する。加算器６ｄ−８は、加算器６ｃ−８からの入力と、乗算器６ｃ−１４からの入力との加算結果をＦＦ６ｄ−５へ出力する。ＦＦ６ｄ−５は、格納する情報を加算器６ｅ−１へ出力する。
【００５１】
加算器６ｅ−１は、ＦＦ６ｂ−５からの入力と、ＦＦ６ｄ−５からの入力との加算結果をセレクタ６ｆへ出力する。加算器６ｅ−２は、加算器６ａ−９からの入力と、加算器６ｄ−９からの入力との加算結果をセレクタ６ｆへ出力する。
【００５２】
セレクタ６ｆは、加算器６ｅ−１又は６ｅ−２からの入力と、入力データI_DT[15:0]とを切り替えてＦＦ６ｇへ順次出力する。ＦＦ６ｇは、入力データI_DT[15:0]の生成多項式の除算による剰余であるＦＥＣが入力データI_DT[15:0]に付加された出力データO_DT[15:0]を出力する。
【００５３】
（実施例に係る生成多項式による除算処理の一例）
図６は、実施例に係る生成多項式による除算処理の一例を示す図である。図６は、図５に示したＦＥＣエンコード部６による処理の詳細を示す図である。ここで、入力データは、（α４，α３，α２，α１，α０）の５シンボルであるとし、入力順序は、１６bit単位でα０、α１、α２、α３、α４である。また、生成多項式は、ｘ４＋α１８２ｘ３＋α１９４ｘ２＋α２２５ｘ＋α１２０である。
【００５４】
すなわち、図６は、α４ｘ４＋α３ｘ３＋α２ｘ２＋α１ｘ＋α０を、奇数番目の項からなる多項式及び偶数番目の項からなる多項式に分け、それぞれを生成多項式で除算した各剰余を合計する。これにより、α４ｘ４＋α３ｘ３＋α２ｘ２＋α１ｘ＋α０を生成多項式で除算した剰余を求める。
【００５５】
図６の（ａ）は、ＦＥＣエンコード部６の偶数項演算部６ａによる処理例を示す。入力データの偶数項のみの多項式はα３ｘ３＋α１ｘとなる。図６の（ａ）に示すように、α３ｘ３＋α１ｘをｘ４＋α１８２ｘ３＋α１９４ｘ２＋α２２５ｘ＋α１２０で除算すると、剰余はα３ｘ３＋α１ｘとなる。
【００５６】
また、図６の（ｂ）は、ＦＥＣエンコード部６の奇数項演算部６ｃによる処理例を示す。入力データの奇数項のみの多項式はα４ｘ４＋α２ｘ２＋１となる。図６の（ｂ）に示すように、α４ｘ４＋α２ｘ２＋１をｘ４＋α１８２ｘ３＋α１９４ｘ２＋α２２５ｘ＋α１２０で除算すると、図３に示すガロア体ＧＦ（２８）の元一覧テーブル６ｔから、剰余はα１８６ｘ３＋α２５ｘ２＋α２２９ｘ＋α１８０となる。
【００５７】
そして、図６の（ｃ）に示すように、偶数項及び奇数項それぞれの除算による剰余を加算すると、図３に示すガロア体ＧＦ（２８）の元一覧テーブル６ｔから、剰余の合計はα１２６ｘ３＋α２５ｘ２＋α７８ｘ＋α１８０となる。このα１２６ｘ３＋α２５ｘ２＋α７８ｘ＋α１８０が、α４ｘ４＋α３ｘ３＋α２ｘ２＋α１ｘ＋α０を生成多項式ｘ４＋α１８２ｘ３＋α１９４ｘ２＋α２２５ｘ＋α１２０で除算した剰余であり、α４ｘ４＋α３ｘ３＋α２ｘ２＋α１ｘ＋α０のＦＥＣとなる。
【００５８】
図７は、図６に示す生成多項式による除算処理をタイムチャートで示した図である。図７に示すように、奇数項演算部６ｃは、タイミングｔ２１〜ｔ２４において入力された入力データのうちの奇数番目のデータを係数とする奇数次の項からなる多項式を生成多項式で除算した剰余を、タイミングｔ２４〜ｔ２６において算出する。そして、偶数項演算部６ａは、奇数項演算部６ｃの処理と並行して、タイミングｔ２１〜ｔ２４において入力された入力データのうちの偶数番目のデータを係数とする偶数次の項からなる多項式を生成多項式で除算した剰余を、タイミングｔ２４〜ｔ２６において算出する。そして、タイミングｔ２４〜ｔ２６における偶数項演算部６ａ及び奇数項演算部６ｃによる除算結果が加算されることにより、タイミングｔ２５〜ｔ２７において入力データに付加するＦＥＣが算出される。
【００５９】
なお、図４〜図７を参照して説明したＦＥＣ生成のエンコード演算と同様に、ＦＥＣデコード部６Ｂ−１〜６Ｂ−ｎにおけるシンドローム演算を行うことができる。
【００６０】
（実施例による効果）
実施例によれば、ＯＴＮフレームに、リードソロモン方式の誤り訂正符号（ＦＥＣ）を演算するエンコード演算において、偶数番目のシンボルと奇数番目のシンボルとを、別々の回路で分けてエンコード演算する。このため、実施例は、データ伝送速度が上昇し、回路の駆動クロックがデータ伝送速度に追従できない場合であっても、データの遅延を発生させずに、ＯＴＮフレームに、リードソロモン方式の誤り訂正符号であるＦＥＣを付加する処理を実現できる。そして、実施例は、データ伝送速度に追従できない性能が低い安価なデバイスを用いても、データ遅延を発生させることなくエンコード演算を実現できるため、部品コストを低減できる。
【００６１】
［その他の実施例］
（１）ＦＥＣ生成対象のデータを表す多項式の分割方法について
実施例は、１symbol＝８bitとし、２symbol単位で入力されるＦＥＣ付与対象の入力データを１symbol単位に分割する。そして、実施例は、入力データのうち、奇数番目のsymbolを係数とする奇数次の項からなる多項式、及び、偶数番目のsymbolを係数とする偶数次の項からなる多項式を生成する。そして、実施例は、奇数次の項からなる多項式を生成多項式で除算する奇数項演算部、偶数次の項からなる多項式を生成多項式で除算する偶数項演算部の２つの演算部それぞれにおいて並列に各剰余を求める。そして、実施例は、各剰余を合算することで、入力データに付与するＦＥＣを生成する。
【００６２】
しかし、開示技術は、これに限られず、次のようにしてもよい。すなわち、Ｎを２以上の自然数とし、Ｎsymbol単位で入力されるＦＥＣ付与対象の入力データを１symbol単位に分割する。そして、symbol単位での入力順序ｉ（ｉは自然数）がＮを法として合同となるsymbolを係数とする各ｉ次の項からなるＮ個の多項式を生成する。そして、このＮ個の多項式それぞれを生成多項式で除算するＮ個の演算部において並列に各剰余を求める。そして、各剰余を合算することで、入力データに付与するＦＥＣを生成するとしてもよい。なお、上記実施例は、Ｎ＝２の場合である。
【００６３】
例えば、Ｎ＝３の場合、３symbol単位で入力されるＦＥＣ付与対象の５symbol（例えば、α０，α１，α２，α３，α４が、この順序で、（α０，α１，α２），（α３，α４）のデータ単位で入力される）の入力データを１symbol単位に分割する。そして、symbol単位での入力順序が３を法として合同となるsymbolを係数とする各次数の項からなる３個の多項式（例えば、α２ｘ２，α４ｘ４＋α１ｘ１，α３ｘ３＋α０）を生成する。ここで、α２ｘ２は、３を法とする剰余２の次数の項からなる多項式である。また、α４ｘ４＋α１ｘ１は、３を法とする剰余１の剰余類の項からなる多項式である。また、α３ｘ３＋α０は、３を法とする剰余０の次数の項からなる多項式である。例えば、第１の演算部が、α２ｘ２を生成多項式で除算して第１の剰余を算出する。また、例えば、第２の演算部が、α４ｘ４＋α１ｘ１を生成多項式で除算して第２の剰余を算出する。また、例えば、第３の演算部が、α３ｘ３＋α０を生成多項式で除算して第３の剰余を算出する。そして、第１乃至第３の剰余を加算した結果が、求めるＦＥＣとなる。
【００６４】
（２）ＦＥＣエンコード部及びＦＥＣデコード部について
実施例では、ＦＥＣエンコード部６Ａ−１〜６Ａ−ｎは、送信側の伝送装置１０Ａのネットワーク側ＩＦ部５Ａに設けられるとした。また、実施例では、ＦＥＣデコード部６Ｂ−１〜６Ｂ−ｎは、受信側の伝送装置１０Ｂのネットワーク側ＩＦ部５Ｂに設けられるとした。しかし、ＦＥＣエンコード部及びＦＥＣデコード部は、送信側の伝送装置１０Ａのクライアント側ＩＦ部１Ａ及びネットワーク側ＩＦ部５Ａ、受信側の伝送装置１０Ｂのクライアント側ＩＦ部１Ｂ及びネットワーク側ＩＦ部５Ｂのいずれにも設けられてもよい。
【００６５】
（３）ネットワークについて
実施例では、伝送システム１００は、ＯＴＮフレームにてデータ通信を行うＯＴＮであるとした。しかし、これに限らず、開示技術は、IEEE  802.16に準拠する広域無線通信規格であるＷｉＭＡＸ（登録商標）のフレームにも適用可能である。また開示技術は、デジタルテレビジョン放送規格であるＤＶＢ（登録商標）−ｘのフレームにも適用可能である。また開示技術は、ＥＴＳＩ−ＢＲＡＮ（European  Telecommunications  Standards  Institute−Broadband  Radio  Access  Network）による広帯域無線アクセスネットワーク標準規格のフレームにも適用可能である。また、開示技術は、宇宙データシステムであるＣＣＳＤＳ（Consultative  Committee  for  Space  Data  Systems）のフレームにも適用可能である。
【００６６】
以上の実施例において図示した各装置の各構成要素は、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各部の分散及び／又は統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００６７】
また、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）上で、その全部又は任意の一部を実行するようにしてもよい。または、各装置で行われる各種処理機能は、ＮＰ、ＭＰＵ、ＭＣＵ、ＡＳＩＣ、ＦＰＧＡ等のマイクロコンピュータ上で、その全部又は任意の一部を実行するようにしてもよい。ここで、ＮＰはNetwork  Processorであり、ＭＰＵはMicro  Processing  Unitであり、ＭＣＵはMicro  Controller  Unitである。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロコンピュータ）で解析実行するプログラム上、またはワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしてもよい。
【符号の説明】
【００６８】
１Ａ、１Ｂ  クライアント側ＩＦ部
２Ａ−１〜２Ａ−ｎ  マッピング部
２Ｂ−１〜２Ｂ−ｎ  デマッピング部
３Ａ−１〜３Ａ−ｎ  ＯＨ挿入部
４Ａ、４Ｂ  ＳＷ部
５Ａ、５Ｂ  ネットワーク側ＩＦ部
６、６Ａ−１〜６Ａ−ｎ  ＦＥＣエンコード部
６ａ  偶数項演算部
６ａ−１、６ａ−７〜６ａ−９  加算器
６ａ−２、６ａ−１０  ＡＮＤゲート
６ａ−３〜６ａ−６、６ａ−１１〜６ａ−１４  乗算器
６ｂ、６ｄ  格納部
６ｂ−２〜６ｂ−５  ＦＦ
６ｂ−６〜６ｂ−８  加算器
６ｃ  奇数項演算部
６ｃ−７〜６ｃ−９  加算器
６ｃ−２、６ｃ−１０  ＡＮＤゲート
６ｃ−３〜６ｃ−６、６ｃ−１１〜６ｃ−１４  乗算器
６ｄ−１  加算器
６ｄ−２〜６ｄ−５  ＦＦ
６ｄ−６〜６ｄ−８  加算器
６ｅ、６ｅ−１、６ｅ−２  加算器
６ｆ  セレクタ
６ｇ  ＦＦ
６ｔ  元一覧テーブル
６Ｂ−１〜６Ｂ−ｎ  ＦＥＣデコード部
７Ａ  マルチプレクサ部
７Ｂ  デマルチプレクサ部
９Ａ−１〜９Ａ−ｎ、９Ｂ−１〜９Ｂ−ｎ  クライアント
１０Ａ、１０Ｂ  伝送装置
１００  伝送システム
２００  ネットワーク
【図１】
2017017588.tif 000003
【図２】
2017017588.tif 000004
【図３】
2017017588.tif 000005
【図４】
2017017588.tif 000006
【図５】
2017017588.tif 000007
【図６】
2017017588.tif 000008
【図７】
2017017588.tif 000009