(57)【特許請求の範囲】
【請求項１】
アルファベットのワードの各々にビットの区別できるシーケンスを関連付けするエントロピック・コードを用いて符号化された送信ディジタル・データに対応する受信済ディジタル・データを復号する方法であって、前記ビットの区別できるシーケンスは前記エントロピック・コードを用いて得られたものであり、
このシーケンス長は前記ワードの出現確率に依存するものであり、
各遷移が前記ワードの１つに対応するビット・シーケンスにおけるビットの内の１つについてバイナリ値０または１に対応するものとなる復号格子を用いることを特徴とする復号方法。
【請求項２】
前記エントロピック・コードは、ルート・ノードと、複数の中間ノードと、複数のリーフ・ノードとを備えるバイナリ・ツリーの形態で表わされ、また前記ワードのいずれかに対応するビットのシーケンスは、前記ワードに関連する前記ルート・ノードからリーフ・ノードまでの前記バイナリ・ツリーの順次遷移を考慮に入れて形成されているものであって、
前記格子の各ステージの状態は、前記ルート・ノードおよび前記リーフ・ノードのすべてに対応していて、極値状態と呼ばれる単一状態と、前記中間ノードの各々に対し中間状態と呼ばれる区別できる状態とを含むことを特徴とする請求項１に記載の復号方法。
【請求項３】
前記格子の各遷移は、第１にチャネルの有効情報と、第２に前記エントロピック・コードの１つのアプリオリ情報とを考慮に入れたメトリックに関連付けされていることを特徴とする、請求項１および２のいずれかに記載の復号方法。
【請求項４】
前記アプリオリ情報が以下のグループに属するものであって、そのグループは、 用いられるエントロピック・コード、および／または コードの前記ワード各々のアプリオリ確率、および／または 送信されるワードの数、および／または 係数の境界線値、を含むことを特徴とする、請求項３に記載の復号方法。
【請求項５】
前記遷移の各々に対し、以下のメトリック
【数１】
0004836379.tif 000032
が計算されていることを特徴とする、請求項３または４に記載の復号方法。
【請求項６】
前記エントロピック・コードが、特に、 ハフマン・コードと、 可逆可変長コード（ＲＶＬＣ）とからなるグループに属することを特徴とする、請求項１〜５のいずれかに記載の復号方法。
【請求項７】
前記エントロピック・コードがＲＶＬＣコードであり、前記アプリオリ情報が、前記格子を通るパス内の前進フェーズと、前記格子を通るパス内の後退フェーズとに対し使用されていることを特徴とする、請求項３から５のいずれかに記載の復号方法。
【請求項８】
受信済ディジタル信号についてのソースとチャネルとの結合復号の方法であって、
ソースの符号化は、アルファベットのワードの各々にビットの区別できるシーケンスを関連付けるエントロピック・コードを用い、シーケンス長が前記ワードの出現確率の関数であって、前記ビットの区別できるシーケンスは前記エントロピック・コードを用いて得られたものであり、
該結合復号方法は、少なくとも１つの復号格子を使用してソースの復号操作を行うものであり、前記格子の各遷移は、前記ワードの１つに対応するビット・シーケンスのビット内の１つについてのバイナリ値０または１に対応するものであり、前記ソースの復号操作は前記チャネルの復号に対して外在的な情報を送出することを特徴とする結合復号方法。
【請求項９】
前記チャネル復号がターボコード・タイプの復号を用いることを特徴とする、請求項８に記載の結合復号方法。
【請求項１０】
前記ターボコード・タイプの復号が並列方式を用いることに依存することを特徴とする、請求項９に記載の結合復号方法。
【請求項１１】
前記ターボコード・タイプの復号が直列方式を用いることに依存することを特徴とする、請求項９に記載の結合復号方法。
【請求項１２】
イタレーションによる方式を用いることに依存することを特徴とする、請求項８〜１１のいずれかに記載の結合復号方法。
【請求項１３】
イタレーションの各々が、チャネル復号ステップとソース復号ステップとを順次に含み、前記チャネル復号ステップは、前記ソース復号ステップにおいて考慮に入れられたチャネル情報を送出し、前記ソース復号ステップは、前記チャネル復号ステップにおいて考慮に入れられたアプリオリ情報を送出することを特徴とする、請求項１２に記載の結合復号方法。
【請求項１４】
第１チャネル復号ステップと、 前記第１チャネル復号ステップにより供給される、第１ソース復号ステップと、 復号の際に用いられるインターリーバと同一のインターリーバを通して、前記第１チャネル復号ステップと前記第１ソース復号ステップとにより供給され、かつ、前記インターリーバと対称のデインターリーバを通して、前記第１チャネル復号ステップを供給する、第２チャネル復号ステップと、 前記デインターリーバを通して、前記第２チャネル復号ステップにより供給され、かつ前記第１チャネル復号ステップを供給する、第２ソース復号ステップとを含むことを特徴とする、請求項１３に記載の結合復号方法。
【請求項１５】
受信済ディジタル信号についてのソースとチャネルとの結合復号方法であって、
ソースの符号化を、アルファベットのワードの各々をビットの区別できるシーケンスに関連づけるエントロピック・コードを用いて行い、
シーケンス長が前記ワードの出現確率の関数になっていて、
チャネル符号化格子と同様のチャネル復号格子であって、各ステージの各状態に対して、当該状態を経るようなビットのシーケンスであって、前記格子のパスの方向に関しての過去から復号されたビットのシーケンスを表わす情報が関連付けられており、復号されたワードの数、および／または前記復号されたビットがとった値を認証するために、前記エントロピック・コードおよび／または情報を表わすツリー内で考慮されたビットの位置を指定するチャネル復号格子を用いることを特徴とする結合復号方法。
【請求項１６】
前記状態の各々に対し、 前記状態に入って来る２つのブランチに対し、チャネルメトリックとソースメトリックとを追加するステップと、 得られた２つの新しいメトリックを比較し、短い方のメトリックを選択するステップと、 位置を指定する前記情報が１つのワードの最後を示す場合、ツリーのリーフとなるノードを考慮し、ワードの最後を示さない場合は、ツリーの次のノードまで通過するステップとを含むことを特徴とする、請求項１５に記載の結合復号方法。
【請求項１７】
イタレーション手順を用いることを特徴とする、請求項１５および１６のいずれかに記載の結合復号方法。
【請求項１８】
各状態が前記エントロピック・コードを表わすツリー内で考慮されたビットの位置を指定する情報を有するものであるチャネル復号格子を用いた第１チャネル復号操作のステップと、 復号に用いられるインターリーバと同一のインターリーバを通して、前記第１チャネル復号により供給され、かつ、前記インターリーバと対称のデインターリーバを通して、前記第１チャネル復号ステップに供給する、第２チャネル復号操作のステップと、 前記デインターリーバを通して、前記第２チャネル復号により供給されるソース復号操作のステップとを含むことを特徴とする、請求項１７に記載の結合復号方法。
【請求項１９】
ターボコード・タイプの復号を用いることを特徴とする、請求項１８に記載の結合復号方法。
【請求項２０】
前記ターボコード・タイプの復号の各イタレーション操作が、行と列とを有するブロック・マトリクスを用い、その場合、行復号操作（または列復号操作）が用いられた後に、列復号操作（または行復号操作）を用いることを特徴とする、請求項９〜１４および１９のいずれかに記載の結合復号方法。
【請求項２１】
各行（または列）がｋ個の情報ビットにより形成されているコード・ワードに相当することを特徴とする、請求項２０に記載の結合復号方法。
【請求項２２】
前記エントロピック・コードが可逆可変長コード（ＲＶＬＣ）であることを特徴とする、請求項８〜２１のいずれかに記載の結合復号方法。
【請求項２３】
チャネル復号格子およびソース復号格子が連結しており、前記チャネル復号がソースのアプリオリ情報により制御されることを特徴とする、請求項２２に記載の結合復号方法。
【請求項２４】
チャネル格子を通過するパス上のソースにより認定されないシーケンスを最も確からしい認定されたシーケンスによって置換えるステップに関連付けて、「ｌｉｓｔ Ｖｉｔｅｒｂｉ」アルゴリズムと呼ばれる、並列または直列方式のアルゴリズムを用いることを特徴とする、請求項２３に記載の結合復号方法。
【請求項２５】
チャネル復号格子の前進および後退方向に、「ＳＵＢＭＡＰ」と呼ばれるアルゴリズムを用いることを特徴とする、請求項２３に記載の結合復号方法。
【請求項２６】
コード・ワードの各々の始点および／または終点を検出するステップを用いることを特徴とする、請求項２０〜２５のいずれかに記載の結合復号方法。
【請求項２７】
前記検出ステップが、以下のグループに属する方法の少なくともある方法を用いることに依存するものであって、そのグループは、 送信において、情報のワードの始点および／またはワードの終点を挿入するステップと、 パディング・ビットを挿入して、パディング・ビットを持つワードが固定長を持つようにするステップと、 「テール−バイティング」と呼ばれる方法を用いるステップと、 循環格子を使用するステップとを含むことを特徴とする、請求項２６に記載の結合復号方法。
【請求項２８】
短縮記号格子により、最も確からしい認定されたシーケンスを検索するステップを含み、前記短縮記号格子は、コード・ワードである多くの送出ワードおよび到着ワードがある単一初期状態（ｄ０）を有することを特徴とする、請求項８に記載の復号方法。
【請求項２９】
ディジタル・データを復号するデバイスであって、
受信ディジタル・データの結合復号方法を実行し、アルファベットのワードの各々にビットの区別できるシーケンスに関連付けるエントロピック・コードを用いて符号化された送信ディジタル・データに対応しており、シーケンス長が前記ワードの出現確率の関数であり、前記ビットの区別できるシーケンスがエントロピック・コードを用いて得られたものであり、
各遷移が前記ワードの１つに対応するビット・シーケンスのビット内の１つについてのバイナリ値０または１に対応するための復号格子を実行する手段を含むことを特徴とする、デバイス。
【請求項３０】
送信において、エントロピック・ソース符号化操作およびチャネル符号化操作を実行する手段と、
受信において、結合復号化操作を実行する手段であって、受信ディジタル・データの前記結合復号化操作を実行し、アルファベットのワードの各々にビットの区別できるシーケンスに関連付けるエントロピック・コードを用いて符号化された送信ディジタル・データに対応しており、シーケンス長が前記ワードの出現確率の関数であり、前記ビットの区別できるシーケンスがエントロピック・コードを用いて得られたものである、復号化操作を実行する手段と
を含んでなり、
前記復号化操作を実行する手段は、各遷移が前記ワードの１つに対応するビット・シーケンスのビット内の１つについてのバイナリ値０または１に対応するための復号格子を実行する手段をさらに含む、ディジタル信号伝送システム。
【請求項３１】
ディジタル・データを復号するためのデバイスであって、受信ディジタル・データの復号方法を実行し、アルファベットのワードの各々にビットの区別できるシーケンスに関連付けるエントロピック・コードを用いて符号化された送信ディジタル・データに対応しており、シーケンス長が前記ワードの出現確率の関数であり、前記ビットの区別できるシーケンスがエントロピック・コードを用いて得られたものであり、
各遷移が前記ワードの１つに対応するビット・シーケンスのビット内の１つについてのバイナリ値０または１に対応するための復号格子を実行する手段を含むことを特徴とする、デバイス。
【請求項３２】
送信において、エントロピック・ソース符号化操作およびチャネル符号化操作を実行する手段と、
受信において、復号化操作を実行する手段であって、受信ディジタル・データの前記復号化操作を実行し、アルファベットのワードの各々にビットの区別できるシーケンスに関連付けるエントロピック・コードを用いて符号化された送信ディジタル・データに対応しており、シーケンス長が前記ワードの出現確率の関数であり、前記ビットの区別できるシーケンスがエントロピック・コードを用いて得られたものである、復号化操作を実行する手段と
を含んでなり、
前記復号化操作を実行する手段は、各遷移が前記ワードの１つに対応するビット・シーケンスのビット内の１つについてのバイナリ値０または１に対応するための復号格子を実行する手段をさらに含む、ディジタル信号伝送システム。
【発明の詳細な説明】
【０００１】
本発明はディジタル・データ信号の伝送または放送の分野に関する。より詳細には、本発明は送信されたディジタル信号の復号、特にソース・復号に関する。より具体的には、本発明は、ＶＬＣすなわち可変長コードのような、エントロピック・コードを使用するソース符号化法を用いて符号化されたデータの復号に適用できる。
【０００２】
現在、一般に使用されているディジタル通信システムは、一方でソース符号化を用い、他方でチャネル符号化を用いる符号化システムに依存している。従来の方法では、これら２つの符号化システムは別個に最適化されている。ソース符号化の目的は送信されるソース信号の冗長度を最大限低減することである。一方、すべての送信に固有の外乱からこの情報を保護するために、チャネル符号器は制御された冗長度を導入する。
【０００３】
現時点では、ソース（オーディオ、画像および／またはビデオ・ソース）符号化の最良結果は、一般にＶＬＣに関連付けされた離散コサイン変換（ＤＣＴ）またはウェーブレット法を用いて得られている。従来、チャネル符号化がターボ−コード［１］（本発明の説明の理解を助けるために、参考文献を付録Ｃに集めている）、一般的にはソフト・デシジョンの反復（イタレーション）デコーダのコードを用いている。これら方法は、Ｓｈａｎｎｏｎ［２］により定義された理論的限界にほぼ達していると認識されている。
【０００４】
しかし、ソース符号化とチャネル符号化との間の最適化は、無限大に近い長さを持つコードに対してだけ保証される。したがって、有限長のチャネル・コードに加えて、ソースとチャネルとを結合した符号化および／または復号化・システムを得るための研究が行われてきた。
【０００５】
このように、本発明はエントロピック・コードの復号化に関するものであるが、詳細には、限定されるものではないが、エントロピック・コードを用いるシステムのソースとチャネルとを結合した復号化に関する。
【０００６】
組合わせ復号は多くの応用分野を有し、例えば、具体的にはＭＰＥＧ  ４（Moving Picture Expert Group）標準に準拠するビデオ画像伝送に利用される。
【０００７】
可変長コードは公知である。例えば、付録Ａはハフマン・コード（Ｈｕｆｆｍａｎ  ｃｏｄｅ）の簡単な内容を記載している。以後に述べる本発明の特定の実施形態は、このタイプのエントロピック・コードに、特に（ただし、これに限定されない）、適用できる。
【０００８】
可変長コードは、送信信号に占有される帯域の制限においてきわめて重要であるが、それらの使用は送信のエラー耐性を低下させる。さらに、復号の際にソースのアプリオリ確率（a priori probability）を使用するのが難しい。この理由は、ワード長が定義により可変であるため、各ワードの始点と終点を認識できないためである。
【０００９】
これら可変長コードの使用に関係するソースとチャネルとの結合復号化に対して、各種の方法が提案されてきた。詳細には、
Ｋ．ＳａｙｏｏｄとＮ．Ｄｅｍｉｒ［４］は、ＶＬＣワードの復号化を提案している。このタイプの復号化には２つの大きな欠点が見られる。それらは、異なるＶＬＣワードの数により急速に増大する格子複雑性と、記号（またはワード）レベルに留まる復号化とである。
【００１０】
Ａｈｓｈｕｎ  Ｈ．ＭｕｒａｄとＴｈｏｍａｓ  Ｅ．Ｆｕｊａ［５］は、超格子法（super-lattice method）を提案している。この方法では、復号格子がチャネル・デコーダの格子、ソース・デコーダの格子、およびソースを表わす格子の積により得られるものである。この方法には、明らかに、復号の複雑性による限界がある。
【００１１】
Ｋ．Ｐ．ＳｕｂｂａｌａｓｋｓｈｍｉとＪ．Ｖａｉｓｅｙ［６］は、各ワードの始点と終点を認識するために使用でき、それにより送信されるＶＬＣワードに利用できるアプリオリ情報の使用が可能になる、格子構造を提案している。このデコーダはワードに関して作用し、復号されるビットの関する付帯情報を送らない。
【００１２】
Ｊｉａｎｇｔａｏ  ＷｅｎとＪｏｈｎ  Ｄ．Ｖｉｌｌａｓｅｎｏｒ［７］は、ワードに関して作用し、復号されたシーケンスの信頼度値を送る復号ブロックを使用する。このデコーダはアプリオリ情報として、受信したシーケンス内のＶＬＣワードの数を使用する。
【００１３】
本発明の目的は詳細には、これら従来技術のさまざまな欠点を克服することである。
【００１４】
具体的には、本発明の目的は、特に分離（タンデム）復号手法に関して、記号誤り率の低減を達成するために使用されるエントロピック・コードを用いて符号化されたデータを復号する方法を提供する。
【００１５】
具体化態様に関し、本発明の目的は、既知の方法に比較して非常に簡単なこの種の復号方法を提供することである。
【００１６】
詳細には、本発明の目的は、特にエントロピック・コードにより考慮される異なるワードの数が多いときに、妥当な操作複雑性を持つこの種の復号方法、すなわち実際に妥当なコストで用いることができる方法を提供することである。
【００１７】
また、本発明の目的は、チャネル復号動作で利用できる信頼度ビット（confidence bit）を送出するこの種の方法を提供することである。
【００１８】
言いかえると、本発明の特定の目的は、エントロピック・コード、特にＶＬＣおよびＲＶＬＣ（Reversible variable length code）に良好に適合するソースとチャネルとの結合復号化の方法を提供することである。
【００１９】
本発明のさらに別の目的は、既知のチャネル・コード、特にターボコードを用いるするエンコーダを用いて得られる性能を改良するこの種の復号方法を提供することである。
【００２０】
これらおよび同様の他のものの目的は、以下により詳細に述べるが、送信されたディジタル・データに相当する、受信したディジタル・データを復号する方法によって達成される。この送信されたデジタル・データは、ビットの異なるシーケンスをアルファベットのワードの各々に関連付けするエントロピック・コードにより符号化されており、前記シーケンス長は前記ワードの出現確率に依存している。
【００２１】
本発明によれば、この方法は、各遷移が前記ワードの１つに対応するビットのシーケンス内のビットの１つのバイナリ値０または１に対応させる復号格子を用いる。
【００２２】
言いかえると、本発明は、可変長コードの復号に対する新規の方法を基本にしている。この方法は、考慮しているおよび考慮していないビット・レベルにおける遷移であり、従来はワード・レベルの遷移または記号レベルの遷移である。
【００２３】
この方法は新規の方法であり、自明ではない。当業者には、記号が可変長を有するという事実は、その記号の始点と終点を認識するには記号レベルで作用する必要があることは理解されるところである。本発明は、このことが必須でないことを示す。
【００２４】
さらに、ビット・レベルでの作用である事実により、チャネル・デコーダで利用できる情報を得て、それにより結合符号化が可能になる。これについては、以下で詳細に述べる。
【００２５】
前記エントロピック・コードは、ルート・ノード、複数の中間ノードおよび複数のリーフ・ノードを備えるバイナリ・ツリーの形態を取り、また前記ワードの１つに対応するビットのシーケンスは、前記ルート・ノードから前記ワードに関連するリーフ・ノードまでの前記バイナリ・ツリーの順次遷移を考慮に入れて形成される。この場合、有利には、前記格子の各ステージの状態は、前記ルート・ノードおよび前記リーフ・ノードのすべてに対応する、極値状態と認識される単一状態と、前記中間ノードの各々に対し中間状態と呼ばれる明確な状態とを含む。
【００２６】
このようにして、限定された数の状態を持つ単純な格子が得られる。
【００２７】
好ましくは、尤度情報が前記格子の各遷移に関連付けされる。この時、有利には、前記尤度情報は、第１に伝送チャネルを表わす情報と、第２に前記エントロピック・コードのアプリオリ情報とを考慮に入れたメトリックである。
【００２８】
例えば、前記アプリオリ情報は、以下を含むグループに属する。
用いられるエントロピック・コード、および／または
コードの前記ワード各々のアプリオリ確率、および／または
送信されるワードの数、および／または
係数の境界線値。
【００２９】
したがって、以下の確率を前記遷移の各々に対し計算できる。
【数２】
0004836379.tif 000002
上式の情報およびパラメータは以下に説明する。
前記エントロピック・コードは特に以下を含むグループに属する；
ハフマン・コード
可逆可変長コード（ＲＶＬＣ）。
【００３０】
好ましくは、ＲＶＬＣコードの場合、前記アプリオリ情報が、前記格子を通るパス内の前進フェーズと、前記格子を通るパス内の後退フェーズとに対し使用される。
【００３１】
本発明はまた、受信したディジタル信号のソースとチャネルとの結合復号化の方法に関する。この方法を基にして、ソース符号化が、アルファベットのワードの各々を持つ識別ビット・シーケンスに関連するエントロピック・コードを用いる。前記シーケンス長は前記ワードの出現確率の関数である。
【００３２】
本発明によれば、この結合復号方法は、少なくとも１つの復号格子を使用してソース復号操作を用いる。前記格子の各遷移は前記ワードの１つに対応するビット・シーケンスのビット内の１つのバイナリ値０または１に対応する。前記ソース復号操作はチャネル復号に対して情報を送出する。
【００３３】
有利には、チャネル復号は、並列方式のまたは直列方式で用いることに依存することができるターボコード・タイプの復号を用いることができる。
【００３４】
有利には、本発明の結合復号方法は反復を用いることに依存する。
【００３５】
この場合、反復の各々は、チャネル復号ステップとソース復号ステップとを順次含み、前記チャネル復号ステップが前記ソース復号ステップで考慮に入れた１つのチャネル情報を送出し、前記ソース復号ステップが前記チャネル復号ステップを考慮に入れたアプリオリ情報を送出する。
【００３６】
詳細には、この方法は以下のステップを含むことができる。
第１チャネル復号ステップ、
前記第１チャネル復号ステップにより供給される、第１ソース復号ステップ
前記復号で用いられるインターリーバと同一インターリーバを通して、第１チャネル復号ステップと前記第１ソース復号ステップとにより供給され、かつ、前記インターリーバと対称のデインターリーバを通して、前記第１チャネル復号ステップを供給する、第２チャネル復号ステップ、
前記デインターリーバを通して、前記第２チャネル復号ステップにより供給され、かつ前記第１チャネル復号ステップを供給する、第２ソース復号ステップ。
【００３７】
別の態様によれば、本発明はまた、受信したディジタル信号をソースとチャネルとの結合復号化する方法に関するものであり、ソース復号化操作が識別ビット・シーケンスをアルファベットのワードの各々に関連付けているエントロピック・コードを用いる。前記ビット・シーケンス長さは前記ワード出現確率の関数である。前記方法はチャネル符号化格子と同様のチャネル復号化格子を用いる。この場合、各ステージの各状態について、前記格子のパスの方向に関して、過去から復号化されたビットの、この状態を通るシーケンスを表わす情報が関連付けられており、前記エントロピック・コードおよび／または情報を表わすツリー内で考慮されたビットの位置、および／または、復号化されたワードの数を確認する情報、および／または前記復号化されたビットにより取込まれた値、を確認する。
【００３８】
この場合、有利には、前記状態の各々に対し、結合復号方法は以下のステップを含む。
前記状態に入って来る２つのブランチに対し、チャネルメトリックとソースメトリックとを追加し、
得られた２つの新しいメトリックを比較し、短い方のメトリックを選択し、
位置を指定する前記情報が１つのワードの最後を示す場合、ツリーのリーフであるノードを考慮し、ワードの最後を示さない場合は、ツリーの次のノードまで通過する。
【００３９】
好ましくは、この方法は、例えば以下のステップを含む反復手順を用いる。
チャネル復号格子を用いる第１チャネル復号操作ステップであって、前記格子に対し、各状態が、前記エントロピック・コードを表わすツリーで考慮されたビットの位置を指定できる情報を有するステップ、
復号で用いられるインターリーバと同一インターリーバを通して、第１チャネル復号により供給され、かつ、前記インターリーバと対称のデインターリーバを通して、前記第１チャネル復号ステップを供給する、第２チャネル復号操作のステップ、
前記デインターリーバを通して、前記第２チャネル復号により供給されるソース復号操作のステップ。
【００４０】
さらに、この場合は、（並列または直列）ターボコード・タイプ復号が用いられる。
【００４１】
有利には、前記ターボコード・タイプ復号の各反復は、行と列を有するブロック・マトリクスを用いる。この場合、行復号操作（または列復号操作）を用いた後、列復号操作（または行復号操作）を用いる。これは前記行復号操作（または列復号操作）に対しアプリオリ情報が使用される。
【００４２】
この場合、好ましくは、各行（または列）はｋ個の情報ビットとｎ−ｋ個のパディング・ビットにより形成されるコード・ワードに対応し、各々１つのアプリオリ情報は前記ｋ情報ビットに対して使用される。
【００４３】
詳細には、使用されるコードがＲＶＬＣコードのとき、有利には、チャネル復号格子とソース復号格子とを連結する。前記チャネル復号はソースの１つのアプリオリ情報により制御される。
【００４４】
この時、チャネル復号格子を通過するパス上のソースにより認定されないシーケンスを最も確からしい（most probable）認定されたシーケンスに置換えるステップに関連付けて、「Ｌｉｓｔ−Ｖｉｔｅｒｂｉ」アルゴリズムとして知られる、並列または直列方式のアルゴリズムを適用するか、またはチャネル復号格子の前進および後退方向に、「ＳＵＢＭＡＰ」として知られるアルゴリズムを適用することができる。
【００４５】
好ましくは、復号方法はまた、復号されるコード・ワードのシーケンスの最後を検出するステップを用いる。
【００４６】
この検出ステップは具体的には、以下のグループに属する方法の少なくとも１つの方法を用いることで可能になる。
送信において、情報のシーケンスの最後を挿入し、
パディング・ビットを挿入して、チャネル・デコーダの格子を既知状態の最後を送られたシーケンスに関連付けし、
「テールバイティング（tail-biting）」として知られる方法を利用し、
循環格子を使用する。
【００４７】
有利には、前述とは異なる実施形態において、さらに前記方法は、コード・ワードと同様の多くの送出および到着ワードが発生する単一初期状態入（ｄ０）を有する、短縮された記号格子により、最も確からしい認定されたシーケンスを検索するステップを含む。
【００４８】
当然、本発明はまた、前述の復号方法の１つを用いるすべてのディジタル・データ・デバイス、ならびに送信におけるエントロピック・ソース符号化操作およびチャネル符号化操作と、受信における前述の復号操作とを用いるディジタル信号伝送システムに関連する。
【００４９】
本発明の他の特徴と利点とは、簡単な、実例を示す、比限定的な例と添付図面とによって与えられる、本発明の好ましい実施形態の以下の説明から明らかになるであろう。
【００５０】
（好ましい実施形態）
１．はじめに
本発明の目的は、ソースのアプリオリ情報、ＶＬＣコード・ワードの確率またはワード間の遷移の確率を使用して、記号の誤差率を低減する復号方法を提供することである。デコーダがビット・レベルのソースのアプリオリ情報を使用する場合に、この低減効果が大きいことが判明した。なぜなら、チャネル復号に関する情報はこのビット・レベルだけで抽出できるからである。
【００５１】
現在まで、ＶＬＣコードの復号に対し提案された方法の大部分は、ワード・レベル（または記号レベル、これら２つの用語は以下では区別せずに使用する）で動作し、したがって、ビット・レベルの外部情報を提供できない。さらにこれらの方法は、ほとんどの場合極めて複雑であり、その結果、送信される異なるワードの数が増加すると、実際には実現不可能である。ビット・レベルで試みた復号の唯一の例が［５］に示されている。明らかに、この方法は操作が非常に複雑で、すぐに実現が不可能になる。
【００５２】
これとは対称的に、本発明の方法を使用すれば、最適ワード・シーケンスだけでなく各ワードのビットの各々に関連する信頼性（dependability）を決定できる。これを実現するために、本発明はソースのアプリオリ情報、すなわちＶＬＣコードのアプリオリ確率（a priori probability）、またはコードのワード間のＭａｒｋｏｖ遷移のアプリオリ確率を使用する。
【００５３】
有利には、この方法はターボーコード・タイプの反復方式に使用して、伝送性能を改良できる。
【００５４】
２．表記
以後は、次の表記を使用する。
ソフト・デシジョンとは、ノン・バイナリ法の現実の決定に相当する。この決定のしきい値設定操作がハード・デシジョンを与える。
Ｅb／Ｎo比とは、有効ビット当り受取られたエネルギーをノイズの単一格子スペクトル密度（mono-lateral spectral density）で割った値に相当する。
画像のＤＣ（直流成分）帯域とは、ウェーブレットまたはＤＣＴによる変換後の画像の直流成分である。
受取られたビット・シーケンスは、ＸまたはＹの参照符号を付けられる。このシーケンスはｘi参照符号のワードから構成され、これらワードはｘiｊの参照符号のビットから構成される。
ｐ（ａ）＝Ｐｒ｛ｘi＝ａ｝という表記が使用される。
ＲＶＬＣ  ＜＜可逆  ＶＬＣ＞＞［８］は、ワードが両方向に復号されている可変長コード（variable length code）である。
ＳＩＳＯ（＜＜Ｓｏｆｔ−Ｉｎ  Ｓｏｆｔ−Ｏｕｔ＞＞）は入力としてソフト値を持ち、ソフト出力を送出する。
【００５５】
３．可変長コードのソフト・ソース復号
付録Ｂに、独立記号を発生するランダム・プロセスまたはＭａｒｋｏｖｉａｎランダム・プロセスのどちらかでソースをモデル化することにより、ハフマン・エンコーダ（付録Ａ参照）により送信された可変長ワード・シーケンスからどのように情報を抽出できるかを示す。
【００５６】
図１はバイナリ・ツリーの形態の代表的ハフマン・コードを示す。このコードは、確率ｐ（ａ）、ｐ（ｂ）、ｐ（ｃ）、ｐ（ｄ）およびｐ（ｅ）とそれぞれの長さ３、３、２、２および２とを持つ５つのワードａ、ｂ、ｃ、ｄ、ｅから構成される。
【００５７】
対応する符号化テーブルは以下に示す。
【表１】
0004836379.tif 000003
【００５８】
ビット・レベルを考える場合、本発明の方法によれば、図１のツリーを格子形態で記述するには４つの状態が必要である。これらの状態は記号の始点と終点に対してはｄ０、中間位置に対してはｄ１、ｄ２、ｄ３である。しかし、記号レベルでは、図２に示すように、ただ１つの状態ｄ０だけで十分である。したがって、このように定義された短縮記号格子は単一状態ｄ０を持つ格子であり、その格子から現存のＶＬＣと同数の出力ブランチと到着ブランチが発生する。図１の例では、各状態（ｔ−２、ｔ−１、ｔ）で、この格子はワードａ、ｂ、ｃ、ｄおよびｅに対応する５つのブランチを有する。
【００５９】
短縮格子記号は、ワード・レベルでの作用において、ソースのワードのアプリオリ確率を使用する。またこの格子を、Ｍａｒｋｏｖ確率を使用する復号において、相補格子（complementary lattice）として使用することも可能である。以下で明らかになるように、有利にはこの短縮格子を、本発明の復号に対する補完として用いることができる。
【００６０】
４．本発明によるビット・レベルでの復号
従来技術によれば、ＶＬＣソースを復号する方法では、ワード・レベルにおいてＶＬＣワードのアプリオリ確率を使用していた。これにより、復号されるシーケンスの各ビットの信頼性を送る必要を回避する。以下に、ワードのアプリオリ確率を分解して、ビットのアプリオリ確率を生成する方法を示す。次に、この方法に依存する復号方法を述べる。
【００６１】
４．１  ビット・レベルにおけるＶＬＣコード・ワードのアプリオリ確率の使用
ここでは、ワードの確率をバイナリ確率の積に分解する方法を説明する。
【００６２】
ワードａの例を取ることにする。図１のツリーにより、以下の式を得る。
【数３】
0004836379.tif 000004
【００６３】
この確率は次の式にしたがって分解できる。
【数４】
0004836379.tif 000005
【００６４】
このため、確率ｐ（ａ）は、ワードａのビットの各々に関連付けされた３つの確率の積になる。
【００６５】
復号されるワード内のビットの位置を示す格子を用いて、これらバイナリ確率を使用してバイナリ「ソフト」復号を用いる。
【数５】
0004836379.tif 000006
【００６６】
例えば、ワードａの第２位置にあることが既知の場合、そのブランチ上で使用される確率は以下のようになる。
【数６】
0004836379.tif 000007
【００６７】
ワードａおよびｋ＝０、１、２に対し、ワードａの確率を計算すると以下のようになる。
【数７】
0004836379.tif 000008
【００６８】
図１のツリーは即座に回答を与える。以下の式が、異なるツリートップにおいてそれから導き出される。
【数８】
0004836379.tif 000009
【数９】
0004836379.tif 000010
【００６９】
この計算は、実際のハフマン・コードの場合に対しては容易に一般化できる。Ｃ＝（Ｗi）をハフマン・コード・ワードのセットとして以下のようにする、すなわち、
【数１０】
0004836379.tif 000011
をそれのｋ第１ビットがワードｘiのｋ第１ビットに等しいワードの指数のセットとし、また
【数１１】
0004836379.tif 000012
をそれのｋ番目のビットがｓ（ｓ(｛０，１｝）に等しいワードのＳkの指数であるとすると、以下の式が得られる。
【数１２】
0004836379.tif 000013
【００７０】
計算の原理が、独立ワードのソースの場合としてここに示されている。Ｍａｒｋｏｖソースに対しても、この原理は、計算される確率の各分布が前に求めたワードに依存することは除いては、同一である。このように計算は前のワードの可能性すべてに対し用いる必要がある。
【００７１】
ＶＬＣコードのワードのすべてに対しこの分解を用いると、バイナリ確率の使用を可能にする短縮バイナリ格子が得られる。バイナリ確率の積へのｐ（ａ）、ｐ（ｂ）、．．．の分解は、バイナリ確率とワードの確率との間に一定の関係を必要とする。これらの関係が維持されるのは、ツリーのブランチと格子のブランチとの間に全単射（bijection）がある場合だけである。格子は、各ワード内のビット位置を与える最小限の複雑性を持ち、同一並列ブランチ（すなわち、同一開始状態、同一到着状態および同一ラベル）を回避する必要がある。
【００７２】
４．２  短縮バイナリ格子（＜＜ＳＩＳＯ−ｈｕｆｆ＞＞と呼ばれる）
最初に、短縮バイナリ格子の構成アルゴリズムを述べる。次に、この格子に関する復号アルゴリズム、特にアプリオリバイナリ確率の使用について説明する。
【００７３】
４．２．１  短縮バイナリ格子の構成アルゴリズム
格子の初期化
格子の第１状態は、状態０：ツリーの起点
ｉ＝１
構成ループ
｛
ＶＬＣテーブルの各ワードに対しＦｏｒループを実行
このワードの各ビットに対しＦｏｒループを実行
状態の構成
このビットにより表記されたツリーのブランチの開始状態が格子の状態に関連付けされていない場合、状態格子を加える、状態Ｉ
ｉ＋＋
ブランチの到着状態が格子の状態に関連付けされていない場合
それがツリーの非端末ノードに相当する場合
状態を格子に加える、状態ｊ（ｊ＝ｉ）
ｉ＋＋
その他の場合、この状態を状態ｊ（ｊ＝０）に関連付ける
ブランチのラベリング
ブランチが存在しない場合、状態ｉと状態ｊとの間に、処理されるビットにより表記されるブランチを作成する
｝
【００７４】
本明細書の例では、図３の格子はこのようにして得られた。
この格子はワード内のビット位置を与える。現在の状態が状態ｉの場合、ツリーから、格子の状態ｉとツリーの位置ｊとの間の全単射一致（bijective correspondence）が存在するために、現在位置は処理されるワードの位置ｊであることが認識される。
【００７５】
４．２．２  短縮バイナリ格子から復号する復号アルゴリズム
以下に述べるシミュレーションに対するこの格子に使用する復号アルゴリズムは、並列ブランチを処理するために［１４］のＢｅｎｅｄｅｔｔｏにより修正されたＢＣＪＲ（Ｂａｈｌ  Ｃｏｃｋｅ  Ｊｅｌｉｎｅｋ  Ｒａｖｉｖ）［１３］のアルゴリズムである。
【００７６】
各ブランチに関し計算されるメトリックは、チャネルに関しての有効情報と前に計算されたアプリオリ確率とを考慮に入れる。より詳細には、ブランチに対する計算式［１５］は以下のようになる。
【数１３】
0004836379.tif 000014
【００７７】
離散的な時点ｋでは、ペア（ｘk，ｘpk）は、受信されたビットの尤度のペアであり、ｄk-1とｄkはそれぞれブランチの出力および到着状態である。ａkはブランチに関連付けされた情報ビットである。
【００７８】
式（１４）の連続した最初の２つの項はチャネルに有効な情報と呼ぶ。第３項、
【数１４】
0004836379.tif 000015
はアプリオリバイナリ確率に相当する。
【００７９】
一般には、ソースのこのアプリオリ情報は多くの以下のタイプにできる：
アプリオリ情報が、ハフマン・コ−ド・テーブルの、可逆（ＲＶＬＣ）または非可逆の情報に相当する。この場合、アプリオリ情報はセット｛０，１，０．５｝に属する確率から構成される。
または、アプリオリ情報が、ハフマン・コ−ド・テーブルの、可逆または非可逆の情報、および関連ワードの確率の情報に相当する。この場合、アプリオリ情報はセグメント［０，１］に属する確率から構成される。
または、アプリオリ情報が、送られるワード数の情報、係数により取ることができるビット数または境界線値の情報に相当する。
【００８０】
この格子は、ＢＣＪＲまたはＳＯＶＡ（「Ｓｏｆｔ  Ｏｕｔ  Ｖｉｔｅｒｂｉ  Ａｌｇｏｒｉｔｈｍ」）タイプのソフト・バイナリ復号に使用できる。Ｍａｒｋｏｖアプリオリ確率の使用において、ＢＣＪＲアルゴリズムが使用される場合、ソフト復号は、各ステージに対し最も確からしい先行ワードを示す並列処理操作を必要とする。この処理は短縮記号格子により達成される。この複雑性の増加により、ＳＯＶＡアルゴリズムまたはＳＵＢＭＡＰアルゴリズム［１１］が優先的に使用されることになる。
【００８１】
４．２  一般化
提示した方法は、Ｈｕｆｆｍａｎテーブルがさらに多くのビット数を含む場合にも容易に拡張できる。しかし、短縮バイナリ格子の複雑性はＨｕｆｆｍａｎテーブルのワードの数の増加と共に増大する。
【００８２】
ＲＶＬＣコード［８］への本発明の方法の利用は、当然考えられる。＜＜ＳＩＳＯ＿ｈｕｆｆ＞＞ブロックの格子は別の方向の復号で使用できるが、これは複雑性の増加を意味する。１つの代替方法は、「前進」フェーズに対しては１つの方向のアプリオリ確率、および「後退」フェーズに対し反対の方向のアプリオリ確率を使用することである。
【００８３】
さらに、同等ハフマン・コード［１７］の間を検索し、「ＳＩＳＯ＿ｈｕｆｆ」ブロックのソフト復号に最適のものを見出すことも有効である。
【００８４】
５．ソースとチャネルとの結合復号化
５．１「ＳＩＳＯ＿ｈｕｆｆ」ブロック利用の原理
短縮バイナリ格子またはＳＩＳＯ＿ｈｕｆｆ」は、ＳＩＳＯタイプ復号化に対して使用され、したがって図４と同様の反復復号化方式に使用できる。
【００８５】
図４の各復号ブロック４１〜４４は、復号されるビットの外部情報を抽出し、その情報を次のブロックに送る。異なるブロック間を流れる情報は、参考文献［１５］のように、外部的な（extrinsic）確率である。
【００８６】
２つのチャネルデコーダＤＥＣ１およびＤＥＣ２、４１と４３から、２つの異なる外部情報が、その情報が「ＳＩＳＯ＿ｈｕｆｆ」ブロック４２または４４により使用されているか、または別のチャネル・デコーダ４１または４３で使用されているかに依存して、抽出される。次のチャネル・デコーダにより使用される外部情報４５1および４５2は、従来ターボコードで使用される情報である。「ＳＩＳＯ＿ｈｕｆｆ」ブロック４２、４４により使用されている情報は、太字で示され、４６1および４６2はこの第１の情報に相当し、その情報から以前の「ＳＩＳＯ＿ｈｕｆｆ」４４、４２ブロックから得られた情報を削除する。これは、反復復号ブロックはすでに作成されている情報を使用する必要がないという規則に従う目的でなされたものである。
【００８７】
反復デコーダの全体構成は詳細には述べないが、それ自体は［１］で理解される。モジュールＥ４７1および４７2はインターリーバ（符号化操作で用いられるものと同一）であり、モジュールＥ*４８はインターリーバと対称のデインターリーバである。
【００８８】
以下の情報を考慮に入れる。
Ｘk：送られた情報ビットに関する受信される尤度情報
Ｙ1k：エンコーダ１から来るパリティ・ビットに関する尤度情報
Ｙ2k：エンコーダ２から来るパリティ・ビットに関する尤度情報
Ｐｒｏｂａ：アプリオリ確率
Ｈａｒｄ＿ｏｕｔｐｕｔ：復号された情報ビット
【００８９】
この方式は代表的な反復結合復号システムであり、このシステムでは、１つのアプリオリ情報およびチャネルの情報がそれらの関連格子に対し順に使用される。提案された第２方法に見られるように、チャネル・デコーダの格子に対しこれら２つの情報の結合使用を考えることもできる。
【００９０】
５．２  第２の結合ソースと−チャネルとを結合した復号化アルゴリズム
図４で提案された結合復号化は２つの復号化機能を、反復的および連続的に用いる。以下に、単一復号化ブロックが両方の操作を同時に用いる方法を示す。この方法はまた、Ｍａｒｋｏｖソースの復号化に適用できる。
【００９１】
開発された概念は、（重畳またはブロック）チャネル・デコーダ格子およびツリーで表わすことができるソースによって形成されるすべての伝送チェーンに適用できる。
【００９２】
５．２．１  格子を構成するアルゴリズム
使用される格子はチャネルエンコーダの格子であり、新しく構成する必要はない。
【００９３】
５．２．２  復号アルゴリズム
復号アルゴリズムはＶｉｔｅｒｂｉタイプのアルゴリズムである。このアルゴリズムは最も確からしいワード・シーケンスを復号する。メトリックの計算は、チャネル上の情報（これは通常の場合である）だけでなくバイナリアプリオリ確率を利用する。
【００９４】
一般には、各ステージの各状態で、格子パスの方向に対して過去に復号された、（この状態を通過する）ビットのシーケンスに依存する関連する情報が有る。この情報は特に、前記エントロピック・コードを表わすツリー内で考慮されるビット位置を指定できる。例えば、この情報はまた、復号されるワードの数または復号される係数の取る値の確認にもなる。
【００９５】
この方法はＨａｇｅｎａｕｅｒ［１５］により提示された方法と類似であるが、ここでは可変長コードに適用される。
【００９６】
最後に、このアルゴリズムはハフマン・ツリーのどのブランチが、チャネル・デコーダ上で現在処理されているブランチに対応するのかを知る必要がある。この情報は、アルゴリズムに対し、適正なバイナリアプリオリ確率（パラグラフ４．１に従って計算され、アプリオリにテーブルに格納されている）を与えるのに十分である。
【００９７】
この情報には、各ステージに対してツリー内の最新のビット位置と、チャネル・デコーダの格子の各状態とを維持することにより、容易にアクセスできる。
【００９８】
チャネル・デコーダの各状態に対し、
各状態に対し、
｛
ＡＣＳ（Ａｄｄ  Ｃｏｍｐａｒｅ  Ｓｅｌｅｃｔ）フィールド
チャネルのメトリックとソースのメトリックとをその状態に入って来る２つのブランチに加える
得られた２つの新しいメトリックを比較し、更新された小さい方のメトリックを選択する。
ワードの最後に達する場合、
ノード＝ツリーのルート
そうでない場合
ノード＝ツリーの次のノード
｝
【００９９】
再度、図１のツリーの例を取上げる。アルゴリズムは、図５に示すように進行する。考慮されるステージにおいて、２つの同時実行されるシーケンスが各文字の第２状態に達する。各シーケンスは異なるＶＬＣワードのストリングに相当する。実線で示された第１ワードはｅ、ｄの送出に相当し、点で示された第２ワードはｂ、ｅに相当する。これらの各々に対するアプリオリブランチ確率Ｐ［Ｓ２］［０］およびＰ［Ｓ０］［１］は、シーケンスに示されるノードＳｉおよびブランチを表記するビット０または１に依存する。ブランチの確率を計算すると、関係（６）により、従来のＡＣＳを実行することができる。
【０１００】
この方法は極めて有用である。なぜなら、この方法は、「ＳＩＳＯ＿ｈｕｆｆ」ブロックの解法と同様に、ハフマン・テーブルのサイズによる複雑性に制限されず、極めて小さい範囲だけのチャネル・デコーダの本発明の複雑性を増加させるだけである。
【０１０１】
６．反復結合復号方式への第２アルゴリズムの利用
６．１  この方法の反復方式への利用
図６は、反復復号操作における使用方式を示す。第１デコーダ６１は、同一格子上のチャネル情報およびアプリオリ情報を使用する。しかし、第２デコーダは、参照符号Ｅのインターリーバ６３がＶＬＣコード・ワード間の関係を破壊するため、使用できない。このインターリーバは、確率ｐ（０）およびｐ（１）（ほとんどの場合は異なる）を使用する。
【０１０２】
６．２  ２つの結合復号方法の全体
前述の両方の方法は、図７の例で与えられる方式のような反復方式に使用できる。この図では、表記は前述の表記と同一である。
【０１０３】
ワード間の関係を維持するインターリーバを備えることにより、最適バイナリ・インターリーブとワードのアプリオリな構成の保存との間の折り合いを実現する。
【０１０４】
７．ブロックのターボコードの場合
ブロックのターボコードの各反復は、行のソフト（重み付け決定）復号と、その後の列のソフト復号（またはその逆順序）を含む。以下に述べる方法は、アプリオリ情報を行の復号操作上で使用しても、または列の復号操作上で使用しても、同様の手順で使用される。同一の手順において、重畳ターボコードに対し、アプリオリ情報は１方向だけ（行または列）に使用できることに注意が必要である。この理由はインターリーバが別の方向に対しては、ビット順序を破壊するためである。
【０１０５】
ブロック・マトリクスの各行（または列）は１つのコード・ワードに相当する。ｋ／ｎの発生を持つコードに対し、コード・ワードはｋ個の情報ビットとｎ−ｋ個の余剰ビットを含む。
【０１０６】
ｋ個の最初のビットのセットを参照符号Ｋとし、ｎ−ｋ個のパリティ・ビットを参照符号Ｍとすると、コード・ワードＣのアプリオリ確率の式は以下のようになる。
【数１５】
0004836379.tif 000016
したがってアプリオリ情報は各コード・ワードのｋ個の最初のビットに対して使用される。
【０１０７】
そこから、ワードの確率は以下により与えられることが導き出される。
ソースから送られたワードが独立である場合は以下になる。
【数１６】
0004836379.tif 000017
送られたワードが一次のＭａｒｋｏｖ処理、例えば直流成分と見なすような副帯域エンコーダの処理に従う場合、以下のようになる。
【数１７】
0004836379.tif 000018
【０１０８】
ｋ個のビットの各グループの最後において、すでに到着しているハフマン・コードのツリーのノードをメモリに格納して、図９に示すように、ｋ個のビットの後続グループの復号に使用できるようにする。この情報を送出して、コード・ワードの各開始におけるの出発となるノードを確定できる。しかし、この方法は、その分複雑性を増す。
【０１０９】
ターボコードの一般的復号方式は、ブロック・ターボコードまたは重畳ターボコードのどちらを使用しても、同一であることに注意すべきである。差異はインターリーバ内と２つのデコーダＤＥＣ１およびＤＥＣ２の各々内にある。
【０１１０】
８．  ＲＶＬＣコードの場合
以下に、ソースのアプリオリ情報を使用してＲＶＬＣコードを復号する方法を実現する本発明の変形形態を説明する。
【０１１１】
この方法の特定の形態は、格子パスの前進および後退フェーズにおける、ＲＶＬＣコードが両方向に復号される特性を利用する、ソースのアプリオリ情報の使用である。
【０１１２】
８．１  ＲＶＬＣ復号の最新状況
可変長コードの強固性を増すために、ＲＶＬＣコード［８］が提案されてきた。
ＲＶＬＣコードはハフマン・コードの拡張である。このコードは両方向の、前置条件条件として既知の条件を確認する。したがって、ＲＶＬＣワード・シーケンスが１つの方向またはそれと別方向を取っていても、このバイナリ・シーケンスは符号化されるエレメントを表わすことも、また同時に、別のエレメントのコードの開始を設定することもできない。この２つの特性により、ハフマン・コードの作成における、圧縮レベルの損失を発生し、かつ制約を要求する。ＲＶＬＣコードは対称または非対称のどちらにもできる。
【０１１３】
以下の例は対称の４つのワードのＲＶＬＣコードを示す。
【表２】
0004836379.tif 000019
【０１１４】
さらに、これらコードを復号する方法のいくつかはすでに述べてきた。
Ｒ．ＢａｕｅｒおよびＪ．Ｈａｇｅｎａｕｅｒ［２０］は、チャネル・デコーダとソース・デコーダを結合する反復フレキシブル復号方法を提案しており、その方法では、ＲＶＬＣコードを表わすビット・レベルで使用される格子が存在する。
Ｊ．ＷｉｅｎおよびＪ．Ｖｉｌｌａｓｅｎｏｒ［２１］は、ビットのハード値での作用におけるＲＶＬＣコードの可逆性特性を利用する簡単な方法を提案している。
【０１１５】
８．２  Ｌｉｓｔ−Ｖｉｔｅｒｂｉアルゴリズム用いるＶＬＣの復号の現状
Ｌｉｓｔ−Ｖｉｔｅｒｂｉアルゴリズムの使用を通して、シーケンスを分類し、発現の確率順に記憶できる。この記憶により、最も確からしいシーケンスがアプリオリ条件を確認できないときにも、特定シーケンスの使用が可能になる。
【０１１６】
このアルゴリズムは、デコーダが受取りおいて、送られたワード数を知るときの、ＶＬＣコードの復号に対し、ＭｕｒａｄおよびＦｕｊａにより使用されている［２２］、［２３］。
【０１１７】
８．３  ＲＶＬＣコードのハードおよびソフト・ソース復号
８．３．１  ＲＶＬＣコードのハード復号
ノイズ性のＶＬＣまたはＲＶＬＣワード・シーケンスの復号において、特定エラーが検出されて、対応するフレームの復号を停止させることがある。これらのエラーには多くのタイプ［２４］がある。
現在の限界を超える値
現在のテーブル以外のＲＶＬＣワード
予測数を超えて検出されらワード数
【０１１８】
最初の２つのタイプのエラーは、ハフマン・テーブルに存在しないワードの復号に相当する。
【０１１９】
エラー検出は、復号を停止させ、エラーをほぼ集中化させる可能性がある。ＶＬＣコードを用いて、フレームの残りを失うと考える。ＶＬＣコードを用いて、最後（シーケンスが終了する場所が既知と仮定して）から開始して、エラーを検出するまで、後方向に復号を開始できる。このように、ＲＶＬＣを使用して、情報の一部を回復できる。可能な復号方法は［２２］にまとめられている。この方法は、前進および後退方向の復号操作がエラーを検出する場合と、それらがエラーを検出しない場合とを区別する。
【０１２０】
最初の２つのタイプのエラーを克服する１つの方法は、認定されたシーケンス間から、受信されたシーケンスに最も関連のあるシーケンスに対し検索を行うことにより、ハード復号操作を実行すう。この検索は、前述の短縮記号格子により実行される。
【０１２１】
８．３．２  ＲＶＬＣコードのソースとチャネルとの結合でのソフト復号化
現在までに、ＶＬＣおよびＲＶＬＣコードのソースとチャネルとの結合でのソフト復号化に対し、いくつかの方法が提案されてきた。
【０１２２】
しかし最適方法は、非常に複雑であり、チャネル格子とソース格子との乗算方法である［５］。
【０１２３】
最適に近い方法は、前述のチャネル格子とソース格子との直列配置方法であり、アルゴリズムが反復される場合はインターリーバにより分離できる可能性がある［２０］。この方法はＶＬＣまたはＲＶＬＣテーブルのワード数の増加に伴い、すぐに複雑になる。
【０１２４】
複雑性の少ない別の方法は２つの格子の連結と考えられる。この時、チャネル復号は、前述の提案と同様に、ソースのアプリオリ情報を使用して制御される。
【０１２５】
３つの方法がターボコードとの結合で使用できるが、最後の２つは利得と計算複雑性との妥協に関して考慮する必要がある。
【０１２６】
本発明による第１の新しい方法は、ＶＬＣの復号に対し参照される最後の方法を基本にし、それを、並列または直列タイプのＬｉｓｔ−Ｖｉｔｅｒｂｉアルゴリズム［２５］を使用してＲＶＬＣコードに拡張する。ＲＶＬＣコードの復号に対してＬｉｓｔ−Ｖｉｔｅｒｂｉアルゴリズムが必要な理由は、ＶＬＣコードの復号の場合と同様に、シーケンスが受取りにおいてすべてが認定されないという事実により説明できる。最も確からしい認定されたシーケンスを格納することにより、それらを、チャネル・デコーダの格子に沿う復号フェーズにおいて、非認定シーケンスの代替に再使用できる。
【０１２７】
この新しい方法は、実際のデータに適用されるＶＬＣまたはＲＶＬＣの復号の場合にも拡張できる。この実際のデータに対しては、例えばシーケンスのワード数の追加のアプリオリ情報、係数が取ることのできる値の間隔の追加のアプリオリ情報が存在する。
【０１２８】
ＲＶＬＣコードの復号の第２の新しい方法は、図１０に示すように、復号の両方向において、ＳＵＢＭＡＰ［２６］のアルゴリズムに対しＬｉｓｔ−Ｖｉｔｅｒｂｉアルゴリズムの同等アルゴリズムを使用する。ＳＵＢＭＡＰのアルゴリズムを用いて作用する利点は、操作モードから発生する。
【０１２９】
このアルゴリズムは３つのフェーズに細分される。
１つの方向にシーケンスを復号する「前進」フェーズ１１０、
反対の方向にシーケンスを復号する「後退」フェーズ１１１、
は前の２つのフェーズを使用して、復号されたビットのＡＰＰを戻す事後確率（ＡＰＰ）フェーズ１１２。
【０１３０】
ＲＶＬＣの復号はまた、それらの２方向復号特性を通して両方向になされる。チャネル符号化とソース符号化との類似性は、これら２つの方法の組合わせが有利であることを立証できることを示す。したがって、チャネル・デコーダの格子で受信されたシーケンスを復号する間、各復号方向はそれのアプリオリ情報１１３を使用できる。後退方向のアプリオリ情報を可能な限り最良に使用するために、格子の最終状態を知ることは有利である。この情報は、それを送信するか、またはパディング・ビットを置くか、または「テール−バイティング」または循環格子法［２７］のどれかにより得られる。
【０１３１】
使用されるアプリオリ情報には、すでに述べた２つのタイプがある。
【０１３２】
アプリオリ情報を使用してソフト・チャネル復号がなされると、得られたソフト・シーケンスは必ずしも認定されるシーケンスではない。なぜなら、前進および後退フェーズはこの条件を保証するが、ＡＰＰフェーズは保証しないからである。この時、このチャネル復号を、最も確からしい認定シーケンスを与える短縮記号格子１１４のソースにより検査することが有利である。
【０１３３】
８．４  ターボコードを使用するソフト・ソース−チャネル復号
前述の復号方法はターボコード・タイプ方式に有利に適用できる。この時、チャネル・エンコーダはターボコードに置換えられる。これにより、信号対ノイズ比の範囲全体に渡り、低い信号対ノイズ比で得られた利得を維持できる。
【０１３４】
第１の方法では、ソース格子１２０は、図１１に示される２つのデコーダの直列に使用される。
【０１３５】
第２の方法は、前述の第２原理を取る。すなわち、チャネル格子は、図１２で説明したように、アプリオリ情報を直接使用する。以前の部分の場合と同様に、「後退」方向においてアプリオリ情報を可能な最良の使用を行う。これは、格子の最終状態を知るのに有効である。この情報は、それを送信するか、またはパディング・ビットを置くか、または循環符号化方法を使用するか、のどれかにより得られる。この方法は、循環体系コード（ＲＳＣ：Ｒｅｃｕｒｓｉｖｅ  Ｓｙｓｔｅｍａｔｉｃ  Ｃｏｄｅｓ）に対し、非体系コード（ＮＳＣ）［２８］に対する「テール−バイティング」方法である。
【０１３６】
９．性能
ハフマン・コードのソフト・デシジョン復号を実行する可能性はすでに示した。すでに公開されている研究結果と比較すると、本発明の方法はビット・レベルでの操作が可能である。「ＳＩＳＯ＿ｈｕｆｆ」と呼ばれる重み付けされた入力と出力を有するソース復号ブロックは、したがって、チャネル復号方式のターボコード・タイプに導入できる。別の可能性はソースのアプリオリ情報をチャネル・デコーダで直接使用することである。この第２方法は明らかに複雑性が少なく、「ＳＩＳＯ＿ｈｕｆｆ」を用いて得られる結果と同等の結果を与える。
【０１３７】
このタイプの方式により得られる利得は、第１には、ハフマン記号の確率または遷移のそれらの確率のアプリオリ情報を、第２には、チャネルのＥb／Ｎo比のアプリオリ情報を持つソースに対し使用されるモデルに依存する。
【０１３８】
本発明の内容を比較すると、本発明の結果は、対応するタンデム方式に関するものと評価する。１０-2〜１０-3のバイナリ誤差率の範囲内で、両方の新しい方法は、それらの最初の反復で開始する０．５〜１ｄＢの利得を提供し、ＮＳＣ（または非体系コーダ）を用いてこれを達成する。
【０１３９】
さらに、反復方式のターボコード・タイプでそれらを使用することにより、０．５〜１．５ｄＢまで性能を改良できる。利得は、Ｓ／Ｎ比および残留余裕に依存する。さらに、両方の方法の結合使用は、さらに大きい累積利得を提供する。
【０１４０】
発表された利得値の拡大では、最大値は低い信号対ノイズ比で得られる。これにより、伝送の操作範囲は大幅に広がる。ターボコード・タイプ方式では、これは、ターボコード効果の発揮の点で、対応するシフト、ここでは０．５〜１．５ｄＢのシフトを提供できる。
【０１４１】
チャネル・デコーダ格子の復号において、第１方法は、「ＳＩＳＯ＿ｈｕｆｆ」格子の復号アルゴリズムの実行を必要とし、一方、第２方法はテーブルの更新を必要とするだけである。さらに第１方法と同様に、第２方法はＶＬＣテーブル内のワード数と共に増加しない計算複雑性を有する。
【０１４２】
ハフマン・タイプの可変長コードの使用は非常に広範囲であるため、これらの復号方法は多くの事例に適合できる。適用例は非常に多い。ハフマン・テーブルは、例えば、内部符号化画像およびモーション・ベクタ符号化のＤＣ帯域およびＡＣ帯域係数を符号化するＭＰＥＧ４標準に見られる。
【０１４３】
本発明はまた、画像符号化の標準適合または準標準適合システム、およびＢＲＡＮ（＜＜Ｂｒｏａｄｃａｓｔ  Ｒａｄｉｏ  Ｎｅｔｗｏｒｋ＞＞）のような無線移動チャネルを表わすモデルを考慮に入れた、本格的規模の伝送システムで使用可能である。
【０１４４】
付録Ａ
ハフマン・コード（［１８］）はエントロピック・コードであり、このコードは、平均より長いバイナリ長に関し低い確率を持つデータを符号化してソースを圧縮し、短いバイナリ長に関し高い確率を持つワードを符号化する。ハフマン・コードは広く使用されている。その理由は、記号当りのビットの小さい平均数を与える、他の整数コード（記号がビットの全数に対して符号化されているコード）が存在しないためである。ハフマン・コードの基本特性の１つは、バイナリ・シーケンスが符号化されるエレメントを表わすことができず、同時に、別のエレメントのコードの最初の部分を構成できないことである。ハフマン符号化の特性はバイナリ・ツリー構造により表わすことができ、その構成では、ワードのセットがツリーのルートからツリーのリーフへのパスのセットにより表わされる。
【０１４５】
ハフマン・コードの構成を表わす多くの方法がある。最も簡単に表わす方法はツリー構造を基本にする。
【０１４６】
それぞれの確率ｐ（ａi）を持つＮ個のワードａiを取ることとする。ツリーはそれのＮ個の端末先端から構成される。
【０１４７】
各端末先端ｉは、確率ｐ（ａi）を割り当てされ、ワードａiのバイナリ分割を提供する。
【０１４８】
ツリー構造のアルゴリズムは、各ステップで、前のステップの２つの最も低い確率を加算して、その加算確率に割り当てられた先端でそれらを結合する。
【０１４９】
最後のステップで、確率１を持つ先端が得られる。これはツリーのルートである。
【０１５０】
残りの実行すべきことは、１を持つ各選択端の右側ブランチと０を持つ左側ブランチとに索引を付けることにより得られる、ツリーのブランチをラベル表示することである。次に、確率１を持つ先端から先端ｉまでツリーを移動することにより、ワードａiのバイナリ分割が得られる。
【０１５１】
説明例は、図６に示す４つのワードの場合を使用している。
【表３】
0004836379.tif 000020
【０１５２】
付録Ｂ
独立またはＭａｒｋｏｖｉａｎ記号のソース復号
２つの最適構造が符号化シーケンスの復号に使用される。各々は異なる基準、すなわち最尤（most likely）シーケンスの基準、またはＭＡＰ（maximum a posteriori;最大事後）基準と一般に呼ばれる最尤記号（most likely signal）の基準を基にしている。
【０１５３】
１．Ｖｉｔｅｒｂｉアルゴリズム
最尤シーケンスの検索はＶｉｔｅｒｂｉアルゴリズム［９］を用いて実行され、そのアルゴリズムは、送出された最も確からしいシーケンスＸと、既知である受信したシーケンスＹとを検索する。
【数１８】
0004836379.tif 000021
対数関数は狭義増加関数であるため、ｌｏｇＰ（Ｘ／Ｙ）の最大に等しい。
【数１９】
0004836379.tif 000022
Ｂａｙｅｓ法則を適用すると、
【数２０】
0004836379.tif 000023
基準は以下になる。
【数２１】
0004836379.tif 000024
【０１５４】
Ｘにの後方情報はこれらを２つの項に分割できる。第１のｌｏｇＰ（Ｙ／Ｘ）はチャネルにより与えられた情報に関係し、第２のｌｏｇＰ（Ｘ）は送られたシーケンスのアプリオリ情報に関係する。
【０１５５】
チャネルのノイズのサンプルが独立である場合、雑音Ｐ（Ｙ／Ｘ）の定理は、ワードｘiおよびｙiの各々を妨害するノイズの確率と、伝送されるビットｘijおよびｙijの確率との定理の積で表わされる。
【数２２】
0004836379.tif 000025
アプリオリ確率Ｐ（Ｘ）に関して、２つの仮定を考慮する。
ソースにより送信されるワードは独立である
【数２３】
0004836379.tif 000026
送出されるワードは、例えば、ＤＣ成分に関係する副帯域画像エンコーダの場合のような、一次Ｍａｒｋｏｖ処理に従う。この時以下の式を使用する。
【数２４】
0004836379.tif 000027
【０１５６】
従来、Ｖｉｔｅｒｂｉアルゴリズムによる復号はＡＣＳ（Ａｄｄ  Ｃｏｍｐａｒｅ  Ｓｅｌｅｃｔ）フェーズを含む。各ステージおよび各状態において、２つの同時発生シーケンスの各々に関連するブランチのメトリックを合計し、得られた２つのメトリックを比較し、小さい方のメトリックのシーケンスを選択する。
【０１５７】
２．ＭＡＰアルゴリズム
ＭＡＰアルゴリズムによる復号は以下の規則に従ってなされる。
【数２５】
0004836379.tif 000028
【０１５８】
確率ｐ（ｘij＝＋１／Ｙ）の計算は複雑である。この複雑性は性能コストの低減で補われる。複雑性の少ないアルゴリズムはＳＵＭＭＡＰアルゴリズム［１１］と呼ばれる。
【０１５９】
３．デコーダの決定の重み付け
この重み付けは、デコーダによりなされる評価において信頼性の高い情報である。この「ソフト」の情報は、時には外部情報と呼ばれ、外部デコーダ、ソース・デコーダ、または情報の受取りで機能する他のデバイスにより使用される［１２］。
【０１６０】
いくつかのアルゴリズムが、デコーダ値に対する重み付け決定を与える。
ＳＯＶＡ（ソフト出力Ｖｉｔｅｒｂｉアルゴリズム）［１３］は、Ｖｉｔｅｒｂｉアルゴリズムをわずかに変更したものを基本とする。
（Ｂａｈｌ  Ｃｏｃｋｅ  Ｊｅｌｉｎｅｋ  Ｒａｖｉｖ）［１４］アルゴリズムはＭＡＰ基準を基に確立されている。
【０１６１】
ＶＬＣ符号化ソースまたはチャネル・エンコーダから送られたソースは、外部情報を抽出できる格子により表わすことができる。本発明の一部分は、ソースのＶＬＣコードからのこの種の格子を形成することを提案する。
【０１６２】
付録Ｃ
［文献］
【表４】
0004836379.tif 000029
【０１６３】
【表５】
0004836379.tif 000030
【０１６４】
【表６】
0004836379.tif 000031
【図面の簡単な説明】
【図１】  バイナリ・ツリーの形態の代表的なハフマン・コードを示す。
【図２】  図１のツリーに対応する、短縮記号格子として知られる、本発明による記号格子を示す。
【図３】  図１のツリーに対応する、短縮記号格子として知られる、本発明によるバイナリ格子を示す。
【図４】  本発明による「ＳＩＳＯ＿ｈｕｆｆ」モジュールを用いる、結合ターボコード・タイプの復号構造を示す図である。
【図５】  実施態様の第２方式による結合ソース−チャネル復号アルゴリズムの進行を示す。
【図６】  図５のアルゴリズムを用いる結合復号の反復方式を示す。
【図７】  図４〜６の方法の組合せを示す。
【図８】  付録Ａで解説されている、ハフマン・コードの構成を示す。
【図９】  ハフマン・コード・ブロックのターボ復号マトリクスを示す。
【図１０】  ＲＶＬＣコードの結合復号を示す。
【図１１】  短縮格子を使用して、ターボコードを持つＲＶＬＣコードの結合復号を用いる２つのモードを示す。
【図１２】  短縮格子を使用して、ターボコードを持つＲＶＬＣコードの結合復号を用いる２つのモードを示す。
【図１】
0004836379.tif 000033
【図２】
0004836379.tif 000034
【図３】
0004836379.tif 000035
【図４】
0004836379.tif 000036
【図５】
0004836379.tif 000037
【図６】
0004836379.tif 000038
【図７】
0004836379.tif 000039
【図８】
0004836379.tif 000040
【図９】
0004836379.tif 000041
【図１０】
0004836379.tif 000042
【図１１】
0004836379.tif 000043
【図１２】
0004836379.tif 000044