IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フォーティートゥ ドット インコーポレイテッドの特許一覧

特開2024-95601自律走行のためのセンサデータ処理装置及び方法
<>
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図1
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図2
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図3
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図4
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図5
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図6
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図7
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図8
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図9
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図10
  • 特開-自律走行のためのセンサデータ処理装置及び方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024095601
(43)【公開日】2024-07-10
(54)【発明の名称】自律走行のためのセンサデータ処理装置及び方法
(51)【国際特許分類】
   G08G 1/16 20060101AFI20240703BHJP
【FI】
G08G1/16 C
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2023219207
(22)【出願日】2023-12-26
(31)【優先権主張番号】10-2022-0187678
(32)【優先日】2022-12-28
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】523084592
【氏名又は名称】フォーティートゥ ドット インコーポレイテッド
(74)【代理人】
【識別番号】240000327
【弁護士】
【氏名又は名称】弁護士法人クレオ国際法律特許事務所
(72)【発明者】
【氏名】アン デソン
【テーマコード(参考)】
5H181
【Fターム(参考)】
5H181AA01
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181FF27
5H181LL01
5H181LL09
(57)【要約】
【課題】 自律走行のためのセンサデータ処理装置及び方法を提供する。
【解決手段】
自律走行のためのセンサデータ処理装置において、一実施形態に係るセンサデータ処理装置は、複数のセンサから複数のセンサデータを受信する受信器と、前記複数のセンサデータの生成時点に基づいて前記複数のセンサデータに関する情報を取得し、前記情報に基づいて同期化データグループ及び前記複数のセンサデータのアップデートを示すイベントを生成し、前記同期化データグループ及び前記イベントに基づいて同期化されたセンサデータをクライアントに送信するプロセッサを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
自律走行のためのセンサデータ処理装置であって、
複数のセンサから複数のセンサデータを受信する受信器と、
前記複数のセンサデータの生成時点に基づいて前記複数のセンサデータに関する情報を取得し、
前記情報に基づいて同期化データグループ及び前記複数のセンサデータのアップデートを示すイベントを生成し、
前記同期化データグループ及び前記イベントに基づいて同期化されたセンサデータをクライアントに送信するプロセッサと、
を含む、センサデータ処理装置。
【請求項2】
前記複数のセンサは、複数のカメラを含み、
前記複数のセンサデータそれぞれは複数のフレームから構成される、請求項1に記載のセンサデータ処理装置。
【請求項3】
前記プロセッサは、
前記複数のセンサに対応するフレームレートを取得し、
前記フレームレートに基づいてフレーム係数を設定し、
前記フレーム係数及び閾値に基づいて前記複数のセンサデータを構成する複数のフレームからGOS(Group Of Synchronized frames)を生成する、請求項1に記載のセンサデータ処理装置。
【請求項4】
前記プロセッサは、
前記閾値に基づいて前記GOSに対応する類似時点を決定し、
前記複数のセンサデータの受信に応答して、前記GOSを格納するGOSコンテナから前記類似時点に最も近い時点に対応する最も近接GOSを探索し、
前記最も近接GOSに基づいて前記GOSをインデキシングする、請求項3に記載のセンサデータ処理装置。
【請求項5】
前記プロセッサは、前記インデキシングに応答して前記GOSコンテナに前記GOSのインデックス及び前記GOSが格納されたメモリアドレスを格納する、請求項4に記載のセンサデータ処理装置。
【請求項6】
前記プロセッサは、
前記複数のフレームに含まれた第1フレームの第1生成時点が前記閾値内に含まれる場合、前記第1フレームを前記GOSに含ませ、
前記第1生成時点が前記閾値を離脱する場合、前記第1フレームを以前の時点に対応するGOS又は次の時点に対応するGOSに含ませる、請求項3に記載のセンサデータ処理装置。
【請求項7】
前記プロセッサは、
前記GOSの生成に応答して前記イベントを生成し、
前記イベントを前記クライアントに送信する、請求項3に記載のセンサデータ処理装置。
【請求項8】
前記イベントは、前記GOSに対応するフレームヘッダ情報及びフレームポインタを含む、請求項7に記載のセンサデータ処理装置。
【請求項9】
前記プロセッサは、前記複数のセンサデータの受信に応答して、前記複数のセンサデータの一部又は全ての集合から構成されるGOF(Group Of Frame)を生成して格納する、請求項1に記載のセンサデータ処理装置。
【請求項10】
自律走行のためのセンサデータ処理方法であって、
複数のセンサから複数のセンサデータを受信するステップと、
前記複数のセンサデータの生成時点に基づいて前記複数のセンサデータに関する情報を取得するステップと、
前記情報に基づいて同期化データグループ及び前記複数のセンサデータのアップデートを示すイベントを生成するステップと、
前記同期化データグループ及び前記イベントに基づいて同期化されたセンサデータをクライアントに送信するステップと、
を含む、センサデータ処理方法。
【請求項11】
前記複数のセンサは、複数のカメラを含み、
前記複数のセンサデータそれぞれは複数のフレームから構成される、請求項10に記載のセンサデータ処理方法。
【請求項12】
前記イベントを生成するステップは、
前記複数のセンサに対応するフレームレートを取得するステップと、
前記フレームレートに基づいてフレーム係数を設定するステップと、
前記フレーム係数及び閾値に基づいて前記複数のセンサデータを構成する複数のフレームからGOS(Group Of Synchronized frames)を生成するステップと、
を含む、請求項10に記載のセンサデータ処理方法。
【請求項13】
前記GOS(Group Of Synchronized frames)を生成するステップは、
前記閾値に基づいて前記GOSに対応する類似時点を決定するステップと、
前記複数のセンサデータの受信に応答して、前記GOSを格納するGOSコンテナから前記類似時点に最も近い時点に対応する最も近接GOSを探索するステップと、
前記最も近接GOSに基づいて前記GOSをインデキシングするステップと、
を含む、請求項12に記載のセンサデータ処理方法。
【請求項14】
前記GOSをインデキシングするステップは、前記インデキシングに応答して、前記GOSコンテナに前記GOSのインデックス及び前記GOSが格納されたメモリアドレスを格納するステップを含む、請求項13に記載のセンサデータ処理方法。
【請求項15】
前記GOS(Group Of Synchronized frames)を生成するステップは、
前記複数のフレームに含まれた第1フレームの第1生成時点が前記閾値内に含まれる場合、前記第1フレームを前記GOSに含ませるステップと、
前記第1生成時点が前記閾値を離脱する場合、前記第1フレームを以前の時点に対応するGOS又は次の時点に対応するGOSに含ませるステップと、
を含む、請求項12に記載のセンサデータ処理方法。
【請求項16】
前記イベントを生成するステップは、
前記GOSの生成に応答して前記イベントを生成するステップと、
前記イベントを前記クライアントに送信するステップと、
を含む、請求項12に記載のセンサデータ処理方法。
【請求項17】
前記イベントは、前記GOSに対応するフレームヘッダ情報及びフレームポインタを含む、請求項16に記載のセンサデータ処理方法。
【請求項18】
前記イベントを生成するステップは、前記複数のセンサデータの受信に応答して、前記複数のセンサデータの一部又は全ての集合から構成されるGOF(Group Of Frame)を生成して格納するステップを含む、請求項10に記載のセンサデータ処理方法。
【請求項19】
ハードウェアと結合して請求項10~18のいずれか一項に記載の方法を実行させるためにコンピュータで読み出し可能な媒体に格納されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、自律走行のためのセンサデータ処理装置及び方法に関する。
【背景技術】
【0002】
車両の迅速な動きが存在する状況で車両を制御しなければならない自律走行を行うためには、多チャネルを介して入力されるセンサデータに対する同期化が必須である。
【0003】
自律走行のようなアプリケーションで多チャネルから入力されるセンサデータに対して同時間のデータを一回に送受信することで、認知エラーを最小化することができる。
【0004】
非同期的に入力される複数のセンサデータをIPC(Inter Process Communication)を介して複数のクライアントに伝達する場合、クライアント間のチャネル同期化が難しい。
【0005】
P2P(Peer-to-Peer)方式のIPCを使用する場合、クライアントが複数の通信線を要求し、複数回のコピー過程を必要とするため、演算が増加する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の目的は、自律走行のためのセンサデータ処理装置及び方法を提供することにある。
【課題を解決するための手段】
【0007】
自律走行のためのセンサデータ処理装置において、一実施形態に係るセンサデータ処理装置は、複数のセンサから複数のセンサデータを受信する受信器と、前記複数のセンサデータの生成時点に基づいて前記複数のセンサデータに関する情報を取得し、前記情報に基づいて同期化データグループ及び前記複数のセンサデータのアップデートを示すイベントを生成し、前記同期化データグループ及び前記イベントに基づいて同期化されたセンサデータをクライアントに送信するプロセッサとを含む。
【0008】
前記複数のセンサは、複数のカメラを含み、前記複数のセンサデータそれぞれは複数のフレームから構成される。
【0009】
前記プロセッサは、前記複数のセンサに対応するフレームレートを取得し、前記フレームレートに基づいてフレーム係数を設定し、前記フレーム係数及び閾値に基づいて前記複数のセンサデータを構成する複数のフレームからGOS(Group Of Synchronized frames)を生成することができる。
【0010】
前記プロセッサは、前記閾値に基づいて前記GOSに対応する類似時点を決定し、前記複数のセンサデータの受信に応答して、前記GOSを格納するGOSコンテナから前記類似時点に最も近い時点に対応する最も近接GOSを探索し、前記最も近接GOSに基づいて前記GOSをインデキシングすることができる。
【0011】
前記プロセッサは、前記インデキシングに応答して前記GOSコンテナに前記GOSのインデックス及び前記GOSが格納されたメモリアドレスを格納することができる。
【0012】
前記プロセッサは、前記複数のフレームに含まれた第1フレームの第1生成時点が前記閾値内に含まれる場合、前記第1フレームを前記GOSに含ませ、前記第1生成時点が前記閾値を離脱する場合、前記第1フレームを以前の時点に対応するGOS又は次の時点に対応するGOSに含ませることができる。
【0013】
前記プロセッサは、前記GOSの生成に応答して前記イベントを生成し、前記イベントを前記クライアントに送信することができる。
【0014】
前記イベントは、前記GOSに対応するフレームヘッダ情報及びフレームポインタを含むことができる。
【0015】
前記プロセッサは、前記複数のセンサデータの受信に応答して、前記複数のセンサデータの一部又は全ての集合から構成されるGOF(Group Of Frame)を生成して格納することができる。
【0016】
自律走行のためのセンサデータ処理方法は、複数のセンサから複数のセンサデータを受信するステップと、前記複数のセンサデータの生成時点に基づいて前記複数のセンサデータに関する情報を取得するステップと、前記情報に基づいて同期化データグループ及び前記複数のセンサデータのアップデートを示すイベントを生成するステップと、前記同期化データグループ及び前記イベントに基づいて同期化されたセンサデータをクライアントに送信するステップとを含む。
【0017】
前記複数のセンサは、複数のカメラを含み、前記複数のセンサデータそれぞれは複数のフレームから構成されることができる。
【0018】
前記イベントを生成するステップは、前記複数のセンサに対応するフレームレートを取得するステップと、前記フレームレートに基づいてフレーム係数を設定するステップと、前記フレーム係数及び閾値に基づいて前記複数のセンサデータを構成する複数のフレームからGOS(Group Of Synchronized frames)を生成するステップとを含むことができる。
【0019】
前記GOS(Group Of Synchronized frames)を生成するステップは、前記閾値に基づいて前記GOSに対応する類似時点を決定するステップと、前記複数のセンサデータの受信に応答して、前記GOSを格納するGOSコンテナから前記類似時点に最も近い時点に対応する最も近接GOSを探索するステップと、前記最も近接GOSに基づいて前記GOSをインデキシングするステップとを含むことができる。
【0020】
前記GOSをインデキシングするステップは、前記インデキシングに応答して、前記GOSコンテナに前記GOSのインデックス及び前記GOSが格納されたメモリアドレスを格納するステップを含むことができる。
【0021】
前記GOS(Group Of Synchronized frames)を生成するステップは、前記複数のフレームに含まれた第1フレームの第1生成時点が前記閾値内に含まれる場合、前記第1フレームを前記GOSに含ませるステップと、前記第1生成時点が前記閾値を離脱する場合、前記第1フレームを以前の時点に対応するGOS又は次の時点に対応するGOSに含ませるステップとを含むことができる。
【0022】
前記イベントを生成するステップは、前記GOSの生成に応答して前記イベントを生成するステップと、前記イベントを前記クライアントに送信するステップとを含むことができる。
【0023】
前記イベントは、前記GOSに対応するフレームヘッダ情報及びフレームポインタを含むことができる。
【0024】
前記イベントを生成するステップは、前記複数のセンサデータの受信に応答して、前記複数のセンサデータの一部又は全ての集合から構成されるGOF(Group Of Frame)を生成して格納するステップを含むことができる。
【発明の効果】
【0025】
本発明によると、自律走行のためのセンサデータ処理装置及び方法を提供することができる。
【図面の簡単な説明】
【0026】
図1】一実施形態に係るセンサデータ処理装置の概略的なブロック図を示す。
図2図1に示されたセンサデータ処理装置の実現の一例を示す。
図3図2に示されたセンサデータ処理装置の構造を詳細に示す図である。
図4】比較試験のためのハードウェア仕様の一例を示す。
図5図1に示されたセンサデータ処理装置の処理結果の例を示す。
図6】送信性能指標を示すための図である。
図7】送信性能指標を示すための図である。
図8】送信性能指標を示すための図である。
図9】送信性能指標を示すための図である。
図10】複数のクライアントを使用する場合の性能比較結果を示す。
図11図1に示されたセンサデータ処理装置の動作のフローチャートを示す。
【発明を実施するための形態】
【0027】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものであって、様々な形態に変更されることができる。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【0028】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に、第2構成要素は第1構成要素にも命名する。
【0029】
いずれかの構成要素が他の構成要素に「連結」されているか「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。
【0030】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「A又はBのうち少なくとも1つ」及び「A、B、又はCのうち少なくとも1つ」のような文句は、それぞれその文句のうち該当する文句と共に羅列された項目のいずれか1つ又はそのすべての可能な組み合わせを含んでもよい。本明細書において、「含む」又は「有する」等の用語は、明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0031】
異なるように定義さがれない限り、技術的又は科学的な用語を含んで、ここで使用する全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈されなければならず、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0032】
本文書で使用された用語「モジュール」は、ハードウェア、ソフトウェア、又は、ファームウェアで具現されたユニットを含んでもよく、例えば、ロジック、論理ブロック、部品、又は、回路のような用語と相互互換的に使用されてもよい。モジュールは、一体に構成された部品、又は、1つ又はそれ以上の機能を行う、前記部品の最小単位又はその一部であってもよい。例えば、一実施形態によれば、モジュールは、ASIC(application-specific integrated circuit)の形態に実現されてもよい。
【0033】
本文書で使用される「~部」の用語は、ソフトウェア又はFPGA又はASICのようなハードウェア構成要素を意味し、「~部」はいずれかの役割を行う。ところが、「~部」というソフトウェア又はハードウェアに限定される意味ではない。「~部」は、アドレッシングできる格納媒体にあるように構成されてもよく、1つ又はそれ以上のプロセッサを再生させるように構成されてもよい。例えば、「~部」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素、及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含んでもよい。構成要素と「~部」の中で提供される機能は、さらに小さい数の構成要素及び「~部」に結合されたり、追加的な構成要素と「~部」にさらに分離されてもよい。それだけでなく、構成要素及び「~部」は、デバイス又はセキュリティーマルチメディアカード内の1つ又はそれ以上のCPUを再生させるように実現されてもよい。また、「~部」は、1つ以上のプロセッサを含んでもよい。
【0034】
以下、添付する図面を参照しながら実施形態を詳細に説明する。添付図面を参照して説明するにおいて、図面符号に関係なく同じ構成要素には同じ参照符号を付与し、これに対する重複する説明は省略する。
【0035】
図1は、一実施形態に係るセンサデータ処理装置の概略的なブロック図を示す。
【0036】
図1を参照すると、センサデータ処理装置10はセンサデータを処理する。センサデータは、センサによって検出されたデータを意味する。センサは、LiDAR(Light Detection And Ranging)、RADAR(RAdio Detection And Ranging)、カメラ及び/又は超音波センサ(Ultrasonic sensor)を含んでもよい。カメラは、ステレオカメラ(Stereo Camera)を含んでもよい。
【0037】
センサデータ処理装置10は、車両の内部又は外部に実現することができる。車両は、人や貨物を運搬するために使用されるよう設計された乗り物を意味する。例えば、車両は、自動車、汽車、船舶、ボート、航空機及び/又は自転車を含んでもよい。
【0038】
センサデータ処理装置10は、自律走行のためにセンサデータを処理する。自律走行は、運転者が車両の一部又は全てを操作せず、車両自ら走行環境を認識して危険要素を判断し、最適な経路を導き出して車両を走行する動作を意味する。
【0039】
車両制御装置10は受信器100及びプロセッサ200を含む。車両制御装置10はメモリ300をさらに含んでもよい。
【0040】
受信器100は、受信インターフェースを含んでもよい。受信器100は、センサ又はメモリ300からデータを受信する。受信器100は、センサから受信された検出結果を受信する。
【0041】
受信器100は、複数のセンサから複数のセンサデータを受信する。受信器100は、受信した複数のセンサデータをプロセッサ200に出力してもよい。
【0042】
プロセッサ200は、メモリ300に格納されたデータを処理する。プロセッサ200は、メモリ300に格納されたコンピュータで読出し可能なコード(例えば、ソフトウェア)及びプロセッサ200によって誘発された命令(instruction)を実行してもよい。
【0043】
プロセッサ200は、目的とする動作(desired operations)を実行させるための物理的な構造を有する回路を有するハードウェアで具現されたデータ処理装置であってもよい。例えば、目的とする動作は、プログラムに含まれたコード(code)又は命令(instructions)を含んでもよい。
【0044】
例えば、ハードウェアで具現されたデータ処理装置は、マイクロプロセッサ(microprocessor)、中央処理装置(central processing unit)、プロセッサコア(processor core)、マルチ-コアプロセッサ(multi-core processor)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)を含んでもよい。
【0045】
プロセッサ200は、複数のセンサデータの生成時点に基づいて複数のセンサデータに関する情報を取得する。複数のセンサは、複数のカメラを含んでもよい。複数のセンサデータそれぞれは複数のフレームから構成されてもよい。
【0046】
プロセッサ200は、情報に基づいて同期化データグループ及び複数のセンサデータのアップデートを示すイベントを生成してもよい。同期化データグループは、GOS(Group Of Synchronized frames)及びGOF(Group Of Frame)を含んでもよい。イベントは、GOSに対応するフレームヘッダ(header)情報及びフレームポインタを含んでもよい。
【0047】
プロセッサ200は、複数のセンサデータの受信に応答して複数のセンサデータの一部又は全ての集合から構成されるGOFを生成して格納してもよい。プロセッサ200は、GOFをメモリ300に格納してもよい。
【0048】
プロセッサ200は、複数のセンサに対応するフレームレート(frame rate)を取得する。プロセッサ200は、フレームレートに基づいてフレーム係数(frame coefficient)を設定してもよい。プロセッサ200は、フレーム係数及び閾値(threshold)に基づいて複数のセンサデータを構成する複数のフレームからGOSを生成する。
【0049】
プロセッサ200は、閾値に基づいてGOSに対応する類似時点を決定する。プロセッサ200は、複数のセンサデータの受信に応答してGOSを格納するGOSコンテナから類似時点に最も近い時点に対応する最も近接GOSを探索し得る。プロセッサ200は、最も近接GOSに基づいてGOSをインデキシング(indexing)してもよい。
【0050】
プロセッサ200は、インデキシングに応答してGOSコンテナにGOSのインデックス及びGOSが格納されたメモリアドレスを格納する。GOSコンテナは、メモリ300上に実現されてもよい。
【0051】
プロセッサ200は、複数のフレームに含まれた第1フレームの第1生成時点が閾値内に含まれる場合、第1フレームをGOSに含ませてもよい。プロセッサ200は、第1生成時点が閾値を離脱する場合、第1フレームを以前の時点に対応するGOS又は次の時点に対応するGOSに含ませることができる。
【0052】
プロセッサ200は、GOSの生成に応答してイベントを生成してもよい。プロセッサ200は、イベントをクライアントに送信してもよい。クライアントは、アプリケーションを含んでもよい。
【0053】
プロセッサ200は、同期データグループ及びイベントに基づいて同期したセンサデータをクライアントに送信してもよい。
【0054】
メモリ300は、演算のためのデータ又は演算結果を格納する。メモリ300は、プロセッサによって実行可能な命令(又は、プログラム)を格納してもよい。例えば、命令は、プロセッサの動作及び/又はプロセッサの各構成の動作を実行するための命令を含んでもよい。
【0055】
メモリ300は、揮発性メモリ装置又は不揮発性メモリ装置で実現されることができる。
【0056】
揮発性メモリ装置は、DRAM(dynamic random access memory)、SRAM(static random access memory)、T-RAM(thyristor RAM)、Z-RAM(zero capacitor RAM)、又はTTRAM(Twin Transistor RAM)で実現されてもよい。
【0057】
不揮発性メモリ装置は、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュ(flash)メモリ、MRAM(Magnetic RAM)、スピン伝達トルクMRAM(Spin-Transfer Torque(STT)-MRAM)、Conductive Bridging RAM(CBRAM)、FeRAM(Ferroelectric RAM)、PRAM(Phase change RAM)、抵抗メモリ(Resistive RAM(RRAM))、ナノチューブRRAM(Nanotube RRAM)、ポリマーRAM(Polymer RAM(PoRAM))、ナノ浮遊ゲートメモリ(Nano Floating Gate Memory(NFGM))、ホログラフィックメモリ(holographic memory)、分子電子メモリ素子(Molecular Electronic Memory Device)、又は、絶縁抵抗変化メモリ(Insulator Resistance Change Memory)に実現されてもよい。
【0058】
図2は、図1に示されたセンサデータ処理装置の実現の一例を示す。
【0059】
図2を参照すると、センサデータ処理装置(例えば、図1のセンサデータ処理装置10)は、ボード(board)上に実現されてもよい。ボードは回路基板を含んでもよい。図2の例示は、複数のボード(例えば、第1ボード210及び第2ボード270)を利用したセンサデータ処理過程を例示的に説明している。
【0060】
センサデータ処理装置10は、予め受信されたセンサデータ又は以前の時点に受信されたセンサデータを格納し、格納されたデータを取得する。
【0061】
センサデータ処理装置10は、同期化を行って同期化性能を格納する。センサデータ処理装置10は、以前の時点に受信されたセンサデータ及び同期化性能を格納してもよい。センサデータ処理装置10は、格納された情報を一回に処理し得る。
【0062】
センサデータ処理装置10は、以前の時点に受信されたセンサデータとのヒステリシス(hysteresis)(例えば、以前のイメージ情報又は以前の地域化(localization)情報)が必要な場合、又はセンサ・フュージョン(sensor fusion)アルゴリズムのように複雑な複数のデータを用いて処理を行うアルゴリズムに対して、1つのサイクル(one cycle)でセンサデータを処理することができる。
【0063】
センサデータ処理装置10は、ボードツーボード(board to board)でサーバ間の通信政策に基づいてデータを各ボード間で同期化を行うことができる。センサデータ処理装置10は、外部の他のボードに存在するデバイスを内部にボードが装着されているよう仮想デバイス(virtual device)として活用し得る。
【0064】
センサデータ処理装置10は、互いに異なるボードに格納されたデータを同期化させて保管してもよい。センサデータ処理装置10は、第1ボード210及び/又は第2ボード270に実現されてもよい。
【0065】
メディアエンジン211は、コミュニケイター213を含む。コミュニケイター213は、時間同期化モジュール215、フレームコンテナ217、及びインターフェース及びクライアントマネージャ219を含む。時間同期化モジュール215及びインターフェース及びクライアントマネージャ219は、プロセッサ(例えば、図1のプロセッサ200)に含まれてもよく、フレームコンテナ217は、メモリ(例えば、図1のメモリ300)に含まれてもよい。
【0066】
メディアエンジン211は、受信されたビデオフレームを時間同期化アルゴリズム及びストリーム(stream)管理技術を用いてチャネル純及び/又は時間順に管理してもよい。メディアエンジン211は、ビデオフレームをGOFで管理してもよい。メディアエンジン211は、ビデオフレームをチャネルごとにGOS単位で管理して同時間帯のフレームを管理し得る。
【0067】
メディアエンジン211は、GOS生成時に登録されている各クライアントにアップデートイベントを伝達し、GOSアップデート事項を伝達する。クライアントは、複数のアプリケーション250-1、250-2、250-3、250-4及び250-5に別途のデータコピーを行うことなく、同期化されたセンサデータを送信することができる。
【0068】
メディアエンジン211は、イベントをイベントメッセージの形態に伝達してもよい。イベントメッセージは、メインヘッダ、フレームヘッダ情報、及び/又はフレームポインタを含んでもよい。
【0069】
コミュニケイター213は、複数のセンサからセンサデータを受信してもよい。コミュニケイター213は、複数のカメラ230-1、230-2及び230-3からイメージ又はビデオを受信してもよい。
【0070】
イメージ又はビデオは、様々な通信チャネルを介して非同期的に送信される。イメージ又はビデオは、LVDS(Low-Voltage Differential Signaling)、MIPI(Mobile Industry Processor Interface)、又は、イーサネット(ethernet)を介して送信されてもよい。又は、イメージ又はビデオは、イーサネットを使用するAVB(AudioVideo Bridging)又はRTSP(Real Time Streaming Protocol)を介して送信されてもよい。
【0071】
時間同期化モジュール215は、複数のセンターデータの間の同期化を行う。時間同期化モジュール215は、設定されたフレームレートと受信したフレームが生成されたタイムスタンプを基準にしてフレーム間の同期化を行ってもよい。
【0072】
時間同期化モジュール215は、フレーム間の偏差を確認できる。時間同期化モジュール215は、フレームレートを基準にして設定された係数値(又は、チューニングパラメータ)を介して特定の閾値内に生成されたフレームであるか否かを判断する。時間同期化モジュール215は、閾値を数式(1)のように算出することができる。
[数1]
threshold=fps×coefficient (1)
【0073】
ここで、fpsは、フレームレートで秒当たりフレーム数を意味する。
【0074】
時間同期化モジュール215は、複数のフレームのうち最初に受信されたフレームのタイムスタンプが閾値内に存在する場合、類似時点に生成されたフレームとして判断する。類似時点に生成されたフレームと判断されたフレームに対して、時間同期化モジュール215は同じGOSフレームに情報をアップデートすることができる。
【0075】
タイムスタンプが閾値を超過したり以前として判断される場合、時間同期化モジュール215は、該当フレームを同じ時点のフレームでないと判断し、以前のGOS又は次にGOSフレームに情報をアップデートし得る。
【0076】
第2ボード270は、メディアエンジン271を含む。第2ボード270は、複数のカメラ290-1、290-2及び290-3からビデオを受信してもよい。メディアエンジン271の動作は、メディアエンジン211と同一であってもよい。
【0077】
第1ボード210と第2ボード270はメディアストリームをやりとりできる。第1ボード210と第2ボード270は、イーサネット又はPCI(Peripheral Component Interconnect)を介してメディアストリームをやりとりし得る。
【0078】
図3は、図2に示すセンサデータ処理装置の構造を詳細に示した図である。
【0079】
図3を参照すると、センサデータ処理装置(例えば、図1のセンサデータ処理装置10)は、コミュニケイター310上に実現されてもよい。コミュニケイター310はサーバ上に実現されてもよい。
【0080】
フレームコンテナ311は、メディアパイプライン330を介して複数のフレーム(例えば、第1フレーム及び第2フレーム)を受信する。フレームコンテナ311は、非同期的に入力されるフレームがアップデートされるたびにGOFごとにフレームを格納し得る。
【0081】
フレームコンテナ311は、フレームの大きさ、GOFフレーム(例えば、GOFアレイ)を格納する。GOPフレームは、ID(Identification)、GOPの大きさ、閾値(例えば、時間閾値又は係数値(coefficient value))及び/又はフレームアレイを含んでもよい。フレームアレイは、フレームヘッダ及びサンプル(例えば、ローデータ(raw data))を含んでもよい。
【0082】
フレームコンテナ311は、ソース(例えば、複数のセンサ)からセンサデータが入力されるたびにGOFコンテナ(例えば、循環バッファ(circular buffer))に最新データを格納する。
【0083】
GOSマネージャ313は、同期化が必要なソースフレームが格納されれば、1つのGOS同期化フレームを生成してGOSコンテナに格納する。GOSコンテナ(例えば、循環バッファ)は、フレームコンテナの一種としてフレームが格納されるごとにフレームレート及びフレームの生成時点のタイムスタンプを用いてGOSを生成することができる。
【0084】
GOSマネージャ313は、ソースフレームが入力されるごとにGOSコンテナの内部を探索し、現在のフレームの生成時点に最も類似しているGOSを探索してインデックスを行うことができる。
【0085】
GOSマネージャ313は、類似時点のフレームを収集してGOSコンテナにフレームインデックス及びメモリアドレスを格納する。
【0086】
GOSコンテイトは、GOSインデックス、GOS同期化の大きさ(GOS sync size)、GOSフレーム(例えば、GOSフレームアレイ)を含んでもよい。GOSフレームは、ID、同期化情報、フレームの数、生成されたタイムスタンプ、フレームポインタを含んでもよい。フレームポインタは、メモリアドレスを示す。
【0087】
GOSマネージャ313は、全てのソースフレームが同期化されてGOSフレームが生成されれば、全てのクライアントにアップデートイベントを送信し得る。
【0088】
GOSマネージャ313は、1つのGOS同期フレームが生成されれば、同期フレームの生成を通知するために、IPCインターフェース315を介してイベントを生成し、アップデートメディアストリーミングインターフェースで生成されたイベントを伝達する。
【0089】
GOSマネージャ313は、アップデートメディアストリームインターフェースを介してクライアントに同期化されたフレームの情報及びデータを伝達する。同期化されたフレームの情報は、GOSメインヘッダ(header)、フレームごとのヘッダ及び/又はサンプル(例えば、ローデータ)を含んでもよい。メディアストリームインターフェースは、IPCインターフェースを含んでもよい。
【0090】
GOSマネージャ313は、IPCインターフェース(Inter Process Communication interface)315を介してGOSシンクフレーム及びイベントを他のコミュニケイター(例えば、コミュニケイター351及びコミュニケイター353)に送信してもよい。コミュニケイター351及びコミュニケイター353は、クライアント上に実現されてもよい。
【0091】
図4は、比較試験のためのハードウェア仕様の一例を示し、図5は、図1に示されたセンサデータ処理装置の処理結果の例を示す。
【0092】
図4及び図5を参照すると、センサデータ処理装置(例えば、図1のセンサデータ処理装置10)は、非同期的に入力される複数のセンサデータ間の同期化を行う。
【0093】
センサデータ処理装置10は、複数のカメラから入力される複数のフレームをカメラサーバのGOSフレームコンテナアルゴリズム及びフレームマネジメント機能を用いて同期化してもよい。
【0094】
図6及び図7の例示は、図5に示された仕様のハードウェアを用いてセンサデータ処理結果を示す。図6及び図7の例示は、スマートフォンカメラを用いて高速撮影されたイメージを示す。センサデータ処理装置10は、複数のクライアントにフレーム同期化の問題がないビデオストリームを同時に伝達し得る。
【0095】
センサデータ処理装置10は、コミュニケイターを利用した実質的な実現体のカメラサーバを使用することで、マシーンラーニングのためのデータ収集及びビジョンアルゴリズム処理に必要な同期化問題を解決することで、ビジョンアルゴリズムの性能を最も大きくし、エラーを最小化することができる。
【0096】
図6図9は、送信性能指標を示すための図である。
【0097】
図6図9を参照すると、ビデオストリームを使用するクライアントの個数を変化させてランタイムに動作する測定データが抽出される。図8は、性能比較のための試験条件を示す。図9及び図10の例示は、ランタイムの同期化性能を示す。
【0098】
図9の例示で確認できるように、センサデータ処理装置(例えば、図1のセンサデータ処理装置10)は、従来技術に比べて2倍以上優れた性能(2倍以上減少した送信時間)を示す。
【0099】
図10は、複数のクライアントを使用する場合の性能比較結果を示す。
【0100】
図10を参照すると、ビデオストリームを使用するクライアントの個数を変化させてランタイムに動作する測定データが抽出される。図12に示す結果は、図6のハードウェア仕様を用いて測定されてもよい。
【0101】
図11は、図1に示されたセンサデータ処理装置の動作のフローチャートを示す。
【0102】
図11を参照すると、受信器(例えば、図1の受信器100)は、複数のセンサから複数のセンサデータを受信する(S1110)。
【0103】
プロセッサ(例えば、図1のプロセッサ200)は、複数のセンサデータの生成時点に基づいて複数のセンサデータに関する情報を取得する(S1130)。複数のセンサは、複数のカメラを含んでもよい。複数のセンサデータそれぞれは、複数のフレームから構成されてもよい。
【0104】
プロセッサ200は、情報に基づいて同期化データグループ及び複数のセンサデータのアップデートを示すイベントを生成する(S1150)。同期化データグループは、GOS(Group Of Synchronized frames)及びGOF(Group Of Frame)を含んでもよい。イベントは、GOSに対応するフレームヘッダ情報及びフレームポインタ(pointer)を含んでもよい。
【0105】
プロセッサ200は、複数のセンサデータの受信に応答して、複数のセンサデータの一部又は全ての集合から構成されるGOFを生成して格納する。
【0106】
プロセッサ200は、複数のセンサに対応するフレームレート(frame rate)を取得する。プロセッサ200は、フレームレートに基づいてフレーム係数(frame coefficient)を設定してもよい。プロセッサ200は、フレーム係数及び閾値(threshold)に基づいて複数のセンサデータを構成する複数のフレームからGOSを生成してもよい。
【0107】
プロセッサ200は、閾値に基づいてGOSに対応する類似時点を決定する。プロセッサ200は、複数のセンサデータの受信に応答して、GOSを格納するGOSコンテナから類似時点に最も近い時点に対応する最も近接GOSを探索する。プロセッサ200は、最も近接GOSに基づいてGOSをインデキシング(indexing)してもよい。
【0108】
プロセッサ200は、インデキシングに応答して、GOSコンテナにGOSのインデックス及びGOSが格納されたメモリアドレス(memory address)を格納してもよい。
【0109】
プロセッサ200は、複数のフレームに含まれた第1フレームの第1生成時点が閾値内に含まれる場合、第1フレームをGOSに含ませることができる。プロセッサ200は、第1生成時点が閾値を離脱する場合、第1フレームを以前の時点に対応するGOS又は次の時点に対応するGOSに含ませることができる。
【0110】
プロセッサ200は、GOSの生成に応答してイベントを生成する。プロセッサ200は、イベントをクライアントに送信してもよい。クライアントは、アプリケーションを含んでもよい。
【0111】
プロセッサ200は、同期化データグループ及びイベントに基づいて同期化されたセンサデータをクライアントに送信する(S1170)。
【0112】
以上で説明した実施形態は、ハードウェアコンポーネント、ソフトウェアコンポーネント、及び/又はハードウェアコンポーネント及びソフトウェアコンポーネントの組み合わせで具現されることができる。例えば、実施形態で説明する装置、方法及びコンポーネントは、プロセッサ、コントローラ、ALU(arithmeticlogicunit)、デジタル信号プロセッサ(digitalsignalprocessor)、マイクロコンピュータ、FPGA(FieldProgrammablegatearray)、PLU(Programmablelogicunit)、マイクロプロセッサ又はコマンドを実行して応答できる他の適応型スーパーサンプリング装置のように汎用コンピュータ又は特殊目的のコンピュータを使用して具現することができる。処理装置は、オペレーティングシステム(OS)及び上記オペレーティングシステム上で実行されるソフトウェアアプリケーションを実行することができる。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成してもよい。理解の便宜のために、処理装置は1つが使用されるものと説明された場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processingelement)及び/又は複数タイプの処理要素を含み得ることが分かる。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含んでもよい。また、並列プロセッサ(parallel processor)のような、他の処理構成(processing configuration)も可能である。
【0113】
ソフトウェアは、コンピュータプログラム(computer program)、コード(code)、命令(instruction)、又はそのいずれかの組み合わせを含んでもよく、希望のように処理装置を構成したり独立的又は結合的に(collectively)処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されるか、処理装置に命令又はデータを提供するために、いずれかのタイプの機械、コンポーネント、物理装置、仮想装置、コンピュータ記憶媒体、又は装置、又は送信される信号波に永久的に具体化することができる。ソフトウェアは、ネットワーク接続されたコンピュータシステム上に分散され、分散された方法で格納又は実行されてもよい。ソフトウェア及びデータは、コンピュータ読み取り可能な記録媒体に格納することができる。
【0114】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例として、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。
【0115】
上記で説明したハードウェア適応的スーパーサンプリング装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモデルとして作動するように構成してもよく、その逆も同様である。
【0116】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順に実行され、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法とは異なる形態に結合又は組み合わせられてもよく、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0117】
したがって、他の具現、他の実施形態及び特許請求の範囲と均等なものも後述する特許請求範囲の範囲に属する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11