JP2019213124A - 画像処理装置及びその制御方法、並びにプログラム - Google Patents

画像処理装置及びその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2019213124A
JP2019213124A JP2018109657A JP2018109657A JP2019213124A JP 2019213124 A JP2019213124 A JP 2019213124A JP 2018109657 A JP2018109657 A JP 2018109657A JP 2018109657 A JP2018109657 A JP 2018109657A JP 2019213124 A JP2019213124 A JP 2019213124A
Authority
JP
Japan
Prior art keywords
line
sram
data
image processing
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
Application number
JP2018109657A
Other languages
English (en)
Inventor
中村 秀一
Shuichi Nakamura
秀一 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018109657A priority Critical patent/JP2019213124A/ja
Publication of JP2019213124A publication Critical patent/JP2019213124A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Memory System (AREA)
  • Storing Facsimile Image Data (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】画像処理装置において画像処理用のラインバッファとして使用されるメモリモジュールの消費電力を低減する技術を提供する。【解決手段】画像伸長部1310は、画像処理の対象となる画像データをラインごとに生成する。白ライン検出部1311は、生成された各ラインの画像データから、白画素で構成された白ラインを検出する。SRAM制御部1324は、SRAM1321にライン単位でバッファリングされた画像データを、フィルタ処理部1325による画像処理に使用するためにSRAM1321から読み出す。SRAM制御部1324は、検出された白ラインについては、SRAM1321からの画像データの読み出しを行わず、SRAMをRS状態にして、代替データを画像処理に使用する。【選択図】図2

Description

本発明は、省電力モードを有するSRAM等のメモリモジュールをラインバッファとして用いる画像処理装置及びその制御方法、並びにプログラムに関するものである。
デジタル複合機(画像形成装置)等の画像処理装置には、一般に、スキャンやプリント等のための画像処理回路を備えたチップが搭載されている。画像処理回路による画像処理では種々の効率化が行われている。特許文献1には、画像データを圧縮する際に、所定単位のうち、出力する必要がない画素(白画素)で構成される出力不要単位を記憶しておき、復号時に出力不要単位を検出して当該出力不要単位の伸長を行わない画像形成装置が開示されている。これにより、画像データの圧縮及び伸長処理の効率を向上させている。
上述のような画像処理回路では、中間画像の保持用のラインバッファとしてSRAM等の半導体メモリ(メモリモジュール)が使用される。SRAMと画像処理回路とが搭載されたチップでは、動作中のチップ全体の消費電力における、SRAMによる消費電力の占める割合が増加している。このため、SRAMの消費電力を可能な限り低減することが求められている。
特許文献2には、SRAMの消費電力を低減しながら、SRAMのデータを保持した状態でSRAMのリーク電流を低減する技術が開示されている。この技術では、メモリアレイ部に対して、データを保持することが可能な最小限の電圧を与える一方、他の回路への電源を遮断している。このように、SRAM内に格納されたデータを最小限の電圧の印加により保持する動作モードは「レジュームスタンバイ(RS)モード」と称されうる。
特開2000−83174号公報 特開2012−94228号公報
上述のように、SRAM(メモリモジュール)を画像処理用のラインバッファとして使用する画像処理装置において、SRAMの消費電力の低減のためには、SRAMを可能な限りRSモードで動作させる必要がある。そこで、画像処理に伴うSRAMへの無駄なアクセスを減らし、SRAMへのアクセスを行わないタイミングにSRAMをRSモードで省電力状態にすることで、SRAMの消費電力を低減することが期待される。
本発明は、上述の問題に鑑みてなされたものである。本発明は、画像処理装置において画像処理用のラインバッファとして使用されるメモリモジュールの消費電力を低減する技術を提供することを目的とする。
本発明の一態様に係る画像処理装置は、第1電力状態と、前記第1電力状態より省電力の第2電力状態とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるメモリモジュールと、前記画像処理の対象となる画像データをラインごとに生成する生成手段と、前記生成手段によって生成された各ラインの画像データから、所定の繰り返しパターンの複数の画素で構成されたラインを検出する検出手段と、前記生成手段によって生成されて前記メモリモジュールにライン単位でバッファリングされた画像データを、前記画像処理に使用するために前記メモリモジュールから読み出す制御手段と、を備え、前記制御手段は、前記検出手段によって検出されたラインについては、前記メモリモジュールからの画像データの読み出しを行わず、前記メモリモジュールを前記第2電力状態にして、前記所定の繰り返しパターンに対応する代替データを前記画像処理に使用することを特徴とする。
本発明によれば、画像処理装置において画像処理用のラインバッファとして使用されるメモリモジュールの消費電力を低減することが可能になる。
画像処理装置の構成例を示すブロック図。 画像処理部の構成例を示すブロック図。 第2処理部の具体的な構成例を示すブロック図。 第2処理部において実行される処理の手順を示すフローチャート。 第2処理部において実行される処理の手順を示すフローチャート。 第2処理部における画像データの転送及び省電力制御の例を示す図。 第2処理部における画像データの転送及び省電力制御の例を示す図。 第2処理部における各種動作のタイミングを示すタイミングチャート。 第2処理部における各種動作のタイミングを示すタイミングチャート。 第2及び第3実施形態に係る画像処理部の構成例を示すブロック図。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
[第1実施形態]
まず、図1乃至図7Bを参照して、本発明の第1実施形態について説明する。本実施形態に係る画像処理装置として、プリント機能を有するレーザプリンタを例に説明する。なお、本実施形態は、原稿の画像をスキャンして画像データを生成するスキャン機能を有し、スキャン画像処理を行う画像処理装置(スキャナ等)に対しても同様に適用できる。
<画像処理装置100の構成>
図1は、本実施形態に係る画像処理装置100の構成例を示すブロック図である。画像処理装置100は、画像処理プロセッサ1とDRAM2とを備える。画像処理プロセッサ1は、レーザプリンタのプリント機能を実現するための画像処理を行うASIC(Application Specific Integrated Circuit)である。画像処理プロセッサ1は、CPU10、DRAM I/F11、DMAC(DMAコントローラ)12、画像処理部13、及びDMAC14を備える。CPU10、DRAM I/F11、及びDMAC12,14は、内部バス15に接続されており、内部バス15を介して互いに通信可能である。
CPU10は、DRAM2に展開されたOS又は制御プログラムに従って、プリント機能に関連する処理を統括的に制御する。DRAM I/F11は、画像処理プロセッサ1の外部に配置されたDRAM2と内部バス15とを接続するメモリインタフェースである。DMAC12は、DRAM2から画像処理部13に入力画像データを供給するためのDMA転送を制御するコントローラである。DMAC14は、画像処理部13からの出力画像データをDRAM2に書き戻すためのDMA転送を制御する。
画像処理部13は、第1処理部131及び第2処理部132で構成される。第1処理部131は、DRAM2内に保持された圧縮済の画像データの伸長処理を行う。第2処理部132は、第1処理部131による伸長処理後の画像データに対して画像処理(例えば、フィルタ処理)を行う。
画像処理部13では、例えば、1ページ分の画像データに対してプリント画像処理が順次行われる。本実施形態では、主走査方向に1ライン分(n画素)の画像処理が行われ、当該1ライン分の画像処理が副走査方向にmライン分繰り返されることで、1ページ分の画像処理が行われる。したがって、画像処理部13内では、第1処理部131から第2処理部132へ1ライン分の画像データが順次出力されることになる。
<画像処理部13の構成>
図2は、本実施形態に係る、第1処理部131及び第2処理部132で構成される画像処理部13の構成例を示すブロック図である。
第1処理部131は、画像伸長部1310を備える。第1処理部131には、DRAM2に保持されているCMYK画像データが、DMAC12を介して入力される。このCMYK画像データは、所定の画像圧縮方式(例えば、JBIG圧縮)で圧縮された状態で、DRAM2に保持されている。画像伸長部1310は、入力されたCMYK画像データに対して画像伸長処理(例えば、JBIG伸長)を実行する。これにより、入力されたCMYK画像データは、各色8ビットで構成される、伸長済みの画像データ1313(CMYK画像データ)へ変換される。このように、画像伸長部1310は、圧縮された入力画像データに対して伸長処理を行って、伸長された画像データをライン単位で生成する。
画像伸長部1310には白ライン検出部1311が含まれる。白ライン検出部1311は、画像伸長処理の実行時に、1ラインの画像データから白画素を検出することで、1ラインの全画素が白画素で構成された白ラインを検出し、検出結果を示す識別データ1312を出力する。識別データ1312は、画像データ1313に含まれる白ラインを識別するためのデータであり、画像データ1313とともに第1処理部131から第2処理部132へ出力される。
第1処理部131は、画像データ1313と識別データ1312とをラインごとに生成し、生成したラインごとのデータを順に第2処理部132へ転送する。各ラインのデータの先頭部に識別データ1312が配置され、即ち、識別データ1312に続けて画像データ1313が転送される。
第2処理部132は、データ処理部1320、SRAM1321、SRAM制御部1324、フィルタ処理部1325、代替データ保持部1326、フラグ保持部1327、及びセレクタ1328を備える。第2処理部132は、入力された各色8ビットのCMYK画像データに対して、エッジ強調等のためのフィルタ処理を実行し、処理結果を出力する。
上述のフィルタ処理を行うために、入力された画像データにおける、主走査方向に複数画素(例えば、3画素)、副走査方向に複数ライン(例えば、3ライン)の範囲の画素(例えば、3×3画素)を参照する必要がある。そのため、第2処理部132は、このような画素の参照用のラインバッファとして、SRAM1321(メモリモジュール)を利用する。SRAM1321に保持されたデータは、フィルタ処理の実行時に、SRAM I/F1322を介してSRAM制御部1324から参照される。
SRAM制御部1324は、RS制御信号1323を介して、SRAM1321の省電力状態を制御する。SRAM1321は、RS制御信号1323を用いて、RS(レジュームスタンバイ)モードに基づく省電力制御が行われるように構成されている。本実施形態のSRAM1321は、第1電力状態(通常状態)と、当該第1電力状態より省電力の第2電力状態(省電力状態)とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるメモリモジュールの一例である。SRAM制御部1324は、第1処理部131で生成された識別データ1312に従って、SRAM1321へのアクセス及びSRAM1321の電力状態を制御する。
フラグ保持部1327は、ラインバッファ(SRAM1321)の状態を示す状態フラグを保持している。SRAM制御部1324は、フラグ保持部1327が保持している状態フラグに基づいて、SRAM1321からデータを読み出して使用するか、代替データ保持部1326から代替データを読み出して使用するかを制御する。なお、代替データは、所定の繰り返しパターンに対応する代替データに相当する。本実施形態では、代替データとして白画素の画素データが用いられる。以下で説明するように、SRAM制御部1324は、白ライン検出部1311によって白ラインとして検出されなかったラインについては、SRAM1321から画像データを読み出す。また、SRAM制御部1324は、白ラインとして検出されたラインについては代替データ保持部1326から代替データを読み出す。
以下では、本実施形態に係る第2処理部132内で行われる、白ラインの検出結果に基づくSRAM1321の省電力制御について説明する。なお、後述する第2及び第3実施形態に係る第2処理部132内では、圧縮データにおける特定のパターンを有する圧縮ラインの検出結果に基づくSRAM1321の省電力制御が行われる。
<第2処理部132の具体的構成>
図3は、第2処理部132の具体的な構成例を示すブロック図であり、ラインバッファの制御とn×n画素(本実施形態では、n=3)ウィンドウの制御とを実現するための構成例を示している。
上述のように、第1処理部131は、画像データ1313と識別データ1312とをラインごとに生成し、生成したラインごとのデータを順に第2処理部132へ転送する。各ラインのデータの先頭部に識別データ1312が配置され、即ち、識別データ1312に続けて画像データ1313が転送される。
図3に示すように、第2処理部132は、データ処理部1320、SRAM1321(1321_1,1321_2(以下、1321_1,2と記載した場合、1321_1及び1321_2を示す。他の参照符号も同様。)、SRAM制御部1324、フィルタ処理部1325、代替データ保持部1326(1326_1,2)、フラグ保持部1327(1327_10,11,20,21)、セレクタ1328(1328_1,2)、及びクロック生成部1329で構成されている。
データ処理部1320は、データ転送制御部1320_0、及び画像処理用ウィンドウ1320_2を有する。画像処理用ウィンドウ1320_2は、フィルタ処理部1325によって用いられる画素データを一時的に保持する。具体的には、画像処理用ウィンドウ1320_2は、図3において(行,列)座標で表現された要素(0,0)〜(2,2)に対応する、3行×3列の画素のデータで構成された画像データを保持する。なお、本実施形態では、主走査方向を列、副走査方向を行としている。
データ転送制御部1320_0は、第1処理部131からの画像データ(伸長済みの画像データ1313)の転送、及び画像処理用ウィンドウ1320_2への画像データの転送等の、画像データの転送を制御する。
データ処理部1320による処理に必要な画像データ1313については、一例として、第1処理部131からFIFOインタフェース等のインタフェースを介して、1サイクルごとに1画素のデータ(8ビット×CMYK4色)が送られてくるものとする。また、識別データ1312については、別のFIFOインタフェース等のインタフェースを介して、1ラインの先頭で1サイクル分だけ送られてくるものとする。
データ転送制御部1320_0は、(主走査方向(画素数)及び副走査方向(ライン数)用の)データ転送カウンタを有する。データ転送制御部1320_0は、当該データ転送カウンタを用いて、処理対象がラインの先頭であるか否か、処理対象がラインの最後であるか否か、及び処理対象が1ページの最後であるか否か、といった判定を行う。
データ転送制御部1320_0は、第2処理部132内のデータの転送制御を行う。例えば、データ転送制御部1320_0は、伸長処理部131のFIFOインタフェースに対して画像データ1313を要求し、取得した画像データ1313を、SRAM1321_2又は画像処理用ウィンドウ1320_2の要素(2,2)に転送する。また、データ転送制御部1320_0は、伸長処理部131のFIFOインタフェースに識別データ1312を要求し、取得した識別データ1312を、フラグ保持部1327_2に転送する。更に、データ転送制御部1320_0は、SRAM1321のアドレス制御を行う。
SRAM1321は、2つのSRAM1321_1,2から成り、ラインバッファとして用いられるメモリモジュールである。SRAM1321_1,2は、それぞれ、8ビット×4色(CMYK)のビット幅と、主走査方向の1ライン分(ここでは、1ライン分を6400画素とする)のワード数とを備える。
SRAM1321_1は、画像処理用ウィンドウ1320_2における要素(0,2)、(0,1)及び(0,0)用のラインバッファ(第n番目のラインのラインバッファ)である。SRAM1321_1に格納されたデータは、セレクタ1328_1を介して、画像処理用ウィンドウ1320_2に読み出される。
SRAM1321_2は、画像処理用ウィンドウ1320_2における要素(1,2)、(1,1)及び(1,0)用のラインバッファ(第n+1番目のラインのラインバッファ)である。SRAM1321_2に格納されたデータは、セレクタ1328_2を介して、画像処理用ウィンドウ1320_2に読み出される。
SRAM I/F1322は、SRAM1321に対する一般的なSRAMアクセス用のインタフェース信号線である。SRAM I/F1322_1はSRAM1321_1に対応し、SRAM I/F1322_2はSRAM1321_2に対応する。SRAM I/F1322_1,2は、以下の信号用の信号線で構成される。
‐クロック(クロック信号)
‐チップセレクト(CS信号)
‐書き込みアドレス(WADDR信号)
‐書き込みデータ(WDATA信号)
‐書き込みイネーブル(WE信号)
‐読み出しアドレス(RADDR信号)
‐読み出しデータ(RDATA信号)
RS制御信号1323(1323_1,2)は、SRAM1321(1321_1,2)の省電力状態を制御するための制御信号である。RS制御信号1323がL(ロー)レベルである場合には、SRAM1321は、通常状態に対応する通常モードに設定される。RS制御信号1323がH(ハイ)レベルである場合には、SRAM1321は、通常モードより省電力の(消費電力が少ない)RSモード(省電力モード)に設定される。
SRAM制御部1324は、データ転送制御部1320_0による制御に従って、第1処理部131から出力された識別データ1312をフラグ保持部1327に書き込む制御を行う。また、SRAM制御部1324は、データ転送制御部1320_0による制御に従って、第1処理部131から出力された画像データ1313を、SRAM1321_2又は画像処理用ウィンドウ1320_2の要素(2,2)に書き込む制御を行う。
代替データ保持部1326(1326_1,2)は、SRAM1321に格納されたデータの代わりに用いられる代替データを保持している。代替データ保持部1326_1には、第n番目のラインが白ライン(全画素が白画素で構成されたライン)である場合に読み出される代替データが格納されている。代替データ保持部1326_2には、第n+1番目のラインが白ラインである場合に読み出される代替データが格納されている。
フラグ保持部1327_10,11は、第n番目のラインが白ライン(全画素が白画素で構成されたライン)であるか否かを示す状態フラグを保持している。フラグ保持部1327_20,21は、第n+1番目のラインが白ラインであるか否かを示す状態フラグを保持している。状態フラグは、更に、各SRAM1321_1,2(ラインバッファ)がRSモードであるか否かを示す。
ここで、フラグ保持部1327_10は、SRAM1321_1の書き込み側の状態フラグを保持し、当該状態フラグは、SRAM1321_1への書き込みに関連する制御信号(WE信号)とともに書き込み制御に用いられる。フラグ保持部1327_11は、SRAM1321_1の読み出し側の状態フラグを保持する。
同様に、フラグ保持部1327_20は、SRAM1321_2の書き込み側の状態フラグを保持し、当該状態フラグは、SRAM1321_2への書き込みに関連する制御信号(WE信号)とともに書き込み制御に用いられる。フラグ保持部1327_21は、SRAM1321_2の読み出し側の状態フラグを保持する。
セレクタ1328(1328_1,2)は、フラグ保持部1327の値(白ラインを示す「1」又は非白ラインを示す「0」)に応じて、代替データ保持部1326からデータを読み出すか、SRAM1321(ラインバッファ)からデータを読み出すかを選択する。
フィルタ処理部1325は、画像処理用ウィンドウ1320_2を参照してフィルタ処理を実行するとともに、次段のDMAC14へのデータの出力制御を行う。本実施形態のフィルタ処理部1325は、一例として3×3画素を参照して、フィルタ処理を行う。具体的には、フィルタ処理部1325は、主走査方向に3画素、副走査方向に3画素の単位(3×3画素の単位)で、複数の画素を同時に参照し、参照した画素の画素データ(画素値)を用いてフィルタ処理を行う。
クロック生成部1329は、SRAM1321_1,2(及び他のモジュール)に対して供給する、同期用のクロックを生成する。なお、図3では、SRAM1321_1,2へ供給されるクロック信号のみを図示しているが、第2処理部132内の全モジュールが、クロック生成部1329によって生成されたクロック信号を使用している。
<画像データの転送制御及びSRAMの省電力制御>
次に、図3に加えて図4A及び図4Bを参照して、画像データの転送制御及びSRAM1321の省電力制御の手順について説明する。ここでは、図3に示す、3×3画素ウィンドウ及びラインバッファ(SRAM1321)を用いて実現される、フィルタ処理部1325への画像データの転送及びSRAM1321の省電力制御について説明する。図4A及び図4Bのフローチャートの各ステップの処理は、第2処理部132によって実現される。各ステップの処理は、1つ以上のプロセッサ(CPU等)が制御プログラムを記憶装置(ROM等)から読み出して実行する処理によって実現されてもよいし、少なくとも一部の処理がASIC等のハードウェアを用いて実現されてもよい。
まずS01で、データ転送制御部1320_0は、SRAM1321に対する初期設定をSRAM制御部1324に行わせる。SRAM制御部1324は、ラインバッファとして用いられるSRAM1321(1321_1,2)に対するRS制御信号(1323_1,2)の初期値をいずれも1(RSモード)に設定する。これにより、SRAM1321(1321_1,2)は、いずれもRSモードで省電力状態(RS状態)となり、ラインバッファ内部に格納されているデータは不定値となる。また、SRAM制御部1324は、フラグ保持部1327(1327_10,11,20,21)の初期値をいずれも1(白ライン)とする。
その後S02で、データ転送制御部1320_0は、第1処理部131(画像伸長部1310)から第2処理部132への画像データの転送、及び第2処理部132内における画像データの転送を開始し、S03へ処理を進める。
S03で、データ転送制御部1320_0は、転送対象(処理対象)がページの最後であるか否かを判定し、ページの最後でない場合にはS04へ、ページの最後である場合にはS25へ処理を進める。S25で、データ転送制御部1320_0は、SRAM1321(1321_1,2)に対するRS制御信号(1323_1,2)をそれぞれ1(RSモード)に設定する。また、データ転送制御部1320_0は、フラグ保持部1327(1327_10,11,20,21)にそれぞれ1(白ライン)を設定し、処理を終了する。一方、S04で、データ転送制御部1320_0は、処理対象がラインの先頭であるか否かを判定し、ラインの先頭である場合にはS05aへ、ラインの先頭でない場合にはS12aへ処理を進める。
S05aで、データ転送制御部1320_0は、フラグ保持部1327_10の値をフラグ保持部1327_11に、フラグ保持部1327_20の値をフラグ保持部1327_10,21にそれぞれ同時に書き込む。また、S05bで、データ転送制御部1320_0は、第1処理部131から識別データ1312を読み出してフラグ保持部1327_20に書き込むことで、フラグ保持部1327を更新し、S06へ処理を進める。S06で、データ転送制御部1320_0は、SRAM1321の読み出しアドレス(RADDR)及び書き込みアドレス(WADDR)を各ラインバッファの先頭アドレスに設定し、S07aへ処理を進める。
S07aで、SRAM制御部1324は、フラグ保持部1327_10,11に格納された状態フラグの両方の値が1(白ライン)であるか否かを判定する。SRAM制御部1324は、両方とも1(白ライン)の場合にはS08aへ、少なくともいずれかが0(非白ライン)の場合にはS10aへ、処理を進める。
S08aで、SRAM制御部1324は、SRAM1321_1に対するRS制御信号1323_1=1(RSモード)に設定し、S09aへ処理を進める。S09aで、SRAM制御部1324は、SRAM1321_1がRSモードになるまで待機し、SRAM1321_1がRSモードになるとS07bへ処理を進める。一方、S10aで、SRAM制御部1324は、SRAM1321_1に対するRS制御信号1323_1=0(通常モード)に設定し、S11aへ処理を進める。S11aで、SRAM制御部1324は、SRAM1321_1が通常モードになるまで待機し、SRAM1321_1が通常モードになるとS07bへ処理を進める。
S07bで、SRAM制御部1324は、フラグ保持部1327_20,21に格納された状態フラグの両方の値が1(白ライン)であるか否かを判定する。SRAM制御部1324は、両方とも1(白ライン)の場合にはS08bへ、少なくともいずれかが0(非白ライン)の場合にはS10bへ、処理を進める。
S08bで、SRAM制御部1324は、SRAM1321_2に対するRS制御信号1323_2=1(RSモード)に設定し、S09bへ処理を進める。S09bで、SRAM制御部1324は、SRAM1321_2がRSモードになるまで待機し、SRAM1321_2がRSモードになるとS12aへ処理を進める。一方、S10bで、SRAM制御部1324は、SRAM1321_2に対するRS制御信号1323_2=0(通常モード)に設定し、S11bへ処理を進める。S11bで、SRAM制御部1324は、SRAM1321_2が通常モードになるまで待機し、SRAM1321_2が通常モードになるとS12aへ処理を進める。
S12aで、SRAM制御部1324は、フラグ保持部1327_11に格納された状態フラグの値が1(白ライン)であるか否かを判定し、値が1(白ライン)である場合にはS13aへ、値が0(非白ライン)である場合にはS14aへ、処理を進める。
S13aで、セレクタ1328_1は、代替データ保持部1326_1から画素データを読み出し、S15aへ処理を進める。一方、S14aで、セレクタ1328_1は、SRAM1321_1から画素データを読み出し、S15aへ処理を進める。S15aで、セレクタ1328_1は、処理対象が1又は2ライン目である場合には何も行わず、処理対象が3ライン目以降である場合には、読み出した画素データを画像処理用ウィンドウ1320_2の要素(0,2)に書き込み、処理をS12bへ進める。
S12bで、SRAM制御部1324は、フラグ保持部1327_21に格納された状態フラグの値が1(白ライン)であるか否かを判定し、値が1(白ライン)である場合にはS13bへ、値が0(非白ライン)である場合にはS14bへ、処理を進める。
S13bで、セレクタ1328_2は、代替データ保持部1326_2から画素データを読み出し、S15bへ処理を進める。一方、S14bで、セレクタ1328_2は、SRAM1321_2から画素データを読み出し、S15bへ処理を進める。S15bで、セレクタ1328_2は、処理対象が1又は2ライン目である場合には何も行わず、処理対象が3ライン目以降である場合には、読み出した画素データを画像処理用ウィンドウ1320_2の要素(1,2)に書き込み、処理をS16へ進める。
S16で、SRAM制御部1324は、処理対象が1又は2ライン目である場合には何も行わず、処理対象が3ライン目以降である場合には、第1処理部131から画素データを読み出す。SRAM制御部1324は、読み出した画素データを画像処理用ウィンドウ1320_2の要素(2,2)に書き込み、S17へ処理を進める。S17で、SRAM制御部1324は、SRAM1321(SRAM1321_1,2)の読み出しアドレス(RADDR)をインクリメントし、S18へ処理を進める。
S18で、フィルタ処理部1325は、処理対象が1又は2ライン目である場合には何も行わず、処理対象が3ライン目以降である場合には、画像処理用ウィンドウ1320_2に格納された画像データを用いて画像処理(フィルタ処理)を行う。その後S19で、データ転送制御部1320_0は、画像処理用ウィンドウ1320_2内に格納されている各ラインの画素データを、ラインごとに、当該ウィンドウ内の隣の要素へそれぞれ移動させ、S20aへ処理を進める。
S20aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が1(白ライン)であるか否かを判定し、値が1(白ライン)である場合にはS20bへ、値が0(非白ライン)である場合にはS21aへ、処理を進める。S21aで、SRAM制御部1324は、セレクタ1328_2から読み出した画素データをSRAM1321_1に書き込み、S20bへ処理を進める。
S20bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が1(白ライン)であるか否かを判定し、値が1(白ライン)である場合にはS21へ、値が0(非白ライン)である場合にはS21bへ、処理を進める。S21bで、SRAM制御部1324は、第1処理部131から読み出した画素データをSRAM1321_2に書き込み、S22へ処理を進める。
S22で、データ転送制御部1320_0は、SRAM制御部1324を介してSRAM1321(SRAM1321_1,2)の書き込みアドレス(WADDR)をインクリメントし、S23へ処理を進める。S23で、データ転送制御部1320_0は、処理対象がラインの最後であるか否かを判定し、ラインの最後である場合にはS24へ、ラインの最後ではない場合にはS12aへ処理を戻す。S24で、データ転送制御部1320_0は、処理対象を次のラインの先頭に変更し、S03へ処理を戻す。
<処理例>
次に、図5乃至図7Bを参照して、図2に示す識別データ1312及び画像データ1313が第1処理部131から第2処理部132へラインごとに転送される場合を例に、図4A及び図4Bのフローチャートに従った処理の具体例について説明する。図5及び図6は、それぞれ、1ライン目(全て白画素で構成される白ライン)のデータ及び4ライン目(非白画素を含む非白ライン)のデータを第1処理部131から第2処理部へ転送する際の、第2処理部132内部の制御状態を示す図である。また、図7A及び図7Bは、図4A乃至図6に対応する処理に関連する制御信号及び画像データの変化を示すタイミングチャートである。
図5に示すように、画像データ1313は、全ての画素が白画素で構成される1〜3、7及び8番目のライン(白ライン)のデータと、非白画素を含む4〜6番目のライン(非白ライン)のデータとで構成される。各ラインに対応する識別データ1312は、白ラインに対しては「1」、非白ラインに対しては「0」が設定されている。
まず、図4A、図4B、図5、図7Aを参照して、1〜3ライン目の画像データ(白ラインの画像データ)を転送する際の転送制御及びSRAM1321の省電力制御について説明する。
●1ライン目(白ライン)処理
処理対象が1ライン目の画像データである場合、図4A及び図4BのS03以降において以下のように処理が行われる。
S03で、データ転送制御部1320_0は、処理対象がページの最後でないため、S04へ処理を進める。S04で、データ転送制御部1320_0は、処理対象が1ライン目の先頭であるので、S05へ処理を進める。
S05aで、データ転送制御部1320_0は、フラグ保持部1327_10の値(初期値1)をフラグ保持部1327_11に、フラグ保持部1327_20の値(初期値1)をフラグ保持部1327_10,21にそれぞれ同時に書き込む。また、S05bで、データ転送制御部1320_0は、第1処理部131から、1ライン目に対応する識別データ1312(=1)を読み出してフラグ保持部1327_20に書き込むことで、フラグ保持部1327を更新し、S06へ処理を進める。S06で、データ転送制御部1320_0は、SRAM1321の読み出しアドレス(RADDR)及び書き込みアドレス(WADDR)を各ラインバッファの先頭アドレス(=0)に設定し、S07aへ処理を進める。
S07aで、SRAM制御部1324は、フラグ保持部1327_10,11に格納された状態フラグの両方の値が1(白ライン)であるため、S08aへ処理を進める。S08aで、SRAM制御部1324は、SRAM1321_1に対するRS制御信号1323_1=1(RSモード、初期状態と同じ)に設定し、S09aへ処理を進める。S09aで、SRAM制御部1324は、SRAM1321_1がRSモードになるまで待機し、SRAM1321_1がRSモードになるとS07bへ処理を進める。
S07bで、SRAM制御部1324は、フラグ保持部1327_20,21に格納された状態フラグの両方の値が1(白ライン)であるため、S08bへ処理を進める。S08bで、SRAM制御部1324は、SRAM1321_2に対するRS制御信号1323_2=1(RSモード、初期状態と同じ)に設定し、S09bへ処理を進める。S09bで、SRAM制御部1324は、SRAM1321_2がRSモードになるまで待機し、SRAM1321_2がRSモードになるとS12aへ処理を進める。
S12aで、SRAM制御部1324は、フラグ保持部1327_11に格納された状態フラグの値が1(白ライン)であるため、S13aへ処理を進める。S13aで、セレクタ1328_1は、代替データ保持部1326_1から画素データを読み出し、S15aへ処理を進める。S15aで、セレクタ1328_1は、処理対象が1ライン目であるため、何も行わずに処理をS12bへ進める。
S12bで、SRAM制御部1324は、フラグ保持部1327_21に格納された状態フラグの値が1(白ライン)であるため、S13bへ処理を進める。S13bで、セレクタ1328_2は、代替データ保持部1326_2から画素データを読み出し、S15bへ処理を進める。S15bで、セレクタ1328_2は、処理対象が1ライン目であるため、何も行わずに処理をS16へ進める。
S16で、SRAM制御部1324は、処理対象が1ライン目であるため、何も行わずにS17へ処理を進める。S17で、SRAM制御部1324は、SRAM1321(SRAM1321_1,2)の読み出しアドレス(RADDR)をインクリメントし、S18へ処理を進める。
S18で、フィルタ処理部1325は、処理対象が1ライン目であるため、何も行わずにS19へ処理を進める。S19で、データ転送制御部1320_0は、画像処理用ウィンドウ1320_2内に未だ画素データが格納されていないため、そのままS20aへ処理を進める。
S20aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が1(白ライン)であるため、S20bへ処理を進める。S20bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が1(白ライン)であるため、S22へ処理を進める。
S22で、データ転送制御部1320_0は、SRAM制御部1324を介してSRAM1321(SRAM1321_1,2)の書き込みアドレス(WADDR)をインクリメントし、S23へ処理を進める。S23で、データ転送制御部1320_0は、処理対象がラインの最後ではないため、S12aへ処理を戻す。
ここで、1ライン目は白ラインであり(全て白画素で構成される)、1ライン目の最後の画素まで、各画素について上述のS12a〜S23の処理が繰り返される。S23で、データ転送制御部1320_0は、処理対象がラインの最後に達すると、S24へ処理を進め、処理対象を次のラインの先頭に変更し、S03へ処理を戻す。
●2ライン目(白ライン)処理
1ライン目と同様、2ライン目は白ラインである。このため、図4A及び図4Bの手順に従って、1ライン目と同様の処理が実行される。
●3ライン目(白ライン)処理
1及び2ライン目と同様、3ライン目は白ラインである。このため、S03〜S13aでは、1及び2ライン目と同様の処理が行われる。その後、S15aで、セレクタ1328_1は、処理対象が3ライン目であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(0,2)に書き込み、処理をS12bへ進める。S12b及びS13bでは、1及び2ライン目と同様の処理が行われる。その後、S15bで、S15bで、セレクタ1328_2は、処理対象が3ライン目であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(1,2)に書き込み、処理をS16へ進める。
S16で、SRAM制御部1324は、処理対象が3ライン目であるため、第1処理部131から画素データを読み出す。SRAM制御部1324は、読み出した画素データを画像処理用ウィンドウ1320_2の要素(2,2)に書き込み、S17へ処理を進める。S17で、SRAM制御部1324は、SRAM1321(SRAM1321_1,2)の読み出しアドレス(RADDR)をインクリメントし、S18へ処理を進める。
S18で、フィルタ処理部1325は、処理対象が3ライン目であるため、画像処理用ウィンドウ1320_2に格納された画像データを用いて画像処理(フィルタ処理)を行う。なお、処理対象のラインの1及び2画素目(画素#1,#2)が画像処理用ウィンドウ1320_2に書き込まれた際には、当該ウィンドウ(3×3画素ウィンドウ)内の画素データが足りない。このため、3画素目(画素#3)以降においてフィルタ処理が行われることになる。その後S19で、データ転送制御部1320_0は、画像処理用ウィンドウ1320_2内に格納されている各ラインの画素データを、ラインごとに、当該ウィンドウ内の隣の要素へそれぞれ移動させ、S20aへ処理を進める。
S20a〜S23では、1及び2ライン目と同様の処理が行われる。ここで、3ライン目は白ラインであるため、3ライン目の最後の画素まで、各画素について上述のS12a〜S23の処理が繰り返される。S23で、データ転送制御部1320_0は、処理対象がラインの最後に達すると、S24へ処理を進め、処理対象を次のラインの先頭に変更し、S03へ処理を戻す。
●4ライン目(非白ライン)処理
図5に示されるように、4ライン目は、非白画素を含むライン(非白ライン)である。図4A及び図4Bの手順に従って、S03〜S04では、1〜3ライン目と同様の処理が行われる。
S05a及びS05bでは、1〜3ライン目とは異なる、非白ラインに対応した処理が発生する。S05aで、データ転送制御部1320_0は、フラグ保持部1327_10の値(=1)をフラグ保持部1327_11に、フラグ保持部1327_20の値(=1)をフラグ保持部1327_10,21にそれぞれ同時に書き込む。また、S05bで、データ転送制御部1320_0は、第1処理部131から、4ライン目に対応する識別データ1312(=0(非白ライン))を読み出してフラグ保持部1327_20に書き込むことで、フラグ保持部1327を更新し、S06へ処理を進める。S06〜S09aでは、1〜3ライン目と同様の処理が行われる。
S07bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が0(非白ライン)、フラグ保持部1327_21に格納された状態フラグの値が1(白ライン)であるため、S10へ処理を進める。S10bで、SRAM制御部1324は、SRAM1321_2に対するRS制御信号1323_2=0(通常モード)に設定し、S11bへ処理を進める。S11bで、SRAM制御部1324は、SRAM1321_2が通常モードになるまで待機し、SRAM1321_2が通常モードになるとS12aへ処理を進める。
S12aで、SRAM制御部1324は、フラグ保持部1327_11に格納された状態フラグの値が1(白ライン)であるため、S13aへ処理を進める。S13aで、セレクタ1328_1は、代替データ保持部1326_1から画素データを読み出し、S15aへ処理を進める。S15aで、セレクタ1328_1は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(0,2)に書き込み、処理をS12bへ進める。
S12bで、SRAM制御部1324は、フラグ保持部1327_21に格納された状態フラグの値が1(白ライン)であるため、S13bへ処理を進める。S13bで、セレクタ1328_2は、代替データ保持部1326_2から画素データを読み出し、S15bへ処理を進める。S15bで、セレクタ1328_2は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(1,2)に書き込み、処理をS16へ進める。
S16で、SRAM制御部1324は、処理対象が3ライン目以降であるため、第1処理部131から画素データを読み出す。SRAM制御部1324は、読み出した画素データを画像処理用ウィンドウ1320_2の要素(2,2)に書き込み、S17へ処理を進める。S17で、SRAM制御部1324は、SRAM1321(SRAM1321_1,2)の読み出しアドレス(RADDR)をインクリメントし、S18へ処理を進める。
S18で、フィルタ処理部1325は、処理対象が3ライン目以降であるため、画像処理用ウィンドウ1320_2に格納された画像データを用いて画像処理(フィルタ処理)を行う。その後S19で、データ転送制御部1320_0は、画像処理用ウィンドウ1320_2内に格納されている各ラインの画素データを、ラインごとに、当該ウィンドウ内の隣の要素へそれぞれ移動させ、S20aへ処理を進める。
S20aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が1(白ライン)であるため、S20bへ処理を進める。S20bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が0(非白ライン)であるため、S21bへ処理を進める。S21bで、SRAM制御部1324は、第1処理部131から読み出した画素データをSRAM1321_2に書き込み、S22へ処理を進める。
S22で、データ転送制御部1320_0は、SRAM制御部1324を介してSRAM1321(SRAM1321_1,2)の書き込みアドレス(WADDR)をインクリメントし、S23へ処理を進める。S23で、データ転送制御部1320_0は、処理対象がラインの最後ではないため、S12aへ処理を戻す。
ここで、4ライン目は非白ラインであり、4ライン目の最後の画素まで、各画素について上述のS12a〜S23の処理が繰り返される。S23で、データ転送制御部1320_0は、処理対象がラインの最後に達すると、S24へ処理を進め、処理対象を次のラインの先頭に変更し、S03へ処理を戻す。
●5ライン目(非白ライン)処理
図5に示されるように、5ライン目は、非白画素を含むライン(非白ライン)である。図4A及び図4Bの手順に従って、S03〜S04では、1〜4ライン目と同様の処理が行われる。
S05a及びS05bでは、4ライン目と同様、非白ラインに対応した処理が発生する。S05aで、データ転送制御部1320_0は、フラグ保持部1327_10の値(=1)をフラグ保持部1327_11に、フラグ保持部1327_20の値(=0)をフラグ保持部1327_10,21にそれぞれ同時に書き込む。また、S05bで、データ転送制御部1320_0は、第1処理部131から、5ライン目に対応する識別データ1312(=0(非白ライン))を読み出してフラグ保持部1327_20に書き込むことで、フラグ保持部1327を更新し、S06へ処理を進める。S06で、データ転送制御部1320_0は、SRAM1321の読み出しアドレス(RADDR)及び書き込みアドレス(WADDR)を各ラインバッファの先頭アドレスに設定し、S07aへ処理を進める。
S07aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が0(非白ライン)、フラグ保持部1327_11に格納された状態フラグの値が1(白ライン)であるため、S10aへ処理を進める。S10aで、SRAM制御部1324は、SRAM1321_1に対するRS制御信号1323_1=0(通常モード)に設定し、S11aへ処理を進める。S11aで、SRAM制御部1324は、SRAM1321_1が通常モードになるまで待機し、SRAM1321_1が通常モードになるとS07bへ処理を進める。
S07bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が0(非白ライン)、フラグ保持部1327_21に格納された状態フラグの値が0(非白ライン)であるため、S10bへ処理を進める。S10bで、SRAM制御部1324は、SRAM1321_2に対するRS制御信号1323_2=0(通常モード)に設定し、S11bへ処理を進める。S11bで、SRAM制御部1324は、4ライン目の処理によりSRAM1321_2は既に通常モードになっているため、S12aへ処理を進める。
S12aで、SRAM制御部1324は、フラグ保持部1327_11に格納された状態フラグの値が1(白ライン)であるため、S13aへ処理を進める。S13aで、セレクタ1328_1は、代替データ保持部1326_1から画素データを読み出し、S15aへ処理を進める。S15aで、セレクタ1328_1は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(0,2)に書き込み、処理をS12bへ進める。
S12bで、SRAM制御部1324は、フラグ保持部1327_21に格納された状態フラグの値が0(非白ライン)であるため、S14bへ処理を進める。S14bで、セレクタ1328_2は、SRAM1321_2から画素データを読み出し、S15bへ処理を進める。S15bで、セレクタ1328_2は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(1,2)に書き込み、処理をS16へ進める。
S16〜S19では、4ライン目と同様の処理が行われる。
S20aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が0(非白ライン)であるため、S21aへ処理を進める。S21aで、SRAM制御部1324は、セレクタ1328_2から読み出した画素データをSRAM1321_1に書き込み、S20bへ処理を進める。S20bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が0(非白ライン)であるため、S21bへ処理を進める。S21bで、SRAM制御部1324は、第1処理部131から読み出した画素データをSRAM1321_2に書き込み、S22へ処理を進める。
S22で、データ転送制御部1320_0は、SRAM制御部1324を介してSRAM1321(SRAM1321_1,2)の書き込みアドレス(WADDR)をインクリメントし、S23へ処理を進める。S23で、データ転送制御部1320_0は、処理対象がラインの最後ではないため、S12aへ処理を戻す。
ここで、5ライン目は非白ラインであり、5ライン目の最後の画素まで、各画素について上述のS12a〜S23の処理が繰り返される。S23で、データ転送制御部1320_0は、処理対象がラインの最後に達すると、S24へ処理を進め、処理対象を次のラインの先頭に変更し、S03へ処理を戻す。
●6ライン目(非白ライン)処理
図5に示されるように、6ライン目は、非白画素を含むライン(非白ライン)である。図4A及び図4Bの手順に従って、S03〜S04では、1〜5ライン目と同様の処理が行われる。
S05a及びS05bでは、4及び5ライン目と同様、非白ラインに対応した処理が発生する。S05aで、データ転送制御部1320_0は、フラグ保持部1327_10の値(=0)をフラグ保持部1327_11に、フラグ保持部1327_20の値(=0)をフラグ保持部1327_10,21にそれぞれ同時に書き込む。また、S05bで、データ転送制御部1320_0は、第1処理部131から、5ライン目に対応する識別データ1312(=0(非白ライン))を読み出してフラグ保持部1327_20に書き込むことで、フラグ保持部1327を更新し、S06へ処理を進める。S06で、データ転送制御部1320_0は、SRAM1321の読み出しアドレス(RADDR)及び書き込みアドレス(WADDR)を各ラインバッファの先頭アドレスに設定し、S07aへ処理を進める。
S07aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が0(非白ライン)、フラグ保持部1327_11に格納された状態フラグの値が0(非白ライン)であるため、S10aへ処理を進める。S10aで、SRAM制御部1324は、SRAM1321_1に対するRS制御信号1323_1=0(通常モード)に設定し、S11aへ処理を進める。S11aで、SRAM制御部1324は、5ライン目の処理によりSRAM1321_1は既に通常モードになっているため、S07bへ処理を進める。
S07bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が0(非白ライン)、フラグ保持部1327_21に格納された状態フラグの値が0(非白ライン)であるため、S10bへ処理を進める。S10bで、SRAM制御部1324は、SRAM1321_2に対するRS制御信号1323_2=0(通常モード)に設定し、S11bへ処理を進める。S11bで、SRAM制御部1324は、SRAM1321_2は既に通常モードになっているため、S12aへ処理を進める。
S12aで、SRAM制御部1324は、フラグ保持部1327_11に格納された状態フラグの値が0(非白ライン)であるため、S14aへ処理を進める。S14aで、セレクタ1328_1は、SRAM1321_1から画素データを読み出し、S15aへ処理を進める。S15aで、セレクタ1328_1は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(0,2)に書き込み、処理をS12bへ進める。
S12bで、SRAM制御部1324は、フラグ保持部1327_21に格納された状態フラグの値が0(非白ライン)であるため、S14bへ処理を進める。S14bで、セレクタ1328_2は、SRAM1321_2から画素データを読み出し、S15bへ処理を進める。S15bで、セレクタ1328_2は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(1,2)に書き込み、処理をS16へ進める。
S16〜S19では、4ライン目と同様の処理が行われる。
S20aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が0(非白ライン)であるため、S21aへ処理を進める。S21aで、SRAM制御部1324は、セレクタ1328_2から読み出した画素データをSRAM1321_1に書き込み、S20bへ処理を進める。S20bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が0(非白ライン)であるため、S21bへ処理を進める。S21bで、SRAM制御部1324は、第1処理部131から読み出した画素データをSRAM1321_2に書き込み、S22へ処理を進める。
S22で、データ転送制御部1320_0は、SRAM制御部1324を介してSRAM1321(SRAM1321_1,2)の書き込みアドレス(WADDR)をインクリメントし、S23へ処理を進める。S23で、データ転送制御部1320_0は、処理対象がラインの最後ではないため、S12aへ処理を戻す。
ここで、6ライン目は非白ラインであり、6ライン目の最後の画素まで、各画素について上述のS12a〜S23の処理が繰り返される。S23で、データ転送制御部1320_0は、処理対象がラインの最後に達すると、S24へ処理を進め、処理対象を次のラインの先頭に変更し、S03へ処理を戻す。
●7ライン目(白ライン)処理
図5に示されるように、7ライン目は白ラインである。図4A及び図4Bの手順に従って、S03〜S04では、1〜6ライン目と同様の処理が行われる。
S05a及びS05bでは、白ラインに対応した処理が発生する。S05aで、データ転送制御部1320_0は、フラグ保持部1327_10の値(=0)をフラグ保持部1327_11に、フラグ保持部1327_20の値(=0)をフラグ保持部1327_10,21にそれぞれ同時に書き込む。また、S05bで、データ転送制御部1320_0は、第1処理部131から、7ライン目に対応する識別データ1312(=1(白ライン))を読み出してフラグ保持部1327_20に書き込むことで、フラグ保持部1327を更新し、S06へ処理を進める。S06で、データ転送制御部1320_0は、SRAM1321の読み出しアドレス(RADDR)及び書き込みアドレス(WADDR)を各ラインバッファの先頭アドレス(=0)に設定し、S07aへ処理を進める。
S07aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が0(非白ライン)、フラグ保持部1327_11に格納された状態フラグの値が0(非白ライン)であるため、S10aへ処理を進める。S10aで、SRAM制御部1324は、SRAM1321_1に対するRS制御信号1323_1=0(通常モード)に設定し、S11aへ処理を進める。S11aで、SRAM制御部1324は、SRAM1321_1は既に通常モードになっているため、S07bへ処理を進める。
S07bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が0(非白ライン)、フラグ保持部1327_21に格納された状態フラグの値が(白ライン)であるため、S10bへ処理を進める。S10bで、SRAM制御部1324は、SRAM1321_2に対するRS制御信号1323_2=0(通常モード)に設定し、S11bへ処理を進める。S11bで、SRAM制御部1324は、4ライン目の処理によりSRAM1321_2が既に通常モードになっているため、S12aへ処理を進める。
S12aで、SRAM制御部1324は、フラグ保持部1327_11に格納された状態フラグの値が1(白ライン)であるため、S13aへ処理を進める。S13aで、セレクタ1328_1は、代替データ保持部1326_1から画素データを読み出し、S15aへ処理を進める。S15aで、セレクタ1328_1は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(0,2)に書き込み、処理をS12bへ進める。
S12bで、SRAM制御部1324は、フラグ保持部1327_21に格納された状態フラグの値が0(非白ライン)であるため、S14bへ処理を進める。S14bで、セレクタ1328_2は、SRAM1321_2から画素データを読み出し、S15bへ処理を進める。S15bで、セレクタ1328_2は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(1,2)に書き込み、処理をS16へ進める。
S16〜S19では、4ライン目と同様の処理が行われる。
S20aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が0(非白ライン)であるため、S21aへ処理を進める。S21aで、SRAM制御部1324は、セレクタ1328_2から読み出した画素データをSRAM1321_1に書き込み、S20bへ処理を進める。S20bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が1(白ライン)であるため、S22へ処理を進める。
S22で、データ転送制御部1320_0は、SRAM制御部1324を介してSRAM1321(SRAM1321_1,2)の書き込みアドレス(WADDR)をインクリメントし、S23へ処理を進める。S23で、データ転送制御部1320_0は、処理対象がラインの最後ではないため、S12aへ処理を戻す。
ここで、7ライン目は白ラインであり、7ライン目の最後の画素まで、各画素について上述のS12a〜S23の処理が繰り返される。S23で、データ転送制御部1320_0は、処理対象がラインの最後に達すると、S24へ処理を進め、処理対象を次のラインの先頭に変更し、S03へ処理を戻す。
●8ライン目(白ライン、最終ライン)処理
図5に示されるように、8ライン目は白ラインである。図4A及び図4Bの手順に従って、S03〜S04では、1〜7ライン目と同様の処理が行われる。
S05a及びS05bでは、白ラインに対応した処理が発生する。S05aで、データ転送制御部1320_0は、フラグ保持部1327_10の値(=0)をフラグ保持部1327_11に、フラグ保持部1327_20の値(=1)をフラグ保持部1327_10,21にそれぞれ同時に書き込む。また、S05bで、データ転送制御部1320_0は、第1処理部131から、8ライン目に対応する識別データ1312(=1(白ライン))を読み出してフラグ保持部1327_20に書き込むことで、フラグ保持部1327を更新し、S06へ処理を進める。S06で、データ転送制御部1320_0は、SRAM1321の読み出しアドレス(RADDR)及び書き込みアドレス(WADDR)を各ラインバッファの先頭アドレス(=0)に設定し、S07aへ処理を進める。
S07aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が1(白ライン)、フラグ保持部1327_11に格納された状態フラグの値が0(非白ライン)であるため、S10aへ処理を進める。S10aで、SRAM制御部1324は、SRAM1321_1に対するRS制御信号1323_1=0(通常モード)に設定し、S11aへ処理を進める。S11aで、SRAM制御部1324は、SRAM1321_1は既に通常モードになっているため、S07bへ処理を進める。
S07bで、SRAM制御部1324は、フラグ保持部1327_20,21に格納された状態フラグの両方の値が1(白ライン)であるため、S08bへ処理を進める。S08bで、SRAM制御部1324は、SRAM1321_2に対するRS制御信号1323_2=1(RSモード)に設定し、S09bへ処理を進める。S09bで、SRAM制御部1324は、SRAM1321_2がRSモードになるまで待機し、SRAM1321_2がRSモードになるとS12aへ処理を進める。
S12aで、SRAM制御部1324は、フラグ保持部1327_11に格納された状態フラグの値が0(非白ライン)であるため、S14aへ処理を進める。S14aで、セレクタ1328_1は、SRAM1321_1から画素データを読み出し、S15aへ処理を進める。S15aで、セレクタ1328_1は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(0,2)に書き込み、処理をS12bへ進める。
S12bで、SRAM制御部1324は、フラグ保持部1327_21に格納された状態フラグの値が1(白ライン)であるため、S13bへ処理を進める。S13bで、セレクタ1328_2は、代替データ保持部1326_2から画素データを読み出し、S15bへ処理を進める。S15bで、セレクタ1328_2は、処理対象が3ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ1320_2の要素(1,2)に書き込み、処理をS16へ進める。
S16で、SRAM制御部1324は、処理対象が3ライン目以降であるため、第1処理部131から画素データを読み出す。SRAM制御部1324は、読み出した画素データを画像処理用ウィンドウ1320_2の要素(2,2)に書き込み、S17へ処理を進める。S17で、SRAM制御部1324は、SRAM1321(SRAM1321_1,2)の読み出しアドレス(RADDR)をインクリメントし、S18へ処理を進める。
S18で、フィルタ処理部1325は、処理対象が3ライン目以降であるため、画像処理用ウィンドウ1320_2に格納された画像データを用いて画像処理(フィルタ処理)を行う。その後S19で、データ転送制御部1320_0は、画像処理用ウィンドウ1320_2内に格納されている各ラインの画素データを、ラインごとに、当該ウィンドウ内の隣の要素へそれぞれ移動させ、S20aへ処理を進める。
S20aで、SRAM制御部1324は、フラグ保持部1327_10に格納された状態フラグの値が1(白ライン)であるため、S20bへ処理を進める。S20bで、SRAM制御部1324は、フラグ保持部1327_20に格納された状態フラグの値が1(白ライン)であるため、S22へ処理を進める。
S22で、データ転送制御部1320_0は、SRAM制御部1324を介してSRAM1321(SRAM1321_1,2)の書き込みアドレス(WADDR)をインクリメントし、S23へ処理を進める。S23で、データ転送制御部1320_0は、処理対象がラインの最後ではないため、S12aへ処理を戻す。
ここで、8ライン目は白ラインであり、8ライン目の最後の画素まで、各画素について上述のS12a〜S23の処理が繰り返される。S23で、データ転送制御部1320_0は、処理対象がラインの最後に達すると、S24へ処理を進め、処理対象を次のラインの先頭に変更し、S03へ処理を戻す。
S03で、データ転送制御部1320_0は、処理対象がページの最後であるため、S25へ処理を進める。S25で、データ転送制御部1320_0は、SRAM1321(1321_1,2)に対するRS制御信号(1323_1,2)をそれぞれ1(RSモード)に設定する。また、データ転送制御部1320_0は、フラグ保持部1327(1327_10,11,20,21)にそれぞれ1(白ライン)を設定し、処理を終了する。
以上説明したように、本実施形態では、画像処理装置100は、通常状態(第1電力状態)と、当該通常状態より省電力のRS状態(第2電力状態)とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるSRAM1321を備える。画像伸長部1310は、画像処理の対象となる画像データをラインごとに生成する。白ライン検出部1311は、画像伸長部1310によって生成された各ラインの画像データから、所定の繰り返しパターンの複数の画素で構成されたライン(本実施形態では、全ての画素が白画素で構成された白ライン)を検出する。SRAM制御部1324は、画像伸長部1310によって生成されてSRAM1321にライン単位でバッファリングされた画像データを、フィルタ処理部1325による画像処理に使用するためにSRAM1321から読み出す。その際、SRAM制御部1324は、白ライン検出部1311によって検出されたラインについては、SRAM1321からの画像データの読み出しを行わず、SRAMをRS状態にして、代替データを画像処理に使用する。
このように、所定の繰り返しパターン(本実施形態では白画素の繰り返し)を有するラインについては、SRAM1321から画像データの読み出しを行わずに、代替データを使用して画像処理を行う。即ち、1ラインの画像データが既知の繰り返しパターンを有する場合には、SRAM1321へのアクセスを行わずに、同様の繰り返しパターンを有するデータを代替データとして使用して画像処理を行う。SRAM1321へのアクセスを行わない間、SRAMを省電力状態(RS状態)にすることで、SRAMの消費電力を低減できる。本実施形態によれば、画像処理装置における画像処理に用いられる各ラインの画像データに応じて、画像処理用のラインバッファとして使用するSRAM1321の電力状態をRS状態にすることで、SRAMの消費電力の低減が可能になる。
一般的に、RSモードは通常モードの40%程度の消費電力とされている。また、近年の画像形成装置の高画質化に伴い、当該装置の内部に画像処理用に実装されるSRAMの容量は増加傾向にある。このため、本実施形態のように、RSモードを有するSRAMの省電力制御を促進することで、装置全体の消費電力に占めるSRAMの消費電力の割合を、大幅に低減することが可能となる。
なお、本実施形態では、RSモードを有するSRAM(メモリモジュール)の省電力制御について示してきたが、RSモードを有しないSRAMにも同様の処理を適用可能である。例えば、SRAMへの電力供給を遮断した状態にする電力遮断モードによる省電力制御を用いて、同様の処理を実現することが可能であり、同様の効果を得ることが可能である。このように電源遮断モードを用いる場合、一般的に通常モードと電源遮断モードとの間の遷移に、通常モードとRSモードとの間の遷移よりも時間を要し、これは性能の低下につながりうる。しかし、電源遮断モードでは、SRAMのメモリアレイ部以外の周辺回路部のみでなく、メモリアレイ部自体についても省電力化が可能であるため、より高い省電力効果が得ることが可能である。
また、本実施形態では、所定の繰り返しパターンを有するラインの検出として、白画素の繰り返しを有する白ラインの検出を行う例を示している。この点について、繰り返しパターンは、例えば、黒画素の繰り返しであってもよいし、予め定められた画素値が1ライン分繰り返されるパターンであってもよい。
[第2実施形態]
第2実施形態では、第2処理部132内において、圧縮データにおける特定のパターンを有する圧縮ラインの検出結果に基づくSRAM1321の省電力制御を行う例について説明する。なお、以下では、第1実施形態と共通する部分の説明については省略する。
図8は、本実施形態に係る、第1処理部131及び第2処理部132で構成される画像処理部13の構成例を示すブロック図である。
本実施形態の画像伸長部1310は、第1実施形態の白ライン検出部1311に代えて、圧縮ライン検出部1315を備える。圧縮ライン検出部1315は、画像データ1313から、ランレングス圧縮による繰り返しパターンを有するラインを検出し、検出結果を示す識別データ1314を生成する。識別データ1314は、画像データ1313に含まれる、ランレングス圧縮による繰り返しパターンを有する(ランレングス圧縮されている)ラインを識別するためのデータである。識別データ1314は、第1実施形態の識別データ1312の代わりに用いられ、画像データ1313とともに第1処理部131から第2処理部132へ出力される。
ランレングス圧縮は、ある値と、その値の繰り返し回数とに基づいて、データ量の圧縮を図る技術である。例えば、1ラインがすべてある画素値(例えば、128)である場合、圧縮後の画像データは、[画素値128+繰り返し画素数(=1ラインの画素数)]という形式で表現されうる。
第2処理部132は、第1実施形態とほぼ同様の構成を有するが、第1実施形態の代替データ保持部1326に代えて、データ保持部1330を備えている。本実施形態では、圧縮ライン検出部1315は、白画素の検出に代えて、ランレングス圧縮による繰り返しパターンを有するラインの検出を行う。第2処理部132は、識別データ1314を用いて、このような繰り返しパターンを有するラインを識別した場合、そのラインの先頭の画素値をラインバッファに書き込むタイミング(第1実施形態のS20a,S20bに相当。)に、当該画素値をラインバッファではなくデータ保持部1330に書き込む。更に、第2処理部132は、データの読み出し時(第1実施形態のS13a,S13bに相当。)に、データ保持部1330からデータを代替データとして読み出す。
上述の処理により、例えば、画素値128の画素の繰り返し、又は画素値255の画素の繰り返しで構成されたライン(白画素以外の画素値のベタ画像)について、第1実施形態と同様に、SRAM1321の省電力制御を行うことが可能である。
以上説明したように、本実施形態では、識別データ1314を用いて、ランレングス圧縮が行われたラインに対しては、ランレングス圧縮による画素値をラインバッファに書き込む代わりに、ラインの先頭においてデータ保持部1330に書き込む。更に、データの読み出し時に、データ保持部1330から当該データを読み出すことで、SRAM1321へのアクセスを行わない間、SRAM1321をRSモードによる省電力状態にすることができる。これにより、SRAM1321の消費電力の低減が可能である。
[第3実施形態]
第3実施形態では、第2実施形態の変形例について説明する。なお、以下では、第1及び第2実施形態と共通する部分の説明については省略する。
本実施形態では、圧縮ライン検出部1315は、複数の画素の繰り返しパターンを有するラインを検出する。例えば、1ラインが4つの画素値(128,64,135,64)の繰り返しで構成される場合、ランレングス圧縮後の画像データは、[画素値128,64,135,64+繰り返し画素数(=1ラインの画素数)]という形式で表現されうる。このような繰り返しパターンは、例えば、ハーフトーン処理を行った中間調の画像データ等に使用される。
本実施形態では、第2処理部132は、第2実施形態と同様の構成(図8)を有する。圧縮ライン検出部1315は、白画素の検出に代えて、ランレングス圧縮による繰り返しパターンを有するラインの検出を行う。第2処理部132は、識別データ1314を用いて、このような繰り返しパターンを有するラインを識別した場合、以下の処理を行う。具体的には、第2処理部132は、そのラインの先頭から繰り返しパターン数の画素値を、ラインの先頭画素パターンとして、ラインバッファに書き込むタイミング(第1実施形態のS20a,S20bに相当。)に、データ保持部1330に書き込む。更に、第2処理部132は、データの読み出し時(第1実施形態のS13a,S13bに相当。)に、データ保持部1330から各画素位置に応じてデータを代替データとして読み出す。
上述の処理により、例えば、1ラインがハーフトーン処理による繰り返しパターンを有するラインについて、第1及び第2実施形態と同様に、SRAM1321の省電力制御を行うことが可能である。なお、ハーフトーン処理の場合、ディザパターンの幅によって繰り返しパターンの画素数が規定される。このため、本実施形態のデータ保持部1330の記憶領域を、繰り返しパターンの画素数に対応する容量の領域とすることで、ハードウェア資源を有効に利用できる。
以上説明したように、本実施形態では、識別データ1314を用いて、ランレングス圧縮が行われたラインに対しては、圧縮による画素値をラインバッファに書き込む代わりに、ラインの先頭において繰り返しパターンをデータ保持部1330に書き込む。更に、データの読み出し時に、各画素位置に応じてデータ保持部1330から繰り返しパターンを読み出すことで、SRAM1321へのアクセスを行わない間、SRAM1321をRSモードによる省電力状態にすることができる。これにより、SRAM1321の消費電力の低減が可能である。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100:画像処理装置、1:画像処理プロセッサ、13:画像処理部、131:第1処理部、132:第2処理部、1320:データ処理部、1321:SRAM(ラインバッファ)、1324:SRAM制御部、1325:フィルタ処理部、1326:代替データ保持部、1327:フラグ保持部、1328:セレクタ

Claims (10)

  1. 第1電力状態と、前記第1電力状態より省電力の第2電力状態とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるメモリモジュールと、
    前記画像処理の対象となる画像データをラインごとに生成する生成手段と、
    前記生成手段によって生成された各ラインの画像データから、所定の繰り返しパターンの複数の画素で構成されたラインを検出する検出手段と、
    前記生成手段によって生成されて前記メモリモジュールにライン単位でバッファリングされた画像データを、前記画像処理に使用するために前記メモリモジュールから読み出す制御手段と、を備え、
    前記制御手段は、前記検出手段によって検出されたラインについては、前記メモリモジュールからの画像データの読み出しを行わず、前記メモリモジュールを前記第2電力状態にして、前記所定の繰り返しパターンに対応する代替データを前記画像処理に使用する
    ことを特徴とする画像処理装置。
  2. 前記制御手段は、
    前記検出手段によって検出されなかったラインについては、前記メモリモジュールを前記第1電力状態にして、前記生成手段によって生成された画像データを前記バッファリングのために前記メモリモジュールに書き込み、
    前記検出手段によって検出されたラインについては、前記メモリモジュールを前記第2電力状態にして、前記生成手段によって生成された画像データを前記メモリモジュールに書き込まない
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記生成手段は、圧縮された入力画像データに対して伸長処理を行って、伸長された画像データをライン単位で生成し、
    前記検出手段は、前記生成手段によって生成された各ラインの画像データに対して、前記所定の繰り返しパターンの複数の画素で構成されたラインを識別するための識別データを生成し、
    前記制御手段は、前記検出手段によって生成された前記識別データに従って、前記メモリモジュールへのアクセス及び前記メモリモジュールの電力状態を制御する
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記代替データを保持する保持手段を更に備え、
    前記制御手段は、
    前記検出手段によって検出されなかったラインについては、前記メモリモジュールから画像データを読み出し、
    前記検出手段によって検出されたラインについては、前記保持手段から前記代替データを読み出す
    ことを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
  5. 前記検出手段は、全ての画素が白画素で構成されたラインを検出する
    ことを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。
  6. 前記検出手段は、ランレングス圧縮による繰り返しパターンを有するラインを検出する
    ことを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。
  7. 前記検出手段は、ハーフトーン処理による繰り返しパターンを有するラインを検出する
    ことを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。
  8. 前記第2電力状態は、前記メモリモジュールへの電力供給を遮断した状態である
    ことを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
  9. 第1電力状態と、前記第1電力状態より省電力の第2電力状態とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるメモリモジュールを備える画像処理装置の制御方法であって、
    前記画像処理の対象となる画像データをラインごとに生成する生成工程と、
    前記生成工程で生成された各ラインの画像データから、所定の繰り返しパターンの複数の画素で構成されたラインを検出する検出工程と、
    前記生成工程で生成されて前記メモリモジュールにライン単位でバッファリングされた画像データを、前記画像処理に使用するために前記メモリモジュールから読み出す制御工程と、を含み、
    前記制御工程では、前記検出工程で検出されたラインについては、前記メモリモジュールからの画像データの読み出しを行わず、前記メモリモジュールを前記第2電力状態にして、前記所定の繰り返しパターンに対応する代替データを前記画像処理に使用する
    ことを特徴とする画像処理装置の制御方法。
  10. 請求項9に記載の画像処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
JP2018109657A 2018-06-07 2018-06-07 画像処理装置及びその制御方法、並びにプログラム Pending JP2019213124A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018109657A JP2019213124A (ja) 2018-06-07 2018-06-07 画像処理装置及びその制御方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018109657A JP2019213124A (ja) 2018-06-07 2018-06-07 画像処理装置及びその制御方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2019213124A true JP2019213124A (ja) 2019-12-12

Family

ID=68847067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018109657A Pending JP2019213124A (ja) 2018-06-07 2018-06-07 画像処理装置及びその制御方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2019213124A (ja)

Similar Documents

Publication Publication Date Title
CN107864308B (zh) 信息处理装置及其控制方法
JP7259628B2 (ja) ネットワーク制御装置、画像形成装置、ネットワーク制御装置の制御方法およびネットワーク制御装置の制御プログラム
JP2019213124A (ja) 画像処理装置及びその制御方法、並びにプログラム
US20110292448A1 (en) Program execution control method
US10811060B2 (en) Information processing apparatus and control method thereof
JP3714840B2 (ja) データ転送方法とデータ転送制御装置
US10871926B2 (en) Information processing apparatus including SRAM capable of shifting to plurality of power saving modes according to control signal and control method thereof
JP4034323B2 (ja) 画像データ処理方法と画像データ処理装置及び画像形成装置
JP2002254729A (ja) 画像データのdma制御装置
JP5205317B2 (ja) 画像処理装置
JP2018118477A (ja) 画像処理装置とその制御方法、及びプログラム
JP2003241983A (ja) 情報処理装置及び情報処理方法
JP5125205B2 (ja) データ信号処理装置、画像処理装置、画像出力装置、および、データ信号処理方法
JP2011188050A (ja) 画像処理方法、画像処理装置および画像形成装置
JP2006229505A (ja) 画像処理装置および画像処理方法
JP5403665B2 (ja) データ転送方法
JP2009017060A (ja) 画像処理装置
JP6123865B2 (ja) 画像形成装置および画像形成システム
JP2955301B2 (ja) 画像処理方法
JP2010062984A (ja) 画像形成装置
JP2019003499A (ja) 画像処理装置、その制御方法、及びプログラム
JP2004254187A (ja) 情報処理装置
JPH05212913A (ja) 画像形成装置
JP2012139961A (ja) 画像形成装置および画像形成システム
CN117978942A (zh) 一种支持多格式色彩空间的动态视频输出方法及装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113