(57)【特許請求の範囲】
【請求項１】
入力画像を同一画素値の画素からなる複数の画像ブロックに分割する画像分割手段と、
前記画像分割手段により分割された画像ブロックのうち、処理対象となる注目画像ブロックの周囲にある画像ブロックの中心をサンプル点として、該サンプル点の画素値に基づいて出力すべき画素の中心の画素値を求めるように画素値補間を行うことにより、該注目画像ブロックに含まれる各画素の画素値を算出する画素値算出手段と
を有する画像処理装置。
【請求項２】
前記画素値算出手段は、前記サンプル点を線形補間又はバイキュービック補間する
請求項１に記載の画像処理装置。
【請求項３】
前記画像分割手段は、ラベリング処理を用いて、入力画像から、同一画素値の画素からなる画像ブロックを抽出する
請求項１に記載の画像処理装置。
【請求項４】
前記画像分割手段は、正方形の画像ブロックを抽出し、
前記画像分割手段により抽出される画像ブロックの大きさに基づいて、最近傍法による拡大率を判定する拡大率判定手段
をさらに有し、
前記画素値算出手段は、前記拡大率判定手段により判定された拡大率と、前記注目画像ブロックに含まれる画素値と、この注目画像ブロックの周囲にある画像ブロックに含まれる画素値とに基づいて、注目画像ブロックに含まれる各画素の画素値を算出する
請求項１に記載の画像処理装置。
【請求項５】
前記画素値算出手段は、前記注目画像ブロックに含まれる画素値と、この注目画像ブロックの周囲にある画像ブロックに含まれる画素値と、これらの画像ブロックそれぞれの中心から各画素までの距離とに基づいて、各画素の画素値を算出する
請求項１に記載の画像処理装置。
【請求項６】
前記画素値算出手段は、注目画像ブロックの中心から各画素までの距離の逆数で重み付けを行って、各画素の画素値を算出する
請求項５に記載の画像処理装置。
【請求項７】
入力画像において、互いに隣接する複数の画素を同一画素値で置換する前処理手段と、
前記前処理手段により画素値が置換された入力画像のデータを可逆符号化する符号化手段と、
前記符号化手段により可逆符号化された画像データを復号化する復号化手段と、
前記復号化手段により復号化された画像データに対して、前記前処理手段において画素値が置換された同一画素値の画素からなる画像ブロックのうち、処理対象となる注目画像ブロックの周囲にある画像ブロックの中心をサンプル点として、該サンプル点の画素値に基づいて出力すべき画素の中心の画素値を求めるように画素値補間を行うことにより、該注目画像ブロックに含まれる各画素の画素値を算出する後処理手段と
を有する画像処理システム。
【請求項８】
入力画像の各画素を同一画素値からなる画像ブロックに拡大することにより、入力画像を拡大する拡大処理手段と、
前記拡大処理手段により拡大された入力画像に対して、前記拡大処理手段による拡大倍率に応じたフィルタを用いて、フィルタ処理を行う後処理手段と
を有し、
前記フィルタは、画像ブロックの中心をサンプル点として処理対象となる注目画像ブロックに含まれる各画素の画素値を算出する線形補間処理又はバイキュービック補間処理を実現するフィルタ係数を有する
画像処理システム。
【請求項９】
入力画像を同一画素値の画素からなる複数の画像ブロックに分割するステップと、
分割された画像ブロックのうち、処理対象となる注目画像ブロックの周囲にある画像ブロックの中心をサンプル点として、該サンプル点の画素値に基づいて出力すべき画素の中心の画素値を求めるように画素値補間を行うことにより、該注目画像ブロックに含まれる各画素の画素値を算出するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高画質な画像を生成する画像処理装置に関する。
【背景技術】
【０００２】
例えば、特許文献１は、補間対象画素から近傍の標本点までの距離に応じた重みを標本点の画素値にかけて得られる値を、複数の近傍標本点について加算する補間方法を開示する。
また、特許文献２は、入力された画像データを指定された拡大率に従って最近傍補間処理により補間し、拡大率に応じたフィルタによって、補間された画像データをフィルタリング操作する画像処理方法を開示する。
また、特許文献３は、描画性質の異なる複数種類の画像データを入力して、その種別を識別可能にして所定の順序で重ね合わせて仮想領域に描画し、この仮想領域から画素毎の画像データをその種別毎に読み出して描画性質に対応する補間処理で画素を補間し、画素補間後の画像データを補間処理に対応させて出力用領域に重ね合わせて書き込む画像データ補間方法を開示する。
また、非特許文献１は、ラベリング手法を開示する。
【特許文献１】特開平６−２８２６４１号公報
【特許文献２】特開２００２−２５９９６０号公報
【特許文献３】特開平１１−２９６６７０号公報
【非特許文献１】画像解析ハンドブック  初版  東京大学出版会  ｐ５７８−５７９
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであり、高画質な画像を生成する画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
［画像処理装置］
上記目的を達成するために、本発明にかかる画像処理装置は、入力画像を同一画素値の画素からなる複数の画像ブロックに分割する画像分割手段と、前記画像分割手段により分割された画像ブロックのうち、処理対象となる注目画像ブロックの周囲にある画像ブロックの中心をサンプル点として、該サンプル点の画素値に基づいて出力すべき画素の中心の画素値を求めるように画素値補間を行うことにより、該注目画像ブロックに含まれる各画素の画素値を算出する画素値算出手段とを有する。
【０００６】
好適には、前記画素値算出手段は、前記サンプル点を線形補間又はバイキュービック補間する。
【０００７】
好適には、前記画像分割手段は、ラベリング処理を用いて、入力画像から、同一画素値の画素からなる画像ブロックを抽出する。
【０００８】
好適には、前記画像分割手段は、正方形の画像ブロックを抽出し、前記画像分割手段により抽出される画像ブロックの大きさに基づいて、最近傍法による拡大率を判定する拡大率判定手段をさらに有し、前記画素値算出手段は、前記拡大率判定手段により判定された拡大率と、前記注目画像ブロックに含まれる画素値と、この注目画像ブロックの周囲にある画像ブロックに含まれる画素値とに基づいて、注目画像ブロックに含まれる各画素の画素値を算出する。
【０００９】
好適には、前記画素値算出手段は、前記注目画像ブロックに含まれる画素値と、この注目画像ブロックの周囲にある画像ブロックに含まれる画素値と、これらの画像ブロックの中心から各画素までの距離とに基づいて、各画素の画素値を算出する。
【００１０】
好適には、前記画素値算出手段は、注目画像ブロックの中心から各画素までの距離の逆数で重み付けを行って、各画素の画素値を算出する。
【００１１】
［画像処理システム］
また、本発明にかかる画像処理システムは、入力画像において、互いに隣接する複数の画素を同一画素値で置換する前処理手段と、前記前処理手段により画素値が置換された入力画像のデータを可逆符号化する符号化手段と、前記符号化手段により可逆符号化された画像データを復号化する復号化手段と、前記復号化手段により復号化された画像データに対して、前記前処理手段において画素値が置換された同一画素値の画素からなる画像ブロックのうち、処理対象となる注目画像ブロックの周囲にある画像ブロックの中心をサンプル点として、該サンプル点の画素値に基づいて出力すべき画素の中心の画素値を求めるように画素値補間を行うことにより、該注目画像ブロックに含まれる各画素の画素値を算出する後処理手段とを有する。
【００１２】
また、本発明にかかる画像処理システムは、入力画像の各画素を同一画素値からなる画像ブロックに拡大することにより、入力画像を拡大する拡大処理手段と、前記拡大処理手段により拡大された入力画像に対して、前記拡大処理手段による拡大倍率に応じたフィルタを用いて、フィルタ処理を行う後処理手段とを有し、前記フィルタは、画像ブロックの中心をサンプル点として処理対象となる注目画像ブロックに含まれる各画素の画素値を算出する線形補間処理又はバイキュービック補間処理を実現するフィルタ係数を有する。
【００１４】
［プログラム］
また、本発明にかかるプログラムは、入力画像を同一画素値の画素からなる複数の画像ブロックに分割するステップと、分割された画像ブロックのうち、処理対象となる注目画像ブロックの周囲にある画像ブロックの中心をサンプル点として、該サンプル点の画素値に基づいて出力すべき画素の中心の画素値を求めるように画素値補間を行うことにより、該注目画像ブロックに含まれる各画素の画素値を算出するステップとをコンピュータに実行させる。
【発明の効果】
【００１５】
本発明の画像処理装置によれば、高画質な画像を生成することができる。
【発明を実施するための最良の形態】
【００１６】
まず、本発明の理解を助けるために、その背景及び概略を説明する。
画素値を補間して、画像を拡大する方法が種々提案されている。例えば、最近傍補間法（あるいは、ニアレストネイバー法）、線形補間法、及び、キュービックコンボリューション法（バイキュービック補間法）などがある。
これらの補間方法は、画質及び処理負荷が異なる。例えば、線形補間法やキュービックコンボリューション法は、高画質を実現できるが、処理負荷が重いため処理速度が遅い。一方、最近傍補間法は、処理負荷が軽く高速に処理できるため、処理速度が必要な処理系においては、最近傍補間法が利用されることが多い。そのため、最近傍補間法で拡大された画像データが、ネットワーク又は記録媒体などを介して、やりとりされることが多い。
【００１７】
しかしながら、最近傍補間法では、図１（Ａ）に例示するように、拡大率に応じて同一画素値からなるブロックが生成されるため（本図では、２×２サイズのブロック）、最近傍補間法で拡大された画像には、ジャギーなどが発生してしまうという問題点がある。
【００１８】
そこで、本実施形態における画像処理装置２は、最近傍補間法により拡大された画像が入力された場合に、既定のフィルタを用いて、入力された画像を、他の補間法（線形補間法、キュービックコンボリューション法など）により拡大された画像に補正する。
より具体的には、画像処理装置２は、画素値が同じ領域（画像ブロック）の中心をサンプル点として、このサンプル点からの距離の逆数に比例する係数で画素値補間を行う。
本例では、線形補間法により拡大された画像に補正する場合を具体例として説明するため、画像処理装置２は、画像の主走査方向にサンプル点からの距離の逆数に比例する係数で線形な補間を行い、さらに副走査方向にサンプル点からの距離の逆数に比例する係数で線形な補間を行う。
【００１９】
［第１実施形態］
図１（Ｂ）は、サンプル点と各画素との関係を例示する図である。
図１（Ｂ）において、「×」印で示された点は、拡大画像における各画素の中心点であり、この中心点の画素値が、線形な画素値変化を前提として推定される。
また、図１（Ｂ）に示された黒丸で示された点は、サンプル点であり、同一の画素値を有する画像ブロックの中心である。それぞれのサンプル点の画素値は、そのサンプル点が属する画像ブロックの画素値である。したがって、サンプル点の画素値は、そのサンプル点が属する画像ブロックに含まれる画素群のいずれの画素値でもよい。
拡大画像における各画素の画素値（「×」位置の画素値）は、複数のサンプル点における画素値までの距離と、それぞれのサンプル点の画素値とに基づいて、線形補間により算出される。
【００２０】
図２は、拡大画像における各画素の画素値Ｐを算出するための数式を説明する図である。なお、本図において、Ｐは補間により算出される画素値であり、Ｘはサンプル点の画素値であり、Ｌはサンプル点と画素との距離である。
図２（Ａ）に例示するように、拡大画像における各画素の画素値Ｐは、最も近いサンプル点の画素値Ｘｉに、サンプル点と画素との距離の逆数に比例する重み付け係数Ｗｉをかけて合算して算出される。
本例では、図２（Ｂ）に例示するように、主走査方向（図の左右方向）及び副走査方向（図の上下方向）に同じ拡大率（図では２倍）に拡大する場合を具体例とするため、拡大画像にはＮ×Ｎサイズの画像ブロック（本図では、２×２サイズ）が配列されており、４つのサンプル点の画素値Ｘ１〜Ｘ４を用いて、補間画素値Ｐが算出されるが、これに限定されるものではなく、例えば、同一の画素値を有する画像ブロックの形状又はサイズが不均一であっても、図２（Ａ）に例示する式により、補間画素値Ｐが算出できる。
さらに、図2に示された例では、画素値Pを2次元的に補間する例を示している。しかしながら、画素値Pを水平方向の1次元で補間し、さらに垂直方向の1次元で補間することによって求めても良い。このような補間方法は、既述の線形補間方法と同一なものである。
【００２１】
なお、本例では、線形補間法で拡大された画像に補正する形態を説明するが、キュービックコンボリューション法で拡大された画像に補正する場合にも同様に実現することができる。すなわち、キュービックコンボリューション法では、補間処理において参照すべき範囲、及び、補間式が異なるのみであり、サンプル点の画素値、及び、注目画素とサンプル点との距離に基づいて補間演算を行う点で、線形補間法と共通である。
【００２２】
また、画素値Pを水平方向の1次元で補間し、さらに垂直方向の1次元で補間することによって求める線形補間方法をそのままフィルタとして実装する場合には、図３に例示するような複数のフィルタを画像ブロックにおける位相に応じて切り替えて適用する必要がある。なお、図３に例示された複数のフィルタは、主走査方向及び副走査方向に２倍拡大した場合のものである。また、図３では、説明の便宜上、フィルタ係数の分母１６が省略され、参照不要な画素位置に係数０を配置している。すなわち、図２（Ａ）の数式をそのまま実現する場合には、図中の破線枠内の画素のみを参照して、補間画素値Ｐを算出できる。
しかしながら、画像ブロック内では画素値が同一であることに着目して、図３に例示したフィルタを加工すると、位相に依存しない単一のフィルタが生成できる。
【００２３】
例えば、図４（Ａ）に例示するフィルタを加工する場合を説明する。
図４（Ａ）に例示するフィルタは、図４（Ｂ）に例示する位相で適用される。この場合に、図４（Ｂ）に例示するように、画素値が同一の領域が存在するため、フィルタ係数を振り分けることができる。
具体的には、図４（Ｃ）に例示するように、３×３のフィルタの回転対称性が高くなるように、フィルタ係数を振り分けると、９０度回転に対して対称なフィルタが生成される。図３に例示した４つのフィルタが互いに９０度回転させた関係にあることから、図４（Ａ）に例示したフィルタのみでなく、図３に例示した他のフィルタについて同様の加工が可能である。
したがって、画像処理装置２は、最近傍補間法で主走査方向及び副走査方向に２倍に拡大された場合には、図４（Ｄ）に例示する２倍用２次元フィルタ９０２を用いることにより、フィルタを切り替えることなく、補間画素値Ｐを算出することができる。
【００２４】
同様に、最近傍補間法で主走査方向及び副走査方向に３倍に拡大された場合には、フィルタ係数を図５（Ａ）に例示するように振り分けることができるため、画像処理装置２は、図５（Ｂ）に例示する３倍用２次元フィルタ９０４を用いることにより、３倍拡大された場合の補間画素値Ｐを算出することができる。
【００２５】
［ハードウェア構成］
次、本実施形態における画像処理装置２のハードウェア構成を説明する。
図６は、本発明にかかる画像処理方法が適応される画像処理装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
図６に例示するように、画像処理装置２は、ＣＰＵ２１２及びメモリ２１４などを含む制御装置本体２１０、通信装置２２０、ＨＤＤ・ＣＤ装置などの記録装置２４０、並びに、ＬＣＤ表示装置あるいはＣＲＴ表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２３０から構成される。
画像処理装置２は、例えば、プリンタ装置２６の内部に設けられており、通信装置２２０又は記録装置２４０などを介して画像データを取得し、取得された画像データに対して画像処理を施して、画像処理が施された画像データをプリンタ装置２６に印刷させる。
【００２６】
［画像処理プログラム］
図７は、制御装置２１０（図６）により実行される画像処理プログラム５の機能構成を例示する図である。
図７に例示するように、画像処理プログラム５は、拡大処理部５１０、フィルタ選択部５２０、及びフィルタ処理部５３０を有する。
【００２７】
画像処理プログラム５において、拡大処理部５１０は、入力された画像データを指定された拡大率で拡大する。拡大処理部５１０により適用される補間方法は、拡大前の１画素に相当する複数の画素を単一の画素値で塗りつぶす方式である。
本例の拡大処理部５１０は、最近傍補間法を用いて、入力された画像データを主走査方向及び副走査方向に拡大する。
【００２８】
フィルタ選択部５２０は、拡大処理部５１０による拡大処理の拡大率に基づいて、適用すべきフィルタを選択する。選択されるフィルタは、それぞれの拡大画像において、最近傍補間法以外の補間法（例えば、線形補間法又はキュービックコンボリューション法）で拡大された画像データを生成するものである。
本例のフィルタ選択部５２０は、拡大率が２倍である場合に、図４（Ｄ）に例示した２倍用２次元フィルタ９０２を選択し、拡大率が３倍である場合に、図５（Ｂ）に例示した３倍用２次元フィルタ９０４を選択し、これら以外の拡大率である場合に、図２（Ａ）に例示した式を実現するフィルタを画像ブロックにおける位相に応じて切り替える。
【００２９】
フィルタ処理部５３０は、フィルタ選択部５２０により選択されたフィルタを用いて、拡大処理部５１０により拡大された画像に対してフィルタ処理を行う。
フィルタ選択部５２０により選択されるフィルタは、注目画像ブロック（すなわち、注目画素が属する画像ブロック）の画素値と、この注目画像ブロックの周囲にある画像ブロックの画素値とに重み付け係数Ｗをかけて合算するものであるため、フィルタ処理部５３０は、フィルタ選択部５２０により選択されたフィルタを用いることにより、注目画像ブロック（すなわち、注目画素が属する画像ブロック）の画素値と、この注目画像ブロックの周囲にある画像ブロックの画素値とに基づいて、注目画素の画素値を算出することになる。
本例のフィルタ処理部５３０は、フィルタ選択部５２０により選択されたフィルタを用いることにより、図２（Ａ）に例示する式によって補間画素値Ｐを算出することになる。
【００３０】
［全体動作］
次に、画像処理装置２（画像処理プログラム５）の動作を説明する。
図８は、画像処理プログラム５（図７）による画像処理（Ｓ１０）のフローチャートである。
図８に示すように、ステップ１００（Ｓ１００）において、拡大処理部５１０（図７）は、画像データが入力されると、入力された画像データを最近傍補間法により所望の拡大率で拡大し、拡大された画像データをフィルタ処理部５３０に出力し、拡大率をフィルタ選択部５２０に通知する。
【００３１】
ステップ１１０（Ｓ１１０）において、画像処理プログラム５は、拡大率が２倍である場合に、Ｓ１２０の処理に移行し、拡大率が３倍である場合に、Ｓ１３０の処理に移行し、その他の拡大率である場合に、Ｓ１５０の処理に移行する。
【００３２】
ステップ１２０（Ｓ１２０）において、フィルタ選択部５２０は、拡大処理部５１０から２倍拡大した旨が通知されると、図４（Ｄ）に例示した２倍用２次元フィルタ９０２を選択し、選択された２倍用２次元フィルタ９０２をフィルタ処理部５３０に出力する。
【００３３】
ステップ１３０（Ｓ１３０）において、フィルタ選択部５２０は、拡大処理部５１０から３倍拡大した旨が通知されると、図５（Ｂ）に例示した３倍用２次元フィルタ９０４を選択し、選択された３倍用２次元フィルタ９０４をフィルタ処理部５３０に出力する。
【００３４】
ステップ１４０（Ｓ１４０）において、フィルタ処理部５３０は、フィルタ選択部５２０から入力されたフィルタ（２倍用２次元フィルタ９０２又は３倍用２次元フィルタ９０４）を用いて、拡大処理部５１０から入力された画像データ（最近傍補間法で拡大された画像）に対してフィルタ処理を行い、フィルタ処理が行われた画像データを外部に出力する。
【００３５】
ステップ１５０（Ｓ１５０）において、フィルタ選択部５２０は、拡大処理部５１０から２倍又は３倍以外の拡大倍率が通知されると、図２（Ａ）の式を実現するフィルタを画像ブロックにおける位相毎に作成し、作成された複数のフィルタのうち、注目画像ブロックにおける注目画素の位置（すなわち、注目画素とサンプル点との相対位置）に応じて、適用すべきフィルタを選択し、選択されたフィルタをフィルタ処理部５３０に出力する。
フィルタ処理部５３０は、フィルタ選択部５２０からそれぞれの画素位置毎に入力されたフィルタを用いて、拡大処理部５１０から入力された画像データに対してフィルタ処理を行い、フィルタ処理が行われた画像データを外部に出力する。
【００３６】
以上説明したように、本実施形態における画像処理装置２は、最近傍補間法により拡大された画像データに対して、図２〜５で説明したフィルタを用いて、フィルタ処理を施すことにより、最近傍補間法による拡大画像を、より高画質な拡大画像（本例では線形補間法で拡大された拡大画像）に変換することができる。
【００３７】
［変形例１］
上記実施形態では、同一の画像処理装置内で、最近傍補間法による拡大処理が行われているため、拡大率（すなわち、同一画素値からなる画像ブロックのサイズ）をフィルタ選択部５２０が特定することができたが、最近傍補間法による拡大処理が外部で行われた場合には、拡大率を特定することができる。
そこで、第１の変形例における画像処理装置２は、入力された画像データの中から、同一の画素値からなる画像ブロックを抽出し、抽出された画像ブロックのサイズに応じたフィルタを適用する。すなわち、本変形例の画像処理装置２は、画像ブロックのサイズに基づいて、最近傍補間法による拡大処理の拡大率を推定する。
【００３８】
図９は、第２の画像処理プログラム５２の構成を例示する図である。なお、本図に示された各構成のうち、図７に示された構成と実質的に同一のものには同一の符号が付されている。
図９に例示するように、第２の画像処理プログラム５２は、図７に示された画像処理プログラム５の拡大処理部５１０を、ブロック抽出部５４０で置換した構成をとる。
ブロック抽出部５４０は、入力された画像データの中から、同一の画素値からなる画像ブロックを抽出し、抽出された画像ブロックのサイズに基づいて、最近傍補間法による拡大処理の拡大率を推定し、推定された拡大率をフィルタ選択部５２０に出力する。
より具体的には、ブロック抽出部５１０は、ラベリング処理を用いて、同一の画素値からなる画像ブロックを抽出する。
【００３９】
また、本例では、拡大率が２倍又は３倍以外である場合に、画像ブロックにおける注目画素の位置（すなわち、位相）に応じてフィルタを切り替える必要があるため、ブロック抽出部５４０は、抽出された画像ブロックの位置及び範囲をフィルタ選択部５２０に出力する。
この場合に、フィルタ選択部５２０は、ブロック抽出部５４０から入力された画像ブロックの位置及び範囲に基づいて、サンプル点の位置を特定し、特定されたサンプル点と注目画素との相対位置に応じて、適用すべきフィルタを選択する。
【００４０】
図１０は、第１の変形例における画像処理（Ｓ１２）のフローチャートである。なお、本図に示された各処理のうち、図８に示された処理と実質的に同一のものには同一の符号が付されている。
図１０に示すように、ステップ１０２（Ｓ１０２）において、ブロック抽出部５４０（図９）は、画像データが入力されると、入力された画像データから画像ブロックを抽出し、抽出された画像ブロックの位置及び範囲をフィルタ選択部５２０に通知し、入力された画像データをフィルタ処理部５３０に出力する。
【００４１】
ステップ１１２（Ｓ１１２）において、画像処理プログラム５２（図９）は、抽出された画像ブロックが２×２サイズである場合に、Ｓ１２０の処理に移行し、画像ブロックが３×３サイズである場合に、Ｓ１３０の処理に移行し、画像ブロックがこれら以外のサイズである場合に、Ｓ１５０の処理に移行する。
【００４２】
Ｓ１２０において、フィルタ選択部５２０は、ブロック抽出部５４０から２×２サイズの画像ブロックが抽出された旨が通知されると、図４（Ｄ）に例示した２倍用２次元フィルタ９０２を選択し、選択された２倍用２次元フィルタ９０２をフィルタ処理部５３０に出力する。
【００４３】
Ｓ１３０において、フィルタ選択部５２０は、ブロック抽出部５４０から３×３サイズの画像ブロックが抽出された旨が通知されると、図５（Ｂ）に例示した３倍用２次元フィルタ９０４を選択し、選択された３倍用２次元フィルタ９０４をフィルタ処理部５３０に出力する。
【００４４】
Ｓ１４０において、フィルタ処理部５３０は、フィルタ選択部５２０から入力されたフィルタ（２倍用２次元フィルタ９０２又は３倍用２次元フィルタ９０４）を用いて、ブロック抽出部５４０から入力された画像データに対してフィルタ処理を行い、フィルタ処理が行われた画像データを外部に出力する。
【００４５】
Ｓ１５０において、フィルタ選択部５２０は、ブロック抽出部５４０から通知された画像ブロックの位置及び範囲に基づいて、図２（Ａ）の式を実現するフィルタを画像ブロックにおける位相毎に作成し、作成された複数のフィルタのうち、注目画像ブロックにおける注目画素の位置（すなわち、注目画素とサンプル点との相対位置）に応じて、適用すべきフィルタを選択し、選択されたフィルタをフィルタ処理部５３０に出力する。
フィルタ処理部５３０は、フィルタ選択部５２０からそれぞれの画素位置毎に入力されたフィルタを用いて、ブロック抽出部５４０から入力された画像データに対してフィルタ処理を行い、フィルタ処理が行われた画像データを外部に出力する。
【００４６】
このように、第１の変形例における画像処理装置２は、予め最近傍補間法により拡大された画像データが入力された場合にも、同一画素値の領域（すなわち、画像ブロック）を抽出することにより、最近傍補間法による拡大画像を、より高画質な拡大画像に変換することができる。
なお、本変形例では、抽出された画像ブロックのサイズに基づいて、最近傍補間法による拡大率を推定しているが、この拡大率が外部から通知される場合には、ブロック抽出部５４０による画像ブロックの抽出は不要であり、フィルタ選択部５２０は、外部から通知された拡大率に基づいて、適用すべきフィルタを生成又は選択する。
【００４７】
［第２実施形態］
次に、第２の実施形態を説明する。
上記第１の実施形態では、最近傍補間法により拡大された画像データを、より高画質な拡大画像に変換する形態を説明したが、図１（Ａ）に例示するように、複数の画素が同一の画素値に塗り潰されて画質が劣化するのは、画像の拡大処理だけではない。
例えば、可逆符号化処理の前処理として、近傍の複数の画素が同一の画素値で塗り潰されることがある。これは、近傍の画素値を同一の画素値で塗り潰すことにより、予測符号化処理における予測的中率を向上させて圧縮率を高くするためである。
そこで、第２の実施形態では、可逆符号化処理の前処理として、互いに近接する画素群が同一の画素値で塗り潰された場合に、復号化処理の後処理として、第１の実施形態で説明したフィルタ処理を行う。
【００４８】
図１１は、画像処理システムで実行される符号化プログラム６及び復号化プログラム７の機能構成を例示する図である。画像処理システムとは、画像データが符号化、復号化されるシステムであり、例えば、汎用コンピュータと、このコンピュータから受信した画像データを印刷するプリンタ装置とからなるシステムである。
図１１に例示するように、符号化プログラム６は、前処理部６００及び可逆符号化部６１０を有する。
また、復号化プログラム７は、復号化部７００、フィルタ選択部７１０、及び、後処理部７２０を有する。
【００４９】
符号化プログラム６において、前処理部６００は、指定された圧縮率に応じて、入力された画像データのうち、互いに近接する画素群を同一の画素値で塗り潰す。
より具体的には、前処理部６００は、指定された圧縮率に応じて、同一画素値で塗り潰すべき領域（すなわち、画像ブロック）を決定し、決定された領域の画素値を、平均画素値などの単一の画素値で置換する。
本例の前処理部６００は、入力された画像データを、圧縮率に応じたＮ×Ｎサイズ（Ｎは自然数）の画像ブロックに分割し、分割された各画像ブロックを各画像ブロックの平均画素値で塗り潰す。
【００５０】
可逆符号化部６１０は、前処理部６００により前処理がなされた画像データ（近傍の画素群が同一画素値で塗り潰された画像）を予測符号化方式により可逆符号化する。
符号化された画像データは、通信回線又は記録媒体などを介して復号化プログラム７に入力される。
【００５１】
復号化プログラム７において、復号化部７００は、符号化プログラム７により符号化された画像データを、可逆復号化する。
本例の復号化部７００は、予測符号化方式により、符号データを画像データに復号化する。
【００５２】
フィルタ選択部７１０は、前処理部６００により塗り潰された画像ブロックの位置及び範囲に基づいて、適用すべきフィルタを選択する。選択されるフィルタは、前処理における塗潰し範囲のサイズに対応するものである。
本例のフィルタ選択部７１０は、塗り潰された画像ブロックが２×２サイズである場合に、図４（Ｄ）に例示した２倍用２次元フィルタ９０２を選択し、塗り潰された画像ブロックが３×３サイズである場合に、図５（Ｂ）に例示した３倍用２次元フィルタ９０４を選択し、塗り潰された画像ブロックがこれら以外の形状又はサイズである場合に、画像ブロックの位置及び範囲に基づいて、サンプル点を特定し、特定されたサンプル点に基づいて、図２（Ａ）に例示した式を実現する複数のフィルタを生成し、生成された複数のフィルタを画像ブロックにおける注目画素の位置（位相）に応じて切り替える。
【００５３】
後処理部７２０は、フィルタ選択部７１０により選択されたフィルタを用いて、復号化部７００により復号化された画像に対してフィルタ処理を行う。
フィルタ選択部７１０により選択されるフィルタは、注目画像ブロック（すなわち、注目画素が属する画像ブロック）の画素値と、この注目画像ブロックの周囲にある画像ブロックの画素値とに重み付け係数Ｗをかけて合算するものであるため、後処理部７２０は、フィルタ選択部７１０により選択されたフィルタを用いることにより、注目画像ブロック（すなわち、注目画素が属する画像ブロック）の画素値と、この注目画像ブロックの周囲にある画像ブロックの画素値とに基づいて、注目画素の画素値を算出することになる。
本例の後処理部７２０は、フィルタ選択部７１０により選択されたフィルタを用いることにより、図２（Ａ）に例示する式によって補間画素値Ｐを算出することになる。
【００５４】
次に、画像処理システム（符号化プログラム６及び復号化プログラム７）の動作を説明する。
図１２は、画像処理システムにおける画像処理（Ｓ２０）のフローチャートである。
図１２に示すように、ステップ２００（Ｓ２００）において、前処理部６００（図１１）は、画像データが入力されると、入力された画像データを、圧縮率に応じたサイズの画像ブロックに分割する。
【００５５】
ステップ２０５（Ｓ２０５）において、前処理部６００は、分割された各画像ブロックの画素値を、それぞれの画像ブロックの平均画素値で置換する。
各画像ブロックが平均画素値で置換された画像データは、可逆符号化部６１０に出力され、この画像ブロックのサイズは、例えば、符号データのヘッダなどに挿入される。
【００５６】
ステップ２１０（Ｓ２１０）において、可逆符号化部６１０は、前処理部６００から入力された画像データを、予測符号化方式により可逆符号化する。
【００５７】
ステップ２１５（Ｓ２１５）において、符号化プログラム６は、符号化された画像データを外部（ネットワーク又は記録装置など）に出力する。
【００５８】
ステップ２２０（Ｓ２２０）において、復号化プログラム７は、符号化プログラム６により符号化された符号データが入力されると、復号化するよう各構成に指示する。
復号化部７００は、入力された符号データを可逆復号化し、復号化された画像データを後処理部７２０に出力する。
【００５９】
ステップ２２５（Ｓ２２５）において、復号化プログラム７は、符号データのヘッダから画像ブロックのサイズを特定し、特定されたサイズが２×２サイズである場合に、Ｓ２３０の処理に移行し、３×３サイズである場合に、Ｓ２３５の処理に移行し、その他のサイズである場合に、Ｓ２４５の処理に移行する。
【００６０】
ステップ２３０（Ｓ２３０）において、フィルタ選択部７１０は、符号データのヘッダに基づいて、画像ブロックのサイズが２×２サイズであることを特定すると、図４（Ｄ）に例示した２倍用２次元フィルタ９０２を選択し、選択された２倍用２次元フィルタ９０２を後処理部７２０に出力する。
【００６１】
ステップ２３５（Ｓ２３５）において、フィルタ選択部７１０は、符号データのヘッダに基づいて、画像ブロックのサイズが３×３サイズであることを特定すると、図５（Ｂ）に例示した３倍用２次元フィルタ９０４を選択し、選択された３倍用２次元フィルタ９０４を後処理部７２０に出力する。
【００６２】
ステップ２４０（Ｓ２４０）において、後処理部７２０は、フィルタ選択部７１０から入力されたフィルタ（２倍用２次元フィルタ９０２又は３倍用２次元フィルタ９０４）を用いて、復号化部７００から入力された画像データ（２×２サイズ又は３×３サイズで塗り潰された画像）に対してフィルタ処理を行い、フィルタ処理が行われた画像データを外部に出力する。
【００６３】
ステップ２４５（Ｓ２４５）において、フィルタ選択部７１０は、符号データのヘッダに基づいて、画像ブロックのサイズが２×２サイズ又は３×３サイズ以外であることを特定すると、図２（Ａ）の式を実現するフィルタを画像ブロックにおける位相毎に作成し、作成された複数のフィルタのうち、注目画像ブロックにおける注目画素の位置（すなわち、注目画素とサンプル点との相対位置）に応じて、適用すべきフィルタを選択し、選択されたフィルタを後処理部７２０に出力する。
後処理部７２０は、フィルタ選択部７１０からそれぞれの画素位置毎に入力されたフィルタを用いて、復号化部７００から入力された画像データに対してフィルタ処理を行い、フィルタ処理が行われた画像データを外部に出力する。
【００６４】
以上説明したように、本実施形態における画像処理システムは、可逆符号化処理を行う前に前処理を行うことによって圧縮率を向上させ、復号化された画像データに対して補間処理を施すことによって、前処理によって生じた画質劣化を緩和する。
【００６５】
［変形例］
上記実施形態では、２次元フィルタを用いる形態を説明したが、これに限定されるものではなく、例えば、１次元フィルタを用いてもよい。例えば、最近傍補間法で２倍に拡大された場合（又は、画像ブロックが２×２サイズ、２×１サイズ又は１×２サイズである場合）、フィルタ係数［１／４、２／４、１／４］の１次元フィルタを主走査方向及び副走査方向又はこれらのいずれか一方にかける。なお、主走査方向及び副走査方向の双方にかけた場合、図４（Ｄ）に例示した２倍用２次元フィルタ９０２をかけた場合と等価な結果になる。
同様に、最近傍補間法で３倍に拡大された場合（又は、画像ブロックが３×３サイズ、３×１サイズ又は１×３サイズである場合）、フィルタ係数［１／３、１／３、１／３］の１次元フィルタを主走査方向及び副走査方向又はこれらのいずれか一方にかける。この場合も、主走査方向及び副走査方向の双方にかけた場合、図５（Ｂ）に例示した３倍用２次元フィルタ９０４をかけた場合と等価な結果になる。
【図面の簡単な説明】
【００６６】
【図１】（Ａ）は、最近傍補間法を説明し、（Ｂ）は、サンプル点と注目画素との関係を説明する図である。
【図２】線形補間処理を説明する図である。
【図３】簡略化前のフィルタ（２倍拡大）を例示する図である。
【図４】２倍拡大用のフィルタの簡略化を説明する図である。
【図５】簡略化された３倍拡大用のフィルタを例示する図である。
【図６】本発明にかかる画像処理方法が適応される画像処理装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
【図７】制御装置２１０（図６）により実行される画像処理プログラム５の機能構成を例示する図である。
【図８】画像処理プログラム５（図７）による画像処理（Ｓ１０）のフローチャートである。
【図９】第２の画像処理プログラム５２の構成を例示する図である。
【図１０】第１の変形例における画像処理（Ｓ１２）のフローチャートである。
【図１１】画像処理システムで実行される符号化プログラム６及び復号化プログラム７の機能構成を例示する図である。
【図１２】画像処理システムにおける画像処理（Ｓ２０）のフローチャートである。
【符号の説明】
【００６７】
２・・・画像処理装置
５・・・画像処理プログラム
５１０・・・拡大処理部
５２０・・・フィルタ選択部
５３０・・・フィルタ処理部
５４０・・・ブロック抽出部
６・・・符号化プログラム
６００・・・前処理部
６１０・・・可逆符号化部
７・・・復号化プログラム
７００・・・復号化部
７１０・・・フィルタ選択部
７２０・・・後処理部
【図１】
0004605001.tif 000002
【図２】
0004605001.tif 000003
【図３】
0004605001.tif 000004
【図４】
0004605001.tif 000005
【図５】
0004605001.tif 000006
【図６】
0004605001.tif 000007
【図７】
0004605001.tif 000008
【図８】
0004605001.tif 000009
【図９】
0004605001.tif 000010
【図１０】
0004605001.tif 000011
【図１１】
0004605001.tif 000012
【図１２】
0004605001.tif 000013