JP2017207825A - 画像処理装置とその制御方法、及びプログラム - Google Patents
画像処理装置とその制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2017207825A JP2017207825A JP2016098149A JP2016098149A JP2017207825A JP 2017207825 A JP2017207825 A JP 2017207825A JP 2016098149 A JP2016098149 A JP 2016098149A JP 2016098149 A JP2016098149 A JP 2016098149A JP 2017207825 A JP2017207825 A JP 2017207825A
- Authority
- JP
- Japan
- Prior art keywords
- sram
- band
- image
- groups
- image processing
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System (AREA)
- Static Random-Access Memory (AREA)
Abstract
【課題】画像回転処理やウィンドウ処理の際、画像データの格納領域が、モードを切り替えるメモリ領域の境界を跨いでいるとモードの切り替えが多発するため、パフォーマンスの低下を招く。
【解決手段】それぞれが、制御信号により第1モードと当該第1モードよりも消費電力を低下させた第2モードで動作可能な複数のメモリを含む記憶手段を有し、複数のメモリを複数のグループに分割し、各グループのアドレスを管理し、画像データを複数のバンドに分割し、その管理された各グループのアドレスに基づいて、各バンドに対応する画像データを前記複数のグループの互いに異なるグループに、前記複数のグループの境界を跨がないように格納するように制御する。そして、複数のグループの内、アクセス対象のグループのメモリを前記第1モードで動作させ、アクセス対象でないグループのメモリを前記第2モードで動作させるように前記制御信号を出力して、複数のメモリの消費電力を制御する。
【選択図】 図3
【解決手段】それぞれが、制御信号により第1モードと当該第1モードよりも消費電力を低下させた第2モードで動作可能な複数のメモリを含む記憶手段を有し、複数のメモリを複数のグループに分割し、各グループのアドレスを管理し、画像データを複数のバンドに分割し、その管理された各グループのアドレスに基づいて、各バンドに対応する画像データを前記複数のグループの互いに異なるグループに、前記複数のグループの境界を跨がないように格納するように制御する。そして、複数のグループの内、アクセス対象のグループのメモリを前記第1モードで動作させ、アクセス対象でないグループのメモリを前記第2モードで動作させるように前記制御信号を出力して、複数のメモリの消費電力を制御する。
【選択図】 図3
Description
本発明は、画像処理装置とその制御方法、及びプログラムに関するものである。
SRAMのメモリアレイに記憶された記憶情報を保持しながらその他の周辺回路への電源供給を遮断して、メモリアレイのリーク電流を低減する技術がある。
レジュームスタンバイモード(以下、RSモード)を有するSRAMをレジュームSRAMと呼び、大容量化が進むメモリや、又はメモリを有する半導体集積回路の消費電力を削減する技術として期待されている。レジュームSRAMは、特定の容量以上の領域を同時にRSモードから通常モードに復帰させるとラッシュカレント(突入電流)が増大し、低電圧動作における記憶情報の保持を保障するのが困難になるという問題がある。
この問題を解決するために、例えば特許文献1には、レジュームSRAMを特定の容量以下のグループに分割して、各グループをデイジーチェーンで接続する技術が提案されている。これによれば、各グループをRSモードから通常モードに復帰させるタイミングを遅延させることで、複数グループが同時に復帰するのを防止してラッシュカレントのピーク電流を低減させている。
しかしながら、RSモードと通常モード間との間でのモード移行の際に、SRAMに入力するクロック信号が動作していると、電源電圧の揺れを引き起こし、SRAMの記憶情報を保持することを保障できなくなるという問題がある。よって、モードを切り替える際には、クロック信号を一旦停止して所定の期間が経過した後に、モードの切り替えを行う必要がある。従って、パフォーマンスが要求される処理でレジュームSRAMを使用しているときに、処理途中でモードの切り替えが発生するとメモリへのアクセスができなくなり、パフォーマンスが低下するという課題がある。
本発明の目的は、上記従来技術の課題を解決することにある。
本発明の目的は、モードの切り替えが発生する回数を少なくして、パフォーマンスの低下を極力抑えることができる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
それぞれが、制御信号により第1モードと当該第1モードよりも消費電力を低下させた第2モードで動作可能な複数のメモリを含む記憶手段と、
前記複数のメモリを複数のグループに分割し、各グループのアドレスを管理する管理手段と、
画像データを複数のバンドに分割し、前記管理手段により管理された各グループのアドレスに基づいて、各バンドに対応する画像データを前記複数のグループの互いに異なるグループに、前記複数のグループの境界を跨がないように格納するように制御する書き込み手段と、
前記複数のグループの内、アクセス対象のグループのメモリを前記第1モードで動作させ、アクセス対象でないグループのメモリを前記第2モードで動作させるように前記制御信号を出力する制御手段と、を有することを特徴とする。
それぞれが、制御信号により第1モードと当該第1モードよりも消費電力を低下させた第2モードで動作可能な複数のメモリを含む記憶手段と、
前記複数のメモリを複数のグループに分割し、各グループのアドレスを管理する管理手段と、
画像データを複数のバンドに分割し、前記管理手段により管理された各グループのアドレスに基づいて、各バンドに対応する画像データを前記複数のグループの互いに異なるグループに、前記複数のグループの境界を跨がないように格納するように制御する書き込み手段と、
前記複数のグループの内、アクセス対象のグループのメモリを前記第1モードで動作させ、アクセス対象でないグループのメモリを前記第2モードで動作させるように前記制御信号を出力する制御手段と、を有することを特徴とする。
本発明によれば、モードの切り替えが発生する回数を少なくして、パフォーマンスの低下を極力抑えることができるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態に係るMFPの構成を説明するブロック図。
実施形態に係る画像処理部の機能構成を示すブロック図。
実施形態に係る画像処理モジュールの構成を示すブロック図。
実施形態に係るSRAMの構成を説明するブロック図。
実施形態に係る画像処理部におけるレジュームSRAMのモード切り替えのタイミングを説明するタイミングチャート。
従来技術の課題を説明する図。
実施形態1に係る画像処理部の画像処理コアがSRAMを使用して画像データの回転処理を行う際のアドレス制御を説明するフローチャート。
本実施形態におけるSRAMグループ管理テーブルの一例を示す図。
実施形態1に係る画像処理モジュールが、レジュームSRAMを使用する際のアドレス制御を説明する図。
本発明の実施形態2に係る画像処理部の画像処理コアが、SRAMを使用して画像データのウィンドウ処理を行う際のアドレス制御を説明するフローチャート。
従来の技術を説明する図。
実施形態3に係る画像処理コアがSRAMを使用して回転処理を行う際のアドレス制御処理を説明するフローチャート。
実施形態3に係る画像処理モジュールが、レジュームSRAMを使用する際のアドレス制御を説明する図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本発明の実施形態に係る機能を備える画像処理装置として、スキャン、プリント、コピーなどの複数の機能を有するMFP(デジタル複合機)を例に説明する。
図1は、本発明の実施形態に係るMFPの構成を説明するブロック図である。
コントローラ100は、このMFPの動作を制御しており、スキャナ部109とプリンタ部108をそれぞれ、スキャナIF部106とプリンタIF部107を介して接続している。コントローラ100はこれらデバイスを制御することで、画像の読み取りや印刷を実行できる。コントローラ100では、CPU101がシステムバス112を介して後述する各部と接続されている。
CPU101は、画像処理部103の設定、スキャナ部109から入力される画像データの処理、プリンタ部108へ出力する画像データの処理などを行う。またCPU101は、HDD(ハードディスクドライブ)102からDRAM111に展開されたOSやアプリケーションプログラムを実行する。画像処理部103は、各種画像処理を行う回路であり、CPU101によって設定、制御され各種画像処理を行う。画像処理部103の構成の詳細は後述する。ここでの画像処理の一例としては、画像データの回転、変倍、色処理、トリミング・マスキング、2値変換、多値変換、白紙判定等の各種画像処理がある。またプリント画像処理としては、プリント対象の画像データに対して、プリンタ部108に応じた画像処理や補正等を行う。スキャン画像処理としては、スキャナ部109から入力された画像データに対して、補正、加工、編集等の各種処理を行う。
ROMIF部104は、ブートROM110にアクセスするためのIFモジュールである。MFPの電源が投入された時に、CPU101がROMIF部104を介してブートROM110にアクセスしてブートプログラムを実行し、HDD102にインストールされているプログラムをDRAM11に展開する。DRAMIF部105は、DRAM111にアクセスするためのIF(インターフェース)部である。DRAMIF部105は、DRAM111の設定や制御を行うためのレジスタを備えており、このレジスタはCPU101からアクセス可能である。操作部IF部113は、ユーザが操作部114を操作した操作指示を受け付け、また操作結果を表示するように制御する。ネットワークIF部112は、例えばLANカード等で実現され、図示していないがLAN等のネットワークに接続して外部装置との間でデバイス情報や画像データの入出力を行う。
図2は、実施形態に係る画像処理部103の機能構成を示すブロック図である。
この画像処理部103は、画像処理回路である画像処理モジュール201〜204を有している。尚、実施形態では、4つの画像処理モジュールを有する場合で説明するが、更に多数のモジュール数があっても、或いは少数のモジュール数であってもよい。また本実施形態では、これら画像処理モジュールはハードウェアで構成されているが、ソフトウェアで実現されても良い。
図3は、実施形態に係る画像処理モジュール201〜204の一つの構成を示すブロック図である。以下、図3を参照して、実施形態に係るSRAMの低消費電力モード(RSモード)への移行、及び通常モードへの復帰制御とクロック信号の制御を行う構成について説明する。尚、ここで画像処理モジュール201〜204は同じ構成を有しており、それぞれ、RS制御部301、CG(クロックゲーティングセル)302〜305、SRAM306〜309、及び画像処理回路である画像処理コア310を有している。
ここでSRAMは、前述したように、レジュームスタンバイモードで動作可能なメモリで、制御信号(RS信号)により第1モード(通常モード)と当該通常モードよりも消費電力を低下させた第2モード(RSモード)で動作可能である。
RS制御部301は、SRAM306〜309のRS信号(RS1、RS2、RS3、RS4)とクロック信号(CLK1、CLK2、CLK3、CLK4)を制御する。RS制御部301は、内部に図示しないカウンタ回路を備え、モード移行時における、RSi信号とCLKi信号を制御している。即ち、カウンタ回路は、通常モードからRSモードへ移行する際、CG302〜305のクロックゲートイネーブル信号であるCG_ENi(i=1〜4)に「1」を設定してから、RSiに「1」(RSモード)を設定するまでのクロック数をカウントする。又、RSモードから通常モードへ移行する際、RSi信号に「0」(通常モード)を設定してから、CG_ENiに「0」(クロック発振)を設定するまでのクロック数をカウントする。これらCG_ENi信号、RSi信号を設定するタイミングは、画像処理中に、SRAM306〜309に対して画像データの書き込み、或いは読み出しを行うタイミングに合わせて制御される。
CG302〜305は、画像処理モジュール201〜204の動作クロックであるCLK信号を入力し、CG_ENi信号によってSRAM306〜309の動作クロックであるCLKiの供給・停止を制御する。即ち、クロックゲートイネーブル信号CG_ENiが「1」のときはCLK信号を遮断し、CG_ENiが「0」のときはCLK信号をSRAMに供給する。SRAM306〜309は、レジュームスタンバイモードを備えるレジュームSRAMであり、RSiが「1」のときはRSモードに移行し、RSiが「0」のときは通常モードに移行し、それぞれ画像処理コア310へ接続されている。SRAM306〜309の詳細については後述する。画像処理コア310は画像処理回路であり、SRAM306〜309を画像データのバッファ等として使用して画像処理を行う。画像処理コア310は、SRAM306〜309へのデータ転送機能を有しており、SRAM306〜309への画像データの書き込み、及びSRAM306〜309からのデータの読み出し制御を行う。
SRAMグループ管理部311は、レジュームSRAMのメモリ領域を、ラッシュカレントを抑える特定のメモリ容量以下の単位で分割した各グループ(以下、SRAMグループ)のアドレスを管理する。本実施形態では、SRAM306〜309のそれぞれのSRAMの1つが、1つのSRAMグループとなる。尚、本実施形態では、SRAMグループは、1つのSRAMで構成されるものとして説明するが、SRAMグループは複数のSRAMで構成されてもよい。SRAMグループ管理部311は、画像処理コア310よりSRAMグループのID情報であるG_ID信号を受信すると、対応するSRAMグループの先頭アドレスGST_AD信号と、終了アドレスGED_AD信号を画像処理コア310へ出力する。これにより、画像処理コア310は、アクセスしたいSRAMグループの先頭アドレスと終了アドレスを取得することができ、それらアドレスに従ってSRAMにアクセスすることができる。
図4は、実施形態に係るSRAM306〜309の一つの構成を説明するブロック図である。尚、ここでSRAM306〜309は、全て同じ構成である。
入力信号は、チップセレクト信号(CS)、ライトイネーブル信号(WE)、アドレス信号(ADDR)、データ入力信号(DIN)、クロック信号(CLKi)及びレジュームスタンバイ信号(RSi)である。出力信号は、データ出力信号(DOUT)である。ここでiは1〜4のいずれかの値を取り得る。
制御部401は、CS信号やWE信号よりメモリ動作のタイミング信号を生成するタイミング制御回路を備える。又、RSi信号に従って、ワードドライバ部402とカラム部403への電力供給を遮断する回路を備える。更に、制御部401のRS制御以外の部分も、RSi信号が「1」の時に電力供給を遮断することが可能である。
ワードドライバ部402は、ADDR信号をデコードしてメモリアレイ部404のロウアドレスのどの領域を活性させるかを決定する。上述したようにワードドライバ部402は、制御部401によってRSモード時に電力供給が遮断される。カラム部403は、ADDR信号をデコードしてメモリアレイ部404のカラムアドレスのどの領域を活性させるかを決定する。上述したようにカラム部403も、制御部401によってRSモード時に電力供給が遮断される。メモリアレイ部404は、スタティック型のメモリセルをマトリクス状に配置し、ワードドライバ部402とカラム部403で決定されるメモリセルにデータを保持する。メモリアレイ部404は、RSモード時にも電力が供給されており、これによりRSモード時であっても、データを保持することができる。
次にレジュームSRAMのRSモード、及び通常モードのモード切り替え制御について説明する。
図5は、実施形態に係る画像処理部103におけるレジュームSRAMのモード切り替えのタイミングを説明するタイミングチャートである。
始めにレジュームSRAMがRSモードに移行するときのシーケンスを説明する。
画像処理部103の動作クロックであるCLK信号は、図示していないクロック生成モジュールから供給される信号で、MFPの電源がオンの状態で常に供給されている。
いま時間t0において、RS制御部301は、CPU101もしくは画像処理コア310の指示により、CG_ENi信号をクロック停止状態を示す「1」に設定する。CG_ENi信号を「1」にするタイミングは、画像処理コア310が、CG_ENi信号に対応するSRAM306〜309へのアクセスを終了したタイミング、或いはソフトウェアが未使用と判断したタイミングである。次に時間t1において、CG302〜305は、CG_ENi信号が「1」の状態でCLK信号の立ち上がりに同期してCLKi信号を停止する。これによりSRAM306〜309への供給されるクロック信号CLKiが停止される。
次にRS制御部301は、時間t1でCG_ENi信号が「1」となりCLKi信号が停止されてからt_in時間後の時間t2において、RSi信号を「1」にセットする。このようにして、SRAM306〜309に入力されるCLKi信号を停止した状態でRSモードへ移行させることにより、RSモードに移行する際の電源の揺れを抑えることができる。これによりSRAMによるデータの保持を保障することが可能となる。ここでt_in時間は、CPU101がレジスタの設定値を変更することにより、その時間を調整することができる。
次に、RSモードから通常モードへの移行シーケンスについて説明する。
時間t3において、RS制御部301は、CPU101もしくは画像処理コア310の指示により、RSi信号を「0」に設定する。このRSi信号を「0」にするタイミングは、画像処理コア310が、RSi信号に対応する、アクセス対象であるSRAM306〜309へのアクセスを開始するタイミング、もしくはソフトウェアが使用を開始したと判断したタイミングである。次にRS制御部301は、時間t3でRSi信号が「0」となってから、最初のCLK信号の立ち上がりタイミングである時間t4からt_out時間後の時間t5において、CG_ENi信号を「0」にする。ここでt_out時間はCPU101が、レジスタの設定値を変更することにより、その時間を調整することができる。次に時間t6において、CG302〜305は、CG_ENi信号が「0」になったことを受けて、CLKi信号をSRAM306〜309に供給して、通常モードへの移行を完了する。
次に本発明の実施形態1を説明する前に、従来の画像回転処理モジュールが、レジュームSRAMを使用する際のアドレス制御について説明する。
図6は、従来技術の課題を説明する図である。
図6(A)に示す回転前の画像データ600は、画像回転処理を行う前の画像のイメージで、幅が300画素、高さが32画素、データ階調が8ビット、色数はCMYKの4色の画像データである。この画像データ600は、使用するメモリ容量を抑えるために、それぞれが幅300画素×高さ8画素の4つのバンド画像601〜604に分割されて、バンド画像単位でSRAMへリード・ライトされる。
図6(B)は、入力画像(画像データ600)を時計回り方向に270度回転させた後の画像データ630を示している。
図6(C)は、SRAMへ書き込まれる画像データ600のアドレス配置、書き込みアドレスの順序を示す模式図である。図6(C)において、SRAMグループのメモリ領域611〜614は太線で囲まれた領域で、ラッシュカレントを抑えるために、特定のメモリ容量以下の単位で分割した各グループ(以下、SRAMグループ)に対応する領域である。これらSRAMグループのメモリ領域611〜614は、先頭アドレスから連続したアドレスで配置されている。
画像回転処理モジュールは、処理を高速化するために、2バンド分の領域を使用し、書き込みを行うバンド領域と、読み出しを行うバンド領域とを、1バンドずつ交互に入れ替えながら処理を行う。そのためSRAMには、図6(C)に示すように、バンド画像601,602の2バンド分の画像データが格納される。ここで従来の場合、SRAMへ格納するメモリ領域を節約するために、最初のバンド画像601と2バンド目のバンド画像602は隣接して記憶される。このため図6(C)に示すように、2バンド目のバンド画像602は、SRAMグループのメモリ領域611と、SRAMグループのメモリ領域612の両方のメモリ領域に跨って格納される。
次に画像データの回転処理の場合、書き込み時は横方向(図6(C)の点線の矢印の方向)にSRAMへ格納する。そして、レジュームSRAMを使用する場合は、消費電力を極力抑えるために、アクセス中のSRAMグループのみを通常モードで使用し、それ以外のSRAMグループはRSモードで使用する。従って、図6(C)における、2バンド目のバンド画像602の画素AまではSRAMグループの領域611に書き込み、画素BからはSRAMグループの領域612へ書き込むことになる。つまり画素Aまでは、メモリ領域611のSRAMグループを通常モードで動作させ、メモリ領域612〜613に対応するSRAMグループをRSモードで動作させる。そして画素Bからは、メモリ領域612のSRAMグループを通常モードにし、メモリ領域611,613,614に対応するSRAMグループをRSモードで動作させる。よって、図6(C)の画像データの書き込み時は、モードの切り替えが1回発生する。
図6(D)は、図6(C)で書き込んだ画像データをSRAMより読み出して、時計回り方向に270度回転させたリード画像630を得るための読み出しアドレスの順序を説明する模式図である。この画像データの回転処理では、回転角度に応じて、読出しアドレスの順序を、書き込み時のアドレス順序と変更することにより、所望の回転した画像データを生成する。図6(D)に示す点線の矢印は、回転角度が270度の際の読み出しアドレスの順序を示している。270度回転の場合には、読み出し時は、縦方向(図6(D)の点線の矢印の方向)にSRAMより読み出す。従って、図6(D)における、2バンド目のバンド画像602の1列目では、画素Cと画素Dの間、そして1列目の最終行目(8行目)の画素Eと、2列目の1行目の画素Fの間で、それぞれモードの切り替えが発生する。こうして、2バンド目のバンド画像602の全ての列で同様のモード切り替えが発生し、この例では、合計600回のモード切り替えが発生するため、パフォーマンスの大きな低下を引き起こすことになる。
[実施形態1]
次に本発明の実施形態1に係るMFPにおけるレジュームSRAMのアドレス制御について説明する。
次に本発明の実施形態1に係るMFPにおけるレジュームSRAMのアドレス制御について説明する。
図7は、実施形態1に係る画像処理部103の画像処理モジュールの画像処理コア310がSRAM306〜309を使用して画像データの回転処理を行う際のアドレス制御を説明するフローチャートである。
図7のフローチャートを参照して、DRAM111に格納されている、幅が300画素、高さが32画素、データ階調が8ビット、色数がCMYKの4色の画像データ(図6(A))を時計回り方向に270度回転する場合について説明する。
まずS701で、ジョブで設定された内容に基づいて、必要なバンドバッファ容量、バンド数を算出する。
ここでは例えばユーザが操作部114を操作して、回転する画像データの選択と、回転角度を設定してプリント開始を指示することにより、この処理が開始される。まずCPU101は、選択された画像データの情報をDRAM111より取得する。例えば図6(A)の画像データ600の場合、CPU101は、画像データの情報として、幅が300画素、高さが32画素、データ階調が8ビット、色数がCMYKの4色の情報を取得する。そしてCPU101は、これら画像データの幅、高さ、階調、色数の情報を、画像処理コア310のレジスタ(不図示)に設定する。
これにより画像処理コア310はS701で、そのレジスタに設定された画像データの情報を基に、必要なバンドバッファの容量、バンド数を算出する。画像処理コア310では、バンドバッファの高さの初期値は、8画素に設定されている。バンドバッファの高さを、初期値の8画素の設定のまま使用すると、1バンドのデータ量として、幅300画素×高さ8画素×階調8ビット×色数4=2400(ワード)が得られる。又、バンド数として画像高さ32画素÷バンド高さ8画素=4(バンド)が得られる。
次にS702に進み画像処理コア310は、転送するバンド画像が最初のバンド画像か否かを判定する。ここで最初のバンド画像と判定するとS703へ進み、2番目以降のバンド画像を転送する場合はS704へ進む。S703で画像処理コア310は、先頭のSRAMグループを、バンドバッファを構成するグループとして選択する。実施形態1では、先頭のSRAMグループであるSRAM306をバンドバッファを構成するSRAMグループとして選択してS705に進む。
一方、S704で画像処理コア310は、次のSRAMグループをバンドバッファを構成するグループとして選択してS705に進む。実施形態1では、SRAM307、SRAM308、SRAM309の順番で、バンドバッファを構成するSRAMグループとして選択する。
S705で画像処理コア310は、G_ID信号により、選択したSRAM306の識別情報をSRAMグループ管理部311に伝える。これにより、SRAMグループ管理部311からGST_AD信号とGED_AD信号が供給され、その選択したSRAMグループのメモリ領域のアドレス情報を取得して、その選択されたSRAMグループのメモリ容量を求める。SRAMグループ管理部311は、SRAMグループ毎のメモリ領域(先頭アドレス、終了アドレス)が登録されているSRAMグループ管理テーブルを備えている。
図8は、実施形態1に係るSRAMグループ管理テーブルの一例を示す図である。
図8の例では、SRAM306〜309に対応する、SRAMグループ1〜4の4つのSRAMグループの開始アドレスと終了アドレスが登録されている。SRAMグループ1のメモリ領域の開始アドレスは0x0000、終了アドレス0x3FFCとして登録されている。またSRAMグループ2のメモリ領域の開始アドレスは0x4000、終了アドレス0x7FFCとして登録されている。更にSRAMグループ3のメモリ領域の開始アドレスは0x8000、終了アドレス0xBFFCとして登録されている。そしてSRAMグループ4のメモリ領域の開始アドレスは0xC000、終了アドレス0xFFFCとして登録されている。
これによりSRAMグループ管理部311は、画像処理コア310からのG_IDにより指定されたSRAMグループの識別情報に基づいて、SRAMグループ管理テーブルより、対応するSRAMグループのアドレス情報を取得する。いま例えば、選択されているSRAMグループがSRAM306であれば、SRAMグループ1のアドレス情報として、開始アドレス0x0000、終了アドレス0x3FFCを取得する。
そして画像処理コア310は、その取得したアドレス情報に基づいて、SRAMグループのメモリ容量を算出する。図8のSRAMグループ管理テーブルの例では、SRAMグループ1のメモリ容量として、(終了アドレス:0x3FFC−開始アドレス:0x0000)÷4バイト+1=4096(ワード)が求められる。
次にS706に進み画像処理コア310は、バンドの先頭アドレスを、選択したSRAMグループの開始アドレスに設定する。例えばS704の処理で、SRAMグループ管理部311より取得した、選択したSRAMグループがSRAM306の場合、その開始アドレスは0x0000である。よってバンド先頭アドレスとして0x0000を設定する。
次にS707に進み画像処理コア310は、設定もしくは算出したバンド先頭アドレスに従ってバンドデータの転送処理を行う。1つ目のバンド画像の場合は、SRAM306のアドレス0x0000より画像データを転送し、バンドのデータ量、即ち、前述の2400ワードが、そのSRAM306のメモリ領域に対して格納される。次にS708に進み画像処理コア310は、画像データの回転処理を行う。この回転処理は、SRAM306へ格納したときのアドレス順序に対して、読み出す際のアドレス順序の方向を変えることにより回転した画像データを生成する。回転角度が0度の場合は、ライト(格納)時のアドレス順序と、同じアドレス順序でリード(読み出し)する。回転角度が90度の場合は、メモリ領域を行と列の2次元アドレスで見た場合に、ライト時は行方向のアドレス順序に対し、リード時は列方向の下の行から上の行に向かうアドレス順序で、左の列より順番に読み出す。また回転角度が180度の場合は、リード時は右の列から左の列に向かうアドレス順序で、下の列より順番に読み出す。また上述のように回転角度が時計回り方向に270度の場合は、読み出し時は、列方向の上の行から下の行に向かうアドレスの順序で左の列より順番に読み出す。
次にS709に進み画像処理コア310は、転送するバンド画像がまだ存在するか否かを判定する。まだ転送するバンド画像が存在する場合はS710へ進むが、転送するバンド画像が存在しないと判定すると、このバンド処理を終了する。S710で画像処理コア310は、残りのSRAMグループのメモリ容量を求める。ここでは、バンド転送前の残りのSRAMグループのメモリ容量と、バンドのデータ量より、残りのSRAMグループのメモリ容量の残量を求める。
1バンド目の転送後の場合を例にとり説明すると、SRAMグループの残りのメモリ容量である、4096ワード(一つのSRAMグループのメモリ容量)−2400ワード(バンドデータ量)=1696ワードを求める。そしてS711に進み画像処理コア310は、SRAMグループの残りのメモリ容量(1696ワード)が、バンドのデータ量以上であるか否かを判定する。ここで、S710で算出したSRAMグループの残りのメモリ容量が、バンドのデータ量以上であると判定した場合はS712へ進むが、そうでないときはS702へ進む。S712で画像処理コア310は、現在のバンド先頭アドレスと、バンドのデータ量より、次のバンド画像のバンド先頭アドレスを求める。このS712では、直前のバンド画像の格納で使用したSRAMグループの残りのメモリ容量が、次のバンド画像のデータ量以上であるため、同じSRAMグループに、そのバンド画像を格納する。よってバンド先頭アドレスは、現在のバンド先頭アドレスにバンドのデータ量を加算することにより得られる。そしてS712の処理が終了するとS707へ進み、バンドデータの転送処理を実行する。また、S711で画像処理コア310は、SRAMグループの残りのメモリ容量(1696ワード)が、バンドのデータ量以上でない、即ち、現在のSRAMグループに、そのバンドデータを格納できないときはS702に進む。そしてS702からS704に進み画像処理コア310は、次のSRAMグループとしてSRAM307を選択してS705に進む。
図6(A)の画像データ600を処理する場合、一つのバンド画像の転送後は、どのバンド画像を転送する際も、S711の処理において、現在のSRAMグループの残りのメモリ容量は、バンドのデータ量よりも小さくなるためS702へ進む。S702の処理では、最初のバンド画像の転送ではないためS704へ進む。そしてS704で、次のSRAMグループをバンドデータを格納するSRAMグループとして選択する。よって、2バンド目はSRAM307、3バンド目はSRAM308、4バンド目はSRAM309を選択する。以降、同様の処理を繰り返し、全てのバンド画像に対する処理を終了すると、一連のシーケンス処理を終了する。
図9は、実施形態1に係る画像処理モジュール201〜204が、レジュームSRAMを使用する際のアドレス制御を説明する図である。この場合のライト画像600及びリード画像630は、前述の図6(A)(B)と同じである。
図9(A)はSRAM306〜307へライト画像600を書き込んだ時のアドレス配置、書き込みアドレスの順序を説明する図である。
図9(A)に示すように、2バンド目のバンド画像602は、SRAMグループメモリ領域612の最初の先頭アドレスから格納される。以降、3〜4バンド目のバンド画像603〜604も同様に、それぞれSRAMグループメモリ領域613〜614の先頭アドレスから格納される。つまり実施形態1に係る画像処理モジュール201〜204の場合は、バンド画像は、複数のSRAMグループのメモリ領域を跨がないように、各グループに対応するSRAMに格納される。
図9(B)はSRAM306〜307から画像データを読み出して、前述のリード画像630を得るときの読み出しアドレス、及びその読出しアドレスの順序を説明する図である。図9(B)に示すように、1、2バンド目のバンド画像601,602は、それぞれSRAMグループ611,612のメモリ領域に含まれているため、バンド画像をリードする際にモードの切り替えが発生しない。唯一、2バンド目のバンド画像602の読み出しを開始するときに、モード切り替えが発生するだけである。従って、モード切り替えの回数を少なくして画像データの回転処理を実行できるため、モード切り替えによるパフォーマンスの低下を抑えることができる。
以上説明したように実施形態1によれば、SRAMへの画像データの書き込み時、及びSRAMからの画像データの読出し時にRSモードと通常モードとの切り替えが発生する回数を最小にして画像データを回転させることができる。これにより、モードの切り替えに起因するパフォーマンスの低下を抑えることができる。
[実施形態2]
前述の実施形態1では、画像処理モジュール201〜204が画像データの回転処理を実行するモジュールであるときの、レジュームSRAMのアドレス制御について説明した。
前述の実施形態1では、画像処理モジュール201〜204が画像データの回転処理を実行するモジュールであるときの、レジュームSRAMのアドレス制御について説明した。
これに対して実施形態2では、画像処理モジュール201〜204がウィンドウ処理を行うモジュールである場合のレジュームSRAMのアドレス制御について説明する。尚、実施形態2に係るMFPのハードウェア構成等は、前述の実施形態1と同様であるため、その説明を省略する。
画像処理においてフィルタ処理やパターンマッチング処理などでよく使用されるウィンドウ処理においても、画像データの回転処理と同様の問題が発生することが予想される。ウィンドウ処理においても、ウィンドウを形成するメモリ領域が、SRAMグループの境界に跨いでいると、着目画素に対するウィンドウ領域の画像データを参照(リード)する毎にモードの切り替えを行う必要がある。ウィンドウ領域の画像データの参照は、画素毎に行われるためモードの切り替えが多発し、パフォーマンスの低下を招く恐れがある。
図10は、本発明の実施形態2に係る画像処理部の画像処理コア310が、SRAMを使用して画像データのウィンドウ処理を行う際のアドレス制御を説明するフローチャートである。図10のフローチャートでは、DRAM111に格納されている、幅が300画素、高さが32画素、データ階調が8ビット、色数がCMYKの4色の画像データ(図6(A))に対して、フィルタ処理を行う場合で説明する。尚、フィルタ処理で使用するウィンドウサイズは、幅が5画素、高さが5画素とする。図10に示すフローチャートは、前述の図7のフローチャートとほぼ同じであるため、それとの差分を中心に説明する。
S1001の処理は、実施形態1に係るS701の処理とほとんど同じであるが、バンドバッファの高さについて、ウィンドウ処理におけるウィンドウサイズを考慮する必要がある。図6(A)に示す300画素×32画素の画像データを、300画素×8画素のバンド画像で縦方向に4つに分割する場合、着目画素がバンド画像の端の列の場合には、ウィンドウ形成には上下の周辺列の画素が必要になる。従って、ウィンドウサイズが5画素×5画素の場合には、上下の2列分の画素データについてもバンド画像と一緒に格納する必要がある。よって、図6(A)に示すように4つのバンド画像に分割する場合は、1バンド目のバンドバッファの高さは、バンド画像の8画素に下方向の2列分の画素を加えた10画素となる。また2〜3バンド目のバンドバッファの高さは、バンド画像の8画素に上下方向の4列分の画素を加えた12画素となる。そして、4バンド目のバンドバッファの高さは、バンド画像の8画素に上方向の2列分の画素を加えた10画素となる。
次にS1002〜S1007の処理は、実施形態1に係る図7のS702〜S707の処理と同じであるため、その説明を割愛する。
S1008で画像処理コア310はフィルタ処理を行う。このフィルタ処理は、SRAM306〜309へ格納されたバンド画像データより、5画素×5画素サイズのウィンドウ画像データを、先頭画素より順番に形成する。そして形成したウィンドウ画像データに対して、各ウィンドウの座標毎にレジスタ設定されたフィルタ係数と演算することにより、所望のフィルタ結果を得る。そしてS1009〜S1012の処理は、実施形態1に係る図7のS709〜S712の処理と同じであるため、その説明を割愛する。そしてS1012の処理が終了した後はS1007へ進み、次にバンドデータの転送処理を実行する。以降、同様の処理を繰り返し、全てのバンド画像についての処理を終了後、一連のシーケンス処理を終了する。
実施形態2では、前述の実施形態1と同様に、バンド画像は複数のSRAMグループのメモリ領域を跨がないメモリ領域に格納されるように制御される。これにより、画像データのフィルタ処理におけるモード切り替え回数を少なくできるため、モード切り替えによるパフォーマンスの低下を抑えることができる。
[実施形態3]
前述の実施形態1,2では、レジュームSRAMに格納するバンドのデータ量が、SRAMグループのメモリ容量よりも少ない場合のアドレス制御を説明した。これに対して実施形態3では、レジュームSRAMに格納するバンドのデータ量が、SRAMグループのメモリ容量よりも大きい場合について説明する。尚、実施形態3に係るMFPのハードウェア構成等は、前述の実施形態1と同様であるため、その説明を省略する。
前述の実施形態1,2では、レジュームSRAMに格納するバンドのデータ量が、SRAMグループのメモリ容量よりも少ない場合のアドレス制御を説明した。これに対して実施形態3では、レジュームSRAMに格納するバンドのデータ量が、SRAMグループのメモリ容量よりも大きい場合について説明する。尚、実施形態3に係るMFPのハードウェア構成等は、前述の実施形態1と同様であるため、その説明を省略する。
図11は、従来の技術を説明する図で、SRAMグループのメモリ容量よりも大きいバンドデータをレジュームSRAMに格納する際のアドレス制御を説明する図である。
図11(A)に示す画像データ1100は、回転処理を行う前の画像のイメージで、幅が300画素、高さが32画素、データ階調が8ビット、色数はCMYKの4色の画像データである。
この画像データ1100は、使用するメモリ容量を抑えるために、幅300画素×高さ16画素の2つのバンド画像1101〜1102に分割され、バンド画像単位でSRAM306〜309へリード・ライトされる。
図11(B)のリード画像1130は、回転処理を行った後の画像のイメージを示し、入力画像データ1100を時計回り方向に270度回転させた後の画像データである。
図11(C)は、SRAM306〜309へ書き込まれる画像データ1100のアドレス、書き込みアドレス順序を示す模式図である。図11(C)において、SRAMグループメモリ領域611〜614は、それぞれSRAM306〜309に対応するメモリ領域である。図11(C)に示すようにSRAM306〜309のメモリ領域は、SRAM306、SRAM307、SRAM308、SRAM309の順番に先頭アドレスから連続して配置されている。図11(C)において、太線で囲まれた枠はSRAM306〜309のメモリ領域611〜614を示し、細線で区切られた領域は、バンド画像1101,1102に対応している。
画像処理モジュール201〜204の回転処理モジュールは、処理を高速化するために2バンド分のメモリ領域を使用して、書き込むバンド領域と、読み出すバンド領域を、1バンドずつ交互に入れ替えながら処理を行う。そのため、SRAM306〜308には、図11(C)に示すように、バンド画像1101〜1102の2バンド分の画像データが格納される。ここで、従来のSRAMを使用した場合のアドレス配置は、SRAM306〜309へ格納するメモリ領域を節約するために、最初のバンド画像1101と2バンド目のバンド画像1102とは隣接して格納される。
この場合、図11(C)に示すように、1バンド目のバンド画像1101のメモリ領域は、SRAMグループメモリ領域611のメモリ領域よりも大きくなる。つまりバンド画像1101が、一つのSRAMグループのメモリ容量に入らないので、SRAMグループメモリ領域611と、SRAMグループメモリ領域612の両方のメモリ領域に跨って格納される。よってバンド画像のデータ量が、一つのSRAMグループのメモリ容量よりも大きい場合には、複数のSRAMグループを通常モードで使用し、アクセスしないその他のSRAMグループは、消費電力を抑制するためにRSモードで使用する。
従って、図11(C)では、2バンド目のバンド画像1102の画素Gまでは、SRAM306〜307を通常モードとし、SRAM308〜309をRSモードで使用する。そしてバンド画像1102の画素Hからは、SRAM308〜309を通常モード、SRAM306〜307をRSモードで使用するよう制御する。こうして、画像データの回転処理を実行するときの画像データの書き込み時には、図11(C)のように、モードの切り替えが1回発生することになる。
図11(D)は、画像データを回転させてSRAM306〜308から読み出すときのリード画像1130の読み出しアドレスの順序を説明する模式図である。図11(D)に示すように、画像データの回転の場合は、その回転角度に応じて、読み出しアドレスの順序を、書き込み時のアドレスの順序と変更することにより、所望の角度だけ回転した画像データを生成することができる。図11(D)に示す点線の矢印は、回転角度が270度の際の読み出しアドレスの順序を示している。270度回転の場合には、読み出し時は縦方向(図6(D)の点線の矢印の方向)にSRAM306〜308より読み出す。従って、図11(D)における、2バンド目のバンド画像1102の1列目では、画素Iと画素Jの間、そして1列目の最終行目(16行目)の画素Kと、2列目の1行目の画素Lの間で、それぞれモードの切り替えが発生する。このように、バンド画像1102の全ての列について同様のモード切り替えが発生するため、多数(合計600回)のモード切り替えが発生し、パフォーマンスの大きな低下を引き起こすことになる。
次に実施形態3の特徴であるバンドバッファ容量がSRAMグループの容量より大きい場合のレジュームSRAMのアドレス制御について説明する。
図12は、実施形態3に係る画像処理コア310がSRAM306〜309を使用して回転処理を行う際のアドレス制御処理を説明するフローチャートである。
図12のフローチャートでは、DRAM111に格納されている、幅が300画素、高さが32画素、データ階調が8ビット、色数がCMYKの4色の画像データ(図11(A))を、時計回り方向に270度回転する場合について説明する。
まずS1201で画像処理コア310は、ジョブの設定内容より、必要なバンドバッファ容量、バンド数を求める。
ここではユーザが操作部114に対して、回転する画像の選択と、その回転角度を指定してプリント開始の指示をすると、CPU101は選択された画像の情報をDRAM111より取得する。図11(A)の画像データ1100の場合は、CPU101は、画像の情報として、幅が300画素、高さが32画素、データ階調が8ビット、色数がCMYKの4色の情報を取得する。そしてCPU101は、画像データの幅、高さ、階調、色数の情報を、画像処理コア310のレジスタ(不図示)に設定する。これにより、画像処理コア310は、そのレジスタに設定された画像データの情報を基に、必要なバンドバッファのデータ量、バンド数を求める。尚、画像処理コア310において、バンドバッファの高さの初期値は16画素に設定されている。このバンドバッファの高さを、初期値の16画素の設定のままとすると、必要なバンドバッファのデータ量は、幅300画素×高さ16画素×階調8ビット×色数4=4800(ワード)となる。又、バンド数は、高さ32画素÷バンド高さ16画素から、2バンドが得られる。
次にS1202に進み画像処理コア310は、転送するバンド画像が最初のバンド画像か否かを判定する。ここで最初のバンド画像と判定するとS1203へ進み、先頭のSRAMグループをバンドバッファを構成する使用候補のSRAMグループとして登録してS1205に進む。実施形態3では、先頭のSRAMグループであるSRAM306を使用候補のSRAMグループとして登録する。一方、S1202で2番目以降のバンド画像を転送すると判定したときはS1204へ進み、次のSRAMグループをバンドバッファを構成する使用候補のSRAMグループとして登録してS1205に進む。実施形態3では、SRAM307、SRAM308、SRAM309の順番で登録する。
S1205で画像処理コア310は、SRAMグループ管理部311より、登録されたSRAMグループのメモリ領域の情報を取得して、使用候補のSRAMグループの合計のメモリ容量を求める。このときSRAMグループ管理部311は、画像処理コア310が登録したSRAMグループの情報を取得して、SRAMグループ管理テーブルより、対応するSRAMグループのアドレス情報を取得する。例えば、S1202で登録されているSRAMグループがSRAM306の場合、SRAMグループ1のアドレス情報として、開始アドレス0x0000、終了アドレス0x3FFCを取得する。そして画像処理コア310は、その取得したアドレス情報に基づいて、SRAMグループの合計のメモリ容量を算出する。図8のSRAMグループ管理テーブルの例では、合計のメモリ容量として、SRAMグループ1の容量である(終了アドレス0x3FFC−開始アドレス0x0000)÷4バイト+1=4096(ワード)を求める。
次にS1206に進み画像処理コア310は、転送するバンドバッファのデータ量と、登録された使用候補のSRAMグループの合計のメモリ容量とを比較する。実施形態3では、S1201で求めたバンドバッファのデータ量の4800ワードと、S1205で求めた合計のSRAMグループのメモリ容量(4096ワード)とを比較する。そしてS1207で画像処理コア310は、登録された使用候補のSRAMグループの合計のメモリ容量が、バンドバッファのデータ量以上か否かを判定し、メモリ容量がバンドバッファのデータ量以上の場合はS1209へ進み、そうでないときはS1208へ進む。上記例では、バンド画像1101のデータ量である4800ワードは、SRAMグループの合計のメモリ容量の4096ワードより大きいためS1208へ進む。
S1208で画像処理コア310は、次のSRAMグループを使用候補のSRAMグループとして追加登録する。このS1208では、使用候補として登録しているSRAMグループだけではメモリ容量が不足するため、次のSRAMグループを使用候補として登録するものである。従って、ここでは、次のSRAMグループのSRAM307も使用候補のSRAMグループとして登録する。S1208の処理後はS1205の処理へ進み、再度SRAMグループ管理部311より、登録されたSRAMグループのメモリ領域の情報を取得して、使用候補のSRAMグループの合計のメモリ容量を求める。即ち、SRAMグループ管理部311は、登録されているSRAMグループのSRAM306〜307のアドレス情報を取得する。ここではSRAM306に対応するSRAMグループ1のアドレス情報として、開始アドレス0x0000、終了アドレス0x3FFCを取得する。更にSRAM307に対応するSRAMグループ2のアドレス情報として、開始アドレス0x4000、終了アドレス0x7FFCを取得する。そして画像処理コア310は、それら取得したアドレス情報より、SRAMグループの合計のメモリ容量を求める。この場合、SRAMグループ1のメモリ容量は、(終了アドレス0x3FFC−開始アドレス0x0000)÷4バイト+1=4096ワードである。そして、SRAMグループ2のメモリ容量は、(終了アドレス0x7FFC−開始アドレス0x4000)÷4バイト+1=4096ワードである。よって、合計のメモリ容量として、4096(SRAMグループ1)+4096(SRAMグループ2)=8192(ワード)が得られる。これにより次のS1206〜S1207における比較判定処理において、合計のメモリ容量である8192ワードは、バンドバッファのデータ量である4800ワード以上となるためS1209の処理に進む。
S1209で画像処理コア310は、登録された使用候補のSRAMグループをバンドバッファを構成するSRAMグループとして選択する。つまり、使用候補のSRAMグループとして登録されているSRAM306とSRAM307を、バンドバッファを構成するSRAMグループとして決定する。次にS1210に進み画像処理コア310は、バンド先頭アドレスを、その選択したSRAMグループの開始アドレスに設定する。S1205の処理において、SRAMグループ管理部311より取得した、選択したSRAMグループであるSRAM306〜307の開始アドレスは0x0000である。よってバンド先頭アドレスとして0x0000を設定する。次にS1211に進み画像処理コア310は、設定もしくは算出したバンドの先頭アドレスに従ってバンドデータの転送処理を行う。1つ目のバンド画像1101の場合は、SRAM306のアドレス0x0000より、バンドのデータ量が4800ワード分のメモリ領域に対して格納される。次にS1212に進み画像処理コア310は、画像データの回転処理を行う。この回転処理は、実施形態1におけるS708の処理と同じであるため、その説明を割愛する。
次にS1213に進み画像処理コア310は、転送するバンド画像がまだ存在するか否かを判定する。まだ転送するバンド画像が存在すると判定した場合はS1214へ進み、そうでないときは、このバンド転送処理を終了する。S1214で画像処理コア310は、選択したSRAMグループの残りのメモリ容量を求める。ここではバンドデータの転送前のSRAMグループのメモリ容量とバンドのデータ量とより、選択したSRAMグループの残りのメモリ容量を求める。
1バンド目の転送後の場合を例にとり説明すると、SRAMグループの残りのメモリ容量は、8192ワード(転送前のSRAMグループの合計メモリ容量)−4800ワード(バンドデータ量)=3392(ワード)が得られる。次にS1205に進み画像処理コア310は、転送するバンドのデータ量と、SRAMグループの残りのメモリ容量とを比較する。実施形態3では、S1201で求めたバンドバッファ容量である4800ワードと、S1214で求めた残りのSRAMグループのメモリ容量である3392ワードとを比較する。
S1216において、SRAMグループの残りのメモリ容量は、バンドのデータ量以上であるか否かを判定する。S1214で求めた、SRAMグループの残りのメモリ容量が、バンドのデータ量以上であると判定した場合はS1217へ進み、そうでないと判定した場合はS1202へ進む。S1217で画像処理コア310は、現在のバンド先頭アドレスと、バンドのデータ量より、次のバンド画像の先頭アドレスを求める。このS1217では、バンドの先頭アドレスを、現在のバンドの先頭アドレスにバンドのデータ量を加算することにより求める。そしてS1218に進み画像処理コア310は、そのバンドの先頭アドレスからバンドデータをSRAMに転送する処理を開始してS1211へ進み、バンドデータの転送処理を実行する。
図11(A)の画像データ1100を処理する場合、バンド画像の転送後は、どのバンド画像を転送する際も、S1216の処理において、SRAMグループの残りのメモリ容量は、バンドのデータ量よりも小さくなるのでS1202へ進む。S1202では、最初のバンド画像の転送ではないためS1204へ進む。そしてS1204〜S1219の処理において、2バンド目では、SRAMグループをSRAM308とSRAM309を選択することになる。以降、同様の処理を繰り返し、全てのバンド画像に対する処理を終了すると、この画像データを回転する一連のシーケンス処理を終了する。
図13は、実施形態3に係る画像処理モジュール201〜204が、レジュームSRAMを使用する際のアドレス制御を説明する図である。尚、ここでは、図11(A)に示す回転処理を行う前のライト画像1100を時計回り方向に270度回転した、図11(B)に示すリード画像1130を得るものとする。
図13(A)は、ライト画像1100のバンド画像1101,1102をSRAM306〜309に書き込み際の書き込みアドレスの順序を示す模式図である。図13(A)に示すように、2バンド目のバンド画像1102は、二つ目のSRAMグループに対応するメモリ領域613の開始アドレスから格納される。つまり実施形態3の画像処理モジュール201〜204では、複数のSRAMグループの境界を跨がないメモリ領域に、バンド画像が格納されるようにアドレス制御する。
図13(B)は、SRAM306〜309からバンド画像1101,1102を読み出してリード画像1130を得る際の読み出しアドレス順序を説明する模式図である。
図13(B)に示すように、バンド画像1101,1102を格納するメモリ領域は、それぞれSRAMグループ611,612及び613,614のメモリ領域に含まれているため、バンド画像を読み出す際にはモードの切り替えが発生しない。
以上説明したように実施形態3によれば、バンドのデータ量がSRAMのメモリ容量よりも大きい場合でも、RSモードと通常モードとを切り替える回数を少なくして画像で処理を実行できる。これにより、画像処理においてモード切り替えが多発して、パフォーマンスが低下するという事態を防止できる効果がある。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
100…コントローラ、101…CPU、103…画像処理部、114…操作部、201〜204…画像処理モジュール、301…RS制御部、306〜309…SRAM,310…画像処理コア、311…SRAMグループ管理部
Claims (10)
- それぞれが、制御信号により第1モードと当該第1モードよりも消費電力を低下させた第2モードで動作可能な複数のメモリを含む記憶手段と、
前記複数のメモリを複数のグループに分割し、各グループのアドレスを管理する管理手段と、
画像データを複数のバンドに分割し、前記管理手段により管理された各グループのアドレスに基づいて、各バンドに対応する画像データを前記複数のグループの互いに異なるグループに、前記複数のグループの境界を跨がないように格納するように制御する書き込み手段と、
前記複数のグループの内、アクセス対象のグループのメモリを前記第1モードで動作させ、アクセス対象でないグループのメモリを前記第2モードで動作させるように前記制御信号を出力する制御手段と、
を有することを特徴とする画像処理装置。 - 前記複数のグループそれぞれに書き込まれた画像データを、書き込み時のアドレスと異なる順序で読み出すことにより前記画像データに対する処理を行う読み出し手段を、更に有することを特徴とする請求項1に記載の画像処理装置。
- 前記画像データに対する処理は、画像データの回転を含むことを特徴とする請求項2に記載の画像処理装置。
- 前記画像データに対する処理は、画像データのフィルタ処理を含むことを特徴とする請求項2に記載の画像処理装置。
- 一つのバンドの画像データのデータ量が前記メモリのメモリ容量よりも小さい場合、前記複数のグループのそれぞれは、前記複数のメモリの少なくとも一つを含むことを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
- 一つのバンドの画像データのデータ量が前記メモリのメモリ容量よりも大きい場合、前記複数のグループのそれぞれは、前記複数のメモリのうちの2つ以上のメモリを含むことを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
- 前記複数のメモリのうちの2つ以上のメモリのアドレスは、連続したアドレスであることを特徴とする請求項6に記載の画像処理装置。
- 前記メモリは、レジュームスタンバイモードを有するSRAMであることを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
- それぞれが、制御信号により第1モードと当該第1モードよりも消費電力を低下させた第2モードで動作可能な複数のメモリを含む記憶手段を有する画像処理装置を制御する制御方法であって、
前記複数のメモリを複数のグループに分割し、各グループのアドレスを管理する管理工程と、
画像データを複数のバンドに分割し、前記管理工程で管理された各グループのアドレスに基づいて、各バンドに対応する画像データを前記複数のグループの互いに異なるグループに、前記複数のグループの境界を跨がないように格納するように制御する書き込み工程と、
前記複数のグループの内、アクセス対象のグループのメモリを前記第1モードで動作させ、アクセス対象でないグループのメモリを前記第2モードで動作させるように前記制御信号を出力する制御工程と、
を有することを特徴とする画像処理装置の制御方法。 - コンピュータを、請求項1乃至8のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016098149A JP2017207825A (ja) | 2016-05-16 | 2016-05-16 | 画像処理装置とその制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016098149A JP2017207825A (ja) | 2016-05-16 | 2016-05-16 | 画像処理装置とその制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017207825A true JP2017207825A (ja) | 2017-11-24 |
Family
ID=60415530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016098149A Pending JP2017207825A (ja) | 2016-05-16 | 2016-05-16 | 画像処理装置とその制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017207825A (ja) |
-
2016
- 2016-05-16 JP JP2016098149A patent/JP2017207825A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5411530B2 (ja) | 並列処理プロセッサシステム | |
JP6808414B2 (ja) | 情報処理装置、その制御方法、及びプログラム | |
JPH0346850B2 (ja) | ||
US10754415B2 (en) | Control apparatus that controls memory and control method thereof | |
JP2007066118A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US20110292448A1 (en) | Program execution control method | |
JP2017207825A (ja) | 画像処理装置とその制御方法、及びプログラム | |
JP6590662B2 (ja) | メモリを制御する制御装置及びメモリの省電力制御方法 | |
JPH05197619A (ja) | マルチcpu用メモリ制御回路 | |
JP6357804B2 (ja) | 画像処理装置、集積回路、及び画像形成装置 | |
JP2005332292A (ja) | 画像データ回転処理装置 | |
JPWO2009081551A1 (ja) | メモリ装置及びその制御方法 | |
JP2008136125A (ja) | 画像処理装置 | |
JP2020131547A (ja) | 画像処理装置、画像形成装置、及びプログラム | |
JP2010181998A (ja) | データ処理装置 | |
JP3816666B2 (ja) | メモリ制御回路 | |
JP5393626B2 (ja) | 情報処理装置 | |
JP3304769B2 (ja) | アドレス変換装置 | |
JP3791652B2 (ja) | 半導体メモリのアクセス制御装置 | |
JP2000231631A (ja) | 画像回転装置 | |
JP2017102623A (ja) | メモリを備える機能モジュールを制御する制御装置及び機能モジュールへのアクセスを制御する制御方法 | |
KR101586844B1 (ko) | 영상 처리 장치 및 방법 | |
JPH11353227A (ja) | ブロックデータ転送方法 | |
JP2011186731A (ja) | 電子回路、その制御方法及び画像形成装置 | |
JP2003237146A (ja) | 画像処理装置、および、画像処理方法 |