JP4446389B2 - 圧縮伸長モジュールのインターフェース装置 - Google Patents

圧縮伸長モジュールのインターフェース装置 Download PDF

Info

Publication number
JP4446389B2
JP4446389B2 JP2005024828A JP2005024828A JP4446389B2 JP 4446389 B2 JP4446389 B2 JP 4446389B2 JP 2005024828 A JP2005024828 A JP 2005024828A JP 2005024828 A JP2005024828 A JP 2005024828A JP 4446389 B2 JP4446389 B2 JP 4446389B2
Authority
JP
Japan
Prior art keywords
compression
data
decompression
image
image data
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.)
Active
Application number
JP2005024828A
Other languages
English (en)
Other versions
JP2006217007A (ja
Inventor
泰治 萩田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005024828A priority Critical patent/JP4446389B2/ja
Publication of JP2006217007A publication Critical patent/JP2006217007A/ja
Application granted granted Critical
Publication of JP4446389B2 publication Critical patent/JP4446389B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storing Facsimile Image Data (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、圧縮伸長モジュールのインターフェース装置に関し、特に、複写機やプリンタやMFPにおける、ASICに内蔵された画像圧縮伸長モジュールと汎用DMACとのインターフェース装置に関する。
プリンタやMFP等の画像処理装置は、画像をRAMやHDDなどのストレージに蓄積する際のデータ量を削減する目的で、圧縮伸長器を搭載している。圧縮伸長の方式は多種あるが、ハードウェア化されてASICに内蔵され、ラインメモリを使って圧縮伸長を行うという形態の圧縮伸長器の場合、圧縮伸長器に入力しようとする処理画像の主走査幅に制限が付く。
一般に、ラインメモリは1ライン分の画像データを蓄積するために使用される。ラインメモリを使用するケースとしては、以下のような理由がある。
(1)圧縮伸長の方式が、前ラインを参照する2次元圧縮方式であるとき。
(2)圧縮伸長器が1ラインの画像をスキャンして、最適な圧縮方式または内部パラメータを選択するとき。
(3)外部インターフェースとの速度的なボトルネックの解消などのため。
専用のラインメモリを持つ場合は、容量は有限となり、処理可能な画像主走査幅に上限ができる。ここでいう画像の主走査幅は、データ容量のことであり、2値データであれば画素数と一致するが、多値データであれば、同じ画素数でもデータ量が増加する。システムが扱う画像主走査幅を超えるラインメモリを持つ場合は問題とならないが、ASICのゲート数(コスト)の制限で、十分な容量のラインメモリをもてない場合があり、問題となる。一方、ラインメモリ容量より処理画像の主走査幅が小さいケースもある。圧縮伸長器が、ラインメモリ容量単位でしか圧縮/伸長処理しない構成の場合は、予め処理画像の主走査幅がラインメモリ容量と一致するように、ダミーデータを付加する必要がある。また、ラインメモリ以下の主走査幅のデータであっても、処理単位を指定して処理可能な構成であれば、ダミーデータを最小化するような処理単位を選択することができる。
主走査幅の制限に対応するためには、予めソフトウェアによって処理画像に冗長な画像を付加するか、あるいは処理画像を複数に分割する必要がある。つまり、ソフトウェアにより以下の処理が必要である。
圧縮時の処理は、以下のとおりである。
(1)圧縮伸長器のランメモリ容量と処理画像データ量とを比較する。
(2)以下の要領でデータを加工する。
(A)「圧縮伸長器のランメモリ容量=処理画像データ量」なら、処理画像の加工は不要である。
(B)「圧縮伸長器のランメモリ容量>処理画像データ量」なら、処理画像にダミーデータを付加する。
(C)「圧縮伸長器のランメモリ容量<処理画像データ量」なら、処理画像を分割して圧縮伸長器に入力する。ただし、
(C-1)「処理画像データ量が圧縮伸長器のランメモリ容量の整数倍」ならダミーデータの付加は不要である。
(C-2)「処理画像データ量が圧縮伸長器のランメモリ容量の整数倍」でなければ、最終ラインにダミーデータを付加する。
(3)加工情報を処理画像と対応付けてメモリに格納する。
(4)加工された画像データを圧縮伸長器に入力する。
伸長時の処理は、以下のとおりである。
(1)伸長された画像データを圧縮伸長器の出力として得る
(2)処理画像と対応付けられた加工情報をメモリから取得する。
(3)加工情報に基づき画像データを復元する。
画像DMACと圧縮伸長器の間にインターフェース回路が無い場合の、画像DMACと圧縮伸長器の動作について説明する。簡単のため符号DMACの動作説明は省略する。圧縮時には、画像DMACは、CPUの起動命令を受け付けて、RAMの所定領域の画像データを読み出し、圧縮伸長器に転送する。RAMに格納されたデータは2次元の画像データであり、そのライン長は、画像DMAC内のIWIDTHレジスタに予め格納されている。画像DMACは、IWIDTHの値に従って、ライン長毎に圧縮伸長器に対してEOL(End Of Line)信号を送出してラインの終端を示しながら、複数ラインの転送を行う。圧縮伸長器(又は圧縮器)は、画像DMACからの1ラインのデータを受け取ると、一旦そのデータをラインメモリに格納した後、圧縮処理を行う。さらに、圧縮後の符号データを、順次、符号DMACに転送する。
伸長時には、画像DMACは、CPUの起動命令を受け付けて、圧縮伸長器にデータを要求する。画像DMACからデータを要求された圧縮伸長器は、符号DMACから符号データを受け取り、伸長しながらラインメモリに格納する。さらに、ラインメモリがFullになると、画像DMACに対して画像データを転送する。画像DMACは、転送されてくるデータをRAMの所定領域に格納する。これは、(1)処理画像のライン長(IWIDTH設定値)が、圧縮伸長器のラインメモリ容量を超えない、(2)圧縮伸長器は、ラインメモリの容量に満たなくても画像DMACからのEOLで処理画像のライン長を検知する、という条件のもとに成立する動作である。
データ分割やダミーデータ付加の処理のために、ラインメモリの容量(=圧縮伸長器の主走査方向の処理単位の最大設定値)と処理画像の主走査幅(画素数ではなくデータ容量をさす。以後同様)の情報に基づき、ハードウェアで自動的にデータの加工及び復元を行うインターフェース装置がある。また、圧縮伸長器の処理単位であるライン長の設定値をソフトウェアにより任意に設定することを可能としたインターフェース装置もある。
画像DMACと圧縮伸長器との間のインターフェース回路の動作について説明する。処理画像の主走査幅とラインメモリ容量との関係で、インターフェース回路の動作が異なる。その場合分けを、図8に示す。処理画像の主走査幅は、IWIDTHとして画像DMACから信号線で通知される。ラインメモリ容量は、XWIDTHとしてインターフェース回路内部のレジスタに持ち、信号線で圧縮伸長器へ通知する。
(1)「圧縮伸長器のラインメモリ容量>処理画像データ量」なら、処理画像にダミーデータを付加する。
(2)「圧縮伸長器のラインメモリ容量=処理画像データ量」なら、処理画像の加工は不要である。
(3)「圧縮伸長器のラインメモリ容量<処理画像データ量」なら、処理画像の主走査を分割する。「処理画像データ量が圧縮伸長器のラインメモリ容量の整数倍」なら、ダミーデータの付加は不要である。「処理画像データ量が圧縮伸長器のラインメモリ容量の整数倍」でなければ、最終ラインにダミーデータを付加する。
具体的な分割方法は次のとおりである。
(A)「圧縮伸長器のラインメモリ容量<処理画像データ量≦圧縮伸長器のラインメモリ容量×2」なら、処理画像の主走査を2分割する。ちょうど2分割できない場合は、ちょうど2分割できるように最終ラインにダミーデータを付加する。
(B)「圧縮伸長器のラインメモリ容量×2<処理画像データ量≦圧縮伸長器のラインメモリ容量×3」なら、処理画像の主走査を3分割する。ちょうど3分割できない場合は、ちょうど3分割できるように最終ラインにダミーデータを付加する。
(C)「圧縮伸長器のラインメモリ容量×(k−1)<処理画像データ量≦圧縮伸長器のラインメモリ容量×k」なら、処理画像の主走査をk分割する。ちょうどk分割できない場合は、ちょうどk分割できるように最終ラインにダミーデータを付加する。
以下に、圧縮伸張装置の従来例を挙げる。特許文献1に開示された「画像形成装置」は、データ変換形式によらず、固定容量の記憶領域を用いて、1次記憶部に記憶された画像データの形式を変換し、その変換後の画像データを効率的に2次記憶部に転送できる装置である。メモリ制御部が、画像メモリ(1次記憶部)上に、圧縮画像記憶領域(変換画像記憶領域)を確保する。入出力画像DMACによって、画像メモリ内の通常画像記憶領域に書き込んだ画像データを、画像転送DMACによって、予め設定された所定サイズ(1バイト)毎に分割して順次読み出して、圧縮伸長器へ転送する。そこで圧縮された(他のデータ形式に変換された)分割データである符号データ(変換画像データ)を、符号転送DMACによって圧縮画像記憶領域に書き込む。その符号データを、HDDコントローラによって、HDD(2次記憶部)へ転送する。
特許文献2に開示された「画像処理装置」は、大きな容量のバッファメモリを用いることなく、画像データの圧縮処理/伸張処理を可能とする装置である。分割処理部では、画像読取部から入力される画像データを、圧縮用バッファメモリの一方に、所定サイズの画像データとして格納する。次の画像データを、他方の圧縮用バッファメモリに格納する。同時に、一方の圧縮用バッファメモリに格納している画像データを、圧縮処理部へ出力する。圧縮処理部は、所定サイズのブロック毎に分割されながら入力される画像データから、ブロックごとの符号データを生成して、一時記憶手段に出力する。これにより、1ページ分の画像データを格納するバッファメモリを用いることなく、画像データに基づいた符号データを生成することができる。
特開2003-018336号公報 特開2003-051952号公報
しかし、従来の圧縮伸長装置では、次のような問題がある。ラインメモリを利用する圧縮器に、ラインメモリ容量より大きなライン長のデータを処理させるためには、処理データを複数回に分けて圧縮器に入力する必要がある。圧縮された符号データが、伸長器により伸長されて出力された場合は、出力された複数のラインデータを連結して1ラインとしてDMAコントローラへ転送する必要がある。これらの処理をソフトウェアで行う方法では、設定の自由度が高まる反面、ソフトウェアによる演算が必要となるため、制御が複雑になり、処理速度が低下する。このソフトウェア処理をハードウェア化する方法も提案されているが、ハードウェア構成が複雑となり、実用的ではない。処理画像に単純にダミーデータを付加する方法では、ダミーデータ転送によるオーバーヘッドが無視できないという問題がある。
本発明の目的は、上記従来の問題を解決して、DMAコントローラと圧縮伸長モジュールとの間のインターフェース装置において、簡単な構成で効率的に画像データを転送できるようにすることである。
上記の課題を解決するために、本発明では、圧縮伸長器の処理単位であるライン長の設定値を、インターフェース装置のハードウェアで演算して決定する構成とした。すなわち、画像メモリの所定単位長の画像データを、DMAコントローラを介して受信し、ラインメモリを利用して設定処理単位で圧縮処理をする圧縮器に転送する圧縮伸長器用インターフェース装置に、所定単位長の画像データをラインメモリの容量以下に分割するように、所定単位長とラインメモリの容量とに基づいて圧縮器の設定処理単位のデータ長を算出する手段と、所定単位長の画像データを圧縮器の設定処理単位のデータ長に分割して圧縮器へ転送する手段とを設けた。
また、ラインメモリを利用して設定処理単位で伸長処理をする伸長器からの出力データを受信して、DMAコントローラを介して所定単位長の画像データを画像メモリに転送する圧縮伸長器用インターフェース装置に、伸長器の設定処理単位の画像データを1つまたは複数連結して所定単位長の画像データとするために、伸長器の設定処理単位のデータ長がラインメモリの容量に近くダミーデータも少なくなるように、所定単位長とラインメモリの容量とに基づいて設定処理単位を算出する手段と、伸長器から出力された設定処理単位の画像データを1つまたは複数連結して所定単位長の画像データとしてDMAコントローラを介して画像メモリへ転送する手段とを設けた。
また、画像メモリの所定単位長の画像データを、DMAコントローラを介して送受信するとともに、ラインメモリを利用して設定処理単位で圧縮伸長処理をする圧縮伸長器との間でデータ転送する圧縮伸長器用インターフェース装置に、所定単位長の画像データをラインメモリの容量以下に分割するように、所定単位長とラインメモリの容量とに基づいて圧縮伸長器の設定処理単位のデータ長を算出する手段と、所定単位長の画像データを圧縮伸長器の設定処理単位のデータ長に分割して圧縮伸長器へ転送する手段と、圧縮伸長器から出力された設定処理単位の画像データを1つまたは複数連結して所定単位長の画像データとしてDMAコントローラを介して画像メモリへ転送する手段とを設けた。
本発明では、上記のように構成したことにより、DMAコントローラと圧縮器に変更を加えることなく、ラインメモリ容量より大きなライン長のデータを圧縮器に入力できる。さらに、圧縮器の処理単位であるライン長の設定値を、ソフトウェアで演算して決定する必要が無いため、制御が簡単になり、処理が高速化できる。
また、DMAコントローラと伸長器に変更を加えることなく、ラインメモリ容量より大きなライン長のデータを伸長出力として得ることができる。さらに、伸長器の処理単位であるライン長の設定値を、ソフトウェアで演算して決定する必要が無いため、制御が簡単になり、処理が高速化される。
また、圧縮伸長器とDMAコントローラとの間に変更を加えることなく、ラインメモリ容量より大きなライン長のデータを、圧縮器伸長器に入力できるとともに伸長出力として得ることができる。さらに、圧縮伸長器の処理単位であるライン長の設定値を、ソフトウェアで演算して決定する必要が無いため、制御が簡単になり、処理が高速化される。
以下、本発明を実施するための最良の形態について、図1〜図7を参照しながら詳細に説明する。
本発明の実施例1は、DMAコントローラから転送されるデータのライン長情報と圧縮器のラインメモリ容量とに基づいて、圧縮器の処理単位であるライン長の設定値を算出し、DMAコントローラから転送されるデータ量が圧縮器のラインメモリ容量より大きい場合は、1ラインのデータをラインメモリ容量以下になるように分割し、複数回に分けて圧縮器へ転送する圧縮モジュールのインターフェース装置である。
図1は、本発明の実施例1におけるインターフェース回路を内蔵するASICを利用したシステム構成図である。このシステムは、プリンタまたはMFPに適用した例である。図1において、プリンタコントローラ100は、プリンタまたはMPFに搭載されるプリンタ制御基板である。CPU101は、プリンタコントローラのメインCPUである。ASIC102は、圧縮伸長器を内蔵するLSIである。詳細を図2に示す。ROM103は、プログラムを内蔵するROMである。RAM104は、メインメモリである。HDD105は、ハードディスクである。拡張スロット106は、RAM/ROMの増設などのために、オプション基板を装着できるスロットである。操作部インターフェース107は、オペレーションパネルを接続するインターフェースである。エンジンインターフェース108は、プロッタやスキャナを接続するインターフェースである。ネットワークインターフェース109は、LANを接続するインターフェースである。エンジン110は、プロッタやスキャナの本体である。ホストPC111は、プロッタやスキャナを利用するコンピュータである。
図2は、本発明の実施例1におけるインターフェース回路を内蔵するASIC102の構成図である。このASIC102は、RAM104に格納された画像データを圧縮伸長器で圧縮(符号化)してHDD105に蓄積し、HDD105に蓄積された符号を圧縮伸長器で伸長してRAM104に展開する構成を示している。画像や符号の蓄積デバイスは、RAM104やHDD105以外のものでもよい。図2において、CPU101は、プリンタコントローラのメインCPUである。ASIC102は、圧縮伸長器を内蔵するASICである。HDD103は、画像や符号を蓄積可能はハードディスクである。RAM104は、画像や符号を蓄積可能なメモリである。システム制御部113は、CPU101からの指令により、ASIC102内部の各モジュールを制御するとともに、RAM104やHDD105へのアクセスを制御する回路である。
HDDインターフェース114は、HDD105との間のインターフェース制御を行う回路である。符号DMAC115は、符号転送用のDMAコントローラである。圧縮時に、圧縮伸長器116から出力された符号をHDD105に転送するとともに、伸長時に、HDD105に蓄積された符号を圧縮伸長器116へ入力する回路である。圧縮伸長器116は、画像を圧縮及び伸長するハードウェアモジュールである。圧縮器と伸長器とに分離されていても良い。画像DMAC117は、画像転送用のDMAコントローラである。画像を2次元として扱い、主走査単位で転送を行う。圧縮時には、RAM104上の画像データを圧縮伸長器116へ入力し、伸長時には、圧縮伸長器116から出力された画像データをRAM104に転送する。RAMインターフェース118は、RAM104とのインターフェース制御を行う回路である。インターフェース回路112は、画像DMAC117と圧縮伸長器116との間でデータを転送するためのハードウェアモジュールである。ラインメモリ119は、1ライン分のデータを保持するバッファメモリである。
図3は、圧縮伸長器と周辺の構成を示す図である。インターフェース回路112は、圧縮伸長器116と画像DMAC117との間に位置している。この回路ブロックでは、REQ信号とACK信号のやり取りで、64ビットのデータをやりとりする。図3において、圧縮伸長器116は、圧縮伸長アルゴリズム実行手段を内蔵したハードウェアモジュールである。インターフェース回路112は、画像DMACと圧縮伸長器との間でデータを転送するためのハードウェアモジュールである。画像DMAC107は、メモリから圧縮伸長器(圧縮部)へのDMA転送と、圧縮伸長器(伸長部)からメモリへのDMA転送を行うハードウェアモジュールである。インターフェース回路112は、XWIDTHレジスタを持ち、ソフトウェアによって設定可能である。インターフェース回路112は、演算回路を有しており、XWIDTH_MAX(XWIDTHの最大設定値、すなわちラインメモリ容量)とIWIDTH(処理画像の主走査幅)とに基づいて、XWIDTHを算出することができる。
図4は、実施例1におけるインターフェース回路で、処理画像の主走査幅とラインメモリ容量との関係で異なる動作の場合分けを示す図である。図5は、圧縮伸長器の主走査幅を求める回路の機能ブロック図である。図6は、圧縮時のデータの流れを示す図である。
上記のように構成された本発明の実施例1におけるインターフェース回路の動作を説明する。処理画像の主走査幅とラインメモリ容量との関係で、インターフェース回路の動作が異なる。その場合分けを、図4に示す。処理画像の主走査幅は、IWIDTHとして画像DMACから信号線で通知される。ラインメモリ容量(XWIDTH_MAX)は、圧縮伸長器からインターフェース装置に信号線で通知される。ソフトウェアによって、インターフェース装置のレジスタに設定される方法でもよい。インターフェース回路は、XWIDTH_MAXとIWIDTHとの情報に基づいて演算し、インターフェース回路内部のIWIDTHレジスタに値を設定する。XWIDTHは、信号線で圧縮伸長器へ通知される。
ダミーデータ付加を最小にするアルゴリズムでXWIDTHを演算する方法を説明する。ダミーデータは無駄なデータであるが、処理画像とともに符号化されてしまうので、最も圧縮率の良いデータとすべきである。一般的には、白画素に対応したデータ(ALL0またはALL1)が望ましい。
(1)「圧縮伸長器のラインメモリ容量≧処理画像データ量」なら、XWIDTHにIWIDTHを代入する。「圧縮伸長器のラインメモリ容量=処理画像データ量」なら、処理画像の加工は不要である。
(2)「圧縮伸長器のラインメモリ容量<処理画像データ量」なら、処理画像の主走査を分割する。分割方法は次のとおりである。
(A)「圧縮伸長器のラインメモリ容量<処理画像データ量≦圧縮伸長器のラインメモリ容量×2」なら、処理画像の主走査を2分割する。処理画像をちょうど2分割できれば、その値をXWIDTHに選択する。2分割できなければ、ダミーデータを付加して2分割する。ダミーデータのサイズは、(処理画像データ量 mod2)で、0か1である。
(B)「圧縮伸長器のラインメモリ容量×2<処理画像データ量≦圧縮伸長器のラインメモリ容量×3」なら、処理画像の主走査を3分割する。処理画像をちょうど3分割できれば、その値をXWIDTHに選択する。3分割できなければ、ダミーデータを付加して3分割する。ダミーデータのサイズは、(−処理画像データ量 mod3)で、0か1か2である。
(C)「圧縮伸長器のラインメモリ容量×(k−1)<処理画像データ量≦圧縮伸長器のラインメモリ容量×k」なら、処理画像の主走査をk分割する。処理画像をちょうどk分割できれば、その値をXWIDTHに選択する。k分割できなければ、ダミーデータを付加してk分割する。ダミーデータのサイズは、(−処理画像データ量 modk)で、0〜(k−1)のいずれかである。
このようにして、処理画像を整数分割できるようなXWIDTHがなければ、分割数とダミーデータ量が最小になるようなXWIDTHを選択する方法により、インターフェース回路の演算回路で自動的にXWIDTHを算出する。XWIDTH算出のための演算回路を、図5を参照しながら説明する。図5(a)の回路では、処理画像データ量Mを、圧縮伸長器のラインメモリ容量NNで割って、その商(M/NN)を切り上げて、分割数kを求める。処理画像データ量Mの負数を分割数kで割った余り(−M modk)により、ダミーデータ量を求める。処理画像データ量Mにダミーデータ量を加算して、分割数kで割ることにより、圧縮伸長器の主走査幅Nを求める。図5(b)は、同機能の他の回路例である。分割数kが1の場合は、処理画像データ量が圧縮伸長器の主走査幅となる。分割数kが2以上の場合のダミーデータ量は、0〜(k−1)となる。図5に示した括弧内の数値は、計算例である。
インターフェース回路の動作フローを説明する。圧縮時には、圧縮伸長器のラインメモリ容量と処理画像の主走査幅とを比較する。図4の場合分けに従い、データを加工しながら画像データを圧縮伸長器に入力する。圧縮時のデータの流れを、図6に示す。画像DMACに処理画像の主走査幅をIWIDTH[13:3]として保持する。インターフェース回路には信号線で伝達する。インターフェース回路に圧縮伸長器のラインメモリ容量をXWIDTH[10:3]として保持する。図6の例では、IWIDHTは10、XWIDTHは3である。
したがって、インターフェース回路は、次の動作を行う。
(1)画像DMACから入力する画像データの1ラインを、4回に分けて圧縮伸長器へ入力する。
(2)1ラインの4回目の転送において、不足しているデータはダミーデータを付加して圧縮伸長器へ入力する。
(3)圧縮伸長器が1ラインの最終データを示すEOL(End Of Line)信号を必要とする場合は、ラインメモリ容量毎にEOLを発生する。
(4)1ライン終了後は、2ライン目以降も同様の操作で画像データの転送を行う。
図3と図6を参照しながら、圧縮時のインターフェース回路の内部動作を説明する。ハンドシェークにより、64ビットのデータのやり取りをする。データのやり取りはバースト転送で行われ、1ラインの間バーストが途切れないインターフェースであり、インターフェース回路の内部バッファは1段であり、データ入力の次クロックでデータ出力する。インターフェース回路は、転送の準備ができると、画像DMACに対してREQ_Dを出力してデータを要求する。REQ_Dを受けた画像DMACは、ACK_Dと同時にDATA_Dを出力する。ACK_Dを検出したインターフェース回路は、次クロックから1クロック毎にデータをラッチし続ける。この動作は、基本的には、周知のバーストモードDMAと同じである。DMA転送に先立ってダミーデータを用意する部分のみが異なる。
DMAの転送制御のために、以下の2つのカウンタを使う。
(1)Xカウンタ:XWIDTHをカウントするカウンタである。転送開始時にXWIDTHの設定値がロードされ、画像DMACからデータが入力されるたびにカウントダウンする。カウンタ値が1のとき、再度XWIDTHがロードされる。
(2)Iカウンタ:IWIDTHをカウントするカウンタである。転送開始時にIWIDTHの設定値がロードされ、画像DMACからデータが入力されるたびにカウントダウンする。カウンタ値が1になるとカウントダウンを停止し、1を保持する。IWIDTHがXWIDTHの整数倍(同じ値の場合を含む)時には、2つのカウンタは同時に1になる。この場合、ダミーデータを付加する必要が無い。
インターフェース回路は、2つのカウンタ値を参照しながら次の動作を行う。
(1)Xカウンタが1の時に画像DMACから入力されたデータを圧縮伸長器へ出力する際には、EOL_Uをアサートする。
(2)Iカウンタが1になると、直ちにREQ_Dをネゲートする。さらに、以降の圧縮伸長器へ内部生成したダミーデータを出力する。1以外の時は、画像DMACからの入力データを圧縮伸長器へ出力する。
(3)2つのカウンタがともに1のとき、処理画像の1ラインが終了したので、2つのカウンタには、それぞれ初期値をリロードし、次ラインの転送に備える。
上記のように、本発明の実施例1では、圧縮モジュールのインターフェース装置を、DMAコントローラから転送されるデータのライン長情報と圧縮器のラインメモリ容量とに基づいて、圧縮器の処理単位であるライン長の設定値を算出し、DMAコントローラから転送されるデータ量が圧縮器のラインメモリ容量より大きい場合は、1ラインのデータをラインメモリ容量以下になるように分割し、複数回に分けて圧縮器へ転送する構成としたので、DMAコントローラと圧縮器に変更を加えることなく、ラインメモリ容量より大きなライン長のデータを圧縮器に入力できる。
本発明の実施例2は、DMACから転送されるデータのライン長情報と伸長器のラインメモリ容量とに基づいて、伸長器の処理単位であるライン長の設定値を算出し、処理データ量が伸長器のラインメモリ容量より大きい場合は、伸長器から出力された複数のラインデータを1ラインとして連結してDMAコントローラへ転送する伸張モジュールのインターフェース装置である。
本発明の実施例2におけるインターフェース装置の構成は、実施例1と同様である。伸長器の処理単位であるライン長の設定値を算出する点が異なる。この算出回路などは、実施例1と同じであるので、説明は省略する。伸長時には、伸長された画像データを圧縮伸長器の出力として得る。図4の場合分けに従い、データを復元しながら画像データをメモリ/HDDへ転送する。
伸長時のデータの流れを図7に示す。図6の条件で圧縮されたデータを伸長するので、インターフェース回路は次の動作を行う。
(1)圧縮伸長器から入力する画像データ4回分の転送を1ラインと見立てて画像DMACへ入力する。
(2)1ラインの4回目の転送において、付加されているダミーデータを削除して画像DMACへ入力する。
(3)画像DMACは処理画像の主走査幅を知っている(IWIDTHデータを保持)ので、EOL信号は不要である。
(4)1ライン終了後は、2ライン目以降も同様の操作で画像データの転送を行う。
図3と図7を参照しながら、伸長時のインターフェース回路の内部動作を説明する。これは、基本的には、周知のバーストモードDMAと同じである。ハンドシェークにより64ビットのデータのやり取りをする。データのやり取りはバースト転送で行われ、1ラインの間バーストが途切れないインターフェースであり、インターフェース回路の内部バッファは1段であり、データ入力の次クロックでデータ出力する。インターフェース回路は、圧縮伸長器からREQ_Uを受け取ると、DATA_Uをラッチすると同時にACK_Uをアサートする。インターフェース回路は次クロックから1クロック毎にデータをラッチし続ける。
DMAの転送制御のために、以下の2つのカウンタを使う。
(1)Xカウンタ:XWIDTHをカウントするカウンタである。転送開始時にXWIDTHの設定値がロードされ、画像DMACからデータが入力されるたびにカウントダウンする。カウンタ値が1のとき、再度XWIDTHがロードされる。
(2)Iカウンタ:IWIDTHをカウントするカウンタである。転送開始時にIWIDTHの設定値がロードされ、画像DMACからデータが入力されるたびにカウントダウンする。カウンタ値が1になるとカウントダウンを停止し、Xカウンタが1になるまで1を保持する。IWIDTHがXWIDTHの整数倍(同じ値の場合を含む)時には、2つのカウンタは同時に1になる。この場合、伸長された画像にはダミーデータが付加されていないため、データの読み捨て動作は発生しない。
インターフェース回路は、2つのカウンタ値を参照しながら次の動作を行う。
(1)Iカウンタが1になると、以降、圧縮伸長器から入力されたデータを読み捨てる。1以外の時は、圧縮伸長器からの入力データを画像DMACへ出力する。
(2)2つのカウンタがともに1のとき、処理画像の1ラインが終了したので、2つのカウンタには、それぞれ初期値をリロードし、次ラインの転送に備える。
実施例2では、伸長時にEOL信号が無いが、EOLが必要なシステムでは、次のような処理となる。圧縮伸長器からEOLがXWIDTH毎に転送されてくるが、IWIDTHの満了時のみ画像DMACへEOLをアサートする。Iカウンタが1の時に圧縮伸長器から入力されたデータを画像DMACへ出力する際には、EOL信号をアサートする。
上記のように、本発明の実施例2では、伸張モジュールのインターフェース装置を、DMAコントローラから転送されるデータのライン長情報と伸長器のラインメモリ容量とに基づいて、伸長器の処理単位であるライン長の設定値を算出し、処理データ量が伸長器のラインメモリ容量より大きい場合は、伸長器から出力された複数のラインデータを1ラインとして連結してDMAコントローラへ転送する構成としたので、DMAコントローラと圧縮器に変更を加えることなく、ラインメモリ容量より大きなライン長のデータを圧縮器に入力できる。
本発明の実施例3は、DMAコントローラから転送されるデータのライン長情報と圧縮伸長器のラインメモリ容量とに基づいて、圧縮伸長器の処理単位であるライン長の設定値を算出し、圧縮時には、DMAコントローラから転送されるデータ量が圧縮器のラインメモリ容量より大きい場合は、1ラインのデータをラインメモリ容量以下になるように分割し、複数回に分けて圧縮器へ転送し、伸長時には、処理データ量が伸長器のラインメモリ容量より大きい場合は、伸長器から出力された複数のラインデータを1ラインとして連結してDMAコントローラへ転送する圧縮伸長モジュールのインターフェース装置である。
本発明の実施例3におけるインターフェース装置の構成は、実施例1、2と同様である。圧縮と伸長の両方向について、実施例1と実施例2の構成を適用したものである。それぞれの構成と動作は、実施例1、2と同じであるので、説明は省略する。
本発明の圧縮伸長モジュールのインターフェース装置は、複写機やプリンタやMFPにおける、ASICに内蔵された画像圧縮伸長モジュールと汎用DMACとのインターフェース装置として最適である。画像圧縮伸長装置以外の処理装置、例えば、画像補正装置や電子透かし付加装置などにも応用できる。
本発明の実施例1におけるインターフェース回路を内蔵するASICを利用したシステム構成図である。 本発明の実施例1におけるインターフェース回路を内蔵するASICの構成図である。 本発明の実施例1におけるインターフェース回路と圧縮伸長器と画像DMACとの接続関係を示す図である。 本発明の実施例1におけるインターフェース回路で、処理画像の主走査幅とラインメモリ容量との関係で異なる動作の場合分けを示す図である。 本発明の実施例1におけるインターフェース回路で、圧縮伸長器の主走査幅を求める回路の機能ブロック図である。 本発明の実施例1におけるインターフェース回路で、圧縮時のデータの流れを示す図である。 本発明の実施例2におけるインターフェース回路で、伸長時のデータの流れを示す図である。 従来のインターフェース回路で、処理画像の主走査幅とラインメモリ容量との関係で異なる動作の場合分けを示す図である。
符号の説明
100・・・プリンタコントローラ、101・・・CPU、102・・・ASIC、103・・・ROM、104・・・RAM、105・・・HDD、106・・・拡張スロット、107・・・操作部インターフェース、108・・・エンジンインターフェース、109・・・ネットワークインターフェース、110・・・エンジン、111・・・ホストPC、112・・・インターフェース回路、113・・・システム制御部、114・・・HDDインターフェース、115・・・符号DMAC、116・・・圧縮伸長器、117・・・画像DMAC、118・・・RAMインターフェース、119・・・ラインメモリ。

Claims (3)

  1. 画像メモリの所定単位長の画像データを、DMAコントローラを介して受信し、ラインメモリを利用して設定処理単位で圧縮処理をする圧縮器に転送する圧縮伸長器用インターフェース装置であって、前記所定単位長の画像データを前記ラインメモリの容量以下に分割するように、前記所定単位長と前記ラインメモリの容量とに基づいて前記圧縮器の設定処理単位のデータ長を算出する手段と、前記所定単位長の画像データを前記圧縮器の設定処理単位のデータ長に分割して前記圧縮器へ転送する手段とを具備することを特徴とする圧縮伸長器用インターフェース装置。
  2. ラインメモリを利用して設定処理単位で伸長処理をする伸長器からの出力データを受信して、DMAコントローラを介して所定単位長の画像データを画像メモリに転送する圧縮伸長器用インターフェース装置であって、前記伸長器の設定処理単位の画像データを1つまたは複数連結して前記所定単位長の画像データとするために、前記伸長器の設定処理単位のデータ長が前記ラインメモリの容量に近くダミーデータも少なくなるように、前記所定単位長と前記ラインメモリの容量とに基づいて前記設定処理単位を算出する手段と、前記伸長器から出力された設定処理単位の画像データを1つまたは複数連結して前記所定単位長の画像データとして前記DMAコントローラを介して前記画像メモリへ転送する手段とを具備することを特徴とする圧縮伸長器用インターフェース装置。
  3. 画像メモリの所定単位長の画像データを、DMAコントローラを介して送受信するとともに、ラインメモリを利用して設定処理単位で圧縮伸長処理をする圧縮伸長器との間でデータ転送する圧縮伸長器用インターフェース装置であって、前記所定単位長の画像データを前記ラインメモリの容量以下に分割するように、前記所定単位長と前記ラインメモリの容量とに基づいて前記圧縮伸長器の設定処理単位のデータ長を算出する手段と、前記所定単位長の画像データを前記圧縮伸長器の設定処理単位のデータ長に分割して前記圧縮伸長器へ転送する手段と、前記圧縮伸長器から出力された設定処理単位の画像データを1つまたは複数連結して前記所定単位長の画像データとして前記DMAコントローラを介して前記画像メモリへ転送する手段とを具備することを特徴とする圧縮伸長器用インターフェース装置。
JP2005024828A 2005-02-01 2005-02-01 圧縮伸長モジュールのインターフェース装置 Active JP4446389B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005024828A JP4446389B2 (ja) 2005-02-01 2005-02-01 圧縮伸長モジュールのインターフェース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005024828A JP4446389B2 (ja) 2005-02-01 2005-02-01 圧縮伸長モジュールのインターフェース装置

Publications (2)

Publication Number Publication Date
JP2006217007A JP2006217007A (ja) 2006-08-17
JP4446389B2 true JP4446389B2 (ja) 2010-04-07

Family

ID=36979891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005024828A Active JP4446389B2 (ja) 2005-02-01 2005-02-01 圧縮伸長モジュールのインターフェース装置

Country Status (1)

Country Link
JP (1) JP4446389B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8860738B2 (en) 2008-12-24 2014-10-14 Semiconductor Energy Laboratory Co., Ltd. Image processing circuit, display device, and electronic device
JP2011164682A (ja) * 2010-02-04 2011-08-25 Ricoh Co Ltd データ通信装置及び画像処理装置

Also Published As

Publication number Publication date
JP2006217007A (ja) 2006-08-17

Similar Documents

Publication Publication Date Title
US20030164975A1 (en) Image processing apparatus and image processing method
US7130072B2 (en) Multifunction system, image processing method, computer program and memory medium
WO2000015442A1 (fr) Imprimante, dispositif de traitement d'images, procede de traitement d'images et support d'enregistrement
US7447384B2 (en) Image processing method and apparatus
JP4446389B2 (ja) 圧縮伸長モジュールのインターフェース装置
JP2001332976A (ja) 画像処理装置及び画像処理方法
JP2003316714A (ja) 情報処理装置及び方法
JP3907471B2 (ja) 画像入出力制御装置
JP3604795B2 (ja) 印字制御装置と印字制御方法
JP4065550B2 (ja) 画像入出力制御装置、画像処理装置、画像入出力制御装置における画像処理方法、及び画像処理装置における画像処理方法
JP2018058295A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2009044547A (ja) 画像処理装置および画像処理方法
JPH10341437A (ja) 画像処理方法及び装置
JP3997851B2 (ja) 画像符号化装置および画像符号化プログラム
JPS63116569A (ja) 画像処理システム
JP5205317B2 (ja) 画像処理装置
JP3703431B2 (ja) データ通信装置、画像処理装置、データ通信方法、及び画像処理装置におけるデータ通信方法
JP4859215B2 (ja) データ処理装置、及び、制御方法
JP3463643B2 (ja) 圧縮装置、圧縮方法、圧縮方法を記録した記録媒体、プリンタ
JP4399965B2 (ja) 印刷装置および印刷方法
JP4561230B2 (ja) データ転送制御装置及びデータ転送方法
JP2004120639A (ja) 画像処理方法
JP2003250050A (ja) 画像処理装置及びその制御方法
JP2004253906A (ja) 伸長装置
JPH06161943A (ja) 2次元dmaコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100114

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100114

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4446389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140129

Year of fee payment: 4