(57)【特許請求の範囲】
【請求項１】
Ｎ:Ｎ+1チャンネルコードにおいて、誤りを訂正する方法であって、
（ａ）2N+1個の、０と１のビットがＮ＋１個並んだ２進コードである 2N+1個のコードワード(N+1)タプルをM個（Ｍは２以上の整数）のコードワード(N+1)タプルサブセットにカテゴリ化する過程であって、各サブセットGは正の整数であるNG個のコードワード(N+1)タプルを有し、M個のサブセット内にあるコードワード(N+1)タプルの総数は、
【外１】
0003764647.tif 000013
であり、前記各サブセットGは、予め定められた数KGの低値ビットと予め定められた数(Ｎ+1−KG)の高値ビットとを有し、任意のサブセットにある全コードワード(N+1)タプルの低値ビットの数は、任意の他のサブセットにある全コードワード(N+1)タプルの低値ビットの数と異なる、該カテゴリ化過程と、
（ｂ）2N個のメッセージNタプルをそれぞれ前記M個のサブセットにある上記2N個のコードワード(N+1)タプルと一対一に対応するようにマッチングさせて参照用テーブルを形成するマッチング過程と、
（ｃ）入力メッセージを複数のメッセージNタプルに分割する過程と、
（ｄ）前記参照用テーブルを用いて、前記複数のメッセージNタプルに含まれる各メッセージNタプルを対応するコードワード(Ｎ+1)タプルに順次符号化する過程と、
（ｅ）Q個のコードワード(N+1)タプルに１つのサブセットパリティ(P−Q)タプルを割当てる過程であって、前記サブセットパリティ(P−Q)タプルは前記Q個のコードワード(N+1)タプルに対するサブセット情報を表現する冗長ビットであり、ＰはＱより大きく、ＰとＱはそれぞれ正の整数である、該パリティ割当過程と、
（ｆ）前記Q個のコードワード(N+1)タプルと前記１つのサブセットパリティ(Ｐ−Ｑ)タプルを伝送する過程とを含むことを特徴とする誤り訂正方法。
【請求項２】
（ｇ）前記参照用テーブルと伝送サブセットパリティ(P−Q)タプルを用いて、Q個の伝送コードワード(N+1)タプルを復号化し、対応するＱ個の再構成メッセージＮタプルを生成する復号化過程をさらに含むことを特徴とする請求項1に記載の誤り訂正方法。
【請求項３】
前記（ｇ）過程が、
（ｇ１）Ｑ個の伝送コードワード(N+1)タプルと伝送サブセットパリティ(P−Q)タプルを受信する過程と、
（ｇ２）各伝送コードワード(N+1)タプルごとに少なくとも１つの分散を計算する過程と、
（ｇ３）前記分散を計算する過程の結果に基づいて、前記各伝送コードワード(N+1)タプルに対応するサブセットGを決定し、前記Q個の伝送コードワード(Ｎ+1)タプルに対するサブセット情報Ｑタプルを生成する過程と、
（ｇ４）前記伝送サブセットパリティ(P-Q)タプルに基づいて、前記サブセット情報Ｑタプルを修正する過程と、
（ｇ５）前記修正サブセット情報Ｑタプルに基づいて、Q個の再構成コードワード(N+1)タプルを生成する過程と、
（ｇ６）前記参照用テーブルに基づいて、前記再構成コードワード(N+1)タプルに再構成メッセージＮタプルを割当てる過程とを含むことを特徴とする請求項2に記載の誤り訂正方法。
【請求項４】
前記（ｇ２）過程が、
（ｇ２１）各伝送コードワード(N+1)タプルを(N+1)個の小数値で受信する過程と、
（ｇ２２）前記M個のコードワード(Ｎ+1)タプルサブセットにおいて、高値及び低値ビットの最小数L(Lは整数)を計算する過程と、
（ｇ２３）前記最小数Lとセット数Mから最大数Kを計算する過程と、
（ｇ２４）前記(N+1)個の小数値から最大数Kと等しい個数の最大小数値、または最小小数値を除去して(N+1−K)個の小数値を生成する過程と、
（ｇ２５）前記(N+1−K)個の小数値に対する(N+1−K)番目の分散を計算する過程と、
（ｇ２６）前記(N+1−K)番目の分散を前記複数の伝送コードワード(Ｎ+1)タプルに対する分散の平均値である(N+1−K)番目の平均分散と比較する過程と、
（ｇ２７）Log2Mが0以下となるか又は最小数Lが0未満となるまで、Log2M及び最小数Lを1減少させた上で、前記（ｇ２３）過程から前記（ｇ２６）過程までを行う過程とを含むことを特徴とする請求項3に記載の誤り訂正方法。
【請求項５】
前記（ｇ５）過程が、
（ｇ５１）伝送コードワード(N+1)タプルがサブセットGに属する場合には、前記伝送コードワード(N+1)タプルで予め定められた数KGだけ低値小数値を低値ビットに変換し、予め定められた数(N+1−KG)だけ高値小数値を高値ビットに変換して再構成コードワード(N+1)タプルを生成する過程を含むことを特徴とする請求項4に記載の誤り訂正方法。
【請求項６】
前記最大数Kは、上記最小数Lと、
【外２】
0003764647.tif 000014
のうちの最大値であり、前記
【外３】
0003764647.tif 000015
は、Log2M以上の最も小さい整数であることを特徴とする請求項4に記載の誤り訂正方法。
【請求項７】
NGは2N+1/Mと等しいことを特徴とする請求項1に記載の誤り訂正方法。
【請求項８】
Ｎは(P−Q)であることを特徴とする請求項3に記載の誤り訂正方法。
【請求項９】
前記サブセットパリティ(P−Q)タプルが参照用テーブルに基づいて、対応するパリティコードワード(P−Q+1)タプルに置き換えられ、前記伝送サブセットパリティ(P−Q)タプルが対応する伝送パリティコードワード(P−Q+1)タプルに置き換えられることを特徴とする請求項8に記載の誤り訂正方法。
【請求項１０】
Ｎ:Ｎ+1チャンネルコードにおいて、誤りを訂正する装置であって、
2N+1個の、０と１のビットがＮ＋１個並んだ２進コードである2N+1個のコードワード(N+1)タプルをM個（Ｍは２以上の整数）のコードワード(N+1)タプルサブセットにカテゴリ化する過程であって、Mは1より大きい整数であり、各サブセットGはプラスの整数であるNG個のコードワード(N+1)タプルを有し、M個のサブセット内にあるコードワード(N+1)タプルの総数は、
【外４】
0003764647.tif 000016
であり、前記各サブセットGは、予め定められた数KGの低値ビットと予め定められた数(Ｎ+1−KG)の高値ビットを有し、任意のサブセットにある全コードワード(N+1)タプルの低値ビットの数は、任意の他のサブセットにある全コードワード(N+1)タプルの低値ビットの数と異なる、該カテゴリ化手段と、
2N個のメッセージNタプルをそれぞれ前記M個のサブセットにある上記2N個のコードワード(N+1)タプルと一対一に対応するようにマッチングさせて参照用テーブルを形成するマッチング手段と、
入力メッセージを複数のメッセージNタプルに分割する分割手段と、
前記参照用テーブルを用いて、前記複数のメッセージNタプルに含まれる各メッセージNタプルを対応するコードワード(Ｎ+1)タプルに順次符号化する分割手段と、
Q個のコードワード(N+1)タプルに１つのサブセットパリティ(P−Q)タプルを割当てる過程であって、前記サブセットパリティ(P−Q)タプルは前記Q個のコードワード(N+1)タプルに対するサブセット情報を表現する冗長ビットであり、ＰはＱより大きく、ＰとＱはそれぞれ正の整数である、該パリティ割当手段と、
前記Q個のコードワード(N+1)タプルと前記１つのサブセットパリティ(Ｐ−Ｑ)タプルを伝送する伝送手段とを含むことを特徴とする誤り訂正装置。
【請求項１１】
前記参照用テーブルと伝送サブセットパリティ(P−Q)タプルを用いて、Q個の伝送コードワード(N+1)タプルを復号化し、対応するＱ個の再構成メッセージＮタプルを生成する復号化手段をさらに含むことを特徴とする請求項10に記載の誤り訂正装置。
【請求項１２】
前記復号化手段が、
Ｑ個の伝送コードワード(N+1)タプルと伝送サブセットパリティ(P−Q)タプルを受信する受信手段と、
それぞれの伝送コードワード(N+1)タプルごとに少なくとも１つの分散を計算する分散計算手段と、
前記分散計算手段での計算結果に基づいて、前記各伝送コードワード(N+1)タプルに対応するサブセットGを決定し、前記Q個の伝送コードワード(Ｎ+1)タプルに対するサブセット情報Ｑタプルを生成するサブセット情報Qタプル生成手段と、
前記伝送サブセットパリティ(P-Q)タプルに基づいて、前記サブセット情報Ｑタプルを修正するサブセットQタプル修正手段と、
前記修正サブセット情報Ｑタプルに基づいて、Q個の再構成コードワード(N+1)タプルを生成する再構成コードワード(Ｎ+1)タプル生成手段と、
前記参照用テーブルに基づいて、前記再構成コードワード(N+1)タプルに再構成メッセージＮタプルを割当てる手段とを含むことを特徴とする請求項11に記載の誤り訂正装置。
【請求項１３】
前記分散計算手段が、
各伝送コードワード(N+1)タプルを(N+1)個の小数値で受信する手段と、
前記M個のコードワード(Ｎ+1)タプルサブセットにおいて、高値及び低値ビットの最小数L(Lは整数)を計算する手段と、
前記最小数Lとセット数Mから最大数Kを計算する手段と、
前記(N+1)個の小数値から最大数Kと等しい個数の最大小数値、または最小小数値を除去して(N+1−K)個の小数値を生成する手段と、
前記(N+1−K)個の小数値に対する(N+1−K)番目の分散を計算する手段と、
前記(N+1−K)番目の分散を前記複数の伝送コードワード(Ｎ+1)タプルに対する分散の平均値である(N+1−K)番目の平均分散と比較する手段と、
Log2Mが0以下となるか又は最小数Lが0未満となるまで、Log2M及び最小数Lを1減少させる手段とを含むことを特徴とする請求項１２に記載の誤り訂正装置。
【請求項１４】
前記再構成コードワード(Ｎ+1)タプル生成手段が、
伝送コードワード(N+1)タプルがサブセットGに属すると前記伝送コードワード(N+1)タプルで予め定められた数KGだけ低値小数値を低値ビットに変換し、予め定められた数(N+1−KG)だけ高値小数値を高値ビットに変換して再構成コードワード(N+1)タプルを生成する手段を含むことを特徴とする請求項13に記載の誤り訂正の装置。
【請求項１５】
前記最大数Kは、上記最小数Lと、
【外５】
0003764647.tif 000017
のうちの最大値であり、前記
【外６】
0003764647.tif 000018
はLog2M以上の最も小さい整数であることを特徴とする請求項13に記載の誤り訂正装置。
【請求項１６】
NGは2N+1/Mと等しいことを特徴とする請求項10に記載の誤り訂正装置。
【請求項１７】
Ｎは(P−Q)であることを特徴とする請求項12に記載の誤り訂正装置。
【請求項１８】
前記サブセットパリティ(P−Q)タプルが参照用テーブルに基づいて、対応するパリティコードワード(P−Q+1)タプルに置き換えられ、前記伝送サブセットパリティ(P−Q)タプルが対応する伝送パリティコードワード(P−Q+1)タプルに置き換えられることを特徴とする請求項17に記載の誤り訂正装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＮ:Ｎ+1チャンネル符号化方法及びそのための装置に関し、さらに詳しくは、Ｎ:Ｎ+1チャンネルコードにおいて、より高いコードレート(code rate)で誤りを訂正することができる方法及びその装置に関する。
【０００２】
【従来の技術】
周知のように、動映像のような多量のデータを光学的に記憶する必要性が増している。従って、高密度の光学的記憶容量が実現できる記憶媒体を内臓したさまざまな種類の体積ホログラフィデータ記憶(volume holographic data storage：VHDS)装置が最近開発されている。
【０００３】
VHDS装置において、ソースデータはN個のデータビット(情報ビット、またはメッセージビット)で構成されたブロックに分割され、各ブロックは2N個の互いに区別されるメッセージを表現できる。VHDS装置で符号化器はそれぞれのNビットデータブロックをコードビット、またはチャンネルシンボルと呼ばれる(N+K)ビットのより大きいブロックに変換する。符号化器により各データブロックに追加されるKビットは冗長ビット(redundant bit)、パリティビット(parity bit)、またはチェックビット(check bit)といい、新しい情報を含まない。このようなコードを(N+K,N)コードと呼ぶ。１つのブロック内での冗長ビットとデータビットの比率K/Nはコードの冗長度(redundancy)と呼び、データビットと全ビットの比率N/(N+K)はコードレート(code rate)と呼ぶ。コードレートはコードビットで情報を構成する部分とみなすことができる。例えば、コードレート1/3のコードには各コードビットごとに1/3ビットの情報が記憶されている。伝送帯域幅を拡張することによって、冗長性を有するこのようなコード化技法を適用できる。例えば、誤り制御技法が1/3のレートを使用する場合、冗長度は2/3であり、帯域幅の増加は3に過ぎない。
【０００４】
つまり、符号化器はN個のメッセージデジット(メッセージベクトル)からなる一つのブロックをN+K個のコードワードデジットからなる一つの長いブロックに変換し、それぞれのデジットは予め定められた文字を構成要素とする。文字が二つの構成要素(0と1)からなるとき、そのコードは2進数(ビット)からなる2進コードである。以下では特にことわらない限り、2進コードのみについて説明する。
【０００５】
NビットメッセージはNタプル(N個のデジットの並び)と呼ばれ、2N個の互いに異なるメッセージシーケンスを形成する。(N+K)ビットブロックはそれぞれ(N+K)タプルと呼ばれる2N+K個の互いに異なるシーケンスを形成することができる。符号化過程では、2NメッセージNタプルのそれぞれを2N+K個の(N+K)タプルの内の一つに対応させる。ブロックコードは一対一の割当てを表現しており、1セットの2N個のメッセージNタプルが新しいセットの2N個のコードワード(N+1)タプルと一対一でマッピングされ、そのマッピングは参照用テーブルにより達成ことができる。
【０００６】
復号化モードでは、ビット誤り率を減らしながら、コードレートを増加させるための複数の復号化アルゴリズムが用いられている。
閾値復号化アルゴリズムでは、例えば、平均値、または0.5のように予め定められた値を閾値に用い、チャンネル歪みによって歪んだ伝送信号に「0」または「１」を割当てる。一般的なVHDS装置においては、レーザービームのガウス分布特性、レンズの歪み、分散及び回折のようなものはチャンネルとして理解することができる。閾値復号化アルゴリズムは、高いコードレートを有するが、特に低い出力のレーザービームである場合にビット誤り率も増加する問題点を有する。
【０００７】
これを改善するために、局所閾値復号化アルゴリズムが用いられている。局所閾値復号化アルゴリズムは復号化領域を複数の局所領域に分け、各局所領域ごとに異なる閾値を適用して「0」、または「1」を決定する。しかし、それぞれのVHDS装置は、互いに異なる雑音特性を有しているので、局所閾値復号化アルゴリズムは互換性が低下する問題点がある。
【０００８】
これを改善するために2進差分復号化アルゴリズムが用いられている。2進差分復号化アルゴリズムは「1」を示すための信号が隣接した領域に存在する「0」を示す信号よりいつも大きい値を有するという性質を用いる。例えば、「0」と「1」をそれぞれ「01」及び「10」に置き換えて符号化し、逆のアルゴリズムを用いて伝送された信号を復号化する。2進差分復号化アルゴリズムは低いビット誤り率を有するが、そのコードレートもこれに比例して低下する問題点がある。
【０００９】
さらに、改善策としてバランスドブロック復号化（balanced block decoding）アルゴリズムがある。バランスドブロック復号化アルゴリズムは、入力メッセージを複数のメッセージPタプルに分けてそれぞれのメッセージPタプルを、コードワード2Qタプルを用いて符号化し(2QはPより大きい)低値ビットの数を高値ビットの数に等しくして符号化するものである。復号化モードにおいて、伝送信号は複数個のコードワード2Qタプルに分けられ、それぞれのコードワード2Qタプルに対してQ個の低値ビット及びQ個の高値ビットがそれぞれ「0」及び「1」に再構成される。例えば、6:8バランスドブロック復号化アルゴリズムでは、低値ビット数と高値ビット数がそれぞれ4である26(=64)個のコードワード8タプルのみを用いて64個のメッセージ6タプルを符号化する。バランスドブロック復号化アルゴリズムは2進差分復号化アルゴリズムより低いビット誤り率と高いコードレート(コードレート：code rate)を有するが、限られたチャンネルを効果的に使用するためには、より高いコードレートが必要である。
【００１０】
【発明が解決しようとする課題】
従って、本発明は上述した問題を解決するためになされたものであり、N:N+1チャンネルコードにおいて、より高いコードレート(code rate)で誤りを訂正することができる方法及びその装置を提供することにその目的がある。
【００１１】
【課題を解決するための手段】
このような目的を達成するために本発明によると、N:N+1チャンネルコードにおいて、誤りを訂正する方法は、
（ａ）2N+1個の、０と１のビットがＮ＋１個並んだ２進コードである 2N+1個のコードワード(N+1)タプルをM個（Ｍは２以上の整数）のコードワード(N+1)タプルサブセットにカテゴリ化する過程であって、各サブセットGは正の整数であるNG個のコードワード(N+1)タプルを有し、M個のサブセット内にあるコードワード(N+1)タプルの総数は、
【外７】
0003764647.tif 000002
【００１２】
であり、前記各サブセットGは、予め定められた数KGの低値ビットと予め定められた数(Ｎ+1−KG)の高値ビットとを有し、任意のサブセットにある全コードワード(N+1)タプルの低値ビットの数は、任意の他のサブセットにある全コードワード(N+1)タプルの低値ビットの数と異なる、該カテゴリ化過程と、
（ｂ）2N個のメッセージNタプルをそれぞれ前記M個のサブセットにある上記2N個のコードワード(N+1)タプルと一対一に対応するようにマッチングさせて参照用テーブルを形成するマッチング過程と、
（ｃ）入力メッセージを複数のメッセージNタプルに分割する過程と、
（ｄ）前記参照用テーブルを用いて、前記複数のメッセージNタプルに含まれる各メッセージNタプルを対応するコードワード(Ｎ+1)タプルに順次符号化する過程と、
（ｅ）Q個のコードワード(N+1)タプルに１つのサブセットパリティ(P−Q)タプルを割当てる過程であって、前記サブセットパリティ(P−Q)タプルは前記Q個のコードワード(N+1)タプルに対するサブセット情報を表現する冗長ビットであり、ＰはＱより大きく、ＰとＱはそれぞれ正の整数である、該パリティ割当過程と、
（ｆ）前記Q個のコードワード(N+1)タプルと前記１つのサブセットパリティ(Ｐ−Ｑ)タプルを伝送する過程とを含む
【００１３】
【発明の実施の形態】
図1には、本発明の好適な実施の形態によるホログラフィディジタル符号化及び復号化装置を説明するためのブロック図が示されている。この装置はホログラフィデータ記憶(holographic data storage：HDS)回路110、符号化回路130、参照用テーブル生成器140、復号化回路150を含む。詳しくは、ホログラフィデータ記憶回路110がレーザー111、ビームスプリッター(beam splitter)112、第1シャッター(shutter)113、第2シャッター116、第1ミラー(mirror)114、第2ミラー117、アクチュエータ(actuator)115、空間光変調器(spatial light modulator：SLM)118、記憶媒体119、電荷結合素子(charge coupled device：CCD)120を含む。符号化回路130はNタプル生成器132、符号化ユニット134を含む。参照用テーブル生成器140はカテゴリ化ユニット142と、マッチングユニット144を含む。復号化回路150は分散計算ユニット154と、セットセット決定ユニット156と、再構成ユニット158とを含む。
【００１４】
ホログラフィデータ記憶回路110のレーザー111から放出されたレーザービームを部分的に反射させるためのビームスプリッター112に送られて基準ビーム(reference beam)と信号ビーム(signal beam)を生成する。基準ビームはレーザービームの中でビームスプリッター112を貫通する部分であり、信号ビームはレーザービームの中でビームスプリッター112によって反射される部分である。
【００１５】
基準ビームは、アクチュエータ115により制御できる第1ミラー114によって反射された後、基準ビーム経路(PS1)を介して記憶媒体119に入射する。一方、信号ビームは、第2ミラー117により反射された後、信号ビーム経路(PS2)を介して空間光変調器118に入射し、空間光変調器118によって変調信号ビームに変換され、変調信号ビームは空間光変調器118を貫通した後、複数のページの形態でデータを伝送する。変調信号ビームは記憶媒体119に集束される。記憶媒体119において、変調信号ビームは基準ビームと干渉して干渉パターンを生成するが、この干渉パターンは変調信号ビームに関する情報を含む。屈折率が干渉パターンに応じて変化する記憶媒体119内で、この干渉パターンが光学的屈折率のパターンに変換されることによって、変調された信号ビームを記憶媒体119内に記録することができる。
【００１６】
記憶されたデータを読取るためには第1シャッター113のみを開放し、第2シャッター116を閉鎖することによって、記憶媒体119で検索された変調信号ビームが検索信号ビームの強さを検出することができる電荷結合素子120に入射するようにする。
【００１７】
一方、参照用テーブル生成器140内でN:(N+1)符号化アルゴリズムを行うために、カテゴリ化ユニット142は2N+1個のコードワード(N+1)タプルの中でM個のコードワードサブセットを選択し、M個のコードワード(N+1)タプルサブセットについての情報をマッチングユニット144に伝達する。
【００１８】
Mは1より大きい整数であり、好ましくは偶数である。それぞれのサブセットGは予め定められた数KGの低値2進数と予め定められた数(N+1−KG)の高値2進数を有する。任意のサブセットでの全コードワード(N+1)タプルの低値ビットの個数は、任意の他のサブセットにある全コードワード(N+1)タプルの低値ビットの個数と異なる。
【００１９】
各サブセットGが正の整数であるNG個のコードワード(N+1)タプルを有し、M個のサブセット内にあるコードワード(N+1)タプルの総数は2Nである。すなわち、
【外８】
0003764647.tif 000003
である。
【００２０】
NGは2N/Mであるのが好ましい。マッチングユニット134は2N個のメッセージNタプルをそれぞれM個のサブセットにある2Nコードワード(N+1)タプルと一対一に対応するようにマッチングさせて2NメッセージNタプルと2Nコードワード(N+1)タプルとの間のマッチング参照用テーブルを形成する。参照用テーブルは符号化ユニット134と再構成ユニット158に共有される。
【００２１】
一方、Nタプル生成器132は入力メッセージを受信した後、受信した入力メッセージを複数のメッセージNタプルに順次分割する。複数のメッセージNタプルを符号化ユニット134に供給する。
【００２２】
符号化ユニット134は参照用テーブルを参照して複数のメッセージNタプルにあるそれぞれのメッセージNタプルを、対応するコードワード(N+1)タプルに符号化することによって、複数のコードワード(N+1)タプルを生成する。
【００２３】
パリティ割当ユニット136は、Q個のコードワード(N+1)タプルごとにサブセット(P−Q)タプルを割当てる。サブセット(P−Q)タプルはQ個のコードワード(N+1)タプルのサブセット情報を表現するための冗長ビットである。まず、複数のコードワード(N+1)タプルをQ個のコードワード(N+1)タプル単位で再組立する。それぞれのコードワード(N+1)タプルがM個のコードワード(N+1)タプルサブセットの中で１つのサブセットGに対応するため、サブセットGに対するサブセット情報はLog2M以上の最も小さい整数
【外９】
0003764647.tif 000004
【００２４】
であるビット数で表現できる。例えば、Mが2である場合、2N個のメッセージNタプルを表現するために2つのコードワード(N+1)タプルサブセットが用いられるため、それぞれのコードワード(N+1)タプルに対するサブセット情報を表現するために1(= Log2M以上の最も小さい整数)ビットが必要になる。従って、Q個のコードワード(N+1)タプルに対するサブセット情報Ｑタプルはサブセット情報Qタプルに対応し、サブセット情報Qタプルの各ビットは１つのコードワード(N+1)タプルに対応する。
【００２５】
サブセットパリティ(P−Q)タプルとそれに対応するQ個のコードワード(N+1)タプルは入力された信号ビームを変調信号ビームに変換する空間光変調器118に伝送される。変調信号ビームは記憶媒体119に集束される。記憶媒体119で変調信号ビームは、基準ビームと干渉することによって、上述したように干渉パターンを生成する。
【００２６】
記憶されたデータを読取るために記憶媒体119で検索された変調信号ビームは、検索信号ビームの強さが検出できる電荷結合素子120に入力される。空間光変調器118、記憶媒体119、電荷結合素子120は或るチャンネルとしてみなすことができる。検索信号ビームは分散計算ユニット154とセット決定ユニット156に複数の伝送コードワード(N+1)タプルとして伝送される。それぞれの伝送コードワード(N+1)タプルはチャンネルを介する伝送過程の間に内部、または外部の雑音により歪んで(N+1)小数値で表現できることになる。以下、伝送コードワード(N+1)タプルは説明の便宜上伝送サブセットパリティ(P−Q)タプルを含むと仮定する。
【００２７】
分散計算ユニット154はそれぞれのコードワード(N+1)タプルの(N+1)小数に対する分散を計算する。まず、M個のコードワード(N+1)タプルサブセット内で低値ビット及び高値ビットの最小数Lが計算され、最小数Lとセット数Mから最大数Kが計算される。詳しくは、最大数Kは最小数LとLog2Mの最大整数値、すなわち、
【外１０】
0003764647.tif 000005
の中での最大値である。(N+1)個の小数値において最大数Kだけ最大小数値、または最小小数値を削除することによって、それぞれの伝送コードワード(N+1)タプルごとに(N+1−K)個の小数値が生成される。(N+1−K)個の小数値に対する(N+1−K)番目の分散を一般的な分散計算法を用いて計算することによって、複数の伝送コードワード(N+1)タプルに複数の(N+1−K)番目の分散を得る。必要であれば、最大数を変化させることによって、他の分散を計算することができる。セット数Mが2より大きい場合には、さらに他の分散を求める必要がある。分散に関する情報はサブセット決定ユニット156に伝達される。
【００２８】
サブセット決定ユニット156は分散に関する情報に基づいて、伝送コードワード(N+1)タプルに対応するサブセットGを決定する。詳しくは、複数の(N+1−K)番目の分散に対する(N+1−K)番目の平均分散を計算し、それぞれの(N+1−K)番目の分散を(N+1−K)平均分散と比較する。上記分散比較結果に基づいて、伝送コードワード(N+1)タプルに対応するサブセットGが決定される。
【００２９】
サブセット訂正ユニット157は、複数の伝送コードワード(N+1)タプルからQ個の伝送コードワード(N+1)タプルごとに１つの伝送サブセットパリティ(P−Q)タプルを選択し、伝送サブセットパリティ(P−Q)タプルに基づいて、サブセット決定ユニット156で生成されたサブセット情報を訂正する。訂正されたサブセット情報は再構成ユニット158に伝達される。
【００３０】
再構成ユニット158はサブセットGに関する情報に基づいて、再構成コードワード(N+1)タプルを再構成する。詳しくは、伝送コードワード(N+1)タプル内にある予め定められた数KGだけの低値小数値が低値2進数に変換され、予め定められた数(N+1−KG)だけの高値小数値が高値2進数に変換される。マッチングユニット144から伝達された参照用テーブルに基づいて、再構成コードワード(N+1)タプルごとに１つの再構成メッセージNタプルが割当てられる。
【００３１】
図２には、本発明によるメッセージNタプルをコードワード(N+1)タプルに符号化するための符号化アルゴリズムを説明するための流れ図が示されている。
【００３２】
ステップS21でM個の(N+1)タプルサブセットが2N+1個のコードワード(N+1)タプルの中から選択される。Mは1より大きい整数であり、好ましくは偶数である。それぞれのサブセットGは予め定められた数KGの低値2進数と予め定められた数(N+1−KG)の高値2進数を有する。任意のサブセットに属する全コードワード(N+1)タプルの内にある低値2進数の個数は、任意の他のサブセットに属する全コードワード(N+1)タプルの内にある低値2進数の個数と同一ではない。例えば、24(=16)個のコードワード(N+1)タプルを「0」の個数、または「1」の個数に基づいて、{0000}、{0001,0010,0100,1000}、{0011,0101,1001,0110,1010,1100}、{0111,1011,1101,1110}及び{1111}のような5つの4タプルサブセットにカテゴリ化することができる。
【００３３】
もし、それぞれのサブセットGがNG(NG正の整数)個のコードワード(N+1)タプルを有すると、Mサブセット内にあるコードワード(N+1)タプルの総数は2Nにならなければならない。つまり、
【外１１】
0003764647.tif 000006
を満足しなければならない。
【００３４】
NGは2N/Mのように一定のものが好ましい。従って、3:4符号化過程において、2つのコードワード4タプルサブセットを用いるためには、それぞれのサブセットに属するコードワード4タプルの個数NGが4(=23/2)であることが好ましく、少なくとも4つの4タプルを有する3つのサブセット{0001,0010,0100,1000}、{0011,0101,1001,0110,1010,1100}、{0111,1011,1101,1110}の中から2つのサブセットを選ぶことが好ましい。
【００３５】
ステップS23では、2N個のメッセージNタプルをM個のサブセットに属する2N個のコードワード(N+1)タプルと一対一に対応するようにマッチングさせて、2N個のメッセージNタプルと2N個のコードワード(N+1)タプルとの間の参照用テーブルを形成する。
【００３６】
ステップS25では、入力メッセージが複数のメッセージNタプルに順次分割される。
【００３７】
ステップS27では、参照用テーブルを用いて複数のメッセージNタプルに属するそれぞれのメッセージNタプルを対応するコードワード(N+1)タプルに符号化する。
【００３８】
ステップS28では、Q個のコードワード(N+1)タプルに対して、１つのサブセットパリティ(P−Q)タプルを割当てる。そのサブセットパレティ(P−Q)タプルはQ個のコードワード(N+1)タプルのサブセット情報を表現するための冗長ビットである。まず、複数のコードワード(N+1)タプルがQ個のコードワード(N+1)タプルずつ再組立される。それぞれのコードワード(N+1)タプルがM個のコードワード(N+1)タプルサブセットの中で１つのサブセットGに対応するため、サブセットGに対するサブセットの情報はLog2M以上の最も小さい整数、
【外１２】
0003764647.tif 000007
【００３９】
である各コービット数で表現できる。例えば、Mが2である場合、2N個のメッセージNタプルを表現するために、2つのコードワード(N＋1)タプルサブセットが用いられるので、ドワード(N+1)タプルに対するサブセット情報を表現するために、１（Log2M以上の最も小さい整数）ビットが必要になる。従って、Q個のコードワード(N+1)タプルに対するサブセット情報ＱタプルはサブセットＱタプルに対応し、サブセット情報Ｑタプルの各ビットは１つのコードワード(N+1)タプルに対応する。
【００４０】
さらに他の好適な実施の形態において、Q個のコードワード(N+1)タプルごとにサブセット情報Qタプルに対する誤りを訂正するための冗長度を割当てるために、(P,Q)チャンネルコードが用いられ、サブセットパリティ(P−Q)タプルを取付けることができる。
【００４１】
N=(P−Q)である場合、好ましくは、サブセットパリティ(P−Q)タプルが本発明によるN:N+1チャンネル符号化アルゴリズムを用いてパリティコードワード(P−Q+1)タプルに置き換えることができる。
【００４２】
ステップS29では、Q個のコードワード(N+1)タプルとサブセットパリティ(P−Q)タプルがチャンネルを介して伝送される。
【００４３】
図３には、本発明による伝送コードワード(N+1)タプルを再構成メッセージNタプルに復号化するための復号化過程を説明する流れ図が示されている。
【００４４】
ステップS31では、Q個の伝送コードワード(N+1)タプルとそれに対する伝送サブセットパリティ(P−Q)タプルが順次受信される。それぞれの伝送コードワード(N+1)タプルと伝送サブセットパリティ(P−Q)タプルはチャンネルを介して伝送される間に内部雑音、または外部雑音により歪んで(N+1)個の小数値と(P−Q)個の小数値で表現されることができる。
【００４５】
Nが(P−Q)と同じであるため、それぞれのサブセットパリティ(P−Q)タプルが上述のように本発明によるパリティコードワード(P−Q+1)タプルに符号化された場合には、伝送サブセットパリティ(P−Q)タプルの代わりに伝送パリティコードワード(P−Q+1)タプルが受信できる。
【００４６】
ステップS33では、図3Cに示すようにそれぞれの伝送コードワード(N+1)タプルに対する少なくとも１つの分散が計算される。分散の個数は後述のようにセット数MとM個のコードワード(N+1)タプルにある高値、または低値ビットの最小数Lと深く関連する。
【００４７】
図４では、本発明によるそれぞれの伝送コードワード(N+1)タプルに対する分散評価過程を説明するための流れ図が示されている。
【００４８】
ステップS331では、伝送コードワード(N+1)タプルが(N+1)個の小数値として受信される。
【００４９】
ステップS332では、M個のコードワード(N+1)タプルサブセットで高値、または低値ビットの最小数Lを計算し、M個のコードワード(N+1)タプルサブセットはステップS21で記述したように、2N+1個のコードワード(N+1)タプルから選択される。M個のコードワード(N+1)タプルサブセットが決定されると、本発明によって最小数Lが同時に決定され、符号化回路130と復号化回路150に伝達される。例えば、サブセット{0001,0010,0100,1000}に属するそれぞれのコードワード4タプルで上位ビット数と下位ビット数はそれぞれ1と3であるから最小数Lは1である。
【００５０】
ステップS333で、最小数Lとセット数Mから最大数Kを計算する。詳しくは、最大数Kは最小数Lと、
【外１３】
0003764647.tif 000008
(Log2M以上の最も小さい整数)の中の最大値である。例えば、最小数Lが1であり、サブセット数Mが4であれば、
【外１４】
0003764647.tif 000009
になり、最大数Kは2になる。
【００５１】
ステップS334で、(N+1)個の小数値の中で最大数Kだけ最大小数値、または最小小数値を削除することによって、それぞれの伝送コードワード(N+1)タプルごとに(N+1−K)個の小数値を得る。最大数Kが1であり、伝送コードワード4タプルに対する4つの小数値が{0.1,0.3,0.6,0.2}であれば、0.6が削除され、3つの小数値{0.1,0.3,0.2}が残ることになる。
【００５２】
ステップS335で、一般的な分散計算方法を用いて(N+1−K)個の小数に対する(N+1−K)番目の分散を計算することによって、複数の伝送コードワード(N+1)タプルに対する複数の(N+1−K)番目の分散を生成する。
【００５３】
ステップS336では、複数の(N+1−K)番目の分散に対する(N+1−K)番目の平均分散を計算し、それぞれの(N+1−K)番目の分散を(N+1−K)番目の平均分散と比較する。詳しくは、それぞれの(N+1−K)番目の分散が(N+1−K)番目の平均分散より大きいか否かを決定する。
【００５４】
ステップS337では、Log2Mと最小数Lを1だけ減少させる。つまり、Log2Mと最小数LとがそれぞれLog2M−1とL−1とに置き換えられる。
【００５５】
ステップS338では、Log2Mが0より大きく、最小数Lが0より大きいか、または同じであるか否かを決定する。Log2M>0で、Ｌ≧０であれば、ステップS333を再び行い、そうではなければ、分散評価過程が終了する。
【００５６】
図３を再び参照すると、ステップS35ではステップS33で生成された分散に基づいて、伝送コードワード(N+1)タプルが或るサブセットGに対応するかを決定する。従って、Q個の伝送コードワード(N+1)タプルはサブセット情報Ｑタプルを生成するようになる。
【００５７】
ステップS37では、伝送サブセットパリティ(P−Q)タプルに基づいて、サブセット情報Ｑタプルでの誤りを検査することによって、Q個の伝送コードワード(N+1)タプルに対するサブセット情報Ｑタプルを修正することができる。
【００５８】
ステップS39では、ステップS37で決定された修正サブセット情報Ｑタプルに基づいて、Q個の再構成コードワード(N+1)タプルが生成される。具体的に、再構成コードワード(N+1)タプルがサブセットGに対応する場合、伝送コードワード(N+1)タプルで予め定められた数KGの低値小数値を低値2進数に変換し、予め定められた数(N+1−KG)の高値小数値を高値2進数に変換する。
【００５９】
ステップS41では、参照用テーブルに基づいて、再構成コードワード(N+1)タプルごとに再構成メッセージNタプルを割当てる。
【００６０】
実施例1(3:4チャンネル符号化)
3:4チャンネル符号化アルゴリズムで、それぞれの2進メッセージ3タプルが対応する2進コードワード4タプルに符号化し、チャンネルを介して伝送される。それぞれの伝送コードワード4タプルは4つの2進数で受信されず、4つの小数値で受信され、本発明によるさまざまな技法を用いて再構成2進コードワード4タプルに再構成される。
【００６１】
一般的に、16(=24)個の2進コードワード4タプルはそれぞれの2進コードワード4タプル内に存在する低値ビット「0」、または上位ビット「1」の個数を基準に5つの2進コードワード4タプルサブセットに分類される。
【００６２】
【表１】
0003764647.tif 000010
【００６３】
8つの2進メッセージ3タプルを表現するためには、2つの2進コードワード4タプルサブセットを選択することが好ましい。例えば、グループA(サブセットG1)にある4つの2進コードワードとグループB(サブセットG2)にある4つの2進コードワード4タプルを用いて3:4チャンネル符号化を行う。8つの2進メッセージ3タプルと8つの2進コードワードの間の一対一の対応関係は次のようである。
【００６４】
【表２】
0003764647.tif 000011
【００６５】
グループAにおいて、高値ビット「1」を有しない１つの2進メッセージ3タプルである「000」には、最終の4番目のビットとして「1」を付け、高値ビットを一つ有する3つの2進メッセージ3タプル「001」、「010」、「100」には最終ビットとして「0」を付ける。グループBにおいて、高値ビットを2つ有する3つの2進メッセージ「011」、「101」、「110」には最終ビットとして「1」を付け、高値ビットを3つ有する一つの2進メッセージ3タプル「111」には最終ビットとして「0」を付ける。このような割当ては上記に示したように参照用テーブルを利用して表示することができる。
【００６６】
符号化モードにおいては、入力2進メッセージが順次複数の2進メッセージ3タプルに分割され、2進メッセージ3タプルが順次参照用テーブルを用いて対応するコードワード4タプルにマッチングされ、かかるコードワード4タプルが記録媒体上に符号化される。
【００６７】
復号化モードにおいては、それぞれのコードワード4タプルが4つのビットではなく、4つの小数値として再構成される。つまり、コードワード4タプルにおいて、各構成要素の大きさ（intensity）は0以上、1以下の小数値で表現される。次に説明するように、カテゴリ化を改善するために、各構成要素の大きさを二乗した値を用いることができる。
【００６８】
M(=2)個のコードワード4タプルサブセットが用いられ、
【外１５】
0003764647.tif 000012
であり、2つのコードワード4タプルサブセットにおいて、高値ビットの最小数Lが1であるから、最大数Kは1に定義される。従って、それぞれのコードワード4タプルにおいて、1つの最大小数値、または最小小数値が除去された後、残っている3つの小数値に対する分散を計算する。最大小数値を除去した場合、グループAには3つの「0」を表現するための3つの小数値のみが残っている一方、グループBには1つの「0」と2つの「1」を表現するための3つの小数値が残ることになるから、グループAに属するそれぞれのコードワード4タプルに対する分散がグループBに属するそれぞれのコードワード4タプルに対する分散より小さくなる。最小小数値を除去した場合、グループAには2つの「0」と1つの「1」を表現するための3つの小数値のみが残っている一方、グループBには3つの「1」を表現するための3つの小数値が残ることになるから、グループAに属するそれぞれのコードワード4タプルに対する分散がグループBに属するそれぞれのコードワード4タプルに対する分散より大きくなる。従って、平均分散との比較結果に基づいて、コードワード4タプルがグループAに属するか、またはグループBに属するかを決定する。平均分散は全コードワード4タプルに対する分散の平均値である。
【００６９】
コードワード4タプルがグループAに属するものと決定されると、1つの最大小数値のみが「1」に変換され、3つの残っている小数値が「0」に変換される。コードワード4タプルがグループBに属することが決定されると、1つの最小小数値のみが「0」に変換され、残りの3つの小数値が「1」に変換される。再構成コードワード4タプルが上記のように形成された後、再構成コードワード4タプルから4番目のビットを削除すると復号化されたメッセージ3タプルを求めることができる。
【００７０】
例示のために、4つの連続したコードワード4タプル C1〜C4とそれに対する一つの伝送パリティコードワード4タプル CPがC1=(0.1, 0.5, 0.3, 0.2)、C2=(0.1, 0.7, 0.6, 0.5)、C3=(0.4,0.1,0.3,0.2)、C4=(0.6,0.1,0.5,0.3)、CP=(0.8,0.4,0.2,0.6)のように再構成されたと仮定する。C1〜C4及びCPからそれぞれ5つの最大小数値0.5,0.7,0.4,0.6,0.7を削除すると、C1には(0.1,0.3,0.2)、C2には(0.1,0.6,0.5)、C3には(0.1,0.3,0.2)、C4には(0.1,0.5,0.3)、CPには(0.4,0.2,0.6)が残ることになる。4つの連続したコードワード4タプルC1〜C4及び対応するパリティコードワード4タプル CPに対する5つの分散と、その5つの分散に対する平均分散がそれぞれ0.02(=(0.1−0.2)2+(0.3−0.2)2+(0.2−0.2)2)、0.14(=(0.1−0.4)2+(0.6−0.4)2+(0.5−0.4)2)、0.02(=(0.1−0.2)2+(0.3−0.2)2+(0.2−0.2)2)、0.08(=(0.1−0.3)2+(0.5−0.3)2+(0.3−0.3)2)、0.08(＝(0.4−0.4) 2+(0.2−0.4) 2+(0.6−0.4) 2)及び0.068(=(0.02+0.14+0.02+0.08+0.08)/5)であるから、第1及び第3コードワード4タプルC1及びC3はグループAと定義される一方、第2、第4及びパリティコードワード4タプルC2、C4及びCPはグループBと定義される。従って、C1〜C4及びCPがそれぞれC1R=(0,1,0,0)、C2R=(0,1,1,1)、C3R=(1,0,0,0)、C4R=(1,0,1,1)及びCPR=(1,1,0,1)に再構成される。
【００７１】
実施例2((7,4)ハミングコードを備える3:4チャンネル符号化アルゴリズム)
入力メッセージが12ビット「010011100101」と仮定する。
【００７２】
12ビット入力メッセージが4つのメッセージ3タプル、すなわち、「010」、「011」、「100」、「101」に分割されるから、本発明による3:4チャンネルコーディングアルゴリズムによって、4つのコードワード4タプルが生成される。
【００７３】
第1及び第3コードワード4タプルがグループAに属し、第2及び第4コードワード4タプルがグループBに属するから、4つのコードワード4タプルに対するサブセット情報4タプルは「0101」に表現できる。ここで、「0」はグループAを意味し、「1」はグループBを意味する。
【００７４】
例えば、(7,4)ハミング符号(hamming codes)のような一般的なチャンネル符号化アルゴリズムをサブセット情報4タプル「0101」に適用すると、サブセット情報4タプルに対する誤りを訂正するサブセットパリティ3タプル「110」、すなわち冗長度が得られる。必要であれば、サブセットパリティ3タプル「110」が本発明による3:4チャンネル符号化アルゴリズムを用いてパリティコードワード4タプル「1101」に変換できる。
【００７５】
パリティコードワード4タプルは4つのコードワード4タプルの前方か、または後方に位置することが好ましいが、そのパリティコードワード4タプルの位置は問題にならない。
【００７６】
パリティコードワード4タプル「1101」が前方に位置する場合、パリティコードワード4タプル「1101」と4つのコードワード4タプル「0100」、「0111」、「1000」、「1011」がチャンネルを介して20ビットコードワード「1101 0100 0111 1000 1011」に伝送される。
【００７７】
チャンネルが複数のチャンネル雑音を有するので、グループBに属する第3コードワード4タプル「0111」が復号化過程を介してグループAに属する第3再構成コードワード4タプル「0001」に誤って解釈されたと仮定する。つまり、20ビットコードワード「1101 0100 0111 1000 1011」が20ビット再構成コードワード「1101 0100 0001 1000 1011」に誤って解釈されたと仮定する。従って、第2〜第4再生コードワード4タプル「0100」、「0001」、「1000」はグループAに属する一方、第5再構成コードワード4タプル「1011」のみがグループBに属するから、「0」がグループAを表現し、「1」がグループBを表現する場合、第2〜第5再構成コードワード4タプルに対する再構成サブセット情報が「0001」に表現される。
【００７８】
20ビット再構成コードワード「1101 0100 0001 1000 1011」が3:4チャンネル符号化アルゴリズムの参照用テーブルに基づいて、15ビット再構成メッセージ「110 010 000 100 101」に復号化される。第1再構成メッセージ3タプル「110」は4つの残りの再構成メッセージ3タプル「010」、「000」、「100」、「101」に対するサブセット情報4タプル「0001」に対する冗長度、すなわちサブセットパリティ3タプルになる。
【００７９】
サブセットパリティ3タプル「110」とサブセット情報「0001」に一般的な(7,4)ハミングコードを適用して評価できるしシンドローム(syndrome)を計算すると、第3再構成メッセージ3タプルが誤って解釈されたことが分かる。従って、第3伝送コードワード4タプルがグループAに属せず、グループBに属するから、第3再構成コードワード4タプル「0001」は第3訂正コードワード4タプル「0111」に訂正できる。第3訂正コードワード4タプル「0111」は3：4チャンネル復号化を介して第3再構成メッセージ3タプル「011」に復号化されるから、15ビット再構成メッセージ「110 010 011 100 101」からサブセットパリティ3タプルを削除することによって12ビット再構成メッセージ「010 011 100 101」を生成することができる。
【００８０】
結果的に、12ビットメッセージが本発明によって20ビットのコードワードに符号化されるから、コードレートは0.6(=12/20)になる。
【００８１】
【発明の効果】
前述のように、N:N+1チャンネル符号化アルゴリズムにおいて、グループ割当過程の中の誤りを訂正することによって、より高いコードレート(code rate)で2進データを符号化し、伝送コードワードデータを復号化することができる。
【図面の簡単な説明】
【図１】本発明によるホログラフィディジタル符号化及び復号化装置を説明するためのブロック図である。
【図２】本発明によりメッセージNタプルをコードワード(N+1)タプルに符号化する符号化アルゴリズムを説明する流れ図である。
【図３】本発明により伝送コードワード(N+1)タプルを生成メッセージNタプルに復号化する復号化アルゴリズムを説明する流れ図である。
【図４】本発明により図３に示す分散評価過程を説明する流れ図である。
【符号の説明】
１１０：ホログラフィデータ記憶回路
１３０：符号化回路
１３２：Nタプル生成器
１３４：符号化ユニット
１３６：パリティ割当ユニット
１４０：参照用テーブル生成器
１４２：カテゴリ化ユニット
１４４：マッチングユニット
１５０：復号化回路
１５４：分散計算ユニット
１５６：サブセット決定ユニット
１５７：サブセット訂正ユニット
１５８：再構成ユニット
【図１】
0003764647.tif 000019
【図２】
0003764647.tif 000020
【図３】
0003764647.tif 000021
【図４】
0003764647.tif 000022