(57)【特許請求の範囲】
【請求項１】
Ｋ個（Ｋは正の整数）の情報要素からインターリーブ処理を用いてＭ個（Ｍは正の整数）のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズＮ＝Ｋ＋Ｍの符号を生成する符号化装置であって、
前記Ｋ個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化部と、
該繰り返し符号化部による繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするインターリーブ処理部と、
上記部分インターリーブ後の異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算部と、
該加算部による加算結果について畳み込み符号化を施してＭ個の前記パリティ符号を出力する畳み込み符号化部とをそなえたことを特徴とする、符号化装置。
【請求項２】
前記繰り返し符号化結果をＥ個（Ｅは正の整数）、該加算部でのｉ番目の前記加算ブロックの前記指定サイズをａi（ｉ＝０，…，Ｍ−１）、前記加算ブロックの最大サイズをａmax、前記パリティ符号数Ｍ以下の正の整数をＭi（ｉ＝０，…，ａmax−１）としたときに、該インタリーブ処理部が、下記(4.1)式を満足する各サイズａmaxの前記部分インターリーブブロック毎に前記部分インターリーブを施すべく構成されるとともに、
該加算部が、前記各加算ブロックの上記指定サイズａi分だけ、それぞれ、前記部分インターリーブ後の前記各部分インターリーブブロックの先頭から１つずつ前記部分インターリーブ結果を選択して加算すべく構成されたことを特徴とする、請求項１記載の符号化装置。
【数１】
0004357561.tif 000011
【請求項３】
該インターリーブ処理部が、前記各部分インターリーブブロックに共通であって、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施す共通部分インターリーバをそなえ、
該加算部が、該共通部分インターリーバによる逐次的な部分インターリーブの結果を逐次的に加算すべく構成されたことを特徴とする、請求項１又は２に記載の符号化装置。
【請求項４】
前記繰り返し符号化結果が、第１及び第２の部分インターリーブブロックにｍ０個及びｍ１個（ｍ０、ｍ１はいずれも正の整数）に分かれて属する場合に、前記第１の部分インターリーブブロックについての前記部分インターリーブにより上記ｍ０個の繰り返し符号化結果について定まる位置を避けて、上記ｍ１個の繰り返し符号化結果の前記第２の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第２のインターリーブブロックの上記ｍ１個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されたことを特徴とする、請求項１〜３のいずれか１項に記載の符号化装置。
【請求項５】
Ｋ個の情報要素からインターリーブ処理を用いてＭ個のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズＮ＝Ｋ＋Ｍの符号を生成する符号化方法であって、
前記Ｋ個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化過程と、
その繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブする部分インターリーブ過程と、
その結果について、異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算過程と、
その加算結果について畳み込み符号化を施してＭ個の前記パリティ符号を出力する畳み込み符号化過程とを有することを特徴とする、符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル情報通信システム等における情報ビットの符号化装置及び符号化方法に関し、特に、インターリーブ処理を用いてパリティ符号を生成するＩＲＡ（Irregular Repeat Accumulate）符号やＲＡ（Repeat Accumulate）符号などの低密度パリティ検査（ＬＤＰＣ：Low-Density Parity-Check）符号の符号化に用いて好適な技術に関する。
【背景技術】
【０００２】
(A)ブロック符号
ブロック符号は、以下のように、Ｋ個（Ｋは正の整数）の情報アルファベットｕ＝（ｕ0，…，ｕK-1）をＫ×Ｎ（Ｎは正の整数）の生成行列Ｇ＝（ｇij）（ｉ＝０，…，Ｋ−１；ｊ＝０，…，Ｎ−１）によりＮ個の符号アルファベットｘ＝（ｘ0，…，ｘK-1）に符号化される。即ち、符号アルファベットｘは、下記(1.1)式で表される。【０００３】
ｘ＝ｕＧ  …(1.1)
受信側では、符号ベクトルｘに対しての受信データから情報ベクトルｕを推定する。このためには、符号ベクトルｘに対しての下記(1.2)式に示すパリティチェック関係式を用いる。
ｘＨT＝０  …(1.2)
ここで、Ｈ＝（ｈij）〔ｉ＝０，…，Ｍ−１（Ｍは正の整数）；ｊ＝０，…，Ｎ−１〕は、パリティ検査行列（以下、単に「検査行列」という）で、ＨTは検査行列Ｈの転置（行と列の入れ替え）行列を意味する。上記(1.1)式と(1.2)式とからＨとＧは下記(1.3)式の関係を満たす。【０００４】
ＧＨT＝０  …(1.3)
この(1.3)式から、検査行列Ｈと生成行列Ｇのいずれか一方が与えられると符号化規則が一意に決まる。
(B)ＬＤＰＣ符号
低密度パリティ検査（ＬＤＰＣ）符号は、ブロック符号において０と異なる要素の数が全要素数に対して少ない割合の検査行列によって定義される符号の総称である。特に、行と列のそれぞれの要素の数が一定の場合には「レギュラーＬＤＰＣ符号」と呼ばれ、符号長Ｎと列と行のそれぞれのウェイト数（ｗc，ｗr）で特徴付けられる。一方で、各列、各行で異なるウェイト数を許すタイプは、「イレギュラーＬＤＰＣ符号」と呼ばれ、符号長Ｎと、列と行のウェイト数分布〔（λj，ρk）；ｊ＝１，…，ｊmax；ｋ＝１，…，ｋmax〕により特徴付けられる。ここで、λj（ρk）は、ウェイト数ｊの列（行）に属する０と異なる要素の割合を示している。レギュラーＬＤＰＣ符号は、イレギュラーＬＤＰＣ符号の特別な場合とみなすこともできる。【０００５】
レギュラー、イレギュラーいずれにしても符号長とウェイト数分布が決まっただけでは具体的な検査行列は決まらない。規定のウェイト数を満たすような具体的な０と異なる要素の配置方法は多くの可能性があるため、このそれぞれが別の符号を定義することになる。
そこで、以上のように与えられる符号は、ウェイト数分布とその条件の下での具体的な０と異なる要素の配置の方法によってその誤り率特性が決まる。【０００６】
一方で、符号器および復号器の回路規模、処理時間、処理量等の特徴については基本的にウェイト数の分布のみにより影響される。
一般的なＬＤＰＣ符号は、復号処理で用いる検査行列により定義され、その符号化処理には検査行列から生成行列を求めるか、三角化した検査行列を用いて逐次的にパリティビットを求める方法をとり、何れにしてもＯ（Ｎ2）の処理時間が必要になる。【０００７】
(C)タナーグラフ
ＬＤＰＣ符号の復号処理はSum-Product法（Sum-Product Algorithm）により定義の検査行列を用いて行なう。この方法を理解するのに便利なグラフとしてタナーグラフがよく用いられる。タナーグラフは、例えば図１６に示すように、検査行列Ｈの各列を下段の○印で示す各「変数ノード」ｘiに対応させ、各行を上段の□印で示す各「チェックノード」ｓjに対応させて、検査行列Ｈのｉ行ｊ列の成分が０と異なる値のとき（ｈij≠０）、変数ノードｘiとチェックノードｓjとを線（エッジ）で結ぶことで構成されるグラフである。例えば、この図１６に示す検査行列Ｈの第１行を例にとると、第１，２，３，４列がそれぞれ０と異なる値１であるから、検査行列Ｈの第１行に対応するチェックノードｓ0と各列に対応する変数ノードｘ0，ｘ1，ｘ2，ｘ3）とがそれぞれ線で結ばれている。【０００８】
復号処理においては、変数ノードｘiは、各符号ビットの状態（可能なビットの値に対しての確率）を示し、チェックノードｓjは、それにエッジにより直接につながる変数ノードがパリティ関係式で加算され結果が０となることを意味している。パリティチェック関係式のうち1つの変数に着目して、残りの変数をこの変数のビットを推定するための前提条件とすることで、現在の各ビットに対しての確率から着目している変数ノードが各ビットの値を取る確率を推定できる。この操作をグラフ上では各変数ノードの現在の状態からエッジを通して信頼度情報が伝播するものと図式的に解釈することができる。【０００９】
(D)ＩＲＡ符号
ＩＲＡ符号の符号器の一例を図１５に示す。この図１５に示すように、ＩＲＡ符号器では、入力されるＫ個の情報ビットのそれぞれについて、指定の繰り返し回数だけ繰り返し符号器１０１によって繰り返し符号化を行ない、Ｅ個（Ｅは正の整数）のビット列を生成する。なお、繰り返し回数の分布関数はｆjで与えられ、それぞれは一般に異なっていてもよい。即ち、繰り返し符号器（可変回数ビット繰り返し部）１０１は、例えば図１１に示すように、分布関数ｆj（ｊ＝１，…，ｊmax）を満たすように各ビット毎に指定される繰り返し回数（＝ｑ0，ｑ1，…，ｑK-1）だけ入力情報ビット（ｕ0，ｕ1，…，ｕK-1）のそれぞれをコピーする指定回数コピー回路１０１０と、この指定回数コピー回路１０１０のパラレル出力をシリアル変換して出力するパラレル／シリアル（Ｐ／Ｓ）変換回路１０１１とをそなえて構成される。なお、ｆjと（ｑ0，ｑ1，…，ｑK-1）の関係は、Ｋ個の入力ビットのうちｑ回繰り返すビットの数の「割合」がｆqだけある、ということである。すなわち、（ｑ0，ｑ1，…，ｑK-1）のうち、Nj＝Int（K・ｆj）個のｑがｊに等しい値を与えられていることを意味する。【００１０】
そして、このビット列をインターリーバ１０２でインターリーブして順序の置換を行ない得られたビット列を加算回路１０３にて先頭からａ個（ａは正の整数）ごとに加算していく。即ち、ラッチ１３２で前回の加算器１３１による加算結果を保持しつつ、その前回の加算結果を現在の入力値に累積加算し、ａ個ずつの加算タイミングに従ってスイッチ１３３を閉（ＯＮ）状態に制御することにより、Ｍ個の符号ビット列を出力する。【００１１】
この加算結果をＭ回累積加算回路１０４（加算器１４１及びラッチ１４２）によりさらにＭ回累積加算して、それぞれのタイミングでの加算結果をＭ個の符号ビット（パリティビット）列として出力する。すなわち、ａ個ごとの加算結果のビットベクトルをｘ＝（ｘ0，ｘ1，…，ｘM-1）として、符号ビットベクトルをｐ＝（ｐ0，ｐ1，…，ｐM-1）とすると、以下のような関係式(1.4)，(1.5)になる。【００１２】
ｐ0＝ｘ0  …(1.4)
ｐi＝ｐi-1＋ｘi  （ｉ＝１，…，Ｍ−１）  …(1.5)
図１７に、この符号に対応するタナーグラフを示す。これからＭ個の符号ビット（ｐ0，ｐ1，…，ｐM-1）をパリティビットとして、Ｋ個の情報ビット（ｕ0，ｕ1，…，ｕK-1）とシリアルに並べたＮ（＝Ｋ＋Ｍ）個のビット列を符号ビットとする組織符号化したＩＲＡ符号は、前記イレギュラーＬＤＰＣ符号の一種で、その定義の検査行列Ｈがもともと三角化されており符号化処理時間が符号長Ｎに比例する線形時間Ｏ（Ｎ）で完了するように工夫された符号であると解釈することもできる（例えば、後記の非特許文献１参照）。【００１３】
すなわち、上記累積加算の式は各変数の値がビットであることを考慮すると（ビットの足し算と引き算結果は同じであるから）、下記(1.6)式及び(1.7)式に示すように変形できる。
ｐ0＋ｘ0＝０  …(1.6)
ｐi＋ｐi-1＋ｘi＝０  （ｉ＝１，…，Ｍ−１）  …(1.7)
これは、各ｘiは入力情報ビットｕiのａ個の加算結果であることから、これを代入すると、符号ビットｃ＝（ｃ0，…，ｃN-1）＝（ｕ0，…，ｕK-1，ｐ0，…，ｐM-1）に対してのパリティチェック関係式として解釈できる。【００１４】
上記インターリーバは、符号の特性上、単純なブロックインターリーバのような単純な構成のインターリーバを用いるのは適切ではなく、もともと近い順番のビット同士をインターリーブ後にそれぞれなるべく遠くなるように配置することが望ましい。完全にランダムなインターリーバでは、もともと近い順番のビット同士をインターリーブ後にも近い位置に配置することも一様の確率で許すことになるので適していない。【００１５】
そこで、上記の条件を付けて、ランダムに生成できるインターリーバ（以下、「条件付ランダムインターリーバ」と呼ぶ）としてS-Randomインターリーバやその拡張版であるHigh Spread Randomインターリーバ（例えば、後記の非特許文献２参照）が知られている。これに対して、擬似乱数を用いず構成的に（すなわち、数学的なアルゴリズムで）置換先の順番を特定できる方法として、３ＧＰＰ（Third Generation Partnership Project）W-CDMA移動通信システムで仕様化されているターボ符号の内部インターリーバとして採用されているPrime Interleaver（ＰＩＬ）などがある（以下、「構成的ランダムインターリーバ」と呼ぶ。例えば、後記の非特許文献３参照）。【００１６】
(E)ＩＲＡ符号に関係する符号
(1)繰り返し数が固定（ｆq＝１，ｆj＝０；ｊ≠ｑ）でａ＝１のときはＲＡ符号となる（例えば、後記の非特許文献４参照）。この場合のＲＡ符号器は、例えば図１４に示すように、Ｋ個の情報ビットのそれぞれを固定の繰り返し数ｑずつコピー出力するｑ回ビット繰り返し部１０１ａと、その出力をインターリーブするインターリーバ１０２ａと、その出力をＭ回累積加算してパリティビットを出力するＭ回累積加算部１０４（加算器１４１及びラッチ１４２）とをそなえて構成される。【００１７】
(2)ＩＲＡ符号に対して、インターリーブ後の加算処理において加算ブロック毎にそのサイズを変えることができる。これを本明細書では「拡張ＩＲＡ（Extended IRA）符号」と呼ぶ（例えば、後記の非特許文献５参照）。
(3)この拡張ＩＲＡ符号において、繰り返し数を固定するときは特に「拡張ＲＡ符号」と呼ぶ。【００１８】
(4)累積加算処理を一般化して符号化率＝１のフィードバックがある畳み込み符号器を用いることもできる。このような符号を本明細書では「一般化ＩＲＡ符号」と呼ぶ。累積加算以外のフィードバックのある畳み込み符号器の例を図１３に示す。この図１３に示す畳み込み符号器１０４ａは、４つの加算器１４１，１４３，１４５，１４７と３つのラッチ１４２，１４４，１４６とをそなえて構成され、入力ビットベクトルをｘ＝（ｘ0，ｘ1，…，ｘM-1）として、出力ビットをパリティビットｐ＝（ｐ0，ｐ1，…，ｐM-1）とすると、下記(1.8)式に示すような関係式を満足する。【００１９】
ｘi-3＋ｘi-1＋ｘi＋ｐi-3＋ｐi-2＋ｐi＝０  …(1.8)
ただし、ｉ＝０，１，…，Ｍ−１で、ｘi＝ｐi＝０，ｉ＜０である。
(5)上記符号を総称するとき本明細書では「一般化拡張ＩＲＡ符号」と呼ぶ。最も一般的な場合は、図１０に示す構成である。即ち、異なる２つ以上の繰り返し数ｑiをもつ可変回数ビット繰り返し部１０１（内部構成は例えば図１１参照）と、異なる２つ以上の加算サイズａiをもつ可変数加算部１０３ａ（内部構成は例えば図１２参照）とを用いるとともに、加算ブロック数Ｍ０はＭと異なり、符号化率が１と異なる（Ｒ０＝Ｍ０／Ｍ）フィードバック付きの畳み込み符号器１０４ａ（内部構成は例えば図１３参照）を用いる場合である。なお、図１２に示す可変数加算部１０３ａは、異なる加算ブロックサイズ（ａ0，ａ1，…，ａM-1）の加算タイミング毎に、０クリア回路１３５によりラッチ１３２に保持されているビット値を０にクリアするとともに、スイッチ１３３をスイッチ開閉回路１３４によってＯＮ状態に制御することによって、可変の加算ブロックサイズ毎の加算処理を実現している。【００２０】
しかしながら、上述したような従来の符号化方式、特に、ＬＤＰＣ符号の一種であるＩＲＡ符号の符号化方式では、次のような課題がある。
(a)ＩＲＡ符号で用いるインターリーバのサイズはＥ＝Ｍａで、ａは高々１桁の値を取るのが一般的だがパリティビット数Ｍは典型的に数千から数万の大きい値となり、サイズＥは大きな値になる。大きなサイズの条件付ランダムインターリーバでは生成にＥ2に比例したＯ（Ｅ2）の処理時間がかかり、構成的ランダムインターリーバでもＯ（Ｅ）の処理時間がかかる。【００２１】
(b)これを避けるために、予め生成したマッピングテーブル（インターリーブパターンテーブル）を用意する場合には、Ｅに比例したＯ（Ｅ）のサイズのメモリを必要とするが、移動通信システムのように、複数のフォーマットの符号を適応的に用いる場合にはそれぞれのマッピングテーブルが必要となるためそれだけメモリ量も大きくなってしまう。
本発明は、このような課題に鑑み創案されたもので、特性を劣化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を小さくできるようにした、符号化装置を提供することを目的とする。
【非特許文献１】H. Jin, A. Khandeker, and R.McEliece,“Irregular repeat-accumulate codes,” in Proc. 2nd. Int. Symp. Turbo Codes and Related Topics, Brest France, pp. 1-8, Sept. 2000.
【非特許文献２】H. Crozier, “New High-Spread High-Distance Interleavers for Turbo-Codes”, Proceedings of the 20th Biennial Symposium on Communications, Queen's University, Kingston, Ontario, Canada, pp. 3-7, May 28-31, 2000.
【非特許文献３】Third Generation Partnership Project (3GPP), “Multiplexing and Channel Coding (Frequency Division Duplex Mode)”, Technical Specification 25.212, V5.9.0(2004-06).
【非特許文献４】D. Divsalar, H.Jin, and R. J. McEliece, “Coding theorems for ‘turbo-like’ codes,” pp. 201-210 in Proc. 36th Allerton Conf. on Communication, Control, and Computing.(Allerton, Illinois, Sept. 1998).
【非特許文献５】M. Yang, W. E. Ryan, and Y. Li, “Design of Efficiently Encodable Moderate-Length High-Rate Irregular LDPC Codes,” IEEE Trans. on Commun. vol. 52 no. 4, pp.564-571. Apr. 2004.
【発明の開示】
【００２２】
上記の目的を達成するために、本発明の符号化装置は、
（１）Ｋ個の情報要素からインターリーブ処理を用いてＭ個のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズＮ＝Ｋ＋Ｍの符号を生成する装置であって、前記Ｋ個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化部と、該繰り返し符号化部による繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするインターリーブ処理部と、上記部分インターリーブ後の異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算部と、該加算部による加算結果について畳み込み符号化を施してＭ個の前記パリティ符号を出力する畳み込み符号化部とをそなえたことを特徴としている。
【００２３】
（２）ここで、前記繰り返し符号化結果をＥ個、該加算部でのｉ番目の前記加算ブロックの前記指定サイズをａi（ｉ＝０，…，Ｍ−１）、前記加算ブロックの最大サイズをａmax、前記パリティ符号数Ｍ以下の正の整数をＭi（ｉ＝０，…，ａmax−１）としたときに、該インタリーブ処理部は、下記(4.1)式を満足する各サイズａmaxの前記部分インターリーブブロック毎に前記部分インターリーブを施すべく構成されるとともに、該加算部は、前記各加算ブロックの上記指定サイズａi分だけ、それぞれ、前記部分インターリーブ後の前記各部分インターリーブブロックの先頭から１つずつ前記部分インターリーブ結果を選択して加算すべく構成してもよい。
【００２４】
【数１】
0004357561.tif 000002
【００２５】
（３）また、該インターリーブ処理部は、前記各部分インターリーブブロックに共通であって、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施す共通部分インターリーバをそなえ、該加算部は、該共通部分インターリーバによる逐次的な部分インターリーブの結果を逐次的に加算すべく構成してもよい。
（４）さらに、前記指定サイズａiは一定でもよい。
【００２６】
（５）また、前記繰り返し符号化結果が、第１及び第２の部分インターリーブブロックにｍ０個及びｍ１個に分かれて属する場合に、前記第１の部分インターリーブブロックについての前記部分インターリーブにより上記ｍ０個の繰り返し符号化結果について定まる位置を避けて、上記ｍ１個の繰り返し符号化結果の前記第２の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第２のインターリーブブロックの上記ｍ１個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されていてもよい。
【００２７】
（６）さらに、該繰り返し符号化部は、前記Ｋ個の情報要素のそれぞれについての前記繰り返し回数分の繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに属するように前記繰り返し符号化結果を該インターリーブ処理部へ出力すべく構成されていてもよい。
（７）この場合、前記繰り返し符号化結果をＥ個、該繰り返し符号化部での前記繰り返し回数をｑi（ｉ＝０，…，K−１）、その最大値をｑmaxとしたときに、該繰り返し符号化部は、前記繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに分配されるよう前記繰り返し符号化結果をｑmax個のブロックであってそれぞれのブロックサイズが下記の(4.2)式を満足するＫ以下の正の整数Ｋi（ｉ＝０，…，ｑmax−１）であるブロック単位で該インターリーブ処理部へ出力すべく構成されるとともに、該インターリーブ処理部は、上記各ブロックについてサイズＫiの部分インターリーブを施すべく構成してもよい。
【００２８】
【数２】
0004357561.tif 000003
【００２９】
（８）また、前記ｑiは一定でもよい。
（９）さらに、前記加算ブロックに含まれる前記繰り返し符号化結果が、第１及び第２の部分インターリーブブロックにそれぞれｋ０個及びｋ１個に分かれて属する場合に、前記ｋ０個の繰り返し符号化結果について前記部分インターリーブにより定まる位置を避けて、上記ｋ１個の繰り返し符号化結果が属する前記第２の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第２のインターリーブブロックの上記ｋ１個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されていてもよい。
【００３０】
（１０）また、該インターリーブ処理部は、前記部分インターリーブブロックに属する前記繰り返し符号化結果を所定の書き込み順序で保持するメモリと、前記インターリーブパターンに従って該書き込み順序とは異なる読み出し順序で前記繰り返し符号化結果を読み出すことにより前記部分インターリーブを施す読み出し制御部と、該メモリに保持される異なる部分インターリーブブロック毎に異なるインターリーブパターンを生成して該読み出し制御部へ与えるインターリーブパターン制御部とをそなえていてもよい。
【００３１】
（１１）さらに、該インターリーブパターン制御部は、上記異なるインターリーブパターンを該読み出し制御部で他の異なる部分インターリーブブロックについて使用したインターリーブパターンに対して所定の置換処理を行なって生成するインターリーブパターン置換生成部をそなえていてもよい。
（１２）また、本発明の符号化方法は、Ｋ個の情報要素からインターリーブ処理を用いてＭ個のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズＮ＝Ｋ＋Ｍの符号を生成する方法であって、前記Ｋ個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化過程と、その繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブする部分インターリーブ過程と、その結果について、異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算過程と、その加算結果について畳み込み符号化を施してＭ個の前記パリティ符号を出力する畳み込み符号化過程とを有することを特徴としている。
【００３２】
（１３）ここで、上記部分インターリーブ過程において、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施し、上記加算過程において、上記逐次的な部分インターリーブの結果を逐次的に加算してもよい。
上記本発明によれば、以下の効果ないし利点が得られる。
(a)ＩＲＡ符号やＲＡ符号をはじめとするランダムなインターリーブ処理を用いる符号化法により定義される符号において、インターリーバを分割処理することで、特性を劣化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を分割数に従って小さくすることができる。
【００３３】
(b)１つの部分インターリーバを複数の部分インターリーブブロックに対して逐次的に適用して、各段階でビット加算を同時に実行する構成とすれば、インターリーブ結果の読み出しインデックスを保持するメモリを各部分インターリーブブロックで共有することができ、大きなサイズ（Ｅ個）のビットに対して一度にインターリーブを適用する場合に比して、メモリサイズを大幅に削減することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１実施形態としてのＩＲＡ符号器（符号化装置）の要部構成を示すブロック図である。
【図２】図１に示すインターリーブ処理部及び加算部の構成例を示すブロック図である。
【図３】図１に示すＩＲＡ符号器でのタナーグラフである。
【図４】第１実施形態の変形例に係るＩＲＡ符号器のタナーグラフである。
【図５】本発明の第２実施形態としてのＲＡ符号器（符号化装置）の要部構成を示すブロック図である。
【図６】図５に示すインターリーブ処理部及び加算部の構成例を示すブロック図である。
【図７】図５に示すＲＡ符号器でのタナーグラフである。
【図８】第２実施形態の変形例に係るＲＡ符号器でのタナーグラフである。
【図９】第１実施形態におけるインターリーブパターン生成処理を説明すべくインターリーブパターン制御部の構成例を示すブロック図である。
【図１０】従来の一般化拡張ＩＲＡ符号器の構成例を示すブロック図である。
【図１１】図１０及び図１５に示す繰り返し符号器（可変回数ビット繰り返し部）の内部構成例を示すブロック図である。
【図１２】図１０に示す可変数加算部の内部構成例を示すブロック図である。
【図１３】図１０に示すフィードバック付きの畳み込み符号器の内部構成例を示すブロック図である。
【図１４】従来のＲＡ符号器の構成例を示すブロック図である。
【図１５】従来のＩＲＡ符号器の構成例を示すブロック図である。
【図１６】タナーグラフを説明するための図である。
【図１７】ＩＲＡ符号のタナーグラフである。
【発明を実施するための最良の形態】
【００３５】
以下、図面を参照して本発明の実施の形態を説明する。
〔Ａ〕第１実施形態の説明
図１は本発明の第１実施形態としてのＩＲＡ符号器（符号化装置）の要部構成を示すブロック図で、この図１に示すＩＲＡ符号器１は、Ｋ個（Ｋは正の整数）の情報ビットからＭ個（Ｍは正の整数）のパリティビットを生成し、Ｋ個の情報ビットと合わせてサイズＮ（＝Ｋ＋Ｍ）の符号ビットを生成するものであって、繰り返し符号器（可変回数ビット繰り返し部）２，シリアル／パラレル（Ｓ／Ｐ）変換部３，ａ個（ａは正の整数）の部分インターリーバ（第０〜第ａ−１インターリーバ）４−０〜４−（ａ−１）を有するインターリーブ処理部４，パラレル／シリアル変換部５，加算部（ａ回加算部）６及びＭ回累積加算部７をそなえて構成されている。【００３６】
ここで、可変回数ビット繰り返し部２は、Ｋ個の入力情報ビット（情報要素）のそれぞれについて指定の繰り返し回数（可変）分の繰り返し符号（ビット）を生成してその結果としてＥ個（Ｅは正の整数）の繰り返し符号を出力するもので、例えば、ｊ個（ｊは正の整数）の繰り返しビットを生成するビットの数Ｎj（ｊ＝１，…，ｊmax）は、分布関数（回数分布ともいう）ｆj（ｊ＝１，…，ｊmax）からＮj＝Int（Ｋ・ｆj）により与えられる。ただし、下記の(2.1)及び(2.2)式を満たすように各Ｎjを調整する。【００３７】
【数３】
0004357561.tif 000004
【００３８】
【数４】
0004357561.tif 000005
【００３９】
このとき、可変回数ビット繰り返し部２は、Ｎjが０と異なるｊの組み合わせを昇順に並べたものを（ｊ0，…，ｊF-1）として、最初のＮc（ｃ＝ｊ0）個のビットをｊ0回繰り返し、次のＮt（ｔ＝ｊ1）個をｊ1個繰り返し、以降、ｊF-1＝ｊmaxまで続ける。このようにして得られたビットをシリアルに並べることで繰り返し符号の出力ビットとする。なお、この機能は、例えば図１により前述したごとく、入力された情報ビットのそれぞれを上記分布関数ｆjにより指定された繰り返し数だけコピーしてパラレル出力する指定回数コピー回路と、このパラレル出力をシリアル化するＰ／Ｓ変換回路とを用いて実現することができる。【００４０】
Ｓ／Ｐ変換部３は、上記可変回数ビット繰り返し部２により得られたシリアル出力（Ｅ個の繰り返し符号）をパラレル変換してＭ個ずつａ個のブロック（部分インターリーブブロック）に分けて出力するものである。
インターリーブ処理部４は、上記繰り返し符号化結果をａ個の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするもので、このために、各部分インターリーバ４−ｉ（ｉ＝０，…，ａ−１）によって、それぞれ、上記Ｓ／Ｐ変換部３から入力される部分インターリーブブロックのＭ個の繰り返し符号を互いに異なるインターリーブパターン（置換パターン）に従ってインターリーブするようになっている。各部分インターリーバ４−ｉには、例えば、既述のS-Randomインターリーバやその拡張版であるHigh Spread Randomインターリーバ等の条件付ランダムインターリーバを適用する。もっとも、既述のＰＩＬ等の構成的ランダムインターリーバを適用することも可能である。なお、部分インターリーバ４−ｉ毎に異なるインターリーブパターンは、例えば擬似乱数関数のシードを変更することで得ることができ、詳細については後述する。【００４１】
Ｐ／Ｓ変換部５は、上記各部分インターリーバ４−ｉの出力をシリアルに変換してＥ個のビット（インターリーブ結果）を出力するものであり、ａ回加算部６は、この出力結果をａ個ずつ加算、即ち、各部分インターリーバ４−ｉによる各部分インターリーブブロックに対する部分インターリーブ結果の先頭から順にａ個ずつ加算するものである。より詳細には、ｉ番目の部分インターリーバ４−ｉのｊ番目の読み出しインデックス（元のビットの位置）をｒi,jとすると、ｒ0,0，ｒ1,0，…，ｒa-1,0，ｒ0,1，ｒ1,1，…という順にシリアルにａ個ずつ加算しＭ個のビットを生成するようになっている。【００４２】
このため、ａ回加算部６は、加算器６１，ラッチ６２及びスイッチ６３をそなえて構成され、ラッチ６２に保持された前回の加算器６１による加算結果を今回の入力に加算器６１で加算することにより累積加算を行ない、ａ回加算完了時点でスイッチ６３をＯＮ状態とすることにより、ａ回加算結果を出力するようになっている。ただし、このａ回加算処理を行なうのに、本実施形態では、Ｅ個の読み出しインデックスを一時保存することを避けるため、ａ個の部分インターリーバ４−ｉを１つずつ逐次（時分割に）実行することで、Ｍ個の読み出しインデックスを一時保存するメモリを共有して使用する。【００４３】
即ち、例えば図２に示すように、部分インターリーバ４−ｉは、書き込みスイッチ４０，繰り返し符号一時保存メモリ４１，読み出し相対位置メモリ４２，インターリーブパターン生成部４３及びタイミングカウンタ４４をそなえて構成し、ａ回加算部６は、Ｍ組の加算器６１，ラッチ６２及びスイッチ６３をパラレルにそなえるとともに、Ｐ／Ｓ変換部６４をそなえて構成する。【００４４】
ここで、書き込みスイッチ４０は、繰り返し符号一時保存メモリ４１への繰り返し符号の書き込みをＯＮ／ＯＦＦするものであり、繰り返し符号一時保存メモリ４１は、この書き込みスイッチ４０がＯＮ状態となることにより入力されるＭ個の繰り返し符号（つまり、１つの部分インターリーブブロックに属する繰り返し符号）を保持するものであり、読み出し相対位置メモリ（読み出し制御部）４２は、インターリーブパターン生成部４３から与えれるインターリーブパターンに従って上記繰り返し符号一時保存メモリ４１から読み出すべき繰り返し符号のアドレス（読み出しインデックス）をＭ個分順次指定することにより、当該メモリ４１への書き込み順序とは異なる順序で繰り返し符号を読み出してＭ個の繰り返し符号に対する部分インターリーブを実行するものである。【００４５】
インターリーブパターン生成部４３は、タイミングカウンタ４４から与えられる更新タイミング毎に異なるインターリーブパターンを読み出し相対位置メモリ４２に与えて上記読み出し順序を変更するものであり、タイミングカウンタ４４は、繰り返し符号一時保存メモリ４１への書き込み（更新）タイミングと、インターリーブパターン生成部４３での異なるインターリーブパターンの更新タイミングとをａ回分それぞれ出力するもので、これにより、上記読み出し後に次の部分インターリーブブロックに属するＭ個の繰り返し符号が繰り返し符号一時保存メモリ４１に書き込まれるとともに、当該部分インターリーブブロックのための異なるインターリーブパターンが読み出し相対位置メモリ４２に与えられ、以降、同様にすべての部分インターリーブブロックについての部分インターリーブが完了するまで、順次、繰り返し符号一時保存メモリ４１及び読み出し相対位置メモリ４２の内容が更新されるようになっている。【００４６】
つまり、上記のインターリーブパターン生成部４３及びタイミングカウンタ４４は、異なる部分インターリーブブロック毎に異なるインターリーブパターンを生成して上記読み出し制御部としての読み出し相対位置メモリ４２へ与えるインターリーブパターン制御部４６として機能し、図１では、各部分インターリーバ４−ｉが並列に設けられて、部分インターリーブが同時並列的に行なわれる構成になっている（勿論、かかる構成も可能である）が、図２では、各部分インターリーブブロックに共通のインターリーバ（共通部分インターリーバ）４ａを用い、部分インターリーブ対象のブロックを逐次的に変更する構成をとることで、同等の処理を実現しているのである。【００４７】
一方、Ｍ個の加算器６１は、それぞれ、繰り返し符号一時保存メモリ４１から読み出されるＭ個のビットのいずれかと、対応するラッチ６２に保持されているビット（前回の加算結果）とを加算するものであり、Ｍ個のラッチ６２は、それぞれ、対応する加算器６１の加算結果を一時的に保持しつつそのビットを当該加算器６１にフィードバックするもので、これらＭ組の加算器６１及びラッチ６２によって、繰り返し符号一時保存メモリ４１に計ａ回書き込まれて当該メモリ４１から計ａ回読み出されるＭ個のビット、つまり、ａ個の部分インターリーブブロックの部分インターリーブ結果が逐次的にそれぞれ各加算器６１及びラッチ６２により累積加算されてゆくようになっている。【００４８】
Ｍ個のスイッチ６３は、それぞれ、ａ回加算が完了したタイミングでＯＮ状態に制御されることにより、その時点でラッチ６２に保持されているビット値（つまり、ａ回加算結果）をＰ／Ｓ変換部６４に出力するものであり、Ｐ／Ｓ変換部６４は、このようにして入力されるＭ個のａ回加算結果をシリアル変換して出力するものである。
以上の構成により、例えば、１番目の部分インターリーブブロックについて、読み出し相対位置メモリ４２のメモリアドレスの順番に、Ｍ個の加算結果を保持するブロック加算結果一時保存メモリ（Ｍ個のラッチ６２）にビット値が書き込まれ、次に、２番目の部分インターリーブブロックに対する部分インターリーブの読み出しインデックスを新たなインターリーブパターンから求めて、読み出し相対位置メモリ４２の内容を更新した上で、そのアドレス順に、ブロック加算結果一時保存メモリ６０（Ｍ個のラッチ６２）に保持されている同じアドレス（ラッチ６２の位置に相当）のビット（前回の加算結果）について、繰り返し符号一時保存メモリ４１における上記読み出しインデックスのビットが対応の加算器６１にて加算される。以降、同様に最後（ａ番目）の部分インターリーブブロックまで、Ｍ個の各ビットについての加算を行ない、各加算器６１においてａ回加算が完了した時点で各スイッチ６３がそれぞれＯＮ状態に制御されて、Ｍ個のａ回加算結果がＰ／Ｓ変換部６４にてシリアル変換されて出力される。【００４９】
つまり、１つの部分インターリーバ４ａをａ個の部分インターリーブブロック毎に逐次的に適用し、各段階でビット加算を同時に実行しておくのである。このようにすることで、読み出し相対位置メモリ４２を各部分インターリーブブロックに対して共有することが可能となる。
次に、Ｍ回累積加算部７は、上記ａ回加算部６の出力についてＭ回の累積加算を行なってＭ個のパリティビットを出力するもので、このために、加算器７１及びラッチ７２をそなえており、ラッチ７２に保持されている前回の加算結果を加算器７１にフィードバックして今回の入力（ａ回加算結果）に加算器７１で加算してゆくようになっている。例えば、上記のブロック加算結果一時保存メモリ６０のアドレス順にＭ個のａ回加算結果をｘ＝（ｘ0，…，ｘM-1）とすると、これから、下記(2.3)式及び(2.4)式に示す累積加算を行なうことで、Ｍ個のパリティビットｐ＝（ｐ0，…，ｐM-1）を求めるのである。ただし、下記の(2.4)式において、ｉ＝=１，…，Ｍ−１である。【００５０】
ｐ0＝ｘ0  …(2.3)
ｐi＝ｐi-1＋ｘi  …(2.4)
そして、得られたＭ個のパリティビットｐ＝（ｐ0，…，ｐM-1）をＫ個の情報ビットｕ＝（ｕ0，…，ｕK-1）とシリアルに結合することで、下記(2.5)式に示すように、組織符号化された符号ビットｃが得られる。【００５１】
ｃ＝（ｃ0，…，ｃN-1）＝（ｕ0，…，ｕK-1，ｐ0，…，ｐM-1）  …(2.5)
なお、図３に本例でのタナーグラフを示す。この図３に示すように、最下段の○印で示す変数ノード（ｕ0，…，ｕK-1）から各部分インターリーバ４−０〜４−（ａ−１）に対してＭ本ずつのエッジが引かれて、Ｅ個の繰り返し符号がＭ個ずつａ個のブロック（部分インターリーブブロック）に分割されて各部分インターリーバ４−ｉに入力されることが表され、□印で示す各チェックノード（ｓ0，…，ｓM-1）から各部分インターリーバ４−ｉに対して１本ずつ計ａ本のエッジが引かれて、各部分インターリーバ４−ｉの部分インターリーブ結果から１つずつ合計ａ個のビットが選択されて集められる（加算される）ことが表され、各チェックノード（ｓ0，…，ｓM-1）と、パリティビット（ｐ0，…，ｐM-1）に対応する変数ノード（最上段の○印）との間がジクザグ状にエッジで接続されることにより、上記Ｍ回の累積加算が表されている。【００５２】
以上のように、本実施形態のＩＲＡ符号器１によれば、可変回数ビット繰り返し部２の出力であるＥ個の繰り返し符号をＭ個ずつａ個のブロックに分け、それぞれのブロック（Ｍ個のビット）に対して異なるインターリーブパターンの部分インターリーブを適用し、それぞれの結果の先頭から順に１つずつ合計ａ個のビットを選択して加算（ａ回加算）し、さらに、その加算結果をＭ回累積加算することで、パリティビットを生成するので、次のような効果ないし利点が得られる。【００５３】
(1)１つの部分インターリーバ（条件付ランダムインターリーバ）４−ｉでの処理にかかる処理時間をＯ（Ｍ2）として、これを上述したごとく逐次的に行なうとしても、ブロック分割せずにインターリーブを実行する場合に比して１／ａの時間短縮となる。
(2)なお、部分インターリーバ４−ｉに既述の構成的ランダムインターリーバを適用した場合は、上記と同様に逐次的な部分インターリーブを行なえば処理時間は変わらなくなるが、部分インターリーバ４−ｉのそれぞれを並列処理することにすれば、処理時間は１／ａにすることができる。また、各部分インターリーバ（条件付ランダムインターリーバ）４を逐次的ではなく並列処理することにすれば、さらに処理時間を１／ａ2に短縮することが可能となる。【００５４】
(3)１つの部分インターリーバ４−ｉ（４ａ）をａ個のブロック毎に逐次的に適用し、各段階でビット加算を同時に実行しておくことで、インターリーブ結果の読み出しインデックスを保持するメモリ４２を各部分インターリーブブロックで共有することができ、大きなサイズ（Ｅ個）のビットに対して一度にインターリーブを適用する場合に比して、メモリサイズが１／ａで済むことになる。【００５５】
なお、上記の加算ブロックサイズ（ａ）は、より一般化して、可変（ａi：ｉ＝０，…，Ｍ−１）にしてもよい。この場合、「拡張ＩＲＡ符号」となる。即ち、可変加算処理のｉ番目の加算ブロックのサイズをａiとして、最大の加算ブロックサイズをａmax、パリティ符号数Ｍ以下の正の整数をＭi（ｉ＝０，…，ａmax−１）としたときに、インターリーブ処理部４は、下記（１）式を満足する各サイズａmaxの部分インターリーブブロック毎に部分インターリーブを施し、加算部６は、前記各加算ブロックの上記指定サイズａi分だけ、それぞれ、部分インターリーブ後の各部分インターリーブブロックの先頭から１つずつ部分インターリーブ結果を選択して加算することになる。【００５６】
また、さらに一般化して、Ｍ回累積加算部７に、フィードバック付きの畳み込み符号器を用いることもできる。この場合は「一般化拡張ＩＲＡ符号」となる。
（Ａ１）第１実施形態の変形例の説明
上述した例において、繰り返し符号が２つの部分インターリーブブロックにまたがってしまうような場合、次のような問題が生じる可能性がある。即ち、サイズＥのビット列に対して、インターリーバ（ランダムインターリーバでも、上記例の条件付ランダムインターリーバや構成的ランダムインターリーバでも）を無条件に適用する方法では、ある情報ビットの繰り返した結果である同じ値のビット同士が、インターリーブ後の同じブロックに属してしまい（これをブロック重複という）、情報を互いに相殺してしまう。【００５７】
これはタナーグラフでいうと、同じ変数ノードとチェックノードのペア同士を２度エッジで結ぶことに対応しており、ＬＤＰＣ符号として意図した符号とは異なる符号となってしまっている。ここで、「意図した符号」とは、パラメータ（ｆj，ａ）（ｊ＝２，…，ｊmax）によりウェイト分布が決まる検査行列で定義されるイレギュラーＬＤＰＣ符号のことである。【００５８】
またもし、意図した符号からの若干のずれを許容するとしても、たとえば、２ないし３回の繰り返し符号化された情報ビットに２重エッジが生じると０ないし１のエッジと等価となり、これは不適切な符号となる。０の場合は、情報ビットは軟判定符号に何ら関わりがなくなる。１の場合は、エッジでつながるノードから得られた信頼度情報をそのまま返すことしかできないため、他のビットに対して軟判定の効果を与えることができない。【００５９】
例えば、上述した第１実施形態（図２）において、入力情報ビットに対する繰り返し符号のビット列をシリアルに並べ、Ｍ個ずつａ個の部分インターリーブブロックに分割する際に、ある情報ビットの繰り返し符号は２つの部分インターリーブブロックに属する場合がある。ここで、情報ビットｕiはそれぞれｊ回繰り返すとして、ｍ０個（ｍ０は正の整数）が第１の部分インターリーブブロックに属し、残りのｍ１＝（ｊ−ｍ０）個（ｍ１は正の整数）が第２の部分インターリーブブロックに属しているとする。【００６０】
この場合に、第1の部分インターリーブブロックに対してサイズＭの部分インターリーブを実行すると、ｍ０個のビット列についての読み出し位置（相対インデックス）が決まるので、この読み出し位置を保存しておく。そして、第２の部分インターリーブブロックについての部分インターリーブを実行する前に、先頭の情報ビットｕiのｍ１個の繰り返し符号については、先ほど保存したｍ０個のビット列についての読み出し位置を避けて、当該ブロック内での相対的な読み出し位置を予め所定の方法で（例えば、ランダムに）定めておき、上記ｍ１個を除く残りの（Ｍ−ｍ１）個のビット列について部分インターリーブを行なう。第３以降の部分インターリーブブロックについても同様の処理を行なう。【００６１】
これにより、例えば図４に示すように、結果の符号のタナーグラフにおいて、同じノードのペアが２重にエッジで結ばれること（つまり、ブロック重複）を避けることができ（符号８０参照）、結果として、「意図しない符号」の生成を回避して、特性劣化を回避することができる。
〔Ｂ〕第２実施形態の説明
図５は本発明の第２実施形態としてのＲＡ符号器（符号化装置）の要部構成を示すブロック図で、この図５に示すＲＡ符号器１Ａは、拡張ＲＡ符号によりＫ個の情報ビットからＭ個のパリティビットを生成し、Ｋ個の情報ビットと合わせてサイズＮ＝Ｋ＋Ｍの符号ビットの生成を行なうもので、例えば、繰り返し符号器（ｑ回ビット繰り返し部）２Ａ，シリアル／パラレル（Ｓ／Ｐ）変換部３Ａ，ｑ個の部分インターリーバ（第０〜第ｑ−１インターリーバ）４Ａ−０〜４Ａ−（ｑ−１）を有するインターリーブ処理部４Ａ，パラレル／シリアル（Ｐ／Ｓ）変換部５Ａ，可変回加算部６Ａ，Ｍ回累積加算部７及び可変回加算制御部８をそなえて構成されている。【００６２】
ここで、ｑ回ビット繰り返し部２Ａは、Ｋ個の入力情報ビットを全て一定の数（指定の繰り返し回数）ｑ（ｑは正の整数）で繰り返し符号化するものであり、Ｓ／Ｐ変換部３Ａは、このｑ回ビット繰り返し部２Ａの出力をＳ／Ｐ変換することによりＫ個ずつのｑ組のブロックに分けて出力するもので、具体的には、繰り返しビットのそれぞれを順に別のビットのブロックにシーケンシャルに配置するようになっている。即ち、Ｋ個の情報ビットのｑ組のコピーを生成してそれぞれを部分インターリーバ４Ａ−ｔ（ｔ＝０，…，ｑ−１）に入力するようになっている。【００６３】
インターリーブ処理部４Ａは、ｑ回ビット繰り返し部２Ａによる繰り返し符号化結果をｑ個の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするもので、このために、各部分インターリーバ４Ａ−ｔによって、それぞれ、上記Ｋ個の情報ビットについてサイズＫの部分インターリーブ（ランダムインターリーブ、あるいは条件付ランダムインターリーブ、もしくは構成的ランダムインターリーブ）を施すようになっている。【００６４】
Ｐ／Ｓ変換部５Ａは、これらの部分インターリーバ４Ａ−ｔの出力（インターリーブ結果）をシリアル変換して出力するものであり、可変回加算部６Ａは、上記インターリーブ結果について指定（可変）の加算数（加算ブロックサイズ）ａi（ｉ＝０，…，Ｍ−１）毎に累積加算を行なうもので、加算器６１，ラッチ６２及びスイッチ６３をそなえ、加算ブロックサイズａiの加算タイミング毎に、０クリア回路８１によりラッチ６２に保持されているビット値が０にクリアされるとともに、スイッチ６３がスイッチ開閉回路８２によってＯＮ状態に制御されることによって、可変の加算ブロックサイズａi毎の加算処理を実現できるようにしている。【００６５】
ただし、この可変回加算処理を行なうのに、本実施形態でも、ｑ個の部分インターリーバ４Ａ−ｔを１つずつ逐次（時分割に）実行することで、Ｋ個の読み出しインデックスを一時保存するメモリを共有して使用する。
即ち、例えば図６に示すように、部分インターリーバ４Ａ−ｋは、繰り返し符号一時保存メモリ４１Ａ，読み出し相対位置メモリ４２Ａ，インターリーブパターン生成部４３Ａ及びタイミングカウンタ４４Ａをそなえて構成し、加算部６Ａは、加算ブロック毎の加算器６１Ａをパラレルにそなえるとともに、加算器６１Ｂ，ラッチ（残りビット一時メモリ）６５及びＰ／Ｓ変換部６４をそなえて構成する。【００６６】
ここで、繰り返し符号一時保存メモリ４１Ａは、Ｋ個の繰り返し符号化結果である情報ビット（ｕ0〜ｕK-1）を保持するものであり、読み出し相対位置メモリ４２Ａは、インターリーブパターン生成部４３Ａから与えれるインターリーブパターンに従って上記繰り返し符号一時保存メモリ４１Ａから読み出すべき情報ビット（繰り返し符号）のアドレス（読み出しインデックス）をＫ個分順次指定することにより、当該メモリ４１Ａへの書き込み順序とは異なる順序で繰り返し符号を読み出してＫ個の繰り返し符号に対する部分インターリーブを実行するものである。【００６７】
インターリーブパターン生成部４３Ａは、タイミングカウンタ４４Ａから与えられるタイミング毎に異なるインターリーブパターンを読み出し相対位置メモリ４２Ａに与えて上記読み出し順序を変更するものであり、タイミングカウンタ４４Ａは、インターリーブパターン生成部４４Ａでの異なるインターリーブパターンの更新タイミングとをｑ回分出力するもので、これにより、次の部分インターリーブブロックのための異なるインターリーブパターンが読み出し相対位置メモリ４２Ａに与えられ、以降、同様にすべて（ｑ組）の部分インターリーブブロックについての部分インターリーブが完了するまで、順次、読み出し相対位置メモリ４２Ａの内容が更新されるようになっている。【００６８】
つまり、図５では、インターリーブ処理部４Ａとして、各部分インターリーバ４Ａ−ｔが並列に設けられて、部分インターリーブが同時並列的に行なわれる構成になっている（勿論、かかる構成も可能である）が、図６では、各部分インターリーブブロックに共通のインターリーバ（共通部分インターリーバ）４ｂを用い、部分インターリーブ対象のブロックを逐次的に変更する構成をとることで、同等の処理を実現しているのである。また、本例の場合は、Ｋ個の情報ビットのｑ組のコピーを生成してｑ組の部分インターリーブブロックを生成すればよいので、繰り返し符号一時メモリ４１ＡにはＫ個の情報ビットを一度だけ書き込んでおけば、そのＫ個の情報ビットを継続使用してｑ回逐次的に部分インターリーブを実行すればよいことになる。換言すれば、繰り返し符号一時メモリ４１Ａは、図５に示すｑ回ビット繰り返し部２Ａ及びＳ／Ｐ変換部３Ａとしての機能を果たしているのである。【００６９】
一方、各加算器６１Ａは、それぞれ、加算ブロックに対応しており、ｑ回逐次的に実行される部分インターリーブの過程で、繰り返し符号一時メモリ４１Ａから読み出し相対位置メモリ４２Ａにより指定されるアドレス（つまりは、異なるインターリーブパターン）に従って読み出されて同じ加算ブロックに属すべき情報ビット（繰り返し符号）同士を加算するものである。【００７０】
加算器６１Ｂは、Ｅ（＝ｑ×Ｋ）個の情報ビットを上記加算ブロックに分割することで生じる余りビット（ｋ０個）について加算を行なうものであり、ラッチ６５は、その加算結果を一時的に保持するもので、当該加算結果は、最終的に、例えばｋ０個の余りビットを除いたサイズ（ａi−ｋ０）の加算ブロックに対応する（図６の最上段に位置する）加算器６１Ａで他の（ａi−ｋ０）個の情報ビットとともに加算されるようになっている。Ｐ／Ｓ変換部６４は、上記各加算器６１Ａによる加算結果をシリアル変換してＭ個のビットを出力するものである。【００７１】
ただし、この例では、エッジの数ＥはＫで割り切れるので、厳密にＫ個ごとｑ組のビットの組に分けることができる。この時点ではビットに「余り」はない。ｋ０個のビットが余るのは、インターリーブ後の出力を先頭から順に指定の加算ブロック数（ａ0，…，ａM-1）に従ってブロック毎に加算してゆくとき、加算するビットの組が第１インターリーバと第２インターリーバとにまたがってしまうことを意味している。【００７２】
つまり、本例の場合は、加算器６１Ａ及び加算器６１Ｂが図５に示す加算器６１としての機能を果たし、ラッチ６５及び繰り返し符号一時保存メモリ４１Ａが図１に示すラッチ６２としての機能を果たし、タイミングカウンタ４４Ａ，インターリーブパターン生成部４３Ａ及び読み出し相対位置メモリ４２Ａが、図１に示すスイッチ６３及び可変回加算制御部８（０クリア回路８１，スイッチ開閉回路８２）としての機能を果たしていることになる。【００７３】
即ち、k個の加算数を取る加算ブロックの数Ｖk（ｋ＝１，…，ｋmax）は、分布関数ｇk（ｋ＝１，…，ｋmax）からＶk＝Int（Ｍ・ｇk）により与えられるものとする。ただし、下記の(3.1)及び(3.2)式を満たすように各Ｖkを調整する。【００７４】
【数５】
0004357561.tif 000006
【００７５】
【数６】
0004357561.tif 000007
【００７６】
このとき、Vkが０と異なるkの組み合わせを昇順に並べたものを（ｋ0，…，ｋG-1）として、最初のＶx（ｘ＝ｋ0）個のビットをｋ0回繰り返し、次のＶy（ｙ＝ｋ1）個をｋ1個繰り返し、以下、ｋG-1＝ｋmaxまで続ける。
Ｍ回累積加算部７は、第１実施形態にて前述したものと同様のもので、上記可変回加算部６Ａの出力についてＭ回の累積加算を行なってＭ個のパリティビットを出力するもので、本例においても、ラッチ７２に保持されている前回の加算結果を加算器７１にフィードバックして今回の入力（ａi回加算結果）に加算器７１で加算してゆく。【００７７】
即ち、加算結果をｘ＝（ｘ0，…，ｘM-1）とすると、これから、さらに下記(3.3)式及び(3.4)式に示すように累積加算を行ない、パリティビットｐ＝（ｐ0，…，ｐM-1）を求める。
ｐ0＝ｘ0  …(3.3)
ｐi＝ｐi-1＋ｘi  （ｉ＝１，…，Ｍ−１）…(3.4)
得られたパリティビットｐ＝（ｐ0，…，ｐM-1）を情報ビットｕ＝（ｕ0，…，ｕK-1）とシリアルに結合することで、下記(3.5)式で示すように、組織符号化された符号ビットｃが得られる。【００７８】
ｃ＝（ｃ0，…，ｃN-1）＝（ｕ0，…，ｕK-1，ｐ0，…，ｐM-1）  …(3.5)
なお、図７に本例でのタナーグラフを示す。この図７に示すように、最下段の○印で示す変数ノード（ｕ0，…，ｕK-1）からそれぞれ異なる部分インターリーバ４Ａ−０〜４Ａ−（ｑ−１）に対して１本ずつエッジが引かれて、Ｅ＝ｑＫ個の情報ビット（繰り返し符号）がＫ個ずつｑ個のブロック（部分インターリーブブロック）に分割されて各部分インターリーバ４Ａ−ｔに入力されることが表され、□印で示す各チェックノード（ｓ0，…，ｓM-1）から各部分インターリーバ４Ａ−ｔに対してそれぞれａi本のエッジが引かれて、各部分インターリーバ４Ａ−ｔの部分インターリーブ結果がサイズａiの加算ブロック毎に加算されることが表され、各チェックノード（ｓ0，…，ｓM-1）と、パリティビット（ｐ0，…，ｐM-1）に対応する変数ノード（最上段の○印）との間がジクザグ状にエッジで接続されることにより、上記Ｍ回の累積加算が表されている。【００７９】
以上のように、本実施形態のＲＡ符号器１Ａによれば、可変回数ビット繰り返し部２Ａの出力であるＥ（＝ｑＫ）個の繰り返し符号をＫ個ずつｑ個のブロックに分け、それぞれのブロック（Ｋ個のビット）に対して異なるインターリーブパターンの部分インターリーブを適用し、そのインターリーブ結果について可変サイズａiの加算ブロック単位でビット加算し、さらに、その加算結果をＭ回累積加算することで、パリティビットを生成するので、第１実施形態と同様の効果ないし利点が得られる。即ち、
(1)１つの部分インターリーバ（条件付ランダムインターリーバ）４Ａ−ｔでの処理にかかる処理時間をＯ（K2）として、これを上述したごとく逐次的に行なうとしても、ブロック分割せずにインターリーブを実行する場合に比して１／ｑの時間短縮となる。【００８０】
(2)なお、部分インターリーバ４Ａ−ｔに既述の構成的ランダムインターリーバを適用した場合は、上記と同様に逐次的な部分インターリーブを行なえば処理時間は変わらなくなるが、部分インターリーバ４Ａ−ｔのそれぞれを並列処理することにすれば、処理時間は１／ｑにすることができる。また、各部分インターリーバ（条件付ランダムインターリーバ）４Ａ−ｔを逐次的ではなく並列処理することにすれば、さらに処理時間を１／ｑ2に短縮することが可能となる。【００８１】
(3)１つの部分インターリーバ４Ａ−ｔ（４ｂ）をｑ個のブロック毎に逐次的に適用し、各段階でビット加算を同時に実行しておくことで、インターリーブ結果の読み出しインデックスを保持するメモリ４２Ａを各部分インターリーブブロックで共有することができ、大きなサイズ（Ｅ個）のビットに対して一度にインターリーブを適用する場合に比して、メモリサイズが１／ｑで済むことになる。【００８２】
なお、上記繰り返し回数ｑは、より一般化して、可変（ｑi：ｉ＝０，…，ｑmax−１）（ｑmaxは最大値）にしてもよい（この場合、「拡張ＩＲＡ符号」となる）。即ち、情報ビット（繰り返し符号化結果）をＥ個、前記繰り返し回数をｑiとした場合、繰り返し符号化部２Ａは、繰り返し符号がそれぞれ異なる部分インターリーブブロックに分配されるよう繰り返し符号化結果をｑmax個のブロックであってそれぞれのブロックサイズが下記の(3.6)式を満足するＫ以下の正の整数Ｋi（ｉ＝０，…，ｑmax−１）であるブロック単位でインターリーブ処理部４Ａへ出力し、インターリーブ処理部４Ａは、上記各ブロックについてサイズＫiの部分インターリーブを施すことになる。【００８３】
【数７】
0004357561.tif 000008
【００８４】
また、本例でも、さらに一般化して、Ｍ回累積加算部７に、フィードバック付きの畳み込み符号器を用いることができる。この場合は「一般化（拡張）ＩＲＡ符号」となる。
（Ｂ１）第２実施形態の変形例の説明
上述した第２実施形態においても、第１実施形態の変形例と同様に、加算ブロックが、２つの部分インターリーブブロックにまたがってしまうことが起こるとする。例えば、第１の部分インターリーブブロックと第２の部分インターリーブブロックとにｋ番目の加算ブロックがまたがり、それぞれ、ｋ０個（ｋ０は正の整数）が第１の部分インターリーブブロックに属し、残りのｋ１個（ｋ１は正の整数）のビットが第２の部分インターリーブブロックに属するものとする。【００８５】
このような場合は、第１の部分インターリーブブロックについての部分インターリーブの結果として得られる、ｋ０個の当該ブロック内での相対的な読み出し位置を記憶しておき、第２の部分インターリーブブロックについての部分インターリーブを実行する前に、上記ｋ０個の位置とは異なるｋ１個の相対位置をランダムに決定して、読み出しアドレスの始めのｋ１個とする。この後に、残りの（Ｋ−ｋ１）個のビットについて部分インターリーブを適用し、読み出しアドレス順に加算を実行する。第３以降の部分インターリーブブロックについても同様の処理を行なう。【００８６】
これにより、上述したＲＡ符号器１Ａにおいても、例えば図８に示すように、結果の符号のタナーグラフにおいて、同じノードのペアが２重にエッジで結ばれること（つまり、ブロック重複）を避けることができ（符号９０参照）、結果として、「意図しない符号」の生成を回避して、特性劣化を回避することができる。
〔Ｃ〕インターリーブパターン（読み出しインデックス）の生成手法
前述した第１実施形態において、部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブを逐次的に実行する場合に、第１の部分インターリーブブロックに適用する部分インターリーバ４−ｉとして、例えば、前記の３ＧＰＰで仕様化されているターボ符号で用いられるＰＩＬ（前記非特許文献３参照）を用いるものとする。これに対して、第２以降の部分インターリーブブロックに適用する部分インターリーバ４を以下の手順で構成する。【００８７】
即ち、それぞれの部分インターリーバ４−ｉに対して、互いに異なる（Ｍ−１）以下の正の整数（オフセット値）ｂi（ｉ＝１，…，ａ−１）を付与する。この数は可能な限り、最大の繰り返し回数ｑmaxよりも大きな数とする。そして、例えば図９に示すように、前記インターリーブパターン制御部４６に、異なるインターリーブパターン（読み出しインデックス）を読み出し相対位置メモリ４２で他の異なる部分インターリーブブロックについて使用したインターリーブパターン（読み出しインデックス）に対して所定の置換処理を行なって生成する読み出しインデックス制御部（インターリーブパターン置換生成部）４５を付加する。【００８８】
これにより、タイミングカウンタ４４からの更新タイミングに従って、この読み出しインデックス制御部４５において、ｊ番目の部分インターリーブブロックについての読み出し相対位置メモリ４２における相対的な読み出しインデックスｒjを、第１の（ｉ＝０番目の）部分インターリーブブロックについての読み出しインデックスｒjのそれぞれに対して、上記整数ｂiを、Ｍを法として加算（ｒj＋ｂi mod Ｍ→ｒj）することで求めることができる。【００８９】
その結果、インターリーブパターン生成部４３は、読み出し相対位置メモリ４２に対して初回（第１の部分インターリーブブロックについて）のみインターリーブパターンを与えるだけで済み、それ以降の部分インターリーブブロックについては、それぞれ、読み出しインデックス制御部４５により、上述のごとく読み出しインデックスをオフセット値ｂiにより更新（置換）してゆくことで、部分インターリーブブロック毎に異なるインターリーブパターンの部分インターリーブを適用することが可能となる。【００９０】
このように、各部分インターリーブブロックについて、１つのサイズＭのインターリーブパターンに規定数の（mod Ｍ）の加算を行なったものを相対的な読み出しインデックスとして用いることで、各部分インターリーブブロック毎に必要なインターリーブパターンを生成し直す場合に比して、インターリーブパターンの生成処理を１／ａに短縮することができる。【００９１】
なお、部分インターリーバ４−ｉとして条件付ランダムインターリーバを用いる場合には、１つの部分インターリーバ４についてだけＯ（Ｍ2）の処理量がかかり、他の部分インターリーバ４−ｉについてはそれから簡単な加算および整数の除算処理で求めることができるので、処理量は１／ａに＋αしただけで済むことになる。
さらに、部分インターリーバ４−ｉとして構成的ランダムインターリーバを適用した場合でも、読み出しインデックスの生成に整数の加算と除算以上の処理を要する場合には処理量の短縮になる。また、１つのサイズによってインターリーブパターンが１通りに決定してしまうような場合には、これにより同じサイズで異なるパターンのインターリーバを生成する方法となる。【００９２】
また、上述したインターリーブパターンの生成手法は、第２実施形態のＲＡ符号器１Ａに適用することも勿論可能である。
以上詳述したように、本実施形態によれば、ＩＲＡ符号やＲＡ符号をはじめとするランダムなインターリーブ処理を用いる符号化法により定義される符号において、インターリーブ対象の符号列を分割して部分インターリーブすることで、特性を劣化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を分割数に従って小さくすることができる。【００９３】
なお、本発明は、上述した各実施形態及び変形例に限定されず、本発明の趣旨を逸脱しない範囲で種々変形して実施できることはいうまでもない。
〔Ｄ〕付記
（付記１）
Ｋ個（Ｋは正の整数）の情報要素からインターリーブ処理を用いてＭ個（Ｍは正の整数）のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズＮ＝Ｋ＋Ｍの符号を生成する符号化装置であって、
前記Ｋ個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化部と、
該繰り返し符号化部による繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブするインターリーブ処理部と、
上記部分インターリーブ後の異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算部と、
該加算部による加算結果について畳み込み符号化を施してＭ個の前記パリティ符号を出力する畳み込み符号化部とをそなえたことを特徴とする、符号化装置。
（付記２）
前記繰り返し符号化結果をＥ個（Ｅは正の整数）、該加算部でのｉ番目の前記加算ブロックの前記指定サイズをａi（ｉ＝０，…，Ｍ−１）、前記加算ブロックの最大サイズをａmax、前記パリティ符号数Ｍ以下の正の整数をＭi（ｉ＝０，…，ａmax−１）としたときに、該インタリーブ処理部が、下記(4.1)式を満足する各サイズａmaxの前記部分インターリーブブロック毎に前記部分インターリーブを施すべく構成されるとともに、
該加算部が、前記各加算ブロックの上記指定サイズａi分だけ、それぞれ、前記部分イ
ンターリーブ後の前記各部分インターリーブブロックの先頭から１つずつ前記部分インターリーブ結果を選択して加算すべく構成されたことを特徴とする、付記１記載の符号化装置。
【数８】
0004357561.tif 000009
（付記３）
該インターリーブ処理部が、前記各部分インターリーブブロックに共通であって、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施す共通部分インターリーバをそなえ、
該加算部が、該共通部分インターリーバによる逐次的な部分インターリーブの結果を逐次的に加算すべく構成されたことを特徴とする、付記１又は２に記載の符号化装置。
（付記４）
前記指定サイズａiが一定であることを特徴とする、付記２又は３に記載の符号化装置。
（付記５）
前記繰り返し符号化結果が、第１及び第２の部分インターリーブブロックにｍ０個及びｍ１個（ｍ０、ｍ１はいずれも正の整数）に分かれて属する場合に、前記第１の部分インターリーブブロックについての前記部分インターリーブにより上記ｍ０個の繰り返し符号化結果について定まる位置を避けて、上記ｍ１個の繰り返し符号化結果の前記第２の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第２のインターリーブブロックの上記ｍ１個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されたことを特徴とする、付記１〜４のいずれか１項に記載の符号化装置。
（付記６）
該繰り返し符号化部が、
前記Ｋ個の情報要素のそれぞれについての前記繰り返し回数分の繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに属するように前記繰り返し符号化結果を該インターリーブ処理部へ出力すべく構成されたことを特徴とする、付記１記載の符号化装置。
（付記７）
前記繰り返し符号化結果をＥ個、該繰り返し符号化部での前記繰り返し回数をｑi（ｉ＝０，…，ｑmax−１）、その最大値をｑmaxとしたときに、該繰り返し符号化部が、前記繰り返し符号がそれぞれ異なる前記部分インターリーブブロックに分配されるよう前記繰り返し符号化結果をｑmax個のブロックであってそれぞれのブロックサイズが下記の(4.2)式を満足するＫ以下の正の整数Ｋi（ｉ＝０，…，ｑmax−１）であるブロック単位で該インターリーブ処理部へ出力すべく構成されるとともに、
該インターリーブ処理部が、上記各ブロックについてサイズＫiの部分インターリーブを施すべく構成されたことを特徴とする、付記６記載の符号化装置。
【数９】
0004357561.tif 000010
（付記８）
前記ｑiが一定であることを特徴とする、付記６又は７に記載の符号化装置。
（付記９）
前記加算ブロックに含まれる前記繰り返し符号化結果が、第１及び第２の部分インターリーブブロックにそれぞれｋ０個及びｋ１個（ｋ０、ｋ１はいずれも正の整数）に分かれて属する場合に、前記ｋ０個の繰り返し符号化結果について前記部分インターリーブにより定まる位置を避けて、上記ｋ１個の繰り返し符号化結果が属する前記第２の部分インターリーブブロック内での相対的な位置を定めておき、該インターリーブ処理部が、前記第２のインターリーブブロックの上記ｋ１個を除く残りの繰り返し符号化結果について前記部分インターリーブを施すように構成されたことを特徴とする、付記７又は８に記載の符号化装置。
（付記１０）
該インターリーブ処理部が、
前記部分インターリーブブロックに属する前記繰り返し符号化結果を所定の書き込み順序で保持するメモリと、
前記インターリーブパターンに従って該書き込み順序とは異なる読み出し順序で前記繰り返し符号化結果を読み出すことにより前記部分インターリーブを施す読み出し制御部と、
該メモリに保持される異なる部分インターリーブブロック毎に異なるインターリーブパターンを生成して該読み出し制御部へ与えるインターリーブパターン制御部とをそなえたことを特徴とする、付記１〜９のいずれか１項に記載の符号化装置。
（付記１１）
該インターリーブパターン制御部が、
上記異なるインターリーブパターンを該読み出し制御部で他の異なる部分インターリーブブロックについて使用したインターリーブパターンに対して所定の置換処理を行なって生成するインターリーブパターン置換生成部をそなえたことを特徴とする、付記１０記載の符号化装置。
（付記１２）
Ｋ個の情報要素からインターリーブ処理を用いてＭ個のパリティ符号を生成し、該情報要素と該パリティ符号とでサイズＮ＝Ｋ＋Ｍの符号を生成する符号化方法であって、
前記Ｋ個の情報要素のそれぞれについて指定の繰り返し回数だけ繰り返し符号化を行なう繰り返し符号化過程と、
その繰り返し符号化結果を複数の部分インターリーブブロック毎に異なるインターリーブパターンで部分インターリーブする部分インターリーブ過程と、
その結果について、異なる前記部分インターリーブブロックからそれぞれ部分インターリーブ結果を指定サイズの加算ブロック分ずつ選択して加算する加算過程と、
その加算結果について畳み込み符号化を施してＭ個の前記パリティ符号を出力する畳み込み符号化過程とを有することを特徴とする、符号化方法。
（付記１３）
上記部分インターリーブ過程において、前記各部分インターリーブブロックに対して逐次的に前記部分インターリーブを施し、
上記加算過程において、上記逐次的な部分インターリーブの結果を逐次的に加算することを特徴とする、付記１２記載の符号化方法。
【産業上の利用可能性】
【００９４】
本発明によれば、ＩＲＡ符号やＲＡ符号をはじめとするランダムなインターリーブ処理を用いる符号化法により定義される符号において、インターリーブ対象の符号列を分割して部分インターリーブすることで、特性を劣化させずにインターリーブパターン生成の複雑さを軽減でき、処理量または処理時間を分割数に従って小さくできるので、デジタル情報通信システム等をはじめとする情報技術分野において極めて有用と考えられる。
【図１】
0004357561.tif 000012
【図２】
0004357561.tif 000013
【図３】
0004357561.tif 000014
【図４】
0004357561.tif 000015
【図５】
0004357561.tif 000016
【図６】
0004357561.tif 000017
【図７】
0004357561.tif 000018
【図８】
0004357561.tif 000019
【図９】
0004357561.tif 000020
【図１０】
0004357561.tif 000021
【図１１】
0004357561.tif 000022
【図１２】
0004357561.tif 000023
【図１３】
0004357561.tif 000024
【図１４】
0004357561.tif 000025
【図１５】
0004357561.tif 000026
【図１６】
0004357561.tif 000027
【図１７】
0004357561.tif 000028