(57)【要約】【課題】発明の名称を転記する。【解決手段】  （Ｎ，Ｋ）のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コード（例えば、ＣＲＣコード）を使用して行の位置のシンボルの受信されたブロックについて消去箇所−及び−単一−エラー訂正ブロックデコーディングを効率的に実施するための技術。はじめに、受信されたブロックの各行は、消去された行若しくは未消去の行のいずれかとしてマークされる。受信されたブロックにおいて消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するために、検出されなかったシンボルエラーを含んでいる受信されたブロックの列に対応するコードワードが、はじめに識別される。コードワード中のシンボルエラーの位置は、その後、固有のブロックデコーディングスキームに基づいて決定され、そして選択された（Ｎ，Ｋ）のブロックコードに対応する。シンボルエラーを含んでいる受信されたブロックの行は、その後、消去された行としてマークされる。ブロックデコーディングは、その後、シンボルエラーを含んでいる新たにマークされた消去された行を使用して受信されたブロックに対して実施される可能性がある。
2006501696.tif 000002
【特許請求の範囲】
【請求項１】
（Ｎ，Ｋ）のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルの受信されたブロックについてブロックデコーディングを実施する方法であって、以下を具備する：
検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを識別することと；
コードワード中の検出されなかったシンボルエラーの位置を決定することと；
検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行としてマークすること；及び
マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施すること。
【請求項２】
請求項１の方法であって、さらに以下を具備する：
受信されたブロックの未消去の体系的な行の推定値を導出することと；
未消去の行をその推定値に対して比較すること；及び
未消去の体系的な行とその推定値との間の一致しないシンボルの位置を識別することであって、そしてここで、コードワードは一致しないシンボルを含んでいる列に対応するとして識別される。
【請求項３】
請求項２の方法、ここで、未消去の体系的な行の推定値は、以下によって導出される
未消去の体系的な行を消去された行としてマークすることと；
受信されたブロックのＫの未消去の行からなる縮小した受信されたブロックを形成すること；及び
Ｋの未消去の行に対する逆生成元マトリックスを縮小した受信されたブロックで掛け算すること。
【請求項４】
請求項１の方法、ここで、コードワード中の検出されなかったシンボルエラーの位置は、固有のブロックデコーディングスキームに基づいてコードワードについてエラー位置選定を実施することによって決定される。
【請求項５】
請求項１の方法、ここで、ブロックデコーディングを実施することは、以下を含む
受信されたブロックのＫの未消去の行からなる縮小した受信されたブロックを形成することと；
Ｋの未消去の行に対応する生成元マトリックスのＫの行からなる縮小した生成元マトリックスを形成することと；
縮小した生成元マトリックスを反転すること；及び
反転された生成元マトリックスを縮小した受信されたブロックで掛け算すること。
【請求項６】
請求項１の方法であって、さらに以下を具備する：
少なくとも（Ｋ＋１）の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行をマークすること。
【請求項７】
請求項６の方法、ここで、各行は、周期的な冗長性チェック（ＣＲＣ）テストの結果に基づいて消去された行若しくは未消去の行としてマークされる。
【請求項８】
請求項１の方法であって、さらに以下を具備する：
受信されたブロック中の消去された行の数を決定すること。
【請求項９】
請求項８の方法であって、さらに以下を具備する：
消去された行の数が（Ｄ−２）若しくは（Ｄ−１）に等しければ、消去箇所−限定訂正ブロックデコーディングを実施すること。
【請求項１０】
請求項８の方法であって、さらに以下を具備する：
消去された行の数が（Ｄ−３）より少ない若しくは等しければ、消去箇所−及び−エラー訂正ブロックデコーディングを実施すること。
【請求項１１】
請求項１０の方法であって、さらに以下を具備する：
受信されたブロック中の消去された体系的な行の数を決定すること；及び
消去された体系的な行の数が（Ｋ−１）より少ない若しくは等しければ、消去箇所−及び−エラー訂正ブロックデコーディングを実施すること。
【請求項１２】
請求項８の方法であって、さらに以下を具備する：
消去された行の数が（Ｄ−１）を超えるのであれば、エラーをデクレアすること。
【請求項１３】
請求項１の方法、ここで、（Ｎ，Ｋ）のリニアブロックコードはリード−ソロモンコードである。
【請求項１４】
（Ｎ，Ｋ）のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルの受信されたブロックについてブロックデコーディングを実施する方法であって、以下を具備する：
少なくとも（Ｋ＋１）の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行をマークすることと；
受信されたブロックの未消去の体系的な行の推定値を導出することと；
未消去の行をその推定値に対して比較することと；
未消去の体系的な行とその推定値との間の一致しないシンボルを識別することと；
一致しないシンボルを含んでいる受信されたブロックの列に対応するコードワードを識別することと；
固有のブロックデコーディングスキームに基づいてコードワード中のシンボルエラーの位置を決定することと；
シンボルエラーを含んでいる受信されたブロックの行を消去された行としてマークすること；及び
マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施すること。
【請求項１５】
（Ｎ，Ｋ）のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルの受信されたブロックについてブロックデコーディングを実施するためのコンピュータプログラム製品であって、以下を具備する：
検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを識別するためのコードと；
コードワード中の検出されなかったシンボルエラーの位置を決定するためのコードと；
検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行としてマークするためのコードと；
マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するためのコード；及び
コードを格納するためのコンピュータで使用できるメディア。
【請求項１６】
請求項１５のコンピュータプログラム製品であって、さらに以下を具備する：
受信されたブロックの未消去の体系的な行の推定値を導出するためのコードと；
未消去の行をその推定値に対して比較するためのコード；及び
未消去の体系的な行とその推定値との間の一致しないシンボルの位置を識別するためのコードであって、そしてここで、検出されなかったシンボルエラーを有するコードワードは一致しないシンボルを含んでいる列に対応するとして識別される。
【請求項１７】
請求項１６のコンピュータプログラム製品、ここで、未消去の体系的な行の推定値を導出するためのコードは、以下を含む：
未消去の体系的な行を消去された行としてマークするためのコードと；
受信されたブロックのＫの未消去の行からなる縮小した受信されたブロックを形成するためのコード；及び
Ｋの未消去の行に対する逆生成元マトリックスを縮小した受信されたブロックで掛け算するためのコード。
【請求項１８】
請求項１５のコンピュータプログラム製品、ここで、ブロックデコーディングを実施するためのコードは、以下を含む：
受信されたブロックのＫの未消去の行からなる縮小した受信されたブロックを形成するためのコードと；
Ｋの未消去の行に対応する生成元マトリックスのＫの行からなる縮小した生成元マトリックスを形成するためのコードと；
縮小した生成元マトリックスを反転するためのコード；及び
反転された生成元マトリックスを縮小した受信されたブロックで掛け算するためのコード。
【請求項１９】
ディジタル情報を以下にインタープレッティングすることができるディジタルシグナルプロセシングデバイス（ＤＳＰＤ）に通信で接続されたメモリであって：
検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを識別し；
コードワード中の検出されなかったシンボルエラーの位置を決定し；
検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行としてマークし；及び
マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施する。
【請求項２０】
ディジタルシグナルプロセッサであって、以下を具備する：（Ｎ，Ｋ）のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルのブロックを適切に受信するため及び少なくとも（Ｋ＋１）の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行を適切にマークするための第１のユニット；及び
検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを適切に識別するため、コードワード中の検出されなかったシンボルエラーの位置を適切に決定するため、検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行として適切にマークするため、及びマークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するための第２のユニット。
【請求項２１】
請求項２０のディジタルシグナルプロセッサ、ここで、第２のユニットは、さらに、受信されたブロックの未消去の体系的な行の推定値を適切に導出するため、未消去の体系的な行をその推定値に対して適切に比較するため、未消去の体系的な行とその推定値との間の一致しないシンボルの位置を適切に識別するためであって、そしてここで、検出されなかったシンボルエラーを有するコードワードは一致しないシンボルを含んでいる列に対応するとして識別される。
【請求項２２】
請求項２０のディジタルシグナルプロセッサ、ここで、第２のユニットは、さらに、未消去の体系的な行を消去された行として適切にマークするため、受信されたブロックのＫの未消去の行からなる縮小した受信されたブロックを適切に形成するため、及びＫの未消去の行に対する逆生成元マトリックスを縮小した受信されたブロックで適切に掛け算するためである。
【請求項２３】
請求項２０のディジタルシグナルプロセッサ、ここで、第２のユニットは、さらに、受信されたブロックのＫの未消去の行からなる縮小した受信されたブロックを適切に形成するため、Ｋの未消去の行に対応する生成元マトリックスのＫの行からなる縮小した生成元マトリックスを適切に形成するため、縮小した生成元マトリックスを適切に反転するため、及び反転された生成元マトリックスを縮小した受信されたブロックで適切に掛け算するためである。
【請求項２４】
デコーダであって、以下を具備する：
（Ｎ，Ｋ）のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルのブロックを適切に受信するため、及び少なくとも（Ｋ＋１）の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行を適切にマークするための第１のデコーダ；及び
検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを適切に識別するため、コードワード中の検出されなかったシンボルエラーの位置を適切に決定するため、検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行として適切にマークするため、及びマークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するための第２のデコーダ。
【請求項２５】
請求項２４のデコーダ、ここで、第１のデコーダは、周期的な冗長性チェック（ＣＲＣ）テストの結果に基づいて消去された行若しくは未消去の行として各行を適切にマークするためである。
【請求項２６】
請求項２４のデコーダ、ここで、（Ｎ，Ｋ）のリニアブロックコードは、リード−ソロモンコードである。
【請求項２７】
デコーディング装置であって、以下を具備する：
少なくとも（Ｋ＋１）の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとして、受信されたブロックの各行、（Ｎ，Ｋ）のリニアブロックコードを使用して以前にコード化された列の位置、及びエラー検出コードを使用して行の位置をマーキングするための手段と；
検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを識別するための手段と；
コードワード中の検出されなかったシンボルエラーの位置を適切に決定するための手段と；
検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行としてマーキングするための手段；及び
マークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するため手段。
【請求項２８】
請求項２７のデコーディング装置であって、さらに以下を具備する：
受信されたブロックの未消去の体系的な行の推定値を導出するための手段と；
未消去の行をその推定値に対して比較するための手段；及び
未消去の体系的な行とその推定値との間で一致しないシンボルの位置を識別するための手段であって、そしてここで、検出されなかったシンボルエラーを有するコードワードは一致しないシンボルを含んでいる列に対応するとして識別される。
【請求項２９】
請求項２８のデコーディング装置、ここで、ブロックデコーディングを実施するための手段は、以下を含む：
未消去の体系的な行を消去された行としてマークするための手段と；
受信されたブロックのＫの未消去の行からなる縮小した受信されたブロックを形成するための手段；及び
Ｋの未消去の行に対する逆生成元マトリックスを縮小した受信されたブロックで掛け算するための手段。
【請求項３０】
請求項２７のデコーディング装置、ここで、ブロックデコーディングを実施するための手段は、以下を含む：
受信されたブロックのＫの未消去の行からなる縮小した受信されたブロックを形成するための手段と；
Ｋの未消去の行に対応する生成元マトリックスのＫの行からなる縮小した生成元マトリックスを形成するための手段と；
縮小した生成元マトリックスを反転するための手段；及び
反転された生成元マトリックスを縮小した受信されたブロックで掛け算するための手段。
【請求項３１】
ワイアレス通信システムにおける受信機ユニットであって、以下を具備する：
データサンプルを与えるために受信した信号を適切に処理するための受信機と；
シンボルの受信されたブロックを与えるためにデータサンプルを適切に処理するためのデモジュレータと；
消去された行若しくは未消去の行のいずれかとして受信されたブロックの各行を適切にマークするための第１のデコーダ；及び
検出されなかったシンボルエラーが位置する受信されたブロックの列に対応するコードワードを適切に識別するため、コードワード中の検出されなかったシンボルエラーの位置を適切に決定するため、検出されなかったシンボルエラーを含んでいる受信されたブロックの行を消去された行として適切にマークするため、及びマークされた消去された行を使用して受信されたブロックに対するブロックデコーディングを実施するための第２のデコーダ。
【請求項３２】
請求項３１の受信機ユニットであって、以下をさらに具備する：
シンボルの受信されたブロックを与えるために固有のコンボルーショナルデコーディングスキームにしたがってデモジュレータから復調されたデータを適切に受信し、デコードするための第３のデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ通信に係り、特にリニアブロックコードに関する消去箇所−及び−単一−エラー訂正デコーディングを効率的に実施する技術に関する。
【背景技術】
【０００２】
ディジタル通信が出現し、障害がありバンド幅が制限されたチャネルを介して大量のデータを送信する必要性によって、正しい受信を容易にするためにデータのコーディングに対する必要性は、非常に重要である。データ送信は、熱的なノイズ、干渉、送信バンド幅を有するスプリアス信号、等のような通信チャネルにおける障害によって一般的に劣化される。受信されたデータは、それゆえ、一般的に送信されたデータの歪められた版である。
【０００３】
コーディングは、受信されたデータ中のエラーを検出する及び／若しくは訂正することを受信機ができるようにするために使用される可能性がある。種々のエラー−訂正コードが利用でき、そしてブロックコード及びコンボルーショナルコードのようないくつかの種類に分類される可能性がある。コンボルーショナルコードは、良いエラー−訂正能力を与えるが、関係したエラーのバーストを一般的に出力する。ブロックコードは、適切なレベルのインターリービングと組み合わせられた場合に、組み込まれたバーストエラー取り扱い能力を有する。例えば、リード−ソロモン(Reed-Solomon)コードは、シンボル中の任意のエラーのバーストを取り扱える。これは、特定の数のビットを具備するとして規定される可能性がある。
【０００４】
理論では、ブロックコードは、特定の数の消去箇所及び／若しくは特定の数のエラーをコードの距離によって各々が決められる正確な数で訂正できる。消去箇所は、悪い可能性があるアプリオリとして知られたシンボルを指し示す可能性があり、そしてエラーは、エラーとして受信されるがそのようなアプリオリとして知られていないシンボルである。消去箇所は、受信機によって一般的に知られる若しくは決定される可能性があり、そしてデコーディングプロセスに応じて説明される可能性がある。エラーは、検出されなかったシンボルエラーであり、実際に正しくない場合に、正しく受信されたとして誤って検出されたシンボルである可能性がある。
【０００５】
従来の消去箇所−及び−エラー訂正ブロックデコーダ（バーレカンプ−マッシー(Berlekamp- Massey)若しくはユークリッド(Euclidean)デコーダ）は、複雑であり、一般的に専用のハードウェア中のインプリメンテーションを必要とする。これらのブロックデコーダは、マイクロプロセッサで実行されるソフトウェアに基づいたインプリメンテーションに対して一般に計算上集中しすぎている。ハードウェアに基づいたデコーダは、デコーディングアルゴリズムにおける類似性を利用でき、そしてパイプライン化されたデータパスを使用できる。この両者とも、旧来のマイクロプロセッサにおいては不可能である。より効率的なブロックデコーダアルゴリズムは、ソフトウェアに基づいたインプリメンテーションに対してより適している可能性があるものに利用できる。しかしながら、これらのデコーダアルゴリズムは、一般的に能力に制限があり、消去箇所を訂正できる可能性があるが、エラーを訂正できない可能性がある。
【０００６】
それゆえ、リニアブロックコードに対する効率的な消去箇所−及び−エラー訂正デコーダに対するこの分野における必要性がある。これは、ソフトウェアに基づいたインプリメンテーションに対して適している可能性がある。
【発明の開示】
【０００７】
［サマリー］
本発明の態様は、（Ｎ，Ｋ）のリニアブロックコードを使用して以前にコード化された列の位置の及びエラー検出コードを使用して行の位置のシンボルの受信されたブロックについてブロックデコーディングを効率的に実施するための技術を与える。行に関するエラー検出コード（例えば、ＣＲＣコード）が、比較的良いエラー検出特性を有するのであれば、受信されたデータブロック中に1以上の検出されなかったエラー行がある可能性は、非常に少ない。それゆえ、単一エラー訂正は、大部分のアプリケーションにおいて一般に十分である。
【０００８】
はじめに、受信されたブロックの各行は、少なくとも（Ｋ＋１）の未消去の行が見つけられるまで消去された行若しくは未消去の行のいずれかとしてマークされる。一般に、受信されたブロックの全てのＮの行がマークされるが、これは、絶対に必要ではない。その行は、各行中に含まれた周期的な冗長性チェック（ＣＲＣ）ビットに基づいて、若しくは複数の他の手段によってマークされる可能性がある。消去箇所−限定若しくは消去箇所−及び−エラー訂正ブロックデコーディングは、その後、消去された行の数に応じた受信されたブロックにおいて、すなわち、（Ｎ，Ｋ）のブロックコードの距離によってサポートされたように、実施される可能性がある。
【０００９】
受信されたブロックにおいて消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するために、検出されなかったシンボルエラーを含んでいる受信されたブロックの列に対応するコードワードが、はじめに識別される。検出されなかったシンボルエラーは、受信されたブロックの各行に以前に実施されたＣＲＣチェックによって検出されなかったものである可能性がある。このコードワードは、以下によって識別される可能性がある。（１）受信されたブロックの未消去の体系的な行の推定値を導出すること、（２）未消去の行をその推定値に対して比較すること、及び（３）未消去の体系的な行とその推定値との間の一致しないシンボルの位置を識別することである。そのコードワードは、そして一致しないシンボルを含んでいる列に一致する。
【００１０】
コードワード中の（以前に検出されなかった）シンボルエラーの位置は、その後、固有のブロックデコーディングスキーム（例えば、この分野で知られそして選択されたリニアブロックコードに対応するもの）に基づいて決定される。位置を見つけられたシンボルエラーを含んでいる受信されたブロックの行は、その後、消去された行としてマークされる。ブロックデコーディングは、シンボルエラーを含んでいるマークされた消去された行を使用して受信されたブロックに対して通常の方法で実施される可能性がある。このようにして、消去箇所−限定訂正ブロックデコーディング技術は、受信されたブロックについて消去箇所−及び−単一−エラー訂正ブロックデコーディングを達成するために使用される可能性がある。ここに説明された消去箇所−及び−単一−エラー訂正ブロックデコーディング技術は、（従来の技術に対して相対的に）計算上効率的であり、そしてハードウェア、ソフトウェア、若しくはこれらの組み合わせにおいて実行される可能性がある。
【００１１】
本発明の種々の態様及び実施形態が、以下にさらに詳細に述べられる。本発明は、さらに、方法、コンピュータプログラム製品、デコーダ、受信機ユニット、及び以下にさらに詳細に述べられるように、本発明の種々の態様、実施形態、及び特徴を実行する装置及びエレメントを与える。
【発明を実施するための最良の形態】
【００１２】
本発明の特徴、性質、及び利点は、図面を使用して以下に述べる詳細な説明から、さらに明確になるであろう。図面では、一貫して対応するものは同じ参照符号で識別する。
【００１３】
ここに説明される本発明のブロックデコーディング技術は、種々のコーディングスキームに対して使用される可能性がある。明瞭化のために、これらの技術は、周期的な冗長性チェック（ＣＲＣ）行コード及びリニアブロック列コードから成る特定の２次元積−コーディングスキームに対して説明される。発明のブロックデコーディング技術が使用される可能性がある通信システムの一例が、以下に説明される。
【００１４】
図１は、本発明の種々の態様及び実施形態を実行することができる送信機ユニット１１０及び受信機ユニット１５０のブロック図である。送信機ユニット１１０において、データソース１１２は、外部エンコーダ１２０へ（例えば、特定の長さのフレームの）データを与える。外部エンコーダ１２０は、ブロックエンコーダ１２２及びＣＲＣエンコーダ１２４を含む。ブロックエンコーダ１２２は、特定の数のデータフレームの各ブロックを受信し、コード化して、対応するブロック−コード化されたデータブロックを与える。ある実施形態では、データブロック中のデータは、（ＮＢビットを具備する各シンボルを有する）シンボルを形成するために先ずグループ化され、データブロック中のＫのシンボルの各列は、特定の（Ｎ，Ｋ）のリニアブロックコードでコード化されて、対応するＮのシンボルのコードワードを与える。ブロック−コード化されたデータブロックは、このようにしてＮ行のシンボルを具備する。体系的なブロックコードに対して、はじめのＫ行は、データ行であり、残りの（Ｎ−Ｋ）行は、パリティ行である。
【００１５】
ブロック−コード化されたデータブロック中のＮのフレームのそれぞれに対して、ＣＲＣエンコーダ１２４は、フレーム中のデータビットに基づいてＣＲＣビットのセットを発生し、そしてＣＲＣビットをフレームの終わりに添付する。各フレーム中に含まれたＣＲＣビットは、受信機ユニットにおいてフレームのエラー検出のために使用される。ＣＲＣエンコーダ１２４は、コード化されたブロックを与え、そのそれぞれは、一方向（水平方向）にＣＲＣ−コード化され、そして他の方向（垂直方向）にブロック−コード化される。
【００１６】
ブロックエンコーダ１２２は、リード−ソロモンコード（これは、データ送信に対して一般に使用される）、ハミング(Hamming)コード、ＢＣＨ（ボーズ(Bose)、チャウドゥーリ(Chaudhuri)、及びホッケンゲム(Hocquenghem)）コード、若しくはある他のコードのような任意のリニアブロックコードを実行する可能性がある。ここで説明される発明のブロックデコーディング技術は、任意のリニアブロックコードに対して使用される可能性があり、そして体系的なブロックコードに対して有利に使用される可能性がある。
【００１７】
図１に示された実施形態では、コード化されたブロックは、内部エンコーダ１３０に与えられ、内部エンコーダ１３０は、インターリーバ１３２及びコンボルーショナルエンコーダ１３４を含む。インターリーバ１３２は、各コード化されたブロック中のビットを組み替え（すなわち、並べ替え）そしてコンボルーショナルエンコーダ１３４にインターリーブされたビットを与える。コンボルーショナルエンコーダ１３４は、その後、固有のコンボルーショナルコードにしたがってそのビットをコード化する。インターリービングは、時間ダイバーシティを与え、エラーを低下させる。エラーは、コンボルーショナルデコーダからバーストで発生する可能性がある。
【００１８】
内部エンコーダ１３０は、付加的なエラー訂正能力を与えるために使用される可能性があるけれども、ここに説明される発明のブロックデコーディング技術は、エンコーダ１３０によって与えられた内部コーディングを含まないコーディングスキームに対して使用される可能性がある。内部エンコーダ１３０は、点線の四角で表されたように、それゆえオプションである。同様に、外部エンコーダ１２０に与えられたデータも、特定のコードを使用して前にコード化されているデータを（すなわち、“行”データ若しくは情報ビットの代わりに）表す可能性がある。
【００１９】
内部エンコーダ１３０からのコード化されたデータは、その後、モジュレータ／送信機（Ｍｏｄ／ＴＭＴＲ）１４０に与えられる。モジュレータ／送信機１４０は、コード化されたデータを変調して（例えば、カバーし拡散して）変調されたデータを与え、そして変調されたデータをさらに調整して（例えば、1若しくはそれ以上のアナログ信号に変換し、フィルタし、増幅し、アップコンバートし、そして直交変調して）、（例えば、ワイアレス）通信チャネル上での送信に対して適した変調された信号を与える。
【００２０】
受信機ユニット１５０において、送信された変調された信号は、アンテナ１５２によって受信され、そして受信機／デモジュレータ（ＲＣＶＲ／Ｄｅｍｏｄ）１５４へ与えられる。受信機／デモジュレータ１５４は、受信した信号を調整し（例えば、フィルタし、増幅し、そしてダウンコンバートし）、そして調整された信号をディジタル化して、データサンプルを与える。受信機／デモジュレータ１５４は、データサンプルをさらに処理する（例えば、デスプレッドする及びデカバーする）ことが可能であり、復調されたデータを与える。
【００２１】
図１に示された実施形態では、復調されたデータは、内部デコーダ１６０へ与えられる。内部デコーダ１６０は、ビタビデコーダ１６２及びデインターリーバ１６４を含む。ビタビデコーダ１６２は、送信機ユニット１１０において使用されたコンボルーショナルコードに対してデコーディングを実施し、デインターリーバ１６４は、インターリーバ１３２によって実施されたものに対して補完的な方式でデコードされたビットを並べ替える。デインターリーブされたデータは、その後、外部デコーダ１７０へ与えられる。
【００２２】
外部デコーダ１７０は、ＣＲＣチェッカ１７２及びブロックデコーダ１７４を含む。送信機ユニットから送信されたコード化されたブロックに対応する各受信されたブロックに対して、ＣＲＣチェッカ１７２は、受信されたブロックの各行をチェックし、そしてその行が正しく受信されたか、エラーで（すなわち、消去されて）受信されたかの指標を与える。ＣＲＣ−チェックされたブロックは、その後、ブロックデコーダ１７４へ与えられる。ブロックデコーダ１７４は、以下に詳細に述べられるように、ブロックについて消去箇所−及び−単一−エラー若しくは消去箇所−限定訂正ブロックデコーディングを実施する。ブロックデコーダ１７４からのデコードされたデータは、その後、データシンク１７６へ与えられる。
【００２３】
コントローラ１８０は、受信機ユニット１５０における種々のデコーディングを管理するために使用される可能性がある。コントローラ１８０は、外部デコーダ１７０のいくつか若しくは全てを実行するために使用されることも可能性がある。この場合に、プログラムコードおよび必要なデータは、メモリ１８２に記憶される可能性がある。メモリ１８２は、コントローラ１８０に適切に接続される。
【００２４】
図１は、本発明の種々の態様及び実施形態を実行することができる送信機及び受信機ユニットの特定の実施形態を示す。他の送信機及び受信機設計も、使用される可能性があり、本発明の範囲内である。例えば、受信機ユニットは、ＣＲＣチェッカ１７２及びブロックデコーダ１７４を含むが、内部デコーダ１６０を含まないように設計される可能性がある。
【００２５】
図２は、リニアブロックコードに対して消去箇所−限定訂正ブロックデコーディングを実施するための種々のステップを図式的に示す図である。（Ｎ，Ｋ）のリニアブロックエンコーダは、（それが周期的なコードであれば、多項式の固有のセットにしたがって）Ｋのデータシンボルの各“ブロック”をコード化して、Ｎのコードシンボルの対応するコードワードを与える。コードの最小距離、Ｄ、は、ブロックコードの消去箇所及びエラー訂正能力を決定し、そしてコードパラメータ（Ｎ，Ｋ）は、メモリの必要性を決定する。（Ｎ，Ｋ）のブロックコードが、与えられたコードワード中のＴのシンボルエラー及びＦの消去箇所を同時に訂正できることが、知られている。ここで、Ｔ及びＦは、以下の条件に適合する：
（２Ｔ＋Ｆ）≦（Ｄ−１）                               式（１）
ここに説明された発明のブロックデコーディング技術は、任意のコードレートに対して使用される可能性がある。単純化のために、レート（８，４）及びＤ＝５の最小距離を有する小さなコードが、図２に示された特定の例に対して使用される。
【００２６】
送信機ユニットにおいて、ある特定の数のデータフレームの各グループは、Ｋ×Ｌの情報ブロック、ｉＫ×Ｌ、によって表される。ある実施形態では、情報ブロックの各行は、それぞれのデータフレームに対応し、そしてそのフレーム中の全てのビットに対するＬのシンボルを含む。各シンボル（これは、情報ブロック、ｉＫ×Ｌ、中で小さな四角い箱で表される）は、ＮＢビットを具備し、使用に対して選択された特定のブロックコードに依存するＮＢに対する特定の値を有する。
【００２７】
プロックエンコーディングは、情報ブロック、ｉＫ×Ｌ、をＮ×Ｋの生成元マトリックス、ＧＮ×Ｋ、で事前に掛け算することによって実施される（ステップ１）。生成元マトリックスは、選択されたリニアブロックコードに対して決定された多項式のセットに基づいて導出される可能性がある。多項式を決定するためのそして生成元マトリックスを導出するための技術は、この分野において知られており、ここでは説明しない。情報ブロック及び生成元マトリックス中の各シンボルが、複数ビットの値である可能性があるので、エレメント毎の掛け算及びマトリックス掛け算に対する足し算は、ガロア(Galois)フィールドＧＦ（２ＮＢ）にわたって実施される。ここで、ＮＢは、各シンボルに対するビットの数である。情報ブロックでの生成元マトリックスの掛け算は、Ｎ×Ｌのコード化されたブロック、ｃＮ×Ｌ、を生成する。
【００２８】
体系的な（Ｎ，Ｋ）にブロックコードに対して、各コードワードは、Ｋのデータシンボル及び（Ｎ−Ｋ）のパリティシンボルを含む。パリティシンボルは、Ｋのデータシンボルの線形結合によって形成される。このようにして、図２に示された例に関して、コード化されたブロック、ｃＮ×Ｌ、は、情報ブロック、ｉＫ×Ｌ、中のＫのデータ行に対するＫの体系的な行、及びＫのデータ行及び生成元マトリックスに基づいて発生された（Ｎ−Ｋ）のパリティ行を含む。コード化されたブロック、ｃＮ×Ｌ、中のＬの列のそれぞれは、それぞれのコードワードに対応する。
【００２９】
図１に示されたように、コード化されたブロック、ｃＮ×Ｌ、は、送信機ユニットにおいてさらに処理され、そして受信機ユニットに送信される。受信機ユニットは、その後、補完的なプロセシングを実施して受信されたブロック、ｒＮ×Ｌ、を与える。受信されたブロック、ｒＮ×Ｌ、中の各シンボルは、コード化されたブロック、ｃＮ×Ｌ、中のシンボルに対応するが、通信チャネルによって生じる劣化に起因するエラーで受信される可能性がある。
【００３０】
受信機ユニットにおいて、受信されたブロック中の各行（例えば、各データフレーム）は、ＣＲＣチェッカ１７２によってチェックされる可能性があり、その行が正しく若しくはエラーで受信されたかどうかを決定する（ステップ２）。特定の行に対するＣＲＣがチェックされないのであれば、エラーが、その行の中の１シンボルだけ、シンボルのいくつか、若しくは全てのシンボルである可能性があっても、全体の行は、不正確に受信されたと見なされる。図２に示された例に関して、受信されたブロック、ｒＮ×Ｌ、の行２及び４は、ＣＲＣがこれらの行に対してチェックしなかったので、消去されたとしてマークされる。これらの消去された行は、影をつけられた四角い箱の行によって示される。
【００３１】
ある例では、ある行は、複数のエラーを含んでいてもＣＲＣチェックを通過する可能性がある。これは、その行中のエラーの数が選択されたＣＲＣコードのエラー検出能力を超える場合に、及びエラーに対する具体的な値がＣＲＣを（偶然に一致して）チェックするようである場合に、生じる可能性がある。そのような場合には、実際には複数の検出されなかったシンボルエラーを含む時に、その行が、正しく受信されたとして（誤って）示されるはずである。そのようなエラー行の一例が、受信されたブロック、ｒＮ×Ｌ、中の行６によって示される。ここで、３つの検出されなかったシンボルエラーが、３つの黒の四角い箱で示される。
【００３２】
消去箇所（エラーでなく）に対して訂正するだけのブロックデコーディング技術は、以下のように実施される可能性がある。先ず、受信されたブロック、ｒＮ×Ｌ、の消去された行に対応する生成元マトリックス、ＧＮ×Ｋ、の行も、消去されたとしてマークされる。図２に示された例に関して、生成元マトリックス、ＧＮ×Ｋ、の行２及び４は、ＧＮ×Ｋ中の影をつけられた箱によって示されたように、消去されたとしてマークされる。
【００３３】
消去箇所−限定訂正ブロックデコーディングにおける次のステップに対して、受信されたブロック、ｒＮ×Ｌ、のＫの未消去の行は、縮小した受信されたブロック、ｒ’Ｋ×Ｌ、を形成するために選択され、そして生成元マトリックス、ＧＮ×Ｋ、の対応するＫの行も、縮小した生成元マトリックス、Ｇ’Ｋ×Ｋ、を形成するために選択される（ステップ３）。図２に示された例に関して、受信されたブロック、ｒＮ×Ｌ、のはじめの４行の未消去行（すなわち、１，３，５及び６）は、縮小した受信されたブロック、ｒ’Ｋ×Ｌ、を形成するために選択され、生成元マトリックス、ＧＮ×Ｋ、の対応する行１，３，５，及び６は、縮小した生成元マトリックス、Ｇ’Ｋ×Ｋ、を形成するために選択される。この例において、選択された行の１つ（すなわち、行６）も、生じることがあり、検出されなかったシンボルエラーを含む。
【００３４】
縮小した生成元マトリックス、Ｇ’Ｋ×Ｋ、は、その後、反転され反転された（若しくは逆）生成元マトリックス、Ｇ’Ｋ×Ｋ−１、を導出する（ステップ４）。マトリックスの反転は、この分野において知られた方法で実施される可能性がある。反転された生成元マトリックス、Ｇ’Ｋ×Ｋ−１、は、その後、縮小した受信されたブロック、ｒ’Ｋ×Ｌ、で掛け算されて、情報ブロックの初期推定値、ｉ’Ｋ×Ｌ、を導出する（ステップ４）。情報ブロックの推定値、ｉ＾Ｋ×Ｌ、は、その後、受信されたブロック、ｒＮ×Ｌ、の消去された体系的な行（すなわち、行２及び４）を初めに推定された情報ブロック、ｉ’Ｋ×Ｌ、の対応する行で置き換えることによって導出される可能性がある（ステップ５）。
【００３５】
縮小した受信されたブロック、ｒ’Ｋ×Ｌ、中の全ての行におけるシンボルが、正しい値であるならば、推定された情報ブロック、ｉ＾Ｋ×Ｌ、は、送信された情報ブロック、ｉＫ×Ｌ、に等しくなるはずである（すなわち、ｉ＾Ｋ×Ｌ＝ｉＫ×Ｌ）。このようにして、ブロックデコーディングは、冗長パリティ行（すなわち、行５及び６）を使用することによって受信されたブロック、ｒＮ×Ｌ、中の消去箇所に対して訂正することが可能であり、消去された体系的な行（すなわち、行２及び４）を再生する。
【００３６】
しかしながら、図２に示された例に関して、縮小した受信されたブロック、ｒ’Ｋ×Ｌ、の最後の行中の検出されなかったシンボルエラーは、初めに推定された情報ブロック、ｉ’Ｋ×Ｌ、の対応する列中のエラーを結果として生じる。これらのエラーは、初めに推定された情報ブロック、ｉ’Ｋ×Ｌ、の列４，７，及び１２中の黒い四角の箱によって示される。受信されたブロック、ｒＮ×Ｌ、の行２及び４が消去されているので、これらの行は、初めに推定された情報ブロック、ｉ’Ｋ×Ｌ、の対応する行２及び４によって置き換えられる。図２に示されたように、置き換えられた行のそれぞれは、エラー行中のシンボルエラーと同数のシンボルエラーを含む。これらのエラーは、その後、次のプロセシングステージに与えられるはずである。
【００３７】
図３及び図４は、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するための種々のステップを図式的に示す。単純化のために、図３及び図４の実施形態は、図２に対して使用された同一のサンプルを使用する。これによって、受信されたブロック、ｒＮ×Ｌ、は、２つの消去された行２及び４、及び１つのエラー行６（これらは複数の検出されなかったシンボルエラーを包含する）を含む。
【００３８】
消去箇所及び単一のエラーに対して訂正するブロックデコーディング技術は、以下のようにして実施される可能性がある。はじめに、受信されたブロック、ｒＮ×Ｌ、の各行は、ＣＲＣチェッカ１７２によってチェックされる可能性があり、その行が正しく若しくはエラーで受信されたかどうかを決定する。そしてその行は、ＣＲＣがチェックしなければ、消去されたとしてマークされる（図２でステップ２）。受信されたブロック、ｒＮ×Ｌ、の未消去の体系的な行（例えば、第１のそのような行）は、その後、擬似−消去行としてマークされ（図３中のステップ３）、そしていくつかの後続のデコーディングステップに対して消去された行のように扱われる（すなわち、ステップ４及び５）。受信されたブロック、ｒＮ×Ｌ、の消去された行に対応する生成元マトリックス、ＧＮ×Ｋ、の行も、消去されたとしてマークされる（ステップ３）。図３及び図４に示された例に関して、生成元マトリックス、ＧＮ×Ｋ、の行１，２及び４は、影をつけられた四角の箱のように、消去されたとしてマークされる。
【００３９】
消去箇所−及び−単一−エラー訂正ブロックデコーディング中の次のステップに関して、受信されたブロック、ｒＮ×Ｌ、の任意のＫの未消去行は、縮小した受信されたブロック、ｒ’Ｋ×Ｌ、を形成するために選択され、そして生成元マトリックス、ＧＮ×Ｋ、の対応するＫの行も、縮小した生成元マトリックス、Ｇ’Ｋ×Ｋ、を形成するために選択される（ステップ４）。図３及び図４に示されたイグゼンプラリな実施形態に関して、受信されたブロック、ｒＮ×Ｌ、のはじめの４行の未消去行（すなわち、行３，５，６，及び７）は、縮小した受信されたブロック、ｒ’Ｋ×Ｌ、を形成するために選択され、そして生成元マトリックス、ＧＮ×Ｋ、の対応する行３，５，６，及び７は、縮小した生成元マトリックス、Ｇ’Ｋ×Ｋ、を形成するために選択される。再びこの例に対して、選択された行の１つ（すなわち、行６）は、偶然に検出されなかったシンボルエラーを含むことがある。
【００４０】
縮小した生成元マトリックス、Ｇ’Ｋ×Ｋ、は、その後、反転され反転された生成元マトリックス、Ｇ’Ｋ×Ｋ−１、を導出する（ステップ５）。次に、反転された生成元マトリックス、Ｇ’Ｋ×Ｋ−１、は、縮小した受信されたブロック、ｒ’Ｋ×Ｌ、で掛け算されて、初めに推定された情報ブロック、ｉ’Ｋ×Ｌ、を導出する（ステップ５）。
【００４１】
ブロックデコーディングの次のステップに関して、擬似−消去行（すなわち、行１）は、初めに推定された情報ブロック、ｉ’Ｋ×Ｌ、中の対応する行に対して比較される（ステップ６）。マトリックスの掛け算であるという理由で、縮小した受信されたブロック、ｒ’Ｋ×Ｌ、中のいかなるシンボルエラーは、初めに推定された情報ブロック、ｉ’Ｋ×Ｌ、中のシンボルエラーの全体の列に結果としてなる。このようにして、擬似−消去行が、初めに推定された情報ブロック、ｉ’Ｋ×Ｌ、中の対応する行に対してシンボル毎に比較される場合、エラー（すなわち、一致しなかったシンボル）は、その位置のシンボルが一致しないので、列４，７，及び１２において検出される。
【００４２】
一致しなかったシンボルを含んでいる列に対応するコードワードは、その後選択される（ステップ６）。図３及び図４に示されたイグゼンプラリな実施形態に関して、第１の一致しなかったシンボルを含んでいる列（すなわち、列４）に対応するコードワードが、選択される。計算は、その後、選択されたコードワード中のシンボルエラーの位置を見つけるために実施される。エラーの位置は、この分野で知られた種々のブロックデコーディング技術に基づいて決定される可能性がある。例えば、リード−ソロモンコードに対して、シンドロームが、コードワード中のＮのシンボルからはじめに算出され、エラー位置多項式の係数、σ（ｘ）、は、その後、シンドロームから計算され、そしてエラーロケータは、その後、これらの係数から算出される可能性がある。図３及び図４に示されたイグゼンプラリな実施形態に対して、シンボルエラーは、コードワード中の６番目のシンボル位置に位置する。
【００４３】
次のステップでは、シンボルエラーが位置している全体の行（すなわち、行６）は、消去された行としてマークされ、そして擬似−消去行（すなわち、行１）は、未消去の行としてマークされる（ステップ７）。後続の、ブロックデコーディングは、図２において上述されたように、その後処理される可能性がある。具体的には、受信されたブロック、ｒＮ×Ｌ、の任意のＫの未消去の行（すなわち、行１，３，５，及び７）は、新たな縮小した受信されたブロック、ｒ”Ｋ×Ｌ、を形成するために選択される可能性があり、そして生成元マトリックス、ＧＮ×Ｋ、の対応するＫの行も、新たな縮小した生成元マトリックス、Ｇ” Ｋ×Ｋ、を形成するために選択される。図３及び図４に示されたように、（以前に検出されなかった）シンボルエラーを有する行（すなわち、行６）は、消去された行としてマークされ、そして使用のためには選択されない。
【００４４】
新たな縮小した生成元マトリックス、Ｇ” Ｋ×Ｋ、は、その後、反転されて、反転された生成元マトリックス、Ｇ” Ｋ×Ｋ−１、を導出する（ステップ８）。反転された生成元マトリックス、Ｇ” Ｋ×Ｋ−１、は、次に縮小した受信されたブロック、ｒ”Ｋ×Ｌ、で掛け算されて、新たな初めの情報ブロックの推定値、ｉ” Ｋ×Ｌ、を導出する。情報ブロックの推定値、ｉ＾Ｋ×Ｌ、は、その後、受信されたブロック、ｒＮ×Ｌ、の消去された体系的な行（すなわち、行２及び４）を新たな初めに推定された情報ブロック、ｉ” Ｋ×Ｌ、の対応する行で置き換えることによって導出される可能性がある（ステップ９）。
【００４５】
新たな縮小した受信されたブロック、ｒ”Ｋ×Ｌ、の全ての行中のシンボルが正しい値であるので、推定された情報ブロック、ｉ＾Ｋ×Ｌ、は、送信された情報ブロック、ｉＫ×Ｌ、に等しい（すなわち、ｉ＾Ｋ×Ｌ＝ｉＫ×Ｌ）。この例では、消去箇所−及び−単一−エラー訂正ブロックデコーディングは、冗長パリティ行（すなわち、行５及び７）を使用することによって、受信されたブロック、ｒＮ×Ｌ、中の２つの消去された行及び単一のエラー行を訂正できて、消去された体系的な行（すなわち、行２及び４）を再生する。
【００４６】
一般に、消去箇所−及び−単一−エラー訂正ブロックデコーディングは、下記によって達成される。（１）冗長パリティ行を使用して、未消去の体系的な行に対する推定値を導出する、（２）未消去の体系的な行をその推定値に対して比較して、いずれかの一致しなかったシンボル（若しくは、エラー）の位置を決定する、（３）一致しなかったシンボルを含んでいるコードワード（若しくは、列）中のシンボルエラーの位置を見つける、（４）シンボルエラーを含んでいる全体の行を消去されたとしてマーキングする、そして（５）受信されたブロックの未消去の行に基づいて体系的な行に対するブロックデコーディングを実施する。
【００４７】
本発明の消去箇所−及び−単一−エラー訂正ブロックデコーディング技術は、従来のデコーディング技術より計算上の集中が少ない（検出されなかったシンボルエラーが擬似−消去行を使用してその後検出されるのであれば、エラー位置を見つけることは、１つのコードワードに対してだけある部分が実施されるためである）。擬似−消去行は、検出されなかったシンボルエラーが位置する正確なコードワード（若しくは、２次元ブロック中の正確な列）を正確に位置を示すために使用される可能性があり、そしてコードワード（若しくは、２次元ブロックの正確な行）中のシンボルエラーの正確な位置は、コードワードにおいてブロックエラー位置選定を実施することによって決定される可能性がある。（以前に検出されなかった）シンボルエラーを含んでいる行は、その後、消去されたとしてマークされ、そして消去箇所−限定訂正ブロックデコーディングは、受信されたブロックにおいて実施される可能性がある。
【００４８】
図３のステップ３から６は、検出されなかったシンボルエラーが見つけられる可能性がある特定の列を効率的に決定する。他のスキームも、エラー列を決定するために使用される可能性がある。そしてこれは、本発明の範囲内である。
【００４９】
さらに、ステップ６において、擬似−消去箇所は、全てが一時に（すなわち、全体の行に対して）導出される必要がない。その代わりに、擬似−消去箇所は、一回に１つのシンボルを導出する可能性があり、そして受信された擬似−消去行中の対応するシンボルと比較される可能性がある。そのようにして、エラーが第１の列の１つに位置するのであれば、行中の残りの擬似−消去箇所は、導出される必要がない。
【００５０】
情報ブロックの初期推定値、ｉ’Ｋ×Ｌ、の導出、及び推定された情報ブロック、ｉ＾Ｋ×Ｌ、の形成は、概念的なステップである。これらのステップは、図３及び図４の例に対して示されて、ブロックデコーディング技術のよりよい理解を与える。しかしながら、実行面では、導出されたｉ’Ｋ×Ｌの行だけが、オリジナルの受信されたブロック中で消去されたものである。
【００５１】
受信されたブロック中の（Ｋ＋１）の良い行だけ（若しくは、ＣＲＣチェックされたフレーム）が、消去箇所−及び−単一−エラーデコーディングを実施する必要があるために、（Ｋ＋１）の良い行が受信されるとできるだけ早く受信機ユニット（例えば、図１の受信機／デモジュレータ１５４，ビタビデコーダ１６２，デインターリーバ１６４、及びＣＲＣチェッカ１７２）のフロントエンドを切ることができる。これは、受信機ユニットの電力を節約する。
【００５２】
図５は、発明の１実施形態にしたがった、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセス４００の単純化したフロー図である。はじめに、ステップ４１２において、複数のコードワードで構成されるコード化されたブロックが受信され、そして受信されたブロック中の消去された行が決定される。消去された行は、受信されたブロックの各行にＣＲＣチェックを実施することによって、若しくは他のあるメカニズムによって決定される可能性がある。
【００５３】
ステップ４１４において、検出されなかったシンボルエラーを含んでいる受信されたブロックの列に対応するコードワードは、その後、識別される。この検出されなかったシンボルエラーは、受信されたブロックの消去された行に含まれなかったものである。その列は、上述したように擬似−消去行を使用して、若しくは他の手段によって識別される可能性がある。ステップ４１６において、コードワード中のシンボルエラーの位置は、その後、（例えば、この分野で知られた任意の技術を使用して）決定される。ステップ４１８において、シンボルエラーを含んでいる受信されたブロックの行は、その後、消去された行としてマークされる。ステップ４２０において、ブロックデコーディングは、その後、シンボルエラーを含んでいる新たにマークされた消去された行を有する受信されたブロックに対して実施される可能性がある。
【００５４】
図６及び図７は、本発明の実施形態にしたがって、（Ｎ，Ｋ）のリニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセス５００の詳細なフロー図を示す。はじめに、ステップ５１２において、複数の（Ｌの）コードワードからなるコード化されたブロックが受信され、そして受信されたブロック中の消去された行が決定される。
【００５５】
その後、ステップ５１４において、受信されたブロック中の消去された行の数が（Ｄ−１）より大きいかどうか、決定がなされる。式（１）に上記したように、適切に設計されたブロックコードは、コードワード中の（Ｄ−１）までの消去されたシンボルを訂正できる可能性がある。それゆえ、ステップ５１６において示されたように、消去された行の数が（Ｄ−１）を超えるのであれば、全ての消去された行に対する訂正は、コード距離が大きいので不可能である。プロセスは、その後、終了する。
【００５６】
そうでなければ、ステップ５１８において、消去された行の数が（Ｄ−１）に等しい若しくは小さければ、受信されたブロック中の消去された行の数が（Ｄ−３）より大きいかどうか、決定がなされる。式（１）にこれも上記されているように、適切に設計されたブロックコードは、コードワード中の（Ｄ−３）までの消去されたシンボル及び１個のエラーシンボルを訂正できる可能性がある。それゆえ、消去された行の数が（Ｄ−２）若しくは（Ｄ−１）に等しければ、全ての消去された行に対する消去箇所−限定訂正が、可能であり、ステップ５２２において始まり実施される可能性がある。
【００５７】
そうでなければ、ステップ５２０において、消去された行の数が（Ｄ−３）に等しい若しくは小さければ、受信されたブロック中の消去された行の数が（Ｋ−１）より大きいかどうか、決定がなされる。体系的な行の１つが擬似−消去行としてその後使用されて、検出されなかったシンボルエラーの列の位置を決めるのであれば、そして未消去の体系的な行が擬似−消去行としての使用に対して利用できないのであれば、全ての消去された行に対して消去箇所−限定訂正がまだ可能であり、ステップ５２２において始まり再び実施される可能性がある。
【００５８】
そうでなければ、消去された行の数が（Ｄ−３）に等しい若しくは小さく、そして少なくとも1の未消去の体系的な行が利用できるのであれば、消去箇所−及び−単一−エラー訂正ブロックデコーディングは、ステップ５３２において始められ、受信されたブロックに実施される可能性がある。一般に、消去箇所−及び−単一−エラー訂正ブロックデコーディングは、可能なときにいつでも実施される可能性があり、消去箇所−限定訂正ブロックデコーディングは、可能であれば、そして消去箇所−及び−単一−エラー訂正ブロックデコーディングが実施できないのであれば、実施される可能性がある。
【００５９】
消去箇所−限定訂正ブロックデコーディングを実施するために、ステップ５２２において、縮小した生成元マトリックス、Ｇ’Ｋ×Ｋ、は、受信されたブロック、ｒＮ×Ｌ、の任意のＫの未消去の行に対応する生成元マトリックス、ＧＮ×Ｋ、のＫの行を選択することによってはじめに形成される。ステップ５２４において、縮小した生成元マトリックスは、その後、反転される。受信されたブロックの消去された体系的な行は、その後、情報ブロックの初期推定値、ｉ’Ｋ×Ｌ、の対応する行から導出される。ステップ５２６において、情報ブロックの初期推定値、ｉ’Ｋ×Ｌ、は、逆生成元マトリックス、Ｇ’Ｋ×Ｋ−１、を受信されたブロック、ｒＮ×Ｌ、のＫの対応する未消去の行によって形成された縮小した受信されたブロック、ｒ’Ｋ×Ｌ、で掛け算することによって導出される。縮小した受信されたブロック、ｒ’Ｋ×Ｌ、の行中に検出されなかったシンボルエラーがなければ、初めに推定された情報ブロック、ｉ’Ｋ×Ｌ、は、受信されたブロック中の全ての消去された体系的な行に対する訂正を含むはずである。消去箇所−限定訂正ブロックデコーディングは、その後、終了する。
【００６０】
消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するために、受信されたブロック中の検出されなかったシンボルエラーの行の位置は、はじめに決定される。これは、以下のようにして達成される可能性がある。ステップ５３２において、まず、未消去の体系的な行（例えば、受信されたブロック中の第１のそのような行）は、擬似−消去行として選択される。この行は、以下のステップで消去された行として扱われて、検出されなかったシンボルエラー位置を決定する。ステップ５３４において、縮小した生成元マトリックス、Ｇ’Ｋ×Ｋ、は、その後、受信されたブロックの任意のＫの未消去の行に対応する生成元マトリックス、ＧＮ×Ｋ、のＫ行を選択することによって形成される。ステップ５３６において、縮小した生成元マトリックスは、その後反転される。ステップ５３８において、擬似−消去行の推定値は、その後、逆生成元マトリックス、Ｇ’Ｋ×Ｋ−１、を受信されたブロック、ｒＮ×Ｌ、のＫの対応する未消去の行によって形成された縮小した受信されたブロック、ｒ’Ｋ×Ｌ、で掛け算することによって導出される。擬似−消去行の推定値だけが必要であるので、Ｇ’Ｋ×Ｋ−１とｒ’Ｋ×Ｌとのマトリックス掛け算は、ｒ’Ｋ×Ｌの全ての列に対してＧ’Ｋ×Ｋ−１の１行だけ（そしてマトリックス全体ではなく）に対して実施される可能性がある。
【００６１】
ステップ５４０において、擬似−消去行は、その後、その推定値に対して比較される。比較は、最初の一致しないシンボルが検出されるまでシンボル毎に実施される可能性がある。ステップ５４２において、その後、擬似−消去行中にいずれかの一致しないシンボルがあるかどうか、決定がなされる。一致しないシンボルがなければ、受信されたブロック中に検出されなかったシンボルエラーがない（若しくは、１列中に１以上のシンボルエラーがある）、そして、プロセスは、ステップ５２６に進んで、消去された体系的な行を導出する。
【００６２】
そうでなければ、ステップ５４２で決定されたように、擬似−消去行中に少なくとも1の一致しないシンボルがあるならば、ステップ５４４において、受信されたブロック中に検出されなかったシンボルエラーが存在し、そしてこれらのエラーの行位置が、次に決定される。これは、擬似−消去行中の一致しないシンボル（例えば、第１の一致しないシンボル）の位置を識別することによって、この一致しないシンボルを含んでいるコードワード（若しくは受信されたブロックの列）を検索することによって、そしてこの分野で知られた任意の技術に基づいてこのコードワード上のエラー位置選定を実施することによって達成される可能性がある。コードワード中のシンボルエラーは、このようにして位置を見つけられ、そしてステップ５４６において、このシンボルエラーを含んでいる受信されたブロックの全体の行は、消去された行としてマークされる。
【００６３】
ステップ５４８において、その後、擬似−消去行がシンボルエラーを有するものであるかどうかが、決定される。もし答えがイエスであれば、縮小した受信されたブロック及び縮小した生成元マトリックスが形成された時に、エラー行は、すでに擬似−消去箇所として除かれている。それゆえ、Ｇ’Ｋ×Ｋ−１は正しく、ｒ’Ｋ×Ｌはいかなる検出されなかったエラーを含まない。プロセスは、その後、ステップ５２６へ進む。そこで、消去された体系的な行が導出される。そうでなければ、ステップ５５０において、新たな縮小した生成元マトリックス、Ｇ”Ｋ×Ｋ、は、その後、未だ消去されていない受信されたブロック、ｒＮ×Ｌ、の任意のＫ行に対応する生成元マトリックス、ＧＮ×Ｋ、のＫ行を選択することによって形成される。ステップ５５２において、新たな縮小した生成元マトリックスは、その後、反転される。
【００６４】
プロセスは、その後、ステップ５２６へ進む。ここで、受信されたブロックの消去された体系的な行は、新たな情報ブロックの初期推定値、ｉ” Ｋ×Ｌ、の対応する行から導出される。新たな情報ブロックの初期推定値、ｉ” Ｋ×Ｌ、は、新たな逆生成元マトリックス、Ｇ” Ｋ×Ｋ−１、を受信されたブロック、ｒＮ×Ｌ、のＫの対応する未消去の行によって形成された新たな縮小した受信されたブロック、ｒ”Ｋ×Ｌ、で掛け算することによって導出される。
【００６５】
図６、図７に示されたプロセスに対して種々の変形がなされる可能性がある。例えば、ステップ５３２から５４６を繰り返すことが可能であり、複数のエラー行を検出する可能性がある。
【００６６】
本発明のブロックデコーディング技術は、エラー検出コード及びブロックコードからなる連鎖状コードに対して有効に使用される可能性がある。エラー検出コーディングは、情報ブロックの一つの（例えば、水平）次元で実施される可能性があり、そしてブロックコーディングは、情報ブロックの他の（例えば、垂直）次元で実施される可能性がある。発明のブロックデコーディング技術は、エラー検出デコーディングプロセスが捕捉することに失敗したエラーを認識するため及び位置を見つけるため、及びブロックデコーディングプロセスからこれらのシンボルエラーを削除するために使用される可能性がある。このようにして、発明のブロックデコーディング技術は、エラーを検出することの失敗により生じた問題を改善できる。このエラーは、削除箇所に対してだけ訂正できるがエラーを訂正できない従来のブロックデコーディング技術によって取り扱うことができない。
【００６７】
ここに説明された本発明のブロックデコーディングは、計算することにおいて効率的であり、マイクロプロセッサ上で実行されるソフトウェアに基づいたインプリメンテーションに対してよく適している可能性がある。計算上の効率性を定量化するために、図６及び図７のフロー図におけるいくつかのステップによって実施された掛け算−累積演算の数が、以下に与えられる。
【００６８】
ステップ 掛け算−累積演算の数
５２４，５３６，５５２  ＫＰｓｙｓ２（各ステップに対して）
５３８                  ＫＬ
５４４                  （Ｐ＋２）（Ｎ−１）＋Ｐ（Ｐ＋１）＋１
（リード−ソロモンコードに対して）
５２６                  ＫＬＰｓｙｓ
ここで、
Ｎは、コードワード長さであり；
Ｋは、コードワード中の情報シンボルの数であり；
Ｒは、パリティシンボルの数（すなわち、Ｒ＝Ｎ−Ｋ）であり；
Ｌは、コード化されたブロック当りのコードワードの数であり；
Ｐは、受信されたブロック中の消去された行の数であり；そして
Ｐｓｙｓは、受信されたブロック中の消去された体系的な行の数である。
【００６９】
ここに説明された本発明のブロックデコーディング技術は、種々の通信及びデータ送信システムに対して使用される可能性がある。例えば、これらの技術は、ＣＤＭＡ，ＦＤＭＡ，及びＴＤＭＡシステムのようなワイアレス通信システムに対して有効に使用される可能性がある。さらに、ここに説明されたデコーディング技術は、ダウンリンク（すなわち、順方向リンク）に対するターミナル（例えば、セルラ電話のようなワイアレス装置）中で、若しくはワイアレス通信システム中のアップリンク（すなわち、逆方向リンク）に対する基地局若しくはアクセスポイントにおいて実行される可能性がある。
【００７０】
上記したように、ここに説明された本発明のブロックデコーディング技術は、種々の手段によって実行される可能性がある。例えば、これらの技術は、ハードウェア、ソフトウェア、若しくはこれらの組み合わせで実行される可能性がある。ハードウェア実行に関して、いくつかの若しくは全てのブロックデコーディングを実施するために使用される素子は、1若しくはそれ以上のアプリケーションスペシフィック集積回路（ＡＳＩＣ）、ディジタルシグナルプロセッサ（ＤＳＰ）、ディジタルシグナルプロセシングデバイス（ＤＳＰＤ）、プログラマブルロジックデバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロ−コントローラ、マイクロプロセッサ、ここに記述した機能を実施するために設計された他の電子ユニット、若しくはこれらの組み合わせの中で、実行される可能性がある。ハードウェア（例えば、ＡＳＩＣ若しくはＤＳＰ）は、1若しくはそれ以上の機能ユニットを含む可能性がある。機能ユニットは、上述したプロセシングを包括的に実施して、本発明のブロックデコーディングを実行する。例えば、あるユニットは、行に関するエラーデコーディングを実施するために与えられる可能性があり（例えば、ＣＲＣチェッカ１７２）、他のあるユニットは、列に関するブロックデコーディングを実施するために与えられる可能性がある（例えば、ブロックデコーダ１７４）、等。
【００７１】
ソフトウェア実行に関して、本発明のブロックデコーディング技術は、ここで説明した計算及び機能を実施するモジュール（例えば、手順、機能、その他）を使用して実行される可能性がある。ソフトウェアコードは、メモリユニット（例えば、図１のメモリ１８２）中に記憶される可能性があり、プロセッサ（例えば、コントローラ１８０）によって実行される可能性がある。メモリユニットは、プロセッサの中で若しくはプロセッサの外で、この場合には、この分野で知られた種々の手段を介してプロセッサに通信的に接続されることができ、実行される可能性がある。
【００７２】
開示された実施形態のこれまでの記述は、この分野に知識のあるいかなるものでも、本発明を作成する若しくは使用することを可能にするために与えられる。これらの実施形態への種々の変形は、この分野に知識のある者に容易に実現されるであろう。そして、ここに規定された一般的な原理は、本発明の精神若しくは範囲から逸脱しないで他の実施形態に適用される可能性がある。そのようにして、本発明は、ここに示された実施形態に制限されることを意図するのではなく、ここに開示された原理及び卓越した特徴に矛盾のない広い範囲に一致する。
【図面の簡単な説明】
【００７３】
【図１】図１は、本発明の種々の態様及び実施形態を実行できる送信機ユニット及び受信機ユニットブロック図である。
【図２】図２は、リニアブロックコードに対する削除箇所−限定訂正ブロックデコーディングの実施に関する種々のステップを図式的に示した図である。
【図３】図３は、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するための種々のステップを図式的に示す。
【図４】図４は、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するための種々のステップを図式的に示す。
【図５】図５は、リニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセスの実施形態の単純化したフロー図である。
【図６】図６は、（Ｎ，Ｋ）のリニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセスの実施形態の詳細なフロー図を示す。
【図７】図７は、（Ｎ，Ｋ）のリニアブロックコードに対する消去箇所−及び−単一−エラー訂正ブロックデコーディングを実施するためのプロセスの実施形態の詳細なフロー図を示す。
【符号の説明】
【００７４】
１１０…送信機ユニット，１２０…外部エンコーダ，１３０…内部エンコーダ，１５０…受信機ユニット，１６０…内部でコーダ，１７０…外部デコーダ。
【図１】
2006501696.tif 000003
【図２】
2006501696.tif 000004
【図３】
2006501696.tif 000005
【図４】
2006501696.tif 000006
【図５】
2006501696.tif 000007
【図６】
2006501696.tif 000008
【図７】
2006501696.tif 000009
【国際調査報告】
2006501696.tif 000010
2006501696.tif 000011
2006501696.tif 000012