(57)【要約】【課題】  データ記憶において、コンテンツデータとこのコンテンツデータが記憶されたアドレスとを関連づける。【解決手段】  メモリシステム１は、入力部１０を通じて入力された第１のデータ列をカオス力学系関数に基づく関数演算によって第１の実数値に畳み込む畳み込み演算部２２と、上記第１の実数値を記憶部３０のデータ格納位置に対応づけ、上記第１のデータ列に関連づけられた関連づけデータを上記データ格納位置に格納する制御部２０を備える。【選択図】  図１
2006313524.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶部と、
外部から入力された第１のデータ列をカオス力学系関数に基づく関数演算によって第１の実数値に畳み込む第１の畳み込み演算部と、
上記第１の実数値を上記記憶部のデータ格納位置に対応づけ、上記第１のデータ列に関連づけられた関連づけデータを上記データ格納位置に格納する格納制御部とを備えることを特徴とするデータ記憶装置。
【請求項２】
上記カオス力学系関数は単峰関数であることを特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
上記第１の実数値は０より大きく１未満の範囲内であることを特徴とする請求項１または２に記載のデータ記憶装置。
【請求項４】
上記第１のデータは複数ビットで構成されることを特徴とする請求項１ないし３のいずれか１項に記載のデータ記憶装置。
【請求項５】
上記記憶部に上記第１のデータ列が格納されることを特徴とする請求項１ないし４のいずれか１項に記載のデータ記憶装置。
【請求項６】
上記記憶部は半導体メモリからなっており、
上記制御部は、上記第１の実数値を上記半導体メモリのメモリアドレスに対応づけることを特徴とする請求項１ないし５のいずれか１項のデータ記憶装置。
【請求項７】
請求項１ないし６のいずれか１項のデータ記憶装置を用いるデータ検索装置であって、
外部から入力された第２のデータ列を上記カオス力学系関数に基づく関数演算によって第２の実数値に畳み込む第２の畳み込み演算部と、
上記第２の実数値を上記記憶部のデータ格納位置に対応づけ、該データ格納位置に格納されたデータに基づいて、上記第２のデータ列に対応するデータを特定する検索制御部とを備えることを特徴とするデータ検索装置。
【請求項８】
上記第１のデータ列および第２のデータ列は、画像データであることを特徴とする請求項７に記載のデータ検索装置。
【請求項９】
上記第１のデータ列および第２のデータ列は、画像データの少なくとも一部の画像領域から抽出された特徴を示す特徴量を含むことを特徴とする請求項７に記載のデータ検索装置。
【請求項１０】
上記第１のデータ列および／または第２のデータ列は、上記特徴量を複数含むとともに、
上記第１の畳み込み演算部および／または第２の畳み込み演算部は、上記カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量が、より後の演算対象となるように、上記第１のデータ列および／または第２のデータ列を実数値に畳み込むことを特徴とする請求項９に記載のデータ検索装置。
【請求項１１】
上記第１のデータ列および／または第２のデータ列は、上記特徴量として、画像データの少なくとも一部の符号化処理によって得られた複数次数の周波数成分を含むとともに、
上記第１の畳み込み演算部および／または第２の畳み込み演算部は、上記カオス力学系関数に基づく関数演算において、より低い周波数成分が、より後の演算対象となるように、上記第１のデータ列および／または第２のデータ列を実数値に畳み込むことを特徴とする請求項９または１０に記載のデータ検索装置。
【請求項１２】
上記第１のデータ列と第２のデータ列との少なくとも一方は、同じ配列が繰り返されていることを特徴とする請求項７ないし１１のいずれか１項に記載のデータ検索装置。
【請求項１３】
キーワードの入力を受け付けるキーワード入力部と、
画像内容を示す文字列情報と関連づけられた辞書画像データを複数格納する辞書画像データ格納部と、
上記辞書画像データ格納部に格納された複数の辞書画像データの中から、上記キーワード入力部にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データを特定する辞書画像特定部とを備え、
上記第２の畳み込み演算部は、上記辞書画像特定部にて特定された一の辞書画像データを、上記第２のデータ列として第２の実数値に畳み込むとともに、
上記検索制御部は、上記第２の実数値を上記記憶部のデータ格納位置に対応づけ、該データ格納位置に格納されたデータに基づいて、上記キーワードに対応する画像データを特定することを特徴とする請求項７ないし１２のいずれか１項に記載のデータ検索装置。
【請求項１４】
請求項１ないし６のいずれか１項のデータ記憶装置を用いるデータ再生装置であって、
上記第１の実数値に、上記カオス力学系関数の逆関数に基づく逆関数演算を施すことによって、上記第１のデータ列を再生するデータ再生部を備えることを特徴とするデータ再生装置。
【請求項１５】
コンピュータを、
請求項７ないし１２のいずれか１項に記載のデータ検索装置における、
上記第１の畳み込み演算部、上記格納制御部、上記第２の畳み込み演算部、および上記検索制御部として機能させることを特徴とするデータ検索プログラム。
【請求項１６】
外部から入力された第１のデータ列をカオス力学系関数に基づく関数演算によって第１の実数値に畳み込む第１の畳み込み演算部と、
上記第１の実数値を記憶部のデータ格納位置に対応づけ、上記第１のデータ列に関連づけられた関連づけデータを上記データ格納位置に格納する格納制御部とを備えることを特徴とするデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ、音声データ、音楽データ等のコンテンツデータまたはそのリンク情報等を記録するデータ記憶装置、このデータ記憶装置を用いるデータ検索装置およびデータ再生装置、データ検索プログラムに関するものである。
【背景技術】
【０００２】
従来、半導体メモリや各種の記録媒体から構成されるとともに、データを記憶するデータ記憶装置ないしデータベースが利用されている。
【０００３】
特にデータ記憶装置として半導体メモリを用いるものが広く知られている。このような半導体メモリは、通常、固有のメモリアドレスによって指定される記憶単位としてのメモリセル、このメモリセルの集合からなる広大な記憶領域としてのメモリ空間を有している。
【０００４】
上記のメモリセルないしメモリ空間について、半導体メモリの一種であるＤＲＡＭ（Dynamic Random Access Memory）を例に挙げて説明する。ＤＲＡＭは、その内部に規格に応じた所定のビット数に応じた数のコンデンサを内蔵している。そして、ＤＲＡＭは、各コンデンサに電荷を蓄えることによって、各コンデンサに１ビットのデータを記憶し、各コンデンサに蓄積した電荷が時間と共に減衰しないように、定期的な増幅を行うことによってその記憶内容を保持している。このようなＤＲＡＭでは、上記の各コンデンサが記憶単位としてのメモリセルに相当するものであって、これら各メモリセルおよびそのメモリ空間上の位置は固有の番号（メモリアドレス）によって指定される。
【０００５】
このようなメモリに記憶されたデータを利用して、入力された画像データや音声データをパターン認識処理する場合、認識すべき画像データや音声データを、既にメモリに記憶されている複数の画像データや音声データ（既知パターンデータ）とを対比することによって、認識対象データがいずれの既知パターンデータと一致ないし近似するかを判定することになる。
【０００６】
例えば、二次元画像の画像データをパターン認識処理する場合、通常、次の手順が採用される。まず、認識対象となる二次元画像の画像データから、その二次元画像に含まれるパターンを特徴づける特徴量、すなわち、画像の色や形状をあらわす情報や画像に含まれる線分の長さ、傾き、太さなどをあらわす情報を好ましくは複数抽出する。同様に、既知パターンデータとしてメモリに記憶されている各画像データについても上記の特徴量を抽出する。そして、認識対象データと既知パターンデータとの間で、各特徴量ないしこれらの組み合わせを対比することによって、複数の既知パターンデータの中から認識対象データと最も特徴量の近い既知パターンデータを特定し、特定された既知パターンデータが認識対象データの認識結果とされる。
【特許文献１】特開平５−１４４２７６（１９９３年６月１１日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、このような従来のメモリ構成では、その記憶データを用いてパターン認識処理を行う場合、高効率化、高速化に限界が生じることになる。
【０００８】
なぜなら、前述のような従来のメモリにデータ列を記憶する場合、このデータ列の内容は順次メモリセルに格納されていくことになるので、一般に、各メモリセルの記憶内容は、そのメモリアドレスとは無関係である。すなわち、画像データや音声データなどのデータ列を半導体メモリに格納する場合、メモリアドレスと各メモリセルの記憶内容との間には相関関係が存在しない。
【０００９】
したがって、従来のメモリを用いてパターン認識処理を行う場合、メモリに記憶された既知パターンデータの内容を知るために、メモリの記憶内容を読み出し開始位置から順次読み出すことによって、全ての既知パターンデータを読み出すことが必要となる。それゆえ、読み出すべきデータ量およびメモリ空間は膨大なものとなるので、前述のような特徴量群の抽出やその対比、最適類似度を有するデータの特定などの各処理と相まって、コンピュータの処理負担が重く、パターン認識処理に長時間を要する原因となっている。特にパターン認識の対象が画像データのように大きな情報量を有する場合、メモリから読み出すべきデータ量およびメモリ空間は膨大となるので、この問題は一層深刻なものとなる。
【００１０】
また、このようなパターン認識処理の認識精度を向上させるためには、メモリに記憶しておくパターンデータの数を増やしたり、認識対象データおよびパターンデータから抽出する特徴量のデータを増やしたりすることが有益であるが、このようなデータの増加は、パターン認識処理の処理時間の増大に拍車をかけることになる。
【００１１】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、画像データ、音声データ、音楽データ等のコンテンツデータまたはそのリンク情報等を記録するデータ記憶装置、このデータ記憶装置を用いるデータ検索装置およびデータ再生装置、データ検索プログラムを実現することにある。
【課題を解決するための手段】
【００１２】
本発明に係るデータ記憶装置は、上記課題を解決するために、データを記憶する記憶部と、外部から入力された第１のデータ列をカオス力学系関数に基づく関数演算によって第１の実数値に畳み込む第１の畳み込み演算部と、上記第１の実数値を上記記憶部のデータ格納位置に対応づけ、上記第１のデータ列に関連づけられた関連づけデータを上記データ格納位置に格納する格納制御部とを備えることを特徴としている。
【００１３】
また、本発明に係るデータ記憶装置は、上記課題を解決するために、外部から入力された第１のデータ列をカオス力学系関数に基づく関数演算によって第１の実数値に畳み込む第１の畳み込み演算部と、上記第１の実数値を記憶部のデータ格納位置に対応づけ、上記第１のデータ列に関連づけられた関連づけデータを上記データ格納位置に格納する格納制御部とを備えることを特徴としている。
【００１４】
上記の構成において、第１のデータ列には、画像データ、動画データ（映像データ）、音声データ、音楽データ等、その形式やデータのあらわすコンテンツ等の種別を問わず、１ビットないし複数ビットのデジタル情報で表現される全てのデータ列が含まれる。
ここで、カオス力学系関数の種類は、特に限定されるものではなく、後述の三角山関数、ロジステック関数、二次関数等を採用することができる。１ビットデータ列の畳み込み演算のためのカオス力学系関数としては任意の単峰関数を選ぶことができる。
【００１５】
上記の構成によれば、第１の畳み込み演算部の機能によって第１のデータ列はカオス力学系関数に基づく関数演算に基づいて変換され、第１の実数値に畳み込まれる。そして、格納制御部の機能によって、上記第１の実数値は記憶部のデータ格納位置に対応づけられ
、第１のデータ列に関連づけられた関連づけデータが、第１の実数値に対応づけられた記憶部のデータ格納位置に格納される。
【００１６】
ここで、第１のデータ列に関連づけられた関連づけデータとは、第１のデータ列に関連づけられた記銘情報やリンク情報の他、上記第１のデータ列の変換データ、および第１のデータ列そのものを含むものである。
【００１７】
上記の構成によれば、第１のデータ列のデータ内容に対応した第１の実数値が算出されるとともに、この第１の実数値の値に基づいて、第１のデータ列に関連づけられた関連づけデータを格納すべき記憶部のデータ格納位置が特定される。
【００１８】
したがって、記憶部における関連づけデータの格納位置は第１のデータ列のデータ内容に応じて決められることになるので、記憶部に格納されるデータの内容とその格納位置は間接的に対応付けられたものとなる。それゆえ、無関係な記憶領域を読み出す必要がなく、所望の格納データに迅速なアクセスを行うことが可能となるので、高速かつ的確なデータ読み出しを実現することができる。
【００１９】
本発明に係るデータ記憶装置は、上記の構成において、上記第１の実数値は０より大きく１未満の範囲内であることも好ましい。
【００２０】
上記の構成によれば、上記の作用効果に加えて、第１の実数値の取り扱いないし第１の実数値と記憶部のデータ格納位置との対応づけが容易になるので、この対応付けに基づくデータ格納、およびその後のデータアクセスを高速かつ簡便なものとすることができる。
本発明に係るデータ記憶装置は、上記課題を解決するために、上記第１のデータは複数ビットで構成されることも好ましい。
【００２１】
上記の構成によれば、上記の作用効果に加えて、単数または複数のカオス力学系関数に基づく関数演算によって、複数ビットで構成される第１のデータ列に基づく第１の実数値の算出ないしこの第１の実数値の値に基づくデータ格納位置の特定を的確に行うことが可能となる。
【００２２】
本発明に係るデータ記憶装置は、上記の構成において、上記記憶部に上記第１のデータ列が格納されることも好ましい。
【００２３】
上記の構成によれば、上記の作用効果に加えて、関連づけデータとは別に、または関連づけデータの一態様として、第１のデータ列が記憶装置に記憶されるため、アクセス時の利便性を向上させることができる。
【００２４】
本発明に係るデータ記憶装置は、上記の構成において、上記記憶部は半導体メモリからなっており、上記格納制御部は、上記第１の実数値を上記半導体メモリのメモリアドレスに対応づけることも好ましい。
【００２５】
上記の構成によれば、メモリデバイスとして広く用いられている半導体メモリを利用しながら、記憶内容とそのメモリアドレスとを関連づけるデータ記憶装置を実現することができる。
【００２６】
本発明に係るデータ検索装置は、上記課題を解決するために、前記データ記憶装置を用いるデータ検索装置であって、外部から入力された第２のデータ列を上記カオス力学系関数に基づく関数演算によって第２の実数値に畳み込む第２の畳み込み演算部と、上記第２の実数値を上記記憶部のデータ格納位置に対応づけ、該データ格納位置に格納されたデータに基づいて、上記第２のデータ列に対応するデータを特定する検索制御部とを備えることを特徴としている。
【００２７】
上記の構成によれば、第２の畳み込み演算部の機能によって、外部から入力された第２のデータ列が、第１の実数値に畳み込んだときと同じカオス力学系関数に基づく関数演算によって第２の実数値に畳み込まれる。
【００２８】
そして、検索制御部の機能によって、第２の実数値が記憶部のデータ格納位置に対応づけられ、そのデータ格納位置に格納されたデータが読み出される。前述のとおり、前記データ記憶装置では、記憶部に格納されるデータの内容とその格納位置は間接的に対応付けられたものとなっているので、検索制御部の機能によって、上記データ格納位置から読み出されたデータは、第２のデータ列に対応するものとなっている。
【００２９】
したがって、メモリ内の被検索データを全て読み出すことなしに、第２のデータ列に対応するデータを直接的に特定することができるので、極めて高速かつ的確なデータ検索を実現することができる。
【００３０】
なお、検索制御部は、第２の実数値を記憶部のデータ格納位置に対応づける際に、第２の実数値そのものではなく、第２の実数値の近傍値を記憶部のデータ格納位置に対応づけてもよい。この構成によれば、第２のデータ列と同一のデータ列だけでなく、第２のデータ列と類似するデータ列も検索対象とすることができる。
【００３１】
本発明に係るデータ検索装置は、上記の構成において、上記第１のデータ列および第２のデータ列を画像データとすることも好ましい。本発明に係るデータ検索装置によれば、画像データのような大きな情報量を有するデータを検索する場合であっても、高速かつ的確なデータ検索を実現することができる。
【００３２】
本発明に係るデータ検索装置は、上記の構成において、上記第１のデータ列および第２のデータ列は、画像データの少なくとも一部の画像領域から抽出された特徴を示す特徴量を含むことも好ましい。
【００３３】
画像データから抽出される特徴量とは、画像データが示す画像の特徴ないし特性を示す各種の値をいう。例えば、特徴量を、各種の画像センサの出力値によって得ることができる。このような特徴量の具体例としては、線分抽出センサ、明度センサ、色センサ、ＨＳＶ（「色相(Hue)」「彩度(Saturation)」「明度(Value)」）センサの各出力などを挙げることができる。これらセンサは、画像データの全体に作用させることもできるし、画像データの一部に作用させることもできる。
【００３４】
上記の構成によれば、画像データをそのまま上記第１ないし第２のデータ列として用いる場合と比較して、第１ないし第２のデータ列のデータ量を小さくすることができる。それゆえ、データ検索の処理負担を小さなものとして、より高速なデータ検索を実現することが可能となる。
【００３５】
本発明に係るデータ検索装置は、上記の構成において、上記第１のデータ列および／または第２のデータ列は、上記特徴量を複数含むとともに、上記第１の畳み込み演算部および／または第２の畳み込み演算部は、上記カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量が、より後の演算対象となるように、上記第１のデータ列および／または第２のデータ列を実数値に畳み込むことが好ましい。
【００３６】
例えば、上記第１のデータ列（第２のデータ列）が、所定の画像データにおいて、画像全体の領域から抽出された特徴量、４分の１の画像領域から抽出された特徴量、１６分の１の画像領域から抽出された特徴量を含む場合を考える。この場合、第１の畳み込み演算部（第２の畳み込み演算部）は、上記カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量がより後の演算対象となるように、１６分の１の画像領域から抽出された特徴量・４分の１の画像領域から抽出された特徴量・画像全体の領域から抽出された特徴量の順番に畳み込み演算を実行する。
【００３７】
より広い画像領域の画像データから抽出された特徴量がより後の演算対象となるようにするための具体的手法としては各種のものが考えられる。一例としては、第１の畳み込み演算部（第２の畳み込み演算部）が、上記の畳み込み演算をより狭い画像領域の画像データから抽出された特徴量から順番に、階層（レイヤー）的に演算処理していく手法が考えられる。  さらに、上記第１のデータ列（第２のデータ列）において、より広い画像領域の画像データから抽出された特徴量が前に位置するように、複数の特徴量を配列しておき、これらデータ列の後ろ側から畳み込み演算を実行してもよい。
【００３８】
上記の構成によれば、上記カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量ほど後に演算処理されるので、畳み込み値により強く反映されることになる。他方、より広い画像領域の画像データから抽出した特徴量ほど、画像データ全体としての画像の特徴ないし特性をより忠実に反映しているものと考えられる。
【００３９】
これにより、上記の作用効果に加えて、画像データを実数値に畳み込むときの精度を向上させて、より的確な画像データの検索を実現することができる。
【００４０】
本発明に係るデータ検索装置は、上記の構成において、上記第１のデータ列および／または第２のデータ列は、上記特徴量として、画像データの少なくとも一部の符号化処理によって得られた複数次数の周波数成分を含むとともに、上記第１の畳み込み演算部および／または第２の畳み込み演算部は、上記カオス力学系関数に基づく関数演算において、より低い周波数成分が、より後の演算対象となるように、上記第１のデータ列および／または第２のデータ列を実数値に畳み込むことが好ましい。
【００４１】
上記の構成において、画像データの符号化処理の具体例としては、フーリエ変換やコサイン変換などのアフィン変換、各種の直交変換が挙げられる。これら変換においては、例えば、ゼロ次成分は直流分すなわち画像の平均の明るさ、一次成分は基本周波数成分、２次成分は倍周期成分、・・・というように、低次から高次の周波数成分が得られる。
【００４２】
上記の構成において、第１の畳み込み演算部（第２の畳み込み演算部）は、上記カオス力学系関数に基づく関数演算において、より低い周波数成分が、より後の演算対象となるように、実数値の畳み込む処理を実行する。
【００４３】
より低い周波数成分がより後の演算対象となるようにするための具体的手法としては、例えば、上記第１のデータ列（第２のデータ列）において、より低い周波数成分が前に位置するように、各次数の周波数成分を配列しておき、これらデータ列の後ろ側から畳み込み演算を実行する手法などが挙げられる。
【００４４】
上記の構成によれば、上記カオス力学系関数に基づく関数演算において、より低い周波数成分ほど後に演算処理されるので、畳み込み値により強く反映されることになる。一般に、人間の視覚特性上、より低次の周波数成分ほど画像の観察者により強い印象を与えることが知られている。
【００４５】
これにより、上記の作用効果に加えて、人間の視覚特性に適合する的確な画像データの検索を実現することができる。
【００４６】
本発明に係るデータ検索装置は、上記の構成において、上記第１のデータ列と第２のデータ列との少なくとも一方は、同じ配列が繰り返されていることが好ましい。
【００４７】
本発明のカオス力学系関数に基づく関数演算によれば、入力されたデータ列に対して固有の実数値を収束対応させることができる。しかしながら、上記データ列は有限の桁数を有しており、データ列の桁数が少ないほど上記収束の程度にバラツキが生じる。これは、入力されたデータ列の桁数が少ないほど、カオス力学系関数の出力が初期値の影響を強く受けるからである。
【００４８】
上記の構成によれば、同配列の繰り返しによって、上記カオス力学系関数に基づく関数演算の対象となるデータ列は、その情報を変化させることなく、その桁数を増加させることができる。したがって、上記の構成によれば、初期値にかかわらず、カオス力学系関数に基づく関数演算によって得られる実数値を安定したものとすることができる。例えば、第１のデータ列の関数演算と第２のデータ列の関数演算とに用いた初期値が異なっている場合でも、これら関数演算によって得られる実数値を安定したものとすることができる。
【００４９】
これにより、上記の作用効果に加えて、カオス力学系関数に基づく関数演算に用いる初期値にかかわらず、上記実数値に基づいてなされるデータ検索の精度を向上させることが可能となる。
【００５０】
本発明に係るデータ検索装置は、上記の構成において、キーワードの入力を受け付けるキーワード入力部と、画像内容を示す文字列情報と関連づけられた辞書画像データを複数格納する辞書画像データ格納部と、上記辞書画像データ格納部に格納された複数の辞書画像データの中から、上記キーワード入力部にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データを特定する辞書画像特定部とを備え、上記第２の畳み込み演算部は、上記辞書画像特定部にて特定された一の辞書画像データを、上記第２のデータ列として第２の実数値に畳み込むとともに、上記検索制御部は、上記第２の実数値を上記記憶部のデータ格納位置に対応づけ、該データ格納位置に格納されたデータに基づいて、上記キーワードに対応する画像データを特定することが好ましい。
【００５１】
上記の構成によれば、上記辞書画像データ格納部に格納された複数の辞書画像データの中から、キーワード入力部にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データが特定される。そして、第２の畳み込み演算部にて、特定された辞書画像データが上記第２のデータ列として第２の実数値に畳み込まれ、検索制御部にて、第２の実数値に基づいて、上記キーワードに対応する画像データが特定される。
【００５２】
ここで、辞書画像データと関連づけられる文字列情報の態様は特に限定されないが、その具体例として、辞書画像データに関連づけられたキャプション情報、ファイル名情報、辞書画像データ（例えばＪＰＥＧデータ）のヘッダ領域に含まれる文字列情報などが挙げられる。
【００５３】
上記の構成によれば、キーワードに基づいて辞書画像データを特定する第１の検索がなされた後、特定された辞書画像データに基づいて類似画像を特定する第２の検索がなされることになる。したがって、第２の検索において検索対象となる画像データに、これら画像内容を示す文字列情報が対応付けられていない場合であっても、第２の検索において上記キーワードに関連する画像データを特定することができる。
【００５４】
それゆえ、検索対象となる画像データにテキスト情報などのメタ情報が付与されていない場合であっても、テキスト情報などのメタ情報が付与されている辞書画像を準備しておくだけで、キーワードに基づく上記画像データの検索を実現することができる。
【００５５】
これにより、最終的な検索対象となる画像データの数が多い場合であっても、これら画像データにテキスト情報などのメタ情報を付与することなく、比較的少ない辞書画像データとその関連づけ情報に基づく画像検索が可能となるので、キーワードによる画像検索を高速に実現することが可能となる。
【００５６】
本発明に係るデータ検索装置は、前記データ記憶装置を用いるデータ再生装置であって、上記第１の実数値に、上記カオス力学系関数の逆関数に基づく逆関数演算を施すことによって、上記第１のデータ列を再生するデータ再生部を備えることを特徴としている。
【００５７】
上記の構成によれば、データ再生部の機能によって、第１の実数値に基づいて、カオス力学系関数の逆関数に基づく逆関数演算が行われ、この逆関数演算によって、第１のデータ列を再生することができる。すなわち、第１のデータ列の情報量を失わず、完全に第１の実数値に変換することができるというカオス力学系関数に基づく関数演算の特性を最大限に活用することによって、第１の実数値のみに基づいて、第１のデータ列を正確に再生することが可能となる。
【００５８】
本発明に係るデータ検索プログラムは、コンピュータを、前記データ検索装置における、第１の畳み込み演算部、格納制御部、第２の畳み込み演算部、および検索制御部として機能させることを特徴としている。
【００５９】
上記の構成によれば、コンピュータにデータ検索プログラムを読み取り実行させることによって、前記データ検索装置と同一の作用効果を得ることができる。
【発明の効果】
【００６０】
本発明に係るデータ記憶装置によれば、以上のように、無関係な記憶領域を読み出す必要なしに、所望の格納データにアクセスを行うことが可能となるので、高速かつ的確なデータ読み出しを実現することができる。
【００６１】
また、本発明に係るデータ検索装置によれば、以上のように、メモリ内の被検索データを全て読み出すことなしに、検索データに対応するデータを直接的に特定することができるので、高速かつ的確なデータ検索を実現することができるという作用効果を奏することができる。
【発明を実施するための最良の形態】
【００６２】
（実施の形態１）
本発明の一実施形態について図面に基づいて説明すると以下の通りである。
【００６３】
〔１．システム構成〕
図１に基づいて、本発明に係るデータ記憶装置の一実施形態を用いるメモリシステムの構成について説明する。
【００６４】
メモリシステム１は、外部から入力されたデータ列（第１のデータ列，第２のデータ列）を入力するインターフェースとなる入力部１０、メモリシステム１全体の演算ないしデータの入出力動作を司るコンピュータからなる制御部２０、および半導体メモリからなる記憶部３０から構成されている。
【００６５】
そして、制御部２０（格納制御部）は、入力部１０を通じて入力されたデータ列をカオス力学系関数（後述）に基づいて変換するための変換テーブル２１と、この変換テーブル２１に基づいて上記データ列を実数値に畳み込む演算を実行する畳み込み演算部２２（第１の畳み込み演算部，第２の畳み込み演算部）と、記憶部３０に対しデータの書き込み制御および読み出し制御を実行するためのＲ／Ｗ制御部２３とを備えている。
【００６６】
また、記憶部３０は、実数アドレスメモリ３１（後述）となる記憶領域を備えている。
【００６７】
〔２．動作の流れ〕
メモリシステム１は、入力部１０を通じて入力される画像データ、動画データ（映像データ）、音声データ、音楽データ等、その形式やデータのあらわすコンテンツ等の種別を問わず、１ビットないし複数ビットのデジタル情報で表現される全てのデータ列を取り扱って、各種演算を実行し、記憶部３０に記憶することができる。
【００６８】
本実施形態において、メモリシステム１は、図２に示すようなＭ行Ｎ列で２次元配列された１ビットデータ（０または１の情報）から構成される画像データを取り扱うものとして、その動作を説明する。図２に示すように、２次元配列からなる画像データは、その２次元配列上の座標に対応する各画素値ｐｉを、例えば（１，１）（１，２）（１，Ｎ）・・・（Ｍ，１）（Ｍ，２）・・・（Ｍ，Ｎ）の順番に、（ｐ１，ｐ２，・・・，ｐｎ）と並べることによって、１次元配列のデータ列として取り扱うことができる（ｎ＝Ｎ×Ｍ）。
【００６９】
なお、画像データや音声データをどのようなデータ列として取り扱うかについては、ＢＭＰ、ＴＩＦＦ、ＪＰＥＧ、ＭＰＥＧ等、各種のファイルフォーマットによって取り決められているので、これらファイルフォーマットに準拠した形式のデータ列として取り扱ってもよい。
【００７０】
メモリシステム１は、入力部１０を通じて入力されたデータ列をこのような１次元配列のデジタルデータの状態として制御部２０に送信する。そして、このデータ列（ｐ１，ｐ２，・・・，ｐｎ）は、畳み込み演算部２２の演算動作によって、変換テーブル２１に基づいて実数値に畳み込まれる。
【００７１】
〔２−１．畳み込み演算〕
ここで、畳み込み演算部２２による演算動作の詳細について説明する。
【００７２】
変換テーブル２１には、あらかじめカオス力学系を表現する畳み込み関数（カオス力学系関数）が登録されている。
【００７３】
この畳み込み関数の代表的なものとしては図３に示される三角山関数を挙げることができる。図３の三角山関数は、数学的にはｙ＝０．５ｘ（０≦ｙ≦０．５）およびｙ＝−０．５ｘ＋１（０．５＜ｙ≦１）として表現できる。図３に示されているとおり、この三角山関数は、所定のｘ座標に対して２つのｙ座標が対応する二価関数となっている。
【００７４】
但し、変換テーブル２１に登録しておくべき、カオス力学系関数は、上記の三角山関数に限られるものではなく、ロジステック関数、二次関数ｙ＝４ｘ（１−ｘ）など、カオス力学系に従う任意の単峰関数を用いることができる。また、変換テーブル２１に、あらかじめ複数のカオス力学系関数を登録しておき、後述の畳み込み演算時にいずれかのカオス力学系関数を選択して、演算に用いてもよい。
【００７５】
畳み込み演算部２２は、まず、乱数生成演算等によって０＜ｘ０＜１（ｘ０≠０．５）となる任意の初期値ｘ０を定める。この初期値ｘ０に対する、上記の三角山関数（図３）上のｘ座標ｘ＝ｘ０に対応するｙ座標の値として、ｙ＝０．５を挟んだ異なる二つの値ｙlarge，ｙsmallが存在している（ｙlarge＞ｙsmall）。
【００７６】
そして、畳み込み演算部２２は、入力部１０を通じて順次入力されるデータ列（ｐ１，ｐ２，・・・，Ｐｎ）の各値が、０または１のいずれとなっているかによって、上記の三角山関数のｘ座標ｘ＝ｘ０に対応する二つのｙ座標ｙlarge，ｙsmallのうち（ｙlarge＞ｙsmall）一方を選択する。
【００７７】
具体的には、畳み込み演算部２２は、まず上記データ列（第一のデータ列，第二のデータ列）の最初のデータ値ｐ１に着目し、ｐ１が０であれば上記二つのｙ値のうちｙ＝０．５より小さなｙsmallを初期値ｙ０として選択する一方、ｐ１が１であれば上記二つのｙ値のうちｙ＝０．５より大きなｙlargeを初期値ｙ０として選択する。
【００７８】
次に、畳み込み演算部２２は、選択した初期値ｙ０を新たなｘ座標ｘ＝ｘ１として、ｘ座標ｘ１に対応する二つのｙ座標ｙlarge，ｙsmall（ｙlarge＞ｙsmall）を求める。そして、上記データ列の２番目のデータ値ｐ２に着目し、ｐ２が０であれば上記二つのｙ値のうちｙ＝０．５より小さなｙsmallをｙ１として選択する一方、ｐ２が１であれば上記二つのｙ値のうちｙ＝０．５より大きなｙlargeをｙ１として選択する。
【００７９】
そして、畳み込み演算部２２は、選択したｙ１を新たなｘ座標ｘ＝ｘ２として同様にｙ２を選択し、このような逐次演算を、上記データ列（ｐ１，ｐ２，・・・，ｐｎ）の全てのデータ値に順次着目しながらｎ回繰り返すことによって畳み込み値ｘｎ（第１の実数値）を求める。
【００８０】
このようにして得られた単一の実数値からなる畳み込み値ｘｎは、上記データ列（ｐ１，ｐ２，・・・，ｐｎ）を完全に反映したものとなっており、後述するように、この畳み込み値ｘｎに基づいて、データ列（ｐ１，ｐ２，・・・，ｐｎ）を完全に再生することができる。
【００８１】
次に、制御部２０が、上記の実数値からなる畳み込み値ｘｎを記憶部３０のメモリアドレスとして取り扱うことによって、Ｒ／Ｗ制御部２３を介して、記憶部３０の実数アドレスメモリ３１にデータを記憶させる動作について説明する。
【００８２】
制御部２０は、上記のデータ列（ｐ１，ｐ２，・・・，ｐｎ）を完全に再生する単一の実数値からなる畳み込み値ｘｎを記憶部３０のメモリアドレス情報として取り扱うことによって、Ｒ／Ｗ制御部２３を介して、記憶部３０の実数アドレスメモリ３１にデータを記憶させる。  すなわち、制御部２０は、上記の実数値からなる畳み込み値ｘｎを記憶部３０のメモリアドレス（データ格納位置）に対応づけ、上記データ列（第１のデータ列）に関連づけられた関連づけデータを上記メモリアドレスに格納する。
【００８３】
まず、制御部２０が、メモリ上にアドレスセルを生成する方法について説明する。以降、実数値からなる畳み込み値ｘｎを、記憶部３０のアドレス情報として取り扱うという意味で「実数アドレスｘｎ」と称することにする。
【００８４】
図４に示されるように、記憶部３０のテーブルには、記銘（シンボル）、パターンとして記銘に関連づけたデータ列（ｐ１，ｐ２，・・・，ｐｎ）、コンテンツデータに対応する実数アドレスｘｎが格納される。なお、図４の情報を全て、テーブル形式で格納してもよいが、図５、図６を参照して後述するように、実数アドレスｘｎを格納してしまえば、必ずしもパターンデータをテーブル形式で格納しておく必要はなくなるので、記憶部３０には、少なくとも実数アドレスｘｎと実数アドレスｘｎにリンク付けされた記銘のデータとを格納しておけばよい。
【００８５】
制御部２０は、上記実数アドレスｘｎの値に基づいて記憶部３０の実数アドレスメモリ３１の記憶構造を構築していく。
【００８６】
図５に示すように、セルを単位として実数値を表現することによって実数アドレスメモリを構成することができる。図５のセル内情報を書き込んで行くことによって図６のような実数の桁位置に応じてセルのツリー構造が生成されメモリ構造が構築されてゆく。このようなメモリ構造は、０ないし１の実数直線アドレス上にパターンデータを並べたものとなるので、後述のように、データ検索において、検索対象データと一致するデータや近似するデータを高速検索する場合に有効という特徴を有する。
【００８７】
図５に示すとおり、実数アドレスメモリ３１は、セル番号、上位桁（桁位置ｍ−１）のセル番号、上位桁（桁位置ｍ−１）における実数アドレスｘｎの値、このセルが示す実数アドレスｘｎの桁位置ｍ（１０−ｍの桁が桁位置ｍに対応する）、セル内数値０〜９および下記桁（桁位置ｍ＋１）のセル番号を含むセル構造で構成される。
【００８８】
実数値を高速に検索するための構成例を示す。本構成は、後述するデータ検索において、検索対象データと一致するデータを検索する場合だけでなく、検索対象データと近似するデータを検索する場合にも有効な記憶構成である。
【００８９】
図５において、セル番号０はトップセルと呼び、０から１の実数直線を１０等分したもので、小数点以下第一桁を示す。０．０、０．１、０．２、・・・、０．９の各値の下には小数点第二桁のセルが生成されリンクが張られる。この例ではリンクはセル番号で行っている。図６の一本の数直線が一個のセルに対応する。図６では０．３２８５７の例であるが各桁毎に一個づつのセルが順次生成されてリンクされてゆく。
【００９０】
実数アドレスメモリ３１は、実数アドレスｘｎの桁数に応じて、順次、上記セル構造を繰り返し生成することによって構築されている。
【００９１】
図６に基づいて、上記セル構造の生成について説明する。同図では、１０−１の桁の各値に対して１０−２の桁の数値０〜９に対応するセルが一個生成される。最大で１０セルが生成される。そして、１０−２の桁の一つの数値に対して１０−３の桁の数値０〜９に対応するセルが一個生成される。このように一つのセルからはその下の桁に対して最大１０個のセルが生成される。このように、実数アドレスｘｎの桁数に応じ次々とアドレスセルが生成される様子を示している。
【００９２】
上記のセル生成について詳細に説明すれば次のとおりである。例えば、実数アドレスｘｎの値が０．３２８５７であるものとする。この場合、実数アドレスｘｎにおける小数点以下の最初の桁の値は３である。
【００９３】
まず、セル番号０の小数第１桁のトップセルを生成する。図５に示すように、このセルの中のセル内数値３のところにContinueマークを書く。そして下位桁の数値２を覚えているセル番号Ａを書き込んでおく。書き込んだセル番号Ａは下位桁の小数第２桁の数値２を記憶したものでセル番号Ａとして生成する。次にセル番号Ａのセル内数値２のところにContinueマークを書き込むと同時に下位桁小数第３位の数値８を記憶するセル番号Ｂを書き込む。セル番号Ｂは小数第３桁の数値８を記憶したものである。
【００９４】
この手順を繰り返していけば、実数アドレスｘｎがどれだけの桁数からなる場合であっても、必要なだけのセルを逐次生成することができる。実数アドレスｘｎの桁数（精度）を１桁増やすと生成すべきセルの数は約１０倍となる。本明細書では、実数アドレスｘｎの１桁毎に対応するセルの生成単位をアドレスセルと称する。このように実数アドレスメモリ３１を構築することによって、各アドレスセルが実数アドレスｘｎのどの桁に対応する数値を記憶しているものかが明瞭となる。
【００９５】
このようにして、制御部２０は、Ｒ／Ｗ制御部２３を介して、記憶部３０の記憶領域上に実数アドレスメモリ３１の領域を確保していく。なお、記憶部３０の記憶領域上に実数アドレスメモリ３１の領域を確保していく際のアドレスポインターは、最新の生成セル番号に各セルのサイズ〔Ｍ（ワード）〕を乗じたものとなる。
【００９６】
そして、制御部２０は、実数アドレスメモリ３１において、アドレスセルの最後の桁に対応するセルには、終了マーク（Ｅｎｄマーク）を書き込む一方、最後以外の桁に対応するセルには、続きマーク（Ｃｏｎｔマーク）を書き込んでおく。そして、各セルには、各パターンデータに対応づけられたコンテンツデータを格納しているテーブルへのリンク情報を記入しておく。ただし、メモリセル内に既にリンク情報が生成されているときには、記銘先のリンク情報が異なるときだけ更なるリンク情報を追加しておく。また、同一のアドレスセルに対して、複数の記銘のリンク情報を記入してもよい。また、荒い精度での実数アドレスメモリ３１の読み出しを行う場合には、求めた実数アドレスに対して記銘のリンク先が存在しない場合があるので、適切な読み出し結果を求めるために、より下記桁の桁位置に対応するアドレスセルを参照する構成とすることが好ましい。
【００９７】
メモリシステム１では、コンテンツデータであるデータ列（ｐ１，ｐ２，・・・，ｐｎ）の変換処理によって得られた実数アドレスｘｎを記憶部３０のアドレス情報として、上記データ列に関連づけられた関連づけデータを記憶するので、記憶部３０における記憶内容とアドレスとが対応したコンテンツアドレサブルメモリを構成している。なお、人間の脳神経系の記憶機構も、このようなコンテンツアドレサブルメモリ構造を有しているものと考えられている。
【００９８】
図７は、メモリシステム１が、入力部１０を通じて入力されたパターンデータに基づいて、実数アドレスメモリ３１の読み込みを行う場合の動作を示す説明図である。この場合、メモリシステム１は、制御部２０の機能により上記パターンデータに基づいてｘｎ＝０〜１の実数アドレスｘｎを生成し、この実数アドレスｘｎに基づいて実数アドレスメモリ３１のアドレスをポインティングする。制御部２０は、このポインティング先の記憶領域からあらかじめ記憶された書き込み痕跡や記銘コードのリンク先がどこかを知ることができる。
【００９９】
〔２−２．パターン認識方法〕
次に、図８を用いて、メモリシステム１（データ検索装置）に記憶されたデータを検索するパターン認識方法について説明する。
【０１００】
まず、検索対象となるパターンデータについて、複数の特徴抽出センサによる特徴量の抽出を行い、この特徴量を入力部１０を通じて入力されたパターンデータ（多次元データ）として取り扱うことによって実数アドレスＹｎを生成し、この実数アドレスＹｎに基づいて実数アドレスメモリ３１を構築しておく。
【０１０１】
その後、認識対象となるパターンデータについて、上記と同一の特徴抽出センサによる特徴量の抽出を行い、この特徴量を入力部１０を通じて入力されたパターンデータ（多次元データ）として取り扱うことによって実数アドレスＹｎ’を生成する。そして、この実数アドレスＹｎ’に基づいて実数アドレスメモリ３１にアクセスし、上記実数アドレスＹｎ’が既に実数アドレスメモリに記憶されている実数アドレスＹｎと一致した場合には、  実数アドレスメモリ３１において実数アドレスＹｎに対応する領域に記憶されたリンク情報に基づいて記銘を読みとることによって、認識対象パターンの認識結果として採用する。一方、上記実数アドレスＹｎ’が既に実数アドレスメモリに記憶されている実数アドレスＹｎと一致しない場合には、この実数アドレスＹ’と最も近い実数アドレスに対応する実数アドレスメモリ３１の記憶内容を読みとることによって、上記リンク情報ないし記銘を特定し、認識対象パターンの認識結果として採用する。
【０１０２】
すなわち、メモリシステム１は、外部から入力されたデータ列をカオス力学系関数に基づく関数演算によって第２の実数値に畳み込み、この第２の実数値を記憶部３０のデータ格納位置に対応づけ、このデータ格納位置に格納されたデータに基づいて、上記第２のデータ列に対応するデータを特定する構成となっている。
【０１０３】
前述のとおり、メモリシステム１における記憶部３０および実数アドレスメモリ３１は、コンテンツデータとアドレスとが対応したコンテンツアドレサブルメモリとなっているので、パターン認識のために最適類似度の既知パターンデータを特定する場合であっても、膨大なメモリ空間内を検索する必要がない。それゆえ、メモリシステム１によれば、認識精度を向上させるため、膨大なデータを既知のパターンデータとして記録する場合であっても、認識対象パターンと類似度の高い既知のパターンデータを直接的に特定することができる。これにより、高速かつ的確な検索ないしパターン認識が可能となる。特に、メモリシステム１は、画像データのような大容量データの認識に好適に用いることができる。
【０１０４】
なお、２次元画像から特徴量を抽出する場合には、図９に示すように、対象画像データを複数の視野領域（図９の視野１〜視野４）に分割し、各領域において特徴量を抽出する構成を採用すればより的確な特徴量の抽出ないしパターン認識が可能となる。また、同図に示すように、視野１（図９の最左上領域）を更に視野１−１〜視野１−４のように分割し、まず各視野１〜視野４の特徴量を抽出した後、更に各視野１−１〜視野１−４について特徴量を抽出する構成とすれば対象画像における局所的な特徴量をより的確に反映した特徴量の抽出ないしパターン認識が可能となる。
【０１０５】
以上の説明では、メモリシステム１が、書き込みおよび読み出しの対象とするデータ列としてＭ行Ｎ列の１ビットデータ（０または１）からなる２次元画像データを例に挙げたが、メモリシステム１が対象とするデジタルデータは２次元等の画像データに限定されるものではない。
【０１０６】
また、メモリシステム１は、離散データではなく、音声データのような時系列に沿った連続的なデータを書き込みおよび読み出しの対象とすることができる。時系列に沿った連続的なデータの書き込みおよび読み出しを行う場合には、データの入出力順に沿って所定のデータ量（サンプル数）毎に、順次実数アドレスを求め、この実数アドレスに対応するアドレスセルを生成することになる。
【０１０７】
〔２−３．映像データアーカイブシステムへの応用〕
次に、図１０を用いて、前述のパターン認識方法（データ検索方法）を応用した映像データアーカイブシステムの構成について説明する。図１０に示した映像データアーカイブシステムの構成は、コンテンツデータとして、大容量の映像データをシステムに供給するためのＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体およびその読み取り部、検索用データとして映像や画像等のサムネイルデータ（またはカットデータ）をシステムに入力する入力部、上記読み取り部によって供給された映像データおよび上記入力部から入力された検索用データの画像特徴量を抽出する特徴抽出センサ群（カット検出センサ、音声センサ、色検出センサ、ポジション検出センサ、形状検出センサ、動き検出センサ、テクスチャーセンサ、肌色情報等に基づいて顔画像を検出するための顔検出センサ）、これら各特徴抽出センサによって抽出された特徴量をカオス力学系の関数を用いて変換して実数アドレスを求める畳み込み演算部、記憶部から構成されている。
【０１０８】
また、上記の記憶部は、上記読み取り部によって供給された映像データをＷＭ（Windows Media）形式（登録商標）やＭＰＥＧ２形式等でタイムスタンプ情報と共にデータベースとして蓄積する映像データアーカイブ領域、畳み込み演算部によって求められた実数アドレスに基づいて構築される実数アドレスメモリの各記憶領域を備えている。また、図１０に示すとおり、上記の記憶部には、上記特徴抽出センサによって抽出された特徴量を記憶させてもよい。
【０１０９】
次に、上記の映像アーカイブシステムの動作について説明する。
【０１１０】
あらかじめ、検索対象とすべき映像ないし画像データを上記記録媒体およびその読み取り部から読み取り、読みとった映像ないし画像データを、タイムスタンプ情報を付加した状態で映像データアーカイブに記憶させる一方、各特徴抽出センサ群にも入力する。各特徴抽出センサ群は、それぞれの検出特性に基づいて入力された映像ないし画像データの特徴量を抽出し、これら特徴量に基づいて前述の実数アドレスを生成する。このとき、各特徴抽出センサ群の特徴量に基づいて独立に実数アドレスを生成してもよいが、生成する実数アドレスと映像ないし画像データとをより的確に関連づけるためには、上記特徴抽出センサからえられた特徴量を適宜組み合わせた状態の特徴量を求め、この組み合わせ特徴量に基づいて実数アドレスを生成することが好ましい。そして、生成された実数アドレスの値に基づいて、実数アドレスメモリのアドレスセルを生成する。
【０１１１】
そして、データ検索時には、まず入力部から検索用データとして映像や画像等のサムネ
イルデータ（またはカットデータ）が入力され、入力された検索用データが前述の書き込み時と同一の組み合わせに基づいて各特徴抽出センサ群に入力される。各特徴抽出センサ群は、それぞれの検出特性に基づいて入力された検索用データの特徴量を抽出し、これら特徴量に基づいて実数アドレスを生成する。そして、生成された実数アドレスの値に基づいて、実数アドレスメモリの記憶内容を読み出し、映像データアーカイブから読み出すべきパターンデータを特定する。ここで、映像データアーカイブに記憶されているコンテンツデータと実数アドレスメモリに記憶されているリンク情報とは、前記タイムスタンプ情報を介してリンクされている。
【０１１２】
上記の映像アーカイブシステムによれば、検索用データの特徴量に基づいて直接的にパターンデータを特定することができるとともに、上記パターンデータと上記映像データアーカイブに記憶されているオリジナルの映像ないし画像データとがタイムスタンプ情報を通じてリンクしているので、全記憶領域を検索することなく、極めて高速かつ的確な検索が可能となる。
【０１１３】
〔３．実数アドレスに基づくデータ再生方法〕
本発明の更なる実施形態について図面に基づいて説明すると以下の通りである。
【０１１４】
本実施形態では、メモリシステム１が実数アドレスメモリ３１に記憶されたリンク情報に基づいて記銘を参照するのではなく、実数アドレスｘｎに基づいて直接的に記憶されたデータを再生する方法について説明する。
【０１１５】
図１１に示す本実施形態に係るメモリシステム１の構成は、実施形態１の図１と同様であるが、実数アドレスｘｎに基づいて直接的に記憶されたデータを再生する構成として更に再生部４０の構成が付加されている。再生部４０には、再生関数として、畳み込み演算部２２の変換テーブル２１に登録された関数と同じく三角山関数がテーブルデータとして登録されている。ただし、上記再生関数は、畳み込み演算部２２に登録された関数においてｘ軸とｙ軸とを交換した逆関数となっている。図１２に示される三角山関数は、数学的にはｙ＝２ｘ（０≦ｘ≦０．５）およびｙ＝−２ｘ＋２（０．５＜ｘ≦１）として表現される。
【０１１６】
まず、メモリシステム１の制御部２０は、畳み込み演算部２２から出力された実数アドレスｘｎを再生部４０に入力する。再生部４０は、上記再生関数において、上記実数アドレスｘｎに対応する点（Ｘ＝ｘｎ）のｙ座標をｙ値ｙ０として求める。そして、実数アドレスｘｎに対応するものとして得られたｙ値ｙ０を新たなＸ値ｘｎ−１とし、Ｘ座標ｘｎ−１に対応する点（Ｘ＝ｘｎ−１）のｙ座標を次のＸ値ｘｎ−２として求める。
【０１１７】
このような再帰演算を繰り返すことによって、再生部４０は、単一の実数アドレスＸｎに基づいて、前述のカオス力学系の数列ｘｉ（ｉ＝１，２，・・・，ｎ）を全て生成することができる。そして、再生部４０は、上記カオス力学系の数列ｘｉ（ｉ＝１，２，・・・，ｎ）の各値ｘｉ（ｉ＝１，２，・・・，ｎ）に対して、ｘｉ≦０．５ならば０の値をｐｉに割り当てる一方、ｘｉ＞０．５ならば１の値をｐｉに割り当てることによって、上記数列ｘｉに変換前する前のデータ列（ｐ１，ｐ２，・・・，ｐｎ）を完全に再生することができる。
【０１１８】
ただし、上述のとおり、再生部４０は、カオス力学系の数列ｘｉをｘｎ，ｘｎ−１，ｘｎ−２，・・・，ｘ１の順に求めるので、通常、上記データ列の値ｐｉ（ｉ＝１，２，・・・，ｎ）を求める場合、変換前のデータ列ｐ１，ｐ２，・・・，ｐｎとは順序が逆のｐｎ，ｐｎ−１，ｐｎ−２，・・・，ｐ１の順に求められることに注意する必要がある。
【０１１９】
したがって、コンテンツデータとして音楽データ等のように、時系列に沿った連続的なデータを再生する場合、実数アドレスｘｎの求出ないし実数アドレスメモリの生成時とこの実数アドレスメモリに基づくパターンデータの再生時、すなわちデータ書き込み時とデータ再生時において同順番となるようにデータが再生されることが好ましい。
【０１２０】
このような場合、図１３の構成を採用すれば、時系列に沿った連続的なデータを再生する場合であっても、データ書き込み時と同順番となるようにデータを再生することができる。同図の構成では、前述のメモリシステム１による再生出力を更なるメモリシステム１’に入力し、その入力を取り出すことによって、特徴抽出センサからの出力データをそのままの順序で再生するものとなっている。
【０１２１】
すなわち、図１３の構成では、基準時間（Sensor time）Ｔが１，２，・・・，ｎまで増加する間、特徴抽出センサから出力されるコンテンツデータの特徴量に基づいて実数アドレスを生成し、連続的に入力信号を畳み込んでいく。そして、基準時間（Sensor time）Ｔが所定時間ｎに達すると、そのＴ＝ｎのときの実数アドレスを取り込んで、この実数アドレスに基づいてＴ＝ｎ，・・・，２，１の順序で上記コンテンツデータを再生する。
【０１２２】
そして、この再生データを更なるメモリシステムに入力し、この入力データに基づく実数アドレスを生成する。この実数アドレスに基づいて、コンテンツデータを再生すると、前回の再生時とは更に逆の順序、すなわち最初のデータ書き込み時と同じＴ＝１，２，・・・，ｎの順序でデータを再生することが可能となる。
【０１２３】
図１４は、図１３の構成を回路ブロックとして説明するものである。特徴抽出センサ（外界センサ）から入力された連続的な特徴量のデータは、２値化回路によって２値化された後、畳み込み回路Ｖ１に送信される。この畳み込み回路Ｖ１によって実数アドレスとして畳み込まれた特徴量のデータは所定のデータ量毎に第１の再生回路に送信される。第１の再生回路から出力された再生データは再び２値化回路に送信され、この２値化回路から出力された後、畳み込み回路Ｖ２に送信される。この畳み込み回路Ｖ２によって実数アドレスとして畳み込まれた再生データは所定のデータ量毎に第２の再生回路に送信される。第２の再生回路から出力された再生データは、特徴抽出センサ（外界センサ）から入力されたときと同じ順序で再生されているので、最後の２値化回路を通して連続的なデータ出力を行うことが可能となる。なお、第１の再生回路の動作と第２の再生回路の動作とは、ＳＷ信号発生器から出力されるスイッチング信号ＳＷ１およびこれを遅延回路で所定時間遅延させたスイッチング信号ＳＷ２によって同期されている。
【０１２４】
図１５は、図１４の回路構成における特徴抽出センサからの出力信号（Ｓｎ）に基づいて、畳み込み回路Ｖ１、実数アドレスメモリ、第１の再生回路、畳み込み回路Ｖ２、第２の再生回路を動作させるときのタイミングを示すタイミングチャートである。図１５におけるシンボル化回路は、図１４の回路構成における２値化回路に対応している。
【０１２５】
図１６は、上記スイッチング信号ＳＷ１およびこれを遅延回路で所定時間遅延させたスイッチング信号ＳＷ２による同期の様子を示すタイミングチャートである。センサ回路出力の基準時間が所定期間分だけ増加して、畳み込み回路Ｖ１の出力が１００となったときのタイミングで上記スイッチング信号ＳＷ１を生成すると、第１の再生回路では１００，９９，・・・と逆の順序で再生出力が行われるが、畳み込み回路Ｖ１、再生回路、および第１のシンボル化回路の動作時間を考慮した時間だけ、スイッチング信号ＳＷ１に遅延するスイッチング信号ＳＷ２を生成して、畳み込み回路Ｖ２の出力を取り込むことによって、第２の畳み込み再生によるデータ順序の再反転が正しい周期毎に行われる。
【０１２６】
なお、本実施形態のメモリシステム１は、コンテンツデータを単一かつ固有の実数値に対応付けて記録ないし再生を実行し、実数値の精度を変えることによって再生データの精度を制御できるので圧縮符号化への応用も可能である。
【０１２７】
〔４．補足〕
以上、コンテンツデータとなるデータ列が１ビット情報である場合を例として本発明の実施例を説明したが、コンテンツデータとなるデータ列が１ビット情報ではなく、２ビット、３ビットなどの多ビット情報からなる場合、次のように、メモリシステム１における畳み込み関数および再生関数を変更することによって、コンテンツデータとなるデータ列が多ビット情報からなる場合にも、本発明に係るメモリシステム１を適用することができる。
【０１２８】
すなわち、図１７に示す双峰関数を畳み込み関数として採用すれば、２ビット（４値）のコンテンツデータに基づいて、実数アドレスの畳み込みを行うことができる。同図の双峰関数は、三角山関数を二つ並べた形状の４価関数となる。畳み込み演算部２２は、前述の１ビットの場合と同様、乱数生成演算等によって０＜ｘ０＜１（ｘ０≠０．５）となる任意の初期値ｘ０を定める。そして、入力部１０を通じて順次入力されるデータ列は２ビットのデータ列ｐｉ＝００，０１，１０，１１の値をとるので、このデータ列ｐｉの値に応じて、上記初期値ｘ０に対し、上記の４価関数のｙ値ｙ１，ｙ２，ｙ３，ｙ４のうち、小さなものから順番に対応する初期値ｙ０を選択する。その後、データ列が１ビット情報からなる場合と同様の逐次演算を繰り返すことによって、畳み込み演算を実行する。
【０１２９】
一方、実数アドレスに基づいてデータ再生を行う場合には、図１８に示す上記双峰関数の逆関数を畳み込み関数として採用すれば、上記２ビット（４値）のコンテンツデータを完全に再現することができる。同図の再生関数は、上記４価関数のＸ軸とＹ軸とを入れ替えた一価関数となっている。そして、制御部２０は、畳み込み演算部２２から出力された実数アドレスｘｎを再生部４０に入力する。再生部４０は、上記再生関数において、上記実数アドレスｘｎに対応する点（Ｘ＝ｘｎ）のｙ座標をｙ値ｙ０として求める。そして、実数アドレスｘｎに対応するものとして得られたｙ値ｙ０を新たなＸ値ｘｎ−１とし、Ｘ座標ｘｎ−１に対応する点（Ｘ＝ｘｎ−１）のｙ座標を次のＸ値ｘｎ−２として求める。
【０１３０】
このような再帰演算を繰り返すことによって、再生部４０は、単一の実数アドレスＸｎに基づいて、前述のカオス力学系の数列ｘｉ（ｉ＝１，２，・・・，ｎ）を全て生成することができる。そして、再生部４０は、上記カオス力学系の数列ｘｉ（ｉ＝１，２，・・・，ｎ）の各値ｘｉ（ｉ＝１，２，・・・，ｎ）に対し、Ｐｉ＝００（０＜ｘｉ≦０．２５）、Ｐｉ＝０１（０．２５＜ｘｉ≦０．５）、Ｐｉ＝１０（０．５＜ｘｉ≦０．７５）、Ｐｉ＝１１（０．７５＜ｘｉ＜１）を割り当てることによって、上記数列ｘｉに変換前する前のデータ列を完全に再生することができる。
【０１３１】
なお、ｋビット（ｋは３以上の整数）のコンテンツデータを畳み込みないし再生する場合には、ｋ個の三角山関数を並べたｋ峰関数（２ｋ価の関数となる）を用いればよく、最も簡単には三角山関数を峰の数だけ並べたものを畳み込み関数として採用することができる。そして、再生関数としては、上記畳み込み関数のｘ座標とｙ座標とを入れ替えた逆関数を用いればよい。
【０１３２】
上述の説明では、メモリシステム１に基づいて、本発明に係るデータ検索装置、およびそのパターン認識処理、データ再生装置に関して説明したが、本発明の適用範囲はこれに限るものではない。
【０１３３】
また、メモリシステム１における上記データ検索方法およびデータ再生方法の各処理ステップは、ＣＰＵ等から構成される制御部が、ＲＯＭ（Read Only Memory）やＲＡＭなどの記憶手段に記憶されたプログラムを実行し、キーボードなどの入力手段、ディスプレイなどの出力手段、あるいは、インターフェース回路などの通信手段を制御することにより実現することができる。したがって、これらの手段を有するコンピュータが、上記プログラムを記憶した記憶媒体を読み取り、当該プログラムを実行するだけで、本実施形態の装置の各種機能および各種処理を実現することができる。また、上記プログラムをリムーバブルな記憶媒体に記憶することにより、任意のコンピュータ上で上記の各種機能および各種処理を実現することができる。
【０１３４】
この記憶媒体としては、マイクロコンピュータで処理を行うために図示しないメモリ、例えばＲＯＭのようなものがプログラムメディアであっても良いし、また、図示していないが外部記憶装置としてプログラム読取り装置が設けられ、そこに記憶媒体を挿入することにより読取り可能なプログラムメディアであっても良い。
【０１３５】
また、何れの場合でも、格納されているプログラムは、マイクロプロセッサがアクセスして実行される構成であることが好ましい。さらに、プログラムを読み出し、読み出されたプログラムは、マイクロコンピュータのプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であることが好ましい。なお、このダウンロード用のプログラムは予め本体装置に格納されているものとする。
【０１３６】
また、上記プログラムメディアとしては、本体と分離可能に構成される記憶媒体であり、磁気テープやカセットテープ等のテープ系、フレキシブルディスクやハードディスク等の磁気ディスクやＣＤ／ＭＯ／ＭＤ／ＤＶＤ等のディスクのディスク系、ＩＣカード（メモリカードを含む）等のカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、フラッシュＲＯＭ等による半導体メモリを含めた固定的にプログラムを担持する記憶媒体等がある。
【０１３７】
また、インターネットを含む通信ネットワークを接続可能なシステム構成であれば、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する記憶媒体であることが好ましい。
【０１３８】
さらに、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予め本体装置に格納しておくか、あるいは別な記憶媒体からインストールされるものであることが好ましい。
【０１３９】
（実施の形態３）
本発明の更なる実施形態について図面に基づいて説明すると以下の通りである。
【０１４０】
マルチメディア時代の到来に応じて、画像資料や映像資料を大量にアーカイブとして保管する機会が増えており、アーカイブされた膨大な画像データの中から所望のデータを検索することが重要となってきている。例えば、手書文字の認識や指紋認識、あるいは花の写真を提示して植物図鑑データベースなどと比較して花の名を調べたり（画像同定問題）や、監視カメラデータや家庭で撮ったビデオなどの録画データのような、画像内容の情報が付与されていないフレームごとの画像データから、特定の画像（例えば富士山の画像や特定の人物像）が写っている画像を取り出したりする（類似画像検索）ための効果的な技術が切望されている。
【０１４１】
このような場合、膨大な映像アーカイブデータの個々の画像データとの照合になり、画像データそのままでの比較では現実的な時間で処理することは不可能である。そこで、画像データの特徴量を抽出して比較する手法が一般的となっているが、全ての画像データの特徴量を計算し、これらを比較して最短距離の（最も類似する）画像データを求める処理は、処理量が膨大となる大規模データには適当ではない。
【０１４２】
この問題を解決する代表的な検索手法としては、画像データの画像内容を示すメタ情報に基づいて目的とする画像データを特定する手法が提案されている。
【０１４３】
しかしながら、単に、メタ情報に基づいて目的とする画像データを特定する手法では、一般的に検索精度が悪いことが知られている。この手法において検索精度を改善するためには、メタ情報を増やすことが考えられるが、メタ情報を増加させると、メタ情報のマッチングのための時間ないし検索時間が増大したり、マッチングの評価ないし精度が悪ければ局所的なマッチングのためにかえって検索精度が悪化したりするという問題点が生じている。
【０１４４】
そこで、本実施形態では、画像データの特徴量（形センサや色センサから出力される多次元データ）をビット列で表し、このビット列を前述のカオス力学系の関数を用いた変換によって実数値（０−１）に畳み込み、さらには、この実数値をインデックスデータとして採用することによって、膨大な画像データであっても、高速で検索できるメモリシステム１（データ検索装置）を提案する。
【０１４５】
〔１．システム構成〕
本実施形態のメモリシステム１（データ検索装置）の基本的構成は、図１と同じであるので、その説明は省略する。ただし、本実施形態では、インデックス情報を格納するという意味を強調するために、実数アドレスメモリ３１を実数インデックスメモリ３１と称することにする。また、記憶部３０は、実数インデックスメモリ３１のほか、供給された映像データをＷＭ形式や各種のＭＰＥＧ形式等でタイムスタンプ情報と共にデータベースとして蓄積する映像データアーカイブ領域３２を備えている。このメモリシステム１は、ＩＣカードなどの各種メモリデバイスに実装することができる。
【０１４６】
〔２．動作の流れ〕
図１９は、本実施形態のメモリシステム１が、画像データの検索に先立って、あらかじめ映像データおよびそのインデックスデータを記憶部３０に格納するときの動作を説明する概念図である。
【０１４７】
本実施形態のメモリシステム１は、入力部１０を通じて入力される静止画ないし動画のデータ（ＷＭ，ＭＰＥＧ，ＪＰＥＧなど。以下「映像データ」と総称する）から、コマ画像を取り込み処理（映像キャプチャー）した後、取り込まれた画像データを基準化したサイズ（例えば６４×６４画素サイズ）のサムネイル画像データを作成する。このとき、画像が変形しないよう、原画像データの縦横の縮尺比を変えずに画像データを切り出すなどして、サムネイル画像データを作成することが好ましい。
【０１４８】
このサムネイル画像データから、特徴抽出センサ群（カット検出センサ、音声センサ、色検出センサ、ポジション検出センサ、形状検出センサ、動き検出センサ、テクスチャーセンサ、肌色情報等に基づいて顔画像を検出するための顔検出センサ）によって、画像の特徴量（特徴ベクトル）を抽出する。これら特徴抽出センサの種類や組み合わせは任意であって、例えば、画像のパターン認識であれば、形状検出センサを重視したり、色検出センサを重視したりすることができる。
【０１４９】
そして、これら各特徴抽出センサによって抽出された特徴量（特徴ベクトル）を、変換テーブル２１ないし畳み込み演算部２２の演算動作によって、前述のカオス力学系の関数を用いて変換して実数値に畳み込み、この実数値（実数インデックス）をインデックスデータとして、この値に基づいて、実数インデックスメモリ３１のアドレスセルを生成し、記憶部３０内の実数インデックスメモリ３１に、映像データアーカイブ領域３２に格納された元映像データへのリンク情報を格納する。実数インデックスメモリ３１のアドレスセルを生成するときには、インデックスデータによる高速検索が可能となるように、デシマルツリー構造を採用することが好ましい。なお、デシマルツリー構造を採用する場合には、適宜、二進数の実数値３ビットに十進数の一桁を割り当てる桁数演算を行う。
【０１５０】
メモリシステム１は、入力部１０を通じて入力されたデータ列をこのような１次元配列のデジタルデータの状態として制御部２０に送信する。そして、このデータ列（ｐ１，ｐ２，・・・，ｐｎ）は、畳み込み演算部２２の演算動作によって、変換テーブル２１に基づいて実数値に畳み込まれる。
【０１５１】
メモリシステム１は、各特徴抽出センサ群の特徴量に基づいて独立に実数インデックスを生成してもよいし、生成する実数インデックスと映像ないし画像データとをより的確に関連づけるために、上記特徴抽出センサからえられた特徴量を適宜組み合わせた状態の特徴量を求め、この組み合わせ特徴量に基づいて特徴ベクトルないし実数インデックスを生成してもよい。なお、特徴量ベクトルについては後に詳述する。
【０１５２】
図２０は、上記処理の流れをブロック図にて示したものである。すなわち、同図においては、検索対象としてメモリに登録しておくべき画像データ（ＩＤ＝１〜ｎｎｎｎ）から３つの特徴量（Ｓ１〜Ｓ３）を抽出し、これら特徴量を実数値（実数インデックス）に変換している。そして、この実数値（実数インデックス）に基づいて、特徴量（Ｓ１〜Ｓ３）ごとに、上記の画像データ（ＩＤ＝１〜ｎｎｎｎ）のリンク情報を、実数インデックスメモリ３１のメモリ領域にデシマルツリー構造にて書き込んでいる。同図において、例えば、特徴量（Ｓ１）は特徴抽出センサによって抽出した線分の位置、特徴量（Ｓ２）は明度センサによって抽出した明度、特徴量（Ｓ３）は色相センサによって抽出した色相である。
【０１５３】
図２１は、本実施形態のメモリシステム１が、あらかじめ記憶部３０に格納された映像データおよびそのインデックスデータに基づいて、画像データを検索するときの動作を説明する概念図である。
【０１５４】
まず入力部から検索用の画像データとして質問画像や未知画像が入力されると、入力された画像データを基準化したサイズ（例えば６４×６４画素サイズ）のサムネイル画像データに加工する。このとき、画像が変形しないよう、質問画像や未知画像の画像データの縦横の縮尺比を変えずに切り出すなどすることが好ましい。
【０１５５】
このサムネイル画像データから、前述の特徴抽出センサ群によって画像の特徴量（特徴ベクトル）を抽出する。これら特徴抽出センサの種類や組み合わせはインデックスデータの作成時（インデックスデータの書き込み時）と同一のものを用いる。
【０１５６】
そして、これら各特徴抽出センサによって抽出された特徴量（特徴ベクトル）を、変換テーブル２１ないし畳み込み演算部２２の演算動作によって、前述のカオス力学系の関数を用いて変換して実数値に畳み込み、実数インデックスメモリ３１から、畳み込まれた実数値（実数インデックス）に最も近いアドレスセルを読み出す。そして、アドレスセルから読み出したリンク情報に基づいて、映像データアーカイブ領域３２に格納された元映像データにアクセスする。ここで、映像データアーカイブ領域３２に記憶されているコンテンツデータと実数インデックスメモリ３１に記憶されているリンク情報とは、タイムスタンプ情報を介してリンクされている。
【０１５７】
図２２は、上記処理の流れをブロック図にて示したものである。すなわち、同図においては、質問画像として所定のＩＤを有する画像データが提示されると、その３つの特徴量（Ｓ１〜Ｓ３）を抽出し、これら特徴量を実数値（実数インデックス）に変換している。そして、この実数値（実数インデックス）に基づいて、特徴量（Ｓ１〜Ｓ３）ごとに、実数インデックスメモリ３１のアドレスセルを読み出す。そして、読み出したリンク情報に基づいて、映像データアーカイブ領域３２に格納された元映像データにアクセスしている。
【０１５８】
なお、本実施形態のメモリシステム１は、特徴量（Ｓ１〜Ｓ３）によって、アクセスすべき元映像データが異なる場合には、アクセスしたすべての元映像データを質問画像に対する複数の検索結果（候補データ）として回答する。
【０１５９】
本実施形態のメモリシステム１によれば、検索用データの特徴量に基づいて直接的にパターンデータを特定することができるとともに、上記パターンデータと上記映像データアーカイブに記憶されているオリジナルの映像ないし画像データとがタイムスタンプ情報を通じてリンクしているので、全記憶領域を検索することなく、極めて高速かつ的確な検索が可能となる。特に、メモリシステム１は、図２３に例示されるように、デシマルツリー構造にて、実数インデックスメモリ３１のアドレスセルを生成する（または読み出す）ので、特徴量に基づいて得られた実数値（実数インデックス）による高速検索が可能となっている。同図は、特徴量に基づいて得られた実数値（実数インデックス）が０．６２３８であるときのアドレスセルの生成ないし記憶の様子を示している。
【０１６０】
このようなデシマルツリー構造によって実数値（実数インデックス）を記憶すれば、バイナリーツリー構造によって特徴量をビット列のまま記憶する場合と比較して、利用者がインタラクティブにツリー構造をたどる場合であっても、より直感的に理解しやすいという利点がある。このことは、デシマルツリー構造による実数値（実数インデックス）の記憶構造が、生物系の記憶再生モデルに類似することを示唆していると考えられる。
【０１６１】
〔３．特徴ベクトル〕
本実施形態のメモリシステム１は、前述のように、画像データの少なくとも一部の画像領域から抽出された特徴を示す特徴量を含むとともに、この特徴量のビット列（特徴ベクトル）に基づいて、実数値（実数インデックス）を算出している。
【０１６２】
すなわち、図２４に例示されるように、文字パターンの画像データに線分抽出センサを適用したり、写真の画像データにＨＳＶ（「色相(Hue)」「彩度(Saturation)」「明度(Value)」）センサを適用したりすることによって、画像データの特徴量のビット列（特徴ベクトル）を出力し、この特徴ベクトルに基づいて、実数値Ｒを算出している。ＨＳＶセンサについては、複数のセンサ（１ビット出力）を組み合わせて多値表現を可能とすることが好ましい。また、ＨＳＶセンサにおいて、彩度の値が低く検出されたときには、色相を検出しないようにすることも好ましい。彩度の値が低い場合には、色相の検出ないし判定精度が不十分となる傾向があるからである。
【０１６３】
これらセンサは、画像データの全体に作用させることもできるし、画像データの一部に作用させることもできる。
【０１６４】
本実施形態のメモリシステム１によれば、画像データそのものから直接実数値を算出する場合と比較して、カオス力学系の関数による畳み込み演算にて処理すべきデータ量が小さくなっている。それゆえ、データ検索の処理負担を小さなものとして、より高速なデータ検索を実現することが可能となっている。
【０１６５】
〔３−１．特徴ベクトルの配列１〕
本実施形態のメモリシステム１は、カオス力学系の関数による畳み込み演算にて処理すべき画像データの特徴ベクトルは、複数の特徴量を含んでおり、上記カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量が、より後の演算対象となるように、特徴ベクトルを実数値に畳み込む構成としている。
【０１６６】
具体的には、図２５に示されるように、本実施形態のメモリシステム１は、レイヤー１、レイヤー２、レイヤー３の３段階にて画像データを段階的に分割しながら、画像データの特徴量を階層的に抽出する構成となっている。ここで、レイヤー１は画像データの全体から特徴量を抽出する操作、レイヤー２は画像データの４分の１の画像領域から特徴量を抽出する操作、レイヤー３は画像データの１６分の１の画像領域から特徴量を抽出する操作を指している。階層的に特徴量を抽出する手法は特に限定されるものではなく、線分抽出センサや、色相抽出センサなど種々の特徴抽出センサを利用することができる。
【０１６７】
そして、本実施形態のメモリシステム１は、カオス力学系関数に基づく関数演算において、レイヤー３にて抽出された特徴量、レイヤー２にて抽出された特徴量、レイヤー１にて抽出された特徴量の順番に畳み込み演算を実行する。このような順番で畳み込み演算を実行するために、単一の特徴ベクトル内に、レイヤー１にて抽出された特徴量、レイヤー２にて抽出された特徴量、レイヤー３にて抽出された特徴量を、この順に配列しておき、この特徴ベクトルの後ろ側から畳み込み演算を実行してもよい。
【０１６８】
これにより、本実施形態のメモリシステム１は、カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量ほど後に演算処理されるので、畳み込み値により強く反映されることになる。画像データを実数値に畳み込むときの精度を向上させて、より的確な画像データの検索を実現することができる。
【０１６９】
図２６は、線分抽出センサの適用例を示す図である。同図において、縦方向センサＨ１が画像データの画素が縦、すなわち紙面上下方向に所定画素数以上が揃った状態で配列されているか否かを検出するセンサである。同図では、縦方向センサＨ１が縦方向の６画素分を検出している様子を示している。縦方向センサＨ１は、画像データを順次走査していくことによって、画像データの全領域において縦方向の線分領域が存在するか否かを検出する。縦方向センサＨ１は、画像データを走査した結果、縦方向の線分領域の存在比率が所定のしきい値以上であれば出力をオン状態とする一方、画像データを走査した結果、縦方向の線分領域の存在比率が所定のしきい値未満であれば出力をオフ状態とする。
【０１７０】
横方向センサＨ２、斜めセンサＨ３・Ｈ４の動作も、縦方向センサＨ１と同様であって、それぞれ画像データの画素が各方向に、所定画素数以上が揃った状態で配列されているか否かを検出するものである。横方向センサＨ２、斜めセンサＨ３・Ｈ４についても、画像データを順次走査していくことによって、画像データの全領域において所定方向の線分領域が存在するか否かを検出する。
【０１７１】
図２７は、画像データが所定の線分画像を有する場合に、縦方向センサＨ１、横方向センサＨ２、斜めセンサＨ３・Ｈ４の各出力がどのようになるかを示したものである。同図において、各センサの出力がオフの状態を「０」であらわす一方、オンの状態を「１」であらわしている。同図によれば、画像データが縦方向の線分画像を有する場合には、縦方向センサＨ１の出力がオン状態「１」となる一方、画像データが縦方向の線分画像を有していない場合には、縦方向センサＨ１の出力がオフ状態「０」となるなど、画像データにおける線分画像の方向に応じて、縦方向センサＨ１、横方向センサＨ２、斜めセンサＨ３・Ｈ４の各出力が変化する様子が示されている。
【０１７２】
これら線分抽出センサＨ１〜Ｈ４の４ビット出力を、前述の各階層（レイヤー１、レイヤー２、レイヤー３）における画像データの特徴量抽出として用いることができる。ここで、階層ごとに画像の分割をだんだん細かくするので、各階層をレイヤーと称している。レイヤー２は４分割、レイヤー３は１６分割する。これにより画像をより精密に検出できるようになる
〔３−２．特徴ベクトルの配列２〕
本実施形態のメモリシステム１は、カオス力学系の関数による畳み込み演算にて処理すべき画像データの特徴ベクトルが、特徴量として、画像データの少なくとも一部の符号化処理によって得られた複数次数の周波数成分を含む場合には、上記カオス力学系関数に基づく関数演算において、より低い周波数成分が、より後の演算対象となるように、特徴ベクトルを実数値に畳み込む構成としている。
【０１７３】
ここで、画像データの符号化処理の具体例としては、フーリエ変換やコサイン変換などのアフィン変換、各種の直交変換が挙げられる。これら変換においては、例えば、ゼロ次成分は直流分すなわち画像の平均の明るさ、一次成分は基本周波数成分、２次成分は倍周期成分、・・・というように、低次から高次の周波数成分が得られる。
【０１７４】
本実施形態のメモリシステム１は、上記カオス力学系関数に基づく関数演算において、より低い周波数成分が、より後の演算対象となるように、実数値の畳み込む処理を実行する。より低い周波数成分がより後の演算対象となるようにするための具体的手法としては、例えば、上記第１のデータ列（第２のデータ列）において、より低い周波数成分が前に位置するように、各次数の周波数成分を配列しておき、これらデータ列の後ろ側から畳み込み演算を実行する手法などが挙げられる。
【０１７５】
このように、本実施形態のメモリシステム１によれば、上記カオス力学系関数に基づく関数演算において、より低い周波数成分ほど後に演算処理されるので、畳み込み値により強く反映されることになる。一般に、人間の視覚特性上、より低次の周波数成分ほど画像の観察者により強い印象を与えることが知られている。すなわち、低次の周波数成分は、画像をローパスフィルターを通したように、全体を粗っぽく眺めたときの画像の特徴を示し、高次の周波数成分はハイパスフィルターを通したように、細部を観察したときの画像の特徴を示している。
【０１７６】
したがって、本実施形態のメモリシステム１によれば、人間の視覚特性に適合する的確な画像データの検索を実現することができる。
【０１７７】
なお、このような周波数成分の配列順は、３−１欄にて述べた階層順の特徴量配列と組み合わせて採用することができる。例えば、レイヤー１の画像データをコサイン変換して得られた係数（周波数成分）がＡ（Ｃ０，Ｃ１，Ｃ２，Ｃ３）であって、レイヤー２の画像データをコサイン変換して得られた係数（周波数成分）がＢ１（Ｃ０，Ｃ１，Ｃ２，Ｃ３），Ｂ２（Ｃ０，Ｃ１，Ｃ２，Ｃ３），Ｂ３（Ｃ０，Ｃ１，Ｃ２，Ｃ３），Ｂ４（Ｃ０，Ｃ１，Ｃ２，Ｃ３）であれば、特徴ベクトルを〔Ａ（Ｃ０，Ｃ１，Ｃ２，Ｃ３），Ｂ１（Ｃ０，Ｃ１，Ｃ２，Ｃ３），Ｂ２（Ｃ０，Ｃ１，Ｃ２，Ｃ３），Ｂ３（Ｃ０，Ｃ１，Ｃ２，Ｃ３），Ｂ４（Ｃ０，Ｃ１，Ｃ２，Ｃ３）・・・〕のように配列することができる。
【０１７８】
なお、以上では、人間の視覚特性上、より低次の周波数成分ほど画像の観察者により強い印象を与えることに基づいて周波数成分の演算順番を定める手法について説明したが、他にも、動物の視覚特性上、より重視される特徴量が上記カオス力学系関数に基づく関数演算において、より後に演算処理となるように、関数演算の順番や特徴ベクトルの配列を定めてもよい。
【０１７９】
たとえば、〔Ｃ０（Ａ），Ｃ１（Ａ），Ｃ２（Ａ），Ｃ３（Ａ），Ｃ０（Ｂ１，Ｂ２，Ｂ３，Ｂ４），Ｃ１（Ｂ１，Ｂ２，Ｂ３，Ｂ４），Ｃ２（Ｂ１，Ｂ２，Ｂ３，Ｂ４），Ｃ３（Ｂ１，Ｂ２，Ｂ３，Ｂ４）〕のように、各レイヤーにおいて、低次から高次の周波数成分を並べて配列することもできる。
【０１８０】
〔３−３．特徴ベクトルの配列３〕
本実施形態のメモリシステム１は、特徴ベクトルにおいて、同じ配列を繰り返して配列する。例えば、特徴ベクトルのビット列をＶとすると、Ｖ＝〔ａｂｃｄｅｆｇ・・・ｚ  ａｂｃｄｅｆｇ・・・ｚ  ａｂｃｄｅｆｇ・・・ｚ〕のように、同じ特徴量〔ａｂｃｄｅｆｇ・・・ｚ〕の配列を繰り返して、例えば３２ビットないし６４ビット程度の長いビット列としている。
【０１８１】
特徴ベクトルの配列に、このような周期的な繰り返し構造を採用するのは、次の理由による。
【０１８２】
前述のカオス力学系関数に基づく関数演算によれば、入力されたデータ列に対して固有の実数値を収束対応させることができる。しかしながら、実際に入力するデータ列は有限の桁数を有しており、データ列の桁数が少ないほど収束の程度にバラツキが生じる。これは、入力されたデータ列の桁数が少ないほど、カオス力学系関数の出力が初期値の影響を強く受けるからである。
【０１８３】
そこで、本実施形態のメモリシステム１は、同配列の繰り返しによって、特徴ベクトルの情報を変化させることなく、その桁数を増加させている。これにより、初期値にかかわらず、カオス力学系関数に基づく関数演算によって得られる実数値を安定させて、この実数値に基づいてなされるデータ検索の精度を向上させることが可能となる。
【０１８４】
なお、このような周波数成分の配列順は、３−１欄にて述べた階層順の特徴量配列、３−２欄にて述べた次数順の周波数成分配列と組み合わせて採用することができる、例えば、これら配列順に基づいて得られた特徴ベクトルをさらに繰り返し配列することによって、例えば６４ビット程度の長いビット列にすればよい。
【０１８５】
〔４．キーワード検索〕
本実施形態のメモリシステム１の構成を発展させれば、キーワードとなるテキスト情報を入力することによって、メタ情報が付与されていない膨大な画像データの中から上記のキーワードに関連する画像データを迅速かつ的確に検索することが可能となる。
【０１８６】
すなわち、本実施形態のメモリシステム１に構成を付加することによって、検索用キーワードの入力を受け付ける入力部１０と、画像内容を示す文字列情報と関連づけられた辞書画像データを複数格納する記憶部３０の辞書画像データベース（辞書画像データ格納部）と、辞書画像データベースに格納された複数の辞書画像データの中から、入力部１０にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データを特定するための制御部２０の辞書画像特定部とを備え、制御部２０の辞書画像特定部にて特定された一の辞書画像データを、変換テーブル２１ないし畳み込み演算部２２に入力することによって、実数値（実数インデックス）に畳み込むとともに、制御部２０は、この実数値（実数インデックス）を記憶部３０のデータ格納位置に対応づけ、このデータ格納位置に格納されたデータに基づいて、検索用キーワードに対応する画像データを特定する構成とすることができる。
【０１８７】
このような構成によれば、辞書画像データベースに格納された複数の辞書画像データの中から、入力部１０にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データが特定される。そして、特定された辞書画像データが実数値（実数インデックス）に畳み込まれ、制御部２０にて、検索用キーワードに対応する画像データが特定される。
【０１８８】
ここで、辞書画像データと関連づけられる文字列情報の態様は特に限定されないが、その具体例として、辞書画像データに関連づけられたキャプション情報、ファイル名情報、辞書画像データ（例えばＪＰＥＧデータ）のヘッダ領域に含まれる文字列情報などが挙げられる。
【０１８９】
上記の構成によれば、キーワードに基づいて辞書画像データを特定する第１の検索がなされた後、特定された辞書画像データに基づいて類似画像を特定する第２の検索がなされることになる。したがって、第２の検索において検索対象となる画像データに、これら画像内容を示す文字列情報が対応付けられていない場合であっても、第２の検索において上記キーワードに関連する画像データを特定することができる。
【０１９０】
それゆえ、テキスト情報などのメタ情報が付与されていないビデオの録画データなどを検索したい場合に、所定量の辞書画像データベースを準備しておくだけで、「太陽」や「富士山」などのキーワードに基づく画像データの検索を実現することができる。
【０１９１】
これにより、最終的な検索対象となる画像データの数が多い場合であっても、これら画像データにテキスト情報などのメタ情報を付与することなく、比較的少ない辞書画像データとその関連づけ情報に基づく画像検索が可能となるので、キーワードによる画像検索を高速に実現することが可能となる。
【０１９２】
画像内容を示す文字列情報と関連づけられた辞書画像データを多数格納した辞書画像データベースは一種の知識画像集に相当するものである。このような辞書画像データベースに格納しておくことが好ましい画像のデータとしては、文字認識用データベース（例えば電子技術総合研究所の「ＥＴＬ文字データベース」）、テレビ放送から取り込まれたビデオ画像のキャプチャーデータ、各種の図鑑データ（百科図鑑、動物図鑑、植物図鑑、鉱物図鑑など）、世界遺産などの名所画像を収録した写真データ、各種の記念写真データ、個人の顔写真データやそのバイオメトリックスデータ（指紋、静脈パターン）などが挙げられる。また、このような辞書画像データベースを、公知の画像検索システムを用いて自動生成する構成を採用することも好ましい。
【０１９３】
図２８を参照して、ビデオの録画データの中から富士山の画像データを検索する例に基づいて、メモリシステム１によるキーワード検索の手順を示せば、次のとおりである。
【０１９４】
辞書画像データベースは、富士山の画像と文字列情報とを対応付けた辞書画像データをあらかじめ含むものとする。また、辞書画像データベースの辞書画像データは、あらかじめその特徴量から実数インデックスＲが得られているものとする。他方、検索対象データベースにおけるビデオの録画データについても、あらかじめその特徴量から実数インデックスＲを得て、登録しておく。
【０１９５】
利用者によって、検索用キーワードとして「富士山」が入力されると、メモリシステム１は、「富士山」に類似または一致する文字列情報を有する辞書画像を、辞書画像データベースの中から特定する。この特定には、公知のテキスト検索手法を用いることができる。なお、メモリシステム１は「富士山」に類似または一致する文字列情報を有する辞書画像を特定できなければ、検索対象となる画像が存在しない旨を利用者に回答する。
【０１９６】
メモリシステム１は「富士山」に類似または一致する文字列情報を有する辞書画像を特定したときには、その辞書画像データに対応する実数インデックスＲを読み出す。続いて、この実数インデックスＲに基づいて、検索対象データベースのインデックスメモリをアクセスして、実数インデックスＲと類似または一致する実数インデックスＲを有する録画データを辞書画像データベースから特定する。
【０１９７】
すなわち、メモリシステム１は、カオス力学系の関数による畳み込み演算を用いた類似画像検索の手法によって、辞書画像データベースの中から特定した辞書画像データ（「富士山」に類似または一致する文字列情報を有している）と、格納されたビデオの録画データの中から類似画像のデータを特定する。
【０１９８】
このように、実数インデックスＲに基づいて、辞書画像データベースと検索対象画像データベースとを対応付けることによって、キーワードによる画像検索を高速に実現することが可能となる。
【０１９９】
なお、このような検索手続は、メモリシステム１がすべて自動的に行ってもよいし、一部の作業を利用者との対話方式に基づいて、利用者の指示選択に応じながらインタラクティブに行ってもよい。
【０２００】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０２０１】
本発明に係るデータ記憶装置、データ検索装置、データ再生装置、データ検索プログラムは、各種コンテンツデータの記憶、検索、認識に有効であるうえ、データマイニング問題の解決用途にも利用できる。特に、データ検索については、文字画像や顔画像の検索のほか、バイオメトリックスデータ（指紋、静脈パターン）などの画像認識などに広く好適に利用できる。
【０２０２】
また、本発明に係るデータ記憶装置、データ検索装置、データ再生装置、データ検索プログラムは、各種のメモリないしデータベース機器に実装が可能であり、例えば、ＩＣカードやそのＩＣチップなどにも適用できる。
【図面の簡単な説明】
【０２０３】
【図１】本発明に係るデータ記憶装置の一実施形態を用いるメモリシステムの構成について示すブロック図である。
【図２】上記メモリシステムが取り扱うＭ行Ｎ列で２次元配列された１ビットデータ（０または１）を示す説明図である。
【図３】畳み込み関数の一例を示すグラフである。
【図４】記憶部に記憶されるデータを示すテーブルである。
【図５】実数アドレスメモリのセル構造を示すテーブルである。
【図６】実数アドレスメモリのセル構造の生成に関する説明図である。
【図７】メモリシステムが、入力部を通じて入力されたパターンデータに基づいて、実数アドレスメモリの読み込みを行う場合の動作を示す説明図である。
【図８】メモリシステムに記憶されたデータを検索するパターン認識方法（データ検索方法）に関する説明図である。
【図９】認識対象となる画像データの視野分割を示す説明図である。
【図１０】本発明に係るデータ検索方法を応用した映像データアーカイブシステムの構成を示す図である。
【図１１】本発明に係るデータ記憶装置の更なる実施形態を用いるメモリシステムの構成について示すブロック図である。
【図１２】再生関数の一例を示すグラフである。
【図１３】時系列に沿った連続的なデータを再生する場合であっても、データ書き込み時と同順番となるようにデータを再生する再生システムの構成を示す図である。
【図１４】図１３の再生システムの回路構成を示す回路ブロックである。
【図１５】図１４の回路構成における特徴抽出センサからの出力信号に基づいて、図１４の回路構成を動作させるときのタイミングを示すタイミングチャートである。
【図１６】各スイッチング信号による同期の様子を示すタイミングチャートである。
【図１７】畳み込み関数の更なる例を示すグラフである。
【図１８】再生関数の更なる例を示すグラフである。
【図１９】メモリシステムが、映像データおよびそのインデックスデータを記憶部に格納するときの動作を説明する概念図である。
【図２０】メモリシステムが、映像データおよびそのインデックスデータを記憶部に格納するときの処理の流れを示すブロック図である。
【図２１】メモリシステムが、あらかじめ格納された映像データおよびそのインデックスデータに基づいて、画像データを検索するときの動作を説明する概念図である。
【図２２】メモリシステムが、あらかじめ格納された映像データおよびそのインデックスデータに基づいて、画像データを検索するときの処理の流れを示すブロック図である。
【図２３】実数インデックスメモリにおけるデシマルツリー構造のアドレスセルの生成ないし記憶の様子を示す図である。
【図２４】文字パターンの画像データへの線分抽出センサの適用と、写真の画像データへのＨＳＶセンサの適用とを説明する図である。
【図２５】メモリシステムが、画像データを段階的に分割しながら、その特徴量を階層的に抽出する様子を説明する図である。
【図２６】線分抽出センサの適用例を示す図である。
【図２７】画像データが所定の線分画像を有する場合において、縦方向センサ、横方向センサ、斜めセンサの各出力を示す図である。
【図２８】メモリシステムによるキーワード検索の流れを示す図である。
【符号の説明】
【０２０４】
１    メモリシステム（データ記憶装置、データ検索装置）
１０  入力部
２０  制御部（格納制御部、コンピュータ）
２１  変換テーブル
２２  畳み込み演算部
２３  Ｒ／Ｗ制御部
３０  記憶部
３１  実数アドレスメモリ
４０  再生部
【図１】
2006313524.tif 000003
【図２】
2006313524.tif 000004
【図３】
2006313524.tif 000005
【図４】
2006313524.tif 000006
【図５】
2006313524.tif 000007
【図６】
2006313524.tif 000008
【図７】
2006313524.tif 000009
【図８】
2006313524.tif 000010
【図９】
2006313524.tif 000011
【図１０】
2006313524.tif 000012
【図１１】
2006313524.tif 000013
【図１２】
2006313524.tif 000014
【図１３】
2006313524.tif 000015
【図１４】
2006313524.tif 000016
【図１５】
2006313524.tif 000017
【図１６】
2006313524.tif 000018
【図１７】
2006313524.tif 000019
【図１８】
2006313524.tif 000020
【図１９】
2006313524.tif 000021
【図２０】
2006313524.tif 000022
【図２１】
2006313524.tif 000023
【図２２】
2006313524.tif 000024
【図２３】
2006313524.tif 000025
【図２４】
2006313524.tif 000026
【図２５】
2006313524.tif 000027
【図２６】
2006313524.tif 000028
【図２７】
2006313524.tif 000029
【図２８】
2006313524.tif 000030