<<情報伝達システム>>
本発明の実施形態に係る情報伝達システムについて、図面を参照して説明する。図1は、本発明の実施形態に係る情報伝達システムの構成例について示すブロック図である。
図1に示すように、本発明の実施形態に係る情報伝達システム1は、情報提供装置10と、情報取得装置20と、を備える。情報提供装置10は、情報取得装置20に対して伝達すべき情報であるパタンが埋め込まれた表示画像を生成して表示する。また、情報取得装置20は、情報提供装置10が表示する表示画像を撮像することで、当該表示画像中に埋め込まれているパタンを取得する。
情報提供装置10の典型例は、ディスプレイまたはプロジェクタ及びスクリーンなどの中型または大型の表示装置を備える据置型のコンピュータシステムや、デジタルサイネージなどである。また、情報取得装置20の典型例は、動画撮像用カメラを有したスマートフォンやタブレット型端末、ノートパソコンなどの携帯端末、あるいはスマートグラスに代表されるヘッドマウントディスプレイなどのウエアラブル端末である。
<情報提供装置>
情報提供装置10は、パタン埋込部11と、表示部12と、を備える。例えば、パタン埋込部11は、CPU(Central Processing Unit)などの演算装置や、データを一時的に保持するフレームメモリを備える。また例えば、表示部12は、液晶モニタやプロジェクタなどの表示装置を備える。
パタン埋込部11は、原画像を示す原画像データに対して、入力パタンデータが示すパタンの埋込位置における原画素の画素値を変動させることで、表示画像を示す表示画像データを生成する。また、表示部12は、パタン埋込部11が生成する表示画像データが示す表示画像を、順次表示する。なお、以下では、原画像及び原画像データ中の画素を「原画素」と称し、表示画像及び表示画像データ中の画素を「表示画素」と称する。
ここで、情報提供装置10におけるパタン埋込部11及び表示部12の具体的な動作例について、図面を参照して説明する。図2は、情報提供装置におけるパタン埋込部及び表示部の具体的な動作例について示す図である。なお、図2に示す原画像は静止画であり、以下の説明においても原画像は静止画であるものとする。
図2に示す動作例は、パタン埋込部11が、原画像データ中の埋込位置Pにおける原画素の画素値を、異なる2種類の変動方法を適用して交互に変動させることで、表示方法が交互に異なるパタンが埋め込まれた表示画像を示す表示画像データを順次生成するものである。なお、以下では、原画像データに対して一方の画素値の変動方法を適用して生成される表示画像データと当該表示画像データが示す表示画像とを共に「A」と称し、原画像データに対して他方の画素値の変動方法を適用して生成される表示画像データと当該表示画像データが示す表示画像とを共に「B」と称する。
また、図2に示す動作例は、表示部12が、パタン埋込部11が順次生成する表示画像データが示す表示画像「A」及び「B」を、所定の表示フレームレートで交互に切り替えて表示するものである。なお、表示フレームレートとは、表示部12が表示画像を描画するフレームレート(例えば、60fps)である。
図2に示すように、表示フレームレートと表示画像「A」及び「B」の表示が切り替えられるレート(以下、「パタン表示切替レート」という)とは原則として一致するが、一致しない場合もあり得る。例えば、表示部12が、60fpsの表示フレームレートで、表示画像「A」、表示画像「A」、表示画像「B」、表示画像「B」と描画する場合、パタン表示切替レートは30fpsとなり、表示フレームレート(60fps)とは一致しない。また例えば、表示部12が、120fpsの表示フレームレートで、表示画像「A」、暗転画像(液晶モニタ等で残像を抑制するために挿入される黒画像)、表示画像「B」、暗転画像と描画する場合、表示画像「A」及び「B」のそれぞれが表示される時間は1/120秒であるが、パタン表示切替レートは60fpsとなり、表示フレームレート(120fps)とは一致しない。ただし、以下では説明の簡略化のため、図2に例示するように、表示フレームレートとパタン表示切替レートとが等しい場合について説明する。
図2に示す動作例では、表示部12が、表示画像「A」及び「B」を交互に表示することになるが、上述のように、表示画像「A」及び「B」に埋め込まれているそれぞれのパタンは、人間の視覚では認識不可能(または、認識が著しく困難)であることが要請される。そこで、パタン埋込部11は、パタン表示切り替えレートで表示画像「A」及び「B」を交互に切り替えた場合に、残像効果によって、人間の視覚ではパタンと原画像中の埋込位置Pにおける原画素とが区別できないような、原画像データの原画素の画素値の変動方法(即ち、パタンの表示方法)を選択することとする。
具体的に、パタン埋込部11は、表示画像「A」及び「B」中の埋込位置Pにおける表示画素(即ち、パタンの画素)を、人間の視覚上で平均化すると、原画像中の埋込位置Pにおける原画素と同様になるような変動方法を選択する。例えば、パタン埋込部11は、原画像データ中の埋込位置Pにおける原画素の画素値がCOの場合、表示画像データ「A」の埋込位置Pにおける表示画素の画素値CAと表示画像データ「B」の埋込位置Pにおける表示画素の画素値CBとが(CA+CB)/2=COとなるような変動方法を選択する。なお、この場合における画素値の変動方法とは、1つは画素値COを画素値CAに変動させるための演算式であり、もう1つは画素値COを画素値CBに変動させるための演算式である。
このような画素値の変動方法は無数に存在するが、人間の視覚ではパタンを認識し難くなるような変動方法を選択すると、好ましい。特に、人間は輝度の変化には敏感であるが色度の変化には鈍感であるという性質を利用して、パタン埋込部11が、原画像データの埋込位置Pにおける原画素の輝度値を変動させず色度値のみを変動させる変動方法を選択するようにすると、人間の視覚では特に認識し難いパタンを表示画像「A」及び「B」に埋め込むことができるため、好ましい。
このような、原画像データの埋込位置Pにおける原画素の輝度値を変動させずに色度値のみを変動させる変動方法を選択する場合において、必要があれば、原画像データの原画素の画素値をL*a*b*色空間の画素値に変換する。なお、L*a*b*色空間の画素値とは、画素値を、輝度を表すL*の値(0以上を取り得る値であり、大きくなるほど画素が明るくなる)と、赤緑方向の色度を表すa*の値(正負を取り得る値であり、正に大きくなるほど画素の赤みが増し、負に大きくなるほど画素の緑みが増す)と、黄青方向の色度を表すb*の値(正負を取り得る値であり、正に大きくなるほど画素の黄みが増し、負に大きくなるほど画素の青みが増す)と、で表現した画素値である。
例えば、RGB色空間の画素値をL*a*b*色空間の画素値に変換する場合、まず、下記式(1)に示すように、RGB色空間の画素値をXYZ色空間の画素値に変換する。なお、下記式(1)中の行列Mの各値は、白色基準光の選択に応じて決まるものであり、下記式(1)に例示する行列Mの各値は、白色基準光としてD65を選択した場合のものである。
そして、上記式(1)によって得られたXYZ色空間の画素値を、下記式(2)によってL*a*b*色空間の画素値に変換する。なお、下記式(2)における関数f(t)、定数Xn,Yn及びZnは、下記式(3)に示す通りである。また、下記式(3)の定数Xn,Yn及びZnの各値は、白色基準光としてD65を選択した場合のものである。
この場合、パタン埋込部11は、少なくとも原画像データ中の埋込位置Pにおける原画素の画素値について、上記式(1)〜(3)の演算によってL*a*b*色空間の画素値に変換し、a*b*平面内で画素値を変動させることによって、表示画像データ「A」及び「B」を生成する。そして、パタン埋込部11は、上記式(1)〜(3)とは逆の演算を行うことで、L*a*b*色空間の画素値をRGB色空間の画素値へと逆変換して、RGB色空間の画素値から成る表示画像データ「A」及び「B」を生成する。
なお、パタン表示切替レートが小さくなるほど、残像効果が弱くなって人間の視覚でもパタンが認識され易くなる。そのため、パタン埋込部11が、パタン表示切替レートが小さいほど画素値の変動量が小さい変動方法を選択するように構成すると、好ましい。また、実験等によって人間の視覚では認識し難い画素値の変動方法を予め調べておき、パタン埋込部11が当該変動方法を選択するように構成すると、好ましい。
また、パタン埋込部11が、原画像データ中の埋込位置Pにおける原画素の画素値に応じた変動方法を選択するようにしてもよい。例えば、パタン埋込部11が、表示画像データ中の埋込位置Pにおける表示画素の画素値(即ち、変動後の画素値)が上限値または下限値を超えないように、原画像データ中の埋込位置Pにおける原画素の画素値(即ち、変動前の画素値)に応じて、変動量や変動方向を決定してもよい。
<情報取得装置>
情報取得装置20は、撮像部21と、画像処理部22と、を備える。例えば、撮像部21は、CCD(Charge Coupled Device)イメージセンサやCMOSイメージセンサなどのイメージセンサを備える。また例えば、画像処理部22は、CPUなどの演算装置や、データを一時的に保持するフレームメモリを備える。なお、撮像部21が備えるイメージセンサは、ローリングシャッタ方式であってもよいし、グローバルシャッタ方式(イメージセンサを構成する全ての撮像画素回路の露光タイミングが同じとなる方式)であってもよい。
撮像部21は、表示画像を表示する表示部12を、所定の撮像フレームレートで順次撮像することで、表示画像を示すデータが含まれる撮像画像データを順次生成する。また、画像処理部22は、撮像部21が順次生成する撮像画像データの異なるフレーム間の差分に基づいて、表示画像中に埋め込まれたパタンを示す出力パタンデータを生成する。
ここで、画像処理部22による、撮像画像データのフレーム間の差分に基づいた出力パタンデータの生成方法の概略と当該生成方法における問題とについて、図面を参照してそれぞれ説明する。図3及び図4は、撮像画像データのフレーム間の差分に基づいた出力パタンデータの生成方法の概略である。なお、図3及び図4は、パタン表示切替レートと撮像フレームレートとが一致する場合について示したものである。ただし、図3及び図4では、表示部12による表示画像「A」及び「B」の表示タイミングと、撮像部21の撮像タイミングと、のズレの状態が異なっている。
ところで、実際の撮像画像データには、表示画像以外の被写体が含まれ得る。しかし、以下では説明の簡略化のため、図3及び図4に示す撮像画像データのように、撮像画像データには表示画像以外の被写体が含まれないものとする。また、実際の撮像画像データは、携帯端末等から成る情報取得装置20を把持するユーザの手ぶれやユーザの移動などによって、撮像領域が異なり得る。しかし、撮像タイミングが時間的に近い撮像画像データの間では、この撮像領域の差異が極めて小さく無視することができる。そこで、以下説明する撮像画像データは、図3及び図4に示す撮像画像データと同様に、撮像領域の差異がないものとする。
図3では、表示部12による表示画像「A」及び「B」の表示タイミングと、撮像部21の撮像タイミングと、が一致している。この場合、撮像部21は、表示部12が表示画像「A」を表示している期間(表示タイミングが「A」の期間)と一致する露光期間(撮像タイミングが「A」の期間)の撮像によって、表示画像「A」を示す撮像画像データ(以下、撮像画像データ「A」という)を生成する。同様に、撮像部21は、表示部12が表示画像「B」を表示している期間(表示タイミングが「B」の期間)と一致する露光期間(撮像タイミングが「B」の期間)の撮像によって、表示画像「B」を示す撮像画像データ(以下、撮像画像データ「B」という)を生成する。
そして、図3では、撮像画像データ「A」及び撮像画像データ「B」のそれぞれに、異なる表示方法で表示されたパタンが含まれる。即ち、撮像画像データ「A」及び撮像画像データ「B」は、パタンの画素値のみが異なるデータとなる。そのため、これらの撮像画像データ「A」及び「B」について、対応する位置毎に画素値の差分を算出すると、パタンが埋め込まれた位置では画素値が異なるために差分の絶対値が0よりも大きくなり、他の位置では差分がおよそ0になる。したがって、表示タイミング及び撮像タイミングのズレの状態が、図3に示す状態になる場合は、パタンが識別可能である二次元の出力パタンデータが生成される。
これに対して、図4では、表示部12による表示画像「A」及び「B」の表示タイミングと、撮像部21の撮像タイミングと、が半周期ずれている。この場合、撮像部21は、前半に表示部12が表示画像「A」を表示する期間があり後半に表示部12が表示画像「B」を表示する期間がある露光期間(撮像タイミングが「A_B」の期間)の撮像によって、表示画像「A」及び「B」を半分ずつ混合(即ち、平均化)した表示画像を示す撮像画像データ(以下、撮像画像データ「A_B」という)を生成する。同様に、撮像部21は、前半に表示部12が表示画像「B」を表示する期間があり後半に表示部12が表示画像「A」を表示する期間がある露光期間(撮像タイミングが「B_A」の期間)の撮像によって、表示画像「B」及び「A」を半分ずつ混合(即ち、平均化)した表示画像を示す撮像画像データ(以下、撮像画像データ「B_A」という)を生成する。
上述のように、表示画像「A」及び「B」に含まれるそれぞれのパタンは、人間の視覚上で平均化すると、原画像の埋込位置Pにおける原画素と同様になるように設定されている。そのため、図4における撮像画像データ「A_B」及び「B_A」は、いずれも原画像と同様の画像を示すものとなり、パタンが完全にキャンセルされた撮像画像データとなる。そのため、この撮像画像データ「A_B」及び「B_A」について、対応する位置毎に画素値の差分を算出すると、パタンが埋め込まれた位置であるか否かにかかわらず、全ての位置の差分がおよそ0になる。したがって、表示タイミング及び撮像タイミングのズレの状態が、図4に示す状態になる場合は、パタンを識別し得ない出力パタンデータが生成されてしまう。
そして、図3及び図4では、パタン表示切替レート及び撮像フレームレートが一致しているため、表示タイミング及び撮像タイミングのズレは一様になり、どれだけ時間が経過してもこのズレは維持される。したがって、図3の場合は、パタンが識別可能である出力パタンデータが継続的に生成されるが、図4の場合は、パタンを識別し得ない出力パタンデータが継続的に生成されてしまう。
図4に示したような事態が生じることを避ける1つの方法として、表示タイミング及び撮像タイミングのズレの状態が、必ず図3に示した状態となるように、表示部12及び撮像部21の動作を同期させることが考えられる。しかし、上述のように、表示部12と撮像部21の動作を同期させる構成を採用すると、情報伝達システム1の構成の大規模化や、複数の情報提供装置10に埋め込まれたパタンを1つの情報取得装置20で識別することができないなどの別の問題が生じるため、表示部12及び撮像部21の動作は非同期である方が好ましい。
そこで、本発明の実施形態に係る情報伝達システム1では、パタン表示切替レート及び撮像フレームレートの間に、敢えて所定の差を設けることで、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させている(詳細は後述)。
これにより、図4に示したようなパタンを識別し得ない出力パタンデータが継続的に生成される事態を避けて、少なくともパタンを識別し得る出力パタンデータを生成することが可能になる。したがって、表示部12及び撮像部21の動作が非同期であっても、パタンを識別し得る出力パタンデータを生成することが可能になる。
なお、パタン表示切替レート及び撮像フレームレートの間に差を設けて、表示タイミング及び撮像タイミングのズレが時間方向に対して変動するように構成すると、表示タイミング及び撮像タイミングのズレが、周期的に変動する。この周期的な変動が『うなり』であり、詳細については後述するが、本発明の実施形態に係る情報伝達システム1では、この『うなり』が生じるようなパタン表示切替レート及び撮像フレームレートを選択する。
[パタン表示切替レート及び撮像フレームレートの具体例]
パタンを識別し得る出力パタンデータを得るための、パタン表示切替レート及び撮像フレームレートの具体例について、図面を参照して説明する。図5は、撮像フレームレートとうなりの周波数との関係を示すグラフである。なお、図5は、パタン表示切替レートが60fpsであり、表示部12が表示画像「A」及び「B」の2種類を交互に切り替える場合のグラフである。また、以下では、撮像部21の露光期間が、パタン表示切替レートの逆数であるパタンの切替周期と等しい大きさであるものとする。
図5に示すように、表示部12が表示画像「A」及び「B」の2種類を交互に切り替える場合、撮像フレームレートSRが60/2nであるときに(nは0以上の整数、以下同じ)、うなりの周波数Qが0回/sになる。なお、この関係を、パタン表示切替レートをDR、パタンの表示方法の種類をk種類(kは2以上の整数、以下同じ)として一般化すると、『撮像フレームレートSRがDR/knであるときに、うなりの周波数Qが0回/sになる』と表現され得る。
また、図5に示すように、うなりの周波数Qは、撮像フレームレートをSRとすると、SR−60/2n+1及び60/2n−SRの小さい方の値(ただし、60/2n+1≦SR≦60/2n)になる。なお、この関係を、パタン表示切替レートをDR、パタンの表示方法の種類をk種類として一般化すると、『うなりの周波数Qは、SR−DR/kn+1及びDR/kn−SRの小さい方の値(ただし、DR/kn+1≦SR≦DR/kn)になる』と表現され得る。
ここで、パタン表示切替レート及び撮像フレームレートをうなりが生じない大きさにした場合について、図面を参照して説明する。図6及び図7は、撮像フレームレートがパタン表示切替レートの1/2n倍である場合のタイミング図である。なお、図6及び図7は、パタン表示切替レートが60fpsであり、撮像フレームレートが60fps、30fps、15fps、7.5fpsのそれぞれである場合について例示した図である。また、図6及び図7に示す撮像フレームレートが60fpsの場合とは、図3及び図4に示したようにパタン表示切替レート及び撮像フレームレートが一致する場合である。
図6及び図7に示すように、うなりの周波数が0回/sである場合、表示タイミング及び撮像タイミングのズレは、図3及び図4と同様に一様である。具体的に、図6では、図3と同様に、表示タイミングと撮像タイミングとが常に一致する。一方、図7では、図4と同様に、表示タイミングと撮像タイミングとが常に半周期ずれる。
このように、うなりの周波数が0回/sである場合は、図4及び図7に示したように、パタンを識別し得ない出力パタンデータが継続的に生成される事態が生じ得る。
ところで、図6及び図7に示すように、パタン表示切替レート及び撮像フレームレートが、うなりが生じない大きさである場合、撮像部21の露光期間を長くしたり短くしたりしても、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させることはできない。したがって、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させるためには、パタン表示切替レート及び撮像フレームレートの選択方法が重要となる。
次に、パタン表示切替レート及び撮像フレームレートをうなりが生じる大きさにした場合について、図面を参照して説明する。図8は、撮像フレームレートがパタン表示切替レートの3/4倍である場合に得られる撮像画像データについて示す図である。なお、図8は、パタン表示切替レートが60fps、撮像フレームレートが45fpsであり、うなりの周波数が15回/sである場合について例示した図である。また、図8では、表示タイミング及び撮像タイミングのズレの状態が異なる3つの例を、並べて示している。
図8に示すように、パタン表示切替レート及び撮像フレームレートをうなりが生じる大きさにすると、表示タイミング及び撮像タイミングのズレが時間方向に対して変動するため、一様ではなくなる。具体的には、図8に示すように、うなりの周波数が15回/sの場合、その逆数である1/15秒の周期内において、表示タイミング及び撮像タイミングのズレが変動する。
例えば、図8の例1に示すように、撮像タイミング「F11」では、露光期間の全体において表示画像「A」が表示される。また、撮像タイミング「F11」の次の撮像タイミング「F12」では、露光期間の前7割程度に表示画像「B」が表示され、後3割程度に表示画像「A」が表示される。また、撮像タイミング「F12」の次の撮像タイミング「F13」では、露光期間の前3割程度に表示画像「A」が表示され、後7割程度に表示画像「B」が表示される。なお、図8の例2及び例3も、例1と同様に、1/15秒の周期内において、表示タイミング及び撮像タイミングのズレが変動する(ただし、ズレの状態は例1と異なる)。また、以下では、撮像タイミング「F11」〜「F13」,「F21」〜「F23」,「F31」〜「F33」の撮像によって得られたそれぞれの撮像画像データについても、「F11」〜「F13」,「F21」〜「F23」,「F31」〜「F33」と称する。
図8の例1に示すように、撮像タイミング「F13」の次の撮像タイミングでは、露光期間の全体において表示画像「A」が表示されるものとなっており、撮像タイミング「F11」に戻っている。即ち、図8の例1では、3フレーム分の撮像タイミング「F11」〜「F13」が、うなりの周波数である15回/sで繰り返されることになる。なお、図8の例2及び例3も、例1と同様に、3フレーム分の撮像タイミング「F21」〜「F23」,「F31」〜「F33」が、うなりの周波数である15回/sで繰り返されることになる。また、この関係を、撮像フレームレートをSR、うなりの周波数をQとして一般化すると、『SR/Qフレーム分の撮像タイミングが、うなりの周波数Qで繰り返される』と表現され得る。
このように、パタン表示切替レート及び撮像フレームレートをうなりが生じる大きさにすると、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させることが可能となる。そのため、図4及び図7に示した撮像画像データ「A_B」及び「B_A」のような、パタンが完全にキャンセルされた撮像画像データのみが継続的に生成されることが避けられる。したがって、画像処理部22は、パタンが完全にはキャンセルされない撮像画像データのフレーム間の差分に基づいて、パタンを識別し得る出力パタンデータを生成することが可能になる。
なお、図8では、表示タイミング及び撮像タイミングのズレについて、例1における撮像タイミング「F11」〜「F13」、例2における撮像タイミング「F21」〜「F23」、例3における撮像タイミング「F31」〜「F33」のそれぞれが繰り返し単位となるかのように図示しているが、これは、表示タイミング及び撮像タイミングのズレの周期性について説明する便宜のために過ぎない。当然であるが、図8に示す例において、連続する3フレーム分の撮像タイミングであれば、どのように選択してもズレの繰り返し単位となる。具体的に例えば、図8の例1における撮像タイミング「F12」、「F13」、「F11」もズレの繰り返し単位となるし、撮像タイミング「F13」、「F11」、「F12」もズレの繰り返し単位となる。
[出力パタンデータの生成方法の具体例]
次に、図8に例示した場合(パタン表示切替レート:60fps、撮像フレームレート:45fps)に得られる撮像画像データを用いた、画像処理部22による出力パタンデータの生成方法の具体例について、図面を参照して説明する。図9及び図10は、画像処理部による出力パタンデータの生成方法の具体例について示す図である。なお、図9及び図10に例示する出力パタンデータの生成方法は、原画像中の埋込位置における原画素の色度を変動させてパタンとした表示画像の撮像によって得られる撮像画像データを用いて、出力パタンデータを生成するものである。
図9及び図10に示す出力パタンデータの生成方法では、表示タイミング及び撮像タイミングのズレの繰り返し単位となるフレーム数(SR/Q:以下、繰り返し単位フレーム数という)が3であるため、連続する3フレーム分の撮像画像データF1〜F3を用いる。具体的に例えば、図8の例1の場合、撮像画像データF1〜F3として、撮像画像データ「F11」、「F12」、「F13」を用いてもよいし、撮像画像データ「F12」、「F13」、「F11」を用いてもよいし、撮像画像データ「F13」、「F11」、「F12」を用いてもよい。
本例の出力パタンデータの生成方法では、画像処理部22が、撮像画像データF1〜F3について、L*a*b*色空間の画素値の中で色度を表すa*及びb*の値を対象とした演算を行う。これは、パタンが原画像中の色度を変動させたものである場合、色度を表すa*及びb*の値を対象とした演算を行うことで、パタンを精度良く抽出することができるからである。
最初に、画像処理部22は、必要に応じて上記式(1)〜(3)の演算を行うことで、撮像画像データF1〜F3の位置毎におけるa*の値であるF1(a*)〜F3(a*)と、撮像画像データF1〜F3の位置毎におけるb*の値であるF1(b*)〜F3(b*)と、をそれぞれ算出する。
次に、画像処理部22は、撮像画像データF1〜F3について、異なるフレーム間の位置毎の差分を算出する。具体的に、画像処理部22は、a*及びb*のそれぞれについて、3つの撮像画像データF1〜F3の全ての組み合わせ(F1とF2、F2とF3、F3とF1の3通り)についてフレーム間の位置毎の差分を算出する。これにより、画像処理部22は、a*の差分として、撮像画像データF1及びF2の位置毎の差分|F1(a*)−F2(a*)|と、撮像画像データF2及びF3の位置毎の差分|F2(a*)−F3(a*)|と、撮像画像データF3及びF1の位置毎の差分|F3(a*)−F1(a*)|と、をそれぞれ算出する。また同様に、画像処理部22は、b*の差分として、撮像画像データF1及びF2の位置毎の差分|F1(b*)−F2(b*)|と、撮像画像データF2及びF3の位置毎の差分|F2(b*)−F3(b*)|と、撮像画像データF3及びF1の位置毎の差分|F3(b*)−F1(b*)|と、をそれぞれ算出する。
図3及び図4を参照して説明したように、パタンが埋め込まれていない位置の差分はおよそ0になるが、パタンが埋め込まれた位置の差分は、表示タイミング及び撮像タイミングのズレの状態に応じて様々な値を取り得る。ただし、撮像画像データF1〜F3は、表示タイミング及び撮像タイミングのズレが時間方向に対して変動するため、図4に示したようなパタンが完全にキャンセルされた撮像画像データのみで構成されることはない(図8参照)。そのため、本例の出力パタンデータの生成方法では、3種類の差分の算出結果のうち少なくとも1つにおいて、パタンが埋め込まれた位置の差分の絶対値を0よりも大きくすることが可能になる。
このように、本例の出力パタンデータの生成方法では、表示タイミング及び撮像タイミングのズレの繰り返し単位フレーム数(SR/Q、本例では3)以上の撮像画像データを用いて、フレーム間の差分が算出される。即ち、表示タイミング及び撮像タイミングのズレが異なる全種類の撮像画像データを用いて、フレーム間の差分が算出される。さらに、本例の出力パタンデータの生成方法では、撮像画像データF1〜F3の全ての組み合わせについて、フレーム間の差分が算出される。したがって、算出される撮像画像データF1〜F3のフレーム間の差分の中に、パタンが埋め込まれた位置の差分の絶対値が0よりも十分に大きくなるものが含まれる可能性を、高くすることが可能になる。
次に、画像処理部22は、色度値a*及びb*毎に、算出した差分の位置毎における合計値を算出する。これにより、画像処理部22は、色度値a*について、差分の位置毎における合計値SUM(a*)=|F1(a*)−F2(a*)|+|F2(a*)−F3(a*)|+|F3(a*)−F1(a*)|を算出する。同様に、画像処理部22は、色度値b*について、差分の位置毎における合計値SUM(b*)=|F1(b*)−F2(b*)|+|F2(b*)−F3(b*)|+|F3(b*)−F1(b*)|を算出する。
このように、撮像画像データF1〜F3のフレーム間の差分の算出結果を合計すると、仮に、パタンが埋め込まれた位置の差分の絶対値が3種類の差分において全体的に小さかったとしても、パタンが識別可能となる程度まで、パタンが埋め込まれていない位置における差分とパタンが埋め込まれている位置における差分との差を拡大することが可能になる。
次に、画像処理部22は、差分の位置毎における合計値SUM(a*)及びSUM(b*)を成分とする位置毎のベクトルについて、当該ベクトルの大きさに対応した評価値POWを算出する。例えば、画像処理部22は、位置毎の合計値SUM(a*)及びSUM(b*)の2乗和を、位置毎の評価値POWとして算出する。
そして、画像処理部22は、例えば、位置毎の評価値POWについて、所定の閾値以上であれば1,当該閾値未満であれば0とする二値化を行うことで、出力パタンデータを生成する。なお、このようにして生成される出力パタンデータは、パタンを1で表し、パタン以外を0で表したデータとなる。
以上のように、本発明の実施形態に係る情報取得システム1は、撮像画像データの異なるフレーム間の差分に基づいて出力パタンデータを生成するため、表示部12及び撮像部21の動作の同期を不要とした簡易な構成であっても、表示画像の内容や表示画像中の情報を埋め込む位置を制限することなく、当該表示画像中に埋め込まれた情報を取得することが可能になる。
さらに、本発明の実施形態に係る情報取得システム1は、パタン表示切替レート及び撮像フレームレートをうなりが生じる大きさにすることで、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させるため、パタンが完全にキャンセルされた撮像画像データのみが生成されることが避けられ、パタンが識別可能である出力パタンデータを生成することが可能になる。
なお、画像処理部22に対して撮像画像データが順次入力され、画像処理部22が出力パタンデータを順次生成する場合、画像処理部22が、直近に入力された3フレーム分の撮像画像データを用いて、出力パタンデータを生成してもよい。
例えば、図8の例1に示す撮像タイミングで撮像された撮像画像データが画像処理部22に対して順次入力される場合、画像処理部22が、撮像画像データ「F11」、「F12」、「F13」を用いて出力パタンデータを生成し、その次に、前回の演算で使用した撮像画像データ「F12」及び「F13」と新たに入力された撮像画像データ「F11」とを用いて出力パタンデータを生成し、さらにその次に、前回の演算で使用した撮像画像データ「F13」及び「F11」と新たに入力された撮像画像データ「F12」とを用いて出力パタンデータを生成してもよい。
このように出力パタンデータを生成すると、新たな撮像画像データが入力される都度、新たな出力パタンデータを生成することが可能になるため、出力パタンデータの生成密度を高めるとともに、出力パタンデータの生成のリアルタイム性を向上することが可能になる。
また、上記のように、画像処理部22に対して撮像画像データが順次入力され、画像処理部22が出力パタンデータを順次生成する場合、画像処理部22が、撮像画像データの連続するフレーム間の差分のみを算出してもよい。
例えば、図8の例1に示す撮像タイミングで撮像された撮像画像データが画像処理部22に対して順次入力される場合であって、第1「F11」、第1「F12」、第1「F13」、第2「F11」、第2「F12」、第2「F13」の順番で撮像画像データが順次入力される場合について想定する。このとき、画像処理部22が、第1「F11」及び第1「F12」、第1「F12」及び第1「F13」、第1「F13」及び第2「F11」のそれぞれの差分を用いて出力パタンデータを生成し、その次に、第1「F12」及び第1「F13」、第1「F13」及び第2「F11」、第2「F11」及び第2「F12」のそれぞれの差分を用いて出力パタンデータを生成し、さらにその次に、第1「F13」及び第2「F11」、第2「F11」及び第2「F12」、第2「F12」及び第2「F13」のそれぞれの差分を用いて出力パタンデータを生成してもよい。
この場合、直前の演算で用いた2つの差分を、次の演算に流用することができる。そのため、画像処理部22が備えるフレームメモリの簡素化を図るとともに、画像処理部22の演算量を低減することが可能になる。
ただし、この場合、連続する4フレーム分の撮像画像データを用いて差分を算出することになる。そのため、撮像画像データの変動(例えば、情報取得装置20を把持するユーザの手ぶれやユーザの移動などによる撮像領域の変動)の影響が大きくなり易い。したがって、連続する4フレーム分の撮像画像データを用いて差分を算出する場合は、上述したような連続する3フレーム分の撮像画像データを用いて差分を算出する場合と比較して、出力パタンデータの信頼性が低下し得る。
<<変形等>>
[1] 図8〜図10では、パタン表示切替レートが60fpsであるときに、うなりの周波数が最大となる撮像フレームレート(45fps)を選択した場合における出力パタンデータの生成方法について説明したが、パタン表示切替レート及び撮像フレームレートは、必ずしもうなりの周波数を最大とするものでなくてもよい。
ここで、パタン表示切替レート及び撮像フレームレートの組み合わせを、図8〜図10に示した場合とは異なるものとした場合における表示タイミング及び撮像タイミングについて、図面を参照して説明する。図11は、撮像フレームレートがパタン表示切替レートの2/3倍である場合のタイミング図である。なお、図11は、パタン表示切替レートが60fps、撮像フレームレートが40fpsであり、うなりの周波数が10回/sである場合について例示した図である。また、図11では、表示タイミング及び撮像タイミングのズレの状態が異なる2つの例を、並べて示している。
図11に示すように、うなりの周波数が10回/sとなるようにすると、その逆数である1/10秒の周期内において、表示タイミング及び撮像タイミングのズレが異なる。この場合、表示タイミング及び撮像タイミングのズレの繰り返し単位フレーム数(SR/Q)は4となるが、表示タイミング及び撮像タイミングのズレが異なることについては、図8に示した例と変わらない。
したがって、図8〜図10の場合と同様に、図11に示す場合についても、出力パタンデータを生成することが可能である。なお、この場合、図9及び図10に示したように連続する3フレーム分の撮像画像データを用いて出力パタンデータを生成してもよいし、連続する4フレーム分の撮像画像データを用いて出力パタンデータを生成してもよい。
なお、図11に示すように、表示タイミング及び撮像タイミングのズレの繰り返し単位フレーム数を偶数(本例では4)にすると、ズレの対称性が高くなる。そのため、図11の例2に示すように、露光期間中に表示画像「A」及び「B」のそれぞれが表示されて生成される撮像画像データにおける表示画像「A」及び「B」の混合比が、順次生成される撮像画像データの全体にわたって一様になり、パタンが埋め込まれた位置の差分の絶対値が全体的に小さくなることが生じ得る。このことを避ける観点から、図8〜図10に示したように、表示タイミング及び撮像タイミングのズレの繰り返し単位フレーム数が奇数(図8の例では3)になるようにすると、好ましい。
また、表示タイミング及び撮像タイミングのズレの繰り返し単位フレーム数(SR/Q)以上の撮像画像データを用いてフレーム間の差分を算出する場合、うなりの周波数Qを大きくするほど、差分を算出するために用いる撮像画像データを少なくすることが可能になる。特に、うなりの周波数Qを最大にすることで、差分を算出するために用いる撮像画像データの数を最小にすることが可能になる。そして、差分を算出するために用いる撮像画像データを少なくすることで、撮像画像データの変動(例えば、情報取得装置20を把持するユーザの手ぶれやユーザの移動などによる撮像領域の変動)の影響を小さくすることができるため、出力パタンデータの信頼性を向上することが可能となる。
[2] 上述の実施形態では、主としてパタンの表示方法(原画像データ中の原画素の画素値の変動方法)が2種類である場合について例示しているが、3種類以上であってもよい。ここで、パタンの表示方法が3種類である場合について、図面を参照して説明する。図12は、パタンの表示方法が3種類である場合のタイミング図である。なお、図12は、パタン表示切替レートが60fps、撮像フレームレートが40fpsであり、うなりの周波数が20回/sである場合について例示した図である。また、図12では、表示タイミング及び撮像タイミングのズレの状態が異なる2つの例を、並べて示している。
図12に示すように、パタンの表示方法が3種類(さらには、それ以上)であっても、パタンの表示方法が2種類である場合と同様に、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させることが可能である。
[3] 上述の実施形態では、主として原画像が静止画である場合について例示しているが、原画像は動画であってもよい。原画像が動画であっても、時間的に近い数フレームではそれほど差異がないため、上述したような撮像画像データのフレーム間の差分に基づいた出力パタンデータの生成が可能である。
ただし、原画像が動画である場合、パタンを埋め込んでいない位置の差分が大きくなり易い。そのため、出力パタンデータにおいてパタンが識別し難くなる。そこで、出力パタンデータにおいてパタンを識別し易くするために、出力パタンデータを生成する際に用いる撮像画像データの数やフレーム間の差分を算出するための撮像画像データの組み合わせの数を増やしてもよいし、順次生成される出力パタンデータを蓄積して合成する(例えば、論理積を求める)などしてもよい。
[4] 表示部12が備える表示装置や撮像部21が備えるイメージセンサの仕様(例えば、表示画素回路や撮像画素回路の数や配置、駆動方法)などの影響により、パタン表示切替レート及び撮像フレームレートの少なくとも一方が、目標とする大きさとは僅かに異なることがある。しかし、上述のように、表示タイミング及び撮像タイミングのズレを時間方向対して変動させることさえできれば、パタンを識別可能な出力パタンデータを生成することができる。そのため、パタン表示切替レート及び撮像フレームレートは、目標とする大きさに対して、必ずしも厳密に一致させなくてもよい。
[5] 上述の実施形態では、主として撮像フレームレートをパタン表示切替フレームレートよりも小さくしてうなりを生じさせる場合について例示しているが、撮像フレームレートをパタン表示切替フレームレートよりも大きくしてうなりを生じさせてもよい。
ただし、この場合、撮像部21の露光期間が、表示部12が1つの表示画像を表示する期間よりも短くなる。そのため、表示部12が三板式のプロジェクタ(1つの表示画像を投影する際に、赤、緑、青の各画像を順に投影するプロジェクタ)を備える場合や、撮像部21がローリングシャッタ方式のイメージセンサを備える場合は、完全な表示画像を撮像した撮像画像データが得られず、信頼性の高い出力パタンデータが得られない可能性がある。したがって、少なくともこれらの構成を採用する場合は、撮像フレームレートをパタン表示切替フレームレートよりも小さくすると、好ましい。
[6] 上述の実施形態と同様に、撮像フレームレートをパタン表示切替フレームレートよりも小さくしてうなりを生じさせる場合、撮像部21の露光期間を、撮像タイミングが重複しない限度まで長くすることが可能である。
ただし、撮像部21の露光期間を、パタン表示切替レートの逆数であるパタンの切替周期よりも長くすると、露光期間に複数の表示画像が表示される。そのため、表示画像が過度に混合されてパタンが大幅にキャンセルされた撮像画像データが生成される可能性が高くなる。
また、これとは逆に、撮像部21の露光期間をパタンの切替周期よりも短くすると、[5]で述べたように、三板式のプロジェクタやローリングシャッタ方式のイメージセンサを使用し難くなる。
したがって、撮像部21の露光期間を、パタン表示切替レートの逆数であるパタンの切替周期と等しい大きさとなるように設定すると、表示画像が過度に混合されてパタンが大幅にキャンセルされた撮像画像データが生成される可能性を低くすることが可能になるとともに、様々な種類の表示装置やイメージセンサを使用することが可能になる。
[7] パタン表示切替レート及び撮像フレームレートに差を設ける際に、表示部12を構成する表示装置を制御してパタン表示切替レートを変更してもよいし、撮像部21を構成するイメージセンサを制御して撮像フレームレートを変更してもよいし、パタン表示切替レート及び撮像フレームレートの双方を変更してもよい。ただし、情報提供装置10及び情報取得装置20の動作を可能な限り阻害しないような変更方法を採用すると、好ましい。
例えば、表示部12を構成する表示装置の表示フレームレート(パタン表示切替レート)が、業界標準で所定の大きさ(例えば、60fps)に固定されている場合、情報取得装置20が、パタンを取得するための動作モードに遷移する際に、撮像部21を構成するイメージセンサの撮像フレームレートが所定の大きさ(例えば、45fps)となるように制御してもよい。
また、撮像部21を構成するイメージセンサを制御して撮像フレームレートを変更する場合、情報取得装置20が、撮像フレームレートを動的に変更してもよい。
例えば、情報取得装置20が、パタンを取得するための動作モードに遷移すると、最初に、撮像フレームレートが所定の大きさ(例えば、45fps)になるように制御するが、その後、出力パタンデータ中のパタンが精度良く識別できない状態(例えば、パタンが識別できない、パタンの位置が定まらない等)であることを検出すると、撮像フレームレートが当該所定の大きさとは異なる大きさ(例えば、40fps)になるように制御してもよい。
[8] これまで、パタン表示切替レート及び撮像フレームレートを適宜設定することによって、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させる実施形態について述べてきたが、上述の実施形態以外の形態でも、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させることは可能である。ここでは、一例として、撮像間隔を等間隔にせずに異ならせることにより、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させる形態について、図面を参照して説明する。図13は、本発明の別の実施形態に係る情報伝達システムの動作例について示すタイミング図である。なお、図13は、パタン表示切替レートが60fps、撮像フレームレートが(全体として)30fpsである場合について例示した図である。また、図13では、表示タイミング及び撮像タイミングのズレの状態が異なる2つの例を、並べて示している
図13は、撮像部21の撮像フレームレートが、全体としては30fps(撮像間隔が等間隔であればうなりが生じない撮像フレームレート、図5参照)である。しかし、図13に示す例では、撮像間隔が等間隔ではなく異なっている。具体的に、図13に示す例は、短い撮像間隔で連続的に2回の撮像を行った後で、これよりも長い撮像間隔を設けて待機するものであり、これらの動作を順次繰り返すことで全体として30fpsとするものである。
このように、撮像間隔を等間隔にせずに異ならせることでも、表示タイミング及び撮像タイミングのズレを時間方向に対して変動させることが可能である。ただし、これまで述べてきた実施形態のように、撮像間隔を等間隔のままにして、パタン表示切替レート及び撮像フレームレートの関係を調整した方が、撮像部21の動作制御を簡易なものにすることができるとともに、既存の撮像装置を使用することができるため、好ましい。