TOP > 国内特許検索 > データ記憶装置、データ検索装置、データ再生装置、データ検索プログラム > 明細書

明細書 :データ記憶装置、データ検索装置、データ再生装置、データ検索プログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4792576号 (P4792576)
公開番号 特開2006-313524 (P2006-313524A)
登録日 平成23年8月5日(2011.8.5)
発行日 平成23年10月12日(2011.10.12)
公開日 平成18年11月16日(2006.11.16)
発明の名称または考案の名称 データ記憶装置、データ検索装置、データ再生装置、データ検索プログラム
国際特許分類 G06T   1/00        (2006.01)
G06T   7/00        (2006.01)
FI G06T 1/00 200D
G06T 7/00 300A
請求項の数または発明の数 16
全頁数 36
出願番号 特願2005-356985 (P2005-356985)
出願日 平成17年12月9日(2005.12.9)
優先権出願番号 2005111301
優先日 平成17年4月7日(2005.4.7)
優先権主張国 日本国(JP)
審査請求日 平成20年12月3日(2008.12.3)
特許権者または実用新案権者 【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
発明者または考案者 【氏名】石井 光雄
個別代理人の代理人 【識別番号】110000338、【氏名又は名称】特許業務法人原謙三国際特許事務所
審査官 【審査官】真木 健彦
参考文献・文献 国際公開第2004/047026(WO,A1)
特開2004-005303(JP,A)
特開2001-282800(JP,A)
特開平10-301943(JP,A)
調査した分野 G06T 1/00
特許請求の範囲 【請求項1】
データを記憶する記憶部と、
外部から入力された第1のデータ列をカオス力学系関数に基づく関数演算によって第1の実数値に畳み込む第1の畳み込み演算部と、
上記第1の実数値を上記記憶部のデータ格納位置に対応づけ、上記第1のデータ列に関連づけられた関連づけデータを上記データ格納位置に格納する格納制御部とを備えることを特徴とするデータ記憶装置。
【請求項2】
上記カオス力学系関数は単峰関数であることを特徴とする請求項1に記載のデータ記憶装置。
【請求項3】
上記第1の実数値は0より大きく1未満の範囲内であることを特徴とする請求項1または2に記載のデータ記憶装置。
【請求項4】
上記第1のデータは複数ビットで構成されることを特徴とする請求項1ないし3のいずれか1項に記載のデータ記憶装置。
【請求項5】
上記記憶部に上記第1のデータ列が格納されることを特徴とする請求項1ないし4のいずれか1項に記載のデータ記憶装置。
【請求項6】
上記記憶部は半導体メモリからなっており、
上記制御部は、上記第1の実数値を上記半導体メモリのメモリアドレスに対応づけることを特徴とする請求項1ないし5のいずれか1項のデータ記憶装置。
【請求項7】
請求項1ないし6のいずれか1項のデータ記憶装置を用いるデータ検索装置であって、
外部から入力された第2のデータ列を上記カオス力学系関数に基づく関数演算によって第2の実数値に畳み込む第2の畳み込み演算部と、
上記第2の実数値を上記記憶部のデータ格納位置に対応づけ、該データ格納位置に格納されたデータに基づいて、上記第2のデータ列に対応するデータを特定する検索制御部とを備えることを特徴とするデータ検索装置。
【請求項8】
上記第1のデータ列および第2のデータ列は、画像データであることを特徴とする請求項7に記載のデータ検索装置。
【請求項9】
上記第1のデータ列および第2のデータ列は、画像データの少なくとも一部の画像領域から抽出された特徴を示す特徴量を含むことを特徴とする請求項7に記載のデータ検索装置。
【請求項10】
上記第1のデータ列および/または第2のデータ列は、上記特徴量を複数含むとともに、
上記第1の畳み込み演算部および/または第2の畳み込み演算部は、上記カオス力学系関数に基づく関数演算において、画像データの狭い画像領域から抽出された特徴量から、画像データの広い画像領域から抽出された特徴量の順に、上記第1のデータ列および/または第2のデータ列を実数値に畳み込むことを特徴とする請求項9に記載のデータ検索装置。
【請求項11】
上記第1のデータ列および/または第2のデータ列は、上記特徴量として、画像データの少なくとも一部の符号化処理によって得られた複数次数の周波数成分を含むとともに、
上記第1の畳み込み演算部および/または第2の畳み込み演算部は、上記カオス力学系関数に基づく関数演算において、低次の周波数成分の特徴量から高次の周波数成分の特徴量の順に、上記第1のデータ列および/または第2のデータ列を実数値に畳み込むことを特徴とする請求項9または10に記載のデータ検索装置。
【請求項12】
上記第1のデータ列と第2のデータ列との少なくとも一方は、同じ配列が繰り返されていることを特徴とする請求項7ないし11のいずれか1項に記載のデータ検索装置。
【請求項13】
キーワードの入力を受け付けるキーワード入力部と、
画像内容を示す文字列情報と関連づけられた辞書画像データを複数格納する辞書画像データ格納部と、
上記辞書画像データ格納部に格納された複数の辞書画像データの中から、上記キーワード入力部にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データを特定する辞書画像特定部とを備え、
上記第2の畳み込み演算部は、上記辞書画像特定部にて特定された一の辞書画像データを、上記第2のデータ列として第2の実数値に畳み込むとともに、
上記検索制御部は、上記第2の実数値を上記記憶部のデータ格納位置に対応づけ、該データ格納位置に格納されたデータに基づいて、上記キーワードに対応する画像データを特定することを特徴とする請求項7ないし12のいずれか1項に記載のデータ検索装置。
【請求項14】
請求項1ないし6のいずれか1項のデータ記憶装置を用いるデータ再生装置であって、
上記第1の実数値に、上記カオス力学系関数の逆関数に基づく逆関数演算を施すことによって、上記第1のデータ列を再生するデータ再生部を備えることを特徴とするデータ再生装置。
【請求項15】
コンピュータを、
請求項7ないし12のいずれか1項に記載のデータ検索装置における、
上記第1の畳み込み演算部、上記格納制御部、上記第2の畳み込み演算部、および上記検索制御部として機能させることを特徴とするデータ検索プログラム。
【請求項16】
外部から入力された第1のデータ列をカオス力学系関数に基づく関数演算によって第1の実数値に畳み込む第1の畳み込み演算部と、
上記第1の実数値を記憶部のデータ格納位置に対応づけ、上記第1のデータ列に関連づけられた関連づけデータを上記データ格納位置に格納する格納制御部とを備えることを特徴とするデータ記憶装置。
発明の詳細な説明 【技術分野】
【0001】
本発明は、画像データ、音声データ、音楽データ等のコンテンツデータまたはそのリンク情報等を記録するデータ記憶装置、このデータ記憶装置を用いるデータ検索装置およびデータ再生装置、データ検索プログラムに関するものである。
【背景技術】
【0002】
従来、半導体メモリや各種の記録媒体から構成されるとともに、データを記憶するデータ記憶装置ないしデータベースが利用されている。
【0003】
特にデータ記憶装置として半導体メモリを用いるものが広く知られている。このような半導体メモリは、通常、固有のメモリアドレスによって指定される記憶単位としてのメモリセル、このメモリセルの集合からなる広大な記憶領域としてのメモリ空間を有している。
【0004】
上記のメモリセルないしメモリ空間について、半導体メモリの一種であるDRAM(Dynamic Random Access Memory)を例に挙げて説明する。DRAMは、その内部に規格に応じた所定のビット数に応じた数のコンデンサを内蔵している。そして、DRAMは、各コンデンサに電荷を蓄えることによって、各コンデンサに1ビットのデータを記憶し、各コンデンサに蓄積した電荷が時間と共に減衰しないように、定期的な増幅を行うことによってその記憶内容を保持している。このようなDRAMでは、上記の各コンデンサが記憶単位としてのメモリセルに相当するものであって、これら各メモリセルおよびそのメモリ空間上の位置は固有の番号(メモリアドレス)によって指定される。
【0005】
このようなメモリに記憶されたデータを利用して、入力された画像データや音声データをパターン認識処理する場合、認識すべき画像データや音声データを、既にメモリに記憶されている複数の画像データや音声データ(既知パターンデータ)とを対比することによって、認識対象データがいずれの既知パターンデータと一致ないし近似するかを判定することになる。
【0006】
例えば、二次元画像の画像データをパターン認識処理する場合、通常、次の手順が採用される。まず、認識対象となる二次元画像の画像データから、その二次元画像に含まれるパターンを特徴づける特徴量、すなわち、画像の色や形状をあらわす情報や画像に含まれる線分の長さ、傾き、太さなどをあらわす情報を好ましくは複数抽出する。同様に、既知パターンデータとしてメモリに記憶されている各画像データについても上記の特徴量を抽出する。そして、認識対象データと既知パターンデータとの間で、各特徴量ないしこれらの組み合わせを対比することによって、複数の既知パターンデータの中から認識対象データと最も特徴量の近い既知パターンデータを特定し、特定された既知パターンデータが認識対象データの認識結果とされる。

【特許文献1】特開平5-144276(1993年6月11日公開)
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、このような従来のメモリ構成では、その記憶データを用いてパターン認識処理を行う場合、高効率化、高速化に限界が生じることになる。
【0008】
なぜなら、前述のような従来のメモリにデータ列を記憶する場合、このデータ列の内容は順次メモリセルに格納されていくことになるので、一般に、各メモリセルの記憶内容は、そのメモリアドレスとは無関係である。すなわち、画像データや音声データなどのデータ列を半導体メモリに格納する場合、メモリアドレスと各メモリセルの記憶内容との間には相関関係が存在しない。
【0009】
したがって、従来のメモリを用いてパターン認識処理を行う場合、メモリに記憶された既知パターンデータの内容を知るために、メモリの記憶内容を読み出し開始位置から順次読み出すことによって、全ての既知パターンデータを読み出すことが必要となる。それゆえ、読み出すべきデータ量およびメモリ空間は膨大なものとなるので、前述のような特徴量群の抽出やその対比、最適類似度を有するデータの特定などの各処理と相まって、コンピュータの処理負担が重く、パターン認識処理に長時間を要する原因となっている。特にパターン認識の対象が画像データのように大きな情報量を有する場合、メモリから読み出すべきデータ量およびメモリ空間は膨大となるので、この問題は一層深刻なものとなる。
【0010】
また、このようなパターン認識処理の認識精度を向上させるためには、メモリに記憶しておくパターンデータの数を増やしたり、認識対象データおよびパターンデータから抽出する特徴量のデータを増やしたりすることが有益であるが、このようなデータの増加は、パターン認識処理の処理時間の増大に拍車をかけることになる。
【0011】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、画像データ、音声データ、音楽データ等のコンテンツデータまたはそのリンク情報等を記録するデータ記憶装置、このデータ記憶装置を用いるデータ検索装置およびデータ再生装置、データ検索プログラムを実現することにある。
【課題を解決するための手段】
【0012】
本発明に係るデータ記憶装置は、上記課題を解決するために、データを記憶する記憶部と、外部から入力された第1のデータ列をカオス力学系関数に基づく関数演算によって第1の実数値に畳み込む第1の畳み込み演算部と、上記第1の実数値を上記記憶部のデータ格納位置に対応づけ、上記第1のデータ列に関連づけられた関連づけデータを上記データ格納位置に格納する格納制御部とを備えることを特徴としている。
【0013】
また、本発明に係るデータ記憶装置は、上記課題を解決するために、外部から入力された第1のデータ列をカオス力学系関数に基づく関数演算によって第1の実数値に畳み込む第1の畳み込み演算部と、上記第1の実数値を記憶部のデータ格納位置に対応づけ、上記第1のデータ列に関連づけられた関連づけデータを上記データ格納位置に格納する格納制御部とを備えることを特徴としている。
【0014】
上記の構成において、第1のデータ列には、画像データ、動画データ(映像データ)、音声データ、音楽データ等、その形式やデータのあらわすコンテンツ等の種別を問わず、1ビットないし複数ビットのデジタル情報で表現される全てのデータ列が含まれる。
ここで、カオス力学系関数の種類は、特に限定されるものではなく、後述の三角山関数、ロジステック関数、二次関数等を採用することができる。1ビットデータ列の畳み込み演算のためのカオス力学系関数としては任意の単峰関数を選ぶことができる。
【0015】
上記の構成によれば、第1の畳み込み演算部の機能によって第1のデータ列はカオス力学系関数に基づく関数演算に基づいて変換され、第1の実数値に畳み込まれる。そして、格納制御部の機能によって、上記第1の実数値は記憶部のデータ格納位置に対応づけられ
、第1のデータ列に関連づけられた関連づけデータが、第1の実数値に対応づけられた記憶部のデータ格納位置に格納される。
【0016】
ここで、第1のデータ列に関連づけられた関連づけデータとは、第1のデータ列に関連づけられた記銘情報やリンク情報の他、上記第1のデータ列の変換データ、および第1のデータ列そのものを含むものである。
【0017】
上記の構成によれば、第1のデータ列のデータ内容に対応した第1の実数値が算出されるとともに、この第1の実数値の値に基づいて、第1のデータ列に関連づけられた関連づけデータを格納すべき記憶部のデータ格納位置が特定される。
【0018】
したがって、記憶部における関連づけデータの格納位置は第1のデータ列のデータ内容に応じて決められることになるので、記憶部に格納されるデータの内容とその格納位置は間接的に対応付けられたものとなる。それゆえ、無関係な記憶領域を読み出す必要がなく、所望の格納データに迅速なアクセスを行うことが可能となるので、高速かつ的確なデータ読み出しを実現することができる。
【0019】
本発明に係るデータ記憶装置は、上記の構成において、上記第1の実数値は0より大きく1未満の範囲内であることも好ましい。
【0020】
上記の構成によれば、上記の作用効果に加えて、第1の実数値の取り扱いないし第1の実数値と記憶部のデータ格納位置との対応づけが容易になるので、この対応付けに基づくデータ格納、およびその後のデータアクセスを高速かつ簡便なものとすることができる。
本発明に係るデータ記憶装置は、上記課題を解決するために、上記第1のデータは複数ビットで構成されることも好ましい。
【0021】
上記の構成によれば、上記の作用効果に加えて、単数または複数のカオス力学系関数に基づく関数演算によって、複数ビットで構成される第1のデータ列に基づく第1の実数値の算出ないしこの第1の実数値の値に基づくデータ格納位置の特定を的確に行うことが可能となる。
【0022】
本発明に係るデータ記憶装置は、上記の構成において、上記記憶部に上記第1のデータ列が格納されることも好ましい。
【0023】
上記の構成によれば、上記の作用効果に加えて、関連づけデータとは別に、または関連づけデータの一態様として、第1のデータ列が記憶装置に記憶されるため、アクセス時の利便性を向上させることができる。
【0024】
本発明に係るデータ記憶装置は、上記の構成において、上記記憶部は半導体メモリからなっており、上記格納制御部は、上記第1の実数値を上記半導体メモリのメモリアドレスに対応づけることも好ましい。
【0025】
上記の構成によれば、メモリデバイスとして広く用いられている半導体メモリを利用しながら、記憶内容とそのメモリアドレスとを関連づけるデータ記憶装置を実現することができる。
【0026】
本発明に係るデータ検索装置は、上記課題を解決するために、前記データ記憶装置を用いるデータ検索装置であって、外部から入力された第2のデータ列を上記カオス力学系関数に基づく関数演算によって第2の実数値に畳み込む第2の畳み込み演算部と、上記第2の実数値を上記記憶部のデータ格納位置に対応づけ、該データ格納位置に格納されたデータに基づいて、上記第2のデータ列に対応するデータを特定する検索制御部とを備えることを特徴としている。
【0027】
上記の構成によれば、第2の畳み込み演算部の機能によって、外部から入力された第2のデータ列が、第1の実数値に畳み込んだときと同じカオス力学系関数に基づく関数演算によって第2の実数値に畳み込まれる。
【0028】
そして、検索制御部の機能によって、第2の実数値が記憶部のデータ格納位置に対応づけられ、そのデータ格納位置に格納されたデータが読み出される。前述のとおり、前記データ記憶装置では、記憶部に格納されるデータの内容とその格納位置は間接的に対応付けられたものとなっているので、検索制御部の機能によって、上記データ格納位置から読み出されたデータは、第2のデータ列に対応するものとなっている。
【0029】
したがって、メモリ内の被検索データを全て読み出すことなしに、第2のデータ列に対応するデータを直接的に特定することができるので、極めて高速かつ的確なデータ検索を実現することができる。
【0030】
なお、検索制御部は、第2の実数値を記憶部のデータ格納位置に対応づける際に、第2の実数値そのものではなく、第2の実数値の近傍値を記憶部のデータ格納位置に対応づけてもよい。この構成によれば、第2のデータ列と同一のデータ列だけでなく、第2のデータ列と類似するデータ列も検索対象とすることができる。
【0031】
本発明に係るデータ検索装置は、上記の構成において、上記第1のデータ列および第2のデータ列を画像データとすることも好ましい。本発明に係るデータ検索装置によれば、画像データのような大きな情報量を有するデータを検索する場合であっても、高速かつ的確なデータ検索を実現することができる。
【0032】
本発明に係るデータ検索装置は、上記の構成において、上記第1のデータ列および第2のデータ列は、画像データの少なくとも一部の画像領域から抽出された特徴を示す特徴量を含むことも好ましい。
【0033】
画像データから抽出される特徴量とは、画像データが示す画像の特徴ないし特性を示す各種の値をいう。例えば、特徴量を、各種の画像センサの出力値によって得ることができる。このような特徴量の具体例としては、線分抽出センサ、明度センサ、色センサ、HSV(「色相(Hue)」「彩度(Saturation)」「明度(Value)」)センサの各出力などを挙げることができる。これらセンサは、画像データの全体に作用させることもできるし、画像データの一部に作用させることもできる。
【0034】
上記の構成によれば、画像データをそのまま上記第1ないし第2のデータ列として用いる場合と比較して、第1ないし第2のデータ列のデータ量を小さくすることができる。それゆえ、データ検索の処理負担を小さなものとして、より高速なデータ検索を実現することが可能となる。
【0035】
本発明に係るデータ検索装置は、上記の構成において、上記第1のデータ列および/または第2のデータ列は、上記特徴量を複数含むとともに、上記第1の畳み込み演算部および/または第2の畳み込み演算部は、上記カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量が、より後の演算対象となるように、上記第1のデータ列および/または第2のデータ列を実数値に畳み込むことが好ましい。
【0036】
例えば、上記第1のデータ列(第2のデータ列)が、所定の画像データにおいて、画像全体の領域から抽出された特徴量、4分の1の画像領域から抽出された特徴量、16分の1の画像領域から抽出された特徴量を含む場合を考える。この場合、第1の畳み込み演算部(第2の畳み込み演算部)は、上記カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量がより後の演算対象となるように、16分の1の画像領域から抽出された特徴量・4分の1の画像領域から抽出された特徴量・画像全体の領域から抽出された特徴量の順番に畳み込み演算を実行する。
【0037】
より広い画像領域の画像データから抽出された特徴量がより後の演算対象となるようにするための具体的手法としては各種のものが考えられる。一例としては、第1の畳み込み演算部(第2の畳み込み演算部)が、上記の畳み込み演算をより狭い画像領域の画像データから抽出された特徴量から順番に、階層(レイヤー)的に演算処理していく手法が考えられる。 さらに、上記第1のデータ列(第2のデータ列)において、より広い画像領域の画像データから抽出された特徴量が前に位置するように、複数の特徴量を配列しておき、これらデータ列の後ろ側から畳み込み演算を実行してもよい。
【0038】
上記の構成によれば、上記カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量ほど後に演算処理されるので、畳み込み値により強く反映されることになる。他方、より広い画像領域の画像データから抽出した特徴量ほど、画像データ全体としての画像の特徴ないし特性をより忠実に反映しているものと考えられる。
【0039】
これにより、上記の作用効果に加えて、画像データを実数値に畳み込むときの精度を向上させて、より的確な画像データの検索を実現することができる。
【0040】
本発明に係るデータ検索装置は、上記の構成において、上記第1のデータ列および/または第2のデータ列は、上記特徴量として、画像データの少なくとも一部の符号化処理によって得られた複数次数の周波数成分を含むとともに、上記第1の畳み込み演算部および/または第2の畳み込み演算部は、上記カオス力学系関数に基づく関数演算において、より低い周波数成分が、より後の演算対象となるように、上記第1のデータ列および/または第2のデータ列を実数値に畳み込むことが好ましい。
【0041】
上記の構成において、画像データの符号化処理の具体例としては、フーリエ変換やコサイン変換などのアフィン変換、各種の直交変換が挙げられる。これら変換においては、例えば、ゼロ次成分は直流分すなわち画像の平均の明るさ、一次成分は基本周波数成分、2次成分は倍周期成分、・・・というように、低次から高次の周波数成分が得られる。
【0042】
上記の構成において、第1の畳み込み演算部(第2の畳み込み演算部)は、上記カオス力学系関数に基づく関数演算において、より低い周波数成分が、より後の演算対象となるように、実数値の畳み込む処理を実行する。
【0043】
より低い周波数成分がより後の演算対象となるようにするための具体的手法としては、例えば、上記第1のデータ列(第2のデータ列)において、より低い周波数成分が前に位置するように、各次数の周波数成分を配列しておき、これらデータ列の後ろ側から畳み込み演算を実行する手法などが挙げられる。
【0044】
上記の構成によれば、上記カオス力学系関数に基づく関数演算において、より低い周波数成分ほど後に演算処理されるので、畳み込み値により強く反映されることになる。一般に、人間の視覚特性上、より低次の周波数成分ほど画像の観察者により強い印象を与えることが知られている。
【0045】
これにより、上記の作用効果に加えて、人間の視覚特性に適合する的確な画像データの検索を実現することができる。
【0046】
本発明に係るデータ検索装置は、上記の構成において、上記第1のデータ列と第2のデータ列との少なくとも一方は、同じ配列が繰り返されていることが好ましい。
【0047】
本発明のカオス力学系関数に基づく関数演算によれば、入力されたデータ列に対して固有の実数値を収束対応させることができる。しかしながら、上記データ列は有限の桁数を有しており、データ列の桁数が少ないほど上記収束の程度にバラツキが生じる。これは、入力されたデータ列の桁数が少ないほど、カオス力学系関数の出力が初期値の影響を強く受けるからである。
【0048】
上記の構成によれば、同配列の繰り返しによって、上記カオス力学系関数に基づく関数演算の対象となるデータ列は、その情報を変化させることなく、その桁数を増加させることができる。したがって、上記の構成によれば、初期値にかかわらず、カオス力学系関数に基づく関数演算によって得られる実数値を安定したものとすることができる。例えば、第1のデータ列の関数演算と第2のデータ列の関数演算とに用いた初期値が異なっている場合でも、これら関数演算によって得られる実数値を安定したものとすることができる。
【0049】
これにより、上記の作用効果に加えて、カオス力学系関数に基づく関数演算に用いる初期値にかかわらず、上記実数値に基づいてなされるデータ検索の精度を向上させることが可能となる。
【0050】
本発明に係るデータ検索装置は、上記の構成において、キーワードの入力を受け付けるキーワード入力部と、画像内容を示す文字列情報と関連づけられた辞書画像データを複数格納する辞書画像データ格納部と、上記辞書画像データ格納部に格納された複数の辞書画像データの中から、上記キーワード入力部にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データを特定する辞書画像特定部とを備え、上記第2の畳み込み演算部は、上記辞書画像特定部にて特定された一の辞書画像データを、上記第2のデータ列として第2の実数値に畳み込むとともに、上記検索制御部は、上記第2の実数値を上記記憶部のデータ格納位置に対応づけ、該データ格納位置に格納されたデータに基づいて、上記キーワードに対応する画像データを特定することが好ましい。
【0051】
上記の構成によれば、上記辞書画像データ格納部に格納された複数の辞書画像データの中から、キーワード入力部にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データが特定される。そして、第2の畳み込み演算部にて、特定された辞書画像データが上記第2のデータ列として第2の実数値に畳み込まれ、検索制御部にて、第2の実数値に基づいて、上記キーワードに対応する画像データが特定される。
【0052】
ここで、辞書画像データと関連づけられる文字列情報の態様は特に限定されないが、その具体例として、辞書画像データに関連づけられたキャプション情報、ファイル名情報、辞書画像データ(例えばJPEGデータ)のヘッダ領域に含まれる文字列情報などが挙げられる。
【0053】
上記の構成によれば、キーワードに基づいて辞書画像データを特定する第1の検索がなされた後、特定された辞書画像データに基づいて類似画像を特定する第2の検索がなされることになる。したがって、第2の検索において検索対象となる画像データに、これら画像内容を示す文字列情報が対応付けられていない場合であっても、第2の検索において上記キーワードに関連する画像データを特定することができる。
【0054】
それゆえ、検索対象となる画像データにテキスト情報などのメタ情報が付与されていない場合であっても、テキスト情報などのメタ情報が付与されている辞書画像を準備しておくだけで、キーワードに基づく上記画像データの検索を実現することができる。
【0055】
これにより、最終的な検索対象となる画像データの数が多い場合であっても、これら画像データにテキスト情報などのメタ情報を付与することなく、比較的少ない辞書画像データとその関連づけ情報に基づく画像検索が可能となるので、キーワードによる画像検索を高速に実現することが可能となる。
【0056】
本発明に係るデータ検索装置は、前記データ記憶装置を用いるデータ再生装置であって、上記第1の実数値に、上記カオス力学系関数の逆関数に基づく逆関数演算を施すことによって、上記第1のデータ列を再生するデータ再生部を備えることを特徴としている。
【0057】
上記の構成によれば、データ再生部の機能によって、第1の実数値に基づいて、カオス力学系関数の逆関数に基づく逆関数演算が行われ、この逆関数演算によって、第1のデータ列を再生することができる。すなわち、第1のデータ列の情報量を失わず、完全に第1の実数値に変換することができるというカオス力学系関数に基づく関数演算の特性を最大限に活用することによって、第1の実数値のみに基づいて、第1のデータ列を正確に再生することが可能となる。
【0058】
本発明に係るデータ検索プログラムは、コンピュータを、前記データ検索装置における、第1の畳み込み演算部、格納制御部、第2の畳み込み演算部、および検索制御部として機能させることを特徴としている。
【0059】
上記の構成によれば、コンピュータにデータ検索プログラムを読み取り実行させることによって、前記データ検索装置と同一の作用効果を得ることができる。
【発明の効果】
【0060】
本発明に係るデータ記憶装置によれば、以上のように、無関係な記憶領域を読み出す必要なしに、所望の格納データにアクセスを行うことが可能となるので、高速かつ的確なデータ読み出しを実現することができる。
【0061】
また、本発明に係るデータ検索装置によれば、以上のように、メモリ内の被検索データを全て読み出すことなしに、検索データに対応するデータを直接的に特定することができるので、高速かつ的確なデータ検索を実現することができるという作用効果を奏することができる。
【発明を実施するための最良の形態】
【0062】
(実施の形態1)
本発明の一実施形態について図面に基づいて説明すると以下の通りである。
【0063】
〔1.システム構成〕
図1に基づいて、本発明に係るデータ記憶装置の一実施形態を用いるメモリシステムの構成について説明する。
【0064】
メモリシステム1は、外部から入力されたデータ列(第1のデータ列,第2のデータ列)を入力するインターフェースとなる入力部10、メモリシステム1全体の演算ないしデータの入出力動作を司るコンピュータからなる制御部20、および半導体メモリからなる記憶部30から構成されている。
【0065】
そして、制御部20(格納制御部)は、入力部10を通じて入力されたデータ列をカオス力学系関数(後述)に基づいて変換するための変換テーブル21と、この変換テーブル21に基づいて上記データ列を実数値に畳み込む演算を実行する畳み込み演算部22(第1の畳み込み演算部,第2の畳み込み演算部)と、記憶部30に対しデータの書き込み制御および読み出し制御を実行するためのR/W制御部23とを備えている。
【0066】
また、記憶部30は、実数アドレスメモリ31(後述)となる記憶領域を備えている。
【0067】
〔2.動作の流れ〕
メモリシステム1は、入力部10を通じて入力される画像データ、動画データ(映像データ)、音声データ、音楽データ等、その形式やデータのあらわすコンテンツ等の種別を問わず、1ビットないし複数ビットのデジタル情報で表現される全てのデータ列を取り扱って、各種演算を実行し、記憶部30に記憶することができる。
【0068】
本実施形態において、メモリシステム1は、図2に示すようなM行N列で2次元配列された1ビットデータ(0または1の情報)から構成される画像データを取り扱うものとして、その動作を説明する。図2に示すように、2次元配列からなる画像データは、その2次元配列上の座標に対応する各画素値pを、例えば(1,1)(1,2)(1,N)・・・(M,1)(M,2)・・・(M,N)の順番に、(p,p,・・・,p)と並べることによって、1次元配列のデータ列として取り扱うことができる(n=N×M)。
【0069】
なお、画像データや音声データをどのようなデータ列として取り扱うかについては、BMP、TIFF、JPEG、MPEG等、各種のファイルフォーマットによって取り決められているので、これらファイルフォーマットに準拠した形式のデータ列として取り扱ってもよい。
【0070】
メモリシステム1は、入力部10を通じて入力されたデータ列をこのような1次元配列のデジタルデータの状態として制御部20に送信する。そして、このデータ列(p,p,・・・,p)は、畳み込み演算部22の演算動作によって、変換テーブル21に基づいて実数値に畳み込まれる。
【0071】
〔2-1.畳み込み演算〕
ここで、畳み込み演算部22による演算動作の詳細について説明する。
【0072】
変換テーブル21には、あらかじめカオス力学系を表現する畳み込み関数(カオス力学系関数)が登録されている。
【0073】
この畳み込み関数の代表的なものとしては図3に示される三角山関数を挙げることができる。図3の三角山関数は、数学的にはy=0.5x(0≦y≦0.5)およびy=-0.5x+1(0.5<y≦1)として表現できる。図3に示されているとおり、この三角山関数は、所定のx座標に対して2つのy座標が対応する二価関数となっている。
【0074】
但し、変換テーブル21に登録しておくべき、カオス力学系関数は、上記の三角山関数に限られるものではなく、ロジステック関数、二次関数y=4x(1-x)など、カオス力学系に従う任意の単峰関数を用いることができる。また、変換テーブル21に、あらかじめ複数のカオス力学系関数を登録しておき、後述の畳み込み演算時にいずれかのカオス力学系関数を選択して、演算に用いてもよい。
【0075】
畳み込み演算部22は、まず、乱数生成演算等によって0<x<1(x≠0.5)となる任意の初期値xを定める。この初期値xに対する、上記の三角山関数(図3)上のx座標x=xに対応するy座標の値として、y=0.5を挟んだ異なる二つの値ylarge,ysmallが存在している(ylarge>ysmall)。
【0076】
そして、畳み込み演算部22は、入力部10を通じて順次入力されるデータ列(p,p,・・・,P)の各値が、0または1のいずれとなっているかによって、上記の三角山関数のx座標x=xに対応する二つのy座標ylarge,ysmallのうち(ylarge>ysmall)一方を選択する。
【0077】
具体的には、畳み込み演算部22は、まず上記データ列(第一のデータ列,第二のデータ列)の最初のデータ値pに着目し、pが0であれば上記二つのy値のうちy=0.5より小さなysmallを初期値yとして選択する一方、pが1であれば上記二つのy値のうちy=0.5より大きなylargeを初期値yとして選択する。
【0078】
次に、畳み込み演算部22は、選択した初期値yを新たなx座標x=xとして、x座標xに対応する二つのy座標ylarge,ysmall(ylarge>ysmall)を求める。そして、上記データ列の2番目のデータ値pに着目し、pが0であれば上記二つのy値のうちy=0.5より小さなysmallをyとして選択する一方、pが1であれば上記二つのy値のうちy=0.5より大きなylargeをyとして選択する。
【0079】
そして、畳み込み演算部22は、選択したyを新たなx座標x=xとして同様にyを選択し、このような逐次演算を、上記データ列(p,p,・・・,p)の全てのデータ値に順次着目しながらn回繰り返すことによって畳み込み値x(第1の実数値)を求める。
【0080】
このようにして得られた単一の実数値からなる畳み込み値xは、上記データ列(p,p,・・・,p)を完全に反映したものとなっており、後述するように、この畳み込み値xに基づいて、データ列(p,p,・・・,p)を完全に再生することができる。
【0081】
次に、制御部20が、上記の実数値からなる畳み込み値xを記憶部30のメモリアドレスとして取り扱うことによって、R/W制御部23を介して、記憶部30の実数アドレスメモリ31にデータを記憶させる動作について説明する。
【0082】
制御部20は、上記のデータ列(p,p,・・・,p)を完全に再生する単一の実数値からなる畳み込み値xを記憶部30のメモリアドレス情報として取り扱うことによって、R/W制御部23を介して、記憶部30の実数アドレスメモリ31にデータを記憶させる。 すなわち、制御部20は、上記の実数値からなる畳み込み値xを記憶部30のメモリアドレス(データ格納位置)に対応づけ、上記データ列(第1のデータ列)に関連づけられた関連づけデータを上記メモリアドレスに格納する。
【0083】
まず、制御部20が、メモリ上にアドレスセルを生成する方法について説明する。以降、実数値からなる畳み込み値xを、記憶部30のアドレス情報として取り扱うという意味で「実数アドレスx」と称することにする。
【0084】
図4に示されるように、記憶部30のテーブルには、記銘(シンボル)、パターンとして記銘に関連づけたデータ列(p,p,・・・,p)、コンテンツデータに対応する実数アドレスxが格納される。なお、図4の情報を全て、テーブル形式で格納してもよいが、図5、図6を参照して後述するように、実数アドレスxを格納してしまえば、必ずしもパターンデータをテーブル形式で格納しておく必要はなくなるので、記憶部30には、少なくとも実数アドレスxと実数アドレスxにリンク付けされた記銘のデータとを格納しておけばよい。
【0085】
制御部20は、上記実数アドレスxの値に基づいて記憶部30の実数アドレスメモリ31の記憶構造を構築していく。
【0086】
図5に示すように、セルを単位として実数値を表現することによって実数アドレスメモリを構成することができる。図5のセル内情報を書き込んで行くことによって図6のような実数の桁位置に応じてセルのツリー構造が生成されメモリ構造が構築されてゆく。このようなメモリ構造は、0ないし1の実数直線アドレス上にパターンデータを並べたものとなるので、後述のように、データ検索において、検索対象データと一致するデータや近似するデータを高速検索する場合に有効という特徴を有する。
【0087】
図5に示すとおり、実数アドレスメモリ31は、セル番号、上位桁(桁位置m-1)のセル番号、上位桁(桁位置m-1)における実数アドレスxの値、このセルが示す実数アドレスxの桁位置m(10-mの桁が桁位置mに対応する)、セル内数値0~9および下記桁(桁位置m+1)のセル番号を含むセル構造で構成される。
【0088】
実数値を高速に検索するための構成例を示す。本構成は、後述するデータ検索において、検索対象データと一致するデータを検索する場合だけでなく、検索対象データと近似するデータを検索する場合にも有効な記憶構成である。
【0089】
図5において、セル番号0はトップセルと呼び、0から1の実数直線を10等分したもので、小数点以下第一桁を示す。0.0、0.1、0.2、・・・、0.9の各値の下には小数点第二桁のセルが生成されリンクが張られる。この例ではリンクはセル番号で行っている。図6の一本の数直線が一個のセルに対応する。図6では0.32857の例であるが各桁毎に一個づつのセルが順次生成されてリンクされてゆく。
【0090】
実数アドレスメモリ31は、実数アドレスxの桁数に応じて、順次、上記セル構造を繰り返し生成することによって構築されている。
【0091】
図6に基づいて、上記セル構造の生成について説明する。同図では、10-1の桁の各値に対して10-2の桁の数値0~9に対応するセルが一個生成される。最大で10セルが生成される。そして、10-2の桁の一つの数値に対して10-3の桁の数値0~9に対応するセルが一個生成される。このように一つのセルからはその下の桁に対して最大10個のセルが生成される。このように、実数アドレスxの桁数に応じ次々とアドレスセルが生成される様子を示している。
【0092】
上記のセル生成について詳細に説明すれば次のとおりである。例えば、実数アドレスxの値が0.32857であるものとする。この場合、実数アドレスxにおける小数点以下の最初の桁の値は3である。
【0093】
まず、セル番号0の小数第1桁のトップセルを生成する。図5に示すように、このセルの中のセル内数値3のところにContinueマークを書く。そして下位桁の数値2を覚えているセル番号Aを書き込んでおく。書き込んだセル番号Aは下位桁の小数第2桁の数値2を記憶したものでセル番号Aとして生成する。次にセル番号Aのセル内数値2のところにContinueマークを書き込むと同時に下位桁小数第3位の数値8を記憶するセル番号Bを書き込む。セル番号Bは小数第3桁の数値8を記憶したものである。
【0094】
この手順を繰り返していけば、実数アドレスxがどれだけの桁数からなる場合であっても、必要なだけのセルを逐次生成することができる。実数アドレスxの桁数(精度)を1桁増やすと生成すべきセルの数は約10倍となる。本明細書では、実数アドレスxの1桁毎に対応するセルの生成単位をアドレスセルと称する。このように実数アドレスメモリ31を構築することによって、各アドレスセルが実数アドレスxのどの桁に対応する数値を記憶しているものかが明瞭となる。
【0095】
このようにして、制御部20は、R/W制御部23を介して、記憶部30の記憶領域上に実数アドレスメモリ31の領域を確保していく。なお、記憶部30の記憶領域上に実数アドレスメモリ31の領域を確保していく際のアドレスポインターは、最新の生成セル番号に各セルのサイズ〔M(ワード)〕を乗じたものとなる。
【0096】
そして、制御部20は、実数アドレスメモリ31において、アドレスセルの最後の桁に対応するセルには、終了マーク(Endマーク)を書き込む一方、最後以外の桁に対応するセルには、続きマーク(Contマーク)を書き込んでおく。そして、各セルには、各パターンデータに対応づけられたコンテンツデータを格納しているテーブルへのリンク情報を記入しておく。ただし、メモリセル内に既にリンク情報が生成されているときには、記銘先のリンク情報が異なるときだけ更なるリンク情報を追加しておく。また、同一のアドレスセルに対して、複数の記銘のリンク情報を記入してもよい。また、荒い精度での実数アドレスメモリ31の読み出しを行う場合には、求めた実数アドレスに対して記銘のリンク先が存在しない場合があるので、適切な読み出し結果を求めるために、より下記桁の桁位置に対応するアドレスセルを参照する構成とすることが好ましい。
【0097】
メモリシステム1では、コンテンツデータであるデータ列(p,p,・・・,p)の変換処理によって得られた実数アドレスxを記憶部30のアドレス情報として、上記データ列に関連づけられた関連づけデータを記憶するので、記憶部30における記憶内容とアドレスとが対応したコンテンツアドレサブルメモリを構成している。なお、人間の脳神経系の記憶機構も、このようなコンテンツアドレサブルメモリ構造を有しているものと考えられている。
【0098】
図7は、メモリシステム1が、入力部10を通じて入力されたパターンデータに基づいて、実数アドレスメモリ31の読み込みを行う場合の動作を示す説明図である。この場合、メモリシステム1は、制御部20の機能により上記パターンデータに基づいてx=0~1の実数アドレスxを生成し、この実数アドレスxに基づいて実数アドレスメモリ31のアドレスをポインティングする。制御部20は、このポインティング先の記憶領域からあらかじめ記憶された書き込み痕跡や記銘コードのリンク先がどこかを知ることができる。
【0099】
〔2-2.パターン認識方法〕
次に、図8を用いて、メモリシステム1(データ検索装置)に記憶されたデータを検索するパターン認識方法について説明する。
【0100】
まず、検索対象となるパターンデータについて、複数の特徴抽出センサによる特徴量の抽出を行い、この特徴量を入力部10を通じて入力されたパターンデータ(多次元データ)として取り扱うことによって実数アドレスYを生成し、この実数アドレスYに基づいて実数アドレスメモリ31を構築しておく。
【0101】
その後、認識対象となるパターンデータについて、上記と同一の特徴抽出センサによる特徴量の抽出を行い、この特徴量を入力部10を通じて入力されたパターンデータ(多次元データ)として取り扱うことによって実数アドレスY’を生成する。そして、この実数アドレスY’に基づいて実数アドレスメモリ31にアクセスし、上記実数アドレスY’が既に実数アドレスメモリに記憶されている実数アドレスYと一致した場合には、 実数アドレスメモリ31において実数アドレスYに対応する領域に記憶されたリンク情報に基づいて記銘を読みとることによって、認識対象パターンの認識結果として採用する。一方、上記実数アドレスY’が既に実数アドレスメモリに記憶されている実数アドレスYと一致しない場合には、この実数アドレスY’と最も近い実数アドレスに対応する実数アドレスメモリ31の記憶内容を読みとることによって、上記リンク情報ないし記銘を特定し、認識対象パターンの認識結果として採用する。
【0102】
すなわち、メモリシステム1は、外部から入力されたデータ列をカオス力学系関数に基づく関数演算によって第2の実数値に畳み込み、この第2の実数値を記憶部30のデータ格納位置に対応づけ、このデータ格納位置に格納されたデータに基づいて、上記第2のデータ列に対応するデータを特定する構成となっている。
【0103】
前述のとおり、メモリシステム1における記憶部30および実数アドレスメモリ31は、コンテンツデータとアドレスとが対応したコンテンツアドレサブルメモリとなっているので、パターン認識のために最適類似度の既知パターンデータを特定する場合であっても、膨大なメモリ空間内を検索する必要がない。それゆえ、メモリシステム1によれば、認識精度を向上させるため、膨大なデータを既知のパターンデータとして記録する場合であっても、認識対象パターンと類似度の高い既知のパターンデータを直接的に特定することができる。これにより、高速かつ的確な検索ないしパターン認識が可能となる。特に、メモリシステム1は、画像データのような大容量データの認識に好適に用いることができる。
【0104】
なお、2次元画像から特徴量を抽出する場合には、図9に示すように、対象画像データを複数の視野領域(図9の視野1~視野4)に分割し、各領域において特徴量を抽出する構成を採用すればより的確な特徴量の抽出ないしパターン認識が可能となる。また、同図に示すように、視野1(図9の最左上領域)を更に視野1-1~視野1-4のように分割し、まず各視野1~視野4の特徴量を抽出した後、更に各視野1-1~視野1-4について特徴量を抽出する構成とすれば対象画像における局所的な特徴量をより的確に反映した特徴量の抽出ないしパターン認識が可能となる。
【0105】
以上の説明では、メモリシステム1が、書き込みおよび読み出しの対象とするデータ列としてM行N列の1ビットデータ(0または1)からなる2次元画像データを例に挙げたが、メモリシステム1が対象とするデジタルデータは2次元等の画像データに限定されるものではない。
【0106】
また、メモリシステム1は、離散データではなく、音声データのような時系列に沿った連続的なデータを書き込みおよび読み出しの対象とすることができる。時系列に沿った連続的なデータの書き込みおよび読み出しを行う場合には、データの入出力順に沿って所定のデータ量(サンプル数)毎に、順次実数アドレスを求め、この実数アドレスに対応するアドレスセルを生成することになる。
【0107】
〔2-3.映像データアーカイブシステムへの応用〕
次に、図10を用いて、前述のパターン認識方法(データ検索方法)を応用した映像データアーカイブシステムの構成について説明する。図10に示した映像データアーカイブシステムの構成は、コンテンツデータとして、大容量の映像データをシステムに供給するためのCD-ROMやDVD-ROM等の記録媒体およびその読み取り部、検索用データとして映像や画像等のサムネイルデータ(またはカットデータ)をシステムに入力する入力部、上記読み取り部によって供給された映像データおよび上記入力部から入力された検索用データの画像特徴量を抽出する特徴抽出センサ群(カット検出センサ、音声センサ、色検出センサ、ポジション検出センサ、形状検出センサ、動き検出センサ、テクスチャーセンサ、肌色情報等に基づいて顔画像を検出するための顔検出センサ)、これら各特徴抽出センサによって抽出された特徴量をカオス力学系の関数を用いて変換して実数アドレスを求める畳み込み演算部、記憶部から構成されている。
【0108】
また、上記の記憶部は、上記読み取り部によって供給された映像データをWM(Windows Media)形式(登録商標)やMPEG2形式等でタイムスタンプ情報と共にデータベースとして蓄積する映像データアーカイブ領域、畳み込み演算部によって求められた実数アドレスに基づいて構築される実数アドレスメモリの各記憶領域を備えている。また、図10に示すとおり、上記の記憶部には、上記特徴抽出センサによって抽出された特徴量を記憶させてもよい。
【0109】
次に、上記の映像アーカイブシステムの動作について説明する。
【0110】
あらかじめ、検索対象とすべき映像ないし画像データを上記記録媒体およびその読み取り部から読み取り、読みとった映像ないし画像データを、タイムスタンプ情報を付加した状態で映像データアーカイブに記憶させる一方、各特徴抽出センサ群にも入力する。各特徴抽出センサ群は、それぞれの検出特性に基づいて入力された映像ないし画像データの特徴量を抽出し、これら特徴量に基づいて前述の実数アドレスを生成する。このとき、各特徴抽出センサ群の特徴量に基づいて独立に実数アドレスを生成してもよいが、生成する実数アドレスと映像ないし画像データとをより的確に関連づけるためには、上記特徴抽出センサからえられた特徴量を適宜組み合わせた状態の特徴量を求め、この組み合わせ特徴量に基づいて実数アドレスを生成することが好ましい。そして、生成された実数アドレスの値に基づいて、実数アドレスメモリのアドレスセルを生成する。
【0111】
そして、データ検索時には、まず入力部から検索用データとして映像や画像等のサムネ
イルデータ(またはカットデータ)が入力され、入力された検索用データが前述の書き込み時と同一の組み合わせに基づいて各特徴抽出センサ群に入力される。各特徴抽出センサ群は、それぞれの検出特性に基づいて入力された検索用データの特徴量を抽出し、これら特徴量に基づいて実数アドレスを生成する。そして、生成された実数アドレスの値に基づいて、実数アドレスメモリの記憶内容を読み出し、映像データアーカイブから読み出すべきパターンデータを特定する。ここで、映像データアーカイブに記憶されているコンテンツデータと実数アドレスメモリに記憶されているリンク情報とは、前記タイムスタンプ情報を介してリンクされている。
【0112】
上記の映像アーカイブシステムによれば、検索用データの特徴量に基づいて直接的にパターンデータを特定することができるとともに、上記パターンデータと上記映像データアーカイブに記憶されているオリジナルの映像ないし画像データとがタイムスタンプ情報を通じてリンクしているので、全記憶領域を検索することなく、極めて高速かつ的確な検索が可能となる。
【0113】
〔3.実数アドレスに基づくデータ再生方法〕
本発明の更なる実施形態について図面に基づいて説明すると以下の通りである。
【0114】
本実施形態では、メモリシステム1が実数アドレスメモリ31に記憶されたリンク情報に基づいて記銘を参照するのではなく、実数アドレスxに基づいて直接的に記憶されたデータを再生する方法について説明する。
【0115】
図11に示す本実施形態に係るメモリシステム1の構成は、実施形態1の図1と同様であるが、実数アドレスxに基づいて直接的に記憶されたデータを再生する構成として更に再生部40の構成が付加されている。再生部40には、再生関数として、畳み込み演算部22の変換テーブル21に登録された関数と同じく三角山関数がテーブルデータとして登録されている。ただし、上記再生関数は、畳み込み演算部22に登録された関数においてx軸とy軸とを交換した逆関数となっている。図12に示される三角山関数は、数学的にはy=2x(0≦x≦0.5)およびy=-2x+2(0.5<x≦1)として表現される。
【0116】
まず、メモリシステム1の制御部20は、畳み込み演算部22から出力された実数アドレスxを再生部40に入力する。再生部40は、上記再生関数において、上記実数アドレスxに対応する点(X=x)のy座標をy値yとして求める。そして、実数アドレスxに対応するものとして得られたy値yを新たなX値xn-1とし、X座標xn-1に対応する点(X=xn-1)のy座標を次のX値xn-2として求める。
【0117】
このような再帰演算を繰り返すことによって、再生部40は、単一の実数アドレスXに基づいて、前述のカオス力学系の数列x(i=1,2,・・・,n)を全て生成することができる。そして、再生部40は、上記カオス力学系の数列x(i=1,2,・・・,n)の各値x(i=1,2,・・・,n)に対して、x≦0.5ならば0の値をpに割り当てる一方、x>0.5ならば1の値をpに割り当てることによって、上記数列xに変換前する前のデータ列(p,p,・・・,p)を完全に再生することができる。
【0118】
ただし、上述のとおり、再生部40は、カオス力学系の数列xをx,xn-1,xn-2,・・・,xの順に求めるので、通常、上記データ列の値p(i=1,2,・・・,n)を求める場合、変換前のデータ列p,p,・・・,pとは順序が逆のp,pn-1,pn-2,・・・,pの順に求められることに注意する必要がある。
【0119】
したがって、コンテンツデータとして音楽データ等のように、時系列に沿った連続的なデータを再生する場合、実数アドレスxの求出ないし実数アドレスメモリの生成時とこの実数アドレスメモリに基づくパターンデータの再生時、すなわちデータ書き込み時とデータ再生時において同順番となるようにデータが再生されることが好ましい。
【0120】
このような場合、図13の構成を採用すれば、時系列に沿った連続的なデータを再生する場合であっても、データ書き込み時と同順番となるようにデータを再生することができる。同図の構成では、前述のメモリシステム1による再生出力を更なるメモリシステム1’に入力し、その入力を取り出すことによって、特徴抽出センサからの出力データをそのままの順序で再生するものとなっている。
【0121】
すなわち、図13の構成では、基準時間(Sensor time)Tが1,2,・・・,nまで増加する間、特徴抽出センサから出力されるコンテンツデータの特徴量に基づいて実数アドレスを生成し、連続的に入力信号を畳み込んでいく。そして、基準時間(Sensor time)Tが所定時間nに達すると、そのT=nのときの実数アドレスを取り込んで、この実数アドレスに基づいてT=n,・・・,2,1の順序で上記コンテンツデータを再生する。
【0122】
そして、この再生データを更なるメモリシステムに入力し、この入力データに基づく実数アドレスを生成する。この実数アドレスに基づいて、コンテンツデータを再生すると、前回の再生時とは更に逆の順序、すなわち最初のデータ書き込み時と同じT=1,2,・・・,nの順序でデータを再生することが可能となる。
【0123】
図14は、図13の構成を回路ブロックとして説明するものである。特徴抽出センサ(外界センサ)から入力された連続的な特徴量のデータは、2値化回路によって2値化された後、畳み込み回路V1に送信される。この畳み込み回路V1によって実数アドレスとして畳み込まれた特徴量のデータは所定のデータ量毎に第1の再生回路に送信される。第1の再生回路から出力された再生データは再び2値化回路に送信され、この2値化回路から出力された後、畳み込み回路V2に送信される。この畳み込み回路V2によって実数アドレスとして畳み込まれた再生データは所定のデータ量毎に第2の再生回路に送信される。第2の再生回路から出力された再生データは、特徴抽出センサ(外界センサ)から入力されたときと同じ順序で再生されているので、最後の2値化回路を通して連続的なデータ出力を行うことが可能となる。なお、第1の再生回路の動作と第2の再生回路の動作とは、SW信号発生器から出力されるスイッチング信号SW1およびこれを遅延回路で所定時間遅延させたスイッチング信号SW2によって同期されている。
【0124】
図15は、図14の回路構成における特徴抽出センサからの出力信号(S)に基づいて、畳み込み回路V1、実数アドレスメモリ、第1の再生回路、畳み込み回路V2、第2の再生回路を動作させるときのタイミングを示すタイミングチャートである。図15におけるシンボル化回路は、図14の回路構成における2値化回路に対応している。
【0125】
図16は、上記スイッチング信号SW1およびこれを遅延回路で所定時間遅延させたスイッチング信号SW2による同期の様子を示すタイミングチャートである。センサ回路出力の基準時間が所定期間分だけ増加して、畳み込み回路V1の出力が100となったときのタイミングで上記スイッチング信号SW1を生成すると、第1の再生回路では100,99,・・・と逆の順序で再生出力が行われるが、畳み込み回路V1、再生回路、および第1のシンボル化回路の動作時間を考慮した時間だけ、スイッチング信号SW1に遅延するスイッチング信号SW2を生成して、畳み込み回路V2の出力を取り込むことによって、第2の畳み込み再生によるデータ順序の再反転が正しい周期毎に行われる。
【0126】
なお、本実施形態のメモリシステム1は、コンテンツデータを単一かつ固有の実数値に対応付けて記録ないし再生を実行し、実数値の精度を変えることによって再生データの精度を制御できるので圧縮符号化への応用も可能である。
【0127】
〔4.補足〕
以上、コンテンツデータとなるデータ列が1ビット情報である場合を例として本発明の実施例を説明したが、コンテンツデータとなるデータ列が1ビット情報ではなく、2ビット、3ビットなどの多ビット情報からなる場合、次のように、メモリシステム1における畳み込み関数および再生関数を変更することによって、コンテンツデータとなるデータ列が多ビット情報からなる場合にも、本発明に係るメモリシステム1を適用することができる。
【0128】
すなわち、図17に示す双峰関数を畳み込み関数として採用すれば、2ビット(4値)のコンテンツデータに基づいて、実数アドレスの畳み込みを行うことができる。同図の双峰関数は、三角山関数を二つ並べた形状の4価関数となる。畳み込み演算部22は、前述の1ビットの場合と同様、乱数生成演算等によって0<x<1(x≠0.5)となる任意の初期値xを定める。そして、入力部10を通じて順次入力されるデータ列は2ビットのデータ列p=00,01,10,11の値をとるので、このデータ列pの値に応じて、上記初期値xに対し、上記の4価関数のy値y,y,y,yのうち、小さなものから順番に対応する初期値yを選択する。その後、データ列が1ビット情報からなる場合と同様の逐次演算を繰り返すことによって、畳み込み演算を実行する。
【0129】
一方、実数アドレスに基づいてデータ再生を行う場合には、図18に示す上記双峰関数の逆関数を畳み込み関数として採用すれば、上記2ビット(4値)のコンテンツデータを完全に再現することができる。同図の再生関数は、上記4価関数のX軸とY軸とを入れ替えた一価関数となっている。そして、制御部20は、畳み込み演算部22から出力された実数アドレスxを再生部40に入力する。再生部40は、上記再生関数において、上記実数アドレスxに対応する点(X=x)のy座標をy値yとして求める。そして、実数アドレスxに対応するものとして得られたy値yを新たなX値xn-1とし、X座標xn-1に対応する点(X=xn-1)のy座標を次のX値xn-2として求める。
【0130】
このような再帰演算を繰り返すことによって、再生部40は、単一の実数アドレスXに基づいて、前述のカオス力学系の数列x(i=1,2,・・・,n)を全て生成することができる。そして、再生部40は、上記カオス力学系の数列x(i=1,2,・・・,n)の各値x(i=1,2,・・・,n)に対し、P=00(0<x≦0.25)、P=01(0.25<x≦0.5)、P=10(0.5<x≦0.75)、P=11(0.75<x<1)を割り当てることによって、上記数列xに変換前する前のデータ列を完全に再生することができる。
【0131】
なお、kビット(kは3以上の整数)のコンテンツデータを畳み込みないし再生する場合には、k個の三角山関数を並べたk峰関数(2価の関数となる)を用いればよく、最も簡単には三角山関数を峰の数だけ並べたものを畳み込み関数として採用することができる。そして、再生関数としては、上記畳み込み関数のx座標とy座標とを入れ替えた逆関数を用いればよい。
【0132】
上述の説明では、メモリシステム1に基づいて、本発明に係るデータ検索装置、およびそのパターン認識処理、データ再生装置に関して説明したが、本発明の適用範囲はこれに限るものではない。
【0133】
また、メモリシステム1における上記データ検索方法およびデータ再生方法の各処理ステップは、CPU等から構成される制御部が、ROM(Read Only Memory)やRAMなどの記憶手段に記憶されたプログラムを実行し、キーボードなどの入力手段、ディスプレイなどの出力手段、あるいは、インターフェース回路などの通信手段を制御することにより実現することができる。したがって、これらの手段を有するコンピュータが、上記プログラムを記憶した記憶媒体を読み取り、当該プログラムを実行するだけで、本実施形態の装置の各種機能および各種処理を実現することができる。また、上記プログラムをリムーバブルな記憶媒体に記憶することにより、任意のコンピュータ上で上記の各種機能および各種処理を実現することができる。
【0134】
この記憶媒体としては、マイクロコンピュータで処理を行うために図示しないメモリ、例えばROMのようなものがプログラムメディアであっても良いし、また、図示していないが外部記憶装置としてプログラム読取り装置が設けられ、そこに記憶媒体を挿入することにより読取り可能なプログラムメディアであっても良い。
【0135】
また、何れの場合でも、格納されているプログラムは、マイクロプロセッサがアクセスして実行される構成であることが好ましい。さらに、プログラムを読み出し、読み出されたプログラムは、マイクロコンピュータのプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であることが好ましい。なお、このダウンロード用のプログラムは予め本体装置に格納されているものとする。
【0136】
また、上記プログラムメディアとしては、本体と分離可能に構成される記憶媒体であり、磁気テープやカセットテープ等のテープ系、フレキシブルディスクやハードディスク等の磁気ディスクやCD/MO/MD/DVD等のディスクのディスク系、ICカード(メモリカードを含む)等のカード系、あるいはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する記憶媒体等がある。
【0137】
また、インターネットを含む通信ネットワークを接続可能なシステム構成であれば、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する記憶媒体であることが好ましい。
【0138】
さらに、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予め本体装置に格納しておくか、あるいは別な記憶媒体からインストールされるものであることが好ましい。
【0139】
(実施の形態3)
本発明の更なる実施形態について図面に基づいて説明すると以下の通りである。
【0140】
マルチメディア時代の到来に応じて、画像資料や映像資料を大量にアーカイブとして保管する機会が増えており、アーカイブされた膨大な画像データの中から所望のデータを検索することが重要となってきている。例えば、手書文字の認識や指紋認識、あるいは花の写真を提示して植物図鑑データベースなどと比較して花の名を調べたり(画像同定問題)や、監視カメラデータや家庭で撮ったビデオなどの録画データのような、画像内容の情報が付与されていないフレームごとの画像データから、特定の画像(例えば富士山の画像や特定の人物像)が写っている画像を取り出したりする(類似画像検索)ための効果的な技術が切望されている。
【0141】
このような場合、膨大な映像アーカイブデータの個々の画像データとの照合になり、画像データそのままでの比較では現実的な時間で処理することは不可能である。そこで、画像データの特徴量を抽出して比較する手法が一般的となっているが、全ての画像データの特徴量を計算し、これらを比較して最短距離の(最も類似する)画像データを求める処理は、処理量が膨大となる大規模データには適当ではない。
【0142】
この問題を解決する代表的な検索手法としては、画像データの画像内容を示すメタ情報に基づいて目的とする画像データを特定する手法が提案されている。
【0143】
しかしながら、単に、メタ情報に基づいて目的とする画像データを特定する手法では、一般的に検索精度が悪いことが知られている。この手法において検索精度を改善するためには、メタ情報を増やすことが考えられるが、メタ情報を増加させると、メタ情報のマッチングのための時間ないし検索時間が増大したり、マッチングの評価ないし精度が悪ければ局所的なマッチングのためにかえって検索精度が悪化したりするという問題点が生じている。
【0144】
そこで、本実施形態では、画像データの特徴量(形センサや色センサから出力される多次元データ)をビット列で表し、このビット列を前述のカオス力学系の関数を用いた変換によって実数値(0-1)に畳み込み、さらには、この実数値をインデックスデータとして採用することによって、膨大な画像データであっても、高速で検索できるメモリシステム1(データ検索装置)を提案する。
【0145】
〔1.システム構成〕
本実施形態のメモリシステム1(データ検索装置)の基本的構成は、図1と同じであるので、その説明は省略する。ただし、本実施形態では、インデックス情報を格納するという意味を強調するために、実数アドレスメモリ31を実数インデックスメモリ31と称することにする。また、記憶部30は、実数インデックスメモリ31のほか、供給された映像データをWM形式や各種のMPEG形式等でタイムスタンプ情報と共にデータベースとして蓄積する映像データアーカイブ領域32を備えている。このメモリシステム1は、ICカードなどの各種メモリデバイスに実装することができる。
【0146】
〔2.動作の流れ〕
図19は、本実施形態のメモリシステム1が、画像データの検索に先立って、あらかじめ映像データおよびそのインデックスデータを記憶部30に格納するときの動作を説明する概念図である。
【0147】
本実施形態のメモリシステム1は、入力部10を通じて入力される静止画ないし動画のデータ(WM,MPEG,JPEGなど。以下「映像データ」と総称する)から、コマ画像を取り込み処理(映像キャプチャー)した後、取り込まれた画像データを基準化したサイズ(例えば64×64画素サイズ)のサムネイル画像データを作成する。このとき、画像が変形しないよう、原画像データの縦横の縮尺比を変えずに画像データを切り出すなどして、サムネイル画像データを作成することが好ましい。
【0148】
このサムネイル画像データから、特徴抽出センサ群(カット検出センサ、音声センサ、色検出センサ、ポジション検出センサ、形状検出センサ、動き検出センサ、テクスチャーセンサ、肌色情報等に基づいて顔画像を検出するための顔検出センサ)によって、画像の特徴量(特徴ベクトル)を抽出する。これら特徴抽出センサの種類や組み合わせは任意であって、例えば、画像のパターン認識であれば、形状検出センサを重視したり、色検出センサを重視したりすることができる。
【0149】
そして、これら各特徴抽出センサによって抽出された特徴量(特徴ベクトル)を、変換テーブル21ないし畳み込み演算部22の演算動作によって、前述のカオス力学系の関数を用いて変換して実数値に畳み込み、この実数値(実数インデックス)をインデックスデータとして、この値に基づいて、実数インデックスメモリ31のアドレスセルを生成し、記憶部30内の実数インデックスメモリ31に、映像データアーカイブ領域32に格納された元映像データへのリンク情報を格納する。実数インデックスメモリ31のアドレスセルを生成するときには、インデックスデータによる高速検索が可能となるように、デシマルツリー構造を採用することが好ましい。なお、デシマルツリー構造を採用する場合には、適宜、二進数の実数値3ビットに十進数の一桁を割り当てる桁数演算を行う。
【0150】
メモリシステム1は、入力部10を通じて入力されたデータ列をこのような1次元配列のデジタルデータの状態として制御部20に送信する。そして、このデータ列(p,p,・・・,p)は、畳み込み演算部22の演算動作によって、変換テーブル21に基づいて実数値に畳み込まれる。
【0151】
メモリシステム1は、各特徴抽出センサ群の特徴量に基づいて独立に実数インデックスを生成してもよいし、生成する実数インデックスと映像ないし画像データとをより的確に関連づけるために、上記特徴抽出センサからえられた特徴量を適宜組み合わせた状態の特徴量を求め、この組み合わせ特徴量に基づいて特徴ベクトルないし実数インデックスを生成してもよい。なお、特徴量ベクトルについては後に詳述する。
【0152】
図20は、上記処理の流れをブロック図にて示したものである。すなわち、同図においては、検索対象としてメモリに登録しておくべき画像データ(ID=1~nnnn)から3つの特徴量(S1~S3)を抽出し、これら特徴量を実数値(実数インデックス)に変換している。そして、この実数値(実数インデックス)に基づいて、特徴量(S1~S3)ごとに、上記の画像データ(ID=1~nnnn)のリンク情報を、実数インデックスメモリ31のメモリ領域にデシマルツリー構造にて書き込んでいる。同図において、例えば、特徴量(S1)は特徴抽出センサによって抽出した線分の位置、特徴量(S2)は明度センサによって抽出した明度、特徴量(S3)は色相センサによって抽出した色相である。
【0153】
図21は、本実施形態のメモリシステム1が、あらかじめ記憶部30に格納された映像データおよびそのインデックスデータに基づいて、画像データを検索するときの動作を説明する概念図である。
【0154】
まず入力部から検索用の画像データとして質問画像や未知画像が入力されると、入力された画像データを基準化したサイズ(例えば64×64画素サイズ)のサムネイル画像データに加工する。このとき、画像が変形しないよう、質問画像や未知画像の画像データの縦横の縮尺比を変えずに切り出すなどすることが好ましい。
【0155】
このサムネイル画像データから、前述の特徴抽出センサ群によって画像の特徴量(特徴ベクトル)を抽出する。これら特徴抽出センサの種類や組み合わせはインデックスデータの作成時(インデックスデータの書き込み時)と同一のものを用いる。
【0156】
そして、これら各特徴抽出センサによって抽出された特徴量(特徴ベクトル)を、変換テーブル21ないし畳み込み演算部22の演算動作によって、前述のカオス力学系の関数を用いて変換して実数値に畳み込み、実数インデックスメモリ31から、畳み込まれた実数値(実数インデックス)に最も近いアドレスセルを読み出す。そして、アドレスセルから読み出したリンク情報に基づいて、映像データアーカイブ領域32に格納された元映像データにアクセスする。ここで、映像データアーカイブ領域32に記憶されているコンテンツデータと実数インデックスメモリ31に記憶されているリンク情報とは、タイムスタンプ情報を介してリンクされている。
【0157】
図22は、上記処理の流れをブロック図にて示したものである。すなわち、同図においては、質問画像として所定のIDを有する画像データが提示されると、その3つの特徴量(S1~S3)を抽出し、これら特徴量を実数値(実数インデックス)に変換している。そして、この実数値(実数インデックス)に基づいて、特徴量(S1~S3)ごとに、実数インデックスメモリ31のアドレスセルを読み出す。そして、読み出したリンク情報に基づいて、映像データアーカイブ領域32に格納された元映像データにアクセスしている。
【0158】
なお、本実施形態のメモリシステム1は、特徴量(S1~S3)によって、アクセスすべき元映像データが異なる場合には、アクセスしたすべての元映像データを質問画像に対する複数の検索結果(候補データ)として回答する。
【0159】
本実施形態のメモリシステム1によれば、検索用データの特徴量に基づいて直接的にパターンデータを特定することができるとともに、上記パターンデータと上記映像データアーカイブに記憶されているオリジナルの映像ないし画像データとがタイムスタンプ情報を通じてリンクしているので、全記憶領域を検索することなく、極めて高速かつ的確な検索が可能となる。特に、メモリシステム1は、図23に例示されるように、デシマルツリー構造にて、実数インデックスメモリ31のアドレスセルを生成する(または読み出す)ので、特徴量に基づいて得られた実数値(実数インデックス)による高速検索が可能となっている。同図は、特徴量に基づいて得られた実数値(実数インデックス)が0.6238であるときのアドレスセルの生成ないし記憶の様子を示している。
【0160】
このようなデシマルツリー構造によって実数値(実数インデックス)を記憶すれば、バイナリーツリー構造によって特徴量をビット列のまま記憶する場合と比較して、利用者がインタラクティブにツリー構造をたどる場合であっても、より直感的に理解しやすいという利点がある。このことは、デシマルツリー構造による実数値(実数インデックス)の記憶構造が、生物系の記憶再生モデルに類似することを示唆していると考えられる。
【0161】
〔3.特徴ベクトル〕
本実施形態のメモリシステム1は、前述のように、画像データの少なくとも一部の画像領域から抽出された特徴を示す特徴量を含むとともに、この特徴量のビット列(特徴ベクトル)に基づいて、実数値(実数インデックス)を算出している。
【0162】
すなわち、図24に例示されるように、文字パターンの画像データに線分抽出センサを適用したり、写真の画像データにHSV(「色相(Hue)」「彩度(Saturation)」「明度(Value)」)センサを適用したりすることによって、画像データの特徴量のビット列(特徴ベクトル)を出力し、この特徴ベクトルに基づいて、実数値Rを算出している。HSVセンサについては、複数のセンサ(1ビット出力)を組み合わせて多値表現を可能とすることが好ましい。また、HSVセンサにおいて、彩度の値が低く検出されたときには、色相を検出しないようにすることも好ましい。彩度の値が低い場合には、色相の検出ないし判定精度が不十分となる傾向があるからである。
【0163】
これらセンサは、画像データの全体に作用させることもできるし、画像データの一部に作用させることもできる。
【0164】
本実施形態のメモリシステム1によれば、画像データそのものから直接実数値を算出する場合と比較して、カオス力学系の関数による畳み込み演算にて処理すべきデータ量が小さくなっている。それゆえ、データ検索の処理負担を小さなものとして、より高速なデータ検索を実現することが可能となっている。
【0165】
〔3-1.特徴ベクトルの配列1〕
本実施形態のメモリシステム1は、カオス力学系の関数による畳み込み演算にて処理すべき画像データの特徴ベクトルは、複数の特徴量を含んでおり、上記カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量が、より後の演算対象となるように、特徴ベクトルを実数値に畳み込む構成としている。
【0166】
具体的には、図25に示されるように、本実施形態のメモリシステム1は、レイヤー1、レイヤー2、レイヤー3の3段階にて画像データを段階的に分割しながら、画像データの特徴量を階層的に抽出する構成となっている。ここで、レイヤー1は画像データの全体から特徴量を抽出する操作、レイヤー2は画像データの4分の1の画像領域から特徴量を抽出する操作、レイヤー3は画像データの16分の1の画像領域から特徴量を抽出する操作を指している。階層的に特徴量を抽出する手法は特に限定されるものではなく、線分抽出センサや、色相抽出センサなど種々の特徴抽出センサを利用することができる。
【0167】
そして、本実施形態のメモリシステム1は、カオス力学系関数に基づく関数演算において、レイヤー3にて抽出された特徴量、レイヤー2にて抽出された特徴量、レイヤー1にて抽出された特徴量の順番に畳み込み演算を実行する。このような順番で畳み込み演算を実行するために、単一の特徴ベクトル内に、レイヤー1にて抽出された特徴量、レイヤー2にて抽出された特徴量、レイヤー3にて抽出された特徴量を、この順に配列しておき、この特徴ベクトルの後ろ側から畳み込み演算を実行してもよい。
【0168】
これにより、本実施形態のメモリシステム1は、カオス力学系関数に基づく関数演算において、より広い画像領域の画像データから抽出された特徴量ほど後に演算処理されるので、畳み込み値により強く反映されることになる。画像データを実数値に畳み込むときの精度を向上させて、より的確な画像データの検索を実現することができる。
【0169】
図26は、線分抽出センサの適用例を示す図である。同図において、縦方向センサH1が画像データの画素が縦、すなわち紙面上下方向に所定画素数以上が揃った状態で配列されているか否かを検出するセンサである。同図では、縦方向センサH1が縦方向の6画素分を検出している様子を示している。縦方向センサH1は、画像データを順次走査していくことによって、画像データの全領域において縦方向の線分領域が存在するか否かを検出する。縦方向センサH1は、画像データを走査した結果、縦方向の線分領域の存在比率が所定のしきい値以上であれば出力をオン状態とする一方、画像データを走査した結果、縦方向の線分領域の存在比率が所定のしきい値未満であれば出力をオフ状態とする。
【0170】
横方向センサH2、斜めセンサH3・H4の動作も、縦方向センサH1と同様であって、それぞれ画像データの画素が各方向に、所定画素数以上が揃った状態で配列されているか否かを検出するものである。横方向センサH2、斜めセンサH3・H4についても、画像データを順次走査していくことによって、画像データの全領域において所定方向の線分領域が存在するか否かを検出する。
【0171】
図27は、画像データが所定の線分画像を有する場合に、縦方向センサH1、横方向センサH2、斜めセンサH3・H4の各出力がどのようになるかを示したものである。同図において、各センサの出力がオフの状態を「0」であらわす一方、オンの状態を「1」であらわしている。同図によれば、画像データが縦方向の線分画像を有する場合には、縦方向センサH1の出力がオン状態「1」となる一方、画像データが縦方向の線分画像を有していない場合には、縦方向センサH1の出力がオフ状態「0」となるなど、画像データにおける線分画像の方向に応じて、縦方向センサH1、横方向センサH2、斜めセンサH3・H4の各出力が変化する様子が示されている。
【0172】
これら線分抽出センサH1~H4の4ビット出力を、前述の各階層(レイヤー1、レイヤー2、レイヤー3)における画像データの特徴量抽出として用いることができる。ここで、階層ごとに画像の分割をだんだん細かくするので、各階層をレイヤーと称している。レイヤー2は4分割、レイヤー3は16分割する。これにより画像をより精密に検出できるようになる
〔3-2.特徴ベクトルの配列2〕
本実施形態のメモリシステム1は、カオス力学系の関数による畳み込み演算にて処理すべき画像データの特徴ベクトルが、特徴量として、画像データの少なくとも一部の符号化処理によって得られた複数次数の周波数成分を含む場合には、上記カオス力学系関数に基づく関数演算において、より低い周波数成分が、より後の演算対象となるように、特徴ベクトルを実数値に畳み込む構成としている。
【0173】
ここで、画像データの符号化処理の具体例としては、フーリエ変換やコサイン変換などのアフィン変換、各種の直交変換が挙げられる。これら変換においては、例えば、ゼロ次成分は直流分すなわち画像の平均の明るさ、一次成分は基本周波数成分、2次成分は倍周期成分、・・・というように、低次から高次の周波数成分が得られる。
【0174】
本実施形態のメモリシステム1は、上記カオス力学系関数に基づく関数演算において、より低い周波数成分が、より後の演算対象となるように、実数値の畳み込む処理を実行する。より低い周波数成分がより後の演算対象となるようにするための具体的手法としては、例えば、上記第1のデータ列(第2のデータ列)において、より低い周波数成分が前に位置するように、各次数の周波数成分を配列しておき、これらデータ列の後ろ側から畳み込み演算を実行する手法などが挙げられる。
【0175】
このように、本実施形態のメモリシステム1によれば、上記カオス力学系関数に基づく関数演算において、より低い周波数成分ほど後に演算処理されるので、畳み込み値により強く反映されることになる。一般に、人間の視覚特性上、より低次の周波数成分ほど画像の観察者により強い印象を与えることが知られている。すなわち、低次の周波数成分は、画像をローパスフィルターを通したように、全体を粗っぽく眺めたときの画像の特徴を示し、高次の周波数成分はハイパスフィルターを通したように、細部を観察したときの画像の特徴を示している。
【0176】
したがって、本実施形態のメモリシステム1によれば、人間の視覚特性に適合する的確な画像データの検索を実現することができる。
【0177】
なお、このような周波数成分の配列順は、3-1欄にて述べた階層順の特徴量配列と組み合わせて採用することができる。例えば、レイヤー1の画像データをコサイン変換して得られた係数(周波数成分)がA(C0,C1,C2,C3)であって、レイヤー2の画像データをコサイン変換して得られた係数(周波数成分)がB1(C0,C1,C2,C3),B2(C0,C1,C2,C3),B3(C0,C1,C2,C3),B4(C0,C1,C2,C3)であれば、特徴ベクトルを〔A(C0,C1,C2,C3),B1(C0,C1,C2,C3),B2(C0,C1,C2,C3),B3(C0,C1,C2,C3),B4(C0,C1,C2,C3)・・・〕のように配列することができる。
【0178】
なお、以上では、人間の視覚特性上、より低次の周波数成分ほど画像の観察者により強い印象を与えることに基づいて周波数成分の演算順番を定める手法について説明したが、他にも、動物の視覚特性上、より重視される特徴量が上記カオス力学系関数に基づく関数演算において、より後に演算処理となるように、関数演算の順番や特徴ベクトルの配列を定めてもよい。
【0179】
たとえば、〔C0(A),C1(A),C2(A),C3(A),C0(B1,B2,B3,B4),C1(B1,B2,B3,B4),C2(B1,B2,B3,B4),C3(B1,B2,B3,B4)〕のように、各レイヤーにおいて、低次から高次の周波数成分を並べて配列することもできる。
【0180】
〔3-3.特徴ベクトルの配列3〕
本実施形態のメモリシステム1は、特徴ベクトルにおいて、同じ配列を繰り返して配列する。例えば、特徴ベクトルのビット列をVとすると、V=〔abcdefg・・・z abcdefg・・・z abcdefg・・・z〕のように、同じ特徴量〔abcdefg・・・z〕の配列を繰り返して、例えば32ビットないし64ビット程度の長いビット列としている。
【0181】
特徴ベクトルの配列に、このような周期的な繰り返し構造を採用するのは、次の理由による。
【0182】
前述のカオス力学系関数に基づく関数演算によれば、入力されたデータ列に対して固有の実数値を収束対応させることができる。しかしながら、実際に入力するデータ列は有限の桁数を有しており、データ列の桁数が少ないほど収束の程度にバラツキが生じる。これは、入力されたデータ列の桁数が少ないほど、カオス力学系関数の出力が初期値の影響を強く受けるからである。
【0183】
そこで、本実施形態のメモリシステム1は、同配列の繰り返しによって、特徴ベクトルの情報を変化させることなく、その桁数を増加させている。これにより、初期値にかかわらず、カオス力学系関数に基づく関数演算によって得られる実数値を安定させて、この実数値に基づいてなされるデータ検索の精度を向上させることが可能となる。
【0184】
なお、このような周波数成分の配列順は、3-1欄にて述べた階層順の特徴量配列、3-2欄にて述べた次数順の周波数成分配列と組み合わせて採用することができる、例えば、これら配列順に基づいて得られた特徴ベクトルをさらに繰り返し配列することによって、例えば64ビット程度の長いビット列にすればよい。
【0185】
〔4.キーワード検索〕
本実施形態のメモリシステム1の構成を発展させれば、キーワードとなるテキスト情報を入力することによって、メタ情報が付与されていない膨大な画像データの中から上記のキーワードに関連する画像データを迅速かつ的確に検索することが可能となる。
【0186】
すなわち、本実施形態のメモリシステム1に構成を付加することによって、検索用キーワードの入力を受け付ける入力部10と、画像内容を示す文字列情報と関連づけられた辞書画像データを複数格納する記憶部30の辞書画像データベース(辞書画像データ格納部)と、辞書画像データベースに格納された複数の辞書画像データの中から、入力部10にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データを特定するための制御部20の辞書画像特定部とを備え、制御部20の辞書画像特定部にて特定された一の辞書画像データを、変換テーブル21ないし畳み込み演算部22に入力することによって、実数値(実数インデックス)に畳み込むとともに、制御部20は、この実数値(実数インデックス)を記憶部30のデータ格納位置に対応づけ、このデータ格納位置に格納されたデータに基づいて、検索用キーワードに対応する画像データを特定する構成とすることができる。
【0187】
このような構成によれば、辞書画像データベースに格納された複数の辞書画像データの中から、入力部10にて受け付けられたキーワードと類似または一致する文字列情報と関連づけられた一の辞書画像データが特定される。そして、特定された辞書画像データが実数値(実数インデックス)に畳み込まれ、制御部20にて、検索用キーワードに対応する画像データが特定される。
【0188】
ここで、辞書画像データと関連づけられる文字列情報の態様は特に限定されないが、その具体例として、辞書画像データに関連づけられたキャプション情報、ファイル名情報、辞書画像データ(例えばJPEGデータ)のヘッダ領域に含まれる文字列情報などが挙げられる。
【0189】
上記の構成によれば、キーワードに基づいて辞書画像データを特定する第1の検索がなされた後、特定された辞書画像データに基づいて類似画像を特定する第2の検索がなされることになる。したがって、第2の検索において検索対象となる画像データに、これら画像内容を示す文字列情報が対応付けられていない場合であっても、第2の検索において上記キーワードに関連する画像データを特定することができる。
【0190】
それゆえ、テキスト情報などのメタ情報が付与されていないビデオの録画データなどを検索したい場合に、所定量の辞書画像データベースを準備しておくだけで、「太陽」や「富士山」などのキーワードに基づく画像データの検索を実現することができる。
【0191】
これにより、最終的な検索対象となる画像データの数が多い場合であっても、これら画像データにテキスト情報などのメタ情報を付与することなく、比較的少ない辞書画像データとその関連づけ情報に基づく画像検索が可能となるので、キーワードによる画像検索を高速に実現することが可能となる。
【0192】
画像内容を示す文字列情報と関連づけられた辞書画像データを多数格納した辞書画像データベースは一種の知識画像集に相当するものである。このような辞書画像データベースに格納しておくことが好ましい画像のデータとしては、文字認識用データベース(例えば電子技術総合研究所の「ETL文字データベース」)、テレビ放送から取り込まれたビデオ画像のキャプチャーデータ、各種の図鑑データ(百科図鑑、動物図鑑、植物図鑑、鉱物図鑑など)、世界遺産などの名所画像を収録した写真データ、各種の記念写真データ、個人の顔写真データやそのバイオメトリックスデータ(指紋、静脈パターン)などが挙げられる。また、このような辞書画像データベースを、公知の画像検索システムを用いて自動生成する構成を採用することも好ましい。
【0193】
図28を参照して、ビデオの録画データの中から富士山の画像データを検索する例に基づいて、メモリシステム1によるキーワード検索の手順を示せば、次のとおりである。
【0194】
辞書画像データベースは、富士山の画像と文字列情報とを対応付けた辞書画像データをあらかじめ含むものとする。また、辞書画像データベースの辞書画像データは、あらかじめその特徴量から実数インデックスRが得られているものとする。他方、検索対象データベースにおけるビデオの録画データについても、あらかじめその特徴量から実数インデックスRを得て、登録しておく。
【0195】
利用者によって、検索用キーワードとして「富士山」が入力されると、メモリシステム1は、「富士山」に類似または一致する文字列情報を有する辞書画像を、辞書画像データベースの中から特定する。この特定には、公知のテキスト検索手法を用いることができる。なお、メモリシステム1は「富士山」に類似または一致する文字列情報を有する辞書画像を特定できなければ、検索対象となる画像が存在しない旨を利用者に回答する。
【0196】
メモリシステム1は「富士山」に類似または一致する文字列情報を有する辞書画像を特定したときには、その辞書画像データに対応する実数インデックスRを読み出す。続いて、この実数インデックスRに基づいて、検索対象データベースのインデックスメモリをアクセスして、実数インデックスRと類似または一致する実数インデックスRを有する録画データを辞書画像データベースから特定する。
【0197】
すなわち、メモリシステム1は、カオス力学系の関数による畳み込み演算を用いた類似画像検索の手法によって、辞書画像データベースの中から特定した辞書画像データ(「富士山」に類似または一致する文字列情報を有している)と、格納されたビデオの録画データの中から類似画像のデータを特定する。
【0198】
このように、実数インデックスRに基づいて、辞書画像データベースと検索対象画像データベースとを対応付けることによって、キーワードによる画像検索を高速に実現することが可能となる。
【0199】
なお、このような検索手続は、メモリシステム1がすべて自動的に行ってもよいし、一部の作業を利用者との対話方式に基づいて、利用者の指示選択に応じながらインタラクティブに行ってもよい。
【0200】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0201】
本発明に係るデータ記憶装置、データ検索装置、データ再生装置、データ検索プログラムは、各種コンテンツデータの記憶、検索、認識に有効であるうえ、データマイニング問題の解決用途にも利用できる。特に、データ検索については、文字画像や顔画像の検索のほか、バイオメトリックスデータ(指紋、静脈パターン)などの画像認識などに広く好適に利用できる。
【0202】
また、本発明に係るデータ記憶装置、データ検索装置、データ再生装置、データ検索プログラムは、各種のメモリないしデータベース機器に実装が可能であり、例えば、ICカードやそのICチップなどにも適用できる。
【図面の簡単な説明】
【0203】
【図1】本発明に係るデータ記憶装置の一実施形態を用いるメモリシステムの構成について示すブロック図である。
【図2】上記メモリシステムが取り扱うM行N列で2次元配列された1ビットデータ(0または1)を示す説明図である。
【図3】畳み込み関数の一例を示すグラフである。
【図4】記憶部に記憶されるデータを示すテーブルである。
【図5】実数アドレスメモリのセル構造を示すテーブルである。
【図6】実数アドレスメモリのセル構造の生成に関する説明図である。
【図7】メモリシステムが、入力部を通じて入力されたパターンデータに基づいて、実数アドレスメモリの読み込みを行う場合の動作を示す説明図である。
【図8】メモリシステムに記憶されたデータを検索するパターン認識方法(データ検索方法)に関する説明図である。
【図9】認識対象となる画像データの視野分割を示す説明図である。
【図10】本発明に係るデータ検索方法を応用した映像データアーカイブシステムの構成を示す図である。
【図11】本発明に係るデータ記憶装置の更なる実施形態を用いるメモリシステムの構成について示すブロック図である。
【図12】再生関数の一例を示すグラフである。
【図13】時系列に沿った連続的なデータを再生する場合であっても、データ書き込み時と同順番となるようにデータを再生する再生システムの構成を示す図である。
【図14】図13の再生システムの回路構成を示す回路ブロックである。
【図15】図14の回路構成における特徴抽出センサからの出力信号に基づいて、図14の回路構成を動作させるときのタイミングを示すタイミングチャートである。
【図16】各スイッチング信号による同期の様子を示すタイミングチャートである。
【図17】畳み込み関数の更なる例を示すグラフである。
【図18】再生関数の更なる例を示すグラフである。
【図19】メモリシステムが、映像データおよびそのインデックスデータを記憶部に格納するときの動作を説明する概念図である。
【図20】メモリシステムが、映像データおよびそのインデックスデータを記憶部に格納するときの処理の流れを示すブロック図である。
【図21】メモリシステムが、あらかじめ格納された映像データおよびそのインデックスデータに基づいて、画像データを検索するときの動作を説明する概念図である。
【図22】メモリシステムが、あらかじめ格納された映像データおよびそのインデックスデータに基づいて、画像データを検索するときの処理の流れを示すブロック図である。
【図23】実数インデックスメモリにおけるデシマルツリー構造のアドレスセルの生成ないし記憶の様子を示す図である。
【図24】文字パターンの画像データへの線分抽出センサの適用と、写真の画像データへのHSVセンサの適用とを説明する図である。
【図25】メモリシステムが、画像データを段階的に分割しながら、その特徴量を階層的に抽出する様子を説明する図である。
【図26】線分抽出センサの適用例を示す図である。
【図27】画像データが所定の線分画像を有する場合において、縦方向センサ、横方向センサ、斜めセンサの各出力を示す図である。
【図28】メモリシステムによるキーワード検索の流れを示す図である。
【符号の説明】
【0204】
1 メモリシステム(データ記憶装置、データ検索装置)
10 入力部
20 制御部(格納制御部、コンピュータ)
21 変換テーブル
22 畳み込み演算部
23 R/W制御部
30 記憶部
31 実数アドレスメモリ
40 再生部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16
【図18】
17
【図19】
18
【図20】
19
【図21】
20
【図22】
21
【図23】
22
【図24】
23
【図25】
24
【図26】
25
【図27】
26
【図28】
27