JP2006004030A - Information processing device, method, and program - Google Patents
Information processing device, method, and program Download PDFInfo
- Publication number
- JP2006004030A JP2006004030A JP2004177740A JP2004177740A JP2006004030A JP 2006004030 A JP2006004030 A JP 2006004030A JP 2004177740 A JP2004177740 A JP 2004177740A JP 2004177740 A JP2004177740 A JP 2004177740A JP 2006004030 A JP2006004030 A JP 2006004030A
- Authority
- JP
- Japan
- Prior art keywords
- error
- parity
- decoding
- unit
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、CIRC(Circular Interleave Reed-solomon Code)などの符号化方式を適用したときの復号時におけるエラー訂正に用いて好適な情報処理装置および方法、並びにプログラムに関する。 The present invention relates to an information processing apparatus and method, and a program, and more particularly to an information processing apparatus and method suitable for error correction at the time of decoding when an encoding method such as CIRC (Circular Interleave Reed-solomon Code) is applied. , As well as programs.
例えばCD(Compact Disc)プレーヤなどの所定の情報を処理する情報処理装置等では、取り扱う記録媒体の製造過程または使用中に生ずる許容範囲を越える傷等によるエラーを訂正するためのエラー訂正方法としてCIRCを使っている。例えば、CD方式に関するCIRCは、高いランダムエラーの訂正能力を有するエラー訂正符号であるリードソロモン(Reed-solomon)符号と、バーストエラーをインタリーブによりランダムエラーに変換する循環インタリーブ方式を組み合わせたものが用いられている。 For example, in an information processing apparatus or the like that processes predetermined information such as a CD (Compact Disc) player, CIRC is used as an error correction method for correcting an error caused by a scratch that exceeds an allowable range during the manufacturing process or use of a recording medium to be handled. Is used. For example, the CIRC related to the CD method uses a combination of a Reed-solomon code that is an error correction code having a high random error correction capability and a cyclic interleaving method that converts a burst error into a random error by interleaving. It has been.
図1は、CD方式のCIRCでエラー訂正するエンコーダ10の構成の一例を示す図である。CD方式のCIRCにおいては、L・Rチャンネルのそれぞれ6サンプル、いわゆる16ビットで表示されるオーディオ信号12サンプル分が一つの単位として形成される。各16ビットデータは、上位8ビットと下位8ビットに分けられ、各8ビットのデータが1つのシンボルとして取り扱かわれる。
FIG. 1 is a diagram illustrating an example of a configuration of an
図1に示すように、12サンプル分は24シンボルで形成される。このような24シンボルのデータのうち先頭から偶数であるサンプル時間のデータは、インタリーブ部11により2ワード遅延された後、24シンボルデータが交差され、隣接したデータが互いに一定間隔で離れるように配置される。このように交差され配置された24シンボルデータから、C2符号部12により、第1エラー訂正符号C2が構成される。
As shown in FIG. 1, 12 samples are formed by 24 symbols. The data of the sample time that is an even number from the beginning of such 24 symbol data is delayed by 2 words by the
このC2は、n=28、k=24で冗長度が4であるリードソロモン符号であり、最小距離は5である。C2のパリティをQと表示する。第1チェックワード列、即ち4シンボルデータであるQパリティは、24シンボルデータの中央に配置される。次いで、Pパリティ4シンボルと、24シンボルデータの総28シンボルデータが、遅延部13により、シンボル毎にそれぞれ異なる量の差等遅延されインタリーブされる。
This C2 is a Reed-Solomon code with n = 28, k = 24 and redundancy of 4, and the minimum distance is 5. The parity of C2 is denoted as Q. The first check word string, that is, Q parity which is 4 symbol data is arranged at the center of 24 symbol data. Next, a total of 28 symbols of
差等遅延は4ワードの一定遅延量Dを基本単位で1番目シンボルデータを除いた2番目シンボルデータから順次に1D、2D、3D、4D・・・・・26Dおよび27Dの遅延量で差等遅延させる。このように差等遅延された28シンボルデータから第2エラー訂正符号C1が、C1符号部14により構成される。このC1は、n=32、k=28で冗長度が4であるリードソロモン符号とされ、最小距離は5とされる。
Difference equal delay is a constant delay amount D of 4 words in order of the delay amount of 1D, 2D, 3D, 4D... 26D and 27D from the second symbol data excluding the first symbol data in the basic unit. Delay. The second error correction code C1 is configured by the
C1のパリティをPとする。第2チェックワード列、即ち4シンボルデータであるPパリティは、28シンボルデータの最終シンボルデータの次に配置される。次いで、出力部15により、偶数番目のシンボルデータが1ワードずつ遅延され、総32シンボルデータが発生されることにより符号化が完了される。
Let P be the parity of C1. The second check word string, that is, the P parity which is 4 symbol data is arranged next to the final symbol data of 28 symbol data. Next, the
このようにして符号化されたデータは、図2に示すようなデコーダにより復号される。図2は、CD方式のCIRCでエラー訂正するデコーダ20の構成の一例を示す図である。
The data encoded in this way is decoded by a decoder as shown in FIG. FIG. 2 is a diagram showing an example of the configuration of the
エンコーダ10で符号化された32シンボルデータは、基本的に、エンコーダで行われた処理の逆の処理が行われることによりデコードされる。図2に示したデコーダ20において、W、PおよびQと表示される32シンボルデータ、即ちデータ列は、光ディスクからピックアップされ復調された信号である。Wと表示された24シンボルデータ、即ちデータワード列はオーディオデータであり、PおよびQはエラー検出および訂正のためのパリティーデータ、即ち第1および第2チェックワード列である。
The 32 symbol data encoded by the
32シンボルデータは、デコーダ20に供給される。デコーダ20は、入力部21(デスクランブル部21aとインバータ部21bから構成される)、第1のデコーダとしてのC1復号部22、第1の遅延部としてのデインタリービング部23、第2のデコーダとしてのC2デコーダ24、出力部としての逆交差遅延部25より構成される。
The 32 symbol data is supplied to the
デスクランブル部21aは、16個の1ワード遅延線で構成され、スクランブルされた32シンボルデータのスクランブルを解除するために、先頭から偶数番目のシンボルデータを、1ワードずつ遅延させる。即ち、CD方式において光ディスク上に形成されたピット(pit)の大きさは8ビット以内なので、信号処理単位を8ビット=1シンボルデータにすれば、光ディスクのスクラッチによるエラーは、殆ど1シンボル単位となる。
The
シンボルとシンボルの間にスクラッチがあったとすれば2シンボルのエラーになる。したがって、このような連続エラーを分散するためには、シンボル単位の遅延を行うが、これをスクランブル処理とし、再生時にはスクランブル処理を解除するためにデスクランブル処理が行われる。 If there is a scratch between symbols, an error of 2 symbols results. Therefore, in order to disperse such a continuous error, a delay in symbol units is performed. This is a scramble process, and a descramble process is performed to release the scramble process during reproduction.
インバータ部21bは、Qパリティの4シンボルデータとPパリティの4シンボルデータの0と1を反転させる。これは符号化時に固定パターンとバーストエラーに対する対策の一環として、P・Qの8シンボルデータの0と1を反転させたものを復元するためのものである。
The
C1復号部22は、32シンボルデータのうちPパリティの4シンボルデータを用いて残りの28シンボルデータのバーストエラーを検出すると共にランダムエラーも訂正する。この際のエラー訂正は、パリティーチェック行列、即ちリードソロモンコードにより4個のシンドロームが発生されることにより行われる。2つ以上のシンボルエラーが生じているときのデータブロックは、エラー訂正不能と判断され、28シンボルデータは訂正されないまま次段に伝送される。ここでデータ列の総てのワードに標識(最小減1ビット)が誤差の有無を表示するように加算される。
The
デインタリービング部23は、C1復号部22から伝送された28シンボルデータを、差等遅延させインタリービングを解除する。即ち、光ディスクの再生中に生ずる殆どのエラーは、スクラッチ、埃などが原因であると見られるが一度欠陥が生ずると近接した多数のシンボルが一遍に損傷される。同一のデータブロック内で多くのシンボルが損傷された場合、エラー検出や訂正が不可能になる。
The
記録(エンコード)時に同一のデータブロック内のシンボルを他のデータブロックに分散させ記録し、再生時には分散されたシンボルを本来のデータブロック位置に復元させる。この復元過程をデインタリーブと称する。 During recording (encoding), symbols in the same data block are dispersed and recorded in other data blocks, and during reproduction, the dispersed symbols are restored to their original data block positions. This restoration process is called deinterleaving.
デインタリービング部23は、28シンボルデータを差等遅延させるための27D、26D、25D・・・・2D、1D(Dは4ワードの一定遅延量の基本単位)の他の遅延時間を有する遅延線で第1乃至第27伝送チャンネルより構成される。
The
C2復号部24は、インタリービングが解除され、即ち28データワードの総てが同一に27Dの遅延時間に遅延され、本来のデータブロック位置に復元された28シンボルデータのうちQパリティの4シンボルデータを用いてリードソロモン符号と入力28ワードから4個のシンドロームを発生して最大4シンボルエラーまで訂正する。ここで誤差の矯正されたワードに関する標識は消されるが、矯正できない誤差ワードに対する標識は消されない。
The
逆交差遅延部25は、C2復号部24から供給される24シンボルデータブロック内で本来の位置に復元させるために互いに交差させ、符号化の時間軸上に隣接したシンボルデータを2ワード遅延処理により分散させたものを本来の位置に復元させるために2ワード遅延処理がなされないシンボルデータを2ワード遅延処理する。このような遅延処理は、訂正不能のエラーデータを再生時に連続に出力させないためである。
The inverse
このようにデコードが行われることにより、エラーが訂正されたデータが生成され、そのデータに基づく音声が、ユーザに提供されることになる。 By performing decoding in this way, data in which the error is corrected is generated, and sound based on the data is provided to the user.
しかしながら、光ディスク上に多くのエラーデータが存する場合など、前記のC1及びC2エラー訂正能力では訂正できないエラーデータが存することがある。そのような場合、訂正されないエラーデータにより本来のデータとは異なるデータが生成され、生成されたデータから再生されたオーディオ信号には雑音が含まれてしまう。 However, there may be error data that cannot be corrected by the C1 and C2 error correction capability, such as when there is a lot of error data on the optical disk. In such a case, data different from the original data is generated by the error data that is not corrected, and the audio signal reproduced from the generated data includes noise.
そのようなエラーを訂正しきれない状況が発生しないようにするために、C1やC2のエラー訂正(CIRCによるエラー訂正)を1回だけでなく2回(もしくは、複数回)行うことが提案されている。(例えば、特許文献1参照)
しかしながら、特許文献1に記載のようにCD方式のCIRCによるエラー訂正を繰り返して行う場合、2回目のC1訂正でC1のパリティ部分のエラーポインタが存在しな状態で、2回目のC1訂正が行われることになる。
However, when error correction by CD-type CIRC is repeatedly performed as described in
1回目のC1で訂正不能時にエラーポインタを全てのシンボルに適応すると、C1パリティ以外のシンボルは、C2訂正で、違うブロックとの組み合わせで訂正が行われてしまうことになる。そのため、エラーでない箇所や、エラー訂正された箇所のエラーポインタはリセットされてしまうことがある。しかしながら、C1パリティは、C2訂正に含まれていないのでリセットされることはなく、エラーが潜んでいる可能性のある1回目と同じものが、そのまま2回目に入力されてしまうといった課題があった。 If the error pointer is applied to all symbols when correction is impossible in the first C1, the symbols other than the C1 parity are corrected in combination with different blocks by C2 correction. For this reason, the error pointer of a part that is not an error or a part that has been error-corrected may be reset. However, since the C1 parity is not included in the C2 correction, the C1 parity is not reset, and there is a problem that the same thing as the first time in which an error may be hidden is input as it is for the second time. .
そのため、C1パリティは、4シンボルあるので4シンボルほど不確定状態の上に、パリティ以外のデータ部分にC2訂正ができないものがあった場合、4シンボル以上が不確定なので、それ以上訂正することができないという課題があった。 Therefore, since there are 4 C1 parities, if there are some 4 symbols that are indeterminate and there are some data portions other than the parity that cannot be C2 corrected, 4 or more symbols are indeterminate, so further correction is possible. There was a problem that it was not possible.
エラーポインタを使用せずに訂正を行うと、2箇所のエラー訂正しか実行できず、繰り返しによるエラー訂正は、訂正できる範囲が狭められてしまうという課題があった。 When correction is performed without using an error pointer, only two error corrections can be performed, and the error correction by repetition has a problem that the range that can be corrected is narrowed.
本発明はこのような状況に鑑みてなされたものであり、パリティ以外の部分に存在するエラーポインタの残りのエラーポインタを利用することにより、エラーポインタが存在しないパリティのどの部分が正しい値であるかを探し出し、確認することで、正しくエラーを訂正できるようにし、より精度良くエラー訂正できるようにすることを目的とする。 The present invention has been made in view of such a situation, and by using the remaining error pointers of error pointers existing in a part other than the parity, which part of the parity where no error pointer exists is a correct value. It is an object of the present invention to make it possible to correct an error correctly by searching for and confirming the error and to correct the error with higher accuracy.
本発明の情報処理装置は、パリティを除くデータ列に設定されているエラーポインタの第1の数を判定する判定手段と、パリティとデータ列に設定できるエラーポインタの第2の数より、判定手段により判定されたエラーポインタの第1の数が少ない場合、第2の数から第1の数を減算した第3の数の範囲で、パリティにエラーポインタを設定する設定手段と、設定手段によりエラーポインタが設定されたパリティを用いて復号を行う復号手段とを備えることを特徴とする。 The information processing apparatus according to the present invention has a determination unit that determines a first number of error pointers set in a data string excluding parity, and a second number of error pointers that can be set in the parity and the data string. When the first number of error pointers determined by the above is small, a setting unit that sets an error pointer in the parity within a range of a third number obtained by subtracting the first number from the second number, and an error by the setting unit And decoding means for performing decoding using parity set with a pointer.
前記設定手段は、パリティの数が、第3の数より大きい場合、エラーポインタを設定するパリティの組み合わせを変化させ、復号手段は、データ列を組み合わせ毎に復号し、その復号結果のうちの、エラー成分に0を含む組を復号結果とするようにすることができる。 When the number of parity is larger than the third number, the setting unit changes a combination of parity for setting the error pointer, and the decoding unit decodes the data string for each combination, and among the decoding results, A set including 0 in the error component can be set as a decoding result.
前記復号手段は、CIRC(Circular Interleave Reed-solomon Code)に基づきデータ列を復号するようにすることができる。 The decoding means can decode the data string based on CIRC (Circular Interleave Reed-solomon Code).
本発明の情報処理方法は、パリティを除くデータ列に設定されているエラーポインタの第1の数を判定する判定ステップと、パリティとデータ列に設定できるエラーポインタの第2の数より、判定ステップの処理により判定されたエラーポインタの第1の数が少ない場合、第2の数から第1の数を減算した第3の数の範囲で、パリティにエラーポインタを設定する設定ステップと、設定ステップの処理によりエラーポインタが設定されたパリティを用いて復号を行う復号ステップとを含むことを特徴とする。 The information processing method of the present invention includes a determination step for determining a first number of error pointers set in a data string excluding parity, and a determination step based on a second number of error pointers that can be set in parity and the data string. A setting step for setting an error pointer in the parity within a range of a third number obtained by subtracting the first number from the second number when the first number of error pointers determined by the processing of And a decoding step of performing decoding using a parity in which an error pointer is set.
本発明のプログラムは、パリティを除くデータ列に設定されているエラーポインタの第1の数を判定する判定ステップと、パリティとデータ列に設定できるエラーポインタの第2の数より、判定ステップの処理により判定されたエラーポインタの第1の数が少ない場合、第2の数から第1の数を減算した第3の数の範囲で、パリティにエラーポインタを設定する設定ステップと、設定ステップの処理によりエラーポインタが設定されたパリティを用いて復号を行う復号ステップとを含む処理をコンピュータに実行させることを特徴とする。 The program according to the present invention includes a determination step for determining a first number of error pointers set in a data string excluding parity, and a determination step process based on a second number of error pointers that can be set in parity and the data string. When the first number of error pointers determined by the step is small, a setting step for setting an error pointer in the parity within a range of a third number obtained by subtracting the first number from the second number, and processing of the setting step And a decoding step of performing decoding using a parity in which an error pointer is set.
本発明の情報処理装置および方法、並びにプログラムにおいては、符号化されているデータ列に、設定できるエラーポインタの数より少ない数のエラーポインタが設定されている場合、残りの設定できる範囲内で、エラーポインタが存在しないパリティに対して組み合わせて設定され、その設定された組毎に復号が行われる。 In the information processing apparatus and method, and the program of the present invention, when a smaller number of error pointers than the number of error pointers that can be set are set in the encoded data string, within the remaining settable range, The error pointer is set in combination for the non-existing parity, and decoding is performed for each set.
本発明によれば、精度良くエラー訂正を行うことが可能となる。 According to the present invention, it is possible to perform error correction with high accuracy.
本発明によれば、複数回のエラー訂正を行う際、パリティ自体にエラーがないか否かを確認してエラー訂正を行うことができる。このことにより、より精度良くエラー訂正することが可能となる。 According to the present invention, when performing error correction a plurality of times, it is possible to perform error correction by checking whether there is an error in the parity itself. This makes it possible to correct the error with higher accuracy.
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。 BEST MODE FOR CARRYING OUT THE INVENTION The best mode of the present invention will be described below. The correspondence relationship between the disclosed invention and the embodiments is exemplified as follows. Although there is an embodiment which is described in the specification but is not described here as corresponding to the invention, it means that the embodiment corresponds to the invention. It doesn't mean not. Conversely, even if an embodiment is described herein as corresponding to an invention, that means that the embodiment does not correspond to an invention other than the invention. Absent.
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加されたりする発明の存在を否定するものではない。 Further, this description does not mean all the inventions described in the specification. In other words, this description is an invention described in the specification and is not claimed in this application, that is, an invention that will be filed in division in the future, appearing by amendment, and added. The existence of is not denied.
本発明の情報処理装置は、例えば、図3または図4に示したデコーダ40である。本発明の情報処理装置は、パリティを除くデータ列に設定されているエラーポインタの第1の数を判定する判定手段(例えば、図6のステップS31乃至S33の処理を実行する図3の組み合わせ部42)と、パリティとデータ列に設定できるエラーポインタの第2の数より、判定手段により判定されたエラーポインタの第1の数が少ない場合、第2の数から第1の数を減算した第3の数の範囲で、パリティにエラーポインタを設定する設定手段(例えば、図6のステップS35乃至S37の処理を実行する図3の組み合わせ部41とC1復号部43)と、設定手段によりエラーポインタが設定されたパリティを用いて復号を行う復号手段(例えば、図6のステップS35乃至S37の処理を実行する図3の組み合わせ部41とC1復号部43)とを備える。
The information processing apparatus of the present invention is, for example, the
以下に、本発明の実施の形態について図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図3は、本発明を適用したデコーダ(decoder)の一実施の形態の構成を示す図である。また、図4は、図3に示したデコーダ40を機能ブロック図として表した図である。図3および図4は、同一のデコーダの構成を示している。図3および図4において、同一の箇所には同一の符号を付し、対応関係を示すこととする。
FIG. 3 is a diagram showing a configuration of an embodiment of a decoder to which the present invention is applied. FIG. 4 is a functional block diagram of the
図3(図4)に示したデコーダ40は、CD(Compact Disc)方式のCIRC(Circular Interleave Reed-solomon Code)でエンコードされたデータ(情報)を処理する情報処理装置としての機能を有し、例えば、CDプレーヤに備えられる。デコーダ40に供給されるデータは、図1に示したような構成を有するエンコーダ(encoder)10によりエンコードされ、所定の記録媒体(例えば、CD)に記録されたデータである。
The
デコーダ40は、CIRCのC1およびC2系列のエラー訂正を、それぞれ2回行う構成とされている。即ち、まず、C1およびC2系列の1番目エラー訂正を行う。その後、C2系列のエラー訂正結果の28シンボルデータが再びインタリービング(interleaving)され、そのインタリービングされた28シンボルデータが遅延された後、Pパリティの4シンボルデータで2番目のC1系列のエラー訂正が行われる。
The
そしてさらに2番目のC1系列のエラー訂正結果の28シンボルデータがデインタリービング(deinterleaving)された後、Qパリティの4シンボルデータで2番目のC2系列のエラー訂正が行われる。したがって、1番目のC1系列で2シンボル、1番目のC2系列で4シンボルの2番目のC1系列で4シンボル、2番目のC2系列で4シンボルのエラーが訂正できるようになる。 Then, after 28 symbol data of the error correction result of the second C1 sequence is deinterleaved, error correction of the second C2 sequence is performed with 4 symbol data of Q parity. Therefore, it is possible to correct an error of 2 symbols in the 1st C1 sequence, 4 symbols in the 2nd C1 sequence of 4 symbols in the 1st C2 sequence, and 4 symbols in the 2nd C2 sequence.
このような構成にすることにより、エラー訂正能力を向上させることができる。 With such a configuration, the error correction capability can be improved.
そのような処理を行うデコーダ40の構成について、図3および図4を参照して説明する。図3および図4に示したデコーダ40は、入力部21(デスクランブル(descramble)部21aとインバータ(inverter)部21bから構成される)、C1復号部22、デインタリービング部23、C2復号部24、インタリービング部41、組み合わせ部42、C1復号部43、判定部44、デインタリービング部45、C2復号部46、および交差遅延処理部25から構成される。
The configuration of the
図3に示した構成のうち、図2と同一の部分は同一符号を付し、適宜、その説明は省略する。また、図3では図示を省略しているが、図2中の左側に示したデータ(デコーダ20に入力されるデータ)と基本的に同様なデータが図3に示したデコーダ40に入力される。
3 that are the same as those in FIG. 2 are given the same reference numerals, and descriptions thereof will be omitted as appropriate. Although not shown in FIG. 3, data basically similar to the data shown on the left side in FIG. 2 (data input to the decoder 20) is input to the
デスクランブル部21aは、16個の1ワード遅延線を含む構成とされている。デスクランブル部21aは、記録時にスクランブル(scramble)された32シンボルデータのスクランブルを解除するために、先頭から偶数番目のシンボルデータを、1ワードずつ遅延させる。
The
CD方式において光ディスク上に形成されたピット(pit)の示す大きさは8ビット以内であり、信号処理単位を8ビット=1シンボルデータにすると、光ディスクのスクラッチによるエラーは、殆ど1シンボル単位となる。 In the CD method, the size of a pit formed on an optical disk is within 8 bits, and when the signal processing unit is 8 bits = 1 symbol data, errors due to scratches on the optical disk are almost in 1 symbol units. .
シンボルとシンボルの間にスクラッチがあったとすれば2シンボルのエラーになってしまう。このような連続エラーを分散するためにシンボル単位の遅延が、データの記録時(符号時)に行なわれる。そしてこの記録時における処理(図1の出力部15において行われる処理)をスクランブル処理とし、再生時にはスクランブル処理を解除するためにデスクランブル処理が行われる。そのデスクランブル処理を、デスクランブル部21aは行う。
If there is a scratch between symbols, an error of 2 symbols will result. In order to disperse such continuous errors, a delay in symbol units is performed at the time of data recording (during encoding). The processing at the time of recording (processing performed in the
インバータ部21bは、Qパリティの4シンボルデータとPパリティの4シンボルデータの0と1を反転させる。これは符号時に、固定パターンとバーストエラーに対する対策として、P・Qの8シンボルデータの0と1が反転されるため、その復元を行うために行われる。
The
C1復号部22は、32シンボルデータのうちPパリティの4シンボルデータを用いて残りの28シンボルデータのバーストエラーを検出すると共に、ランダムエラーも訂正する。このエラー訂正は、パリティーチェック行列、即ちリードソロモンコードにより4個のシンドロームを発生することにより行われる。
The
仮に、この段階で2つ以上のシンボルエラーが生ずると、そのデータブロックは、エラー訂正不能と判断され、28シンボルデータは訂正されないまま次段に伝送される。ここでデータ列の総てのワードに標識(最小減1ビット)が誤差の有無を表示するように加算される。 If two or more symbol errors occur at this stage, the data block is determined to be uncorrectable, and 28 symbol data is transmitted to the next stage without being corrected. Here, a sign (minimum decrease of 1 bit) is added to all the words in the data string so as to indicate whether or not there is an error.
デインタリービング部23は、C1復号部22から伝送された28シンボルデータを、差等遅延させインタリービングを解除する。光ディスクなどの記録媒体の再生中に生ずるエラーは、スクラッチや埃などが原因である場合が多く、一度欠陥が生ずると近接した多数のシンボルが一遍に損傷される傾向にある。同一のデータブロック内で多くのシンボルが損傷された場合、エラー検出や訂正が不可能になる。
The
このようなことを防ぐために、記録時(符号時)に同一のデータブロック内のシンボルが他のデータブロックに分散された状態で記録され(図1の遅延部13による処理)、再生時(復号時)には分散されたシンボルが、本来のデータブロック位置に復元される。この復元過程をデインタリーブと称し、この処理を、デインタリービング部23は行う。
In order to prevent this, symbols in the same data block are recorded in a state of being distributed to other data blocks at the time of recording (coding) (processing by the
デインタリービング部23は、28シンボルデータを差等遅延させるための27D、26D、25D・・・・2D、1D(Dは4ワードの一定遅延量の基本単位)の他の遅延時間を有する遅延線で第1乃至第27伝送チャンネルより構成される。
The
C2復号部24は、インタリービングが解除され、即ち28データワードの総てが同一に27Dの遅延時間に遅延され、本来のデータブロック位置に復元された28シンボルデータのうちQパリティの4シンボルデータを用いてリードソロモン符号と入力28ワードから4個のシンドロームを発生して最大4シンボルエラーまで訂正する。ここで誤差の矯正されたワードに関する標識は消されるが、矯正できない誤差ワードに対する標識は消されない。
The
図3に示したデコーダ40では、再度CIRCによるエラー訂正が行われる。そこで、1段目のエラー訂正がC1復号部22とC2復号部24により行われた後、C2復号部24から出力される24シンボルデータと第1および第2のチェックワード列が、遅延部23に入力されたデータ列の配列状態と同じ配列状態に復元させるための処理が実行される。
In the
遅延部41は、入力された28シンボルデータを再度インタリービングさせるために、1番目伝送チャンネルを除いた2番目伝送チャンネルから1D、2D、3D・・・・・26Dおよび27Dの遅延量を有する遅延線を含む構成される。また遅延部41は、C1復号部22から供給される4個のチェックワードを遅延させるために、27Dの遅延量を有する遅延線を、29番目乃至32番目チャンネルとして有する構成とされている。
The
第2の遅延部としての遅延部41により再度インタリービングされた32シンボルデータは、C1復号部43に供給される。詳細は後述するが、C1復号部43に供給される32シンボルデータのうち、C1復号部22から供給される4個のチェックワードは、組み合わせ部42を介して入力される。なお、ここでは、4個のチェックワードは、組み合わせ部42を介して入力されるとしたが、4個のチェックワードも、直接的にC1復号部43に供給され、組み合わせ部42にも供給される構成としても良い。
The 32 symbol data reinterleaved by the
組み合わせ部42は、エラー訂正の精度をより高めるために設けられているが、その詳細は、後述する。また、組み合わせ部42を設けることにより、C1復号部43は、同一の復号処理を実行する複数のC1復号部から構成されている。
The
C1復号部43は、上述したC1復号部22において行われる同一の処理を行う。すなわち、C1復号部43は、エラー訂正し、総てのワードに対して誤差有無の標識を行う。C1復号部43からの出力データ列は、判定部44を介して遅延部45に供給される。判定部44は、C1復号部43から供給される複数の復号結果から、後述する判定方式に基づいて1つの結果(データ列)を抽出し、遅延部45に供給する。
The
遅延部45は、遅延部23と同様の構成を有し、入力された28シンボルデータを、再びデインタリービングする。遅延部45によりデインタリービングされたデータ列は、C2復号部46に供給される。C2復号部46は、上述したC2復号部24と同一の過程で入力されたデータ列に対してエラー訂正し、出力する。C2復号部46から出力されたデータ列は、逆交差遅延部25に供給される。
The
逆交差遅延部25は、C2復号部46から供給される24シンボルデータ内で本来の位置に復元されるために互いに交差させ、符号化時に時間軸上に隣接したシンボルデータを2ワード遅延処理により分散させたものを、本来の位置に復元させるために、2ワード遅延処理がなされないシンボルデータを2ワード遅延処理する。このような遅延処理は、訂正不能のエラーデータを再生時に連続に出力させないために行われる。
The inverse
このようにデコードが行われることにより、エラーが訂正されたデータが生成され、そのデータに基づく音声が、ユーザに提供されることになる。 By performing decoding in this way, data in which the error is corrected is generated, and sound based on the data is provided to the user.
次に図3または図4に示したデコーダ40の動作について、図5乃至図9のフローチャートを参照して説明する。ステップS11において、デコーダ40は、データを入力する。入力されるデータは、図示されていないピックアップなどが制御されることにより、所定の記録媒体(例えば、CD)から読み出されたデータである。
Next, the operation of the
デコーダ40は、入力部21においてデータを入力する。入力部21は、デスクランブル部21aとインバータ部21bから構成されているが、このデスクランブル部21aとインバータ部21bにより、偶数シンボルが1フレーム分遅延される。この処理が実行されることにより、記録時に奇数シンボルのみ1フレーム遅延された分が相殺され、Qパリティの4シンボルデータとPパリティの4シンボルデータの0と1が反転される。
The
入力部21による処理が施されたデータ列は、C1復号部22に供給される。C1復号部22は、ステップS12において、供給された32シンボルデータのうちPパリティの4シンボルデータを用いて残りの28シンボルデータのバーストエラーを検出すると共にランダムエラーを訂正する。
The data string that has been processed by the
C1復号部22により復号されたデータ列は、デインタリービング部23に供給される。デインタリービング部23は、ステップS13において、供給された28シンボルデータを差等遅延させインタリービングを解除する。インタリービングが解除された28シンボルデータは、C2復号部24に供給される。
The data string decoded by the
C2復号部24は、ステップS14において、本来のデータブロック位置に復元された28シンボルデータのうち、Qパリティの4シンボルデータを用いてリードソロモン符号と入力28ワードから4個のシンドロームを発生して最大4シンボルエラーまで訂正する。ここで誤差の矯正されたワードに関する標識は消されるが、矯正できない誤差ワードに対する標識は消されない。
In step S14, the
ここまでの処理で、1段目の復号およびエラー訂正が行われる。続けて、2段目の復号およびエラー訂正を行うために、以下の処理が実行される。 The first stage decoding and error correction are performed by the processing so far. Subsequently, in order to perform the second stage decoding and error correction, the following processing is executed.
C2復号部24から出力された28シンボルデータは、遅延部41に供給される。遅延部41は、ステップS15において、入力された28シンボルデータを再度インタリービングする。この処理を実行するのは、再度CIRCによるエラー訂正を行うためである。また遅延部41は、C1復号部22から供給される4個のチェックワード列を遅延させて出力する。このC1復号部22から供給されるチェックワード列は、1段目のC1復号を行うC1復号部22に供給されたチェックワードと同一のものとされる。
The 28 symbol data output from the
遅延部41により再度インタリービングされた32データ列は、C1復号部43に供給される。また、C1復号部43に供給される32データ列のうち、C1復号部22から供給される4個のチェックワードは、組み合わせ部42にも供給される。
The 32 data strings interleaved again by the
組み合わせ部42、C1復号部43、および判定部44は、ステップS16において、判定処理を実行する。この処理については、図6乃至図9のフローチャートを参照して後述する。ステップS16における処理が実行されることにより、エラー訂正の精度はより高められることになる。
The
ステップS16の処理が実行され、判定部44から28シンボルデータが出力されると、そのデータ列は、遅延部45に供給される。遅延部45は、ステップS17において、入力された28シンボルデータを、再びデインタリービングする。この処理は、ステップS13において、遅延部23が行う処理と同様に行われる。遅延部45によりデインタリービングされたデータ列は、C2復号部46に供給される。C2復号部46は、ステップS18において、ステップS14においてC2復号部24が行った同一の過程で、入力されたデータ列をエラー訂正し、逆交差遅延部25に出力する。C2復号部46からの出力データ列は、逆交差遅延部25に供給される。
When the processing of step S16 is executed and 28 symbol data is output from the
逆交差遅延部25は、ステップS19において、C2復号部46から供給される24シンボルデータ内で本来の位置に復元されるために互いに交差させ、符号化の時間軸上に隣接したシンボルデータを2ワード遅延処理により分散させたものを本来の位置に復元させるために2ワード遅延処理がなされないシンボルデータを2ワード遅延処理する。
In step S19, the inverse
このようにして復号されたデータ列は、図示されていないスピーカなどに供給される。 The data string decoded in this way is supplied to a speaker or the like (not shown).
次に、ステップS16において実行される判定処理について説明する。この判定処理は、以下のことを考慮し、より精度良くエラー訂正を行えるようにするために実行される。すなわち、C1復号部43に供給される4個のチェックワード(Pパリティ)は、28シンボルデータ列に含まれているエラーを訂正するために設けられているわけだが、この供給されるパリティ自体にエラーが含まれている可能性がある。パリティ自体にエラーが含まれていた場合には、28ビットのデータ列に含まれるエラーを正しく訂正できない可能性がある。
Next, the determination process executed in step S16 will be described. This determination process is executed in order to perform error correction with higher accuracy in consideration of the following. In other words, the four check words (P parity) supplied to the
仮に、パリティ自体にエラーが含まれた状態で、28シンボルデータに含まれるエラーの訂正が行われてしまうと、エラーが訂正できないだけでなく、さらにエラーを増大させてしまう可能性がある。また、結果的に誤訂正されたデータが、正しいデータとして扱われてしまう可能性がある。このようなことを防ぐために、ステップS16における判定処理が実行される。 If the error included in the 28 symbol data is corrected in a state where the parity itself includes an error, not only the error cannot be corrected but also the error may be further increased. As a result, erroneously corrected data may be handled as correct data. In order to prevent this, the determination process in step S16 is executed.
C1復号部43に供給される32シンボルデータのうち、パリティである4シンボルデータを除いた28シンボルデータに、エラーが含まれている場合、そのエラーの箇所を示すエラーポインタが付けられた状態でC1復号部43にはデータ列が供給される。このエラーポインタは、C1復号部43に供給されるパリティには付けられていない。
Of the 32 symbol data supplied to the
また、CD方式のCIRCにおいては、最大4箇所にエラーポインタの訂正ができる。そこで、パリティ以外の部分(すなわち28シンボルデータ列の部分)に存在するエラーポインタの残りのエラーポインタをパリティのエラーポインタとして利用することにより、パリティ自体のエラーをチェックするようにする。換言すれば、28シンボルデータ列に、m個のエラーポインタが付けられていた場合、(4−m)個のエラーポインタが、パリティのエラーをチェックするためのエラーポインタとして利用される。このチェックを含む処理を、ここでは判定処理としている。 In the CD-type CIRC, error pointers can be corrected at a maximum of four locations. Therefore, the error of the parity itself is checked by using the remaining error pointer of the error pointer existing in the part other than the parity (that is, the part of the 28-symbol data string) as the error pointer of the parity. In other words, when m error pointers are attached to the 28-symbol data string, (4-m) error pointers are used as error pointers for checking parity errors. The process including this check is a determination process here.
図6に示したフローチャートを参照し、ステップS16において行われる判定処理について説明する。まず、組み合わせ部42(図3、図4)は、ステップS31において、28シンボルデータ列に付けられているエラーポインタは1つであるか否かを判断する。ステップS31において、エラーポインタは1つではないと判断された場合、ステップS32に処理が進められ、エラーポインタは2つであるか否かが判断される。 With reference to the flowchart shown in FIG. 6, the determination process performed in step S16 will be described. First, the combination unit 42 (FIGS. 3 and 4) determines whether or not there is one error pointer attached to the 28-symbol data string in step S31. If it is determined in step S31 that there is not one error pointer, the process proceeds to step S32 to determine whether there are two error pointers.
ステップS32において、エラーポインタは2つではないと判断された場合、ステップS33に処理が進められ、エラーポインタは3つであるか否かが判断される。ステップS33において、エラーポインタは3つではないと判断された場合、ステップS34に処理が進めらる。エラーポインタは3つではないと判断されるときは、28シンボルデータ列に付けられているエラーポインタは、4つ、または、それ以上であるときである。 If it is determined in step S32 that there are not two error pointers, the process proceeds to step S33 to determine whether there are three error pointers. If it is determined in step S33 that there are not three error pointers, the process proceeds to step S34. When it is determined that there are not three error pointers, there are four or more error pointers attached to the 28-symbol data string.
4つ以上のエラーポインタが付けられている場合には、パリティに付けることができる余分なエラーポインタは存在していないため、パリティ自体のエラーを訂正するといった処理は実行されないようにする。また、4つ以上のエラーポインタが付けられている場合には、エラー訂正自体が誤訂正になる可能性があるので、パリティ以外の部分に関してもエラー訂正が行われないように制御される。 When four or more error pointers are attached, there is no extra error pointer that can be attached to the parity, so that processing such as correcting the error of the parity itself is not executed. In addition, when four or more error pointers are attached, there is a possibility that the error correction itself is erroneously corrected. Therefore, control is performed so that error correction is not performed for portions other than parity.
このようなことを考慮し、ステップS33において、エラーポインタは3つではないと判断された場合、ステップS34に処理が進められ、パリティ自体の訂正処理は実行されないように制御される。 Considering this, if it is determined in step S33 that there are not three error pointers, the process proceeds to step S34, and control is performed so that the parity correction process is not executed.
一方、ステップS31において、28シンボルデータ列に付けられているエラーポインタは1つであると判断された場合、ステップS35に処理が進められる。ステップS35において実行される判定処理1について、図7のフローチャートを参照して説明する。
On the other hand, if it is determined in step S31 that there is only one error pointer attached to the 28 symbol data string, the process proceeds to step S35. The
ステップS51において、組み合わせ部42は、シンボルP1、パリティA、パリティB、パリティCにエラーポインタを設定し、その設定した条件で、C1復号するように、C1復号部43に指示を出す。そのような指示に基づき、C1復号部43は、4箇所訂正を行う。
In step S51, the
ここで、シンボルP1は、28シンボルデータ列のうち、エラーポインタが存在するシンボルを示す。パリティA、パリティB、パリティCは、4シンボルデータのパリティのうちの3つのパリティをそれぞれ示す。以下の説明において、シンボルP2、シンボルP3、パリティDなども用いるが、その意味は、上記したシンボルP1、パリティA、パリティB、パリティCと同様の意味を示すとする。また、パリティA、パリティB、パリティC、パリティDは、“ABCD”の順で並んでいるとする。 Here, the symbol P1 indicates a symbol having an error pointer in the 28 symbol data string. Parity A, parity B, and parity C indicate three parities of the parity of the 4-symbol data, respectively. In the following description, symbol P2, symbol P3, parity D, and the like are also used, and the meaning thereof is assumed to indicate the same meaning as symbol P1, parity A, parity B, and parity C described above. Further, it is assumed that the parity A, the parity B, the parity C, and the parity D are arranged in the order of “ABCD”.
ステップS51において、シンボルP1、パリティA、パリティB、パリティCにエラーポインタが設定され、その設定に基づいて、C1復号部43において、C1復号が行われる。
In step S51, error pointers are set for the symbol P1, the parity A, the parity B, and the parity C, and the
ステップS52において、シンボルP1、パリティA、パリティB、パリティDにエラーポインタが設定され、その設定に基づいて、C1復号部43において、C1復号が行われる。
In step S52, error pointers are set in the symbols P1, parity A, parity B, and parity D, and C1 decoding is performed in the
ステップS53において、シンボルP1、パリティA、パリティC、パリティDにエラーポインタが設定され、その設定に基づいて、C1復号部43において、C1復号が行われる。
In step S53, error pointers are set for the symbol P1, the parity A, the parity C, and the parity D, and the
ステップS54において、シンボルP1、パリティB、パリティC、パリティDにエラーポインタが設定され、その設定に基づいて、C1復号部43において、C1復号が行われる。
In step S54, error pointers are set for the symbols P1, parity B, parity C, and parity D, and the
ステップS51乃至S54の処理を並列的に行う場合、換言すれば、4回のC1復号を同時に行う場合、C1復号部43は、C1復号を行う部分を4つ必要とする。よって、図3に示したように、本実施の形態においては、C1復号部43は複数備えた構成とされている。複数備えるようにした場合、その数は、組み合わせ部42において設定される組み合わせの数に依存するわけだが、この場合、その数の最大値は、6となる。6となる理由は、図8のフローチャートを参照して後述する。よって、この場合、C1復号部43は、6個のC1復号部から構成されるようにすればよい。
When the processes of steps S51 to S54 are performed in parallel, in other words, when four C1 decodings are performed simultaneously, the
並列的に処理が行えるように構成することにより、処理(デコードの処理)自体を高速化することが可能となる。 By configuring so that processing can be performed in parallel, the processing (decoding processing) itself can be accelerated.
ステップS55において、ステップS51乃至S54の各処理が実行されることにより得られた結果が用いられてエラー成分として0を含む組み合わせがあるか否かが判断される。ステップS55における処理は、判定部44において行われる。判定部44には、C1復号部43から、この場合、4個の演算結果が供給される。
In step S55, it is determined whether or not there is a combination including 0 as an error component by using the result obtained by executing each process of steps S51 to S54. The process in step S55 is performed by the
エラー成分が0となるのは、そのデータがエラーでない場合である。よって、そのようなエラー成分として0を含む組み合わせが存在するか否かが、ステップS55の処理として判断される。図10を参照し、パリティ自体にエラーが存在しているか否かの判断の仕方について説明を加える。 The error component becomes 0 when the data is not an error. Therefore, whether or not there is a combination including 0 as such an error component is determined as the process of step S55. With reference to FIG. 10, a description will be given of how to determine whether an error exists in the parity itself.
図中左側の、例えば“A、B、C、P1”との表記は、パリティA、パリティB、およびパリティCのそれぞれにエラーポインタが設定されたことを意味し、シンボルP1にエラーポインタが付けられていたことを意味する。そして、図中上側の表記は、エラーポインタが設定されたパリティの、どのパリティにエラーが存在しているかを示し、例えば“一箇所エラー(P1)”との表記はパリティ自体にはエラーが存在していない場合を示し、“2箇所エラー(P1、A)”との表記は、パリティ中の1箇所にエラーが存在し、そのエラーは、パリティAであることを示す。 The notation “A, B, C, P1” on the left side of the figure means that an error pointer is set for each of parity A, parity B, and parity C, and an error pointer is attached to symbol P1. It means that it was done. The upper notation in the figure indicates which parity of the parity for which the error pointer is set has an error. For example, the notation “one-point error (P1)” has an error in the parity itself. The notation “2 location error (P1, A)” indicates that there is an error at 1 location in the parity, and that the error is parity A.
なお、図10に示した例では、2箇所だけエラーがある場合として、パリティAがエラーであるときに出力されるエラー成分のみを図示してある。また、図10に示した例では、3箇所だけエラーがある場合として、パリティAとパリティBがエラーであるときに出力されるエラー成分のみを示している。さらに、図10に示した例では、4箇所にエラーがある場合(すなわち、エラーポインタを設定した全てのパリティがエラーである場合)として、パリティA、パリティC、および、パリティCがエラーであるときに出力されるエラー成分のみを示している。 In the example shown in FIG. 10, only the error component output when the parity A is an error is illustrated, assuming that there is an error in only two places. Further, in the example shown in FIG. 10, only the error component output when the parity A and the parity B are errors is shown, assuming that there are errors at only three places. Furthermore, in the example shown in FIG. 10, when there are errors at four locations (that is, when all the parity for which error pointers are set are errors), parity A, parity C, and parity C are errors. Only the error components that are sometimes output are shown.
図10乃至図12においては、28シンボルデータ内に設定されているエラーポインタを含めて図示しているが、以下の説明においては、主に、パリティに対して設定されるエラーポインタについて説明を加える。 10 to 12, the error pointer set in the 28-symbol data is shown, but in the following description, the error pointer set for the parity is mainly described. .
パリティA、パリティB、および、パリティCにエラーポインタを設定したときに、それらのエラーポインタを設定したそれぞれのパリティがエラーでなければ、エラー成分として“A=0、B=0、C=0、P1=Ep1”と出力されることになる。 When error pointers are set in parity A, parity B, and parity C, if the parity set with these error pointers is not an error, “A = 0, B = 0, C = 0 as error components” , P1 = Ep1 ″ is output.
このような場合、結果的には、パリティを含む32シンボルデータ内には、1つのエラーのみ(上記例の場合、P1=Ep1)が存在していることになる。よって、そのエラーを訂正することは可能である(シンボルP1のエラーを、Ep1というエラー成分を用いて訂正することは可能である)。 In such a case, as a result, only one error (P1 = Ep1 in the above example) exists in the 32 symbol data including parity. Therefore, it is possible to correct the error (it is possible to correct the error of the symbol P1 using the error component Ep1).
パリティA、パリティB、および、パリティCにエラーポインタを設定したときに、それらのエラーポインタを設定したパリティのうちのパリティAだけがエラーであった場合、エラー成分として“A=Ea、B=0、C=0、P1=Ep1”と出力されることになる。この場合のEaとは、0以外の値であり、0以外の値であることは、そのデータはエラーであることを示している。また、その値は、そのデータを訂正する際に用いられる。 When error pointers are set for parity A, parity B, and parity C, and only the parity A of the parity for which these error pointers are set is an error, “A = Ea, B = 0, C = 0, P1 = Ep1 ". In this case, Ea is a value other than 0, and a value other than 0 indicates that the data is an error. The value is used when correcting the data.
このような場合、結果的には、パリティを含む32シンボルデータ内には、2つのエラー(上記例の場合、A=EaとP1=Ep1)が存在していることになる。エラーポインタを設定したパリティ内に、1つのエラーが存在している場合には、32シンボルデータ内に存在する2つのエラーを訂正することが可能である。 In such a case, as a result, two errors (A = Ea and P1 = Ep1 in the above example) exist in the 32 symbol data including the parity. When one error exists in the parity set with the error pointer, it is possible to correct two errors existing in the 32 symbol data.
しかしながら、エラーポインタを設定したパリティ以外のパリティにエラーが存在していたような場合、すなわち、エラーポインタが設定されている3つのパリティ以外のパリティにエラーが存在しているような場合、結果的には、32シンボルデータ内には、5つのエラーが存在するとして取り扱われたことになる。このような場合には、エラーの存在するシンボルの特定や訂正を正確に行うことはできない。 However, if an error exists in a parity other than the parity for which the error pointer is set, that is, if an error exists in a parity other than the three parities for which the error pointer is set, the result is Therefore, it is handled that there are five errors in the 32 symbol data. In such a case, it is not possible to accurately identify or correct a symbol having an error.
例えば、図10を参照するに、パリティB、パリティC、および、パリティDにエラーポインタが設定され、処理された場合、それらのエラーポインタが設定されたパリティにはエラーがなくても、エラーポインタが設定されてないパリティAにエラーであった場合、そのエラーであるパリティAの影響をうけ、エラー成分として“B=Eb’、C=Ec’、D=Ed’、P1=Ep1’”が出力されることになる。 For example, referring to FIG. 10, when an error pointer is set and processed for parity B, parity C, and parity D, even if there is no error in the parity for which these error pointers are set, the error pointer Is not set, the parity A, which is the error, is affected and “B = Eb ′, C = Ec ′, D = Ed ′, P1 = Ep1 ′” are error components. Will be output.
図10においてダッシュ(’)を付けて表記したのは、不確定なエラー成分(そのパリティを、そのエラー成分を用いて訂正することはできない値)が出力されることを示している。 In FIG. 10, the notation with a dash (') indicates that an uncertain error component (a value whose parity cannot be corrected using the error component) is output.
別の例とし、パリティA、パリティB、および、パリティCにエラーポインタが設定されたときに、それらのエラーポインタが設定されたパリティのうちのパリティAとパリティBがエラーであった場合、エラー成分として“A=Ea、B=Eb、C=0、P1=Ep1”と出力されることになる。この場合のEaやEbは、0以外の値であり、0以外の値であるということは、そのデータにエラーがあることが示されている。また、その値は、そのデータを訂正する際に用いられる。 As another example, when error pointers are set in parity A, parity B, and parity C, if parity A and parity B out of the parity set with these error pointers are errors, an error will occur. As components, “A = Ea, B = Eb, C = 0, P1 = Ep1” is output. In this case, Ea and Eb are values other than 0, and a value other than 0 indicates that there is an error in the data. The value is used when correcting the data.
このような場合、結果的には、パリティを含む32シンボルデータ内には、3つのエラーが存在していることになる。上記した例のようにエラーポインタを設定したパリティ内に、2つのエラーが存在している場合には、32シンボルデータ内に存在する3つのエラーを特定することが可能である。 In such a case, as a result, there are three errors in the 32 symbol data including parity. When there are two errors in the parity in which the error pointer is set as in the above example, it is possible to identify three errors existing in the 32 symbol data.
しかしながら、エラーポインタを設定したパリティ以外のパリティにエラーが存在していたような場合、すなわち、エラーポインタが設定されている3つのパリティ以外の1つのパリティにエラーが存在しているような場合、結果的には、32シンボルデータ内には、5つのエラーが存在するとして取り扱われたことになる。このような場合には、エラーの存在するシンボルの特定や訂正を正確に行うことはできない。 However, if there is an error in parity other than the parity for which the error pointer is set, that is, if there is an error in one parity other than the three parity for which the error pointer is set, As a result, it is handled that there are five errors in the 32 symbol data. In such a case, it is not possible to accurately identify or correct a symbol having an error.
例えば、図10を参照するに、パリティB、パリティC、および、パリティDにエラーポインタが設定されたときに、それらのエラーポインタが設定されたパリティのうちのパリティBだけにエラーが存在しているようなときであっても、エラーポインタを設定してないパリティAにエラーがあった場合(すなわち、パリティAとパリティBに実際にエラーがあった場合)、そのエラーであるパリティAの影響をうけ、エラー成分として“B=Eb’、C=Ec’、D=Ed’、P1=Ep1’”が出力されることになる。このような場合には、エラーの存在するシンボルの特定や訂正を正確に行うことはできない。 For example, referring to FIG. 10, when an error pointer is set for parity B, parity C, and parity D, an error exists only in parity B of the parity for which these error pointers are set. Even when there is an error in parity A for which no error pointer is set (that is, when an error actually occurs in parity A and parity B), the effect of parity A, which is the error As a result, “B = Eb ′, C = Ec ′, D = Ed ′, and P1 = Ep1 ′” are output as error components. In such a case, it is not possible to accurately identify or correct a symbol having an error.
さらに別の例とし、パリティA、パリティB、および、パリティCにエラーポインタが設定されたときに、それらのエラーポインタが設定されたパリティの全てがエラーであった場合、エラー成分として“A=Ea、B=Eb、C=Ec、P1=Ep1”が出力されることになる。この場合のEa、Eb、Ecは、0以外の値であり、0以外の値であることは、そのデータにエラーがあることを示している。また、その値は、そのデータを訂正する際に用いられる。 As yet another example, when error pointers are set for parity A, parity B, and parity C and all of the parity for which these error pointers are set are errors, “A = Ea, B = Eb, C = Ec, and P1 = Ep1 ″ are output. In this case, Ea, Eb, and Ec are values other than 0, and a value other than 0 indicates that there is an error in the data. The value is used when correcting the data.
このような場合、結果的には、パリティを含む32シンボルデータ内には、4つのエラーが存在していることになる。上記した例のようにエラーポインタを設定したパリティ内に、3つのエラーが存在している場合には、パリティを含む32シンボルデータ内に存在する4つのエラーを特定することは可能である。 In such a case, as a result, there are four errors in the 32 symbol data including parity. When there are three errors in the parity in which the error pointer is set as in the above example, it is possible to specify the four errors existing in the 32 symbol data including the parity.
しかしながら、エラーポインタを設定したパリティ以外のパリティにエラーが存在していたような場合、すなわち、エラーポインタが設定されている3つのパリティ以外の1つのパリティにエラーが存在しているような場合、結果的には、32シンボルデータ内には、5つのエラーが存在するとして取り扱われたことになる。このような場合には、エラーの存在するシンボルの特定や訂正を正確に行うことはできない。 However, if there is an error in parity other than the parity for which the error pointer is set, that is, if there is an error in one parity other than the three parity for which the error pointer is set, As a result, it is handled that there are five errors in the 32 symbol data. In such a case, it is not possible to accurately identify or correct a symbol having an error.
例えば、図10を参照するに、パリティB、パリティC、および、パリティDにエラーポインタが設定されたときに、それらのエラーポインタが設定されたパリティの全てのパリティにエラーが存在しているようなとき、エラーポインタが設定されていないパリティAにもエラーがあった場合(すなわち、パリティA,B,C,Dの全てに実際にエラーがあった場合)、そのエラーであるパリティAの影響をうけ、エラー成分として“B=Eb’、C=Ec’、D=Ed’、P1=Ep1’”が出力されることになる。このような場合には、エラーの存在するシンボルの特定や訂正を正確に行うことはできない。 For example, referring to FIG. 10, when an error pointer is set in parity B, parity C, and parity D, it seems that an error exists in all the parities in which those error pointers are set. When there is an error even in parity A for which no error pointer is set (that is, when there is actually an error in all of parity A, B, C, and D), the effect of parity A that is the error As a result, “B = Eb ′, C = Ec ′, D = Ed ′, and P1 = Ep1 ′” are output as error components. In such a case, it is not possible to accurately identify or correct a symbol having an error.
このようなことを考慮すると、エラーポインタを設定したパリティ内に、エラー成分が0のパリティが1つでも含まれていれば、パリティを含む32シンボルデータ内に含まれるエラーの数は、4以下になることがわかる。よって、エラーポインタを設定したパリティ内に、エラー成分が0のパリティが1つでも含まれていれば、パリティ自体にエラーが含まれていても、そのエラーを検出することができる。このことを利用し、ステップS55(図7)において、エラー成分に0を含む組み合わせが存在するか否かの判断が行われるようにする。 In consideration of this, the number of errors included in the 32-symbol data including parity is 4 or less if at least one parity whose error component is 0 is included in the parity set with the error pointer. It turns out that it becomes. Therefore, if even one parity whose error component is 0 is included in the parity set with the error pointer, the error can be detected even if the parity itself includes an error. Using this fact, in step S55 (FIG. 7), it is determined whether or not there is a combination including 0 as an error component.
図7に示したフローチャートの説明に戻り、ステップS55において、エラー成分に0を含む組み合わせがあるか否かが判断される。図10を再度参照するに、エラー成分に0を含む組み合わせには、斜線を引いて図示してある。すなわち、判定部44(図3、4)は、入力されたデータ列のうち、図10に示した斜線が引いてあるような組み合わせ(図10には図示していない組み合わせも、上述したように存在はしている)のデータ列が入力された場合、ステップS55において、YESと判断し、ステップS56に処理が進められる。 Returning to the description of the flowchart shown in FIG. 7, it is determined in step S55 whether or not there is a combination including 0 in the error component. Referring to FIG. 10 again, the combinations including 0 in the error component are illustrated with hatching. In other words, the determination unit 44 (FIGS. 3 and 4) has a combination in which an oblique line shown in FIG. 10 is drawn in the input data string (a combination not shown in FIG. 10 is also described above). Is present), in step S55, it is determined as YES, and the process proceeds to step S56.
ステップS56において、エラー成分に0を含む組み合わせが、複数存在した場合、1つの組み合わせを特定し、その特定した組み合わせによる訂正が正しいか否かを確認する。例えば、全てのパリティにエラーが存在しない場合、エラーポインタが設定されたパリティのエラー成分は、0となるため、図10を再度参照するに、“1箇所エラー(P1)”という欄に記載されている4つの組み合わせが、判定部44に入力されることになる。
In step S56, when there are a plurality of combinations including 0 in the error component, one combination is specified, and it is confirmed whether or not the correction by the specified combination is correct. For example, when there is no error in all the parity, the error component of the parity for which the error pointer is set is 0, so that it is described in the column “1 error (P1)” when referring to FIG. 10 again. The four combinations are input to the
このように、複数の組み合わせが候補として存在する場合、判定部44は、1つの組み合わせを選択する。そして、その選択した組み合わせで正しい訂正が行われるか否かを確認する。基本的には、エラー成分に0を含む組み合わせが存在する時点で、その組み合わせにおける訂正は正しく行われている可能性が高いので、また、複数の組み合わせのうち、どの組み合わせを選択しても結果としては同じ結果になる可能性が高いので、ステップS56の処理は、単に、1つの組み合わせを抽出し、その結果としてのデータ列を出力するという処理でも良い。
Thus, when a plurality of combinations exist as candidates, the
また、訂正が正しいか否かを確認する場合、複数の組み合わせが候補として存在するときには、その候補毎の訂正結果を比較し、全て同じであれば、その訂正は正しいとして判断するようにすることにより、ステップS56における、正しい訂正であったか否かの判断を行うようにしても良い。 Also, when checking whether the correction is correct or not, if multiple combinations exist as candidates, compare the correction results for each candidate, and if all are the same, determine that the correction is correct Thus, it may be determined whether or not the correction is correct in step S56.
また、訂正が正しいか否かを確認する場合、エラー成分が0のエラーポインタの場所(パリティでも良いし、パリティ以外のデータ列内のシンボルでも良い)のエラーポインタの設定をはずし、エラーのないとされているシンボルに、そのはずしたエラーポインタを設定し、再度4箇所訂正を実行し、エラーの値を比較するようにする。 Also, when checking whether the correction is correct or not, the error pointer at the location of the error pointer where the error component is 0 (parity or a symbol in the data string other than parity) may be removed, and there is no error. Then, the error pointer that has been removed is set in the symbol, and the four corrections are executed again to compare the error values.
換言すれば、エラーポインタを設定した部分のエラー成分が0である場合、そのエラー成分が0のシンボルは、実際にはエラーでなかったので、エラーポインタを設定する必要はなかったことを示している。そこで、その設定する必要がなかったエラーポインタを他のシンボルに再設定し、4箇所訂正することにより、他のシンボルにもエラーが存在していなかったことを確認するようにする。 In other words, if the error component of the part where the error pointer is set is 0, it indicates that the symbol whose error component is 0 was not actually an error, so there was no need to set the error pointer. Yes. Therefore, the error pointer that did not need to be set is reset to another symbol and corrected in four places to confirm that no error has existed in the other symbols.
このような検算も行うようにしても良い。 Such verification may also be performed.
いずれにしても、ステップS56において、正しい訂正であったか否かが判断され、正しい訂正であったと判断された場合、ステップS17(図5)に処理が進められ、その訂正が施されたデータ列が、判定部44からデインタリービング部45に供給される。ステップS17以降の処理については、既に説明したので、ここではその説明を省略する。
In any case, in step S56, it is determined whether or not the correction is correct. If it is determined that the correction is correct, the process proceeds to step S17 (FIG. 5), and the corrected data string is obtained. , And supplied from the
一方、ステップS56において、正しい訂正ではないと判断された場合、または、ステップS55において、エラー成分に0を含む組み合わせは存在しないと判断された場合、ステップS57に処理が進められる。ステップS57に処理が進められた場合、エラーとされる箇所が5箇所以上あるときであるか、または、何らかの理由でエラー訂正が正確にできなかったことを示しているので、判定部45は、エラー訂正の処理が行われないデータ列を、デインタリービング部45に出力する。
On the other hand, if it is determined in step S56 that the correction is not correct, or if it is determined in step S55 that there is no combination including 0 in the error component, the process proceeds to step S57. When the process has proceeded to step S57, the
デインタリービング部45にデータ列が供給された後の処理、すなわち、ステップS17(図5)以降の処理について既に説明したので、ここではその説明を省略する。
Since the processing after the data string is supplied to the
このようにして、C1復号部43に供給される32シンボルデータのうちの28シンボルデータに、1つのエラーポインタが設定されている場合には、設定できる残りの3つのエラーポインタを、4ワードのパリティのうちの3つのパリティに設定し、パリティ自体にエラーがないか否かを判断する。そして合わせてデータ列のエラー訂正も行うようにすることにより、より精度良くエラー訂正を行うことが可能となる。
In this way, when one error pointer is set in 28 symbol data of the 32 symbol data supplied to the
図6のフローチャートの説明に戻り、ステップS31において28シンボルデータに付けられているエラーポインタは1箇所ではないと判断され、ステップS32において、2箇所であると判断された場合、ステップS36に処理が進められる。ステップS36において、判定処理2が実行される。ステップS36において実行される判定処理2について、図8のフローチャートを参照して説明する。
Returning to the description of the flowchart of FIG. 6, if it is determined in step S31 that the error pointer attached to the 28-symbol data is not one place, and in step S32, it is determined that there are two places, the process proceeds to step S36. It is advanced. In step S36, the
この場合、32シンボルデータ内の、パリティを除く28シンボルデータには、2つのエラーポインタが存在するため、パリティに設定できるエラーポインタの数は2つである。よって、4つのパリティA,B,C,Dのうちの2つにエラーポインタを設定し、C1復号部43による復号を行う。4つのパリティから2つのパリティを選択し、エラーポインタを設定するため、その組み合わせは、6組ある。図11に、その組み合わせ、および、それらの組み合わせによるエラー成分を示す。
In this case, since there are two error pointers in the 28 symbol data excluding the parity in the 32 symbol data, the number of error pointers that can be set to the parity is two. Therefore, error pointers are set in two of the four parities A, B, C, and D, and the
図11に示した表の見方は、図10に示した表の見方と基本的に同様であるので、その説明は省略する。 The way of viewing the table shown in FIG. 11 is basically the same as the way of viewing the table shown in FIG.
ステップS71において、シンボルP1、シンボルP2、パリティA、および、パリティBにエラーポインタが設定された状態で、4箇所訂正が行われる。ステップS72において、シンボルP1、シンボルP2、パリティA、および、パリティCにエラーポインタが設定された状態で、4箇所訂正が行われる。ステップS73において、シンボルP1、シンボルP2、パリティA、および、パリティDにエラーポインタが設定された状態で、4箇所訂正が行われる。 In step S71, four-point correction is performed with error pointers set for the symbols P1, P2, parity A, and parity B. In step S72, four-point correction is performed with the error pointers set in the symbols P1, P2, parity A, and parity C. In step S73, four-point correction is performed with error pointers set for the symbols P1, P2, parity A, and parity D.
ステップS74において、シンボルP1、シンボルP2、パリティB、および、パリティCにエラーポインタが設定された状態で、4箇所訂正が行われる。ステップS75において、シンボルP1、シンボルP2、パリティB、および、パリティDにエラーポインタが設定された状態で、4箇所訂正が行われる。ステップS76において、シンボルP1、シンボルP2、パリティC、および、パリティDにエラーポインタが設定された状態で、4箇所訂正が行われる。 In step S74, four-point correction is performed with the error pointers set in the symbols P1, P2, parity B, and parity C. In step S75, four-point correction is performed with error pointers set for the symbols P1, P2, parity B, and parity D. In step S76, four-point correction is performed with error pointers set for the symbols P1, P2, parity C, and parity D.
このように、4つのパリティから2つのパリティが選択され、エラーポインタが設定されるため、その組み合わせは、6組ある。よって、ステップS71乃至S76において、異なるパリティにエラーポインタが設定されたときの4箇所訂正が、それぞれのステップにおいて行われる。よって、ステップS71乃至S76の処理を並列的に処理する場合には、C1復号部45(図3)は、6個のC1復号部から構成される必要がある。 Thus, since two parities are selected from four parities and an error pointer is set, there are six combinations. Therefore, in steps S71 to S76, four-point correction when an error pointer is set to a different parity is performed in each step. Therefore, when the processes of steps S71 to S76 are performed in parallel, the C1 decoding unit 45 (FIG. 3) needs to be configured by six C1 decoding units.
ステップS77において、判定部44に6個の復号結果が入力されるので、判定部44は、その入力された復号結果を参照し、エラー成分に0を含む組み合わせがあるか否かを判断する。このステップS77以降の処理は、図6のステップS55以下の処理と基本的に同様であるので、その説明は省略する。
In step S77, since six decoding results are input to the
図6のフローチャートの説明に戻り、ステップS33において、28シンボルデータに付けられているエラーポインタは3箇所であると判断された場合、ステップS37に処理が進められる。ステップS37において、判定処理3が実行される。ステップS37において実行される判定処理3について、図9のフローチャートを参照して説明する。
Returning to the description of the flowchart of FIG. 6, if it is determined in step S33 that there are three error pointers attached to the 28-symbol data, the process proceeds to step S37. In step S37,
この場合、32シンボルデータ内の、パリティを除く28シンボルデータには、3つのエラーポインタが存在するため、パリティに設定できるエラーポインタの数は1つである。よって、4つのパリティA,B,C,Dのうちの1つにエラーポインタを設定し、C1復号部43による復号を行う。4つのパリティから1つのパリティを選択し、エラーポインタを設定するため、その組み合わせは、4組ある。図12に、その組み合わせ、および、それらの組み合わせによるエラー成分を示す。
In this case, since there are three error pointers in the 28 symbol data excluding the parity in the 32 symbol data, the number of error pointers that can be set in the parity is one. Therefore, an error pointer is set in one of the four parities A, B, C, and D, and the
図12に示した表の見方は、図10に示した表の見方と基本的に同様であるので、その説明は省略する。 The way of viewing the table shown in FIG. 12 is basically the same as the way of viewing the table shown in FIG.
ステップS91において、シンボルP1、シンボルP2、シンボルP3、および、パリティAにエラーポインタが設定された状態で、4箇所訂正が行われる。ステップS92において、シンボルP1、シンボルP2、シンボル3、および、パリティBにエラーポインタが設定された状態で、4箇所訂正が行われる。ステップS93において、シンボルP1、シンボルP2、シンボル3、および、パリティCにエラーポインタが設定された状態で、4箇所訂正が行われる。ステップS94において、シンボルP1、シンボルP2、シンボル3、および、パリティDにエラーポインタが設定された状態で、4箇所訂正が行われる。
In step S91, four-point correction is performed with the error pointers set in the symbols P1, P2, P3, and parity A. In step S92, four-point correction is performed in the state where the error pointer is set in the symbol P1, the symbol P2, the
このように、4つのパリティから1つのパリティが選択され、エラーポインタが設定されるため、その組み合わせは、4組ある。よって、ステップS91乃至S94において、異なるパリティにエラーポインタが設定されたときの4箇所訂正が、それぞれのステップにおいて行われる。よって、ステップS91乃至S94の処理を並列的に処理する場合には、C1復号部45(図3)は、4個のC1復号部から構成される必要がある。 Thus, since one parity is selected from the four parities and the error pointer is set, there are four combinations. Therefore, in steps S91 to S94, four-point correction when an error pointer is set to a different parity is performed in each step. Therefore, when the processes of steps S91 to S94 are performed in parallel, the C1 decoding unit 45 (FIG. 3) needs to be configured by four C1 decoding units.
このようなことを考慮すると、C1復号部43は、6個のC1復号部から構成されるようにすれば、上述したように32シンボルデータに総計4個のエラーポインタが設定されるときには、並列処理を実行することが可能となる。
Considering this, if the
ステップS97において、4個の復号結果が、判定部44に入力されるので、判定部44は、その入力された復号結果を参照し、エラー成分に0を含む組み合わせがあるか否かを判断する。このステップS95以降の処理は、図6のステップS55以下の処理と基本的に同様であるので、その説明は省略する。
In step S97, since four decoding results are input to the
このように、本実施の形態においては、パリティを除くデータ列に設定されているエラーポインタの第1の数を判定し、パリティとデータ列に設定できるエラーポインタの第2の数より、判定ステップの処理により判定されたエラーポインタの第1の数が少ない場合、すなわち、パリティに割り当てることができるエラーポインタが存在する場合、第2の数から第1の数を減算した第3の数の範囲で、パリティにエラーポインタを設定し、そのエラーポインタが設定されたパリティを用いて復号が行われる。 As described above, in the present embodiment, the first number of error pointers set in the data string excluding the parity is determined, and the determination step is performed based on the parity and the second number of error pointers that can be set in the data string. When the first number of error pointers determined by the processing in (2) is small, that is, when there is an error pointer that can be assigned to parity, a range of the third number obtained by subtracting the first number from the second number Then, an error pointer is set in the parity, and decoding is performed using the parity in which the error pointer is set.
このように、本発明を適用すれば、エラー訂正をより精度良く行うことが可能となる。 Thus, by applying the present invention, error correction can be performed with higher accuracy.
なお、図10乃至図12を再度参照するに、斜線を引いて図示した部分(エラー成分として0を含む組)のみが、判定部44から出力されるデータ列の対象とされる。エラー成分として0を含む組の数は、パリティ以外の28シンボルデータに設定されているエラーポインタの数に依存している。
10 to FIG. 12 again, only the portion shown by hatching (the group including 0 as the error component) is the target of the data string output from the
そこで、組み合わせ部42は、パリティ以外の28シンボルデータに設定されているエラーポインタの数が判定された時点で、エラーポインタを設定するパリティの組み合わせを限定し、処理するようにしても良い。
Therefore, the
また、上述した実施の形態においては、エラーポインタを設定できる数は4箇所であり、パリティの数が4個という場合の例を挙げて説明したが、エラーポインタを設定できる数の方が、パリティの数よりも大きい場合、全てのパリティに対してエラーポインタを設定できるときがある。そのようなときには、基本的に1つの組み合わせしか存在しないことになる。そのようなときには、判定部44で、1つの組み合わせを選択するといったような処理を行う必要がない。
In the above-described embodiment, the number of error pointers that can be set is four, and an example in which the number of parities is four has been described. However, the number of error pointers that can be set is the parity. In some cases, the error pointer can be set for all the parity. In such a case, there is basically only one combination. In such a case, the
このようなことを考慮し、エラーポインタの数とパリティ数により、判定部44で行われる処理を簡潔にすることが可能であり、また、設計の仕方により、判定部44自体を削除した構成とすることも可能である。
In consideration of this, the number of error pointers and the number of parity can simplify the processing performed by the
上述した実施の形態においては、CIRCを用いた復号を2回行う(2段)例を挙げて説明したが、さらに3段など、複数回、復号を行うようにした場合にも、本発明を適用することは可能である。 In the above-described embodiment, the example of performing the decoding using CIRC twice (two stages) has been described, but the present invention is also applied to the case where the decoding is performed a plurality of times such as three stages. It is possible to apply.
また、上述した実施の形態においては、CD方式を例に挙げて説明したが、CD方式以外の方式にも、本発明を適用することは可能である。 In the above-described embodiment, the CD method has been described as an example. However, the present invention can be applied to methods other than the CD method.
上述した一連の処理(例えば、復号処理)は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。 The above-described series of processing (for example, decoding processing) can be executed by hardware having the respective functions, but can also be executed by software. When a series of processing is executed by software, various functions can be executed by installing a computer in which the programs that make up the software are installed in dedicated hardware, or by installing various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.
図13は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのCPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)103には、CPU101が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース105は、キーボードやマウスから構成される入力部106が接続され、入力部106に入力された信号をCPU101に出力する。また、入出力インタフェース105には、ディスプレイやスピーカなどから構成される出力部107も接続されている。
FIG. 13 is a diagram illustrating an internal configuration example of a general-purpose personal computer. A CPU (Central Processing Unit) 101 of the personal computer executes various processes in accordance with programs stored in a ROM (Read Only Memory) 102. A RAM (Random Access Memory) 103 appropriately stores data and programs necessary for the
さらに、入出力インタフェース105には、ハードディスクなどから構成される記憶部108、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部109も接続されている。ドライブ110は、磁気ディスク121、光ディスク122、光磁気ディスク123、半導体メモリ124などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
Further, a
記録媒体は、図13に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク121(フレキシブルディスクを含む)、光ディスク122(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク123(MD(Mini-Disc)(登録商標)を含む)、若しくは半導体メモリ124などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM102や記憶部108が含まれるハードディスクなどで構成される。
As shown in FIG. 13, the recording medium is distributed to provide a program to the user separately from the personal computer, and includes a magnetic disk 121 (including a flexible disk) on which the program is recorded, an optical disk 122 (CD- Consists of package media including ROM (Compact Disc-Read Only Memory), DVD (including Digital Versatile Disc), magneto-optical disk 123 (including MD (Mini-Disc) (registered trademark)), or
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In this specification, the steps for describing the program provided by the medium are performed in parallel or individually in accordance with the described order, as well as the processing performed in time series, not necessarily in time series. The process to be executed is also included.
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
21 入力部, 21a デスクランブル部, 21b インバータ部, 22 C1復号部, 23 デインタリービング部, 24 C2復号部, 25 交差遅延処理部, 40 デコーダ, 41 インタリービング部, 42 組み合わせ部, 43 C1復号部, 44 判定部, 45 デインタリービング部, 46 C2復号部 21 input unit, 21a descrambling unit, 21b inverter unit, 22 C1 decoding unit, 23 deinterleaving unit, 24 C2 decoding unit, 25 cross delay processing unit, 40 decoder, 41 interleaving unit, 42 combination unit, 43 C1 decoding Section, 44 determination section, 45 deinterleaving section, 46 C2 decoding section
Claims (5)
前記パリティと前記データ列に設定できる前記エラーポインタの第2の数より、前記判定手段により判定された前記エラーポインタの第1の数が少ない場合、前記第2の数から前記第1の数を減算した第3の数の範囲で、前記パリティにエラーポインタを設定する設定手段と、
前記設定手段によりエラーポインタが設定されたパリティを用いて復号を行う復号手段と
を備えることを特徴とする情報処理装置。 Determination means for determining a first number of error pointers set in a data string excluding parity;
When the first number of error pointers determined by the determination means is less than the second number of error pointers that can be set in the parity and the data string, the first number is changed from the second number to the first number. Setting means for setting an error pointer in the parity within a range of the subtracted third number;
An information processing apparatus comprising: decoding means for performing decoding using a parity in which an error pointer is set by the setting means.
前記復号手段は、前記組み合わせ毎に前記データ列を復号し、その復号結果のうちの、エラー成分に0を含む組を復号結果とする
ことを特徴とする請求項1に記載の情報処理装置。 The setting means, when the number of parity is larger than the third number, to change the combination of parity to set the error pointer;
2. The information processing apparatus according to claim 1, wherein the decoding unit decodes the data string for each of the combinations, and sets a decoding result including a set including an error component of 0 in the decoding result.
ことを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the decoding unit decodes the data sequence based on CIRC (Circular Interleave Reed-solomon Code).
前記パリティと前記データ列に設定できる前記エラーポインタの第2の数より、前記判定ステップの処理により判定された前記エラーポインタの第1の数が少ない場合、前記第2の数から前記第1の数を減算した第3の数の範囲で、前記パリティにエラーポインタを設定する設定ステップと、
前記設定ステップの処理によりエラーポインタが設定されたパリティを用いて復号を行う復号ステップと
を含むことを特徴とする情報処理方法。 A determination step of determining a first number of error pointers set in a data string excluding parity;
When the first number of error pointers determined by the processing of the determination step is less than the second number of error pointers that can be set in the parity and the data string, the first number from the second number A setting step for setting an error pointer in the parity within a range of a third number obtained by subtracting a number;
And a decoding step of performing decoding using a parity in which an error pointer is set by the processing of the setting step.
前記パリティと前記データ列に設定できる前記エラーポインタの第2の数より、前記判定ステップの処理により判定された前記エラーポインタの第1の数が少ない場合、前記第2の数から前記第1の数を減算した第3の数の範囲で、前記パリティにエラーポインタを設定する設定ステップと、
前記設定ステップの処理によりエラーポインタが設定されたパリティを用いて復号を行う復号ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。 A determination step of determining a first number of error pointers set in a data string excluding parity;
When the first number of error pointers determined by the processing of the determination step is less than the second number of error pointers that can be set in the parity and the data string, the first number from the second number A setting step for setting an error pointer in the parity within a range of a third number obtained by subtracting a number;
A program causing a computer to execute a process including a decoding step of performing decoding using a parity in which an error pointer is set by the process of the setting step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004177740A JP2006004030A (en) | 2004-06-16 | 2004-06-16 | Information processing device, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004177740A JP2006004030A (en) | 2004-06-16 | 2004-06-16 | Information processing device, method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006004030A true JP2006004030A (en) | 2006-01-05 |
Family
ID=35772396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004177740A Withdrawn JP2006004030A (en) | 2004-06-16 | 2004-06-16 | Information processing device, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006004030A (en) |
-
2004
- 2004-06-16 JP JP2004177740A patent/JP2006004030A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1182785B1 (en) | Data processing method and apparatus | |
JP2009506474A (en) | Soft decoding method and apparatus, error correction method and apparatus, soft output method and apparatus | |
JP2005537604A (en) | Data error correction method for high density optical disk | |
US20050081132A1 (en) | Method and apparatus for error code correction | |
JP4854588B2 (en) | Codeword used in digital optical media and method for generating codeword | |
US7266748B2 (en) | Method and apparatus for correcting C1/PI word errors using error locations detected by EFM/EFM+ decoding | |
US6826137B1 (en) | Apparatus and method for authentication/copy protection of optical storage medium and the optical storage medium | |
US7233267B2 (en) | Digital data recording medium, recording method, recording device, reproduction method, and reproduction device | |
JP2005522138A (en) | Method and apparatus for embedding an additional error correction layer in an error correction code | |
JPS6089873A (en) | Error correcting method | |
JP2001023316A (en) | Method for reproducing digital data, circuit for reproducing digital data and detection of error | |
JP2006004030A (en) | Information processing device, method, and program | |
JP2004235925A (en) | Error correction method, error correction circuit, and information recording and reproducing device | |
JP2001244823A (en) | Device for error correction in process for decoding cross- interleaved reed-solomon code | |
US20130049997A1 (en) | Bit converter and bit conversion method | |
JP4112520B2 (en) | Correction code generation apparatus, correction code generation method, error correction apparatus, and error correction method | |
KR20080036838A (en) | Method for correcting error of optical information storing media recording/reproducing apparatus | |
WO2003005355A1 (en) | The copy protection of digital data | |
JP2007035170A (en) | Optical disk device, and method for reproducing optical disk | |
KR100283247B1 (en) | Authenticity Detection / Replication Prevention Method and Apparatus for Optical Recording Media | |
KR930010355B1 (en) | Data error correcting & decoding method and apparatus | |
Liu et al. | Error-correction codes for optical disk storage | |
JPH01243729A (en) | Error detecting method | |
KR100238146B1 (en) | Method for processing error flag in optical disc reproducing apparatus during reproducing disc | |
US20040184611A1 (en) | Copy protection of digital data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070904 |