JP6560687B2 - 符号化光 - Google Patents

符号化光 Download PDF

Info

Publication number
JP6560687B2
JP6560687B2 JP2016550867A JP2016550867A JP6560687B2 JP 6560687 B2 JP6560687 B2 JP 6560687B2 JP 2016550867 A JP2016550867 A JP 2016550867A JP 2016550867 A JP2016550867 A JP 2016550867A JP 6560687 B2 JP6560687 B2 JP 6560687B2
Authority
JP
Japan
Prior art keywords
message
frame
camera
packet
inter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016550867A
Other languages
English (en)
Other versions
JP2017512399A5 (ja
JP2017512399A (ja
Inventor
コンスタント ポール マリエ ジョゼフ バッゲン
コンスタント ポール マリエ ジョゼフ バッゲン
ロナルド リートマン
ロナルド リートマン
フォールトハイゼン ポール ヘンリカス ヨハネス マリア ファン
フォールトハイゼン ポール ヘンリカス ヨハネス マリア ファン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Signify Holding BV
Original Assignee
Signify Holding BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Signify Holding BV filed Critical Signify Holding BV
Publication of JP2017512399A publication Critical patent/JP2017512399A/ja
Publication of JP2017512399A5 publication Critical patent/JP2017512399A5/ja
Application granted granted Critical
Publication of JP6560687B2 publication Critical patent/JP6560687B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/11Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
    • H04B10/114Indoor or close-range type systems
    • H04B10/116Visible light communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/165Controlling the light source following a pre-assigned programmed sequence; Logic control [LC]
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/175Controlling the light source by remote control
    • H05B47/19Controlling the light source by remote control via wireless transmission
    • H05B47/195Controlling the light source by remote control via wireless transmission the transmission using visible or infrared light
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/06Code representation, e.g. transition, for a given bit cell depending only on the information in that bit cell
    • H03M5/12Biphase level code, e.g. split phase code, Manchester code; Biphase space or mark code, e.g. double frequency code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/16Conversion to or from representation by pulses the pulses having three levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Optical Communication System (AREA)
  • Studio Devices (AREA)
  • Camera Data Copying Or Recording (AREA)

Description

本開示は、光源によって発せられる光に埋め込まれた符号化光信号の通信に関する。
符号化光とは、データが光源、例えばLEDベース照明器具によって発せられる可視光に変調される技術を指す。したがって、光源は、照明を供給することに加えて(この目的のために、光源が環境内に既に存在し得る)、符号化光の適切な受信機にデータを送信可能な送信機としても機能し得る。通常、変調は、人間の視覚によって認識することができない十分に高い周波数において、すなわち、ユーザーが全体的な照明のみを知覚し、照明に変調されているデータの影響を知覚しないように行われる。このようにすることで、データは光源からの光に埋め込まれていると言うことができる。
符号化光は様々な用途で利用され得る。例えば、1つの適用例は、照明器具から、その照明器具を制御するためのリモートコントロールユニットに情報を供給することであり、例えば、リモートユニットが制御可能な他のかかる照明器具から前述の照明器具を区別する識別子を供給するために、又は照明器具に関するステータス情報を供給するために(例えば、エラー、警告、温度、稼働時間等を報告するために)使用され得る。このような例の1つでは、リモートコントロールユニットは、内蔵カメラを備えるスマートフォン又はタブレット等のモバイルユーザー端末を含み得る。端末が適切なアプリケーションを実行しているとき、ユーザーは、カメラを照明器具に向けることにより、その照明器具からの光に符号化された識別子を検出することができる。自身が見ている照明器具の識別子を与えられた端末は、(例えばRFを介して)リターン信号を送り返すことにより、その照明器具を制御することができる。
他の適用例では、符号化光は、ユーザーに情報を提供するために、例えば、コミッショニングにおいて使用される照明器具の識別子を提供するために、又は位置関連情報の提供を可能にするために使用され得る。例えば、屋内及び/又は屋外環境内(例えば、オフィスビルの部屋及び廊下、並びに/又はキャンパスの通路内)の各照明器具が、その環境内で自身を特定する対応する識別子が埋め込まれた光を発するよう構成され得る。ユーザーが、カメラ、及び符号化光を検出するための関連付けられたアプリケーションを備えたモバイル端末を有する場合、端末は、端末の現在位置を照らしている照明器具の識別子を検出することができる。これは、その後、識別子を照明器具の位置にマッピングする位置情報データベース内で現在位置を検索することにより、ユーザーが環境を移動することを援助するために使用され得る。代わりに又は加えて、これは、ユーザーの現在位置に関連付けられた情報、例えば博物館の特定の部屋の展示品に関する情報等を検索するために使用され得る。例えば、検索は、端末がアクセス可能なインターネット若しくはローカルネットワークを介して、又はユーザー端末上のローカルデータベースから実行され得る。あるいは、情報は、1つ以上の照明器具からの光に直接符号化され得る。概して言えば、符号化光の応用性は限定されない。
データは振幅キーイング又は周波数シフトキーイング等の技術によって光の中に変調され、変調された特性(例えば、周波数の振幅)がチャネルシンボルを表すために使用される。変調は、典型的には、データビット(ユーザービットとも呼ばれる)をかかるチャネルシンボルにマッピングするための符号体系を伴う。一例は、値0のユーザービットがロー−ハイパルスの形態のチャネルシンボルにマッピングされ、値1のユーザービットがハイ−ローパルスの形態のチャネルシンボルにマッピングされるバイナリコードである、慣用的なマンチェスタ符号である。他の例は、国際公開第2012/052935号に開示される、最近開発された3値マンチェスタ符号である。
現在、3値マンチェスタは先端技術の一角を成し、よって当業者には既知であるが、完全を期すためにここで再度概述する。送信機において、送信される各データビットが、対応するユニットパルスの形態を取るチャネルシンボルにマッピングされる。この体系によれば、図5に示される正の「ハット」関数と負の「ハット」関数の形態の2つの可能なユニットが存在する。値1のデータビットにマッピングされたパルスは図5の左側に示され、値0のデータビットにマッピングされたパルスは図5の右側に示されている。データビットは(明示的にユーザーによって作成されていなくとも)「ユーザーデータ」とも呼ばれる、送信される実際の情報のビットである。図5において、データビット周期はTによって示されており、ユーザービット周期間の境界が垂直な破線によって示されている。
各ユニットパルスは、データビット周期よりも短い時間長Tの基本チャネル周期のシーケンスを含む。各基本チャネル周期は、符号化信号が取り得る基本レベルのうちの1つのみを伝達し(1つの3値マンチェスタ符号)、複合チャネルシンボルに変調されることなく単独でデータを伝達するには不十分である。したがって、当該符号体系を使用して伝達可能な情報コンテンツの最小の又は最も基礎的なユニットは、長さTの各パルスである。
3値マンチェスタ符号では、各ユニットハット関数は、時間長Tの3つの基本チャネル周期のシーケンスを含み、それぞれがデータビット周期Tの長さの半分である(T=2T)。各データビットの3つの基本チャネル周期は隣接しており、3つのうちの真ん中のものは、対応するデータビット周期の中央に配置され、よって、隣接する第1及び第3の基本チャネル周期は、それぞれ、データビット周期の開始境界及び終了境界を、各側に基本チャネル周期Tの半分ずつまたぐ。
値1のデータビットの場合、これは、図5の左側に示される正のハット関数にマッピングされる。正のハット関数は、中心が対応するデータビット周期の開始(前の)境界に来る、高さが−1/2の第1の基本チャネル周期、後続する、中心が対応するデータビット周期に来る、高さが+1の第2の(真ん中の)基本チャネル周期、後続する、中心が対応するデータビット周期の終了(後ろの)境界に来る、高さが−1/2の第3の基本チャネルシンボルを含む。この段階では、「高さ」は、無次元のデジタル値等の任意の適切な単位で表され得る(最終的には、例えば振幅又は周波数等、変調された信号の特性によって表される)。
値0のデータビットの場合、これは、図5の右側に示される負のハット関数にマッピングされる。負のハット関数は、中心が対応するデータビット周期の開始(前の)境界に来る、高さが+1/2の第1の基本チャネル周期、後続する、中心が対応するデータビット周期に来る、高さが−1の第2の(真ん中の)基本チャネル周期、後続する、中心が対応するデータビット周期の終了(後ろの)境界に来る、高さが+1/2の第3の基本チャネル周期を含む。
送信される符号化ビットストリームを作成するために、隣接するユーザービットのハット関数は、それぞれのビット周期の時間によってオフセットされ、互いに足し合わせられる。ハット関数はデータビット周期間の境界にかけて重複するため、隣接するデータビット間の重複領域において、関数は足され合う。すなわち、ハット関数は、境界に沿って結合され、よって、あるデータビット周期の前の境界Aが、先の隣接するデータビット周期の後ろのビット境界An+1と結合され、2つの隣接するパルスが重複する部分において、信号の高さが加算される。時間領域における結果のチャネルシンボルのシーケンスの例が図6に示されている。
2つの隣接するデータビットの値が1の場合、これは、高さ−1/2の2つの重なる基本チャネル周期が高さ−1に加算されることを意味する。2つの隣接するデータビットの値が0の場合、高さ+1/2の2つの重なる基本チャネル周期が高さ+1に加算される。2つの隣接するデータビットが異なる値の場合、高さ+1/2及び高さ−1/2の2つの重なる基本チャネル周期が0に加算される。したがって、この符号化ストリームでは、各ユーザービット周期(各ユニットパルス)は、値1のユーザービットが値1の2つの隣接するユーザービットの間に挟まれたときの矩形波の正パルス、又は値0のユーザービットが値0の2つの隣接するユーザービットの間に挟まれたときの矩形波の負パルス、又は少なくとも1つの隣接するユーザービットが異なるときの、直線のエッジを有する4つの可能な構成のうちの1つの平坦でないパルスのうちのいずれかの形態を取る。
同等な変形例では、0及び1のデータビット値の正及び負のハット関数へのマッピングが逆にされてもよい。
結果の信号(例えば、図6の信号)は、その後、(例えば、振幅単位で表現されようと、周波数単位で表現されようと)送信光源によって出力される信号の変調特性の変動に変換される。例えば、基本チャネルシンボル−1は低い光出力レベルによって表現され、基本チャネルシンボル+1は高い出力光レベルによって表現され、基本チャネルシンボル0は、高いレベルと低いレベルとの間の中間光レベルによって表現され得る。
3値マンチェスタ符号は、データビットの値が変わるとき、慣用的なマンチェスタ符号よりも滑らかな遷移を提供し、ハムノイズ(mains hum)等の干渉が生じ得る低周波数周辺においてより抑制された周波数領域スペクトルをもたらすため、有利であり得る。しかし、本開示の適用範囲は3値マンチェスタに限定されず、他の実施形態では、例えば慣用的な(2値)マンチェスタ符号、又は他の慣用的な2値若しくは3値ラインコード等、他の適切なコード体系の例が使用され得る。
携帯電話機に良く見られる安価なカメラなどのローリングシャッターカメラを使用して光源からの光が取り込まれるアプリケーションにおいて、符号化光の使用に対する関心が高まっている。ローリングシャッターカメラは、画像のラインを1本ずつスキャンする(典型的には、最小で18kライン/s)。ラインは時系列的に記録され、また、光の中のコードも時系列的に変化し得るため、追加処理を伴う。典型的には、ライン上のサンプルはライン毎に単一の値に「統合」又は「集約」される。したがって、各ラインは信号のサンプルを異なる時点において取得し、もって符号化光信号の復元を可能にする。
本明細書に開示される一側面によれば、コントローラ出力に基づき、光源から出射される可視光に符号化光信号を埋め込むよう光源を制御するためのドライバと、符号化光信号を生成するよう構成されたコントローラとを含むデバイスが提供され得る。光は、各フレームの複数のラインを順に露出することによってフレームを取得するローリングシャッターカメラによって受け取られ、カメラは各ラインを所定時間露出する。コントローラは、符号化光信号が少なくとも1つのメッセージを含み、各フレーム内でカメラによって露出されるラインよりも相当少ない数のラインから符号化光信号のサンプルが取得され、メッセージがそのライン数よりも長いとき、複数の異なるフレームのそれぞれにおいてカメラがメッセージの異なる部分を見るようなタイミングでメッセージが複数回繰り返されるフォーマットに従って符号化光信号を生成するためのコントローラ出力を生成するよう構成される。
一部の実施形態では、メッセージは、複数のフレームにかけてメッセージ全体が見られるよう繰り返され得る。
メッセージは、1フレームよりも長い持続時間を有し得る。
メッセージは、異なるデータ内容を含む1つ又は複数のパケットを含み、メッセージの各パケットの後にパケット間休止期間が続き、メッセージの繰り返しは、パケット間休止期間とは異なるメッセージ間休止期間によって隔てられ得る。
パケット間休止期間は、露出時間、又は予期される露出時間の最大値以上であり得る。
メッセージ間休止期間は、複数の異なるフレームのそれぞれにおいてカメラがメッセージの異なる部分を見るような上記タイミングが得られるよう選択され得る。
露出時間は(1/30)s以下、(1/60)s以下、又は(1/120)s以下であり得る。
少なくとも1つのメッセージは、メッセージあたり少なくとも3つのパケットから構成され得る。
各パケットは、17ビット以下、12ビット以下、又は9ビット以下の長さを有し得る。
パケット長は、1バイトのコンテンツと1つの同期ビットとからなる9ビットであり得る。
コントローラは、信号のデータビットが3値マンチェスタ符号にマッピングされることによって表現される3値マンチェスタ変調符号体系に従って符号化光信号を符号化するよう構成され得る。
メッセージ間休止期間は、少なくとも4つの符号の持続時間を有し得る。
各パケットは、19個の符号の長さを有し、パケット間休止期間は、33個の符号の持続時間を有し、メッセージ間休止期間は、5個の符号の持続時間を有し得る。
コントローラは、1kHz、2kHz、又は4kHzのシンボルレートで符号化光信号を符号化するよう構成され得る。
コントローラは、バックチャネルを介してカメラから露出時間の指標を受け取り、露出時間に基づきメッセージのフォーマットを適合させるよう構成され得る。
コントローラは、複数の異なるフレームのそれぞれにおいてカメラがメッセージの異なる部分を見ることになるよう1つ又は複数のパラメータを選択することによって上記適合を実行するよう構成され、1つ又は複数のパラメータは、パケット間休止期間、メッセージ間休止期間、メッセージあたりのパケット数、及び/又はシンボルレートを含み得る。
コントローラは、パラメータの複数の異なる既定の組み合わせから選択することによってフォーマットを適合させるよう構成され得る。
上記ライン数は、各フレームのラインの14%以下であり得る。
本明細書に開示される他の側面によれば、上記特徴のうち任意のものを有するデバイス、光源、及びカメラを含むシステムが提供され得る。カメラは、各フレームにおいてカメラによって露出されるよりも相当少ない数のラインからサンプルが取得され、メッセージが当該ライン数よりも長くなるよう、光源に対して配置され得る。
本明細書に開示される他の側面によれば、光源から出射される可視光に符号化光信号を埋め込むよう光源を制御するステップであって、符号化光信号は少なくとも1つのメッセージを含む、ステップと、各フレームの複数のラインを順に露出することによってフレームを取り込むローリングシャッターカメラにおいて光を受け取るステップであって、カメラは各ラインを所定時間露出する、ステップと、各フレーム内でカメラによって露出されるよりも相当少ない数のラインから符号化光信号のサンプルを取得するステップとを含み、メッセージは上記ライン数より長く、異なる複数のフレームのそれぞれにおいてカメラがメッセージの異なる部分を見るようなタイミングでメッセージが複数回繰り返されるフォーマットに従って符号化光信号が生成される、方法が提供され得る。
本明細書に開示される他の側面によれば、実行されたとき、ドライバ(8)へのコントローラ出力に基づき、光源から出射される可視光に符号化光信号を埋め込むよう光源を制御する動作であって、光は、各フレームの複数のラインを順に露出することによってフレームを取り込むローリングシャッターカメラにおいて受け取られ、カメラは露出時間を有する所定時間各ラインを露出し、各ラインは露出時間だけ露出される、動作と、符号化光信号は少なくとも1つのメッセージを含み、各フレーム内でカメラによって露出されるよりも相当少ない数のラインから符号化光信号のサンプルが取得され、メッセージが上記ライン数より長いとき、異なる複数のフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングでメッセージが複数回繰り返されるフォーマットに従って符号化光信号を生成するためのドライバへの制御出力を生成する動作とを実行するよう構成され、コンピュータ可読記憶媒体上に具現化されたコードを含むコンピュータプログラム製品が提供され得る。
本明細書に開示される他の側面によれば、光源から出射される可視光に埋め込まれた符号化光信号であって、光は、各フレームの複数のラインを順に露出することによってフレームを取り込むローリングシャッターカメラによって受け取られ、カメラは各ラインを所定時間露出し、符号化光信号は、符号化光信号が少なくとも1つのメッセージを含み、各フレーム内でカメラによって露出されるよりも相当少ない数のラインから符号化光信号のサンプルが取得され、メッセージが上記ライン数より長いとき、異なる複数のフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングで、メッセージが複数回繰り返されるようなフォーマットに従って生成される、符号化光信号が提供され得る。
一部の実施形態では、上記方法、コンピュータプログラム、及び/又は信号は、上記デバイスに関して論じられる特徴のいずれかに従ってさらに構成され得る。
本明細書に開示される他の側面によれば、各フレームの複数のラインを順に露出することによって所与のフレームレートで所与の持続時間のフレームを取り込むローリングシャッターカメラから符号化光信号を含む信号を受信するための入力と、複数のラインのうちの一部のラインのそれぞれから符号化光信号のサンプルを入力を介して取得するよう構成された、入力に接続された信号処理モジュールとを含むデバイスが提供され得る。上記一部のラインはある持続時間露出され、一部のラインの数は、各フレームにおいてカメラによって露出されるラインの数よりも著しく小さい。符号化光信号は、当該数のラインが露出される持続時間よりも長い持続時間を有するメッセージを含み、メッセージは、複数の異なるフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングで複数回繰り返し受信される。信号処理モジュールは、複数のフレームからの異なるメッセージの部分のタイムアライメントを行い、タイムアライメントされた部分からメッセージを再組立てするよう構成される。
一部の実施形態では、メッセージ全体は、複数のフレームにかけて見られ得る。
一部の実施形態では、メッセージは、1フレームよりも長い持続時間を有し得る。
一部の実施形態では、信号処理モジュールは、フレーム持続時間及びメッセージ持続時間に基づきタイムアライメントを実行するよう構成され得る。
一部の実施形態では、各フレームは有効ライン及び無効ラインを含み、上記複数のラインは有効ラインであり、信号処理モジュールは、メッセージの長さの整数倍であるタイミング基準期間を決定し、各連続フレーム内で受信されたメッセージの部分を、先行フレームに対してフレーム長だけオフセットし、上記タイミング基準期間の末尾を越えた部分は上記タイミング基準期間の先頭にラップアラウンドさせることにより、タイムアライメントを実行するよう構成され得る。
一部の実施形態では、信号処理モジュールは、上記数のラインを含む各フレームの複数の有効ラインのそれぞれからサンプルを取得し、これにより、フレーム持続時間を有するフレーム信号を生成するよう構成され、オフセットは、タイミング基準期間の持続時間を有するよう、各フレーム信号を拡張することによって行われ得る。
上記拡張は、フレーム信号にゼロを加えることによって実行され得る。
信号処理モジュールは、1つ又は複数のスキップされたフレームを破棄するよう構成され得る。
信号処理モジュールは、それぞれがメッセージの部分の異なる部分集合に基づくメッセージの複数の再組立てされたバージョンを生成し、メッセージの複数のバージョン間の相関に基づき、デバイスのクロックと符号化光信号のクロッキングとの間の同期を行うよう構成され得る。
各サンプルは、対応するラインの画素値を結合することによって取得され得る。
上記ラインの数は、各フレームのラインの14%以下であり得る。
各部分は、メッセージの3%以下であり得る。
サンプルが取得されるラインの数は、1つ又は複数の露出過度の画素を含むラインを除外し得る。
本明細書に開示される他の側面によれば、上記特徴のいずれかを有するデバイス、及びカメラを含む受信機が提供され得る。
本明細書に開示される他の側面によれば、上記受信機及び光源を含むシステムが提供され、カメラは、各フレームにおいてカメラによって露出されるよりも著しく小さい数のラインからサンプルが取得され、メッセージが上記数のラインよりも長くなるよう光源に対して配置され得る。
本明細書に開示される他の側面によれば、各フレームの複数のラインを順に露出することによってフレームを取得するローリングシャッターカメラから符号化光信号を含む信号を受信するステップと、複数のラインのうちの一部のラインのそれぞれから符号化光信号のサンプルを取得するステップとを含む方法であって、上記一部のラインはある持続時間露出され、一部のラインの数は、各フレームにおいてカメラによって露出されるラインの数よりも著しく小さく、符号化光信号は、上記数のラインが露出される持続時間よりも長い持続時間を有するメッセージを含み、メッセージは、複数の異なるフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングで複数回繰り返され、方法はさらに、複数の異なるフレームからの異なるメッセージの部分のタイムアライメントを行い、タイムアライメントされた部分からメッセージを再組立てするステップを含む、方法が提供され得る。
本明細書に開示される他の側面によれば、実行されたとき、各フレームの複数のラインを順に露出することによってフレームを取得するローリングシャッターカメラから符号化光信号を含む信号を受信する動作と、複数のラインのうちの一部のラインのそれぞれから符号化光信号のサンプルを取得する動作とを実行するよう構成された、コンピュータ可読媒体上に具現化されたコンピュータプログラム製品であって、上記一部のラインはある持続時間露出され、一部のラインの数は、各フレームにおいてカメラによって露出されるラインの数よりも著しく小さく、符号化光信号は、上記数のラインが露出される持続時間よりも長い持続時間を有するメッセージを含み、メッセージは、複数の異なるフレームのそれぞれにおいてカメラによってメッセージの異なる部分が見られるようなタイミングで複数回繰り返され、コードはさらに、実行されたとき、複数の異なるフレームからの異なるメッセージの部分のタイムアライメントを行い、タイムアライメントされた部分からメッセージを再組立てするよう構成される、コンピュータプログラム製品が提供され得る。
一部の実施形態では、上記方法及び/又はコンピュータプログラムは、さらに、上記デバイスに関して論じられる特徴のいずれかに従って構成され得る。
本明細書に開示される他の側面によれば、第1のフィルタを適用され、ノイズ及び/又は干渉を受ける入力信号に対する第1のフィルタの影響を等化するためのウィーナーフィルタであって、第1のフィルタは、少なくとも1つの未知数に依存し、ウィーナーフィルタは、既知と仮定される第1のフィルタの表現に代わる、少なくとも1つの未知数について平均化された第1のフィルタの平均化表現に基づく、ウィーナーフィルタが提供され得る。
一部の実施形態では、平均化表現は、第1のフィルタの共役の平均を含み得る。
平均化表現は、第1のフィルタとその共役との積の平均を含み得る。
平均化表現は、第1のフィルタの共役の平均、及び第1のフィルタとその共役との積の平均を含み得る。
ウィーナーフィルタは、周波数領域で動作し得る。
ウィーナーフィルタは、次式に従って構成され、
ここで、Gは周波数領域におけるウィ−ナーフィルタの式であり、Hは周波数領域における第1のフィルタであり、Sは入力信号のスペクトル密度であり、Nはノイズ及び/又は干渉のスペクトル密度であり、θは未知数であり、Eはθに関する平均である。
平均は、有限範囲内で未知数が一様分布であると仮定し得る。
第1のフィルタは公称値を有し、未知数についての平均化は、公称値まわりの第1のフィルタのテイラー展開、及び未知数の第1の複数のモーメントを使用して計算され得る。
第1のフィルタは複数の未知数に依存し、ウィーナーフィルタは、未知数のそれぞれについて平均化された第1のフィルタの平均化表現に基づき得る。
第1のフィルタは、時間領域における矩形関数及び周波数領域におけるsinc関数を含み、矩形関数は時間領域においてある幅を有し、未知数は矩形関数の幅を含み得る。
入力信号は、フレームの各ラインが順に露出時間だけ露出されるローリングシャッター収集プロセスによって取り込まれる符号化光信号を含み、フィルタはローリングシャッター収集プロセスに起因し、露出時間は未知数であり得る。
各ラインの露出は、露出時間の幅を有し得る矩形関数を生成し得る。
第1のフィルタは、ある中心周波数及びバンド幅を有するバンドパスフィルタを含み、少なくとも1つの未知数は、バンドパスフィルタの中心周波数及び/又はバンド幅を含み得る。
本明細書に開示される他の側面によれば、上記特徴のいずれかを有するウィーナーフィルタと、上記ローリングシャッター収集プロセスによって入力信号を取り込むよう構成され得るカメラとを含む受信機が提供され得る。
本明細書に開示される他の側面によれば、第1のフィルタを適用され、ノイズ及び/又は干渉を受ける入力信号に対する第1のフィルタの影響を等化するためのウィーナーフィルタを求める方法であって、第1のフィルタが依存する少なくとも1つの未知数を特定するステップと、第1のフィルタの表現を含むウィーナーフィルタの式において、第1のフィルタが既知と仮定された表現を、少なくとも1つの未知数について平均化された第1のフィルタの平均化表現によって置換するステップとを含む、方法が提供され得る。
本明細書に開示される他の側面によれば、実行されたとき、第1のフィルタを適用され、ノイズ及び/又は干渉を受ける入力信号に対する第1のフィルタの影響を等化するためのウィーナーフィルタを実装するコンピュータ可読媒体上に具現化されたコンピュータプログラム製品であって、第1のフィルタは少なくとも1つの未知数に依存し、ウィーナーフィルタは、既知と仮定される第1のフィルタの表現に代わる、少なくとも1つの未知数に関して平均化された第1のフィルタ平均化表現に基づく、コンピュータプログラム製品が提供され得る。
一部の実施形態では、上記方法及び/又はコンピュータプログラムは、上記ウィーナーフィルタに関して論じられる特徴のいずれかに従ってさらに構成され得る。
他の実施形態では、上記送信側デバイス、受信側デバイス、及び/又はウィーナーフィルタの特徴のうちの任意のものが組み合わせられ、同様に、上記され又は本明細書の他の箇所に記載された任意のデバイス、送信機、受信機、システム、信号、方法、及び/又はコンピュータプログラムの任意の特徴が組み合わせられ得る。
この概要の節は、本開示の範囲を限定するものではないことに留意されたい。本開示の範囲は、特許請求の範囲によってのみ限定される。
本開示の理解を助け、また、実施形態の実施方法を示すため、例として以下の添付図面を参照する。
図1は、符号化光通信システムの概略的なブロック図である。 図2は、ローリングシャッターカメラによって取り込まれたフレームの概略的な表現である。 図3は、取り込まれたフレームの例を示す。 図4は、取り込まれたフレームから取得された有用なサンプルの例を示す。 図5は、3値マンチェスタ符号体系を概略的に示す。 図6は、3値マンチェスタを使用して符号化された信号の例を概略的に示す。 図7は、メッセージフォーマットを概略的に示す。 図8は、メッセージ再組立てに要求されるフレームの数のグラフである。 図9は、周期的に繰り返されるメッセージの3回の繰り返しを示す。 図10は、3つのパケットからなるメッセージを示す。 図11は、時間領域における送信信号及び受信信号を示す。 図12は、周波数領域における送信信号及びISIを示す。 図13は、複数のフレームのそれぞれをサンプリングすることによって取得された信号を示す。 図14は、サンプリングフレームから取得された信号の拡張バージョンを示す。 図15は、複数のフレームからの信号のタイムアライメントされたバージョンを示す。 図16は、複数のフレームから復元された信号を示す。 図17は、復元されたメッセージを示す。 図18は、メッセージのローリングしないアライメントを示す。 図19は、メッセージの「スイッチング」アライメントを示す。 図20は、フィルタHを等化するウィーナーフィルタの概略的なブロック図である。 図21は、ローリングシャッターに起因するISIフィルタの概略的なブロック図である。 図22は、付加ノイズを表す概略的なブロック図である。 図23は、フィルタHを等化するロバストウィーナーフィルタの概略的なブロック図である。
以下の記載は、符号化光アプリケーションに関連し、符号化光を送信するためのフォーマット、符号化光を受信するためのデコーダ、及びデコーダにおいて使用される1つの特定の有利な構成要素(符号化光以外のアプリケーションにも使用され得る)を提供する。
当該フォーマット及び復号技術は、既存のローリングシャッターカメラや、専用のいわゆるROI(region-of-interest)カメラにも対応するフォーマットを定める、符号化光のための実践的なソリューションを提供することを狙いとする。本開示は、一部の実施形態では安価なローリングシャッターカメラが符号化光を受け取り、符号化光に含まれるメッセージを復号することを可能にする符号化及び復号方法、エンコーダ及びデコーダ、信号フォーマット、並びに符号化及び復号のためのソフトウェアを提供する。
安価なローリングシャッターカメラは、実質的にラインの進行、及び時間の進行とともに画像をスキャンする。これは、一番上のラインのタイムスタンプが一番下のラインのタイムスタンプよりも顕著に早いことを意味する。ここで、画像内に符号化光が存在すると想定する。通常、符号化光は画像の一部の小区画でしか見えない。
実際に光を映すラインは、符号化光を含むラインである。各ラインは単一の値に「集約」され、この単一の値は情報のビット又はシンボル、すなわちラインがスキャンされた時点で送信されたビット又はシンボルに対応する。ここで、ローリングシャッターカメラがメッセージを復号するために、フレームあたりのライン数が十分に大きくなる(よって、光が十分に大きい)ことを確保して、単一のフレームに基づき画像が復号され得る。しかし、後に詳述されるように、これは常に可能であるとは限らない。
図1は、符号化光を送受信するためのシステムの概略図を与える。システムは、送信機2及び受信機4を含む。例えば、送信機2は照明器具の形態を取り(例えば、部屋の天井又は壁に取り付けられたもの、自立型のランプ、又は屋外の電灯)、受信機4はスマートフォン、タブレット、又はラップトップコンピュータ等のモバイルユーザー端末の形態を取り得る。送信機2は、光源10、及び光源10に接続されたドライバ8を含む。送信機2は、さらに、ドライバ8によって駆動される光源10を制御するために、コントローラ6の形態のデバイス、及びドライバ8への出力部を含む。例えば、コントローラ6は、送信機2のメモリ上に保存された、送信機のプロセッサ上で実行されるソフトウェアの形態を取ってもよく、あるいは、コントローラ6の一部又は全てがハードウェア、又は構成可能若しくは再構成可能なハードウェア回路に実装されてもよい。受信機4は、カメラ12、信号処理モジュール14の形態のデバイス、及びカメラ12からの入力部を含む。信号処理モジュール14は、例えば、受信機4のメモリ上に保存された、受信機4のプロセッサ上で実行されるソフトウェアの形態を取ってもよく、あるいは、信号処理モジュール14の一部又は全てが専用ハードウェア回路、又は構成可能若しくは再構成可能なハードウェア回路に実装されてもよい。コントローラ6及び信号処理モジュール14は、本明細書に開示される実施形態に係る送信側動作及び受信側動作を(それぞれ)実行するよう構成される。
図2及び図3を参照して、カメラ12は一連のフレーム16を取り込むよう構成され、カメラが光源10に向けられている場合、フレーム16は光源10からの光の画像を含む。カメラ12はローリングシャッターカメラであり、すなわち、カメラ12は各フレーム16を(グローバルシャッターカメラのように)一度にまとめて取り込むのではなく、一連のライン18を1本ずつ取り込む。つまり、各フレーム16は、それぞれがフレーム16を横断又は縦断等し、1つ又は複数の画素の厚さを有する(例えば、水平ラインの場合、フレーム16の幅にわたって延在し、1つ又は複数の画素の高さを有する)、典型的には水平ラインである複数のライン18に分割される(ラインの総数は参照符号20によって表される)。取り込みプロセスは、1つのライン18を露出することによって始まり、その後次のライン(典型的には隣接するライン)が露出され、その後次のラインが露出され、というようにこれが繰り返される。例えば、取り込みプロセスは、フレーム16の上から下に進み、一番上のラインの露出によって開始し、その後上から2番目のライン、その後次の下のライン、というように繰り返され得る。あるいは、下から上に進んでもよい(又は、横方向に並んだ垂直ラインでさえあり得る)。各ラインの露出は、時間的に独占的であってもよく、又は時間的に重複してもよいことに留意されたい(ただし、いずれにせよ異なる時間に開始する)。カメラ12は、所定の露出時間Texpを有し、各ラインは、順にこの同じ露出時間間隔だけ露出される。また、デジタルカメラの場合、「露出」とは機械的なシャッターにおける意味ではなく、ラインの画素が光を取り込み又はサンプリングしている時間を意味することに留意されたい。
符号化光検出のためのサンプルを取得するために、各ライン18の個別の画素サンプルの一部又は全てが、そのラインの結合サンプル19に結合される(例えば、図3及び図4を参照しながら後述されるように、符号化光信号に有効に寄与する「有効」画素のみ)。例えば、結合は、画素値を積算又は平均化することによって、又は任意の他の結合技術を使用して実行され得る。あるいは、特定の画素が各ラインの代表として選択されてもよい。
既存の文献では、光源10が全てのフレームの全体又はほぼ全体を覆うものと仮定されている。しかし、これはしばしば当てはまらない。さらに、出射光は必ずしも取り込みプロセスと同期せず、これはさらなる問題を生じ得る。
したがって、符号化光送信機として機能する光源10が、実際には各フレーム16のライン18の一部のみしか覆わない可能性があるため、符号化光検出のためにローリングシャッターカメラを使用する場合、特有の問題が生じる。実際には、図2のライン24のみが、符号化光源の強度変化を記録する画素を含み、よって有用な情報を有するサンプルをもたらす。図3も参照されたい。全ての残りの「フレームあたりのライン」22、及びこれらから導出されるサンプルは、対象光源10に関する符号化光情報を有さない。光源10が小さい場合、各フレーム16において光源10の短い一時的なビューしか得られない可能性があり、よって、既存の技術は非常に短いメッセージにしか対応できない。しかし、より長いメッセージを送信可能なことが望ましい可能性がある。また、例えば選択されたフレームフォーマットに起因して、一部のライン26が「隠れ」又は無効となる可能性があることに留意されたい(有効ライン21のみが取り込み画像に寄与する)。
上記の他、追加で又は代替的に、1つ又は複数の他の問題が存在し得る。一部の実施形態では、問題は、第1に、ローリングシャッターは符号化光源の短い時間的に断続的なビューをもたらし得ること、第2に、「自動露出制御」と符号化光との間で利益相反が生じ得ること、第3に、現在のドライバ技術では低周波数シグナリングしかできないため、ちらつきが生じ得ること、及び/又は第4に、ローリングシャッタープロセスによってもたらされるフィルタリング効果が符号間干渉(ISI)を引き起こし得ることを含み得る。
したがって、既存の技術はフレキシビリティが不十分であり、かつ/又は誤差若しくは干渉を生じやすいおそれがある。後述される実施形態は、単一のビデオフレーム内の(メッセージの)フットプリントよりも長いメッセージを取り込み復号できるよう、ローリングシャッターカメラの複数のビデオフレームからの情報を結合することを狙いとする。一部の実施形態では、これは、
(i)送信機によってメッセージが周期的に繰り返される信号フォーマットの使用、及び
(ii)受信機において、各フレームで取得された部分的スナップショットから完全なメッセージを復元するために、メッセージの繰り返し時間(Tm)の知識及びフレーム持続時間(Tframe)の知識を利用することを含む。このために、本開示は、複数のフレームからデータを集め、集められたデータを再組立てする方法を提供する。
メッセージは周期的に繰り返され、受信機において、メッセージは実質的に時間をかけて再組立てされる(例えば、あるメッセージについては実際には1〜2秒、例えば30〜60フレームを要し得る)。これを可能にするために、以下、光の中に情報を符号化するための特定のデータフォーマットについて説明する。
一方、信号の復号の一部は、本明細書では「再組立て」と呼ばれるやり方を用いて説明される。復号を容易化するため、メッセージ持続時間及び/又はカメラのTexpは、安価なローリングシャッターカメラが完全なメッセージを相当に素早く検出することを可能にするよう微調整される。
再組立て後、メッセージは等化される。「通常の」アプローチは、メッセージを取り、信号の正確なタイミングを決定するためにスライサーを有効に使用し、その後等化することである。しかし、後述される実施形態によれば、これは、より効率的なロバストウィーナーフィルタ実装を使用する賢明な方法によって達成され得る(好ましくは、復号アルゴリズム全体が標準的な普通の携帯電話上に実装され得るよう)。
ロバストウィーナーフィルタは、チャネルの不確実性を考慮し、そのようにすることで、符号間干渉(ISI)を低減することができる。後述される実施形態では、このフィルタは再組立て後に使用される。しかし、これは他のシステムにおいても使用され得ることに留意されたい(ローリングシャッターの影響の等化、又は符号化光アプリケーションにさえ限定されるものではない)。
メッセージフォーマット
以下、「フットプリント」より長いメッセージ、及び多数のフレームにわたる持続時間を有するメッセージでさえ取り込み復号できるよう、複数のビデオフレームの情報の信頼できる結合を可能にするメッセージフォーマットを説明する。また、当該信号フォーマットは、受信機におけるカメラによって引き起こされたISIをキャンセルする非同期(ウィーナーと類似する)等化を可能にする。さらに、メッセージの周波数成分は、例えば18Hzの繰り返し周波数(非常に繊細なフリッカー周波数)を有するメッセージ長の場合であっても、視認可能なちらつき又はストロボ効果が無いようなものであり得る。
このようなメッセージフォーマットの例が図7に示されている。小さいフットプリントが与えられる場合であっても確実にメッセージを取り込むために、符号化光信号は、メッセージが複数のフレームにわたって「ローリング」するよう、同じメッセージ28が複数回連続して繰り返され、そのタイミングがカメラの露出時間、又は予期されるカメラの露出時間の範囲に関連して設定されるフォーマットに従って送信される。すなわち、複数の異なるフレームのそれぞれにおいてカメラがメッセージの異なる部分を捉え、メッセージの異なる部分が捉えられるのに伴い、メッセージ全体が時間をかけて組み立てられることを可能にするようにされる。したがって、ここでの問題は、再組立てにおいてローリングシャッターカメラがフレーム毎に異なるメッセージの部分を映すよう(メッセージの部分は必ずしも連続的である必要はなく、実際に、ローリングシャッターカメラでは連続的でないことが多い)、露出時間Texp又は予期される露出時間に関連してメッセージ長(持続時間)Tmを選択する方法である。メッセージタイミングは、受信機4と送信機2との間のRFチャネル等の適切なバックチャネルを介してフィードバックされる特定のカメラの露出時間Texpの実際の知識に応じて調整されてもよく(「交渉フォーマット」)、あるいは、タイミングは、フォーマットが対応すべきカメラの可能な露出時間値Texpの範囲を予期し、事前にフォーマット化されてもよい(「ユニバーサルフォーマット」)。
一部の実施形態では、メッセージの実際のデータコンテンツ(ペイロード)30の長さ(持続時間)の他、同じメッセージの繰り返し間隔の間にメッセージ間休止期間(IMIP;inter-message idle period)を挿入することにより、メッセージ長Tmが選択され得る。このようにすることで、メッセージ内容のみでは、各フレームが多かれ少なかれメッセージの同じ部分を見ることになる場合であっても、メッセージ間休止期間を使用することによってこの挙動を乱し、上記「ローリング」条件を達成することができる。一部の実施形態では、メッセージ間休止期間はTexpのフィードバックに基づき調整され(「交渉フォーマット」)、又は可能なTexpの値の範囲に適合するよう事前に定められ得る(「ユニバーサルフォーマット」)。
上記したように、ローリング条件は、ローリングシャッターカメラの露出時間(すなわち、ライン露出時間)Texpと関連する。これの解は1つではなく、むしろ、条件を満たさないTm及びTexpの組み合わせを回避することが問題となる(後により詳しく説明する)。ユニバーサルフォーマットを求める場合、発明者は、Texp≦(約)33ms又は(1/30)sである限り、十分な解が確実に入手可能であることを発見した。
他の問題は、各ラインの露出のフィルタリング効果(実質的には、各ラインの露出に伴い時間領域で適用される矩形フィルタ)に起因する符号間干渉(ISI)である。これを軽減するために、一部の実施形態では、メッセージフォーマットは、各メッセージインスタンスが複数の(例えば、少なくとも3つの)個別パケット29を有し、かつ、各パケット間にパケット間休止期間(IPIP;inter-packet idle period)32を含むよう構成される。一部の実施形態では、パケット間休止期間は各パケットに後続し、最後のパケット後の末尾にメッセージ間休止期間(IMIP)34が付される(1つのパケットしか存在せず、その後にIPIP32及び潜在的にIMIP34が続くような場合も考えられる)。
この場合、符号間干渉は、パケット長及びパケット間休止期間の関数である。列内のデータシンボルが多いほど、符号間干渉(ISI)が大きい。したがって、パケット長を小さく保ち、間に好適なサイズのギャップを挿入することが望ましい。データバースト間の休止ギャップ(データ無し、例えば全てゼロ)は、パケット長を短く保つことと同様に、符号間干渉を軽減することを助ける。これらの特性についても、受信機4と送信機2との間のRFチャネル等の適切なバックチャネルを介してフィードバックされる特定のカメラの露出時間Texpの実際の知識に応じて調整されてもよく(「交渉フォーマット」)、あるいは、タイミングは、フォーマットが対応すべきカメラの可能な露出時間値Texpの範囲を予期し、事前にフォーマット化されてもよい(ユニバーサルフォーマット)。一部の実施形態において、発明者は、少なくともTexpのパケット間休止期間によって分離された9ビット以下のパケット長が、ISIの軽減に関して良好なパフォーマンスを提供することを発見した。好都合なことに、9ビットはさらに、1バイトのデータ+1つの同期ビットを好適に可能にする。とはいえ、他の実施形態では、12ビット、又は17ビットのパケット長さえ許容され得る。
「ローリング」達成の他、他の潜在的問題は同期である。受信機は、受信信号と同期するのに使用するメッセージフォーマットのテンプレートを有し、例えば、受信機は、IPIP+IMIPのギャップの後に同期ビットがあり、その後1バイトのデータ、IPIP、そして新たな同期ビット及び1バイトのデータと続くと予期されることを知っている。このテンプレートを受信された符号化光信号と比較することにより、受信機は信号と同期することができる。一部の実施形態では、同期を補助するために、発明者は、メッセージ間休止期間が、関連する変調符号の少なくとも4つの符号、例えば4つの3値マンチェスタ符号であることが好ましいことを発見した。
上記考察によれば、メッセージフォーマットの一例は、
(i)送信機によってメッセージが周期的に(何度も)繰り返され、もって連続するビデオフレームからの、それぞれが部分的受信メッセージを含むフットプリントを(時間的に)再結合して完全な受信メッセージを取得することを可能にし、メッセージサイズは、周期的繰り返しによって最終的にメッセージ全体が復元され得るよう選択され得る、信号フォーマットの使用、
(ii)制御不能なカメラの露出時間設定に起因する重度なISIの存在下でイコライザーがオリジナルの送信波形を復元することを可能にするために、パケット間休止期間によって分離された比較的短いパケット(例えば、9ビット)を有するメッセージ、及び
(iii)低周波数成分の抑制をもたらし、よって低符号周波数におけるちらつきを排除する、DCフリー変調符号としての3値マンチェスタ(TM)の形式の使用、を含む。
変形形態も可能である。例えば、好ましい変調符号は3値マンチェスタ(頭文字を取ってTMと略され得る)であるが、代わりに他の符号が使用されてもよく(ちらつきが視認されないDCフリー又はDCをあまり含まないものが好ましい)、例えば慣用的なマンチェスタ又はNRZ(non-return to zero)が使用されてもよい。以下、フォーマットパラメータ(例えば、IMIP)の様々な特に有利な選択についても述べる。他の実施形態では、IPIPは最大露出時間に対して調整され得る。また、露出時間>IPIPの場合、TM符号長も露出時間に対して調整され得る。他の実施形態では、中程度の長さのメッセージの場合はguided descramblingが使用され、かつ/又は、短いメッセージの場合はスクランブルされていない短いパケットが使用され得る。
図2に戻り、さらなる詳細についていくつか議論する。上記したように、既存の文献は、復号されるべき光源が全フレームをほとんど又は完全に覆うものと仮定する。復号されるべき単一のメッセージの持続時間は、単一のフレーム内の光源のフットプリント内に取り込まれ得るようなものであると仮定される。データパケットとフレーム撮影との間の同期性のため、「隠れたライン」26が問題を生じ得ることが認識される。少なくとも1つの繰り返しが、単一のフレーム内に完全に取り込まれるという条件を満たすよう、メッセージが繰り返され得ることが提案される。しかし、符号化光のための既存のデータフォーマットは、依然として複数の問題を有し得る。
上記したように、符号化光検出のためにローリングシャッターカメラを使用する場合の特有の問題は、符号化光送信機として機能する光源が、各フレームのラインの一部しか覆わない可能性があるために生じる(再び図2を参照されたい)。実際には、光源を含むラインのみが、符号化光源の強度変化を記録する画素を有する。全ての残りのライン及び画素は、対象の光源に関する符号化光情報を有さない。光源が小さい場合、各フレームでは符号化光源の短い時間的に断続的なビューしか得られず、よって、従来技術は非常に短いメッセージにしか対応できない。
他の問題は、iPhone(登録商標)及びiPad(登録商標)等の現在のスマートフォンは、「app」による露出時間Texp及びISOの制御を許可しないことである。既存の自動内蔵制御アルゴリズムはしばしば長い露出時間を与え、これはカメラ検出後、光源によって順次送信されるデジタル符号間の重度の符号間干渉(ISI)をもたらす。
さらに、現在のLEDドライバ技術は、送信されるデジタル信号の帯域幅(シンボルレート)が非常に限定されている場合(例えば、シンボルレートが1〜8kHz)、安価かつエネルギー効率的なソリューションしか許容しない。かかる低い周波数では、信号フォーマットにおいて低周波数を抑制するための特別な予防策が取られない限り、ちらつき及びストロボ効果が深刻になり得る。単にDCフリー符号を有するだけでは、必ずしも十分ではない。
本開示は、「フットプリント」より長いメッセージ、さらには多数のフレームの持続時間を有するメッセージでさえ取り込み復号できるよう、複数のビデオフレームの情報を確実に結合することを可能にする信号フォーマットを開示する。さらに、当該信号フォーマットは、受信機のカメラによって生じたISIをキャンセルする非同期(ウィーナーと類似する)等化を可能にする。最後に、メッセージの周波数成分は、例えば18Hz(非常に繊細なフリッカー周波数)の繰り返し周波数を有するメッセージ長の場合であっても、視認可能なちらつき又はストロボ効果が存在しないようなものであり得る。
送信機における典型的な符号化光信号のスナップショットが図9に示されており、次にこれについて説明する。光源は、(瞬間的に)出射される光の強度を0と1の間で変化させることができると仮定する。図9では、平均光強度(DC)は0.8に設定され、符号化光信号の振幅は0.1である。符号化光信号は平均(DC)光レベルに重畳されている。
この例では161msの持続時間を有するメッセージは、3つのパケットによって構成され、各パケットが9つのTM符号化ビットを含む。メッセージは送信機によって周期的に繰り返される(図9では3回の繰り返しが示されている)。TMシンボルレートは1kHz(1000TM符号/s)である。
この例では、メッセージの各パケットの後に33個のTM符号のパケット間休止期間(〜33ms)が続く。各メッセージの末尾には、(余分に)5個のTM符号のメッセージ間休止期間が存在し、よって、現在のメッセージの第3パケットと次のメッセージの第1パケットとの間の合計休止期間は33+5=38個の休止符号となる。図9は、3回のメッセージの繰り返しを示し、各メッセージが3つのパケットを含む。
図10は、DCが除去され、信号の振幅が1にされた図9の1つのメッセージを示す。各パケットの有効部分は9つのTM符号化ビットを含み、よって、2×9+1=19個のTM符号となる。TM符号化の規則に従い、各パケットの最初と最後のTM符号の振幅は±0.5であることに留意されたい。図9及び図10に記載されるようなメッセージフォーマットは、Texp≦1/30であるような任意のTexpを有するカメラを使用して復号され得る。一般的に、例えばTMシンボルレート、休止期間、及び変調符号等の全てのパラメータが、検出を容易にするよう選択され得る。
メッセージを周期的に繰り返す理由は、ローリングシャッターカメラ動画の各フレームでは、送信メッセージの小さな一部分しか復元できないおそれがあるからである。この部分のサイズは、カメラの画像内の光源(フットプリント)のサイズ、及びメッセージの持続時間のサイズに依存する。例えば、光源のサイズが、フレームのラインのわずか14%だけが光源によって覆われるようなサイズの場合、及び、メッセージの持続時間が5フレーム程度の場合(録画速度が30フレーム/秒であると仮定して)、単一の動画フレームからはメッセージの約3%のみが潜在的に復元可能である。
メッセージの持続時間が動画のフレームレートに対して注意深く選択された場合、動画の連続フレームは、繰り返されるメッセージの異なる部分を表し、最終的にメッセージ全体が復元される。
図8は、フレームレートを29.97fpsとして、完全なメッセージを取得するために要求されるフレーム数が如何にしてメッセージの持続時間、及び画像内のフットプリントのサイズに依存するかを示す。
以下、図8に示される関係について考察する。持続時間Tfの各フレーム毎に、持続時間Tfootprint of the messageのビューが取得される。N枚の連続フレームのN個のフットプリントの集合は、少なくとも1つの完全なメッセージをカバーしなければならない。フットプリントは、メッセージ上を「ローリング」しなければならない。フットプリントは、フレームレート(=29.97Hz)と等しい繰り返し周波数を有し、メッセージは1/Tmの繰り返し周波数を有し、これらの周波数は「十分に」異ならなければならない。
また、大きなNは大きな遅延をもたらすため、Nを最小化することが望ましい可能性がある。さらに、「小さい」フットプリントの場合、小さいN、例えばN=30〜1秒が望まれ得る。
送信機の周波数偏移は、Tmの変化をもたらす。偏移によっては、「遅いローリング」又はローリングの欠如さえもたらし得る。Nは、公称値付近のメッセージ持続時間の範囲に対して適度な値に留まらなければならない。
次に、以下の場合にフットプリントによるメッセージのカバレッジがどうなるかを考える。
− 相対的フットプリントα=Tfootprint/Tf=0.4
− 0<α≦1、(隠れたラインのため、実際には例えば0<α≦0.88)
TmがTfに近い場合、メッセージはほとんどローリングしない(各フレームは実質的にメッセージの同じ部分を見る)。しかし、TmがTfの約1.5倍の場合、メッセージは「スイッチ」し、1つ置きのフレームがメッセージの互い違いの部分を見るが、一部は繰り返し見過ごされる。
α<1の場合、メッセージ持続時間Tmがフレーム持続時間Tfの倍数のとき、「ローリングしない」フットプリントが得られる。α<0.5の場合、TmがTfの半整数倍(0.5、1.5、2.5、...)のとき、「スイッチング」フットプリントが得られる。
一般的に、1/(n+1)<α≦1/nの場合(nは整数)、以下の条件を満たすとき、「ローリングしない」フットプリントが得られる。
上記比が「ローリングしない」比のうちの1つに「近い」場合、ローリングは既に不十分であり得る。また、上記比が「ローリングしない」比のうちの1つに「近い」場合、ローリングは既に不十分であり得る。
図8に示されるように、結果は複雑な関係となる。
変調符号
ちらつきを生じ得る低周波数成分の抑制のため、低ビットレートに関して好ましい変調符号は3値マンチェスタ(TM)である。低ビットレートは、2つの理由、すなわち(i)LED光源のドライバの制限された許容可能な複雑性及び最小要求効率のため、及び/又は(ii)露出時間が非常に長い場合に復元可能なシグナリング速度を得るために、避けられない可能性がある。
NRZ、マンチェスタ、及び3値マンチェスタを比較したとき、NRZ(実際には、非変調符号)は非常に高いDC成分を有する。磁気記録からよく知られ、IEEE Visible Light Communication(VLC)規格にも提案されているマンチェスタ変調符号は、いわゆるDCフリー符号であり、すなわち、周波数ゼロのスペクトル成分が0である。3値マンチェスタ変調符号は、いわゆるDCフリー変調符号であり、これは、マンチェスタのようなDCフリー符号と比較して、DC付近のスペクトル密度がはるかに低いことを示唆している。したがって、低周波数のスペクトル範囲では、マンチェスタよりもTmの方が有利である。ちらつきに関しては、100Hz以下の周波数が重要である。
信号フォーマットは、休止符号が散りばめられた比較的短いパケットを利用するため、各パケットをDCフリーにすることにより、メッセージがDCフリーであることを保証することができる。これは、{−0.5,1,−0.5}のTMインパルス応答を使用してユーザービットを変調することによって達成される。9ユーザービットからなるパケットは、19個のTM符号からなるTM符号化パケットをもたらすことに留意されたい。
ビットレートがより大きい場合、スペクトル密度によって視認されるちらつきが引き起こされないことを前提に、他の変調符号、場合によっては多値DCフリー変調符号(例えば、4値マンチェスタ)の使用も考えられる。
使用される変調符号は、例えば、振幅変調(AM)実装を有するドライバ、又はパルス幅変調(PWM)実装を有するドライバ等、ドライバの実際の実装におけるいくらかの自由度を許容するよう定められ得る。これは、従来の変調フォーマットと異なり、符号化光のための送信波形の実際の形状が厳密に定められていないことを示唆する。
符号化光の変調符号を定める好適な方法は、最適サンプリングポイントにおいて変調器出力波形に適用されるフルT移動平均フィルタの出力の規則及び許容値を定めることであろう。
パケット長
次に、パケット長について、パケット長は、最悪のケースの露出時間のもと、最悪のケースのデータパターンであっても復元可能であるよう選択されることが好ましい。
図11に例が示されている。全てが1である9ビットのTM符号化パケットに対応する送信波形36について考察する(fsymbol=1kHz)。この波形がTexp = 1/125 [s]を有するカメラによって検出された場合、ビデオフレームのシーケンスを適切に処理することにより、カメラの出力において一次元の受信波形38が得られる。送信信号が歪められたものである受信信号は、TexpのFIRフィルタアクション(Texp秒の移動平均)に対応する矩形関数によって送信信号の畳み込みを行うことにより、カメラによって生成されるように見える。
Texpの移動平均フィルタリングは、パケットのTM符号間の符号間干渉(ISI)をもたらす。送信信号に対する受信信号の振幅低下に留意されたい。また、パケットの後半では、受信信号の振幅はゼロに下がることに留意されたい。最後に、Texpによる因果性FIR型フィルタリングのため、受信信号はTexp=8msだけ送信信号を越えて伸びることに留意されたい。受信機における信号処理のタスクは、受信信号から送信信号を復元することである。
図12は、同じ状況を周波数領域で示す。曲線40は、全て1からなる単一の9ビットTM符号化パケットのスペクトル表現の絶対値を表す(フーリエ変換)。曲線42は、「Texp移動平均フィルタ」の伝達関数の絶対値を表す。周波数領域における受信信号は、両スペクトル表現のドット積である。ISIフィルタのゼロは、受信信号にとって特に有害である。これらの周波数(及びゼロの付近の周波数)の信号は、実質的に送信信号から除外されるからである。
送信信号を受信信号から復元することを望む場合、Texpの全ての合理的な選択肢に対して、ISIフィルタによる送信信号のフィルタリング後に少なくとも十分な信号ネルギーが残ることが要求される。このためには、送信信号のスペクトル表現が多数の周波数にわたって十分に「拡散」していることが必要である(パケットのビット内容の全ての可能な選択肢に対して)。パケット長が9ビット程度の場合、これが満たされるようである。
一方、(全て1からなる)パケットを9ビットより長くした場合(例えば、17ビット)、このような長いパケットのスペクトル表現は依然として500Hz付近に集中するが、スペクトル幅は元のパケットの約1/2になる。この場合、ISIフィルタによって破壊される信号エネルギーが大き過ぎる。
発明者は、fsymbol=1kHzのTM変調を使用して、例えば9〜12ビットのパケット長に関して、パケット間休止期間(IPIP)が少なくともTexpであることを条件に、全てのTexp≦(1/30)sに対して、送信信号を十分正確に復元できることを発見した。IPIP=(1/30)sの場合、固定の送信信号フォーマットが全てのTexp≦(1/30)sに対して機能する。これは、ユニバーサル信号フォーマットを提供するために使用され得る。
パケット長が12〜17ビット長の場合、「Texp移動平均フィルタ」によって復元不能に破壊され得る劣悪なスペクトル表現を有する少数の「有害な」ビットパターンによって、アイパターンの最小アイ高さが決定される。これらの有害なビットパターンが少数のみの場合、いわゆる「guided scrambling」によってそれらの発生を防ぐことができる。しかし、有用なguided scramblingを適用するには、16程度の異なるスクランブリングパターンが要求される。スクランブリングパターンのインデックスも各パケット内に符号化されなければならないため、有用なビット数はやはりパケットあたり8又は9に減少される。したがって、非常に短い繰り返しメッセージには、スクランブリングされていない短いパケットが最も有用であると考えられ得る。より長いメッセージには、guided scramblingが非常に有用であり得る。
複数のパケットから構築されるメッセージ
光源からカメラ受信機に有用な量の情報を送信するために、それぞれが独自のビット内容を有するp個のパケットの連結からなるメッセージが構築される。各パケットの間には、異なるパケット間のISIクロストークを防止するために、少なくともパケット間休止期間(IPIP)が存在する。メッセージの末尾には、余分にメッセージ間休止期間(IMIP)が存在する。p個のパケットからなるメッセージが周期的に繰り返される。
好適な実施形態では、p=3であり、よって、実質的にメッセージ毎に3バイト(24ビット)の情報が送信される。
パケット間休止期間
パケット間休止期間(IPIP)の目的は、カメラの露出時間(Texp)によって引き起こされる単一のパケットへのISIを制限することである。好適な実施形態では、IPIPの持続時間は、最大予測露出時間Texp_maxと等しい。これはTexp≦IPIP = Texp_maxである全てのTexpに関してメッセージの復元を可能にするので、ユニバーサルIPIPフォーマットを提供し得る。
また、発明者は、Texp > IPIPの場合、TMシンボルレートが注意深く選択されれば、メッセージが復元可能であることを発見した。注意深く選択されるTMシンボルレートは、カメラによって使用される実際のTexpに依存する。実際の符号化光送信を確実に受信し得るには、送信光源及びカメラ受信機が、TMシンボルレート、メッセージあたりのパケット数、IPIP、及び/又はIMIP等の送信パラメータの選択に関して合意しなければならない。よって、このような場合に強化シグナリング速度を使用するフォーマットは、「交渉信号フォーマット」に属する。これらのパラメータの選択は、例えばTexp、フレームレート、ラインレート、光源のフットプリント等、利用可能なカメラ設定に依存する。
本明細書に記載される実施形態は、各パケットの後にIPIPが続き、最後のIPIPの後に余分なIMIPが付されることに関して説明されているが、代替的な説明又は実装では、IPIPは同じメッセージの隣接するパケット間にのみ含まれ、最後のメッセージの終了後の全休止期間がIMIPであってもよい。
メッセージ間休止期間
メッセージ間休止期間(IMIP)は、メッセージの最後のパケットの後に続く最後のIPIPの後に付される休止期間である。IMIPはTM符号を単位とし得る。
IMIPは次の2つの目的を果たす。
(i)所与のフレームレートに対して、合計メッセージ持続時間が良好な「ローリング特性」を満たすこと、すなわち、連続フレームのフットプリントが可能な限り速く完全なメッセージを明らかにすることを確保すること、及び/又は
(ii)IMIPの第2の目的は、メッセージの周期的な繰り返し内のパケット及び休止期間のパターンに非対称性を与えることである。この特性は、受信機の周期的同期において利用され得る。
フォーマットの同期要素
同期のために、信号フォーマットの2つの要素が重要な働きをする。
(i)各9ビットパケットの最初のビットの同期ビットとしての使用。好適な実施形態では、メッセージの最初のパケットの最初のビットは1であり、全ての残りのパケットの最初のビットは0である。
(ii)メッセージ間休止期間(IMIP)の使用。メッセージの最後のパケット後の合計休止時間は他のパケット間の休止時間より長いため、非ゼロIMIPの存在は、繰り返しメッセージ内の規則的な時間的パケット構造を破壊する。
好適な実施形態では、IMIPは少なくとも4つの符号の持続時間を有する。
パラメータの例
上記の全ての考察に基づき、いくつかのパラメータの選択例を記す。
− fsymbol≧1 kHz(ちらつき及びストロボ)、
− 想定されるパケット持続時間:
− fsymbol〜1kHz の場合、約52ms(≧49ms)、
− fsymbol〜2kHz の場合、約26ms(≧24.5ms)、
− fsymbol〜4kHzの場合、約13ms(≧12.25ms)、
− メッセージ持続時間Tmはパケット持続時間の整数倍、及び/又は
− 興味深いメッセージ持続時間:約26、52、104 ms。
例えば、
− 露出時間は(1/30)s以下、シンボルレートは1kHz、パケットはパケット間休止期間を含め52ms;
− 露出時間は(1/60)s以下、シンボルレートは2kHz、パケットはパケット間休止期間を含め26ms;
− 露出時間は(1/120)s以下、シンボルレートは4kHz、パケットはパケット間休止期間を含め13ms。
他のパラメータ選択例
− 158msの持続時間を有する3パケットフォーマット(CRC有り)@1kHzシンボルレート;158msは、33符号のIPIP及び2符号のIMIPを有する3バイトメッセージに対応する、又は
− 70符号〜35msのパケット長@2kHz;35msは、3符号のIPIP及び4符号のIMIPを有する3バイトメッセージに対応する(例えば、このフォーマットは、T_expが(1/500)s未満になるよう制御される場合に使用され得る)。
交渉フォーマットの場合、コントローラは、1つ又は複数の上記組み合わせ及び/又は他の組み合わせを含む、パラメータの複数の組み合わせのリストから選択をするよう構成され得る。ユニバーサルフォーマットでは、可能な限り多くのカメラ(又は、むしろ露出時間)を満たす1つの特定の組み合わせが事前に選択される。
巡回冗長検査(CRC)
好適な実施形態では、メッセージはいくつかのパケットから構成され、各バケットが1バイトの情報を含む。CRCが使用される場合、各メッセージの最後のバイトが8ビットCRCであることが提案される。周期的に繰り返される信号フォーマットを復号する受信機によって繰り返し復号の結果が送られるため、送信メッセージの多数の具現化が取得され得る。これは、連続して復号された同じメッセージのバリエーションの復号結果を比較することにより、受信メッセージの信頼性を高めることを可能にする。
好適な実施形態では、CRCは、プリロード及びパリティ反転によって特徴付けられる。プリロードはアプリケーション特有であり、よって、同じ環境内で使用されている異なるアプリケーションからのメッセージを受信機が区別することを可能にし得る。使用される異なるプリロードの数と、CRCの有効誤り検出能力との間にはトレードオフの関係があることに留意されたい。
複数のメッセージ
発明者は、異なるメッセージmの連結が送信され得ることを発見した。ここで、各メッセージmはN回繰り返され、Nは、カメラ受信機が送信光源のフットプリントに基づき完全なメッセージmを確実に復元し得るのに十分な数である。同じメッセージmがN回繰り返された後、光源は、単に、例えばmの直後にメッセージmi+1のN回の繰り返しを連結することにより、同じ信号パラメータを有する全く異なるメッセージmi+1を送信することができる。受信機は、CRCを確認することにより、密着して復元されたメッセージを認識することができる。
メッセージ再組立て
次に、カメラが符号化光メッセージを復元するためのビデオフレームの再組立て又は「縫合」プロセスについて説明する。受信機は、上記のようにフォーマット化された信号を受信し、メッセージの部分を完全なメッセージに再組立てし、その後それをさらなる処理に供する。
一部の実施形態では、再組立てプロセスは以下を含む。
(i)上記のように、フレーム毎に画像ライン毎のサンプルを確立する(図2のライン18から取得されたサンプル19を再度参照されたい)。
(ii)所与のフレームの全ての(有効な)サンプルを時系列にまとめる(それぞれが、当該ラインからのサンプルがフレーム内に配置された時間に配置される)。このシーケンスは、フレーム毎の「マージナル信号」又は「フレーム信号」を形成する。
(iii)次に、この信号をゼロで拡張し、「拡張マージナル信号」又は「拡張フレーム信号」とする。各拡張信号の持続時間はメッセージ持続時間のn倍(nは整数)であり、また、フレーム持続時間より長い。
(iv)次に、有効サンプルがタイムアライメントされ、すなわち、拡張信号によって定められる時間フレーム又はスケール内で、サンプルがライン毎にTframeだけ右側にシフトされる。これは循環的に、すなわちラップアラウンド方式で行われ、拡張フレーム信号の長さの末尾を越えるとラップアラウンドされる。このようにすることで、拡張フレームワーク内のサンプルのシフトされた位置は、再組立てを援助するものになる。
(v)次に、サンプルが折り畳まれる(すなわち、再組立てされる)。一部の実施形態では、1つの単位さらにシフトさせることにより、異なる復元結果が見つけられ得る。
復元後、符号間干渉(ISI)を除去するために、信号は例えばウィーナーフィルタを使用してフィルタリングされ得る。
一部の実施形態では、ISIフィルタは、再組立てされたデータ内のギャップに対処するのに十分な程ロバストである(このロバストネスは少なくとも部分的に変調符号、メッセージフォーマット、及びウィーナーフィルタによってもたらされる)。また、プロセスは、スキップされたフレームに対して洗練された方法で対処することを可能にし得る。
他の実施形態では、プロセスは追加機能として、復元された信号の相関性に基づき、受信機がTm又はTframeのタイミングに関するクロックのずれを修正することを可能にし得る。
後にメッセージ再組立てプロセスの例についてより詳細に論じるが、その前に、受信機のフロントエンドのいくつかの細部の例について、図1〜図4を参照しながら詳述する。
一部の実施形態では、本明細書に開示されるカメラベースのデジタル符号化光受信機は、無線又はIR通信を使用するデジタル信号の受信機の良く知られた種類のものとは大きく異なる。符号化光受信機の一般構造、及び符号化光受信機におけるサブタスクを実行するための詳細なアルゴリズムの両方が顕著に異なる。
カメラベース符号化光受信機の入力は、既知のフォーマットで取得された動画を含む。例えば、良く知られたビデオフォーマットは480pである。これは、29.97fpsでフレームが取得され、各フレームが480ラインからなり、各ラインが640画素を含むプログレッシブ・スキャン・フォーマットである。符号化光受信機は、変調光源のデジタルコンテンツを取得するためにこの動画に適用されるデジタル信号処理を含む。
受信機によって実行される信号処理は、2D信号処理及び1D信号処理を含み得る。2D信号処理は、以下を含み得る。
(i)符号化光信号を抽出するための適切な色(R、G、又はB)又は色の線形結合の選択;
(ii)ブロブアプローチを用いて画像をセグメント化し、符号化光源を含む画像内の領域を効率的に特定する;
(iii)各ブロブ内の空間フィルタ「有効画素」を特定;
(iv)マージナルを用いた効率的な動き補正(光源毎に独立に);及び/又は
(v)ライン毎に有効画素を結合することによる信号「マージナル」の計算(図2の各ライン18に由来するサンプル19の計算)。
1D信号処理は、以下を含み得る。
(i)送信クロックを推定するためにフレーム内の相関性を利用(最もうまくいくのはフットプリント>>メッセージ持続時間);
(ii)送信機によってメッセージが周期的に繰り返される上記信号フォーマットの使用を仮定し、各フレームで取得された部分的スナップショットから完全なメッセージを復元するために、メッセージの繰り返し時間(Tm)の知識及びfps(Tframe)の知識を利用する(後により詳細に説明される再組立てプロセス);
(iii)送信クロックを推定するために連続する復元された信号間の相関性を利用;
(iv)Texpに起因するISIを軽減するために、メッセージの単一の周期にロバストウィーナーフィルタリングを適用;
(v)再組立てプロセスの結果、復元に穴が残っている場合、ロバストウィーナー補間を適用;
(vi)同期テンプレートを用いた処理によるグローバル循環同期の発見;
(vii)グローバル循環同期によって与えられる最適サンプリングポイントを決定することによってビットを復号する;及び/又は
(viii)連続する復元メッセージ上のCRCをチェックする。nの連続復元メッセージ中、mがCRC=OKの場合、メッセージ受信。
特定のメッセージフォーマット及び所与のフットプリントに関して、例えば、完全なメッセージを再組立てするために30枚の連続フレームが必要とされ得る。2秒の録画を有する場合(例えば、60フレーム)、受信機は同じメッセージの31個の異なる具現化を生成することができる。一部の実施形態では、これらの異なる復号結果を比較することにより、受信機クロックの受信信号との同期を助けることができる。
適切な色の選択に関して、適切な色のセクションは、符号化光信号の復元にとって重要であり得る。例えば、緑色(G)はカメラにおける最も高い画素密度によって特徴付けられ、よって、符号化光信号の最も高い空間(よって時間)分解能を与える。これは、符号化光が高い符号周波数(広い帯域幅)を使用している場合に重要であり得る。一方、光源が高い強度を有する場合、及びTexpが比較的長い場合は、青色(B)が好ましい。青色は画素のクリッピングを減少させる傾向があるからである。
図2〜図4を参照して、画像セグメント化のため、本開示の実施形態は「ブロブ」アプローチを使用して、符号化光情報を送信し得るランプに関連付けられ得る画像内の領域を認識する。典型的には、ブロブは、画像内の強度が高い領域である(例えば、図3を参照されたい)。アルゴリズムは、画像内の異なるブロブを認識及び区別することができる。例えば、ブロブのエッジを使用することにより、効率的にブロブをトラッキングし、ビデオシーケンスの異なるフレーム内の各ブロブに関連付けられた2D信号処理を制限することができる。
ブロブ内の寄与画素を見つけるにあたり、変調された画素、すなわち、変調された光源に起因する十分な強度変化を有する画素だけが、信号に効果的に寄与する。他の光源画素は、実効的に、「ノイズ」又は他の望ましくない副作用をもたらすだけである。通常、クリッピングされた画素も、さらなる考察から外される(例えば、図4を参照されたい)。また、強度が不十分な画素も除外される。光源に帰属する「寄与画素」の最終的なセットは、バイナリ2D空間フィルタとして表され得る。
次に、各フレームで「マージナル」として取得されたサンプルに作用するアルゴリズムについて説明する(図2のサンプル19、すなわち「線形結合された」サンプル)。
図3は、受信機によって生成された、対象光源を表すバイナリ画像を示す。図4は、各フレーム内の選択された光源の寄与画素をバイナリ形式で示す。光源の中央部の画素は露出過度であり、すなわちクリッピングされるため、これらの画素は寄与しないことに留意されたい。
図13は、動画内の100枚の連続フレームショットのそれぞれの「マージナル信号」(図2のサンプル19から構成される)を示し、各サンプルは、対応するラインの有効画素の適切な動作によって取得される。すなわち、各「マージナル信号」は、一枚の所与のフレーム16から取得される信号であり、そのフレームの各有効ライン18から取得されたサンプル19は、フレーム持続時間内の、それらがサンプリングされた対応する時間に配置される。図2では、単一のフレームの連続サンプルに対応する時間軸は上から下に進む一方、図13では、単一のフレーム内の連続サンプルの時間軸は左から右に進むことに留意されたい(ページを横向きとして)。図13では、100枚の連続ビデオフレーム(各フレームが単一の1D信号を生成する)が互いに重ねられており、上から下に順に並べられている。
Tframeは約1/30〜33msであるが、隠れたライン26のため、1枚のフレームのマージナル信号は約26.5msの持続時間しか有さない。図13の最下部には、各フレーム内の光源を含むラインに由来するサンプルを示すバー46が示されており、すなわち、各列のこの部分だけが、光源に由来するサンプルを含む。この例の場合、フレームに対する光源のフットプリントを表すFSF(the footprint of the source with respect to a frame)は〜0.14であり、すなわち、実際には各フレームのラインの約14%しか光源の画素を有さない。
図14は、既知の持続時間Tm及びTframeをどのように使用して、「拡張マージナル信号」又は「拡張フレーム信号」を生成するかを示す。これらの信号はそれぞれ、各フレームからサンプリングされた信号の拡張バージョンである。これは以下のようにして行われる。
(i)m×Tmのストレッチ持続時間が得られるよう(mは適宜選択された整数)、各フレームのストレッチ、すなわち図13の有効サンプル周辺の(例えば、その後に伸びる)時間領域を定める。有効サンプルの外部では、常にゼロを加え又は除去できることに留意されたい。
(ii)num_periods = ceiling( Tframe /(m*Tm) )を計算する。「ceiling」は最も近い整数への切り上げを意味する。
(iii)フレーム毎に、合計持続時間が少なくともTframeである「拡張マージナル信号」が得られるよう、各ストレッチをnum_periods回、周期的に繰り返す。拡張マージナル信号は、常にTframeより長い持続時間を有し、また、Tmの整数倍であることに留意されたい。
この例では、Tm = 158 ms、Tframe = 33.36、よってm=1かつnum_periods=1であり、各フレームをゼロで拡張することによって158ms(メッセージの1周期)のストレッチが得られる。各フレーム(ストレッチ)における実際に有用な観測結果は、図14のバー48によって示されるように、完全なメッセージの0.03程度の割合のみである。メッセージに対する光源のフットプリントFSM(the footprint of the source with respect to a message)が〜0.03であると言い換えることもできる。
一部の実施形態では、2つの別々の整数m及びnum_periodsを使用しなくてもよいことに留意されたい。要点は、メッセージ長(持続時間)Tmの整数倍であって、かつ、フレーム長(持続時間)Tframeよりも長い期間を定めることである。この期間は、後述されるように、異なるフレームから取得された信号が整列され得る基準時間スケール又は基準フレームを定める。
異なるフレームに由来する観測結果のタイムアライメントはTframe、及び上記のように定められた基準フレームワーク又はスケールを使用して実行される。各ラインの「拡張マージナル信号」は、前のフレームの拡張マージナル信号に対してTframeだけ右側に(正の時間方向に)シフトされる。しかし、拡張マージナル信号はメッセージ持続時間Tmの倍数にされており、送信メッセージは周期的に繰り返されるため、各拡張マージナル信号のシフトを循環(ラップアラウンド)シフトによって置き換えることができ、これにより、図15に示される結果が得られる。
すなわち、上記したように、上記「拡張」は、各フレームから取得された信号が配置されるスケール又はフレームワークを定めるタイミング基準期間を与える。この基準期間は、メッセージ持続時間Tmの整数倍である。さらに、これによって定められるスケール又はフレームワークはラップアラウンドする。すなわち、タイミング基準期間の末尾を越えると、スケール又はフレームワークは基準期間の先頭に戻る。したがって、所与のフレームからの信号を、前のフレームに対してTframeだけ右側にシフトさせると、当該フレームの信号の一部が基準スケール又はフレームの「末尾を越えて」又は「右側を越えて」シフトすることになる場合(タイミング基準期間を越える、すなわち、この目的のために定められたTmの整数倍を越える)、信号のその部分は、基準スケール又はフレームの先頭に続き、再び現れる(タイミング基準期間に関して、時間ゼロから開始する)。
一部の実施形態では、ゼロを加えることによって各フレームからの信号(「マージナル信号」)を「拡張」する必要がないことに留意されたい。これは、メッセージ持続時間Tmの整数倍であるラップアラウンド基準フレームを作成するという概念を実現する1つの方法に過ぎない。これを実現又は考察する同等な方法として、このタイミング基準期間(Tmの整数倍)は、その上に各フレームからの信号が配置され、ラップアラウンド方式でTframeの倍数分だけシフトされる「キャンバス」を定める。
また、全ての循環的にシフトされた拡張マージナル信号において、受信機は、符号化光源に由来する有効サンプルの位置を記録していることに留意されたい。
図15に示されるような結果を得た後、受信機は、メッセージの時間サンプル毎に、縦方向に見てその位置における有効な寄与サンプルを有するフレームを見つけることができる。
FSMが約0.03であることから、完全なメッセージを復元するには少なくとも(0.03)−1〜33フレームを要することが予測され得る。通常、重複のため、一部の実施形態では、受信機は完全な復元のために約2倍のフレームを要し得る。
図16から、この例ではデコーダは、完全なメッセージの復元に70枚の連続フレームを要することが分かる(〜2秒の動画)。70枚の連続フレームにつき1つの復元結果が与えられるため、100フレームのビデオは31の異なる復元結果を与える(依存的であったとしても)。
図17は、第1の復元メッセージの復元結果48(及びロバストウィーナー等化の出力50)を示す。図の最上部の太線52の長さは、この例において、単一のフレームから取得される完全なメッセージの割合(〜3%、〜5ms)を示す。
他の実施形態では、上記プロセスは、いわゆる「スキップされたフレーム(skipped frames)」に対処することもできる。カメラが与えるフレーム記録時間を調べることにより、スキップされた可能性があるフレームが検出されると考えらえる。フレームがスキップされた場合、対応するマージナル信号は、図16及び図17において有効なサポートを得ない。したがって、再組立てアルゴリズムは自動的に対応するフレームを破棄する。
他の実施形態では、異なる復元信号(図17では、31の異なる復元信号)間の相関性を観察することにより、送信機と受信機との間のクロックのずれを修正することができる。全てのクロックが完璧に同期している場合(Tm及びTframeを完全に知っていると仮定して)、これらの異なる復元信号は、縦方向に完璧に整列する(異なるノイズの影響を除き)。クロックの差は、最も良い相関のゼロではないシフトとして現れる。このようにして、受信機は、送信機のクロックに合わせることができる。この方法は、カメラの露出時間に起因するISIによって受信信号が重度に損なわれている場合であっても機能する。
次に、完全な再組立てを実現するために必要な最小フレーム数について議論する。
再び、以下の場合にフットプリントによるメッセージのカバレッジがどうなるかを考察する。
− 相対的フットプリントα=Tfootprint/Tf=0.4
− 0<α≦1、(隠れたラインのため、実際には例えば0<α≦0.88)
TmがTframeに近い場合、メッセージのアライメントは図18のようになる。
TmがTframeの約1.5倍の場合、メッセージのアライメントは図19のようになる。
α<1の場合、メッセージ持続時間Tmがフレーム持続時間の倍数のとき、「ローリングしない」フットプリントが得られる。α<0.5の場合、TmがTfの半整数倍(0.5、1.5、2.5、...)のとき、「スイッチング」フットプリントが得られる。
図8に関連して上記したように、一般的に、1/(n+1)<α≦1/nの場合(nは整数)、次式が満たされるとき、ローリングしないメッセージ持続時間Tmが得られる。
mが小さい場合、大きいmと比較して、特異点はより幅広いことに留意されたい。
ローリングしないメッセージ持続時間Tm=T0に対して、m0T0=k0Tframeを満たす最小のmであるmを、ローリングしないTの位数として定める。GCD(m0,k0)=1
及びkは、T付近におけるフットプリント及びメッセージの繰り返しパターンを決定し、約kのローリングしないフットプリントがmのメッセージに含まれる。
ローリングしないメッセージ持続時間Tの付近における持続時間Tm〜Tのメッセージについて考察する。mのメッセージを一回りした後、メッセージを部分的にカバーする、kの分離した等距離フットプリントが存在する。
カバーされていない部分T0−k0αTframeはk個に等分され、それぞれがサイズTgを有する。
Tg=(T0−k0Tframeα)/k0=(T0−m0T0α)/k0=T0(1−m0α)/k0
図18は、α=0.4、m0付近=1、k0=1である連続フットプリントを有するメッセージの時間アライメントを示す。メッセージはあまりローリングせず、各フレームはメッセージのほぼ同じ部分を見る(非常に遅いローリング)。
図19は、α=0.4、m0付近=2、k0=3の他の場合の連続フットプリントを有するメッセージの時間アライメントを示す。この場合、「スイッチング」が見られる。
のメッセージを一回りした後、後続ラウンドのフットプリントのインクリメンタルシフトによってカバーされなければならない、それぞれがTgの持続時間を有するkのギャップが存在する。
あるラウンドから次のラウンドへのフットプリントのシフトΔTを考察すると、
− ΔT=m0|Tm−T0| [ms]
− 完全なメッセージをカバーするには、〜1+Tg/ΔTラウンドが必要
− 1+Tg/ΔTラウンドは、Nf=(1+Tg/ΔT)k0フレームに対応する
付近のTmに関するNfの双曲線挙動に留意されたい。また、特異点の「幅」に対するm及びTの影響にも留意されたい。
ロバストウィーナーフィルタリング
次に、一部の実施形態では、上記実装形態が著しく優れたパフォーマンスを有することを可能にし、また、デバイスがはるかに幅広いカメラに対応することを可能にする、デコーダの他の部分について説明する。
例えば、未知のパラメータを有するフィルタH(f)及び付加ノイズによって損なわれた信号を等化するために使用され得るロバストウィーナーフィルタについて紹介する。当該ロバストウィーナーは、フィルタパラメータの確率分布が既知であると仮定して、MSEの観点から最適な結果を生じる一定なフィルタである。
ウィーナーフィルタ理論自体は、デジタル信号処理の分野においてよく知られており、第二次世界大戦以降幅広く使用されてきた。ウィーナーフィルタは、例えば、ノイズの存在下で、(線形に)歪んだ信号を推定するために使用され得る。ウィーナーフィルタ(イコライザー)は最適な(平均二乗誤差(MSE))結果を与える。
典型的な(周波数領域)ウィーナーフィルタリング、例えば逆畳み込みでは、図20に示されるように、2つの独立した定常ゼロ平均ランダム過程X及びNを有する。
典型的なアプリケーションでは、Xは、フィルタH(図20では番号54)に入力される入力信号を表し、Nは、フィルタHの出力に加えられる付加ノイズを表す。ウィーナーフィルタG(番号56)は、フィルタHを等化するように、すなわち、ノイズNの存在下で入力信号Xに対するフィルタHの効果を(最適な近似まで)キャンセルするよう構成される。
典型的なアプリケーションは、ローリングシャッターカメラによる符号化光の検出である。この場合、上記の等化デジタル信号処理問題は、矩形時間関数によってフィルタリングされたデジタル信号の回復に対応する。図21を参照されたい。すなわち、入力信号Xは、ローリングシャッターカメラによって取り込まれた符号化光信号を表し、フィルタHは、ローリングシャッター収集プロセスのフィルタリング効果を表す。このフィルタHは、各ラインの露出によって生じる。これは、幅Texpの時間領域における矩形関数を形成し、すなわち、ラインは時間Texpだけ露出され、この時間中に信号が取り込まれ(時間領域におけるフィルタHの伝達関数は一律に「オン」である)、その前後では信号は一切取り込まれない(時間領域におけるHの伝達関数はゼロである)。時間領域における矩形関数は、周波数領域におけるsinc関数に対応する。このフィルタによって、符号間干渉が生じ得る。したがって、以下、Texpによって作成されるフィルタは、その望ましくない影響に基づき「ISIフィルタ」と呼ばれ得る。
(また、図21及び図22は、ノイズNが如何にして(i)フィルタHを通過させられるフィルタHの入力におけるノイズ項n1と、(ii)フィルタHの出力におけるノイズ項n2との和であると考えられるかを示す。)
タスクは、Yのみを使用して、Xの最小平均二乗誤差推定を与える線形フィルタGを見つけることである。このために、ウィーナーフィルタGは、等化されるべき(すなわち、キャンセルされるべき)フィルタH及びNの仮定される知識に基づき事前に構成される。ウィーナーフィルタGは、ウィーナーフィルタGをY(Y=入力信号X+ノイズN)に適用した結果、オリジナルの入力信号Xに対する平均二乗誤差(MSE)を最小化する出力信号X^が得られるよう、解析的に構成される(理論的には、Hの知識、並びにX及びNのスペクトラムに基づき)。
典型的な(周波数領域における)ウィーナーフィルタの式は、
と表され、ここで、S(f)は入力信号Xのスペクトル密度であり、N(f)はノイズ項Nのスペクトル密度である。
上式から分かるように、ウィーナーフィルタの式は、等化されるべきフィルタの表現、この場合はH及び|H|(=HH)を含む。慣用的には、典型的ウィーナーフィルタでは、等化されるべきフィルタH(f)及びノイズスペクトル密度N(f)は正確に知られているものと仮定される。ローリングシャッター収集プロセスによって作成されたISIフィルタのための等化の場合、これは、Texpの正確な知得を示唆する。また、プロセスX及びNのそれぞれのスペクトル密度S(f)及びN(f)も既知であると仮定される。
しかし、ウィーナーフィルタは、実際にはH(f)の推定における誤差に対して非常に敏感である。未知の歪みに対処するためのいくつかの技術がこれまでに開発されている。
− 最良の結果が得られるまでターゲット応答を変化させることを試みる反復法(時間がかかる方法)、又は
− 最悪のケースのH(f)の特定を試み、これに対してウィーナーフィルタを最適化するミニマックス法。
したがって、等化のために典型的ウィーナーフィルタリングを使用することの問題は、フィルタのゲインが大きくなければならず、等化されるべきフィルタがあまり正確に知られていない場合にこの理論を適用する点にある。
例えば、信号の帯域幅が1kHz程度であり、Texpが1/30秒程度の場合、ISIフィルタは、図11及び図12に示されるように深刻な符号間干渉(ISI)を導入し得る。
受信機側でこのISIをキャンセルするには、H(f)の定義における不正確さの影響を受けづらい「強力な」イコライザーフィルタを提供することが望ましい。
本開示によれば、これは、固定「平均ウィーナーフィルタ」、すなわち、ISIフィルタH(f)の未知の多様性に対してロバストなウィーナーと類似するフィルタを計算することによって達成することができる。この「ロバストウィーナーフィルタ」は、H(f)の関連パラメータの統計的分布をもとに、MSEに関してより最適な出力を供給することができる。
符号化光への適用においては、この理論は、多くの場合でそうであり得るように、カメラのTexpが大まかにしか知られていない場合に符号化光信号を復元することを可能にする。
発明者は、最適なロバストウィーナーフィルタの特に効率的な導出法を発見した。以下、周波数領域において問題を議論する(よって、上述したように、H(f)に関して)。符号化光に適用する場合、ロバストウィーナーフィルタは、ランプの実際の読み取り中にTexp、よってH(f)が定められ又は変更されるに伴い、カメラベース(スマートフォン)復号アルゴリズムにおいてリアルタイムで構築され得ることに留意されたい。
ロバストウィーナーフィルタリングは、H(f)が正確に知られていないという注記に基づくが、実際には、少なくとも1つの未知数θ、すなわち、その値が知られておらず、実際にはある変域内、例えば下限値−Δ及び上限値+Δ(より一般的には、Δ1及びΔ2)の間の値であり得るHのパラメータに依存し得る。すなわち、フィルタH(f;θ)は、X及びNに依存しないランダムなパラメータθに依存すると仮定される。
幅θの矩形関数、すなわち周波数領域ではsinc関数の場合、以下のように表現され得る。
この矩形によって作成されたISIフィルタの場合、θ=Texpである。
ロバストウィーナーフィルタ56’は、上記の典型的ウィーナーフィルタ表現を取り、等化されるべきフィルタの表現が現れるとき、未知のパラメータθの潜在的値に関して平均化された対応する平均化表現(例えば−Δと+Δの間の平均、又はより一般的にはΔ1とΔ2の間の平均)で置き換えることによって作成される。すなわち、H(f)に基づく項が現れると、θに関して平均化された等化な平均化項によって置き換えられる。
上記の典型式から開始して、これは下式を与える。
ここで、Eはθに関する平均である。図23も参照されたい。
この導出についてより詳細に説明する。
が最小であるような、線形最小二乗平均誤差推定を与える固定線形フィルタGを見つけることが望まれる。
θに関する集合平均も取得することによって典型的導出を拡張すると、下式が得られる。
eをGで微分し、結果を0に設定することで、最適なG(f)が見つけられる
同様に、整合フィルタ(MF)のターゲット応答を組み込むことができる。
これを適用するには、
及び
の計算が残っている。以下にいくつかの例を与える。
第1のアプローチは、Hのテイラー展開及びθのモーメントを使用することである。符号化光ローリングシャッターアプリケーションでは、θ=Texpである。
テイラー展開により、次式が与えられる。
ローリングシャッターアプリケーションでは、
であり、さらに、次式が得られる。
H’’(f,θ)は周波数の増加と共にブローアップするため、このアプローチは低周波数により適する。
第2のアプローチは、既知のθの分布を仮定するより正確な計算を使用することである。例えば、θはθ^−Δ〜θ^+Δの間で一様分布であり、
である。この場合、
となる。
一部の実施形態において、上記は、典型的ウィーナー周波数領域式への変更に関して説明されているが、他のウィーナーフィルタ式が存在してもよく(例えば、ウィーナーフィルタの時間領域若しくは近似、又は特定のHについて解かれた式)、また、かかる式においても、既知と仮定されたH又はHの関数を平均H又はHの関数によって置換する原理は適用可能であり得る。
また、本明細書に開示されるロバストウィーナーフィルタは、矩形フィルタ以外のフィルタを等化するために使用されてもよく、かつ/又は、符号化光の受け取り以外のアプリケーションに使用されてもよいことに留意されたい。他の例は、正確に知られていない可能性がある中心周波数fを有するバンドパスフィルタである。この場合、等化されるフィルタは、周波数f及び中心周波数fの関数H(f; f0)であり、fに関して平均化されたH(f; f0)の平均表現からロバストウィーナーフィルタが求められ、例えば、
である。
さらに、ロバストウィーナーフィルタの概念はより高次なθに拡張され、すなわち、2つ以上のパラメータが未知であってもよい。この場合、等化されるフィルタHの表現(例えば、H*及びHH*)は、未知数のそれぞれについて平均化される。例えば、パラメータは、バンドパスフィルタの中心周波数及び/又はバンド幅であり得る。
また、ノイズ項Nは、代替的に又は追加で、干渉信号のスペクトル密度を表現し得る。ノイズ及び/又は干渉の総称は「妨害(disturbance)」である。
上記実施形態は、例として説明されたに過ぎないことを理解されたい。当業者は、図面、開示、及び添付の特許請求の範囲を分析することにより、開示の実施形態の他の変形例を理解及び実施し得る。特許請求の範囲において、「備える(又は含む若しくは有する等)」の用語は、他の要素又はステップを除外せず、要素は複数を除外しない。単一のプロセッサ又は他のユニットが、請求項内に記載される複数のアイテムの機能を果たし得る。単に特定の手段が互いに異なる従属請求項に記載されているからといって、これらの手段の組み合わせを好適に使用できないとは限らない。コンピュータプログラムは、他のハードウェアと共に又はその一部として供給される光学記憶媒体又はソリッドステート媒体等の適切な媒体上で記憶及び/又は供給され得るが、インターネット又は他の有線若しくは無線通信システムを介して等、他の形態でも供給され得る。請求項内の如何なる参照符号も、その範囲を限定するものと解されるべきではない。

Claims (19)

  1. コントローラ出力に基づき、光源から出射される可視光に符号化光信号を埋め込むよう前記光源を制御するためのドライバであって、前記可視光は、各フレームの複数のラインを順に露出することによってフレームを取得するローリングシャッターカメラによって受け取られ、前記カメラは各ラインが露出される時間である露出時間を有する、ドライバと、
    前記符号化光信号が少なくとも1つのメッセージを含み、各フレーム内で前記カメラによって露出されるラインよりも相当少ない数のラインから前記符号化光信号のサンプルが取得され、前記メッセージが前記相当少ない数のラインよりも長いとき、前記フレームのうちの複数の異なるフレームのそれぞれにおいて前記カメラが前記メッセージの異なる部分を見るようなタイミングで前記メッセージが複数回繰り返されるフォーマットに従って前記符号化光信号を生成するための前記コントローラ出力を生成するコントローラと
    を含む、デバイスであって、
    前記メッセージは、1フレームよりも長い持続時間を有し、
    前記メッセージは、異なるデータ内容を含む1つ又は複数のパケットを含み、前記メッセージの各パケットの後にパケット間休止期間が続き、前記メッセージの繰り返しは、前記パケット間休止期間とは異なるメッセージ間休止期間によって隔てられる、
    デバイス
  2. 前記メッセージは、前記複数のフレームにわたって前記メッセージ全体が見られるよう繰り返される、請求項1に記載のデバイス。
  3. 前記パケット間休止期間は、前記露出時間、又は予期される前記露出時間の最大値以上である、請求項に記載のデバイス。
  4. 前記メッセージ間休止期間は、前記複数の異なるフレームのそれぞれにおいて前記カメラが前記メッセージの異なる部分を見るような前記タイミングが得られるように選択される、請求項又はに記載のデバイス。
  5. 前記露出時間は1/30s以下、1/60s以下、又は1/120s以下である、請求項1乃至のいずれか一項に記載のデバイス。
  6. 前記少なくとも1つのメッセージは、メッセージあたり少なくとも3つのパケットから構成される、請求項1乃至のいずれか一項に記載のデバイス。
  7. 各パケットは、17ビット以下、12ビット以下、又は9ビット以下の長さを有する、請求項1乃至のいずれか一項に記載のデバイス。
  8. 前記パケット長は、1バイトのコンテンツと1つの同期ビットとからなる9ビットである、請求項に記載のデバイス。
  9. 前記コントローラは、前記信号のデータビットが3値マンチェスタ符号にマッピングされることによって表現される3値マンチェスタ変調符号体系に従って前記符号化光信号を符号化する、請求項1乃至のいずれか一項に記載のデバイス。
  10. 前記メッセージ間休止期間は、少なくとも4つの符号の持続時間を有する、請求項に従属する請求項に記載のデバイス。
  11. 各パケットは、19個の符号の長さを有し、前記パケット間休止期間は、33個の符号の持続時間を有し、前記メッセージ間休止期間は、5個の符号の持続時間を有する、請求項に従属する請求項10に記載のデバイス。
  12. 前記コントローラは、1kHz、2kHz、又は4kHzのシンボルレートで前記符号化光信号を符号化する、請求項乃至11のいずれか一項に記載のデバイス。
  13. 前記コントローラは、バックチャネルを介して前記カメラから前記露出時間の指標を受け取り、前記露出時間に基づき前記メッセージの前記フォーマットを適合させる、請求項1乃至12のいずれか一項に記載のデバイス。
  14. 前記コントローラは、前記複数の異なるフレームのそれぞれにおいて前記カメラが前記メッセージの異なる部分を見ることになるよう1つ又は複数のパラメータを選択することによって前記適合を実行し、前記1つ又は複数のパラメータは、パケット間休止期間、メッセージ間休止期間、メッセージあたりのパケット数、及び/又はシンボルレートを含む、請求項13に記載のデバイス。
  15. 前記コントローラは、前記パラメータの複数の異なる所定の組み合わせから選択することによって前記フォーマットを適合させる、請求項14に記載のデバイス。
  16. 前記ラインの数は、各フレームのラインの14%以下である、請求項1乃至15のいずれか一項に記載のデバイス。
  17. 請求項1乃至16のいずれか一項に記載のデバイス、前記光源、及び前記カメラを含むシステムであって、前記カメラは、各フレームにおいて前記カメラによって露出されるよりも相当少ない数のラインから前記サンプルが取得され、前記メッセージが前記相当少ない数のラインよりも長くなるよう、前記光源に対して配置される、システム。
  18. 光源から出射される可視光に符号化光信号を埋め込むよう前記光源を制御するステップであって、前記符号化光信号は少なくとも1つのメッセージを含む、ステップと、
    各フレームの複数のラインを順に露出することによってフレームを取り込むローリングシャッターカメラにおいて前記光を受け取るステップであって、前記カメラは各ラインが露出される時間である露出時間を有する、ステップと、
    各フレーム内で前記カメラによって露出されるよりも相当少ない数のラインから前記符号化光信号のサンプルを取得するステップと
    を含み、
    前記メッセージは前記数のラインより長く、前記符号化光信号は、前記フレームのうちの複数の異なるフレームのそれぞれにおいて前記カメラが前記メッセージの異なる部分を見るようなタイミングで前記メッセージが複数回繰り返されるフォーマットに従って生成され
    前記メッセージは、1フレームよりも長い持続時間を有し、
    前記メッセージは、異なるデータ内容を含む1つ又は複数のパケットを含み、前記メッセージの各パケットの後にパケット間休止期間が続き、前記メッセージの繰り返しは、前記パケット間休止期間とは異なるメッセージ間休止期間によって隔てられる、方法。
  19. コンピュータ可読記憶媒体上に具現化されたコードを含むコンピュータプログラムであって、コントローラ出力に基づき、光源を制御するためのドライバを含むデバイス上で実行されたとき、
    前記ドライバへの前記コントローラ出力に基づき、前記光源から出射される可視光に符号化光信号を埋め込むよう前記光源を制御する動作であって、前記可視光は、各フレームの複数のラインを順に露出することによってフレームを取り込むローリングシャッターカメラにおいて受け取られ、前記カメラは各ラインが露出される時間である露出時間を有する、動作と、
    前記符号化光信号は少なくとも1つのメッセージを含み、各フレーム内で前記カメラによって露出されるよりも相当少ない数のラインから前記符号化光信号のサンプルが取得され、前記メッセージが前記数のラインより長いとき、前記フレームのうちの複数の異なるフレームのそれぞれにおいて前記カメラによって前記メッセージの異なる部分が見られるようなタイミングで前記メッセージが複数回繰り返されるフォーマットに従って前記符号化光信号を生成するための前記ドライバへの出力のための前記コントローラ出力を生成する動作と
    を実行する、コンピュータプログラムであって、
    前記メッセージは、1フレームよりも長い持続時間を有し、
    前記メッセージは、異なるデータ内容を含む1つ又は複数のパケットを含み、前記メッセージの各パケットの後にパケット間休止期間が続き、前記メッセージの繰り返しは、前記パケット間休止期間とは異なるメッセージ間休止期間によって隔てられる、コンピュータプログラム
JP2016550867A 2014-02-14 2015-02-06 符号化光 Active JP6560687B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14155275.2 2014-02-14
EP14155275 2014-02-14
PCT/EP2015/052460 WO2015121154A1 (en) 2014-02-14 2015-02-06 Coded light

Publications (3)

Publication Number Publication Date
JP2017512399A JP2017512399A (ja) 2017-05-18
JP2017512399A5 JP2017512399A5 (ja) 2018-03-15
JP6560687B2 true JP6560687B2 (ja) 2019-08-14

Family

ID=50112784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016550867A Active JP6560687B2 (ja) 2014-02-14 2015-02-06 符号化光

Country Status (7)

Country Link
US (1) US10075236B2 (ja)
EP (1) EP3105999B1 (ja)
JP (1) JP6560687B2 (ja)
CN (1) CN106068678B (ja)
MX (1) MX2016010393A (ja)
RU (1) RU2016136682A (ja)
WO (1) WO2015121154A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2015349700B2 (en) * 2014-11-21 2019-11-07 Think Surgical, Inc. Visible light communication system for transmitting data between visual tracking systems and tracking markers
CN108702832B (zh) 2016-02-08 2021-01-01 百家丽有限公司 用于远程控制照明设备的装置和方法
ITUB20160571A1 (it) * 2016-02-08 2017-08-08 Beghelli Spa Apparato e metodo per il controllo a distanza di apparecchi di illuminazione
JP7051107B2 (ja) * 2016-07-22 2022-04-11 国立大学法人 東京大学 送信装置、受信装置及びプログラム
US10311683B2 (en) * 2016-07-26 2019-06-04 Walmart Apollo, Llc Apparatus and method for monitoring point of sale terminals
TWI620420B (zh) 2016-12-02 2018-04-01 財團法人資訊工業策進會 可見光通訊系統及方法
WO2019013023A1 (ja) * 2017-07-11 2019-01-17 大学共同利用機関法人情報・システム研究機構 情報伝送システム
CN107422926B (zh) * 2017-08-01 2020-12-18 英华达(上海)科技有限公司 一种输入方法及装置
WO2019048457A1 (en) * 2017-09-11 2019-03-14 Signify Holding B.V. CODED LIGHT DETECTION USING ROLLING SHUTTER CAMERAS
EP3954069A4 (en) * 2019-04-15 2022-04-27 Guangdong Oppo Mobile Telecommunications Corp., Ltd. METHOD AND SYSTEM FOR INVISIBLE LIGHT COMMUNICATION WITH A VISIBLE LIGHT CAMERA

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2714564B1 (fr) 1993-12-28 1996-02-09 Etat Francais Labo Cl Ponts Ch Procédé de commande d'une source lumineuse, moyens pour la mise en Óoeuvre de ce procédé et dispositif équipé des dits moyens.
JP2006270808A (ja) 2005-03-25 2006-10-05 Nec Corp 移動体通信ネットワークシステム、携帯通信端末、認証装置及びこれらの駆動方法、駆動プログラム
JP4325604B2 (ja) * 2005-09-30 2009-09-02 日本電気株式会社 可視光制御装置、可視光通信装置、可視光制御方法及びプログラム
JP2007171364A (ja) * 2005-12-20 2007-07-05 Samsung Electronics Co Ltd 可視光led光源装置、それを用いた画像投影システムおよび可視光ledの駆動方法
US8374201B2 (en) 2009-09-16 2013-02-12 Samsung Electronics Co., Ltd. Preamble design for supporting multiple topologies with visible light communication
BR112012017094A8 (pt) 2010-01-15 2017-07-11 Koninklijke Philips Electronics Nv Sistema de deteccção para determinar uma primeira sequência de repetição de n símbolos incluída em um primeiro código, método para determinar uma primeira sequência de repetição de n símbolos incluídos em um primeiro código e programa de computador
WO2011086501A1 (en) * 2010-01-15 2011-07-21 Koninklijke Philips Electronics N.V. Method and system for 2d detection of localized light contributions
EP2503852A1 (en) * 2011-03-22 2012-09-26 Koninklijke Philips Electronics N.V. Light detection system and method
JP5936902B2 (ja) * 2012-04-13 2016-06-22 株式会社東芝 伝送システム、送信装置および受信装置
CN103650383B (zh) * 2012-05-24 2017-04-12 松下电器(美国)知识产权公司 信息通信方法

Also Published As

Publication number Publication date
EP3105999B1 (en) 2020-08-05
EP3105999A1 (en) 2016-12-21
US20160359560A1 (en) 2016-12-08
MX2016010393A (es) 2017-05-12
CN106068678A (zh) 2016-11-02
CN106068678B (zh) 2019-10-25
WO2015121154A1 (en) 2015-08-20
US10075236B2 (en) 2018-09-11
JP2017512399A (ja) 2017-05-18
RU2016136682A3 (ja) 2018-11-14
RU2016136682A (ru) 2018-03-19

Similar Documents

Publication Publication Date Title
JP6198966B2 (ja) 符号化光
JP6560687B2 (ja) 符号化光
EP3107225B1 (en) Clock recovery for a coded light receiver
CN105704366B (zh) 混合格式媒体传输系统和方法
JP2017511034A (ja) 符号化光の休止期間を用いたシグナリング
JP3299396B2 (ja) 直角位相映像搬送波にディジタル信号を有するntsctv信号処理装置
KR101937560B1 (ko) 다중 위상편이변조(m-psk) 및 다중 주파수편이변조(m-fsk)의 복합통신 기반의 이미지 센서 통신 시스템
JPH07274141A (ja) ディジタル情報を伝送する装置及びディジタル信号受信器
JPH07288787A (ja) 直交位相ビデオ搬送波でntsctvと共に送信されたbpsk信号を処理する装置
KR100983272B1 (ko) Dtv 수신기에서의 반송파 복구 장치
KR20170084708A (ko) 디머블 다중 위상편이변조(m-psk) 기반 이미지 센서 통신 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180202

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180530

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190719

R150 Certificate of patent or registration of utility model

Ref document number: 6560687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250