以下に、この発明の理解を容易とするために、ビタビ復号方法を行う再生系を有する記録/再生装置の一例について、装置の全体構成、記録媒体のセクタフォーマット、4値4状態ビタビ復号方法の概要、4値4状態ビタビ復号方法を実現するビタビ復号器の構成および動作、および4値4状態ビタビ復号方法以外のビタビ復号方法の順に説明する。
〔ディスク記録再生装置の概要〕
以下、ビタビ復号方法を行う再生系を有する記録/再生装置の一例について説明する。図1は、ビタビ復号方法を行う再生系を有する光磁気ディスク装置の一例の全体構成を示すブロック図である。記録時には、コントローラ2がホストコンピュータ1の指令に従って、記録すべきユーザデータを受取り、情報語としてのユーザデータに基づいてエンコードを行って、符号語としてのRLL(1,7)符号を生成する。この符号語が記録データとしてレーザパワーコントロール部(以下、LPCと表記する)4に供給される。コントローラ2は、このような処理の他に、後述する復号化処理、および記録、再生、消去等の各モードの制御、並びにホストコンピュータ1との交信等の動作を行う。
LPC4は、供給された記録データに対応して、光ピックアップ7のレーザパワーを制御して光磁気ディスク6上に磁気極性を有するピット列を形成することにより、記録を行う。この記録の際に、磁気ヘッド5が光磁気ディスク6にバイアス磁界を付与する。実際には、記録データに基づいて後述するように生成されるプリコード出力に従って、後述するようなマークエッジ記録が行われる。
後述するように、記録位置すなわちピットの形成位置の制御は、磁気ヘッド5および光ピックアップ7等の位置決めを行う、図示しない手段によってなされる。このため、記録動作時においても、光ピックアップ7がアドレス部等を通過する際には、後述するような再生時の動作と同様な動作が行われる。
上述したようにして形成される各ピットを、記録データに基づいて後述するようにして生成されるプリコード出力中の各ビットに対応させる方法について、図2を参照して説明する。プリコード出力中の、例えば'1' に対してピットを形成し、'0' に対してピットを形成しない記録方法をマーク位置記録方法と称する。一方、各ピットのエッジによって表現される、プリコード出力中の各ビットの境界における極性の反転を、例えば'1' に対応させる記録方法をマークエッジ記録方法と称する。再生時には、再生信号中の各ビットの境界は、後述するようにして生成されるリードクロックDCKに従って認識される。
次に、再生系の構成および動作について説明する。光ピックアップ7は、光磁気ディスク6にレーザ光を照射し、それによって生じる反射光を受光して、再生信号を生成する。再生信号は、和信号R+ 、差信号R- および図示しないフォーカスエラー信号ならびにトラッキングエラー信号の4種類の信号からなる。和信号R+ は、アンプ8によってゲイン調整等がなされた後に切替えスイッチ10に供給される。また、差信号R- は、アンプ9によってゲイン調整等がなされた後に切替えスイッチ10に供給される。さらに、フォーカスエラー信号は、フォーカスエラーを解消する手段(図示せず)に供給される。一方、トラッキングエラー信号は、図示しないサーボ系等に供給され、それらの動作において用いられる。
切替えスイッチ10には、後述するような切替え信号Sが供給される。切替えスイッチ10は、この切替え信号Sに従って、以下のように、和信号R+ または差信号R- をフィルタ部11に供給する。すなわち、後述するような光磁気ディスク6のセクタフォーマットにおいて、エンボス加工によって形成される部分から再生される再生信号が切替えスイッチ10に供給される期間には、和信号R+ をフィルタ部11に供給する。また、光磁気的に記録される部分から再生される再生信号が切替えスイッチ10に供給される期間には、差信号R- をフィルタ部11に供給する。
切替え信号Sは、例えば次のようにして生成される。すなわち、まず、再生信号から、セクタフォーマットに規定される所定のパターンから再生される信号を検出する。このような所定のパターンとしては、例えば後述するセクタマークSM等が用いられる。そして、かかる検出がなされた時点を基準として、後述するリードクロックを数える等の方法によって認識される所定時点において、切替え信号Sが生成される。
フィルタ部11は、ノイズカットを行うローパスフィルタおよび波形等化を行う波形等化器から構成される。後述するように、この際の波形等化処理において用いられる波形等化特性は、ビタビ復号器13が行うビタビ復号方法に適合するものとされる。フィルタ部11の出力を供給されるA/D変換器12は、後述するようにして供給されるリードクロックDCKに従って再生信号値z〔k〕をサンプリングする。ビタビ復号器13は、再生信号値z〔k〕に基づいて、ビタビ復号方法によって復号データを生成する。かかる復号データは、上述したようにして記録される記録データに対する最尤復号系列である。従って、復号エラーが無い場合には、復号データは、記録データと一致する。
復号データは、コントローラ2に供給される。上述したように、記録データは、ユーザデータからチャンネル符号化等の符号化によって生成された符号語である。従って、復号エラーレートが充分低ければ、復号データは、符号語としての記録データとみなすことができる。コントローラ2は、復号データに、上述のチャンネル符号化等の符号化に対応する復号化処理を施すことにより、ユーザデータ等を再生する。
また、フィルタ部11の出力は、PLL部14にも供給される。PLL部14は、供給された信号に基づいて、リードクロックDCKを生成する。リードクロックDCKは、コントローラ2、A/D変換器12、ビタビ復号器13等に供給される。コントローラ2、A/D変換器12、ビタビ復号器13の動作は、リードクロックDCKに従うタイミングでなされる。さらに、リードクロックDCKは、図示しないタイミングジェネレータに供給される。タイミングジェネレータは、例えば、記録/再生動作の切替え等の装置の動作タイミングを制御する信号を生成する。
上述したような再生動作において、光磁気ディスク6から再生される再生信号に基いて、より正しい再生データを得るために、再生系の各構成要素の動作を再生信号の品質に応じて適正化することが行われる。このような操作をキャリブレーションと称する。キャリブレーションは、再生信号の品質等が例えば加工精度等の記録媒体の特性、および例えば記録用レーザ光のパワーの変動、周囲温度等の記録/再生時の条件等によって変化する可能性があることに対応するために再生系のパラメータを適正化するためのものである。
キャリブレーションの内容は、例えば光ピックアップ7の読取り用レーザ光パワーの調整、アンプ8および9のゲインの調整、フィルタ部11の波形等化特性の調整、およびビタビ復号器13の動作において用いられる振幅基準値の調整等である。このようなキャリブレーションは、電源投入直後または記録媒体の交換時等に、図1中には図示しない構成によって行われる。
〔記録媒体のセクタフォーマットの概要〕
光磁気ディスク6には、セクタを記録/再生の単位としてユーザデータが記録される。図3を参照して、光磁気ディスク6において用いられるセクタフォーマットの一例について説明する。図3Aに示すように、1セクタは、記録/再生の順に従って、ヘッダ、ALPC,ギャップ、VFO3 、シンク、データフィールド、バッファの各エリアに区分されている。図3中に付した数字は、バイト数を表す。光磁気ディスク6上には、ブロック符号化等の符号化がなされたデータが記録される。例えば8ビットが12チャンネルビットに変換されて記録される。
このセクタフォーマットの一例においては、ユーザデータ量が1024バイトのフォーマットと、ユーザデータ量が512バイトのフォーマットとが用意されている。ユーザデータ量が1024バイトのフォーマットでは、データフィールドのバイト数が670バイトとされる。また、ユーザデータ量が512バイトのフォーマットでは、データフィールドのバイト数が1278バイトとされる。これら2つのセクタフォーマットにおいて、63バイトのプリフォーマットされたヘッダと、ALPC,ギャップエリアの18バイトは、同一とされている。
図3Bは、63バイトのヘッダを拡大して示す。ヘッダは、セクタマークSM(8バイト)、VFOフィールドのVFO1 (26バイト)、アドレスマークAM(1バイト)、IDフィールドのID1 (5バイト)、VFOフィールドのVFO2 (16バイト)、アドレスマークAM(1バイト)、IDフィールドのID2 (5バイト)、およびポストアンブルPA(1バイト)が順に配列された構成とされている。
図3Cは、18バイトのALPC,ギャップエリアを拡大して示す。18バイトは、ギャップフィールド(5バイト)、フラグフィールド(5バイト)、ギャップフィールド(2バイト)、ALPC(6バイト)からなる。
次に、これらのフィールドについて説明する。セクタマークSMは、セクタの開始を識別するためのマークであり、RLL(1,7)符号において生じないエンボス加工によって形成されたパターンを有する。VFOフィールドは、上述のPLL部18中のVFO(Variable Frequency Oscillator) を同期させるためのもので、VFO1 、VFO2 およびVFO3 からなる。VFO1 およびVFO2 は、エンボス加工によって形成されている。また、VFO3 は、そのセクタに対して記録動作が行われる際に光磁気的に書かれる。VFO1 、VFO2 およびVFO3 は、それぞれチャンネルビットの'0' と'1' が交互に現れるパターン(2Tパターン)を有する。従って、1チャンネルビットの時間長に対応する時間をTとすると、VFOフィールドを再生した時に、2T毎にレベルが反転する再生信号が得られる。
アドレスマークAMは、後続のIDフィールドのためのバイト同期を装置に対して与えるために使用され、RLL(1,7)符号において生じないエンボスされたパターンを有する。IDフィールドは、セクタのアドレス、すなわち、トラック番号およびセクタ番号の情報と、これらの情報に対するエラー検出用のCRCバイトを有する。IDフィールドは、5バイトからなる。ID1 およびID2 によって、同一のアドレス情報が二重に記録される。ポストアンブルPAは、チャンネルビットの'0' と'1' とが交互に現れるパターン(2Tパターン)を有する。ID1 、ID2 およびポストアンブルPAも、エンボス加工によって形成されている。このように、ヘッダの領域は、エンボス加工によりピットが形成されたプリフォーマットされた領域である。
図3Cは、ALPC,ギャップエリアを拡大して示す。ギャップには、ピットが形成されない。最初のギャップフィールド(5バイト)は、プリフォーマットされたヘッダの後の最初のフィールドであり、これによって、ヘッダの読取りを完了した後の処理に装置が要する時間が確保される。2番目のギャップフィールド(2バイト)は、後のVFO3 の位置のずれを許容するためのものである。
ALPC,ギャップエリアには、5バイトのフラグフィールドが記録される。フラグフィールドは、セクタのデータが記録される時に、連続した2Tパターンが記録される。ALPC(Auto Laser Power Control)フィールドは、記録時のレーザパワーをテストするために設けられている。シンクフィールド(4バイト)は、続くデータフィールドのためのバイト同期を装置が得るために設けられており、所定のビットパターンを有する。
データフィールドは、ユーザデータを記録するために設けられる。上述した670バイトのデータフィールドには、512バイトのユーザデータと、144バイトのエラー検出、訂正用のパリティ等と、12バイトのセクタ書込みフラグと、2バイト(FF)とからなる。また、1278バイトのデータフィールドの場合には、1024バイトのユーザデータと、242バイトのエラー検出、訂正用のパリティ等と、12バイトのセクタ書込みフラグとからなる。セクタの最後のバッファフィールドは、電気的、あるいは機械的な誤差に対する許容範囲として使用される。
上述したセクタフォーマットの例において、ヘッダは、エンボス加工によりピットが形成されたエリアである。また、ALPC,ギャップエリアは、再生時には、使用されないエリアである。さらに、VFO3 、シンクフィールドおよびデータフィールドは、光磁気記録されたデータのエリアである。
〔4値4状態ビタビ復号方法の概要〕
以下、ビタビ復号器13によって行われるビタビ復号方法について説明する。上述したように、ユーザデータは、様々な符号化方法によって記録データとしての符号語に変換される。符号化方法は、記録媒体の性質および記録/再生方法等に応じて適切なものが採用される。光磁気ディスク装置においては、ブロック符号化において、Run Lengthすなわち'1' と'1' の間の'0' の数を制限するRLL(Run Length Limited)符号化方法が用いられることが多い。従来から幾つかのRLL符号化方法が用いられている。一般に、'1' と'1' の間の'0' の数を最小でd個、最大でk個とするm/nブロック符号をRLL(d,k;m,n)符号と称する。
例えば、2/3ブロック符号において、'1' と'1' の間の'0' の数を最小で1個、最大で7個とするブロック符号化方法は、RLL(1,7;2,3)符号である。一般にRLL(1,7;2,3)符号をRLL(1,7)符号と称することが多いので、以下の説明においても単にRLL(1,7)符号と表記した場合には、RLL(1,7;2,3)符号を指すことにする。
このようなRLL符号化方法と、上述したマークエッジ記録方法との組合わせによって記録されたデータから再生される再生信号を復号するために、ビタビ復号方法を用いることができる。
このようなRLL符号化方法は、記録密度の向上、および再生動作の安定性の確保という2つの観点から、符号化方法に要求される条件に対応できるものである。まず、上述したように、マークエッジ記録方法は、記録データに基づいて後述するように生成されるプリコード出力における'1' を各ピットのエッジによって表現される極性の反転に対応させるものなので、'1' と'1' の間の'0' の数を多くする程、各ピット1個当たりに記録されるビット数を大きくすることができる。従って、記録密度を大きくすることができる。
一方、再生系の動作タイミングを合わせるために必要なリードクロックDCKは、上述したように、再生信号に基づいてPLL部14によって生成される。このため、記録データにおいて'1' と'1' の間の'0' の数を多くすると、再生動作の際にPLL部の動作が不安定となるので、再生動作全体が不安定なものとなる。
これら2つの条件を考慮すると、'1' と'1' の間の'0' の数は、多過ぎたり、少な過ぎたりしない、適切な範囲内に設定される必要がある。このような、記録データ中の'0' の数の設定に関して、RLL符号化方法が有効となる。
ところで、図4に示すように、上述したRLL(1,7)符号化方法とマークエッジ記録方法の組み合わせにおいては、記録データに基づいて生成されるプリコード出力中の'1' と'1' の間に最低1個の'0' が含まれるので、最小反転幅が2となる。このような、最小反転幅が2となる符号化方法が用いられる場合に、符号間干渉およびノイズ等の影響を受けている再生信号から記録データを復号する方法として、後述するように、4値4状態ビタビ復号方法を適用することができる。
上述したように、再生信号には、フィルタ部11によって波形等化処理がなされる。ビタビ復号方法の前段としてなされるこのような波形等化処理には、符号間干渉を積極的に利用するパーシャルレスポンス方法が用いられる。この際に用いられる波形等化特性は、一般に(1+D)n で表されるパーシャルレスポンス特性の内から、記録/再生系の線記録密度およびMTF(Modulation Transfer Function)を考慮して決められる。上述したRLL(1,7)符号化方法とマークエッジ記録方法の組み合わせによって記録されたデータに対して、PR(1,2,1)を用いる波形等化処理は、4値4状態ビタビ復号方法の前段となる。
一方、マークエッジ記録方法においては、光磁気ディスク媒体等に対する実際の記録に先立って、上述のRLL符号化等によって符号化された記録データに基づくプリコードが行われる。各時点kにおける記録データ列をa〔k〕、これに基づくプリコード出力をb〔k〕とすると、プリコードは、以下のように行われる。
b〔k〕=mod2{a〔k〕+b〔k−1〕} (1)
このようなプリコード出力b〔k〕が実際に光磁気ディスク媒体等に記録される。一方、フィルタ部11中の波形等化器によってなされる、波形等化特性PR(1,2,1)での波形等化処理について説明する。但し、以下の説明においては、信号の振幅を規格化せずに、波形等化特性をPR(B,2A,B)とする。また、ノイズを考慮しない場合の再生信号の値をc〔k〕と表記する。さらに、ノイズを含む実際の再生信号(すなわち、記録媒体から再生された再生信号)をz〔k〕と表記する。
PR(B,2A,B)は、ある時点kにおける再生信号の値に対して、時点kにおける振幅の寄与が振幅値の2A倍とされ、さらに前後の時点k−1およびk+1における振幅の寄与が各々の時点での信号の振幅のB倍とされるものである。従って、再生信号の値の最大値は、時点k−1、k、k+1において何れもパルスが検出される場合である。このような場合には、再生信号の値の最大値は、以下のようになる。
B+2A+B=2A+2B
また、再生信号の値の最小値は0となる。但し、実際の取り扱いにおいては、c〔k〕として、DC成分のA+Bを差し引いた以下のようなものが用いられる。
c〔k〕=B×b〔k−2〕+2A×b〔k−1〕+B×b〔k〕
−A−B (2)
従って、ノイズを考慮しない場合の再生信号c〔k〕は、A+B,A,−A,−A−Bの内の何れかの値をとることになる。一般に、再生信号の性質を示す方法の1つとして、例えば5個の時点を単位として、再生信号を多数重ね合わせたものをアイパターンと称する。この発明を適用することができる光磁気ディスク装置において、PR(B,2A,B)の下で波形等化処理された実際の再生信号z〔k〕についてのアイパターンの一例を図5に示す。図5から各時点における再生信号z〔k〕の値は、ノイズによるばらつきを有するが、ほぼ、A+B,A,−A,−A−Bの内の何れかになることが確認できる。後述するように、A+B,A,−A,−A−Bの値は、識別点として用いられる。
上述したような波形等化処理がなされた再生信号を復号する、ビタビ復号方法の概略は、次のようなものである。ステップ(1)符号化方法および記録媒体に対する記録方法に基
づいて、生じ得る全ての状態を特定する。ステップ(2)ある時点における各状態を起点と
して、次の時点において生じ得る全ての状態遷移と、各状態遷移が生じる時の記録データa〔k〕および再生信号の値c〔k〕を特定する。ステップ(1)および(2)の結果として特定された全ての状態および状態遷移と、各状態遷移が生じる時の〔記録データの値a〔k〕/再生信号の値c〔k〕〕を図の形式で表現したものを状態遷移図と称する。後述するように、4値4状態ビタビ復号方法における状態遷移図は、図7に示すようなものである。そして、この状態遷移図に基づく復号動作を行うように、ビタビ復号器13が構成される。
さらに、ステップ(3)において、上述したように、状態遷移図を前提として、記録媒体
から各時点kにおいて再生される再生信号z〔k〕に基づく最尤な状態遷移が選択される。但し、上述したように、z〔k〕は、ビタビ復号器13に供給される前段において波形等化されたものである。このような最尤な状態遷移の選択がなされる毎に、選択された状態遷移に対応して、状態遷移図に記載された記録データa〔k〕の値を復号値とすることによって、記録データに対する最尤復号値系列としての復号データa' 〔k〕を得ることができる。但し、各時点kにおける復号データ値から、最尤復号値系列とするための構成は、後述するビタビ復号器13中のPMU23である。従って、上述したように、復号データ列a' 〔k〕は、復号エラーが無い場合には、記録データ列a〔k〕と一致する。上述のステップ(1)〜ステップ(3)について、以下に詳細に説明する。
上述のステップ(1)について説明する。まず、ここで用いられる状態として、ある時点
kにおける状態を、時点kおよびそれ以前のプリコード出力を用いて次のように定義する。すなわち、n=b〔k〕、m=b〔k−1〕、l=b〔k−2〕の時の状態をSnml と定義する。このような定義によって、23 =8個の状態があると考えられるが、上述したように、実際に生じ得る状態は、符号化方法等に基づいて制限される。RLL(1,7)符号として符号化された記録データ列a〔k〕においては、'1' と'1' の間に最低1個の'0' が含まれるので、2個以上の'1' が連続することが無い。記録データ列a〔k〕に課されるこのような条件に基づいてプリコード出力b〔k〕について一定の条件が課され、その結果として生じ得る状態に制限が加えられる。
このような制限について具体的に説明する。上述したようにRLL(1,7)符号化によって生成される記録データ列中に、2個以上の'1' が連続するもの、すなわち以下のものはあり得ない。
a〔k〕=1,a〔k−1〕=1,a〔k−2〕=1 (3)
a〔k〕=1,a〔k−1〕=1,a〔k−2〕=0 (4)
a〔k〕=0,a〔k−1〕=1,a〔k−2〕=1 (5)
記録データ列に課されるこのような条件に基づいて、上述の(1)式に従ってb〔k〕について課される条件について検討すると、S010およびS101の2個の状態は生じ得ないことがわかる。従って、生じ得る状態は、23 −2=6個である。
次に、ステップ(2)について説明する。ある時点jにおける状態を起点として、次の時
点j+1において生じ得る状態を求めるためには、時点j+1における記録データの値a〔j+1〕が1となる場合、および0となる場合に分けて調べる必要がある。
ここでは、状態S000を例として説明する。上述の(1)式に従って、S000すなわちn=b〔j〕=0,l=b〔j−1〕=0,m=b〔j−2〕=0とプリコードされる記録データとしては、以下の2個が考えられる。
a〔j〕=0、a〔j−1〕=0、a〔j−2〕=1 (6)
a〔j〕=0、a〔j−1〕=0、a〔j−2〕=0 (7)
〔a〔j+1〕=1の時〕
この時、(1)式に従って、b〔j+1〕は、以下のように計算される。
b〔j+1〕=mod2{a〔j+1〕+b〔j〕}
=mod2{ 1 + 0 }
=1 (8)
従って、再生信号c〔j〕の値は、上述の(2)式に従って、次のように計算される。
c〔j+1〕={B×b〔j+1〕+2A×b〔j〕+B×b〔j−1〕}
−A−B
={B×1+2A×0+B×0}−A−B
=−A (9)
また、次の時点j+1での状態Snlm については、n=b〔j+1〕,l=b〔j〕,m=b〔j−1〕である。そして、上述したようにb〔j+1〕=1,b〔j〕=0,b〔j−1〕=0となるので、次の時点j+1における状態は、S100である。従って、a〔j+1〕=1の場合には、S000→S100という遷移が生じることが特定できる。
〔a〔j+1〕=0の時〕
この時、(1)式に従って、b〔j+1〕は、以下のように計算される。
b〔j+1〕=mod2{a〔j+1〕+b〔j〕}
=mod2{ 0 + 0}
=0 (10)
従って、再生信号c〔j+1〕の値は、上述の(2)式に従って、次のように計算される。
c〔j+1〕={B×b〔j+1〕+2A×b〔j〕+B×b〔j−1〕}
−A−B
={B×0+2A×0+B×0}−A−B
=−A−B (11)
また、次の時点j+1における状態Snlm については、n=b〔j+1〕,l=b〔j〕,m=b〔j−1〕である。そして、上述したようにb〔j+1〕=0,b〔j〕=0,b〔j−1〕=0となるので、次の時点における状態は、S000である。従って、a〔j+1〕=0の場合には、S000→S000という遷移が生じることが特定できる。
このようにして、時点jにおけるS000以外の各状態についても、それらを起点として次の時点j+1において生じ得る状態遷移と、そのような各状態遷移が生じる時の記録データ値a〔j+1〕および再生信号値c〔j+1〕との対応を求めることができる。
上述したようにして、各状態について、それらを起点として生じ得る状態遷移と、各状態遷移が生じる時の記録データの値および再生信号の値との対応を求め、図の形式に表したものが図6である。上述の時点jおよびj+1は、特別の時点ではない。従って、上述したようにして求まる、生じ得る状態遷移とそれらに伴う記録データの値および再生信号の値との対応は、任意の時点において適用することができる。このため、図6においては、任意の時点kにおいて生じる状態遷移に伴う記録データの値をa〔k〕と表記し、再生信号の値をc〔k〕と表記する。
図6において、状態遷移は、矢印によって表される。また、各矢印に付した符号が〔記録データ値a〔k〕/再生信号値c〔k〕〕を示している。状態S000,S001,S111およびS110を起点とする状態遷移は、2通り有るのに対して、状態S011およびS100を起点として生じ得る遷移は1通りのみである。
さらに、図6においてS000とS001は、何れもa〔k〕=1に対しては、c〔k〕=−Aという値を取り、S100に遷移している。一方、a〔k〕=0に対しては、c〔k〕=−A−Bという値を取り、S000に遷移している。また、S111とS110も同様に、同じa〔k+1〕の値について同じc〔k+1〕の値を取り、且つ、同じ状態に遷移している。従って、S000とS001をまとめてS0と表現し、S111とS110をまとめてS2と表現することができる。さらに、S011をS3とし、S100をS1と表現することにして、整理したものが図7である。
上述したように、図7が4値4状態ビタビ復号方法に用いられる状態遷移図である。図7中には、S0〜S3の4個の状態、および再生信号c〔k+1〕の値としての−A−B,−A,A,A+Bの4個の値が示されている。状態S0およびS2を起点とする状態遷移は、2通り有るのに対して、状態S1およびS3を起点とする状態遷移は、1通りのみである。
一方、状態遷移を時間に沿って表現する形式として、図8に示すようなトレリス線図が用いられる。図8では、2個の時点間の遷移を示しているが、さらに多数の時点間の遷移を示すこともできる。時間経過に伴い、順次右の時点に遷移していく様子が表現される。従って、水平な矢印は、例えばS0→S0等の同じ状態への遷移を表し、斜めの矢印は、例えばS1→S2等の異なる状態への遷移を表すことになる。
上述したビタビ復号方法のステップ(3)、すなわち図7に示した状態遷移図を前提とし
て、ノイズを含む実際の再生信号z〔k〕から最尤な状態遷移を選択する方法について以下に説明する。
最尤な状態遷移を選択するためには、まず、ある時点kにおける状態について、その状態に至る過程において経由してきた複数時点間の状態遷移の尤度の和を計算し、さらに、計算された尤度の和を比較して、最尤の復号系列を選択することが必要である。このような尤度の和をパスメトリックと称する。
パスメトリックを計算するためには、まず、隣接する時点間の状態遷移の尤度を計算することが必要となる。このような尤度の計算は、上述の状態遷移図を参照して、再生信号z〔k〕の値に基づいて以下のようになされる。まず、一般的な説明として、時点k−1において、状態Saである場合について考える。この時、ビタビ復号器31に再生信号z〔k〕が入力された場合に、状態Sbへの状態遷移が生じる尤度が次式に従って計算される。但し、状態Saおよび状態Sbは、図7の状態遷移図に記載されている4個の状態の何れかとする。
(z〔k〕−c(Sa,Sb))2 (12)
上式において、c(Sa,Sb)は、状態Saから状態Sbへの状態遷移について、図7の状態遷移図に記載されている再生信号の値である。すなわち、上述の図7において、例えば状態遷移S0→S1について、−Aと算出されている値である。従って、式(12)は、ノイズを含む実際の再生信号z〔k〕の値と、ノイズを考慮せずに計算された再生信号c(Sa,Sb)の値の間のユークリッド距離となる。ある時点におけるパスメトリックは、その時点に至るまでのこのような隣接時点間の状態遷移の尤度の総和として定義される。
ところで、時点kにおいて状態Saである場合を考える。この場合に、時点k−1において状態Saに遷移し得る状態をSpとすれば、パスメトリックL(Sa,k)は、時点k−1におけるパスメトリックを用いて次式のように計算される。
L(Sa,k)
=L(Sp,k−1)+(z〔k〕−c(Sp,Sa))2 (13)
すなわち、時点k−1において状態Spに至った場合のパスメトリックL(Sp,k−1)と、時点k−1と時点kの間で生じるSp→Saなる状態遷移の尤度(z〔k〕−c(Sp,Sa))2 とを加算することによって、パスメトリックL(Sa,k)が計算される。この(z〔k〕−c(Sp,Sa))2 のような、最新の状態遷移の尤度は、ブランチメトリックと称される。但し、ここでのブランチメトリックは、後述するビタビ復号器13中のブランチメトリック計算回路(BMC)20によって計算されるブランチメトリック、すなわち、規格化メトリックに対応するブランチメトリックとは、別のものであることに注意が必要である。
また、時点kにおいて状態Saである場合に、時点k−1において状態Saに遷移し得る状態が複数個存在することがある。図7においては、状態S0およびS2がこのような場合である。すなわち時点kにおいて状態S0である場合に、時点k−1において状態S0に遷移し得る状態は、S0とS3の2個である。また、時点kにおいて状態S2である場合に、時点k−1において状態S2に遷移し得る状態は、S1とS2の2個である。一般的な説明として、時点kにおいて状態Saであり、且つ、時点k−1において状態Saに遷移し得る状態がSpおよびSqの2個である場合に、パスメトリックL(Sa,k)は、次式のように計算される。
L(Sa,k)
=min{L(Sp,k−1)+(z〔k〕−c(Sp,Sa))2 ,
L(Sq,k−1)+(z〔k〕−c(Sq,Sa))2 }(14)
すなわち、時点k−1において状態Spであり、Sp→Saなる状態遷移によって状態Saに至った場合と、時点k−1において状態Sqであり、Sq→Saなる状態遷移によって状態Saに至った場合の各々について、尤度の和を計算する。そして、各々の計算値を比較し、より小さい値を時点kにおける状態Saに関するパスメトリックL(Sa,k)とする。
このようなパスメトリックの計算を、図7を用いて上述した4値4状態について具体的に適用すると、時点kにおける各状態S0,S1,S2およびS3についてのパスメトリックL(0,k),L(1,k),L(2,k)およびL(3,k)は、時点k−1における各状態S0〜S3についてのパスメトリックL(0,k−1)〜L(3,k−1)を用いて以下のように計算できる。
L(0,k)=min{L(0,k−1)+(z〔k〕+A+B)2 ,
L(3,k−1)+(z〔k〕+A)2 } (15)
L(1,k)=L(0,k−1)+(z〔k〕+A)2 (16)
L(2,k)=min{L(2,k−1)+(z〔k〕−A−B)2
L(1,k−1)+(z〔k〕−A)2 } (17)
L(3,k)=L(2,k−1)+(z〔k〕−A)2 (18)
上述したように、このようにして計算されるパスメトリックの値を比較して、最尤な状態遷移が選択されれば良い。ところで、最尤な状態遷移を選択するためには、パスメトリックの値そのものを計算しなくても、パスメトリックの値の比較ができれば良い。そこで、実際の4値4状態ビタビ復号方法においては、パスメトリックの代わりに以下に定義するような規格化パスメトリックを用いることにより、各時点kにおけるz〔k〕に基づく計算を容易なものとするようになされる。
m(i,k)
=〔L(i,k)−z〔k〕2 −(A+B)2 〕/2/(A+B)(19)
式(19)をS0〜S3の各状態に適用すると、具体的な規格化パスメトリックは、以下のように2乗計算を含まないものとなる。このため、後述する、加算、比較、選択回路(ACS)21における計算を容易なものとすることができる。
m(0,k)=min{m(0,k−1)+z〔k〕,
m(3,k−1)+α×z〔k〕−β} (20)
m(1,k)=m(0,k−1)+α×z〔k〕−β (21)
m(2,k)=min{m(2,k−1)−z〔k〕,
m(1,k−1)−α×z〔k〕−β} (22)
m(3,k)=m(2,k−1)+α×z〔k〕−β (23)
但し、式(20)〜(23)中のαおよびβは、以下のようなものである。
α=A/(A+B) (24)
β=B×(B+2×A)/2/(A+B) (25)
このような規格化パスメトリックに基づく4値4状態ビタビ復号方法における状態遷移の条件について図9に示す。上述の4個の規格化パスメトリックの内に、2個から1個を選択する式が2つあるので、2×2=4通りの条件がある。
〔4値4状態ビタビ復号器の概要〕
上述した4値4状態ビタビ復号方法を実現するビタビ復号器13について以下に説明する。図10にビタビ復号器13の全体構成を示す。ビタビ復号器13は、ブランチメトリック計算回路(以下、BMCと表記する)20、加算、比較および選択回路(以下、ACSと表記する)21、圧縮およびラッチ回路22およびパスメモリユニット(以下、PMUと表記する)23から構成される。これらの各構成要素に対して上述のリードクロックDCK(以下の説明においては、単にクロックと表記する)が供給されることにより、ビタビ復号器13全体の動作タイミングが合わされる。以下、各構成要素について説明する。
BMC20は、入力される再生信号z〔k〕に基づいて、規格化パスメトリックに対応するブランチメトリックの値BM0,BM1,BM2およびBM3を計算する。BM0〜BM3は、上述の式(20)〜(23)の規格化パスメトリックを計算するために必要とされる、以下のようなものである。
BM0=z(k) (26)
BM1=α×z〔k〕−β (27)
BM2=−z(k) (28)
BM3=−α×z〔k〕−β (29)
この計算に必要なαおよびβは、上述の式(24)および(25)に従ってBMC20によって計算される基準値である。かかる計算は、例えば再生信号z〔k〕に基づくエンベロープ検出等の方法で検出され、BMC20に供給される識別点−A−B,−A,AおよびA+Bの値に基づいてなされる。
BM0〜BM3の値は、ACS21に供給される。一方、ACS21は、後述するような圧縮およびラッチ回路22から、1クロック前の規格化パスメトリックの値(但し、後述するように圧縮のなされたもの)M0,M1,M2およびM3を供給される。そして、M0〜M3と、BM0〜BM3とを加算して、後述するようにして、最新の規格化パスメトリックの値L0,L1,L2およびL3を計算する。M0〜M3が圧縮のなされたものであるため、L0〜L3を計算する際のオーバーフローを避けることができる。
さらに、ACS21は、最新の規格化パスメトリックの値L0〜L3に基づいて、後述するように、最尤な状態遷移を選択し、また、選択結果に対応して、パスメモリ23に供給される選択信号SEL0およびSEL2を'High'または'Low' とする。
また、ACS21は、L0〜L3を圧縮およびラッチ回路22に供給する。圧縮およびラッチ回路22は、供給されるL0〜L3を圧縮した後にラッチする。その後、1クロック前の規格化パスメトリックM0〜M3としてACS21に供給する。
この際の圧縮の方法としては、例えば以下に示すように、最新の規格化パスメトリックL0〜L3から、そのうちの1個、例えばL0を一律に差し引く等の方法が用いられる。
M0=L0−L0 (30)
M1=L1−L0 (31)
M2=L2−L0 (32)
M3=L3−L0 (33)
この結果として、M0が常に0の値をとることになるが、以下の説明においては、一般性を損なわないために、このままM0と表記する。式(30)〜(33)によって計算されるM0〜M3の値の差は、L0〜L3の値の差と等しいものとなる。上述したように、最尤な状態遷移の選択においては、規格化パスメトリック間の値の差のみが問題となる。従って、このような圧縮方法は、最尤な状態遷移の選択結果に影響せずに規格化パスメトリックの値を圧縮し、オーバーフローを防止する方法として有効である。このように、ACS21と圧縮およびラッチ回路22は、規格化パスメトリックの計算に関するループを構成する。
上述のACS21について、図11を参照してより詳細に説明する。ACS21は、6個の加算器51、52、53、54、56、58および2個の比較器55、57から構成される。一方、上述したようにACS21には、1クロック前の圧縮された規格化パスメトリックの値M0〜M3および規格化パスメトリックに対応するブランチメトリックの値BM0〜BM3が供給される。
加算器51には、M0およびBM0が供給される。加算器51は、これらを加算して以下のようなL00を算出する。
L00=M0+BM0 (34)
上述したように、M0は、時点k−1において状態S0に至った場合に、経由してきた状態遷移の総和に対応する圧縮された規格化パスメトリックである。また、BM0は、時点kにおいて入力される再生信号z〔k〕に基づいて上述の(26)式に従って計算されるもの、すなわちz〔k〕の値そのものである。従って、式(34)の値は、上述したような圧縮の作用の下に、上述の式(20)中のm(0,k−1)+z〔k〕の値を計算したものとなる。すなわち、時点k−1において状態S0であり、時点kにおける状態遷移S0→S0によって最終的に状態遷移S0に至った場合に対応する計算値である。
一方、加算器52には、M3およびBM1が供給される。加算器51は、これらを加算して以下のようなL30を算出する。
L30=M3+BM1 (35)
上述したように、M3は、時点k−1において状態S3に至った場合に、経由してきた状態遷移の総和に対応する、圧縮された規格化パスメトリックである。また、BM1は、時点kにおいて入力される再生信号z〔k〕に基づいて上述の(27)式に従って計算されるもの、すなわちα×z〔k〕−βである。従って、式(35)の値は、上述したような圧縮の作用の下に、上述の式(20)中のm(3,k−1)+α×z〔k〕−βの値を計算したものとなる。すなわち、時点k−1において状態S3であり、時点kにおける状態遷移S3→S0によって最終的に状態遷移S0に至った場合に対応する計算値である。
上述のL00およびL30は、比較器55に供給される。比較器55は、L00およびL30の値を比較し、小さい方を最新の規格化パスメトリックL0とすると供に、選択結果に応じて、上述したように選択信号SEL0の極性を切替える。このような構成は、式(20)において、最小値が選択されることに対応するものである。すなわち、L00<L30の場合(この時は、S0→S0が選択される)に、L00をL0として出力し、且つ、SEL0を例えば、'Low' とする。また、L30<L00の場合(この時は、S3→S0が選択される)には、L30をL0として出力し、且つ、SEL0を例えば'High'とする。SEL0は、後述するように、状態S0に対応するA型パスメモリ24に供給される。
このように、加算器51、52および比較器55は、上述の式(20)に対応して、S0→S0とS3→S0の内から、時点kにおける状態遷移として最尤なものを選択する動作を行う。そして、選択結果に応じて、最新の規格化パスメトリックL0および選択信号SEL0を出力する。
また、加算器56には、M0およびBM1が供給される。加算器51は、これらを加算して以下のようなL1を算出する。
L1=M0+BM1 (36)
上述したように、M0は、時点k−1において状態S0に至った場合に、経由してきた状態遷移の総和に対応する圧縮された規格化パスメトリックである。また、BM1は、時点kにおいて入力される再生信号z〔k〕に基づいて上述の(27)式に従って計算されるもの、すなわちα×z〔k〕−βである。従って、式(36)の値は、上述したような圧縮の作用の下に、上述の式(21)の右辺m(0,k−1)+α×z〔k〕−βの値を計算したものとなる。すなわち、時点k−1において状態S0であり、時点kにおける状態遷移S0→S1によって最終的に状態遷移S1に至った場合に対応する計算値である。式(21)が値の選択を行わないことに対応して、加算器56の出力がそのまま最新の規格化パスメトリックL1とされる。
加算器53には、M2およびBM2が供給される。加算器53は、これらを加算して以下のようなL22を算出する。
L22=M2+BM2 (37)
上述したように、M2は、時点k−1において状態S2に至った場合に、経由してきた状態遷移の総和に対応する圧縮された規格化パスメトリックである。また、BM0は、時点kにおいて入力される再生信号z〔k〕に基づいて上述の(28)式に従って計算されるもの、すなわち−z〔k〕である。従って、式(37)の値は、上述したような圧縮の作用の下に、上述の式(22)中のm(2,k−1)−z〔k〕の値を計算したものとなる。すなわち、時点k−1において状態S2であり、時点kにおける状態遷移S2→S2によって最終的に状態遷移S2に至った場合に対応する計算値である。
一方、加算器54には、M1およびBM3が供給される。加算器53は、これらを加算して以下のようなL12を算出する。
L12=M1+BM3 (38)
上述したように、M1は、時点k−1において状態S1に至った場合に、経由してきた状態遷移の総和に対応する圧縮された規格化パスメトリックである。また、BM3は、時点kにおいて入力される再生信号z〔k〕に基づいて上述の(29)式に従って計算されるもの、すなわち−α×z〔k〕−β である。従って、式(38)の値は、上述したような圧縮の作用の下に、上述の式(22)中のm(1,k−1)−α×z〔k〕−βの値を計算したものとなる。すなわち、時点k−1において状態S1であり、時点kにおける状態遷移S1→S2によって最終的に状態遷移S2に至った場合に対応する計算値である。
上述のL22およびL12は、比較器57に供給される。比較器57は、L22およびL12の値を比較し、小さい方を最新の規格化パスメトリックL2とすると共に、選択結果に応じて、上述したように選択信号SEL2の極性を切替える。このような構成は、式(22)において、最小値が選択されることに対応するものである。すなわち、L22<L12の場合(この時は、S2→S2が選択される)に、L22をL2として出力し、且つ、SEL2を例えば、'Low' とする。また、L12<L22の場合(この時は、S1→S2が選択される)には、L12をL2として出力し、且つ、SEL2を例えば'High'とする。SEL2は、後述するように、状態S2に対応するA型パスメモリ26に供給される。
このように、加算器53、54および比較器57は、上述の式(22)に対応して、S1→S2とS2→S2の内から、時点kにおける状態遷移として最尤なものを選択する。そして、選択結果に応じて、最新の規格化パスメトリックL2および選択信号SEL2を出力する。
また、加算器58には、M2およびBM3が供給される。加算器58は、これらを加算して以下のようなL3を算出する。
L3=M2+BM3 (39)
上述したように、M2は、時点k−1において状態S2に至った場合に、経由してきた状態遷移の総和に対応する圧縮された規格化パスメトリックである。また、BM3は、時点kにおいて入力される再生信号z〔k〕に基づいて上述の(29)式に従って計算されるもの、すなわち−α×z〔k〕−βである。従って、式(39)の値は、上述したような圧縮の作用の下に、上述の式(23)の右辺m(2,k−1)+α×z〔k〕−βの値を計算したものとなる。すなわち、時点k−1において状態S0であり、時点kにおける状態遷移S2→S3によって最終的に状態遷移S3に至った場合に対応する計算値である。式(23)が値の選択を行わないことに対応して、加算器58の出力がそのまま最新の規格化パスメトリックL3とされる。
上述したようにして, ACS21が出力するSEL0およびSEL2に従って、パスメモリユニット(以下、PMUと表記する)23が動作することによって、記録データa〔k〕に対する最尤復号系列としての復号データa’〔k〕が生成される。PMU23は、図7に示した4個の状態間の状態遷移に対応するために、2個のA型パスメモリおよび2個のB型パスメモリから構成される。
A型パスメモリは、その状態に至る遷移として2つの遷移(すなわち、自分自身からの遷移と、他の1個の状態からの遷移)を有し、且つ、その状態を起点とする2つの遷移(すなわち、自分自身に至る遷移と他の1個の状態に至る遷移)を有する状態に対応するための構成とされる。従って、A型パスメモリは、図7に示した4個の状態の内、S0およびS2に対応するものである。
一方、B型パスメモリは、その状態に至る遷移が1つのみであり、且つ、その状態を起点とする遷移が1つのみである状態に対応するための構成とされる。従って、B型パスメモリは、図7に示した4個の状態の内、S1およびS3に対応するものである。
これら2個のA型パスメモリおよび2個のB型パスメモリが図7に示した状態遷移図に従う動作を行うために、PMU23において、図10に示すような復号データの受渡しがなされるように構成される。すなわち、A型パスメモリ24がS0に対応し、A型パスメモリ26がS2に対応する。また、B型パスメモリ25がS1に対応し、また、B型パスメモリ27がS3に対応する。このように構成すれば、S0を起点として生じ得る状態遷移がS0→S0およびS0→S1であり、S2を起点として生じ得る状態遷移がS2→S2およびS2→S3であることに合致する。また、S1を起点として生じ得る状態遷移がS1→S2のみであり、S3を起点として生じ得る状態遷移がS3→S0のみであることにも合致する。
A型パスメモリ24について、その詳細な構成を図12に示す。A型パスメモリ24は、パスメモリ長に対応する個数のフリップフロップとセレクタを、交互に接続したものである。図10には、14ビットのデコードデータ長に対応する構成を示した。すなわち、14個のセレクタ311 〜3114および15個のフリップフロップ300 〜3014を有するものである。セレクタ311 〜3114は、何れも2個のデータを受取り、その内の1個を選択的に後段に供給するものである。また、フリップフロップ300 〜3014にクロックが供給されることにより、A型パスメモリ24全体の動作タイミングが合わされる。
図7を用いて上述したように、状態S0に至る遷移は、S0→S0すなわち自分自身から継承する遷移、およびS3→S0である。このような状況に対応する構成として、各セレクタは、前段のフリップフロップから供給されるデータすなわちS0→S0に対応する復号データと、状態S3に対応するB型パスメモリ27から供給されるデータすなわちS3→S0に対応する復号データPM3とを受取る。さらに、各セレクタは、ACS21からSEL0を供給される。そして、SEL0の極性に応じて、供給される2個の復号データの内の一方を後段のフリップフロップに供給する。また、このようにして後段のフリップフロップに供給される復号データは、状態S1に対応するB型パスメモリ25にもPM0として供給される。
すなわち、例えばセレクタ3114は、前段のフリップフロップ3013から供給されるデータと、B型パスメモリ27から供給される14ビットからなるPM3の14番目のビット位置のデータとを受取る。そして、これら2個のデータの内から以下のようにして選択したデータを、後段のフリップフロップ3014に供給する。上述したようにSEL0は、選択結果に応じて、'Low' または'High'とされる。SEL0が例えば'Low' の時は、前段のフリップフロップ3013からのデータが選択されるようになされる。また、SEL0が例えば'High'の時は、PM3の14番目のビット位置のデータが選択されるようになされる。選択されたデータは、後段のフリップフロップ3014に供給され、また、PM0の14番目のビット位置のデータとして、状態S1に対応するB型パスメモリ25に供給される。
A型パスメモリ24中の他のセレクタ311 〜3113においても、SEL0の極性に応じて、同様な動作が行われる。従って、A型パスメモリ24全体としては、SEL0が例えば'Low' の時は、A型パスメモリ24中で、各々のフリップフロップがその前段に位置するフリップフロップのデータを継承するシリアルシフトを行う。また、SEL0が例えば'High'の時は、B型パスメモリ27から供給される14ビットからなる復号データPM3を継承するパラレルロードを行う。何れの場合にも、継承される復号データは、B型パスメモリ25に14ビットの復号データPM0として供給される。
また、最初の処理段となるフリップフロップ300 には、クロックに同期して常に'0'
が入力される。かかる動作は、S0に至る状態遷移S0→S0とS2→S0の何れにおいても、図7に示すように、復号データが'0' なので、最新の復号データは、常に'0' となることに対応している。
上述したように、S2に対応するA型パスメモリ26についても、構成自体は、A型パスメモリ24と全く同様である。但し、ACS21から入力される選択信号は、SEL2である。また、図6に示すように状態S2に至る遷移としては、S2→S2すなわち自分自身から継承する遷移と、S1→S2とがある。このため、状態S1に対応するB型パスメモリ25からPM1を供給される。さらに、状態S2を起点として生じ得る状態がS2すなわち自分自身と、S3であることに対応して、状態S3に対応するB型パスメモリ27にPM2を供給する。
また、S2に対応するA型パスメモリ26においても、最初の処理段となるフリップフロップには、クロックに同期して常に'0' が入力される。かかる動作は、S2に至る状態遷移S2→S2とS1→S0の何れにおいても、図7に示すように、復号データが'0' なので、最新の復号データは、常に'0' となることに対応している。
他方、B型パスメモリ25について、その詳細な構成を図13に示す。B型パスメモリ25は、パスメモリ長に対応する個数のフリップフロップを接続したものである。図13には、14ビットのデコードデータ長に対応する構成を示した。すなわち、15個のフリップフロップ320 〜3214を有するものである。フリップフロップ320 〜3214にクロックが供給されることにより、B型パスメモリ25全体の動作タイミングが合わされる。
各フリップフロップ321 〜3214には、状態S0に対応するA型パスメモリ24から、14ビットの復号データがPM0として供給される。例えば、フリップフロップ321
には、PM0の1ビット目が供給される。各フリップフロップ321 〜3214は、供給された値を1クロックの間保持する。そして、状態S2に対応するA型パスメモリ26に、14ビットの復号データPM1として出力する。例えば、フリップフロップ321 は、PM1の2ビット目を出力する。
B型パスメモリ25中の他のセレクタ321 〜3213においても、同様な動作が行われる。従って、B型パスメモリ25全体としては、A型パスメモリ24から供給される14ビットからなる復号データPM0を受取り、またA型パスメモリ26に14ビットからなる復号データPM1を供給する。
また、フリップフロップ320 には、クロックに同期して常に'1' が入力される。かかる動作は、図7に示したように、最新の状態遷移がS0→S1である場合に復号データが'1' であることに対応している。
また、上述のように、状態S3に対応するB型パスメモリ27についても、B型パスメモリ25と全く同様な構成とされる。但し、図7に示すように状態S3に至る遷移は、S2→S3なので、状態S2に対応するA型パスメモリ26からPM2を供給される。さらに、状態S3を起点として生じ得る状態がS0であることに対応して、状態S0に対応するA型パスメモリ24にPM3を供給するようになされる。B型パスメモリ27においても、最初の処理段となるフリップフロップには、クロックに同期して常に'1' が入力される。かかる動作は、図7に示したように、最新の状態遷移がS2→S3である場合に復号データが'1' であることに対応している。
上述したようにして、PMU23中の4個のパスメモリは、各々復号データを生成する。このようにして生成される4個の復号データは、常に正確なビタビ復号動作がなされる場合には、互いに一致することになる。ところで、実際のビタビ復号動作においては、4個の復号データに不一致が生じることも起こり得る。このような不一致は、再生信号に含まれるノイズの影響等により、上述の識別点AおよびBを検出する際に誤差が生じる等の要因により、ビタビ復号動作が不正確なものとなることによって生じる。
一般に、このような不一致が生じる確率は、再生信号の品質に対応してパスメモリの処理段数を充分に大きく設定することによって減少させることができる。すなわち、再生信号のC/N等の品質が良い場合には、パスメモリの処理段数が比較的小さくても復号データ間の不一致が生じる確率は小さい。これに対して、再生信号の品質が良くない場合には、上述の不一致が生じる確率を小さくするためには、パスメモリの処理段数を大きくする必要がある。再生信号の品質に対してパスメモリの処理段数が比較的小さくて、復号データ間の不一致が生じる確率を充分に低くすることができない場合には、4個の復号データから、例えば多数決等の方法によって、より的確なものを選択するような、図示しない構成がPMU23中の4個のパスメモリの後段に設けられる。
〔4値4状態ビタビ復号方法以外のビタビ復号方法〕
上述した4値4状態ビタビ復号方法は、フィルタ部11において用いられる波形等化特性がPR(1,2,1)であり、且つ、記録データとしてRLL(1,7)符号が採用される場合に用いられる。例えば、記録線密度0.40μm,レーザ波長685nm,NA=0.55の場合には、波形等化特性をPR(1,2,1)とし、4値4状態ビタビ復号方法を用いることが最適となる。他方、波形等化特性または記録データを生成するための符号化方法に応じて、他の種類のビタビ復号方法が用いられることもある。
例えば、波形等化特性がPR(1,1)であり、且つ、記録データとしてRLL(1,7)符号が用いられる場合には、3値4状態ビタビ復号方法が用いられる。また、波形等化特性がPR(1,3,3,1)であり、且つ、記録データとしてRLL(1,7)符号が用いられる場合には、7値6状態ビタビ復号方法が用いられる。このようなビタビ復号方法の内、何れを用いるかを選択するための要素の1つとなる波形等化特性は、再生信号上の符号間干渉に適合する程度が良いものが採用される。従って、上述したように、線記録密度およびMTFを考慮して最適なものとされる。
また、波形等化特性の理論値からのずれ、および再生信号の振幅変動、非対称歪等によって、識別点の値が理論と異なる場合もある。このような場合を考慮して、ビタビ復号方法を修正して用いることも行われる。例えば4値4状態ビタビ復号方法において、波形等化特性を正確にPR(1,2,1)とすることは困難である点を考慮して、後述するように6個の識別点を前提とした6値4状態ビタビ復号方法が用いられることもある。
この発明は、上述したような光磁気ディスク装置の一例に対して適用できる。すなわち、この発明は、ビタビ復号器の動作によって選択される状態遷移に基づいてリードクロック毎に振幅基準値の更新を行うことによって振幅基準値を再生信号に適応化させる際に、振幅基準値の初期値すなわち適応化を開始する時点で用いられる振幅基準値を設定する方法を選択するものである。
また、この発明は、かかる場合に、振幅基準値の適応化の可否を、再生結果に応じてなされる処理に関連して選択するものである。さらに、この発明は、記録媒体上に設けられた2種類の領域から再生される信号品質が異なる信号について、振幅基準値を別個に適応化するものである。
ところで、振幅基準値をビタビ復号器の動作によって選択される状態遷移に基づいて更新するためには、かかる状態遷移に対応する復号データ値の系列としての復号データではなく、状態遷移そのものを表現するデータが必要となる。そこで、以下に説明するこの発明の実施の一形態中のビタビ復号器においては、復号データ値の代わりに状態そのものを表現する状態データ値を用いることによって、選択される状態遷移そのものを表現する状態データを生成するようになされる。このため、上述の光磁気ディスク装置の一例におけるパスメモリユニットPMUの代わりに、後述するようにして状態データ値の系列を生成するステータスメモリユニット(以下、SMUと表記する)が用いられる。
例えば4値4状態ビタビ復号方法等の4個の状態を有する場合には、かかる4個の状態を2ビットで表現できるので、このような2ビットのデータを状態データ値として用いることができる。そこで、図7中のS0,S1,S2,S3を、それぞれ2ビットの状態データ値、00,01,11,10を用いて表現することができる。そこで、以下の説明においては、図7中のS0,S1,S2,S3をそれぞれS00,S01,S11,S10と表記することにする。
また、例えば光磁気ディスクのセクタフォーマットにおいては、上述の2種類の領域としてアドレス部とデータ部が設けられている。アドレス部は、エンボス加工等によって形成される、当該セクタのアドレスに関する情報等を有する領域である。図3を参照して上述したセクタフォーマットの一例においては、ヘッダがアドレス部である。また、データ部は、光磁気的にユーザデータ等が記録される領域である。図3を参照して上述したセクタフォーマットの一例においては、ヘッダに後続するALPCギャップ以降の部分がデータ部である。
アドレス部およびデータ部から再生される再生信号は、C/N等の点で異なる信号品質を有するものである。すなわち、一般に、アドレス部から再生される再生信号は、C/Nが良く、データ部から再生される再生信号は、C/Nが良くない。
また、以下の説明においては、波形等化特性として、上述のPR(B,2A,B)の代わりに、PR(α,β,γ)を前提とする。このような前提は、実際の光磁気ディスク装置等においては、理想通りのパーシャルレスポンス特性を得ることが難しく、波形等化特性が非対称なものとなることが多いことを考慮したものである。
理想通りのパーシャルレスポンス特性を得ることが難しい原因としては、波形等化器の動作精度の限界、記録時のレーザパワーが過大または過小であることに起因するアシンメトリー(波形の非対称性)および再生信号からA/D変換器によるサンプリングを行う際に用いられるリードクロックの位相誤差等がある。
上述した4値4状態ビタビ復号方法の場合と同様に考えると、記録時にRLL(1,7)符号化等のRLmin=2となる符号化を行い、且つ、再生時のパーシャルレスポンス特性がPR(α,β,γ)である場合には、6値4状態となることがわかる。すなわち、RLmin=2という条件によって除かれる2個の状態以外の23 −2=6個の{b〔j−1〕,b〔j〕,b〔j+1〕}の組の各々のついて、識別点の値すなわちノイズが無い理想的な場合における波形等化後の再生信号値c〔j+1〕が異なる値をとる。
このような6個の識別点の値をcpqrと表記する。ここでp,q,rは、それぞれb〔j−1〕,b〔j〕,b〔j+1〕を表現している。各識別点の値と状態遷移の関係を図14に示す。ここで、RLmin=2であるため、c010およびc101が無いことに注意が必要である。以下の説明は、図14の状態遷移図に従う6値4状態を前提として行う。
また、図14中の6個の状態遷移に対応して計算されるブランチメトリックを以下のように表記する。まず、遷移前の状態と遷移後の状態を表記するそれぞれ2ビットの状態データ値を書き並べて4個の数字の列とする。次に、中央寄りの2個の(すなわち2番目と3番目の)数字を1個の数字とすることによって、3個の数字の列として、1リードクロックの間に生じ得るブランチメトリックを表記する。例えば状態遷移S11→S10に伴うブランチメトリックは、bm110と表記される。このようにして、図14中の6種類の状態遷移に対応するブランチメトリックを、図15に示すように表記できる。
さらに、リードクロックに従って動作するA/D変換器によってサンプリングされる実際の再生信号値z〔k〕と各識別点の値のユークリッド距離として定義されるブランチメトリックは、以下のように計算される。
bm000=(z〔k〕−c000)2 (40)
bm001=(z〔k〕−c001)2 (41)
bm011=(z〔k〕−c011)2 (42)
bm111=(z〔k〕−c111)2 (43)
bm110=(z〔k〕−c110)2 (44)
bm100=(z〔k〕−c100)2 (45)
ブランチメトリックをこのように計算する場合には、各識別点の値がそのまま振幅基準値とされる。2乗計算を避ける等の目的で規格化パスメトリックを用いる場合には、規格化パスメトリックに対応するブランチメトリックは、式(40)〜(45)に従うものとは異なる。このような場合には、振幅基準値として各識別点の値をそのまま用いることはできないが、この発明を適用することは可能である。
このようなブランチメトリックの値を用いて、時点kにおける状態Sijのパスメトリックmij〔k〕が以下のように計算される。これらの式は、4値4状態ビタビ復号方法における上述の(15)〜(18)に相当するものである。
m10〔k〕=m11〔k−1〕+bm110 (46)
m11〔k〕=min{m11〔k−1〕+bm111,
m01〔k−1〕+bm011} (47)
m01〔k〕=m00〔k−1〕+bm001 (48)
m00〔k〕=min{m00〔k−1〕+bm000,
m10〔k−1〕+bm100} (49)
図16は、この発明の実施の一形態の全体構成を示すブロック図である。この発明の実施の一形態は、光磁気ディスク装置に対してこの発明を適用したものである。図1等を参照して上述した光磁気ディスク装置の一例と同様の構成要素には、同一の符号を付した。図示しないサーボ系等については、上述した光磁気ディスク装置の一例と同様である。
記録系についても上述した光磁気ディスク装置の一例と同様である。但し、LPC4に対し、装置制御部(以下、CPUと表記する)103から供給されるレーザパワーを制御する信号を図示した。CPU103は、記録系および再生系中の構成要素の動作パラメータ等を制御する機能を有するものであり、上述の光磁気ディスク装置の一例においても設けられている。図1においては図示を省略したが、この発明の実施の一形態についての説明を明確なものとするために図16中に図示した。また、かかるCPU103は、再生系内のアンプ8および9に、ゲインを制御する信号を供給する。
再生系について説明する。光ピックアップ7からA/D変換器12までの構成および動作は、上述の光磁気ディスク装置の一例と同様である。但し、A/D変換器12の出力は、ビタビ復号器130に供給されると共に、シフトレジスタ100にも供給される。また、リードクロックDCKを生成するPLL14についても上述した光磁気ディスク装置の一例と同様である。
ビタビ復号器130は、A/D変換器12から供給される再生信号値z〔k〕に基づいて、後述するようにして最尤な状態遷移を選択し、選択される状態遷移そのものを表現する状態データを生成する。そして、状態データを後述する振幅基準値適応化ブロック(以下、RAAと表記する)101に供給する。また、かかる状態データに基づいて、後述するようにして復号データを生成し、コントローラ2に供給する。
一方、シフトレジスタ100は、供給される再生信号値z〔k〕を所定時間遅延させて、RAA101に供給する。かかる遅延は、ビタビ復号器130によって生成される状態データが再生信号値z〔k〕に対して後述するようなnリードクロックの遅延時間を有することを補償するためになされるものである。SMU134が生成する状態データ値は、かかる遅延時間のため、sm〔k+n〕と表記されることになる。
RAA101は、各時点において供給される状態データ値sm〔k+n〕および遅延させられた再生信号値に基づいて、後述するようにして振幅基準値をリードクロック毎に更新する。そして、更新された振幅基準値をビタビ復号器130中のBMC132に供給する。
以下、ビタビ復号を行うビタビ復号器130についてより詳細に説明する。ビタビ復号器130は、BMC132,ACS133、SMU134およびマージブロック135から構成される。そして、これらの各構成要素には、PLL14からリードクロックDCK(以下の説明においては、クロックと表記する)が供給され、動作タイミングが合わされる。
BMC132は、再生信号値z〔k〕に基づいて、RAA101から供給される振幅基準値の下で式(40)〜(45)に従ってブランチメトリックbm000〜bm111の値を計算し、計算したブランチメトリックの値をACS133に供給する。
ACS133は、供給されるブランチメトリックの値に基づいて、上述の式(46)〜(49)に従ってパスメトリックの値を計算し、計算値を比較することによって最尤な状態遷移を選択する。そして、選択信号SEL00およびSEL11をSMU134に供給する。
SMU134について説明する。上述した光磁気ディスク装置の一例中のPMU23が1ビットの復号データ値を単位とする処理を行うものであるのに対し、SMU134は、2ビットの状態データ値を単位とする処理を行うものである。かかる処理によって、状態データ値sm〔k+n〕の系列としての状態データが生成される。
図17に示すように、SMU134は、2個のA型ステータスメモリ150および151、並びに2個のB型ステータスメモリ152および153を有している。さらにセレクト信号SEL00およびSEL11、クロック、並びに他のステータスメモリとの状態データの受渡し等のための信号線を接続されて構成される。A型ステータスメモリ150と151は、それぞれ、状態S00とS11に対応する。また、B型ステータスメモリ152と153は、それぞれ状態S01とS10に対応する。これら4個のステータスメモリ相互の接続は、図14の状態遷移図に従うものとされる。
さらに、図18を参照して、状態S00に対応するA型ステータスメモリ150についてより詳細に説明する。A型ステータスメモリ150は、n個の処理段を有する。すなわち、n個のセレクタ2010 ・・・201n-1 と、n個のレジスタ2020 ・・・202n-1 とが交互に接続されている。各セレクタ2010 〜201n-1 には、セレクト信号SEL00が供給される。さらに、各セレクタには、上述したように、S10に対応するB型ステータスメモリ153から継承する状態データがnビットからなるSMinとして供給される。また、各レジスタには、上述したように、S01に対応するB型ステータスメモリ152に継承される状態データがn−1個の状態データ値からなるSMoutとして出力される。また、各レジスタ2020 〜202n-1 には、クロックが供給される。
一方、各セレクタの動作について説明する。図14に示すように、S00に遷移し得る1クロック前の状態は、S00およびS10の何れかである。1クロック前の状態がS00である時は、自身を継承する遷移がなされることになる。このため、1段目のセレクタ2010 には、シリアルシフトによって生成される状態データ中の最新の状態データ値として、'00'が入力される。また、セレクタ2010 には、パラレルロードとして、B型ステータスメモリ153から供給される状態データ中の最新の状態データ値SMin〔1〕が供給される。セレクタ2010 は、上述の選択信号SEL00に従って、これら2個の状態データ値の内の1個を後段のレジスタ2020 に供給する。
また、2段目以降の各セレクタ2011 〜201n-1 は、2個のデータすなわち、パラレルロードとしてS10に対応するB型ステータスメモリ153から供給される1個の状態データ値と、シリアルシフトとして前段のレジスタから供給される1個の状態データ値とを受取る。そして、これら2個の状態データ値の内から、選択信号SEL00に従って、最尤なものと判断された状態データ値を後段のレジスタに供給する。セレクタ2010
〜201n-1 が全て同一の選択信号SEL00に従うので、ACS133が選択する最尤な状態データ値の系列としての状態データが継承される。
さらに、各レジスタ2020 〜202n-1 は、上述したように供給される状態データ値をクロックに従って取込むことによって、保持している状態データ値を更新する。また、上述したように、各レジスタの出力は、1クロック後に遷移し得る状態に対応するステータスメモリに供給される。すなわち、S00自身に遷移し得るので、シリアルシフトとして後段のセレクタに供給される。また、パラレルロードとして、S01に対応するB型ステータスメモリ152に供給される。最終段のレジスタ202n-1 から、状態データ値VM00が出力される。状態データ値VM00がクロックに従って出力されることにより、全体として状態データが生成される。
状態S11に対応するA型ステータスメモリ151は、A型ステータスメモリ150と同様に構成される。但し、図14中の状態遷移S01→S11に対応するパラレルロードとして、S01に対応するB型ステータスメモリ152から状態データを供給される。また、図14中の状態遷移S11→S10に対応するパラレルロードとして、S10に対応するB型ステータスメモリ153に状態データを供給する。
一方、図19を参照して、状態S01に対応するB型ステータスメモリ152についてより詳細に説明する。B型ステータスメモリは、図14において自身を継承せず、且つ、1クロック後に遷移し得る状態が1個だけである状態に対応するものである。このため、シリアルシフトを行わず、且つ、セレクタが設けられていない。従って、n個のレジスタ2120 ,2121 ,・・・212n-1 が設けられ、各レジスタにクロックが供給されて動作タイミングが合わされる。
各レジスタ2120 ,2121 ,・・・212n-1 には、S00に対応するA型ステータスメモリ150から継承する状態データがn−1個の状態データ値からなるSMinとして供給される。但し、最初の処理段となるレジスタ2120 には、クロックに同期して常に'00'が入力される。かかる動作は、図14に示されるように、S01に遷移し得る最新の状態遷移が常にS00であることに対応している。各レジスタ2120 〜212n-1
は、供給される状態データ値をクロックに従って取込むことによって、保持している状態データ値を更新する。また、クロックに従ってなされる各レジスタの出力は、n−1個の状態データ値からなる状態データSMoutとして,1クロック後に遷移し得る状態S11に対応するA型ステータスメモリ151に供給される。最終段のレジスタ212n-1 から、状態データ値VM01が出力される。状態データ値VM01がクロックに従って出力されることにより、全体として状態データが生成される。
状態S10に対応するB型ステータスメモリ153は、B型ステータスメモリ152と同様に構成される。但し、図14中の状態遷移S11→S10に対応するパラレルロードとして、S11に対応するA型ステータスメモリ151から状態データを供給される。また、図14中の状態遷移S10→S00に対応するパラレルロードとして、S00に対応するA型ステータスメモリ150に状態データを供給する。また、最初の処理段となるレジスタには、クロックに同期して、常に'11'が入力される。かかる動作は、図14に示すように、S10に遷移し得る1クロック前の状態がS11であることに対応するものである。
ところで、ビタビ復号方法においては、各ステータスメモリが生成する状態データ値VM00,VM11,VM01およびVM10は、ステータスメモリのメモリ長nを充分大きくとれば互いに一致する。このような場合には、4個のステータスメモリが生成する状態データ値の内の何れをsm〔k+n〕として後段に出力しても良い。メモリ長nは、再生信号のC/Nおよび周波数特性等を考慮して決められる。
次に、マージブロック135について説明する。マージブロック135は、ROM等の手段に図20に示す復号マトリクスのテーブルを記憶している。そして、かかる復号マトリクスを参照して、状態データに基づく復号データを生成し、コントローラ2に供給する。図14の状態遷移図から、復号データ値は、連続する2個の状態データ値に対応していることがわかる。すなわち、再生信号値z〔k〕に対応して生成される状態データ値sm〔k+n〕と、その1クロック前に、再生信号値z〔k−1〕に対応して生成される状態データ値sm〔k+n−1〕に基づいて、時点k+nにおける復号データ値を決めることができる。
例えば、sm〔k+n〕が'01'で、sm〔k+n−1〕が'00'である場合には、図14から、復号データ値として'1' が対応することがわかる。このような対応をまとめたものが図20の復号マトリクスのテーブルである。
一方、上述したように、SMU134によって生成される状態データおよびシフトレジスタ100によって遅延させられた再生信号値z〔k〕に基づいて、RAA101が振幅基準値を更新するための計算をクロック毎に行う。このような計算について説明する。
再生信号値z〔k〕に対応して生成される状態データ値sm〔k+n〕と、その1クロック前に生成された状態データ値sm〔k+n−1〕とから、図14に従って、これら2個の状態データ値間に生じた状態遷移およびかかる状態遷移に対応する振幅基準値を特定することができる。後述するように、このようにして特定された振幅基準値について、既存の値と、再生信号値z〔k〕とから、新たな振幅基準値が計算される。
このような振幅基準値の計算は、アドレス部、データ部の各々について別個に行われる。従って、6値4状態ビタビ復号方法については、6×2=12個の振幅基準値が適応化されることになる。
振幅基準値の計算について、sm〔k+n〕='01'、およびsm〔k+n−1〕='11'である場合を例として具体的に説明する。この場合には、図14から状態遷移S01→S11が生じることがわかる。また、かかる状態遷移に対応する振幅基準値がc011であることも図14からわかる。従って、RAA101は、振幅基準値を更新する計算を以下のように行う。
Ac011(新)=δ×z〔k〕+(1−δ)×Ac011(旧)(50)
Dc011(新)=δ×z〔k〕+(1−δ)×Dc011(旧)(51)
ここで、Ac011(新),Dc011(新)がそれぞれアドレス部、データ部の振幅基準値として新たに計算された値である。また、Ac011(旧),Dc011(旧)がそれぞれアドレス部、データ部の更新前の値である。
一般には、sm〔k+n〕=pq、およびsm〔k+n−1〕=qrである場合に、振幅基準値の新たな値が以下のように計算される。
Acpqr(新)=δ×z〔k〕+(1−δ)×Acpqr(旧)(52)
Dcpqr(新)=δ×z〔k〕+(1−δ)×Dcpqr(旧)(53)
ここで、Acpqr(新),Dcpqr(新)がそれぞれアドレス部、データ部の振幅基準値として新たに計算された値である。また、Acpqr(旧),Dcpqr(旧)がそれぞれアドレス部、データ部の更新前の値である。後述する図22のマトリクスのテーブルは、sm〔k+n〕およびsm〔k+n−1〕並びにMOGATE信号の指令と、12個の振幅基準値(Ac000〜Ac111およびDc000〜Dc111)の内で更新すべきものの対応をまとめたものである。後述するように、RAA101の動作は、かかるマトリクスのテーブルを参照して行われる。
また、δは、修正係数である。δの値を設定するに際しては、再生信号の振幅およびその変動、アシンメトリー等の歪み、波形等化器の動作における誤差等の記録系および再生系の比較的継続的な特性、並びに記録媒体上の欠陥等に起因するイレギュラーな特性を考慮する必要がある。
すなわち、δの値が大きい程、式(52)または(53)に従ってなされる更新によって、振幅基準値が再生信号の再生信号の振幅変動、アシンメトリーおよび波形等化器の動作における誤差等をより強く反映するものとなる。反面、振幅基準値が記録媒体上の欠陥等に起因するディフェクト等のイレギュラーな信号によっても影響され易い。一方、δの値を小さくすると、振幅基準値がディフェクト等のイレギュラーな信号に影響されにくくなるが、反面、振幅基準値の再生信号に対する追従が緩やかなものとなるため、式(52)または(53)に従ってなされる更新による振幅基準値の適応化の効果が減少する。
以上のような振幅基準値の適応化を行うRAA101の構成について図21を参照して説明する。上述したように、6値4状態ビタビ復号方法においては、6個の振幅基準値c000,c001,c011,c100,c110,c111が必要とされる。そして、これら6個の振幅基準値がアドレス部およびデータ部について別個に適応化されるために、6×2=12個のレジスタを設ける必要がある。
図21において、レジスタ161、162、163、164、165、166がそれぞてアドレス部の6個の振幅基準値Ac000,Ac001,Ac011,Ac100,Ac110およびAc111に対応する。また、レジスタ167、168、169、170、171、172がそれぞれデータ部の6個の振幅基準値Dc000,Dc001,Dc011,Dc100,Dc110およびDc111に対応する。
また、各レジスタの後段には、それぞれ出力の可否を制御する出力ゲート1111、112、113、114、115、116、117、118、119、120、121、および122が設けられている。
記載が煩雑となるのを避けるため、図21中には図示を省略したが、12個のレジスタ161〜172には、クロックが供給される。各レジスタの記憶値は、クロックに従って、データ/アドレス切替え部105に供給される。また、各レジスタの記憶値は、後段の各出力ゲート111〜122にそれぞれ供給される。
データ/アドレス切替え部105は、後述するMOGATE信号に従って、データ部の振幅基準値とアドレス部の振幅基準値の内の何れかを6個の振幅基準値c000〜c111として出力する。従って、BMC132に供給されるc000〜c111は、Dc000〜Dc111であるか、または、Ac000〜Ac111であるかの何れかである。
一方、レジスタ161〜172およびその後段の出力ゲート111〜122には、後述するように、セレクタ110からイネーブル信号が供給される。レジスタ161〜172は、イネーブル信号に従って、それぞれ初期値切替えスイッチ181〜192の出力を取込む。初期値切替えスイッチ181〜192は、後述するように、再生動作が行われる期間においては常に、後述する加算器107が生成する加算値を出力するようになされる。また、各出力ゲート111〜122は、イネーブル信号がアクティブとされる時に前段のレジスタの記憶値を後段に出力する。
例えば、レジスタ161とその後段の出力ゲート111には、イネーブル信号D000が供給される。再生動作が行われる期間においては、イネーブル信号D000がアクティブとされる時に、出力ゲート111がレジスタ161が記憶値を後段に出力し、且つ、レジスタ161が初期値切替えスイッチ181を介して加算器107が生成する加算値の出力を取込む。
同様に、データ部の振幅基準値について、レジスタ162と出力ゲート112、レジスタ163と出力ゲート113、レジスタ164と出力ゲート114、レジスタ165と出力ゲート115およびレジスタ166と出力ゲート116は、それぞれイネーブル信号D001,D011,D100,D110およびD111を供給され、各イネーブル信号に従って動作する。
また、アドレス部の振幅基準値について、レジスタ167と出力ゲート117、レジスタ168と出力ゲート118、レジスタ169と出力ゲート119、レジスタ170と出力ゲート120、レジスタ171と出力ゲート121、およびレジスタ172と出力ゲート122は、それぞれイネーブル信号A000,A001,A011,A100,A110およびA111を供給され、各イネーブル信号に従って動作する。
上述した各出力ゲート111〜122の動作によって、イネーブル信号に従って出力されるレジスタ161〜172の内の1個の記憶値が乗算器106に供給される。乗算器106は、供給される記憶値に(1−δ)を乗じる計算を行い、計算値を加算器107に供給する。
一方、上述のシフトレジスタ100によって遅延時間を補償された再生信号値が乗算器108に供給される。乗算器108は、供給される記憶値にδを乗じる計算を行い、計算値を加算器107に供給する。乗算器106および乗算器108において用いられる修正係数δの値は、例えば、CPU103によって設定される。
加算器107は、乗算器106と乗算器108から供給される計算値を加算する。そして加算値を初期値切替えスイッチ181〜192に供給する。上述したように、レジスタ161〜172は、それぞれ、イネーブル信号D000〜D111またはA000〜A111に従ってかかる加算値を取込む。後述するように、どの時点においても、これら12個のイネーブル信号の1個だけがアクティブとされて取込みを指令するので、何れか1個のレジスタだけが加算値を取込むことになる。
上述の12個のイネーブル信号は、セレクタ110によって生成される。セレクタ110には、SMU134から状態データ値sm〔k+n〕が供給される。また、SMU134の出力を1クロック遅延させるレジスタ109が設けられ、レジスタ109によって、セレクタ110に状態データ値sm〔k+n−1〕が供給される。
さらに、セレクタ110には、MOGATE信号が供給される。MOGATE信号は、データ部が再生される期間においてアクティブとされる信号である。MOGATE信号は、例えば、図示しないタイミングジェネレータ等によって生成される。セレクタ110は、状態データ値sm〔k+n〕、sm〔k+n−1〕およびMOGATE信号に基づいて、ROM等の手段に記憶している図22に示すようなマトリクスのテーブルを参照して、12個のイネーブル信号D000〜D111およびA000〜A111の内の1個をアクティブとする。
以上のようなRAA101の構成および動作によって、データ部またはアドレス部のそれぞれについて、式(52)または(53)に従う振幅基準値の更新が実現される。このような動作について、状態データ値がsm〔k+n〕='01'、且つ、sm〔k+n−1〕='11'であり、また、これらの状態データ値がデータ部から得られたものである場合(MOGATE信号がアクティブとされる場合)について説明する。すなわち、上述の式(51)に示した振幅基準値Dc011の更新について説明する。
図22から、かかる場合には、イネーブル信号D011がアクティブとされることがわかる。このため、レジスタ163に取込みが指令され、また、出力ゲート173に出力が指令される。従って、更新前のDc011の値すなわちその時点におけるレジスタ163の記憶値が乗算器106に供給される。乗算器106が供給される値に(1−δ)を乗じることにより、式(50)中の(1−δ)×Dc011が計算されることになる。
一方、シフトレジスタ100によってなされる遅延により、SMU134の動作による遅延時間が補償された再生信号値z〔k〕が乗算器108に供給される。乗算器108が供給される値にδを乗じることにより、式(51)中のδ×z〔k〕が計算されることになる。
そして、乗算器106によって計算される(1−δ)×Dc011の値と、乗算器108によって計算されるδ×z〔k〕の値とが加算器107によって加算されることにより、Dc011の新たな値すなわち式(51)の右辺の値が計算されることになる。再生動作が行われる期間においては、かかるDc011の新たな値が初期値切替えスイッチ181〜192を介してレジスタ161〜172に供給される。
ところで、上述したように、イネーブル信号D011のみがアクティブとされることによってレジスタ163のみに取込みが指令されているので、レジスタ163のみにc011の新たな値が取込まれる。このようにしてDc011の値すなわちレジスタ163の記憶値が更新される。
sm〔k+n〕およびsm〔k+n−1〕が他の値をとる時、またはMOGATE信号がアクティブとされない時にも、図22に従ってアクティブとされるイネーブル信号が選択されることによって、新たな値の取込みを行うレジスタと、かかるレジスタのその時点での(すなわち更新前の)記憶値を出力する出力ゲートが選択されることにより、更新が行われる。
次に、データ/アドレス切替え部105について、図23を参照して説明する。データ/アドレス切替え部105は、6個の振幅基準値c000,c001,c011,c100,c110およびc111にそれぞれ対応する6個の振幅基準値切替えスイッチ123,124,124,126,127および128を有している。
各振幅基準値切替えスイッチには、データ部およびアドレス部についての対応する振幅基準値の値としてのレジスタ161〜172の記憶値が供給される。例えば、c000に対応する振幅基準値切替えスイッチ123には、レジスタ161の記憶値Dc000、およびレジスタ168の記憶値Ac000が供給される。
さらに、各振幅基準値切替えスイッチスイッチには、例えば図示しないタイミングジェネレータから、MOGATE信号が供給される。MOGATE信号がアクティブとされる時には、各振幅基準値切替えスイッチがデータ部についての振幅基準値Dc000〜Dc111をc000〜c111として選択的にBMC132に供給する。一方、MOGATE信号がアクティブとされない時には、各振幅基準値切替えスイッチがアドレス部についての振幅基準値Ac000〜Ac111をc000〜c111としてBMC132に供給する。
上述した更新がクロック毎に行われることによってなされる振幅基準値の適応化は、リードゲートがアクティブとされ、ビタビ復号が開始される時点において開始される。適応化開始時点における振幅基準値の初期値としては、例えば、(a)予め設定される所定値、または、(b)直前に行われた再生動作が終了した時点での振幅基準値、等を用いるようになされる。
(a)の方法は、直前に行われた再生動作に伴ってなされた振幅基準値の適応化の結果を用いない設定である。この方法において用いられる所定値としては、例えば、上述のキャリブレーションによって定められた振幅基準値等が用いられる。一方、(b)の方法は、直前に行われた再生動作に伴ってなされた振幅基準値の適応化の結果をそのまま用いる設定である。
上述したように、この発明の実施の一形態では、アドレス部とデータ部について別個に振幅基準値の適応化を行う。この場合には、あるセクタに対する再生動作を開始する時点において、直前に行われた再生動作が終了した時点でのアドレス部とデータ部の各々に対する振幅基準値を用いず、アドレス部とデータ部の各々に対する振幅基準値の初期値として、予め別個に設定される所定値を用いるのが(a)の方法である。一方、直前に行われた再生動作が終了した時点でのアドレス部とデータ部の各々に対する振幅基準値をそのまま用いるのが(b)の方法である。
通常、光磁気ディスク6上に隣接して記録された幾つかのセクタが連続して再生される時には、(b)の方法を用いる方が復号精度が良い場合が多い。隣接するセクタから再生される再生信号は、互いに類似した特性を有している確率が高い。このため、あるセクタを再生する際に、直前に再生対象とされた、隣接するセクタの再生が終了した時点での振幅基準値を初期値とすることにより、当該セクタに対する再生動作の開始直後において、再生信号の特性に対して適応の程度の高い振幅基準値を用いることができ、復号精度を良くすることができる。
これに対して、(a)の方法を用いると、当該セクタに対する再生動作の開始直後において、再生信号の特性に対する適応の程度の低い振幅基準値を用いることになるため、特に再生動作の開始直後において復号精度が悪くなるおそれがある。
再生されるセクタが隣接して記録されたものでない場合にも、光磁気ディスク6上に記録される幾つかのセクタを再生する場合には、上述したような傾向があると考えられる。すなわち、一般には、記録媒体の交換等が行われない限りは、(b)の方法によって振幅基準値の初期値を設定することによって、復号精度を良くする場合が多いと考えられる。
但し、例えば光磁気ディスク6上のディフェクト等に起因して、あるセクタからイレギュラーな信号を含んだ再生信号が再生され、かかるイレギュラーな信号に対する追従が行われた等の原因で、異常な振幅基準値が生じることが起こり得る。このような場合には、以後の再生動作において、(b)の方法を用いるよりも、(a)の方法によって初期値を設定する方が良好な復号精度が得られると考えられる。
また、稀には、セクタ毎に、あるいは特定のセクタについて、再生信号の特性が大きく異なることがある。このような場合にも、(a)の方法によって初期値を設定することが有効である。
そこで、この発明の実施の一形態では、再生時の処理に関連して、コントローラ2、またはCPU103等の指令によって振幅基準値の初期値を(a),(b)の内の何れによって設定するかを切替える構成としている。例えば、通常の再生動作が行われる時には、(b)の方法によって初期値を設定し、ディフェクト等を有するセクタを再生した場合に正しい再生結果が得られない時等にリードリトライを行う場合には、(a)の方法によって初期値を設定するようにする等の切替えを行う構成としている。
振幅基準値の初期値の設定方法を切替えるためのRAA101中の構成について、引続き図21を参照して説明する。振幅基準値切替えスイッテ181〜192の前段に、それぞれ、12個のレジスタ61、62、63、64、65、66、76、68、69、70、71および72が設けられている。これらのレジスタは、(a)の方法が用いられる場合に、それぞれ、Dc000,Dc001,Dc011,Dc100,Dc110,Dc111、Ac000,Ac001,Ac011,Ac100,Ac110およびAc111の初期値とされるべき所定値を記憶する。かかる所定値は、例えばCPU103によって、予め設定される。
記載が煩雑となるのを避けるため、図21中には図示を省略したが、これら6個のレジスタ61〜72にはクロックが供給される。各レジスタは、クロック毎に記憶値を出力する。
このようにして、初期値切替えスイッチ181〜192には、それぞれ12個のレジスタ61〜72の記憶値が供給される。一方、上述したように、初期値切替えスイッチ181〜192には、加算器107の出力が供給される。さらに、初期値切替えスイッチ181〜192には、例えばCPU103から初期化信号INが供給される。初期化信号INがコントローラ2から供給される構成としても良い。初期値切替えスイッチ181〜192は、初期化信号INに従って、それぞれ、レジスタ61〜72の記憶値と、加算器107の出力の内の1個をそれぞれレジスタ161〜172に選択的に供給する。
但し、初期化信号INは、再生動作中には、アクティブとはされない。このため、上述したように、初期値切替えスイッチ181〜192は、再生動作中には常に、加算器107の出力をそれぞれレジスタ161〜172に供給するようになされる。
一方、リードゲートがアクティブとされ、あるセクタに対する再生動作が開始される際には、初期化信号INをアクティブとするか否かが判断される。初期化信号INがアクティブとされない場合は、その時点でのレジスタ161〜172の記憶値すなわち、直前に行われた再生動作が終了した時点での振幅基準値が当該セクタに対する振幅基準値の初期値として採用されることになる。すなわち、振幅基準値の初期値が上述の(b)の方法によって設定される。
初期化信号INがアクティブとされる場合には、初期値切替えスイッチ181〜192がレジスタ61〜72の記憶値をそれぞれレジスタ161〜172に供給すると共に、例えばCPU103の指令によって全てのイネーブルD000〜D111およびA000〜A111が強制的にアクティブとされる等の制御がなされる。
このようにして、レジスタ161〜172に、レジスタ61〜72の記憶値が取り込まれる。従って、直前に行われた再生動作が終了した時点での振幅基準値が採用されず、所定値すなわちレジスタ61〜72の記憶値が振幅基準値の初期値として採用されることになる。すなわち、振幅基準値の初期値が上述の(a)の方法によって設定される。
初期化信号INは、例えば、ディフェクトを有するセクタを再生した時に良好な再生結果が得られず、リードリトライを行う場合等にアクティブとされる。かかる場合には、直前に行われた再生動作が終了した時点での振幅基準値は、リードリトライの対象とされる、ディフェクトを有するセクタを対象とする再生動作が終了した時点での振幅基準値である。このような振幅基準値は、ディフェクトに起因するイレギュラーな信号に対する追従がなされた結果、異常な値となっているおそれがあるため、リードリトライを開始する際には、振幅基準値の初期値を(a)の方法で設定することが妥当であるためである。
また、この発明の実施の一形態では、振幅基準値の適応化を行うか否かをも再生時の処理に関連して切替えるようになされる。上述したように、例えばCPU103が生成する信号によって、乗算器106および108において用いられる修正係数δの値が制御される。かかる制御において、δ=0と設定すれば、上述の式(52)または(53)において、常にcpqr(新)=cpqr(旧)となるので、振幅基準値の更新が行われず、従って振幅基準値の適応化を行わないようにすることができる。
δ=0とする制御を、振幅基準値の適応化において再生信号に対する追従性を適切なものとするための修正係数δの値の設定操作(上述したように例えばCPU103等によってなされる)の一部として行っても良いし、また、追従性の制御とは別個に行っても良い。
ところで、振幅基準値の適応化を行わない制御が要求される時に、データ/アドレス切替え部105から、BMC132に振幅基準値を供給しないようにしても良い。このようにすれば、BMC132の動作は、振幅基準値の適応化とは無関係なものとなる。
このような構成によって振幅基準値の適応化を行わないように制御する場合は、例えばディフェクト等を有するために正しく再生されなかったセクタに対してリードリトライを行う時等である。かかる場合に振幅基準値の適応化を行うと、ディフェクトに起因して異常な振幅基準値が発生するおそれがあるためである。
再生モード時に行われる総体的な処理の一例について、図24のフローチャートを参照して説明する。ステップS01として、振幅基準値の初期化を行うか否かが判断される。振幅基準値の初期化を行うと判断される場合には、ステップS02に移行し、振幅基準値の初期化が行われた後にステップS03に移行する。一方、振幅基準値の初期化を行わないと判断された場合には、直ちにステップS03に移行する。
ここで、振幅基準値の初期化を行う場合は、上述の初期値の設定方法の(a)に対応する。すなわち、この場合には、直前に行われた再生動作が終了した際の振幅基準値が採用されず、初期値として予め設定される所定値が用いられる。従って、ステップS02の具体的な内容は、レジスタ61〜72に記憶されている所定値をレジスタ161〜166に取込ませることである。
他方、振幅基準値の初期化を行わない場合は、上述の初期値の設定方法の(b)に対応する。すなわち、この場合には、直前に行われた再生動作が終了した時点でのレジスタ161〜172の記憶値がそのまま初期値として用いられる。
ステップS03は、振幅基準値の適応化を行うか否かを判断するステップである。上述したように、通常の再生においては、振幅基準値の適応化を行い、リードリトライ等が行われる際には、振幅基準値の適応化を行わないようにするのが一般的な設定である。振幅基準値の適応化を行う場合には、ステップS04に移行する。また、振幅基準値の適応化を行わない場合には、ステップS08に移行する。
ステップS04以降の処理について説明する。ステップS04は、リードゲートがアクティブとされるまで待機するステップである。リードゲートがアクティブとされた後に、ステップS05に移行し、再生動作が開始される。
さらに、ステップS06に移行し、クロック毎に新たな振幅基準値が算出されることにより、振幅基準値の適応化が行われる。
ステップS07によってリードゲートがアクティブとされているか否かがチェックされる。リードゲートがアクティブとされている時には、ステップS05に移行し、再生動作および振幅基準値の適応化が続行される。リードゲートがアクティブとされていない時には、ステップS10に移行し、再生が終了する。
一方、ステップS03において、振幅基準値の適応化を行わないと判断された場合には、ステップS08に移行する。ステップS08は、ステップS04と同様にリードゲートがアクティブとされるまで待機するステップである。リードゲートがアクティブとされた後に、ステップS09に移行し、振幅基準値の適応化を伴わない再生動作が開始される。
ステップS09は、ステップS090とステップS091からなる。ステップS090は、リードゲートがアクティブであるか否かをチェックするステップである。リードゲートがアクティブである時には、ステップS091に移行して再生動作が行われ、再生動作後、再びステップS090に移行する。
一方、ステップS090において、リードゲートがアクティブでない時には、ステップS10に移行して再生が終了する。
ステップS10において再生動作が終了する時には、ステップS01に移行し、次の再生動作が指令される時に備えるようになされる。
上述したこの発明の実施の一形態では、再生動作中にはスイッチ181〜192が常に振幅基準値として新たに計算された値、すなわち加算器107の出力をレジスタ161〜172に供給するようになされる。これに対して、再生動作中であっても、加算器107の出力が所定の基準を満たさない時には、スイッチ181〜192を切替えて、レジスタ61〜72の記憶値をレジスタ161〜172に供給するようにしても良い。このようにすれば、1つのセクタが再生される期間においても、記録媒体のディフェクト等に起因する異常な振幅基準値によって復号精度が低下することを避けることができる。但し、この場合には、加算器107の例えばクロック毎等の所定期間毎の出力が所定の基準を満たすか否かを判定する構成が必要とされる。
また、振幅基準値の初期値を設定する方法を、アドレス部とデータ部とで別個に選択するようにしても良い。例えば、アドレス部に対する振幅基準値の初期値を上述の(b)の方法で設定し、また、データ部に対する振幅基準値の初期値を上述の(a)の方法で設定するようにしても良い。このようにすれば、データ部のみがディフェクトを有するセクタに対する再生動作の結果、データ部が正しく再生されなかった場合に行われるリードリトライにおいて、振幅基準値の初期値の設定を以下のように行うことができる。
まず、アドレス部については、振幅基準値が適切に適応化されたので、再生動作終了時の振幅基準値をリードリトライ開始時の初期値として採用する。また、データ部については、ディフェクトのために振幅基準値が異常な値となっている可能性が高いので、振幅基準値の初期化を行う。すなわち、リードリトライ開始時の初期値として再生動作終了時の値を採用せず、所定値を採用する。このようにすれば、リードリトライにおけるアドレス部に対する再生動作を、開始直後から、適応の程度の高い振幅基準値の下で行うことが可能となる。
さらに、振幅基準値の適応化の可否をアドレス部とデータ部とで別個に選択するようにしても良い。この場合には、例えば、乗算器106および108のδの値を設定する信号を、MOGATE信号に従って供給するようにすれば良い。
ところで、上述したように、4個のステータスメモリのメモリ長が大きい程、状態データ値VM00,VM11,VM01およびVM10が一致する確率を大きくすることができるが、反面、SMUの動作によって生じる遅延時間が増大する等の問題も生じるため、ステータスメモリのメモリ長をあまり大きく設定することは現実的でない。
このため、例えば再生系の動作条件が適当でない等の原因で再生RF信号の信号品質が低下する場合には、4個の状態データ値VM00,VM11,VM01およびVM10が互いに不一致となることがある。このような場合に備えて、状態データ値間の不一致が生じた時に最も的確な状態データ値を選択する構成が設けられることがある。
かかる構成は、4個のステータスメモリの後段となる位置に設けることができる。例えばSMU134内の4個のステータスメモリの後段に設けるようにしても良いし、また、状態データに基づいて復号データを生成するマージブロック135内等に設けるようにしても良い。
再生信号の信号品質が充分良好なためにかかる構成を設ける必要がない場合、およびかかる構成がSMU134内に設けられる場合には、図16に示したように、RAA101には、SMU134の出力としての状態データ値が供給される。一方、以下に説明するように、かかる構成がマージブロック135内に設けられる場合には、最も的確な状態データ値として選択された値がRAA101に供給されるようになされる。
かかる構成を有するマージブロック135の一例について、図24を参照して説明する。この場合には、マージブロック135は、VM00,VM11,VM01およびVM10から的確なものを選択する状態選択回路250、状態選択回路250の出力を1クロック遅延させるレジスタ251、復号マトリクス部252、および状態データ値VM00,VM11,VM01およびVM10の不一致を検出する不一致検出回路253を有している。
状態選択回路250は、クロック毎にACS133から供給される2ビットの信号MSを参照して、VM00,VM11,VM01およびVM10の内から最も的確なものを選択し、選択される状態データ値をVMとして出力する。かかる信号MSは、各時点において、S00,S11,S01およびS10の内のどの状態に至る場合のパスメトリックの値が最小となるかを示す2ビットの信号である。信号MSは、例えばACS135等によって生成するようになされる。このようにして、最も正しい状態データ値が選択される確率を高くすることができる。
上述したようにして選択されるVMは、レジスタ251および復号マトリクス部252に供給される。レジスタ251は、供給されるVMを1クロック遅延させて復号マトリクス部252に供給する。以下の説明においては、レジスタ251の出力をVMDと表記する。従って、復号マトリクス部252には、状態データ値VMおよびその1クロック前の状態データ値VMDが供給される。復号マトリクス部252は、図20に示した復号マトリクスのテーブルをROM等の手段に記憶しており、かかる復号マトリクスのテーブルを参照して、VMDおよびVMに基づいて復号データ値を出力する。
一方、不一致検出回路253は、例えば排他的論理和回路を用いて構成することができる。不一致検出回路253には、VM00,VM11,VM01およびVM10が供給され、これら4個の状態データ値の間の不一致が検出される。検出結果が不一致検出信号NMとして出力される。不一致検出信号NMは、4個の状態データ値が全て一致する場合以外は、イネーブルまたはアクティブとされる。
かかる不一致検出信号は、復号データおよび再生信号の品質の評価に用いることができる。すなわち、不一致検出信号に基づいて、復号データからユーザデータ等を復号化する復号化手段、または再生系の動作条件等を制御するようにすることができる。不一致検出回路253は、4個の状態データ値を供給されることが可能な位置であれば、何処に設けても良く、必ずしもマージブロック135内に設けなくても良い。
以上のようなマージブロック135の構成は、再生信号の信号品質があまり良好でないこと等に起因して状態データ値間に不一致が生じる場合に備えるためのものである。従って、再生信号の信号品質が良好なため、状態データ値間の不一致が生じる確率が充分小さく、状態データ値間の不一致に対処する必要が無い場合には、マージブロック135は、レジスタ251および復号マトリクス部252を有するものであれば良い。
マージブロック135が状態選択回路250を有するものである場合には、状態選択回路250の出力VMを各時点における状態データ値sm〔k+n〕としてRAA101に供給するようになされる。
上述したこの発明の実施の一形態は、アドレス部およびデータ部に対して、別個の振幅基準値を適応化するものであり、かかる適応化における振幅基準値の初期値の設定方法の選択、およびかかる振幅基準値の適応化の可否の制御を行うものである。これに対して、例えばアドレス部およびデータ部において共通の振幅基準値を用いる場合等、ビタビ復号方法の種類によって決まる個数の振幅基準値を適応化する場合に、振幅基準値の初期値の設定方法の選択、および振幅基準値の適応化の可否の制御を行うようにしても良い。
このような、ビタビ復号方法の種類によって決まる個数の振幅基準値を適応化する場合としては、他に、例えばデータ部についてはビタビ復号方法を用いた再生動作を行い、アドレス部についてはビットバイビット復号方法等のビタビ復号方法とは異なる方法を用いた再生動作を行う場合等がある。
上述したこの発明の実施の一形態は、6値4状態ビタビ復号方法を行う光磁気ディスク装置にこの発明を適用したものである。これに対し、上述したような4値4状態ビタビ復号方法、3値4状態ビタビ復号方法、および7値6状態ビタビ復号方法等の他の種類のビタビ復号方法を行う光磁気ディスク装置にも、この発明を適用することができる。
また、この発明は、記録媒体に記録されたデータから再生される再生信号から、リードデータを復号するためにビタビ復号方法を用いることができる情報再生装置に適用することができる。すなわち、光磁気ディスク(MO)以外にも、例えば相変化型ディスクPD、CD−E(CD-Erasable )等の書き換え可能ディスク、CD−R等の追記型ディスク、CD−ROM等の読み出し専用ディスク等の光ディスク装置に適用することが可能である。
また、この発明は、この実施例に限定されることなく、この発明の要旨を逸脱しない範囲で種々の応用および変形が考えられる。
2・・・コントローラ、12・・・A/D変換器、130・・・ビタビ復号器、132・・・ブランチメトリック計算回路(BMC)、133・・・加算、比較、選択回路(ACS)、134・・・ステ−タスメモリユニット(SMU)、135・・・マージブロック、100・・・シフトレジスタ、101・・・振幅基準値適応化ブロック(RAA)、103・・・装置処理部(CPU),181〜176・・・レジスタ、111〜122・・・出力ゲート、105・・・アドレス/データ切替え部、106・・・乗算器、107・・・加算器、108・・・乗算器、109・・・レジスタ、110・・・セレクタ、61〜72・・・レジスタ、181〜192・・・初期値切替えスイッチ、123〜128・・・振幅基準値切替えスイッチ