以下、図面を参照しながら、本発明の実施の形態を説明する。
1.価格変換アプリケーション
図1A〜図1Cは、ユーザ装置100にインストールされている価格変換アプリケーションの画面遷移の一例を示す。ここでは、ユーザが、カメラ搭載スマートフォンであるユーザ装置100にインストールされている価格変換アプリケーションを利用して、旅行先の通貨単位の価格を、ユーザがいつも使っている母国通貨単位の価格に変換する場合を例に説明する。本例では、ユーザは、日本に旅行中の中国人であり、ユーザがいつも使っている母国通貨単位は、中国の通貨単位である人民元(CNY)であるとする。
図1Aは、ユーザ装置100にインストールされている価格変換アプリケーションの初期画面の一例を示す。
価格変換アプリケーションを起動すると、ユーザ装置100は、ユーザがいつも使っている母国通貨単位が人民元(CNY)であることを自動的に決定する。また、価格変換アプリケーションには、旅行先の通貨単位が日本円(JPY)であるとデフォルト設定されている。これにより、初期画面は、日本円(JPY)の価格を人民元(CNY)の価格に変換するための準備ができていることを上部領域101に表示する。また、ユーザ装置100は、日本円(JPY)と人民元(CNY)との為替相場(Exchange rate)を取得して、為替相場表示領域103に「Exchange rate:0.0595」と表示している。価格変換アプリケーションはユーザ装置100のカメラと連動しており、被写体は、画面中央の枠102内に表示される。
図1Bは、価格変換アプリケーションの価格認識画面の一例を示す。
ユーザ装置100のユーザは、店頭に販売されている電子レンジの値札に示されている「22,800円」を人民元(CNY)に換算するといくらになるのか知りたい。そこで、ユーザは、電子レンジの値札に示されている価格の通貨単位が日本円(JPY)から人民元(CNY)に変換されたときの価格を知るために、まず、カメラのシャッターを押して値札を撮影する。カメラによって撮影された画像は、画面中央の枠102内に表示される。ユーザ装置100は、画面中央の枠102内の文字を認識することにより、値札に示されている価格を決定する。本例では、ユーザ装置100は、撮影された画像から値札に示されている価格が「22,800円」であると決定し、変換前価格表示領域104に表示する。このとき、値札に示されている価格をどのようにして決定するかは問わない。例えば、画面中央の枠102内の数字のみを認識することにより、値札に示されている価格を決定してもよい。あるいは、画面中央の枠102内の数字と、通貨表示(例えば、「円」、「¥」等)との両方を認識することにより、値札に示されている価格を決定してもよい。
なお、上述した例では、シャッターを押して値札を撮影したことをトリガとして画面中央の枠102内の文字を認識したが、画面中央の枠102内の文字を認識するタイミングは問わない。例えば、シャッターを押す前にカメラのピントが合ったときに、表示されている画像から文字を認識してもよい。このとき、ピントは自動で合わせてもよいし、手動で合わせてもよい。
図1Cは、価格変換アプリケーションの変換後価格表示画面の一例を示す。
ユーザ装置100が値札に示されている価格を決定すると、ユーザ装置100は、取得した為替相場に基づいて、「22,800円」を人民元の価格に変換する処理を行い、変換後の価格「1356.6元」を変換後価格表示領域105に表示する。このようにして、ユーザ装置100が、撮影された第1の通貨単位の価格を自動的に決定された第2の通貨単位の価格に変換して表示することができるので、ユーザは、店頭に販売されている商品の値段が母国の通貨単位でいくらになるのかを瞬時に知ることができる。ユーザ装置100は、第2の通貨単位を自動的に決定するので、ユーザは、第2の通貨単位をユーザ装置100にわざわざ設定する必要がない。
上述した例では、値札に示されている価格を変換する機能のみを有する価格変換アプリケーションを説明したが、価格変換アプリケーションは、他の機能を備えてもよい。例えば、価格変換アプリケーションは、「おこづかい帳」機能を備えてもよい。「おこづかい帳」機能とは、例えば、旅行前に今回の旅行の予算を入力しておくと、価格変換アプリケーションによって値札に示されている価格を変換してから買い物をした場合に、その価格分だけ予算から引かれるといった機能である。例えば、ユーザが旅行前に旅行の予算として10、000元を入力しておくと、ユーザが旅行中に価格変換アプリケーションによって「22,800円」を「1356.6元」に変換してから買い物をした場合、予算の残額が8643.4元であることを知らせてくれる。この機能により、ユーザは、旅行の予算の残額を旅行先の通貨で管理する不便さを回避することができる。
価格変換アプリケーションの機能は、以下に説明される価格を変換するためのシステム10によって実現されることができる。
2.価格を変換するためのシステム10の構成
図2は、価格を変換するためのシステム10の構成の一例を示す。
システム10は、少なくとも1つのユーザ装置100と、少なくとも1つのユーザ装置100にネットワーク350を介して接続されているサーバ装置200と、サーバ装置200に接続されているデータベース部300とを備える。
ユーザ装置100は、スマートフォン、タブレット、パーソナルコンピュータ等の任意の端末装置であり得る。ユーザ装置100は、ネットワーク350を介してサーバ装置200と通信することができる。ここで、ネットワーク350の種類は問わない。例えば、ユーザ装置100は、インターネットを介してサーバ装置200と通信してもよいし、LANを介してサーバ装置200と通信してもよい。図2には3つのユーザ装置100が描写されているが、ユーザ装置100の数はこれに限定されない。ユーザ装置100の数は、1以上の任意の数であり得る。
サーバ装置200は、インターフェース部210と、メモリ部220と、プロセッサ部230とを備える。
インターフェース部210は、ユーザ装置100およびデータベース部300との通信を制御する。インターフェース部210は、任意の方法で通信を制御し得る。
メモリ部220には、サーバ装置200の処理の実行に必要とされるプログラムやそのプログラムの実行に必要とされるデータ等が格納されている。メモリ部220には、例えば、為替相場情報を取得してデータベース部300に格納する処理を実現するプログラムが格納されている。ここで、プログラムをどのようにしてメモリ部220に格納するかは問わない。例えば、プログラムは、メモリ部220にプリインストールされていてもよい。あるいは、プログラムは、ネットワーク350を経由してダウンロードされることによってメモリ部220にインストールされるようにしてもよいし、光ディスクやUSB等の記憶媒体を介してメモリ部220にインストールされるようにしてもよい。メモリ部は、任意の記憶手段によって実装されてもよい。
プロセッサ部230は、サーバ装置200全体の動作を制御する。プロセッサ部230は、メモリ部220に格納されているプログラムを読み出し、そのプログラムを実行する。これにより、サーバ装置200を所望のステップを実行する装置として機能させることが可能である。
サーバ装置200に接続されているデータベース部300には、為替相場情報が格納されている。サーバ装置200は、ネットワーク350を介して為替相場情報を取得し、取得された為替相場情報をデータベース部300に格納する。サーバ装置200が為替相場情報を取得するタイミングは問わない。例えば、サーバ装置200は、一日一回朝10時に為替相場情報を取得してもよいし、ユーザ装置100からの問い合わせに応答して為替相場情報を取得してもよい。データベース部300は、任意の記憶手段によって実装されてもよい。
なお、図2に示される例では、データベース部300がサーバ装置200の外部に設けられているが、本発明はこれに限定されない。データベース部300をサーバ装置200の内部に設けることも可能である。この場合、データベース部300とメモリ部220とは、同一の記憶手段によって実装されてもよいし、別の記憶手段によって実装されてもよい。データベース部300の構成は、特定のハードウェア構成には限定されない。例えば、データベース部300は、単一のハードウェア部品で構成されてもよいし、複数のハードウェア部品で構成されてもよい。例えば、データベース部300は、サーバ装置200の外付けハードディスク装置として構成されてもよいし、ネットワークを介して接続されるクラウド上のストレージとして構成されてもよい。
図3は、ユーザ装置100の構成の一例を示す。
ユーザ装置100は、インターフェース部110と、カメラ120と、表示部130と、メモリ部140と、プロセッサ部150とを備える。
インターフェース部110は、サーバ装置200との通信を制御する。インターフェース部110は、任意の方法で通信を制御し得る。
カメラ120は、静止画または動画を撮影可能である任意のカメラであり得る。ユーザ装置100に内蔵のカメラであってもよいし、ユーザ装置100に取り付けられる外部カメラであってもよい。
表示部130は、画面を表示する任意のディスプレイであり得る。
メモリ部140には、ユーザ装置100の処理の実行に必要とされるプログラムやそのプログラムの実行に必要とされるデータ等が格納されている。メモリ部140には、価格を変換する処理を実現するプログラムが格納されている。ここで、プログラムをどのようにしてメモリ部140に格納するかは問わない。例えば、プログラムは、メモリ部140にプリインストールされていてもよい。あるいは、プログラムは、ネットワーク350を経由してダウンロードされることによってメモリ部140にインストールされるようにしてもよい。メモリ部140には、OSレジストリ領域が設けられてもよく、ユーザ装置100の言語情報が、OSレジストリ領域に格納され得る。また、メモリ部140には、サーバ装置200から受信された為替相場情報が格納されてもよい。また、メモリ部140には、ユーザ装置100が基地局と通信した履歴を示す通信履歴情報が格納されてもよい。メモリ部140は、任意の記憶手段によって実装され得る。
プロセッサ部150は、ユーザ装置100全体の動作を制御する。プロセッサ部150は、メモリ部140に格納されているプログラムを読み出し、そのプログラムを実行する。これにより、ユーザ装置100を所望のステップを実行する装置として機能させることが可能である。
図3に示される例では、ユーザ装置100の各構成要素がユーザ装置100内に設けられているが、本発明はこれに限定されない。ユーザ装置100の各構成要素のいずれかがユーザ装置100の外部に設けられることも可能である。例えば、カメラ120と、表示部130と、メモリ部140と、プロセッサ部150とがそれぞれ別のハードウェア部品で構成されて、各ハードウェア部品が任意のネットワークを介して接続されてもよい。このとき、ネットワークの種類は問わない。各ハードウェア部品は、例えば、インターネットを介して接続されてもよいし、LANを介して接続されてもよいし、無線接続されてもよいし、有線接続されてもよい。
3.価格を変換するためのシステム10による処理
図4は、価格を変換するためのシステム10による処理の一例として、価格を変換する処理の手順を示す。
ステップS401で、価格を変換する処理が開始される。例えば、価格変換アプリケーションを起動すると、価格を変換する処理が開始される。
ステップS402では、ユーザ装置100のプロセッサ部150が、第1の通貨単位を決定する。第1の通貨単位をどのようにして決定するかは問わない。第1の通貨単位を任意の態様で決定することが本発明の範囲内である。例えば、ユーザ装置100の位置情報に基づいて、第1の通貨単位を自動的に決定してもよい。例えば、ユーザによる入力によって第1の通貨単位を決定してもよい。例えば、カメラ120によって撮影された画像から、任意の画像解析手段を用いて第1の通貨単位を決定してもよい。
なお、ステップS402は必須ではない。例えば、第1の通貨単位は、価格を変換する処理を実現するプログラムによってあらかじめ設定されることができる。例えば、第1の通貨単位が日本円にあらかじめ設定され得る。この場合、ステップS402を省略することができる。
ステップS403では、ユーザ装置100のプロセッサ部150が、第2の通貨単位を決定する。第2の通貨単位をどのようにして決定するかは問わない。第2の通貨単位を任意の態様で決定することが本発明の範囲内である。第2の通貨単位を決定する態様の例は、図5Aおよび図5Bを参照して後述される。
ステップS404では、ユーザ装置100のプロセッサ部150が、第1の通貨単位と第2の通貨単位との為替相場情報を取得する。第1の通貨単位と第2の通貨単位との為替相場情報をどのようにして取得するかは問わない。第1の通貨単位と第2の通貨単位との為替相場情報を任意の態様で取得することが本発明の範囲内である。
第1の通貨単位と第2の通貨単位との為替相場情報を取得する態様の一例として、ユーザ装置100のプロセッサ部150は、第1の通貨単位と第2の通貨単位との為替相場情報をサーバ装置200から取得してもよい。ユーザ装置100のプロセッサ部150は、まず、インターフェース部110を介して、第1の通貨単位と第2の通貨単位との為替相場情報についての問い合わせをサーバ装置200に送信する。サーバ装置200は、ユーザ装置100からの問い合わせに応答して、データベース部300から第1の通貨単位と第2の通貨単位との為替相場情報を取得する。データベース部300に第1の通貨単位と第2の通貨単位との為替相場情報が格納されていない場合は、サーバ装置200は、ネットワーク350を通じて第1の通貨単位と第2の通貨単位との為替相場情報を取得する。サーバ装置200は、取得された為替相場情報をユーザ装置100に送信する。このようにして、ユーザ装置100のプロセッサ部150は、サーバ装置200から第1の通貨単位と第2の通貨単位との為替相場情報を取得する。
図1Aに示される初期画面は、ステップS401〜ステップS404までの処理を終えた状態の画面を示している。
ステップS405では、ユーザ装置100のプロセッサ部150が、第1の通貨単位の価格を決定する。第1の通貨単位の価格をどのようにして決定するかは問わない。第1の通貨単位の価格を任意の態様で決定することが本発明の範囲内である。第1の通貨単位の価格を決定する態様の例は、図6を参照して後述される。
図1Bに示される価格認識画面は、ステップS405の処理を終えた状態の画面を示している。
ステップS406では、ユーザ装置100のプロセッサ部150が、第1の通貨単位と第2の通貨単位との為替相場情報に基づいて、第1の通貨単位の価格を第2の通貨単位の価格に変換する。例えば、第1の通貨単位(JPY)の価格が「22,800円」であり、第1の通貨単位(JPY)と第2の通貨単位(CNY)との為替相場が「JPY/CNH=0.0595」である場合、ユーザ装置100のプロセッサ部150は、22,800×0.0595を計算することにより、第2の通貨単位(CNY)の価格「1356.6元」を得る。
ステップS407では、価格を変換する処理が終了する。
ユーザ装置100は、価格を変換する処理によって得られた結果をユーザに提示することができる。ユーザ装置100は、任意の手段でユーザに提示することができる。例えば、ユーザ装置100は、図1Cに示される変換後価格表示画面の変換後価格表示領域105に第2の通貨単位の価格を表示することによって、ユーザに提示してもよい。例えば、ユーザ装置100は、音声で第2の通貨価格の単位を出力することによって、ユーザに提示してもよい。音声で出力する場合は、ユーザ装置100に設定されている言語情報の言語で出力してもよい。ユーザに提示される結果は、数字のみでもよいし、数字と通貨単位との両方であってもよい。
本発明は、図4に示されるステップの順序に限定されない。例えば、ステップS402の前にステップS403が行われてもよい。例えば、ステップS402とステップS405が同時に行われてもよい。すなわち、ユーザ装置100のプロセッサ部150は、第1の通貨単位を決定することとともに、第1の通貨単位の価格を決定することを行ってもよい。
上述した例では、ユーザ装置100のプロセッサ部150がステップS404でサーバ装置200から為替相場情報を取得することを説明したが、ユーザ装置100のプロセッサ部150は、ステップS404で、ユーザ装置100のメモリ部140にあらかじめ格納されている為替相場情報から第1の通貨単位と第2の通貨単位との為替相場情報を取得してもよい。この場合、ユーザ装置100のプロセッサ部150は、ステップS404の前にサーバ装置200と通信して為替相場情報を取得してメモリ部140に格納しておく必要がある。為替相場情報を取得するタイミングの一例として、上述した価格変換アプリケーションを起動したときにサーバ装置200から為替相場情報を取得してもよい。あるいは、一日一回または複数回、所定のタイミングでサーバ装置200から為替相場情報を取得してもよい。ユーザ装置100のプロセッサ部150がサーバ装置200から取得する為替相場情報は、データベース部300に格納されているすべての為替相場情報であってもよいし、一部の為替相場情報であってもよい。例えば、サーバ装置200から為替相場情報を取得する前に既に第2の通貨単位が決定されている場合、第2の通貨単位に関係する為替相場情報のみを取得してもよい。
図5Aおよび図5Bは、ステップS403の第2の通貨単位を決定する処理の一例を示す。
図5Aは、第1の指標に基づいて第2の通貨単位を決定する処理の一例を示す。
ステップS501では、第1の指標に基づいて第2の通貨単位を決定する処理が開始される。
ステップS502では、ユーザ装置100のプロセッサ部150が、第1の指標に基づいて第2の通貨単位を決定する。例えば、ユーザ装置100のプロセッサ部150は、第1の指標としてユーザ装置100に設定されている言語情報を参照して、第2の通貨単位を決定する。言語情報は、例えば、ユーザ装置100のOSレジストリ領域に設定されている。言語情報は、ユーザ装置100に表示されるテキストの言語を制御するための情報である。メーカーは、ユーザ装置100の販売先に合わせて言語情報をデフォルト設定する。例えば、日本で販売されるユーザ装置100の言語情報は、「日本語」にデフォルト設定される。例えば、米国で販売されるユーザ装置100の言語情報は、「英語」にデフォルト設定される。メーカーは、言語情報を変更することで、同一の機種を世界中に販売することが可能である。ユーザ装置100のプロセッサ部150は、このような言語情報を本来の目的とは異なる目的のために、すなわち、第2の通貨単位を決定するために使用する。ユーザ装置100のプロセッサ部150は、設定されている言語情報が示す言語に対応する通貨単位を決定し、その通貨単位を第2の通貨単位として決定する。設定されている言語情報が示す言語に対応する通貨単位が、ユーザが所望する通貨単位であると推定されるからである。
ユーザ装置100のプロセッサ部150は、ユーザ装置100に設定されている言語情報に対応する通貨単位を決定し、その通貨単位を第2の通貨単位として決定する。例えば、ユーザ装置100に設定されている言語情報が「中国語」を示す場合、「中国語」に対応する通貨単位は「人民元(CNY)」であると決定されることから、第2の通貨単位を「人民元(CNY)」に決定する。例えば、ユーザ装置100に設定されている言語情報が「ドイツ語」を示す場合、「ドイツ語」に対応する通貨単位は「ユーロ(EUR)」であると推定されることから、第2の通貨単位を「ユーロ(EUR)」に決定する。このように、ユーザ装置100に設定されている言語情報が示す言語に対応する通貨単位を第2の通貨単位として決定することができる。
なお、ステップS502で決定された第2の通貨単位が、ユーザが所望する通貨単位であるか否かをユーザに確認し、確認が取れた場合にのみステップS503に進むようにしてもよいし、確認することなく自動的にステップS503に進むようにしてもよい。
ステップS503では、第1の指標に基づいて第2の通貨単位を決定する処理が終了する。
第1の指標としての言語情報が、「英語」等のように1つの言語に複数の通貨単位が対応する言語を示す場合、言語に対応する通貨単位を一意的に決定することができないため、図5Aに示される処理では、第2の通貨単位を自動的に決定することができない。そこで、ユーザ装置100のプロセッサ部150は、第1の指標に加えて第2の指標に基づいて、第2の通貨単位を決定する。
図5Bは、第1の指標および第2の指標に基づいて第2の通貨単位を決定する処理の一例を示す。
ステップS511では、第1の指標および第2の指標に基づいて第2の通貨単位を決定する処理が開始される。
ステップS512では、ユーザ装置100のプロセッサ部150が、第1の指標に基づいて第2の通貨単位になり得る通貨単位候補を決定する。例えば、ユーザ装置100のプロセッサ部150は、第1の指標としてユーザ装置100に設定されている言語情報を参照して、通貨単位候補を決定する。例えば、ユーザ装置100に設定されている言語情報が「中国語」を示す場合、「中国語」に対応する「人民元(CNY)」が通貨単位候補として決定される。例えば、ユーザ装置100に設定されている言語情報が「英語」を示す場合、「英語」に対応する「アメリカ合衆国ドル(USD)」、「イギリスポンド(GBP)」、「オーストラリアドル(AUD)」、「ニュージーランドドル(NZD)」、「シンガポールドル(SGD)」、「インドルピー(INR)」等が通貨単位候補として決定される。
なお、第1の指標としての言語情報が、「英語」等のように1つの言語に複数の通貨単位が対応する言語を示す場合であっても、ユーザ装置100のプロセッサ部150は、代表的な一の通貨単位を通貨単位候補として決定することができる。例えば、ユーザ装置100に設定されている言語情報が「英語」を示す場合、ユーザ装置100のプロセッサ部150は、英語圏の代表的な通貨単位「アメリカ合衆国ドル(USD)」を通貨単位候補として一意的に決定するようにしてもよい。例えば、ユーザ装置100に設定されている言語情報が「ポルトガル語」を示す場合、ユーザ装置100のプロセッサ部150は、ポルトガル語の話者人口が多いブラジルの通貨単位「レアル(BRL)」を通貨単位候補として決定するようにしてもよい。代表的な一の通貨単位は、第2の通貨単位を決定する処理を実現するプログラムによってあらかじめ指定されることができる。
ステップS513では、ユーザ装置100のプロセッサ部150が、S512で複数の通貨単位候補が決定されたか否かを決定する。複数の通貨単位候補が決定された場合、第2の通貨単位を一意的に決定することができないので、ステップS514に進む。単一の通貨単位候補が決定された場合、第2の通貨単位を一意的に決定することができるので、S515に進む。
ステップS514では、ユーザ装置100のプロセッサ部150が、第2の指標に基づいて通貨単位候補を決定する。例えば、ユーザ装置100のプロセッサ部150は、第2の指標として、ユーザ装置100が基地局と通信した履歴を示す通信履歴情報を参照して、通貨単位候補を決定することができる。通信履歴情報は、例えば、ユーザ装置100が基地局と通信した際に基地局から受信したIPアドレス、MACアドレス等を含む。例えば、基地局から受信したIPアドレスの場合、その上位オクテットからその基地局が位置する国を特定することができる(図7を参照)。例えば、基地局から受信したMACアドレスの場合、位置情報データベースを参照することにより、その基地局が位置する国を特定することができる。ユーザ装置100のプロセッサ部150は、ユーザが所在する頻度が高い国を通信履歴情報から決定する。ユーザが所在する頻度が高い国の通貨単位が、ユーザが所望する通貨単位であると推定されることから、その通貨単位を通貨単位候補として決定する。
例えば、ステップS512で「アメリカ合衆国ドル(USD)」、「イギリスポンド(GBP)」、「オーストラリアドル(AUD)」、「ニュージーランドドル(NZD)」、「シンガポールドル(SGD)」、「インドルピー(INR)」が通貨単位候補として決定された場合、ユーザ装置100のプロセッサ部150は、ユーザ装置100のメモリ部140に格納されている通信履歴情報を参照する。通信履歴情報が、ユーザ装置100がイギリスに所在する基地局と最も頻繁に通信をしていたことを示す場合、ユーザが所望する通貨単位がイギリスの通貨単位である「イギリスポンド(GBP)」であると推定することができるので、ユーザ装置100のプロセッサ部150は、「イギリスポンド(GBP)」を通貨単位候補として決定する。このとき、決定された通貨単位候補が、ユーザが所望する通貨単位であるか否かをユーザに確認してステップS515に進んでもよいし、確認せずにステップS515に進んでもよい。例えば、ユーザ装置100の表示部130に確認画面を表示し、確認が取れた場合にのみステップS515に進むようにしてもよい。
ステップS515では、ユーザ装置100のプロセッサ部150が、ステップS512で決定された単一の通貨単位候補またはステップS514で決定された通貨単位候補を第2の通貨単位として決定する。
ステップS516では、第1の指標および第2の指標に基づいて第2の通貨単位を決定する処理が終了する。
上述した例では、第1の指標としての言語情報が「英語」等のように1つの言語に複数の通貨単位が対応する言語を示す場合に、図5Bに示される処理によって第2の通貨単位を決定することを説明したが、第1の指標としての言語情報が「英語」等のように1つの言語に複数の通貨単位が対応する言語を示す場合であっても、代表的な一の通貨単位を通貨単位として決定する場合は、図5Aに示される処理によって第2の通貨単位を決定してもよい。
上述した例では、第1の指標としてユーザ装置100に設定されている言語情報を参照し、第2の指標としてユーザ装置100が基地局と通信した履歴を示す通信履歴情報を参照したが、本発明は、これに限定されない。任意の他の情報を第1の指標または第2の指標として参照することができる。例えば、第1の指標として通信履歴情報を参照してもよい。例えば、第2の指標として言語情報を参照してもよい。
図6は、ステップS405の第1の通貨単位の価格を決定する処理の一例を示す。図6では、ユーザ装置100のカメラ120によって撮影された画像から第1の通貨単位の価格を決定する処理を例に説明する。
ステップS601では、第1の通貨単位の価格を決定する処理が開始される。
ステップS602では、ユーザ装置100のプロセッサ部150が、カメラ120によって撮影された画像を取得する。
ステップS603では、ユーザ装置100のプロセッサ部150が、取得された画像中に数字が存在するか否かを決定する。ユーザ装置100のプロセッサ部150は、例えば、任意の画像解析手段を用いて、画像中に数字が存在するか否かを決定することができる。画像中に数字が存在すると決定された場合、処理は、ステップS604に進む。画像中に数字が存在しないと決定された場合、処理は、ステップS607に進み、終了する。
ステップS604では、ユーザ装置100のプロセッサ部150が、取得された画像中に第1の通貨単位の通貨表示(例えば、第1の通貨単位が日本円(JPY)である場合は「円」または「¥」等)が存在するか否かを決定する。ユーザ装置100のプロセッサ部150は、例えば、任意の画像解析手段を用いて、画像中に通貨表示が存在するか否かを決定することができる。画像中に通貨表示が存在すると決定された場合、処理は、ステップS605に進む。画像中に通貨表示が存在しないと決定された場合、処理は、ステップS607に進み、終了する。
ステップS605では、ユーザ装置100のプロセッサ部150が、取得された画像中の数字と通貨表示とが近接しているか否かを決定する。ユーザ装置100のプロセッサ部150は、例えば、任意の画像解析手段を用いて、画像中の数字と通貨表示との近接度を判定することができる。画像中の数字と通貨表示とが近接していると決定された場合、処理は、ステップS606に進む。画像中の数字と通貨表示とが近接していないと決定された場合、処理は、ステップS607に進み、終了する。画像中の数字と通貨表示とが近接しているか否かの基準は、任意の基準であり得る。例えば、画像中の隣接する数字間の距離と、画像中の通貨表示と通貨表示に隣接する数字との間の距離との差が所定の範囲内であれば近接していると決定してもよい。
ステップS606では、ユーザ装置100のプロセッサ部150が、画像中の数字を第1の通貨単位の価格として決定する。
ステップS607では、第1の通貨単位の価格を決定する処理が終了する。
本発明は、図5に示されるステップに限定されない。上述したステップの一部または全部を省略してもよいし、上述したステップの順序を前後してもよい。例えば、ステップS604およびステップS605を省略してもよい。ステップS603で画像中に数字が存在する場合に、ステップS606に進み、画像中の数字を第1の通貨単位の価格として決定してもよい。この場合、あらゆる数字が第1の通貨単位の価格として決定され得る。価格以外のもの、例えば、高さ、長さ等を表す数字でさえも第1の通貨単位の価格として決定され得る。
例えば、上述したように、ステップS402とステップS405が同時に行われる場合、すなわち、ユーザ装置100のプロセッサ部150が第1の通貨単位と第1の通貨単位の価格とをともに決定する場合は、ステップS604で決定された通貨表示(例えば、「円」、「¥」、「$」等)が示す通貨単位を第1の通貨単位として決定するようにしてもよい。
上述した例では、ユーザ装置100のプロセッサ部150が画像中の数字の存在を決定する例を説明したが、本発明は、これに限定されない。例えば、ユーザ装置100のプロセッサ部150は、画像中の任意の文字の存在を決定して、画像中の文字を第1の通貨単位の価格として決定してもよい。例えば、文字は、壱萬、弐萬、五千等の漢数字であり得る。
上述した例では、カメラによって撮影された画像から第1の通貨単位の価格を決定する例を説明したが、本発明はこれに限定されない。本発明では、任意の手段で第1の通貨単位の価格を決定することができる。例えば、ユーザ装置100がカメラ120に加えてまたはカメラ120に代えてタッチパネル、キーボード、マイク等の入力手段を備える場合、ユーザが入力手段を介して入力したテキストから第1の通貨単位の価格を決定してもよいし、例えば、ユーザが入力手段を介して入力した音声から第1の通貨単位の価格を決定してもよい。
上述した例では、価格を変換するためのシステム10による処理の各ステップをユーザ装置100のプロセッサ部150が実行する例を説明したが、本発明は、これに限定されない。価格を変換するためのシステム10による処理の各ステップは、プロセッサ部を備える他の情報処理装置によって実行されることができる。例えば、価格を変換するためのシステム10による処理の各ステップは、サーバ装置200のプロセッサ部230によって実行されることができる。例えば、サーバ装置200が提供するウェブサイトで、価格を変換する処理を実装する場合である。この場合、ユーザは、ユーザ装置100を用いて、サーバ装置200によって提供されるウェブサイトにアクセスする。ユーザ装置100は、価格を変換する処理に必要な情報をサーバ装置200に送信する。ユーザ装置100がサーバ装置200に送信する情報は、例えば、ユーザ装置100のカメラ120が撮影した画像、ユーザ装置100に設定されている言語情報、ユーザ装置100が基地局と通信した履歴を示す通信履歴情報等を含む。サーバ装置200は、これらの情報を受信する。サーバ装置200プロセッサ部230は、受信された情報に基づいて、価格を変換する処理を実行する。
例えば、図4に示される価格を変換する処理がサーバ装置200側で実行される場合は、サーバ装置200のプロセッサ部230が、各ステップを実行する。
例えば、図5Aに示される第1の指標に基づいて第2の通貨単位を決定する処理がサーバ装置200側で実行される場合は、サーバ装置200のプロセッサ部230が、各ステップを実行する。特に、ステップS502では、サーバ装置200のプロセッサ部230は、第1の指標をユーザ装置100から受信した後に、受信された第1の指標に基づいて第2の通貨単位を決定する。例えば、第1の指標が言語情報である場合は、サーバ装置200のプロセッサ部230は、ユーザ装置100に設定されている言語情報をユーザ装置100から受信し、受信された言語情報が示す言語に対応する通貨単位を決定し、その通貨単位を第2の通貨単位として決定する。
例えば、図5Bに示される第1の指標および第2の指標に基づいて第2の通貨単位を決定する処理がサーバ装置200側で実行される場合は、サーバ装置200のプロセッサ部230が、各ステップを実行する。特に、ステップS512では、サーバ装置200のプロセッサ部230は、第1の指標をユーザ装置100から受信した後に、受信された第1の指標に基づいて第2の通貨単位になり得る通貨単位候補を決定する。例えば、第1の指標が言語情報である場合は、サーバ装置200のプロセッサ部230は、ユーザ装置100に設定されている言語情報をユーザ装置100から受信し、受信された言語情報が示す言語に対応する通貨単位を決定し、その通貨単位を通貨単位候補として決定する。また、ステップS514では、サーバ装置200のプロセッサ部230は、第2の指標をユーザ装置100から受信した後に、受信された第2の指標に基づいて通貨単位候補を決定する。例えば、第2の指標が通信履歴情報である場合は、サーバ装置200のプロセッサ部230は、ユーザ装置100が基地局と通信した履歴を示す通信履歴情報をユーザ装置100から受信し、受信された通信履歴情報を参照して、通貨単位候補を決定する。
価格を変換するためのシステム10による処理の各ステップがサーバ装置200のプロセッサ部230によって実行される場合、サーバ装置200メモリ部220が、価格を変換する処理を実現するプログラムを格納すれば足り、ユーザ装置100のメモリ部140は、価格を変換する処理を実現するプログラムを格納する必要はない。
図7は、ステップS514で第2の指標のために利用され得るIPアドレスの一例を示す。
IPアドレスは、第1オクテット701、第2オクテット702、第3オクテット703、第4オクテット704から構成されており、各オクテットはピリオドで区切られている。例えば、6.152.184.0というIPアドレスの場合、第1オクテットは5であり、第2オクテットは152であり、第3オクテットは184であり、第4オクテットは0である。
IPアドレスの割り当ては、世界規模で管理されており、データベースを参照することにより、どのIPアドレスがどこの国に割り当てられているかを判別することができる。少なくとも第1オクテット〜第3オクテットの値から、そのIPアドレスがどの国に割り当てられたものであるかを判別することができる。例えば、第1オクテットが6であるIPアドレスがアメリカ合衆国のみに割り振られているので、「6.152.184.0」のIPアドレスを有する基地局はアメリカ合衆国に所在すると決定することができる。例えば、第1オクテットが146であり、第2オクテットが90であるIPアドレスが、イギリスのみに割り振られているので、「146.90.63.255」のIPアドレスを有する基地局はイギリスに所在すると決定することができる。例えば、第1オクテットが202であり、第2オクテットが0であり、第3オクテットが116であるIPアドレスが、インドのみに割り振られているので、「202.0.116.232」のIPアドレスを有する基地局はインドに所在すると決定することができる。
本発明は、上述した実施形態に限定されるものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。