【手続補正書】
【提出日】平成17年10月14日(2005.10.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  入力データストリームを受取るステップと、
該入力データストリームの最近の４ビットが関係
d0＋d1＝d2＋d3
を満足する場合にメトリックを増分するステップであって、
ここで、d0は前記入力データストリームの一番最近のビット、d1は該入力データストリームの２番目に最近のビット、d2は該入力データストリームの３番目に最近のビット、d3は該入力データストリームの４番目に最近のビットである、ステップと、
該メトリックがしきい値に達した時に前記入力データストリームの中に１つ以上のビットを挿入するステップと、
そして、
前記の挿入されたビットを含む前記入力データストリームをデータ記憶媒体に書込むステップとを含むデータ記憶媒体へのデータ書込み方法。
【請求項２】  前記挿入ステップは、前記メトリックがしきい値に達したときに１ビットを前記データストリームに挿入するステップを含む、請求項１に記載のデータ記憶媒体へのデータ書込み方法。
【請求項３】  前記挿入ステップが、ビットd1の極性と反対の極性を有する１ビットを挿入するステップを含む、請求項２に記載のデータ記憶媒体へのデータ書込み方法。
【請求項４】  入力データストリームを受取るステップと、
スケーリングされたメトリックを生じさせるために、メトリックの現在値に定数を掛けることによって該メトリックの現在値をスケーリングすることによって該メトリックを更新するステップと、
前記のスケーリングされたメトリックに、式
｜4(d2＋d3)−2(d0＋d1＋d4＋d5)｜
によって計算された指数を加えることによって、更新されたメトリックを定式化するステップであって、
ここに、d0は前記入力データストリームの一番最近のビット、d1は該入力データストリームの２番目に最近のビット、d2は該入力データストリームの３番目に最近のビット、d3は該入力データストリームの４番目に最近のビット、d4は該入力データストリームの５番目に最近のビット、そしてd5は該入力データストリームの６番目に最近のビットである、ステップと、
前記メトリックがしきい値に達した時に前記入力データストリームの中に１つ以上のビットを挿入するステップと、
そして、
前記の挿入されたビットを含む前記入力データストリームをデータ記憶媒体に書込むステップと、を含むデータ記憶媒体へのデータ書込み方法。
【請求項５】  前記の挿入ステップは、前記メトリックがしきい値に達したときに単一のビットを前記データストリームの中に挿入するステップを含む、請求項４に記載のデータ記憶媒体へのデータ書込み方法。
【請求項６】  前記挿入ステップが、ビットd1の極性と反対の極性を有する１ビットを挿入するステップを含む、請求項５に記載のデータ記憶媒体へのデータ書込み方法。
【請求項７】  入力データストリームを受取るステップと、
該入力データストリームの最近の４ビットが1100または0011を含まない場合にメトリックを増分するステップと、
該メトリックがしきい値に達したときに該入力データストリームの中に１つ以上のビットを挿入するステップと、
そして、
前記の挿入されたビットを含む前記入力データストリームをデータ記憶媒体に書込むステップと、を含むデータ記憶媒体へのデータ書込み方法。
【請求項８】  前記挿入ステップは、前記メトリックがしきい値に達したときに単一ビットを前記データストリームの中に挿入するステップを含む、請求項７に記載のデータ記憶媒体へのデータ書込み方法。
【請求項９】  前記の挿入ステップが、受取った最後から２番目のビットの極性と反対の極性を有するビットを挿入するステップを含む、請求項８に記載のデータ記憶媒体へのデータ書込み方法。
【請求項１０】  入力データストリームを受取るステップと、
該入力データストリームの最近の４ビットが関係
d0≠d2  および  d1≠d3
を満足させる場合にメトリックを増分するステップであって、
ここに、d0は前記入力データストリームの一番最近のビット、d1は該入力データストリームの２番目に最近のビット、d2は該入力データストリームの３番目に最近のビット、d3は該入力データストリームの４番目に最近のビットである、ステップと、
前記メトリックがしきい値に達したときに該入力データストリームの中に１つ以上のビットを挿入するステップと、
そして、
前記の挿入されたビットを含む該入力データストリームをデータ記憶媒体に書込むステップと、を含むデータ記憶媒体へのデータ書込み方法。
【請求項１１】  前記の挿入ステップは、前記メトリックがしきい値に達したときに単一のビットを前記データストリームの中に挿入するステップを含む、請求項10に記載のデータ記憶媒体へのデータ書込み方法。
【請求項１２】  前記挿入ステップが、ビットd1の極性と同じ極性を有する１ビットを挿入するステップを含む、請求項11に記載のデータ記憶媒体へのデータ書込み方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
もちろん、ノード144でのシリアルデータストリームは、書込みプロセス中にシステムに入力されるシリアル入力データストリーム（serial data input stream）100と理想的には同一であるが、タイミングエラー、利得エラー、ノイズ、信号ドロップアウト（signal dropout）、およびその他のエラー源により必ず、ノード144の出力にある程度のビットエラー率（bit error rate）が生じることになる。かかるエラーは、使用されるエラー修正コード化スキーム（error correction encoding scheme）によって修正可能であり得るが、ノード144にあるエラーの数そのものの低減が望ましい。本発明によれば、タイミングエラーと利得エラーは、書込み信号が確実に十分な振幅内容と位相内容を含むようにするのを助けるような方法でデータシーケンスをコード化することによって、費用のかからない効率的な仕方で減少させることができる。可変レートエンコーダ102が、入ってくるデータストリーム100の中にビットを挿入し、それで、フィルタリングされ解釈され（interpreted）つつあるノード132のサンプルが、確実に適切に増幅され、検出中の媒体108上のトランジションと固有の位相関係（proper phase relationship）にあるサンプリング時間で確実に得られるようにするのを助けるというのが、本発明の１つの態様である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
ブロックマーカ212に続いて、ブロックのデータ部分220をランダム化するのに使用されるランダマイザ・シード214が存在する。ランダマイザ・コードは、各データフィールドごとに非決定論的（non-deterministically）に選択される３バイト（24ビット）シーケンスからなるのが有利である。書込みプロセス中、ブロックのランダマイザ・シード部分214はランダム化されないままであっても、あるいは、媒体に記憶されない固定シード（fixed seed）を使ってランダム化されてもよい。データブロックのシード部分214を読取るときの読取りエラーの発生率（likelihood）を下げるため、シード214は、さらにここに述べる可変レートコード化スキームを使ってコード化してもよい。この実施例は、以下の図８〜11を参照した説明の中で１つの例として使用されているものである。あるいは、その代りに、データフィールド220よりもより高度のオーバヘッドコード化スキーム（overhead encoding scheme）をシードフィールド214のために使用するのが有利であるかも知れない。例えば、ランダマイザ・シードフィールド214は、固定4/5コード（fixed 4/5 code）または固定8/9コードを使ってコード化することができよう。これは、ブロックのデータ部分220およびＣＲＣ部分222、224上で使用される可変レート挿入コードより効率が低いが、ランダム化がないのでより確実な読取り易さ（readability）を提供する。別の例としては、可変レートビット挿入をシードフィールド214上で実行できるが、ゼロシーケンス長（null sequence length）、位相内容および振幅変化に関して、ランダマイザ・シードにとってより適切な読取り特性を確保するために、データフィールド220を書込む時に使用されるものと異なるビット挿入しきい値（bit insertion threshold）を用いて実行できるものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
マルチプレクサ310の出力は、コード・メトリック・フォロワ315によって監視される。コード・メトリック・フォロワは、データストリームが、復号化エラーの発生率を最小限にするように規定されたメトリック基準（metric criteria）に合致するかどうかを決定する。コード・メトリック・フォロワ315が１ビットをデータストリームに挿入する必要ありと決定するとき、相応のビットがビットインサータ312によって挿入される。下に図７〜11を参照して詳細に述べる実施例では、挿入は、先にデータストリーム内に受取ったビットに応じた極性（即ち、“０”か“１”のビット）を有する単一ビットからなる。あるいはその代りに、多重ビットのワード（すなわち２ビット、３ビット、４ビット以上を有するワード）を特定の用途によって要求される通りに挿入することもできよう。コード化されたランダマイザ・シードがビットインサータ312から出力されると、第２のマルチプレクサ314は、ビットインサータ出力を媒体108に書込む目的で変調エンコーダに渡すように構成される。これで、ランダマイザ・シードは、プリアンブルとブロックマーカに続いて直ちに可変レートコード化され、媒体に書込まれることになる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
フォーマットされたブロックのデータフィールド220を復号化する前に、ビット抽出と非ランダム化（un-randomization）に適した始点を決定するためにプリアンブルとブロックマーカを検出しなければならない。従って、シーケンスデコーダからのデータは、ビット抽出器420とプリアンブル及びブロックマーカ検出回路402の両方に送られる。この検出回路がプリアンブルに続くブロックマーカを検出するとき、ビット抽出器420とコード・メトリック・フォロワは、図８〜11を参照して述べるその始動状態に初期化される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
データの記憶が過度のビット挿入を伴うのを防ぐために別の方法が利用できる。データパターンは複数のエンコーダ回路に同時に送られ、各々が異なるランダマイザ・コードを使うようにすることができる。エンコーダの出力はバッファメモリに送られ、そこで、ランダム化されコード化されたデータブロックの中で、要求するビット挿入の数が最も少ないデータブロックが媒体に書込むために選択され、残りのデータブロックが捨てられる。推察される通り、ランダム化され、コード化されたデータセットを数組作成するときは、データブロックを選択するのに多くの代替法が使用できる。上に述べた１つの代替法は、ビット挿入数の最も少ないデータブロックを選択する方法である。あるいはその代りに、第１のエンコーダ出力に含まれるビット挿入数が特定のしきい値を超えなければ、この第１のエンコーダが、ランダム化されコード化されたデータの“一次”ソース（“primary”source）であることができ、一方、上記の第１のエンコーダ出力が過大なビット挿入数を含む場合は、第２のエンコーダ(secondary encoder）出力が媒体への書込みのために選択される。この第２のエンコーダ出力も過度のビット挿入を含む場合は第３のエンコーダ出力を選択することができ、適当な長さのデータブロックが見出されるまで、それを続けることができる。この手順を、例えば４つの独立した別のエンコーダに対して遂行するのに必要とされる回路は、まったく費用がかからない。この実施例では、複数のランダマイザ・コードを非決定論的に選択する必要がない。むしろ、複数の固定されたランダマイザ・コードを使用してよい。使用されるすべてのランダマイザ・コードのために受入れがたいほど高いビット挿入率を要求するデータパターンが現れる頻度は、無視できる程度である。新しいランダマイザ・コードの周期的で非決定論的な選択を多重エンコーダ（multiple encoder）を用いて具体化して実行することができることが推察されよう。この場合は、もちろん、同じマイクロコントローラを使用して代替のランダマイザ・コードのすべてを周期的に発生させてもよい。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
図７は、本発明の有利な一実施例を示す図３のビットインサータおよびコード・メトリック・フォロワの機能（functionality）をより詳細に示した図である。シリアルデータがビットインサータ312を通過して流れるにつれて、ビットストリームの最近の６ビットがコード・メトリック・フォロワ315によって分析される。これらの受取られた最近の６ビットはd0〜d5と表示され、ここに、d0は、６ビットの中で最後に受取られたビット、d5は、６ビットの中で最初に受取られたビットである。シリアルデータがビットインサータによって受取られていくにつれて、ビットは図７において右へ、d0からd1へ、d1からd2へ、などとシフトさせられ、d5が外へシフトして出され、変調エンコーダ104に送られる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
今、図８を参照して、位相メトリック702を更新し、このメトリックに応答して１ビットを挿入するためのプロセスを説明する。位相メトリック702は、10進数0〜127の範囲内の値である。本発明の一実施例では、ビット挿入機能は、ブロックの適当なランダマイザ・シード214とデータ220部分を書込み開始時にプリアンブル210に続いて開始される。この時、６ビットウィンドウd0〜d5は、プリアンブルシーケンス210の最後の４ビットと２ビットのブロックマーカ212の合計６ビット111100で初期設定される。位相メトリック702は、この時点で10進数20の値に初期設定される。ウィンドウ700の分析とメトリック更新が図８のブロック800で始まると、新しいデータビットが位置d0にシフトインされる。ブロック802で、指数“W”がウィンドウ700の中の６ビットの値に基づいて計算される。この指数は、次式（絶対値）に従って計算されるのが有利である。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
W＝｜4(d2＋d3)−2(d0＋d1＋d4＋d5)｜
この指数Wは、０から最大８まで変化し、その最大値は、中央のビット対d2とd3の極性が同じで、端のビット対d0、d1とd4、d5の全ての極性と異なる時に現れる。従って、データストリームの中の隣接するビット対の“00”と“11”（ＥＰＲ４読取りチャネルにおける読取り信号の振幅の急速で大きな揺れと関連し、従って、大量の位相情報を含む）が、より大きい指数値を生じさせる傾向を示すことになる。対照的に、“0101”の割合が大きいビットシーケンスやその他のビットシーケンスでＥＰＲ４読取りチャネルにおいて徐々に変化する読取りチャネル応答と関連し、その結果として、かかる環境において少ない位相分と関連したビットシーケンスの場合は、より小さい指数値を生じさせる傾向を示すことになる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
次に、ブロック804で、位相メトリック702は、現位相メトリック値にスケーリングファクタKを掛け、次に、上記の式に従って６ビットウィンドウから計算された指数Wを加えることによって更新される。ここで、スケーリングファクタKは定数60/64であるのが有利である。これから推察できる通り、指数Wが現位相メトリックの（1-60/64）より小さければ、位相メトリックはこの計算によって低減されることになる。指数Wが現位相メトリックの（1-60/64）より大きければ、位相メトリックはこの計算によって増大する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
今、図10を参照して、振幅メトリックを更新し、これに応答してビットをデータストリームの中に挿入するプロセスを説明する。図８および９と同様に、システムはブロック1050で始まり、そこで、データストリームの１ビットが位置d0にシフトインされる。前と同様、これがプリアンブル210とブロックマーカ212に続く最初のビットであれば、６ビットウィンドウ700はストリング111100を含み、振幅メトリックは10進数２に初期設定される。上に述べた通り、ＥＰＲ４読取りチャネルにおいて、ビットシーケンス0011および1100は、最大振幅の正または負の読取り信号の揺れを生じさせる。従って、コード・メトリック・フォロワ315は、データストリームをこれらのシーケンスについて調べるように構成されるのも有利である。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
図11は、プリアンブルメトリック708の更新と、これに応答して実行されるビット挿入のプロセスを図示するものである。図11のブロック1150での初期状態は、図８〜10を参照して上に述べたものと同じである。データストリームの１ビットが位置d0にシフトインされ、これがプリアンブル210とブロックマーカ212に続く最初のビットであれば、６ビットウィンドウ700は、この最初のデータビットのシフトの直前にストリング111100を含む。プリアンブルメトリックは、この時点でブロック処理においてゼロにクリアされる。ステップ1155で、コード・メトリック・フォロワ315はビットd0とd2を比較する。これらのビットが等しければ、位置d0〜d2にある３ビットは、101、010、000、あるいは111のどれかでなければならず、そのどれも、上に述べたデータブロックのプリアンブル部分210には存在しないものである。この場合は、システムはステップ1160へ進み、プリアンブルメトリックをクリアし、システムがブロック1150に戻るループに入ると、データストリームからの次ビットが挿入される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
ビットd0とd2が等しくない場合は、ブロック1165でシステムはビットd1とd3を比較する。これらのビットが等しければ、システムは再びブロック1160へ進み、プリアンブルメトリックをクリアし、ブロック1150に戻るループに入り、そこで次のデータビットをシフトインする。しかしながら、ビットd1とd3も等しくなければ、ビットd0〜d3の内容は、プリアンブル210の一部と合致するビットシーケンスでなければならない。この場合では、システムはブロック1170へ進み、プリアンブルメトリックは１（one）だけ増分（すなわち、インクリメント）される。次いで、ブロック1175で、プリアンブルメトリックはしきい値に比較される。ここで、しきい値は10に設定されてもよい。プリアンブルメトリックが10以下であれば、システムは再びブロック1150に戻るループに入り、そこで次の新しいデータビットがシフトインされる。プリアンブルメトリックが、シフトインされた最後のビットで11に増分されたならば、システムはブロック1180へ進み、シフトインされた最後から２番目のビットと同じ極性（すなわちビットd1の極性）を有するビットが、位置d0にシフトインされる。推察される通り、ビットd1と逆の極性のビットを挿入した場合（位相メトリック、ゼロメトリックおよび振幅メトリックに使用される挿入方法）は、1100と0011のシーケンスをデータストリームの中に挿入する方向に行くが、ビットd1と同じビットを挿入した場合は、ブロックのデータフィールド220の中にプリアンブルパターンの有意部分（significant portion）を生じさせるようないかなるシーケンスのストリングも分断されることになろう。ビット挿入に続いて、システムは、６ビットウィンドウ700の更新された内容を使ってブロック1155でビットd0とd2を再び評価することによって動作を続ける。
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2002522870.tif 000001
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2002522870.tif 000002