以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施形態1)
実施形態1は、実空間を撮像した撮像画像に文章を表示する形態に関する。具体的には、車両に乗車しているユーザが視認可能な車両外の風景を撮像し、撮像した画像に文章を重ねて表示する文章表示するシステムに関する。図1は、文章表示システムの概要を示す説明図である。本実施形態のシステムは、情報処理装置1及び表示装置2を含み、インターネット等のネットワークNを介して情報の送受信を行う。
情報処理装置1は、実空間を撮像した撮像画像に表示される文章に対し、種々の情報処理、情報記憶及び情報の送受信を行う情報処理装置であり、例えばサーバ装置、パーソナルコンピュータ等である。本実施形態において情報処理装置1はサーバ装置であるものとし、以下では簡潔のためサーバ1と読み替える。
表示装置2は、文章の取得、文章の構造解析、実空間の撮像、撮像画像の解析及び文章の表示等を行う端末装置である。表示装置2は、例えば、ユーザが頭部に装着するヘッドマウントディスプレイ(Head Mounted Display、略称:HMD)であり、実空間を視認することが可能となる。または表示装置2は、VRゴーグルによって装着するスマートフォン等の多機能端末であっても良い。
続いて、実空間を撮像した撮像画像に文章を表示する流れを説明する。サーバ1は、表示装置2のリクエストに応じて、実空間を撮像した撮像画像に表示する文章を取得し、表示装置2に送信する。表示装置2は、サーバ1から送信された文章を解析し、文章を表示する所定の最小単位に分割する。なお、以下の説明では便宜上、当該最小単位を「セグメント」と呼ぶ。文章解析に関しては、例えば形態素解析技術を利用しても良い。
形態素解析(Morphological Analysis)は、文法的な情報の注記の無い自然言語のテキストデータから、対象言語の文法又は辞書と呼ばれる単語の品詞等の情報に基づき、形態素(Morpheme:言語で意味を持つ最小単位)の列に分割し、それぞれの形態素の品詞等を判別する作業である。例えば、形態素解析技術を用い、「現代の生活は多様性に富んでいます。」を「現代の」「生活は」「多様性に」「富んで」「います。」に分割することができる。
なお、本実施形態では、文章がサーバ1に記憶されたが、これに限るものではない。例えば、文章が表示装置2に記憶されても良く、または図示しない外部装置に記憶されても良い。
表示装置2は、ユーザの視野に提えられる実空間を撮像し、撮像した撮像画像を取得する。表示装置2は、取得した撮像画像を解析し、文字表示可能な領域を特定する。なお、領域の特定処理に関しては後述する。表示装置2は、特定した表示領域に表示できる最大文字数を計算し、計算した最大文字数に基づいて文章のセグメントを決定する。表示装置2は、決定した文章のセグメントを表示領域に表示する。
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、記憶部12、通信部13、入力部14、表示部15、読取部16及び大容量記憶部17を含む。各構成はバスBで接続されている。
制御部11はCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を含み、記憶部12に記憶された制御プログラム1Pを読み出して実行することにより、サーバ1に係る種々の情報処理、制御処理等を行う。なお、図2では制御部11を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
記憶部12はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部11が処理を実行するために必要な制御プログラム1P又はデータ等を記憶している。また、記憶部12は、制御部11が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部13は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、表示装置2との間で情報の送受信を行う。
入力部14は、マウス、キーボード、タッチパネル、ボタン等の入力デバイスであり、受け付けた操作情報を制御部11へ出力する。表示部15は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部11の指示に従い各種情報を表示する。
読取部16は、CD(Compact Disc)-ROM又はDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読取部16を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部17に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部11が制御プログラム1Pをダウンロードし、大容量記憶部17に記憶しても良い。さらにまた、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでも良い。
大容量記憶部17は、例えばハードディスク等を含む大容量の記憶装置である。大容量記憶部17は、文章DB171を含む。文章DB171は、表示装置2に表示される文章情報を記憶している。
なお、本実施形態において記憶部12及び大容量記憶部17は一体の記憶装置として構成されていても良い。また、大容量記憶部17は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部17はサーバ1に接続された外部記憶装置であっても良い。
なお、本実施形態では、サーバ1は一台の情報処理装置であるものとして説明するが、複数台により分散して処理させても良く、または複数の仮想マシンにより構成されていても良い。
図3は、文章DB171のレコードレイアウトの一例を示す説明図である。文章DB171は、管理ID列、カテゴリ列及び文章列を含む。管理ID列は、各文章を識別するために、一意に特定される文章のIDを記憶している。カテゴリ列は、文章の種類情報を記憶している。文章列は、文章の内容を記憶している。なお、本実施形態では、文章列に文章の内容が記憶されているものとするが、これに限るものではない。例えば、文章の内容が記載されているファイルのパスが記憶されても良い。
図4は、表示装置2の構成例を示すブロック図である。表示装置2は、制御部21、記憶部22、通信部23、入力部24、表示部25、撮影部26、時計部27及びスピーカ28を含む。各構成はバスBで接続されている。
制御部21はCPU、MPU等の演算処理装置を含み、記憶部22に記憶された制御プログラム2Pを読み出して実行することにより、表示装置2に係る種々の情報処理、制御処理等を行う。なお、図4では制御部21を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
記憶部22はRAM、ROM等のメモリ素子を含み、制御部21が処理を実行するために必要な制御プログラム2P又はデータ等を記憶している。また、記憶部22は、制御部21が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部23は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、サーバ1等と情報の送受信を行う。
入力部24は、電源のオンまたはオフ、文章の変更、文章の表示等を行うスイッチである。なお、入力部24は、キーボード、ハンドコントローラー等を外部で直接に表示装置2と接続しても良い。表示部25は、ディスプレイ装置であり、制御部21の指示に従い、ユーザの視界に重ね合わせて各種の情報を表示する。また、表示部25は、網膜へ直接に投射する方式のディスプレイ装置であっても良い。
撮影部26は、例えばCCD(Charge Coupled Device)カメラ、CMOS(Complementary Metal Oxide Semiconductor)カメラ等の撮像装置である。制御部21の指示を受けて撮像を行い、撮像画像データを返却する。撮影部26は、ユーザの視線と同じ方向を向いており、中心がユーザの視野とほぼ一致した撮像画像を取得することができる。なお、撮影部26は表示装置2に内蔵せず、表示装置2に接続された外部の撮像装置であっても良い。
時計部27、時刻又は経過時間等を計時しており、制御部21からの求めに応じて、計時結果を制御部21に与える回路である。また、時計部27はタイマ機能を提供する。タイマ機能は開始を指示されてから、予め設定した時間が経過した場合、その旨を制御部21に通知する機能である。又は、タイマ機能は開始を指示されてから、予め設定した時間が経過したか否かを、制御部21からの問い合わせに対して回答する機能である。スピーカ28は、電気信号を音に変換する装置である。なお、スピーカ28は、BLUETOOTH(登録商標)のような短距離無線通信方式により端末2に接続されても良い。
図5は、撮像画像中の表示領域に文章の表示の動作を説明する説明図である。なお、図5では表示領域を点線矩形枠で示す。サーバ1の制御部11は、表示装置2のリクエストに応じて、大容量記憶部17の文章DB171から、撮像画像中の表示領域に表示される文章を取得する。制御部11は、通信部13を介して、取得した文章を表示装置2に送信する。表示装置2の制御部21は、通信部23によりサーバ1から送信された文章を受信し、形態素解析により受信した文章を表示する最小単位(セグメント)に分割する。制御部21は、分割した文章のセグメントを記憶部22に記憶する。
表示装置2の制御部21は、撮影部26を介して、ユーザの視野に提えられる実空間を撮像した撮像画像を取得する。制御部21は、取得した撮像画像から、文章を重ねて表示する上で適した色情報に関する所定条件を満たし、かつ、一定以上の面積を有する表示領域を特定する。所定条件は、表示領域の色差、若しくは色の要素を表す指標値(例えば、色相、明度、彩度等)、または色差と色の要素との結合、及び表示領域の形状等を含んでも良い。
実空間の撮像画像中に文章を重ねて表示する場合、文章を表示する領域によっては、文章が読みづらくなる虞がある。例えば多くの色が混在する領域、すなわち色差が大きい領域に文章を表示した場合、文章の背景に多くの色が混在しているため、文章が読みづらくなる虞がある。また、例えば黒一色の領域に黒色の文字で文章を表示した場合、文章が読みづらくなる虞がある。そこで本実施の形態では、制御部21は色差等に基づき撮像画像から文章を表示する上で適した領域を特定し、特定した領域に文章を表示する。
色差は、2つの色の差分を定義する指標の一つである。色差の計算方法に関しては、例えば、色空間におけるユークリッド距離により色差を計算しても良い。色空間はRGB(Red, Green, Blue)の組み合わせから構成され、そこで色差を計算する場合、R,G,Bからなる線形3次元空間で構成される色空間で計算することができる。
色の要素は、例えば色相、明度、彩度といった色の属性に関する指標値である。色相は、赤、黄、緑、青、紫といった色の様相の相違である。明度は、色の明るさの度合いである。明度の高低は、物体の反射率との相関性が高い。彩度は、色の鮮やかさの度合いである。物体の分光反射率が平坦になる程、彩度は低くなる。また、色相によって彩度が高いときの明度が異なる。
具体的には、制御部21は、取得した撮像画像から、色差、色の要素等に関する所定条件を満たす領域を抽出する。所定条件に色差が含まれる場合、制御部21は、記憶部22または通信部23を介して、色差の閾値(所定値)を取得する。制御部21は、撮像画像を構成する各画素のRGB値を比較し、単位面積当たりの色差が閾値未満の領域を抽出する。これにより、制御部21は、色差が小さい領域を抽出する。制御部21は、抽出した領域の画素数を計数し、面積を算出する。
所定条件に色の要素が含まれる場合、制御部21は、記憶部22または通信部23を介して、色相、明度及び彩度の規定値(所定値)を取得する。例えば、黒色で文章の文字を表示する場合、表示装置2は、ユーザが文章を明瞭に識別可能なように、白色に対応する色相、明度、彩度の規定値を取得する。制御部21は、撮像画像を構成する各画素の色相、明度または彩度がそれぞれの規定値を満たすか否かを判定する。制御部21は、色相、明度または彩度がそれぞれの規定値を満たす領域を抽出する。制御部21は、抽出した領域の画素数を計数し、面積を算出する。なお、色の要素はある程度の数値範囲を持たせても良い。例えば、色の要素が、白色と灰色との間の色に対応する数値範囲であっても良い。例えば、白に近い明るい色に対し、色相の規定値が0であり、明度の規定値の範囲が0~70であり、かつ、彩度の規定値が0であっても良い。
なお、所定条件に色差、色の要素両方が含まれても良い。制御部21は、記憶部22または通信部23を介して、色差の閾値、色相、明度及び彩度の規定値を取得する。制御部21は、色差が閾値を満たし、かつ、色相、明度、彩度がそれぞれの規定値を満たす領域を抽出する。制御部21は、抽出した領域の画素数を計数し、面積を算出する。
また、表示領域に関する条件は色差及び色の要素に限定されない。例えば制御部21は、表示領域の形状を条件としても良い。例えば制御部21は、表示領域が、上下方向及び左右方向それぞれの長さが所定値以上である矩形領域であることを条件としても良い。このように、表示領域に関する条件は色に関するものに限定されない。
制御部21は、記憶部22または通信部23を介して、表示領域として最低限必要な面積の閾値(ピクセル数)を取得する。制御部21は、算出した面積が閾値以上であるか否かを判定する。制御部21は、算出した面積が閾値以上であると判定した場合、文章を表示する表示領域として特定する。
制御部21は、文章の表示領域を特定した後、当該表示領域に対して表示可能な文字数を計算する。文字数の計算方法に関しては、例えば、ユーザに見えている時間が1秒間の文字の表示領域である場合、5文字当たり所要時間が0.25秒であるものとして、当該表示領域に対する表示可能な最大文字数を20文字とする。なお、上述した文字数の計算方法に限らず、表示可能な最大文字数は、ユーザの読書速度またはセグメント単位の所要時間に応じて変更しても良い。また、文字のフォント、サイズ等の要素により、表示領域に対する表示可能な最大文字数を調整することが可能となる。
制御部21は、記憶部22に記憶された表示済の文章のセグメントが存在するか否かを判定し、表示済の文章のセグメントが存在しないと判定した場合、文章の冒頭のセグメントから表示する。この場合、制御部21は、計算した文字数に基づき、文章の表示領域に表示できる最大文字数に収めるため、表示する文章のセグメントを決定する。例えば、「現代の生活は多様性に富んでいます。生活環境は、多様化の一途をたどり、」が「現代の」「生活は」「多様性に」「富んで」「います。」「生活環境は、」「多様化の」「一途を」「たどり、」に分割される。最大文字数が20文字である場合、セグメント単位で文字が表示されるため、分割された「現代の」「生活は」「多様性に」「富んで」「います。」セグメントが表示領域に表示される。即ち、20文字以下で最大の17文字分が表示される。制御部21は、表示済の文章のセグメントが存在したと判定した場合、記憶された表示済の文章のセグメントに従い、次のセグメントの開始位置を取得する。制御部21は、取得したセグメントの開始位置、及び計算した最大の文字数に基づき、表示領域に表示する文章のセグメントを決定する。
制御部21は、決定した文章のセグメントに応じて、当該セグメントに含まれる文字数から、当該セグメントを読むために必要な所要時間を計算する。制御部21は、決定した文章のセグメントを記憶部22に記憶し、表示部25により文章のセグメントを撮像画像中の表示領域に表示する。制御部21は、所要時間を経過したか否かを時計部27により判定する。制御部21は、所要時間を経過したと判定した場合、当該セグメントの表示処理を終了する。
制御部21は、表示中の文章について、未表示のセグメントがあるか否かを判定する。制御部21は、未表示のセグメントが存在したと判定した場合、表示領域の特定処理に戻る。制御部21は、新たな表示領域を特定した場合、記憶部22に記憶された表示済のセグメントに従い、次のセグメントの開始位置を取得する。制御部21は、取得した開始位置からのセグメントに応じて、上述した処理を繰り返す。制御部21は、未表示のセグメントが存在していないと判定した場合、文章の表示処理を終了する。
図6は、文章の続きが表示されていく様子を示すイメージ図である。図6Aは、文章冒頭のセグメントが表示領域に表示される際のイメージ図である。制御部21は、動画像ないし連続静止画として撮像した画像中から表示領域を特定する。制御部21は、特定した表示領域に応じて、表示領域に表示する文章のセグメントを決定し、記憶部22に決定したセグメントを記憶する。制御部21は、表示部25により決定した文章のセグメントを表示領域に表示する。制御部21は、所要時間を経過したと判定した場合、当該セグメントの表示処理を終了し、表示領域の特定処理に戻る。
図6Bは、次のセグメントが新たな表示領域に表示される際のイメージ図である。制御部21は、新たな表示領域を特定した場合、記憶部22に記憶された表示済の文章のセグメントに従い、次のセグメントの開始位置を取得する。制御部21は、取得した開始位置に基づき、続いて表示する文章のセグメントを決定し、記憶部22に決定したセグメントを記憶する。制御部21は、表示部25を介して、決定したセグメントを新たな表示領域に表示する。このように、表示装置2は、車両で移動中のユーザの視野から文章を表示する上で適した領域を次々と特定し、文章を次々と表示して読書させる。なお、図6のように動画像中に文章を表示する処理については、実施形態3及び実施形態4で詳述する。
図7、図8は、撮像画像中の表示領域に文章を表示する際の処理手順を示すフローチャートである。サーバ1の制御部11は、表示装置2のリクエストに応じて、大容量記憶部17の文章DB171から、表示装置2に表示する文章を取得する(ステップS101)。制御部11は、通信部13を介して、取得した文章を表示装置2に送信する(ステップS102)。
表示装置2の制御部21は、通信部23を介して、サーバ1から送信された文章を受信する(ステップS201)。制御部21は、形態素解析により受信した文章をセグメントに分割する(ステップS202)。制御部21は、撮影部26によりユーザの視野に提えられる実空間を撮像した撮像画像を取得する(ステップS203)。制御部21は、取得した撮像画像から、色情報に関する所定条件を満たし、かつ一定以上の面積を有する表示領域を特定する(ステップS204)。なお、表示領域の特定処理のサブルーチンに関しては後述する。
制御部21は、表示領域が存在するか否かを判定する(ステップS205)。制御部21は、表示領域が存在していないと判定した場合(ステップS205でNO)、ステップS204に戻り、表示領域の特定処理を行う。制御部21は、表示領域が存在すると判定した場合(ステップS205でYES)、表示領域に対して表示可能な最大の文字数を計算する(ステップS206)。
制御部21は、表示済の文章のセグメントがあるか否かを判定する(ステップS207)。制御部21は、表示済の文章のセグメントがあると判定した場合(ステップS207でYES)、記憶された表示済の文章のセグメントに従い、次のセグメントの開始位置を取得する(ステップS208)。制御部21は、取得したセグメントの開始位置、及び計算した最大の文字数に基づき、表示領域に表示する文章のセグメントを決定する(ステップS209)。制御部21は、表示済の文章のセグメントがないと判定した場合(ステップS207でNO)、ステップS209に遷移し、計算した最大の文字数に基づき、表示領域に表示する文章のセグメントを決定する。
制御部21は、決定した文章のセグメントに応じて、時計部27により当該セグメントに含まれる文字数から、当該セグメントを読むために必要な所要時間を計算する(ステップS210)。制御部21は、決定した文章のセグメントを記憶部22に記憶し(ステップS211)、表示部25により文章のセグメントをユーザの視野に提えられる実空間を撮像した撮像画像中の表示領域に表示する(ステップS212)。
制御部21は、時計部27により所要時間を経過したか否かを判定する(ステップS213)。制御部21は、所要時間を経過していないと判定した場合(ステップS213でNO)、ステップS212に戻る。制御部21は、所要時間を経過したと判定した場合(ステップS213でYES)、全てのセグメントを表示したか否かを判定する(ステップS214)。制御部21は、全てのセグメントを表示したと判定した場合(ステップS214でYES)、処理を終了する。制御部21は、全てのセグメントを表示していないと判定した場合(ステップS214でNO)、ステップS204に戻る。
図9は、色差による表示領域の特定処理のサブルーチンの処理手順を示すフローチャートである。表示装置2の制御部21は、記憶部22または通信部23を介して、予め定義された色差の閾値を取得する(ステップSa01)。制御部21は、単位面積当たりの色差が閾値未満となる領域があるか否かを判定する(ステップSa02)。制御部21は、単位面積当たりの色差が閾値未満となる領域がないと判定した場合(ステップSa02でNO)、サブルーチンをリターンする。制御部21は、単位面積当たりの色差が閾値未満となる領域があると判定した場合(ステップSa02でYES)、色差が閾値未満の領域の面積を算出する(ステップSa03)。
制御部21は、記憶部22または通信部23を介して、文章の表示領域を確保するための面積の閾値を取得する(ステップSa04)。制御部21は、ステップSa03で算出した面積が、取得した閾値以上であるか否かを判定する(ステップSa05)。制御部21は、算出した面積が閾値以上でない場合(ステップSa05でNO)、サブルーチンをリターンする。制御部21は、算出した面積が閾値以上である場合(ステップSa05でYES)、文章の表示領域を特定し(ステップSa06)、サブルーチンをリターンする。
図10は、色の要素による表示領域の特定処理のサブルーチンの処理手順を示すフローチャートである。図9と重複する内容については同一の符号を付して説明を省略する。表示装置の制御部21は、記憶部22または通信部23を介して、色の要素(色相、明度、彩度等)の規定値を取得する(ステップSa07)。
制御部21は、色相に関する規定値を満たす領域があるか否かを判定する(ステップSa08)。制御部21は、色相に関する規定値を満たす領域がないと判定した場合(ステップSa08でNO)、サブルーチンをリターンする。制御部21は、色相に関する規定値を満たす領域があると判定した場合(ステップSa08でYES)、当該領域の明度が取得した明度の規定値を満たすか否かを判定する(ステップSa09)。
制御部21は、当該領域の明度が規定値を満たさないと判定した場合(ステップSa09でNO)、サブルーチンをリターンする。制御部21は、当該領域の明度が規定値を満たしたと判定した場合(ステップSa09でYES)、当該領域の彩度が取得した彩度の規定値を満たすか否かを判定する(ステップSa10)。制御部21は、当該領域の彩度が規定値を満たさないと判定した場合(ステップSa10でNO)、サブルーチンをリターンする。制御部21は、当該領域の彩度が規定値を満たしたと判定した場合(ステップSa10でYES)、ステップSa03に移行する。なお、本実施形態では、制御部21は、色差、明度、彩度の順にそれぞれの規定値を満たすか否かを判断したが、これに限るものではない。例えば、明度、色差、彩度の順であっても良い。
なお、本実施形態では、文章が表示部25により表示されるが、これに限るものではない。例えば、文章が表示部25により表示されている同時に、スピーカ28により当該文章のテキストに対応する合成音声または読み上げている音声の録音が再生しても良い。
なお、本実施の形態では表示装置2がゴーグル型のヘッドマウントディスプレイであるものとして説明したが、表示装置2は表示部25が透過型ディスプレイであるスマートグラスであってもよい。すなわち、表示装置2は、ユーザに表示部25を介して実空間自体を視認可能とさせ、上記の表示領域に対応する透過型ディスプレイ上の位置に文章を表示する。このように、表示装置2は、実空間の撮像画像に文章を重ね合わせて提示するのではなく、実空間自体に文章を重ね合わせて提示する構成であってもよい。
なお、表示装置2はスマートグラス以外に、例えばカーナビゲーションシステムに係るディスプレイ装置であってもよい。あるいは、車両の窓を透明ディスプレイとして構成してもよい。
本実施形態によると、実空間を撮像した撮像画像中の表示領域に文章を表示することにより、気軽に読書が楽しめるサービスを提供することが可能となる。
本実施形態によると、色差、色の要素、または色差と色の要素との組み合わせにより、文章を表示する表示領域を特定することが可能となる。
(実施形態2)
実施形態2は、ユーザの視点位置と被写体との距離に応じて、文章の表示領域を特定する形態に関する。なお、実施形態1と重複する内容については説明を省略する。
図11は、実施形態2の表示装置2の構成例を示すブロック図である。図4と重複する内容については同一の符号を付して説明を省略する。表示装置2は、距離検出部29を含む。距離検出部29は、実空間を視認するユーザの視点と、当該実空間に存在する被写体との距離を検出する。例えば、距離検出部29は、赤外線センサ等である。なお、距離検出部29は表示装置2に内蔵せず、表示装置2に接続した外部の距離センサとしても良い。
図12は、距離による撮像画像中の表示領域の特定の動作を説明する説明図である。図12Aは、距離による視野角の算出のイメージ図である。距離検出部29は、実空間を視認するユーザの視点と、当該実空間に存在する被写体との距離を検出する。制御部21は、距離検出部29が検出した距離に応じてユーザの視野に占める被写体の視野角を算出する。視野角は、ユーザの視野の内に、被写体が見える範囲(角度)である。制御部21は、算出した視野角に基づき、文章を表示可能な領域を特定する。
図12Bは、視野角による文章の表示領域の特定の動作を説明する説明図である。制御部21は、被写体の画像から所定条件を満たす領域を特定し、特定した領域の視野角を計算する。制御部21は、記憶部22または通信部23を介して、表示領域の視野角の閾値を取得する。制御部21は、算出した視野角が取得した視野角の閾値を満たすか否かを判定する。制御部21は、算出した視野角が閾値を満たしたと判定した場合、当該領域が、文章を表示する上で必要な一定値以上の面積を有するものと判定する。例えば、視野角の閾値が10度に設定された場合、領域の上下方向及び左右方向の視野角が10度以上であるとき、当該領域が一定値以上であるものと判定する。そして、視野角により面積が算出され、算出された面積に応じて、表示する文章の文字数を算出する。
図13は、距離による表示領域の特定処理のサブルーチンの処理手順を示すフローチャートである。図9と重複する内容については同一の符号を付して説明を省略する。なお、図13では、色差を含む所定条件の例を説明したが、これに限るものではない。例えば、色の要素または色差と色の要素との組み合わせが所定条件に含まれても良い。距離検出部29は、実空間を視認するユーザの視点と、当該実空間に存在する被写体との距離を検出する(ステップSa11)。制御部21は、距離検出部29が検出した距離に応じて視野角を算出する(ステップSa12)。制御部21は、記憶部22または通信部23を介して、表示領域の視野角の閾値を取得する(ステップSa13)。制御部21は、算出した視野角が取得した閾値を満たすか否かを判定する(ステップSa14)。
制御部21は、算出した視野角が閾値を満たさないと判定した場合(ステップSa14でNO)、サブルーチンをリターンする。制御部21は、算出した視野角が閾値を満たしたと判定した場合(ステップSa14でYES)、制御部21はステップSa03で面積の算出処理を行う。
本実施形態によると、実空間を視認ユーザと、当該実空間に存在する被写体との距離を検出することにより、文章を表示する表示領域を特定することが可能となる。
(実施形態3)
実施形態3は、撮像画像が動画像である場合に、文章を表示する上で適した表示領域を、その領域が動画像中で存在する存在時間に応じて特定する形態に関する。なお、実施形態1~2と重複する内容については説明を省略する。撮像画像が動画像である場合、当該動画像において連続する複数のフレーム画像に跨って、色情報に関する所定条件を満たし、かつ、一定以上の面積を有する領域が存在する存在時間に基づき、文章を表示する表示領域を特定することができる。例えば、制御部21は、当該する領域が3秒以上存在すると判定した場合、文章を表示可能な表示領域として特定する。
上述の表示領域を動画像中の任意のフレームから特定した場合であっても、当該領域が極めて短時間しか存在しない場合、当該領域に文章を表示しても、ユーザは文章を最後まで読み終えることができない恐れがある。そこで本実施の形態では、表示領域の存在時間について最低限必要な基準時間を設け、上記の事態を防止する。
図14は、撮像画像が動画像であるときの表示領域の特定の処理手順を示すフローチャートである。制御部21は、撮影部26によりユーザの視野に提えられる実空間を撮像した動画像を取得する(ステップSb01)。制御部21は、記憶部22または通信部23を介して、所定条件を満たすための各種の規定値を取得する(ステップSb02)。例えば、規定値は、面積を判定するための面積の閾値、色差の閾値、色の要素の規定値、及び表示領域の視野角の閾値等を含んでも良い。制御部21は、視野の動画像から逐次にフレーム画像を取得し(ステップSb03)、取得したフレーム画像に対し、規定値に基づいて所定条件を満たすか否かを判定する(ステップSb04)。なお、所定条件の判定処理に関しては、実施形態1~2で記述された判定処理と同様であるため説明を省略する。
制御部21は、所定条件を満たさないと判定した場合(ステップSb04でNO)、ステップSb03に戻り、視野の動画像から次のフレーム画像を取得する。制御部21は、所定条件を満たしたと判定した場合(ステップSb04でYES)、文章を表示可能な領域の面積が閾値以上であるか否かを判定する(ステップSb05)。制御部21は、文章を表示可能な領域の面積が閾値以上でないと判定した場合(ステップSb05でNO)、ステップSb03に戻り、視野の動画像から次のフレーム画像を取得する。制御部21は、文章を表示可能な領域の面積が閾値以上であると判定した場合(ステップSb05でYES)、文章を表示可能な領域が存在するため、存在時間を累計する(ステップSb06)。
制御部21は、最後のフレーム画像であるか否かを判定する(ステップSb07)。制御部21は、最後のフレーム画像でないと判定した場合(ステップSb07でNO)、制御部21は、ステップSb03に戻り、視野の動画像から次のフレーム画像を取得する。制御部21は、最後のフレーム画像であると判定した場合(ステップSb07でYES)、記憶部22または通信部23を介して、表示領域が存在する存在時間の基準時間を取得する(ステップSb08)。例えば、存在時間の基準時間が3秒であっても良い。即ち、文章を表示可能な領域が3秒以上保持された場合、当該領域を表示領域として特定することができる。制御部21は、累計した存在時間が取得した基準時間以上であるか否かを判定する(ステップSb09)。制御部21は、累計した存在時間が基準時間以上であると判定した場合(ステップSb09でYES)、文章を表示する表示領域を特定する(ステップSb10)。
また、上述した存在時間に応じて、文章の表示態様を変更することができる。文章の表示態様は文字数、フォントサイズ及び文字の表示色等であっても良い。例えば、ユーザに見えている時間が1秒間の文字の表示領域である場合、5文字当たり所要時間が0.25秒であるものとして、当該表示領域に対する表示可能な最大文字数を20文字とする。なお、上述した文字数の計算方法に限らず、表示可能な最大文字数は、ユーザの読書速度またはセグメント単位の所要時間に応じて変更しても良い。存在時間が1秒である場合、特定された表示領域に応じて、20文字を収めることが可能なフォントサイズが決められる。表示部25により、決められたフォントサイズで文章が表示領域に表示される。また、存在時間が3秒である場合、表示可能な最大60文字数に基づいてフォントサイズが決められ、決められたフォントサイズで文章が表示領域に表示されても良い。
本実施形態によると、文章を表示可能な領域が存在する存在時間に基づいて表示領域を特定することにより、ユーザに対し、文章を読むために必要な時間が確保することが可能となる。
(実施形態4)
実施形態4は、リアルタイムで撮像される動画像に文章を表示する際に、文章を表示可能な領域の出現を予測する形態に関する。現時点で所定条件を満たす領域が、一定以上の面積を有する領域に変化すると推定された場合、所定条件を満たした領域に文章が表示される。
図15は、表示領域の変化を推定する説明図である。制御部21は、動画像から複数のフレーム画像を逐次取得し、それぞれのフレーム画像に対し、所定条件を満たした領域を特定する。なお、所定条件を満たした領域の特定処理に関しては、実施形態1~3と同様であるため説明を省略する。制御部21は、各フレーム画像から特定した領域の面積を比較して、所定条件を満たした領域が、最新の(現時点の)フレーム画像に続く後続のフレーム画像において、一定以上の面積を有する領域に変化するか否かを推定する。
制御部21は、一定以上の面積を有する領域に変化すると推定した場合、表示文章の準備処理を行う。具体的には、制御部21は、各フレーム画像を比較して後続のフレーム画像で出現する表示領域の面積を推定し、推定した面積に基づき、表示できる最大文字数を計算する。制御部21は、計算した最大文字数に基づき、表示する文章のセグメントを決定し、決定した文章のセグメントに応じて、当該セグメントに含まれる文字数から、当該セグメントを読むために必要な所要時間を計算する。
制御部21は、後続のフレーム画像において、上記の領域の面積が閾値以上となった場合、文章のセグメントを表示領域に表示する。なお、表示領域の面積が未だ閾値以上となっていない段階で、当該面積に応じて、フォントサイズを調整することにより、予め文章のセグメントを表示しても良い。例えば、面積が閾値以下である場合であっても、制御部21は、フォントサイズを基準のフォントサイズより小さく設定し、一定以上の面積を有する表示領域に変化すると推定される領域に収まるように調整し、文章のセグメントを表示する。さらにまた、表示領域の面積が一定以上になった後も、表示領域の面積の増大に伴い、文字数、フォントサイズ、フォント色等の文章の表示態様を逐次変更しても良い。
図16は、表示領域の変化を推定する際の処理手順を示すフローチャートである。制御部21は、記憶部22または通信部23を介して、所定条件を満たすための各種の規定値を取得する(ステップSc01)。例えば、規定値は、面積を判定するための面積の閾値、色差の閾値、色の要素の規定値、及び表示領域の視野角の閾値等を含んでも良い。制御部21は、視野の動画像から逐次にフレーム画像を取得し(ステップSc02)、取得したフレーム画像に対し、規定値に基づいて所定条件を満たすか否かを判定する(ステップSc03)。なお、所定条件の判定処理に関しては、実施形態1~3で記述された判定処理と同様であるため説明を省略する。
制御部21は、所定条件を満たさないと判定した場合(ステップSc03でNO)、ステップSc02に戻り、次のフレーム画像を取得する。制御部21は、所定条件を満たすと判定した場合(ステップSc03でYES)、一定以上の面積を有する表示領域に変化するか否かを推定する(ステップSc04)。制御部21は、一定以上の面積を有する表示領域に変化しないと推定した場合(ステップSc04でNO)、ステップSc02に戻り、次のフレーム画像を取得する。制御部21は、一定以上の面積を有する表示領域に変化すると推定した場合(ステップSc04でYES)、取得済みの各フレーム画像を比較して表示領域の面積を推定し、表示できる最大文字数を計算する(ステップSc05)。
制御部21は、計算した最大文字数に基づき、表示する文章のセグメントを決定する(ステップSc06)。制御部21は、決定した文章のセグメントに応じて、当該セグメントに含まれる文字数から、当該セグメントを読むために必要な所要時間を計算する(ステップSc07)。制御部21は、当該領域の面積が閾値以上となったか否かを判定する(ステップSc08)。制御部21は、当該領域の面積が閾値以上となったと判定した場合(ステップSc08でYES)、文章のセグメントを表示領域に表示する(ステップSc09)。制御部21は、当該領域の面積が閾値以上となっていないと判定した場合(ステップSc08でNO)、当該領域の現在の面積に応じてフォントサイズを調整し(ステップSc10)、ステップSc09に遷移し、文章のセグメントの表示処理を行う。
制御部21は、当該フレーム画像が最後のフレーム画像であるか否かを判定する(ステップSc11)。制御部21は、当該フレーム画像が最後のフレーム画像であると判定した場合(ステップSc11でYES)、処理を終了する。制御部21は、当該フレーム画像が最後のフレーム画像でないと判定した場合(ステップSc11でNO)、所要時間を経過したか否かを時計部27により判定する(ステップSc12)。制御部21は、所要時間を経過したと判定した場合(ステップSc12でYES)、処理を終了する。制御部21は、所要時間を経過しないと判定した場合(ステップSc12でNO)、次のフレーム画像を取得し(ステップSc13)、ステップSc08に戻り、面積の判定処理を行う。
本実施形態によると、表示領域に変化するか否かを推定することにより、予め文章を表示することが可能となる。また、表示領域の変化に応じて、文字数の算出、文章のセグメントの決定等の準備処理が先行されるため、効率化を図ることが可能となる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。