しかしながら、前述した特許文献1および非特許文献1に記載された素数インターリーバをハードウェア回路により実現しようとすると、乗算器と剰余計算器とが必須となるが、これらを極力必要としないインターリーバを開発し、処理内容を簡略化することにより、処理時間の短縮、チップサイズの小型化、発熱量の低減を図ることができれば便利である。また、符号器側の2つの部分符号器、あるいは復号器側の2つの部分復号器に対する入力系列の無相関性の程度を、より一層高め、インターリーバの性能を向上させることが望まれる。
さらに、ターボ符号用のインターリーバに限らず、符号順序変換装置によるランダム化の程度を高めることができれば、各種の情報処理機器の性能の向上に結び付けることが可能となる。
なお、前述した非特許文献3や非特許文献4に記載された技術は、単に擬似確率過程の生成を目指したものであり、本発明のような符号順序変換およびその復元に関する方法や装置の仕組みを提供するものではない。
本発明の目的は、程度の高いランダム化を実現できる符号順序変換方法およびその装置、符号順序変換テーブル作成装置、並びにターボ符号用の符号器および復号器を提供するところにある。
本発明は、ビット系列を構成する各ビットに実数ラベルを付し、この実数ラベルの大小関係を利用して符号順序変換処理を実現することにより前記目的を達成しようとするものである。
具体的には、本発明の符号順序変換方法は、情報ビット系列の符号順序変換処理に先立って、情報ビット系列の代用として仮想ビット系列を生成または用意し、この仮想ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この仮想ビット系列を構成する各ビットに付される実数ラベルをランダムに生成し、生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の仮想ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置し、行列形式で配置された各配列位置情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行った後、行列形式で配置された行内ソーティング後の各配列位置情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行い、行列形式で配置されたブロックソーティング後の各配列位置情報を列方向に順次読み出すことにより、符号順序変換処理前のビット系列と符号順序変換処理後のビット系列とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブルを予め作成して符号順序変換テーブル記憶手段に記憶させておき、情報ビット系列の符号順序変換処理を行う際には、符号順序変換テーブル記憶手段に記憶された符号順序変換テーブルを用いて、情報ビット系列を構成する各ビットを並べ替えることを特徴とするものである。
ここで、「情報ビット系列」は、例えば、音(音声を含む。)、画像(静止画および動画を含む。)等の信号である。以下の発明においても同様である。
また、「情報ビット系列の代用として仮想ビット系列を生成または用意」するとあるのは、符号順序変換テーブルを事前に作成するにあたり、仮想ビット系列を新たに生成してもよく、あるいは既に存在するビット系列を仮想ビット系列として利用してもよい趣旨である。なお、「仮想ビット系列」は、偶然に、または意図的に情報ビット系列と一致するものとしてもよい。以下の発明においても同様である。
さらに、「仮想ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて」とあるのは、ある1つの実数ラベルを生成するために用いられるビット数は、1ビットでもよく、複数ビットでもよい趣旨であるが、ランダム化された実数ラベルを容易に生成することができるという観点からは、複数のビットの値を用いることが好ましい。また、複数のビットの値を用いて実数ラベルを生成する場合には、それらの複数のビットは、仮想ビット系列内において連続する複数のビットでもよく、あるいは間欠的に取り出された複数のビットでもよいが、ハードウェア回路で実数ラベルの生成を行う場合に、シフトレジスタを用いて処理の容易化や装置構成の簡易化を図ることができるという観点からは、連続する複数のビットであることが好ましい。以下の発明においても同様である。
そして、「配列位置情報」とは、ビット系列内での各構成ビットの位置、すなわち順番を示す情報であり、例えば、第1番目の構成ビットについては「1」、第2番目の構成ビットについては「2」、第3番目の構成ビットについては「3」等の情報である。以下の発明においても同様である。
また、「各実数ラベルの数値の大小順に従って」とは、大きい順に並べてもよく、小さい順に並べてもよい趣旨である。以下の発明においても同様である。
このような本発明の符号順序変換方法(以下、対応する装置発明も合わせて「符号順序変換テーブル事前作成の発明」という。)においては、情報ビット系列の符号順序変換処理を行うに先立って、事前処理として、実数ラベルを用いて符号順序変換テーブルを予め作成しておき、情報ビット系列の符号順序変換処理を行う際には、既に作成されて用意されている符号順序変換テーブルを用いる。
この際、符号順序変換テーブルは、ランダムに生成された実数ラベルの数値の大小関係を利用して作成されるので、ランダム化の程度の高い符号順序変換処理を実現すること、すなわち符号順序変換処理の前後の入力系列と出力系列との無相関性を高めることが可能となる。このため、例えば携帯電話システム等の情報処理機器に用いることにより、情報処理機器の性能の向上を図ることが可能となり、これらにより前記目的が達成される。
また、本発明の符号順序変換方法は、情報ビット系列の符号順序変換処理に先立って、情報ビット系列の代用として仮想ビット系列を生成または用意し、この仮想ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この仮想ビット系列を構成する各ビットに付される実数ラベルをランダムに生成し、生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の仮想ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って順次配列し、配列した各配列位置情報を複数のブロックに区切って各ブロック内でそれぞれ各実数ラベルの数値の大小順に従って並べ替えることにより、情報ビット系列の符号順序変換処理で各行内で行われる行内ソーティングの際の順序変換ルールを定める行内ソーティングテーブルを各行に対応する各ブロック毎に作成して行内ソーティングテーブル記憶手段に記憶させておき、情報ビット系列の符号順序変換処理を行う際には、情報ビット系列を構成する各ビットの値を示す内容情報を各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置し、行列形式で配置された各内容情報を、各行内でそれぞれ行内ソーティングテーブル記憶手段に記憶された各行内ソーティングテーブルを用いて並べ替える行内ソーティングを行った後、行列形式で配置された行内ソーティング後の各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行い、行列形式で配置されたブロックソーティング後の各内容情報を列方向に順次読み出すことにより、符号順序変換処理後のビット系列を生成することを特徴とするものである。
ここで、「内容情報」とは、ビット系列を構成する各ビットの値を示す情報であり、「0」または「1」の情報である。以下の発明においても同様である。
このような本発明の符号順序変換方法(以下、対応する装置発明も合わせて「行内ソーティングテーブル事前作成の発明」という。)においては、情報ビット系列の符号順序変換処理を行うに先立って、事前処理として、実数ラベルを用いて行内ソーティングテーブルを各行毎に予め作成しておき、情報ビット系列の符号順序変換処理を行う際には、既に作成されて用意されている各行毎の行内ソーティングテーブルを用いる。
この際、各行毎の行内ソーティングテーブルは、ランダムに生成された実数ラベルの数値の大小関係を利用して作成されるので、ランダム化の程度の高い符号順序変換処理を実現することが可能となる。このため、例えば携帯電話システム等の情報処理機器に用いることにより、情報処理機器の性能の向上を図ることが可能となり、これらにより前記目的が達成される。
さらに、本発明の符号順序変換方法は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成し、生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置し、行列形式で配置された各配列位置情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行った後、行列形式で配置された行内ソーティング後の各配列位置情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行い、行列形式で配置されたブロックソーティング後の各配列位置情報を列方向に順次読み出すことにより、符号順序変換処理前のビット系列と符号順序変換処理後のビット系列とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブルを作成し、その後、符号順序変換テーブルを用いて情報ビット系列を構成する各ビットを並べ替えることを特徴とするものである。
このような本発明の符号順序変換方法(以下、対応する装置発明も合わせて「符号順序変換テーブル実時間作成の発明」という。)においては、符号順序変換テーブルを事前に作成しておくのではなく、符号順序変換処理の対象となる情報ビット系列を用いて生成された実数ラベルを用いてリアルタイムで符号順序変換テーブルを作成し、このリアルタイムで作成した符号順序変換テーブルを用いて符号順序変換処理を行う。
この際、符号順序変換テーブルは、事前に作成された符号順序変換テーブルの場合と同様に、ランダムに生成された実数ラベルの数値の大小関係を利用して作成されるので、ランダム化の程度の高い符号順序変換処理を実現することが可能となる。このため、例えば携帯電話システム等の情報処理機器に用いることにより、情報処理機器の性能の向上を図ることが可能となる。
また、符号順序変換テーブルを事前に作成しておく場合は、符号順序変換テーブルが固定的になるのに対し、符号順序変換テーブルをリアルタイムで作成することから、符号順序変換テーブルが変動するようになる。このため、データ通信を行う際には、目的データの送信と併せ、符号順序変換テーブルも受信側に送信することにより、秘匿通信を実現することが可能となり、これらにより前記目的が達成される。
なお、秘匿通信を実現する際には、符号順序変換テーブルのリアルタイムでの作成、および作成した符号順序変換テーブルの受信側への送信は、目的データについての符号順序変換処理の各処理単位毎に連続的に行ってもよく、あるいは間欠的に行ってもよい。後者のように間欠的に作成・送信する場合には、次回の作成・送信があるまでは、直近の処理で作成・送信された符号順序変換テーブルを複数回連続して用いてもよく、あるいは事前処理で作成された固定的な符号順序変換テーブルを織り交ぜて用いてもよい。また、符号順序変換テーブルを受信側へ送信する際には、秘匿性の向上の観点から、符号順序変換テーブルを変換した状態で送信し、受信側で鍵を用いる等して元に戻す処理を行うことが好ましい。
そして、本発明の符号順序変換方法は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成し、生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列内での配列位置情報と各ビットの値を示す内容情報とを対にした状態で、各配列位置情報および各内容情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置し、行列形式で配置された各配列位置情報および各内容情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行った後、行列形式で配置された行内ソーティング後の各配列位置情報および各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行い、行列形式で配置されたブロックソーティング後の各配列位置情報を列方向に順次読み出すことにより、符号順序変換処理前のビット系列と符号順序変換処理後のビット系列とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブルを作成するとともに、行列形式で配置されたブロックソーティング後の各内容情報を列方向に順次読み出すことにより、符号順序変換処理後のビット系列を生成することを特徴とするものである。
このような本発明の符号順序変換方法(以下、対応する装置発明も合わせて「符号順序変換テーブル実時間作成・内容情報直接並べ替え同時処理の発明」という。)においては、符号順序変換テーブルを事前に作成しておくのではなく、符号順序変換処理の対象となる情報ビット系列を用いて生成された実数ラベルを用いてリアルタイムで符号順序変換テーブルを作成するとともに、この符号順序変換テーブルを作成する過程において各ビットの内容情報そのものを並べ替えていくことにより符号順序変換処理を行う。従って、前述した符号順序変換テーブル実時間作成の発明の場合とは異なり、内容情報そのものの並べ替えは、リアルタイムで作成した符号順序変換テーブルを用いて行われるのではなく、符号順序変換テーブルの作成処理と同時並行的に行われる。
この場合にも、ランダムに生成された実数ラベルの数値の大小関係を利用して符号順序変換処理を行うので、ランダム化の程度の高い符号順序変換処理を実現することが可能となり、情報処理機器の性能の向上を図ることが可能となるうえ、符号順序変換テーブルがリアルタイムで作成されるので、秘匿通信を実現することが可能となり、これらにより前記目的が達成される。
また、本発明の符号順序変換方法は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成し、生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って順次配列し、配列した各配列位置情報を複数のブロックに区切って各ブロック内でそれぞれ各実数ラベルの数値の大小順に従って並べ替えることにより、各行内で行われる行内ソーティングの際の順序変換ルールを定める行内ソーティングテーブルを各行に対応する各ブロック毎に作成し、その後、情報ビット系列を構成する各ビットの値を示す内容情報を各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置し、行列形式で配置された各内容情報を、各行内でそれぞれ各行内ソーティングテーブルを用いて並べ替える行内ソーティングを行った後、行列形式で配置された行内ソーティング後の各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行い、行列形式で配置されたブロックソーティング後の各内容情報を列方向に順次読み出すことにより、符号順序変換処理後のビット系列を生成することを特徴とするものである。
このような本発明の符号順序変換方法(以下、対応する装置発明も合わせて「行内ソーティングテーブル実時間作成の発明」という。)においては、行内ソーティングテーブルを事前に作成しておくのではなく、符号順序変換処理の対象となる情報ビット系列を用いて生成された実数ラベルを用いてリアルタイムで行内ソーティングテーブルを作成し、このリアルタイムで作成した行内ソーティングテーブルを用いて符号順序変換処理を行う。
この際、各行毎の行内ソーティングテーブルは、事前に作成された行内ソーティングテーブルの場合と同様に、ランダムに生成された実数ラベルの数値の大小関係を利用して作成されるので、ランダム化の程度の高い符号順序変換処理を実現することが可能となる。このため、例えば携帯電話システム等の情報処理機器に用いることにより、情報処理機器の性能の向上を図ることが可能となる。
また、各行毎の行内ソーティングテーブルを事前に作成しておく場合は、行内ソーティングテーブルが固定的になるのに対し、各行毎の行内ソーティングテーブルをリアルタイムで作成することから、行内ソーティングテーブルが変動するようになる。このため、データ通信を行う際には、目的データの送信と併せ、各行毎の行内ソーティングテーブルも受信側に送信することにより、秘匿通信を実現することが可能となり、これらにより前記目的が達成される。
なお、秘匿通信を実現する際には、各行毎の行内ソーティングテーブルのリアルタイムでの作成、および作成した行内ソーティングテーブルの受信側への送信は、目的データについての符号順序変換処理の各処理単位毎に連続的に行ってもよく、あるいは間欠的に行ってもよい。後者のように間欠的に作成・送信する場合には、次回の作成・送信があるまでは、直近の処理で作成・送信された行内ソーティングテーブルを複数回連続して用いてもよく、あるいは事前処理で作成された固定的な行内ソーティングテーブルを織り交ぜて用いてもよい。また、行内ソーティングテーブルを受信側へ送信する際には、秘匿性の向上の観点から、行内ソーティングテーブルを変換した状態で送信し、受信側で鍵を用いる等して元に戻す処理を行うことが好ましい。
さらに、本発明の符号順序変換方法は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成し、生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列内での配列位置情報と各ビットの値を示す内容情報とを対にした状態で、各配列位置情報および各内容情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置し、行列形式で配置された各配列位置情報および各内容情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行った後、行列形式で配置された行内ソーティング後の各配列位置情報を各行毎に行方向に順次読み出すことにより、各行内ソーティングの際の順序変換ルールを定める行内ソーティングテーブルを各行に対応する各ブロック毎に作成するとともに、行列形式で配置された行内ソーティング後の各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行い、行列形式で配置されたブロックソーティング後の各内容情報を列方向に順次読み出すことにより、符号順序変換処理後のビット系列を生成することを特徴とするものである。
このような本発明の符号順序変換方法(以下、対応する装置発明も合わせて「行内ソーティングテーブル実時間作成・内容情報直接並べ替え同時処理の発明」という。)においては、行内ソーティングテーブルを事前に作成しておくのではなく、符号順序変換処理の対象となる情報ビット系列を用いて生成された実数ラベルを用いてリアルタイムで行内ソーティングテーブルを作成するとともに、この行内ソーティングテーブルを作成する過程において各ビットの内容情報そのものを並べ替えていくことにより符号順序変換処理を行う。従って、前述した行内ソーティングテーブル実時間作成の発明の場合とは異なり、内容情報そのものの並べ替えは、リアルタイムで作成した行内ソーティングテーブルを用いて行われるのではなく、行内ソーティングテーブルの作成処理と同時並行的に行われる。
この場合にも、ランダムに生成された実数ラベルの数値の大小関係を利用して符号順序変換処理を行うので、ランダム化の程度の高い符号順序変換処理を実現することが可能となり、情報処理機器の性能の向上を図ることが可能となるうえ、各行毎の行内ソーティングテーブルがリアルタイムで作成されるので、秘匿通信を実現することが可能となり、これらにより前記目的が達成される。
そして、本発明の符号順序変換方法は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成し、生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの値を示す内容情報とを対にした状態で、各内容情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置し、行列形式で配置された各内容情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行った後、行列形式で配置された行内ソーティング後の各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行い、行列形式で配置されたブロックソーティング後の各内容情報を列方向に順次読み出すことにより、符号順序変換処理後のビット系列を生成することを特徴とするものである。
このような本発明の符号順序変換方法(以下、対応する装置発明も合わせて「内容情報直接並べ替えの発明」という。)においては、ランダムに生成された実数ラベルの数値の大小関係を利用して符号順序変換処理を行うので、ランダム化の程度の高い符号順序変換処理を実現することが可能となる。このため、例えば携帯電話システム等の情報処理機器に用いることにより、情報処理機器の性能の向上を図ることが可能となり、これらにより前記目的が達成される。
なお、この場合において、データ通信を行う際には、受信側には、目的データの送信と併せ、例えば行内ソーティング前の配列順序を保った実数ラベルの配列を送信することができる。また、実数ラベルの配列の送信は、連続的でもよく、間欠的でもよく、さらに、変換した状態での送信が好ましいことは、前述した符号順序変換テーブルや行内ソーティングテーブルの送信の場合と同様である。
また、以上に述べた符号順序変換方法において、各実数ラベルを生成する際には、連続する複数のビットの各値を用いて実数Xa〜実数Xbの間の実数Xを算出した後、tを、Xa≦t<(Xa+Xb)/2の範囲の実数としたとき、g(t)+g(t+(Xb−Xa)/2)=Ya+Ybという条件式を満たすスクランブリング関数Y=g(X)を用いて、実数Xa〜実数Xbの間の実数Xを実数Ya〜実数Ybの間の実数Yに変換し、変換して得られた実数Yの値を実数ラベルとし、連続する複数のビットの各値を1ビットずつシフトしながら用いて、実数Xの算出処理およびスクランブリング関数による実数Xから実数Yへの変換処理を繰り返すことにより、各ビットに付される各実数ラベルを順次生成することが望ましい。
このようにスクランブリング関数を用いた実数ラベルの生成処理を行う場合には、スクランブリング関数の持つ機能により、符号順序変換処理におけるランダム化の程度を、より一層高めることが可能となり、情報処理機器の性能を、より一層向上させることが可能となる。
さらに、上述したスクランブリング関数を用いた実数ラベルの生成処理を行う場合において、連続する複数のビットの各値を用いて実数Xa〜実数Xbの間の実数Xを算出する処理は、算出に用いるビット数をMとし、mを1〜Mの整数とすると、Mビットの各値のそれぞれに2-mを乗じた値を加算し、さらに2-(M+1)を加算して得られる数値をXとすることにより、0〜1の間の実数Xを算出する処理であり、スクランブリング関数による実数Xa〜実数Xbの間の実数Xから実数Ya〜実数Ybの間の実数Yへの変換処理は、0〜1の間の実数Xから0〜1の間の実数Yへの変換処理であり、これらの実数Xの算出処理およびスクランブリング関数による実数Xから実数Yへの変換処理は、擬似確率過程発生処理であることが望ましい。
このように擬似確率過程発生処理を利用して実数ラベルの生成処理を行う場合には、従来から存在する擬似確率過程発生処理の方法をそのまま応用することにより、ランダム化された実数ラベルの生成処理を容易に実現することが可能となる。
そして、以上に述べた符号順序変換方法において、ブロック順序変換ルールは、少なくとも符号順序変換処理前のビット系列を構成する各ビットのうち7ビット離れた2つのビットが、符号順序変換処理後のビット系列内で7ビット離れた位置に配列されることを回避するためのルールであることが望ましい。
ここで、「少なくとも」とは、符号順序変換処理前のビット系列を構成する各ビットのうち7ビット、14ビット、21ビット、28ビット等、7の倍数ビット離れた2つのビットが、符号順序変換処理後のビット系列内で7の倍数ビット離れた位置に配列されることを、なるべく回避するためのルールとして、最低限、7ビットの場合を回避するという意味である。
このようなブロック順序変換ルールとした場合には、符号順序変換処理の前後の入力系列と出力系列との無相関性を、より一層高めることが可能となる。例えば、符号順序変換処理がターボ符号のインターリーブ処理である場合には、高SNR領域におけるビット誤り率への寄与が最も大きい致命的な入力パターン、すなわち最も低重みのパリティビット系列を作るような低重み入力パターンをなるべく壊すようなインターリーブ処理を実現することが可能となり、コードマッチドインターリーバの設計思想に沿ったインターリーブ処理が実現される。
また、以上に述べた符号順序変換方法において、符号順序変換処理は、ターボ符号のインターリーブ処理として行われることが望ましい。
このように本発明の符号順序変換方法による処理をターボ符号のインターリーブ処理に適用した場合には、符号器側の2つの部分符号器、あるいは復号器側の2つの部分復号器に対する入力系列の無相関性の程度を、より一層高め、インターリーバの性能、ひいてはターボ符号による誤り訂正処理部を含む情報処理機器の性能を向上させることが可能となる。
また、以上に述べた本発明の符号順序変換方法を実現する装置として、以下のような本発明の符号順序変換装置が挙げられる。
すなわち、本発明の符号順序変換装置は、符号順序変換処理前のビット系列と符号順序変換処理後のビット系列とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブルを記憶する符号順序変換テーブル記憶手段と、この符号順序変換テーブル記憶手段に記憶された符号順序変換テーブルを用いて、情報ビット系列を構成する各ビットを並べ替える処理を行う符号順序変換処理手段とを備え、符号順序変換テーブル記憶手段に記憶された符号順序変換テーブルは、情報ビット系列の代用として仮想ビット系列を生成または用意し、この仮想ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この仮想ビット系列を構成する各ビットに付される実数ラベルをランダムに生成し、生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の仮想ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置し、行列形式で配置された各配列位置情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行った後、行列形式で配置された行内ソーティング後の各配列位置情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行い、行列形式で配置されたブロックソーティング後の各配列位置情報を列方向に順次読み出すことにより作成されたテーブルであることを特徴とするものである。
このような本発明の符号順序変換装置においては、前述した本発明の符号順序変換方法(符号順序変換テーブル事前作成の発明)で得られる作用・効果がそのまま得られ、これにより前記目的が達成される。
そして、上述した本発明の符号順序変換装置(符号順序変換テーブル事前作成の発明)で用いられる符号順序変換テーブルを作成する装置として、次のような本発明の符号順序変換テーブル作成装置が挙げられる。すなわち、本発明は、情報ビット系列を構成する各ビットを並べ替える符号順序変換処理を行う際に用いられる符号順序変換テーブルを作成する符号順序変換テーブル作成装置であって、情報ビット系列の代用として生成または用意された仮想ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この仮想ビット系列を構成する各ビットに付される実数ラベルをランダムに生成する実数ラベル生成処理手段と、この実数ラベル生成処理手段により生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の仮想ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置する行列配置処理手段と、この行列配置処理手段により行列形式で配置された各配列位置情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行う行内ソーティング処理手段と、この行内ソーティング処理手段による行内ソーティング後の各配列位置情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行うブロックソーティング処理手段と、このブロックソーティング処理手段によるブロックソーティング後の各配列位置情報を列方向に順次読み出す行列読出処理手段とを備えたことを特徴とするものである。
また、本発明の符号順序変換装置は、情報ビット系列の符号順序変換処理で各行内で行われる行内ソーティングの際の順序変換ルールを定める行内ソーティングテーブルを各行に対応する各ブロック毎に記憶する行内ソーティングテーブル記憶手段と、情報ビット系列を構成する各ビットの値を示す内容情報を各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置する行列配置処理手段と、この行列配置処理手段により行列形式で配置された各内容情報を、各行内でそれぞれ各行内ソーティングテーブルを用いて並べ替える行内ソーティングを行う行内ソーティング処理手段と、この行内ソーティング処理手段による行内ソーティング後の各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行うブロックソーティング処理手段と、このブロックソーティング処理手段によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより、符号順序変換処理後のビット系列を生成する行列読出処理手段とを備え、行内ソーティングテーブル記憶手段に記憶された各行内ソーティングテーブルは、情報ビット系列の代用として仮想ビット系列を生成または用意し、この仮想ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この仮想ビット系列を構成する各ビットに付される実数ラベルをランダムに生成し、生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の仮想ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って順次配列し、配列した各配列位置情報を複数のブロックに区切って各ブロック内でそれぞれ各実数ラベルの数値の大小順に従って並べ替えることにより作成されたテーブルであることを特徴とするものである。
このような本発明の符号順序変換装置においては、前述した本発明の符号順序変換方法(行内ソーティングテーブル事前作成の発明)で得られる作用・効果がそのまま得られ、これにより前記目的が達成される。
なお、上述した本発明の符号順序変換装置(行内ソーティングテーブル事前作成の発明)で用いられる行内ソーティングテーブルは、次のような構成を有する行内ソーティングテーブル作成装置により作成することができる。すなわち、情報ビット系列の符号順序変換処理で各行内で行われる行内ソーティングの際の順序変換ルールを定める行内ソーティングテーブルを作成する行内ソーティングテーブル作成装置は、情報ビット系列の代用として仮想ビット系列を生成または用意し、この仮想ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この仮想ビット系列を構成する各ビットに付される実数ラベルをランダムに生成する実数ラベル生成処理手段と、この実数ラベル生成処理手段により生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の仮想ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って順次配列する配列処理手段と、この配列処理手段により配列した各配列位置情報を複数のブロックに区切って各ブロック内でそれぞれ各実数ラベルの数値の大小順に従って並べ替えた後、並べ替えられた各配列位置情報を各ブロック毎に順次読み出す配列読出処理手段とを備えた構成とすることができる。
さらに、本発明の符号順序変換装置は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成する実数ラベル生成処理手段と、この実数ラベル生成処理手段により生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置する行列配置処理手段と、この行列配置処理手段により行列形式で配置された各配列位置情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行う行内ソーティング処理手段と、この行内ソーティング処理手段による行内ソーティング後の各配列位置情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行うブロックソーティング処理手段と、このブロックソーティング処理手段によるブロックソーティング後の各配列位置情報を列方向に順次読み出すことにより、符号順序変換処理前のビット系列と符号順序変換処理後のビット系列とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブルを作成する符号順序変換テーブル作成処理手段と、この符号順序変換テーブル作成処理手段により作成された符号順序変換テーブルを用いて情報ビット系列を構成する各ビットを並べ替える符号順序変換処理手段とを備えたことを特徴とするものである。
このような本発明の符号順序変換装置においては、前述した本発明の符号順序変換方法(符号順序変換テーブル実時間作成の発明)で得られる作用・効果がそのまま得られ、これにより前記目的が達成される。
そして、本発明の符号順序変換装置は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成する実数ラベル生成処理手段と、この実数ラベル生成処理手段により生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列内での配列位置情報と各ビットの値を示す内容情報とを対にした状態で、各配列位置情報および各内容情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置する行列配置処理手段と、この行列配置処理手段により行列形式で配置された各配列位置情報および各内容情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行う行内ソーティング処理手段と、この行内ソーティング処理手段による行内ソーティング後の各配列位置情報および各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行うブロックソーティング処理手段と、このブロックソーティング処理手段によるブロックソーティング後の各配列位置情報を列方向に順次読み出すことにより、符号順序変換処理前のビット系列と符号順序変換処理後のビット系列とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブルを作成する符号順序変換テーブル作成処理手段と、ブロックソーティング処理手段によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより符号順序変換処理後のビット系列を生成する行列読出処理手段とを備えたことを特徴とするものである。
このような本発明の符号順序変換装置においては、前述した本発明の符号順序変換方法(符号順序変換テーブル実時間作成・内容情報直接並べ替え同時処理の発明)で得られる作用・効果がそのまま得られ、これにより前記目的が達成される。
また、本発明の符号順序変換装置は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成する実数ラベル生成処理手段と、この実数ラベル生成処理手段により生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って順次配列する配列処理手段と、この配列処理手段により配列した各配列位置情報を複数のブロックに区切って各ブロック内でそれぞれ各実数ラベルの数値の大小順に従って並べ替えることにより、各行内で行われる行内ソーティングの際の順序変換ルールを定める行内ソーティングテーブルを各行に対応する各ブロック毎に作成する行内ソーティングテーブル作成処理手段と、情報ビット系列を構成する各ビットの値を示す内容情報を各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置する行列配置処理手段と、この行列配置処理手段により行列形式で配置された各内容情報を、各行内でそれぞれ各行内ソーティングテーブルを用いて並べ替える行内ソーティングを行う行内ソーティング処理手段と、この行内ソーティング処理手段による行内ソーティング後の各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行うブロックソーティング処理手段と、このブロックソーティング処理手段によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより符号順序変換処理後のビット系列を生成する行列読出処理手段とを備えたことを特徴とするものである。
このような本発明の符号順序変換装置においては、前述した本発明の符号順序変換方法(行内ソーティングテーブル実時間作成の発明)で得られる作用・効果がそのまま得られ、これにより前記目的が達成される。
さらに、本発明の符号順序変換装置は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成する実数ラベル生成処理手段と、この実数ラベル生成処理手段により生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列内での配列位置情報と各ビットの値を示す内容情報とを対にした状態で、各配列位置情報および各内容情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置する行列配置処理手段と、この行列配置処理手段により行列形式で配置された各配列位置情報および各内容情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行う行内ソーティング処理手段と、この行内ソーティング処理手段による行内ソーティング後の各配列位置情報を各行毎に順次読み出すことにより、各行内ソーティングの際の順序変換ルールを定める行内ソーティングテーブルを各行に対応する各ブロック毎に作成する行内ソーティングテーブル作成処理手段と、行内ソーティング処理手段による行内ソーティング後の各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行うブロックソーティング処理手段と、このブロックソーティング処理手段によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより符号順序変換処理後のビット系列を生成する行列読出処理手段とを備えたことを特徴とするものである。
このような本発明の符号順序変換装置においては、前述した本発明の符号順序変換方法(行内ソーティングテーブル実時間作成・内容情報直接並べ替え同時処理の発明)で得られる作用・効果がそのまま得られ、これにより前記目的が達成される。
そして、本発明の符号順序変換装置は、符号順序変換処理の対象となる情報ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この情報ビット系列を構成する各ビットに付される実数ラベルをランダムに生成する実数ラベル生成処理手段と、この実数ラベル生成処理手段により生成された各実数ラベルとこれらの各実数ラベルを付された各ビットの値を示す内容情報とを対にした状態で、各内容情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向に順次配置する行列配置処理手段と、この行列配置処理手段により行列形式で配置された各内容情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティングを行う行内ソーティング処理手段と、この行内ソーティング処理手段による行内ソーティング後の各内容情報を、予め定められたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行うブロックソーティング処理手段と、このブロックソーティング処理手段によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより符号順序変換処理後のビット系列を生成する行列読出処理手段とを備えたことを特徴とするものである。
このような本発明の符号順序変換装置においては、前述した本発明の符号順序変換方法(内容情報直接並べ替えの発明)で得られる作用・効果がそのまま得られ、これにより前記目的が達成される。
また、前述した符号順序変換装置(符号順序変換テーブル事前作成の発明、行内ソーティングテーブル事前作成の発明)において、テーブルが作成された際に行われた各実数ラベルの生成処理は、連続する複数のビットの各値を用いて実数Xa〜実数Xbの間の実数Xを算出した後、tを、Xa≦t<(Xa+Xb)/2の範囲の実数としたとき、g(t)+g(t+(Xb−Xa)/2)=Ya+Ybという条件式を満たすスクランブリング関数Y=g(X)を用いて、実数Xa〜実数Xbの間の実数Xを実数Ya〜実数Ybの間の実数Yに変換し、変換して得られた実数Yの値を実数ラベルとし、連続する複数のビットの各値を1ビットずつシフトしながら用いて、実数Xの算出処理およびスクランブリング関数による実数Xから実数Yへの変換処理を繰り返すことにより、各ビットに付される各実数ラベルを順次生成する処理であることが望ましい。
さらに、上述したようにテーブル(符号順序変換テーブルまたは行内ソーティングテーブル)がスクランブリング関数を用いて生成された実数ラベルを用いて作成されている場合において、連続する複数のビットの各値を用いて実数Xa〜実数Xbの間の実数Xを算出する処理は、算出に用いるビット数をMとし、mを1〜Mの整数とすると、Mビットの各値のそれぞれに2-mを乗じた値を加算し、さらに2-(M+1)を加算して得られる数値をXとすることにより、0〜1の間の実数Xを算出する処理であり、スクランブリング関数による実数Xa〜実数Xbの間の実数Xから実数Ya〜実数Ybの間の実数Yへの変換処理は、0〜1の間の実数Xから0〜1の間の実数Yへの変換処理であり、これらの実数Xの算出処理およびスクランブリング関数による実数Xから実数Yへの変換処理は、擬似確率過程発生処理であることが望ましい。
そして、前述した符号順序変換装置(符号順序変換テーブル事前作成の発明、行内ソーティングテーブル事前作成の発明)において、ブロック順序変換ルールは、少なくとも符号順序変換処理前のビット系列を構成する各ビットのうち7ビット離れた2つのビットが、符号順序変換処理後のビット系列内で7ビット離れた位置に配列されることを回避するためのルールであることが望ましい。
また、前述した符号順序変換装置(符号順序変換テーブル事前作成の発明、行内ソーティングテーブル事前作成の発明)において、符号順序変換処理は、ターボ符号のインターリーブ処理として行われることが望ましい。
さらに、前述した符号順序変換装置(符号順序変換テーブル実時間作成の発明、符号順序変換テーブル実時間作成・内容情報直接並べ替え同時処理の発明、行内ソーティングテーブル実時間作成の発明、行内ソーティングテーブル実時間作成・内容情報直接並べ替え同時処理の発明、内容情報直接並べ替えの発明)において、実数ラベル生成処理手段は、連続する複数のビットの各値を用いて実数Xa〜実数Xbの間の実数Xを算出する重み算出処理手段と、tをXa≦t<(Xa+Xb)/2の範囲の実数としたとき、g(t)+g(t+(Xb−Xa)/2)=Ya+Ybという条件式を満たすスクランブリング関数Y=g(X)を用いて、実数Xa〜実数Xbの間の実数Xを実数Ya〜実数Ybの間の実数Yに変換し、変換して得られた実数Yの値を実数ラベルとする重み/ラベル変換処理手段と、連続する複数のビットの各値を1ビットずつシフトしながら用いて重み算出処理手段および重み/ラベル変換処理手段による各処理を繰り返すためのビットのシフト処理を行うシフト処理手段とを含んで構成されていることが望ましい。
そして、上述したように実数ラベル生成処理手段をスクランブリング関数を用いて実数ラベルを生成する構成とした場合において、重み算出処理手段は、算出に用いるビット数をMとし、mを1〜Mの整数とすると、Mビットの各値のそれぞれに2-mを乗じた値を加算し、さらに2-(M+1)を加算して得られる数値をXとすることにより、0〜1の間の実数Xを算出する処理を行う構成とされ、重み/ラベル変換処理手段は、0〜1の間の実数Xから0〜1の間の実数Yへの変換処理を行う構成とされ、実数ラベル生成処理手段は、擬似確率過程発生処理を行う構成されていることが望ましい。
また、前述した符号順序変換装置(符号順序変換テーブル実時間作成の発明、符号順序変換テーブル実時間作成・内容情報直接並べ替え同時処理の発明、行内ソーティングテーブル実時間作成の発明、行内ソーティングテーブル実時間作成・内容情報直接並べ替え同時処理の発明、内容情報直接並べ替えの発明)において、ブロックソーティング処理手段は、ブロック順序変換ルールとして、少なくとも符号順序変換処理前のビット系列を構成する各ビットのうち7ビット離れた2つのビットが、符号順序変換処理後のビット系列内で7ビット離れた位置に配列されることを回避するためのルールを用いる構成とされていることが望ましい。
さらに、前述した符号順序変換装置(符号順序変換テーブル実時間作成の発明、符号順序変換テーブル実時間作成・内容情報直接並べ替え同時処理の発明、行内ソーティングテーブル実時間作成の発明、行内ソーティングテーブル実時間作成・内容情報直接並べ替え同時処理の発明、内容情報直接並べ替えの発明)は、ターボ符号用のインターリーバとして好適に用いることができる。
そして、前述した符号順序変換装置(符号順序変換テーブル実時間作成の発明、符号順序変換テーブル実時間作成・内容情報直接並べ替え同時処理の発明、行内ソーティングテーブル実時間作成の発明、行内ソーティングテーブル実時間作成・内容情報直接並べ替え同時処理の発明、内容情報直接並べ替えの発明)において、シフト処理手段は、シフトレジスタにより構成されていることが望ましい。この場合は、符号順序変換装置を主としてハードウェア回路により実現する場合である。
また、本発明のターボ符号用の符号器は、以上に述べた符号順序変換装置をターボ符号用のインターリーバとして備えていることを特徴とするものである。
さらに、本発明のターボ符号用の復号器は、以上に述べた符号順序変換装置をターボ符号用のインターリーバとして備えていることを特徴とするものである。
なお、以上に述べた本発明の符号順序変換装置や符号順序変換テーブル作成装置、あるいは前述した行内ソーティングテーブル作成装置、並びに本発明のターボ符号用の符号器や復号器は、主としてハードウェア回路により実現してもよく、主としてソフトウェアにより実現してもよい。そして、ハードウェア回路により実現する場合には、比較と加算を行うだけの回路構成とすることが可能であるため、前述した特許文献1および非特許文献1に記載された素数インターリーバのように乗算器や剰余計算器を必要とする場合に比べ、高速に動作させることが可能となる。このため、処理時間の短縮を図ることが可能となり、特に、リアルタイムで処理を行う場合に有効である。また、処理内容が簡略化されるので、チップサイズの小型化、発熱量の低減を図ることも可能となる。
以上に述べたように本発明によれば、ランダムに生成された実数ラベルの数値の大小関係を利用して符号順序変換処理を行うので、ランダム化の程度の高い符号順序変換処理、すなわち処理前の入力系列と処理後の出力系列との無相関性の程度の高い符号順序変換処理を実現することができ、情報処理機器の性能の向上を図ることができるという効果がある。
以下に本発明の各実施形態について図面を参照して説明する。
[第1実施形態]
図1には、本発明の第1実施形態に係る通信システムに設けられたターボ符号による誤り訂正処理部10の全体構成が示されている。本第1実施形態は、符号順序変換テーブル事前作成の発明に係る実施形態である。通信システムは、例えば携帯電話システム等であるが、これに限定されるものではない。また、図2には、符号順序変換テーブル作成装置50、インターリーバ23,33、およびデインターリーバ34の構成が示されている。図3は、符号順序変換テーブルの作成処理の流れの概念図であり、図4には、符号順序変換テーブルおよび符号順序復元テーブルの作成処理の流れがフローチャートで示されている。さらに、図5および図6には、インターリーブ処理およびデインターリーブ処理の流れがそれぞれフローチャートで示されている。図7は、符号順序変換テーブルの作成の際における仮想ビット系列の構成ビットの生成方法の説明図である。図8および図9は、符号順序変換テーブルの作成処理の詳細説明図である。図10は、スクランブリング関数の形状の説明図であり、図11は、ブロック順序変換ルールの作成方法の説明図であり、図12は、シミュレーションによる比較実験結果を示す図である。
図1において、通信システムに設けられたターボ符号による誤り訂正処理部10は、通信システムの送信機側に設けられた符号器20と、受信機側に設けられた復号器30とにより構成されている。
符号器20は、第1の要素符号器(encoder;部分符号器とも称する。)21と、第2の要素符号器(encoder)22と、符号順序変換装置であるインターリーバ(interleaver)23とを含んで構成されている。
復号器30は、第1の要素復号器(decoder;部分復号器とも称する。)31と、第2の要素復号器(decoder)32と、符号順序変換装置であるインターリーバ(interleaver)33と、符号順序復元装置であるデインターリーバ(deinterleaver)34とを含んで構成されている。
これらの符号器20および復号器30の構成および機能は、インターリーバ23,33およびデインターリーバ34の中身(内部の処理手順)を除き、従来のものと同様であり、これらの符号器20および復号器30では、次のような処理が行われる。
先ず、符号器20では、受信機側への送信対象となる情報ビット系列Cが、第1の要素符号器21に入力され、パリティビット系列V1が生成される。また、情報ビット系列Cは、インターリーバ23で並べ替えられて系列Chとなり、この系列Chが第2の要素符号器22に入力され、パリティビット系列V2が生成される。そして、情報ビット系列Cのままの状態の系列V0およびパリティビット系列V1,V2は、通信路40を介して受信機側に送信される。この際、送信される各系列V0,V1,V2は、通信路40においてノイズの影響を受ける。例えば、携帯電話システムの場合には、空中等で雑音の影響を受ける。
なお、情報ビット系列Cの処理単位となるビット数を、例えば512ビットとすれば、インターリーバ23による符号順序変換処理後の系列Chは、512ビットとなり、系列V0も512ビットであり、パリティビット系列V1,V2は、例えば先頭および後方にそれぞれ3ビットずつ冗長ビットを付加して518ビット等となる。
一方、復号器30では、情報ビット系列Cのままの状態の系列V0およびパリティビット系列V1,V2がそれぞれノイズの影響を受けて系列R0,R1,R2となり、これらの系列R0,R1,R2が受信信号であるものとすると、先ず、ターボ符号による繰り返し処理の1巡目では、受信した系列R0,R1が第1の要素復号器31に入力され、これらの系列R0,R1を使って第1の要素復号器31から系列Λ1eが出力される。続いて、第1の要素復号器31から出力された系列Λ1eおよび受信した系列R0が、インターリーバ33でそれぞれ並べ替えられて系列Λ1e h,R0 hとなり、これらの系列Λ1e h,R0 hおよび受信した系列R2が第2の要素復号器32に入力され、これらの系列Λ1e h,R0 h,R2を使って第2の要素復号器32から系列Λ2eが出力される。次に、第2の要素復号器32から出力された系列Λ2eは、デインターリーバ34で並べ替えられてΛ2e hとなる。そして、2巡目では、デインターリーバ34から出力された系列Λ2e hおよび受信した系列R0,R1が第1の要素復号器31に入力され、これらの系列Λ2e h,R0,R1を使って第1の要素復号器31から新たな系列Λ1eが出力される。続いて、第1の要素復号器31から出力された新たな系列Λ1eが、インターリーバ33で並べ替えられて新たな系列Λ1e hとなり、この新たな系列Λ1e h並びにインターリーバ33から出力された系列R0 hおよび受信した系列R2を使って第2の要素復号器32から新たな系列Λ2eが出力される。次に、第2の要素復号器32から出力された新たな系列Λ2eは、デインターリーバ34で並べ替えられて新たなΛ2e hとなる。そして、以降、同様な処理を例えば数回繰り返した後、第2の要素復号器32から最終的に出力される系列Λ2が、復号器30の出力となる。
なお、受信した系列R0を例えば512ビットとし、系列R1,R2を例えば518ビットとすると、第1の要素復号器31から出力される系列Λ1eは、例えば518ビットとなり、インターリーバ33では、この518ビットの系列Λ1eのうちの例えば最初の512ビットを入れ替えるインターリーブ処理が行われる。また、第2の要素復号器32から出力される系列Λ2eも、例えば518ビットとなり、デインターリーバ34では、この518ビットの系列Λ2eのうちの例えば最初の512ビットを入れ替えるデインターリーブ処理が行われる。
図2において、符号器20に内蔵されたインターリーバ23は、符号順序変換処理前のビット系列(入力系列)と符号順序変換処理後のビット系列(出力系列)とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブル60を記憶する符号順序変換テーブル記憶手段23Aと、この符号順序変換テーブル記憶手段23Aに記憶された符号順序変換テーブル60を用いて情報ビット系列を構成する各ビットを並べ替える処理を行う符号順序変換処理手段23Bとを含んで構成されている。
また、復号器30に内蔵されたインターリーバ33は、符号器20側の符号順序変換テーブル記憶手段23Aに記憶された符号順序変換テーブル60と同じテーブルを記憶する符号順序変換テーブル記憶手段33Aと、この符号順序変換テーブル記憶手段33Aに記憶された符号順序変換テーブル60を用いてビット系列を構成する各ビットを並べ替える処理を行う符号順序変換処理手段33Bとを含んで構成されている。
さらに、復号器30に内蔵されたデインターリーバ34は、インターリーバ23,33の符号順序変換テーブル記憶手段23A,33Aに記憶された符号順序変換テーブル60と逆の対応関係を定める符号順序復元テーブル80を記憶する符号順序復元テーブル記憶手段34Aと、この符号順序復元テーブル記憶手段34Aに記憶された符号順序復元テーブル80を用いてビット系列を構成する各ビットを並べ替えて元に戻す処理を行う符号順序復元処理手段34Bとを含んで構成されている。
以上において、インターリーバ23,33の符号順序変換処理手段23B,33B、およびデインターリーバ34の符号順序復元処理手段34Bは、符号器20や復号器30を構成する各コンピュータ、あるいは符号器20や復号器30を含む情報処理機器を構成する各コンピュータ(パーソナル・コンピュータのみならず、その上位機種や下位機種のものも含む。)の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する一つまたは複数のプログラムにより実現することができる。また、これらの各処理手段23B,33B,34Bは、ハードウェア回路により実現してもよい。
また、インターリーバ23,33の符号順序変換テーブル記憶手段23A,33A、およびデインターリーバ34の符号順序復元テーブル記憶手段34Aには、例えば、ハードディスク、ROM、EEPROM、フラッシュ・メモリ、RAM、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、FD、磁気テープ、あるいはこれらの組合せ等を採用することができる。この際、各処理手段23B,33B,34Bをハードウェア回路により実現する場合には、各記憶手段23A,33A,34Aは、例えばROM等により実現することができる。また、各処理手段23B,33B,34Bをソフトウェアにより実現する場合には、例えば、符号順序変換テーブル60や符号順序復元テーブル80をプログラム上で配列として持たせることができ、この場合には、配列データは、プログラム内に直接に記述されていてもよく、ハードディスクやMOやFD等の外部メモリから読み込んでもよく、キーボード等の入力手段により入力してもよく、最終的に各処理手段23B,33B,34Bによる処理が行われる際に、主メモリに記憶されていればよいので、これらの場合には、各記憶手段23A,33A,34Aは、主メモリおよび/または外部メモリにより実現されることになる。なお、各処理手段23B,33B,34Bをソフトウェアにより実現する場合には、上記の如く各テーブル60,80を配列で持たせる処理に限定されるものではない。
そして、各記憶手段23A,33A,34Aに記憶させる符号順序変換テーブル60や符号順序復元テーブル80は、図2に示すような符号順序変換テーブル作成装置50および符号順序復元テーブル作成装置70により自動的に作成することができる。
図2において、符号順序変換テーブル作成装置50は、実数ラベル生成処理手段51と、行列配置処理手段52と、行内ソーティング処理手段53と、ブロックソーティング処理手段54と、行列読出処理手段55と、スクランブリング関数記憶手段56と、ブロック順序変換ルール記憶手段57とを含んで構成されている。
実数ラベル生成処理手段51は、情報ビット系列の代用として生成または用意された仮想ビット系列を構成する複数のビットのうちの少なくとも1つのビットの値を用いて、この仮想ビット系列を構成する各ビットに付される実数ラベルをランダムに生成する処理を行うものである。なお、仮想ビット系列は、予め用意されたビット系列としてもよいが、ここでは自動生成するものとして説明を行う。
この実数ラベル生成処理手段51は、仮想ビット系列生成処理手段51Aと、シフト処理手段51Bと、重み算出処理手段51Cと、重み/ラベル変換処理手段51Dとを含んで構成されている。
仮想ビット系列生成処理手段51Aは、符号順序変換テーブル60を事前に作成するために用いる仮想ビット系列を自動的に生成する処理を行うものである(図7参照)。この仮想ビット系列生成処理手段51Aは、ハードウェア回路により実現してもよく、ソフトウェアにより実現してもよい。
シフト処理手段51Bは、仮想ビット系列を構成する連続する複数のビットの各値を1ビットずつシフトしながら用いて重み算出処理手段51Cおよび重み/ラベル変換処理手段51Dによる各処理を繰り返すためのビットのシフト処理を行うものである。このシフト処理手段51Bは、ハードウェア回路により実現してもよく、ソフトウェアにより実現してもよく、前者の場合には、例えばシフトレジスタを用いて容易に実現することができる(図3参照)。ここでは、シフトレジスタにより実現するものとして説明を行う。
重み算出処理手段51Cは、仮想ビット系列を構成する連続する複数のビットの各値(ここでは、シフトレジスタに格納された各ビット値)を用いて実数Xa〜実数Xbの間の実数X(Xaよりも大きく、かつ、Xb未満である実数)を算出する処理を行うものである。この重み算出処理手段51Cは、ハードウェア回路により実現してもよく、ソフトウェアにより実現してもよい。より具体的には、重み算出処理手段51Cは、例えば、算出に用いるビット数をM(例えば、32ビットのシフトレジスタを用いる場合には、M=32等)とし、mを1〜Mの整数とすると、Mビットの各値のそれぞれに、重みとして2-mを乗じ、すなわちシフトレジスタに格納された第1番目のビット値に2-1、第2番目のビット値に2-2、…、第M番目のビット値に2-Mという具合に第m番目のビット値に2-mを乗じ、得られた各値を加算して全体的な重みを求め、さらに求めた全体的な重みに2-(M+1)を加算して得られる数値をXとすることにより、0〜1の間の実数X(0よりも大きく、かつ、1未満である実数)を算出する処理を行う。従って、シフトレジスタのビット値が「1」であれば、そのビットに対応する重みが加算され、「0」であれば加算されないことになる。また、2-(M+1)を加算するのは、全てのビット値が「0」である場合に、算出した実数Xの値が0になることを回避するためであり、また、全てのビット値が「1」となった場合でも、算出した実数Xの値が1になることはない。
なお、上記の如く、2のべき乗を用いて0〜1の間の実数Xを算出する処理に限定されず、例えば、3のべき乗や4のべき乗等を用いてよく、要するに、実数Xa〜実数Xbの間の実数Xを算出できればよい。
重み/ラベル変換処理手段51Dは、スクランブリング関数記憶手段56に記憶された次の式(1)を満たすスクランブリング関数(Scrambling Function)Y=g(X)を用いて、実数Xa〜実数Xbの間の実数Xを、実数Ya〜実数Ybの間の実数Yに変換し、変換して得られた実数Yの値を実数ラベルとする処理を行うものである。この重み/ラベル変換処理手段51Dは、ハードウェア回路により実現してもよく、ソフトウェアにより実現してもよく、前者の場合には、スクランブリング関数記憶手段56を例えばROM等により実現すればよい。
g(t)+g(t+(Xb−Xa)/2)=Ya+Yb ・・・・・・・・・(1)
ここで、tは、Xa≦t<(Xa+Xb)/2の範囲の実数である。
また、重み/ラベル変換処理手段51Dは、上記の式(1)を最も単純化した条件式として、次の式(2)を条件式とするスクランブリング関数Y=g(X)を用いた処理を行うことができる。
g(t)+g(t+1/2)=1 ・・・・・・・・・(2)
ここで、tは、0≦t<1/2の範囲の実数である。
上記の式(2)は、前述した式(1)において、Xa=0、Xb=1、Ya=0、Yb=1とした場合であり、この場合には、重み/ラベル変換処理手段51Dは、0〜1の間の実数Xを、0〜1の間の実数Yに変換する処理を行うことになる。この際、スクランブリング関数Y=g(X)への入力値となる0〜1の間の実数Xは、前述した如く、重み算出処理手段51Cにより、2のべき乗の重みを用いれば容易に算出することができる。また、スクランブリング関数Y=g(X)からの出力値は、0〜1の間の実数Yとなるので、上記の式(2)を条件式とする場合には、実数ラベル生成処理手段51は、擬似確率過程発生装置(Fake Process Generator)により実現することができる。従って、既存の擬似確率過程発生装置を利用することも可能である。
行列配置処理手段52は、実数ラベル生成処理手段51により生成された各実数ラベルと、これらの各実数ラベルを付された各ビットの符号順序変換処理前の仮想ビット系列内での配列位置情報(何番目のビットであるかという情報)とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従ってメモリに行列形式で行方向(横方向)に順次配置する処理を行うものである(図8の上段部分参照)。
行内ソーティング処理手段53は、行列配置処理手段52により行列形式でメモリに配置された各配列位置情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティング処理を行うものである(図8の中段部分参照)。
ブロックソーティング処理手段54は、行内ソーティング処理手段53による行内ソーティング後の各配列位置情報を、ブロック順序変換ルール記憶手段57に記憶されたブロック順序変換ルールに従って行単位(ブロック単位)で並べ替えるブロックソーティング処理を行うものである(図8の下段部分参照)。
行列読出処理手段55は、ブロックソーティング処理手段54によるブロックソーティング後の各配列位置情報をメモリから列方向(縦方向)に順次読み出す処理を行うものである(図8の下段部分および図9の左側部分参照)。
スクランブリング関数記憶手段56は、実数Xa〜実数Xbの間の実数Xを、実数Ya〜実数Ybの間の実数Yに変換するための前述した式(1)を満たすスクランブリング関数Y=g(X)を記憶するものである。また、前述したように、最も単純な条件式として、0〜1の間の実数Xを0〜1の間の実数Yに変換するための前述した式(2)を満たすスクランブリング関数を記憶してもよい。より具体的には、図10に示すように、大きさの等しい3つの山形の形状で示されるスクランブリング関数とすることができる。なお、式(1)や式(2)の条件を満たすスクランブリング関数は、多数あり、例えば、3つの山ではなく、5つの山、あるいは7つの山を有する形状等とすることができるが、インターリーブ処理におけるランダム化の程度、すなわちインターリーバへの入力系列と出力系列との無相関性の程度を高め、ターボ符号の性能の向上を図るという観点からは、図10に示すような3つの山を有する形状のスクランブリング関数とすることが好ましい。
ブロック順序変換ルール記憶手段57は、行内ソーティング後の各配列位置情報を行単位(ブロック単位)で並べ替えるためのブロック順序変換ルールを記憶するものである。このブロック順序変換ルールは、本実施形態では、少なくとも符号順序変換処理前のビット系列を構成する各ビットのうち7ビット離れた2つのビットが、符号順序変換処理後のビット系列内で7ビット離れた位置に配列されることを回避するためのルールである。
上記のブロック順序変換ルールは、以下に示すコードマッチドインターリーバの設計思想から導かれる。コードマッチドは、高SNR領域におけるビット誤り率への寄与が最も大きい致命的な入力パターン、すなわち最も低重みのパリティビット系列を作るような低重み入力パターンをなるべく壊すようなインターリーブ処理を実現するものである。
先ず、符号順序変換処理前のビット系列の各ビットの番号(配列位置情報)をiとし、この第i番目のビットについての符号順序変換処理後のビット系列における番号(配列位置情報)をπ(i)とする。すなわち、第i番目のビット内容(ビットの値)が、符号順序変換処理後に、第π(i)番目のビット内容(ビットの値)となるものとする。例えば、符号順序変換処理前のビット系列における第8番目のビット内容が、符号順序変換処理後に、第15番目のビット内容になるものとすると、π(8)=15と表すことができる。この際、コードマッチドインターリーバでは、次の式(3)の関係にある入力系列に対し、次の式(4)の関係を満たす出力系列が生成されるようにする。
|i−j|mod7=0 ・・・・・・・・・・・・・・・・・・・(3)
|π(i)−π(j)|mod7≠0 ・・・・・・・・・・・・・(4)
上記の式(3)および式(4)は、符号順序変換処理前のビット系列を構成する各ビットのうち7ビット、14ビット、21ビット、28ビット等、7の倍数ビット離れた2つのビット内容が、符号順序変換処理後のビット系列内で、7の倍数ビット離れた位置に配列されることを回避するルールである。しかし、実際には、上記の式(3)および式(4)を満たすようにして最も低重みのパリティビット系列を作るような全ての低重み入力パターンを壊すことは不可能である。そこで、本実施形態では、少なくとも、次の式(5)の関係にある入力系列に対し、次の式(6)の関係を満たす出力系列が生成されるようにしたものである。
|i−j|=7 ・・・・・・・・・・・・・・・・・・・・・・・(5)
|π(i)−π(j)|≠7 ・・・・・・・・・・・・・・・・・(6)
次に、ブロック順序変換ルールは、行列形式でメモリに配置されたときの行数(ブロック数)が20行であるものとすると、20次元のベクトル形式で表現することができる。例えば、(7,17,3,2,10,20,13,6,4,8,12,14,5,9,11,15,19,16,1,18)である。この例では、ブロックソーティング処理手段54によるブロックソーティング後の行列の第1行目には、ブロックソーティング前の行列の第7行目が配置され、ブロックソーティング後の行列の第2行目には、ブロックソーティング前の行列の第17行目が配置され、同様に、ブロックソーティング後の行列の第3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20行目には、ブロックソーティング前の行列の第3,2,10,20,13,6,4,8,12,14,5,9,11,15,19,16,1,18行目がそれぞれ配置される。なお、この例では、1〜20の数値を用いたが、例えば、0〜19の数値を用いてルールを定めても同じことである。
このようなブロック順序変換ルールは、次のようにして作成することができる。図11に示すように、ブロック順序変換ルールを示す20次元のベクトルが、(…,A,…,B,…)であり、AとBが7要素離れているものとする。すなわち、AとBとの間に6個の数値が並んでいるものとする。例えば、ブロックソーティング後の行列の第5行目に、ブロックソーティング前の行列の第A行目が配置され、ブロックソーティング後の行列の第12行目に、ブロックソーティング前の行列の第B行目が配置されるものとする。このことは、行列読出処理手段55による行列メモリからの読出し処理が、列方向(縦方向)に行われることから、インターリーブ処理後のビット系列の7ビット離れた位置(6ビット分の間を空けた位置)に、ブロックソーティング前の行列の第A行目のビットと第B行目のビットが配置されることを意味する。ここで、AとBとの差の絶対値が1(1行)の場合には、第A行目のビットと第B行目のビットとの同じ列における関係が、インターリーブ処理前のビット系列で7ビット離れた2つのビットになる場合がある。例えば、行列メモリを20行×26列とし、A=2、B=3とすると、ブロックソーティング前の行列の第A行目(=第2行目)は、インターリーブ処理前のビット系列における第27〜52番目のビット(行内ソーティング後も同様)であり、ブロックソーティング前の行列の第B行目(=第3行目)は、インターリーブ処理前のビット系列における第53〜78番目のビット(行内ソーティング後も同様)であり、行内ソーティングの結果、第A行目(=第2行目)では、第48番目のビットが第1列目に配置され、第B行目(=第3行目)では、第55番目のビットが第1列目に配置されることになれば、インターリーブ処理前のビット系列において7ビット離れていた2つのビットが同じ列に配置された状態になる。しかし、AとBとの差の絶対値が2以上(2行以上)の場合には、このような状態は生じない。従って、ブロック順序変換ルールを示す20次元のベクトル(…,A,…,B,…)において、7要素離れたAとBとが1違い(1行違い)にならないようにすればよい。
なお、このようにブロック順序変換ルールを示すベクトルにおいて、7要素離れたAとBとが1行違いにならないようにすればよいのは、列数が7列以上の場合であり、4〜6列の場合には、7要素離れたAとBとが1行違いでなく、かつ、2行違いでもないようにすればよく、3列の場合には、7要素離れたAとBとが2行違いでなく、かつ、3行違いでもないようにすればよく、2列の場合には、7要素離れたAとBとが3行違いでなく、かつ、4行違いでもないようにすればよい。
また、行列の行数(ブロック数)が20行である場合のブロック順序変換ルールは、上記の例に限らず、例えば、(12,18,4,14,19,3,8,6,7,11,5,1,9,2,20,10,17,16,15,13)、(13,10,6,3,11,8,16,9,12,2,7,4,1,19,5,18,14,15,17,20)、(19,2,14,11,1,17,18,13,15,10,8,5,12,9,16,3,7,6,20,4)、(14,17,13,11,8,1,18,5,20,2,9,3,12,10,19,7,4,6,15,16)、(17,11,19,16,4,12,10,8,14,7,9,2,15,13,18,6,3,1,5,20)、(19,12,18,17,3,5,14,8,1,7,15,10,2,9,16,11,4,6,13,20)、(1,4,20,13,12,6,14,10,19,18,3,7,15,5,17,2,9,8,16,11)、(15,4,19,13,7,12,5,14,8,9,1,17,2,3,16,11,18,20,6,10)等があり、いずれを用いてもよい。さらに、行列の行数(ブロック数)は20行に限定されるものではなく、任意であるため、ブロック順序変換ルールを示すベクトルの次元数も任意である。
以上において、各処理手段51〜55は、符号順序変換テーブル作成装置50を構成するコンピュータ(パーソナル・コンピュータのみならず、その上位機種や下位機種のものも含む。)の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する一つまたは複数のプログラムにより実現することができる。また、これらの各処理手段51〜55は、ハードウェア回路により実現してもよい。
また、スクランブリング関数記憶手段56およびブロック順序変換ルール記憶手段57には、例えば、ハードディスク、ROM、EEPROM、フラッシュ・メモリ、RAM、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、FD、磁気テープ、あるいはこれらの組合せ等を採用することができる。
符号順序復元テーブル作成装置70は、符号順序変換テーブル60から、これと逆の対応関係を定める符号順序復元テーブル80を作成する処理を行うものである。この符号順序復元テーブル作成装置70は、主としてソフトウェアにより実現してもよく、主としてハードウェア回路により実現してもよい。
このような第1実施形態においては、以下のようにしてターボ符号による情報ビット系列の符号順序変換処理および符号順序復元処理が行われる。
先ず、図2および図4に示すように、符号順序変換テーブル作成装置50により、符号順序変換テーブル60を作成し、さらに符号順序復元テーブル作成装置70により、符号順序復元テーブル80を作成し、これらの符号順序変換テーブル60および符号順序復元テーブル80を、符号順序変換テーブル記憶手段23A,33Aおよび符号順序復元テーブル記憶手段34Aにそれぞれ記憶させる。図4には、この具体的手順が示されている。
図4において、符号順序変換テーブル作成装置50(図2参照)の電源を投入してテーブル作成処理を開始し(ステップS1)、仮想ビット系列生成処理手段51A(図2参照)により、仮想ビット系列の構成ビットを自動生成する(ステップS2)。この際、図7に示すように、仮想ビット系列生成処理手段51Aは、シフトレジスタに格納された第M−1番目のビット内容(ビットの値)と第M番目のビット内容とを加算することにより、次にシフトレジスタに入力するビットの値を自動生成する。
続いて、図3に示すように、仮想ビット系列生成処理手段51Aにより生成した仮想ビット系列{Un}の構成ビットUnを1ビット分(第1番目のビットは、U1とする。)だけシフトレジスタに入力し、シフトレジスタにより実現されたシフト処理手段51B(図2参照)により、シフトレジスタに既に格納されている各ビットの値を1ビットずつシフトさせる(図4のステップS3)。
それから、図3に示すように、重み算出処理手段51C(図2参照)により、シフトレジスタの第m番目のビット内容(ビットの値)に、そのビットに対応する重み2-mをそれぞれ乗じ、これらの重みをm=1〜Mについて全て加算し、さらに2-(M+1)を加算して全体的な重みである実数X(第1番目のビットU1をシフトレジスタに入力して得られた値を実数X1とする。)を算出する(図4のステップS4)。
そして、図3に示すように、重み/ラベル変換処理手段51D(図2参照)により、スクランブリング関数記憶手段56に記憶されたスクランブリング関数Y=g(X)を用いて(図10参照)、重み算出処理手段51Cにより算出された重みである実数X(第1番目は、実数X1)から、仮想ビット系列の構成ビットに付される実数ラベルとなる実数Y(第1番目は、実数Y1)への変換処理を行う(図4のステップS5)。なお、本実施形態では、一例として、シフトレジスタに新たに入力されたビットに対し、このビットの入力で算出された実数Xを変換して得られた実数Yを実数ラベルとして付すものとする。従って、仮想ビット系列の第n番目のビットUnをシフトレジスタに新たに入力して実数Xnが算出され、この実数Xnを変換して実数Ynが得られたとすると、実数Ynが第n番目のビットUnに実数ラベルとして付されるものとする。但し、生成された実数ラベルを、いずれのビットに付されるラベルとするかは任意であり、例えば、シフトレジスタの中央付近に格納されたビットに付されるラベルとしてもよく、あるいはシフトレジスタの最後のビット(次のシフト処理でシフトレジスタから外れるビット)、シフトレジスタに入る前のビット、シフトレジスタから既に外れたビット等に付されるラベルとしてもよい。
続いて、行列配置処理手段52(図2参照)により、重み/ラベル変換処理手段51Dにより得られた実数ラベルである実数Y1と、この実数Y1という実数ラベルを付された仮想ビット系列{Un}の第1番目のビットU1についての配列位置情報(第1番目のビットであるという情報)とを対にした状態で、これらを行列形式でメモリに配置する(図4のステップS6)。なお、本実施形態では、一例として、行列サイズP行×Q列が、20行×26列(要素数が520)であるものとして説明を行うが、これに限定されるものではない。
そして、ビット数が規定数(行列の要素数)に達したか否かを判断し(図4のステップS7)、規定数に達していない場合には、図4のステップS2の処理に戻り、以降、ビット数が規定数に達するまで、ステップS2〜S7の処理を繰り返すことにより、実数ラベルである各実数Yn(n=2,3,4,…)を生成し、これらの各実数Ynと、これらの各実数Ynという実数ラベルを付された仮想ビット系列{Un}の各構成ビットUn(n=2,3,4,…)についての配列位置情報(第n番目のビットであるという情報)とを対にした状態で、これらを行列形式でメモリに行方向(横方向)に順次配置していく。なお、実数ラベルを行列の要素数の分だけ全て生成してから、実数ラベルである各実数Yn(n=1,2,3,…)と、これらの実数Ynという実数ラベルを付された仮想ビット系列{Un}の各構成ビットUn(n=1,2,3,…)についての配列位置情報(第n番目のビットであるという情報)とを対にした状態で、これらを行列形式でメモリに配置してもよい。
図8の上段部分には、実数ラベルである各実数Ynと、これらの実数Ynという実数ラベルを付された仮想ビット系列{Un}の各構成ビットUnについての配列位置情報とが対にされて、行列形式でメモリに配置された状態が示されている。行列の先頭(左上)の要素において、カッコ内の数値は、配列位置情報であり、「(1)」は、仮想ビット系列における第1番目のビットであることを示し、カッコの下側の数値は、実数ラベルであり、「0.34」は、実数ラベルがY1=0.34であることを示している。他の要素も同様である。
その後、図8に示すように、行内ソーティング処理手段53(図2参照)により、各行内で実数ラベルの数値の大小順に従って、各配列位置情報の順序を実数ラベルとの対を保ちながら入れ替える(図4のステップS8)。例えば、図8の上段部分の行列において太枠で囲まれた第1行目は、図8の中段部分の行列において太枠で囲まれた第1行目のようになる。この例では、第1行内で最も小さい実数ラベルは、配列位置情報(26)と対になった「0.11」であるから、配列位置情報(26)および実数ラベル「0.11」は、第1列目に配置される。他の対も同様である。また、この例では、実数ラベルが小さい順に左側から並べられているが、実数ラベルが大きい順に左側から並べてもよい。
続いて、図8に示すように、ブロックソーティング処理手段54(図2参照)により、ブロック順序変換ルール記憶手段57に記憶されたブロック順序変換ルールに従って、配列位置情報と実数ラベルとの対を、行単位(ブロック単位)で入れ替える(図4のステップS9)。例えば、ブロック順序変換ルールを示す20次元のベクトルが、(7,17,3,2,10,20,13,6,4,8,12,14,5,9,11,15,19,16,1,18)である場合には、ブロックソーティング前の状態を示す図8の中段部分の行列において太枠で囲まれた第1行目は、ブロックソーティング後の状態を示す図8の下段部分の行列において太枠で囲まれた第19行目に配置される。同様に、ブロックソーティング前の第2行目、第20行目は、ブロックソーティング後の第4行目、第6行目にそれぞれ配置される。
それから、行列読出処理手段55(図2参照)により、行列形式でメモリに配置された各配列位置情報を第1列目から列方向(縦方向)に順次読み出す。読み出す方向は、上から下に向かってもよく、あるいは下から上に向かってもよいが、ここでは前者のように上から下に向かって読み出すものとして説明を行う。すると、図9に示すような対応関係が得られる。この例では、入力系列の第30番目のビットは、出力系列では、第4番目のビットに配置され、同様に、入力系列の第496番目、第26番目のビットは、出力系列では、第6番目、第19番目のビットに配置される対応関係となっている。そして、情報ビット系列の処理単位が512ビットの場合には、「513」〜「520」は不要であるため、「513」〜「520」を取り除いて順次数値を詰める作業を行う。例えば、図9の例では、「519」を取り除き、その下側の各数値を上方にずらし、取り除いた部分には、太枠で囲まれた直下の数値「322」を入れる。このようにして処理単位が512ビットである場合の符号順序変換テーブル60を作成する(図4のステップS10)。なお、処理単位が512ビット以外の場合には、行列サイズを変更すればよく、この場合に、行数は20行として変更しなければ、前述した20次元のベクトルで示されるブロック順序変換ルールをそのまま使用することができる。
次に、図9に示すように、符号順序復元テーブル作成装置70(図2参照)により、符号順序変換テーブル60の対応関係を逆転させることにより、符号順序復元テーブル80を作成する(図4のステップS11)。
そして、図2に示すように、作成した符号順序変換テーブル60を符号器20のインターリーバ23の符号順序変換テーブル記憶手段23Aおよび復号器30のインターリーバ33の符号順序変換テーブル記憶手段33Aに書き込んで保存するとともに、作成した符号順序復元テーブル80を復号器30のデインターリーバ34の符号順序復元テーブル記憶手段34Aに書き込んで保存し(図4のステップS12)、符号順序変換テーブル60および符号順序復元テーブル80の作成処理を終了する(図4のステップS13)。
また、符号器20におけるインターリーバ23によるインターリーブ処理は、図5に示す手順で行われる。図5において、先ず、符号器20あるいは符号器20を含む通信システムの送信機の電源を投入して処理を開始し(ステップS21)、符号順序変換処理手段23B(図2参照)により、処理対象となる情報ビット系列C(図1参照)を入力する(ステップS22)。続いて、符号順序変換処理手段23Bにより、符号順序変換テーブル記憶手段23Aに記憶された符号順序変換テーブル60を用いて、入力した情報ビット系列Cの構成ビットを並べ替える符号順序変換処理を行った後(ステップS23)、変換処理後のビット系列Ch(図1参照)を出力し(ステップS24)、インターリーブ処理を終了する(ステップS25)。なお、復号器30におけるインターリーバ33によるインターリーブ処理も同様である。
一方、復号器30におけるデインターリーバ34によるデインターリーブ処理は、図6に示す手順で行われる。図6において、先ず、復号器30あるいは復号器30を含む通信システムの受信機の電源を投入して処理を開始し(ステップS31)、符号順序復元処理手段34B(図2参照)により、第2の要素復号器32(図1参照)から出力されたビット系列Λ2eを入力する(ステップS32)。続いて、符号順序復元処理手段34Bにより、符号順序復元テーブル記憶手段34Aに記憶された符号順序復元テーブル80を用いて、入力したビット系列Λ2eの構成ビットを並べ替える符号順序復元処理を行った後(ステップS33)、復元処理後のビット系列Λ2e h(図1参照)を出力し(ステップS34)、デインターリーブ処理を終了する(ステップS35)。
このような第1実施形態によれば、次のような効果がある。すなわち、インターリーバ23,33によるインターリーブ処理で用いられる符号順序変換テーブル60は、ランダムに生成された実数ラベルの数値の大小関係を利用して作成されるので、ランダム化の程度の高い符号順序変換処理を実現すること、すなわちインターリーバ23,33への入力系列と出力系列との無相関性を高めることができる。このため、通信システムの性能の向上を図ることができる。
また、符号順序変換テーブル60は、スクランブリング関数(図10参照)を用いた実数ラベルの生成処理を行って作成されているので、スクランブリング関数の持つ機能により、符号順序変換処理におけるランダム化の程度を、より一層高めることができ、通信システムの性能を、より一層向上させることができる。
さらに、0〜1の間の実数Xから0〜1の間の実数Yへの変換を行うスクランブリング関数Y=g(X)を用いた実数ラベルの生成処理を行って符号順序変換テーブル60を作成する場合には、従来から存在する擬似確率過程発生装置(Fake Process Generator)を利用して実数ラベルの生成処理を実現することができるので、ランダム化された実数ラベルの生成処理を容易に実現することができる。
そして、符号順序変換テーブル60は、コードマッチドインターリーバの設計思想に沿って定められたブロック順序変換ルールに基づくブロックソーティング処理を行って作成されるので、高SNR領域におけるビット誤り率への寄与が最も大きい致命的な入力パターン、すなわち最も低重みのパリティビット系列を作るような低重み入力パターンをなるべく壊すようなインターリーブ処理を実現することができる。
また、本発明の効果を確かめるために、次のようなシミュレーションによる比較実験を行った。
本発明のインターリーバ(実施例)と、前述した特許文献1および非特許文献1に記載された素数インターリーバ(比較例)とについて、ターボ符号の復号特性の相違を検証した。具体的には、本発明の第1実施形態のターボ符号用の符号器20および復号器30、並びにこれらに含まれるインターリーバ23,33およびデインターリーバ34(図1参照)と、これらに対応する機器を素数インターリーバを用いて構成したものとを、それぞれC++言語を用いてプログラミングし、シミュレーションを行った。
送受信するデータとして5120ビットのビット系列をランダムに生成し、300回計測してビット誤り率(BER:Bit Error Rate)の平均をとった。状態数は8、符号化率は1/3とした。変調方式にはBPSK(Bi-Phase Shift Keying)変調方式を仮定した。また、通信路として、白色ガウス雑音通信路を仮定し、送信系列にその雑音を載せた系列を最終的な受信系列とした。
図12には、シミュレーションによる比較実験結果が示されている。縦軸は、ビット誤り率(BER:Bit Error Rate)であり、横軸は、実験パラメータとして変化させたSNR、すなわちビット当たりのエネルギ対雑音電力スペクトル密度比Eb/N0であり、右側にいく程、雑音が少ないことを意味する。従って、グラフの値が小さくなればなる程、復号特性は良いと言える。なお、ターボ符号による繰り返しの回数は、8回である。
図12によれば、Eb/N0=0.2〜0.3付近では、本発明のインターリーバ(実施例)のビット誤り率の値が、素数インターリーバ(比較例)の値よりも小さくなっており、これにより本発明の効果が顕著に示された。
[第2実施形態]
図13には、本発明の第2実施形態の符号順序変換装置であるインターリーバ200およびこのインターリーバ200による処理で用いられる行内ソーティングテーブル220を作成する行内ソーティングテーブル作成装置210の構成が示されている。本第2実施形態は、行内ソーティングテーブル事前作成の発明に係る実施形態である。
図13において、インターリーバ200は、行列配置処理手段201と、行内ソーティング処理手段202と、ブロックソーティング処理手段203と、行列読出処理手段204と、行内ソーティングテーブル記憶手段205と、ブロック順序変換ルール記憶手段206とを備えて構成されている。
行列配置処理手段201は、情報ビット系列Cを構成する各ビットの値を示す内容情報(「1」か「0」の情報)を、各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向にメモリに順次配置する処理を行うものである。
行内ソーティング処理手段202は、行列配置処理手段201により行列形式で配置された各内容情報を、各行内(各ブロック内)でそれぞれ行内ソーティングテーブル記憶手段205に記憶された各行内ソーティングテーブル220を用いて並べ替える処理を行うものである。
ブロックソーティング処理手段203は、行内ソーティング処理手段202による行内ソーティング後の各内容情報を、ブロック順序変換ルール記憶手段206に記憶されたブロック順序変換ルールに従って行単位(ブロック単位)で並べ替える処理を行うものである。
行列読出処理手段204は、ブロックソーティング処理手段203によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより、符号順序変換処理後のビット系列Chを生成する処理を行うものである。
行内ソーティングテーブル記憶手段205は、行内ソーティング処理手段202による行内ソーティングの際の順序変換ルールを定める行内ソーティングテーブル220を各行毎(各ブロック毎)に記憶するものである。これらの行内ソーティングテーブル220は、行内ソーティングテーブル作成装置210により作成されたものである。
ブロック順序変換ルール記憶手段206は、ブロックソーティング処理手段203によるブロックソーティングの際のブロック順序変換ルールを記憶するものである。このブロック順序変換ルールは、前記第1実施形態の場合と同様である。
行内ソーティングテーブル作成装置210は、行内ソーティングテーブル220を事前に作成する装置であり、実数ラベル生成処理手段211と、配列処理手段212と、配列読出処理手段213と、スクランブリング関数記憶手段214とを備えて構成されている。
実数ラベル生成処理手段211は、前記第1実施形態の実数ラベル生成処理手段51の場合と同様に、情報ビット系列Cの代用として仮想ビット系列を自動生成し、この仮想ビット系列の各構成ビットの値を用いて重みである実数Xを算出し、スクランブリング関数記憶手段214に記憶されたスクランブリング関数Y=g(X)を用いて実数Xから実数Yへの変換処理を行うことにより、仮想ビット系列の各構成ビットに付される実数ラベルをランダムに生成する処理を行うものである。
配列処理手段212は、実数ラベル生成処理手段211により生成された各実数ラベルと、これらの各実数ラベルを付された各ビットの符号順序変換処理前の仮想ビット系列内での配列位置情報(第何番目のビットであるかという情報)とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従ってメモリに順次配列する処理を行うものである。
配列読出処理手段213は、配列処理手段212により配列した各配列位置情報を、複数のブロックに区切って各ブロック内でそれぞれ各実数ラベルの数値の大小順に従って並べ替えた後、つまり各ブロック内で行内ソーティングに相当する処理を行った後、並べ替えられた各配列位置情報を各ブロック毎に順次読み出すことにより、各行内ソーティングテーブル220を作成する処理を行うものである。
スクランブリング関数記憶手段214は、実数ラベル生成処理手段211による処理で用いられるスクランブリング関数Y=g(X)を記憶するものであり、前記第1実施形態のスクランブリング関数記憶手段56の場合と同様である。
なお、復号器のデインターリーバには、行内ソーティングテーブル記憶手段205に記憶された各行内ソーティングテーブル220と逆の変換を行うための各行毎の逆行内ソーティングテーブルを記憶する逆行内ソーティングテーブル記憶手段を設けるとともに、ブロック順序変換ルール記憶手段206に記憶されたブロック順序変換ルールと逆の変換を行うためのブロック順序逆変換ルールを記憶するブロック順序逆変換ルール記憶手段を設けておけばよい。また、符号器または復号器のいずれか一方のインターリーバについて上記のインターリーバ200を採用し、他方のインターリーバについては、前記第1実施形態の場合と同様に、各行内ソーティングテーブルとブロック順序変換ルールとを組み合わせたに等しい変換ルールを定める符号順序変換テーブルを用意してインターリーブ処理を行ってもよい。さらに、復号器のデインターリーバには、前記第1実施形態の場合と同様に、各逆行内ソーティングテーブルとブロック順序逆変換ルールとを組み合わせたに等しい変換ルールを定める符号順序復元テーブルを用意してデインターリーブ処理を行ってもよい。
このような第2実施形態においては、情報ビット系列Cの符号順序変換処理に先立って、行内ソーティングテーブル作成装置210により、各行内ソーティングテーブル220を事前に作成して行内ソーティングテーブル記憶手段205に記憶させておく。そして、情報ビット系列Cの符号順序変換処理を行う際には、行列配置処理手段201により、情報ビット系列Cを構成する各ビットの値を示す内容情報を行列形式で行方向に順次配置し、行内ソーティング処理手段202により、各行内でそれぞれ行内ソーティングテーブル記憶手段205に記憶された各行内ソーティングテーブル220を用いて行内ソーティングを行った後、ブロックソーティング処理手段203により、ブロック順序変換ルール記憶手段206に記憶されたブロック順序変換ルールに従ってブロックソーティングを行い、行列読出処理手段204により、各内容情報を列方向に順次読み出すことにより、符号順序変換処理後のビット系列Chを生成する。
このような第2実施形態によれば、次のような効果がある。すなわち、インターリーバ200によるインターリーブ処理で用いられる各行内ソーティングテーブル220は、ランダムに生成された実数ラベルの数値の大小関係を利用して作成されるので、前記第1実施形態の場合と同様に、ランダム化の程度の高い符号順序変換処理を実現すること、すなわちインターリーバ200への入力系列と出力系列との無相関性を高めることができる。このため、通信システムの性能の向上を図ることができる。
また、各行内ソーティングテーブル220は、スクランブリング関数(図10参照)を用いた実数ラベルの生成処理を行って作成されているので、前記第1実施形態の場合と同様に、スクランブリング関数の持つ機能により、符号順序変換処理におけるランダム化の程度を、より一層高めることができ、通信システムの性能を、より一層向上させることができる。
さらに、0〜1の間の実数Xから0〜1の間の実数Yへの変換を行うスクランブリング関数Y=g(X)を用いた実数ラベルの生成処理を行って各行内ソーティングテーブル220を作成する場合には、従来から存在する擬似確率過程発生装置(Fake Process Generator)を利用して実数ラベルの生成処理を実現することができるので、ランダム化された実数ラベルの生成処理を容易に実現することができる。
そして、各行内ソーティングテーブル220を用いた行内ソーティング後には、コードマッチドインターリーバの設計思想に沿って定められたブロック順序変換ルールに基づくブロックソーティングを行うので、高SNR領域におけるビット誤り率への寄与が最も大きい致命的な入力パターン、すなわち最も低重みのパリティビット系列を作るような低重み入力パターンをなるべく壊すようなインターリーブ処理を実現することができる。
[第3実施形態]
図14には、本発明の第3実施形態の符号順序変換装置であるインターリーバ300の構成が示されている。本第3実施形態は、符号順序変換テーブル実時間作成の発明に係る実施形態である。
図14において、インターリーバ300は、実数ラベル生成処理手段301と、行列配置処理手段302と、行内ソーティング処理手段303と、ブロックソーティング処理手段304と、符号順序変換テーブル作成処理手段305と、符号順序変換処理手段306と、スクランブリング関数記憶手段307と、ブロック順序変換ルール記憶手段308とを備えて構成されている。
実数ラベル生成処理手段301は、仮想ビット系列ではなく、符号順序変換処理の対象となる情報ビット系列Cの各構成ビットの値を用いて実数ラベルを生成する点を除き、前記第1実施形態の実数ラベル生成処理手段51の場合と同様である。
行列配置処理手段302は、実数ラベル生成処理手段301により生成された各実数ラベルと、これらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列C内での配列位置情報とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式で行方向にメモリに順次配置する処理を行うものである。
行内ソーティング処理手段303は、行列配置処理手段302により行列形式で配置された各配列位置情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティング処理を行うものである。
ブロックソーティング処理手段304は、行内ソーティング処理手段303による行内ソーティング後の各配列位置情報を、ブロック順序変換ルール記憶手段308に記憶されたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティング処理を行うものである。
符号順序変換テーブル作成処理手段305は、ブロックソーティング処理手段304によるブロックソーティング後の各配列位置情報を列方向に順次読み出すことにより、符号順序変換処理前のビット系列と符号順序変換処理後のビット系列とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブル310を作成する処理を行うものである。
符号順序変換処理手段306は、符号順序変換テーブル作成処理手段305により作成された符号順序変換テーブル310を用いて、情報ビット系列Cを構成する各ビットを並べ替えることにより、符号順序変換処理後のビット系列Chを生成する処理を行うものである。
スクランブリング関数記憶手段307は、実数ラベル生成処理手段301による処理で用いられるスクランブリング関数Y=g(X)を記憶するものであり、前記第1実施形態のスクランブリング関数記憶手段56の場合と同様である。
ブロック順序変換ルール記憶手段308は、ブロックソーティング処理手段304によるブロックソーティングの際のブロック順序変換ルールを記憶するものである。このブロック順序変換ルールは、前記第1実施形態の場合と同様である。
このような第3実施形態においては、実数ラベル生成処理手段301により、符号順序変換処理の対象となる情報ビット系列Cの構成ビットの値を用いて実数ラベルをランダムに生成し、行列配置処理手段302により、各実数ラベルと各ビットの符号順序変換処理前の情報ビット系列C内での配列位置情報とを対にして行列形式で行方向に順次配置し、行内ソーティング処理手段303により、各行内でそれぞれ各実数ラベルの数値の大小順に従って各配列位置情報を並べ替える行内ソーティングを行った後、ブロックソーティング処理手段304により、ブロック順序変換ルール記憶手段308に記憶されたブロック順序変換ルールに従って各配列位置情報を行単位で並べ替えるブロックソーティングを行う。そして、符号順序変換テーブル作成処理手段305により、ブロックソーティング後の各配列位置情報を列方向に順次読み出すことにより、符号順序変換処理前のビット系列と符号順序変換処理後のビット系列とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブル310を作成し、その後、符号順序変換テーブル310を用いて情報ビット系列Cを構成する各ビットを並べ替えて符号順序変換処理後のビット系列Chを生成する。
また、符号順序変換テーブル作成処理手段305により作成した符号順序変換テーブル310は、各処理単位毎(例えば、サイズの大きい情報ビット系列を512ビットに区切って処理する場合には、その512ビット毎という意味である。)に毎回連続して、または間欠的に復号器へ送信する。復号器では、受信した符号順序変換テーブルを用いてインターリーブ処理を行うとともに、符号順序変換テーブルから符号順序復元テーブルを作成してデインターリーブ処理を行う。なお、符号順序変換テーブル310を間欠的に復号器へ送信する場合には、符号器側では、次回の送信時まで既に作成されている符号順序変換テーブル310を用いて(あるいは、事前に作成された固定的な符号順序変換テーブルを織り交ぜて用いてもよい。)符号順序変換処理手段306による処理を行うので、各処理手段301〜305による処理は行う必要はない。
このような第3実施形態によれば、前記第1、第2実施形態の場合と同様に、実数ラベルを利用した符号順序変換処理によるランダム化の程度および通信システムの性能の向上効果、スクランブリング関数の利用によるランダム化の程度および通信システムの性能の向上効果、擬似確率過程発生装置の利用による実数ラベルの生成処理の容易化効果、コードマッチドの設計思想に沿ったブロック順序変換ルールの利用による致命的な入力パターンを壊す効果を得ることができることに加え、符号順序変換テーブル310を事前に作成しておくのではなく、情報ビット系列Cを用いてリアルタイムで作成するので、秘匿通信を実現することができる。
[第4実施形態]
図15には、本発明の第4実施形態の符号順序変換装置であるインターリーバ400の構成が示されている。本第4実施形態は、符号順序変換テーブル実時間作成・内容情報直接並べ替え同時処理の発明に係る実施形態である。また、図16には、インターリーバ400による行内ソーティングの例が示されている。
図15において、実数ラベル生成処理手段401と、行列配置処理手段402と、行内ソーティング処理手段403と、ブロックソーティング処理手段404と、符号順序変換テーブル作成処理手段405と、行列読出処理手段406と、スクランブリング関数記憶手段407と、ブロック順序変換ルール記憶手段408とを備えて構成されている。
実数ラベル生成処理手段401は、仮想ビット系列ではなく、符号順序変換処理の対象となる情報ビット系列Cの各構成ビットの値を用いて実数ラベルを生成する点を除き、前記第1実施形態の実数ラベル生成処理手段51の場合と同様である。
行列配置処理手段402は、実数ラベル生成処理手段401により生成された各実数ラベルと、これらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列C内での配列位置情報(第何番目のビットであるかという情報)と、各ビットの値を示す内容情報(「1」か「0」の情報)とを対にした状態で、各配列位置情報および各内容情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式でメモリに行方向に順次配置する処理を行うものである(図16参照)。
行内ソーティング処理手段403は、図16に示すように、行列配置処理手段402により行列形式で配置された各配列位置情報および各内容情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティング処理を行うものである。
ブロックソーティング処理手段404は、行内ソーティング処理手段403による行内ソーティング後の各配列位置情報および各内容情報を、ブロック順序変換ルール記憶手段408に記憶されたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティング処理を行うものである。
符号順序変換テーブル作成処理手段405は、ブロックソーティング処理手段404によるブロックソーティング後の各配列位置情報を列方向に順次読み出すことにより、符号順序変換処理前のビット系列と符号順序変換処理後のビット系列とのそれぞれの構成ビットの対応関係を定める符号順序変換テーブル410を作成する処理を行うものである。
行列読出処理手段406は、ブロックソーティング処理手段404によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより符号順序変換処理後のビット系列Chを生成する処理を行うものである。
スクランブリング関数記憶手段407は、実数ラベル生成処理手段401による処理で用いられるスクランブリング関数Y=g(X)を記憶するものであり、前記第1実施形態のスクランブリング関数記憶手段56の場合と同様である。
ブロック順序変換ルール記憶手段408は、ブロックソーティング処理手段404によるブロックソーティングの際のブロック順序変換ルールを記憶するものである。このブロック順序変換ルールは、前記第1実施形態の場合と同様である。
このような第4実施形態においては、行列配置処理手段402、行内ソーティング処理手段403、およびブロックソーティング処理手段404による各処理において、実数ラベルと配列位置情報とを対にするだけではなく、これらに加えて内容情報についても対にして取り扱う点が、前記第3実施形態と異なる(図16参照)。従って、前記第3実施形態では、一旦、符号順序変換テーブル310(図14参照)を作成してから、その符号順序変換テーブル310を用いて符号順序変換処理を行っていたが、本第4実施形態では、ブロックソーティング処理手段404による処理を終えた段階で、内容情報は既に並べ替えられているため、符号順序変換テーブル410の作成処理と符号順序変換処理とが並行して行われることになる。
このような第4実施形態によれば、前記第1、第2実施形態の場合と同様に、実数ラベルを利用した符号順序変換処理によるランダム化の程度および通信システムの性能の向上効果、スクランブリング関数の利用によるランダム化の程度および通信システムの性能の向上効果、擬似確率過程発生装置の利用による実数ラベルの生成処理の容易化効果、コードマッチドの設計思想に沿ったブロック順序変換ルールの利用による致命的な入力パターンを壊す効果を得ることができることに加え、前記第3実施形態の場合と同様に、符号順序変換テーブル410を事前に作成しておくのではなく、情報ビット系列Cを用いてリアルタイムで作成するので、秘匿通信を実現することができる。
[第5実施形態]
図17には、本発明の第5実施形態の符号順序変換装置であるインターリーバ500の構成が示されている。本第5実施形態は、行内ソーティングテーブル実時間作成の発明に係る実施形態である。
図17において、インターリーバ500は、実数ラベル生成処理手段501と、配列処理手段502と、行内ソーティングテーブル作成処理手段503と、行列配置処理手段504と、行内ソーティング処理手段505と、ブロックソーティング処理手段506と、行列読出処理手段507と、スクランブリング関数記憶手段508と、ブロック順序変換ルール記憶手段509とを備えて構成されている。
実数ラベル生成処理手段501は、仮想ビット系列ではなく、符号順序変換処理の対象となる情報ビット系列Cの各構成ビットの値を用いて実数ラベルを生成する点を除き、前記第1実施形態の実数ラベル生成処理手段51の場合と同様である。
配列処理手段502は、実数ラベル生成処理手段501により生成された各実数ラベルと、これらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列C内での配列位置情報(第何番目のビットであるかという情報)とを対にした状態で、各配列位置情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従ってメモリに順次配列する処理を行うものである。
行内ソーティングテーブル作成処理手段503は、配列処理手段502により配列した各配列位置情報を複数のブロックに区切って各ブロック内でそれぞれ各実数ラベルの数値の大小順に従って並べ替えることにより、行内ソーティング処理手段505による処理で用いられる行内ソーティングテーブル510を、各行に対応する各ブロック毎に作成する処理を行うものである。
行列配置処理手段504は、情報ビット系列Cを構成する各ビットの値を示す内容情報(「1」か「0」の情報)を、各ビットの符号順序変換処理前の配列順序に従って行列形式でメモリに行方向に順次配置する処理を行うものである。
行内ソーティング処理手段505は、行列配置処理手段504により行列形式で配置された各内容情報を、各行内でそれぞれ各行内ソーティングテーブル510を用いて並べ替える行内ソーティング処理を行うものである。
ブロックソーティング処理手段506は、行内ソーティング処理手段505による行内ソーティング後の各内容情報を、ブロック順序変換ルール記憶手段509に記憶されたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティング処理を行うものである。
行列読出処理手段507は、ブロックソーティング処理手段506によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより符号順序変換処理後のビット系列Chを生成する処理を行うものである。
スクランブリング関数記憶手段508は、実数ラベル生成処理手段501による処理で用いられるスクランブリング関数Y=g(X)を記憶するものであり、前記第1実施形態のスクランブリング関数記憶手段56の場合と同様である。
ブロック順序変換ルール記憶手段509は、ブロックソーティング処理手段506によるブロックソーティングの際のブロック順序変換ルールを記憶するものである。このブロック順序変換ルールは、前記第1実施形態の場合と同様である。
このような第5実施形態においては、実数ラベル生成処理手段501により、符号順序変換処理の対象となる情報ビット系列Cの構成ビットの値を用いて実数ラベルをランダムに生成し、配列処理手段502により、各実数ラベルと各配列位置情報とを対にして各ビットの符号順序変換処理前の配列順序に従って順次配列し、行内ソーティングテーブル作成処理手段503により、各配列位置情報を各実数ラベルの数値の大小順に従って並べ替えることにより、すなわち行内ソーティングに相当する処理を行うことにより、各行毎の行内ソーティングテーブル510を作成する。そして、行列配置処理手段504により、情報ビット系列Cの各構成ビットの内容情報を行列形式で行方向に順次配置し、行内ソーティング処理手段505により、各内容情報を各行内でそれぞれ各行内ソーティングテーブル510を用いて並べ替える行内ソーティングを行った後、ブロックソーティング処理手段506により、各内容情報をブロック順序変換ルール記憶手段509に記憶されたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティングを行い、行列読出処理手段507により、各内容情報を列方向に順次読み出すことにより符号順序変換処理後のビット系列Chを生成する。
このような第5実施形態によれば、前記第1、第2実施形態の場合と同様に、実数ラベルを利用した符号順序変換処理によるランダム化の程度および通信システムの性能の向上効果、スクランブリング関数の利用によるランダム化の程度および通信システムの性能の向上効果、擬似確率過程発生装置の利用による実数ラベルの生成処理の容易化効果、コードマッチドの設計思想に沿ったブロック順序変換ルールの利用による致命的な入力パターンを壊す効果を得ることができることに加え、各行毎の行内ソーティングテーブル510を事前に作成しておくのではなく、情報ビット系列Cを用いてリアルタイムで作成するので、秘匿通信を実現することができる。
[第6実施形態]
図18には、本発明の第6実施形態の符号順序変換装置であるインターリーバ600の構成が示されている。本第6実施形態は、行内ソーティングテーブル実時間作成・内容情報直接並べ替え同時処理の発明に係る実施形態である。
図18において、インターリーバ600は、実数ラベル生成処理手段601と、行列配置処理手段602と、行内ソーティング処理手段603と、行内ソーティングテーブル作成処理手段604と、ブロックソーティング処理手段605と、行列読出処理手段606と、スクランブリング関数記憶手段607と、ブロック順序変換ルール記憶手段608とを備えて構成されている。
実数ラベル生成処理手段601は、仮想ビット系列ではなく、符号順序変換処理の対象となる情報ビット系列Cの各構成ビットの値を用いて実数ラベルを生成する点を除き、前記第1実施形態の実数ラベル生成処理手段51の場合と同様である。
行列配置処理手段602は、実数ラベル生成処理手段601により生成された各実数ラベルと、これらの各実数ラベルを付された各ビットの符号順序変換処理前の情報ビット系列C内での配列位置情報(第何番目のビットであるかという情報)と、各ビットの値を示す内容情報(「1」か「0」の情報)とを対にした状態で、各配列位置情報および各内容情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式でメモリに行方向に順次配置する処理を行うものである(図16参照)。
行内ソーティング処理手段603は、行列配置処理手段602により行列形式で配置された各配列位置情報および各内容情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティング処理を行うものである。
行内ソーティングテーブル作成処理手段604は、行内ソーティング処理手段603による行内ソーティング後の各配列位置情報を各行毎に順次読み出すことにより、各行内ソーティングの際の順序変換ルールを定める行内ソーティングテーブル610を各行に対応する各ブロック毎に作成する処理を行うものである。
ブロックソーティング処理手段605は、行内ソーティング処理手段603による行内ソーティング後の各内容情報(各配列位置情報を伴ってもよい。)を、ブロック順序変換ルール記憶手段608に記憶されたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティング処理を行うものである。
行列読出処理手段606は、ブロックソーティング処理手段605によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより符号順序変換処理後のビット系列Chを生成する処理を行うものである。
スクランブリング関数記憶手段607は、実数ラベル生成処理手段601による処理で用いられるスクランブリング関数Y=g(X)を記憶するものであり、前記第1実施形態のスクランブリング関数記憶手段56の場合と同様である。
ブロック順序変換ルール記憶手段608は、ブロックソーティング処理手段605によるブロックソーティングの際のブロック順序変換ルールを記憶するものである。このブロック順序変換ルールは、前記第1実施形態の場合と同様である。
このような第6実施形態においては、行列配置処理手段602および行内ソーティング処理手段603による各処理において、実数ラベルと配列位置情報とを対にするだけではなく、これらに加えて内容情報についても対にして取り扱う点(ブロックソーティング処理手段605による処理においても同様の取り扱いとしてよい。)が、前記第5実施形態と異なる(図16参照)。従って、前記第5実施形態では、一旦、各行毎の行内ソーティングテーブル510(図17参照)を作成してから、それらの各行毎の行内ソーティングテーブル510を用いて行内ソーティング処理を行っていたが、本第6実施形態では、行内ソーティング処理手段603による処理を終えた段階で、内容情報は既に並べ替えられているため、各行毎の行内ソーティングテーブル610の作成処理と行内ソーティング処理とが並行して行われることになる。
このような第6実施形態によれば、前記第1、第2実施形態の場合と同様に、実数ラベルを利用した符号順序変換処理によるランダム化の程度および通信システムの性能の向上効果、スクランブリング関数の利用によるランダム化の程度および通信システムの性能の向上効果、擬似確率過程発生装置の利用による実数ラベルの生成処理の容易化効果、コードマッチドの設計思想に沿ったブロック順序変換ルールの利用による致命的な入力パターンを壊す効果を得ることができることに加え、前記第5実施形態の場合と同様に、各行毎の行内ソーティングテーブル610を事前に作成しておくのではなく、情報ビット系列Cを用いてリアルタイムで作成するので、秘匿通信を実現することができる。
[第7実施形態]
図19には、本発明の第7実施形態の符号順序変換装置であるインターリーバ700の構成が示されている。本第7実施形態は、内容情報直接並べ替えの発明に係る実施形態である。図20には、インターリーバ700による行内ソーティングの例が示されている。
図19において、インターリーバ700は、実数ラベル生成処理手段701と、行列配置処理手段702と、行内ソーティング処理手段703と、ブロックソーティング処理手段704と、行列読出処理手段705と、スクランブリング関数記憶手段706と、ブロック順序変換ルール記憶手段707とをを備えて構成されている。
実数ラベル生成処理手段701は、仮想ビット系列ではなく、符号順序変換処理の対象となる情報ビット系列Cの各構成ビットの値を用いて実数ラベルを生成する点を除き、前記第1実施形態の実数ラベル生成処理手段51の場合と同様である。
行列配置処理手段702は、実数ラベル生成処理手段701により生成された各実数ラベルと、これらの各実数ラベルを付された各ビットの値を示す内容情報(「1」か「0」」の情報)とを対にした状態で、各内容情報を各実数ラベルとともに各ビットの符号順序変換処理前の配列順序に従って行列形式でメモリに行方向に順次配置する処理を行うものである(図20参照)。
行内ソーティング処理手段703は、図20に示すように、行列配置処理手段702により行列形式で配置された各内容情報を、各行内でそれぞれ各実数ラベルの数値の大小順に従って並べ替える行内ソーティング処理を行うものである。
ブロックソーティング処理手段704は、行内ソーティング処理手段703による行内ソーティング後の各内容情報を、ブロック順序変換ルール記憶手段707に記憶されたブロック順序変換ルールに従って行単位で並べ替えるブロックソーティング処理を行うものである。
行列読出処理手段705は、ブロックソーティング処理手段704によるブロックソーティング後の各内容情報を列方向に順次読み出すことにより符号順序変換処理後のビット系列Chを生成する処理を行うものである。
スクランブリング関数記憶手段706は、実数ラベル生成処理手段701による処理で用いられるスクランブリング関数Y=g(X)を記憶するものであり、前記第1実施形態のスクランブリング関数記憶手段56の場合と同様である。
ブロック順序変換ルール記憶手段707は、ブロックソーティング処理手段704によるブロックソーティングの際のブロック順序変換ルールを記憶するものである。このブロック順序変換ルールは、前記第1実施形態の場合と同様である。
このような第7実施形態においては、符号順序変換テーブルや各行毎の行内ソーティングテーブルを用いずに、各ビットの内容情報を実数ラベルの大小順およびブロック順序変換ルールに従って直接に並べ替えていく。
また、復号器側には、例えば、行内ソーティング前の状態の実数ラベル列710を、各処理単位毎に毎回連続して、または間欠的に送信することにより、符号器側で行った符号順序変換処理の内容を復号器側に伝達することができる。
このような第7実施形態によれば、前記第1、第2実施形態の場合と同様に、実数ラベルを利用した符号順序変換処理によるランダム化の程度および通信システムの性能の向上効果、スクランブリング関数の利用によるランダム化の程度および通信システムの性能の向上効果、擬似確率過程発生装置の利用による実数ラベルの生成処理の容易化効果、コードマッチドの設計思想に沿ったブロック順序変換ルールの利用による致命的な入力パターンを壊す効果を得ることができることに加え、符号順序変換テーブルや各行毎の行内ソーティングテーブルを事前に作成しておくのではないので、秘匿通信を実現することができる。
[変形の形態]
なお、本発明は前記各実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
すなわち、前記各実施形態では、本発明の符号順序変換装置は、携帯電話システム等の通信システムの誤り訂正処理部に設けられたターボ符号用のインターリーバに適用されていたが、通信システムへの適用に限定されるものではなく、誤り訂正処理部への適用に限定されるものでもなく、また、ターボ符号用に限定されるものではなく、さらには、インターリーバへの適用に限定されるものでもなく、要するに、ランダムな符号順序変換処理を必要とする情報処理機器であれば、本発明を適用することができる。
また、前記各実施形態では、ブロック順序変換ルールは、固定的なものが用いられていたが、これに限らず、各処理単位(例えば、512ビット等)毎に連続して、あるいは間欠的に変化させてもよい。この場合には、送信機側において、いずれのブロック順序変換ルールを選択使用したかという情報、あるいは使用したブロック順序変換ルール自体を示す情報(例えば、20次元のベクトル情報)を受信機側に送信すればよい。このように、使用するブロック順序変換ルールを変化させた場合には、秘匿性を向上させることができる。
さらに、前記第2〜第7実施形態の各処理手段は、CPUおよびこのCPUの動作手順を規定する一つまたは複数のプログラムにより実現することができ、また、これらの各処理手段をハードウェア回路により実現してもよい点は、前記第1実施形態の場合と同様である。そして、前記第2〜第7実施形態の各記憶手段には、例えば、ハードディスク、ROM、EEPROM、フラッシュ・メモリ、RAM、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、FD、磁気テープ、あるいはこれらの組合せ等を採用することができる点も、前記第1実施形態の場合と同様である。