(57)【特許請求の範囲】
【請求項１】
符号長の異なる複数のデータのそれぞれを対象としたCRC符号化処理用の複数の生成多項式を有し、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行うCRC符号化処理手段と、
前記CRC符号化処理手段によりCRC符号化処理が行われることによって得られたデータを送信する送信手段と
を備え、
前記CRC符号化処理手段は、第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、対象とするデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えてCRC符号化処理を行い、
前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、
前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である
送信装置。
【請求項２】
符号長の異なる複数のデータのそれぞれを対象としたCRC符号化処理用の複数の生成多項式を有する送信装置の送信方法において、
第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、対象とするデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えるように、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行い、
CRC符号化処理を行うことによって得られたデータを送信する
ステップを含み、
前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、
前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である
送信方法。
【請求項３】
符号長の異なる複数のデータのそれぞれを対象としたCRC符号化処理用の複数の生成多項式を有する送信装置の処理をコンピュータに実行させるプログラムにおいて、
第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、対象とするデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えるように、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行い、
CRC符号化処理を行うことによって得られたデータを送信する
ステップを含み、
前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、
前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である
処理をコンピュータに実行させるプログラム。
【請求項４】
送信装置から送信されてきた信号に基づいてデータを取得する取得手段と、
符号長の異なる複数のデータのそれぞれを対象としたCRC処理用の複数の生成多項式を有し、前記取得手段により取得されたデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出するCRC処理手段と
を備え、
前記CRC処理手段は、第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、前記取得手段により取得されたデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えてCRC処理を行い、
前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、
前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である
受信装置。
【請求項５】
符号長の異なる複数のデータのそれぞれを対象としたCRC処理用の複数の生成多項式を有する受信装置の受信方法において、
送信装置から送信されてきた信号に基づいてデータを取得し、
第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、取得したデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えるように、取得したデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出する
ステップを含み、
前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、
前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である
受信方法。
【請求項６】
符号長の異なる複数のデータのそれぞれを対象としたCRC処理用の複数の生成多項式を有する受信装置の処理をコンピュータに実行させるプログラムにおいて、
送信装置から送信されてきた信号に基づいてデータを取得し、
第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、取得したデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えるように、取得したデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出する
ステップを含み、
前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、
前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置および方法、受信装置および方法、並びにプログラムに関し、特に、符号長の異なる複数のデータに対してCRCを用いるシステムにおいて限界値に近い未検出誤り確率特性が得られるようにした送信装置および方法、受信装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
情報記録装置から情報再生装置に対してデータを伝送する場合、または、送信装置から受信装置に対してデータを送信する場合、伝送路上などにおいてデータに誤りが生じることがある。データに誤りが生じたかどうかを検出する方法としてCRC(Cyclic Redundancy Check)（巡回冗長検査）がある。CRCを行うためには、送信対象のデータを送信側の装置において予めCRC符号化しておく必要がある。
【０００３】
図１は、送受信システムの構成例を示すブロック図である。
【０００４】
図１の送受信システムは、送信装置１と受信装置３が伝送路２を介して接続されることによって構成される。送信装置１はCRC符号器１１、誤り訂正符号器１２、および伝送路符号器１３から構成され、受信装置３は符号検出器２１、伝送路復号器２２、誤り訂正復号器２３、およびCRC検出器２４から構成される。送信対象のデータである送信データは、CRC符号化処理の対象の情報語として送信装置１のCRC符号器１１に入力される。
【０００５】
CRC符号化処理の対象となる情報語は１，０の値をとるビット列の形でCRC符号器１１に入力されるため、以下、適宜、CRC符号化処理の対象となる情報語を情報ビット系列ともいう。また、情報ビット系列にCRC符号化処理を施すことによって得られる、１，０の値をとるビット列で表される符号語（CRC符号）を符号ビット系列という。
【０００６】
CRC符号器１１は、入力された情報語にCRCパリティを付加することによってCRC符号化処理を行う。CRC符号器１１は、CRC符号化処理を行うことによって得られたCRC符号を誤り訂正符号器１２に出力する。
【０００７】
誤り訂正符号器１２は、CRC符号器１１から供給されたCRC符号に対してReed-Solomon符号化処理などの誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータを伝送路符号器１３に出力する。
【０００８】
伝送路符号器１３は、誤り訂正符号器１２から供給されたデータに対して、伝送路２に応じた符号化処理（変調処理等）を施し、得られたデータを伝送路２を介して受信装置３に送信する。伝送路符号器１３から送信されたデータを表す信号は伝送路２を介して受信装置３の符号検出器２１に入力される。
【０００９】
符号検出器２１は、入力された信号に基づいてデータを検出し、検出したデータを伝送路復号器２２に出力する。
【００１０】
伝送路復号器２２は、符号検出器２１から供給されたデータに対して伝送路２に応じた復号処理（復調処理等）を施し、得られたデータを誤り訂正復号器２３に出力する。
【００１１】
誤り訂正復号器２３は、伝送路復号器２２から供給されたデータに対して誤り訂正処理を施し、誤り訂正処理を施すことによって得られたデータを受信データとして出力する。誤り訂正復号器２３から出力された受信データは、１，０の値をとるビット列からなる受信ビット系列として後段の装置に供給されるとともに、CRC検出器２４に供給される。
【００１２】
CRC検出器２４は、誤り訂正復号器２３から供給された受信ビット系列に対してCRC処理を施し、誤り訂正が正しく行われたかどうか、すなわち、受信ビット系列に誤りがあるかどうかを判定する。CRC検出器２４は、判定結果を表す一致信号を後段の装置に出力する。
【００１３】
受信装置３の後段にある装置が記録装置であり、その記録装置に、受信データを記録媒体に記録させるドライブが設けられている場合、CRC検出器２４から出力された一致信号は、ドライブのコントローラにおいてデータの再送信要求を送信装置１に対して行うか否かを判断するためなどの信頼性向上のために用いられる。CRC符号のその他の用途として、符号検出器２１におけるポストプロセッサの一部として用いられたり、ヘッダ情報や、パケット通信における送信パケットに対しても用いられたりする。
【００１４】
ここで、CRC符号による誤り検出の原理について説明する。
【００１５】
ｋビットからなる情報語にｒビットのパリティを付加して符号長ｎ（ｎ＝ｋ＋ｒ）ビットの符号語とする場合、情報語を多項式で表現した（k-1）次（order)の情報多項式M(x)にｘrを掛けた値M(x)・ｘrは、その値をｒ次の生成多項式（generator polynomial）G(x)で割ったときに得られる（r-1）次の剰余多項式をR(x)、商多項式をQ(x)とすると下式（１）によって表される。また、CRC符号化処理によって得られた符号語を（n-1）次の符号多項式W(x)とすると、符号多項式W(x)は下式（２）によって表される。
【数１】
0004798164.tif 000002
【数２】
0004798164.tif 000003
【００１６】
式（１）、（２）から、符号多項式W(x)は下式（３）で表される。この符号多項式W(x)は生成多項式G(x)で割り切れる式となる。
【数３】
0004798164.tif 000004
【００１７】
以上のことから、図１の送信装置１から送信された、符号多項式W(x)で表される符号語を受信した受信装置３のCRC検出器２４においては、誤り訂正復号器２３から供給された受信データを受信多項式Y(x)とすると、この受信多項式Y(x)が生成多項式G(x)で割り切れるかどうかが調べられる。
【００１８】
その結果、受信多項式Y(x)が生成多項式G(x)で割り切れる場合、受信多項式Y(x)は符号多項式W(x)と一致していることになるので、CRC検出器２４においては誤りが発生しなかったと判定される。一方、受信多項式Y(x)が生成多項式G(x)で割り切れない場合、受信多項式Y(x)が符号多項式W(x)と一致していないことになるので、CRC検出器２４においては伝送路２上で誤りが生じたと判定される。
【００１９】
CRC符号は巡回符号であるため、生成多項式G(x)が定まればシフトレジスタと排他的論理和演算回路を用いて容易に装置化することが可能である。生成多項式G(x)としては、１６ビットCRCであるCRC-CCITT（G(x)＝x16＋x12＋x5＋１）やCRC-ANSI（G(x)＝x16＋x15＋x2＋１）が広く知られている。
【００２０】
以下、生成多項式G(x)＝x3＋x＋１（ｒ＝３）とした場合の送信装置１のCRC符号器１１と受信装置３のCRC検出器２４の構成について説明する。
【００２１】
図２は、CRC符号器１１の構成例を示す図である。
【００２２】
図２に示されるように、CRC符号器１１は、CRCパリティ生成器３１、セレクタ３２、セレクタ３３、およびビット数カウンタ３４から構成される。このような構成を有するCRC符号器１１においては、情報多項式M(x)で表される情報ビット系列から符号多項式W(x)で表される符号ビット系列が生成される。
【００２３】
CRCパリティ生成器３１は、ｋビットの情報ビット系列に付加するｒビットのCRCパリティを生成し、生成したCRCパリティをセレクタ３２に出力する。CRCパリティ生成器３１の構成については図３を参照して後述する。
【００２４】
セレクタ３２は、図示せぬ制御回路から出力されるセレクト信号Ｓ０に従って、CRCパリティ生成器３１から入力端子００，０１，１０に入力された出力Ｒ００out，Ｒ０１out，Ｒ０２outのうちの１つを順に選択し、セレクタ３３の「１」入力端子に出力する。
【００２５】
セレクタ３３は、ビット数カウンタ３４から出力されるセレクト信号Ｓ１に従って、「０」入力端子にｋビットの情報ビット系列が入力される期間においてはその情報ビット系列を選択してそのまま出力する。また、セレクタ３３は、情報ビット系列の入力が終わったタイミングで、「１」入力端子に入力されたセレクタ３２の出力であるCRCパリティを選択して出力する。
【００２６】
このように、セレクタ３３からは、ｋビットの情報ビット系列と、ｋビットの情報ビット系列に基づいて生成されたｒビットのCRCパリティからなる、符号長ｎ＝ｋ＋ｒの符号ビット系列が出力される。
【００２７】
図３は、図２のCRCパリティ生成器３１の構成例を示す回路図である。上述したように、生成多項式G(x)はx3＋x＋１である。
【００２８】
図３に示されるように、CRCパリティ生成器３１は、シフトレジスタＲ００、第１の排他的論理和演算回路であるEXOR１、シフトレジスタＲ０１、シフトレジスタＲ０２、および、第２の排他的論理和演算回路であるEXOR２が巡回状に接続されることによって構成される。EXOR２の出力はシフトレジスタＲ００に入力されるとともにEXOR１に入力される。
【００２９】
情報多項式M(x)によって表される情報ビット系列は、毎時刻（例えば、シフトレジスタを動作させるクロック信号で規定される１タイミング毎に）、高次の項のビットから順に１ビットずつEXOR２に入力される。情報多項式M(x)にｘrが予め乗じられた形の情報ビット系列M(x)・ｘrがCRCパリティ生成器３１に入力されることになる。シフトレジスタＲ００，Ｒ０１，Ｒ０２の初期値は０である。
【００３０】
情報ビット系列の零次の項のビットをCRCパリティ生成器３１に入力し終えたとき、図示せぬ制御回路から出力されるイネーブル信号Ｅ０がディセーブル（不活性状態）となり、シフトレジスタＲ００，Ｒ０１，Ｒ０２の値は保持される。この、情報ビット系列の零次の項のビットをCRCパリティ生成器３１に入力し終えた時点でのシフトレジスタＲ００，Ｒ０１，Ｒ０２の値が、剰余多項式R(x)の各次数の係数となる。すなわち、剰余多項式R(x)は、R(x)＝（Ｒ０２の値）×ｘ2＋（Ｒ０１の値）×ｘ＋（Ｒ００の値）で表される。
【００３１】
シフトレジスタＲ００，Ｒ０１，Ｒ０２の値は、それぞれ、出力Ｒ００out，Ｒ０１out，Ｒ０２outとしてセレクタ３２に出力される。出力Ｒ００outはセレクタ３２の入力端子００に入力され、出力Ｒ０１outは入力端子０１に入力され、出力Ｒ０２outは入力端子００に入力される。
【００３２】
図４は、受信装置３のCRC検出器２４の構成例を示す図である。
【００３３】
図４に示されるように、CRC検出器２４はCRCパリティ検査器４１と比較器４２から構成される。このような構成を有するCRC検出器２４において、誤り訂正復号器２３から供給された受信多項式Y(x)で表される受信ビット系列に誤りがないかどうかの検査が行われる。
【００３４】
CRCパリティ検査器４１は、受信多項式Y(x)を生成多項式G(x)で割り、剰余多項式R(x)の係数を表す出力Ｒ１０out，Ｒ１１out，Ｒ１２outを比較器４２に出力する。
【００３５】
比較器４２は、CRCパリティ検査器４１からの出力Ｒ１０out，Ｒ１１out，Ｒ１２outに基づいて、受信多項式Y(x)を生成多項式G(x)で割った結果に剰余があるか否かを判断する。
【００３６】
比較器４２は、出力Ｒ１０out，Ｒ１１out，Ｒ１２outの値が全て０であることから、受信多項式Y(x)を生成多項式G(x)で割った結果に剰余がなく、受信多項式Y(x)が生成多項式G(x)で割り切れたと判断した場合、受信多項式Y(x)は符号多項式W(x)と一致することからデータに誤りが発生していないと判定し、そのことを表す一致信号を出力する。また、比較器４２は、受信多項式Y(x)を生成多項式G(x)で割った結果に剰余があり、受信多項式Y(x)が生成多項式G(x)で割り切れなかったと判断した場合、受信多項式Y(x)は符号多項式W(x)と一致していないことからデータに誤りが発生したと判定し、そのことを表す一致信号を出力する。
【００３７】
図５は、図４のCRCパリティ検査器４１の構成例を示す回路図である。
【００３８】
CRCパリティ検査器４１の構成は図３に示されるCRCパリティ生成器３１の構成に対応しており、図５に示されるように、第１の排他的論理和演算回路であるEXOR１１、シフトレジスタＲ１０、第２の排他的論理和演算回路であるEXOR１２、シフトレジスタＲ１１、およびシフトレジスタＲ１２が巡回状に接続されることによって構成される。シフトレジスタＲ１２の出力は出力Ｒ１２outとして比較器４２に入力されるとともに、EXOR１１とEXOR１２に入力される。
【００３９】
受信多項式Y(x)によって表される受信ビット系列は、毎時刻、高次の項のビットから順に１ビットずつEXOR１１に入力される。シフトレジスタＲ１０，Ｒ１１，Ｒ１２の初期値は０である。
【００４０】
受信ビット系列の零次の項のビットをCRCパリティ検査器４１に入力し終えた時点でのシフトレジスタＲ１０，Ｒ１１，Ｒ１２の値が、剰余多項式R(x)の各次数の係数となる。すなわち、剰余多項式R(x)は、R(X)＝（Ｒ１２の値）×ｘ2＋（Ｒ１１の値）×ｘ＋（Ｒ１０の値）で表される。
【００４１】
シフトレジスタＲ１０，Ｒ１１，Ｒ１２の値は、それぞれ、出力Ｒ１０out，Ｒ１１out，Ｒ１２outとして比較器４２に出力される。
【００４２】
以上のような構成を有する装置によって実現されるCRCの性能は、一般的に、生成多項式G(x)の次数、未検出誤り確率Ｐud、および、最小ハミング距離dminによって大きく影響を受ける。
【００４３】
例えば、ランダム誤り検出能力は、（dmin−１）個以下の全ての誤りを検出できるものとなる。ただし、それ以外の誤りも数多く検出できる。また、バースト誤り検出能力は、長さが生成多項式Ｇ（ｘ）の次数以下の誤りは全て検出できるものとなる。ただし、長さが生成多項式の次数よりも大きいバースト誤りであっても、その多くは検出可能である。
【００４４】
ここで、未検出誤り確率Ｐudとは、伝送路上で生じた誤りによって、受信ビット系列が、送信された符号ビット系列とは別の符号ビット系列（送信対象のデータとして与えられた情報ビット系列とは別の情報ビット系列に対してCRCパリティを付加して得られた符号ビット系列）に変化してしまい、実際には受信ビット系列に誤りがあるのに、誤りなしとして受信側の装置において判定されてしまう確率をいう。
【００４５】
未検出誤り確率Ｐudは、パリティ数ｒ、符号長ｎ、生成多項式G(x)と符号長ｎが決まると求まる重み分布Ａ、もしくは双対符号（dual code）の重み分布Ｂ、２元対称通信路（Binary Symmetric Channel）におけるチャネルビット誤り確率（遷移確率）εによって下式（４）、（５）のように表される（非特許文献１）。
【数４】
0004798164.tif 000005
【数５】
0004798164.tif 000006
【００４６】
非特許文献２〜８においては、生成多項式の次数（パリティ数）や符号長に応じた、未検出誤り確率を最小化する様々な生成多項式が提案されている。
【００４７】
例えば、非特許文献２，３では、１６ビットCRCにおいて、各符号長に対して符号の未検出誤り確率が最小となるような生成多項式が提案されている。
【００４８】
また、非特許文献５，８には、符号長ｎを変化させた場合、最小ハミング距離dminが変化する符号長を境に未検出誤り確率Ｐudが極端に変わるという特性があることが示されている。この特性を図６に示す。図６においては、１６ビットCRCにおける最小（限界）の未検出誤り確率が示されている。
【００４９】
図６の横軸は符号長ｎ（ビット）を表し、縦軸は未検出誤り確率Ｐudを表す。図６の点線はCRC-CCITT規格で採用される生成多項式G(x)＝x16＋x12＋x5＋１を各符号長のデータに対して用いた場合の未検出誤り確率を表し、実線は１６ビットCRCにおける理論上の限界の未検出誤り確率を表す。
【００５０】
特許文献１には、CRC生成多項式の選択方法に関する発明が開示されている。この発明においては、生成多項式の次数が与えられたとき、その次数の全ての生成多項式に対して計算したdistance spectrum（距離スペクトル）を元に生成多項式が選択される。distance spectrumはそれぞれのハミング距離における符号語の数を表したテーブルである。これにより、最大・最小ハミング距離を持つ、未検出誤り確率を最小化する生成多項式が選択される。
【００５１】
特許文献２には、与えられた符号長およびCRCパリティ長において、未検出誤り確率ができるだけ低く、最小ハミング距離ができるだけ大きく、かつ、できるだけ広い符号長範囲において使用できる生成多項式の選択方法が開示されている。
【００５２】
【非特許文献１】J.K.Wolf, R.D.Blakeney,“An exact evaluation of the probability of undetected error for certain shortened binary CRC codes,”Military Communications Conference,1988. MILCOM 88, Conference record. '21st Century Military Communications - What's Possible?'. 1988 IEEE, vol.1, pp.287-292, Oct.1988.
【非特許文献２】T.Baicheva, S.Dodunekov, P.Kazakov,“Undetected error probability performance of cyclic redundancy-check codes of 16-bitredundancy,”IEE Proc.-Commun. ,vol.147, no.5, pp.253-256, Oct.2000.
【非特許文献３】P.Kazakov, “Fast Calculation of the Number of Minimum-Weight Words of CRC Codes,”IEEE Trans.Inform.Theory, vol.47, no.3 ,pp.1190-1195, Mar.2001.
【非特許文献４】P.Koopman,“Cyclic Redundancy Code(CRC) Polynomial Selection For Embedded Networks,”The International Conference on Dependable System and Networks, DSN-2004.
【非特許文献５】G.Castagnoli, J.Ganz, P.Graber,“Optimum Cyclic Redundancy-Check Codes with 16-Bit Redundancy,”IEEE Trans.Commun. , vol.38, no.1, pp.111-114, Jan.1990.
【非特許文献６】G.Funk,“Determination of Best Shortened Codes,”IEEE Trans.Commun. ,vol.44 ,no.1 ,pp.1-6 ,Jan.1996.
【非特許文献７】D.Chun, J.K.Wolf,“Special Hardware for Computing the Probability of Undetected Error for Certain CRC Codes and Test Results,”IEEE Trans.Commun. , vol.42, no.10, pp.2769-2772, Oct.1994.
【非特許文献８】G.Castagnoli, S.Brauer, M.Herrmann,“Optimum of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits,”IEEE Trans.Commun. , vol.41, no.6, pp.883-892, Jun.1993.
【特許文献１】米国特許第6,085,349号明細書
【特許文献２】特開２００６−１８０１７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００５３】
上述したように、CRCの性能（未検出誤り確率、確実に誤り検出が可能なビット数）は生成多項式と符号長によって決まる。全ての符号長において未検出誤り確率や最小ハミング距離が最適となる生成多項式は存在せず、符号長に応じて最適な生成多項式は異なる。つまり、広く用いられているCRC-CCITT規格やANSI規格、および、非特許文献４〜８に示される生成多項式は、未検出誤り確率や最小ハミング距離が最適となる符号長の範囲が限られる。
【００５４】
また、図６に示されるように、CRC-CCITT規格などで採用される生成多項式は、符号長が長く、数千ビット以上のデータを対象とした場合に未検出誤り確率が最小となるように設計されており、符号長が数千ビットにも満たない短いデータを対象とした場合にはさらに良い性能を示す生成多項式が存在する。
【００５５】
さらに、実際のシステムにおいては、様々な符号長やCRCパリティ長が使用されるが、これまで、全ての符号長やCRCパリティ長について最適な生成多項式が明らかになっている訳ではなく、現在知られている生成多項式だけでは実際のシステムにおいて最小の未検出誤り確率を得る上で必ずしも十分ではなかった。
【００５６】
ヘッダデータやサブヘッダデータがユーザデータに付加されることによって構成される情報を単位として行われる一般的な通信システムにおいては、ヘッダデータとサブヘッダデータの両方でCRCを使用したり、ヘッダデータとユーザデータの両方でCRCを使用したりすることは頻繁に行われる。
【００５７】
しかし、そのような場合であっても単一の生成多項式が用いられることが一般的であり、現実に実用化されている通信システムでは、対象とするデータの符号長の変化に対応させて生成多項式を変化させるようなことは行われていない。特許文献２には生成多項式を符号長に応じて選択する方法が開示されているが、そのような、対象とするデータの符号長の変化に対応させて生成多項式を選択するといったことについては必ずしも十分な検討がなされているとはいえない。
【００５８】
符号長が大きく異なる複数のデータを対象として、符号長が長い場合に未検出誤り確率が最小となるように設計されたCRC-CCITT規格などで採用されている生成多項式を単一で用いた場合、当然、短い符号長のデータを対象とした際には、限界値から大きく劣化した未検出誤り確率性能しか得られないことになる。
【００５９】
例えば、IEEE802.15.3c規格で規定されるヘッダデータやサブヘッダデータは数百ビットの符号長のデータであるが、このような数百ビットの符号長のデータに対してCRC-CCITT規格で採用されるものと同じ生成多項式を用いて処理を行うとした場合、その未検出誤り確率は、符号長が数百ビット付近の特性として図６に示されるように理論上の限界値とはかなり離れたものになる。
【００６０】
本発明はこのような状況に鑑みてなされたものであり、特に、対象とするデータの符号長が比較的短い場合においても、限界値に近い未検出誤り確率特性が得られる生成多項式を用いて処理を行うことができるようにするものである。
【課題を解決するための手段】
【００６１】
本発明の一側面の送信装置は、符号長の異なる複数のデータのそれぞれを対象としたCRC符号化処理用の複数の生成多項式を有し、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行うCRC符号化処理手段と、前記CRC符号化処理手段によりCRC符号化処理が行われることによって得られたデータを送信する送信手段とを備え、前記CRC符号化処理手段は、第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、対象とするデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えてCRC符号化処理を行い、前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である。
【００６４】
本発明の一側面の送信方法またはプログラムは、第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、対象とするデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えるように、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理を行い、CRC符号化処理を行うことによって得られたデータを送信するステップを含む。前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である。
【００６５】
本発明の他の側面の受信装置は、送信装置から送信されてきた信号に基づいてデータを取得する取得手段と、符号長の異なる複数のデータのそれぞれを対象としたCRC処理用の複数の生成多項式を有し、前記取得手段により取得されたデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出するCRC処理手段とを備え、前記CRC処理手段は、第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、前記取得手段により取得されたデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えてCRC処理を行い、前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である。
【００６８】
本発明の他の側面の受信方法またはプログラムは、送信装置から送信されてきた信号に基づいてデータを取得し、第１の符号長の第１のデータ用の第１の生成多項式と、第２の符号長の第２のデータ用の第２の生成多項式とを前記複数の生成多項式として有し、取得したデータが前記第１のデータであるか前記第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えるように、取得したデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りを検出するステップを含む。前記第１の生成多項式は、前記第１の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式であり、前記第２の生成多項式は、前記第２の符号長における最小ハミング距離の最大値とその最小ハミング距離が等しい生成多項式であって、未検出誤り確率が低い順に所定の数だけ選択された生成多項式の中から選択された生成多項式である。
【００６９】
本発明の一側面においては、対象とするデータが第１のデータであるか第２のデータであるかに応じて前記第１と第２の生成多項式を切り替えるように、対象とするデータに応じて生成多項式を切り替えてCRC符号化処理が行われ、CRC符号化処理が行われることによって得られたデータが送信される。
【００７０】
本発明の他の側面においては、送信装置から送信されてきた信号に基づいてデータが取得され、取得されたデータが第１のデータであるか第２のデータであるかに応じて第１と第２の生成多項式を切り替えるように、取得されたデータに応じて生成多項式を切り替えてCRC処理を行うことによってデータの誤りが検出される。
【発明の効果】
【００７１】
本発明によれば、限界値に近い未検出確率特性が得られる生成多項式を用いて処理を行うことができる。
【発明を実施するための最良の形態】
【００７２】
図７は、本発明の一実施形態に係る送受信システムの構成例を示すブロック図である。
【００７３】
図７の送受信システムは、データの送信側の装置である送信装置１０１と、データの受信側の装置である受信装置１０２から構成される。図７の送受信システムにおいては、例えば、６０GHz帯のミリ波を使った無線通信規格であるIEEE802.15.3c規格に従ってデータの送受信が行われる。
【００７４】
送信装置１０１は、ビデオデータ、オーディオデータなどの送信対象のデータであるユーザデータや、ヘッダデータ、サブヘッダデータに対してCRC符号化処理、誤り訂正符号化処理、伝送路符号化処理を適宜施し、それらの処理を施して得られたデータを送信する。
【００７５】
送信装置１０１には、ヘッダデータを対象としてCRC符号化処理を行うときに用いるヘッダデータ用の生成多項式と、サブヘッダデータを対象としてCRC符号化処理を行うときに用いるサブヘッダデータ用の生成多項式が設定されており、CRC符号化処理の対象とするデータに応じて生成多項式が切り替えられる。
【００７６】
ヘッダデータ用の生成多項式は、ヘッダデータの符号長と同じ例えば１７６ビットのデータに用いたときに未検出誤り確率が低くなる生成多項式であり、サブヘッダデータ用の生成多項式は、サブヘッダデータの符号長と同じ例えば６５６ビットのデータに用いたときに未検出誤り確率が低くなる生成多項式である。それぞれの生成多項式の選択の仕方については後述する。
【００７７】
送信装置１０１から送信されたデータは、空間を伝送路として受信装置１０２により受信される。
【００７８】
受信装置１０２は、受信信号からデータを検出し、検出したデータに対して伝送路復号処理、誤り訂正復号処理を施すことによって受信データを取得する。取得された受信データは、受信装置１０２により、または、受信装置１０２に接続される外部の装置により、その再生や記録などに用いられる。
【００７９】
また、受信装置１０２は、受信データを対象としてCRC処理を行うことによって、データの誤りを検出する。受信装置１０２に対しても、送信装置１０１と同様にヘッダデータ用の生成多項式とサブヘッダデータ用の生成多項式が設定されており、CRC処理に用いる生成多項式が切り替えられるようになされている。
【００８０】
このように、対象とするデータがヘッダデータであるかサブヘッダデータであるかに応じて生成多項式が切り替えられて送信装置１０１においてCRC符号化処理が行われ、受信装置１０２においてCRC処理が行われるようにすることにより、信頼性の高いCRCを実現することが可能になる。
【００８１】
図８は、送信装置１０１の構成例を示すブロック図である。
【００８２】
図８に示されるように、送信装置１０１は、制御器１１１、CRC符号器１１２、誤り訂正符号器１１３、および伝送路符号器１１４から構成される。
【００８３】
制御器１１１は、ユーザにより入力されたユーザデータ、ヘッダデータ、サブヘッダデータを所定の順番でCRC符号器１１２に出力する。
【００８４】
また、制御器１１１は、CRC符号器１１２においてCRC符号化処理の対象になっているデータがヘッダデータである場合、ヘッダデータ用の生成多項式を用いてCRC符号化処理を行うことを指示するセレクト信号を出力し、一方、CRC符号化処理の対象になっているデータがサブヘッダデータである場合、サブヘッダデータ用の生成多項式を用いてCRC符号化処理を行うことを指示するセレクト信号を出力するといったように、CRC符号化処理の対象になっているデータに応じて、CRC符号化処理に用いる生成多項式を指示するセレクト信号をCRC符号器１１２に出力する。
【００８５】
CRC符号器１１２は、制御器１１１から供給されたヘッダデータを対象としてCRC符号化処理を行うことによって得られたCRCパリティをヘッダに付加し、サブヘッダデータを対象としてCRC符号化処理を行うことによって得られたCRCパリティをサブヘッダに付加する。
【００８６】
ヘッダデータを対象として行われるCRC符号化処理と、サブヘッダデータを対象として行われるCRC符号化処理においては、制御器１１１から供給されたセレクト信号に従ってそれぞれ異なる生成多項式が用いられる。CRC符号器１１２は、ヘッダ、サブヘッダが付加された所定のフォーマットのデータを誤り訂正符号器１１３に出力する。なお、ユーザデータに対してもCRC符号化処理を施す必要がある場合、そのCRC符号化処理には予め設定されている所定の生成多項式が用いられる。
【００８７】
誤り訂正符号器１１３は、CRC符号器１１２から供給されたデータに対してReed-Solomon符号化処理などの誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータを伝送路符号器１１４に出力する。
【００８８】
伝送路符号器１１４は、誤り訂正符号器１１３から供給されたデータに対して、伝送路に応じた符号化処理（変調処理等）を施し、得られたデータを送信する。
【００８９】
図９は、図８のCRC符号器１１２のうちのCRCパリティを生成する部分（図３のCRCパリティ生成器３１に相当する部分）の構成例を示す図である。
【００９０】
図９の回路に対しては、ヘッダデータ、またはサブヘッダデータを構成するシリアルデータ（情報ビット系列）が入力される。
【００９１】
図９は、ヘッダデータ用の生成多項式としてG1(x)＝x16＋x14＋x13＋x12＋x8＋x7＋x6＋x5＋x2＋x＋1を用い、サブヘッダデータ用の生成多項式としてG2(x)＝x16＋x12＋x11＋x9＋x5＋x4＋x3＋x2＋1を用いた場合の例を示している。制御器１１１からのセレクト信号が０の値を表す場合、生成多項式G1(x)＝x16＋x14＋x13＋x12＋x8＋x7＋x6＋x5＋x2＋x＋1を用いて演算が行われ、１の値を表す場合、G2(x)＝x16＋x12＋x11＋x9＋x5＋x4＋x3＋x2＋1を用いて演算が行われる。図９において、シフトレジスタを表すブロック内の「Ｄ」の文字の右側の上付きの数字は直列に接続されているシフトレジスタの数を表す。後述する図１１においても同様である。
【００９２】
EXOR回路１２１においては、制御器１１１から入力されたシリアルデータと、シフトレジスタ１２２において２タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路１２１の演算結果はシリアルデータとして出力されるとともに、AND回路１４９乃至１５８、EXOR回路１２７，１３９，１４５、およびシフトレジスタ１４８に供給される。
【００９３】
EXOR回路１４７においては、シフトレジスタ１４８において１タイミング分だけ遅延された値と、AND回路１５８から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１４７の演算結果はシフトレジスタ１４６に供給される。
【００９４】
EXOR回路１４５においては、シフトレジスタ１４６において１タイミング分だけ遅延された値と、EXOR回路１２１から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１４５の演算結果はシフトレジスタ１４４に供給される。
【００９５】
EXOR回路１４３においては、シフトレジスタ１４４において１タイミング分だけ遅延された値と、AND回路１５７から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１４３の演算結果はシフトレジスタ１４２に供給される。
【００９６】
EXOR回路１４１においては、シフトレジスタ１４２において１タイミング分だけ遅延された値と、AND回路１５６から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１４１の演算結果はシフトレジスタ１４０に供給される。
【００９７】
EXOR回路１３９においては、シフトレジスタ１４０において１タイミング分だけ遅延された値と、EXOR回路１２１から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１３９の演算結果はシフトレジスタ１３８に供給される。
【００９８】
EXOR回路１３７においては、シフトレジスタ１３８において１タイミング分だけ遅延された値と、AND回路１５５から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１３７の演算結果はシフトレジスタ１３６に供給される。
【００９９】
EXOR回路１３５においては、シフトレジスタ１３６において１タイミング分だけ遅延された値と、AND回路１５４から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１３５の演算結果はシフトレジスタ１３４に供給される。
【０１００】
EXOR回路１３３においては、シフトレジスタ１３４において１タイミング分だけ遅延された値と、AND回路１５３から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１３３の演算結果はシフトレジスタ１３２に供給される。
【０１０１】
EXOR回路１３１においては、シフトレジスタ１３２において１タイミング分だけ遅延された値と、AND回路１５２から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１３１の演算結果はシフトレジスタ１３０に供給される。
【０１０２】
EXOR回路１２９においては、シフトレジスタ１３０においてさらに２タイミング分だけ遅延された値と、AND回路１５１から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１２９の演算結果はシフトレジスタ１２８に供給される。
【０１０３】
EXOR回路１２７においては、シフトレジスタ１２８において１タイミング分だけ遅延された値と、EXOR回路１２１から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１２７の演算結果はシフトレジスタ１２６に供給される。
【０１０４】
EXOR回路１２５においては、シフトレジスタ１２６において１タイミング分だけ遅延された値と、AND回路１５０から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１２５の演算結果はシフトレジスタ１２４に供給される。
【０１０５】
EXOR回路１２３においては、シフトレジスタ１２４において１タイミング分だけ遅延された値と、AND回路１４９から供給された値に基づいて排他的論理和演算が行われる。EXOR回路１２３の演算結果はシフトレジスタ１２２に供給される。
【０１０６】
AND回路１４９，１５０，１５３，１５４，１５５，１５８からは、EXOR回路１２１から出力された値とセレクト信号として制御器１１１から出力され、NOT回路１５９において反転された値がともに１である場合には１の値が出力され、それ以外のときには０の値が出力される。
【０１０７】
AND回路１５１，１５２，１５６，１５７からは、EXOR回路１２１から出力された値とセレクト信号として制御器１１１から出力された値がともに１である場合には１の値が出力され、それ以外のときには０の値が出力される。
【０１０８】
図１０は、受信装置１０２の構成例を示すブロック図である。
【０１０９】
図１０に示されるように、受信装置１０２は、符号検出器２０１、伝送路復号器２０２、誤り訂正復号器２０３、CRC検出器２０４、および制御器２０５から構成される。
【０１１０】
符号検出器２０１は、受信された信号に基づいてデータを検出し、検出したデータを伝送路復号器２０２に出力する。
【０１１１】
伝送路復号器２０２は、符号検出器２０１から供給されたデータに対して、伝送路に応じた復号処理（復調処理等）を施し、得られたデータを誤り訂正復号器２０３に出力する。
【０１１２】
誤り訂正復号器２０３は、伝送路復号器２０２から供給されたデータに対して誤り訂正処理を施し、誤り訂正処理を施すことによって得られたデータを受信データとして出力する。受信データには、ユーザデータ、ヘッダデータ、サブヘッダデータが含まれる。誤り訂正復号器２０３から出力された受信データは、受信データの再生や記録などを行う後段の処理部に供給されるとともに、CRC検出器２０４、制御器２０５に供給される。
【０１１３】
CRC検出器２０４は、誤り訂正復号器２０３から供給された受信データに対してCRC処理を施し、データの誤りを検出する。CRC検出器２０４は、ヘッダデータを対象としてCRC処理を行う場合、制御器２０５から供給されたセレクト信号に従って選択した生成多項式を用いてその処理を行い、サブヘッダデータを対象としてCRC処理を行う場合、制御器２０５から供給されたセレクト信号に従って選択した生成多項式を用いてその処理を行う。CRC検出器２０４は、検出結果を表す一致信号を後段の処理部に出力する。一致信号は、データの再送信を送信装置１０１に対して要求するか否かを判断するためなどに用いられる。
【０１１４】
制御器２０５は、誤り訂正復号器２０３から供給された受信データに基づいて、CRC検出器２０４においてCRC処理の対象になっているデータを特定する。制御器２０５に対しては、CRC検出器２０４に供給されるものと同じ受信データが誤り訂正復号器２０３から供給されてくる。
【０１１５】
制御器２０５は、CRC検出器２０４においてCRC処理の対象になっているデータがヘッダデータである場合、ヘッダデータ用の生成多項式を用いてCRC処理を行うことを指示するセレクト信号を出力し、一方、CRC処理の対象になっているデータがサブヘッダデータである場合、サブヘッダデータ用の生成多項式を用いてCRC処理を行うことを指示するセレクト信号を出力するといったように、CRC処理の対象になっているデータに応じて、CRC処理に用いる生成多項式を指示するセレクト信号をCRC検出器２０４に出力する。
【０１１６】
図１１は、図１０のCRC検出器２０４のうちのCRCパリティの検査を行う部分（図５のCRCパリティ検査器４１に相当する部分）の構成例を示す図である。
【０１１７】
図１１も、ヘッダデータ用の生成多項式としてG1(x)＝x16＋x14＋x13＋x12＋x8＋x7＋x6＋x5＋x2＋x＋1を用い、サブヘッダデータ用の生成多項式としてG2(x)＝x16＋x12＋x11＋x9＋x5＋x4＋x3＋x2＋1を用いた場合の例を示している。制御器２０５からのセレクト信号が０の値を表す場合、生成多項式G1(x)＝x16＋x14＋x13＋x12＋x8＋x7＋x6＋x5＋x2＋x＋1を用いて演算が行われ、１の値を表す場合、G2(x)＝x16＋x12＋x11＋x9＋x5＋x4＋x3＋x2＋1を用いて演算が行われる。
【０１１８】
EXOR回路２１１においては、誤り訂正復号器２０３からシリアルデータとして供給された受信データと、シフトレジスタ２３８において２タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路２１１の演算結果はシフトレジスタ２１２に供給される。
【０１１９】
EXOR回路２１３においては、シフトレジスタ２１２において１タイミング分だけ遅延された値と、AND回路２４８から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２１３の演算結果はシフトレジスタ２１４に供給される。
【０１２０】
EXOR回路２１５においては、シフトレジスタ２１４において１タイミング分だけ遅延された値と、シフトレジスタ２３８から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２１５の演算結果はシフトレジスタ２１６に供給される。
【０１２１】
EXOR回路２１７においては、シフトレジスタ２１６において１タイミング分だけ遅延された値と、AND回路２４７から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２１７の演算結果はシフトレジスタ２１８に供給される。
【０１２２】
EXOR回路２１９においては、シフトレジスタ２１８において１タイミング分だけ遅延された値と、AND回路２４６から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２１９の演算結果はシフトレジスタ２２０に供給される。
【０１２３】
EXOR回路２２１においては、シフトレジスタ２２０において１タイミング分だけ遅延された値と、シフトレジスタ２３８から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２２１の演算結果はシフトレジスタ２２２に供給される。
【０１２４】
EXOR回路２２３においては、シフトレジスタ２２２において１タイミング分だけ遅延された値と、AND回路２４５から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２２３の演算結果はシフトレジスタ２２４に供給される。
【０１２５】
EXOR回路２２５においては、シフトレジスタ２２４において１タイミング分だけ遅延された値と、AND回路２４４から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２２５の演算結果はシフトレジスタ２２６に供給される。
【０１２６】
EXOR回路２２７においては、シフトレジスタ２２６において１タイミング分だけ遅延された値と、AND回路２４３から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２２７の演算結果はシフトレジスタ２２８に供給される。
【０１２７】
EXOR回路２２９においては、シフトレジスタ２２８において１タイミング分だけ遅延された値と、AND回路２４２から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２２９の演算結果はシフトレジスタ２３０に供給される。
【０１２８】
EXOR回路２３１においては、シフトレジスタ２３０において２タイミング分だけ遅延された値と、AND回路２４１から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２３１の演算結果はシフトレジスタ２３２に供給される。
【０１２９】
EXOR回路２３３においては、シフトレジスタ２３２において１タイミング分だけ遅延された値と、シフトレジスタ２３８から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２３３の演算結果はシフトレジスタ２３４に供給される。
【０１３０】
EXOR回路２３５においては、シフトレジスタ２３４において１タイミング分だけ遅延された値と、AND回路２４０から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２３５の演算結果はシフトレジスタ２３６に供給される。
【０１３１】
EXOR回路２３７においては、シフトレジスタ２３６において１タイミング分だけ遅延された値と、AND回路２３９から供給された値に基づいて排他的論理和演算が行われる。EXOR回路２３７の演算結果はシフトレジスタ２３８に供給される。
【０１３２】
AND回路２３９，２４０，２４３，２４４，２４５，２４８からは、シフトレジスタ２３８において２タイミング分だけ遅延された値とセレクト信号として制御器２０５から出力され、NOT回路２４９において反転された値がともに１である場合には１の値が出力され、それ以外のときには０の値が出力される。
【０１３３】
AND回路２４１，２４２，２４６，２４７からは、シフトレジスタ２３８において２タイミング分だけ遅延された値とセレクト信号として制御器２０５から出力された値がともに１である場合には１の値が出力され、それ以外のときには０の値が出力される。
【０１３４】
ここで、以上のような構成を有する送信装置１０１と受信装置１０２の処理について説明する。
【０１３５】
はじめに、図１２のフローチャートを参照して、データを送信する送信装置１０１の処理について説明する。この処理は、送信装置１０１のユーザにより、ユーザデータ、ヘッダデータ、サブヘッダデータが入力されたときに開始される。
【０１３６】
ステップＳ１において、制御器１１１は、ユーザにより入力されたユーザデータ、ヘッダデータ、サブヘッダデータを所定の順番でCRC符号器１１２に出力する。
【０１３７】
ステップＳ２において、制御器１１１は、CRC符号化処理の対象になっているデータに応じて、CRC符号化処理に用いる生成多項式を指示するセレクト信号をCRC符号器１１２に出力する。
【０１３８】
ステップＳ３において、CRC符号器１１２は、制御器１１１から供給されたセレクト信号に従って生成多項式を切り替え、ヘッダデータを対象として、またはサブヘッダデータを対象としてCRC符号化処理を行う。ヘッダデータ用の生成多項式を用いて行われたCRC符号化処理によって得られたCRCパリティはヘッダに付加され、サブヘッダデータ用の生成多項式を用いて行われたCRC符号化処理によって得られたCRCパリティはサブヘッダに付加される。
【０１３９】
ステップＳ４において、誤り訂正符号器１１３は、CRC符号器１１２から供給されたデータに対して誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータを伝送路符号器１１４に出力する。
【０１４０】
ステップＳ５において、伝送路符号器１１４は、誤り訂正符号器１１３から供給されたデータに対して、伝送路に応じた符号化処理を施す。
【０１４１】
ステップＳ６において、伝送路符号器１１４は、符号化処理を施すことによって得られたデータを受信装置１０２に送信し、処理を終了させる。
【０１４２】
次に、図１３のフローチャートを参照して、データを受信する受信装置１０２の処理について説明する。
【０１４３】
ステップＳ１１において、符号検出器２０１は、受信された信号に基づいてデータを検出し、検出したデータを伝送路復号器２０２に出力する。
【０１４４】
ステップＳ１２において、伝送路復号器２０２は、符号検出器２０１から供給されたデータに対して、伝送路に応じた復号処理を施し、得られたデータを誤り訂正復号器２０３に出力する。
【０１４５】
ステップＳ１３において、誤り訂正復号器２０３は、伝送路復号器２０２から供給されたデータに対して誤り訂正処理を施し、誤り訂正処理を施すことによって得られたデータを受信データとして出力する。
【０１４６】
ステップＳ１４において、制御器２０５は、誤り訂正復号器２０３から供給された受信データに基づいて、CRC検出器２０４においてCRC処理の対象になっているデータを特定する。
【０１４７】
ステップＳ１５において、制御器２０５は、CRC処理の対象になっているデータに応じて、CRC処理に用いる生成多項式を指示するセレクト信号をCRC検出器２０４に出力する。
【０１４８】
ステップＳ１６において、CRC検出器２０４は、制御器２０５から供給されたセレクト信号に従って生成多項式を切り替え、誤り訂正復号器２０３から供給された受信データに対してCRC処理を施す。ヘッダデータを対象としてCRC処理を行う場合、ヘッダデータ用の生成多項式が用いられ、サブヘッダデータを対象としてCRC処理を行う場合、サブヘッダデータ用の生成多項式が用いられる。CRC検出器２０４は、CRC処理の結果を表す一致信号を出力し、処理を終了させる。
【０１４９】
以上の処理により、信頼性の高いCRCを実現することが可能になる。
【０１５０】
ここで、送信装置１０１のCRC符号器１１２と受信装置１０２のCRC検出器２０４に設定される生成多項式について説明する。
【０１５１】
以下、説明の便宜上、生成多項式G(x)の表現の仕方として、係数の並びを１６進数で表したものを採用する。例えば、１６進数の１２Ｄは、それを２進数で表すと１００１０１１０１であるので生成多項式G(x)＝x8＋x5＋x3＋x2＋1を表すことになる。また、生成多項式G(x)の項数をｗとする。相反多項式（reciprocal polynomial：高次の係数と低次の係数を逆転した多項式）は互いに同じ特性を示す。
【０１５２】
図１４は、符号長が３６ビットから１４９ビットのデータを対象とした処理において用いられる生成多項式の候補を示す図である。
【０１５３】
３６ビットから１４９ビットまでの範囲の所定の符号長のデータを対象として送信装置１０１のCRC符号器１１２においてCRC符号化処理が行われ、受信装置１０２のCRC検出器２０４においてCRC処理が行われる場合、図１４に示される候補の中から選択された生成多項式がCRC符号器１１２とCRC検出器２０４に設定される。
【０１５４】
図１４の左から１列目と４列目はインデックスＡ１乃至Ａ３４を表し、２列目と５列目は係数の並びを１６進数で表した生成多項式を表す。３列目と６列目はそれぞれの生成多項式の項数ｗを表す。
【０１５５】
例えば、インデックスＡ１の生成多項式G(x)は項数ｗが８である１３６１３（G(x)＝x16＋x13＋x12＋x10＋x9＋x4＋x＋1）であり、インデックスＡ２の生成多項式G(x)は項数ｗが１０である１３Ｄ６５（G(x)＝x16＋x13＋x12＋x11＋x10＋x8＋x6＋x5＋x2＋1）である。
【０１５６】
図１５は、図１４の生成多項式を、３６ビットから１４９ビットまでの範囲のそれぞれの符号長のデータを対象とした処理において用いられる生成多項式毎に分けて示す図である。図１５の左側の列は符号長ｎを表し、右側の列は生成多項式G(x)のインデックスを表す。
【０１５７】
例えば、３６ビットのデータを対象として送信装置１０１のCRC符号器１１２においてCRC符号化処理が行われ、受信装置１０２のCRC検出器２０４においてCRC処理が行われる場合、図１５の上から２行目に示されるように、インデックスＡ６，Ａ２５−Ａ２９，Ａ３１−Ａ３４の候補の中から選択された生成多項式がCRC符号器１１２とCRC検出器２０４に設定される。同様に、３７ビットのデータを対象としてCRC符号化処理、CRC処理が行われる場合、図１５の上から３行目に示されるように、インデックスＡ６，Ａ１１，Ａ２２，Ａ２５−Ａ３４の候補の中から選択された生成多項式がCRC符号器１１２とCRC検出器２０４に設定される。
【０１５８】
図１６は、符号長が１５２ビットから２５５ビットのデータを対象とした処理において用いられる生成多項式の候補を示す図である。
【０１５９】
図１６の左から１列目と４列目はインデックスＢ１乃至Ｂ１５を表し、２列目と５列目は係数の並びを１６進数で表した生成多項式を表す。３列目と６列目はそれぞれの生成多項式の項数ｗを表す。
【０１６０】
例えば、インデックスＢ１の生成多項式G(x)は項数ｗが１１である１５６Ｆ３（G(x)＝x16＋x14＋x12＋x10＋x9＋x7＋x6＋x5＋x4＋x＋1）であり、インデックスＢ２の生成多項式G(x)は項数ｗが５である１２１０９（G(x)＝x16＋x13＋x8＋x3＋1）である。
【０１６１】
図１７は、図１６の生成多項式を、１５２ビットから２５５ビットまでの範囲のそれぞれの符号長のデータを対象とした処理において用いられる生成多項式毎に分けて示す図である。図１７の左側の列は符号長ｎを表し、右側の列は生成多項式G(x)のインデックスを表す。
【０１６２】
例えば、１５２ビットから１７０ビットまでの所定の符号長のデータを対象として送信装置１０１のCRC符号器１１２においてCRC符号化処理が行われ、受信装置１０２のCRC検出器２０４においてCRC処理が行われる場合、図１７の上から２行目に示されるように、インデックスＢ１−Ｂ１５の候補の中から選択された生成多項式がCRC符号器１１２とCRC検出器２０４に設定される。同様に、１７１ビットから２５５ビットまでの所定の符号長のデータを対象としてCRC符号化処理、CRC処理が行われる場合、図１７の上から３行目に示されるように、インデックスＢ１−Ｂ１０，Ｂ１４，Ｂ１５の候補の中から選択された生成多項式がCRC符号器１１２とCRC検出器２０４に設定される。
【０１６３】
図１８は、符号長が２５８ビットから８００１ビットのデータを対象とした処理において用いられる生成多項式の候補を示す図である。
【０１６４】
図１８の左から１列目と４列目はインデックスＣ１乃至Ｃ３６を表し、２列目と５列目は係数の並びを１６進数で表した生成多項式を表す。３列目と６列目はそれぞれの生成多項式の項数ｗを表す。
【０１６５】
例えば、インデックスＣ１の生成多項式G(x)は項数ｗが９である１９４１Ｆ（G(x)＝x16＋x15＋x12＋x10＋x4＋x3＋x2＋x＋1）であり、インデックスＣ２の生成多項式G(x)は項数ｗが７である１６０８７（G(x)＝x16＋x14＋x13＋x7＋x2＋x＋1）である。
【０１６６】
図１９は、図１８の生成多項式を、２５８ビットから８００１ビットまでの範囲のそれぞれの符号長のデータを対象とした処理において用いられる生成多項式毎に分けて示す図である。図１９の左側の列は符号長ｎを表し、右側の列は生成多項式G(x)のインデックスを表す。
【０１６７】
例えば、２５８ビットから５９５ビットまでの所定の符号長のデータを対象として送信装置１０１のCRC符号器１１２においてCRC符号化処理が行われ、受信装置１０２のCRC検出器２０４においてCRC処理が行われる場合、図１９の上から２行目に示されるように、インデックスＣ１−Ｃ３５の候補の中から選択された生成多項式がCRC符号器１１２とCRC検出器２０４に設定される。同様に、５９６ビットから６００ビットまでの所定の符号長のデータを対象としてCRC符号化処理、CRC処理が行われる場合、図１９の上から３行目に示されるように、インデックスＣ１−Ｃ７，Ｃ９−Ｃ３５の候補の中から選択された生成多項式がCRC符号器１１２とCRC検出器２０４に設定される。
【０１６８】
図２０は、以上のような候補の中から選択した生成多項式を用いた場合の未検出誤り確率の計算結果を示す図である。
【０１６９】
図２０の未検出誤り確率の計算結果は、符号長が１７６ビットのヘッダデータ用の生成多項式として、図１７の上から３行目に示されるインデックスＢ１−Ｂ１０，Ｂ１４，Ｂ１５の候補の中からインデックスＢ４の１７１Ｅ７（G1(x)＝x16＋x14＋x13＋x12＋x8＋x7＋x6＋x5＋x2＋x＋1）を選択し、符号長が６５６ビットのサブヘッダデータ用の生成多項式として、図１９の上から９行目に示されるインデックスＣ１−Ｃ４，Ｃ７，Ｃ１０，Ｃ１３，Ｃ１５−Ｃ３５の候補の中からインデックスＣ３の１１Ａ３Ｄ（G2(x)＝x16＋x12＋x11＋x9＋x5＋x4＋x3＋x2＋1）を選択して１６ビットCRC（１６ビットのCRCパリティ）の生成、または検査を行った場合の結果を示している。すなわち、図２０は、図９、図１１の回路によって生成多項式G1(x)とG2(x)を切り替えて用いた場合の結果を示す。比較のため、CRC-CCITT（G(x)＝x16＋x12＋x5＋１）を用いた場合の未検出誤り確率も示している。
【０１７０】
図２０に示されるように、符号長が１７６ビットのヘッダデータに対してCRC符号化処理、CRC処理を施すために用いる生成多項式としてCRC-CCITT（G(x)＝x16＋x12＋x5＋１）を用いた場合、その未検出誤り確率は１．５６×１０-13となるのに対して、１７１Ｅ７（G1(x)＝x16＋x14＋x13＋x12＋x8＋x7＋x6＋x5＋x2＋x＋1）を用いた場合、その未検出誤り確率は１．９９×１０-16となる。
【０１７１】
また、符号長が６５６ビットのサブヘッダデータに対してCRC符号化処理、CRC処理を施すために用いる生成多項式としてCRC-CCITT（G(x)＝x16＋x12＋x5＋１）を用いた場合、その未検出誤り確率は２．１７×１０-11となるのに対して、１１Ａ３Ｄ（G2(x)＝x16＋x12＋x11＋x9＋x5＋x4＋x3＋x2＋1）を用いた場合、その未検出誤り確率は１．０５×１０-11となる。
【０１７２】
ヘッダデータとサブヘッダデータのいずれを対象とした場合にも、上述した候補の中から選択した生成多項式の未検出誤り確率の方が低く、その確率は図６に示した理論上の限界値に近いものになる。
【０１７３】
このように、符号長が１７６ビットのヘッダデータに対してCRC符号化処理、CRC処理を施すために用いる生成多項式として図１６の候補の中から選択したものと、符号長が６５６ビットのサブヘッダデータに対してCRC符号化処理、CRC処理を施すために用いる生成多項式として図１８の候補の中から選択したものを設定し、対象のデータに応じて切り替えて用いるようにすることにより、理論上の限界値付近までCRCの精度を向上させることができる。
【０１７４】
なお、ここでは、ヘッダデータ用の生成多項式として図１６の候補の中からインデックスＢ４の１７１Ｅ７を選択し、サブヘッダデータ用の生成多項式として図１８の候補の中からインデックスＣ３の１１Ａ３Ｄを選択するものとしたが、生成多項式の組み合わせは任意である。
【０１７５】
また、以上においては、ヘッダデータを対象とするときとサブヘッダデータを対象とするときとで２つの生成多項式を切り替えるものとしたが、CRC符号化処理またはCRC処理の対象とするそれぞれ符号長の異なるデータがさらにある場合、それぞれのデータ用の生成多項式を送信装置１０１と受信装置１０２に予め設定しておき、それらの生成多項式を切り替えるようにしてもよい。
【０１７６】
図２１は、以上のような生成多項式を選択する情報処理装置３０１の構成例を示すブロック図である。
【０１７７】
情報処理装置３０１は例えばパーソナルコンピュータである。CPU(Central Processing Unit)３１１、ROM(Read Only Memory)３１２、RAM(Random Access Memory)３１３は、バス３１４により相互に接続されている。
【０１７８】
バス３１４には、さらに、入出力インタフェース３１５が接続されている。入出力インタフェース３１５には、キーボード、マウスなどよりなる入力部３１６、ディスプレイなどよりなる出力部３１７、ハードディスクや不揮発性のメモリよりなる記憶部３１８、ネットワークインタフェースなどよりなる通信部３１９、光ディスクや半導体メモリなどのリムーバブルメディア３２１を駆動するドライブ３２０が接続されている。
【０１７９】
以上のように構成される情報処理装置３０１では、CPU３１１が、例えば記憶部３１８に記憶されているプログラムを入出力インタフェース３１５及びバス３１４を介してRAM３１３にロードして実行することにより、生成多項式を選択する処理が行われる。
【０１８０】
次に、図２２のフローチャートを参照して、生成多項式を選択する情報処理装置３０１の処理について説明する。この処理は、基本的には、本出願人による特願２００４−３７０７９６号（特開２００６−１８０１７２号公報（特許文献２））に記載されている生成多項式の選択処理と同様の処理である。
【０１８１】
すなわち、ステップＳ５１において、情報処理装置３０１のCPU３１１は、符号長ｎにおいて最小ハミング距離dmin＝最小ハミング距離の最大値Max.dminの条件を満たす生成多項式を全検索によって抽出する。最小ハミング距離dminは生成多項式によって異なり、その値が大きいほど、ランダム誤り検出能力が高く、未検出誤り確率が低い。最小ハミング距離の最大値Max.dminは、特許文献２にも記載されているように符号長ｎによって変わる値である。ステップＳ５１において行われる抽出処理の詳細については図２３のフローチャートを参照して後述する。
【０１８２】
ステップＳ５２において、CPU３１１は、ステップＳ５１で抽出した生成多項式の中から、未検出誤り確率Ｐudが小さい順に例えば１０個の生成多項式を選択し、処理を終了させる。ステップＳ５２において選択された生成多項式が、図１４、図１６、図１８に示されるような生成多項式の候補となる。
【０１８３】
次に、図２３のフローチャートを参照して、図２２のステップＳ５１において行われる抽出処理について説明する。
【０１８４】
ステップＳ６１において、CPU３１１は、符号長ｎにおける生成多項式の候補G'(x)を生成する。
【０１８５】
ステップＳ６２において、CPU３１１は、生成多項式の候補G'(x)が、既に検索済み、すなわち、ステップＳ６３以降の処理の対象として用いた生成多項式の相反多項式であるか否かを判定する。
【０１８６】
CPU３１１は、生成多項式の候補G'(x)が、既に検索済みの生成多項式の相反多項式であるとステップＳ６２において判定した場合、ステップＳ６１に戻り、異なる生成多項式の候補G'(x)を生成して同様の処理を繰り返す。ある生成多項式と、その相反多項式は未検出誤り確率などの点で同じ性能を有することから、既に検索済みの生成多項式と同じ性能を有する生成多項式の候補G'(x)を対象としては以降の処理は行われないことになる。
【０１８７】
一方、生成多項式の候補G'(x)が、既に検索済みの生成多項式の相反多項式ではないとステップＳ６２において判定した場合、ステップＳ６３において、CPU３１１は、生成多項式の候補G'(x)の項数ｗが、最小ハミング距離の最大値Max.dmin未満であるか否かを判定する。
【０１８８】
CPU３１１は、生成多項式の候補G'(x)の項数ｗが、最小ハミング距離の最大値Max.dmin未満であるとステップＳ６３において判定した場合、ステップＳ６１に戻り、異なる生成多項式の候補G'(x)を生成して同様の処理を繰り返す。上述したように最小ハミング距離の最大値Max.dminは符号長ｎによって変わる値であり、この値より項数ｗが小さいということは、いま注目している生成多項式の候補G'(x)の最小ハミング距離dminは最小ハミング距離の最大値Max.dminより小さく、生成多項式の候補G'(x)が、ここで検索の対象としている最小ハミング距離dmin＝最小ハミング距離の最大値Max.dminの条件を満たす生成多項式ではないことになる。最小ハミング距離dmin＝ｍを実現するには、項数ｗとしてｍ以上の値が必要になる。
【０１８９】
一方、生成多項式の候補G'(x)の項数ｗが、最小ハミング距離の最大値Max.dmin未満ではないとステップＳ６３において判定した場合、ステップＳ６４において、CPU３１１は、生成多項式の候補G'(x)の双対符号の、上式（５）で用いる重み分布Ｂを求める。重み分布Ｂについては上述したように非特許文献１に開示されている。
【０１９０】
ステップＳ６５において、CPU３１１は、生成多項式の候補G'(x)の最小ハミング距離dminを求める。
【０１９１】
ステップＳ６６において、CPU３１１は、求めた最小ハミング距離dminが、最小ハミング距離の最大値Max.dmin未満であるか否かを判定する。
【０１９２】
CPU３１１は、最小ハミング距離dminが、最小ハミング距離の最大値Max.dmin未満であるとステップＳ６６において判定した場合、ステップＳ６１に戻り、異なる生成多項式の候補G'(x)を生成して同様の処理を繰り返す。
【０１９３】
一方、ステップＳ６６において、最小ハミング距離dminが、最小ハミング距離の最大値Max.dmin未満ではない、すなわち、いま注目している生成多項式の候補G'(x)が、最小ハミング距離dmin＝最小ハミング距離の最大値Max.dminの条件を満たす生成多項式であると判定した場合、ステップＳ６７において、CPU３１１は、未検出誤り確率Ｐudを上式（５）に従って求める。上式（４）に従って未検出誤り確率Ｐudが求められるようにしてもよい。
【０１９４】
ステップＳ６８において、CPU３１１は、検索の対象としていない生成多項式の候補G'(x)がまだ存在するか否かを判定する。
【０１９５】
CPU３１１は、以上のような検索の対象としていない生成多項式の候補G'(x)がまだ存在するとステップＳ６８において判定した場合、ステップＳ６１に戻り、異なる生成多項式の候補G'(x)を生成して同様の処理を繰り返す。
【０１９６】
一方、全ての生成多項式の候補G'(x)を対象として以上のような検索を行ったことから、ステップＳ６８において、生成多項式の候補G'(x)が存在しないと判定した場合、CPU３１１は、図２２のステップＳ５１に戻り、それ以降の処理を行う。
【０１９７】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１９８】
CPU３１１が実行するプログラムは、例えばリムーバブルメディア３２１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部３１８にインストールされる。
【０１９９】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２００】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２０１】
【図１】送受信システムの構成例を示すブロック図である。
【図２】図１のCRC符号器の構成例を示す図である。
【図３】図２のCRCパリティ生成器の構成例を示す回路図である。
【図４】図１のCRC検出器の構成例を示す図である。
【図５】図４のCRCパリティ検査器の構成例を示す回路図である。
【図６】未検出誤り確率の計算結果の例を示す図である。
【図７】本発明の一実施形態に係る送受信システムの構成例を示すブロック図である。
【図８】図７の送信装置の構成例を示すブロック図である。
【図９】図８のCRC符号器のうちのCRCパリティを生成する部分の構成例を示す回路図である。
【図１０】図７の受信装置の構成例を示すブロック図である。
【図１１】図１０のCRC検出器のうちのCRCパリティの検査を行う部分の構成例を示す回路図である。
【図１２】送信装置の処理について説明するフローチャートである。
【図１３】受信装置の処理について説明するフローチャートである。
【図１４】生成多項式の候補を示す図である。
【図１５】図１４の生成多項式の候補を符号長毎に分けて示す図である。
【図１６】生成多項式の候補を示す他の図である。
【図１７】図１６の生成多項式の候補を符号長毎に分けて示す図である。
【図１８】生成多項式の候補を示すさらに他の図である。
【図１９】図１８の生成多項式の候補を符号長毎に分けて示す図である。
【図２０】未検出誤り確率の計算結果を示す図である。
【図２１】情報処理装置の構成例を示すブロック図である。
【図２２】情報処理装置の生成多項式の選択処理について説明するフローチャートである。
【図２３】図２２のステップＳ５１において行われる抽出処理について説明するフローチャートである。
【符号の説明】
【０２０２】
１０１  送信装置，  １０２  受信装置，  １１１  制御器，  １１２  CRC符号器，  １１３  誤り訂正符号器，  １１４  伝送路符号器，  ２０１  符号検出器，  ２０２  伝送路復号器，  ２０３  誤り訂正復号器，  ２０４  CRC検出器，  ２０５  制御器
【図１】
0004798164.tif 000007
【図２】
0004798164.tif 000008
【図３】
0004798164.tif 000009
【図４】
0004798164.tif 000010
【図５】
0004798164.tif 000011
【図６】
0004798164.tif 000012
【図７】
0004798164.tif 000013
【図８】
0004798164.tif 000014
【図９】
0004798164.tif 000015
【図１０】
0004798164.tif 000016
【図１１】
0004798164.tif 000017
【図１２】
0004798164.tif 000018
【図１３】
0004798164.tif 000019
【図１４】
0004798164.tif 000020
【図１５】
0004798164.tif 000021
【図１６】
0004798164.tif 000022
【図１７】
0004798164.tif 000023
【図１８】
0004798164.tif 000024
【図１９】
0004798164.tif 000025
【図２０】
0004798164.tif 000026
【図２１】
0004798164.tif 000027
【図２２】
0004798164.tif 000028
【図２３】
0004798164.tif 000029