(57)【要約】 【課題】  識別符号を利用者が記憶しやすく入力しやすいようにする識別符号処理装置等を提供する。【解決手段】  識別符号処理装置４０１の記憶部４０２は、文字列を複数のグループに分けて整数に対応付けて記憶し、識別符号入力受付部４０３が入力を受け付けた識別符号を分解部４０４が整数列に分解し、文字列取得部４０５が順に各グループからそれぞれの整数に対応付けられた文字列を取得して出力部４０６が出力する。文字列入力受付部４０７が入力を受け付けた文字列を、整数列取得部４０８が順に記憶部４０２から検索してこれに対応付けられた整数を得て、整数列を取得し、結合部は整数列を結合して、元の識別符号を復元する。【選択図】  図４
2006277335.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる複数のデータを所定範囲の整数に対応付け、当該複数のデータをn (n>1)個のグループに分類して記憶する記憶部、
識別符号の入力を受け付ける識別符号入力受付部、
前記入力を受け付けられた識別符号を、当該所定範囲の整数からなる長さnの整数列に分解する分解部、
前記分解された長さnの整数列に含まれる整数のそれぞれについて、それが当該整数列内でi (1≦i≦n)番目である場合、i番目のグループに分類され、当該整数に対応付けられて前記記憶部に記憶されるデータのいずれかを取得するデータ取得部、
前記取得されたn個のデータを出力する出力部、
n個のデータの入力を受け付けるデータ列入力受付部、
前記入力を受け付けられたn個のデータ列から長さnの整数列を取得する整数列取得部であって、当該n個のデータのそれぞれについて、当該データがj (1≦j≦n)番目のグループに分類されて前記記憶部に記憶される場合、当該取得される整数列のj番目の要素を、当該データに対応付けて記憶される整数として取得する整数列取得部、
前記取得された長さnの整数列を結合して識別符号を得る結合部
を備え、
任意の識別符号を前記分解部に分解させて得られる長さnの整数列を前記結合部に結合させて得られる識別符号は、当該元の識別符号に一致する
ことを特徴とする識別符号処理装置。
【請求項２】
請求項１に記載の識別符号処理装置であって、当該データは文字列であり、
文の入力を受け付ける文入力受付部、
前記入力を受け付けられた文に含まれるデータのうち、前記記憶部に記憶されるデータをn個抽出する抽出部
をさらに備え、
前記データ入力受付部は、前記抽出部により抽出されたn個のデータを入力として受け付ける
ことを特徴とする物。
【請求項３】
請求項１または２に記載の識別符号処理装置であって、
前記記憶部は、当該n個のグループのうち同じグループに分類され、当該所定範囲の整数のうち同じ整数に対応付けて記憶されるデータの数が複数となるように、当該複数のデータを記憶する
ことを特徴とする物。
【請求項４】
請求項３に記載の識別符号処理装置であって、
前記記憶部は、当該複数のデータのそれぞれに所定のk (k≧n)種類の属性を対応付け、当該n個のグループのうち同じグループに分類され、当該所定範囲の整数のうち同じ整数に対応付けられ、当該k種類のうち同じ属性に対応付けられて記憶されるデータの数が少なくとも１つとなるように、当該複数のデータを記憶し、
前記データ取得部は、これが取得するn個のデータに対応付けて前記記憶部に記憶される属性が所定の条件を満たすように、当該n個のデータを取得する
ことを特徴とする物。
【請求項５】
請求項４に記載の識別符号処理装置であって、
前記データ取得部が取得するn個のデータに対応付けて前記記憶部に記憶される属性が互いに異なる場合、当該所定の条件が満たされる
ことを特徴とする物。
【請求項６】
根と節と枝からなり、各節にはデータが対応付けられ、同じ親を有する節に対応付けられるデータは重複しない木構造を記憶する記憶部、
識別符号の入力を受け付ける識別符号入力受付部、
前記入力を受け付けられた識別符号を、前記記憶された木構造の根から、当該木構造の節のうち当該識別符号に一意に対応付けられる節へと辿る際に出会う節のそれぞれに対応付けられるデータを順に取得するデータ取得部、
前記順に取得されたデータの列を出力する出力部、
データの列の入力を受け付けるデータ入力受付部、
前記入力を受け付けられたデータの列と、前記記憶された木構造の根から当該木構造のいずれかの節へと辿る際に出会う節のそれぞれに対応付けられたデータを順に取得したデータの列と、が一致するように、当該木構造を辿り、最後に到達した節に対応付けられる識別符号を得る結合部
を備えることを特徴とする識別符号処理装置。
【請求項７】
互いに異なる複数のデータを所定範囲の整数に対応付け、当該複数のデータをn (n>1)個のグループに分類して記憶する記憶部を用い、識別符号入力受付部、分解部、データ取得部、出力部、データ入力受付部、整数列取得部、結合部を備える識別符号処理装置にて実行される識別符号処理方法であって、
前記識別符号入力受付部が、識別符号の入力を受け付ける識別符号入力受付工程、
前記分解部が、前記入力を受け付けられた識別符号を、当該所定範囲の整数からなる長さnの整数列に分解する分解工程、
前記データ取得部が、前記分解された長さnの整数列に含まれる整数のそれぞれについて、それが当該整数列内でi (1≦i≦n)番目である場合、i番目のグループに分類され、当該整数に対応付けられて前記記憶部に記憶されるデータのいずれかを取得するデータ取得工程、
前記出力部が、前記取得されたn個のデータを出力する出力工程、
前記データ入力受付部が、n個のデータの入力を受け付けるデータ入力受付工程、
前記整数列取得部が、前記入力を受け付けられたn個のデータから長さnの整数列を取得する整数列取得部であって、当該n個のデータのそれぞれについて、当該データがj (1≦j≦n)番目のグループに分類されて前記記憶部に記憶される場合、当該取得される整数列のj番目の要素を、当該データに対応付けて記憶される整数として取得する整数列取得工程、
前記結合部が、前記取得された長さnの整数列を結合して識別符号を得る結合工程
を備え、
任意の識別符号を前記分解工程にて分解させて得られる長さnの整数列を前記結合工程にて結合させて得られる識別符号は、当該元の識別符号に一致する
ことを特徴とする方法。
【請求項８】
根と節と枝からなり、各節にはデータが対応付けられ、同じ親を有する節に対応付けられるデータは重複しない木構造を記憶する記憶部を用い、識別符号入力受付部、データ取得部、出力部、データ入力受付部、結合部を備える識別符号処理装置にて実行される識別符号処理方法であって、
前記識別符号入力受付部が、識別符号の入力を受け付ける識別符号入力受付工程、
前記データ取得部が、前記入力を受け付けられた識別符号を、前記記憶された木構造の根から、当該木構造の節のうち当該識別符号に一意に対応付けられる節へと辿る際に出会う節のそれぞれに対応付けられるデータを順に取得するデータ取得工程、
前記出力部が、前記順に取得されたデータの列を出力する出力工程、
前記データ入力受付部が、データの列の入力を受け付けるデータ入力受付工程、
前記結合部が、前記入力を受け付けられたデータの列と、前記記憶された木構造の根から当該木構造のいずれかの節へと辿る際に出会う節のそれぞれに対応付けられたデータを順に取得したデータの列と、が一致するように、当該木構造を辿り、最後に到達した節に対応付けられる識別符号を得る結合工程
を備えることを特徴とする方法。
【請求項９】
コンピュータを、
互いに異なる複数のデータを所定範囲の整数に対応付け、当該複数のデータをn (n>1)個のグループに分類して記憶する記憶部、
識別符号の入力を受け付ける識別符号入力受付部、
前記入力を受け付けられた識別符号を、当該所定範囲の整数からなる長さnの整数列に分解する分解部、
前記分解された長さnの整数列に含まれる整数のそれぞれについて、それが当該整数列内でi (1≦i≦n)番目である場合、i番目のグループに分類され、当該整数に対応付けられて前記記憶部に記憶されるデータのいずれかを取得するデータ取得部、
前記取得されたn個のデータを出力する出力部、
n個のデータの入力を受け付けるデータ入力受付部、
前記入力を受け付けられたn個のデータから長さnの整数列を取得する整数列取得部であって、当該n個のデータのそれぞれについて、当該データがj (1≦j≦n)番目のグループに分類されて前記記憶部に記憶される場合、当該取得される整数列のj番目の要素を、当該データに対応付けて記憶される整数として取得する整数列取得部、
前記取得された長さnの整数列を結合して識別符号を得る結合部
として機能させ
任意の識別符号を前記分解部に分解させて得られる長さnの整数列を前記結合部に結合させて得られる識別符号は、当該元の識別符号に一致する
ように機能させることを特徴とするプログラム。
【請求項１０】
コンピュータを、
根と節と枝からなり、各節にはデータが対応付けられ、同じ親を有する節に対応付けられるデータは重複しない木構造を記憶する記憶部、
識別符号の入力を受け付ける識別符号入力受付部、
前記入力を受け付けられた識別符号を、前記記憶された木構造の根から、当該木構造の節のうち当該識別符号に一意に対応付けられる節へと辿る際に出会う節のそれぞれに対応付けられるデータを順に取得するデータ取得部、
前記順に取得されたデータの列を出力する出力部、
データの列の入力を受け付けるデータ入力受付部、
前記入力を受け付けられたデータの列と、前記記憶された木構造の根から当該木構造のいずれかの節へと辿る際に出会う節のそれぞれに対応付けられたデータを順に取得したデータの列と、が一致するように、当該木構造を辿り、最後に到達した節に対応付けられる識別符号を得る結合部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル番号、登録番号（レジスト番号）、セーブデータ、ランキングデータ、パスワード等、利用者が入力しなければサービスを利用することができなくなるようなデータの入力や記憶をしやすくし、利用者からも管理者からも管理しやすいように処理するのに好適な、識別符号処理装置、識別符号処理方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
なお以下では、当該処理の対象となる番号やデータを適宜「識別符号」と呼ぶこととする。
【背景技術】
【０００２】
従来から、コンピュータやゲーム装置を使用する際に、各種のシリアル番号、登録番号（レジスト番号）、セーブデータ、ランキングデータ、パスワード等の識別符号を用いて、利用者がこれらを入力しなければサービスが利用できなくなるようにする手法は広く用いられている。このような手法については、パスワード入力分野について以下の文献に開示がされている。以下の文献では、複数のイベントが設けられたゲームにおいて、次のイベントに進むためのパスワードの入力が必要となる技術が開示されている。
【特許文献１】特許第３３２４７３５号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら一般に、上記のような識別符号は、単なる英数字やハイフン等の羅列であったり、単なる整数や整数列であることが多い。したがって、利用者が記憶しにくいのはもちろん、入力間違えが生じやすい。
一方で、コンピュータやゲーム装置などの情報処理装置が識別符号を実際に利用する場合には、人間にはわかりにくい識別符号を利用せざるをえない場合がある。
そこで、利用者が各種の識別符号を記憶しやすく入力しやすいようにする一方で、情報処理装置が識別符号を処理できるようにする必要がある。
【０００４】
本発明は、上記のような課題を解決するためになされたもので、各種の識別符号を利用者が記憶しやすく入力しやすいようにするのに好適な識別符号処理装置、識別符号処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００６】
本発明の第１の観点に係る識別符号処理装置は、記憶部、識別符号入力受付部、分解部、データ取得部、出力部、データ入力受付部、整数列取得部、結合部を備え、以下のように構成する。
【０００７】
まず、記憶部は、互いに異なる複数のデータを所定範囲の整数に対応付け、当該複数のデータをn (n>1)個のグループに分類して記憶する。
データとしては、文字列のほか、画像や音声、バイト列など、種々の情報を採用することができる。以下、理解を容易にするため、データとして適宜文字列をあげて説明する。
各文字列は、たとえば１つの単語でも良いし、複数の単語からなる熟語や、自立語に付属語を付加した文節などを採用しても良い。また、日本語に限定されるものではなく、各国語それぞれで用いられる文字列を採用することができる。
各データは、いずれかのグループに属し、あるグループには、複数のデータが所属するか、当該グループ内では、所定範囲内の整数のいずれかに対して、少なくとも１つのデータが対応付けられることになる。
【０００８】
一方、識別符号入力受付部は、識別符号の入力を受け付ける。
上記のように、識別符号として採用しうるものは、各種のシリアル番号、登録番号（レジスト番号）、セーブデータ、ランキングデータ、パスワード等が考えられる。しかしながら、これらに限定されるものではなく、コンピュータ等で処理可能なデータであれば、どのようなデータであっても識別符号として処理することが可能である。
また、入力を行う主体は、人間であっても良いし、プログラムやライブラリがコンピュータで動作することによって構成されるハードウェアやネットワークを通じて接続される他のコンピュータ等であっても良い。本発明では、識別符号そのものを人間ができるだけ入力しないようにすることを目的の一つとしているので、想定される主体は主に後者である。
【０００９】
さらに、分解部は、入力を受け付けられた識別符号を、当該所定範囲の整数からなる長さnの整数列に分解する。
上記のように、識別符号はコンピュータが処理可能なデータにすぎないと考えることができる。コンピュータの内部処理は、どのようなデータであっても整数に対する演算に還元することが可能である。したがって、識別符号は、所定範囲の整数からなる整数列に分解することができる。たとえば、９桁の整数は４バイトで表現できるから、「０〜２５５という範囲の整数からなる長さ４の整数列」に分解することができる。
【００１０】
一方、データ取得部は、分解された長さnの整数列に含まれる整数のそれぞれについて、それが当該整数列内でi (1≦i≦n)番目である場合、i番目のグループに分類され、当該整数に対応付けられて記憶部に記憶されるデータのいずれかを取得する。
すなわち、整数列に含まれる整数のそれぞれとグループのそれぞれとを対応付け、当該整数の値に対応付けられるデータをそのグループから探して、n個のデータを取得するのである。
なお、上記のように、あるグループ内のある数値に対応付けられているデータは必ずしも１つではないので、複数対応付けられている場合には、いずれか１つを選択することになる。
【００１１】
さらに、出力部は、取得されたn個のデータを出力する。
したがって、利用者には、無味乾燥な識別符号ではなく、その利用者が日頃用いているような用語がn個提示されることになる。人間は、単なる英数字列のようなものは記憶しにくいし、入力の際にも間違えやすいが、日常使っている単語や熟語等は、記憶の鍵となるものがある上に、入力も手慣れているため、間違いにくい。したがって、n個のデータを識別符号に対応する情報として提示することによって、利用者の利便性を増すことができる。
【００１２】
なお、識別符号入力受付部、分解部、データ取得部、出力部による処理は、識別符号をn個のデータに変換する機能を果たすが、利用者がn個のデータを入力した場合に、これを元の識別符号に戻す機能を果たす要素が必要となる。これらの機能を果たすものが、データ入力受付部、整数列取得部、結合部である。
【００１３】
まず、データ入力受付部は、n個のデータの入力を受け付ける。
当該n個のデータとしては、出力部から出力されたものが想定される。なお、後述するように、n個のデータのそれぞれを入力するのではなく、１つの文に含まれるものとして入力する形態を採用することも可能である。
ついで、整数列取得部は、入力を受け付けられたn個のデータから長さnの整数列を取得する整数列取得部であって、当該n個のデータのそれぞれについて、当該データがj (1≦j≦n)番目のグループに分類されて記憶部に記憶される場合、当該取得される整数列のj番目の要素を、当該データに対応付けて記憶される整数として取得する。
上記のように、記憶部に記憶されるデータは、全体として重複がない。したがって、n個のデータがどのような順序で入力されたとしても、そのそれぞれが、整数列中の何番目に相当するものであるかは、識別が可能である。
したがって、n個のデータの入力の順序は、出力部から出力された順序やデータが属するグループの順序に必ずしもしたがう必要はない。これは、利用者の記憶を確実にし入力の手間を低減するのに役立つ。
【００１４】
最後に、結合部は、取得された長さnの整数列を結合して識別符号を得る。ここで、任意の識別符号を分解部に分解させて得られる長さnの整数列を結合部に結合させて得られる識別符号は、当該元の識別符号に一致する。
たとえば、分解部における分解の処理と、結合部における結合の処理とが、互いに逆関数の関係にあるように構成しておけば良い。
【００１５】
このほか、上記の例を参考にいうと、分解部における分解の処理では、９桁の数値を４バイトの整数列で表現するとともに、当該４バイトのチェックサムやＣＲＣを１バイトで表現し、５バイトの整数列を分解の結果とすることとしても良い。この場合、結合部における結合の処理では、チェックサムやＣＲＣを用いて５バイトの整数列の内容をチェックし、これに成功したら、その中の４バイトの整数列から９桁の数値を得ることとなる。
【００１６】
本発明によれば、利用者は、記憶しにくく入力しにくい識別符号をそのまま扱うのではなく、当該識別符号に還元することができ記憶しやすく入力しやすい日常的な用語列を識別符号のかわりに用いて、識別符号を扱った場合と同様のサービスを受けることができるようになる。
【００１７】
また、本発明の識別符号処理装置は、文入力受付部、抽出部をさらに備え、データとして文字列を使うこととし、以下のように構成することができる。
【００１８】
まず、文入力受付部は、文の入力を受け付ける。
たとえば、英語を主として用いる際には、英単語の列を入力すれば文の入力となる。日本語を主として用いる際には、わかち書きされていない日本語の文章を入力すれば文の入力となる。
【００１９】
一方、抽出部は、入力を受け付けられた文に含まれるデータのうち、記憶部に記憶されるデータをn個抽出する。
英語を主として用いる場合には、入力された英単語の列から、記憶部に記憶されている単語のみを抽出すれば良い。日本語を主として用いる場合には、形態素解析を行って単語列などを得てから記憶部に記憶されている単語のみを抽出しても良いし、形態素解析の際に記憶部に登録されているものをそのまま参照することとしても良い。
【００２０】
さらに、データ入力受付部は、抽出部により抽出されたn個のデータを入力として受け付ける。
したがって、利用者は、n個のデータを入力するのにかえて、馴染みやすい英文や日本語文を入力することによって、上記発明と同様のサービスを受けることができるようになる。
【００２１】
本発明によれば、記憶部には、冠詞や前置詞、助詞や助動詞、各種の付属語を登録しないこととしておけば、利用者は、「n個のデータをそのまま記憶する」のではなく、「自分で冠詞等や助詞等を補ってn個のデータを含む文を作り、これを語呂合せ的に記憶する」ことによって、より記憶を鮮明にすることができるようになる。
【００２２】
また、本発明の識別符号処理装置において、記憶部は、当該n個のグループのうち同じグループに分類され、当該所定範囲の整数のうち同じ整数に対応付けて記憶されるデータの数が複数となるように、当該複数のデータを記憶するように構成することができる。
すなわち、上記発明では、当該n個のグループのうち同じグループに分類され、当該所定範囲の整数のうち同じ整数に対応付けて記憶されるデータの数は少なくとも１つであったが、本発明では、必ず複数である。
【００２３】
これによって、同じ識別符号が与えられた場合であっても、これから出力されるn個のデータは多数となり、利用者に提示されるバリエーションが飛躍的に増えることとなる。たとえば、識別符号が４個の整数列に分解される場合には、少なくとも2×2×2×2 = 16通りの出力結果が得られることになる。
本発明によれば、記憶部に記憶されるデータを適切に管理設定することによって、利用者が記憶すべきデータのバリエーションを飛躍的に増大することができる。
【００２４】
また、本発明の識別符号処理装置は、以下のように構成することができる。
すなわち、記憶部は、当該複数のデータのそれぞれに所定のk (k≧n)種類の属性を対応付け、当該n個のグループのうち同じグループに分類され、当該所定範囲の整数のうち同じ整数に対応付けられ、当該k種類のうち同じ属性に対応付けられて記憶されるデータの数が少なくとも１つとなるように、当該複数のデータを記憶する。
【００２５】
属性としては、名詞・形容詞・動詞・副詞などの品詞や、主格・目的格・対格・補語格・動詞などの格要素、体言・用言・係り言葉などの日本語文内における役割などのほか、人間・動物・食物などの属性を考えることができる。これは、記憶部に記憶させるデータの種類を適切に考えることによって、適宜変更が可能である。
【００２６】
一方、データ取得部は、これが取得するn個のデータに対応付けて記憶部に記憶される属性が所定の条件を満たすように、当該n個のデータを取得する。
所定の条件としては、種々のものが考えられるが、得られるn個のデータができるだけ利用者に記憶しやすいような条件を設定することが望ましい。
たとえば、データ取得部が取得するn個のデータに対応付けて記憶部に記憶される属性が互いに異なる場合、当該所定の条件が満たされるように構成することができる。
【００２７】
上記のように英文を主な対象とし、属性として名詞・形容詞・動詞・副詞を採用した場合は、４個の整数列は、
１番目のグループの名詞、形容詞、動詞、副詞
２番目のグループの名詞、形容詞、動詞、副詞
３番目のグループの名詞、形容詞、動詞、副詞
４番目のグループの名詞、形容詞、動詞、副詞
に対応付けられることになる。
【００２８】
ここで、互いに異なる属性を用いることとすれば、
１番目のグループの形容詞
２番目のグループの副詞
３番目のグループの名詞
４番目のグループの動詞
などのようにデータが選ばれる。このような選び方は、上記の例の場合、２４通りあることになる。
【００２９】
ここで、上記のように、n個のデータの順序は、本発明においては区別されないから、１番目のグループの形容詞、３番目のグループの名詞、４番目のグループの動詞、２番目のグループの副詞の順に単語を並べ、必要に応じて冠詞や前置詞を補えば、自然な英文を構成することができる。
【００３０】
このように、本発明では、記憶部を適切に管理設定することによって、識別符号のかわりに、利用者ができるだけ記憶しやすいような文を利用することができるようになる。
【００３１】
本発明のその他の観点に係る識別符号処理装置は、記憶部、識別符号入力受付部、データ取得部、出力部、データ入力受付部、結合部を備え、以下のように構成することができる。
【００３２】
ここで、記憶部は、根と節と枝からなり、各節にはデータが対応付けられ、同じ親を有する節に対応付けられるデータは重複しない木構造を記憶する。
上記発明に相当するものは、木構造の各節が持つ子の数が一定となるものであり、本発明は上記発明をさらに一般化した形態と考えることもできる。
一方、識別符号入力受付部は、識別符号の入力を受け付ける。これは、上記発明と同様である。
【００３３】
さらに、データ取得部は、入力を受け付けられた識別符号を、記憶された木構造の根から、当該木構造の節のうち当該識別符号に一意に対応付けられる節へと辿る際に出会う節のそれぞれに対応付けられるデータを順に取得する。
ここで、根や節から出る木構造の枝に互いに重複しない０以上子の数未満の整数を割り当てるものとし、木構造を辿った際のその枝番号の列を考えると、当該枝番号の列が、上記発明における分解された整数列に対応する。
【００３４】
そして、出力部は、順に取得されたデータの列を出力する。これは、上記発明と同様である。
一方、データ入力受付部は、データの列の入力を受け付ける。これは、上記発明と同様である。
【００３５】
さらに、結合部は、入力を受け付けられたデータの列と、記憶された木構造の根から当該木構造のいずれかの節へと辿る際に出会う節のそれぞれに対応付けられたデータを順に取得したデータの列と、が一致するように、当該木構造を辿り、最後に到達した節に対応付けられる識別符号を得る。
これは、上記データ取得部における変換の逆変換に相当する。
【００３６】
本発明によれば、利用者は、記憶しにくく入力しにくい識別符号をそのまま扱うのではなく、当該識別符号に還元することができ記憶しやすく入力しやすい日常的な用語列を識別符号のかわりに用いて、識別符号を扱った場合と同様のサービスを受けることができるようになる。
【００３７】
本発明のその他の観点に係る識別符号処理方法は、互いに異なる複数のデータを所定範囲の整数に対応付け、当該複数のデータをn (n>1)個のグループに分類して記憶する記憶部を用い、識別符号入力受付部、分解部、データ取得部、出力部、データ入力受付部、整数列取得部、結合部を備える識別符号処理装置にて実行される。そして、識別符号入力受付工程、分解工程、データ取得工程、出力工程、データ入力受付工程、整数列取得工程、結合工程を備え、以下のように構成する。
【００３８】
まず、識別符号入力受付工程では、識別符号入力受付部が、識別符号の入力を受け付ける。
一方、分解工程では、分解部が、入力を受け付けられた識別符号を、当該所定範囲の整数からなる長さnの整数列に分解する。
【００３９】
さらに、データ取得工程では、データ取得部が、分解された長さnの整数列に含まれる整数のそれぞれについて、それが当該整数列内でi (1≦i≦n)番目である場合、i番目のグループに分類され、当該整数に対応付けられて記憶部に記憶されるデータのいずれかを取得する。
そして、出力工程では、出力部が、取得されたn個のデータを出力する。
【００４０】
一方、データ入力受付工程では、データ入力受付部が、n個のデータの入力を受け付ける。
さらに、整数列取得工程では、整数列取得部が、入力を受け付けられたn個のデータから長さnの整数列を取得する整数列取得部であって、当該n個のデータのそれぞれについて、当該データがj (1≦j≦n)番目のグループに分類されて記憶部に記憶される場合、当該取得される整数列のj番目の要素を、当該データに対応付けて記憶される整数として取得する。
【００４１】
そして、結合工程では、結合部が、取得された長さnの整数列を結合して識別符号を得る。
ここで、任意の識別符号を分解工程にて分解させて得られる長さnの整数列を結合工程にて結合させて得られる識別符号は、当該元の識別符号に一致する。
【００４２】
本発明のその他の観点に係る識別符号処理方法は、根と節と枝からなり、各節にはデータが対応付けられ、同じ親を有する節に対応付けられるデータは重複しない木構造を記憶する記憶部を用い、識別符号入力受付部、データ取得部、出力部、データ入力受付部、結合部を備える識別符号処理装置にて実行され、識別符号入力受付工程、データ取得工程、出力工程、データ入力受付工程、結合工程を備え、以下のように構成する。
【００４３】
すなわち、識別符号入力受付工程では、識別符号入力受付部が、識別符号の入力を受け付ける。
【００４４】
一方、データ取得工程では、データ取得部が、入力を受け付けられた識別符号を、記憶された木構造の根から、当該木構造の節のうち当該識別符号に一意に対応付けられる節へと辿る際に出会う節のそれぞれに対応付けられるデータを順に取得する。
【００４５】
さらに、出力工程では、出力部が、順に取得されたデータの列を出力する。
【００４６】
そして、データ入力受付工程では、データ入力受付部が、データの列の入力を受け付ける。
【００４７】
一方、結合工程では、結合部が、入力を受け付けられたデータの列と、記憶された木構造の根から当該木構造のいずれかの節へと辿る際に出会う節のそれぞれに対応付けられたデータを順に取得したデータの列と、が一致するように、当該木構造を辿り、最後に到達した節に対応付けられる識別符号を得る。
【００４８】
本発明のその他の観点に係るプログラムは、コンピュータを上記識別符号処理装置として機能させ、または、コンピュータに上記識別符号処理方法を実行させるように構成する。
【００４９】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００５０】
本発明によれば、各種の識別符号を利用者が記憶しやすく入力しやすいようにするのに好適な識別符号処理装置、識別符号処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００５１】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置として動作する情報処理装置に対して本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ（Personal Data Assistants）、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００５２】
特に、以下では、ユーザとの間の入出力の対象となるデータとして、文字列を採用して説明することとするが、図形などを表す画像や、音声、各種のバイト列による入出力などを想定し、データとして画像情報や音声情報、バイナリ情報を採用することとしても良い。
【実施例１】
【００５３】
図１は、本発明の識別符号処理装置が実現される典型的な情報処理装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【００５４】
情報処理装置１００は、ＣＰＵ  １０１と、ＲＯＭ  １０２と、ＲＡＭ  １０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、を備える。
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の識別符号処理装置が実現される。
【００５５】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００５６】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００５７】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００５８】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザがレーシングゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【００５９】
図２は、コントローラ１０５の外観を示す説明図である。以下、本図を参照して説明する。
【００６０】
コントローラ１０５の左方には、上下左右を示す操作入力を行うのに利用される↑ボタン２０１、↓ボタン２０２、←ボタン２０３、→ボタン２０４が配置されている。
【００６１】
右方には、決定操作入力を行うのに利用される○ボタン２０５、取消操作入力を行うのに利用される×ボタン２０６、メニュー表示等の指示入力を行うのに利用される△ボタン２０７、その他の指示入力を行うのに利用される□ボタン２０８が配置されている。
【００６２】
中央には、ＳＥＬＥＣＴボタン２０９、ＳＴＡＲＴボタン２１０のほか、アナログ入力の開始・停止を指示するためのＡＮＡＬＯＧボタン２１１、および、アナログ入力が有効か無効かを表示するためのインジケータ２１２が配置されている。
【００６３】
また中央下部には、上下左右に限らない方向に大きさを伴う指示入力を行うためのジョイスティック２１３、２１４が配置されている。
【００６４】
さらに、上方には、各種の指示入力に用いることができるＬ１ボタン２１５、Ｌ２ボタン２１６、Ｒ１ボタン２１７、Ｒ２ボタン２１８が配置されている。
【００６５】
コントローラ１０５の各ボタン２０１〜２０８、２１５〜２１８には、圧力センサが配備され、アナログ入力が有効となっている場合には、いずれのボタンが押圧操作されているかを検知することができるほか、ユーザの押圧操作の圧力の大きさを０〜２５５の２５６段階で得ることができる。
【００６６】
コントローラ１０５のジョイスティック２１３、２１４は、ひずみゲージが配備され、これらがどの方向にどれだけ曲げられているか、を検知することができる。
【００６７】
図３は、このようなコントローラを用いて文字を入力するためのソフトウェアキーボードが表示例を示す説明図である。以下、本図を参照して説明する。
モニタ表示画面３０１の下方には、ソフトウェアキーボード３０２が表示されている。ソフトウェアキーボード３０２には、「あ」〜「ん」の平仮名、濁音、半濁音、句読点、各種記号が表示された五十音表３０３がある。
【００６８】
ユーザは、↑ボタン２０１、↓ボタン２０２、←ボタン２０３、→ボタン２０４を操作してカーソル３０４を仮名に合わせた後、○ボタン２０５を押圧操作することにより、所望の仮名を選択することができる。選択された仮名は、文字列提示領域３０５に順に表示される。また、×ボタン２０６を押圧操作すると、文字列提示領域３０５に表示された仮名のうち、最後の仮名が削除される。
このようなソフトウェアキーボードを用いるほか、情報処理装置１００に外部キーボードが接続されている場合には、当該外部キーボードを用いて文字列を編集することができる。
【００６９】
なお、英数字などを入力できるように構成したソフトウェアキーボードの場合には、五十音表３０３にかえて、一般的なキーボードでよく用いられるＱＷＥＲＴＹ配列に英字や数字を配置した表を用い、上記と同様に操作できるようにすれば良い。
【００７０】
このソフトウェアキーボードは、本実施形態に係る識別符号処理装置に適用できるほか、ネットワークを介したチャットシステム等に適用することもできる。所望の文字列を編集した後、送信ボタン３０６にカーソル３０４を移動して○ボタン２０５を押圧操作すると、当該文字列がチャットにおける自分の意見として送信される。また、チャットの履歴がログ表示領域３０７に表示されている。
【００７１】
図１に戻り、インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、対戦ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、対戦に伴うチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００７２】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データ、動画情報データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００７３】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）にバッファリング記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。このような画像処理部１０７の処理は、ＣＰＵ  １０１の演算処理とは並行して行うことができる。
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００７４】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００７５】
このほか、ＤＶＤ−ＲＯＭに記録された動画情報や、これをあらかじめＲＡＭ  １０３等に転送した場合の動画情報は、画像処理部１０７によって、画面の所定の領域にスーパーインポーズするような形式で、動画表示を行うことができる。
【００７６】
さて、ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００７７】
インターネット内のＳＮＴＰサーバにＮＩＣ  １０９を介して接続し、ここから情報を得ることによって現在の日時情報を得ることができる。また、各種のネットワークゲームのサーバ装置が、ＳＮＴＰサーバと同様の機能を果たすように構成設定してもよい。
【００７８】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００７９】
さらに、情報処理装置１００には、インターフェース１０４を介してマイクを接続することができる。この場合、マイクからのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。情報処理装置１００をゲーム装置として利用する場合には、マイクから入力された音声データを指示入力データとして、コントローラ１０５のかわりに入力デバイスとして用いることも可能である。
【００８０】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００８１】
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置１００にかえて、汎用のパーソナルコンピュータを利用することもできる。
【００８２】
一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、ゲームにおける画面表示には必ずしも特化していない画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっているのが一般的である。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。
したがって、このような一般的なコンピュータを、本発明の識別符号処理装置として動作させることも可能である。
【００８３】
図４は、本実施形態に係る識別符号処理装置の概要構成を示す説明図である。以下、本図を参照して説明する。
識別符号処理装置４０１は、記憶部４０２、識別符号入力受付部４０３、分解部４０４、文字列取得部４０５、出力部４０６、文字列入力受付部４０７、整数列取得部４０８、結合部４０９を備える。
【００８４】
ここで、識別符号入力受付部４０３、分解部４０４、文字列取得部４０５、出力部４０６は、処理の対象となる識別符号をn個の文字列に変換する機能を果たし、文字列入力受付部４０７、整数列取得部４０８、結合部４０９は、利用者がn個の文字列を入力した場合に、これを元の識別符号に戻す機能を果たす。記憶部４０２は、これら両者の機能を果たす上で共通して利用される。
【００８５】
まず、記憶部４０２は、互いに異なる複数の文字列を所定範囲の整数に対応付け、当該複数の文字列をn (n>1)個のグループに分類して記憶する。本実施形態では、文字列として日本語の日常的な語句を採用することとする。たとえば、各グループに、以下のような単語（コロンの前）が整数（コロンの後）に対応付けられて分類されているものとする。
【００８６】
（１）少年：０、少女：０、私：１、お母さん：１、…、お爺ちゃん：２５５、お婆ちゃん：２５５
（２）りんご：０、みかん：０、バナナ：１、肉：１、…、魚：２５５、ほうれん草：２５５
（３）今日：０、明日：０、来週：１、いつか：１、…、喜んで：２５５、嫌々：２５５
（４）食べる：０、捨てる：０、投げる：１、買う：１、…、煮る：２５５、焼く：２５５
【００８７】
このように、本実施形態では、文字列は４つのグループに分類されており、各グループの文字列は、０〜２５５の範囲の整数のうち、いずれかに対応付けられている。また、同じグループ、同じ整数に対応付けられている文字列は、いずれも２つとなっている。
以下では、記憶部４０２に文字列sが記憶されている場合、この文字列が属するグループの番号をs.gと表記し、対応付けられる整数の値をs.xと表記することとする。上記の例では、たとえば、
"バナナ".g = 2；
"投げる".x = 1
などが成立する。
【００８８】
図５は、識別符号を文字列に変換する変換処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００８９】
まず、識別符号入力受付部４０３が、識別符号の入力を受け付ける（ステップＳ５０１）。本実施形態においては、識別符号は、ライブラリが情報処理装置１００で動作することによって生成される。したがって、典型的には、本ステップにおいて、なんらかの手法によってＲＡＭ  １０３内に記憶されることとなった識別符号をＣＰＵ  １０１が読み出す処理が行われることとなる。
【００９０】
次に、分解部４０４が、入力を受け付けられた識別符号を、当該所定範囲の整数からなる長さnの整数列に分解する（ステップＳ５０２）。以下、この整数列に含まれるi (1≦i≦n)番目の整数を、v[i]のように表記することとする。
上記のように、典型的な情報処理装置１０１では、ＲＡＭ  １０３内に記憶されている識別符号は、所定の長さのバイト列によって表現される。そこで、各バイトをそのまま整数に対応付ければ良い。なお、上記のように、グループの数は４個であるから、ここで分解される整数列の長さは、４である。また、上記のように、各グループの文字列に対応付けられる整数の範囲は０〜２５５であり、１バイトで表現できるから、整数列に含まれる整数の範囲もまた０〜２５５の１バイトである。
【００９１】
なお、グループの数が異なる場合や、整数の範囲が異なる場合には、このほかの適切な分解手法を採用する必要がある。このような分解手法の他の例については、後述する。
さらに、ＣＰＵ  １０１は、ＲＡＭ  １０３内に領域が用意されたカウンタ変数iを１に初期化し（ステップＳ５０３）、i≦nである（ステップＳ５０４；Ｙｅｓ）間、ステップＳ５０５〜ステップＳ５１０の処理を繰り返す。
【００９２】
まず、文字列取得部４０５は、記憶部４０２に記憶されたi番目のグループのうち、整数v[i]に割り当てられている文字列を検索する（ステップＳ５０５）。すなわち、s.g = i，s.x = v[i]を満たすような文字列sを検索するのである。たとえばi = 2，v[i] = 1の場合、上記例では、「来週」「いつか」が検索結果となる。
つぎに、検索結果が複数か否かを調べ（ステップＳ５０６）、そうである場合（ステップＳ５０６；Ｙｅｓ）、その中からいずれかを取得する（ステップＳ５０７）。一方、検索結果が１つである場合（ステップＳ５０６；Ｎｏ）、これを取得する（ステップＳ５０８）。
【００９３】
上記のように、記憶部４０２には、i番目のグループのうち整数v[i]に対応付けられる文字列は少なくとも１つあるから、何らかの文字列が必ず取得されることとなる。
したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３と共働して、文字列取得部４０５として機能することとなる。
【００９４】
ついで、出力部４０６は、取得された文字列を出力する（ステップＳ５０９）。取得された文字列は利用者に提示する必要があるため、典型的にはＣＰＵ  １０１の制御の下、画像処理部１０７を介してモニタに表示されることとなる。
そして、カウンタ変数iを１増やして（ステップＳ５１０）、ステップＳ５０４に戻る。
【００９５】
一方、i>nとなった場合（ステップＳ５０４；Ｎｏ）、本処理を終了する。このようにして、本実施形態では、普通人が日頃用いているような語句が、モニタに４個提示されることになる。
【００９６】
たとえば、識別符号がリトルエンディアン表現で４バイト精度の整数として表現されており、その数値が３３４８９１５３である場合、
v[1] = 1；
v[2] = 1；
v[3] = 255；
v[4] = 1
であるから、結果の４個の文字列として、たとえば、「お母さん」「肉」「喜んで」「焼く」が出力されることとなる。
このようにして得られる識別符号の変換結果は、日常使っている単語や熟語等とすることができるため、記憶しやすく、以下に説明する逆変換処理においても、利用者にとっては入力しやすいものである。
【００９７】
なお、本発明では、同じ識別符号が与えられた場合であっても、同じグループの同じ整数に対応付けられる文字列は２種類あるから、これから出力される４個の文字列は2×2×2×2 = 16通りあることになる。したがって、同じグループ、同じ整数に割り当てられる文字列の数を増やせば、利用者に提示されるバリエーションを飛躍的に増やすことができる。これにより、利用者は、出力される文字列群が気にいらなければ、試行を繰り返すことによって、好みの文字列群を覚えることができるようになる。
【００９８】
図６は、変換処理の結果得られた文字列を元の識別符号に戻すための逆変換処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
まず、ＣＰＵ  １０１は、ＲＡＭ  １０３内に、整数列を保存するための領域を確保する（ステップＳ６０１）。本実施形態では、整数列に含まれる各整数の値は０〜２５５であり、整数列の長さは４であるから、４バイトの領域を確保すれば良い。以下では、j (1≦j≦n)番目の領域をw[j]と表記するものとする。
【００９９】
ついで、文字列入力受付部４０７が、n個の文字列の入力を受け付ける（ステップＳ６０２）。文字列の入力には、上述したようなソフトウェアキーボードや、ハードウェアにより構成されたキーボードなど、任意の入力装置を用いることができる。以下では、入力されたh (1≦h≦n)番目の文字列をt[h]と表記するものとする。
そして、ＣＰＵ  １０１は、ＲＡＭ  １０３内に用意されたカウンタ変数hを１に初期化し（ステップＳ６０３）、h≦nである（ステップＳ６０４；Ｙｅｓ）間、ステップＳ６０５〜ステップＳ６０７の処理を繰り返す。
【０１００】
まず、整数列取得部４０８は、入力された文字列のうち、h番目の文字列t[h]を記憶部４０２にて検索して、t[h].gおよびt[h].xの値を得る（ステップＳ６０５）。なお、検索の結果、当該文字列が記憶部４０２に登録されていなかった場合には、エラーを報告して再入力を促す等の処理を行うこととなる。ここでは、理解を容易にするため、当該処理の詳細については、説明を省略した。
【０１０１】
次に、得られた値を元に、ＲＡＭ  １０３内の領域w[t[h].g]に整数値w[t[h].x]を記憶させ（ステップＳ６０６）、カウンタ変数hの値を１増やして（ステップＳ６０７）、ステップＳ６０３に戻る。
上記のように、識別符号から文字列への変換において出力されるn個の文字列は、いずれも異なるグループに属するものであるから、ステップＳ６０５において得られるt[h].gの値は、繰り返しによって、重複なく1からnのいずれかの値をとることとなる。
【０１０２】
さて、カウンタ変数h>nとなった場合（ステップＳ６０４；Ｎｏ）、領域wに整数列が得られているはずであるから、結合部４０９が、取得された整数列を結合して識別符号を得て（ステップＳ６０８）、これを所望の処理に渡し、本処理を終了する。
本実施形態では、４バイトの整数列をそのまま４バイト長の精度の整数表現として扱うこととすれば、このような結合ができたこととなる。したがって、本実施形態では、ＣＰＵ  １０１がＲＡＭ  １０３の領域wから４バイト長整数読み出しを行えば、識別符号が得られる。
【０１０３】
上記の例において、「お母さん」「肉」「喜んで」「焼く」が出力された場合、これを逆変換しようとすると、
"お母さん".g = 1，"お母さん".x = 1；
"肉".g = 1，"肉".x = 1；
"喜んで".g = 1，"喜んで".x = 1；
"焼く".g = 1，"焼く".x = 1
であるから、これらがどのような順序で入力されたとしても、
w[1] = 1；
w[2] = 1；
w[3] = 255；
w[4] = 255
となり、結果として得られる識別符号の値は、これをリトルエンディアン表現の４バイト整数と見て、1 + 1×256 + 255×256×256 + 255×256×256×256 = 33489153となる。このように、元の識別符号が復元されるのである。
【０１０４】
一般に、任意の識別符号を分解部４０４に分解させて得られる長さnの整数列を結合部４０９に結合させて得られる識別符号が、当該元の識別符号に一致するように、分解と結合の処理を設定しておけば、どのような処理を採用しても良い。たとえば、分解の処理と、結合の処理とが、互いに逆関数の関係にあるように構成しておけば良い。
【０１０５】
本実施形態によれば、利用者は、記憶しにくく入力しにくい識別符号をそのまま扱うのではなく、当該識別符号に還元することができ記憶しやすく入力しやすい日常的な用語列を識別符号のかわりに用いて、識別符号を扱った場合と同様のサービスを受けることができるようになる。
【０１０６】
なお、本実施形態では、４バイト精度の整数からなる識別符号を、n = 4個の１バイト精度（０〜２５５の範囲）の整数からなる整数列に分解してからn = 4個の文字列を得ていたが、識別符号そのものにチェックサムやＣＲＣなどの機構が採用されていない場合には、この設定を適宜変更することによって、入力ミス等をさらに防止することができる。
【０１０７】
上記のように、識別符号の各バイトをv[1]，v[2]，v[3]，v[4]と考える。変換の際には、v[1] + v[2] + v[3] + v[4]を２５６で割った余りをチェックサムとしてv[5]とすることとし、ステップＳ５０２において、識別符号をv[1]，v[2]，v[3]，v[4]，v[5]の５バイトに分解することとする。この場合、記憶部４０２には、グループをn = 5個用意する必要がある。この結果、n = 5個の文字列が出力される。
【０１０８】
そして、逆変換の際には、ステップＳ６０８の直前において領域wに得られた整数列w[1]，w[2]，w[3]，w[4]，w[5]について、w[1] + w[2] + w[3] + w[4]を２５６で割った余りがw[5]に等しいか調べ、等しくなければ、入力ミスがあった旨を報告して、再入力を促すのである。等しければ、ステップＳ６０８において、w[1]，w[2]，w[3]，w[4]を４バイト精度の整数の各バイトとして扱って、識別符号を得るのである。
【０１０９】
このようにして、識別符号の入力について高い信頼性を実現することができる。なお、上記の例ではチェックサムを利用しているが、ＣＲＣやハッシュ値など、各種の同様の技術を適用しても良い。
【実施例２】
【０１１０】
上記実施形態では、逆変換処理において、利用者がn個の文字列を任意の順序で別個に入力するものとしていた。本実施形態では、これをさらに利用者が利用しやすい実施形態とすることを考える。
【０１１１】
図７は、本実施形態に係る識別符号処理装置の構成をあらわす模式図である。以下、本図を参照して説明する。
【０１１２】
本実施形態の識別符号処理装置４０１は、上記の実施形態の各要素のほか、文入力受付部４１０、抽出部４１１をさらに備える。
【０１１３】
ここで、文入力受付部４１０は、利用者から文の入力を受け付ける。上記の例では、「お母さん」「肉」「喜んで」「焼く」が任意の順序で個別に入力されるものとしていたが、本実施形態では、以下のような文を受け付けることができる。この文は、変換処理において出力される文字列の間に適当な助詞や助動詞などの付属語を補ったものである。
お母さんは肉を喜んで焼く。
喜んでお母さんは肉を焼く。
お母さんは喜んで肉を焼く。
【０１１４】
本実施形態では、日本語を主として用いており、変換処理の出力結果に付属語を補うことでわかち書きされていない日本語の文を処理対象とすることができる。
【０１１５】
一方、抽出部４１１は、入力を受け付けられた文に含まれる文字列のうち、記憶部４０２に記憶される文字列をn個抽出する。
記憶部４０２に記憶される文字列は、本実施形態では、自立語であるから、記憶部４０２を単語辞書として用い、入力された日本語文に対して形態素解析の技術を用いれば、n個の文字列を得ることができる。この例では、「お母さん」「肉」「喜んで」「焼く」が得られることとなる。
【０１１６】
そして、ここで得られたn個の文字列を、文字列入力受付部４０７に渡すのである。以降の処理は、上記実施形態と同様である。
このように、利用者は、n個の文字列を入力するのにかえて、馴染みやすい日本語文を入力することによって、上記発明と同様のサービスを受けることができるようになる。
【０１１７】
本実施形態では、記憶部４０２には、冠詞や前置詞、助詞や助動詞、各種の付属語を記憶させなうこととしておく。これによって、利用者は、「n個の文字列をそのまま記憶する」のではなく、「自分で冠詞等や助詞等を補ってn個の文字列を含む文を作り、これを語呂合せ的に記憶する」ことによって、より記憶を鮮明にすることができるようになる。
【実施例３】
【０１１８】
上記実施形態では、記憶部４０２に記憶される文字列は、類似した属性を持つもの同士が、同じグループに分類されていた。すなわち、第１グループは主語（主体）、第２グループは目的語（客体）、第３グループは副詞句、第４グループは動詞（用言）であった。
【０１１９】
本実施形態では、記憶部４０２に記憶される文字列に、それぞれ属性を付与しておく。属性としては、名詞・形容詞・動詞・副詞などの品詞や、主格・目的格・対格・方向格・補語格・修飾格と動詞などの格要素、体言・用言・係り言葉などの日本語文内における役割などを採用することができるほか、人間・動物・食物など、既存の属性をさらに再分類した属性を採用しても良い。このような属性の選択については、記憶部４０２に記憶させる文字列の種類を適切に考えることによって、適宜変更が可能である。属性の種類の数kは、k≧nとすることが望ましい。
【０１２０】
そして、同じグループ、同じ整数、同じ属性に対応付けられる文字列の数が、少なくとも１個、望ましくは複数であるように、記憶部４０２に文字列を記憶させるのである。上記例では、各グループが主語、目的語、修飾語、用言に対応付けられていたが、本実施形態では、各グループ内に主語、目的語、修飾語、用言を表す語句が所属することとなる。すなわち、本実施形態は、文字列をグループに分類する際のバリエーションの一つと考えることができる。
【０１２１】
本実施形態は、上記実施形態のほとんどと構成が同様である。上記実施形態では、文字列取得部４０５が各グループ各整数から任意に文字列を取得していたのに対し、本実施形態では、当該文字列のそれぞれの属性が所定の条件を満たすように、当該n個の文字列を取得する。
所定の条件としては、種々のものが考えられるが、得られるn個の文字列ができるだけ利用者に記憶しやすいような条件を設定することが望ましい。
たとえば、文字列取得部４０５が取得するn個の文字列に対応付けて記憶部４０２に記憶される属性が互いに異なる場合、当該所定の条件が満たされるように構成することができる。
【０１２２】
記憶部４０２に、以下のように用語が記憶されている場合を考える。先頭のかっこ付きの数字はグループであり、各要素のコロンより前は文字列、１番目のコロンの後は対応付けられる整数、２番目のコロンの後は対応付けられる属性である。また、理解を容易にするため、以下の例では、同じグループ、同じ整数、同じ属性に対応付けられる文字列は１つとする。
（１）少年：０：主語、…、お父さん：２５５：主語、
りんご：０：目的語、…、魚：２５５：目的語、
今日：０：修飾語、…、泣きながら：２５５：修飾語、
食べる：０：用言、…、売る：２５５：用言
（２）少女：０：主語、…、叔父さん：２５５：主語、
みかん：０：目的語、…、栗：２５５：目的語、
明日：０：修飾語、…、踊りながら：２５５：修飾語、
捨てる：０：用言、…、炒める：２５５：用言
（３）私：０：主語、…、お爺ちゃん：２５５：主語、
バナナ：０：目的語、…、梨：２５５：目的語、
来週：０：修飾語、…、喜んで：２５５：修飾語、
投げる：０：用言、…、煮る：２５５：用言
（４）お母さん：０：主語、…、お婆ちゃん：２５５：主語、
肉：０：目的語、…、南瓜：２５５：目的語、
いつか：０：修飾語、…、嫌々：２５５：修飾語、
買う：０：用言、…、焼く：２５５：用言
【０１２３】
識別符号としてリトルエンディアン表現の４バイト整数が与えられ、その値が１６７１１６８０である場合、
v[1] = 0；
v[2] = 0；
v[3] = 255；
v[4] = 0
であるから、所定の条件を満たすか否かをチェックする前には、以下の文字列が取得されることとなる。
（１）少年、りんご、今日、食べる
（２）少女、みかん、明日、捨てる
（３）お爺ちゃん、梨、喜んで、煮る
（４）お母さん、肉、いつか、買う
【０１２４】
ここで、「所定の条件」として、「互いに異なる属性であること」を採用することとすれば、以下のような組合せがありうることとなる。
少年、みかん、喜んで、買う
少年、みかん、煮る、いつか
少年、明日、梨、買う
少年、明日、煮る、肉
少年、捨てる、梨、いつか
少年、捨てる、肉、喜んで、
りんご、少女、喜んで、買う
りんご、少女、煮る、いつか
……（中略）……
食べる、明日、梨、お母さん
【０１２５】
このような選び方は、上記の例の場合、２４通りあることになる。属性によって選択される用語に制約が課せられるため、助詞等を容易に補うことができるように、属性を設定することが望ましい。
【０１２６】
４個の文字列の順序は、本実施形態においては区別されないから、これらのいずれの組合せが選択された場合であっても、利用者は適切に助詞等を補って記憶を行うことができる。
【０１２７】
このように、本発明では、記憶部４０２を適切に管理設定することによって、識別符号のかわりに、利用者ができるだけ記憶しやすいような文を利用することができるようになる。
【実施例４】
【０１２８】
上記実施形態は、識別符号を、所定範囲の整数からなる長さnの整数列に分解してからそれぞれの整数について、対応する文字列を取得していた。ここで、「所定範囲の整数」を「0以上m未満の整数」と考えると、「所定範囲の整数からなる長さnの整数列」とは、「m進法でn桁の整数」に相当する。すなわち、上記実施形態では、「m進法でn桁の整数」と、「n個の文字列」とを対応付けていることになる。
【０１２９】
ここで、「m進法でn桁の整数」は、木構造として考えることもできる。すなわち、深さnの木構造であって、各節からはm本の枝が出ている、という構造である。図８は、4進法で3桁の整数に対応する木構造を図示する説明図である。以下、本図を参照して説明する。
【０１３０】
本図では、木構造８０１の枝８０２に、その桁の整数値が描かれており、節８０３が、文字列のグループに対応している。節８０３内には、「２：１」のように「○○：××」の形で整数の対が表記されているが、これは、「○○番目のグループにおいて整数××に対応付けられる文字列」を意味する。
【０１３１】
この木構造の根８０４から始まり、枝８０２で結ばれた節を図中左から右にたどることを考える。
【０１３２】
整数列を順に走査して、根８０４から順に、枝８０２に描かれた整数をたどりながら節８０３を通過していき、通過の際に、当該節８０３の文字列を出力するものとすれば、これは、（「識別符号」→）「整数列」→「文字列の列」の変換の処理に相当する。
【０１３３】
一方、文字列の列を順に走査して、根８０４から順に、着目している節８０３の子の節に当該文字列が含まれる枝８０２をたどることとし、たどる際に当該枝８０２の整数を出力するものとすれば、これは、「文字列の列」→「整数列」（→「識別符号」）の変換の処理に相当する。
【０１３４】
このように考えると、各節８０３に対応付けられる文字列が最低限満たすべき条件は、「同じ親を有する節８０３は、それぞれ異なる文字列に対応付けられる」ということになる。
【０１３５】
本実施形態は、上記実施形態の木構造をさらに一般化したものである。すなわち、本実施形態では、木構造の節は、複数の節を子として持つが、その数は定数ではないものを採用する。上記実施形態は、木構造８０１の節８０３は、いずれも、あらかじめ定めた個数（４個）の節８０３を子として持っているのに対し、本実施形態では、子の数が一定でない点が特徴となっている。
【０１３６】
すなわち、上記実施形態は、「m進法でn桁の整数」と「深さnで節からm本の枝が出る木構造」とを対応付けるものであるが、本実施形態は、「節から出る枝の数は複数ではあるが一定でない木構造」を採用するものであり、「各桁の進法の数字が異なる整数」に相当すると考えることができる。
【０１３７】
木構造のたどり方によって節から出る枝の数が変わるのであるから、「各桁の進法の数字」が「それより下の桁」によって変化することになる。
【０１３８】
図９は、このような木構造を図示する説明図である。以下、本図を参照して説明する。
【０１３９】
本図に示す木構造９０１は、根９０４から枝９０２を介して、複数の節９０３が生えているが、親から子へ伸びる枝９０２の数がそれぞれ異なる。また、本図では、木構造９０１の根の付近のみを図示しており、点線で示すように、実際の木構造９０１はもっと大きいものである。
【０１４０】
たとえば、根９０４から伸びる枝９０２は２本であるから、一番最初の桁は２進法ということになる。ここで、上の枝９０２（値０）をたどったとすると、次の節９０３から伸びる枝９０２は３本であるから、整数列で、先頭の値が０のときの次の桁は３進法で表現されることになる。
【０１４１】
このように、各枝９０２は、Ｘ進法におけるある桁の値がＹである、ということに対応付けることができる。以下、この対応付けを「Ｙ／Ｘ」と書くこととすると、本図に示す木構造９０１で表現される整数列は、以下のようになる。
０／２  −  ０／３；
０／２  −  １／３；
０／２  −  ２／３；
【０１４２】
１／２  −  ０／４  −  ０／３；
１／２  −  ０／４  −  １／３；
１／２  −  ０／４  −  ２／３；
【０１４３】
１／２  −  １／４  −  ０／２；
１／２  −  １／４  −  １／２；
【０１４４】
１／２  −  ２／４  −  ０／３；
１／２  −  ２／４  −  １／３；
１／２  −  ２／４  −  ２／３；
１／２  −  ２／４  −  ３／４；
【０１４５】
１／２  −  ３／４  −  ０／１  −  ０／２；
１／２  −  ３／４  −  ０／１  −  １／２
【０１４６】
これらはそれぞれ、各桁の進法を考慮すれば、以下のような整数値（識別符号）に対応付けることができる。ただし、z = 0である。
(z×3 + 0)×2 + 0 = 0；
(z×3 + 1)×2 + 0 = 2；
(z×3 + 2)×2 + 0 = 4；
((z×3 + 0)×4 + 0)×2 + 1 = 1；
((z×3 + 1)×4 + 0)×2 + 1 = 9；
((z×3 + 2)×4 + 0)×2 + 1 = 17；
((z×2 + 0)×4 + 1)×2 + 1 = 3；
((z×2 + 1)×4 + 1)×2 + 1 = 11；
((z×3 + 0)×4 + 2)×2 + 1 = 5；
((z×3 + 1)×4 + 2)×2 + 1 = 13；
((z×3 + 2)×4 + 2)×2 + 1 = 21；
((z×3 + 3)×4 + 2)×2 + 1 = 29；
(((z×2 + 0)×1 + 0)×4 + 3)×2 + 1 = 7；
(((z×2 + 1)×1 + 0)×4 + 3)×2 + 1 = 15
【０１４７】
このような対応関係は、以下の演算によればよい。すなわち、木構造９０１の根９０４から始めて、木構造９０１の枝９０２をたどり、枝９０２に割り当てられている整数を見て、整数列を得る。
【０１４８】
たとえば、識別符号「２９」について考えると、最初の節に相当する根９０４の子は２個であるから、「２９」を２で割る。すると、商は「１４」、余りは「１」である。したがって、下側の枝９０２をたどることになり、整数列に余りの数値「１」を追加する。
【０１４９】
次に到達した節９０３（１：１）の子は４個であるから、「１４」を４で割る。すると、商は「３」、余りは「２」である。したがって、２番目の枝９０２をたどることになり、整数列に余りの数値「２」を追加する。
【０１５０】
次に到達した節９０３（２：２）の子は４個であるから、「３」を４で割る。すると、商は「０」、余りは「３」である。したがって、３番目の枝９０２をたどることになり、整数列に余りの数値「３」を追加する。
【０１５１】
また、商が「０」となったので、整数列の出力をやめる。
【０１５２】
このように木構造９０１をたどることにより、識別符号「２９」から整数列「１、２、３」が得られることになる。整数列に含まれる整数から文字列を得る手法については、上記実施形態と同様である。
【０１５３】
本図では、木構造９０１の一部のみを示しており、点線で示すように、木構造９０１の本図に示さない部分も考慮すれば、所望の識別符号すべてを網羅するように、枝９０２と節９０３を設けることができる。そして、上記実施例と同様に、この木構造９０１を用いて、「識別符号」→「整数列」→「文字列の列」の変換を行うことができ、また、逆演算を行うことによって、「文字列の列」→「整数列」→「識別符号」の変換を行うことができるのである。
【０１５４】
なお、本図に示す形態では、子を１つしか持たない節９０３がある。この子に相当する節９０３（同じ親を持つ節９０３が存在しない節９０３）を用いると、上記の変換に冗長性を持たせることができ、ユーザが入力する「文字列の列」の入力誤りを検出することができる。
【０１５５】
すなわち、「１：１に属する文字列」に続いて「２：３に属する文字列」が入力された場合は、次の文字列は必ず「３：０に属する文字列」でなければならない。これ以外の文字列が入力された場合には、そこまでに入力された文字列のいずれかに入力誤りがあったことになる。
【０１５６】
このようなチェック用の節９０３を木構造９０１の中に複数用意しておけば、入力された「文字列の列」の中で、どこからどこまでに誤りがあるか、を検出することができる。すなわち、枝９０２をたどる際にそれまでに通過できたチェック用の節９０３のうち最後のものから、通過できなかったチェック用の節９０３までの間に、ユーザの入力ミスがあることになる。
【０１５７】
さて、本実施形態に係る識別符号処理装置の概要構成は、図４に示すものと類似する。以下、理解を容易にするため、相異点を中心に説明する。
【０１５８】
ここで、記憶部４０２には、図９に示すような木構造９０１が記憶されることになる。
【０１５９】
図１０は、本実施形態に係る識別符号処理装置において実行される変換処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１６０】
まず、識別符号入力受付部４０３は、整数値である識別符号の入力を受け付け（ステップＳ１００１）、これをＲＡＭ  １０３に用意された変数領域kに代入する（ステップＳ１００２）。
【０１６１】
一方、分解部４０４は、木構造９０１のうち、ＲＡＭ  １０３に用意された現在注目する節を記憶する変数領域rに、根９０４を代入する（ステップＳ１００３）。
【０１６２】
そして、変数rに参照される節９０３から出ている枝の数で変数kを除算し（ステップＳ１００４）、余りの数値に割り当てられた枝９０２に沿って子の節９０３を選択する（ステップＳ１００５）。
【０１６３】
そして、文字列取得部４０５は、当該子の節９０３に割り当てられている文字列（複数ある場合はそのいずれか）を、ＲＡＭ  １０３に用意された文字列配列領域sに追加する（ステップＳ１００６）。
【０１６４】
さらに、分解部４０４は、商を変数kに代入し（ステップＳ１００７）、ステップＳ１００５で選択された子の節９０３を変数rに代入して（ステップＳ１００８）、k=0でなければ（ステップＳ１００９；Ｎｏ）、ステップＳ１００４に戻る。
【０１６５】
一方、k=0であれば（ステップＳ１００９；Ｙｅｓ）、出力部４０６が、文字列配列領域sに蓄積された「文字列の列」を出力して（ステップＳ１０１０）、本処理を終了する。
【０１６６】
ステップＳ１００５の計算で得られる余りを順に並べたものが、上記実施形態における「整数列」に相当するものである。
【０１６７】
図１１は、本実施形態に係る識別符号処理装置において実行される変換処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１６８】
まず、文字列入力受付部４０７は、文字列の列の入力を受け付ける（ステップＳ１１０１）。そして、当該文字列の列を、ＲＡＭ  １０３に用意された文字列配列領域sに代入する（ステップＳ１１０２）。以下、配列sのi番目の要素は、s[i]のように表記するものとし、N個の要素がある場合には、各要素はs[0]，s[1]，…，s[N-1]に対応付けられるものとする。以下、文字列配列sの長さをNであるとして、説明する。
【０１６９】
整数列取得部４０８は、注目する節を記憶する変数領域rに、根９０４を代入し（ステップＳ１１０３）、カウンタ変数領域iに、０を代入する（ステップＳ１１０４）。
【０１７０】
また、ＲＡＭ  １０３内には、各桁の進法の数値を記憶する配列mと、文字列の列を整数列に逆変換する際の各桁の数値を記憶する配列xと、を用意しておく。
【０１７１】
さて、整数列取得部４０８は、注目している節rの子の節９０３の個数を変数m[i]に代入する（ステップＳ１１０５）。そして、注目している節rの子の節９０３のうち、文字列s[i]に対応付けられているものがいずれかを選択し（ステップＳ１１０６）、当該選択された子節９０３に至る枝９０２に対応付けられた整数（枝の番号）を変数x[i]に代入する（ステップＳ１１０７）。
【０１７２】
ついで、整数列取得部４０８は、注目している節rを選択された子の節９０３に更新し（ステップＳ１１０８）、iを１増やし（ステップＳ１１０９）、i<Nである場合（ステップＳ１１１０；Ｙｅｓ）、ステップＳ１１０４に戻る。
【０１７３】
一方、そうでない場合（ステップＳ１１１０；Ｎｏ）、結合部４０９は、識別符号の結果を格納するための変数領域aを０に初期化し（ステップＳ１１１１）、iを１減らし（ステップＳ１１１２）、変数aに桁の値x[i]を加算する（ステップＳ１１１３）。
【０１７４】
そして、結合部４０９は、i=0でなければ（ステップＳ１１１４；Ｎｏ）、iを１減らし（ステップＳ１１１５）、変数aを進法の数m[i]倍して（ステップＳ１１１６）、ステップＳ１１１３に戻る。
【０１７５】
一方、結合部４０９は、i=0であれば（ステップＳ１１１４；Ｙｅｓ）、変数aの値を識別符号として出力して（ステップＳ１１１７）、本処理を終了する。
【０１７６】
なお、上記各実施形態に加え、入力された文字列の正規化を事前に行うこととしても良い。日本語の綴りには、漢字、平仮名、片仮名などがあり、送り仮名の振り方にも揺れがあることから、別途用意されたシソーラスを用いて正規化を行ってから、「文字列」→「整数」の変換を行うのである。
【産業上の利用可能性】
【０１７７】
以上説明したように、本発明によれば、各種の識別符号を利用者が記憶しやすく入力しやすいようにするのに好適な識別符号処理装置４０１、識別符号処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１７８】
【図１】本発明の実施形態の１つに係る識別符号処理装置が実現される典型的な情報処理装置の概要構成を示す説明図である。
【図２】情報処理装置にて用いられるコントローラの外観を示す説明図である。
【図３】情報処理装置のコントローラを用いて文字入力を行うためのソフトウェアキーボードがモニタに表示される様子を示す説明図である。
【図４】本実施形態に係る識別符号処理装置の概要構成を示す説明図である。
【図５】識別符号を文字列に変換する変換処理の制御の流れを示すフローチャートである。
【図６】変換処理の結果得られた文字列を元の識別符号に戻すための逆変換処理の制御の流れを示すフローチャートである。
【図７】他の実施形態に係る識別符号処理装置の構成をあらわす模式図である。
【図８】変換処理に対応付けられる木構造を示す説明図である。
【図９】変換処理に対応付けられる木構造を示す説明図である。
【図１０】識別符号を文字列に変換する変換処理の制御の流れを示すフローチャートである。
【図１１】変換処理の結果得られた文字列を元の識別符号に戻すための逆変換処理の制御の流れを示すフローチャートである。
【符号の説明】
【０１７９】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
２０１  ↑ボタン
２０２  ↓ボタン
２０３  ←ボタン
２０４  →ボタン
２０５  ○ボタン
２０６  ×ボタン
２０７  △ボタン
２０８  □ボタン
２０９  ＳＥＬＥＣＴボタン
２１０  ＳＴＡＲＴボタン
２１１  ＡＮＡＬＯＧボタン
２１２  インジケータ
２１３  ジョイスティック
２１４  ジョイスティック
２１５  Ｌ１ボタン
２１６  Ｌ２ボタン
２１７  Ｒ１ボタン
２１８  Ｒ２ボタン
３０１  モニタ表示画面
３０２  ソフトウェアキーボード
３０３  五十音表
３０４  カーソル
３０５  文字列表示領域
３０６  送信ボタン
３０７  ログ表示領域
４０１  識別符号処理装置
４０２  記憶部
４０３  識別符号入力受付部
４０４  分解部
４０５  文字列取得部
４０６  出力部
４０７  文字列入力受付部
４０８  整数列取得部
４０９  結合部
４１０  文入力受付部
４１１  抽出部
８０１  木構造
８０２  枝
８０３  節
８０４  根
９０１  木構造
９０２  枝
９０３  節
９０４  根
【図１】
2006277335.tif 000003
【図２】
2006277335.tif 000004
【図３】
2006277335.tif 000005
【図４】
2006277335.tif 000006
【図５】
2006277335.tif 000007
【図６】
2006277335.tif 000008
【図７】
2006277335.tif 000009
【図８】
2006277335.tif 000010
【図９】
2006277335.tif 000011
【図１０】
2006277335.tif 000012
【図１１】
2006277335.tif 000013