説明

連接符号の演算回路及びアドレス制御方法

【課題】連接符号を改良し、メモリ容量とそれに伴うメモリ用診断回路を削減すること。
【解決手段】従来のシンドローム演算回路や検査符号算出回路に含まれるレジスタに従来のインターリーバーで使われていたアドレス制御を施して、インターリーブした時と同じ演算結果を導き出す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、連接符号の演算回路及びアドレス制御方法に係り、特に、効率的な回路構成を実現する改良された連接符号のアルゴリズムを適用する連接符号の演算回路及びアドレス制御方法に関する。
【背景技術】
【0002】
近年、世界各地の通信事業者が次世代ネットワーク(以下、NGN:next generation network)の構築を進めている。NGNにおける伝達網は、図1に示すような階層構造をもっており、このうち、メトロアクセス(100Km以下)〜コア(1、000Km超)の光コアメトロ網は、光トランスポートシステムによって構成されている。
【0003】
光トランスポートシステムでは、ネットワーク管理者の保守、運用コストを削減するため2003年に国際電気通信連合(以下、ITU−Tと称する)が勧告G.709において定めたOptical Transport Network(OTN)規格が採用されている。
【0004】
OTN規格では、情報伝送フレームに対して伝送路上の情報劣化などで加わるエラーを訂正する機能の追加することを正式に定めており、勧告G.975.1には、エラー訂正機能を実現する8つのタイプのアルゴリズムについての記述がある。これらの内の殆どは、符号論理においては基本的なBCH(Bose−Chaudhuri−Hocquenghem)符号やRS(Reed−solomon)符号を組み合わせた連接符号である。
【0005】
連接符号は、高い符号化利得を実現できる一方で、膨大なメモリ容量を必要とする。これは、連接符号が後述するデータの並び替え(インターリーブ)という概念を基礎にしているためである。
【0006】
エラー訂正を行う回路は符号回路と復号回路を含む。符号回路は検査符号を算出し、信号に追加するための回路であり、復号回路は伝送路上で混入したエラーの信号上の位置を算出し、元のデータに戻すための回路である。
【0007】
一般に符号・復号回路をLSIに実装した場合、大概はメモリも同一チップ内に実装される。このようなメモリをON−CHIPメモリというが、LSI内のメモリは、論理回路との領域を奪う上、電力を消費し発熱の第一原因と為り易い。更に近年の傾向としてメモリには診断回路が加えられるのが一般的であり、このメモリ診断回路も無視できない熱源として課題となっている。
【非特許文献1】ITU−T 勧告G.709
【非特許文献2】ITU−T 勧告G.975.1
【発明の開示】
【発明が解決しようとする課題】
【0008】
前述の通り、従来の連接符号には大量のメモリが必要である。この点を勧告G.975.1のアルゴリズムI3(以下、G.975.1 I3とする)を例として説明する。
【0009】
G.975.1 I3の概要図を図2に示す。
G.975.1 I3の符号回路a1は、外側符号回路a11と内側符号回路a12を有する。外側符号回路a11は、更に8つのBCH(3860、3824)符号の符号回路a111を含み、内側符号回路a12は16つのBCH(2040、1930)符号の符号回路a121を含む。図2では、BCH(3860、3824)符号をBCH_A符号、BCH(2040、1930)符号をBCH_B符号として表している。BCH(3860、3024)は表1、BCH(2040、1930)は、G.975.1 I3において表2のようにそれぞれ符号化されている。
【表1】

【表2】

【0010】
G.975.1 I3の復号回路a2は、外側復号回路a21と内側復号回路a22を有する。外側符号回路a21は、更に8つのBCH(3860、3824)符号の復号回路a211を含み、内側復号回路a22は16つのBCH(2040、1930)符号の復号回路a221を含む。なお、勧告G.975.1の例では、この連接符号の復号回路は3回のイテレーション(繰り返し、反復)を行っているため、図示の例はそれに習い、外側復号回路a21と内側復号回路a22をそれぞれ3個づつ使用している。
【0011】
G.975.1 I3は、外側符号・復号回路用のフォーマット(以下、外側フォーマット)と内側符号・復号回路用のフォーマット(以下、内側フォーマット)の2種類がある。このため、G.975.1 I3は、外側フォーマットを内側フォーマットに変換するインターリーバーa13、a24、a25と、内側フォーマットを外側フォーマットに変換するデインターリーバーa14、a23を有する。
【0012】
G.975.1 I3では、勧告G.709のOTN規格に準拠したフレーム(以下、OTNフレーム)を255個のセグメントに分けて、このセグメント単位での並び替え(例えば、G.975.1、Figure I.10参照)を行いながら訂正率をあげる手法を取っている。
図3に、255セグメントに分割したOTNフレームと8つのBCH(3860、3824)符号のフォーマットの関係を示す。
【0013】
G.975.1 I3でのセグメントの並び替えは、8つのフレームを並び替えることで行われる。このとき、インターリーバーでは8フレーム分のデータ、つまり32,640×8=261,120ビットをメモリに溜める必要がある。また、デインターリーバーにも同量のメモリが必要となる。後で一般的な場合を論じるため、この並び替えするフレーム数をτ(上述の例ではτ=8)と置くことにする。
【0014】
図2に示されているインターリーバーa24とデインターリーバーa14の対は、デバッグ性向上のために用いるものである。勧告G.709で定められているOTNフレームは、G.975.1 I3の構成では外側フォーマットとなる。このため、内側フォーマットはOTNフレームを並び替えたものとなる。もしインターリーバーa14、デインターリーバーa24がなければ、伝送路上では内側フォーマットになり、アナライザーでのデッバグが困難になる。このため、図2には、インターリーバーa24とデインターリーバーa14を加えている。なお、勧告G.975.1のオリジナルのアルゴリズムには、インターリーバーa24とデインターリーバーa14の対は付いていない。
【0015】
この構成のため、G.975.1 I3の連接符号は、デバッグ用のインターリーバーa24とデインターリーバーa14を外すと261,120×6=1、566、720ビット≒1.5Mビット(1K=1024、1M=1024K)というメモリ量を必要となる。デバッグ用のインターリーバーa24とデインターリーバーa14も含めると261,120×8≒2.0Mビットのメモリが必要となる。前述の通り、このメモリは符号・復号回路と一緒にLSI内部に搭載されることが多い。この場合、2.0Mビットというメモリ量は巨大であり、LSIの領域を大きく占め、電力を消費し発熱の第一原因と為り易い。
本発明は、以上の点に鑑み、連接符号を改良し、メモリ量を大幅に削減する連接符号の演算回路及びアドレス制御方法を提供することを目的とする。また、本発明は、インターリーバー、デインターリーバーを使用せずに並び替えを行ったのと同様の処理をすることを目的のひとつとする。
【課題を解決するための手段】
【0016】
本発明では、従来の連接符号の符号・復号回路内部のアルゴリズムを根本的に見直し、連接符号に改良を加え、メモリ量を大幅に削減する。例えば、従来インターリーバーによって行われていたデータ変換を使わずに連接符号を実現する。
【0017】
連接符号は、光通信の分野に限らず、高い符号化利得を得る手法として今後、適用の分野が広がる可能性も十分持つ。このため今回の発明は、非常に符号・復号技術の向上に貢献するものと考えている。
【0018】
本発明の第1の解決手段によると、
符号回路又は復号回路に用いる連接符号の演算回路であって、
符号化又は復号化のための所定の演算を行う演算部と、
第1乃至第τ(τは2以上の整数)のレジスタと、
前記第1乃至第τのレジスタのうち、前記演算部の演算結果を書き込むレジスタのアドレスを指定するアドレス制御部と
を備え、
前記アドレス制御部は、
フレームの先頭セグメントに対する演算結果の書き込み先が、フレーム毎に前記第1乃至第τのレジスタに順次巡回して切り替わるように、第1のアドレスを変更するフレーム毎のアドレス制御と、
フレーム内の各セグメントに対する演算結果の書き込み先が、セグメント毎に、フレームの先頭セグメントに対する第1のアドレスが示すレジスタから、前記第τ乃至第1のレジスタに順次巡回して切り替わるように、第2のアドレスを変更するセグメント毎のアドレス制御と
を実行し、
第2のアドレスに従い、前記演算部での演算結果がセグメント毎に前記第1乃至第τのレジスタに書き込まれる前記連接符号の演算回路が提供される。
【0019】
本発明の第2の解決手段によると、
符号回路又は復号回路に用いる連接符号の演算回路におけるレジスタのアドレス制御方法であって、
符号化又は復号化のための所定の演算を行い、
フレームの先頭セグメントに対する演算結果の書き込み先が、フレーム毎に第1乃至第τのレジスタに順次巡回して切り替わるように、第1のアドレスを変更するフレーム毎のアドレス制御を実行し、
フレーム内の各セグメントに対する演算結果の書き込み先が、セグメント毎に、フレームの先頭セグメントに対する第1のアドレスが示すレジスタから、第τ乃至第1のレジスタに順次巡回して切り替わるように、第2のアドレスを変更するセグメント毎のアドレス制御を実行し、
第2のアドレスに従い、演算結果がセグメント毎に第1乃至第τのレジスタに書き込まれる前記アドレス制御方法が提供される。
【発明の効果】
【0020】
本発明によると、連接符号を改良し、メモリ量を大幅に削減する連接符号の演算回路及びアドレス制御方法を提供することができる。また、本発明によると、インターリーバー、デインターリーバーを使用せずに並び替えを行ったのと同様の処理をすることができる。
【発明を実施するための最良の形態】
【0021】
1.改良された連節符号の回路
本実施の形態は、外側符号・復号回路に関して改良し、内側符号・復号回路に関してはそのまま用いることができる。外側符号・復号回路は、8個の同じBCH(3860、3824)の符号・復号回路を並べたものである。そのため、本発明のメインは、BCH(3860、3824)の符号・復号回路の改良である。よってこれからは、このBCH(3860、3824)の符号・復号回路の改良点について述べる。
【0022】
符号・復号回路の構成を図25に示す。
符号回路j1は、検査符号を演算し入力データに追加するものである。また、復号回路j3は、入力データから回路j31において誤り位置を割り出し、回路j32においてその誤り位置をもとに訂正するものである。入力データを誤り位置算出に掛るため、その時間分だけ遅延させるバッファj33が必要となる。なお、誤り位置を割り出す回路j31は、シンドローム値を求めるシンドローム演算回路j311と、シンドローム値から誤り位置多項式を演算する回路j312と、誤り位置多項式から誤り位置を計算するチェン検索回路j313を有する。
【0023】
ここで、改良したアルゴリズムの原理を説明するため、まずは、最もわかり易いシンドローム演算回路を例にして説明する。
【0024】
BCH(n、k)の場合、つまり、情報ビット数がkで、情報ビット数+検査符号ビット数がnのとき、光ファイバj2を通りシンドローム演算回路j311に入力される1ビット単位のデータをyn−1、yn−2、‥、y、yとすると訂正できるビット数がtの場合、求めるシンドローム多項式は、
S(z)=s+sz+ ‥ +s2t−12t−1 (1)
で表される。このときデータは、添え字が大きいほうからn−1、n−2の順でシンドローム演算回路に入力される。ここで、それぞれの係数(シンドローム多項式の係数値、シンドローム係数値)は、
=yn−1(αn−1+ ‥ +y(α+y (0≦j<2t) (2)
となる。yn−1、yn−2、‥、y、yはガロア体GF(2)の元であり、値として「1」か「0」しか取らず、加算と減算は排他的論理和(xor)、乗算は論理積(and)と同じである。
【0025】
また、今回はBCH符号を扱うため、係数には以下の関係があり、添え字が奇数のものは、偶数で表現できる。
=(s、s=(s、s=(s、‥ (3)
このため、シンドローム演算回路での係数の演算は、添え字が偶数のもののみとし、後段の誤り位置多項式を演算する回路で添え字が奇数のものの算出を行うことにする。
【0026】
図4に、従来のシンドローム演算回路図を示す。
従来のシンドローム演算回路は図4のように演算部b11とレジスタ部b12で成り立っている。ここで簡単に従来のシンドローム演算回路の仕組みを説明する。式(2)は、
=(‥((0・α+yn−1)・α+yn−2)・α+yn−3‥)・α+y
(0≦j<2t) (4)
と変換し、演算としては、前の値にガロア体乗算器b111によってαを乗算した後、ガロア体加算器b112によってyを加算することをn回繰り返しsを求める。
【0027】
図5に、改良されたシンドローム演算回路図を示す。
このとき、シンドローム演算回路の構成を図5のようにレジスタ部c12にレジスタc121をτ個(τは2以上の整数)使用し、以下に示す方法を用いることにより、インターリーバー、デインターリーバーを使用せずに並び替えを行ったのと同様の処理をすることが出来る。シンドローム演算回路c1は、例えば、演算部c11と、複数のレジスタc121を有するレジスタ群c13と、係数演算部c13と、アドレス制御部c14とを備える。なお、誤り訂正回路、検査符号算出回路、検査符号追加回路などに適用する場合にも、同様の構成をとることができる。この場合、演算部c11はそれぞれ、誤り訂正などの処理を行うように構成し、係数演算部c13は省略できる。
【0028】
この手法では、0セグメント目では#τ−1のレジスタ、1セグメント目では#τ−2のレジスタという具合にセグメントが変わるごとに使うレジスタを変えて行く。そしてτセグメント目で再び#τ−1のレジスタを使うようにする。このように、使うレジスタをアドレス制御部c14で制御することで、ある1つのレジスタに注目すれば、あたかも並び替えられたもののシンドロームを演算していることになる。このレジスタ制御は、以下に示すセグメント毎のアドレス制御と、フレーム毎のアドレス制御の二つによって実現される。
【0029】
具体例として、今回の場合(τ=8)について、図6を用いながらセグメント毎のアドレス制御と、フレーム毎のアドレス制御について説明する。セグメント毎のアドレス制御は、あるフレーム内でのアドレス制御である。例えば図6の0フレーム番目において、0セグメント目では#7のレジスタを参照し、1セグメント目では#6のレジスタを参照し、8セグメント目で再び#7のレジスタに戻っている。参照されたメモリの番号、つまりアドレスは7、6、5、‥、0、7、6、‥と巡回して変化する。この制御は241セグメント目まで続けられる。242セグメント目からは、ダミービットのみしか含まなくなるため(図3を参照)、この制御は行わなくてよい。
【0030】
フレーム毎のアドレス制御はフレーム間を跨った場合のアドレス制御である。1フレーム番目の0セグメント目のアドレスは、前フレームの0セグメント目から計算される。
図6の例では、各フレームの0セグメント目のアドレスが7、0、1、‥、6、7、0、‥のように巡回して変化していることがわかる。
【0031】
改良されたシンドローム演算回路のレジスタ制御は、まず各フレームにおいて0セグメント目のみフレーム毎のアドレス制御を行い、0セグメント以外ではセグメント毎のアドレス制御を行うことによって行われることができる。この手法により、例えば、図6の#7のレジスタに注目したフレームの演算では、7フレーム番目の239セグメントで求めるシンドローム値が与えられることになる。
【0032】
但し、この手法を用いるとき1点だけ注意する必要がある。#7のレジスタからみると、まず図6の0フレーム番目において0セグメント目の入力データを演算し、次に8セグメント番目で演算を行うことになる。この場合、1から7セグメントまでは#7のレジスタ内のデータは何も変わらなかったことになる。従来方式では式(4)よりデータが入力される毎にαを乗算してyn−1、yn−2、‥、yに対する係数(αn−1、(αn−2、‥、(αを演算している。しかし、この方法では1から7セグメントまでの係数は出せなくなってしまう。本実施の形態では、この課題を解決する方法として、図5のように係数演算部c13を設けた。係数演算部c13では、係数を(αn−1、(αn−2、(αn−3、‥と求めていくため、データが入力される毎にαで除算することになる。つまり、従来手法では各係数を算出するためαを乗算したが、本実施の形態の手法では、その逆を行うことになる。
【0033】
この方式の優れている点のひとつは、データそれ自体は並び変わっていないところである。つまり、これまで必要であったインターリーバーとデインターリーバーが不要になるという利点がある。一方で、インターリーバーとデインターリーバーを用いてデータを並び替えた時のように、誤り訂正能力を超えるエラーがひとつのフレーム内で発生しても、分散して誤り訂正することができる利点を有している。
【0034】
次に、この原理で動くシンドローム演算回路のアルゴリズムを図18のフローチャートを用いて説明する。これまでは、BCH(3860、3824)を具体例として話しを進めてきたが、ここからは一般的な話をする。ここでフローチャートに使われる値は以下の通りである。なお、図18のフローチャートは、情報1ビットで1サイクル動作する。
cycle:サイクル数。
S_DEC:シンドローム係数値が確定するサイクル。
n:信号ビット数+検査符号ビット数。
τ:並び替えフレーム数。
t:訂正可能な最大ワード数。
η:1セグメントあたりのビット数
REG_Sa、b:レジスタ(0≦a<τ、0≦b<t)。
adr:レジスタのアドレス(第2のアドレス)、(0≦adr<τ)。
frame_top:フレームの先頭を示す信号。
top_adr:フレーム先頭時のアドレス(第1のアドレス)。
:1ビットの入力データ(0≦j<n)。
:シンドローム係数(出力値)(0≦b<t)。
【0035】
まず、s100にて初期化が行われる。ここで図5のREGを新たにREG_Sa、b(0≦a<τ、0≦b<t)とおく。ここで、aはアドレス、bはシンドローム多項式の係数を示す添え字である。REG_Sa、bに対するアドレスをadrと置き、それぞれ初期化する。また、ここでのtop_adrとは、各フレームにおける0セグメント目でのアドレスである。なお、このs100の初期化は、回路で言うならばリセット後の動作にあたる。
【0036】
次にs101の分岐は、フレームの先頭であるかどうかを判断するものである。ここでは、先頭である場合をframe_top=1、そうでない場合をframe_top=0としてある。図18のフローチャートでは、カウンタ値をcycleと表しs102で値を0にする。
【0037】
次にアドレスの制御を行う。frame_top=1の場合は、前述したフレーム毎のアドレス制御を行う(s104)。図19のフローチャートは、一般の場合におけるフレーム毎のアドレス制御を示している。図19のフローチャートはフレームの先頭が来たframe_top=1のみ機能するため、それ以外はtop_adrの値は変化しない。ステップs201〜s203でtop_adrを更新する。また、ここでの値を、図18のフローチャートに渡すため、更新された値をレジスタのアドレスadrに代入している(s204)。
【0038】
frame_top=0の場合は、前述したセグメント毎のアドレス制御を行う(s103)。図20のフローチャートは、セグメント毎のアドレス制御を示している。ただし、アドレスadrは、セグメント毎に変化するので、s301のようにセグメントの区切りか判断する。例えば、1セグメントあたりのビット数をηとすると、cycleをηで割り切れるときのみ機能する。s302〜s304でadrを更新する。
【0039】
frame_top=1の場合は、レジスタ内の値をクリアするためs106の処理をする。それ以外は、s105に示されるように計算されたアドレスadrが示す値REG_Sadr、bをリードする。リードされた値は、TEMP_Sに代入される。この値は、後のs108に使うための仮の変数であり、回路でいうところのワイヤーに相当する。
【0040】
演算が必要なデータは図3で示す通り、情報部と検査符号部のみで、ダミー部は不要であるため、cycle=nで演算は終了する。s107は情報部と検査符号部のみを演算するための処理である。
【0041】
s108は式(2)のガロア体演算を示している。ただし、注意しなくてはいけない点として、演算に必要となる係数の指数が入力値に合わせて(α2n−1、(α2n−2、(α2n−3と減っていることに注意する必要がある。このため、係数は係数演算部c13で別に除算を行い求める。なお、計算された値は再び、アドレスadrが示すREG_Sadr、bにライトされる。
【0042】
この後、s109でシンドローム係数値が確定するセグメント位置になった時、REG_Sadr、b の値はシンドローム係数値Sに代入される。図18のフローチャートでは、この確定されるセグメント位置をS_DECと置いている。
【0043】
シンドローム係数値が確定するセグメント位置S_DECはτの値によって変化する。図7に示す通り、例えば、BCH(3860、3824)でη=16のとき、τ=5、6、8、10では、239セグメント目、τ=7では237セグメント目、τ=9では233セグメント目でシンドローム係数値が確定する。
【0044】
一般の場合、S_DECの値は、以下のように求められる。最初に
ξ=n÷η (5)
となるξを定義する。このとき、nがηで割り切れた場合は、
S_DEC=ξ−MOD(ξs、τ) (6)
nがηで割り切れない場合は、
S_DEC=(ξ+1)−MOD((ξ+1)τ) (7)
となる。ここで、MOD(ξs、τ)、及び、MOD((ξ+1)τ)は、ξ、(ξ+1)をτでそれぞれ割った際の余剰を示している。G.975.1 I3でのケースを上記式に当てはめるとS_DEC=240、つまり239セグメント目となる。
【0045】
但し、あくまでもS_DECは現在のシンドローム係数の値が確定するセグメント位置であり、回路としては、cycle<nである限り演算し続ける必要がある。cycle≧nとなった場合、図18のフローチャートは終了する。
【0046】
上記のようにして、インターリーバー、デインターリーバーを必要とせずに、あたかも並び替えられたのと同じ演算結果を導き出すことができる。なお、この手法が必要な部分は符号回路と復号回路の中の一部であるシンドローム演算回路と誤り訂正回路である。なお、誤り位置多項式の算出回路は、前述の通り、若干変更する必要がある。例えば、式(3)を用いてシンドローム係数の添え字が偶数のものから添え字が奇数のものを算出する。チェン検索回路は従来のままである。
【0047】
次に誤り訂正回路(j32、i211)のフローについて図21のフローチャートを用いて説明する。ここで、それぞれの値は以下の通りである。
EP:エラーの位置(0≦b<t)。誤り訂正回路の入力値。
REG_EPa、b:レジスタ(0≦a<τ、0≦b<t)。
:1ビットの入力データ (0≦j<n)。
y’:1ビットの出力データ (0≦j<n)。
他の値は、図18のフローチャートと同じである。
【0048】
誤り訂正回路j32では、前段のチェン検索回路j313からエラーの位置を入力値として受け取る。図18のフローチャートとの大きな違いは、s407の処理であり、他の部分は大きな変更は無い。基本はレジスタをτ個用意して、同じアドレス制御を行う。なお、s407の処理は詳細に書き下すとc=n−1−cycleとcを置いた時、REG_EP adr、b(0≦b<t)のいずれかがcと等しい、つまり、
(REG_EPadr、0=c)or(REG_EPadr、1=c)or‥or(REG_EPadr、2=c) (8)
が真の時のみ入力値yを反転させてy’として出力するという意味である。
【0049】
次に、改良した符号回路のフローについて説明する。改良された符号回路i11は、例えば図17に示すように、検査符号を入力信号から算出する検査符号算出回路i111と、検査符号を入力信号に追加する検査符号追加回路i113に分け、それらをバッファi112で繋ぐ構成になっている。
【0050】
まず、検査符号の算出部分の説明を行う。BCH(n、k)のI(x)を通信多項式とし、以下のように定義する。
I(x) =ik−1k−1 + ik−2k−2 + ‥ + ix + i (9)
ここで、係数iは、GF(2)の元であり、値として「1」か「0」しか取らない。m=n−kとなるmを定義し、I(x)にxを掛けた式
I’(x)=xI(x)=ik−1n−1+ik−1n−1+‥+im+1+i (10)
をI’(x)と定義する。
【0051】
次に生成多項式
G(x)=g+gm−1m−1+‥+gx+g (11)
を定義する。係数g(0≦p≦m)もGF(2)の元であり、値として「1」か「0」しか取らず、加算と減算は排他的論理和(xor)、乗算は論理積(and)と同じである。なお、生成多項式の場合必ず最高次の係数は「1」となるため、式(11)を
G(x)=x+gm−1m−1+‥+gx+g (12)
とする。勧告G.975.1では、今回のBCH(3860、3824)の生成多項式は、
G(x)=x36+x30+x27+x25+x23+x22+x19+x18+x14+x13+x12+x11+x+x+1 (13)
となっている。
【0052】
以下のようにI’(x)をG(x)で割ると
I’(x)÷G(x)=Q(x) 余り P(x) (14)
となりQ(x)は商、P(x)は余りを示す多項式とすると、P(x)が検査符号多項式となり、その最高次数はm−1となる。
【0053】
通常、検査符号を求める際には、シフトレジスタと呼ばれる図8のような回路を使う。この回路は、1ビットのレジスタをm個もっており、おのおの結線(図8のd20、d21、d22、d23)は係数gが0の場合、繋がっていないことを意味している。例えばBCH(3860、3824)の場合は、式(13)より、36個の1ビットレジスタを持った図9のようになる。
【0054】
この図9の0番目のレジスタe12に「1」を入れ、他のレジスタに「0」を入れると、各レジスタの値は
0回シフト:000000000000000000000000000000000001 (15)
となる。この数列は、一番左が35番目のレジスタe11、一番右が0番目のレジスタe12の値を示している。この回路を1回シフトさせると、以下のようにレジスタの値が変化する。
1回シフト:000000000000000000000000000000000010 (16)
【0055】
このシフターを36回目までシフトさせると
36回シフト:000001001010110011000111100001000101 (17)
となる。このとき、q回シフトしたシフトレジスタのp番目のレジスタの値を以下のようにγq、pとして定義する。ここで、初期値(0回シフト時)のp番目のレジスタの値を
γ0、p=1 (p=0) (18)
γ0、p=0 (1≦p<m) (19)
とるす。また生成多項式G(x)とは
γm、p=g (0≦p<m) (20)
という関係を持っている。実際に、式(13)、(17)を比べると、
γ36、p=g (0≦p<36) (21)
となっている。
【0056】
この操作を更に続けると4094回目で
4094回シフト:100000100101011001100011110000100010 (22)
となる。ここで更にもう1回シフトされると
4095回シフト:000000000000000000000000000000000001 (23)
となり、4095回シフトで再び、0回シフトの値に戻る。
【0057】
このとき式(18)、(19)で定義したγq、pを用いてI’(x)÷G(x)を行うと、この多項式同士の除算は図10のようになる。なお、図10は係数のみの演算を示しており、
P(x)は以下のようになる。
P(x)=pm−1+pm−1m−1+ ‥ +px+p (24)
ここでpは各係数を示し、γq、pを使い以下のようになる。
m−1=iγm、m−1+iγm+1、m−1+‥+ik−2γn−2、m−1+ik−1γn−1、m−1
m−2=iγm、m−2+iγm+1、m−2+‥+ik−2γn−2、m−2+ik−1γn−1、m−2

=iγm、1+iγm+1、1+‥+ik−2γn−2、1+ik−1γn−1、1
=iγm、0+iγm+1、0+‥+ik−2γn−2、0+ik−1γn−1、0
(25)
【0058】
このとき、以下のことに注意する必要がある。値iはk−1番目から入ってくる。本実施の形態では検査符号を求める際に、前述した順番を逆にシフトするシフトレジスタが必要となる。例えば、生成多項式の高次の項から低次の項の方向にシフトする。この理由は、前述した新しい手法によるシンドローム演算器が従来のものと演算が逆になったことと同じである。逆にシフトするシフトレジスタは図11のように表すことができる。図11の結線f20、f21、f22、f23のγ−1、pは、値が一周して元にもどる1シフト前を示している。例えば、GF(7)ならγ−1、p=γ6、p、GF(15)ならγ−1、p=γ14、pとなり、GF(4095)の場合はγ−1、p=γ4094、pとなる。なおこの場合、勧告G.975.1の生成多項式に基づいて順番を逆にするシフトレジスタを作成すると図12のようになる。
【0059】
この順番を逆にするシフトレジスタを用いた検査符号の算出フローが図22のフローチャートである。ここでそれぞれの係数は、
P_DEC:検査符号ビットが確定するサイクル。
k:信号ビット数。
m:検査符号ビット数(n‐k)。
REG_Pa、b:レジスタ (0≦a<τ、0≦b<m)。
:1ビットの入力データ (0≦j<k)。
:検査符号ビット(出力値)(0≦b<m)。
他の値は、図18のフローチャートと同じである。
【0060】
図22のフローチャートでは、s508の演算は、前述したとおり通常と逆のシフトを行う。
【0061】
ここで、s509について述べる。s509は検査符号の値が確定するセグメントの位置P_DECとサイクル数が一致するかどうか確かめるもので、一般の場合、P_DECの値は、以下のように求められる。S_DECを定義したときのように最初に
ξ=k÷η (26)
となるξを定義する。このとき、kがηで割り切れた場合は、
P_DEC=ξ−MOD(ξp、τ) (27)
kがηで割り切れない場合は、
P_DEC=(ξ+1)−MOD((ξ+1)τ) (28)
となる。G.975.1 I3でのケースを上記式に当てはめるとP_DEC=232、つまり231セグメント目となる。
【0062】
前述の通り改良された符号回路は検査符号計算回路と検査符号追加回路に分かれる、図22のフローチャートを用いると、検査符号の計算には、τフレーム(正確にはτ−1フレーム+P_DEC)必要となる。このため、遅れたデータを入力する必要があり、遅延バッファが必要となる。本来はτ−1フレーム+P_DECの遅延であるが、回路構成を単純にするため、バッファではτフレーム分データを遅延させ、そのデータを検査符号追加回路の入力としている。
【0063】
検査符号を追加する方法は図23のフローチャートとなる。ここで入力値は、検査符号計算回路値(図22のフローチャートのP)をτフレームずらしたものである。ここでそれぞれの係数は、
k:信号ビット数。
m:検査符号ビット数(n‐k)。
REG_Pa、b:レジスタ(0≦a<τ、0≦b<m)。
:1ビットの入力データ (0≦j<n)。
i’:1ビットの出力データ (0≦j<n)。
:検査符号ビット。検査符号計算回路からの入力値(0≦b<m)。
他の値は、図18のフローチャートと同じである。
【0064】
k≦cycle<nのときのみ検査符号が信号に追加される。この処理は図23のフローチャートのs606、s607、s609に対応している。
【0065】
2.デバイスへの実装例
これまで、述べてきたアルゴリズムを実際にデバイスに実装した場合を考えてみる。今回は例として、BCH(3860、3824)符号のシンドローム演算回路について述べる。この場合、入出力は全て1ビットとしてしまうと、処理のために動作周波数をかなり高くする必要がある。そこで今回の例では、図13のように入出力を16ビットにして話しを進める。入出力を何ビットパラレルに設定するかは、適宜定めることができるが、今回の場合、1セグメントあたりのビット数ηが16ビットであり、このように設定することで、1クロックが1セグメントに対応することになる。このため、入出力を16ビットパラレルにするのは自然と考えられる。
【0066】
この具体例のフローチャートは図24に、回路構成図は図14にそれぞれ示している。これから、このフローチャートを回路構成図で補足しながら説明する。なお、この手法では、255サイクルに一回フレームの先頭が来ることを前提とする。
【0067】
まず、フローチャートでのアドレス制御s701は、フレームのトップの判定s704より先に行われている。このことは、アドレス制御が、これまでと違いフレームのトップの有無に依存しないことを示している。これは、以下の理由による。図15のようにダミー信号も含めて255サイクル分回路を動作させると、0セグメント目でのアドレスがフレーム毎のアドレス制御と同等に変化する。このため、アドレス制御s701、s702、s703は、フレームのトップを判定するs704の先に来ても問題なくなる。回路において、これらの制御はアドレス制御部g2で行われる。
【0068】
s704でフレームのトップを判定が行われ、もしフレームのトップであるならば、s705でサイクル値を0とする。このとき、s707にて初期値が選ばれる。今回の場合は、それぞれ、α3859、α3387、α2915となっており、これの値は、(α3859=αMOD(i×3859、4095)(i=1、3、5)から算出している。回路では、サイクル制御部内g0のサイクルカウンタによってサイクル値の初期化が行われ、係数演算部g1のセレクタg10、g11、g12によって初期値α3859、α3387、α2915の代入が行われる。また、s707では、シンドローム演算s715のための入力値の初期化も行う。回路では、主信号演算部g3内のセレクタg33による動作がこの初期化に対応している。
【0069】
フレームのトップでない場合はs706の処理を行い前セグメントで算出された値を演算に用いる。回路では係数演算部g1内部のレジスタg16の値が係数値の演算に使われ、主信号演算部g3内部のレジスタ群g37の内、セレクタg32で選ばれた値が演算に用いられることを示す。
【0070】
s708の処理は、3種類のガロア体乗算器をそれぞれ16回行っていることを示している。 回路では係数演算部g1内部のガロア体乗算器g13、g14、g15によってこれらの演算が行われる。ここでの掛け算の値は、α−i=α4095−iより、α−1=α4094、α−3=α4092、α−5=α4090なる。
【0071】
図3に示したようにデータは情報、検査符号、ダミーの3種類にわかれ、シンドローム値を算出する際にはそれぞれ別の演算手法を適用する必要がある。また、図13に示したように241セグメント目においては、16ビットのデータに検査符号部分、ダミー部分が混ざっている。s709〜s714はこれらを処理するものである。回路では主信号演算部g3内部のセレクタg30、g31とサイクル制御部g0から出力される制御信号sel_214a、sel_214bの制御によってこれらの処理が行われる。
【0072】
s715では式(2)のガロア体演算と、その結果をアドレス制御によって示されたレジスタへの格納が行われる。回路では、式(2)の演算は主信号演算部g3内部のセレクタ群g34、ガロア体加算器群g35での16回の処理によって行われる。また、演算結果はアドレス制御部g2から出力される制御信号en_0〜en_7がイネーブルになっているレジスタ群g37内のいれすかのレジスタに格納される。今回の手法では16番目のガロア体乗算の結果を次のセグメントでの係数演算に使う。このため、s715では16番目のガロア体乗算の結果を保持する処理も行われる。回路では係数演算部g1内部のレジスタ群g16が16番目のガロア体乗算の結果を格納している。
【0073】
今回の具体例では式(5)〜式(7)より、S_DEC=240であるため、s717に示すように239セグメント目でシンドローム値が確定することになる。回路ではサイクル制御部g0から出力される制御信号sel_239がイネーブルになったときレジスタg36に演算結果が入力されることを示している。
【0074】
図14で示したシンドローム演算回路を外側復号に実装する場合、図16に示すように共通部分である、サイクル制御部、アドレス制御部、係数演算部は共有化し、主信号演算部のみ増設する仕組みをとることができる。誤り訂正回路、検査符号算出回路、検査符号追加回路も同様の増設方法を取る。
【0075】
このようにして、改良した外側符号・復号回路を構成し、それらを使って連接符号を構成することができる。図17にこの構成を示す。改良された連接符号は、内側符号回路i12、内側復号回路i22、外側符号回路i11、外側復号回路i21を備える。内側符号回路i12、内側復号回路i22については、従来の連接符号と同じものを使用できる。
【0076】
外側符号回路i11は、検査符号算出回路i111と検査符号追加回路i113が遅延バッファi112で繋がれる構成になっている。検査符号算出回路i111と検査符号追加回路i113は、図16に示した増設法を用いてBCH(3860、3824)符号8つ分の処理を行わせている。遅延バッファi112では、検査符号算出回路i111で検査符号の算出が終わるまでのτフレーム(今回は8フレーム=261,120ビット)分のデータを溜めている。
【0077】
外側復号回路i21は、誤り位置演算回路i213と誤り訂正回路i211が遅延バッファi212で繋がれる構成になっている。誤り位置演算回路i213の内、シンドローム演算回路が今回の改良が適用されており、チェン探索回路の変更はない。ただし、誤り位置多項式演算回路のみ前述したようにシンドローム係数の添え字が偶数のもから添え字が奇数のものを算出するように変更する必要がある。改良したシンドローム演算回路も誤り訂正回路i211も図16に示した増設法を用いてBCH(3860、3824)符号8つ分の処理を行わせている。遅延バッファi212も遅延バッファi112と同様にτフレーム分のデータを溜めている。これは、改良したシンドローム演算回路における、シンドローム値の算出がτフレーム分の時間が掛るためである。
【0078】
図17の回路構成とこれまでの連接符号のメモリ量について述べる。メモリ量を比較すると表3のようになる。ここでループとは内側復号回路と外側復号回路の対を繰り返した何回繰り返したものか示すものであり、G.975.1 I3の例は3ループである。表には、誤り位置多項式演算回路とフォーニー検索演算回路の待ち時間分の遅延バッファに使用するメモリは入れていない(人によって実装法が異なるため)。但し、シンドローム演算分の遅延には仕様による違いはないので、今回の表に含めた。シンドローム演算回路は内側復号回路、外側復号回路の両方に存在し、それぞれ、1フレーム分(=32,640ビット)の遅延が必要であるため、32,640×(2×ループ数)ビットとしている。
【表3】

【0079】
表3からもわかる通り、本実施の形態によって大幅にメモリ量が削減していることがわかる。これに伴い、これまでON−CHIPメモリ及び、そのメモリ用診断回路の電力消費に伴う発熱も削減することになる。
【0080】
回路面積については、(1)ガロア体演算手法が通常とは異なっていること、(2)図5に示したように改良された回路にはレジスタが増えていることの2点の影響による増加が考えられる。しかし(1)に関しては図16に示した増設方法を行えばそれほど変化はないと考えている。(2)に関しては確かに増加はするが、メモリ、及び、メモリ用診断回路が大幅に削減することを考えると全体として回路面積は削減できている。
【0081】
G.975.1 I3を具体例として、本実施の形態の説明を行ってきたが、フローチャート図19〜図23を用いることで他の連接符号にも応用することができる。今回の例では、外側の符号・復号回路を改良しているが、これは、外側の符号のほうが、内側の符号より検査符号長が短いためである。従って、内側の回路に本実施の形態を適用してもよい。図5に示したように、改良された回路内のレジスタの個数は、従来の回路のτ倍になる。レジスタのビット数は検査符号長と同じであるため、検査符号長が短い符号に本実施の形態を適応するほうが有利になる。
【産業上の利用可能性】
【0082】
連接符号は、通信の分野に限らず、コンピュータ、オーディオ・ビデオ等に用いる。従来方法では連接符号で高い符号化利得を得るには、どうしてもメモリを増加させなくてはならず、その容量はON−CHIPとして扱うと非常に大きい。本発明は連接符号のメモリを大幅に削減するものである。このため本発明は、非常に符号・復号技術の向上に貢献するものと考えている。
また、本発明は、例えば、符号化・復号化を行うディジタル信号処理技術に適用できる。また、本発明は、例えば、光通信におけるエラー訂正用の符号・復号回路に適用できる。
【図面の簡単な説明】
【0083】
【図1】NGNにおける伝達網の階層構造と光トランスポートシステムの関係の説明図。
【図2】従来手法による連接符号の回路構成図(G.975.1 I3)。
【図3】OTNフレームと8つのBCH(3860、3824)符号のフォーマットの関係の説明図。
【図4】従来のシンドローム演算回路図。
【図5】改良されたシンドローム演算回路図。
【図6】各フレーム、及び、各セグメントとアドレスの関係の説明図。
【図7】BCH(3860、3824)の場合の各τによるシンドローム演算の終了位置の説明図。
【図8】検査符号を求めるためのシフトレジスタの構成図。
【図9】勧告G.975.1の生成多項式を用いたBCH(3860、3824)のシフトレジスタの構成図。
【図10】γq、pを用いたI’(x) ÷ G(x)演算とその結果の説明図。
【図11】逆にシフトするシフトレジスタの構成図。
【図12】勧告G.975.1の生成多項式を用いたBCH(3860、3824)の逆シフトレジスタの構成図。
【図13】16ビットパラレル版の改良シンドロームの入力条件の説明図。
【図14】改良されたBCH(3860、3824)の16ビットパラレル版シンドローム演算回路の構成図。
【図15】16ビットパラレル版回路のアドレス制御の説明図。
【図16】改良されたシンドローム演算回路の増設方法の説明図。
【図17】改良された外側符号・復号回路を用いた連接符号の構成図。
【図18】改良されたシンドローム演算のフローチャート。
【図19】フレーム先頭時でのアドレス制御(フレーム毎のアドレス制御)のフローチャート。
【図20】フレーム先頭時でない場合のアドレス制御(セグメント毎のアドレス制御)のフローチャート。
【図21】改良された誤り訂正法のフローチャート。
【図22】改良された検査符号の算出のフローチャート。
【図23】改良された検査符号の追加のフローチャート。
【図24】改良されたBCH(3860、3824)の16ビットパラレル版シンドローム演算のフローチャート。
【図25】符号回路と復号回路の構成図。
【符号の説明】
【0084】
a1 連接符号の符号回路
a2 連接符号の復号回路
a11 外側符号回路
a12、i12 内側符号回路
a21 外側復号回路
a22、i22 内側復号回路
a13、a24、a25 インターリーバー
a14、a23 デインターリーバー
a111 BCH(3860、3824)符号の符号回路
a121 BCH(2040、1930)符号の符号回路
a211 BCH(3860、3824)符号の復号回路
a221 BCH(2040、1930)符号の復号回路
b1 従来のシンドローム演算回路
b11 演算部
b12 レジスタ部
b111 α倍するガロア体乗算器
b112 ガロア体加算器
c1 改良したシンドローム演算回路
c11 演算部
c12 レジスタ群
c13 係数演算部
c14 アドレス制御部
c111 セレクタ
c112 ガロア体加算器
c121 レジスタ部
d1、d2、d3、f1、f2、f3 1ビットのレジスタ
d10、f20 ガロア体加算器(排他的論理和)
d20、d21、d22、d23、f20、f21、f22、f23 結線の有無
e11、e21 35番目の1ビットのレジスタ
e22、e22 1番目の1ビットのレジスタ
g0 サイクル制御部
g1 係数演算部
g2 アドレス制御部
g3、h2 主信号演算部
g10 α4094倍するガロア体乗算器への入力値を選択するセレクタ
g11 α4092倍するガロア体乗算器への入力値を選択するセレクタ
g12 α4090倍するガロア体乗算器への入力値を選択するセレクタ
g13、g14、g15 16個のガロア体乗算器群
g16 α4094倍の係数を格納するためのレジスタ
g30、g31、g32、g33、g34 セレクタ
g35 ガロア体加算器群
g36 確定したシンドローム値を格納するレジスタ
g37 演算結果を格納するレジスタ群
h1 共通部分回路(サイクル制御部、係数演算部、アドレス制御部)
i1 改良された連接符号の符号回路
i2 改良された連接符号の復号回路
i11 改良された連接符号の外側符号回路
i21 改良された連接符号の外側復号回路
i112、i212 遅延バッファ
i111 改良されたBCH(3860、3824)符号の検査符号算出回路
i113 改良されたBCH(3860、3824)符号の検査符号追加回路
i211 改良されたBCH(3860、3824)符号の誤り位置演算回路
i213 改良されたBCH(3860、3824)符号の誤り訂正回路
j1 符号回路
j2 伝送路(光ファイバ)
j3 復号回路
j31 誤り位置を算出する回路
j31 誤り訂正回路
j31 データバッファ
j311 シンドローム演算回路
j312 誤り位置多項式算出回路
j313 チェーン検索回路

【特許請求の範囲】
【請求項1】
符号回路又は復号回路に用いる連接符号の演算回路であって、
符号化又は復号化のための所定の演算を行う演算部と、
第1乃至第τ(τは2以上の整数)のレジスタと、
前記第1乃至第τのレジスタのうち、前記演算部の演算結果を書き込むレジスタのアドレスを指定するアドレス制御部と
を備え、
前記アドレス制御部は、
フレームの先頭セグメントに対する演算結果の書き込み先が、フレーム毎に前記第1乃至第τのレジスタに順次巡回して切り替わるように、第1のアドレスを変更するフレーム毎のアドレス制御と、
フレーム内の各セグメントに対する演算結果の書き込み先が、セグメント毎に、フレームの先頭セグメントに対する第1のアドレスが示すレジスタから、前記第τ乃至第1のレジスタに順次巡回して切り替わるように、第2のアドレスを変更するセグメント毎のアドレス制御と
を実行し、
第2のアドレスに従い、前記演算部での演算結果がセグメント毎に前記第1乃至第τのレジスタに書き込まれる前記連接符号の演算回路。
【請求項2】
前記アドレス制御部は、
前記フレーム毎のアドレス制御では、第1のアドレスを、前記第1のレジスタから前記第τのレジスタの順に、かつ、前記第τのレジスタの次は前記第1のレジスタになるように巡回して変更し、
前記セグメント毎のアドレス制御では、第2のアドレスを、第1アドレスが示す前記レジスタから前記第1のレジスタの順に、かつ、前記第1のレジスタの次は前記第τのレジスタになるように、かつ、前記第τのレジスタから前記第1のレジスタの順に巡回して変更する請求項1に記載の演算回路。
【請求項3】
前記演算回路は、復号回路におけるシンドローム演算回路であって、
前記演算部は、入力されるデータに対してシンドローム多項式の係数値を求めるための演算を行い、
予め定められたシンドローム多項式の係数値が確定するセグメントに対して前記演算部による演算及び前記アドレス制御部が指定する第2のアドレスが示す前記レジスタへの書き込み後、該レジスタに記憶された値をシンドローム多項式の係数値として出力する請求項1に記載の演算回路。
【請求項4】
前記演算部は、
第2のアドレスが示す前記レジスタからデータを読み出し、読みだされたデータTEMP_Sと、入力したデータyと、係数αとに基づき次式の演算をし、演算結果を第2のアドレスが示す前記レジスタに書き込む請求項3に記載の演算回路。
演算結果=TEMP_S+yn−1−cycle・(α2b+1n−1−cycle (0≦b<t)
ここで、n:情報ビット数と検査符号ビット数の和、y:1ビットの入力データ(0≦j<n)、cycle:サイクル数、b:シンドローム多項式の係数の識別情報、t:訂正可能な最大ビット数。
【請求項5】
予め定められた係数αの初期値から該係数の指数が減っていくようにガロア体乗算して、シンドローム係数値を求めるための係数αを求める係数演算部
をさらに備える請求項3に記載の演算回路。
【請求項6】
請求項3の演算回路において、
前記シンドローム多項式の係数値が確定するセグメントは、
情報ビット数と検査符号ビット数の和をn、1セグメントあたりのビット数をη、nをηで除算した商をξとすると、
nがηで割り切れる場合には、次式で求められ、
前記セグメント位置=ξ−MOD(ξs,τ)
nがηで割り切れない場合は、次式で求められる前記演算回路。
前記セグメント位置=(ξ+1)−MOD((ξ+1)τ)
ここで、MOD(ξs,τ)、MOD((ξ+1)τ)は、ξ、(ξ+1)をτでそれぞれ割った際の余剰。
【請求項7】
出力されるシンドローム多項式の係数値は、入力されるフレームをインターリーブ又はデインタリーブして並びかえられた新フレームに対するシンドローム多項式の係数値に相当する請求項3に記載の演算回路。
【請求項8】
前記演算回路は、復号回路おける誤り訂正回路であって、
前記演算部は、エラーの位置を入力して誤り訂正の処理を実行する請求項1に記載の演算回路。
【請求項9】
前記演算回路は、符号回路おける検査符号算出回路であって、
前記演算部は、入力されるデータに対して検査符号多項式の係数値を求めるための演算を行い、
予め定められた検査符号多項式の係数値が確定するセグメントに対して前記演算部による演算及び前記アドレス制御部が指定する第2のアドレスが示す前記レジスタへの書き込み後、該レジスタに記憶された値を検査符号多項式の係数値として出力する請求項1に記載の演算回路。
【請求項10】
前記演算部は、
第2のアドレスが示す前記レジスタからデータを読み出し、読みだされたデータTEMP_Pと、入力したデータiと、係数γとに基づき次式の演算をし、演算結果を第2のアドレスが示す前記レジスタに書き込む請求項9に記載の演算回路。
演算結果=TEMP_P+ik−1−cycle・γn−1−cycle、b (0≦b<m)
ここで、k:情報ビット数、n:情報ビット数と検査符号ビット数の和、i:1ビットの入力データ(0≦j<k)、cycle:サイクル数、b:検査符号多項式の係数の識別情報、m:検査符号ビット数。
【請求項11】
前記演算部は、
予め定められた生成多項式に基づいて逆にシフト、又は、高次から低次に向けてシフトするシフトレジスタを用いて検査符号を求めるための係数γを求める係数演算部
をさらに備える請求項9に記載の演算回路。
【請求項12】
請求項9の演算回路において、
前記検査符号多項式の係数値が確定するセグメントは、
情報ビット数をk、1セグメントあたりのビット数をη、kをηで除算した商をξとすると、
kがηで割り切れる場合には、次式で求められ、
前記セグメント位置=ξ−MOD(ξp,τ)
kがηで割り切れない場合は、次式で求められる前記演算回路。
前記セグメント位置=(ξ+1)−MOD((ξ+1)τ)
ここで、MOD(ξp,τ)、MOD((ξ+1)τ)は、ξ、(ξ+1)をτでそれぞれ割った際の余剰。
【請求項13】
出力される検査符号多項式の係数値は、入力されるフレームをインターリーブ又はデインタリーブして並びかえられた新フレームに対する検査符号多項式の係数値に相当する請求項9に記載の演算回路。
【請求項14】
前記演算回路は、符号回路おける検査符号算出回路であって、
前記演算部は、入力された検査符号の値を信号に追加する請求項1に記載の演算回路。
【請求項15】
前記演算回路は、複数ビットをパラレルで入力し、
パラレルで入力されるビット数は、セグメントあたりのビット数に対応する請求項1に記載の演算回路。
【請求項16】
符号回路又は復号回路に用いる連接符号の演算回路におけるレジスタのアドレス制御方法であって、
符号化又は復号化のための所定の演算を行い、
フレームの先頭セグメントに対する演算結果の書き込み先が、フレーム毎に第1乃至第τのレジスタに順次巡回して切り替わるように、第1のアドレスを変更するフレーム毎のアドレス制御を実行し、
フレーム内の各セグメントに対する演算結果の書き込み先が、セグメント毎に、フレームの先頭セグメントに対する第1のアドレスが示すレジスタから、第τ乃至第1のレジスタに順次巡回して切り替わるように、第2のアドレスを変更するセグメント毎のアドレス制御を実行し、
第2のアドレスに従い、演算結果がセグメント毎に第1乃至第τのレジスタに書き込まれる前記アドレス制御方法。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図1】
image rotate


【公開番号】特開2010−74210(P2010−74210A)
【公開日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願番号】特願2008−235964(P2008−235964)
【出願日】平成20年9月16日(2008.9.16)
【出願人】(000153465)株式会社日立コミュニケーションテクノロジー (770)
【Fターム(参考)】