説明

必要なRAMメモリを削減できるECCブロックエンコーダ及びデコーダ

【課題】本発明は、複数のデータセクタを有するデータブロック(誤り訂正コードブロック(ECCブロック))を生成する方法及び装置であって、該データブロックにパリティ情報が付加される方法及び装置、並びに、パリティ情報が付加されたデータブロックから、データセクタを回復する方法及び装置に関する。
【解決手段】本発明の目的は、データストリームをそれぞれ符号化又は復号化する方法であって、必要なメモリを削減でき、2つのエンコーダ12、14、又はデコーダそれぞれで実行できる方法と、本発明による該方法を実現するための、符号化又は復号化ユニットそれぞれとを提供することである。
本発明によると、複数のデータセクタを有するECCブロックを生成する方法に関して、該データセクタは、複数の行を備えたブロックで、行及び列の形で構成されたメモリ11、13内にバッファ記憶され、パリティ情報が付加される。その目的は、連続的に受信されたデータセクタのブロックは、行ごとに、メモリ11、13の行又は列それぞれに交互に書き込まれるという事実により達成される。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、複数のデータセクタを有するデータブロック(誤り訂正コードブロック(ECCブロック))を生成する方法及び装置であって、該データブロックにパリティ情報が付加される方法及び装置、及び、パリティ情報が付加されたデータブロックから、データセクタを回復する方法及び装置に関する。
【0002】
【従来の技術】
このタイプの方法は、デジタルデータ通信及びデータ記憶に関するほとんどの方法において用いられている。デジタルデータ通信に関する既知の方法は、例えばDVB(デジタルビデオブロードキャスティング)又はDAB(デジタルオーディオブロードキャスティング)である。デジタルデータ記憶に関する方法については、基本的に、テープ記憶(例えばDAT(デジタルオーディオテープ)、DVC(デジタルビデオカセット)、DVHS(デジタルビデオホームシステム))、ディスク記憶(例えばハードディスク、CD−R(読み出し可能コンパクトディスク)、DVD+RW(デジタルバーサタイルディスク+読み出し/書き込み))及びメモリーカード(例えばコンパクトフラッシュ(登録商標))による記憶が挙げられる。上記の方法及び更なる方法に関して、記憶又は伝送それぞれのためのデータセクタは、データの読み出し時又は受信時に読み出しエラー又は受信エラーが起こった場合、そのエラーを訂正できるように、パリティ情報が付加される。書き込み又は通信プロセスに先立ち、そのデータはパリティ情報が付加される、すなわち符号化される。読み出し又は受信プロセスそれぞれのあと、そのデータはパリティ情報を解放しなければならない、すなわち復号化される。既知の符号化ユニット1は、図1で概略的に表されている。符号化ユニット1は、2つの符号化ブランチ2、3を有し、それらは同じように構成されている。該2つの符号化ブランチ2、3は、それぞれ第1のメモリ21、31、第1のエンコーダ22、32、第2のメモリ23、33、及び第2のエンコーダ24、34を有し、そのうちメモリ21、23、31、33は、行及び列の形で構成されている。エンコーダ22、24、32、34は、例えばリード−ソロモンエンコーダ(RSエンコーダ)又はXORエンコーダでもよく、別のタイプもまた可能である。通常、メモリ21、23、31、33としてRAMメモリが用いられる。データセクタは入力部4を介して符号化ユニット1に渡され、そこで該データセクタはスイッチ6を介して第1符号化ブランチ2又は第2符号化ブランチ3に転送される。2つの符号化ブランチ2、3において、データセクタは、各ケースで、第1のエンコーダ22、32及び第2のエンコーダ24、34によってパリティ情報が付加され、第2スイッチ7を介して出力部5に出力される。対応するデコーダは、原則的に同様に構成され、(例えばリード−ソロモン(RS)デコーダ、XORデコーダといった)対応するデコーダは、エンコーダ22、32、24、34の代わりに単に用いられる。
【0003】
従来の技術による符号化ユニット1の動作の基本方法は、以下、図1及び図2で説明される。この場合において、本記述は、DVD−RAM又はDVD+RWそれぞれに対しての符号化ユニットをベースにしている。
【0004】
符号化動作は、2つの再帰フェーズ40、50に分けられる。該フェーズは原則的に同様であり、2つの符号化ブランチ2、3の役割が、交換されるだけである。図では、2つのフェーズ40、50の方法ステップは、第1符号化ブランチ2で進行する方法ステップ401、501と、第2符号化ブランチ3で進行する方法ステップ402、502とに分けられる。互いに上下左右に隣り合う別の方法ステップの配列は、時間的シーケンスが矢印によって明確に規定されるものでない限り、時間的シーケンスに対応しなくてもよい。
【0005】
まず始めに、第1フェーズ40を説明する。ステップ41で、それぞれ2064バイトの16個のデータセクタは、第1符号化ブランチ2に渡される。次のステップ42で、これらのデータセクタは、各行172バイトの192行の形で第1符号化ブランチの第1のメモリ21に書き込まれる。そして、ステップ43で、第2符号化ブランチ3において、各行172バイトの192行の形で第1のメモリ31に既に格納されていたデータが、その第1のメモリから列ごとに読み出される。読み出しデータは第1のエンコーダ32に転送され、該エンコーダによって各ケース16バイトの外部パリティ情報が列ごとに付加される。続くステップ45で、このようにして得られた各列208バイトの172列は、第2符号化ブランチ3の第2のメモリ33の列に書き込まれる。その結果、第2のメモリ33は、各行172バイトの208行を保持し、最初の192行はデータ領域を形成し、残りの16行はパリティ領域を形成する。符号化動作の初期、すなわち第2符号化ブランチ3の第1のメモリ31内にデータがまだないときは、ステップ43から45は省略される。
【0006】
ステップ46で、各行172バイトの208行は、第1符号化ブランチ2の第2のメモリ23から読み出され、第2のエンコーダ24に転送される。該第2のエンコーダ24は、続くステップ47で、各ケース行ごとに10バイトの内部パリティ情報を付加する。この場合、データセクタのブロックは、行をインターリーブすることにより、誤りが生じるのを付加的に防ぐことができる場合もある。データ領域からの12行は、各ケース、パリティ領域からの1行を伴う。最後に、ステップ48で、今完全に符号化された16個のデータセクタが、スイッチ7及び出力部5を介して各行182バイトの208行の形で出力され、記録されるか伝送される。ステップ46から48はまた、符号化動作の初期に、第1符号化ブランチ2の第2のメモリ23にデータがまだないため、省略される。
【0007】
第1フェーズ40が終了したあと、第1符号化ブランチ2及び第2符号化ブランチ3の役割は、第2フェーズ50で交換される。ステップ51で、次の16個のデータセクタは、入力部4及びスイッチ6を介して第2符号化ブランチ3に渡され、該第2符号化ブランチ3の第1のメモリ31に、各行172バイトの192行の形で書き込まれる。第1フェーズ40のステップ42で、第1符号化ブランチ2の第1のメモリ21に書き込まれた各行172バイトの192行が今読み込まれ、ステップ53で、各列192バイトの172列の形で第1のエンコーダ22に転送され、ステップ54で、16バイトの外部パリティ情報がエンコーダから列ごとに付加され、ステップ55で、各列208バイトの172列の形で第1符号化ブランチ2の第2のメモリ23に書き込まれる。ステップ56で、第1フェーズ40のステップ45からの、第2符号化ブランチ3の第2のメモリ33にある各行172バイトの208行は、対応するように読み出され、第2のエンコーダ34に転送され、ステップ57で、10バイトの内部パリティ情報がエンコーダから行ごとに付加され、適切にインターリーブされれば、ステップ58でスイッチ7及び出力部5を介して出力される。
【0008】
符号化ユニット1の入力部4で入力されてくるデータストリームは、2つのフェーズ40、50の進行的な反復によって、連続的に符号化される。
【0009】
従来の技術による復号化ユニットは、上記記述と同様に作動する。この場合、符号化プロセスの間エンコーダ22、24、32、34によってデータにパリティ情報が付加されるステップは、パリティ情報が付加された該データがデコーダによってそのパリティ情報項目を解放する対応するステップで置き換えられる。さらに、そのデータは始めに内部パリティ情報を解放し、その後にのみ外部パリティ情報を解放する。従って、この順序は、符号化プロセスの順序とは逆であり、そのため入力部4と出力部5の役割もまた交換される。
【0010】
書き込まれる又は読み出されるべき行と列との数及び長さは、それぞれ、対応して変化する。厳密に言うと、パリティ情報というデータを解放することは、誤り訂正の複雑な動作である。全ての誤りが第1のデコーダによって内部パリティ情報と共に訂正されるか、又は、全行が訂正不能としてマークされるかのどちらかである。残っているマークされたバイトが外部パリティ情報で訂正されるのは、第2のデコーダによってのみである。しかしながら、データが読み出される記憶媒体上で大きな欠陥(例えば、穴、引っかき傷など)があった場合、第2の誤り訂正がうまく行われない可能性があるので、残留エラーは残る。
【0011】
【発明が解決しようとする課題】
既知の符号化又は復号化ユニットはそれぞれ不利な点を有している。それは、データストリームの継続的な符号化又は復号化それぞれには、全部で4つのメモリと4つのエンコーダ又はデコーダそれぞれが必要であるということであり、それらのうち2つは、各ケースで同一のタスクを実行する。これらの個別のコンポーネントは比較的高価なので、従来の技術による符号化又は復号化ユニットそれぞれの使用は、比較的高コストになる。
【0012】
【課題を解決するための手段】
従って、本発明の目的は、データストリームをそれぞれ符号化又は復号化する方法であって、必要なメモリを削減でき、2つのエンコーダ又はデコーダそれぞれで実行できる方法と、本発明による該方法を実現するための、符号化又は復号化ユニットそれぞれとを提供することである。本発明の更なる目的は、記憶媒体からの読み出し及び/又は該記憶媒体への書き込み装置、デジタルデータストリームの通信又は受信のための、本発明による方法を用いた方法、又は、本発明による、データストリームを符号化又は復号化するための符号化又は復号化ユニットを提供することである。
【0013】
本発明によると、複数のデータセクタを有するECCブロックを生成する方法に関して、該データセクタは、複数の行及び列を備えたブロックの形で、行及び列の形で構成されたメモリ内にバッファ記憶され、パリティ情報が付加される。その目的は、連続的に受信されたデータセクタのブロックは、行ごとに、メモリの行又は列それぞれに交互に書き込まれるという事実により達成される。このことにより、メモリ内にある行又は列それぞれは、パリティ情報の生成のために未だ必要なデータがそのプロセスで消去されることなく、読み出し直後に次に受信された行により上書きできるという利点を有する。
【0014】
好ましくは、メモリは、第1のRAMメモリ及び第2のRAMメモリを有する。この方法では、パリティ情報は2つのステップから生成される。始めにデータセクタのブロックの行、次にその列に対してであり、そのため符号化のための通例のエンコーダを使用することが可能である。2つのRAMメモリは物理的に離す必要はなく、独立したRAMメモリの副領域もまた関係している。
【0015】
本発明によると、第2のRAMメモリ内にあって、第1のパリティ情報項目が付加され、かつデータ領域及びパリティ領域を有するデータセクタの第1ブロックは、読み出され、第2のパリティ情報項目が付加されて、出力される。そして、第1のRAMメモリ内にあるデータセクタの第2のブロックは、読み出され、第1のパリティ情報項目が付加されて、第2のRAMメモリ内に格納される。このことで、第2のRAMメモリ内にあるデータは、それが完全に符号化され出力されたときにのみ新しいデータに置き換わるということが保証される。
【0016】
本発明によると、パリティ情報が付加されたデータセクタのECCブロックから、複数のデータセクタを回復する方法に関して、該ECCブロックは、行及び列の形で構成されたメモリ内にバッファ記憶されており、その目的は、連続的に受信されたデータセクタのECCブロックは、行ごとに、メモリの行又は列それぞれに交互に書き込まれるという事実によって達成される。このことは、メモリの行又は列それぞれは、復号化に未だ必要なデータがそのプロセスで消去されることなく、データセクタの次のECCブロックの次に受信された行により上書きできるという利点を有する。
【0017】
好ましくは、メモリは、第1のRAMメモリ及び第2のRAMメモリを有する。このことは、パリティ情報は、2つのステップ、すなわち始めにデータセクタのブロックの行、次にその列に対してというステップで取り除かれるので、復号化のための通例のデコーダを用いることが可能であるという利点を有する。2つのRAMメモリは物理的に離す必要はなく、独立したRAMメモリの副領域もまた関係している。
【0018】
本発明によると、第1のRAMメモリ内にあって、第1のパリティ情報項目が付加されたデータセクタの第1のECCブロックは、読み出され、該第1のパリティ情報項目を解放し、第2のRAMメモリ内に格納される。そして、第1及び第2のパリティ情報項目が付加された、続いて受信されたデータセクタの第2のECCブロックは、その第2のパリティ情報項目を解放し、第1のRAMメモリ内に格納される。このことで、第1のRAMメモリ内にあるデータは、それが完全に復号化され、第2のRAMメモリ内に格納されたときにのみ新しいデータに置き換わるということが保証される。
【0019】
本発明によると、データセクタの第1の(ECC)ブロックは、それが第2のRAMメモリに列ごとに書き込まれていれば、該第2のRAMメモリから行ごとに読み出され、該第2のRAMメモリに行ごとに書き込まれていれば、列ごとに読み出される。データセクタの第2の(ECC)ブロックは、それが第1のRAMメモリの列に行ごとに書き込まれていれば、該第1のRAMメモリから行ごとに読み出されて、かつ第2のRAMメモリに行ごとに書き込まれる。また第2の(ECC)ブロックは、第1のRAMメモリの行に行ごとに書き込まれていれば、列ごとに読み出されて、かつ第2のRAMメモリに列ごとに書き込まれる。これにより、符号化又は復号化の間、未だ必要なデータが他のデータに上書きされることはない。「データセクタの(ECC)ブロック」の明確な記述によると、その方法の特徴は、データセクタのブロックとデータセクタのECCブロックとに等しく適用することが以下で示されている。
【0020】
本発明によると、更に続いて受信されたデータセクタの(ECC)ブロックは、データセクタの第2の(ECC)ブロックが、第1のRAMメモリから行ごともしくは列ごとにそれぞれ読み出されていれば、該第1のRAMメモリの行及び列それぞれに、行ごとに書き込まれる。この方法で達成されることは、未だ必要であるデータのどれも、続いて受信されたデータセクタの(ECC)ブロックで上書きされることはないということである。
【0021】
本発明の利点において、各ケースで、第2のRAMメモリからの行又は列それぞれの読み出し直後に、対応する行又は列それぞれは、第1のRAMメモリから読み出され、第2のRAMメモリの現在の読み出し行又は列それぞれに書き込まれる。これにより、第2のRAMメモリ内の現在のデータがまだすべて処理されていないときでも、該第2のRAMメモリ内にデータを書き込めるという利点を有する。従って、第2のRAMメモリ全体が読み出されるのを待つ必要がない。
【0022】
本発明の更なる側面によると、各ケースで、読み出し、パリティ情報の付加、そして第2のRAMメモリ内のデータ領域からの行又は列それぞれの固定数の出力というプロセスの後、行又は列それぞれは、第2のRAMメモリ内のパリティ領域から読み出され、第2のパリティ情報項目が付加され、出力される。そのとき読み出し行又は列それぞれは、直ちには上書きされない。これにより、データセクタのECCブロックをインターリーブすることが可能になり、よって誤り防止率が高まる。
【0023】
更に、本発明の利点において、各ケースで、第1のRAMメモリからの行又は列それぞれの読み出し直後に、更に続いて受信されたデータセクタの(ECC)ブロックの対応する行は、現在の読み出し行又は列それぞれに書き込まれる。この利点は、第1のRAMメモリ内の現在のデータがまだすべて処理されていないときでも、該第1のRAMメモリにデータを書き込めるということである。繰り返しになるが、第1のRAMメモリ全体が読み出されるのを待つ必要がない。
【0024】
本発明によると、第1のRAMメモリに書き込まれたすべての行又は列それぞれの読み出しの後、更に続いて受信されたデータセクタの(ECC)ブロックの残りの行は、第1のRAMメモリの更なる行又は列それぞれに書き込まれる。又、第2のRAMメモリのすべての行又は列それぞれの読み出しの後、該第2のRAMメモリには第1のRAMメモリから読み出された対応する行又は列それぞれが上書きされ、第2のRAMメモリのまだ読み出されずに残っている行又は列それぞれは、読み出され、出力される。この方法では、データセクタの(ECC)ブロックは、備えている行及び列の数が違っていたとしても、完全にそれぞれ符号化又は復号化される。
【0025】
本発明の利点において、データセクタのブロックはそれぞれ16個のデータセクタを有し、例えばDVD+RW又はDVD−RAMでデータストリームをそれぞれ符号化又は復号化する時に生じる。
【0026】
本発明によると、データセクタのブロックは、それぞれ、各行172バイトの192行を有する。このように、DVD標準に従って、データストリームは符号化又は復号化されうる。
【0027】
本発明によると、データセクタのECCブロックは、それぞれ、各行182バイトの208行を有する。これも、DVD標準に対応している。
【0028】
本発明によると、第1のパリティ情報項目は16バイトを有し、第2のパリティ情報項目は10バイトを有しており、DVD標準に対応する。
【0029】
複数のデータセクタを有するECCブロックを生成する符号化ユニットであって、該データセクタはメモリ内にバッファ記憶され、パリティ情報項目が付加される符号化ユニットは、好ましくは、本発明による、データセクタを符号化するための方法を用いる。そのような符号化ユニットは、従来の技術と比較して、必要なメモリを半分に削減することができ、4つではなく2つのエンコーダでよいという利点を有する。
【0030】
本発明によると、パリティ情報が付加されたデータセクタのECCブロックから、複数のデータセクタを回復する復号化ユニットであって、該ECCブロックがメモリ内にバッファ記憶される復号化ユニットは、本発明による、データセクタを復号化する方法を用いる。そのような復号化ユニットは、従来の技術と比較して、必要なメモリを半分に削減することができ、4つではなく2つのデコーダでよいという利点を有する。
【0031】
本発明によると、記憶媒体からの読み出し及び/又は該記憶媒体への書き込みの装置は、本発明による、データストリームを符号化するための方法又は符号化ユニット、もしくは、本発明による、データストリームを復号化するための方法又は復号化ユニットを用いる。そのような装置は、データストリームを符号化又は復号化するそれぞれに必要なコンポーネントの数を削減することができるため、低コストで生産できる。
【0032】
本発明の更なる側面によると、デジタルデータストリームを通信する方法は、通信されるべきデータストリームを符号化するための、本発明による方法又は本発明による符号化ユニットを用いる。そしてまた、その利点は、通信されるべきデータストリームを符号化するのに必要なコストを削減することができるということである。
【0033】
同様に、デジタルデータストリームを受信する方法は、受信されたデータストリームを復号化するための、本発明による方法又は本発明による復号化ユニットを用いる。そしてまた、その利点は、受信されたデータストリームを復号化するのに必要なコストを削減することができるということである。
【0034】
本発明による方法は、コンピュータプログラムで実行されるのが好ましい。これにより、データストリームを符号化又は復号化するのに特別なメモリがなくても、他の目的でメモリモジュールをすでに有しているプログラム制御された装置で、その方法を用いることが可能になる。
【0035】
本発明の好ましい特徴の組み合わせは、本発明の範囲内にあることは言うまでもない。
【0036】
【発明の実施の形態】
図3は、本発明による符号化ユニット10の概略図である。従来の技術と比較して、符号化ユニット10は、入力部15と入力部16を別にすれば、第1のRAMメモリ11、第2のRAMメモリ13、及び第1のエンコーダ12、第2のエンコーダ14を有するのみである。入力部15を介して受信されたデータは、第1のRAMメモリ11内に格納されて、そこから読み出され、第1のエンコーダ12によって第1のパリティ情報項目が付加され、第2のRAMメモリ13内に格納される。第2のRAMメモリ13内に格納されたそのデータは、同じように読み出され、第2のエンコーダ14によって第2のパリティ情報項目が付加され、符号化ユニットの出力部16を介して出力される。
【0037】
図4は、本発明による復号化ユニット10の概略図である。図3で表されている符号化ユニット10と比較して、その違いは、RAMメモリ11、13、及びデコーダ12、14が逆の配列だということのみである。入力部15を介して受信され、第1及び第2のパリティ情報項目が付加されたECCブロックは、第1のデコーダ12によって第2のパリティ情報項目を解放し、第1のRAMメモリ11内に格納される。第1のRAMメモリ11内に格納されたそのデータは、読み出され、第2のデコーダ14によって第1のパリティ情報項目を解放し、第2のRAMメモリ13内に格納され、そこから順番に読み出され、出力部16を介して出力される。
【0038】
図5は、本発明による、図3の符号化ユニットを用いてデータストリームを符号化する方法の概略図である。例において、その意図は、DVD+RW又はDVD−RAMそれぞれのためのデータストリームを符号化することである。すなわち各ケースで、16個のデータセクタは、各行172バイトの192行の形で、列ごとに16バイトの外部パリティ情報、及び行ごとに10バイトの内部パリティ情報が付加され、各行182バイトの208行のECCブロックの形で出力される。
【0039】
さらに、データはすでに第1のRAMメモリ11及び第2のRAMメモリ13内に存在していると仮定する。これが事実でないときは、第1サイクルが終わり、その仮定に適うまで、方法はステップ630で始まることになる。
【0040】
本発明による方法は、2つのフェーズ60、70に細分される。そして、その第1フェーズ60及び第2フェーズ70の両方において、データセクタの完全なECCブロックが出力される。従って、データストリームを符号化するために、2つのフェーズ60、70が連続的に繰り返される。2つのフェーズは、各ケースで4つのサブフェーズ601、602、603、604、及び701、702、703、704にそれぞれ細分される。図4では、第1フェーズ60及び第2フェーズ70の両方において、すべてのサブフェーズ601−604及び701−704のそれぞれは、左側半分と右側半分に細分される。
【0041】
左半分の方法ステップは、各ケースで、入力部15、第1のRAMメモリ11、及び第1のエンコーダ12に関し、右半分の方法ステップは、第2のRAMメモリ13、第2のエンコーダ14、及び出力部16に関する。
【0042】
第1フェーズ60の始めでは、第2のRAMメモリ13は、各行172バイトの208行の形でデータを保持しており、最初の192行はデータ領域を形成し、残りの16行はパリティ領域を形成している。第1サブフェーズ601において、ステップ610で、172バイトの第1行が第2のRAMメモリ13から読み出される。ステップ611で、この行は、10バイトの内部パリティ情報が第2のエンコーダ14によって付加され、ステップ612で、182バイトの行として出力部16を介して出力される。従って、第2のRAMメモリ13の第1行は、新しいデータで上書きされる。第2サブフェーズ602において、ステップ620で、192バイトの行が第1のRAMメモリ11から読み出される。ステップ621で、この行は、16バイトの外部パリティ情報が第1のエンコーダ12によって付加され、ステップ622で、第2のRAMメモリ13のパリティ情報を解放した行に書き込まれる。第3サブフェーズ603が始まると、始めにステップ630で、データセクタの次のブロックの172バイトの行が入力部15を介して受信される。ステップ631で、この行は第1のRAMメモリ11の第1行に書き込まれる。ステップ632で、次の172バイトの行が第2のRAMメモリ13から読み出され、第2のエンコーダ14に転送される。ステップ633で、第2のエンコーダから10バイトの内部パリティ情報が付加され、ステップ634で、出力16を介して出力される。第2サブフェーズ602及び第3サブフェーズ603は、トータルで172回行われ、その場合ステップ620で、各ケース、n回の反復でn行目が第1のRAMメモリ11から読み出される。そして外部パリティ情報が付加された後、ステップ622で、第2のRAMメモリ13のn行目に書き込まれる。加えてステップ630において、データセクタの次のブロックのn行は、各ケースで受信され、そしてステップ631で第1のRAMメモリ11のn行目に書き込まれ、その場合は、ステップ632で、第2のRAMメモリ13の(n+1)行目が読み出され、ステップ634で、ECCブロックのn+1行目として出力される。第2及び第3サブフェーズ602、603をトータル172回繰り返すと、第4サブフェーズ604が始まる。ステップ640で、データセクタの次のブロックの残りの各行172バイトの20行が、入力部15を介して受信され、ステップ641で、第1のRAMメモリ11の対応する20行に書き込まれる。さらに、ステップ642で、まだ読み出されていない残りの各行172バイトの35行が、第2のRAMメモリ13から読み出され、ステップ643で、10バイトの内部パリティ情報が、各ケース、第2のエンコーダ14から行ごとに付加され、ステップ644で、各行182バイトの35行の形で出力部16を介して出力される。その結果、第4サブフェーズ604が終わると、データセクタの完全なブロックが第1のRAMメモリ11に書き込まれ、データセクタの完全なECCブロックが出力部16を介して出力される。さらに、第1のRAMメモリ11内にあるデータセクタのブロックは、第1のパリティ情報が付加され、第2のRAMメモリ13に書き込まれる。その結果、行と列の役割は第1及び第2のRAMメモリ11、13で交換されるが、第2フェーズの始まりの前で第1フェーズ60の始まりの前と同じ前提条件になる。
【0043】
第2フェーズ70は、第1フェーズ60と完全に同様な行程で進む。第2フェーズ70の始めでは、第2のRAMメモリ13は、各列172バイトの208列の形でデータを保持しており、最初の192列はデータ領域を形成し、残りの16列はパリティ領域を形成している。第1サブフェーズ701において、ステップ710で、172バイトの第1列が第2のRAMメモリ13から読み出される。ステップ711で、この列は、10バイトの内部パリティ情報が第2のエンコーダ14によって付加され、ステップ712で、182バイトの行として出力部16を介して出力される。従って、第2のRAMメモリ13の第1列は、新しいデータで上書きされる。第2サブフェーズ702において、ステップ720で、192バイトの列が、第1のRAMメモリ11から読み出される。ステップ721で、この列は、16バイトの外部パリティ情報が第1のエンコーダ12によって付加され、ステップ722で、第2のRAMメモリ13のパリティ情報を解放された行に書き込まれる。第3サブフェーズ703が始まると、始めにステップ730で、データセクタの次のブロックの172バイトの行が入力部15を介して受信される。ステップ731で、この行は第1のRAMメモリ11の第1列に書き込まれる。ステップ732で、次の172バイトの列が第2のRAMメモリ13から読み出され、第2のエンコーダ14に転送される。ステップ733で、第2のエンコーダ14から10バイトの内部パリティ情報が付加され、ステップ734で出力部16を介して出力される。第2サブフェーズ702及び第3サブフェーズ703は、トータルで172回行われ、その場合ステップ720で、各ケース、n回の反復でn列目が第1のRAMメモリ11から読み出される。そして、外部パリティ情報が付加された後、ステップ722で、第2のRAMメモリ13のn行目に書き込まれる。加えてステップ730で、データセクタの次のブロックのn行目は、各ケースで受信され、そして、ステップ731で、第1のRAMメモリ11のn列目に書き込まれ、ステップ732で、第2のRAMメモリ13の(n+1)列目が読み出され、ステップ734でECCブロックのn+1行目として出力される。第2及び第3サブフェーズ702、703をトータル172回繰り返すと、第4サブフェーズ704が始まる。ステップ740で、データセクタの次のブロックの残りの各行172バイトの20行が入力部15を介して受信され、ステップ741で、第1のRAMメモリ11の対応する20列に書き込まれる。さらに、ステップ742で、まだ読み出されていない、残りの各列172バイトの35列が、第2のRAMメモリ13から読み出され、ステップ743で、10バイトの内部パリティ情報が、第2のエンコーダ14から列ごとに付加され、ステップ744で、各行182バイトの35行の形で出力部16を介して出力される。その結果、第4サブフェーズ704が終わると、データセクタの完全なブロックが第1のRAMメモリに書き込まれ、データセクタの完全なECCブロックが出力部16を介して出力される。さらに、第1のRAMメモリ11内にあるデータセクタのブロックは、第1のパリティ情報が付加され、第2のRAMメモリ13に書き込まれる。
【0044】
入力部15で入力されてくるデータストリームを連続して符号化することは、2つのフェーズ60、70の進行的な反復によって達成される。
【0045】
パリティ情報の付加は別として、符号化されるべきデータセクタのブロックもインターリーブされるのであれば、上記シーケンスは何らかの修正を加えなければならない。12行又は12列それぞれが、各ケースで、第2のRAMメモリ13から読み出され、外部パリティ情報が付加されて出力された後、行又は列それぞれは、追加的にパリティ領域から読み出され、パリティ情報が付加されて出力される。この行又は列それぞれは、再びすぐに上書きされるわけではなく、より正確に言えば、読み出し及び書き込みのメカニズムが、一瞬停止する。従って、ステップ642及び742で、35行又は35列ではなく残りの21行又は21列のみがそれぞれ進められる。
【0046】
本発明による復号化ユニットは、上記記述と同様に、しかし順序は逆で作動し、データは、各ケース、始めに復号化され、そのあとに格納される。この場合、符号化プロセスの間、エンコーダ12、14によってそのデータにパリティ情報が付加されるステップは、パリティ情報が付加されたデータがデコーダによってそのパリティ情報項目を解放する対応するステップで置き換えられる。さらに、データは、始めに内部パリティ情報を解放し、その後にのみ外部パリティ情報を解放する。言い換えるとその順序は、符号化プロセスの順序とは逆である。従来の技術と同様の説明がパリティ情報のデータを解放するのに適用する。厳密に言うと、誤り訂正の複雑な動作が関係している。
【図面の簡単な説明】
【図1】従来の技術による符号化ユニットを表す。
【図2】従来の技術による、符号化ユニットを用いたデータストリームの符号化方法を表す。
【図3】本発明による符号化ユニットを表す。
【図4】本発明による復号化ユニットを表す。
【図5】本発明による、符号化ユニットを用いたデータストリームの符号化方法を表す。
【符号の説明】
1 符号化ユニット
2 符号化ブランチ
3 符号化ブランチ
4 入力部
5 出力部
6 スイッチ
7 スイッチ
10 符号化ユニット
11 第1のRAMメモリ
12 第1のエンコーダ
13 第2のRAMメモリ
14 第2のエンコーダ
15 入力部
16 出力部
21 第1のメモリ
22 第1のエンコーダ
23 第2のメモリ
24 第2のエンコーダ
31 第1のメモリ
32 第1のエンコーダ
33 第2のメモリ
34 第2のエンコーダ
40 第1フェーズ
50 第2フェーズ
60 第1フェーズ
70 第2フェーズ

【特許請求の範囲】
【請求項1】
複数のデータセクタを有するECCブロックを生成する方法であって、該データセクタは、複数の行を備えたブロックの形で、行及び列の形で構成されたメモリ(11、13)内にバッファ記憶され、パリティ情報が付加される方法において、
連続的に受信されたデータセクタのブロックは、行ごとに、前記メモリ(11、13)の行又は列それぞれに交互に書き込まれることを特徴とするECCブロックを生成する方法。
【請求項2】
前記メモリ(11、13)は、第1のRAMメモリ(11)及び第2のRAMメモリ(13)を有することを特徴とする請求項1に記載の方法。
【請求項3】
前記第2のRAMメモリ(13)内にあって、第1のパリティ情報項目が付加され、かつデータ領域及びパリティ領域を有するデータセクタの第1のブロックは、読み出され(610、632、642、710、732、742)、第2のパリティ情報項目が付加され(611、633、643、711、733、743)、出力され(612、634、644、712、734、744)、
前記第1のRAMメモリ(11)内にあるデータセクタの第2のブロックは、読み出され(620、720)、前記第1のパリティ情報項目が付加され(621、721)、前記第2のRAMメモリ(13)内に格納される(622、722)ことを特徴とする請求項2に記載の方法。
【請求項4】
パリティ情報が付加されたデータセクタのECCブロックから、複数のデータセクタを回復する方法であって、前記ECCブロックが、行及び列の形で構成されたメモリ(11、13)内にバッファ記憶される方法において、
連続的に受信されたデータセクタのブロックは、行ごとに、前記メモリ(11、13)の行又は列それぞれに交互に書き込まれることを特徴とする方法。
【請求項5】
前記メモリ(11、13)は、第1のRAMメモリ(11)及び第2のRAMメモリ(13)を有することを特徴とする請求項4に記載の方法。
【請求項6】
前記第1のRAMメモリ(11)内にあって、第1のパリティ情報項目が付加されたデータセクタの第1のECCブロックは、読み出され、該第1のパリティ情報項目を解放し、前記第2のRAMメモリ(13)内に格納され、
第1及び第2のパリティ情報項目が付加された、続いて受信されたデータセクタの第2のECCブロックは、該第2のパリティ情報項目を解放し、前記第1のRAMメモリ(11)内に格納されることを特徴とする請求項5に記載の方法。
【請求項7】
データセクタの前記第1の(ECC)ブロックは、それが前記第2のRAMメモリ(13)に列ごとに書き込まれていれば、該第2のRAMメモリから行ごとに読み出され、該第2のRAMメモリに行ごとに書き込まれていれば、列ごとに読み出され、
データセクタの前記第2の(ECC)ブロックは、それが前記第1のRAMメモリ(11)の列に行ごとに書き込まれていれば、該第1のRAMメモリ(11)から行ごとに読み出されて、かつ前記第2のRAMメモリ(13)に行ごとに書き込まれ、
前記第2の(ECC)ブロックは、それが前記第1のRAMメモリ(11)の行に行ごとに書き込まれていれば、列ごとに読み出されて、かつ前記第2のRAMメモリ(13)に列ごとに書き込まれることを特徴とする請求項3又は6に記載の方法。
【請求項8】
更に続いて受信されたデータセクタの(ECC)ブロックは、データセクタの前記第2の(ECC)ブロックが、前記第1のRAMメモリ(11)から行ごともしくは列ごとにそれぞれ読み出されていれば、該第1のRAMメモリ(11)の行及び列それぞれに、行ごとに書き込まれることを特徴とする請求項7に記載の方法。
【請求項9】
各ケースで、前記第2のRAMメモリ(13)からの行又は列それぞれの読み出し直後に、前記対応する行又は列それぞれは、前記第1のRAMメモリ(11)から読み出され、前記第2のRAMメモリ(13)の現在の読み出し行又は列それぞれに書き込まれることを特徴とする請求項8に記載の方法。
【請求項10】
各ケースで、読み出し、パリティ情報の付加、そして前記第2のRAMメモリ(13)内の前記データ領域からの行又は列それぞれの固定数の出力というプロセスの後、行又は列それぞれは、前記第2のRAMメモリ(13)内の前記パリティ領域から読み出され、第2のパリティ情報項目が付加され、出力されて、そのとき読み出し行又は列それぞれは、直ちには上書きされないことを特徴とする請求項9に記載の方法。
【請求項11】
各ケースで、前記第1のRAMメモリ(11)からの行又は列それぞれの読み出し直後に、前記更に続いて受信されたデータセクタの(ECC)ブロックの対応する行は、前記現在の読み出し行又は列それぞれに書き込まれることを特徴とする請求項9又は10に記載の方法。
【請求項12】
前記第1のRAMメモリ(11)内に書き込まれたすべての行又は列それぞれの読み出しの後、前記更に続いて受信されたデータセクタの(ECC)ブロックの残りの行は、前記第1のRAMメモリ(11)の行又は列それぞれに書き込まれ、
前記第2のRAMメモリ(13)のすべての行又は列それぞれの読み出しの後、該第2のRAMメモリ(13)には前記第1のRAMメモリ(11)から読み出された対応する行又は列それぞれが上書きされ、前記第2のRAMメモリ(13)のまだ読み出されずに残っている行又は列それぞれは、読み出され、出力されることを特徴とする請求項11に記載の方法。
【請求項13】
データセクタの前記ブロックは、それぞれ、16個のデータセクタを有することを特徴とする請求項1から12のいずれか1項に記載の方法。
【請求項14】
データセクタの前記ブロックは、それぞれ、各行172バイトの192行を有することを特徴とする請求項1から3又は請求項7から13のいずれか1項に記載の方法。
【請求項15】
データセクタの前記ECCブロックは、それぞれ、各行182バイトの208行を有することを特徴とする請求項4から13のいずれか1項に記載の方法。
【請求項16】
前記第1のパリティ情報項目は16バイトを有し、前記第2のパリティ情報項目は10バイトを有することを特徴とする請求項1から15のいずれか1項に記載の方法。
【請求項17】
複数のデータセクタを有するECCブロックを生成する符号化ユニット(10)であって、該データセクタは、ブロックの形で、メモリ(11、13)内にバッファ記憶され、パリティ情報が付加される符号化ユニット(10)において、
該符号化ユニット(10)は、前記ECCブロックの生成のために、請求項1から3又は請求項7から13のいずれか1項に記載の方法を用いることを特徴とする符号化ユニット(10)。
【請求項18】
パリティ情報が付加されたECCブロックから、複数のデータセクタを回復する復号化ユニットであって、前記ECCブロックは、メモリ(11、13)内にバッファ記憶される復号化ユニットにおいて、
該復号化ユニットは、前記データセクタの回復のために、請求項4から13のいずれか1項に記載の方法を用いることを特徴とする復号化ユニット。
【請求項19】
請求項1から3又は請求項7から13のいずれか1項に記載の方法、又は、データストリームを符号化するための請求項17に記載の符号化ユニット(10)、又は、請求項4から13のいずれか1項に記載の方法、又は、データストリームを復号化するための請求項18に記載の復号化ユニットを用いることを特徴とする記憶媒体からの読み出し及び/又は該記憶媒体への書き込みのための装置。
【請求項20】
請求項1から3又は請求項7から13のいずれか1項に記載の方法、又は、通信されるべき前記データストリームを符号化するための請求項17に記載の符号化ユニット(10)を用いることを特徴とするデジタルデータストリームを通信するための方法。
【請求項21】
請求項4から13のいずれか1項に記載の方法、又は、受信されたデータストリームを復号化するための請求項18に記載の復号化ユニットを用いることを特徴とするデジタルデータストリームを受信するための方法。
【請求項22】
請求項1から13、20又は21のいずれか1項に記載の方法を実行するためのコンピュータプログラム製品。

【図1】
image rotate



【図2】
image rotate



【図3】
image rotate



【図4】
image rotate



【図5】
image rotate


【公開番号】特開2004−7587(P2004−7587A)
【公開日】平成16年1月8日(2004.1.8)
【国際特許分類】
【外国語出願】
【出願番号】特願2003−110481(P2003−110481)
【出願日】平成15年4月15日(2003.4.15)
【出願人】(501263810)トムソン ライセンシング ソシエテ アノニム (2,848)
【氏名又は名称原語表記】Thomson Licensing S.A.
【Fターム(参考)】