(57)【要約】  ＡＨＢバスを介して外部の画像メモリを読み込み・書き込みする、二値化アルゴリズムに基づくアクセラレーション制御システム、チップ及びロボットであって、マスター制御モジュール、二値化モジュール、及び二値化ＦＩＦＯモジュールを含み、マスター制御モジュールは、マスターステートマシンがバースト読み込みモード状態である場合、ＡＨＢバスを制御して画像メモリ内の処理対象の画素データを読み出させ、ＡＨＢバス内の現在の画素データを制御して二値化モジュール処理にバースト伝送させるとともに、二値化ＦＩＦＯモジュールを制御して、二値化モジュールにおける直前にバースト伝送された画素データを処理して得られた二値化データを読み出させる。これにより、組立ラインのような作動方式で二値化処理速度を加速し、画像メモリに記憶されたすべての画素データが処理されると、ＣＰＵへの送信の割り込みを通知するように構成される。  【選択図】図１
2021536051.tif 000002
【特許請求の範囲】
【請求項１】
ＡＨＢバスを介して外部の画像メモリを読み込み・書き込みする、二値化アルゴリズムに基づくアクセラレーション制御システムであって、
マスター制御モジュール、二値化モジュール、及び二値化ＦＩＦＯモジュールをさらに含み、
二値化モジュールは、前記画像メモリ内のバースト伝送する画素データを受信及び二値化処理してから、処理して得られた二値化データを二値化ＦＩＦＯモジュールに伝送し、前記画像メモリに記憶された画像のすべての画素データの処理が完了すると、ＣＰＵに割り込み命令を送信する旨を前記アクセラレーション制御システムに通知するように構成され、
マスター制御モジュールは、マスターステートマシン、バースト読み込みステートマシン、バースト書き込みステートマシン、及びインターフェース制御ステートマシンを含み、マスターステートマシンがバースト読み込みモード状態である場合、インターフェース制御ステートマシンによってＡＨＢバスを制御して前記画像メモリ内の処理対象の画素データを読み出させ、ＡＨＢバス内の現在の画素データを制御して二値化モジュールにバースト伝送し処理させるとともに、二値化モジュールにおける、直前にバースト伝送された画素データに基づいて処理して得られた二値化データを読み出すように、二値化ＦＩＦＯモジュールをバースト読み込みステートマシンによって制御することによって、前記アクセラレーション制御システムがマスターステートマシンの制御下で、組立ラインの作動方式で二値化処理速度を加速させるように構成され、
マスター制御モジュールは、さらに、マスターステートマシンがバースト書き込みモード状態である場合、バースト書き込みステートマシンによって二値化ＦＩＦＯモジュールに保存された二値化データをＡＨＢバス内に書き込むとともに、インターフェース制御ステートマシンによってＡＨＢバス内の二値化データを制御して前記画像メモリに書き戻させるように構成される、ことを特徴とする二値化アルゴリズムに基づくアクセラレーション制御システム。
【請求項２】
前記マスターステートマシンは、バースト読み込みモード状態で、前記バースト読み込みステートマシンを初期状態からバースト読み込み作動状態に入るようにアクティブ化し、ＡＨＢバスを介して前記画像メモリ内の１つのバースト伝送長さ分の前記画素データをバースト読み込みし、ＡＨＢバス内の前記画素データを制御して前記二値化モジュールにバースト伝送させるとともに、前記二値化モジュールにおいて処理して得られた前記二値化データをバースト読み込みするように前記二値化ＦＩＦＯモジュールを前記バースト読み込みステートマシンによって制御し、１つのバースト伝送長さ分の前記二値化データが前記二値化ＦＩＦＯモジュールに完全に保存されるまで、前記インターフェース制御ステートマシンによって、ＡＨＢバス内でバースト読み込みされた次のバースト伝送長さ分の前記画素データを制御して前記二値化モジュールにバースト伝送し処理させ、１つのバースト伝送長さ分の前記二値化データが前記二値化ＦＩＦＯモジュールに完全に保存されると、バースト読み込みモードウェイト状態に入るように構成され、
前記マスターステートマシンは、バースト読み込みモードウェイト状態で、ＡＨＢバスが前記二値化ＦＩＦＯモジュールにバースト書き込みできるまでウェイトし、当該状態が１クロックサイクルだけ持続されると、バースト読み込みモードウェイト状態からバースト書き込みモード状態に切り替わるように構成され、
前記マスターステートマシンは、バースト書き込みモード状態で、前記バースト書き込みステートマシンを初期状態からバースト書き込み作動状態に入るようにアクティブ化し、１つのバースト伝送長さ分の前記二値化データを制御して前記二値化ＦＩＦＯモジュールからＡＨＢバスにバースト書き出しさせるとともに、インターフェース制御ステートマシンによってＡＨＢバス内の１つのバースト伝送長さ分の前記二値化データを制御して前記画像メモリに書き戻させ、１つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込むまで、前記バースト書き込みステートマシンによって前記二値化ＦＩＦＯモジュール内の次のバースト伝送長さ分の前記二値化データを制御してＡＨＢバスにバースト伝送させ、１つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれると、バースト書き込みモード状態からバースト書き込みモードウェイト状態に入るように構成され、
前記マスターステートマシンは、バースト書き込みモードウェイト状態で、前記二値化ＦＩＦＯモジュール内の前記二値化データの数に基づいて前記画像メモリのすべての前記画素データの二値化処理が完了したか否かを判断し、そうであれば、バースト書き込みモードウェイト状態から終了状態に入り、そうでなければ、バースト読み込みモード状態に入るように構成され、
前記二値化ＦＩＦＯモジュールの深さが前記バースト伝送長さに等しく、前記バースト伝送長さは、毎回バースト伝送するデータの数であり、バースト読み込みモード状態とバースト書き込みモード状態とでは等しい、ことを特徴とする請求項１に記載のアクセラレーション制御システム。
【請求項３】
前記バースト読み込みステートマシンは、前記バースト読み込み作動状態で、前記画像メモリ内の１つのバースト伝送長さ分の前記画素データを前記二値化モジュールに完全にバースト読み込みさせるとともに、前記二値化モジュールにおいてバースト伝送された前記画素データを二値化処理し、それに応じて、処理して得られた前記二値化データを前記二値化ＦＩＦＯモジュールに伝送し、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化ＦＩＦＯモジュールに伝送され始めると、バースト読み込み完了状態に入るように構成され、
前記バースト読み込みステートマシンは、バースト読み込み完了状態で、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化ＦＩＦＯモジュールに伝送されている場合、バースト読み込みウェイト状態に入り、前記インターフェース準備信号が高レベルになって前記初期状態に戻るまでウェイトするように構成され、
前記バースト書き込みステートマシンは、前記バースト書き込み作動状態で、１つのバースト伝送長さ分の前記二値化データがＡＨＢバスにバースト書き戻しするように前記二値化ＦＩＦＯモジュールを制御するとともに、前記二値化データを制御してＡＨＢバスから前記画像メモリ内に伝送し書き込ませ、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリに伝送されて書き込まれ始めると、バースト書き込み完了状態に入るように構成され、
前記バースト書き込みステートマシンは、バースト書き込み完了状態で、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリにバースト書き戻しされている場合、バースト書き込みウェイト状態に入り、前記インターフェース準備信号が高レベルになって前記初期状態に戻るまでウェイトするように構成される、ことを特徴とする請求項２に記載のアクセラレーション制御システム。
【請求項４】
前記インターフェース制御ステートマシンは、初期状態で伝送をウェイトし、前記バースト読み込みステートマシンが前記バースト読み込み作動状態に入るか、又は前記バースト書き込みステートマシンが前記バースト書き込み作動状態に入り、且つ前記画像メモリが前記インターフェース準備信号によってバースト読み込み／書き込み準備をするように指示する場合、非連続伝送状態に入るように構成され、
前記インターフェース制御ステートマシンは、非連続伝送状態で、前記バースト読み込みステートマシンが前記バースト読み込み作動状態で１つのバースト伝送長さ分の前記二値化データを前記二値化ＦＩＦＯモジュールに完全にバースト読み込みさせていないか、又は、前記バースト書き込みステートマシンが前記バースト書き込み作動状態でＡＨＢバスを間接的に制御して、１つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせていない場合、連続伝送状態に入るように構成され、
前記インターフェース制御ステートマシンは、非連続伝送状態で、前記バースト読み込みステートマシンが前記バースト読み込み作動状態で１つのバースト伝送長さ分の前記二値化データを前記二値化ＦＩＦＯモジュールに完全にバースト読み込みさせるか、又は、前記バースト書き込みステートマシンが前記バースト書き込み作動状態でＡＨＢバスを間接的に制御して１つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせる場合、前記初期状態に入るように構成され、
前記インターフェース制御ステートマシンは、前記連続伝送状態で、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化ＦＩＦＯモジュールにバースト読み込みされているか、又は、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリ内にバースト書き込みされている場合、前記初期状態に入るように構成される、ことを特徴とする請求項１〜請求項３のいずれか１項に記載のアクセラレーション制御システム。
【請求項５】
ＡＨＢバスがバースト伝送するための読み込み・書き込みレジスタ群が配置されており、
読み込みレジスタは、前記画像メモリからバースト伝送された前記画素データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたＡＨＢプロトコルのバースト読み込み命令情報を記憶するように構成され、
書き込みレジスタは、前記二値化モジュールからバースト伝送された前記二値化データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたＡＨＢプロトコルのバースト書き込み命令情報を記憶するように構成され、
前記読み込み・書き込みレジスタ群は、前記インターフェース制御ステートマシンから送信されたＡＨＢプロトコルに基づくバースト命令情報に従って読み込み・書き込み操作を行い、バースト読み込み操作を行う場合、ＡＨＢバスにより解析されたバースト読み込み命令情報に従って、前記読み込みレジスタによる前記画素データの読み込み又は読み出しを選択し、バースト書き込み操作を行う場合、ＡＨＢバスにより解析されたバースト書き込み命令情報に従って、前記書き込みレジスタによる前記二値化データの書き込み又は書き出しを選択する、ことを特徴とする請求項１に記載のアクセラレーション制御システム。
【請求項６】
前記画像メモリに記憶された画像のすべての画素データの二値化処理が完了すると、前記画像メモリにおける対応するアドレスユニットから前記二値化データを抽出する旨をＣＰＵに通知してから、ソフトウェア処理を行うように構成された割り込みレジスタがさらに配置されている、ことを特徴とする請求項１に記載のアクセラレーション制御システム。
【請求項７】
前記画素データの二値化処理を加速する請求項１〜請求項６のいずれか１項に記載のアクセラレーション制御システムを内部構造として含む画像処理チップである、ことを特徴とするチップ。
【請求項８】
請求項７に記載の画像処理チップが内蔵されているモバイルビジョンロボットである、ことを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェアアクセラレータの分野に関し、具体的には、二値化アルゴリズムに基づくアクセラレーション制御システム、チップ及びロボットに関する。
【背景技術】
【０００２】
現在、掃除ロボットは、ＶＳＬＡＭによる地図の作成及び測位を行う際に、取得した画像データを、ソフトウェアに用いる前に前処理する必要がある。前処理のうち、二値化演算と呼ばれる処理アルゴリズムがある。二値化演算は、画像をグレースケール図に変換してエッジ効果を強化させる画像処理方式の１つとして、画像処理に広く適用されている。ソフトウェアは、画像を二値化演算処理する際、画像データに読み出し、処理及び書き戻しの動作を行う必要がある。従来技術におけるオンチップシステムでは、ＣＰＵがアクセス命令を送信し、ＡＨＢバスを介してメモリを含むスペースを検索し、メモリにアクセスする。アクセスに成功すると、メモリはＡＨＢバスに成功応答信号を送信するとともに、他のＣＰＵに該当ＣＰＵの所望のデータを送信し、ＡＨＢバスはこれらの信号をＣＰＵに返信し、このようにして、一回の命令による操作が完了する。ＣＰＵロジックユニットは、いずれも標準タイミング又はコンビネーションコンポーネントであるため、フリップ速度が極めて高く、一方、メモリの１つの記憶ユニットは、一般的に複数のコンビナトリアルロジックを組み合わせて実現するものであるので、これらへアクセスするには、複数のクロックサイクルの分をウェイトしないと応答を取得できず、これにより、ＣＰＵの動作効率が大幅に低下する。このため、上記の画像画素に対して読み込み・書き込み、二値化処理を繰り返す過程では、ＣＰＵを通じて二値化データの処理及び伝送の実行に干渉するとソフトウェアリソースがかなり消費されてしまい、また、他のモジュールのＣＰＵ作動時間が占められてしまい、他のモジュールの作動速度に悪影響を与え、特に大量の画像を処理する場合には、ＣＰＵの作動負荷が大幅に増えてしまい、チップ全体の性能が深刻に損なわれる。
【発明の概要】
【０００３】
本発明の目的は、ＡＨＢバスを介して外部の画像メモリを読み込み・書き込みするように構成される、二値化アルゴリズムに基づくアクセラレーション制御システムであって、
マスター制御モジュール、二値化モジュール、及び二値化ＦＩＦＯモジュールをさらに含み、
二値化モジュールは、前記画像メモリ内のバースト伝送する画素データを受信及び二値化処理してから、処理して得られた二値化データを二値化ＦＩＦＯモジュールに伝送し、前記画像メモリに記憶された画像のすべての画素データの処理が完了すると、ＣＰＵに割り込み命令を送信する旨を前記アクセラレーション制御システムに通知するように構成され、
マスター制御モジュールは、マスターステートマシン、バースト読み込みステートマシン、バースト書き込みステートマシン、及びインターフェース制御ステートマシンを含み、マスターステートマシンがバースト読み込みモード状態である場合、インターフェース制御ステートマシンによってＡＨＢバスを制御して前記画像メモリ内の処理対象の画素データを読み出させ、ＡＨＢバス内の現在の画素データを制御して二値化モジュールにバースト伝送し処理させるとともに、二値化モジュールにおける、直前にバースト伝送された画素データに基づいて処理して得られた二値化データを読み出すように、二値化ＦＩＦＯモジュールをバースト読み込みステートマシンによって制御することによって、前記アクセラレーション制御システムがマスターステートマシンの制御下で、組立ラインの作動方式で二値化処理速度を加速させるように構成され、
マスター制御モジュールは、さらに、マスターステートマシンがバースト書き込みモード状態である場合、バースト書き込みステートマシンによって二値化ＦＩＦＯモジュールに保存された二値化データをＡＨＢバス内に書き込むとともに、インターフェース制御ステートマシンによってＡＨＢバス内の二値化データを制御して前記画像メモリに書き戻させるように構成されるアクセラレーション制御システムを提供する。
【０００４】
さらに、前記マスターステートマシンは、バースト読み込みモード状態で、前記バースト読み込みステートマシンを初期状態からバースト読み込み作動状態に入るようにアクティブ化し、ＡＨＢバスを介して前記画像メモリ内の１つのバースト伝送長さ分の前記画素データをバースト読み込みし、ＡＨＢバス内の前記画素データを制御して前記二値化モジュールにバースト伝送させるとともに、前記二値化モジュールにおいて処理して得られた前記二値化データをバースト読み込みするように前記二値化ＦＩＦＯモジュールを前記バースト読み込みステートマシンによって制御し、１つのバースト伝送長さ分の前記二値化データが前記二値化ＦＩＦＯモジュールに完全に保存されるまで、前記インターフェース制御ステートマシンによって、ＡＨＢバス内でバースト読み込みされた次のバースト伝送長さ分の前記画素データを制御して前記二値化モジュールにバースト伝送し処理させ、１つのバースト伝送長さ分の前記二値化データが前記二値化ＦＩＦＯモジュールに完全に保存されると、バースト読み込みモードウェイト状態に入るように構成され、
前記マスターステートマシンは、バースト読み込みモードウェイト状態で、ＡＨＢバスが前記二値化ＦＩＦＯモジュールにバースト書き込みできるまでウェイトし、当該状態が１クロックサイクルだけ持続されると、バースト読み込みモードウェイト状態からバースト書き込みモード状態に移行するように構成され、
前記マスターステートマシンは、バースト書き込みモード状態で、前記バースト書き込みステートマシンを初期状態からバースト書き込み作動状態に入るようにアクティブ化し、１つのバースト伝送長さ分の前記二値化データを制御して前記二値化ＦＩＦＯモジュールからＡＨＢバスにバースト書き出しさせるとともに、インターフェース制御ステートマシンによってＡＨＢバス内の１つのバースト伝送長さ分の前記二値化データを制御して前記画像メモリに書き戻させ、１つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれるまで、前記バースト書き込みステートマシンによって前記二値化ＦＩＦＯモジュール内の次のバースト伝送長さ分の前記二値化データを制御してＡＨＢバスにバースト伝送させ、１つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれると、バースト書き込みモード状態からバースト書き込みモードウェイト状態に入るように構成され、
前記マスターステートマシンは、バースト書き込みモードウェイト状態で、前記二値化ＦＩＦＯモジュール内の前記二値化データの数に基づいて前記画像メモリのすべての前記画素データの二値化処理が完了したか否かを判断し、そうであれば、バースト書き込みモードウェイト状態から終了状態に入り、そうでなければ、バースト読み込みモード状態に入るように構成され、
前記二値化ＦＩＦＯモジュールの深さが前記バースト伝送長さに等しく、前記バースト伝送長さは、毎回バースト伝送するデータの数であり、バースト読み込みモード状態とバースト書き込みモード状態とでは等しい。
【０００５】
さらに、前記バースト読み込みステートマシンは、前記バースト読み込み作動状態で、前記画像メモリ内の１つのバースト伝送長さ分の前記画素データを前記二値化モジュールに完全にバースト読み込みさせるとともに、前記二値化モジュールにおいてバースト伝送された前記画素データを二値化処理し、それに応じて、処理して得られた前記二値化データを前記二値化ＦＩＦＯモジュールに伝送し、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化ＦＩＦＯモジュールに伝送され始めると、バースト読み込み完了状態に入るように構成され、
前記バースト読み込みステートマシンは、バースト読み込み完了状態で、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化ＦＩＦＯモジュールに伝送されている場合、バースト読み込みウェイト状態に入り、前記インターフェース準備信号が高レベルになって前記初期状態に戻るまでウェイトするように構成され、
前記バースト書き込みステートマシンは、前記バースト書き込み作動状態で、１つのバースト伝送長さ分の前記二値化データがＡＨＢバスにバースト書き戻しするように前記二値化ＦＩＦＯモジュールを制御するとともに、前記二値化データを制御してＡＨＢバスから前記画像メモリ内に伝送し書き込ませ、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリに伝送されて書き込まれ始めると、バースト書き込み完了状態に入るように構成され、
前記バースト書き込みステートマシンは、バースト書き込み完了状態で、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリにバースト書き戻しされている場合、バースト書き込みウェイト状態に入り、前記インターフェース準備信号が高レベルになって前記初期状態に戻るまでウェイトするように構成される。
【０００６】
さらに、前記インターフェース制御ステートマシンは、初期状態で伝送をウェイトし、前記バースト読み込みステートマシンが前記バースト読み込み作動状態に入るか、又は前記バースト書き込みステートマシンが前記バースト書き込み作動状態に入り、且つ前記画像メモリが前記インターフェース準備信号によってバースト読み込み／書き込み準備をするように指示する場合、非連続伝送状態に入るように構成され、
前記インターフェース制御ステートマシンは、非連続伝送状態で、前記バースト読み込みステートマシンが前記バースト読み込み作動状態で１つのバースト伝送長さ分の前記二値化データを前記二値化ＦＩＦＯモジュールに完全にバースト読み込みさせていないか、又は、前記バースト書き込みステートマシンが前記バースト書き込み作動状態でＡＨＢバスを間接的に制御して１つのバースト伝送長さ分の前記二値化データを前記画像メモリに完全にバースト書き込みインさせていない場合、連続伝送状態に入るように構成され、
前記インターフェース制御ステートマシンは、非連続伝送状態で、前記バースト読み込みステートマシンが前記バースト読み込み作動状態で１つのバースト伝送長さ分の前記二値化データを前記二値化ＦＩＦＯモジュールに完全にバースト読み込みさせるか、又は、前記バースト書き込みステートマシンが前記バースト書き込み作動状態でＡＨＢバスを間接的に制御して１つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせる場合、前記初期状態に入るように構成され、
前記インターフェース制御ステートマシンは、前記連続伝送状態で、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化ＦＩＦＯモジュールにバースト読み込みされているか、又は、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリ内にバースト書き込みされている場合、前記初期状態に入るように構成される。
【０００７】
さらに、ＡＨＢバスがバースト伝送するための読み込み・書き込みレジスタ群が配置されており、
読み込みレジスタは、前記画像メモリからバースト伝送された前記画素データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたＡＨＢプロトコルのバースト読み込み命令情報を記憶するように構成され、
書き込みレジスタは、前記二値化モジュールからバースト伝送された前記二値化データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたＡＨＢプロトコルのバースト書き込み命令情報を記憶するように構成され、
前記読み込み・書き込みレジスタ群は、前記インターフェース制御ステートマシンから送信されたＡＨＢプロトコルに基づくバースト命令情報に従って読み込み・書き込み操作を行い、バースト読み込み操作を行う場合、ＡＨＢバスにより解析されたバースト読み込み命令情報に従って、前記読み込みレジスタによる前記画素データの読み込み又は読み出しを選択し、バースト書き込み操作を行う場合、ＡＨＢバスにより解析されたバースト書き込み命令情報に従って、前記書き込みレジスタによる前記二値化データの書き込み又は書き出しを選択する。
【０００８】
さらに、前記画像メモリに記憶された画像のすべての画素データの二値化処理が完了すると、前記画像メモリにおける対応するアドレスユニットから前記二値化データを抽出する旨をＣＰＵに通知してから、ソフトウェア処理を行うように構成された割り込みレジスタがさらに配置されている。
【０００９】
画素データの二値化処理を加速するための前記アクセラレーション制御システムを内部構造として含む画像処理チップを提供する。
【００１０】
前記画像処理チップが内蔵されているモバイルビジョンロボットを提供する。
【発明の効果】
【００１１】
本発明の実施例の有益な効果は以下の通りである。画像データの読み出し、処理及び書き出しが完全にハードウェア回路により行われ、上記画像データに対するデータ読み出し、データ演算及びデータ書き戻しがハードウェア方式で行われ、これらの操作に亘ってソフトウェアの使用が不要であり、ＣＰＵが演算開始時に情報を設定し、演算終了時に処理を割り込むだけで十分である。したがって、二値化アルゴリズムをハードウェアの方式で実現することにより、ＣＰＵが解放され、ソフトウェア効率を大幅に向上させる。
【００１２】
本発明の別の好適な特定態様は添付の独立請求項及び従属請求項に記載される。従属請求項の特徴は、請求項に明記されているような組み合わせ方式とは異なる組み合わせ方式で、独立請求項の特徴と組み合わせることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例による二値化アルゴリズムに基づくアクセラレーション制御システムフレームワークの模式図である。
【図２】本発明の実施例によるマスター制御モジュールの内部のマスターステートマシンの状態変換模式図である。
【図３】本発明の実施例によるマスター制御モジュールの内部のバースト読み込みステートマシンの状態変換模式図である。
【図４】本発明の実施例によるマスター制御モジュールの内部のバースト書き込みステートマシンの状態変換模式図である。
【図５】本発明の実施例によるマスター制御モジュールの内部のインターフェース制御ステートマシンの状態変換模式図である。
【発明を実施するための形態】
【００１４】
本発明の実施形態に係る各モジュール及びステートマシンは、いずれもロジック回路であり、実際の適用において、１つのロジック回路は１つの物理ユニットであってもよいし、１つの物理ユニットの一部であってもよいし、複数の物理ユニットの組み合わせとして実現されてもよい。なお、本発明の進歩性のある部分を強調するために、本発明の実施形態では、本発明の課題の解決にそれほど関連性のないユニットを導入していないが、本発明の実施形態に他のユニットが存在しないことを意味するのではない。
【００１５】
本発明の実施例は、二値化アルゴリズムに基づくアクセラレーション制御システムを提供し、このアクセラレーション制御システムは、ＡＨＢバスを介して外部の画像メモリを読み込み・書き込みし、画像メモリからの画素データを二値化計算処理するものである。また、このアクセラレーション制御システムは、ハードウェアアクセラレーション処理システムとして集積回路に適用され、ソフトウェア処理の場合に比べて、画像処理速度を加速し、ＣＰＵ帯域幅を節約し、ソフトウェアリソースの消費を減らすことができる。上記のアクセラレーション制御システムは、マスター制御モジュール、二値化モジュール、二値化ＦＩＦＯモジュール、及びこれらのモジュールを担持するＡＨＢバスをさらに含む。なお、前記アクセラレーション制御システムの場合、ＡＨＢバスに基づくインターフェースタイミングがＡＭＢ  ＡＨＢプロトコルに合致すべきである。
【００１６】
前記アクセラレーション制御システムが前記画素データの読み込み・書き込み及び二値化処理を行うに先立って、ＣＰＵで前記画像メモリに記憶された１つの画像のアドレス及び画素解像度の大きさを予め設定する必要があり、画素の大きさの範囲が、最小１×１、最大１０２４×１０２４であり、マトリックスとして記憶媒体に保存されている。本発明の実施例では、前記画像メモリはＳＯＣチップ上のＳＲＡＭ又はＳＯＣチップ外部のＤＤＲである。また、ＣＰＵは、二値化の処理モード、及び二値化結果の前記画像メモリ内の保存先のアドレスを設定する。前記アクセラレーション制御システムにより指定されるバースト伝送長さは、毎回バースト伝送されるデータの数であり、本発明の実施例では、１６に設定されている。ただし、前記画像メモリ内の実際の処理対象の画素データによって、バースト伝送長さを８、４、２又は１に設置する場合もあり、さらに、バースト読み込みモード状態とバースト書き込みモード状態とでは等しく、それに応じて、前記二値化ＦＩＦＯモジュールの深さは１６となる。
【００１７】
本発明の実施例として、図１に示すように、前記二値化モジュールは、二値化ロジック回路及びレジスタを含み、前記二値化モジュールは、前記マスター制御モジュールの制御下で、ＡＨＢバスを介して前記画像メモリからの画素データをバースト読み込みして二値化ロジック回路に伝送し、二値化ロジック回路において、前記画像メモリからバースト伝送される画素データが二値化処理され、つまり、二値化ロジック回路に予め設定された閾値と比較することで、対応する二値化データが得られてから、レジスタを介して前記二値化ＦＩＦＯモジュールに伝送され、前記画像メモリに記憶された画像のすべての画素データの処理が完了すると、ＣＰＵに割り込み命令を送信する旨が前記アクセラレーション制御システムに通知される。
【００１８】
本発明の実施例では、前記マスター制御モジュールにおいて、マスターステートマシン、バースト読み込みステートマシン、バースト書き込みステートマシン、及びインターフェース制御ステートマシンの合計４つのステートマシンが設計されている。前記マスター制御モジュールは、マスターステートマシンの制御下で、前記画像メモリ内の前記画素データを読み出して二値化処理するとともに、前記二値化データを前記画像メモリに書き戻すように制御される。具体的には、ＣＰＵは、割り込み有効化命令を送信して、スタートフラグｓｔａｒｔに１を設定し、マスターステートマシンは、初期状態ＩＤＬＥからバースト読み込みモード状態ＢＲＤ＿ＳＴに移行する。マスターステートマシンがバースト読み込みモード状態ＢＲＤ＿ＳＴである場合、前記マスター制御モジュールは、インターフェース制御ステートマシンのＡＨＢ解析命令を通じてＡＨＢバスを制御して前記画像メモリ内の処理対象の画素データを読み出させ、ＡＨＢバス内の現在の画素データを制御して前記二値化モジュールにバースト伝送して処理し、一方、バースト読み込みステートマシンは、読み込み制御信号Ｂ＿Ｒを前記二値化ＦＩＦＯモジュールに送信することによって、二値化モジュールにおける、直前にバースト伝送された画素データに基づいて処理して得られた前記二値化データを読み出すように、前記二値化ＦＩＦＯモジュールを制御する。よって、前記アクセラレーション制御システムは、複数の前記バースト伝送長さの前記画素データを同時に読み出して処理し、組立ラインのような動作構造となり、二値化処理を加速する。ウェイト状態が１つのクロックサイクルだけ持続されると、マスターステートマシンはバースト書き込みモード状態ＢＷＲ＿ＳＴに移行する。バースト書き込みモード状態ＢＷＲ＿ＳＴでは、バースト書き込みステートマシンは、書き込み制御信号Ｂ＿Ｗを前記二値化ＦＩＦＯモジュールに送信し、これにより、前記二値化ＦＩＦＯモジュールに保存された前記二値化データがＡＨＢバス内に書き込むように制御されるとともに、前記インターフェース制御ステートマシンによって、ＡＨＢバス内の前記二値化データが前記画像メモリに書き戻されるように制御される。よって、前記二値化データの読み込み・書き込みを加速する。
【００１９】
具体的には、前記マスター制御モジュールでは、マスター制御モジュールに含まれるステートマシンアクセスには、アクセス要求、アクセス応答、アクセス終了という三段構造アクセスモードが使用される。ステートマシンアクセスには先着順の原則が採用され、一旦占められると他のアクセスがブロックされてしまう。前記マスターステートマシンは他の３つのステートマシンを制御しているので、アクセス要求は前記マスターステートマシンにより送信されることになり、３つのうちの１つのステートマシンによりアクセス要求を検出し、且つ当該ステートマシンがアクセス初期状態である場合、アクセス応答を行い、前記マスターステートマシンによりアクセス応答ハンドシェイク信号が検出されると、上記ステートマシンは自体の状態を対応する状態に入るようにアクティブ化し、自分の状態の占めるバースト伝送クロックサイクルに従って、アクセス終了命令を前記マスターステートマシンに送る。前記マスターステートマシンは、アクセス終了を検出すると、今回のアクセスを終了し、次の状態に入り、次のステートマシンにアクセスし、例えば、バースト読み込みモード状態でバースト読み込みステートマシンをアクティブ化する操作から、バースト書き込みモード状態でバースト書き込みステートマシンをアクティブ化する操作へ切り替わる。
【００２０】
本発明の実施例として、図１及び図２に示すように、スタートフラグｓｔａｒｔに１を設定すると、前記マスターステートマシンは、初期状態ＩＤＬＥからバースト読み込みモード状態ＢＲＤ＿ＳＴに移行し、バースト読み込みモード状態ＢＲＤ＿ＳＴでは、前記マスターステートマシンは、前記バースト読み込みステートマシンを初期状態ＩＤＬＥ１からバースト読み込み作動状態ＢＳＴ＿ＲＤに入るようにアクティブ化する。前記マスターステートマシンは、ＡＨＢバスを介して前記画像メモリ内の１つのバースト伝送長さ分の前記画素データを前記二値化モジュールにバースト読み込みし、それと同時に、前記マスターステートマシンは、バースト読み込みステートマシンを制御して制御読み込み信号Ｂ＿Ｒを送信させ、これにより、前記二値化ＦＩＦＯモジュールは、前記二値化モジュールで処理して得られた１つのバースト伝送長さ分の前記二値化データをバースト読み込みして保存する。ここで、バースト伝送長さは、１回に１６個のデータをバースト伝送することを意味し、バースト伝送長さの前記二値化データは、前記二値化モジュールにおける、直前にバースト伝送された画素データに基づいて処理して得られた二値化データである。１つのバースト伝送長さ分の前記二値化データが前記二値化ＦＩＦＯモジュールに完全に保存されるまで、前記マスターステートマシンは、前記インターフェース制御ステートマシンによって、前記画像メモリからバースト読み込みするＡＨＢバス内の次のバースト伝送長さ分の前記画素データを制御して前記二値化モジュールにバースト伝送して処理させ、１つのバースト伝送長さ分の前記二値化データが前記二値化ＦＩＦＯモジュールに完全に保存されると、前記マスターステートマシンは、バースト読み込みモード状態ＢＲＤ＿ＳＴからバースト読み込みモードウェイト状態ＢＲＤ＿ＷＡＩＴに入る。具体的には、前記二値化ＦＩＦＯモジュールの深さは前記バースト伝送長さに等しい。
【００２１】
バースト読み込みモードウェイト状態ＢＲＤ＿ＷＡＩＴでは、前記マスターステートマシンは、ＡＨＢバスが前記二値化ＦＩＦＯモジュールにバースト書き込みできる準備が完了するまでウェイトし、前記マスターステートマシンは、この状態下では、ＡＨＢバスを伝送を実行するように制御することを行わず、そのまま１クロックサイクルだけ持続し、前記インターフェース準備信号が高レベルになると、ＡＨＢバスがバースト書き込みできるようになったことを示し、そして、バースト読み込みモードウェイト状態ＢＲＤ＿ＷＡＩＴからバースト書き込みモード状態ＢＷＲ＿ＳＴに移行する。
【００２２】
バースト書き込みモード状態ＢＷＲ＿ＳＴでは、前記マスターステートマシンは、前記バースト書き込みステートマシンを初期状態ＩＤＬＥ２からバースト書き込み作動状態ＢＳＴ＿ＷＲに入るようにアクティブ化し、１つのバースト伝送長さ分の前記二値化データを制御して前記二値化ＦＩＦＯモジュールからＡＨＢバスにバースト書き戻しさせるとともに、インターフェース制御ステートマシンによって、ＡＨＢバスに記憶された１つのバースト伝送長さ分の前記二値化データを制御して前記画像メモリに書き戻す。ここで、バースト伝送長さは、１回に１６個のデータをバースト伝送することを意味する。１つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれるまで、前記マスターステートマシンは、前記バースト書き込みステートマシンを制御して制御書き込み信号Ｂ＿Ｗを送信させ、これにより、前記二値化ＦＩＦＯモジュール内の次のバースト伝送長さ分の前記二値化データはＡＨＢバスにバースト伝送され、１つのバースト伝送長さ分の前記二値化データが前記画像メモリ内に完全に書き込まれると、前記マスターステートマシンはバースト書き込みモード状態ＢＷＲ＿ＳＴからバースト書き込みモードウェイト状態ＢＷＲ＿ＷＡＩＴに入る。
【００２３】
バースト書き込みモードウェイト状態ＢＷＲ＿ＷＡＩＴでは、前記マスターステートマシンは、前記二値化ＦＩＦＯモジュールにおいて前記画素データを処理して得られた前記二値化データの数に基づいて、前記二値化ＦＩＦＯモジュール内の前記二値化データの数が、前記画像メモリのすべての前記画素データの数に等しいか否かを判断し、等しい場合、前記画像メモリのすべての前記画素データを処理し、バースト書き込みモードウェイト状態ＢＷＲ＿ＷＡＩＴから終了状態ＦＳＭ＿ＦＩＮＩＳＨに入る。
【００２４】
本発明の一実施例として、前記マスターステートマシンがバースト読み込みモード状態ＢＲＤ＿ＳＴであり、且つ前記インターフェース準備信号が高レベルになった場合、図３に示すように、前記バースト読み込みステートマシンは、初期状態ＩＤＬＥ１からバースト読み込み作動状態ＢＳＴ＿ＲＤに移行する。バースト読み込み作動状態ＢＳＴ＿ＲＤでは、前記バースト読み込みステートマシンは、前記インターフェース制御ステートマシンを制御してＡＨＢバスへＡＨＢプロトコルに基づくバースト読み込み命令を送信させ、これにより、前記画像メモリ内の１つのバースト伝送長さ分の前記画素データを前記二値化モジュールに完全にバースト伝送させるとともに、前記二値化モジュールにおいて伝送された１つのバースト伝送長さ分の前記画素データの各々を、予め設定された閾値と比較することで、対応する１つのバースト伝送長さ分の前記二値化データが得られ、１つのバースト伝送長さ分の前記二値化データを前記二値化ＦＩＦＯモジュールに伝送させ、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化ＦＩＦＯモジュールに伝送され始め、バースト読み込み完了状態ＤＯＮＥ１に入ると、前記バースト読み込みステートマシンは、バースト読み込み完了状態ＤＯＮＥ１に入る。バースト読み込み完了状態ＤＯＮＥ１では、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化ＦＩＦＯモジュールに伝送されると、前記バースト読み込みステートマシンはバースト読み込みウェイト状態ＢＷＡＩＴ１に入り、前記インターフェース準備信号が高レベルになって初期状態ＩＤＬＥ１に戻るまでウェイトする。
【００２５】
本発明の一実施例として、前記マスターステートマシンがバースト書き込みモード状態ＢＷＲ＿ＳＴであり、且つ前記インターフェース準備信号が高レベルになった場合、図４に示すように、前記バースト書き込みステートマシンは、初期状態ＩＤＬＥ２からバースト書き込み作動状態ＢＳＴ＿ＷＲに移行する。バースト書き込み作動状態ＢＳＴ＿ＷＲでは、前記バースト書き込みステートマシンは、制御信号を前記二値化ＦＩＦＯモジュールに送信することで、前記二値化ＦＩＦＯモジュールが１つのバースト伝送長さ分の前記二値化データをＡＨＢバスに完全にバースト書き戻しさせるとともに、前記バースト読み込みステートマシンが前記インターフェース制御ステートマシンを制御してＡＨＢバスへＡＨＢプロトコルに基づくバースト書き込み命令を送信させるようにし、これにより、前記二値化データはＡＨＢバスから前記画像メモリ内にバースト書き込みされ、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリに伝送されて書き込まれ始めると、前記バースト書き込みステートマシンはバースト書き込み完了状態ＤＯＮＥ２に入る。バースト書き込み完了状態ＤＯＮＥ２では、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリ内に書き込まれると、前記バースト書き込みステートマシンはバースト書き込みウェイト状態ＢＷＡＩＴ２に入り、前記インターフェース準備信号が高レベルになって初期状態ＩＤＬＥ２に戻るまでウェイトする。
【００２６】
本発明の一実施例として、図５に示すように、前記インターフェース制御ステートマシンは、前記バースト読み込みステートマシン及び前記バースト書き込みステートマシンの作動状態に応じて、その状態の移行（切り替え）条件を決定する。初期状態ＩＤＬＥ３では、前記インターフェース制御ステートマシンは前記画素データのバースト伝送をウェイトする。前記バースト読み込みステートマシンがバースト読み込み作動状態ＢＳＴ＿ＲＤに入るか、又は、前記バースト書き込みステートマシンがバースト書き込み作動状態ＢＳＴ＿ＷＲに入り、且つ前記画像メモリが前記インターフェース準備信号によってバースト読み込み／書き込み準備を行うように指示する場合、前記インターフェース制御ステートマシンは初期状態ＩＤＬＥ３から非連続伝送状態ＮＳＥＱに入る。
【００２７】
非連続伝送状態ＮＳＥＱでは、前記インターフェース準備信号は高レベルになり、前記バースト読み込みステートマシンがバースト読み込み作動状態ＢＳＴ＿ＲＤで１つのバースト伝送長さ分の前記二値化データを前記二値化ＦＩＦＯモジュールに完全にバースト読み込みさせていないか、又は、前記バースト書き込みステートマシンがバースト書き込み作動状態ＢＳＴ＿ＷＲで、前記マスターステートマシンを通じてＡＨＢバスを間接的に制御し、１つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせていない場合、前記インターフェース制御ステートマシンは非連続伝送状態ＮＳＥＱから連続伝送状態ＳＥＱＱに入り、前記バースト読み込みステートマシン及び前記バースト書き込みステートマシンの制御下で、前記画素データと前記二値化データとの間のバースト伝送を行い、また、前記バースト読み込みステートマシンがバースト読み込み作動状態ＢＳＴ＿ＲＤで１つのバースト伝送長さ分の前記二値化データを前記二値化ＦＩＦＯモジュールに完全にバースト読み込みさせるか、又は、前記バースト書き込みステートマシンがバースト書き込み作動状態ＢＳＴ＿ＷＲで、前記マスターステートマシンを通じてＡＨＢバスを間接的に制御し、１つのバースト伝送長さ分の前記二値化データを前記画像メモリ内に完全にバースト書き込みさせる場合、前記インターフェース制御ステートマシンは非連続伝送状態ＮＳＥＱから初期状態ＩＤＬＥ３に入り、これは、１回の伝送操作である。ただし、非連続伝送状態ＮＳＥＱでは、前記インターフェース準備信号が高レベルになっていない場合、前記インターフェース制御ステートマシンは非連続伝送状態ＮＳＥＱのままである。
【００２８】
連続伝送状態ＳＥＱＱでは、前記インターフェース準備信号が高レベルになると、前記バースト読み込みステートマシンにより制御されて、１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記二値化ＦＩＦＯモジュールにバースト読み込みされているか、又は、前記バースト書き込みステートマシンが前記マスターステートマシンを通じて前記インターフェース制御ステートマシンへＡＨＢプロトコルに基づくバースト書き込み命令を送信し、ＡＨＢバスを制御して１つのバースト伝送長さ分の前記二値化データのうちの最後のデータが前記画像メモリ内に完全にバースト書き込みされている場合、前記インターフェース制御ステートマシンは連続伝送状態ＳＥＱＱから初期状態ＩＤＬＥ３に入り、また、前記インターフェース準備信号が高レベルになっていないか、又は、前記インターフェース準備信号が高レベルになったが、上記の１つのバースト伝送長さ分の前記二値化データが連続伝送状態ＳＥＱＱでバースト読み込み・書き込み操作を完了していない場合、前記インターフェース制御ステートマシンは連続伝送状態ＳＥＱＱのままである。
【００２９】
本発明の一実施例として、前記アクセラレーション制御システムには、ＡＨＢバスがバースト伝送するための読み込み・書き込みレジスタ群が配置されており、読み込みレジスタは、前記画像メモリがバースト読み込み操作により伝送された前記画素データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたＡＨＢプロトコルに基づくバースト読み込み命令情報を記憶するように構成され、書き込みレジスタは、前記二値化モジュールバーストから伝送された前記二値化データ、対応するバースト伝送長さ情報、及び前記インターフェース制御ステートマシンから送信されたＡＨＢプロトコルに基づくバースト書き込み命令情報を記憶するように構成され、前記読み込み・書き込みレジスタ群は、前記インターフェース制御ステートマシンから送信されたＡＨＢプロトコルに基づくバースト命令情報に従って読み込み・書き込み操作を行い、バースト読み込み操作を行う場合、ＡＨＢバスにより解析されたバースト読み込み命令情報に従って前記読み込みレジスタによる前記画素データの読み込み又は読み出しを選択し、バースト書き込み操作を行う場合、ＡＨＢバスにより解析されたバースト書き込み命令情報に従って前記書き込みレジスタによる前記二値化データの書き込み又は書き出しを選択する。本発明の実施例では、１回のバースト伝送長さは１６個のデータであり、前記画像メモリ内の前記画素データが１６個未満で８個よりも多い場合、読み込み・書き込みレジスタ群は、バースト伝送長さを８個に設定してバースト読み込みを行い、前記画像メモリ内の前記画素データが８個未満で４個よりも多い場合、読み込み・書き込みレジスタ群は、バースト伝送長さを４個に設定してバースト読み込みを行い、前記画像メモリ内の前記画素データが４個未満で２個よりも多い場合、読み込み・書き込みレジスタ群は、バースト伝送長さを２個に設定してバースト読み込みを行い、前記画像メモリ内の前記画素データが２個未満である場合、読み込み・書き込みレジスタ群は、バースト伝送長さを１個に設定して読み出しを１回行う。したがって、前記アクセラレーション制御システムでは、前記バースト読み込みステートマシン及びバースト書き込みステートマシンの両方は、ｂｕｒｓｔｌ６、ｂｕｒｓｔ８、ｂｕｒｓｔ４及びｂｕｒｓｔ２の伝送をサポートする。
【００３０】
本発明の一実施例として、前記アクセラレーション制御システムでは、割り込みレジスタがさらに配置されており、前記画像メモリからＡＨＢバスへ前記画素データがバースト伝送され始めると、割り込みレジスタは、ＣＰＵから送信された割り込み信号を受信し、前記マスター制御モジュールは割り込みを有効化し、前記画像メモリに記憶された画像のすべての画素データの二値化処理が完了すると、割り込みレジスタは、前記画像メモリにおける対応するアドレスユニットから前記二値化データを抽出する旨をＣＰＵに通知し、ＣＰＵの制御下で、ソフトウェア処理を行う。ＣＰＵが読み込み・書き込み演算制御を直接制御する場合に比べて、多数の応答及び要求を減らし、前記ハードウェアアクセラレーション回路によるこのプロセスの処理効率をより高める。
【００３１】
本発明の実施例では、４個のステートマシンは、入力された前記画素データの二値化処理及び処理して得られた前記二値化データの制御に用いられる。そのうち、前記マスターステートマシンは、前記バースト読み込みステートマシン、前記バースト書き込みステートマシン、及び前記インターフェース制御ステートマシンの変換過程を制御し、ＡＨＢバスを介して前記インターフェース制御ステートマシンと前記画像メモリとのデータ交換及び制御命令伝送を行い、状態変換過程に亘って、ＣＰＵはデータアクセスアドレス及び演算結果を受信する割り込み通知を予め設定するだけでよく、データ交換を行うにはＣＰＵによる他の干渉を必要としない。
【００３２】
チップであって、画像二値化アルゴリズムの加速エンジンとして前記画像画素データの二値化処理を加速し、画像処理システムのデータスループット及び二値化アルゴリズムの演算速度を向上させる前記アクセラレーション制御システムを、内部構造として含む画像処理チップである。
【００３３】
ロボットであって、モバイルビジョンロボットのカメラによって収集された画像データの処理を加速する前記画像処理チップが内蔵されているモバイルビジョンロボットである。
【００３４】
以上に記載の装置の実施形態は例示的なものに過ぎず、分離部品として説明する前記ユニットは、物理的に分離してもしなくてもよく、ユニットとして示される部品は、物理ユニットであってもよく、物理ユニットでなくてもよく、つまり、１つの場所に配置されてもよく、複数のネットワークユニットに分散してもよい。実際のニーズに応じてそのモジュールの一部又は全部によって本実施形態の技術案の目的を達成することができる。当業者は、創造的な努力を必要とせずに理解して実施することができる。
【図１】
2021536051.tif 000003
【図２】
2021536051.tif 000004
【図３】
2021536051.tif 000005
【図４】
2021536051.tif 000006
【図５】
2021536051.tif 000007
【国際調査報告】
2021536051.tif 000008
2021536051.tif 000009
2021536051.tif 000010
2021536051.tif 000011