(57)【特許請求の範囲】
【請求項１】
先頭に同期信号が付加された所定のデータ量のパケットからなる第１のストリームを送信する場合、直前の前記パケットに格納されたデータに基づいて第１のCRCパリティを第１の生成多項式を用いて生成し、直前の前記パケットに続くパケットの同期信号を前記第１のCRCパリティで置き換え、所定の単位毎に区切ることによってフィールドデータを生成するとともに、同期信号が付加されていない連続するデータからなる第２のストリームを送信する場合、前記第２のストリームを、前記第１のストリームを区切る単位と同じデータ長の前記所定の単位毎に区切ることによって前記フィールドデータを生成する第１のCRC符号化処理部と、
送信対象のデータの種類を表す情報、前記フィールドデータの長さを表す情報、前記第１のストリームを送信する場合において前記第１のCRCパリティによって置き換えられた前記同期信号を表す情報、および、前記第１のストリームを送信する場合において、前記所定の単位の先頭から、同じ前記所定の単位に含まれる前記第１のCRCパリティの先頭までのビット数を表す情報を含むヘッダデータに基づいて第２のCRCパリティを第２の生成多項式を用いて生成する第２のCRC符号化処理部と、
前記第１のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加した第１のフレームデータ、または前記第２のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加した第２のフレームデータに対して誤り訂正符号化処理を施し、前記第１のフレームデータまたは前記第２のフレームデータと誤り訂正符号とからなるデータを生成する誤り訂正符号化部と、
前記誤り訂正符号化処理が施されることによって生成されたデータを変調し、送信する送信部と
を備え、
前記第１の生成多項式と前記第２の生成多項式は、
ｋビットの情報語を持ち、該情報語についてｒビットのパリティが付加された符号長（ｎ）の符号の各符号長（ｎ）における最小ハミング距離（dmin）の最大値である最大・最小ハミング距離（Max.dmin）を求める第１工程と、
符号の最大・最小ハミング距離（Max.dmin）の変化する符号長（ｎ）を求め、その符号長ｎの範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））を求める第２工程と、
前記符号長（ｎ）の範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））において、常に、符号の最小ハミング距離（dmin）が最大・最小ハミング距離（Max.dmin）と等しい条件（dmin＝Max.dmin）を満たす生成多項式を全検索によって見いだす第３工程と、
前記全検索によって見いだした生成多項式の中から、項数、符号の未検出誤り確率が最小のものを選び出す第４工程と
を含む処理によって選択された生成多項式である
送信装置。
【請求項２】
前記第１の生成多項式はｘ16＋ｘ13＋ｘ2＋１であり、
前記第２の生成多項式はｘ16＋ｘ15＋ｘ8＋ｘ＋１である
請求項１に記載の送信装置。
【請求項３】
符号長の異なる複数のデータのそれぞれを対象としたCRC符号化処理用の複数の生成多項式を有する送信装置の送信方法において、
先頭に同期信号が付加された所定のデータ量のパケットからなる第１のストリームを送信する場合、第１のCRC符号化処理部により、直前の前記パケットに格納されたデータに基づいて第１のCRCパリティを第１の生成多項式を用いて生成し、直前の前記パケットに続くパケットの同期信号を前記第１のCRCパリティで置き換え、所定の単位毎に区切ることによってフィールドデータを生成し、
同期信号が付加されていない連続するデータからなる第２のストリームを送信する場合、前記第１のCRC符号化処理部により、前記第２のストリームを、前記第１のストリームを区切る単位と同じデータ長の前記所定の単位毎に区切ることによって前記フィールドデータを生成し、
送信対象のデータの種類を表す情報、前記フィールドデータの長さを表す情報、前記第１のストリームを送信する場合において前記第１のCRCパリティによって置き換えられた前記同期信号を表す情報、および、前記第１のストリームを送信する場合において、前記所定の単位の先頭から、同じ前記所定の単位に含まれる前記第１のCRCパリティの先頭までのビット数を表す情報を含むヘッダデータに基づいて第２のCRCパリティを第２のCRC符号化処理部により第２の生成多項式を用いて生成し、
前記第１のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加した第１のフレームデータ、または前記第２のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加した第２のフレームデータに対して誤り訂正符号化部により誤り訂正符号化処理を施し、前記第１のフレームデータまたは前記第２のフレームデータと誤り訂正符号とからなるデータを生成し、
前記誤り訂正符号化処理が施されることによって生成されたデータを送信部により変調し、送信する
ステップを含み、
前記第１の生成多項式と前記第２の生成多項式は、
ｋビットの情報語を持ち、該情報語についてｒビットのパリティが付加された符号長（ｎ）の符号の各符号長（ｎ）における最小ハミング距離（dmin）の最大値である最大・最小ハミング距離（Max.dmin）を求める第１工程と、
符号の最大・最小ハミング距離（Max.dmin）の変化する符号長（ｎ）を求め、その符号長ｎの範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））を求める第２工程と、
前記符号長（ｎ）の範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））において、常に、符号の最小ハミング距離（dmin）が最大・最小ハミング距離（Max.dmin）と等しい条件（dmin＝Max.dmin）を満たす生成多項式を全検索によって見いだす第３工程と、
前記全検索によって見いだした生成多項式の中から、項数、符号の未検出誤り確率が最小のものを選び出す第４工程と
を含む処理によって選択された生成多項式である
送信方法。
【請求項４】
送信装置から送信されてきた信号に基づいてデータを受信し、復調する復調部と、
復調して得られたデータが、先頭に同期信号が付加された所定のデータ量のパケットからなる第１のストリームのデータである場合、直前の前記パケットに格納されたデータに基づいて第１のCRCパリティを第１の生成多項式を用いて生成し、直前の前記パケットに続くパケットの同期信号を前記第１のCRCパリティで置き換え、所定の単位毎に区切ることによってフィールドデータを生成し、送信対象のデータの種類を表す情報、前記フィールドデータの長さを表す情報、前記第１のストリームを送信する場合において前記第１のCRCパリティによって置き換えられた前記同期信号を表す情報、および、前記第１のストリームを送信する場合において、前記所定の単位の先頭から、同じ前記所定の単位に含まれる前記第１のCRCパリティの先頭までのビット数を表す情報を含むヘッダデータに基づいて第２のCRCパリティを第２の生成多項式を用いて生成し、前記第１のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加することによって前記送信装置において生成された第１のフレームデータに付加された誤り訂正符号を用いて、前記第１のフレームデータの誤り訂正処理を行い、復調して得られたデータが、同期信号が付加されていない連続するデータからなる第２のストリームのデータである場合、前記第２のストリームを、前記第１のストリームを区切る単位と同じデータ長の前記所定の単位毎に区切ることによって前記フィールドデータを生成し、前記ヘッダデータに基づいて前記第２のCRCパリティを生成し、前記第２のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加することによって前記送信装置において生成された第２のフレームデータに付加された誤り訂正符号を用いて、前記第２のフレームデータの誤り訂正処理を行う誤り訂正処理部と、
前記誤り訂正処理が施されたデータが前記第１のフレームデータである場合、前記第１のCRCパリティに基づいて、前記パケットに格納されたデータの誤りを前記第１の生成多項式を用いて検出する第１のCRC検出部と、
前記第２のCRCパリティに基づいて、前記ヘッダデータの誤りを前記第２の生成多項式を用いて検出する第２のCRC検出部と
を備え、
前記第１の生成多項式と前記第２の生成多項式は、
ｋビットの情報語を持ち、該情報語についてｒビットのパリティが付加された符号長（ｎ）の符号の各符号長（ｎ）における最小ハミング距離（dmin）の最大値である最大・最小ハミング距離（Max.dmin）を求める第１工程と、
符号の最大・最小ハミング距離（Max.dmin）の変化する符号長（ｎ）を求め、その符号長ｎの範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））を求める第２工程と、
前記符号長（ｎ）の範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））において、常に、符号の最小ハミング距離（dmin）が最大・最小ハミング距離（Max.dmin）と等しい条件（dmin＝Max.dmin）を満たす生成多項式（Ｇ（ｘ））を全検索によって見いだす第３工程と、
前記全検索によって見いだした生成多項式（Ｇ（ｘ））の中から、項数（ｗ）、符号の未検出誤り確率（Ｐud）も最小のものを選び出す第４工程と
を含む処理によって選択された生成多項式である
受信装置。
【請求項５】
前記第１の生成多項式はｘ16＋ｘ13＋ｘ2＋１であり、
前記第２の生成多項式はｘ16＋ｘ15＋ｘ8＋ｘ＋１である
請求項４に記載の受信装置。
【請求項６】
符号長の異なる複数のデータのそれぞれを対象としたCRC処理用の複数の生成多項式を有する受信装置の受信方法において、
送信装置から送信されてきた信号に基づいてデータを復調部により受信して復調し、
復調して得られたデータが、先頭に同期信号が付加された所定のデータ量のパケットからなる第１のストリームのデータである場合、直前の前記パケットに格納されたデータに基づいて第１のCRCパリティを第１の生成多項式を用いて生成し、直前の前記パケットに続くパケットの同期信号を前記第１のCRCパリティで置き換え、所定の単位毎に区切ることによってフィールドデータを生成し、送信対象のデータの種類を表す情報、前記フィールドデータの長さを表す情報、前記第１のストリームを送信する場合において前記第１のCRCパリティによって置き換えられた前記同期信号を表す情報、および、前記第１のストリームを送信する場合において、前記所定の単位の先頭から、同じ前記所定の単位に含まれる前記第１のCRCパリティの先頭までのビット数を表す情報を含むヘッダデータに基づいて第２のCRCパリティを第２の生成多項式を用いて生成し、前記第１のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加することによって前記送信装置において生成された第１のフレームデータに付加された誤り訂正符号を用いて、誤り訂正処理部により、前記第１のフレームデータの誤り訂正処理を行い、
復調して得られたデータが、同期信号が付加されていない連続するデータからなる第２のストリームのデータである場合、前記第２のストリームを、前記第１のストリームを区切る単位と同じデータ長の前記所定の単位毎に区切ることによって前記フィールドデータを生成し、前記ヘッダデータに基づいて前記第２のCRCパリティを生成し、前記第２のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加することによって前記送信装置において生成された第２のフレームデータに付加された誤り訂正符号を用いて、前記誤り訂正処理部により、前記第２のフレームデータの誤り訂正処理を行い、
前記誤り訂正処理が施されたデータが前記第１のフレームデータである場合、第１のCRC検出部により、前記第１のCRCパリティに基づいて、前記パケットに格納されたデータの誤りを前記第１の生成多項式を用いて検出し、
第２のCRC検出部により、前記第２のCRCパリティに基づいて、前記ヘッダデータの誤りを前記第２の生成多項式を用いて検出する
ステップを含み、
前記第１の生成多項式と前記第２の生成多項式は、
ｋビットの情報語を持ち、該情報語についてｒビットのパリティが付加された符号長（ｎ）の符号の各符号長（ｎ）における最小ハミング距離（dmin）の最大値である最大・最小ハミング距離（Max.dmin）を求める第１工程と、
符号の最大・最小ハミング距離（Max.dmin）の変化する符号長（ｎ）を求め、その符号長ｎの範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））を求める第２工程と、
前記符号長（ｎ）の範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））において、常に、符号の最小ハミング距離（dmin）が最大・最小ハミング距離（Max.dmin）と等しい条件（dmin＝Max.dmin）を満たす生成多項式（Ｇ（ｘ））を全検索によって見いだす第３工程と、
前記全検索によって見いだした生成多項式（Ｇ（ｘ））の中から、項数（ｗ）、符号の未検出誤り確率（Ｐud）も最小のものを選び出す第４工程と
を含む処理によって選択された生成多項式である
受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置および方法、受信装置および方法に関し、特に、より適した生成多項式を、処理の対象とするデータに応じて切り替えて用いることができるようにした送信装置および方法、受信装置および方法に関する。
【背景技術】
【０００２】
情報記録装置や通信装置などで情報（データ）を伝送路を経由して伝送するとき、伝送された情報に誤りが生じることがある。
情報に誤りが起こったかどうかを検出する方法として広く用いられている技術として、CRC（Cyclic Redundancy Check：巡回冗長検査）がある。
【０００３】
CRCを行うためには、伝送すべき情報を予めCRC符号化しておく必要がある。
図１を参照してCRC符号化について述べる。
図１において、送信装置１と受信装置３とが伝送路２を介して接続されている。
CRCは、送信装置１において、情報語（データ）にCRCパリティを付加したCRC符号に対して、Reed-Solomon符号などの誤り訂正符号化を施すことで、誤り訂正復号による誤訂正の検出に用いられる。
送信装置１において、伝送すべきCRC符号化の対象となる、複数の情報語（データ）が連続する、入力情報系列がCRC符号器１１に入力され、CRC符号化される。CRC符号器１１の詳細は図２を参照して後述する。CRC符号化された情報は次に誤り訂正符号器１２に入力され、たとえば、Reed-Solomon符号などの誤り訂正符号化される。誤り訂正符号化された情報は次に伝送路符号器１３に入力され、伝送路２に応じた伝送路符号化処理がなされ、伝送路２へと送られる。
伝送路２を経由した信号は、受信装置３の符号検出器３１によって検出され、検出された情報が伝送路復号器３２に入力される。伝送路復号器３２によって伝送路復号された検出情報系列は誤り訂正復号器３３によって、誤り訂正符号器１２の処理に対応して、たとえば、Reed-Solomon符号などの誤り訂正が行われる。誤り訂正された情報は次にCRC検出器３４に入力される。CRC検出器３４は、誤り訂正された検出系列に対してCRC処理を行い、誤り訂正が正しく行われたかどうか（検出系列に誤りがあるかどうか）を判定し、その結果を一致信号として出力する。
CRC検出器３４の詳細は図５を参照して後述する。
【０００４】
CRC検出器３４から出力された一致信号は、たとえば、情報記録装置のドライブのコントローラにおいて再送信要求を行うなどによる信頼性向上に用いられる。
CRC符号のその他の用途として、たとえば、符号検出器におけるポストプロセッサの一部として用いられたり、ヘッダ情報や、パケット通信における送信パケットに対しても用いられる。また、誤り訂正用の消失フラグとしても用いられる。
【０００５】
CRC符号による誤り検出原理
CRC符号による誤り検出原理を説明する。
ｋビットからなる情報語（データ）にｒビットのパリティを付加して符号長ｎ（ｎ＝ｋ＋ｒ）ビットの符号語とするとき、情報語を多項式で表現した（ｋ−１）次（order)の情報多項式Ｍ（ｘ）にｘrを乗じる。たとえば、情報語が２進数で「１０１０１０１」の場合、情報多項式Ｍ（ｘ）は、ｘ6＋ｘ4＋ｘ2＋１と表記される。
情報多項式Ｍ（ｘ）にｘrを乗じた結果Ｍ（ｘ）・ｘrを、ｒ次の生成多項式（generator polynomial）Ｇ（ｘ）で割った際の剰余多項式Ｒ（ｘ）（次数は（ｒ−１）次）と、商多項式Ｑ（ｘ）を用いて下記式１に従って求めることにより、（ｎ−１）次の符号多項式Ｗ（ｘ）を下記式２のように構成する。
【０００６】
［数１］
Ｍ（ｘ）・ｘr＝Ｑ（ｘ）・Ｇ（ｘ）＋Ｒ（ｘ）
・・・（１）
【０００７】
［数２］
Ｗ（ｘ）＝Ｍ（ｘ）・ｘr−Ｒ（ｘ）
・・・（２）
【０００８】
式１、２の関係から、符号多項式はＷ（ｘ）＝Ｑ（ｘ）・Ｇ（ｘ）となる。よって、符号多項式Ｗ（ｘ）は生成多項式Ｇ（ｘ）で割り切れる。
【０００９】
以上の観点の下、たとえば、図１の送信装置１が伝送路２を介して受信装置３に符号多項式Ｗ（ｘ）を送信したものを受信装置３が受信した際に、受信装置３のCRC検出器３４において、受信多項式Ｙ（ｘ）が生成多項式Ｇ（ｘ）で割り切れるかどうかを調べる。
受信多項式Ｙ（ｘ）が生成多項式Ｇ（ｘ）で割り切れれば、受信多項式Ｙ（ｘ）は符号多項式Ｗ（ｘ）に一致しており、伝送路２において情報語に誤りが発生しなかったと推定できるが、受信多項式Ｙ（ｘ）が生成多項式Ｇ（ｘ）で割り切れなければ、受信多項式Ｙ（ｘ）は符号多項式Ｗ（ｘ）ではないので、伝送路２において情報語に誤りが生じたと判定できる（推定できる）。
【００１０】
CRC符号は巡回符号であるため、生成多項式Ｇ（ｘ）が定まれば、たとえば、図１における送信装置１のCRC符号器１１の回路構成は、シフトレジスタと排他的論理和を用いて比較的容易に装置化することが可能である。
【００１１】
CRC符号器の例
CRCにおいて広く用いられている生成多項式Ｇ（ｘ）としては、１６ビットCRCであるCRC-CCITT規格に基づく、Ｇ（ｘ）＝ｘ16＋ｘ12＋ｘ5＋１、または、CRC-ANSI規格に基づく、Ｇ（ｘ）＝ｘ16＋ｘ15＋ｘ2＋１などである。
【００１２】
以下、例示として、パリティビット数（次数）ｒ＝３とした場合の生成多項式Ｇ（ｘ）＝ｘ3＋ｘ＋１とした場合の、たとえば、図１における送信装置１におけるCRC符号器（CRC符号化回路）１１の構成例を図２を参照して述べる。
図２は情報多項式Ｍ（ｘ）から符号多項式Ｗ（ｘ）を生成するCRC符号器１１の構成例を示す図である。
CRC符号器１１は、CRCパリティ生成器１１０、第１セレクタ１１１、第２セレクタ１１２、および、ビット数カウンタ１１３を有する。
CRCパリティ生成器１１０は、ｋビットの情報ビット系列についてｒビットのCRCパリティを発生して第１セレクタ１１１に出力する。CRCパリティ生成器１１０におけるパリティの発生方法については図３および図４を参照して述べる。
第２セレクタ１１２は、「０」入力端子にｋビットの情報ビット系列が入力されている期間は、ビット数カウンタ１１３からの状態制御信号Ｓ１に基づいて、入力された情報ビット系列を出力する。また、第２セレクタ１１２は、「０」入力端子への情報ビット系列の入力が終了したとき、「１」入力端子に、第１セレクタ１１１を経由して入力されるCRCパリティ生成器１１０で生成したｒビットのパリティを出力する。このように、CRC符号器１１の第２セレクタ１１２からは、「ｋビットの情報ビット系列」と、それに続く、「情報ビット系列に基づいてCRCパリティ生成器１１０で生成されたｒビットのパリティビット」とが出力される。このように、第２セレクタ１１２から出力される符号ビット系列は、「ｋビットの情報ビット系列」と、「ｒビットのパリティビット」とからなる、符号長ｎ＝ｋ＋ｒの符号ビット系列となる。
【００１３】
CRCパリティ生成器１１０および第１セレクタ１１１について述べる。
図３は、生成多項式Ｇ（ｘ）をＧ（ｘ）＝ｘ3＋ｘ＋１とした場合のCRCパリティ生成器１１０の回路例を示す。
図３のCRCパリティ生成器１１０は、第１シフトレジスタＲ００、第１排他的論理和（EXOR）回路EXOR１、第２シフトレジスタＲ０１、第３シフトレジスタＲ０２、および、第２排他的論理和回路EXOR２が巡回状に接続されており、第２排他的論理和回路EXOR２の出力が第１排他的論理和回路EXOR１に入力されている。
【００１４】
なお、生成多項式Ｇ（ｘ）＝ｘ4＋ｘ3＋ｘ2＋ｘ＋１とした場合のCRCパリティ生成器１１０の回路図の例を図４に示す。
図４のCRCパリティ生成器１１０は、第１シフトレジスタＲ００、第１排他的論理和（EXOR）回路EXOR１、第２シフトレジスタＲ０１、第２排他的論理和回路EXOR２、第３シフトレジスタＲ０２、第３排他的論理和回路EXOR３、第４シフトレジスタＲ０３、第４排他的論理和回路EXOR４が巡回状に接続されており、第４排他的論理和回路EXOR４の出力が第１、２、３排他的論理和回路EXOR１、EXOR２、EXOR３に入力されている。
【００１５】
図３および図４に図解したように、CRCパリティ生成器１１０は生成多項式Ｇ（ｘ）に基づいて構成される。換言すれば、図３および図４の図解から理解できるように、生成多項式Ｇ（ｘ）が定まれば、CRCパリティ生成器１１０は、シフトレジスタと排他的論理和回路を巡回的かつ最終段の排他的論理和回路、たとえば、図３の第２排他的論理和回路EXOR２または図４の第４排他的論理和回路EXOR４の出力をその前段の排他的論理和回路に印加する回路として構成できる。
以下、図３に図解したCRCパリティ生成器１１０の動作について述べる。図４に図解したCRCパリティ生成器１１０の動作も図３に図解したCRCパリティ生成器１１０の動作と基本的には同様である。
【００１６】
図３において、情報多項式Ｍ（ｘ）によって表される情報ビット系列を、第３シフトレジスタＲ０２の上位の第２排他的論理和回路EXOR２に、毎時刻、たとえば、シフトレジスタを動作させる毎クロック毎に、１ビットずつ情報ビット系列の高次の項から順に入力することで、情報多項式Ｍ（ｘ）に予めｘrが乗じられた形のビット系列Ｍ（ｘ）・ｘrが、CRCパリティ生成器１１０に入力されることになる。
ここで、第１〜第３シフトレジスタＲ００，Ｒ０１，Ｒ０２の初期値はゼロである。
情報ビット系列の零次の項をCRCパリティ生成器１１０に入力し終えた時点での第１〜第３シフトレジスタＲ００，Ｒ０１，Ｒ０２に保持されている値が剰余多項式Ｒ（ｘ）の各次数の係数を与える。すなわち、剰余多項式Ｒ（ｘ）は、Ｒ（ｘ）＝（Ｒ０２の保持内容）×ｘ2＋（Ｒ０１の保持内容）×ｘ＋（Ｒ００の保持内容）となる。
そのため、この情報ビット系列の零次の項をCRCパリティ生成器１１０に入力し終えた時点で、図２に図示しない制御回路から出力されるイネーブル信号Ｅ０がディセーブル（不活性状態）となり、CRCパリティ生成器１１０の第１〜第３シフトレジスタＲ００，Ｒ０１，Ｒ０２に保持されている値は保持されて、第１セレクタ１１１に出力される。
【００１７】
図２において、たとえば、図３に回路構成を例示したCRCパリティ生成器１１０から第１セレクタ１１１の３個入力端子００、０１、１０への出力は、CRCパリティ生成器１１０の各シフトレジスタＲ００，Ｒ０１，Ｒ０２の出力Ｒ００out，Ｒ０１out，Ｒ０２outであり、第１セレクタ１１１は、図２に図示しない制御回路から出力される第１セレクト信号Ｓ０に従って、３個の入力端子００、０１、１０に入力されたCRCパリティ生成器１１０からの出力Ｒ００out，Ｒ０１out，Ｒ０２outの１つを順に選択して第２セレクタ１１２の「１」入力端子に出力する。
第２セレクタ１１２は、図２に図示しない制御回路から制御されるビット数カウンタ１１３から出力される第２セレクト信号Ｓ１に従って、換言すれば、ビット数カウンタ１１３のビット計数値に応じて、第２セレクタ１１２の「０」入力端子にｋビットの情報ビット系列を入力する期間は「０」入力端子に入力される情報ビット系列を選択して情報ビット系列をそのまま出力する。他方、情報ビット系列をCRCパリティ生成器１１０に入力し終わり、全てのパリティが生成されたタイミングには、第２セレクタ１１２の「１」入力端子に入力された第１セレクタ１１１の出力、すなわち、CRCパリティ生成器１１０で生成したパリティを選択して、出力する。
【００１８】
このようにして、たとえば、図２のCRC符号器１１における第２セレクタ１１２から出力される符号ビット系列は、上述したように、「ｋビットの情報ビット系列」と、「ｒビットのパリティビット」とからなる、符号長ｎ＝ｋ＋ｒの符号ビット系列となる。
たとえば、図１の送信装置１において、上述したように、CRC符号器１１においてCRC符号化された符号ビット系列は、誤り訂正符号器１２に入力され、たとえば、Reed-Solomon符号などの誤り訂正符号化され、誤り訂正符号化された情報が伝送路符号器１３に入力されて伝送路２に応じた伝送路符号化処理がなされ、伝送路２へと送られる。
伝送路２を経由した信号は、受信装置３の符号検出器３１によって検出され、検出された情報が伝送路復号器３２に入力される。伝送路復号器３２によって伝送路復号された検出情報系列は誤り訂正復号器３３によって誤り訂正が行われる。誤り訂正された情報はCRC検出器３４において検出系列に誤りがあるかどうか）を判定される。
【００１９】
図５は、受信多項式Ｙ（ｘ）に誤りがないかどうかを検査するCRC検出器３４の構成例を示す図である。
CRC検出器３４は、CRCパリティ検査器３４１と、比較器３４２とを有する。
CRCパリティ検査器３４１は、上述したように、受信多項式Ｙ（ｘ）が生成多項式Ｇ（ｘ）で割り切れるかどうかを調べ、受信多項式Ｙ（ｘ）が生成多項式Ｇ（ｘ）で割り切れれば、受信多項式Ｙ（ｘ）は符号多項式Ｗ（ｘ）に一致しており、伝送路２において情報語に誤りが発生しなかったと判定し、受信多項式Ｙ（ｘ）が生成多項式Ｇ（ｘ）で割り切れなければ、受信多項式Ｙ（ｘ）は符号多項式Ｗ（ｘ）ではないので、伝送路２において情報語に誤りが生じたと判定する。
CRCパリティ検査器３４１は、受信多項式Ｙ（ｘ）を生成多項式Ｇ（ｘ）で割る回路であり、比較器３４２はCRCパリティ検査器３４１で割った結果に剰余があるか否かをチェックする回路である。
【００２０】
CRCパリティ検査器３４１の構成例を図６に示す。
図６に図解したCRCパリティ検査器３４１の構成は、図３に図解したCRCパリティ生成器１１０に対応している。CRCパリティ生成器１１０が図４の回路構成の場合は、CRCパリティ検査器３４１もそれに則した回路構成となる。以下、図３に図解したCRCパリティ生成器１１０に対応したCRCパリティ検査器３４１について述べる。
図６に図解したCRCパリティ検査器３４１は、第１の排他的論理和回路EXOR１１、第１シフトレジスタＲ１０、第２の排他的論理和回路EXOR１２、第２シフトレジスタＲ１１、第３シフトレジスタＲ１２が巡回状に接続されており、かつ、第３シフトレジスタＲ１２の出力が第２の排他的論理和回路EXOR１２に入力される回路構成をしている。
図６のCRCパリティ検査器３４１において、受信多項式Ｙ（ｘ）によって表される受信ビット系列を、第１シフトレジスタＲ１０の右端の第１の排他的論理和回路EXOR１１に毎時刻ごと１ビットずつ高次の項から順に入力する。受信ビット系列の零次の項をCRCパリティ検査器３４１に入力し終えた時点での第１〜第３シフトレジスタＲ１０，Ｒ１１，Ｒ１２の値が剰余多項式Ｒ（ｘ）の係数を与える。すなわち、Ｒ（Ｘ）＝（Ｒ１２の値）×ｘ2＋（Ｒ１１の値）×ｘ＋（Ｒ１０の値）となる。
ここで、第１〜第３シフトレジスタＲ１０，Ｒ１１，Ｒ１２の初期値はゼロである。
【００２１】
図５において、CRCパリティ検査器３４１から比較器３４２への出力、Ｒ１０out，Ｒ１１out，Ｒ１２outは、図６のCRCパリティ検査器３４１の各レジスタＲ１０，Ｒ１１，Ｒ１２の出力である。
比較器３４２は、Ｒ１０out，Ｒ１１out，Ｒ１２outの全値がゼロ、つまり剰余がゼロかどうかを比較し（チェックし）、Ｒ１０out，Ｒ１１out，Ｒ１２outの値全てがゼロであったかどうかを表す１ビットの一致信号を出力する。すなわち、Ｒ１０out，Ｒ１１out，Ｒ１２outの値全てがゼロであった場合は、受信多項式Ｙ（ｘ）は符号多項式Ｗ（ｘ）に一致しており、伝送路２において情報語に誤りが発生しなかったと判定した、比較器３４２から、たとえば、論理「１」の一致信号が出力され、そうでなかったときは、たとえば、論理「０」の一致信号が出力される。
【００２２】
CRCの誤り検出能力は、一般的に、ランダム誤り検出能力とバースト誤り検出能力および符号の未検出誤り確率Ｐudで評価され、これらは生成多項式Ｇ（ｘ）と符号長ｎによって決まる。
【００２３】
ここで、符号の未検出誤り確率Ｐudとは、伝送路上で生じた誤りによって、受信語が、送信した符号語とは別の符号語（与えられた情報ビットとは別の情報ビットに対してCRCパリティを計算して付加した符号語）に変化したにも関わらず、誤りがないものとして判定されてしまう確率のことを言う。別の符号語に変化してしまうことにより、CRCを行っても剰余がゼロとなってしまう。つまり、受信語に誤りがあるのに誤りなしと判定してしまうということが起こる。
たとえば、非特許文献１に開示されているように、符号の未検出誤り確率Ｐudは、次数（パリティ数）ｒ、符号長ｎ、生成多項式Ｇ（ｘ）と符号長ｎが決まると求まる重み分布Ａ、もしくは双対符号（dual code）の重み分布Ｂ、２元対称通信路（Binary Symmetric Channel）におけるチャネルビット誤り確率（遷移確率）εによって以下のように表される。
【００２４】
【数３】
0005298621.tif 000002
【００２５】
【数４】
0005298621.tif 000003
【００２６】
ランダム誤り検出能力については、（dmin−１）個以下の全ての誤りを検出できる。ただし、それ以外の誤りも数多く検出できる。
また、バースト誤り検出能力については、長さが生成多項式Ｇ（ｘ）の次数以下の誤りは全て検出できる。ただし、長さが生成多項式の次数よりも大きいバースト誤りであっても、その多くは検出可能である。
【００２７】
非特許文献２〜８において、符号の未検出誤り確率を最小化する生成多項式に関する様々な報告がなされており、生成多項式の次数（パリティ数）や符号長に応じて様々なものが提案されている。
非特許文献２、３では、１６ビットCRCにおいて、各符号長に対して符号の未検出誤り確率が最小となるような生成多項式を提案している。
また、非特許文献５、８において、符号の未検出誤り確率Ｐudは、符号長ｎが変化すると、符号の最小ハミング距離dminの変化する符号長を境に極端に上昇する特性を示すことが確認されている。
【００２８】
図７は、８ビットCRCの場合の最小（限界）未検出誤り確率特性を例にとって示したグラフである。図７において、横軸は符号長ｎ（ビット）を示し、縦軸は符号の未検出誤り確率Ｐudを示す。これをｎ−Ｐud特性という。
【００２９】
特許文献１には、CRC生成多項式の選択方法に関する発明が開示されている。
特許文献１において、生成多項式の次数が与えられたとき、その次数の全ての生成多項式に対して計算したdistance spectrum（距離スペクトル）を元に生成多項式を選択する。このdistance spectrumは、それぞれのハミング距離における符号語の数を表したテーブルである。これにより、最大・最小ハミング距離を持った生成多項式を選択し、符号の未検出誤り確率を最小化する生成多項式を選択する。
【００３０】
【非特許文献１】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.
【特許文献１】J.M.Stein,“METHOD FOR SELECTING CYCLIC REDUNDANCY CHECK POLYNOMIALS FOR LINEAR CODED SYSTEMS” , US Patent 6,085,349, Qualcomm Incorporated, Filed Aug.27, 1997.
【発明の開示】
【発明が解決しようとする課題】
【００３１】
上述したように、CRCの誤り検出能力（符号の未検出誤り確率、ランダム誤り検出能力、バースト誤り検出能力）は、生成多項式と符号長によって決まる。
全ての符号長において符号の未検出誤り確率が最小（限界値）となる生成多項式や符号の最小ハミング距離が最大となる生成多項式は存在せず、符号長に応じて符号の未検出誤り確率が最小もしくは符号の最小ハミング距離が最大となる生成多項式は異なる。
つまり、広く用いられているCCITT規格やANSI規格、および、非特許文献４〜８に示される生成多項式などは、符号の未検出誤り確率が最小、符号の最小ハミング距離が最大となる符号長の範囲は限られている。
【００３２】
上述した文献の多くは、データ通信などにおける符号長の長い（数千ビット以上の）場合に符号の未検出誤り確率が最小（限界値）となるように設計されており、ヘッダ情報に対してCRCを用いる場合や、光ディスクなどの記録媒体へのデータの記録にCRCを用いる場合など、符号長のより短い場合においては、更に良い性能を示すものが存在する。
【００３３】
非特許文献２、３などでは、符号長ごとに符号の未検出誤り確率が最も低い生成多項式の提案をしているが、この場合、異なる符号長において用いる場合には、その都度異なる生成多項式を用いなければならなかった。
たとえば、特許文献１では、符号長ごとに符号の最小ハミング距離が最大値を持つ生成多項式を選択しているが、これは回路規模の増加につながるという問題があった。
【００３４】
実際のシステムにおいては、様々な符号長やパリティ長のものが使用されるが、これまで、全ての符号長やパリティ長について最適なCRC符号が明らかとなっている訳ではなく、現在知られているCRC符号だけでは、実際のシステムにおいて最小の未検出誤り確率Ｐudを得る上で、必ずしも十分ではなかった。
【００３５】
以上から、与えられた符号長およびパリティ長において符号の未検出誤り確率ができるだけ低く、符号の最小ハミング距離が出来るだけ大きく、かつ、出来るだけ広い符号長範囲において使用できる生成多項式が望まれている。
さらに、たとえば、図１の送信装置１に用いるCRC符号器、受信装置３に用いるCRC検出器を回路として装置化する際には、できるだけその回路が簡略化できるCRC符号化方式が望まれる。
【００３６】
本発明の目的は、より適した生成多項式を、処理の対象とするデータに応じて切り替えて用いることができるようにするものである。
【課題を解決するための手段】
【００３７】
本発明の一側面の送信装置は、先頭に同期信号が付加された所定のデータ量のパケットからなる第１のストリームを送信する場合、直前の前記パケットに格納されたデータに基づいて第１のCRCパリティを第１の生成多項式を用いて生成し、直前の前記パケットに続くパケットの同期信号を前記第１のCRCパリティで置き換え、所定の単位毎に区切ることによってフィールドデータを生成するとともに、同期信号が付加されていない連続するデータからなる第２のストリームを送信する場合、前記第２のストリームを、前記第１のストリームを区切る単位と同じデータ長の前記所定の単位毎に区切ることによって前記フィールドデータを生成する第１のCRC符号化処理部と、送信対象のデータの種類を表す情報、前記フィールドデータの長さを表す情報、前記第１のストリームを送信する場合において前記第１のCRCパリティによって置き換えられた前記同期信号を表す情報、および、前記第１のストリームを送信する場合において、前記所定の単位の先頭から、同じ前記所定の単位に含まれる前記第１のCRCパリティの先頭までのビット数を表す情報を含むヘッダデータに基づいて第２のCRCパリティを第２の生成多項式を用いて生成する第２のCRC符号化処理部と、前記第１のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加した第１のフレームデータ、または前記第２のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加した第２のフレームデータに対して誤り訂正符号化処理を施し、前記第１のフレームデータまたは前記第２のフレームデータと誤り訂正符号とからなるデータを生成する誤り訂正符号化部と、前記誤り訂正符号化処理が施されることによって生成されたデータを変調し、送信する送信部とを備える。
【００３８】
前記第１の生成多項式と前記第２の生成多項式は、ｋビットの情報語を持ち、該情報語についてｒビットのパリティが付加された符号長（ｎ）の符号の各符号長（ｎ）における最小ハミング距離（dmin）の最大値である最大・最小ハミング距離（Max.dmin）を求める第１工程と、符号の最大・最小ハミング距離（Max.dmin）の変化する符号長（ｎ）を求め、その符号長ｎの範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））を求める第２工程と、前記符号長（ｎ）の範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））において、常に、符号の最小ハミング距離（dmin）が最大・最小ハミング距離（Max.dmin）と等しい条件（dmin＝Max.dmin）を満たす生成多項式（Ｇ（ｘ））を全検索によって見いだす第３工程と、前記全検索によって見いだした生成多項式（Ｇ（ｘ））の中から、項数（ｗ）、符号の未検出誤り確率（Ｐud）も最小のものを選び出す第４工程とを含む処理によって選択された生成多項式であるようにすることができる。
【００３９】
本発明の一側面の送信方法は、先頭に同期信号が付加された所定のデータ量のパケットからなる第１のストリームを送信する場合、第１のCRC符号化処理部により、直前の前記パケットに格納されたデータに基づいて第１のCRCパリティを第１の生成多項式を用いて生成し、直前の前記パケットに続くパケットの同期信号を前記第１のCRCパリティで置き換え、所定の単位毎に区切ることによってフィールドデータを生成し、同期信号が付加されていない連続するデータからなる第２のストリームを送信する場合、前記第１のCRC符号化処理部により、前記第２のストリームを、前記第１のストリームを区切る単位と同じデータ長の前記所定の単位毎に区切ることによって前記フィールドデータを生成し、送信対象のデータの種類を表す情報、前記フィールドデータの長さを表す情報、前記第１のストリームを送信する場合において前記第１のCRCパリティによって置き換えられた前記同期信号を表す情報、および、前記第１のストリームを送信する場合において、前記所定の単位の先頭から、同じ前記所定の単位に含まれる前記第１のCRCパリティの先頭までのビット数を表す情報を含むヘッダデータに基づいて第２のCRCパリティを第２のCRC符号化処理部により第２の生成多項式を用いて生成し、前記第１のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加した第１のフレームデータ、または前記第２のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加した第２のフレームデータに対して誤り訂正符号化部により誤り訂正符号化処理を施し、前記第１のフレームデータまたは前記第２のフレームデータと誤り訂正符号とからなるデータを生成し、前記誤り訂正符号化処理が施されることによって生成されたデータを送信部により変調し、送信するステップを含む。
【００４０】
本発明の他の側面の受信装置は、送信装置から送信されてきた信号に基づいてデータを受信し、復調する復調部と、復調して得られたデータが、先頭に同期信号が付加された所定のデータ量のパケットからなる第１のストリームのデータである場合、直前の前記パケットに格納されたデータに基づいて第１のCRCパリティを第１の生成多項式を用いて生成し、直前の前記パケットに続くパケットの同期信号を前記第１のCRCパリティで置き換え、所定の単位毎に区切ることによってフィールドデータを生成し、送信対象のデータの種類を表す情報、前記フィールドデータの長さを表す情報、前記第１のストリームを送信する場合において前記第１のCRCパリティによって置き換えられた前記同期信号を表す情報、および、前記第１のストリームを送信する場合において、前記所定の単位の先頭から、同じ前記所定の単位に含まれる前記第１のCRCパリティの先頭までのビット数を表す情報を含むヘッダデータに基づいて第２のCRCパリティを第２の生成多項式を用いて生成し、前記第１のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加することによって前記送信装置において生成された第１のフレームデータに付加された誤り訂正符号を用いて、前記第１のフレームデータの誤り訂正処理を行い、復調して得られたデータが、同期信号が付加されていない連続するデータからなる第２のストリームのデータである場合、前記第２のストリームを、前記第１のストリームを区切る単位と同じデータ長の前記所定の単位毎に区切ることによって前記フィールドデータを生成し、前記ヘッダデータに基づいて前記第２のCRCパリティを生成し、前記第２のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加することによって前記送信装置において生成された第２のフレームデータに付加された誤り訂正符号を用いて、前記第２のフレームデータの誤り訂正処理を行う誤り訂正処理部と、前記誤り訂正処理が施されたデータが前記第１のフレームデータである場合、前記第１のCRCパリティに基づいて、前記パケットに格納されたデータの誤りを前記第１の生成多項式を用いて検出する第１のCRC検出部と、前記第２のCRCパリティに基づいて、前記ヘッダデータの誤りを前記第２の生成多項式を用いて検出する第２のCRC検出部とを備える。
【００４１】
前記第１の生成多項式と前記第２の生成多項式は、ｋビットの情報語を持ち、該情報語についてｒビットのパリティが付加された符号長（ｎ）の符号の各符号長（ｎ）における最小ハミング距離（dmin）の最大値である最大・最小ハミング距離（Max.dmin）を求める第１工程と、符号の最大・最小ハミング距離（Max.dmin）の変化する符号長（ｎ）を求め、その符号長ｎの範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））を求める第２工程と、前記符号長（ｎ）の範囲（ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin））において、常に、符号の最小ハミング距離（dmin）が最大・最小ハミング距離（Max.dmin）と等しい条件（dmin＝Max.dmin）を満たす生成多項式（Ｇ（ｘ））を全検索によって見いだす第３工程と、前記全検索によって見いだした生成多項式（Ｇ（ｘ））の中から、項数（ｗ）、符号の未検出誤り確率（Ｐud）も最小のものを選び出す第４工程とを含む処理によって選択された生成多項式であるようにすることができる。
【００４２】
本発明の他の側面の受信方法は、送信装置から送信されてきた信号に基づいてデータを復調部により受信して復調し、復調して得られたデータが、先頭に同期信号が付加された所定のデータ量のパケットからなる第１のストリームのデータである場合、直前の前記パケットに格納されたデータに基づいて第１のCRCパリティを第１の生成多項式を用いて生成し、直前の前記パケットに続くパケットの同期信号を前記第１のCRCパリティで置き換え、所定の単位毎に区切ることによってフィールドデータを生成し、送信対象のデータの種類を表す情報、前記フィールドデータの長さを表す情報、前記第１のストリームを送信する場合において前記第１のCRCパリティによって置き換えられた前記同期信号を表す情報、および、前記第１のストリームを送信する場合において、前記所定の単位の先頭から、同じ前記所定の単位に含まれる前記第１のCRCパリティの先頭までのビット数を表す情報を含むヘッダデータに基づいて第２のCRCパリティを第２の生成多項式を用いて生成し、前記第１のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加することによって前記送信装置において生成された第１のフレームデータに付加された誤り訂正符号を用いて、誤り訂正処理部により、前記第１のフレームデータの誤り訂正処理を行い、復調して得られたデータが、同期信号が付加されていない連続するデータからなる第２のストリームのデータである場合、前記第２のストリームを、前記第１のストリームを区切る単位と同じデータ長の前記所定の単位毎に区切ることによって前記フィールドデータを生成し、前記ヘッダデータに基づいて前記第２のCRCパリティを生成し、前記第２のストリームを区切ることによって得られた前記フィールドデータに前記ヘッダデータと前記第２のCRCパリティを付加することによって前記送信装置において生成された第２のフレームデータに付加された誤り訂正符号を用いて、前記誤り訂正処理部により、前記第２のフレームデータの誤り訂正処理を行い、前記誤り訂正処理が施されたデータが前記第１のフレームデータである場合、第１のCRC検出部により、前記第１のCRCパリティに基づいて、前記パケットに格納されたデータの誤りを前記第１の生成多項式を用いて検出し、第２のCRC検出部により、前記第２のCRCパリティに基づいて、前記ヘッダデータの誤りを前記第２の生成多項式を用いて検出するステップを含む。
【発明の効果】
【００４５】
本発明によれば、より適した生成多項式を、処理の対象とするデータに応じて切り替えて用いることができる。
【発明を実施するための最良の形態】
【００４６】
CRC符号選択方法
本発明の発明者は、図７に例示したように、符号の最小ハミング距離dminの変化する符号長ｎを境に符号の未検出誤り確率Ｐudの特性が急激に劣化することに着目した。図７のｎ−Ｐud特性は、各符号長における種々の生成多項式Ｇ（ｘ）についての限界を示している。
８ビットCRCについての図７の例示において、符号長ｎ＝１０〜１２、１３〜１７、１８〜１２７、１２８〜２５５などの境界で符号の未検出誤り確率Ｐudが急激に変化する。
【００４７】
また、符号の最小ハミング距離dminの変化する上記符号長ｎは生成多項式によって異なる。
さらに、符号長ｎにおける符号の最小ハミング距離dminは生成多項式によって異なる。
【００４８】
図８は本発明のCRC符号選択方法の処理内容の１例を示すフローチャートである。
以下、上述した認識の元、図８を参照して、本発明の発明者による本発明のCRC符号選択方法について述べる。
【００４９】
ステップ１：Max.dminを求める。
符号の最小ハミング距離dminは、大きい程、ランダム誤り検出能力が高く、符号の未検出誤り確率が低いため、望ましいので、まず、パリティ数（次数）ｒの符号の各符号長における最小ハミング距離dminの最大値（これを最大・最小ハミング距離、または、最小ハミング距離・最大値といい、Max.dminで表す）を求める。
【００５０】
ステップ２：Max.dminの変化する符号長ｎを求める。
次いで、最大・最小ハミング距離Max.dminの変化する符号長ｎを求め、Max.dminが一定の符号長ｎの範囲をｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin）と表す。ｎmin（ｒ，Max.dmin）は、符号長ｎの最小範囲ｎminが、ｒとMax.dminで規定されることを意味しており、同様に、符号長ｎの最大範囲ｎmaxが、ｒとMax.dminとで規定されることを示している。
【００５１】
８ビットCRCの場合を図７に例示する。
ただし、符号長ｎが生成多項式Ｇ（ｘ）の周期ｐを超えると、図７の例では、ｎ≧２５６になると、符号の最小ハミング距離dminは必ず２となる。
生成多項式Ｇ（ｘ）の周期ｐは、生成多項式Ｇ（ｘ）が原始多項式のとき最大となり、その最大周期は（２r-１）で表される。つまり、Max.dmin＝２における符号長ｎの範囲は、生成多項式Ｇ（ｘ）に関わらず必ず２r≦ｎ≦∞となる。すなわち、ｎmin（ｒ，２）＝２r、ｎmax（ｒ，２）＝∞となる。
【００５２】
ステップ３：ｎmin≦ｎ≦ｎmaxにおいて、常に、dmin＝Max.dminを満たすＧ（ｘ）を全検索によって見いだす。
次に、出来るだけ広い範囲の符号長ｎにおいて使用できる生成多項式が望ましいので、ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin）において、常に、dmin＝Max.dminを満たす生成多項式Ｇ（ｘ）を全検索によって見いだす。
【００５３】
ステップ４：全検索によって見いだしたＧ（ｘ）の中から、項数ｗ、符号の未検出誤り確率Ｐudも最小のものを選び出す。
さらに、全検索によって見いだした生成多項式Ｇ（ｘ）の中から、項数ｗ、符号の未検出誤り確率Ｐudも最小のものを選び出す。
【００５４】
ステップ３および４における検索および選択の方法について、図９を参照して、具体例を述べる。
【００５５】
ステップ４１：ｐ≧ｎmaxを満たし、かつ、（ｎmax，ｎmax−ｒ）の符号についてdmin＝Max.dminを満たすＧ（ｘ）を全検索により見付ける。
まず、ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin）において常に、dmin＝Max.dminを満たすためには、周期ｐについてｐ≧ｎmax（ｒ，Max.dmin）を満たし、かつ、（ｎmax，ｎmax−ｒ）の符号についてdmin＝Max.dminを満たす必要があるので、この条件を満たす生成多項式Ｇ（ｘ）を全検索により見付ける。
【００５６】
ステップ４２：全検索により見いだしたＧ（ｘ）の中から、項数ｗが最小の生成多項式Ｇ（ｘ）を選ぶ。
次に、全検索により見いだした生成多項式Ｇ（ｘ）の中から、項数ｗが最小の生成多項式Ｇ（ｘ）を選ぶ。また、Ｇ（ｘ）の項数がｗのとき、Ｇ（ｘ）によって生成された符号語には、ハミング距離dHがｗとなる符号語が必ず存在する。したがって、Ｇ（ｘ）によって生成される符号の最小ハミング距離dminが最大・最小ハミング距離Max.dminとなっているならば、必ずｗ≧Max.dminである。このことを利用して、ステップ４１において検索するＧ（ｘ）の中でｗ＜Max.dminのものは省略することが可能である。
【００５７】
ステップ４３：Ｐudが最小になるＧ（ｘ）を見いだす。
次に、この生成多項式Ｇ（ｘ）を用いて符号化したCRC符号のｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin）における、符号の未検出誤り確率Ｐudを式４によって求め、Ｐudが最小となる生成多項式Ｇ（ｘ）を見いだす。
【００５８】
ただし、符号長ｎが大きくなり、Max.dmin＝２の場合については、上述したように、符号長ｎの範囲が２r≦ｎ≦∞、すなわち、ｎmin（ｒ，２）＝２r、ｎmax（ｒ，２）＝∞であるので、ステップ４１に示した手順で生成多項式Ｇ（ｘ）を検索することが出来ない。
【００５９】
また、２r≦ｎにおいて、全ての生成多項式Ｇ（ｘ）はdmin＝Max.dmin＝２を満たす。そこで、dmin＝２のときは周期ｐが大きい程符号の未検出誤り確率Ｐudが低いという性質を利用して、Max.dmin＝２については、周期ｐが最大周期２r−１をもつ（原始多項式である）生成多項式Ｇ（ｘ）の中で、多項式の項数ｗ、符号の未検出誤り確率Ｐudが最小である生成多項式Ｇ（ｘ）を選択する。つまり、これは、Max.dmin＝３で求めた生成多項式Ｇ（ｘ）と一致する。その理由は、ｎmax（ｒ，３）＝２r−１であるからである。
【００６０】
実施例と比較例
以上の方法で見いだした生成多項式Ｇ（ｘ）の例と、比較例を述べる。
表１−Ａ〜表１−Ｃは、パリティビット数（次数）ｒ＝３，４，６，８，１０，１２，１４，１６の各符号長における生成多項式Ｇ（ｘ）の、本発明における実施例と、比較例として、一般的に用いられている生成多項式の例を示したものである。
【００６１】
【表１−Ａ】
0005298621.tif 000004
【００６２】
【表１−Ｂ】
0005298621.tif 000005
【００６３】
【表１−Ｃ】
0005298621.tif 000006
【００６４】
表１−Ａ〜表１−Ｃの１列目は、パリティビット数ｒを表し、２列目、３列目は、それぞれ、符号の最大・最小ハミング距離Max.dminを満たす符号長ｎの範囲と、その最大・最小ハミング距離Max.dminである。
生成多項式Ｇ（ｘ）について、１６進数表記をしている。たとえば、１６進数表記の「Ｆ」は、２進数表記で「１１１１」になる。また、１６進数表記の「１２Ｄ」であれば、２進数で表すと、「１００１０１１０１」であるので、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ5＋ｘ3＋ｘ2＋１を表す。
また、高次の係数と低次の係数を逆転した多項式を相反多項式（reciprocal polynomial）といい、同じ特性を示す。
【００６５】
表１−Ａ〜表１−Ｃの４〜７列目のデータが本発明の実施例における生成多項式を用いて生成した符号の最小ハミング距離dmin、生成多項式Ｇ（ｘ）、項数ｗ、および、符号の未検出誤り確率Ｐudを表す。
表１−Ａ〜表１−Ｃの８〜１１列目のデータが比較例における生成多項式を用いて生成した符号の最小ハミング距離dmin、生成多項式Ｇ（ｘ）、項数ｗ、および、符号の未検出誤り確率Ｐudを表す。
表１−Ａ〜表１−Ｃにおいて、“−”記号は、上記の検索を行い選択した生成多項式が他文献で既に提案されている部分であり、その部分については、参考までに表２に示す。
【００６６】
【表２】
0005298621.tif 000007
【００６７】
本発明の実施例として示した生成多項式Ｇ（ｘ）は、ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin）において、dmin＝Max.dminを満たし、さらに、その生成多項式Ｇ（ｘ）の中で項数ｗが最小であり、さらに、その中で符号の未検出誤り確率Ｐudが最も低い生成多項式となっている。
【００６８】
さらに、図１０、図１１は、それぞれ、１６ビットCRC、８ビットCRCにおける符号長ｎと符号の未検出誤り確率Ｐudとの特性（ｎ−Ｐud特性）を示したものである。
この例示において、左から順に生成多項式Ｇ（ｘ）、項数ｗ、Max.dmin一定の符号長範囲ｎmin≦ｎ≦ｎmaxを表し、最後に“new”と示されていれば本発明によるもの、“〔〕”で括られたものはすでに他文献に提案されているものであり、数字はその文献番号を表す。
【００６９】
以上のようにして得た生成多項式Ｇ（ｘ）の例を整理して、下記に列挙する。
【００７０】
（１）次数ｒ＝３、符号長ｎ＝４のとき、生成多項式Ｇ（ｘ）＝ｘ3＋ｘ2＋ｘ＋１である。
（２）次数ｒ＝４、符号長ｎが６≦ｎ≦７のとき、生成多項式Ｇ（ｘ）＝ｘ4＋ｘ2＋ｘ＋１（相反多項式：ｘ4＋ｘ3＋ｘ2＋１）である。
（３）次数ｒ＝６、符号長ｎ＝７のとき、生成多項式Ｇ（ｘ）＝ｘ6＋ｘ5＋ｘ4＋ｘ3＋ｘ2＋ｘ＋１である。
（４）次数ｒ＝６、符号長ｎ＝８のとき、生成多項式Ｇ（ｘ）＝ｘ6＋ｘ4＋ｘ2＋ｘ＋１（相反多項式：ｘ6＋ｘ5＋ｘ4＋ｘ2＋１）である。
（５）次数ｒ＝６、符号長ｎ＝８のとき、生成多項式Ｇ（ｘ）＝ｘ6＋ｘ4＋ｘ3＋ｘ＋１（相反多項式：ｘ6＋ｘ5＋ｘ3＋ｘ2＋１）である。
（６）次数ｒ＝６、符号長ｎ＝８のとき、生成多項式Ｇ（ｘ）＝ｘ6＋ｘ5＋ｘ3＋ｘ＋１である。
（７）次数ｒ＝６、符号長ｎが９≦ｎ≦３１のとき、生成多項式Ｇ（ｘ）＝ｘ6＋ｘ2＋ｘ＋１（相反多項式：ｘ6＋ｘ5＋ｘ4＋１）である。
（８）次数ｒ＝８、符号長ｎ＝９のとき、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ7＋ｘ6＋ｘ5＋ｘ4＋ｘ3＋ｘ2＋ｘ＋１である。
（９）次数ｒ＝８、符号長ｎが１０≦ｎ≦１２のとき、
生成多項式Ｇ（ｘ）＝ｘ8＋ｘ5＋ｘ4＋ｘ3＋ｘ＋１（相反多項式：ｘ8＋ｘ7＋ｘ5＋ｘ4＋ｘ3＋１）である。
（１０）次数ｒ＝８、符号長ｎが１０≦ｎ≦１２のとき、
生成多項式Ｇ（ｘ）＝ｘ8＋ｘ6＋ｘ3＋ｘ2＋ｘ＋１（相反多項式：ｘ8＋ｘ7＋ｘ6＋ｘ5＋ｘ2＋１）である。
（１１）次数ｒ＝８、符号長ｎが１８≦ｎ≦１２７のとき、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１（相反多項式：ｘ8＋ｘ7＋ｘ4＋１）である。
（１２）次数ｒ＝８、符号長ｎがｎ≧１２８のとき、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ5＋ｘ3＋ｘ2＋１（相反多項式：ｘ8＋ｘ6＋ｘ5＋ｘ3＋１）である。
（１３）次数ｒ＝１０、符号長ｎがｎ＝１１のとき、生成多項式Ｇ（ｘ）＝ｘ10＋ｘ9＋ｘ8＋ｘ7＋ｘ6＋ｘ5＋ｘ4＋ｘ3＋ｘ2＋ｘ＋１である。
（１４）次数ｒ＝１０、符号長ｎがｎ＝１２のとき、生成多項式Ｇ（ｘ）＝ｘ10＋ｘ8＋ｘ6＋ｘ4＋ｘ3＋ｘ2＋ｘ＋１（相反多項式：ｘ10＋ｘ9＋ｘ8＋ｘ7＋ｘ6＋ｘ4＋ｘ2＋１）である。
（１５）次数ｒ＝１０、符号長ｎが２３≦ｎ≦３１のとき、生成多項式Ｇ（ｘ）＝ｘ10＋ｘ9＋ｘ3＋ｘ＋１（相反多項式：ｘ10＋ｘ9＋ｘ7＋ｘ＋１）である。
（１６）次数ｒ＝１０、符号長ｎが３２≦ｎ≦５１１のとき、生成多項式Ｇ（ｘ）＝ｘ10＋ｘ5＋ｘ2＋１（相反多項式：ｘ10＋ｘ8＋ｘ5＋１）である。
（１７）次数ｒ＝１０、符号長ｎがｎ≧５１２のとき、生成多項式Ｇ（ｘ）＝ｘ10＋ｘ3＋１（相反多項式：ｘ10＋ｘ7＋１）である。
（１８）次数ｒ＝１２、符号長ｎがｎ＝１３のとき、生成多項式Ｇ（ｘ）＝ｘ12＋ｘ11＋ｘ10＋ｘ9＋ｘ8＋ｘ7＋ｘ6＋ｘ5＋ｘ4＋ｘ3＋ｘ2＋ｘ＋１である。
（１９）次数ｒ＝１２、符号長ｎがｎ＝１４のとき、生成多項式Ｇ（ｘ）＝ｘ12＋ｘ10＋ｘ8＋ｘ6＋ｘ4＋ｘ3＋ｘ2＋ｘ＋１（相反多項式：ｘ12＋ｘ11＋ｘ10＋ｘ9＋ｘ8＋ｘ6＋ｘ4＋ｘ2＋１）である。
（２０）次数ｒ＝１２、符号長ｎが２４≦ｎ≦３９のとき、生成多項式Ｇ（ｘ）＝ｘ12＋ｘ11＋ｘ7＋ｘ3＋ｘ＋１（相反多項式：ｘ12＋ｘ11＋ｘ9＋ｘ5＋ｘ＋１）である。
（２１）次数ｒ＝１２、符号長ｎが４０≦ｎ≦６５のとき、生成多項式Ｇ（ｘ）＝ｘ12＋ｘ10＋ｘ7＋ｘ6＋ｘ5＋ｘ2＋１である。
（２２）次数ｒ＝１２、符号長ｎが６６≦ｎ≦２０４７のとき、生成多項式Ｇ（ｘ）＝ｘ12＋ｘ7＋ｘ2＋１（相反多項式：ｘ12＋ｘ10＋ｘ5＋１）である。
（２３）次数ｒ＝１２、符号長ｎがｎ≧２０４８のとき、生成多項式Ｇ（ｘ）＝ｘ12＋ｘ7＋ｘ6＋ｘ4＋１（相反多項式：ｘ12＋ｘ8＋ｘ6＋ｘ5＋１）である。
（２４）次数ｒ＝１４、符号長ｎがｎ＝１５のとき、生成多項式Ｇ（ｘ）＝ｘ14＋ｘ13＋ｘ12＋ｘ11＋ｘ10＋ｘ9＋ｘ8＋ｘ7＋ｘ6＋ｘ5＋ｘ4＋ｘ3＋ｘ2＋ｘ＋１である。
（２５）次数ｒ＝１４、符号長ｎがｎ＝１６のとき、生成多項式Ｇ（ｘ）＝ｘ14＋ｘ12＋ｘ10＋ｘ9＋ｘ7＋ｘ5＋ｘ4＋ｘ3＋ｘ＋１（相反多項式：ｘ14＋ｘ13＋ｘ11＋ｘ10＋ｘ9＋ｘ7＋ｘ5＋ｘ4＋ｘ2＋１）である。
（２６）次数ｒ＝１４、符号長ｎがｎ＝１７のとき、生成多項式Ｇ（ｘ）＝ｘ14＋ｘ11＋ｘ8＋ｘ6＋ｘ5＋ｘ3＋ｘ2＋ｘ＋１（相反多項式：ｘ14＋ｘ13＋ｘ12＋ｘ11＋ｘ9＋ｘ8＋ｘ6＋ｘ3＋１）である。
（２７）次数ｒ＝１４、符号長ｎが２８≦ｎ≦７１のとき、生成多項式Ｇ（ｘ）＝ｘ14＋ｘ10＋ｘ9＋ｘ6＋ｘ2＋１（相反多項式：ｘ14＋ｘ12＋ｘ8＋ｘ5＋ｘ4＋１）である。
（２８）次数ｒ＝１４、符号長ｎが７２≦ｎ≦１２７のとき、生成多項式Ｇ（ｘ）＝ｘ14＋ｘ11＋ｘ5＋ｘ3＋１（相反多項式：ｘ14＋ｘ11＋ｘ9＋ｘ3＋１）である。
（２９）次数ｒ＝１４、符号長ｎが１２８≦ｎ≦８１９１のとき、生成多項式Ｇ（ｘ）＝ｘ14＋ｘ5＋ｘ2＋１（相反多項式：ｘ14＋ｘ12＋ｘ9＋１）である。
（３０）次数ｒ＝１４、符号長ｎがｎ≧８１９２のとき、生成多項式Ｇ（ｘ）＝ｘ14＋ｘ6＋ｘ4＋ｘ＋１（相反多項式：ｘ14＋ｘ13＋ｘ10＋ｘ8＋１）である。
（３１）次数ｒ＝１６、符号長ｎがｎ＝１７のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ15＋ｘ14＋ｘ13＋ｘ12＋ｘ11＋ｘ10＋ｘ9＋ｘ8＋ｘ7＋ｘ6＋ｘ5＋ｘ4＋ｘ3＋ｘ2＋ｘ＋１である。
（３２）次数ｒ＝１６、符号長ｎがｎ＝１８のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ14＋ｘ12＋ｘ10＋ｘ8＋ｘ6＋ｘ5＋ｘ4＋ｘ3＋ｘ2＋ｘ＋１（相反多項式：ｘ16＋ｘ15＋ｘ14＋ｘ13＋ｘ12＋ｘ11＋ｘ10＋ｘ8＋ｘ6＋ｘ4＋ｘ2＋１）である。
（３３）次数ｒ＝１６、符号長ｎが１９≦ｎ≦２１のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ13＋ｘ12＋ｘ9＋ｘ7＋ｘ6＋ｘ5＋ｘ4＋ｘ2＋１（相反多項式：ｘ16＋ｘ14＋ｘ12＋ｘ11＋ｘ10＋ｘ9＋ｘ7＋ｘ4＋ｘ3＋１）である。
（３４）次数ｒ＝１６、符号長ｎが１９≦ｎ≦２１のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ13＋ｘ12＋ｘ9＋ｘ7＋ｘ5＋ｘ4＋ｘ3＋ｘ2＋１（相反多項式：ｘ16＋ｘ14＋ｘ13＋ｘ12＋ｘ11＋ｘ9＋ｘ7＋ｘ4＋ｘ3＋１）である。
（３５）次数ｒ＝１６、符号長ｎがｎ＝２２のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ13＋ｘ8＋ｘ7＋ｘ6＋ｘ4＋ｘ2＋ｘ＋１（相反多項式：ｘ16＋ｘ15＋ｘ14＋ｘ12＋ｘ10＋ｘ9＋ｘ8＋ｘ3＋１）である。
（３６）次数ｒ＝１６、符号長ｎが２３≦ｎ≦３１のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ13＋ｘ11＋ｘ5＋ｘ3＋ｘ2＋ｘ＋１（相反多項式：ｘ16＋ｘ15＋ｘ14＋ｘ13＋ｘ11＋ｘ5＋ｘ3＋１）である。
（３７）次数ｒ＝１６、符号長ｎが３６≦ｎ≦１５１のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ15＋ｘ13＋ｘ8＋ｘ5＋ｘ3＋ｘ＋１（相反多項式：ｘ16＋ｘ15＋ｘ13＋ｘ11＋ｘ8＋ｘ3＋ｘ＋１）である。
（３８）次数ｒ＝１６、符号長ｎが１５２≦ｎ≦２５７のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ15＋ｘ8＋ｘ＋１である。
（３９）次数ｒ＝１６、符号長ｎが２５８≦ｎ≦３２７６７のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ13＋ｘ2＋１（相反多項式：ｘ16＋ｘ14＋ｘ3＋１）である。
（４０）次数ｒ＝１６、符号長ｎがｎ≧３２７６８のとき、生成多項式Ｇ（ｘ）＝ｘ16＋ｘ9＋ｘ7＋ｘ4＋１（相反多項式：ｘ16＋ｘ12＋ｘ9＋ｘ7＋１）である。
【００７１】
以上のごとく、本発明の実施の形態によれば、種々の条件に則した生成多項式Ｇ（ｘ）を求めることができた。
なお、上記列挙した生成多項式Ｇ（ｘ）について、符号長ｎがｎmin＝ｎmaxの場合と、ｎmin≠ｎmaxの場合とに２分割して整理することもできる。
【００７２】
CRC符号化方法およびCRC符号化回路
上述した生成多項式Ｇ（ｘ）を、たとえば、図２に示したCRCパリティ生成器１１０、または、図５に示したCRCパリティ検査器３４１に適用できる。
たとえば、図２に示したCRCパリティ生成器１１０について、図３または図４に回路構成を示したように、生成多項式Ｇ（ｘ）の次数に応じて設けられるシフトレジスタと排他的論理和回路を巡回的に接続する。排他的論理和回路は生成多項式Ｇ（ｘ）の係数に応じて設け、最終段の排他的論理和回路、たとえば、図３の第２排他的論理和回路EXOR２の出力を、前段に位置する他の排他的論理和回路に入力する回路構成とする。
このように、生成多項式Ｇ（ｘ）が上述のように求められると、シフトレジスタと排他的論理和回路とを用いて、CRC符号化回路を容易に構成することができる。
CRCパリティ検査器３４１についても同様である。
【００７３】
表１−Ａ〜１−Ｃや、図１０、図１１の例示から理解されるように、これまで広く用いられている比較例の生成多項式は、ある符号長範囲においては、限界値（Bound）に近接した特性を示すが、それ以外の部分においては、符号の最小ハミング距離（dmin）・未検出誤り確率（Ｐud）特性において、限界値と比べて大きく劣化する。
それと比較すると、本発明による選択方法に基づく実施例においては、全ての符号長ｎにおいて限界値に近接した特性が得られる。
【００７４】
このように、本発明の好適な実施の形態による、生成多項式を用いて生成されるCRC符号化方式を用いることで、従来から広く用いられている生成多項式を用いる場合に比べ、所望のパリティビットおよび符号長において、符号の未検出誤り確率を低く抑えることが出来、かつ、符号の最小ハミング距離が最大値をとることで、ランダム誤り検出能力を最大にすることが出来る。
【００７５】
さらに、ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin）の符号長範囲において生成多項式Ｇ（ｘ）がdmin＝Max.dminかつＰud≒限界値（Bound）を満たしているので、符号長ｎが変化する場合でも、この符号長範囲内であれば単一の生成多項式で対応することが可能である。
【００７６】
さらに、ｎmin（ｒ，Max.dmin）≦ｎ≦ｎmax（ｒ，Max.dmin）の符号長範囲において、常に、符号の最小ハミング距離（dmin）が最大値をとる生成多項式Ｇ（ｘ）の中で、最小の項数ｗのものを用いているので、回路に実装するときの回路規模も少なくて済む。
【００７７】
また、符号長ｎと符号の未検出誤り確率Ｐudが決まれば、それを満たすために必要なパリティ数（次数ｒ）が分かるので、そのパリティ数ｒ、符号長ｎにおいて選択された生成多項式Ｇ（ｘ）を用いることで、所望の未検出誤り確率を実現することが出来る。
【００７８】
送受信システム
図１２は、以上のような方法により選択された生成多項式Ｇ（ｘ）を用いてデータの送受信を行う送受信システムの構成例を示す図である。
【００７９】
図１２に示されるように、この送受信システムは送信装置５０１、伝送路５０２、および受信装置５０３から構成される。送信装置５０１からは、例えば、地上デジタル放送の規格であるDVB-T2(Digital Video Broadcasting-Terrestrial2)や、衛星デジタル放送の規格であるDVB-S2(Digital Video Broadcasting-Satellite2)などの規格に準拠してデータの送信（放送）が行われる。
【００８０】
送信装置５０１は放送局などに設けられる装置であり、外部から入力されるヘッダデータとユーザデータに対してCRC符号化処理を施すなどして得られたストリームを、伝送路５０２を介して送信する。
【００８１】
受信装置５０３は、テレビジョン受像機やSTB(Set Top Box)などの装置であり、図示せぬアンテナから供給された受信信号を復調して得られたデータに対してCRC処理を施すなどして、送信の対象になっていたユーザデータを取得する。受信装置５０３により取得されたユーザデータは、後段の装置に出力される。
【００８２】
図１３は、送信装置５０１から送信されるストリームの構造の例を示す図である。横軸は時間軸を表す。
【００８３】
図１３の例においては、同期信号が付加されていないストリームであるGeneric Continuous Streamが最上段に示されており、その下には、所定のデータ量のパケットからなるストリームであるPacketised Streamが示されている。
【００８４】
ここでは、Packetised Streamを構成する１つのパケットをUP(User Packet)という。１つのUPは、あるCRCパリティの先頭から時間軸上で次のCRCパリティまでの範囲のデータとなる。送信装置５０１に対して外部から入力されたユーザデータはそれぞれのUPのCRCパリティに続く部分に格納される。図１３の上から２段目に示されるストリームがTS(Transport Stream)である場合、TSパケットであるUPの長さ（UPL(User Packet Length)）は１８８×８ビットとなる。
【００８５】
図１３に示されるように、それぞれのUPの先頭の８ビットはCRCパリティに置き換えられる。このCRCパリティに置き換えられる位置は、本来、UP用の同期信号が格納されている位置である。後に詳述するように、この８ビットのCRCパリティは、上述したようにして選択された例えば生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１（上で列挙した生成多項式のうちの（１１）の生成多項式）を用いて求められる。
【００８６】
図１３のUPLの矢印の区間で示されるようにCRCパリティを含むUPを１単位のデータとすると、図１４に示されるように、あるUPに格納されたデータから求められたCRCパリティは、処理順で次の単位のUPの先頭の８ビットのSYNCと置き換えられる。
【００８７】
このようなUPからなるPacketised Streamや図１３の最上段に示されているようなGeneric Continuous Streamは、図１３の時刻ｔ1乃至ｔ2の区間で示されるような所定の長さのデータであるデータフィールド（DATA FIELD）に区切られ、それぞれのデータフィールドに対して、ベースバンドヘッダ(BBHEADER)が付加される。送信装置５０１に対して外部から入力されたヘッダデータはこのベースバンドヘッダに含まれるデータを表す。
【００８８】
図１３の例においては、ベースバンドヘッダは８０ビットのデータとされ、２バイトのMATYPE、２バイトのUPL、２バイトのDFL、１バイトのSYNC、２バイトのSYNCD、１バイトのCRCパリティが含まれる。
【００８９】
MATYPEはストリームの種類などを表す情報であり、このMATYPEにより、データフィールドに区切った元のストリームがPacketised Streamであるのか、Generic Continuous Streamであるのが表される。UPLは、元のストリームがPacketised Streamである場合には上述したUPの長さであるUPLを表す。DFLは、データフィールドの長さを表し、SYNCは、CRCパリティに置き換えられるUP内の先頭の８ビットの同期信号の内容を表す。SYNCDはデータフィールドの先頭からCRCパリティの先頭までのビット数を表す。
【００９０】
ベースバンドヘッダ中のCRCパリティも、上述したようにして選択された例えば生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いて生成される。情報ビット系列として、上述した２バイトのMATYPE、２バイトのUPL、２バイトのDFL、１バイトのSYNC、２バイトのSYNCDの計７２ビットが用いられ、CRCパリティが求められる。以下、適宜、Packetised Streamを構成するUPの先頭の８ビットのCRCパリティを第１のCRCパリティといい、ベースバンドヘッダに含まれるCRCパリティを第２のCRCパリティという。
【００９１】
図１３に示されるような構成を有するベースバンドヘッダとデータフィールドから図１５に示されるようにベースバンドフレーム（BB FRAME）が構成される。ベースバンドフレームには所定の長さのパディングも含まれる。送信装置５０１においては、それぞれのベースバンドフレームに対してBCH FEC(Bose Chaudhuri Hocquenghem Forward Error Correction)、LDPC FEC(Low Density Parity Check Forward Error Correction)が付加され、受信装置５０３に対して送信される。
【００９２】
図１６は、送信装置５０１の構成例を示すブロック図である。
【００９３】
図１６に示されるように、送信装置５０１は、セレクタ５１１、CRC符号器５１２、誤り訂正符号器５１３、OFDM変調器５１４、および、信号処理器５１５から構成される。
【００９４】
セレクタ５１１は、信号処理器５１５から供給されたヘッダデータとユーザデータのうちのいずれかを信号処理器５１５による指示に従って選択し、選択したデータをCRC符号器５１２に出力する。セレクタ５１１に対しては、複数のUPからなるPacketised Stream、またはGeneric Continuous Streamがユーザデータとして信号処理器５１５から供給される。また、ベースバンドヘッダに含まれるデータがヘッダデータとして信号処理器５１５から供給される。
【００９５】
CRC符号器５１２は、Packetised Streamがユーザデータとして供給されたとき、供給されたそれぞれのUPに含まれるSYNC以降のデータを情報ビット系列として、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いることによって第１のCRCパリティを生成し、生成した第１のCRCパリティによって、処理順で次のUPの先頭８ビットの位置にあるSYNCを置き換える。
【００９６】
また、CRC符号器５１２は、そのフレーム化器５１２Ａにおいて、第１のCRCパリティによってSYNCが置き換えられたUPからなるPacketised Streamをデータフィールド毎に区切り、フレーム化を行う。データフィールドの長さを表すDFLの情報は信号処理器５１５から供給される。フレーム化器５１２Ａは、ヘッダデータに基づいてCRC符号器５１２により生成された第２のCRCパリティが格納されたベースバンドヘッダをそれぞれのデータフィールドに付加し、そのようなベースバンドヘッダとデータフィールドからなる図１５のベースバンドフレーム単位のデータを誤り訂正符号器５１３に出力する。
【００９７】
一方、Generic Continuous Streamがユーザデータとして供給されたとき、CRC符号器５１２は、そのフレーム化器５１２Ａにおいて、Generic Continuous Streamをデータフィールド毎に区切り、フレーム化を行う。このときも、DFLの情報が信号処理器５１５から供給される。フレーム化器５１２Ａは、Packetised Streamが供給されたときと同様に、ヘッダデータに基づいてCRC符号器５１２により生成されたCRCパリティが格納されたベースバンドヘッダをそれぞれのデータフィールドに付加し、そのようなベースバンドヘッダとデータフィールドからなるベースバンドフレーム単位のデータを誤り訂正符号器５１３に出力する。
【００９８】
CRC符号器５１２は、ベースバンドヘッダに含まれるヘッダデータが供給されたとき、供給されたヘッダデータを情報ビット系列として、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いることによって第２のCRCパリティを生成し、生成した第２のCRCパリティをベースバンドヘッダの最後の８ビットの位置に格納する。この第２のCRCパリティが格納されたベースバンドヘッダが、Packetised Streamを区切ることによって得られたデータフィールド、あるいは、Generic Continuous Streamを区切ることによって得られたデータフィールドに付加される。
【００９９】
誤り訂正符号器５１３は、BCH符号、LDPC符号を用いた誤り訂正符号化処理をCRC符号器５１２から供給されたデータに対して施し、誤り訂正符号化処理を施すことによって得られた、ベースバンドフレーム、BCH FEC、LDPC FECからなる図１５に示されるようなデータをOFDM変調器５１４に出力する。
【０１００】
OFDM変調器５１４は、OFDM(Orthogonal Frequency Division Multiplexing)変調を行い、変調して得られた送信信号を受信装置５０３に送信する。OFDM変調のようなマルチキャリアを用いた変調方式ではなく、シングルキャリアを用いた変調方式によって変調が行われるようにしてもよい。
【０１０１】
信号処理器５１５は、送信装置５０１のユーザなどによって外部から入力されたユーザデータ、ヘッダデータをセレクタ５１１に出力し、セレクタ５１１からCRC符号器５１２に対する出力、または、CRC符号器５１２において行われるフレーム化などを制御する。図１６に示されるように、信号処理器５１５は、データ入力器５１５Ａ、ヘッダ生成器５１５Ｂ、および制御器５１５Ｃから構成される。
【０１０２】
データ入力器５１５Ａは、入力されたユーザデータ、ヘッダデータを取得し、ユーザデータをセレクタ５１１に、ヘッダデータをヘッダ生成器５１５Ｂにそれぞれ出力する。
【０１０３】
ヘッダ生成器５１５Ｂは、データ入力器５１５Ａから供給されたヘッダデータに基づいて、図１３に示されるMATYPE，UPL，DFL，SYNC，SYNCDの各データを生成し、生成したデータをヘッダデータとしてセレクタ５１１に出力する。
【０１０４】
制御器５１５Ｃは、ユーザデータとしてセレクタ５１１からCRC符号器５１２に供給されているストリームがPacketised Streamであるのか、Generic Continuous Streamであるのかを表す情報であるデータ種別１をCRC符号器５１２に出力する。CRC符号器５１２においては、このデータ種別１に基づいてPacketised Streamが入力されていると判断された場合、第１と第２のCRCパリティが生成され、Generic Continuous Streamが入力されていると判断された場合、第２のCRCパリティが生成される。
【０１０５】
また、制御器５１５Ｃは、DFLの情報をCRC符号器５１２に出力する。CRC符号器５１２のフレーム化器５１２Ａにおいては、制御器５１５ＣからのDFLによって指定される長さのデータフィールド毎にユーザデータを区切るようにフレーム化が行われる。例えば、DFLは、MAC層などの上位の層によって決定される。DFLをどのようにして決定するのかは、上位層の仕様や実装によって異なる。
【０１０６】
制御器５１５Ｃは、ヘッダデータとユーザデータのうちのいずれのデータをCRC符号器５１２に出力するのかを指示する情報であるデータ種別２をセレクタ５１１に出力することも行う。制御器５１５Ｃは、内部にカウンタなどを持ち、ヘッダ生成器５１５Ｂから供給されるDFLなどを元に、ヘッダデータとユーザデータのいずれのデータを出力するのかを判断する。
【０１０７】
図１７、図１８は、以上のような構成を有する送信装置５０１において行われるユーザデータのフレーム化について示す図である。図１７はGeneric Continuous Streamを対象としたフレーム化について示し、図１８はPacketised Streamを対象としたフレーム化について示す。
【０１０８】
図１７の上段に示されるように、画像ストリームなどがGeneric Continuous Streamの形で供給された場合、CRC符号器５１２のフレーム化器５１２Ａにおいては、図１７の矢印Ａ1の先に示されるように、Generic Continuous Streamが例えば１０００バイトのデータフィールド（DF）毎に区切られる。この１０００バイトの長さは制御器５１５ＣからのDFLによって指定されたものである。図１７においては、データフィールド＃１乃至＃４の４つのデータフィールドが示されている。
【０１０９】
データフィールド毎に区切られた後、図１７の矢印Ａ2の先に示されるように、ヘッダ生成器５１５Ｂにより生成されたベースバンドヘッダがそれぞれのデータフィールドにフレーム化器５１２Ａにおいて付加され、ベースバンドフレームが生成される。それぞれのデータフィールドに付加されるベースバンドヘッダには、CRC符号器５１２により生成された第２のCRCパリティも格納されている。図１７においては、データフィールド＃１にベースバンドヘッダが付加されることによってベースバンドフレーム＃１が生成され、データフィールド＃２にベースバンドヘッダが付加されることによってベースバンドフレーム＃２が生成されている。ベースバンドフレーム＃１と＃２に付加されている、斜線を付して示す部分は所定の長さのパディングである。
【０１１０】
一方、図１８の上段に示されるように、画像ストリームなどがUP＃１乃至＃３を含むPacketised Streamの形で供給された場合、CRC符号器５１２においては、図１８の矢印Ａ11の先に示されるように、SYNCがCRCパリティ（第１のCRCパリティ）によって置き換えられる。UP＃１のCRCパリティは直前のUPのデータを用いてCRC符号器５１２により求められたものであり、UP＃２のCRCパリティは、UP＃１のデータを用いて求められたものである。UP＃３のCRCパリティは、UP＃２のデータを用いて求められたものである。
【０１１１】
SYNCがCRCパリティによって置き換えられた後、CRC符号器５１２のフレーム化器５１２Ａにおいては、図１８の矢印Ａ12の先に示されるように、Packetised Streamが例えば１０００バイトのデータフィールド毎に区切られる。図１８においては、データフィールド＃１と＃２の２つのデータフィールドが示されている。
【０１１２】
データフィールド毎に区切られた後、図１８の矢印Ａ13の先に示されるように、ヘッダ生成器５１５Ｂにより生成されたベースバンドヘッダがそれぞれのデータフィールドにフレーム化器５１２Ａにおいて付加され、ベースバンドフレームが生成される。それぞれのデータフィールドに付加されるベースバンドヘッダには、CRC符号器５１２により生成された第２のCRCパリティも格納されている。図１８においても、データフィールド＃１にベースバンドヘッダが付加されることによってベースバンドフレーム＃１が生成され、データフィールド＃２にベースバンドヘッダが付加されることによってベースバンドフレーム＃２が生成されている。
【０１１３】
このようにしてGeneric Continuous Stream、またはPacketised Streamを元にして生成されたベースバンドフレームのデータが、CRC符号器５１２から誤り訂正符号器５１３に出力される。
【０１１４】
図１９は、送信装置５０１の他の構成例を示すブロック図である。図１６に示される構成と同じ構成には同じ符号を付してある。重複する説明については省略する。
【０１１５】
図１９の例においては、CRC符号化処理を行う構成としてCRC符号器５２１とCRC符号器５２２がそれぞれ設けられている。信号処理器５１５から出力されたヘッダデータはCRC符号器５２１に入力され、ユーザデータはCRC符号器５２２に入力される。
【０１１６】
CRC符号器５２１は、ヘッダデータを情報ビット系列として、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いることによって第２のCRCパリティを生成する。CRC符号器５２１は、生成した第２のCRCパリティをMATYPE，UPL，DFL，SYNC，SYNCDの各データの情報ビット系列の後ろに付加してベースバンドヘッダを構成し、ベースバンドヘッダをセレクタ５２３に出力する。
【０１１７】
CRC符号器５２２は、複数のUPからなるPacketised Streamがユーザデータとして信号処理器５１５のデータ入力器５１５Ａから供給された場合、ユーザデータを情報ビット系列として、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いることによって第１のCRCパリティを生成する。CRC符号器５２２は、生成した第１のCRCパリティで次のUPの先頭の８ビットの位置にあるSYNCを置き換える。また、CRC符号器５２２は、そのフレーム化器５２２Ａにおいて、第１のCRCパリティによってSYNCが置き換えられたUPからなるPacketised Streamをデータフィールド毎に区切り、フレーム化を行う。データフィールドの長さを表すDFLの情報は制御器５１５Ｃから供給される。フレーム化器５２２Ａは、フレーム化を行うことによって得られたデータフィールドのデータをセレクタ５２３に出力する。
【０１１８】
一方、Generic Continuous Streamがユーザデータとして供給されたとき、CRC符号器５２２は、そのフレーム化器５２２Ａにおいて、Generic Continuous Streamをデータフィールド毎に区切り、フレーム化を行う。フレーム化器５２２Ａは、フレーム化を行うことによって得られたデータフィールドのデータをセレクタ５２３に出力する。
【０１１９】
セレクタ５２３は、CRC符号器５２１から供給されたベースバンドヘッダのデータに続けて、CRC符号器５２２から供給されたデータフィールドのデータを誤り訂正符号器５１３に出力する。セレクタ５２３から誤り訂正符号器５１３に対しては、ベースバンドフレームのデータが供給されることになる。CRC符号器５２１から供給されたベースバンドヘッダのデータと、CRC符号器５２２から供給されたデータフィールドのデータのうちのいずれのデータを出力するのかは、データ種別２によって信号処理器５１５の制御器５１５Ｃにより指示される。
【０１２０】
信号処理器５１５の制御器５１５Ｃは、ユーザデータとしてCRC符号器５２２に供給されているストリームがPacketised Streamであるのか、Generic Continuous Streamであるのかを表す情報であるデータ種別１及びDFLをCRC符号器５２２に出力する。
【０１２１】
制御器５１５Ｃは、CRC符号器５２１から供給されたベースバンドヘッダのデータとCRC符号器５２２から供給されたデータフィールドのデータのうちのいずれのデータを誤り訂正符号器５１３に出力するのかを指示する情報であるデータ種別２をセレクタ５２３に出力する。
【０１２２】
このように、第１のCRCパリティ用のCRC符号化器と、第２のCRCパリティ用のCRC符号化器がそれぞれ設けられるようにしてもよい。また、第１のCRCパリティ用のCRC符号化器において用いられる生成多項式と、第２のCRCパリティ用のCRC符号化器において用いられる生成多項式としてそれぞれ異なる生成多項式が用いられるようにしてもよい。それぞれのCRC符号化器において用いられる生成多項式は、パリティビット数と符号長に応じて、上述した方法によって選択される。
【０１２３】
図２０は、図１６のCRC符号器５１２のうちのCRCパリティを生成する部分（図２のパリティ生成器１１０に相当する部分）の回路構成の例を示す図である。
【０１２４】
図２０は、生成多項式としてＧ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いた場合の例を示している。なお、図１９のCRC符号器５２１、CRC符号器５２２において用いられる生成多項式がＧ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１である場合、CRC符号器５２１、CRC符号器５２２にも、図２０に示される構成と同じ構成がそれぞれ設けられる。
【０１２５】
図２０に示されるような回路によって生成されたCRCパリティがUPやベースバンドヘッダの一部として付加され、UPやベースバンドヘッダを含むベースバンドフレームのデータが誤り訂正符号器５１３に出力される。図３等を参照して説明したように、CRCパリティは、シフトレジスタと排他的論理和回路を巡回的に、かつ、最終段の排他的論理和回路の出力をその前段の排他的論理和回路に印加するような回路として構成できる。
【０１２６】
図２０において、シフトレジスタ５３２のブロックに示される「Ｄ4」は、４つのシフトレジスタが直列に接続されることによってシフトレジスタ５３２が構成されていることを表し、シフトレジスタ５３４のブロックに示される「Ｄ3」は、３つのシフトレジスタが直列に接続されることによってシフトレジスタ５３４が構成されていることを表す。「Ｄ」がブロックに示されるシフトレジスタ５３６は、１タイミング分だけ遅延させるレジスタとなる。後述する図２４等の回路図においても同様である。
【０１２７】
EXOR回路５３１においては、セレクタ５１１から供給されたヘッダデータまたはユーザデータであるシリアルデータ（１，０）と、シフトレジスタ５３２において４タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路５３１の演算結果はシリアルデータとして出力されるとともに、EXOR回路５３３、EXOR回路５３５、およびシフトレジスタ５３６に供給される。
【０１２８】
EXOR回路５３５においては、シフトレジスタ５３６において１タイミング分だけ遅延された値と、EXOR回路５３１から供給された値に基づいて排他的論理和演算が行われる。EXOR回路５３５の演算結果はシフトレジスタ５３４に供給される。
【０１２９】
EXOR回路５３３においては、シフトレジスタ５３４においてさらに３タイミング分だけ遅延された値と、EXOR回路５３１から供給された値に基づいて排他的論理和演算が行われる。EXOR回路５３３の演算結果はシフトレジスタ５３２に供給される。
【０１３０】
図２１は、生成多項式としてＧ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いた場合と、Ｇ（ｘ）＝ｘ8＋ｘ7＋ｘ6＋ｘ4＋ｘ2＋１を用いた場合の未検出誤り確率のシミュレーション結果を示す図である。
【０１３１】
図２１は、ベースバンドヘッダにおけるMATYPEからSYNCDまでの７２ビットのデータを情報ビット系列として求めたCRC符号の未検出誤り確率を示している。ビットエラーレートは１×１０-3、１×１０-4、１×１０-5とされている。
【０１３２】
図２１に示されるように、ビットエラーレートがいずれの場合であっても、８０ビットといったように符号長が比較的短いデータを対象としたときには、Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を生成多項式として用いた方が未検出誤り確率は低い。CRC符号器５１２は、この生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いた演算を実現するような回路によって構成される。
【０１３３】
図２２は、受信装置５０３の構成例を示すブロック図である。
【０１３４】
図２２に示されるように、受信装置５０３は、OFDM復調器５４１、誤り訂正復号器５４２、CRC検出器５４３、および復号系列処理器５４４から構成される。アンテナなどから供給された受信信号はOFDM復調器５４１に入力される。
【０１３５】
OFDM復調器５４１は、OFDM復調を行い、復調して得られたデータを誤り訂正復号器５４２に出力する。シングルキャリアを用いた変調方式によって変調が行われている場合、OFDM復調器５４１においては、その変調方式に応じた復調処理が行われる。
【０１３６】
誤り訂正復号器５４２は、BCH符号、LDPC符号を用いた誤り訂正をOFDM復調器５４１から供給されたデータに対して施し、誤り訂正を施すことによって得られたデータを出力する。誤り訂正復号器５４２から出力されたデータはCRC検出器５４３と復号系列処理器５４４に出力される。
【０１３７】
CRC検出器５４３は、誤り訂正復号器５４２から供給されたデータに含まれる第２のCRCパリティに基づいて、誤り訂正復号器５４２において誤り訂正が行われたベースバンドヘッダのデータに誤りがあるかどうかを検出する。CRC検出器５４３は、検出結果を復号系列処理器５４４に出力する。CRC検出器５４３において行われる誤りの検出においても、送信装置５０１において用いられる生成多項式と同じ生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１が用いられる。
【０１３８】
また、CRC検出器５４３は、誤り訂正復号器５４２から供給されたデータに含まれる第１のCRCパリティに基づいて、誤り訂正復号器５４２において誤り訂正が行われたUPのデータに誤りがあるかどうかを検出する。
【０１３９】
復号系列処理器５４４は、CRC検出器５４３による検出結果に基づいて誤り訂正復号器５４２から供給されたデータに対して所定の処理を施し、再現したユーザデータを取得する。復号系列処理器５４４は、再現したユーザデータとともに、CRC検出器５４３による検出結果を表す一致信号を後段の装置に出力する。
【０１４０】
図２３は、受信装置５０３の他の構成例を示すブロック図である。図２２に示される構成と同じ構成には同じ符号を付してある。重複する説明については省略する。
【０１４１】
図２３の例においては、CRC処理を行う構成としてCRC検出器５５１とCRC検出器５５２がそれぞれ設けられている。誤り訂正復号器５４２において誤り訂正処理が施されることによって得られたデータは、CRC検出器５５１、CRC検出器５５２、および復号系列処理器５５３にそれぞれ供給される。
【０１４２】
CRC検出器５５１は、誤り訂正復号器５４２から供給されたデータに含まれる第２のCRCパリティに基づいて、誤り訂正復号器５４２において誤り訂正が行われたベースバンドヘッダのデータに誤りがあるかどうかを検出し、検出結果を復号系列処理器５５３に出力する。CRC検出器５５２において行われる誤りの検出においても、例えば生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１が用いられる。
【０１４３】
CRC検出器５５２は、誤り訂正復号器５４２から供給されたデータに含まれる第１のCRCパリティに基づいて、誤り訂正復号器５４２において誤り訂正が行われたUPのデータに誤りがあるかどうかを検出し、検出結果を復号系列処理器５５３に出力する。CRC検出器５５１において行われる誤りの検出においても、例えば生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１が用いられる。
【０１４４】
復号系列処理器５５３は、CRC検出器５５１とCRC検出器５５２による検出結果に基づいて誤り訂正復号器５４２から供給されたデータに対して所定の処理を施し、再現したユーザデータを取得する。復号系列処理器５５３は、再現したユーザデータとともに、CRC検出器５５１、CRC検出器５５２による検出結果を表す一致信号を後段の装置に出力する。
【０１４５】
このように、ヘッダ用のCRC検出器と、UP用のCRC検出器がそれぞれ設けられるようにしてもよい。また、ヘッダ用のCRC検出器において用いられる生成多項式と、UP用のCRC検出器において用いられる生成多項式としてそれぞれ異なる生成多項式が用いられるようにしてもよい。それぞれのCRC検出器において用いられる生成多項式は、パリティビット数と符号長に応じて、上述した方法によって選択される。
【０１４６】
図２４は、図２２のCRC検出器５４３のうちのCRCパリティ検査を行う部分（図５のパリティ検査器３４１に相当する部分）の回路構成の例を示す図である。
【０１４７】
図２４は、生成多項式としてＧ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いた場合の例を示している。なお、図２３のCRC検出器５５１、CRC検出器５５２において用いられる生成多項式がＧ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１である場合、CRC検出器５５１、CRC検出器５５２にも、図２４に示される構成と同じ構成がそれぞれ設けられる。
【０１４８】
EXOR回路５６１においては、誤り訂正復号器５４２から供給されたシリアルデータと、シフトレジスタ５６６において４タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路５６１の演算結果はシフトレジスタ５６２に供給される。
【０１４９】
EXOR回路５６３においては、シフトレジスタ５６２において１タイミング分だけ遅延された値と、シフトレジスタ５６６において４タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路５６３の演算結果はシフトレジスタ５６４に供給される。
【０１５０】
EXOR回路５６５においては、シフトレジスタ５６４において３タイミング分だけ遅延された値と、シフトレジスタ５６６において４タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路５６５の演算結果はシフトレジスタ５６６に供給される。
【０１５１】
ここで、以上のような構成を有する送信装置５０１と受信装置５０３の処理について説明する。フローチャートに示される各ステップの処理は、番号順に行われるだけでなく、他のステップの処理と並列に行われることもある。
【０１５２】
はじめに、図２５のフローチャートを参照して、Generic Continuous Streamの形のユーザデータを送信する図１６の送信装置５０１の処理について説明する。この処理は、例えば、ユーザデータ、ヘッダデータが入力されたときに開始される。
【０１５３】
ステップＳ１０１において、信号処理器５１５のデータ入力器５１５Ａは、外部から入力されたユーザデータをセレクタ５１１に出力し、ヘッダデータをヘッダ生成器５１５Ｂに出力する。
【０１５４】
ステップＳ１０２において、ヘッダ生成器５１５Ｂは、データ入力器５１５Ａから供給されたヘッダデータに基づいて、ベースバンドヘッダに格納される各データを生成し、生成したデータをヘッダデータとしてセレクタ５１１に出力する。
【０１５５】
ステップＳ１０３において、制御器５１５Ｃは、ヘッダデータをCRC符号器５１２に出力することを指示するデータ種別２をセレクタ５１１に出力する。セレクタ５１１においては、データ種別２が供給されてくることに応じてヘッダデータが選択され、CRC符号器５１２に出力される。
【０１５６】
ステップＳ１０４において、CRC符号器５１２は、セレクタ５１１から供給されたヘッダデータを情報ビット系列として、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いることによって第２のCRCパリティを生成し、生成した第２のCRCパリティをベースバンドヘッダ内に格納する。
【０１５７】
ステップＳ１０５において、制御器５１５Ｃは、ユーザデータをCRC符号器５１２に出力することを指示するデータ種別２をセレクタ５１１に出力する。セレクタ５１１においては、データ種別２が供給されてくることに応じてユーザデータが選択され、CRC符号器５１２に出力される。
【０１５８】
ステップＳ１０６において、制御器５１５Ｃは、ユーザデータとしてセレクタ５１１から供給されているストリームがGeneric Continuous Streamであることを表すデータ種別１と、DFLの情報をCRC符号器５１２に出力する。
【０１５９】
ステップＳ１０７において、CRC符号器５１２のフレーム化器５１２Ａは、Generic Continuous StreamであるユーザデータをDFLにより指定される長さのデータフィールド毎に区切り、フレーム化を行う。
【０１６０】
ステップＳ１０８において、フレーム化器５１２Ａは、ベースバンドヘッダをそれぞれのデータフィールドに付加することによってベースバンドフレームを生成し、ベースバンドフレーム単位のデータを誤り訂正符号器５１３に出力する。
【０１６１】
ステップＳ１０９において、誤り訂正符号器５１３は、CRC符号器５１２から供給されたデータに対して誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータをOFDM変調器５１４に出力する。
【０１６２】
ステップＳ１１０において、OFDM変調器５１４は、伝送路符号化処理としてOFDM変調などの処理を行う。
【０１６３】
ステップＳ１１１において、OFDM変調器５１４は、OFDM変調などの処理を行うことによって得られた送信信号を送信し、処理を終了させる。
【０１６４】
次に、図２６のフローチャートを参照して、Packetised Streamの形のユーザデータを送信する図１６の送信装置５０１の処理について説明する。
【０１６５】
Packetised Streamの形のユーザデータを送信する処理は、UPのSYNCを第１のCRCパリティによって置き換える処理が含まれる点を除いて、基本的に、図２５のフローチャートを参照して説明した処理と同様の処理である。
【０１６６】
すなわち、ステップＳ１２１において、信号処理器５１５のデータ入力器５１５Ａは、ユーザデータをセレクタ５１１に出力し、ヘッダデータをヘッダ生成器５１５Ｂに出力する。
【０１６７】
ステップＳ１２２において、ヘッダ生成器５１５Ｂは、ベースバンドヘッダに格納される各データを生成し、生成したデータをヘッダデータとしてセレクタ５１１に出力する。
【０１６８】
ステップＳ１２３において、制御器５１５Ｃは、ヘッダデータをCRC符号器５１２に出力することを指示するデータ種別２をセレクタ５１１に出力する。セレクタ５１１においては、データ種別２が供給されてくることに応じてヘッダデータが選択され、CRC符号器５１２に出力される。
【０１６９】
ステップＳ１２４において、CRC符号器５１２は第２のCRCパリティを生成し、生成した第２のCRCパリティをベースバンドヘッダ内に格納する。
【０１７０】
ステップＳ１２５において、制御器５１５Ｃは、ユーザデータをCRC符号器５１２に出力することを指示するデータ種別２をセレクタ５１１に出力する。セレクタ５１１においては、データ種別２が供給されてくることに応じてユーザデータが選択され、CRC符号器５１２に出力される。
【０１７１】
ステップＳ１２６において、制御器５１５Ｃは、ユーザデータとして供給されているストリームがPacketised Streamであることを表すデータ種別１と、DFLの情報をCRC符号器５１２に出力する。
【０１７２】
ステップＳ１２７において、CRC符号器５１２は、ユーザデータとして供給されたそれぞれのUPに含まれるSYNC以降のデータを情報ビット系列として、生成多項式Ｇ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１を用いることによって第１のCRCパリティを生成し、生成した第１のCRCパリティによって、処理順で次のUPの先頭８ビットの位置にあるSYNCを置き換える。
【０１７３】
ステップＳ１２８において、CRC符号器５１２のフレーム化器５１２Ａは、第１のCRCパリティによってSYNCが置き換えられたPacketised StreamをDFLにより指定される長さのデータフィールド毎に区切り、フレーム化を行う。
【０１７４】
ステップＳ１２９において、フレーム化器５１２Ａは、ベースバンドヘッダをそれぞれのデータフィールドに付加することによってベースバンドフレームを生成し、ベースバンドフレーム単位のデータを誤り訂正符号器５１３に出力する。
【０１７５】
ステップＳ１３０において、誤り訂正符号器５１３は、CRC符号器５１２から供給されたデータに対して誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータをOFDM変調器５１４に出力する。
【０１７６】
ステップＳ１３１において、OFDM変調器５１４は、伝送路符号化処理としてOFDM変調などの処理を施す。
【０１７７】
ステップＳ１３２において、OFDM変調器５１４は、OFDM変調などの処理を施すことによって得られた送信信号を送信し、処理を終了させる。
【０１７８】
次に、図２７のフローチャートを参照して、データを受信する図２２の受信装置５０３の処理について説明する。
【０１７９】
ステップＳ１４１において、OFDM復調器５４１は、受信信号に対してOFDM復調処理を施し、得られたデータを誤り訂正復号器５４２に出力する。
【０１８０】
ステップＳ１４２おいて、誤り訂正復号器５４２は、OFDM復調器５４１から供給されたデータに対して誤り訂正処理を施し、誤り訂正処理を施すことによって得られたデータを復号データとして出力する。
【０１８１】
ステップＳ１４３において、CRC検出器５４３は、誤り訂正復号器５４２から供給された復号データを対象としてCRC処理を行い、データの誤りを検出する。CRC検出器５４３は、検出結果を表す信号を復号系列処理器５４４に出力し、処理を終了させる。復号系列処理器５４４においては誤り訂正復号器５４２から供給された復号データに基づいてユーザデータが再現され、所定の処理が行われる。
【０１８２】
以上の処理により、図８の処理によって選択された生成多項式を用いて、精度の高いCRCを実現することができる。
【０１８３】
以上においては、送信装置５０１のCRC符号器５１２、受信装置５０３のCRC検出器５４３においては生成多項式としてＧ（ｘ）＝ｘ8＋ｘ4＋ｘ＋１が用いられるものとしたが、複数の生成多項式が送信装置５０１、受信装置５０３にあらかじめ設定されており、対象とするデータの種類、データの長さ（符号長）などに応じて、適宜、用いる生成多項式が切り替えられるようにしてもよい。
【０１８４】
図２８は、送信装置５０１のさらに他の構成例を示すブロック図である。図１６に示される構成と同じ構成には同じ符号を付してある。重複する説明については省略する。
【０１８５】
制御器５７５Ｃは、データの種類や長さと生成多項式の対応関係を表すリストを有している。制御器５７５Ｃは、セレクタ５１１から出力されるデータを監視することによってCRC符号器５１２において処理の対象とされるデータの種類や長さを特定し、特定した種類や長さに対応する生成多項式をリストの記述に基づいて選択する。制御器５７５Ｃは、選択した生成多項式を表す信号であるセレクト信号をCRC符号器５１２に出力する。
【０１８６】
CRC符号器５１２は、制御器５７５Ｃから供給されたセレクト信号に応じて生成多項式を切り替え、第１、第２のCRCパリティを生成する。
【０１８７】
図２９および図３０は、制御器５７５Ｃにより管理されるリストの例を示す図である。
【０１８８】
図２９は、符号長と生成多項式の対応関係を記述したリストの例を示す図である。この例においては、処理対象のデータの符号長がｎ1である場合には生成多項式Ｇ1（ｘ）を用い、ｎ2である場合には生成多項式Ｇ2（ｘ）を用い、ｎ3である場合には生成多項式Ｇ3（ｘ）を用いるものとされている。
【０１８９】
図３０は、データの種類と生成多項式の対応関係を記述したリストの例を示す図である。この例においては、処理対象のデータがベースバンドヘッダのデータ（ヘッダデータ）である場合には生成多項式Ｇ1（ｘ）を用い、UPのデータ（ユーザデータ）である場合には生成多項式Ｇ2（ｘ）を用いるものとされている。
【０１９０】
このような対応関係は、上述した方法により設計段階であらかじめ求められたものである。
【０１９１】
このように、対象とするデータに応じて生成多項式が適宜切り替えられるようにすることにより、対象とするデータに適した生成多項式を用いてCRCパリティを生成することが可能となる。なお、生成多項式の切り替えは、処理対象とするヘッダデータとユーザデータが送信装置５０１に入力されているときに動的に行われるものである。
【０１９２】
図３１は、図２８のCRC符号器５１２のうちのCRCパリティを生成する部分の回路構成の例を示す図である。
【０１９３】
図３１は、生成多項式Ｇ1（ｘ）＝ｘ16＋ｘ15＋ｘ8＋ｘ＋１、Ｇ2（ｘ）＝ｘ16＋ｘ13＋ｘ2＋１を用いた場合の例を示している。制御器５７５Ｃからのセレクト信号１，０に応じて、生成多項式Ｇ1（ｘ）＝ｘ16＋ｘ15＋ｘ8＋ｘ＋１を用いた演算と、Ｇ2（ｘ）＝ｘ16＋ｘ13＋ｘ2＋１を用いた演算のうちのいずれかが行われる。セレクト信号により表される値が０である場合に用いられる生成多項式Ｇ1（ｘ）は上で列挙した生成多項式のうちの（３８）の生成多項式であり、セレクト信号により表される値が１である場合に用いられる生成多項式Ｇ2（ｘ）は上で列挙した生成多項式のうちの（３９）の生成多項式である。
【０１９４】
EXOR回路５８１においては、セレクタ５１１から供給されたシリアルデータと、シフトレジスタ５８２において１タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路５８１の演算結果はシリアルデータとして出力されるとともに、AND回路５９３乃至５９７、およびシフトレジスタ５９２に供給される。
【０１９５】
EXOR回路５９１においては、シフトレジスタ５９２において１タイミング分だけ遅延された値と、AND回路５９７から供給された値に基づいて排他的論理和演算が行われる。EXOR回路５９１の演算結果はシフトレジスタ５９０に供給される。
【０１９６】
EXOR回路５８９においては、シフトレジスタ５９０においてさらに１タイミング分だけ遅延された値と、AND回路５９６から供給された値に基づいて排他的論理和演算が行われる。EXOR回路５８９の演算結果はシフトレジスタ５８８に供給される。
【０１９７】
EXOR回路５８７においては、シフトレジスタ５８８においてさらに６タイミング分だけ遅延された値と、AND回路５９５から供給された値に基づいて排他的論理和演算が行われる。EXOR回路５８７の演算結果はシフトレジスタ５８６に供給される。
【０１９８】
EXOR回路５８５においては、シフトレジスタ５８６においてさらに５タイミング分だけ遅延された値と、AND回路５９４から供給された値に基づいて排他的論理和演算が行われる。EXOR回路５８５の演算結果はシフトレジスタ５８４に供給される。
【０１９９】
EXOR回路５８３においては、シフトレジスタ５８４においてさらに２タイミング分だけ遅延された値と、AND回路５９３から供給された値に基づいて排他的論理和演算が行われる。EXOR回路５８３の演算結果はシフトレジスタ５８２に供給される。
【０２００】
AND回路５９３、AND回路５９５、AND回路５９７からは、EXOR回路５８１から出力された値とセレクト信号として制御器５７５Ｃから出力され、NOT回路５９８において反転された値がともに１である場合には１の値が出力され、それ以外のときには０の値が出力される。
【０２０１】
AND回路５９４、AND回路５９６からは、EXOR回路５８１から出力された値とセレクト信号として制御器５７５Ｃから出力された値がともに１である場合には１の値が出力され、それ以外のときには０の値が出力される。
【０２０２】
図３２は、受信装置５０３のさらに他の構成例を示すブロック図である。上述したように、送信装置５０１において生成多項式が切り替えて用いられる場合、受信装置５０３においても、適宜、生成多項式が切り替えて用いられる。
【０２０３】
図３２に示される受信装置５０３の構成は、CRC制御器６０１がさらに設けられている点で図２２に示される受信装置５０３の構成と異なる。誤り訂正復号器５４２から出力されたデータはCRC検出器５４３、復号系列処理器５４４、およびCRC制御器６０１に供給される。
【０２０４】
CRC制御器６０１は、送信装置５０１の制御器５７５Ｃと同様に、図２９、図３０に示されるような、データの種類や長さと生成多項式の対応関係を表すリストを有している。CRC制御器６０１は、誤り訂正復号器５４２から供給されたデータに基づいて、CRC検出器５４３において処理の対象とされるデータの種類や長さを特定し、特定した種類や長さに対応する生成多項式をリストの記述に基づいて選択する。CRC制御器６０１は、選択した生成多項式を表す信号であるセレクト信号をCRC検出器５４３に出力する。
【０２０５】
CRC検出器５４３は、CRC制御器６０１から供給されたセレクト信号に応じて生成多項式を切り替え、誤り訂正復号器５４２において誤り訂正が行われたデータに誤りがあるかどうかを検出する。
【０２０６】
このように、対象とするデータに応じて生成多項式が適宜切り替えられるようにすることにより、対象とするデータに適した生成多項式を用いて誤りの検出を行うことが可能となる。なお、生成多項式の切り替えは、信号の受信が行われているときに動的に行われるものである。
【０２０７】
図３３は、図３２のCRC検出器５４３のうちのCRCパリティ検査を行う部分の回路構成の例を示す図である。
【０２０８】
図３３も、生成多項式Ｇ1（ｘ）＝ｘ16＋ｘ15＋ｘ8＋ｘ＋１、Ｇ2（ｘ）＝ｘ16＋ｘ13＋ｘ2＋１を用いた場合の例を示している。CRC制御器６０１からのセレクト信号０，１に応じて、それぞれ、生成多項式Ｇ1（ｘ）＝ｘ16＋ｘ15＋ｘ8＋ｘ＋１を用いた演算と、Ｇ2（ｘ）＝ｘ16＋ｘ13＋ｘ2＋１を用いた演算が行われる。
【０２０９】
EXOR回路６１１においては、誤り訂正復号器５４２から供給されたシリアルデータと、シフトレジスタ６２２において１タイミング分だけ遅延された値に基づいて排他的論理和演算が行われる。EXOR回路６１１の演算結果はシフトレジスタ６１２に供給される。
【０２１０】
EXOR回路６１３においては、シフトレジスタ６１２において１タイミング分だけ遅延された値と、AND回路６２７から供給された値に基づいて排他的論理和演算が行われる。EXOR回路６１３の演算結果はシフトレジスタ６１４に供給される。
【０２１１】
EXOR回路６１５においては、シフトレジスタ６１４において１タイミング分だけ遅延された値と、AND回路６２６から供給された値に基づいて排他的論理和演算が行われる。EXOR回路６１５の演算結果はシフトレジスタ６１６に供給される。
【０２１２】
EXOR回路６１７においては、シフトレジスタ６１６において６タイミング分だけ遅延された値と、AND回路６２５から供給された値に基づいて排他的論理和演算が行われる。EXOR回路６１７の演算結果はシフトレジスタ６１８に供給される。
【０２１３】
EXOR回路６１９においては、シフトレジスタ６１８において５タイミング分だけ遅延された値と、AND回路６２４から供給された値に基づいて排他的論理和演算が行われる。EXOR回路６１９の演算結果はシフトレジスタ６２０に供給される。
【０２１４】
EXOR回路６２１においては、シフトレジスタ６２０において２タイミング分だけ遅延された値と、AND回路６２３から供給された値に基づいて排他的論理和演算が行われる。EXOR回路６２１の演算結果はシフトレジスタ６２２に供給される。
【０２１５】
AND回路６２３、AND回路６２５、AND回路６２７からは、シフトレジスタ６２２において１タイミング分だけ遅延された値とセレクト信号としてCRC制御器６０１から出力され、NOT回路６２８において反転された値がともに１である場合には１の値が出力され、それ以外のときには０の値が出力される。
【０２１６】
AND回路６２４、AND回路６２６からは、シフトレジスタ６２２において１タイミング分だけ遅延された値とセレクト信号としてCRC制御器６０１から出力された値がともに１である場合には１の値が出力され、それ以外のときには０の値が出力される。
【０２１７】
以上においては、切り替えて用いられる生成多項式がＧ1（ｘ）＝ｘ16＋ｘ15＋ｘ8＋ｘ＋１とＧ2（ｘ）＝ｘ16＋ｘ13＋ｘ2＋１のいずれかであるとしたが、他の生成多項式であってもよいし、３つ以上の生成多項式の中から１つの生成多項式が選択され、選択された生成多項式が用いられるようにしてもよい。また、ベースバンドヘッダとユーザデータに応じて生成多項式が切り替えられるのではなく、あるヘッダとサブヘッダといったように、他の種類のデータに応じて切り替えられるようにしてもよい。
【０２１８】
ここで、図２８に示される構成を有する送信装置５０１と、図３２に示される構成を有する受信装置５０３の処理について説明する。
【０２１９】
はじめに、図３４のフローチャートを参照して、Generic Continuous Streamの形のユーザデータを送信する図２８の送信装置５０１の処理について説明する。
【０２２０】
この処理は、CRC符号化処理に用いる生成多項式を指示するセレクト信号が制御器５７５ＣからCRC符号器５１２に対して出力される処理が含まれる点を除いて、図２５の処理と同様の処理である。
【０２２１】
すなわち、ステップＳ１５１において、信号処理器５１５のデータ入力器５１５Ａは、ユーザデータをセレクタ５１１に出力し、ヘッダデータをヘッダ生成器５１５Ｂに出力する。
【０２２２】
ステップＳ１５２において、ヘッダ生成器５１５Ｂは、ベースバンドヘッダに格納される各データを生成し、生成したデータをヘッダデータとしてセレクタ５１１に出力する。
【０２２３】
ステップＳ１５３において、制御器５７５Ｃは、ヘッダデータをCRC符号器５１２に出力することを指示するデータ種別２をセレクタ５１１に出力する。セレクタ５１１においては、データ種別２が供給されてくることに応じてヘッダデータが選択され、CRC符号器５１２に出力される。
【０２２４】
ステップＳ１５４において、制御器５７５Ｃは、ベースバンドヘッダのデータ（ヘッダデータ）用の生成多項式である生成多項式Ｇ1（ｘ）を用いてCRC符号化処理を行うことを指示するセレクト信号をCRC符号器５１２に出力する。
【０２２５】
ステップＳ１５５において、CRC符号器５１２は、制御器５７５Ｃから供給されたセレクト信号に従ってヘッダデータ用の生成多項式である生成多項式Ｇ1（ｘ）を用いて第２のCRCパリティを生成し、生成した第２のCRCパリティをベースバンドヘッダ内に格納する。
【０２２６】
ステップＳ１５６において、制御器５７５Ｃは、ユーザデータをCRC符号器５１２に出力することを指示するデータ種別２をセレクタ５１１に出力する。セレクタ５１１においては、データ種別２が供給されてくることに応じてユーザデータが選択され、CRC符号器５１２に出力される。
【０２２７】
ステップＳ１５７において、制御器５７５Ｃは、ユーザデータとして供給されているストリームがGeneric Continuous Streamであることを表すデータ種別１と、DFLの情報をCRC符号器５１２に出力する。
【０２２８】
ステップＳ１５８において、CRC符号器５１２のフレーム化器５１２Ａは、Generic Continuous StreamであるユーザデータをDFLにより指定される長さのデータフィールド毎に区切り、フレーム化を行う。
【０２２９】
ステップＳ１５９において、フレーム化器５１２Ａは、ベースバンドヘッダをそれぞれのデータフィールドに付加することによってベースバンドフレームを生成し、ベースバンドフレーム単位のデータを誤り訂正符号器５１３に出力する。
【０２３０】
ステップＳ１６０において、誤り訂正符号器５１３は、CRC符号器５１２から供給されたデータに対して誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータをOFDM変調器５１４に出力する。
【０２３１】
ステップＳ１６１において、OFDM変調器５１４は、伝送路符号化処理としてOFDM変調などの処理を施す。
【０２３２】
ステップＳ１６２において、OFDM変調器５１４は、OFDM変調などの処理を施すことによって得られた送信信号を送信し、処理を終了させる。
【０２３３】
次に、図３５のフローチャートを参照して、Packetised Streamの形のユーザデータを送信する図２８の送信装置５０１の処理について説明する。
【０２３４】
図３５の処理は、CRC符号化処理に用いる生成多項式を指示するセレクト信号が制御器５７５ＣからCRC符号器５１２に対して出力される処理が含まれる点を除いて、図２６の処理と同様の処理である。
【０２３５】
ステップＳ１７１において、信号処理器５１５のデータ入力器５１５Ａは、ユーザデータをセレクタ５１１に出力し、ヘッダデータをヘッダ生成器５１５Ｂに出力する。
【０２３６】
ステップＳ１７２において、ヘッダ生成器５１５Ｂは、ベースバンドヘッダに格納される各データを生成し、生成したデータをヘッダデータとしてセレクタ５１１に出力する。
【０２３７】
ステップＳ１７３において、制御器５７５Ｃは、ヘッダデータをCRC符号器５１２に出力することを指示するデータ種別２をセレクタ５１１に出力する。セレクタ５１１においては、データ種別２が供給されてくることに応じてヘッダデータが選択され、CRC符号器５１２に出力される。
【０２３８】
ステップＳ１７４において、制御器５７５Ｃは、ベースバンドヘッダのデータ（ヘッダデータ）用の生成多項式である生成多項式Ｇ1（ｘ）を用いてCRC符号化処理を行うことを指示するセレクト信号をCRC符号器５１２に出力する。
【０２３９】
ステップＳ１７５において、CRC符号器５１２は、制御器５７５Ｃから供給されたセレクト信号に従ってヘッダデータ用の生成多項式である生成多項式Ｇ1（ｘ）を用いて第２のCRCパリティを生成し、生成した第２のCRCパリティをベースバンドヘッダ内に格納する。
【０２４０】
ステップＳ１７６において、制御器５７５Ｃは、ユーザデータをCRC符号器５１２に出力することを指示するデータ種別２をセレクタ５１１に出力する。セレクタ５１１においては、データ種別２が供給されてくることに応じてユーザデータが選択され、CRC符号器５１２に出力される。
【０２４１】
ステップＳ１７７において、制御器５７５Ｃは、ユーザデータとして供給されているストリームがPacketised Streamであることを表すデータ種別１と、DFLの情報をCRC符号器５１２に出力する。
【０２４２】
ステップＳ１７８において、制御器５７５Ｃは、UPのデータ（ユーザデータ）用の生成多項式である生成多項式Ｇ2（ｘ）を用いてCRC符号化処理を行うことを指示するセレクト信号をCRC符号器５１２に出力する。
【０２４３】
ステップＳ１７９において、CRC符号器５１２は、ユーザデータとして供給されたそれぞれのUPに含まれるSYNC以降のデータを情報ビット系列として、生成多項式Ｇ2（ｘ）を用いることによって第１のCRCパリティを生成し、生成した第１のCRCパリティによって、処理順で次のUPの先頭８ビットの位置にあるSYNCを置き換える。
【０２４４】
ステップＳ１８０において、CRC符号器５１２のフレーム化器５１２Ａは、Packetised StreamであるユーザデータをDFLにより指定される長さのデータフィールド毎に区切り、フレーム化を行う。
【０２４５】
ステップＳ１８１において、フレーム化器５１２Ａは、ベースバンドヘッダをそれぞれのデータフィールドに付加することによってベースバンドフレームを生成し、ベースバンドフレーム単位のデータを誤り訂正符号器５１３に出力する。
【０２４６】
ステップＳ１８２において、誤り訂正符号器５１３は、CRC符号器５１２から供給されたデータに対して誤り訂正符号化処理を施し、誤り訂正符号化処理を施すことによって得られたデータをOFDM変調器５１４に出力する。
【０２４７】
ステップＳ１８３において、OFDM変調器５１４は、伝送路符号化処理としてOFDM変調などの処理を施す。
【０２４８】
ステップＳ１８４において、OFDM変調器５１４は、OFDM変調などの処理を施すことによって得られた送信信号を送信し、処理を終了させる。
【０２４９】
次に、図３６のフローチャートを参照して、データを受信する図３２の受信装置５０３の処理について説明する。
【０２５０】
図３６の処理は、CRC処理に用いる生成多項式を指示するセレクト信号がCRC制御器６０１からCRC検出器５４３に対して出力される処理が含まれる点を除いて、図２７の処理と同様の処理である。
【０２５１】
ステップＳ１９１において、OFDM復調器５４１は、受信信号に対してOFDM復調処理を施し、得られたデータを誤り訂正復号器５４２に出力する。
【０２５２】
ステップＳ１９２おいて、誤り訂正復号器５４２は、OFDM復調器５４１から供給されたデータに対して誤り訂正処理を施し、誤り訂正処理を施すことによって得られたデータを受信データとして出力する。
【０２５３】
ステップＳ１９３において、制御器６０１は、誤り訂正復号器５４２から供給された受信データに基づいて、CRC検出器５４３においてCRC処理の対象になっているデータを特定する。
【０２５４】
ステップＳ１９４において、制御器６０１は、CRC処理の対象になっているデータに応じて、CRC処理に用いる生成多項式を指示するセレクト信号をCRC検出器５４３に出力する。
【０２５５】
ステップＳ１９５において、CRC検出器５４３は、制御器６０１から供給されたセレクト信号に従って生成多項式を切り替え、誤り訂正復号器５４２から供給された受信データに対してCRC処理を施す。ヘッダデータを対象としてCRC処理を行う場合、ヘッダデータ用の生成多項式である生成多項式Ｇ1（ｘ）が用いられ、ユーザデータを対象としてCRC処理を行う場合、ユーザデータ用の生成多項式である生成多項式Ｇ2（ｘ）が用いられる。CRC検出器５４３は、CRC処理の結果を表す信号を出力し、処理を終了させる。
【０２５６】
以上においては、送信装置５０１から受信装置５０３に対しては、地上デジタル放送の規格であるDVB-T2や、衛星デジタル放送の規格であるDVB-S2などの規格に準拠してデータの送信が行われるものとしたが、このDVB-T2とDVB-S2の違いとしては、図１３に示されるようにベースバンドヘッダの中にあるMATYPEの２バイト（１６ビット）のデータのうちの７〜８ビット目が、DVB-T2では送信モードを表す２ビットの“Mode”であるのに対して、DVB-S2ではロールオフファクターを表す２ビットの“RO”である点が挙げられる。
【０２５７】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２５８】
【図１】本発明のCRC符号化方法およびCRC符号化装置が適用される１例としての、送信装置および受信装置の構成の例を示す図である。
【図２】図１の送信装置におけるCRC符号器の構成例を示す図である。
【図３】図２に図解したCRC符号器におけるCRCパリティ生成器の第１構成例を示す図である。
【図４】図２に図解したCRC符号器におけるCRCパリティ生成器の第２構成例を示す図である。
【図５】図１の受信装置におけるCRC検出器の構成例を示す図である。
【図６】図５に図解したCRC検出器を構成するCRCパリティ検査器の構成例を示す図である。
【図７】８ビットCRCの場合の符号の最小ハミング距離最大値Max.dminが変化する符号長ｎ（横軸）における符号の未検出誤り確率Ｐud（縦軸）の変化を示すｎ−Ｐud特性を示すグラフである。
【図８】本発明のCRC符号選択方法の処理内容の１例を示すフローチャートである。
【図９】図８に図解したフローチャートにおける部分詳細処理を示すフローチャートである。
【図１０】１６ビットCRCにおける本発明の実施例と比較例について、ｎ−Ｐud特性を示すグラフである。
【図１１】８ビットCRCにおける本発明の実施例と比較例について、ｎ−Ｐud特性を示すグラフである。
【図１２】送受信システムの構成例を示す図である。
【図１３】ストリームの構造の例を示す図である。
【図１４】CRCパリティの生成の例を示す図である。
【図１５】ベースバンドフレームに付加されるデータの例を示す図である。
【図１６】送信装置の構成例を示すブロック図である。
【図１７】Generic Continuous Streamを対象としたフレーム化について示す図である。
【図１８】Packetised Streamを対象としたフレーム化について示す図である。
【図１９】送信装置の他の構成例を示すブロック図である。
【図２０】図１６のCRC符号器の回路構成の例を示す図である。
【図２１】未検出誤り確率のシミュレーション結果を示す図である。
【図２２】受信装置の構成例を示すブロック図である。
【図２３】受信装置の他の構成例を示すブロック図である。
【図２４】図２２のCRC検出器の回路構成の例を示す図である。
【図２５】図１６の送信装置の処理について説明するフローチャートである。
【図２６】図１６の送信装置の他の処理について説明するフローチャートである。
【図２７】図２２の受信装置の処理について説明するフローチャートである。
【図２８】送信装置のさらに他の構成例を示すブロック図である。
【図２９】データの長さと生成多項式の対応関係を表すリストの例を示す図である。
【図３０】データの種類と生成多項式の対応関係を表すリストの例を示す図である。
【図３１】図２８のCRC符号器の回路構成の例を示す図である。
【図３２】受信装置のさらに他の構成例を示すブロック図である。
【図３３】図３２のCRC検出器の回路構成の例を示す図である。
【図３４】図２８の送信装置の処理について説明するフローチャートである。
【図３５】図２８の送信装置の他の処理について説明するフローチャートである。
【図３６】図３２の受信装置の処理について説明するフローチャートである。
【符号の説明】
【０２５９】
１…送信装置
１１…CRC符号器
１１０…CRCパリティ生成器、１１１…第１セレクタ
１１２…第２セレクタ、１１３…ビット数カウンタ
１２…誤り訂正符号器、１３…伝送路符号器
２…伝送路
３…受信装置
３１…符号検出器、３２…伝送路復号器、３３…誤り訂正復号器
３４…CRC検出器
３４１…CRCパリティ検査器、３４２…比較器
【図１】
0005298621.tif 000008
【図２】
0005298621.tif 000009
【図３】
0005298621.tif 000010
【図４】
0005298621.tif 000011
【図５】
0005298621.tif 000012
【図６】
0005298621.tif 000013
【図７】
0005298621.tif 000014
【図８】
0005298621.tif 000015
【図９】
0005298621.tif 000016
【図１０】
0005298621.tif 000017
【図１１】
0005298621.tif 000018
【図１２】
0005298621.tif 000019
【図１３】
0005298621.tif 000020
【図１４】
0005298621.tif 000021
【図１５】
0005298621.tif 000022
【図１６】
0005298621.tif 000023
【図１７】
0005298621.tif 000024
【図１８】
0005298621.tif 000025
【図１９】
0005298621.tif 000026
【図２０】
0005298621.tif 000027
【図２１】
0005298621.tif 000028
【図２２】
0005298621.tif 000029
【図２３】
0005298621.tif 000030
【図２４】
0005298621.tif 000031
【図２５】
0005298621.tif 000032
【図２６】
0005298621.tif 000033
【図２７】
0005298621.tif 000034
【図２８】
0005298621.tif 000035
【図２９】
0005298621.tif 000036
【図３０】
0005298621.tif 000037
【図３１】
0005298621.tif 000038
【図３２】
0005298621.tif 000039
【図３３】
0005298621.tif 000040
【図３４】
0005298621.tif 000041
【図３５】
0005298621.tif 000042
【図３６】
0005298621.tif 000043