JP2005101712A - 画像処理装置およびプログラム - Google Patents
画像処理装置およびプログラム Download PDFInfo
- Publication number
- JP2005101712A JP2005101712A JP2003329704A JP2003329704A JP2005101712A JP 2005101712 A JP2005101712 A JP 2005101712A JP 2003329704 A JP2003329704 A JP 2003329704A JP 2003329704 A JP2003329704 A JP 2003329704A JP 2005101712 A JP2005101712 A JP 2005101712A
- Authority
- JP
- Japan
- Prior art keywords
- color
- processing
- image
- signal
- 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
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】間引きと圧縮がされたカラー画像を取り扱う画像処理装置において、処理負荷を増大させずに色変換処理を施すことができるようにする。
【解決手段】基底信号線形変換部は、逆DCT処理の要否を判断する。たとえば、変換係数が0になるブロックは逆DCT変換処理を省略させる。また、各成分のうち変換係数が同じものについては、何れかについて逆DCT変換するだけでよく、他の色成分については実際に逆DCT処理を実行する必要のないブロックとする。さらに、同じ間引き率の成分については、出力色ごとにその同じ間引き率のブロックの情報を足し合わせる。基底信号線形変換部は、間引きモードを示す識別情報と、逆DCT処理が必要なブロックのデータのみを逆DCT変換部に入力する。逆DCT変換部では、基底信号線形変換部から送られたブロックについて、Y成分とCb+Cr成分の逆DCT処理を分けて行なう。
【選択図】図7
【解決手段】基底信号線形変換部は、逆DCT処理の要否を判断する。たとえば、変換係数が0になるブロックは逆DCT変換処理を省略させる。また、各成分のうち変換係数が同じものについては、何れかについて逆DCT変換するだけでよく、他の色成分については実際に逆DCT処理を実行する必要のないブロックとする。さらに、同じ間引き率の成分については、出力色ごとにその同じ間引き率のブロックの情報を足し合わせる。基底信号線形変換部は、間引きモードを示す識別情報と、逆DCT処理が必要なブロックのデータのみを逆DCT変換部に入力する。逆DCT変換部では、基底信号線形変換部から送られたブロックについて、Y成分とCb+Cr成分の逆DCT処理を分けて行なう。
【選択図】図7
Description
本発明は、カラー画像を取り扱う画像処理装置およびコンピュータを利用して画像処理をするためのプログラムに関する。より詳細には、データ圧縮されたカラー画像データの伸長処理技術に関する。
カラー画像を取り扱うデータ処理プロセスにおいては、データを用いた実際のアプリケーションのために非常に多数のデータが存在し、通常はデータ圧縮がなされる。たとえば、カラー写真画像などをデジタル化したフルカラー画像はデータ量が大きいため、画像を記憶保持しておく記憶装置の記憶容量、あるいはネットワーク伝送時の帯域幅や転送時間などが大きくなる欠点がある。そこでデータ量を削減するために、JPEG(Joint Photographic Experts Group)などの圧縮画像フォーマットが用いられている。
たとえばJPEGフォーマットではコサイン波を基底信号としており、画像を離散的なコサイン波の強度データとして周波数的に表現している。また、色空間としてYCbCr色空間が用いられている。復号化処理(伸長処理)においては、圧縮データを復号化し、次に逆量子して離散的なコサイン波の強度データに復元し、前記色空間のY,Cb,Crの3つの成分ごとのブロックデータに変換する。
ここで、色空間のクロミナンス成分Cb,Crのブロックデータは、通常1/4あるいは1/2に間引かれているため、クロミナンス成分を4倍あるいは2倍にアップサンプリングして、明るさ成分Yと同じサイズのブロックデータに戻す必要がある。このアップサンプリングの後、出力装置の色空間に適合するように、所定の変換関数を用いて、YCbCrの各値を、R(レッド),G(グリーン),B(ブルー)のRGB色値、あるいはC(シアン),M(マゼンタ),Yel(イエロー)のCMY色値、またはC,M,YelにK(ブラック)を追加したCMYK色値に変換する色空間変換処理をして出力する。
またJPEGフォーマットで圧縮された画像をプリンタやディスプレイなどの出力装置に出力する場合、RGB色値やCMY色値またはCMYK色値に対して、各出力装置の色空間特性に合わせた色補正処理や色調補正処理、あるいは先鋭度に関わる強調処理を施すこともある。以下、色空間変換処理、色補正処理、色調補正処理、あるいは強調処理など、色信号の変換に関わる処理を纏めて信号変換処理という。また、この信号変換処理のうち、色空間変換処理、色補正処理、および色調補正処理などの、色情報の変更に関わる処理を特に色変換処理という。
ここで、色変換処理など、JPEGフォーマットの画像データに対して何らかの信号変換処理を施す場合には、圧縮画像を生成する手順とは逆に、その圧縮画像データに対して、復号化処理(特にハフマン復号化処理)、逆量子化処理、逆DCT(Discrete Cosine Transform )処理、およびアップサンプリング処理といった、一連の伸長処理を全て順に行なった後に、この信号変換処理を行なう必要がある。すなわち、カラー圧縮画像データに信号変換処理を施す場合には、逆DCTなどの処理を事前に行なっておかなければならない。
このように、カラー圧縮画像データを出力装置で出力するまでには、一旦圧縮画像データをそのフォーマットが用いている所定の色空間データに伸長(復号化処理)してから、これを出力装置に適合するように信号変換処理を行なうといった手順を踏まなければならず、結果として処理負荷の重さが問題となる。特に、これらの手順の中で、JPEGフォーマットの画像データを離散的なコサイン波の強度データに復元する逆量子化処理や、その強度データを色画素表現の画像データに戻す逆DCT処理などについては、処理負荷の重さが問題となる可能性が高い。
このような処理負荷の重さの問題を解消する一手法として、たとえば特許文献1には、JPEGフォーマットで保持されている8×8画素からなるブロックのうち、低周波側のN×N(N≦8)のサブブロックだけを取り出して逆DCT変換し、この逆DCT変換された色データ(高周波成分を含まない近似された色データ)に対して色補正処理をし、再度DCT変換してN×Nサブブロックのデータに戻した後に、元の8×8画素からなるブロックに合成(マージ)することで、色補正処理を実現する方法が提案されている。この方法では、低周波側のN×Nのサブブロックだけ逆DCT変換をしているため、通常の逆DCT変換に比べ負荷が軽くなっている。
ところが、この特許文献1に記載の技術では、N×Nサブブロックに含まれない高周波成分については色補正されていないため色補正誤差が大きい。また、色補正誤差を小さくするためにNの値を大きくすると、元々の8×8画素からなるブロックに近くなり、これに対し逆DCTや色補正処理をするだけでなく、さらにDCTやサブブロック合成などの処理をするため、画像出力までの処理負荷が却って重くなってしまう。また、色補正後の画像をJPEG画像とする場合には、DCT係数のマージ処理を必要とするなど非常に複雑な処理の組み合わせになり、JPEG画像出力処理の負荷が重くなる。つまり、特許文献1に開示された技術では、結局処理負荷の重さの問題を解決することはできない。
また、たとえば特許文献2には、JPEG伸長処理においてハフマン復号化後にDCT係数のゼロ以外の値と位置情報との対データ形式に変換し、逆DCT処理後に位置合わせを行なって演算量を削減することで、通常よりも処理負荷を軽減する技術が提案されている。
ところが、この特許文献2に記載の技術では、DCT係数と位置情報とを組み合わせたデータを生成する必要があり、データ生成時間や逆DCT処理後の位置合わせに時間が掛かってしまう。また、DCT係数にゼロの値が少ない場合は、却ってJPEG伸長処理の負荷が重くなってしまう。したがって、特許文献2に開示された技術によっても、処理負荷の重さの問題は解決できないといえる。
前記のような処理負荷の重さの問題を解消する一手法として、本願出願人は、特許文献3にて、色成分ごとに基底信号強度として表現されているデータ圧縮されたカラー画像について、色成分ごとに、基底信号強度を線形変換して色変換処理などの信号変換処理をする手法を提案している。
この特許文献3に提案した技術に依れば、基底信号強度を線形変換することで逆DCT変換などの無駄な逆変換処理が省けるため、計算効率を向上させることができ、高速かつ演算量が少ない色変換処理を実現することができる。また、全ての基底信号強度を用いて線形変換するため、無損失圧縮画像の色補正を実行でき、色変換誤差が発生し難く、正しい色をもつ圧縮デジタル画像が要求される機器に好適な信号処理となっている。
しかしながら、たとえばY,Cb,Cr成分のうちCb,Cr成分が水平方向および垂直方向の両方にもしくは何れか一方にのみ間引かれているJPEG圧縮画像を取り扱う場合、Cb,Cr成分の補間処理やY成分との合成など複雑な処理が必要になり、実際には、この特許文献3による高速化手法の適用が困難であるということが分かった。
本発明は、上記事情に鑑みてなされたもので、圧縮カラー画像データを取り扱いかつ色信号に対して所定の変換処理をする場合においても、処理負担を増大させることがなく、さらに水平垂直方向や水平方向に間引かれている圧縮画像を取り扱うことも容易な画像処理装置およびプログラムを提供することを目的とする。
本発明に係る画像処理装置は、データ圧縮されたカラー画像に対して伸長処理を施す画像処理装置であって、データ圧縮されたカラー画像データとして、複数の色成分のそれぞれのデータを含み、かつ、複数の色成分のうちの少なくとも1つの色成分については間引き処理がされている画像データを受け取り、このカラー画像データについて、色成分ごとに、間引き処理の態様に応じて伸長処理を必要とする部分信号を特定し、この特定した部分信号に対して伸長処理を施す信号処理部を備えるものとした。
また従属項に記載された発明は、本発明に係る画像処理装置のさらなる有利な具体例を規定する。また、本発明に係るプログラムは、本発明に係る画像処理装置を、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なものである。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
たとえば、信号処理部は、実質的に無効な変換係数を含む部分信号を伸長処理が不要な部分信号であるとし、この伸長処理が不要な部分信号を除く部分信号を、伸長処理を必要とする部分信号とすればよい。
また、信号処理部は、複数の部分信号のうち、共通な変換係数を含む部分信号については、そのうちの1つの部分信号を、伸長処理を必要とする部分信号として伸長処理をすればよい。この場合、信号処理部は、この1つの部分信号について伸長処理を施すことで得られる符号化係数を、複数の部分信号のうち伸長処理を必要とする部分信号とした1つの部分信号を除く部分信号についての伸長処理の結果として使用するとよい。
なお、本発明の画像処理装置においては、上述した構成に加えて、本願出願人が特開2003−125207号公報にて提案している技術を適用するとよい。こうすることで、高速かつ演算量が少ない色変換処理を実現することができることに加えて、間引き画像を取り扱うことも容易となる。
本発明に依れば、色成分ごとに、間引き処理の態様に応じて伸長処理を必要とする部分信号を特定し、この特定した部分信号に対して伸長処理を施すようにした。これにより、逆変換処理(伸長処理)の不要なブロックについてその処理を省略して、その後に間引きのない画像に復元することができるようになる。不要ブロックについて伸長処理を省略するので、高速かつ演算量が少ない伸長処理を実現することができる。
加えて、本願出願人が特開2003−125207号公報にて提案している技術を適用すれば、カラー圧縮画像データに対する色変換処理などの信号変換処理を、色成分ごとに、そのカラー圧縮画像データにおける基底強度信号を色画素表現に戻す処理に先立って行なうため、たとえば無駄な部分の色変換や逆変換(たとえば逆DCT変換)の処理を省くといったことが可能となる。間引き画像を対象とする場合でも、逆変換処理の不要なブロックについてその処理を省略して、その後に間引きのない画像に復元することができる。
したがって、間引き処理されたカラー圧縮画像データを取り扱い、かつ、色信号に対して所定の変換処理をする場合においても、従来あったような処理負荷の重さの問題を解決した、高速かつ演算量が少ない信号変換処理(色変換処理)を実現することができる。
以下、図面を参照して本発明の実施形態について詳細に説明する。
<画像処理システムの全体構成>
図1は、本発明に係る画像処理装置を備えた画像処理システム(以下単にシステムという)1を示すブロック図である。システム1は、画像入力端末3、画像処理装置5、および画像出力端末7を備える。
図1は、本発明に係る画像処理装置を備えた画像処理システム(以下単にシステムという)1を示すブロック図である。システム1は、画像入力端末3、画像処理装置5、および画像出力端末7を備える。
画像入力端末3は、たとえばデジタルドキュメント(以下単にドキュメントという)DOCを作成し、または他の方法でドキュメントDOCを提供するのに適した、カラースキャナ32またはハードディスクなどの記憶媒体34など、任意数の画像ソースを含み得る。このドキュメントDOCはカラー画像データで表されている。画像入力端末3は、デジタルドキュメントDOCを、システム1の一部を構成する画像処理装置5に入力する。
本実施形態の画像処理装置5は、JPEG圧縮符号化方式を利用するために、以下のような構成をなしている。すなわち画像処理装置5は、先ず、ドキュメントDOCの画像を表すデジタルデータを、複数のM×Mブロックまたはセグメントに分割する画像ブロック化部52を備える。
画像ブロック化部52は、ブロック化操作をする手段として、たとえば1つ以上のM×Mブロックデータを含むデータを入力ドキュメントDOCからM×Mバッファへ伝送できるウィンドウまたはクロップ回路(a windowing or cropping circuit:窓開けまたは切取回路)を有する。画像ブロック化操作では、3つの分解色のそれぞれについて、8画素×8スキャンラインからなるセグメント群を特定する処理がなされる。画像ブロック化部52は、ブロック化したデータD0を、図示しないデータバッファに一旦記憶する。
また画像処理装置5は、図示しないデータバッファに記憶された画像データD0を読み出して圧縮処理をする圧縮部54と、圧縮部54によりデータ圧縮されたデータD1に対して、色補正や色調変更あるいは強調処理などの色変換処理を施す画像処理プロセッサ(信号処理部)56とを備える。
圧縮部54は、図示しないデータバッファに記憶された画像データD0を読み出して単にデータ圧縮するだけでなく、カラー画像の色成分が色成分ごとの基底信号強度として表現されているカラー画像(ドキュメントDOC)に対して、JPEG圧縮基準に関連した各種の圧縮処理を用いて処理し、圧縮データD1を画像処理プロセッサ56に入力する。
画像処理プロセッサ56は、圧縮部54から入力された圧縮画像に対して信号変換処理を施し、信号変換処理後のデータの一例である伸長色補正デジタルデータD10や圧縮色補正デジタルデータD20を画像出力端末7に入力する。
なお、画像処理プロセッサ56は、圧縮部54からではなく、他の圧縮画像ソースを記憶した記憶媒体39から圧縮データD1を取り込んでもよい。また画像処理プロセッサ56は、信号変換処理後のデータ(D10,D20)を、記憶媒体39に格納してもよい。
画像出力端末7は、画像処理装置5の各種機能とともに動作可能であって、システム1をデジタル印刷システムとして稼働させるためのラスタ出力スキャン(ROS)ベースのプリントエンジン70や、画像表示システムとして稼働させるためのディスプレイ装置80などを備える。
プリントエンジン70は、画像処理プロセッサ56から出力された伸長色補正デジタルデータD10に対してプリント出力用の所定の処理をするプリント出力処理部72と、光ビームを発するレーザ光源74と、プリント出力処理部72から出力されたデータに従ってレーザ光源74を制御すなわち変調するレーザ駆動部76と、レーザ光源74から発せられた光ビームを感光性部材79に向けて反射させるポリゴンミラー(回転多面鏡)78とを有する。
プリント出力処理部72は、カラー画像を表す伸長色補正デジタルデータD10に対して、周知技術に従って、複数、好ましくは最低3つの分解色を表すデータを生成しレンダリング(ラスタデータに展開)する。たとえば、YCbCr表色系からCMY表色系あるいはCMYK表色系へのマッピングをし、プリント出力用に色分解されたラスタデータを生成する。この際、プリント出力処理部72は、アンダーカラー除去(UCR)、グレー成分交換(GCR)、色分解の直線化または同様の処理をする。
この構成により、プリントエンジン70は、画像処理プロセッサ56から出力された伸長色補正デジタルデータD10を受け取ると、これにプリント出力処理部72がプリント出力用の所定処理を行なった後、レーザ光源74が発生する光ビームをポリゴンミラー78上の複数の面で反射させて感光性部材79を露光し、スキャン走査によって感光性部材79上に潜像を形成する。潜像が形成されると、当該技術分野で公知の多数の方法のうち任意の方法に従って像を現像して用紙上に転写することで、カラー画像データの可視像化を行なう。
一方、ディスプレイ装置80は、画像処理プロセッサ56から出力された伸長色補正デジタルデータD10や圧縮色補正デジタルデータD20に従って所定の出力処理をする表示出力処理部82と、表示出力処理部82から出力されたデータに基づいて可視像を表示出力するCRTや液晶(LCD)あるいは有機ELなどのディスプレイ部84とを備える。表示出力処理部82は、たとえばディスプレイ部84とともに使用されるパソコン本体86の内部にソフトウェアあるいはハードウェアで組み込むとよい。
表示出力処理部82は、圧縮色補正デジタルデータD20が入力されたときには先ず伸長処理をする。これにより伸長色補正デジタルデータD10相当の伸長色補正デジタルデータD22が得られる。また表示出力処理部82は、画像処理プロセッサ56から入力された伸長色補正デジタルデータD10や自身が生成した伸長色補正デジタルデータD22に対して、周知技術に従って、複数、好ましくは最低3つの分解色を表すデータを生成しレンダリング(ラスタデータに展開)する。たとえばYCbCr表色系から、たとえばRGB表色系へのマッピングをし、表示出力用に色分解されたラスタデータを生成する。また表示出力処理部82は、このようなラスタデータ化の処理に際して、オペレータの好みに応じた色補正処理など、所定の出力処理を行なってもよい。この構成により、ディスプレイ装置80は、画像処理プロセッサ56にて信号変換処理されたカラー画像を可視像として出力する。
なお、プリント出力処理部72や表示出力処理部82としては、たとえばパソコン(パーソナルコンピュータ;PC)などを利用することもできる。
<画像処理プロセッサの構成例>
図2は、画像処理プロセッサ56の一実施形態の詳細を示すブロック図である。なお、ここでは、JPEGフォーマットを取り扱うものとして説明する。
図2は、画像処理プロセッサ56の一実施形態の詳細を示すブロック図である。なお、ここでは、JPEGフォーマットを取り扱うものとして説明する。
本実施形態の画像処理プロセッサ56は、高速かつ演算量が少ない色変換処理を実現するための構成として、特開2003−125207号と同様に、色成分ごとに基底信号強度を線形変換する点に第1の特徴を有する。
また本実施形態の画像処理プロセッサ56は、間引き画像についても取扱い容易にするための構成として、必要なブロック信号に対してのみ逆DCT処理をし、不要なブロック信号については処理を省略する点に第2の特徴を有する。色成分ごとに逆DCT処理をしようとすると、それだけでは処理対象ブロックが増えるが、その中には必ずしも実際に逆DCT処理を実行する必要のないものがある(詳細は後述する)点を利用して、真に逆DCT処理を必要とするブロックを対象として逆DCT処理を実行することで、処理負担を軽減する。なお、補間処理によって間引き画像を元に戻す構成要素もを備える。
また本実施形態の画像処理プロセッサ56は、強度データの大半が“0”になるという特徴と、ある周波数における強度データ値が全て“0”ならば強度変換結果も“0”となるという特徴とを活かし、復号された場合に、強度データ値が“0”になるハフマン符号を検出することによって、全ての色成分における強度データ値が“0”になる周波数では強度変換を省略する点に第3の特徴を有する。以下、具体的に説明する。
画像処理プロセッサ56は先ず、ゼロ検出部112とハフマン復号化部114とを有し、圧縮された画像データの一例であるJPEG画像データD1をハフマン復号化形式によって復号化するハフマン復号化部114と、復号化されたJPEG画像データD2を逆量子化して離散的なコサイン波の強度データD3に復元する逆量子化部200を備える。
本実施形態の画像処理プロセッサ56では、強度データの大半が“0”になるという特徴と、ある周波数における強度データ値が全て“0”ならば強度変換結果も“0”となるという特徴とを活かし、復号された場合に、強度データ値が“0”になるハフマン符号を検出することによって、全ての色成分における強度データ値が“0”になる周波数では強度変換を省略する。このため、先ずゼロ検出部112は、ハフマン符号化された信号から、EOB(End of Block)符号を検出する。ハフマン復号化部114は、EOB位置の前まで入力符号化信号を復号化する。ゼロ検出付きハフマン復号化部110は、決定したEOB位置と、復号化されたブロック画像信号とを逆量子化部200に入力する。
逆量子化部200は、Y,Cb,Crの3つの成分ごとのブロックデータ(ブロック画像信号)D3y,D3r,D3bを出力する。この際、ゼロ検出付きハフマン復号化部110から入力されたEOB位置信号を読み取り、EOB位置の前までを逆量子化し、残りのEOB位置以降については値“0”で埋める。そして、EOB位置信号と逆量子化されたブロック画像信号を色変換部300に入力する。
また画像処理プロセッサ56は、プリンタやディスプレイなどの出力装置の色空間特性に合わせた色補正処理や色調補正処理あるいは強調処理を施すために、3つの成分ごとのブロックデータ(離散的なコサイン波の強度データ)を線形変換処理する色変換部300を備える。
ここで、色変換部300は、信号変換処理を線形変換と非線形変換に分割し、線形変換については色成分ごとの基底信号強度の線形変換として実施するとともに、信号成分Y,Cb,Crの周波数強度データの大半が“0”になるという特徴と、ある周波数における強度データ値が全て“0”ならば強度変換結果も“0”となるという特徴とを活かし、JPEG圧縮された画像においてはハフマン符号化されたデータから復号すると“0”になることを表す符号を検出することで、逆量子化および基底信号強度変換処理を一部省略する。
このため、色変換部300は、各色成分の基底信号強度を線形変換することで第1の信号変換処理をする基底信号線形変換部310と、基底信号線形変換部310から出力された変換後の画像データを色画素表現に変換してカラー画像を生成する(復号化する)カラー画像復号部の一例である逆DCT変換部320と、逆DCT変換部320により復号されたカラー画像が間引き画像である場合に補間処理を行なうことで間引き前の画像に戻す画像補間部330と、画像補間部330から出力されたカラー画像の各画素の画素値(色値)に対し第2の信号変換処理をする非線形信号変換部の一例である色値変換部340とを備える。逆DCT変換部320、画像補間部330、および色値変換部340は、通常の色画素表現として出力するための構成として備えられたものである。
また、画像処理プロセッサ56は、出力をJPEG画像とするための構成として、色変換部300の基底信号線形変換部310から出力された色変換後の画像データを圧縮JPEG画像に変換(再圧縮)する量子化部400およびハフマン符号化部500を備える。
基底信号線形変換部310は、第1の信号変換処理として、線形変換処理のみを実施する。たとえば、基底信号線形変換部310は、画像出力端末7の色空間特性に合わせた色補正処理、色調補正処理、強調処理等を施すために、3つの成分ごとのブロックデータ(離散的なコサイン波の強度データ)を線形変換処理する。また、基底信号線形変換部310は、JPEG画像の間引きの種類を識別する情報と線形変換後のブロックデータを逆DCT変換部320に入力する。
画像処理プロセッサ56は、入力JPEG画像を、ハフマン復号化および逆量子化して離散コサイン波の強度データに変換し、さらに基底信号線形変換部310により強度データを線形変換する。量子化部400およびハフマン符号化部500を経由することで、色変換された圧縮JPEG画像を表す圧縮色補正デジタルデータD20が処理済み画像として出力される。この圧縮色補正デジタルデータD20は、画像処理プロセッサ56にて処理中の画像を画像出力端末7によって直ちに出力(レンダリングなど)しない場合に好適なデータである。
逆DCT変換部320は、基底信号線形変換部310から出力された画像データを色画素表現に変換することで、色変換されたカラー画像を生成する。この際、逆DCT変換部320は、基底信号線形変換部310から出力された間引き方法識別フラグと線形変換による色変換後の画像データから、必要なブロックの逆DCT処理を行なうことで、色画素表現に逆変換する。
画像補間部330は、逆DCT変換部320によって出力された間引き方法識別フラグと逆DCT処理を行なったブロックデータから、必要な補間処理を行ない各成分の画像を合成する。したがって、画像処理プロセッサ56に間引きなしの画像が入力された場合および間引き画像が入力された場合の何れにおいても、画像補間部330からは、線形変化による色変換がなされ、かつ、伸長されたカラー画像データである伸長色補正デジタルデータD10が出力されることになる。この伸長色補正デジタルデータD10は、画像処理プロセッサ56にて処理中の画像データをその後直ちに画像出力端末7にて出力(レンダリングなど)する場合に好適なデータである。
色値変換部340は、第2の信号変換処理として、たとえば非線形マトリックス、補間付き多次元ルックアップテーブル、あるいはUCR(下色除去)によるCMYK化など、既知の手法を使用した非線形変換処理のみを実施する。あるいは輪郭をあいまい(不明確)にするまたはその逆に先鋭度を向上させるフィルタ処理などをしてもよい。
つまり、基底信号線形変換部310と色値変換部340とにより、信号値の変換を線形変換と非線形変換とに分割して実施する。色値変換部340は、基底信号線形変換部310にて線形処理により色変換された画像を非線形変換やフィルタ処理などの線形変換処理をして出力カラー画像を得る。したがって、色値変換部340からは、線形な色変換だけでなく非線形な色変換も施された出力カラー画像を表す伸長色補正デジタルデータD12が出力される。
なお、図中点線で示すように、色値変換部340の後段に、DCT変換部610、量子化部620、およびハフマン符号化部630を設けることで、色値変換部340から出力された伸長色補正デジタルデータD12に対してDCT変換部610にてDCT変換処理をし、さらに量子化部620およびハフマン符号化部630により、DCT変換部610から出力された画像データを圧縮JPEG画像に変換することができる。したがって、ハフマン符号化部630は、所望の線形な色変換だけでなく所望の非線形な色変換が施された出力JPEG画像を表す圧縮色補正デジタルデータD22を出力することができる。
<第1の特徴の詳細>
次に、本実施形態の第1の特徴である、色変換部300の基底信号線形変換部310における作用について詳細に説明する。ここではJPEGフォーマットをRGBに変換する場合を一例として説明する。なお、色変換部300を除く各機能部分の処理は、それぞれ公知のものと同じであるので、その詳細についての説明は割愛する。
次に、本実施形態の第1の特徴である、色変換部300の基底信号線形変換部310における作用について詳細に説明する。ここではJPEGフォーマットをRGBに変換する場合を一例として説明する。なお、色変換部300を除く各機能部分の処理は、それぞれ公知のものと同じであるので、その詳細についての説明は割愛する。
図3および図4は、JPEGフォーマットでの圧縮伸長処理を説明する図である。ここで、図3は、その処理手順の概要を示したフローチャートである。また、図4は、間引きについて説明する図である。
JPEGフォーマットでは、コサイン波を基底信号としており、画像を離散的なコサイン波の強度データとして周波数的に表現している。また、通常、色空間としてYCbCrが用いられている。たとえば圧縮処理では、所定の変換関数を用いて、R,G,Bの各値をYCbCr色値に色変換し(S11)、Cb成分とCr成分とについては所定の間引き率でダウンサンプリングする(S12)。この後、離散コサイン変換(DCT)を行なって離散的なコサイン波の強度データからなる、Y,Cb,Cr色空間の3つの色成分ごとのブロックデータに変換する(S13)。そして、これらブロックデータを量子化して(S14)、最後にハフマン符号化することで(S15)、圧縮データを得る。
一方、伸長処理では、先ず、圧縮データをハフマン復号化し(S21)、次に逆量子化して離散的なコサイン波の強度データに復元し(S22)、その後に逆離散コサイン変換(DCT;Discrete Cosine Transform)を行なってY,Cb,Cr色空間の3つの色成分ごとのブロックデータに変換する(S23)。
すなわち、逆量子化部200からは、色空間の成分ごとの離散的なコサイン波の強度データD3が色変換部300に入力される。この強度データD3に対して逆DCT変換処理をすると、色空間の成分ごとのブロックデータに変換される。たとえば、ブロック中の位置(x,y)における明るさ成分Yの値Y(x,y)は式(1)で表される。式(1)中のuとvがそれぞれx方向とy方向の周波数パラメータで、周波数ブロック中での位置を表している。また、FY(u,v)が、明るさ成分Yの周波数強度を表している。クロミナンス成分Cb(x,y)とCr(x,y)についても同様の式で表される。
この式(1)中において、uとvは、それぞれx方向とy方向の周波数パラメータで、周波数ブロック中での位置を表している。また、FY (u,v)は、明るさ成分Yの周波数強度を表している。なお、クロミナンス成分Cb(x,y)とCr(x,y)についても同様の式で表される。
ここで、色空間のクロミナンス成分Cb,Crのブロックデータは、図4に示すように、通常4:2:2あるいは4:2:0の間引きが施されている。すなわち、間引き無しの場合は、図4(A)に示すように、Y,Cb,Crそれぞれ16画素×16画素からなるブロックのデータ、すなわち8画素×8画素からなるブロックの2個×2個分が使われる。これに対して、間引きが4:2:2の場合は、図4(B)に示すように、Cb,Cr成分が水平方向に1/2に間引かれ16画素×8画素からなるブロックとなり、間引きが4:2:0の場合は、図4(C)に示すように、Cb,Cr成分が水平方向、垂直方向ともに1/2に間引かれ8画素×8画素からなるブロックとなる。
そのため、伸長処理を行なう際は、クロミナンスCb,Cr成分を、間引きが4:2:2の場合は水平方向に2倍、間引きが4:2:0の場合は水平方向、垂直方向ともに2倍にアップサンプリングして、明るさ成分Yと同じサイズのブロックデータに戻す必要がある(S24)。このアップサンプリングの後、たとえば出力装置の色空間がR(レッド)、G(グリーン)、B(ブルー)の各色成分からなれば、式(2)に示す変換関数を用いて、Y,Cb,Crの各値をRGB色値に色変換する(S25)。
また、JPEGフォーマットで圧縮された画像をプリンタやディスプレイなどの出力装置に出力するため、出力装置の色空間特性に合わせるための色補正をする。たとえば、プリンタ色値であるC(シアン),M(マゼンタ),Yel(イエロー)のCMY色値への変換には式(3)に示すような3×3マトリックスによる線形変換をする。この色補正関数は、特定の装置の特性を反映して、色空間中の座標位置を変化させる処理である。これは、C,M,YにK(ブラック)を追加したCMYK色値に色変換する場合も同様である。
さらにまた、画像編集システムなどにおいて、JPEGフォーマットで圧縮された画像データをディスプレイやプリンタなどの出力装置にて出力する場合、RGB色値やCMY色値またはCMYK色値に対して、各出力装置の色空間特性に合わせた色補正処理や色調補正処理、あるいは先鋭度に関わる強調処理を施すこともある。ここでは、これらの色空間変換処理、色補正処理、色調補正処理、強調処理などといった色信号の変換に関わる処理を、全て纏めて信号変換処理という。また、これらの信号変換処理のうち、特に、色空間変換処理、色補正処理、色調補正処理などといった色情報の変更に関わる処理を、色変換処理という。
たとえば、JPEGフォーマットの画像データをRGB色空間に伸長した後、線形変換処理をすることで色調補正を行なう場合には、たとえば式(4)に示すような線形変換処理をすることで色調補正などをする。
ここで、式(2)に式(1)を当てはめる。ここでは便宜上、式(2)の3×3マトリックスを一般的な形式で記述する。これにより式(5)が導き出せる。
式(1)と式(5)とを比較すると、式(5)は式(1)の周波数強度FY(u,v)が、周波数強度の線形変換aryFY(u,v)+arcbFCb(u,v)+arcrFCr(u,v)に置き換わっただけであることが分かる。つまり、色成分での線形変換は、周波数強度での線形変換に置換できるということである。式(3)は、式(1)の出力に対して、色空間変換するためにさらに線形変換を施しているだけなので、式(1)と式(2)の線形変換を結合できるため、式(5)と同様に表現できる。
一方、RGB色空間での色調補正処理を表す式(4)については、平行移動項(R0,G0,B0)が含まれているため式(5)に対して変形が必要である。しかし、周波数強度F(0,0)は直流成分すなわち平行移動項と等価なので、周波数強度に変換した平行移動項ΔF(0,0)をDC係数F(0,0)の値に加算すれば式(6)となる。したがって、結局、式(5)と同様に表現することができる。
そこで、基底信号線形変換部310は、色成分での線形変換を基底信号強度での線形変換に置換することで、各色成分の基底信号強度を線形変換し色変換処理を実現する(以下この処理を「基底信号強度変換処理」ともいう)。たとえば出力装置の色空間特性に合わせた色補正処理を実現する際には、式(5)に基づいて線形変換処理をする。また、RGB色空間での色調補正処理を実現する際には、式(6)に基づいて線形変換処理をする。
これらの変換処理に際しては、たとえば前記関数に従って実際に算術してもよいし、ルックアップテーブルを利用して変換してもよい。ルックアップテーブルとしては、たとえば3次元(3−D)補間をもつ3−Dルックアップテーブルを用いるとよい。また、式(5)に基づいて色補正処理をする際には、係数を適当に採ることで、YCbCrの1組の色座標を、対応する装置座標Y’Cb’Cr’にマッピングさせてもよい。これにより、色空間の変換だけでなく、好みの色調となるように色調補正を同時に実現することもできる。
このように色成分ごとに基底信号強度を線形変換することで、処理対象となるカラー圧縮画像データにおけるたとえば逆DCTのような基底強度信号を色画素表現に戻すのに先立って、カラー圧縮画像データに対する信号変換処理(色空間変換処理、色補正処理、色調補正処理、強調処理、など)を行なうことが可能となる。つまり、色変換と逆DCT処理の順番を逆にすることができる。そのため、逆DCTなどの処理を事前に行なう必要がなく、その分だけ信号変換処理までの処理が軽くなる。また、事前に逆DCTなどの処理を行なわなくても、たとえば基底強度信号を線形変換すれば、適切な信号変換処理が実現可能となる。
逆DCT変換部320は、基底信号線形変換部310により線形な色変換処理が施された画像データを逆DCT変換処理することで、出力カラー画像を得る。これにより、逆DCT変換部320は、所望の線形な色変換が施された出力カラー画像を表す伸長色補正デジタルデータD10を出力することができる。また、量子化部400およびハフマン符号化部500により、基底信号線形変換部310から出力された色変換後の画像データを圧縮JPEG画像に変換する。したがって、ハフマン符号化部500は、所望の線形な色変換が施された出力JPEG画像を表す圧縮色補正デジタルデータD20を出力することができる。
このように、本実施形態の色変換部300では、基底信号強度を線形変換することで色変換処理を実現する(基底信号強度変換処理をする)ようにしたので、特開平10−191074号における処理のように、無駄な逆DCT変換などの処理が省けるため、高速かつ演算量が少ない色変換処理を実現することができる。また、高周波成分を省くことなく、全ての基底信号の強度データを用いて線形変換するため、色変換誤差が発生し難い。
また、色変換された画像を再度JPEG画像として出力する際には、量子化およびハフマン符号化をして再圧縮し出力するだけでよく、特開平10−191074号における処理のように、色変換された一部データ(DCT係数データ)と残りのDCT係数データとをマージする必要がないので、JPEG画像生成処理も軽くなる。
また、基底信号強度を線形変換することで色変換処理を実現することに加えて、線形な色変換が施された画像データを一旦色画素表現に変換した後ではあるものの、非線形な色変換処理を実現することができる。また、全ての基底信号の強度データを用いて線形変換されているので、非線形な色変換においても、色変換誤差が発生し難い。
<第2と第3の特徴の詳細>
次に、本実施形態の第2および第3の特徴である、ゼロ検出部112、基底信号線形変換部310、および逆DCT変換部320における作用について詳細に説明する。図5は、第2の特徴を実現する処理の根拠を説明する図である。図6は、強度データ値が“0”になる周波数での演算省略方法の一例を示す図である。
次に、本実施形態の第2および第3の特徴である、ゼロ検出部112、基底信号線形変換部310、および逆DCT変換部320における作用について詳細に説明する。図5は、第2の特徴を実現する処理の根拠を説明する図である。図6は、強度データ値が“0”になる周波数での演算省略方法の一例を示す図である。
図5は、あるサンプルJPEG画像のハフマン復号化されたブロックのうち2組をサンプルとして示している。この図5から、高周波方向(各ブロックの右下方向)の強度データは大半が“0”になることが分かる。また、式(5)から分かるように、Y,Cb,Cr成分の周波数強度データ値FY(u,v),FCb(u,v),FCr(u,v)が全て“0”の場合は、その周波数における強度変換の結果も“0”になることが分かる。
そこで、本実施形態の画像処理プロセッサ56では、強度データの大半が“0”になるという特徴と、ある周波数における強度データ値が全て“0”ならば強度変換結果も“0”となるという特徴とを活かし、復号された場合に、強度データ値が“0”になるハフマン符号を検出することによって、全ての色成分における強度データ値が“0”になる周波数では強度変換を省略する。
このため先ず、ゼロ検出部112は、ハフマン符号化された入力JPEG画像D1から、EOB(End of Block)符号を検出する。なお、EOB符号とは、EOBの位置以降、ブロックの終端まで値“0”で復号されることを意味する。また、JPEG規格のデフォルトでは明るさ成分Yについては符号“1010”が、クロミナンス成分Cb,Crについては符号“00”が割り当てられている。
そこでゼロ検出部112は、もしEOB符号が検出されれば、それまでに復号される量子化された強度データの個数をEOB位置とし、EOB符号が検出されなければブロック画素数(たとえば8×8画素からなるブロックであれば64)をEOB位置とする。またハフマン復号化部114は、EOB位置の前まで入力符号化信号を復号化する。ゼロ検出付きハフマン復号化部110は、ゼロ検出部112が決定したEOB位置と、ハフマン復号化部114により復号化されたブロック画像信号とを逆量子化部200に入力する。
逆量子化部200は、ゼロ検出付きハフマン復号化部110から入力されたEOB位置信号を読み取り、EOB位置の前までを逆量子化し、残りのEOB位置以降については値“0”で埋める。そして、EOB位置信号と逆量子化されたブロック画像信号を色変換部300の基底信号線形変換部310に入力する。
基底信号線形変換部310は、色成分ごとのEOB位置信号を読み取り、最も値が大きいEOB位置を最大EOB位置とする。ここで最大EOB位置とは、全ての色成分において、最大EOB位置以降、各色成分ブロックの終端まで逆量子化信号値が“0”であるという意味である。基底信号線形変換部310は、最大EOB位置の前まで、強度データを線形変換することで色変換処理をする一方、残りの最大EOB位置以降については、値“0”で埋める。そして、基底信号線形変換部310は、線形変換したブロック画像データを出力する。
強度データ値が“0”になる周波数での演算省略方法の一例を図6に示す。図6(A)に示すように、ジグザグスキャンデータをEOBの値まで順番に演算していき、図6(B)の表から求めたu,v座標に結果を代入し、EOB以降は“0”を代入する。これにより、EOB以降の演算を省略することができる。
式(5)は間引きなしの場合であるが、JPEG画像のCb,Cr成分が間引かれている場合には、式(7)に示すように、Y成分とCb,Cr成分の色変換処理を分けることにより、色変換と逆DCT処理の順番を逆にすることができ、強度データ値が“0”になる周波数の演算を省略することができる。
<間引き画像に対する対処>
次に、間引き画像を処理対象とする場合における特有の伸長処理について説明する。以下では、間引きが4:2:2の場合と、4:2:0の場合とについて具体的に説明するが、その他の間引きモードの場合であっても、処理の考え方に相違はない。以下具体的に説明する。
次に、間引き画像を処理対象とする場合における特有の伸長処理について説明する。以下では、間引きが4:2:2の場合と、4:2:0の場合とについて具体的に説明するが、その他の間引きモードの場合であっても、処理の考え方に相違はない。以下具体的に説明する。
図7は、間引きが4:2:2の場合の伸長処理の概略を示す図である。間引きが4:2:2の場合には、Cb,Cr成分が水平方向に1/2に間引かれ、16×8画素からなるブロックとなる。ブロック信号のそれぞれが、原則として、間引き処理の態様に応じて伸長処理(復号処理)を必要とする部分信号となる。ただし、後述するように、その中には、実際の伸長処理(復号処理)を必要としないものも存在する。
たとえば、JPEGフォーマットでは、8×8画素からなるブロックを1単位として処理するので、入力画像を示すY,Cb,Crの各成分は、図7(A)の実線で示すブロックのように、Y成分は2ブロック、Cb成分とCr成分は各1ブロックの合計4ブロックが処理対象の1単位となる。
先ず基底信号線形変換部310は、図7(A)に示すY,Cb,Crの4ブロックの入力画像をRGB色空間に変換するため、式(2)の3×3マトリクス係数を掛け、図7(B)に示すように、R,G,BについてのY成分6ブロック、Cb成分3ブロック、Cr成分3ブロックの合計12ブロックの画像について、線形変換処理を施す。ここで、基底信号線形変換部310は、逆量子化部200から送られたEOB位置信号によって強度データ値が“0”になる周波数では強度変換を省略する。これは、強度データ値が“0”であれば、強度変換を行なっても実質的にはその意義がなく、無効なデータと考えてよいからである。なお、この点は、処理対象画像が間引き画像であるのか否かに左右されない。また、逆DCT変換処理における変換係数が全て“0”になるブロックについては、ブロック全体を強度変換の省略対象としてもよい。
次に基底信号線形変換部310は、各ブロックについて、逆DCT処理の要否を判断し、この後、間引きモード(間引きの状態)を示す識別情報と、逆DCT処理が必要なブロックのデータのみを逆DCT変換部320に入力する。
たとえば、12ブロックのうちの、変換係数が“0”になるブロックは逆DCT変換処理を省略させる。これは、変換係数が“0”であれば、逆変換を行なっても実質的にはその意義がなく、無効な係数と考えてよいからである。出力の色成分ごとに逆DCT変換処理しようとすると、処理対象ブロック数が12ブロックに増えるが、その中には実際に逆DCT処理を実行する必要のない、変換係数が“0”になるブロックがある。このようなブロックについては処理を省略することで、処理負担を軽減する。
また、R,G,BのY成分,Cb成分、Cr成分の各変換係数が同じものについては、R,G,Bの何れかについて逆DCT変換するだけでよく、他の色成分については、実際に逆DCT処理を実行する必要のないブロックとなる。他の色成分については、何れかについて逆DCT変換により求められる符号化係数をそのまま使用することができる。
たとえば、式(2)より先ず、R成分についてのCb成分と、B成分についてのCr成分の変換係数が“0”であるから、これら2ブロックが省略対象のブロックとなる。加えて、式(2)よりR,G,Bの各Y成分の変換係数は“1”であり、R,G,BそれぞれのY成分は値が同じになり、R,G,Bの何れかについて逆DCT変換するだけでよく、2ブロックのみが処理対象のブロックとなる。残りのブロックについては、何れかについて逆DCT変換された結果(求められた符号化係数)をそのまま利用すればよい。
これにより、間引きが4:2:2の場合において逆DCT処理が必要なブロックは、図7(B)の図中に格子ハッチで示す、Y成分2ブロック(図ではR成分について)と、何れも変換係数が“0”のブロックを除くR,G,BそれぞれについてのCb成分2ブロックおよびCr成分2ブロックの合計6ブロックとなる。
また、本実施形態では、さらに処理効率を高めるため、同じ間引き率の成分については、合成処理が可能である点に着目して、出力色ごとに、その同じ間引き率のブロックの情報を足し合わせる。たとえば、間引きが4:2:2の場合、Cb成分とCr成分とが水平方向に同じ間引き率であるので、Cb成分とCr成分を、R,G,Bのそれぞれについて足し合わせることにより、図7(C)に示すように、Cb+Cr成分の3ブロックに纏める。
これにより、間引きが4:2:2の場合において逆DCT処理が必要なブロックは、図7(C)に示すように、図中に格子ハッチで示す、Y成分2ブロック(図ではR成分について)とR,G,BそれぞれについてのCb+Cr成分3ブロックの合計5ブロックとなる。
基底信号線形変換部310は、間引きモードを示す識別情報と、逆DCT処理が必要なY成分2ブロックとR,G,BそれぞれについてのCb+Cr成分3ブロックの各データを逆DCT変換部320に入力する。
逆DCT変換部320では、基底信号線形変換部310から送られたブロックについて、Y成分とCb+Cr成分の逆DCT処理を分けて行なう。間引きが4:2:2の場合は、たとえばR成分についてのY成分2ブロックと、R,G,BのそれぞれについてのCb+Cr成分3ブロックの逆DCT処理を行なう。そして、G成分とB成分の各Y成分2ブロックについては、R成分についてのY成分2ブロックの処理結果を利用する。こうすることで、図7(D)に示すように、全ての成分について逆DCT処理が完了する。逆DCT変換部320は、間引きモード識別情報と逆DCT処理を行なった結果を画像補間部330に入力する。
画像補間部330では、逆DCT処理部から送られた間引きモード識別情報と各ブロックの値から、間引きのないR,G,Bそれぞれについての出力画像を合成する。たとえば、間引きが4:2:2の場合は、Cb成分とCr成分をそれぞれ水平方向に2倍に拡大し、Y成分に足し合わせる。その結果、図7(E)に示すように、R,G,Bそれぞれ2ブロックずつの出力画像が得られる。
これにより、逆DCT変換部320は、間引きが4:2:2の画像を対象とする場合であっても、線形な色変換が施された出力カラー画像を表す伸長色補正デジタルデータD10を不都合なく出力することもがきる。たとえば、カラー画像として出力する場合には、図7(F)に示すように、これらR,G,B各2ブロックずつの出力画像に基づいてたとえば印刷出力することで、2ブロックの1つの出力画像にする。
図8は、間引きが4:2:0(4:1:1と呼ばれることもある)の場合の伸長処理の概略を示す。間引きが4:2:0の場合には、Cb,Cr成分が水平方向、垂直方向ともに1/2に間引かれ8×8画素からなるブロックとなる。JPEGフォーマットでは、8×8画素からなるブロックを1単位として処理するので、入力画像を示すY,Cb,Crの各成分は、図8(A)の実線で示すブロックのように、Y成分は4ブロック、Cb成分とCr成分は各1ブロックの合計6ブロックが処理対象の1単位となる。
先ず基底信号線形変換部310は、図8(A)に示すY,Cb,Crの6ブロックの入力画像をRGB色空間に変換するため、式(2)の3×3マトリクス係数を掛け、図8(B)に示すように、R,G,BそれぞれについてのY成分12ブロックと、R,G,BそれぞれについてのCb成分3ブロックと、R,G,BそれぞれについてのCr成分3ブロックの合計18ブロックの画像について、線形変換処理を施す。この際、基底信号線形変換部310は、間引きが4:2:2の場合と同様に、逆量子化部200から送られたEOB位置信号によって強度データ値が“0”になる周波数では強度変換を省略する。
次に基底信号線形変換部310は、各ブロックについて、逆DCT処理の要否を判断する。判断条件は、間引きが4:2:2の場合と同様であり、先ず、変換係数が“0”になるブロックは逆DCT変換処理を省略させる。また、R,G,BのY成分,Cb成分、およびCb成分の各変換係数が同じものについては、R,G,Bの何れかについてのみを処理対象とする。これにより、間引きが4:2:0の場合において逆DCT処理が必要なブロックは、図8(B)右下に示すように、図中に格子ハッチで示す、Y成分4ブロック(図ではR成分について)とR,G,BそれぞれについてのCb成分2ブロック(およびCr成分2ブロック(色成分は何れも変換係数が“0”のブロックを除く)の合計8ブロックとなる。
また、さらに処理効率を高めるため、同じ間引き率の成分については、出力色ごとに、その同じ間引き率のブロックの情報を足し合わせる。これにより、間引きが4:2:0の場合で逆DCT処理が必要なブロックは、図8(C)に示すように、図中に格子ハッチで示す、Y成分4ブロック(図ではR成分について)とR,G,BそれぞれについてのCb+Cr成分3ブロックの合計7ブロックとなる。
基底信号線形変換部310は、間引きモードを示す識別情報と、逆DCT処理が必要なY成分4ブロックとR,G,BそれぞれについてのCb+Cr成分3ブロックの各データを逆DCT変換部320に入力する。
逆DCT変換部320は、基底信号線形変換部310から送られたR成分についてのY成分4ブロックと、R,G,BのそれぞれについてのCb+Cr成分3ブロックについて、逆DCT処理を個別に行なう。そして、G成分とB成分の各Y成分4ブロックについては、R成分についてのY成分4ブロックの処理結果を利用する。こうすることで、図8(D)に示すように、全ての成分について逆DCT処理が完了する。逆DCT変換部320は、間引きモード識別情報と逆DCT処理を行なった結果を画像補間部330に入力する。
画像補間部330では、逆DCT処理部から送られた間引きモード識別情報と各ブロックの値から、Cb成分とCr成分を、それぞれ水平方向および垂直方向に2倍に拡大し、Y成分に足し合わせることで、間引きのないR,G,Bそれぞれについての出力画像を合成する。その結果、図8(E)に示すように、R,G,Bそれぞれ4ブロックずつの出力画像が得られる。
これにより、逆DCT変換部320は、間引きが4:2:0の画像を対象とする場合であっても、線形な色変換が施された出力カラー画像を表す伸長色補正デジタルデータD10を不都合なく出力することもがきる。カラー画像として出力する場合には、図8(F)に示すように、これらR,G,B各4ブロックずつの出力画像に基づいてたとえば印刷出力することで、4ブロックの1つの出力画像にする。
これにより、逆DCT変換部320は、間引きが4:2:0の画像を対象とする場合であっても、線形な色変換が施された出力カラー画像を表す伸長色補正デジタルデータD10を不都合なく出力することもがきる。カラー画像として出力する場合には、図8(F)に示すように、これらR,G,B各4ブロックずつの出力画像に基づいてたとえば印刷出力することで、4ブロックの1つの出力画像にする。
以上のように、本実施形態の画像処理プロセッサ56では、カラー圧縮画像データに対する色変換処理などの信号変換処理を、そのカラー圧縮画像データにおける基底強度信号を色画素表現に戻す処理に先立って行なうようになっている。加えて、処理対象のブロック内でも、強度データ値が“0”になる周波数についてはさらに無駄な線形変換処理を省略する。したがって、カラー圧縮画像データを取り扱い、かつ、色信号に対して所定の変換処理をする場合においても、従来あったような処理負荷の重さの問題を解決した、高速かつ演算量が少ない信号変換処理(色変換処理)を実現することができる。また、高周波成分を省くことなく、全ての基底信号の強度データを用いて線形変換するため、色変換誤差が発生し難い。
加えて、輝度成分(前例ではY成分)と色成分(前例ではCb+Cr成分)の逆DCT処理を分け、また真に必要なブロックについてのみ逆DCT変換処理を行なうことで、間引き画像を対象とする場合であっても、Cb,Cr成分の補間処理やY成分との合成が簡単に実現でき、特段の不都合を生じることなく、処理効率を高め、高速に色変換処理を実現することができる。
このように、本実施形態の画像処理プロセッサ56に依れば、所定の条件を満たす部分について、逆量子化および基底信号強度変換処理や逆DCT処理を省略し、これにより、間引き画像を対象とする場合であっても、高速に色変換処理を実現することができるようになった。
図9は、CPUやメモリを利用して、ソフトウェア的に画像処理装置5を構成する、すなわち電子計算機(コンピュータ)を用いて構成する場合のハードウェア構成の一例を示した図である。
この画像処理装置5は、CPU902、ROM(Read Only Memory)904、RAM906、および通信I/F(インターフェース)908を備える。また、たとえばハードディスク装置914、フレキシブルディスク(FD)ドライブ916、あるいはCD−ROM(Compact Disk ROM)ドライブ918などの、記憶媒体からデータを読み出したり記録したりするための記録・読取装置を備えてもよい。ハードディスク装置914、FDドライブ916、あるいはCD−ROMドライブ918は、たとえば、CPU902にソフトウェア処理をさせるためのプログラムデータを登録するなどのために利用される。通信I/F908は、インターネットなどの通信網との間の通信データの受け渡しを仲介する。
このような構成の画像処理装置5は、上記実施形態に示した基本的な構成および動作と同様とすることができる。また、上述した処理をコンピュータに実行させるプログラムは、CD−ROM922などの記録媒体を通じて配布される。あるいは、前記プログラムは、CD−ROM922ではなくFD920に格納されてもよい。また、MOドライブを設け、MOに前記プログラムを格納してもよく、またフラッシュメモリなどの不揮発性の半導体メモリカード924などのその他の記録媒体に前記プログラムを格納してもよい。
さらに、他のサーバなどからインターネットなどの通信網を経由して前記プログラムをダウンロードして取得し、あるいは更新してもよい。なお、記録媒体としては、FD920やCD−ROM922などの他にも、DVDなどの光学記録媒体、MDなどの磁気記録媒体、PDなどの光磁気記録媒体、テープ媒体、磁気記録媒体、ICカードやミニチュアカードなどの半導体メモリを用いることができる。
記録媒体の一例としてのFD920やCD−ROM922などには、上記実施形態で説明した画像処理装置5における処理の一部または全ての機能を格納することができる。したがって、以下のプログラムや当該プログラムを格納した記憶媒体を提供することができる。たとえば、画像処理装置5用のプログラム、すなわちRAM906などにインストールされるソフトウェアは、上記各実施形態に示された画像処理装置5と同様に、種々の形態の色変換部300、量子化部400、ハフマン符号化部500、逆DCT変換部320、DCT変換部700、あるいはゼロ検出部112などの各機能部をソフトウェアとして備える。このソフトウェアは、たとえばプリンタドライバやディスプレイドライバなどとして、CD−ROMやFDなどの可搬型の記憶媒体に格納され、あるいはネットワークを介して配布される。そして、このようなソフトウェアは、たとえば画像処理用ソフトウェアに利用されるライブラリの一部として登録しておくとよい。
そしてたとえば画像処理装置5をコンピュータにより構成する場合、CD−ROMドライブ918は、CD−ROM922からデータまたはプログラムを読み取ってCPU902に渡す。そしてソフトウェアはCD−ROM922からハードディスク装置914にインストールされる。ハードディスク装置914は、FDドライブ916またはCD−ROMドライブ918によって読み出されたデータまたはプログラムや、CPU902がプログラムを実行することにより作成されたデータを記憶するとともに、記憶したデータまたはプログラムを読み取ってCPU902に渡す。ハードディスク装置914に格納されたソフトウェアは、RAM906に読み出された後にCPU902により実行される。たとえばCPU902は、記録媒体の一例であるROM904およびRAM906に格納されたプログラムに基づいて上記の処理を実行することにより、上記処理における基底信号強度変換処理(線形な色変換処理)あるいは非線形な色変換処理のための機能をソフトウェア的に実現することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。また、上記の実施形態は、クレームにかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。
たとえば、色変換を周波数強度における線形変換で実現する手法は、JPEGフォーマットだけに限らず、任意の基底信号で強度表現された画像に対して適用することができる。
また上記実施形態では、JPEG準拠の画像処理をするために、コサイン波を基底信号として使用したが、基底信号はこれに限らない。たとえば、ウェーブレット信号を用いることもできる。
また、上記実施形態では、ゼロ検出にEOB符号を用いたが、EOB符号の代わりに値“0”が16個続くことを表すZRL(Zero Run Length) 符号を用いることも、あるいは、EOB符号とZRL符号の両者を用いることなどもできる。なお、JPEG規格のデフォルトでは、明るさ成分Yについては符号“11111111001”が、クロミナンス成分Cb,Crについては、符号“1111111010”が、それぞれZRLに割り振られている。
また、上記実施形態では、周波数強度データ値FY(u,v),FCb(u,v),FCr(u,v)が全て“0”である場合に強度変換処理を省略したが、たとえばクロミナンス成分FCb(u,v),FCr(u,v)の方が明るさ成分FY(u,v)よりも値が“0”になることが多いので、クロミナンス成分だけゼロ検出してもよい。また、全ての色成分が“0”になる場合と、クロミナンス成分だけが“0”になる場合とに分けてゼロ検出をしてもよい。
また、上記実施形態では、色変換後のデータを用いて印刷処理したり表示する画像処理システムについて説明したが、これに限らず、たとえば、圧縮画像データの伝送や記憶蓄積を行なうものなど、圧縮画像を取り扱う種々の機器やシステムであれば、上述した処理を同様に適用することができる。
たとえば、カラースキャナ32、画像処理装置5、およびプリントエンジン70を一体化させた複写装置に適用することもできる。また、ディジタルカメラに適用することで、画像圧縮データを変換する場合において、メモリに記憶させておいた圧縮JPEG画像を外部機器に出力する前に、基底信号強度変換処理(線形な色変換処理)あるいは非線形な色変換処理をすることで色補正をし、色補正された圧縮JPEG画像を出力するようにしてもよい。
上記実施形態で示した本発明の構成は、間引き画像を処理対象としつつ、正しい色をもつ圧縮デジタル画像が要求されるデジタルプリンタやコピー機などカラー作像システムに適用すると好適である。
1…画像処理システム、3…画像入力端末、5…画像処理装置、7…画像出力端末、56…画像処理プロセッサ(信号処理部)、70…プリントエンジン、80…ディスプレイ装置、110…ゼロ検出付きハフマン復号化部、112…ゼロ検出部、114…ハフマン復号化部、200…逆量子化部、300…色変換部、310…基底信号線形変換部、320…逆DCT変換部、330…画像補間部、340…色値変換部、400…量子化部、500…ハフマン符号化部、610…DCT変換部、620…量子化部、630…ハフマン符号化部、D10,D12…伸長色補正デジタルデータ、D20,D22…圧縮色補正デジタルデータ
Claims (12)
- データ圧縮されたカラー画像に対して伸長処理を施す画像処理装置であって、
前記データ圧縮されたカラー画像データとして、複数の色成分のそれぞれのデータを含み、かつ、前記複数の色成分のうちの少なくとも1つの色成分については間引き処理がされている画像データを受け取り、前記色成分ごとに、前記間引き処理の態様に応じて伸長処理を必要とする部分信号を特定してこの特定した部分信号に対して伸長処理を施す信号処理部
を備えたことを特徴とする画像処理装置。 - 前記信号処理部は、実質的に無効な変換係数を含む部分信号を前記伸長処理が不要な部分信号であるとし、この伸長処理が不要な部分信号を除く部分信号を、前記伸長処理を必要とする部分信号とする
ことを特徴とする請求項1に記載の画像処理装置。 - 前記信号処理部は、複数の部分信号のうち、共通な変換係数を含む部分信号については、そのうちの1つの部分信号を、前記伸長処理を必要とする部分信号とする
ことを特徴とする請求項1に記載の画像処理装置。 - 前記信号処理部は、前記複数の部分信号のうち、前記伸長処理を必要とする部分信号とした前記1つの部分信号を除く部分信号については、当該1つの部分信号について前記伸長処理を施すことで得られる符号化係数を、前記伸長処理の結果として使用する
ことを特徴とする請求項3に記載の画像処理装置。 - 前記信号処理部は、前記複数の色成分のうちの間引き率の同じ成分については、対応する部分信号を合成してから前記伸長処理を施す
ことを特徴とする請求項1から4のうちの何れか1項に記載の画像処理装置。 - 前記信号処理部は、JPEG圧縮画像のY,Cb,Cr成分のうちCb,Cr成分が水平方向および垂直方向の少なくとも一方に間引かれている画像データを前記データ圧縮されたカラー画像データとして受け取る
ことを特徴とする請求項1から5のうちの何れか1項に記載の画像処理装置。 - 前記信号処理部は、
色成分ごとに基底信号強度として表現されているデータを前記データ圧縮されたカラー画像データとして受け取り、前記色成分ごとに、前記基底信号強度を線形変換することで信号変換処理をする線形信号変換部を有し、
当該線形信号変換部により処理された処理済みデータに対して前記伸長処理を施す
ことを特徴とする請求項1から6のうちの何れか1項に記載の画像処理装置。 - 前記線形信号変換部は、前記信号変換処理として、色変換処理をする
ことを特徴とする請求項7に記載の画像処理装置。 - 前記線形信号変換部は、前記線形変換処理として、Y,Cb,Cr色空間からR,G,B色空間への色変換処理をする
ことを特徴とする請求項8に記載の画像処理装置。 - 前記信号処理部は、
前記伸長処理がされると基底信号強度値がゼロとなることを表すゼロ判定符号を検出するゼロ検出部を有し、
前記線形信号変換部は、前記ゼロ検出部により検出された、前記伸長処理がされると基底信号強度値がゼロとなる基底信号については、前記線形変換を省略する
ことを特徴とする請求項8または9に記載の画像処理装置。 - 前記信号処理部は、前記複数の色成分のうちの前記間引き処理がされている画像データについて、補間処理をすることで間引き前の画像を復元する画像補間部
を有することを特徴とする請求項1から10のうち何れか1項に記載の画像処理装置。 - データ圧縮されたカラー画像に対して、伸長処理を施すためのプログラムであって、
コンピュータを、
前記データ圧縮されたカラー画像データとして、複数の色成分のそれぞれのデータを含み、かつ、前記複数の色成分のうちの少なくとも1つの色成分については間引き処理がされている画像データを受け取る画像データ取得部と、
前記画像データ取得部が取得したカラー画像データについて、前記色成分ごとに、前記間引き処理の態様に応じて伸長処理を必要とする部分信号を特定してこの特定した部分信号に対して伸長処理を施す伸長処理部と
して機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003329704A JP2005101712A (ja) | 2003-09-22 | 2003-09-22 | 画像処理装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003329704A JP2005101712A (ja) | 2003-09-22 | 2003-09-22 | 画像処理装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005101712A true JP2005101712A (ja) | 2005-04-14 |
Family
ID=34458883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003329704A Pending JP2005101712A (ja) | 2003-09-22 | 2003-09-22 | 画像処理装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005101712A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009278625A (ja) * | 2008-05-14 | 2009-11-26 | Thomson Licensing | 空間周波数解析を使用して圧縮イメージをガモットマップイメージに処理する方法 |
JP7265688B1 (ja) * | 2021-12-15 | 2023-04-26 | 楽天グループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
-
2003
- 2003-09-22 JP JP2003329704A patent/JP2005101712A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009278625A (ja) * | 2008-05-14 | 2009-11-26 | Thomson Licensing | 空間周波数解析を使用して圧縮イメージをガモットマップイメージに処理する方法 |
US9113113B2 (en) | 2008-05-14 | 2015-08-18 | Thomson Licensing | Method of processing of compressed image into a gamut mapped image using spatial frequency analysis |
JP7265688B1 (ja) * | 2021-12-15 | 2023-04-26 | 楽天グループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
WO2023112199A1 (ja) * | 2021-12-15 | 2023-06-22 | 楽天グループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7499592B2 (en) | Image decoding apparatus and its control method | |
JP5432450B2 (ja) | エントロピー符号化を利用したカラー画像データの可逆圧縮 | |
JP5052569B2 (ja) | 画像圧縮装置、画像圧縮方法、画像伸張装置、画像伸張方法、画像形成装置、コンピュータプログラム及び記録媒体 | |
US6009192A (en) | Color correction of a compressed image | |
JP4111923B2 (ja) | データ形式可逆変換方法、画像処理装置、データ形式可逆変換用プログラム及び記憶媒体 | |
JP3989009B2 (ja) | フォワード変換装置及びインバース変換装置 | |
JP3830009B2 (ja) | データ処理システム及び色変換方法 | |
JP5132517B2 (ja) | 画像処理装置および画像処理方法 | |
JPH10112796A (ja) | Jpeg圧縮を使用して少ないメモリで画像を回転するための装置 | |
US20050276500A1 (en) | Image encoding apparatus, and image processing apparatus and its control method | |
JP2000138836A (ja) | 背景画素を含むディジタル画像の圧縮装置 | |
US8335387B2 (en) | Streak compensation in compressed image paths | |
JP4559303B2 (ja) | 画像処理装置、画像処理方法および画像処理用プログラム | |
JP2004112695A (ja) | 画像処理装置及びその処理方法 | |
US8284450B2 (en) | Streak compensation in compressed image paths | |
JP2005101712A (ja) | 画像処理装置およびプログラム | |
JPH1175183A (ja) | 画像信号の処理方法及び装置、記録媒体 | |
JP3950791B2 (ja) | 画像処理装置及び画像データ処理方法 | |
JP2003125207A (ja) | 画像処理装置およびプログラム | |
JP4241517B2 (ja) | 画像符号化装置及び画像復号装置 | |
JP4374056B2 (ja) | データ形式可逆変換方法、画像処理装置、データ形式可逆変換用プログラム及び記憶媒体 | |
JP2003274407A (ja) | 画像処理装置および画像処理プログラム | |
US8554000B2 (en) | Image forming apparatus and method | |
JP4262145B2 (ja) | 画像処理装置及びその制御方法 | |
JP2005295395A (ja) | 画像処理装置、画像処理方法、および画像処理プログラム |