(57)【要約】      （修正有）【課題】安価でエネルギー要求の少ない光学式/非接触運動エンコーダを実現する。【解決手段】画像フレームを提供する画像感知回路の光軸に垂直な方向における運動の間に、オブジェクトの少なくとも一部を順次画像化する画像フレームのシーケンスの画像データを取得し、次いで、画像フレームのシーケンスの少なくとも1つのピクセル位置に対して、取得された画像データに基づいて、少なくとも1つの持続時間値を計算する。各持続時間値は、画像フレームの前記シーケンスにおける連続的に発生する局所的極値点の持続時間であり、次いで、前記少なくとも1つの持続時間値に基づいて、運動を示す前記測度を提供し、測度に基づいて速度を推定する。【選択図】図５
2018119964.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト(1)の運動を示す測度を提供するための、運動エンコーダ(10;600;700)によって実行される方法であって、前記運動が、画像感知回路(610)に対して相対的であり、前記画像感知回路(610)が前記運動の間に前記オブジェクト(1)の少なくとも一部を順次画像化する画像フレームを提供するとき、前記画像感知回路(610)の光軸に垂直な方向であり、
前記方法が、
-  前記画像フレームのシーケンスの画像データを取得するステップ(51)と、
-  画像フレームの前記シーケンスの少なくとも1つのピクセル位置に対して、前記取得された画像データに基づいて、少なくとも1つの持続時間値を計算するステップ(52)であって、各持続時間値が、画像フレームの前記シーケンスにおける連続的に発生する局所的極値点の持続時間を示し、局所的極値点が、ピクセル位置の画像データ値が、前記ピクセル位置に最も近い隣接ピクセル位置である少なくとも2つのピクセル位置の画像データ値に対して最大値または最小値である場合、そのピクセル位置において存在する、ステップと、
-  前記少なくとも1つの持続時間値に基づいて、前記運動を示す前記測度を提供するステップ(54)と
を備える、方法。
【請求項２】
前記方法が、
-  前記提供された測度に基づいて、前記方向における前記オブジェクト(1)の速度を推定するステップ(55)をさらに備える、請求項1に記載の方法。
【請求項３】
前記少なくとも1つの持続時間値が複数の持続時間値であり、前記方法が、
-  前記少なくとも1つのピクセル位置について、前記複数の持続時間値に基づいて、実際の持続時間の推定値である単一の持続時間を表す代表値を計算するステップ(53)をさらに備え、
前記測度が、前記代表値に基づく、請求項1または2に記載の方法。
【請求項４】
前記少なくとも1つのピクセル位置が、複数のピクセル位置であり、前記代表値が、画像フレームの前記シーケンス中の前記複数のピクセルのピクセル位置ごとの最長持続時間を示すものとして識別される持続時間値に基づく、請求項3に記載の方法。
【請求項５】
前記代表値が、画像フレームの前記シーケンス中に前記複数のピクセル位置において発生する局所的極値点の数に基づく調整を含む、請求項4に記載の方法。
【請求項６】
前記代表値が、持続時間値ごとに発生する局所的極値点の数のカウントに基づく、請求項3に記載の方法。
【請求項７】
前記代表値が、前記カウントによる2つの最も頻繁に発生する持続時間値の識別に基づく、請求項6に記載の方法。
【請求項８】
前記少なくとも2つのピクセル位置が、互いに、かつ前記局所的極値点のピクセル位置と整列される、請求項1から7のいずれか一項に記載の方法。
【請求項９】
前記少なくとも2つのピクセル位置が、最も近い先行するピクセル位置および最も近い後続のピクセル位置ならびに2番目に近い先行するピクセル位置および2番目に近い後続のピクセル位置を含む、請求項8に記載の方法。
【請求項１０】
オブジェクト(1)の運動を示す測度を提供するための運動エンコーダ(10;600;700)であって、前記運動が、画像感知回路(610)に対して相対的であり、前記画像感知回路(610)が前記運動の間に前記オブジェクト(1)の少なくとも一部を順次画像化する画像フレームを提供するとき、前記画像感知回路(610)の光軸に垂直な方向であり、前記運動エンコーダ(10;600;700)が、
前記画像フレームのシーケンスの画像データを取得すること(51)と、
画像フレームの前記シーケンスの少なくとも1つのピクセル位置に対して、前記取得された画像データに基づいて、少なくとも1つの持続時間値を計算すること(52)であって、各持続時間値が、画像フレームの前記シーケンスにおける連続的に発生する局所的極値点の持続時間を示し、局所的極値点が、ピクセル位置の画像データ値が、前記ピクセル位置に最も近い隣接ピクセル位置である少なくとも2つのピクセル位置の画像データ値に対して最大値または最小値である場合、そのピクセル位置において存在する、計算することと、
前記少なくとも1つの持続時間値に基づいて、前記運動を示す前記測度を提供すること(54)と
を行うように構成される、運動エンコーダ(10;600;700)。
【請求項１１】
前記運動エンコーダ(10;600;700)が、
前記提供された測度に基づいて、前記提供された測度に基づく前記方向における前記オブジェクト(1)の速度を推定する(55)ようにさらに構成される、請求項10に記載の運動エンコーダ(10;600;700)。
【請求項１２】
前記少なくとも1つの持続時間値が複数の持続時間値であり、前記運動エンコーダ(10;600;700)が、
前記少なくとも1つのピクセル位置について、前記複数の持続時間値に基づいて、実際の持続時間の推定値である単一の持続時間を表す代表値を計算する(53)ようにさらに構成され、
前記測度が、前記代表値に基づく、請求項10または11に記載の運動エンコーダ(10;600;700)。
【請求項１３】
前記少なくとも1つのピクセル位置が、複数のピクセル位置であり、前記代表値が、画像フレームの前記シーケンス中の前記複数のピクセル位置のピクセル位置ごとの最長持続時間を示すものとして識別される持続時間値に基づく、請求項12に記載の運動エンコーダ(10;600;700)。
【請求項１４】
運動エンコーダ(10;600;700)によって実行されると、前記運動エンコーダ(10;600;700)に、請求項1から9のいずれか一項に記載の方法を実行させる命令を備えるコンピュータプログラム(703)。
【請求項１５】
請求項14に記載のコンピュータプログラム(703)を備えるキャリア(801;802;803)。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書における実施形態は、運動エンコーダ、すなわち、通過するように移動しているオブジェクトの運動を感知し、感知された運動を、運動を示す何らかのデータ、たとえば、速度推定値に符号化するように構成されたセンサに関する。具体的には、本明細書における実施形態は、光学または非接触運動エンコーダと呼ばれることもある、光の感知に基づく運動エンコーダに関する。
【背景技術】
【０００２】
運動エンコーダは、たとえば、簡単で単純な例だけを言えば、コンベアベルトの速度を見出すために使用され得る。通常、コンベアモータに接続された機械式エンコーダが使用される。しかしながら、何らかの理由のため、エンコーダが物理的に接触することが許されない場合、光を感知することに基づく光学式技法が代わりに使用され得る。1つの解決策は、正確であるが高価なドップラーレーダーを使用することである。別の解決策は、たとえば、CCDベースの従来のカメラと、画像処理とを使用することであり、これは、比較的安価であるが、より多くの処理を必要とし、依然として高価すぎるオプションである可能性がある。処理要件のために、たとえば、バッテリ駆動のセンサの場合、エネルギー消費もまた、望ましいものよりも高い可能性がある。したがって、従来の解決策は、いくつかの適用領域およびユースケースをまったくまたはあまり実際的関心でないようにする可能性がある。したがって、比較的多くの処理が従来の光学式運動エンコーダには必要であり、それらは、少なくともいくつかの状況では、望ましいものよりも高価でエネルギーを必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記に鑑みて、目的は、運動エンコーダに関する1つまたは複数の改善を提供することである。
【課題を解決するための手段】
【０００４】
本明細書における実施形態の第1の態様によれば、目的は、オブジェクトの運動を示す測度を提供するための、運動エンコーダによって実行される方法によって達成される。示されている運動は、画像感知回路に対して相対的であり、画像感知回路が運動の間に前記オブジェクトの少なくとも一部を順次画像化する画像フレームを提供するとき、画像感知回路の光軸に垂直な方向である。運動エンコーダは、前記画像フレームのシーケンスの画像データを取得する。運動エンコーダは、画像フレームの前記シーケンスの少なくとも1つのピクセル位置に対して、取得された画像データに基づいて、少なくとも1つの持続時間値を計算する。各持続時間値は、画像フレームの前記シーケンスにおける連続的に発生する局所的極値点の持続時間を示している。局所的極値点は、ピクセル位置の画像データ値が、前記ピクセル位置に最も近い隣接ピクセル位置である少なくとも2つのピクセル位置の画像データ値に対して最大値または最小値である場合、そのピクセル位置において存在する。運動エンコーダは、次いで、前記少なくとも1つの持続時間値に基づいて、運動を示す前記測度を提供する。
【０００５】
本明細書における実施形態の第2の態様によれば、目的は、運動エンコーダによって実行されると、運動エンコーダに第1の態様による方法を実行させる命令を含むコンピュータプログラムによって達成される。
【０００６】
本明細書における実施形態の第3の態様によれば、目的は、第2の態様によるコンピュータプログラムを含むコンピュータ可読媒体によって達成される。
【０００７】
本明細書における実施形態の第4の態様によれば、目的は、オブジェクトの運動を示す測度を提供するための運動エンコーダによって達成される。示される運動は、画像感知回路に対して相対的であり、画像感知回路が運動の間に前記オブジェクトの少なくとも一部を順次画像化する画像フレームを提供するとき、画像感知回路の光軸に垂直な方向である。運動エンコーダは、前記画像フレームのシーケンスの画像データを取得するように構成される。
【０００８】
運動エンコーダは、さらに、画像フレームの前記シーケンスの少なくとも1つのピクセル位置に対して、取得された画像データに基づいて、少なくとも1つの持続時間値を計算するように構成される。各持続時間値は、画像フレームの前記シーケンスにおける連続的に発生する局所的極値点の持続時間を示している。局所的極値点は、ピクセル位置の画像データ値が、前記ピクセル位置に最も近い隣接ピクセル位置である少なくとも2つのピクセル位置の画像データ値に対して最大値または最小値である場合、そのピクセル位置において存在する。さらに、運動エンコーダは、前記少なくとも1つの持続時間値に基づいて、運動を示す前記測度を提供するように構成される。
【０００９】
本明細書における実施形態は、オブジェクトの運動の「逆」計算に基づき、ピクセル内の局所的極値点、すなわち、局所的極値点(LEP:Local Extreme Point)の寿命、安定性、または滞在期間として記述され得るものに基づいて記述され得る。この解決策は、要求される演算の点でむしろ複雑ではなく、NSIPアーキテクチャ上での実施に非常に適している。これは、同じユニット、たとえば、チップ内に画像感知回路と処理能力の両方を含む高速でコンパクトな実装形態を可能にする。したがって、本明細書における実施形態のおかげで、従来のそのようなエンコーダよりも安価でエネルギー要求の少ない光学式/非接触運動エンコーダを実現することが可能である。また、たとえば、近い将来に発生することが予想されるモノのインターネット(IoT)「革命」と、費用効果が高くエネルギー効率のよいセンサに対するその需要とにより、この場合のように、NSIPを使用して適切に実装されるセンサは、特に重要である可能性がある。したがって、本明細書における実施形態は、従来の光学式運動エンコーダに関する改善を提供する。
【００１０】
本明細書における実施形態の例について、以下に簡単に説明する添付の概略図を参照してより詳細に説明する。
【図面の簡単な説明】
【００１１】
【図１】近接センサ画像処理(NSIP:Near Sensor Image Processing)概念の最初の商業的実装形態であるLAPP1100のアーキテクチャの概略ブロック図である。
【図２】LAPP1100の基本的な光感知部を概略的に示す図である。
【図３】画像内の局所的極値点(LEP)を例示するだけのシミュレーションからの図である。
【図４】本明細書における実施形態による運動エンコーダが用いられ得る状況を概略的に説明する図である。
【図５】本明細書における実施形態による方法の実施形態を概略的に説明するフローチャートである。
【図６ａ】本明細書における実施形態による運動エンコーダを実装するために使用され得るNSIPハードウェアアーキテクチャを概略的に説明するブロック図である。
【図６ｂ】2値化された画像データを有する状況におけるLEPを説明するための概略図である。
【図６ｃ】2値化された画像データを有する状況におけるLEPを説明するための概略図である。
【図７】本明細書における実施形態による運動エンコーダの実施形態と、運動エンコーダが方法を実行するためにどのように構成されるのかとを説明するための機能ブロック図である。
【図８ａ】運動エンコーダに前記方法を実行させるコンピュータプログラム製品およびコンピュータプログラムに関する実施形態を示す概略図である。
【図８ｂ】運動エンコーダに前記方法を実行させるコンピュータプログラム製品およびコンピュータプログラムに関する実施形態を示す概略図である。
【図８ｃ】運動エンコーダに前記方法を実行させるコンピュータプログラム製品およびコンピュータプログラムに関する実施形態を示す概略図である。
【発明を実施するための形態】
【００１２】
以下の説明を通して、適用可能なとき、同様の要素、ユニット、モジュール、ノード、部分、アイテム、または特徴を示すために、同様の参照番号が使用されることができる。図に示されているもののいくつかの実施形態においてのみ現れる特徴は、典型的には、図面において破線によって示されている。
【００１３】
以下では、本明細書における実施形態について、例示的な実施形態によって説明する。これらの実施形態は、必ずしも相互に排他的ではないことに留意されたい。ある実施形態からの構成要素は、別の実施形態において存在することが暗黙のうちに想定されてもよく、これらの構成要素が他の例示的な実施形態においてどのように使用され得るのかは、当業者には明らかであろう。
【００１４】
本明細書における実施形態に向けた開発の一部として、背景に示された状況および問題について、最初にさらに詳述する。
【００１５】
本出願人は、衝突までの時間(TTI:Time-to-impact)に関する特許を以前に出願し、いくつかの国で特許取得しており、たとえば、WO2013/107525を参照されたい。TTIは、カメラおよびオブジェクトが互いの方に、または互いに離れる方に移動しているとき、カメラとカメラによって見られるオブジェクトとの間に起こり得る衝突が生じる時間を推定することを目的とし、カメラは、オブジェクトがカメラに相対的に近づくとき、またはカメラから遠ざかるとき、画像のシーケンスによってオブジェクトを撮像する。
【００１６】
従来、リアルタイムでTTI推定を実行するために必要な画像処理は、かなりの量のハードウェアリソースを必要とし、カメラのダイナミックレンジは、特に屋外用途については高くする必要がある。画像内の空間的な運動を計算するために、典型的にはオプティカルフローが推定される。これをリアルタイムで行うことは、1つまたは複数のフレームを保持することができる高速のコンピューティングハードウェアおよびデータストレージを必要とする。
【００１７】
前記特許されたTTI推定アルゴリズムの基礎をなす解決策は、代わりに、運動の「逆」、すなわち、画像特徴がどれくらい長く同じピクセル位置に留まるのかを推定するアルゴリズムに基づく。アルゴリズムは、局所的極値点または局所的極値点(LEP)を識別することに基づく。局所的極値点は、ピクセル位置の画像データ値が、最も近い隣接ピクセル位置である少なくとも2つのピクセル位置の画像データ値に対して最大値または最小値である場合、そのピクセル位置において存在する。演算をピクセル位置に対して独立して実行することができ、LEPは、非常に局所的なデータに関連するため、計算を並列に行うことができ、TTIアルゴリズムの実装は、したがって、並列計算のためのハードウェアアーキテクチャ、たとえば、単一命令多重データ(SIMD:Single Instruction Multiple Data)タイプのプロセッサにおいて実装されるのによく適していた。具体的には、画像感知回路上に直接、もしくは画像感知回路と密接に関連して、または、さらには単一の感知要素と密接に関連して処理能力を有する並列アーキテクチャに良好に使用された。たとえば、本発明者らは、TTI推定アルゴリズムを用いるそれらのLEPベースの手法が、計算負荷を大幅に低減し、また、たとえば、NSIPタイプのプロセッサ上で近接センサ画像処理(NSIP)アーキテクチャを使用して実装されるのに自然にふさわしいことを示すことができ、これは、非常に費用効果が高い実装と低消費電力とを可能にする。
【００１８】
TTI推定の技術的領域、目的、および結果は、運動エンコーダのものとは異なるが、本明細書における実施形態は、TTIの場合と同様の手法が改善された運動エンコーダを達成するためにも使用され得るという理解に基づく。また、本明細書における実施形態は、以下でさらに説明するように、NSIPアーキテクチャ上で適切に実装される。
【００１９】
本明細書における実施形態およびその利点の後の理解を容易にするので、NSIPの概念についてここでいくらか詳細に説明する。
【００２０】
NSIPは、約30年前に初めて説明された概念であり、NSIPでは、光センサアレイおよび特定の低レベル処理ユニットが、ハイブリッドアナログ-デジタルデバイスに緊密に統合された。その低い全体的な複雑さにもかかわらず、最先端の解決策と有利に競合する高速で、多数の画像処理演算が依然として実行され得る。
【００２１】
図1は、NSIPの概念の最初の商業的実装形態であるLAPP1100チップのアーキテクチャの概略ブロック図である。LAPP1100は、ピクセルごとに1つの、128のプロセッサスライスを備える。光感知回路の他に、各スライスは、小さい演算ユニットと、14ビットのストレージとを含む。画像データは、シフトレジスタから読み出され得るが、128ビットライン画像内の1つまたは複数のセットビットの発生(グローバルOR)またはセットビットの総数(COUNT)についてもテストされる。オンボードのアナログ-デジタル(A/D)コンバータは、存在しない。代わりに、A/DコンバータがLAPP1100に基づくアプリケーションの一部である場合、A/Dコンバータは、いくつかの異なる原理のうちの1つを使用してソフトウェアにおいて実装され得る。1つは、各CMOSフォトダイオードが光への暴露の間に示すほぼ線形の放電を利用することに基づく。次いで、各ピクセルについてフォトダイオードが定義済みのレベルに達したときカウントを停止する並列カウンタを実装するために、選択された数のレジスタが演算ユニットとともに使用され得る。しかしながら、A/D変換は、しばしば必要ではない。特定の特徴のためのフィルタリング、または適応的しきい値処理などの多くのタスクは、各ピクセルにおいて利用可能な小さいビットプロセッサと組み合わせてチップのピクセル読出し回路を利用することによって、同様に容易に行われ得る。LAPP1100に関する経験は、NSIPの名前の下で要約され、公開されている。
【００２２】
図2は、ピクセルの画像データを提供するためのLAPP1100の基本的な光感知部a〜fを概略的に示す。キャパシタbは、フォトダイオードcの固有キャパシタンスを表す。スイッチaがオンのとき、ダイオードは、その最高の値にプリチャージする。スイッチがオフにされ、フォトダイオードが光誘起電流により放電すると、比較器dの入力における電圧が低下する。あるレベルにおいて、この電圧は、基準電圧eを通過し、出力fは、ピクセルの画像データに対応するその論理値を切り替える。出力、すなわち、ビット値である画像データは、次いで、ビット直列演算論理ユニットgにおいて処理され得る。光感知部a〜fは、光感知要素またはピクセル読出し回路に対応すると見なされてもよく、ビット直列演算論理ユニットgは、ピクセルプロセッサまたはビットプロセッサと呼ばれることもあるコンピューティング要素に対応すると見なされてもよい。特定の特徴のためのフィルタリング、ヒストグラム化、または適応的しきい値処理を行うなどの多くのタスクは、各ピクセルのために利用可能なビットプロセッサと組み合わせてピクセル読出し回路を利用することによって実行され得る。ピクセル読出しからの出力は、それが、画像強度がしきい値よりも上または下であるという情報を表すとき、2値化された画像データと呼ばれることがある。しかしながら、プリチャージから出力切り替えまでの持続時間は、A/D変換または他の強度関連の演算のためにプロセッサによって利用され得る、完全なまたは少なくともより多くの画像強度の情報を含む。この概念は、当然高いダイナミックレンジならびに非常に高いフレームレートを与える。
【００２３】
NSIPアーキテクチャのプロセッサ部分を説明するとき、そのセンサ部分におけるピクセル数に等しいワード長を有する単一のプロセッサとしてそのプロセッサ部分を見ることが便利である可能性がある。プロセッサの主要部分は、前記ワード長のサイズのレジスタワードを含むレジスタファイルである。第2のレジスタは、アキュムレータである。後のNSIPの実装は、特定のタイプの処理を強化するための他のレジスタおよび/または追加のレジスタも含む。第1のクラスの単純な演算は、AND、ORなどの「点演算」である。それらは、典型的には、レジスタとアキュムレータとの間に適用され、新しい結果を保持するようにアキュムレータを変更する。第2のクラスの典型的には非常に有用な演算は、低レベルフィルタリング演算を形成するために3要素テンプレートがレジスタにわたって同時に適用され得る近傍論理ユニット(NLU:Neighborhood Logical Unit)による「局所演算」である。そのような演算の1次元の例は、テンプレート(01x)をワード内の各位置と比較し、テンプレートが適合する場合、論理1を生成し、そうでない場合、論理0を生成する演算「(01x)R1」である。この特定のテンプレートは、その左隣が0であり、右隣が1または0のどちらでもよい、すなわち、「ドントケア」である間、ビット位置自体が値1を有することをチェックする。この局所演算子は、たとえば、強度画像内のエッジを見つけること、および局所的極値点を見つけることに関して言えば、有用であり得る。
【００２４】
第3のクラスの演算は、「大域演算」である。これらは、レジスタ内の左端もしくは右端1を見つける、または特定の位置からすべてのビットをゼロにする、もしくは連続する0ビットのグループを設定するなどの多くの異なる目的のために使用される。大域演算は、すべて、2つの入力レジスタを被演算子として使用するマーク演算から導出される。第1のレジスタ内のセットビットは、第2のレジスタ内のオブジェクトへのポインタとして見なされる。オブジェクトは、1の接続されたセットである。指示されたオブジェクトは、保持され、結果に転送される。
【００２５】
手元にある上述した演算を用いて、典型的な低レベル画像処理タスクの大部分を実施することができる。命令は、たとえば、16ビットバスを介して、外部またはチップ内部のシーケンサまたはマイクロプロセッサから一度に1つずつ発行される。処理された画像は、たとえば、同じバスまたは専用I/Oチャネルを介して読み出され得る。しかしながら、ほとんどの場合、画像特徴の位置、最高強度値、一次モーメントなどのいくらかの特定のスカラー値を計算することで十分である。この理由のため、NSIPアーキテクチャは、アキュムレータ内のセットビットの数を常に反映するように構成されたカウントステータスCOUNT、ならびに、アキュムレータ内の1つまたは複数のビットがセットされているかどうかを示すグローバルORを含む。そのようなステータス情報のおかげで、NSIPに基づくアプリケーションは、しばしば、チップから完全な従来の画像を読み出す必要がなく、したがって、アプリケーションを大幅に高速化する。例として、各々が、たとえば、プロセッサ内のbビットによって表されるすべての値f(i)の合計は、bCOUNT演算、ならびに、COUNT結果の適切なスケーリングおよび合計のみを使用して見出され得る。
【００２６】
上記で紹介したNSIPアーキテクチャ上に本明細書における実施形態を実装するとき、LEPは、画像データから抽出される。LEPを抽出する最も簡単な演算の1つは、3×1近傍内の極小値を見つけることである。これは、中央のピクセルがその両方の隣接ピクセルと比較してより低い強度を有する場合、このピクセルがLEPであることを意味する。認識されるように、そのような極小値を見つけることは、基本的なNSIP NLU演算を使用して達成され得るが、他の順次演算を使用して行われてもよい。また、上記で説明したNSIP概念のおかげで、明るい領域と暗い領域の両方において極小値を見つけることを容易にする高いダイナミックレンジが存在する。
【００２７】
以下の開示は、NSIP概念に基づくいくつかのさらなる実施形態の例である。
Eklund J-E, Svensson CおよびÅstrom A、「Implementation of a Focal Plane Processor. A realization of the Near-Sensor Image Processing Concept」IEEE Trans. VLSI Systems, 4、(1996)。
El Gamal A.、「Trends in CMOS Image Sensor Technology and Design」、International Electron Devices Meeting Digest of Technical Papers、805〜808頁(2002)。
Guilvard A.ら、「A Digital High Dynamic Range CMOS Image Sensor with Multi-Integration and Pixel Readout Request」、in Proc. of SPIE-IS&T Electronic Imaging、6501、(2007)。
【００２８】
図3は、画像内のLEPを例示する、LEPのよりよい理解のためだけのシミュレーションからの図である。標準画像からの行が撮影され、LEPがマークされている。LEPは、局所3×1近傍内で識別され、この場合には極小値に対応している。LEPを見つけるためのNSIP演算は、(101)として定義されてもよく、これは、中心ピクセルがそのしきい値を通過していないが、2つの最も近い、すなわち最近接の隣接ピクセルが両方ともしきい値を通過している場合、中心ピクセルが極小値点に対応するLEPであることを意味する。図において、黒点において示されたLEPをよりよく例示するために、画像の一部が拡大されている。示された図において使用された画像からの各行は、512ピクセルから構成され、図示された特定の場合において、選択された行に沿って約70のLEPが存在する。
【００２９】
たとえば、光学式運動エンコーダのカメラを使用する、コンベアベルト速度のような運動を推定するための典型的な単純な従来のステップは、以下の例示的なアルゴリズムによって記述され得る。
a1.わずかに時間をおいて2つの写真を撮り、運動中のオブジェクトを撮像する。露光設定は、たとえば、コンベアベルトの場合、ベルト自体から、またはベルト上に存在するオブジェクトから、いくらかの画像コントラストが得られるように選択される必要がある。
a2.運動方向に沿った異なるピクセル変位またはサブピクセル変位を使用して写真をマッチさせる。
a3.最適なマッチングに対応する変位を見つける。
a4.キャリブレーションデータを使用して変位を正しいメートル変位にマッピングする。
a5.メートル変位および画像を分離する時間から速度を決定する。
【００３０】
本明細書における実施形態は、対照的に、変位が2つの連続する画像間のピクセルについて測定されないが、代わりに、オブジェクトがピクセル距離内に留まる時間が測定される、オブジェクトの運動推定のためのアルゴリズムに基づく。ピクセル距離は、使用される画像センサ上の感知要素のサイズによって与えられ、この感知要素は、問題のピクセルの画像データを提供する。ピクセル距離は、実現されるべきであるように、オブジェクト距離に対応し、すなわち、オブジェクト、たとえば、コンベアベルト上の実際のまたは「現実世界の」距離、たとえば、メートル距離に対応し、これは、たとえば、キャリブレーションによって見つけられ得る。ある程度まで、これは、上述したTTI推定アルゴリズムと同じ基礎原理に基づく。しかしながら、TTIの場合は、オブジェクトが画像センサから遠方に、または画像センサに向かって、すなわち、画像センサの光軸と平行方向に相対的に移動している状況に関連するが、運動エンコーダの場合には、オブジェクトは、通過するように相対的に移動している、すなわち、光軸に垂直な方向に相対的に移動している。本明細書における実施形態では、オブジェクト全体が画像化される必要はなく、代わりに、LEPの形態における単一のピクセル特徴が検出されることにも留意されたい。どれくらい多くのフレームについてピクセル特徴が同じピクセル内に留まるのかが追跡される。以下は、本明細書における実施形態が基づく例示的で少し単純化されたアルゴリズムである。
b1.運動中のオブジェクトを順次に画像化する画像フレーム内のいくつかのLEPを識別する。
b2.どれくらい多くの画像フレームで、各LEPが同じピクセル内に留まる、すなわち、同じピクセル位置において識別されるのかを追跡し、これは、「LEPラン(LEP run)」と呼ばれることがある。
b3.すべてのLEPのランの典型的な測度、たとえば、平均値を計算する。
b4.ピクセル距離を、たとえば、オブジェクト上のメートル距離に対応する、オブジェクト上の実際の距離にマッピングする。
b5.実際の距離、典型的な測度、たとえば、平均値、および画像フレームを分離する時間から速度を決定する。
【００３１】
図4は、以下でさらに詳細に説明するような、本明細書における実施形態による運動エンコーダ10が用いられ得る状況、すなわち、ここでは運動中の、速度vで移動するコンベアベルトによって例示されるオブジェクト1の速度を推定するための状況を概略的に示す。図示された図において、運動エンコーダ10は、画像感知回路(図示せず)、すなわち、画像センサを備え、画像感知回路は、カメラの一部であってもよく、オブジェクト1が速度vで移動するとき、運動中のオブジェクト1を撮像している。画像感知回路は、以下で説明するように、好ましくはNSIPアーキテクチャに基づいてもよい。したがって、好ましくは、画像感知回路(図示せず)は、画像エンコーダ10の残りの部分と一体化される。しかしながら、本明細書におけるいくつかの実施形態は、実際の運動エンコーダが、画像感知回路と別個であり、おそらくは画像感知回路から離れており、たとえば、それを備えるカメラから離れており、画像感知回路によって提供される画像フレームに対して動作するときにも適用可能である。運動エンコーダ10を構成する画像感知回路(図示せず)の光軸11が図に示されている。符号化されるべき運動は、光軸11に垂直な方向であり、これは、以下にさらに続くものからよりよく理解されるであろう。
【００３２】
図5は、オブジェクト、たとえば、コンベアベルトなどのオブジェクト1の運動を示す測度を提供するための、運動エンコーダ、たとえば、運動エンコーダ10によって実行される方法の実施形態を概略的に示すフローチャートである。運動は、画像センサ回路が、運動中の前記オブジェクト1の少なくとも一部を順次に画像化する画像フレームを提供するとき、画像センサに対して相対的であり、画像感知回路、たとえば、画像センサの光軸、たとえば、光軸11に垂直の方向である。図4に示し、以下でさらに説明するように、画像感知回路は、有利には、運動エンコーダ10の一部であり、すなわち、運動エンコーダは、有利には、画像感知回路を備えている。
【００３３】
方法は、以下のアクションを含み、このアクションは、任意の適切な順序で行われてもよく、および/または、これが可能であり適切であるとき、完全にまたは部分的に重なって実行されてもよい。フローチャート内のいくつかのアクションボックスの左側の概略的な説明は、理解を容易にするだけのために追加された単なる単純化された例であり、以下のアクションに記載されているものをどのように限定するものとも見なされないことに留意されたい。
【００３４】
アクション51
運動エンコーダ10は、前記画像フレームのシーケンスの画像データを取得する。画像フレームは、したがって、前記方向における運動中、たとえば、前記方向において推定された速度で移動するとき、オブジェクト1、たとえば、コンベアベルトを順次に画像化している。シーケンスを取得することは、運動エンコーダが画像フレームのシーケンスのそれぞれの画像フレームに関連する画像データを取得することを意味する。
【００３５】
シーケンスとして取得されるべき画像フレームの数は、事前定義されてもよく、ならびに/または予め決定されてもよく、ならびに/または方法もしくは方法の一部の実行中、フィードバックなどに基づいて、たとえば、次のアクションの下で説明するように、少なくとも特定の数の持続時間値が計算されていること、および/もしくは1つまたは2つの持続時間値が実質的により頻繁に発生することに基づいて決定されてもよい。画像フレームの数は、たとえば、キャリブレーション手順の一部として、またはキャリブレーション手順に関連して決定されてもよい。また、特定のタイプの目的および/または特定の環境において使用するための運動エンコーダの設置時に、ケース特有のまたは利用可能なパラメータ、たとえば、画像感知回路のパラメータが調整されてもよい。パラメータは、感度レベル、しきい値、フレームレート、光条件などに関連してもよく、以下に説明するように適切な数の持続時間値をもたらすべき許容可能な数の画像フレームが存在するまで、運動エンコーダのテスト実行および/またはキャリブレーション中に調整されてもよい。低ノイズ、および強度変化がほとんどない物体表面を有するいくつかの状況では、シーケンスが少なくとも1つの持続時間値をもたらすことで十分である可能性があり、他の状況では、2つの持続時間値が他の持続時間値よりも有意におよび/または識別可能に頻繁に発生し、それによって、以下に説明するように、この数の画像フレームを有するシーケンスが有用な情報を生成することができることを示す結果をもたらすように、十分な実行が望ましい可能性がある。
【００３６】
一般に、ノイズの存在下では、シーケンス内のより多数の画像フレームは、シーケンスの時間期間中の平均速度のより正確な推定を可能にすることができる。より多数であることによる欠点は、運動を示す測度が提供される前に、同じフレームレートで、管理および処理するより多くのデータと、より長い時間である。シーケンスは、図において、7つの画像フレームのみによって概略的に示され、例示されている。典型的には、実際には、たとえば、100画像フレーム以上の大きさにおける、はるかにより大きい数が使用されてもよい。
【００３７】
アクション52
運動エンコーダ1は、画像フレームの前記シーケンスの少なくとも1つのピクセル位置について、取得された画像データに基づいて、少なくとも1つの持続時間値を計算する。各持続時間値は、画像フレームの前記シーケンスにおける局所的極値点、すなわちLEPを連続して発生する持続時間を示す。すでに述べたように、ピクセル位置の画像データ値が、前記ピクセル位置に最も近い隣接ピクセル位置である少なくとも2つのピクセル位置の画像データ値に対して最大値または最小値である場合、局所的極値点、すなわちLEPがピクセル位置において存在する。
【００３８】
少なくとも1つの持続時間値は、典型的には、複数の持続時間値である。各持続時間値は、LEPラン、すなわち、シーケンスの連続する画像フレームの間に局所的極値点がどれくらい長くピクセル内に留まったのかを示すと見なされてもよく、典型的にはその測度である。
【００３９】
本明細書で使用する場合、ピクセルは、たとえば、前記画像フレームの1つのピクチャ、典型的にはデジタル画像の最小ピクチャ要素である。ピクセルは、ピクセル位置、すなわち、ピクチャ内のピクセルの位置と、画像データ、たとえば、ピクセルの1つもしくは複数の色および/または強度に対応する1つまたは複数の値とに関連付けられる。ピクセル位置は、シーケンスの画像フレームについて同じであるが、各画像フレームは、それ自体のピクセルを有し、すなわち、ピクセル位置内にそれ自体の画像データを有する。言い換えれば、ピクセル位置は、固定されるが、画像化されるもの、ここでは運動中のオブジェクト、およびそれによる画像データは、運動とともに変化し、すなわち、同じピクセル位置におけるピクセルの画像データは、画像フレーム間で変化する場合がある。画像フレームを提供する画像感知回路は、典型的には、ピクセルごとに1つの感知要素を含み、この感知要素は、ピクセルの画像データを生成する。したがって、ピクセル位置と、ピクセルの画像データを提供する感知要素の位置との間に対応関係が存在し得る。感知要素は、光を感知し、それに応答して、各画像フレームを形成するピクセルの画像データを提供するように構成される。時には、画像センサの感知要素は、センサのピクセルと呼ばれる。感知要素が配置され得る方法などの例については、たとえば、図6および関連する以下のテキストを参照されたい。
【００４０】
本アクションは、画像フレームのシーケンスの間に1つまたは複数のピクセル位置についてLEPの識別が存在し、したがって、そのピクセル位置は、シーケンスのすべての画像フレームにおいて同じであり、これらのピクセル位置の各々について、連続して続く、すなわち、シーケンス内で互いの後に直接続くLEPの数がチェックされることを意味するものと見なすことができる。連続するLEPの各々のそのような発生は、LEPランに対応する。したがって、各持続時間値は、そのような連続するLEPの数を識別する値であってもよく、これは、理解されるように、画像フレームの数に対応し、また、LEPランと呼ばれることもある。ピクセル位置内にLEPがもはや存在しないとき、ピクセル位置に対するLEPランは、終了する。したがって、各持続時間値は、たとえば、連続するLEPの数を識別する整数であってもよく、または、たとえば、LEPランの最初のLEPと最後のLEPとの間の時間を識別する時間値であってもよい。
【００４１】
たとえば、図5に概略的に示すように、3つの異なるピクセル位置p1〜p3が存在し、その各々について持続時間値が計算される。原理的には、画像フレームの数を示す任意の値が持続時間値として使用されてもよいが、典型的には、「画像フレームの数」を単位とする整数値である。図示の概略例では、ピクセル位置p1に対して2つのLEPが存在し、1つは、1つの画像フレームの持続時間を有し、1つは、3つの画像フレームの持続時間を有する。ピクセル位置p2について、図示のシーケンス内にLEPは存在しない。ピクセル位置p3について、2つの画像フレームの持続時間を有する1つのLEPが存在する。
【００４２】
前記少なくとも2つのピクセル位置、すなわち、関連してLEPが識別された少なくとも2つのピクセル位置が互いに整列され、局所的極値点のピクセル位置が、たとえば、同じ列内にある画像感知回路の感知要素によって提供される場合、有利であり得る。これは、図5では視覚化されていないが、図6および以下に続く関連するテキストを参照してよりよく理解され得ることに留意されたい。いずれにしても、そのような整列は、たとえば、図6に関連して以下に説明するNSIPアーキテクチャに基づいて、NSIPを使用する、たとえば、それぞれピクセル列からの画像データに対して機能するピクセルプロセッサの単一の行を有する1.5D NSIPを使用して、比較的簡単で費用効果が高い実施態様を容易にし、可能にする。前記整列は、たとえば、同じ列内の、同じラインに沿った最も近い隣接ピクセルに関してのみLEPを識別することに対応する。言い換えれば、LEPの識別は、典型的には予め決定された単一の方向にのみ行われるこれらの実施形態に関するものである。示されるべき運動は、この方向にあるべきである。
【００４３】
しかしながら、本明細書における実施形態は、一般に、LEPが画像平面内のすべての最も近い隣接ピクセルに関して識別される、したがって、典型的には、少なくとも、上、下、左、および右に最も近いピクセルなどの、少なくとも4つの最も近い隣接ピクセルに関して識別される場合にも機能することに留意すべきである。この場合、示されるべき運動は、原理的には、画像平面内の任意の方向にあり得る。しかしながら、この場合、従来の画像処理手法と比較した利点は、より小さく、または不十分でさえある可能性がある。1方向にのみ関してLEPが識別されることの可能性のある欠点は、運動がこの方向において、たとえば、画像感知回路の列に沿って検出されなければならないことであり、すなわち、実際には、画像感知回路、または、画像感知回路が含まれるときは運動エンコーダ10が、予想される運動の方向に対してそのようになるように配置されなければならないことである。大部分の状況では、これは、問題にはならず、もちろん、2つ以上の方向において運動を示すことができることが望ましい場合、複数の運動エンコーダにも適用され得る。
【００４４】
さらに、前記少なくとも2つのピクセル位置が、最も近い先行するピクセル位置および最も近い後続のピクセル位置と、2番目に近い先行するピクセル位置および2番目に近い後続するピクセル位置とを追加で備える場合、有利であり得る。2番目に近い隣接ピクセル位置も含むことによって、ノイズに対するロバスト性が高められ得る。
【００４５】
運動エンコーダ10が、好ましくは運動エンコーダ10と一体化された画像感知回路のから画像データを読み取ることによって画像データを取得し、LAPP1100において可能にされるように、各ピクセル位置の画像データが、感知されたレベルをしきい値と比較することによって提供される2値化された画像データであるいくつかの実施形態では、ノイズロバスト性は、異なるしきい値を適用することによってさらに改善され得る。すなわち、異なるしきい値は、LEPのピクセル位置、および/または前記最も近いピクセル位置、および/または第2の最も近いピクセル位置に関する2値化された画像データを提供するために使用され得る。
【００４６】
NSIPによる実装形態に関連する局所的極値点、LEP、持続時間値、および利点について、図6に関して以下にさらに説明し、例示する。
【００４７】
アクション53
いくつかの実施形態では、少なくとも1つの持続時間値は、複数の持続時間値である。運動エンコーダ10は、前記少なくとも1つのピクセル位置について、前記複数の持続時間値に基づいて、実際の持続時間の推定値である単一の持続時間を表す代表値を計算する。典型的には、実数であるまたは実際には浮動小数点値である、代表値は、前記単一の持続時間を示す任意の値であってもよく、したがって典型的には、画像フレームの数などの、持続時間値と同じ単位を有する。
【００４８】
いくつかの実施形態では、前記少なくとも1つのピクセル位置は、複数のピクセル位置であり、前記代表値は、したがって、前記複数のピクセル位置に基づく単一の持続時間を表している。複数のピクセル位置は、LEPランをキャプチャする可能性を高め、運動エンコーダをより多くの状況で有用にする。複数のピクセル位置は、たとえば、画像感知回路の行などのラインのすべてのピクセル位置に対応してもよい。これについて、以下で図6に関連してさらに説明する。この状況では、実際には、まず、ピクセル位置ごとに、このピクセル位置の単一の持続時間値を表しているサブ代表値が提供され、次いで、複数のピクセル位置のすべてに関する単一の持続時間を表す最終的な代表値が提供されてもよい。
【００４９】
いくつかの実施形態では、特にNSIPアーキテクチャにおける実装形態について、代表値が、画像フレームのシーケンスの間の前記少なくとも1つのピクセル位置のピクセル位置ごとの最長持続時間を表すものとして識別されている持続時間値に基づく場合、有利であり得る。ピクセルごとの最長持続時間が利用される実施形態について、以下でさらに説明する。ピクセル位置ごとの最長持続時間を示すものとして識別されている持続時間値は、上述したようにサブ代表値の例である。
【００５０】
いくつかの実施形態では、代表値は、持続時間値の平均を示し、たとえば、数学の当業者によって認識されるべきであるように、指示、算術平均、中央値、または最頻値などに基づいてもよい。最頻値は、複数の持続時間値の中で最も頻繁に発生する1つまたは2つの持続時間値によって示されてもよい。理解されるべきであるように、2つの最も頻繁に発生する持続時間値は、典型的には、2つの連続した整数である。この場合、代表値は、さらに、2つの最も頻繁に発生する持続時間値の計算された算術平均もしくは中央値に基づいてもよく、および/または、それらが互いに関連してどれくらいの頻度で発生するのかに基づいてもよい。
【００５１】
たとえば、3つのピクセル位置p1〜p3と7つの画像フレームとを有する図示の例では、持続時間1、2と3つの画像フレームとを有する3つのLEPが存在し、したがって、算術平均は、(1+2+3)/3=2画像フレームである。
【００５２】
さらなる例として、代表値が、上述したように、ピクセル位置ごとの最長持続時間を示すものとして識別されている持続時間値に基づくとき、代表値は、さらに、これらの持続時間値の算術平均または中央値に基づいてもよく、たとえば、それらとして計算されてもよい。図示の例に関して、これは、代表値が、p1に関する持続時間3、p2に関する持続時間0、およびp3に関する持続時間2に基づくことを意味する。したがって、算術平均は、このとき(3+2)/2=2.5となる。この例が示すように、理解され得るように、この手法は、誤差を有し、上記の手法よりも高い平均の表現をもたらす傾向があり、たとえば、高すぎる速度推定をもたらす可能性がある。しかしながら、以下でさらに別途説明するように、これを補正し補償するために調整が行われ得る。
【００５３】
上述したように、代表値が、前記少なくとも1つのピクセル位置のピクセル位置ごとの最長持続時間を示すものとして識別されている持続時間値に基づく場合、代表値が、画像フレームのシーケンスの間に前記複数のピクセル位置において発生する局所的極値点の数に基づいた調整を含む場合、有利であり得る。以下で別途説明するように、上述した誤差は、そのような調整によって補正され得、または少なくとも低減され得ることが示され得る。したがって、調整は、最長持続時間値を保持することからもたらされ、典型的には低すぎる速度推定値をもたらす偏りの補正または少なくとも低減を可能にする。調整は、それによって、改善された精度を可能にする。
【００５４】
いくつかの実施形態では、代表値は、持続時間値ごとに発生する局所的極値点の数のカウントに基づく。これは、たとえば、NSIPアーキテクチャにおいて、各持続時間値について共通のカウントを維持することを容易にし、共通のカウントは、たとえば、NSIPアーキテクチャの場合、ピクセルプロセッサによって実行時に更新され得る。これは、シーケンスの画像フレームの数を、カウントに基づいて、したがって同様に実行時に決定させることを可能にする。これによって、満足なおよび/または十分な代表値を生成するために必要とされるよりも多くの画像フレームは、キャプチャおよび/または使用される必要がない可能性がある。代表値は、有利には、カウントに従って最も頻繁に発生する2つの持続時間値の識別に基づいてもよい。代表値は、次いで、さらに、最も頻繁に発生する2つの持続時間値の相対的な分布、すなわち、それらが互いに対してどれくらい頻繁に生じるのかに基づいてもよい。これは、実際の持続時間のよりよい推定値である持続時間を表す代表値を計算することを可能にする。
【００５５】
いくつかの実施形態では、代表値の計算は、たとえば、予め定義されてもよいおよび/または予め決定されてもよい特定の基準に従って、前記持続時間値のうちのいくつかを除外する。この除外は、少なくともいくつかの状況において、より正確なおよび/またはより関連性のある、すなわち、改善された、運動を示す測度を可能にする。たとえば、明らかに関連性のない持続時間値、望ましくない運動、たとえば、関連性のないもしくは望ましくないことが知られている範囲内の速度を表す持続時間値、および/またはノイズに関連する持続時間値を除去することが望ましい可能性がある。たとえば、特定の持続時間未満の持続時間値は、除外されてもよく、または、たとえば、2つ以上の最も頻繁に発生する持続時間値に属さないすべての持続時間値は、除外されてもよい。
【００５６】
アクション54
運動エンコーダ10は、前記少なくとも1つの持続時間値に基づいて、運動を示す前記測度を提供する。
【００５７】
アクション53の代表値が計算されているいくつかの実施形態では、前記測度は、代表値に基づき、たとえば、代表値である。1つの持続時間値のみが存在する場合、測度は、この持続時間値に直接基づいてもよく、たとえば、この持続時間値であってもよい。
【００５８】
本明細書における実施形態は、オブジェクト運動の「逆」計算に基づいて、ピクセル内のLEPの寿命、安定性、または滞在期間として説明され得るものに基づいて説明され得る。この解決策は、要求される演算の点でむしろ複雑ではなく、NSIPアーキテクチャにおける実装形態に非常に適している。これは、同じユニット、たとえば、チップ内に画像感知回路と処理能力の両方を含む高速でコンパクトな実装形態を可能にする。したがって、本明細書における実施形態のおかげで、従来のそのようなエンコーダよりも安価でエネルギー要求の少ない光学式/非接触運動エンコーダを達成することが可能である。また、たとえば、近い将来に発生することが予想されるモノのインターネット(IoT)「革命」と、費用効果が高くエネルギー効率のよいセンサに対するその需要とにより、この場合のように、NSIPを使用して適切に実装されるセンサは、特に重要である可能性がある。したがって、本明細書における実施形態は、従来の光学式運動エンコーダに関する改善を提供する。
【００５９】
アクション55
運動エンコーダ10は、次いで、提供された測度に基づいて、前記方向におけるオブジェクト1の速度を推定してもよく、たとえば、提供された測度に基づいて速度推定値を計算してもよい。
【００６０】
上記で説明したように、ピクセル距離は、オブジェクト1における実際の距離、たとえば、メートル距離、すなわち、オブジェクト距離に対応し、関係、すなわち、ピクセル距離が実際の距離にどのようにマッピングされるのかは、たとえば、特定の場所で使用するために運動エンコーダ10を設置するときに実行および/または取得されるキャリブレーションおよびキャリブレーションデータから知られてもよい。この関係は、設置時に構成されてもよく、および/または予め決定されてもよいが、運動エンコーダ10がオブジェクト1から特定の距離に設置されることが必要とされる可能性がある。
【００６１】
さらに、画像フレームのフレームレートは、提供された測度、たとえば、代表値から、それがフレーム数を示すとき、たとえば、秒の単位における時間値の決定、たとえば、計算を可能にする。したがって、速度推定、たとえば、速度推定値は、提供された測度、たとえば、代表値と、前記関係、たとえば、前記メートル距離と、使用されるフレームレートとに基づいて、本アクションにおいて決定され得る。たとえば、メートル/秒、すなわち、m/sにおける速度推定は、メートル距離を秒における前記時間値で割ることによって計算され得る。
【００６２】
望ましい場合、運動エンコーダ10自体が速度推定を行い、たとえば、速度推定値を出力として提供する。しかしながら、理解されるべきであるように、それは、十分であり、いくつかの実施形態では、運動エンコーダ10は、前記測度を出力として提供し、それは、前記調整の後であってもよく、速度推定をそのように行うためにそれを後処理に任せる。この後処理は、次いで、運動エンコーダ10を備えるユニットと一体のまたは別個のおよび/もしくは離れた、別の、たとえば、別個のユニットによって実行されてもよい。
【００６３】
図6aは、本明細書における実施形態による運動エンコーダ600を実装するために使用され得るNSIPハードウェアアーキテクチャを概略的に示すブロック図である。運動エンコーダ600は、図5に関連して上記で説明した方法およびアクションを実行するように構成されてもよい。
【００６４】
上述したように、たとえば、速度推定値によって示されるべき運動は、運動中にオブジェクト1の画像フレームを提供する画像感知回路、たとえば、画像センサの光軸に垂直な方向にある。これはまた、測度によって示されるべき運動が画像感知回路の画像平面に平行な方向にあると説明され得る。画像感知回路は、たとえば、それが運動エンコーダ600内に含まれて示された図に示すように、画像感知回路610であってもよい。
【００６５】
画像感知回路610は、たとえば、図に示す感知要素6111,1を含む感知要素611を備える。各感知要素、たとえば、感知要素6111,1は、図に示すように、対応する位置、すなわち、ピクセル位置、たとえば、感知要素6111,1のピクセル位置p1,1の画像データを提供する。別のピクセル位置pF,-2はまた、原理を説明するためだけの図においてマークされる。画像感知回路610の感知要素611の各々、たとえば、感知要素6111,1は、たとえば、図2に示す光感知部a〜fを備えてもよく、またはそれに対応してもよい。図中の感知要素611は、行および列において配置されている。図示のように、感知要素611は、F列において配置されてもよく、Fは、整数であり、したがって、感知要素611は、それぞれ1〜Fの番号が付けられ得る。さらに、感知要素611、および、したがってピクセルは、それぞれ、0の番号が付けられ得る中心列と、-1の番号が付けられ得る中心行に先行する行と、+1の番号が付けられ得る後続の行とを有する3行において配置され得る。いくつかの実施形態では、感知要素611は、5行において配置され、2つの追加の行は、それぞれ、+2および-2の番号が付けられ得る。したがって、画像感知回路610の感知要素は、行および列によってその場所または位置によって呼ばれ得る。たとえば、図に示す6111,1は、列1および行1における感知要素と呼ばれ得、したがって、ピクセル位置p1,1におけるピクセルの画像データ値を提供することができる。したがって、列1〜Fの列xにおける感知要素によって与えられ、中心行0において位置する、画像フレーム内のピクセルは、その位置px,0によって表され得る。図5に関連して上記で説明したピクセル位置p1〜p3を参照すると、ピクセル位置p1は、したがって、たとえば、ピクセルp1,0に対応することができ、p2は、ピクセルp2,0に対応することができ、p3は、ピクセルp3,0に対応することができ、すなわち、位置は、すなわち、中心行0における列1〜3の最初の3つの感知要素に対応してもよく、したがって、ピクセル位置p1〜p3の画像データは、それぞれ、前記感知要素によって提供されてもよい。
【００６６】
上述したように、LEPが関連して識別される前記少なくとも2つのピクセル位置が互いに整列され、局所的極値点のピクセル位置が、たとえば、同じ列内にある画像感知回路610の感知要素611によって提供される場合、有利であり得る。この場合のLEPは、中心行内のピクセル位置の画像データを、同じ列内の最も近い先行するピクセル位置および後続のピクセル位置と比較することによって識別されてもよい。たとえば、p1,0内のLEPは、p1,0の画像データ値をp1,1およびp1,-1の画像データ値と比較することによって識別されてもよい。または、一般に、LEPがピクセル位置px,0において存在するかどうかを識別することは、px,0の画像データ値をpx,-1およびpx,1の画像データ値と比較し、場合によっては、px,-2およびpx,2の画像データ値とも比較することによって行われてもよく、xは、列1〜Fのうちの任意の1つであってもよい。
【００６７】
一般に、画像感知回路610は、総数F×Hの感知要素611と、したがって、ピクセルとを備えてもよく、Hは、行の数を表し、Fは、列の数を表す。この総数は、画像感知回路610の解像度に対応する。感知要素611は、図示のように、行列、すなわち、F>1およびH>1において、または単一の行、すなわち、H=1、F>1において配置されてもよい。行列の場合、画像回路610は、2次元、2D、画像センサ、または1.5D画像センサと呼ばれてもよく、1.5Dは、行および列の数が従来の2D画像センサに関するよりも大きい程度に異なる、すなわち、F>>Hであることを示すために使用され得る。本明細書における実施形態では、図に示すように3行または5行、およびF>>5の列の数が好ましい。たとえば、列の数、すなわち、Fは、実際には、100程度、たとえば、128または256の範囲内であることが予想され得る。
【００６８】
感知要素611、および、それによって対応するピクセルは、特定のフォームファクタに関連付けられてもよい。フォームファクタは、比a/bによって与えられてもよく、aおよびbは、感知要素611のうちの1つについて図に示されている。したがって、正方形が存在するとき、比は、1である。
【００６９】
さらに、運動エンコーダ600は、感知回路610からの出力、すなわち、画像データに対して、特に、個々のピクセルの画像データ値などの局所画像データに対して演算するための、たとえば、処理回路などと呼ばれることもあるコンピューティング回路620を備える。コンピューティング回路620は、たとえば、図に示すコンピューティング要素621Fを含むコンピューティング要素621を備える。コンピューティング要素621は、代わりに、ピクセルプロセッサまたはビットプロセッサと呼ばれることもあり、各コンピューティング要素は、たとえば、図2に示すビット直列演算論理ユニットgを備えてもよく、またはそれに対応してもよい。
【００７０】
コンピューティング要素621Fを含むコンピューティング要素621の各々は、感知要素611の1つおよび/またはグループからの画像データに関連付けられ、その画像データに対して演算するように構成されてもよく、それによって、典型的には所定の方法で、および/または、たとえば、使用される特定のNSIPチップまたは回路に従って、使用されるハードウェアアーキテクチャによって、およびそれに従って決定される方法で、対応する1つまたは複数のピクセル位置に関連付けられてもよい。たとえば、図示の図では、コンピューティング要素621Fは、同じ列内の、したがって、図示の例では列F内の感知要素からの画像データに対して演算するように構成されてもよい。コンピューティング要素621は、具体的には、いくつかの感知要素611に関連付けられてもよく、たとえば、それと一体化されてもよい。図において、図示のコンピューティング要素の単一の行は、具体的には、中心ピクセル行の感知要素にそれぞれ関連付けられてもよく、コンピューティング要素6111〜Fと名付けられてもよい。
【００７１】
さらに、図において、矢印は、オブジェクト運動の方向、たとえば、速度vでのオブジェクト運動の方向を示している。いくつかの実施形態では、運動を示す測度、たとえば、速度推定値は、LEPが運動エンコーダ600によって識別される方向にある。すなわち、上記で例示したように、中心行、すなわち、行0内のピクセル、たとえば、px,0の画像データ値を、同じ行内の最も近い隣接ピクセル、すなわち、px,-1およびpx,1と比較することによる。したがって、運動エンコーダ600は、運動方向が図に示すようになるように、示されるべき運動に関連して、すなわち、オブジェクト、たとえば、コンベアベルトの既知のまたは予想される運動方向に関連して使用するために設置されたとき、それに応じて配置されるべきである。すなわち、運動方向が画像感知回路610の光軸に垂直になるようにであり、この例における光軸は、感知要素611を含む図示の画像平面に垂直であり、かつ、運動方向が列1〜Fに沿うようにである。
【００７２】
要約すると、NSIPの場合、コンピューティング要素621は、中心行の感知要素611と一体化されてもよく、したがって、中心行要素を形成し、各中心行要素は、フォトダイオード、比較器、単純な論理ユニット、および何らかのメモリを備えてもよい。中心行に隣接する、すなわち、行-1、+1における、いくつかの実施形態では、-2、+2における感知要素は、各々、フォトダイオードおよび比較器を備えてもよい。これらの隣接ピクセル感知要素からの出力、すなわち、画像データは、たとえば、ピクセルpx,-1およびピクセルpx,+1の画像データ、たとえば、ビット値が、同じ列xにおける、すなわち、ピクセル位置px,0などに対応するコンピューティング要素によって処理されるように、中心行の感知要素によって、すなわち、中心行の論理ユニットによって処理される。
【００７３】
理解されるべきであるように、図6aに示すアーキテクチャの文脈における画像フレームは、まったく同一の光への暴露から感知要素611によって提供される画像データセットに対応する。
【００７４】
図6b〜図6cは、特定のピクセル位置px,0に最も近い隣接ピクセル位置px,-1、px,1に関する2値化された画像データが、前記特定のピクセル位置の2値化された画像データがLEPとして識別されるためにどのように評価されるのかを概略的に示す。図は、LEPを、それぞれ、極小値および極大値の形態で示す。
【００７５】
上記で説明したb1〜b5および図5に関連して説明したアクションによるなど、本明細書における実施形態によるアルゴリズムおよび方法は、運動エンコーダのための従来の画像マッチング手順を置き換えることができ、NSIPによる実装を可能にするが、既存のNSIPアーキテクチャにおける実際的な実装のために直接使用するのに適していない実施形態が存在する可能性がある。
【００７６】
いくつかの実施形態では、主に、必要なLEPランの数がかなり大きい可能性があり、画像に依存する可能性があるので、各ランの長さは、すべてのランにわたって平均化が行われ得るまで、記憶される必要がある可能性がある。これは、単一命令多重データ(SIMD)の性質のため、NSIPの実装には不適切である可能性がある。この理由のため、すでに図5に関連して上記で示したように、すなわち、画像フレームのシーケンスの間、コンピューティング要素、すなわち、ピクセルプロセッサの各々について最長のランのみを保持するように、さらに単純化するステップが導入されてもよい。平均を示す前記代表値は、最長のランについて、すなわち、保持されたランの数にわたって計算されてもよく、保持されたランの数は、いくつかのコンピューティング要素についてLEPランがまったく存在しないことが起こり得るので、コンピューティング要素あたり多くても1つである。図6の1〜F列に関して、Fのコンピューティング要素を用いて、Fのランにわたって平均化することができる。これらのLEPランの得られた平均は、運動の前測度または最初の推定に対応してもよい。しかしながら、ランは、整数の長さであるので、典型的には、各コンピューティング要素、すなわち、ピクセルプロセッサ、たとえば、コンピューティング要素611からの最長のランのみが保持されるとき、より長いランに向かって生じる偏りを補償する必要がある。一例として、真の運動、すなわち、速度が、ピクセルあたり5.5フレームに対応する場合、長さ5および長さ6のランは、等しく頻繁に生じるべきである。しかし、コンピューティング要素611によって見られるLEPランの数が、たとえば、4であるように生じる場合、6のラン長さがこのプロセッサから報告される確率は、1-0.54=0.94と高くなる。これは、そのコンピューティング要素の全4つのランが長さ5であるように生じ、真の運動が5.5フレームに対応するときのこの確率が0.54に対応する場合にのみ、5がコンピューティング要素611から報告されるという認識に基づく。したがって、6が報告される確率は、1-0.54である。他のコンピューティング要素からの同様の挙動により、すべてのコンピューティング要素に関する、運動を示す測度として提供され得る代表値は、5*0.06+6*0.94=5.94であり、これは、正しい値5.5からかけ離れている。したがって、典型的には、運動を示す測度として提供するために改善された測度を得るために、前測度にいくらかの補正を適用することが望ましい。上記から理解されるように、補正は、図5に関連して上記でも示したように、各コンピューティング要素によって見られるLEPの数に基づいてもよい。そのような数は、カウントされるなど、比較的単純に計算され、運動エンコーダ600のなどの、NSIPアーキテクチャのコンピューティング要素、たとえば、コンピューティング要素621ごとに記憶され得る。
【００７７】
図5および図6に関連してすでに上述したいくつかの実施形態では、単一の持続時間を表す代表値は、持続時間値ごとに発生する局所的極値点の数のカウントに基づく。たとえば、各画像フレームについて、たとえば、コンピューティング要素621の各々、たとえば、コンピューティング要素621xは、その対応するピクセル位置内、たとえば、px,0内のLEPの存在を検出してもよい。進行中のLEPランが存在し、画像フレームに関するピクセル位置にLEPがもはや存在しない場合、進行中のLEPランは、終了している。感知要素611xは、このとき、このフレームについて「LEPラン終了」ステータスまたは同様のステータスを有するか、または有するように構成され、連続して発生するLEPの持続時間を示す、すなわち、終了したLEPランの長さまたは持続時間、すなわち、ラン長を示す持続時間値を有してもよい。コンピューティング要素621xは、このとき、たとえば、ビットを設定することによって、この情報、すなわち、特定の長さの新しい持続時間値を有すること、および/またはLEPランを終了したことを示してもよい。このとき、コンピューティング要素6211〜Fのための、コンピューティング回路620内に含まれてもよい何らかの共通ロジックのようなリソースが存在してもよく、このリソースは、この情報と、他の感知要素からの同様の対応する情報とを取得する。たとえば、このロジックは、LEPランをカウントしているすべてのピクセル位置について、持続時間値ごとに、または、少なくとも関連する持続時間値の範囲内の持続時間値ごとに、単一のカウントを更新してもよい。すなわち、LEPランがカウントされているすべてのピクセル位置に関する持続時間値ごとの総カウントは、このように利用可能にされ得、これは、基本的には、持続時間値、すなわち、LEPランの長さの利用可能な分布を有するヒストグラムに対応する。たとえば、LAPP1100におけるように、COUNTネットワークまたは類似物へのアクセスが存在する場合、すべてのコンピューティング要素6211〜Fに共通の制御プロセッサは、各フレームについてLEPランを終了したコンピューティング要素の数を見つけ、次いで、持続時間値ごとにこのカウントを維持するために、たとえば、上記で説明したようにコンピューティング要素6211〜Fによって設定されているビットを単にカウントしてもよい。
【００７８】
したがって、このようにして、コンピューティング要素6211〜Fによって計算されている持続時間値について、および、各持続時間値がここまで、すなわち、画像フレームの現在のシーケンスの第1の画像フレームからどれくらい多く発生したのかについての情報を実行時に追跡し続け、それにアクセスすることが可能である。
【００７９】
情報は、いつでも、たとえば、実際の持続時間を表す代表値が間に位置すべき2つの最も頻繁に発生する持続時間値に基づいて代表値を計算するために、実行時中も、たとえば、フィルタリングを使用して処理されてもよい。代表値は、たとえば、2つの最も頻繁に発生する持続時間値が明確に認識され得るとき、計算されてもよい。このとき、シーケンスのさらなる画像フレームは、生成および/または使用される必要はない可能性がある。
【００８０】
たとえば、コンベアベルトなどのオブジェクト1の移動する表面が、画像フレームによって画像化されており、この表面が、画像感知回路の、たとえば、画像感知回路610の画像平面に対して平行であるとき、上述したオブジェクト距離は、センサ列にわたって同じであり、すなわち、列内の各識別されたLEPは、距離と、表面上で等しく大きい面積とに関係する。上述したように、高速の応答時間を達成するために、LEPランが長すぎないが、たとえば、10〜20フレームであることが望ましい可能性がある。しかしながら、これは、たとえば、速度推定値における精度が、丸め効果によって、望ましいものよりも低くなる可能性がある。これらの影響を低減する方法は、異なる列における感知要素に対して異なるフォームファクタを適用することであり得る。たとえば、図6aおよび運動エンコーダ600に関連する増加したbなどの、行を横切るときにそれらの光感知領域のより大きい幅を有する感知要素の勾配が存在するようにする。しかしながら、同様の効果を達成するより簡単な方法は、表面までの距離が異なる列に対して異なるように、制御された方法で、たとえば、所定のおよび/または定義済みの方法で、オブジェクト表面に対して傾斜した関係で画像感知回路を配置することであり得る。たとえば、列1の感知要素が前記オブジェクト表面に最も近く、列Fの感知要素がオブジェクト表面から最も遠くなるようにする。これは、運動方向において、オブジェクト表面と画像感知回路の光軸との間で実質的に直交する方向を保ちながら行われるべきである。このようにして、持続時間値の分布は、オブジェクト距離および「倍率」の変動により、列にわたって制御された方法で変化させられ得る。これは、測定値、たとえば、速度推定値におけるより高い精度を可能にする。それは、列にわたるLEPランの所望のジッタまたは広がりを達成し、それによって精度の向上を可能にするために使用され得る。
【００８１】
運動エンコーダ600を実装する回路は、少なくとも25MHzにおいてクロックされることが必要であり得、それは、NSIPセンサ、たとえば、上記で言及されたものの周知の実装形態と比較して妥当であることがわかっている。しかしながら、感知要素の光感知領域が図6に示すようなサイズa×bのものであり、ピクセルのフォームファクタa/bが10に調整された場合、すなわち、アレイに沿ったピクセル側の長さbが他方の側よりも10倍小さい場合、ラインレートは、10分の1に低減され得る。
【００８２】
図7は、たとえば、運動エンコーダ10および/または600に対応し得る運動エンコーダ700が、どのように図5に関連して上記で説明した方法およびアクションを実行するように構成され得るのかを示すための概略ブロック図である。したがって、運動エンコーダ700は、オブジェクト、たとえば、コンベアベルトなどのオブジェクト1の運動を示す前記測度を提供するためのものである。運動は、画像感知回路、たとえば、画像感知610に対して相対的であり、たとえば、図4および/または図6に示す運動の方向である方向にあり、この方向は、画像感知回路が、運動中にオブジェクト1の少なくとも一部を順次に画像化する画像フレームを提供するとき、画像感知回路の光軸に対して垂直である。
【００８３】
運動エンコーダ700は、手段、たとえば、1つもしくは複数のプロセッサ含む1つもしくは複数のハードウェアモジュール、ならびに/または、前記方法および/もしくはアクションを実行するための1つもしくは複数のソフトウェアモジュールなどの、処理モジュール701を備えてもよい。処理モジュール701は、いくつかの実施形態では、コンピューティング回路620を備えてもよく、いくつかの実施形態では、画像感知回路610も備えてもよい。
【００８４】
運動エンコーダ700は、コンピュータプログラム703を備える、たとえば、含むまたは記憶することができるメモリ702をさらに備えてもよい。コンピュータプログラム703は、運動エンコーダ700が前記方法および/またはアクションを実行するように、運動エンコーダ700によって直接または間接的に実行可能な「命令」または「コード」を備える。メモリ702は、1つまたは複数のメモリユニットを備えてもよく、本明細書における実施形態の機能およびアクションに含まれる、またはそれらを実行するための構成および/またはアプリケーションなどのデータを記憶するようにさらに構成されてもよい。
【００８５】
さらに、運動エンコーダ700は、例示的なハードウェアモジュールとして処理回路704を備えてもよく、1つまたは複数のプロセッサを備えるか、またはそれに対応してもよい。処理回路704は、いくつかの実施形態では、コンピューティング回路620に完全にまたは部分的に対応してもよい。いくつかの実施形態では、処理モジュール701は、少なくとも部分的に、処理回路704を備えてもよく、たとえば、「処理回路704の形態で具体化され」、または「処理回路704によって実現される」。これらの実施形態では、メモリ702は、処理回路704によって実行可能なコンピュータプログラム703を備え、それにより、運動エンコーダ700は、前記方法および/またはそのアクションを実行するように動作するまたは構成される。
【００８６】
典型的には、運動エンコーダ700、たとえば、処理モジュール701は、たとえば、他のユニットおよび/もしくはデバイスに情報を送信する、ならびに/または他のユニットおよび/もしくはデバイスから情報を受信するなど、これらの他のユニットおよび/またはデバイスとの任意の通信に、たとえば、それを実行することによって、関与するように構成された入力/出力(I/O)モジュール705を備える。I/Oモジュール705は、適用可能なとき、取得モジュール、たとえば、受信モジュール、および/または提供モジュール、たとえば、送信モジュールによって例示され得る。
【００８７】
さらに、いくつかの実施形態では、運動エンコーダ700、たとえば、処理モジュール701は、例示的なハードウェアモジュールおよび/またはソフトウェアモジュールとして、取得モジュール706、コンピューティングモジュール707、提供モジュール708、および推定モジュール709のうちの1つまたは複数を備える。これらのモジュールは、処理回路704によって完全にまたは部分的に実装されてもよい。したがって、運動エンコーダ700、および/または処理モジュール701、および/または処理回路704、および/またはI/Oモジュール705、および/または取得モジュール706は、前記画像フレームの前記シーケンスの画像データを取得するように動作するまたは構成される。
【００８８】
たとえば、図6に示すアーキテクチャに基づく実装形態では、コンピューティング回路620の、取得モジュール706に対応してもよいハードウェアまたはソフトウェアは、画像感知回路610から画像データを取得するように構成されてもよい。このハードウェアおよびソフトウェアは、コンピューティング要素、たとえば、コンピューティング要素621Fに同じ列内の感知要素、たとえば、列Fのすべての感知要素から画像データを取得させるように構成されたハードウェアおよびソフトウェアを備えてもよい。
【００８９】
さらに、運動エンコーダ700、および/または処理モジュール701、および/または処理回路704、および/またはコンピューティングモジュール707は、画像フレームの前記シーケンスの前記少なくとも1つのピクセル位置について、取得された画像データに基づいて、前記少なくとも1つの持続時間値を計算するように動作するまたは構成される。
【００９０】
たとえば、図6に示すアーキテクチャに基づく実装形態では、コンピューティング回路620の、コンピューティングモジュール708に対応し得るハードウェアおよびソフトウェアは、中心ピクセル行、すなわち、行0に対応するピクセル位置について、前記少なくとも1つの持続時間値、典型的には複数の持続時間値を計算するように構成されてもよい。このハードウェアおよびソフトウェアは、各々の単一のコンピューティング要素、たとえば、コンピューティング要素621Fに、コンピューティング要素に関連するピクセル位置、たとえば、コンピューティング要素621Fに関するピクセル位置pF,0に関する1つまたは複数の持続時間値を計算させるように構成されたハードウェアおよびソフトウェアを備えてもよい。
【００９１】
さらに、運動エンコーダ700、および/または処理モジュール701、および/または処理回路704、および/またはI/Oモジュール705、および/または提供モジュール708は、前記少なくとも1つの持続時間値に基づいて、前記測度を提供するように動作するまたは構成される。
【００９２】
たとえば、図6に示すアーキテクチャに基づく実装形態では、コンピューティング回路620の、提供モジュール708に対応し得るハードウェアおよびソフトウェアは、測度を提供するように構成されてもよい。
【００９３】
いくつかの実施形態では、運動エンコーダ700、および/または処理モジュール701、および/または処理回路704、および/またはコンピューティングモジュール707は、提供された測度に基づいて、前記方向におけるオブジェクトの前記速度を推定するように動作するまたは構成される。
【００９４】
たとえば、図6に示すアーキテクチャに基づく実装形態では、コンピューティング回路620の、推定モジュール709に対応し得るハードウェアおよびソフトウェアは、前記速度を推定するように構成されてもよい。
【００９５】
また、いくつかの実施形態では、運動エンコーダ700、および/または処理モジュール701、および/または処理回路704、および/またはコンピューティングモジュール707は、前記少なくとも1つのピクセル位置について、前記代表値を計算するようにさらに動作するまたは構成される。
【００９６】
たとえば、図6に示すアーキテクチャに基づく実装形態では、コンピューティング回路620の、コンピューティングモジュール708に対応し得るハードウェアおよびソフトウェアは、前記少なくとも1つのピクセル位置について、前記代表値を計算するように構成されてもよい。
【００９７】
図8a〜図8cは、コンピュータプログラム703であってもよく、処理回路704および/または処理モジュール701によって実行されると、運動エンコーダ700に上記で説明したように機能させる命令を備えるコンピュータプログラムに関する実施形態を示す概略図である。
【００９８】
いくつかの実施形態では、コンピュータプログラム703を備える、データキャリアなどのキャリア、たとえば、コンピュータプログラム製品が提供される。キャリアは、電子信号、光信号、無線信号、およびコンピュータ可読媒体のうちの1つであってもよい。したがって、コンピュータプログラム703は、コンピュータ可読媒体上に記憶されてもよい。一時的な伝搬信号は、キャリアから除外されることがあり、キャリアは、対応して非一時的キャリアと名付けられることがある。コンピュータ可読媒体であるキャリアの非限定的な例は、図8aにおけるようなメモリカードまたはメモリスティック801、図8bにおけるようなCDまたはDVDなどのディスク記憶媒体802、図8cにおけるような大容量記憶デバイス803である。大容量記憶デバイス803は、典型的には、ハードドライブまたはソリッドステートドライブ(SSD)に基づく。大容量記憶デバイス803は、コンピュータネットワーク804、たとえば、インターネットまたはローカルエリアネットワーク(LAN)を介してアクセス可能なデータを記憶するために使用されるようなものであってもよい。
【００９９】
コンピュータプログラム703は、さらに、純粋なコンピュータプログラムとして提供されてもよく、またはファイル内に含まれてもよい。ファイルは、コンピュータ可読媒体上に記憶されてもよく、たとえば、サーバを介して大容量記憶デバイス803からなどの、たとえば、コンピュータネットワーク804を介するダウンロードを介して利用可能であってもよい。サーバは、たとえば、ウェブまたはファイル転送プロトコル(FTP)サーバであってもよい。ファイルは、たとえば、処理回路704によって上記で説明したように実行するために、運動エンコーダ700に直接または間接的にダウンロードし、運動エンコーダ700上で実行するための実行可能ファイルであってもよい。ファイルは、同様に、または代替的に、運動エンコーダ700に上記で説明したように機能させるさらなるダウンロードおよび実行の前に、それらを実行可能にするために同じまたは別のプロセッサに関与させる中間のダウンロードおよびコンパルのためのものであってもよい。
【０１００】
前述した任意の処理モジュールは、ソフトウェアモジュールおよび/またはハードウェアモジュールとして、たとえば、既存のハードウェアにおいて、および/または特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などとして実装されてもよいことに留意されたい。前述した任意のハードウェアモジュールおよび/または回路は、たとえば、個別にパッケージ化されていても、またはシステムオンチップ(SoC)に組み立てられていても、単一のASICもしくはFPGA内に含まれてもよく、または、いくつかの別個のハードウェア構成要素にわたって分散されてもよいことにも留意されたい。しかしながら、すでに上記で説明したように、本明細書における実施形態の運動エンコーダは、好ましくは、NSIPアーキテクチャにおいて実装され、たとえば、LAPP1100チップまたは類似のものなどのNSIPタイプのプロセッサのチップ実装形態において実装される。本明細書におけるいくつかの実装形態は、NSIPチップ上にコンピュータプログラム703をインストールすることなどによって、プログラミングによって実現されてもよい。
【０１０１】
当業者はまた、本明細書で説明するモジュールおよび回路が、ハードウェアモジュール、ソフトウェアモジュール、アナログ回路およびデジタル回路、ならびに/または、たとえば、メモリ内に記憶された、1つまたは複数のプロセッサによって実行されると運動エンコーダ700に本明細書における実施形態の上記で説明したアクションを実行するように構成させる、および/または実行させるソフトウェアおよび/もしくはファームウェアで設定された1つもしくは複数のプロセッサの組合せを指してもよいことを理解するであろう。
【０１０２】
可能であるおよび/または適切である場合、たとえば、1つまたは複数の方法および/またはエンティティに関する、本明細書における1つまたは複数の実施形態は、まったく同じ物理的構成またはエンティティにおいて実装され得ることに留意されたい。
【０１０３】
本明細書で使用する場合、「ユニット」という用語は、1つまたは複数の機能ユニットを指してもよく、機能ユニットの各々は、ノード内の1つもしくは複数のハードウェアモジュールおよび/または1つもしくは複数のソフトウェアモジュールとして実装されてもよい。
【０１０４】
一例として、「手段」という表現は、図に関連して上記で列挙したモジュールに対応するモジュールであってもよい。
【０１０５】
本明細書で使用する場合、「メモリ」という用語は、ハードディスク、磁気記憶媒体、ポータブルコンピュータディスケットまたはディスク、フラッシュメモリ、ランダムアクセスメモリ(RAM)などを指してもよい。さらに、メモリは、プロセッサの内部レジスタメモリであってもよい。
【０１０６】
第1の方法、第2の方法、第1の配置、第2の配置などの、本明細書で使用される任意の列挙用語法は、本明細書で使用されるように、非限定的であることを考慮しているべきであり、そのような用語が特定の階層関係を意味しないことにも留意されたい。反対における明示的な情報がなければ、列挙による命名は、単に異なる名前を達成する方法と見なされるべきである。
【０１０７】
本明細書で使用する場合、「〜ように構成される」という表現は、処理回路が、ソフトウェア構成またはハードウェア構成によって本明細書で説明するアクションのうちの1つまたは複数を実行するように構成される、または適合されることを意味する。
【０１０８】
本明細書で使用する場合、「数」、「値」という用語は、2値、実数、虚数、または有理数などの任意の種類の数字であってもよい。さらに、「数」、「値」は、文字または文字列などの、1つまたは複数の文字であってもよい。また、「数」、「値」は、ビット、ビット列、またはワードによって表されてもよい。
【０１０９】
本明細書で使用する場合、「いくつかの実施形態では」という表現は、説明する実施形態の特徴が本明細書で開示する任意の他の実施形態と組み合わされてもよいことを示すために使用されている。
【０１１０】
「備える」または「備えている」という単語を使用するとき、非限定的である、すなわち、「少なくとも〜から構成される」を意味すると解釈されるべきである。
【０１１１】
本明細書における実施形態は、上記で説明した好ましい実施形態に限定されない。様々な代替形態、修正形態、および均等形態が使用されてもよい。したがって、上記の実施形態は、添付の特許請求の範囲によって定義される本開示の範囲を限定するものとして解釈されるべきではない。
【符号の説明】
【０１１２】
1  オブジェクト
10  運動エンコーダ
11  光軸
600  運動エンコーダ
610  画像感知回路、画像回路、感知回路
611  感知要素
6111,1  感知要素
620  コンピューティング回路
621  コンピューティング要素
621F  コンピューティング要素
700  運動エンコーダ
701  処理モジュール
702  メモリ
703  コンピュータプログラム
704  処理回路
705  入力/出力(I/O)モジュール、I/Oモジュール
706  取得モジュール
707  コンピューティングモジュール
708  提供モジュール、コンピューティングモジュール
709  推定モジュール
801  メモリカードまたはメモリスティック
802  ディスク記憶媒体
803  大容量記憶デバイス
804  コンピュータネットワーク
【図１】
2018119964.tif 000003
【図２】
2018119964.tif 000004
【図３】
2018119964.tif 000005
【図４】
2018119964.tif 000006
【図５】
2018119964.tif 000007
【図６ａ】
2018119964.tif 000008
【図６ｂ】
2018119964.tif 000009
【図６ｃ】
2018119964.tif 000010
【図７】
2018119964.tif 000011
【図８ａ】
2018119964.tif 000012
【図８ｂ】
2018119964.tif 000013
【図８ｃ】
2018119964.tif 000014
【外国語明細書】
2018119964000001.pdf