(57)【要約】【課題】回路規模をより縮小する。【解決手段】ステートマシンは、クロックごとの入力データI0乃至I5に応じて、ステート０乃至ステート５のそれぞれにおいて定められた入力データを符号化データに変換する変換テーブルに従い、符号化データを出力するとともに、次のクロックにおけるステートを決定する。それぞれの変換テーブルには、終結パターンを含む入力データI0乃至I5に対応した、符号化データＯ、ステートの遷移先to、および終結処理確認ビットＴが規定されている。本発明は、例えば、記録装置に適用することができる。【選択図】図４
2008124640.tif 000002
【特許請求の範囲】
【請求項１】
基本データ長が２ビットの入力データを、基本符号長が３ビットの17PP（Parity Preserve/Prohibit Repeated Minimum Transition Runlength）符号に変換する符号化装置において、
入力データがフレームの終端であることを示す終端信号を生成する生成手段と、
１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の３つの基本データ長の入力データが「１１  ０１  １１」であり、かつ、その３つの基本データ長の入力データの次の入力データに対する17PP符号が「０１０」である場合に遷移させられる第１の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の４つの基本データ長の入力データが「００  ００  ００  ００」または「００  ００  １０  ００」である場合に遷移させられる第２の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合に遷移させられる第３の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合に遷移させられる第４の状態、１つ前の３ビットの基本符号長の17PP符号の最後のビットが０である場合に遷移させられる第５の状態、および１つ前の３ビットの基本符号長の17PP符号の最後のビットが１である場合に遷移させられる第６の状態であって、それぞれ、６つの基本データ長の入力データと、１つの基本符号長の17PP符号との対応関係が規定されている第１の状態乃至第６の状態のうち、前記第５の状態および前記第６の状態に対して前記第４の状態が優先され、前記第４の状態に対して前記第３の状態が優先され、前記第３の状態に対して前記第２の状態が優先され、前記第２の状態に対して前記第１の状態が優先されるように、状態遷移するステートマシンであって、前記第４の状態乃至前記第６の状態において、６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合、または６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端であるとき、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端でないときの17PP符号と異なる17PP符号が、６つの基本データ長の入力データに対して規定されているステートマシンとして構成され、順に入力された６つの基本データ長の入力データおよび前記終端信号を基に、入力データを17PP符号に符号化する符号化手段と
を備える符号化装置。
【請求項２】
前記入力データと前記17PP符号との前記対応関係は、前記第１乃至第６の状態ごとの状態テーブルによって規定されている
請求項１に記載の符号化装置。
【請求項３】
前記状態テーブルには、順に入力された６つの基本データ長の入力データに対応して、１つの基本符号長の17PP符号、第１の状態乃至第６の状態のうちの遷移する状態、および６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」であるか、または「００」であり、かつ、前記フレームの終端であるか否かを示す情報が規定されている
請求項２に記載の符号化装置。
【請求項４】
前記第５の状態および前記第６の状態は、前記入力データの符号化が開始される状態である初期状態であり、
前記初期状態は、前記フレームにおける前記符号列の前に配置される同期信号パターンの最後のビットによって、前記第５の状態または前記第６の状態のいずれかであるかが決定される
請求項１に記載の符号化装置。
【請求項５】
６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」または「００」であり、かつ前記フレームの終端であるかを示す情報に基づいて、次のフレームにおける前記同期信号パターンの先頭の１ビットが決定される
請求項４に記載の符号化装置。
【請求項６】
基本データ長が２ビットの入力データを、基本符号長が３ビットの17PP（Parity Preserve/Prohibit Repeated Minimum Transition Runlength）符号に変換する符号化方法において、
入力データがフレームの終端であることを示す終端信号を生成し、
１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の３つの基本データ長の入力データが「１１  ０１  １１」であり、かつ、その３つの基本データ長の入力データの次の入力データに対する17PP符号が「０１０」である場合に遷移させられる第１の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の４つの基本データ長の入力データが「００  ００  ００  ００」または「００  ００  １０  ００」である場合に遷移させられる第２の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合に遷移させられる第３の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合に遷移させられる第４の状態、１つ前の３ビットの基本符号長の17PP符号の最後のビットが０である場合に遷移させられる第５の状態、および１つ前の３ビットの基本符号長の17PP符号の最後のビットが１である場合に遷移させられる第６の状態であって、それぞれ、６つの基本データ長の入力データと、１つの基本符号長の17PP符号との対応関係が規定されている第１の状態乃至第６の状態のうち、前記第５の状態および前記第６の状態に対して前記第４の状態が優先され、前記第４の状態に対して前記第３の状態が優先され、前記第３の状態に対して前記第２の状態が優先され、前記第２の状態に対して前記第１の状態が優先されるように、状態遷移するステートマシンであって、前記第４の状態乃至前記第６の状態において、６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合、または６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端であるとき、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端でないときの17PP符号と異なる17PP符号が、６つの基本データ長の入力データに対して規定されているステートマシンとして構成され、順に入力された６つの基本データ長の入力データおよび前記終端信号を基に、入力データを17PP符号に符号化する
ステップを含む符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置および符号化方法に関し、特に、データを記録媒体に記録する場合により好適な符号化装置および符号化方法に関する。
【背景技術】
【０００２】
通常、磁気ディスクや光ディスクなどの記録媒体に信号を記録する場合、再生時に読み出される信号の振幅制御およびクロック再生が正常に行われるように、信号を予め変調符号化し、変調符号化によって得られた変調符号が記録される。
【０００３】
変調符号化には、入力された信号に対して、所定の制限を加えるための所定の変調符号の符号化テーブルが用いられる。入力された信号は、符号化テーブルに基づいて、所定の変調符号に符号化され、信号に所定の制限を加えた変調符号の信号として記録される。なお、制限として、例えば、符号の０，１の個数を十分長い範囲で均等にできるDCフリー制限や、連続する０の個数の最小長、最大長がそれぞれｄ，ｋとなる（ｄ，ｋ）制限などが用いられる。
【０００４】
このような変調符号のひとつとして、Blu-ray disk（商標）の変調に用いられている17PP（Parity Preserve/Prohibit Repeated Minimum Transition Runlength）符号がある。17PP符号においては、符号化の前後でパリティが保たれているため、すなわち、符号化しようとする信号における１の数の和が偶数である場合、変調符号の１の数の和が偶数となり、符号化しようとする信号における１の数の和が奇数である場合、変調符号の１の数の和が奇数となるので、符号化前にDCコントロール、すなわち符号の０と１の個数が同じ数だけ表れるように制御することができる。さらに、17PP符号においては、連続して出現する最短マーク長の数が６回までとされており、PRML（Partial Response Maximum Likelihood）再生におけるデータの検出能力を向上させることができる。
【０００５】
17PP符号は、フレームシンクパターンとデータ部から構成される。
【０００６】
17PP符号のフレームシンクパターン、すなわち同期信号部分のパターンは、例えば、本出願人が特願平１０−２３７０４４号出願において提案している、図１に示されるフレームシンクパターン決定テーブルに従う。
【０００７】
図１に示されるように、フレームシンクパターン決定テーブルは、フレームステート、フレームナンバ、およびフレームシンクパターンを表す。さらに、フレームシンクパターンは、Sync-body、およびSync-IDより構成される。フレームステートは、FS0乃至FS6の７通りのうちのいずれか１つとされる。フレームナンバは、０乃至３０の３１通りとされ、７通りのフレームステートに分類される。具体的には、フレームナンバ０はフレームステートFS0に分類され、フレームナンバ１，５，７，２３，２４はそれぞれフレームステートFS1に分類され、フレームナンバ２，１８，１９，２６，３０はそれぞれフレームステートFS2に分類され、フレームナンバ３，４，１１，１５，１７はそれぞれフレームステートFS3に分類され、フレームナンバ６，１０，１２，２８，２９はそれぞれフレームステートFS4に分類され、フレームナンバ８，９，１６，２０，２２はそれぞれフレームステートFS5に分類され、フレームナンバ１３，１４，２１，２５，２７はそれぞれフレームステートFS6に分類される。Sync-bodyは、出力される３０ビットのフレームシンクパターンのうちの最初の２４ビットであり、「＃０１  ０１０  ０００  ０００  ０１０  ０００  ０００  ０１０」とされる。
【０００８】
なお、図１において「＃」で表されるSync-bodyにおける最初の１ビットは、前のフレームが終結処理で終わった場合「１」とされ、そうでない場合「０」とされる。Sync-IDは、出力されるフレームシンクパターンの残り６ビットであり、フレームナンバを分類するフレームステートごとに７通りのうちのいずれか１つとされる。具体的には、Sync-IDは、フレームステートがFS0の場合は「０００  ００１」とされ、フレームステートがFS1の場合は「０１０  ０１０」とされ、フレームステートがFS2の場合は「１０１  ０００」とされ、フレームステートがFS3の場合は「１００  ００１」とされ、フレームステートがFS4の場合は「０００  １００」とされ、フレームステートがFS5の場合は「００１  ００１」とされ、フレームステートがFS6の場合は「０１０  ０００」とされる。
【０００９】
このように、フレームシンクパターン決定テーブルによれば、フレームナンバに応じて、対応するフレームシンクパターンが決定される。
【００１０】
17PP符号のデータ部は、例えば、本出願人が特願平１０−１５０２８０号出願において提案している、図２に示される符号化テーブルに従う可変長符号化方式によって符号化される。すなわち、17PP符号の符号化においては、図２の符号化テーブルに従って、入力ビットに対する出力ビットが決定される。
【００１１】
図２の符号化テーブルによれば、通常の処理である基本処理においては、入力ビットが「００  ００  ００  ００」であった場合、出力ビットとして「０１０  １００  １００  １００」が出力され、入力ビットが「００  ００  １０  ００」であった場合、出力ビットとして「０００  １００  １００  １００」が出力され、入力ビットが「００  ００  ００」であった場合、出力ビットとして「０１０  １００  ０００」が出力され、入力ビットが「００  ００  ０１」であった場合、出力ビットとして「０１０  １００  １００」が出力され、入力ビットが「００  ００  １０」であった場合、出力ビットとして「０００  １００  ０００」が出力され、入力ビットが「００  ００  １１」であった場合、出力ビットとして「０００  １００  １００」が出力される。
【００１２】
さらに、入力ビットが「００  ０１」であった場合、出力ビットとして「０００  １００」が出力され、入力ビットが「００  １０」であった場合、出力ビットとして「０１０  ０００」が出力され、入力ビットが「００  １１」であった場合、出力ビットとして「０１０  １００」が出力され、入力ビットが「０１」であった場合、出力ビットとして「０１０」が出力され、入力ビットが「１０」であった場合、出力ビットとして「００１」が出力される。また、入力ビットが「１１」で、かつ、１つ前の出力ビットが「ｘｘ１」（ｘは０または１のいずれでもよい）であった場合、出力ビットとして「０００」が出力され、入力ビットが「１１」で、かつ、１つ前の出力ビットが「ｘｘ０」（ｘは０または１のいずれでもよい）であった場合、出力ビットとして「１０１」が出力される。
【００１３】
また、図２の符号化テーブルによれば、特殊処理として、入力ビットが「１１  ０１  １１」で、かつ、次のクロックにおける出力ビット（１つ後の出力ビット）が「０１０」である場合、出力ビットとして「００１  ０００  ０００」が出力される。
【００１４】
さらに、図２の符号化テーブルによれば、終結処理として、フレームの最後の入力ビットが「００  ００」であった場合、出力ビットとして「０１０  １００」が出力され、フレームの最後の入力ビットが「００」であった場合、出力ビットとして「０００」が出力される。
【００１５】
このような符号化テーブルに基づいて17PP符号の符号化を行う場合、図２の符号化テーブルのより上に配置されている入力ビットの出力ビットへの変換が優先される。すなわち、「００  ００  ００  ００」である入力ビットは、図２の符号化テーブルにおける最も上の「００  ００  ００  ００」である入力ビットと、上から３番目の「００  ００  ００」である入力ビットとに該当するが、図２の符号化テーブルにおけるより上側の入力ビットが優先されるので、「００  ００  ００  ００」である入力ビットは、「０１０  １００  １００  １００」である出力ビットに変換される。このとき、入力されるデータにおけるビット列が特殊処理の入力ビットに該当する場合は、特殊処理の変換が優先される。また、入力されるデータのフレームの終端が終結処理に該当するときは、終結処理の変換がなされる。
【００１６】
このデータ部を符号化する構成をハードウェアで実装する方法として、２通りの方法が考えられる。１つは、入力データが符号化テーブルに定められている入力ビットに該当するまで（出力ビットを特定するまで）入力データをためこみ符号化する方法であり、１つは、ステートマシンを用いて１クロックごとに符号化データを出力する方法である。
【００１７】
前者の方法では、符号化データが断続的に出力されるため、すなわち出力ビットが、１クロック分の３ビットであったり、４クロック分の１２ビットであったりするため、遅延回路により遅延量を調整する必要がある。
【００１８】
一方、後者の方法では、入力ビットがステートマシンにより符号化され、符号化された出力ビットが連続して（１クロックごとに３ビットずつ）出力されるため、符号化後の遅延回路は不要となる（例えば、非特許文献１参照）。
【００１９】
【非特許文献１】A.Hayami他著、"Sliding Window Coding Technique for the Variable Length Modulations",Optical Memory and Optical Data Storage Topical Meeting,2002.International Symposium on、第338頁乃至第340頁、2002年7月発行
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、非特許文献１の方法には、図２における終結処理が考慮されておらず、正しく符号化されないという問題点がある。
【００２１】
現状、終結処理が考慮されたステートマシンは提案されていないため、ステートマシンを用いて17PP符号の符号化を行う構成をハードウェアで実装することはできない。
【００２２】
本発明は、このような状況に鑑みてなされたものであり、回路規模をより縮小することができるようにするものである。
【課題を解決するための手段】
【００２３】
本発明の一側面の符号化装置は、基本データ長が２ビットの入力データを、基本符号長が３ビットの17PP（Parity Preserve/Prohibit Repeated Minimum Transition Runlength）符号に変換する符号化装置であって、入力データがフレームの終端であることを示す終端信号を生成する生成手段と、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の３つの基本データ長の入力データが「１１  ０１  １１」であり、かつ、その３つの基本データ長の入力データの次の入力データに対する17PP符号が「０１０」である場合に遷移させられる第１の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の４つの基本データ長の入力データが「００  ００  ００  ００」または「００  ００  １０  ００」である場合に遷移させられる第２の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合に遷移させられる第３の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合に遷移させられる第４の状態、１つ前の３ビットの基本符号長の17PP符号の最後のビットが０である場合に遷移させられる第５の状態、および１つ前の３ビットの基本符号長の17PP符号の最後のビットが１である場合に遷移させられる第６の状態であって、それぞれ、６つの基本データ長の入力データと、１つの基本符号長の17PP符号との対応関係が規定されている第１の状態乃至第６の状態のうち、前記第５の状態および前記第６の状態に対して前記第４の状態が優先され、前記第４の状態に対して前記第３の状態が優先され、前記第３の状態に対して前記第２の状態が優先され、前記第２の状態に対して前記第１の状態が優先されるように、状態遷移するステートマシンであって、前記第４の状態乃至前記第６の状態において、６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合、または６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端であるとき、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端でないときの17PP符号と異なる17PP符号が、６つの基本データ長の入力データに対して規定されているステートマシンとして構成され、順に入力された６つの基本データ長の入力データおよび前記終端信号を基に、入力データを17PP符号に符号化する符号化手段とを備える。
【００２４】
前記入力データと前記17PP符号との前記対応関係は、前記第１乃至第６の状態ごとの状態テーブルによって規定されるようにすることができる。
【００２５】
前記状態テーブルには、順に入力された６つの基本データ長の入力データに対応して、１つの基本符号長の17PP符号、第１の状態乃至第６の状態のうちの遷移する状態、および６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」または「００」であり、かつ前記フレームの終端であるかを示す情報が規定されるようにすることができる。
【００２６】
前記第５の状態および前記第６の状態は、前記入力データの符号化が開始される状態である初期状態であり、前記初期状態は、前記フレームにおける前記符号列の前に配置される同期信号パターンの最後のビットによって、前記第５の状態または前記第６の状態のいずれかであるかが決定されるようにすることができる。
【００２７】
６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」または「００」であり、かつ前記フレームの終端であるかを示す情報に基づいて、次のフレームにおける前記同期信号パターンの先頭の１ビットが決定されるようにすることができる。
【００２８】
本発明の一側面の符号化方法は、基本データ長が２ビットの入力データを、基本符号長が３ビットの17PP符号に変換する符号化方法であって、入力データがフレームの終端であることを示す終端信号を生成し、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の３つの基本データ長の入力データが「１１  ０１  １１」であり、かつ、その３つの基本データ長の入力データの次の入力データに対する17PP符号が「０１０」である場合に遷移させられる第１の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の４つの基本データ長の入力データが「００  ００  ００  ００」または「００  ００  １０  ００」である場合に遷移させられる第２の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合に遷移させられる第３の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合に遷移させられる第４の状態、１つ前の３ビットの基本符号長の17PP符号の最後のビットが０である場合に遷移させられる第５の状態、および１つ前の３ビットの基本符号長の17PP符号の最後のビットが１である場合に遷移させられる第６の状態であって、それぞれ、６つの基本データ長の入力データと、１つの基本符号長の17PP符号との対応関係が規定されている第１の状態乃至第６の状態のうち、前記第５の状態および前記第６の状態に対して前記第４の状態が優先され、前記第４の状態に対して前記第３の状態が優先され、前記第３の状態に対して前記第２の状態が優先され、前記第２の状態に対して前記第１の状態が優先されるように、状態遷移するステートマシンであって、前記第４の状態乃至前記第６の状態において、６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合、または６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端であるとき、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端でないときの17PP符号と異なる17PP符号が、６つの基本データ長の入力データに対して規定されているステートマシンとして構成され、順に入力された６つの基本データ長の入力データおよび前記終端信号を基に、入力データを17PP符号に符号化するステップを含む。
【００２９】
本発明の一側面においては、入力データがフレームの終端であることを示す終端信号が生成され、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の３つの基本データ長の入力データが「１１  ０１  １１」であり、かつ、その３つの基本データ長の入力データの次の入力データに対する17PP符号が「０１０」である場合に遷移させられる第１の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の４つの基本データ長の入力データが「００  ００  ００  ００」または「００  ００  １０  ００」である場合に遷移させられる第２の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合に遷移させられる第３の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合に遷移させられる第４の状態、１つ前の３ビットの基本符号長の17PP符号の最後のビットが０である場合に遷移させられる第５の状態、および１つ前の３ビットの基本符号長の17PP符号の最後のビットが１である場合に遷移させられる第６の状態であって、それぞれ、６つの基本データ長の入力データと、１つの基本符号長の17PP符号との対応関係が規定されている第１の状態乃至第６の状態のうち、第５の状態および第６の状態に対して第４の状態が優先され、第４の状態に対して第３の状態が優先され、第３の状態に対して第２の状態が優先され、第２の状態に対して第１の状態が優先されるように、状態遷移するステートマシンであって、第４の状態乃至第６の状態において、６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合、または６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合、「００  ００」である入力データまたは「００」である入力データがフレームの終端であるとき、「００  ００」である入力データまたは「００」である入力データがフレームの終端でないときの17PP符号と異なる17PP符号が、６つの基本データ長の入力データに対して規定されているステートマシンとして構成され、順に入力された６つの基本データ長の入力データおよび終端信号を基に、入力データが17PP符号に符号化される。
【発明の効果】
【００３０】
以上のように、本発明の側面によれば、17PP符号の符号化を行うことができる。特に、本発明の側面によれば、回路規模をより縮小することができる。
【発明を実施するための最良の形態】
【００３１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。したがって、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３２】
本発明の一側面の符号化装置は、基本データ長が２ビットの入力データを、基本符号長が３ビットの17PP（Parity Preserve/Prohibit Repeated Minimum Transition Runlength）符号に変換する符号化装置であって、入力データがフレームの終端であることを示す終端信号を生成する生成手段（例えば、図３のフレームカウンタ１１）と、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の３つの基本データ長の入力データが「１１  ０１  １１」であり、かつ、その３つの基本データ長の入力データの次の入力データに対する17PP符号が「０１０」である場合に遷移させられる第１の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の４つの基本データ長の入力データが「００  ００  ００  ００」または「００  ００  １０  ００」である場合に遷移させられる第２の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合に遷移させられる第３の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合に遷移させられる第４の状態、１つ前の３ビットの基本符号長の17PP符号の最後のビットが０である場合に遷移させられる第５の状態、および１つ前の３ビットの基本符号長の17PP符号の最後のビットが１である場合に遷移させられる第６の状態であって、それぞれ、６つの基本データ長の入力データと、１つの基本符号長の17PP符号との対応関係が規定されている第１の状態乃至第６の状態のうち、前記第５の状態および前記第６の状態に対して前記第４の状態が優先され、前記第４の状態に対して前記第３の状態が優先され、前記第３の状態に対して前記第２の状態が優先され、前記第２の状態に対して前記第１の状態が優先されるように、状態遷移するステートマシンであって、前記第４の状態乃至前記第６の状態において、６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合、または６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端であるとき、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端でないときの17PP符号と異なる17PP符号が、６つの基本データ長の入力データに対して規定されているステートマシンとして構成され、順に入力された６つの基本データ長の入力データおよび前記終端信号を基に、入力データを17PP符号に符号化する符号化手段（例えば、図３のデータ符号化部１８）とを備える。
【００３３】
前記入力データと前記17PP符号との前記対応関係は、前記第１乃至第６の状態ごとの状態テーブル（例えば、図５乃至図１０の変換テーブル）によって規定されるようにすることができる。
【００３４】
前記状態テーブルには、順に入力された６つの基本データ長の入力データに対応して、１つの基本符号長の17PP符号、第１の状態乃至第６の状態のうちの遷移する状態、および６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」または「００」であり、かつ前記フレームの終端であるかを示す情報が規定されるようにすることができる。
【００３５】
前記第５の状態および前記第６の状態は、前記入力データの符号化が開始される状態である初期状態であり、前記初期状態は、前記フレームにおける前記符号列の前に配置される同期信号パターンの最後のビットによって、前記第５の状態または前記第６の状態のいずれかであるかが決定されるようにすることができる。
【００３６】
６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」または「００」であり、かつ前記フレームの終端であるかを示す情報に基づいて、次のフレームにおける前記同期信号パターンの先頭の１ビットが決定されるようにすることができる。
【００３７】
本発明の一側面の符号化方法は、基本データ長が２ビットの入力データを、基本符号長が３ビットの17PP符号に変換する符号化方法であって、入力データがフレームの終端であることを示す終端信号を生成し（例えば、図１１のステップＳ１３）、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の３つの基本データ長の入力データが「１１  ０１  １１」であり、かつ、その３つの基本データ長の入力データの次の入力データに対する17PP符号が「０１０」である場合に遷移させられる第１の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の４つの基本データ長の入力データが「００  ００  ００  ００」または「００  ００  １０  ００」である場合に遷移させられる第２の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合に遷移させられる第３の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合に遷移させられる第４の状態、１つ前の３ビットの基本符号長の17PP符号の最後のビットが０である場合に遷移させられる第５の状態、および１つ前の３ビットの基本符号長の17PP符号の最後のビットが１である場合に遷移させられる第６の状態であって、それぞれ、６つの基本データ長の入力データと、１つの基本符号長の17PP符号との対応関係が規定されている第１の状態乃至第６の状態のうち、前記第５の状態および前記第６の状態に対して前記第４の状態が優先され、前記第４の状態に対して前記第３の状態が優先され、前記第３の状態に対して前記第２の状態が優先され、前記第２の状態に対して前記第１の状態が優先されるように、状態遷移するステートマシンであって、前記第４の状態乃至前記第６の状態において、６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合、または６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端であるとき、「００  ００」である入力データまたは「００」である入力データが前記フレームの終端でないときの17PP符号と異なる17PP符号が、６つの基本データ長の入力データに対して規定されているステートマシンとして構成され、順に入力された６つの基本データ長の入力データおよび前記終端信号を基に、入力データを17PP符号に符号化するステップ（例えば、図１１のステップＳ１９）を含む。
【００３８】
以下、本発明の一実施の形態として、17PP符号の符号化を行う記録装置について説明する。
【００３９】
図３は、本発明を適用した記録装置１の一実施の形態を示すブロック図である。
【００４０】
図３に示されるように、記録装置１は、フレームカウンタ１１、フレームシンクパターン決定部１２、遅延回路１３、遅延回路１４、遅延回路１５、遅延回路１６、遅延回路１７、データ符号化部１８、および符号列出力部１９から構成される。
【００４１】
なお、記録装置１には、１クロックに２ビットのデータが入力される。１フレームのデータは６４４クロックであるので、１フレームとして入力されるデータは１２８８ビットとなる。
【００４２】
フレームカウンタ１１は、Frame SyncおよびRUB(Recording Unit Block) Syncの入力を受け付ける。Frame Syncは、６４４クロックごと、すなわち１フレームごとに、フレームの先頭のデータ列と同時に入力される信号である。RUB Syncは、Frame Syncとは異なるポートから入力される１ビットのデータであり、３１フレームごとにFrame Syncと同時に入力される。言い換えれば、RUB Syncは、フレームナンバ０であるフレームを特定する信号である。また、RUB Syncは、３１×ｎ（ｎは自然数）フレームごとに入力されるようにしてもよい。
【００４３】
フレームカウンタ１１は、入力されたフレームの数をカウントする。フレームカウンタ１１は、RUB Syncによって特定されたフレームナンバ０であるフレームからカウントされたフレームの数によって、現在のフレームのフレームナンバを算出し、フレームシンクパターン決定部１２に供給する。
【００４４】
また、フレームカウンタ１１は、１フレームごとに供給されるFrame Syncに基づいて、後述するデータ符号化部１８を構成するステートマシンのステートを初期化するための信号であるステートマシン初期化信号を生成する。また、フレームカウンタ１１は、フレームナンバに応じて、ステートマシンにおいて最初のステートを決定する情報である初期ステート情報を生成する。さらに、フレームカウンタ１１は、１フレームごとに供給されるFrame Syncに基づいて、データ列におけるフレームの終端の入力ビットが入力される時刻から５クロック分遡った時刻から、その終端の入力ビットが入力される時刻まで、フレームの終端であることを示す信号である終端フラグを生成する。フレームカウンタ１１は、生成したステートマシン初期化信号、初期ステート情報、および終端フラグをデータ符号化部１８に供給する。
【００４５】
なお、フレームの終端であることを示す終端フラグは、データ列のうちの、フレームの終端の５クロック分の入力ビットがデータ符号化部１８に入力される期間において継続して、データ符号化部１８に入力される。
【００４６】
フレームシンクパターン決定部１２は、図１に示されるフレームシンクパターン決定テーブルを有し、フレームカウンタ１１から供給されたフレームナンバに基づいて、フレームシンクパターンを決定する。フレームシンクパターン決定部１２は、フレームシンクパターン決定テーブルに従って決定された３０ビットのフレームシンクパターンを、１クロックに３ビットずつ１０クロックにわたって、符号列出力部１９に供給する。
【００４７】
また、フレームシンクパターン決定部１２は、フレームシンクパターンを符号列出力部１９に供給した後、セレクタ信号を生成し、符号列出力部１９に供給する。ここで、セレクタ信号は、それぞれのフレームについての６４４クロックのうちの最初の１０クロック分をフレームシンクパターンとし、残りの６３４クロックを符号化された符号化データであるデータ部とするための信号である。すなわち、セレクタ信号によって、符号列出力部１９において、１フレームにおけるフレームシンクパターンと符号化データとの境界が決定される。
【００４８】
遅延回路１３は、図示せぬ外部の機器から２ビットずつ入力されたデータ列を２ビットごとに１クロック遅延させて、遅延回路１４およびデータ符号化部１８に供給する。
【００４９】
遅延回路１４は、入力されたデータ列を２ビットごとにさらに１クロック遅延させる。
【００５０】
すなわち、遅延回路１４は、遅延回路１３から供給された１クロック遅延された２ビットのデータをさらに１クロック遅延させて、遅延回路１５およびデータ符号化部１８に供給する。
【００５１】
遅延回路１５は、入力されたデータ列を２ビットごとにさらに１クロック遅延させる。
【００５２】
すなわち、遅延回路１５は、遅延回路１４から供給された２クロック遅延された２ビットのデータをさらに１クロック遅延させて、遅延回路１６およびデータ符号化部１８に供給する。
【００５３】
遅延回路１６は、入力されたデータ列を２ビットごとにさらに１クロック遅延させる。
【００５４】
すなわち、遅延回路１６は、遅延回路１５から供給された３クロック遅延された２ビットのデータをさらに１クロック遅延させて、遅延回路１７およびデータ符号化部１８に供給する。
【００５５】
遅延回路１７は、入力されたデータ列を２ビットごとにさらに１クロック遅延させる。
【００５６】
すなわち、遅延回路１７は、遅延回路１６から供給された４クロック遅延された２ビットのデータをさらに１クロック遅延させて、データ符号化部１８に供給する。
【００５７】
すなわち、図示せぬ外部の機器から入力されたデータ列を基準として、遅延のない２ビットの入力データI5、遅延回路１３により出力される１クロック遅延された２ビットの入力データI4、遅延回路１４により出力される２クロック遅延された２ビットの入力データI3、遅延回路１５により出力される３クロック遅延された２ビットの入力データI2、遅延回路１６により出力される４クロック遅延された２ビットの入力データI1、遅延回路１７により出力される５クロック遅延された２ビットの入力データI0からなる、６クロック分の１２ビットのデータがデータ符号化部１８に同時に供給される。
【００５８】
データ符号化部１８は、後述するステートマシンにより構成される。データ符号化部１８を構成するステートマシンは、フレームカウンタ１１から供給されたステートマシン初期化信号によって、初期化される。また、データ符号化部１８を構成するステートマシンの初期ステート（初期状態）は、フレームカウンタ１１から供給された初期ステート情報によって決定される。
【００５９】
データ符号化部１８は、外部の機器および遅延回路１３乃至遅延回路１７より供給される６クロック分の入力データI0乃至I5の同時の入力を受け付ける。ステートマシンであるデータ符号化部１８は、入力データI0乃至I5を符号化し、入力データI0乃至I5に対する３ビットの符号化データＯを１クロックごとに出力する。データ符号化部１８は、１クロックに３ビットずつの符号化データＯを符号列出力部１９に供給する。
【００６０】
また、データ符号化部１８は、フレームカウンタ１１から供給された終端フラグに基づいて、データ列のうちの１フレームの最後の２ビットである入力データI0乃至I4のいずれか１つに対して、フレームの終端であることを示す終端情報を付加する。終端情報は、データ符号化部１８の内部において、５クロック分連続する終端フラグによって、フレームの最後の２ビットのデータである入力データI0乃至I4のいずれか１つに対して付加される。
【００６１】
また、データ符号化部１８は、終結処理確認ビットＴを符号列出力部１９に供給する。終結処理確認ビットＴは、符号化されるフレームが終結処理で終了しているか否かを示す信号であり、フレームの終端が終結処理を行う終結パターンである場合「１」となり、終結パターンでない場合「０」となる。
【００６２】
符号列出力部１９は、フレームシンクパターン決定部１２から供給されるフレームシンクパターンおよびセレクタ信号、並びにデータ符号化部１８から供給される符号化データＯおよび終結処理確認ビットＴに基づいて、17PP符号列を出力する。
【００６３】
より具体的には、符号列出力部１９は、供給されたフレームシンクパターンおよび符号化データＯからなるビット列から、セレクタ信号によって、６４４クロックのフレーム区間のうちの最初の１０クロックにおいてフレームシンクパターンを選択し、残りの６３４クロックにおいてデータ部を構成する符号化データＯを選択する。また、符号列出力部１９は、１フレーム前の終結処理確認ビットＴを保持し、１フレーム前の終結処理確認ビットＴに基づいて、今フレームで出力されるフレームシンクパターンのSync-bodyの最初の１ビットを決定する。
【００６４】
なお、出力される17PP符号列は、１クロックで３ビットとなるので、１フレーム分で１９３２ビットとなる。
【００６５】
次に、データ符号化部１８を構成するステートマシンについて説明する。
【００６６】
図４は、データ符号化部１８を構成するステートマシンについて説明する図である。
【００６７】
図４に示されるように、ステートマシンはステート０乃至ステート５の６つの状態からなる。
【００６８】
ステート０は、１クロック前の３ビットの出力ビットのうちの最後のビットが０である場合のステートである。例えば、図１のフレームシンクパターン決定テーブルにおけるSync-IDの最後のビットが０である場合、すなわち、図１のフレームシンクパターン決定テーブルにおけるフレームステートがFS1，FS2，FS4、またはFS6である場合、初期ステートは、ステート０となる。
【００６９】
ステート０であるステートマシンは、１クロックでステート１、ステート２、またはステート５のいずれかに遷移するか、またはステート０のままとされる。
【００７０】
ステート１は、１クロック前の３ビットの出力ビットのうちの最後のビットが１である場合のステートである。例えば、図１のフレームシンクパターン決定テーブルにおけるSync-IDの最後のビットが１である場合、すなわち、図１のフレームシンクパターン決定テーブルにおけるフレームステートがFS0，FS3、またはFS5である場合、初期ステートは、ステート１となる。
【００７１】
ステート１であるステートマシンは、１クロックでステート０、ステート２、またはステート５のいずれかに遷移するか、またはステート１のままとされる。
【００７２】
データ符号化部１８を構成するステートマシンにおいて、初期ステートがステート０であるか、ステート１であるかは、フレームカウンタ１１から供給される初期ステート情報によって決定される。
【００７３】
ステート２は、「００  …」である入力データを処理するためのステートである。すなわち、入力データとして、図２の符号化テーブルに示される「００  ０１」（すなわち、「００」である入力データI0と「０１」である入力データI1）、「００  １０」（すなわち、「００」である入力データI0と「１０」である入力データI1）、および「００  １１」（すなわち、「００」である入力データI0と「１１」である入力データI1）のいずれかが入力された場合、ステートはステート２に遷移する。
【００７４】
ステート２であるステートマシンは、１クロックでステート０またはステート３のいずれかに遷移する。
【００７５】
ステート３は、「００  ００  …」である入力データを処理するためのステートである。すなわち、入力データとして、図２の符号化テーブルに示される「００  ００  ００」（すなわち、「００」である入力データI0と「００」である入力データI1と「００」である入力データI2）、「００  ００  ０１」（すなわち、「００」である入力データI0と「００」である入力データI1と「０１」である入力データI2）、「００  ００  １０」（すなわち、「００」である入力データI0と「００」である入力データI1と「１０」である入力データI2）、および「００  ００  １１」（すなわち、「００」である入力データI0と「００」である入力データI1と「１１」である入力データI2）のいずれかが入力された場合、ステートはステート３に遷移する。
【００７６】
ステート３であるステートマシンは、１クロックでステート０またはステート４のいずれかに遷移する。
【００７７】
ステート４は、「００  ００  ００  ００」、または「００  ００  １０  ００」である入力データを処理するためのステートである。すなわち、入力データとして、図２の符号化テーブルに示される「００  ００  ００  ００」（すなわち、「００」である入力データI0と「００」である入力データI1と「００」である入力データI2と「００」である入力データI3）、または「００  ００  １０  ００」（すなわち、「００」である入力データI0と「００」である入力データI1と「１０」である入力データI2と「００」である入力データI3）が入力された場合、ステートはステート４に遷移する。
【００７８】
ステート４であるステートマシンは、１クロックでステート０に遷移する。
【００７９】
ステート５は、特殊処理のためのステートである。すなわち、図２の符号化テーブルに示される「１１  ０１  １１」（すなわち、「１１」である入力データI0と「０１」である入力データI1と「１１」である入力データI2）が入力された場合、ステートはステート５に遷移する。
【００８０】
ステート５であるステートマシンは、１クロックでステート０に遷移するか、またはステート５のままとされる。
【００８１】
このような構成により、ステートマシンは、クロックごとの入力データに応じて、ステート０乃至ステート５のそれぞれにおいて定められた入力データを符号化データに変換する変換テーブルに従い、符号化データを出力するとともに、次のクロックにおけるステートを決定することができる。
【００８２】
図５乃至図１０は、ステートマシンのステート０乃至ステート５における変換テーブルの構成を示す図である。
【００８３】
図５乃至図１０に示される各ステートの変換テーブルにおいて、I0乃至I5は、それぞれ、２ビットずつに区切られた、外部の機器および遅延回路１３乃至遅延回路１７から入力される入力データI0乃至入力データI5を示す。入力データI0乃至I5のうち、入力データI0が時間的に最も早く記録装置１に入力され、データ列において、入力データI0、入力データI1、入力データI2、入力データI3、入力データI4、入力データI5の順に配置されている。図５乃至図１０において、「ｔ」が付された入力データI0乃至I4のいずれかは、データ符号化部１８によって終端情報が付加されているものである。入力データI0乃至入力データI4のいずれに終端情報が付加されるかは、フレームカウンタ１１から供給される、フレームの先頭を示すFrame-syncから生成された終端フラグに基づいて決定される。
【００８４】
図５乃至図１０において、Ｏは、クロックごとに出力される３ビットの符号化データを示す。図５乃至図１０において、Ｔは、終結処理確認ビットを示し、終結処理確認ビットＴは、フレームの終端が終結パターンである場合「１」となり、終結パターンでない場合「０」となる。また、終結処理確認ビットＴに基づいて、フレームシンクパターンのsync-bodyにおける最初の１ビットが決定される。
【００８５】
図５乃至図１０において、toは、ステートの遷移先、すなわち、次のクロックにおけるステート０乃至ステート５のうちのいずれか１つのステートを示す。
【００８６】
なお、図５乃至図１０の入力データI0乃至I5において、空欄は、どのようなデータであってもよいことを示す。また、入力データI0乃至I5において、「＊」で表されるデータ（ビット）は０または１のいずれの値でもよいことを示し、ステートの遷移先toにおいて、「Ｘ」で表される値は０乃至５のいずれの値でもよいことを示す。
【００８７】
このように、ステートマシンのステート０乃至ステート５における変換テーブルには、入力データI0乃至I5に対応した、符号化データＯ、ステートの遷移先to、および終結処理確認ビットＴが規定されている。
【００８８】
なお、以下の説明においては、所定のクロックにおいて、例えば、入力データI0として「ａｂ」（ａ，ｂはそれぞれ０または１）が入力され、入力データI1として「ｃｄ」（ｃ，ｄはそれぞれ０または１）が入力され、入力データI2として「ｅｆ」（ｅ，ｆはそれぞれ０または１）が入力され、入力データI3として「ｇｈ」（ｇ，ｈはそれぞれ０または１）が入力され、入力データI4として「ｉｊ」（ｉ，ｊはそれぞれ０または１）が入力され、入力データI5として「ｋｍ」（ｋ，ｍはそれぞれ０または１）が入力されることを、（I0，I1，I2，I3，I4，I5）＝（ａｂ  ｃｄ  ｅｆ  ｇｈ  ｉｊ  ｋｍ）と表すこととする。
【００８９】
なお、以下の説明において、「＊」は、０または１のいずれの値でもよいことを示す。さらに、ｔは、終端情報が付加されていることを示す。
【００９０】
まず、ステート０における変換の詳細について説明する。
【００９１】
図５に示されるステート０の変換テーブルに従えば、所定のクロックにおいて（I0，I1，I2，I3，I4，I5）＝（１１ｔ  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）がデータ符号化部１８に入力された場合、データ符号化部１８から符号化データＯとして「１０１」が出力される。また、入力データがフレームの終端のデータのみである、すなわち、１フレーム分のデータの入力が終了したことになるので、遷移先のステートは「Ｘ」となる。すなわち、次のクロックにおいて、次のフレームのデータが入力され、ステートは初期化されるので、どのステートに遷移してもよいことになる。また、終結処理ではないので、「０」である終結処理確認ビットＴが出力される。
【００９２】
なお、実際には、フレームの終端以降のデータは存在しないので、データの終端を示す「ｔ」以降の「＊」は何も入力されないことを表す。
【００９３】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１ｔ  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１０１」が出力され、ステートはステート１に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【００９４】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１ｔ  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１０１」が出力され、ステートはステート１に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【００９５】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ００ｔ  ＊＊  ＊＊）であるとき、符号化データＯとして「１０１」が出力され、ステートはステート１に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【００９６】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１ｔ  ００  ００ｔ  ＊＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【００９７】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ００  ００  ０＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【００９８】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ００  １＊  ＊＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【００９９】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ０１  ＊＊  ＊＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１００】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１０１」が出力され、ステートはステート１に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１０１】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１０  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート１に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１０２】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（０１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０１０」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１０３】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００ｔ  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力される。また、入力データがフレームの終端のデータのみであるので、遷移先のステートは「Ｘ」となり、どのステートに遷移してもよいことになる。さらに、終結処理であることを示す終結処理確認ビットＴとして「１」が出力される。
【０１０４】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ００ｔ  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０１０」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１０５】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ００  ０＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０１０」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１０６】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ００  １＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１０７】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ０１  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１０８】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  １＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０１０」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１０９】
次に、ステート１における変換の詳細について説明する。
【０１１０】
図６に示されるステート１の変換テーブルに従えば、所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１ｔ  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力される。また、入力データがフレームの終端のデータのみであるので、遷移先のステートは「Ｘ」となり、どのステートに遷移してもよいことになる。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１１１】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１ｔ  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１１２】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１ｔ  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１１３】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ００ｔ  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１１４】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ００  ００ｔ  ＊＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１１５】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ００  ００  ０＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１１６】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ００  １＊  ＊＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１１７】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ０１  ＊＊  ＊＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１１８】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１１９】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１０  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「００１」が出力され、ステートはステート１に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１２０】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（０１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０１０」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１２１】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００ｔ  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力される。また、入力データがフレームの終端のデータのみであるので、遷移先のステートは「Ｘ」となり、どのステートに遷移してもよいことになる。さらに、終結処理であることを示す終結処理確認ビットＴとして「１」が出力される。
【０１２２】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ００ｔ  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０１０」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１２３】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ００  ０＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０１０」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１２４】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ００  １＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１２５】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ０１  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１２６】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  １＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０１０」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１２７】
次に、ステート２における変換の詳細について説明する。
【０１２８】
図７に示されるステート２の変換テーブルに従えば、所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００ｔ  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力される。また、入力データがフレームの終端のデータのみであるので、遷移先のステートは「Ｘ」となり、どのステートに遷移してもよいことになる。さらに、終結処理であることを示す終結処理確認ビットＴとして「１」が出力される。
【０１２９】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力され、ステートはステート３に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１３０】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（０１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１３１】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１０  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１３２】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１３３】
次に、ステート３における変換の詳細について説明する。
【０１３４】
図８に示されるステート３の変換テーブルに従えば、所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００ｔ  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力される。また、入力データがフレームの終端のデータのみであるので、遷移先のステートは「Ｘ」となり、どのステートに遷移してもよいことになる。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１３５】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ００  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力され、ステートはステート４に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１３６】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１３７】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（０１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１３８】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１０ｔ  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力される。また、入力データがフレームの終端のデータのみであるので、遷移先のステートは「Ｘ」となり、どのステートに遷移してもよいことになる。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１３９】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１０  ００  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力され、ステートはステート４に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１４０】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１０  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１４１】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１４２】
次に、ステート４における変換の詳細について説明する。
【０１４３】
図９に示されるステート４の変換テーブルに従えば、所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００ｔ  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力される。また、入力データがフレームの終端のデータのみであるので、遷移先のステートは「Ｘ」となり、どのステートに遷移してもよいことになる。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１４４】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（００  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「１００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１４５】
次に、ステート５における変換の詳細について説明する。
【０１４６】
図１０に示されるステート５の変換テーブルに従えば、所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（０１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１４７】
所定のクロックにおける入力データが（I0，I1，I2，I3，I4，I5）＝（１１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）であるとき、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１４８】
以上のように、データ符号化部１８を構成するステートマシンは、ステートごとに定められた変換テーブルに従って、１クロックごとに、ステートを遷移させると共に、符号化されたデータを出力する。
【０１４９】
図１１は、記録装置１における、17PP符号の符号化の処理を説明するフローチャートである。
【０１５０】
記録装置１は、外部の機器から、所定のフレームにおける先頭のビットが入力されたとき、符号化の処理を開始する。
【０１５１】
ステップＳ１１において、フレームカウンタ１１は、Frame SyncおよびRUB Syncの入力を受け付ける。
【０１５２】
ステップＳ１２において、フレームカウンタ１１は、フレームナンバを算出する。より具体的には、フレームカウンタ１１は、RUB Syncによって特定されたフレームナンバ０のフレームからカウントされたフレームの数によって、現在のフレームのフレームナンバを算出し、フレームシンクパターン決定部１２に供給する。
【０１５３】
ステップＳ１３において、フレームカウンタ１１は、ステートマシン初期化信号、初期ステート情報、および終端フラグを生成する。フレームカウンタ１１は、生成したステートマシン初期化信号、初期ステート情報、および終端フラグをデータ符号化部１８に供給する。
【０１５４】
ステップＳ１４において、フレームシンクパターン決定部１２は、フレームシンクパターン決定テーブルに従い、フレームカウンタ１１から供給されたフレームナンバに基づいて、フレームシンクパターンを決定する。フレームシンクパターン決定部１２は、フレームシンクパターン決定テーブルに従って決定された３０ビットのフレームシンクパターンを、１クロックに３ビットずつ１０クロックにわたって、符号列出力部１９に供給する。
【０１５５】
ステップＳ１５において、フレームシンクパターン決定部１２は、セレクタ信号を生成する。フレームシンクパターン決定部１２は、生成したセレクタ信号を、符号列出力部１９に供給する。
【０１５６】
ステップＳ１６において、データ符号化部１８は、フレームカウンタ１１から供給されたステートマシン初期化信号によって、ステートマシン（としての自分自身）を初期化する。
【０１５７】
ステップＳ１７において、データ符号化部１８は、フレームカウンタ１１から供給された初期ステート情報によって、初期ステートを決定する。初期ステートは、フレームシンクパターン決定テーブルに従い、フレームナンバに応じて決定される。
【０１５８】
ステップＳ１８において、データ符号化部１８は、入力データの入力を受け付ける。より詳細には、データ符号化部１８は、外部の機器および遅延回路１３乃至遅延回路１７より供給される６クロック分の入力データI0乃至I5の入力を、１クロックに２ビットずつ受け付ける。
【０１５９】
ステップＳ１９において、データ符号化部１８は、符号化処理を行う。より具体的には、ステートマシンとしてのデータ符号化部１８は、入力データI0乃至I5を符号化する。データ符号化部１８は、符号化により得られた符号化データＯ、および終結処理確認ビットＴを符号列出力部１９に供給する。
【０１６０】
ここで、図１２のフローチャートを参照して、ステップＳ１９に対応する、符号化処理の詳細について説明する。
【０１６１】
ステップＳ３１において、データ符号化部１８は、フレームカウンタ１１から供給された初期ステート情報に応じて、ステートマシンのステートを初期ステートに遷移させる。
【０１６２】
すなわち、ステートマシンとしてのデータ符号化部１８のステートは、初期ステートに遷移する。
【０１６３】
ステップＳ３２において、データ符号化部１８は、そのステートにおける変換テーブルに従って、入力データI0乃至I5に対応する符号化データＯ、および「０」である終結処理確認ビットＴを出力する。
【０１６４】
ステップＳ３３において、データ符号化部１８は、そのステートにおける変換テーブルの遷移先に従って、ステートマシンのステートを次のステートに遷移させる。
【０１６５】
すなわち、ステートマシンとしてのデータ符号化部１８のステートは、そのステートにおける変換テーブルの遷移先に従って、次のステートに遷移する。
【０１６６】
ステップＳ３４において、データ符号化部１８は、入力データI0に終端情報が付加されているか否かを判定する。すなわち、データ符号化部１８は、遷移したステートにおいて、入力データI0がフレームの終端のデータであるか否かを判定する。
【０１６７】
ステップＳ３４において、データ符号化部１８は、入力データI0に終端情報が付加されていないと判定した場合、すなわち、遷移したステートにおいて、入力データI0がフレームの終端のデータでない場合、処理はステップＳ３２に戻り、入力データI0に終端情報が付加されていると判定されるまで、ステップＳ３２およびステップＳ３３の処理が繰り返される。
【０１６８】
一方、ステップＳ３４において、データ符号化部１８は、入力データI0に終端情報が付加されていると判定した場合、すなわち、遷移したステートにおいて、入力データI0がフレームの終端のデータである場合、処理はステップＳ３５に進む。
【０１６９】
ステップＳ３５において、データ符号化部１８は、そのステートにおける変換テーブルに従って、入力データI0に対応する符号化データＯ、および終結処理確認ビットＴを出力し、処理は終了する。このとき、入力データI0が「００」であった場合、「１」である終結処理確認ビットＴが出力され、入力データI0が「００」以外であった場合、「０」である終結処理確認ビットＴが出力される。
【０１７０】
このようにして、データ符号化部１８は、ステートマシンのステートを遷移することで、それぞれのステートにおける変換テーブルに従った符号化データＯ、および終結処理確認ビットＴを出力する。
【０１７１】
ここで、以下に、基本処理、特殊処理、および終結処理のそれぞれに該当する入力データに対するステートマシンの処理の具体的な例について説明する。
【０１７２】
まず、基本処理の入力データとして、「００  ００  １０  ００  １０  １１」が入力された場合について説明する。なお、このときの初期ステート情報は、ステート１を示すものとする。
【０１７３】
「００  ００  １０  ００  １０  １１」は６クロック分のデータであり、最初のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（００  ００  １０  ００  １０  １１）となる。このとき、ステートマシンにおけるステートは、ステート１である。図６に示されるステート１の変換テーブルに従えば、符号化データＯとして「０００」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１７４】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（００  １０  ００  １０  １１  ＊＊）となり、このときのステートはステート２であるので、図７に示されるステート２の変換テーブルに従えば、符号化データＯとして「１００」が出力され、ステートはステート３に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１７５】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（１０  ００  １０  １１  ＊＊  ＊＊）となり、このときのステートはステート３であるので、図８に示されるステート３の変換テーブルに従えば、符号化データＯとして「１００」が出力され、ステートはステート４に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１７６】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（００  １０  １１  ＊＊  ＊＊  ＊＊）となり、このときのステートはステート４であるので、図９に示されるステート４の変換テーブルに従えば、符号化データＯとして「１００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１７７】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（１０  １１  ＊＊  ＊＊  ＊＊  ＊＊）となり、このときのステートはステート０であるので、図５に示されるステート０の変換テーブルに従えば、符号化データＯとして「００１」が出力され、ステートはステート１に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１７８】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（１１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）となり、このときのステートはステート１であるので、図６に示されるステート１の変換テーブルに従えば、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力され、入力された「００  ００  １０  ００  １０  １１」に対する変換は終了する。
【０１７９】
このようにして、基本処理の入力データとして、「００  ００  １０  ００  １０  １１」が入力されたときの、データ符号化部１８の出力は、「０００  １００  １００  １００  ００１  ０００」となる。なお、このように出力される符号化データは、図２に示される符号化テーブルに従っていることは明らかである。
【０１８０】
次に、特殊処理を含む入力データとして、「００  １０  １１  ０１  １１  ０１」が入力された場合について説明する。図２の符号化テーブルに示されるように、入力されるデータが「１１  ０１  １１」で、かつ、次のクロックの出力ビットが「０１０」であるとき、その変換は特殊処理として扱われる。なお、このときの初期ステート情報は、ステート０を示すものとする。
【０１８１】
「００  １０  １１  ０１  １１  ０１」は６クロック分のデータであり、最初のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（００  １０  １１  ０１  １１  ０１）となる。このとき、ステートマシンにおけるステートは、ステート０である。図５に示されるステート０の変換テーブルに従えば、符号化データＯとして「０１０」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１８２】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（１０  １１  ０１  １１  ０１  ＊＊）となり、このときのステートはステート２であるので、図７に示されるステート２の変換テーブルに従えば、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１８３】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（１１  ０１  １１  ０１  ＊＊  ＊＊）となり、このときのステートはステート０であるので、図５に示されるステート０の変換テーブルに従えば、符号化データＯとして「００１」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１８４】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（０１  １１  ０１  ＊＊  ＊＊  ＊＊）となり、このときのステートはステート５であるので、図１０に示されるステート５の変換テーブルに従えば、符号化データＯとして「０００」が出力され、ステートはステート５に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１８５】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（１１  ０１  ＊＊  ＊＊  ＊＊  ＊＊）となり、このときのステートはステート５であるので、図１０に示されるステート５の変換テーブルに従えば、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１８６】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（０１  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）となり、このときのステートはステート０であるので、図５に示されるステート０の変換テーブルに従えば、符号化データＯとして「０１０」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力され、入力された「００  １０  １１  ０１  １１  ０１」に対する変換は終了する。
【０１８７】
このようにして、特殊処理を含む入力データとして、「００  １０  １１  ０１  １１  ０１」が入力されたときの、データ符号化部１８の出力は、「０１０  ０００  ００１  ０００  ０００  ０１０」となる。なお、このように出力される符号化データは、図２に示される符号化テーブルに従っていることは明らかである。
【０１８８】
次に、終結処理を含む入力データとして、「００  １０  １１  ００  ００ｔ」が入力された場合について説明する。図２の符号化テーブルに示されるように、入力されるデータが「００  ００」で、かつ、フレームの終端であるとき、その変換は終結処理として扱われる。なお、このときの初期ステート情報は、ステート０を示すものとする。
【０１８９】
「００  １０  １１  ００  ００ｔ」は５クロック分のデータであり、最初のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（００  １０  １１  ００  ００ｔ  ＊＊）となる。このとき、ステートマシンにおけるステートは、ステート０である。図５に示されるステート０の変換テーブルに従えば、符号化データＯとして「０１０」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１９０】
なお、フレームの終端を表す「ｔ」以降の「＊」は、上述したように、何も入力されないことを表す。
【０１９１】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（１０  １１  ００  ００ｔ  ＊＊  ＊＊）となり、このときのステートはステート２であるので、図７に示されるステート２の変換テーブルに従えば、符号化データＯとして「０００」が出力され、ステートはステート０に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１９２】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（１１  ００  ００ｔ  ＊＊  ＊＊  ＊＊）となり、このときのステートはステート０であるので、図５に示されるステート０の変換テーブルに従えば、符号化データＯとして「１０１」が出力され、ステートはステート１に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１９３】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（００  ００ｔ  ＊＊  ＊＊  ＊＊  ＊＊）となり、このときのステートはステート１であるので、図６に示されるステート１の変換テーブルに従えば、符号化データＯとして「０１０」が出力され、ステートはステート２に遷移する。また、終結処理ではないので、終結処理確認ビットＴとして「０」が出力される。
【０１９４】
次のクロックにおける入力データは（I0，I1，I2，I3，I4，I5）＝（００ｔ  ＊＊  ＊＊  ＊＊  ＊＊  ＊＊）となり、このときのステートはステート２であるので、図７に示されるステート２の変換テーブルに従えば、符号化データＯとして「１００」が出力される。また、入力データがフレームの終端のデータのみであるので、遷移先のステートは「Ｘ」となり、どのステートに遷移してもよいことになる。さらに、終結処理確認ビットＴとして「１」が出力され、入力された「００  １０  １１  ００  ００ｔ」に対する変換は終了する。
【０１９５】
このようにして、終結処理を含む入力データとして、「００  １０  １１  ００  ００ｔ」が入力されたときの、データ符号化部１８の出力は、「０１０  ０００  １０１  ０１０  １００」となる。なお、このように出力される符号化データは、図２に示される符号化テーブルに従っていることは明らかである。
【０１９６】
このように、入力データは、データ符号化部１８を構成するステートマシンによって、図２に示される符号化テーブルに従った符号化データに符号化される。
【０１９７】
図１１のフローチャートの説明に戻り、ステップＳ２０において、符号列出力部１９は、フレームシンクパターン決定部１２から供給されるフレームシンクパターンおよびセレクタ信号、並びにデータ符号化部１８から供給される符号化データＯおよび終結処理確認ビットＴに基づいて、17PP符号列を出力し、処理は終了する。
【０１９８】
このようにして、記録装置１は、ステートマシンによって、終結処理が考慮された17PP符号の符号化を行うことができる。
【０１９９】
以上のように、符号化テーブルを用いるようにした場合には、17PP符号の符号化を行うことができる。また、入力データがフレームの終端であることを示す終端信号を生成し、
１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の３つの基本データ長の入力データが「１１  ０１  １１」であり、かつ、その３つの基本データ長の入力データの次の入力データに対する17PP符号が「０１０」である場合に遷移させられる第１の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の４つの基本データ長の入力データが「００  ００  ００  ００」または「００  ００  １０  ００」である場合に遷移させられる第２の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合に遷移させられる第３の状態、１つ前までに順に入力された６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合に遷移させられる第４の状態、１つ前の３ビットの基本符号長の17PP符号の最後のビットが０である場合に遷移させられる第５の状態、および１つ前の３ビットの基本符号長の17PP符号の最後のビットが１である場合に遷移させられる第６の状態であって、それぞれ、６つの基本データ長の入力データと、１つの基本符号長の17PP符号との対応関係が規定されている第１の状態乃至第６の状態のうち、第５の状態および第６の状態に対して第４の状態が優先され、第４の状態に対して第３の状態が優先され、第３の状態に対して第２の状態が優先され、第２の状態に対して第１の状態が優先されるように、状態遷移するステートマシンであって、第４の状態乃至第６の状態において、６つの基本データ長の入力データのうちの最初の２つの基本データ長の入力データが「００  ００」である場合、または６つの基本データ長の入力データのうちの最初の基本データ長の入力データが「００」である場合、「００  ００」である入力データまたは「００」である入力データがフレームの終端であるとき、「００  ００」である入力データまたは「００」である入力データがフレームの終端でないときの17PP符号と異なる17PP符号が、６つの基本データ長の入力データに対して規定されているステートマシンとして構成され、順に入力された６つの基本データ長の入力データおよび終端信号を基に、入力データを17PP符号に符号化するようにした場合には、回路規模をより縮小することができる。
【０２００】
以上においては、本発明を記録装置に適用した実施の形態について説明したが、本発明は、17PP符号の符号化を行う符号化装置に適用することができる。
【０２０１】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２０２】
【図１】17PP符号のフレームシンクパターン決定テーブルの構成を示す図である。
【図２】17PP符号の符号化テーブルの構成を示す図である。
【図３】本発明を適用した記録装置１の一実施の形態を示すブロック図である。
【図４】データ符号化部を構成するステートマシンについて説明する図である。
【図５】ステートマシンのステート０における変換テーブルの構成を示す図である。
【図６】ステートマシンのステート１における変換テーブルの構成を示す図である。
【図７】ステートマシンのステート２における変換テーブルの構成を示す図である。
【図８】ステートマシンのステート３における変換テーブルの構成を示す図である。
【図９】ステートマシンのステート４における変換テーブルの構成を示す図である。
【図１０】ステートマシンのステート５における変換テーブルの構成を示す図である。
【図１１】17PP符号の符号化の処理を説明するフローチャートである。
【図１２】符号化処理の詳細を説明するフローチャートである。
【符号の説明】
【０２０３】
１  記録装置，  １１  フレームカウンタ，  １２  フレームシンクパターン決定部，  １３乃至１７  遅延回路，  １８  データ符号化部，  １９  符号列出力部
【図１】
2008124640.tif 000003
【図２】
2008124640.tif 000004
【図３】
2008124640.tif 000005
【図４】
2008124640.tif 000006
【図５】
2008124640.tif 000007
【図６】
2008124640.tif 000008
【図７】
2008124640.tif 000009
【図８】
2008124640.tif 000010
【図９】
2008124640.tif 000011
【図１０】
2008124640.tif 000012
【図１１】
2008124640.tif 000013
【図１２】
2008124640.tif 000014