(57)【要約】【課題】本発明は、複数のデータセクタを有するデータブロック（誤り訂正コードブロック（ＥＣＣブロック））を生成する方法及び装置であって、該データブロックにパリティ情報が付加される方法及び装置、並びに、パリティ情報が付加されたデータブロックから、データセクタを回復する方法及び装置に関する。【解決手段】本発明の目的は、データストリームをそれぞれ符号化又は復号化する方法であって、必要なメモリを削減でき、２つのエンコーダ１２、１４、又はデコーダそれぞれで実行できる方法と、本発明による該方法を実現するための、符号化又は復号化ユニットそれぞれとを提供することである。本発明によると、複数のデータセクタを有するＥＣＣブロックを生成する方法に関して、該データセクタは、複数の行を備えたブロックで、行及び列の形で構成されたメモリ１１、１３内にバッファ記憶され、パリティ情報が付加される。その目的は、連続的に受信されたデータセクタのブロックは、行ごとに、メモリ１１、１３の行又は列それぞれに交互に書き込まれるという事実により達成される。【選択図】　　　図３
2004007587.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータセクタを有するＥＣＣブロックを生成する方法であって、該データセクタは、複数の行を備えたブロックの形で、行及び列の形で構成されたメモリ（１１、１３）内にバッファ記憶され、パリティ情報が付加される方法において、
連続的に受信されたデータセクタのブロックは、行ごとに、前記メモリ（１１、１３）の行又は列それぞれに交互に書き込まれることを特徴とするＥＣＣブロックを生成する方法。
【請求項２】
前記メモリ（１１、１３）は、第１のＲＡＭメモリ（１１）及び第２のＲＡＭメモリ（１３）を有することを特徴とする請求項１に記載の方法。
【請求項３】
前記第２のＲＡＭメモリ（１３）内にあって、第１のパリティ情報項目が付加され、かつデータ領域及びパリティ領域を有するデータセクタの第１のブロックは、読み出され（６１０、６３２、６４２、７１０、７３２、７４２）、第２のパリティ情報項目が付加され（６１１、６３３、６４３、７１１、７３３、７４３）、出力され（６１２、６３４、６４４、７１２、７３４、７４４）、
前記第１のＲＡＭメモリ（１１）内にあるデータセクタの第２のブロックは、読み出され（６２０、７２０）、前記第１のパリティ情報項目が付加され（６２１、７２１）、前記第２のＲＡＭメモリ（１３）内に格納される（６２２、７２２）ことを特徴とする請求項２に記載の方法。
【請求項４】
パリティ情報が付加されたデータセクタのＥＣＣブロックから、複数のデータセクタを回復する方法であって、前記ＥＣＣブロックが、行及び列の形で構成されたメモリ（１１、１３）内にバッファ記憶される方法において、
連続的に受信されたデータセクタのブロックは、行ごとに、前記メモリ（１１、１３）の行又は列それぞれに交互に書き込まれることを特徴とする方法。
【請求項５】
前記メモリ（１１、１３）は、第１のＲＡＭメモリ（１１）及び第２のＲＡＭメモリ（１３）を有することを特徴とする請求項４に記載の方法。
【請求項６】
前記第１のＲＡＭメモリ（１１）内にあって、第１のパリティ情報項目が付加されたデータセクタの第１のＥＣＣブロックは、読み出され、該第１のパリティ情報項目を解放し、前記第２のＲＡＭメモリ（１３）内に格納され、
第１及び第２のパリティ情報項目が付加された、続いて受信されたデータセクタの第２のＥＣＣブロックは、該第２のパリティ情報項目を解放し、前記第１のＲＡＭメモリ（１１）内に格納されることを特徴とする請求項５に記載の方法。
【請求項７】
データセクタの前記第１の（ＥＣＣ）ブロックは、それが前記第２のＲＡＭメモリ（１３）に列ごとに書き込まれていれば、該第２のＲＡＭメモリから行ごとに読み出され、該第２のＲＡＭメモリに行ごとに書き込まれていれば、列ごとに読み出され、
データセクタの前記第２の（ＥＣＣ）ブロックは、それが前記第１のＲＡＭメモリ（１１）の列に行ごとに書き込まれていれば、該第１のＲＡＭメモリ（１１）から行ごとに読み出されて、かつ前記第２のＲＡＭメモリ（１３）に行ごとに書き込まれ、
前記第２の（ＥＣＣ）ブロックは、それが前記第１のＲＡＭメモリ（１１）の行に行ごとに書き込まれていれば、列ごとに読み出されて、かつ前記第２のＲＡＭメモリ（１３）に列ごとに書き込まれることを特徴とする請求項３又は６に記載の方法。
【請求項８】
更に続いて受信されたデータセクタの（ＥＣＣ）ブロックは、データセクタの前記第２の（ＥＣＣ）ブロックが、前記第１のＲＡＭメモリ（１１）から行ごともしくは列ごとにそれぞれ読み出されていれば、該第１のＲＡＭメモリ（１１）の行及び列それぞれに、行ごとに書き込まれることを特徴とする請求項７に記載の方法。
【請求項９】
各ケースで、前記第２のＲＡＭメモリ（１３）からの行又は列それぞれの読み出し直後に、前記対応する行又は列それぞれは、前記第１のＲＡＭメモリ（１１）から読み出され、前記第２のＲＡＭメモリ（１３）の現在の読み出し行又は列それぞれに書き込まれることを特徴とする請求項８に記載の方法。
【請求項１０】
各ケースで、読み出し、パリティ情報の付加、そして前記第２のＲＡＭメモリ（１３）内の前記データ領域からの行又は列それぞれの固定数の出力というプロセスの後、行又は列それぞれは、前記第２のＲＡＭメモリ（１３）内の前記パリティ領域から読み出され、第２のパリティ情報項目が付加され、出力されて、そのとき読み出し行又は列それぞれは、直ちには上書きされないことを特徴とする請求項９に記載の方法。
【請求項１１】
各ケースで、前記第１のＲＡＭメモリ（１１）からの行又は列それぞれの読み出し直後に、前記更に続いて受信されたデータセクタの（ＥＣＣ）ブロックの対応する行は、前記現在の読み出し行又は列それぞれに書き込まれることを特徴とする請求項９又は１０に記載の方法。
【請求項１２】
前記第１のＲＡＭメモリ（１１）内に書き込まれたすべての行又は列それぞれの読み出しの後、前記更に続いて受信されたデータセクタの（ＥＣＣ）ブロックの残りの行は、前記第１のＲＡＭメモリ（１１）の行又は列それぞれに書き込まれ、
前記第２のＲＡＭメモリ（１３）のすべての行又は列それぞれの読み出しの後、該第２のＲＡＭメモリ（１３）には前記第１のＲＡＭメモリ（１１）から読み出された対応する行又は列それぞれが上書きされ、前記第２のＲＡＭメモリ（１３）のまだ読み出されずに残っている行又は列それぞれは、読み出され、出力されることを特徴とする請求項１１に記載の方法。
【請求項１３】
データセクタの前記ブロックは、それぞれ、１６個のデータセクタを有することを特徴とする請求項１から１２のいずれか１項に記載の方法。
【請求項１４】
データセクタの前記ブロックは、それぞれ、各行１７２バイトの１９２行を有することを特徴とする請求項１から３又は請求項７から１３のいずれか１項に記載の方法。
【請求項１５】
データセクタの前記ＥＣＣブロックは、それぞれ、各行１８２バイトの２０８行を有することを特徴とする請求項４から１３のいずれか１項に記載の方法。
【請求項１６】
前記第１のパリティ情報項目は１６バイトを有し、前記第２のパリティ情報項目は１０バイトを有することを特徴とする請求項１から１５のいずれか１項に記載の方法。
【請求項１７】
複数のデータセクタを有するＥＣＣブロックを生成する符号化ユニット（１０）であって、該データセクタは、ブロックの形で、メモリ（１１、１３）内にバッファ記憶され、パリティ情報が付加される符号化ユニット（１０）において、
該符号化ユニット（１０）は、前記ＥＣＣブロックの生成のために、請求項１から３又は請求項７から１３のいずれか１項に記載の方法を用いることを特徴とする符号化ユニット（１０）。
【請求項１８】
パリティ情報が付加されたＥＣＣブロックから、複数のデータセクタを回復する復号化ユニットであって、前記ＥＣＣブロックは、メモリ（１１、１３）内にバッファ記憶される復号化ユニットにおいて、
該復号化ユニットは、前記データセクタの回復のために、請求項４から１３のいずれか１項に記載の方法を用いることを特徴とする復号化ユニット。
【請求項１９】
請求項１から３又は請求項７から１３のいずれか１項に記載の方法、又は、データストリームを符号化するための請求項１７に記載の符号化ユニット（１０）、又は、請求項４から１３のいずれか１項に記載の方法、又は、データストリームを復号化するための請求項１８に記載の復号化ユニットを用いることを特徴とする記憶媒体からの読み出し及び／又は該記憶媒体への書き込みのための装置。
【請求項２０】
請求項１から３又は請求項７から１３のいずれか１項に記載の方法、又は、通信されるべき前記データストリームを符号化するための請求項１７に記載の符号化ユニット（１０）を用いることを特徴とするデジタルデータストリームを通信するための方法。
【請求項２１】
請求項４から１３のいずれか１項に記載の方法、又は、受信されたデータストリームを復号化するための請求項１８に記載の復号化ユニットを用いることを特徴とするデジタルデータストリームを受信するための方法。
【請求項２２】
請求項１から１３、２０又は２１のいずれか１項に記載の方法を実行するためのコンピュータプログラム製品。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のデータセクタを有するデータブロック（誤り訂正コードブロック（ＥＣＣブロック））を生成する方法及び装置であって、該データブロックにパリティ情報が付加される方法及び装置、及び、パリティ情報が付加されたデータブロックから、データセクタを回復する方法及び装置に関する。
【０００２】
【従来の技術】
このタイプの方法は、デジタルデータ通信及びデータ記憶に関するほとんどの方法において用いられている。デジタルデータ通信に関する既知の方法は、例えばＤＶＢ（デジタルビデオブロードキャスティング）又はＤＡＢ（デジタルオーディオブロードキャスティング）である。デジタルデータ記憶に関する方法については、基本的に、テープ記憶（例えばＤＡＴ（デジタルオーディオテープ）、ＤＶＣ（デジタルビデオカセット）、ＤＶＨＳ（デジタルビデオホームシステム））、ディスク記憶（例えばハードディスク、ＣＤ−Ｒ（読み出し可能コンパクトディスク）、ＤＶＤ＋ＲＷ（デジタルバーサタイルディスク＋読み出し／書き込み））及びメモリーカード（例えばコンパクトフラッシュ（登録商標））による記憶が挙げられる。上記の方法及び更なる方法に関して、記憶又は伝送それぞれのためのデータセクタは、データの読み出し時又は受信時に読み出しエラー又は受信エラーが起こった場合、そのエラーを訂正できるように、パリティ情報が付加される。書き込み又は通信プロセスに先立ち、そのデータはパリティ情報が付加される、すなわち符号化される。読み出し又は受信プロセスそれぞれのあと、そのデータはパリティ情報を解放しなければならない、すなわち復号化される。既知の符号化ユニット１は、図１で概略的に表されている。符号化ユニット１は、２つの符号化ブランチ２、３を有し、それらは同じように構成されている。該２つの符号化ブランチ２、３は、それぞれ第１のメモリ２１、３１、第１のエンコーダ２２、３２、第２のメモリ２３、３３、及び第２のエンコーダ２４、３４を有し、そのうちメモリ２１、２３、３１、３３は、行及び列の形で構成されている。エンコーダ２２、２４、３２、３４は、例えばリード−ソロモンエンコーダ（ＲＳエンコーダ）又はＸＯＲエンコーダでもよく、別のタイプもまた可能である。通常、メモリ２１、２３、３１、３３としてＲＡＭメモリが用いられる。データセクタは入力部４を介して符号化ユニット１に渡され、そこで該データセクタはスイッチ６を介して第１符号化ブランチ２又は第２符号化ブランチ３に転送される。２つの符号化ブランチ２、３において、データセクタは、各ケースで、第１のエンコーダ２２、３２及び第２のエンコーダ２４、３４によってパリティ情報が付加され、第２スイッチ７を介して出力部５に出力される。対応するデコーダは、原則的に同様に構成され、（例えばリード−ソロモン（ＲＳ）デコーダ、ＸＯＲデコーダといった）対応するデコーダは、エンコーダ２２、３２、２４、３４の代わりに単に用いられる。
【０００３】
従来の技術による符号化ユニット１の動作の基本方法は、以下、図１及び図２で説明される。この場合において、本記述は、ＤＶＤ−ＲＡＭ又はＤＶＤ＋ＲＷそれぞれに対しての符号化ユニットをベースにしている。
【０００４】
符号化動作は、２つの再帰フェーズ４０、５０に分けられる。該フェーズは原則的に同様であり、２つの符号化ブランチ２、３の役割が、交換されるだけである。図では、２つのフェーズ４０、５０の方法ステップは、第１符号化ブランチ２で進行する方法ステップ４０１、５０１と、第２符号化ブランチ３で進行する方法ステップ４０２、５０２とに分けられる。互いに上下左右に隣り合う別の方法ステップの配列は、時間的シーケンスが矢印によって明確に規定されるものでない限り、時間的シーケンスに対応しなくてもよい。
【０００５】
まず始めに、第１フェーズ４０を説明する。ステップ４１で、それぞれ２０６４バイトの１６個のデータセクタは、第１符号化ブランチ２に渡される。次のステップ４２で、これらのデータセクタは、各行１７２バイトの１９２行の形で第１符号化ブランチの第１のメモリ２１に書き込まれる。そして、ステップ４３で、第２符号化ブランチ３において、各行１７２バイトの１９２行の形で第１のメモリ３１に既に格納されていたデータが、その第１のメモリから列ごとに読み出される。読み出しデータは第１のエンコーダ３２に転送され、該エンコーダによって各ケース１６バイトの外部パリティ情報が列ごとに付加される。続くステップ４５で、このようにして得られた各列２０８バイトの１７２列は、第２符号化ブランチ３の第２のメモリ３３の列に書き込まれる。その結果、第２のメモリ３３は、各行１７２バイトの２０８行を保持し、最初の１９２行はデータ領域を形成し、残りの１６行はパリティ領域を形成する。符号化動作の初期、すなわち第２符号化ブランチ３の第１のメモリ３１内にデータがまだないときは、ステップ４３から４５は省略される。
【０００６】
ステップ４６で、各行１７２バイトの２０８行は、第１符号化ブランチ２の第２のメモリ２３から読み出され、第２のエンコーダ２４に転送される。該第２のエンコーダ２４は、続くステップ４７で、各ケース行ごとに１０バイトの内部パリティ情報を付加する。この場合、データセクタのブロックは、行をインターリーブすることにより、誤りが生じるのを付加的に防ぐことができる場合もある。データ領域からの１２行は、各ケース、パリティ領域からの１行を伴う。最後に、ステップ４８で、今完全に符号化された１６個のデータセクタが、スイッチ７及び出力部５を介して各行１８２バイトの２０８行の形で出力され、記録されるか伝送される。ステップ４６から４８はまた、符号化動作の初期に、第１符号化ブランチ２の第２のメモリ２３にデータがまだないため、省略される。
【０００７】
第１フェーズ４０が終了したあと、第１符号化ブランチ２及び第２符号化ブランチ３の役割は、第２フェーズ５０で交換される。ステップ５１で、次の１６個のデータセクタは、入力部４及びスイッチ６を介して第２符号化ブランチ３に渡され、該第２符号化ブランチ３の第１のメモリ３１に、各行１７２バイトの１９２行の形で書き込まれる。第１フェーズ４０のステップ４２で、第１符号化ブランチ２の第１のメモリ２１に書き込まれた各行１７２バイトの１９２行が今読み込まれ、ステップ５３で、各列１９２バイトの１７２列の形で第１のエンコーダ２２に転送され、ステップ５４で、１６バイトの外部パリティ情報がエンコーダから列ごとに付加され、ステップ５５で、各列２０８バイトの１７２列の形で第１符号化ブランチ２の第２のメモリ２３に書き込まれる。ステップ５６で、第１フェーズ４０のステップ４５からの、第２符号化ブランチ３の第２のメモリ３３にある各行１７２バイトの２０８行は、対応するように読み出され、第２のエンコーダ３４に転送され、ステップ５７で、１０バイトの内部パリティ情報がエンコーダから行ごとに付加され、適切にインターリーブされれば、ステップ５８でスイッチ７及び出力部５を介して出力される。
【０００８】
符号化ユニット１の入力部４で入力されてくるデータストリームは、２つのフェーズ４０、５０の進行的な反復によって、連続的に符号化される。
【０００９】
従来の技術による復号化ユニットは、上記記述と同様に作動する。この場合、符号化プロセスの間エンコーダ２２、２４、３２、３４によってデータにパリティ情報が付加されるステップは、パリティ情報が付加された該データがデコーダによってそのパリティ情報項目を解放する対応するステップで置き換えられる。さらに、そのデータは始めに内部パリティ情報を解放し、その後にのみ外部パリティ情報を解放する。従って、この順序は、符号化プロセスの順序とは逆であり、そのため入力部４と出力部５の役割もまた交換される。
【００１０】
書き込まれる又は読み出されるべき行と列との数及び長さは、それぞれ、対応して変化する。厳密に言うと、パリティ情報というデータを解放することは、誤り訂正の複雑な動作である。全ての誤りが第１のデコーダによって内部パリティ情報と共に訂正されるか、又は、全行が訂正不能としてマークされるかのどちらかである。残っているマークされたバイトが外部パリティ情報で訂正されるのは、第２のデコーダによってのみである。しかしながら、データが読み出される記憶媒体上で大きな欠陥（例えば、穴、引っかき傷など）があった場合、第２の誤り訂正がうまく行われない可能性があるので、残留エラーは残る。
【００１１】
【発明が解決しようとする課題】
既知の符号化又は復号化ユニットはそれぞれ不利な点を有している。それは、データストリームの継続的な符号化又は復号化それぞれには、全部で４つのメモリと４つのエンコーダ又はデコーダそれぞれが必要であるということであり、それらのうち２つは、各ケースで同一のタスクを実行する。これらの個別のコンポーネントは比較的高価なので、従来の技術による符号化又は復号化ユニットそれぞれの使用は、比較的高コストになる。
【００１２】
【課題を解決するための手段】
従って、本発明の目的は、データストリームをそれぞれ符号化又は復号化する方法であって、必要なメモリを削減でき、２つのエンコーダ又はデコーダそれぞれで実行できる方法と、本発明による該方法を実現するための、符号化又は復号化ユニットそれぞれとを提供することである。本発明の更なる目的は、記憶媒体からの読み出し及び／又は該記憶媒体への書き込み装置、デジタルデータストリームの通信又は受信のための、本発明による方法を用いた方法、又は、本発明による、データストリームを符号化又は復号化するための符号化又は復号化ユニットを提供することである。
【００１３】
本発明によると、複数のデータセクタを有するＥＣＣブロックを生成する方法に関して、該データセクタは、複数の行及び列を備えたブロックの形で、行及び列の形で構成されたメモリ内にバッファ記憶され、パリティ情報が付加される。その目的は、連続的に受信されたデータセクタのブロックは、行ごとに、メモリの行又は列それぞれに交互に書き込まれるという事実により達成される。このことにより、メモリ内にある行又は列それぞれは、パリティ情報の生成のために未だ必要なデータがそのプロセスで消去されることなく、読み出し直後に次に受信された行により上書きできるという利点を有する。
【００１４】
好ましくは、メモリは、第１のＲＡＭメモリ及び第２のＲＡＭメモリを有する。この方法では、パリティ情報は２つのステップから生成される。始めにデータセクタのブロックの行、次にその列に対してであり、そのため符号化のための通例のエンコーダを使用することが可能である。２つのＲＡＭメモリは物理的に離す必要はなく、独立したＲＡＭメモリの副領域もまた関係している。
【００１５】
本発明によると、第２のＲＡＭメモリ内にあって、第１のパリティ情報項目が付加され、かつデータ領域及びパリティ領域を有するデータセクタの第１ブロックは、読み出され、第２のパリティ情報項目が付加されて、出力される。そして、第１のＲＡＭメモリ内にあるデータセクタの第２のブロックは、読み出され、第１のパリティ情報項目が付加されて、第２のＲＡＭメモリ内に格納される。このことで、第２のＲＡＭメモリ内にあるデータは、それが完全に符号化され出力されたときにのみ新しいデータに置き換わるということが保証される。
【００１６】
本発明によると、パリティ情報が付加されたデータセクタのＥＣＣブロックから、複数のデータセクタを回復する方法に関して、該ＥＣＣブロックは、行及び列の形で構成されたメモリ内にバッファ記憶されており、その目的は、連続的に受信されたデータセクタのＥＣＣブロックは、行ごとに、メモリの行又は列それぞれに交互に書き込まれるという事実によって達成される。このことは、メモリの行又は列それぞれは、復号化に未だ必要なデータがそのプロセスで消去されることなく、データセクタの次のＥＣＣブロックの次に受信された行により上書きできるという利点を有する。
【００１７】
好ましくは、メモリは、第１のＲＡＭメモリ及び第２のＲＡＭメモリを有する。このことは、パリティ情報は、２つのステップ、すなわち始めにデータセクタのブロックの行、次にその列に対してというステップで取り除かれるので、復号化のための通例のデコーダを用いることが可能であるという利点を有する。２つのＲＡＭメモリは物理的に離す必要はなく、独立したＲＡＭメモリの副領域もまた関係している。
【００１８】
本発明によると、第１のＲＡＭメモリ内にあって、第１のパリティ情報項目が付加されたデータセクタの第１のＥＣＣブロックは、読み出され、該第１のパリティ情報項目を解放し、第２のＲＡＭメモリ内に格納される。そして、第１及び第２のパリティ情報項目が付加された、続いて受信されたデータセクタの第２のＥＣＣブロックは、その第２のパリティ情報項目を解放し、第１のＲＡＭメモリ内に格納される。このことで、第１のＲＡＭメモリ内にあるデータは、それが完全に復号化され、第２のＲＡＭメモリ内に格納されたときにのみ新しいデータに置き換わるということが保証される。
【００１９】
本発明によると、データセクタの第１の（ＥＣＣ）ブロックは、それが第２のＲＡＭメモリに列ごとに書き込まれていれば、該第２のＲＡＭメモリから行ごとに読み出され、該第２のＲＡＭメモリに行ごとに書き込まれていれば、列ごとに読み出される。データセクタの第２の（ＥＣＣ）ブロックは、それが第１のＲＡＭメモリの列に行ごとに書き込まれていれば、該第１のＲＡＭメモリから行ごとに読み出されて、かつ第２のＲＡＭメモリに行ごとに書き込まれる。また第２の（ＥＣＣ）ブロックは、第１のＲＡＭメモリの行に行ごとに書き込まれていれば、列ごとに読み出されて、かつ第２のＲＡＭメモリに列ごとに書き込まれる。これにより、符号化又は復号化の間、未だ必要なデータが他のデータに上書きされることはない。「データセクタの（ＥＣＣ）ブロック」の明確な記述によると、その方法の特徴は、データセクタのブロックとデータセクタのＥＣＣブロックとに等しく適用することが以下で示されている。
【００２０】
本発明によると、更に続いて受信されたデータセクタの（ＥＣＣ）ブロックは、データセクタの第２の（ＥＣＣ）ブロックが、第１のＲＡＭメモリから行ごともしくは列ごとにそれぞれ読み出されていれば、該第１のＲＡＭメモリの行及び列それぞれに、行ごとに書き込まれる。この方法で達成されることは、未だ必要であるデータのどれも、続いて受信されたデータセクタの（ＥＣＣ）ブロックで上書きされることはないということである。
【００２１】
本発明の利点において、各ケースで、第２のＲＡＭメモリからの行又は列それぞれの読み出し直後に、対応する行又は列それぞれは、第１のＲＡＭメモリから読み出され、第２のＲＡＭメモリの現在の読み出し行又は列それぞれに書き込まれる。これにより、第２のＲＡＭメモリ内の現在のデータがまだすべて処理されていないときでも、該第２のＲＡＭメモリ内にデータを書き込めるという利点を有する。従って、第２のＲＡＭメモリ全体が読み出されるのを待つ必要がない。
【００２２】
本発明の更なる側面によると、各ケースで、読み出し、パリティ情報の付加、そして第２のＲＡＭメモリ内のデータ領域からの行又は列それぞれの固定数の出力というプロセスの後、行又は列それぞれは、第２のＲＡＭメモリ内のパリティ領域から読み出され、第２のパリティ情報項目が付加され、出力される。そのとき読み出し行又は列それぞれは、直ちには上書きされない。これにより、データセクタのＥＣＣブロックをインターリーブすることが可能になり、よって誤り防止率が高まる。
【００２３】
更に、本発明の利点において、各ケースで、第１のＲＡＭメモリからの行又は列それぞれの読み出し直後に、更に続いて受信されたデータセクタの（ＥＣＣ）ブロックの対応する行は、現在の読み出し行又は列それぞれに書き込まれる。この利点は、第１のＲＡＭメモリ内の現在のデータがまだすべて処理されていないときでも、該第１のＲＡＭメモリにデータを書き込めるということである。繰り返しになるが、第１のＲＡＭメモリ全体が読み出されるのを待つ必要がない。
【００２４】
本発明によると、第１のＲＡＭメモリに書き込まれたすべての行又は列それぞれの読み出しの後、更に続いて受信されたデータセクタの（ＥＣＣ）ブロックの残りの行は、第１のＲＡＭメモリの更なる行又は列それぞれに書き込まれる。又、第２のＲＡＭメモリのすべての行又は列それぞれの読み出しの後、該第２のＲＡＭメモリには第１のＲＡＭメモリから読み出された対応する行又は列それぞれが上書きされ、第２のＲＡＭメモリのまだ読み出されずに残っている行又は列それぞれは、読み出され、出力される。この方法では、データセクタの（ＥＣＣ）ブロックは、備えている行及び列の数が違っていたとしても、完全にそれぞれ符号化又は復号化される。
【００２５】
本発明の利点において、データセクタのブロックはそれぞれ１６個のデータセクタを有し、例えばＤＶＤ＋ＲＷ又はＤＶＤ−ＲＡＭでデータストリームをそれぞれ符号化又は復号化する時に生じる。
【００２６】
本発明によると、データセクタのブロックは、それぞれ、各行１７２バイトの１９２行を有する。このように、ＤＶＤ標準に従って、データストリームは符号化又は復号化されうる。
【００２７】
本発明によると、データセクタのＥＣＣブロックは、それぞれ、各行１８２バイトの２０８行を有する。これも、ＤＶＤ標準に対応している。
【００２８】
本発明によると、第１のパリティ情報項目は１６バイトを有し、第２のパリティ情報項目は１０バイトを有しており、ＤＶＤ標準に対応する。
【００２９】
複数のデータセクタを有するＥＣＣブロックを生成する符号化ユニットであって、該データセクタはメモリ内にバッファ記憶され、パリティ情報項目が付加される符号化ユニットは、好ましくは、本発明による、データセクタを符号化するための方法を用いる。そのような符号化ユニットは、従来の技術と比較して、必要なメモリを半分に削減することができ、４つではなく２つのエンコーダでよいという利点を有する。
【００３０】
本発明によると、パリティ情報が付加されたデータセクタのＥＣＣブロックから、複数のデータセクタを回復する復号化ユニットであって、該ＥＣＣブロックがメモリ内にバッファ記憶される復号化ユニットは、本発明による、データセクタを復号化する方法を用いる。そのような復号化ユニットは、従来の技術と比較して、必要なメモリを半分に削減することができ、４つではなく２つのデコーダでよいという利点を有する。
【００３１】
本発明によると、記憶媒体からの読み出し及び／又は該記憶媒体への書き込みの装置は、本発明による、データストリームを符号化するための方法又は符号化ユニット、もしくは、本発明による、データストリームを復号化するための方法又は復号化ユニットを用いる。そのような装置は、データストリームを符号化又は復号化するそれぞれに必要なコンポーネントの数を削減することができるため、低コストで生産できる。
【００３２】
本発明の更なる側面によると、デジタルデータストリームを通信する方法は、通信されるべきデータストリームを符号化するための、本発明による方法又は本発明による符号化ユニットを用いる。そしてまた、その利点は、通信されるべきデータストリームを符号化するのに必要なコストを削減することができるということである。
【００３３】
同様に、デジタルデータストリームを受信する方法は、受信されたデータストリームを復号化するための、本発明による方法又は本発明による復号化ユニットを用いる。そしてまた、その利点は、受信されたデータストリームを復号化するのに必要なコストを削減することができるということである。
【００３４】
本発明による方法は、コンピュータプログラムで実行されるのが好ましい。これにより、データストリームを符号化又は復号化するのに特別なメモリがなくても、他の目的でメモリモジュールをすでに有しているプログラム制御された装置で、その方法を用いることが可能になる。
【００３５】
本発明の好ましい特徴の組み合わせは、本発明の範囲内にあることは言うまでもない。
【００３６】
【発明の実施の形態】
図３は、本発明による符号化ユニット１０の概略図である。従来の技術と比較して、符号化ユニット１０は、入力部１５と入力部１６を別にすれば、第１のＲＡＭメモリ１１、第２のＲＡＭメモリ１３、及び第１のエンコーダ１２、第２のエンコーダ１４を有するのみである。入力部１５を介して受信されたデータは、第１のＲＡＭメモリ１１内に格納されて、そこから読み出され、第１のエンコーダ１２によって第１のパリティ情報項目が付加され、第２のＲＡＭメモリ１３内に格納される。第２のＲＡＭメモリ１３内に格納されたそのデータは、同じように読み出され、第２のエンコーダ１４によって第２のパリティ情報項目が付加され、符号化ユニットの出力部１６を介して出力される。
【００３７】
図４は、本発明による復号化ユニット１０の概略図である。図３で表されている符号化ユニット１０と比較して、その違いは、ＲＡＭメモリ１１、１３、及びデコーダ１２、１４が逆の配列だということのみである。入力部１５を介して受信され、第１及び第２のパリティ情報項目が付加されたＥＣＣブロックは、第１のデコーダ１２によって第２のパリティ情報項目を解放し、第１のＲＡＭメモリ１１内に格納される。第１のＲＡＭメモリ１１内に格納されたそのデータは、読み出され、第２のデコーダ１４によって第１のパリティ情報項目を解放し、第２のＲＡＭメモリ１３内に格納され、そこから順番に読み出され、出力部１６を介して出力される。
【００３８】
図５は、本発明による、図３の符号化ユニットを用いてデータストリームを符号化する方法の概略図である。例において、その意図は、ＤＶＤ＋ＲＷ又はＤＶＤ−ＲＡＭそれぞれのためのデータストリームを符号化することである。すなわち各ケースで、１６個のデータセクタは、各行１７２バイトの１９２行の形で、列ごとに１６バイトの外部パリティ情報、及び行ごとに１０バイトの内部パリティ情報が付加され、各行１８２バイトの２０８行のＥＣＣブロックの形で出力される。
【００３９】
さらに、データはすでに第１のＲＡＭメモリ１１及び第２のＲＡＭメモリ１３内に存在していると仮定する。これが事実でないときは、第１サイクルが終わり、その仮定に適うまで、方法はステップ６３０で始まることになる。
【００４０】
本発明による方法は、２つのフェーズ６０、７０に細分される。そして、その第１フェーズ６０及び第２フェーズ７０の両方において、データセクタの完全なＥＣＣブロックが出力される。従って、データストリームを符号化するために、２つのフェーズ６０、７０が連続的に繰り返される。２つのフェーズは、各ケースで４つのサブフェーズ６０１、６０２、６０３、６０４、及び７０１、７０２、７０３、７０４にそれぞれ細分される。図４では、第１フェーズ６０及び第２フェーズ７０の両方において、すべてのサブフェーズ６０１−６０４及び７０１−７０４のそれぞれは、左側半分と右側半分に細分される。
【００４１】
左半分の方法ステップは、各ケースで、入力部１５、第１のＲＡＭメモリ１１、及び第１のエンコーダ１２に関し、右半分の方法ステップは、第２のＲＡＭメモリ１３、第２のエンコーダ１４、及び出力部１６に関する。
【００４２】
第１フェーズ６０の始めでは、第２のＲＡＭメモリ１３は、各行１７２バイトの２０８行の形でデータを保持しており、最初の１９２行はデータ領域を形成し、残りの１６行はパリティ領域を形成している。第１サブフェーズ６０１において、ステップ６１０で、１７２バイトの第１行が第２のＲＡＭメモリ１３から読み出される。ステップ６１１で、この行は、１０バイトの内部パリティ情報が第２のエンコーダ１４によって付加され、ステップ６１２で、１８２バイトの行として出力部１６を介して出力される。従って、第２のＲＡＭメモリ１３の第１行は、新しいデータで上書きされる。第２サブフェーズ６０２において、ステップ６２０で、１９２バイトの行が第１のＲＡＭメモリ１１から読み出される。ステップ６２１で、この行は、１６バイトの外部パリティ情報が第１のエンコーダ１２によって付加され、ステップ６２２で、第２のＲＡＭメモリ１３のパリティ情報を解放した行に書き込まれる。第３サブフェーズ６０３が始まると、始めにステップ６３０で、データセクタの次のブロックの１７２バイトの行が入力部１５を介して受信される。ステップ６３１で、この行は第１のＲＡＭメモリ１１の第１行に書き込まれる。ステップ６３２で、次の１７２バイトの行が第２のＲＡＭメモリ１３から読み出され、第２のエンコーダ１４に転送される。ステップ６３３で、第２のエンコーダから１０バイトの内部パリティ情報が付加され、ステップ６３４で、出力１６を介して出力される。第２サブフェーズ６０２及び第３サブフェーズ６０３は、トータルで１７２回行われ、その場合ステップ６２０で、各ケース、ｎ回の反復でｎ行目が第１のＲＡＭメモリ１１から読み出される。そして外部パリティ情報が付加された後、ステップ６２２で、第２のＲＡＭメモリ１３のｎ行目に書き込まれる。加えてステップ６３０において、データセクタの次のブロックのｎ行は、各ケースで受信され、そしてステップ６３１で第１のＲＡＭメモリ１１のｎ行目に書き込まれ、その場合は、ステップ６３２で、第２のＲＡＭメモリ１３の（ｎ＋１）行目が読み出され、ステップ６３４で、ＥＣＣブロックのｎ＋１行目として出力される。第２及び第３サブフェーズ６０２、６０３をトータル１７２回繰り返すと、第４サブフェーズ６０４が始まる。ステップ６４０で、データセクタの次のブロックの残りの各行１７２バイトの２０行が、入力部１５を介して受信され、ステップ６４１で、第１のＲＡＭメモリ１１の対応する２０行に書き込まれる。さらに、ステップ６４２で、まだ読み出されていない残りの各行１７２バイトの３５行が、第２のＲＡＭメモリ１３から読み出され、ステップ６４３で、１０バイトの内部パリティ情報が、各ケース、第２のエンコーダ１４から行ごとに付加され、ステップ６４４で、各行１８２バイトの３５行の形で出力部１６を介して出力される。その結果、第４サブフェーズ６０４が終わると、データセクタの完全なブロックが第１のＲＡＭメモリ１１に書き込まれ、データセクタの完全なＥＣＣブロックが出力部１６を介して出力される。さらに、第１のＲＡＭメモリ１１内にあるデータセクタのブロックは、第１のパリティ情報が付加され、第２のＲＡＭメモリ１３に書き込まれる。その結果、行と列の役割は第１及び第２のＲＡＭメモリ１１、１３で交換されるが、第２フェーズの始まりの前で第１フェーズ６０の始まりの前と同じ前提条件になる。
【００４３】
第２フェーズ７０は、第１フェーズ６０と完全に同様な行程で進む。第２フェーズ７０の始めでは、第２のＲＡＭメモリ１３は、各列１７２バイトの２０８列の形でデータを保持しており、最初の１９２列はデータ領域を形成し、残りの１６列はパリティ領域を形成している。第１サブフェーズ７０１において、ステップ７１０で、１７２バイトの第１列が第２のＲＡＭメモリ１３から読み出される。ステップ７１１で、この列は、１０バイトの内部パリティ情報が第２のエンコーダ１４によって付加され、ステップ７１２で、１８２バイトの行として出力部１６を介して出力される。従って、第２のＲＡＭメモリ１３の第１列は、新しいデータで上書きされる。第２サブフェーズ７０２において、ステップ７２０で、１９２バイトの列が、第１のＲＡＭメモリ１１から読み出される。ステップ７２１で、この列は、１６バイトの外部パリティ情報が第１のエンコーダ１２によって付加され、ステップ７２２で、第２のＲＡＭメモリ１３のパリティ情報を解放された行に書き込まれる。第３サブフェーズ７０３が始まると、始めにステップ７３０で、データセクタの次のブロックの１７２バイトの行が入力部１５を介して受信される。ステップ７３１で、この行は第１のＲＡＭメモリ１１の第１列に書き込まれる。ステップ７３２で、次の１７２バイトの列が第２のＲＡＭメモリ１３から読み出され、第２のエンコーダ１４に転送される。ステップ７３３で、第２のエンコーダ１４から１０バイトの内部パリティ情報が付加され、ステップ７３４で出力部１６を介して出力される。第２サブフェーズ７０２及び第３サブフェーズ７０３は、トータルで１７２回行われ、その場合ステップ７２０で、各ケース、ｎ回の反復でｎ列目が第１のＲＡＭメモリ１１から読み出される。そして、外部パリティ情報が付加された後、ステップ７２２で、第２のＲＡＭメモリ１３のｎ行目に書き込まれる。加えてステップ７３０で、データセクタの次のブロックのｎ行目は、各ケースで受信され、そして、ステップ７３１で、第１のＲＡＭメモリ１１のｎ列目に書き込まれ、ステップ７３２で、第２のＲＡＭメモリ１３の（ｎ＋１）列目が読み出され、ステップ７３４でＥＣＣブロックのｎ＋１行目として出力される。第２及び第３サブフェーズ７０２、７０３をトータル１７２回繰り返すと、第４サブフェーズ７０４が始まる。ステップ７４０で、データセクタの次のブロックの残りの各行１７２バイトの２０行が入力部１５を介して受信され、ステップ７４１で、第１のＲＡＭメモリ１１の対応する２０列に書き込まれる。さらに、ステップ７４２で、まだ読み出されていない、残りの各列１７２バイトの３５列が、第２のＲＡＭメモリ１３から読み出され、ステップ７４３で、１０バイトの内部パリティ情報が、第２のエンコーダ１４から列ごとに付加され、ステップ７４４で、各行１８２バイトの３５行の形で出力部１６を介して出力される。その結果、第４サブフェーズ７０４が終わると、データセクタの完全なブロックが第１のＲＡＭメモリに書き込まれ、データセクタの完全なＥＣＣブロックが出力部１６を介して出力される。さらに、第１のＲＡＭメモリ１１内にあるデータセクタのブロックは、第１のパリティ情報が付加され、第２のＲＡＭメモリ１３に書き込まれる。
【００４４】
入力部１５で入力されてくるデータストリームを連続して符号化することは、２つのフェーズ６０、７０の進行的な反復によって達成される。
【００４５】
パリティ情報の付加は別として、符号化されるべきデータセクタのブロックもインターリーブされるのであれば、上記シーケンスは何らかの修正を加えなければならない。１２行又は１２列それぞれが、各ケースで、第２のＲＡＭメモリ１３から読み出され、外部パリティ情報が付加されて出力された後、行又は列それぞれは、追加的にパリティ領域から読み出され、パリティ情報が付加されて出力される。この行又は列それぞれは、再びすぐに上書きされるわけではなく、より正確に言えば、読み出し及び書き込みのメカニズムが、一瞬停止する。従って、ステップ６４２及び７４２で、３５行又は３５列ではなく残りの２１行又は２１列のみがそれぞれ進められる。
【００４６】
本発明による復号化ユニットは、上記記述と同様に、しかし順序は逆で作動し、データは、各ケース、始めに復号化され、そのあとに格納される。この場合、符号化プロセスの間、エンコーダ１２、１４によってそのデータにパリティ情報が付加されるステップは、パリティ情報が付加されたデータがデコーダによってそのパリティ情報項目を解放する対応するステップで置き換えられる。さらに、データは、始めに内部パリティ情報を解放し、その後にのみ外部パリティ情報を解放する。言い換えるとその順序は、符号化プロセスの順序とは逆である。従来の技術と同様の説明がパリティ情報のデータを解放するのに適用する。厳密に言うと、誤り訂正の複雑な動作が関係している。
【図面の簡単な説明】
【図１】従来の技術による符号化ユニットを表す。
【図２】従来の技術による、符号化ユニットを用いたデータストリームの符号化方法を表す。
【図３】本発明による符号化ユニットを表す。
【図４】本発明による復号化ユニットを表す。
【図５】本発明による、符号化ユニットを用いたデータストリームの符号化方法を表す。
【符号の説明】
１　符号化ユニット
２　符号化ブランチ
３　符号化ブランチ
４　入力部
５　出力部
６　スイッチ
７　スイッチ
１０　符号化ユニット
１１　第１のＲＡＭメモリ
１２　第１のエンコーダ
１３　第２のＲＡＭメモリ
１４　第２のエンコーダ
１５　入力部
１６　出力部
２１　第１のメモリ
２２　第１のエンコーダ
２３　第２のメモリ
２４　第２のエンコーダ
３１　第１のメモリ
３２　第１のエンコーダ
３３　第２のメモリ
３４　第２のエンコーダ
４０　第１フェーズ
５０　第２フェーズ
６０　第１フェーズ
７０　第２フェーズ
【図１】
2004007587.tif 000003
【図２】
2004007587.tif 000004
【図３】
2004007587.tif 000005
【図４】
2004007587.tif 000006
【図５】
2004007587.tif 000007
【外国語明細書】
2004007587.tif 000008
2004007587.tif 000009
2004007587.tif 000010
2004007587.tif 000011
2004007587.tif 000012
2004007587.tif 000013
2004007587.tif 000014
2004007587.tif 000015
2004007587.tif 000016
2004007587.tif 000017
2004007587.tif 000018
2004007587.tif 000019
2004007587.tif 000020
2004007587.tif 000021
2004007587.tif 000022
2004007587.tif 000023
2004007587.tif 000024
2004007587.tif 000025
2004007587.tif 000026
2004007587.tif 000027
2004007587.tif 000028
2004007587.tif 000029
2004007587.tif 000030
2004007587.tif 000031
2004007587.tif 000032
2004007587.tif 000033
2004007587.tif 000034
2004007587.tif 000035
2004007587.tif 000036
2004007587.tif 000037
2004007587.tif 000038
2004007587.tif 000039
2004007587.tif 000040
2004007587.tif 000041
2004007587.tif 000042
2004007587.tif 000043
2004007587.tif 000044
2004007587.tif 000045
2004007587.tif 000046
2004007587.tif 000047
2004007587.tif 000048