JP2006115447A - 画像信号処理装置 - Google Patents
画像信号処理装置 Download PDFInfo
- Publication number
- JP2006115447A JP2006115447A JP2005059404A JP2005059404A JP2006115447A JP 2006115447 A JP2006115447 A JP 2006115447A JP 2005059404 A JP2005059404 A JP 2005059404A JP 2005059404 A JP2005059404 A JP 2005059404A JP 2006115447 A JP2006115447 A JP 2006115447A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- image
- image processing
- parameter table
- individual
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 画像処理機能ブロックの任意の組み合わせと任意の処理順を一つのコマンドで実行可能とし、かつ出力画像サイズが変化する画像処理を組み合わせた場合でも、ホストCPUに演算負荷が発生しない画像信号処理装置を提供すること。
【解決手段】 本発明は、各画像処理機能ブロック毎に、画像処理をページ単位または任意の指定ライン数で単位で動作させる個別処理サブプログラムと、その個別処理内容を決定する個別処理パラメータテーブルを有し、また画像処理順序情報と画像サイズ関連情報を含む複合処理パラメータテーブルを用意し、個別画像処理コマンドが発行された場合は個別処理パラメータテーブルを画像処理機能ブロックに設定し個別処理サブプログラを実行する。
【選択図】 図1
【解決手段】 本発明は、各画像処理機能ブロック毎に、画像処理をページ単位または任意の指定ライン数で単位で動作させる個別処理サブプログラムと、その個別処理内容を決定する個別処理パラメータテーブルを有し、また画像処理順序情報と画像サイズ関連情報を含む複合処理パラメータテーブルを用意し、個別画像処理コマンドが発行された場合は個別処理パラメータテーブルを画像処理機能ブロックに設定し個別処理サブプログラを実行する。
【選択図】 図1
Description
本発明は、複数の画像処理機能を有する画像信号処理装置において、一つのコマンドで任意の画像処理機能を組み合わせて実行可能な、画像信号処理装置に関する。
従来より、複数の画像処理ブロックを有し、外部CPUより内部CPUに動作モードを指定するコマンドを伝送し、内部CPUはその設定に従った順序で画像処理する画像信号処理装置がある(例えば、特許文献1参照)。
従来の画像信号処理装置では、複数の画像処理機能ブロックと、各画像処理機能ブロック毎にその個別動作内容を決定する個別処理パラメータテーブルを有し、ホストCPUからのコマンドレジスタへのコマンドコード書き込みによりコマンド発行割り込みが発生する。
ローカル制御CPUのマイクロプログラムは、コマンド発行割り込みを受けて、コマンドレジスタ内のコマンドコードを解析し、該当する画像処理パラメータテーブルのデータを基に該当する画像処理機能ブロックのレジスタ設定を行い、ホストイメージバスから外部データ入力を介して入力バッファメモリにデータを書き込む。そして、ローカル制御CPUのマイクロプログラムは、所定のライン数のデータが入力バッファメモリに貯まると、該当画像処理プログラムを起動し、その画像処理結果を出力バッファメモリに出力し、出力バッファメモリに所定のライン数のデータが貯まると、データ外部出力を介してホストイメージバスにデータ出力をする。
特開平8−123944号公報
従来技術では、内部CPUのμプログラムで、コマンドで指定された画像処理の順序で機能する様に、外部入出力ブロックおよび、画像処理機能ブロックのパラメータレジスタと、SDRAMと画像処理機能ブロックのデータ転送を制御するDMAコントローラの設定など関係する全ての機能を、画像処理の進行に合わせて、記述する必要あり、その為一つのコマンドで単独機能の処理を行うか、または複数の画像処理組み合わせを所定順序で行う場合、処理手順が固定されたプログラミングは容易であった。
しかし、一つのコマンドで画像処理機能ブロックの任意の組み合わせと任意の処理順番で順次処理させようとした場合、プログラミングの分岐が複雑になり、画像処理機能ブロック数が増えるに従い、その全ての状態をプログラミングする事は大変な作業となり、またそのμプログラムのデータ量も膨大になると言う問題があった。
その為、任意の組み合わせと任意の処理順番で順次処理させようとした場合、ホストCPUより画像処理順序に従って、順次コマンド発行をしてもらい制御する方法が考えられるが、回転処理や解像度変化など出力画像サイズが変化する画像処理を組み合わせた場合は、次段の画像処理機能ブロックのパラメータが変わりそれに対応した画像処理パラメータテーブルの変更が必要になり、ホストCPUの負担が大きくなる。
特定の画像処理順序のコマンドを定義して、それ専用のパラメータテーブルとマイクロプログラムを用意する事は可能であるが、画像処理機能ブロックの数が増えるに従い、その組み合わせは膨大になり、対応したパラメータテーブルとマイクロプログラムを用意する事は難しくなる。
本発明は、かかる問題点に鑑みて為されたものであり、画像処理機能ブロックの任意の組み合わせと任意の処理順を一つのコマンドで実行可能とし、かつ出力画像サイズが変化する画像処理を組み合わせた場合でも、ホストCPUに演算負荷が発生しない画像信号処理装置を提供することを目的とする。
本発明は、各画像処理機能ブロック毎に、画像処理をページ単位または任意の指定ライン数で単位で動作させる個別処理サブプログラムと、その個別処理内容を決定する個別処理パラメータテーブルを有し、また画像処理順序情報と画像サイズ関連情報を含む複合処理パラメータテーブルを用意し、個別画像処理コマンドが発行された場合は個別処理パラメータテーブルを画像処理機能ブロックに設定し個別処理サブプログラを実行する。また複合処理コマンドが発行された場合は、複合処理パラメータテーブルの画像処理順序情報を参照し、その記述内容に従った順序で、個別処理パラメータテーブルを画像処理機能ブロックに設定し、個別処理サブプログラムを実行する。
これにより、任意の組み合わせと任意の処理順序で複合処理が実行出来る。
上記の処理において、コマンド発行時にパラメータメモリ上の画像処理パラメータを内部パラメータテーブル上にコピーし、その後にホストCPUに対しコマンドアック割り込みを発生する。
これにより、コマンドアック割り込み発生以後は、ホストCPUは、複合処理の進行状態に関係なくパラメータメモリの変更が可能で、ホストCPUに無駄な待ち状態無くなり効率が向上する。
パラメータメモリ上の画像処理パラメータを内部パラメータテーブル上にコピーした後に、内部パラメータテーブル上の画像処理順序情報と画像サイズ制御情報から、複合処理動作と同一処理順序で各画像処理機能ブロックの入力画像サイズを演算し、その演算結果から内部パラメータテーブル上の各画像処理の入力画像サイズを書き換える。
これにより出力画像サイズが変化する画像処理を任意に組み合わせた場合でもホストCPUの介在無しに複合処理できる。
また第2方法として、内部パラメータテーブル上の画像処理順序情報の画像処理順序に従って、第1画像処理では、個別処理パラメータテーブルの設定値を画像処理ブロックへ設定した後に、1ページ入力処理により決定された入力画像サイズを画像処理ブロックへ上書き設定すると共に、入力画像サイズと画像サイズ制御情報から出力画像サイズを演算しておき、画像処理を実行する。次の第2画像処理以降では、個別処理パラメータテーブルの設定値を画像処理ブロックへ設定した後に、前回の画像処理で演算しておいた出力画像サイズを個別画像処理の入力画像サイズとして設定する。
このように、画像処理の進行に合わせて画像サイズを演算する事により、出力画像サイズが変化する画像処理を任意に組み合わせた場合でもホストCPUの介在無しに複合処理できる。
本発明の係る画像信号処理装置によれば、複数の画像処理機能ブロックを任意の組み合わせと任意の処理順番で画像処理可能であり、かつ出力画像サイズが変化する画像処理を組み合わせた場合でも、一つのコマンドで画像処理することができる。
本発明の第1の態様にかかる画像信号処理装置は、複数の画像処理機能ブロックと、各画像処理機能ブロック毎にその個別動作内容を決定する個別画像処理パラメータテーブルを有する画像信号処理装置において、画像処理機能ブロックの処理順序を決定する複合処理パラメータテーブルを有し、その複合処理パラメータテーブルの画像処理順序で、個別画像処理パラメータテーブルの個別動作内容に従って画像処理機能ブロックを順次動作させる。
これにより、任意の画像処理の組み合わせの状態応じて、画像処理パラメータを個別に持つ必要がなくなり、画像処理パラメータ数を減らす事ができ、メモリ上のパラメータテーブルの占有領域を減らし、画像信号処理装置の内蔵メモリ資源を削減し、効率的に使用する事ができる。
本発明の第2の態様は、第1の態様にかかる画像信号処理装置において、個別画像処理コマンドが発行された場合は、対応する個別処理パラメータテーブルと画像処理機能ブロックにより個別の画像処理を実行し、複合処理コマンドが発行された場合は、複合処理パラメータ設定に従った順序で、画像処理機能ブロックをその個別処理パラメータテーブルの内容に従って順次動作させる。
これにより、第1の態様の効果に加えて、任意の画像処理の組み合わせと任意の処理順序に応じて、個別にμプログラムを個別に持つ必要がなくなり、プログラミング作業量及びμプログラムデータ量を抑える事ができる。
本発明の第3の態様は、第2の態様にかかる画像信号処理装置において、複合処理コマンドが発行された場合は、外部ホストCPUが直接リード・ライト可能な個別処理パラメータテーブルと複合処理パラメータテーブルの内容を内部パラメータテーブルにコピーし、前記内部パラメータテーブルの複合処理パラメータの画像処理順序情報に従った順序で、画像処理機能ブロックを前記内部パラメータテーブルの個別処理パラメータテーブルの内容に従って動作させる。
これにより、第2の態様の効果に加えて、外部ホストCPUは複合処理コマンド発行後は、コマンド終了を待たずに随時個別処理パラメータテーブルと複合処理パラメータテーブルの内容変更が可能となり、外部ホストCPUのパラメータ設定時間を含めたトータルの画像処理時間を短縮できる。
本発明の第4の態様は、第3の態様にかかる画像信号処理装置において、複合処理パラメータテーブルに入力画像サイズと、画像サイズ制御情報として変倍率や回転角度などの出力画像サイズを変更する制御情報を有し、複合処理コマンドが発行された場合は、内部パラメータテーブルにコピーされた複合処理パラメータテーブルの画像処理順序情報と前記入力画像サイズと画像サイズ制御情報から、内部パラメータテーブルにコピーされた個別処理パラメータテーブル情報を計算し変更する手段を有する。
これにより、第3の態様の効果に加えて、拡大縮小、回転等の画像処理パラメータの内容により出力画像サイズが変化する場合でも、外部ホストCPUは個別画像処理パラメータテーブルの入出力画像サイズ値を変更する必要がなく、一つコマンド設定のみで処理を完結する事ができ、外部ホストCPUの処理時間を短縮できる。
本発明の第5の態様は、第3の態様にかかる画像信号処理装置において、複合処理パラメータテーブルに入力画像サイズと、画像処理順番毎に画像処理指定情報と画像サイズ制御情報として変倍率や回転角度などの出力画像サイズを変更する制御情報を有し、複合処理コマンドが発行された場合は、内部パラメータテーブルにコピーされた復号処理パラメータテーブルの画像処理順番毎に画像処理指定情報に従って、まず第1画像処理として対応する個別処理パラメータテーブルを画像処理機能ブロックに設定し、次に前記入力画像サイズと画像サイズ制御情報に従った内容を画像処理機能ブロックに設定し、次に前記入力画像サイズと画像サイズ制御情報から出力画像サイズを演算し、次に画像処理を実行して第1画像処理を終了する。次に第2画像処理は前記出力画像サイズを入力画像サイズとして第1画像処理と同じ処理を繰り返し実行する。
これにより、第3の態様の効果に加えて、拡大縮小、回転等の画像処理パラメータの内容により出力画像サイズが変化し、さらに同一画像処理が複数回設定された場合でも、外部ホストCPUは、個別画像処理パラメータテーブルの入出力画像サイズ値を変更する必要がなく、一つのコマンドの設定のみで処理を完結する事ができ、外部ホストCPUの画像処理時間を短縮できる。
本発明の第6の態様は、第3の態様にかかる画像信号処理装置において、ページ入力終了コマンドが発行されるまで、ライン単位に画像データを入力し、そのライン数をカウントし、ページ入力終了コマンドが発行した時点のラインカウント数から求めた入力画像サイズとする。
これにより、第3の態様の効果に加えて、外部ホストCPUは1ページのライン数が未確定な状態であっても、ライン数の確定を待たずに画像データを入力が可能となり、データ入力処理時間を含めた画像処理時間を短縮できる。
本発明の第7の態様は、第3の態様にかかる画像信号処理装置において、画像処理機能ブロックを順次動作させた結果情報を順次内部パラメータの結果情報テーブルにライトする機能を有し、全ての画像処理が終了した後に前記内部パラメータの結果情報テーブルのみを画像処理パラメータの結果情報テーブルにライトバックする。
これにより、外部ホストCPUは、コマンド発行後は、コマンド終了を待たずに随時個別処理パラメータテーブルと複合処理パラメータテーブルの内容変更が可能となる効果を得ながら、一方でコマンド終了時に出力データサイズや出力符号データ量、画像処理エラー発生等の画像処理結果情報を、読み出す事が可能となる。
本発明の第8の態様は、第3の態様にかかる画像信号処理装置において、ページメモリと同一メモリ上に内部パラメータテーブルをコピーする。
これにより、第3の態様の効果に加えて、内部パラメータテーブル用の新たなメモリを必要としない、画像信号処理装置を構成できる。
本発明の第9の態様は、第3の態様にかかる画像信号処理装置において、複合処理パラメータにページメモリアドレス情報有し、複合処理コマンドが発行された場合は、画像処理機能ブロックの処理順序情報と前記ページメモリアドレス情報から、内部パラメータテーブルにコピーされた個別処理パラメータテーブルの画像データソースアドレスとデスティネーションアドレス変更する手段を有する。
これにより、第3の態様の効果に加えて、複合処理の画像処理順が変わっても、処理順序によってSDRAM110上のページメモリのスタートアドレスが固定され、複合処理の回数が増えても、2面のページメモリで画像処理ができ、メモリ空間を有効に使う事ができる。
本発明の第10の態様は、第3の態様にかかる画像信号処理装置において、複合処理パラメータテーブルにページメモリアドレス情報有し、複合処理コマンドが発行された場合は、画像処理機能ブロックの処理順序情報に従った順序で、まず第1画像処理として対応する個別処理パラメータテーブルを画像処理機能ブロックレジスタに設定し、次に画像処理機能ブロックの処理順序情報とページメモリアドレス情報から、画像処理機能ブロックの画像データのソースアドレスレジスタとデスティネーションアドレスレジスタを設定し、画像処理を実行し、第2画像処理以降は同一の処理を繰り返す。
これにより、第3の態様の効果に加えて、複合処理の画像処理順が変わり、さらに同一画像処理が複数回指定される場合でも、処理順序によってSDRAM110上のページメモリのスタートアドレスが固定される為、複合処理の回数が増えても、2面のページメモリで画像処理ができ、SDRAMのメモリ空間を有効に使う事ができる。
本発明の第11の態様は、第8の態様にかかる画像信号処理装置において、内部パラメータテーブルをコピーする内部パラメータ領域を外部のホストCPUのアクセス禁止領域とした。
これにより、第8の態様の効果に加えて、SDRAM110上画像データをホストCPUから直接アクセス可能とし、画像データにヘッダー・フッター等の付加画像を加えたり、また符号データにヘッダー情報を書き換えたりする際、ホストCPUの誤った制御により、内部パラメータが書き換えられてしまい、そこ結果複合処理が正常に機能しなくなる事を防止できる。
本発明の第12の態様は、第8の態様にかかる画像信号処理装置において、内部パラメータテーブルのコピー後に、テーブル内の画像データのデスティネーションアドレス値とページメモリアドレス値をチェックする手段を有し、前記のアドレス値が事前に指定されていたデータ領域以外の場合は、パラメータエラー有りとして、指定された画像処理を実行せず、指定コマンドを終了する。
これにより、第8の態様の効果に加えて、ホストCPUが個別処理パラメータのデスティネーションアドレス値及び、複合処理パラメータのページメモリアドレス値に誤ったアドレスを設定した場合、データ転送により内部パラメータが上書きされてしまい、その結果複合処理が正常に機能しなくなる事を防止できる。
以下、本発明の一実施の形態に係る画像信号処理装置について、添付図面を用いて説明する。図1は、本実施の形態にかかる画像信号処理装置の構成を示すブロック図である。
画像信号処理装置100は、ホストイメージバス101から外部データ入力部102を介してイメージバス103へデータを入力し、またイメージバス103から外部データ出力部104を介してホストイメージバス101へデータを出力する。
イメージバス103に接続された外部データ入力部102、外部データ出力部104、画像の拡大縮小処理または解像度を変換する解像度変換部105、画像を90度、180度、270度から選択した角度で回転する回転部106、画像をJBIGコードに符号化するJBIGエンコーダ107、105〜107各機能ブロックは同じくイメージバス103に接続されているデータ転送制御するDMAコントローラ108により、バスブリッジ109を通してSDRAM110上にページメモリ領域との間でデータ入力出力転送を行い、その個別機能はコントロールバス111から機能設定される。
外部ホストCPU131は、コントロールバスを制御する外部バス制御部112を介してコントロールバス111上のコマンドレジスタ114とパラメータメモリ115、SDRAM110上のデータ領域にアクセス可能である。
外部ホストCPU131は、パラメータメモリ115には画像処理パラメータテーブル116を設定し、コマンドレジスタ114にコマンドコードを書き込むと、ローカル制御CPU113にコマンド発行割り込みがかかる。
また、画像処理パラメータテーブル116には、解像度変換部の機能を制御する解像度変換パラメータ117、回転部の機能を制御する回転パラメータ118、JBIGエンコーダ部の機能を制御するJBIGエンコードパラメータ119、複数の画像処理機能を組み合わせて、順次処理を実行する複合処理の機能を制御する複合処理パラメータ120、画像処理結果情報を外部ホストCPU131へ通知する為の結果情報テーブル129が儲けられている。
また上記の117〜119を一まとめにして個別処理パラメータテーブルとする。
ローカル制御CPU113はROM127のμプログラムに動作し、コントロールバス111を介して、本画像信号処理装置100内の全ての機能ブロックを制御する。
図2は、本実施の形態に係る画像信号処理装置の動作を示すフロー図である。
外部ホストCPU131から外部バス制御部112を介して、コマンドレジスタ114にコマンドコードが書き込まれ、コマンド発行状態となると(ST201)、ローカル制御CPU113は、パラメータメモリ115上の個別処理パラメータテーブル117〜119および復号処理パラメータテーブル120をSDRAM110上の内部パラメータ領域121に内部パラメータテーブル122としてコピーする。この時、SDRAM110上の内部パラメータ領域121は外部ホストCPU131からアクセスできない領域として指定しておき(ST202)、その後ステータスレジスタ128内のコマンドアックフラグをセットし(ST203)、外部ホストCPU131に割り込みを発生する。
このコマンドアックフラグは、外部ホストCPU131に対し入力したコマンドが受付けられ、設定したパラメータが画像信号処理装置の内部に取り込まれた事を通知するフラグである。
図2のパラメータテーブルコピー(ST202)とコマンドアックフラグ設定(ST203)の機能により、外部ホストCPU131は複合処理コマンド発行後、コマンドアックフラグがセットされれば、コマンド終了を待たずに随時個別処理パラメータテーブルと複合処理パラメータテーブルの内容変更が可能となり、外部ホストCPU131のパラメータ設定時間を含めたトータルの画像処理時間を短縮できる。
このように、コマンドアックフラグがセットされた以降は、外部ホストCPU131は画像処理の終了を待たずに、次の画像処理の為のパラメータ設定が可能であり、大量の画像処理パラメータテーブの書き換えを必要とする場合、外部ホストCPU131のパラメータ設定時間を含めたトータルの画像処理時間を短縮できる。
また、パラメータテーブルコピー(ST202)により画像処理パラメータを外部ホストがアクセスできない内部パラメータにコピーして画像処理行うシステムにおいても、画像処理終了時に内部パラメータ122の結果情報テーブル130を画像処理パラメータテーブル116の結果情報テーブル129へライトバックする事により出力データサイズや出力符号データ量、画像処理エラー発生等の画像処理結果情報を、コマンド終了時に外部ホストCPU131へ通知する事が可能となる。
また、パラメータテーブルコピー(ST202)の際、コピー先を画像処理のワーク用メモリである、SDRAMの一部を使用する事により、内部パラメータテーブル用の新たなメモリを必要としない、画像信号処理装置を構成できる。
さらに、パラメータテーブルコピー(ST202)の際、SDRAM110上の外部ホストCPU131のアクセスできない領域に内部パラメータをコピーする事により、SDRAM110上画像データを外部ホストCPU131が直接アクセスし、画像データにヘッダー・フッター等の付加画像を加えたり、また符号データにヘッダー情報を書き換えたりする際、外部ホストCPU131の誤った制御により、内部パラメータが書き換えられてしまい、複合処理が正常に機能しなくなる事を防止した。
一方、ローカル制御CPU113は、SDRAM110上の内部パラメータのみを参照して画像処理を実行し、画像処理コマンド実行中は内部パラメータは外部ホストCPU131の動作に関係なく変更されない為、画像処理の進行に合わせて必要なタイミングでパラメータ値を参照する事ができる。
また、外部ホストCPU131による誤ったパラメータ上書き変更を禁止する為に、内部パラメータ領域121は、外部ホストCPU131のアクセスを禁止している。
次に、ローカル制御CPU113は、コピーした内部パラメータテーブル122上の個別処理パラメータテーブル123〜125および複合処理パラメータテーブル126の内容をチェックする(ST204)。
この、パラメータチェック(ST204)により外部ホストCPU131が個別処理パラメータのデスティネーションアドレス値及び、複合処理パラメータのページメモリアドレス値に誤ったアドレスを設定した場合、データ転送により内部パラメータが上書きされてしまい、そこ結果複合処理が正常に機能しなくなる事を防止できる。
次に、ローカル制御CPU113は、個別処理パラメータテーブル123〜125の画像データのディスティネーションメモリアドレスと、複合処理パラメータテーブル126のページメモリアドレスの指定値がデータ領域内であるか否かをチェックし、データ領域内に無い場合は、画像処理の過程で内部パラメータテーブルが上書きされてしまう恐れが有る為、パラメータエラー有りとして(ST205)、画像処理を実行せずに、コマンドエラー終了を通知して画像処理を終了させる(ST206)。
一方、パラメータエラーが無い場合(ST205)、ローカル制御CPU113は、コマンドに従った画像処理を行う。
まず、ローカル制御CPU113は、コマンドレジスタ114上のコマンドコードが解像度変換コマンドの場合は(ST207)、解像度変換処理サブプログラムを実行し(ST208)、回転コマンドの場合は(ST209)、回転処理サブプログラムを実行し(ST210)、JBIGエンコードコマンドの場合は(ST211)、JBIGエンコードサブプログラムを実行し(ST212)、複合処理コマンドの場合は(ST213)、複合処理サブプログラムを実行する(ST214)。
そして、ローカル制御CPU113は、各処理が終了した時点でSDRAM110上の結果情報テーブル130の内容をパラメータメモリ上の結果情報テーブル129へライトする(ST215)。
これにより、外部ホストCPU131がアクセスする画像処理パラメータテーブル116と画像処理プログラムで参照する内部パラメータが分離されていても、画像処理終了時に外部ホストCPU131は、画像処理の結果情報を読み出す事ができる。
各画像処理が正常終了した場合は(ST216)、ローカル制御CPU113は、外部ホストCPU131へコマンド正常終了割り込みを発生し(ST217)、正常終了でない場合はコマンドエラー割り込みを発生させる(ST206)。
図3は、解像度変換処理サブプログラム(ST208)の動作を示すフロー図である。
ローカル制御CPU113は、内部パラメータテーブル122の解像度変換パラメータ123を参照し、解像度変換部105の内部レジスタに設定する(ST301)。
次にローカル制御CPU113は、解像度変換の所定ライン数Sを設定し累積ライン数Tを初期値0に設定し(ST302)、累積ライン数Tを T=T+S として計算し(ST303)、前記累積ライン数Tが1ページライン数未満の場合(ST304)、N=Sとして(ST305)、外部データ入力部102からイメージバス103、バスブリッジ109を介してSDRAM110上にNラインデータの入力処理を行い、この時、解像度変換パラメータ123内のソースメモリアドレスで指定されるアドレスが書き込み開始アドレスとなる様にDMAコントローラ108でデータ転送を行う(ST306)。
次に、ローカル制御CPU113は、SDRAM110の前記ソースメモリアドレスから順次データを解像度変換部105へDMAコントローラ108によりデータ転送しながら、Nライン解像度変換処理を行い、変換された画像は解像度変換パラメータ123内のディスティネーションメモリアドレスで指定された、SDRAM110上のアドレスを書き込み開始アドレスとして順次書き込まれる(ST307)。
次に前記Nライン解像度変換処理(ST307)でSDRAM110上に書き込まれた解像度変換出力データをバスブリッジ109、イメージバス103を介して、外部データ出力部104にDMAコントローラ108でデータ転送し、ホストイメージバス101にデータ出力する(ST312)。
次に、ローカル制御CPU113は、累積ライン数Tの計算(ST303)に戻り、累積ライン数Tが1ページライン数以上となるまで繰り返す。
一方、ST304において累積ライン数Tが1ページライン数以上となる場合、ローカル制御CPU113は、解像度変換の所定ライン数NをN=S+1ページライン数−T(ST308)として計算し、前記(ST306)と同様にNラインのデータ入力処理を行い(ST309)、前記(ST307)と同様にNライン解像度変換処理を行い(ST310)、前記(ST312)と同様に解像度変換出力データを外部に出力する(ST311)。
そして、ローカル制御CPU113は、結果情報を内部パラメータ122の結果情報テーブル130に書き込み(ST313)、処理を終了させる。
図4は、回転処理サブプログラム(ST210)の動作を示すフロー図である。
ローカル制御CPU113は、内部パラメータテーブル122の回転パラメータ124を参照し、回転部106の内部レジスタに設定する(ST401)。
次に外部データ入力部102からイメージバス103、バスブリッジ109を介してSDRAM110上に1ページデータの入力処理を行い、この時、回転パラメータ124内のソースメモリアドレスで指定されるアドレスが書き込み開始アドレスとなる様にDMAコントローラ108でデータ転送を行う(ST402)。
次にSDRAM110の前記ソースメモリアドレスから順次データを回転部106へDMAコントローラ108によりデータ転送しながら、1ページの回転処理を行い、回転された画像は回転パラメータ124内のディスティネーションメモリアドレスで指定された、SDRAM110上のアドレスを書き込み開始アドレスとして順次書き込まれる(ST403)。
次に、ローカル制御CPU113は、前記1ページの回転処理(ST403)でSDRAM110上に書き込まれた回転出力データをバスブリッジ109、イメージバス103を介して、外部データ出力部104にDMAコントローラ108でデータ転送し、ホストイメージバス101にデータ出力する(ST405)。
次に、ローカル制御CPU113は、結果情報を内部パラメータ122の結果情報テーブル130に書き込み(ST404)、処理を終了させる。
図5は、JBIGエンコード処理サブプログラム(ST212)の動作を示すフロー図である。
ローカル制御CPU113は、内部パラメータテーブル122のJBIGエンコードパラメータ125を参照し、JBIGエンコーダ107の内部レジスタに設定する(ST501)。
次に、ローカル制御CPU113は、JBIGエンコードの所定ライン数Sを設定し累積ライン数Tを初期値0に設定し(ST502)、累積ライン数TをT=T+Sとして計算し(ST503)、累積ライン数Tが1ページライン数未満の場合(ST504)、N=Sと(ST505)して、外部データ入力部102からイメージバス103、バスブリッジ109を介してSDRAM110上にNラインデータの入力処理を行い、この時、JBIGエンコードパラメータ125内のソースメモリアドレスで指定されるアドレスが書き込み開始アドレスとなる様にDMAコントローラ108でデータ転送を行う(ST506)。
次に、ローカル制御CPU113は、SDRAM110の前記ソースメモリアドレスから順次データをJBIGエンコーダ107へDMAコントローラ108によりデータ転送しながら、NラインJBIGエンコード処理を行い、変換された符号データはJBIGエンコードパラメータ125内のディスティネーションメモリアドレスで指定された、SDRAM110上のアドレスを書き込み開始アドレスとして順次書き込まれる(ST507)。
次に、ローカル制御CPU113は、前記NラインのJBIGエンコード処理(ST507)でSDRAM110上に書き込まれた符号データをバスブリッジ109、イメージバス103を介して、外部データ出力部104にDMAコントローラ108でデータ転送し、ホストイメージバス101にデータ出力する(ST512)。
次に、ローカル制御CPU113は、累積ライン数Tの計算(ST503)に戻り、累積ライン数Tが1ページライン数以上となるまで繰り返す。
累積ライン数Tが1ページライン数以上となる場合、ローカル制御CPU113は、JBIGエンコードの所定ライン数Nは、N=S+1ページライン数−Tとして計算し(ST508)、前記(ST506)と同様にNラインのデータ入力処理を行い(ST509)、前記(ST507)と同様にNラインのJBIG符号化(エンコード)処理を行い(ST510)、前記(ST512)と同様に解像度変換出力データを外部に出力する(ST513)。
ローカル制御CPU113は、結果情報を内部パラメータ122の結果情報テーブル130に書き込み(ST511)、処理を終了させる。
図6、図7は、複合処理サブプログラム(ST214)の動作を示すフロー図である。
ここで説明する複合処理は、同一の画像処理を2回以上選択する事を禁止する条件で動作させる。
ローカル制御CPU113は、外部データ入力部102からイメージバス103、バスブリッジ109を介してSDRAM110上にデータ転送が可能とし、複合処理パラメータ126のページメモリ1アドレスで指定されるアドレスが書き込み開始アドレスとなる様にDMAコントローラ108を設定する。(ST601)。
次に、ローカル制御CPU113は、複合処理パラメータ126内に有る1ページのライン数が確定済みか未確定かを示すビットを参照し、1ページのライン数が確定していない場合は(ST602)、1ラインデータを外部データ入力部102からイメージバス103、バスブリッジ109を介してSDRAM110上にデータ転送し(ST603)、外部ホストCPU131からページ入力終了コマンドコードがコマンドレジスタ114に書き込まれ、ページ入力終了コマンド発行状態となるまで繰り返し(ST605)、ページ入力終了コマンド発行時のライン数カウント値を1ページのライン数とする(ST604)。
ページ入力終了コマンド(ST605)の機能により、1ページのライン数が未確定な状態であっても、外部ホストCPU131はライン数の確定を待たずに画像データを入力が可能となり、データ入力処理時間を含めた画像処理時間を短縮できる。
一方、ST602において1ページのライン数が確定している場合は、ローカル制御CPU113は、複合処理パラメータ126内の入力画像サイズを参照し、そのライン数に従って1ページ分のデータを外部データ入力部102からイメージバス103、バスブリッジ109を介してSDRAM110上にデータ転送し、データ入力する(ST605A)。
次に、ローカル制御CPU113は、内部パラメータ計算とテーブル書き換えのサブプログラムを実行する(ST606)。なお、ST606の処理の詳細は後述する。
次に、ローカル制御CPUは113、内部パラメータテーブル122の複合処理順序を参照し、第1画像処理が回転の場合は(ST607)、内部パラメータテーブル122の回転パラメータ124を参照し回転部106の内部レジスタの設定を行い(ST608)、次に回転変換処理サブプログラム(ST210)内の回転処理(ST403)と同じ処理を行い1ページ回転処理を実行し(ST609)、結果情報を内部パラメータ122の結果情報テーブル130に書き込む(ST610)。
一方、第1画像処理が解像度変換の場合(ST611)は、ローカル制御CPU113は、内部パラメータテーブル122の解像度変換パラメータ123を参照し解像度変換部の内部レジスタ設定を行い、解像度変換ライン数Nに1ページのライン数を設定し(ST612)、解像度変換処理サブプログラム(ST208)内のNライン解像度変換処理(ST310)と同じ処理を実行し(ST613)、結果情報を内部パラメータ122の結果情報テーブル130に書き込む(ST614)。
また、第1画像処理がJBIGエンコード処理の場合は(ST615)、ローカル制御CPU113は、内部パラメータテーブル122のJBIGエンコードパラメータ125を参照しJBIGエンコーダ107の内部レジスタ設定を行い、JBIGエンコードライン数Nに1ページのライン数を設定し(ST616)、JBIGエンコード処理サブプログラム(ST212)内のNラインのJBIGエンコード処理(ST507)と同じ処理を実行し(ST617)、結果情報を内部パラメータ122の結果情報テーブル130に書き込む(ST618)。
次に、第2画像処理が回転の場合は(ST619)、ローカル制御CPU113は、内部パラメータテーブル122の回転パラメータ124を参照し回転ブロックレジスタ設定を行い(ST620)、次に1ページ回転処理を実行し(ST621)、結果情報を内部パラメータ122の結果情報テーブル130に書き込む(ST622)。
また、第2画像処理が解像度変換の場合は(ST623)、ローカル制御CPU113は、内部パラメータテーブル122の解像度変換パラメータ123を参照し解像度変換ブロックのレジスタ設定と初期化を行い、解像度変換ライン数Nに1ページのライン数を設定し(ST624)、Nライン解像度変換処理を実行し(ST625)、結果情報を内部パラメータ122の結果情報テーブル130に書き込む(ST626)。
また、第2画像処理がJBIGエンコード処理の場合は(ST627)、ローカル制御CPU113は、内部パラメータテーブル122のJBIGエンコードパラメータ125を参照しJBIGエンコードブロックレジスタ設定を行い、JBIGエンコードライン数Nに1ページのライン数を設定し(ST628)、NラインのJBIGエンコード処理を実行し(ST629)、結果情報を内部パラメータ122の結果情報テーブル130に書き込む(ST630)。
次に、第3画像処理がJBIGエンコード処理の場合は(ST631)、ローカル制御CPU113は、内部パラメータテーブル122のJBIGエンコードパラメータ125を参照しJBIGエンコードブロックレジスタ設定を行い、JBIGエンコードライン数Nに1ページのライン数を設定し(ST632)、NラインのJBIGエンコード処理を実行し(ST633)、結果情報を内部パラメータ122の結果情報テーブル130に書き込み(ST634)、次に、ローカル制御CPU113は、以上の複合処理でSDRAM110上のページメモリ2に書き込まれている複合処理出力データをバスブリッジ109、イメージバス103を介して、外部データ出力部104にDMAコントローラ108でデータ転送し、ホストイメージバス101にデータ出力する(ST635)。
このように、複合処理パラメータを用いることにより、単独画像処理のサブプログラムを複合処理の制御手順に従って動作させる事ができ、指定した複数の画像処理を任意の組み合わせと任意の処理順番で連続して画像処理可能であり、かつ出力画像サイズが変化する画像処理を組み合わせた場合でも、処理途中で外部ホストCPU131の介在を必要とせずに一つのコマンドで画像処理することができる。
また、内部パラメータテーブル122の複合処理順序の制限事項として、上記第1画像処理でJBIGエンコードが選択された場合、出力データは符号となるので、第2、第3画像処理に指定可能な処理は無く、第2、第3画像処理は設定禁止となる。同様の理由で第2画像処理でJBIGエンコードが選択された場合、第3画像処理は指定禁止となる。また同一の画像処理を2回以上選択する事は禁止される。
上記第3画像処理に回転と解像度変換の実行条件が無いのは、内部パラメータテーブル122の禁止条件として、その様な設定条件が発生しない為である。
図8、図9は、内部パラメータ計算とテーブル書き換えのサブプログラム(ST606)の動作を示すフロー図である。この処理は複合処理のサブプログラムより起動する。
複合処理パラメータ126には、図2のパラメータテーブルコピー(ST202)の時点で、図10のように、入力画像サイズ(Xin、Yin)と画像処理機能ブロックの処理順序情報として第1画像処理、第2画像処理、第3画像処理内容と、画像サイズ制御情報として解像度変換倍率(Mx,My)と回転角度情報(Rt)、メモリ制御情報としてページメモリ1アドレス(P1A)、ページメモリ2アドレス(P2A)が与えられる。
ローカル制御CPU113は、第1処理の入力画素数(X1、Y1)を入力画像サイズ(Xin、Yin)として(ST801)、第1画像処理が回転の場合は(ST802)、回転パラメータ124の内容として図15に示す入力画像サイズ(画素数)(PROTXi,PROTYi)を第1処理の入力画素数(X1、Y1)に変更し、同じく図15に示すソースメモリアドレス(PRTSA)をページメモリ1アドレス(P1A)にまたディスティネーションメモリアドレス(PRTDA)をページメモリ2アドレス(P2A)に変更する(ST803)。
次に、ローカル制御CPU113は、回転角度情報(Rt)が90度または270度回転の場合は(ST804)、第2処理の入力画素数(X2、Y2)と第1処理の入力画素数(X1、Y1)の縦横サイズ情報を入れ替えてX2=Y1、Y2=X1とし(ST805)、それ以外の場合はX2=X1、Y2=Y1とする(ST806)。
また、ローカル制御CPU113は、第1画像処理が解像度変換の場合は(ST807)、解像度変換パラメータ124の内容として図16に示す入力画素数(PRCVXi,PRCVYi)を第1処理の入力画素数(X1、Y1)に変更し、同じく図16に示すソースメモリアドレス(PRCSA)をページメモリ1アドレス(P1A)にまたディスティネーションメモリアドレス(PRCDA)をページメモリ2アドレス(P2A)に変更する(ST808)。
次に、ローカル制御CPU113は、解像度変換倍率(Mx、My)により第2処理の入力画素数(X2、Y2)は第1処理の入力画素数(X1、Y1)に解像度変換倍率(Mx、My)を掛けた値としX2=X1*Mx,Y2=Y1*Myとする(ST809)。
また、ローカル制御CPU113は、第1画像処理がJBIGエンコードの場合は(ST810)、JBIGエンコードパラメータ125の内容として図17に示す入力画素数(PCQMXi,PCQMYi)を第1処理の入力画素数(X1、Y1)に変更し、同じく図17に示すソースメモリアドレス(PCQSA)をページメモリ1アドレス(P1A)にまたディスティネーションメモリアドレス(PCQDA)をページメモリ2アドレス(P2A)変更する(ST811)。
次に、ローカル制御CPU113は、第2画像処理が回転の場合は(ST812)、回転パラメータ124の内容として図15に示す回転入力画像サイズ(画素数)(PROTXi,PROTYi)を第2処理の入力画素数(X2、Y2)に変更し、同じく図15に示すソースメモリアドレス(PRTSA)をページメモリ2アドレス(P2A)にまたディスティネーションメモリアドレス(PRTDA)をページメモリ1アドレス(P1A)に変更する(ST813)。
次に、ローカル制御CPU113は、回転角度情報(Rt)が90度または270度回転の場合は(ST814)、第3処理の入力画素数(X3、Y3)は第2処理の入力画素数(X2、Y2)の縦横サイズ情報を入れ替えてX3=Y2、Y3=X2とし(ST815)、それ以外の場合はX3=X2、Y3=Y2とする(ST816)。
また、ローカル制御CPU113は、第2画像処理が解像度変換の場合は(ST817)、解像度変換パラメータ124の内容として図16に示す入力画素数(PRCVXi,PRCVYi)を第2処理の入力画素数(X2、Y2)に変更し、同じく図16に示すソースメモリアドレス(PRCSA)をページメモリ2アドレス(P2A)にまたディスティネーションメモリアドレス(PRCDA)をページメモリ1アドレス(P1A)に変更する(ST818)。
次に、ローカル制御CPU113は、解像度変換倍率(Mx、My)により第3処理の入力画素数(X3、Y3)は第2処理の入力画素数(X2、Y2)に解像度変換倍率(Mx、My)を掛けた値としX3=X2*Mx,Y3=Y2*Myとする(ST819)。
また、ローカル制御CPU113は、第2画像処理がJBIGエンコードの場合は(ST820)、JBIGエンコードパラメータ125の内容として図17に示す入力画素数(PCQMXi,PCQMYi)を第2処理の入力画素数(X2、Y2)に変更し、同じく図17に示すソースメモリアドレス(PCQSA)をページメモリ2アドレス(P2A)にまたディスティネーションメモリアドレス(PCQDA)をページメモリ1アドレス(P1A)に変更する(ST821)。
次に、ローカル制御CPU113は、第3画像処理がJBIGエンコードの場合は(ST822)、JBIGエンコードパラメータ125の内容として図17に示す入力画素数(PCQMXi,PCQMYi)を第3処理の入力画素数(X3、Y3)に変更し、同じく図17に示すソースメモリアドレス(PCQSA)をページメモリ1アドレス(P1A)にまたディスティネーションメモリアドレス(PCQDA)をページメモリ2アドレス(P2A)に変更し、処理を終了する(ST822)。
このように、画像処理機能ブロックの処理順序情報と前記入力画像サイズと画像サイズ制御情報として変倍率や回転角度などの出力画像サイズを変更する制御情報をから、内部パラメータテーブルにコピーされた個別処理パラメータテーブル情報を計算し変更することにより、出力画像サイズが変化する画像処理を組み合わせた場合でも、処理途中で外部ホストCPU131の介在を必要とせずに一つのコマンドで画像処理することができる。
つまり、内部パラメータ計算とテーブル書き換えのサブプログラム処理(ST606)により、拡大縮小、回転等の画像処理パラメータの内容により出力画像サイズが変化する場合でも、外部ホストCPU131は一つのコマンドの設定のみで処理を完結する事ができ、外部ホストCPU131の処理時間を短縮できる。
また第1画像処理はソースアドレスをページメモリ1(P1A)、ディスティネーションメモリアドレスをページメモリ2(P2A)、第2画像処理はソースアドレスをページメモリ2(P2A)、ディスティネーションメモリアドレスをページメモリ1(P1A)、第3画像処理はソースアドレスをページメモリ1(P1A)、ディスティネーションメモリアドレスをページメモリ2(P2A)として指定され、2つのページメモリ領域を往復させて画像処理させる事により、画像処理内容には関係無く、また複合処理の回数が増えても、復号処理パラメータで指定された2面のページメモリ内で画像処理ができ、メモリ空間を有効に使う事ができる。
図11〜図13は、複合処理サブプログラム(ST214)の第2の実施例の動作を示すフロー図である。この複合処理は、同一の画像処理を複数回で動作させる事が可能なものである。
複合処理パラメータ126には、図2のパラメータテーブルコピー(ST202)の時点で、図14のように、入力画像サイズ(Xin、Yin)と、画像処理機能ブロックの処理順序情報として第1画像処理、第2画像処理、および第3画像処理内容と、画像サイズ制御情報として第1画像処理の解像度変換倍率(M1x、M1y)と回転角度情報(R1)、第2画像処理の解像度変換倍率(M2x、M2y)と回転角度情報(R2)、第3画像処理の解像度変換倍率(M3x、M3y)と回転角度情報(R3)と、メモリ制御情報としてページメモリ1アドレス(P1A)、ページメモリ1アドレス(P2A)が与えられる。
ローカル制御CPU113は、次に外部データ入力部102からイメージバス103、バスブリッジ109を介してSDRAM110上にデータ転送が可能となり、複合処理パラメータ126のページメモリ1アドレスで指定されるアドレスが書き込み開始アドレスとなる様にDMAコントローラ108を設定する(ST1101)。
次にローカル制御CPU113は、複合処理パラメータ126内に有る1ページのライン数が確定済みか未確定かを示すビットを参照し、1ページのライン数が確定していない場合は(ST1102)、1ラインデータを外部データ入力部102からイメージバス103、バスブリッジ109を介してSDRAM110上にデータ転送し(ST1103)、外部ホストCPU131からページ入力終了コマンドコードがコマンドレジスタ114に書き込まれ、ページ入力終了コマンド発行状態となるまで繰り返し(ST1105)、ページ入力終了コマンド発行時のライン数カウント値を1ページのライン数とする(ST1104)。
ページ入力終了コマンド(ST1105)の機能により、1ページのライン数が未確定な状態であっても、外部ホストCPU131はライン数の確定を待たずに画像データを入力が可能となり、データ入力処理時間を含めた画像処理時間を短縮できる。
一方、ST1102において1ページのライン数が確定している場合は、ローカル制御CPU113は、複合処理パラメータ126内の入力画像サイズを参照し、そのライン数に従って1ページ分のデータを外部データ入力部102からイメージバス103、バスブリッジ109を介してSDRAM110上にデータ転送し、データ入力する(ST1106)。
この時点で、ローカル制御CPU113は、画像処理の入力画像サイズ(Xi、Yi)を確定する(ST1107)。
次に、ローカル制御CPU113は、複合処理パラメータ126の内容として図14に示す第1画像処理、第2画像処理、第3画像処理を参照し、第1画像処理が回転の場合は(ST1108)、回転部106の内部レジスタに内部パラメータテーブル122の回転パラメータ124を設定し、その後に回転部106の内部レジスタである回転角度レジスタに第1画像処理の回転角度情報(R1)を、同じく入力画像サイズレジスタに入力画像サイズ(Xi、Yi)を、同じくソースアドレスレジスタにページメモリ1アドレス(P1A)を、同じくディスティネーションメモリアドレスレジスタにページメモリ2アドレス(P2A)を設定し直す(ST1109)。
次に、ローカル制御CPU113は、1ページの回転処理を実行する(ST1110)。
次に、ローカル制御CPU113は、第1画像処理の回転角度情報が90度または270度の場合(ST1111)、出力画像サイズ(Xo,Yo)は入力が画像サイズ(Xi,Yi)の縦横サイズ情報を入れ替えてXo=Yi、Yo=Xiとし(ST1112)、それ以外の場合はXo=Xi、Yo=Yiとする(ST1113)。次に、ローカル制御CPU113は、結果情報を内部パラメータ122の結果情報テーブル130に書き込む(ST1114)。
また、ローカル制御CPU113は、第1画像処理が解像度変換の場合は(ST1115)、解像度変換部105の内部レジスタに内部パラメータテーブル122の解像変換パラメータ123を設定し、その後に解像度変換部105の内部レジスタである変換倍率レジスタに第1画像処理の解像度変換倍率情報から解像度変換倍率(M1x,M1y)を、同じく入力画像サイズレジスタに入力画像サイズ(Xi、Yi)を、同じくソースアドレスレジスタにページメモリ1アドレス(P1A)を、同じくディスティネーションメモリアドレスレジスタにページメモリ2アドレス(P2A)を設定し直す(ST1116)。
次に、ローカル制御CPU113は、解像度変換ライン数Nに1ページのライン数を設定しN=Yiとし(ST1117)、Nラインの解像度変換処理を実行する(ST1118)。
次に、ローカル制御CPU113は、第1画像処理の解像度変換倍率(M1x、M1y)により出力画素数(Xo、Yo)は入力画素数(Xi、Yi)に解像度変換倍率(M1x、M1y)を掛けた値とし、Xo=Xi*M1x,Yo=Yi*M1yとする(ST1119)。次に、ローカル制御CPU113は、結果情報を内部パラメータ122の結果情報テーブル130に書き込む(ST1120)。
また、ローカル制御CPU113は、第1画像処理がJBIGエンコードの場合は(ST1121)、JBIGエンコーダ107の内部レジスタに内部パラメータテーブル122のJBIGエンコードパラメータ125を設定し、その後JBIGエンコーダ107の内部レジスタである入力画像サイズレジスタに入力画像サイズ(Xi、Yi)を、同じくソースアドレスレジスタにページメモリ1アドレス(P1A)を、同じくディスティネーションメモリアドレスレジスタにページメモリ2アドレス(P2A)を設定し直す(ST1122)。
次に、ローカル制御CPU113は、JBIGエンコードライン数Nに1ページのライン数を設定しN=Yiとし(ST1123)、NラインのJBIGエンコード処理を実行する(ST1124)。そして、ローカル制御CPU113は、画像処理が終了した後に符号データ量などの画像処理結果情報を内部パラメータテーブル122の結果情報テーブル130に書き込む(ST1125)。
そして、ローカル制御CPU113は、以上の何れかの画像処理が終了した後、次の第2画像処理の入力画像サイズ(Xi,Yi)を確定し、Xi=Xo、Yi=Yoとする(ST1126)。
次に、ローカル制御CPU113は、第2画像処理が回転の場合は(ST1127)、回転部106の内部レジスタに内部パラメータテーブル122の回転パラメータ124を設定し、その後に回転部106の内部レジスタである回転角度レジスタに第2画像処理の回転角度情報(R2)を、入力画像サイズレジスタに入力画像サイズ(Xi、Yi)を、同じくソースアドレスレジスタにページメモリ2アドレス(P2A)を、同じディスティネーションメモリアドレスレジスタにページメモリ1アドレス(P1A)を設定し直す(ST1128)。次に、ローカル制御CPU113は、1ページの回転処理を実行する(ST1129)。
ローカル制御CPU113は、第2画像処理の回転角度情報が90度または270度の場合(ST1130)、出力画像サイズ(Xo,Yo)は入力が画像サイズ(Xi,Yi)のの縦横サイズ情報を入れ替えてXo=Yi、Yo=Xiとし(ST1131)、それ以外の場合はXo=Xi、Yo=Yiとする(ST1132)。次に、ローカル制御CPU113は、画像処理結果情報を内部パラメータテーブル122の結果情報テーブル130に書き込む(ST1133)。
また、ローカル制御CPU113は、第2画像処理が解像度変換の場合は(ST1134)、解像度変換部105の内部レジスタに内部パラメータテーブル122の解像変換パラメータ123を設定し、その後に解像度変換部105の内部レジスタである変換倍率レジスタに第2画像処理の解像度変換倍率情報から解像度変換倍率(M2x,M2y)を、同じく入力画像サイズレジスタに入力画像サイズ(Xi、Yi)を、同じくソースアドレスレジスタにページメモリ2アドレス(P2A)を、同じくディスティネーションメモリアドレスレジスタにページメモリ1アドレス(P1A)を設定し直す(ST1135)。次に、_ローカル制御CPU113は、解像度変換ライン数Nに1ページのライン数を設定しN=Yiとし(ST1136)、Nラインの解像度変換処理を実行する(ST1137)。
次に、ローカル制御CPU113は、第2画像処理の解像度変換倍率(M2x、M2y)により出力画素数(Xo、Yo)は入力画素数(Xi、Yi)に解像度変換倍率(M2x、M2y)を掛けた値としXo=Xi*M2x,Yo=Yi*M2yとする(ST1138)。次に、ローカル制御CPU113は、画像処理結果情報を内部パラメータテーブル122の結果情報テーブル130に書き込む(ST1139)。
また、ローカル制御CPU113は、第2画像処理がJBIGエンコードの場合は(ST1140)、JBIGエンコーダ107の内部レジスタに内部パラメータテーブル122のJBIGエンコードパラメータ125を設定し、その後JBIGエンコーダ107の内部レジスタである入力画像サイズレジスタに入力画像サイズ(Xi、Yi)を、同じくソースアドレスレジスタにページメモリ2アドレス(P2A)を、同じくディスティネーションメモリアドレスレジスタにページメモリ1アドレス(P1A)を設定し直す(ST1141)。
次に、ローカル制御CPU113は、JBIGエンコードライン数Nに1ページのライン数を設定しN=Yiとし(ST1142)、NラインのJBIGエンコード処理を実行する(ST1143)。そして、ローカル制御CPU113は、画像処理が終了した後に符号データ量などの画像処理結果情報を内部パラメータテーブル122の結果情報テーブル130に書き込む(ST1144)。
以上の何れかの画像処理が終了した後、ローカル制御CPU113は、次の第3画像処理の入力画像サイズ(Xi,Yi)を確定し、Xi=Xo、Yi=Yoとする(ST1145)。
次に、ローカル制御CPU113は、第3画像処理が回転の場合は(ST1146)、回転部106の内部レジスタに内部パラメータテーブル122の回転パラメータ124を設定し、その後に回転部106の内部レジスタである回転角度レジスタに第3画像処理の回転角度情報(R3)を、同じく入力画像サイズレジスタに入力画像サイズ(Xi、Yi)を、同じくソースアドレスレジスタにページメモリ1アドレス(P1A)を、同じくディスティネーションメモリアドレスレジスタにページメモリ2アドレス(P2A)を設定し直す(ST1147)。次に、ローカル制御CPU113は、1ページの回転処理を実行する(ST1148)。第3画像処理の回転角度情報が90度または270度の場合(ST1149)、ローカル制御CPU113は、出力画像サイズ(Xo,Yo)は入力が画像サイズ(Xi,Yi)のの縦横サイズ情報を入れ替えてXo=Yi、Yo=Xiとし(ST1150)、それ以外の場合はXo=Xi、Yo=Yiとする(ST1151)。次に画像処理結果情報を内部パラメータテーブルの結果情報テーブル130に書き込む(ST1152)。
また、ローカル制御CPU113は、第3画像処理が解像度変換の場合は(ST1153)、解像度変換部105の内部レジスタに内部パラメータテーブル122の解像変換パラメータ123を設定し、その後に解像度変換部105の内部レジスタである変換倍率レジスタに第3画像処理の解像度変換倍率情報から解像度変換倍率(M3x,M3y)を、同じく入力画像サイズレジスタに入力画像サイズ(Xi、Yi)を、同じくソースアドレスレジスタにページメモリ1アドレス(P1A)を、同じくディスティネーションメモリアドレスレジスタにページメモリ2アドレス(P2A)を設定し直す(ST1154)。次に、ローカル制御CPU113は、解像度変換ライン数Nに1ページのライン数を設定しN=Yiとし(ST1155)、Nラインの解像度変換処理を実行する(ST1156)。
ローカル制御CPU113は、第3画像処理の解像度変換倍率(M3x、M3y)により出力画素数(Xo、Yo)は入力画素数(Xi、Yi)に解像度変換倍率(M3x、M3y)を掛けた値とし、Xo=Xi*M3x,Yo=Yi*M3yとする(ST1157)。次に画像処理結果情報を内部パラメータテーブル122の結果情報テーブル130に書き込む(ST1158)。
また、ローカル制御CPU113は、第3画像処理がJBIGエンコードの場合は(ST1159)、JBIGエンコーダ107の内部レジスタに内部パラメータテーブル122のJBIGエンコードパラメータ125を設定し、その後JBIGエンコーダ107の内部レジスタである入力画像サイズレジスタに入力画像サイズ(Xi、Yi)を、同じくソースアドレスレジスタにページメモリ1アドレス(P1A)を、同じくディスティネーションメモリアドレスレジスタにページメモリ2アドレス(P2A)を設定し直す(ST1160)。次に、ローカル制御CPU113は、JBIGエンコードライン数Nに1ページのライン数を設定しN=Yiとし(ST1161)、NラインのJBIGエンコード処理を実行する(ST1162)。
そして、ローカル制御CPU113は、画像処理が終了した後に符号データ量などの画像処理結果情報を内部パラメータテーブル122の結果情報テーブル130に書き込む(ST1163)。
次に、ローカル制御CPU113は、以上の複合処理でSDRAM110上のページメモリ#2に書き込まれている複合処理出力データをバスブリッジ109、イメージバス103を介して、外部データ出力部104にDMAコントローラ108でデータ転送し、ホストイメージバス101にデータ出力する(ST1164)。
上記の複合処理サブプログラム(ST214)の第2の実施例では、復号処理パラメータの内容に、入力画像サイズと、画像処理順番毎に画像処理指定情報と画像サイズ制御情報として変倍率や回転角度などの出力画像サイズを変更する制御情報を持たせる事により、画像処理順序毎に指定され画像サイズ制御情報に従って各画像処理機能ブロック内のレジスタを再設定し、画像処理を実行すると共に出力画像サイズを計算し、その出力画像サイズを次の画像処理の入力画像サイズとする処理を順次行う事により、拡大縮小、回転等の画像処理パラメータの内容により出力画像サイズが変化し、さらに同一画像処理が複数回設定された場合でも、外部ホストCPU131は、画像処理パラメータテーブルを変更する必要がなく、一つのコマンドの設定のみで処理を完結する事ができ、外部ホストCPU131の処理時間を短縮できる。
以上説明したように、本実施の形態によれば、パラメータメモリ115上の画像処理パラメータテーブル116とSDRAM110上の内部パラメータ122の構成に示すように、任意の画像処理の組み合わせの状態応じて、画像処理パラメータを個別に持つ必要がなくなり、画像処理パラメータ数を減らす事ができ、メモリ上のパラメータテーブルの占有領域を減らし、画像信号処理装置の内蔵メモリ資源を削減し、効率的に使用する事ができる。
また、複合処理パラメータ126を用いることにより、単独画像処理のサブプログラムを複合処理の制御手順に従って動作させる事ができ、指定した複数の画像処理を任意の組み合わせと任意の処理順番で連続して画像処理可能であり、ローカル制御CPU113の制御プログラムを個別に持つ必要がなくなり、プログラミング作業量を抑える事ができ開発工数が低減できると共に、μプログラムデータ量を抑える事ができROMμプログラム127の必要容量を削減できる。
図18は、上述した画像信号処理装100を適用したディジタル複合機の機能ブロックである。
使用者がディジタル複合機の機能と動作開始を設定する為のパネル部201と、前記パネル部201の設定により各機能モジュールの機能を設定し動作を制御するホストCPU200とを備える。ホストCPU200は図1における外部ホストCPU131である。
また、画像データを読み取るイメージスキャナ部202と、ネットワークからデータを入出力する為のネットワークインターフェース部203と、データ記憶部205と、画像を印字する為のプリンタ部204とを設けている。
画像信号処理装置100は、前記イメージスキャナ部202で読み取った画像データを初めとしてホストCPU200から指示される画像データに対して、解像度変換・回転、符号化・復号化等の画像信号処理を実行する。
前記パネル部201の設定が、ネットワークスキャナモードとなっていた場合は、ホストCPU200は画像信号処理装置100で符号化を行い、一旦、データ記憶部205に前記符号データを格納した後、前記ネットワークインターフェース部203を経由してネットワークへ出力する。
一方、前記パネル部201の設定が、コピーモードとなっていた場合は、ホストCPU200は画像信号処理装置100においてパネル部201で設定された画像処理を行い、一旦、データ記憶部205に格納した後、前記格納した画像データを前記プリンタ部204へ送りプリントする。
本発明によれば、複数の処理機能を有する画像信号処理装置において、一つのコマンドで、画像の補正、回転、拡大縮小、符号化、復号化などの画像処理を組み合わせて任意の処理順序で効率的な画像処理が実行できる。また、本発明は、画像の補正、回転、拡大縮小、符号化、復号化などを行う画像信号処理装置に関する。
100 画像信号処理装置
110 SDRAM
113 ローカル制御CPU
114 コマンドレジスタ
115 パラメータメモリ
122 内部パラメータ
110 SDRAM
113 ローカル制御CPU
114 コマンドレジスタ
115 パラメータメモリ
122 内部パラメータ
Claims (13)
- 複数の画像処理機能ブロックと、各画像処理機能ブロック毎にその個別動作内容を決定する個別画像処理パラメータテーブルを有する画像信号処理装置において、
画像処理機能ブロックの処理順序を決定する複合処理パラメータテーブルを有し、その複合処理パラメータテーブルの画像処理順序で、個別画像処理パラメータテーブルの個別動作内容に従って画像処理機能ブロックを順次動作させる事を特徴とする画像信号処理装置。 - 個別画像処理コマンドが発行された場合は、対応する個別処理パラメータテーブルと画像処理機能ブロックにより個別の画像処理を実行し、複合処理コマンドが発行された場合は、複合処理パラメータ設定に従って画像処理機能ブロックを順次動作させる事を特徴とする請求項1記載の画像信号処理装置。
- 複合処理コマンドが発行された場合は、外部ホストCPUが直接リード・ライト可能な個別処理パラメータテーブルと複合処理パラメータテーブルの内容を内部パラメータテーブルにコピーし、前記内部パラメータテーブルの複合処理パラメータの画像処理順序情報に従った順序で、画像処理機能ブロックを前記内部パラメータテーブルの個別処理パラメータテーブルの内容に従って動作させる事を特徴とする請求項2記載の画像信号処理装置。
- 複合処理パラメータテーブルに入力画像サイズと、画像サイズ制御情報として変倍率や回転角度などの出力画像サイズを変更する制御情報を有し、複合処理コマンドが発行された場合は、内部パラメータテーブルにコピーされた複合処理パラメータテーブルの画像処理順序情報と前記入力画像サイズと画像サイズ制御情報から、内部パラメータテーブルにコピーされた個別処理パラメータテーブル情報を計算し変更する手段を有する請求項3記載の画像信号処理装置。
- 複合処理パラメータテーブルに入力画像サイズと、画像処理順番毎に画像処理指定情報と画像サイズ制御情報として変倍率や回転角度などの出力画像サイズを変更する制御情報を有し、複合処理コマンドが発行された場合は、内部パラメータテーブルにコピーされた復号処理パラメータテーブルの画像処理順番毎に画像処理指定情報に従って、まず第1画像処理として対応する個別処理パラメータテーブルを画像処理機能ブロックに設定し、次に前記入力画像サイズと画像サイズ制御情報に従った内容を画像処理機能ブロックに設定し、次に前記入力画像サイズと画像サイズ制御情報から出力画像サイズを演算し、次に画像処理を実行して第1画像処理を終了し、次に第2画像処理は前記出力画像サイズを入力画像サイズとして第1画像処理と同じ処理を繰り返し実行する事を特徴とする請求項3記載の画像信号処理装置。
- ページ入力終了コマンドが発行されるまで、ライン単位に画像データを入力し、そのライン数をカウントし、ページ入力終了コマンドが発行した時点のラインカウント数から求めた入力画像サイズとすることを特徴とする請求項3記載の画像信号処理装置。
- 画像処理機能ブロックを順次動作させた結果情報を順次内部パラメータの結果情報テーブルにライトする機能を有し、全ての画像処理が終了した後に前記内部パラメータの結果情報テーブルのみを画像処理パラメータの結果情報テーブルにライトバックする事を特徴とする請求項3記載の画像信号処理装置。
- ページメモリと同一メモリ上に内部パラメータテーブルをコピーする事を特徴した請求項3記載の画像信号処理装置。
- 複合処理パラメータにページメモリアドレス情報有し、複合処理コマンドが発行された場合は、画像処理機能ブロックの処理順序情報と前記ページメモリアドレス情報から、内部パラメータテーブルにコピーされた個別処理パラメータテーブルの画像データソースアドレスとデスティネーションアドレス変更する手段を有する請求項3記載の画像信号処理装置。
- 複合処理パラメータテーブルにページメモリアドレス情報有し、複合処理コマンドが発行された場合は、画像処理機能ブロックの処理順序情報に従った順序で、まず第1画像処理として対応する個別処理パラメータテーブルを画像処理機能ブロックレジスタに設定し、次に画像処理機能ブロックの処理順序情報とページメモリアドレス情報から、画像処理機能ブロックの画像データのソースアドレスレジスタとデスティネーションアドレスレジスタを設定し、画像処理を実行し、第2画像処理以降は同一の処理を繰り返す事を特徴とする請求項3記載の画像信号処理装置。
- 内部パラメータテーブルをコピーする内部パラメータ領域を外部のホストCPUのアクセス禁止領域とした事を特徴とする請求項8記載の画像信号処理装置。
- 内部パラメータテーブルのコピー後に、テーブル内の画像データのソースアドレスとデスティネーションアドレス値とページメモリアドレス値をチェックする手段を有し、前記のアドレス値が事前に指定されていたデータ領域以外の場合は、パラメータエラー有りとして、指定された画像処理を実行せず、指定コマンドを終了する事を特徴とする請求項8記載の画像信号処理装置。
- 請求項1記載の画像信号処理装置と、前記画像信号処理装置から出力される画像データを印刷するプリンタとを備えたディジタル複合機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005059404A JP2006115447A (ja) | 2004-09-15 | 2005-03-03 | 画像信号処理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004269025 | 2004-09-15 | ||
JP2005059404A JP2006115447A (ja) | 2004-09-15 | 2005-03-03 | 画像信号処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006115447A true JP2006115447A (ja) | 2006-04-27 |
Family
ID=36383530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005059404A Withdrawn JP2006115447A (ja) | 2004-09-15 | 2005-03-03 | 画像信号処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006115447A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007318685A (ja) * | 2006-05-29 | 2007-12-06 | Ricoh Co Ltd | 画像処理装置、アプリケーション実行方法及びアプリケーション実行プログラム |
JP2008092472A (ja) * | 2006-10-04 | 2008-04-17 | Ricoh Co Ltd | 画像処理装置 |
JP2008153949A (ja) * | 2006-12-18 | 2008-07-03 | Ricoh Co Ltd | 画像処理装置及び画像処理方法 |
JP2014048906A (ja) * | 2012-08-31 | 2014-03-17 | Canon Inc | 画像処理装置、画像処理方法、およびプログラム |
KR101743868B1 (ko) * | 2016-01-26 | 2017-06-07 | 네이버 주식회사 | 이미지 프로세싱 방법 및 그 시스템 |
-
2005
- 2005-03-03 JP JP2005059404A patent/JP2006115447A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007318685A (ja) * | 2006-05-29 | 2007-12-06 | Ricoh Co Ltd | 画像処理装置、アプリケーション実行方法及びアプリケーション実行プログラム |
JP2008092472A (ja) * | 2006-10-04 | 2008-04-17 | Ricoh Co Ltd | 画像処理装置 |
JP2008153949A (ja) * | 2006-12-18 | 2008-07-03 | Ricoh Co Ltd | 画像処理装置及び画像処理方法 |
JP2014048906A (ja) * | 2012-08-31 | 2014-03-17 | Canon Inc | 画像処理装置、画像処理方法、およびプログラム |
US9626731B2 (en) | 2012-08-31 | 2017-04-18 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method that calculate a number of pixels, required for outputting a size of an output image, according to obtained processing parameters and a predetermined processing order |
KR101743868B1 (ko) * | 2016-01-26 | 2017-06-07 | 네이버 주식회사 | 이미지 프로세싱 방법 및 그 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006115447A (ja) | 画像信号処理装置 | |
JP4895262B2 (ja) | 情報処理装置、コントローラおよびファイル読み出し方法 | |
JP3148103B2 (ja) | 画像形成装置 | |
US7602998B2 (en) | Image signal processing apparatus | |
JP4099725B2 (ja) | 画像形成装置 | |
JP4114988B2 (ja) | データ処理装置 | |
JP2007164552A (ja) | メモリ制御装置およびデータ転送方法 | |
JP2004220575A (ja) | カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置 | |
JP2004072215A (ja) | 画像形成装置とその制御方法並びに画像形成システム及び記録媒体 | |
JP3072208B2 (ja) | 画像通信装置 | |
JPH11184801A (ja) | インタフェース装置及びデータ処理システム | |
JP2001232870A (ja) | 印刷装置及び印刷方法 | |
JP3359977B2 (ja) | 画像形成装置 | |
JP2007264751A (ja) | データ転送制御装置 | |
JP4010310B2 (ja) | 画像形成装置 | |
US20080112011A1 (en) | Output processing apparatus and data structure for executing its processing | |
JP2012070028A (ja) | 画像形成装置 | |
JPH09214746A (ja) | 画像出力システム及び画像形成装置 | |
JP5392037B2 (ja) | 情報処理装置 | |
JP2006150799A (ja) | 複合機におけるデータ処理方法 | |
JP2007179286A (ja) | 記憶装置および情報処理装置 | |
JPH08241404A (ja) | イメ−ジ処理装置 | |
JP4383310B2 (ja) | 画像符号化装置 | |
JP5656589B2 (ja) | データ転送装置、データ転送方法及びデータ転送プログラム | |
JP2005071104A (ja) | データ転送制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080206 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100506 |