(57)【特許請求の範囲】
【請求項１】
ファイア符号Ｇ（ｘ）＝Ｐ（ｘ）（１＋ｘｃ）によってデータを復号する方法であって、
前記Ｐ（ｘ）が次数ｍの既約多項式であり、ｃに対する値を所定の限界内で自由に設定することができる形式の復号方法において、
付加される冗長度の誤り訂正特性および検出特性に対する値ｂおよびｄを、所定の限界内で、式ｄ＝ｃ＋１−ｂにしたがって自由に設定することができることを特徴とする復号方法。
【請求項２】
前記値ｂは自由に設定可能であり、ただし、前記値ｂはどのような場合でも前記値ｍより小さく、前記値ｂによって、訂正可能なビット誤りの最大個数が定められる、請求項１記載の復号方法。
【請求項３】
付加される冗長度の誤り訂正特性および検出特性に対する値ｂおよびｄを、伝送チャネルのその折々の品質（例えば、ビット誤り率）に適合させる、請求項１記載の復号方法。
【請求項４】
前記ｃの値は条件ｃ≧２・ｂ−１を満たし、前記ｂは最大で値ｍをとることができ、すなわち、ｂ≦ｍであり、伝送すべきデータはファイア符号Ｇ（ｘ）＝Ｐ（ｘ）（１＋ｘｃ）に従ってチャネル符号化され、ここでＰ（ｘ）は次数ｍの既約多項式であり、前記ｃの値は所定の限界内で自由に設定することができる、請求項１記載の復号方法。
【発明の詳細な説明】
【０００１】
技術状況
本発明は、独立請求項の上位概念による、データの符号化および復号のための装置ないし方法に基づいている。ＤＥ３０３２４６８から既に、いわゆるファイア符号を使用する符号化方法および符号化装置が公知である。この種の符号に対しては、Ｇ（ｘ）＝Ｐ（ｘ）（１＋ｘｃ）の形の生成多項式が使用されており、この場合前記Ｐ（ｘ）はいわゆる次数ｍの既約多項式である。この種のファイア符号の使用によって、復号化の際に、誤りの簡単な検出ないし訂正が可能になる。
【０００２】
本発明の利点
本発明による符号化および復号の方法ないし装置によって、簡単に符号の冗長度を変化させることができる。そのような可変冗長符号（ＶＲＣ）は、データ転送率の整合化のためにとりわけ容易に使用することができる。
【０００３】
本発明の別の利点および変更例は、従属請求項から得られる。特に有利なのは、復号の際に、誤り検出ないし誤り訂正に選択的に重視できることである。
【０００４】
図面
本発明を図示し、後続の説明においてより詳細に説明する。図１は、ファイア符号による符号化装置の一般的なブロック回路図を示しており、図２は、例として多項式Ｐ（ｘ）＝１＋ｘ＋ｘ３を使用した符号化装置を示しており、図３は、可変冗長度を生成するための図１および２の部分装置を示しており、図４は、復号装置を示している。
【０００５】
説明
図１には、本発明による符号化装置が概略的に示されている。図１による装置全体は、ファイア符号による符号化のために構成されている。この符号化器は、第１の部分符号化器１０００を有しており、これはデータ２０を受け取り、既約多項式Ｐ（ｘ）を使用して符号化する。このデータ２０は、入力１０をｍｏｄ２で部分符号化器３０００の出力と結合させることによって生成される。
【０００６】
符号化器は、第２の部分符号化器３０００を有し、これも同様にデータ２０を受け取り、ｘｃ・Ｐ（ｘ）に従って符号化する。これら２つの部分符号化器の間には、可変冗長度を生成する装置２０００がある。このように符号化されたデータは、つぎに出力側３０で読み出される。最初のｋサイクルの間、すなわち１０のｋ個の入力ビットが読み込まれる間、図面に示されているスイッチ４０００は閉じた位置にある。引き続き出力側３０で冗長度（ｒビット）を読み出すために、スイッチ４０００は、ｒサイクルの持続の間、開かれる。
【０００７】
このように、２つの部分符号化器１０００と３０００、ならびに装置２０００によって、符号化の生成多項式Ｇ（ｘ）＝Ｐ（ｘ）（１＋ｘｃ）が実現される。
【０００８】
図２には、図１による符号化器の例が示されている。例として、ここでは多項式Ｐ（ｘ）＝１＋ｘ＋ｘ３が実現されるとする。多項式は一般に、Ｐ（ｘ）＝１＋ａ１ｘ＋ａ２ｘ２＋…＋ａｍｘｍの形をしており、ａは値０または１をとることができる。目下の例Ｐ（ｘ）＝１＋ｘ＋ｘ３では、部分符号化器１０００は、順次連続して配置された、シフトレジスタの３つの記憶素子から成っている。入力側１０で印加されたビットは、まず部分符号化器３０００の出力とｍｏｄ２で結合される。そのようにして受け取られたデータ２０は、順次、記憶素子３を通ってシフトされる。第１の記憶素子３および第３の記憶素子３のそれぞれの後には、ＸＯＲ素子として形成されたｍｏｄ２加算器４が設けられている。２つのｍｏｄ２加算器４には、同様にデータ２０が供給される。この部分符号化器の出力側１００１は、後続の部分符号化器２０００の入力側に接続されている。この部分符号化器２０００は図３でより詳細に図示されている。部分装置２０００の出力側１００２は、部分符号化器１０００と同じように動作する後続の部分符号化器３０００に接続されている。
【０００９】
図３には、可変冗長度を生成する部分装置２０００が示されている。図３には、４つの（図１に示されているように、一般にｃ−ｍ個の）順次連続して配置された記憶素子３から成るシフトレジスタが示されている。これら記憶素子のそれぞれの後に、１つのタップが設けられており、これらはスイッチ５１，５２，５３，５４を介してｍｏｄ２加算器４の入力側に接続されている。これらｍｏｄ２加算器４の両方の入力側は、スイッチ５１，５２，５３および５４のうちの２つに接続されている。最後のｍｏｄ２加算器４の出力側は、第２の部分符号化器３０００の入力側１００２に接続されている。スイッチ５１，５２，５３，５４によって、シフトレジスタの個々の記憶位置の間にあるタップ点の接続が、ｍｏｄ２加算器４に基づいて選択的に確立される。スイッチ５１，５２，５３または５４を閉じることによって、図１および２による符号化器全体で様々な生成多項式を実現することができる。ここでは、（１＋ｘｃ）・Ｐ（ｘ）の形の多項式が実現されなければならないので、そのつどスイッチ５１，５２，５３．５４のうちの１つのみが閉じられ（つまり、接続が確立される）、一方他のすべてのスイッチは開かれる（つまり、接続は遮断される）。スイッチ５１を閉じることによって、図２で選択された既約多項式と結び付けられて、例えば（１＋ｘ４）・（１＋ｘ＋ｘ３）の形の符号化器の生成多項式が実現され、スイッチ５２を閉じることによって、（１＋ｘ５）・（１＋ｘ＋ｘ３）の形の多項式が、スイッチ５３を閉じることによって、（１＋ｘ６）・（１＋ｘ＋ｘ３）の形の多項式が、スイッチ５４を閉じることによって、（１＋ｘ７）・（１＋ｘ＋ｘ３）の形の多項式が実現される。図示されている装置は、これに伴い、スイッチ５１，５２，５３，５４の状態に依存して、種々異なる多くの冗長度を符号化全体にもたらすことができる。
【００１０】
図１から３までで示されている装置は、それゆえ、データの符号化の際に、種々異なる多数の冗長度を使用することができる。スイッチの位置によって、１ビットから４ビットまでの間で可変的に付加的冗長度を実現することができる。それゆえ、このような形式の符号化器を使用して、可変的に冗長度を決めることができる。したがって、以下の明細書では、ＶＲＣ（可変冗長符号化器）についても論じる。この種のＶＲＣは、有利には、冗長度をデータチャネルに整合させるために使用することができる。このことは、伝送チャネルに対して、データ率の所定の固定値しか可能ではないが、しかしソースデータのデータ率が変化するような場合に、とりわけ重要である。付加的な冗長度ビットの追加によって、伝送の信頼性はとりわけ簡単な方法で高めることができる。
【００１１】
図１から３に説明されているような可変冗長度を有する符号化のための方法および装置は、とりわけＤＥ３０３２４６８による復号装置に適している、ないしはＤＥ３０３２４６８による復号方法で使用することができる。図４では、したがってもう一度、概略的回路図として、ＤＥ３０３２４６８の図１による復号器が示されている。データは入力側１００に供給され、つづいて複数の順次連続するレジスタ１０１，１０２，１０３，１０４で評価される。レジスタ１０１および１０４としては、多項式Ｐ（ｘ）による復号のために構成されている通常の復号装置が使用されている。シフトレジスタ１０２はｂ個の記憶位置を有し、シフトレジスタ１０３はｃ−ｍ−ｂ個の記憶位置を有する。ｃは多項式１＋ｘｃのべき指数であり、ｍは多項式Ｐ（ｘ）の次数である。訂正すべき符号に実際的な関連性をもつのはｃの値のみであり、これはｍの値より大きい。数ｂは、いくつの誤りを訂正すべきかを示す選択可能な量を表している。数ｂは、どのような場合でも、数ｍと（ｃ＋１）／２のうちの小さい方よりも小さい。レジスタ１０２および１０３は、図３で既に示されているように、スイッチによって、可変長のシフトレジスタを生成するように構成されている。それゆえ、所定のパラメータに依存して、レジスタ１０２の長さおよびレジスタ１０３の長さを自由に調節することができる。それゆえ、このような手段によって、符号化されたデータの復号を可変的に操作することができる。符号化の際にｃに対してどのような値が選択されたかに依存して、ｃの値が調節される。さらにユーザは、データ誤りの訂正とデータ誤りの検出のどちらがユーザにとって重要かを自由に決定することができる。これに依存して、ユーザは量ｂおよびｄを選択する。
【００１２】
既にＤＥ３０３２４６８で説明されているように、データは、レジスタ１０１と１０４に同じビットパターンが現れるまで、入力側１００に印加される。同じビットパターンが現れたかどうかは、コンパレータ１０５によって決定される。さらに第３のレジスタ１０３がゼロしか含まない場合には、第２のレジスタ１０２に求めている誤りパターンが現れる。レジスタ１０３のすべてのレジスタ位置がゼロを有するという状態は、ＮＯＲ素子１０６によって検出され、「誤り発見」信号は、ＡＮＤ素子１０８が、ＮＯＲ素子１０６からの信号とコンパレータ１０５からの信号を受け取ってはじめて出力側１０７において出力される。既にＤＥ３０３２４６８で説明されているように、そのときレジスタ１０２に含まれている誤りパターンは、符号化段１０９を介して、ｍビットのベクトルに変換され、乗算段１１０においてレジスタ１０４の相応の値と乗積される。論理回路１１１によって、乗算段１１０の結果は、既にＤＥ３０３２４６８で説明されているように、どのビットが誤りを含んでいるか確定するために使用される。
【００１３】
例として、ＶＲＣ符号として、バースト誤りを訂正する能力を有するファイア符号が用いられる。このファイア符号をＤＥ３０３２４６８に従って、Ｇ（ｘ）＝（１＋ｘｃ）・Ｐ（ｘ）と定義し、次数ｍの既約多項式Ｐ（ｘ）の周期であるｅを、ｅ≦２ｍ−１であるとすると、多項式Ｐ（ｘ）の周期とｃの組合せが、選択された符号の長さを決める。すなわち、ＶＲＣ符号化されたデータパケットの長さは、最大でｎ＝ｋ＋ｒ＝ＬＣＭ｛ｅ，ｃ｝に制限される。ここで、ＬＣＭ｛ａ，ｂ｝は、ａとｂの最小公倍数を表している。
【００１４】
このファイア符号によって付加される冗長度の大きさを、ｒ＝ｃ＋ｍ［ビット］とする。値ｃは条件式ｃ≧２・ｂ−１を充たさなければならない。ここでｂはこの符号を使用してまだ訂正することができるバースト誤りの長さを表しており、ｂは最大で値ｍをとることができる（つまり、ｂ≦ｍ）。このブロック符号が、さらにインタリーブ装置を使用してｖ個のデータフレームに分割された場合、その訂正能力は、係数ｖの分だけ改善されてｂ′＝ｂ・ｖとなる。すなわち、ｖ個のデータフレームに、最大で長さｂ′＝ｂ・ｖを有する単一のバースト誤りが生じた場合、これらｖ個のデータフレームは正しく再構築される。
【００１５】
つねに満足のゆく最大の誤り検出を保証したいが、しかしながら誤り検出と誤り訂正の間では妥協が必要なので、ｂに対しては典型的に小さい値が選択される。なぜならば、データフレームの検出可能な誤りバーストの長さｄと訂正可能なバースト誤りの長さｂとの間では、式ｄ＝ｃ＋１−ｂが成り立つからである。つまり、データフレームの伝送の際に、このフレーム内で唯一のバースト誤りが生じたならば、このバースト誤りの長さがｂの値［ビット］を超えない限りは、復号器がこのバースト誤りを完全に訂正することができる。バースト誤りの長さがｂの値を超える場合は、このバースト誤りをそれ以上訂正することはできない。しかし復号装置は、バーストがｄの値より長くないという前提の下で、このバースト誤りをともかくまだ検出する。しかし、ｄより大きい長さを有するバースト誤りが生じると、復号器がこの誤りをもはや検出することができず、場合によっては誤った訂正が行われてしまい兼ねない。つまり、復号器は、データフレームがまだ誤りを含んでいるにも関わらず、これを正しく再構築したと「信じて」しまうのである。
【００１６】
バースト誤りを検出する復号器の能力も、ｖ個のデータフレーム上で作用するインタリーブ装置によって、ｄ′＝ｄ・ｖで因子ｖの分だけ改善される。つまり、ｖ個のデータフレームに最大長ｄ′＝ｄ・ｖの関連した唯一のバースト誤りが生じても、この符号バースト誤りはまだ検出される。
【００１７】
図４は、ファイア符号を使用したＶＲＣ符号の実現の例を示している。まず既約多項式Ｐ（ｘ）が選択される。ここでは長さｍ＝１６［ビット］の以下の多項式が選択されるとする：Ｐ（ｘ）＝１１００００００１００００００１１＝１＋ｘ＋ｘ８＋ｘ１５＋ｘ１６，ｍ＝１６，周期ｅ＝２５７＝２８＋１。これから、ＬＭＣ｛ｅ，ｃ｝＝２５７・ｃ［ビット］の最大の符号長が、ｃの設定に依存して決まる。ｃに対する値は、符号化すべきデータストリームの既知のブロック長ｋと物理的チャネル上のＶＲＣ符号化されたデータの同じく所定のブロック長ｎとから直接得られる。ｎ＝ｋ＋ｒ、冗長度ｒ＝ｃ＋ｍおよび固定値ｍ１６から、ｃ＝ｒ−ｍ＝ｎ−ｋ−ｍが得られる。
【００１８】
（バースト）誤り訂正および（バースト）誤り検出の特性は、互いに平衡させることができる。誤り訂正は、ｂ＝０とｂ＝ｍｉｎ｛ｍ，（ｃ＋１）／２｝の間で選択でき、ｂの選択は、ｄ＝ｃ＋１−ｂであるがゆえに、ＶＲＣ符号の検出能力に関して直接的な影響力を有している。妥協が必要である。
【００１９】
例として、ソースデータフレームの長さである値ｋ＝２８０、ＶＲＣ符号化によるデータフレームごとの必要ビット数ｎ＝３２０、およびｍ＝１６が、前記Ｐ（ｘ）とともに与えられているとする。したがって、付加すべき冗長度は、ｒ＝ｎ−ｋ＝３２０−２８０＝４０となる。ｍ＝１６で、ｃはｃ＝２４となる。符号の誤り訂正能力は、ｄ＝ｃ＋１−ｂ＝２４＋１−３＝２２［ビット］の比較的に高い誤り検出を保証するために、ｂ＝３［ビット］に制限されなければならない。これは、バースト誤りは、２２ビットの長さまでは、復号器によって誤って訂正されるのではなく、誤りとして検出されるということを意味する。そのような場合には、復号プロセスが誤りの通報とともに中断するか、または復号化されたビットストリームが誤りを含むとしてマークされる。しかし、たった３ビットの長さのバースト誤りが長さｎ＝３２０のデータフレームに生じた場合は、これを完全に訂正することができる。ソースビットストリームは誤りなく再構築される。
【００２０】
この柔軟な符号の特性は外的な前提に動的にマッチングさせることができ、その実現には、図４ないしＤＥ３０３２４６８による復号器の設計に対する特別な変更措置は必要ない。２つのパラメータｃおよびｂの変更による影響はただ、復号器のレジスタ１０２および１０３が可変の（論理的な）長さを有するように構成させるだけである。さらに、ｃおよびｂの極値は、図４に示されているＮＯＲゲート１０６および符号化段１０９の幅を定める。
【００２１】
上記の例では、ｃ＝１４の符号が考察された。これは、短縮されていない符号長、すなわち有効な符号語における最大許容ビット数ｎが、ｎｍａｘ＝（ｋ＋ｒ）ｍａｘ＝ｅ・ｃ＝ＬＣＭ｛２５７，２４｝＝６１６８［ビット］になるということを意味する。しかし、符号はいずれにせよ短縮された符号として、ｎ＝３２０で実現された。短縮された符号、特に強く短縮された符号の誤り防御特性ｄ′＞ｄおよびｂ´＞ｂは、短縮されていないマザーコードの特性（ｄおよびｂ）より部分的には著しく改善されている。この改善に関する量的情報は、実験によってしか求めることができない。
【図面の簡単な説明】
【図１】  ファイア符号による符号化装置の一般的なブロック回路図を示す。
【図２】  Ｐ（ｘ）＝１＋ｘ＋ｘ３を使用した符号化装置を示す。
【図３】  可変冗長度を生成するための図１および２の部分装置を示す。
【図４】  復号装置を示す。
【図１】
0004488466.tif 000002
【図２】
0004488466.tif 000003
【図３】
0004488466.tif 000004
【図４】
0004488466.tif 000005