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

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

▶ 北京図森智途科技有限公司の特許一覧

特開2024-47568データ伝送方法、計算機器及び記憶媒体
<>
  • 特開-データ伝送方法、計算機器及び記憶媒体 図1
  • 特開-データ伝送方法、計算機器及び記憶媒体 図2
  • 特開-データ伝送方法、計算機器及び記憶媒体 図3
  • 特開-データ伝送方法、計算機器及び記憶媒体 図4
  • 特開-データ伝送方法、計算機器及び記憶媒体 図5
  • 特開-データ伝送方法、計算機器及び記憶媒体 図6
  • 特開-データ伝送方法、計算機器及び記憶媒体 図7
  • 特開-データ伝送方法、計算機器及び記憶媒体 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024047568
(43)【公開日】2024-04-05
(54)【発明の名称】データ伝送方法、計算機器及び記憶媒体
(51)【国際特許分類】
   H04N 21/236 20110101AFI20240329BHJP
【FI】
H04N21/236
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023156348
(22)【出願日】2023-09-21
(31)【優先権主張番号】202211174285.1
(32)【優先日】2022-09-26
(33)【優先権主張国・地域又は機関】CN
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WCDMA
(71)【出願人】
【識別番号】521254764
【氏名又は名称】北京図森智途科技有限公司
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK弁理士法人
(74)【代理人】
【識別番号】100130328
【弁理士】
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【弁理士】
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】計平元
(72)【発明者】
【氏名】郭生杰
(72)【発明者】
【氏名】屈善新
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164GA03
5C164MB13S
5C164PA31
5C164SB02S
5C164SB11P
5C164SB41S
5C164YA21
(57)【要約】      (修正有)
【課題】自動運転モードで走行する車両のデータ伝送効率を向上させるデータ伝送方法、計算機器及び記憶媒体を提供する。
【解決手段】第1の計算機器及び第2の計算機器を含むデータ伝送システムにおいて、データ伝送方法は、画像収集装置により収集された元画像を圧縮し、圧縮画像を得るステップと、前記圧縮画像をカプセル化して、プロトコルヘッダ及びデータセグメントを含む少なくとも1つのデータパケットにするステップと、前記少なくとも1つのデータパケットを、前記第1の計算機器に通信可能に接続される第2の計算機器に送信して、前記第2の計算機器が前記元画像を収集するシーン情報に基づいて、前記画像収集装置に対応する後続圧縮画像の解像度を計算するステップと、前記解像度がゼロであることに応答し、後続の伝送対象となる前記画像収集装置に対応するデータパケットのデータセグメントを空にするステップと、を含む。
【選択図】図4
【特許請求の範囲】
【請求項1】
画像収集装置及び第2の計算機器にそれぞれ通信可能に接続される第1の計算機器において実行することに適するデータ伝送方法であって、
前記画像収集装置により収集された元画像を取得するステップと、
前記元画像を圧縮し、圧縮画像を得るステップと、
前記圧縮画像をカプセル化して少なくとも1つのデータパケットにするステップであって、前記データパケットはプロトコルヘッダ及びデータセグメントを含むステップと、
前記少なくとも1つのデータパケットを前記第2の計算機器に送信して、前記第2の計算機器が前記元画像を収集する時のシーン情報に基づいて、前記画像収集装置に対応する画像解像度を計算するようにするステップと、
前記画像解像度が閾値以下であることに応答し、前記画像収集装置の後続の伝送対象となるデータパケットのデータセグメントを空にするステップと、を含むデータ伝送方法。
【請求項2】
前記元画像は複数フレームの元画像であり、前記圧縮画像は複数フレームの圧縮画像であり、
圧縮画像をカプセル化して少なくとも1つのデータパケットにする前記ステップは、前記複数フレームの圧縮画像中の1フレームの圧縮画像をカプセル化して少なくとも1つのデータパケットにするステップと、
前記画像収集装置の後続の伝送対象となるデータパケットのデータセグメントを空にするステップは、前記複数フレームの圧縮画像中の他のフレームの圧縮画像をカプセル化してプロトコルヘッダ及び空データセグメントを含むデータパケットにするステップを含む請求項1に記載の方法。
【請求項3】
前記第2の計算機器が前記シーン情報に基づいて算出した関心領域を受信するステップと、
後続の伝送対象となる圧縮画像から前記関心領域を含む目標画像を決定するステップと、
前記目標画像における前記関心領域の解像度を前記画像解像度に調整するステップと、をさらに含む請求項1に記載の方法。
【請求項4】
前記プロトコルヘッダはパケット番号、前記元画像のタイムスタンプ、及び前記元画像のフレーム識別子を含み、
前記シーン情報は高速シーン、平坦路シーン、後退シーン、登坂シーン、港湾シーン、標示シーンのうちの少なくとも1つを含む請求項1に記載の方法。
【請求項5】
前記圧縮画像をカプセル化して少なくとも1つのデータパケットにするステップは、
前記圧縮画像における所定行の画素を受信する毎に、前記所定行の画素をパケットにするステップであって、前記プロトコルヘッダは前記データパケットに対応する行識別子をさらに含むステップを含む請求項4に記載の方法。
【請求項6】
前記画像収集装置のパラメータを配置し、前記パラメータを前記画像収集装置に送信するステップであって、前記パラメータはフレームレート、出力フォーマット、露光時間、ゲインのうちの少なくとも1つを含むステップをさらに含む請求項1に記載の方法。
【請求項7】
前記画像収集装置により収集された元画像を取得するステップは、
前記画像収集装置にトリガ信号を送信して、前記画像収集装置が前記トリガ信号に応答して収集した画像シーケンスを受信するステップと、
前記画像シーケンスから所定周期に従って所定フレームを引き、前記元画像を得るステップと、を含む請求項1に記載の方法。
【請求項8】
前記第1の計算機器は前記解像度が前記閾値より大きいことに応答し、後続の伝送対象となる前記画像収集装置に対応する圧縮画像の解像度を調整するステップ、又は
前記第2の計算機器は前記解像度が前記閾値より大きいことに応答し、受信した前記画像収集装置に対応する圧縮画像の解像度を調整するステップをさらに含む請求項1に記載の方法。
【請求項9】
前記第2の計算機器は、定期利用するメッセージトピックから前記シーン情報を決定し、
前記第2の計算機器は、前記画像収集装置が前記元画像を収集する時の姿勢に基づいて前記シーン情報を決定し、又は、
前記圧縮画像及び前記データパケットはいずれも前記シーン情報を持つ請求項1に記載の方法。
【請求項10】
第2の計算機器は前記画像収集装置が前記元画像を収集する時の姿勢に基づいて前記圧縮画像解凍後のデータに対して画像回転処理を行うステップをさらに含む請求項1に記載の方法。
【請求項11】
前記第2の計算機器は同一フレーム識別子を有するデータパケットに基づいて前記圧縮画像を決定するステップと、
前記第2の計算機器は前記圧縮画像を目標フォーマットに解凍した後、解凍後のデータを前記第2の計算機器におけるアルゴリズムモジュールに伝送して計算するステップと、
前記第2の計算機器は解凍後のデータに対して再圧縮を行った後、再圧縮後のデータをデータベースに記憶するステップと、を含む請求項5に記載の方法。
【請求項12】
第3の計算機器は前記データベースから前記再圧縮後のデータを取得した後、前記再圧縮後のデータを目標フォーマットに解凍し、解凍後のデータを前記第3の計算機器におけるアルゴリズムモジュールに伝送して計算するステップを含む請求項11に記載の方法。
【請求項13】
画像収集装置に通信可能に接続される第1の計算機器に通信可能に接続される第2の計算機器において実行することに適するデータ伝送方法であって、
前記第1の計算機器から送信されたデータパケットを受信するステップであって、前記データパケットは圧縮画像をカプセル化してなされ、前記圧縮画像は前記画像収集装置により収集された元画像を圧縮することで得られるステップと、
前記元画像を収集する時のシーン情報に基づいて、前記画像収集装置に対応する画像解像度を決定するステップと、
前記画像解像度が閾値以下であることに応答し、前記第1の計算機器に遮断コマンドを送信して、前記第1の計算機器が後続の伝送対象となる前記画像収集装置のデータパケットのデータセグメントを空にするようにするステップと、を含むデータ伝送方法。
【請求項14】
プロセッサと、メモリと、メモリに記憶されプロセッサに実行可能なコンピュータプログラムと、を含み、
ここで、前記プロセッサは、前記コンピュータプログラムを実行する時、請求項1-13のいずれか一項に記載の方法を実行する、計算機器。
【請求項15】
プロセッサによって実行される時、請求項1-13のいずれか一項に記載の方法を実現するコンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は画像処理技術の分野に関し、特にデータ伝送方法、計算機器及び記憶媒体に関する。
【背景技術】
【0002】
自動運転科学技術の急速な発展は、カメラ、レーザレーダー、ミリ波レーダーなど、全角度でカバーし、冗長設計されたセンサに依存し、これは自動運転の安全性を向上させるとともに、データ伝送量を大幅に増加させ、ネットワークカードの伝送負荷を増加させ、サーバリソースに対する消費も大きい。したがって、どのように自動運転の安全性を保証する前提で、自動運転車両のデータ伝送効率を向上させるかは、早急に解決すべき問題となる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
したがって、本開示は、以上言及された問題を解決するか、又は少なくとも解決するために、データ伝送方法、装置、計算機器及び記憶媒体を提供する。
【課題を解決するための手段】
【0004】
本開示の実施例の第1の態様は、画像収集装置及び第2の計算機器にそれぞれ通信可能に接続される第1の計算機器において実行することに適するデータ伝送方法を提供し、前記方法は、
前記画像収集装置により収集された元画像を取得するステップと、
前記元画像を圧縮し、圧縮画像を得るステップと、
前記圧縮画像をカプセル化して少なくとも1つのデータパケットにするステップであって、前記データパケットはプロトコルヘッダ及びデータセグメントを含むステップと、
前記少なくとも1つのデータパケットを前記第2の計算機器に送信して、前記第2の計算機器が前記元画像を収集するシーン情報に基づいて、前記画像収集装置に対応する後続圧縮画像の解像度を計算するようにするステップと、
前記解像度がゼロであることに応答し、後続の伝送対象となる前記画像収集装置に対応するデータパケットのデータセグメントを空にするようにするステップと、を含む。
【0005】
本開示の実施例の第2の態様は、画像収集装置に通信可能に接続される第1の計算機器に通信可能に接続される第2の計算機器において実行することに適するデータ伝送方法を提供し、前記方法は、
前記第1の計算機器から送信されたデータパケットを受信するステップであって、前記データパケットは圧縮画像をカプセル化してなされ、前記圧縮画像は前記画像収集装置により収集された元画像を圧縮することで得られるステップと、
前記元画像を収集する時のシーン情報に基づいて、前記画像収集装置に対応する後続圧縮画像の解像度を決定するステップと、
前記解像度が閾値以下であることに応答し、前記第1の計算機器に遮断コマンドを送信して、前記第1の計算機器が後続の伝送対象となる前記画像収集装置のデータパケットのデータセグメントを空にするようにするステップと、を含む。
【0006】
本開示の実施例の第3の態様は、第1の計算機器であって、
前記画像収集装置により収集された元画像を受信することに適する第1の受信モジュールと、
前記元画像を圧縮し、圧縮画像を得、前記圧縮画像をカプセル化して少なくとも1つのデータパケットにすることに適する第1の処理モジュールであって、前記データパケットはプロトコルヘッダ及びデータセグメントを含む第1の処理モジュールと、
前記少なくとも1つのデータパケットを前記第1の計算機器に通信可能に接続される第2の計算機器に送信して、前記第2の計算機器が前記元画像を収集するシーン情報に基づいて、前記画像収集装置に対応する後続圧縮画像の解像度を計算するようにすることに適するデータ送信モジュールと、を含み、
そのうち、前記第1の処理モジュールは、さらに、前記解像度がゼロであることに応答し、後続の伝送対象となる前記画像収集装置に対応するデータパケットのデータセグメントを空にすることに適する第1の計算機器を提供する。
【0007】
本開示の実施例の第4の態様は、
第1の計算機器から送信されたデータパケットを受信することに適する第2の受信モジュールであって、前記データパケットは圧縮画像をカプセル化してなされ、前記圧縮画像は前記画像収集装置により収集された元画像を圧縮することで得られる第2の受信モジュールと、
前記圧縮画像をアルゴリズムに必要なフォーマットに処理することに適する第2の処理モジュールと、
前記元画像を収集する時のシーン情報に基づいて、前記画像収集装置に対応する後続圧縮画像の解像度を計算することに適するアルゴリズムモジュールと、
前記解像度がゼロであることに応答し、前記第1の計算機器に遮断コマンドを送信して、前記第1の計算機器が後続の伝送対象となる前記画像収集装置のデータパケットのデータセグメントを空にするようにすることに適する第2の制御モジュールと、を含む第2の計算機器を提供する。
【0008】
本開示の実施例の第5の態様は、1つ以上のプロセッサと、前記メモリに前記1つ以上のプロセッサにより実行されるとき、本開示によるデータ伝送方法を前記1つ以上のプロセッサに実現させる1つ以上のプログラムを記憶しているメモリと、を含む計算機器を提供する。
【0009】
本開示の実施例の第6の態様は、プロセッサにより実行されるとき、本開示によるデータ伝送方法を実現するプログラムを記憶しているコンピュータ読み取り可能な記憶媒体を提供する。
【発明の効果】
【0010】
本開示の技術的解決手段によれば、特定のシーンで、いくつかの不要な画像収集装置に対して、画像収集装置をオフにせず、頻繁なオンオフがデータ伝送効率に影響を与えることを回避し、当該画像収集装置の正常なデータ収集を保持し、第1の計算機器はデータ中継機器とし、画像収集装置により収集された元画像も正常に受信する。しかし、第1の計算機器はサーバなどの第2の計算機器に画像データを転送する時、データパケット中のデータセグメントの本文を空にし、すなわち第2の計算機器に空データを伝送する。このように、正常な画像収集及び伝送周波数を保持し、誤判によるフレーム落ち、フレーム誤りの現象の発生を防止することができ、さらにデータ伝送量を低減し、ネットワーク帯域幅を節約することができる。
【0011】
さらに、本開示の第1の計算機器は画像収集装置を、画像を収集するように第1の周波数でトリガするとともに、受信した画像シーケンスに対してフレーム間引きを第2の周波数で行い、すなわち一部のフレームを第2の周波数で廃棄し、それにより良好なカメラ露光効果を保証することができ、また伝送するデータ量を低減する。
【図面の簡単な説明】
【0012】
本開示の実施例又は従来技術における技術的解決手段をより明確に説明するために、以下は実施例又は従来技術の説明に必要な図面を簡単に説明し、明らかに、当業者であれば、創造的な仕事なしで、添付図面に基づいて他の図面を得ることができる。
図1】本開示の各種技術を実現可能な車両100の概略図である。
図2】本開示の一実施例によるデータ伝送システム200の構造図を示す。
図3】本開示の別の実施例によるデータ伝送システム200の構造図を示す。
図4】本開示の一実施例によるデータ伝送方法400のフローチャートを示す。
図5】本開示の別の実施例によるデータ伝送方法500のフローチャートを示す。
図6】本開示のさらに別の実施例によるデータ伝送方法のフローチャートを示す。
図7】本開示の一実施例による画像データの変化プロセスの概略図を示す。
図8】本開示の一実施例による計算機器800の構造図を示す。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら本開示の実施例における技術的解決手段を明瞭、完全に説明し、明らかに、説明された実施例は単に本開示の実施例の一部であり、実施例の全部ではない。本明細書における実施例に基づき、当業者は様々な変形及び変換を行うことができ、同等の方式で変換して得られた全ての技術的解決手段はいずれも本開示の保護範囲に属する。
【0014】
本開示の実施例の技術的解決手段を明確に説明するために、本開示の実施例において、「第1」、「第2」などの文字を用いて機能又は作用が基本的に同じの同一項目又は類似項目を区別し、当業者は「第1」、「第2」などの文字が数及び実行順序を限定しないと理解することができる。
【0015】
本明細書における用語の「及び/又は」は、単に関連対象の関連関係を説明し、3種類の関係が存在可能であることを示し、例えば、A及び/又はBは、Aが単独で存在する場合と、AとBが同時に存在する場合と、Bが単独で存在する場合との3つの場合を示すことができる。また、本明細書において符号の「/」は、一般的には、前後の関連対象が「又は」の関係であることを示す。
【0016】
図1は、本開示を実現可能でシミュレーション機器において仮想化可能な車両100の概略図である。車両100はセダン型自動車、トラック、オートバイ、バス、船舶、飛行機、ヘリコプター、芝刈り機、ショベル、スノーモービル、航空機、レクリエーション用車両、遊園地車両、農場用装置、建設用装置、路面電車、ゴルフカート、電車、トロリーバス、又は他の車両である。車両100は、その全部又は一部が自動運転モードで走行することができる。車両100は、自動運転モードにおいて自車両を制御することができ、例えば、車両100は車両の現在の状態と車両が位置する環境の現在の状態とを決定し、当該環境における少なくとも1つの他車両の予測行動を決定し、当該少なくとも1つの他車両が予測行動を実行する可能性に対応する信頼レベルを決定し、決定した情報に基づいて車両100の自体を制御することができる。自動運転モードにある場合、車両100は無人で運転することができる。
【0017】
車両100は、駆動システム142、センサシステム144、制御システム146、ユーザインタフェースシステム148、制御コンピュータシステム150、通信システム152など、各種の車両システムを含んでもよい。車両100は、それ以上又はそれ以下のシステムを含んでもよく、それぞれのシステムは複数のユニットを含んでもよい。さらに、車両100の各システムと各ユニットとは互いに接続することができる。例えば、制御コンピュータシステム150はシステム142~148及び152のうちの1つ以上とデータ通信を行うことができる。これにより、車両100の1つ以上の説明された機能は、付加的な機能部材又は実体部材に分割し、又はより少ない数の機能部材又は実体部材に統合することができる。さらなる例として、付加的な機能部材又は実体部材は図1に示す例に追加されてもよい。
【0018】
駆動システム142は、車両100に運動エネルギーを提供する複数の操作可能部材(又はユニット)を含んでもよい。一実施例では、駆動システム142はエンジン又は電動機、車輪、変速機、電子システム、及び動力(又は動力源)を含んでもよい。エンジン又は電動機は、内燃機関、電気モータ、蒸気機関、燃料電池エンジン、プロパンエンジン、又は他の形式のエンジン又は電動機の任意の組み合わせであってもよい。いくつかの実施例では、エンジンは動力源を機械的エネルギーに変換することができる。いくつかの実施例では、駆動システム142は複数種類のエンジン又は電動機を含んでもよい。例えば、ハイブリッド車両は、ガソリンエンジンと電動機とを含んでもよく、それ以外のものを含んでもよい。
【0019】
車両100の車輪は、標準的な車輪であってもよい。車両100の車輪は、一輪、二輪、三輪、又は四輪の形態を含む複数形態の車輪であってもよく、例えば、セダン型自動車又はトラックの四輪である。例えば6輪又はそれ以上の車輪のような他の数の車輪も可能である。車両100の1つ以上の車輪は、他の車輪と回転方向が異なるように操作されてもよい。車輪は変速機に固定的に接続された少なくとも1つの車輪であってもよい。車輪は、金属とゴムとの組み合わせ、又は他の物質の組み合わせを含んでもよい。変速機は、操作されてエンジンの機械的動力を車輪に伝達可能なユニットを含んでもよい。そのために、変速機はギヤボックス、クラッチ、差動ギヤ及び伝動軸を含んでもよい。変速機は、他のユニットを含んでいてもよい。伝動軸は、車輪にマッチングする1つ以上の輪軸を含んでもよい。電子システムは、車両100の電子信号を伝送又は制御するためのユニットを含んでもよい。これらの電子信号は、車両100における複数のランプ、複数のサーボ機構、複数のモータ、及びその他の電子駆動又は制御装置の起動に用いられてもよい。動力源は、エンジン又は電動機に動力の全部又は一部を提供するエネルギーであってもよい。すなわち、エンジン又は電動機は、動力源を機械的エネルギーに変換することができる。例示的には、動力源としては、ガソリン、石油、石油系燃料、プロパン、その他の圧縮ガス燃料、エタノール、燃料電池、ソーラーパネル、電池、及びその他の電気エネルギーが挙げられる。動力源は、燃料タンク、電池、コンデンサ、又はフライホイールの任意の組み合わせを付加的に又は選択的に含んでもよい。動力源は、車両100の他のシステムにエネルギーを提供してもよい。
【0020】
センサシステム144は、車両100の環境及び条件の情報を検知するための複数のセンサを含んでもよい。例えば、センサシステム144は慣性測定ユニット(IMU)、全地球測位システム(GPS)トランシーバ、レーダー(例えばミリ波レーダーRADAR)ユニット、レーザ距離計/LIDARユニット(又は他の距離測定装置)、音響センサ、及びカメラ又は画像キャプチャ装置を含んでもよい。センサシステム144は、車両100を監視するための複数のセンサ(例えば、酸素モニタ、フューエルゲージセンサ、エンジン油圧センサなど)を含んでもよい。センサシステム144には、他のセンサをさらに配置してもよい。センサシステム144に含まれる1つ以上のセンサは、1つ以上のセンサの位置、方向、又はその両方を更新するように、個別に駆動されてもよく、一括して駆動されてもよい。
【0021】
いくつかの実施例において、各センサはハードウェアトリガ又はソフトウェアトリガによってデータを収集し、異なるセンサは異なるトリガ周波数、すなわち異なるデータ収集周波数を有し、それに応じて異なるデータ収集周期を有する。ハードウェアトリガについては、トリガ源はNovatelから発信された1秒あたりのパルス信号をトリガ源信号とし、異なるセンサに必要なトリガ周波数に基づいて調整し、トリガ信号を生成して対応するセンサに送信して、対応するセンサを、データを収集するようにトリガする。選択可能には、カメラのトリガ周波数は20HZであり、LIDARのトリガ周波数は1HZ又は10HZであり、IMUのトリガ周波数は100HZであり、勿論、これらに限定されない。
【0022】
IMUは、慣性加速度に基づいて車両100の位置変化及び方向変化を検知するためのセンサ(例えば加速器及びジャイロ)の組み合わせを含んでもよい。GPSトランシーバは、車両100の地理的位置を推定するための任意のセンサであってもよい。このため、GPSトランシーバは、地球に対する車両100の位置情報を提供するように、受信機/送信機を含んでもよい。なお、GPSは全地球航法衛星システムの一例であり、したがって、いくつかの実施例では、GPSトランシーバは北斗衛星ナビゲーションシステムトランシーバ又はガリレオ衛星ナビゲーションシステムトランシーバに置き換えられてもよい。レーダーユニットは、無線信号を用いて車両100が位置する環境におけるオブジェクトを検知することができる。いくつかの実施例では、オブジェク検知以外に、レーダーユニットはさらに車両100に接近する物体の速度及び進行方向を検知するために用いられてもよい。レーザ距離計又はLIDARユニット(又は他の距離測定装置)はレーザを用いて車両100が位置する環境における物体を検知する任意のセンサであってもよい。一実施例では、レーザ距離計/LIDARユニットはレーザ光源、レーザスキャナ、及び感知器を含んでもよい。レーザ距離計/LIDARユニットは連続的(例えばヘテロダイン検出を使用する)又は不連続的な検出モードで動作するために用いられる。カメラは、車両100が位置する環境の複数の画像をキャプチャするための装置を含んでもよい。カメラは、静止画像カメラであってもよいし、動画カメラであってもよい。
【0023】
制御システム146は、車両100及びその部材(又はユニット)の操作を制御するために用いられる。それに対応して、制御システム146は、例えば、ステアリングユニット、動力制御ユニット、ブレーキユニット及びナビゲーションユニットなど、各種のユニットを含んでもよい。
【0024】
ステアリングユニットは、車両100の進行方向を調整する機械の組み合わせであってもよい。動力制御ユニット(例えばアクセル)は、例えばエンジンの運転速度を制御し、さらに車両100の速度を制御するために用いられる。ブレーキユニットは、車両100を減速させるための機械の組み合わせを含んでもよい。ブレーキユニットは標準的な方式により摩擦力を利用して車両を減速させることができる。他の実施例では、ブレーキユニットは車輪の運動エネルギーを電流に変換することができる。ブレーキユニットは他の形態を用いてもよい。ナビゲーションユニットは、車両100の走行経路又は路線を決定する任意のシステムであってもよい。ナビゲーションユニットはさらに車両100の走行中に運転経路を動的に更新することができる。制御システム146は、追加的に又は代替的に、図示されていない、又は説明されていない他の部材(又はユニット)をさらに含んでもよい。
【0025】
ユーザインタフェースシステム148は車両100と外部センサ、他の車両、他のコンピュータシステム及び/又は車両100のユーザとの間のインタラクションを可能にするために用いられる。例えば、ユーザインタフェースシステム148は、標準的な視覚表示装置(例えば、プラズマディスプレイ、液晶ディスプレイ(LCD)、タッチスクリーンディスプレイ、ヘッドマウントディスプレイ、又は他の類似するディスプレイなど)、スピーカ又は他の音声出力装置、マイクロフォン又は他の音声入力装置を含んでもよい。例えば、ユーザインタフェースシステム148は、ナビゲーションインターフェース、及び車両100の内部環境(例えば、温度、ファンなど)を制御するインタフェースをさらに含んでもよい。
【0026】
通信システム152は、1つ以上の機器又は周囲の他の車両と通信する方式を車両100に提供することができる。1つの例示的な実施例では、通信システム152は、1つ以上の機器と直接、又は通信ネットワーク経由で通信してもよい。通信システム152は、例えば、無線通信システムであってもよい。例えば、通信システムは3Gセルラ通信(例えばCDMA、EVDO、GSM/GPRS)又は4Gセルラ通信(例えばWiMAX又はLTE)を用いてもよく、また5Gセルラ通信を用いてもよい。選択可能には、通信システムは無線ローカルエリアネットワーク(WLAN)と通信してもよい。いくつかの実施例では、通信システム152は、例えば赤外線、ブルートゥース(登録商標)、又はZIGBEE(登録商標)経由で1つ以上の機器又は他の車両と直接通信してもよい。その他の無線プロトコル、例えば各種の車載通信システムも、本開示の範囲内にある。例えば、通信システムは1つ以上の専用近距離通信(DSRC)装置、V2V装置又はV2X装置を含んでもよく、これらの装置は車両及び/又は路側局と公開又は秘密のデータ通信を行う。
【0027】
制御コンピュータシステム150は、車両100の機能の一部又は全部を制御することができる。制御コンピュータシステム150における自動運転制御ユニットは、車両100が位置する環境における潜在的な障害物の認識、評価、回避又は乗り越えに用いることができる。自動運転制御ユニットは、通常、運転者がいない場合に車両100を制御し、又は運転者が車両100を制御することに支援を提供するために用いることができる。いくつかの実施例では、自動運転制御ユニットはGPS送受信機からのデータ、レーダーデータ、LIDARデータ、カメラデータ、及び他の車両システムからのデータを結合して、車両100の走行経路又は軌跡を決定するために用いられる。また、自動運転制御ユニットはアクティブされて、車両100が自動運転モードで運転されることを可能にすることができる。
【0028】
制御コンピュータシステム150は少なくとも1つのプロセッサ(それは少なくとも1つのマイクロプロセッサを含んでもよい)を含んでもよく、プロセッサは不揮発性コンピュータ読み取り可能な媒体(例えばデータ記憶装置又はメモリ)に記憶された処理コマンド(すなわち機械実行可能コマンド)を実行する。メモリに少なくとも1つの機械実行可能コマンドが記憶され、プロセッサは少なくとも1つの機械実行可能コマンドを実行して、地図エンジン、位置決めモジュール、感知モジュール、ナビゲーション又は経路モジュール、及び自動制御モジュールなどの機能を実現する。地図エンジン及び位置決めモジュールは地図情報及び位置決め情報を提供するために用いられる。感知モジュールは、センサシステムが取得した情報、及び地図エンジンが提供した地図情報に基づいて車両が位置する環境における物事を感知するために用いられる。ナビゲーション又は経路モジュールは、地図エンジン、位置決めモジュール及び感知モジュールの処理結果に基づいて、車両に走行経路を計画するために用いられる。自動制御モジュールはナビゲーション又は経路モジュールなどのモジュールの決定情報を入力させ、解析し、車両制御システムへの制御コマンドに変換して出力させ、且つ車載ネットワーク(例えばCANバス、ローカルインターネット、マルチメディア指向システム伝送などの方式で実現される車両内部電子ネットワークシステム)を介して制御コマンドを車両制御システムにおける対応する部材に送信し、車両に対する自動制御を実現し、自動制御モジュールはさらに車載ネットワーク経由で車両における各部材の情報を取得することができる。
【0029】
制御コンピュータシステム150は、複数の計算機器であってもよく、これらの計算機器は、車両100の部材又はシステムを分散的に制御する。いくつかの実施例では、メモリはプロセッサに実行されて車両100の様々な機能を実現する処理コマンド(例えば、プログラムロジック)を含んでもよい。一実施例では、制御コンピュータシステム150はシステム142、144、146、148及び/又は152とデータ通信を行うことができる。制御コンピュータシステムにおけるインタフェースは制御コンピュータシステム150とシステム142、144、146、148及び152との間のデータ通信を促進するために用いられる。
【0030】
メモリはさらに他のコマンドを含んでもよく、データ送信のためのコマンド、データ受信のためのコマンド、インタラクションのためのコマンド、又は駆動システム142、センサシステム144、制御システム146若しくはユーザインタフェースシステム148を制御するためのコマンドを含む。
【0031】
メモリは、処理コマンドの他に、画像処理パラメータ、道路地図、経路情報といった複数種類の情報又はデータを記憶することができる。車両100が自動モード、半自動モード及び/又は手動モードで動作している間、これらの情報は、車両100及び制御コンピュータシステム150に使用されてもよい。
【0032】
自動運転制御ユニットは、プロセッサ及びメモリと分離するように図示されているが、いくつかの実施形態では、自動運転制御ユニットの機能の一部又は全部は、1つ以上のメモリ(又はデータ記憶装置)に設けられたプログラムコードコマンドにより実現され、1つ以上のプロセッサにより実行され、自動運転制御ユニットは、同じプロセッサ及び/又はメモリ(又はデータ記憶装置)を用いて実現される場合があることを理解されたい。いくつかの実施形態では、自動運転制御ユニットは少なくとも一部が様々な専用回路ロジック、様々なプロセッサ、様々なフィールドプログラマブルゲートアレイ(FPGA)、様々な特定用途向け集積回路(ASIC)、様々なリアルタイムコントローラ及びハードウェアを用いて実現することができる。
【0033】
制御コンピュータシステム150は、各種な車両システム(例えば、駆動システム142、センサシステム144、制御システム146)から受信した入力、又はユーザインタフェースシステム148から受信した入力に基づいて、車両100の機能を制御することができる。例えば、制御コンピュータシステム150は、制御システム146からの入力を用いて、センサシステム144により検出された障害物を回避するようにステアリングユニットを制御することができる。一実施例では、制御コンピュータシステム150は車両100及びそのシステムの複数の側面を制御するために用いることができる。
【0034】
図1では、車両100に統合される各種の部材(又はユニット)が示されているが、これらの部材(又はユニット)の1つ又は複数は、車両100に搭載され、又は単独で車両100に関連付けられてもよい。例えば、制御コンピュータシステム150は、一部又は全部が車両100とは独立して存在してもよい。これにより、車両100は、分離又は統合した機器ユニットの形態で存在することができる。車両105を構成する機器ユニット間は、有線通信又は無線通信により相互通信を実現することができる。いくつかの実施例では、付加部材又はユニットを各システムに追加し、又はシステムから1つ以上の部材又はユニット(例えば、図1に示すLiDAR又はレーダー)を除去することができる。
【0035】
いくつかの実施例では、制御コンピュータシステム150は図2に示すようなデータ伝送システム200を含んでもよく、当該データ伝送システム200は第1の計算機器210及び第2の計算機器220を含む。図3に示すように、第1の計算機器210は第1の制御モジュール211、第1の受信モジュール212、第1の処理モジュール213、データ送信モジュール214のうちの少なくとも1つを含む。第2の計算機器220は第2の制御モジュール221、第2の受信モジュール222、第2の処理モジュール223及びアルゴリズムモジュール224の少なくとも1つを含む。ここで、アルゴリズムモジュール224は制御コンピュータシステム150における自動運転制御ユニットの実行ロジックを実現することができる。
【0036】
第1の計算機器210はセンサにより収集されたセンサデータを受信し、例えばカメラなどの画像収集装置により収集された元画像を受信し、受信した元画像を圧縮した後、圧縮後の画像を第2の計算機器220に送信する。第2の計算機器220は受信したデータを解凍した後、アルゴリズムモジュール224は解凍後のデータに基づいて計算する。第1の計算機器210及び第2の計算機器220は、互いに独立した2つの機器であってもよい。例えば、第1の計算機器210は、スイッチなどのデータ中継機器であり、第2の計算機器220は、車載サーバの機能を統合した車載ドメインコントローラである。また例えば、第1の計算機器210は車載ドメインコントローラであり、第2の計算機器220は車載サーバである。
【0037】
いくつかの実施例では、第1の制御モジュール211は各画像収集装置のパラメータを設定し、当該パラメータは画像収集フレームレート、出力フォーマット、露光時間、ゲインを含むがそれらに限定されない。画像収集装置が位置する環境の変化に応じて、第1の制御モジュール211は画像収集装置の各パラメータを動的に調整することができる。
【0038】
画像収集装置と第1の受信モジュール212との間はシリアライザ及びデシリアライザを用いて画像データの伝送を完了し、第1の受信モジュール212のデシリアライザはMIPIハードウェアインタフェースを用いて画像収集装置のシリアライザデータを受信する。選択可能には、第1の受信モジュール212は完全な1フレームのベイヤー画像を受信した後に第1の処理モジュール213にデータ圧縮を行うことを通知し、又はs行のデータを受信する毎に、当該s行のデータを圧縮させるように第1の処理モジュール213に通知する。
【0039】
第1の処理モジュール213はベイヤーデータに対してデータ変換を行い、順次ベイヤーデータをYUV444フォーマットデータに変換し、ダウンサンプリング、ブロック分割(画素領域に基づいて分割する)、DCT(Discrete Cosine Transform、離散コサイン変換)、量子化(DCT後に得られた各係数を量子化マトリックスにおける対応する値で割り、続いて整数化を行う)、ハフマン符号化などのステップを行い、完全なJPEG(Joint Photographic Experts Group、ジョイント・フォトグラフィック・エキスパーツ・グループ)データを得る。これらの画像処理プロセスはいずれも当分野の従来の操作方式を採用してもよく、ここで説明を省略する。
【0040】
データ送信モジュール214は第1の処理モジュール213が生成したJPEGデータに対してデータパケット化を行い、カプセル化されたデータパケットを第2の受信モジュール222に送信する。データ伝送プロトコルはプライベートプロトコルを用いてデータの安定性、信頼性を向上させ、例えばUDP(User Datagram Protocol、ユーザデータグラムプロトコル)又は伝送制御プロトコル(Transmission Control Protocol)を採用してもよい。JPEGデータサイズに基づいてデータパケットにかかわる可能性があり、すなわち1フレームのJPEGデータをカプセル化してn個のデータパケットにし、nは1以上の整数である。例えば、各行のデータをカプセル化して1つのデータパケットにし、且つ各データパケットがプロトコルヘッダ及びデータセグメントを含むようにしてもよい。また、各データパケットは、プロトコルヘッダに記憶可能な送信タイムスタンプ、データパケット番号、フレーム識別子、行識別子を含む。データパケット番号は当該データパケットが1フレームのJPEG画像における何番目のパケットであるかを表し、フレーム識別子は当該データパケットに対応するJPEG画像のフレーム識別子を表し、各フレームのJPEG画像はいずれも唯一のフレーム識別子を有し、当該JPEG画像に基づいてカプセル化された複数のデータパケットにも当該JPEG画像のフレーム識別子が持たれる。行識別子は、当該パケットが何行の画素をカプセル化してなるかを表す。
【0041】
データ送信モジュール214が第2の受信モジュール222に伝送するデータにはさらにデータパケットの総数、すなわちnが含まれる。第2の受信モジュール222は受信した総数nと各データパケットにおけるデータパケット識別子に基づいて1フレームの画像が完全に受信されたか否かを判断する。第2の受信モジュール222が各フレームのJPEGデータの最後のデータパケットのフレームテールを受信したことは当該フレームデータの伝送の完了を表し、その後に次のフレームの画像のデータパケットの伝送を開始する。フレームテールを受信した時に受信した当該フレームのデータパケット総数がnより小さいと判断すれば、フレーム落ちが発生したことを表す。
【0042】
1フレームの画像の全てのデータパケットを受信した後、第2の処理モジュール223は受信したデータを解凍する。選択可能には、第2の受信モジュールはn個のデータパケットのうち前のp個のデータパケットを受信した後に第2の処理モジュール223に解凍操作を実行することを通知し、pはnより小さい整数である。例えば、1フレームのJPEG画像をカプセル化して10個のデータパケットにした場合、前の3個のデータパケットを受信した後に解凍操作を実行してもよい。
【0043】
いくつかの実施例では、第2の処理モジュール223がデータを解凍するステップは、受信したJPEGデータに対してハフマン復号、逆量子化、DCT逆変換、色復元YUV444、BGRへの変換を行うなどのステップを含む。解凍後のデータがアルゴリズムモジュール224にアクセス又は呼び出しされ、アルゴリズムモジュールが車両側で動作するため、オンラインアルゴリズムモジュールと呼ぶことができる。それに応じて、オフラインで当該アルゴリズムモデルをトレーニングするためのモジュールはオフラインアルゴリズムモジュールと呼ぶことができる。アルゴリズムモジュールは感知アルゴリズムモジュール、位置決めアルゴリズムモジュール、計画アルゴリズムモジュール及び制御アルゴリズムモジュールを含むがそれらに限定されず、当該4つのモジュールはそれぞれ道路及び環境感知、車両及びセンサ位置決め、経路計画、制御操作の実行に用いられる。
【0044】
また、画像収集装置は複数の画像収集装置(例えば画像収集装置1~m)であり、本開示には、異なるシーンにおいて第1の計算機器210が異なる画像取得装置の圧縮画像を伝送する時の解像度が予め配置される。アルゴリズムモジュール224はシーン情報に基づいて調整する必要がある画像解像度を決定し、遮断機能をオンにし、特定のシーンで特定のカメラに対応する圧縮画像の解像度を調整し、又は第1の計算機器に特定のシーンで空データを伝送することを通知し、それによりリソース占有を最大限に減少し、データ処理速度を上げ、自動運転の安全な動作を保証する。
【0045】
アルゴリズムモジュール224は画像解像度を算出し、第2の制御モジュール221に解像度調整コマンドを送信し、当該コマンドには算出された解像度が持たれる。
【0046】
1つの実現態様では、アルゴリズムモジュール224により算出された画像解像度は第2の制御モジュール221により第1の計算機器210に送信され、それにより第1の計算機器は後続の伝送対象となる圧縮画像の解像度を調整する。当該第2の制御モジュール221は第1の計算機器210に解像度調整コマンドを送信し、当該解像度調整コマンドはアルゴリズムモジュール224が算出した解像度を持つ。当該解像度が閾値以下であることに応答し、第1の計算機器210は後続の伝送対象となるパケットのデータセグメント内容を空にし、解像度が閾値より大きいことに応答し、第1の計算機器210は伝送対象となる圧縮画像又は元画像に対応する解像度を対応的に調整し、すなわち算出された解像度に調整する。選択可能には、アルゴリズムモジュール224により算出された解像度が閾値以下である場合、第1の計算機器310に遮断コマンドを直接送信することができ、それにより、第1の計算機器は後続の伝送対象となるデータパケットのデータセグメント内容を空にする。
【0047】
画像の解像度は0k、1k、2k、4k、5k、8kなどであってもよく、各種の解像度には対応する画像サイズ及び画像画素数がある。2kは、一般的に、画像に2000列程度の画素があることを表し(2k解像度は1920×1080、1998×1080、2048×1080などを含んでもよい)、4kは画像に4000列程度の画素があることを表し(4k解像度は3840×2160、3996×2160、4096×2160を含んでもよい)、以下同様であり、kはkiloの略記である。当該閾値は0k、1k又は2kであってもよく、勿論、これらに限定されない。選択可能には、アルゴリズムモジュール224により算出された解像度がゼロである場合、第1の計算機器310に遮断コマンドを直接送信することができ、それにより第1の計算機器は後続の伝送対象となるデータパケットのデータセグメント内容を空にする。
【0048】
別の実現態様では、第2の制御モジュール221はコマンドを受信した後に画像の幅及び高さパラメータを再配置し、再配置したパラメータを第2の処理モジュールに送信し、それにより、第2の処理モジュールは受信した圧縮データの解像度を調整する。その後、アルゴリズムモジュール224はこの解像度が調整されたデータに基づいて計算し、このようにデータ計算量を効果的に減少することができる。
【0049】
アルゴリズムモジュール224は算出した解像度を第2の処理モジュール又は第1の機器210に直接送信することができ、すなわち第2の制御モジュール221の転送を経由しないことを理解されたいであろう。また、圧縮画像の解像度を調整する以外、第1の計算機器310は圧縮対象となる元画像の解像度を調整し、調整後の元画像を得、引き続き、調整後の元画像に基づいて画像圧縮を行い、圧縮画像を得ることもできる。
【0050】
シーン情報は、元画像を収集する時のシーン情報を含み、具体的には、元画像を収集する時の画像収集装置又は車両が位置するシーンのシーン情報である。いくつかの実施例では、シーン情報はシーンタイプを含み、シーンタイプは高速道路シーン、平坦路シーン、後退シーン、登坂シーン、港湾シーン、標示シーンのうちの少なくとも1つを含むが、これらに限定されない。高速道路シーンは高速公路シーンであり、高速公路は一般的に都市間、都市と村との間、及び村間を接続する道路である。平坦路は都市道路を含み、都市道路は主要幹線道路、支線道路、快速道路などを含むがこれらに限定されない。高速道路の最大制限速度は一般的に平坦路の最大制限速度より大きい。一般的に、高速道路の最大制限速度は第1の閾値区間にあり、平坦路の最大制限速度は第2の閾値区間にあり、第2の区間は第1の閾値区間より小さい。当然のことながら他の様々なシーンがあり、各シーンはいずれも最適な各カメラの画像伝送解像度を有する。ここで、標示シーンはセンサを標示するためのシーンであり、例えば両眼カメラを標示するシーンであり、当該シーンで、前方に標示板が設置される可能性があり、両眼カメラはそれぞれ当該標示板を撮影し、標示アルゴリズムは撮影された結果に基づいて両眼カメラのパラメータを標示する。車両の走行中に道路中の区画線を撮影し、地図中の区画線と対比することにより、標示を行うこともできる。標示シーンは、例えばレーザレーダー、ミリ波レーダーのような任意のセンサの標示に用いることができ、本開示はこれついて限定しない。
【0051】
1つの実現態様では、第2の計算機器220は制御コンピュータシステム150の自動運転制御ユニットからトピックメッセージ(Topic)を定期利用することができ、自動運転制御ユニットがメンテナンスするトピックメッセージに現在シーン情報が含まれる場合、第2の計算機器220は定期利用するメッセージトピックから当該シーン情報を決定する。シーン情報は発車の前に自動運転配置項目に早めに書き込むことができ、例えばグローバル情報項目に書き込んでトピックメッセージに記憶し、例えば車両が標示する前に、シーン情報を標示シーンとして早めに書き込む。又は車が後退タスクを行う時、シーン情報を後退シーンとして早めに書き込む。シーン情報を早めに地図に書き込んでもよく、このとき地図には異なる位置に対応するシーン情報が早めに記憶されており、車両が異なる位置に進入すると、第2の計算機器220は現在の地図情報に基づいて対応するシーン情報を決定することができる。
【0052】
例えば、高速道路シーンでは、カメラ1~4は2k解像度を用い、カメラ5~8は4k解像度を用い、カメラ9は0k解像度を用いる。0k解像度を伝送する必要があるカメラに対して、本開示は対応するカメラをオフにせず、正常な画像収集フレームレートを保証するように、カメラを第1の計算機器210に画像データを正常に伝送するようにする。第1の計算機器210は、第2の計算機器220にデータを送信する際に、空データを伝送し、すなわち、伝送しようとするパケットデータを空にする。データセグメントを空にする方式は、既存のデータセグメントの本文をクリアし、又は圧縮画像をカプセル化してプロトコルヘッダ及び空のデータセグメントを含むデータパケットにする。このような方式により頻繁にカメラをオンオフにすることによるデータ遅延及び誤差を回避し、自動運転システムの安全性を保証する前提で、またある程度でデータ伝送量を減少し、データ伝送効率を向上させる。
【0053】
別の実現態様では、第2の計算機器220はよりスマートでリアルタイムにシーン情報を算出することができ、例えば第2の計算機器220は元画像を収集する時の画像収集装置の姿勢に基づいてシーン情報を決定する。ここで、第2の計算機器220のアルゴリズムモジュール224は画像収集装置が各フレームの元画像を収集する時のGPS測位信号又はIMUデータをリアルタイムに取得し、これらのデータに基づいて現在の車両が位置する位置を初期判定することができ、当該位置に基づいて現在の車両が位置するシーン情報を知ることができる。画像収集装置の姿勢及び車両姿勢はオフセット又は変換行列によって変換することができ、したがって、ここでは、いずれかの姿勢を取得することができることを理解されたいであろう。
【0054】
また、カメラの車両における取り付け角度及び撮影角度の問題が考慮され、第2の計算機器220の第2の処理モジュール223はさらに画像収集装置の姿勢に基づいて画像に対して、例えば90度回転、水平反転、垂直反転などの回転処理を行うことができる。また、第2の処理モジュール223は受信した画像データをスケーリングすることもできる。
【0055】
さらに、アルゴリズムモジュール224は受信した画像データに対して感知及び位置決めを行い、画像収集装置の姿勢を得、さらに現在のシーン情報を得る。例えば、その画像中の区画線を認識し、現在の位置の地図区画線と対比して現在の車両の姿勢を得る。
【0056】
さらに別の実現態様では、圧縮画像及びデータパケットはいずれも当該シーン情報を持つ。第1の計算機器210は当該元画像を受信すると同時に、当該元画像を収集する時の画像収集装置の姿勢を取得し、当該姿勢に基づいて対応するシーン情報を生成する。当該シーン情報を元画像から圧縮画像及びデータパケットに伝達することができ、例えば、シーン情報をデータパケットのプロトコルヘッダに書き込む。ここで、元画像は画像収集タイムスタンプを持ち、第1の計算機器は同時に当該タイムスタンプに対応するGPS信号又はIMUデータを取得し、それにより当該画像収集装置の姿勢を決定する。
【0057】
別の実現態様では、第1の計算機器210及び第2の計算機器220はいずれも路側機器と通信可能に接続され、当該路側機器は現在の位置に対応するシーン情報を記憶し、例えば現在は高速道路シーンなどである。第1の計算機器210又は第2の計算機器220は、当該路側機器から現在のシーン情報を取得することができる。
【0058】
要するに、本開示は複数のシーン構成を設定することができ、各シーンでは、第1の計算機器210が異なるカメラの画像を伝送する解像度が設定される。さらに、第2の計算機器220は、予め配置されたシーン情報に基づく以外に、異なるカメラの解像度をリアルタイムで動的に調整することができる。具体的に言えば、アルゴリズムモジュール224は車両の左右両側のカメラが収集した画像に対して目標検出を行い、連続した一定の時間内(又は連続した複数のフレーム内)に、画像に表示された車両両側のシーンにいずれも顕著な変化が発生しなければ、左右両側のカメラの圧縮画像の解像度を低下させることができる。車両両側の風景が常に水域又は常に農地である場合、左右両側を撮像するためのカメラが収集した画像中には、大部分がいずれも水域又は農地であり、したがって当該両側のカメラの圧縮画像の解像度を低下させることができ、ひいては周期的に解像度を0に調整し、間欠的な遮断を実現する。
【0059】
さらに、点群収集装置により収集された点群も第1の計算機器210により第2の計算機器220に転送されることが考慮される。したがって、画像収集装置と同様に、いくつかのシーンで、第1の計算機器はある点群収集装置の点群データを転送する時、点群の点を適切に削減することもでき、例えば1フレームの点群中の所定の割合(例えば10~20%)の点群の点を除去して、データ伝送量を減少する。
【0060】
図4は本開示の一実施例によるデータ伝送方法400のフローチャートを示し、当該方法は第1の計算機器210において実行することができる。図4に示すように、当該方法は、ステップS410~S440を含む。
【0061】
ステップS410において、画像収集装置により収集された元画像を受信し、当該元画像を圧縮し、圧縮画像を得る。
【0062】
いくつかの実施例では、ステップS410はさらに、画像収集装置にトリガ信号を送信して、画像収集装置が当該トリガ信号に応答して収集した元画像を受信する。また、画像収集装置は第1の周波数で画像を収集し、第1の計算機器は第1の周波数で画像収集装置から伝送された画像シーケンスを受信し、第2の周波数で当該画像シーケンスに対してフレーム間引き処理を行い、前記元画像を得る。フレーム間引きはPフレームごとに1フレームを選択し、又は所定の周期ごとに1フレームを選択すると理解されてもよく、引かれた当該フレームは後続の画像圧縮及び伝送操作を実行するために用いられ、引かれないフレームは直接廃棄されてもよい。ここで、第2の周波数は第1の周波数より小さく、第1の周波数は40~80Hzであってもよく、第2の周波数は8-20Hzであってもよく、当然のことながら、これらに限定されない。
【0063】
ここで、画像収集装置は第2の周波数でデータを収集すれば、伝送遅延を増加し、伝送遅延は1000ms/第2のフレームレート増加し、さらに下流データ伝送遅延を増加し、システムリスクを高める。また、画像収集装置の出力フレームレートが第2の周波数になると、ローリングシャッター(カメラがプログレッシブ露光する時、プログレッシブ速度が不十分であるため、撮影結果に「傾斜」、「揺れ」又は「部分露光」などの状況が発生する)、ランプの点滅、画像品質が低いなどの問題を進める。本開示の画像収集装置は第1の周波数でデータを収集し伝送し、第1の計算機器は第2の周波数に従って画像シーケンスに対してフレーム間引き処理を行い、元画像も第2の周波数で第2の計算機器に伝送し、データ伝送遅延を効果的に低減させ、また、ローリングシャッターの影響を効果的に低減させ、画像品質を向上させる。
【0064】
ステップS420において、圧縮画像をカプセル化して少なくとも1つのデータパケットにし、当該データパケットはプロトコルヘッダ及びデータセグメントを含む。ここで、データセグメントは、伝送しようとするデータ本文であり、プロトコルヘッダはパケット番号、元画像のタイムスタンプ、及び元画像のフレーム識別子を含む。選択可能には、プロトコルヘッダはさらにデータパケットに対応する行番号を含んでもよく、それにより第2の計算機器はフレーム識別子及び行番号に基づいて1フレームの完全な画像を決定する。
【0065】
いくつかの実施例では、ステップS420はさらに、圧縮画像中の所定行の画像を受信する毎に、所定行の画像をパケットにするステップを含み、プロトコルヘッダはさらにデータパケットに対応する行識別子を含み、それにより、第2の計算機器はフレーム識別子及び行識別子に基づいて受信したデータパケットの1フレームの画像における位置を決定する。
【0066】
ステップS430において、少なくとも1つのデータパケットを第1の計算機器に通信可能に接続される第2の計算機器に送信して、第2の計算機器が元画像を収集するシーン情報に基づいて、画像収集装置に対応する後続圧縮画像の解像度を計算するようにする。異なるシーンで各画像収集装置はいずれもそれに対応する圧縮画像の解像度を有し、第2の計算機器は各フレームの画像を収集するシーン情報を取得した後、当該シーンにおける各画像収集装置に対応する圧縮画像の解像度を決定する。いくつかの実施例では、第2の計算機器は元画像を収集する時のシーン情報に基づいて新たな解像度を継続的に計算し、特に、シーン情報に基づいてシーンに変化が発生すると決定する時に新たな解像度を計算し、シーンが継続的に変わらなければ、新たな解像度を再計算しない。別の実施例では、画像解像度は同一のシーンの維持時間と負の相関にあり、すなわち、同一のシーンが変換しない時間が長ければ長いほど、計算される画像解像度が低くなる。同一のシーンで、本開示の実施例はさらに新たな画像解像度を漸進的に決定し、すなわち、時間の推移に伴って、計算される画像解像度は次第に高い解像度から低い解像度へ変化する。例を挙げると、同一のシーンでは、所定の周期毎に画像解像度を1回低下させ、例えば次のレベルに低下させる。
【0067】
ステップS440において、解像度が閾値以下であることに応答し、後続の伝送対象となる当該画像収集装置に対応するデータパケットのデータセグメントを空にする。当該閾値は0k、1k又は2kであり、当然のことながら、これらに限定されない。選択可能には、解像度がゼロであることに応答し、後続の伝送対象となる当該画像収集装置に対応するデータパケットのデータセグメントを空にする。
【0068】
いくつかの実施例では、ステップS440はさらに、第1の計算機器は解像度が閾値より大きいことに応答し、後続の伝送となる画像収集装置に対応する圧縮画像を計算される解像度に調整するステップを含む。選択可能には、第1の計算機器は解像度がゼロではないことに応答し、後続の伝送対象となる画像収集装置に対応する圧縮画像の解像度を計算される解像度に調整する。このような方式は、第1の計算機器が主体として画像解像度を調整する場合に対応する。例えば、カメラ1の解像度が2kである場合、第1の計算機器210は、当該カメラ1の圧縮画像の解像度を2kに調整し、2kの圧縮画像をパケットにして複数のデータパケットにする。いくつかの実施例では、ステップS440はさらに、第2の計算機器は解像度がゼロではないことに応答し、受信した画像収集装置に対応する圧縮画像の解像度を調整するステップを含む。これは、第2の計算機器が主体として画像の解像度を調整する場合に対応する。
【0069】
いくつかの実施例では、第1の計算機器は受信した画像シーケンスに対してフレーム間引き処理を行う上で、さらにカメラ遮断を実現する。ここでのカメラ遮断とは、あるシーンでカメラデータを必要としないと、このパス又はマルチパスのカメラデータをサーバに伝送せず、さらにネットワークリソースを節約することである。例えば、高速シーンで、アルゴリズムモジュールは左右方向のカメラのデータを計算せず、後方カメラに依存して左右車線物体検出を行い、又は左右方向におけるそれぞれ1つのカメラのみに依存して計算し、このようにネットワークリソースを節約するだけでなく、さらにアルゴリズム計算量を減少する。あるカメラが伝送しようとする圧縮画像の解像度を0k又は1kに設定した場合、当該カメラをオフにしてそれに画像を収集させないことなく、Pフレーム毎に0フレームを引く方式で当該カメラが収集した画像を全て廃棄することもなく、Pフレーム毎に1フレームを引く上で、引かれた当該フレームの画像データのパケットデータのデータセグメントを空にする。すなわち、第1の計算機器は、データを正常に受信及び伝送するが、空データを送信するだけである。このように、カメラの正常な画像収集周波数、第1の計算機器の正常な画像フレーム間引き周波数及び伝送周波数を保証し、頻繁にカメラをオンオフにすることによるデータ遅延及び不正確を防止し、また画像フレーム間引き周波数を変更した後に、システムが誤判してフレーム誤り、フレーム落ちなどの状況が発生することを防止する。
【0070】
いくつかの実施例では、第1の計算機器210はさらに画像における特定領域の解像度のみを変更し、他の領域の解像度をそのまま保持し、又は、第2の計算機器は、受信した元画像から関心領域を切り出し、当該関心領域の解像度を調整することができる。
【0071】
具体的に言えば、方法400は、第1の計算機器210は第2の計算機器がシーン情報に基づいて算出した関心領域を受信するステップと、後続の伝送対象となる圧縮画像から関心領域を含む目標画像を決定するステップと、目標画像における関心領域部分の解像度を調整するステップと、をさらに含む。ここで、当該関心領域は長さ、幅、キーポイントの座標で表され、例えば長さ、幅、中心点座標(又はある頂点座標)で表される。第2の計算機器は関心領域Aの画像を重点的に閲覧する必要がある場合、当該関心領域の式を第1の計算機器に送信し、第1の計算機器は当該関心領域を受信した後、当該関心領域を含む圧縮画像を決定し、当該圧縮画像における当該関心領域の解像度を必要な解像度に調整する。又は、第2の計算機器は画像解像度を直接調整し、すなわち画像処理モジュールは圧縮画像から当該関心領域を切り出し、当該関心領域の解像度を調整する。
【0072】
いくつかの実施例では、元画像は複数フレームの元画像であり、各フレームの元画像を圧縮して1フレームの圧縮画像を得ることができ、圧縮画像が複数フレームの圧縮画像であるため、ステップS420において、圧縮画像をカプセル化して少なくとも1つのデータパケットにするステップは、前記複数フレームの圧縮画像中の1フレームの圧縮画像をカプセル化して少なくとも1つのデータパケットにするステップを含み、ステップS440において、画像収集装置の皇族の伝送対象となるデータパケットのデータセグメントを空にするステップは、複数フレームの圧縮画像中の他のフレームの圧縮画像をそれぞれカプセル化してプロトコルヘッダ及び空データセグメントを含むデータパケットにし、又はカプセル化されたデータパケットのデータセグメントの本文を空にするステップを含む。
【0073】
図5は本開示の別の実施例によるデータ伝送方法500のフローチャートを示し、第2の計算機器において実行することに適する。図5に示すように、方法500は、
第1の計算機器から送信されたデータパケットを受信するステップであって、データパケットは圧縮画像をカプセル化してなり、圧縮画像は画像収集装置により収集された元画像を圧縮することで得られるステップS510と、
元画像を収集する時のシーン情報に基づいて、画像収集装置に対応する後続圧縮画像の解像度を決定するステップS520と、
解像度が閾値以下であることに応答し、第1の計算機器に遮断コマンドを送信して、前記第1の計算機器が後続の伝送対象となる前記画像収集装置のデータパケットのデータセグメントを空にするようにするステップS530と、を含む。選択的には、解像度がゼロであることに応答し、第1の計算機器に遮断コマンドを送信して、前記第1の計算機器が後続の伝送対象となる前記画像収集装置のデータパケットのデータセグメントを空にするようにする。
【0074】
いくつかの実施例では、ステップS530はさらに、解像度が閾値より大きいことに応答し、第2の計算機器は第1の計算機器に調整コマンドを送信して、第1の計算機器が後続の伝送対象となる画像収集装置のデータパケットのデータセグメントを空にするようにするステップを含む。又は、解像度が閾値より大きいことに応答し、第2の計算機器の画像処理モジュールは受信した圧縮画像の解像度を調整する。選択可能には、解像度が閾値より大きいことに応答し、第2の計算機器は第1の計算機器に解像度調整コマンドを送信し、又は第2の計算機器の画像処理モジュールは受信した圧縮画像の解像度を調整する。
【0075】
さらに他の実施例では、第2の計算機器は受信した画像を解凍した後、さらに解凍後のデータを記憶して、後続のオフラインアルゴリズムモジュールが当該データを呼び出しして計算するようにする。具体的に言えば、図6に示すように、本開示のデータ伝送方法はさらに、
第2の計算機器は同じフレーム識別子を有するデータパケットに基づいて圧縮画像を得るステップS610と、
第2の計算機器は圧縮画像を目標フォーマット(当該目標フォーマットはアルゴリズムモジュールに必要なフォーマットであり、例えば青緑赤BGR8フォーマットである)に解凍し、解凍後のデータを第2の計算機器におけるオンラインアルゴリズムモジュール(すなわち、アルゴリズムモジュール224)に伝送して計算する。ここで、第2の計算機器はさらに当該元画像を収集する時の画像収集装置の姿勢に基づいて、復元後の画像に対して回転処理を行うステップS620と、
第2の計算機器は解凍後のデータを再圧縮した後、再圧縮後のデータをデータベースに記憶するステップS630と、
第3の計算機器はデータベースから再圧縮後のデータを取得し、再圧縮後のデータをアルゴリズムに必要なフォーマットに解凍するステップS640と、
第3の計算機器は解凍したデータを第3の計算機器におけるオフラインアルゴリズムモジュールに伝送して計算するステップS650と、を含む。
【0076】
図7に示すように、第2の計算機器はJPEG画像をBGRフォーマット、すなわちアルゴリズムモジュールに必要なフォーマットの画像に処理した後(例えば位置決めモジュール、感知モジュールが計算する時に必要な画像フォーマット)、一方で処理後のBGR画像をオンラインアルゴリズムモジュールに送信して計算し、他方で処理後のBGR画像を圧縮し、圧縮後のJPEG画像をデータベースに記憶する。その後、第3の計算機器はデータベースから記憶されたJPEG画像を取得し、BGR画像に解凍した後、解凍後の画像をオフラインアルゴリズムモジュールに伝送して計算する。ここで、第3の計算機器は第1及び第2の計算機器と区別するリモート機器として、その内にオフラインアルゴリズムモジュールが常駐し、オフラインでアルゴリズムモジュールをトレーニングするためのコンピュータ、コンピュータクラスタなどであってもよい。
【0077】
このように、車上のオンラインアルゴリズムモジュールに伝送されるのはJPEGを解凍した後のBGR画像であり、リモートのオフラインアルゴリズムモジュールに伝送されるのもJPEG画像を解凍した後のBGR画像であり、それにより同一アルゴリズムモジュールがそれぞれオンラインアルゴリズムモジュール及びオフラインアルゴリズムモジュールとする時のデータ入力一致性を保証し、2種類のアルゴリズムモジュールの計算一致性を向上させる。オフラインアルゴリズムモジュールに入力されたデータソースがオンラインアルゴリズムモジュールから大きくずれれば、当該アルゴリズムモジュールの車における実際の応用に影響する可能性があり、本開示の方式によりオフラインアルゴリズムモジュールのトレーニング結果がオンラインアルゴリズムモジュールに完全に適用できない状況を効果的に回避することができる。
【0078】
いくつかの実施例では、ステップS610は具体的には、第2の計算機器220の第2の受信モジュール222は同じフレーム識別子を有するデータパケットに基づいて圧縮画像を得るステップを含む。ステップS610は具体的には、第2の計算機器220の第2の処理モジュール223は、得られた圧縮画像を目標フォーマット(例えばアルゴリズムモジュールに必要なフォーマット)に解凍し、一方で、解凍後のデータをオンラインアルゴリズムモジュールに伝送して計算し、他方で、解凍後のデータを第2の計算機器の符号化復号器(図示せず)に伝送するステップを含む。具体的に言えば、第2の処理モジュール223はJPEGフレームヘッダを解析し、ハフマン復号、逆量子化、DCT逆変換、色空間復元YUV444、RGB変換を行い、さらに画像スケーリング、反転、解像度切り替えなどをサポートする。ステップS530は具体的には、符号化復号器は、解凍後のデータを再圧縮した後、再圧縮後のデータをデータベースに記憶して、第3の計算機器が当該データベースにおけるデータを取得してそのオフラインアルゴリズムをトレーニングするようにするステップを含む。
【0079】
上述したように、画像解像度の調整は第2の計算機器により実行されてもよく、すなわち、データ解凍操作及び解像度調整操作を1つの機器に統合して実行してもよい。当該第2の計算機器220に1つのカメラドライブが設置されてもよく、当該カメラドライブ(Camera Driver)は第2の制御モジュール221及び第2の処理モジュール223を含む。第2の処理モジュール223は、データ解凍を実行する以外に、さらにスケーリング操作、回転操作、及び解像度調整などの操作のうちの少なくとも1つを行うことができる。この場合、第1の計算機器210は、伝送対象となるデータを第2の計算機器220に正常に送信する。第2の計算機器220は、データを受信した後、アルゴリズムモジュール224により算出された解像度に基づいて受信した画像解像度を調整し、このように、アルゴリズムモジュールは、解像度が調整されたデータに基づいて位置決め、感知、計画及び制御などの計算を行うことができ、データの計算量を減少する。
【0080】
本開示の技術的解決手段によれば、必要に応じて伝送対象となる画像の解像度を自己適応的に調整することができ、アルゴリズムモジュールに必要な特定の解像度、特定領域の画像のみを伝送し、データ取得速度を加速し、ネットワークリソース消費及びサーバリソース消費を削減し、システムの安定性を向上させる。アルゴリズムモジュールはシーン情報に基づいて画像解像度を調整し、遮断などの機能を実現し、リソース占有を最大限に減少し、データ処理速度を上げ、自動運転の安全な動作を保証する。
【0081】
図8は計算機器800の例示的な機器の図を示し、当該計算機器800は方法400、500を実行するための機器であってもよく、すなわち、第1の計算機器210であってもよく、第2の計算機器220であってもよく、データベース及び第3の計算機器であってもよい。当該計算機器内のコマンドセットが実行される時及び/又は処理ロジックが起動される時に本明細書に記載及び/又は要求された方法のいずれか1つ又は複数を当該機器に実行させることができる。候補実施例において、機械は独立した機器として操作され、又は他の機械に接続(例えば、ネットワーク接続)されてもよい。ネットワーク接続の配置において、機械は、サーバ-クライアントネットワーク環境においてサーバ又はクライアント機械の身分で動作してもよく、又はピアツーピア(又は分散型)ネットワーク環境においてピア機器として動作してもよい。機械は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピューティングシステム、パーソナルデジタルアシスタント(PDA)、携帯電話、スマートフォン、ネットワークアプリケーション、セットトップボックス(STB)、ネットワークルータ、スイッチ若しくはブリッジ又は当該機械がアクションを取るように指定するコマンドセット(順次又は他の方式)を実行することができるか、又は処理ロジックを起動することができる任意の機械であってもよい。さらに、単一の機械のみが図示されているが、「機械」という用語は、本明細書で説明及び/又は請求される方法のいずれか1つ以上を実行するためのコマンドセット(又は複数のコマンドセット)を個別に又は組み合わせて実行する機械の任意のセットを含むと理解されてもよい。
【0082】
例示的な計算機器800は、バス806又は他のデータ伝送システム経由で互いに通信することができるデータプロセッサ802(例えば、システムチップ(SoC)、汎用処理コア、グラフィックコア及び選択可能な他の処理ロジック)及びメモリ804(例えば、メモリ)を含んでもよい。計算機器800は、タッチスクリーンディスプレイ、オーディオジャック、音声インタフェース及び選択可能なネットワークインタフェース812などの様々な入力/出力(I/O)機器及び/又はインタフェース810を含んでもよい。例示的な実施例において、ネットワークインタフェース812は1つ以上の無線トランシーバを含んでもよく、それは1つ以上の標準的な無線及び/又はセルラプロトコル又はアクセス技術(例えば、セルラシステムの第2世代(2G)、第2.5世代、第3世代(3G)、第4世代(4G)及び次世代無線アクセス、グローバル移動通信システム(GSM)、汎用パケット無線サービス(GPRS)、拡張データGSM環境(EDGE)、ワイドバンド符号分割多元接続(WCDMA)、LTE、CDMA2000、WLAN、無線ルータ(WR)グリッドなど)に構成される。ネットワークインタフェース812は、さらに様々な他の有線及び/又は無線通信プロトコル(TCP/IP、UDP、SIP、SMS、RTP、WAP、CDMA、TDMA、UMTS、UWB、WiFi、WiMax、Bluetooth(登録商標)、IEEE802.11xなどを含む)と共に使用するように構成してもよい。本質的に、ネットワークインタフェース812は、任意の有線及び/又は無線通信及びデータ処理機構を実際に含むか又はサポートすることができ、当該機構によって情報/データは、ネットワーク814を介して計算機器800と別のコンピューティング又は通信システムとの間で伝播されてもよい。
【0083】
メモリ804は、機械読み取り可能な媒体(又はコンピュータ読み取り可能な記憶媒体)を表すことができ、機械読み取り可能な媒体(又はコンピュータ読み取り可能な記憶媒体)には、本明細書で説明及び/又は請求される方法又は機能のいずれか1つ又は複数を実施する1つ以上のコマンドセット、ソフトウェア、ファームウェア又は他の処理ロジック(例えば、ロジック808)が記憶されている。計算機器800により実行される期間中、ロジック808又はその一部もプロセッサ802内に完全に又は少なくとも部分的に配置されてもよい。したがって、メモリ804及びプロセッサ802も機械読み取り可能な媒体(又はコンピュータ読み取り可能な記憶媒体)を構成してもよい。ロジック808又はその一部も処理ロジック又はロジックとして構成されてもよく、当該処理ロジック又はロジックの少なくとも一部はハードウェアに部分的に実現される。ロジック808又はその一部は、またネットワークインタフェース812経由でネットワーク814によって送信又は受信されてもよい。例示的な実施例の機械読み取り可能な媒体(又はコンピュータ読み取り可能な記憶媒体)は単一の媒体であってもよいが、「機械読み取り可能な媒体」(又はコンピュータ読み取り可能な記憶媒体)という用語は、1つ以上のコマンドセットを記憶する単一の非一時的媒体又は複数の非一時的媒体(例えば、集中型又は分散型データベース及び/又は関連する高速キャッシュ及びコンピューティングシステム)を含むと理解されるべきである。用語「機械読み取り可能な媒体」(又はコンピュータ読み取り可能な記憶媒体)という用語は、機械により実行されるためのコマンドセットを記憶し、符号化し、又は持つことができ、且つ様々な実施例の方法のいずれか1つ又は複数を機械に実行させることができ、又はそのようなコマンドセットに利用され又はそれに関連するデータ構造を記憶し、符号化し、又は持つことができる任意の非一時的媒体を含むと理解されてもよい。「機械読み取り可能な媒体」(又はコンピュータ読み取り可能な記憶媒体)という用語は、固体メモリ、光学媒体及び磁気媒体を含むが、これらに限定されないと理解されてもよい。
【0084】
開示された実施例及び他の実施例、モジュール及び本明細書に記載された機能操作は、デジタル電子回路システムにおいて、又はコンピュータソフトウェア、ファームウェア若しくはハードウェア(本明細書に開示された構造及びその構造的等価物を含む)において、又はそれらのうちの1つ以上の組み合わせにおいて実現されてもよい。開示された実施例及び他の実施例は、1つ以上のコンピュータプログラム製品として実現されてもよく、すなわち、コンピュータ読み取り可能な媒体に符号化され、それによりデータ処理装置によって実行され又は当該データ処理装置の操作を制御するコンピュータプログラムコマンドの1つ以上のモジュールとして実現されてもよい。コンピュータ読み取り可能な媒体は、機械読み取り可能な記憶機器、機械読み取り可能な記憶基板、メモリ機器、機械読み取り可能な伝播信号に影響を及ぼす物質複合物又はそれらの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、データを処理するための全ての装置、機器及び機械を包含し、例えば、プログラマブルプロセッサ、コンピュータ又は複数のプロセッサ若しくはコンピュータを含む。ハードウェアに加えて、当該装置は、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム又はそれらのうちの1つ以上の組み合わせを構成するコードなど、検討中のコンピュータプログラムのための実行環境を作成するコードを含んでもよい。伝播信号は、人工的に生成された信号、例えば、機械によって生成された電気信号、光信号又は電磁信号であり、当該信号は適切な受信装置に送信される情報を符号化するために生成される。
【0085】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとも呼ばれる)は、任意の形態のプログラミング言語(コンパイル又はインタープリタ型言語を含む)で書き込まれてもよく、且つ当該コンピュータプログラムは、独立のプログラムとして配置され、又はモジュール、部材、サブルーチン若しくはコンピューティング環境での使用に適する別のユニットとして配置することを含む任意の形態で配置されてもよい。コンピュータプログラムは、ファイルシステム内のファイルに必ずしも対応するわけではない。プログラムは、他のプログラム又はデータ(例えば、マーク言語文書内に記憶される1つ以上のスクリプト)を保持するファイルの一部に記憶されてもよく、又は検討中のプログラムに専用される単一のファイルに記憶され、又は複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム又は一部のコードを記憶するファイル)に記憶されてもよい。コンピュータプログラムは、1つのコンピュータ上で実行され又は1つのサイトに位置決めされ又は複数のサイトに分散され且つ通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配置されてもよい。
【0086】
本明細書に説明されるプロセス及びロジックフローは、入力データを操作し且つ出力を生成することによって機能を実行するために、1つ以上のコンピュータプログラムの1つ以上のプログラマブルプロセッサによって実行されてもよい。プロセス及びロジックフローはまた専用ロジック回路システム(例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路))によって実行されてもよく、装置はまた専用ロジック回路(例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路))として実現されてもよい。
【0087】
コンピュータプログラムを実行することに適するプロセッサは、例えば、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的には、プロセッサは、リードオンリーメモリ又はランダムアクセスメモリ又はその両方からのコマンド及びデータを受信する。コンピュータの必要なエレメントは、コマンドを実行するためのプロセッサ及びコマンドとデータを記憶するための1つ以上のメモリ機器である。一般的には、コンピュータはまた、データを記憶するための1つ以上の大容量記憶機器(例えば、磁気ディスク、光磁気ディスク又は光ディスク)を含むか、又はコンピュータはまた当該1つ以上の大容量記憶機器からのデータを受信するか、又はデータを当該1つ以上の大容量記憶機器に送信するか、又はその両方を行うように操作されて接続される。しかしながら、コンピュータはこのような機器を有する必要はない。コンピュータプログラムコマンド及びデータを記憶することに適するコンピュータ読み取り可能な媒体は、あらゆる形態の不揮発性メモリ、媒体及びメモリ機器を含み、例えば、EPROM、EEPROM及びフラッシュメモリ機器のような半導体メモリ機器、内部ハードディスク又はリムーバブルディスクのような磁気ディスク、光磁気ディスク及びCD-ROMディスクとDVD-ROMディスクを含む。プロセッサ及びメモリは、専用ロジック回路によって補充されてもよく、又は当該専用ロジック回路に組み込まれてもよい。
【0088】
本開示は多くの詳細を含むが、これらの詳細は本開示の任意又は保護が請求される可能性がある内容の範囲を限定するものとして解釈されるべきではなく、特定の本開示の特定の実施例に対する特徴の説明として解釈されるべきである。本開示は、個別の実施例の文脈に説明された特定の特徴を、さらに組み合わせて単一の実施例において実現することも可能である。逆に、単一の実施例の文脈に説明された各特徴も個別に又は任意の適切なサブ組み合わせによって複数の実施例において実現されてもよい。さらに、特徴は特定の組み合わせで機能するものとして上記で説明され、また、最初は同様にこれらの特徴について請求しても、場合によっては、請求された組み合わせからの1つ以上の特徴を組み合わせから削除することができ、請求された組み合わせはサブ組み合わせ又はサブ組み合わせの変形を対象とする。
【0089】
同様に、図面において操作は特定の順序で示されているが、所望の結果を実現するように、示された特定の順序又は相次の順序でこのような操作を実行し、又は図示された全ての操作を実行する必要があると理解すべきではない。さらに、本開示に説明される実施例における様々なシステム部材の分離は、全ての実施例においてこのような分離を必要とすると理解されるべきではない。
【0090】
いくつかの実現及び例のみが説明され、他の実現、補強及び変更は、本開示に説明及び図示される内容に基づいて行うことができる。
【0091】
本明細書に説明される実施例の説明は、様々な実施例の構造に対する一般的な理解を提供することを意図しており、且つ本明細書に説明される構造の部品及びシステムを利用する可能性がある全ての素子及び特徴の完全な説明として機能することを意図していない。当業者は、本明細書に提供される説明を精査すると、多くの他の実施例に明らかになる。本開示の範囲から逸脱することなく、構造的及び論理的な置換及び変更を行うことができるように、他の実施例を利用及び導出することができる。本明細書の図面は単に代表的なものであり、縮尺通りに描かれていない場合がある。いくつかの比率は増加される可能性もあり、他の比率は最小化される可能性もある。したがって、明細書及び図面は限定的ではなく説明的なものとみなされるべきである。
【0092】
いくつかの実施例は、2つ又はそれ以上の特定の相互接続されたハードウェアモジュール又は機器において機能を実現し、ここで、関連する制御及びデータ信号はモジュール間にあり、モジュールを介して伝達され、又は特定用途向け集積回路の一部とする。したがって、例示的なシステムは、ソフトウェア、ファームウェア及びハードウェアの実現に適する。
【0093】
本開示の例示的な実施例又は例が図面を参照しながら説明されたが、上記の例示的な議論は、網羅的であること、又は本開示を開示された具体的な形態に限定することを意図しないことを理解されたい。上記の教示内容に基づき、多くの修正及び変形が可能である。したがって、開示される主題は、本明細書に記載される任意の単一の実施例又は例に限定されるべきではなく、添付の特許請求の範囲の広さ及び範囲に従って解釈されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8