JP2012043476A - 画像処理装置及びその制御方法 - Google Patents
画像処理装置及びその制御方法 Download PDFInfo
- Publication number
- JP2012043476A JP2012043476A JP2011260981A JP2011260981A JP2012043476A JP 2012043476 A JP2012043476 A JP 2012043476A JP 2011260981 A JP2011260981 A JP 2011260981A JP 2011260981 A JP2011260981 A JP 2011260981A JP 2012043476 A JP2012043476 A JP 2012043476A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- command
- address space
- image data
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Image Input (AREA)
Abstract
【課題】ダイレクトメモリアクセスを用いてメモリから画像処理モジュールへデータを転送するにおいて、メモリに要求される容量と転送帯域を小さくする。
【解決手段】
画像処理装置は、自身に設定された設定値に応じて画像データを処理する複数の画像処理部を有する。画像処理装置は、この画像処理部で処理される画像データおよび当該画像データの処理に用いる設定値を第1のアドレス空間に格納し、ダイレクトメモリアクセスにより、第1のアドレス空間から読み出した設定値および画像データのそれぞれを画像処理部に伝達するためのヘッダ情報と対応づけてコマンドとして画像処理部へ転送する。また、画像処理装置は、画像処理部から出力された処理済のコマンドからその画像処理部によって処理された画像データを抽出し、抽出した画像データをダイレクトメモリアクセスにより第2のアドレス空間へ転送する。
【選択図】 図1
【解決手段】
画像処理装置は、自身に設定された設定値に応じて画像データを処理する複数の画像処理部を有する。画像処理装置は、この画像処理部で処理される画像データおよび当該画像データの処理に用いる設定値を第1のアドレス空間に格納し、ダイレクトメモリアクセスにより、第1のアドレス空間から読み出した設定値および画像データのそれぞれを画像処理部に伝達するためのヘッダ情報と対応づけてコマンドとして画像処理部へ転送する。また、画像処理装置は、画像処理部から出力された処理済のコマンドからその画像処理部によって処理された画像データを抽出し、抽出した画像データをダイレクトメモリアクセスにより第2のアドレス空間へ転送する。
【選択図】 図1
Description
本発明は画像処理装置及びその制御方法に関し、特にメモリから画像処理モジュールへのデータ転送に関する。
一般に、画像処理モジュールは、レジスタ設定のためのCPUインターフェース、及び、画像データ入出力のためのデータインターフェース、の2種類のインターフェースを有していた。このような画像処理モジュールは、CPUインターフェースによって制御を行うため、
・一連の画像処理が終了した後に割り込みによってCPUに画像処理の終了を通知し、
・次の処理のためのレジスタ設定を行ってから次の画像処理を開始する、
というシーケンスが必要であった。また、CPUの変更に伴ってCPUインターフェースが替わった場合、画像処理モジュールを作り直すか、ラッパー等によりインターフェースを変換しなければならなかった。
・一連の画像処理が終了した後に割り込みによってCPUに画像処理の終了を通知し、
・次の処理のためのレジスタ設定を行ってから次の画像処理を開始する、
というシーケンスが必要であった。また、CPUの変更に伴ってCPUインターフェースが替わった場合、画像処理モジュールを作り直すか、ラッパー等によりインターフェースを変換しなければならなかった。
上記課題を解決するものとして、レジスタ設定用のデータと処理対象の画像データをコマンド化し、同一の経路で転送するという方法が提案されている。この方法による処理の流れを、図7を用いて説明する。
図7は一連の画像処理を実行する画像処理部のブロック図である。図7において、701はCPU、702,706はDMA転送を制御するDMAC、703〜705は画像処理モジュールA〜C、707はメモリコントローラ、708はメモリである。なお、703〜705に示された画像処理モジュールとしてはγ補正回路や色変換回路などが挙げられる。なお、DMAはダイレクトメモリアクセスの略である。
CPU701は画像処理の開始前、若しくは決められた処理単位毎に、各画像処理モジュールのレジスタに対して読み書きを行うためのレジスタコマンド、或いは画素データを格納したデータコマンドを生成する。
図6に各コマンドのフォーマットの具体例を示す。図6の(a)に示されるように、レジスタコマンドにはヘッダ情報、レジスタアドレス、レジスタ設定値が格納されている。また、ヘッダ情報には、コマンド識別ビット、モジュール識別ID、リードライト識別ビットが含まれる。コマンド識別ビットは、レジスタコマンドであるかデータコマンドであるかを示す。例えば、コマンド識別ビットが1であればレジスタコマンド、0であればデータコマンドであることを示す。画像処理モジュールはこのコマンド識別ビットを参照することにより、レジスタコマンド及びデータコマンドのどちらの種類のコマンドであるかを判断する。また、モジュール識別IDは、レジスタコマンドにおいてどの画像処理モジュールへの設定かを示す。画像処理モジュールは、受信したレジスタコマンドが自分への設定であるかどうかをモジュール識別IDを参照することにより判断する。また、リードライト識別ビットは、レジスタコマンドがリード、ライトのいずれのコマンドかを表す。例えば、このリードライト識別ビットが1であればレジスタライト(レジスタのライトコマンド)、0であればレジスタリード(レジスタのリードコマンド)であるとする。
一方、図6の(b)に示されるように、データコマンドのヘッダ情報は、データコマンドであることを示す0の値を有するコマンド識別ビットと、データスタートビットやデータエンドビットなどの画像制御信号が含まれている。CPU701は作成したコマンドをメモリ708へ格納する。
図8にメモリ708へ格納されたコマンドを示す。また、CPU701は画像データもコマンド化し、データコマンドとしてメモリ708に格納する。所定の処理単位のコマンドがメモリ708に格納されると、CPU701はDMAC702およびDMAC706のレジスタにメモリ708へのアクセスアドレスを設定し、起動する。
DMAC702はメモリ708か順次にコマンドを読み込み、画像処理モジュールAへ転送する。画像処理モジュールB704、画像処理モジュールC705は、入力されたコマンドがレジスタのライトコマンドであり、且つモジュール識別IDから自身を対象としたコマンドであると判断した場合には、レジスタ設定を行う。受け取ったコマンドがレジスタのリードコマンドの時は、レジスタアドレスで示される対象レジスタから読み取った値をコマンドのレジスタ設定値に設定し、次の画像処理モジュールへ転送する。受け取ったコマンドがデータコマンドの時は、そのデータを用いて処理を行い、処理した結果をコマンドに設定し、次の画像処理モジュールへ転送する。DMAC706は画像処理モジュールC705から出力されたコマンドを受け取り、メモリ708へ書き込む。
このように、レジスタの設定、データ入力を同一のポートから設定できるようにしているので、任意のシーケンスをCPUの割込み無しに実行できる。また、CPUインターフェースが変更になっても、画像処理モジュールは一切変更する必要がないという長所を有する。
また、特許文献1には、CPUの負荷を軽減するために、転送元及び転送先のアドレスを生成する制御部を持ったDMA制御装置が記載されている。
また、特許文献1には、CPUの負荷を軽減するために、転送元及び転送先のアドレスを生成する制御部を持ったDMA制御装置が記載されている。
しかしながら、上述した従来技術では、図8に示されるように、メモリ708にはレジスタ設定値以外のヘッダ情報やアドレスも格納されていたため、大きなメモリ容量と転送帯域を必要としていた。すなわち、無駄なメモリ容量と転送帯域を消費していた。また、画像データもコマンド化して格納しなければならないので、CPU701によるコマンド化の作業が必要となり、CPUの付加も増大してしまう。更に、特許文献1のDMA制御装置を適用したとしても、コマンド化に関わる作業は解消されず、上記課題を解決することは出来ない。
本発明は、上記の課題に鑑みてなされたものであり、ダイレクトメモリアクセスを用いてメモリから画像処理モジュールへデータを転送するにおいて、メモリに要求される容量と転送帯域を小さくすることを可能にすることを目的とする。
上記の目的を達成するための本発明の一態様による画像処理装置は以下の構成を備える。すなわち、
自身に設定された設定値に応じて画像データを処理する複数の画像処理手段と、
前記画像処理手段で処理される画像データおよび当該画像データの処理に用いる設定値を、第1のアドレス空間に格納する格納手段と、
ダイレクトメモリアクセスにより、前記第1のアドレス空間から読み出した前記設定値および前記画像データのそれぞれを、前記画像処理手段に伝達するためのヘッダ情報と対応づけてコマンドとして前記画像処理手段へ転送する第1転送手段と、
前記画像処理手段から出力された処理済のコマンドから前記画像処理手段によって処理された画像データを抽出し、抽出した画像データをダイレクトメモリアクセスにより、第2のアドレス空間へ転送する第2転送手段とを備える。
自身に設定された設定値に応じて画像データを処理する複数の画像処理手段と、
前記画像処理手段で処理される画像データおよび当該画像データの処理に用いる設定値を、第1のアドレス空間に格納する格納手段と、
ダイレクトメモリアクセスにより、前記第1のアドレス空間から読み出した前記設定値および前記画像データのそれぞれを、前記画像処理手段に伝達するためのヘッダ情報と対応づけてコマンドとして前記画像処理手段へ転送する第1転送手段と、
前記画像処理手段から出力された処理済のコマンドから前記画像処理手段によって処理された画像データを抽出し、抽出した画像データをダイレクトメモリアクセスにより、第2のアドレス空間へ転送する第2転送手段とを備える。
本発明によれば、小さいメモリ容量と小さい転送帯域のメモリで画像処理モジュールを動作させることが可能となる。また、データのコマンド化という処理からCPUを解放することができる。
以下添付図面に従って本発明に係る実施形態を説明する。
図1は、実施形態による画像処理装置の構成を示すブロック図である。図1において、101はCPU、102,106はDMAC、103〜105は画像処理モジュールA〜C、107はメモリコントローラ、108はメモリ、109はコマンド作成部、110はコマンド分解部である。なお、図1では画像処理モジュールが3つの場合を示したが、画像処理モジュールの数は、4つ以上であってもよいし2つ以下であってもよい。
CPU101はメモリ108へレジスタ設定値や画像データの格納を行う。以下、レジスタ設定値や画像データを総称して処理対象データともいう。DMAC102はメモリ108からダイレクトメモリアクセスにより処理対象データを読み出す。コマンド作成部109は、読み出したデータを用いて、図6に示したようなコマンドを生成する。そして、DMAC102は、コマンド作成部109により作成されたコマンドを画像処理モジュールA103へ転送する。DMAC102内のコマンド作成部109は、メモリ108から読み出されたレジスタ設定値或いは画像データに、コマンド化のための制御情報を付加することによりコマンドを作成する。
なお、図6の(a)に示すように、レジスタコマンドの制御情報は、ヘッダ情報とレジスタアドレスで構成される。又、図6の(b)に示すように、データコマンドの制御情報はヘッダ情報で構成される。画像処理モジュールA103、画像処理モジュールB104、画像処理モジュールC105は入力されたコマンドに応じて所定の処理を行う。すなわち、これらの画像処理モジュールは、レジスタ設定値または画素データに制御情報が付加された形態を有する、図6に示したコマンドを処理する。そのような画像処理モジュールの例としてはγ補正回路や色変換回路などが挙げられる。
DMAC106はメモリコントローラ107へレジスタ設定値と画素データを転送し、それらをメモリ108へ書き込ませる。DMAC106内のコマンド分解部110は、画像処理モジュールC105から受け取ったコマンドを分解し、レジスタ設定値または画素データを作成する。すなわち、DMAC106は、画像処理モジュールC105から出力された処理済のコマンドからコマンド分解部110によって抽出されたレジスタ設定値或いは画素データをメモリ108へ書き込む、第2転送部として機能する。
詳細な説明をする前に、レジスタコマンドにしたがったレジスタ設定の対象となる画像処理モジュールのレジスタについて説明しておく。図2は画像処理モジュールのレジスタ構成を説明する図である。画像処理モジュールA103のIDを1、レジスタのスタートアドレスをSA1、レジスタの個数をN1とする。同様に、画像処理モジュールB104のIDを2、レジスタのスタートアドレスをSA2、レジスタの個数をN2とする。更に、画像処理モジュールC105のIDを3、レジスタのスタートアドレスをSA3、レジスタの個数をN3とする。また、レジスタ設定値のデータ幅は32bitであるとする。また、本実施形態では、1つのアドレスに8ビットが割り当てられているものとする。
次に、CPU101がメモリ108にコマンド作成のために必要なデータを格納する様子を、図3を用いて説明する。メモリ108へレジスタ設定値を格納する場合は、レジスタ設定値を格納する前に、まずヘッダ情報を格納する。即ち、ヘッダ情報として、図3の(a)中のメモリアドレスMSA0、MSA0+4(N1+1)、・・・に示すように、
・31bit目から26bit目までにモジュールID、
・25bit目にリードライト識別ビット(1のときライトコマンド、0のときリードコマンドとする)、
・24bit目から16bit目までにレジスタの個数、
・15bit目から0bit目までにレジスタの先頭アドレスを格納した32ビットの制御データが格納される。そして、次のメモリアドレスからは、先のレジスタの個数分だけ、画像処理モジュールへの処理対象データとしてのレジスタ設定値が格納される。
・31bit目から26bit目までにモジュールID、
・25bit目にリードライト識別ビット(1のときライトコマンド、0のときリードコマンドとする)、
・24bit目から16bit目までにレジスタの個数、
・15bit目から0bit目までにレジスタの先頭アドレスを格納した32ビットの制御データが格納される。そして、次のメモリアドレスからは、先のレジスタの個数分だけ、画像処理モジュールへの処理対象データとしてのレジスタ設定値が格納される。
一方、画素データを格納する場合はヘッダ情報として、図3の(a)においてメモリアドレスMSA0+4(N1+N2+N3+3)に示すように、
・31bit目から26bit目までにはモジュールIDとして0が、
・25bit目から0bit目までには入力する画素数を格納した32ビットの制御データが格納される。そして、次のメモリアドレスからは、この画素数分だけ、画像処理モジュールへの処理対象データとしての画素データが格納される。
・31bit目から26bit目までにはモジュールIDとして0が、
・25bit目から0bit目までには入力する画素数を格納した32ビットの制御データが格納される。そして、次のメモリアドレスからは、この画素数分だけ、画像処理モジュールへの処理対象データとしての画素データが格納される。
したがって、図3の(a)に示されるように、「MSA0〜MSA0+4*(N1)」等のメモリ108における連続するアドレス空間にコマンド化のための制御情報の生成に用いられるデータと転送すべき処理対象データが格納されることになる。以下、図3の(a)に示されるような、制御情報を生成するためのデータと転送対象となる処理対象データを格納するためのメモリ内の連続するアドレス空間を、第1のアドレス空間と称する場合もある。
次に、CPU101は、DMAC106が画像処理モジュールC0105から出力されたデータをメモリへ格納するために必要なヘッダ情報を、メモリ108へ格納する。即ち、レジスタ設定値を格納する場合は、図3の(b)においてメモリアドレスMSA1、MSA1+4(N1+1)、・・・に示すように、
・31bit目から26bit目までにモジュールIDが、
・24bit目から16bit目までにレジスタの個数が格納される。
・31bit目から26bit目までにモジュールIDが、
・24bit目から16bit目までにレジスタの個数が格納される。
一方、画素データを格納する場合は、図3の(b)においてメモリアドレスMSA1+4(N1+N2+N3+3)に示されるように、
・31bit目から26bit目までにモジュールIDとして0が、
・25bit目から0bit目までに入力する画素数が格納される。
・31bit目から26bit目までにモジュールIDとして0が、
・25bit目から0bit目までに入力する画素数が格納される。
又、図3の(b)に示されるように、ヘッダ情報を格納したアドレスに続けて、当該制御データによって示される個数のレジスタや画素のデータを格納するための連続するアドレス空間が確保される。
こうして、メモリ108の連続するアドレス空間内の先頭の所定アドレス範囲に、連続して格納されるべきレジスタ設定値或いは画素データのデータ量を示すデータが格納される。そして、連続するアドレス空間内の上記所定アドレス範囲に続いて、そのデータ量に対応する大きさのメモリ領域が確保される。なお、このメモリ内の連続するアドレス空間を第2のアドレス空間と称する場合もある。
次にCPU101は、DMAC102のレジスタにメモリアドレスMSA0を、DMAC106のレジスタにメモリアドレスMSA1を設定する。こうして、CPU101は、メモリ108の第1のアドレス空間内の先頭の所定アドレス範囲に制御情報生成のためのデータを格納し、所定のアドレス範囲に続く領域に処理対象データを格納する第1格納部として機能する。そして、当該第1のアドレス空間の先頭アドレスをダイレクトメモリアクセスの開始アドレスとしてDMAC102に設定する。又、CPU101は、メモリ108の第2のアドレス空間内の先頭の所定アドレス範囲にこれから格納されるデータ量を示す制御情報を格納し、第2のアドレス空間内の所定アドレス範囲に続けて当該データ量に対応した領域を確保する第2格納部として機能する。そして、第2のアドレス空間の先頭アドレスをダイレクトメモリアクセスの開始アドレスとしてDMAC106に設定する。
DMAC102は動作開始後、DMAC102の内部のアドレスカウンタへ、レジスタに設定されたメモリアドレスMSA0をセットする。この処理により、DMAC102はダイレクトメモリアクセスによりメモリ108の第1のアドレス空間から処理対象データを順次に読み出す。そして、コマンド作成部109は、読み出した処理対象データに制御情報を付加することにより画像処理モジュールが処理可能なコマンドを生成し、このコマンドを画像処理モジュールA103へ転送する。すなわち、DMAC102及びコマンド作成部109は、メモリ108より読み出した処理対象データをコマンド化して画像処理モジュールA103へ転送する第1転送部を構成する。
次に、DMAC102内のコマンド作成部109によるコマンド作成処理の手順を図4に示すフローチャートを用いて更に詳細に説明する。
図4において、DMAC102はレジスタ設定処理を開始する(ステップS401)。そして、DMAC102は、アドレスカウンタが示すメモリ108のメモリアドレスからデータを読み出し、それをDMAC102が有する不図示のレジスタへ記憶する(ステップS402)。この処理により、ヘッダ情報がDMAC102のレジスタへ記憶されることになる。続いて、アドレスカウンタをインクリメントする(ステップS403)。
次に、コマンド作成部109は、ステップS402でレジスタに記憶されたヘッダ情報のモジュールIDが0であるかどうかを判断する(ステップS404)。そして、モジュールIDが0でない場合は、コマンド作成部109は当該コマンドがレジスタコマンドであると判断する。この場合、コマンド作成部109は、モジュールIDとリードライト識別ビットの値とレジスタの個数とレジスタアドレスを自身のレジスタに記憶する(ステップS405)。
次に、コマンド作成部109は、以降の処理(ステップS407〜ステップS410)が、規定数回だけ処理が行われたか否かを判断する(ステップS406)。本実施形態では、1個のレジスタのデータが32ビットであり(図3の(a))、4つのアドレスを必要とするので、ステップS405で記憶したレジスタの個数×4が規定数となる。そして、処理回数が規定数に達した場合には、本処理を終了する(ステップS416)。一方、処理回数が規定数に達していない場合には、コマンド作成部109は、アドレスカウンタが示すメモリ108のメモリアドレスからデータ(レジスタ設定値)を読み出す(ステップS407)。そして、コマンド作成部109は、ステップS405で記憶したモジュールIDと、リードライト識別ビットの値と、レジスタアドレスとを用いて図6の(a)の形式のレジスタコマンドを作成する(ステップS408)。続いて、コマンド作成部109は、レジスタアドレスをインクリメントし(ステップS409)、アドレスカウンタをインクリメントし(ステップS410)、ステップS406へ戻る。
上述したように、レジスタ設定値に付加される制御情報には、画像処理モジュールにおける当該レジスタ設定値の格納先のレジスタアドレスが含まれている。したがって、コマンド作成部109は、最初のコマンド作成時において、制御データに基づいて1つ目のレジスタアドレスを決定する(ステップS405、S408)。そして、2つ目以降のコマンドのレジスタアドレスについては、直前のコマンドの制御情報に含まれているレジスタアドレスに所定値を加算した値が用いられる(ステップS409)。
ステップS404においてモジュールIDが0である場合は、コマンド作成部109は、データコマンドとして当該ヘッダ情報から画素数を取得し、自身のレジスタに記憶する(ステップS411)。次に、以降の処理(ステップS413〜ステップS415)が、規定数回だけ処理が行われたか否かを判断する(ステップS412)。ここで、規定回数とは、例えば、「画素数」を「1アドレスに格納される画素数」で割った値である。本実施形態では、図3の(b)に示されるように、1つの画素が48ビットを有するので、6つのアドレスを必要としており、ステップS411で記憶した画素数×6が規定数となる。そして、コマンド作成部109は、規定数に達した場合には処理を終了する(ステップS416)。
ステップS412で規定数に達していないと判定された場合は、コマンド作成部109は、続けてアドレスカウンタが示すメモリアドレスからデータを読み出し(ステップS413)、図6の(b)の形式のデータコマンドを作成する(ステップS414)。なお、ステップS414のコマンド作成において、コマンド作成部109は、ステップS412のループ回数を参照して、最初の画素のコマンド作成時にはデータスタートを1にセットし、他の画素に対してはデータスタートを0にセットする。また、最後の画素の時には、コマンド作成部109は、データエンドを1にし、他の画素に対してはデータエンドを0にセットする。次に、コマンド作成部109は、アドレスカウンタをインクリメントし(ステップS415)、処理をステップS412へ戻す。
以上の手順によって作成されたコマンドの例を図5に示す。図5において、矢印で示された順にコマンドが作成転送される。ここでヘッダ1からヘッダ3は、レジスタコマンドのためのヘッダであり、コマンド識別ビットには1が、モジュール識別IDにはそれぞれ1から3の値が、リードライト識別ビットにはライトを示す1が格納されている。また、ヘッダ(DS)、ヘッダ(D)、ヘッダ(DE)はそれぞれデータコマンドのヘッダを表しており、コマンド識別ビットとして0が格納されている。また、データ制御用フラグとして、ヘッダ(DS)にはデータスタート=1とデータエンド=0が、ヘッダ(D)にはデータスタート=0とデータエンド=0が、ヘッダ(DE)にはデータスタート=0とデータエンド=1が格納されている。
以上のように、コマンド作成部109は、第1のアドレス空間内の先頭の所定アドレス範囲に格納されたデータに基づいて、第1のアドレス空間内のレジスタ設定値或いは画素データをコマンド化するための制御情報を生成する。そして、コマンド作成部109は、第1のアドレス空間の上記所定アドレス範囲以降から読み出した処理対象データを、上記制御情報を付加することによりコマンド化し、画像処理モジュールA103へ転送する
作成されたコマンドは画像処理モジュールA103へ転送され、全ての画像処理モジュールを通過してレジスタ設定が行われる。
DMAC106は動作の開始後、DMAC106の内部のアドレスカウンタに、予めレジスタに設定されたメモリアドレスMSA1がセットされる。
次に、DMAC106内のコマンド分解部110は、コマンドの分解処理を行う。その処理手順を図9に示すフローチャートを用いて説明する。
図9において、DMAC106のコマンド分解部110は、コマンド分解処理を開始し(ステップS901)、アドレスカウンタが示すメモリ108のメモリアドレスからデータを読み出し、自身が有する不図示のレジスタに記憶する(ステップS902)。ここで読み出され、記憶されるデータは、図3の(b)に示した、アドレスMSA1のヘッダ情報である。続いて、コマンド分解部110は、アドレスカウンタをインクリメントする(ステップS903)。
次に、コマンド分解部110は、ステップS902で記憶したヘッダ情報のモジュールIDが0であるかを判断する(ステップS904)。モジュールIDが0でない場合は、コマンド分解部110は、当該ヘッダ情報がレジスタコマンドに関連するものと判断し、当該ヘッダ情報の16〜24ビット目で表される値をレジスタの個数としてDMAC106のレジスタに記憶する(ステップS905)。次に、コマンド分解部110は、以降の処理(ステップS907〜ステップS908)が、規定数回だけ行われたか否かを判断する(ステップS906)。この規定数は、ステップS406で説明したものと同様である。処理回数が規定数に達した場合には本処理を終了する(ステップS913)。処理回数が規定数に達していない場合には、処理を継続する。すなわち、画像処理モジュールC105からコマンドを受け取り、当該コマンド内のレジスタ設定値をアドレスカウンタで示すメモリアドレスへ格納する(ステップS907)。続いて、コマンド分解部110は、アドレスカウンタをインクリメントし(ステップS908)、処理をステップS906へ戻す。
一方、ステップS904において、モジュールIDが0であると判定された場合、コマンド分解部110は、当該ヘッダ情報の0〜25ビットに記録されている値を画素数として記憶する。次に、コマンド分解部110は、以降の処理(ステップS911〜ステップS912)が、規定数回だけ行われたか否かを判断する(ステップS910)。この規定数は、ステップS412で説明したものと同様である。処理回数が規定数に達した場合には、本処理を終了する(ステップS416)。処理回数が規定数に達しない場合には、コマンド分解部110は、画像処理モジュール3からコマンドを受け取り、コマンド内の画素データをアドレスカウンタで示されるメモリ108のメモリアドレスへ格納する。続いて、コマンド分解部110は、アドレスカウンタをインクリメントし(ステップS912)、処理をステップS910へ戻す。
以上のように、DMAC106及びコマンド分解部110は、画像処理モジュールC105から順次に出力されたコマンドからデータを抽出してメモリ108の第2のアドレス空間へ順次に格納する。このとき、抽出及び格納する処理は、ステップS905またはステップS909で取得されたデータ量(レジスタの個数、画素数))に基づいて決定される回数だけ繰り返される。
上記手順によってメモリ108に格納されたレジスタ設定値及び画像データの様子を図10に示す。すなわち、DMAC106は、図3の(b)のように用意されたメモリ108のアドレス空間に、画像処理モジュールC105から受信したコマンドのレジスタ設定値や画素データを、図10に示されるように格納する。
このように、DMAC102がコマンド作成を行い、DMAC106がコマンド分解を行う構成にすることによって、従来メモリにコマンドを格納していた場合に格納されていたヘッダ情報のような冗長なデータがなくなる。そのため、メモリ容量や、DMACとメモリ間の転送帯域の削減が可能となる。また、CPU101がレジスタ設定値や画素データをコマンドに変換する手間もなくなる。
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。
Claims (9)
- 自身に設定された設定値に応じて画像データを処理する複数の画像処理手段と、
前記画像処理手段で処理される画像データおよび当該画像データの処理に用いる設定値を、第1のアドレス空間に格納する格納手段と、
ダイレクトメモリアクセスにより、前記第1のアドレス空間から読み出した前記設定値および前記画像データのそれぞれを、前記画像処理手段に伝達するためのヘッダ情報と対応づけてコマンドとして前記画像処理手段へ転送する第1転送手段と、
前記画像処理手段から出力された処理済のコマンドから前記画像処理手段によって処理された画像データを抽出し、抽出した画像データをダイレクトメモリアクセスにより、第2のアドレス空間へ転送する第2転送手段とを備えることを特徴とする画像処理装置。 - 前記第1転送手段は、前記第1のアドレス空間から読み出した設定値に対応づける前記ヘッダ情報に、設定値を設定する対象の画像処理手段を識別するための識別情報を含めることを特徴とする請求項1に記載の画像処理装置。
- 前記第1転送手段は、前記第1のアドレス空間から、前記画像処理手段に設定値を書き込むか又は前記画像処理手段に設定されている設定値を読み出すかを示す情報を取得し、前記ヘッダ情報に含めることを特徴とする請求項1に記載の画像処理装置。
- 前記第1転送手段は、前記第1のアドレス空間から読み出した設定値に対応づける前記ヘッダ情報に、前記第1転送手段が転送するコマンドに設定値を含むことを示す識別情報を含めることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
- 前記第1転送手段は、前記第1のアドレス空間から読み出した画像データに対応づける前記ヘッダ情報に、前記第1転送手段が転送するコマンドに画像データを含むことを示す識別情報を含めることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
- 前記第1転送手段は、前記第1のアドレス空間から読み出した複数の設定値に前記ヘッダ情報を対応づける際に、前記第1のアドレス空間から読み出したデータに基づいて設定値を格納させる第1アドレスを取得し、当該第1アドレスを第1設定値と対応づけて転送し、前記第1アドレスをインクリメントした第2アドレスを第2設定値と対応づけて転送することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
- 前記第2転送手段は、前記第2のアドレス空間に対するダイレクトメモリアクセスの開始の指示に応じて、連続して格納するデータ量を取得し、
前記画像処理手段から出力された処理済みのコマンドから前記画像処理手段によって処理された画像データを抽出し、抽出した画像データを前記データ量に対応する回数だけ繰り返し出力することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。 - 前記第1転送手段は、前記第1のアドレス空間から読み出した設定値は前記複数の処理手段の1つに伝達されるように転送し、前記第1のアドレス空間から読み出した画像データは前記複数の処理手段に伝達されるように転送することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
- 自身に設定された設定値に応じて画像データを処理する複数の画像処理手段と、前記画像処理手段で処理される画像データおよび当該画像データの処理に用いる設定値を、第1のアドレス空間に格納する格納手段と、前記格納手段と前記画像処理手段の間におけるコマンドの伝達をおこなう転送手段とを有する画像処理手段の制御方法であって、
前記転送手段が、ダイレクトメモリアクセスにより、前記第1のアドレス空間から読み出した前記設定値および前記画像データのそれぞれを、前記画像処理手段に伝達するためのヘッダ情報と対応づけてコマンドとして前記画像処理手段へ転送する第1転送工程と、
前記転送手段が、前記画像処理手段から出力された処理済のコマンドから前記画像処理手段によって処理された画像データを抽出し、抽出した画像データをダイレクトメモリアクセスにより、第2のアドレス空間へ転送する第2転送工程とを備えることを特徴とする制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011260981A JP2012043476A (ja) | 2011-11-29 | 2011-11-29 | 画像処理装置及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011260981A JP2012043476A (ja) | 2011-11-29 | 2011-11-29 | 画像処理装置及びその制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007264969A Division JP4876051B2 (ja) | 2007-10-10 | 2007-10-10 | 画像処理装置及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012043476A true JP2012043476A (ja) | 2012-03-01 |
Family
ID=45899602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011260981A Pending JP2012043476A (ja) | 2011-11-29 | 2011-11-29 | 画像処理装置及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012043476A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0896112A (ja) * | 1994-09-26 | 1996-04-12 | Hitachi Ltd | 画像データ処理装置およびそれを用いた情報システム |
JPH09307725A (ja) * | 1996-05-16 | 1997-11-28 | Ricoh Co Ltd | Dma転送方法 |
JP2002008002A (ja) * | 2000-04-19 | 2002-01-11 | Canon Inc | 画像処理装置及び画像処理方法 |
-
2011
- 2011-11-29 JP JP2011260981A patent/JP2012043476A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0896112A (ja) * | 1994-09-26 | 1996-04-12 | Hitachi Ltd | 画像データ処理装置およびそれを用いた情報システム |
JPH09307725A (ja) * | 1996-05-16 | 1997-11-28 | Ricoh Co Ltd | Dma転送方法 |
JP2002008002A (ja) * | 2000-04-19 | 2002-01-11 | Canon Inc | 画像処理装置及び画像処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4876051B2 (ja) | 画像処理装置及びその制御方法 | |
JP2009018517A (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
US8208763B2 (en) | Image processing method and apparatus | |
JP5438371B2 (ja) | 画像処理装置および画像処理方法 | |
JP4898590B2 (ja) | データ処理装置及び方法 | |
JP5097973B2 (ja) | データ処理装置 | |
JP2006215886A (ja) | 信号処理装置、信号処理システム、および信号処理方法 | |
JP2012043476A (ja) | 画像処理装置及びその制御方法 | |
CN102193884B (zh) | 数据传送电路和方法 | |
JP2008033646A (ja) | 帳票生成装置及び帳票生成方法 | |
US6628289B1 (en) | Rendering apparatus and method, and storage medium | |
CN111752878A (zh) | 直接存储器访问 | |
JP6740785B2 (ja) | 情報処理装置及びプログラム | |
JP2010250434A (ja) | 情報処理装置、情報処理方法、プログラム及び記憶媒体 | |
JP2007219843A (ja) | ノード管理装置及びノード管理方法及びプログラム | |
US20110252074A1 (en) | Resource data management apparatus and resource data management method | |
KR20180080463A (ko) | 반도체 장치 및 반도체 장치의 동작 방법 | |
JP6414423B2 (ja) | 出力処理システム、出力処理装置、及び、出力処理プログラム | |
US8395630B2 (en) | Format conversion apparatus from band interleave format to band separate format | |
JP2007087086A (ja) | Dma転送システム | |
JP5188620B2 (ja) | 画像処理装置及び方法 | |
JP2008226190A (ja) | 画像処理装置およびその方法 | |
JP2007189367A (ja) | 画像処理装置及び画像処理制御方法 | |
JP2006260477A (ja) | パイプライン画像処理装置、画像処理方法及びプログラム | |
JP2008067220A (ja) | 撮像装置及び撮像装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120816 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120910 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130128 |