(57)【要約】      （修正有）【課題】イメージを位置データに変換して提供する位置提供方法、コンピュータシステム、および非一時的なコンピュータ読み取り可能な記録媒体を提供する。【解決手段】位置提供方法は、クライアントで実行されるアプリケーションで受信したイメージから、少なくとも１つのテキストを抽出する段階Ｓ４３０、テキストに基づいてイメージとマッチングする位置情報を抽出する段階Ｓ４４０、およびアプリケーションでイメージを共有するクライアントを対象としてイメージに対する位置情報を提供する段階Ｓ４５０を含む。【選択図】図４
2019220153.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムが実行する位置提供方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成される少なくとも１つのプロセッサを含み、
当該位置提供方法は、
前記少なくとも１つのプロセッサにより、クライアントで実行されるアプリケーションで受信したイメージから少なくとも１つのテキストを抽出する工程、
前記少なくとも１つのプロセッサにより、前記テキストに基づいて前記イメージとマッチングする位置情報を抽出する工程、および
前記少なくとも１つのプロセッサにより、前記アプリケーションで前記イメージを共有するクライアントを対象として前記イメージに対する前記位置情報を提供する工程
を含む、位置提供方法。
【請求項２】
当該位置提供方法は、
前記少なくとも１つのプロセッサにより、機械学習基盤のイメージ分類によって前記イメージが地図イメージであるかどうかを判別する段階
を含む、請求項１に記載の位置提供方法。
【請求項３】
前記少なくとも１つのテキストを抽出する工程は、
前記イメージが地図イメージとして分類された場合、ＯＣＲ（ｏｐｔｉｃａｌ  ｃｈａｒａｃｔｅｒ  ｒｅａｄｅｒ）技術を利用して前記イメージからテキストを抽出する、
請求項２に記載の位置提供方法。
【請求項４】
前記少なくとも１つのテキストを抽出する工程は、
前記イメージが地図イメージとして分類された場合、前記イメージからコーナー（ｃｏｒｎｅｒ）検出によってテキスト領域を検出した後、前記テキスト領域に対してＯＣＲを実行させてテキストを抽出する、
請求項２に記載の位置提供方法。
【請求項５】
前記位置情報を抽出する工程は、
地図上のＰＯＩ（ｐｏｉｎｔ  ｏｆ  ｉｎｔｅｒｅｓｔ）別に名称と位置情報がマッチングされたＰＯＩテーブルを利用して、前記テキストとマッチングするＰＯＩの位置情報を抽出する工程、および
前記テキストとマッチングするＰＯＩの位置情報を利用して前記イメージとマッチングする基準位置を選定する工程
を含む、請求項１に記載の位置提供方法。
【請求項６】
前記イメージとマッチングする位置情報を選定する工程は、
前記テキストとマッチングするＰＯＩの位置情報の中で一定の距離以内のＰＯＩの位置情報をクラスタリングすることによって前記イメージと対応する地域を決定し、決定された地域の中心点を前記基準位置として選定する、
請求項５に記載の位置提供方法。
【請求項７】
前記位置情報を抽出する工程は、
前記基準位置を中心とする地図イメージと前記イメージとを比べて前記イメージに対応する地図のスケールを取得する工程
をさらに含む、請求項５に記載の位置提供方法。
【請求項８】
前記位置情報を抽出する工程は、
前記基準位置から２つの位置を選択し、選択された２つの位置の間の実際の距離と前記イメージ上での距離とを比べて前記イメージに対応する地図のスケールを取得する工程
をさらに含む、請求項５に記載の位置提供方法。
【請求項９】
前記イメージを共有するクライアントにおいて、前記位置情報に対応する地図アドレスが生成されて表示される、
請求項１に記載の位置提供方法。
【請求項１０】
当該位置提供方法は、
前記少なくとも１つのプロセッサにより、前記アプリケーションにおけるメッセージに地図上のＰＯＩ名称が含まれる場合、前記アプリケーションにおいて該当のＰＯＩの位置情報を提供する工程
を含む、請求項１に記載の位置提供方法。
【請求項１１】
前記アプリケーションにおいて該当のＰＯＩの位置情報を提供する工程は、
前記メッセージに含まれる前記ＰＯＩ名称について、該当のＰＯＩの位置情報と関連するインターネット上のコンテンツを含む付加情報を提供する工程
を含む、請求項１０に記載の位置提供方法。
【請求項１２】
請求項１乃至１１のうちのいずれか一項に記載の位置提供方法をコンピュータに実行させるプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体。
【請求項１３】
メモリ、および
前記メモリに通信可能に接続され、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成される少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
クライアントで実行されるアプリケーションで受信したイメージから、少なくとも１つのテキストを抽出するテキスト抽出部、
前記テキストに基づいて前記イメージとマッチングする位置情報を抽出する位置抽出部、および
前記アプリケーションで前記イメージを共有するクライアントを対象として前記イメージに対する前記位置情報を提供する位置提供部
を備える、コンピュータシステム。
【請求項１４】
前記少なくとも１つのプロセッサは、
機械学習基盤のイメージ分類によって前記イメージが地図イメージであるかどうかを判別するイメージ判別部
を備え、
前記テキスト抽出部は、
前記イメージが地図イメージとして分類された場合、ＯＣＲ技術を利用して前記イメージからテキストを抽出する、
請求項１３に記載のコンピュータシステム。
【請求項１５】
前記位置抽出部は、
地図上のＰＯＩ別に名称と位置情報がマッチングされたＰＯＩテーブルを利用して前記テキストとマッチングするＰＯＩの位置情報を抽出し、
前記テキストとマッチングするＰＯＩの位置情報を利用して前記イメージとマッチングする基準位置を選定する、
請求項１３に記載のコンピュータシステム。
【請求項１６】
前記位置抽出部は、
前記テキストとマッチングするＰＯＩの位置情報の中で一定の距離以内のＰＯＩの位置情報をクラスタリングすることによって、前記イメージに対応する地域を決定し、決定された地域の中心点を前記基準位置として選定する、
請求項１５に記載のコンピュータシステム。
【請求項１７】
前記位置抽出部は、
前記基準位置を中心とする地図イメージと前記イメージとを比べて前記イメージに対応する地図のスケールを取得する、
請求項１５に記載のコンピュータシステム。
【請求項１８】
前記イメージを共有するクライアントでは、前記位置情報に対応する地図アドレスを生成して表示する、
請求項１３に記載のコンピュータシステム。
【請求項１９】
前記位置提供部は、
前記アプリケーションにおけるメッセージに地図上のＰＯＩ名称が含まれる場合、前記アプリケーションで該当のＰＯＩの位置情報を提供する、
請求項１３に記載のコンピュータシステム。
【請求項２０】
前記位置提供部は、
前記メッセージに含まれる前記ＰＯＩ名称に対し、該当のＰＯＩの位置情報と関連するインターネット上のコンテンツを含む付加情報を提供する、
請求項１９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、イメージとマッチングする位置を提供する技術に関する。
【背景技術】
【０００２】
一般的なコミュニケーションツールであるインスタントメッセンジャー（ｉｎｓｔａｎｔ  ｍｅｓｓｅｎｇｅｒ）は、リアルタイムでメッセージやデータを送受信することができるソフトウェアであり、ユーザがメッセンジャー上に会話相手を登録すると、会話相手リストに登録された相手とリアルタイムでメッセージをやり取りすることができる。
【０００３】
このようなメッセンジャー機能は、ＰＣはもちろん、移動通信端末のモバイル環境でもその使用が一般化している。
【０００４】
例えば、特許文献１（公開日２００２年０９月３０日）には、携帯端末機にインストールされたモバイルメッセンジャー同士でのメッセンジャーサービスを提供することができるようにした、無線通信網を利用した携帯端末機のモバイルメッセンジャーサービスシステムおよび方法が開示されている。
【０００５】
一般的に、メッセンジャーでは、チャットルームでユーザ同士が写真、動画、ファイル、連絡先、位置、スケジュールなどのような多様な情報を共有することのできる機能を支援している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】韓国公開特許第１０−２００２−００７４３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
アプリケーションで共有するイメージに対し、イメージとマッチングする地図上の位置を見つけ出して提供することを目的とする。
【０００８】
アプリケーションでやり取りしたキャプチャ写真や略図イメージを位置データに変換して地図に連結させることを目的とする。
【０００９】
アプリケーションでやり取りした会話内容を分析し、会話内容とマッチングする地図上の位置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
コンピュータシステムが実行する位置提供方法を提供する。前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、当該位置提供方法は、前記少なくとも１つのプロセッサにより、クライアントで実行されるアプリケーションで受信したイメージから少なくとも１つのテキストを抽出する工程、前記少なくとも１つのプロセッサにより、前記テキストに基づいて前記イメージとマッチングする位置情報を抽出する工程、前記少なくとも１つのプロセッサにより、前記アプリケーションで前記イメージを共有するクライアントを対象として前記イメージに対する前記位置情報を提供する工程を含む。
【００１１】
一側面によると、当該位置提供方法は、前記少なくとも１つのプロセッサにより、機械学習基盤のイメージ分類によって前記イメージが地図イメージであるかどうかを判別する工程を含んでよい。
【００１２】
他の側面によると、前記少なくとも１つのテキストを抽出する工程は、前記イメージが地図イメージとして分類された場合、ＯＣＲ（ｏｐｔｉｃａｌ  ｃｈａｒａｃｔｅｒ  ｒｅａｄｅｒ）技術を利用して前記イメージからテキストを抽出してよい。
【００１３】
また他の側面によると、前記少なくとも１つのテキストを抽出する工程は、前記イメージが地図イメージとして分類された場合、前記イメージからコーナー（ｃｏｒｎｅｒ）検出によってテキスト領域を検出した後、前記テキスト領域に対してＯＣＲを実行させてテキストを抽出してよい。
【００１４】
また他の側面によると、前記位置情報を抽出する工程は、地図上のＰＯＩ（ｐｏｉｎｔ  ｏｆ  ｉｎｔｅｒｅｓｔ）別に名称と位置情報がマッチングされたＰＯＩテーブルを利用して前記テキストとマッチングするＰＯＩの位置情報を抽出する工程、および前記テキストとマッチングするＰＯＩの位置情報を利用して前記イメージとマッチングする基準位置を選定する工程を含んでよい。
【００１５】
また他の側面によると、前記イメージとマッチングする位置情報を選定する工程は、前記テキストとマッチングするＰＯＩの位置情報の中で一定距離以内のＰＯＩの位置情報をクラスタリングすることによって前記イメージに対応する地域を決定し、決定された地域の中心点を前記基準位置として選定してよい。
【００１６】
また他の側面によると、前記位置情報を抽出する工程は、前記基準位置を中心とする地図イメージと前記イメージとを比べて前記イメージに対応する地図のスケールを取得する工程をさらに含んでよい。
【００１７】
また他の側面によると、前記位置情報を抽出する工程は、前記基準位置から２つの位置を選択し、選択された２つの位置の間の実際の距離と前記イメージ上での距離とを比べて前記イメージに対応する地図のスケールを取得する工程をさらに含んでよい。
【００１８】
また他の側面によると、前記イメージを共有するクライアントにおいて、前記位置情報に対応する地図アドレスが生成されて表示されてよい。
【００１９】
また他の側面によると、当該位置提供方法は、前記少なくとも１つのプロセッサにより、前記アプリケーションにおけるメッセージに地図上のＰＯＩ名称が含まれる場合、前記アプリケーションにおいて該当のＰＯＩの位置情報を提供する工程を含んでよい。
【００２０】
さらに他の側面によると、前記アプリケーションにおいて該当のＰＯＩの位置情報を提供する工程は、前記メッセージに含まれる前記ＰＯＩ名称に対し、該当のＰＯＩの位置情報と関連するインターネット上のコンテンツを含む付加情報を提供する工程を含んでよい。
【００２１】
前記位置提供方法をコンピュータに実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体を提供する。
【００２２】
メモリ、および前記メモリに通信可能に接続され、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成される少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、クライアントで実行されるアプリケーションで受信したイメージから、少なくとも１つのテキストを抽出するテキスト抽出部、前記テキストに基づいて前記イメージとマッチングする位置情報を抽出する位置抽出部、および前記アプリケーションで前記イメージを共有するクライアントを対象として前記イメージに対する前記位置情報を提供する位置提供部を備える、コンピュータシステムを提供する。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示した図である。
【図４】本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
【図５】本発明の一実施形態における、ユーザ同士がイメージを共有するチャットルームの例を示した図である。
【図６】本発明の一実施形態における、イメージからテキストを抽出する過程を説明するための例示図である。
【図７】本発明の一実施形態における、イメージとマッチングする位置情報を抽出する過程を説明するための例示図である。
【図８】本発明の一実施形態における、イメージとマッチングする位置情報を抽出する過程を説明するための例示図である。
【図９】本発明の一実施形態における、イメージとマッチングする位置情報を抽出する過程を説明するための例示図である。
【図１０】本発明の一実施形態における、イメージとマッチングする地図アドレスを提供するチャットルームの例を示した図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
【００２５】
本発明の実施形態は、イメージとマッチングする位置を提供する技術に関し、より詳細には、アプリケーションで共有するイメージを位置データに変換して提供する技術に関する。
【００２６】
本明細書において具体的に開示される事項などを含む実施形態は、アプリケーションで共有するイメージに対し、イメージとマッチングする地図上の位置を見つけ出して提供することができ、これによって利便性、サービス品質、効率性、費用節減などの側面において相当な長所を達成することができる。
【００２７】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００２８】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータシステムによって実現される固定端末や移動端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、ナビゲーション、ＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ノート型ＰＣ、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレット、ゲームコンソール、ウェアラブルデバイス、ＩｏＴ（ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ）デバイス、ＶＲ（ｖｉｒｔｕａｌ  ｒｅａｌｉｔｙ）デバイス、ＡＲ（ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ）デバイスなどがある。一例として、図１では、電子機器１１０の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器１１０は、実質的に無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信することができる多様な物理的なコンピュータシステムのうちの１つを意味してよい。
【００２９】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網、衛星網など）を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これらに限定されることはない。
【００３０】
サーバ１５０、１６０のそれぞれは、複数の電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する１つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ１５０は、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第１サービスを提供するシステムであってよく、サーバ１６０も、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第２サービスを提供するシステムであってよい。より具体的な例として、サーバ１５０は、複数の電子機器１１０、１２０、１３０、１４０においてインストールされて実行されるコンピュータプログラムであるアプリケーションを通じ、該当のアプリケーションが目的とするサービス（一例として、メッセンジャーサービスなど）を第１サービスとして複数の電子機器１１０、１２０、１３０、１４０に提供してよい。他の例として、サーバ１６０は、上述したアプリケーションのインストールおよび実行のためのファイルを複数の電子機器１１０、１２０、１３０、１４０に配布するサービスを第２サービスとして提供してよい。
【００３１】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、電子機器に対する例として電子機器１１０の内部構成およびサーバ１５０の内部構成について説明する。また、他の電子機器１２０、１３０、１４０やサーバ１６０も、上述した電子機器１１０またはサーバ１５０と同一または類似の内部構成を有してよい。
【００３２】
電子機器１１０およびサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、非一時的なコンピュータ読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ディスクドライブ、ＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）などのような永続的大容量記録装置を含んでよい。ここで、ＲＯＭ、ＳＳＤ、フラッシュメモリ、ディスクドライブのような永続的大容量記録装置は、メモリ２１１、２２１とは区分される別の永続的記録装置として電子機器１１０やサーバ１５０に含まれてもよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電子機器１１０においてインストールされて実行されるブラウザや特定のサービスの提供のために電子機器１１０にインストールされるアプリケーションなどのためのコード）が記録されてよい。このようなソフトウェア構成要素は、メモリ２１１、２２１とは別のコンピュータ読み取り可能な記録媒体からロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信モジュール２１３、２２３を通じてメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム（一例として、上述したサーバ１６０）がネットワーク１７０を介して提供するファイルによってインストールされるコンピュータプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてよい。
【００３３】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に記録されたプログラムコードに従って受信される命令を実行するように構成されてよい。
【００３４】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１１０とサーバ１５０とが互いに通信するための機能を提供してもよいし、電子機器１１０および／またはサーバ１５０が他の電子機器（一例として、電子機器１２０）または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１１０のプロセッサ２１２がメモリ２１１のような記録装置に記録されたプログラムコードに従って生成した要求が、通信モジュール２１３の制御に従ってネットワーク１７０を介してサーバ１５０に伝達されてよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御に従って提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１１０の通信モジュール２１３を通じて電子機器１１０に受信されてよい。例えば、通信モジュール２１３を通じて受信されたサーバ１５０の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ２１２やメモリ２１１に伝達されてよく、コンテンツやファイルなどは、電子機器１１０がさらに含むことのできる記録媒体（上述した永続的記録装置）に記録されてよい。
【００３５】
入力／出力インタフェース２１４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボード、マウス、マイクロフォン、カメラなどの装置を含んでよく、出力装置は、ディスプレイ、スピーカ、触覚フィードバックデバイスなどのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。入力／出力装置２１５は、電子機器１１０と１つの装置で構成されてもよい。また、サーバ１５０の入力／出力インタフェース２２４は、サーバ１５０に接続するかサーバ１５０が含むことのできる入力または出力のための装置（図示せず）とのインタフェースのための手段であってよい。より具体的な例として、電子機器１１０のプロセッサ２１２がメモリ２１１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や電子機器１２０が提供するデータを利用して構成されるサービス画面やコンテンツが、入力／出力インタフェース２１４を通じてディスプレイに表示されてよい。
【００３６】
また、他の実施形態において、電子機器１１０およびサーバ１５０は、図２の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器１１０は、上述した入力／出力装置２１５のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器１１０がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力／出力ポート、振動のための振動器などのような多様な構成要素が、電子機器１１０にさらに含まれるように実現されてよい。
【００３７】
以下では、イメージを位置データに変換して提供する方法およびシステムの具体的な実施形態について説明する。
【００３８】
本発明に係るアプリケーションは、アプリケーションでクライアント同士が共有するイメージに対し、イメージとマッチングする地図上の位置を提示する機能を含む。さらに、アプリケーションは、アプリケーションでクライアント同士がやり取りしたメッセージに対し、メッセージとマッチングする地図上の位置を提示する機能を含む。
【００３９】
アプリケーションは、メッセンジャーやタイムラインなどのようなソーシャルネットワーキングサービスを提供するソーシャルメディアアプリケーションを含んでよい。
【００４０】
以下では、メッセンジャーを例に挙げて具体的な実施形態を説明するが、これに限定されることはなく、本発明と関連する特徴は、メッセンジャーはもちろん、タイムラインなどのような各種ソーシャルメディアアプリケーションにも適用可能である。
【００４１】
図３は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図４は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
【００４２】
本実施形態に係るサーバ１５０は、クライアント（ｃｌｉｅｎｔ）である複数の電子機器１１０、１２０、１３０、１４０を対象にメッセンジャーサービスを提供するプラットフォームの役割をする。サーバ１５０は、電子機器１１０、１２０、１３０、１４０上にインストールされるアプリケーションと連動してメッセンジャーサービスを提供してよい。特に、サーバ１５０は、メッセンジャーのチャットルームでやり取りしたイメージに対し、該当のイメージとマッチングする位置を見つけ出して提供することができる。
【００４３】
サーバ１５０は、メッセンジャーサーバとして、図４に示された位置提供方法を実行してよく、このために、サーバ１５０のプロセッサ２２２は、構成要素として、図３に示すように、イメージ判別部３１０、テキスト抽出部３２０、位置抽出部３３０、および位置提供部３４０を備えてよい。実施形態によっては、プロセッサ２２２の構成要素は、選択的にプロセッサ２２２に含まれても除外されてもよい。また、実施形態によっては、プロセッサ２２２の構成要素は、プロセッサ２２２の機能の表現のために分離されても併合されてもよい。
【００４４】
このようなプロセッサ２２２およびプロセッサ２２２の構成要素は、図４の位置提供方法が含む段階４１０〜段階４５０を実行するようにサーバ１５０を制御してよい。例えば、プロセッサ２２２およびプロセッサ２２２の構成要素は、メモリ２２１に含まれるオペレーティングシステムのコードと少なくとも１つのプログラムのコードとによる命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行するように実現されてよい。
【００４５】
ここで、プロセッサ２２２の構成要素は、サーバ１５０に記録されたプログラムコードが提供する命令に従ってプロセッサ２２２によって実行される、プロセッサ２２２の互いに異なる機能（ｄｉｆｆｅｒｅｎｔ  ｆｕｎｃｔｉｏｎｓ）の表現であってよい。例えば、チャットルームでやり取りしたイメージが地図イメージであるかどうかをサーバ１５０が判別するように上述した命令に従ってサーバ１５０を制御するプロセッサ２２２の機能的表現として、イメージ判別部３１０が利用されてよい。
【００４６】
段階４１０において、プロセッサ２２２は、サーバ１５０の制御と関連する命令がロードされたメモリ２２１から必要な命令を読み取ることができる。この場合、読み取った命令には、以下で説明される段階４２０〜段階４５０をプロセッサ２２２が実行するように制御するための命令が含まれてよい。
【００４７】
段階４２０において、イメージ判別部３１０は、メッセンジャーのチャットルームでユーザ同士が共有しようとするイメージが受信された場合、受信したイメージをイメージ分類（ｉｍａｇｅ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ）して該当のイメージが地図イメージであるかどうかを判別することができる。電子機器１１０のユーザは、メッセンジャーのチャットルームで他のユーザと特定の位置を共有しようとするとき、実際の地図アドレス（ＵＲＬ）を共有するよりは、地図のキャプチャ画面や略図などのようなイメージを送信することが多い。イメージ判別部３１０は、機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）によってイメージ分類作業を実行してよく、多様な形態の地図イメージや略図などを学習イメージセットとして構成し、これを学習した学習モデルに基づき、チャットルームで受信したイメージが地図であるかどう分類してよい。例えば、ＳＩＦＴ（ｓｃａｌｅ  ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅ  ｔｒａｎｓｆｏｒｍ）、ＳＵＲＦ（ｓｐｅｅｄｅｄ  ｕｐ  ｒｏｂｕｓｔ  ｆｅａｔｕｒｅｓ）、ＨＯＧ（ｈｉｓｔｏｇｒａｍ  ｏｆ  ｏｒｉｅｎｔｅｄ  ｇｒａｄｉｅｎｔ）、ＭＣＴ（ｍｏｄｉｆｉｅｄ  ｃｅｎｓｕｓ  ｔｒａｎｓｆｏｒｍ）などの画像認識アルゴリズムのうちの少なくともいずれか１つのアルゴリズムを利用してイメージに含まれた特徴を抽出した後、抽出された特徴とイメージ学習モデルによって、事前に定められた特徴との類似度を計算する方式によって地図イメージを分類することができる。
【００４８】
段階４３０において、テキスト抽出部３２０は、チャットルームで受信されたイメージが地図イメージである場合、該当のイメージからテキストを抽出することができる。一例として、テキスト抽出部３２０は、ＯＣＲ（ｏｐｔｉｃａｌ  ｃｈａｒａｃｔｅｒ  ｒｅａｄｅｒ）技術によって地図イメージからテキストを抽出してよい。テキスト抽出部３２０は、チャットルームで受信されたイメージが地図イメージである場合、コーナー検出器（ｃｏｒｎｅｒ  ｄｅｔｅｃｔｏｒ）などを利用してイメージからテキスト領域を検出した後、検出されたテキスト領域に対してＯＣＲを実行させることによって該当の領域に含まれるテキストを抽出してよい。
【００４９】
段階４４０において、位置抽出部３３０は、抽出されたテキストに基づいて地図イメージとマッチングする位置情報を抽出することができる。
【００５０】
位置情報を抽出するためには、地図サービスを提供するために必要な情報を含む地図データベースを利用してよい。このとき、地図データベースは、サーバ１５０の内部データベース（例えば、メモリ２２１）に構築されてもよく、あるいはサーバ１５０と連動可能な他のシステム上に構築された外部データベースであってもよい。地図データベースは、地図上のＰＯＩ（ｐｏｉｎｔ  ｏｆ  ｉｎｔｅｒｅｓｔ）情報を含むＰＯＩテーブルを含んでよい。以下、表１にＰＯＩテーブルの例を示した。
【００５１】
【表１】
2019220153.tif 000003
【００５２】
ＰＯＩ情報は、地図上の主要施設物に関する情報であり、ＰＯＩテーブルは、表１のようにＰＯＩ別の名称とともに位置情報である緯度と経度をマッチングさせて構成してよい。
【００５３】
位置抽出部３３０は、地図イメージから抽出されたテキストそれぞれに対し、ＰＯＩテーブルを利用して各テキストとマッチングするＰＯＩの位置情報（緯度／経度値）を抽出してよく、抽出された位置情報が密集する場所を基準位置として選定してよい。地図イメージから抽出されたテキストを利用してＰＯＩ位置を見つけ出す過程において、同一名称や類似名称によって地図イメージが示す地域ではない他の地域のＰＯＩ位置が含まれることがあるため、地図イメージから抽出されたテキストに基づいて見つけ出されたＰＯＩ位置が最も多く集まっている場所の中心点を、地図イメージとマッチングする位置として選定してよい。
【００５４】
さらに、位置抽出部３３０は、地図データベースから基準位置に対応する地図イメージを読み取ってチャットルームで受信した地図イメージとマッチングさせ、該当の地図のスケール値（縮尺）を取得してよい。
【００５５】
他の例として、位置抽出部３３０は、基準位置から２つの位置を選択し、受信した地図イメージにおいて２つの位置の間の距離を求め、２つの位置の緯度／経度値を利用して実際の距離を求めた後、イメージ上での距離と実際の距離とを比べてスケール値を割り出してよい。また、位置抽出部３３０は、地図イメージから抽出されたテキストのうちのいずれか１つのテキストとマッチングするＰＯＩの位置と該当のイメージの中心点までの距離を測定した後、先ほど割り出したスケール値を反映させて中心点の緯度／経度を割り出してよい。
【００５６】
したがって、位置抽出部３３０は、地図イメージから抽出したテキストに基づき、該当のイメージとマッチングする位置情報（緯度／経度値）とともに地図のスケール値を抽出することができる。位置抽出部３３０は、イメージマッチングによって地図の判別が難しい場合には、地図イメージの中央と最も近いテキストとマッチングするＰＯＩの位置情報を基準位置として使用してよい。
【００５７】
段階４５０において、位置提供部３４０は、チャットルームにおいて、該当のチャットルームに含まれるユーザの各電子機器（例えば、１１０、１２０、１３０、１４０）に地図イメージとマッチングする位置情報を提供することができる。サーバ１５０は、発信側クライアントからチャットルームにイメージがアップロードされると、アップロードされたイメージに関する情報を含むイメージタイプメッセージを受信側クライアントに先に送信する。その後、サーバ１５０は、アップロードされたイメージを判別し、地図イメージとして判別された場合、上述したロジックに従って地図イメージとマッチングする位置情報を抽出し、該当の位置情報をチャットルームに含まれるすべてのクライアントに伝達してよい。位置情報には、地図イメージから抽出されたテキストに基づいて取得した位置情報（緯度と経度）が含まれ、実施形態によっては、地図のスケール値がさらに含まれてよい。各クライアントでは、サーバ１５０から伝達された緯度、経度、スケール値によって該当の位置情報に対応する実際の地図アドレスを生成し、生成された地図アドレスを該当のチャットルームで表示してよい。
【００５８】
したがって、サーバ１５０は、チャットルームでユーザ同士がやり取りしたイメージが地図のキャプチャ画面や略図などのような地図イメージである場合、該当のイメージとマッチングする位置情報を提供することができる。
【００５９】
他の例として、位置提供部３４０は、チャットルームでやり取りした最近の会話メッセージを検索し、最近の会話メッセージに、ＰＯＩテーブル（表１）上のＰＯＩ名称とマッチングするテキストが含まれている場合、該当のＰＯＩの位置情報をチャットルームに含まれるすべてのクライアントに伝達してよい。言い換えれば、位置提供部３４０は、地図にあるＰＯＩ名称が会話メッセージとして登場する場合、該当のＰＯＩの位置情報をチャットルームに提供してよい。このとき、位置提供部３４０は、チャットルームに登場するＰＯＩ名称に対し、該当のＰＯＩの位置情報と関連するインターネット上のコンテンツ（例えば、ブログや写真など）を含んだ付加情報を提供してよい。
【００６０】
したがって、サーバ１５０は、チャットルームの会話内容を分析し、会話内容とマッチングする地図上の位置を提供することができる。
【００６１】
以下では、チャットルームで共有されるイメージを位置データに変換して地図に連結させる過程について具体的に説明する。電子機器１１０のユーザＡが電子機器１２０のユーザＢにイメージを送信する状況を前提として説明する。
【００６２】
図５は、電子機器１１０のユーザＡのアカウントと電子機器１２０のユーザＢのアカウントとの間に設定された通信セッションに対応するチャットルーム５００を示している。電子機器１１０は、ユーザＡによってユーザＢとのチャットルーム５００で共有したいイメージ５１０が選択されると、選択されたイメージをチャットルーム５００に表示すると同時にサーバ１５０にアップロードすることができる。
【００６３】
サーバ１５０は、電子機器１１０のユーザＡのアカウントと電子機器１２０のユーザＢのアカウントとの間に設定された通信セッションで電子機器１１０からのイメージ５１０が受信されると、イメージ分類により、受信したイメージ５１０が地図イメージであるかどうかを判別することができる。図６を参照すると、サーバ１５０は、受信したイメージ５１０が地図イメージとして分類された場合、ＯＣＲによってイメージ５１０からテキスト６０１を抽出してよい。テキストの場合はコーナーが多く存在するため、狭い領域にコーナーが密集していればテキストである確率が高いという仮定のもと、テキスト６０１を抽出してよい。まず、サーバ１５０は、受信したイメージ５１０からテキスト領域を抽出してよい。例えば、ハリスコーナー検出器（Ｈａｒｒｉｓ  ｃｏｒｎｅｒ  ｄｅｔｅｃｔｏｒ）のようなコーナー検出器を利用してイメージ５１０からコーナーを検出した後、コーナー検索結果に基づいてバイナリコーナーグリッドマップ（ｂｉｎａｒｙ  ｃｏｒｎｅｒ  ｇｒｉｄ  ｍａｐ）を生成する。次に、バイナリコーナーグリッドマップから輪郭線を検出し（ｃｏｎｔｏｕｒ  ｄｅｔｅｃｔｉｏｎ）、検出された輪郭線を一定サイズの１つの領域として処理することによってテキスト領域を抽出してよい。最後に、サーバ１５０は、イメージ５１０から抽出されたテキスト領域に対してＯＣＲを実行させて該当の領域に含まれるテキスト６０１を抽出してよい。
【００６４】
サーバ１５０は、地図上のＰＯＩ別の位置情報を含むＰＯＩテーブルを利用して、イメージ５１０から抽出されたテキスト６０１とマッチングするＰＯＩの位置情報を抽出してよい。図７を参照すると、サーバ１５０は、イメージ５１０から抽出されたテキスト６０１それぞれに対し、該当のテキスト６０１とマッチングするＰＯＩの地図７００上の位置情報７０１を収集してよく、テキスト６０１別に１つ以上の位置情報７０１を収集してよい。
【００６５】
このとき、テキスト６０１とＰＯＩとの間の同一名称や類似名称により、イメージ５１０と関連する地域はもちろん、まったく関係のない地域の位置情報７０１までもが収集されることがある。サーバ１５０は、イメージ５１０から抽出されたテキストに基づいて位置情報７０１を収集する過程において、図８に示すように、位置情報７０１が最も多く密集している領域８１０をイメージ５１０の地域として認識し、該当の領域８１０の中心点をイメージ５１０とマッチングする基準位置８１１として選定してよい。例えば、一定の距離以内の位置情報７０１をクラスタリングすることによって、位置情報７０１が最も多く集まっている領域８１０を決定することができる。
【００６６】
図９を参照すると、サーバ１５０は、基準位置８１１を中心とする地図イメージ９１０を取得した後、チャットルーム５００で受信したイメージ５１０とマッチングさせて該当のイメージ５１０と対応するスケール値を割り出してよい。イメージ５１０内のテキスト６０１の位置と地図イメージ９１０内のＰＯＩ位置とを比べて地図のスケール値を取得してよい。
【００６７】
サーバ１５０は、チャットルーム５００において、チャットルーム５００に含まれるすべてのクライアント（ユーザＡとユーザＢ）を対象に、イメージ５１０とマッチングする位置情報、すなわち、基準位置８１１の緯度値、経度値、およびイメージ５１０とのマッチングによって取得したスケール値を伝達してよい。
【００６８】
イメージ５１０を送信したユーザＡ側とイメージ５１０を受信したユーザＢ側の各クライアントでは、サーバ１５０から伝達された位置情報を地図アドレスとして生成してチャットルーム５００に表示することができる。図１０に示すように、各クライアントでは、チャットルーム５００で共有するイメージ５１０に対し、サーバ１５０から伝達された緯度、経度、スケール値に基づいて該当の位置情報に対応する実際の地図アドレス１０２０を生成し、生成された地図アドレス１０２０を該当のチャットルーム５００に表示してよい。
【００６９】
したがって、サーバ１５０は、ユーザ同士がチャットルーム５００で共有するイメージ５１０を位置データに変換し、これに対応する地図を連結させることができる。
【００７０】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および／またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）およびＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【００７１】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【００７２】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例は、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭおよびＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【００７３】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって代替されたり置換されたとしても、適切な結果を達成することができる。
【００７４】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００７５】
２２２：プロセッサ
３１０：イメージ判別部
３２０：テキスト抽出部
３３０：位置抽出部
３４０：位置提供部
【図１】
2019220153.tif 000004
【図２】
2019220153.tif 000005
【図３】
2019220153.tif 000006
【図４】
2019220153.tif 000007
【図５】
2019220153.tif 000008
【図６】
2019220153.tif 000009
【図７】
2019220153.tif 000010
【図８】
2019220153.tif 000011
【図９】
2019220153.tif 000012
【図１０】
2019220153.tif 000013