JP4065194B2 - 画像形成装置 - Google Patents
画像形成装置 Download PDFInfo
- Publication number
- JP4065194B2 JP4065194B2 JP2002381150A JP2002381150A JP4065194B2 JP 4065194 B2 JP4065194 B2 JP 4065194B2 JP 2002381150 A JP2002381150 A JP 2002381150A JP 2002381150 A JP2002381150 A JP 2002381150A JP 4065194 B2 JP4065194 B2 JP 4065194B2
- Authority
- JP
- Japan
- Prior art keywords
- raster data
- data
- block
- image
- unit
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 88
- 239000000872 buffer Substances 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 37
- 230000015572 biosynthetic process Effects 0.000 claims 1
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 39
- 238000010586 diagram Methods 0.000 description 22
- 238000007906 compression Methods 0.000 description 21
- 230000006835 compression Effects 0.000 description 20
- 238000012546 transfer Methods 0.000 description 19
- OMCYEZUIYGPHDJ-OQLLNIDSSA-N chembl354261 Chemical compound OC1=CC=CC=C1\C=N\NC(=O)C1=CC=CC=C1O OMCYEZUIYGPHDJ-OQLLNIDSSA-N 0.000 description 13
- 230000006837 decompression Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000009825 accumulation Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- ATTRMYMZQWIZOR-RRKCRQDMSA-N 4-amino-1-[(2r,4s,5r)-4-hydroxy-5-(hydroxymethyl)oxolan-2-yl]-6-methyl-1,3,5-triazin-2-one Chemical compound CC1=NC(N)=NC(=O)N1[C@@H]1O[C@H](CO)[C@@H](O)C1 ATTRMYMZQWIZOR-RRKCRQDMSA-N 0.000 description 1
- 101100102624 Drosophila melanogaster Vinc gene Proteins 0.000 description 1
- 101001106432 Homo sapiens Rod outer segment membrane protein 1 Proteins 0.000 description 1
- 101150065817 ROM2 gene Proteins 0.000 description 1
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003705 background correction Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
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
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storing Facsimile Image Data (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【発明の属する技術分野】
本発明は画像形成装置に関するものであり、特にメモリアクセスを低減する画像形成装置に関する。
【0002】
【従来の技術】
スキャナやホストインターフェースなどによる画像入力装置と、プリンタ、ネットワーク出力などの画像出力装置を組み合わせた複合機、もしくは単体プリンタなどの画像形成装置において、集約機能や用紙向きに合わせて画像データを受信して任意の方向へ回転処理や、受信したデータをハードディスクに保存を行う場合がある。しかし一般に画像データはデータ量が大きく、各々の処理は長い時間を要する。これは言い換えると、メモリアクセスの負荷が重いことを表している。このような事情により、画像データを何らかの方式で圧縮処理するとか、メモリをより高速なものに替えたりしながら対応してきている。
【0003】
ところで、隣り合う画像データは同じである可能性が高いということは経験的にも知られていることであり、この状況を踏まえて、最初に圧縮処理や保存処理といった所定の処理を施したデータと同じデータに対しては、再度同じ処理を施したりすることなく、最初のデータを再利用する技術がある。
【0004】
例えば、特許文献1に記載の技術では、メモリアクセスの負荷の低減というよりもむしろデータの圧縮効率を高めることを目的としたものであるが、この技術では特にフォントデータに関しては、列方向に連続するイメージデータ列において隣り合う2列前のデータ列の反復性を利用し、2列前のデータ列と同一のデータ列に対しては圧縮処理を行わないような方法を採っている。
【0005】
【特許文献1】
特開平8−337020号公報
【0006】
【発明が解決しようとする課題】
本発明はいずれもこれらを鑑みてなされたものであり、特に隣り合う画像は同じである可能性が高いという性質を利用してメモリアクセスを低減し、各処理をより高速に行うことを目的としている。
【0007】
請求項1に係る発明では、非圧縮、もしくは固定長圧縮されたラスターデータの回転処理を行う際、低速メモリから高速メモリにブロックごとに移し、高速メモリからブロックの一部(ユニット)を切り出して、フリップフロップでラッチし、ラッチされたデータは任意の方向に切り出して高速メモリに書き戻し、ブロック内のユニット処理が全て終了したら、高速メモリから低速メモリへバーストアクセスで書き戻すようにすることで、低速メモリから高速メモリにブロックごとに移す時間を低減することを可能にする画像形成装置を提供することを目的とする。
【0008】
請求項2に係る発明では、非圧縮、もしくは固定長圧縮されたラスターデータの回転処理を行う際、低速メモリから高速メモリにブロックごとに移し、高速メモリからブロックの一部(ユニット)を切り出して、フリップフロップ群でラッチし、ラッチされたデータは任意の方向に切り出して高速メモリに書き戻し、ブロック内のユニット処理が全て終了したら、高速メモリから低速メモリへバーストアクセスで書き戻すようにすることで、高速メモリからフリップフロップ群にユニットごとに移す時間を低減することを可能にする画像形成装置を提供することを目的とする。
【0009】
請求項3に係る発明では、非圧縮、もしくは固定長圧縮されたラスターデータをハードディスクに格納する際、低速メモリから高速メモリにブロックごとに移し、高速メモリからブロックを切り出して、ハードディスクに転送することで、低速メモリから高速メモリにブロックごとに移す時間を低減する画像形成装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
かかる目的を解決するため、請求項1に記載の発明は、原稿画像を読み取りラスターデータを生成するエンジン部と、ラスターデータを格納する記憶部と、エンジン部から生成されたラスターデータを入力して記憶部に記憶し、又は、外部装置から画像データを入力しラスターデータに変換して記憶部に記憶する制御部と、を備える画像形成装置であって、制御部は、記憶部から読み出された所定領域のブロックのラスターデータを保持する第1バッファを有し、記憶部からブロックのラスターデータを読み込んで第1バッファへ書き込み、書き込んだラスターデータに対して回転処理を行って該処理後のラスターデータを記憶部の該当箇所に書き戻し、該動作を繰り返すことでラスターデータ全体の回転処理を行う回転手段と、エンジン部から入力されたラスターデータ又は外部装置から入力され変換処理されたラスターデータを記憶部に記憶する際に、回転手段による回転処理の処理順序が連続する位置で隣接するブロックのラスターデータ同士を順次比較し、比較結果として、データ内容が同一の場合に隣接するラスターデータ同士のうち処理順序が後のラスターデータに対して一致フラグを割り当てる比較手段と、を備え、回転手段により回転処理を行う際、回転処理の対象となるブロックのラスターデータに一致フラグが割り当てられていることが比較手段により確認されたときには、第1バッファに書き込まれた回転処理済みの隣接ラスターデータを、処理対象のラスターデータが格納される記憶部の該当箇所に書き戻すことを特徴とする。
【0011】
請求項2に記載の発明は、請求項1に記載の画像形成装置において、回転手段は、第1バッファから読み出した回転処理単位のラスターデータを保持する第2バッファをさらに有し、第2バッファ内のラスターデータを回転処理して該処理結果を第1バッファの該当箇所へ書き戻し、比較手段は、エンジン部から入力されたラスターデータ又は外部装置から入力され変換処理されたラスターデータを記憶部に記憶する際に、前記回転手段による回転処理の処理順序が連続する位置で隣接する回転処理単位のラスターデータ同士を順次比較し、比較結果として、データ内容が同一の場合に隣接するラスターデータ同士のうち処理順序が後のラスターデータに対して一致フラグを割り当て、制御部は、回転手段により回転処理を行う際、回転処理の対象となる回転処理単位のラスターデータに一致フラグが割り当てられていることが比較手段により確認されたときには、第2バッファに書き込まれた回転処理済みの隣接ラスターデータを、処理対象のラスターデータが書き込まれる第1バッファの該当箇所に書き戻すことを特徴とする。
【0012】
請求項3に記載の発明は、原稿画像を読み取りラスターデータを生成するエンジン部と、ラスターデータを格納する記憶部と、記憶部に格納されたラスターデータを蓄積するハードディスクと、エンジン部から生成されたラスターデータを入力して記憶部に記憶し、又は、外部装置から画像データを入力しラスターデータに変換して記憶部に記憶する制御部と、を備える画像形成装置であって、制御部は、記憶部から読み出された所定領域のブロックのラスターデータを保持する第3バッファを有し、記憶部からブロックのラスターデータを読み込んで第3バッファへ書き込み、第3バッファに保持されたブロックのラスターデータをハードディスクに格納する格納手段と、エンジン部から入力されたラスターデータ又は外部装置から入力され変換処理されたラスターデータを記憶部に記憶する際に、格納手段による格納処理の処理順序が連続する位置で隣接するブロックのラスターデータ同士を順次比較し、比較結果として、データ内容が同一の場合に隣接するラスターデータ同士のうち処理順序が後のラスターデータに対して一致フラグを割り当てる比較手段と、を備え、格納手段により格納処理を行う際、格納処理の対象となるブロックのラスターデータに一致フラグが割り当てられていることが比較手段により確認されたときには、第3バッファに書き込まれた格納処理済みの隣接ラスターデータを、処理対象のラスターデータが格納されるべきハードディスクの格納場所に書き込むことを特徴とする。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態(実施例1〜3)を図面を参照して説明するが、最初に各実施例を行うさいの共通の動作の説明をしておく。共通の動作の説明としては、(1)初期化、(2)コピー動作、(3)プリンタ動作、(4)スキャナ動作、(5)ネットワークアプリケーション動作を取り上げる。本実施形態で説明する技術はこれらの動作処理に適用可能であり、さらにこれら以外に関連する動作処理に対しても適用可能である。
【0014】
(各実施例に共通の動作の説明)
まず前記の共通の動作を行う画像形成装置として、複合機の基本構成と、共通とする基本動作およびその基本機能の説明をする。
【0015】
(1)初期化
初期化の動作処理を説明するために、複合機の基本構成のブロック図を図7に示す。また、図7のブロック図を構成する要素及びその機能を以下に示す。
【0016】
6001:CPU
6002:ASIC
6003:操作部
6004:IEEE1284 ホストI/Fである。
6005:ネットワークI/F
6006:ROM0 OS及び基本アプリケーションプログラムを含むROMである。
6007:ROM1 オプションアプリケーションを含むROMである。
6008:ROM2 オプションアプリケーションを含むROMである。
6009:NVRAM バックアップ可能なRAM、システムの設定などを保存する。
6010:MEM0 標準実装されているメモリである。
6011:MEM1 オプションで追加されるメモリである。
6012:HDD
6013:オプションデバイス プリンタアプリケーションなどのオプションI/Fである。
6014:FAX ファックスユニット(オプション)
6015:エンジン スキャナとプロッタを備える。
6016:コントローラ
6017:PCIバス エンジンI/Fとオプションバスを兼ねる。
【0017】
電源が投入されるとエンジン(6015)は搭載されているCPUにより、各機能が初期化され、コントローラ(6016)の初期化が終わって、コマンドを受信するまで待機状態になる。
【0018】
コントローラ(6016)の初期化は、電源が投入されるとASIC(6002)にリセット信号が入力され、ASIC(6002)はそれぞれリセットが必要なデバイスにリセット信号を分配する。CPU(6001)はリセット信号がアサートされ、ネゲートされるとCPU(6001)のリセットベクターの命令をフェッチしようとする。ASIC(6002)はCPU(6001)のフェッチ信号を受け取るとアドレスをデコードして、初期化プログラムの格納されているROM0(6006)のCS信号をアサートし、CPU(6001)が要求したアドレスの内容(命令コードあるいはデータ)を読み出して、CPU(6001)へ渡す。CPU(6001)はASIC(6002)に命令の読み出しを繰り返し要求し、ASIC(6002)はそのアドレスに応じてROM0(6006)の命令コードあるいはデータをCPU(6001)へ渡す。このようにしてCPU(6001)はプログラムを実行することができる。
【0019】
この初期化プログラムでは、CPU(6001)の初期化、ASIC(6002)に接続されるメモリ(6010)とオプションメモリ(6011)の初期化、PCI(6017)の初期化、エンジン(6015)の初期化、操作部(6003)の初期化、HDD(6012)の初期化、ホストと接続されるIEEE1284(6004)の初期化、ネットワークI/F(6005)の初期化、また、必要に応じて、FAX(6014)の初期化、オプション(6013)の初期化を行い、その後アプリケーションを起動する。
【0020】
ASIC(6002)のROM0(6006)のアクセス時間は、データバス幅に依存するが、ASIC(6002)の外部端子数を少なく抑えるために、16bitや8bitなどのようにCPU(6001)のデータバス幅よりも少ないbit数で構成されることが多い。また、場合によってはbit数が4bit、1bitなどのようなシリアルデバイス、たとえば、SEEPROM、SDカード、メモリスティックのようなデバイスを使用した場合には特に遅くなる。
【0021】
参考までに上述した種々の初期化のうちの幾つかに関して詳細な説明をする。
【0022】
・CPU(6001)の初期化
CPU(MIPS系)は、ブートコンフィグデータをASICから読み取り、リセット解除後、命令のフェッチを開始し、コールドリセットか、それ以外によるリセット例外かどうかの判定、ASICのローカルバスのアクセスタイミングの初期化、CPU内のキャッシュの初期化、TLBの初期化、例外ベクターの設定、コプロセッサの初期化を行う。
【0023】
・メモリ(6010、6011)の初期化
標準で実装されるメモリ(以下、標準メモリと呼ぶ)のタイミングにかかわるパラメータを決定する前に、オプションのメモリが存在するかどうか確認し、もし、存在すれば、オプションメモリの情報を格納してあるSEEPROMをアクセスして、そのメモリの容量、速度、構成を読み出し、標準メモリとタイミングを比較し、遅いほうのタイミングを使用して、ASICに設定を行い、メモリの初期化を行う。その後、割り込みベクターの設定、RAMのデータ領域への初期値の設定などを行う。
【0024】
・PCI(6017)の初期化
ASICの内部レジスタのコンフィグ用レジスタを使用して、PCIバスに存在する全デバイスのサーチを行い、デバイスのタイプを判断して、バスブリッジがあれば、その先のバスのデバイスをサーチする。すべてのデバイスの列挙が完了したら、PCIのアドレス空間にマッピングを行う。
ASIC管理下のメモリの先頭アドレスを0x0000.0000としてマッピングを行い、その他のデバイスは、ASICのレジスタ空間に用意されたPCIメモリ空間アクセスウインドウあるいはPCI I/O空間アクセスウインドウ内にマッピングする。マッピングが完了したら、それぞれのデバイスのコマンドレジスタのバスマスタイネーブル、メモリイネーブル、IOイネーブルビットに1を設定して、デバイスが動作する状態にする。
【0025】
・エンジン(6015)の初期化
エンジンとコントローラの通信は、エンジン側PCIデバイスが持つ送信バッファ/受信バッファを介して行う。
【0026】
・操作部(6003)の初期化
操作部とコントローラは操作部I/Fを介して接続され、送信と受信は全二重で行われる。あらかじめ決められているパケットサイズで、パケット通信を行い、操作部にシステムが初期化中であることを表示させる。
【0027】
・HDD(6012)の初期化
HDDが接続されているかどうかの確認を行い、HDDが接続されている場合には、HDDの情報を読み出し、あとで利用するために管理情報をメモリに格納する。
【0028】
コントローラ(6016)に搭載されるソフトウエアの構成は図8のようになっている。また、図8に示すソフトウェアの構成要素を以下に示す。
【0029】
5001:PRINT−APL プリントアプリケーション
5002:COPY−APL コピーアプリケーション
5003:FAX−APL ファックスアプリケーション
5004:SCAN−APL スキャナアプリケーション
5005:NETWORK−APL ネットワークアプリケーション
5006:サービス−API サービス層のアプリケーションプログラミングインターフェースである。
5007:ECS エンジンコントロールサービス
5008:MCS メモリコントロールサービス
5009:OCS オペレーションパネルコントロールサービス
5010:SCS システムコントロールサービス
5011:NCS ネットワークコントロールサービス
5012:FCS ファックスコントロールサービス
5013:SRM システムリソースマネージャー
5014:汎用OS UNIXライクなOSである。
5015:エンジンコマンドI/F エンジンと通信するためのプログラミングインターフェースである。
5016:エンジンハードウエア エンジン本体である。
5017:コントローラハードウエア コントローラのハードウエアリソースである。
【0030】
CPUやASICに依存する部分はデバイスドライバ層で吸収することで、異なるCPUや異なるASICでも移植が容易になるように構成されている。アプリケーションが起動すると操作部(6003)には、デフォルトでコピーアプリケーションの操作画面が表示され、ユーザの指示待ちになる。
【0031】
ASIC(6002)の内部構成図を図9に示す。また、図9に示す各構成要素、およびその機能を以下に示す。
【0032】
6101:CPU
6102:ASIC
6103:MEM0 標準実装されているメモリである。
6104:MEM1 オプションで追加されるメモリである。
6105:Arbiter メモリアービタ
6106:Ramc メモリのコントロールを行うラムコントローラである。
6107:cpuif CPUにあわせて、ASIC内部のレジスタアクセスやメモリアクセスを行うためのCPUバスプロトコル解釈部である。
6108:IREG ASICの内部レジスタである。
6109:lbc CPUのプログラムを格納したROMなどを接続するためのバスを制御するローカルバスコントローラである。
6110:ローカルバスのデータバス 16bit幅を持ち、アドレスの一部とマルチプレクスされる。
6111:ローカルバスの制御線とアドレス信号 6110でマルチプレクスされていない下位のアドレスとアドレスをデコードして作られたチップセレクト信号と、リード信号、ライト信号などを含む。
6112:SDカード用DMAC SDカードからデータを読み書きするためのDMACで、リードあるいはライトの動作が可能な1次元DMACである。
6113:SDカードブートセレクタ SDカードからのCPUブートとDMACを利用したSDカードアクセスを切り替えるためのセレクタ。SDカードからのCPUブートが選択された場合は、CPUのリセット後の最初の命令フェッチはSDカードから行われる。
6114:SDC 外部に接続されたSDカードをプロトコルに従ってアクセスするSDカードコントローラである。
6115:SDカード用信号 SDカードと接続される信号である。
6116:HDC ATA100のHDDを制御することができるハードディスクコントローラである。
6117:DATA−DMAC HDDのデータを転送するためのDMACで、1次元転送と2次元転送が可能である。
6118:CMD−DMAC HDDのコマンドを転送するためのDMACである。
6119:CD1 圧縮あるいは伸長ができる圧縮伸長器1である。
6120:CD1用画像用DMAC 画像の入出力用のDMACで、圧縮時は入力、伸長時は出力で動作する。
6121:CD1用符号用DMAC 符号の入出力用のDMACで、圧縮時は出力、伸長時は入力で動作する。
6122:CD2 圧縮あるいは伸長ができる圧縮伸長器2である。
6123:CD2用画像用DMAC 画像の入出力用のDMACで、圧縮時は入力、伸長時は出力で動作する。
6124:CD2用符号用DMAC 符号の入出力用のDMACで、圧縮時は出力、伸長時は入力で動作する。
6125:CDセレクタ どの圧縮伸長器とHDDを接続するか選択するためのセレクタである。
6126:ビデオセレクタ どの圧縮伸長器の伸長出力とビデオDMACへの入力へ接続するか選択するためのセレクタである。
6127:ビデオ画像用FIFO ビデオ画像用の出力FIFOである。
6128:ビデオ画像用シフタ 出力時に画像のシフトを行う。
6129:ビデオ合成器 出力時に画像とスタンプの合成を行う。合成を行わないことも可能で、その場合は、画像とスタンプは別々の出力を行う。
6130:ビデオ用画像出力DMAC ビデオ画像用の出力用DMACである。
6131:スタンプ用FIFO スタンプ用の出力FIFOである。
6132:スタンプ用DMAC スタンプ用の出力用DMACである。
6133:画像入力用FIFO
6134:画像入力用DMAC
6135:PCI用ダイレクトパス PCIバス側から、メモリをアクセスする場合のデータパスである。
6136:IEEE1284入力用DMAC IEEE1284のデータを入力するためのDMACである。
6137:IEEE1284コントローラ IEEE1284のプロトコルを解釈してデータ転送を行う。
6138:操作部コントローラ 操作部のデータ転送を行う。
6139:操作部送信用DMAC 操作部へのデータ出力用のDMACである。
6140:操作部受信用DMAC 操作部からのデータ入力用のDMACである。
6141:MAC用送信DMAC ネットワーク送信を行う。
6142:MAC用受信DMAC ネットワーク受信を行う。
6143:MAC メディアアクセスコントローラ
6144:編集器用入力1DMAC
6145:編集器用入力2DMAC
6146:編集器用出力DMAC
6147:EDIT 画像の合成あるいは回転を行う編集器である。
6148:CLR 設定したデータで領域をフィルする画像クリアコントローラである。
6149:画像クリアDMAC 2次元あるいは1次元のメモリフィルが可能である。
6150:HDDインターフェース信号
6151:PCI−Arbiter 外部およびASICのPCIアクセスのアービトレーションを行う。
6152:PCI−Master PCIのマスタアクセスを行う。
6153:PCI−CONFIG PCIコンフィグレジスタである。
6155:IEEE1284インターフェース信号
6156:操作部インターフェース送信用信号
6157:操作部インターフェース受信用信号
6158:PHY接続信号 MACとPHYを接続するMII信号である。
6159:PCI−Target PCIターゲットとしてアクセスされた場合に応答する。
6199:CMP PCIから入力される画像をユニット比較や、ブロック比較など行う。
【0033】
また、ASIC(6002)の管理する物理アドレスとメモリマップを図10に示す。
【0034】
各種デバイスの初期化が完了すると汎用OS(5014)は、システムのコンフィグ情報にもとづいてアプリケーションを起動する。
ただし、FAXユニット(6014)が存在しない場合は、FAXアプリケーション(5003)は起動しない。
【0035】
アプリケーション起動後、操作部(6003)には、デフォルトでコピー操作画面が表示される。また、デフォルトの画面は変更することが可能である。
【0036】
(2)コピー動作
コピー動作に必要な構成要素を含む複合機のブロック図を図11に示す。また、図11のブロック図を構成する要素及びその機能を以下に示す。
【0037】
6301:コントローラ
6302:エンジン
6303:FAX
6304:オプション
6305:CPU
6306:ASIC
6307:MEM
6308:操作部
6309:HDD
6310:Vin ビデオ入力を表す。
6311:Vout ビデオ出力を表す。
6312:HDC HDDコントローラである。
6313:CD2 圧縮伸長器2
6314:CD1 圧縮伸長器1
6315:EDIT 編集器
6316:OPC 操作部コントローラ
6317:LBC ローカルバスコントローラ
6318:ROM プログラム/文字フォントが格納されたROMである。
6319:SDC SDカードコントローラ
6320:SDカード
6321:MAC ネットワークコントローラ
6322:Engine−ASIC エンジンASIC
6323:エンジンCPU エンジンの制御を行う。
6324:エンジンROM エンジン制御のプログラムを格納したROMである。
6325:エンジンRAM エンジン制御に必要なメモリである。
6326:出力用画像処理 ガンマ補正などを行う。
6327:PLOTTER 画像出力ユニット
6328:SCANNER 画像入力ユニット
6329:入力用画像処理 シェーディング補正、ガンマ補正などを行う。
【0038】
コピー動作の中には、ユーザ指定によりさまざまなモードがある。一部を表1に示す。
【0039】
【表1】
【0040】
他にもモードはあるが省略し、単純コピー(1toNコピー:N=1の場合)について、画像の流れを図12で説明する。また、図12に記載の各符号の説明を以下に示す。
【0041】
6401:入力原稿
6402:入力原稿画像の流れ
6403:メモリに読み込まれた画像:入力画像データ
6404:メモリ上の画像を圧縮する画像の流れ
6405:画像圧縮後の符号データ
6406:符号をHDDに格納する流れ
6407:メモリ上の画像を出力する流れ
6408:出力画像のプロットされた用紙
【0042】
操作部(6308)にあるスタートキーを押下することにより、外部イベントを監視しているSCS(5010)がスタートキー押下を検知し、現在、操作部(6308)でアクティブになっているアプリケーションであるコピーアプリケーション(5002)に、スタートキーが押されたことを通知する。
【0043】
コピーアプリケーション(5002)は、現在の操作部(6308)で選択されているモードから、単純に原稿をスキャンして、1枚原稿を読み取り、1枚出力することが要求されていること検知する。コピーアプリケーション(5002)は、原稿を1枚読み取って、1枚出力するために必要なシステムリソースを確保するようにSCS(5010)に要求し、システムリソースを確保できる場合には、MCS(5008)に、原稿を1枚読んで、その原稿と等しいサイズで1枚原稿を出力するように要求を出す。MCS(5008)は、必要なメモリをSRM(5013)に要求し、確保してから、ECS(5007)に原稿を1枚読んで、その原稿と等しいサイズで1枚原稿を出力するように要求を出す。するとECS(5007)は汎用OS(5014)へ、コマンドを発行するように要求する。汎用OS(5014)はデバイスドライバーを呼び出して、エンジンコマンドI/F(5015)を経由して、エンジン(5016)にコマンドを発行する。エンジン(6302)のASIC(6322)の通信バッファ経由で、エンジンCPU(6323)が、コマンドを受け取ると、自動原稿搬送装置上の原稿を読み取るために、スキャナ(6328)の制御をする。
【0044】
入力原稿画像の流れ(6402)が示すように、入力原稿(6401)は、スキャナ(6328)の原稿搬送装置により、プラテンガラス上に搬送され、キャリッジが走査することで入力画像がCCD経由で読み取られ、入力画像処理部(6329)により、量子化され、画像補正されて、エンジンASIC(6322)へ転送される。それに先立ってコントローラ(6301)では、Vin(6310)の設定を完了しており、エンジンASIC(6322)から、画像データを転送することで、メモリ(6307)上に、画像データ(6403)を格納する。
【0045】
エンジンASIC(6322)とASIC(6306)との接続は、PCIバスを介して行われ、エンジンASIC(6322)がマスターとなってライト動作をし、ASIC(6306)のVin(6310)の入力がターゲットとして動作する。画像の転送は、読み取り時に作る擬似ラインシンクに同期して、ライン単位で転送のタイミングが取られ、ライン内ではあらかじめ決められたバースト長に従って、バースト転送が繰り返される。画像入力のタイミングを図13に、画像転送のタイミングと動作を図14に示す。また、図13、14に記載されている符号の説明を以下に示す。
【0046】
1801:用紙サイズ 主走査と副走査できまる用紙サイズをあらわす。
1802:FGATE 用紙の副走査の有効範囲を示す信号である。
1803:LGATE 用紙の主走査の有効範囲を示す信号である。
1804:LSYNC 主走査の先頭でアサートされる同期信号である。
1901:LSYNC ラインシンク
1902:DREQ データリクエスト
1903:DATA 1ライン分のデータ転送である。
1904:XREQ PCIバスのバスリクエスト信号である。
1905:XGNT PCIバスのバスグラント信号である。
1906:TRANZ PCIバスのバストランザクションである。
1907:PCICLK PCIの基本クロックである。
1908:XFRAME PCIのFRAME信号である。
1909:XDEVSEL PCIのDEVSEL信号である。
1910:XIRDY PCIのIRDY信号である。
1911:XTRDY PCIのTRDY信号である。
1912:AD[31:0] PCIのアドレス/データバス信号である。
1913:CBE[3:0] PCIのコマンド/バイトイネーブル信号である。
【0047】
同様に、画像出力時は、ポリゴンの回転周期などから作成されるラインシンクに同期して、ライン単位で転送のタイミングが取られ、ライン内ではあらかじめ決められたバースト長に従って、バースト転送が繰り返される。
【0048】
メモリ(6307)上に格納された画像データ(6403)は、ジャム時のリカバリーのため、あるいは、あとで電子文書としてネットワークなどから、利用するためにHDD(6309)に蓄積する。HDD(6309)への蓄積は、圧縮データであったり、非圧縮データであったりする。圧縮した結果が圧縮前よりもデータ量が多い場合などは、非圧縮データで蓄積する。圧縮画像の流れ(6404)が示すように、圧縮伸長器2(6313)を使って、入力画像データ(6403)を圧縮して、符号データ(6405)をメモリ(6307)上に格納する。
【0049】
メモリ(6307)上に格納された1ページ分の符号データ(6405)を、複数のブロックに分割して、複数回のディスクアクセスに分解して、HDD(6309)へ蓄積する。1ページ分のHDDアクセスを連続で行うとネットワークからの電子文書アクセス要求が来た場合に、1ページ分の符号蓄積完了まで、応答が遅れてしまうので、ディスクアクセスは分割して行っている。
【0050】
HDD(6309)への符号データ(6405)蓄積と並行して、画像データ(6403)を出力する。MCS(5008)は、画像の入力が始まると画像出力の要求をECS(5007)に出す。ECS(5007)は汎用OS(5014)へ、画像出力コマンドを発行するように要求する。汎用OS(5014)はデバイスドライバーを呼び出して、エンジンコマンドI/F(5015)を経由して、エンジン(5016)にコマンドを発行する。エンジン(6302)のASIC(6322)の通信バッファ経由で、エンジンCPU(6323)が、コマンドを受け取ると用紙トレイから、指定されたサイズの用紙を搬送するようにプロッタ(6327)の制御をする。エンジン(6302)側のタイミングで、Vout(6311)のFIFOから、画像データ(6403)を読み出して、用紙にプロットする。それに先立って、MCS(5008)は、Vout(6311)のDMACの設定をして、起動しておく。
このように動作することで、単純コピー(1toN:N=1)を行う。
【0051】
(3)プリンタ動作
プリンタ動作に必要な構成を含むブロック図は図11と同様である。
データの流れと処理を図15で説明する。また、図15に記載の各符号の説明を以下に示す。
【0052】
6501:ホストから、印字命令を含むファイルを受信する。
6502:印字命令を含むファイル
6503:印字命令を解釈し、CPUで描画する。
6504:描画された画像
6505:メモリ上の画像を圧縮する画像の流れ
6506:圧縮された符号
6507:HDDに蓄積する流れ
6508:出力のために画像を伸長する流れ
6509:出力画像
6510:出力の画像の流れ
6511:出力画像のプロットされた用紙
【0053】
ホストI/Fに接続されたホストから印刷命令を含むデータが転送されてくる(6501)とSCS(5010)は、印刷命令データ(6502)を受信して、プリンタアプリケーション(5001)に通知する。プリンタアプリケーション(5001)は、印刷命令データ(6502)を解釈し、CPU(6305)は画像の描画を開始する(6503)。それと並行してプリンタアプリケーション(5001)は、MCS(5008)に画像出力を要求する。するとMCS(5008)はSCS(5010)に、画像出力のためのリソースを要求する。SCS(5010)は、要求されたリソースが使用可能になると使用可能であることをMCS(5008)に通知し、出力の準備が整う。
【0054】
プリンタアプリケーション(5001)は、描画の完了した画像(6504)をMCS(5008)に渡す。MCS(5008)は、描画された画像(6504)を圧縮伸長器1(6314)を使って圧縮する(6505)。圧縮された符号(6506)は、ジャム時のリカバリーで使うため、あるいは、ネットワークなどから電子文書として利用するためにHDD(6309)に蓄積される。描画は、画像出力よりも高速に行われるため、画像を圧縮した符号(6506)が複数ページ分メモリ(6307)上とHDD(6309)にたまっていく。
【0055】
MCS(5008)は出力の準備が整うと印刷順に符号(6506)を圧縮伸長器2(6313)を使って、メモリ(6307)上に出力用画像(6509)を伸長し、Vout(6311)のDMACを出力用に設定して、起動をかけ、ECS(5007)に画像出力を指示する。
【0056】
ECS(5007)は、汎用OS(5014)へ、画像出力コマンドを発行するように要求する。汎用OS(5014)はデバイスドライバーを呼び出して、エンジンコマンドI/F(5015)を経由して、エンジン(5016)にコマンドを発行する。エンジン(6302)のASIC(6322)の通信バッファ経由で、エンジンCPU(6323)が、コマンドを受け取ると用紙トレイから、指定されたサイズの用紙を搬送するようにプロッタ(6327)の制御をする。エンジン(6302)側のタイミングで、Vout(6311)のFIFOから、画像データ(6509)を読み出して、用紙にプロットする。
【0057】
(4)スキャナ動作
スキャナ動作に必要な構成を含むブロック図は図11と同様である。
データの流れと処理を図16で説明する。また、図16に記載の各符号の説明を以下に示す。
【0058】
6601:入力原稿
6602:読み取った画像データの流れ
6603:画像データ
6604:CPUによるメモリ上の画像データを圧縮する画像の流れ
6605:圧縮された符号データ
6606:HDDに蓄積する流れ
6607:ホストI/Fを経由して、ホストに転送される符号データの流れ
【0059】
ユーザーは、操作部(6308)のデフォルトのコピーメニュー画面から、スキャナ機能選択ボタンを押下することで、スキャナメニュー画面に移動することができる。SCS(5010)は、操作部(6308)でスキャナ機能が選択されたことを検知するとそれをスキャナアプリケーション(5004)に通知する。スキャナアプリケーション(5004)は、操作部(6308)にメニュー画面を表示するようにOCS(5009)に指示を出す。
【0060】
ユーザーは原稿を自動原稿搬送装置に置いて、読み取りのモードを設定し、スタートキーを押下する。SCS(5010)はスタートキーが押下されたことを検知するとスキャナアプリケーション(5004)に、スタートキーが押されたことを通知する。スキャナアプリケーション(5004)は、現在選択されているモードを使って、原稿をスキャンするようにMCS(5008)に指示を出す。
【0061】
MCS(5008)は、原稿をスキャンするのに必要なリソースをSCS(5010)に要求する。SCS(5010)は、要求されたリソースが使える状態になるとそのことをMCS(5008)に通知する。
【0062】
MCS(5008)は、ECS(5007)に原稿を1枚読むように要求を出す。するとECS(5007)は汎用OS(5014)へ、コマンドを発行するように要求する。汎用OS(5014)はデバイスドライバーを呼び出して、エンジンコマンドI/F(5015)を経由して、エンジン(5016)にコマンドを発行する。エンジン(6302)のASIC(6322)の通信バッファ経由で、エンジンCPU(6323)が、コマンドを受け取ると、自動原稿搬送装置上の原稿を読み取るために、スキャナ(6328)の制御をする。
【0063】
MCS(5008)は、読み取りに先立って、Vin(6310)のDMACに設定をし、起動をかけておく。エンジン(6302)は、スキャナ(6328)を制御して入力原稿(6601)の画像を読み込み、画像入力に必要な画像処理を行う画像処理部(6329)を経由して、エンジンASIC(6322)に画像を送る。基本的な動作はコピー動作時の画像入力と同じである。
【0064】
スキャナ(6323)からメモリ(6307)までの入力画像の流れ(6602)を通って、画像データ(6603)はMEM(6307)上に格納される。スキャナ動作で扱われる画像データ(6603)のデータフォーマットは、白黒では8bit多値あるいは1bit2値、カラーではRGB各8bit多値のデータである。外部のホストPCに、適した画像フォーマットに変換するためにCPU(6308)で、ソフト処理で変換する。変換後の符号データ(6605)は、メモリ(6307)に格納される。場合によっては、変換しない場合もある。スキャナアプリケーション(5004)のモードに応じて、符号データ(6605)をHDD(6309)に格納したり(6606)、ホストPCへホストI/Fを経由して、符号データ(6605)を転送する(6607)。
【0065】
(5)ネットワークアプリケーション動作
ネットワークアプリケーション動作に必要な構成を含むブロック図は図11と同様である。
データの流れと処理を図17で説明する。また、図17に記載の各符号の説明を以下に示す。
【0066】
6701:HDDから、要求された文書(画像データ)を取り出す流れ
6702:コピー動作時に蓄積された文書データ
6703:スキャナ動作時に蓄積された文書データ
6704:サムネールの画像データ
6705:符号データから、サムネールを作成するCPU処理の画像の流れ
6706:画像データから、サムネールを作成するCPU処理の画像の流れ
6707:符号データをホストに送る流れ
6708:画像データをホストに送る流れ
6709:サムネールデータをホストに送る流れ
6710:出力画像の流れ
6711:出力画像
【0067】
ネットワークアプリケーションとは、ネットワークからHDDに蓄積された文書を扱うアプリケーションで、ホストからの要求に応じて、サムネールを作成したり、ホストに転送したり、印刷したり、別の複合機に転送したり、サーバーに転送したするアプリケーションである。
【0068】
ネットワークに接続されたホストから、HDD(6309)に蓄積された文書の一覧要求がくるとSCS(5010)は、ネットワークアプリケーション(5005)に、一覧要求がきたことを通知する。
【0069】
ネットワークアプリケーション(5005)は、必要なリソースをSCS(5010)に要求する。SCS(5010)は、要求されたリソースが利用可能になったことをネットワークアプリケーション(5005)に通知し、ネットワークアプリケーション(5005)は、HDD(6309)に蓄積されている文書のサムネールをMCS(5008)に要求する。MCS(5008)は、HDD(6309)に蓄積されている文書を、データフォーマットに従った処理をして、サムネールデータを作成し、ネットワークアプリケーション(5005)に渡す。HDD(6309)に蓄積された文書は、メモリ(6307)に読み出され(6701)、圧縮や変換のされていない画像データ(6702)は、CPU(6305)により、サムネール(6704)が作成され(6706)、圧縮や変換されている符号データ(6703)はCPU(6305)により、いったん、元の画像の戻されてから、サムネール(6704)が作成され(6705)、ホストに転送される(6709)。
【0070】
ネットワークアプリケーション(5005)は、HDD(6309)内の文書のサムネールを、ホストの解釈できるファイルフォーマットに変換して、たとえば、ホストがブラウザーで閲覧しているのであれば、html形式、専用アプリケーションで閲覧しているのであれば、専用の形式に変換してホストに転送する。ホストはサムネールを受け取るとユーザの処理待ちになり、たとえば、ユーザがある文書を選択して、ホスト側に転送するように要求を出すと、ブラウザーあるいは専用アプリケーションは指定された文書をホストに転送するように複合機に指示を出す。ホストからの転送要求を受け取るとSCS(5010)は、ネットワークアプリケーション(5005)に、文書転送の要求がきたことを通知する。
【0071】
ネットワークアプリケーション(5005)は、必要なリソースをSCS(5010)に要求する。SCS(5010)は、要求されたリソースが利用可能になったことをネットワークアプリケーション(5005)に通知し、ネットワークアプリケーション(5005)は、HDD(6309)に蓄積されている文書データ(6702)をMCS(5008)に要求する。MCS(5008)は、HDD(6309)に蓄積されている文書データ(6702)を、ネットワークアプリケーション(5005)に渡す。
【0072】
ネットアプリケーション(5005)は、文書データ(6702)を、ホストに転送する(6708)。その後、ブラウザーで閲覧しているユーザーが、文書を選択して、印刷を指示するとブラウザーあるいは専用アプリケーションは指定された文書を印刷するように複合機に指示を出す。ホストからの印刷要求を受け取るとSCS(5010)は、ネットワークアプリケーション(5005)に、文書印刷の要求がきたことを通知する。
【0073】
ネットワークアプリケーション(5005)は、必要なリソースをSCS(5010)に要求する。SCS(5010)は、要求されたリソースが利用可能になったことをネットワークアプリケーション(5005)に通知し、ネットワークアプリケーション(5005)は、HDD(6309)に蓄積されている文書データ(6702)を印刷するようにMCS(5008)に要求する。MCS(5008)は、印刷に必要なリソースをSCS(5010)に要求する。コピーアプリケーションの動作と同じようにして、文書を印刷する。
【0074】
以下、本発明に係る実施例を説明する。
【0075】
(実施例1)
実施例1にて、回転処理の際に、特に隣り合うブロックのデータと比較して同じだった場合には、メモリからデータを読まずに回転処理バッファメモリにあるデータを再利用する動作処理の説明をする。
【0076】
(画像回転パスの説明)
まずコピー画像の回転パスを説明する。
図9の6154PCIバスを介して6159PCIターゲット、6133FIFO、6134DMAC、6105メモリアービタを通って、6106メモリインターフェース、6103/6104メモリの順に通る。6103/6104メモリに格納されるフォーマットはさまざまであり、非圧縮形式や小ブロック単位の固定長圧縮などがある。いずれにしてもラスター順に格納される。
【0077】
ところで画像データを回転する必要性が印字モードや給紙の状態によって存在する。例えば2枚のA4原稿を1枚のA4原稿に集約する場合(以下2in1)や、給紙するサイズがA4Rで原稿がA4である場合(以下リミットレス回転)などである。この場合、6103/6104メモリに格納されたデータから6106メモリインターフェース、6105メモリアービタを通って、6144DMAC、6147EDITへ読み込み、ここで画像回転処理を行って、今度は6146DMAC、6105メモリアービタを通って、6106メモリインターフェース、6103/6104メモリの順へ再格納する。
以上のパスにより画像回転を処理することができる。
【0078】
(EDITの説明)
次に6147EDITの動作説明を行う。
図1は回転処理の動作概念図を表している。6147EDIT内には大きくわけて2つのバッファが存在する。1つは例えば512×512のブロック(これをブロック単位と呼ぶ)で高速メモリである。もう一方は、例えば64×64のユニット(これをユニット単位と呼ぶ)でフリップフロップ群である。
まず、6103/6104メモリから1つのブロック分のデータを読み込み、ブロックへ書きこむ。書き込みが終わったら、今度はブロック内の一部(☆1)である64×64をユニットへ書き込む。ユニットで任意な方向に画像を切り出して、再度ブロック内の該当部へ書き戻す。これで64×64の回転は完了である。
【0079】
次にブロック内の該当処理部を一つ横に進めて(☆2)を同様にユニットに書き込む。ユニットで任意な方向に画像を切り出して、再度ブロック内の該当部へ書き戻す。同様に☆1〜☆64の順に処理を行い、完成されたブロックデータを6103/6104メモリへ書き戻す。
【0080】
以上により、512×512のブロック処理が終わり、横のブロックへと処理が移っていく。これを行うことで回転処理を達成する。
【0081】
ところで、下記のチェックを行うことで毎回回転処理を行うためのブロックデータのリードを低減できる。すなわち、図9の6199CMP比較部にてブロック一致フラグを確認しながら、1なら直前のブロックと同じと見なして改めてブロックデータのリードをせず、回転処理後の結果がブロックバッファに残っているものを使い、書き込み先アドレスだけ変えればよい。
【0082】
(チェックの方法)
ところで、隣り合う画像は似ている(同じ)可能性であることが高いという法則からいくと、この512×512ブロックと隣り合うブロックもこれにあてはまるだろう。従って、同じかどうかの判断は回転処理前に6103/6104メモリに入力される段階でチェックする。
【0083】
(CMPの説明)
図9の6199CMPは本比較部である。
【0084】
ラスター順次に6154PCIからバースト単位で入力されるので、例えば8バースト64ビットシステムの場合512ビットずつ入力されることになる。これを毎回比較していけばよい。図2はその様子を示したものである。例えば2048×512の処理について記述する。
【0085】
まず★1の512ビットと★2の512ビットを比較する。同じであれば★2の一致フラグを1とし、そうでなければ0とする。★1の一致フラグは比較対象がないので常に0である。
次に★2の512ビットと★3の512ビットを比較する。同じであれば★3の一致フラグを1とし、そうでなければ0とする。このように順番に比較し、最後は★2047と★2048を比較する。
次に、★1、★5、★9..★2045のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。(この場合、処理先頭なので必ず0になる)
次に、★2、★6、★10..★2046のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。
次に、★3、★7、★11..★2047のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。
最後に、★4、★8、★12..★2048のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。
【0086】
図2の例からいくと左から2番目と4番目がそれぞれ左隣の画像データの同じであるので、1番目と3番目のブロック一致フラグが0となり、2番目と4番目のブロック一致フラグが1となる。なお、上記の6199CMPによる比較処理手順をブロック比較フロー図として図3〜5に示す。
【0087】
図3は、ブロック同士の比較におけるMAINフロー図であり、6199CMPは図2に記載した矢印の順で比較処理していくことを設定する縦幅/横幅処理管理、それから各ブロックにフラグを決めていくブロック比較処理の順で実行していく。
【0088】
図4は、前記縦幅/横幅処理管理のフロー図であり、ラスター順次に6154PCIからバースト単位で入力されたブロックの横幅及び縦幅の処理状況を管理する様子を表している。
【0089】
図5は、前記ブロック比較処理のフロー図であり、逐次的に隣り合うデータ同士を比較し、フラグを割り当てていく様子を表している。
【0090】
(実施例2)
実施例2にて、回転処理の際、特に隣り合うユニットのデータと比較して同じだった場合には、回転バッファメモリからデータを読まずにユニットにあるデータを再利用する動作処理の説明をする。
【0091】
(画像回転パスの説明)
まずコピー画像の回転パスを説明する。
図9の6154PCIバスを介して6159PCIターゲット、6133FIFO、6134DMAC、6105メモリアービタを通って、6106メモリインターフェース、6103/6104メモリの順に通る。6103/6104メモリに格納されるフォーマットはさまざまであり、非圧縮形式や小ブロック単位の固定長圧縮などがある。いずれにしてもラスター順に格納される。
【0092】
ところで画像データを回転する必要性が印字モードや給紙の状態によって存在する。例えば2枚のA4原稿を1枚のA4原稿に集約する場合(以下2in1)や、給紙するサイズがA4Rで原稿がA4である場合(以下リミットレス回転)などである。この場合、6103/6104メモリに格納されたデータから6106メモリインターフェース、6105メモリアービタを通って、6144DMAC、6147EDITへ読み込み、ここで画像回転処理を行って、今度は6146DMAC、6105メモリアービタを通って、6106メモリインターフェース、6103/6104メモリの順へ再格納する。
以上のパスにより画像回転を処理することができる。
【0093】
(EDITの説明)
次に6147EDITの動作説明を行う。
図1の回転処理の動作概念図において、6147EDIT内には大きくわけて2つのバッファが存在する。1つは例えば512×512のブロック(これをブロック単位と呼ぶ)で高速メモリである。もう一方は、例えば64×64のユニット(これをユニット単位と呼ぶ)でフリップフロップ群である。
まず、6103/6104メモリから1つのブロック分のデータを読み込み、ブロックへ書きこむ。書き込みが終わったら、今度はブロック内の一部(☆1)である64×64をユニットへ書き込む。ユニットで任意な方向に画像を切り出して、再度ブロック内の該当部へ書き戻す。これで64×64の回転は完了である。
【0094】
次にブロック内の該当処理部を一つ横に進めて(☆2)を同様にユニットに書き込む。ユニットで任意な方向に画像を切り出して、再度ブロック内の該当部へ書き戻す。同様に☆1〜☆64の順に処理を行い、完成されたブロックデータを6103/6104メモリへ書き戻す。
【0095】
以上により、512×512のブロック処理が終わり、横のブロックへと処理が移っていく。これを行うことで回転処理を達成する。
【0096】
ところで、下記のチェックを行うことで毎回回転処理を行うためのブロックデータのリードや、ユニットデータのリードを低減できる。すなわち、図9の6199CMP比較部にて一致フラグやブロック一致フラグを確認しながら、一致フラグが1なら直前のユニットデータと同じと見なして改めてユニットデータのリードをせず、回転処理前のユニットバッファに残っているものを使って任意の方向に切り出せばよい。また、ブロック一致フラグが1なら直前のブロックデータと同じと見なして改めてブロックデータをリードせず、回転処理後の結果がブロックバッファに残っているものを使えばよく、書き込み先アドレスだけ変えればよい。
【0097】
(チェックの方法)
ところで、隣り合う画像は似ている(同じ)可能性であることが高いという法則からいくと、この512×512ブロックと隣り合うブロックもこれにあてはまるだろう。従って、同じかどうかの判断は回転処理前に6103/6104メモリに入力される段階でチェックする。また、ブロック単位ではなく、64×64のユニット単位でユニット一致比較を行ってもよい。
【0098】
(CMPの説明)
図9の6199CMPは本比較部である。
【0099】
ラスター順次に6154PCIからバースト単位で入力されるので、例えば8バースト64ビットシステムの場合512ビットずつ入力されることになる。これを毎回比較していけばよい。図2はその様子を示したものである。例えば2048×512の処理について記述する。
【0100】
まず★1の512ビットと★2の512ビットを比較する。同じであれば★2の一致フラグを1とし、そうでなければ0とする。★1の一致フラグは比較対象がないので常に0である。
次に★2の512ビットと★3の512ビットを比較する。同じであれば★3の一致フラグを1とし、そうでなければ0とする。このように順番に比較し、最後は★2047と★2048を比較する。
次に、★1、★5、★9..★2045のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。(この場合、処理先頭なので必ず0になる)
次に、★2、★6、★10..★2046のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。
次に、★3、★7、★11..★2047のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。
最後に、★4、★8、★12..★2048のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。
【0101】
図2の例からいくと左から2番目と4番目がそれぞれ左隣の画像データの同じであるので、1番目と3番目のブロック一致フラグが0となり、2番目と4番目のブロック一致フラグが1となる。なお、上記の6199CMPによる比較処理手順をブロック比較フロー図として図3〜5に示す。
【0102】
図3は、ブロック同士の比較におけるMAINフロー図であり、6199CMPは図2に記載した矢印の順で比較処理していくことを設定する縦幅/横幅処理管理、それから各ブロックにフラグを決めていくブロック比較処理の順で実行していく。
【0103】
図4は、前記縦幅/横幅処理管理のフロー図であり、ラスター順次に6154PCIからバースト単位で入力されたブロックの横幅及び縦幅の処理状況を管理する様子を表している。
【0104】
図5は、前記ブロック比較処理のフロー図であり、逐次的に隣り合うデータ同士を比較し、フラグを割り当てていく様子を表している。
以上は、実施例1の通りブロック比較を行った場合である。
【0105】
また、これと合わせて、図6のようにとなりあうユニット64×64を比較してもよい。
まず、ブロックに512×512のデータがたまると、横方向64ビット単位で比較を行う。同じなら一致フラグを1、異なれば0とする。これを横方向は512ビットまで8−1=7回の比較を行い終わると、次のラインに移って同様に横方向64ビットずつ比較を行う。これを64ライン繰り返す。
【0106】
次に、横方向64ビットと縦方向64ビットの一致フラグが全て1かどうか比較し、(つまり隣り合う64×64と同じかどうか比較する。これを「ユニット一致フラグ」という)@1〜@8まで繰り返す。図6の場合、2、5、6、7、8ユニットがユニット一致フラグ1となる。
【0107】
(実施例3)
実施例3にて、対象データをハードディスクに書き込む際、特に隣り合うブロックのデータと比較して同じだった場合には、メモリからデータを読まずにハードディスクへ書き込むバッファメモリにあるデータを再利用する動作処理の説明をする。
【0108】
(画像蓄積パスの説明)
まずコピー画像の蓄積パスを説明する。
図9の6154PCIバスを介して6159PCIターゲット、6133FIFO、6134DMAC、6105メモリアービタを通って、6106メモリインターフェース、6103/6104メモリの順に通る。6103/6104メモリに格納されるフォーマットはさまざまであり、非圧縮形式や小ブロック単位の固定長圧縮などがある。いずれにしてもラスター順に格納される。
【0109】
ところで画像データを蓄積する必要性が印字モードや給紙の状態によって存在する。例えば入力バックアップや、給紙する用紙がなかった場合などである。この場合、6103/6104メモリに格納されたデータから6106メモリインターフェース、6105メモリアービタを通って、6117DATA−DMAC、6116HDCを通って、6150ハードディスクへ格納する。
以上のパスにより画像蓄積を行うことができる。
【0110】
(チェックの方法)
ところで、隣り合う画像は似ている(同じ)可能性であることが高いという法則からいくと、この512×512ブロックと隣り合うブロックもこれにあてはまるだろう。従って、同じかどうかの判断は回転処理前に6103/6104メモリに入力される段階でチェックする。
【0111】
(CMPの説明)
図9の6199CMPは本比較部である。
【0112】
ラスター順次に6154PCIからバースト単位で入力されるので、例えば8バースト64ビットシステムの場合512ビットずつ入力されることになる。これを毎回比較していけばよい。図2はその様子を示したものである。例えば2048×512の処理について記述する。
【0113】
まず★1の512ビットと★2の512ビットを比較する。同じであれば★2の一致フラグを1とし、そうでなければ0とする。★1の一致フラグは比較対象がないので常に0である。
次に★2の512ビットと★3の512ビットを比較する。同じであれば★3の一致フラグを1とし、そうでなければ0とする。このように順番に比較し、最後は★2047と★2048を比較する。
次に、★1、★5、★9..★2045のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。(この場合、処理先頭なので必ず0になる)
次に、★2、★6、★10..★2046のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。
次に、★3、★7、★11..★2047のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。
最後に、★4、★8、★12..★2048のブロックの一致フラグを全て見て、全て1ならブロック一致フラグを1とする。
【0114】
図2の例からいくと左から2番目と4番目がそれぞれ左隣の画像データの同じであるので、1番目と3番目のブロック一致フラグが0となり、2番目と4番目のブロック一致フラグが1となる。なお、上記の6199CMPによる比較処理手順をブロック比較フロー図として図3〜5に示す。
【0115】
図3は、ブロック同士の比較におけるMAINフロー図であり、6199CMPは図2に記載した矢印の順で比較処理していくことを設定する縦幅/横幅処理管理、それから各ブロックにフラグを決めていくブロック比較処理の順で実行していく。
【0116】
図4は、前記縦幅/横幅処理管理のフロー図であり、ラスター順次に6154PCIからバースト単位で入力されたブロックの横幅及び縦幅の処理状況を管理する様子を表している。
【0117】
図5は、前記ブロック比較処理のフロー図であり、逐次的に隣り合うデータ同士を比較し、フラグを割り当てていく様子を表している。
【0118】
(HDCの説明)
図2の例からいくと、1番目と3番目のブロック一致フラグが0となり、2番目と4番目のブロック一致フラグが1となるので、1番目のブロックは6103/6104メモリから読み込み6116HDC内のバッファに書き込む。そして32KBのデータは1クラスタとして6150ハードディスクへ格納する。
2番目のブロックは1番目に使用した6116HDC内のバッファを利用して次のクラスタに書き込む。従って6103/6104メモリのアクセスは行わない。
3番目のブロックは6103/6104メモリから読み込み6116HDC内のバッファに書き込む。
そして32KBのデータは1クラスタとして6150ハードディスクへ格納する。
4番目のブロックは3番目に使用した6116HDC内のバッファを利用して次のクラスタに書き込む。従って6103/6104メモリのアクセスは行わない。
このようにCMPデータを使いながらハードディスクへ書き込んでいく。
【0119】
【発明の効果】
以上の説明からも明らかなように本発明によれば、以下に述べることが可能になる。
【0120】
本発明では、入力データをブロックに分割し、その比較を行って同じデータの場合はメモリからアクセスすることなくブロックバッファの残ったデータを使用して回転処理を行うことができるので、回転処理の高速化が見込める。また、メモリアクセス回数を低減でき、他のリソースにあてることができる。例えば平行動作のプリンタ描画の高速化を行うことができる。また、平行動作がない場合でもメモリアクセス回数が低減できるため、低消費電力化が見込める。
【0121】
また、本発明では、入力データをブロックに分割し、その比較を行って同じデータの場合はメモリからアクセスすることなくブロックバッファの残ったデータを使用して回転処理を行うことができる。さらに入力データをユニットに分割し、その比較を行って同じ場合は、ブロックからユニットにデータを移す作業を減らすことができるため、さらなる回転処理の高速化が見込める。また、メモリアクセス回数を低減でき、他のリソースにあてることができる。例えば平行動作のプリンタ描画の高速化を行うことができる。また、平行動作がない場合でもメモリアクセス回数が低減できるため、低消費電力化が見込める。
【0122】
また、本発明では、入力データをブロックに分割し、その比較を行って同じデータの場合はメモリからアクセスすることなくブロックバッファの残ったデータを使用してハードディスクにクラスタ単位で書き込むことができるため、ハードディスク書き込みの高速化が見込める。また、メモリアクセス回数を低減でき、他のリソースにあてることができる。例えば平行動作のプリンタ描画の高速化を行うことができる。また、平行動作がない場合でもメモリアクセス回数が低減できるため、低消費電力化が見込める。
【図面の簡単な説明】
【図1】画像データの回転処理の動作概念図である。
【図2】ブロックを取り扱うときの比較部の動作概念図である。
【図3】ブロック同士の比較におけるMAINフロー図である。
【図4】ブロック同士の比較における縦幅/横幅処理管理フロー図である。
【図5】ブロック同士の比較における比較処理フロー図である。
【図6】ユニットを取り扱うときの比較部の動作概念図である。
【図7】複写機の基本構成ブロック図である。
【図8】コントローラ(6016)に搭載されるソフトウェアの構成を表すブロック図である。
【図9】ASIC(6002)の内部構成ブロック図である。
【図10】ASIC(6002)のメモリマップである。
【図11】複写機の内部構成を表すブロック図である。
【図12】図11にて、コピー動作における画像データの流れを表したものである。
【図13】コピー動作における画像入力のタイミングチャートである。
【図14】コピー動作における画像転送のタイミングチャートである。
【図15】図11にて、プリンタ動作における画像データの流れを表したものである。
【図16】図11にて、スキャナ動作における画像データの流れを表したものである。
【図17】図11にて、ネットワークアプリケーション動作における画像データの流れを表したものである。
【符号の説明】
6199 CMP
6103 SDRAM(メモリ)
6104 SDRAM(メモリ)
6147 EDIT
6116 HDC
Claims (3)
- 原稿画像を読み取りラスターデータを生成するエンジン部と、
ラスターデータを格納する記憶部と、
前記エンジン部から生成されたラスターデータを入力して前記記憶部に記憶し、又は、外部装置から画像データを入力しラスターデータに変換して前記記憶部に記憶する制御部と、を備える画像形成装置であって、
前記制御部は、
前記記憶部から読み出された所定領域のブロックのラスターデータを保持する第1バッファを有し、前記記憶部から前記ブロックのラスターデータを読み込んで前記第1バッファへ書き込み、書き込んだ前記ラスターデータに対して回転処理を行って該処理後の前記ラスターデータを前記記憶部の該当箇所に書き戻し、該動作を繰り返すことでラスターデータ全体の回転処理を行う回転手段と、
前記エンジン部から入力されたラスターデータ又は前記外部装置から入力され変換処理されたラスターデータを前記記憶部に記憶する際に、前記回転手段による回転処理の処理順序が連続する位置で隣接する前記ブロックのラスターデータ同士を順次比較し、比較結果として、データ内容が同一の場合に前記隣接するラスターデータ同士のうち前記処理順序が後の前記ラスターデータに対して一致フラグを割り当てる比較手段と、を備え、
前記回転手段により回転処理を行う際、前記回転処理の対象となる前記ブロックのラスターデータに前記一致フラグが割り当てられていることが前記比較手段により確認されたときには、前記第1バッファに書き込まれた前記回転処理済みの前記隣接ラスターデータを、前記処理対象のラスターデータが格納される前記記憶部の該当箇所に書き戻すことを特徴とする画像形成装置。 - 前記回転手段は、前記第1バッファから読み出した回転処理単位のラスターデータを保持する第2バッファをさらに有し、前記第2バッファ内のラスターデータを回転処理して該処理結果を前記第1バッファの該当箇所へ書き戻し、
前記比較手段は、前記エンジン部から入力されたラスターデータ又は前記外部装置から入力され変換処理されたラスターデータを前記記憶部に記憶する際に、前記回転手段による回転処理の処理順序が連続する位置で隣接する前記回転処理単位のラスターデータ同士を順次比較し、比較結果として、データ内容が同一の場合に前記隣接するラスターデータ同士のうち前記処理順序が後の前記ラスターデータに対して一致フラグを割り当て、
前記制御部は、前記回転手段により回転処理を行う際、前記回転処理の対象となる前記回転処理単位のラスターデータに前記一致フラグが割り当てられていることが前記比較手段により確認されたときには、前記第2バッファに書き込まれた前記回転処理済みの前記隣接ラスターデータを、前記処理対象のラスターデータが書き込まれる前記第1バッファの該当箇所に書き戻すことを特徴とする請求項1に記載の画像形成装置。 - 原稿画像を読み取りラスターデータを生成するエンジン部と、
ラスターデータを格納する記憶部と、
前記記憶部に格納されたラスターデータを蓄積するハードディスクと、
前記エンジン部から生成されたラスターデータを入力して前記記憶部に記憶し、又は、外部装置から画像データを入力しラスターデータに変換して前記記憶部に記憶する制御部と、を備える画像形成装置であって、
前記制御部は、
前記記憶部から読み出された所定領域のブロックのラスターデータを保持する第3バッファを有し、前記記憶部から前記ブロックのラスターデータを読み込んで前記第3バッファへ書き込み、前記第3バッファに保持された前記ブロックのラスターデータを前記ハードディスクに格納する格納手段と、
前記エンジン部から入力されたラスターデータ又は前記外部装置から入力され変換処理されたラスターデータを前記記憶部に記憶する際に、前記格納手段による格納処理の処理順序が連続する位置で隣接する前記ブロックのラスターデータ同士を順次比較し、比較結果として、データ内容が同一の場合に前記隣接するラスターデータ同士のうち前記処理順 序が後の前記ラスターデータに対して一致フラグを割り当てる比較手段と、を備え、
前記格納手段により格納処理を行う際、前記格納処理の対象となる前記ブロックのラスターデータに前記一致フラグが割り当てられていることが前記比較手段により確認されたときには、前記第3バッファに書き込まれた前記格納処理済みの前記隣接ラスターデータを、前記処理対象のラスターデータが格納されるべき前記ハードディスクの格納場所に書き込むことを特徴とする画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002381150A JP4065194B2 (ja) | 2002-12-27 | 2002-12-27 | 画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002381150A JP4065194B2 (ja) | 2002-12-27 | 2002-12-27 | 画像形成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004214892A JP2004214892A (ja) | 2004-07-29 |
JP4065194B2 true JP4065194B2 (ja) | 2008-03-19 |
Family
ID=32817159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002381150A Expired - Fee Related JP4065194B2 (ja) | 2002-12-27 | 2002-12-27 | 画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4065194B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010033420A (ja) * | 2008-07-30 | 2010-02-12 | Oki Semiconductor Co Ltd | キャッシュ回路及びキャッシュメモリ制御方法 |
-
2002
- 2002-12-27 JP JP2002381150A patent/JP4065194B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004214892A (ja) | 2004-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6587735B1 (en) | Data processing apparatus and processor selection method | |
US8384972B2 (en) | Image input/output control apparatus, image processing apparatus, image processing method, data communication apparatus, and data communication method | |
JPH1083263A (ja) | 画像形成装置及び画像処理方法 | |
US8578071B2 (en) | Information processing apparatus and inter-processor communication control method | |
JP3798353B2 (ja) | 電子装置 | |
US7145681B2 (en) | Apparatus and method for processing divided image data | |
JP3682443B2 (ja) | 画像形成装置 | |
JP3862605B2 (ja) | 画像処理装置 | |
JP2003274156A (ja) | 画像処理装置および方法 | |
JP3862599B2 (ja) | 画像形成システムおよびその制御方法、印刷制御装置およびその制御方法 | |
JP4065194B2 (ja) | 画像形成装置 | |
JPH11136459A (ja) | 画像入出力装置及び方法 | |
US8582153B2 (en) | Image forming apparatus and method | |
JP5233608B2 (ja) | 画像形成装置、画像データ転送方法、及びプログラム | |
JP2000115277A (ja) | 符号化復号化装置及び画像形成システム | |
JP2002305622A (ja) | 画像入出力制御装置、画像処理装置、画像入出力制御装置における画像処理方法、及び画像処理装置における画像処理方法 | |
JP4065550B2 (ja) | 画像入出力制御装置、画像処理装置、画像入出力制御装置における画像処理方法、及び画像処理装置における画像処理方法 | |
JPH11203070A (ja) | プリンタ制御装置 | |
JP3682442B2 (ja) | 画像形成装置 | |
JP2006255914A (ja) | 画像形成装置 | |
US20110205591A1 (en) | Image processing device and image processing method | |
JP2002264442A (ja) | 画像処理装置 | |
JP2018118477A (ja) | 画像処理装置とその制御方法、及びプログラム | |
JP2004165741A (ja) | 画像処理装置 | |
JPH10173836A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050223 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070710 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070903 |
|
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: 20071225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071228 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120111 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130111 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140111 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |