(57)【特許請求の範囲】
【請求項１】
２つの２進出力ストリームそれぞれの変調エンコーダに供給するために、２進入力データのストリームを該２つの２進出力ストリームに区分化するための方法であって、
入力ビット・ストリームにおける一連の入力ワードの各々に対して、一連の４進出力記号を生成するために前記入力ワードに列挙型４進エンコード・アルゴリズムを適用するステップであって、前記４進エンコード・アルゴリズムは、前記一連の４進出力記号におけるそれぞれの対応するビットにより形成された２つのビット・シーケンスが範囲制限済みコードワードになるよう、前記入力ワードの奇数および偶数インターリーブにおけるそれぞれのｊ＝∞フィボナッチ・コードを同時にエンコードするように作用し、入力値を前記入力ワードの値に初期設定するステップを含み、各反復ｉ（但し、ｉ＝１乃至Ｘであり、Ｘは前記一連の４進出力記号の長さである）に対して、
(ａ)．前記入力値を含むサブ・レンジを決定するために、可能な入力値の範囲を４つのサブ・レンジに区分化する所定の区分化指標に前記入力値を比較するステップと、
(ｂ)．前記入力値を含むサブ・レンジに依存した値の４進出力記号を生成するステップと、
(ｃ)．前記入力値を含むサブ・レンジの下位境界値を減じることによって前記入力値を更新するステップとを実行する、前記４進エンコード・アルゴリズムを適用するステップと、
連続した入力ワードの各々から生成された２つの範囲制限済みコードワードを分離することによって２つの２進出力ストリームを生成するステップと、を含む方法。
【請求項２】
前記４進エンコード・アルゴリズムは、前記入力ワードの奇数および偶数インターリーブにおける同じｊ＝∞フィボナッチ・コードをエンコードするように作用する、請求項１に記載の方法。
【請求項３】
前記２進入力データは一連の連続したＭビットのデータ・ワードを含み、
前記入力ワードの各々はＭビットのデータ・ワードであり、
前記２進出力ストリームの各々は、それぞれのＭビットのデータ・ワードから生成された一連の連続した範囲制限済みコードワードとして生成される、
請求項１に記載の方法。
【請求項４】
前記４進エンコード・アルゴリズムは、Ｍビットのデータ・ワードの各々から一連のＮ'個の４進出力記号（但し、Ｍ＝２Ｎ'−１）を生成する、請求項３に記載の方法。
【請求項５】
前記２進入力データは一連の連続したＭビットのデータ・ワードを含み、
前記入力ワード各々はそれぞれのＭビットのデータ・ワードのＱビット部分（但し、Ｑ＜Ｍ）を含み、
前記４進エンコード・アルゴリズムは、Ｑビットの入力ワードの各々から一連のＬ'個
の４進出力記号を生成し、
前記２進出力ストリームは、Ｍビットのデータ・ワードの各々におけるエンコードされてないＭ−Ｑビットを(Ｍ−Ｑ)／２ビットの２つのセットに分割すること、およびＭビットのデータ・ワードの各々に対するそれぞれのＬ'ビットの範囲制限済みコードワードに
前記２つのセットの各々を付加することによって生成される、
請求項１に記載の方法。
【請求項６】
Ｑ＝２Ｌ'−１である、請求項５に記載の方法。
【請求項７】
部分的辞書編集式指標の第１の対および第２の対から区分化指標を計算するステップであって、前記部分的辞書編集式指標の各対は、前記反復ｉの数に従って選択されたそれぞれのフィボナッチ・ウェートに依存する、前記ステップを含む、請求項１に記載の方法。
【請求項８】
各反復ｉに対して、現在の反復に対する区分化指標を計算するステップを含む、請求項１に記載の方法。
【請求項９】
各反復ｉに対する区分化指標は前記４進アルゴリズムに対して事前計算され、前記ステップ(ａ)は現在の反復ｉに対する事前計算された区分化指標を選択するステップを含む、請求項１に記載の方法。
【請求項１０】
２進入力データのストリームを変調コード化するための方法であって、
入力ビット・ストリームを２つの２進出力ストリームに区分化するステップであって、
入力ビット・ストリームにおける一連の入力ワードの各々に対して、一連の４進出力記号を生成するために前記入力ワードに列挙型４進エンコード・アルゴリズムを適用するステップであって、前記４進エンコード・アルゴリズムは、前記一連の４進出力記号におけるそれぞれの対応するビットにより形成された２つのビット・シーケンスが範囲制限済みコードワードになるよう、前記入力ワードの奇数および偶数インターリーブにおけるそれぞれのｊ＝∞フィボナッチ・コードを同時にエンコードするように作用し、入力値を前記入力ワードの値に初期設定するステップを含み、各反復ｉ（但し、ｉ＝１乃至Ｘであり、Ｘは前記一連の４進出力記号の長さである）に対して、
(ａ)．前記入力値を含むサブ・レンジを決定するために、可能な入力値の範囲を４つのサブ・レンジに区分化する所定の区分化指標に前記入力値を比較するステップと、
(ｂ)．前記入力値を含むサブ・レンジに依存した値の４進出力記号を生成するステップと、
(ｃ)．前記入力値を含むサブ・レンジの下位境界値を減じることによって前記入力値を更新するステップとを実行する、前記４進エンコード・アルゴリズムを適用するステップと、
連続した入力ワードの各々から生成された２つの範囲制限済みコードワードを分離することによって２つの２進出力ストリームを生成するステップとを含むことを特徴とする、  前記区分化するステップと、
２つのエンコードされた出力ストリームを生成するために前記２つの２進出力ストリームをそれぞれの変調エンコーダにおいて変調エンコードするステップと、
変調制約された出力を生成するために前記エンコードされた出力ストリームをインターリーブするステップと、
を含む、方法。
【請求項１１】
前記変調エンコーダの各々は、列挙型エンコード・アルゴリズムをそれぞれの２進出力ストリームに適用する、請求項１０に記載の方法。
【請求項１２】
前記変調エンコーダの各々は、汎用フィボナッチ・コードをそれぞれの２進出力ストリームに適用する、請求項１１に記載の方法。
【請求項１３】
前記エンコードされた出力ストリームのビットを反転するステップを含み、従って前記変調制約された出力は(Ｇ,Ｉ)制約されたビット・ストリームである、請求項１１に記載の方法。
【請求項１４】
前記２進入力データは一連の連続した(２Ｎ−１)ビットのデータ・ワードを含み、前記変調制約された出力は一連の連続した(２Ｎ−１)ビットの変調制約されたコードワードを含む、請求項１０に記載の方法。
【請求項１５】
２つの２進出力ストリームそれぞれの変調エンコーダに供給するために、２進入力データのストリームを該２つの２進出力ストリームに区分化するための装置であって、
各入力ワードから一連の４進出力記号を生成するために、入力ビット・ストリームにおける一連の入力ワードの各々に列挙型４進エンコード・アルゴリズムを適用するための４進エンコーダであって、前記４進エンコード・アルゴリズムは、前記一連の４進出力記号のそれぞれの対応するビットにより形成された２つのビット・シーケンスが範囲制限済みコードワードになるよう、前記入力ワードの奇数および偶数インターリーブにおけるそれぞれのｊ＝∞フィボナッチ・コードを同時にエンコードするように作用し、
入力値を前記入力ワードの値に初期設定するステップを含み、各反復ｉ（但し、ｉ＝１乃至Ｘであり、Ｘは前記一連の４進出力記号の長さである）に対して、
(ａ)．前記入力値を含むサブ・レンジを決定するために、可能な入力値の範囲を４つのサブ・レンジに区分化する所定の区分化指標に前記入力値を比較するステップと、
(ｂ)．前記入力値を含むサブ・レンジに依存した値の４進出力記号を生成するステップと、
(ｃ)．前記入力値を含むサブ・レンジの下位境界値を減じることによって前記入力値を更新するステップとを含む、前記４進エンコード・アルゴリズムを適用するステップと、
連続した入力ワードの各々から生成された２つの範囲制限済みコードワードを分離することによって２つの２進出力ストリームを生成するステップと、を実行する、前記４進エンコーダと、
連続した入力ワードから生成された２つの範囲制限済みコードワードを分離することによって２つの２進出力ストリームを生成するための２進出力ジェネレータと、
を含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、データの変調コーディングに関し、詳しく言えば、変調コーディング・システムおよび対応するデコーディング・システムにおける入力区分化に関するものである。
【背景技術】
【０００２】
変調コードは、記録データにおける望ましくないビット・シーケンス、例えば、再生プロセスにおいてエラーを生じさせるビット・シーケンス、を排除するためにデータ記憶システムにおいて使用される。望ましくないビット・シーケンスの一例は、同じ値のビットの長いラン（run）である。別の例は、ビット・ストリーム内の１つおきの位置における、即ち、ビット・ストリームの奇数番目(Ｏ)または偶数番目(Ｅ)の交互位置(・・・ＥＯＥＯＥＯ・・・)における同じ値のビットの長いランである。例えば、表示形式０ａ０ｂ０ｃ０ｄ０・・・（但し、ａ、ｂ、ｃ等は、０または１のいずれであってもよい）の長いシーケンスは一般には望ましくないであろう。変調コードは、エンコードされたビット・ストリームにおける望ましくないビット・シーケンスの発生に関して或る形式の制約を課している。例えば、或る変調コードは、所謂、Ｊ制約を課しており、それによって、そのエンコードされたビット・ストリームにおける連続した「１」のランの最大長が所定値ｊに制限される。別の変調コードは連続した０の最大のラン・レングスに関して制約を課している。これは、ｋ制約またはＧ制約とも呼ばれ、それによって、連続した０の最大連続体長がそれぞれ値ｋまたはＧに制限される。後者のコード・タイプの例は、テープ・ドライブおよび光学的記憶システムのような記録システムに基づいたＰＲＭＬ(partialresponse maximum likelihood)において使用されるＰＲＭＬ(Ｇ,Ｉ)コードによって提供される。「グローバル」制約、即ち、Ｇ制約のほかに、これらのコードは「インターリーブ」制約、即ち、Ｉ制約を課している。これは、奇数インターリーブおよび偶数インターリーブの各々における０の最大のラン・レングスを値Ｉに制限する。勿論、Ｉ制約されたビット・ストリームは、Ｇ＝２Ｉの場合には必然的にＧ制約される。
【０００３】
変調コーディング・システムは、理想的には、選択された制約の最大能力近くで作動する高レートのコードおよびエンコーダを使用する。しかし、有用であるためには、これらのシステムは、効率的なエンコード及びデコード・アルゴリズムに基づいた実用的な具現化方法を用いる必要がある。
【０００４】
エンコードされたビット・ストリームにおいてｋ制約を課するための実用的なエンコーダが、米国特許第５,７６０,７１８号に開示されている。これは、汎用フィボナッチ・コードのクラスに基づいた列挙型エンコード技法を実施する。列挙型エンコードは、IEEETrans. Inform. Theory, Vol. 19, pp. 73-77, January 1973 における T. M. Cover による「EnumerativeSource Encoding」と題した論文に開示されている。フィボナッチ・コードは、IEEE Trans. Inform. Theory, Vol. 11,pp. 284-292, April 1965 における W. H. Kautz による「Fibonacci Codes forSynchronization Control」と題した論文に開示されている。詳細な検討のためには上記の論文の参照を行うべきであるが、本発明の理解を助けるためにはこれらの技法の簡単な説明を行うことが有用であろう。
【０００５】
簡単に言えば、列挙型エンコードは、入力ワードを出力コードワードに、そのコードワードの辞書編集式順序に基づいてマップするプロセスである。即ち、Ｘ個の２進コードワードのセットが２進値に従って順序付けられる場合、各コードワードに対して、その順序付けられたセットにおけるそれの位置に従って１からＸまでの番号を割り当てることが可能である。そこで、これらの割り当てられた番号１乃至Ｘの各々が２進入力ワードの値を定義する場合、Ｘ個の２進入力ワードの各々が、対応するコードワードと関連付けられる。列挙型エンコードは、このタイプの方式に従って入力ワードを出力コードワードにマップするプロセスである。その基礎となるエンコードの原理は非常に単純であるが、それらのコードワードを２進入力ワードから生成するための効率的なエンコーダの設計には、実用面で問題がある。例えば、２１００個のコードワードが存在する場合、効率的なエンコーダの設計が必要であることは容易に明らかである。
【０００６】
フィボナッチ・コードは、２進コードワード表示におけるそれぞれの位置での２進１の値を定義する、ベースとも呼ばれるウェートのセットによって特徴付けられる。即ち、２進コードワードにおける所与の位置での１は、通常の２の累乗ではなくその位置に対するフィボナッチ・ウェートの値を表す。簡単な例として、{ｗn:ｎ＝１,２,・・・,７}＝{１,２,３,５,８,１３,２１} によって与えられたＮ＝７個のウェートのセットにより定義されたフィボナッチ・コードを考察することにする。ベースは、下記のように線形回帰を満すことがわかる。
ｗn+1＝ｗn＋ｗn-1  （但し、ｎ＝２,３,・・,６）
(Ｎ＝７)ビットのフィボナッチ・コードワードの完全なセットは、ｗN+1＝１３＋２１＝３４の可能な値を表し得る。３４≧２5であるので、この簡単なフィボナッチ・コードは、列挙型エンコード・プロセスによって５ビット入力を長さＮ＝７のコードワードにエンコードすることができる。このエンコード・プロセスは、
ｕ＝ΣｘiｗN-i+1    （但し、ｉ＝１乃至７）
によって定義される。但し、ｕは入力ワード値であり、(ｘ1,ｘ2,・・・,ｘ7)は出力コードワードである。そのエンコード・プロセスは、図１に示されるように入力ワード値からフィボナッチ・ウェートを連続的に減じることによって行われる。詳しく言えば、数値ｕは、逓減値順に取られたウェートｗnのどれもマイナスの結果を生じないことによって連続的に減少する。所与のウェートｗN-i+1がその連続する差から実際に減じる場合、ｘi＝１である。そうでない場合、ｘi＝０である。
【０００７】
図１を考察すると、この簡単なフィボナッチ・コードがｊ＝１の制約を課するということ、即ち、１つの連続的な１しかコードワードにおいて生じ得ないということが示される。ｊ制約を有する純粋のフィボナッチ・コードが、線形回帰：
ｗn+1＝ｗn＋ｗn-1＋・・・＋ｗn-j  （但し、ｎ＝ｊ＋１,ｊ＋２,・・・,Ｎ−１） (１）
を満足するウェートｗn （但し、ｎ＝１.２,・・・,Ｎ）によって定義され、ｊ＋１の初期ウェートが
ｗn＝２n-1    （ｎ＝１,２,・・・,ｊ＋１）
によって与えられる。但し、指定された正の整数ｊはそのコードのｊ制約を定義する。汎用のフィボナッチ・コードを用いると、数式(１)における式は不等式：
ｗn+1≦ｗn＋ｗn-1＋・・・＋ｗn-j  （但し、ｎ＝ｊ＋１,ｊ＋２,・・・,Ｎ−１） (２)
によって置換される。そのような汎用のフィボナッチ・コードにおけるコードワードの最大数は
ｗN+1＝ｗN＋ｗN-1＋・・・＋ｗN-j
によって与えられる。図１の簡単なコードの場合のように、汎用のフィボナッチ・コードにおける２進コードワード(ｘ１,ｘ２,・・・ｘｎ)は、入力ｕ（但し、０≦ｕ＜ｗN+1）をウェート{ｗｎ}により表すこと、即ち、
ｕ＝ΣｘiｗN-i+1
によって得られる。具体化のためには、前述の米国特許第５,７６０,７１８号に記載されているように、ウェートは、制限されたスパンＬを持つように、即ち、
ｗn＝Ｂn２n-1                                                             (３)
（但し、Ｂnは範囲２-L≦Ｂn≦１におけるものであり、Ｌビット表示を有する）ように、選ばれる。スパンＬのウェートの場合、Σｕk２kの最上位ビットから最下位ビットまでおよぶ(Ｌ＋１)ビットの幅広いウィンドウを使って、エンコードがスライディング・ウィンドウ態様で行われ得る。
【０００８】
米国特許第７,１２６,５０２号および第７,０７１,８５１号は、前述の米国特許第５,７６０,７１８号のものと同様の列挙型エンコード方式に基づいたＰＲＭＬ(Ｇ,Ｉ)コード用に設計されたエンコーダおよびデコーダを開示している。これらは、汎用のフィボナッチ・コードから派生している。特に、入力ビット・ストリームがそれの奇数インターリーブおよび偶数インターリーブに区分され、その２つのインターリーブ・ビット・ストリームが個別のフィボナッチ・エンコーダによってエンコードされる。フィボナッチ・コードは１のランにｊ制約を課するので、エンコーダ出力のビット反転が、０のランに関する制約をそれぞれ有する２つのエンコードされたビット・ストリームを生じる。Ｇ＝２Ｉ（但し、Ｉはオリジナルのフィボナッチ・コードに対するｊの値に等しい）を有する単一の(Ｇ,Ｉ)制約されたビット・ストリームを与えるために、マルチプレクサがそのエンコードされたビット・ストリームをインターリーブする。米国特許第７,１２６,５０２号では、エンコーダ全体の入力区分化ステージがデマルチプレクサによって実現される。これは、単に、長さ２(Ｎ−１)の入力データ・ワードをインターリーブして長さ(Ｎ−１)の奇数および偶数インターリーブ・シーケンスにする。一般に、エンコーダの入力シーケンスが偶数のビット、即ち、２(Ｎ−Ｑ)ビットを有する場合、その入力は、それぞれの長さが(Ｎ−Ｑ)である２つのシーケンスに容易に区分され得る。そこで、ブロック長（即ち、出力コードワード長）２Ｎおよびレート(Ｎ−Ｑ)／Ｎのエンコーダが得られる。同じブロック長に対して更に高いレートを、即ち、長さ２Ｎに対してレート(２Ｎ−１)／２Ｎを得るためには、入力ビットを、後続の列挙型エンコーダに対する有効な入力シーケンスであるように所定の制約を満たす２つのビット・ストリームに区分することが望ましい。米国特許第７,０６４,６７８号の変調エンコーダでは、入力区分化ステージが、そのような（非変調）制約を課するショート・ブロック・エンコーダを使用する。そのショート・ブロック・エンコーダの操作を通して、入力区分化ステージは入力を、範囲制約を満たす奇数ビット・シーケンスおよび偶数ビット・シーケンスに分離する。即ち、これらのＮビット・シーケンスの可能な値の範囲が制限されるので、可能なＮビット・シーケンスがすべて生じるわけではない。この方法では、２つのフィボナッチ・エンコーダへの可能な入力が制限され、これらのエンコーダにおけるＮビット対Ｎビットのエンコードを可能にする。偶数ビットビット・シーケンスおよび奇数ビット・シーケンスに関する必要な２進制約は、これらの制約が偶数および奇数インターリーブにおいて同じである場合に対して指定され、レート３／４、９／１０、および１３／１４ときにショート・ブロック・エンコーダの実施が行われる。入力区分化ステージに対するこれらのショート・ブロック・エンコーダの構成はゲート付き区分の技法に基づいている。この技法は、入力区分化の問題に対する体系的な方法を提供するものではなく、特に、長いおよび高いレートのショート・ブロック・エンコーダに対して適用することが益々難しくなっている。
【特許文献１】米国特許第５,７６０,７１８号
【特許文献２】米国特許第７,１２６,５０２号
【特許文献３】米国特許第７,０７１,８５１号
【特許文献４】米国特許第７,０６４,６７８号
【特許文献５】欧州特許出願０７１２０１６２.８
【非特許文献１】IEEE Trans. Inform. Theory, Vol. 19, pp. 73-77, January 1973における T.M. Cover による「Enumerative Source Encoding」と題した論文
【非特許文献２】IEEE Trans. Inform. Theory, Vol. 11, pp. 284-292, April 1965における W.H. Kautz による「Fibonacci Codes for Synchronization Control」と題した論文
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、変調コード化システムにおいて出力に対して変調制約を課さない入力データを区分化するための改良された技法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１の局面は、２進入力データのストリームを２つの２進出力ストリームに区分化してそれぞれの変調エンコーダに供給するための方法を提供することにある。
【００１１】
本発明の方法は、入力ビット・ストリームにおける一連の入力ワードの各々に対して、一連の４進出力記号を生成するために、入力ワードに列挙型４進エンコード・アルゴリズムを適用するステップを含む。その４進エンコード・アルゴリズムは、一連の４進出力記号のそれぞれの対応するビットにより形成された２つのビット・シーケンスが範囲制限済みコードワードとなるよう、入力ワードの奇数および偶数インターリーブにおけるそれぞれのｊ＝∞フィボナッチ・コードを同時にエンコードするように作用する。その方法は、更に、連続した各入力ワードから生成された２つの範囲制限済みコードワードを分離することによって２つの２進出力ストリームを生成するステップを含む。
【００１２】
従って、本発明の入力区分化技法は、列挙型４進エンコード・アルゴリズムを入力ビット・ストリームにおける一連のワードに適用することに関連する。その４進エンコード・アルゴリズムは、奇数および偶数インターリーブを、４進出力記号を伴う単一の列挙型コードとして、同時にフィボナッチ・エンコードするように、各２進入力ワードに関して操作する。本明細書では、この単一のコードは「インターリーブされたフィボナッチ・コード」と呼ばれる。変調制約を入力データに適用するために列挙型４進エンコード・アルゴリズムを使用するインターリーブされたフィボナッチ・コードは、本願出願人による欧州特許出願０７１２０１６２.８に開示されている。そのシステムとは対照的に、本入力区分化システムの４進アルゴリズムは、奇数および偶数インターリーブにおいてｊ＝∞の場合のフィボナッチ・コードをエンコードする。ｊ＝∞であるので、ここでは、基礎となるフィボナッチ・コードにより変調制約が課されることはない。しかし、インターリーブされたｊ＝∞フィボナッチ・コードは、奇数および偶数インターリーブ上に範囲制約を課するように作用する。上述の列挙型エンコードの原理によれば、インターリーブされたｊ＝∞フィボナッチ・コードの４進アルゴリズムは、入力ビット・ストリームにおけるワードを、値に従って、４進記号を有する出力コードワードの順序付けられたセットにマップする。４進記号は、それぞれ、２つの並列ビットによって表され、各入力ワードに対して、結果として生じる一連の出力記号におけるそれぞれの対応ビットによって形成された２つのビット・シーケンスが、範囲制限済みコードワードである。従って、一連のＮ’個の出力記号が各入力ワードから生成され、４進記号が奇数ビットおよび偶数ビットを含むものとみなされる場合、Ｎ’個の奇数ビットのシーケンスおよびＮ’個の偶数ビットのシーケンスが共に、範囲制限済みコードワードである。即ち、許されたＮ’ビットの値の範囲は各コードワードに対して制限され、従って、すべての可能なＮ’ビットの値がいずれの場合においても生じ得るわけではない。そこで、２つの２進出力ストリームが、各連続した入力ワードから生じる２つの範囲制限済みコードワードを分離することによって生成される。
【００１３】
上記の技法は体系的な入力区分化システムを提供し、それによって、以後の変調エンコーダに供給するための区分化されたビット・ストリームに範囲制限を課することが可能となる。入力区分化技法は、区分化されたビット・ストリームに課せられた範囲抑制が次の変調エンコーダへの入力シーケンスに対する特定の要件に容易に適応し得る、という点で極めて融通性がある。範囲抑制は、希望次第でその２つの区分化されたビット・ストリームにおいて異なることも可能である。この融通性は、次の変調エンコーダの最適な活用を可能にし、変調エンコーダの所与の対のために最高のレートが達成されることを可能にする。全体的に、本発明の実施例は、変調エンコーダのための非常に効率的な入力区分化システムを提供し、効率的な変調コーディング・システムが設計されることおよび前述の従来技術のシステムを用いて得られるものよりも更に効率的なＰＲＭＩ(Ｇ,Ｉ)コードを可能にする。
【００１４】
各出力ストリームにおける許容されたコードワード値の範囲は、一般的に（必ずしも一般的ではないが）或る範囲の連続的な値であり、前述のように各出力ストリームに対して異なることもあり得る。従って、出力ストリームの範囲に関する種々の制限を伴う種々のｊ＝∞フィボナッチ・コードが、希望次第で入力ワードの奇数および偶数インターリーブにおいて適用され得る。しかし、簡単な例では、４進エンコード・アルゴリズムは、奇数および偶数インターリーブにおいて同じｊ＝∞フィボナッチ・コードをエンコードするように作用する。範囲制限を課している２つのｊ＝∞フィボナッチ・コードを適用するための４進エンコード・アルゴリズムに関しては後で説明することにする。しかし、簡単に言えば、４進エンコード・アルゴリズムが各入力ワードから一連のＮ'個の４進出力記号を生成する場合、所望の範囲制限がその２つのｊ＝∞フィボナッチ・コードの(Ｎ'＋１)番目のウェートに関する上部境界を決定する。その(Ｎ'＋１)番目のウェートがＬ'の最大スパンを有する場合、４進エンコード・アルゴリズムは、２Ｌ'＋２のウィンドウ幅を伴うスライディング・ウィンドウ・アルゴリズムとして実施され得る。
【００１５】
一般に、４進エンコード・アルゴリズムが適用される入力ワードは、区分化されるべき２進入力ストリームにおけるユーザ・データワードのすべてまたはそれの一部分だけを含み得る。２進入力ストリームが一連の連続的なＭビットのデータ・ワードを含み、４進エンコード・アルゴリズムへの入力ワードの各々がＭビットのデータ・ワードである場合、各２進出力ストリームは、それぞれのＭビットのデータ・ワードから生成された一連の連続した範囲制限済みコードワードとして生成され得る。それとは別に、４進エンコード・アルゴリズムへの各入力ワードは、それぞれのＭビットのデータ・ワードにおけるＱビット部分（但し、Ｑ＜Ｍ）を含む。この場合、４進エンコード・アルゴリズムが各Ｑビットの入力ワードから一連のＬ'個の４進出力記号を生成する場合、２つの２進出力ストリームが、各Ｍビットのデータ・ワードのエンコードされてないＭ−Ｑビットを２セットの(Ｍ−Ｑ)／２ビットに分割すること、および各セットを各一連のＭビットのデータ・ワードに対するそれぞれのＬ'ビットの範囲制限済みコードワードに付加すること、によって生成され得る。そこで、各出力ストリームは、４進エンコード・アルゴリズムによって適用された範囲制限によって制限された範囲である一連の連続した(Ｌ'＋(Ｍ−Ｑ)／２)ビットのコードワードを含む。これは、長さＮ'＝(Ｌ'＋(Ｍ−Ｑ)／２)ビットの２つの範囲制限済みコードワードを生成するためにＭビットの入力ワード全体に本入力区分化技法の４進エンコード・アルゴリズムを適用することに等しい。但し、基礎となるｊ＝∞フィボナッチ・コードの(Ｎ'＋１)番目のウェートはＬ'の最大スパンを有する。換言すれば、そのようなＭ／２Ｎ'の４進エンコード・アルゴリズムは、Ｌ'のウェートのみを伴うフィボナッチ・コードを適用し且つ入力されたＭビット・ワードのＱビット部分だけに関して作動するアルゴリズムに簡易化され得る。これに関しては、更に後述することにする。
【００１６】
本発明の第２の局面は、２進入力データのストリームを変調コード化するための方法を提供する。その方法は、
本発明の第１の局面による区分化方法によって、入力ビット・ストリームを２つの２進出力ストリームに区分化するステップと、
２つのエンコードされた出力ストリームを生成するために２つの２進出力ストリームをそれぞれの変調エンコーダにおいて変調エンコードするステップと、
変調制約された出力を生成するためにそのエンコードされた出力ストリームをインターリーブするステップと、
を含む。
【００１７】
各変調エンコーダは、列挙型エンコード・アルゴリズムをそれぞれの２進出力ストリーム（最も望ましくは、汎用フィボナッチ・コード）に適用することが望ましい。そこで、エンコードされた出力ストリームが、フィボナッチ・エンコードされた奇数および偶数インターリーブを伴う出力を生成するためにインターリーブされる。従って、前述のフィボナッチ・コードの固有の特性が、グローバルおよびインターリーブされたラン・レングス制約を有する出力ビット・ストリームを提供する。１の最大ラン・レングスに関する制約が必要であるアプリケーションが考えられるが、上述のＰＲＭＬコードに適する(Ｇ,Ｉ)制約された出力においてビット反転がその結果として生じる。
【００１８】
本発明の第３の局面は、本発明の第２の局面による方法によって生成された変調制約されたビット・ストリームを変調デコードするための方法を提供する。その方法は、
２つのエンコードされた出力ストリームを生成するために、変調制約されたビット・ストリームのビットをデインターリーブするステップと、
２つの２進出力ストリームを復元するためにその２つのコード化された出力ストリームをそれぞれの変調デコーダにおいて変調デコードするステップと、
各入力ワードに対応するそれぞれの２進出力ストリームにおける範囲制限済みコードワードから一連の４進出力記号を生成するステップと、
４進エンコード・アルゴリズムによって奇数および偶数インターリーブに適用されたｊ＝∞フィボナッチ・コードを同時にデコードし、それによって一連の入力ワードを復元するために、列挙型４進デコード・アルゴリズムをその４進記号に適用するステップと、
を含む。
【００１９】
本発明の第４の局面は、２つの２進出力ストリームをそれぞれの変調エンコーダに供給するために、２進入力データのストリームをその２つの２進出力ストリームに区分化するための装置を提供する。その装置は、各入力ワードから一連の４進出力記号を生成するために、入力ビット・ストリームにおける一連の入力ワードの各々に列挙型４進エンコード・アルゴリズムを適用するための４進エンコーダを含む。その４進アルゴリズムは、一連の出力記号のそれぞれの対応するビットにより形成された２つのビット・ストリームが、範囲制限済みコードワードであるように、入力ワードの奇数および偶数インターリーブにおけるそれぞれのｊ＝∞フィボナッチ・コードを同時にエンコードするように作用する。
その装置は、更に、連続した各入力ワードから生成された２つの範囲制限済みコードワードを分離することによって２つの２進出力ストリームを生成するための２進出力ジェネレータを含む。
【００２０】
本発明の第５の局面は、２進入力データのストリームを変調コード化するための装置を提供する。その装置は、本発明の第４の局面に従って、入力ビット・ストリームを２つの２進出力ストリームに区分化するための区分化装置と、
２つのエンコードされた出力ストリームを生成するために２つの２進出力ストリームを変調エンコードするための変調エンコーダと、
変調制約された出力を生成するためにそのエンコードされた出力ストリームをインターリーブするためのマルチプレクサと、
を含む。
【００２１】
本発明の第６の局面は、本発明の第５の局面に従って変調コード化装置によって生成される変調制約されたビット・ストリームを変調デコードするための装置を提供する。その装置は、
２つのエンコードされた出力ストリームを生成するために、変調制約されたビット・ストリームのビットをデインターリーブするためのデマルチプレクサと、
２つの２進出力ストリームを復元するために、２つのエンコードされた出力ストリームを変調デコードするための変調デコーダと、
各入力ワードに対応するそれぞれの２進出力ストリームにおける範囲制限済みコードワードから一連の４進出力記号を生成するための４進記号ジェネレータと、
４進エンコード・アルゴリズムによって奇数および偶数インターリーブに適用されたｊ＝∞フィボナッチ・コードを同時にデコードし、それによって２進入力ワードにおける一連の入力ワードを復元するために、列挙型４進デコード・アルゴリズムを４進記号に適用するための４進デコーダと、
を含む。
【００２２】
本発明の第７の局面は、
本発明の第５の局面に従って、一連の２進入力データのストリームから、変調制約された出力を生成するための変調コード化装置と、
変調制約された出力を記憶媒体上に記録および再生するための記録／再生機構を含む記録チャネルと、
本発明の第６の局面に従って、記憶媒体から再生された変調制約された出力を変調デコードし、それによって２進入力データにおける一連の入力ワードを復元するための変調デコーディング装置と、
を含む。
【００２３】
一般に、本発明の１つの局面の実施例に関連して特徴が説明される場合、対応する特徴が本発明の他の局面の実施例において提供されることもある。
【発明を実施するための最良の形態】
【００２４】
図２は、本発明の実施例の操作に関連する主要なコンポーネントを示すデータ記憶システムの概略図である。この例では、データ記憶システムは１として総体的に表されたテープ・ドライブであり、従って、磁気テープ４に対して読取りおよび書込み行うための読取り／書込みヘッド３を備えた記録チャネル２を有する。記録側では、変調コーディング装置５が、一連のＭビットのデータ・ワードを含む入力ビット・ストリームを受け取る。この実施例の装置５は、２ＮビットＰＲＭＬ(Ｇ,Ｉ)コードワードを含む変調制約された出力を生成するために、後で詳述する変調コーディング・プロセスを実施する。変調制約されたビット・ストリームは、一般にはプリコーディング・ステージおよびエラー訂正コーディング・ステージ（図示されてない）の後に記録チャネル２に供給される。ここでは、そのビット・ストリームは、通常のチャネル信号処理の後にテープ４上に記録される。再生に関しては、検出およびエラー訂正デコーディングを含む通常の再生信号処理の後に、その結果生じたビット・ストリームが変調デコーディング装置６に供給される。装置６は、詳細に後述するように、再生された信号における２Ｎビットのコードワードの変調デコーディングを行い、それによってオリジナル入力データに対応する一連のＭビットのワードを復元する。
【００２５】
変調コーディング装置５は、２ステージのエンコード・プロセスを行う。第１ステージにおいて、入力ビット・ストリームが列挙型４進エンコード・プロセスを介して２つの２進出力ストリームに区分化される。第２ステージでは、２つの２進出力ストリームがそれぞれの変調エンコーダにおいて独立的にエンコードされ、その結果生じるエンコードされた出力ストリームが結合されて最終的な変調制約された出力を生成する。変調デコーディング装置６は、同様に２ステージのデコード・プロセスを行う。第１ステージにおいて、分離したエンコードされた出力ストリームがそれぞれの変調デコーダによってデコードされる。第２ステージでは、その結果生じるデコードされたビット・ストリームが列挙型４進デコード・プロセスにより結合されてオリジナル入力データ・ストリームを復元する。変調コーディング装置および変調デコーディング装置の種々のステージが図３乃至図１０に関連して後述される。原理的には、これらのコンポーネントはソフトウェアで、またはハードウェアおよびソフトウェアの組み合わせで具現化され得るが、実用的には、ハードワイヤード・ロジックにおける実施が単純性および操作速度にとって望ましい。本明細書における説明から、適当な実施方法が当業者には明らかであろう。
【００２６】
図３は、変調コーディング装置５の第１ステージにおいて使用するための入力区分化装置のブロック図である。この実施例では、入力区分化装置１０は列挙型４進エンコーダ１１および２進出力ジェネレータ１２を含む。４進エンコーダ１１は、インターリーブされたｊ＝∞フィボナッチ・コードを具現化するために列挙型４進エンコード・アルゴリズムを利用する。４進エンコード・アルゴリズムを説明する前に、ｊ＝∞フィボナッチ・コードのコンセプトを簡単に説明することにする。
【００２７】
上記数式(１)において示されるように、ｊ制約を伴う純粋なフィボナッチ・コードは、初期のｊ＋１ウェートがｗn＝２n-1（但し、ｎ＝１,２,・・・,ｊ＋１）であるとき、
ｗn+1＝ｗn＋ｗn-1＋・・・＋ｗn-j（但し、ｎ＝ｊ＋１,ｊ＋２,・・・,Ｎ−１）
の関係を満たす一組のウェートｗn（但し、ｎ＝１,２,・・・,Ｎ）によって定義される。しかし、Ｊ＝∞の制限ケースに対しては、
ｗ'n＝２n-1（但し、ｎ＝１,２,・・・, Ｎ'＋１）
であり、その結果生じるコードは制約をまったく満たさない。（システムの他のどこかで使用されるＪ制約を伴うフィボナッチ・コードとＪ＝∞コードとを単に区別するために、此処および以下ではアポストロフィが使用される）。このＪ＝∞コードに対するコードワードの最大数は、ｗ'N'+1＝２N'である。しかし、わずかな数のコードワード、即ち、ｗ'N'+1（但し、２N'-1＜ｗ'N'+1≦２N'）を考慮するように選択することも可能である。
【００２８】
ｊ＝∞フィボナッチ・コードにおける２進コードワード[x'1, x'2,・・・x'N]が、ウェート{ｗ'n}により入力ｕ（０≦ｕ＜ｗ'N'+1）を表すことによって、即ち、ｕの２進表示である
ｕ＝Σｘ'iｗ'N'-i+1＝Σｘ'i２N'-i
によって得られる。従って、長さＮ'のこのｊ＝∞フィボナッチ・コードは、範囲０≦ｕ＜ｗ'N'+1における数値を表す長さＮ'のすべての２進シーケンスから成る。
【００２９】
図３の４進エンコーダ１１は、前に定義したように、インターリーブされたｊ＝∞フィボナッチ・コードを実施するために各Ｍビットの入力ワードに列挙型４進エンコード・アルゴリズムを適用する。即ち、エンコーダ１１は、各入力ワードの奇数および偶数インターリーブにおいてそれぞれのｊ＝∞フィボナッチ・コードを、４進出力記号を有する単一の列挙型コードとして、同時にエンコードするように作動する。２つの基礎となるフィボナッチ・コードは同じであっても或いは異なっていてもよいが、簡単な実施例ではこれらの２つのコードが同じである。いずれの方法でも、入力ビット・ストリームにおける値ｕIF＝Σｕk２k（但し、ｋ＝０乃至Ｍ−１）の各Ｍビットのワード(ｕM-1,ｕM-2,・・・,ｕ0)に対して、エンコーダ１１は、一連のＮ'個の４進出力記号を生成する。従って、エンコーダ１１は、長さＮ'のインターリーブされたｊ＝∞フィボナッチ・コードを具現化する。Ｎ'個の４進記号ｚi（ｉ＝１乃至Ｎ'）がそれぞれ２ビット、即ち、奇数ビットx'oiおよび偶数ビットx'eiによって表される。そのＮ'個の出力記号のそれぞれの対応するビットによって形成された奇数ビット・シーケンス[x'o1, x'o2,・・・x'oN']および偶数ビット・シーケンス[x'e1,x'e2,・・・x'eN']は、それぞれ、ｗ'oN'+1およびｗ'eN'+1記号(の２進表示)よりも辞書編集的には小さい。但し、ｗ'oN'+1およびｗ'eN'+1は、奇数および偶数インターリーブに対する基礎となるｊ＝∞フィボナッチ・コードにおけるコードワードの数である。従って、エンコーダ１１は、範囲０≦ｕIF＜ｗ'oN'+1ｗ'eN'+1における１次元の入力ワード値を、出力ｚi(但し、ｉ＝１乃至Ｎ')に対するｚi＝(x'oi,x'ei)の場合の４進出力シーケンス[ｚ1、ｚ2,・・・,ｚN']にマップする。これは、ｗ'oN'+1およびｗ'eN'+1よりもそれぞれ小さい且つ変調制約のない奇数および偶数のＮ'ビットの２進シーケンスを含む。（ｊ＝∞であるので、インターリーブされたフィボナッチ・コードは１のラン・レングスに関して制限を課さず、従って、出力コードワードに関して変調制約を課さない）。奇数および偶数Ｎ'ビットの２進シーケンスの各々は、前述のように、範囲制限済みコードワードである。奇数および偶数インターリーブにおける範囲制限は、変調エンコーディング・プロセス全体の第２ステージにおいて使用された後続の列挙型変調コードに従って選択される。特に、次のような要件が満たされる。即ち、各インターリーブにおいて、許容されたコードワード値の範囲がそのインターリーブに対する後続の列挙型変調エンコーダの入力範囲に含まれる。この要件は、２つのｊ＝∞フィボナッチ・コードの(Ｎ'＋１)番目のウェートｗ'eN'+1およびｗ'oN'+1における上位境界を指定する。これら２つのコードのすべてのウェートｗ'n＝２n-1が、或る最大の制限されたスパンＬ'を有する(Ｎ'＋１)番目のウェートを除いて、１のスパンを有する（上記数式(３)を参照）。（ｗ'eN'+1およびｗ'oN'+1のスパンは異なることがあるが、その２つのスパンの最大はＬ'である（但し、Ｌ'＜Ｎ'））。一般に、Ｌ'の値は小さい値、例えば、１０となるように選ばれる。特に、(Ｎ'＋１)番目のウェートの選択には多少の自由があるので、最大の可能範囲をわずかに少なくするだけでより小さいスパンを持つように(Ｎ'＋１)番目のウェートを��択することによって、複雑さと最大範囲との間のトレード・オフを行うことも可能である。多くともＬ'のスパンを有する(Ｎ'＋１)番目のウェートに基づいた４進エンコード・アルゴリズムが、２Ｌ'＋２のウィンドウ幅を伴うスライディング・ウィンドウ・アルゴリズムとして具体化することも可能である。
【００３０】
上記のように、いずれの所望の範囲制限も、(Ｎ'＋１)番目のウェートｗ'oN'+1およびｗ'eN'+1を適切に選択することによって課せられ得る。重要な点は、出力が、下記の後続の変調エンコード・プロセスに対する有効な入力に限定されることを範囲制限が可能にする、ということである。一般に、Ｍ＝２Ｎ'−１および積ｗ'oN'+1ｗ'eN'+1は２2N'-1を超える、即ち、ｃ＝ｗ'oN'+1ｗ'eN'+1−２2N'-1＞０である。この場合、希望次第で、幾つかの望ましくないコードワードを除去し、ＰＲＭＬ(Ｇ,Ｉ)変調コードに関して更なる弱い変調制約を課することも可能である。簡単な例として、整数ｕを表すすべての(２Ｎ'−１)ビットの入力ベクトルに、オフセットｃ＝ｗ'oN'+1ｗ'eN'+1−２2N'-1を加えることも可能である。その場合、ｕIF＝ｕ＋ｃは、ｃ≦ｕIF＜ｗ'oN'+1ｗ'eN'+1の範囲にあり、それによって、すべて０の出力は排除される。後続の変調エンコーダは一般にすべて０の入力をすべて０のシーケンスにマップするので、その結果生じるＰＲＭＬ(Ｇ,Ｉ)変調コードは（ビット反転の後）すべて１のシーケンスを含まないであろうし、したがって、有限のｊ制約を有するであろう。
【００３１】
図３に説明を戻すと、各Ｍビットの入力ワードに対して、エンコーダ１１はその結果生じた一連のＮ'個の４進出力記号ｚj＝(ｘ'oi,x'ei)を２進出力ジェネレータ１２に供給する。これは、そのＮ'個の出力記号における２つの範囲制限済みコードワード[ｘ'o1,ｘ'o2, ・・・ｘ'oN']および[ｘ'e1,ｘ'e2, ・・・ｘ'eN']を、奇数ビットｘ'oiおよび偶数ビットx'eiから成る２つの２進出力ストリームに分離するだけである。従って、装置１０は、連続したＭビットのデータ・ワードによって形成された入力データ・ストリームを奇数および偶数２進出力ストリームに区分化するように働く。なお、各出力ストリームは、明らかなように、一連の連続する範囲制限済みコードワード[ｘ'o1,ｘ'o2, ・・・ｘ'oN']および[ｘ'e1,ｘ'e2, ・・・ｘ'eN']から成る。
【００３２】
上記のように、４進アルゴリズムは、２Ｌ'＋２のウィンドウ幅を用いたスライディング・ウィンドウ・アルゴリズムとしてエンコーダ１１において実施することが可能である。この実施例の４進アルゴリズムは、各反復ステップｉに対して１つの４進記号ｚiを生成する反復プロセスとしてエンコーダ１１において利用される。更に詳しく言えば、インターリーブされたｊ＝∞フィボナッチ・コードＩＦが、前述のようにＮ'ベース{ｗ'n}を各々が有する２つの基礎となるｊ＝∞フィボナッチ・コードを同時にエンコードするために、そのアルゴリズムは、値ｕIF＝Σｕk２k(ｋ＝０乃至Ｍ−１)の入力ワード(ｕM-1,ｕM-2,・・・,ｕ0,)を、ｕIFに従って４進コードワード((ｘ'o1,ｘ'e1),(ｘ'o2, ｘ'e2),・・・,(ｘ'oN',ｘ'eN'))にマップする。特に、入力ｕIFが
０≦ｕIF＜ｗ'oN'+1ｗ'eN'+1
の範囲にある場合、そのアルゴリズムは次のようになる。
初期設定：  Ｕo＝ｗ'oN'+1 , Ｕe＝ｗ'eN'+1, ｕ＝ｕIF
ｉ＝１乃至Ｎ'に対して  do{
部分的辞書編集式指標ｖ0、ｖeおよび区分化指標Ｎ00、Ｎ01、Ｎ10を計算する：
ｖo＝min{２N'-1, Ｕo},ｖe＝min{２N'-1, Ｕe}
Ｎ00＝ｖoｖe, Ｎ01＝ｖoＵe,Ｎ10＝Ｎ01＋(Ｕo-ｖo)ｖe
時間ｉ出力(ｘ'oi, ｘ'ei)を計算し、入力ｕを更新する：
if u＜Ｎ00,thenｘ'oi＝０, ｘ'ei＝０
else if Ｎ00≦ｕ＜Ｎ01, thenｘ'oi＝０, ｘ'ei＝１,ｕ＝ｕ−Ｎ00
else if Ｎ01≦ｕ＜Ｎ10, thenｘ'oi＝１, ｘ'ei＝０,ｕ＝ｕ−Ｎ01
elseｘ'oi＝１, ｘ'ei＝１, ｕ＝ｕ−Ｎ10
上位境界を更新する：
Ｕo＝min{２N'-i,Ｕo−ｘ'oi２N'-i},Ｕe＝min{２N'-i,Ｕe−ｘ'ei２N'-i}
}
【００３３】
上記のアルゴリズムを考察すると、そのアルゴリズムは、入力値ｕを入力ワード値ｕIFに初期設定すること、しかる後、ｉ＝１乃至Ｎ'の各反復に対して、変数Ｎ00、Ｎ01、Ｎ10に対する値を計算すること、および入力値ｕとＮ00、Ｎ01、Ｎ10との比較によって出力記号(ｘ'oi,ｘ'ei)を生成することを含む、ということがわかる。変数Ｎ00、Ｎ01、Ｎ10は、それらが各反復に対する可能な入力値ｕの範囲を４つのサブ・レンジ
ｕ＜Ｎ00
Ｎ00≦ｕ＜Ｎ01
Ｎ01≦ｕ＜Ｎ10
ｕ≧Ｎ10
に区分化するように働くので、本明細書では「区分化指標」と呼ばれる。
【００３４】
各反復に対して、可能な入力値ｕの範囲は０≦ｕ＜ＵoＵeである。但し、ＵoおよびＵeは、更新前の反復ｉにおける奇数および偶数上位境界である。初期入力値ｕIFはここではＭビットのワード値であるので、第１反復ｉ＝１に対する区分化指標は可能なＭビット値を４に区分化する。更に詳しく言うと、出力記号(ｘ'oi, ｘ'ei)の生成は、
(ａ)  区分化指標Ｎ00、Ｎ01、Ｎ10を計算するステップ、
(ｂ)  上記４つのサブ・レンジのどれがその入力値を含むかを決定するために現在の入力値ｕを区分化指標に比較するステップ、
(ｃ)  どの特定のサブ・レンジがその入力値を含むかに従って(ｘ'oi, ｘ'ei)の２ビットをセットするステップ、および
(ｄ)  ｕの現在の値から、そのｕの値を含むサブ・レンジの下位境界値を減じることによって入力値を更新するステップ(ここでは、下位境界値がそのとき０であるので、ｕが最も低いサブ・レンジにある場合、更新された入力値は変化しないであろう)、
を含む。
【００３５】
区分化指標Ｎ00、Ｎ01、Ｎ10は、「部分的な辞書編集式指標」ｖo、ｖeおよびＵoおよびＵeの第１の対および第２の対から計算される。指標ｖo、ｖeは、以後、下位の部分的辞書編集式指標と呼ばれ、上位の境界Ｕ0、Ｕeは、上位の部分的辞書編集式指標と呼ばれる。これらの値の対は、その対の各値が入力ワードの奇数および偶数インターリーブのそれぞれ１つと関連付けられ、従って、インターリーブされたｊ＝∞フィボナッチ・コードにおける基礎となるｊ＝∞フィボナッチ・コードの一方または他方と関連付けられる、という点で「部分的」指標と呼ばれる。上記のアルゴリズムにおいて表されるように、各対のｖo、ｖeおよびＵo、Ｕeの部分的辞書編集式指標は、反復数ｉに従って選択されたそれぞれのフィボナッチ・ウェート（即ち、共に２N'-iに等しいｗ'oN'-i+1およびｗ'eN'-i+1）に依存する。
【００３６】
エンコーダ１１では、エンコード・アルゴリズムのもっとも複雑な部分は、区分化指標Ｎ00、Ｎ01、Ｎ10を計算するために乗算を含む。しかし、下位部分の辞書編集式指標ｖo、ｖeのほとんどは２の累乗であり、その場合、シフト操作による乗算を実施し、実質的に複雑さを減らすことが可能である。
【００３７】
図４には、入力区分化装置の別の好適な実施例が示される。この実施例の入力区分化装置１５は、参照番号１６として全体的に表された４進エンコード装置および参照番号１７として全体的に示された２進出力ジェネレータを含む。４進エンコード装置１６は、デマルチプレクサ１８および列挙型４進エンコーダ１９を含む。２進出力ジェネレータ１７は、２進セパレータ２０、デマルチプレクサ２１、および図に示されるように接続された２つのマルチプレクサ２２、２３を含む。入力区分化装置１５は、図３の装置１０の実施態様を単純化している。特に、(Ｎ'＋１)番目のフィボナッチ・ウェートｗ'oN'+1およびｗ'eN'+1がＬ'よりも長くないスパンを有する場合、入力ｕIFからの入力ビットを奇数および偶数出力ビット・ストリームにマップする操作は下記の点で単純化される。
(ｉ)  入力Ｍビット・ワードの最上位ＱビットがＬ'エンコード・ステップにおける４進エンコーダ１９を通過して、奇数および偶数出力ビット・ストリームに分離される２つの範囲制限済みコードワード[ｘ'o1,ｘ'o2, ・・・ｘ'oL']および[ｘ'e1,ｘ'e2, ・・・ｘ'eL']を生成する。
(ii)  最下位 (Ｍ−Ｑ)入力ビットが奇数および偶数出力ビット・ストリームに直接にデマルチプレクスされる。
【００３８】
この実施例では、デマルチプレクサ１８がＭビットのデータ・ワードのＱビット部分だけを４進エンコーダ１９に供給するので、４進アルゴリズムへの各入力ワードはＱビットしか含まない。エンコーダ１９は各Ｑビットの入力ワードから一連のＬ'個の４進出力記号を生成する。次に、２進セパレータ２０が、Ｌ'個の４進出力記号から奇数および偶数の範囲制限済みコードワードを分離する。Ｌ'個の奇数ビットｘ'oiがマルチプレクサ２２に出力され、Ｌ'個の偶数ビットｘ'eiがマルチプレクサ２３に出力される。デマルチプレクサ１８は、各Ｍビットのデータ・ワードのうちのエンコードされてないＭ−Ｑビットをデマルチプレクサ２１に供給し、マルチプレクサ２１は奇数および偶数ビットをデインターリーブする。(Ｍ−Ｑ)／２個の奇数ビットがデマルチプレクサ２１からマルチプレクサ２２に出力され、Ｎ'ビットのコードワードを生成するためにＬ'個の奇数ビットのコードワードに付加される。同様に、(Ｍ−Ｑ)／２個の偶数ビットがマルチプレクサ２３に出力され、別のＮ'ビットのコードワードを生成するためにＬ'個の偶数ビット・コードワードに付加される。従って、各出力ストリームは、４進エンコーダ１９により課せられた範囲制限によって範囲制限された一連の連続した(Ｌ'＋(Ｍ−Ｑ)／２)ビットのコードワードを効果的に構成する。この好適な実施例では、Ｑ＝２Ｌ'−１であるので、入力の最上位２Ｌ'−１ビットがエンコーダ１９を通して送られ、最下位２(Ｎ'−Ｌ')入力ビットが直接に偶数および奇数ビット・ストリームにデマルチプレクスされる。
【００３９】
区分化装置１５では、エンコーダ全体のうちの複雑性強調(complexity-intensive)部分が最初のＬ'ステップに制限されることがわかるであろう。即ち、それは、Ｌ'ウェートｗ''n＝２n-1(但し、ｎ＝１,２,・・・,Ｌ')および上位境界ｗ''eL'+1＝ｗ'eN'+1／２(Ｎ'−Ｌ')およびｗ''0L'+1＝ｗ'0N'+1／２(Ｎ'−Ｌ')のみを用いて、インターリーブされたｊ＝∞フィボナッチ・コードに対する列挙型エンコード・アルゴリズムに縮小され得る。
【００４０】
従って、エンコード・アルゴリズムは下記のように縮小する。
仮定：      入力ｕIFの範囲    ０≦ｕIF＜ｗ''eL'+1ｗ''oL'+1
初期設定：  Ｕo＝ｗ''oL'+1 , Ｕe＝ｗ''eL'+1, ｕ＝ｕIF
ｉ＝１乃至Ｌ'に対して  do{
部分的辞書編集式指標ｖo、ｖeおよび区分化指標Ｎ00、Ｎ01、Ｎ10を計算する：
ｖo＝min{２L'-i, Ｕo},ｖe＝min{２L'-i, Ｕe}
Ｎ00＝ｖoｖe, Ｎ01＝ｖoＵe,Ｎ10＝Ｎ01＋(Ｕo-ｖo)ｖe
時間ｉ出力(ｘ'oi, ｘ'ei)を計算し、入力ｕを更新する：
if u＜Ｎ00,thenｘ'oi＝０, ｘ'ei＝０
else if Ｎ00≦ｕ＜Ｎ01, thenｘ'oi＝０, ｘ'ei＝１,ｕ＝ｕ−Ｎ00
else if Ｎ01≦ｕ＜Ｎ10, thenｘ'oi＝１, ｘ'ei＝０,ｕ＝ｕ−Ｎ01
elseｘ'oi＝１, ｘ'ei＝１, ｕ＝ｕ−Ｎ10
上位境界を更新する：
Ｕo＝min{２L'-i,Ｕo−ｘ'oi２L'-i},Ｕe＝min{２L'-i,Ｕe−ｘ'ei２L'-i}
}
【００４１】
上記のアルゴリズムは、次の例によって示されるように、区分化指標Ｎ00、Ｎ01、Ｎ10を事前計算することによって更に単純化することが可能である。Ｌ'＝９およびｗ''oL+1＝３６３＝ｗ''eL'+1の場合を考察することにする。ここでは、２log２(３６３)＞１７であるので、レート１７／１８エンコーダが得られる。下位および上位の辞書編集式指標ｖ0、ｖeおよびＵo、Ｕeは、図５の表に示されるように、各ステップｉにおいて多くとも２つの異なる値しか取ることができない。更に、ほとんどの値は２の累乗である。この表から、区分化指標Ｎ00、Ｎ01、Ｎ10は各反復ステップｉにおいて多くとも４つの値しか取ることができない。これらの値は、すべて４進エンコーダにおいて事前計算され得るし、従って、複雑な乗算演算を実施する必要を回避する。各ステップｉにおいて、事前計算された値Ｎ00、Ｎ01、Ｎ10は、上位の部分的な辞書編集式指標Ｕo、Ｕeの実際の値の関数として処理することが可能である。このために、次のような２つの２進インジケータ関数
Ｏ＝Ｉ{Ｕo＝２10-i}およびｅ＝Ｉ{Ｕe＝２10-i}
が導かれる。これらの関数は、中括弧内の等式が有効である場合に値１を取り、そうでない場合に値０を取る。図６の表は、ｉのすべての値に対する区分化指標の可能な値を示している。各ステップｉ(ｉ≠１)において、表に示されるように、事前計算された区分化指標Ｎ00、Ｎ01、Ｎ10が上位の部分的辞書編集式指標ＵoおよびＵeの関数として決定される。２進値０＝Ｉ{Ｕo＝２10-i}およびｅ＝Ｉ{Ｕe＝２10-i}は、ステップｉにおいて、それぞれ、ＵoおよびＵeの実際の値に依存するということに留意されたい。
【００４２】
図７は、図２の変調コーディング装置を更に詳しく示す。変調コーディング装置５は、図に示されるように接続された入力区分化装置２５、２つの変調エンコーダ２６、２７、マルチプレクサ２８、およびインバータ２９を含む。入力区分化装置２５は、図３および図４の区分化装置１０または１５によって具体化することが可能である。従って、区分化装置２５は、入力ビット・ストリームにおける一連のＭビット・ワードを奇数および偶数ビット・ストリームに区分化する。これらの各々は、上記のように一連のＮ'ビットの範囲制限済みコードワードから成る。そこで、その２つの出力ビット・ストリームは、それぞれの変調エンコーダ２６、２７において別々に変調エンコードされる。この実施例では、各変調エンコーダは、汎用フィボナッチ・コードを入力Ｎ'ビット・ワードに適用するための列挙型２進エンコーダである。簡単にするために、同じ汎用フィボナッチ・コードＦ({ｗn})がこの例ではエンコーダ２６、２７において適用される。各フィボナッチ・エンコーダ２６、２７は、ｊ制約を満たす一連のＮビット・ワードを含む変調エンコードされた出力ビット・ストリームｘoi,ｘoiを生成する。そこで、奇数および偶数変調エンコードされたビット・ストリームがマルチプレクサ２８によってインターリーブされ、そのビット値がインバータ２９において反転される。従って、エンコード５の結果として生じた変調制約された出力は、一連の２Ｎビット・ワードを含む(Ｇ,Ｉ)制約されたビット・ストリーム（但し、汎用フィボナッチ・コードＦ({ｗn})に対してＧ＝２ＩおよびＩ＝ｊ）である。
【００４３】
ウェートｗn（ｎ＝１、・・・・,Ｎ）を有する汎用フィボナッチ・コードＦ({ｗn})に対して、エンコードは、ｕ＝ΣｘiｗN-i+1によって決定される。従って、フィボナッチ・エンコーダ２６、２７の操作は下記のアルゴリズムによって定義される。
入力：    或る整数ｕ＝Σｘ'i２N'-i（但し、ｕ＜ｗN+1）を表す２進ベクトル[ｘ'1,ｘ'2,・・・, ｘ'N]
出力：    ２進ベクトル[ｘ1, ｘ2,・・・, ｘN] （但し、Ｎ'≦Ｎ）
エンコード・ルール：  ｉ＝１乃至Ｎに対して  {
if u≧ｗN-i+1 then ｘi＝１
ｕ＝ｕ−ｗN-i+1  （入力からの連続した減算）
else          ｘi＝０
}
フィボナッチ・ウェート{ｗn}が制限されたスパンＬを有するという好適なケースでは、エンコーダ２６、２７がウィンドウ長Ｌ＋１を用いてスライディング・ウィンドウ態様で作動する。
【００４４】
区分化された出力ストリームｘ'oiおよびｘ'eiにおけるＮ'ビットのコードワードに関して区分化装置２５により課せられた範囲制限は、フィボナッチ・エンコーダ２６、２７への可能な入力の範囲を制限する。詳しく言えば、範囲制限は、Ｎ'ビットのコードワード値を、効果的な高レートのフィボナッチ・コードに対するフィボナッチ・エンコーダの有効な入力に限定するように設計される。好適な実施例では、汎用フィボナッチ・コードＦ({ｗn})が入力ワードを同じ長さ、即ち、Ｎ＝Ｎ'の出力ワードにマップする。従って、区分化装置２５における４進エンコードは、このＮビットからＮビットへの変調コーディングを可能にするために奇数および偶数出力コードワードにおいて（同様の）範囲制限を課する。一般に、変調コーディング装置５は、Ｍ＝(２Ｎ−Ｐ)ビットのワード(Ｐ≧１)を２Ｎビットの(Ｇ,Ｉ)制約された出力ワードにマップすることが可能である。しかし、Ｍ＝２Ｎ'−１およびＮ＝Ｎ'の場合のこの好適な例では、変調コーディング・プロセス全体が入力(２Ｎ−１)ビットのデータ・ワードを２Ｎビットの(Ｇ,Ｉ)制約されたコードワードにマップすることが可能である。
【００４５】
変調エンコーダ５の第２ステージへの入力ビットに対する適切な範囲０≦ｕIF＜(ｗN+1)2を選択することによって、２ステージ・エンコーダは、偶数／奇数インターリーブ・フィボナッチ・コードＦ({ｗn})から得ることが可能な(ｗN+1)2(Ｇ,Ｉ)制約されたコードワードをすべて生成することができる。従って、その２ステージ・エンコード方法は、例えば、上記の欧州特許出願０７１２０１６２.８に開示されているように、単一ステージの列挙型４進エンコーダによってエンコードされ得るすべての偶数／奇数フィボナッチ・コードＦ({ｗn})を用いて適用することが可能である。エンコーダ２６，２７において使用され得る汎用フィボナッチ・コードＦ({ｗn})の３つの特定の例を以下に示す。
【００４６】
第１コードＦ({ｗn})は、ウェートｗn＝Ｂn２n-1（下記により定義されたスパンＬ＝９のｎ＝１,２,・・・,Ｎ(＝１１８)）の場合のｊ＝７コードである。
Ｂn２9＝５１２  （但し、ｎ＝１,２,・・・,５）
Ｂn２9＝４９６  （但し、ｎ＝６,７,・・・,９）
Ｂn２9＝５０５−ｎ  （但し、ｎ＝１０,１１,・・・,１１８）
【００４７】
２ステージ変調エンコーダ５によって実施されるその結果のＰＲＭＬ(Ｇ,Ｉ)コードは、コードワード内でおよび連結されたコードワードのコードワード境界にまたがって、Ｉ＝７およびＧ＝１４制約を満たすレート２３５／２３６＝０.９９５８のコードである。
【００４８】
第２コードＦ({ｗn})は、図８の表において示されたウェートおよびｊプロファイルによって完全に定義されるＮ＝１００およびｊ＝５コードである。その結果のＰＲＭＬ(Ｇ,Ｉ)コードはＧ＝１０、Ｉ＝５、およびレート１９７／２００＝０.９８５のコードを有する。
【００４９】
第３コードは、図９の表に示されたウェートを有するｎ＝２００コードである。このコードに対して、ｊ制約プロファイルはコードワード内のｊ(ｎ)＝６（但し、ｎ＝６,７,・・・,１９９）である。境界では、下記のｊ制約が適用する。
左の境界：ｊ(１)＝１,ｊ(２)＝２,ｊ(３)＝３,ｊ(４)＝３,ｊ(５)＝４,ｊ(６)＝５
右の境界：ｊ(２００)＝３
従って、ｊ＝６制約は、コードワード内およびコードワード境界にまたがって適用する。その結果のＰＲＭＬ(Ｇ,Ｉ)コードは３９７／４００＝０.９９２５のコード・レートを有し、コードワード内およびコードワード境界にまたがって制約Ｇ＝１２およびＩ＝６を満たす。
【００５０】
上記の３つのコードに対して、上位境界ｗN+1はスパンＬ≦９を有する。従って、第１の入力区分化ステージにおけるインターリーブされたｊ＝∞フィボナッチ・コードに対するエンコーダの実施では、図４の単純化したものが適用され、乗算が事前計算により回避され得る。従って、第１ステージは複雑性が低くなり、それは実質的にはそのアルゴリズムの第１Ｌ'＝Ｌステップにおける２(Ｌ'＋１)ビット数の比較および加算／減算から生じる。第２ステージでは、単に、２つの羅列型２進フィボナッチ・エンコーダが各ステップにおいて(Ｌ＋１)ビット数の比較および加算／減算を行うだけである。
【００５１】
図１０は、図２のシステムの変調デコーディング装置を示す。これは、コーディング装置５における変調コーディング・プロセスの実質的に逆である２ステージのデコーディング・プロセスを実施する。従って、デコーディング装置６は、インバータ３５、デマルチプレクサ３６、２つのフィボナッチ・デコーダ３７、３８、および４進デコーディング装置３９を含む。インバータ３５は、再生された信号から検出された一連の２Ｎビット・ワードを受け取り、それらのビットを反転してデマルチプレクサ３６への２進出力ストリームを生成する。これは、受け取ったビット・ストリームの奇数ビットおよび偶数ビットをデインターリーブしてＮビットのコードワードの２つのストリームを生成する。そこで、これらは下記のデコーディング・アルゴリズムに従ってフィボナッチ・デコーダ３７、３８によりデコードされる。ウェートｗn（但し、ｎ＝１,・・・,Ｎ）を用いた汎用のフィボナッチ・コードＦ({ｗn})に対して、そのデコーダは、コードワード・コンポーネントによって指定されるウェートを実質的に累算する。
入力：                    [ｘ1, ｘ2,・・・, ｘN]
出力の初期設定：          ｕdec＝０
デコード・ルール：  ｉ＝１乃至Ｎに対して{
ｕdec＝ｕdec＋ｘiｗN-I+1
}
それらの対応するエンコーダの場合のように、デコーダ３７、３８は、ウィンドウ長Ｌ＋１（但し、Ｌはフィボナッチ・ウェート{ｗn}のスパンである）を用いてスライディング・ウィンドウ態様で作動する。
【００５２】
各デコーダ３７、３８からのその結果生じた一連のＮ'ビットの出力データは、２つの２進出力ストリームを４進デコーディング装置３９に与える。これは、コーディング側における入力区分化装置によって実施されたプロセスの逆を行う。従って、図１１は、図３の区分化装置に対応した４進デコーディング装置４５を示す。４進記号ジェネレータ４６が、２つの入力Ｎ'ビットの対応するビットを結合して一連のＮ'個の４進出力記号を４進デコーダ４７に供給する。デコーダ４７は４進エンコーダ１１によって利用されたエンコード・アルゴリズムの逆を実行し、従って、エンコーダ１１によって適用されたインターリーブされたｊ＝∞フィボナッチ・コードの基礎となるｊ＝∞フィボナッチ・コードを同時にデコードするために羅列型４進デコーディング・アルゴリズムを利用する。そのアルゴリズムは、連続した反復ステップにおいて、連続した４進記号のビットの対（ｘ'oi,ｘ'ei）を処理する。詳しく言えば、奇数および偶数インターリーブにおける基礎となるｊ＝∞フィボナッチ・コードのコードワードｘ'o1,ｘ'o2, ・・・ｘ'oN'およびｘ'e1,ｘ'e2, ・・・ｘ'eN'を仮定すると、そのアルゴリズムは次のようになる。
初期設定：  Ｕo N＝ｗ'N'+1 , Ｕe＝ｗ'N'+1 , ｕ＝０
事前処理(すべての上位の部分的辞書編集式指標を事前計算し、保存する)：
ｉ＝１乃至Ｎ'に対して  do{
Ｕoi＝min{２N'-i,Ｕoi−ｘ'oi２N'-i},Ｕei＝min{２N'-i,Ｕei−ｘ'ei２N'-i}
}
ｉ＝Ｎ'以下１に対して  do{
下位の部分的辞書編集式指標および区分化指標を計算する：
ｖo＝min{２N'-i, Ｕoi},ｖe＝min{２N'-i, Ｕei}
Ｎ00＝ｖoｖe, Ｎ01＝ｖoＵei,Ｎ10＝Ｎ01＋(Ｕoi-ｖo)ｖe
列挙型指標(＝デコーダ出力)ｕを更新する：
if (ｘ'oi＝０, ｘ'ei＝０),     thenｕ＝ｕ
else if (ｘ'oi＝０, ｘ'ei＝１),thenｕ＝ｕ＋Ｎ00
else if (ｘ'oi＝１, ｘ'ei＝０),thenｕ＝ｕ＋Ｎ01
else                   ｕ＝ｕ＋Ｎ10 
}
【００５３】
デコーダ４７は、幅２Ｌ'＋２のスライディング・ウィンドウ・デコーダとして作動し、エンコーダ１１に適用する同時関連の乗算がデコーダ４７に同様に適用する。
【００５４】
図１２は、図４のエンコード装置１５に対応する単純化された４進デコーディング装置を示す。４進デコーディング装置５０は、２つのデマルチプレクサ５１、５２、４進記号ジェネレータ５３、およびマルチプレクサ５４を含む。これらのコンポーネントは、共に、図４における２進出力ジェネレータ１７の操作と逆になる。従って、デマルチプレクサ５１、５２にそれぞれ供給されるＮ'ビットの各対に対して、４進記号ジェネレータ５３は一連のＬ'個の４進出力記号を４進デコーダ５５に供給する。このデコーダ５５は、図３における４進エンコーダ１９によって利用されたエンコード・アルゴリズムの逆を行う。従って、そのアルゴリズムは、４進アルファベットに基づいており、下記のように、各ステップにおいてビット対（ｘ'oi,ｘ'ei）を処理する。
仮定：      奇数／偶数インターリーブのコードワードｘ'o1, ｘ'o2, ・・・ｘ'oL'およびｘ'e1,ｘ'e2, ・・・ｘ'eL'
初期設定：  Ｕo＝ｗ''L'+1 , Ｕe＝ｗ''L'+1, ｕ＝０
事前処理(すべての上位の部分的辞書編集式指標を事前計算し、保存する)：
ｉ＝１乃至Ｎ'に対して  do{
Ｕoi＝min{２L'-i,Ｕoi−ｘ'oi２L'-i},Ｕei＝min{２L'-i,Ｕei−ｘ'ei２L'-i}
}
ｉ＝Ｎ'逓減１に対して  do{
下位の部分的辞書編集式指標および区分化指標を計算する：
ｖo＝min{２L'-i, Ｕoi},ｖe＝min{２L'-i, Ｕei}
Ｎ00＝ｖoｖe, Ｎ01＝ｖoＵei,Ｎ10＝Ｎ01＋(Ｕoi-ｖo)ｖe
列挙型指標(＝デコーダ出力)ｕを更新する：
if (ｘ'oi＝０, ｘ'ei＝０),     thenｕ＝ｕ
else if (ｘ'oi＝０, ｘ'ei＝１),thenｕ＝ｕ＋Ｎ00
else if (ｘ'oi＝１, ｘ'ei＝０),thenｕ＝ｕ＋Ｎ01
else                   ｕ＝ｕ＋Ｎ10 
}
再び、デコーダは、ウィンドウ幅２Ｌ'＋２のスライディング・ウィンドウ態様で作動し、エンコーダ１１に適用する乗算に関する単純化がデコーダ５５にも適用する。
【００５５】
４進デコーダ５５は、その結果生じた一連のＱビットのワードマルチプレクサ５６の一方の入力に供給する。デコーディング装置５０に入力されたＮ'ビットの各ワードにおける最下位の(Ｍ−Ｑ)／２ビットが、マルチプレクサ５４によってインターリーブされ、マルチプレクサ５６の他方の入力における(Ｍ−Ｑ)ビットを生成する。そこで、これらは、マルチプレクサ５６によって４進デコーダ５５からのＱビット・ワードに付加され、オリジナルの入力データ・ワードに対応するＭビット・ワードを復元する。
【００５６】
上記の体系的で融通性のある効率的な入力区分化技法が、特に効率的なエンコーダ／デコーダの実装によって高レートの変調コードの設計を可能にするということは明らかであろう。上記の欧州特許出願０７１２０１６２.８の４進変調エンコーダに比較しても、本発明の実施例は、エンコーダの第１区分化ステージにおける乗算を回避し、第２変調コーディング・ステージにおける乗算を不必要にし、対応した単純化をデコーダにおいて適用し得るので、更に複雑性効率（complexityefficient）がよい。
【００５７】
本発明の好適な実施例を上述したが、本発明の範囲から逸脱することなく、多くの変更および修正を行うことが可能である。例えば、エンコーダ２６、２７には種々の汎用のフィボナッチ・コードを適用し得るし、或いは、フィボナッチ・エンコーダ以外の変調エンコーダを都合よく利用し得る。図７において、フィボナッチ・エンコードされた出力ストリームのビット反転がマルチプレクサ２８によるインターリーブの前に行われてもよいことは勿論である。更に、上記のインターリーブされたｊ＝∞フィボナッチ・コードによって同様の範囲制限が奇数および偶数出力コードワードに課せられるが、一般に、範囲制限は奇数および偶数コードワードに対して同じである必要がなく、いずれの場合も、種々の数の許容されたコードワード値が存在し得る。
【図面の簡単な説明】
【００５８】
【図１】簡単なフィボナッチ・コードを使ったエンコード・プロセスを示す概略図である。
【図２】本発明を具体化するデータ処理システムの概略的なブロック図である。
【図３】図２のシステムにおいて使用するための入力区分化装置の第１実施例を示す概略図である。
【図４】図２のシステムにおいて使用するための入力区分化装置の第２実施例を示す概略図である。
【図５】図４の装置において、スパンＬ'＝９のときの４進エンコーダによって使用される部分的な辞書編集式指標を表にしたものである。
【図６】スパンＬ'＝９のときの４進エンコーダによって使用される区分化指標を表にしたものである。
【図７】図２のシステムにおける変調コーディング装置のブロック図である。
【図８】図７の装置において使用することが可能な汎用のフィボナッチ・コードのウェートを表にしたものである。
【図９】図７の装置において使用することが可能な汎用フィボナッチ・コードのウェートを表にしたものである。
【図１０】図２のシステムにおける変調デコーディング装置のブロック図である。
【図１１】図１０の変調デコーディング装置における４進デコーディング装置の第１実施例の概略図である。
【図１２】図１０の変調デコーディング装置における４進デコーディング装置の第２実施例の概略図である。
【図１】
0005030919.tif 000002
【図２】
0005030919.tif 000003
【図３】
0005030919.tif 000004
【図４】
0005030919.tif 000005
【図５】
0005030919.tif 000006
【図６】
0005030919.tif 000007
【図７】
0005030919.tif 000008
【図８】
0005030919.tif 000009
【図９】
0005030919.tif 000010
【図１０】
0005030919.tif 000011
【図１１】
0005030919.tif 000012
【図１２】
0005030919.tif 000013