〔本発明で利用する光通信の概要〕
本発明は、情報出力装置と情報取得装置との間で伝送する通信情報を輝度変化に変換して通信する光通信を利用する。この光通信について、図2に基づいて説明する。図2は、本発明で利用する光通信の概要を示す図である。
図2に示すように、映像コンテンツを表示するテレビ2(表示装置、情報出力装置)において、フレーム毎に、元の映像コンテンツの輝度を変化させる。情報取得装置である携帯電話機1がこの表示装置をカメラ13で撮像し、撮像した画像を解析することにより、輝度変化を検出することができる。
図2に示すように、テレビ2の画面全体の輝度値を変化させるため、携帯電話機1は、テレビ2の表示画面の一部を撮像することによって、通信情報を取得することができる。また、テレビ2を定点で撮影するのではなく、撮影範囲を動かしてテレビ2の全体または一部を撮影した場合であっても、カメラ13で撮像した画像の全体の輝度変化を捉えることにより、通信情報を検出することができる。
また、撮影範囲が動いた場合であっても、撮像した画像上におけるテレビ2の画面以外の部分(例えば、背景等)は、通常、急激に輝度が変化しない。さらに、テレビ2が出力する映像コンテンツの原画像は、連続したフレーム間では、急激に輝度変化が生じることは少ない。
そのため、例えば、テレビ2がフレーム間隔(1/60秒)と同程度かそれ以下の時間間隔で輝度を変化させて通信情報を出力する場合、携帯電話機1は、所定の輝度変化を検出すると、その輝度変化はテレビ2から送信された通信情報に対応する輝度変化であると判断することができる。よって、撮影範囲が動いたとしても、撮像した画像に少なくともテレビ2の一部が含まれていれば、携帯電話機1は高精度に通信情報を検出することができる。
ここで、仮に、撮像した画像上におけるテレビ2の画面以外の部分、または、テレビ2が出力する映像コンテンツの原画像において、急激に輝度変化が生じたとしても、テレビ2が繰り返し通信情報を出力することによって、携帯電話機1は高精度に通信情報を検出することができる。
ここで、映像コンテンツの原輝度値を基準信号とし、基準信号より輝度を明るくしたものを明信号とし、基準信号より輝度を暗くしたものを暗信号とする。
基準信号、明信号および暗信号を組み合わせた輝度変化を「0」、「1」のビット情報等に対応付けておくことにより、表示装置と、カメラを搭載した装置との間で通信情報をやり取りすることができる。
映像コンテンツは一般的に60フレーム/秒であるため、図2に示す光通信を用いることによって、1秒間に最大30ビットの情報を送信することができる。以下に示す実施形態では、図7に示すように、3フレームの輝度変化で1ビットを表すこととする。ただし、これに限るものではなく、1ビットに対応するフレーム数は任意でよい。
例えば、1ビットを3フレームの輝度変化として規定し、6ビットの通信情報を伝送する場合、6ビット×3フレーム×1/60秒=0.3秒で通信情報を伝送することができる。よって、リアルタイムで通信情報を伝送するシステムに、輝度変化による光通信を好適に利用することができる。
また、以下に示す実施形態では、明信号を基準信号より10%輝度が高いものとし、暗信号を基準信号より10%輝度が低いものとする。ただし、これに限るものではなく、明信号および暗信号における基準信号に対する割合は任意でよい。また、明信号および暗信号を基準信号に対する輝度の割合の増減で示すのではなく、絶対値の増減で示してもよい。
このように、1/60秒という短い時間間隔で表示装置の出力輝度値を変化させることによって、映像コンテンツの視聴に影響を与えず、通信情報を伝送することができる。また、図7に示すように、1ビットに対応する輝度変化を明信号と暗信号とを同じ割合で構成する場合、人間は残像効果により平均化した光を知覚するため、人間が輝度変化を知覚できないことも考えられる。すなわち、元の映像コンテンツの品質を損なうことなく、通信情報を伝送することができる。
なお、出力輝度値を変化させる期間(明信号または暗信号の期間)は、1/60秒に限るものではないが、人間に知覚させないようにするために、上記期間は短いことが望ましい。
以下に、本発明の一実施形態について図1から図21に基づいて説明する。
〔情報通信システムの概要〕
図3に基づいて、本発明の情報通信システム3の概要を説明する。図3は、情報通信システム3の概要を示す図である。本発明の情報通信システム3は、図3に示すように、情報取得装置である携帯電話機1と情報出力装置であるテレビ2とを含むものである。
テレビ2は、テレビ番組等の映像コンテンツを表示するものである。また、テレビ2は、映像コンテンツを表示している状態で、携帯電話機1に伝送する通信情報を、表示部が出力する輝度値の所定期間における輝度変化を示す輝度変化遷移情報に変換し、輝度変化遷移情報に基づいて、表示部が出力する輝度値を変化させるものである。
携帯電話機1は、画像を撮像するカメラを搭載しており、テレビ2の表示部の全体または一部を撮像した画像を順次取得し、取得した複数の画像の輝度値から、所定の輝度変化を検出し、通信情報を取得するものである。
図3に示す例では、情報取得装置としてカメラを搭載した携帯電話機1を例示し、情報出力装置としてテレビ2を例示するがこれに限るものではない。
情報取得装置は、カメラが撮像した画像を取得するものであればよい。すなわち、情報取得装置は、カメラを搭載していてもよいし、カメラが撮像した画像を取得できるように、無線通信手段または有線通信手段によって、カメラと接続されていてもよい。情報取得装置は、例えば、カメラを搭載したPDA(Personal Digital Assistant)、カメラを搭載した携帯ゲーム機、カメラと接続されているPC等でもよい。
また、情報出力装置は、表示部を備えているものであればよい。情報出力装置は、例えば、PC、音響機器、ビデオレコーダ、その他、冷蔵庫や電子レンジ等の表示部を備える家電機器等でもよい。
図3に示す例では、情報通信システム3は、1つの携帯電話機1と、1つのテレビ2とを含むものであるが、これに限るものではない。情報通信システム3は、複数の携帯電話機1を含んでいてもよいし、複数のテレビ2を含んでいてもよい。
〔携帯電話機の構成〕
次に、図1に基づいて、携帯電話機1の構成について説明する。図1は、携帯電話機1の要部構成の一例を示すブロック図である。図1に示すように、携帯電話機1は、制御部11、記憶部12、カメラ13、通信部14、表示部15および操作部16を備えている。なお、携帯電話機1は、音声入力部、音声出力部、電話網通信部等の部材を備えていてもよいが、発明の特徴点とは関係がないため当該部材を図示していない。
カメラ13は、撮像素子で撮像した画像(または動画)をデジタルデータとして記録するものである。カメラ13が記録したデジタルデータを画像データ(動画データ)と称する。
通信部14、無線LAN等の無線通信手段によって、テレビ2等の他の装置と通信を行い、制御部11の指示に従って、データのやりとりを行うものである。通信部14は、例えば、Wi−Fi、WiMAX、Bluetooth(登録商標)、IrDA等の通信方式で通信する。
表示部15は、制御部11の指示に従って画像を表示するものである。表示部15は、制御部11の指示に従って画像を表示するものであればよく、例えば、LCD(液晶ディスプレイ)、有機ELディスプレイ、プラズマディスプレイなどを適用することが可能である。
操作部16は、ユーザが携帯電話機1に指示信号を入力し、携帯電話機1を操作するためのものである。操作部16は、オンフックキー、オフフックキー、ファンクションキー、十字キー、テンキー等で構成されているものであってもよい。また、操作部16と表示部15とが一体となっているタッチパネルであってもよい。
制御部11は、記憶部12から一時記憶部(不図示)に読み出されたプログラムを実行することにより、各種の演算を行うと共に、携帯電話機1が備える各部を統括的に制御するものである。
本実施形態では、制御部11は、機能ブロックとして、画像取得部(画像取得手段)21、代表輝度値特定部(代表輝度値特定手段)22、ビット値生成部23、ビット列検出部(輝度変化検出手段)24、位置特定部(通信情報特定手段、位置情報生成手段)25、表示制御部(表示制御手段)26、光通信制御部(送信手段、受信手段)27および機器情報取得部28を備える構成である。これらの制御部11の各機能ブロック(21〜28)は、CPU(central processing unit)が、ROM(read only memory)等で実現された記憶装置に記憶されているプログラムをRAM(random access memory)等で実現された一時記憶部に読み出して実行することで実現できる。
画像取得部21は、カメラが撮像した画像を取得するものである。リアルタイムで情報処理または表示処理を行うため、画像取得部21は、カメラが撮像した画像を順次取得し、その都度、取得した画像を代表輝度値特定部22および/または表示制御部26に出力する。
代表輝度値特定部22は、画像取得部21が取得した画像を複数の領域に分割し、分割して得られる領域毎に、当該領域に含まれる各画素の輝度値から、当該領域の代表輝度値を特定するものである。代表輝度値特定部22は、特定した代表輝度値をビット値生成部23に出力する。
具体的には、代表輝度値特定部22は、分割して得られる各領域に少なくとも1つの画素が含まれるように、画像を複数の領域に分割する。また、各領域の形状(領域に含まれる画素群の形状)は任意でよい。代表輝度値特定部22は、例えば、図4に示すように、画像を格子状に複数の領域に分割してもよい。図4は、画像分割の一例を示す図である。図4の(a)は、画像を格子状に縦4×横5の20個の領域に分割した例を示す図であり、図4の(b)は、画像を格子状に縦13×横17の221個の領域に分割した例を示す図である。また、図4に示すように各領域の形状を同一にするのではなく、各領域の形状が異なるように画像を分割してもよい。本実施形態では、代表輝度値特定部22は、画像を格子状に縦3×横4の12個の領域に分割するものとする。
また、本実施形態では、代表輝度値特定部22は、領域に含まれる各画素の輝度値を平均した値をその領域の代表輝度値とする。ただし、代表輝度値の特定方法はこれに限るものではない。例えば、代表輝度値特定部22は、領域に含まれる、何れかの画素の輝度値をその領域の代表輝度値としてもよい。また、代表輝度値特定部22は、領域に含まれる各画素の輝度値の中央値をその領域の代表輝度値としてもよい。また、代表輝度値特定部22は、領域内の画素の輝度値の最大値または最小値をその領域の代表輝度値としてもよい。
すなわち、本実施形態では、代表輝度値特定部22は、画像取得部21が取得した画像を格子状に縦3×横4の12個の領域に分割し、領域に含まれる各画素の輝度値を平均して、領域毎に代表輝度値を算出し、1つの画像から12個の代表輝度値を特定する。n番目のフレーム(フレームn)の画像から得られる代表輝度値の行列を代表輝度値行列Cnとする。つまり、代表輝度値行列Cnは3×4の行列であり、各領域の代表輝度値はCn(i,j)で示す。ここで、(i,j)の「i」は、画像の上からi番目の領域を示し、「j」は、画像の左からj番目の領域を示す。
このように、代表輝度値特定部22が各画素の輝度値を平均して代表輝度値を算出することにより、輝度変化(色変化)のノイズを除去することができる。また、分割する領域の数を少なくする(分割する領域の面積を大きくする)ことにより、よりノイズを除去することができる。
ビット値生成部23は、代表輝度値特定部22から取得した代表輝度値行列Cn,Cn-1,Cn-2において、領域毎にその領域の代表輝度値が所定の条件を満たすか否かを判定して、ビット値行列Bnを生成するものである。ビット値生成部23は、生成したビット値行列Bnをビット列検出部24に出力する。
具体的には、ビット値生成部23は、代表輝度値行列Cn(i,j),Cn-1(i,j),Cn-2(i,j)が次の第1条件および第2条件を満たす場合、ビット値行列Bn(i,j)の値を1とする。
第1条件:第1閾値P<Cn-1(i,j)/Cn-2(i,j)<第2閾値Q
第2条件:第3閾値R<Cn-2(i,j)/Cn(i,j)<第4閾値S
また、ビット値生成部23は、代表輝度値行列Cn(i,j),Cn-1(i,j),Cn-2(i,j)が上記の第1条件または第2条件の何れかを満たさない場合、ビット値行列Bn(i,j)の値を0とする。
このように、全ての領域(本実施形態の場合は、12個の領域)に対してビット値を生成する。つまり、ビット値行列Bnも、輝度代表値行列Cnと同様に、3×4の行列である。
ここで、本実施形態では、第1閾値Pの値を1.1−αとし、第2閾値Qの値を1.1+αとし、第3閾値Rの値を1.1−βとし、第4閾値Sの値を1.1+βとする。なお、α、β>0であり、本実施形態では、α=β=0.05とする。
上述のように、本実施形態では、ビット値「1」を基準信号、明信号、暗信号の3フレームで定義しており、明信号は輝度値が基準信号より10%大きく、暗信号は輝度値が基準信号より10%小さいものである。上記の第1条件および第2条件は、輝度値の変化に置き換えられたビット値「1」を検出するためのものである。そのため、ビット値「1」(またはビット値「0」)の定義に合わせて、上記の第1条件および第2条件を適宜設定すればよい。
ここで、図5に基づいて、画像取得部21、代表輝度値特定部22およびビット値生成部23が実行する処理について具体的に説明する。図5は、テレビ2が表示する映像コンテンツの原輝度値に加減する輝度値、カメラが撮像した画像、輝度代表値およびビット値の関係をフレーム毎に示す図である。
なお、図5に示す例では、テレビ2が画像を切り替えるタイミングと、カメラが画像を順次撮像するタイミングとが同期しているものとする。また、テレビ2は、フレーム1〜3でビット値「1」を出力するものとする。
具体的には、テレビ2は、フレーム0〜1において、映像コンテンツを原輝度値のまま表示する。フレーム2では、テレビ2は、映像コンテンツの原輝度値を10%増加させて出力する。フレーム3では、テレビ2は、映像コンテンツの原輝度値を10%減少させて出力する。そして、フレーム4では、テレビ2は、映像コンテンツを原輝度値のまま表示する。
まず、画像取得部21がカメラからフレーム0の画像P0を取得すると、代表輝度値特定部22は、画像P0を3×4の領域に分割し、各領域毎に輝度値の平均を算出し、代表輝度値行列C0を特定する。ビット値生成部23は、代表輝度値行列C0からビット値行列B0を生成する。なお、ここでは、ビット値生成部23は、フレーム0における代表輝度値行列C0のみを取得しており、フレーム0の1つ前および2つ前のフレームの代表輝度値がないため、ビット値を全て0としてビット値行列B0を生成する。
次に、画像取得部21がカメラからフレーム1の画像P1を取得すると、代表輝度値特定部22は、同様に、代表輝度値行列C1を特定する。ビット値生成部23は、代表輝度値行列C1、C0からビット値行列B1を生成する。先程と同様に、ビット値生成部23は、フレーム1の2つ前のフレームの代表輝度値がないため、ビット値を全て0としてビット値行列B1を生成する。
次に、画像取得部21がカメラからフレーム2の画像P2を取得すると、代表輝度値特定部22は、同様に、代表輝度値行列C2を特定する。ビット値生成部23は、代表輝度値行列C2、C1、C0からビット値行列B2を生成する。図示の例では、ビット値生成部23は、代表輝度値行列C2、C1、C0の何れの領域も、第1条件または第2条件の何れかを満たさないため、全ての領域でビット値を0とし、ビット値行列B2を生成する。
次に、画像取得部21がカメラからフレーム3の画像P3を取得すると、代表輝度値特定部22は、同様に、代表輝度値行列C3を特定する。ビット値生成部23は、代表輝度値行列C3、C2、C1からビット値行列B3を生成する。図示の例では、領域(2,4)における代表輝度値行列C3(2,4)、C2(2,4)、C1(2,4)が、第1条件および第2条件を満たす。具体的には、C2(2,4)/C1(2,4)=110/100=1.1であり、第1閾値P(=1.05)より大きく第2閾値Q(=1.15)より小さいため第1条件を満たす。また、C1(2,4)/C3(2,4)=100/90=約1.11であり、第3閾値R(=1.05)より大きく第4閾値S(=1.15)より小さいため第2条件を満たす。よって、ビット値生成部23は、B3(2,4)のみをビット値「1」とし、それ以外の領域のビット値を0とし、ビット値行列B3を生成する。
このように、代表輝度値特定部22は、画像取得部21が取得した画像Pnから代表輝度値行列Cnを特定し、ビット値生成部23は、代表輝度値行列Cn、Cn-1、Cn-2からビット値行列Bnを生成する。
ビット列検出部24は、ビット値生成部23が生成したビット値行列B0〜Bnの中から、領域毎に、予め定めた通信ビット列を検出するものである。ビット列検出部24は、通信ビット列を検出すると、検出した通信ビット列と、通信ビット列が検出された領域を示す領域情報とを位置特定部25に出力する。
ここで、領域情報は、例えば、(2,4)等のその領域の位置関係を示す情報であってもよいし、その領域の画像上の位置を示す座標を示す情報であってもよい。なお、領域の画像上の位置を示す座標は、例えば、その領域の端点の座標であってもよいし、その領域の中央の座標であってもよい。
具体的には、図6に基づいて、ビット列検出部24が実行する処理について説明する。図6は、ビット値生成部23が生成したビット値行列B0〜B18を示す図である。なお、ここでは、通信ビット列「101101」をビット列検出部24が検出するものとする。
本実施形態では、上述のように、ビット値「1」を3つのフレームで定義しているため、ビット列検出部24は、まず、図6に示すように、ビット値行列B0〜B18を3つのグループ(フレーム3m、フレーム3m+1、フレーム3m+2)に分ける。そして、ビット列検出部24は、各グループの領域毎に、通信ビット列「101101」があるか否かを判定する。
図示の例では、フレーム3mのグループの領域(2,4)に通信ビット列「101101」があるため、ビット列検出部24は、通信ビット列「101101」と、領域(2,4)を示す領域情報とを位置特定部25に出力する。
なお、ビット列検出部24は、ビット値行列B0〜Bnの中から、通信ビット列を検出するものとしたが、これに限るものではない。例えば、図6に示す例において、通信ビット列の最大ビット数が6ビットの場合、ビット列検出部24は、ビット値行列B3〜B18の中から通信ビット列を検出すれば十分である。
光通信制御部27は、テレビ2が実行する光通信処理を制御または管理するものである。具体的には、光通信制御部27は、所定の通信情報を光通信で出力するようにテレビ2に指示する通信情報出力指示を送信する。また、光通信制御部27は、テレビ2に対して、テレビ2が光通信で出力している通信情報の内容を送信するように要求する出力情報送信指示を送信する。そして、その出力情報送信指示に対する応答として、テレビ2が光通信で出力している通信情報の内容を示す通信内容識別情報を受信する。
光通信制御部27は、通信情報出力指示を送信した場合、指示の送信先のテレビ2を一意に識別するための装置識別情報と、光通信で出力するように指示した通信情報の内容を示す通信内容識別情報とを対応付けた装置出力情報を位置特定部25に出力する。また、光通信制御部27は、出力情報送信指示を送信して、通信内容識別情報を受信した場合、指示の送信先のテレビ2を一意に識別するための装置識別情報と、当該テレビ2が光通信で出力している通信情報の内容を示す通信内容識別情報とを対応付けた装置出力情報を位置特定部25に出力する。
位置特定部25は、ビット列検出部24からビット列検出部24が検出した通信ビット列を取得すると、通信ビット列と通信情報とが対応付けられたビット列変換テーブルを記憶部12から読み出す。そして、位置特定部25は、読み出したビット列変換テーブルを参照して、ビット列検出部24が検出した通信ビット列に対応する通信情報を特定する。
位置特定部25は、通信情報を特定すると、ビット列検出部24から取得した領域情報と、特定した通信情報の内容を示す通信内容識別情報とを対応付けて通信内容取得位置情報を生成する。
また、位置特定部25は、光通信制御部27から装置出力情報を取得した場合、取得した装置出力情報に含まれる通信内容識別情報と、特定した通信内容識別情報とが一致すると、ビット列検出部24から取得した領域情報と、光通信制御部27から取得した装置出力情報に含まれる装置識別情報とを対応付けて装置位置情報を生成する。位置特定部25は、生成した装置位置情報を表示制御部26に出力する。
このように、位置特定部25は、分割した領域に基づいて、通信情報が検出された位置またはテレビ2の画像上の位置を特定するため、画像を小さい領域に細かく分割することにより、位置の特定の精度が向上する。
機器情報取得部28は、通信部14を介して、テレビ2に関する情報である表示装置関連情報を送信するように要求する表示装置関連情報送信指示をテレビ2に送信する。そして、その表示装置関連情報送信指示に対する応答として、テレビ2から通信部14を介して、当該テレビ2の表示装置関連情報を受信する。機器情報取得部28は、受信した表示装置関連情報を表示制御部26に出力する。
ここで、表示装置関連情報とは、例えば、テレビ2の機能、性能、特性等を示す情報、テレビ2が表示しているコンテンツを示す情報、テレビ2が保持しているコンテンツを示す情報、テレビ2が接続している機器を示す情報、テレビ2をユーザが特定するためのアイコン等の表示用情報などである。
なお、機器情報取得部28は、テレビ2の表示装置関連情報が記憶部12、外部の記憶装置またはネットワーク上の他の装置に格納されている場合、記憶部12、外部の記憶装置またはネットワーク上の他の装置から表示装置関連情報を取得してもよい。
表示制御部26は、携帯電話機1が実行する処理に応じて画像を生成し、生成した画像を表示部15に表示する。また、表示制御部26は、画像取得部21が取得した、カメラ13が撮像した画像を表示部15にリアルタイムで表示するものである。
また、表示制御部26は、位置特定部25から装置位置情報を取得している場合、装置位置情報に含まれる装置識別情報の示す装置に関する装置関連情報を含む画像を生成する際に、装置位置情報に含まれる領域情報の示す領域に対応する表示部15の画面の表示位置に、当該領域情報に対応する装置情報の示すテレビ2に関する装置関連情報を配置して画像を生成する。
また、表示制御部26は、位置特定部25から装置位置情報を取得している場合、画像取得部21が取得した、カメラ13が撮像した画像を表示する際に、カメラ13が撮像した画像に重畳させて、装置位置情報に含まれる領域情報の示す領域に対応する表示部15の画面の表示位置に、当該領域情報に対応する装置情報の示すテレビ2に関する装置関連情報を表示する。
記憶部12は、制御部11が参照するプログラムやデータ等を格納するものであり、例えば、上記のビット値変換テーブル、ビット列変換テーブル等を格納している。また、記憶部12が上記の第1条件および第2条件を示す条件情報等を格納していてもよい。
ビット値変換テーブル、ビット列変換テーブルは、光通信制御部27によって予め生成されるものである。光通信制御部27は、生成したビット値変換テーブル、ビット列変換テーブルを、予めテレビ2に送信する。なお、テレビ2がビット値変換テーブル、ビット列変換テーブルを生成してもよい。この場合、光通信制御部27は、予めテレビ2からビット値変換テーブル、ビット列変換テーブルを取得して、取得したビット値変換テーブル、ビット列変換テーブルを記憶部12に格納する。
ビット値変換テーブル、ビット列変換テーブルは、例えば、図7および図8に示すようなデータであってよい。図7は、ビット値変換テーブルの一例を示す図であり、図8は、ビット列変換テーブルの一例を示す図である。
図7に示す例では、ビット値「1」および「0」を3つのフレームの輝度変化で規定しているが、これに限るものではない。また、ビット値「1」を基準信号、明信号、暗信号の順の組み合わせで定義しているが、これに限るものではない。ビット値「1」および「0」の定義は任意でよい。
図8に示す例では、全ての通信ビット列は、スタートコードと、通信情報の内容を示す通信コードとを含む。図8に示す例では、スタートコードは「1011」である。通信ビット列にスタートコードを入れることによって、ノイズを除去することができる。本実施形態では、通信ビット列がスタートコードを含んでいるが、スタートコードはなくてもよい。また、スタートコードのビット列(ビット数およびビット値)は任意でよい。
すなわち、通信ビット列に含まれる通信コードが通信情報の内容を示すものである。図8に示す例では、通信コード「01」が通信情報「A」を示し、通信コード「10」が通信情報「B」を示す。図8は一例であり、通信コードと通信情報との対応関係は任意に定義すればよい。
なお、ビット値変換テーブルおよびビット列変換テーブルを含む情報を変換情報と称する。
〔テレビの構成〕
図9は、テレビ2の要部構成の一例を示すブロック図である。図9に示すように、テレビ2は、制御部31、記憶部32、アンテナ33、通信部34および表示部35を備えている。なお、テレビ2は、音声出力部、操作部等の部材を備えていてもよいが、発明の特徴点とは関係がないため当該部材を図示していない。
アンテナ33は、テレビ放送の放送波を受信し、受信した信号を制御部31に出力する。
通信部34は、無線LAN等の無線通信手段によって、携帯電話機1等の他の装置と通信を行い、制御部31の指示に従って、データのやりとりを行うものである。通信部34は、例えば、Wi−Fi、WiMAX、Bluetooth(登録商標)、IrDA等の通信方式で通信する。
表示部35は、制御部31の指示に従って画像を表示するものである。表示部35は、制御部31の指示に従って画像を表示するものであればよく、例えば、LCD(液晶ディスプレイ)、有機ELディスプレイ、プラズマディスプレイなどを適用することが可能である。
制御部31は、記憶部32から一時記憶部(不図示)に読み出されたプログラムを実行することにより、各種の演算を行うと共に、テレビ2が備える各部を統括的に制御するものである。
本実施形態では、制御部31は、機能ブロックとして、コンテンツ取得部41、光通信処理部(情報変換手段)42、機器情報送信部43および表示制御部44を備える構成である。これらの制御部11の各機能ブロック(41〜44)は、CPUが、ROM等で実現された記憶装置に記憶されているプログラムをRAM等で実現された一時記憶部に読み出して実行することで実現できる。
コンテンツ取得部41は、アンテナ33が受信した放送波の信号を取得し、取得した信号を映像・音声信号に変換して、映像信号を表示制御部44に出力し、音声信号を音声出力部(不図示)に出力するものである。本実施形態では、コンテンツ取得部41は、アンテナ33を介して映像コンテンツを取得しているが、これに限るものではない。例えば、コンテンツ取得部41は、記憶部32に映像コンテンツが格納されている場合、記憶部32から映像コンテンツを読み出して取得してもよい。また、コンテンツ取得部41は、無線通信手段または有線通信手段を介して、外部の記憶装置またはネットワーク上の他の装置から映像コンテンツを取得してもよい。
光通信処理部42は、携帯電話機1から通信情報出力指示を受信すると、記憶部32からビット列変換テーブルおよびビット値変換テーブルを読み出し、読み出したビット列変換テーブルおよびビット値変換テーブルを参照して、通信情報出力指示に含まれる所定の通信情報を、所定期間における輝度変化を示す輝度変化遷移情報に変換する。そして、光通信処理部42は、変換した輝度変化遷移情報に基づいて画像の輝度値を変化するように表示制御部44に指示する。
また、テレビ2が予め定められた通信情報を光通信で出力するように設定されている場合、光通信処理部42は、上記予め定められた通信情報を輝度変化遷移情報に変換して、変換した輝度変化遷移情報に基づいて画像の輝度値を変化するように表示制御部44に指示してもよい。この場合、光通信処理部42は、携帯電話機1から出力情報送信指示を受信すると、出力情報送信指示に対する応答として、上記予め定められた通信情報の内容を示す通信内容識別情報を携帯電話機1に送信する。
ここで、輝度変化遷移情報とは、例えば、図10に示すような情報であってよい。図10に示す例では、輝度変化遷移情報は、所定期間における各フレームごとの基準信号に対する輝度変化を示す情報である。なお、図10に示す輝度変化遷移情報は通信情報「A」に対応するものである。
機器情報送信部43は、通信部34を介して、携帯電話機1から装置関連情報送信指示を受信すると、記憶部32から自装置の装置関連情報を読み出し、受信した装置関連情報送信指示に対する応答として、通信部34を介して、読み出した装置関連情報を携帯電話機1に送信する。
表示制御部44は、テレビ2が実行する処理に応じて画像(動画または静止画)を生成し、生成した画像を表示部35に表示する。表示制御部44は、画像生成部45および輝度制御部(輝度値調整手段)46を含む。
画像生成部45は、コンテンツ取得部41から映像信号を取得し、取得した映像信号に基づいて画像を生成し、生成した画像を順次輝度制御部46に出力する。
輝度制御部46は、光通信処理部42からの指示に基づき、輝度変化遷移情報の示す輝度変化に従って、画像生成部45が生成した画像の輝度値を変化させて表示部35に表示する。なお、輝度制御部46は、画像生成部45が生成した画像の全画素の輝度値を変化させてもよいし、画像生成部45が生成した画像の一部の画素の輝度値を変化させてもよい。
記憶部32は、制御部31が参照するプログラムやデータ等を格納するものであり、例えば、上記のビット列変換テーブル、ビット値変換テーブル、装置関連情報等を格納している。
上述のように、光通信処理部42が、ビット値変換テーブルおよびビット列変換テーブルを携帯電話機1から受信して記憶部32に格納する。なお、光通信処理部42が、ビット値変換テーブルおよびビット列変換テーブルを生成してもよい。この場合、光通信処理部42は、生成したビット値変換テーブルおよびビット列変換テーブルを予め携帯電話機1に送信する。
〔実施例1〕
次に、テレビ2から携帯電話機1へ光通信で通信情報が伝送される際の携帯電話機1およびテレビ2における処理の一例(実施例1)について、図11〜図13に基づいて説明する。
図11は、実施例1における情報通信システム3aの概要を示す図である。図11に示すように、情報通信システム3aは、携帯電話機1、テレビ2a、テレビ2bおよびWi−Fiアクセスポイント4を含む。なお、以下では、テレビ2aおよびテレビ2bを総称する場合、テレビ2と称する。
Wi−Fiアクセスポイント4は、携帯電話機1およびテレビ2を相互に接続したり、他のネットワークに接続したりするためのものである。
前提として、携帯電話機1およびテレビ2は、互いのIPアドレスは既知であるが、互いにどの位置に存在するかは認識できていないこととする。なお、携帯電話機1のIPアドレスを「192.168.0.10」とし、テレビ2aのIPアドレスを「192.168.0.21」とし、テレビ2bのIPアドレスを「192.168.0.22」とする。
また、テレビ2は、表示部35に映像コンテンツを表示しているものとする。
実施例1では、携帯電話機1が輝度変化による光通信を用いてテレビ2aおよびテレビ2bの位置を特定する例を説明する。本実施例では、携帯電話機1が、テレビ2aおよびテレビ2bに対して、通信情報出力指示を送信する。このとき、携帯電話機1は、テレビ2aおよびテレビ2bに対して、それぞれ異なる通信情報を出力するように指示する。具体的には、携帯電話機1は、テレビ2aに対して、通信情報「A」を出力するように指示し、テレビ2bに対して、通信情報「B」を出力するように指示するものとする。
なお、図11では、テレビ2aおよびテレビ2bに「A」、「B」が表示されているように描かれているが、これは説明の便宜を図るためである。実際には、テレビ2aおよびテレビ2bは、画像として「A」、「B」を表示するのではなく、通信情報「A」、通信情報「B」をそれぞれ示す輝度変化に変えて通信情報を出力する。
以下に、図12および図13に基づいて、携帯電話機1およびテレビ2の具体的な処理例について説明する。図12は、携帯電話機1が輝度変化による光通信を用いてテレビ2aおよびテレビ2bの位置を特定する処理の一例を示す図である。図13は、テレビ2が輝度変化による光通信を用いて通信情報を出力する処理の一例を示す図である。
図12に示すように、携帯電話機1は、カメラ13を起動する(S1)。また、携帯電話機1の光通信制御部27は、テレビ2aに対して通信情報「A」を出力するように指示する通信情報出力指示を送信し、テレビ2bに対して通信情報「B」を出力するように指示する通信情報出力指示を送信する(S2)。
ここで、光通信制御部27は、テレビ2aを示す装置識別情報と、通信情報「A」を示す通信内容識別情報とを対応付けた装置出力情報DAと、テレビ2bを示す装置識別情報と、通信情報「B」を示す通信内容識別情報とを対応付けた装置出力情報DBとを位置特定部25に出力する。
次に、画像取得部21は、カメラ13が撮像した画像を順次取得する。ここで、n=0とし(S3)、画像取得部21は、n番目のフレームの画像Pn、つまり、フレーム0の画像P0を取得する(S4)。
代表輝度値特定部22は、画像取得部21が取得した画像P0の全領域を複数の領域(i,j)に分割する(S5)。そして、代表輝度値特定部22は、画像P0の領域(i,j)毎に、それぞれ代表輝度値を算出し、代表輝度値行列C0(i,j)を特定する(S6)。
ビット値生成部23は、代表輝度値行列C0(i,j)に基づいて、ビット値検出条件(第1条件および第2条件)を満たす領域の値を1とし、それ以外の領域の値を0とし、フレーム0のビット値行列B0(i,j)を生成する(S7)。
ビット列検出部24は、ビット値行列B0の各領域(i,j)に所定の通信ビット列が含まれるかどうかを判定する(S8)。ここでは、ビット値行列B0しかないため、通信ビット列が検出できなかったとする。
ビット列検出部24が所定の通信ビット列が含まれないと判定すると(S8でNO)、光通信制御部27は、光通信によるテレビ2aおよびテレビ2bの位置を特定する処理を終了させるか否かを終了条件を満たすか否かに基づいて判定する(S12)。
ここで、携帯電話機1が情報通信システム3aに含まれるテレビ2全ての位置を特定することを終了条件とする。そのため、終了条件を満たしておらず(S12でNO)、n=n+1として(S13)、S4〜S8の処理を繰り返す。
S4〜S8の処理を繰り返し、S8において、ビット列検出部24がビット値行列B0〜Bnの或る領域(i,j)に所定の通信ビット列が含まれると判定すると(S8でYES)、検出した通信ビット列と、通信ビット列が検出された領域を示す領域情報とを位置特定部25に出力する。ここでは、領域(1,2)に通信ビット列「101101」が検出され、さらに、領域(1,4)に通信ビット列「101110」が検出されたものとする。
位置特定部25は、ビット列検出部24から通信ビット列「101101」および「101110」を取得すると、ビット列変換テーブルを記憶部12から読み出し、読み出したビット列変換テーブルを参照して、通信ビット列「101101」に対応する通信情報として通信情報「A」を特定し、さらに、通信ビット列「101110」に対応する通信情報「B」を特定する(S9)。
そして、位置特定部25は、取得した装置出力情報の中に、通信情報「A」を示す通信内容識別情報を含む装置出力情報DAと通信情報「B」を示す通信内容識別情報を含む装置出力情報DBとがあるため、装置出力情報DAに含まれるテレビ2aを示す装置識別情報と、装置出力情報DBに含まれるテレビ2bを示す装置識別情報とを特定する(S10)。位置特定部10は、特定した装置識別情報と、領域情報とを対応付けて装置位置情報を生成する(S11)。
ここでは、位置特定部25は、テレビ2のIPアドレスを装置識別情報とし、領域(i,j)の画像上の位置を示す座標を領域情報として、装置位置情報を生成するものとする。つまり、位置特定部25は、テレビ2aのIPアドレス「192.168.0.21」を示す装置識別情報と、領域(1,2)の画像上の位置を示す座標「x=20,y=20」を示す領域情報とを対応付けて装置位置情報EAを生成し、さらに、テレビ2bのIPアドレス「192.168.0.22」を示す装置識別情報と、領域(1,4)の画像上の位置を示す座標「x=80,y=20」を示す領域情報とを対応付けて装置位置情報EBを生成する。なお、上記のカメラ13が撮影した画像上の位置を示す座標の座標軸は、画像の左上端を原点とし、水平右方向がx軸、垂直下方向がy軸とする。
位置特定部25が装置位置情報を生成すると、光通信制御部27は、終了条件を満たしているか否か判定する。このとき、位置特定部25が装置位置情報EAおよびEBを生成し、携帯電話機1が情報通信システム3aに含まれるテレビ2全ての位置を特定したため(S12でYES)、光通信制御部27は、光通信によるテレビ2aおよびテレビ2bの位置を特定する処理を終了させる。
なお、S12における終了条件は、上記の条件に限るものではない。例えば、携帯電話機1が情報通信システム3aに含まれる何れかのテレビ2の位置を特定することを終了条件としてもよい。また、携帯電話機1が情報通信システム3aに含まれる所定のテレビ2の位置を特定することを終了条件としてもよい。また、所定時間の経過を終了条件としてもよいし、ユーザからの終了指示を終了条件としてもよい。
また、図13に示すように、テレビ2の光通信処理部42は、まず、携帯電話機1から通信情報出力指示を送信されるのを待つ(S21)。ここで、光通信処理部42が通信情報出力指示を受信しない場合(S21でNO)、引き続き、コンテンツ取得部41が取得した映像信号に基づいて、表示制御部44は、輝度を変化させずに、そのまま映像コンテンツを表示部35に表示する。
一方、光通信処理部42が通信情報出力指示を受信すると(S21でYES)、記憶部32からビット列変換テーブルおよびビット値変換テーブルを読み出し、読み出したビット列変換テーブルおよびビット値変換テーブルを参照して、通信情報出力指示に含まれる所定の通信情報を、輝度変化を示す輝度変化遷移情報に変換する(S22)。そして、光通信処理部42は、変換した輝度変化遷移情報に基づいて画像の輝度値を変化するように表示制御部44に指示する。
輝度制御部46は、光通信処理部42からの指示に基づき、輝度変化遷移情報の示す輝度変化に従って、画像生成部45が生成した画像の輝度値を変化させて表示部35に表示する(S23)。
〔実施例2〕
次に、テレビ2から携帯電話機1へ光通信で通信情報が伝送される際の携帯電話機1およびテレビ2における処理の他の一例(実施例2)について、図14〜図16に基づいて説明する。
図14は、実施例2における情報通信システム3bの概要を示す図である。図14に示すように、情報通信システム3bは、携帯電話機1、テレビ2c、テレビ2dおよびWi−Fiアクセスポイント4を含む。なお、以下では、テレビ2cおよびテレビ2dを総称する場合、テレビ2と称する。
図14に示すように、テレビ2cが建物の1階に設置されており、テレビ2dが建物の2階に配置されているとする。また、携帯電話機1のユーザは建物の1階にいるものとする。
前提として、携帯電話機1およびテレビ2は、互いのIPアドレスは既知であるが、互いにどの位置に存在するかは認識できていないこととする。なお、携帯電話機1のIPアドレスを「192.168.0.10」とし、テレビ2cのIPアドレスを「192.168.0.21」とし、テレビ2dのIPアドレスを「192.168.0.22」とする。
また、テレビ2は、表示部35に映像コンテンツを表示しているものとする。
実施例2では、携帯電話機1が輝度変化による光通信を用いてテレビ2cおよびテレビ2dの位置を特定する例を説明する。本実施例では、携帯電話機1が、テレビ2cおよびテレビ2dに対して、順番に通信情報出力指示を送信する。このとき、携帯電話機1は、テレビ2cおよびテレビ2dに対して、同じ通信情報を出力するように指示する。具体的には、携帯電話機1は、テレビ2cおよびテレビ2dに対して、通信情報「A」を出力するように指示するものとする。
すなわち、実施例2では、各テレビ2に対して順番に指示して、その応答を検出し、或るテレビ2の位置を特定する。実施例2では、実施例1と異なり、複数のテレビ2の位置を同時に特定することはできないが、1つの通信情報をやり取りするため携帯電話機1およびテレビ2の処理負荷を軽減したり、処理を簡略化したりすることができる。携帯電話機1およびテレビ2の処理負荷の軽減等に最適な通信情報や安全または正確に通信するために最適な通信情報がある場合、実施例2の方法を適用することにより、携帯電話機1およびテレビ2の処理負荷を軽減したり、携帯電話機1とテレビ2との間の通信を安全または正確に実行したりすることができる。
なお、図14では、テレビ2cおよびテレビ2dに「A」が表示されているように描かれているが、これは説明の便宜を図るためである。実際には、テレビ2cおよびテレビ2dは、画像として「A」を表示するのではなく、通信情報「A」を示す輝度変化に代えて通信情報を出力する。
以下に、図15および図16に基づいて、携帯電話機1およびテレビ2の具体的な処理例について説明する。図15は、携帯電話機1が輝度変化による光通信を用いてテレビ2cおよびテレビ2dの位置を特定する処理の一例を示す図である。図16は、テレビ2が輝度変化による光通信を用いて通信情報を出力する処理の一例を示す図である。
図15に示すように、携帯電話機1は、カメラ13を起動する(S31)。また、携帯電話機1の光通信制御部27は、通信情報出力指示を送信する指示対象のテレビ2を1つ選択する(S32)。ここでは、光通信制御部27は、テレビ2dを指示対象のテレビとして選択したとする。
光通信制御部27は、テレビ2dを選択すると、選択したテレビ2dに対して、通信情報「A」を出力するように指示する通信情報出力指示を送信する(S33)。また、光通信制御部27は、テレビ2dを示す装置識別情報と、通信情報「A」を示す通信内容識別情報とを対応付けた装置出力情報DDを位置特定部25に出力する。
次に、画像取得部21は、カメラ13が撮像した画像を順次取得する。以下のS35〜S38は、実施例1における図12のS4〜7と同じ処理である。すなわち、画像取得部21が画像Pnを取得し、代表輝度値特定部22が画像Pnを複数の領域に分割して代表輝度値行列Cn(i,j)を特定する。そして、ビット値生成部23が代表輝度値行列Cn(i,j)からビット値行列Bn(i,j)を生成する。
ビット列検出部24は、ビット値行列B0の各領域(i,j)に所定の通信ビット列が含まれるかどうかを判定する(S39)。テレビ2dは建物の2階にあり、テレビ2dを撮像できないため、ビット列検出部24は所定の通信ビット列を検出しない。ビット列検出部24が所定の通信ビット列を検出しなければ(S39でNO)、光通信制御部27は、テレビ2dに通信情報出力指示を送信してから所定期間経過したか否かを判定する(S40)。
ここで、所定期間経過していなければ(S40でNO)、n=n+1とし(S41)、再度S35〜S39の処理を繰り返す。
一方、S39において、ビット列検出部24が所定の通信ビット列を検出せず、所定期間経過した場合(S40でYES)、光通信制御部27は、テレビ2dからテレビ2cに指示対象のテレビを変更する(S42)。光通信制御部27は、変更したテレビ2cに対して、通信情報「A」を出力するように指示する通信情報出力指示を送信する(S33)。また、光通信制御部27は、テレビ2cを示す装置識別情報と、通信情報「A」を示す通信内容識別情報とを対応付けた装置出力情報DCを位置特定部25に出力する。
先程と同様に、S34〜S39の処理を行い、ビット列検出部24が所定の通信ビット列を検出せず(S39でNO)、所定期間経過していなければ(S40でNO)、n=n+1とし(S41)、再度S35〜S39の処理を繰り返す。
ここで、S39において、ビット列検出部24が所定の通信ビット列を検出すると(S39でYES)、検出した通信ビット列と、通信ビット列が検出された領域を示す領域情報とを位置特定部25に出力する。ここでは、領域(1,2)に通信ビット列「101101」が検出されたものとする。
位置特定部25は、ビット列検出部24から通信ビット列「101101」を取得すると、装置出力情報DCに含まれるテレビ2cを示す装置識別情報と、領域情報とを対応付けて装置位置情報を生成する(S43)。
ここでは、位置特定部25は、テレビ2のIPアドレスを装置識別情報とし、領域(i,j)の画像上の位置を示す座標を領域情報として、装置位置情報を生成するものとする。つまり、位置特定部25は、テレビ2cのIPアドレス「192.168.0.21」を示す装置識別情報と、領域(1,2)の画像上の位置を示す座標「x=20,y=20」を示す領域情報とを対応付けて装置位置情報ECを生成する。
なお、S32またはS42において、光通信制御部27は、情報通信システム3bに含まれるテレビ2の中から、予め定められた順番に従ってテレビ2を選択してもよいし、ランダムに順に選択してもよい。また、光通信制御部27は、ユーザの指示に従って、テレビ2を順に選択してもよい。
また、図16に示すように、テレビ2の光通信処理部42は、まず、携帯電話機1から通信情報出力指示を送信されるのを待つ(S51)。ここで、光通信処理部42が通信情報出力指示を受信しない場合(S51でNO)、引き続き、コンテンツ取得部41が取得した映像信号に基づいて、表示制御部44は、輝度を変化させずに、そのまま映像コンテンツを表示部35に表示する。
一方、光通信処理部42が通信情報出力指示を受信すると(S51でYES)、記憶部32からビット列変換テーブルおよびビット値変換テーブルを読み出し、読み出したビット列変換テーブルおよびビット値変換テーブルを参照して、通信情報出力指示に含まれる所定の通信情報を、輝度変化を示す輝度変化遷移情報に変換する(S52)。そして、光通信処理部42は、変換した輝度変化遷移情報に基づいて画像の輝度値を変化するように表示制御部44に指示する。
輝度制御部46は、光通信処理部42からの指示に基づき、輝度変化遷移情報の示す輝度変化に従って、画像生成部45が生成した画像の輝度値を変化させて表示部35に表示する(S53)。
〔実施例3〕
次に、テレビ2から携帯電話機1へ光通信で通信情報が伝送される際の携帯電話機1およびテレビ2における処理の他の一例(実施例3)について、図17〜図19に基づいて説明する。
図17は、実施例3における情報通信システム3cの概要を示す図である。図17に示すように、情報通信システム3cは、携帯電話機1、テレビ2e、テレビ2fおよびWi−Fiアクセスポイント4を含む。なお、以下では、テレビ2eおよびテレビ2fを総称する場合、テレビ2と称する。
前提として、携帯電話機1およびテレビ2は、互いのIPアドレスは既知であるが、互いにどの位置に存在するかは認識できていないこととする。なお、携帯電話機1のIPアドレスを「192.168.0.10」とし、テレビ2eのIPアドレスを「192.168.0.21」とし、テレビ2fのIPアドレスを「192.168.0.22」とする。
実施例3では、テレビ2eおよびテレビ2fが、各テレビ2に固有に定められた通信情報を定期的に光通信で出力しており、携帯電話機1が輝度変化による光通信を用いてテレビ2aおよびテレビ2bの位置を特定する例を説明する。本実施例では、携帯電話機1が、テレビ2eおよびテレビ2fに対して、出力情報送信指示を送信する。
本実施例では、テレビ2eおよびテレビ2fは、表示部35に映像コンテンツを表示しているものとする。また、テレビ2eは、光通信で通信情報「A」を出力するように設定されており、テレビ2fは、光通信で通信情報「B」を出力するように設定されているものとする。
なお、図17では、テレビ2eおよびテレビ2fに「A」、「B」が表示されているように描かれているが、これは説明の便宜を図るためである。実際には、テレビ2eおよびテレビ2fは、画像として「A」、「B」を表示するのではなく、通信情報「A」、通信情報「B」をそれぞれ示す輝度変化に代えて通信情報を出力する。
以下に、図18および図19に基づいて、携帯電話機1およびテレビ2の具体的な処理例について説明する。図18は、携帯電話機1が輝度変化による光通信を用いてテレビ2eおよびテレビ2fの位置を特定する処理の一例を示す図である。図19は、テレビ2が輝度変化による光通信を用いて通信情報を出力する処理の一例を示す図である。
図18に示すように、携帯電話機1は、携帯電話機1の光通信制御部27は、テレビ2eおよびテレビ2fに対して出力情報送信指示を送信する(S61)。そして、光通信制御部27は、出力情報送信指示に対する応答として、テレビ2eおよびテレビ2fから、通信内容識別情報を受信する(S62)。
ここで、光通信制御部27は、テレビ2eを示す装置識別情報と、テレビ2eから受信した通信内容識別情報とを対応付けた装置出力情報DEと、テレビ2fを示す装置識別情報と、テレビ2fから受信した通信内容識別情報とを対応付けた装置出力情報DFとを位置特定部25に出力する。
次に、携帯電話機1は、カメラ13を起動し(S63)、画像取得部21は、カメラ13が撮像した画像を順次取得する。以下のS64〜S74は、実施例1における図12のS3〜13と同じ処理である。
すなわち、画像取得部21が画像Pnを取得し、代表輝度値特定部22が画像Pnを複数の領域に分割して代表輝度値行列Cn(i,j)を特定する。そして、ビット値生成部23が代表輝度値行列Cn(i,j)からビット値行列Bn(i,j)を生成する。
次に、ビット列検出部24がビット値行列B0〜Bnから所定の通信ビット列を検出すると、位置特定部25は、ビット列検出部24が検出した通信ビット列に対応する通信情報を特定する。そして、位置特定部25は、取得した装置出力情報の中に、通信情報を示す通信内容識別情報を含む装置出力情報がある場合、装置出力情報に含まれるテレビ2を示す装置識別情報と、領域情報とを対応付けて装置位置情報を生成する。
ここでは、位置特定部25は、テレビ2のIPアドレスを装置識別情報とし、領域(i,j)の画像上の位置を示す座標を領域情報として、装置位置情報を生成するものとする。また、ビット列検出部24が、領域(1,2)に通信ビット列「101101」を検出し、さらに、領域(1,4)に通信ビット列「101110」を検出したとする。
すなわち、位置特定部25は、テレビ2eのIPアドレス「192.168.0.21」を示す装置識別情報と、領域(1,2)の画像上の位置を示す座標「x=20,y=20」を示す領域情報とを対応付けて装置位置情報EEを生成し、さらに、テレビ2fのIPアドレス「192.168.0.22」を示す装置識別情報と、領域(1,4)の画像上の位置を示す座標「x=80,y=20」を示す領域情報とを対応付けて装置位置情報EFを生成する。
また、図19に示すように、テレビ2の光通信処理部42は、自装置に予め定められた通信情報に対応する輝度変化遷移情報に基づいて、画像の輝度値を変化するように表示制御部44に定期的に指示する。輝度制御部46は、光通信処理部42からの指示に基づき、輝度変化遷移情報の示す輝度変化に従って、画像生成部45が生成した画像の輝度値を変化させて表示部35に表示する(S81)。
この状態において、光通信処理部42は、携帯電話機1から出力情報送信指示が送信されるのを待つ(S82)。携帯電話機1から出力情報送信指示が送信されると(S82でYES)、光通信処理部42は、出力情報送信指示に対する応答として、自装置に予め定められた通信情報の内容を示す通信内容識別情報を携帯電話機1に送信する(S83)。
〔画面表示例1〕
次に、携帯電話機1がカメラ13で撮像した画像上におけるテレビ2の位置を特定した後、表示部15に表示する画面の一例を図20に基づいて説明する。図20は、携帯電話機1の表示部15に表示される画面の一例を示す図である。
図20に示す画面例は、携帯電話機1が、自身が保持するコンテンツを送信する送信先の装置をユーザに選択させるための画面である。より具体的には、図20に示すように、ユーザに2つのテレビのうち、どちらのテレビ2に携帯電話機1が保持するコンテンツを表示させるかを選択させるための画面である。
ここで、コンテンツを表示させるテレビ2として、テレビ2aおよびテレビ2bがあるものとする。また、実施例1で例示したように、携帯電話機1が装置位置情報EAおよび装置位置情報EBを生成したとする。
このとき、携帯電話機1の表示制御部26は、装置位置情報に含まれる領域情報の示す領域に対応する表示部15の画面の表示位置に、当該領域情報に対応する装置情報の示す装置に関する装置関連情報を表示する。具体的には、表示制御部26は、装置位置情報EAに含まれる領域情報の示す領域(1,2)に対応する表示部15の画面の表示位置に、テレビ2aのアイコンを表示する。また、表示制御部26は、装置位置情報EBに含まれる領域情報の示す領域(1,4)に対応する表示部15の画面の表示位置に、テレビ2bのアイコンを表示する。
すなわち、表示制御部26は、左側にテレビ2aのアイコンを配置し、右側にテレビ2bのアイコンを配置して、ユーザにテレビ2を選択させるための画像を表示する。
このように、カメラ13で撮像した画像に写っているテレビ2の位置に対応させて、テレビ2に関する装置関連情報を表示することにより、ユーザが直感的にかつ簡単に操作することができる。
〔画面表示例2〕
次に、携帯電話機1がカメラ13で撮像した画像上におけるテレビ2の位置を特定した後、表示部15に表示する画面の他の一例を図21に基づいて説明する。図21は、携帯電話機1の表示部15に表示される画面の一例を示す図である。
図21に示す画面例は、携帯電話機1が、テレビ2をカメラ13で撮像した画像をリアルタイムで表示し、その撮像した画像に重畳させて、テレビ2に関する装置関連情報を表示している画面である。図21に示す画面例は、いわゆる拡張現実を表示した画面である。
ここで、上記の例と同様に、テレビ2aおよびテレビ2bをカメラ13で撮像しているものとする。また、実施例1で例示したように、携帯電話機1が装置位置情報EAおよび装置位置情報EBを生成したとする。
このとき、携帯電話機1の表示制御部26は、装置位置情報に含まれる領域情報の示す領域に対応する表示部15の画面の表示位置に、画像取得部21がカメラ13から取得した画像に重畳させて、当該領域情報に対応する装置情報の示す装置に関する装置関連情報を表示する。
具体的には、表示制御部26は、装置位置情報EAに含まれる領域情報の示す領域(1,2)に対応する表示部15の画面の表示位置に、画像取得部21がカメラ13から取得した画像に重畳させて、テレビ2aの機能を示すテキスト情報を表示する。また、表示制御部26は、装置位置情報EBに含まれる領域情報の示す領域(1,4)に対応する表示部15の画面の表示位置に、画像取得部21がカメラ13から取得した画像に重畳させて、テレビ2bが保持するコンテンツを示すテキスト情報を表示する。
なお、テレビ2の装置関連情報を装置位置情報に含まれる領域情報の示す領域に対応する画面上の位置に重畳させて表示するのではなく、図21に示すように表示させてもよい。すなわち、装置位置情報に含まれる領域情報の示す領域に対応する画面上の位置、つまり、テレビ2が表示されている位置から引き出し線を描画し、テレビ2が表示されている位置から離れた位置にテレビ2の装置関連情報を表示してもよい。
また、装置関連情報の表示方法はこれに限らず、装置位置情報に含まれる領域情報の示す領域に対応する画面上の位置と、当該領域情報に対応する装置情報の示す装置に関する装置関連情報との対応関係が示されていれば、装置関連情報はどのように表示してもよい。
まとめると、携帯電話機1の表示制御部26は、装置位置情報に含まれる領域情報の示す領域に対応する画像上の位置に重畳させて、または当該位置に対応付けて、当該領域情報に対応する装置情報の示す装置に関する装置関連情報を表示する。
このように、カメラ13がテレビ2を撮像した画像を表示する際に、テレビ2が描画されている位置にテレビ2に関する装置関連情報を表示することができる。すなわち、拡張現実を表示することができる。よって、ユーザが直感的に理解することができる画面を表示することができる。
〔変形例1〕
本実施形態では、位置特定部25が、所定の領域から検出された通信ビット列に対応する通信情報を特定しているが、これに限るものではない。
例えば、画像を64×64の領域に分割し、画像上の所定の範囲内に含まれる複数の領域から同一の通信ビット列を検出した場合に、位置特定部25が、当該通信ビット列に対応する通信情報を特定してもよい。
画像を分割する領域数を多くすると、画像上における通信情報が検出された位置を高精度に特定することができるが、各領域に含まれる画素数が少なくなるためノイズの影響を受けやすくなる。しかしながら、上記のように、複数の領域で実質的に同一の輝度変化を検出した場合にその輝度変化がテレビ2から送信された通信情報に対応する輝度変化であると判断することにより、画像を分割する領域数を多くしたとしても、ノイズの影響を低減することができ、高精度に通信情報を検出することができる。
〔変形例2〕
ここで、事前に想定された分割領域を大きく超えるような動きがあった場合でも通信情報の検出を行えるようにするために、動きベクトルを用いた方法について説明する。動きベクトルは、映像において、基準となるフレームからの物体の移動距離および移動方向を表すものであり、MPEG4などの動画圧縮技術等にも用いられているものである。この動きベクトルを本発明に利用する例を以下に示す。
例えば、フレームn−2、フレームn−1、フレームnにおいて、取得された画像内のテレビ2(被写体)の位置(例えば左上端の位置)の座標値がそれぞれ(300,500)、(250,500)、(280,430)と変わったとき、代表輝度知特定部22の画像処理により推定される、フレームn−2を基準とした、テレビ2の動きベクトルは、フレームn−1で(−50,0)、フレームnで(−20,−70)となる。
ここで、フレームn−2を基準として、フレームn−1のテレビ2については座標値で(50,0)だけ移動する補正が行われ、フレームnについては座標値で(20,70)だけ移動する補正が行われる。そして、この補正後の画像において、各分割領域の代表輝度値が比較される。なお、この比較においては必ずしも領域を分割して比較する必要は無く、上記の動きベクトルにより各フレームで補正されたテレビ2の占める領域について、輝度を比較するようにしても良い。
このように、取得された画像を動きベクトルを用いて補正することにより、撮影範囲や撮影対象が各分割領域の大きさを超えて激しく動いたとしても、通信情報を精度良く検出することができる。また、撮影範囲や撮影対象が動いたことによる画像の輝度変化を補正するため、明信号および暗信号を検出するための条件を厳しくすることができる。すなわち、第1条件および第2条件におけるαおよびβの値を小さくすることができる。これにより、ビット値を誤検出することを低減することができる。
また、本実施形態では、画像を複数の領域に分割し、所定の輝度変化が検出された領域を、通信情報が検出された領域として特定しているが、これに限るものではない。例えば、動きベクトルの情報に含まれる画像上の座標を示す情報に基づいて、通信情報が検出された位置を特定してもよい。
例えば、特開2008-236096号公報によれば、複数の参照画像から動きベクトルを検出する際に、ブロックサイズを変更し、最適なブロックサイズを決定しつつ最終的な動きベクトルを検出することが出来る。この経緯で得られる動きベクトルと最適なブロックサイズは、複数画像間で対応関係にある領域の情報(位置およびサイズ)を特定することになる。ブロックサイズは8x8, 16x16に限定されず、任意のサイズに拡張できることは明らかである。このような特定を、各ベクトル毎に行って保持し、それぞれに対して代表値輝度を算出し、通信情報を検出することで、その通信情報と領域情報とを対応づけてもよい。
〔補足〕
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、携帯電話機1およびテレビ2の各ブロック、特に制御部11および制御部31は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、携帯電話機1およびテレビ2は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである携帯電話機1およびテレビ2の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、携帯電話機1およびテレビ2に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、携帯電話機1およびテレビ2を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。