JPH09298471A - 2元巡回符号符号化装置及び2元巡回符号符号化方法、並びに2元巡回符号復号化装置及び2元巡回符号復号化方法 - Google Patents

2元巡回符号符号化装置及び2元巡回符号符号化方法、並びに2元巡回符号復号化装置及び2元巡回符号復号化方法

Info

Publication number
JPH09298471A
JPH09298471A JP13766996A JP13766996A JPH09298471A JP H09298471 A JPH09298471 A JP H09298471A JP 13766996 A JP13766996 A JP 13766996A JP 13766996 A JP13766996 A JP 13766996A JP H09298471 A JPH09298471 A JP H09298471A
Authority
JP
Japan
Prior art keywords
matrix
bit
bits
input
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP13766996A
Other languages
English (en)
Inventor
Yoshito Maekawa
義人 前川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP13766996A priority Critical patent/JPH09298471A/ja
Publication of JPH09298471A publication Critical patent/JPH09298471A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【目的】 ソフトウェア処理に好適な2元巡回符号符号
化装置及び2元巡回符号符号化方法を提供する。また、
ソフトウェア処理に好適な2元巡回符号復号化装置及び
2元巡回符号復号化方式を提供する。 【構成】 符号化において、2のべき乗のビット単位に
分割された情報ビットに対して逐次行列演算を含む演算
処理を行う。さらに、行列の積演算をテーブル参照によ
り実行する。復号化において、2のべき乗のビット単位
に分割された受信ビットに対して逐次行列演算を含む演
算処理を行う。さらに、行列の積演算をテーブル参照に
より実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、誤りを訂正あるいは検
出するための符号化を行う2元巡回符号符号化装置及び
2元巡回符号符号化方法、並びに符号化したものの復号
化を行う2元巡回符号復号化装置及び2元巡回符号復号
化方法に関するものである。
【0002】
【従来の技術】代表的な巡回符号の1つとして、BCH
符号がある。ITU−T勧告H.261においては、生
成多項式が G(x)=(x9 +x4 +1)(x9 +x6 +x4 +x3 +1) =x18+x15+X12+x10+x8 +x7 +x6 +x3 +1) の2元(511,493)BCH誤り訂正符号を使用す
る。
【0003】最初に、符号化装置の従来例について述べ
ると、送信側におけるBCHの符号化は、以下のように
行われる。まず、送信すべき493ビットのビデオデー
タ(m492 ,m491 ,─,m1 ,m0 )を係数とする多
項式 M(x)=m492 492 +m491 491 +─+m1 x+
0 にx18を乗算(モジュロ2)し、その結果を生成多項式 G(x)=x18+x15+X12+x10+x8 +x7 +x6
+x3 +1 で除算(モジュロ2)して剰余を求める。すなわち、 x18M(x)=Q(x)G(x)+R(x) を満たす剰余多項式 R(x)=r1717+r1616+─+r1 x+r0 を求める。このとき、生成される送信ビデオフレームと
して、符号多項式 W(x)=x18M(x)+R(x) を作ればよい。符号多項式W(x)の係数を高次の項か
ら並べると、(m492 ,m491 ,─,m1 ,m0
17,r16,─,r1 ,r0 )となり、左端に493ビ
ットの情報ビットがそのまま現れる。更に、x18
(x)をG(x)で除算(モジュロ2)した剰余多項式
R(x)の係数(r17,r16,─,r1 ,r0 )がパリ
ティ検査ビットとなる。すなわち、511ビットで表さ
れる送信ビデオフレーム(m492 ,m491 ,─,m1
0 ,r17,r16,─,r1 ,r0 )は、493ビット
の情報ビット(m492 ,m491 ,─,m1 ,m0 )に、
剰余多項式R(x)の係数により得られる18ビットの
パリティ検査ビット(r17,r16,─,r1 ,r0 )を
付加したものとなる。
【0004】以上の手順により得られる2元(511,
493)BCH符号の符号化回路は、図19に示すよう
に複数のレジスタ1000〜1017と加算器(排他論
理和)からなるシフトレジスタ回路により構成される。
【0005】まず、BCH符号化回路の各レジスタを予
め0に初期化し、続いて493ビットの情報ビットとし
て、送信すべきビデオデータの各ビットを順次入力して
いく。493ビットの情報ビットを入力する間スイッチ
1021を下に倒し、スイッチ1022を閉じて、情報
ビットをそのまま出力するとともに、シフトレジスタに
入力する。情報ビットを入力し終わったときには、シフ
トレジスタには18ビットの剰余多項式の係数が与えら
れているので、スイッチ1021を上に倒し、スイッチ
1022を開いて、各レジスタの内容をそのまま出力す
る。
【0006】一方、ITU−T勧告H.221で使用さ
れるCRC4(Cyclic RedundancyChecking:巡回冗長
検査)は、生成多項式が G(x)=x4 +x+1 の2元巡回誤り検査符号である。この場合の符号化は、
パリティ検査ビットに相当する4ビットの送信CRC4
ビットを情報ビットの後ろに付加するのではなく、前の
ブロックの情報ビットから計算したCRC4ビットを次
のブロックの情報ビットに挿入するという点で通常の符
号化とは多少異なる。
【0007】ITU−T勧告H.221によれば、CR
C4の符号化は以下の手順で行われる。 (1)それぞれの送信サブマルチフレーム単位の多重化
データの奇数フレームにおける送信CRC4ビットの位
置は、0に初期化する。 (2)それぞれの送信サブマルチフレーム単位の多重化
データに対して、送信CRC4ビットを計算するため
に、後述に示す乗除演算を行う。 (3)乗除演算によって得られた結果である剰余を一時
的に保管し、次の多重化データの奇数フレームにおける
送信CRC4ビットの位置に挿入する。このCRC4
は、次の多重化データの奇数フレームにおける送信CR
C4ビットの位置に挿入して送信するが、次の多重化デ
ータに対する乗除演算を行う際には、(1)に示すよう
に送信CRC4ビットを0に初期化するため、次の多重
化データに対する乗除演算に影響を及ぼさない。
【0008】送信側における送信CRC4ビットの計算
は、以下のように行われる。送信すべき送信マルチフレ
ーム単位の多重化データを(mn-1 ,mn-2 ,─,
1 ,m0 )とする。nビットで構成される送信サブマ
ルチフレーム単位の多重化データの中には、4ビットの
送信CRC4ビット(C1,C2,C3,C4)を含
む。ISDNのBチャンネル64kbpsの場合は、n
=1280である。
【0009】まず、送信CRC4ビット(C1,C2,
C3,C4)の位置を0に初期化し、送信すべきnビッ
トの多重化データ(mn-1 ,mn-2 ,─,m1 ,m0
を係数とする多項式 M(x)=mn-1 n-1 +mn-2 n-2 +─+m1 x+
0 にx4 を乗算(モジュロ2)し、その結果を生成多項式 G(x)=x4 +x+1 で除算(モジュロ2)して剰余を求める。すなわち、 x4 M(x)=Q(x)G(x)+R(x) を満たす剰余多項式 R(x)=r3 3 +r2 2 +r1 x+r0 を求める。
【0009】このとき、剰余多項式R(x)の係数であ
る(r3 ,r2 ,r1 ,r0 )は、それぞれ送信CRC
4ビット(C1,C2,C3,C4)に対応するもので
あり、次の多重化データの送信CRC4ビットの位置に
挿入される。
【0010】以上の手順により得られる送信CRC4ビ
ットの演算回路は、図20に示すように複数のレジスタ
1100〜1103と加算器(排他論理和)からなるシ
フトレジスタ回路により構成される。
【0011】まず、CRC4演算回路の各レジスタを予
め0に初期化し、続いてnビットの情報ビットとして、
送信CRC4ビットの位置を0に初期化した多重化デー
タの各ビットをシフトレジスタに順次入力していく。情
報ビットを入力し終わったときには、シフトレジスタに
は4ビットの剰余多項式の係数が与えられているので、
これらの値を記憶しておき、次のブロックの送信CRC
4ビットの位置に挿入する。
【0012】さらに、ITU−T勧告X.25/X.7
5(LAPB),Q.921(LAPD),Q.922
(LAPF)等で使用されるFCS(Frame Check Sequ
ence:フレーム検査シーケンス)は、生成多項式が G(x)=x16+x12+x5 +1 の2元巡回誤り検出符号(CRC)を応用したものであ
る。
【0013】ITU−T勧告Q.921によれば、FC
Sは、以下の(1)項と(2)項の剰余を加算(モジュ
ロ2)して1の補数をとったものである。 (1)xk (x15+x14+─+x+1)を生成多項式x
16+x12+x5 +1で除算(モジュロ2)した剰余であ
る。ここでkは、開始フラグの最後のビットとFCSの
最初のビットにはさまれたビット数であり、透過性のた
めに挿入したビットは除く。 (2)開始フラグの最後のビットとFCSの最初のビッ
トにはさまれたビットから、透過性のために挿入したビ
ットを除いたフレーム内容にx16を乗算した後、生成多
項式x16+x12+x5 +1で除算(モジュロ2)した剰
余である。
【0014】送信側における送信FCSの計算は、以下
のように行われる。まず、開始フラグの最後のビットと
FCSの最初のビットにはさまれたFCSを含まない送
信HDLCデータの多項式表現を M(x)=mk-1 k-1 +mk-2 k-2 +─+m1 x+
0 係数がすべて1の15次多項式を B(x)=x15+x14+─+x+1 とし、生成多項式を G(x)=x16+x12+x5 +1 とすると、上記(1)項と(2)項の剰余を加算(モジ
ュロ2)したものは、 xk B(x)+x16M(x)=Q(x)G(x)+R
(x) を満たす剰余多項式 R(x)=r1515+r1414+─+r1 x+r0 を求めればよい。
【0015】このとき、送信HDLCフレームの最後に
付加される16ビットのFCSの多項式表現F(x)
は、剰余多項式R(x)から、 F(x)=f1515+f1414+─+f1 x+f0 =R(x)+B(x) を計算することにより求めることができる。
【0016】以上の手順により得られる送信FCSの演
算回路は、図21に示すように複数のレジスタ1200
〜1215と加算器(排他論理和)からなるシフトレジ
スタ回路により構成される。
【0017】まず、FCS演算回路の各レジスタを予め
1に初期化し、続いてkビットの情報ビットとして、送
信すべきアドレスフィールド、制御フィールド、情報フ
ィールドのHDLCデータの各ビットを最下位ビットか
ら順次入力していく。kビットの情報ビットを入力する
間スイッチ1221を下に倒し、スイッチ1222を閉
じて、情報ビットをそのまま出力するとともに、シフト
レジスタに入力する。情報ビットを入力し終わったとき
には、シフトレジスタには16ビットの剰余多項式の係
数が与えられているので、スイッチ1221を上に倒
し、スイッチ1222を開いて、各レジスタの内容に1
の補数をとった各ビットをFCSとして出力する。
【0018】以上説明したように、従来の2元巡回符号
符号化装置は、多項式の剰余演算回路に基づくシフトレ
ジスタ回路を含むハードウェアにより構成されていた。
【0019】次に、復号化装置の従来例について述べる
と、受信側におけるBCH符号の復号化は、以下のよう
に行われる。まず、受信した511ビットのビデオフレ
ーム(y510,509, ... , 1,0)を係数とする多項
式 Y(x)=y510510+y509 509+ ... + y1 x+
yo にx18を乗算(モジュロ2)し、その結果を生成多項式 G(x)=x18+ x15+ x12+ x10+ x8+x7+x6+x3+
1 で除算(モジュロ2)して剰余を求める。すなわち、 x18Y(x)=Q’(x)G(x)+S(x) を満たす剰余多項式 S(x)=s1717+ s1616+ ... + s1 x+ s0 を求める。剰余多項式S(x)は、2元(511、49
3)BCH誤り訂正符号のシンドロームと呼ばれ、ビデ
オフレームに誤りがなかったかどうかの判断材料とな
る。例えば、ビデオフレームが誤りなく受信されたとす
ると、ビデオフレームの多項式表現Y(x)は、 Y(x)=x18M(x)+R(x) =Q(x)G(x) と表すことができるので、 x18Y(x)=x18Q(x)G(x) となり、x18Y(x)を生成多項式G(x)で除算(モ
ジュロ2)した剰余多項式S(x)は、0になることが
わかる。従って、ビデオフレームに対する剰余多項式S
(x)の係数がすべて0ならば、ビデオフレームに誤り
がないと判断することができ、それ以外は、ビデオフレ
ームに誤りがあると判断することができる。
【0020】以上の手順により得られる2元(511,
493)BCH符号の復号化回路は、図22に示すよう
に複数のレジスタ1050〜1067と加算器(排他論
理和)からなるシフトレジスタ回路により構成される。
【0021】まず、BCH復号化回路の各レジスタを予
め0に初期化し、続いて511ビットの受信ビットとし
て、受信したビデオフレームの各ビットを順次入力して
いく。511ビットの受信ビットを入力する間スイッチ
1071を下に倒し、スイッチ1072を閉じて、受信
ビットをそのまま出力するとともに、シフトレジスタに
入力する。受信ビットを入力し終わったときには、シフ
トレジスタには18ビットの剰余多項式の係数が与えら
れているので、各レジスタの値がすべて0となっている
ことを確認すればよい。
【0022】一方、ITU−T勧告H.221で使用さ
れるCRC4(Cyclic RedundancyChecking: 巡回冗長
検査)は、生成多項式が G(x)=x4 +x+1 の2元巡回誤り検出符号である。この場合の復号化は、
パリティ検査ビットに相当する4ビットの受信CRC4
ビットが受信ビットの後ろに付加されているのではな
く、前のブロックの受信ビットから計算したCRC4ビ
ットが次のブロックの受信ビットに挿入されているとい
う点で通常の復号化とは多少異なる。
【0023】ITU−T勧告H.221によれば、CR
C4の復号化は以下の手順で行われる。 (1)それぞれの受信サブマルチフレーム単位の多重化
フレームの奇数フレームにおける受信CRC4ビットを
抽出し、その位置を0に初期化する。 (2)それぞれの受信サブマルチフレーム単位の多重化
フレームに対して、受信CRC4ビットを計算するため
に、後述に示す乗除演算を行う。 (3)乗除演算によって得られた結果である剰余を一時
的に保管し、次の多重化フレームの奇数フレームから抽
出した受信CRC4ビットとビット単位で比較する。 (4)もし受信側で計算された剰余と、送信側から受信
された受信CRC4ビットがすべてのビットで一致した
ならば、検査した多重化フレームに誤りがないものと判
断できる。それ以外の場合は、検査した多重化フレーム
に誤りがあるものと判断できる。
【0024】受信側における受信CRC4ビットの計算
は、以下のように行われる。受信した受信サブマルチフ
レーム単位の多重化フレームを(yn-1 n-2, ...1,
0 )とする。nビットで構成される受信サブマルチフ
レーム単位の多重化フレームの中には、4ビットの受信
CRC4ビット(C1,C2,C3,C4)を含む。I
SDNのBチャネル64kbpsの場合は、n=128
0である。
【0025】まず、受信CRC4ビット(C1,C2,
C3,C4)を抽出し、そのビット位置を0に初期化
し、受信したnビットの多重化フレーム(yn-1 n-2,
... 1,0 )を係数とする多項式 Y(x)=yn-1 n-1+yn-2 n-2+ ... +y1 x+ y
o にx4 を乗算(モジュロ2)し、その結果を生成多項式 G(x)=x4 +x+1 で除算し(モジュロ2)して剰余を求める。すなわち、 x4 Y(x)=Q’(x)G(x)+S(x) を満たす剰余多項式 S(x)=s3 3+s2 2+s1 x+ s0 を求める。
【0026】このとき、剰余多項式S(x)の係数であ
る(s3,2,1,0 )は、それぞれ受信CRC4ビッ
ト(C1,C2,C3,C4)に対応するものであり、
次の多重化フレームから抽出した受信CRC4ビットと
比較する。
【0027】以上の手順により得られる受信CRC4ビ
ットの演算回路は、図23に示すように複数のレジスタ
1150〜1153と加算器(排他論理和)からなるシ
フトレジスタ回路により構成される。
【0028】まず、CRC4演算回路の各レジスタを予
め0に初期化し、続いてnビットの受信ビットとして、
受信CRC4ビットの位置を0に初期化した多重化フレ
ームの各ビットをシフトレジスタに順次入力していく。
受信ビットを入力し終わったときには、シフトレジスタ
には4ビットの剰余多項式の係数が与えられているの
で、これらの値を記憶しておき、次のブロックの受信C
RC4ビットと比較する。
【0029】さらに、ITU−T勧告X.25/X.7
5(LAPB),Q.921(LAPD),Q.922
(LAPF)等で使用されるFCS(Frame Check Sequ
ence: フレーム検査シーケンス)は、生成多項式が G(x)=x16+x12+x5 +1 の2元巡回誤り検出符号(CRC)を応用したものであ
る。
【0030】受信側における受信FCSの計算は、以下
のように行われる。まず、以下の(1)項と(2)項の
剰余を加算(モジュロ2)したものを求める。 (1)xn (x15+x14... +x+1)を生成多項式
16+x12+x5 +1で除算(モジュロ2)した剰余で
ある。ここでnは、開始フラグの最後のビットと終了フ
ラグの最初のビットにはさまれたビット数k+16であ
り、透過性のために挿入したビットは除く。 (2)開始フラグの最後のビットと終了フラグの最初の
ビットにはさまれたビットから、透過性のために挿入し
たビットを除いたフレーム内容にx16を乗算した後、生
成多項式x16+x12+x5 +1で除算(モジュロ2)し
た剰余である。
【0031】開始フラグの最後のビットと終了フラグの
最初のビットにはさまれたFCSを含む受信HDLCフ
レームの多項式表現を Y(x)=yn-1 n-1+yn-2 n-2+ ... +y1 x+ y
o 係数がすべて1の15次多項式を B(x)=x15+x14... +x+1 とし、生成多項式を G(x)=x16+x12+x5 +1 とすると、上記(1)項と(2)項の剰余を加算(モジ
ュロ2)したものは、 xn B(x)+x16Y(x)=Q’(x)G(x)+S
(x) を満たす剰余多項式 S(x)=s1515+ s1414+ ... +s1 x+ s0 を求めればよい。
【0032】HDLCフレームが誤りなく受信されたと
すると、HDLCフレームの多項式表現Y(x)は、 Y(x)=x16M(x)+F(x) =Q(x)G(x)+(xk +1)B(x) と表すことができるので、 xn B(x)+x16Y(x)=xn B(x)+x16(Q
(x)G(x)+(xk +1)B(x)) =x16Q(x)G(x)+x16B(x) となり、剰余多項式S(x)は、x16B(x)を生成多
項式G(x)で除算(モジュロ2)した剰余になること
がわかる。この剰余多項式S(x)を実際に計算してみ
ると、ベクトル表現で(0,0,0,1,1,1,0,
1,0,0,0,0,1,1,1,1)となることがわ
かる。
【0033】従って、HDLCフレームに対する上記演
算結果がこの値と一致したならば、FCSエラーは発生
しなかったと判断することができ、この値と一致しなけ
れば、FCSエラーが発生したと判断することができ
る。
【0034】以上の手順により得られる受信FCSの演
算回路は、図24に示すように複数のレジスタ1250
〜1265と加算器(排他論理和)からなるシフトレジ
スタ回路により構成される。
【0035】まず、FCS演算回路の各レジスタを予め
1に初期化し、続いてnビットの受信ビットとして、受
信したアドレスフィールド、制御フィールド、情報フィ
ールド、FCSフィールドのHDLCフレームの各ビッ
トを最下位ビットから順次入力していく。nビットの受
信ビットを入力する間スイッチ1271を下に倒し、ス
イッチ1272を閉じて、受信ビットをそのまま出力す
るとともに、シフトレジスタに入力する。受信ビットを
入力し終わったときには、シフトレジスタには16ビッ
トの剰余多項式の係数が与えられているので、各レジス
タの値が(0,0,0,1,1,1,0,1,0,0,
0,0,1,1,1,1)となっていることを確認すれ
ばよい。
【0036】以上説明したように、従来の2元巡回符号
復号化装置は、多項式の剰余演算回路に基づくシフトレ
ジスタ回路を含むハードウェアにより構成されていた。
【0037】
【発明が解決しようとする課題】しかしながら、上記従
来の2元巡回符号符号化装置をソフトウェアで実現しよ
うとした場合、上記シフトレジスタ回路の動作をソフト
ウェアでシミュレーションする必要があるが、これらの
動作はビット単位で演算を行うことを基本としているた
め、ソフトウェアにより高速に処理することができない
という欠点があった。
【0038】したがって、本発明の第1の目的は、ソフ
トウェア処理に好適な2元巡回符号符号化装置及び2元
巡回符号符号化方法を提供することにある。
【0039】また、上記従来の2元巡回符号復号化装置
をソフトウェアで実現しようとした場合、上記シフトレ
ジスタ回路の動作をソフトウェアでシミュレーションす
る必要があるが、これらの動作はビット単位で演算を行
うことを基本としているため、ソフトウェアにより高速
に処理することができないという欠点があった。
【0040】したがって、本発明の第2の目的は、ソフ
トウェア処理に好適な2元巡回符号復号化装置及び2元
巡回符号復号化方式を提供することにある。
【0041】
【課題を解決するための手段】上記第1の目的を達成す
るために、本発明は、第1に、誤りを訂正あるいは検出
するための符号化を行う2元巡回符号符号化装置におい
て、符号化する情報ビットを2のべき乗のビット単位に
分割して、2のべき乗のビット単位の情報ベクトルとし
て情報ビットを入力するための情報ビット入力手段と、
前記情報ビット入力手段により入力された2のべき乗の
ビット単位の情報ベクトルに対応する2のべき乗ビット
のデータに対して、2元巡回符号の生成行列の一部ある
いはパリティ検査行列の転置行列の一部より一意に得ら
れる部分行列との行列演算を逐次実行するための行列演
算手段とを設けて、2のべき乗のビット単位に分割され
た情報ベクトルに対して逐次行列演算を行うようにした
ものである。
【0042】本発明は、第2に、前述の2元巡回符号符
号化装置の構成に加えて、前記情報ビット入力手段が8
ビットあるいは16ビットあるいは32ビットの情報ベ
クトルとして情報ビットを入力するようにしたものであ
る。
【0043】本発明は、第3に、前述の2元巡回符号符
号化装置の構成に加えて、前記行列演算手段により実行
され、前記2のべき乗ビットのデータに対応する行列の
積演算結果を予めテーブルとして記憶するための記憶手
段をさらに設けて、前記行列演算手段により実行される
行列演算が前記記憶手段により記憶されたテーブルを参
照することにより実行される行列の積演算を含むように
構成し、行列の積演算をテーブル参照により実行するよ
うにしたものである。
【0044】本発明は、第4に、誤りを訂正あるいは検
出するための符号化を行う2元巡回符号符号化方法にお
いて、符号化する情報ビットを2のべき乗のビット単位
に分割して、2のべき乗のビット単位の情報ベクトルと
して情報ビットを入力するための情報ビット入力ステッ
プと、前記情報ビット入力ステップにより入力された2
のべき乗のビット単位の情報ベクトルに対応する2のべ
き乗ビットのデータに対して、2元巡回符号の生成行列
の一部あるいはパリティ検査行列の転置行列の一部より
一意に得られる部分行列との行列演算を逐次実行するた
めの行列演算ステップとを設けて、2のべき乗のビット
単位に分割された情報ベクトルに対して逐次行列演算を
行うようにしたものである。
【0045】本発明は、第5に、前述の2元巡回符号符
号化方法の工程に加えて、前記情報ビット入力ステップ
が8ビットあるいは16ビットあるいは32ビットの情
報ベクトルとして情報ビットを入力するするようにした
ものである。
【0046】本発明は、第6に、前述の2元巡回符号符
号化方法の工程に加えて、前記行列演算ステップにより
実行され、前記2のべき乗ビットのデータに対応する行
列の積演算の演算結果を予めテーブルとして記憶するた
めの記憶ステップをさらに設けて、前記行列演算ステッ
プにより実行される行列演算が前記記憶ステップにより
記憶されたテーブルを参照することにより実行される行
列の積演算を含むように構成し、行列の積演算をテーブ
ル参照により実行するようにしたものである。
【0047】また、上記第2の目的を達成するために、
本発明は、第1に、誤りを訂正あるいは検出するための
復号化を行う2元巡回符号復号化装置において、復号化
する受信ビットを2のべき乗のビット単位に分割して、
2のべき乗のビット単位の受信ベクトルとして受信ビッ
トを入力するための受信ビット入力手段と、前記受信ビ
ット入力手段により入力された2のべき乗のビット単位
の受信ベクトルに対応する2のべき乗ビットのデータに
対して、2元巡回符号の生成行列の一部あるいはパリテ
ィ検査行列の転置行列の一部より一意に得られる部分行
列との行列演算を逐次実行するための行列演算手段とを
設けて、2のべき乗のビット単位に分割された受信ベク
トルに対して逐次行列演算を行うようにしたものであ
る。
【0048】本発明は、第2に、前述の2元巡回符号復
号化装置の構成に加えて、前記受信ビット入力手段が8
ビットあるいは16ビットあるいは32ビットの受信ベ
クトルとして受信ビットを入力するようにしたものであ
る。
【0049】本発明は、第3に、前述の2元巡回符号復
号化装置の構成に加えて、前記行列演算手段により実行
され、前記2のべき乗ビットのデータに対応する行列の
積演算の演算結果を予めテーブルとして記憶するための
記憶手段をさらに設けて、前記行列演算手段により実行
される行列演算が前記記憶手段により記憶されたテーブ
ルを参照することにより実行される行列の積演算を含む
ように構成し、行列の積演算をテーブル参照により実行
するようにしたものである。
【0050】本発明は、第4に、誤りを訂正あるいは検
出するための復号化を行う2元巡回符号復号化方法にお
いて、復号化する受信ビットを2のべき乗のビット単位
に分割して、2のべき乗のビット単位の受信ベクトルと
して受信ビットを入力するための受信ビット入力ステッ
プと、前記受信ビット入力ステップにより入力された2
のべき乗のビット単位の受信ベクトルに対応する2のべ
き乗ビットのデータに対して、2元巡回符号の生成行列
の一部あるいはパリティ検査行列の転置行列の一部より
一意に得られる部分行列との行列演算を逐次実行するた
めの行列演算ステップとを設けて、2のべき乗のビット
単位に分割された受信ベクトルに対して逐次行列演算を
行うようにしたものである。
【0051】本発明は、第5に、前述の2元巡回符号復
号化方法の工程に加えて、前記受信ビット入力ステップ
が8ビットあるいは16ビットあるいは32ビットの受
信ベクトルとして受信ビットを入力するようにしたもの
である。
【0052】本発明は、第6に、前述の2元巡回符号復
号化方法の工程に加えて、前記行列演算ステップにより
実行され、前記2のべき乗ビットのデータに対応する行
列の積演算の演算結果を予めテーブルとして記憶するた
めの記憶ステップをさらに設けて、前記行列演算ステッ
プにより実行される行列演算が前記記憶ステップにより
記憶されたテーブルを参照することにより実行される行
列の積演算を含むように構成し、行列の積演算をテーブ
ル参照により実行するようにしたものである。
【0053】
【実施例】次に、本発明の実施例を説明する。なお、以
下に説明する実施例1〜3は2元巡回符号符号化装置お
よび方法に関するものであり、実施例4〜6は2元巡回
符号復号化装置および方法に関するものである。
【0054】(実施例1)ここでは、ITU−T勧告
H.261において規定される2元(511,493)
BCH誤り訂正符号を使用したBCH符号化装置につい
て考える。図19において、時間tにおける各レジスタ
の値を18次元ベクトル(r17(t),r16(t),
─,r1 (t),r0 (t))で表すものとし、時間t
において入力される送信ビットをm493-t とすると、時
間tにおける各レジスタの値は、時間t=0における各
レジスタの初期値r17(0)=r16(0)=─=r
1 (0)=r0 (0)=0に対して、以下の数式1の漸
近式をt=1,2,─,493で繰り返し計算すればよ
い。
【数式1】
【0055】ここで、時間t=8,16,─,480,
488において連続する8ビットの送信ブロック(m
500-t ,m499-t ,─,m494-t ,m493-t )の入力が
あった場合、時間tにおける各レジスタの値は、時間t
−8における各レジスタの値と入力データとの間に、以
下の数式2の関係を満たすことがわかる。
【数式2】
【0056】ここで上記8×18行列は、2元(51
1,493)BCH誤り訂正符号の生成行列の一部ある
いはパリティ検査行列の転置行列の一部より得られる部
分行列である。従って、まず各レジスタの初期値r
i (0)(i=17,16,─,1,0)を0に初期化
して、493ビットのビデオデータを8ビット単位の送
信ブロックに分割して入力する。
【0057】連続する8ビットの送信ブロックを入力す
る毎に、現在のレジスタの値の上位8ビットと連続する
8ビットの送信ブロックとを加算(排他論理和)した8
ビットベクトルと上記8×18行列との積を計算し、さ
らに現在のレジスタの値の下位10ビットを8ビット左
シフトした18ビットベクトルを加算(排他論理和)す
ることによって、新しいレジスタの値が得られる。送信
フレームの最後に付加される18ビットのパリティ検査
ビットは、493ビットのすべてのビデオデータ入力し
たとき、すなわち時間t=493において最終的に得ら
れたレジスタの値(r17(493),r16(493),
─,r1 (493),r0 (493))となる。
【0058】上記BCH符号化演算には、高速化が要求
されるため、連続する8ビットの送信ブロックを入力す
る毎に上記のベクトル・行列演算を行うのではなく、予
めベクトルと行列との積の演算結果をBCH演算テーブ
ルとして用意しておき、ベクトルと行列との積を計算す
る場合は、BCH演算テーブルを参照して計算結果を得
るようにすべきである。
【0059】以上のようなBCH符号化演算を実際に実
施した場合のBCH符号化部のブロック図を図1に示
す。図1において、100は、本発明の一実施例である
BCH符号化部、101は、8ビット単位でビデオデー
タを入力するためのビデオデータ入力部、102は、前
述の行列演算を行うための行列演算部、103は、BC
H演算テーブルを格納するためのメモリ、104は、ビ
デオデータにパリティ検査ビットを挿入するためのパリ
ティ挿入部、110は、ITU−T勧告H.261に従
ったビデオデータに圧縮を行い、BCH符号化部100
に対して圧縮されたビデオデータを出力するH.261
符号化部、120は、BCH符号化部100より出力さ
れたビデオフレームに対して、ITU−T勧告H.22
1のフレーム構成に従った多重化を行い、回線に対して
多重化フレームを送信する回線インタフェース部であ
る。
【0060】図2は、BCH符号化部におけるBCH符
号化演算のフローチャートである。ステップS201に
おいて、行列演算部102により、図19における各レ
ジスタ値に相当する18ビットのレジスタ値をすべて0
に初期化する。ステップS202において、ビデオデー
タ入力部101により、H.261符号化部110より
入力される8ビットのビデオデータを受信したと判断し
たならば、ステップS203に進み、ビデオデータ入力
部101により、入力された8ビットのビデオデータを
そのまま行列演算部102及びパリティ挿入部104に
出力する。
【0061】ステップS204において、行列演算部1
02により、現在のレジスタ値の上位8ビットと入力さ
れた8ビットのビデオデータを加算(排他論理和)す
る。ステップS205において、行列演算部102によ
り、ステップS204で得られた8ビットベクトルと前
述の8×18行列との乗算結果をメモリ103に格納さ
れたBCH演算テーブルを参照することによって求め
る。BCH演算テーブルは、例えば図3のように256
個の8ビットベクトルに対する演算結果により構成され
ている。
【0062】ステップS206において、行列演算部1
02により、ステップS205で得られた18ビットベ
クトルと現在のレジスタ値の下位10ビットを8ビット
左シフトした18ビットベクトルを加算(排他論理和)
する。さらに、ステップS207において、行列演算部
102により、ステップS206で得られた18ビット
ベクトルの値に現在のレジスタ値を更新する。
【0063】以上の処理は、ステップS208におい
て、行列演算部102により、493ビットのすべての
ビデオデータの入力が終了したと判断するまで繰り返し
行われ、ビデオデータの入力が終了した場合、ステップ
S209に進み、行列演算部102により、最終的に得
られた18ビットのレジスタ値をパリティ検査ビットと
してパリティ挿入部104に出力する。
【0064】ステップS210において、パリティ挿入
部104により、ビデオデータのパリティ検査ビットの
位置に、行列演算部102により与えられたパリティ検
査ビットを挿入し、回路インタフェース部120に対し
て出力する。493ビットのビデオデータを8ビット単
位で入力すると、最後の入力ビデオデータが5ビットと
となり、8ビットに満たなくなるが、この場合は、最後
の入力ビデオデータの上位3ビットを0として右詰めで
5ビットのデータが入力されるように、ビデオデータ入
力部101により調整される。
【0065】(実施例2)ここでは、ITU−T勧告
H.221において規定される2元巡回誤り検出符号を
使用したCRC4符号化装置について考える。図20に
おいて、時間tにおける各レジスタの値を4次元ベクト
ル(r3 (t),r2 (t),r1 (t),r
0 (t))で表すものとし、時間tにおいて入力される
送信ビットをmn-t とすると、時間tにおける各レジス
タの値は、時間t=0における各レジスタの初期値r3
(0)=r2 (0)=r1 (0)=r0 (0)=0に対
して、以下の数式3の漸近式をt=1,2,─,nで繰
り返し計算すればよい。
【数式3】
【0066】ここで、時間t=8,16,─,n−8,
nにおいて連続する8ビットの送信ブロック
(mn-t+7 ,mn-t+6 ,─,mn-t+1 , n-t )の入力
があった場合、時間tにおける各レジスタの値は、時間
t−8における各レジスタの値と入力データとの間に以
下の数式4の関係を満たすことがわかる。
【数式4】
【0067】ここで上記8×4行列は、CRC4の生成
行列の一部あるいはパリティ検査行列の転置行列の一部
より得られる部分行列である。従って、まず各レジスタ
の初期値ri (0)(i=3,2,1,0)を0に初期
化して、送信CRC4ビット(C1,C2,C3,C
4)の位置を0に初期化したnビットの多重化データを
8ビット単位の送信ブロックに分割して入力する。
【0068】n=1280となるISDNのBチャンネ
ル64kbpsの場合においては、連続する8ビットの
送信ブロックを入力する毎に、現在のレジスタの値を4
ビット左シフトした8ビットベクトルと連続する8ビッ
トの送信ブロックとを加算(排他論理和)した8ビット
ベクトルと上記8×4行列との積を計算することによっ
て、新しいレジスタの値が得られる。
【0069】送信サブマルチフレーム単位のすべての多
重化データを入力したとき、すなわち時間t=nにおい
て最終的に得られたレジスタの値(r3 (n),r
2 (n),r1 (n),r0 (n))がそのまま送信C
RC4ビット(C1,C2,C3,C4)となり、次の
送信サブマルチフレームにおける送信CRC4ビットの
位置に挿入されて送信される。上記CRC4符号化演算
には、高速化が要求されるため、連続する8ビットの送
信ブロックを入力する毎に上記のベクトル・行列演算を
行うのではなく、予めベクトルと行列との積の演算結果
をCRC4演算テーブルとして用意しておき、ベクトル
と行列との積を計算する場合は、CRC4演算テーブル
を参照して計算結果を得るようにすべきである。
【0070】以上のようなCRC4符号化演算を実際に
実施した場合のCRC4符号化部のブロック図を図4に
示す。図4において、400は、本発明の一実施例であ
るCRC4符号化部、401は、8ビット単位で多重化
データを入力するための多重化データ入力部、402
は、前述の行列演算を行うための行列演算部、403
は、CRC4演算テーブルを格納するためのメモリ、4
04は、多重化データにCRC4ビットを挿入するため
のCRC4挿入部、410は、ITU−T勧告H.22
1のフレーム構成に従った送信データの多重化を行い、
CRC4符号化部400に対して多重化データを出力す
るH.221多重化部、420は、CRC4符号化部4
00より出力された多重化フレームを回線に対して送信
する回線インタフェース部である。
【0071】図5は、CRC4符号化部におけるCRC
4符号化演算のフローチャートである。ステップS50
1において、行列演算部402により、図20における
各レジスタ値に相当する4ビットのレジスタ値をすべて
0に初期化する。ステップS502において、多重化デ
ータ入力部401により、H.221多重化部410よ
り入力される8ビットの多重化データを受信したと判断
したならば、ステップS503に進み、多重化データ入
力部401により、入力された8ビットの多重化データ
をそのまま行列演算部402及びCRC4挿入部404
に出力する。
【0072】入力された8ビットの多重化データの各ビ
ットのうち、CRC4ビットの位置に相当するビット
は、多重化データ入力部410により予め0に初期化し
て出力する。ステップS504において、行列演算部4
02により、現在のレジスタ値を4ビット左シフトした
8ビットベクトルと入力された8ビットの多重化データ
を加算(排他論理和)する。
【0073】ステップS505において、行列演算部4
02により、ステップS504で得られた8ビットベク
トルと前述の8×4行列との乗算結果をメモリ403に
格納されたCRC4演算テーブルを参照することによっ
て求める。CRC4演算テーブルは、例えば図6のよう
に256個の8ビットベクトルに対する演算結果により
構成されている。さらに、ステップS506において、
行列演算部402により、ステップS505で得られた
4ビットベクトルの値に現在のレジスタ値を更新する。
【0074】以上の処理は、ステップS507におい
て、行列演算部402により、1280ビットのすべて
の多重化データの入力が終了したと判断するまで繰り返
し行われ、多重化データの入力が終了した場合、ステッ
プS508に進み、行列演算部402により、最終的に
得られた4ビットのレジスタ値をCRC4ビットとして
CRC4挿入部404に出力する。ステップS509に
おいて、CRC4挿入部404により、次の送信サブマ
ルチフレームにおける多重化データのCRC4ビットの
位置に、行列演算部402より与えられたCRC4ビッ
トを挿入し、回線インタフェース部420に対して出力
する。
【0075】(実施例3)ここでは、ITU−T勧告
Q.921等において規定される2元巡回誤り検出符号
を使用したFCS符号化装置について考える。図21に
おいて、時間tにおける各レジスタの値を16次元ベク
トル(r15(t),r14(t),─,r1 (t),r0
(t))で表すものとし、時間tにおいて入力される送
信ビットをmk-t とすると、時間t における各レジスタ
の値は、時間t=0における各レジスタの初期値r
15(0)=r14(0)=─=r1 (0)=r0 (0)=
1に対して、以下の数式5の漸近式をt=1,2,─,
kで繰り返し計算すればよい。
【数式5】
【0076】ここで、時間t=8,16,─,k−8,
kにおいて連続する8ビットの送信ブロック
(mk-t+7 ,mk-t+6 ,─,mk-t+1 ,mk-t )の入力
があった場合、時間tにおける各レジスタの値は、時間
t−8における各レジスタの値と入力データとの間に、
以下の数式6の関係を満たすことがわかる。
【数式6】
【0077】ここで上記8×16行列は、FCSの生成
行列の一部あるいはパリティ検査行列の転置行列の一部
より得られる部分行列である。従って、まず各レジスタ
の初期値ri (0)(i=15,14,─,1,0)を
1に初期化して、kビットのHDLCデータを8ビット
単位の送信ブロックに分割して入力する。連続する8ビ
ットの送信ブロックを入力する毎に、現在のレジスタの
値の上位8ビットと連続する8ビットの送信ブロックと
を加算(排他論理和)した8ビットベクトルと上記8×
16行列との積を計算し、さらに現在のレジスタの値の
下位8ビットを8ビット左シフトした16ビットベクト
ルを加算(排他論理和)することによって、新しいレジ
スタの値が得られる。
【0078】送信フレームの最後に付加される16ビッ
トのFCSの各ビットは、kビットのすべてのHDLC
データを入力したとき、すなわち時間t=kにおいて最
終的に得られたレジスタの値に1の補数をとればよいこ
とになり、(r15(k),r14(k),─,r
1 (k),r0 (k))と(1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1)との和(排
他論理和)を計算することにより求めることができる。
【0079】上記FCS符号化演算には、高速化が要求
されるため、連続する8ビットの送信ブロックを入力す
る毎に上記のベクトル・行列演算を行うのではなく、予
めベクトルと行列との積の演算結果をFCS演算テーブ
ルとして用意しておき、ベクトルと行列との積を計算す
る場合は、FCS演算テーブルを参照して計算結果を得
るようにすべきである。
【0080】以上のようなFCS符号化演算を実際に実
施した場合のFCS符号化部のブロック図を図7に示
す。図7において、700は、本発明の一実施例である
FCS符号化部、701は、8ビット単位でHDLCデ
ータを入力するためのHDLCデータ入力部、702
は、前述の行列演算を行うための行列演算部、703
は、FCS演算テーブルを格納するためのメモリ、70
4は、HDLCデータにFCSビットを挿入するための
FCS挿入部、710は、ITU−T勧告Q.921に
従ったプロトコルの制御を行い、FCS符号化部700
に対してHDLCデータを出力するQ.921プロトコ
ル制御部、720は、FCS符号化部700より出力さ
れたHDLCフレームに対して0挿入と開始フラグと終
了フラグの挿入を行い、回線に対してHDLCフレーム
を送信する回線インタフェース部である。
【0081】図8は、FCS符号化部におけるFCS符
号化演算のフローチャートである。ステップS810に
おいて、行列演算部702により、図21における各レ
ジスタ値に相当する16ビットのレジスタ値をすべて1
に初期化する。ステップS802において、HDLCデ
ータ入力部701により、Q.921プロトコル制御部
710より入力される8ビットのHDLCデータを受信
したと判断したならば、ステップS803に進み、HD
LCデータ入力部701により、入力された8ビットの
HDLCデータをそのまま行列演算部702及びFCS
挿入部704に出力する。ステップS804において、
行列演算部702により、現在のレジスタ値の上位8ビ
ットと入力された8ビットのHDLCデータを加算(排
他論理和)する。
【0082】ステップS805において、行列演算部7
02により、ステップS804で得られた8ビットベク
トルと前述の8×16行列との乗算結果をメモリ703
に格納されたFCS演算テーブルを参照することによっ
て求める。FCS演算テーブルは、例えば図9のように
256個の8ビットベクトルに対する演算結果により構
成されている。
【0083】ステップS806において、行列演算部7
02により、ステップS805で得られた16ビットベ
クトルと現在のレジスタ値の下位8ビットを8ビット左
シフトした16ビットベクトルを加算(排他論理和)す
る。さらに、ステップS807において、行列演算部7
02により、ステップS806で得られた16ビットベ
クトルの値に現在のレジスタ値を更新する。
【0084】以上の処理は、ステップS808におい
て、行列演算部702により、kビットのすべてのHD
LCデータの入力が終了したと判断するまで繰り返し行
われ、HDLCデータの入力が終了した場合、ステップ
S809に進み、行列演算部702により、最終的に得
られた16ビットのレジスタ値に1の補数をとり、その
結果をFCSとしてFCS挿入部704に出力する。ス
テップS810において、FCS挿入部704により、
HDLCデータのFCSの位置に、行列演算部702よ
り与えられたFCSを挿入し、回線インタフェース部7
20に対して出力する。
【0085】(実施例4)ここでは、ITU−T勧告
H.261において規定される2元(511,493)
BCH誤り訂正符号を使用したBCH復号化装置につい
て考える。図22において、時間tにおける各レジスタ
の値を18次元ベクトル(s17(t),s16(t),
... ,s1 (t),s0 (t))で表すものとし、時間
tにおいて入力される受信ビットをy511-t とすると、
時間tにおける各レジスタの値は、時間t=0における
各レジスタの初期値s17(0 )=s16(0 )=... =s
1 (0 )=s0 (0 )=0 に対して、以下の数式7の漸
近式をt=1,2,... ,511で繰り返し計算すれば
よい。
【数式7】
【0086】ここで、時間t=8,16,... ,49
6,504において連続する8ビットの受信ブロック
(y518-t,517-t, ... , 512-t,511-t )の入力が
あった場合、時間tにおける各レジスタの値は、時間t
−8における各レジスタの値と入力データとの間に、以
下の数式8の関係を満たすことがわかる。
【数式8】
【0087】ここで上記8×18行列は、2元(51
1,493)BCH誤り訂正符号の生成行列の一部ある
いはパリティ検査行列の転置行列の一部より得られる部
分行列である。
【0088】従って、まず各レジスタの初期値s
i (0)(i=17,16,... ,1,0)を0に初期
化して、511ビットのビデオフレームを8ビット単位
の受信ブロックに分割して入力する。連続する8ビット
の受信ブロックを入力する毎に、現在のレジスタの値の
上位8ビットと連続する8ビットの受信ブロックとを加
算(排他論理和)した8ビットベクトルと上記8×18
行列との積を計算し、さらに現在のレジスタの値の下位
10ビットを8ビット左シフトした18ビットベクトル
を加算(排他論理和)することによって、新しいレジス
タの値が得られる。
【0089】511ビットのすべてのビデオフレームを
入力した場合に、最終的に得られたレジスタの値(s17
(n),s16(n),... ,s1 (n),s0 (n))
がすべて0ならば、ビデオフレームに誤りがないと判断
することができ、それ以外は、ビデオフレームに誤りが
あると判断することができる。
【0090】上記BCH復号化演算には、高速化が要求
されるため、連続する8ビットの受信ブロックを入力す
る毎に上記ベクトル・行列演算を行うのではなく、予め
ベクトルと行列との積の演算結果をBCH演算テーブル
として用意しておき、ベクトルと行列との積を計算する
場合は、BCH演算テーブルを参照して計算結果を得る
ようにすべきである。
【0091】以上のようなBCH復号化演算を実際に実
施した場合のBCH復号化部のブロック図を図10に示
す。図10において、150は、本発明の一実施例であ
るBCH復号化部、151は、8ビット単位でビデオフ
レームを入力するためのビデオフレーム入力部、152
は、前述の行列演算を行うとともに、ビデオフレームの
誤り検出を行うための行列演算部、153は、BCH演
算テーブルを格納するためのメモリ、154は、ビデオ
フレームからパリティ検査ビットを除去するためのパリ
ティ除去部、170は、回線より多重化フレームを受信
し、ITU−T勧告H.221のフレーム構成に従った
多重化フレームの分離化を行い、BCH復号化部150
に対して分離化されたビデオフレームを出力する回線イ
ンタフェース部、160は、BCH復号化部150より
出力されたビデオデータに対して、ITU−T勧告H.
261に従った伸張を行うH.261復号化部である。
【0092】図11は、BCH復号化部におけるBCH
復号化演算のフローチャートである。ステップS251
において、行列演算部152により、図22における各
レジスタ値に相当する18ビットのレジスタ値をすべて
0に初期化する。ステップS252において、ビデオフ
レーム入力部151により、回線インタフェース部17
0より入力される8ビットのビデオフレームを受信した
と判断したならば、ステップS253に進み、ビデオフ
レーム入力部151により、入力された8ビットのビデ
オフレームをそのまま行列演算部152及びパリティ除
去部154に出力する。ステップS254において、行
列演算部152により、現在のレジスタ値の上位8ビッ
トと入力された8ビットのビデオフレームを加算(排他
論理和)する。ステップS205において、行列演算部
152により、ステップS254で得られた8ビットベ
クトルと前述の8×18行列との乗算結果をメモリ15
3に格納されたBCH演算テーブルを参照することによ
って求める。
【0093】BCH演算テーブルは、例えば図12のよ
うに256個の8ビットベクトルに対する演算結果によ
り構成されている。ステップS256において、行列演
算部152により、ステップS255で得られた18ビ
ットベクトルと現在のレジスタ値の下位10ビットを8
ビット左シフトした18ビットベクトルを加算(排他論
理和)する。さらに、ステップS257において、行列
演算部152により、ステップS256で得られた18
ビットベクトルの値に現在のレジスタ値を更新する。
【0094】以上の処理は、ステップS258におい
て、行列演算部152により、511ビットのすべての
ビデオフレームの入力が終了したと判断するまで繰り返
し行われ、ビデオフレームの入力が終了した場合、ステ
ップS259に進み、行列演算部152により、最終的
に得られた18ビットのレジスタ値がすべて0か否かを
チェックして、その結果を誤り検出判定結果としてH.
261復号化部160に通知する。ステップS260に
おいて、パリティ除去部154により、ビデオフレーム
のパリティ検査ビットの位置からパリティ検査ビットを
除去し、H.261復号化部160に対して出力する。
【0095】511ビットのビデオフレームを8ビット
単位で入力すると、最後の入力ビデオフレームが7ビッ
トとなり、8ビットに満たなくなるが、この場合は、最
後の入力ビデオフレームの上位1ビットを0として右詰
めで7ビットのデータが入力されるように、ビデオフレ
ーム入力部151により調整される。2元(511,4
93)BCH誤り訂正符号の場合は、誤り検出だけでな
く誤り訂正を行うことが可能であるが、本実施例におい
ては、誤り検出のみを行う場合を想定した。
【0096】(実施例5)ここでは、ITU−T勧告
H.221において規定される2元巡回誤り検出符号を
使用したCRC4復号化装置について考える。
【0097】図23において、時間tにおける各レジス
タの値を4次元ベクトル(s3 (t),s2 (t),s
1 (t),s0 (t))で表すものとし、時間tにおい
て入力される受信ビットをyn-t とすると、時間tにお
ける各レジスタの値は、時間t=0における各レジスタ
の初期値s3 (0 )=s2 (0 )=s1 (0 )=s0(0
)=0 に対して、以下の数式9の漸近式をt=1,
2,... ,nで繰り返し計算すればよい。
【数式9】
【0098】ここで、時間t=8,16,... ,n−
8,nにおいて連続する8ビットの受信ブロック(y
n-t+7,n-t+6, ... , n-t+1,n-t )の入力があった
場合、時間tにおける各レジスタの値は、時間t−8に
おける各レジスタの値と入力データとの間に、以下の数
式10の関係を満たすことがわかる。
【数式10】
【0099】ここで上記8×4行列は、CRC4の生成
行列の一部あるいはパリティ検査行列の転置行列の一部
より得られる部分行列である。
【0100】従って、まず各レジスタの初期値s
i (0)(i=3,2,1,0)を0に初期化して、受
信CRC4ビット(C1,C2,C3,C4)を抽出
し、その位置を0に初期化したnビットの多重化フレー
ムを8ビット単位の受信ブロックに分割して入力する。
【0101】n=1280となるISDNのBチャネル
64kbpsの場合においては、連続する8ビットの受
信ブロックを入力する毎に、現在のレジスタの値を4ビ
ット左シフトした8ビットベクトルと連続する8ビット
の受信ブロックとを加算(排他論理和)した8ビットベ
クトルと上記8×4行列との積を計算することによっ
て、新しいレジスタの値が得られる。
【0102】受信サブマルチフレーム単位のすべての多
重化フレームを入力したとき、すなわち時間t=nにお
いて最終的に得られたレジスタの値(s3 (n),s2
(n),s1 (n),s0 (n))がそのまま受信CR
C4ビット(C1,C2,C3,C4)となり、次の受
信サブマルチフレームから抽出した受信CRC4ビット
と比較される。
【0103】上記BCH復号化演算には、高速化が要求
されるため、連続する8ビットの受信ブロックを入力す
る毎に上記ベクトル・行列演算を行うのではなく、予め
ベクトルと行列との積の演算結果をCRC4演算テーブ
ルとして用意しておき、ベクトルと行列との積を計算す
る場合は、CRC4演算テーブルを参照して計算結果を
得るようにすべきである。
【0104】以上のようなCRC4復号化演算を実際に
実施した場合のCRC4復号化部のブロック図を図13
に示す。図13において、450は、本発明の一実施例
であるCRC4復号化部、451は、8ビット単位で多
重化フレームを入力するための多重化フレーム入力部、
452は、前述の行列演算を行うとともに、多重化フレ
ームの誤り検出を行うための行列演算部、453は、C
RC4演算テーブルを格納するためのメモリ、470
は、回線より多重化フレームを受信し、CRC4復号化
部450に対して多重化フレームを出力する回線インタ
フェース部、460は、CRC4復号化部450より出
力された多重化データに対して、ITU−T勧告H.2
21のフレーム構成に従った分離化を行うH.221分
離化部である。
【0105】図14は、CRC4復号化部におけるCR
C4復号化演算のフローチャートである。ステップS5
51において、行列演算部452により、図23におけ
る各レジスタ値に相当する4ビットのレジスタ値をすべ
て0に初期化する。ステップS552において、多重化
フレーム入力部451により、回線インタフェース部4
70より入力される8ビットの多重化フレームを受信し
たと判断したならば、ステップS553に進み、多重化
フレーム入力部451により、入力された8ビットの多
重化フレームをそのまま行列演算部452及びH.22
1分離化部460に出力する。
【0106】入力された8ビットの多重化フレームの各
ビットのうち、CRC4ビットの位置に相当するビット
は、多重化フレーム入力部451により予め抽出して、
その位置を0に初期化した多重化フレームとともに行列
演算部452に出力する。ステップS554において、
行列演算部452により、現在のレジスタ値を4ビット
左シフトした8ビットベクトルと入力された8ビットの
多重化フレームを加算(排他論理和)する。ステップS
555において、行列演算部452により、ステップS
554で得られた8ビットベクトルと前述の8×4行列
との乗算結果をメモリ453に格納されたCRC4演算
テーブルを参照することによって求める。CRC4演算
テーブルは、例えば図15のように256個の8ビット
ベクトルに対する演算結果により構成されている。さら
に、ステップS556において、行列演算部452によ
り、ステップS555で得られた4ビットベクトルの値
に現在のレジスタ値を更新する。
【0107】以上の処理は、ステップS557におい
て、行列演算部452により、1280ビットのすべて
の多重化フレームの入力が終了したと判断するまで繰り
返し行われ、多重化フレームの入力が終了した場合、ス
テップS558に進み、行列演算部452により、最終
的に得られた4ビットのレジスタ値をメモリ453に記
憶する。
【0108】ステップS559において、行列演算部4
52により、前回の受信サブマルチフレームにおける多
重化フレームから得られた4ビットのレジスタ値と今回
の受信サブマルチフレームにおける多重化フレームから
抽出した受信CRC4ビットとを比較して、その結果を
誤り検出判定結果としてH.221分離化部460に通
知する。
【0109】(実施例6)ここでは、ITU−T勧告
Q.921等において規定される2元巡回誤り検出符号
を使用したFCS復号化装置について考える。
【0110】図24において、時間tにおける各レジス
タの値を16次元ベクトル(s15(t),s14(t),
... ,s1 (t),s0 (t))で表すものとし、時間
tにおいて入力される受信ビットをyn-t とすると、時
間tにおける各レジスタの値は、時間t=0における各
レジスタの初期値s15(0 )=s14(0 )=... =s1
(0 )=s0 (0 )=0 に対して、以下の数式11の漸
近式をt=1,2,... ,nで繰り返し計算すればよ
い。
【数式11】
【0111】ここで、時間t=8,16,... ,n−
8,nにおいて連続する8ビットの受信ブロック(y
n-t+7,n-t+6, ... , n-t+1,n-t )の入力があった
場合、時間tにおける各レジスタの値は、時間t−8に
おける各レジスタの値と入力データとの間に、以下の数
式12の関係を満たすことがわかる。
【数式12】
【0112】ここで上記8×16行列は、FCSの生成
行列の一部あるいはパリティ検査行列の転置行列の一部
より得られる部分行列である。
【0113】従って、まず各レジスタの初期値s
i (0)(i=15,14,... ,1,0)を1に初期
化して、nビットのHDLCフレームを8ビット単位の
受信ブロックに分割して入力する。
【0114】連続する8ビットの受信ブロックを入力す
る毎に、現在のレジスタの値の上位8ビットと連続する
8ビットの受信ブロックとを加算(排他論理和)した8
ビットベクトルと上記8×16行列との積を計算し、さ
らに現在のレジスタの値の下位8ビットを8ビット左シ
フトした16ビットベクトルを加算(排他論理和)する
ことによって、新しいレジスタの値が得られる。
【0115】nビットのすべてのHDLCフレームを入
力したとき、すなわち時間t=nにおいて最終的に得ら
れたレジスタの値(s15(n),s14(n),... ,s
1 (n),s0 (n))と(0,0,0,1,1,1,
0,1,0,0,0,0,1,1,1,1)とを比較
し、一致したならば、FCSエラーは発生しなかったと
判断することができ、一致しなければ、FCSエラーが
発生したと判断することができる。
【0116】上記FCS復号化演算には、高速化が要求
されるため、連続する8ビットの受信ブロックを入力す
る毎に上記のベクトル・行列演算を行うのではなく、予
めベクトルと行列との積の演算結果をFCS演算テーブ
ルとして用意しておき、ベクトルと行列との積を計算す
る場合は、FCS演算テーブルを参照して計算結果を得
るようにすべきである。
【0117】以上のようなFCS復号化演算を実際に実
施した場合のFCS復号化部のブロック図を図16に示
す。図16において、750は、本発明の一実施例であ
るFCS復号化部、751は、8ビット単位でHDLC
フレームを入力するためのHDLCフレーム入力部、7
52は、前述の行列演算を行うとともに、HDLCフレ
ームの誤り検出を行うための行列演算部、753は、F
CS演算テーブルを格納するためのメモリ、754は、
HDLCフレームからFCSビットを除去するためのF
CS除去部、770は、回線よりHDLCフレームを受
信し、開始フラグと終了フラグの除去と0挿入の除去を
行い、FCS復号化部750に対してHDLCフレーム
を出力する回線インタフェース部、760は、FCS復
号化部750より出力されたHDLCデータに対して、
ITU−T勧告Q.921に従ったプロトコルの制御を
行うQ.921プロトコル制御部である。
【0118】図17は、FCS復号化部におけるFCS
復号化演算のフローチャートである。ステップS851
において、行列演算部752により、図24における各
レジスタ値に相当する16ビットのレジスタ値をすべて
1に初期化する。ステップS852において、HDLC
フレーム入力部751により、回線インタフェース部7
70より入力される8ビットのHDLCフレームを受信
したと判断したならば、ステップS853に進み、HD
LCフレーム入力部751により、入力された8ビット
のHDLCフレームをそのまま行列演算部752及びF
CS除去部754に出力する。ステップS854におい
て、行列演算部752により、現在のレジスタ値の上位
8ビットと入力された8ビットのHDLCフレームを加
算(排他論理和)する。ステップS855において、行
列演算部752により、ステップS854で得られた8
ビットベクトルと前述の8×16行列との乗算結果をメ
モリ753に格納されたFCS演算テーブルを参照する
ことによって求める。
【0119】FCS演算テーブルは、例えば図18のよ
うに256個の8ビットベクトルに対する演算結果によ
り構成されている。ステップS856において、行列演
算部752により、ステップS855で得られた16ビ
ットベクトルと現在のレジスタ値の下位8ビットを8ビ
ット左シフトした16ビットベクトルを加算(排他論理
和)する。さらに、ステップS857において、行列演
算部752により、ステップS856で得られた16ビ
ットベクトルの値に現在のレジスタ値を更新する。
【0120】以上の処理は、ステップS858におい
て、行列演算部752により、nビットのすべてのHD
LCフレームの入力が終了したと判断するまで繰り返し
行われ、HDLCフレームの入力が終了した場合、ステ
ップS859に進み、行列演算部752により、最終的
に得られた16ビットのレジスタ値が(0,0,0,
1,1,1,0,1,0,0,0,0,1,1,1,
1)と一致するか否かをチェックして、その結果を誤り
検出判定結果としてQ.921プロトコル制御部760
に通知する。ステップS860において、FCS除去部
754により、HDLCフレームのFCSの位置からF
CSを除去し、Q.921プロトコル制御部760に対
して出力する。
【0121】(他の実施例)上記実施例1〜3において
は、ITU−T勧告H.261において規定される2元
(511,493)BCH誤り訂正符号化、ITU−T
勧告H.221において規定されるCRC4符号化、I
TU−T勧告Q.921等において規定されるFCS符
号化の3つの場合について述べたが、本発明は、2元巡
回符号に属するあらゆる符号化に適用可能である。
【0122】当然のことながら、ITU−T勧告H.2
21においてBASの誤り訂正に使用される2元(1
7,9)巡回符号を短縮した2元(16,8)2重誤り
訂正符号のような短縮符号の符号化にも適用可能であ
る。また、CRC4符号化やFCS符号化のみならず、
コード体系がEBCDICやASCIIのトランスペア
レントモードである場合において使用されるCRC16
符号化等の他のCRC符号化にも適用可能である。
【0123】上記実施例においては、回線に対してデー
タを送信する場合の符号化を想定したが、ハードティス
クやRAMディスク等の記憶装置に書き込む場合の符号
化にも適用可能である。上記実施例のビデオデータ入力
部、多重化データ入力部、HDLCデータ入力部におい
ては、例えば、入力されるシリアルデータをパラレルデ
ータに変換してI/Oデータとして入力するように構成
してもよいし、入力されるデータをメモリに展開してメ
モリから読みだすように構成してもよい。
【0124】上記実施例のビデオデータ入力部、多重化
データ入力部、HDLCデータ入力部においては、8ビ
ット単位の情報ベクトルを入力するように構成したが、
16ビットや32ビット等、他の2のべき乗のビット単
位の情報ベクトルを入力するように構成してもよい。こ
の場合、行列演算テーブルには、16ビットの場合は6
5536個の16ビットベクトル、32ビットの場合は
4294967296個の32ビットベクトルに対する
演算結果が格納される。行列演算を行うための行列は、
実施例によって異なるが、入力データ長j、符号長n、
情報長kに対して、生成行列の一部あるいはパリティ検
査行列の転置行列の一部より一意に得られるj×(n−
k)の部分行列である。
【0125】さらに、上記実施例4〜6においては、I
TU−T勧告H.261において規定される2元(51
1,493)BCH誤り訂正復号化、ITU−T勧告
H.221において規定されるCRC4復号化、ITU
−T勧告Q.921等において規定されるFCS復号化
の3つの場合について述べたが、本発明は、2元巡回符
号に属するあらゆる復号化に適用可能である。当然のこ
とながら、ITU−T勧告H.221においてBASの
誤り訂正に使用される2元(17,9)巡回符号を短縮
した2元(16,8)2重誤り訂正符号のような短縮符
号の復号化にも適用可能である。また、CRC4復号化
やFCS復号化のみならず、コード体系がEBCDIC
やASCIIのトランスペアレントモードである場合に
おいて使用されるCRC16復号化等の他のCRC復号
化にも適用可能である。
【0126】上記実施例においては、回線よりデータを
受信する場合の復号化を想定したが、ハードディスクや
RAMディスク等の記憶装置から読みだす場合の復号化
にも適用可能である。上記実施例のビデオフレーム入力
部、多重化フレーム入力部、HDLCフレーム入力部に
おいては、例えば、入力されるシリアルデータをパラレ
ルデータに変換してI/Oデータとして入力するように
構成してもよいし、入力されるデータをメモリに展開し
てメモリから読みだすように構成してもよい。上記実施
例のビデオフレーム入力部、多重化フレーム入力部、H
DLCフレーム入力部においては、8ビット単位の受信
ベクトルを入力するように構成したが、16ビットや3
2ビット等、他の2のべき乗のビット単位の受信ベクト
ルを入力するよう構成してもよい。この場合、行列演算
テーブルには、16ビットの場合は65536個の16
ビットベクトル、32ビットの場合は42949672
96個の32ビットベクトルに対する演算結果が格納さ
れる。行列演算を行うための行列は、実施例によって異
なるが、入力データ長j、符号長n、情報長kに対し
て、生成行列の一部あるいはパリティ検査行列の転置行
列の一部より一意に得られるj×(n−k)の部分行列
である。
【0127】
【発明の効果】以上説明したように、本発明によれば、
符号化において、2のべき乗のビット単位に分割された
情報ビットに対して逐次演算を行うので、ソフトウェア
により容易に処理することができるという効果がある。
また、すべての情報ビットを一括して処理を行う場合と
比べて、ソフトウェアによる処理を分散化することがで
き、しかも1ビット単位で演算を行う従来の方式と比べ
て、ソフトウェアにより高速に処理することが可能とな
るという効果がある。さらに、行列の積演算をテーブル
参照により実行するので、ソフトウェアによりさらに高
速に処理することが可能となるという効果がある。
【0132】また、以上説明したように、本発明によれ
ば、復号化において、2のべき乗のビット単位に分割さ
れた受信ビットに対して逐次演算を行うので、ソフトウ
ェアにより容易に処理することができるという効果があ
る。また、すべての受信ビットを一括して処理を行う場
合と比べて、ソフトウェアによる処理を分散化すること
ができ、しかも1ビット単位で演算を行う従来の方式と
比べて、ソフトウェアにより高速に処理することが可能
となるという効果がある。さらに、行列の積演算をテー
ブル参照により実行するので、ソフトウェアによりさら
に高速に処理することが可能となるという効果がある。
【図面の簡単な説明】
【図1】図1は、本発明の実施例1のBCH符号化部の
ブロック図である。
【図2】図2は、本発明の実施例1のBCH符号化部の
フローチャートである。
【図3】図3は、本発明の実施例1のBCH符号化部の
BCH演算テーブルである。
【図4】図4は、本発明の実施例2のCRC4符号化部
のブロック図である。
【図5】図5は、本発明の実施例2のCRC4符号化部
のフローチャートである。
【図6】図6は、本発明の実施例2のCRC4符号化部
のCRC4演算テーブルである。
【図7】図7は、本発明の実施例3のFCS符号化部の
ブロック図である。
【図8】図8は、本発明の実施例3のFCS符号化部の
フローチャートである。
【図9】図9は、本発明の実施例3のFCS符号化部の
FCS演算テーブルである。
【図10】図10は、本発明の実施例4のBCH復号化
部のブロック図である。
【図11】図11は、本発明の実施例4のBCH復号化
部のフローチャートである。
【図12】図12は、本発明の実施例4のBCH復号化
部のBCH演算テーブルである。
【図13】図13は、本発明の実施例5のCRC4復号
化部のブロック図である。
【図14】図14は、本発明の実施例5のCRC4復号
化部のフローチャートである。
【図15】図15は、本発明の実施例5のCRC4復号
化部のCRC4演算テーブルである。
【図16】図16は、本発明の実施例6のFCS復号化
部のブロック図である。
【図17】図17は、本発明の実施例6のFCS復号化
部のフローチャートである。
【図18】図18は、本発明の実施例6のFCS復号化
部のFCS演算テーブルである。
【図19】図19は、従来のBCH符号化回路である。
【図20】図20は、従来のCRC4符号化回路であ
る。
【図21】図21は、従来のFCS符号化回路である。
【図22】図22は、従来のBCH復号化回路である。
【図23】図23は、従来のCRC4復号化回路であ
る。
【図24】図24は、従来のFCS復号化回路である。
【符号の説明】
100 BCH符号化部 101 ビデオデータ入力部 102 行列演算部 103 メモリ 104 パリティ挿入部 110 H.261符号化部 120 回線インタフェース部 400 CRC4符号化部 401 多重化データ入力部 402 行列演算部 403 メモリ 404 CRC4挿入部 410 H.221多重化部 420 回線インタフェース部 700 FCS符号化部 701 HDLCデータ入力部 702 行列演算部 703 メモリ 704 FCS挿入部 710 Q.921プロトコル制御部 720 回線インタフェース部 1000〜1017 レジスタ 1100〜1103 レジスタ 1200〜1215 レジスタ 1021、1022 スイッチ 1221、1222 スイッチ 150 BCH復号化部 151 ビデオフレーム入力部 152 行列演算部 153 メモリ 154 パリティ除去部 160 H.261復号化部 170 回線インタフェース部 450 CRC4復号化部 451 多重化フレーム入力部 452 行列演算部 453 メモリ 450 H.221分離化部 470 回線インタフェース部 750 FCS復号化部 751 HDLCフレーム入力部 752 行列演算部 753 メモリ 754 FCS除去部 760 Q.921プロトコル制御部 770 回線インタフェース部 1050〜1067 レジスタ 1150〜1153 レジスタ 1250〜1265 レジスタ 1071、1072 スイッチ 1271、1272 スイッチ

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 誤りを訂正あるいは検出するための符号
    化を行う2元巡回符号符号化装置において、符号化する
    情報ビットを2のべき乗のビット単位に分割して、2の
    べき乗のビット単位の情報ベクトルとして情報ビットを
    入力するための情報ビット入力手段と、前記情報ビット
    入力手段により入力された2のべき乗のビット単位の情
    報ベクトルに対応する2のべき乗ビットのデータに対し
    て、2元巡回符号の生成行列の一部あるいはパリティ検
    査行列の転置行列の一部より一意に得られる部分行列と
    の行列演算を逐次実行するための行列演算手段と、を有
    することを特徴とする2元巡回符号符号化装置。
  2. 【請求項2】 前記情報ビット入力手段は、8ビットあ
    るいは16ビットあるいは32ビットの情報ベクトルと
    して情報ビットを入力することを特徴とする請求項1記
    載の2元巡回符号符号化装置。
  3. 【請求項3】 前記行列演算手段により実行され、前記
    2のべき乗のビットのデータに対応する行列の積演算の
    演算結果を予めテーブルとして記憶するための記憶手段
    をさらに有し、前記行列演算手段により実行される行列
    演算が前記記憶手段により記憶されたテーブルを参照す
    ることにより実行される行列の積演算を含むことを特徴
    とする請求項1記載の2元巡回符号符号化装置。
  4. 【請求項4】 誤りを訂正あるいは検出するための符号
    化を行う2元巡回符号符号化方法において、符号化する
    情報ビットを2のべき乗のビット単位に分割して、2の
    べき乗のビット単位の情報ベクトルとして情報ビットを
    入力するための情報ビット入力ステップと、前記情報ビ
    ット入力ステップにより入力された2のべき乗のビット
    単位の情報ベクトルに対応する2のべき乗ビットのデー
    タに対して、2元巡回符号の生成行列の一部あるいはパ
    リティ検査行列の転置行列の一部より一意に得られる部
    分行列との行列演算を逐次実行するための行列演算ステ
    ップと、を有することを特徴とする2元巡回符号符号化
    方法。
  5. 【請求項5】 前記情報ビット入力ステップは、8ビッ
    トあるいは16ビットあるいは32ビットの情報ベクト
    ルとして情報ビットを入力することを特徴とする請求項
    4記載の2元巡回符号符号化方法。
  6. 【請求項6】 前記行列演算ステップにより実行され、
    前記2のべき乗ビットのデータに対応する行列の積演算
    の演算結果を予めテーブルとして記憶するための記憶ス
    テップをさらに有し、前記行列演算ステップにより実行
    される行列演算が前記記憶ステップにより記憶されたテ
    ーブルを参照することにより実行される行列の積演算を
    含むことを特徴とする請求項4記載の2元巡回符号符号
    化方法。
  7. 【請求項7】 誤りを訂正あるいは検出するための復号
    化を行う2元巡回符号復号化装置において、復号化する
    受信ビットを2のべき乗のビット単位に分割して、2の
    べき乗のビット単位の受信ベクトルとして受信ビットを
    入力するための受信ビット入力手段と、前記受信ビット
    入力手段により入力された2のべき乗のビット単位の受
    信ベクトルに対応する2のべき乗ビットのデータに対し
    て、2元巡回符号の生成行列の一部あるいはパリティ検
    査行列の転置行列の一部より一意に得られる部分行列と
    の行列演算を逐次実行するための行列演算手段と、を有
    することを特徴とする2元巡回符号復号化装置。
  8. 【請求項8】 前記受信ビット入力手段は、8ビットあ
    るいは16ビットあるいは32ビットの受信ベクトルと
    して受信ビットを入力することを特徴とする請求項7記
    載の2元巡回符号復号化装置。
  9. 【請求項9】 前記行列演算手段により実行され、前記
    2のべき乗ビットのデータに対応する行列の積演算の演
    算結果を、予めテーブルとして記憶するための記憶手段
    をさらに有し、前記行列演算手段により実行される行列
    演算が前記記憶手段により記憶されたテーブルを参照す
    ることにより実行される行列の積演算を含むことを特徴
    とする請求項7記載の2元巡回符号復号化装置。
  10. 【請求項10】 誤りを訂正あるいは検出するための復
    号化を行う2元巡回符号復号化方法おいて、復号化する
    受信ビットを2のべき乗のビット単位に分割して、2の
    べき乗のビット単位の受信ベクトルとして受信ビットを
    入力するための受信ビット入力ステップと、前記受信ビ
    ット入力ステップにより入力された2のべき乗のビット
    単位の受信ベクトルに対応する2のべき乗ビットのデー
    タに対して、2元巡回符号の生成行列の一部あるいはパ
    リティ検査行列の転置行列の一部より一意に得られる部
    分行列との行列演算を逐次実行するための行列演算ステ
    ップと、を有することを特徴とする2元巡回符号復号化
    方法。
  11. 【請求項11】 前記受信ビット入力ステップは、8ビ
    ットあるいは16ビットあるいは32ビットの受信ベク
    トルとして受信ビットを入力することを特徴とする請求
    項10記載の2元巡回符号復号化方法。
  12. 【請求項12】 前記行列演算ステップにより実行さ
    れ、前記2のべき乗ビットのデータに対応する行列の積
    演算の演算結果を予めテーブルとして記憶するための記
    憶ステップをさらに有し、前記行列演算ステップにより
    実行される行列演算が前記記憶ステップにより記憶され
    たテーブルを参照することにより実行される行列の積演
    算を含むことを特徴とする請求項10記載の2元巡回符
    号復号化方法。
  13. 【請求項13】 符号化する情報データを複数ビット毎
    に入力する入力手段と、 該複数ビットの情報データに対して2元巡回符号の生成
    行列の一部もしくはパリティ検査行列の転置行列の一部
    に対応する行列との行列演算を含む演算処理を施す演算
    手段と、 該演算手段により得たパリティ検査ビットを前記情報デ
    ータに付加する付加手段とを具備する2元巡回符号符号
    化装置。
  14. 【請求項14】 前記演算手段は、前記パリティ検査ビ
    ットに対応するビット数のデータを記憶する記憶手段
    と、該記憶手段に記憶されているデータの一部と前記複
    数ビットの情報データとを加算する加算手段と、該加算
    手段の出力に対して前記行列演算を行い、その演算結果
    に応じて前記記憶手段を書き換える行列演算手段とを含
    むことを特徴とする請求項13に記載の2元巡回符号符
    号化装置。
  15. 【請求項15】 符号化する情報データを複数ビット毎
    に入力し、 該複数ビットの情報データに対して2元巡回符号の生成
    行列の一部もしくはパリティ検査行列の転置行列の一部
    に対応する行列との行列演算を含む演算処理を施し、 該演算処理により得たパリティ検査ビットを前記情報デ
    ータに付加することを特徴とする2元巡回符号符号化方
    法。
  16. 【請求項16】 復号化する受信データを複数ビット毎
    に入力する入力手段と、 該複数ビットの受信データに対して2元巡回符号の生成
    行列の一部もしくはパリティ検査行列の転置行列の一部
    に対応する行列との行列演算を含む演算処理を施す演算
    手段と、 該演算手段により得たパリティ検査ビットと受信したパ
    リティ検査ビットとを比較する比較手段とを具備する2
    元巡回符号復号化装置。
  17. 【請求項17】 前記演算手段は、前記パリティ検査ビ
    ットに対応するビット数のデータを記憶する記憶手段
    と、該記憶手段に記憶されているデータの一部と前記複
    数ビットの受信データとを加算する加算手段と、該加算
    手段の出力に対して前記行列演算を行い、その演算結果
    に応じて前記記憶手段を書き換える行列演算手段とを含
    むことを特徴とする請求項16に記載の2元巡回符号符
    号化装置。
  18. 【請求項18】 復号化する受信データを複数ビット毎
    に入力し、 該複数ビットの受信データに対して2元巡回符号の生成
    行列の一部もしくはパリティ検査行列の転置行列の一部
    に対応する行列との行列演算を含む演算処理を施し、 該演算処理により得たパリティ検査ビットと受信したパ
    リティ検査ビットとを比較することを特徴とする2元巡
    回符号復号化方法。
JP13766996A 1996-05-07 1996-05-07 2元巡回符号符号化装置及び2元巡回符号符号化方法、並びに2元巡回符号復号化装置及び2元巡回符号復号化方法 Pending JPH09298471A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13766996A JPH09298471A (ja) 1996-05-07 1996-05-07 2元巡回符号符号化装置及び2元巡回符号符号化方法、並びに2元巡回符号復号化装置及び2元巡回符号復号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13766996A JPH09298471A (ja) 1996-05-07 1996-05-07 2元巡回符号符号化装置及び2元巡回符号符号化方法、並びに2元巡回符号復号化装置及び2元巡回符号復号化方法

Publications (1)

Publication Number Publication Date
JPH09298471A true JPH09298471A (ja) 1997-11-18

Family

ID=15204056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13766996A Pending JPH09298471A (ja) 1996-05-07 1996-05-07 2元巡回符号符号化装置及び2元巡回符号符号化方法、並びに2元巡回符号復号化装置及び2元巡回符号復号化方法

Country Status (1)

Country Link
JP (1) JPH09298471A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006075417A1 (ja) * 2005-01-14 2006-07-20 Fujitsu Limited 符号化方法、復号方法及びそれらの装置
WO2011142133A1 (ja) * 2010-05-11 2011-11-17 エイシップ・ソリューションズ株式会社 誤り訂正符号処理方法及びその装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006075417A1 (ja) * 2005-01-14 2006-07-20 Fujitsu Limited 符号化方法、復号方法及びそれらの装置
WO2011142133A1 (ja) * 2010-05-11 2011-11-17 エイシップ・ソリューションズ株式会社 誤り訂正符号処理方法及びその装置
US9166624B2 (en) 2010-05-11 2015-10-20 Osaka University Error-correcting code processing method and device

Similar Documents

Publication Publication Date Title
KR100975062B1 (ko) 가변길이 부호화 장치 및 가변길이 부호화 방법
EP0350439B1 (en) A method of generating a compressed representation of a source data string
EP2053749B1 (en) Encoding method and apparatus, and program
JPS6261178B2 (ja)
JP3238128B2 (ja) リードソロモン符号化装置および方法
JPH03500952A (ja) ソフトデシジョン・リード‐ソロモン復号器
JPH0916373A (ja) 可変長コードの符号化及び分割装置
JPH03503707A (ja) 統計的にコード化されたデジタル・データを復号するシステム
TW201028013A (en) Method and system for encoded video compression
JPH09298471A (ja) 2元巡回符号符号化装置及び2元巡回符号符号化方法、並びに2元巡回符号復号化装置及び2元巡回符号復号化方法
EP0647034B1 (en) A variable word length code decoding method, and a decoder for performing the same
JP3389391B2 (ja) 可変長コードの符号化及び分割装置
JP2010050697A (ja) 画像圧縮伸張装置および画像圧縮伸張方法
JP3429623B2 (ja) 高速可変長符号復号化装置
JPH0476540B2 (ja)
JP3083532B2 (ja) 情報信号復号装置
JP2999561B2 (ja) データ圧縮及び復元装置
JP2012034272A (ja) 文字列データ圧縮装置及びその方法並びに文字列データ復元装置及びその方法
KR100207428B1 (ko) 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법
JPH0969836A (ja) Crc符号生成回路およびcrc符号生成回路設計方法
JPH0774655A (ja) 誤り訂正符号化器
KR970003979B1 (ko) 갈로이스 필드상의 승산기
JPH10215187A (ja) 誤り検出符号化復号装置および方法
KR100291718B1 (ko) 순환 중복 검사 부호화 장치
JPH0810835B2 (ja) 符号伝送装置の符号化部及び復号化部

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050606

A131 Notification of reasons for refusal

Effective date: 20050614

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051018