(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】イメージ翻訳方法及びシステム
(51)【国際特許分類】
G06T 19/00 20110101AFI20241016BHJP
G06F 40/58 20200101ALI20241016BHJP
G06V 20/20 20220101ALI20241016BHJP
G06V 30/14 20220101ALI20241016BHJP
【FI】
G06T19/00 600
G06F40/58
G06V20/20
G06V30/14
(21)【出願番号】P 2022161333
(22)【出願日】2022-10-06
【審査請求日】2022-10-06
(31)【優先権主張番号】10-2021-0136416
(32)【優先日】2021-10-14
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェー チャンギュ
(72)【発明者】
【氏名】キム スンジェ
(72)【発明者】
【氏名】ムン ジュヒョク
(72)【発明者】
【氏名】イ ジョンテ
(72)【発明者】
【氏名】ノ ヨンビン
【審査官】岡本 俊威
(56)【参考文献】
【文献】特表2016-519797(JP,A)
【文献】韓国登録特許第10-1945233(KR,B1)
【文献】特開2010-074292(JP,A)
【文献】特表2014-510958(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 40/58
G06V 20/00-20/90
G06V 30/00-30/424
(57)【特許請求の範囲】
【請求項1】
少なくとも一つのプロセッサにより遂行される、拡張現実に基づいたイメージ翻訳方法であって、
カメラにより撮影された動画を示す複数のフレームを保存するステップと、
前記保存された複数のフレームから既定の第1の基準を満足する第1のフレームを抽出するステップと、
前記第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳するステップと、
前記第1のフレームに含まれる第2の言語文章を含む翻訳領域を決定するステップと、
前記第1のフレームと、前記第1のフレームからある時間間隔の後に撮影された第2のフレームとの間の既定の第2の基準が満たされるとき、前記翻訳領域を前記第2のフレームにレンダリングするステップとを含
み、前記第1のフレームと前記第2のフレームとの間の前記既定の第2の基準は、前記第1のフレームと前記第2のフレームとの間の前記時間間隔が既定の時間間隔を超過しないことを含む、拡張現実に基づいたイメージ翻訳方法。
【請求項2】
前記第1のフレームに含まれる第2の言語文章を含む翻訳領域を決定するステップは、前記翻訳領域の特徴点を抽出するステップを含み、
前記翻訳領域を第2のフレームにレンダリングするステップは、
前記翻訳領域の特徴点に基づいて、特徴点変換モデルを用いて、前記第2のフレーム上にレンダリング対象領域を決定するステップと、
前記第2のフレーム上の前記レンダリング対象領域に前記翻訳領域をレンダリングするステップとを含む、請求項1に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項3】
前記特徴点変換モデルは、前記第1のフレーム上の前記翻訳領域及び前記第2のフレーム上の前記レンダリング対象領域をマッチングするホモグラフィ行列を含む、請求項2に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項4】
前記翻訳領域の特徴点に基づいて、特徴点変換モデルを用いて、前記第2のフレーム上にレンダリング対象領域を決定するステップは、
前記第1のフレームと前記第2のフレームとの間の前記時間間隔を決定するステップと、
前記時間間隔に基づいて決定されたアルゴリズムを含む前記特徴点変換モデルを用いて、前記第2のフレーム上にレンダリング対象領域を決定するステップとを含む、請求項2に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項5】
前記第2のフレームは、前記第1のフレームに含まれる第1の言語文章が第2の言語文章に翻訳された時点に、前記カメラにより撮影された動画の少なくとも一部を示すフレームである、請求項1に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項6】
前記第1のフレームと前記第2のフレームとの間の前記時間間隔を決定するステップと、
前記時間間隔に基づいて、前記レンダリング対象領域を維持するか否かを決定するステップとをさらに含む、請求項2に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項7】
前記時間間隔が既定の時間間隔未満である場合、前記レンダリング対象領域を維持するステップと、
前記維持されたレンダリング対象領域を含む第3のフレームに前記翻訳領域をレンダリングするステップとをさらに含む、請求項6に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項8】
前記第3のフレームは、前記翻訳領域をレンダリングする時点に、前記カメラにより撮影された動画の少なくとも一部を示すフレームである、請求項7に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項9】
前記既定の第1の基準は、前記複数のフレームの所定の明度又は所定の鮮明度を含む、請求項1に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項10】
前記既定の第1の基準は、前記複数のフレームに含まれた所定の文字の数、所定のエッジの数又はグラフィック処理の有無を含む、請求項1に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項11】
前記第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳するステップは、
前記第1のフレームを外部装置に転送するステップと、
前記外部装置から、前記第1のフレームに含まれる前記第1の言語文章が第2の言語文章に翻訳された第1のフレームを受信するステップとを含む、請求項1に記載の拡張現実に基づいたイメージ翻訳方法。
【請求項12】
請求項1乃至請求項
11のいずれか一項に記載の拡張現実に基づいたイメージ翻訳方法をコンピュータで実行するためのコンピュータプログラム。
【請求項13】
拡張現実に基づいたイメージ翻訳システムであって、
メモリと、
前記メモリと連結され、前記メモリに含まれる少なくとも一つのプログラムを実行するように構成された少なくとも一つのプロセッサとを含み、
前記少なくとも一つのプログラムは、
カメラにより撮影された動画を示す複数のフレームを保存し、
前記保存された複数のフレームから既定の基準を満足する第1のフレームを抽出し、
前記第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳し、
前記第1のフレームに含まれる第2の言語文章を含む翻訳領域を決定し、
前記第1のフレームと、前記第1のフレームからある時間間隔の後に撮影された第2のフレームとの間の既定の第2の基準が満たされるとき、前記翻訳領域を前記第2のフレームにレンダリングするための命令語を含
み、前記第1のフレームと前記第2のフレームとの間の前記既定の第2の基準は、前記第1のフレームと前記第2のフレームとの間の前記時間間隔が既定の時間間隔を超過しないことを含む、拡張現実に基づいたイメージ翻訳システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、イメージ翻訳方法及びシステムに関し、具体的には、拡張現実に基づいたイメージ翻訳方法及びシステムに関する。
【背景技術】
【0002】
最近、モバイル装置で実行できる翻訳アプリケーションが広く普及されている。これにより、ユーザは、日常生活中や業務中に、意味がわからなかったり解析しにくかったりする外国語を発見する場合、携帯しているモバイル装置を介して手軽に翻訳できる。
【0003】
既存の翻訳アプリケーションは、ユーザが翻訳対象言語からなるテキストを直接的に入力すれば、翻訳アプリケーションが自体的に当該テキストを翻訳したり、外部のサーバから当該テキストの翻訳結果を獲得したりして、ユーザに提供できる。このような理由により、デジタル文書化していない言語を翻訳する場合、ユーザのテキストの入力時間がかかり、テキストの入力過程でのタイプミスによる誤訳が発生し得る。
【0004】
これを解決するために、外国語が表示された対象物をカメラで撮影した後、撮影したイメージを分析して、翻訳サービスを提供するイメージ翻訳アプリケーションも登場している。ただし、イメージ翻訳アプリケーションは、一定の位置に固定又は配置された静的な対象物を撮影して翻訳するため、その適用範囲が制限的であり得る。例えば、道を歩行中であるユーザが、外国語で表示された看板を翻訳したいか、或いは、対象物が動く場合、イメージ翻訳サービスを利用しにくいという問題点がある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示は、上記のような問題点を解決するための拡張現実に基づいたイメージ翻訳方法、コンピュータプログラム及び装置(システム)を提供する。
【課題を解決するための手段】
【0007】
本開示は、方法、装置(システム)又はコンピュータプログラムを含む多様な方式により具現化できる。
【0008】
本開示の一実施例によれば、少なくとも一つのプロセッサにより遂行される、拡張現実に基づいたイメージ翻訳方法は、カメラにより撮影された動画を示す複数のフレームを保存するステップと、保存された複数のフレームから既定の基準を満足する第1のフレームを抽出するステップと、第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳するステップと、第1のフレームに含まれる第2の言語文章を含む翻訳領域を決定するステップと、翻訳領域を第2のフレームにレンダリング(rendering)するステップとを含む。
【0009】
本開示の他の実施例によれば、拡張現実に基づいたイメージ翻訳方法をコンピュータで実行するためのコンピュータプログラムが提供される。
【0010】
本開示のまた他の実施例によれば、拡張現実に基づいたイメージ翻訳システムは、メモリと、メモリと連結され、メモリに含まれるコンピュータ読み取り可能な少なくとも一つのプログラムを実行するように構成された少なくとも一つのプロセッサとを含み、少なくとも一つのプログラムは、カメラにより撮影された動画を示す複数のフレームを保存し、保存された複数のフレームから既定の基準を満足する第1のフレームを抽出し、第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳し、第1のフレームに含まれる第2の言語文章を含む翻訳領域を決定し、翻訳領域を第2のフレームにレンダリングするための命令語を含む。
【発明の効果】
【0011】
本開示の一部の実施例によれば、ユーザには、カメラにより動画が撮影される間に、当該動画に含まれる特定言語のテキストが他の言語に翻訳されて、フレーム別にレンダリングされた結果が提供されることで、毎回翻訳対象物のイメージを撮影してイメージ翻訳を遂行しなくても、リアルタイムでカメラにより撮影された動画を見ながら、当該動画内に含まれるテキストの翻訳結果を共に確認できる。
【0012】
本開示の一部の実施例によれば、カメラにより撮影される動画に含まれる翻訳対象物に対する撮影角度が変更されたり、当該対象物の位置が変更されたりする場合、それにより翻訳対象物に対する翻訳結果の角度や位置も変更されてレンダリングされるため、ユーザは、カメラ又は翻訳対象物の撮影角度や位置の変更と無関係に翻訳結果を確認できる。
【0013】
本開示の一部の実施例によれば、カメラにより撮影される動画に含まれる翻訳対象物の翻訳結果が、最近に撮影される動画のフレーム上にレンダリングされて表示されるので、ユーザは、拡張現実に基づいて実際の翻訳対象物上にリアルタイムで表示される翻訳結果を確認できる。
【0014】
本開示の効果は、これに制限されず、言及されない他の効果等は、請求範囲の記載から本開示が属する技術分野における通常の知識を有した者(以下、“当業者”という)に明確に理解されるべきである。
【図面の簡単な説明】
【0015】
本開示の実施例等は、以下の添付図面に基づいて説明される。ここで、類似の参照符号は類似の要素を示すが、これに限定されるものではない。
【
図1】本開示の一実施例に係るプロセッサが拡張現実に基づいてイメージ上の言語を翻訳する例を示す図である。
【
図2】本開示の一実施例に係る拡張現実に基づいて撮影された動画に含まれる第1の言語を第2の言語に翻訳するために、情報処理システムが複数のユーザ端末と通信可能であるように連結された構成を示す概要図である。
【
図3】本開示の一実施例に係るユーザ端末及び情報処理システムの内部構成を示すブロック図である。
【
図4】本開示の一実施例に係るプロセッサの内部構成を示すブロック図である。
【
図5】本開示の一実施例に係るユーザ端末のプロセッサ及び情報処理システムのプロセッサの内部構成を示すブロック図である。
【
図6】本開示の一実施例に係る撮影された動画からフレームを抽出して翻訳した後、翻訳文章が含まれるフレーム内の翻訳領域を決定する例を示す図である。
【
図7】本開示の一実施例に係る第1のフレームに基づいて第2のフレーム内のレンダリング対象領域を決定する例を示す図である。
【
図8】本開示の一実施例に係る第1のフレームに基づいて第2のフレーム内のレンダリング対象領域を決定してレンダリングする例を示す図である。
【
図9】本開示の一実施例に係る拡張現実に基づいたイメージ翻訳方法の例を示すフローチャートである。
【
図10】本開示の一実施例に係る拡張現実に基づいたイメージ翻訳方法の例を示すフローチャートである。
【
図11】本開示の一実施例に係る拡張現実に基づいたイメージ翻訳方法の例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本開示の実施のための具体的な内容を添付図面に基づいて詳細に説明する。ただし、以下の説明では、本開示の要旨を不要に不明瞭にする恐れがある場合、公知の機能や構成に関する具体的な説明は省略する。
【0017】
添付図面において、同一又は対応する構成要素には同一の参照符号が付与される。また、以下の実施例の説明において、同一又は対応する構成要素の重複記述は省略され得る。しかしながら、構成要素に関する記述が省略されても、そのような構成要素が、ある実施例に含まれないものと意図してはならない。
【0018】
開示の実施例の利点及び特徴、そしてそれらを達成する方法は、添付図面に基づいて後述する実施例を参照すれば明確になる。しかしながら、本開示は、以下で開示される実施例に限定されず、互いに異なる多様な形態で具現化され得る。ただし、本実施例は、本開示が完全になるようにし、本開示が当業者に発明のカテゴリを正確に認識させるために提供されるだけである。
【0019】
本明細書で使用される用語について簡略に説明し、開示の実施例について具体的に説明する。本明細書で使用される用語は、本開示での機能を考慮しつつ、可能な限り現在広く使用される一般的な用語を選択したが、これは関連分野に従事する技術者の意図又は判例、新技術の出現などにより変化し得る。また、特定の場合は出願人が任意で選定した用語もあり得るが、これらの意味は当該発明の説明の部分において詳細に記載する。よって、本開示で使用される用語は、単純な用語の名称ではなく、その用語が有する意味と本開示の全般にわたった内容に基づいて定義されるべきである。
【0020】
本明細書では、文脈上において明確に特定しない限り、単数の表現は複数の表現を含み、複数の表現は単数の表現を含むことができる。明細書の全般にわたり、ある部分がある構成要素を「含む」とする際、これは特に反対の記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含むこともできることを意味する。
【0021】
また、明細書で使用される「モジュール」又は「部」という用語は、ソフトウェアやハードウェア構成要素を意味し、「モジュール」又は「部」はある役割を遂行する。しかしながら、「モジュール」又は「部」はソフトウェアやハードウェアに限定される意味ではない。「モジュール」又は「部」は、アドレッシング可能な保存媒体にあるように構成してもよく、一つ又はそれ以上のプロセッサを再生させるように構成してもよい。したがって、一例として、「モジュール」又は「部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素、タスク構成要素のような構成要素、並びに、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ又は変数のうちの少なくとも一つを含むことができる。構成要素と「モジュール」又は「部」は、内部で提供される機能はさらに小さい数の構成要素及び「モジュール」又は「部」で結合されたり、追加的な構成要素と「モジュール」又は「部」にさらに分離されたりできる。
【0022】
本開示の一実施例によれば、「モジュール」又は「部」はプロセッサ及びメモリで具現化され得る。「プロセッサ」は汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、制御器、マイクロ制御器、状態マシンなどを含むように広く解釈されるべきである。いくつかの環境では、「プロセッサ」は特定用途向け半導体(ASIC)、プログラム可能なロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)等を称することもできる。「プロセッサ」は、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサの組合せ、DSPコアと結合した一つ以上のマイクロプロセッサの組合せ、若しくは、任意の他のそのような構成等の組合せのような処理デバイスの組合せを称することもできる。また、「メモリ」は電子情報を保存可能な任意の電子コンポーネントを含むように広く解釈されるべきである。「メモリ」は、RAM(Random Access Memory)、ROM(Read Only Memory)、NVRAM(Non-Volatile Random Access Memory)、PROM(Programmable Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Reda-Only Memory)、フラッシュメモリ、磁気又は光学データ保存装置、レジスタなどのようなプロセッサ-読み取り可能な媒体の多様な類型を称することもできる。プロセッサがメモリから情報を読み取り/読み取った情報をメモリに記録できる場合、メモリはプロセッサと電子通信状態にあると言われる。プロセッサに集積されたメモリはプロセッサと電子通信状態にある。
【0023】
本開示において、「システム」は、サーバ装置及びクラウド装置のうちの少なくとも一つを含むことのできるが、これに限定されるものではない。例えば、システムは一つ以上のサーバ装置からなることができる。他の例として、システムは一つ以上のクラウド装置からなることができる。また他の例として、システムはサーバ装置及びクラウド装置の全部からなって動作されることもできる。
【0024】
本開示において、「レンダリング(rendering)」は、一般に動画の各フレーム(又はイメージ)上に、特定オブジェクトを2次元的又は3次元的に重畳表示することを意味できる。より具体的に、レンダリングは、動画の各フレームに含まれる翻訳対象物上に翻訳結果(又はテキスト)を重畳表示することを称することができる。例えば、レンダリングは、翻訳テキストを含む領域又はボックスを、動画の各フレームに含まれる翻訳対象物上の対応領域にマッピングしたり、マッピングのための変形(warping)を実行したりして、マッピング結果を当該フレーム上に重畳表示することを含むことができる。
【0025】
本開示において、「拡張現実(Augmented Reality AR)」は、ユーザ端末に連結されたカメラにより撮影された動画をユーザ端末のディスプレイに出力する間に、当該動画の特定領域に2次元的又は3次元的にレンダリングされた仮想のオブジェクトを共に出力することを称することができる。本開示において、カメラにより撮影された動画に含まれる特定領域のテキストを翻訳した結果は、拡張現実に基づいてリアルタイムでユーザに提供できる。
【0026】
図1は、本開示の一実施例に係るプロセッサが拡張現実に基づいてイメージ上の言語を翻訳する例を示す図である。図に示すように、プロセッサは、カメラにより撮影された動画に含まれる複数のフレーム(frame)110から第1のフレーム120を抽出できる。また、プロセッサは、第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳でき、第1のフレーム内に第2の言語文章を含む翻訳領域122を決定できる。プロセッサは、第1の時間(例えば、T1秒)が経過した後に撮影された第2のフレーム130上のレンダリング対象領域132に翻訳領域をレンダリングすることができる。ここで、第1の時間は、第1のフレーム120が撮影された後、翻訳領域122に含まれる第1の言語文章が第2の言語文章に翻訳されるのにかかる時間と同一又は長い時間であり得る。ここで、プロセッサは、第1のフレーム120内に含まれる翻訳領域122を、第2のフレーム130内に含まれるレンダリング対象領域132にマッピングするために、特徴点変換モデルを利用できる。また、プロセッサは、カメラにより撮影された動画に含まれる第1の言語を、リアルタイムで第2の言語に翻訳してディスプレイ上に表示するために、特徴点変換モデルを用いて、第2の言語文章を含む翻訳領域がレンダリングされた第2のフレーム130と連続した複数のフレームの各々140の内部に含まれるレンダリング対象領域142を決定できる。プロセッサは、複数のフレームの各々140に含まれる各々のレンダリング対象領域142上に翻訳領域をレンダリングすることができる。
【0027】
一実施例によれば、プロセッサは、カメラにより撮影された動画に含まれる複数のフレーム110から第1のフレーム120を抽出するために、カメラにより撮影された動画に含まれる複数のフレームをバッファに保存し、保存された複数のフレームのうち、イメージ翻訳に適切なフレームを決定して抽出できる。ここで、イメージ翻訳に適切なフレームは、当該フレームに翻訳対象テキストが一定の比率以上含まれたり、当該フレームに含まれた翻訳対象テキストが正確な翻訳結果を導出するのに充分な情報を含んだりするものであり得る。例えば、イメージ翻訳に適切なフレームは、当該フレームに含まれるオブジェクト又はテキストの鮮明度(sharpness)、フレームに含まれるテキストの有無又は領域比率、フレームの明度(brightness)、フレームのぼけ度(blurriness)を考慮して決定できる。
【0028】
一実施例によれば、プロセッサは、抽出された第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳できる。例えば、プロセッサは、人工神経網に基づいた文字認識アルゴリズムを用いて、第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳できる。他の実施例によれば、第1の言語文章を翻訳するために、プロセッサは、第1のフレームを外部装置に転送し、外部装置により翻訳された第2の言語文章又は第2の言語文章が含まれたフレームを受信できる。
【0029】
一実施例によれば、プロセッサは、第2の言語文章が含まれた第1のフレーム120内の翻訳領域122を決定するために、第1のフレーム内に含まれる翻訳対象のテキスト及びその周辺の特徴点等を抽出できる。例えば、プロセッサは、第1のフレーム120に対するノイズ除去、2進化、セグメンテーション、レイアウト分析などを含む前処理を遂行した後、テキストの各文字のアウトラインを含む特徴点等を抽出できる。プロセッサは、このように抽出された特徴点等を連結した領域を翻訳領域122として決定できる。
【0030】
一実施例によれば、プロセッサは、第1の言語文章から変換された第2の言語文章が含まれた翻訳領域122を、第2のフレーム130にレンダリングすることができる。このために、プロセッサは、特徴点変換モデルを用いて、第2のフレーム130内に含まれるレンダリング対象領域132を決定できる。特徴点変換モデルは、翻訳領域122が含まれた第1のフレーム120から抽出された特徴点等に基づいて、第2のフレーム130の特徴点等を決定するための変換行列を算出し、算出された変換行列を用いて、第2のフレーム130の特徴点等に基づいて、第2のフレーム130上のレンダリング対象領域132を決定できる。その後、プロセッサは、第2の言語文章が含まれた翻訳領域122を、第2のフレーム130上のレンダリング対象領域132にレンダリングすることができる。
【0031】
一方、第2のフレーム130が第1のフレーム120と比較して既定の基準を満足しない場合、プロセッサは、翻訳領域122をレンダリングしないことがある。例えば、第1のフレーム120及び第2のフレーム130間の時間間隔(T1)が既定の時間間隔を超過する場合、プロセッサは、翻訳領域122をレンダリングせず、新しい翻訳サイクル(cycle)を再遂行できる。他の例において、第1のフレーム120及び第2のフレーム130間の動き差が既定の差を超過する場合、新しい翻訳サイクルを再遂行できる。
【0032】
一実施例によれば、カメラにより撮影された動画に含まれる第1の言語文章を、リアルタイムで第2の言語文章に翻訳するために、プロセッサは、特徴点変換モデルを用いて、第2の言語文章を含む翻訳領域122がレンダリングされた第2のフレーム130と連続した複数のフレームの各々140の内部に含まれるレンダリング対象領域142を決定できる。その後、複数のフレームの各々140に含まれる各々のレンダリング対象領域142と対応するように、翻訳領域122をレンダリングすることができる。
【0033】
かかる構成により、ユーザは、カメラで翻訳対象物のイメージを撮影してイメージ翻訳を遂行しなくても、リアルタイムでカメラに入力/撮影された動画を見ながら、当該動画内に含まれる第1の言語文章が第2の言語文章に翻訳された結果を共に確認できる。
【0034】
図2は、本開示の一実施例に係る拡張現実に基づいて撮影された動画に含まれる第1の言語を第2の言語に翻訳するために、情報処理システム230が複数のユーザ端末210_1、210_2、210_3と通信可能であるように連結された構成を示す概要図である。情報処理システム230は、ネットワーク220を介して複数のユーザ端末210_1、210_2、210_3に拡張現実に基づいたイメージ翻訳を提供できるシステムを含むことができる。一実施例によれば、情報処理システム230は、拡張現実に基づいたイメージ翻訳サービスと関連付けられたコンピュータ実行可能なプログラム(例えば、ダウンロード可能なアプリケーション)や、データを保存、提供及び実行できる一つ以上のサーバ装置及び/又はデータベースや、クラウドコンピューティング(cloud computing)サービス基盤の一つ以上の分散コンピュータ装置及び/又は分散データベースを含むことができる。情報処理システム230により提供される拡張現実に基づいたイメージ翻訳サービスは、複数のユーザ端末210_1、210_2、210_3の各々に設置された拡張現実に基づいたイメージ翻訳アプリケーションを介してユーザに提供できる。
【0035】
複数のユーザ端末210_1、210_2、210_3は、ネットワーク220を介して情報処理システム230と通信できる。ネットワーク220は、複数のユーザ端末210_1、210_2、210_3及び情報処理システム230間の通信が可能であるように構成できる。ネットワーク220は、設置環境に応じて、例えば、イーサネット(Ethernet)(登録商標)、PLC(Power Line Communication)、電話線通信装置及びRS-serial通信などのような有線ネットワーク、移動通信網、WLAN(Wireless LAN)、Wi-Fi、Bluetooth(登録商標)及びZigBee(登録商標)などのような無線ネットワーク又はその組合せからなることができる。通信方式は制限されず、ネットワーク220を含むことができる通信網(例えば、移動通信網、有線インターネット、無線インターネット、放送網、衛星網等)を活用する通信方式だけでなく、ユーザ端末210_1、210_2、210_3間の近距離無線通信も含まれる。例えば、ネットワーク220は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broad band network)、インターネットなどのうちの一つ以上の任意のネットワークを含むことができる。また、ネットワーク220は、バス型ネットワーク、スター型ネットワーク、リング型ネットワーク、メッシュ型ネットワーク、スター-バス型ネットワーク、ツリー又は階層(hierarchical)ネットワークなどを含むネットワークトポロジーのうちの任意の一つ以上を含むことのできるが、これに制限されるものではない。
【0036】
図2では、携帯電話端末210_1、タブレット端末210_2及びPC端末210_3をユーザ端末の例として示したが、これに限定されず、ユーザ端末210_1、210_2、210_3は、有線及び/又は無線通信が可能であり、拡張現実に基づいたイメージ翻訳アプリケーションが設置されて実行できる任意のコンピュータ装置であり得る。例えば、ユーザ端末は、スマートフォン、携帯電話、ナビゲーション、デスクトップコンピュータ、ラップトップコンピュータ、デジタル放送用端末、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、タブレットPC、ゲームコンソール(game console)、ウェアラブルデバイス(wearable device)、IoT(internet of things)デバイス、VR(virtual reality)デバイス、AR(augmented reality)デバイスなどを含むことができる。また、
図2では、3つのユーザ端末210_1、210_2、210_3がネットワーク220を介して情報処理システム230と通信するものと示したが、これに限定されず、異なる数のユーザ端末がネットワーク220を介して情報処理システム230と通信するように構成されることもできる。
【0037】
一実施例において、拡張現実に基づいたイメージ翻訳アプリケーションが動作するユーザ端末210_1、210_2、210_3は、カメラ(図示せず)により撮影される動画又は動画から抽出されたフレーム(又はイメージ)に対してイメージ翻訳を実行し、当該イメージ翻訳の結果を動画にレンダリングして提供できる。具体的に、ユーザ端末210_1、210_2、210_3は、カメラにより撮影されてバッファに保存される動画からイメージ翻訳に適切なフレームを抽出し、当該フレームに対するイメージ翻訳を実行した後、その翻訳結果を現在バッファに保存されている動画の一つ以上のフレームにレンダリングして、ディスプレイを介して出力できる。
【0038】
他の実施例によれば、ユーザ端末210_1、210_2、210_3は、カメラにより撮影される動画又は動画から抽出されたフレーム(又はイメージ)を、ネットワーク220を介して情報処理システム230に転送できる。情報処理システム230は、受信された動画又は動画から抽出されたフレームに対してイメージ翻訳を実行し、当該イメージ翻訳の結果をユーザ端末210_1、210_2、210_3に転送できる。イメージ翻訳結果を受信したユーザ端末210_1、210_2、210_3は、その翻訳結果を現在バッファに保存されている動画の一つ以上のフレームにレンダリングして、ディスプレイを介して出力できる。
【0039】
図3は、本開示の一実施例に係るユーザ端末210及び情報処理システム230の内部構成を示すブロック図である。ユーザ端末210は、拡張現実に基づいたイメージ翻訳アプリケーションが実行可能であり、有線/無線通信が可能な任意のコンピューティング装置を称することができ、例えば、
図2の携帯電話端末210_1、タブレット端末210_2及びPC端末210_3などを含むことができる。図に示すように、ユーザ端末210は、メモリ312、プロセッサ314、通信モジュール316及び入出力インタフェース318を含むことができる。これと同様に、情報処理システム230は、メモリ332、プロセッサ334、通信モジュール336及び入出力インタフェース338を含むことができる。
図3に示すように、ユーザ端末210及び情報処理システム230は、各々の通信モジュール316、336を用いて、ネットワーク220を介して情報及び/又はデータが通信できるように構成できる。また、入出力装置320は、入出力インタフェース318を介して、ユーザ端末210に情報及び/又はデータを入力したり、ユーザ端末210から生成された情報及び/又はデータを出力したりするように構成できる。
【0040】
メモリ312、332は、非一時的な任意のコンピュータ読み取り可能な記録媒体を含むことができる。一実施例によれば、メモリ312、332は、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)及びフラッシュメモリ(flash memory)などのような永久的な大容量記憶装置(permanent mass storage device)を含むことができる。他の例として、ROM、SSD、フラッシュメモリ及びディスクドライブなどのような永久的な大容量記憶装置は、メモリとは区分される別途の永久記憶装置としてユーザ端末210又は情報処理システム230に含まれることができる。また、メモリ312、332には、オペレーティングシステムと少なくとも一つのプログラムコード(例えば、ユーザ端末210に設置されて駆動される拡張現実に基づいたイメージ翻訳アプリケーションなどのためのコード)が保存され得る。
【0041】
このようなソフトウェア構成要素は、メモリ312、332とは別途のコンピュータ読み取り可能な記録媒体からローディングできる。このような別途のコンピュータ読み取り可能な記録媒体は、このようなユーザ端末210及び情報処理システム230に直接連結可能な記録媒体を含むことのできるが、例えば、フロッピードライブ、ディスク、テープ、DVD/CD-ROMドライブ及びメモリカードなどのようなコンピュータ読み取り可能な記録媒体を含むことができる。他の例として、ソフトウェア構成要素等は、コンピュータ読み取り可能な記録媒体でなく、通信モジュールを介してメモリ312、332にローディングされることもできる。例えば、少なくとも一つのプログラムは、開発者又はアプリケーションの設置ファイルを配信するファイル配信システムが、ネットワーク220を介して提供するファイルにより設置されるコンピュータプログラム(例:拡張現実に基づいたイメージ翻訳サービスを提供するアプリケーション)に基づいてメモリ312、332にローディングされることができる。
【0042】
プロセッサ314、334は、基本的な算術、ロジック及び入出力演算を遂行することで、コンピュータプログラムの命令を処理するように構成できる。命令は、メモリ312、332又は通信モジュール316、336によりプロセッサ314、334に提供され得る。例えば、プロセッサ314、334は、メモリ312、332のような記録装置に保存されたプログラムコードによって受信される命令を実行するように構成できる。
【0043】
通信モジュール316、336は、ネットワーク220を介して、ユーザ端末210と情報処理システム230とが互いに通信するための構成や機能が提供でき、ユーザ端末210及び/又は情報処理システム230が、他のユーザ端末又は他のシステム(例えば、別途のクラウドシステムやイメージ翻訳システムなど)と通信するための構成や機能が提供できる。一例として、ユーザ端末210のプロセッサ314がメモリ312などのような記録装置に保存されたプログラムコードによって生成した要請(例えば、イメージ翻訳要請)は、通信モジュール316の制御により、ネットワーク220を介して情報処理システム230に伝達され得る。反対に、情報処理システム230のプロセッサ334の制御により提供される制御信号や命令が、通信モジュール336及びネットワーク220を経て、ユーザ端末210の通信モジュール316を介してユーザ端末210に受信され得る。例えば、ユーザ端末210には、情報処理システム230から通信モジュール316を介して、イメージ翻訳により翻訳されたテキスト又はテキストがレンダリングされた動画/イメージを受信できる。
【0044】
入出力インタフェース318は、入出力装置320とのインタフェースのための手段であり得る。一例として、入力装置はイメージセンサを含むカメラ、キーボード、マイクロホン、マウスなどのような装置を含み、出力装置はディスプレイ、スピーカ、ハプティック(触覚)フィードバックデバイス(haptic feedback device)などのような装置を含むことができる。他の例として、入出力インタフェース318は、タッチスクリーンなどのように入力及び出力を遂行するための構成及び機能が一つに統合された装置とのインタフェースのための手段であり得る。例えば、ユーザ端末210のプロセッサ314がメモリ312にローディングされたコンピュータプログラムの命令を処理する際に、情報処理システム230や他のユーザ端末が提供する情報及び/又はデータを用いて構成されるサービス画面が、入出力インタフェース318を介してディスプレイに表示され得る。
図3では、入出力装置320がユーザ端末210に含まれないように示したが、これに限定されず、ユーザ端末210と一体に構成することもできる。また、情報処理システム230の入出力インタフェース338は、情報処理システム230と連結するか、又は、情報処理システム230が含むことのできる入力や出力のための装置(図示せず)とのインタフェースのための手段であり得る。
図3では、入出力インタフェース318、338がプロセッサ314、334と別途に構成された要素として示したが、これに限定されず、入出力インタフェース318、338がプロセッサ314、334に含まれるように構成することもできる。
【0045】
ユーザ端末210及び情報処理システム230は、
図3に示す構成要素よりも多くの構成要素を含むことができる。しかしながら、大部分の従来技術的構成要素を明確に示す必要はない。一実施例によれば、ユーザ端末210は、前述した入出力装置320の少なくとも一部を含むように具現化できる。また、ユーザ端末210は、トランシーバー(transceiver)、GPS(Global Positioning system)モジュール、カメラ、各種センサ及びデータベースなどのような他の構成要素をさらに含むことができる。例えば、ユーザ端末210がスマートフォンである場合、一般にスマートフォンが有する構成要素を含むことができ、例えば、加速度センサ、ジャイロセンサ、カメラモジュール、各種物理的なボタン、タッチパネルを用いたボタン、入出力ポート及び振動のための振動器などのような多様な構成要素がユーザ端末210にさらに含まれるように具現化できる。
【0046】
一実施例によれば、ユーザ端末210のプロセッサ314は、拡張現実に基づいたイメージ翻訳サービスを提供する、拡張現実に基づいたイメージ翻訳アプリケーション、又は、ウェブブラウザアプリケーションなどが動作するように構成できる。このとき、当該アプリケーションと関連付けられたプログラムコードをユーザ端末210のメモリ312にローディングできる。アプリケーションが動作する際に、ユーザ端末210のプロセッサ314は、入出力装置320から提供された情報及び/又はデータを、入出力インタフェース318を介して受信したり、通信モジュール316を介して情報処理システム230から情報及び/又はデータを受信したりでき、受信された情報及び/又はデータを処理してメモリ312に保存できる。また、このような情報及び/又はデータは、通信モジュール316を介して情報処理システム230に提供できる。
【0047】
拡張現実に基づいたイメージ翻訳アプリケーションが動作する際に、プロセッサ314は、入出力インタフェース318と連結されたタッチスクリーンやキーボードなどのような入力装置により入力又は選択されたテキストやイメージなどを受信でき、受信されたテキスト及び/又はイメージをメモリ312に保存したり、通信モジュール316及びネットワーク220を介して情報処理システム230に提供したりできる。例えば、プロセッサ314は、タッチスクリーンやキーボードなどのような入力装置を介して、イメージ翻訳要請に関する情報などを受信できる。これにより受信された要請及び/又は情報は、通信モジュール316及びネットワーク220を介して情報処理システム230に提供できる。
【0048】
ユーザ端末210のプロセッサ314は、入出力装置320、他のユーザ端末、情報処理システム230及び/又は複数の外部システムから受信された情報及び/又はデータを管理、処理及び/又は保存するように構成できる。プロセッサ314により処理された情報及び/又はデータは、通信モジュール316及びネットワーク220を介して情報処理システム230に提供できる。ユーザ端末210のプロセッサ314は、入出力インタフェース318を介して、入出力装置320に情報及び/又はデータを転送して出力できる。例えば、プロセッサ314は、受信した情報及び/又はデータをユーザ端末の画面にディスプレイすることができる。
【0049】
情報処理システム230のプロセッサ334は、複数のユーザ端末210及び/又は複数の外部システムから受信された情報及び/又はデータを管理、処理及び/又は保存するように構成できる。プロセッサ334により処理された情報及び/又はデータは、通信モジュール336及びネットワーク220を介してユーザ端末210に提供できる。例えば、ユーザ端末210により拡張現実に基づいたイメージ翻訳アプリケーションが動作する間に、プロセッサ314は、通信モジュール336を介してユーザ端末210からイメージ及び/又はイメージ翻訳要請などを受信でき、受信されたイメージをメモリ332に保存したり、受信されたイメージに対するイメージ翻訳を実行したりできる。また、プロセッサ314は、イメージ翻訳結果を再度メモリ332に保存したり、通信モジュール336及びネットワークを介してユーザ端末210に提供したりできる。
図3では、情報処理システム230が単一のシステムとして示したが、これに限定されず、拡張現実に基づいたイメージ翻訳サービスと関連付けられた多様なサービスを提供するための複数のシステム/サーバからなることができる。例えば、情報処理システム230は、イメージ翻訳モデルを含む別途のサーバなどを含むことができる。
【0050】
図4は、本開示の一実施例に係るプロセッサ314の内部構成を示すブロック図である。図に示すように、プロセッサ314は、フレーム抽出部410、翻訳部420、翻訳領域決定部430及びレンダリング部440を含むことができる。
図4では、プロセッサ314が単一のプロセッサを含むと示したが、これに限定されず、複数のプロセッサからなることもできる。
【0051】
一実施例によれば、フレーム抽出部410は、カメラにより撮影された動画を示す複数のフレームを保存できる。カメラは、ユーザ端末に着脱可能な撮影装置又は内蔵された撮影装置を称することができるが、これに限定されるものではない。カメラにより撮影された動画は、ユーザ端末に設置されたディスプレイ装置を介して出力できる。これと同時に、動画を構成する複数のフレームは、ユーザ端末のメモリ又は別途の保存装置に設定されたバッファ(buffer)に保存できる。バッファに保存される複数のフレームの数は既定の数であり得る。例えば、バッファには10個の動画フレームを保存できる。
【0052】
また、フレーム抽出部410は、保存された複数のフレームから既定の基準を満足するフレームを抽出できる。ここで、既定の基準は、当該フレームに翻訳対象テキストが一定の比率以上含まれたり、当該フレームに含まれる翻訳対象テキストが正確な翻訳結果を導出するのに充分な情報を含んだりするような、イメージ翻訳に適切なフレームを選択する基準であり得る。例えば、フレーム抽出部410は、保存された複数のフレームのうち、所定の明度又は鮮明度(sharpness)を満足するフレームを抽出できる。他の例において、フレーム抽出部410は、保存された複数のフレームのうち、フレーム内に含まれる文字の数やエッジの数が既定の数を超過するか、若しくは、フレームの全部又は一部がぼけるように処理するぼけ効果(blurring effect)などのような特定グラフィック処理の適用程度が一定の基準以上であるフレームを抽出できる。
【0053】
一実施例によれば、翻訳部420は、フレーム抽出部410により抽出されたフレーム(以下、「第1のフレーム」という)内に含まれる翻訳対象文章(以下、「第1の言語文章」という)を、翻訳文章(以下、「第2の言語文章」という)に翻訳できる。例えば、翻訳部420は、人工神経網に基づいた文字認識アルゴリズムを用いて、第1の言語文章を第2の言語文章に翻訳できる。他の例において、翻訳部420は、第1の言語文章を翻訳するために、第1のフレームを外部装置に転送し、外部装置により翻訳された第2の言語文章又は第2の言語文章が含まれたフレームを受信できる。一実施例において、翻訳部420は、このような外部装置によりイメージ翻訳を実行するために、イメージ翻訳API(application programming interface)を呼び出すことができる。このとき、イメージ翻訳APIは、翻訳対象文章が含まれたフレームを入力して、翻訳文章又は翻訳文章が含まれたフレームを出力できる。
【0054】
一実施例によれば、翻訳領域決定部430は、第2の言語文章が含まれた第1のフレーム内の翻訳領域を決定できる。一実施例において、翻訳領域決定部430は、第1のフレーム内の第2の言語文章に翻訳された第1の言語文章の周辺の特徴点を抽出し、特徴点を連結することにより翻訳領域を決定できる。例えば、翻訳領域決定部430は、第1のフレームに対するノイズ除去、2進化、セグメンテーション、レイアウト分析などを含む前処理を遂行した後、第1のフレームに含まれるテキストの各文字のアウトラインを含む特徴点等を抽出できる。翻訳領域決定部430は、このように抽出された特徴点等を連結した領域を翻訳領域として決定できる。
【0055】
一実施例によれば、レンダリング部440は、翻訳領域決定部430により決定された翻訳領域を、現在バッファに保存されている動画の他のフレーム(以下、「第2のフレーム」という)にレンダリングすることができる。このとき、第2のフレームは、第1のフレームが抽出された時間の後に撮影されたフレームであり得る。具体的に、第2のフレームは、翻訳部420により第1の言語文章が第2の言語文章に翻訳された時点に、カメラにより撮影されたり、バッファに保存されたりする動画の一部を示すフレームを称することができる。
【0056】
レンダリング部440は、翻訳領域を第2のフレームにレンダリングするか否かを決定できる。一実施例によれば、第1のフレーム及び第2のフレームが既定の基準を満足する場合、レンダリング部440は、翻訳領域を第2のフレームにレンダリングすることができる。例えば、第1のフレーム及び第2のフレーム間の時間間隔が一定の時間間隔を超過する場合、レンダリング部440は、翻訳領域を第2のフレームにレンダリングしないように決定できる。他の例において、第1のフレーム及び第2のフレーム間の動き差が既定の動き差よりも大きい場合、レンダリング部440は、翻訳領域を第2のフレームにレンダリングしないように決定できる。これは、第1のフレームを含む動画が撮影されてから一定の時間が経過するか、若しくは、第2の言語文章が含まれた第1のフレーム及び第2のフレーム間で翻訳領域を含む一つ以上のオブジェクト等の形態又は位置の変化が大きい場合、当該フレーム等に含まれる翻訳対象文章が変更されたり、第2の言語文章が含まれた第1のフレームの翻訳領域及び第2のフレームのレンダリング対象領域のマッチングが困難になったりするからである。
【0057】
一実施例によれば、レンダリング部440は、翻訳領域を第2のフレームにレンダリングするために、レンダリング対象領域を決定できる。一実施例において、レンダリング部440は、翻訳領域決定部430により抽出/決定された翻訳領域の特徴点に基づいて、特徴点変換モデルを用いて、第2のフレーム上にレンダリング対象領域を決定できる。ここで、特徴点変換モデルは、第2の言語文章が含まれた第1のフレーム上の翻訳領域及び第2のフレーム上のレンダリング対象領域をマッチングする変換行列又はホモグラフィ(homography)行列を含むことができる。
【0058】
一実施例によれば、レンダリング部440は、翻訳領域がレンダリングされた第2のフレームと連続した複数のフレーム(以下、「第3のフレーム」という)に翻訳領域をレンダリングするか否か、及び/又は、第3のフレームにレンダリング対象領域を維持するか否かを決定できる。このために、レンダリング部440は、第2のフレーム及び第3のフレーム間の時間間隔を決定でき、決定された時間間隔に基づいてレンダリング対象領域を維持するか否かを決定できる。
【0059】
例えば、第2のフレーム及び第3のフレーム間の時間間隔が既定の時間間隔未満である場合、レンダリング部440は、第2のフレーム上で決定されたレンダリング対象領域を第3のフレーム上でも維持できる。この場合、レンダリング部440は、維持されたレンダリング対象領域を含む第3のフレームに翻訳領域をレンダリングすることができる。このとき、第3のフレームは、第2のフレームの後に連続した複数のフレームの一つであり得る。換言すれば、第3のフレームは、翻訳領域をレンダリングする時点に、カメラにより撮影されたり、バッファに保存されたりする動画の少なくとも一部を示すフレームを称することができる。
【0060】
他の例において、第2のフレーム及び第3のフレーム間の時間間隔が既定の時間間隔以上である場合、フレーム抽出部410は、カメラにより撮影された複数のフレームをバッファに再保存し、保存された複数のフレームから既定の基準を満足するフレームを再抽出して、イメージ翻訳などを含む後続手順を実行できる。
【0061】
一実施例によれば、レンダリング部440は、第1のフレーム及び第2のフレーム間の時間間隔に基づいて、レンダリング対象領域を決定する特徴点変換モデル(又は変換行列)又はマッチングアルゴリズムを決定できる。
【0062】
例えば、フレーム等間の時間間隔が長い場合、レンダリング対象領域を決定するための特徴点変換モデルは、特徴点マッチング(feature matching)アルゴリズムを用いて決定できる。特徴点マッチングアルゴリズムは、第2の言語文章が含まれた第1のフレーム及び第2のフレーム(又は第2のフレーム及び第3のフレーム)の各々から、テキストを示すキーポイント(keypoint)及びその周辺の特徴点を示す記述子(descriptors)を抽出した後、全てのキーポイント及び特徴点間の類似度を算出してマッチングを実行できる。また、特徴点マッチングアルゴリズムは、マッチングされたキーポイント又は特徴点間の変換行列を推定し、推定された変換行列を用いて、第2の言語文章が含まれた第1のフレームの翻訳領域を第2のフレームのレンダリング対象領域に変換(warping)することができる。
【0063】
他の例において、フレーム等間の時間間隔が短い場合、レンダリング対象領域を決定するための特徴点変換モデルは、特徴点トラッキング(feature tracking)アルゴリズムを用いて決定できる。特徴点トラッキングアルゴリズムは、第2の言語文章が含まれた第1のフレーム(又は第2のフレーム)からテキストを示すキーポイントを抽出し、オプティカルフロー(optical flow)技術を用いて、第2のフレーム(又は第3のフレーム)からキーポイントが移動した経路を追跡できる。また、特徴点トラッキングアルゴリズムは、第2の言語文章が含まれた第1のフレーム上のキーポイント及び第2のフレーム上のキーポイント間の変換行列を推定し、推定された変換行列を用いて、第2の言語文章が含まれた第1のフレームの翻訳領域を第2のフレームのレンダリング対象領域に変換することができる。
【0064】
かかる構成により、カメラにより撮影される動画に含まれた翻訳対象物の翻訳結果が、最近に撮影される動画のフレーム上にレンダリングされて表示されるので、ユーザは、拡張現実に基づいて実際の翻訳対象物上にリアルタイムで表示される翻訳結果を確認できる。
【0065】
図5は、本開示の一実施例に係るユーザ端末のプロセッサ314及び情報処理システムのプロセッサ334の内部構成を示すブロック図である。
【0066】
図に示すように、ユーザ端末のプロセッサ314は、フレーム抽出部512を含むことができる。また、情報処理システムのプロセッサ334は、翻訳部522、翻訳領域決定部524及びレンダリング部526を含むことができる。
図5では、ユーザ端末のプロセッサ及び情報処理システムのプロセッサを、各々単一のプロセッサとして示したが、これに限定されず、複数のプロセッサからなることもできる。
【0067】
一実施例によれば、ユーザ端末のプロセッサ314において、フレーム抽出部512は、カメラにより撮影されて保存される動画の複数のフレームのうち、イメージ翻訳に適切な第1のフレームを抽出できる。プロセッサ314は、第1のフレームに対応するイメージを情報処理システムに転送し、情報処理システムから第1のフレームに含まれる第1の言語文章の翻訳結果である第2の言語文章が含まれた第2のフレームを受信できる。すなわち、情報処理システムのプロセッサ334の翻訳部522は、第1のフレームに対するイメージ翻訳を実行し、レンダリング部526は、翻訳領域決定部524により決定された翻訳領域を第2のフレーム上のレンダリング対象領域にレンダリングして、ユーザ端末に転送できる。第2のフレームを受信したプロセッサ314は、受信された第2のフレームを、ユーザ端末のディスプレイを介して出力できる。
【0068】
他の実施例によれば、ユーザ端末のプロセッサ314は、フレーム抽出部512、翻訳領域決定部524及びレンダリング部526を含み、情報処理システムのプロセッサ334は、翻訳部522を含むことができる。このとき、プロセッサ314のフレーム抽出部512は、カメラにより撮影されて保存される動画の複数のフレームのうち、イメージ翻訳に適切な第1のフレームを抽出して、情報処理システムに転送できる。第1のフレームを受信した情報処理システムのプロセッサ334において、翻訳部522は、第1のフレーム上の第1の言語文章に対するイメージ翻訳を実行し、その結果をユーザ端末に転送できる。イメージ翻訳結果を受信したユーザ端末のプロセッサ314において、翻訳領域決定部524は、第1のフレームに対する前処理を実行して、第2の言語文章が含まれる翻訳領域を決定できる。また、レンダリング部526は、翻訳領域を第2のフレーム上のレンダリング対象領域にレンダリングして、ユーザ端末のディスプレイを介して出力できる。
【0069】
以上、多様な実施例により説明した通り、フレーム抽出部512、翻訳部522、翻訳領域決定部524及びレンダリング部526は、ユーザ端末及び情報処理システムを含む全体システムのコンピュータ資源の配置に応じて、ユーザ端末及び情報処理システムの各々に適切に分散して設置できる。また、ユーザ端末のプロセッサ314は、第1のフレームに含まれる第1の言語文章のイメージ翻訳及び/又は翻訳領域のレンダリングを、ユーザ端末で遂行するか、或いは、外部装置(又は情報処理システム)で遂行するかを決定できる。すなわち、ユーザ端末のプロセッサ314は、情報処理システムのプロセッサ334と協働して、イメージ翻訳対象になるフレームの解像度、要求される翻訳品質、要求される翻訳速度を考慮して、翻訳及び/又はレンダリングの遂行主体を決定できる。
【0070】
図6は、本開示の一実施例に係る撮影された動画からフレームを抽出して翻訳した後、翻訳文章が含まれたフレーム内の翻訳領域を決定する例を示す図である。
【0071】
図に示すように、プロセッサは、カメラにより撮影された動画から複数のフレームを保存し、イメージ翻訳に適切な一つのフレームを抽出でき、抽出されたフレーム内に含まれる第1の言語文章を第2の言語文章に翻訳した後、翻訳文章が含まれたフレーム内の翻訳領域を決定できる。
【0072】
具体的に、第1の動作610において、プロセッサは、カメラにより撮影された動画の複数のフレームをバッファに保存できる。バッファに保存される複数のフレームの数は既定の数であり得る。例えば、図に示すように、10個のフレームをユーザ端末のメモリなどに設定されたバッファに保存できる。
【0073】
第2の動作620において、プロセッサは、保存された複数のフレームから既定の基準を満足するフレームを抽出できる。既定の基準は、フレームの明度、鮮明度(sharpness)、フレーム内に含まれる文字の数、エッジの数、若しくはフレームの全部又は一部がぼけるように処理するぼけ効果などのようなグラフィック処理の有無などを含むことができる。例えば、図に示すように、プロセッサは、バッファに保存された複数のフレームのうち、文字を含み、ぼけ効果処理がなくて、鮮明度が最も高い一つのフレームを抽出できる。
【0074】
第3の動作630において、プロセッサは、抽出されたフレーム内に含まれる第1の言語文章を第2の言語文章にイメージ翻訳を遂行し、第2の言語文章を含む翻訳領域632を決定できる。例えば、図に示すように、プロセッサは、抽出されたフレームに含まれる英語テキスト及びその周辺の特徴点等を抽出して、これを連結することにより翻訳領域632を決定できる。
図6は、翻訳領域632が四角形の複数の領域を含むと示しているが、これに限定されず、一つ以上の点から定義された一つ以上の領域、閉曲線から定義された一つ以上の領域、若しくは多角形の一つ以上の領域を含むこともできる。
【0075】
図7は、本開示の一実施例に係る第1のフレームに基づいて第2のフレーム内のレンダリング対象領域を決定する例を示す図である。
【0076】
図に示すように、プロセッサは、第1のフレーム内の第1の言語のテキストが含まれた翻訳対象領域、又は、翻訳後の第2の言語のテキストが含まれた翻訳領域のキーポイント712に基づいて、特徴点トラッキングアルゴリズムを用いて、第2のフレーム内のキーポイント722を含むレンダリング対象領域を決定できる。
【0077】
具体的に、第1の動作710において、第1のフレームに含まれる第1の言語又は第2の言語のテキストのキーポイント712を抽出できる。また、第2の動作720において、第1のフレームのキーポイント712の動きを追跡して、第2のフレームに含まれるテキストのキーポイント722に対応させることで、レンダリング対象領域を決定できる。一実施例において、キーポイント712、722間の変換関係を定義する特徴点変換モデルは、特徴点トラッキングアルゴリズムを用いて決定できる。例えば、特徴点変換モデルは、第1のフレームから抽出されたキーポイント712にオプティカルフロー(optical flow)技術を適用して、第1のフレームから一定の時間(例えば、t秒)が経過した後に撮影された第2のフレームでのキーポイント722を追跡してマッチングさせることができる。その後、抽出されたキーポイント712及び追跡したキーポイント722間の変換行列を推定して、第2のフレーム内のレンダリング対象領域を決定できる。
【0078】
一実施例によれば、特徴点トラッキングアルゴリズムを用いた変換行列の推定は、既定の基準を満足させる場合に実行できる。例えば、第1のフレーム及び第2のフレーム間の時間が短いか、又は、フレーム間の動き差が小さい場合、特徴点トラッキングアルゴリズムを用いてレンダリング対象領域を決定できる。このとき、フレーム間の類似度が高いため、特徴点トラッキングアルゴリズムを用いて、簡単かつ迅速にレンダリング対象領域を決定して、イメージ翻訳結果をレンダリングするのが効率的である。
【0079】
図7は、第1のフレームに基づいて第2のフレーム内のレンダリング対象領域を決定する例を示したが、これに限定されず、第2のフレームと連続した複数のフレーム(例えば、第3のフレーム)内のレンダリング対象領域を決定する場合にも、前述した例を適用できる。また、前述した実施例では、キーポイントの抽出としては、FAST感知器(FAST detector)やハリスコーナー感知器(Harris corner detector)などを含む多様なキーポイント感知技術の一つを使用でき、オプティカルフロー技術は、RLOFオプティカルフロー(Robust Local Optical Flow)やLucas-kanadeオプティカルフローなどの多様なオプティカルフロー追跡技術のいずれか一つを含むことができる。また、前述した実施例では、フレーム間の特徴点のマッチングにオプティカルフロー技術を使用すると説明したが、これに限定されず、カーネル基盤トラッキング(kernel-based tracking)やシルエット基盤トラッキング(silhouette-based tracking)などの他のマッチング技術が適用されることもできる。
【0080】
図8は、本開示の一実施例に係る第1のフレームに基づいて第2のフレーム内のレンダリング対象領域を決定してレンダリングする例を示す図である。
【0081】
図に示すように、プロセッサは、第1のフレーム内の翻訳対象領域又は翻訳領域822に基づいてホモグラフィ行列810を推定することで、第2のフレーム内のレンダリング対象領域834を決定して、イメージ翻訳結果をレンダリングすることができる。
【0082】
具体的に、第1の動作820において、プロセッサは、第1のフレーム内のテキストを示すキーポイント及びその周辺の特徴点等に基づいて、翻訳領域822を決定できる。また、第2の動作830において、プロセッサは、第1のフレームから一定の時間(t秒)が経過した後に撮影されて保存中である第2のフレームから、テキストのキーポイント及びその周辺の特徴点等を抽出して、レンダリング対象領域834を決定できる。その後、プロセッサは、第1のフレーム及び第2のフレームのキーポイント及び特徴点等間の類似度に基づいてマッチングを遂行し、マッチングしたキーポイント及び特徴点等間の変換関係を示すホモグラフィ行列810を推定できる。また、プロセッサは、ホモグラフィ行列810を用いて、第1のフレームの翻訳領域822を第2のフレーム上のレンダリング対象領域834に変換できる。
【0083】
図8は、第1のフレームに基づいて第2のフレーム内のレンダリング対象領域を決定する例を示したが、これに限定されず、第2のフレームと連続した複数のフレーム(例えば、第3のフレーム)内のレンダリング対象領域を決定する場合にも、前述した例を適用できる。また、前述した実施例では、キーポイントの抽出としては、FAST感知器(FAST detector)やハリスコーナー感知器(Harris corner detector)などを含む多様なキーポイント感知技術の一つを使用でき、特徴点抽出としては、BEBLID記述子抽出(BEBLID descriptor extractor)やSURF記述子抽出(SURF descriptor extractor)等の多様な特徴点抽出技術の一つを使用できる。また、キーポイント及び特徴点等間のマッチングは、例えば、総当たりマッチング(Brute-Force Matcher)技術を用いて実行することもできる。
【0084】
図9は、本開示の一実施例に係る拡張現実に基づいたイメージ翻訳方法900の例を示すフローチャートである。一実施例において、拡張現実に基づいたイメージ翻訳方法900は、プロセッサ(例えば、情報処理システム又はユーザ端末の少なくとも一つのプロセッサ)により遂行できる。
【0085】
図に示すように、方法900は、プロセッサがカメラにより撮影された動画を示す複数のフレームをバッファに保存することにより開始することができる(S910)。その後、プロセッサは、保存された複数のフレームから既定の基準を満足する第1のフレームを抽出できる(S920)。一実施例によれば、既定の基準は、複数のフレームに含まれる所定のテキストの数、所定のエッジの数又はグラフィック処理の有無を含むことができる。他の実施例によれば、既定の基準は、複数のフレームの所定の明度又は所定の鮮明度(sharpness)を含むことができる。例えば、プロセッサは、バッファに保存された複数のフレームのうち、一定の比率以上の領域にテキストが含まれたフレーム、ぼけ処理などのグラフィック処理が一定の程度以下に適用されたフレーム、及び/又は、一定の程度以上の鮮明度を有するフレームなどの基準を満足する一つのフレームを抽出できる。
【0086】
プロセッサは、抽出された第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳できる(S930)。一実施例において、外部装置を用いて、第1の言語文章を第2の言語文章に翻訳できる。例えば、プロセッサは、第1のフレームを外部装置に転送し、外部装置から、第1のフレームに含まれる第1の言語文章が第2の言語文章に翻訳された第1のフレームを受信できる。
【0087】
一実施例によれば、プロセッサは、第1のフレームに含まれる第2の言語文章を含む翻訳領域を決定できる(S940)。例えば、プロセッサは、第1のフレーム内の翻訳文章(すなわち、第2の言語文章)に含まれるテキストのキーポイント及びその周辺の特徴点を抽出し、キーポイント及び/又は特徴点を連結することにより翻訳領域を決定できる。
【0088】
その後、プロセッサは、翻訳領域を第2のフレームにレンダリングすることができる(S950)。一実施例によれば、プロセッサは、翻訳領域を第2のフレームにレンダリングするために、第2のフレーム上にレンダリング対象領域を決定できる。一実施例において、プロセッサは、決定された翻訳領域の特徴点に基づいて、特徴点変換モデルを用いて、第2のフレーム上にレンダリング対象領域を決定でき、翻訳領域を決定されたレンダリング対象領域にレンダリングすることができる。ここで、特徴点変換モデルは、第2の言語文章が含まれた第1のフレーム上の翻訳領域及び第2のフレーム上のレンダリング対象領域をマッチングするホモグラフィ(homography)行列を含むことができる。
【0089】
図9に示すフローチャート及び前述した説明は、一つの例示であるだけで、一部の実施例では異なるように具現化できる。例えば、一つ以上のステップが省略されたり他の構成により実施されたりでき、各ステップの順序が変化したり、一つ以上のステップが同時又は重畳して遂行されたり、一つ以上のステップが多数回繰り返して遂行されたりできる。
【0090】
図10は、本開示の一実施例に係る拡張現実に基づいたイメージ翻訳方法1000の例を示すフローチャートである。一実施例において、拡張現実に基づいたイメージ翻訳方法1000は、プロセッサ(例えば、情報処理システム又はユーザ端末の少なくとも一つのプロセッサ)により遂行できる。
【0091】
図に示すように、方法1000は、プロセッサがカメラにより撮影された動画を示す複数のフレームをバッファに保存することにより開始することができる(S1010)。その後、プロセッサは、保存された複数のフレームから既定の基準を満足する第1のフレームを抽出できる(S1020)。そして、プロセッサは、抽出された第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳し(S1030)、第1のフレームに含まれる第2の言語文章を含む翻訳領域を決定できる(S1040)。続いて、プロセッサは、翻訳領域を第2のフレームにレンダリングすることができる(S1050)。
【0092】
一実施例によれば、プロセッサは、第1のフレーム及び第2のフレーム間の時間間隔を決定でき、決定された時間間隔に基づいてレンダリング対象領域を維持するか否かを決定できる(S1060)。例えば、第1のフレーム及び第2のフレーム間の時間間隔が既定の基準未満である場合、レンダリング対象領域を維持するように決定できる(S1070)。その後、プロセッサは、維持されたレンダリング対象領域を含む第3のフレームに翻訳領域をレンダリングすることができる(S1080)。ここで、第3のフレームは、第2のフレームの後の連続した複数のフレームの一つであり得る。換言すれば、第3のフレームは、翻訳領域をレンダリングする時点に、カメラにより撮影された動画の少なくとも一部を示すフレームを称することができる。これに対し、第1のフレーム及び第2のフレーム間の時間間隔が既定の基準以上である場合、プロセッサは、ステップ(S1010)に移動して、イメージ翻訳サイクルを再実行できる。
【0093】
図10に示すフローチャート及び前述した説明は、一つの例示であるだけで、一部の実施例では異なるように具現化できる。例えば、一つ以上のステップが省略されたり他の構成により実施されたりでき、各ステップの順序が変化したり、一つ以上のステップが同時又は重畳して遂行されたり、一つ以上のステップが多数回繰り返して遂行されたりできる。
【0094】
図11は、本開示の一実施例に係る拡張現実に基づいたイメージ翻訳方法1100の例を示すフローチャートである。一実施例において、拡張現実に基づいたイメージ翻訳方法1100は、プロセッサ(例えば、情報処理システム又はユーザ端末の少なくとも一つのプロセッサ)により遂行できる。
【0095】
図に示すように、方法1100は、プロセッサがカメラにより撮影された動画を示す複数のフレームをバッファに保存することにより開始することができる(S1110)。その後、プロセッサは、保存された複数のフレームから既定の基準を満足させる第1のフレームを抽出できる(S1120)。そして、プロセッサは、抽出された第1のフレームに含まれる第1の言語文章を第2の言語文章に翻訳できる(S1130)。一実施例において、外部装置を用いて、第1の言語文章を第2の言語文章に翻訳できる。例えば、プロセッサは、第1のフレームを外部装置に転送し、外部装置から、第1のフレームに含まれる第1の言語文章が翻訳された第2の言語文章を受信できる。また、プロセッサは、第1のフレームに含まれる第2の言語文章を含む翻訳領域を決定できる(S1140)。
【0096】
一実施例によれば、第1のフレーム及び第2のフレーム間の既定の基準を満足するか否かを決定でき(S1150)、既定の基準を満足する場合、翻訳された第2の言語文章が含まれた翻訳領域を第2のフレームにレンダリングすることができる(S1160)。既定の基準を満足しない場合、プロセッサは、翻訳領域をレンダリングせず、ステップ(S1110)に移動して、イメージ翻訳サイクルを再実行できる。ここで、第1のフレーム及び第2のフレーム間の既定の基準は、第1のフレーム及び第2のフレーム間の時間間隔及び/又は動き差を示すことができる。例えば、第1のフレーム及び第2のフレーム間の時間間隔が既定の時間間隔を超過する場合、プロセッサは、翻訳領域をレンダリングせず、新しい翻訳サイクルを再遂行できる。付加的又は代替的に、第1のフレーム及び第2のフレーム間の動き差が既定の差を超過する場合、新しい翻訳サイクルを再遂行できる。
【0097】
図11に示すフローチャート及び前述した説明は、一つの例示であるだけで、一部の実施例では異なるように具現化できる。例えば、一つ以上のステップが省略されたり他の構成により実施されたりでき、各ステップの順序が変化したり、一つ以上のステップが同時又は重畳して遂行されたり、一つ以上のステップが多数回繰り返して遂行されたりできる。
【0098】
前述した方法は、コンピュータで実行するために、コンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラムとして提供され得る。媒体は、コンピュータで実行可能なプログラムを継続的に保存したり、実行又はダウンロードのために一時保存したりするものであり得る。また、媒体は、単一又は多数のハードウェアが結合された形態の多様な記録手段又は保存手段であり得るが、あるコンピュータシステムに直接接続される媒体に限定されず、ネットワーク上に分散して存在するものであり得る。媒体の例としては、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD-ROMやDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、及び、ROM、RAM、フラッシュメモリなどを含み、プログラム命令語が保存されるように構成されたものが挙げられる。また、他の媒体の例としては、アプリケーションを流通するアプリストアやその他の多様なソフトウェアを供給乃至流通するサイト、サーバなどで管理する記録媒体乃至保存媒体も挙げられる。
【0099】
本開示の方法、動作又は技法は多様な手段により具現化できる。例えば、このような技法は、ハードウェア、ファームウェア、ソフトウェア、若しくはこれらの組合せで具現化できる。本願の開示により説明された多様な例示的な論理ブロック、モジュール、回路及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、若しくは両方の組合せで具現化できることを、当業者であれば理解できるはずである。ハードウェア及びソフトウェアのこのような相互の代替を明確に説明するために、多様な例示的な構成要素、ブロック、モジュール、回路及びステップが、それらの機能的観点から一般的に前述された。そのような機能が、ハードウェアとして具現化されるか、若しくは、ソフトウェアとして具現化されるかは、特定アプリケーション及び全体システムに付加される設計要求事項によって変化する。当業者は、各々の特定アプリケーションのために多様な方式により説明された機能を具現化することもできるが、そのような具現化は本開示の範囲から逸脱するものと解釈してはならない。
【0100】
ハードウェアの具現化において、技法の遂行に利用されるプロセッシングユニットは、一つ以上のASIC、DSP、デジタル信号処理デバイス(digital signal processing devices DSPD)、プログラム可能な論理デバイス(programmable logic devices PLD)、フィールドプログラム可能なゲートアレイ(field programmable gate arrays FPGA)、プロセッサ、制御器、マイクロ制御器、マイクロプロセッサ、電子デバイス、本開示に説明された機能を遂行するように設計された他の電子ユニット、コンピュータ、若しくはこれらの組合せ内で具現化されることもできる。
【0101】
したがって、本開示により説明された多様な例示的な論理ブロック、モジュール及び回路は、汎用プロセッサ、DSP、ASIC、FPGAや他のプログラム可能な論理デバイス、離散ゲートやトランジスタロジック、離散ハードウェアコンポーネント、若しくは、本願に説明された機能を遂行するように設計されたもの等の任意の組合せで具現化又は遂行されることもできる。汎用プロセッサはマイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、制御器、マイクロ制御器、若しくは状態マシンであり得る。プロセッサは、また、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと関連付けられる一つ以上のマイクロプロセッサ、若しくは任意の他の構成の組合せで具現化されることもできる。
【0102】
ファームウェア及び/又はソフトウェアの具現化において、技法は、RAM(random access memory)、ROM(read-only memory)、NVRAM(non-volatile random access memory)、PROM(programmable read-only memory)、EPROM(erasable programmable read-only memory)、EEPROM(electrically erasable PROM)、フラッシュメモリ、CD(compact disc)、磁気又は光学データストレージデバイスなどのようなコンピュータ読み取り可能な媒体上に保存された命令として具現化できる。命令は、一つ以上のプロセッサによって実行可能であり得、プロセッサが本開示に説明された機能の特定様態を遂行するようにできる。
【0103】
以上で説明された実施例が一つ以上の独立型コンピュータシステムで現在開示された主題の態様を活用するものとして記述しているが、本開示はこれに限定されず、ネットワークや分散コンピューティング環境のような任意のコンピューティング環境によって具現化できる。さらには、本開示における主題の様態は複数のプロセッシングチップや装置で具現化されることもでき、ストレージは複数の装置にわたって同様に影響を受ける場合もある。このような装置は、PC、ネットワークサーバ及び携帯用装置を含むこともできる。
【0104】
本明細書では、本開示が一部の実施例によって説明されたが、本開示の発明が属する技術分野における当業者が理解し得る本開示から逸脱しない範囲内で多様な変形や変更が可能である。また、そのような変形や変更は、本明細書に添付された特許請求の範囲内に属するものと理解されるべきである。
【符号の説明】
【0105】
110 複数のフレーム
120 第1のフレーム
122 翻訳領域
130 第2のフレーム
132 レンダリング対象領域
140 複数のフレーム
142 レンダリング対象領域