(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-26
(54)【発明の名称】フレームグラバ、画像収集方法及び画像収集システム
(51)【国際特許分類】
H04N 5/92 20060101AFI20241219BHJP
H04N 23/60 20230101ALI20241219BHJP
H04N 5/76 20060101ALI20241219BHJP
H04N 19/85 20140101ALI20241219BHJP
【FI】
H04N5/92
H04N23/60 300
H04N5/76
H04N19/85
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024536001
(86)(22)【出願日】2022-12-02
(85)【翻訳文提出日】2024-06-14
(86)【国際出願番号】 CN2022136127
(87)【国際公開番号】W WO2023124768
(87)【国際公開日】2023-07-06
(31)【優先権主張番号】202111650739.3
(32)【優先日】2021-12-29
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】519059292
【氏名又は名称】杭州海康机器人股▲ふん▼有限公司
【氏名又は名称原語表記】Hangzhou Hikrobot Co., Ltd.
【住所又は居所原語表記】Room 304, Unit B, Building 2, 399 Dangfeng Road, Binjiang District, Hangzhou, Zhejiang 310051, China
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】楼 佳祥
(72)【発明者】
【氏名】▲兪▼ ▲敏▼▲敏▼
(72)【発明者】
【氏名】▲兪▼ ▲ジャオ▼
(72)【発明者】
【氏名】程 ▲亜▼浪
(72)【発明者】
【氏名】江 成▲ユ▼
(72)【発明者】
【氏名】姚 ▲艷▼
【テーマコード(参考)】
5C122
5C159
【Fターム(参考)】
5C122DA40
5C122GA31
5C122GC07
5C122GC15
5C122GC35
5C122GC44
5C122GC52
5C122HA63
5C122HB01
5C159LA02
5C159RB02
5C159UA02
5C159UA05
(57)【要約】
少なくとも1つのイーサネット物理層トランシーバと、通信バスと、少なくとも1つの画像処理サブシステムを含む画像処理装置であって、各画像処理サブシステムは、前記少なくとも1つのイーサネット物理層トランシーバを介してカメラと通信し、前記通信バスを介して計算デバイスと通信する、画像処理装置と、前記画像処理装置に結合されるメモリと、を含むフレームグラバであって、各画像処理サブシステムは、カメラからの、カメラが所定の画像伝送プロトコルに従って画像フレームをカプセル化して得られた画像パケットを含むネットワークパケットを取得し、前記所定の画像伝送プロトコルに従って前記画像パケットを復号し、画像フレームを得、前記画像フレームを前記メモリにキャッシュし、前記計算デバイスの画像処理効率に基づいて、前記メモリに格納された画像フレームを計算デバイスに伝送するために用いられる、フレームグラバを提供する。
【特許請求の範囲】
【請求項1】
少なくとも1つのイーサネット物理層トランシーバと、
通信バスと、
少なくとも1つの画像処理サブシステムを含む画像処理装置であって、前記少なくとも1つの画像処理サブシステムのそれぞれは、前記少なくとも1つのイーサネット物理層トランシーバを介してカメラと通信し、前記通信バスを介して計算デバイスと通信する、画像処理装置と、
前記画像処理装置に結合されるメモリと、を含むフレームグラバであって、
前記少なくとも1つの画像処理サブシステムのそれぞれについて、該画像処理サブシステムは、
前記カメラからの、前記カメラが所定の画像伝送プロトコルに従って画像フレームをカプセル化して得られた画像パケットを含むネットワークパケットを取得し、
前記所定の画像伝送プロトコルに従って前記画像パケットを復号し、前記画像フレームを得、
前記画像フレームを前記メモリにキャッシュし、
前記計算デバイスの画像処理効率に基づいて、前記メモリに格納された画像フレームを前記計算デバイスに伝送するために用いられる、
ことを特徴とするフレームグラバ。
【請求項2】
前記メモリに格納された画像フレームを前記計算デバイスに伝送する前に、前記画像処理サブシステムはさらに、前記画像フレームに対してデータ処理を行うために用いられ、前記データ処理は、解凍、デジタルゲイン、ベイヤー補間、色補正、ガンマ補正、色空間変換、及びシャープネス処理、のうちの少なくとも1つを含む、
ことを特徴とする請求項1に記載のフレームグラバ。
【請求項3】
前記画像処理装置は、さらに、
前記通信バスを介して前記計算デバイスと通信するための通信バスサブシステムと、
前記少なくとも1つの画像処理サブシステムからのデータを受信し、受信したデータを前記通信バスサブシステムに送信するためのスケジューラであって、前記通信バスサブシステムは、前記スケジューラから受信したデータを通信バスを介して計算デバイスに送信する、スケジューラと、
前記少なくとも1つのイーサネット物理層トランシーバのレジスタを設定するためのプロセッサと、
前記計算デバイスからの設定指示に基づいて、前記少なくとも1つの画像処理サブシステム内のレジスタを設定するためのレジスタ設定ユニットと、を含む、
ことを特徴とする請求項1に記載のフレームグラバ。
【請求項4】
前記ネットワークパケットは、制御命令パケットをさらに含み、
該画像処理サブシステムは、
ストリーム処理サブシステムと、
前記少なくとも1つのイーサネット物理層トランシーバのデータストリームを受信し、前記データストリームに基づいて前記ネットワークパケットを生成するためのメディアアクセス制御ユニットと、
制御命令処理ユニットと、
信号処理サブシステムと、
パケット生成ユニットと、
前記メディアアクセス制御ユニットからのネットワークパケットを受信し、前記ネットワークパケット内の画像パケットを前記ストリーム処理サブシステムに送信し、前記ネットワークパケット内の制御命令パケットを前記制御命令処理ユニットに送信するための調停ユニットと、を含み、
前記ストリーム処理サブシステムは、前記ネットワークパケット内の前記画像パケットを復号して前記画像フレームを生成し、前記画像フレームを前記フレームグラバの前記メモリに格納するために用いられ、
制御命令処理ユニットは、前記ネットワークパケット内の前記制御命令パケットを前記計算デバイスに送信するために用いられ、
前記ストリーム処理サブシステムは、さらに、前記メモリから前記画像フレームを取得し、前記画像フレームを前記信号処理サブシステムに伝送するために用いられ、
前記信号処理サブシステムは、前記画像フレームを前記パケット生成ユニットに送信するために用いられ、
前記パケット生成ユニットは、前記画像フレームを通信バス伝送フォーマットに適合する伝送パケットに変換し、前記伝送パケットを前記計算デバイスに伝送するために用いられる、
ことを特徴とする請求項1に記載のフレームグラバ。
【請求項5】
前記ストリーム処理サブシステムは、
所定の画像伝送プロトコルに従って前記ネットワークパケット内の前記画像パケットを復号して、前記画像フレームを取得するための復号ユニットと、
前記フレームグラバの前記メモリ内の格納スペースを管理するためのメモリ管理ユニットと、
前記復号ユニットからの前記画像フレームを取得し、前記メモリ管理ユニットから前記メモリ内の格納スペースをリクエストし、前記画像フレームをリクエストした格納スペースに書き込むための画像ダイレクトメモリ書き込みユニットと、
前記メモリ管理ユニットから前記メモリに格納された前記画像フレームの格納アドレスを取得し、前記格納アドレスに基づいて前記画像フレームを読み取るための画像ダイレクトメモリ読み取りユニットと、
前記画像ダイレクトメモリ読み取りユニットから前記画像フレームを取得し、前記画像フレームを前記信号処理サブシステムに伝送するための画像伝送ユニットと、を含む、
ことを特徴とする請求項4に記載のフレームグラバ。
【請求項6】
前記信号処理サブシステムは、
解凍ユニットと、
バイパスユニットと、
前記ストリーム処理サブシステムから受信した画像フレームが圧縮された画像フレームであるか否かを分析し、前記受信した画像フレームが圧縮された画像フレームである場合、前記圧縮された画像フレームを前記解凍ユニットに伝送し、前記受信した画像フレームが圧縮されていない画像フレームである場合、前記圧縮されていない画像フレームを前記バイパスユニットに伝送するための分析ユニットと、
前記解凍ユニットによって出力された画像フレーム又は前記バイパスユニットによって出力された画像フレームを取得し、取得した画像フレームを前記パケット生成ユニットに伝送するための多重化ユニットと、を含む、
ことを特徴とする請求項4に記載のフレームグラバ。
【請求項7】
前記信号処理サブシステムは、
前記ストリーム処理サブシステムから受信した圧縮された画像フレームを圧縮されていない画像フレームに復号するための解凍ユニットと、
バイパスユニットと、
画像フレームに対して画像信号処理を行うための信号処理ユニットであって、前記画像信号処理は、デジタルゲイン、ベイヤー補間、色補正、ガンマ補正、色空間変換、及びシャープネス処理、のうちの少なくとも1つを含む、信号処理ユニットと、
前記ストリーム処理サブシステムから受信した画像フレームが圧縮された画像フレームであるか否かを分析し、前記受信した画像フレームが圧縮された画像フレームである場合、前記圧縮された画像フレームを解凍ユニットに伝送し、前記受信した画像フレームが圧縮されていない画像フレームである場合、設定情報に基づいて前記圧縮されていない画像フレームを前記バイパスユニットと前記信号処理ユニットとの一方に伝送する分析ユニットであって、前記設定情報は前記バイパスユニットと前記信号処理ユニットとの一方を指定するために用いられる、分析ユニットと、
前記解凍ユニットによって出力された画像フレーム、前記バイパスユニットによって出力された画像フレーム、又は前記信号処理ユニットによって出力された画像フレームを取得し、取得した画像フレームを前記パケット生成ユニットに伝送するための多重化ユニットと、を含む、
ことを特徴とする請求項4に記載のフレームグラバ。
【請求項8】
前記画像処理装置は、さらに、通信バスサブシステムとスケジューラとをさらに含み、
該画像処理サブシステムは前記画像フレームと前記制御命令パケットとを前記スケジューラに送信し、
前記スケジューラは、該画像処理サブシステムの前記画像フレームと前記制御命令パケットとを前記通信バスサブシステムに伝送するために用いられ、
前記通信バスサブシステムは、該画像処理サブシステムの前記画像フレームと前記制御命令パケットとを前記計算デバイスのメモリに書き込み、また、前記計算デバイスからコンピュータ制御命令パケットを取得した後、前記コンピュータ制御命令パケットを前記スケジューラに送信するために用いられ、
前記スケジューラは、前記計算デバイスからの前記コンピュータ制御命令パケットを該画像処理サブシステムの前記制御命令処理ユニットに送信するために用いられ、
前記制御命令処理ユニットは、前記メディアアクセス制御ユニットを介して前記計算デバイスからのコンピュータ制御命令パケットを前記カメラに送信するために用いられる、
ことを特徴とする請求項4に記載のフレームグラバ。
【請求項9】
前記画像処理装置は、さらに、通信バスサブシステムを含み、
前記パケット生成ユニットは、さらに、前記計算デバイスが第1の割り込み命令に応答して前記通信バスサブシステムに前記計算デバイス内の画像格納アドレスを返すように、前記通信バスサブシステムを介して前記計算デバイスに前記画像フレームの伝送を要求することを示す前記第1の割り込み命令を送信するために用いられ、
前記パケット生成ユニットは、前記計算デバイスが第2の割り込み命令に応答して前記画像フレームを処理するように、前記通信バスサブシステムを介して前記画像格納アドレスに前記画像フレームを伝送し、前記画像フレームの伝送が完了した時に、前記通信バスサブシステムを介して前記計算デバイスに前記画像フレームの伝送が完了したことを示す前記第2の割り込み命令を送信し、
前記制御命令処理ユニットは、前記計算デバイスが第3の割り込み命令に応答して前記通信バスサブシステムに前記計算デバイス内の命令格納アドレスを返すように、前記通信バスサブシステムを介して前記計算デバイスに制御命令パケットの伝送を要求することを示す前記第3の割り込み命令を送信し、
前記制御命令処理ユニットは、前記計算デバイスが第4の割り込み命令に応答して前記制御命令パケットを処理するように、前記通信バスサブシステムを介して前記命令格納アドレスに前記制御命令パケットを伝送し、前記制御命令パケットの伝送が完了した時に、前記通信バスサブシステムを介して前記計算デバイスに前記制御命令パケットの伝送が完了したことを示す前記第4の割り込み命令を送信する、
ことを特徴とする請求項4に記載のフレームグラバ。
【請求項10】
前記通信バスサブシステムは、さらに、前記計算デバイスから該画像処理サブシステム内のレジスタに対する書き込み指示を取得し、前記書き込み指示を該画像処理サブシステムのレジスタ設定ユニットに送信するために用いられ、
該画像処理サブシステム内の前記レジスタ設定ユニットは、前記書き込み指示に基づいて該画像処理サブシステム内の前記レジスタを設定するために用いられ、
前記通信バスサブシステムは、さらに、該画像処理サブシステム内の前記レジスタ設定ユニットから該画像処理サブシステム内の前記レジスタの状態パラメータを取得し、前記状態パラメータを前記計算デバイスに送信するために用いられる、
ことを特徴とする請求項8に記載のフレームグラバ。
【請求項11】
前記スケジューラは、スケジューリング書き込みユニットとスケジューリング読み取りユニットとを含み、
前記通信バスサブシステムは、バスコントローラと、PCIeダイレクトメモリ書き込みユニットと、PCIeダイレクトメモリ読み取りユニットと、レジスタ書き込みユニットと、レジスタ読み取りユニットとを含み、
前記スケジューリング書き込みユニットは、該画像処理サブシステムの前記画像フレームと前記制御命令パケットとを前記通信バスサブシステムの前記PCIeダイレクトメモリ書き込みユニットに伝送するために用いられ、
前記バスコントローラは、
前記PCIeダイレクトメモリ書き込みユニットに、該画像処理サブシステムの前記画像フレームと前記制御命令パケットとを前記計算デバイスのメモリに書き込むように指示することと、
前記PCIeダイレクトメモリ読み取りユニットに、前記計算デバイスからコンピュータ制御命令パケットを取得した後、前記コンピュータ制御命令パケットを前記スケジューラの前記スケジューリング読み取りユニットに送信するように指示することと、
レジスタ設定ユニットが書き込み指示に基づいて該画像処理サブシステム内のレジスタを設定するように、前記レジスタ書き込みユニットに、前記計算デバイスから該画像処理サブシステム内のレジスタに対する前記書き込み指示を取得し、前記書き込み指示を該画像処理サブシステムのレジスタ設定ユニットに送信するように指示することと、
前記レジスタ読み取りユニットに、前記レジスタ設定ユニットから該画像処理サブシステム内の前記レジスタの状態パラメータを取得し、前記状態パラメータを前記計算デバイスに送信するように指示することと、のうちの1つを実行するために用いられ、
前記スケジューリング読み取りユニットは、前記計算デバイスからの前記コンピュータ制御命令パケットを前記制御命令処理ユニットに送信するために用いられる、
ことを特徴とする請求項8に記載のフレームグラバ。
【請求項12】
フレームグラバに適用される画像収集方法であって、
カメラからの、前記カメラが所定の画像伝送プロトコルに従って画像フレームをカプセル化して得られた画像パケットを含むネットワークパケットを取得するステップと、
前記所定の画像伝送プロトコルに従って前記画像パケットを復号し、前記画像フレームを得るステップと、
前記画像フレームを前記フレームグラバのメモリにキャッシュするステップと、
計算デバイスの画像処理効率に基づいて、前記メモリに格納された画像フレームを前記計算デバイスに伝送するステップと、を含む、
ことを特徴とする画像収集方法。
【請求項13】
前記計算デバイスの画像処理効率に基づいて、前記メモリに格納された画像フレームを前記計算デバイスに伝送するステップは、
前記計算デバイスが第1の割り込み命令に応答して前記計算デバイス内の画像格納アドレスを返すように、前記計算デバイスに前記画像フレームの伝送を要求することを示す前記第1の割り込み命令を送信するステップと、
前記計算デバイスが第2の割り込み命令に応答して前記画像フレームを処理するように、前記画像格納アドレスに前記画像フレームを伝送し、前記画像フレームの伝送が完了した時に、前記計算デバイスに前記画像フレームの伝送が完了したことを示す前記第2の割り込み命令を送信するステップと、を含む、
ことを特徴とする請求項12に記載の画像収集方法。
【請求項14】
少なくとも1つのカメラと、
請求項1~11のいずれか1項に記載のフレームグラバと、
計算デバイスと、を含む、
ことを特徴とする画像収集システム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2021年12月29日に提出された、出願番号が202111650739.3の中国特許出願の優先権を主張し、該出願の全文は引用の方式で本明細書に組み込まれる。
[技術分野]
本発明は、画像技術分野に関し、特にフレームグラバ、画像収集方法及び画像収集システムに関する。
【背景技術】
【0002】
いくつかの画像収集シナリオでは、産業用コンピュータは、スイッチを介して複数の産業用カメラに通信可能に接続されてもよく、又は産業用コンピュータは、産業用カメラに直接接続されてもよい。産業用コンピュータは、ネットワークカードを介して産業用カメラの画像データを取得する。画像データは、例えば、GigE Vision等の伝送プロトコルに従って伝送されるネットワークパケットである。産業用コンピュータのプロセッサは、伝送プロトコルに従って画像データに対して復号、パケット損失検出、画像フレーミング、画像のロスレス解凍等の操作を行うことができる。
【0003】
産業用カメラの解像度、フレームレート、ラインレート等の指標の向上に伴い、産業用コンピュータが処理する必要のある画像データの量も大幅に増加する。
【発明の概要】
【課題を解決するための手段】
【0004】
本発明の一態様によれば、少なくとも1つのイーサネット物理層トランシーバと、通信バスと、少なくとも1つの画像処理サブシステムを含む画像処理装置であって、前記少なくとも1つの画像処理サブシステムのそれぞれは、前記少なくとも1つのイーサネット物理層トランシーバを介してカメラと通信し、前記通信バスを介して計算デバイスと通信する、画像処理装置と、前記画像処理装置に結合されるメモリと、を含むフレームグラバであって、少なくとも1つの画像処理サブシステムのそれぞれについて、該画像処理サブシステムは、前記カメラからの、前記カメラが所定の画像伝送プロトコルに従って画像フレームをカプセル化して得られた画像パケットを含むネットワークパケットを取得し、前記所定の画像伝送プロトコルに従って前記画像パケットを復号し、前記画像フレームを得、前記画像フレームを前記メモリにキャッシュし、前記計算デバイスの画像処理効率に基づいて、前記メモリに格納された画像フレームを前記計算デバイスに伝送するために用いられる、フレームグラバが提供される。
【0005】
いくつかの実施例では、前記メモリに格納された画像フレームを前記計算デバイスに伝送する前に、前記画像処理サブシステムはさらに、前記画像フレームに対してデータ処理を行うために用いられ、前記データ処理は、解凍、デジタルゲイン、ベイヤー補間、色補正、ガンマ補正、色空間変換、及びシャープネス処理、のうちの少なくとも1つを含む。
【0006】
いくつかの実施例では、前記画像処理装置は、さらに、前記通信バスを介して前記計算デバイスと通信するための通信バスサブシステムと、前記少なくとも1つの画像処理サブシステムからのデータを受信し、受信したデータを前記通信バスサブシステムに送信するためのスケジューラであって、前記通信バスサブシステムは、前記スケジューラから受信したデータを通信バスを介して計算デバイスに送信する、スケジューラと、前記少なくとも1つのイーサネット物理層トランシーバのレジスタを設定するためのプロセッサと、前記計算デバイスからの設定指示に基づいて、前記少なくとも1つの画像処理サブシステム内のレジスタを設定するためのレジスタ設定ユニットと、を含む。
【0007】
いくつかの実施例では、前記ネットワークパケットは、制御命令パケットをさらに含み、該画像処理サブシステムは、ストリーム処理サブシステムと、前記少なくとも1つのイーサネット物理層トランシーバのデータストリームを受信し、前記データストリームに基づいて前記ネットワークパケットを生成するためのメディアアクセス制御ユニットと、制御命令処理ユニットと、信号処理サブシステムと、パケット生成ユニットと、前記メディアアクセス制御ユニットからのネットワークパケットを受信し、前記ネットワークパケット内の画像パケットを前記ストリーム処理サブシステムに送信し、前記ネットワークパケット内の制御命令パケットを前記制御命令処理ユニットに送信するための調停ユニットと、を含み、前記ストリーム処理サブシステムは、前記ネットワークパケット内の前記画像パケットを復号して前記画像フレームを生成し、前記画像フレームを前記フレームグラバの前記メモリに格納するために用いられ、制御命令処理ユニットは、前記ネットワークパケット内の前記制御命令パケットを前記計算デバイスに送信するために用いられ、前記ストリーム処理サブシステムは、さらに、前記メモリから前記画像フレームを取得し、前記画像フレームを前記信号処理サブシステムに伝送するために用いられ、前記信号処理サブシステムは、前記画像フレームを前記パケット生成ユニットに送信するために用いられ、前記パケット生成ユニットは、前記画像フレームを通信バス伝送フォーマットに適合する伝送パケットに変換し、前記伝送パケットを前記計算デバイスに伝送するために用いられる。
【0008】
いくつかの実施例では、前記ストリーム処理サブシステムは、所定の画像伝送プロトコルに従って前記ネットワークパケット内の前記画像パケットを復号して、前記画像フレームを取得するための復号ユニットと、フレームグラバの前記メモリ内の格納スペースを管理するためのメモリ管理ユニットと、前記復号ユニットからの前記画像フレームを取得し、前記メモリ管理ユニットから前記メモリ内の格納スペースをリクエストし、前記画像フレームをリクエストした格納スペースに書き込むための画像ダイレクトメモリ書き込みユニットと、前記メモリ管理ユニットから前記メモリに格納された前記画像フレームの格納アドレスを取得し、前記格納アドレスに基づいて前記画像フレームを読み取るための画像ダイレクトメモリ読み取りユニットと、前記画像ダイレクトメモリ読み取りユニットから前記画像フレームを取得し、前記画像フレームを前記信号処理サブシステムに伝送するための画像伝送ユニットと、を含む。
【0009】
いくつかの実施例では、前記信号処理サブシステムは、解凍ユニットと、バイパスユニットと、前記ストリーム処理サブシステムから受信した画像フレームが圧縮された画像フレームであるか否かを分析し、前記受信した画像フレームが圧縮された画像フレームである場合、前記圧縮された画像フレームを前記解凍ユニットに伝送し、前記受信した画像フレームが圧縮されていない画像フレームである場合、前記圧縮されていない画像フレームを前記バイパスユニットに伝送するための分析ユニットと、前記解凍ユニットによって出力された画像フレーム又は前記バイパスユニットによって出力された画像フレームを取得し、取得した画像フレームを前記パケット生成ユニットに伝送するための多重化ユニットと、を含む。
【0010】
いくつかの実施例では、前記信号処理サブシステムは、前記ストリーム処理サブシステムから受信した圧縮された画像フレームを圧縮されていない画像フレームに復号するための解凍ユニットと、バイパスユニットと、画像フレームに対して画像信号処理を行うための信号処理ユニットであって、前記画像信号処理は、デジタルゲイン、ベイヤー補間、色補正、ガンマ補正、色空間変換、及びシャープネス処理、のうちの少なくとも1つを含む、信号処理ユニットと、前記ストリーム処理サブシステムから受信した画像フレームが圧縮された画像フレームであるか否かを分析し、前記受信した画像フレームが圧縮された画像フレームである場合、前記圧縮された画像フレームを解凍ユニットに伝送し、前記受信した画像フレームが圧縮されていない画像フレームである場合、設定情報に基づいて前記圧縮されていない画像フレームを前記バイパスユニットと前記信号処理ユニットとの一方に伝送する分析ユニットであって、前記設定情報は前記バイパスユニットと前記信号処理ユニットとの一方を指定するために用いられる、分析ユニットと、前記解凍ユニットによって出力された画像フレーム、前記バイパスユニットによって出力された画像フレーム、又は前記信号処理ユニットによって出力された画像フレームを取得し、取得した画像フレームを前記パケット生成ユニットに伝送するための多重化ユニットと、を含む。
【0011】
いくつかの実施例では、前記画像処理装置は、さらに、通信バスサブシステムとスケジューラとをさらに含み、該画像処理サブシステムは前記画像フレームと前記制御命令パケットとを前記スケジューラに送信し、前記スケジューラは、該画像処理サブシステムの前記画像フレームと前記制御命令パケットとを前記通信バスサブシステムに伝送するために用いられ、前記通信バスサブシステムは、該画像処理サブシステムの前記画像フレームと前記制御命令パケットとを前記計算デバイスのメモリに書き込み、また、前記計算デバイスからコンピュータ制御命令パケットを取得した後、前記コンピュータ制御命令パケットを前記スケジューラに送信するために用いられ、前記スケジューラは、前記計算デバイスからの前記コンピュータ制御命令パケットを該画像処理サブシステムの前記制御命令処理ユニットに送信するために用いられ、前記制御命令処理ユニットは、前記メディアアクセス制御ユニットを介して前記計算デバイスからのコンピュータ制御命令パケットを前記カメラに送信するために用いられる。
【0012】
いくつかの実施例では、前記画像処理装置は、さらに、通信バスサブシステムを含み、前記パケット生成ユニットは、さらに、前記計算デバイスが第1の割り込み命令に応答して前記通信バスサブシステムに前記計算デバイス内の画像格納アドレスを返すように、前記通信バスサブシステムを介して前記計算デバイスに前記画像フレームの伝送を要求することを示す第1の割り込み命令を送信するために用いられ、前記パケット生成ユニットは、前記計算デバイスが第2の割り込み命令に応答して前記画像フレームを処理するように、前記通信バスサブシステムを介して前記画像格納アドレスに前記画像フレームを伝送し、前記画像フレームの伝送が完了した時に、前記通信バスサブシステムを介して前記計算デバイスに前記画像フレームの伝送が完了したことを示す第2の割り込み命令を送信し、前記制御命令処理ユニットは、前記計算デバイスが第3の割り込み命令に応答して前記通信バスサブシステムに前記計算デバイス内の命令格納アドレスを返すように、前記通信バスサブシステムを介して前記計算デバイスに制御命令パケットの伝送を要求することを示す第3の割り込み命令を送信し、前記制御命令処理ユニットは、前記計算デバイスが第4の割り込み命令に応答して前記制御命令パケットを処理するように、前記通信バスサブシステムを介して前記命令格納アドレスに前記制御命令パケットを伝送し、前記制御命令パケットの伝送が完了した時に、前記通信バスサブシステムを介して前記計算デバイスに前記制御命令パケットの伝送が完了したことを示す第4の割り込み命令を送信する。
【0013】
いくつかの実施例では、前記通信バスサブシステムは、さらに、前記計算デバイスから該画像処理サブシステム内のレジスタに対する書き込み指示を取得し、前記書き込み指示を該画像処理サブシステムのレジスタ設定ユニットに送信するために用いられ、該画像処理サブシステム内の前記レジスタ設定ユニットは、前記書き込み指示に基づいて該画像処理サブシステム内の前記レジスタを設定するために用いられ、前記通信バスサブシステムは、さらに、該画像処理サブシステム内の前記レジスタ設定ユニットから該画像処理サブシステム内の前記レジスタの状態パラメータを取得し、前記状態パラメータを前記計算デバイスに送信するために用いられる。
【0014】
前記スケジューラは、スケジューリング書き込みユニットとスケジューリング読み取りユニットとを含み、前記通信バスサブシステムは、バスコントローラと、PCIeダイレクトメモリ書き込みユニットと、PCIeダイレクトメモリ読み取りユニットと、レジスタ書き込みユニットと、レジスタ読み取りユニットとを含み、前記スケジューリング書き込みユニットは、該画像処理サブシステムの前記画像フレームと前記制御命令パケットとを前記通信バスサブシステムの前記PCIeダイレクトメモリ書き込みユニットに伝送するために用いられ、前記バスコントローラは、前記PCIeダイレクトメモリ書き込みユニットに、該画像処理サブシステムの前記画像フレームと前記制御命令パケットとを前記計算デバイスのメモリに書き込むように指示することと、前記PCIeダイレクトメモリ読み取りユニットに、前記計算デバイスからコンピュータ制御命令パケットを取得した後、前記コンピュータ制御命令パケットを前記スケジューラの前記スケジューリング読み取りユニットに送信するように指示することと、前記レジスタ設定ユニットが書き込み指示に基づいて該画像処理サブシステム内の前記レジスタを設定するように、前記レジスタ書き込みユニットに、前記計算デバイスから該画像処理サブシステム内のレジスタに対する書き込み指示を取得し、前記書き込み指示を該画像処理サブシステムのレジスタ設定ユニットに送信するように指示することと、前記レジスタ読み取りユニットに、前記レジスタ設定ユニットから該画像処理サブシステム内の前記レジスタの状態パラメータを取得し、前記状態パラメータを前記計算デバイスに送信するように指示することと、のうちの1つを実行するために用いられ、前記スケジューリング読み取りユニットは、前記計算デバイスからの前記コンピュータ制御命令パケットを前記制御命令処理ユニットに送信するために用いられる。
【0015】
本発明の一態様によれば、フレームグラバに適用される画像収集方法であって、カメラからの、前記カメラが所定の画像伝送プロトコルに従って画像フレームをカプセル化して得られた画像パケットを含むネットワークパケットを取得するステップと、前記所定の画像伝送プロトコルに従って前記画像パケットを復号し、前記画像フレームを得るステップと、前記画像フレームを前記フレームグラバのメモリにキャッシュするステップと、計算デバイスの画像処理効率に基づいて、前記メモリに格納された画像フレームを前記計算デバイスに伝送するステップと、を含む、画像収集方法が提供される。
【0016】
いくつかの実施例では、前記計算デバイスの画像処理効率に基づいて、前記メモリに格納された画像フレームを前記計算デバイスに伝送するステップは、前記計算デバイスが第1の割り込み命令に応答して前記計算デバイス内の画像格納アドレスを返すように、前記計算デバイスに前記画像フレームの伝送を要求することを示す第1の割り込み命令を送信するステップと、前記計算デバイスが第2の割り込み命令に応答して前記画像フレームを処理するように、前記画像格納アドレスに前記画像フレームを伝送し、前記画像フレームの伝送が完了した時に、前記計算デバイスに前記画像フレームの伝送が完了したことを示す第2の割り込み命令を送信するステップと、を含む。
【0017】
本発明の一態様によれば、少なくとも1つのカメラと、本発明の実施例に係るフレームグラバと、計算デバイスと、を含む画像収集システムが提供される。
【0018】
まとめると、本発明の実施例に係るフレームグラバは、計算デバイスにおけるプロセッサの一部の処理動作を代行することができ、例えば、計算デバイスにおけるプロセッサの代わりに複数のカメラの画像パケットに対する復号及び画像フレームのキャッシュを行う。本発明の実施例のフレームグラバは、計算デバイスのプロセッサの代わりに画像パケットを復号することができ、計算デバイスにおけるコンピューティングリソースを節約する。また、本発明の実施例のフレームグラバは、複数のカメラの画像パケットを復号して画像フレームをキャッシュすることにより、計算デバイスの処理速度の変動によるデータのオーバーフロー損失を解決することに役立つ。また、本発明の実施例のフレームグラバは、計算デバイスの画像に対する処理効率に基づいて、フレームグラバのメモリに格納された画像フレームを計算デバイスに伝送することができ、それにより、計算デバイスに伝送されるデータ量が計算デバイスの処理能力とマッチングし、フレームグラバから送信された画像フレームが計算デバイスの処理能力を超えるような状況を低減又は回避し、計算デバイスのデータのオーバーフロー損失の発生を低減又は回避することができる。
【図面の簡単な説明】
【0019】
【
図1A】いくつかの実施例に係る画像収集システムの概略図である。
【
図1B】いくつかの実施例に係る画像収集システムの概略図である。
【
図2】本発明のいくつかの実施例に係るフレームグラバの概略図である。
【
図3】本発明のいくつかの実施例に係る画像収集システムの画像収集方法のフローチャートである。
【
図4】本発明のいくつかの実施例に係る画像処理装置の模式図である。
【
図5】本発明のいくつかの実施例に係る画像処理サブシステムの概略図である。
【
図6】本発明のいくつかの実施例に係るストリーム処理サブシステムの概略図である。
【
図7】本発明のいくつかの実施例に係る信号処理サブシステムの概略図である。
【
図8】本発明のいくつかの実施例に係る信号処理サブシステムの概略図である。
【
図9】本発明のいくつかの実施例に係る信号処理ユニットの概略図である。
【
図10】本発明のいくつかの実施例に係るスケジューラ及び通信バスサブシステムの概略図である。
【
図11】本発明のいくつかの実施例に係る画像収集方法のフローチャートである。
【
図12】本発明のいくつかの実施例に係るフレームグラバが計算デバイスに画像フレームを送信する方法のフローチャートである。
【発明を実施するための形態】
【0020】
本発明の目的、技術手段及び利点をより明確にするために、以下、図面を参照しながら実施例を挙げて本発明をさらに詳細に説明する。
【0021】
通常、産業用コンピュータのネットワークカード及びスイッチのキャッシュ容量が低く、産業用コンピュータのプロセッサが受信したネットワークパケットを適時に処理できない場合、ネットワークカードのキャッシュオーバーフロー、パケットロス及び画像の不完全を招く。簡単に言えば、データ量の多いの画像収集シナリオに面する場合、現在の画像収集手段では、データのオーバーフロー損失の問題が発生しやすい。
【0022】
図1Aは、いくつかの実施例に係る画像収集システムの概略図を示す。
図1Bは、いくつかの実施例に係る画像収集システムの概略図を示す。
図1Aに示すシナリオでは、画像収集システムは、1つのカメラと1つの産業用コンピュータとを含み得る。産業用コンピュータは、ネットワークカードを介して単一のカメラと通信し、カメラが収集した画像データを受信する。
図1Bに示すシナリオでは、画像収集システムは、スイッチ、産業用コンピュータ、及び複数のカメラを含み得る。
【0023】
ここで、カメラは、例えばGigE Visionプロトコルに基づいて画像伝送を行ってもよい。GigE Visionは、自動画像化協会AIA(Automated Imaging Association)によって指定されたギガビットイーサネットに基づく画像伝送の規格であり、産業用イメージングアプリケーションに適用される。GigE Visionプロトコルには、GVCP(GigE Vision Control Protocol)制御プロトコルとGVSP(GigE Vision Streaming Protocol)ストリーミング伝送プロトコルとが含まれる。カメラは、GigE Visionプロトコルに基づいて、単一の画像フレームを例えば9KBサイズのネットワークパケットに分割することができ、ギガビットイーサネットに基づくハードウェアアーキテクチャで画像伝送を実現し、最大伝送レートは1Gb/sに達することができる。なお、カメラは、画像フレームを伝送する前に、画像フレームのロスレス圧縮を行ってもよい。産業用コンピュータは、ギガビット又は10ギガビットネットワークカードを介してネットワークパケットを受信し、プロセッサを介して離散的な(discrete)ネットワークパケットを復号し、画像フレームを再構成し、完全な画像の受信を実現する。
【0024】
産業用コンピュータネットワークカード及びスイッチのキャッシュ容量が限られているため、産業用コンピュータが受信したネットワークパケットを適時に処理できないと、産業用コンピュータネットワークカードのキャッシュオーバーフロー、パケットロス及び画像の不完全を招く。簡単に言えば、データ量の多いの画像収集シナリオに面する場合、
図1A及び
図1Bに示す画像取得システムは、データのオーバーフロー損失の問題が発生しやすい。
【0025】
本発明は、画像収集システムにおけるネットワークカード及びスイッチの代わりにフレームグラバを使用することによって、データのオーバーフロー損失の問題を解決するためのフレームグラバを提供する。以下、
図2を参照して本発明の実施例のフレームグラバを説明する。
【0026】
図2は、本発明のいくつかの実施例に係るフレームグラバの概略図を示す。
【0027】
図2に示すように、フレームグラバは、少なくとも1つのイーサネット物理層(Ethernet Physical Layer、PHY)トランシーバ1、通信バス2、画像処理装置3及びメモリ4を含み得る。画像処理装置3は、少なくとも1つの画像処理サブシステムを含む。例えば、
図2には、4つの画像処理サブシステム31が示されているが、これに限定されない。
【0028】
ここで、各画像処理サブシステム31は、イーサネット物理層トランシーバ1を介してカメラと通信し、通信バス2を介して計算デバイスと通信する。
【0029】
いくつかの実施例では、各画像処理サブシステム31に対しては、1つのイーサネット物理層トランシーバ1が配置され、1つのカメラと通信する。画像処理サブシステム31とイーサネット物理層トランシーバ1とは、1対1で対応している。各画像処理サブシステム31は、1つのイーサネット物理層トランシーバ1を介して1つのカメラと通信し、通信バス2を介して計算デバイスと通信する。このように、本発明の実施例のフレームグラバは、複数の画像フレームを並列処理することができ、複数の画像フレームを処理するデータ処理効率を向上させる。計算デバイスは、例えば、産業用コンピュータであるが、これに限定されない。画像処理装置3は、例えば、FPGA(Field Programmable Gate Array)プロセッサに基づいて実現されてもよい。これに限らず、画像処理プロセッサは、論理ゲート、スイッチ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、又はデジタルシグナルプロセッサ(Digital Signal Processor、DSP)等により実現されてもよい。通信バス2は、例えば、PCI-Express等の通信インタフェースである。
【0030】
メモリ4は、画像処理装置3に結合(coupling)される。メモリ4は、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory)等の高速ランダムアクセスメモリである。各画像処理サブシステム31は、カメラからのネットワークパケットを取得する。ここで、カメラは、例えばUDP(User Datagram Protocol)に基づいてネットワークパケットを伝送してもよい。ネットワークパケットは、カメラが所定の画像伝送プロトコルに従って、カメラによって撮影された画像フレームをカプセル化して得られた画像パケットを含み得る。ここで、所定の画像伝送プロトコルは、例えば、GigE Visionプロトコルである。画像パケットは、例えば、GVSPパケットである。
【0031】
画像処理サブシステム31は、所定の画像伝送プロトコルに従って画像パケットを復号し、画像フレームを得る。画像処理サブシステム31は、画像フレームをフレームグラバのメモリ4にキャッシュする。画像処理サブシステム31は、計算デバイスの画像に対する処理効率に基づいて、メモリ4に格納された画像フレームを計算デバイスに伝送してもよい。言い換えれば、フレームグラバの画像処理サブシステム31が計算デバイスに画像フレームを送信するためのデータ伝送量を、計算デバイスの処理能力とマッチングさせることにより、フレームグラバから送信された画像フレームが計算デバイスの処理能力を超えるような状況を低減し、計算デバイスのデータのオーバーフロー損失の発生を低減することができる。
【0032】
まとめると、本発明の実施例に係るフレームグラバはネットワークカードと異なり、計算デバイスにおけるプロセッサの一部の処理動作を代行することができ、例えば、計算デバイスにおけるプロセッサの代わりに複数のカメラの画像パケットに対する復号及び画像フレームのキャッシュを行う。本発明の実施例のフレームグラバは、計算デバイスのプロセッサの代わりに画像パケットを復号することができ、計算デバイスにおけるコンピューティングリソースを節約する。また、本発明の実施例のフレームグラバは、複数のカメラの画像パケットを復号して画像フレームをキャッシュすることにより、計算デバイスの処理速度の変動によるデータのオーバーフロー損失を解決することに役立つ。また、本発明の実施例のフレームグラバは、計算デバイスの画像に対する処理効率に基づいて、フレームグラバのメモリに格納された画像フレームを計算デバイスに伝送することができ、それにより、計算デバイスに伝送されるデータ量が計算デバイスの処理能力とマッチングし、フレームグラバから送信された画像フレームが計算デバイスの処理能力を超えるような状況を低減又は回避し、計算デバイスのデータのオーバーフロー損失の発生を低減又は回避することができる。
【0033】
いくつかの実施例では、各画像処理サブシステム31は、さらに、画像フレームに対してデータ処理を行うために用いられる。ここで、データ処理は、解凍と画像信号処理とのうちの少なくとも1つを含む。ここで、解凍とは、例えば、圧縮された画像フレームを圧縮されていない画像フレームに復号することである。画像信号処理は、例えば、デジタルゲイン(digital gain)、ベイヤー補間(Bayer interpolation)、色補正(color correction)、ガンマ補正(gamma correction)、色空間変換(color space conversion)、シャープネス(sharpening)処理等のうちの少なくとも1つを含み得る。このように、フレームグラバは、画像に対してデータ処理を行うことができるため、計算デバイスの計算リソースを節約し、計算デバイスが画像を処理する速度を向上させ、それにより、画像を計算デバイスに伝送する速度を向上させることができる。
【0034】
図3は、本発明のいくつかの実施例に係る画像収集システムの画像収集方法300のフローチャートを示す。
【0035】
図3に示すように、画像収集方法は、ステップS301~ステップS304を含む。ステップS301において、カメラが画像フレームを生成し、画像フレームをカプセル化し、画像パケットを得る。ここで、カメラが画像フレームを生成した後、所定の画像伝送プロトコル、例えばGigE Vision等に従って画像フレームに対してパケットカプセル化を行ってもよい。例えば、カメラは、GigE Visionプロトコルに従って1つの画像フレームをリーダー(Leader)パケット、ペイロード(Payload)パケット、トレーラー(Trailer)パケットの3つのタイプのユーザデータグラムプロトコル(User Datagram Protocol、UDP)パケットに分割する。リーダーパケットは画像開始情報と画像フォーマット情報とを含み、トレーラーパケットは画像終了情報を含み、ペイロードパケットは画像のペイロードである。1つの画像フレームに対応するUDPパケットは、1つのリーダーパケット、複数のペイロードパケット、1つのトレーラーパケットを含み得る。
【0036】
ステップS302において、フレームグラバが画像パケットを受信し、画像パケットを復号し、画像フレームを得る。例えば、フレームグラバは、GigE Visionプロトコルに従って復号してもよい。
【0037】
ステップS303において、フレームグラバが画像フレームをフレームグラバのメモリにキャッシュする。
【0038】
いくつかの実施例では、計算デバイスに画像フレームを伝送する前に、フレームグラバは、画像フレームに対してデータ処理を行ってもよい。画像処理は、例えば、解凍、デジタルゲイン、ベイヤー補間、色補正、ガンマ補正、色空間変換、及びシャープネス処理、のうちの少なくとも1つを含む。例えば、フレームグラバのメモリにキャッシュされた画像フレームがロスレス圧縮された画像フレームである場合、フレームグラバは画像フレームに対して解凍処理を行ってもよい。フレームグラバのメモリにキャッシュされた画像フレームが圧縮処理されていない場合、フレームグラバは解凍処理を行う必要がない。また、フレームグラバは、画像フレームに対してデジタルゲイン、ベイヤー補間、色補正、ガンマ補正、色空間変換、シャープネス処理等の画像信号処理を行ってもよい。
【0039】
ステップS304において、フレームグラバが通信バスを介して画像フレームを計算デバイスに伝送する。ここで、フレームグラバは、計算デバイスの画像に対する処理効率に基づいて、計算デバイスにフレームグラバのメモリに格納された画像フレームを伝送してもよい。言い換えれば、フレームグラバから計算デバイスへの伝送レートは、計算デバイスの画像に対する処理効率に依存する。
【0040】
まとめると、本発明の実施例に係る画像収集方法300では、計算デバイスにおけるプロセッサの代わりにフレームグラバを利用して複数のカメラの画像パケットに対して復号、データ処理及び画像フレームのキャッシュを行うことができる。本発明の実施例の画像収集方法300は、計算デバイスのプロセッサが画像パケットに対して復号及びデータ処理を行うことを回避することができ、計算デバイスにおける計算リソースを節約する。また、本発明の実施例の画像収集方法300では、複数のカメラの画像パケットを復号して画像フレームをキャッシュすることにより、計算デバイスの処理速度の変動によるデータのオーバーフロー損失を解決することに役立つ。
【0041】
図4は、本発明のいくつかの実施例に係る画像処理装置の模式図を示す。
【0042】
図4に示すように、フレームグラバの画像処理装置3は、スケジューラ(Scheduler)32、プロセッサ33、レジスタ設定ユニット(Register configuration unit)34及び通信バスサブシステム35をさらに含む。
【0043】
プロセッサ33は、例えば、FPGAによって実現されるソフト中央処理装置(soft Central Processing Unit)であってもよいし、中央処理装置(Central Processing Unit、CPU)又はマイクロコントローラユニット(Microcontroller Unit、MCU)であってもよい。本発明はこれについて限定しない。プロセッサ33は、イーサネット物理層トランシーバ1のレジスタを設定するために用いられる。なお、フレームグラバの画像処理装置3は、プロセッサ33を介してイーサネット物理層トランシーバ1を設定することができるので、本発明の実施例のフレームグラバの画像処理装置3は、電源がオンにされた後、イーサネット物理層トランシーバ1を設定することができ、計算デバイスの起動が完了した後に計算デバイスがイーサネット物理層トランシーバ1を設定することを待つ必要がないため、イーサネット物理層トランシーバ1をより速く動作状態に入らせることができ、それにより、フレームグラバはより速くカメラからのデータを受信し始めることができる。
【0044】
レジスタ設定ユニット34は、計算デバイスからの設定指示に基づいて、画像処理サブシステム31内のレジスタ(
図4に図示せず)を設定する。
【0045】
通信バスサブシステム35は、フレームグラバの通信バス2を介して計算デバイスと通信するために用いられる。スケジューラ32は、通信バスサブシステム35に結合される。ここで、画像処理装置3内の各画像処理サブシステム31は、計算デバイスに送信すべきデータをスケジューラ32に直接送信することができる。スケジューラ32は、画像処理サブシステム31からのデータを受信し、データを通信バスサブシステム35に送信することができる。通信バスサブシステム35は、フレームグラバの通信バス2を介してデータを計算デバイスに送信することができる。簡単に言えば、画像処理装置3内の画像処理サブシステム31は、スケジューラ32及び通信バスサブシステム35を介して、フレームグラバの通信バス2を共有する。
【0046】
いくつかの実施例では、画像処理装置3は、メモリコントローラ36と内部相互接続バス37とをさらに含む。メモリコントローラ36は、例えば、DDRコントローラ(Double Data Rate Controller、DDR Controller)である。内部相互接続バス37は、例えば、FPGA内部相互接続バス(Interconnect Bus)である。フレームグラバ内の画像処理サブシステム31は、内部相互接続バス37を介してメモリコントローラ36に接続される。このように、画像処理サブシステム31は、メモリコントローラ36を利用してフレームグラバのメモリ4に画像フレームを格納することができる。
【0047】
図5は、本発明のいくつかの実施例に係る画像処理サブシステムの概略図を示す。
【0048】
ネットワークパケットは、画像パケットに加えて、制御命令パケットも含み得る。言い換えれば、1つのネットワークパケットは、画像パケット又は制御命令パケットであってもよい。ここで、制御命令パケットは、例えば、GVCPパケットである。
【0049】
図5に示すように、各画像処理サブシステム31は、ストリーム処理サブシステム(例えば、GVSP Subsystem)311と、メディアアクセス制御ユニット(Media Access Control Unit、MAC Unit)312と、制御命令処理ユニット(例えば、GVCP process unit)313と、信号処理サブシステム(ISP(image signal processing) Subsystem)314と、パケット生成ユニット(Packet Generate Unit)315と、調停ユニット(MAC Arbiter Unit)316とを含む。
【0050】
メディアアクセス制御ユニット312は、イーサネット物理層トランシーバ1のデータストリームを受信し、データストリームに基づいてネットワークパケットを生成するために用いられる。例えば、メディアアクセス制御ユニット312は、GVCPパケットとGVSPパケットという2つのタイプのネットワークパケットを生成することができる。
【0051】
調停ユニット316は、メディアアクセス制御ユニット312からのネットワークパケットを受信し、ネットワークパケットのタイプを分析するために用いられる。調停ユニット316は、ネットワークパケット内の画像パケットをストリーム処理サブシステム311に送信し、ネットワークパケット内の制御命令パケットを制御命令処理ユニット313に送信する。ここで、制御命令パケットは、例えば、カメラの状態パラメータ、カメラの設定パラメータ等に関するものであってもよい。すなわち、調停ユニット316は、GVSPパケットとGVCPパケットとを分離することができる。
【0052】
ストリーム処理サブシステム311は、画像パケットを復号して画像フレームを生成し、画像フレームをフレームグラバのメモリ4に格納する。
【0053】
制御命令処理ユニット313は、制御命令パケットを計算デバイスに送信する。また、制御命令処理ユニット313は、計算デバイスからの制御命令パケットを受信し、メディアアクセス制御ユニット312を介して制御命令パケットをカメラに送信することもできる。
【0054】
ストリーム処理サブシステム311は、さらに、フレームグラバのメモリから画像フレームを取得し、画像フレームを信号処理サブシステム314に伝送するために用いられる。
【0055】
信号処理サブシステム314は、圧縮されていない画像フレームをパケット生成ユニット315に送信するために用いられる。ここで、信号処理サブシステム314は、ハードウェア方式で画像のロスレス解凍機能を実現する。ここで、信号処理サブシステム314がロスレス解凍機能を実行できるため、フレームグラバが受信できる画像のデータ量が大きくなり、計算デバイスに送信する画像のデータ量も大きくなる。このように、フレームグラバは、信号処理サブシステム314を介して、画像伝送帯域幅を向上させることができ、解凍プロセスが計算デバイスのいかなるプロセッサリソースを占有しないようにする。
【0056】
パケット生成ユニット315は、画像フレームを通信バス伝送フォーマットに適合する伝送パケットに変換し、フレームグラバの通信バス2を介して伝送パケットを計算デバイスに伝送するために用いられる。例えば、通信バス伝送フォーマットに適合する伝送パケットのデータ量は、データ量閾値を超えない。カメラが収集した画像フレームは、異なるデータ量を有することがある。パケット生成ユニット315は、フレームグラバの通信バス2がデータを正常に伝送するように、異なるデータ量の画像フレームを一律にデータ量閾値を超えない伝送パケットに分割してもよい。
【0057】
いくつかの実施例では、パケット生成ユニット315は、計算デバイスが第1の割り込み命令に応答して通信バスサブシステム35に計算デバイス内の画像格納アドレスを返すように、画像処理装置3の通信バスサブシステム35を介して計算デバイスに画像フレームの伝送を要求することを示す第1の割り込み命令を送信する。ここで、画像格納アドレスは、例えば、計算デバイスのメモリ内の画像フレームを格納するためのベースアドレス(base address)である。これに基づいて、パケット生成ユニット315は、スケジューラ32、通信バスサブシステム35及び通信バス2を介して、計算デバイスに画像フレームを送信することができる。
【0058】
パケット生成ユニット315は、計算デバイスが第2の割り込み命令に応答して画像フレームを処理するように、通信バスサブシステム35を介して計算デバイスの画像格納アドレスに画像フレームを伝送し、画像フレームの伝送が完了した時に、通信バスサブシステム35を介して計算デバイスに画像フレームの伝送が完了したことを示す第2の割り込み命令を送信する。このように、フレームグラバは、計算デバイスに割り込み命令を送信する方式により、計算デバイスが該画像フレームを処理する前に計算デバイスへの新しい画像フレームの送信を一時停止することができ、計算デバイスが該画像フレームを処理した後に計算デバイスに新しい画像フレームを送信することができる。言い換えれば、フレームグラバは、計算デバイスに割り込み命令を送信する方式により、計算デバイスの処理効率に基づいて計算デバイスに画像フレームを送信することができるため、フレームグラバが送信した画像のデータ量を計算デバイスの処理能力とマッチングさせることができ、それにより、フレームグラバから送信された画像フレームが計算デバイスの処理能力を超えるような状況を回避し、計算デバイスのデータのオーバーフロー損失の発生を回避することができる。
【0059】
いくつかの実施例では、制御命令処理ユニット313は、計算デバイスが第3の割り込み命令に応答して通信バスサブシステム35に計算デバイス内の命令格納アドレスを返すように、通信バスサブシステム35を介して計算デバイスに制御命令パケットの伝送を要求することを示す第3の割り込み命令を送信する。
【0060】
制御命令処理ユニット313は、計算デバイスが第4の割り込み命令に応答して制御命令パケットを処理するように、通信バスサブシステム35を介して計算デバイス内の命令格納アドレスに該制御命令パケットを伝送し、制御命令パケットの伝送が完了した時に、通信バスサブシステム35を介して計算デバイスに制御命令パケットの伝送が完了したことを示す第4の割り込み命令を送信する。このように、カメラから計算デバイスに伝送される制御命令パケットは、フレームグラバを介して計算デバイスに到達することができる。
【0061】
まとめると、フレームグラバは、計算デバイスに割り込み命令を送信し、計算デバイスが割り込み命令に応答することを待つ方式により、フレームグラバのデータ伝送レートと計算デバイスの処理効率とのマッチングを実現してもよい。すなわち、カメラからの画像及び制御命令パケットに対する計算デバイスの処理効率に基づいて、フレームグラバのメモリに格納された画像フレーム及び制御命令パケットを計算デバイスに伝送することを実現した。
【0062】
図6は、本発明のいくつかの実施例に係るストリーム処理サブシステム311の概略図を示す。
【0063】
図6に示すように、ストリーム処理サブシステム311は、復号ユニット(Decode Unit)3111と、メモリ管理ユニット(Memory Management Unit、MMU)3112と、画像ダイレクトメモリ書き込みユニット(Image Direct Memory Access Write Unit)3113と、画像ダイレクトメモリ読み取りユニット(Image Direct Memory Access Read Unit)3114と、画像伝送ユニット(Image Transmit Unit)3115とを含む。
【0064】
復号ユニット3111は、所定の画像伝送プロトコルに従って画像パケットを復号し、画像フレームを得るために用いられる。
【0065】
メモリ管理ユニット3112は、メモリ4の格納スペースを管理するために用いられる。また、メモリ管理ユニット3112は、画像フレームの完全性を検出し、パケットロス、フレームロス、不良フレーム(bad frame)等、さまざまな画像が不完全な場合の処理を行うこともできる。例えば、メモリ管理ユニット3112は、不完全な画像フレームを削除してもよい。
【0066】
画像ダイレクトメモリ書き込みユニット3113は、復号ユニット3111からの画像フレームを取得し、メモリ管理ユニット3112からメモリ4内の格納スペースをリクエストし、画像フレームをリクエストした格納スペースに書き込むために用いられる。画像ダイレクトメモリ書き込みユニット3113は、例えばダイレクトメモリアクセス(Direct Memory Access、DMA)方式でメモリ4に画像フレームを書き込む。
【0067】
画像ダイレクトメモリ読み取りユニット3114は、メモリ管理ユニット3112からメモリ4内の画像フレームの格納アドレスを取得し、格納アドレスに基づいて画像フレームを読み取るために用いられる。
【0068】
画像伝送ユニット3115は、画像ダイレクトメモリ読み取りユニット3114から画像フレームを取得して信号処理サブシステム314に伝送するために用いられる。
【0069】
図7は、本発明のいくつかの実施例に係る信号処理サブシステム314の概略図を示す。
【0070】
図7に示すように、信号処理サブシステム314は、解凍ユニット3141と、バイパスユニット3142と、分析ユニット3143と、多重化ユニット3145とを含む。
【0071】
分析ユニット3143は、ストリーム処理サブシステム311から受信した画像フレームが圧縮された画像フレームであるか否かを分析するために用いられる。受信した画像フレームが圧縮された画像フレームである場合、分析ユニット3143は、該圧縮された画像フレームを解凍ユニット3141に伝送する。受信した画像フレームが圧縮されていない画像フレームである場合、分析ユニット3143は、該圧縮されていない画像フレームをバイパスユニット3142に伝送する。バイパスユニット3142は、受信した画像フレームを処理しない。
【0072】
多重化ユニット3145は、解凍ユニット3141によって出力された画像フレーム及び/又はバイパスユニット3142によって出力された画像フレームを取得し、取得した画像フレームをパケット生成ユニット315に伝送するために用いられる。
【0073】
まとめると、信号処理サブシステム314は、圧縮フォーマットの画像フレームに対して解凍処理を行うことができ、それにより、フレームグラバが計算デバイスの代わりに解凍処理を行うことができる。
【0074】
図8は、本発明のいくつかの実施例に係る信号処理サブシステム314の概略図を示す。
【0075】
図8に示すように、信号処理サブシステム314は、解凍ユニット3141と、バイパスユニット3142と、分析ユニット3143と、多重化ユニット3145と、信号処理ユニット3146とを含む。
【0076】
解凍ユニット3141は、圧縮された画像フレームを圧縮されていない画像フレームに復号するために用いられる。
【0077】
信号処理ユニット3146は、画像フレームに対して画像信号処理を行うために用いられる。ここで、画像信号処理は、例えば、デジタルゲイン、ベイヤー補間、色補正、ガンマ補正、色空間変換、及びシャープネス処理、のうちの少なくとも1つを含み得る。いくつかの実施例では、信号処理ユニット3146は、例えば、
図9に示す構造である。
図9に示すように、信号処理ユニット3146は、デジタルゲインユニット901と、ベイヤー補間ユニット902と、色補正ユニット903と、ガンマ補正ユニット904と、色空間変換ユニット905と、シャープネス処理ユニット906とを含み得る。これらの各ユニットは、画像フレームに対してデジタルゲイン、ベイヤー補間、色補正、ガンマ補正、色空間変換、又はシャープネス処理を行う。
【0078】
分析ユニット3143は、受信した画像フレームが圧縮された画像フレームであるか否かを分析し、画像フレームが圧縮された画像フレームである場合、該圧縮された画像フレームを解凍ユニット3141に伝送し、受信した画像フレームが圧縮されていない画像フレームである場合、設定情報に基づいて該圧縮されていない画像フレームをバイパスユニット3142と信号処理ユニット3146との一方に伝送するために用いられる。ここで、設定情報は、圧縮されていない画像フレームをバイパスユニット3142に伝送するか、信号処理ユニット3146に伝送するかを指定する情報である。例えば、計算デバイスは、通信バス2を介して、通信バスサブシステム35経由で画像処理装置3のレジスタ設定ユニット34に信号処理ユニット3146の設定情報を送信してもよい。レジスタ設定ユニット34は、設定情報に従って信号処理サブシステム314のレジスタを設定してもよい。このように、分析ユニット3143は、設定情報に従って圧縮されていない画像フレームをバイパスユニット3142(又は信号処理ユニット3146)に送信する。
【0079】
多重化ユニット3145は、解凍ユニット3141によって出力された画像フレーム、バイパスユニット3142によって出力された画像フレーム、及び/又は信号処理ユニット3146によって出力された画像フレームを取得し、取得した画像フレームをパケット生成ユニット315に伝送するために用いられる。
【0080】
まとめると、信号処理サブシステム314は、画像フレームに対して例えば解凍又は画像信号処理操作を行うことができ、計算デバイスの計算消費量を節約することができる。
【0081】
いくつかの実施例では、各画像処理サブシステム31は、画像フレームと制御命令パケットとを画像処理装置3のスケジューラ32に送信してもよい。
【0082】
スケジューラ32は、順次、各画像処理サブシステム31の画像フレームと制御命令パケットとを通信バスサブシステム35に伝送する。
【0083】
例えば、
図10に示すように、通信バスサブシステム35は、通信バスサブシステム35内の通信バスコントローラ351を介して通信バス2を制御し、各画像処理サブシステム31の画像フレームと制御命令パケットとを計算デバイスのメモリに書き込む。
【0084】
通信バスサブシステム35は、計算デバイスから制御命令パケットを取得した後、制御命令パケットをスケジューラ32に送信する。
【0085】
スケジューラ32は、計算デバイスからの制御命令パケットを画像処理サブシステム31の制御命令処理ユニット313に送信する。
【0086】
制御命令処理ユニット313は、画像処理サブシステム31のメディアアクセス制御ユニット312を介して計算デバイスからの制御命令パケットをカメラに送信する。
【0087】
いくつかの実施例では、通信バスサブシステム35は、さらに、計算デバイスから画像処理サブシステム31内のレジスタに対する書き込み指示を取得し、書き込み指示を画像処理サブシステム31のレジスタ設定ユニット34に送信するために用いられる。このように、レジスタ設定ユニット34は、書き込み指示に基づいて画像処理サブシステム31内のレジスタを設定することができる。また、通信バスサブシステム35は、さらに、レジスタ設定ユニット34から画像処理サブシステム31のレジスタの状態パラメータを取得し、状態パラメータを計算デバイスに送信するために用いられる。このように、計算デバイスは、画像処理サブシステム31のレジスタの状態パラメータを取得することができ、取得した状態パラメータを基に、該状態パラメータに対してパラメータ設定を再実施することができる。計算デバイスは、画像処理サブシステム31にパラメータ設定に関する書き込み指示を送信することにより、レジスタを設定するように画像処理サブシステム31に指示することができる。
【0088】
図10は、本発明のいくつかの実施例に係るスケジューラ32及び通信バスサブシステム35の概略図を示す。
【0089】
図10に示すように、スケジューラ32は、スケジューリング書き込みユニット321とスケジューリング読み取りユニット322とを含み得る。
【0090】
通信バスサブシステム35は、バスコントローラ351と、PCIeダイレクトメモリ書き込みユニット(Peripheral Component Interconnect Express Direct Memory Access Write Unit)352と、PCIeダイレクトメモリ読み取りユニット(Peripheral Component Interconnect Express Direct Memory Access Read Unit)353と、レジスタ書き込みユニット354と、レジスタ読み取りユニット355とを含む。
【0091】
ここで、スケジューリング書き込みユニット321は、各画像処理サブシステム31の画像フレームと制御命令パケットとを通信バスサブシステム35のPCIeダイレクトメモリ書き込みユニット352に伝送するために用いられ、例えば、スケジューリング書き込みユニット321は、各画像処理サブシステム31の画像フレームと制御命令パケットとを順次又は並列にPCIeダイレクトメモリ書き込みユニット352に伝送してもよい。
【0092】
バスコントローラ351は、PCIeダイレクトメモリ書き込みユニット352に、各画像処理サブシステム31の画像フレームと制御命令パケットとを計算デバイスのメモリに書き込むように指示するために用いられる。
【0093】
バスコントローラ351は、さらに、PCIeダイレクトメモリ読み取りユニット353に、計算デバイスから制御命令パケットを取得した後、制御命令パケットをスケジューラ32のスケジューリング読み取りユニット322に送信するように指示するために用いられてもよい。
【0094】
スケジューリング読み取りユニット322は、計算デバイスからの制御命令パケットを画像処理サブシステム31の制御命令処理ユニット313に送信するために用いられる。
【0095】
バスコントローラ351は、さらに、画像処理サブシステム31のレジスタ設定ユニット34が書き込み指示に基づいて画像処理サブシステム31内のレジスタを設定するように、レジスタ書き込みユニット354に、計算デバイスから画像処理サブシステム31内のレジスタに対する書き込み指示を取得し、書き込み指示を画像処理サブシステム31のレジスタ設定ユニット34に送信するように指示するために用いられてもよい。
【0096】
バスコントローラ351は、さらに、レジスタ読み取りユニット355に、画像処理サブシステム31のレジスタ設定ユニット34から画像処理サブシステム31のレジスタの状態パラメータを取得し、該状態パラメータを計算デバイスに送信するように指示するために用いられてもよい。
【0097】
まとめると、スケジューラ32は、フレームグラバ内の異なる画像処理サブシステム31に通信バスサブシステム35を共有させることができる。通信バスサブシステム35は、フレームグラバと計算デバイスとのデータ通信を実現することができる。
【0098】
図11は、本発明のいくつかの実施例に係る画像収集方法1100のフローチャートを示す。画像収集方法1100は、例えば、フレームグラバにおいて実行されてもよく、ステップS1101~ステップS1104を含み得る。
【0099】
図11に示すように、ステップS1101において、カメラからのネットワークパケットを取得する。前記ネットワークパケットは、カメラが所定の画像伝送プロトコルに従って、カメラによって撮影された画像フレームをカプセル化して得られた画像パケットを含む。
【0100】
ステップS1102において、所定の画像伝送プロトコルに従って前記画像パケットを復号し、画像フレームを得る。
【0101】
ステップS1103において、画像フレームを前記フレームグラバのメモリにキャッシュする。
【0102】
ステップS1104において、計算デバイスの画像処理効率に基づいて、前記フレームグラバのメモリに格納された画像フレームを計算デバイスに伝送する。
【0103】
本発明の実施例に係る画像収集方法は、フレームグラバにおいて実行することができる。このように、フレームグラバは、計算デバイスにおけるプロセッサの一部の処理動作を代行することができ、例えば、計算デバイスにおけるプロセッサの代わりに複数のカメラの画像パケットに対する復号及び画像フレームのキャッシュを行う。本発明の実施例の画像収集方法は、計算デバイスのプロセッサが画像パケットを復号することを回避することができ、計算デバイスにおけるコンピューティングリソースを節約する。また、本発明の実施例の画像収集方法は、複数のカメラの画像パケットを復号して画像フレームをキャッシュすることにより、計算デバイスの処理速度の変動によるデータのオーバーフロー損失を解決することに役立つ。また、本発明の実施例の画像収集方法は、計算デバイスの画像に対する処理効率に基づいて、フレームグラバのメモリに格納された画像フレームを計算デバイスに伝送することができ、それにより、計算デバイスに伝送されるデータ量が計算デバイスの処理能力とマッチングし、フレームグラバから送信された画像フレームが計算デバイスの処理能力を超えるような状況を低減又は回避し、計算デバイスのデータのオーバーフロー損失の発生を低減又は回避することができる。
【0104】
いくつかの実施例では、方法1100において、画像フレームを計算デバイスに送信する前に、画像フレームに対してデータ処理を行ってもよく、データ処理は、解凍、デジタルゲイン、ベイヤー補間、色補正、ガンマ補正、色空間変換、及びシャープネス処理の、うちの少なくとも1つを含む。このように、方法1100は、計算デバイスのコンピューティングリソースを節約し、計算デバイスが画像フレームを受信するレートを向上させるように、計算デバイスの代わりに前述のデータ処理を行うことができる。
【0105】
いくつかの実施例では、ステップS1104は、ステップS1201~ステップS1202を含む方法1200として実施されてもよい。
【0106】
図12に示すように、ステップS1201において、計算デバイスが第1の割り込み命令に応答して計算デバイス内の画像格納アドレスを返すように、フレームグラバが、計算デバイスに画像フレームの伝送を要求することを示す第1の割り込み命令を送信する。前記画像格納アドレスは、例えば、計算デバイスのメモリ内の画像フレームを格納するためのベースアドレスである。
【0107】
ステップS1202において、計算デバイスが第2の割り込み命令に応答して画像フレームを処理するように、フレームグラバが、画像格納アドレスに画像フレームを伝送し、画像フレームの伝送が完了した時に、計算デバイスに画像フレームの伝送が完了したことを示す第2の割り込み命令を送信する。
【0108】
まとめると、方法1200は、フレームグラバが計算デバイスに割り込み命令を送信し、計算デバイスが割り込み命令に応答することを待つ方式により、フレームグラバのデータ伝送レートと計算デバイスの処理効率とのマッチングを実現してもよい。以上は、本発明のいくつかの実施例に過ぎず、本発明を限定するものではなく、本発明の趣旨及び原則内で行われたいかなる修正、同等置換、改良等は、いずれも本発明の保護範囲内に含まれるべきである。
【符号の説明】
【0109】
1 イーサネット物理層トランシーバ
2 通信バス
3 画像処理装置
4 メモリ
31 画像処理サブシステム
32 スケジューラ
33 プロセッサ
34 レジスタ設定ユニット
35 通信バスサブシステム
36 メモリコントローラ
37 内部相互接続バス
311 ストリーム処理サブシステム
312 メディアアクセス制御ユニット
313 制御命令処理ユニット
314 信号処理サブシステム
315 パケット生成ユニット
316 調停ユニット
3111 復号ユニット
3112 メモリ管理ユニット
3113 画像ダイレクトメモリ書き込みユニット
3114 画像ダイレクトメモリ読み取りユニット
3115 画像伝送ユニット
3141 解凍ユニット
3142 バイパスユニット
3143 分析ユニット
3145 多重化ユニット
3146 信号処理ユニット
321 スケジューリング書き込みユニット
322 スケジューリング読み取りユニット
351 バスコントローラ
352 PCIeダイレクトメモリ書き込みユニット
353 PCIeダイレクトメモリ読み取りユニット
354 レジスタ書き込みユニット
355 レジスタ読み取りユニット
901 デジタルゲインユニット
902 ベイヤー補間ユニット
903 色補正ユニット
904 ガンマ補正ユニット
905 色空間変換ユニット
906 シャープネス処理ユニット
【国際調査報告】