(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-12
(45)【発行日】2022-07-21
(54)【発明の名称】二値化アルゴリズムに基づくアクセラレーション制御システム、チップ及びロボット
(51)【国際特許分類】
G06T 1/60 20060101AFI20220713BHJP
G06F 13/28 20060101ALI20220713BHJP
G06F 13/24 20060101ALI20220713BHJP
G06F 9/38 20060101ALI20220713BHJP
G06F 12/02 20060101ALI20220713BHJP
G06T 1/20 20060101ALI20220713BHJP
【FI】
G06T1/60 450F
G06F13/28 310E
G06F13/24 310Z
G06F9/38 370C
G06F12/02 580J
G06T1/20 A
(21)【出願番号】P 2021507739
(86)(22)【出願日】2018-12-07
(86)【国際出願番号】 CN2018119916
(87)【国際公開番号】W WO2020034500
(87)【国際公開日】2020-02-20
【審査請求日】2021-02-24
(31)【優先権主張番号】201810920821.5
(32)【優先日】2018-08-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520347351
【氏名又は名称】珠海一微半導体股▲ふん▼有限公司
【氏名又は名称原語表記】AMICRO SEMICONDUCTOR CO.,LTD.
【住所又は居所原語表記】Room 2706,3000 Huandao East Road,Hengqin New District,Zhuhai,Guangdong 519000(CN)
(74)【代理人】
【識別番号】110002734
【氏名又は名称】特許業務法人藤本パートナーズ
(72)【発明者】
【氏名】何 再生
【審査官】西谷 憲人
(56)【参考文献】
【文献】特開2009-200968(JP,A)
【文献】特開2005-032019(JP,A)
【文献】特開2006-154897(JP,A)
【文献】特開2009-205412(JP,A)
【文献】特表2007-532066(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/60
G06F 13/28
G06F 13/24
G06F 9/38
G06F 12/02
G06T 1/20
(57)【特許請求の範囲】
【請求項1】
AHBバスを介して外部の画像メモリを読み込み・書き込みする、二値化アルゴリズムに基づくアクセラレーション制御システムであって、
マスター制御モジュール、二値化モジュール、及び二値化FIFOモジュールをさらに含み、
二値化モジュールは、前記画像メモリ内のバースト伝送する画素データを受信及び二値化処理してから、処理して得られた二値化データを二値化FIFOモジュールに伝送し、前記画像メモリに記憶された画像のすべての画素データの処理が完了すると、CPUに割り込み命令を送信する旨を前記アクセラレーション制御システムに通知するように構成され、
マスター制御モジュールは、マスターステートマシン、バースト読み込みステートマシン、バースト書き込みステートマシン、及びインターフェース制御ステートマシンを含み、マスターステートマシンがバースト読み込みモード状態である場合、インターフェース制御ステートマシンによってAHBバスを制御して前記画像メモリ内の処理対象の画素データを読み出させ、AHBバス内の現在の画素データを制御して二値化モジュールにバースト伝送し処理させるとともに、二値化モジュールにおける、直前にバースト伝送された画素データに基づいて処理して得られた二値化データを読み出すように、二値化FIFOモジュールをバースト読み込みステートマシンによって制御することによって、前記アクセラレーション制御システムがマスターステートマシンの制御下で、
パイプラインの作動方式で二値化処理速度を加速させるように構成され、
マスター制御モジュールは、さらに、マスターステートマシンがバースト書き込みモード状態である場合、バースト書き込みステートマシンによって二値化FIFOモジュールに保存された二値化データをAHBバス内に書き込むとともに、インターフェース制御ステートマシンによってAHBバス内の二値化データを制御して前記画像メモリに書き戻させるように構成される、ことを特徴とする二値化アルゴリズムに基づくアクセラレーション制御システム。
【請求項2】
前記マスターステートマシンは、バースト読み込みモード状態で、前記バースト読み込みステートマシンを初期状態からバースト読み込み作動状態に入るようにアクティブ化し、AHBバスを介して前記画像メモリ内の1つのバースト伝送長さ分の前記画素データをバースト読み込みし、AHBバス内の前記画素データを制御して前記二値化モジュールにバースト伝送させるとともに、前記二値化モジュールにおいて処理して得られた前記二値化データをバースト読み込みするように前記二値化FIFOモジュールを前記バースト読み込みステートマシンによって制御し、1つのバースト伝送長さ分の前記二値化データが前記二値化FIFOモジュールに完全に保存されるまで、前記インターフェース制御ステートマシンによって、AHBバス内でバースト読み込みされた次のバースト伝送長さ分の前記画素データを制御して前記二値化モジュールにバースト伝送し処理させ、1つのバースト伝送長さ分の前記二値化データが前記二値化FIFOモジュールに完全に保存されると、バースト読み込みモードウェイト状態に入るように構成され、
前記マスターステートマシンは、バースト読み込みモードウェイト状態で、AHBバスが前記二値化FIFOモジュールにバースト書き込みできるまでウェイトし、当該状態が1クロックサイクルだけ持続されると、バースト読み込みモードウェイト状態からバースト書き込みモード状態に切り替わるように構成され、
前記マスターステートマシンは、バースト書き込みモード状態で、前記バースト書き込みステートマシンを初期状態からバースト書き込み作動状態に入るようにアクティブ化し、1つのバースト伝送長さ分の前記二値化データを制御して前記二値化FIFOモジュールからAHBバスにバースト書き出しさせるとともに、インターフェース制御ステートマシンによってAHBバス内の1つのバースト伝送長さ分の前記二値化データを制御して前記画像メモリに書き戻させ、1つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込むまで、前記バースト書き込みステートマシンによって前記二値化FIFOモジュール内の次のバースト伝送長さ分の前記二値化データを制御してAHBバスにバースト伝送させ、1つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれると、バースト書き込みモード状態からバースト書き込みモードウェイト状態に入るように構成され、
前記マスターステートマシンは、バースト書き込みモードウェイト状態で、前記二値化FIFOモジュール内の前記二値化データの数に基づいて前記画像メモリのすべての前記画素データの二値化処理が完了したか否かを判断し、そうであれば、バースト書き込みモードウェイト状態から終了状態に入り、そうでなければ、バースト読み込みモード状態に入るように構成され、
前記二値化FIFOモジュールの深さが前記バースト伝送長さに等しく、前記バースト伝送長さは、毎回バースト伝送するデータの数であり、バースト読み込みモード状態とバースト書き込みモード状態とでは等しい、ことを特徴とする請求項1に記載のアクセラレーション制御システム。
【請求項3】
前記バースト読み込みステートマシンは、前記バースト読み込み作動状態で、前記画像メモリ内の1つのバースト伝送長さ分の前記画素データを前記二値化モジュールに完全にバースト読み込みさせるとともに、前記二値化モジュールにおいてバースト伝送された前記画素データを二値化処理し、それに応じて、処理して得られた前記二値化データを前記二値化FIFOモジュールに伝送し、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化FIFOモジュールに伝送され始めると、バースト読み込み完了状態に入るように構成され、
前記バースト読み込みステートマシンは、バースト読み込み完了状態で、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化FIFOモジュールに伝送されている場合、バースト読み込みウェイト状態に入り
、インターフェース準備信号が高レベルになって前記初期状態に戻るまでウェイトするように構成され、
前記バースト書き込みステートマシンは、前記バースト書き込み作動状態で、1つのバースト伝送長さ分の前記二値化データがAHBバスにバースト書き戻しするように前記二値化FIFOモジュールを制御するとともに、前記二値化データを制御してAHBバスから前記画像メモリ内に伝送し書き込ませ、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリに伝送されて書き込まれ始めると、バースト書き込み完了状態に入るように構成され、
前記バースト書き込みステートマシンは、バースト書き込み完了状態で、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリにバースト書き戻しされている場合、バースト書き込みウェイト状態に入り、前記インターフェース準備信号が高レベルになって前記初期状態に戻るまでウェイトするように構成される、ことを特徴とする請求項2に記載のアクセラレーション制御システム。
【請求項4】
前記インターフェース制御ステートマシンは、初期状態で伝送をウェイトし、前記バースト読み込みステートマシンが前記バースト読み込み作動状態に入るか、又は前記バースト書き込みステートマシンが前記バースト書き込み作動状態に入り、且つ前記画像メモリ
がインターフェース準備信号によってバースト読み込み/書き込み準備をするように指示する場合、非連続伝送状態に入るように構成され、
前記インターフェース制御ステートマシンは、非連続伝送状態で、前記バースト読み込みステートマシンが前記バースト読み込み作動状態で1つのバースト伝送長さ分の前記二値化データを前記二値化FIFOモジュールに完全にバースト読み込みさせていないか、又は、前記バースト書き込みステートマシンが前記バースト書き込み作動状態でAHBバスを間接的に制御して、1つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせていない場合、連続伝送状態に入るように構成され、
前記インターフェース制御ステートマシンは、非連続伝送状態で、前記バースト読み込みステートマシンが前記バースト読み込み作動状態で1つのバースト伝送長さ分の前記二値化データを前記二値化FIFOモジュールに完全にバースト読み込みさせるか、又は、前記バースト書き込みステートマシンが前記バースト書き込み作動状態でAHBバスを間接的に制御して1つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせる場合、前記初期状態に入るように構成され、
前記インターフェース制御ステートマシンは、前記連続伝送状態で、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化FIFOモジュールにバースト読み込みされているか、又は、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリ内にバースト書き込みされている場合、前記初期状態に入るように構成される、ことを特徴とする請求項1~請求項3のいずれか1項に記載のアクセラレーション制御システム。
【請求項5】
AHBバスがバースト伝送するための読み込み・書き込みレジスタ群が配置されており、
読み込みレジスタは、前記画像メモリからバースト伝送された前記画素データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたAHBプロトコルのバースト読み込み命令情報を記憶するように構成され、
書き込みレジスタは、前記二値化モジュールからバースト伝送された前記二値化データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたAHBプロトコルのバースト書き込み命令情報を記憶するように構成され、
前記読み込み・書き込みレジスタ群は、前記インターフェース制御ステートマシンから送信されたAHBプロトコルに基づくバースト命令情報に従って読み込み・書き込み操作を行い、バースト読み込み操作を行う場合、AHBバスにより解析されたバースト読み込み命令情報に従って、前記読み込みレジスタによる前記画素データの読み込み又は読み出しを選択し、バースト書き込み操作を行う場合、AHBバスにより解析されたバースト書き込み命令情報に従って、前記書き込みレジスタによる前記二値化データの書き込み又は書き出しを選択する、ことを特徴とする請求項1に記載のアクセラレーション制御システム。
【請求項6】
前記画像メモリに記憶された画像のすべての画素データの二値化処理が完了すると、前記画像メモリにおける対応するアドレスユニットから前記二値化データを抽出する旨をCPUに通知してから、ソフトウェア処理を行うように構成された割り込みレジスタがさらに配置されている、ことを特徴とする請求項1に記載のアクセラレーション制御システム。
【請求項7】
前記画素データの二値化処理を加速する請求項1~請求項6のいずれか1項に記載のアクセラレーション制御システムを内部構造として含む画像処理チップである、ことを特徴とするチップ。
【請求項8】
請求項7に記載の画像処理チップが内蔵されているモバイルビジョンロボットである、ことを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ハードウェアアクセラレータの分野に関し、具体的には、二値化アルゴリズムに基づくアクセラレーション制御システム、チップ及びロボットに関する。
【背景技術】
【0002】
現在、掃除ロボットは、VSLAMによる地図の作成及び測位を行う際に、取得した画像データを、ソフトウェアに用いる前に前処理する必要がある。前処理のうち、二値化演算と呼ばれる処理アルゴリズムがある。二値化演算は、画像をグレースケール図に変換してエッジ効果を強化させる画像処理方式の1つとして、画像処理に広く適用されている。ソフトウェアは、画像を二値化演算処理する際、画像データに読み出し、処理及び書き戻しの動作を行う必要がある。従来技術におけるオンチップシステムでは、CPUがアクセス命令を送信し、AHBバスを介してメモリを含むスペースを検索し、メモリにアクセスする。アクセスに成功すると、メモリはAHBバスに成功応答信号を送信するとともに、他のCPUに該当CPUの所望のデータを送信し、AHBバスはこれらの信号をCPUに返信し、このようにして、一回の命令による操作が完了する。CPUロジックユニットは、いずれも標準タイミング又はコンビネーションコンポーネントであるため、フリップ速度が極めて高く、一方、メモリの1つの記憶ユニットは、一般的に複数のコンビナトリアルロジックを組み合わせて実現するものであるので、これらへアクセスするには、複数のクロックサイクルの分をウェイトしないと応答を取得できず、これにより、CPUの動作効率が大幅に低下する。このため、上記の画像画素に対して読み込み・書き込み、二値化処理を繰り返す過程では、CPUを通じて二値化データの処理及び伝送の実行に干渉するとソフトウェアリソースがかなり消費されてしまい、また、他のモジュールのCPU作動時間が占められてしまい、他のモジュールの作動速度に悪影響を与え、特に大量の画像を処理する場合には、CPUの作動負荷が大幅に増えてしまい、チップ全体の性能が深刻に損なわれる。
【発明の概要】
【0003】
本発明の目的は、AHBバスを介して外部の画像メモリを読み込み・書き込みするように構成される、二値化アルゴリズムに基づくアクセラレーション制御システムであって、
マスター制御モジュール、二値化モジュール、及び二値化FIFOモジュールをさらに含み、
二値化モジュールは、前記画像メモリ内のバースト伝送する画素データを受信及び二値化処理してから、処理して得られた二値化データを二値化FIFOモジュールに伝送し、前記画像メモリに記憶された画像のすべての画素データの処理が完了すると、CPUに割り込み命令を送信する旨を前記アクセラレーション制御システムに通知するように構成され、
マスター制御モジュールは、マスターステートマシン、バースト読み込みステートマシン、バースト書き込みステートマシン、及びインターフェース制御ステートマシンを含み、マスターステートマシンがバースト読み込みモード状態である場合、インターフェース制御ステートマシンによってAHBバスを制御して前記画像メモリ内の処理対象の画素データを読み出させ、AHBバス内の現在の画素データを制御して二値化モジュールにバースト伝送し処理させるとともに、二値化モジュールにおける、直前にバースト伝送された画素データに基づいて処理して得られた二値化データを読み出すように、二値化FIFOモジュールをバースト読み込みステートマシンによって制御することによって、前記アクセラレーション制御システムがマスターステートマシンの制御下で、パイプラインの作動方式で二値化処理速度を加速させるように構成され、
マスター制御モジュールは、さらに、マスターステートマシンがバースト書き込みモード状態である場合、バースト書き込みステートマシンによって二値化FIFOモジュールに保存された二値化データをAHBバス内に書き込むとともに、インターフェース制御ステートマシンによってAHBバス内の二値化データを制御して前記画像メモリに書き戻させるように構成されるアクセラレーション制御システムを提供する。
【0004】
さらに、前記マスターステートマシンは、バースト読み込みモード状態で、前記バースト読み込みステートマシンを初期状態からバースト読み込み作動状態に入るようにアクティブ化し、AHBバスを介して前記画像メモリ内の1つのバースト伝送長さ分の前記画素データをバースト読み込みし、AHBバス内の前記画素データを制御して前記二値化モジュールにバースト伝送させるとともに、前記二値化モジュールにおいて処理して得られた前記二値化データをバースト読み込みするように前記二値化FIFOモジュールを前記バースト読み込みステートマシンによって制御し、1つのバースト伝送長さ分の前記二値化データが前記二値化FIFOモジュールに完全に保存されるまで、前記インターフェース制御ステートマシンによって、AHBバス内でバースト読み込みされた次のバースト伝送長さ分の前記画素データを制御して前記二値化モジュールにバースト伝送し処理させ、1つのバースト伝送長さ分の前記二値化データが前記二値化FIFOモジュールに完全に保存されると、バースト読み込みモードウェイト状態に入るように構成され、
前記マスターステートマシンは、バースト読み込みモードウェイト状態で、AHBバスが前記二値化FIFOモジュールにバースト書き込みできるまでウェイトし、当該状態が1クロックサイクルだけ持続されると、バースト読み込みモードウェイト状態からバースト書き込みモード状態に移行するように構成され、
前記マスターステートマシンは、バースト書き込みモード状態で、前記バースト書き込みステートマシンを初期状態からバースト書き込み作動状態に入るようにアクティブ化し、1つのバースト伝送長さ分の前記二値化データを制御して前記二値化FIFOモジュールからAHBバスにバースト書き出しさせるとともに、インターフェース制御ステートマシンによってAHBバス内の1つのバースト伝送長さ分の前記二値化データを制御して前記画像メモリに書き戻させ、1つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれるまで、前記バースト書き込みステートマシンによって前記二値化FIFOモジュール内の次のバースト伝送長さ分の前記二値化データを制御してAHBバスにバースト伝送させ、1つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれると、バースト書き込みモード状態からバースト書き込みモードウェイト状態に入るように構成され、
前記マスターステートマシンは、バースト書き込みモードウェイト状態で、前記二値化FIFOモジュール内の前記二値化データの数に基づいて前記画像メモリのすべての前記画素データの二値化処理が完了したか否かを判断し、そうであれば、バースト書き込みモードウェイト状態から終了状態に入り、そうでなければ、バースト読み込みモード状態に入るように構成され、
前記二値化FIFOモジュールの深さが前記バースト伝送長さに等しく、前記バースト伝送長さは、毎回バースト伝送するデータの数であり、バースト読み込みモード状態とバースト書き込みモード状態とでは等しい。
【0005】
さらに、前記バースト読み込みステートマシンは、前記バースト読み込み作動状態で、前記画像メモリ内の1つのバースト伝送長さ分の前記画素データを前記二値化モジュールに完全にバースト読み込みさせるとともに、前記二値化モジュールにおいてバースト伝送された前記画素データを二値化処理し、それに応じて、処理して得られた前記二値化データを前記二値化FIFOモジュールに伝送し、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化FIFOモジュールに伝送され始めると、バースト読み込み完了状態に入るように構成され、
前記バースト読み込みステートマシンは、バースト読み込み完了状態で、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化FIFOモジュールに伝送されている場合、バースト読み込みウェイト状態に入り、前記インターフェース準備信号が高レベルになって前記初期状態に戻るまでウェイトするように構成され、
前記バースト書き込みステートマシンは、前記バースト書き込み作動状態で、1つのバースト伝送長さ分の前記二値化データがAHBバスにバースト書き戻しするように前記二値化FIFOモジュールを制御するとともに、前記二値化データを制御してAHBバスから前記画像メモリ内に伝送し書き込ませ、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリに伝送されて書き込まれ始めると、バースト書き込み完了状態に入るように構成され、
前記バースト書き込みステートマシンは、バースト書き込み完了状態で、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリにバースト書き戻しされている場合、バースト書き込みウェイト状態に入り、前記インターフェース準備信号が高レベルになって前記初期状態に戻るまでウェイトするように構成される。
【0006】
さらに、前記インターフェース制御ステートマシンは、初期状態で伝送をウェイトし、前記バースト読み込みステートマシンが前記バースト読み込み作動状態に入るか、又は前記バースト書き込みステートマシンが前記バースト書き込み作動状態に入り、且つ前記画像メモリが前記インターフェース準備信号によってバースト読み込み/書き込み準備をするように指示する場合、非連続伝送状態に入るように構成され、
前記インターフェース制御ステートマシンは、非連続伝送状態で、前記バースト読み込みステートマシンが前記バースト読み込み作動状態で1つのバースト伝送長さ分の前記二値化データを前記二値化FIFOモジュールに完全にバースト読み込みさせていないか、又は、前記バースト書き込みステートマシンが前記バースト書き込み作動状態でAHBバスを間接的に制御して1つのバースト伝送長さ分の前記二値化データを前記画像メモリに完全にバースト書き込みインさせていない場合、連続伝送状態に入るように構成され、
前記インターフェース制御ステートマシンは、非連続伝送状態で、前記バースト読み込みステートマシンが前記バースト読み込み作動状態で1つのバースト伝送長さ分の前記二値化データを前記二値化FIFOモジュールに完全にバースト読み込みさせるか、又は、前記バースト書き込みステートマシンが前記バースト書き込み作動状態でAHBバスを間接的に制御して1つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせる場合、前記初期状態に入るように構成され、
前記インターフェース制御ステートマシンは、前記連続伝送状態で、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化FIFOモジュールにバースト読み込みされているか、又は、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリ内にバースト書き込みされている場合、前記初期状態に入るように構成される。
【0007】
さらに、AHBバスがバースト伝送するための読み込み・書き込みレジスタ群が配置されており、
読み込みレジスタは、前記画像メモリからバースト伝送された前記画素データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたAHBプロトコルのバースト読み込み命令情報を記憶するように構成され、
書き込みレジスタは、前記二値化モジュールからバースト伝送された前記二値化データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたAHBプロトコルのバースト書き込み命令情報を記憶するように構成され、
前記読み込み・書き込みレジスタ群は、前記インターフェース制御ステートマシンから送信されたAHBプロトコルに基づくバースト命令情報に従って読み込み・書き込み操作を行い、バースト読み込み操作を行う場合、AHBバスにより解析されたバースト読み込み命令情報に従って、前記読み込みレジスタによる前記画素データの読み込み又は読み出しを選択し、バースト書き込み操作を行う場合、AHBバスにより解析されたバースト書き込み命令情報に従って、前記書き込みレジスタによる前記二値化データの書き込み又は書き出しを選択する。
【0008】
さらに、前記画像メモリに記憶された画像のすべての画素データの二値化処理が完了すると、前記画像メモリにおける対応するアドレスユニットから前記二値化データを抽出する旨をCPUに通知してから、ソフトウェア処理を行うように構成された割り込みレジスタがさらに配置されている。
【0009】
画素データの二値化処理を加速するための前記アクセラレーション制御システムを内部構造として含む画像処理チップを提供する。
【0010】
前記画像処理チップが内蔵されているモバイルビジョンロボットを提供する。
【発明の効果】
【0011】
本発明の実施例の有益な効果は以下の通りである。画像データの読み出し、処理及び書き出しが完全にハードウェア回路により行われ、上記画像データに対するデータ読み出し、データ演算及びデータ書き戻しがハードウェア方式で行われ、これらの操作に亘ってソフトウェアの使用が不要であり、CPUが演算開始時に情報を設定し、演算終了時に処理を割り込むだけで十分である。したがって、二値化アルゴリズムをハードウェアの方式で実現することにより、CPUが解放され、ソフトウェア効率を大幅に向上させる。
【0012】
本発明の別の好適な特定態様は添付の独立請求項及び従属請求項に記載される。従属請求項の特徴は、請求項に明記されているような組み合わせ方式とは異なる組み合わせ方式で、独立請求項の特徴と組み合わせることができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施例による二値化アルゴリズムに基づくアクセラレーション制御システムフレームワークの模式図である。
【
図2】本発明の実施例によるマスター制御モジュールの内部のマスターステートマシンの状態変換模式図である。
【
図3】本発明の実施例によるマスター制御モジュールの内部のバースト読み込みステートマシンの状態変換模式図である。
【
図4】本発明の実施例によるマスター制御モジュールの内部のバースト書き込みステートマシンの状態変換模式図である。
【
図5】本発明の実施例によるマスター制御モジュールの内部のインターフェース制御ステートマシンの状態変換模式図である。
【発明を実施するための形態】
【0014】
本発明の実施形態に係る各モジュール及びステートマシンは、いずれもロジック回路であり、実際の適用において、1つのロジック回路は1つの物理ユニットであってもよいし、1つの物理ユニットの一部であってもよいし、複数の物理ユニットの組み合わせとして実現されてもよい。なお、本発明の進歩性のある部分を強調するために、本発明の実施形態では、本発明の課題の解決にそれほど関連性のないユニットを導入していないが、本発明の実施形態に他のユニットが存在しないことを意味するのではない。
【0015】
本発明の実施例は、二値化アルゴリズムに基づくアクセラレーション制御システムを提供し、このアクセラレーション制御システムは、AHBバスを介して外部の画像メモリを読み込み・書き込みし、画像メモリからの画素データを二値化計算処理するものである。また、このアクセラレーション制御システムは、ハードウェアアクセラレーション処理システムとして集積回路に適用され、ソフトウェア処理の場合に比べて、画像処理速度を加速し、CPU帯域幅を節約し、ソフトウェアリソースの消費を減らすことができる。上記のアクセラレーション制御システムは、マスター制御モジュール、二値化モジュール、二値化FIFOモジュール、及びこれらのモジュールを担持するAHBバスをさらに含む。なお、前記アクセラレーション制御システムの場合、AHBバスに基づくインターフェースタイミングがAMB AHBプロトコルに合致すべきである。
【0016】
前記アクセラレーション制御システムが前記画素データの読み込み・書き込み及び二値化処理を行うに先立って、CPUで前記画像メモリに記憶された1つの画像のアドレス及び画素解像度の大きさを予め設定する必要があり、画素の大きさの範囲が、最小1×1、最大1024×1024であり、マトリックスとして記憶媒体に保存されている。本発明の実施例では、前記画像メモリはSOCチップ上のSRAM又はSOCチップ外部のDDRである。また、CPUは、二値化の処理モード、及び二値化結果の前記画像メモリ内の保存先のアドレスを設定する。前記アクセラレーション制御システムにより指定されるバースト伝送長さは、毎回バースト伝送されるデータの数であり、本発明の実施例では、16に設定されている。ただし、前記画像メモリ内の実際の処理対象の画素データによって、バースト伝送長さを8、4、2又は1に設置する場合もあり、さらに、バースト読み込みモード状態とバースト書き込みモード状態とでは等しく、それに応じて、前記二値化FIFOモジュールの深さは16となる。
【0017】
本発明の実施例として、
図1に示すように、前記二値化モジュールは、二値化ロジック回路及びレジスタを含み、前記二値化モジュールは、前記マスター制御モジュールの制御下で、AHBバスを介して前記画像メモリからの画素データをバースト読み込みして二値化ロジック回路に伝送し、二値化ロジック回路において、前記画像メモリからバースト伝送される画素データが二値化処理され、つまり、二値化ロジック回路に予め設定された閾値と比較することで、対応する二値化データが得られてから、レジスタを介して前記二値化FIFOモジュールに伝送され、前記画像メモリに記憶された画像のすべての画素データの処理が完了すると、CPUに割り込み命令を送信する旨が前記アクセラレーション制御システムに通知される。
【0018】
本発明の実施例では、前記マスター制御モジュールにおいて、マスターステートマシン、バースト読み込みステートマシン、バースト書き込みステートマシン、及びインターフェース制御ステートマシンの合計4つのステートマシンが設計されている。前記マスター制御モジュールは、マスターステートマシンの制御下で、前記画像メモリ内の前記画素データを読み出して二値化処理するとともに、前記二値化データを前記画像メモリに書き戻すように制御される。具体的には、CPUは、割り込み有効化命令を送信して、スタートフラグstartに1を設定し、マスターステートマシンは、初期状態IDLEからバースト読み込みモード状態BRD_STに移行する。マスターステートマシンがバースト読み込みモード状態BRD_STである場合、前記マスター制御モジュールは、インターフェース制御ステートマシンのAHB解析命令を通じてAHBバスを制御して前記画像メモリ内の処理対象の画素データを読み出させ、AHBバス内の現在の画素データを制御して前記二値化モジュールにバースト伝送して処理し、一方、バースト読み込みステートマシンは、読み込み制御信号B_Rを前記二値化FIFOモジュールに送信することによって、二値化モジュールにおける、直前にバースト伝送された画素データに基づいて処理して得られた前記二値化データを読み出すように、前記二値化FIFOモジュールを制御する。よって、前記アクセラレーション制御システムは、複数の前記バースト伝送長さの前記画素データを同時に読み出して処理し、パイプラインのような動作構造となり、二値化処理を加速する。ウェイト状態が1つのクロックサイクルだけ持続されると、マスターステートマシンはバースト書き込みモード状態BWR_STに移行する。バースト書き込みモード状態BWR_STでは、バースト書き込みステートマシンは、書き込み制御信号B_Wを前記二値化FIFOモジュールに送信し、これにより、前記二値化FIFOモジュールに保存された前記二値化データがAHBバス内に書き込むように制御されるとともに、前記インターフェース制御ステートマシンによって、AHBバス内の前記二値化データが前記画像メモリに書き戻されるように制御される。よって、前記二値化データの読み込み・書き込みを加速する。
【0019】
具体的には、前記マスター制御モジュールでは、マスター制御モジュールに含まれるステートマシンアクセスには、アクセス要求、アクセス応答、アクセス終了という三段構造アクセスモードが使用される。ステートマシンアクセスには先着順の原則が採用され、一旦占められると他のアクセスがブロックされてしまう。前記マスターステートマシンは他の3つのステートマシンを制御しているので、アクセス要求は前記マスターステートマシンにより送信されることになり、3つのうちの1つのステートマシンによりアクセス要求を検出し、且つ当該ステートマシンがアクセス初期状態である場合、アクセス応答を行い、前記マスターステートマシンによりアクセス応答ハンドシェイク信号が検出されると、上記ステートマシンは自体の状態を対応する状態に入るようにアクティブ化し、自分の状態の占めるバースト伝送クロックサイクルに従って、アクセス終了命令を前記マスターステートマシンに送る。前記マスターステートマシンは、アクセス終了を検出すると、今回のアクセスを終了し、次の状態に入り、次のステートマシンにアクセスし、例えば、バースト読み込みモード状態でバースト読み込みステートマシンをアクティブ化する操作から、バースト書き込みモード状態でバースト書き込みステートマシンをアクティブ化する操作へ切り替わる。
【0020】
本発明の実施例として、
図1及び
図2に示すように、スタートフラグstartに1を設定すると、前記マスターステートマシンは、初期状態IDLEからバースト読み込みモード状態BRD_STに移行し、バースト読み込みモード状態BRD_STでは、前記マスターステートマシンは、前記バースト読み込みステートマシンを初期状態IDLE1からバースト読み込み作動状態BST_RDに入るようにアクティブ化する。前記マスターステートマシンは、AHBバスを介して前記画像メモリ内の1つのバースト伝送長さ分の前記画素データを前記二値化モジュールにバースト読み込みし、それと同時に、前記マスターステートマシンは、バースト読み込みステートマシンを制御して制御読み込み信号B_Rを送信させ、これにより、前記二値化FIFOモジュールは、前記二値化モジュールで処理して得られた1つのバースト伝送長さ分の前記二値化データをバースト読み込みして保存する。ここで、バースト伝送長さは、1回に16個のデータをバースト伝送することを意味し、バースト伝送長さの前記二値化データは、前記二値化モジュールにおける、直前にバースト伝送された画素データに基づいて処理して得られた二値化データである。1つのバースト伝送長さ分の前記二値化データが前記二値化FIFOモジュールに完全に保存されるまで、前記マスターステートマシンは、前記インターフェース制御ステートマシンによって、前記画像メモリからバースト読み込みするAHBバス内の次のバースト伝送長さ分の前記画素データを制御して前記二値化モジュールにバースト伝送して処理させ、1つのバースト伝送長さ分の前記二値化データが前記二値化FIFOモジュールに完全に保存されると、前記マスターステートマシンは、バースト読み込みモード状態BRD_STからバースト読み込みモードウェイト状態BRD_WAITに入る。具体的には、前記二値化FIFOモジュールの深さは前記バースト伝送長さに等しい。
【0021】
バースト読み込みモードウェイト状態BRD_WAITでは、前記マスターステートマシンは、AHBバスが前記二値化FIFOモジュールにバースト書き込みできる準備が完了するまでウェイトし、前記マスターステートマシンは、この状態下では、AHBバスを伝送を実行するように制御することを行わず、そのまま1クロックサイクルだけ持続し、前記インターフェース準備信号が高レベルになると、AHBバスがバースト書き込みできるようになったことを示し、そして、バースト読み込みモードウェイト状態BRD_WAITからバースト書き込みモード状態BWR_STに移行する。
【0022】
バースト書き込みモード状態BWR_STでは、前記マスターステートマシンは、前記バースト書き込みステートマシンを初期状態IDLE2からバースト書き込み作動状態BST_WRに入るようにアクティブ化し、1つのバースト伝送長さ分の前記二値化データを制御して前記二値化FIFOモジュールからAHBバスにバースト書き戻しさせるとともに、インターフェース制御ステートマシンによって、AHBバスに記憶された1つのバースト伝送長さ分の前記二値化データを制御して前記画像メモリに書き戻す。ここで、バースト伝送長さは、1回に16個のデータをバースト伝送することを意味する。1つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれるまで、前記マスターステートマシンは、前記バースト書き込みステートマシンを制御して制御書き込み信号B_Wを送信させ、これにより、前記二値化FIFOモジュール内の次のバースト伝送長さ分の前記二値化データはAHBバスにバースト伝送され、1つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれると、前記マスターステートマシンはバースト書き込みモード状態BWR_STからバースト書き込みモードウェイト状態BWR_WAITに入る。
【0023】
バースト書き込みモードウェイト状態BWR_WAITでは、前記マスターステートマシンは、前記二値化FIFOモジュールにおいて前記画素データを処理して得られた前記二値化データの数に基づいて、前記二値化FIFOモジュール内の前記二値化データの数が、前記画像メモリのすべての前記画素データの数に等しいか否かを判断し、等しい場合、前記画像メモリのすべての前記画素データを処理し、バースト書き込みモードウェイト状態BWR_WAITから終了状態FSM_FINISHに入る。
【0024】
本発明の一実施例として、前記マスターステートマシンがバースト読み込みモード状態BRD_STであり、且つ前記インターフェース準備信号が高レベルになった場合、
図3に示すように、前記バースト読み込みステートマシンは、初期状態IDLE1からバースト読み込み作動状態BST_RDに移行する。バースト読み込み作動状態BST_RDでは、前記バースト読み込みステートマシンは、前記インターフェース制御ステートマシンを制御してAHBバスへAHBプロトコルに基づくバースト読み込み命令を送信させ、これにより、前記画像メモリ内の1つのバースト伝送長さ分の前記画素データを前記二値化モジュールに完全にバースト伝送させるとともに、前記二値化モジュールにおいて伝送された1つのバースト伝送長さ分の前記画素データの各々を、予め設定された閾値と比較することで、対応する1つのバースト伝送長さ分の前記二値化データが得られ、1つのバースト伝送長さ分の前記二値化データを前記二値化FIFOモジュールに伝送させ、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化FIFOモジュールに伝送され始め、バースト読み込み完了状態DONE1に入ると、前記バースト読み込みステートマシンは、バースト読み込み完了状態DONE1に入る。バースト読み込み完了状態DONE1では、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化FIFOモジュールに伝送されると、前記バースト読み込みステートマシンはバースト読み込みウェイト状態BWAIT1に入り、前記インターフェース準備信号が高レベルになって初期状態IDLE1に戻るまでウェイトする。
【0025】
本発明の一実施例として、前記マスターステートマシンがバースト書き込みモード状態BWR_STであり、且つ前記インターフェース準備信号が高レベルになった場合、
図4に示すように、前記バースト書き込みステートマシンは、初期状態IDLE2からバースト書き込み作動状態BST_WRに移行する。バースト書き込み作動状態BST_WRでは、前記バースト書き込みステートマシンは、制御信号を前記二値化FIFOモジュールに送信することで、前記二値化FIFOモジュールが1つのバースト伝送長さ分の前記二値化データをAHBバスに完全にバースト書き戻しさせるとともに、前記バースト読み込みステートマシンが前記インターフェース制御ステートマシンを制御してAHBバスへAHBプロトコルに基づくバースト書き込み命令を送信させるようにし、これにより、前記二値化データはAHBバスから前記画像メモリ内にバースト書き込みされ、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリに伝送されて書き込まれ始めると、前記バースト書き込みステートマシンはバースト書き込み完了状態DONE2に入る。バースト書き込み完了状態DONE2では、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリ内に書き込まれると、前記バースト書き込みステートマシンはバースト書き込みウェイト状態BWAIT2に入り、前記インターフェース準備信号が高レベルになって初期状態IDLE2に戻るまでウェイトする。
【0026】
本発明の一実施例として、
図5に示すように、前記インターフェース制御ステートマシンは、前記バースト読み込みステートマシン及び前記バースト書き込みステートマシンの作動状態に応じて、その状態の移行(切り替え)条件を決定する。初期状態IDLE3では、前記インターフェース制御ステートマシンは前記画素データのバースト伝送をウェイトする。前記バースト読み込みステートマシンがバースト読み込み作動状態BST_RDに入るか、又は、前記バースト書き込みステートマシンがバースト書き込み作動状態BST_WRに入り、且つ前記画像メモリが前記インターフェース準備信号によってバースト読み込み/書き込み準備を行うように指示する場合、前記インターフェース制御ステートマシンは初期状態IDLE3から非連続伝送状態NSEQに入る。
【0027】
非連続伝送状態NSEQでは、前記インターフェース準備信号は高レベルになり、前記バースト読み込みステートマシンがバースト読み込み作動状態BST_RDで1つのバースト伝送長さ分の前記二値化データを前記二値化FIFOモジュールに完全にバースト読み込みさせていないか、又は、前記バースト書き込みステートマシンがバースト書き込み作動状態BST_WRで、前記マスターステートマシンを通じてAHBバスを間接的に制御し、1つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせていない場合、前記インターフェース制御ステートマシンは非連続伝送状態NSEQから連続伝送状態SEQQに入り、前記バースト読み込みステートマシン及び前記バースト書き込みステートマシンの制御下で、前記画素データと前記二値化データとの間のバースト伝送を行い、また、前記バースト読み込みステートマシンがバースト読み込み作動状態BST_RDで1つのバースト伝送長さ分の前記二値化データを前記二値化FIFOモジュールに完全にバースト読み込みさせるか、又は、前記バースト書き込みステートマシンがバースト書き込み作動状態BST_WRで、前記マスターステートマシンを通じてAHBバスを間接的に制御し、1つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせる場合、前記インターフェース制御ステートマシンは非連続伝送状態NSEQから初期状態IDLE3に入り、これは、1回の伝送操作である。ただし、非連続伝送状態NSEQでは、前記インターフェース準備信号が高レベルになっていない場合、前記インターフェース制御ステートマシンは非連続伝送状態NSEQのままである。
【0028】
連続伝送状態SEQQでは、前記インターフェース準備信号が高レベルになると、前記バースト読み込みステートマシンにより制御されて、1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化FIFOモジュールにバースト読み込みされているか、又は、前記バースト書き込みステートマシンが前記マスターステートマシンを通じて前記インターフェース制御ステートマシンへAHBプロトコルに基づくバースト書き込み命令を送信し、AHBバスを制御して1つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリ内に完全にバースト書き込みされている場合、前記インターフェース制御ステートマシンは連続伝送状態SEQQから初期状態IDLE3に入り、また、前記インターフェース準備信号が高レベルになっていないか、又は、前記インターフェース準備信号が高レベルになったが、上記の1つのバースト伝送長さ分の前記二値化データが連続伝送状態SEQQでバースト読み込み・書き込み操作を完了していない場合、前記インターフェース制御ステートマシンは連続伝送状態SEQQのままである。
【0029】
本発明の一実施例として、前記アクセラレーション制御システムには、AHBバスがバースト伝送するための読み込み・書き込みレジスタ群が配置されており、読み込みレジスタは、前記画像メモリがバースト読み込み操作により伝送された前記画素データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたAHBプロトコルに基づくバースト読み込み命令情報を記憶するように構成され、書き込みレジスタは、前記二値化モジュールバーストから伝送された前記二値化データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたAHBプロトコルに基づくバースト書き込み命令情報を記憶するように構成され、前記読み込み・書き込みレジスタ群は、前記インターフェース制御ステートマシンから送信されたAHBプロトコルに基づくバースト命令情報に従って読み込み・書き込み操作を行い、バースト読み込み操作を行う場合、AHBバスにより解析されたバースト読み込み命令情報に従って前記読み込みレジスタによる前記画素データの読み込み又は読み出しを選択し、バースト書き込み操作を行う場合、AHBバスにより解析されたバースト書き込み命令情報に従って前記書き込みレジスタによる前記二値化データの書き込み又は書き出しを選択する。本発明の実施例では、1回のバースト伝送長さは16個のデータであり、前記画像メモリ内の前記画素データが16個未満で8個よりも多い場合、読み込み・書き込みレジスタ群は、バースト伝送長さを8個に設定してバースト読み込みを行い、前記画像メモリ内の前記画素データが8個未満で4個よりも多い場合、読み込み・書き込みレジスタ群は、バースト伝送長さを4個に設定してバースト読み込みを行い、前記画像メモリ内の前記画素データが4個未満で2個よりも多い場合、読み込み・書き込みレジスタ群は、バースト伝送長さを2個に設定してバースト読み込みを行い、前記画像メモリ内の前記画素データが2個未満である場合、読み込み・書き込みレジスタ群は、バースト伝送長さを1個に設定して読み出しを1回行う。したがって、前記アクセラレーション制御システムでは、前記バースト読み込みステートマシン及びバースト書き込みステートマシンの両方は、burstl6、burst8、burst4及びburst2の伝送をサポートする。
【0030】
本発明の一実施例として、前記アクセラレーション制御システムでは、割り込みレジスタがさらに配置されており、前記画像メモリからAHBバスへ前記画素データがバースト伝送され始めると、割り込みレジスタは、CPUから送信された割り込み信号を受信し、前記マスター制御モジュールは割り込みを有効化し、前記画像メモリに記憶された画像のすべての画素データの二値化処理が完了すると、割り込みレジスタは、前記画像メモリにおける対応するアドレスユニットから前記二値化データを抽出する旨をCPUに通知し、CPUの制御下で、ソフトウェア処理を行う。CPUが読み込み・書き込み演算制御を直接制御する場合に比べて、多数の応答及び要求を減らし、前記ハードウェアアクセラレーション回路によるこのプロセスの処理効率をより高める。
【0031】
本発明の実施例では、4個のステートマシンは、入力された前記画素データの二値化処理及び処理して得られた前記二値化データの制御に用いられる。そのうち、前記マスターステートマシンは、前記バースト読み込みステートマシン、前記バースト書き込みステートマシン、及び前記インターフェース制御ステートマシンの変換過程を制御し、AHBバスを介して前記インターフェース制御ステートマシンと前記画像メモリとのデータ交換及び制御命令伝送を行い、状態変換過程に亘って、CPUはデータアクセスアドレス及び演算結果を受信する割り込み通知を予め設定するだけでよく、データ交換を行うにはCPUによる他の干渉を必要としない。
【0032】
チップであって、画像二値化アルゴリズムの加速エンジンとして前記画像画素データの二値化処理を加速し、画像処理システムのデータスループット及び二値化アルゴリズムの演算速度を向上させる前記アクセラレーション制御システムを、内部構造として含む画像処理チップである。
【0033】
ロボットであって、モバイルビジョンロボットのカメラによって収集された画像データの処理を加速する前記画像処理チップが内蔵されているモバイルビジョンロボットである。
【0034】
以上に記載の装置の実施形態は例示的なものに過ぎず、分離部品として説明する前記ユニットは、物理的に分離してもしなくてもよく、ユニットとして示される部品は、物理ユニットであってもよく、物理ユニットでなくてもよく、つまり、1つの場所に配置されてもよく、複数のネットワークユニットに分散してもよい。実際のニーズに応じてそのモジュールの一部又は全部によって本実施形態の技術案の目的を達成することができる。当業者は、創造的な努力を必要とせずに理解して実施することができる。