(57)【特許請求の範囲】
【請求項１】
２次元以上の座標に関する条件である座標条件と、２次元以上の座標を示す座標情報をメモリアドレスに変換する方法を示す変換方法情報とを有する１以上の変換方法管理情報が格納される変換方法管理情報格納部と、
２次元以上の座標情報を受け付ける座標情報受付部と、
前記座標情報受付部が受け付けた２次元以上の座標情報が合致する座標条件に対応する変換方法情報を取得する変換方法情報取得部と、
前記座標情報受付部が受け付けた２次元以上の座標情報を、前記変換方法情報取得部が取得した変換方法情報を用いてメモリアドレスに変換するメモリアドレス変換部と、
前記メモリアドレス変換部が変換したメモリアドレスを出力する出力部とを具備するメモリアドレス生成装置。
【請求項２】
前記変換方法情報は、２次元以上の座標情報が有する１次元の各座標情報に割り当てるビット量を示す情報であり、
前記メモリアドレス変換部は、
前記座標情報受付部が受け付けた２次元以上の座標情報が有する１次元の各座標情報に、前記変換方法情報取得部が取得した変換方法情報が示すビット量を割り当て、当該ビット量に従い１次元の各座標情報を変換してメモリアドレスの一部である２以上の部分アドレスを生成する部分アドレス生成手段と、
前記部分アドレス生成手段が生成した２以上の部分アドレスを連結してメモリアドレスを生成する部分アドレス連結手段とを具備する請求項１記載のメモリアドレス生成装置。
【請求項３】
前記変換方法情報は、２次元以上の座標情報が有する１次元の各座標情報から減算する１次元の座標情報を示す情報であり、
前記メモリアドレス変換部は、
前記座標情報受付部が受け付けた２次元以上の座標情報が有する１次元の各座標情報から、前記変換方法情報取得部が取得した変換方法情報が示す１次元の座標情報を減算し、メモリアドレスの一部である２以上の部分アドレスを生成する部分アドレス生成手段と、
前記部分アドレス生成手段が生成した２以上の部分アドレスを連結してメモリアドレスを生成する部分アドレス連結手段とを具備する請求項１記載のメモリアドレス生成装置。
【請求項４】
前記２次元以上の座標情報は、高さ、幅、奥行き、時間、色、オブジェクトの種類、メディアの種類のうちのいずれか２以上を示す情報である請求項１から請求項３いずれか記載のメモリアドレス生成装置。
【請求項５】
記録媒体に、
２次元以上の座標に関する条件である座標条件と、２次元以上の座標を示す座標情報をメモリアドレスに変換する方法を示す変換方法情報とを有する１以上の変換方法管理情報が格納されており、
座標情報受付部と、変換方法情報取得部と、メモリアドレス変換部と、出力部と用いて行われるメモリアドレス生成方法であって、
前記座標情報受付部が、
２次元以上の座標情報を受け付ける座標情報受付ステップと、
前記変換方法情報取得部が、
前記座標情報受付部が受け付けた２次元以上の座標情報が合致する座標条件に対応する変換方法情報を取得する変換方法情報取得ステップと、
前記メモリアドレス変換部が、
前記座標情報受付部が受け付けた２次元以上の座標情報を、前記変換方法情報取得部が取得した変換方法情報を用いてメモリアドレスに変換するメモリアドレス変換ステップと、
前記出力部が、
前記メモリアドレス変換部が変換したメモリアドレスを出力する出力ステップとを具備するメモリアドレス生成方法。
【請求項６】
記録媒体に、
２次元以上の座標に関する条件である座標条件と、２次元以上の座標を示す座標情報をメモリアドレスに変換する方法を示す変換方法情報とを有する１以上の変換方法管理情報が格納されており、
コンピュータを、
２次元以上の座標を示す座標情報を受け付ける座標情報受付部と、
前記座標情報受付部が受け付けた２次元以上の座標情報が合致する座標条件に対応する変換方法情報を取得する変換方法情報取得部と、
前記座標情報受付部が受け付けた２次元以上の座標情報を、前記変換方法情報取得部が取得した変換方法情報を用いてメモリアドレスに変換するメモリアドレス変換部と、
前記メモリアドレス変換部が変換したメモリアドレスを出力する出力部として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元以上の座標情報をメモリアドレスに変換するメモリアドレス生成装置等に関するものである。
【背景技術】
【０００２】
従来、２次元の座標情報を１次元のメモリアドレスに変換するメモリのアドレス発生回路等が開発されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０５−２５７４５８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のメモリのアドレス発生回路では、２次元の座標情報を１次元のメモリアドレスに変換する際に用いる変換式が固定であり、２次元の座標情報に応じて、メモリアドレスへの変換方法を切り替えることができなかった。
【課題を解決するための手段】
【０００５】
本第一の発明のメモリアドレス生成装置は、２次元以上の座標に関する条件である座標条件と、２次元以上の座標を示す座標情報をメモリアドレスに変換する方法を示す変換方法情報とを有する１以上の変換方法管理情報が格納される変換方法管理情報格納部と、２次元以上の座標情報を受け付ける座標情報受付部と、座標情報受付部が受け付けた２次元以上の座標情報が合致する座標条件に対応する変換方法情報を取得する変換方法情報取得部と、座標情報受付部が受け付けた２次元以上の座標情報を、変換方法情報取得部が取得した変換方法情報を用いてメモリアドレスに変換するメモリアドレス変換部と、メモリアドレス変換部が変換したメモリアドレスを出力する出力部とを具備するメモリアドレス生成装置である。
【０００６】
このような構成により、２次元以上の座標情報に応じて、メモリアドレスへの変換方法を切り替えることができる。
【０００７】
また、本第二の発明のメモリアドレス生成装置は、第一の発明に対して、変換方法情報は、２次元以上の座標情報が有する１次元の各座標情報に割り当てるビット量を示す情報であり、メモリアドレス変換部は、座標情報受付部が受け付けた２次元以上の座標情報が有する１次元の各座標情報に、変換方法情報取得部が取得した変換方法情報が示すビット量を割り当て、ビット量に従い１次元の各座標情報を変換してメモリアドレスの一部である２以上の部分アドレスを生成する部分アドレス生成手段と、部分アドレス生成手段が生成した２以上の部分アドレスを連結してメモリアドレスを生成する部分アドレス連結手段とを具備するメモリアドレス生成装置である。
【０００８】
このような構成により、２次元以上の座標情報に応じて、当該２次元以上の各座標情報に割り当てるビット量を切り替えることができる。
【０００９】
また、本第三の発明のメモリアドレス生成装置は、第一の発明に対して、変換方法情報は、２次元以上の座標情報が有する１次元の各座標情報から減算する１次元の座標情報を示す情報であり、メモリアドレス変換部は、座標情報受付部が受け付けた２次元以上の座標情報が有する１次元の各座標情報から、変換方法情報取得部が取得した変換方法情報が示す１次元の座標情報を減算し、メモリアドレスの一部である２以上の部分アドレスを生成する部分アドレス生成手段と、部分アドレス生成手段が生成した２以上の部分アドレスを連結してメモリアドレスを生成する部分アドレス連結手段とを具備するメモリアドレス生成装置である。
【００１０】
このような構成により、２次元以上の座標情報に応じて、当該２次元以上の各座標情報から減算する１次元の座標情報を切り替えることができる。
【００１１】
また、本第四の発明のメモリアドレス生成装置は、第一から第三いずれかの発明に対して、２次元以上の座標情報は、高さ、幅、奥行き、時間、色、オブジェクトの種類、メディアの種類のうちのいずれか２以上を示す情報であるメモリアドレス生成装置である。
【００１２】
このような構成により、高さ、幅、奥行き、時間、オブジェクトの種類、メディアの種類のうちのいずれか２以上を有する座標情報を、１次元のメモリアドレスに変換することができる。
【発明の効果】
【００１３】
本発明によるメモリアドレス生成装置等によれば、２次元以上の座標情報を１次元のメモリアドレスに変換するに際して、当該２次元以上の座標情報に応じて、メモリアドレスへの変換方法を切り替えることができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１のメモリアドレス生成装置１のブロック図
【図２】同メモリアドレス生成装置１の全体動作について説明するフローチャート
【図３】同変換方法管理情報の例を示す図
【図４】同メモリアドレス生成回路２の構成例を示す図
【図５】同メモリアドレス生成回路２の動作例を示す図
【図６】同メモリアドレス生成回路２の動作例を示す図
【図７】上記実施の形態におけるコンピュータシステムの概観図
【図８】上記実施の形態におけるコンピュータシステムのブロック図
【発明を実施するための形態】
【００１５】
以下、本発明によるメモリアドレス生成装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、所定の情報が格納され得る格納部等において、当該格納部に情報が記憶される過程は問わないものとする。例えば、記録媒体を介して情報が格納部等で記憶されるようになってもよい。また、通信回線などを介して送信された情報が格納部等で記憶されるようになってもよい。さらに、入力デバイスを介して入力された情報が格納部等で記憶されるようになってもよい。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
【００１６】
（実施の形態１）
本実施の形態において、２次元以上の座標情報に応じて、当該２次元以上の座標情報をメモリアドレスに変換する方法を切り替え、当該２次元以上の座標情報をメモリアドレスに変換するメモリアドレス生成装置１について説明する。
【００１７】
なお、実施の形態におけるメモリアドレス生成装置１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサなどに搭載されるメモリコントローラである。つまり、メモリアドレス生成装置１が生成したメモリアドレスは、メモリへのデータの書き込みや、メモリからのデータの読み出しなどに用いられる。なお、装置には、回路も含まれる。
【００１８】
図１は、本実施の形態におけるメモリアドレス生成装置１のブロック図である。メモリアドレス生成装置１は、変換方法管理情報格納部１１、座標情報受付部１２、変換方法情報取得部１３、メモリアドレス変換部１４、出力部１５を備える。また、メモリアドレス変換部１４は、部分アドレス生成手段１４１、部分アドレス連結手段１４２を備える。
【００１９】
変換方法管理情報格納部１１には、座標条件と変換方法情報とを有する１以上の変換方法管理情報が格納される。座標条件とは、２次元以上の座標を示す座標情報に関する条件である。また、変換方法情報とは、２次元以上の座標情報をメモリアドレスに変換する方法を示す情報である。当該「変換する」ことは、２次元以上の座標情報からメモリアドレスを生成することでもある。また、変換方法管理情報とは、変換方法を管理するための情報である。
【００２０】
座標情報は、通常、２以上の情報の集合である。当該情報は、例えば、高さ、幅、奥行き、時間、色、オブジェクトの種類、メディアの種類などを示す情報である。オブジェクトとは、映像中の対象物や、音声中の対象音などである。また、オブジェクトが映像中の対象物である場合、オブジェクトの種類とは、例えば、対象物の材質や、対象物が自然物であるか、人工物であるか、前景であるか、背景であるかなどである。また、オブジェクトが音声中の対象音である場合、オブジェクトの種類とは、例えば、対象音の発生源（自然音であるか、人工音であるか）や、対象音が話し声であるか、楽器音であるか、その他の音であるかなどである。また、メディアとは、例えば、映像や、画像、音声、テキストなどである。また、メディアの種類とは、例えば、メディアが映像であるか、画像であるか、音声であるか、テキストであるかなどである。また、当該情報は、通常、これらの情報を数値化したものである。また、座標情報は、通常、これらの情報のうちのいずれか２以上の組み合わせである。また、座標情報は、色、オブジェクトの種類、メディアの種類のうちのいずれか１つと、高さ、幅、奥行き、時間のうちのいずれか１以上とを有することが好適である。また、座標情報は、座標情報を識別する識別子を有していてもよい。なお、以下、ｎ個の情報を有する座標情報を、適宜、ｎ次元の座標情報、またはｎ次元座標情報と呼ぶ。また、ｎ次元の座標情報は、通常、ｎ個の１次元の座標情報を有する。また、座標情報は、３以上の座標情報を有することが好適である。
【００２１】
また、座標条件は、変換方法管理情報が有する変換方法情報を取得するための条件である。座標条件は、例えば、（１）２次元以上の座標情報が有する情報の種類に関する条件や、（２）２次元以上の座標情報が有する情報の内容に関する条件などである。また、（１）は、（ａ）２次元以上の座標情報が有する情報の種類そのものに関する条件と、（ｂ）２次元以上の座標情報が有する情報の数に関する条件とに分けることができる。（ａ）は、例えば、「２次元以上の座標情報が、高さと、幅と、時間と、メディアの種類であること」や、「２次元以上の座標情報が、メディアの種類を示す情報を有すること」などである。また、（ｂ）は、例えば、「２次元以上の座標情報が、ｎ個の１次元座標情報を有すること」などである。また、（２）は、例えば、「色を示す座標情報が、「赤」を示すこと」や、「メディアの種類を示す座標情報が、「画像」を示すこと」、「高さを示す座標情報が1以上10以下であること」などである。
【００２２】
また、変換方法情報は、例えば、（１）２次元以上の座標情報が有する１次元の各座標情報に割り当てるビット量を示す情報や、（２）２次元以上の座標情報が有する１次元の各座標情報から減算する１次元座標情報を示す情報、（３）その他の変換方法を示す情報などである。
【００２３】
（１）は、通常、２次元以上の座標情報が有する１次元の各座標情報を識別する識別子と、当該各座標情報に割り当てるビット量に関する情報を有する。当該ビット量に関する情報は、通常、ビット量そのものであるが、例えば、ビット量を算出する式や、ビット量を算出するプログラムなどであってもよい。（１）は、例えば、（ａ）「高さ：５ビット」や、（ｂ）「時間：幅×２」、（ｃ）「幅：ｆｕｎｃｔｉｏｎ＿ａｄｄｒｅｓｓ（）」などである。（ａ）は、高さに５ビット割り当てることを意味する。また、（ｂ）は、幅に割り当てたビット量の２倍のビット量を、時間に割り当てることを意味する。また、（ｃ）は、「ｆｕｎｃｔｉｏｎ＿ａｄｄｒｅｓｓ（）」で識別されるプログラムを実行して得られるビット量を、幅に割り当てることを意味する。
【００２４】
また、（２）は、通常、１次元座標情報を識別する識別子を有する。また、（２）は、例えば、減算方法を示す式や、減算を行うプログラムなどであってもよい。（２）は、例えば、（ａ）「高さ」や、（ｂ）「減算：高さ」、（ｃ）「高さ−メディアの種類，幅−メディアの種類」、（ｄ）「ｆｕｎｃｔｉｏｎ＿ｓｕｂ（高さ，幅，メディアの種類）」などである。（ａ）と（ｂ）は、高さを示す座標情報を対象となる座標情報から減算することを意味する。また、（ｃ）は、「高さ−メディアの種類」と「幅−メディアの種類」の式で示される減算を行うことを意味する。また、（ｄ）は、「ｆｕｎｃｔｉｏｎ＿ｓｕｂ（高さ，幅，メディアの種類）」で識別されるプログラムを実行することを意味する。
【００２５】
また、（３）は、例えば、２次元以上の座標情報をメモリアドレスに変換する変換式や、２次元以上の座標情報をメモリアドレスに変換するプログラムなどである。当該変換式やプログラムなどは、上記（１）、（２）の式やプログラムなどの例と同様であるので、説明を省略する。
【００２６】
なお、上記のプログラムは、プログラムを識別する識別子であってもよい。変換方法情報がプログラムの識別子である場合、当該識別子で識別されるプログラムは、通常、変換方法管理情報格納部１１に格納されている。また、以下、適宜、（１）を割当ビット量情報、（２）を減算処理情報、（３）を変換処理情報と呼ぶ。
【００２７】
座標情報受付部１２は、２次元以上の座標情報を受け付ける。受け付けとは、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体からの情報の取得や読み出しなどを含む概念である。また、座標情報受付部１２が受け付ける２次元以上の座標情報が有する１次元座標情報の内容は、予め決められていてもよいし、そうでなくてもよい。
【００２８】
変換方法情報取得部１３は、座標情報受付部１２が受け付けた２次元以上の座標情報が合致する座標条件に対応する変換方法情報を、変換方法管理情報格納部１１から取得する。変換方法情報取得部１３は、例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が、変換方法管理情報格納部１１に格納されている１以上の変換方法管理情報が有する座標条件のいずれに合致するか否かを判断する。そして、変換方法情報取得部１３は、当該合致する座標条件に対応する変換方法情報を、当該変換方法管理情報から取得する。
【００２９】
例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が「（高さ，幅）＝（２０，４０）」であり、座標条件が「高さを含む」であるとする。この場合、変換方法情報取得部１３は、当該座標情報が当該座標条件に合致すると判断し、当該座標条件に対応する変換方法情報を取得する。また、例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が「（高さ，幅，色）＝（２０，４０，２５５）」であり、座標条件が「座標情報＝（高さ，幅，時間）」であるとする。この場合、変換方法情報取得部１３は、当該座標情報は当該座標条件に合致しないと判断する。
【００３０】
また、変換方法情報取得部１３は、通常、１つの変換方法情報を取得する。例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が２以上の座標条件に合致する場合、変換方法情報取得部１３は、例えば、予め決められた基準に従い、当該２以上の座標条件から１つの座標条件を決定し、当該座標条件に対応する変換方法情報を取得する。なお、「予め決められた基準」とは、例えば、最初に合致することや、最後に合致すること、日付が最新であることなどである。
【００３１】
メモリアドレス変換部１４は、変換方法情報取得部１３が取得した変換方法情報を用いて、座標情報受付部１２が受け付けた２次元以上の座標情報をメモリアドレスに変換する。当該「変換する」ことは、当該変換方法情報を用いて、当該２次元以上の座標情報からメモリアドレスを生成することでもある。なお、メモリアドレス変換部１４は、通常、後述の各手段により、２次元以上の座標情報をメモリアドレスに変換する。
【００３２】
部分アドレス生成手段１４１は、変換方法情報取得部１３が取得した変換方法情報を用いて、座標情報受付部１２が受け付けた２次元以上の座標情報が有する１次元の各座標情報をメモリアドレスの一部（以下、適宜、部分アドレス）に変換し、２以上の部分アドレスを生成する。部分アドレス生成手段１４１は、通常、２次元以上の座標情報が有する１次元座標情報と同数の部分アドレスを生成する。例えば、２次元以上の座標情報が４つの１次元座標情報を有する場合、部分アドレス生成手段１４１は、通常、４つの部分アドレスを生成する。
【００３３】
例えば、変換方法情報取得部１３が取得した変換方法情報が、上記の（１）割当ビット量情報である場合、部分アドレス生成手段１４１は、座標情報受付部１２が受け付けた２次元以上の座標情報が有する１次元の各座標情報に、当該割当ビット量情報が示すビット量を割り当てる。当該「割り当てる」とは、１次元の各座標情報から、割当ビット量情報が示すビット量と同分量の情報を取得することである。
【００３４】
例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が「高さ」を示す座標情報を有しており、当該座標情報が２進数の「０１１０１１０１」であるとする。また、割当ビット量情報が「高さ：４ビット」を有しているとする。この様な場合、部分アドレス生成手段１４１は、例えば、座標情報「０１１０１１０１」の４ビット分である下４桁「１１０１」を取得する。このとき、部分アドレス生成手段１４１は、例えば、上４桁「０１１０」を取得してもよいし、下１桁目から１桁ずつ飛ばして「１０１１」を取得してもよい。なお、当該ビット列の取得において、どの部分のビット列を取得するかは、通常、予め決められている。
【００３５】
また、例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が「高さ」を示す座標情報を有しており、当該座標情報が１６進数の「４Ａ」であるとする。また、割当ビット量情報が「高さ：４ビット」を有しているとする。この様な場合、部分アドレス生成手段１４１は、例えば、座標情報「４Ａ」の４ビット分である下１桁「Ａ」を取得する。このとき、部分アドレス生成手段１４１は、例えば、上１桁「４」を取得してもよい。
【００３６】
また、例えば、変換方法情報取得部１３が取得した変換方法情報が、上記の（２）減算処理情報である場合、部分アドレス生成手段１４１は、座標情報受付部１２が受け付けた２次元以上の座標情報が有する１次元の各座標情報から、当該減算処理情報が示す１次元座標情報を減算する。そして、部分アドレス生成手段１４１は、当該減算の結果（差）を取得する。
【００３７】
例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が「高さ」と「幅」と「色」とのそれぞれを示す座標情報を有しており、当該各座標情報が、それぞれ、「１０１０１０１０」、「１１００１０１０」、「００００１０１０」であるとする。また、減算処理情報が「色」であるとする。この様な場合、部分アドレス生成手段１４１は、当該１次元の各座標情報「１０１０１０１０」、「１１００１０１０」、「００００１０１０」から、当該３つの座標情報のうちの「色」を示す１次元座標情報「００００１０１０」を減算する。そして、部分アドレス生成手段１４１は、３つの部分アドレス「１０１０００００」、「１１００００００」、「００００００００」を取得する。
【００３８】
また、部分アドレス生成手段１４１は、例えば、変換方法情報取得部１３が取得した変換方法情報を用いて、座標情報受付部１２が受け付けた２次元以上の座標情報をメモリアドレスに変換し、１つのメモリアドレスを生成してもよい。
【００３９】
例えば、変換方法情報取得部１３が取得した変換方法情報が、上記の（３）変換処理情報である場合、部分アドレス生成手段１４１は、座標情報受付部１２が受け付けた２次元以上の座標情報を、当該変換処理情報が示す変換式に代入して、計算し、当該計算結果をメモリアドレスとして取得する。また、この場合、部分アドレス生成手段１４１は、例えば、座標情報受付部１２が受け付けた２次元以上の座標情報を、当該変換情報が示すプログラムに代入して、実行し、当該実行結果をメモリアドレスとして取得する。
【００４０】
例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が「高さ」と「幅」と「色」とのそれぞれを示す座標情報を有しており、当該各座標情報が、それぞれ、「１０１０１０１０」、「１１００１０１０」、「００００１０１０」であるとする。また、変換処理情報が「（高さ＆幅）｜色」であるとする。この様な場合、部分アドレス生成手段１４１は、「高さ」を示す座標情報「１０１０１０１０」と、「幅」を示す座標情報「１１００１０１０」との論理積を算出し、当該論理積の結果と、「色」を示す座標情報「００００１０１０」との論理和を算出する。
【００４１】
また、例えば、上記と同様に、座標情報受付部１２が受け付けた２次元以上の座標情報が「高さ」と「幅」と「色」とのそれぞれを示す座標情報を有しているとする。また、変換処理情報が「ｃｒｅａｔｅ＿ｍｅｍａｄｄｒｅｓｓ（）」で識別されるプログラムであるとする。この様な場合、部分アドレス生成手段１４１は、これらの３つの座標情報を、当該プログラムに引数として与え、当該プログラムを実行する。
【００４２】
部分アドレス連結手段１４２は、部分アドレス生成手段１４１が生成した２以上の部分アドレスを連結してメモリアドレスを生成する。当該連結の順序は、通常、予め決められている。
【００４３】
例えば、部分アドレス生成手段１４１が２以上の部分アドレスを生成した場合、部分アドレス連結手段１４２は、例えば、部分アドレス生成手段１４１が生成した順に、部分アドレスを連結する。また、このとき、部分アドレス連結手段１４２は、例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が有する１次元座標情報の順に、部分アドレスを連結してもよい。
【００４４】
例えば、部分アドレス生成手段１４１が「００１０」、「００１０」、「１１００」の順に３つの部分アドレスを生成した場合、部分アドレス連結手段１４２は、当該生成した順に部分アドレスを連結し、メモリアドレス「００１０００１０１１００」を生成する。また、例えば、座標情報受付部１２が受け付けた２次元以上の座標情報が、「高さ」、「幅」、「時間」の順に１次元座標情報を有しているとする。また、部分アドレス生成手段１４１が当該３つの座標情報から、それぞれの座標情報に対応する部分アドレス「１１００」、「０１１０」、「００１１」を生成したとする。この様な場合、部分アドレス連結手段１４２は、当該２次元以上の座標情報が有する１次元座標情報の順に部分アドレスを連結し、メモリアドレス「１１０００１１０００１１」を生成する。
【００４５】
また、例えば、部分アドレス生成手段１４１が減算処理情報を用いて２以上の部分アドレスを生成した場合、生成した２以上の部分アドレスのうちの１つは、必ず「０」になる。従って、この場合、部分アドレス連結手段１４２は、当該「０」である部分アドレス以外の部分アドレスのみを連結してもよい。
【００４６】
出力部１５は、メモリアドレス変換部１４が生成したメモリアドレスを出力する。出力とは、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００４７】
変換方法管理情報格納部１１は、いわゆる記録回路で実現され得るが、揮発性の記録媒体や、不揮発性の記録媒体などでも実現可能である。
【００４８】
また、座標情報受付部１２、出力部１５は、通常、無線または有線の通信手段などで実現され得るが、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの集積回路で実現され得てもよい。
【００４９】
また、変換方法情報取得部１３、メモリアドレス変換部１４、部分アドレス生成手段１４１、部分アドレス連結手段１４２は、通常、ＩＣなどの集積回路で実現され得る。また、変換方法情報取得部１３などは、ＭＰＵやメモリ等から実現され得えてもよい。この場合、変換方法情報取得部１３などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。
【００５０】
次に、メモリアドレス生成装置１の全体動作について、図２のフローチャートを用いて説明する。なお、所定の情報におけるｉ番目の情報は、「情報［ｉ］」と記載するものとする。また、図２のフローチャートにおいて、変換方法管理情報格納部１１には、ｍ個の変換方法管理情報が格納されているものとする。
【００５１】
（ステップＳ２０１）変換方法情報取得部１３は、座標情報受付部１２が２次元以上の座標情報を受け付けたか否かを判断する。受け付けた場合は、ステップＳ２０２に進み、そうでない場合は、ステップＳ２０１に戻る。なお、受け付けた場合、当該２次元以上の座標情報は、ｎ次元座標情報であるものとする。
【００５２】
（ステップＳ２０２）変換方法情報取得部１３は、カウンタｉに１をセットする。
【００５３】
（ステップＳ２０３）変換方法情報取得部１３は、ステップＳ２０１で受け付けた２次元以上の座標情報が、変換方法管理情報格納部１１に格納されている変換方法管理情報［ｉ］が有する座標条件［ｉ］に合致するか否かを判断する。合致する場合は、ステップＳ２０４に進み、そうでない場合は、ステップＳ２０５に進む。
【００５４】
（ステップＳ２０４）変換方法情報取得部１３は、座標条件［ｉ］に対応する変換方法情報［ｉ］を取得する。そして、ステップＳ２０７に進む。
【００５５】
（ステップＳ２０５）変換方法情報取得部１３は、ｉがｍであるか否かを判断する。ｍである場合は、ステップＳ２０１に戻り、そうでない場合は、ステップＳ２０６に進む。
【００５６】
（ステップＳ２０６）変換方法情報取得部１３は、ｉを１インクリメントし、ステップＳ２０３に戻る。
【００５７】
（ステップＳ２０７）メモリアドレス変換部１４は、ステップＳ２０４で取得した変換方法情報が、変換処理情報であるか否かを判断する。変換処理情報である場合は、ステップＳ２１３に進み、そうでない場合は、ステップＳ２０８に進む。
【００５８】
（ステップＳ２０８）部分アドレス生成手段１４１は、カウンタｉに１をセットする。
【００５９】
（ステップＳ２０９）部分アドレス生成手段１４１は、ステップＳ２０４で取得した変換方法情報に従い、ステップＳ２０１で受け付けたｎ次元座標情報が有する座標情報［ｉ］をメモリアドレスに変換し、メモリアドレス［ｉ］を生成する。
【００６０】
（ステップＳ２１０）部分アドレス生成手段１４１は、ｉがｎであるか否かを判断する。ｎである場合は、ステップＳ２１２に進み、そうでない場合は、ステップＳ２１１に進む。
【００６１】
（ステップＳ２１１）部分アドレス生成手段１４１は、ｉを１インクリメントし、ステップＳ２０９に戻る。
【００６２】
（ステップＳ２１２）部分アドレス連結手段１４２は、ステップＳ２０９で生成したｎ個の部分アドレスを連結し、メモリアドレスを生成する。
【００６３】
（ステップＳ２１３）部分アドレス生成手段１４１は、ステップＳ２０４で取得した変換方法情報に従い、ステップＳ２０１で受け付けたｎ次元座標情報を変換し、メモリアドレスを生成する。
【００６４】
（ステップＳ２１４）出力部１５は、ステップＳ２１１またはステップＳ２１２で生成したメモリアドレスを出力する。そして、ステップＳ２０１に戻る。
【００６５】
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
【００６６】
（具体例）
次に、メモリアドレス生成装置１の動作の具体例について説明する。なお、本具体例において、メモリアドレス生成装置１は、メモリアドレスを生成する回路（以下、メモリアドレス生成回路）であるものとする。
【００６７】
（例１）
本例において、変換方法管理情報格納部１１には、図３に示す変換方法管理情報が格納されているものとする。当該変換方法管理情報は、レコードを一意に特定するためのＩＤ（項目名：ＩＤ）と、座標条件（項目名：条件）と、変換方法情報（項目名：変換方法）とを有する。
【００６８】
まず、座標情報受付部１２が、２次元以上の座標情報を受信する。ここで、座標情報受付部１２は、４次元座標情報を受信したものとする。
【００６９】
次に、変換方法情報取得部１３は、座標情報受付部１２が受信した４次元座標情報が合致する座標条件に対応する変換方法情報を、図３の変換方法管理情報から取得する。ここで、例えば、当該４次元座標情報が、オブジェクトの種類、高さ、幅、時間のそれぞれを示す座標情報を有しているものとする。この場合、当該４次元座標情報は、図３の「ＩＤ＝０１２」の座標条件「（オブジェクトの種類，高さ，幅，時間）」に合致するので、変換方法情報取得部１３は、当該「ＩＤ＝０１２」の変換方法情報「オブジェクトの種類：４ｂｉｔ，高さ：１０ｂｉｔ，幅：１０ｂｉｔ，時間：８ｂｉｔ」を取得する。また、当該４次元座標情報は、図３の「ＩＤ＝０２２」の座標条件「オブジェクトの種類を含む」にも合致するので、変換方法情報取得部１３は、当該「ＩＤ＝０２２」の変換方法情報「減算：オブジェクトの種類」を取得してもよい。
【００７０】
通常、変換方法情報取得部１３は、１つのｎ次元座標情報に対して、１つの変換方法情報を取得する。従って、上記の様に、１つのｎ次元座標情報が合致する座標条件が２以上ある場合、変換方法情報取得部１３は、当該２以上の各座標条件に対応する変換方法情報のいずれか１つを取得する。当該２以上のうちのいずれを取得するかは、通常、予め決められている。例えば、ｎ次元座標情報が合致すると最初に判断した座標条件に対応する変換方法情報を取得してもよいし、ｎ次元座標情報が合致すると最後に判断した座標条件に対応する変換方法情報を取得してもよいし、例えば、変換方法管理情報に日付が対応付いており、ｎ次元座標情報が合致すると判断した２以上の座標条件のうち、当該日付により最新であることが示される座標条件に対応する変換方法情報を取得してもよい。
【００７１】
また、例えば、座標情報受付部１２が、高さ、幅、時間のそれぞれを示す座標情報を有する３次元座標情報を受信していた場合、変換方法情報取得部１３は、当該３次元座標情報が図３の「ＩＤ＝０３２」の座標条件に合致すると判断し、当該「ＩＤ＝０３２」の変換方法情報「（高さ［１２：１］）｜｜幅（［１２：１］）｜｜（時間［８：１］）」を取得する。当該変換方法情報は、高さを示す座標情報の１２ビット目から１ビット目までを取得し、幅を示す座標情報の１２ビット目から１ビット目までを取得し、時間を示す座標情報の８ビット目から１ビット目までを取得し、当該取得した３つのビット列を連結することを意味する。
【００７２】
次に、部分アドレス生成手段１４１は、座標情報受付部１２が受信した４次元座標情報が有する１次元の各座標情報を、変換方法情報取得部１３が取得した変換方法情報を用いて、部分アドレスに変換し、４つの部分アドレスを生成する。
【００７３】
例えば、変換方法情報取得部１３が、上記において、図３の「ＩＤ＝０１２」の変換方法情報「オブジェクトの種類：４ｂｉｔ，高さ：１０ｂｉｔ，幅：１０ｂｉｔ，時間：８ｂｉｔ」を取得していたとする。この場合、部分アドレス生成手段１４１は、まず、上記の４次元座標情報が有するオブジェクトの種類を示す座標情報を取得し、当該座標情報の下４桁を取得する。ここで、部分アドレス生成手段１４１は、「１００１」を取得したものとする。次に、部分アドレス生成手段１４１は、上記の４次元座標情報が有する高さを示す座標情報を取得し、当該座標情報の下１０桁を取得する。ここで、部分アドレス生成手段１４１は、「１０１０１１０１０１」を取得したものとする。次に、部分アドレス生成手段１４１は、上記の４次元座標情報が有する幅を示す座標情報を取得し、当該座標情報の下１０桁を取得する。ここで、部分アドレス生成手段１４１は、「１１００１１００１０」を取得したものとする。そして、最後に、部分アドレス生成手段１４１は、上記の４次元座標情報が有する時間を示す座標情報を取得し、当該座標情報の下８桁を取得する。ここで、部分アドレス生成手段１４１は、「１１０１００１０」を取得したものとする。
【００７４】
次に、部分アドレス連結手段１４２は、部分アドレス生成手段１４１が生成した４つの部分アドレスを、当該生成した順に連結し、メモリアドレス「１００１１０１０１１０１０１１１００１１００１０１１０１００１０」を生成する。このとき、部分アドレス連結手段１４２は、当該生成したメモリアドレスを、１６進数に変換してもよい。
【００７５】
また、例えば、変換方法情報取得部１３が、上記において、図３の「ＩＤ＝０２２」の変換方法情報「減算：オブジェクトの種類」を取得していたとする。この場合、部分アドレス生成手段１４１は、まず、上記の４次元座標情報が有するオブジェクトの種類を示す座標情報を取得し、当該座標情報を、４次元座標情報が有する１次元の各座標情報から減算する。ここで、当該減算の結果、部分アドレス連結手段１４２は、オブジェクトの種類、高さ、幅、時間のそれぞれを示す各座標情報から、順に、「００００」、「１０１０１１０１０１００」、「１１００１１００１０００」、「１１０１００１０」の部分アドレスを取得したものとする。
【００７６】
次に、部分アドレス連結手段１４２は、部分アドレス生成手段１４１が生成した４つの部分アドレスを、当該生成した順に連結する。このとき、「０」を示す部分アドレスについては、連結しないものとする。その結果、部分アドレス連結手段１４２は、メモリアドレス「１０１０１１０１０１００１１００１１００１０００１１０１００１０」を生成する。
【００７７】
次に、出力部１５は、メモリアドレス変換部１４が生成した（部分アドレス連結手段１４２が生成した）メモリアドレスを、送信先となる回路に送信する。
【００７８】
（例２）
図４は、メモリアドレス生成装置１を回路で構成したメモリアドレス生成回路２の例である。当該メモリアドレス生成回路２は、４次元座標情報を受信し、当該４次元座標情報が有する１次元の各座標情報にビット量を割り当て、当該１次元の各座標情報を部分アドレスに変換し、当該部分アドレスを連結し、メモリアドレスを生成し、当該メモリアドレスを他の回路などに送信する。
【００７９】
図４において、メモリアドレス生成回路２は、割当ビット量選択回路２０１、４つのビット割当回路２０２１、２０２２、２０２３、２０２４、ビット連結回路２０３を備える。割当ビット量選択回路２０１は、変換方法管理情報格納部１１、変換方法情報取得部１３に相当する。また、４つのビット割当回路は、座標情報受付部１２、部分アドレス生成手段１４１に相当する。また、ビット連結回路２０３は、部分アドレス連結手段１４２、出力部１５に相当する。
【００８０】
また、図４において、割当ビット量選択回路２０１は、割当ビット量情報である変換方法情報を有する変換方法管理情報を保持している。また、４つのビット割当回路は、ビット割当回路ごとに、通常、受信する座標情報が予め決められている。また、ビット割当回路２０２１が受信する座標情報は、割当ビット量選択回路２０１も受信する。そして、割当ビット量選択回路２０１は、当該受信した座標情報に応じて、４次元座標情報が有する１次元の各座標情報に割り当てるビット量を決定する。そして、４つのビット割当回路は、それぞれ、受信した１次元の座標情報と、割り当てられたビット量とを用いて、部分アドレスを生成する。そして、ビット連結回路２０３は、当該４つの部分アドレスを連結し、メモリアドレスを生成する。
【００８１】
例えば、図５の様に、メモリアドレス生成回路２は、画像の種類と、水平座標と、垂直座標と、時間座標のそれぞれを示す座標情報を有する４次元座標情報を受信するとする。このとき、当該４次元座標情報が有する１次元の各座標情報は、４つの各ビット割当回路が受信する。以下、「各ビット割当回路が受信する座標情報」を、「各ビット割当回路が担当する座標情報」と表現することもある。また、割当ビット量選択回路２０１は、座標条件「画像の種類＝種類Ａ」と、変換方法情報「画像の種類：３ｂｉｔ，水平座標：１２ｂｉｔ，垂直座標：１１ｂｉｔ，時間座標：６ｂｉｔ」とを有する変換方法管理情報を保持しているものとする。
【００８２】
図５において、画像の種類を示す座標情報が「種類Ａ」を示す情報であったとする。すると、割当ビット量選択回路２０１は、受信した座標情報が、保持している変換方法管理情報が有する座標条件「画像の種類＝種類Ａ」に合致すると判断する。そして、割当ビット量選択回路２０１は、保持している変換方法情報に従い、当該変換方法情報が示す各座標情報を担当する各ビット割当回路に、当該座標情報が示すビット量を送信する。例えば、割当ビット量選択回路２０１は、画像の種類を担当するビット割当回路２０２１には、変換方法情報が有する「画像の種類：３ｂｉｔ」に従い、「３ｂｉｔ」を送信する。また、例えば、割当ビット量選択回路２０１は、水平座標を担当するビット割当回路２０２２には、変換方法情報が有する「水平座標：１２ｂｉｔ」に従い、「１２ｂｉｔ」を送信する。また、割当ビット量選択回路２０１は、残りの２つのビット割当回路についても、これらと同様に、ビット量を送信する。
【００８３】
次に、４つの各ビット割当回路は、受信したビット量を用いて、受信した１次元座標情報を変換し、部分アドレスを生成する。そして、４つの各ビット割当回路は、生成した部分アドレスを、ビット連結回路２０３に送信する。なお、当該１次元座標の部分アドレスへの変換の方法や手順などについては、上述のとおりであるので、説明を省略する。
【００８４】
次に、ビット連結回路２０３は、受信した４つの部分アドレスを、当該各部分アドレスを送信したビット割当回路２０２１、ビット割当回路２０２２、ビット割当回路２０２３、ビット割当回路２０２４の順に連結する。そして、ビット連結回路２０３は、当該連結により生成したメモリアドレスを、他の回路などに送信する。
【００８５】
上記の様に、４つの各ビット割当回路にビット量を割り当てることで、図５のメモリアドレス生成回路２は、水平４０９６×垂直２０４８×時間６４までのサイズの種類Ａの画像を格納するためのメモリアドレスを生成することができる。
【００８６】
また、上記と同様に、例えば、図６の様に、割当ビット量選択回路２０１が、座標条件「画像の種類＝種類Ｂ」と、変換方法情報「画像の種類：３ｂｉｔ，水平座標：１０ｂｉｔ，垂直座標：１０ｂｉｔ，時間座標：９ｂｉｔ」とを有する変換方法管理情報を保持しているとする。この場合、図６のメモリアドレス生成回路２は、水平1024×垂直1024×時間512までのサイズの種類Ｂの画像を格納するためのメモリアドレスを生成することができる。
【００８７】
以上、本実施の形態によるメモリアドレス生成装置１によれば、２次元以上の座標情報に応じて、メモリアドレスへの変換方法を変更し、当該２次元以上の座標情報を１次元のメモリアドレスに変換することができる。
【００８８】
また、本実施の形態によるメモリアドレス生成装置１によれば、２次元以上の座標情報に応じて、当該２次元以上の各座標情報に割り当てるビット量を変更し、当該２次元以上の座標情報を１次元のメモリアドレスに変換することができる。
【００８９】
また、本実施の形態によるメモリアドレス生成装置１によれば、２次元以上の座標情報に応じて、当該２次元以上の各座標情報から減算する１次元の座標情報を変更し、当該２次元以上の座標情報を１次元のメモリアドレスに変換することができる。
【００９０】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段は、物理的に一の媒体で実現されてもよいことは言うまでもない。
【００９１】
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００９２】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【００９３】
また、上記各実施の形態におけるメモリアドレス生成装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、２次元以上の座標に関する条件である座標条件と、２次元以上の座標を示す座標情報をメモリアドレスに変換する方法を示す変換方法情報とを有する１以上の変換方法管理情報が格納されており、コンピュータを、２次元以上の座標を示す座標情報を受け付ける座標情報受付部と、前記座標情報受付部が受け付けた２次元以上の座標情報が合致する座標条件に対応する変換方法情報を取得する変換方法情報取得部と、前記座標情報受付部が受け付けた２次元以上の座標情報を、前記変換方法情報取得部が取得した変換方法情報を用いてメモリアドレスに変換するメモリアドレス変換部と、前記メモリアドレス変換部が変換したメモリアドレスを出力する出力部として動作させるためのプログラムである。
【００９４】
なお、上記プログラムにおいて、ハードウェアでしか行われない処理は少なくとも含まれない。
【００９５】
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【００９６】
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
【００９７】
また、図７は、前述のプログラムを実行して、前述の実施の形態のメモリアドレス生成装置等を実現するコンピュータシステム９の概観図である。前述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
【００９８】
図７において、コンピュータシステム９は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ９０１１、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）ドライブ９０１２を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【００９９】
図８は、コンピュータシステム９のブロック図である。図８において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０１１、ＦＤドライブ９０１２に加えて、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１３と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０１４と、ＭＰＵ９０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０１５と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク９０１６と、ＣＤ−ＲＯＭドライブ９０１１、ＦＤドライブ９０１２、ＭＰＵ９０１３等を相互に接続するバス９０１７とを備える。ここでは図示しないが、コンピュータ９０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを備えていてもよい。
【０１００】
コンピュータシステム９に、前述の実施の形態のメモリアドレス生成装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９１０１、またはＦＤ９１０２に記憶されて、ＣＤ−ＲＯＭドライブ９０１１またはＦＤドライブ９０１２に挿入され、さらにハードディスク９０１６に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９０１６に記憶されてもよい。プログラムは実行の際にＲＡＭ９０１５にロードされる。プログラムは、ＣＤ−ＲＯＭ９１０１、ＦＤ９１０２またはネットワークから直接、ロードされてもよい。
【０１０１】
プログラムは、コンピュータ９０１に、前述の実施の形態のメモリアドレス生成装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム９がどのように動作するかは周知であり、詳細な説明は省略する。
【０１０２】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１０３】
以上のように、本発明にかかるメモリアドレス生成装置は、２次元以上の座標情報を１次元のメモリアドレスに変換することができ、また、当該２次元以上の座標情報に応じて、メモリアドレスへの変換方法を切り替えることができるという効果を有し、メモリコントローラ等として有用である。
【符号の説明】
【０１０４】
１  メモリアドレス生成装置
１１  変換方法管理情報格納部
１２  座標情報受付部
１３  変換方法情報取得部
１４  メモリアドレス変換部
１５  出力部
１４１  部分アドレス生成手段
１４２  部分アドレス連結手段
【図１】
0005802167.tif 000002
【図２】
0005802167.tif 000003
【図３】
0005802167.tif 000004
【図４】
0005802167.tif 000005
【図５】
0005802167.tif 000006
【図６】
0005802167.tif 000007
【図７】
0005802167.tif 000008
【図８】
0005802167.tif 000009