説明

復号装置、復号方法及びディスク再生装置

【課題】回路規模を大きくすることなくビタビ復号を行うと共にFDTS復号を行わせることにより、検出性能が高く且つ復号遅延が少ない復号を行なえるようにすること。
【解決手段】復号装置にデータをビタビ復号するビタビ復号部801と同データをFDTS復号するFDTS復号部85を備えているが、ビタビ復号とFDTS復号に必要なメトリック演算回路であるブランチメトリック計算部81と、ACS82と、パスメモリ83と、パスメトリック更新部84を両復号装置で共通に使用することにより、回路規模を大きくすることなく検出性能が高く且つ復号遅延が少ない復号を行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光ディスクまたは磁気ディスクを再生するディスク再生装置に係り、特に再生波形のパーシャルレスポンス(PR)を適応等化し、それを利用して復号する復号装置及び復号方法に関する。
【背景技術】
【0002】
従来より、復号手段としてFDTS(Fixed Delay Tree Search) が知られている。これを用いることにより、ビタビ復号のように長いパスメモリの復号遅延が必要なく、ある固定遅延で復号が出来る硬判定復号法がある(非特許文献1参照)。一方、PRML(Partial Resoponse Maximum Likelihood)として知られているPR等化後の波形をビタビ復号(非特許文献2参照)する軟判定復号法がある。
【0003】
ここで、上記した再生波形の復号時の復号遅延について考察すると、一般的にビタビ復号ではパスがマージするのに数十クロックかかるため、パスメモリは数十タップ必要で、数十クロックの復号遅延を必要とする。FDTSでは木構造の長さ(以下“Tree長”と呼ぶ)に依存しており、一般的にPRのISI(Inter-Symbol Interference)長程度の長さで数クロックの復号遅延で済む。
【0004】
一般的な制御ループ(PLL等)において、ループ内の遅延(以下“ループディレイ”と呼ぶ)が大きいと位相余裕やゲイン余裕が失われて不安定になるので、誤差検出の仮判定の遅延が少ないゼロクロス検出などが用いられる。しかし、ノイズの大きな通信線路や高域特性の減衰が著しくなる高密度磁気記録、或いはMTF(Magnitude Transfer Function)のカットオフ以降で出力が無くなる高密度光記録などにおいてこのゼロクロス検出を用いると、データ検出結果のBER(Bit Error Rate)が高くなり,非常に性能の低い検出しか行われず、正しい誤差検出計算をすることができなくなる。
【0005】
一般的な制御ループの誤差検出において、ループディレイが長いが検出性能のよいデータを用いるのと、ループディレイが短く適度な検出性能をもつデータを用いるのとでは、後者のほうがよいとされている。このことを鑑みて、ゼロクロス検出結果は破綻するが、FDTSやビタビ復号は破綻しない条件における誤差検出として、制御ループの位相及びゲイン余裕の確保できる検出方法としてFDTSを用いることが有利である。
【非特許文献1】JEAKYUN MOON, "Performance Comparison of Detection Methods in Magnetic Recording" IEEE Transaction on magnetics, vol.26 No.6
【非特許文献2】Roy D. Cideciyan, “A PRML System for Digital Magnetic Recording”,IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL.10, NO.1, JANUARY 1992
【発明の開示】
【発明が解決しようとする課題】
【0006】
光記録や磁気記録装置において再生波形の復号に際して、上記したゼロクロス検出を用いると、BD(ブルーレイディスク)などの高密度光記録では非常に性能の低い検出しかできない。そこで復号遅延が小さいFDTSを用いればよいが、ビタビ復号に比べて検出性能が落ちるため、このままでは再生装置に用いることができない。そこで、FDTSとビタビ復号の両方を用いることにより検出性能が高く且つ復号遅延が少ない復号を行わせる構成を採りたいが、このままでは、ビタビ復号回路とFDTS回路の両回路が必要で回路規模が大きくなり過ぎるという問題がある。
【0007】
本発明は前記事情に鑑み案出されたものであって、本発明の目的は、回路規模を大きくすることなくビタビ復号を行うと共にFDTS復号を行わせることにより、検出性能が高く且つ復号遅延が少ない復号を行うことができる復号装置及び復号方法並びに前記復号装置を備えたディスク再生装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明は上記目的を達成するため、データをビタビ復号するビタビ復号手段と同データをFDTS復号するFDTS復号手段を備えた復号装置であって、前記ビタビ復号手段と前記FDTS復号手段により共通に使用されるメトリック演算回路を具備することを特徴とする。
【0009】
また、本発明は、データを復号する復号方法であって、前記データをビタビ復号する際に生じるパスメトリックを最小とする状態をFDTSにより検出することを特徴とする。
【0010】
また、本発明は、光ディスクまたは磁気ディスクを再生するディスク再生装置であって、回路の一部を共通化したビタビ復号回路とFDTS回路を備えることにより前記光ディスクまたは磁気ディスクから読み出した信号をビタビ復号すると共にFDTS復号する復号手段と、前記ビタビ復号した復号信号を復調して再生データとする復調手段とを具備し、前記FDTS回路の復号結果からPR(Partial Response)基準レベルを求め、その値を用いてレベル誤差及びタイミング誤差を検出する誤差検出手段を前記復調手段の前段の再生系に具備することを特徴とする。
【0011】
このように本発明では、前記ビタビ復号手段と前記FDTS復号手段の回路の一部を共通化することにより、ビタビ復号機能とFDTS復号機能を回路規模を大きくすることなく実装することができる。しかも、前記ビタビ復号した復号信号を復調して再生データとすることにより視聴に耐える高品質の再生データを得ることができると共に、前記FDTSの復号結果からPR(Partial Response)基準レベルを求め、その値を用いて再生系のAGCやPLLのレベル誤差及びタイミング誤差を検出することにより、復号遅延の少ない性能のよい仮判定を行うことを可能にしたので、PLLなどの制御ループの位相及びゲイン余裕の確保して制御ループを安定にすることができる。
【発明の効果】
【0012】
本発明によれば、ビタビ復号手段と前記FDTS復号手段の回路一部を共通化することにより、ビタビ復号機能とFDTS復号機能を回路規模を大きくすることなく実装することができる。
前記ビタビ復号した復号信号を復調して再生データとすることにより視聴に耐える高品質の再生データを得ることができる。また、前記FDTSの復号結果からPR(Partial Response)基準レベルを求め、その値を用いて再生系のAGCやPLLのレベル誤差及びタイミング誤差を検出することにより制御ループの位相及びゲイン余裕の確保することができ、高密度記録や通信などのノイズや歪みの大きな系に対して、性能のよい仮判定をビタビ復号と回路を共有しながら行うことができると共に、FDTSの復号結果を用いれば、AGCやPLLの誤差検出に用いる仮判定性能を向上させることができ、その結果として誤差検出情報の信頼性を向上することができる。
【発明を実施するための最良の形態】
【0013】
回路規模を大きくすることなくビタビ復号を行うと共にFDTS復号を行わせることにより、検出性能が高く且つ復号遅延が少ない復号を行う目的を、ビタビ復号手段とFDTS復号手段の回路の一部を共通化し、且つ、前記ビタビ復号した復号信号を復調して再生データとすると共に、前記FDTSの復号結果からPR(Partial Response)基準レベルを求め、その値を用いて再生系のAGC、PLL及びPR等化装置のレベル誤差及びタイミング誤差を検出することによって容易に実現した。
【実施例1】
【0014】
図1は、本発明の一実施の形態に係るディスク記録再生装置の構成を示したブロック図である。ディスク装置は、変調回路1と、記録レーザや磁気ヘッドの記録電流を変調信号に応じて制御する記録制御回路2と、記録及び再生を行うレーザーピックアップ(または磁気ヘッド)3と、再生アンプ4と、AGC(Automatic Gain Control)5と、PLL(Phase Locked Loop )6と、PR等化装置7と、復号装置(最尤復号器(ビタビ復号器)/FDTS)8と、復調回路9とを有し、光ディスク(磁気ディスク)100に対して各種データの記録または再生を行なうものである。
【0015】
次に本実施の形態の動作について復号装置8への等化波形などを例に挙げて説明する。まず、図1の復号装置(ビタビ復号器/FDTS)8にはPR等化装置7からPR(Partial Response)等化波形が入力される。ここでは一例として7時刻分のISI(Inter-Symbol Interference )を考慮したPR等化インパルス波形を図2に示す。復号装置8にはこのインパルス波形と記録符号とが畳み込まれた波形にノイズや歪が重畳したものが入力されることになる。
【0016】
この復号装置8の波形復号方法について述べる。但し、ここでは例として図2の7時刻のISIを考慮したPRで、畳み込まれる符号は17RLLのような最小走行長d=1のRLL(Run Length Limited)符号を考えることにする。最小走行長とはNRZ記録符号の−1または+1の無変化状態の最小連続数のことを示す。つまりd=1の符号とは−1または+1の符号が最低限2回は連続すると言う意味である。復号装置8への入力等化波形をyin(n)で示すと、
【0017】
【数1】

【0018】
と表される。ここで、ciは一般的に表したPRの係数であり、その干渉長をpr_lenとする。ここではpr_len=7を考えている。anは時刻nでの記録されているNRZ符号の値で±1の値をとり、ここではd=1の符号列である。wnは重畳しているノイズや歪みを表す項である。7時刻のISIを考慮した過去のデータa(n−7)=1の場合のFDTSの木構造を図3に示す。d=1を想定しているので、最低でも2時刻同じ符号が連続するようなパスが実線で示されており、その規則を破るものは点線のパスで示してある。また図中ではNRZ符号の−1を0として表記している。またa(n−7)=−1の場合は、図3の木構造が上下反転した構造になる。このように、過去のデータa(n−7)に影響されながら復号してゆくことになる。このFDTSは現在の時刻がnのときに6時刻過去のデータを判定するものである。時刻nのブランチメトリックは以下のようになる。
【0019】
【数2】

【0020】
FDTSの演算は、通常、例えば本願出願人による特願2003−371112号で開示した復号器の説明におけるτ=1の例のようなハードウェア構造で行うが、本実施の形態の特徴であるビタビ復号器とFDTSのメトリック演算部のハードウェアの共用を行うことを示すため、本実施の形態では後述のビタビ復号器の構造の中における復号回路を説明する。
【0021】
まず、PR_len=7のビタビ復号を考えてみる。過去の符号系列{a(n−1),a(n−2),a(n−3),a(n−4),a(n−5),a(n−6)}を状態の番号として定義すると、d=1の制限を考慮して26状態となる。NRZ符号の−1を0として16進数表記してトレリス線図を描くと図4のようになる。
【0022】
図4のブランチは42本存在するが、これらは前の状態から次の状態への組み合わせで一意に表すことが出来る。ビタビ復号器の状態SjからSkへのブランチメトリックは下記の演算を行うことになる。
【0023】
【数3】

【0024】
例えば、図4に示すように状態0x00のブランチメトリックはS0x00→S0x00,S0x00→S0x01の二つの遷移があるので、この二つのブランチメトリックを計算することになる。一方、状態0x01のブランチメトリックはS0x03→S0x01の遷移のみであるので、この遷移のみのブランチメトリックを計算することになる。
【0025】
図5は図1に示した復号装置8の詳細構成を示した図である。復号装置8は、ブランチメトリック計算部81と、ACS(Add Compare Select)82と、パスメモリ83と、パスメトリック更新部84、FDTS復号部85とを有して構成されている。但し、ブランチメトリック81、ACS(Add Compare Select)82、パスメモリ83はビタビ復号の状態の数だけ存在して、パスメトリック更新部84は状態の数だけあるパスメトリックの正規化と最小の状態を求める機能を有し、以上の各機能ブロックがビタビ復号部801を構成している。FDTS復号部85は本実施形態の特徴であるビタビ復号のパスメトリックやブランチメトリックを用いてFDTS演算を行う機能を有し、FDTS復号する際にビタビ復号部801のブランチメトリック計算部81と、ACS(Add Compare Select)82と、パスメモリ83と、パスメトリック更新部84を共有のメトリック演算回路として用いる。
【0026】
図6は上記したビタビ復号部801の詳細構成を示したブロック図である。ブランチメトリック計算部81、ACS82、パスメモリ83及びパスメトリック更新部84で構成されている。図中には一般的なkとk’の状態について示してあるが、回路の構造は状態へ2入力か、1入力かの2種類しかないため、2種類のみ示している。ここではPR_len=7,d=1を考えているので、図中のkとは2入力ある状態のことを示しており、 k={0x00,0x03,0x07,0x0c,0x0f,0x18,0x1c,0x1f,0x20,0x23,0x27,0x30,0x33,0x38,0x3c,0x3f}の集合の中の一つの値をとる。
【0027】
また、k’とは1入力しかない状態のことを示しており、
k’={0x01,0x06,0x0e,0x19,0x1e,0x21,0x26,0x31,0x39,0x3e}の集合の中の一つの値をとる。
【0028】
状態Skのパスメトリック演算について考える。これはブランチメトリック計算部81によりパスメモリ83の値を用いて演算される。トレリス線図で上側のブランチから来る一つ前の状態をSj0、下側のブランチから来る一つ前の状態をSj1とすると、二つのブランチメトリックbm_k_j0=λn(Sj0,Sk)、bm_k_j1=λn(Sj1,Sk)を求める。
【0029】
図7は上記したACS82の内部回路の構成を示したブロック図である。ACS_kは、図7(A)に示すように、加算器815でパスメトリックとブランチメトリックを加算した値sm_k_j0=pm_j0+bm_k_j0,sm_k_j1=pm_j1+bm_k_j1をメトリック比較器816で比較して、選択スイッチ815により小さいほうを選択する。sm_k_j0が選ばれた場合にはsel_k=0、sm_k_j1が選ばれた場合にはsel_k=1というぐあいに出力する。但し、この選択の方法は後述するModulo Normalizationを用いて比較演算を行えばよい。また、sel_kを利用してsel_k=0の場合にはsmout_k=sm_k_j0が、sel_k=1の場合にはsmout_k=sm_k_j1が出力される。
【0030】
次に状態Sk’のパスメトリック演算について考える。この場合は、図7(B)に示すように、入力が1つしかないので、加算器817でブランチメトリックbm_k’_j=λn(Sj,Sk)のみを演算することになる。ACS_k’はパスメトリックとブランチメトリックを加算した値sm_k’_j=pm_j+bm_k’_jを演算し、smout_k’=sm_k’_jとして出力される。
【0031】
パスメトリック更新部84の内部で、上記のように演算したパスメトリックを積算してゆくと、コンピュータ上のソフトウェアやハードウェアでは有限の桁数しか扱うことができないためにオーバーフローを起こしてしまう。そこで、特にハードウェアなどの回路の計算速度に上限がある場合には、簡単な正規化を行う方法として以下の非特許文献3のModulo Normalizationを行う。
【非特許文献3】C.Bernard Shung , “VLSI Architectures for Metric Normalization in the Viterbi Algorithm”, 文献名、発行年度不明(20年ほど前のものと思われる,IEEE のインターネット出版物の検索サービスより探し出しました。)
【0032】
ここでModulo Normalizationの具体的な構成を本実施の形態に沿って説明する。ビタビ復号におけるパスメトリック比較は、上記のように2入力のある状態の中でそれぞれ比較が行われる。そこで、それぞれの状態におけるパスメトリックの差を求めて、それらの最大値のヒストグラムをシミュレーションにて求めてみる。
【0033】
例えば入力波形が2の補数8ビットで表されたとき、ブランチメトリックは2乗の計算をしているので正の値のみになるので15ビットで表される。そして、このうち5ビットから11ビット目までの7ビットでブランチメトリックを表現したときのパスメトリックの差の最大値のヒストグラムを求めると、図10のようになる。但し、この場合はPR(1221)等化された波形に対してノイズを乗せた波形に対してシミュレーションしたものである。PR_len=7の例ではc0=1,c1=2,c2=2,c3=1,c4=0,c5=0,c6=0と設定した場合であり、ノイズはPR(1221)の1に対して分散で定義した白色ガウス雑音である。この結果からすると、ノイズの量によって分布は変化するものの、最大値は256程度であることがわかる。
【0034】
パスメトリックを2進数のデジタルデータで表現する場合、Modulo Normalizationではパスメトリックの差の最大値を表現できるビット幅より1ビット多く用意して以下の関係の演算を行えば、オーバーフローを気にすることなく正しい比較演算を行うことができる。
【0035】
Skにおける比較するパスメトリックが、bit_width_lenのビット幅で表される2進数のビット列で
sm_k_j0[bit_width_len−1:0],sm_k_j1[bit_width_len−1:0]
で表されるとすると、
if(sm_k_j0[bit_width_len-2:0]<sm_k_j1[bit_width_len-2:0])
sel_k=sm_k_j0[bit_width_len-1] ^ sm_k_j1[bit_width_len-1]
else
sel_k=~(sm_k_j0[bit_width_len-1] ^ sm_k_j1[bit_width_len-1])
の比較を行えばよい。但し、「^」は排他的論理和を示し、 ̄はビット反転を示す。ビタビ復号における比較演算はACSの内部で行われる。
【0036】
先ほどのシミュレーション結果から具体的な値を考えると、パスメトリックの差の最大値が255以下で表されると考えると、最大値が8ビットで表現できると考えて、パスメトリックに9ビット用意しておけばよい。つまり、bit_width_len=9として上記の比較演算を行えばよい。この様子を単位円上にパスメトリックの値を配置した系を図8に示す。各状態のパスメトリック差を単位円上の角度で見ると、以下の関係になる。
【0037】
【数4】

【0038】
この場合、bit_width_v=bit_width_len=9である。kが16種類の場合があるので、α_max=max(α_k)とすると、図10のシミュレーション結果から、bit_width_v=9として用いれば、α_max<πとなるということを意味している。
【0039】
次にFDTS検出を行うためのパスメトリック比較を考える。ビタビ復号部801と回路共用したFDTS復号部85の復号のためには、ビタビ復号の場合と異なり、全状態のパスメトリックを比較しなければならない。これをModulo Normalizationを応用して求めることを考えると、パスメトリックは図9のように単位円上に配置されることになる。この場合α_maxは以下の式で表現されることになる。
【0040】
【数5】

【0041】
全状態のパスメトリックの最大値と最小値の差のヒストグラムを、PR(1221)等化された波形に対してノイズを乗せた波形についてシミュレーションした結果を図11に示す。この場合はパスメトリック差の最大値の場合と比較して大きめの値が出て、9ビットないと表現できないことがわかる。つまり、この場合bit_width_f=10としてパスメトリックを10ビット用意しなければいけないことがわかる。このように、FDTSのパスメトリック比較演算のために全状態のパスメトリックの最大値と最小値の差のヒストグラムを求めてModulo Normalizationのためのビット幅を求めることは、本実施形態の特徴とするところである。
【0042】
図12は図5に示したパスメトリック更新部84の詳細回路例を示したブロック図である。このパスメトリック更新部84は複数の遅延回路(シフトレジスタ)Dと最小状態判定回路818を有している。先に述べたようにModulo Normalizationを用いているので、パスメトリック保持用のシフトレジスタを、全状態のパスメトリックの最大値と最小値のシミュレーションから得られた10ビットを用意しておけば、ビタビ復号もFDTSも正しい比較演算をすることができる。このことは本実施形態の特徴とするところである。
【0043】
FDTSのために全状態の中から最小パスメトリックを選び出す最小状態判定回路818がある。この回路には全ての状態の26個のパスメトリックが入力される。この26個のパスメトリックをトーナメント方式で比較すると、比較演算時間が非常に長くかかってしまう。そこで、本実施の形態の特徴である比較演算時間を削減して実現する方法を以下に説明する。
【0044】
図13は上記した最小状態判定回路818の詳細回路例を示したブロック図である。最小状態判定回路818は例えば3個の8比較器と1個の2比較器を入力段に有し、これら比較器の比較結果を比較する1個の4比較器と、最小パスメトリックを選び出す最小デコーダ819からなっている。このように26個のパスメトリックを3つの8比較器と一つの2比較器を用意して、図のように振り分けて入力する。3つの8比較器はすべて同じ構造であり、その内部演算条件を図14に示す。8つのパスメトリックを総当りで同時に比較を行う。その総当りの場合の数は8C2=28通りになる。
【0045】
この比較の対をcmp_2pm_l_mとして表現する。ここで0<=l<=7,0<=m<=7であり、cmp_2pm_l_mはpm_l_inとpm_m_inを比較すると言う意味である。比較結果はpm_l_inの方がpm_m_inよりも小さい場合には0を、そうでなければ1を出力する。また、入力されるパスメトリックがFDTSに対してModulo Normalizationを採用しているので、比較演算にはModulo Normalizationの比較を行う。このことは本実施形態の特徴とするところである。
【0046】
図14のように比較演算を行って、図示した条件の場合に対応するsel_pmの値をシフトレジスタに出力する。そして1時刻遅れた比較結果としてsel_pmDに出力する。回路の動作が充分速い場合にはこのシフトレジスタは必要ではないが、ここでは、回路の動作速度が間に合わない例としてシフトレジスタを用意している。
【0047】
2比較器にはpm_0x3eとpm0x3fの比較を行うものであるが、これもModulo Normalizationの比較を行い、pm_0x3eがpm0x3fよりも小さい場合にはsel_pm=0を、そうでなければ1を出力する。また、これも8比較器の遅延に合わせるために、シフトレジスタで1時刻遅れた結果をsel_pmDに出力する。
【0048】
4比較器には先に説明した3つの8比較器と1つの2比較器の最小メトリックの4つのメトリックが入力される。4比較器の内部演算の例を図15に示す。4つのパスメトリックを総当りで同時に比較を行う。その総当りの場合の数は4C2=6通りになる。
【0049】
この比較の対をcmp_2pm_l_mとして表現する。ここで0<=l<=3,0<=m<=3であり、cmp_2pm_l_mはpm_l_inとpm_m_inを比較すると言う意味である。比較結果はpm_l_inの方がpm_m_inよりも小さい場合には0を、そうでなければ1を出力する。また、入力されるパスメトリックがFDTSに対してModulo Normalizationを採用しているので、比較演算にはModulo Normalizationの比較を行う。このことは本実施の形態の特徴とするところである。4比較器は図15のように比較演算を行って、図示した条件の場合に対応するsel_pmの値を出力する。
【0050】
最小デコーダには4比較器出力sel_pmをsel_msb 、8比較器1の出力sel_pmD をsel_lsb1、8比較器2の出力sel_pmD をsel_lsb2、8比較器3の出力sel_pmD をsel_lsb3、2比較器の出力sel_pmD をsel_lsb4として入力される。これらの選択結果はすべて2進数で表されているとすると、
sel_msb=0の場合、sel_pm={sel_msb,sel_lsb1}
sel_msb=1の場合、sel_pm={sel_msb,sel_lsb2}
sel_msb=2の場合、sel_pm={sel_msb,sel_lsb3}
sel_msb=3の場合、sel_pm={sel_msb,sel_lsb4}
としてデコードされ、この値がシフトレジスタに入力される。そして1時刻あとのデコードデータとして、最小デコーダのminSとして最小状態が選択される。この場合も同様に、回路の動作が充分速い場合にはシフトレジスタは必要ではないが、ここでは、回路の動作速度が間に合わない例としてシフトレジスタを用意している。
【0051】
例えば、図13においてpm_0x1cが最小であるとすると、8比較器2のmin_pmDが最も小さい値である。そこで、sel_lsb2=3’b010,sel_msb=2’b01が出力されているはすである。つまり、minS={01010}で10であるので、上から11番目のパスメトリックであるpm_0x1cが最小と選択される。以上のようにして、図13の回路を用いて2クロックで全状態のパスメトリックの最小状態を選択することができる。なお、上記のようにパスメトリックの最小状態を検出する際に、すべてのパスメトリックを一度に比較するのではなく、グループごとに比較して、その比較結果をさらに比較する構成とすることにより、最小状態判定回路818の回路規模を小さくすることができる。
【0052】
次に図6に示したパスメモリについて説明するが、図20はこのパスメモリの詳細回路例の構成を示したブロック図である。パスメモリは、複数の遅延回路(シフトレジスタ)Dと複数の選択スイッチSWを有している。特に191、192の遅延回路は最小パイメトリック選択演算と本回路の動作タイミングを合わせるものである。パスメモリはpmem_lenの数のメモリをもつシフトレジスタから構成される。このシフトレジスタは時刻の新しい順に並んでおり、整数i(0〜pmem_len−1)の添え字を用いて配列で内容を表すことにする。また、このシフトレジスタは、後述の方法でデータが更新されてゆくことになる。
【0053】
pmem_k[0]には、
k={0x00,0x03,0x07,0x0c,0x0f,0x18,0x1c,0x1f}
の場合は0 を、
k={0x20,0x23,0x27,0x30,0x33,0x38,0x3c,0x3f}
の場合は1 を入力する。
pmem_k ’[0] には、
k’={0x01,0x06,0x0e,0x19,0x1e}
の場合は0 を、
k’={0x21,0x26,0x31,0x39,0x3e}
の場合は1 を入力する。
【0054】
パスメモリには選択情報sel_kが入力されるが、入力された時刻nの時の選択情報をsel_k(n)と書き直すと、PMcmp_dly(0以上の整数) の数だけのシフトレジスタが存在して、時刻PMcmp_dly分だけsel_k(n)が遅延させるものであり、最後のレジスタの出力からsel_m(n−PMcmp_dly)が出力される。この構造は、パスメトリック更新部内の最小状態判定回路の遅延を補償するためのものであり、本実施形態の特徴とするところである。先に説明したとおり、図13の回路は2クロック遅延あるので、ここではPMcmp_dly=2とすればよい。
【0055】
パスメモリの更新の方法について説明する。2入力ある状態のパスメモリは以下の条件でメモリ更新を行う。
【0056】
sel_k(n-PMcmp_dly)=0 の場合、
for(i=0; i<pmem_len-1; i++) pmem_k[i+1] = pmem_j0[i] sel_m(n-PMcmp_dly)=1 の場合、 for(i=0; i<pmem_len-1; i++) pmem_k[i+1] = pmem_j1[i]
【0057】
1入力しかない状態のパスメモリpmem_k’は以下のメモリ更新を行う。 for(i=0; i<pmem_len-1; i++) pmem_k ’[i+1] = pmem_j[i]
【0058】
図16は図5に示したFDTS復号部85の詳細回路例の構成を示したブロック図である。FDTS復号部85は選択装置851と復号論理回路852及び2個の遅延回路(シフトレジスタ)Dを有し、一般的に固定遅延長fix_dly(0以上の整数)のFDTSを行う例を示してある。このfix_dlyの値を変化させることにより、任意の固定遅延のFDTS復号を行うことができる。このことは本実施形態の特徴である。
【0059】
例えば、fix_dly=2を設定した場合には、図19のFDTS演算を行うことに相当する。ただし、この例はa(n−3)=1の場合の例であり、a(n−3)=0の場合にはこの木構造が上下逆さまになる。このfix_dlyを変化させるということは、パスメモリのpmem_kのfix_dly段目のシフトレジスタの値を取得するということである。ここで、PR_len=7でfix_dly=PR_len−1=6の図3のFDTSを検出する場合は、前記のようにfix_dly=6と設定すればよい。
【0060】
図16の選択装置はminSの値によって、sd(n−fix_dly)=pmem_minS[fix_dly]の選択を行う装置である。さらに符号のdmin=1を守るために、過去の判定結果により以下の復号を行う。
【0061】
a(n-(fix_dly+2)),a(n-(fix_dly+1))=(-1,-1):a(n-fix_dly)=sd(n-fix_dly)
a(n-(fix_dly+2)),a(n-(fix_dly+1))=(-1,+1):a(n-fix_dly)=+1
a(n-(fix_dly+2)),a(n-(fix_dly+1))=(+1,-1):a(n-fix_dly)=-1
a(n-(fix_dly+2)),a(n-(fix_dly+1))=(-1,-1): a(n-fix_dly)=sd(n-fix_dly)
つまりfix_dly+dmin+1の過去をみて、d制限が満たされるように判定すればよく、これにより破綻なく復号を行うことができる。これは本実施形態の特徴である。
【0062】
次に、このFDTSの復号結果を用いてAGCを構成する場合に用いるレベルエラー検出を考える。図17はレベルエラー検出器の構成例を示したブロック図である。レベルエラー検出器は複数の遅延回路(シフトレジスタ)Dと、複数の乗算回路C0〜C6と、加算回路91と、加算器92と、乗算器93から成る演算部を構成し、レベル誤差を以下の式を用いて演算する。
【0063】
【数6】

【0064】
但し、PR(a(n))とは判定結果から畳み込んで作られた、PRのリファレンスレベルを意味する。次に、FDTSの復号結果を用いてPLLを構成する場合に用いるタイミングエラー検出器について説明する。
【0065】
図18はタイミングエラー検出器の構成を示すブロック図である。タイミングエラー検出器は複数の遅延回路(シフトレジスタ)Dと、複数の乗算回路C0〜C6と、加算回路101と、乗算器102、103と、加算器104から成る演算部を有し、タイミング誤差は以下の式を用いて演算する。
【0066】
【数7】

【0067】
以上のような構成の本実施形態によれば、ビタビ復号とFDTS復号において、FDTSの復号を行う際にビタビ復号部801のブランチメトリック計算部81と、ACS82と、パスメモリ83から成るパスメトリック演算手段を共有することにより、FDTSの回路としては、算出されたパスメトリックの最小状態を検出するFDTS復号部85のみで良く、ビタビ復号機能とFDTS復号機能を回路規模をそれほど大きくすることなく実装することができる。
【0068】
実際の設計例として、本発明の実施例の復号装置を実際のプログラマブルデバイス上に、デジタル設計してみた。その結果、デバイス上の最大ゲート規模に対する回路が消費する割合を測定すると、ビタビ復号器が39.38%消費した。それに対して本発明のFDTSを行う部分の追加した回路は8.62%であった。通常ビタビ復号とFDTSは同等の回路規模を消費するので、これらを一つのIC上にそれぞれ構築すると約2倍の規模を消費することになるが、上記の結果により8.62/39.38=21.8%なので、ビタビ復号部801に約2割程度の回路増設でFDTS機能も実装することができる。
【0069】
また、ビタビ復号部801により復号された再生データは視聴に用いるため、品質の良い再生データを得ることができ、且つ、FDTS復号部85で得られるビタビ復号よりも復号遅延の短い復号データをAGC5,PLL6及びPR等価回路7に供給してレベルエラー検出やタイミングエラー検出を行うことにより、PLLなどの制御ループを安定にすることができる。
【0070】
尚、本発明は上記実施の形態に限定されることなく、その要旨を逸脱しない範囲において、具体的な構成、機能、作用、効果において、他の種々の形態によっても実施することができる。
【図面の簡単な説明】
【0071】
【図1】本発明の一実施の形態に係るディスク記録再生装置の構成を示したブロック図である。
【図2】図1に示した復号装置に入力されるPR等化インパルス波形例を示した図である。
【図3】FDTSの木構造例を示した図である。
【図4】16進数表記のトレリス線図例を示した図である。
【図5】図1に示した復号装置の詳細構成を示したブロック図である。
【図6】図5に示したビタビ復号部の詳細構成を示したブロック図である。
【図7】図5に示したACSの詳細回路例の構成を示したブロック図である。
【図8】ビタビ復号時の複数状態のパスメトリックの差を単位円上の角度で示した図である。
【図9】FDTS復号時の複数状態のパスメトリックの差を単位円上の角度で示した図である。
【図10】ビタビ復号時の複数状態のパスメトリックの差の最大値のヒストグラムを示した特性図である。
【図11】FDTS復号時の複数状態のパスメトリックの差の最大値のヒストグラムを示した特性図である。
【図12】図5に示したパスメトリック更新部の詳細回路例の構成を示したブロック図である。
【図13】図12に示した最小状態判定回路の詳細回路例の構成を示したブロック図である。
【図14】図13に示した最小状態判定回路の動作を説明する説明図である。
【図15】図13に示した最小状態判定回路の動作を説明する説明図である。
【図16】図5に示したFDTS復号部の詳細回路例の構成を示したブロック図である。
【図17】レベルエラー検出器の構成を示したブロック図である。
【図18】タイミングエラー検出器の構成を示したブロック図である。
【図19】FDTS演算を説明する木構造例を示した図である。
【図20】図5に示したパスメモリの詳細回路例の構成を示したブロック図である。
【符号の説明】
【0072】
1……変調回路、2……記録制御回路、3……レーザーピックアップ、4……再生アンプ、5……AGC、6……PLL、7……PR等化装置、8……復号装置、9……復調回路、81……ブランチメトリック計算部、82……ACS、83……パスメモリ、84……パスメトリック更新部、85……FDTS復号部、91、101……加算回路、191、192……遅延回路D、801……ビタビ復号部、816……メトリック比較器、818……最小状態判定回路、819……最小デコーダ、851……選択装置、852……復号論理回路、SW……スイッチ。

【特許請求の範囲】
【請求項1】
データをビタビ復号するビタビ復号手段と同データをFDTS復号するFDTS復号手段を備えた復号装置であって、
前記ビタビ復号手段と前記FDTS復号手段により共通に使用されるメトリック演算回路を具備する、
ことを特徴とする復号装置。
【請求項2】
前記メトリック演算回路は、ブランチメトリック計算部、ACS(Add Compare Select)、パスメモリ及びパスメトリック更新部を有することを特徴とする請求項1記載の復号装置。
【請求項3】
前記FDTS復号手段は、前記メトリック演算回路により演算されたパスメトリックの最小の状態を検出する最小パスメトリック選択演算においてパスメトリックを比較する際に、前記パスメトリックを複数のグループに分けて、それぞれのグループでの最小パスメトリックを検出し、その後各グループの最小パスメトリックを比較して、最終的なパスメトリックの最小状態を検出することを特徴とする請求項1記載の復号装置。
【請求項4】
前記パスメトリックを比較する際に分けられたあるグループにおいて、そのグループへの入力パスメトリック数がnであるときnC2個の総当たり比較を行うことによって、前記パスメトリックの最小状態を検出することを特徴とする請求項3記載の復号装置。
【請求項5】
前記パスメトリック比較を行う際にModulo Normalizationによる比較演算を行うことを特徴とする請求項3記載の復号装置。
【請求項6】
前記全状態のパスメトリックの最大値と最小値の差のヒストグラムを求めて、ビタビ復号のModulo Normalizationのために求めたパスメトリック差の最大値のヒストグラムと比較して、それらのうち大きいほうの値を表現できるビット幅をmとした場合、Modulo Normalizationを行うためのビット幅としてm+1ビットをパスメトリックのビット幅とすることを特徴とする請求項3記載の復号装置。
【請求項7】
前記メトリック演算回路を構成する前記パスメモリのレジスタ交換の際に使用される選択情報を、前記最小パスメトリック選択演算における遅延量と同じだけ遅延させることを特徴とする請求項3記載の復号装置。
【請求項8】
前記FDTS復号手段は、FDTS復号を行う際に前記メトリック演算回路を構成するパスメモリから固定遅延長分だけ後の時刻のデータを取得する時に、前記固定遅延長を変化させることを特徴とする請求項1記載の復号装置。
【請求項9】
前記FDTS復号手段は、dmin(最小走行長制限)を守るために、FDTS復号の際にパスメモリから取得したデータのdmin+1時刻過去までのデータを用いて復号することを特徴とする請求項1記載の復号装置。
【請求項10】
前記復号するデータは光ディスクまたは磁気ディスクから読み出したデータであることを特徴とする請求項1記載の復号装置。
【請求項11】
データを復号する復号方法であって、
前記データをビタビ復号する際に生じるパスメトリックを最小とする状態をFDTSにより検出することを特徴とする復号方法。
【請求項12】
光ディスクまたは磁気ディスクを再生するディスク再生装置であって、
回路の一部を共通化したビタビ復号回路とFDTS回路を備えることにより前記光ディスクまたは磁気ディスクから読み出した信号をビタビ復号すると共にFDTS復号する復号手段と、
前記ビタビ復号した復号信号を復調して再生データとする復調手段とを具備し、
且つ、前記FDTS回路の復号結果からPR(Partial Response)基準レベルを求め、その値を用いてレベル誤差及びタイミング誤差を検出する誤差検出手段を前記復調手段の前段の再生系に具備することを特徴とするディスク再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate