JP2007226879A - 記録変調符号の符号化方法およびその装置 - Google Patents
記録変調符号の符号化方法およびその装置 Download PDFInfo
- Publication number
- JP2007226879A JP2007226879A JP2006045546A JP2006045546A JP2007226879A JP 2007226879 A JP2007226879 A JP 2007226879A JP 2006045546 A JP2006045546 A JP 2006045546A JP 2006045546 A JP2006045546 A JP 2006045546A JP 2007226879 A JP2007226879 A JP 2007226879A
- Authority
- JP
- Japan
- Prior art keywords
- code
- codewords
- combinations
- bits
- recording modulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Holo Graphy (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Optical Recording Or Reproduction (AREA)
Abstract
【課題】ソート検出とほとんど同じ簡便さと、相関検出とほとんど同じ性能を兼ね備えるデータ検出に適している情報変調符号の符号化方法を提案する。
【解決手段】ひとつの符号語を構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”である記録変調符号において、n個のうちm個を選ぶ組み合わせの数をM=nCm、ユーザー・ビット数であるkビットをマッピングするのに必要な符号語の数をK=2^kとしたときに、K<Mが成立するようにn,m,kが選ばれ、かつ、K個の符号語から2個を選んだときに、KC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択する。
【選択図】図1
【解決手段】ひとつの符号語を構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”である記録変調符号において、n個のうちm個を選ぶ組み合わせの数をM=nCm、ユーザー・ビット数であるkビットをマッピングするのに必要な符号語の数をK=2^kとしたときに、K<Mが成立するようにn,m,kが選ばれ、かつ、K個の符号語から2個を選んだときに、KC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択する。
【選択図】図1
Description
本発明は、ひとつの符号語を構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”である記録変調符号の符号化方法と、その装置に関する。
最近、ホログラム記録の原理を応用した情報記録装置の研究開発が活発になっている(非特許文献1参照)。
ホログラム記録を用いることで、今までの光ディスクよりもはるかに高い記録密度を達成できる可能性があることは以前から知られていた。半導体レーザーなどの光源やフォトポリマーなどを用いたホログラム記録媒体の登場など、周辺技術が整ってきたことが最近の活発な研究開発の背景にある。
ホログラム記録を用いることで、今までの光ディスクよりもはるかに高い記録密度を達成できる可能性があることは以前から知られていた。半導体レーザーなどの光源やフォトポリマーなどを用いたホログラム記録媒体の登場など、周辺技術が整ってきたことが最近の活発な研究開発の背景にある。
ホログラム記録用の記録変調符号としては、ひとつのシンボルを構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”であるような、スパース符号と呼ばれる記録変調符号が好んで用いられる(非特許文献2参照)。
以下、スパース符号について非特許文献2からの引用を中心に説明する。
以下、スパース符号について非特許文献2からの引用を中心に説明する。
ホログラム記録媒体の重ね書き性能の指標であるMナンバーを“M#”、ホログラムにユーザーが実際に重ね書きできる多重化枚数を“M”により表すと、ページ単位の回折効率ηpageは、次式(1)のようになる。
[数1]
ηpage=(M#/M)^2…(1)
ηpage=(M#/M)^2…(1)
記録変調符号の“1”の割合をスパース率π1と定義すると、1ページのピクセル数が“N”のホログラムでは、ピクセル単位の回折効率ηpixelは、次式(2)で表される。
[数2]
ηpixel=(M#/M)^2/(π1・N)…(2)
ηpixel=(M#/M)^2/(π1・N)…(2)
したがって、ひとつのピクセルが得ることのできる回折効率は、記録変調符号のスパース率π1が小さいほど大きくなる。
多重化数によらずノイズは一定であると仮定すると、回折効率一定η*で多重化できる枚数M*は、次式(3)のようになる。
多重化数によらずノイズは一定であると仮定すると、回折効率一定η*で多重化できる枚数M*は、次式(3)のようになる。
[数3]
M*∝M#/√(π1・N)…(3)
M*∝M#/√(π1・N)…(3)
また、スパース率がπ1となる理想符号化器の情報エントロピーI(π1)は、記録変調符号の“0”の割合を示すスパース率π0を用いると次式(4−1)のようになり、また理想符号化器によるユーザー容量Cは次式(4−2)を用いて計算することができる。
[数4]
I(π1)=−π1・log2(π1)−π0・log2(π0)…(4−1)
[ただし、π0=1−π1]
C=I(π1)・M* …(4−2)
I(π1)=−π1・log2(π1)−π0・log2(π0)…(4−1)
[ただし、π0=1−π1]
C=I(π1)・M* …(4−2)
情報エントロピーというと分かりにくいが、kビットのユーザー・データをnビットの符号語(シンボル)に変換する記録変調符号の符号化率r=k/nと等価であり、理想符号化器の情報エントロピーは、nが無限大の場合の符号化率に相当する。
図31に、スパース率π1を0から1まで変化させたときのユーザー容量Cを計算した結果を示す。
MナンバーM#の具体的な値はなんでもよいので、ここでは情報エントロピーI(π1)が1となるスパース率π1=0.5(“1”と“0”の数が同じ)で、ユーザー容量Cが1になるように規格化している。
この結果より、ホログラム記録では、スパース率π1=0.25程度が最適値であり、“1”と“0”の数が同じスパース率π1=0.5の場合と比較して、15[%]ほど、ユーザー容量が増加していることがわかる。
MナンバーM#の具体的な値はなんでもよいので、ここでは情報エントロピーI(π1)が1となるスパース率π1=0.5(“1”と“0”の数が同じ)で、ユーザー容量Cが1になるように規格化している。
この結果より、ホログラム記録では、スパース率π1=0.25程度が最適値であり、“1”と“0”の数が同じスパース率π1=0.5の場合と比較して、15[%]ほど、ユーザー容量が増加していることがわかる。
実際の記録変調符号では、符号語のビット数nを大きくすると符号化や復号が難しくなってしまうので、符号語のビット数nは有限な値を取ることになり、理想符号化器の符号化率よりも小さくなってしまう。実現可能なスパース符号は、1シンボルのビット数n、1シンボル中の“1”のビット数m、ユーザーのビット数kを用いてE(n,m,k)により定義することができる。ここで“シンボル”とは、たとえば4×4画素で構成するホログラフィック再生像の最小単位であり、1シンボルが1符号語(スパース符号)に対応する。
前記非特許文献2には、スパース符号の集合であるページ(スパースページ)がE(52,13,39)によりコーディングされた実施例が示されている。
前記非特許文献2には、スパース符号の集合であるページ(スパースページ)がE(52,13,39)によりコーディングされた実施例が示されている。
データ検出方式として最も簡便なのは、読み出し信号のビット振幅が予め定められたしきい値よりも大きければ“1”と識別し、小さければ“0”と識別する「しきい値検出」である。これに対して、スパース符号を用いたホログラム記録では、「ソート検出」と「相関検出」と呼ばれるビット検出方式が好んで使われる。
ホログラム記録ではページ内でのビット振幅の変化が大きく、しきい値検出のためのしきい値を定めることが難しいため、しきい値検出ではエラーが非常に多くなってしまう。
ホログラム記録ではページ内でのビット振幅の変化が大きく、しきい値検出のためのしきい値を定めることが難しいため、しきい値検出ではエラーが非常に多くなってしまう。
ソート検出は、次の手順で行う。
まず、たとえばスパース符号がE(16,3,8)の場合、読み出し信号を構成する16ビット符号語(1シンボル符号)のビット振幅を調べて、振幅が大きい符号語ビットから順番に#1〜#16までの番号を付ける。
つぎに、番号#1〜#3の符号語ビットを“1”に、番号#4〜#16の符号語ビットを“0”にしたものを識別結果とする。
非特許文献3にはソート検出の一種であるデータ検出アルゴリズムが開示されている。
まず、たとえばスパース符号がE(16,3,8)の場合、読み出し信号を構成する16ビット符号語(1シンボル符号)のビット振幅を調べて、振幅が大きい符号語ビットから順番に#1〜#16までの番号を付ける。
つぎに、番号#1〜#3の符号語ビットを“1”に、番号#4〜#16の符号語ビットを“0”にしたものを識別結果とする。
非特許文献3にはソート検出の一種であるデータ検出アルゴリズムが開示されている。
読み出し信号が8ビット(0〜255)にAD変換されていると仮定すると、相関検出は、次の手順で行う。
読み出し信号が8ビットにAD変換されている場合、0〜255の範囲の値を取るので、その分布の3/4の値193を“1”の目標値とし、その分布の1/4の値64を“0”の目標値とするのが適切である。そして、記録された可能性のある256通りの符号語に対して、“1”のビットでは目標値191と読み出し信号との振幅差の2乗を計算し、“0”のビットでは目標値64と読み出し信号との振幅差の2乗を計算し、この2乗誤差の16ビット分の和を計算して各符号語が記録された確からしさの評価値を得る。
つぎに、上記評価値を比較して、確からしさが最も大きいものを、識別結果とする。
「テラバイト・ディスク実現へ勢いづくホログラフィック」日経エレクトロニクス2005年8月15日号,No.906, pp. 51−58 B. M. King and M. A. Neifield "Sparse modulation coding for increased capacity in volume holographic storage", APPLIED OPTICS, VOL.39, pp. 6681−6688, DECEMBER 2000 B. M. King and M. A. Neifield "Low−complexity maximum−likelihood decoding of shortened enumerative permutation codes for holographic storage", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATION, VOL.19, NO.4, pp.783−790, APRIL 2001
読み出し信号が8ビットにAD変換されている場合、0〜255の範囲の値を取るので、その分布の3/4の値193を“1”の目標値とし、その分布の1/4の値64を“0”の目標値とするのが適切である。そして、記録された可能性のある256通りの符号語に対して、“1”のビットでは目標値191と読み出し信号との振幅差の2乗を計算し、“0”のビットでは目標値64と読み出し信号との振幅差の2乗を計算し、この2乗誤差の16ビット分の和を計算して各符号語が記録された確からしさの評価値を得る。
つぎに、上記評価値を比較して、確からしさが最も大きいものを、識別結果とする。
「テラバイト・ディスク実現へ勢いづくホログラフィック」日経エレクトロニクス2005年8月15日号,No.906, pp. 51−58 B. M. King and M. A. Neifield "Sparse modulation coding for increased capacity in volume holographic storage", APPLIED OPTICS, VOL.39, pp. 6681−6688, DECEMBER 2000 B. M. King and M. A. Neifield "Low−complexity maximum−likelihood decoding of shortened enumerative permutation codes for holographic storage", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATION, VOL.19, NO.4, pp.783−790, APRIL 2001
しきい値検出と比べて、ソート検出や相関検出では、振幅変動の影響を受けないという大きなメリットがある。
ソート検出は16通りの値を比較してソートするだけなので回路化は簡単であるが、振幅が最大から3番目までの番号#1〜#3の16ビット信号を“1”にするだけなので符号語でない識別結果を出力する可能性がある。
相関検出は、記録された可能性のある符号語の中から最も確からしいものを選ぶ最尤検出なので識別性能は優れているが、加算と乗算を組み合わせて256通りの評価値を計算する必要があり、かつ、256通りの確からしさ値の中から最も小さい値を選ぶので、回路的に非常に複雑になるという問題点がある。
以上より、ソート検出とほとんど同じ簡便さと、相関検出とほとんど同じ性能を、兼ね備えた検出方式が望まれている。
ソート検出は16通りの値を比較してソートするだけなので回路化は簡単であるが、振幅が最大から3番目までの番号#1〜#3の16ビット信号を“1”にするだけなので符号語でない識別結果を出力する可能性がある。
相関検出は、記録された可能性のある符号語の中から最も確からしいものを選ぶ最尤検出なので識別性能は優れているが、加算と乗算を組み合わせて256通りの評価値を計算する必要があり、かつ、256通りの確からしさ値の中から最も小さい値を選ぶので、回路的に非常に複雑になるという問題点がある。
以上より、ソート検出とほとんど同じ簡便さと、相関検出とほとんど同じ性能を、兼ね備えた検出方式が望まれている。
なお、前記非特許文献2と同じ著者による非特許文献3を見ると、「ソート検出は最尤検出である。」という説明がある。しかしながら、1シンボルが16ビットのときに、以下の2つの場合のいずれかに該当しなければならない。
(1)未使用符号語がない場合、つまり、16ビットのうち3ビットだけが“1”になる16C3=560通りの組み合わせすべてを符号語として使う場合。
(2)560通りの組み合わせを16ビットの2進数とみなして大きさの順番に#0〜#559という番号を付け、小さいものから順番に番号#0〜#255のものを符号語として選び、特別なアルゴリズムを用いて復号する場合。
ここで2^9=512<16C3=560<2^10=1024であるから、ユーザーのkビットをnビットにマッピングしようとすると上記(1)の場合に該当しない。また、(2)の場合に該当するためはE(16,3,8)のスパース符号は一意に決まってしまう。このため、たとえば「シンボル内で縦または横に1が連続しない」という要求を満たすことはできない。
(1)未使用符号語がない場合、つまり、16ビットのうち3ビットだけが“1”になる16C3=560通りの組み合わせすべてを符号語として使う場合。
(2)560通りの組み合わせを16ビットの2進数とみなして大きさの順番に#0〜#559という番号を付け、小さいものから順番に番号#0〜#255のものを符号語として選び、特別なアルゴリズムを用いて復号する場合。
ここで2^9=512<16C3=560<2^10=1024であるから、ユーザーのkビットをnビットにマッピングしようとすると上記(1)の場合に該当しない。また、(2)の場合に該当するためはE(16,3,8)のスパース符号は一意に決まってしまう。このため、たとえば「シンボル内で縦または横に1が連続しない」という要求を満たすことはできない。
また、非特許文献3に記載されているアルゴリズムを適用して得られるソート検出では、上述した単純なソート検出と比較すると、相関検出と同様に処理時間が長くなると考えられる。
本発明が解決しようとする課題は、ソート検出とほとんど同じ簡便さと、相関検出とほとんど同じ性能を兼ね備えるデータ検出に適している情報変調符号の符号化方法を提供することである。
本発明に係る記録変調符号の符号化方法は、ひとつの符号語を構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”である記録変調符号の符号化方法であって、前記記録変調符号において、n個のうちm個を選ぶ組み合わせの数をM=nCm、ユーザー・ビット数であるkビットをマッピングするのに必要な符号語の数をK=2^kとしたときに、K<Mが成立するようにn,m,kが選ばれ、かつ、K個の符号語から2個を選んだときに、KC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択する。
本発明では好適に、前記K個の符号語の選択において、選択しうるMCK通りの組み合わせすべてについて符号語間のハミング距離が最小になる組み合わせの数を調べ、当該数が最小になるように前記K個の符号語を選択する。
本発明では好適に、前記K個の符号語の選択において、所定の基準で初期の符号語の組み合わせを選択する第1ステップと、現在選択されている符号語の中から、他の符号語とのハミング距離が最小になる組み合わせの数が最も多い符号語を探し出し、これを“old”とする第2ステップと、現在選択されている符号語から前記“old”を取り除いた2^(k−1)個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語を、現在選択されていない符号語の中から探し出し、これを“new”とする第3ステップと、現在選択されている符号語から前記“old”を取り除き前記“new”を加えたものを、新たな符号語の組合せとする第4ステップと、前記第1〜第4ステップの処理を繰り返し、予め定められた条件を満たした場合に、最終的な記録変調符号とする第5ステップとを含む。
本発明では好適に、前記K個の符号語の選択において、選択しうるMCK通りの組み合わせすべてについて符号語間のハミング距離が最小になる組み合わせの数を調べ、当該数が最小になるように前記K個の符号語を選択する。
本発明では好適に、前記K個の符号語の選択において、所定の基準で初期の符号語の組み合わせを選択する第1ステップと、現在選択されている符号語の中から、他の符号語とのハミング距離が最小になる組み合わせの数が最も多い符号語を探し出し、これを“old”とする第2ステップと、現在選択されている符号語から前記“old”を取り除いた2^(k−1)個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語を、現在選択されていない符号語の中から探し出し、これを“new”とする第3ステップと、現在選択されている符号語から前記“old”を取り除き前記“new”を加えたものを、新たな符号語の組合せとする第4ステップと、前記第1〜第4ステップの処理を繰り返し、予め定められた条件を満たした場合に、最終的な記録変調符号とする第5ステップとを含む。
本発明に係る記録変調符号の符号化装置は、ひとつの符号語を構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”である記録変調符号の符号化装置であって、前記記録変調符号において、n個のうちm個を選ぶ組み合わせの数をM=nCm、ユーザー・ビット数であるkビットをマッピングするのに必要な符号語の数をK=2^kとしたときに、K<Mが成立するようにn,m,kが選ばれ、かつ、K個の符号語から2個を選んだときに、KC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択する符号選択手段を含む。
本発明によれば、ソート検出とほとんど同じ簡便さと、相関検出とほとんど同じ性能を兼ね備えるデータ検出に適している情報変調符号を実現できる。
本発明は、スパース符号の構成方法に関するものであり、最小ハミング距離が最小になる符号語の組み合わせの数ができるだけ少なくなるように符号語を選択することで、識別エラーの検出能力を向上させ、符号語に含まれない識別結果を出力しない検出方法と組み合わせることで良好な識別性能が得られる記録変調符号およびその符号化方法を提供するものである。
この記録変調符号はリトライ検出というデータ識別方法に適している。リトライ検出とは、記録変調符号の符号語を単位として、読み出し信号の符号語単位ごとに、ビット振幅の大きいものから順番に定められた数だけ“1”にしていくソート検出の結果にエラーが含まれている場合には、次に確からしい候補を選択し、これにエラーが含まれているかどうかを調べることを繰り返すことで、簡便で良好な識別性能を実現する方法である。
また、本実施形態のハミング距離を用いて形成される記録変調符号は、いわゆるスパース符号の一種である。
この記録変調符号はリトライ検出というデータ識別方法に適している。リトライ検出とは、記録変調符号の符号語を単位として、読み出し信号の符号語単位ごとに、ビット振幅の大きいものから順番に定められた数だけ“1”にしていくソート検出の結果にエラーが含まれている場合には、次に確からしい候補を選択し、これにエラーが含まれているかどうかを調べることを繰り返すことで、簡便で良好な識別性能を実現する方法である。
また、本実施形態のハミング距離を用いて形成される記録変調符号は、いわゆるスパース符号の一種である。
以下、リトライ検出が適用された例として、ホログラム記録読出システムを説明する。ここでは説明の煩雑さを避けるために、最初に本発明適用前のスパース符号で説明する。
そして、つぎに、ハミング距離を用いて生成される本実施形態の記録変調符号と、その符号化方法について説明し、最後に、他の検出方法との比較における本発明適用の効果を説明する。
そして、つぎに、ハミング距離を用いて生成される本実施形態の記録変調符号と、その符号化方法について説明し、最後に、他の検出方法との比較における本発明適用の効果を説明する。
前述したように、任意のスパース符号は、1シンボルのビット数n、1シンボル中の“1”のビット数m、ユーザーのビット数kを用いてE(n,m,k)により定義することができる。ここで“シンボル”とは、たとえば4×4画素で構成するホログラフィック再生像の最小単位であり、1シンボルが1符号語(スパース符号)に対応する。
既に説明したように、理想符号化器におけるユーザーが利用可能な記録容量(ユーザー容量)Cは、nビットの符号化率に対応するスパース率π1と相関し、スパース率π1=0.25付近で極大値を持つ(図31参照)。
既に説明したように、理想符号化器におけるユーザーが利用可能な記録容量(ユーザー容量)Cは、nビットの符号化率に対応するスパース率π1と相関し、スパース率π1=0.25付近で極大値を持つ(図31参照)。
<スパース符号>
図1に、スパース符号のビット数nを4〜64まで変化させたときの、スパース率π1とユーザー容量Cとの関係を示す。
図1において、スパース符号のビット数nが大きいほど、符号化率r=k/nが大きくなり、理想化符号器(n=∞)に近くなることが分かる。符号化率rは、n個のものからm個を選択する組み合わせnCmと2^kとの関係から決められており、2^k<nCmという条件を満たす最大の整数kがユーザーのビット数になる。たとえばn=16、m=3の場合において、k=9と8で比較すると、組み合わせnCm数(図1の横軸に比例)が同じでも29>28であるから、E(16,3,9)のユーザー容量Cが、E(16,3,8)のそれより大きいことが図1から分かる。
図1に、スパース符号のビット数nを4〜64まで変化させたときの、スパース率π1とユーザー容量Cとの関係を示す。
図1において、スパース符号のビット数nが大きいほど、符号化率r=k/nが大きくなり、理想化符号器(n=∞)に近くなることが分かる。符号化率rは、n個のものからm個を選択する組み合わせnCmと2^kとの関係から決められており、2^k<nCmという条件を満たす最大の整数kがユーザーのビット数になる。たとえばn=16、m=3の場合において、k=9と8で比較すると、組み合わせnCm数(図1の横軸に比例)が同じでも29>28であるから、E(16,3,9)のユーザー容量Cが、E(16,3,8)のそれより大きいことが図1から分かる。
図2に、実際のホログラム記録における記録ページの例を示す。図3(A)および図3(B)は、図2を線図により簡略化して示す図、図3(C)は、その説明を記す説明図である。
図3(A)および図3(C)に示すように、記録ページ1は51個のデータ記録用のサブ・ページ11と、1個の同期用のサブ・ページ(ページ・シンク(page sync.))12とからなる。
各サブ・ページは、図3(B)に示すように、6×6個のシンボル13からなり、そのうち中心の4シンボルでシンク(sync.)14を形成している。シンク14は、中央の1シンボル相当の領域が白、周囲を黒で形成されている。
各シンボルは白を“1”データビット、黒を“0”データビットとする4×4ビット構成となっている。
したがって、図3(C)に示すように、総ビット数36864(=192×192)のうち、記録ページ1の有効シンボル数は1632ビットである。
図3(A)および図3(C)に示すように、記録ページ1は51個のデータ記録用のサブ・ページ11と、1個の同期用のサブ・ページ(ページ・シンク(page sync.))12とからなる。
各サブ・ページは、図3(B)に示すように、6×6個のシンボル13からなり、そのうち中心の4シンボルでシンク(sync.)14を形成している。シンク14は、中央の1シンボル相当の領域が白、周囲を黒で形成されている。
各シンボルは白を“1”データビット、黒を“0”データビットとする4×4ビット構成となっている。
したがって、図3(C)に示すように、総ビット数36864(=192×192)のうち、記録ページ1の有効シンボル数は1632ビットである。
ここで、スパース符号としてE(16,3,8)が用いられている。16ビットのうちの3ビットを“1”にするのであれば、16ビットから3個を選ぶ組み合わせは16C3=560通りあるので、2^9=512<560より、ユーザー・ビット数kを9にしてE(16,3,9)を作ることが可能である。ただし、本実施形態では、あえて2^8=256通りのシンボルしか使っていない。これは、以下の理由による。
第1に、未使用シンボルの存在を有効に利用する検出方式を使えば、検出エラーの数を少なくすることができる(この検出方法については後述する)。
第2に、縦と横に連続する“1”の個数を制限して、記録データの持つ低域成分をできるだけ少なくしたい。つまり、後述するようにスパース符号のシンボル内では、縦と横に連続して“1”が配列されない。また、シンボル間では“1”が2つ連続することはあるが、3つ以上連続することはない。シンボル間の区分けはシンク14で精度よく行えるが、その場合でも、“1”ビットが2つ連続する箇所を出来るだけ少なくしたい。
第1に、未使用シンボルの存在を有効に利用する検出方式を使えば、検出エラーの数を少なくすることができる(この検出方法については後述する)。
第2に、縦と横に連続する“1”の個数を制限して、記録データの持つ低域成分をできるだけ少なくしたい。つまり、後述するようにスパース符号のシンボル内では、縦と横に連続して“1”が配列されない。また、シンボル間では“1”が2つ連続することはあるが、3つ以上連続することはない。シンボル間の区分けはシンク14で精度よく行えるが、その場合でも、“1”ビットが2つ連続する箇所を出来るだけ少なくしたい。
図4〜図10に、本発明適用前の記録変調符号(スパース符号)のテーブルの記録内容(テーブル)を示す。
これらの図では、スパース符号E(16,3,8)で採用されている256通りのシンボルをまとめたものである。これらは、16ビットのうち3ビットだけが“1”であり、なおかつ、シンボル内で縦または横に1が連続しないというルールを満たすものを探した結果である。このルールを満たすシンボルは276通りあったが、左上端を最下位ビットLSB、右下端を最上位ビットMSBとして16ビットの2進数にしたときの値が小さい256個を選んで用いている。
これらの図では、スパース符号E(16,3,8)で採用されている256通りのシンボルをまとめたものである。これらは、16ビットのうち3ビットだけが“1”であり、なおかつ、シンボル内で縦または横に1が連続しないというルールを満たすものを探した結果である。このルールを満たすシンボルは276通りあったが、左上端を最下位ビットLSB、右下端を最上位ビットMSBとして16ビットの2進数にしたときの値が小さい256個を選んで用いている。
<ホログラム記録再生システム>
図11に、ホログラム記録再生装置のシステム構成を示す。なお、この図では処理フローも併せて示すものであり、処理手順を矢印により示す。各部内には処理の内容を示す。
図示例のホログラム記録再生装置20は、記録データ生成ブロック21、読み出し信号の検出(記録データ再生)ブロック22、特性評価ブロック23、および、ホログラム記録読出装置24を有する。このうち各ブロックを個別の装置として形成してもよいし、たとえばホログラム記録読出装置24を除く他のブロックを1つの処理装置から形成してもよい。
図11に、ホログラム記録再生装置のシステム構成を示す。なお、この図では処理フローも併せて示すものであり、処理手順を矢印により示す。各部内には処理の内容を示す。
図示例のホログラム記録再生装置20は、記録データ生成ブロック21、読み出し信号の検出(記録データ再生)ブロック22、特性評価ブロック23、および、ホログラム記録読出装置24を有する。このうち各ブロックを個別の装置として形成してもよいし、たとえばホログラム記録読出装置24を除く他のブロックを1つの処理装置から形成してもよい。
記録データ生成ブロック21は、乱数発生部25(乱数発生ステップST1)、符号変換部26(符号変換ステップST2)、マッピング部27(マッピングステップST3)、ファイル書き込み部28(ファイル書き込みステップST4)を有する。
ホログラム記録読出装置24は、特に図示しないが、記録用SLM(Spatial Light Modulator)としてのDMD(Digital Micromirror Device)、読み出し光を検出する撮像素子としてのCMOSセンサー、ホログラム記録媒体、DMDにより変調された信号光(物理光)の光源およびその照明光学系、記録時にホログラム記録媒体に信号とともに照射される参照光およびその照明光学系、読み出し時の読み出し光の像をCMOSセンサーの撮像面に結像させる読出光学系、データ変換部、それらの制御部が内蔵されている。ホログラム記録読出装置24は、これらの各部を駆使して、ファイル書き込み部28(ファイル書き込みステップST4)からの記録データファイルの信号によって、光源からの光を所定のDMDで光変調し、これを記録媒体に参照光と共に照射してホログラム記録し、記録時と同じ条件の参照光の照射により記録データを読み出し、読み出し信号(ファイル)として出力する。
これらの一連の処理を実行するステップを、ホログラム記録読出処理ステップST5とする。
これらの一連の処理を実行するステップを、ホログラム記録読出処理ステップST5とする。
読み出し信号検出ブロック22は、低域通過フィルタ(LPF)部29(LPF処理ステップST6)、アップコンバータ30(アップコンバートステップST7)、シンク検出部31(シンク検出ステップST8)、リサンプリング部32(リサンプリングステップST9)、および、シンボル検出部33(シンボル検出ステップST10)を有する。
このうちシンボル検出部33(シンボル検出ステップST10)が、本発明のデータ識別方法を主に実行する部分である。なお、不図示の全体の制御部(CPU等)が、本発明のデータ識別方法の一部を実行してもよい。
このうちシンボル検出部33(シンボル検出ステップST10)が、本発明のデータ識別方法を主に実行する部分である。なお、不図示の全体の制御部(CPU等)が、本発明のデータ識別方法の一部を実行してもよい。
特性評価ブロック23は、リサンプリング部32(リサンプリングステップST9)からの信号、または、シンボル検出後の信号からデータ表示のヒストグラムを作成するヒストグラム表示部34(ヒストグラム表示ステップST11)、リサンプリング部32(リサンプリングステップST9)からの信号、または、シンボル検出後の信号から信号対ノイズ比(SNR)を計算するSNR計算部35(SNR計算ステップST12)、および、エラー表示を行うエラー表示部36(エラー表示ステップST13)を有する。
つぎに、上記構成の動作を説明する。
記録データ生成ブロック21では、まず、8ビットの乱数を1ページ分のユーザー・データ数kである32×51=1632バイト(13056ビット)発生させる。本例では、図3並びに図4〜図10に示すように、1シンボルが8ビット(1バイト)のデータを表記し、1ページの有効シンボル数が1632シンボルとなるため、そのシンボル数と同じ数の乱数を発生させる。
乱数により生成した8ビットのデータは、符号変換部26(符号変換ステップST2)に送られ、ここで16ビットのうち3ビットだけが“1”で残りは“0”であるスパース符号のシンボルに変換される。なお、所定の音声、映像、文書等のコンテンツデータから記録データを作成する場合は乱数発生部25(乱数発生ステップST1)が省略され、コンテンツデータの大きさに応じたスパース符号が符号変換部26(符号変換ステップST2)にて生成される。
つぎのマッピング部27(マッピングステップST3)にて、スパース符号のシンボルと、シンク14およびページ・シンク12(図3参照)とを組み合わせて、記録ページが作成される。
最後に、ファイル書き込み部28(ファイル書き込みステップST4)にて、これがホログラム記録の実験装置が読み込めるファイル形式(たとえばビットマップ・ファイル)に変換される。
記録データ生成ブロック21では、まず、8ビットの乱数を1ページ分のユーザー・データ数kである32×51=1632バイト(13056ビット)発生させる。本例では、図3並びに図4〜図10に示すように、1シンボルが8ビット(1バイト)のデータを表記し、1ページの有効シンボル数が1632シンボルとなるため、そのシンボル数と同じ数の乱数を発生させる。
乱数により生成した8ビットのデータは、符号変換部26(符号変換ステップST2)に送られ、ここで16ビットのうち3ビットだけが“1”で残りは“0”であるスパース符号のシンボルに変換される。なお、所定の音声、映像、文書等のコンテンツデータから記録データを作成する場合は乱数発生部25(乱数発生ステップST1)が省略され、コンテンツデータの大きさに応じたスパース符号が符号変換部26(符号変換ステップST2)にて生成される。
つぎのマッピング部27(マッピングステップST3)にて、スパース符号のシンボルと、シンク14およびページ・シンク12(図3参照)とを組み合わせて、記録ページが作成される。
最後に、ファイル書き込み部28(ファイル書き込みステップST4)にて、これがホログラム記録の実験装置が読み込めるファイル形式(たとえばビットマップ・ファイル)に変換される。
記録データ生成ブロック21で生成されたビットマップ・ファイルはホログラム記録読出装置24に送られ、ここでホログラム記録及び読み出しが実行される。
まず、記録用のSLM(Spatial Light Modulator)として用いているDMD(Digital Micromirror Device)の各ピクセルをビットマップの“1”,“0”に応じてON,OFFした像をホログラム記録媒体に照射する。このとき媒体の光参照位置、参照光の条件に応じて多重記録が可能である。
読み出しでは、参照光を上記記録時と同じ位置および条件でホログラム記録媒体に照射する。このとき媒体からの光(読み出し光)を、所定の光学系でCMOSセンサーの撮像面に合焦させる。またCMOSセンサーの位置をできるだけ厳密に合わせて読み出しを行う。2×2=4個のCMOSセンサーの受光部に対し、DMDの1つのピクセルからの光が照射されるように、CMOSセンサー(または読み出し光)の位置とともに倍率を合わせている。なお、このホログラム記録および読み出しは様々な方式があるが、ここでは方式は任意である。
まず、記録用のSLM(Spatial Light Modulator)として用いているDMD(Digital Micromirror Device)の各ピクセルをビットマップの“1”,“0”に応じてON,OFFした像をホログラム記録媒体に照射する。このとき媒体の光参照位置、参照光の条件に応じて多重記録が可能である。
読み出しでは、参照光を上記記録時と同じ位置および条件でホログラム記録媒体に照射する。このとき媒体からの光(読み出し光)を、所定の光学系でCMOSセンサーの撮像面に合焦させる。またCMOSセンサーの位置をできるだけ厳密に合わせて読み出しを行う。2×2=4個のCMOSセンサーの受光部に対し、DMDの1つのピクセルからの光が照射されるように、CMOSセンサー(または読み出し光)の位置とともに倍率を合わせている。なお、このホログラム記録および読み出しは様々な方式があるが、ここでは方式は任意である。
CMOSセンサーからは撮像信号が出力され、これが読み出し信号ファイルに変換されて読み出し信号検出ブロック22に出力される。
読み出し信号検出ブロック22では、その初段の低域通過フィルタ(LPF)部29(LPF処理ステップST6)にて、まず、2×2にオーバーサンプリングされた読み出し信号を簡単な2次元LPFを通して、帯域を制限する。帯域制限の方法は任意であるが、ここでは4つのセンサー出力を単純に平均している。
次に、リサンプリングの精度を上げるために、アップコンバータ30(アップコンバートステップST7)にて、4×4にアップ・コンバートする。
そして、シンク検出部31(シンク検出ステップST8)にて、ページ・シンクおよびサブ・ページ・シンクを順に検出する。具体的には、図3(A)に示すページ・シンク12を検出し、ページの先頭であることを検出する。その後、周期的に表れる4×4ビットの白い正方形(シンク14)に対応した信号部分を検出するごとに、シンク14を基準に換算されるサブ・ページ11、さらには、それを構成する4×4ビットのシンボル13を区分けする。以後、この区分けがずれないように同期をとって、次のリサンプリング部32(リサンプリングステップST9)およびシンボル検出部33(シンボル検出ステップST10)を実行する。
リサンプリング部32(リサンプリングステップST9)では、ホログラム記録読出装置24内のSLM(DMD)のピクセルと1対1(1×1)に対応させるようにリサンプリングを行ってシンボル13単位に分解する。そして、つぎのシンボル検出部33(シンボル検出ステップST10)にて、たとえば「16ビットのうち振幅の大きい3ビットを“1”にし、かつ、確からしさが高くなる検出方法」、すなわちリトライ検出を実行する。リトライ検出の詳細は後述する。
シンボル検出部33には、リトライ検出に用いるテーブル37が設けられている。このテーブル37の記憶内容は、図4〜図10の決められたスパース符号の組み合わせを保持する。また、符号変換部26(符号変換ステップST2)のスパース符号の変換結果に応じてテーブル37を書き換えるようにしてもよい。
読み出し信号検出ブロック22では、その初段の低域通過フィルタ(LPF)部29(LPF処理ステップST6)にて、まず、2×2にオーバーサンプリングされた読み出し信号を簡単な2次元LPFを通して、帯域を制限する。帯域制限の方法は任意であるが、ここでは4つのセンサー出力を単純に平均している。
次に、リサンプリングの精度を上げるために、アップコンバータ30(アップコンバートステップST7)にて、4×4にアップ・コンバートする。
そして、シンク検出部31(シンク検出ステップST8)にて、ページ・シンクおよびサブ・ページ・シンクを順に検出する。具体的には、図3(A)に示すページ・シンク12を検出し、ページの先頭であることを検出する。その後、周期的に表れる4×4ビットの白い正方形(シンク14)に対応した信号部分を検出するごとに、シンク14を基準に換算されるサブ・ページ11、さらには、それを構成する4×4ビットのシンボル13を区分けする。以後、この区分けがずれないように同期をとって、次のリサンプリング部32(リサンプリングステップST9)およびシンボル検出部33(シンボル検出ステップST10)を実行する。
リサンプリング部32(リサンプリングステップST9)では、ホログラム記録読出装置24内のSLM(DMD)のピクセルと1対1(1×1)に対応させるようにリサンプリングを行ってシンボル13単位に分解する。そして、つぎのシンボル検出部33(シンボル検出ステップST10)にて、たとえば「16ビットのうち振幅の大きい3ビットを“1”にし、かつ、確からしさが高くなる検出方法」、すなわちリトライ検出を実行する。リトライ検出の詳細は後述する。
シンボル検出部33には、リトライ検出に用いるテーブル37が設けられている。このテーブル37の記憶内容は、図4〜図10の決められたスパース符号の組み合わせを保持する。また、符号変換部26(符号変換ステップST2)のスパース符号の変換結果に応じてテーブル37を書き換えるようにしてもよい。
リトライ検出により復元された記録データ(検出信号データ)は、特性評価ブロック23に送られ、所定の評価処理が実行される。
この評価処理は任意であるが、ここではヒストグラム表示、SNR計算、エラー表示を例示する。
エラー表示部36(エラー表示ステップST13)では、エラーが発生したビットおよびシンボル13(図3)をページにマッピングして、エラーが発生した位置を表示する。
また、信号対ノイズ比(SNR)計算部35(信号対ノイズ比(SNR)計算ステップST12)にて、ページ全体の“1”と“0”の平均値および分散を計算して信号対ノイズ比(SNR)を求める。さらに、“1”データの振幅分布と“0”データの振幅分布を計算してヒストグラムを表示する。
この評価処理は任意であるが、ここではヒストグラム表示、SNR計算、エラー表示を例示する。
エラー表示部36(エラー表示ステップST13)では、エラーが発生したビットおよびシンボル13(図3)をページにマッピングして、エラーが発生した位置を表示する。
また、信号対ノイズ比(SNR)計算部35(信号対ノイズ比(SNR)計算ステップST12)にて、ページ全体の“1”と“0”の平均値および分散を計算して信号対ノイズ比(SNR)を求める。さらに、“1”データの振幅分布と“0”データの振幅分布を計算してヒストグラムを表示する。
図12に、ホログラム記録の読み出し信号例を示す。
図12(A)は、記録された1ビットのデータに対して2×2=4個のセンサー受光部を割り当てて、2×2でオーバーサンプリングした読み出し信号のビットマップである。これから、上述した処理を行って1×1にリサンプリングした結果を、図12(B)に示す。ここでは、周辺の不要なノイズ部分を削除して、図3に対応した部分だけになっている。
なお、DMDのピクセル数は横幅(W)1240×縦高さ(H)726であるが、実際に使用しているのは参照光を含めてW256×H256のみである。また、参照光などを考慮せずに1記録ページを192×192=36864ビット分とすると、ユーザー・ビット数kは有効シンボル数1632×8ビット=13056ビットとなる。したがって、符号化率は、13056/36864=0.354である。
図12(A)は、記録された1ビットのデータに対して2×2=4個のセンサー受光部を割り当てて、2×2でオーバーサンプリングした読み出し信号のビットマップである。これから、上述した処理を行って1×1にリサンプリングした結果を、図12(B)に示す。ここでは、周辺の不要なノイズ部分を削除して、図3に対応した部分だけになっている。
なお、DMDのピクセル数は横幅(W)1240×縦高さ(H)726であるが、実際に使用しているのは参照光を含めてW256×H256のみである。また、参照光などを考慮せずに1記録ページを192×192=36864ビット分とすると、ユーザー・ビット数kは有効シンボル数1632×8ビット=13056ビットとなる。したがって、符号化率は、13056/36864=0.354である。
<リトライ検出法>
図13に、リトライ検出のフローチャートを示す。
図13(A)は、基本的な手順を示すリトライ検出のフローチャートである。これは、読み出し信号を符号語単位に区分した後について説明したものである。
ステップST20にて、前記読み出し信号を構成する一のn(本例ではn=16)ビット符号語について各ビットの振幅を調べ、大きいものから順番に#1から#nまでの番号を付ける。
ステップST21では、番号#1〜#mを“1”に、番号#(m+1)〜#nを“0”にしたものを最初の識別結果の候補とする。
図13に、リトライ検出のフローチャートを示す。
図13(A)は、基本的な手順を示すリトライ検出のフローチャートである。これは、読み出し信号を符号語単位に区分した後について説明したものである。
ステップST20にて、前記読み出し信号を構成する一のn(本例ではn=16)ビット符号語について各ビットの振幅を調べ、大きいものから順番に#1から#nまでの番号を付ける。
ステップST21では、番号#1〜#mを“1”に、番号#(m+1)〜#nを“0”にしたものを最初の識別結果の候補とする。
つぎのステップST22では、識別結果の候補が前記記録変調符合のテーブルに含まれているかどうかを、記録変調符号のテーブル37(図11)と識別結果の候補とを照らし合わせることにより調べる。
識別結果の候補が記録変調符号としてテーブル37に含まれていれば、当該識別結果の候補を識別結果として出力する(ステップST23)。
一方、ステップST22で識別結果の候補がテーブル37に含まれていない場合は、予め定めた順番で、次の識別結果の候補を選択し(ステップST24)、再度ステップST22の判断を行う。
このステップST22とST24の繰り返しを、ステップST22の判断が「YES」となるまで繰り返す。この繰り返しループ処理では、識別結果の候補を予め定めた順番で変えていくが、同じ候補について重複判断はしない。
ステップST23の後は、つぎのステップST0にてリターンとなり、つぎのnビット符号語の入力があれば、上記ステップST20〜ST23を繰り返し、入力がなければ、そのまま終了となる。
識別結果の候補が記録変調符号としてテーブル37に含まれていれば、当該識別結果の候補を識別結果として出力する(ステップST23)。
一方、ステップST22で識別結果の候補がテーブル37に含まれていない場合は、予め定めた順番で、次の識別結果の候補を選択し(ステップST24)、再度ステップST22の判断を行う。
このステップST22とST24の繰り返しを、ステップST22の判断が「YES」となるまで繰り返す。この繰り返しループ処理では、識別結果の候補を予め定めた順番で変えていくが、同じ候補について重複判断はしない。
ステップST23の後は、つぎのステップST0にてリターンとなり、つぎのnビット符号語の入力があれば、上記ステップST20〜ST23を繰り返し、入力がなければ、そのまま終了となる。
<スパース符号検討用シミュレータ>
図14に、スパース符号E(16,3,8)検討用シミュレータの構成図を示す。なお、この図ではシミュレーションの処理フローも併せて示すものであり、処理手順を矢印により示す。各部内には処理の内容を示す。
このシミュレータ40は、乱数発生部41(乱数発生ステップST41)、符号変換部42(符号変換ステップST42)、ノイズ重畳部43(ノイズ付加ステップST43)、ソート検出部44(ソート検出ステップST44)、ソート検出エラー計算部44A(エラー計算ステップST44A)、リトライ検出部45(エラー検出ステップST45)、リトライ検出エラー計算部45A(エラー検出ステップST45A)、および、符号語に含まない識別結果のカウント部46(カウントステップST46)を有する。
図14に、スパース符号E(16,3,8)検討用シミュレータの構成図を示す。なお、この図ではシミュレーションの処理フローも併せて示すものであり、処理手順を矢印により示す。各部内には処理の内容を示す。
このシミュレータ40は、乱数発生部41(乱数発生ステップST41)、符号変換部42(符号変換ステップST42)、ノイズ重畳部43(ノイズ付加ステップST43)、ソート検出部44(ソート検出ステップST44)、ソート検出エラー計算部44A(エラー計算ステップST44A)、リトライ検出部45(エラー検出ステップST45)、リトライ検出エラー計算部45A(エラー検出ステップST45A)、および、符号語に含まない識別結果のカウント部46(カウントステップST46)を有する。
#0〜#255の範囲で一様分布する、1ページ(1632シンボル)分の乱数を発生し(ステップST41)、これをE(16,3,8)スパース符号に変換する(ステップST42)。この各ビットに定められた標準偏差を持つ白色ガウスノイズを付加し(ステップST43)、読み出し信号の代わりとする。
識別は、最初にソート検出で行い(ステップST44)、ノイズを加える前の符号語と比較してエラー数を調べるとともに(ステップST44A)、識別結果を調べて用いた記録変調符号の符号語に含まれていない識別結果の数をカウントして検出エラーとする(ステップST46)。引き続き、リトライ検出を行い(ステップST45)、この識別結果を、ノイズを加える前の符号語と比較してのエラー数を調べる(ステップST45A)。
識別は、最初にソート検出で行い(ステップST44)、ノイズを加える前の符号語と比較してエラー数を調べるとともに(ステップST44A)、識別結果を調べて用いた記録変調符号の符号語に含まれていない識別結果の数をカウントして検出エラーとする(ステップST46)。引き続き、リトライ検出を行い(ステップST45)、この識別結果を、ノイズを加える前の符号語と比較してのエラー数を調べる(ステップST45A)。
図15と図16に、スパース符号E(16,3,8)のシミュレーション結果を示す。
2種類のスパース符号のうち「適用前」の表記により示すデータは、図4〜図10に示すテーブルを使ったシミュレーション結果で、「シンボル内で縦または横に1が連続しない」という単純なルールを満たすE(16,3,8)符号である。また、「0−255」の表記により示すデータは、非特許文献3で説明されている「16ビットのうち3ビットだけが“1”となる560通りの組み合わせを16ビットの2進数とみなして大きさの順番に#0〜#559という番号を付けたときに、小さいものから順番に#0〜#255を符号語として選んだ記録変調符号」についてのシミュレーション結果である。非特許文献3には、この変調符号の場合に、特別なアルゴリズムを使うことで「ソート検出が最尤検出になる、つまり、相関検出と同じ結果になる」と説明されている。
2種類のスパース符号のうち「適用前」の表記により示すデータは、図4〜図10に示すテーブルを使ったシミュレーション結果で、「シンボル内で縦または横に1が連続しない」という単純なルールを満たすE(16,3,8)符号である。また、「0−255」の表記により示すデータは、非特許文献3で説明されている「16ビットのうち3ビットだけが“1”となる560通りの組み合わせを16ビットの2進数とみなして大きさの順番に#0〜#559という番号を付けたときに、小さいものから順番に#0〜#255を符号語として選んだ記録変調符号」についてのシミュレーション結果である。非特許文献3には、この変調符号の場合に、特別なアルゴリズムを使うことで「ソート検出が最尤検出になる、つまり、相関検出と同じ結果になる」と説明されている。
シミュレーションは、100ページ分のデータに対して行った。各図のグラフにおいて横軸の「平均線形SNR2」により示すパラメータは、次式(5)により定義される。
[数5]
SNR2=(μ1−μ0)/√(σ0^2+σ1^2)…(5)
SNR2=(μ1−μ0)/√(σ0^2+σ1^2)…(5)
ここで、 記号「μ1」は“1”の読み出し平均値、「μ0」は“0”の読み出し平均値、「σ1」は“1”のノイズ標準偏差、「σ0」は“0”のノイズ標準偏差を表す。
このSNR2は、“1”と“0”のノイズの性質が異なるホログラム記録で一般に用いられているものである。今回のシミュレーションでは、σ1=2*σ0になるように設定している。
このSNR2は、“1”と“0”のノイズの性質が異なるホログラム記録で一般に用いられているものである。今回のシミュレーションでは、σ1=2*σ0になるように設定している。
図15(A)は、ソート検出を適用した時のエラー数を比較した結果を示す。
今回のシミュレータでは、符号間干渉や振幅変動などは発生させていないので、「シンボル内で縦または横に“1”が連続しない」という本発明適用前のスパース符号でなされた工夫は効果がなく、ソート検出によるエラー数では、「適用前」と「0−255」の2つの方法でほぼ一致する。
今回のシミュレータでは、符号間干渉や振幅変動などは発生させていないので、「シンボル内で縦または横に“1”が連続しない」という本発明適用前のスパース符号でなされた工夫は効果がなく、ソート検出によるエラー数では、「適用前」と「0−255」の2つの方法でほぼ一致する。
図15(B)は、2つの変調符号のエラー検出能力を比較したものである。
どちらも560通りから256通りを選んだことに変わりはないが、識別結果がエラーであった場合に、これを検出できる可能性は、「0−255」の方法により選んだ符号よりも「適用前」の方法により選んだ符号の方が約1.5倍高くなっていることがわかる。
どちらも560通りから256通りを選んだことに変わりはないが、識別結果がエラーであった場合に、これを検出できる可能性は、「0−255」の方法により選んだ符号よりも「適用前」の方法により選んだ符号の方が約1.5倍高くなっていることがわかる。
図16(A)は、この2種類のスパース符号にリトライ検出を適用した場合である。
どちらもソート検出と比較するとエラー数が減少しているが、「適用前」の方法により生成したスパース符号の方が、「0−255」の方法により生成したスパース符号よりエラーが少なくなっている。ソート検出と比較したときのリトライ検出によるエラー低減能力を示すのが、図16(B)である。これを見ると、「適用前」の方法によるエラー低減能力が、より高いことは明らかである。
どちらもソート検出と比較するとエラー数が減少しているが、「適用前」の方法により生成したスパース符号の方が、「0−255」の方法により生成したスパース符号よりエラーが少なくなっている。ソート検出と比較したときのリトライ検出によるエラー低減能力を示すのが、図16(B)である。これを見ると、「適用前」の方法によるエラー低減能力が、より高いことは明らかである。
ここで「0−255」のスパース符号に、非特許文献3で説明されているソート検出のアルゴリズムを適用すれば、図4〜図10に示すスパース符号よりもエラー数が少なくなるのではないか」という疑問が生じるかもしれないが、それは危惧にすぎない。
なぜなら、非特許文献3で説明されているアルゴリズムを適用して得られる結果は相関検出を適用した結果に等しく、リトライ検出と相関検出は(非常に長い計算時間が掛かるので相関検出は試していないが)ほとんど同じ識別性能を持つからである。したがって、非特許文献3で説明されているソート検出のアルゴリズムを適用しても、図16(A)とほとんど同じ結果になり、図4〜図10に示すスパース符号と「0−255」のスパース符号でシミュレーション結果の優劣が逆転することはありえない。
なぜなら、非特許文献3で説明されているアルゴリズムを適用して得られる結果は相関検出を適用した結果に等しく、リトライ検出と相関検出は(非常に長い計算時間が掛かるので相関検出は試していないが)ほとんど同じ識別性能を持つからである。したがって、非特許文献3で説明されているソート検出のアルゴリズムを適用しても、図16(A)とほとんど同じ結果になり、図4〜図10に示すスパース符号と「0−255」のスパース符号でシミュレーション結果の優劣が逆転することはありえない。
以上より、リトライ検出を適用することを考えると、エラーが検出しやすいスパース符号が望ましいことがわかる。しかしながら、このような観点から最適化されたスパース符号は、これまで存在しなかった。
本実施形態で次に説明する記録変調符号は、エラーが検出しやすいように最適化されたスパース符号に適したものであり、特にホログラム記録を応用したデータ・ストレージ装置の記録密度や容量を向上させることを可能にするものである。
本実施形態で次に説明する記録変調符号は、エラーが検出しやすいように最適化されたスパース符号に適したものであり、特にホログラム記録を応用したデータ・ストレージ装置の記録密度や容量を向上させることを可能にするものである。
<ハミング距離>
本実施形態の記録変調符号は、ハミング距離の考え方を用いている。
「ハミング距離」とは、2つの符号語の“1”と“0”の異なる数のことである。ハミング距離を“d”とすると、[011]と[010]ならハミング距離d=1、[000]と[111]ならハミング距離d=3になる。また、最小ハミング距離“dmin”とは、符号語間のハミング距離を符号全体で調べた時の最小値である。
本実施形態の記録変調符号は、ハミング距離の考え方を用いている。
「ハミング距離」とは、2つの符号語の“1”と“0”の異なる数のことである。ハミング距離を“d”とすると、[011]と[010]ならハミング距離d=1、[000]と[111]ならハミング距離d=3になる。また、最小ハミング距離“dmin”とは、符号語間のハミング距離を符号全体で調べた時の最小値である。
図17(A1)〜(A3)は、誤り検出と誤り訂正の説明図である。
2つの符号間の組み合わせ“dmin=2”の符号では、1ビットの誤りが検出できる(A1)。“dmin=3”の符号では、1ビットの誤りが訂正できる(A2)。ただし、 “dmin=3”の符号で2ビット誤ると検出も訂正もできず、誤訂正してしまう(A3)。
図17(B)に、これを一般的な図にして示す。
最小ハミング距離が“dmin”の符号でdmin≧2b+cであれば、bビットの誤り訂正と(b+c)ビットの誤り検出が可能である。
2つの符号間の組み合わせ“dmin=2”の符号では、1ビットの誤りが検出できる(A1)。“dmin=3”の符号では、1ビットの誤りが訂正できる(A2)。ただし、 “dmin=3”の符号で2ビット誤ると検出も訂正もできず、誤訂正してしまう(A3)。
図17(B)に、これを一般的な図にして示す。
最小ハミング距離が“dmin”の符号でdmin≧2b+cであれば、bビットの誤り訂正と(b+c)ビットの誤り検出が可能である。
<スパース符号とハミング距離>
E(16,3,8)符号では、次の[数6]と[数7]のハミング距離dは2である。また、[数8]と[数9]のハミング距離dは6である。
E(16,3,8)符号では、次の[数6]と[数7]のハミング距離dは2である。また、[数8]と[数9]のハミング距離dは6である。
[数6]
0100
1001
0000
0000
[数7]
0100
1000
0100
0000
[数8]
0100
1001
0000
0000
[数9]
0010
0000
0000
1001
0100
1001
0000
0000
[数7]
0100
1000
0100
0000
[数8]
0100
1001
0000
0000
[数9]
0010
0000
0000
1001
E(16,3,8)符号では、ハミング距離d=2,4,6になる組み合わせしか存在しない。
一方、ソート検出では、振幅の大きい3つを“1”にすることから、“1”の数が2または4に増減するビット誤りは存在せず、“1”の位置がひとつだけずれた2ビット誤りが発生する可能性が最も高いと考えられる。
ここで、次に示す[数10]のように記録した符号を、[数11]と検出した場合、これが符号語に含まれるものと同じであれば「エラー」であるか「符号語」であるかの区別がつかず、エラー検出ができない。ただし、検出した符号が符号語でなければエラーが検出できるので、リトライして正しく検出できる可能性がでてくる。
つまり、ハミング距離d=2となる組み合わせの数を減らすと、検出可能なエラーの数が増えて、リトライによってエラーを少なくできる割合も増えると考えられる。
つまり、ハミング距離d=2となる組み合わせの数を減らすと、検出可能なエラーの数が増えて、リトライによってエラーを少なくできる割合も増えると考えられる。
[数10]
0100
1001
0000
0000
[数11]
0100
1000
0100
0000
0100
1001
0000
0000
[数11]
0100
1000
0100
0000
この考え方が正しいかどうか確認するために、前述の2つのスパース符号のハミング距離の分布を調べてみると次の[表1]のような結果が得られた。
予想通り、「0−255」のスパース符号よりも図4〜図10のスパース符号の方が、ハミング距離d=2となる組み合わせの数が少なくなっており、これがエラー検出能力の差となっていることがわかる。
<本発明の記録変調符号>
図11の符号変換部26が、本発明の記録変調符号の符号化方法を実行する手段(符号化装置)の一例に該当する。
本発明の符号化方法のうち、基本的な方法は、「ひとつの符号語を構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”であるような記録変調符号において、n個のうちm個を選ぶ組み合わせの数をM=nCm、ユーザー・ビット数であるkビットをマッピングするのに必要な符号語の数をK=2^kとしたときに、K<Mが成立するようにn,m,kが選ばれ、かつ、K個の符号語から2個を選んだときにKC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択したことを特徴とする記録変調符号である。
ここで前半部分の要件、すなわち「K<Mが成立するようにn,m,kを選ぶ」ことは、ユーザー・ビット数の選択範囲の制限であり、この要件を満足しないとそもそも使用可能な記録変調符号とならない。
また、後半部分の要件、すなわち「K個の符号語から2個を選んだときにKC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択する」ことは、前述した<スパース符号とハミング距離>の項目で述べた内容から明らかである。つまり、最も多いエラーはハミング距離d=2であることから、そのエラーが起きた場合に、これがエラーであるのか符号語であるのかが区別できない可能性が高い。このため、ハミング距離d=2(最小)となるように符号語を選択することができれば、リトライ検出によるエラー低減効果を向上させることができるというのが、本発明の基本的な考え方である。
次の問題は、ハミング距離d=2となる組み合わせの数が少ないスパース符号をどうやって探し出すかである。
図11の符号変換部26が、本発明の記録変調符号の符号化方法を実行する手段(符号化装置)の一例に該当する。
本発明の符号化方法のうち、基本的な方法は、「ひとつの符号語を構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”であるような記録変調符号において、n個のうちm個を選ぶ組み合わせの数をM=nCm、ユーザー・ビット数であるkビットをマッピングするのに必要な符号語の数をK=2^kとしたときに、K<Mが成立するようにn,m,kが選ばれ、かつ、K個の符号語から2個を選んだときにKC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択したことを特徴とする記録変調符号である。
ここで前半部分の要件、すなわち「K<Mが成立するようにn,m,kを選ぶ」ことは、ユーザー・ビット数の選択範囲の制限であり、この要件を満足しないとそもそも使用可能な記録変調符号とならない。
また、後半部分の要件、すなわち「K個の符号語から2個を選んだときにKC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択する」ことは、前述した<スパース符号とハミング距離>の項目で述べた内容から明らかである。つまり、最も多いエラーはハミング距離d=2であることから、そのエラーが起きた場合に、これがエラーであるのか符号語であるのかが区別できない可能性が高い。このため、ハミング距離d=2(最小)となるように符号語を選択することができれば、リトライ検出によるエラー低減効果を向上させることができるというのが、本発明の基本的な考え方である。
次の問題は、ハミング距離d=2となる組み合わせの数が少ないスパース符号をどうやって探し出すかである。
<スパース符号の構成方法>
以下、説明を簡単にするために、n=16,m=3,K=8となるE(16,3,8)のスパース符号の構成方法を例にとって説明するが、本発明は任意の実現可能なE(n,m,k)のスパース符号に対して適用可能である。
第1の方法は、16ビットのうち3ビットが“1”になる560個から256個を選ぶすべての符号語の組み合わせについて、ハミング距離が2となる組み合わせの数が最小になるK=2^k個の符号を選ぶという方法である(第1の方法)。
この場合、ハミング距離が2となる組み合わせの数が最小になる組み合わせが、2つ以上存在する可能性がある。このとき、「値の小さいものを優先して選択するという考え方」(第2の方法)と、「値の大きいものを優先して選択するという考え方」(第3の方法)のどちらを採用してもよい。
以下、説明を簡単にするために、n=16,m=3,K=8となるE(16,3,8)のスパース符号の構成方法を例にとって説明するが、本発明は任意の実現可能なE(n,m,k)のスパース符号に対して適用可能である。
第1の方法は、16ビットのうち3ビットが“1”になる560個から256個を選ぶすべての符号語の組み合わせについて、ハミング距離が2となる組み合わせの数が最小になるK=2^k個の符号を選ぶという方法である(第1の方法)。
この場合、ハミング距離が2となる組み合わせの数が最小になる組み合わせが、2つ以上存在する可能性がある。このとき、「値の小さいものを優先して選択するという考え方」(第2の方法)と、「値の大きいものを優先して選択するという考え方」(第3の方法)のどちらを採用してもよい。
ところが、560個から256個を選ぶ組み合わせの数を計算してみると、なんと1.6276e+166通りもある。1秒間に1000通りの組み合わせについて調べることが可能であるとしても、1年で、1000*60*60*24*365=3.1536e+10通りしか調べることはできず、5.1611e+155年という天文学的な時間が掛かってしまう。したがって、上記第1〜第3の方法は、E(16,3,8)のスパース符号の探索に適用するには、現実的でない。
そこで、第4の方法として、逐次的に入れ替えて改善していく方法が採用可能である。この方法をE(16,3,8)用に書き直してみると、以下のようになる。
第1ステップ:所定の基準で選択された初期の256個の符号語の組み合わせからスタートする(第1ステップ)。
第2ステップ:現在選択されている256個の符号語の中から、他の符号語とのハミング距離が最小になる組み合わせの数がもっとも多い符号語を探し出してこれを“old”とする(第2ステップ)。
第3ステップ:現在選択されている256個の符号語から“old”を取り除いた255個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語を、現在選択されていない304個の符号語の中から探し出してこれを“new”とする。
第4ステップ:現在選択されている256個の符号語から“old”を取り除き“new”を加えたものを、新たな符号語の組合せとする。
第5ステップ:上記第1〜第4ステップの処理を繰り返し、予め定められた条件を満たした場合に、最終的な記録変調符号とする。
この中に含まれる不確定要素を求めるのに前記第2〜第3の方法を採ることができる。
第1ステップ:所定の基準で選択された初期の256個の符号語の組み合わせからスタートする(第1ステップ)。
第2ステップ:現在選択されている256個の符号語の中から、他の符号語とのハミング距離が最小になる組み合わせの数がもっとも多い符号語を探し出してこれを“old”とする(第2ステップ)。
第3ステップ:現在選択されている256個の符号語から“old”を取り除いた255個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語を、現在選択されていない304個の符号語の中から探し出してこれを“new”とする。
第4ステップ:現在選択されている256個の符号語から“old”を取り除き“new”を加えたものを、新たな符号語の組合せとする。
第5ステップ:上記第1〜第4ステップの処理を繰り返し、予め定められた条件を満たした場合に、最終的な記録変調符号とする。
この中に含まれる不確定要素を求めるのに前記第2〜第3の方法を採ることができる。
まず、上記第1ステップにおける初期の256個の符号語を選択する方法について、いくつかの方法が考えられる。
560個の符号語を16ビットの2進数とみなして大きさの順番に#0〜#559という番号を付けたときに、小さいものから順番に#0〜#255を初期の符号語として選ぶ(第5の方法)。あるいは逆に、大きいものから順番に#559〜#304を初期の符号語として選ぶことが可能である(第6の方法)。ここで、前者の小さいものから選ぶときの初期符号は、図15と図16で「0−255」としたスパース符号である。
560個の符号語を16ビットの2進数とみなして大きさの順番に#0〜#559という番号を付けたときに、小さいものから順番に#0〜#255を初期の符号語として選ぶ(第5の方法)。あるいは逆に、大きいものから順番に#559〜#304を初期の符号語として選ぶことが可能である(第6の方法)。ここで、前者の小さいものから選ぶときの初期符号は、図15と図16で「0−255」としたスパース符号である。
次に、前記第2ステップの“old”の選択方法についても、いくつかの方法が考えられる。
現在選択されている符号語の中で他の符号語とのハミング距離が最小になる組み合わせの数が最も多い符号語が2つ以上あった場合に、最も番号が小さいものを選ぶ(第7の方法)。あるいは逆に、最も番号が大きいものを選ぶことが可能である(第8の方法)。
同様に、前記第3ステップの“new”の選択方法についても、いくつかの方法が考えられる。
現在選択されている符号語から“old”を取り除いた2^(k−1)個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語が、現在選択されていない符号語の中に2つ以上あった場合に、最も番号が小さいものを選び、これを“old”とする(第9の方法)。あるいは逆に、最も番号が大きいものを選ぶことが可能である(第10の方法)。
現在選択されている符号語の中で他の符号語とのハミング距離が最小になる組み合わせの数が最も多い符号語が2つ以上あった場合に、最も番号が小さいものを選ぶ(第7の方法)。あるいは逆に、最も番号が大きいものを選ぶことが可能である(第8の方法)。
同様に、前記第3ステップの“new”の選択方法についても、いくつかの方法が考えられる。
現在選択されている符号語から“old”を取り除いた2^(k−1)個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語が、現在選択されていない符号語の中に2つ以上あった場合に、最も番号が小さいものを選び、これを“old”とする(第9の方法)。あるいは逆に、最も番号が大きいものを選ぶことが可能である(第10の方法)。
終了判断を行う前記第3ステップについて、最も簡単な方法は、入れ替え処理の繰り返し回数が予め定められた数を越えた時に終了する方法である(第11の方法)。
もう少し工夫したのは、入れ替え処理の繰り返し回数を定めることなく、ハミング距離が最小になる組み合わせの数が変わらない場合に終了する方法である(第12の方法)。
場合によっては、いったん変化がなくなっても入れ替えを繰り返していくと再び変化し始めることがある。これを考慮して、入れ替え処理を行ってもハミング距離が最小になる組み合わせの数が変わらない場合に、さらに予め定められた数だけ入れ替え処理を行い、それでも変化がない場合に終了することもできる(第13の方法)。
もう少し工夫したのは、入れ替え処理の繰り返し回数を定めることなく、ハミング距離が最小になる組み合わせの数が変わらない場合に終了する方法である(第12の方法)。
場合によっては、いったん変化がなくなっても入れ替えを繰り返していくと再び変化し始めることがある。これを考慮して、入れ替え処理を行ってもハミング距離が最小になる組み合わせの数が変わらない場合に、さらに予め定められた数だけ入れ替え処理を行い、それでも変化がない場合に終了することもできる(第13の方法)。
“old”と“new”の選択順番を反対にしておくと、終了判断を簡単に行うことができる(第14,第15の方法)。
第14の方法では、初期符号の選択では値の小さいものから順番に選んだ前記第3の方法を、前記第2ステップで“old”の選択では値のもっとも小さいものを選ぶ前記第7の方法を、前記第3ステップの”new”の選択では値の最も大きいものを選ぶ前記第10の方法を使い、前記第3ステップの判定基準としては変化がなくなったらすぐに終了する前記第12の方法を使う。
第15の方法では、初期符号の選択では値の大きいものから順番に選んだ前記第6の方法を、前記第2ステップの“old”の選択では値の最も大きいものを選ぶ前記第8の方法を、前記第3ステップの“new”の選択では値の最も小さいものを選ぶ前記第9の方法を使い、前記第3ステップの判定基準としては変化がなくなったらすぐに終了する前記第12の方法を使う。
どちらの方法も、一度使われた符号語が出たり入ったりする前に終了することで、効率よく最小に近い組み合わせを見つけることができる。
第14の方法では、初期符号の選択では値の小さいものから順番に選んだ前記第3の方法を、前記第2ステップで“old”の選択では値のもっとも小さいものを選ぶ前記第7の方法を、前記第3ステップの”new”の選択では値の最も大きいものを選ぶ前記第10の方法を使い、前記第3ステップの判定基準としては変化がなくなったらすぐに終了する前記第12の方法を使う。
第15の方法では、初期符号の選択では値の大きいものから順番に選んだ前記第6の方法を、前記第2ステップの“old”の選択では値の最も大きいものを選ぶ前記第8の方法を、前記第3ステップの“new”の選択では値の最も小さいものを選ぶ前記第9の方法を使い、前記第3ステップの判定基準としては変化がなくなったらすぐに終了する前記第12の方法を使う。
どちらの方法も、一度使われた符号語が出たり入ったりする前に終了することで、効率よく最小に近い組み合わせを見つけることができる。
つぎに、前記第4の方法に前記第14の方法を適用した場合の具体的な適用例を、図18を用いて説明する。
図18は、この場合のハミング距離分布改善のフローチャートである。
ステップST1では、16ビットのうち3ビットが“1”になる560個の組み合わせから、値が小さい方から#0〜#255の256個を選択して“code”とする。残り304個を“unused”とする。
つぎに、“code”内のすべての符号語間のハミング距離dを計算し(ステップST2)、ハミング距離d=2となる組み合わせの総数を計算する(ステップST3)。
図18は、この場合のハミング距離分布改善のフローチャートである。
ステップST1では、16ビットのうち3ビットが“1”になる560個の組み合わせから、値が小さい方から#0〜#255の256個を選択して“code”とする。残り304個を“unused”とする。
つぎに、“code”内のすべての符号語間のハミング距離dを計算し(ステップST2)、ハミング距離d=2となる組み合わせの総数を計算する(ステップST3)。
ステップST4では、前回よりハミング距離d=2の符号語が減ったかを調べ、変化がなければ終了する。変化があれば、ステップST5に進む。
ステップST5では、ハミング距離d=2の数が最も多い符号語の中で、最大の符号語を“old”として削除する。
続いて、“code”から“old”を取り除いた255個と“unused”の304個との間のハミング距離を計算し(ステップST6)、ハミング距離d=2となる組み合わせの総数が最も少ない符号語の中で、最小の符号語を“new”として“code”に追加し(ステップST7)、ステップST2に戻る。
このステップST2〜ST7のループ処理を、ステップST4でハミング距離d=2の符号語が減らなくなったらすぐに終了する。
ステップST5では、ハミング距離d=2の数が最も多い符号語の中で、最大の符号語を“old”として削除する。
続いて、“code”から“old”を取り除いた255個と“unused”の304個との間のハミング距離を計算し(ステップST6)、ハミング距離d=2となる組み合わせの総数が最も少ない符号語の中で、最小の符号語を“new”として“code”に追加し(ステップST7)、ステップST2に戻る。
このステップST2〜ST7のループ処理を、ステップST4でハミング距離d=2の符号語が減らなくなったらすぐに終了する。
図19に、この方法(アルゴリズム)を用いたハミング距離分布の改善結果を示す。図19(A)は、ハミング距離と、符号語の組み合わせ数の関係を示すグラフであり、同図(B)は元データである。
図において「0−255」と表記したものは、前述したように16ビットのうち3ビットが“1”となる560通りの組み合わせから、番号(値)が小さい256個を選んだ符号の場合である。また、「適用前」と表記したものは、縦横の“1”の連続を2個以内に制限できる276通りの組み合わせから、番号が小さい256個を選んだ符号の場合である(図4〜図10参照)。
ハミング距離d=2となる符号語の組み合わせの数は「0−255」の方法による符号の“3583”から、本発明を適用した符号では“2088”まで減少している。この数は「適用前」のスパース符号の“2764”と比べてもかなり少なくなっており、本発明のアルゴリズムが正しく機能していることが確認された。
図において「0−255」と表記したものは、前述したように16ビットのうち3ビットが“1”となる560通りの組み合わせから、番号(値)が小さい256個を選んだ符号の場合である。また、「適用前」と表記したものは、縦横の“1”の連続を2個以内に制限できる276通りの組み合わせから、番号が小さい256個を選んだ符号の場合である(図4〜図10参照)。
ハミング距離d=2となる符号語の組み合わせの数は「0−255」の方法による符号の“3583”から、本発明を適用した符号では“2088”まで減少している。この数は「適用前」のスパース符号の“2764”と比べてもかなり少なくなっており、本発明のアルゴリズムが正しく機能していることが確認された。
図20〜図26に、本発明のアルゴリズムを用いて生成したE(16,3,8)スパース符号のテーブルを示す。また、図27(A)〜(D)に、組み合わせ例を示す。
この符号では縦横は最大6個連続で、斜めの連続にはなんの制限も掛かっていない。このため、図27(A)および(B)に示すように、縦または横に“1”が6個連続して並ぶ可能性がある。また、図27(C)に示すように、#002と#069が図示のように組み合わされると、“1”が斜めに連続してずっと並ぶ可能性がある。同様に、図27(D)に示すように、#183と、右上隅に“1”があるもの(たとえば#246等)との組み合わせによって、“1”が斜めに連続してずっと並ぶ可能性がある。
この符号では縦横は最大6個連続で、斜めの連続にはなんの制限も掛かっていない。このため、図27(A)および(B)に示すように、縦または横に“1”が6個連続して並ぶ可能性がある。また、図27(C)に示すように、#002と#069が図示のように組み合わされると、“1”が斜めに連続してずっと並ぶ可能性がある。同様に、図27(D)に示すように、#183と、右上隅に“1”があるもの(たとえば#246等)との組み合わせによって、“1”が斜めに連続してずっと並ぶ可能性がある。
図28に、本発明の「適用前」と適用後(「本発明」)とで、記録ページ・ビットマップの比較を示す。
図28(A)に示す「適用前」のスパース符号では、斜めに6個連続するものはあるが、縦横の連続は2個以内に制限されていることから、“1”がうまくばら撒かれた感じになっている。これに対して、図28(B)に示す本発明のスパース符号では、縦横は最大6個連続、斜めは無制限であることから(図27参照)、横に5個連続するものが散見され、“1”の塊が散在したような感じになっている。
図28(A)に示す「適用前」のスパース符号では、斜めに6個連続するものはあるが、縦横の連続は2個以内に制限されていることから、“1”がうまくばら撒かれた感じになっている。これに対して、図28(B)に示す本発明のスパース符号では、縦横は最大6個連続、斜めは無制限であることから(図27参照)、横に5個連続するものが散見され、“1”の塊が散在したような感じになっている。
図29と図30に、図15と図16に、さらに本発明の結果を追加して示す。シミュレーションの条件は図15,図16の場合と全く同じである。
図29(A)は、ソート検出を適用した時のエラー数を比較したものである。図15(A)と同様に、3つのスパース符号のソート検出によるエラー数はほぼ一致する。
図29(B)は、3つの変調符号のエラー検出能力を比較したものである。ハミング距離が2となる組み合わせの数を最小にした本発明のスパース符号では、期待通りに最もエラー検出能力が大きくなっており、「0〜255」の方法により選んだ符号の約2倍、「適用前」のスパース符号の約1.3倍になっている。
図29(A)は、ソート検出を適用した時のエラー数を比較したものである。図15(A)と同様に、3つのスパース符号のソート検出によるエラー数はほぼ一致する。
図29(B)は、3つの変調符号のエラー検出能力を比較したものである。ハミング距離が2となる組み合わせの数を最小にした本発明のスパース符号では、期待通りに最もエラー検出能力が大きくなっており、「0〜255」の方法により選んだ符号の約2倍、「適用前」のスパース符号の約1.3倍になっている。
図30(A)は、この3種類のスパース符号にリトライ検出を適用した場合である。いずれもソート検出と比較するとエラー数が減少しているが、本発明のスパース符号のエラー数がもっとも少なくなっている。
図30(B)に、ソート検出と比較したときのリトライ検出によるエラー低減能力を示す。これを見ると、「適用前」のスパース符号と比較しても、エラー低減能力が向上していることが明らかである。
図30(B)に、ソート検出と比較したときのリトライ検出によるエラー低減能力を示す。これを見ると、「適用前」のスパース符号と比較しても、エラー低減能力が向上していることが明らかである。
以上より、本発明のスパース符号はエラーが検出しやすいように最適化されたスパース符号となっており、リトライ検出を用いることで従来例よりもエラー数を少なくすることができることが示された。
なお、本発明では検出方法としてリトライ検出を例にして説明したが、相関検出を用いた場合にも同等なエラー低減効果が期待できる。
また、「適用前」としたスパース符号では縦と横の連続数を2以下に制限するということを主眼に設計されたものであったので、実際のホログラム記録を行った場合には本発明の効果は少なくなるのではないかという危惧もある。しかしながら、最近のホログラム記録では「位相マスク方式」と呼ばれる方法が使われ始めており、周波数領域となるホログラム・メディア上での光の集中を避けることができるので、縦と横の連続数を制限する必要はないと考えられている。
したがって、本発明のスパース符号を使った場合のエラー低減効果は、今回の簡単なシミュレーション結果に準じたものになることが期待できる。
なお、本発明では検出方法としてリトライ検出を例にして説明したが、相関検出を用いた場合にも同等なエラー低減効果が期待できる。
また、「適用前」としたスパース符号では縦と横の連続数を2以下に制限するということを主眼に設計されたものであったので、実際のホログラム記録を行った場合には本発明の効果は少なくなるのではないかという危惧もある。しかしながら、最近のホログラム記録では「位相マスク方式」と呼ばれる方法が使われ始めており、周波数領域となるホログラム・メディア上での光の集中を避けることができるので、縦と横の連続数を制限する必要はないと考えられている。
したがって、本発明のスパース符号を使った場合のエラー低減効果は、今回の簡単なシミュレーション結果に準じたものになることが期待できる。
1…記録ページ、11…サブ・ページ、12…ページ・シンク、13…シンボル、14…シンク、21…記録データ生成ブロック、22…読み出し信号検出ブロック、23…特性評価ブロック、24…ホログラム記録読出装置、31…シンク検出部(シンク検出ステップST8)、33…シンボル検出部(シンボル検出ステップST10)、37…テーブル
Claims (18)
- ひとつの符号語を構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”である記録変調符号の符号化方法であって、
前記記録変調符号において、n個のうちm個を選ぶ組み合わせの数をM=nCm、ユーザー・ビット数であるkビットをマッピングするのに必要な符号語の数をK=2^kとしたときに、K<Mが成立するようにn,m,kが選ばれ、かつ、K個の符号語から2個を選んだときに、KC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択する
記録変調符号の符号化方法。 - 前記K個の符号語の選択において、選択しうるMCK通りの組み合わせすべてについて符号語間のハミング距離が最小になる組み合わせの数を調べ、当該数が最小になるように前記K個の符号語を選択する
請求項1に記載の記録変調符号の符号化方法。 - 前記K個の符号語の選択において、前記符号語間のハミング距離が最小になる組み合わせの数が最小になる前記K個の符号語の組み合わせが2通り以上あった場合に、値の小さい符号語が多く含まれている組み合わせを選択する
請求項2に記載の記録変調符号の符号化方法。 - 前記K個の符号語の選択において、前記符号語間のハミング距離が最小になる組み合わせの数が最小になる前記K個の符号語の組み合わせが2通り以上あった場合に、値の大きい符号語が多く含まれている組み合わせを選択する
請求項2に記載の記録変調符号の符号化方法。 - 前記K個の符号語の選択において、所定の基準で初期の符号語の組み合わせを選択する第1ステップと、
現在選択されている符号語の中から、他の符号語とのハミング距離が最小になる組み合わせの数が最も多い符号語を探し出し、これを“old”とする第2ステップと、
現在選択されている符号語から前記“old”を取り除いた2^(k−1)個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語を、現在選択されていない符号語の中から探し出し、これを“new”とする第3ステップと、
現在選択されている符号語から前記“old”を取り除き前記“new”を加えたものを、新たな符号語の組合せとする第4ステップと、
前記第1〜第4ステップの処理を繰り返し、予め定められた条件を満たした場合に、最終的な記録変調符号とする第5ステップと、
を含む請求項1に記載の記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法において、初期の符号語の組み合わせが、nビットのうちmビットが“1”で(n−m)ビットが“0”であるようなM個の符号語の中から、値の小さいものから順番に2^k個を選択したものである
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法において、初期の符号語の組み合わせが、nビットのうちmビットが“1”で(n−m)ビットが“0”であるようなM個の符号語の中から、値の大きいものから順番に2^k個を選択したものである
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法の前記第2ステップにおいて、現在選択されている符号語の中で他の符号語とのハミング距離が最小になる組み合わせの数が最も多い符号語が2つ以上あった場合に、最も値が小さいものを選んでこれを“old”とする
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法の前記第2ステップにおいて、現在選択されている符号語の中で他の符号語とのハミング距離が最小になる組み合わせの数が最も多い符号語が2つ以上あった場合に、最も値が大きいものを選んでこれを“old”とする
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法の前記第3ステップにおいて、現在選択されている符号語から“old”を取り除いた2^(k−1)個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語が、現在選択されていない符号語の中に2つ以上あった場合に、最も値が小さいものを選んでこれを“new”とする
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法の前記第3ステップにおいて、現在選択されている符号語から“old”を取り除いた2^(k−1)個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語が、現在選択されていない符号語の中に2つ以上あった場合に、最も値が大きいものを選んでこれを“new”とする
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法の前記第3ステップにおいて、“old”と“new”を入れ替える処理の繰り返し回数が予め定められた数を越えた時に終了し、最終的な記録変調符号とする
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法の前記第3ステップにおいて、“old”と“new”を入れ替える処理を行ってもハミング距離が最小になる組み合わせの数が変わらない場合に、これを最終的な記録変調符号とする
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法の前記第3のステップにおいて、“old”と“new”を入れ替える処理を行ってもハミング距離が最小になる組み合わせの数が変わらない場合に、さらに予め定められた数だけ入れ替え処理を行い、それでも変化がない場合に、これを最終的な記録変調符号とする
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法において、
前記第1ステップの初期符号の組み合わせの選択で、初期の符号語の組み合わせが、nビットのうちmビットが“1”で(n−m)ビットが“0”であるようなM個の符号語の中から、値の小さいものから順番に2^k個を選択し、
前記第2ステップの“old”の選択で、現在選択されている符号語の中で他の符号語とのハミング距離が最小になる組み合わせの数が最も多い符号語が2つ以上あった場合に、最も値が小さいものを選んでこれを“old”とし、
前記第3ステップの“new”の選択で、現在選択されている符号語から“old”を取り除いた2^(k−1)個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語が、現在選択されていない符号語の中に2つ以上あった場合に、最も値が大きいものを選んでこれを“new”とし、
前記第5ステップで、“old”と“new”を入れ替える処理を行ってもハミング距離が最小になる組み合わせの数が変わらない場合に、これを最終的な記録変調符号とする
記録変調符号の符号化方法。 - 請求項5に記載されている記録変調符号の構成方法において、
前記第1ステップの初期符号の組み合わせの選択で、初期の符号語の組み合わせが、nビットのうちmビットが“1”で(n−m)ビットが“0”であるようなM個の符号語の中から、値の大きいものから順番に2^k個を選択し、
前記第2ステップの“old”の選択で、現在選択されている符号語の中で他の符号語とのハミング距離が最小になる組み合わせの数が最も多い符号語が2つ以上あった場合に、最も値が大きいものを選んでこれを“old”とし、
前記第3ステップの“new”の選択で、現在選択されている符号語から“old”を取り除いた2^(k−1)個の符号語と組み合わせたときにハミング距離が最小になる組み合わせの数が最も少ない符号語が、現在選択されていない符号語の中に2つ以上あった場合に、最も値が小さいものを選んでこれを“new”とし、
前記第5ステップで、“old”と“new”を入れ替える処理を行ってもハミング距離が最小になる組み合わせの数が変わらない場合に、これを最終的な記録変調符号とする
記録変調符号の符号化方法。 - ひとつの符号語を構成するnビットのうち、mビットが“1”で(n−m)ビットが“0”である記録変調符号の符号化装置であって、
前記記録変調符号において、n個のうちm個を選ぶ組み合わせの数をM=nCm、ユーザー・ビット数であるkビットをマッピングするのに必要な符号語の数をK=2^kとしたときに、K<Mが成立するようにn,m,kが選ばれ、かつ、K個の符号語から2個を選んだときに、KC2通りの組み合わせの符号語間のハミング距離が最小になる組み合わせの数ができるだけ少なくなるように符号語を選択する符号選択手段を含む
記録変調符号の符号化装置。 - 前記符号選択手段は、前記選択の手法によってホログラム記録に適した記録変調符号を生成する
請求項17に記載の符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006045546A JP2007226879A (ja) | 2006-02-22 | 2006-02-22 | 記録変調符号の符号化方法およびその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006045546A JP2007226879A (ja) | 2006-02-22 | 2006-02-22 | 記録変調符号の符号化方法およびその装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007226879A true JP2007226879A (ja) | 2007-09-06 |
Family
ID=38548547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006045546A Pending JP2007226879A (ja) | 2006-02-22 | 2006-02-22 | 記録変調符号の符号化方法およびその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007226879A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010186502A (ja) * | 2009-02-10 | 2010-08-26 | Sony Corp | データ変調装置とその方法 |
JP2012129795A (ja) * | 2010-12-15 | 2012-07-05 | Toshiba Corp | 変調テーブル生成方法および装置、評価方法、並びに情報記録再生装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10256921A (ja) * | 1997-03-13 | 1998-09-25 | Olympus Optical Co Ltd | ディジタルデータの変調及び復調方法並びにディジタルデータの変調及び復調装置 |
JP2001075463A (ja) * | 1999-09-01 | 2001-03-23 | Nippon Telegr & Teleph Corp <Ntt> | 2次元符号化方法 |
JP2002314433A (ja) * | 2001-04-04 | 2002-10-25 | Daewoo Electronics Co Ltd | 誤り訂正可能なチャンネルコーディング方法 |
-
2006
- 2006-02-22 JP JP2006045546A patent/JP2007226879A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10256921A (ja) * | 1997-03-13 | 1998-09-25 | Olympus Optical Co Ltd | ディジタルデータの変調及び復調方法並びにディジタルデータの変調及び復調装置 |
JP2001075463A (ja) * | 1999-09-01 | 2001-03-23 | Nippon Telegr & Teleph Corp <Ntt> | 2次元符号化方法 |
JP2002314433A (ja) * | 2001-04-04 | 2002-10-25 | Daewoo Electronics Co Ltd | 誤り訂正可能なチャンネルコーディング方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010186502A (ja) * | 2009-02-10 | 2010-08-26 | Sony Corp | データ変調装置とその方法 |
JP4748227B2 (ja) * | 2009-02-10 | 2011-08-17 | ソニー株式会社 | データ変調装置とその方法 |
US8365035B2 (en) | 2009-02-10 | 2013-01-29 | Sony Corporation | Data modulating device and method thereof |
JP2012129795A (ja) * | 2010-12-15 | 2012-07-05 | Toshiba Corp | 変調テーブル生成方法および装置、評価方法、並びに情報記録再生装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20070029756A (ko) | 인코딩 및 디코딩 장치 및 그 방법 | |
JP2004520679A (ja) | 部分的に演繹的に分かる情報の符号化及び復号 | |
US6807137B2 (en) | Encoding method and apparatus therefor, and optical-disk recording method and apparatus therefor | |
KR100837078B1 (ko) | 저밀도 패리티 체크 부호를 이용한 광정보 기록장치 | |
JP4837469B2 (ja) | 光情報検出方法、光情報検出器及びデータサンプリング方法 | |
US20020186153A1 (en) | Modulation method, modulation apparatus, demodulation method, demodulation apparatus, information recording medium, information transmission method, and information transmission apparatus | |
JP2007226879A (ja) | 記録変調符号の符号化方法およびその装置 | |
JP4661599B2 (ja) | データ識別方法およびその装置 | |
KR100274213B1 (ko) | Rll(2,25)코드를 이용한 7/13 채널코딩 및 채널디코딩방법 | |
Gu et al. | A two-dimensional constant-weight sparse modulation code for volume holographic data storage | |
US10504542B2 (en) | Increasing storage areal density using predictive data locations | |
JP2007184067A (ja) | データ識別方法およびその装置 | |
US20090195421A1 (en) | Method and apparatus for controlling digital sum value and recording medium for executing the method | |
JP4027774B2 (ja) | 情報記録装置及び情報再生装置 | |
JP7189742B2 (ja) | 復号装置、ホログラム再生装置、及び復号方法 | |
KR100945183B1 (ko) | 정보어의 신호로의 변환 시스템 | |
JPWO2008093423A1 (ja) | データ信号処理装置及び方法 | |
JP4061844B2 (ja) | 変調方法、変調装置、復調方法、復調装置、情報記録媒体、情報伝送方法および情報伝送装置 | |
JP4383246B2 (ja) | 情報記録方法及び情報記録装置 | |
JP2007200441A (ja) | 符号化装置、復号装置、信号処理装置、および記憶システム | |
JP2005267674A (ja) | 情報記録方法と情報記録装置 | |
Huang et al. | VQ Coding in Data Hiding Using Correlated Neighboring Blocks in Security Performance | |
JP2012129795A (ja) | 変調テーブル生成方法および装置、評価方法、並びに情報記録再生装置 | |
WO2008038985A1 (en) | Apparatus and method of recording optical information and method of data encoding thereof and method of reproducing optical information | |
KR100825636B1 (ko) | 저밀도 패리티 체크 부호를 이용한 홀로그래픽 데이터처리를 위한 데이터 페이지 및 데이터 처리방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20090212 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A131 | Notification of reasons for refusal |
Effective date: 20100601 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101005 |