(57)【特許請求の範囲】
【請求項１】
無線接続システムでデータを伝送するためのチャンネルコーディングの方法であって、
前記方法は、
【数３６】
0005466317.tif 000052
の式によりコードブロックの個数Ｃを計算することであって、「Ｂ」は、入力ビットシーケンスの大きさであり、「Ｚ」は、前記コードブロックの最大の大きさであり、「Ｌ」は、前記コードブロックのそれぞれに付加されるＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）の大きさである、ことと、
【数３７】
0005466317.tif 000053
の式により、変更された入力ビットシーケンスの大きさＢ’を計算することと、
前記コードブロックの個数Ｃ及び前記変更された入力ビットシーケンスの大きさＢ’に基づいて、前記コードブロックを生成することと、
前記コードブロックをチャンネルコーディングすることと
を含む、方法。
【請求項２】
前記コードブロックの個数Ｃを計算することは、前記入力ビットシーケンスの大きさＢが前記コードブロックの最大の大きさＺよりも大きいときに実行される、請求項１に記載の方法。
【請求項３】
前記ＣＲＣは、前記コードブロックのそれぞれが誤りを含むか否かを検出するために前記コードブロックのそれぞれに付加される、請求項１に記載の方法。
【請求項４】
前記入力ビットシーケンスは、ＣＲＣを前記データに付加することにより生成される、請求項１に記載の方法。
【請求項５】
前記ＣＲＣの大きさＬは、２４ビットであり、前記コードブロックの最大の大きさＺは、６１４４ビットである、請求項１に記載の方法。
【請求項６】
無線接続システムでデータを伝送するためのチャンネルコーディングのための装置であって、ＵＥは、
伝送器と、
前記データの伝送をサポートするように構成されたコードブロック分割及びＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）付加器と、
チャンネル符号化器と
を備え、
前記コードブロック分割及びＣＲＣ付加器は、
【数３８】
0005466317.tif 000054
の式によりコードブロックの個数Ｃを計算し、「Ｂ」は、入力ビットシーケンスの大きさであり、「Ｚ」は、前記コードブロックの最大の大きさであり、「Ｌ」は、前記コードブロックのそれぞれに付加されるＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）の大きさであり、
前記コードブロック分割及びＣＲＣ付加器は、
【数３９】
0005466317.tif 000055
の式により、変更された入力ビットシーケンスの大きさＢ’を計算し、前記コードブロックの個数Ｃ及び前記変更された入力ビットシーケンスの大きさＢ’に基づいて、前記コードブロックを生成し、
前記チャンネル符号化器は、前記コードブロックをチャンネルコーディングする、装置。
【請求項７】
前記コードブロックの個数Ｃを計算することは、前記入力ビットシーケンスの大きさＢが前記コードブロックの最大の大きさＺよりも大きいときに実行される、請求項６に記載の装置。
【請求項８】
前記ＣＲＣは、前記コードブロックのそれぞれが誤りを含むか否かを検出するために前記コードブロックのそれぞれに付加される、請求項６に記載の装置。
【請求項９】
前記入力ビットシーケンスは、ＣＲＣを前記データに付加することにより生成される、請求項６に記載の装置。
【請求項１０】
前記ＣＲＣの大きさＬは、２４ビットであり、前記コードブロックの最大の大きさＺは、６１４４ビットである、請求項６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線接続システムでデータを伝送する方法に係り、特に、入力データを、誤り検出符号の大きさを考慮してコードブロックに分割する様々な方法に関するものである。
【背景技術】
【０００２】
データの伝送において、データ伝送効率及び信頼性あるデータ伝送はいずれも重要な問題である。一般的に用いられる技術において、データ伝送効率を上げるためにデータを分割して伝送する方法と、データに誤りが存在するか否かを検査するための誤り検出符号を使用する方法といった様々な方法が用いられている。
【０００３】
誤り制御とは、データ伝送中に発生する誤りを検出して補正するメカニズムのことをいう。誤り制御方式は、誤り検出再送要求方式（ＡＲＱ：  Ａｕｔｏｍａｔｉｃ  Ｒｅｐｅａｔ  ｒｅＱｕｅｓｔ）方式、前方誤り訂正（ＦＥＣ：  Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）方式及び後方誤り訂正（ＢＥＣ：  Ｂａｃｋｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）方式などがある。
【０００４】
ＡＲＱ手法とは、通信回線上で信頼性あるデータ伝送のために、受信側で受信肯定確認（ＡＣＫ）信号及びタイムアウトという手段で誤り発生有無を点検し、送信側では誤りの発生したフレームを再送する誤り制御方式のことをいう。誤り検出再送要求方式は、自動再送要求方式とも呼ばれ、受信側で誤り発生を点検し、誤り発生部分に対して再送を要求する方式である。前方誤り訂正（ＦＥＣ）方式とは、送信側が伝送すべき文字やフレームに付加的情報（Ｒｅｄｕｎｄａｎｃｙ）を添付して伝送することによって、受信側で誤りを見つけた場合に受信側が付加的情報を用いて誤り検出及び誤り訂正をする方式のことをいう。後方誤り訂正（ＢＥＣ）方式とは、誤りを検出できるような付加的な情報を付加し、誤り発生データに対して送信側にＡＲＱを送信する方式のことをいう。
【０００５】
誤り検出は、単に伝送中に誤りの発生したか否かのみを受信側が確認できるようにする技術を意味し、誤り検出コードは、誤り検出技術を支援するコードを意味する。誤り検出のための主な方式には、パリティ検査（Ｐａｒｉｔｙ  Ｃｈｅｃｋ）、チェックサム（Ｃｈｅｃｋ  ｓｕｍ）、巡回冗長検査（ＣＲＣ：Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）及び重み付きコード方式などがある。
【０００６】
誤り訂正コーディングとは、伝送される文字が何であるかを受信機が推論できるように、伝送されるデータブロックに充分の余分の情報（Ｒｅｄｕｎｄａｎｃｙ）を含める符号化（コード化）方式のことをいう。ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）層モデルの観点からすれば、このような作業は主にデータリンク層で行われる。一方、誤り検出コーディングは、受信機が誤りの発生した事実のみを推論できるようにし、再送要求ができるように余分の情報を含めてコード化する方式のことをいう。
【０００７】
誤り訂正コーディングには、一定長さの情報（信号）に一定長さの付加情報を加えることで、受信側で誤りを訂正できるようにするチャンネル符号であるブロック符号（Ｂｌｏｃｋ  Ｃｏｄｅ）方式と、符号化器がメモリを有しており、コード化させる時に現在入力される信号に過去に入力された一部の信号を共に活用する畳み込み符号（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｃｏｄｅ）方式がある。
【０００８】
ブロック符号には、線形符号（Ｌｉｎｅａｒ  Ｃｏｄｅ）としてハミング符号（Ｈａｍｍｉｎｇ  Ｃｏｄｅ）などがあり、巡回符号（Ｃｙｃｌｉｃ  Ｃｏｄｅ）としてリード・ソロモン（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）符号、ＢＣＨ（Ｂｏｓｅ  Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）符号、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）符号などがある。畳み込み符号には、ビタビ符号（Ｖｉｔｅｒｂｉ  Ｃｏｄｅ）及びターボ符号（Ｔｕｒｂｏ  Ｃｏｄｅ）などがある。
【０００９】
パリティ検査とは、情報ビット数が少なく、誤り発生確率が低い場合に最も一般的に使用する誤り検出方式である。パリティ符号は簡単に具現できるから非同期通信に多く利用されるが、偶数個の誤りが発生すると誤り検出が困難であるという欠点がある。パリティ検査の種類には、パリティビットを、符号化された文字の‘１’の個数が全部合算して奇数となるように定める奇数（ｏｄｄ）パリティ検査方式と、パリティビットを、符号化された文字の‘１’の個数が全部合算して偶数となるように定める偶数（ｅｖｅｎ）パリティ検査方式がある。
【００１０】
また、巡回冗長検査（ＣＲＣ）方式は、誤り検出方法の一つであり、送信側で伝送されたデータから多項式により抽出された結果を余分の誤り検査フィールド（ＦＣＳ：  Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）に付け加えて送ると、受信側では、同様の方法で抽出した結果との一致性により誤り検査をする技術である。ＣＲＣは、強力でありながらもハードウェアで具現しやすい。送信側で伝送する元データフレームをＣＲＣ多項式で除算すると余りの値が出るが、この余りの値がＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）となる。ＦＣＳを生成するためには、除算のための除数（Ｄｉｖｉｓｏｒ）であるＣＲＣ多項式が必要である。ＦＣＳは、結果フレーム（元データ＋ＦＣＳ）が、あらかじめ定義された多項式によって正確に割り切れるように、元データフレームの後部に付けて送信する（元フレームに対して計算したＦＣＳをフレームの後部に追加する）。ここで、あらかじめ定義された多項式を、除数（Ｄｉｖｉｓｏｒ）またはＣＲＣ多項式（ＣＲＣ  Ｐｏｌｙｎｏｍｉａｌ）という。
【００１１】
受信側では、結果フレームを受信した後にＣＲＣを行う。受信側は、受信したデータフレームを、伝送時に使用したのと同じＣＲＣ多項式で除算して余りを検査する。受信側での誤り検出は、受信側で剰余分と共に伝送されたデータを、元データを除算した値で除算した時に、余りが‘０’であるか検査することで誤りを検出する。この時、余りが‘０’でないと、伝送時に誤りが発生したと判断する。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
一般的に使用されるＣＲＣ付加方法及びデータブロック分割方法は、入力されるデータブロックに一つのＣＲＣ符号を付加した後にデータブロックを分割してコードブロックの形態として伝送する。この場合は、受信側では分割された全てのブロックを受信した後に順にコードブロックを組み合わせ、ＣＲＣ確認を通じて復旧されたデータブロックに誤りがあるかを判断することができる。したがって、復旧されたデータブロックの誤りを判断できる時点は、全てのコードブロックが順に復旧された後となるので、迅速な誤り検出ができない。
【００１３】
また、受信した元データブロックの任意の位置に誤りがあるとしたら、コードブロックが多いほど受信側にとっては復旧に必要な処理過程が負担とになりうる。
【００１４】
また、コードブロックの個数及びその長さを計算する過程でコードブロックごとにＣＲＣコードが付加されることを考慮しなければならないが、一般的に使われるデータブロック分割器でのコードブロックの個数及び長さを計算する方法は、コードブロックにＣＲＣコードが付加されることを考慮しないという問題点がある。
【００１５】
本発明は、上記のような一般的な技術における問題点を解決するために案出されたもので、効率的なデータ伝送方法に関する。
【００１６】
本発明の目的は、コードブロックごとに付加される誤り検出符号の大きさを考慮してデータブロックを分割する様々な方法を提供することにある。
【００１７】
本発明の他の目的は、コードブロックの個数を計算する様々な方法を提供することにある。
【００１８】
本発明のさらに他の目的は、誤り検出符号の大きさを考慮してコードブロックごとにデータを割り当てる場合、コードブロックの個数、コードブロックの長さ情報及び／または誤り検出符号の大きさを考慮してデータを割り当てる様々な方法を提供することにある。
【００１９】
本発明のさらに他の目的は、上記の目的に基づいて効率的なデータ伝送方法を提供することにある。
【課題を解決するための手段】
【００２０】
本発明は、無線接続システムでコードブロックを分割する様々な実施例を開示する。また、本発明は、誤り検出符号の大きさを考慮してデータブロックを分割する方法及びコードブロックに誤り検出符号を付加する方法を開示する。
【００２１】
本発明の一実施例として無線接続システムでデータを伝送する方法は、データに第１誤り検出符号を付加して入力ビットを生成する段階と、前記入力ビットの大きさＢがコードブロックの最大の大きさＺよりも大きいと、前記入力ビットの大きさＢ、前記コードブロックの最大の大きさＺ及び前記コードブロックのそれぞれに付加される第２誤り検出符号の大きさＬを用いて、前記コードブロックの個数Ｃを計算する段階と、前記コードブロックの個数Ｃ、前記第２誤り検出符号の大きさＬ及び前記入力ビットの大きさＢを用いて、変更された入力ビットの大きさ（ｍｏｄｉｆｉｅｄ  ｉｎｐｕｔ  ｂｉｔ  ｓｉｚｅ）Ｂ’を計算する段階と、前記変更された入力ビットの大きさＢ’を前記コードブロックの個数Ｃで除算した値に基づいて、既に設定された値からコードブロックの大きさＫを獲得する段階と、前記入力ビットを前記コードブロックの個数Ｃ及び前記獲得したコードブロックの大きさＫを有するように分割する段階と、前記分割された入力ビットのそれぞれに前記第２誤り検出符号を付加して前記コードブロックを生成する段階と、前記コードブロックをチャンネルコーディングする段階と、を含むことができる。
【００２２】
ここで、前記コードブロックの個数Ｃを計算する段階で、前記コードブロックの個数Ｃは、前記入力ビットの大きさＢを、前記コードブロックが有しうる最大の大きさＺから、前記コードブロックに付加される第２誤り検出符号の大きさＬを減算した値で除算した値を切り上げた整数値にすることができる。
【００２３】
また、前記第１誤り検出符号及び前記第２誤り検出符号は、互いに異なる多項式を用いて生成されることができる。
【００２４】
また、前記入力ビットの大きさＢは、前記データの大きさＡと前記第１誤り検出符号の大きさＬとを加算した値であり、前記コードブロックのそれぞれに付加される第２誤り検出符号は、前記コードブロックのそれぞれにおける誤り有無の検出のためにさらに付加されることができる。
【００２５】
また、前記コードブロックの個数Ｃを計算する段階で、前記入力ビットの大きさＢが、前記コードブロックが有しうる最大の大きさＺ以下であれば、前記コードブロックの個数Ｃは、‘１’と設定されることができる。
【００２６】
また、前記変更された入力ビットの大きさＢ’は、前記コードブロックの個数Ｃと前記コードブロックに含まれる誤り検出符号の大きさＬとを乗算してから前記入力ビットの大きさＢを加算して得ることができる。ここで、前記コードブロックの大きさＫは、前記コードブロックの個数Ｃ及び前記コードブロックの大きさＫを乗算した値が、前記変更された入力ビットの大きさＢ’以上である条件を満たすことができる。
【００２７】
また、前記コードブロックの大きさＫのうち、第１コードブロックの大きさＫ＋は、前記既に設定された値のうち最も小さい大きさを有し、前記コードブロックの大きさＫのうち、第２コードブロックの大きさＫ−は、前記第１コードブロックよりも小さい大きさを有する前記既に設定された値のうち、最も大きい大きさを有することができる。
【００２８】
また、前記第２コードブロックの個数Ｃ−は、前記コードブロックの個数Ｃと前記第１コードブロックの大きさＫ＋とを乗算した値から、前記変更された入力ビットの大きさＢ’を減算した値を、前記第１コードブロックの大きさＫ＋と前記第２コードブロックの大きさＫ−との差で除算した値を切り捨てた整数値とすることができる。
【００２９】
また、前記第１コードブロックの個数Ｃ＋は、前記コードブロックの個数Ｃから前記第２コードブロックの個数Ｃ−を減算した値とすることができる。
【００３０】
また、上記のデータを伝送する方法は、前記第１コードブロックの個数Ｃ＋及び前記第１コードブロックの大きさＫ＋を乗算した値と前記第２コードブロックの個数Ｃ−及び前記第２コードブロックの大きさＫ＋を乗算した値とを加算した値から、前記変更された入力ビットの大きさＢ’を減算した値である埋め草ビット（Ｆｉｌｌｅｒ  ｂｉｔ）の個数Ｆを計算する段階と、前記埋め草ビットを、分割された前記コードブロックのうち最初のコードブロックに割り当てる段階と、をさらに含むことができる。
【００３１】
また、上記の方法は、分割された前記コードブロックのうち１番目のコードブロックには、埋め草ビット及び前記コードブロックに含まれる誤り検出符号の大きさに該当する値を除く領域にデータを割り当てる段階と、分割された前記コードブロックのうち２番目のコードブロックからは、前記誤り検出符号の大きさに該当する値を除く領域に前記データを割り当てる段階と、をさらに含むことができる。
【００３２】
ここで、前記１番目のコードブロックにデータを割り当てる段階は、前記１番目のコードブロックに前記誤り検出符号を付加する段階をさらに含むことができる。また、前記２番目のコードブロックからデータを割り当てる段階は、前記２番目のコードブロック以降のコードブロックから前記誤り検出符号をそれぞれ付加する段階をさらに含むことができる。
【００３３】
また、前記コードブロックの最大の大きさＺは、６１４４ビットとすることができる。
【００３４】
本発明の他の実施例として無線接続システムでデータを伝送する方法は、第１入力ビットに第１誤り検出符号を付加して第２入力ビットを生成する段階と、前記第１入力ビットの大きさＡ及び前記第１誤り検出符号の大きさＬを用いて前記第２入力ビットの大きさＢを計算する段階と、前記第２入力ビットの大きさＢがコードブロックの最大の大きさＺよりも大きいと、前記第２入力ビットの大きさＢ、前記コードブロックの最大の大きさＺ及び前記コードブロックのそれぞれに付加される第２誤り検出符号の大きさＬを用いて、前記コードブロックの個数Ｃを計算する段階と、前記コードブロックの個数Ｃ、前記第２誤り検出符号の大きさＬ及び前記第２入力ビットの大きさＢを用いて、変更された第２入力ビットの大きさＢ’を計算する段階と、前記変更された第２入力ビットの大きさＢ’を前記コードブロックの個数Ｃで除算した値に基づいて、既に設定された値からコードブロックの大きさＫ（Ｋ＋，Ｋ−）を獲得する段階と、前記第２入力ビットを前記コードブロックの個数Ｃ及び前記獲得したコードブロックの大きさ  Ｋ（Ｋ＋，Ｋ−）を有するように分割する段階と、前記分割された第２入力ビットのそれぞれに前記第２誤り検出符号を付加して前記コードブロックを生成する段階と、前記コードブロックをチャンネルコーディングする段階と、を含むことができる。
本発明は、例えば、以下も提供する。
（項目１）
無線接続システムでデータを伝送する方法であって、
前記データに第１誤り検出符号を付加して入力ビットを生成し、
前記入力ビットの大きさＢがコードブロックの最大の大きさＺよりも大きいと、前記入力ビットの大きさＢ、前記コードブロックの最大の大きさＺ、及び前記コードブロックのそれぞれに付加される第２誤り検出符号の大きさＬを用いて、前記コードブロックの個数Ｃを計算し、
前記コードブロックの個数Ｃ、前記第２誤り検出符号の大きさＬ、及び前記入力ビットの大きさＢを用いて、変更された入力ビットの大きさ（ｍｏｄｉｆｉｅｄ  ｉｎｐｕｔ  ｂｉｔ  ｓｉｚｅ）Ｂ’を計算し、
前記変更された入力ビットの大きさＢ’を前記コードブロックの個数Ｃで除算した値に基づいて、既に設定された値からコードブロックの大きさＫを獲得し、
前記入力ビットを、前記コードブロックの個数Ｃ及び前記獲得したコードブロックの大きさＫを有するように分割し、
前記分割された入力ビットのそれぞれに前記第２誤り検出符号を付加して前記コードブロックを生成し、
前記コードブロックをチャンネルコーディングすること、
を含む、データ伝送方法。
（項目２）
前記コードブロックの個数Ｃは、前記入力ビットの大きさＢを、前記コードブロックが有しうる最大の大きさＺから、前記コードブロックに付加される第２誤り検出符号の大きさＬを減算した値で除算した値を切り上げた整数値とすることを特徴とする、項目１に記載のデータ伝送方法。
（項目３）
前記第１誤り検出符号及び前記第２誤り検出符号は、互いに異なる多項式を用いて生成されることを特徴とする、項目１に記載のデータ伝送方法。
（項目４）
前記入力ビットの大きさＢは、前記データの大きさＡと前記第１誤り検出符号の大きさＬとを加算した値であり、
前記コードブロックのそれぞれに付加される第２誤り検出符号は、前記コードブロックのそれぞれの誤り有無検出のためにさらに付加されることを特徴とする、項目１に記載のデータ伝送方法。
（項目５）
前記入力ビットの大きさＢが、前記コードブロックが有しうる最大の大きさＺ以下であれば、前記コードブロックの個数Ｃは、‘１’に設定されることを特徴とする、項目１に記載のデータ伝送方法。
（項目６）
前記変更された入力ビットの大きさＢ’は、前記コードブロックの個数Ｃと前記コードブロックに含まれる誤り検出符号の大きさＬとを乗算し、前記入力ビットの大きさＢを加算して得られることを特徴とする、項目１に記載のデータ伝送方法。
（項目７）
前記コードブロックの大きさＫは、
前記コードブロックの個数Ｃ及び前記コードブロックの大きさＫを乗算した値が、前記変更された入力ビットの大きさＢ’以上である条件を満たすことを特徴とする、項目１または６に記載のデータ伝送方法。
（項目８）
前記コードブロックの大きさＫのうち第１コードブロックの大きさＫ＋は、前記既に設定された値のうち、最も小さい大きさを有し、
前記コードブロックの大きさＫのうち第２コードブロックの大きさＫ−は、前記第１コードブロックよりも小さい大きさを有する前記既に設定された値のうち、最も大きい大きさを有することを特徴とする、項目７に記載のデータ伝送方法。
（項目９）
前記第２コードブロックの個数Ｃ−は、前記コードブロックの個数Ｃと前記第１コードブロックの大きさＫ＋とを乗算した値から、前記変更された入力ビットの大きさＢ’を減算した値を、前記第１コードブロックの大きさＫ＋と前記第２コードブロックの大きさＫ−との差で除算した値を切り捨てた整数値とすることを特徴とする、項目８に記載のデータ伝送方法。
（項目１０）
前記第１コードブロックの個数Ｃ＋は、前記コードブロックの個数Ｃから前記第２コードブロックの個数Ｃ−を減算した値であることを特徴とする、項目９に記載のデータ伝送方法。
（項目１１）
前記第１コードブロックの個数Ｃ＋及び前記第１コードブロックの大きさＫ＋を乗算した値に、前記第２コードブロックの個数Ｃ−及び前記第２コードブロックの大きさＫ＋を乗算した値を加算した値から、前記変更された入力ビットの大きさＢ’を減算した値である埋め草ビット（Ｆｉｌｌｅｒ  ｂｉｔ）の個数Ｆを計算し、
前記埋め草ビットを、分割された前記コードブロックのうち１番目のコードブロックに割り当てること、
をさらに含むことを特徴とする、項目１０に記載のデータ伝送方法。
（項目１２）
分割された前記コードブロックのうち１番目のコードブロックには、埋め草ビット及び前記コードブロックに含まれる誤り検出符号の大きさに該当する値を除外した領域にデータを割り当て、
分割された前記コードブロックのうち２番目のコードブロック以降は、前記誤り検出符号の大きさに該当する値を除外した領域に前記データを割り当てること、
をさらに含むことを特徴とする、項目１に記載のデータ伝送方法。
（項目１３）
前記１番目のコードブロックへのデータ割当は、前記１番目のコードブロックに前記誤り検出符号を付加することをさらに含み、
前記２番目のコードブロック以降のデータ割当は、前記２番目のコードブロック以降のコードブロックから前記誤り検出符号をそれぞれ付加することをさらに含むことを特徴とする、項目１２に記載のデータ伝送方法。
（項目１４）
前記コードブロックの最大の大きさＺは、６１４４ビットであることを特徴とする、項目１に記載のデータ伝送方法。
（項目１５）
無線接続システムでデータを伝送する方法であって、
第１入力ビットに第１誤り検出符号を付加して第２入力ビットを生成し、
前記第１入力ビットの大きさＡ及び前記第１誤り検出符号の大きさＬを用いて前記第２入力ビットの大きさＢを計算し、
前記第２入力ビットの大きさＢがコードブロックの最大の大きさＺよりも大きいと、前記第２入力ビットの大きさＢ、前記コードブロックの最大の大きさＺ、及び前記コードブロックのそれぞれに付加される第２誤り検出符号の大きさＬを用いて、前記コードブロックの個数Ｃを計算し、
前記コードブロックの個数Ｃ、前記第２誤り検出符号の大きさＬ、及び前記第２入力ビットの大きさＢを用いて、変更された第２入力ビットの大きさＢ’を計算し、
前記変更された第２入力ビットの大きさＢ’を前記コードブロックの個数Ｃで除算した値に基づいて、既に設定された値からコードブロックの大きさＫ（Ｋ＋，Ｋ−）を獲得し、
前記第２入力ビットを前記コードブロックの個数Ｃ及び前記獲得したコードブロックの大きさＫ（Ｋ＋，Ｋ−）を有するように分割し、
前記分割された第２入力ビットのそれぞれに前記第２誤り検出符号を付加して、前記コードブロックを生成し、
前記コードブロックをチャンネルコーディングすること、
を含む、データ伝送方法。
【発明の効果】
【００３５】
本発明は、下記の効果を奏する。
【００３６】
第一、受信端でコードブロックを受信する度に誤り有無を判断でき、効率的な誤り復旧処理過程を行うことができる。
【００３７】
第二、ＣＲＣ符号の長さを考慮してコードブロックの個数を求めて、コードブロックを分割することによって、データブロックを正確に分割し、ＣＲＣ符号を正確に付加することができる。
【００３８】
第三、データブロックをコードブロックに分割する過程で、ＣＲＣ符号の長さを考慮してコードブロックの個数を求めた後に、各コードブロックにデータを割り当てる様々な方法を提供することによって、データの処理効率を向上させることができる。
【００３９】
第四、システムに入力される入力ビットシーケンスの長さが、システムで分割できる最大の大きさよりも短い場合には、余計に入力ビットシーケンスを分割することなく該当の入力ビットをコードブロックとして構成することができる。また、入力ビットの誤り有無を検出するための誤り検出符号を引き続き使用することができるので、追加的に誤り検出符号を付加する必要がない。その結果、迅速なコードブロックの処理が可能となる。
【００４０】
第五、本発明の様々な実施例によって效率的にデータを伝送することができる。
【図面の簡単な説明】
【００４１】
【図１】ＣＲＣ付加器及びデータブロック分割器のそれぞれで行われるプロセスを示す図である。
【図２】データブロックがコードブロックに変化するプロセスを示す図である。
【図３】本発明の一実施例であって、ＣＲＣの長さを考慮したコードブロック分割方法を示す図である。
【図４】本発明の一実施例であって、コードブロックにＣＲＣを付加する一例を示す図である。
【図５】本発明の一実施例であって、コードブロックにＣＲＣを付加する他の例を示す図である。
【図６】本発明の一実施例であって、付加されるＣＲＣの大きさを考慮したデータブロックの分割及びＣＲＣの付加方法を示す図である。
【図７】本発明の一実施例であって、ＣＲＣの大きさを考慮してデータブロックがコードブロックに変化するプロセスを示す図である。
【図８】本発明の一実施例であって、ＣＲＣの長さを考慮してコードブロックを分割する方法を示すフローチャートである。
【図９】本発明の一実施例であって、コードブロックの個数を求める方法を示すフローチャートである。
【図１０】本発明の一実施例であって、変更された入力ビットの大きさを用いてコードブロックを分割する方法を示すフローチャートである。
【図１１】本発明の一実施例であって、コードブロックの個数が‘１’の場合を示すフローチャートである。
【発明を実施するための形態】
【００４２】
本発明は、無線接続システムでコードブロックを分割する方法に関するもので、誤り検出符号の大きさを考慮してデータブロックを分割する方法及びコードブロックの個数を求める方法に関する。
【００４３】
以下の実施例は、本発明の構成要素と特徴を所定の形態で結合したものである。各構成要素または特徴は、別の明示的な言及がない限り、選択的なものとして考慮することができる。各構成要素または特徴は、他の構成要素や特徴と結合しない形態で実施することもできる。また、一部の構成要素及び／または特徴を結合して本発明の実施例を構成することもできる。本発明の実施例で説明される動作の順序は変更可能である。ある実施例の一部構成や特徴は、他の実施例に含まれることができ、または、他の実施例の対応する構成または特徴に取って代わることもできる。
【００４４】
図面の説明において、本発明の要旨を曖昧にさせる手順またはステップなどは省略し、当業者に理解できるような手順またはステップも省略する。
【００４５】
本明細書で、本発明の実施例は、基地局と端末間のデータ送受信関係を中心に説明した。ここで、基地局は、端末と直接通信を行うネットワークの終端ノード（ｔｅｒｍｉｎａｌ  ｎｏｄｅ）を意味する。本文書で、基地局により行われると説明された特定動作は、場合によっては基地局の上位ノード（ｕｐｐｅｒ  ｎｏｄｅ）により行われることもできる。
【００４６】
すなわち、基地局を含む複数のネットワークノード（ｎｅｔｗｏｒｋ  ｎｏｄｅｓ）からなるネットワークで、端末との通信のために行われる様々な動作は、基地局または基地局以外の他のネットワークノードにより行われうることは明らかである。‘基地局’は、固定局（ｆｉｘｅｄ  ｓｔａｔｉｏｎ）、ＮｏｄｅＢ、ｅＮｏｄｅＢ（ｅＮＢ）、アクセスポイント（ａｃｃｅｓｓ  ｐｏｉｎｔ）などの用語にすることもできる。また、‘移動端末（ＭＳ：  Ｍｏｂｉｌｅ  Ｓｔａｔｉｏｎ）’は、端末（Ｔｅｒｍｉｎａｌ）、ＵＥ（Ｕｓｅｒ  Ｅｑｕｉｐｍｅｎｔ）、ＭＳＳ（Ｍｏｂｉｌｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｓｔａｔｉｏｎ）などの用語にすることもできる。
【００４７】
また、送信端は、データまたは音声サービスを伝送するノードを指し、受信端は、データまたは音声サービスを受信するノードを指す。したがって、アップリンクでは端末が送信端となり、基地局が受信端となりうる。同様に、ダウンリンクでは端末が受信端となり、基地局が送信端となりうる。
【００４８】
一方、本発明において移動端末には、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、セルラーフォン、ＰＣＳ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ）フォン、ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ）フォン、ＷＣＤＭＡ（Ｗｉｄｅｂａｎｄ  ＣＤＭＡ）フォン、ＭＢＳ（Ｍｏｂｉｌｅ  Ｂｒｏａｄｂａｎｄ  Ｓｙｓｔｅｍ）フォンなどを用いることができる。
【００４９】
本発明の実施例は様々な手段を通じて具現することができる。例えば、本発明の実施例は、ハードウェア、ファームウェア（ｆｉｒｍｗａｒｅ）、ソフトウェアまたはそれらの結合などにより具現することができる。
【００５０】
ハードウェアによる具現の場合、本発明の実施例による方法は、一つまたはそれ以上のＡＳＩＣｓ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）、ＤＳＰｓ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒｓ）、ＤＳＰＤｓ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｄｅｖｉｃｅｓ）、ＰＬＤｓ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅｓ）、ＦＰＧＡｓ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙｓ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより具現することができる。
【００５１】
ファームウェアやソフトウェアによる具現の場合、本発明の実施例による方法は、以上で説明した機能または動作を行うモジュール、手順または関数などの形態で具現することができる。ソフトウェアコードはメモリユニットに記憶されて、プロセッサにより駆動されることができる。ここで、メモリユニットはプロセッサの内部または外部に設けられ、公知の様々な手段によりプロセッサとデータを交換することができる。
【００５２】
本発明の実施例は、無線接続システム（例えば、ＩＥＥＥ  ８０２システム、３ＧＰＰ
システム、３ＧＰＰ  ＬＴＥシステムまたは３ＧＰＰ２システム）のうち少なくとも一つに開示された文書により裏付けることができる。特に、３ＧＰＰ  ＴＳ  ３６．２１２
Ｖ８．０．０（２００７−０９）乃至３ＧＰＰ  ＴＳ  ３６．２１２  Ｖ８．３．０（２００８−０５）文書は、本発明の実施例を裏付けることができる。
【００５３】
以下の説明で使われる特定用語は、本発明の理解を助けるために提供されたもので、それら特定用語の使用は、本発明の技術的思想を逸脱しない範囲で他の形態に変更可能である。
【００５４】
図１は、ＣＲＣ付加器及びデータブロック分割器のそれぞれで行われるプロセスを示す図である。
【００５５】
図１を参照して一般的に使用されるＣＲＣ付加器及びデータブロック分割器について説明する。データブロック１００は、必要によって複数のコードブロック１６０に分割されることができる。ここで、コードブロック１６０は、入力されるデータブロック１００が分割されて生成されたものを意味する。
【００５６】
ユーザがデータブロック１００を入力すると、ＣＲＣ付加器１２０は、データブロックにＣＲＣを付加する。ＣＲＣの付加されたデータブロックは、データブロック分割器１４０によって必要な長さのデータブロックに分割され、一つまたは複数の長さのコードブロック１６０を構成することとなる。次に、図１の右段について説明する。
【００５７】
ＣＲＣ付加器１２０は、任意の長さを有するデータブロック１００にＣＲＣを付加し、それを受信側でデータブロックの誤り検出のために使用できるようにする。そのため、ＣＲＣ付加器は、入力されるデータブロックに基づいてＣＲＣ生成式を用いて任意の長さのＣＲＣパリティビットを生成する（Ｓ１０１）。続いて、ＣＲＣ付加器は、順方向データブロックにＣＲＣパリティビットを順方向または逆方向に付加して、直列に連結された形態の出力を構成する（Ｓ１０２）。
【００５８】
ＣＲＣの付加されたデータブロックは、データブロック分割器１４０によって一つまたは複数のコードブロックに分割される。データブロック分割器は、下記のような四つのプロセスにより、入力されたデータブロックを一つ以上のコードブロックに分割する。
【００５９】
データブロック分割器は、ＣＲＣの付加されたデータブロックの大きさを、コードブロックが有しうる最大の大きさで除算した後に切り上げた整数値にコードブロックの個数を定める（Ｓ１０３）。
【００６０】
データブロック分割器は、上記ステップＳ１０３で定められたコードブロックの個数に基づいてそれぞれのコードブロックの大きさを計算する（Ｓ１０４）。
【００６１】
上記ステップＳ１０４で全てのコードブロックの大きさを合算した値が、ＣＲＣの付加されたデータブロックの大きさよりも長くなる場合がありうる。こういう場合には、全てのコードブロックの大きさを合算した値から、ＣＲＣの付加されたデータブロックの大きさを減算した値を求め、これを埋め草ビットの長さとする（Ｓ１０５）。
【００６２】
データブロック分割器は、コードブロックの個数と長さ及び埋め草ビットの長さが定められると、ＣＲＣの付加されたデータブロックを分割し、各コードブロックにデータを割り当てる（Ｓ１０６）。上記ステップＳ１０６でコードブロックのうち１番目のブロックの先頭部分には埋め草ビット及びデータを順次に割り当て、２番目のブロックからは次のデータを順次に割り当てる。
【００６３】
図２は、データブロックがコードブロックに変化するプロセスを示す図である。
【００６４】
図２では、図１に示す装置及び方法を使用することができる。
【００６５】
図２を参照すると、ＣＲＣ付加器２２０にデータブロック２００が入力される。ＣＲＣ付加器によってデータブロック２００にＣＲＣビットが付加され、ＣＲＣビットの付加されたデータブロック２３０が生成される。ＣＲＣビットの付加されたデータブロックはデータブロック分割器２４０に入力されてコードブロックに分割される。１番目のコードブロック２６０の先頭部分には埋め草ビットが割り当てられ、残り部分にはデータが割り当てられる。２番目のコードブロックからはデータが順次に割り当てられる。
【００６６】
本発明の実施例では、データブロック分割器でコードブロックに付加されうる好ましい誤り検出符号の一つとしてＣＲＣを使用するとする。また、本発明の実施例で使われる用語のうち、データブロックは、データブロック分割器に入力される入力ビットであって、第１データブロックと呼ぶことができ、入力ビットが分割されるとコードブロックまたは第２データブロックが生成される。
【００６７】
（第１実施例）
図３は、本発明の一実施例であって、ＣＲＣの長さを考慮したコードブロック分割方法を示す図である。
【００６８】
図３を参照すると、データブロック（例えば、第１データブロック）３００は、データブロック分割器３２０に入力されて、一つ以上のコードブロック（例えば、第２データブロック）に分割され、それぞれのコードブロックにデータが順次に割り当てられる。それぞれのコードブロックは、ＣＲＣ付加器３４０に入力される。この時、データブロックは、データブロック自体に対する誤り検出符号を既に含んでいることができ、誤り検出符号の大きさは２４ビットとすることが好ましい。
【００６９】
ＣＲＣ付加器は、データブロックが、誤り検出符号を含む一つのコードブロックとして構成される場合（例えば、データブロックの大きさＢが、コードブロックが有しうる最大の大きさＺよりも小さいまたは等しい場合）を除けば、ＣＲＣを生成してそれぞれのコードブロックに付加（ａｔｔａｃｈ）する。このようにデータブロック３００は、データブロック分割器３２０及びＣＲＣ付加器３４０を通じてコードブロック３６０に分割される。図３で、コードブロック３６０は一つ以上の分割されたデータブロックを意味する。
【００７０】
図３を参照すると、データブロック３００がデータブロック分割器３２０に入力され
ると、データブロック分割器は、入力されるデータに対してコードブロックの個数Ｃを計算する。この時、データブロック分割器は、最終コードブロックのそれぞれに付加されるＣＲＣの大きさＬを考慮してコードブロックの個数Ｃを計算することができる（Ｓ３０１）。
【００７１】
以下では、本発明の一実施例によって、ステップＳ３０１で使われるコードブロックの個数Ｃを求める様々な方法について説明する。
【００７２】
本発明の一実施例によって、上記ステップＳ３０１でコードブロックの個数を求める第１方法を説明する。
【００７３】
下記の数学式１は、コードブロックの個数Ｃを求める一例である。
【００７４】
【数１】
0005466317.tif 000002
データブロック分割器は、データブロックの大きさＢを、コードブロックが有しうる最大の大きさＺで除算した値を切り上げた整数値を求め、この値を臨時値Ｃ’と定める。コードブロックの個数Ｃは、臨時値Ｃ’とＣＲＣの大きさＬとを乗算した値にデータブロックの大きさＢを加算した値が、臨時値Ｃ’とコードブロックが有しうる最大の大きさＺとを乗算した値よりも大きいと、臨時値Ｃ’に‘１’を加算した整数値と決定され、そうでないと臨時値Ｃ’と決定される。
【００７５】
一方、下記の数学式２は、データブロック分割器に入力されるデータブロックの大きさＢが、コードブロックが有しうる最大の大きさＺと等しいまたは小さい場合に用いることができる。
【００７６】
【数２】
0005466317.tif 000003
数学式１及び数学式２では、コードブロックの個数Ｃを求めるために臨時値Ｃ’を使用している。すなわち、コードブロックの個数を計算する過程で、データブロック分割器３２０に入力されるデータブロックを、コードブロックが有しうる最大の大きさで除算した値を切り上げた値を臨時値Ｃ’にすることによって、コードブロックの個数を正確に求めることができる。
【００７７】
下記の数学式３及び数学式４は、数学式１及び数学式２を他の形態にしたものである。すなわち、臨時値Ｃ’を使用せずに直接コードブロックの個数を計算することができる。
【００７８】
【数３】
0005466317.tif 000004
一方、下記の数学式４は、データブロック分割器に入力されるデータブロックの大きさＢが、コードブロックが有しうる最大の大きさＺ以下である場合に用いることができる。
【００７９】
【数４】
0005466317.tif 000005
次に、本発明の一実施例によって上記ステップＳ３０１でコードブロックの個数を求める第２方法を説明する。
【００８０】
下記の数学式５は、変更された入力ビットの大きさ（ｍｏｄｉｆｉｅｄ  ｉｎｐｕｔ  ｂｉｔ  ｓｉｚｅ）Ｂ’を用いてコードブロックの個数Ｃを求める方法を示す。
【００８１】
【数５】
0005466317.tif 000006
数学式５を参照すると、コードブロックの個数Ｃを求めるために、まず、変更された入力ビットの大きさＢ’を求める。この時、データブロックの大きさＢを、コードブロックが有しうる最大の大きさＺで除算した値を切り上げた整数値にＣＲＣの大きさＬを乗算してからデータブロックの大きさＢを加算した値を‘Ｍ’とする。また、データブロックの大きさＢを、コードブロックが有しうる最大の大きさＺで除算した値を切り上げた整数値に、コードブロックが有しうる最大の大きさＺを乗算した値を‘Ｎ’とする。
【００８２】
もし‘Ｍ’値が‘Ｎ’値よりも大きいと、コードブロックの個数Ｃ及び長さＫを求めるための変更された入力ビットの大きさＢ’は、データブロックの大きさＢを、コードブロックが有しうる最大の大きさＺで除算した値を切り上げた整数値に‘１’を加算した値にＣＲＣの大きさＬを乗算した後にデータブロックの大きさＢを加算した値となる。
【００８３】
もし、‘Ｍ’値が‘Ｎ’値より小さいと、変更された入力ビットの大きさＢ’は、データブロックの大きさＢを、コードブロックが有しうる最大の大きさＺで除算した値を切り上げた整数値に、コードブロックに含まれるＣＲＣの大きさＬを乗算した後にデータブロックの大きさＢを加算した値となる。
【００８４】
したがって、コードブロックの個数Ｃは、コードブロックの個数及び長さを求めるための変更された入力ビットの大きさＢ’を、コードブロックが有しうる最大の大きさＺで除算した値を切り上げた整数値に決定することができる。
【００８５】
一方、データブロック分割器に入力されるデータブロックの大きさＢが、コードブロックが有しうる最大の大きさＺよりも小さいまたは等しい場合に、下記の数学式６を用いることができる。
【００８６】
【数６】
0005466317.tif 000007
数学式５及び数学式６は、数学式１及び数学式２の場合とは違い、臨時値Ｃ’を使用せずに、変更された入力ビットの大きさＢ’を用いてコードブロックの個数Ｃを求める方法を開示する。すなわち、コードブロックの個数Ｃを、長さを示す変更された入力ビットの大きさＢ’を用いて求めることができる。
【００８７】
次に、本発明の一実施例によって、上記ステップＳ３０１でコードブロックの個数を求める第３方法を説明する。
【００８８】
下記の数学式７は、コードブロックの個数Ｃを求める他の例を示す。
【００８９】
【数７】
0005466317.tif 000008
コードブロックの個数Ｃは、データブロックの大きさＢを、コードブロックが有しうる最大の大きさＺから誤り検出符号の大きさＬを減算した値で除算した値を切り上げた整数値にすることができる。
【００９０】
一方、データブロック分割器に入力されるデータブロックＢの大きさが、コードブロックが有しうる最大の大きさＺと等しいまたは小さい場合には、下記の数学式８を用いることができる。
【００９１】
【数８】
0005466317.tif 000009
上記の数学式７及び８は、コードブロックの個数Ｃを求める場合に、コードブロックに含まれるコードブロックに対する誤り検出符号の大きさＬを考慮してコードブロックの個数Ｃを求める方法を示す。すなわち、入力されるデータブロックの大きさＢを、コードブロックが有しうる最大の大きさＺからコードブロックに含まれる誤り検出符号の大きさＬを減算した値で除算することによって、データブロックの大きさＢを分割する時に誤り検出符号の大きさＬを考慮することができる。これにより、データブロックをユーザの要求事項に応じて正確に分割することができる。
【００９２】
本発明の一実施例によって上記ステップＳ３０１でコードブロックの個数Ｃを求める第４方法を説明する。
【００９３】
下記の数学式９は、コードブロックが有しうる最大の大きさＺが可変である場合を示す。
【００９４】
【数９】
0005466317.tif 000010
データブロック分割器は、データブロックの大きさＢを、コードブロックが有しうる最大の大きさ値Ｚよりも小さい値Ｚ’で除算した値を切り上げた整数値を、コードブロックの個数Ｃにすることができる。Ｚ’値を算出する時は、Ｚから自然数ａを減算することができる。ここで、ａはＣＲＣの大きさＬまたはシステム状況に応じて必要な大きさとすればよい。
【００９５】
一方、データブロック分割器に入力されるデータブロック（または、入力ビット）の大きさＢが、コードブロックが有しうる最大の大きさＺ以下である場合に、下記の数学式１０を用いることができる。
【００９６】
【数１０】
0005466317.tif 000011
次に、本発明の一実施例によって上記ステップＳ３０１でコードブロックの個数を求める第５方法を説明する。
【００９７】
データブロック分割器は、コードブロックが有しうる最大の大きさＺを特定値ｘに取り替え、データブロックの大きさＢを特定値ｘで除算した値を切り上げた整数値を、コードブロックの個数Ｃと決定することができる。
【００９８】
下記の数学式１１は、コードブロックの個数Ｃを求める一例を示す。
【００９９】
【数１１】
0005466317.tif 000012
一方、データブロック分割器に入力されるデータブロック（または、入力ビット）の大きさＢが、コードブロックが有しうる最大の大きさＺ以下である場合に、下記の数学式１２を用いることができる。
【０１００】
【数１２】
0005466317.tif 000013
上記の数学式１１及び１２は、コードブロックが有しうる最大の大きさＺが可変である場合に使用できる方法である。すなわち、システムの状況によって、コードブロックが有しうる最大の大きさが変更されることがあり、これに柔軟に対応するためのものである。
【０１０１】
再び図３を参照すると、上記ステップＳ３０１でコードブロックの個数Ｃが決定されると、コードブロックの個数Ｃ及び変更された入力ビットの大きさＢ’のうち一つ以上を用いて、各コードブロックの大きさと特定長さを有するコードブロックの個数を計算することができる（Ｓ３０２）。
【０１０２】
以下では、本発明の一実施例によって、ステップＳ３０２で各コードブロックの大きさＫを求める様々な方法について説明する。
【０１０３】
コードブロックの大きさＫは、システムの要求事項によって様々な大きさを有することができる。本発明の一実施例では、コードブロックの大きさＫが均一な場合、または‘Ｋ＋’及び‘Ｋ−’の２種類の大きさを有する場合を仮定する。もちろん、様々な形態のコードブロックの大きさを利用できることは自明である。本発明の実施例でいうコードブロックは、データブロック（または、入力ビット）を分割して生成されるもので、セグメント（ｓｅｇｍｅｎｔ）と呼ぶこともできる。
【０１０４】
次に、上記ステップＳ３０２で各コードブロックの大きさが同一の場合にコードブロックの大きさＫを求める第１方法について説明する。
【０１０５】
数学式１３は、各コードブロックが均等な長さを有する場合に、各コードブロックの長さＫを求める一例を示す。
【０１０６】
【数１３】
0005466317.tif 000014
数学式１３は、全てのコードブロックの大きさが均一な長さを有する場合の計算方法を示す。すなわち、‘Ｋ’の長さを有するコードブロックは、変更された入力ビットの大きさＢ’をコードブロックの個数Ｃで除算した値を切り上げた整数値とする。この時、変更された入力ビットの大きさＢ’は、コードブロックの個数及び長さを求めるための臨時値である。
【０１０７】
もし、ステップＳ３０１でコードブロックの個数及び長さを求めるための変更された入力ビットの大きさＢ’を計算しなかった場合は、コードブロックの個数Ｃとコードブロックに含まれる誤り検出符号の大きさＬとを乗算した値にデータブロックの大きさＢを加算した値（Ｃ＊Ｌ＋Ｂ）を、変更された入力ビットの大きさＢ’とする。
【０１０８】
次に、ステップＳ３０２でコードブロックの大きさＫが特定の長さＫ＋またはＫ−を有する場合に、第１コードブロックの大きさＫ＋を求める第２方法について説明する。
【０１０９】
下記の数学式１４は、第１コードブロックの大きさＫ＋を求める一例を示す。
【０１１０】
【数１４】
0005466317.tif 000015
‘Ｋ＋’の長さを有するコードブロックは、下記の表１に示すＫ値を利用する。ここで、Ｋ値は、コードブロックの個数ＣとＫ値とを乗算した値が、コードブロックの個数Ｃと誤り検出符号の大きさＬとを乗算した値に入力シーケンスの大きさＢを加算した値よりも大きいまたは等しいという条件を満たすべきである。または、Ｋ値は、コードブロックの個数ＣとＫ値とを乗算した値が、変更された入力ビットの大きさＢ’以上であるという条件を満たすべきである。すなわち、‘Ｋ＋’値は、数学式１４における２つの条件のいずれか一つを満たすＫ値のうちの最小値とすることができる。
【０１１１】
数学式１４のような方法を用いてコードブロックの大きさを求めると、誤り検出符号の大きさＬを考慮してコードブロックの大きさを求めることができるので、入力されるデータブロック（または、入力ビット）をユーザー所望の長さに正確に分割することができる。
【０１１２】
下記の数学式１５は、第１コードブロックの大きさＫ＋を求める他の例を示す。
【０１１３】
【数１５】
0005466317.tif 000016
数学式１５で、‘Ｋ＋’の長さを有するコードブロックは、下記の表１で次の条件を満たす‘Ｋ’の最小値を用いる。すなわち、コードブロックの個数Ｃと‘Ｋ’値から誤り検出符号の大きさＬを減算した値とを乗算した値が、変更された入力ビットの大きさＢ’よりも大きいまたは等しいという条件を満たす最も小さい‘Ｋ’値を‘Ｋ＋’値とする。
【０１１４】
下記の数学式１６は、上記の数学式１５で、変更された入力ビットの大きさＢ’が、コードブロックの総個数Ｃ及び誤り検出符号の大きさＬを乗算した値に入力ビットの長さＢを加算した値に設定される場合に用いることができる。
【０１１５】
【数１６】
0005466317.tif 000017
数学式１６で、‘Ｋ＋’の長さを有するコードブロックは、下記の表１に示すＫ値を用いることができる。
【０１１６】
下記の表１は、数学式１３〜１６で使用されうる‘Ｋ’値に関するパラメータを示す。
【０１１７】
【表１】
0005466317.tif 000018
表１で、パラメータｆ１及びｆ２は、入力データの長さであるＫ値によって変わることができる。
【０１１８】
次に、ステップＳ３０２でコードブロックの大きさＫが特定の長さＫ＋またはＫ−を有する場合、‘Ｋ−’値を有するコードブロックの大きさを求める第３方法について説明する。
【０１１９】
‘Ｋ−’値は、数学式１４〜数学式１６のいずれか一つで計算した‘Ｋ＋’値よりも小さいＫ値のうちの最大値に設定することができる。ここで、Ｋ値は、表１の値を使用することができる。下記の数学式１７は、‘Ｋ−’値を求める方法を示す。
【０１２０】
【数１７】
0005466317.tif 000019
表１に示す値と数学式１７を用いて‘Ｋ−’値を計算すると、ＣＲＣの付加されるコードブロックの大きさを考慮して、入力されるデータブロック（または、入力ビット）を正確に分割できる。
【０１２１】
上記の数学式１４〜１７によりコードブロックの大きさが特定の長さを有する場合に、各コードブロックの大きさＫ＋及びＫ−を求める方法について説明する。ここで、入力されるデータブロックを正確に分割するために、各コードブロックの大きさを有するコードブロックの個数Ｃ＋及びＣ−を求める必要がある。
【０１２２】
以下では、ステップＳ３０２で特定長さＫ−を有するコードブロックの個数Ｃ−を求める方法について説明する。
【０１２３】
下記の数学式１８は、‘Ｋ−’の長さを有する第２コードブロックの個数Ｃ−を求める第１方法を示す。
【０１２４】
【数１８】
0005466317.tif 000020
第２コードブロックの個数Ｃ−は、全体コードブロックの個数Ｃと第１コードブロックの大きさＫ＋とを乗算した値から、変更された入力ビットの大きさＢ’を減算した後、Ｋ＋とＫ−との差値ΔＫで除算した値を切り捨てた整数値とすることができる。ここで、変更された入力ビットの大きさＢ’は、コードブロックの個数及び長さを求めるための臨時値である。
【０１２５】
数学式１８を参照すると、変更された入力ビットの大きさＢ’を用いて‘Ｋ−’の長さを有するコードブロックの個数Ｃ−を求めると、コードブロックのそれぞれに含まれる誤り検出符号の大きさＬを考慮して、入力されるデータブロック（または、入力ビット）を正確に分割することができる。これにより、ユーザー所望の長さのコードブロックの個数を求めることが可能になる。
【０１２６】
数学式１８は、下記の数学式１９で表現することもできる。
【０１２７】
【数１９】
0005466317.tif 000021
すなわち、数学式１９は、変更された入力ビットの大きさＢ’が、コードブロックの個数Ｃと誤り検出符号の大きさＬとを乗算した値にデータブロックの大きさＢを加算した値と設定される場合を示す。
【０１２８】
次に、上記ステップＳ３０２で第２コードブロックＫ−のコードブロックの個数Ｃ−を求める第２方法を説明する。
【０１２９】
下記の数学式２０は、‘Ｋ−’の長さを有する第２コードブロックの個数Ｃ−を求める一例を示す。
【０１３０】
【数２０】
0005466317.tif 000022
第２コードブロックの個数Ｃ−は、第１コードブロックの大きさＫ＋から誤り検出符号の大きさＬを減算した値にコードブロックの個数Ｃを乗算した値から、変更された入力ビットの大きさＢ’を減算した後、‘Ｋ＋’と‘Ｋ−’との差値Ｄで除算した値を切り捨てた整数値とすることができる。
【０１３１】
すなわち、数学式２０は、第１コードブロックに含まれる誤り検出符号の大きさＬを考慮して第２コードブロックの個数Ｃ−を求める方法に関するものである。
【０１３２】
下記の数学式２１は、数学式２０を、変更された入力ビットの大きさＢ’を用いて表現した場合を示す。すなわち、変更された入力ビットの大きさが、コードブロックの個数Ｃと誤り検出符号の大きさＬとを乗算した値にデータブロックの大きさＢを加算した値に設定される場合を示す。
【０１３３】
【数２１】
0005466317.tif 000023
ステップＳ３０２で、特定長さＫ＋を有する第１コードブロックの個数Ｃ＋を求める方法は、下記の数学式２２で示される。
【０１３４】
【数２２】
0005466317.tif 000024
数学式２２を参照すると、コードブロックの総個数Ｃで数学式１９〜数学式２１で計算した第２コードブロックの個数Ｃ−を減算すると、‘Ｋ＋’を有するコードブロックの個数Ｃ＋を求めることができる。
【０１３５】
再び図３を参照すると、上記ステップＳ３０２で計算されるデータブロックの長さＫは、互いに均等であるまたは互いに異なる特定の長さ（例えば、Ｋ＋またはＫ−）を有することができ、これは、システムの要求事項に応じて決定することができる。
【０１３６】
データブロックを分割する過程で、全てのコードブロックの長さを合算した値が、コードブロックの個数Ｃ及び長さＫを求めるための変更された入力ビットの大きさＢ’よりも大きくなる場合がありうる。こういう場合には、全てのコードブロックの長さを合算した値と前記変更された入力ビットの大きさＢ’との差に該当する埋め草ビットの長さＦを計算する（Ｓ３０３）。
【０１３７】
埋め草ビットは、入力されるデータブロックを分割して生成される各コードブロックに誤り検出符号をつける場合、最初に入力されるデータブロックと各コードブロックの総長さとを同一にさせる役割を担う。ここで、コードブロックの個数Ｃが‘０’である場合には、埋め草ビットの長さＦも‘０’になる。
【０１３８】
以下、ステップＳ３０３で埋め草ビットの長さＦを求める方法について説明する。
【０１３９】
埋め草ビットの長さＦは、コードブロックの個数Ｃにコードブロックの大きさＫを乗算した値から、変更された入力ビットの大きさＢ’を減算して得られる。
【０１４０】
下記の数学式２３は、埋め草ビットの長さＦを求める第１方法を示す。
【０１４１】
【数２３】
0005466317.tif 000025
数学式２３は、入力されるデータブロックがいずれも同一の長さのコードブロックに分割される場合に埋め草ビットを求める方法を示す。
【０１４２】
下記の数学式２４は、上記の数学式２３を入力ビットの大きさＢ’を用いて示すものである。
【０１４３】
【数２４】
0005466317.tif 000026
次に、ステップＳ３０３で埋め草ビットの長さＦを求める第２方法について説明する。
【０１４４】
下記の数学式２５は、埋め草ビットの長さＦを求める方法の一例を示す。すなわち、数学式２５は、入力されるデータブロック（または、入力ビット）が特定長さ（例えば、Ｋ＋またはＫ−）を有する場合に埋め草ビットを計算する方法を示す。
【０１４５】
【数２５】
0005466317.tif 000027
埋め草ビットの長さＦは、全てのコードブロックの長さの和から、コードブロックの個数及び長さを求めるための変更された入力ビットの大きさＢ’を減算して得ることができる。すなわち、特定長さを有する第１コードブロックの個数Ｃ＋及び第１コードブロックの大きさＫ＋を乗算した値と、第２コードブロックの個数Ｃ−及び第２コードブロックの大きさＫ−を乗算した値とを加算した値から、変更された入力ビットの大きさＢ’を減算した値を、埋め草ビットＦにすることができる。
【０１４６】
数学式２５を用いると、入力されるデータブロックが分割されて生成されるコードブロックの長さが様々な場合にも本発明の実施例を適用することができる。また、誤り検出符号が含まれる場合の埋め草ビットを計算できるので、より正確にコードブロックを生成することができる。
【０１４７】
下記の数学式２６は、上記の数学式２５において変更された入力ビットの大きさＢ’が、コードブロックに含まれる誤り検出符号の長さＬとコードブロックの総個数Ｃとを乗算した値に、入力されるデータブロック（または、入力ビット）の長さＢを加算した値に設定される場合を示す。
【０１４８】
【数２６】
0005466317.tif 000028
再び図３を参照すると、コードブロックの個数、コードブロックの長さ及び埋め草ビットの長さが決定されると、データブロック分割器３２０は、コードブロックに順次にデータを割り当てることができる（Ｓ３０４）。
【０１４９】
もし、ステップＳ３０４で、データブロック３００が、誤り検出符号を含む一つのコードブロックとして構成される場合は、データブロック３００にデータが割り当てられた後にＣＲＣ付加器３４０を経由しない。この場合は、入力されるデータブロック３００が、コードブロック３６０が有しうる最大の大きさよりも小さいまたは等しい場合である。したがって、データブロック分割器３２０でデータブロック３００が分割され、分割されたデータブロックのそれぞれにＣＲＣが付加されるプロセスが省略される。すなわち、入力されるデータブロック３００が直接コードブロック３６０として使用される。したがって、このコードブロック３６０には、データブロック３００にそもそも含まれているＣＲＣのみが存在し、ＣＲＣ付加器３４０で生成されたＣＲＣを付加する必要がない。
【０１５０】
コードブロックにデータが割り当てられると、これらのコードブロックはＣＲＣ付加器３４０に入力される。ＣＲＣ付加器３４０は、コードブロックに基づいてＣＲＣ生成式を用いて任意の長さのＣＲＣパリティビットを生成する（Ｓ３０５）。
【０１５１】
ＣＲＣ付加器は、上記ステップＳ３０５で生成したＣＲＣパリティビットをコードブロックの後部に順方向または逆方向の順に付加する。これで、最終的にＣＲＣ符号の付加されたコードブロックが生成される（Ｓ３０６）。
【０１５２】
（第２実施例）
図４は、本発明の一実施例であって、コードブロックにＣＲＣを付加（ａｔｔａｃｈ）する一例を示す図である。
【０１５３】
図４で、データブロック（第１データブロック）４００がデータブロック分割器４２０に入力されて、コードブロック（第２データブロック）に分割され、ＣＲＣの長さが考慮されたコードブロック４３０がＣＲＣ付加器４４０に入力されて、ＣＲＣの付加されたコードブロック４６０が生成されることは、図３の方法と同様である。ただし、本実施例は、図３においてステップＳ３０４及びステップＳ３０６が異なる。
【０１５４】
本実施例は、ＣＲＣ付加器に入力されるＣＲＣの長さが考慮されたコードブロック４３０の長さと、出力されるＣＲＣが割り当てられたコードブロック４６０の長さが同一の場合である。これは、ＣＲＣ付加器に入力されるコードブロックの大きさにＣＲＣの大きさが含まれている場合を示す。したがって、データブロック分割器は、入力されるデータに対してコードブロックの個数及び長さを計算する時に、コードブロック中に付加されるＣＲＣ符号の長さを考慮することが好ましい。
【０１５５】
コードブロックの個数Ｃ、コードブロックの長さＫ及び埋め草ビットの長さＦが決定されると、データブロック分割器４２０は、コードブロックに順次にデータを割り当てる。この時、コードブロックのうち１番目のブロックには埋め草ビットとデータを割り当てる。
【０１５６】
ただし、本実施例では、コードブロックにデータを割り当てる場合に、ＣＲＣ付加器で付加されるＣＲＣの大きさＬを考慮してデータを割り当てる。したがって、１番目のコードブロックには埋め草ビットとデータが割り当てられ、それ以降は、所定のＣＲＣ符号の長さ分だけ‘０’または‘１’の値がビット別に割り当てられることで、ＣＲＣ領域を示すことができる。ただし、ＣＲＣ領域を示すだけであり、ＣＲＣ領域にＣＲＣ符号が付加されたわけではない。
【０１５７】
２番目のコードブロックから最後のコードブロックまでは、順次にデータが割り当てられる。また、各コードブロックごとに、ＣＲＣ領域を示す‘０’または‘１’で構成された値がビット別に割り当てられて、ＣＲＣ領域を確保する。
【０１５８】
ＣＲＣ付加器では、入力されるコードブロックにＣＲＣ符号を付加する。この時、コードブロックに‘０’または‘１’で埋められたＣＲＣ領域分のＣＲＣパリティビットを生成し、順方向または逆方向の順にＣＲＣパリティビットを付加する。このプロセスはコードブロックの個数だけ反復して行われる。この時、ＣＲＣ符号の長さＬは、好ましくは、２４ビットの長さを有することができる。
【０１５９】
上述した方法により、任意の長さを有するデータブロックは、データブロック分割器４２０及びＣＲＣ付加器４４０を通じてＣＲＣの付加されたコードブロックに分割される。
【０１６０】
ただし、データブロック４００が、コードブロックが有しうる最大の大きさより小さいまたは等しい場合には、データブロック分割器４２０及びＣＲＣ付加器４４０のプロセスを省略する。すなわち、データブロック４００が、誤り検出符号（ＣＲＣ）を含む一つのコードブロックとして構成される場合は、データブロック４００が既にＣＲＣ符号を含んでいるので、データブロック４００にデータのみを割り当て、ＣＲＣ付加器でＣＲＣ符号を再び付加しない。
【０１６１】
次に、ＣＲＣ付加器に入力されるコードブロックを構成する場合に、ＣＲＣの長さがコードブロックに含まれる具体的な一例を示す。
【０１６２】
表２は、ＣＲＣの長さを考慮して生成されるコードブロックの構成式を示す。
【０１６３】
【表２】
0005466317.tif 000029
表３は、入力されるデータブロックが、誤り検出符号を含む一つのコードブロックとして構成される場合及びＣＲＣの長さを考慮して生成されるコードブロックの構成式を示す。
【０１６４】
【表３】
0005466317.tif 000030
表２及び表３で使用される主要パラメータは、次の通りである。‘Ｆ’は埋め草ビットの長さを表し、データブロック分割器の出力を表すパラメータは‘Ｏｒｋ’である。ここで、‘ｒ’はコードブロックの番号を表し、‘ｋ’は、ｒ番目のブロックのビット番号を表すパラメータである。
【０１６５】
コードブロックの大きさは、‘Ｋ＋’及び‘Ｋ−’の２種類の長さを有するとする。
ここで、‘Ｋ−’は‘Ｋ＋’値よりも小さいコードブロックの大きさを表す。‘Ｃ＋’及び‘Ｃ＿’は、特定コードブロックの個数を表すパラメータであり、それぞれ‘Ｋ＋’及び‘Ｋ−’の長さを有するコードブロックの個数を表す。上記の表２及び表３に含まれるパラメータのうち、‘Ｌ’は、各コードブロックに付加されるＣＲＣの大きさを表し、‘Ｋｒ’は、コードブロックに適用される長さを表す。
【０１６６】
ＣＲＣの長さを考慮して生成されるコードブロックにＣＲＣを付加する一例は、下記の数学式２７で示される。
【０１６７】
【数２７】
0005466317.tif 000031
もし、データブロックの大きさＢが、コードブロックが有しうる最大の大きさＺ以下の場合は、ＣＲＣの大きさＬを考慮して生成されるコードブロックにＣＲＣを付加する一例は、下記の数学式２８で示される。
【０１６８】
【数２８】
0005466317.tif 000032
ＣＲＣ付加のためのパラメータを計算すると、コードブロックに適用される長さはＫｒであり、各コードブロックに付加されるＣＲＣの大きさはＬとする。この時、入力される入力ビットは、Ｏｒ０，Ｏｒ１，Ｏｒ２，…，ＯｒＫｒ−１で示されることができる。また、ＣＲＣパリティビットは、ｐｒ０，ｐｒ１，ｐｒ２，…，ｐｒＬ−１で示されることができる。この時、ＣＲＣパリティビットは、入力ビットに基づいてＣＲＣ生成式を用いて生成することができる。また、ＣＲＣが付加された後のビットは、Ｏｒ０，Ｏｒ１，Ｏｒ２，…，ＯｒＫｒ−１で示されることができ、Ｃｒ０，Ｃｒ１，Ｃｒ２，…，ＣｒＫｒ−１で示されることができる。すなわち、同一空間に構成されたり異なる空間に構成されたりすることができる。また、システムの要求事項に応じてＣＲＣパリティビットは、コードブロックの順方向または逆方向に付加することができる。
【０１６９】
（第３実施例）
図５は、本発明の一実施例であって、コードブロックにＣＲＣを付加する他の例を示す図である。
【０１７０】
図５では、ＣＲＣ付加器５４０に入力されるコードブロック５３０の長さが、出力されるコードブロック５６０の長さからＣＲＣの大きさＬを減算した値を有する場合を示す。データブロック（第１データブロック）５００を分割するためのデータブロック分割器の動作は、図３及び図４におけると同様であり、ただし、コードブロック（第２データブロック）にデータを割り当てる方法と、ＣＲＣ符号の付加されたブロックを生成する方法が、図３及び図４のそれと異なる。
【０１７１】
すなわち、データブロックを分割する場合に、ＣＲＣの長さを考慮するという面では類似しているが、図４の場合と違い、図５では、ＣＲＣ付加器に入力されるコードブロックの長さには、ＣＲＣ領域が確保されていない。
【０１７２】
図５を参照すると、元のデータブロック５００がデータブロック分割器５２０に入力されて、コードブロック５３０に分割され、コードブロック５３０がＣＲＣ付加器５４０に入力されて、ＣＲＣビットが付加されたコードブロック５６０が生成される。
【０１７３】
図５で、データブロック５００がデータブロック分割器５２０に入力されると、データブロック分割器では、付加されるＣＲＣの長さを考慮してコードブロックの個数Ｃ及びコードブロックの大きさＫを計算する。また、コードブロックの個数Ｃ及び長さＫを用いて埋め草ビットＦを計算する。データブロック分割器は、コードブロック５３０のうち１番目のブロックに埋め草ビット及びデータを割り当てる。この時、データは、コードブロックの大きさから埋め草ビット及びＣＲＣの長さＬを減算した長さ分を順次に割り当てる。また、ＣＲＣの長さＬは、好ましくは、２４ビットを有する。
【０１７４】
また、データブロック分割器は、２番目のコードブロックに、コードブロックの大きさからＣＲＣの長さを減算した長さ分のデータを順次に割り当て、このデータ割り当ては、残りのコードブロックの個数だけ反復される。データを割り当てるプロセスにより、ＣＲＣ付加器に入力されるコードブロックを構成する。
【０１７５】
すなわち、データブロック分割器で計算されたコードブロックの個数Ｃ値はＣＲＣ付加器に伝達され、この値は、ＣＲＣ付加器でコードブロックにＣＲＣを付加する時に用いられる。ＣＲＣ付加器に入力されるコードブロックの大きさＫが均等であるとすれば、入力されるデータブロック５３０の大きさは、コードブロックの大きさＫからＣＲＣ符号の大きさＬを減算した値にコードブロックの個数Ｃを乗算した値、または、コードブロックの大きさＫからＣＲＣ符号の長さＬを減算した値を有するコードブロックの長さの和とになることができる。
【０１７６】
図５で説明した本発明の一実施例によって、ＣＲＣ付加器に入力されるデータブロック５３０の全体大きさを求めると、図４の方法に比べて、各コードブロックに付加される総ＣＲＣの長さ分だけ小さい大きさを有することが確認できる。
【０１７７】
図５を参照すると、ＣＲＣ付加器は、入力されるコードブロックとコードブロックの個数情報に基づいてＣＲＣ生成式を用いて任意の長さのＣＲＣパリティビットを生成する。また、ＣＲＣ付加器は、各コードブロックの後部にパリティビットを順方向または逆方向の順に付加する。
【０１７８】
図５で説明した方法によると、任意の長さを有するデータブロックは、データブロック分割器とＣＲＣ付加器を通じてＣＲＣの付加されたコードブロックとされる。
【０１７９】
ただし、データブロックが、誤り検出符号を含む一つのコードブロックとして構成される場合は、データが割り当てられた後に、ＣＲＣ付加器５４０のプロセスは省略する。すなわち、データブロックの大きさが、コードブロックが有しうる最大の大きさより小さいまたは等しいと、データブロックが分割される必要がなく、この場合は、データブロックにそもそも含まれているＣＲＣを用いれば良いので、ＣＲＣ付加器を通じてＣＲＣを再び付加する必要がないわけである。
【０１８０】
本実施例による、ＣＲＣ付加器に入力されるコードブロックの構成に当たり、ＣＲＣの長さがコードブロック生成時に考慮されるものの、コードブロックに含まれない場合の具体的な一例を説明する。
【０１８１】
下記の表４は、ＣＲＣの長さを考慮して生成されるものの、ＣＲＣの長さは含まれないコードブロックの構成式を示す。
【０１８２】
【表４】
0005466317.tif 000033
下記の表５は、データブロックが、誤り検出符号を含む一つのコードブロックとして構成される場合に、ＣＲＣ符号の長さを考慮して生成されるものの、ＣＲＣの長さは含まれない場合のコードブロックの構成式を示す。
【０１８３】
【表５】
0005466317.tif 000034
表４及び表５で用いられる主要パラメータは、次の通りである。‘Ｆ’は埋め草ビットの長さを表し、データブロック分割器の出力を表すパラメータは‘Ｏｒｋ’である。ここで、‘ｒ’はコードブロックの番号を表し、‘ｋ’は、ｒ番目のブロックのビット番号を表すパラメータである。
【０１８４】
コードブロックの大きさは、‘Ｋ＋’及び‘Ｋ−’の２種類の長さを有するとする。この時、‘Ｋ−’は‘Ｋ＋’値よりも小さいコードブロックの大きさを表す。‘Ｃ＋’及び‘Ｃ＿’は、コードブロックの個数を表すパラメータであり、それぞれ‘Ｋ＋’及び‘Ｋ−’の長さを有するコードブロックの個数を表す。上記の表４及び表５に含まれるパラメータのうち‘Ｌ’は、各コードブロックに付加されるＣＲＣの大きさを表し、‘Ｋｒ’は、コードブロックに適用される長さを表す。
【０１８５】
図５を参照すると、ＣＲＣの長さを考慮して生成されるものの、ＣＲＣの長さは含まれないコードブロックを構成し、該コードブロックにＣＲＣを付加するために上記の数学式２７を利用することができる。
【０１８６】
また、データブロックが分割されずに、誤り検出符号を含む一つのコードブロックとして構成される場合に、ＣＲＣの長さを考慮して生成されるものの、ＣＲＣの長さは含まれないコードブロックを構成し、該コードブロックにＣＲＣを付加するために上記の数学式２８を利用することができる。
【０１８７】
また、ＣＲＣが付加された後のビットは、Ｏｒ０，Ｏｒ１，Ｏｒ２，…、ＯｒＫｒ−１で示されることができ、または、Ｃｒ０，Ｃｒ１，Ｃｒ２，…，ＣｒＫｒ−１で示されることもできる。すなわち、同一空間や異なる空間に構成されることができる。
【０１８８】
（第４実施例）
図６は、本発明の一実施例であって、付加されるＣＲＣの大きさＬを考慮したデータブロックの分割及びＣＲＣの付加方法を示す図である。
【０１８９】
図６は、任意の長さを有するデータブロック（第１データブロック）６００を、機能モジュール（データブロック分割及びＣＲＣ付加器）６２０に入力して、コードブロック（第２データブロック）６４０を生成する方法を示す。機能モジュール６２０は、データブロック分割及びＣＲＣ符号を付加する機能を同時に行う。この時、データブロック６００は、機能モジュールに入力される前に、あらかじめデータブロックそのものに対するＣＲＣ符号を含むこともできる。
【０１９０】
図６を参照すると、データブロック６００が機能モジュール６２０に入力されると、機能モジュールは、コードブロックに付加されるＣＲＣの大きさＬを考慮してコードブロックの個数Ｃを計算することができる（Ｓ６０１）。また、機能モジュールは、コードブロックの個数Ｃを用いてコードブロックの大きさＫを計算することができる（Ｓ６０２）。また、機能モジュールは、コードブロックの個数及び長さを用いて埋め草ビットの長さＦを計算することができる（Ｓ６０３）。
【０１９１】
上記ステップＳ６０１〜Ｓ６０３で用いられるコードブロックの個数Ｃ及び長さＫを計算する方法と埋め草ビットＦを計算する方法は、図３〜図５で用いた方法のうち一つ以上とすれば良い。ただし、図６においてコードブロックにデータを割り当て、ＣＲＣ符号を割り当てるステップＳ６０４が、図３〜図５で説明した方法と異なる。ここで、ＣＲＣ符号の大きさＬは、好ましくは、２４ビットの長さを有する。
【０１９２】
図６を参照すると、コードブロックにデータ及びＣＲＣ符号を割り当てるステップＳ６０４は、次の通りである。
【０１９３】
１番目のコードブロックの先頭部分に埋め草ビットＦを割り当て、付加されるＣＲＣ大きさＬを除外した長さ分のデータを割り当てながら、ＣＲＣ符号を１番目のコードブロックの後部に順方向または逆方向の順に付加することができる。２番目のコードブロックには、２番目のコードブロックの大きさから、付加されるＣＲＣ大きさＬを除外した長さ分のデータを割り当て、ＣＲＣ符号を２番目のコードブロックの後部に順方向または逆方向の順に付加することができる。２番目以降のコードブロックにデータを割り当てる過程は、コードブロックの個数Ｃだけ反復することができる。この場合、各コードブロックの大きさＫは、互いに同一の値を有する、または、特定値（例えば、Ｋ＋またはＫ−）を有することができる。‘Ｋ＋’値及び‘Ｋ−’値は、Ｋ値の微小変化量を表す（Ｓ６０４）。図６の方法を用いると、任意の長さを有するデータブロックＢは、機能モジュール６２０を通じてＣＲＣの付加されたコードブロック６４０として構成されることができる。ただし、データブロックが分割されずに、ＣＲＣ符号を含む一つのコードブロックとして構成される場合には、データを割り当てた後に再びＣＲＣを付加しない。この場合は、既にデータブロックＢがＣＲＣ符号Ｌを含んでいるので、ＣＲＣを重複して付加する必要がないわけである。
【０１９４】
コードブロックが生成された後には、チャンネル符号化（ｃｈａｎｎｅｌ  ｃｏｄｉｎｇ）を行うことができる。チャンネル符号化（Ｃｏｄｉｎｇ）とは、チャンネルを通じた情報の伝送中に受信側が誤りを検出及び／または訂正できるように、送信側で発生させた元のコードを変換する過程のことをいう。すなわち、制限された電力または制限された帯域幅を有するチャンネル環境で誤りを克服するためのプロセスを意味する。
【０１９５】
チャンネル符号化には様々な方法を適用することができる。非メモリ形態の線形符号化（Ｌｉｎｅａｒ  Ｃｏｄｉｎｇ）、巡回符号化（Ｃｙｃｌｉｃ  Ｃｏｄｉｎｇ）などがあり、メモリ形態のテールバイティング畳み込み符号化（Ｔａｉｌ  Ｂｉｔｉｎｇ  Ｃｏｎｖｏｌｕｔｉｏｎ  Ｃｏｄｉｎｇ）、ターボ符号化（Ｔｒｕｂｏ  Ｃｏｄｉｎｇ）などがある。
【０１９６】
図７は、本発明の一実施例であって、ＣＲＣの大きさを考慮してデータブロックをコードブロックに分割するプロセスを示す図である。
【０１９７】
図７を参照すると、データブロック（第１データブロック）７００が機能モジュール（ＣＲＣ付加及びデータブロック分割器）７２０に入力されると、ＣＲＣの大きさＬが考慮されてコードブロック（第２データブロック）７４０に変換される。図７で、ＣＲＣ付加及びデータブロック分割器でデータブロックをコードブロックに変換する過程は、図６の方法を用いることができる。また、図７で、データブロック７００は、機能モジュールに入力される前に、あらかじめデータブロックに対するＣＲＣ符号を含むことができる。
【０１９８】
データブロックの分割とＣＲＣの付加が一つの機能モジュールで行われる場合の具体的一例を説明する。
【０１９９】
下記の表６は、データブロックの分割とＣＲＣの付加が一つの機能モジュール（ＣＲＣ付加及びデータブロック分割器）７２０で行われる場合、データブロックの分割及びＣＲＣ付加のためのデータブロック構成式を示す。
【０２００】
【表６】
0005466317.tif 000035
下記の表７は、データブロックが分割されずに、ＣＲＣ符号を含む一つのコードブロックとして構成される場合（すなわち、Ｃ＝１の場合）、及びデータブロックの分割とＣＲＣの付加が一つの機能モジュール７２０で行われる場合に、データブロックの分割及びＣＲＣ付加のためのデータブロック構成式を示す。
【０２０１】
【表７】
0005466317.tif 000036
表６及び表７で使われる主要パラメータは、次の通りである。‘Ｆ’は埋め草ビットの長さを表し、データブロック分割器の出力を表すパラメータは‘Ｏｒｋ’である。ここで、‘ｒ’は、コードブロックの番号を表し、‘ｋ’は、ｒ番目ブロックのビット番号を表す。
【０２０２】
コードブロックの大きさは、‘Ｋ＋’及び‘Ｋ−’の２種類の長さを有するとする。ここで、‘Ｋ−’値は、‘Ｋ＋’値よりも小さいコードブロックの大きさを表す。‘Ｃ＋’及び‘Ｃ＿’は、コードブロックの個数を表すパラメータで、それぞれ‘Ｋ＋’及び‘Ｋ−’の長さを有するコードブロックの個数を表す。また、上記の表６及び表７に含まれるパラメータのうち、‘Ｌ’は、各コードブロックに付加されるＣＲＣの大きさを表し、Ｋｒは、最終コードブロックに適用される長さを表す。
【０２０３】
ＣＲＣ付加のためのパラメータを計算すると、ＣＲＣパリティビットは、ｐｒ０，ｐｒ１，ｐｒ２，…，ｐｒＬ−１で示されることができる。この時、ＣＲＣパリティビットは、入力ブロックに基づいてＣＲＣ生成式を用いて生成されることができる。また、データ割当及びＣＲＣが付加された後のビットは、Ｏｒ０，Ｏｒ１，Ｏｒ２，…，ＯｒＫｒ−１で示されることができ、Ｃｒ０，Ｃｒ１，Ｃｒ２，…，ＣｒＫｒ−１で示されることができる。すなわち、同一空間や異なる空間で構成されることができる。
【０２０４】
（第５実施例）
本発明の他の実施例は、第１実施例〜第４実施例で説明した方法を組み合わせて構成することができる。
【０２０５】
データが大きいサイズを有する場合、該データを效果的に伝達するためにシステムの要求事項に応じて適宜の大きさに分割して伝送することができる。したがって、入力されるデータブロックを適切な方法で分割する必要がある。この場合、データブロックを分割する方法をどのようなものにするかが重要となりうる。
【０２０６】
本実施例によるデータブロック分割及び誤り検出符号付加器は、論理的なデータブロック（または、入力ビット）を分割し、ＣＲＣ符号を付加する機能を行う一つの機能モジュール（以下、機能モジュール）である。ここで、機能モジュールは、入力されるデータブロックを、分割されるコードブロックに含まれる誤り検出符号（例えば、ＣＲＣ）の大きさを考慮して適切な個数に分割することができる。
【０２０７】
ただし、入力ビットをコードブロック（または、セグメント）に分割する場合には、コードブロックの大きさＫは、システムの要求事項に応じて最大に分割できる長さＺが定められることができる。本発明の実施例においてコードブロックが有しうる最大の大きさＺは、好ましくは、６１４４ビットである。
【０２０８】
機能モジュールに入力される入力ビット（または、データブロック）のシーケンスは、ｂ０，ｂ１，ｂ２，…，ｂＢ−１で示すことができる。ここで、入力ビットの大きさは‘Ｂ’で表すことができ、Ｂの大きさは１以上であるとする。もし、Ｂが、コードブロックが有しうる最大の大きさＺよりも大きいとすれば、入力ビットを分割することができる。この時、ＣＲＣビットの大きさＬは、好ましくは、２４ビットである。すなわち、入力ビットが分割されて生成される各コードブロックには、誤り検出符号の一つである２４ビットのＣＲＣが付加されることができる。
【０２０９】
もし、埋め草ビット（Ｆｉｌｌｅｒ  ｂｉｔ）の長さが‘０’でなければ、埋め草ビットは１番目のコードブロックの始部に付加されることができる。また、入力ビットの長さＢが４０ビットよりも小さい場合、埋め草ビットはコードブロックの始部に付加される。埋め草ビットは、機能モジュールの入力部分で‘ゼロ（ｎｕｌｌ）’と設定される。
【０２１０】
入力ビットが分割されて生成されるコードブロックの総個数Ｃは、下記の数学式２９で計算されることができる。
【０２１１】
【数２９】
0005466317.tif 000037
数学式２９で、Ｂは、入力される入力ビット（または、データブロック）の長さを表し、Ｂ’は、コードブロックの個数Ｃと誤り検出符号（ＣＲＣ）の長さＬとを乗算した値に、入力ビットＢの長さを加算した値を表す。すなわち、Ｂ’は、コードブロックの個数及び長さを求めるために変更された入力ビットの大きさを表す。
【０２１２】
数学式２９を参照すると、入力ビットの長さＢが、コードブロックが有しうる最大長さＺ以下なら、コードブロックに付加される誤り検出符号の大きさは０ビットであり、コードブロックの総個数Ｃは１に設定されることができる。また、変更された入力ビットの大きさＢ’の長さは、入力ビットの長さＢと同一に設定されることができる。
【０２１３】
もし、入力ビットの長さＢが、コードブロックが有しうる最大の大きさＺよりも大きいと、誤り検出符号の大きさＬは２４ビットに設定され、コードブロックの総個数Ｃは、入力ビットの長さＢを、コードブロックが有しうる最大の大きさＺから誤り検出符号の大きさを減算した値で除算した値を切り上げた値に設定されることができる。また、変更された入力ビットの大きさの長さＢ’は、コードブロックの総個数Ｃと誤り検出符号の大きさＬとを乗算した値に入力ビットの長さＢを加算した値に設定されることができる。
【０２１４】
コードブロックの個数が０でない場合、機能ブロックから出力されるコードブロックは、ｃｒ０，ｃｒ１，ｃｒ２，ｃｒ３，…，ｃｒ（Ｋｒ−１）で示すことができる。ここで、‘ｒ’は、コードブロックの番号を表し、‘Ｋｒ’は、‘ｒ’番目のコードブロックの大きさを表す。
【０２１５】
上記機能モジュールで、数学式２９を用いてコードブロックの個数を求めた後に、各コードブロックの大きさを求めなければならない。入力ビットは、互いに同一の長さを有するコードブロックに分割されることができ、特定長さ（例えば、‘Ｋ＋’または‘Ｋ−’）を有するコードブロックに分割されることもできる。この場合、システムまたはユーザの要求事項によってコードブロックは様々な長さを有することができるということは自明である。
【０２１６】
本発明の他の実施例で、コードブロックのそれぞれの長さは、‘Ｋ＋’と‘Ｋ−’の大きさを有することができる。この時、コードブロックの個数は０であってはならない。
【０２１７】
本発明の一実施例で、第１コードブロック（または、第１セグメント）の長さは、‘Ｋ＋’で表すことができる。‘Ｋ＋’の長さは、表１のＫ値から定めることができる。この時、コードブロックの総個数Ｃとコードブロックの大きさＫとを乗算した値が、変更された入力ビットの大きさＢ’以上である条件を満たすＫ値のうち最小のＫ値を‘Ｋ＋’値に定めることができる。
【０２１８】
もし、コードブロックの個数Ｃが１なら、‘Ｋ＋’の長さを有するコードブロックの個数‘Ｃ＋’は１であり、‘Ｋ−’の長さを有するコードブロックの個数‘Ｃ−’は０である。
【０２１９】
もし、コードブロックの個数が２以上（Ｃ＞１）なら、第２コードブロック（または、第２セグメント）の長さＫ−は、表１のＫ値から定めることができ、好ましくは、‘Ｋ＋’よりも小さいＫ値のうち最大値を有することを特徴とする。この時、Ｋ値の変化量ΔＫは、‘Ｋ＋’と‘Ｋ−’の差値を表す。
【０２２０】
‘Ｋ−’の長さを有する第２コードブロックの個数Ｃ−は、総コードブロックの個数Ｃと第１コードブロックの大きさＫ＋とを乗算した値から、変更された入力ビットの大きさＢ’を減算した値を、Ｋ値の変化量ΔＫで除算した値を切り捨てて得ることができる。
【０２２１】
また、‘Ｋ＋’の長さを有する第１コードブロックの個数Ｃ＋は、コードブロックの総個数Ｃから第２コードブロックの個数Ｃ−を減算した値にすることができる。
【０２２２】
コードブロックの個数Ｃ及びコードブロックの大きさＫを計算するプロセスでコードブロックに含まれる誤り検出符号の大きさＬを考慮するから、コードブロックを全て合算した長さが、変更された入力ビットの大きさＢ’よりも大きくなる場合がありうる。その場合は、その差分に該当する埋め草ビット（Ｆｉｌｌｅｒ  ｂｉｔ）を計算し、分割されたコードブロックの最初のコードブロックに付加することができる。
【０２２３】
本発明のさらに他の実施例では、第１コードブロックの個数Ｃ＋と第１コードブロックの大きさＫ＋とを乗算した値に、第２コードブロックの個数Ｃ−と第２コードブロックの大きさＫ−とを乗算した値を加算した値と、変更された入力ビットの大きさＢ’との差値を、埋め草ビットの大きさＦとすることができる。
【０２２４】
表８は、ＣＲＣの長さを考慮して生成されるコードブロックの構成式を示す。
【０２２５】
【表８】
0005466317.tif 000038
表８を参照すると、機能モジュールでコードブロックを構成する場合、ＣＲＣの長さをコードブロックに含めることがわかる。表８で、ｃｒｏ，ｃｒ１，ｃｒ２，…，ｃｒ（Ｋｒ−１）で表現されるコードブロックシーケンスは、ＣＲＣパリティビットｐｒ０，ｐｒ１，ｐｒ２，…，ｐｒ（Ｌ−１）を計算するのに使用されることがことができる。
【０２２６】
本発明のさらに他の実施例で、入力されるデータブロックにあらかじめ含まれている誤り検出符号は、ＴＢ  ＣＲＣ（Ｔｒａｎｓｐｏｒｔ  Ｂｌｏｃｋ  ＣＲＣまたは第１誤り検出符号）と呼ぶことができ、分割されるコードブロックに含まれる誤り検出符号は、ＣＢ  ＣＲＣ（Ｃｏｄｅ  Ｂｌｏｃｋ  ＣＲＣまたは第２誤り検出符号）と呼ぶことができる。ここで、入力ビットにＴＢ  ＣＲＣが付加される前の初期データブロックを、初期入力ビットまたはトランスポートブロック（Ｔｒａｎｓｐｏｒｔ  Ｂｌｏｃｋ）と呼ぶことができ、ＴＢ  ＣＲＣの大きさは２４ビットとすることが好ましい。
【０２２７】
この第５実施例で、入力されるデータブロックが分割されない場合（すなわち、Ｃ＝１の場合）は、最初の入力データブロックが、ＴＢ  ＣＲＣを含む最終コードブロックとして構成されることができる。ただし、ユーザの要求事項及び発明の実施形態によってＴＢ
ＣＲＣを除外しＣＢ  ＣＲＣ符号を付加して、最終コードブロックを構成することもできる。
【０２２８】
（第６実施例）
本発明の他の実施例は、第１実施例〜第４実施例で説明された方法を組み合わせて構成することができる。
【０２２９】
本発明の他の実施例による論理的なデータブロック分割及び誤り検出符号付加器は、一つの機能モジュールであり、入力されるデータブロックを、分割されるコードブロックに含まれる誤り検出符号（例えば、ＣＲＣ）の大きさを考慮して適宜の個数に分割することができる。ただし、入力ビットシーケンスをコードブロックに分割する場合は、システムの要求事項に応じて最大に分割できる大きさが定められる。本発明の実施例で、コードブロックが有しうる最大の大きさＺは、好ましくは、６１４４ビットである。
【０２３０】
機能モジュールに入力される入力ビット（またはデータブロック）のシーケンスは、ｂ０，ｂ１，ｂ２，…，ｂＢ−１で示すことができる。ここで、入力ビットの大きさＢは１以上であるとする。もし、入力ビットの大きさＢが、コードブロックが有しうる最大の大きさＺよりも大きいと、入力ビットシーケンスは分割される。入力ビットを分割する時、コードブロックに付加される誤り検出符号の大きさを考慮することができる。
【０２３１】
もし、以下に詳述する埋め草ビット（Ｆｉｌｌｅｒ  ｂｉｔ）の長さが‘０’でなければ、埋め草ビットは、１番目のコードブロックの始部に付加することができる。埋め草ビットは、機能モジュールの入力部分で常に‘ゼロ（ｎｕｌｌ）’に設定される。
【０２３２】
入力ビットが分割されて生成されるコードブロックの個数Ｃは、下記の数学式３０で計算することができる。
【０２３３】
【数３０】
0005466317.tif 000039
数学式３０で、Ｂは、入力される入力ビット（または、データブロック）の長さを表し、変更された入力ビットの大きさＢ’は、コードブロックの個数Ｃと誤り検出符号（ＣＲＣ）の長さＬとを乗算した値に入力ビットＢの長さを加算した値である。すなわち、Ｂ’は、コードブロックの大きさＫを求めるための臨時的な変更された入力ビットの大きさを表す。
【０２３４】
コードブロックの個数が０でない場合、機能ブロックから出力されるコードブロックは、ｃｒ０，ｃｒ１，ｃｒ２，ｃｒ３，…，ｃｒ（Ｋｒ−１）で示すことができる。ここで、‘ｒ’は、コードブロックの番号を表し、‘Ｋｒ’は、‘ｒ’番目のコードブロックの大きさを表す。
【０２３５】
上記機能モジュールで、数学式３０を通じてコードブロックの個数を求めた後に、各コードブロックの大きさを求めなければならない。コードブロックのそれぞれの長さは、‘Ｋ＋’と‘Ｋ−’の大きさを有することができる。この場合、コードブロックの個数は０であってはならない。
【０２３６】
本発明の実施例で、第１コードブロックの大きさは‘Ｋ＋’で表すことができる。‘Ｋ＋’の長さは、表１のＫ値において、好ましくは、変更された入力ビットの大きさＢ’をコードブロックの個数Ｃで除算した値より大きいまたは等しいＫ値のうちの最小値を有することを特徴とする。
【０２３７】
もし、コードブロックの個数Ｃが‘１’なら、‘Ｋ＋’の長さを有する第１コードブロックの個数‘Ｃ＋’は１であり、‘Ｋ−’の長さを有するコードブロックの個数は０である。
【０２３８】
もし、コードブロックの個数が２以上（Ｃ＞１）なら、第２コードブロックの大きさＫ−は、表１のＫ値において、好ましくは、‘Ｋ＋’よりも小さいＫ値のうち最大値を有することを特徴とする。ここで、Ｋ値の変化量Δｋは‘Ｋ＋’と‘Ｋ−’との差値を表す。
【０２３９】
‘Ｋ−’の長さを有する第２コードブロックの個数Ｃ−は、総コードブロックの個数Ｃと第１コードブロックの大きさＫ＋とを乗算した値から、変更された入力ビットの大きさＢ’を減算した値を、Ｋ値の変化量Δｋで除算した値を切り捨てて得ることができる。また、‘Ｋ＋’の長さを有する第１コードブロックの個数Ｃ＋は、総コードブロックの個数Ｃから第２コードブロックの個数Ｃ−を減算した値にすることができる。ここで、ＣＲＣパリティビットの長さＬは、２４ビットに設定することができる。
【０２４０】
コードブロックの個数及びコードブロックの大きさを計算する過程で誤り検出符号の大きさを考慮するから、総コードブロックの大きさが入力ビットの長さよりも大きくなる場合が生じうる。その場合は、その差分に該当する埋め草ビット（ｆｉｌｌｅｒ  ｂｉｔ）を計算して、分割されたコードブロックの最初のコードブロックに付加することができる。
【０２４１】
本発明の他の実施例では、第１コードブロックの個数Ｃ＋と第１コードブロックの大きさＫ＋とを乗算した値に、第２コードブロックの個数Ｃ−と第２コードブロックの大きさＫ−とを乗算した値を加算した値と、変更された入力ビットの大きさＢ’との差値を埋め草ビットとすることができる。
【０２４２】
表９は、ＣＲＣの長さを考慮して生成されるコードブロックの構成式を示す。
【０２４３】
【表９】
0005466317.tif 000040
表９を参照すると、機能モジュールでコードブロックを構成する場合、ＣＲＣの長さをコードブロックに含めることがわかる。表８で、ｃｒｏ，ｃｒ１，ｃｒ２，…，ｃｒ（Ｋｒ−１）で表現されるコードブロックシーケンスを、ＣＲＣパリティビットｐｒ０，ｐｒ１，ｐｒ２，…，ｐｒ（Ｌ−１）を計算するのに使用することができる。
【０２４４】
（第７実施例）
本発明の他の実施例は、第１実施例〜第４実施例で説明された方法を組み合わせて構成することができる。
【０２４５】
本発明の他の実施例では、ＣＲＣビットを付加し、入力ビットを分割する機能を行う機能モジュールを定義する。この機能モジュールは、入力されるデータブロックを、分割されるコードブロックに含まれる誤り検出符号（例えば、ＣＲＣ）の大きさを考慮して適宜の個数に分割することができる。ただし、入力ビットシーケンスをコードブロックに分割する場合には、システムの要求事項に応じて最大に分割できる大きさが定められる。本発明の実施例で、コードブロックが有しうる最大の大きさＺは、好ましくは、６１４４ビットである。
【０２４６】
機能モジュールに入力される入力ビットを分割して生成されるコードブロックを、ｂ０，ｂ１，ｂ２，…，ｂＢ−１で表すことができる。入力ビットの長さＢが、コードブロックが有しうる最大の大きさＺよりも大きい場合に入力ビットの分割を行うことがてぎる。
【０２４７】
もし、入力ビットの長さＢが０でなく、埋め草ビット（ｆｉｌｌｅｒ  ｂｉｔ）が０でなければ、埋め草ビットＦは、分割されたコードブロックのうち１番目のコードブロックに付加される。また、入力ビットの長さＢが４０ビットよりも小さい場合は、埋め草ビットは、当該コードブロックの始部に付加される。ここで、埋め草ビットは、‘ゼロ（ｎｕｌｌ）’に設定しなければならない。
【０２４８】
下記の数学式３１は、入力ビットを分割して生成されるコードブロックの個数を求める方法を示す。
【０２４９】
【数３１】
0005466317.tif 000041
数学式３１を参照すると、入力ビットの長さＢが、コードブロックが有しうる最大の大きさＺより小さいまたは等しい場合には、入力ビットの長さＢが、変更された入力ビットの大きさＢ’と同一である。ＢがＺよりも大きい場合、変更された入力ビットの大きさＢ’を求める方法は次の通りである。
【０２５０】
もし、ＢをＺで除算した値を切り上げた値にＣＲＣビットの長さＬを乗算した後にＢを加算した値が、ＢをＺで除算した値を切り上げた値にＺを乗算した値よりも大きいと、変更された入力ビットの大きさＢ’は、ＢをＺで除算した値を整数として切り上げた値に１を加算した後にＣＲＣビットの長さＬを乗算した値にＢを加算した値となる。そうでないと、変更された入力ビットの大きさＢ’は、ＢをＺで除算した値を切り上げた値にＬを乗算した値にＢを加算した値と決定される。
【０２５１】
上記のプロセスにより変更された入力ビットの大きさＢ’を計算すると、コードブロックの総個数Ｃは、変更された入力ビットの大きさＢ’を、コードブロックが有しうる最大の大きさＺで除算した値を整数として切り上げた値とすることができる。この時、機能モジュールで分割された入力ビットは、ｃｒ０，ｃｒ１，ｃｒ２，…，ｃｒ（Ｋｒ−１）で示すことができる。ここで、‘ｒ’は、コードブロックの番号を表し、‘Ｋｒ’は、‘ｒ’番目のコードブロックの大きさを表す。
【０２５２】
上記機能モジュールで、数学式３１を通じてコードブロックの個数を求めた後に各コードブロックの大きさを求めなければならない。コードブロックのそれぞれの長さは、‘Ｋ＋’と‘Ｋ−’の大きさを有することができる。ここで、コードブロックの個数が０であってはならない。
【０２５３】
本発明の実施例で、第１コードブロックの大きさは‘Ｋ＋’で表すことができる。‘Ｋ＋’の長さは、表１のＫ値において、好ましくは、変更された入力ビットの大きさＢ’をコードブロックの個数Ｃで除算した値よりも大きいまたは等しいＫ値のうち最小値を有することを特徴とする。
【０２５４】
もし、コードブロックの個数Ｃが‘１’なら、‘Ｋ＋’の長さを有する第１コードブロックの個数‘Ｃ＋’は１であり、‘Ｋ−’の長さを有するコードブロックの個数は０である。
【０２５５】
もし、コードブロックの個数が２以上（Ｃ＞１）であれば、第２コードブロックの大きさＫ−は、表１のＫ値において、好ましくは、‘Ｋ＋’よりも小さいＫ値のうち最大値を有することを特徴とする。ここで、Ｋ値の変化量Δｋは、‘Ｋ＋’と‘Ｋ−’との差値を表す。
【０２５６】
‘Ｋ−’の長さを有する第２コードブロックの個数Ｃ−は、総コードブロックの個数Ｃと第１コードブロックの大きさＫ＋とを乗算した値から、変更された入力ビットの大きさＢ’を減算した値を、Ｋ値の変化量Δｋで除算した値を切り捨てて得ることができる。また、‘Ｋ＋’の長さを有する第１コードブロックの個数Ｃ＋は、総コードブロックの個数Ｃから第２コードブロックの個数Ｃ−を減算した値とすることができる。ここで、ＣＲＣパリティビットの大きさを２４ビットに設定することができる。
【０２５７】
コードブロックの個数及びコードブロックの大きさを計算する過程で誤り検出符号の大きさを考慮するから、総コードブロックの大きさが入力ビットの長さよりも大きくなる場合が生じうる。その場合は、その差分に該当する埋め草ビット（ｆｉｌｌｅｒ  ｂｉｔ）を計算して、分割されたコードブロックの最初コードブロックに付加することができる。
【０２５８】
本発明の他の実施例では、第１コードブロックの個数Ｃ＋と第１コードブロックの大きさＫ＋とを乗算した値に、第２コードブロックの個数Ｃ−と第２コードブロックの大きさＫ−とを乗算した値を加算した値と、変更された入力ビットの大きさＢ’との差値を埋め草ビットとすることができる。
【０２５９】
下記の表１０は、ＣＲＣの長さを考慮して生成されるコードブロックの構成式を表す。
【０２６０】
【表１０】
0005466317.tif 000042
表１０を参照すると、上記機能モジュールで入力ビットを分割してコードブロックを構成する場合、ＣＲＣの長さを考慮してコードブロックを構成することがわかる。
【０２６１】
（第８実施例）
本発明の他の実施例は、第１実施例〜第４実施例に説明された方法を組み合わせて構成することができる。
【０２６２】
データが大きいサイズを有する場合、該データを效果的に伝達するために、システムの要求事項に応じてデータを適宜の大きさに分割して伝送することができる。したがって、入力されるデータブロックを適切な方法で分割する必要がある。この時、データブロックを分割する方法をどのようなものにするかが重要となりうる。
【０２６３】
本発明の他の実施例による論理的なデータブロック分割及び誤り検出符号付加器は、一つの機能モジュールであり、入力されるデータブロックを、分割されるコードブロックに含まれる誤り検出符号（例えば、ＣＲＣ）の大きさを考慮して適宜の個数に分割する機能を有する。ただし、入力ビットシーケンスをコードブロックに分割する場合には、システムの要求事項に応じて最大に分割できる大きさが定められることができる。本発明の実施例で、コードブロックが有しうる最大の大きさは、好ましくは、６１４４ビットである。
【０２６４】
機能モジュールに入力される入力ビット（または、データブロック）のシーケンスは、ｂ０，ｂ１，ｂ２，…，ｂＢ−１で示すことができる。ここで、入力ビットの大きさは‘Ｂ’で表すことができ、Ｂの大きさは１以上であるとする。もし、Ｂが、コードブロックが有しうる最大の大きさＺよりも大きいとすれば、入力ビットシーケンスの分割は、ＣＲＣの大きさを考慮して行われることができる。ここで、ＣＲＣビットの長さは、好ましくは、２４ビットである。すなわち、入力ビットシーケンスが分割されて生成される各コードブロックには、誤り検出符号の一つである２４ビットのＣＲＣを付加することができる。
【０２６５】
もし、埋め草ビット（Ｆｉｌｌｅｒ  ｂｉｔ）の長さが‘０’でなければ、埋め草ビットは、１番目のコードブロックの始部に付加することができる。また、入力ビットの長さＢが４０ビットよりも小さい場合、埋め草ビットは、コードブロックの始部に付加される。埋め草ビットは、機能モジュールの入力部分で‘ゼロ（ｎｕｌｌ）’に設定される。
【０２６６】
入力ビットが分割されて生成されるコードブロックの個数Ｃは、下記の数学式３２で計算することができる。
【０２６７】
【数３２】
0005466317.tif 000043
数学式３２で、‘Ｂ’は、入力される入力ビット（または、データブロック）の長さを表し、変更された入力ビットの大きさＢ’は、コードブロックの個数Ｃと誤り検出符号（ＣＲＣ）の長さＬとを乗算した値に入力ビットＢの長さを加算した値である。すなわち、コードブロックの個数及び長さを求めるための臨時的な変更された入力ビットの大きさを表す。
【０２６８】
コードブロックの個数が０でない場合、機能ブロックから出力されるコードブロックは、ｃｒ０，ｃｒ１，ｃｒ２，ｃｒ３，…，ｃｒ（Ｋｒ−１）で示すことができる。ここで、‘ｒ’は、コードブロックの番号を表し、‘Ｋｒ’は、‘ｒ’番目のコードブロックの大きさを表す。
【０２６９】
上記機能モジュールで、数学式３２を通じてコードブロックの個数を求めた後に各コードブロックの大きさを求めなければならない。コードブロックのそれぞれの長さは、‘Ｋ＋’と‘Ｋ−’の大きさを有することができる。ここで、コードブロックの個数は１以上でなければならない。
【０２７０】
本発明の実施例で、第１コードブロックの大きさは‘Ｋ＋’で表すことができる。‘Ｋ＋’の長さは、表１のＫ値において、好ましくは、変更された入力ビットの大きさＢ’をコードブロックの個数Ｃで除算した値よりも大きいまたは等しいＫ値のうち最小値を有することを特徴とする。もし、コードブロックの個数が‘１’なら、‘Ｋ＋’の長さを有するコードブロックの個数‘Ｃ＋’は１であり、‘Ｋ−’の長さを有するコードブロックの個数は０である。
【０２７１】
もし、コードブロックの個数が２以上（Ｃ＞１）であれば、第２コードブロックの大きさＫ−は、表１のＫ値において、好ましくは、‘Ｋ＋’よりも小さいＫ値のうち最大値を有することを特徴とする。ここで、Ｋ値の変化量ΔＫは、‘Ｋ＋’と‘Ｋ−’との差値を表す。
【０２７２】
‘Ｋ−’の長さを有する第２コードブロックの個数Ｃ−は、総コードブロックの個数Ｃと第１コードブロックの大きさＫ＋とを乗算した値から、変更された入力ビットの大きさＢ’を減算した値をＫ値の変化量ΔＫで除算した値を切り捨てて得ることができる。また、‘Ｋ＋’の長さを有する第１コードブロックの個数Ｃ＋は、総コードブロックの個数Ｃから第２コードブロックの個数Ｃ−を減算した値にすることができる。
【０２７３】
コードブロックの個数及びコードブロックの大きさを計算する過程で誤り検出符号の大きさを考慮するから、総コードブロックの大きさが入力ビットの長さよりも大きくなる場合が生じうる。その場合は、その差分に該当する埋め草ビット（Ｆｉｌｌｅｒ  ｂｉｔ）を計算して、分割されたコードブロックの最初コードブロックに付加することができる。
【０２７４】
本発明の他の実施例では、第１コードブロックの個数Ｃ＋と第１コードブロックの大きさＫ＋とを乗算した値に、第２コードブロックの個数Ｃ−と第２コードブロックの大きさＫ−とを乗算した値を加算した値と、変更された入力ビットの大きさＢ’との差値を、埋め草ビットとすることができる。
【０２７５】
下記の表１１は、ＣＲＣの長さを考慮して生成されるコードブロックの構成式を示す。
【０２７６】
【表１１】
0005466317.tif 000044
表１１を参照すると、機能モジュールでコードブロックを構成する場合、ＣＲＣの長さをコードブロックに含めることがわかる。表１１で、ｃｒｏ，ｃｒ１，ｃｒ２，…，ｃｒ（Ｋｒ−１）で表現されるコードブロックシーケンスは、ＣＲＣパリティビットｐｒ０，ｐｒ１，ｐｒ２，…，ｐｒ（Ｌ−１）を計算するのに使用されることができる。
【０２７７】
（第９実施例）
本発明の他の実施例は、第１実施例〜第４実施例に説明された方法を組み合わせて構成することができる。
【０２７８】
第９実施例で説明する方法は、第８実施例で開示する方法と略同様である。すなわち、入力ビットを分割して生成されるコードブロックの個数を計算する方法は、第８実施例で説明した方法を使用すれば良い。また、埋め草ビットを計算する方法とコードブロックの長さ及び各長さに該当するコードブロックの個数を求める方法も、第８実施例のそれと同様である。以下、分割されたコードブロックを構成する方法において、相違している部分のみを説明する。
【０２７９】
下記の表１２は、ＣＲＣの長さを考慮して生成されるコードブロックの構成式を示す。
【０２８０】
【表１２】
0005466317.tif 000045
表１２を参照すると、機能モジュールでコードブロックを構成する場合、ＣＲＣの長さをコードブロックに含めることがわかる。表１２で、ｃｒｏ，ｃｒ１，ｃｒ２，…，ｃｒ（Ｋｒ−１）で表現されるコードブロックシーケンスは、ＣＲＣパリティビットｐｒ０，ｐｒ１，ｐｒ２，…，ｐｒ（Ｌ−１）を計算するのに使用されることができる。
【０２８１】
（第１０実施例）
本発明の他の実施例は、第１実施例〜第４実施例で説明した方法を組み合わせて構成することができる。
【０２８２】
第１０実施例は、第５実施例と略同様である。すなわち、第５実施例で説明したコードブロックの個数を求める方法、コードブロックの大きさを求める方法、埋め草ビットを計算する方法は同一である。ただし、各コードブロックにデータを割り当てると同時に誤り検出符号を付加する方法において相違している。
【０２８３】
下記の表１３は、ＣＲＣ符号を考慮して生成されるコードブロックの構成式を示す。
【０２８４】
【表１３】
0005466317.tif 000046
表１３で、基本的な説明は、表８の説明と類似している。したがって、重複する部分は、表８の説明を参照されたい。
【０２８５】
表１３を参照すると、コードブロックの個数Ｃが１以上である場合、各コードブロックにＣＲＣパリティビットを割り当てる。この時、コードブロックシーケンス（例えば、ｃｒｏ，ｃｒ１，ｃｒ２，…，ｃｒ（Ｋｒ−Ｌ−１））は、ＣＲＣパリティビットｐｒ０，ｐｒ１，ｐｒ２，…，ｐｒ（Ｌ−１）を計算するのに使用できる。また、ＣＲＣパリティビットは、コードブロックに含まれるＣＲＣパリティビットの位置に順方向または逆方向に付加できる。ただし、本発明の実施例では、ＣＲＣパリティビットが順方向に付加されると仮定する。
【０２８６】
下記の数学式３３は、表１３におけるＣＲＣパリティビットの順方向付加を示す。
【０２８７】
【数３３】
0005466317.tif 000047
数学式３３を参照すると、コードブロックに入力されるＣＲＣパリティビット（ｐｒ（ｋ＋Ｌ−Ｋｒ））が順方向に付加されることがわかる。すなわち、一つのコードブロックにデータが入力された後にＣＲＣ符号が入力され、他のコードブロックにデータが入力された後にＣＲＣ符号が入力される。このような過程によりコードブロックにデータ及びＣＲＣ符号を同時に割り当てることができる。
【０２８８】
図８は、本発明の一実施例であって、ＣＲＣの長さを考慮してコードブロックを分割する方法を示すフローチャートである。
【０２８９】
伝送すべきデータが大きいサイズを有する場合、システムの要求事項に応じて該データを適宜の大きさに分割して伝送することができる。したがって、入力されるデータブロックを適切な方法で分割する必要となる。この時、データブロックを分割する方法をどのようなものにするかが重要になりうる。
【０２９０】
本発明の好ましい実施例による論理的なデータブロック分割及び誤り検出符号付加器は、一つの機能モジュールであり、入力されるデータブロックを、分割されるコードブロックに含まれる誤り検出符号（例えば、ＣＲＣ）の大きさを考慮して適宜の個数に分割する機能を果たす。ただし、入力ビットシーケンスをコードブロックに分割する場合には、システムの要求事項に応じて最大に分割できる大きさが定められることができる。
【０２９１】
この時、データブロックは、データブロック自体に対する誤り検出符号をあらかじめ含んでいることができる。ここで、データブロックに誤り検出符号が付加される前の初期データブロックを初期入力ビットまたはトランスポートブロック（Ｔｒａｎｓｐｏｒｔ  Ｂｌｏｃｋ）と呼ぶことができる。トランスポートブロックは、上位階層から伝達されたデータを意味することができる。
【０２９２】
図８を参照すると、機能モジュールに、分割するためのデータブロックＢが入力される（Ｓ８０１）。この時、データブロックＢには既に第１ＣＲＣ符号が含まれていることができ、第１ＣＲＣ符号は、入力ビットに対する誤り検出符号を意味する。
【０２９３】
機能モジュールは、入力されたデータブロック（または、入力ビット）の大きさＢを、コードブロックが有しうる最大の大きさＺと比較する（Ｓ８０２）。
【０２９４】
ステップＳ８０２でＢがＺよりも大きいと、機能モジュールは、コードブロックに付加されるＣＲＣの長さを考慮して入力されたデータブロックが分割されて生成される総コードブロックの個数Ｃを計算することができる（Ｓ８０３）。
【０２９５】
ステップＳ８０３で機能モジュールはコードブロックの個数Ｃを計算した後に、各コードブロックの長さ（Ｋ＋またはＫ−）を計算する（Ｓ８０４）。
【０２９６】
ステップＳ８０４で、各コードブロックの長さを様々な方法で計算することができる。すなわち、第１実施例〜第９実施例で説明したコードブロックの大きさを求める方法を用いることができる。例えば、変更された入力ビットの大きさＢ’を求めた後にこれを用いて各コードブロックの長さを計算することができる。
【０２９７】
ステップＳ８０５で機能モジュールは、ＣＲＣ符号の長さを考慮してコードブロックの個数及び長さを求めた後に、コードブロックの総長さから、変更された入力ビットの大きさＢ’を減算した差値を埋め草ビット（ｆｉｌｌｅｒ  ｂｉｔ）として使用することができる（Ｓ８０５）。
【０２９８】
上記ステップＳ８０３〜Ｓ８０５を経てコードブロックの個数及び長さを計算した後に、機能モジュールでは、データと第２ＣＲＣ符号を割り当てる（Ｓ８０６）。ここで、第２ＣＲＣ符号は、データブロックＢに含まれている第１ＣＲＣ符号とは異なる役割を果たす。すなわち、第１ＣＲＣ符号は、データブロックに対する誤り検出符号であり、第２ＣＲＣ符号は、データブロックが分割されて形成されるコードブロックに対する誤り検出符号である。
【０２９９】
ステップＳ８０２で、入力されたデータブロックの大きさＢが、コードブロックが有しうる最大の大きさＺよりも小さいと、データブロックを分割する必要がない。すなわち、コードブロックの個数Ｃは‘１’に設定され、コードブロックの大きさを計算するステップと埋め草ビットを計算するステップが省略される。したがって、入力されたデータブロックに直接データを割り当てることができる（Ｓ８０７）。この時、データブロックに含まれた第１ＣＲＣ符号をそのまま使用することができ、新たに第２ＣＲＣ符号を付加しない。
【０３００】
図９は、本発明の一実施例であって、コードブロックの個数Ｃを求める方法を示すフローチャートである。
【０３０１】
図９で、ステップＳ９０１及びＳ９０２は、図８のステップＳ８０１及びＳ８０２に類似しているので、その説明は省略する。
【０３０２】
図９を参照すると、ステップＳ９０１でＢがＺよりも長い場合に、総コードブロックの個数Ｃは、入力されたデータブロックの大きさＢを、コードブロックが有しうる最大の大きさＺとコードブロックに付加される第２ＣＲＣ符号の長さＬとの差値で除算した値を切り上げた値にすることができる（Ｓ９０３）。
【０３０３】
もし、ステップエス９０２でＢがＺよりも短い場合は、入力されたデータブロックを分割する必要がなく、したがって、コードブロックの個数Ｃは１に設定することができる（Ｓ９０４）。
【０３０４】
図１０は、本発明の一実施例であって、変更された入力ビットの大きさを用いてコードブロックを分割する方法を示すフローチャートである。
【０３０５】
伝送すべきデータが大きいサイズを有する場合、システムの要求事項に応じて当該データを適宜の大きさに分割して伝送することができる。したがって、入力されるデータブロックを適切な方法で分割する必要がある。この時、データブロックを分割する方法をどのようなものにするかが重要となりうる。
【０３０６】
本発明の好ましい実施例による論理的なデータブロック分割及び誤り検出符号付加器は、一つの機能モジュールであり、入力されるデータブロックを適宜の個数に分割して、各コードブロックの大きさを計算して、データを付加する機能を果たす。
【０３０７】
図１０を参照すると、機能モジュールにデータブロック（すなわち、入力ビット）が入力されると、機能モジュールは、データブロックを分割して生成されるコードブロックの個数Ｃを計算する（Ｓ１００１）。この時、データブロックには既に第１ＣＲＣ符号が含まれていることができ、第１ＣＲＣ符号は、入力ビットに対する誤り検出符号を意味する。
【０３０８】
機能モジュールは、コードブロックの個数Ｃを計算した後に、各コードブロックの大きさＫを求めるために、変更された入力ビットの大きさＢ’を計算する（Ｓ１００２）。
【０３０９】
ステップＳ１００２で、変更された入力ビットの大きさＢ’は、コードブロックの個数Ｃとコードブロックに付加（ａｔｔａｃｈｅｄ）される第２ＣＲＣ符号の長さＬとを乗算した値に、入力されるデータブロックの大きさＢを加算した値とすることができる。変更された入力ビットの大きさは、各コードブロックの大きさＫを求めるためのものである。
【０３１０】
コードブロックは、第１コードブロック及び第２コードブロックで構成されることができる。ここで、第１コードブロックの大きさＫ＋及び第２コードブロックの大きさＫ−は特定値ではなく、システムの要求事項によって可変する値である。‘Ｋ’は、コードブロックの大きさが均一な１場合の長さを示す。
【０３１１】
ステップＳ１００２で変更された入力ビットの大きさＢ’を計算した後に、分割されて形成されるコードブロックのうち、第１コードブロックの大きさＫ＋を計算することができる。ここで、‘Ｋ＋’の長さは、表１のＫ値において最小値を使用すれば良い。ただし、Ｋ値は、変更された入力ビットの大きさＢ’をコードブロックの個数Ｃで除算した値以上でなければならない（Ｓ１００３）。
【０３１２】
第１コードブロックの大きさＫ＋が決定されると、これを用いて第２コードブロックの大きさＫ−を求めることができる。ここで、‘Ｋ−’の長さは、表１のＫ値において最大値を使用すれば良い。ただし、第２コードブロックの大きさＫ−を求めるためのＫ値は、第１コードブロックの大きさＫ＋よりも小さい値のうち最大値でなければならない（Ｓ１００４）。
【０３１３】
機能モジュールは、第１コードブロックの大きさＫ＋及び変更された入力ビットの大きさＢ’を用いて第２コードブロックの個数Ｃ−を求めることができる。まず、機能モジュールは、第１コードブロックの大きさＫ＋と第２コードブロックの大きさＫ−との差値ΔＫを計算する。機能モジュールは、コードブロックの総個数と第１コードブロックの大きさとを乗算した値から、変更された入力ビットの大きさＢ’を減算した後に差値ΔＫで除算した値を切り捨てた値を、第２コードブロックの個数Ｃ−とすることができる（Ｓ１００５）。
【０３１４】
第１コードブロックの個数Ｃ＋は、コードブロックの総個数Ｃから第２コードブロックの個数Ｃ−を減算した値とすることができる（Ｓ１００６）。
【０３１５】
図１０で説明した方法を用いて、入力ビットを分割して生成されるコードブロックの適切な長さを計算することができる。すなわち、各コードブロックの大きさを求めるために、変更された入力ビットの大きさを利用することによって、コードブロックの大きさが均一な場合だけでなく、コードブロックの大きさがシステム状況によって異なる場合にも適用することができる。
【０３１６】
図１１は、本発明の一実施例であって、コードブロックの個数Ｃが１の場合を示すフローチャートである。
【０３１７】
伝送すべきデータが大きいサイズを有する場合、システムの要求事項に応じて当該データを適宜の大きさに分割して伝送することができる。したがって、入力されるデータシーケンスを適切な方法で分割する必要が生じうる。この場合、入力ビットを分割する方法をどうようなものにするかが重要になりうる。
【０３１８】
本発明の一実施例による論理的なデータブロック分割及び誤り検出符号付加器は、一つの機能モジュールであり、入力ビットシーケンスを、分割されるコードブロックに含まれる誤り検出符号（例えば、ＣＲＣ）の大きさを考慮して適宜の個数に分割する機能を果たす。
【０３１９】
ただし、入力ビットシーケンスをコードブロックに分割する場合には、システムの要求事項応じて最大に分割できる長さＺが定められることができる。以下では、入力ビットの長さＢがコードブロックの最大の大きさＺより短かいまたは同一の場合におけるデータ処理方法を説明する。
【０３２０】
図１１は、入力ビット１１００が機能モジュール（ＣＲＣ付加及び入力ビット分割器）１１２０に入力され、コードブロック１１４０に分割されるプロセスを示す。図１１を参照すると、入力ビット１１００が機能モジュール１１２０に入力される。この場合、入力ビット１１００には既に第１ＣＲＣ符号が含まれていることができ、第１ＣＲＣ符号は、入力ビット１１００に対する誤り検出符号を意味する。
【０３２１】
機能モジュール１１２０は、入力ビット１１００の長さを、機能モジュール１１２０で分割できる最大のコードブロックの大きさＺと比較する。もし、入力ビット１１００の長さがコードブロックの最大の大きさＺより短かいまたは同一の場合は、入力ビット１１００は、機能モジュール１１２０で分割されずに、コードブロック１１４０として構成されることができる。
【０３２２】
したがって、入力ビット１１００は、コードブロック１１４０に転換され、コードブロック１１４０には第１ＣＲＣ符号を引き続き使用することができる。コードブロック１１４０に対する誤り検出符号として第１ＣＲＣ符号を使用すればいいので、機能モジュール１１２０は、コードブロック１１４０に第２ＣＲＣ符号を付加しない。
【０３２３】
図１１を参照すると、入力される入力ビット１１００の長さが、コードブロックの最大の大きさＺより短かいまたは同一の場合は、入力ビット１１００を分割せずにコードブロック１１４０として直接使用することができる。すなわち、コードブロックの個数Ｃは１であり、コードブロックの大きさＫは、入力ビットの長さＢと同一でありうる。また、コードブロック１１４０に第２ＣＲＣ符号を付加せずに、元の入力ビット１１００に含まれている第１ＣＲＣ符号を引き続き使用することができる。したがって、このような場合には迅速なデータの処理が可能となる。
【０３２４】
（第１１実施例）
本発明の他の実施例は、第１実施例〜第１０実施例で説明した方法を組み合わせて構成することができる。
【０３２５】
第１１実施例は、コードブロックの大きさＫが常に一定の場合及び埋め草ビットが発生しうる場合に用いることができる。第１１実施例で、コードブロックの個数Ｃを求めるプロセスは、第４実施例または第５実施例のそれと同様である。ただし、第１１実施例では、全てのコードブロックの大きさＫｒが同一である。
【０３２６】
下記の数学式３４は、コードブロックの大きさＫｒ及び埋め草ビットの大きさＦを計算する方法を示す。
【０３２７】
【数３４】
0005466317.tif 000048
数学式３４を参照すると、コードブロックの大きさＫｒは、変更された入力ビットの大きさＢ’をコードブロックの総個数Ｃで割って計算することができる。ここで、‘ｒ’は、コードブロックのインデックスを表す。また、埋め草ビットの大きさＦは、コードブロックの総個数Ｃとコードブロックの大きさとを乗算した値と、変更された入力ビットの大きさＢ’との差値とすることができる。すなわち、本発明の第１１実施例は、入力ビットＢが分割されて生成される全てのコードブロックの大きさが同一の場合に、これらコードブロックの大きさＫｒを求める方法を示す。
【０３２８】
表１４は、ＣＲＣの長さＬ及び埋め草ビットの大きさＦを考慮して生成されるコードブロックの構成式を示す。
【０３２９】
【表１４】
0005466317.tif 000049
表１４を参照すると、機能モジュールでコードブロックを構成する場合、ＣＲＣの長さをコードブロックに含めることがわかる。表１４で、ｃｒｏ，ｃｒ１，ｃｒ２，…，ｃｒ（Ｋｒ−１）で表現されるコードブロックシーケンスは、ＣＲＣパリティビットｐｒ０，ｐｒ１，ｐｒ２，…，ｐｒ（Ｌ−１）を計算するのに使用されることができる。
【０３３０】
本発明の他の実施例で、入力されるデータブロックにあらかじめ含まれている誤り検出符号はＴＢ  ＣＲＣ（Ｔｒａｎｓｐｏｒｔ  Ｂｌｏｃｋ  ＣＲＣまたは第１誤り検出符号）と呼ぶことができ、分割されるコードブロックに含まれる誤り検出符号は、ＣＢ  ＣＲＣ（Ｃｏｄｅ  Ｂｌｏｃｋ  ＣＲＣまたは第２誤り検出符号）と呼ぶことができる。
【０３３１】
この第１１実施例で、入力されるデータブロックが分割されない場合（すなわち、Ｃ＝１の場合）は、最初の入力データブロックがＴＢ  ＣＲＣを含む最終コードブロックとして構成されることができる。ただし、ユーザの要求事項及び発明の実施形態によってＴＢ
ＣＲＣを除外してＣＢＣＲＣ符号を付加して、最終コードブロックを構成することもできる。
【０３３２】
（第１２実施例）
本発明の他の実施例は、第１実施例〜第１０実施例で説明した方法を組み合わせて構成することができる。第１２実施例は、コードブロックの長さが均等な場合及び埋め草ビットが発生しない場合に使用することができる。すなわち、入力ビットの大きさと生成されるコードブロックの総大きさとが一致する場合を示す。
【０３３３】
第１２実施例は、コードブロックの大きさＫｒが常に一定の場合に使用することができる。第１２実施例でコードブロックの個数Ｃを求めるプロセスは、第４実施例または第５実施例と同様である。
【０３３４】
下記の数学式３５は、コードブロックの大きさＫｒを計算する方法を示す。
【０３３５】
【数３５】
0005466317.tif 000050
数学式３５を参照すると、コードブロックの大きさＫｒは、変更された入力ビットの大きさＢ’をコードブロックの総個数Ｃで除算した値とすることができる。ここで、‘Ｋｒ’は、コードブロックの大きさを表し、‘ｒ’は、コードブロックのインデックスを表す。
【０３３６】
表１５は、ＣＲＣの長さＬを考慮して生成されるコードブロックの構成式を示す。
【０３３７】
【表１５】
0005466317.tif 000051
表１５を参照すると、機能モジュールでコードブロックを構成する場合、ＣＲＣの長さをコードブロックに含めることがわかる。表１５で、ｃｒｏ，ｃｒ１，ｃｒ２，…，ｃｒ（Ｋｒ−１）で表現されるコードブロックシーケンスは、ＣＲＣパリティビットｐｒ０，ｐｒ１，ｐｒ２，…，ｐｒ（Ｌ−１）を計算するのに使用されることができる。
【０３３８】
本発明の他の実施例で、入力されるデータブロックにあらかじめ含まれている誤り検出符号は、ＴＢ  ＣＲＣ（Ｔｒａｎｓｐｏｒｔ  Ｂｌｏｃｋ  ＣＲＣまたは第１誤り検出符号）と呼ぶことができ、分割されるコードブロックに含まれる誤り検出符号は、ＣＢ  ＣＲＣ（Ｃｏｄｅ  Ｂｌｏｃｋ  ＣＲＣまたは第２誤り検出符号）と呼ぶことができる。
【０３３９】
この第１２実施例で、入力されるデータブロックが分割されない場合（すなわち、Ｃ＝１の場合）には、最初の入力データブロックがＴＢ  ＣＲＣを含む最終コードブロックとして構成されることができる。ただし、ユーザの要求事項及び発明の実施形態によってＴＢ  ＣＲＣを除外してＣＢ  ＣＲＣ符号を付加して、最終コードブロックを構成することもできる。
【０３４０】
本発明は、本発明の精神及び必須特徴を逸脱しない範囲で、他の特定の形態に具体化できるということが当業者には自明である。したがって、上記の詳細な説明は、いずれの面においても制約的に解釈してはならず、例示的なものとして考慮しなければならない。したがって、本発明の範囲は、添付の請求項の合理的解釈により定められなければならなく、本発明の等価的範囲内における変更はいずれも本発明の範囲に含まれる。
【産業上の利用可能性】
【０３４１】
本発明の実施例は、広帯域無線接続システムに適用することができる。また、本発明の実施例は、入力シーケンスを分割してコードブロックを生成するいかなる方法にも適用することができる。また、本発明の実施例を用いて生成されたコードブロックは、物理チャンネルをコーディング、マルチプレクシング及びインターリービングするのに適用することができる。また、本発明の実施例は、以上の実施例に限定されず、本発明の技術的思想を示すあらゆる技術に適用することができる。
【図１】
0005466317.tif 000056
【図２】
0005466317.tif 000057
【図３】
0005466317.tif 000058
【図４】
0005466317.tif 000059
【図５】
0005466317.tif 000060
【図６】
0005466317.tif 000061
【図７】
0005466317.tif 000062
【図８】
0005466317.tif 000063
【図９】
0005466317.tif 000064
【図１０】
0005466317.tif 000065
【図１１】
0005466317.tif 000066