画像処理装置、画像処理方法および記録媒体
【課題】 特別な前処理を必要とせず、単純な装置構成で高画質な解像度変換画像を得ることができる画像処理装置を提供する。
【解決手段】 倍率入力部1から倍率を入力し、画像入力部2から画像を入力する。この入力された画像に対して、第1補間処理部5で主走査方向の補間処理が第1の補間方法を用いてなされ、中間バッファ7に格納される。この中間バッファ7に格納された画像に対して、第2補間処理部9で副走査方向の補間処理が第2の補間方法を用いてなされ、画像出力部11に出力される。
【解決手段】 倍率入力部1から倍率を入力し、画像入力部2から画像を入力する。この入力された画像に対して、第1補間処理部5で主走査方向の補間処理が第1の補間方法を用いてなされ、中間バッファ7に格納される。この中間バッファ7に格納された画像に対して、第2補間処理部9で副走査方向の補間処理が第2の補間方法を用いてなされ、画像出力部11に出力される。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ディジタル画像の解像度を変換する際に用いて好適な画像処理装置、画像処理方法および記録媒体に関する。
【0002】
【従来の技術】画像の解像度変換処理技術は、入力機器および出力機器間で取り扱われる画像の解像度が異なる場合に入力原画像と同サイズの出力画像を得る際に必要とされる技術であり、あるいは画像の拡大・縮小処理においても用いられる技術である。そして、実際に多値ディジタル画像の解像度を変換する方法として、ゼロ次ホールド法、最近隣内挿法、共1次内挿法、3次たたみ込み内挿法などが一般に知られている。図14および図15R>5は、これらの解像度変換方法の概要を模式的に示したものである。これらの図では、原画像の画素(原画素と称する)とこの原画像に対する補間処理によって解像度変換がなされた画像の画素(変換画素と称する)との関係について上段に示し、その下段には変換画素の濃度または輝度を表す画素値Pを求めるための演算式を提示している。
【0003】まず、図14(a)に示したように、ゼロ次ホールド法は補間したい点(画素)の左上の原画素データを補間データとするアルゴリズムであり、また、最近隣内挿法は補間したい点に最も近い原画素データを補間データとするアルゴリズムである。この両者の画像解像度変換方法では、解像度の変換後の画質はそれほど良いとは言えないが、アルゴリズムが単純であるため高速な画像の解像度変換処理が可能である。
【0004】次に、図14(b)に示したように、共1次内挿法は補間したい点の周囲4点の原画素から1次元演算(周囲4近傍画素との距離を考慮して線形関数により重み付けを行い画素値を算出する演算)により補間データを求めるアルゴリズムである。この方法では、解像度の変換後の画質は標準であり、処理速度も速くもなく遅くもなく標準程度である。
【0005】そして、図15に示したように、3次たたみ込み内挿法は内挿したい点の周囲16点の原画素から3次演算(sinx/xを基本とするsinc関数を多項式で近似した非線形関数を用いて、周囲16近傍画素の画素値を補間データに反映させる演算)により補間データを求めるアルゴリズムである。この方法では、解像度変換後の画質は比較的良好であるが、かなりの処理時間を要し、ハードウェアに対する負荷が大きい。
【0006】
【発明が解決しようとする課題】近年、パソコンやワークステーションで作成された多値画像データを高品位に出力することが可能なプリンタが開発され、ユーザに供給されている。一般にパソコンやワークステーションのディスプレイの解像度は75〜100dpi(1インチあたりのドット数)程度であり、一方、プリンタの解像度は300〜1200dpi程度である。また、プリンタの解像度は、高品位な出力を望む声と相まって年々高解像度化する傾向にある。例えば、100dpiの解像度のディスプレイで表示されている画像を400dpiのプリンタで出力し、その出力画像をディスプレイで表示されている画像と同じ大きさにするためには解像度を4倍に変換する処理を施す必要がある。
【0007】しかし、このように大きな解像度変換率になると、上記従来のゼロ次ホールド法または最近隣内挿法を用いて解像度変換処理を行うと、補間によるブロック構造(モザイク状構造)が出力画像に現れる。また、共1次内挿法では、原画像において急峻に画像データの画素値が変化するエッジ部分がボケるという不都合がある。さらに、3次たたみ込み内挿法では、このエッジ部のボケ具合は共1次内挿法に比べて多少改善されるが、画像の濃度(濃淡)が緩やかに変化するグラデーション部に疑似輪郭を発生する等の不都合がある。
【0008】このような従来技術による補間方法を改良する手段として、特開平7−50752号公報に開示された技術によると、補間すべき画素とその周辺画素からなる原画像のブロックを抽出して、そのブロック内にエッジが存在し、かつパターンマッチングによりブロック内の2値化パターンと補間すべき画素位置とを照合した結果として、一致するパターンがある場合は最近隣内挿法の出力を選択し、それ以外の場合は共1次内挿法の出力を選択する方法が提案されている。
【0009】しかし、この方法では、補間手法を切り換えるために種々の処理が必要であり、さらに出力画素を1つ求めるために複数の手法による補間画素を求める必要がある。したがって、処理のアルゴリズムが複雑になるとともに、高速に処理しようとすると、それなりのスペックのハードウェアを用意する必要がありコストもかかる。
【0010】そこで、この発明は、このような従来の課題に着目してなされたもので、上記のような特別な前処理を必要とせず、単純な装置構成をもって高画質な解像度変換画像を得ることができる画像処理装置、画像処理方法および記録媒体を提供することを目的とするものである。
【0011】
【課題を解決するための手段】上記目的を達成するために、第1発明の画像処理装置は、入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データを第1の補間方法により第1の走査方向に沿って補間して第1の補間画像データを出力する第1の補間処理手段と、前記第1の補間画像データを第2の補間方法により第2の走査方向に沿って補間して第2の補間画像データを出力する第2の補間処理手段とを有することを特徴とするものである。
【0012】第2発明の画像処理装置は、入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データの主走査方向の画素数がI、副走査方向の画素数がJである場合にI行J列の画素の配置パターンを想定し、この画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第1の補間方法により前記各画素の補間を行う第1の補間処理手段と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第2の補間方法により画素の補間を行う第2の補間処理手段とを有することを特徴とするものである。
【0013】第3発明の画像処理装置は、上記第2発明の画像処理装置において、前記画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第3の補間方法により前記各画素の補間を行う第3の補間処理手段と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第4の補間方法により画素の補間を行う第4の補間処理手段と、前記画素配置パターンのk行目と(k+1)行目の間に1ライン分の画素を補間するに際して、前記第1の補間処理手段および前記第2の補間処理手段を動作させるとともに、さらに前記k行目と(k+1)行目の間の別のラインに1ライン分の画素を補間するに際して、前記第3の補間処理手段および前記第4の補間処理手段を動作させる手段とを有することを特徴とするものである。
【0014】第4発明の画像処理装置は、上記第1〜3発明の画像処理装置において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とするものである。
【0015】第5発明の画像処理装置は、上記第3発明の画像処理装置において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであるとともに、前記第3の補間方法および前記第4の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とするものである。
【0016】第6発明の画像処理装置は、入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データにおける補間位置に対して第1の走査方向の周辺m画素の画素値を参照し、さらに前記補間位置に対して第2の走査方向の周辺n画素の画素値を参照することで、当該補間位置の画素の画素値を算出する手段を有することを特徴とするものである。
【0017】第7発明の画像処理方法は、入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データを第1の補間方法により第1の走査方向に沿って補間して第1の補間画像データを出力する過程と、前記第1の補間画像データを第2の補間方法により第2の走査方向に沿って補間して第2の補間画像データを出力する過程とを有することを特徴とするものである。
【0018】第8発明の画像処理方法は、入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データの主走査方向の画素数がI、副走査方向の画素数がJである場合にI行J列の画素の配置パターンを想定し、この画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第1の補間方法により前記各画素の補間を行う第1の過程と、前記第1の過程により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第2の補間方法により画素の補間を行う第2の過程とを有することを特徴とするものである。
【0019】第9発明の画像処理方法は、上記第8発明の画像処理方法において、前記画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第3の補間方法により前記各画素の補間を行う第3の過程と、前記第3の過程により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第4の補間方法により画素の補間を行う第4の過程と、前記画素配置パターンのk行目と(k+1)行目の間に1ライン分の画素を補間するに際して、前記第1の過程および前記第2の過程が実行されるとともに、さらに前記k行目と(k+1)行目の間の別のラインに1ライン分の画素を補間するに際して、前記第3の過程および前記第4の過程が実行される第5の過程とを有することを特徴とするものである。
【0020】第10発明の画像処理方法は、上記第7〜第9発明の画像処理方法において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とするものである。
【0021】第11発明の画像処理方法は、上記第9発明の画像処理方法において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであるとともに、前記第3の補間方法および前記第4の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とするものである。
【0022】第12発明の画像処理方法は、入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データにおける補間位置に対して第1の走査方向の周辺m画素の画素値を参照し、さらに前記補間位置に対して第2の走査方向の周辺n画素の画素値を参照することで当該補間位置の画素の画素値を算出する過程を有することを特徴とするものである。
【0023】第13発明の記録媒体は、上記第7〜第12発明の画像処理方法を実行するプログラムを記録したものであり、この記録媒体として、FD,MO,CD−ROM,DVD−RAM,テープメディア等種々の記録媒体を用いることができる。
【0024】
【発明の実施の形態】1.実施形態の原理本発明の実施形態の前提として、実施形態で用いられる補間処理の基本原理について説明する。以下の説明では、図3に示した2次元直交座標系を用いて各画素の位置を表すものとする。すなわち、画像の左上の座標を原点とし、この原点から下方向を主走査方向(i方向)、右方向を副走査方向(j方向)とする。そして、この座標系において、入力画像(原画像)の画素の座標を(I,J)、出力画像(解像度変換画像)の画素の座標を(i,j)と表すものとする。また、この座標系において、入力画像の右下の画素の座標を(Imax,Jmax)、出力画像の右下の画素の座標を(imax,jmax)とする。さらに、入力画像の画素値をS(I,J)、出力画像の画素値をD(i,j)と表すものとする。
【0025】図1は、変換画素(補間画素)Pと原画素P1,P2,・・・との位置関係を示したものである。このように、変換画素Pは周囲4近傍画素P1,P2,P3,P4で囲まれる矩形領域に対して−i方向にai、+i方向にbi、−j方向にaj、+j方向にbjの距離を有した補間位置に置かれている。
【0026】原画素に対してこのような補間位置にある変換画素Pの画素値を求めるために、図2に示したように、i方向とj方向に分けて補間処理を行う。まず、同図(a)に示したように、i方向へのみ補間処理を施してi方向への変換画素PA,PBの画素値を求める。すなわち、変換画素PAの画素値は、PAと同列(i方向)上にある近傍画素の中から適宜選択した画素(参照画素と称する)、例えば、画素P5,P1,P2,P6の画素値とそれぞれの画素までの距離((ai+1),ai,bi,(bi+1))を考慮して、所定の補間演算により算出される。同様に、変換画素PBの画素値は、参照画素P7,P3,P4,P8の画素値とそれぞれの画素までの距離を考慮して、所定の補間演算により算出される。
【0027】次に、同図(b)に示したように、求めたi方向への複数の変換画素を参照してj方向へのみ補間処理を施し、最終的な変換画素Pの画素値を求める。例えば参照画素として2画素分とることにした場合には、変換画素PA,PBの画素値と、変換画素Pとこれらの画素までの距離aj,bjとを考慮して、変換画素PA,PBの画素値を求めた際の補間演算式(第1の補間演算式という)とは別の補間演算式(第2の補間演算式という)により変換画素Pの画素値が算出される。
【0028】なお、第1の補間演算式および第2の補間演算式のいずれかに線形関数を用い、他方に非線形関数を用いることができる。ここで、線形関数とは、変数x,y,定数aに対して、f(x+y)=f(x)+f(y)
f(ax)=af(x)
がともに成り立つような関数fのことをいい、非線形関数とは、これら2式の少なくとも1つが成り立たない関数fのことをいう。以下の実施形態では、線形関数として共1次内挿法による演算式を用いて補間画素の値を求め、さらに非線形関数として3次たたみ込み内挿法による演算式により補間画素の値を求めているが、これらに限定されず、線形関数、非線形関数ともに種々の関数を用いることができる。
【0029】続いて、この発明の好ましい実施の形態について、以下、添付図面を参照しつつ詳細に説明する。
2.第1実施形態(画像処理装置A)
2.1.実施形態の構成図5は、本実施形態の画像処理装置Aの構成を示したものである。この画像処理装置Aは、解像度を変換する際の主走査方向および副走査方向の倍率Bj,Bjを入力するための倍率入力部1と、原画像データ(多値ディジタル画像)を入力するための画像入力部2と、補間すべき位置を決定するための補間位置決定部3と、第1の補間処理の際に参照画素を選択する第1参照画素選択部4と、第1の補間処理を行う第1補間処理部5と、第1の補間処理の際に補間係数の選択を行う第1補間係数選択部6と、第1の補間処理後のデータを格納するための中間バッファ7と、第2の補間処理の際の参照画素を選択する第2参照画素選択部8と、第2の補間処理を行う第2補間手法部9と、第2の補間処理の際に補間係数を選択する第2補間係数選択部10と、最終的な解像度変換画像を出力する出力部11とを備えて構成される。この画像処理装置Aにおいて、上記動作原理で説明したi方向の補間処理が第1補間処理部5で行われ、次いでj方向の補間処理が第2補間処理部9で行われる。
【0030】2.2.実施形態の動作2.2.1.基本動作シーケンス図7は、画像処理装置Aにおいて、解像度変換処理を行う際の基本的な動作のシーケンスを示したものである。まず、倍率入力部1からi方向への倍率Biとj方向への倍率Bjとが入力される(S10)。そして、画像入力部2から原画像の画素値データS(I,J)とImaxとJmaxの値が入力される(S11)。そして、解像度変換画像における右下端の座標(imax,jmax)が次式により算出される(S12)。
imax=Bi(Imax+1)−1・・・(1)
jmax=Bj(Jmax+1)−1・・・(2)
さらに、iの初期値として0がセットされる(S13)。そして、次のステップS14以降の処理により主走査方向であるi方向へ1ラインずつ補間処理が行われる。
【0031】この補間処理において、まず、第1補間処理部5は第1の補間方法を用いてi方向への補間処理を実行し、i行目の補間データを算出して中間バッファ7に BUF(J)(J=0,1,2,・・・・・,Jmax)・・・(3)
を格納する(S14)。次に、第2補間処理部9は、この中間バッファ7に格納されたデータを受け取り、第2の補間方法を用いてj方向への補間処理を行い、出力画像のi行目のデータとして出力する(S15)。
【0032】そして、iの値を1だけインクリメントして(S16)、iの値がimax以下であれば、ステップS14,S15による1ラインの処理が繰り返し行われる(S17→S14→S15→・・・)。そして、ステップS17でiの値がimaxよりも大きいと判定された時点で処理が終了する。そこで、i方向(主走査方向)への補間処理であるステップS14の処理と、j方向(副走査方向)への補間処理であるステップS15の処理について、以下、項を分けて説明する。
【0033】2.2.2.主走査方向への補間処理図9は、図7に示したステップS14の処理フロー(補間演算過程)を示している。まず、i方向に関して変換画素の手前に位置する周辺原画素の座標値Iと、この原画素から変換画素までのi方向の距離aiと、変換画素からi方向に対して座標値I+1を有する次の周辺原画素までの距離biとが次式によって算出される(S100)。なお、原画素と変換画素の位置関係およびI,ai,biの関係は既に説明した図1に示した通りである。
I=(int)i/Bi ・・・(4)
ai=(float)(i/Bi)−I・・・(5)
bi=1−ai ・・・(6)
ここで、(int)は小数点以下を切り捨て整数値で表記することを示し、(float)は浮動小数点で表記することを示す。
【0034】次にJの初期値として0がセットされると(S101)、i方向への1ライン分の補間処理が開始される。まず、I=0の場合は、次式BUF(J)=k1(ai)×S(0,J)+k2(ai)×S(0,J)+k3(bi)×S(1,J)+k4(bi)×S(2,J)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S102→S103)。そして、Jの値を1だけインクリメントして(S104)、J>Jmaxとなるまで繰り返し処理が行われ(S103→S104→S105→S103→S104→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0035】ここで、上記i方向の補間係数k1〜k4の値は、第1補間係数選択部6において次式により算出される。
k1(ai)=f1(ai)
k2(ai)=f2(ai)
k3(bi)=f2(bi)
k4(bi)=f1(bi)
ただし、f1(x)=4−8(1+x)+5(1+x)2−(1+x)3f2(x)=1−2x2+x3とする。これらの補間係数k1〜k4は変換画素から周辺原画素までのi方向の距離に応じて算出される係数である。第1補間係数選択部6に上記関数f1(x),f2(x)を記憶させておくことで、補間係数k1〜k4の値を求めることができる。ただし、i方向の倍率Biによって、予め(ai,bi)の組が決定されるから、これらの(ai,bi)に対応するk1〜k4の値を記述した係数テーブルを求めておくことが望ましい。
【0036】次に、I=Imax−1の場合は、次式BUF(J)=k1(ai)×S(Imax−2,J)+k2(ai)×S(Imax−1,J)+k3(bi)×S(Imax,J)+k4(bi)×S(Imax,J)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S102→S106→S107)。そして、Jの値を1だけインクリメントして(S108)、J>Jmaxとなるまで繰り返し処理が行われ(S107→S108→S109→S107→S108→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0037】また、I=Imaxの場合は、次式BUF(J)=k1(ai)×S(Imax−1,J)+k2(ai)×S(Imax,J)+k3(bi)×S(Imax,J)+k4(bi)×S(Imax,J)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S102→S106→S110→S111)。そして、Jの値を1だけインクリメントして(S112)、J>Jmaxとなるまで繰り返し処理が行われ(S111→S112→S113→S111→S112→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0038】0<I<Imaxの場合は、次式BUF(J)=k1(ai)×S(I−1,J)+k2(ai)×S(I,J)+k3(bi)×S(I+1,J)+k4(bi)×S(I+2,J)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S102→S106→S110→S114)。そして、Jの値を1だけインクリメントして(S115)、J>Jmaxとなるまで繰り返し処理が行われ(S114→S115→S116→S114→S115→・・・・)、中間バッファ7に1ライン分の補間データが格納される。このようにして主走査方向の1ライン分の補間処理が終了し、中間バッファ7に格納された1ラインのデータに対する副走査方向への補間処理に移行する。
【0039】2.2.3.副走査方向への補間処理図10R>0は、図7に示したステップS15の処理フロー(補間演算過程)を示している。jの初期値として0がセットされると(S200)、ステップS201以降のj方向へ1画素ずつ補間画素の画素値を算出する処理が開始される。
【0040】まず、図1に示したJ,aj,bjの値が、次式により算出される(S201)。
J=(int)j/Bj ・・・(7)
aj=(float)(j/Bj)−J・・・(8)
bj=1−aj ・・・(9)
【0041】そして、J=Jmaxの場合は、D(I,J)=BUF(Jmax)
により出力画像の画素値が算出される(S202→S203)。一方、J<Jmaxの場合は、D(I,J)=bj×BUF(J)+aj×BUF(J+1)
により出力画像の画素値が算出される(S202→S204)
【0042】続いて、jの値を1だけインクリメントして(S205)、j>jmaxとなるまで、上記S201〜S205までの処理が繰り返し行われ、中間バッファ7に格納された1ライン分のデータに対するj方向へ補間処理が終了し、出力画像のi行目の画像データの作成が終了する。
【0043】2.3.実施形態の効果このような本実施形態の画像処理装置Aを用いることにより次のような効果が得られる。
(1)画像処理装置Aにおける解像度変換処理では、ある方向にエッジ部の鮮鋭化の効果を有する3次たたみ込み内挿法を用いた処理を行い、その方向とは別の方向には平滑化の効果を有する共1次内挿法を用いているために、共1次内挿法のみを用いた場合に生じるジャギーやエッジ部のボケを防止できるとともに、3次たたみ込み内挿法のみを用いた場合に生じるグラデーション部の擬似輪郭等を防止することができる。したがって、全体として高画質な出力画像が得られる。
(2)また、3次たたみ込み内挿法を主走査方向、副走査方向ともに適用した場合に比べると、参照画素数が半減し、解像度変換処理に要する時間が大幅に短縮される。
(3)さらに、解像度変換処理に伴う特別な前処理やパラメータ等の設定は不要なので、ハードウェアの回路構成が単純化され、安価な装置で高速に処理することができる。
(4)そして、原稿の性質を前もって判断し、エッジのより多い方向に3次たたみ込み内挿法、もう一方の方向に共1次内挿法を適用することにより、さらに高画質な出力画像を得ることができる。
【0044】3.第2実施形態(画像処理装置B)
第2実施形態の画像処理装置Bの構成は、図5に示した画像処理装置Aの構成と同様である。また、基本的な動作シーケンスも、図7に示したものと同様である。さらに、副走査方向の補間処理についても画像処理装置Aの場合と同様、図10に示したフローに基づいて実行される。従って、主走査方向の補間処理の詳細を中心に説明する。
【0045】3.1.主走査方向の補間処理図11は、図7に示したステップS14の処理フロー(補間演算過程)を示している。まず、図1に示したI,ai,biの値が(4)(5)(6)式に基づいて算出される(S300)。次にJの初期値として0がセットされると(S301)、主走査方向の補間処理が開始される。
【0046】まず、I=Imaxの場合は、次式BUF(J)=S(Imax,J) ・・・(10)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S302→S303)。そして、Jの値が1だけインクリメントされ(S304)、J>Jmaxとなるまで、これらの処理が繰り返し行われ(S303→S304→S305→S303→S304→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0047】I<Imaxの場合は、次式BUF(J)=k1(ai)×S(I,J)+k2(ai)×S(I+1,J)
により1画素ずつ変換画素の値が算出され、中間バッファ7に格納される(S306)。ここで、k1,k2は、第1補間係数部選択部6において、次式により算出される。
k1(ai)=f(ai)
k2(ai)=1−f(ai)
ただし、f(x)=(cos(πx)+1)/2図4は、この関数f(x)の概形を表すグラフであり、この関数を用いて補間係数を決めることによりエッジ部分が鮮鋭化される。これらの補間係数は、第1実施形態において説明した補間係数k1〜k4と同様にテーブル化して、第1補間係数選択部6に記憶させておくことができる。
【0048】そして、Jの値が1だけインクリメントされ(S307)、J>Jmaxとなるまでこれらの処理が繰り返し行われ(S306→S307→S308→S306→S307→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0049】3.2.実施形態の効果(1)本実施形態の画像処理装置Bでは、エッジ部の鮮鋭化の効果を有するcos関数による内挿法を用い、もう一方の方向には平滑化の効果を有する共1次内挿法を用いることにより、共1次内挿法のみを用いて解像度変換処理を行った場合に生じるジャギーやエッジ部のボケを防止することができ、高画質な画像を得ることができる。
(2)また、画像処理装置Aの場合と同様、解像度変換に伴う特別な前処理やパラメータ等の設定は不要であるため、ハードウェアの回路構成が単純化される。
(3)原稿の性質を前もって判断し、エッジの多い方向にcos関数による内挿法、もう一方の方向に共1次内挿法を用いて解像度変換処理を行うことにより、さらに高画質な出力画像を得ることができる。
【0050】4.第3実施形態(画像処理装置C)
4.1.実施形態の構成図6は、本実施形態の画像処理装置Cの構成を示したものである。この画像処理装置Cは、解像度を変換する際の主走査方向および副走査方向の倍率Bj,Bjを入力するための倍率入力部1と、原画像データ(多値ディジタル画像)を入力するための画像入力部2と、補間すべき位置を決定するための補間位置決定部3と、第1の補間処理の際の参照画素を選択する第1参照画素選択部4と、第1の補間処理を行う第1補間処理部5と、第1の補間処理の際に補間係数の選択を行う第1補間係数選択部6と、解像度変換処理中のデータを格納しておくための中間バッファ7と、第2の参照画素を選択するための第2参照画素選択部8と、第2の補間手法を用いて補間処理を行う第2補間手法部9と、第2の補間係数を選択する第2補間係数選択部10と、最終的な解像度変換画像を出力する出力部11と方向選択部12とを備えて構成される。
【0051】入力された倍率に応じて、解像度変換後の画素位置は補間位置決定部3で計算され、解像度変換画素が出力画像の画素の配列において偶数行のライン上にあるのか、奇数行のライン上にあるのかを判定して、その結果を示す信号を方向選択部12に送る。方向選択部12では、解像度変換画素が偶数ライン上にある場合にはAを選択し、奇数ラインにある場合にはBを選択する。そして、上記Aが選択された場合には、第1補間処理部5で補間処理が行われた後、第2補間処理部9で補間処理が行われ、出力部11に転送される。一方、上記Bが選択された場合には、第2補間処理部9で補間処理が行われた後、第1補間処理部5で補間処理が行われ、出力部11に転送される。
【0052】4.2.実施形態の動作4.2.1.基本動作シーケンス図8は、画像処理装置Cにおける解像度変換処理の基本的な動作シーケンスを示したものである。本実施形態では、図1に示した変換画素の画素値を求めるために、1ライン毎にi方向およびj方向の参照画素数および補間方法を変更するものとする。
【0053】まず、倍率入力部1からi方向への倍率Biとj方向への倍率Bjとが入力される(S20)。そして、画像入力部2から原画像の画素値データS(I,J)とImaxとJmaxの値が入力される(S21)。そして、解像度変換画像における右下端の座標(imax,jmax)が(1),(2)式により算出される(S22)。さらに、iの初期値として0がセットされる(S23)。そして、次のステップS24以降の処理により主走査方向であるi方向へ1ラインずつ補間処理が行われる。
【0054】この補間処理において、iの値が偶数、つまり主走査方向に偶数行目のラインを処理する場合には、まず、第1の補間方法を用いてi方向の補間処理を行い、i行目のデータを取得して中間バッファ7に格納する(S25)。次に、この中間バッファ7に格納されたデータに対して、第2の補間方法を用いてj方向への補間処理を行い、出力画像のi行目のデータとして出力する(S26)。
【0055】一方、この補間処理において、iの値が奇数、つまり主走査方向に奇数行目のラインを処理する場合には、まず、第3の補間方法を用いてi方向の補間処理を行い、i行目のデータを取得して中間バッファ7に格納する(S27)。次に、この中間バッファ7に格納されたデータに対して、第4の補間方法を用いてj方向への補間処理を行い、出力画像のi行目のデータとして出力する(S28)。
【0056】これらステップS25,S26の処理、またはステップS27,S28の処理が終了すると、iの値を1だけインクリメントして(S29)、iの値がimax以下であれば、ステップS25,S26の処理(iの値が偶数の場合)、またはステップS27,S28の処理(iの値が奇数の場合)による1ラインの処理が繰り返し行われる。そして、ステップS30でiの値がimaxよりも大きいと判定された時点で処理が終了する。本実施形態においては、iの値が偶数である場合の、ステップS25,S26の処理は、画像処理装置Aの場合と同様である。すなわち、ステップS25では、図9に示したS100〜S116までの処理が実行され、ステップS26では、図10に示したステップS200〜S206までの処理が実行される。
【0057】したがって、iの値が奇数である場合のi方向(主走査方向)への補間処理であるステップS27の処理と、j方向(副走査方向)への補間処理であるステップS28の処理について、以下、項を分けて説明する。
【0058】4.2.2.奇数ラインの場合の主走査方向への補間処理ステップS27の処理は図12のフローに従って実行される。同図に示したように、まず、I,ai,biの値が(4)〜(6)式により算出される(S400)。次にJの初期値0がセットされ(S401)。主走査方向への1ライン分の補間処理が開始される。
【0059】まず、I=Imaxの場合は、(10)式により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S403)。そして、Jの値が1だけインクリメントされ(S404)、J>Jmaxとなるまで、これらの処理が繰り返し行われ(S403→S404→S405→S403→S404→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0060】I<Imaxの場合は、次式BUF(J)=bi×S(I,J)+ai×S(I+1,J)
により1画素ずつ変換画素の値が算出され、中間バッファ7に格納される(S406)。そして、Jの値が1だけインクリメントされ(S407)、J>Jmaxとなるまで、これらの処理が繰り返し行われ(S406→S407→S408→S406→S407→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0061】4.2.3.奇数ラインの場合の副走査方向への補間処理ステップS28の処理は図13のフローに従って実行される。同図に示したように、まず、jの初期値として0がセットされ(S500)、副走査方向への補間処理が開始される。まず、J,aj,bjの値が(7)〜(9)式により算出される(S501)。そして、算出されたJの値によって、以下の演算式により補間画素の画素値が求められる。
【0062】J=0の場合は、次式D(i,j)=k1(aj)×BUF(0)+k2(aj)×BUF(0)+k3(bj)×BUF(1)+k4(bj)×BUF(2)
により変換画素の画素値が算出される(S502→S503)。
【0063】J=Jmax−1の場合は、次式D(i,j)=k1(aj)×BUF(Jmax−2)+k2(aj)×BUF(Jmax−1)+k3(bj)×BUF(Jmax)+k4(bj)×BUF(Jmax)
により変換画素の画素値が算出される(S502→S504→S505)。
【0064】J=Jmaxの場合は、次式D(i,j)=k1(aj)×BUF(Jmax−1)+k2(aj)×BUF(Jmax)+k3(bj)×BUF(Jmax)+k4(bj)×BUF(Jmax)
により変換画素の画素値が算出される(S502→S504→S506→S507)。
【0065】それ以外の場合は、D(i,j)=k1(aj)×BUF(J−1)+k2(aj)×BUF(J)+k3(bj)×BUF(J+1)+k4(bj)×BUF(J+2)
により変換画素の画素値が算出される(S502→S504→S506→S508)。
【0066】以上のステップS503,S505,S507,S508のいずれかの処理が終了すると、jの値が1だけインクリメントされてJ>Jmaxとなるまで、S501〜S509までの処理が繰り返し行われ、i行目の補間画素データが出力される。
【0067】4.3.実施形態の効果(1)本実施形態では補間画素が出力画像の偶数ラインにあたる場合は、主走査方向に3次たたみ込み内挿法、副走査方向に共1次内挿法を用い、奇数ラインにあたる場合は、主走査方向に共1次内挿法、副走査方向に3次たたみ込み内挿法を用いて補間処理を行った結果、ある一方向にのみ鮮鋭化、他方向にのみ平滑化された偏った画像が得られるということはなく、どちらの方向にも均等に鮮鋭化かつ平滑化された画像が得られる。
(2)したがって、ジャギーの発生やグラデーション部における擬似輪郭の発生を防止することができ、高画質な画像を得ることができる。
(3)また、本実施形態の解像度変換方法では、特別な前処理やパラメータは不要であるため、ハードウェアの回路構成が単純化される。
【0068】5.変形例この発明は上記実施形態に限定されるものではなく、例えば以下のような種々の変形が可能である。
【0069】(1)画像処理装置Aにおける第1の解像度変換処理では、主走査方向へ周辺4原画素を参照して3次たたみ込み内挿法を用いて変換画素を求め、この過程で求められた副走査方向の変換画素のうちの2画素を参照して共1次内挿法を用いて、副走査方向の変換画素を求めることによって、最終的な出力画素としたが、主走査方向と副走査方向で用いる補間方法を入れ換えてもよい。すなわち、まず、主走査方向に2画素参照して共1次内挿法を用い、その後、副走査方向へ4画素参照して3次たたみ込み内挿法を用いて、最終的な出力画素を求めてもよい。
(2)同様に、画像処理装置Bにおいても、主走査方向における補間方法と副走査方向の補間方法とを入れ換えて補間処理を実行してもよい、(3)画像処理装置Cでは、1ラインごと交互に主走査方向の補間方法および副走査方向の2種類の補間方法を変えることとしたが、複数行ごとにまとめて補間方法を変えるようにしてもよい、また、これらの補間方法を1ラインごとにランダムに変えるようにしてもよい。
(4)画像処理装置Cの補間処理において、補間係数としてi方向へ4画素、j方向へ2画素の計8画素を参照するような補間係数1と、i方向へ2画素、j方向へ4画素の計8画素を参照するような補間係数2を定めておき、所定のライン毎にこれらの補間係数1と補間係数2とを交互に用いながら画像を出力するようにしてもよい。
(5)画像処理装置A〜Cでは、公知の共1次内挿法および3次たたみ込み内挿法で用いられる補間係数を採用しているが、補間係数の決定の仕方は、これらに限らず任意で構わない(線画、イラスト、自然画、抽象画など入力原画像の種類や画像のパターンやテクスチャなどに応じて種々の補間係数の変更が可能である)。
(6)これに関連して、画像処理装置A〜Cでは、主走査方向の補間と副走査方向の補間において補間係数を決定するに際し、いずれかに一方の線形関数を用い、他方に非線形関数を用いることとしたが、補間に関する効果が異なるものであれば、ともに非線形関数の関数を用いることとしてもよい。
(7)画像処理装置A〜Cにおける補間処理では、1ライン分の中間バッファを確保して、主走査方向に1ラインずつ補間処理を行ったが、複数ライン分の中間バッファを確保して、複数ラインの補間処理を一度に実行することが可能である。また、中間バッファを介さず、直接出力画像用に確保されたメモリ上の領域で補間画素のデータを書き込むことも可能である。
(8)画像処理装置A〜Cにおける入力画像データとして、面順次データを想定したが、画素順次データ、ライン順次データはもとより、ランレングスデータについても、面順次データに変換後、本実施形態の解像度変換処理を実行することができる。
【0070】
【発明の効果】この発明によれば、特別な前処理を必要とせず、単純な装置構成で解像度変換処理を行い、高画質な出力画像を得ることができる。
【図面の簡単な説明】
【図1】 変換画素の画素値を算出する際に参照される変換画素と周辺4原画素との位置関係を示した図である。
【図2】 i方向への補間処理において参照されるi方向へのみ変換した時の画素位置および変換画素の周辺画素からのi方向に関する位置を示す図である。
【図3】 この発明の実施形態で画素位置を表すために用いられる座標系を示したものである。
【図4】 この発明の第2実施形態において補間係数を求める際の関数のグラフの概形を示したものである。
【図5】 この発明の第1実施形態に係る画像処理装置Aおよび第2実施形態に係る画像処理装置Bのブロック図である。
【図6】 この発明の第3実施形態に係る画像処理装置Cのブロック図である。
【図7】 同上画像処理装置Aおよび画像処理装置Bにおける補間処理の基本動作を示したフローチャートである。
【図8】 同上画像処理装置Cにおける補間処理の基本動作を示したフローチャートである。
【図9】 同上画像処理装置Aにおいて、i方向の補間処理の流れを示したフローチャートである。
【図10】 同上画像処理装置Aにおいて、j方向の補間処理の流れを示したフローチャートである。
【図11】 同上画像処理装置Bにおいて、i方向の補間処理の流れを示したフローチャートである。
【図12】 画像処理装置Cの補間処理において、奇数ラインが処理される場合のi方向の補間処理の流れを示したフローチャートである。
【図13】 画像処理装置Cの補間処理において、奇数ラインが処理される場合のj方向の補間処理の流れを示したフローチャートである。
【図14】 (a)は公知のゼロ次ホールド法および最近隣内挿法の概要を説明するための図であり、(b)は、同じく公知の4点補間法(共1次内挿法)の概要を説明するための図である。
【図15】 公知の16点補間法(3次たたみ込み内挿法)の概要を説明するための図である。
【符号の説明】
1 倍率入力部
2 画像入力部
3 補間位置決定部
4 第1参照画素選択部
5 第1補間処理部
6 第1補間係数選択部
7 中間バッファ
8 第2参照画素選択部
9 第2補間処理部
10 第2補間係数選択部
11 画像出力部
12 方向選択部
【0001】
【発明の属する技術分野】この発明は、ディジタル画像の解像度を変換する際に用いて好適な画像処理装置、画像処理方法および記録媒体に関する。
【0002】
【従来の技術】画像の解像度変換処理技術は、入力機器および出力機器間で取り扱われる画像の解像度が異なる場合に入力原画像と同サイズの出力画像を得る際に必要とされる技術であり、あるいは画像の拡大・縮小処理においても用いられる技術である。そして、実際に多値ディジタル画像の解像度を変換する方法として、ゼロ次ホールド法、最近隣内挿法、共1次内挿法、3次たたみ込み内挿法などが一般に知られている。図14および図15R>5は、これらの解像度変換方法の概要を模式的に示したものである。これらの図では、原画像の画素(原画素と称する)とこの原画像に対する補間処理によって解像度変換がなされた画像の画素(変換画素と称する)との関係について上段に示し、その下段には変換画素の濃度または輝度を表す画素値Pを求めるための演算式を提示している。
【0003】まず、図14(a)に示したように、ゼロ次ホールド法は補間したい点(画素)の左上の原画素データを補間データとするアルゴリズムであり、また、最近隣内挿法は補間したい点に最も近い原画素データを補間データとするアルゴリズムである。この両者の画像解像度変換方法では、解像度の変換後の画質はそれほど良いとは言えないが、アルゴリズムが単純であるため高速な画像の解像度変換処理が可能である。
【0004】次に、図14(b)に示したように、共1次内挿法は補間したい点の周囲4点の原画素から1次元演算(周囲4近傍画素との距離を考慮して線形関数により重み付けを行い画素値を算出する演算)により補間データを求めるアルゴリズムである。この方法では、解像度の変換後の画質は標準であり、処理速度も速くもなく遅くもなく標準程度である。
【0005】そして、図15に示したように、3次たたみ込み内挿法は内挿したい点の周囲16点の原画素から3次演算(sinx/xを基本とするsinc関数を多項式で近似した非線形関数を用いて、周囲16近傍画素の画素値を補間データに反映させる演算)により補間データを求めるアルゴリズムである。この方法では、解像度変換後の画質は比較的良好であるが、かなりの処理時間を要し、ハードウェアに対する負荷が大きい。
【0006】
【発明が解決しようとする課題】近年、パソコンやワークステーションで作成された多値画像データを高品位に出力することが可能なプリンタが開発され、ユーザに供給されている。一般にパソコンやワークステーションのディスプレイの解像度は75〜100dpi(1インチあたりのドット数)程度であり、一方、プリンタの解像度は300〜1200dpi程度である。また、プリンタの解像度は、高品位な出力を望む声と相まって年々高解像度化する傾向にある。例えば、100dpiの解像度のディスプレイで表示されている画像を400dpiのプリンタで出力し、その出力画像をディスプレイで表示されている画像と同じ大きさにするためには解像度を4倍に変換する処理を施す必要がある。
【0007】しかし、このように大きな解像度変換率になると、上記従来のゼロ次ホールド法または最近隣内挿法を用いて解像度変換処理を行うと、補間によるブロック構造(モザイク状構造)が出力画像に現れる。また、共1次内挿法では、原画像において急峻に画像データの画素値が変化するエッジ部分がボケるという不都合がある。さらに、3次たたみ込み内挿法では、このエッジ部のボケ具合は共1次内挿法に比べて多少改善されるが、画像の濃度(濃淡)が緩やかに変化するグラデーション部に疑似輪郭を発生する等の不都合がある。
【0008】このような従来技術による補間方法を改良する手段として、特開平7−50752号公報に開示された技術によると、補間すべき画素とその周辺画素からなる原画像のブロックを抽出して、そのブロック内にエッジが存在し、かつパターンマッチングによりブロック内の2値化パターンと補間すべき画素位置とを照合した結果として、一致するパターンがある場合は最近隣内挿法の出力を選択し、それ以外の場合は共1次内挿法の出力を選択する方法が提案されている。
【0009】しかし、この方法では、補間手法を切り換えるために種々の処理が必要であり、さらに出力画素を1つ求めるために複数の手法による補間画素を求める必要がある。したがって、処理のアルゴリズムが複雑になるとともに、高速に処理しようとすると、それなりのスペックのハードウェアを用意する必要がありコストもかかる。
【0010】そこで、この発明は、このような従来の課題に着目してなされたもので、上記のような特別な前処理を必要とせず、単純な装置構成をもって高画質な解像度変換画像を得ることができる画像処理装置、画像処理方法および記録媒体を提供することを目的とするものである。
【0011】
【課題を解決するための手段】上記目的を達成するために、第1発明の画像処理装置は、入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データを第1の補間方法により第1の走査方向に沿って補間して第1の補間画像データを出力する第1の補間処理手段と、前記第1の補間画像データを第2の補間方法により第2の走査方向に沿って補間して第2の補間画像データを出力する第2の補間処理手段とを有することを特徴とするものである。
【0012】第2発明の画像処理装置は、入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データの主走査方向の画素数がI、副走査方向の画素数がJである場合にI行J列の画素の配置パターンを想定し、この画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第1の補間方法により前記各画素の補間を行う第1の補間処理手段と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第2の補間方法により画素の補間を行う第2の補間処理手段とを有することを特徴とするものである。
【0013】第3発明の画像処理装置は、上記第2発明の画像処理装置において、前記画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第3の補間方法により前記各画素の補間を行う第3の補間処理手段と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第4の補間方法により画素の補間を行う第4の補間処理手段と、前記画素配置パターンのk行目と(k+1)行目の間に1ライン分の画素を補間するに際して、前記第1の補間処理手段および前記第2の補間処理手段を動作させるとともに、さらに前記k行目と(k+1)行目の間の別のラインに1ライン分の画素を補間するに際して、前記第3の補間処理手段および前記第4の補間処理手段を動作させる手段とを有することを特徴とするものである。
【0014】第4発明の画像処理装置は、上記第1〜3発明の画像処理装置において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とするものである。
【0015】第5発明の画像処理装置は、上記第3発明の画像処理装置において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであるとともに、前記第3の補間方法および前記第4の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とするものである。
【0016】第6発明の画像処理装置は、入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データにおける補間位置に対して第1の走査方向の周辺m画素の画素値を参照し、さらに前記補間位置に対して第2の走査方向の周辺n画素の画素値を参照することで、当該補間位置の画素の画素値を算出する手段を有することを特徴とするものである。
【0017】第7発明の画像処理方法は、入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データを第1の補間方法により第1の走査方向に沿って補間して第1の補間画像データを出力する過程と、前記第1の補間画像データを第2の補間方法により第2の走査方向に沿って補間して第2の補間画像データを出力する過程とを有することを特徴とするものである。
【0018】第8発明の画像処理方法は、入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データの主走査方向の画素数がI、副走査方向の画素数がJである場合にI行J列の画素の配置パターンを想定し、この画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第1の補間方法により前記各画素の補間を行う第1の過程と、前記第1の過程により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第2の補間方法により画素の補間を行う第2の過程とを有することを特徴とするものである。
【0019】第9発明の画像処理方法は、上記第8発明の画像処理方法において、前記画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第3の補間方法により前記各画素の補間を行う第3の過程と、前記第3の過程により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第4の補間方法により画素の補間を行う第4の過程と、前記画素配置パターンのk行目と(k+1)行目の間に1ライン分の画素を補間するに際して、前記第1の過程および前記第2の過程が実行されるとともに、さらに前記k行目と(k+1)行目の間の別のラインに1ライン分の画素を補間するに際して、前記第3の過程および前記第4の過程が実行される第5の過程とを有することを特徴とするものである。
【0020】第10発明の画像処理方法は、上記第7〜第9発明の画像処理方法において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とするものである。
【0021】第11発明の画像処理方法は、上記第9発明の画像処理方法において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであるとともに、前記第3の補間方法および前記第4の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とするものである。
【0022】第12発明の画像処理方法は、入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データにおける補間位置に対して第1の走査方向の周辺m画素の画素値を参照し、さらに前記補間位置に対して第2の走査方向の周辺n画素の画素値を参照することで当該補間位置の画素の画素値を算出する過程を有することを特徴とするものである。
【0023】第13発明の記録媒体は、上記第7〜第12発明の画像処理方法を実行するプログラムを記録したものであり、この記録媒体として、FD,MO,CD−ROM,DVD−RAM,テープメディア等種々の記録媒体を用いることができる。
【0024】
【発明の実施の形態】1.実施形態の原理本発明の実施形態の前提として、実施形態で用いられる補間処理の基本原理について説明する。以下の説明では、図3に示した2次元直交座標系を用いて各画素の位置を表すものとする。すなわち、画像の左上の座標を原点とし、この原点から下方向を主走査方向(i方向)、右方向を副走査方向(j方向)とする。そして、この座標系において、入力画像(原画像)の画素の座標を(I,J)、出力画像(解像度変換画像)の画素の座標を(i,j)と表すものとする。また、この座標系において、入力画像の右下の画素の座標を(Imax,Jmax)、出力画像の右下の画素の座標を(imax,jmax)とする。さらに、入力画像の画素値をS(I,J)、出力画像の画素値をD(i,j)と表すものとする。
【0025】図1は、変換画素(補間画素)Pと原画素P1,P2,・・・との位置関係を示したものである。このように、変換画素Pは周囲4近傍画素P1,P2,P3,P4で囲まれる矩形領域に対して−i方向にai、+i方向にbi、−j方向にaj、+j方向にbjの距離を有した補間位置に置かれている。
【0026】原画素に対してこのような補間位置にある変換画素Pの画素値を求めるために、図2に示したように、i方向とj方向に分けて補間処理を行う。まず、同図(a)に示したように、i方向へのみ補間処理を施してi方向への変換画素PA,PBの画素値を求める。すなわち、変換画素PAの画素値は、PAと同列(i方向)上にある近傍画素の中から適宜選択した画素(参照画素と称する)、例えば、画素P5,P1,P2,P6の画素値とそれぞれの画素までの距離((ai+1),ai,bi,(bi+1))を考慮して、所定の補間演算により算出される。同様に、変換画素PBの画素値は、参照画素P7,P3,P4,P8の画素値とそれぞれの画素までの距離を考慮して、所定の補間演算により算出される。
【0027】次に、同図(b)に示したように、求めたi方向への複数の変換画素を参照してj方向へのみ補間処理を施し、最終的な変換画素Pの画素値を求める。例えば参照画素として2画素分とることにした場合には、変換画素PA,PBの画素値と、変換画素Pとこれらの画素までの距離aj,bjとを考慮して、変換画素PA,PBの画素値を求めた際の補間演算式(第1の補間演算式という)とは別の補間演算式(第2の補間演算式という)により変換画素Pの画素値が算出される。
【0028】なお、第1の補間演算式および第2の補間演算式のいずれかに線形関数を用い、他方に非線形関数を用いることができる。ここで、線形関数とは、変数x,y,定数aに対して、f(x+y)=f(x)+f(y)
f(ax)=af(x)
がともに成り立つような関数fのことをいい、非線形関数とは、これら2式の少なくとも1つが成り立たない関数fのことをいう。以下の実施形態では、線形関数として共1次内挿法による演算式を用いて補間画素の値を求め、さらに非線形関数として3次たたみ込み内挿法による演算式により補間画素の値を求めているが、これらに限定されず、線形関数、非線形関数ともに種々の関数を用いることができる。
【0029】続いて、この発明の好ましい実施の形態について、以下、添付図面を参照しつつ詳細に説明する。
2.第1実施形態(画像処理装置A)
2.1.実施形態の構成図5は、本実施形態の画像処理装置Aの構成を示したものである。この画像処理装置Aは、解像度を変換する際の主走査方向および副走査方向の倍率Bj,Bjを入力するための倍率入力部1と、原画像データ(多値ディジタル画像)を入力するための画像入力部2と、補間すべき位置を決定するための補間位置決定部3と、第1の補間処理の際に参照画素を選択する第1参照画素選択部4と、第1の補間処理を行う第1補間処理部5と、第1の補間処理の際に補間係数の選択を行う第1補間係数選択部6と、第1の補間処理後のデータを格納するための中間バッファ7と、第2の補間処理の際の参照画素を選択する第2参照画素選択部8と、第2の補間処理を行う第2補間手法部9と、第2の補間処理の際に補間係数を選択する第2補間係数選択部10と、最終的な解像度変換画像を出力する出力部11とを備えて構成される。この画像処理装置Aにおいて、上記動作原理で説明したi方向の補間処理が第1補間処理部5で行われ、次いでj方向の補間処理が第2補間処理部9で行われる。
【0030】2.2.実施形態の動作2.2.1.基本動作シーケンス図7は、画像処理装置Aにおいて、解像度変換処理を行う際の基本的な動作のシーケンスを示したものである。まず、倍率入力部1からi方向への倍率Biとj方向への倍率Bjとが入力される(S10)。そして、画像入力部2から原画像の画素値データS(I,J)とImaxとJmaxの値が入力される(S11)。そして、解像度変換画像における右下端の座標(imax,jmax)が次式により算出される(S12)。
imax=Bi(Imax+1)−1・・・(1)
jmax=Bj(Jmax+1)−1・・・(2)
さらに、iの初期値として0がセットされる(S13)。そして、次のステップS14以降の処理により主走査方向であるi方向へ1ラインずつ補間処理が行われる。
【0031】この補間処理において、まず、第1補間処理部5は第1の補間方法を用いてi方向への補間処理を実行し、i行目の補間データを算出して中間バッファ7に BUF(J)(J=0,1,2,・・・・・,Jmax)・・・(3)
を格納する(S14)。次に、第2補間処理部9は、この中間バッファ7に格納されたデータを受け取り、第2の補間方法を用いてj方向への補間処理を行い、出力画像のi行目のデータとして出力する(S15)。
【0032】そして、iの値を1だけインクリメントして(S16)、iの値がimax以下であれば、ステップS14,S15による1ラインの処理が繰り返し行われる(S17→S14→S15→・・・)。そして、ステップS17でiの値がimaxよりも大きいと判定された時点で処理が終了する。そこで、i方向(主走査方向)への補間処理であるステップS14の処理と、j方向(副走査方向)への補間処理であるステップS15の処理について、以下、項を分けて説明する。
【0033】2.2.2.主走査方向への補間処理図9は、図7に示したステップS14の処理フロー(補間演算過程)を示している。まず、i方向に関して変換画素の手前に位置する周辺原画素の座標値Iと、この原画素から変換画素までのi方向の距離aiと、変換画素からi方向に対して座標値I+1を有する次の周辺原画素までの距離biとが次式によって算出される(S100)。なお、原画素と変換画素の位置関係およびI,ai,biの関係は既に説明した図1に示した通りである。
I=(int)i/Bi ・・・(4)
ai=(float)(i/Bi)−I・・・(5)
bi=1−ai ・・・(6)
ここで、(int)は小数点以下を切り捨て整数値で表記することを示し、(float)は浮動小数点で表記することを示す。
【0034】次にJの初期値として0がセットされると(S101)、i方向への1ライン分の補間処理が開始される。まず、I=0の場合は、次式BUF(J)=k1(ai)×S(0,J)+k2(ai)×S(0,J)+k3(bi)×S(1,J)+k4(bi)×S(2,J)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S102→S103)。そして、Jの値を1だけインクリメントして(S104)、J>Jmaxとなるまで繰り返し処理が行われ(S103→S104→S105→S103→S104→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0035】ここで、上記i方向の補間係数k1〜k4の値は、第1補間係数選択部6において次式により算出される。
k1(ai)=f1(ai)
k2(ai)=f2(ai)
k3(bi)=f2(bi)
k4(bi)=f1(bi)
ただし、f1(x)=4−8(1+x)+5(1+x)2−(1+x)3f2(x)=1−2x2+x3とする。これらの補間係数k1〜k4は変換画素から周辺原画素までのi方向の距離に応じて算出される係数である。第1補間係数選択部6に上記関数f1(x),f2(x)を記憶させておくことで、補間係数k1〜k4の値を求めることができる。ただし、i方向の倍率Biによって、予め(ai,bi)の組が決定されるから、これらの(ai,bi)に対応するk1〜k4の値を記述した係数テーブルを求めておくことが望ましい。
【0036】次に、I=Imax−1の場合は、次式BUF(J)=k1(ai)×S(Imax−2,J)+k2(ai)×S(Imax−1,J)+k3(bi)×S(Imax,J)+k4(bi)×S(Imax,J)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S102→S106→S107)。そして、Jの値を1だけインクリメントして(S108)、J>Jmaxとなるまで繰り返し処理が行われ(S107→S108→S109→S107→S108→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0037】また、I=Imaxの場合は、次式BUF(J)=k1(ai)×S(Imax−1,J)+k2(ai)×S(Imax,J)+k3(bi)×S(Imax,J)+k4(bi)×S(Imax,J)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S102→S106→S110→S111)。そして、Jの値を1だけインクリメントして(S112)、J>Jmaxとなるまで繰り返し処理が行われ(S111→S112→S113→S111→S112→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0038】0<I<Imaxの場合は、次式BUF(J)=k1(ai)×S(I−1,J)+k2(ai)×S(I,J)+k3(bi)×S(I+1,J)+k4(bi)×S(I+2,J)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S102→S106→S110→S114)。そして、Jの値を1だけインクリメントして(S115)、J>Jmaxとなるまで繰り返し処理が行われ(S114→S115→S116→S114→S115→・・・・)、中間バッファ7に1ライン分の補間データが格納される。このようにして主走査方向の1ライン分の補間処理が終了し、中間バッファ7に格納された1ラインのデータに対する副走査方向への補間処理に移行する。
【0039】2.2.3.副走査方向への補間処理図10R>0は、図7に示したステップS15の処理フロー(補間演算過程)を示している。jの初期値として0がセットされると(S200)、ステップS201以降のj方向へ1画素ずつ補間画素の画素値を算出する処理が開始される。
【0040】まず、図1に示したJ,aj,bjの値が、次式により算出される(S201)。
J=(int)j/Bj ・・・(7)
aj=(float)(j/Bj)−J・・・(8)
bj=1−aj ・・・(9)
【0041】そして、J=Jmaxの場合は、D(I,J)=BUF(Jmax)
により出力画像の画素値が算出される(S202→S203)。一方、J<Jmaxの場合は、D(I,J)=bj×BUF(J)+aj×BUF(J+1)
により出力画像の画素値が算出される(S202→S204)
【0042】続いて、jの値を1だけインクリメントして(S205)、j>jmaxとなるまで、上記S201〜S205までの処理が繰り返し行われ、中間バッファ7に格納された1ライン分のデータに対するj方向へ補間処理が終了し、出力画像のi行目の画像データの作成が終了する。
【0043】2.3.実施形態の効果このような本実施形態の画像処理装置Aを用いることにより次のような効果が得られる。
(1)画像処理装置Aにおける解像度変換処理では、ある方向にエッジ部の鮮鋭化の効果を有する3次たたみ込み内挿法を用いた処理を行い、その方向とは別の方向には平滑化の効果を有する共1次内挿法を用いているために、共1次内挿法のみを用いた場合に生じるジャギーやエッジ部のボケを防止できるとともに、3次たたみ込み内挿法のみを用いた場合に生じるグラデーション部の擬似輪郭等を防止することができる。したがって、全体として高画質な出力画像が得られる。
(2)また、3次たたみ込み内挿法を主走査方向、副走査方向ともに適用した場合に比べると、参照画素数が半減し、解像度変換処理に要する時間が大幅に短縮される。
(3)さらに、解像度変換処理に伴う特別な前処理やパラメータ等の設定は不要なので、ハードウェアの回路構成が単純化され、安価な装置で高速に処理することができる。
(4)そして、原稿の性質を前もって判断し、エッジのより多い方向に3次たたみ込み内挿法、もう一方の方向に共1次内挿法を適用することにより、さらに高画質な出力画像を得ることができる。
【0044】3.第2実施形態(画像処理装置B)
第2実施形態の画像処理装置Bの構成は、図5に示した画像処理装置Aの構成と同様である。また、基本的な動作シーケンスも、図7に示したものと同様である。さらに、副走査方向の補間処理についても画像処理装置Aの場合と同様、図10に示したフローに基づいて実行される。従って、主走査方向の補間処理の詳細を中心に説明する。
【0045】3.1.主走査方向の補間処理図11は、図7に示したステップS14の処理フロー(補間演算過程)を示している。まず、図1に示したI,ai,biの値が(4)(5)(6)式に基づいて算出される(S300)。次にJの初期値として0がセットされると(S301)、主走査方向の補間処理が開始される。
【0046】まず、I=Imaxの場合は、次式BUF(J)=S(Imax,J) ・・・(10)
により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S302→S303)。そして、Jの値が1だけインクリメントされ(S304)、J>Jmaxとなるまで、これらの処理が繰り返し行われ(S303→S304→S305→S303→S304→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0047】I<Imaxの場合は、次式BUF(J)=k1(ai)×S(I,J)+k2(ai)×S(I+1,J)
により1画素ずつ変換画素の値が算出され、中間バッファ7に格納される(S306)。ここで、k1,k2は、第1補間係数部選択部6において、次式により算出される。
k1(ai)=f(ai)
k2(ai)=1−f(ai)
ただし、f(x)=(cos(πx)+1)/2図4は、この関数f(x)の概形を表すグラフであり、この関数を用いて補間係数を決めることによりエッジ部分が鮮鋭化される。これらの補間係数は、第1実施形態において説明した補間係数k1〜k4と同様にテーブル化して、第1補間係数選択部6に記憶させておくことができる。
【0048】そして、Jの値が1だけインクリメントされ(S307)、J>Jmaxとなるまでこれらの処理が繰り返し行われ(S306→S307→S308→S306→S307→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0049】3.2.実施形態の効果(1)本実施形態の画像処理装置Bでは、エッジ部の鮮鋭化の効果を有するcos関数による内挿法を用い、もう一方の方向には平滑化の効果を有する共1次内挿法を用いることにより、共1次内挿法のみを用いて解像度変換処理を行った場合に生じるジャギーやエッジ部のボケを防止することができ、高画質な画像を得ることができる。
(2)また、画像処理装置Aの場合と同様、解像度変換に伴う特別な前処理やパラメータ等の設定は不要であるため、ハードウェアの回路構成が単純化される。
(3)原稿の性質を前もって判断し、エッジの多い方向にcos関数による内挿法、もう一方の方向に共1次内挿法を用いて解像度変換処理を行うことにより、さらに高画質な出力画像を得ることができる。
【0050】4.第3実施形態(画像処理装置C)
4.1.実施形態の構成図6は、本実施形態の画像処理装置Cの構成を示したものである。この画像処理装置Cは、解像度を変換する際の主走査方向および副走査方向の倍率Bj,Bjを入力するための倍率入力部1と、原画像データ(多値ディジタル画像)を入力するための画像入力部2と、補間すべき位置を決定するための補間位置決定部3と、第1の補間処理の際の参照画素を選択する第1参照画素選択部4と、第1の補間処理を行う第1補間処理部5と、第1の補間処理の際に補間係数の選択を行う第1補間係数選択部6と、解像度変換処理中のデータを格納しておくための中間バッファ7と、第2の参照画素を選択するための第2参照画素選択部8と、第2の補間手法を用いて補間処理を行う第2補間手法部9と、第2の補間係数を選択する第2補間係数選択部10と、最終的な解像度変換画像を出力する出力部11と方向選択部12とを備えて構成される。
【0051】入力された倍率に応じて、解像度変換後の画素位置は補間位置決定部3で計算され、解像度変換画素が出力画像の画素の配列において偶数行のライン上にあるのか、奇数行のライン上にあるのかを判定して、その結果を示す信号を方向選択部12に送る。方向選択部12では、解像度変換画素が偶数ライン上にある場合にはAを選択し、奇数ラインにある場合にはBを選択する。そして、上記Aが選択された場合には、第1補間処理部5で補間処理が行われた後、第2補間処理部9で補間処理が行われ、出力部11に転送される。一方、上記Bが選択された場合には、第2補間処理部9で補間処理が行われた後、第1補間処理部5で補間処理が行われ、出力部11に転送される。
【0052】4.2.実施形態の動作4.2.1.基本動作シーケンス図8は、画像処理装置Cにおける解像度変換処理の基本的な動作シーケンスを示したものである。本実施形態では、図1に示した変換画素の画素値を求めるために、1ライン毎にi方向およびj方向の参照画素数および補間方法を変更するものとする。
【0053】まず、倍率入力部1からi方向への倍率Biとj方向への倍率Bjとが入力される(S20)。そして、画像入力部2から原画像の画素値データS(I,J)とImaxとJmaxの値が入力される(S21)。そして、解像度変換画像における右下端の座標(imax,jmax)が(1),(2)式により算出される(S22)。さらに、iの初期値として0がセットされる(S23)。そして、次のステップS24以降の処理により主走査方向であるi方向へ1ラインずつ補間処理が行われる。
【0054】この補間処理において、iの値が偶数、つまり主走査方向に偶数行目のラインを処理する場合には、まず、第1の補間方法を用いてi方向の補間処理を行い、i行目のデータを取得して中間バッファ7に格納する(S25)。次に、この中間バッファ7に格納されたデータに対して、第2の補間方法を用いてj方向への補間処理を行い、出力画像のi行目のデータとして出力する(S26)。
【0055】一方、この補間処理において、iの値が奇数、つまり主走査方向に奇数行目のラインを処理する場合には、まず、第3の補間方法を用いてi方向の補間処理を行い、i行目のデータを取得して中間バッファ7に格納する(S27)。次に、この中間バッファ7に格納されたデータに対して、第4の補間方法を用いてj方向への補間処理を行い、出力画像のi行目のデータとして出力する(S28)。
【0056】これらステップS25,S26の処理、またはステップS27,S28の処理が終了すると、iの値を1だけインクリメントして(S29)、iの値がimax以下であれば、ステップS25,S26の処理(iの値が偶数の場合)、またはステップS27,S28の処理(iの値が奇数の場合)による1ラインの処理が繰り返し行われる。そして、ステップS30でiの値がimaxよりも大きいと判定された時点で処理が終了する。本実施形態においては、iの値が偶数である場合の、ステップS25,S26の処理は、画像処理装置Aの場合と同様である。すなわち、ステップS25では、図9に示したS100〜S116までの処理が実行され、ステップS26では、図10に示したステップS200〜S206までの処理が実行される。
【0057】したがって、iの値が奇数である場合のi方向(主走査方向)への補間処理であるステップS27の処理と、j方向(副走査方向)への補間処理であるステップS28の処理について、以下、項を分けて説明する。
【0058】4.2.2.奇数ラインの場合の主走査方向への補間処理ステップS27の処理は図12のフローに従って実行される。同図に示したように、まず、I,ai,biの値が(4)〜(6)式により算出される(S400)。次にJの初期値0がセットされ(S401)。主走査方向への1ライン分の補間処理が開始される。
【0059】まず、I=Imaxの場合は、(10)式により補間画素の値が1画素ずつ算出され、中間バッファ7に格納される(S403)。そして、Jの値が1だけインクリメントされ(S404)、J>Jmaxとなるまで、これらの処理が繰り返し行われ(S403→S404→S405→S403→S404→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0060】I<Imaxの場合は、次式BUF(J)=bi×S(I,J)+ai×S(I+1,J)
により1画素ずつ変換画素の値が算出され、中間バッファ7に格納される(S406)。そして、Jの値が1だけインクリメントされ(S407)、J>Jmaxとなるまで、これらの処理が繰り返し行われ(S406→S407→S408→S406→S407→・・・・)、中間バッファ7に1ライン分の補間データが格納される。
【0061】4.2.3.奇数ラインの場合の副走査方向への補間処理ステップS28の処理は図13のフローに従って実行される。同図に示したように、まず、jの初期値として0がセットされ(S500)、副走査方向への補間処理が開始される。まず、J,aj,bjの値が(7)〜(9)式により算出される(S501)。そして、算出されたJの値によって、以下の演算式により補間画素の画素値が求められる。
【0062】J=0の場合は、次式D(i,j)=k1(aj)×BUF(0)+k2(aj)×BUF(0)+k3(bj)×BUF(1)+k4(bj)×BUF(2)
により変換画素の画素値が算出される(S502→S503)。
【0063】J=Jmax−1の場合は、次式D(i,j)=k1(aj)×BUF(Jmax−2)+k2(aj)×BUF(Jmax−1)+k3(bj)×BUF(Jmax)+k4(bj)×BUF(Jmax)
により変換画素の画素値が算出される(S502→S504→S505)。
【0064】J=Jmaxの場合は、次式D(i,j)=k1(aj)×BUF(Jmax−1)+k2(aj)×BUF(Jmax)+k3(bj)×BUF(Jmax)+k4(bj)×BUF(Jmax)
により変換画素の画素値が算出される(S502→S504→S506→S507)。
【0065】それ以外の場合は、D(i,j)=k1(aj)×BUF(J−1)+k2(aj)×BUF(J)+k3(bj)×BUF(J+1)+k4(bj)×BUF(J+2)
により変換画素の画素値が算出される(S502→S504→S506→S508)。
【0066】以上のステップS503,S505,S507,S508のいずれかの処理が終了すると、jの値が1だけインクリメントされてJ>Jmaxとなるまで、S501〜S509までの処理が繰り返し行われ、i行目の補間画素データが出力される。
【0067】4.3.実施形態の効果(1)本実施形態では補間画素が出力画像の偶数ラインにあたる場合は、主走査方向に3次たたみ込み内挿法、副走査方向に共1次内挿法を用い、奇数ラインにあたる場合は、主走査方向に共1次内挿法、副走査方向に3次たたみ込み内挿法を用いて補間処理を行った結果、ある一方向にのみ鮮鋭化、他方向にのみ平滑化された偏った画像が得られるということはなく、どちらの方向にも均等に鮮鋭化かつ平滑化された画像が得られる。
(2)したがって、ジャギーの発生やグラデーション部における擬似輪郭の発生を防止することができ、高画質な画像を得ることができる。
(3)また、本実施形態の解像度変換方法では、特別な前処理やパラメータは不要であるため、ハードウェアの回路構成が単純化される。
【0068】5.変形例この発明は上記実施形態に限定されるものではなく、例えば以下のような種々の変形が可能である。
【0069】(1)画像処理装置Aにおける第1の解像度変換処理では、主走査方向へ周辺4原画素を参照して3次たたみ込み内挿法を用いて変換画素を求め、この過程で求められた副走査方向の変換画素のうちの2画素を参照して共1次内挿法を用いて、副走査方向の変換画素を求めることによって、最終的な出力画素としたが、主走査方向と副走査方向で用いる補間方法を入れ換えてもよい。すなわち、まず、主走査方向に2画素参照して共1次内挿法を用い、その後、副走査方向へ4画素参照して3次たたみ込み内挿法を用いて、最終的な出力画素を求めてもよい。
(2)同様に、画像処理装置Bにおいても、主走査方向における補間方法と副走査方向の補間方法とを入れ換えて補間処理を実行してもよい、(3)画像処理装置Cでは、1ラインごと交互に主走査方向の補間方法および副走査方向の2種類の補間方法を変えることとしたが、複数行ごとにまとめて補間方法を変えるようにしてもよい、また、これらの補間方法を1ラインごとにランダムに変えるようにしてもよい。
(4)画像処理装置Cの補間処理において、補間係数としてi方向へ4画素、j方向へ2画素の計8画素を参照するような補間係数1と、i方向へ2画素、j方向へ4画素の計8画素を参照するような補間係数2を定めておき、所定のライン毎にこれらの補間係数1と補間係数2とを交互に用いながら画像を出力するようにしてもよい。
(5)画像処理装置A〜Cでは、公知の共1次内挿法および3次たたみ込み内挿法で用いられる補間係数を採用しているが、補間係数の決定の仕方は、これらに限らず任意で構わない(線画、イラスト、自然画、抽象画など入力原画像の種類や画像のパターンやテクスチャなどに応じて種々の補間係数の変更が可能である)。
(6)これに関連して、画像処理装置A〜Cでは、主走査方向の補間と副走査方向の補間において補間係数を決定するに際し、いずれかに一方の線形関数を用い、他方に非線形関数を用いることとしたが、補間に関する効果が異なるものであれば、ともに非線形関数の関数を用いることとしてもよい。
(7)画像処理装置A〜Cにおける補間処理では、1ライン分の中間バッファを確保して、主走査方向に1ラインずつ補間処理を行ったが、複数ライン分の中間バッファを確保して、複数ラインの補間処理を一度に実行することが可能である。また、中間バッファを介さず、直接出力画像用に確保されたメモリ上の領域で補間画素のデータを書き込むことも可能である。
(8)画像処理装置A〜Cにおける入力画像データとして、面順次データを想定したが、画素順次データ、ライン順次データはもとより、ランレングスデータについても、面順次データに変換後、本実施形態の解像度変換処理を実行することができる。
【0070】
【発明の効果】この発明によれば、特別な前処理を必要とせず、単純な装置構成で解像度変換処理を行い、高画質な出力画像を得ることができる。
【図面の簡単な説明】
【図1】 変換画素の画素値を算出する際に参照される変換画素と周辺4原画素との位置関係を示した図である。
【図2】 i方向への補間処理において参照されるi方向へのみ変換した時の画素位置および変換画素の周辺画素からのi方向に関する位置を示す図である。
【図3】 この発明の実施形態で画素位置を表すために用いられる座標系を示したものである。
【図4】 この発明の第2実施形態において補間係数を求める際の関数のグラフの概形を示したものである。
【図5】 この発明の第1実施形態に係る画像処理装置Aおよび第2実施形態に係る画像処理装置Bのブロック図である。
【図6】 この発明の第3実施形態に係る画像処理装置Cのブロック図である。
【図7】 同上画像処理装置Aおよび画像処理装置Bにおける補間処理の基本動作を示したフローチャートである。
【図8】 同上画像処理装置Cにおける補間処理の基本動作を示したフローチャートである。
【図9】 同上画像処理装置Aにおいて、i方向の補間処理の流れを示したフローチャートである。
【図10】 同上画像処理装置Aにおいて、j方向の補間処理の流れを示したフローチャートである。
【図11】 同上画像処理装置Bにおいて、i方向の補間処理の流れを示したフローチャートである。
【図12】 画像処理装置Cの補間処理において、奇数ラインが処理される場合のi方向の補間処理の流れを示したフローチャートである。
【図13】 画像処理装置Cの補間処理において、奇数ラインが処理される場合のj方向の補間処理の流れを示したフローチャートである。
【図14】 (a)は公知のゼロ次ホールド法および最近隣内挿法の概要を説明するための図であり、(b)は、同じく公知の4点補間法(共1次内挿法)の概要を説明するための図である。
【図15】 公知の16点補間法(3次たたみ込み内挿法)の概要を説明するための図である。
【符号の説明】
1 倍率入力部
2 画像入力部
3 補間位置決定部
4 第1参照画素選択部
5 第1補間処理部
6 第1補間係数選択部
7 中間バッファ
8 第2参照画素選択部
9 第2補間処理部
10 第2補間係数選択部
11 画像出力部
12 方向選択部
【特許請求の範囲】
【請求項1】 入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データを第1の補間方法により第1の走査方向に沿って補間して第1の補間画像データを出力する第1の補間処理手段と、前記第1の補間画像データを第2の補間方法により第2の走査方向に沿って補間して第2の補間画像データを出力する第2の補間処理手段と、を有することを特徴とする画像処理装置。
【請求項2】 入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データの主走査方向の画素数がI、副走査方向の画素数がJである場合にI行J列の画素の配置パターンを想定し、この画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第1の補間方法により前記各画素の補間を行う第1の補間処理手段と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第2の補間方法により画素の補間を行う第2の補間処理手段と、を有することを特徴とする画像処理装置。
【請求項3】 請求項2に記載の画像処理装置において、前記画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第3の補間方法により前記各画素の補間を行う第3の補間処理手段と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第4の補間方法により画素の補間を行う第4の補間処理手段と、前記画素配置パターンのk行目と(k+1)行目の間に1ライン分の画素を補間するに際して、前記第1の補間処理手段および前記第2の補間処理手段を動作させるとともに、さらに前記k行目と(k+1)行目の間の別のラインに1ライン分の画素を補間するに際して、前記第3の補間処理手段および前記第4の補間処理手段を動作させる手段と、を有することを特徴とする画像処理装置。
【請求項4】 請求項1〜3のいずれかに記載の画像処理装置において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とする画像処理装置。
【請求項5】 請求項3に記載の画像処理装置において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであるとともに、前記第3の補間方法および前記第4の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とする画像処理装置。
【請求項6】 入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データにおける補間位置に対して第1の走査方向の周辺m画素の画素値を参照し、さらに前記補間位置に対して第2の走査方向の周辺n画素の画素値を参照することで当該補間位置の画素の画素値を算出する手段を有することを特徴とする画像処理装置。
【請求項7】 入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データを第1の補間方法により第1の走査方向に沿って補間して第1の補間画像データを出力する過程と、前記第1の補間画像データを第2の補間方法により第2の走査方向に沿って補間して第2の補間画像データを出力する過程と、を有することを特徴とする画像処理方法。
【請求項8】 入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データの主走査方向の画素数がI、副走査方向の画素数がJである場合にI行J列の画素の配置パターンを想定し、この画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第1の補間方法により前記各画素の補間を行う第1の過程と、前記第1の過程により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第2の補間方法により画素の補間を行う第2の過程と、を有することを特徴とする画像処理方法。
【請求項9】 請求項8に記載の画像処理方法において、前記画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第3の補間方法により前記各画素の補間を行う第3の過程と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第4の補間方法により画素の補間を行う第4の過程と、前記画素配置パターンのk行目と(k+1)行目の間に1ライン分の画素を補間するに際して、前記第1の過程および前記第2の過程が実行されるとともに、さらに前記k行目と(k+1)行目の間の別のラインに1ライン分の画素を補間するに際して、前記第3の過程および前記第4の過程が実行される第5の過程と、を有することを特徴とする画像処理方法。
【請求項10】 請求項7〜9に記載の画像処理方法において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とする画像処理方法。
【請求項11】 請求項9に記載の画像処理方法において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであるとともに、前記第3の補間方法および前記第4の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とする画像処理方法。
【請求項12】 入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データにおける補間位置に対して第1の走査方向の周辺m画素の画素値を参照し、さらに前記補間位置に対して第2の走査方向の周辺n画素の画素値を参照することで当該補間位置の画素の画素値を算出する過程を有することを特徴とする画像処理方法。
【請求項13】 請求項7〜12に記載の画像処理方法を実行するプログラムを記録した記録媒体。
【請求項1】 入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データを第1の補間方法により第1の走査方向に沿って補間して第1の補間画像データを出力する第1の補間処理手段と、前記第1の補間画像データを第2の補間方法により第2の走査方向に沿って補間して第2の補間画像データを出力する第2の補間処理手段と、を有することを特徴とする画像処理装置。
【請求項2】 入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データの主走査方向の画素数がI、副走査方向の画素数がJである場合にI行J列の画素の配置パターンを想定し、この画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第1の補間方法により前記各画素の補間を行う第1の補間処理手段と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第2の補間方法により画素の補間を行う第2の補間処理手段と、を有することを特徴とする画像処理装置。
【請求項3】 請求項2に記載の画像処理装置において、前記画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第3の補間方法により前記各画素の補間を行う第3の補間処理手段と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第4の補間方法により画素の補間を行う第4の補間処理手段と、前記画素配置パターンのk行目と(k+1)行目の間に1ライン分の画素を補間するに際して、前記第1の補間処理手段および前記第2の補間処理手段を動作させるとともに、さらに前記k行目と(k+1)行目の間の別のラインに1ライン分の画素を補間するに際して、前記第3の補間処理手段および前記第4の補間処理手段を動作させる手段と、を有することを特徴とする画像処理装置。
【請求項4】 請求項1〜3のいずれかに記載の画像処理装置において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とする画像処理装置。
【請求項5】 請求項3に記載の画像処理装置において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであるとともに、前記第3の補間方法および前記第4の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とする画像処理装置。
【請求項6】 入力画像データに補間処理を行って出力する画像処理装置において、前記入力画像データにおける補間位置に対して第1の走査方向の周辺m画素の画素値を参照し、さらに前記補間位置に対して第2の走査方向の周辺n画素の画素値を参照することで当該補間位置の画素の画素値を算出する手段を有することを特徴とする画像処理装置。
【請求項7】 入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データを第1の補間方法により第1の走査方向に沿って補間して第1の補間画像データを出力する過程と、前記第1の補間画像データを第2の補間方法により第2の走査方向に沿って補間して第2の補間画像データを出力する過程と、を有することを特徴とする画像処理方法。
【請求項8】 入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データの主走査方向の画素数がI、副走査方向の画素数がJである場合にI行J列の画素の配置パターンを想定し、この画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第1の補間方法により前記各画素の補間を行う第1の過程と、前記第1の過程により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第2の補間方法により画素の補間を行う第2の過程と、を有することを特徴とする画像処理方法。
【請求項9】 請求項8に記載の画像処理方法において、前記画素配置パターンの任意のi行目と(i+1)行目の間に1ライン分の各画素を各補間位置に補間するに際して、前記各補間位置に対する主走査方向の周辺画素を参照し第3の補間方法により前記各画素の補間を行う第3の過程と、前記第1の補間処理手段により補間された前記1ライン分の画素のj列目と(j+1)列目の間に画素を補間するに際して、当該補間画素の周辺に存在する前記1ライン分の画素に属する画素を参照し第4の補間方法により画素の補間を行う第4の過程と、前記画素配置パターンのk行目と(k+1)行目の間に1ライン分の画素を補間するに際して、前記第1の過程および前記第2の過程が実行されるとともに、さらに前記k行目と(k+1)行目の間の別のラインに1ライン分の画素を補間するに際して、前記第3の過程および前記第4の過程が実行される第5の過程と、を有することを特徴とする画像処理方法。
【請求項10】 請求項7〜9に記載の画像処理方法において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とする画像処理方法。
【請求項11】 請求項9に記載の画像処理方法において、前記第1の補間方法および前記第2の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであるとともに、前記第3の補間方法および前記第4の補間方法のうち、いずれか一方は参照された画素の画素値を用いて線形関数による補間演算により画像データの補間を行うものであり、他方は参照された画素の画素値を用いて非線形関数による補間演算により画像データの補間を行うものであることを特徴とする画像処理方法。
【請求項12】 入力画像データに補間処理を行って出力する画像処理方法において、前記入力画像データにおける補間位置に対して第1の走査方向の周辺m画素の画素値を参照し、さらに前記補間位置に対して第2の走査方向の周辺n画素の画素値を参照することで当該補間位置の画素の画素値を算出する過程を有することを特徴とする画像処理方法。
【請求項13】 請求項7〜12に記載の画像処理方法を実行するプログラムを記録した記録媒体。
【図3】
【図4】
【図10】
【図1】
【図2】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【図4】
【図10】
【図1】
【図2】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2000−69278(P2000−69278A)
【公開日】平成12年3月3日(2000.3.3)
【国際特許分類】
【出願番号】特願平10−233358
【出願日】平成10年8月19日(1998.8.19)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成12年3月3日(2000.3.3)
【国際特許分類】
【出願日】平成10年8月19日(1998.8.19)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]