(57)【要約】 【課題】回路規模を大きくすることなくビタビ復号を行うと共にＦＤＴＳ復号を行わせることにより、検出性能が高く且つ復号遅延が少ない復号を行なえるようにすること。【解決手段】復号装置にデータをビタビ復号するビタビ復号部８０１と同データをＦＤＴＳ復号するＦＤＴＳ復号部８５を備えているが、ビタビ復号とＦＤＴＳ復号に必要なメトリック演算回路であるブランチメトリック計算部８１と、ＡＣＳ８２と、パスメモリ８３と、パスメトリック更新部８４を両復号装置で共通に使用することにより、回路規模を大きくすることなく検出性能が高く且つ復号遅延が少ない復号を行うことができる。【選択図】図５
2006120204.tif 000002
【特許請求の範囲】
【請求項１】
データをビタビ復号するビタビ復号手段と同データをＦＤＴＳ復号するＦＤＴＳ復号手段を備えた復号装置であって、
前記ビタビ復号手段と前記ＦＤＴＳ復号手段により共通に使用されるメトリック演算回路を具備する、
ことを特徴とする復号装置。
【請求項２】
前記メトリック演算回路は、ブランチメトリック計算部、ＡＣＳ(Add Compare Select)、パスメモリ及びパスメトリック更新部を有することを特徴とする請求項１記載の復号装置。
【請求項３】
前記ＦＤＴＳ復号手段は、前記メトリック演算回路により演算されたパスメトリックの最小の状態を検出する最小パスメトリック選択演算においてパスメトリックを比較する際に、前記パスメトリックを複数のグループに分けて、それぞれのグループでの最小パスメトリックを検出し、その後各グループの最小パスメトリックを比較して、最終的なパスメトリックの最小状態を検出することを特徴とする請求項１記載の復号装置。
【請求項４】
前記パスメトリックを比較する際に分けられたあるグループにおいて、そのグループへの入力パスメトリック数がｎであるときｎＣ２個の総当たり比較を行うことによって、前記パスメトリックの最小状態を検出することを特徴とする請求項３記載の復号装置。
【請求項５】
前記パスメトリック比較を行う際にModulo Normalizationによる比較演算を行うことを特徴とする請求項３記載の復号装置。
【請求項６】
前記全状態のパスメトリックの最大値と最小値の差のヒストグラムを求めて、ビタビ復号のModulo Normalizationのために求めたパスメトリック差の最大値のヒストグラムと比較して、それらのうち大きいほうの値を表現できるビット幅をｍとした場合、Modulo Normalizationを行うためのビット幅としてｍ＋１ビットをパスメトリックのビット幅とすることを特徴とする請求項３記載の復号装置。
【請求項７】
前記メトリック演算回路を構成する前記パスメモリのレジスタ交換の際に使用される選択情報を、前記最小パスメトリック選択演算における遅延量と同じだけ遅延させることを特徴とする請求項３記載の復号装置。
【請求項８】
前記ＦＤＴＳ復号手段は、ＦＤＴＳ復号を行う際に前記メトリック演算回路を構成するパスメモリから固定遅延長分だけ後の時刻のデータを取得する時に、前記固定遅延長を変化させることを特徴とする請求項１記載の復号装置。
【請求項９】
前記ＦＤＴＳ復号手段は、ｄｍｉｎ（最小走行長制限）を守るために、ＦＤＴＳ復号の際にパスメモリから取得したデータのｄｍｉｎ＋１時刻過去までのデータを用いて復号することを特徴とする請求項１記載の復号装置。
【請求項１０】
前記復号するデータは光ディスクまたは磁気ディスクから読み出したデータであることを特徴とする請求項１記載の復号装置。
【請求項１１】
データを復号する復号方法であって、
前記データをビタビ復号する際に生じるパスメトリックを最小とする状態をＦＤＴＳにより検出することを特徴とする復号方法。
【請求項１２】
光ディスクまたは磁気ディスクを再生するディスク再生装置であって、
回路の一部を共通化したビタビ復号回路とＦＤＴＳ回路を備えることにより前記光ディスクまたは磁気ディスクから読み出した信号をビタビ復号すると共にＦＤＴＳ復号する復号手段と、
前記ビタビ復号した復号信号を復調して再生データとする復調手段とを具備し、
且つ、前記ＦＤＴＳ回路の復号結果からＰＲ（Partial Response）基準レベルを求め、その値を用いてレベル誤差及びタイミング誤差を検出する誤差検出手段を前記復調手段の前段の再生系に具備することを特徴とするディスク再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスクまたは磁気ディスクを再生するディスク再生装置に係り、特に再生波形のパーシャルレスポンス（ＰＲ）を適応等化し、それを利用して復号する復号装置及び復号方法に関する。
【背景技術】
【０００２】
従来より、復号手段としてＦＤＴＳ(Fixed Delay Tree Search) が知られている。これを用いることにより、ビタビ復号のように長いパスメモリの復号遅延が必要なく、ある固定遅延で復号が出来る硬判定復号法がある（非特許文献１参照）。一方、ＰＲＭＬ（Partial Resoponse Maximum Likelihood）として知られているＰＲ等化後の波形をビタビ復号（非特許文献２参照）する軟判定復号法がある。
【０００３】
ここで、上記した再生波形の復号時の復号遅延について考察すると、一般的にビタビ復号ではパスがマージするのに数十クロックかかるため、パスメモリは数十タップ必要で、数十クロックの復号遅延を必要とする。ＦＤＴＳでは木構造の長さ（以下“Ｔｒｅｅ長”と呼ぶ）に依存しており、一般的にＰＲのＩＳＩ（Inter-Symbol Interference)長程度の長さで数クロックの復号遅延で済む。
【０００４】
一般的な制御ループ（ＰＬＬ等）において、ループ内の遅延（以下“ループディレイ”と呼ぶ）が大きいと位相余裕やゲイン余裕が失われて不安定になるので、誤差検出の仮判定の遅延が少ないゼロクロス検出などが用いられる。しかし、ノイズの大きな通信線路や高域特性の減衰が著しくなる高密度磁気記録、或いはＭＴＦ（Magnitude Transfer Function)のカットオフ以降で出力が無くなる高密度光記録などにおいてこのゼロクロス検出を用いると、データ検出結果のＢＥＲ（Bit Error Rate）が高くなり，非常に性能の低い検出しか行われず、正しい誤差検出計算をすることができなくなる。
【０００５】
一般的な制御ループの誤差検出において、ループディレイが長いが検出性能のよいデータを用いるのと、ループディレイが短く適度な検出性能をもつデータを用いるのとでは、後者のほうがよいとされている。このことを鑑みて、ゼロクロス検出結果は破綻するが、ＦＤＴＳやビタビ復号は破綻しない条件における誤差検出として、制御ループの位相及びゲイン余裕の確保できる検出方法としてＦＤＴＳを用いることが有利である。
【非特許文献１】JEAKYUN MOON, "Performance Comparison of Detection Methods in Magnetic Recording" IEEE Transaction on magnetics, vol.26 No.6
【非特許文献２】Roy D. Cideciyan, “A PRML System for Digital Magnetic Recording”,IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL.10, NO.1, JANUARY 1992
【発明の開示】
【発明が解決しようとする課題】
【０００６】
光記録や磁気記録装置において再生波形の復号に際して、上記したゼロクロス検出を用いると、ＢＤ（ブルーレイディスク）などの高密度光記録では非常に性能の低い検出しかできない。そこで復号遅延が小さいＦＤＴＳを用いればよいが、ビタビ復号に比べて検出性能が落ちるため、このままでは再生装置に用いることができない。そこで、ＦＤＴＳとビタビ復号の両方を用いることにより検出性能が高く且つ復号遅延が少ない復号を行わせる構成を採りたいが、このままでは、ビタビ復号回路とＦＤＴＳ回路の両回路が必要で回路規模が大きくなり過ぎるという問題がある。
【０００７】
本発明は前記事情に鑑み案出されたものであって、本発明の目的は、回路規模を大きくすることなくビタビ復号を行うと共にＦＤＴＳ復号を行わせることにより、検出性能が高く且つ復号遅延が少ない復号を行うことができる復号装置及び復号方法並びに前記復号装置を備えたディスク再生装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は上記目的を達成するため、データをビタビ復号するビタビ復号手段と同データをＦＤＴＳ復号するＦＤＴＳ復号手段を備えた復号装置であって、前記ビタビ復号手段と前記ＦＤＴＳ復号手段により共通に使用されるメトリック演算回路を具備することを特徴とする。
【０００９】
また、本発明は、データを復号する復号方法であって、前記データをビタビ復号する際に生じるパスメトリックを最小とする状態をＦＤＴＳにより検出することを特徴とする。
【００１０】
また、本発明は、光ディスクまたは磁気ディスクを再生するディスク再生装置であって、回路の一部を共通化したビタビ復号回路とＦＤＴＳ回路を備えることにより前記光ディスクまたは磁気ディスクから読み出した信号をビタビ復号すると共にＦＤＴＳ復号する復号手段と、前記ビタビ復号した復号信号を復調して再生データとする復調手段とを具備し、前記ＦＤＴＳ回路の復号結果からＰＲ（Partial Response）基準レベルを求め、その値を用いてレベル誤差及びタイミング誤差を検出する誤差検出手段を前記復調手段の前段の再生系に具備することを特徴とする。
【００１１】
このように本発明では、前記ビタビ復号手段と前記ＦＤＴＳ復号手段の回路の一部を共通化することにより、ビタビ復号機能とＦＤＴＳ復号機能を回路規模を大きくすることなく実装することができる。しかも、前記ビタビ復号した復号信号を復調して再生データとすることにより視聴に耐える高品質の再生データを得ることができると共に、前記ＦＤＴＳの復号結果からＰＲ（Partial Response）基準レベルを求め、その値を用いて再生系のＡＧＣやＰＬＬのレベル誤差及びタイミング誤差を検出することにより、復号遅延の少ない性能のよい仮判定を行うことを可能にしたので、ＰＬＬなどの制御ループの位相及びゲイン余裕の確保して制御ループを安定にすることができる。
【発明の効果】
【００１２】
本発明によれば、ビタビ復号手段と前記ＦＤＴＳ復号手段の回路一部を共通化することにより、ビタビ復号機能とＦＤＴＳ復号機能を回路規模を大きくすることなく実装することができる。
前記ビタビ復号した復号信号を復調して再生データとすることにより視聴に耐える高品質の再生データを得ることができる。また、前記ＦＤＴＳの復号結果からＰＲ（Partial Response）基準レベルを求め、その値を用いて再生系のＡＧＣやＰＬＬのレベル誤差及びタイミング誤差を検出することにより制御ループの位相及びゲイン余裕の確保することができ、高密度記録や通信などのノイズや歪みの大きな系に対して、性能のよい仮判定をビタビ復号と回路を共有しながら行うことができると共に、ＦＤＴＳの復号結果を用いれば、ＡＧＣやＰＬＬの誤差検出に用いる仮判定性能を向上させることができ、その結果として誤差検出情報の信頼性を向上することができる。
【発明を実施するための最良の形態】
【００１３】
回路規模を大きくすることなくビタビ復号を行うと共にＦＤＴＳ復号を行わせることにより、検出性能が高く且つ復号遅延が少ない復号を行う目的を、ビタビ復号手段とＦＤＴＳ復号手段の回路の一部を共通化し、且つ、前記ビタビ復号した復号信号を復調して再生データとすると共に、前記ＦＤＴＳの復号結果からＰＲ（Partial Response）基準レベルを求め、その値を用いて再生系のＡＧＣ、ＰＬＬ及びＰＲ等化装置のレベル誤差及びタイミング誤差を検出することによって容易に実現した。
【実施例１】
【００１４】
図１は、本発明の一実施の形態に係るディスク記録再生装置の構成を示したブロック図である。ディスク装置は、変調回路１と、記録レーザや磁気ヘッドの記録電流を変調信号に応じて制御する記録制御回路２と、記録及び再生を行うレーザーピックアップ（または磁気ヘッド）３と、再生アンプ４と、ＡＧＣ(Automatic Gain Control)５と、ＰＬＬ(Phase Locked Loop )６と、ＰＲ等化装置７と、復号装置（最尤復号器（ビタビ復号器）／ＦＤＴＳ）８と、復調回路９とを有し、光ディスク（磁気ディスク）１００に対して各種データの記録または再生を行なうものである。
【００１５】
次に本実施の形態の動作について復号装置８への等化波形などを例に挙げて説明する。まず、図１の復号装置（ビタビ復号器／ＦＤＴＳ）８にはＰＲ等化装置７からＰＲ（Partial Response）等化波形が入力される。ここでは一例として７時刻分のＩＳＩ（Inter-Symbol Interference ）を考慮したＰＲ等化インパルス波形を図２に示す。復号装置８にはこのインパルス波形と記録符号とが畳み込まれた波形にノイズや歪が重畳したものが入力されることになる。
【００１６】
この復号装置８の波形復号方法について述べる。但し、ここでは例として図２の７時刻のＩＳＩを考慮したＰＲで、畳み込まれる符号は１７ＲＬＬのような最小走行長ｄ＝１のＲＬＬ（Run Length Limited）符号を考えることにする。最小走行長とはＮＲＺ記録符号の−１または＋１の無変化状態の最小連続数のことを示す。つまりｄ＝１の符号とは−１または＋１の符号が最低限２回は連続すると言う意味である。復号装置８への入力等化波形をｙｉｎ（ｎ）で示すと、
【００１７】
【数１】
2006120204.tif 000003
【００１８】
と表される。ここで、ｃｉは一般的に表したＰＲの係数であり、その干渉長をｐｒ＿ｌｅｎとする。ここではｐｒ＿ｌｅｎ＝７を考えている。ａｎは時刻ｎでの記録されているＮＲＺ符号の値で±１の値をとり、ここではｄ＝１の符号列である。ｗｎは重畳しているノイズや歪みを表す項である。７時刻のＩＳＩを考慮した過去のデータａ（ｎ−７）＝１の場合のＦＤＴＳの木構造を図３に示す。ｄ＝１を想定しているので、最低でも２時刻同じ符号が連続するようなパスが実線で示されており、その規則を破るものは点線のパスで示してある。また図中ではＮＲＺ符号の−１を０として表記している。またａ（ｎ−７）＝−１の場合は、図３の木構造が上下反転した構造になる。このように、過去のデータａ（ｎ−７）に影響されながら復号してゆくことになる。このＦＤＴＳは現在の時刻がｎのときに６時刻過去のデータを判定するものである。時刻ｎのブランチメトリックは以下のようになる。
【００１９】
【数２】
2006120204.tif 000004
【００２０】
ＦＤＴＳの演算は、通常、例えば本願出願人による特願２００３−３７１１１２号で開示した復号器の説明におけるτ＝１の例のようなハードウェア構造で行うが、本実施の形態の特徴であるビタビ復号器とＦＤＴＳのメトリック演算部のハードウェアの共用を行うことを示すため、本実施の形態では後述のビタビ復号器の構造の中における復号回路を説明する。
【００２１】
まず、ＰＲ＿ｌｅｎ＝７のビタビ復号を考えてみる。過去の符号系列｛ａ（ｎ−１），ａ（ｎ−２），ａ（ｎ−３），ａ（ｎ−４），ａ（ｎ−５），ａ（ｎ−６）｝を状態の番号として定義すると、ｄ＝１の制限を考慮して２６状態となる。ＮＲＺ符号の−１を０として１６進数表記してトレリス線図を描くと図４のようになる。
【００２２】
図４のブランチは４２本存在するが、これらは前の状態から次の状態への組み合わせで一意に表すことが出来る。ビタビ復号器の状態ＳｊからＳｋへのブランチメトリックは下記の演算を行うことになる。
【００２３】
【数３】
2006120204.tif 000005
【００２４】
例えば、図４に示すように状態０ｘ００のブランチメトリックはＳ０ｘ００→Ｓ０ｘ００，Ｓ０ｘ００→Ｓ０ｘ０１の二つの遷移があるので、この二つのブランチメトリックを計算することになる。一方、状態０ｘ０１のブランチメトリックはＳ０ｘ０３→Ｓ０ｘ０１の遷移のみであるので、この遷移のみのブランチメトリックを計算することになる。
【００２５】
図５は図１に示した復号装置８の詳細構成を示した図である。復号装置８は、ブランチメトリック計算部８１と、ＡＣＳ(Add Compare Select)８２と、パスメモリ８３と、パスメトリック更新部８４、ＦＤＴＳ復号部８５とを有して構成されている。但し、ブランチメトリック８１、ＡＣＳ(Add Compare Select)８２、パスメモリ８３はビタビ復号の状態の数だけ存在して、パスメトリック更新部８４は状態の数だけあるパスメトリックの正規化と最小の状態を求める機能を有し、以上の各機能ブロックがビタビ復号部８０１を構成している。ＦＤＴＳ復号部８５は本実施形態の特徴であるビタビ復号のパスメトリックやブランチメトリックを用いてＦＤＴＳ演算を行う機能を有し、ＦＤＴＳ復号する際にビタビ復号部８０１のブランチメトリック計算部８１と、ＡＣＳ(Add Compare Select)８２と、パスメモリ８３と、パスメトリック更新部８４を共有のメトリック演算回路として用いる。  
【００２６】
図６は上記したビタビ復号部８０１の詳細構成を示したブロック図である。ブランチメトリック計算部８１、ＡＣＳ８２、パスメモリ８３及びパスメトリック更新部８４で構成されている。図中には一般的なｋとｋ’の状態について示してあるが、回路の構造は状態へ２入力か、１入力かの２種類しかないため、２種類のみ示している。ここではＰＲ＿ｌｅｎ＝７，ｄ＝１を考えているので、図中のｋとは２入力ある状態のことを示しており、  ｋ＝｛０ｘ００，０ｘ０３，０ｘ０７，０ｘ０ｃ，０ｘ０ｆ，０ｘ１８，０ｘ１ｃ，０ｘ１ｆ，０ｘ２０，０ｘ２３，０ｘ２７，０ｘ３０，０ｘ３３，０ｘ３８，０ｘ３ｃ，０ｘ３ｆ｝の集合の中の一つの値をとる。
【００２７】
また、ｋ’とは１入力しかない状態のことを示しており、
ｋ’＝｛０ｘ０１，０ｘ０６，０ｘ０ｅ，０ｘ１９，０ｘ１ｅ，０ｘ２１，０ｘ２６，０ｘ３１，０ｘ３９，０ｘ３ｅ｝の集合の中の一つの値をとる。
【００２８】
状態Ｓｋのパスメトリック演算について考える。これはブランチメトリック計算部８１によりパスメモリ８３の値を用いて演算される。トレリス線図で上側のブランチから来る一つ前の状態をＳｊ０、下側のブランチから来る一つ前の状態をＳｊ１とすると、二つのブランチメトリックｂｍ＿ｋ＿ｊ０＝λｎ（Ｓｊ０，Ｓｋ）、ｂｍ＿ｋ＿ｊ１＝λｎ（Ｓｊ１，Ｓｋ）を求める。
【００２９】
図７は上記したＡＣＳ８２の内部回路の構成を示したブロック図である。ＡＣＳ＿ｋは、図７（Ａ）に示すように、加算器８１５でパスメトリックとブランチメトリックを加算した値ｓｍ＿ｋ＿ｊ０＝ｐｍ＿ｊ０＋ｂｍ＿ｋ＿ｊ０，ｓｍ＿ｋ＿ｊ１＝ｐｍ＿ｊ１＋ｂｍ＿ｋ＿ｊ１をメトリック比較器８１６で比較して、選択スイッチ８１５により小さいほうを選択する。ｓｍ＿ｋ＿ｊ０が選ばれた場合にはｓｅｌ＿ｋ＝０、ｓｍ＿ｋ＿ｊ１が選ばれた場合にはｓｅｌ＿ｋ＝１というぐあいに出力する。但し、この選択の方法は後述するＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎを用いて比較演算を行えばよい。また、ｓｅｌ＿ｋを利用してｓｅｌ＿ｋ＝０の場合にはｓｍｏｕｔ＿ｋ＝ｓｍ＿ｋ＿ｊ０が、ｓｅｌ＿ｋ＝１の場合にはｓｍｏｕｔ＿ｋ＝ｓｍ＿ｋ＿ｊ１が出力される。
【００３０】
次に状態Ｓｋ’のパスメトリック演算について考える。この場合は、図７（Ｂ）に示すように、入力が１つしかないので、加算器８１７でブランチメトリックｂｍ＿ｋ’＿ｊ＝λｎ（Ｓｊ，Ｓｋ）のみを演算することになる。ＡＣＳ＿ｋ’はパスメトリックとブランチメトリックを加算した値ｓｍ＿ｋ’＿ｊ＝ｐｍ＿ｊ＋ｂｍ＿ｋ’＿ｊを演算し、ｓｍｏｕｔ＿ｋ’＝ｓｍ＿ｋ’＿ｊとして出力される。
【００３１】
パスメトリック更新部８４の内部で、上記のように演算したパスメトリックを積算してゆくと、コンピュータ上のソフトウェアやハードウェアでは有限の桁数しか扱うことができないためにオーバーフローを起こしてしまう。そこで、特にハードウェアなどの回路の計算速度に上限がある場合には、簡単な正規化を行う方法として以下の非特許文献３のModulo Normalizationを行う。
【非特許文献３】C.Bernard Shung , “VLSI Architectures for Metric Normalization in the Viterbi Algorithm”, 文献名、発行年度不明（２０年ほど前のものと思われる,IEEE のインターネット出版物の検索サービスより探し出しました。）
【００３２】
ここでＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎの具体的な構成を本実施の形態に沿って説明する。ビタビ復号におけるパスメトリック比較は、上記のように２入力のある状態の中でそれぞれ比較が行われる。そこで、それぞれの状態におけるパスメトリックの差を求めて、それらの最大値のヒストグラムをシミュレーションにて求めてみる。
【００３３】
例えば入力波形が２の補数８ビットで表されたとき、ブランチメトリックは２乗の計算をしているので正の値のみになるので１５ビットで表される。そして、このうち５ビットから１１ビット目までの７ビットでブランチメトリックを表現したときのパスメトリックの差の最大値のヒストグラムを求めると、図１０のようになる。但し、この場合はＰＲ（１２２１）等化された波形に対してノイズを乗せた波形に対してシミュレーションしたものである。ＰＲ＿ｌｅｎ＝７の例ではｃ０＝１，ｃ１＝２，ｃ２＝２，ｃ３＝１，ｃ４＝０，ｃ５＝０，ｃ６＝０と設定した場合であり、ノイズはＰＲ（１２２１）の１に対して分散で定義した白色ガウス雑音である。この結果からすると、ノイズの量によって分布は変化するものの、最大値は２５６程度であることがわかる。
【００３４】
パスメトリックを２進数のデジタルデータで表現する場合、Ｍｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎではパスメトリックの差の最大値を表現できるビット幅より１ビット多く用意して以下の関係の演算を行えば、オーバーフローを気にすることなく正しい比較演算を行うことができる。
【００３５】
Ｓｋにおける比較するパスメトリックが、ｂｉｔ＿ｗｉｄｔｈ＿ｌｅｎのビット幅で表される２進数のビット列で
ｓｍ＿ｋ＿ｊ０［ｂｉｔ＿ｗｉｄｔｈ＿ｌｅｎ−１：０］，ｓｍ＿ｋ＿ｊ１［ｂｉｔ＿ｗｉｄｔｈ＿ｌｅｎ−１：０］
で表されるとすると、
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])
の比較を行えばよい。但し、「＾」は排他的論理和を示し、￣はビット反転を示す。ビタビ復号における比較演算はＡＣＳの内部で行われる。
【００３６】
先ほどのシミュレーション結果から具体的な値を考えると、パスメトリックの差の最大値が２５５以下で表されると考えると、最大値が８ビットで表現できると考えて、パスメトリックに９ビット用意しておけばよい。つまり、ｂｉｔ＿ｗｉｄｔｈ＿ｌｅｎ＝９として上記の比較演算を行えばよい。この様子を単位円上にパスメトリックの値を配置した系を図８に示す。各状態のパスメトリック差を単位円上の角度で見ると、以下の関係になる。  
【００３７】
【数４】
2006120204.tif 000006
【００３８】
この場合、ｂｉｔ＿ｗｉｄｔｈ＿ｖ＝ｂｉｔ＿ｗｉｄｔｈ＿ｌｅｎ＝９である。ｋが１６種類の場合があるので、α＿ｍａｘ＝ｍａｘ（α＿ｋ）とすると、図１０のシミュレーション結果から、ｂｉｔ＿ｗｉｄｔｈ＿ｖ＝９として用いれば、α＿ｍａｘ＜πとなるということを意味している。
【００３９】
次にＦＤＴＳ検出を行うためのパスメトリック比較を考える。ビタビ復号部８０１と回路共用したＦＤＴＳ復号部８５の復号のためには、ビタビ復号の場合と異なり、全状態のパスメトリックを比較しなければならない。これをＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎを応用して求めることを考えると、パスメトリックは図９のように単位円上に配置されることになる。この場合α＿ｍａｘは以下の式で表現されることになる。
【００４０】
【数５】
2006120204.tif 000007
【００４１】
全状態のパスメトリックの最大値と最小値の差のヒストグラムを、ＰＲ(1221)等化された波形に対してノイズを乗せた波形についてシミュレーションした結果を図１１に示す。この場合はパスメトリック差の最大値の場合と比較して大きめの値が出て、９ビットないと表現できないことがわかる。つまり、この場合ｂｉｔ＿ｗｉｄｔｈ＿ｆ＝１０としてパスメトリックを１０ビット用意しなければいけないことがわかる。このように、ＦＤＴＳのパスメトリック比較演算のために全状態のパスメトリックの最大値と最小値の差のヒストグラムを求めてＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎのためのビット幅を求めることは、本実施形態の特徴とするところである。
【００４２】
図１２は図５に示したパスメトリック更新部８４の詳細回路例を示したブロック図である。このパスメトリック更新部８４は複数の遅延回路（シフトレジスタ）Ｄと最小状態判定回路８１８を有している。先に述べたようにＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎを用いているので、パスメトリック保持用のシフトレジスタを、全状態のパスメトリックの最大値と最小値のシミュレーションから得られた１０ビットを用意しておけば、ビタビ復号もＦＤＴＳも正しい比較演算をすることができる。このことは本実施形態の特徴とするところである。
【００４３】
ＦＤＴＳのために全状態の中から最小パスメトリックを選び出す最小状態判定回路８１８がある。この回路には全ての状態の２６個のパスメトリックが入力される。この２６個のパスメトリックをトーナメント方式で比較すると、比較演算時間が非常に長くかかってしまう。そこで、本実施の形態の特徴である比較演算時間を削減して実現する方法を以下に説明する。
【００４４】
図１３は上記した最小状態判定回路８１８の詳細回路例を示したブロック図である。最小状態判定回路８１８は例えば３個の８比較器と１個の２比較器を入力段に有し、これら比較器の比較結果を比較する１個の４比較器と、最小パスメトリックを選び出す最小デコーダ８１９からなっている。このように２６個のパスメトリックを３つの８比較器と一つの２比較器を用意して、図のように振り分けて入力する。３つの８比較器はすべて同じ構造であり、その内部演算条件を図１４に示す。８つのパスメトリックを総当りで同時に比較を行う。その総当りの場合の数は８Ｃ２＝２８通りになる。
【００４５】
この比較の対をｃｍｐ＿２ｐｍ＿ｌ＿ｍとして表現する。ここで０＜＝ｌ＜＝７，０＜＝ｍ＜＝７であり、ｃｍｐ＿２ｐｍ＿ｌ＿ｍはｐｍ＿ｌ＿ｉｎとｐｍ＿ｍ＿ｉｎを比較すると言う意味である。比較結果はｐｍ＿ｌ＿ｉｎの方がｐｍ＿ｍ＿ｉｎよりも小さい場合には０を、そうでなければ１を出力する。また、入力されるパスメトリックがＦＤＴＳに対してＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎを採用しているので、比較演算にはＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎの比較を行う。このことは本実施形態の特徴とするところである。
【００４６】
図１４のように比較演算を行って、図示した条件の場合に対応するｓｅｌ＿ｐｍの値をシフトレジスタに出力する。そして１時刻遅れた比較結果としてｓｅｌ＿ｐｍＤに出力する。回路の動作が充分速い場合にはこのシフトレジスタは必要ではないが、ここでは、回路の動作速度が間に合わない例としてシフトレジスタを用意している。
【００４７】
２比較器にはｐｍ＿０ｘ３ｅとｐｍ０ｘ３ｆの比較を行うものであるが、これもＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎの比較を行い、ｐｍ＿０ｘ３ｅがｐｍ０ｘ３ｆよりも小さい場合にはｓｅｌ＿ｐｍ＝０を、そうでなければ１を出力する。また、これも８比較器の遅延に合わせるために、シフトレジスタで１時刻遅れた結果をｓｅｌ＿ｐｍＤに出力する。
【００４８】
４比較器には先に説明した３つの８比較器と１つの２比較器の最小メトリックの４つのメトリックが入力される。４比較器の内部演算の例を図１５に示す。４つのパスメトリックを総当りで同時に比較を行う。その総当りの場合の数は４Ｃ２＝６通りになる。
【００４９】
この比較の対をｃｍｐ＿２ｐｍ＿ｌ＿ｍとして表現する。ここで０＜＝ｌ＜＝３，０＜＝ｍ＜＝３であり、ｃｍｐ＿２ｐｍ＿ｌ＿ｍはｐｍ＿ｌ＿ｉｎとｐｍ＿ｍ＿ｉｎを比較すると言う意味である。比較結果はｐｍ＿ｌ＿ｉｎの方がｐｍ＿ｍ＿ｉｎよりも小さい場合には０を、そうでなければ１を出力する。また、入力されるパスメトリックがＦＤＴＳに対してＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎを採用しているので、比較演算にはＭｏｄｕｌｏ  Ｎｏｒｍａｌｉｚａｔｉｏｎの比較を行う。このことは本実施の形態の特徴とするところである。４比較器は図１５のように比較演算を行って、図示した条件の場合に対応するｓｅｌ＿ｐｍの値を出力する。
【００５０】
最小デコーダには４比較器出力sel_pmをsel_msb 、８比較器１の出力sel_pmD をsel_lsb1、８比較器２の出力sel_pmD をsel_lsb2、８比較器３の出力sel_pmD をsel_lsb3、２比較器の出力sel_pmD をsel_lsb4として入力される。これらの選択結果はすべて２進数で表されているとすると、
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｝ 
としてデコードされ、この値がシフトレジスタに入力される。そして１時刻あとのデコードデータとして、最小デコーダのｍｉｎＳとして最小状態が選択される。この場合も同様に、回路の動作が充分速い場合にはシフトレジスタは必要ではないが、ここでは、回路の動作速度が間に合わない例としてシフトレジスタを用意している。
【００５１】
例えば、図１３においてｐｍ＿０ｘ１ｃが最小であるとすると、８比較器２のｍｉｎ＿ｐｍＤが最も小さい値である。そこで、ｓｅｌ＿ｌｓｂ２＝３’ｂ０１０，ｓｅｌ＿ｍｓｂ＝２’ｂ０１が出力されているはすである。つまり、ｍｉｎＳ＝｛０１０１０｝で１０であるので、上から11番目のパスメトリックであるｐｍ＿０ｘ１ｃが最小と選択される。以上のようにして、図１３の回路を用いて２クロックで全状態のパスメトリックの最小状態を選択することができる。なお、上記のようにパスメトリックの最小状態を検出する際に、すべてのパスメトリックを一度に比較するのではなく、グループごとに比較して、その比較結果をさらに比較する構成とすることにより、最小状態判定回路８１８の回路規模を小さくすることができる。
【００５２】
次に図６に示したパスメモリについて説明するが、図２０はこのパスメモリの詳細回路例の構成を示したブロック図である。パスメモリは、複数の遅延回路（シフトレジスタ）Ｄと複数の選択スイッチＳＷを有している。特に１９１、１９２の遅延回路は最小パイメトリック選択演算と本回路の動作タイミングを合わせるものである。パスメモリはｐｍｅｍ＿ｌｅｎの数のメモリをもつシフトレジスタから構成される。このシフトレジスタは時刻の新しい順に並んでおり、整数ｉ（０〜ｐｍｅｍ＿ｌｅｎ−１）の添え字を用いて配列で内容を表すことにする。また、このシフトレジスタは、後述の方法でデータが更新されてゆくことになる。
【００５３】
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 を入力する。
【００５４】
パスメモリには選択情報ｓｅｌ＿ｋが入力されるが、入力された時刻ｎの時の選択情報をｓｅｌ＿ｋ（ｎ）と書き直すと、ＰＭｃｍｐ＿ｄｌｙ（０以上の整数) の数だけのシフトレジスタが存在して、時刻ＰＭｃｍｐ＿ｄｌｙ分だけｓｅｌ＿ｋ（ｎ）が遅延させるものであり、最後のレジスタの出力からｓｅｌ＿ｍ（ｎ−ＰＭｃｍｐ＿ｄｌｙ）が出力される。この構造は、パスメトリック更新部内の最小状態判定回路の遅延を補償するためのものであり、本実施形態の特徴とするところである。先に説明したとおり、図１３の回路は２クロック遅延あるので、ここではＰＭｃｍｐ＿ｄｌｙ＝２とすればよい。
【００５５】
パスメモリの更新の方法について説明する。２入力ある状態のパスメモリは以下の条件でメモリ更新を行う。
【００５６】
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] 
【００５７】
１入力しかない状態のパスメモリpmem_k’は以下のメモリ更新を行う。 for(i=0; i<pmem_len-1; i++) pmem_k ’[i+1] = pmem_j[i] 
【００５８】
図１６は図５に示したＦＤＴＳ復号部８５の詳細回路例の構成を示したブロック図である。ＦＤＴＳ復号部８５は選択装置８５１と復号論理回路８５２及び２個の遅延回路（シフトレジスタ）Ｄを有し、一般的に固定遅延長ｆｉｘ＿ｄｌｙ（０以上の整数）のＦＤＴＳを行う例を示してある。このｆｉｘ＿ｄｌｙの値を変化させることにより、任意の固定遅延のＦＤＴＳ復号を行うことができる。このことは本実施形態の特徴である。
【００５９】
例えば、ｆｉｘ＿ｄｌｙ＝２を設定した場合には、図１９のＦＤＴＳ演算を行うことに相当する。ただし、この例はａ（ｎ−３）＝１の場合の例であり、ａ（ｎ−３）＝０の場合にはこの木構造が上下逆さまになる。このｆｉｘ＿ｄｌｙを変化させるということは、パスメモリのｐｍｅｍ＿ｋのｆｉｘ＿ｄｌｙ段目のシフトレジスタの値を取得するということである。ここで、ＰＲ＿ｌｅｎ＝７でｆｉｘ＿ｄｌｙ＝ＰＲ＿ｌｅｎ−１＝６の図３のＦＤＴＳを検出する場合は、前記のようにｆｉｘ＿ｄｌｙ＝６と設定すればよい。
【００６０】
図１６の選択装置はｍｉｎＳの値によって、ｓｄ（ｎ−ｆｉｘ＿ｄｌｙ）＝ｐｍｅｍ＿ｍｉｎＳ［ｆｉｘ＿ｄｌｙ］の選択を行う装置である。さらに符号のdmin=1を守るために、過去の判定結果により以下の復号を行う。
【００６１】
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の過去をみて、ｄ制限が満たされるように判定すればよく、これにより破綻なく復号を行うことができる。これは本実施形態の特徴である。
【００６２】
次に、このＦＤＴＳの復号結果を用いてＡＧＣを構成する場合に用いるレベルエラー検出を考える。図１７はレベルエラー検出器の構成例を示したブロック図である。レベルエラー検出器は複数の遅延回路（シフトレジスタ）Ｄと、複数の乗算回路Ｃ０〜Ｃ６と、加算回路９１と、加算器９２と、乗算器９３から成る演算部を構成し、レベル誤差を以下の式を用いて演算する。
【００６３】
【数６】
2006120204.tif 000008
【００６４】
但し、ＰＲ(a(n))とは判定結果から畳み込んで作られた、ＰＲのリファレンスレベルを意味する。次に、ＦＤＴＳの復号結果を用いてＰＬＬを構成する場合に用いるタイミングエラー検出器について説明する。
【００６５】
図１８はタイミングエラー検出器の構成を示すブロック図である。タイミングエラー検出器は複数の遅延回路（シフトレジスタ）Ｄと、複数の乗算回路Ｃ０〜Ｃ６と、加算回路１０１と、乗算器１０２、１０３と、加算器１０４から成る演算部を有し、タイミング誤差は以下の式を用いて演算する。
【００６６】
【数７】
2006120204.tif 000009
【００６７】
以上のような構成の本実施形態によれば、ビタビ復号とＦＤＴＳ復号において、ＦＤＴＳの復号を行う際にビタビ復号部８０１のブランチメトリック計算部８１と、ＡＣＳ８２と、パスメモリ８３から成るパスメトリック演算手段を共有することにより、ＦＤＴＳの回路としては、算出されたパスメトリックの最小状態を検出するＦＤＴＳ復号部８５のみで良く、ビタビ復号機能とＦＤＴＳ復号機能を回路規模をそれほど大きくすることなく実装することができる。
【００６８】
実際の設計例として、本発明の実施例の復号装置を実際のプログラマブルデバイス上に、デジタル設計してみた。その結果、デバイス上の最大ゲート規模に対する回路が消費する割合を測定すると、ビタビ復号器が３９．３８％消費した。それに対して本発明のＦＤＴＳを行う部分の追加した回路は８．６２％であった。通常ビタビ復号とＦＤＴＳは同等の回路規模を消費するので、これらを一つのＩＣ上にそれぞれ構築すると約２倍の規模を消費することになるが、上記の結果により８．６２／３９．３８＝２１．８％なので、ビタビ復号部８０１に約２割程度の回路増設でＦＤＴＳ機能も実装することができる。
【００６９】
また、ビタビ復号部８０１により復号された再生データは視聴に用いるため、品質の良い再生データを得ることができ、且つ、ＦＤＴＳ復号部８５で得られるビタビ復号よりも復号遅延の短い復号データをＡＧＣ５，ＰＬＬ６及びＰＲ等価回路７に供給してレベルエラー検出やタイミングエラー検出を行うことにより、ＰＬＬなどの制御ループを安定にすることができる。
【００７０】
尚、本発明は上記実施の形態に限定されることなく、その要旨を逸脱しない範囲において、具体的な構成、機能、作用、効果において、他の種々の形態によっても実施することができる。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施の形態に係るディスク記録再生装置の構成を示したブロック図である。
【図２】図１に示した復号装置に入力されるＰＲ等化インパルス波形例を示した図である。
【図３】ＦＤＴＳの木構造例を示した図である。
【図４】１６進数表記のトレリス線図例を示した図である。
【図５】図１に示した復号装置の詳細構成を示したブロック図である。
【図６】図５に示したビタビ復号部の詳細構成を示したブロック図である。
【図７】図５に示したＡＣＳの詳細回路例の構成を示したブロック図である。
【図８】ビタビ復号時の複数状態のパスメトリックの差を単位円上の角度で示した図である。
【図９】ＦＤＴＳ復号時の複数状態のパスメトリックの差を単位円上の角度で示した図である。
【図１０】ビタビ復号時の複数状態のパスメトリックの差の最大値のヒストグラムを示した特性図である。
【図１１】ＦＤＴＳ復号時の複数状態のパスメトリックの差の最大値のヒストグラムを示した特性図である。
【図１２】図５に示したパスメトリック更新部の詳細回路例の構成を示したブロック図である。
【図１３】図１２に示した最小状態判定回路の詳細回路例の構成を示したブロック図である。
【図１４】図１３に示した最小状態判定回路の動作を説明する説明図である。
【図１５】図１３に示した最小状態判定回路の動作を説明する説明図である。
【図１６】図５に示したＦＤＴＳ復号部の詳細回路例の構成を示したブロック図である。
【図１７】レベルエラー検出器の構成を示したブロック図である。
【図１８】タイミングエラー検出器の構成を示したブロック図である。
【図１９】ＦＤＴＳ演算を説明する木構造例を示した図である。
【図２０】図５に示したパスメモリの詳細回路例の構成を示したブロック図である。
【符号の説明】
【００７２】
１……変調回路、２……記録制御回路、３……レーザーピックアップ、４……再生アンプ、５……ＡＧＣ、６……ＰＬＬ、７……ＰＲ等化装置、８……復号装置、９……復調回路、８１……ブランチメトリック計算部、８２……ＡＣＳ、８３……パスメモリ、８４……パスメトリック更新部、８５……ＦＤＴＳ復号部、９１、１０１……加算回路、１９１、１９２……遅延回路Ｄ、８０１……ビタビ復号部、８１６……メトリック比較器、８１８……最小状態判定回路、８１９……最小デコーダ、８５１……選択装置、８５２……復号論理回路、ＳＷ……スイッチ。
【図１】
2006120204.tif 000010
【図２】
2006120204.tif 000011
【図３】
2006120204.tif 000012
【図４】
2006120204.tif 000013
【図５】
2006120204.tif 000014
【図６】
2006120204.tif 000015
【図７】
2006120204.tif 000016
【図８】
2006120204.tif 000017
【図９】
2006120204.tif 000018
【図１０】
2006120204.tif 000019
【図１１】
2006120204.tif 000020
【図１２】
2006120204.tif 000021
【図１３】
2006120204.tif 000022
【図１４】
2006120204.tif 000023
【図１５】
2006120204.tif 000024
【図１６】
2006120204.tif 000025
【図１７】
2006120204.tif 000026
【図１８】
2006120204.tif 000027
【図１９】
2006120204.tif 000028
【図２０】
2006120204.tif 000029