JP2007306445A - 画像データ変換装置 - Google Patents

画像データ変換装置 Download PDF

Info

Publication number
JP2007306445A
JP2007306445A JP2006134655A JP2006134655A JP2007306445A JP 2007306445 A JP2007306445 A JP 2007306445A JP 2006134655 A JP2006134655 A JP 2006134655A JP 2006134655 A JP2006134655 A JP 2006134655A JP 2007306445 A JP2007306445 A JP 2007306445A
Authority
JP
Japan
Prior art keywords
pixel
image data
pixels
processing
color conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006134655A
Other languages
English (en)
Inventor
Shuji Otsuka
修司 大▲塚▼
Keiji So
慶治 荘
Takeya Akiyama
健也 秋山
Kazumasa Obikawa
一誠 帯川
Yoshikuni Shimazawa
嘉邦 島沢
Osamu Shibata
理 芝田
Yoshiki Tanaka
美喜 田中
Ryuichi Tsuji
龍一 辻
Fumitaka Sugimoto
文孝 杉本
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 JP2006134655A priority Critical patent/JP2007306445A/ja
Publication of JP2007306445A publication Critical patent/JP2007306445A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】変換テーブルを外部メモリから読み出して画像データ変換を行うと、大きなレイテンシが生じて変換処理の高速化を十分に図ることが困難であった。
【解決手段】複数の画素の階調値を順番に取得する画像データ取得部と、各画素のテーブル入力値を算出するテーブル入力値算出部と、テーブル入力値を用いて変換テーブルを参照し、テーブル出力値を読み出すテーブル出力値読出部と、変換後の階調値を取得して所定記憶領域に書き込む画像データ書込部と、を備えた画像データ変換装置において、任意の画素について、階調値の取得とテーブル入力値の算出とを含む上流側処理を実行した後であって、かつ、その画素について、テーブル出力値の読み出しと変換後の階調値の所定記憶領域への書き込みとを含む下流側処理を実行する前において、その画素に先行する画素の下流側処理と、その画素に後続する画素の上流側処理と、のうちの少なくとも一方を実行する。
【選択図】図1

Description

本発明は、変換テーブルを用いた画像データ変換処理に関する。
近年、パーソナルコンピュータやプリンタ等の画像処理を行う装置の発達に伴い、これら画像処理装置において種々の画像処理が行われている。例えば、プリンタにおける画像処理の1つとして、第1の表色系(例えばRGB表色系)で表現された画像データを第2の表色系(例えばCMYK表色系)で表現された画像データへと変換する色変換処理がある。色変換処理は、一般に、色変換三次元ルックアップテーブル(以下「色変換LUT」と呼ぶ)を用いて実行される。色変換LUTは、第1の表色系を表す色空間内に格子状に配置された複数の格子点のそれぞれについての第1の表色系における入力階調値と第2の表色系における出力階調値との対応を示す色変換データを含むテーブルである。
この色変換LUTが外部メモリに格納されている場合には、色変換データを得るのに外部メモリアクセスに伴うので、レイテンシの増加が発生し得る。そこで、色変換処理を実行するプロセッサ内にキャッシュメモリを設け、色変換LUTから読み出した色変換データをキャッシュメモリに一時的に記憶させておき、このキャッシュメモリから色変換データを読み出すことで、レイテンシの増加を抑制する色変換処理方法が提案されている(下記特許文献1参照)。
特開2003−289449号公報
一般に、キャッシュメモリの容量は比較的小さい(16KBや128KB程度)ことから、色変換LUTの一部のみがキャッシュメモリに記憶される。それ故、前述のキャッシュを用いた色変換処理方法を採用しても、キャッシュメモリに記憶されていない色変換データを用いて色変換処理を行う際には、外部メモリアクセスが発生することとなる。その結果、レイテンシが増加して、色変換処理の高速化を十分に図ることが困難であるという問題があった。
また、上述した問題は、色変換処理に限らず、ガンマ補正や、シャープネスや明るさ等を調整する処理においても、外部メモリに記憶されている変換テーブルを用いて画像データの変換を行う場合には共通する問題であった。
本発明は、上述した従来の課題を解決するためになされたものであり、画像データ変換処理の高速化を実現することを可能とする技術を提供することを目的とする。
上記目的を達成するために、本発明は、画像データ変換装置であって、複数の画素の階調値を順番に取得する画像データ取得部と、各画素の階調値に基づき、その画素について変換テーブルを参照する際に用いるテーブル入力値を算出するテーブル入力値算出部と、各画素について、前記テーブル入力値を用いて前記変換テーブルを参照し、テーブル出力値を読み出すテーブル出力値読出部と、前記テーブル出力値に基づき、各画素の変換後の階調値を取得して所定記憶領域に書き込む画像データ書込部と、を備え、前記複数の画素のうちの任意の画素について、前記画像データ取得部による前記階調値の取得と、前記テーブル入力値算出部による前記テーブル入力値の算出と、を含む上流側処理が実行された後であって、かつ、その画素について、前記テーブル出力値読出部による前記テーブル出力値の読み出しと、前記画像データ書込部による変換後の階調値の前記所定記憶領域への書き込みと、を含む下流側処理が実行される前において、その画素に先行する画素についての前記下流側処理と、その画素に後続する画素についての前記上流側処理と、のうちの少なくとも一方が実行されることを要旨とする。
このように、本発明の画像データ変換装置では、任意の画素について、上流側処理の実行後、かつ、下流側処理の実行前において、先行する画素についての下流側処理と、後続する画素についての上流側処理と、のうちの少なくとも一方が実行されるので、変換テーブルが外部メモリに格納されており、変換テーブルを参照してテーブル出力値を読み出すのに比較的長時間を要するような場合でも、各画素についての下流側処理が実行されるまでにテーブル出力値を読み出すことができ、各画素の変換後の階調値を次々と所定記憶領域に書き込むこと可能となって、画像データ変換処理の高速化を実現することができる。
上記画像データ変換装置において、前記画像データ取得部と、前記テーブル入力値算出部と、前記画像データ書込み部と、は、同一CPUを用いて構成されており、前記テーブル出力値読出し部は、前記CPUとは異なる他のハードウェアを用いて構成されていてもよい。
このようにすることで、変換テーブルを参照してテーブル出力値を読み出す処理を、他の処理(階調値の取得や、テーブル入力値の算出や、変換後の階調値の書込み)を行うCPUから切り離すことができ、CPUにおけるこれら他の処理の高速化を図ることができる。
上記画像データ変換装置は、各画素について、第1の表色系で表現された階調値を、第2の表色系で表現された階調値に変換するようにしてもよい。
このようにすることで、第1の表色系で表現された階調値を第2の表色系で表現された階調値に変換する色変換処理の高速化を実現することができる。
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像データ変換方法や、画像データ変換方法または画像データ変換装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
以下、本発明を実施するための最良の形態を実施例に基づいて以下の順序で説明する。
A.第1の実施例:
B.第2の実施例:
C.変形例:
A.第1の実施例:
A1.プリンタの概要構成:
図1は、本発明の一実施例としての画像データ変換装置を適用したプリンタの概要構成を示す説明図である。このプリンタ100は、制御回路20と、外部メモリ40と、プリンタエンジン50と、メモリカードスロット60と、カードインタフェース部62と、操作部64と、表示部66と、を備えている。
プリンタエンジン50は、インクカートリッジを搭載したキャリッジ(図示省略)や、このキャリッジを駆動するモータなどを備え、印刷データPDに基づき実際に印刷を実行する機構である。カードインタフェース部62は、メモリカードスロット60に挿入されたメモリカードMCとの間でデータのやり取りを行う。操作部64は、操作ボタン等を備える。表示部66は、液晶モニタを備え、各種メニュー画面やサムネイル画像等を表示する。
制御回路20は、解像度変換部24aと、色変換部24bと、ハーフトーン処理部24cと、データ配列部24dと、メモリコントローラ24eと、を備えており、それぞれ内部バスで接続されている。解像度変換部24aは、カードインタフェース部62を介してメモリカードMCから読み出された画像データIMGの解像度を、色変換部24b以降の処理に適した解像度に変換する。なお、本実施例では、メモリカードMCに格納された画像データIMGは、各画素の階調値がRGB表色系で表現されたRGBデータであるものとする。色変換部24bは、解像度変換後の画像データIMGを、プリンタエンジン50における印刷に用いられる複数のインク色で階調表現されたインク階調値データINKに変換する。なお、本実施例では、プリンタエンジン50における印刷に用いられる複数のインク色は、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4色であるものとする。ハーフトーン処理部24cは、インク階調値データINKに基づいてハーフトーン処理を実行することによって、印刷画素毎のインクドットの形成状態を示すドットデータを生成する。データ配列部24dは、生成されたドットデータを配列して、印刷データPDとしてプリンタエンジン50に出力する。
メモリコントローラ24eは、解像度変換部24aや色変換部24bなどの上述した各機能部からの要求に応じて、外部メモリ40に対するデータ読出しやデータ書込みを行う。外部メモリ40には、色変換LUT42が格納されており、色変換部24bは、かかる色変換LUT42を用いて、画像データIMGをインク階調値データINKに変換する。
図2は、色変換LUT42の一例を示す説明図である。色変換LUT42は、第1の表色系を表す3次元の色空間内に格子状に配置された複数の格子点Pのそれぞれについての第1の表色系における階調値と第2の表色系における階調値との対応を示す色変換データCDを含むテーブルである。本実施例では、第1の表色系は、画像データIMGの表現に用いられるRGB表色系であり、第2の表色系は、インク階調値データINKの表現に用いられるCMYK表色系である。
図2(a)は、色変換LUT42における格子点Pの配置の一例を示す。格子点Pは、第1の表色系を表す色空間の各軸(R軸、G軸、B軸)のそれぞれに沿って設定された参照階調値の組み合わせにより特定される。参照階調値は、最小階調値(図2(a)の例では0)から最大階調値(図2(a)の例では255)までの間に、任意の数(例えば31個)だけ離散的に設定された階調値である。図2(a)には、色変換LUT42の各軸に沿った参照階調値の配置のイメージを破線で表現している。なお、図2(a)には、R=G=B=0である黒色点BkとR=G=B=255である白色点Wとを示している。
図2(b)は、色変換LUT42を構成する色変換データCDの内容の一例を示す。色変換LUT42は、格子点Pのそれぞれについて、RGB表色系における階調値(参照階調値)とCMYK表色系における階調値(インク階調値)との対応を示すデータ(色変換データCD)を有する。色変換LUT42では、B軸に沿った参照階調値は、階調値8毎に設定されている。同様にしてR軸およびG軸に沿った参照階調値も階調値8毎に設定されている。従って、色変換部24bは、画像データIMGにおける階調値(RGB)を、色変換LUT42のいずれかの格子点Pの参照階調値に変換した上で、色変換LUT42を参照してインク階調値を得るようにする。なお、外部メモリ40において各色変換データCDの格納アドレスは固定されており、色変換部24bは、変換して得られた参照階調値に基づいて色変換データCDの格納アドレスを求めることができる。
図3は、図1に示す色変換部24bの詳細構成を主として示す説明図である。色変換部24bは、CPU30と、アドレスバッファ32aと、データ受信バッファ32bと、RAM33と、ROM34と、ロード制御部36と、を備える。ロード制御部36は、メモリコントローラ24eに対して、色変換データCDの格納アドレスを指定してデータの読み出し要求を送信し、また、メモリコントローラ24eからの色変換データCDを受信して、データ受信バッファ32bに格納する。なお、アドレスバッファ32a及びデータ受信バッファ32bはいずれもFIFO(First-In Fist-Out)方式のバッファである。
ROM34には色変換用プログラムが格納されており、CPU30は、かかる色変換用プログラムを実行することにより、画像データ取得部30aとして機能すると共に、アドレス算出部30b,データ読出部30c,データ書込部30d及び色変換制御部31として、それぞれ機能することとなる。
なお、色変換部24bが請求項における画像データ変換装置に相当し、また、アドレス算出部30bが請求項におけるテーブル入力値算出部に、データ読出部30cが請求項におけるテーブル出力値読出部に、それぞれ相当する。
A2.色変換処理:
図4は、色変換部24bにおいて実行される色変換処理の手順を示すフローチャートである。図4において、左側はCPU30における手順を示し、右側はロード制御部36における手順を示す。ユーザが操作部64を操作して、表示部66に表示された初期メニューから画像データIMGを指定して印刷メニューを選択すると、画像データIMGがメモリカードMCから読み出されて解像度変換部24aに入力される。解像度変換部24aは、画像データIMGについて解像度変換を行い、解像度変換後の画像データIMGを図3に示すRAM33に格納する。そして、RAM33に画像データIMGが格納されると、色変換部24bによって色変換処理が実行される。
図4に示す色変換処理が開始されると、CPU30(図3)において色変換制御部31は、画像データIMGを構成する複数の画素の中から1つの画素を色変換の対象画素として選択する(ステップS205)。本実施例では、最初に画像の左上隅の画素が選択され、その後、右隣の画素が順に選択され、右端の画素の選択が終わると直下の行について同様に左から右に順に選択され、最後に画像の右下隅の画素が選択されるものとする。なお、以下において、各画素を、対象画素として選択された順番(対象画素番号)nを用いて「画素n」とも呼ぶ。
次に、画像データ取得部30aは、RAM33から、対象画素として選択された画素の階調値(RGB)を読み出す(ステップS210)。次にアドレス算出部30bは、読み出された階調値に基づいて参照階調値を求め、色変換データCDの格納アドレスADを決定してアドレスバッファ32aに格納する(ステップS215)。なお、以上のステップS210及びステップSS215の処理を「上流側処理」と呼ぶ。
次に、色変換制御部31は、先頭から3画素分の格納アドレスADがアドレスバッファ32aに格納済みであるか否かを判定する(ステップS220)。最初の画素(画素1)についてステップS215が実行された場合には、ステップS205に戻って次の対象画素(画素2)を選択し、以下ステップS205〜ステップS220の処理を繰り返す。
一方、ロード制御部36は、アドレスバッファ32aに格納された格納アドレスADを格納された順番に読み出し(ステップS305)、順次、格納アドレスADを指定して色変換データCDの読出し要求をメモリコントローラ24eに送信する(ステップS310)。メモリコントローラ24eは、受信した格納アドレスADから色変換データCDを順次読み出してロード制御部36に送信する。そして、ロード制御部36は、かかる色変換データCDを受信し、受信した順序でデータ受信バッファ32bに格納する(ステップS315)。
前述のように、CPU30において、ステップS205〜ステップS220の処理が繰り返され、先頭から3画素分の格納アドレスADがアドレスバッファ32aに格納されると、データ読出部30cは、データ受信バッファ32bから色変換データCDを読み出す(ステップS225)。
ここで、ロード制御部36が、格納アドレスADをアドレスバッファ32aから読み出して(ステップS305)から、色変換データCDをデータ受信バッファ32bに格納する(ステップS315)までに要する時間は、前述の上流側処理(及びステップS205の処理)を3画素分について繰り返し実行する時間よりも短いことが実験により求められている。従って、ステップS225の処理を最初に実行するときには、データ受信バッファ32bには、既に画素1についての色変換データCDが格納されていることとなる。
次に、データ書込部30dは、データ受信バッファ32bから読み出された色変換データCDに基づいてインク階調値を求め、インク階調値データINKをRAM33に書き込む(ステップS230)。なお、以上のステップS225及びステップSS235の処理を「下流側処理」と呼ぶ。
次に、色変換制御部31は、全ての画素を対象画素として選択したか否かを判定する(ステップS235)。そして、全ての画素を選択していないと判定された場合、上述したステップS205〜ステップS235の処理が、対象画素を順次替えながら実行される。
図5は、色変換処理において、各画素について実行される処理内容を模式的に示す説明図である。図5では、画素3〜画素6についてCPU30で実行される処理と、画素3についてロード制御部36で実行される処理と、を時刻の経過と共に示している。図5では、画素nについてのステップS210(図4)の処理を処理[na]と表し、また、ステップS215の処理を処理[nb]と、ステップS225の処理を処理[nc]と、ステップS230の処理を[nd]と、それぞれ表す。なお、図5では、図4に示す他の手順(ステップS205,S220,S235)については、説明の便宜上、省略している。
CPU30では、処理の高速化を目的として、処理[na]〜[nd]を、それぞれ5つのステージ(命令フェッチ(IF),命令デコード(RF),オペランドフェッチ(MEM),命令実行(EX),ライトバック(WB))に分けて、5段のパイプラインを形成している。なお、各ステージは、通常1クロックで動作するものとする。
ここで、画素3についての処理に着目すると、処理[3b]のWBステージでアドレスバッファ32aに画素3についての格納アドレスADが格納されると、ロード制御部36は、次の1クロックでアドレスバッファ32aから格納アドレスADを取得する。次に、ロード制御部36は、4クロックでメモリコントローラ24eを介して外部メモリ40から画素3についての色変換データCDを取得し、次の1クロックでデータ受信バッファ32bに色変換データCDを格納する。従って、ロード制御部36では、画素3について色変換データCDを取得するのに6クロックを要することとなる。
一方、画素3に先行する画素1,2については、色変換データCDが画素3の色変換データCDよりも前に、メモリコントローラ24eからロード制御部36に順次送信される(図示省略)。従って、これら画素1,2についての色変換データCDは、画素3の色変換データCDよりも前にデータ受信バッファ32bに格納されることとなる。それ故、CPU30では、画素3についての下流側処理を実行する前に、画素1,2についての下流側処理(処理[1c],[1d]及び処理[2c],[2d])を実行することができる。また、上流側処理については、下流側処理の影響を受けずに独立して実行可能であるので、CPU30では、画素3についての下流側処理を実行する前に、後続する画素の上流側処理を実行することができる。
そこで、図5の例では、画素3の上流側処理[3a],[3b]と下流側処理[3c],[3d]との間において、画素1の下流処理[1c],[1d]と、画素4の上流側処理[4a],[4b]と、画素2の下流側処理[2c],[2d]と、画素5の上流処理[5a],[5b]と、が実行されている。従って、上述したように色変換データCDを取得するのに6クロックを要することとなっても、処理[3c]のMEMステージで、データ受信バッファ32bから画素3の色変換データCDを読み出すまでには、かかる色変換データCDがデータ受信バッファ32bに格納されることとなる。
図4に戻って、ステップS235において全ての画素を対象画素として選択済みであると判定した場合、色変換制御部31は、全ての画素のインク階調値データINKがRAM33に格納されているか否かを判定する(ステップS240)。そして、全ての画素のインク階調値データINKがRAM33に格納されていないと判定した場合には、ステップS225〜S240を繰り返し実行する。これは、全ての画素を対象画素として選択して上流側処理を実行した後(ステップS235:YES)であっても、最後の2つの画素については下流側処理を実行していない場合があるからである。そして、最後の2つの画素について下流側処理が実行された場合、ステップS240において、全ての画素のインク階調値データINKがRAM33に格納されたと判定され、色変換処理は終了する。
以上のように、CPU30では、画素nについての上流側処理が終わった後(格納アドレスADをアドレスバッファ32aに格納した後)であって、かつ、下流側処理が開始される前(データ受信バッファ32bから色変換データCDを読み出す前)までの間に、先行する画素(画素(n−2),(n−1))の下流側処理及び後続する画素(画素(n+1),(n+2))の上流側処理を実行するようにしている。従って、画素nについて、色変換データCDを得るために外部メモリ40へのアクセスが発生しても、画素nの下流側処理が開始される前に、必要とする色変換データCDをデータ受信バッファ32bに格納することができる。それ故、色変換データCDを外部メモリ40から読み出すことにより、レイテンシが増加したとしても、各ステージを1クロックで処理するパイプラインを崩すことなく、各画素について次々と色変換を行うことができる。その結果、色変換処理の高速化を実現することができる。
A3.従来技術の比較例:
図6は、従来技術の比較例における色変換部の詳細構成を示す説明図である。この色変換部70は、ロード制御部36と、アドレスバッファ32aと、データ受信バッファ32bと、を備えていない点、及び、CPU72がキャッシュメモリCMを備えている点が、図3に示す色変換部24bと異なるものであり、他の構成については色変換部24bと同じである。この比較例では、前述の第1の実施例と異なり、CPU72がロード制御部24e(図3)を介さずに、直接メモリコントローラ24eを介して外部メモリ40から色変換データCDを読み出す構成である。
図7は、従来技術の比較例における色変換処理での処理内容を模式的に示す説明図である。図7では、画素3,4について、CPU72で実行される処理を、時刻の経過と共に示している。CPU72は、対象画素として選択された各画素nについて、処理[na],[nb'],[nc'],[nd]を順番に実行する。処理[na]及び処理[nd]は、第1の実施例と同じである。処理[nb']は、画像データIMGに基づき格納アドレスADを求める処理を示し、処理[nc']は、キャッシュメモリCMまたは外部メモリ40のいずれかから色変換データCDを読み出して、CPU72の内部レジスタ(図示省略)に書き込む処理を示す。ここで、外部メモリ40から色変換データCDを読み出した場合には、読み出した色変換データCDをキャッシュメモリCMにも書き込むものとする。
CPU72では、前述の第1の実施例におけるCPU30と同様に、処理[na]〜[nd]を、それぞれ5つのステージに分けて5段のパイプラインを形成する。なお、各ステージは、通常1クロックで動作することが可能である。しかしながら、処理[nc']のMEMステージが1クロックで動作するのは、色変換データCDがキャッシュメモリCMに記憶されている場合であって、色変換データCDをキャッシュメモリCMから読み出す場合である。
図6の例では、画素3について、色変換データCDがキャッシュメモリCMに記憶されておらず(キャッシュミスヒット)、処理[3c']のMEMステージにおいて外部メモリ40へのアクセスが発生している。なお、かかる外部メモリ40へのアクセスに伴うレイテンシは、前述の第1の実施例において、メモリコントローラ24eを介して外部メモリ40から色変換データCDを読み出すのに要する時間と同じ4クロックであるものとする。
この場合、処理[3c']のMEMステージと並列する処理[3a]のWBステージ,処理[3b']のEXステージ,処理[3d]のRFステージ及び処理[4a]のIFステージは、1クロックで完了するにも関わらず4クロック要することとなる。その結果、これらステージにおいて3クロックが無駄となり、後続する画素4以降の画素の処理は、キャッシュヒットした場合に比べて、この3クロックだけ遅れて処理されることとなる。このように、従来における比較例では、キャッシュミスヒットによる外部メモリ40へのアクセスが発生した場合に、各ステージを1クロックで処理するパイプラインは崩れてしまい、色変換の高速化を実現することが困難となっていた。
一方、第1の実施例では、仮に、全ての画素について外部メモリ40へのアクセスが発生したとしても、各ステージを1クロックで処理するパイプラインは崩れず、色変換処理の高速化を実現することができる。
B.第2の実施例:
図8は、第2の実施例の色変換処理において、各画素について実行される処理内容を模式的に示す説明図である。図8では、画素1〜画素3についてCPU30で実行される処理と、画素1についてロード制御部36で実行される処理と、を時刻の経過と共に示している。上述した第1の実施例では、或る画素についての上流側処理と下流側処理との間において、その画素に先行する画素の下流側処理と、その画素に後続する画素の上流側処理と、がいずれも実行されていた。これに対し、第2の実施例では、或る画素についての上流側処理と下流側処理との間において、その画素に先行する画素の下流側処理と、その画素に後続する画素の上流側処理と、のうちの少なくとも一方が実行されるように構成されている。なお、図7に示す処理[na]〜[nd]は、図5に示す各処理と同じである。また、本実施例におけるプリンタ100の構成は、第1の実施例と同じである。ただし、ロード制御部36が色変換データCDを取得するのに要する時間(アドレスバッファ32aから格納アドレスADを取得してから、データ受信バッファ32bに色変換データCDを格納するまでの時間)は、第1の実施例における時間(6クロック)よりも短い時間(2クロック)であるものとする。
図8の例では、画素1の上流側処理[1a],[1b]の後、画素2〜3の各上流側処理が連続して実行されている。そして、画素3の上流側処理が完了した後、画素1〜3の各下流側処理が連続して実行されている。ここで、画素1については、上流側処理と下流側処理との間において、後続する画素2,3の上流側処理が実行されることにより、処理[1c]のMEMステージまでにデータ受信バッファ32bに画素1の色変換データCDが格納されることとなる。また、画素2については、上流側処理と下流側処理との間において、後続する画素3の上流側処理と、先行する画素1の下流側処理と、が実行されることにより、処理[2c]のMEMステージまでに、データ受信バッファ32bに画素2の色変換データCDが格納されることとなる。また、画素3については、上流側処理と下流側処理との間において、先行する画素1,2の下流側処理が実行されることにより、処理[3c]のMEMステージまでに、データ受信バッファ32bに画素2の色変換データCDが格納されることとなる。
このように、第2の実施例では、画素nの上流側処理と下流側処理との間において、先行する画素の下流側処理と、後続する画素の上流側処理と、の少なくとも一方が実行されることで、画素nの下流側処理が開始される前に必要とする色変換データCDをデータ受信バッファ32bに格納することができる。従って、色変換データCDを得るために外部メモリ40へのアクセスが発生しても、下流側処理が開始される前に、必要となる色変換データCDをデータ受信バッファ32bに格納することができる。それ故、各ステージを1クロックで処理するパイプラインを崩すことなく色変換を行うことができ、色変換の高速化を実現することができる。
C.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
C1.変形例1:
上述した第1の実施例では、或る画素についての上流側処理と下流側処理との間において、他の合計4画素分の上流側処理または下流側処理が実行されていた。また、第2の実施例では、かかる間において、他の合計2画素分の上流側処理または下流側処理が実行されていた。本発明における、或る画素についての上流側処理と下流側処理との間において実行される上流側処理または下流側処理の画素数は、これら4画素或いは2画素に限定されるものではない。例えば、1画素や5画素など、少なくとも他の1画素分の上流側処理または下流側処理が実行される構成であればよい。このようにすることで、外部メモリアクセスに伴うレイテンシの増加が発生しても、かかる他の画素の上流側処理または下流側処理を実行することで、或る画素の下流側処理を実行するまでに、その画素の色変換データCDをデータ受信バッファ32bに格納することができる。
C2.変形例2:
上述した各実施例では、ロード制御部36が色変換データCDを取得するのに要する時間は、画素nについての処理[nb]のWBステージが実行された1つ後のクロックから、画素nについての処理[nc]のMEMステージが実行される1つ前のクロックまでの時間(以下、「基準時間」と呼ぶ。)であった。本発明では、ロード制御部36が色変換データCDを取得するのに要する時間は、かかる基準時間以内であることが好ましい。換言すると、ロード制御部36が色変換データCDを取得するのに要する時間だけ、或る画素の上流側処理と下流側処理との間に他の画素についての処理を実行することが好ましい。しかしながら、ロード制御部36が色変換データCDを取得するのに要する時間が、かかる基準時間よりも長い構成であっても、処理[nc]のMEMステージが3クロック以内に完了すれば、無駄となるクロック数は2以下となり、図7に示す従来の比較例よりも色変換処理の高速化を図ることができる。
C3.変形例3:
上述した各実施例における色変換処理は、RGB表色系で表現された画像データからCMYK表色系で表現された画像データへの変換処理であるが、本発明は、他の色変換処理にも適用可能である。例えば、スキャナで使用されるRGB表色系で表現された画像データからモニタで使用されるRGB表色系で表現された画像データへの色変換処理にも適用できる。また、本発明は、色変換処理に限らず、他の画像データ変換処理にも適用可能である。例えば、ガンマ補正処理や、シャープネスや明るさ等を調整する処理であって、変換テーブルを用いて画像データを変換する処理に適用することで、これらの画像データ変換処理の高速化を実現することができる。
C4.変形例4:
上述した各実施例において、本発明の画像データ変換装置を適用した装置はプリンタであったが、プリンタに限らず他の装置であっても構わない。例えば、プリンタユニット及びスキャナユニット等を搭載した複合機や、パーソナルコンピュータや、デジタルスチルカメラ等に、本発明の画像データ変換装置を適用するようにしてもよい。
C5.変形例5:
上述した各実施例におけるプリンタ100の構成は、あくまで一例であり、プリンタ100の構成を他の構成とすることも可能である。例えば、プリンタ100は、ネットワークを介して画像データIMGを取得可能な構成であるとしてもよい。また、プリンタ100のプリンタエンジン50において用いられるインク色はCMYKの4色に限られず、任意の種類のインク色を採用可能である。また、上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
本発明の一実施例としての画像データ変換装置を適用したプリンタの概要構成を示す説明図である。 色変換LUT42の一例を示す説明図である。 図1に示す色変換部24bの詳細構成を主として示す説明図である。 色変換部24bにおいて実行される色変換処理の手順を示すフローチャートである。 色変換処理において各画素について実行される処理内容を模式的に示す説明図である。 従来技術の比較例における色変換部の詳細構成を示す説明図である。 従来技術の比較例における色変換処理での処理内容を模式的に示す説明図である。 第2の実施例の色変換処理において各画素について実行される処理内容を模式的に示す説明図である。
符号の説明
20...制御回路
24a...解像度変換部
24b...色変換部
24c...ハーフトーン処理部
24d...データ配列部
24e...メモリコントローラ
30...CPU
30a...画像データ取得部
30b...アドレス算出部
30c...データ読出部
30d...データ書込部
31...色変換制御部
32a...アドレスバッファ
32b...データ受信バッファ
36...ロード制御部
40...外部メモリ
42...色変換ルックアップテーブル(LUT)
50...プリンタエンジン
60...メモリカードスロット
62...カードインタフェース部
64...操作部
66...表示部
100...プリンタ
P...格子点
Bk...黒色点
W...白色点
CD...色変換データ
AD...格納アドレス
IMG...画像データ
INK...インク階調値データ
PD...印刷データ
70...色変換部
72...CPU
CM...キャッシュメモリ

Claims (4)

  1. 画像データ変換装置であって、
    複数の画素の階調値を順番に取得する画像データ取得部と、
    各画素の階調値に基づき、その画素について変換テーブルを参照する際に用いるテーブル入力値を算出するテーブル入力値算出部と、
    各画素について、前記テーブル入力値を用いて前記変換テーブルを参照し、テーブル出力値を読み出すテーブル出力値読出部と、
    前記テーブル出力値に基づき、各画素の変換後の階調値を取得して所定記憶領域に書き込む画像データ書込部と、
    を備え、
    前記複数の画素のうちの任意の画素について、前記画像データ取得部による前記階調値の取得と、前記テーブル入力値算出部による前記テーブル入力値の算出と、を含む上流側処理が実行された後であって、かつ、その画素について、前記テーブル出力値読出部による前記テーブル出力値の読み出しと、前記画像データ書込部による変換後の階調値の前記所定記憶領域への書き込みと、を含む下流側処理が実行される前において、その画素に先行する画素についての前記下流側処理と、その画素に後続する画素についての前記上流側処理と、のうちの少なくとも一方が実行されることを特徴とする画像データ変換装置。
  2. 請求項1に記載の画像データ変換装置であって、
    前記画像データ取得部と、前記テーブル入力値算出部と、前記画像データ書込み部と、は、同一CPUを用いて構成されており、
    前記テーブル出力値読出し部は、前記CPUとは異なる他のハードウェアを用いて構成されている、
    画像データ変換装置。
  3. 請求項1または請求項2に記載の画像データ変換装置であって、
    各画素について、第1の表色系で表現された階調値を、第2の表色系で表現された階調値に変換する、
    画像データ変換装置。
  4. 画像データ変換方法であって、
    (a)複数の画素の階調値を順番に取得する工程と、
    (b)各画素の階調値に基づき、その画素について変換テーブルを参照する際に用いるテーブル入力値を算出する工程と、
    (c)各画素について、前記テーブル入力値を用いて前記変換テーブルを参照し、テーブル出力値を読み出す工程と、
    (d)前記テーブル出力値に基づき、各画素の変換後の階調値を取得して所定記憶領域に書き込む工程と、
    を備え、
    前記複数の画素のうちの任意の画素について、前記階調値取得工程と、前記テーブル入力値算出工程と、を含む上流側工程が実行された後であって、かつ、その画素について、前記テーブル出力値読み出し工程と、前記変換後の階調値の書き込み工程と、を含む下流側工程が実行される前において、その画素に先行する画素についての前記下流側工程と、その画素に後続する画素についての前記上流側工程と、のうちの少なくとも一方が実行される、画像データ変換方法。
JP2006134655A 2006-05-15 2006-05-15 画像データ変換装置 Pending JP2007306445A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006134655A JP2007306445A (ja) 2006-05-15 2006-05-15 画像データ変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006134655A JP2007306445A (ja) 2006-05-15 2006-05-15 画像データ変換装置

Publications (1)

Publication Number Publication Date
JP2007306445A true JP2007306445A (ja) 2007-11-22

Family

ID=38839986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006134655A Pending JP2007306445A (ja) 2006-05-15 2006-05-15 画像データ変換装置

Country Status (1)

Country Link
JP (1) JP2007306445A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055063A (ja) * 2008-08-27 2010-03-11 Samsung Electronics Co Ltd 画像データ補償方法、これを行うための補償装置、及びこのデータ補償装置を含む表示装置
JP2010157830A (ja) * 2008-12-26 2010-07-15 Kyocera Mita Corp 画像形成装置及び印刷制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055063A (ja) * 2008-08-27 2010-03-11 Samsung Electronics Co Ltd 画像データ補償方法、これを行うための補償装置、及びこのデータ補償装置を含む表示装置
JP2010157830A (ja) * 2008-12-26 2010-07-15 Kyocera Mita Corp 画像形成装置及び印刷制御方法

Similar Documents

Publication Publication Date Title
US10762401B2 (en) Image processing apparatus controlling the order of storing decompressed data, and method thereof
JP3733826B2 (ja) 画像処理装置
US20140362395A1 (en) Image processing apparatus and method
JP2011181063A (ja) 画像形成装置、入力制御方法、入力制御プログラム、及び記憶媒体
JP6447564B2 (ja) 画像形成装置、プログラム及び情報処理システム
JP6945634B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2007306445A (ja) 画像データ変換装置
JP6988456B2 (ja) 画像処理装置およびプログラム
JPH1084447A (ja) 多機能並行処理型電子装置
JP3554237B2 (ja) 画像処理装置及びその方法
US10783604B2 (en) Image processing apparatus, image processing method, and image processing program
JP5560785B2 (ja) 情報処理装置、画像形成装置及び情報処理方法
JP7081477B2 (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
JP5800217B2 (ja) レンダリング方法
JP6283980B2 (ja) 画像処理装置及び画像処理方法
JP2008282135A (ja) 画像処理装置、画像読取り装置、画像形成装置および画像処理方法
JP2013218539A (ja) ヒストグラム生成装置
JP4285513B2 (ja) 画像処理回路及び印刷装置
JP2016021641A (ja) 情報処理装置およびプログラム
JP2010268411A (ja) 画像処理装置及びその制御方法、並びに、プログラム
JP2752821B2 (ja) 画像記録装置
JP4516336B2 (ja) 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
JP2014061648A (ja) 印刷のための制御装置
JP4116997B2 (ja) 画像処理装置
JP2014079906A (ja) 情報処理システム、画像処理装置及びプログラム