JP2007287072A - 画像処理装置、印刷装置および画像処理方法 - Google Patents

画像処理装置、印刷装置および画像処理方法 Download PDF

Info

Publication number
JP2007287072A
JP2007287072A JP2006116490A JP2006116490A JP2007287072A JP 2007287072 A JP2007287072 A JP 2007287072A JP 2006116490 A JP2006116490 A JP 2006116490A JP 2006116490 A JP2006116490 A JP 2006116490A JP 2007287072 A JP2007287072 A JP 2007287072A
Authority
JP
Japan
Prior art keywords
data
bus
arithmetic processing
processing means
image
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.)
Granted
Application number
JP2006116490A
Other languages
English (en)
Other versions
JP4867452B2 (ja
Inventor
Takeya Akiyama
健也 秋山
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006116490A priority Critical patent/JP4867452B2/ja
Publication of JP2007287072A publication Critical patent/JP2007287072A/ja
Application granted granted Critical
Publication of JP4867452B2 publication Critical patent/JP4867452B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

【課題】複数のプロセッサを有する共有メモリ型の装置において、プロセッサのストール
期間を短くし、画像処理に要する時間を短くすること。
【解決手段】演算処理手段6,7は、テーブル14,15,16を使用して、一連の画像
データに対して画像処理を順次施す。第1のメモリアクセス手段MA1−1,MA1−2
は、演算処理手段6,7とは独立に動作し演算処理手段6,7の画像処理と並行して、バ
スを介してメモリ8から画像データを取得しバスを介さずに演算処理手段6,7に供給す
る。第2のメモリアクセス手段MA2,MA3−1,MA3−2は、演算処理手段6,7
とは独立に動作し演算処理手段6,7の画像処理と並行して、バスを介してメモリ8から
テーブル14,15,16を取得しバスを介さずに演算処理手段6,7に供給する。
【選択図】図2

Description

本発明は、画像処理装置、印刷装置および画像処理方法に関するものである。
複数のプロセッサを使用し並列処理により画像処理を行う装置が提案されている(例え
ば特許文献1参照)。
通常、プロセッサから、プロセッサの外部にあるRAM(ランダムアクセスメモリ)に
アクセスする場合、プロセッサの1命令あたりの所要時間に対比して大きなレイテンシが
発生する。それに起因して、メモリアクセス命令に基づき外部RAMに対するアクセス要
求が発行されてからアクセス処理が完了するまでの期間、プロセッサはストールし次の処
理に進まない。したがって、共有メモリ型の装置の場合には、外部RAMに接続するバス
が複数のプロセッサに対して共通であるため、1プロセッサの場合に比べ、プロセッサが
多いほど、レイテンシが増大する傾向にある。
このような問題に対して、ライト処理に関しては、キャッシュ、ライトバッファ(スト
アバッファ)などがあれば、キャッシュ、ライトバッファなどにデータを書き込んだ時点
でプロセッサはライト処理を完了し次の処理が開始されるため、比較的問題は少ない。
一方、リード処理に関しては、キャッシュを設けることで、レイテンシに起因するプロ
セッサのストールをある程度低減することが可能である。例えば、キャッシュのラインサ
イズが128ビットであり、キャッシュへの1回のアクセス単位が32ビットである場合
には、外部RAMへの1回のアクセスで128ビット分キャッシュに読み出すことで、連
続した領域からデータを読み出す際のアクセス回数が減るため、プロセッサのストール期
間が短くなる。
特開2005−260424号公報(明細書等)
しかしながら、複数のプロセッサを有する共有メモリ型の装置の場合、そのようにキャ
ッシュを使用しても、リード処理時のプロセッサのストール期間は発生する。特に、外部
RAMから、プロセッサのキャッシュや内部RAMのサイズより大きいサイズのテーブル
を適宜読み込んで画像処理を行う場合には、この問題は顕著になる。また、特に、処理対
象となる画像データがプロセッサのキャッシュや内部RAMのサイズより大きいサイズの
場合、外部RAMからデータを繰り返し読み込む動作が必要になるため、レイテンシに起
因したプロセッサのストールが発生しやすい。
本発明は、上記の問題に鑑みてなされたものであり、複数のプロセッサを有する共有メ
モリ型の装置において、プロセッサのストール期間を短くし、画像処理に要する時間を短
くすることができる画像処理装置および画像処理方法、並びにそれを利用した印刷装置を
得ることを目的とする。
上記の課題を解決するために、本発明では以下のようにした。
本発明に係る画像処理装置は、複数の演算処理手段と、メモリと、複数の演算処理手段
のそれぞれとメモリとを接続するバスとを備える画像処理装置であって、複数の演算処理
手段のうちのいずれか1つの演算処理手段であって、テーブルを使用して、一連の画像デ
ータに対して画像処理を順次施す演算処理手段と、演算処理手段とは独立に動作し演算処
理手段の画像処理と並行して、バスを介してメモリから画像データを取得しバスを介さず
に演算処理手段に供給する第1のメモリアクセス手段と、演算処理手段とは独立に動作し
演算処理手段の画像処理と並行して、バスを介してメモリからテーブルを取得しバスを介
さずに演算処理手段に供給する第2のメモリアクセス手段とを備える。
これにより、共有メモリからのデータリードをメモリアクセス手段が実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、画像処理に要する時間を短くすることができる。
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよ
い。つまり、その場合、第2のメモリアクセス手段は、バスを介してメモリからルックア
ップテーブルを取得してバスを介さずに演算処理手段に供給し、演算処理手段は、そのル
ックアップテーブルを使用して、画像データに対して色変換処理を施す。
これにより、共有メモリからのデータリードをメモリアクセス手段が実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、色変換処理に要する時間を短くすることができる。
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、第2のメモリアクセス手段は、ハーフトーン処理に使
用するテーブルをバスを介してメモリから取得して、バスを介さずに演算処理手段に供給
し、演算処理手段は、そのテーブルを使用して、画像データに対してハーフトーン処理を
施す。
これにより、共有メモリからのデータリードをメモリアクセス手段が実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、ハーフトーン処理に要する時間を短くすることができる。
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、第1のメモリアクセス手段は、演算処理手段がバスを
介さずに読み取り可能なデータキューと、演算処理手段から先頭アドレスを取得すると、
その先頭アドレスから順番に画像データをメモリからバスを介して取得しデータキューに
格納する制御回路とを有する。
これにより、共有メモリからの入力データの読み込みを第1のメモリアクセス手段が実
行するため、複数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサの
ストール期間を短くし、画像処理に要する時間を短くすることができる。
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、第2のメモリアクセス手段は、演算処理手段がバスを
介さずに書き込み可能なアドレスキューと、演算処理手段がバスを介さずに読み取り可能
なデータキューと、アドレスキューに格納されたアドレスを取得し、テーブルのうち、そ
のアドレスのデータをメモリからバスを介して取得しデータキューに格納する制御回路と
を有する。
これにより、共有メモリからテーブルをランダムに読み込む処理を第2のメモリアクセ
ス手段が実行するため、複数のプロセッサを有する共有メモリ型の装置にも拘わらず、プ
ロセッサのストール期間を短くし、画像処理に要する時間を短くすることができる。
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、演算処理手段は、少なくとも2つのバンクを有する内
部メモリを有する。そして、第2のメモリアクセス手段は、演算処理手段から先頭アドレ
スを取得すると、その先頭アドレスから所定長のデータをメモリからバスを介して取得し
、内部メモリの一方のバンクおよび他方のバンクのいずれかに交互に格納する。
これにより、共有メモリからテーブルを逐次的に読み込む処理を第2のメモリアクセス
手段が実行するため、複数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロ
セッサのストール期間を短くし、画像処理に要する時間を短くすることができる。
本発明に係る印刷装置は、上記の画像処理装置のいずれかを備え、その画像処理装置に
より画像処理を施されて得られたデータに基づいて印刷処理を行う。
これにより、共有メモリからのデータリードをメモリアクセス手段が実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、画像処理に要する時間、ひいては印刷時間を短くすることができる。
本発明に係る画像処理方法は、複数の演算処理手段と、メモリと、複数の演算処理手段
のそれぞれとメモリとを接続するバスとを備える画像処理装置を使用する画像処理方法で
あって、複数の演算処理手段のうちのいずれか1つの演算処理手段により、テーブルを使
用して、一連の画像データに対して画像処理を順次施すステップと、演算処理手段の画像
処理と並行して、バスを介してメモリから画像データを取得してバスを介さずに演算処理
手段に供給するステップと、演算処理手段の画像処理と並行して、バスを介してメモリか
らテーブルを取得してバスを介さずに演算処理手段に供給するステップとを備える。
これにより、共有メモリからのデータリードをプロセッサとは独立に実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、画像処理に要する時間を短くすることができる。
以下、図に基づいて本発明の実施の形態を説明する。
実施の形態1.
図1は、本発明の実施の形態1に係る画像処理装置のハードウェア構成を示すブロック
図である。この画像処理装置は、インクジェットプリンタなどの印刷装置に内蔵されるも
のであって、RGBデータなどの画像データから2値化データを生成する共有メモリ型の
並列処理装置である。
図1において、プロセッサ1は、プロセッサ2,6,7を制御し、画像処理の流れを制
御する演算処理器である。プロセッサ2は、プロセッサ3,4,5を制御して画像データ
のデコード処理および画像補正処理を実行させるとともに、リサイズ処理およびレイアウ
ト処理を実行する演算処理器である。デコード処理は、JPEG(Joint Picture Expert
s Group )データなどの符号化された画像データをデコードしRGBデータを生成する処
理である。リサイズ処理は、RGBデータの解像度を変換する処理である。レイアウト処
理は、リサイズ後のRGBデータによる画像を印刷用紙に合わせて配置するようにしたR
GBデータを生成する処理である。プロセッサ3は、デコード処理の前段を実行する演算
処理器であり、プロセッサ4は、デコード処理の後段を実行する演算処理器である。プロ
セッサ5は、画像補正処理を実行する演算処理器である。
また、プロセッサ6は、色変換処理、およびハーフトーン処理のうちのエンコーディン
グ処理を実行する演算処理手段としての演算処理器である。CPU6aは、プロセッサ6
に内蔵される演算処理回路である。内部RAM6bは、プロセッサ6に内蔵されバス9を
介さずにCPU6aに接続された内部メモリである。内部RAM6bには、スタティック
RAMなどの高速なメモリが使用される。
実施の形態1では、ハーフトーン処理として、例えば特開2004−297451号公
報に開示されている方式の処理が実行される。この処理では、例えば4×2などの画素ブ
ロック毎にエンコードテーブルを使用して、その画素ブロックを、その画素ブロック内の
2値化後の2値の一方の値の数(以下、ドット数という)にエンコードする。エンコード
されたデータは、各画素ブロックにつき、画素ブロックの位置とその画素ブロックでのド
ット数を有する。エンコード後のデータは、各画素ブロックに対応するデコードテーブル
を使用して、その画素ブロックでのドット数に対応するドットパターンデータにデコード
される。なお、エンコードテーブルのデータは、エンコード時に使用する閾値のテーブル
である。
また、プロセッサ7は、ハーフトーン処理のうちのデコード処理、および2値化データ
の並び替え処理を実行する演算処理手段としての演算処理器である。CPU7aは、プロ
セッサ7に内蔵される演算処理回路である。内部RAM7bは、プロセッサ7に内蔵され
バス9を介さずにCPU7aに接続された内部メモリである。内部RAM7bには、スタ
ティックRAMなどの高速なメモリが使用される。
なお、プロセッサ1〜7は、それぞれ、図示せぬROMなどの記録媒体に予め格納され
DRAM8にロードされたプログラムを順次読み出して実行し、上述の処理を行う。
また、ダイナミックRAM(DRAM)8は、バス9を介してプロセッサ1〜7に接続
され、各種データおよびプログラムを格納する外部メモリである。DRAM8の容量は、
内部RAM6b,7bの容量より大きい。DRAM8には、RGBデータバッファ11、
中間データバッファ12、イメージバッファ13などの記憶領域が設けられる。RGBデ
ータバッファ11は、プロセッサ3〜5の処理により生成されたRGBデータであってプ
ロセッサ6の入力データとなるRGBデータを一時的に格納する記憶領域である。中間デ
ータバッファ12は、プロセッサ6の出力データでありかつプロセッサ7の入力データと
なる中間データ(実施の形態1では、ハーフトーン処理のエンコード処理後のデータ、以
下、エンコードデータという)を一時的に格納する記憶領域である。イメージバッファ1
3は、プロセッサ7の出力データとなる2値化データを一時的に格納する記憶領域である
また、バス9は、データバスおよびプログラムバスを含み、プロセッサ1〜7のそれぞ
れとDRAM8とを接続する信号路である。
次に、メモリアクセス回路MA1−1は、プロセッサ1〜7とは独立に動作しプロセッ
サ6の画像処理と並行して、バス9を介してDRAM8から入力データを取得しバス9を
介さずにプロセッサ6に供給する第1のメモリアクセス手段としての回路である。また、
メモリアクセス回路MA2は、プロセッサ1〜7とは独立に動作しプロセッサ6の画像処
理と並行して、バス9を介してDRAM8から第1のテーブルのデータを取得しバス9を
介さずにプロセッサ6に供給する第2のメモリアクセス手段としての回路である。また、
メモリアクセス回路MA3−1は、プロセッサ1〜7とは独立に動作しプロセッサ6の画
像処理と並行して、バス9を介してDRAM8から第2のテーブルのデータを取得しバス
9を介さずにプロセッサ6に供給する第2のメモリアクセス手段としての回路である。
また、メモリアクセス回路MA1−2は、プロセッサ1〜7とは独立に動作しプロセッ
サ7の画像処理と並行して、バス9を介してDRAM8から入力データを取得しバス9を
介さずにプロセッサ7に供給する第1のメモリアクセス手段としての回路である。また、
メモリアクセス回路MA3−2は、プロセッサ1〜7とは独立に動作しプロセッサ7の画
像処理と並行して、バス9を介してDRAM8から第3のテーブルのデータを取得しバス
9を介さずにプロセッサ7に供給する第2のメモリアクセス手段としての回路である。
これらのメモリアクセス回路MA1−1,MA1−2は、一連の画像データのように、
サイズが大きい一連の入力データを逐次的に読み込む場合に使用される。また、メモリア
クセス回路MA2は、アクセスするテーブルの箇所がランダムである場合に使用される。
実施の形態1では、このメモリアクセス回路MA2は、ルックアップテーブル(LUT)
のデータ読み込みに使用される。また、メモリアクセス回路MA3−1,MA3−2は、
アクセスするテーブルの箇所が連続しており所定のサイズごとにデータが読み込まれる場
合に使用される。実施の形態1では、メモリアクセス回路MA3−1は、エンコードテー
ブルのデータ読み込みに使用され、メモリアクセス回路MA3−2は、デコードテーブル
のデータ読み込みに使用される。
図2は、実施の形態1に係る画像処理装置のうち、プロセッサ6,7によるデータ処理
に関連する構成を示すブロック図である。図2に示すように、プロセッサ6の内部RAM
6bには、色変換前に階調解像度を変換する際に使用されるプレ変換テーブル21が記憶
されるともに、エンコードテーブルバッファ22が設けられる。エンコードテーブルバッ
ファ22は、画像データ1ライン分に対応するエンコードテーブルのデータを一時的に格
納する記憶領域である。また、プロセッサ7の内部RAM7bには、デコードテーブルバ
ッファ23および作業バッファ24が設けられる。デコードテーブルバッファ23は、画
像データ1ライン分に対応するデコードテーブルのデータを一時的に格納する記憶領域で
ある。作業バッファ24は、並び替え処理の際に使用される記憶領域である。
ここで、各メモリアクセス回路MA1−1,MA1−2,MA2,MA3−1,MA3
−2の詳細について説明する。
図3は、メモリアクセス回路MA1−1,MA1−2およびその周辺の構成を示すブロ
ック図である。図3に示すように、各メモリアクセス回路MA1−1,1−2は、データ
キュー41および制御回路42を有する。データキュー41は、CPU6aまたはCPU
7aに接続され、制御回路42から順次供給されるデータを順番に保持する記憶回路であ
る。CPU6aまたはCPU7aは、データキュー41にバス9を介さずにアクセス可能
であり、データキュー41の先頭データを読み出す。データキュー41の先頭データは、
CPU6aまたはCPU7aにより読み出されると、データキュー41から消去される。
制御回路42は、CPU6aまたはCPU7aから先頭アドレスおよびデータ数を供給さ
れると、動作を開始し、その先頭アドレスから順番にアドレスを指定してバス9を介して
DRAM8から指定されたデータ数のデータを順番に読み出し、データキュー41に格納
する回路である。
図4は、メモリアクセス回路MA1−1,MA1−2使用時のプロセッサ6,7の動作
を説明するフローチャートである。図4(A)は、メモリアクセス回路MA1−1,MA
1−2を使用しない場合の処理の流れを示す図である。図4(B)は、メモリアクセス回
路MA1−1,MA1−2を使用する場合の処理の流れを示す図である。
メモリアクセス回路MA1−1,MA1−2を使用しない場合(図4(A))、入力バ
ッファの先頭アドレスが特定されると(ステップS1)、まずそのアドレスからデータが
バスを介してプロセッサへ直接読み込まれる(ステップS2)。そして、そのデータに対
する処理が実行される(ステップS3)。その処理の終了後、次のデータがあるか否かが
判定され(ステップS4)、次のデータがある場合、次のデータのアドレスが計算され、
そのアドレスからデータがバスを介してプロセッサへ直接読み込まれる(ステップS2)
。このようにして、所定の数のデータが読み込まれつつ処理が施される。
一方、メモリアクセス回路MA1−1,MA1−2を使用する場合(図4(B))、入
力バッファ(RGBデータバッファ11または中間データバッファ12)の先頭アドレス
が特定されると、CPU6a,7aは、その先頭アドレスと例えば1ライン分のデータ数
をメモリアクセス回路MA1−1,MA1−2に供給する(ステップS11)。メモリア
クセス回路MA1−1,MA1−2は、その先頭アドレスからそのデータ数のデータを順
番に読み出し、データキュー41に格納する。CPU6a,7aは、データキュー41の
先頭データを読み出し(ステップS12)、そのデータに対する処理を実行する(ステッ
プS13)。データキュー41の先頭データは、読み出しCPU6aまたはCPU7aに
読み出されると消去される。CPU6a,7aは、その処理の終了後、所定のデータ数の
データに対する処理が完了したか否かを判定し(ステップS14)、所定のデータ数のデ
ータに対する処理が完了するまで、ステップS12〜ステップS14の処理を繰り返し実
行する。
図5は、メモリアクセス回路MA1−1,1−2を使用した場合のCPU6a,7aの
処理スケジュールの一例を示す図である。図5に示すように、メモリアクセス回路MA1
−1,MA1−2は、一旦起動すると、CPU6a,7aのデータ処理(ステップS13
)の期間に、並行して、DRAM8からデータを取得する。このため、データ待ち、すな
わちレイテンシに起因したCPU6a,7aのストールの頻度を低減することができる。
なお、図5では、メモリアクセス回路MA1−1,MA1−2の起動時間が比較的長く表
現されているが、実際には、データ処理時間に比べ非常に短い。
図6は、メモリアクセス回路MA2およびその周辺の構成を示すブロック図である。図
6に示すように、メモリアクセス回路MA2は、アドレスキュー51、データキュー52
および制御回路53を有する。アドレスキュー51は、CPU6aに接続され、CPU6
aから順次供給されるアドレスを順番に保持する記憶回路である。アドレスキュー51の
先頭データは、制御回路53により読み出されると、アドレスキュー51から消去される
。データキュー52は、CPU6aに接続され、制御回路53から順次供給されるデータ
を順番に保持する記憶回路である。CPU6aは、データキュー52にバス9を介さずに
アクセス可能であり、データキュー52の先頭データを読み出す。データキュー52の先
頭データは、CPU6aにより読み出されると、データキュー52から消去される。制御
回路53は、アドレスキュー51を監視し、アドレスキュー51の先頭データであるアド
レスを読み出し、そのアドレスを指定してバス9を介してDRAM8からデータを読み出
し、データキュー52に格納する回路である。
図7は、メモリアクセス回路MA2使用時のプロセッサ6の動作を説明するフローチャ
ートである。図7(A)は、メモリアクセス回路MA2を使用しない場合の処理の流れを
示す図である。図7(B)は、メモリアクセス回路MA2を使用する場合の処理の流れを
示す図である。
処理全体が前段処理と後段処理に分離でき、後段処理にてDRAM8から読み出したデ
ータを使用する場合にメモリアクセス回路MA2の使用が効果的であるため、ここでもそ
のような用途に使用される。
メモリアクセス回路MA2を使用しない場合(図7(A))、カウンタiが0にリセッ
トされた後(ステップS21)、第iの前段処理が実行され(ステップS22)、その後
、第iのデータがDRAMからバスを介してプロセッサに読み込まれ(ステップS23)
、第iの後段処理が実行される(ステップS24)。その後、カウンタiが1だけインク
リメントされ(ステップS25)、n回の前段処理および後段処理が実行されたか否かが
判定される(ステップS26)。n回の前段処理および後段処理が完了するまで、ステッ
プS22〜ステップS26の処理が実行される。
一方、メモリアクセス回路MA2を使用する場合(図7(B))、まず、CPU6aは
、第0の前段処理を実行する(ステップS31)。次に、CPU6aは、アドレスキュー
51に対して、第0のデータのアドレスを発行する(ステップS32)。そして、カウン
タiが0にリセットされる(ステップS33)。次に、CPU6aは、第(i+1)の前
段処理を実行する(ステップS34)。その後、CPU6aは、第iのデータをデータキ
ュー52から読み出し(ステップS35)、第(i+1)のデータのアドレスをアドレス
キュー51に発行してから(ステップS36)、第iの後段処理を実行する(ステップS
37)。そして、CPU6aは、カウンタiを1だけインクリメントし(ステップS38
)、n回の前段処理および後段処理が実行されたか否かを判定する(ステップS39)。
n回の前段処理および後段処理が完了するまで、ステップS34〜ステップS39の処理
が実行される。n回の前段処理および後段処理が完了すると、CPU6aは、第(n−1
)のデータをデータキュー52から読み出し(ステップS40)、第(n−1)の後段処
理を実行する(ステップS41)。
図8は、メモリアクセス回路MA2を使用した場合のCPU6aの処理スケジュールの
一例を示す図である。なお、図8では、データ処理(前段処理と後段処理)が4回だけ実
行される場合を示しているが、通常、データ処理の回数は非常に多くなる。図8に示すよ
うに、メモリアクセス回路MA2は、CPU6aの前段処理(ステップS34)および/
または後段処理(ステップS37)の期間に、並行して、DRAM8からデータを取得す
る。このため、データ待ち、すなわちレイテンシに起因したCPU6aのストールの頻度
を低減することができる。
図9は、メモリアクセス回路MA3−1,MA3−2の周辺の構成を示すブロック図で
ある。図9に示すように、メモリアクセス回路MA3−1,MA3−2は、プロセッサ6
の内部RAM6bまたはプロセッサ7の内部RAM7bにアクセス可能であって、先頭ア
ドレスおよびデータサイズが供給されると、その先頭アドレスからデータサイズ分のデー
タを、バス9を介してDRAM8から読み出し、バンクフラグ61の値に応じて、第1バ
ンク62および第2バンク63のいずれかに書き込む。バンクフラグ61の値は、1ビッ
トの値であり、一定の処理が完了するごとにCPU6a,7aにより0または1に切り替
えられる。また、第1バンク62および第2バンク63は、それぞれ、CPU6a,7a
により要求されるデータサイズより大きい容量を有する記憶領域である。メモリアクセス
回路MA3−1,MA3−2は、テーブル全体を内部RAM6b,7bに格納することが
できないが1ラインの画像データに対する処理に使用するテーブルデータが1つのバンク
62,63に格納可能な場合に、使用される。
図10は、メモリアクセス回路MA3−1,MA3−2使用時のプロセッサ6,7の動
作を説明するフローチャートである。図10(A)は、メモリアクセス回路MA3−1,
MA3−2を使用しない場合の処理の流れを示す図である。図10(B)は、メモリアク
セス回路MA3−1,MA3−2を使用する場合の処理の流れを示す図である。
メモリアクセス回路MA3−1,MA3−2を使用しない場合(図10(A))、カウ
ンタiが0にリセットされた後(ステップS51)、画像データの第iラインのためのテ
ーブルのデータがプロセッサによりバスを介してDRAMから読み出され内部RAMに書
き込まれる(ステップS52)。その後、第iラインのデータに対する処理が実行される
(ステップS53)。その後、カウンタiが1だけインクリメントされ(ステップS54
)、nライン分のデータ処理が実行されたか否かが判定される(ステップS55)。nラ
イン分のデータ処理が完了するまで、ステップS52〜ステップS55の処理が実行され
る。
一方、メモリアクセス回路MA3−1,MA3−2を使用する場合(図10(B))、
まず、CPU6a,7aは、第0ラインの画像データ用のテーブルデータの先頭アドレス
とそのデータのデータ長をメモリアクセス回路MA3−1,MA3−2に供給する(ステ
ップS61)。CPU6a,7aは、カウンタiを0にリセットした後(ステップS62
)、第0ライン用のテーブルデータが内部RAM6b,7bへ読み出されるまで待機する
(ステップS63)。その後、CPU6a,7aは、第(i+1)ラインの画像データ用
のテーブルデータの先頭アドレスとデータ長をメモリアクセス回路MA3−1,MA3−
2に供給してから(ステップS64)、第iラインに対する処理を実行する(ステップS
65)。その後、CPU6a,7aは、カウンタiを1だけインクリメントし(ステップ
S66)、nライン分のデータ処理が実行されたか否かを判定する(ステップS67)。
nライン分のデータ処理が完了するまで、ステップS64〜ステップS67の処理が実行
される。
図11は、メモリアクセス回路MA3−1,MA3−2を使用した場合のCPU6a,
7aの処理スケジュールの一例を示す図である。なお、図11では、データ処理が4回だ
け実行される場合を示しているが、通常、データ処理の回数は非常に多くなる。また、図
11では、メモリアクセス回路MA3−1,MA3−2の起動時間が比較的長く表現され
ているが、実際には、データ処理時間に比べ非常に短い。図11に示すように、メモリア
クセス回路MA3−1,MA3−2は、CPU6a,7aのデータ処理(ステップS65
)の期間に並行して、DRAM8からテーブルデータを取得し内部RAM6b,7bに書
き込む。このため、データ待ち、すなわちレイテンシに起因したCPU6a,7aのスト
ールの頻度を低減することができる。
上述のようなアーキテクチャは、例えばTensilica社のXtensaLXとい
った、設計段階で命令やプロセッサのインタフェースを容易に拡張可能なアーキテクチャ
により実現可能である。例えば、XtensaLXでは、プロセッサに接続したキューに
対するアクセス制御を行えるインタフェースをCPUの命令として追加できる。また、上
述のアドレスキューやデータキューにはXtensaLXのLXキュー機能を利用でき、
これにより、CPUがプロセッサ外部の回路とデータ転送を直接行うことができる。
次に、上記装置の動作について説明する。
まず、プロセッサ6における画像処理について説明する。プロセッサ6は、画像データ
を1ラインごと処理する。図12は、プロセッサ6での1ライン分の画像データに対する
画像処理を説明するフローチャートである。図13は、図12の画像処理のデータフロー
を説明する図である。まず、最初のRGBデータが取得され(ステップS101)、その
RGBデータに対して、エッジ判定(ステップS102)、色変換処理(ステップS10
3)、スムージング(ステップS104)、およびハーフトーン処理のエンコード処理(
ステップS105)が実行される。そして、1ラインの全データが処理されたか否かが判
定され(ステップS106)、1ラインに処理されていないRGBデータがある場合には
、次のRGBデータが取得され(ステップS107)、同様の処理(ステップS102〜
S106)が実行される。図13に示すように、エッジ判定では、エッジ情報が検出され
、色変換処理では、画像データの色空間がRGBからCMYKへ変換される。そして、ス
ムージングでは、エッジ情報に基づいてCMYKデータが補正され、エンコード処理では
、エンコードテーブルを参照して、CMYK各色のデータが別々にエンコードされる。
次に、実施の形態1におけるプロセッサ6の動作について説明する。図14は、実施の
形態1におけるプロセッサ6の動作を説明するフローチャートである。図15は、図14
に示すプロセッサ6の動作時のデータフローを説明する図である。プロセッサ6へのデー
タ供給には、3つのメモリアクセス回路MA1−1,MA2,MA3−1が使用される。
したがって、プロセッサ6は、メモリアクセス回路MA1−1に対しては図4(B)の処
理手順で動作し、メモリアクセス回路MA2に対しては図7(B)の処理手順で動作し、
メモリアクセス回路MA3−1に対しては図10(B)の処理手順で動作する。つまり、
図14のステップS211〜S225の処理が、図10(B)のステップS65の処理に
相当する。また、図14のステップS215〜S217の処理が図7(B)のステップS
34の処理に相当し、図14のステップS221〜S224の処理が図7(B)のステッ
プS37の処理に相当する。また、図14のステップS216〜S224の処理が、図4
(B)のステップS13の処理に相当する。
プロセッサ6のCPU6aは、メモリアクセス回路MA3−1に対し、第0のライン用
のエンコードテーブルデータを内部RAM6bにコピーさせるために、その先頭アドレス
とデータ長を供給する(ステップS201)。そして、CPU6aは、カウンタiを0に
リセットした後(ステップS202)、第0ライン用のテーブルデータが内部RAM6b
へ読み出されるまで待機する(ステップS203)。その後、CPU6aは、第(i+1
)ラインの画像データ用のテーブルデータの先頭アドレスとデータ長をメモリアクセス回
路MA3−1に供給してから(ステップS204)、第iラインに対する処理として、ス
テップS211〜S225の処理を実行する。
一方、メモリアクセス回路MA3−1は、プロセッサ6とは独立に、エンコードテーブ
ル15のうちの指定されたデータをDRAM8から読み出し、内部RAM6bの第1バン
ク62または第2バンク63に書き込む。1ライン分のテーブルデータは、ラインごとに
交互に、第1バンク62および第2バンク63に格納される。このメモリアクセス回路M
A3−1の処理は、第(i+1)のラインに対するハーフトーン処理のエンコード処理(
ステップS223)が開始されるまでに完了するのが好ましい。
ステップS204の処理の後、CPU6aは、RGBデータバッファ11における処理
対象のラインの先頭アドレスを特定し、その先頭アドレスと1ライン分のデータ数をメモ
リアクセス回路MA1−1に供給する(ステップS211)。CPU6aは、カウンタj
を0にリセットする(ステップS212)。その後、CPU6aは、カウンタjの値がn
より大きいか否かを判断する(ステップS213)。カウンタjの値がn以下である場合
、CPU6aは、ステップS214〜S225の処理を実行する。
ステップS214〜S224の処理は、カウンタjの値が0からnになるまでに(n+
1)回繰り返して実行される。ただし、1回目の処理(j=0)では、図7(B)のステ
ップS31,S32に相当する処理がステップS215〜S218で実行され、ステップ
S220〜224の処理はスキップされる(ステップS219)。また、(n+1)回目
の処理(j=n)では、図7(B)のステップS40,S41に相当する処理がステップ
S220〜S224で実行され、ステップS215〜S218の処理はスキップされる(
ステップS214)。
まず、CPU6aは、図15に示すように、1ライン内の第0(すなわち、1ライン内
の最初)のRGBデータをメモリアクセス回路MA1−1のデータキュー41から読み出
し(ステップS215)、そのRGBデータに対してエッジ判定を行う(ステップS21
6)。その後、CPU6aは、第0のRGBデータの色変換に必要なLUTデータの格納
場所のアドレスを計算し(ステップS217)、そのアドレスをメモリアクセス回路MA
2のアドレスキュー51に書き込む(ステップS218)。その後、CPU6aは、カウ
ンタjの値をインクリメントして1(j=1)とする(ステップS225)。
次に、CPU6aは、図15に示すように、1ライン内の第1(すなわち、2番目)の
RGBデータをデータキュー41から読み出し(ステップS215)、そのRGBデータ
に対してエッジ判定を行う(ステップS216)。その後、CPU6aは、第2のRGB
データの色変換に必要なLUTデータの格納場所のアドレスを計算し(ステップS217
)、そのアドレスをメモリアクセス回路MA2のアドレスキュー51に書き込む(ステッ
プS218)。その後、CPU6aは、図15に示すように、第0(すなわち、1ライン
内の最初)のLUTデータを、メモリアクセス回路MA2のデータキュー52から読み出
し、そのLUTデータに基づいて、第0のRGBデータを第0のCYMKデータへ色変換
する(ステップS221)。なお、CPU6aは、色変換処理を行う前に、プレ変換テー
ブル21を参照してプレ変換を行い、RGBデータの階調を256階調から32階調へ変
換する。また、CPU6aは、色変換後のCYMKデータに対して、エッジ判定(ステッ
プS216)により得られたエッジ情報に基づいてスムージングを施す(ステップS22
2)。さらに、CPU6aは、図15に示すように、内部RAM6bからエンコードテー
ブルデータを読み出し、そのエンコードテーブルデータに基づいて、第0のCYMKデー
タをエンコードし(ステップS223)、エンコード後のデータを中間データとして中間
データバッファ12に格納する(ステップS224)。
その後、CPU6aは、カウンタjの値をインクリメントして2(j=2)とする(ス
テップS225)。以下、同様にして、カウンタjの値がnになるまで、上述のステップ
S215〜S218,S220〜S224の処理が繰り返される。
そして、カウンタjの値がnになると、CPU6aは、第(n−1)(すなわち、1ラ
イン内の最後)のLUTデータを、メモリアクセス回路MA2のデータキュー52から読
み出し、そのLUTデータに基づいて、第(n−1)のRGBデータを第(n−1)のC
YMKデータへ色変換する(ステップS221)。また、CPU6aは、色変換後のCY
MKデータに対して、エッジ判定(ステップS216)により得られたエッジ情報に基づ
いてスムージングを施す(ステップS222)。さらに、CPU6aは、内部RAM6b
からエンコードテーブルデータを読み出し、そのエンコードテーブルデータに基づいて、
第(n−1)のCYMKデータをエンコードし(ステップS223)、エンコード後のデ
ータを中間データバッファ12に格納する(ステップS224)。
その後、CPU6aは、カウンタjの値をインクリメントして(n+1)(j=n+1
)とする(ステップS225)。このため、CPU6aは、ステップS213において、
カウンタjの値がnより大きいと判定し、1ライン分の処理(ステップS204,S21
1〜S225)を完了する。
このようにして、メモリアクセス回路MA1−1,MA2,MA3−1は、処理に必要
なデータ(RGBデータ、LUTテーブルデータおよびエンコードテーブルデータ)を、
プロセッサ6とは独立に、かつプロセッサ6の処理と並行してバス9を介してDRAM8
から読み出し、バス9を介さずにプロセッサ6に提供する。
次に、プロセッサ7における画像処理について説明する。プロセッサ7は、画像データ
を1ラインごと処理する。ただし、画像データの単位は、ブロック(つまり、1エンコー
ドデータ)とされる。図16は、プロセッサ7での1ライン分の画像データに対する画像
処理を説明するフローチャートである。図17は、イメージバッファ13の各領域を示す
図である。図18は、図16の画像処理のデータフローを説明する図である。図17に示
すように、イメージバッファ13には、画像に対応してインクを印刷ヘッドのノズルから
吐出する有効ノズル領域が存在する。そして、印刷ヘッドの位置によっては、NULL領
域が存在する。NULL領域は、印刷用紙のない領域や余白領域に対応する領域で、印刷
ヘッドのインクノズル配列のうち、インクを吐出しないノズル領域である。イメージバッ
ファ13には、印刷ヘッドの1回の走査に必要な2値化データが格納される。つまり、1
回の走査に使用するノズル数と走査方向におけるドット位置の数との積の2値化データが
イメージバッファ13に格納される。なお、インタレース処理によりインク吐出が行われ
る場合には、1回の走査に必要な2値化データが選択されてイメージバッファ13に格納
される。インタレース処理としては、例えば特許第3371302号明細書に開示されて
いる処理がある。なお、NULL領域の有無や位置の情報はプロセッサ1から供給される
図16に示すように、まず、処理すべき上端NULL領域があるか否かが判定され(ス
テップS301)、処理すべき上端NULL領域がある場合、1ライン分のNULLデー
タ(つまりインクを吐出しないためのデータ)が8ラインバッファに書き込まれる(ステ
ップS302)。8ラインバッファへの書き込みが完了すると、8ラインバッファに8ラ
イン分のデータが格納されているか否かが判定され(ステップS303)、8ラインバッ
ファに8ライン分のデータが格納されている場合には、8ラインバッファに格納されてい
るデータは、行と列を交換されて回転された後、イメージバッファ13に格納される(ス
テップS304)。図19は、2値化データの並べ替えについて説明する図である。印刷
ヘッドに供給されるデータは、印刷ヘッドの走査方向に沿って配置されている必要がある
。つまり、最初のインク吐出に必要なデータがイメージバッファ13の先頭に配置され、
印刷ヘッドが移動した後の次のインク吐出に必要なデータがその次に配置されている必要
がある。一方、通常の画像データは、画像ファイル内で、画像の左から右へ向かって1ラ
インずつ配列している。このため、画像データを回転させる。
そして、処理すべき上端NULL領域がなくなるまで、ステップS302〜S304の
処理が繰り返し実行される。
処理すべき上端NULL領域がないと、次に、処理すべき有効ノズル領域があるか否か
が判定される(ステップS305)。処理すべき有効ノズル領域がある場合、1ライン分
の中間データがデコードされて2値化データが生成され、1ライン分の2値化データが8
ラインバッファに格納される(ステップS306)。8ラインバッファへの書き込みが完
了すると、8ラインバッファに8ライン分のデータが格納されているか否かが判定され(
ステップS307)、8ラインバッファに8ライン分のデータが格納されている場合には
、8ラインバッファに格納されているデータは、行と列を交換されて回転された後、イメ
ージバッファ13に格納される(ステップS308)。そして、処理すべき有効ノズル領
域がなくなるまで、ステップS306〜S308の処理が繰り返し実行される。
処理すべき有効ノズル領域がなくなると、次に、処理すべき残りの領域(つまり、下端
NULL領域)があるか否かが判定される(ステップS309)。処理すべき下端NUL
L領域がある場合、1ライン分のNULLデータが8ラインバッファに書き込まれる(ス
テップS310)。8ラインバッファへの書き込みが完了すると、8ラインバッファに8
ライン分のデータが格納されているか否かが判定され(ステップS311)、8ラインバ
ッファに8ライン分のデータが格納されている場合には、8ラインバッファに格納されて
いるデータは、行と列を交換されて回転された後、イメージバッファ13に格納される(
ステップS312)。そして、処理すべき下端NULL領域がなくなるまで、ステップS
310〜S312の処理が繰り返し実行される。
このようにして、イメージバッファ13の高さ分の2値化データが生成される。そのデ
ータは、印刷ヘッドの1回の走査で使用された後、消去され、次の走査で必要な2値化デ
ータが生成される。
図20は、実施の形態1におけるプロセッサ7の動作を説明するフローチャートである
。図21は、図20のステップS411の処理の詳細を説明するフローチャートである。
図22は、図20および図21に示すプロセッサ7の動作時のデータフローを説明する図
である。プロセッサ7へのデータ供給には、2つのメモリアクセス回路MA1−2,MA
3−2が使用される。したがって、プロセッサ7は、メモリアクセス回路MA1−2に対
しては図4(B)の処理手順で動作し、メモリアクセス回路MA3−2に対しては図10
(B)の処理手順で動作する。つまり、図20のステップS410,S411の処理が、
図10(B)のステップS65の処理に相当する。また、図21のステップS423〜S
425の処理が、図4(B)のステップS13の処理に相当する。
上端NULL領域についての処理(ステップS401〜S404)は、上述の上端NU
LL領域についての処理(ステップS301〜S304)と同様であるので、その説明を
省略する。また、下端NULL領域についての処理(ステップS414〜S417)も、
上述の下端NULL領域についての処理(ステップS309〜S312)と同様であるの
で、その説明を省略する。
処理すべき上端NULL領域がないと、まず、CPU7aは、処理すべき有効ノズル領
域があるか否かを判定する(ステップS405)。処理すべき有効ノズル領域があると、
CPU7aは、最初のラインについてのみ(ステップS406)、メモリアクセス回路M
A3−2に、最初のライン用のデコードテーブルデータの先頭アドレスとデータ長を供給
して最初のライン用のデコードテーブルデータをDRAM8から読み出し内部RAM7b
に書き込ませ(ステップS407)、デコードテーブルデータが内部RAM7bに書き込
まれるまで待機する(ステップS408)。
デコードテーブルデータが内部RAM7bに書き込まれると、CPU7aは、メモリア
クセス回路MA3−2に、次のライン用のデコードテーブルデータの先頭アドレスとデー
タ長を供給する(ステップS409)。また、CPU7aは、中間データバッファ12の
先頭アドレスと1ライン分のデータ数をメモリアクセス回路MA1−2に供給する(ステ
ップS410)。
メモリアクセス回路MA3−2は、アドレスとデータ長を供給されると、動作を開始し
、そのデコードテーブルデータをDRAM8から読み出し内部RAM7bに書き込む。ま
た、メモリアクセス回路MA1−2は、アドレスとデータ数を供給されると、動作を開始
し、エンコードデータ(すなわち、入力データ)をDRAM8から読み出しデータキュー
41に格納する。
その後、CPU7aは、メモリアクセス回路MA1−2のデータキュー41からエンコ
ードデータを順次読み出し、内部RAM7bに格納されているデコードテーブルデータに
基づいて1ライン分のデコード処理を行い、デコード処理で生成された1ライン分の2値
化データを8ラインバッファ17に格納する(ステップS411)。
エンコードデータは、図22に示すように、メモリアクセス回路MA1−2のデータキ
ュー41からCPU7a内の入力レジスタ71へ読み込まれる(ステップS421)。次
に、CPU7aは、入力レジスタ71から1要素データ(1エンコードデータ)を取得し
、図22に示すように内部RAM7bのデコードテーブルバッファ23に格納されている
デコードテーブルデータに基づいてデコードする。そして、CPU7aは、1ブロック分
の2値化データを生成し(ステップS423)、その1ブロック分の2値化データから、
処理対象ラインの2値化データのみを抽出し(ステップS424)、出力レジスタ72に
格納する(ステップS425)。入力レジスタ71内のデータが順次選択され処理されて
いき(ステップS431)、出力レジスタ72がデータで埋まると(ステップS426)
、CPU7aは、2値化データを8ラインバッファ17へ格納する(ステップS427)
。また、入力レジスタ71内の全要素データを処理したら(ステップS428)、後続の
データがデータキュー41から入力レジスタ71に読み込まれる(ステップS429)。
そして、1ラインの全要素について処理が完了すると(ステップS430)、ステップS
410の処理が完了する。なお、入力レジスタ71および出力レジスタ72は、CPU7
a内に設けられた128ビットのレジスタである。
このようにして8ラインバッファ17への1ライン分の2値化データの書き込みが完了
すると、CPU7aは、8ラインバッファ17に8ライン分のデータが格納されているか
否かを判定する(ステップS412)。8ラインバッファ17に8ライン分のデータが格
納されている場合には、CPU7aは、8ラインバッファ17に格納されているデータを
、内部RAM7bにおける作業バッファ24を使用して行と列を交換して、イメージバッ
ファ13に格納する(ステップS413)。図23は、プロセッサ7による2値化データ
の並べ替え動作について説明する図である。図23に示すように、8ラインバッファ17
から読み出されたデータは、そのまま作業バッファ24に格納される。そして、作業バッ
ファ24に格納されたデータは、一定間隔で読み出されて、イメージバッファ13に格納
される。なお、DRAM8に対する直接のアクセス回数を減らすために、作業バッファ2
4の列および行のビット数分の連続データが、1回のアクセスでDRAM8内の連続する
記憶領域に対して読み書きされる。例えば、1ビットの2値化データを使用し8ノズル分
ごとに印刷ヘッドへデータを供給する場合、8ビットを単位として並べ替えが行われる。
また、作業バッファ24の列および行のビット数は、DRAM8へのデータアクセス時の
単位(例えば128ビット)と同一とされる。
そして、処理すべき有効ノズル領域がなくなるまで、ステップS408〜S412の処
理が繰り返し実行される。
このようにして、メモリアクセス回路MA1−2,MA3−2は、処理に必要なデータ
(エンコードデータおよびデコードテーブルデータ)を、プロセッサ7とは独立に、かつ
プロセッサ7の処理と並行してバス9を介してDRAM8から読み出し、バス9を介さず
にプロセッサ7に提供する。
実施の形態2.
本発明の実施の形態2に係る画像処理装置は、ハーフトーン処理の方式としてディザ方
式を使用するものである。実施の形態1では、プロセッサ6およびプロセッサ7の2つの
プロセッサによりハーフトーン処理が実行されるが、実施の形態2では、1つのプロセッ
サ6によりディザ方式のハーフトーン処理が実行される。図24は、実施の形態2に係る
画像処理装置のうち、プロセッサ6,7によるデータ処理に関連する構成を示すブロック
図である。実施の形態2では、エンコードテーブル15およびエンコードテーブルバッフ
ァ22の代わりに、ディザマトリクスデータ81およびディザマトリクスバッファ82が
設けられる。DRAM8にディザマトリクスデータ81が格納され、メモリアクセス回路
MA3−1は、ディザマトリクスデータ81を読み出し、内部RAM6bにおけるディザ
マトリクスバッファ82に格納する。また、実施の形態2には、デコードテーブル16、
メモリアクセス回路MA3−2およびデコードテーブルバッファ23は存在しない。実施
の形態2では、プロセッサ6は、ディザ方式のハーフトーン処理を実行し、プロセッサ7
は、ハーフトーン処理を行わない。なお、図24におけるその他の構成については、実施
の形態1(図2)のものと同様であるので、その説明を省略する。
次に、上記装置の動作について説明する。まず、実施の形態2におけるプロセッサ6の
動作について説明する。図25は、実施の形態2におけるプロセッサ6の動作を説明する
フローチャートである。図26は、図25に示すプロセッサ6の動作時のデータフローを
説明する図である。図25に示すように、実施の形態2におけるプロセッサ6のCPU6
aは、各ライン用のエンコードテーブルデータの代わりにディザマトリクスデータをメモ
リアクセス回路MA3−1に要求する(ステップS201a,S204a)。メモリアク
セス回路MA3−1は、指定されたディザマトリクスデータ81をDRAM8から読み出
し、内部RAM6bに格納する。そして、CPU6aは、図26に示すように、内部RA
M6bのディザマトリクスバッファ82からディザマトリクスデータを読み出し、ハーフ
トーン処理を実行し(ステップS223a)、2値化されたデータを中間データとして中
間データバッファ12に格納する(ステップS224)。
なお、実施の形態2におけるプロセッサ6のその他の動作については、実施の形態1の
ものと同様であるので、その説明を省略する。
次に、実施の形態2におけるプロセッサ7の動作について説明する。図27は、実施の
形態2におけるプロセッサ7の動作を説明するフローチャートである。図28は、図27
のステップS502の処理の詳細を説明するフローチャートである。図29は、図27お
よび図28に示すプロセッサ7の動作時のデータフローを説明する図である。図27に示
すように、上端NULL領域に関する処理(ステップS401〜S404)および下端N
ULL領域に関する処理(ステップS414〜S417)については、実施の形態1の場
合と同様であるので、その説明を省略し、ここでは、有効ノズル領域に関する処理につい
て説明する。
実施の形態2では、プロセッサ6によりハーフトーン処理が実行され、中間データとし
て2値化後のデータが中間データバッファ12に格納される。したがって、プロセッサ7
の入力データは、既に2値化されている。そのため、プロセッサ7は、データの抽出およ
び並べ替えを行って、イメージバッファ17用の2値化データを生成する。
プロセッサ7のCPU7aは、処理すべき有効ノズル領域があるか否かを判定する(ス
テップS501)。処理すべき有効ノズル領域がある場合、CPU7aは、メモリアクセ
ス回路MA1−2のデータバッファ41から中間データを読み込み、1ラインの2値化デ
ータに必要な2値化データを8ラインバッファ17に格納する(ステップS502)。な
お、ディザ方式においても、ブロック単位で2値化が行われるため、ブロック単位で中間
データは配列されている。このため、各ブロックの2値化データから、1ラインに必要な
2値化データが抽出される。
その際、図29に示すように、中間データが入力レジスタ71へロードされ(ステップ
S511)、CPU7aは、入力レジスタ71にロードされた中間データから1ラインの
2値化データに必要なデータを抽出し(ステップS512)、出力レジスタ72に格納す
る(ステップS513)。入力レジスタ71にロードされた全データが処理されると後続
のデータが入力レジスタ71に読み出される。また、出力レジスタ72がデータで埋まる
と、出力レジスタ72内のデータは、8ラインバッファ17に格納され(ステップS51
4)、その後、消去される。ステップS511〜S514の処理は、1ラインの2値化デ
ータが生成されるまで(ステップS515)、繰り返し実行される。
8ラインバッファ17への書き込みが完了すると、CPU7aは、8ラインバッファ1
7に8ライン分のデータが格納されているか否かを判定し(ステップS503)、8ライ
ンバッファ17に8ライン分のデータが格納されている場合には、8ラインバッファ17
に格納されているデータを、行と列を交換した後、イメージバッファ13に格納する(ス
テップS504)。
実施の形態3.
本発明の実施の形態3に係る画像処理装置は、ハーフトーン処理の方式として誤差拡散
方式を使用するものである。実施の形態1では、プロセッサ6およびプロセッサ7の2つ
のプロセッサによりハーフトーン処理が実行されるが、実施の形態3では、プロセッサ6
により誤差拡散方式のハーフトーン処理が実行される。実施の形態3におけるハーフトー
ン処理の誤差拡散方式は、例えば特開2002−199220号公報に開示されているも
のであり、誤差データを逐次的に読み込んで1ライン分のハーフトーン処理を実行可能な
ものである。
図30は、実施の形態3に係る画像処理装置のうち、プロセッサ6,7によるデータ処
理に関連する構成を示すブロック図である。実施の形態3では、実施の形態1のエンコー
ドテーブル15、メモリアクセス回路MA3−1およびエンコードテーブルバッファ22
の代わりに、誤差バッファ91およびメモリアクセス回路MA1−3が設けられる。DR
AM8には誤差バッファ91が設けられ、CPU6aによるハーフトーン処理時の誤差デ
ータが格納される。メモリアクセス回路MA1−3は、メモリアクセス回路MA1−1,
MA1−2と同様のものであり、DRAM8の誤差バッファ91から誤差データを順次読
み出し、データキュー41に格納する。
なお、図30におけるその他の構成については、実施の形態1または実施の形態2のも
のと同様であるので、その説明を省略する。実施の形態3におけるプロセッサ7およびメ
モリアクセス回路MA1−2の構成および動作については、実施の形態2のものと同様で
あるので、その説明を省略する。
次に、上記装置の動作について説明する。図31は、実施の形態3におけるプロセッサ
6の動作を説明するフローチャートである。実施の形態3では、メモリアクセス回路MA
1−1,MA1−3により、プロセッサ6に、RGBデータおよび誤差データが提供され
る。各ラインの処理の最初に、CPU6aは、誤差バッファの先頭アドレスおよびデータ
数を指定してメモリアクセス回路MA1−3を起動し(ステップS601)、RGBデー
タバッファ11の先頭アドレスおよびデータ数を指定してメモリアクセス回路MA1−1
を起動する(ステップS211)。そして、ハーフトーン処理時には、CPU6aは、内
部RAM6bに格納されている誤差データを参照しつつ誤差拡散方式の処理を行い、発生
した誤差データを誤差バッファ91に格納する(ステップS223b)。そして、CPU
6aは、2値化されたデータを中間データとして中間データバッファ12に格納する(ス
テップS224)。
なお、実施の形態3におけるプロセッサ6のその他の動作については、実施の形態1ま
たは実施の形態2のものと同様であるので、その説明を省略する。
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定さ
れるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能で
ある。例えば、上記各実施の形態のハーフトーン処理において、2値化データではなく4
値化データを生成するようにしてもよい。4値化データはドットの有無とドットのサイズ
を2ビットで表すデータである。したがって、印刷ヘッドへ8要素ごとにデータを供給す
る場合には、16ビット単位でデータが供給される。また、8ラインバッファ17および
イメージバッファ13のサイズも、印刷ヘッドに供給されるデータ単位のサイズに応じて
変更してもよい。また、上記各実施の形態におけるカウンタには、CPU6a,7a内部
のレジスタまたは内部RAM6b,7bの記憶領域が使用される。
本発明は、例えば、複数のプロセッサを有するプリンタに適用可能である。
本発明の実施の形態1に係る画像処理装置の構成図である。 実施の形態1におけるプロセッサ6,7周辺の構成図である。 メモリアクセス回路MA1およびその周辺の構成図である。 メモリアクセス回路MA1使用時のプロセッサ動作を説明する図である。 メモリアクセス回路MA1使用時の処理スケジュール例を示す図である。 メモリアクセス回路MA2およびその周辺の構成図である。 メモリアクセス回路MA2使用時のプロセッサ動作を説明する図である。 メモリアクセス回路MA2使用時の処理スケジュール例を示す図である。 メモリアクセス回路MA3の周辺の構成を示すブロック図である。 メモリアクセス回路MA3使用時のプロセッサ動作を説明する図である。 メモリアクセス回路MA3使用時の処理スケジュール例を示す図である。 プロセッサ6での画像処理を説明するフローチャートである。 図12の画像処理のデータフローを説明する図である。 実施の形態1におけるプロセッサ6の動作を説明する図である。 図14に示すプロセッサ動作時のデータフローを説明する図である。 プロセッサ7での画像処理を説明するフローチャートである。 イメージバッファの各領域を示す図である。 図16の画像処理のデータフローを説明する図である。 2値化データの並べ替えについて説明する図である。 実施の形態1におけるプロセッサ7の動作を説明する図である。 図20のステップS411の処理の詳細を説明する図である。 図20に示すプロセッサ動作時のデータフローを説明する図である。 プロセッサ7による2値化データの並べ替え動作を説明する図である。 実施の形態2におけるプロセッサ6,7周辺の構成図である。 実施の形態2におけるプロセッサ6の動作を説明する図である。 図25に示すプロセッサ動作時のデータフローを説明する図である。 実施の形態2におけるプロセッサ7の動作を説明する図である。 図27のステップS502の処理の詳細を説明する図である。 図27に示すプロセッサ動作時のデータフローを説明する図である。 実施の形態3におけるプロセッサ6,7周辺の構成図である。 実施の形態3におけるプロセッサ6の動作を説明する図である。
符号の説明
6,7 プロセッサ(演算処理手段)、6b,7b 内部RAM(内部メモリ)、8
DRAM(メモリ)、9 バス、14 LUT(テーブル)、15 エンコードテーブル
(テーブル)、16 デコードテーブル(テーブル)、41 データキュー、42 制御
回路、51 アドレスキュー、52 データキュー、53 制御回路、MA1−1,MA
1−2 メモリアクセス回路(第1のメモリアクセス手段)、MA2,MA3−1,MA
3−2,MA1−3 メモリアクセス回路(第2のメモリアクセス手段)。

Claims (8)

  1. 複数の演算処理手段と、メモリと、上記複数の演算処理手段のそれぞれと上記メモリと
    を接続するバスとを備える画像処理装置において、
    上記複数の演算処理手段のうちのいずれか1つの演算処理手段であって、テーブルを使
    用して、一連の画像データに対して画像処理を順次施す演算処理手段と、
    上記演算処理手段とは独立に動作し上記演算処理手段の画像処理と並行して、上記バス
    を介して上記メモリから上記画像データを取得し上記バスを介さずに上記演算処理手段に
    供給する第1のメモリアクセス手段と、
    上記演算処理手段とは独立に動作し上記演算処理手段の画像処理と並行して、上記バス
    を介して上記メモリから上記テーブルを取得し上記バスを介さずに上記演算処理手段に供
    給する第2のメモリアクセス手段と、
    を備えることを特徴とする画像処理装置。
  2. 前記第2のメモリアクセス手段は、前記バスを介して前記メモリからルックアップテー
    ブルを取得して前記バスを介さずに前記演算処理手段に供給し、
    前記演算処理手段は、そのルックアップテーブルを使用して、画像データに対して色変
    換処理を施すこと、
    を特徴とする請求項1記載の画像処理装置。
  3. 前記第2のメモリアクセス手段は、ハーフトーン処理に使用するテーブルを前記バスを
    介して前記メモリから取得して、前記バスを介さずに前記演算処理手段に供給し、
    前記演算処理手段は、そのテーブルを使用して、画像データに対してハーフトーン処理
    を施すこと、
    を特徴とする請求項1記載の画像処理装置。
  4. 前記第1のメモリアクセス手段は、前記演算処理手段が前記バスを介さずに読み取り可
    能なデータキューと、前記演算処理手段から先頭アドレスを取得すると、その先頭アドレ
    スから順番に画像データを前記メモリから前記バスを介して取得し上記データキューに格
    納する制御回路とを有することを特徴とする請求項1記載の画像処理装置。
  5. 前記第2のメモリアクセス手段は、前記演算処理手段が前記バスを介さずに書き込み可
    能なアドレスキューと、前記演算処理手段が前記バスを介さずに読み取り可能なデータキ
    ューと、前記アドレスキューに格納されたアドレスを取得し、前記テーブルのうち、その
    アドレスのデータを前記メモリから前記バスを介して取得し上記データキューに格納する
    制御回路とを有することを特徴とする請求項1から請求項3のうちのいずれか1項記載の
    画像処理装置。
  6. 前記演算処理手段は、少なくとも2つのバンクを有する内部メモリを有し、
    前記第2のメモリアクセス手段は、前記演算処理手段から先頭アドレスを取得すると、
    その先頭アドレスから所定長のデータを前記メモリから前記バスを介して取得し、上記内
    部メモリの一方のバンクおよび他方のバンクのいずれかに交互に格納すること、
    を特徴とする請求項1または請求項3記載の画像処理装置。
  7. 請求項1から請求項6のうちのいずれか1項記載の画像処理装置を備え、その画像処理
    装置により画像処理を施されて得られたデータに基づいて印刷処理を行うことを特徴とす
    る印刷装置。
  8. 複数の演算処理手段と、メモリと、上記複数の演算処理手段のそれぞれと上記メモリと
    を接続するバスとを備える画像処理装置を使用する画像処理方法において、
    上記複数の演算処理手段のうちのいずれか1つの演算処理手段により、テーブルを使用
    して、一連の画像データに対して画像処理を順次施すステップと、
    上記演算処理手段の画像処理と並行して、上記バスを介して上記メモリから上記画像デ
    ータを取得して上記バスを介さずに上記演算処理手段に供給するステップと、
    上記演算処理手段の画像処理と並行して、上記バスを介して上記メモリから上記テーブ
    ルを取得して上記バスを介さずに上記演算処理手段に供給するステップと、
    を備えることを特徴とする画像処理方法。
JP2006116490A 2006-04-20 2006-04-20 画像処理装置および印刷装置 Expired - Fee Related JP4867452B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006116490A JP4867452B2 (ja) 2006-04-20 2006-04-20 画像処理装置および印刷装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006116490A JP4867452B2 (ja) 2006-04-20 2006-04-20 画像処理装置および印刷装置

Publications (2)

Publication Number Publication Date
JP2007287072A true JP2007287072A (ja) 2007-11-01
JP4867452B2 JP4867452B2 (ja) 2012-02-01

Family

ID=38758761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006116490A Expired - Fee Related JP4867452B2 (ja) 2006-04-20 2006-04-20 画像処理装置および印刷装置

Country Status (1)

Country Link
JP (1) JP4867452B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015198395A1 (ja) * 2014-06-24 2015-12-30 株式会社日立製作所 並列計算装置及びその制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05128240A (ja) * 1991-10-31 1993-05-25 Fujitsu General Ltd 画像処理装置の画像デ−タ転送方式
JPH06324999A (ja) * 1993-05-14 1994-11-25 Hitachi Ltd マルチプロセッサシステム
JPH11250228A (ja) * 1998-03-05 1999-09-17 Hitachi Ltd 画像処理装置及び画像処理システム
JP2001175632A (ja) * 2000-10-10 2001-06-29 Hitachi Ltd マルチプロセッサシステム
JP2004355049A (ja) * 2003-05-26 2004-12-16 Sony Corp プロセッサシステム
JP2005260424A (ja) * 2004-03-10 2005-09-22 Seiko Epson Corp 画像処理を並列処理で実行する際の負荷の割り付け

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05128240A (ja) * 1991-10-31 1993-05-25 Fujitsu General Ltd 画像処理装置の画像デ−タ転送方式
JPH06324999A (ja) * 1993-05-14 1994-11-25 Hitachi Ltd マルチプロセッサシステム
JPH11250228A (ja) * 1998-03-05 1999-09-17 Hitachi Ltd 画像処理装置及び画像処理システム
JP2001175632A (ja) * 2000-10-10 2001-06-29 Hitachi Ltd マルチプロセッサシステム
JP2004355049A (ja) * 2003-05-26 2004-12-16 Sony Corp プロセッサシステム
JP2005260424A (ja) * 2004-03-10 2005-09-22 Seiko Epson Corp 画像処理を並列処理で実行する際の負荷の割り付け

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015198395A1 (ja) * 2014-06-24 2015-12-30 株式会社日立製作所 並列計算装置及びその制御方法

Also Published As

Publication number Publication date
JP4867452B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
JP2010282429A (ja) 画像処理装置及びその制御方法
US6860203B2 (en) Method and apparatus for printing computer generated images
JP4867452B2 (ja) 画像処理装置および印刷装置
JP6772020B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
US20050285871A1 (en) Image-processing circuit, electronic apparatus, and method for processing image
JPH08183207A (ja) カラーイメージデータ制御方法
JP3912372B2 (ja) カラー画像処理装置
US20220332126A1 (en) Image processing apparatus, method of controlling the same, and storage medium
JP5151328B2 (ja) 画像形成装置,画像転送方法,プログラム,および記録媒体
JP2005109856A (ja) 画像回転回路及びそれを有する画像処理装置
JP2008060730A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
JP2000184197A (ja) 画像処理装置
JP2005128632A (ja) 画像処理装置及びその方法、プリンタシステム
JP2005305833A (ja) 印刷装置
JP5826147B2 (ja) 画像形成装置
JP5899860B2 (ja) 印刷装置および印刷装置の印刷方法
AU767448B2 (en) Method and apparatus for printing computer generated images
JP4765590B2 (ja) 印刷装置及びその制御方法
JP2020185686A (ja) 画像処理装置。
JP2022049520A (ja) データ転送装置、複合機、データ転送装置の制御方法およびプログラム
JP2005050341A (ja) 画像処理装置およびその方法
JP2004120714A (ja) 複合機
JP2010226516A (ja) 画像処理装置
JPH0591292A (ja) 記録装置
JPH04314260A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

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: 20111018

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: 20111031

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: 20141125

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees