(57)【要約】【課題】画像の拡大処理および圧縮処理を含む一連の処理における処理負荷を低減するすることができる画像処理装置を提供する。【解決手段】プリンタ２は、入力画像の解像度が出力画像のものに合わせるために画素群を拡大し、さらに、画像形成処理の途中で画像データを圧縮して保持する必要がある場合に、圧縮処理の一部を構成する前処理を行った後に、画素データの拡大処理を施すことにより、前処理の処理負荷を低減させ、さらに、高い圧縮率を実現することができる。【選択図】          図６
2004201071.tif 000002
【特許請求の範囲】
【請求項１】
所定数の画素からなる画素群の画像データを符号化する符号化手段と、
前記符号化手段により符号化された画像データに基づいて、前記画素群を拡大する拡大手段と
を有する画像処理装置。
【請求項２】
所定数の画素からなる画素群の画像データに対して、符号化のための前処理を施す前処理手段と、
前記前処理手段により前処理が施された画像データに基づいて、前記画素群を拡大する拡大手段と、
前記拡大手段により拡大された画素群の画像データを符号化する符号化手段と
を有する画像処理装置。
【請求項３】
前記前処理手段は、処理対象として注目されている注目画素の画素値と、この注目画素の周辺画素の画素値とに基づいて、注目画素の画素値を変更する画素値変更手段を含み、
前記拡大手段は、前記画素値変更手段により変更された画素値に基づいて、画素群を拡大し、
前記符号化手段は、前記拡大手段により拡大された画素群の画像データを符号化する
請求項２に記載の画像処理装置。
【請求項４】
前記前処理手段は、前記画素値変更手段による画素値の変更量を、他の画素に分配する分配手段をさらに含み、
前記拡大手段は、前記分配手段により分配された画素値を受け入れ、さらに、前記画素値変更手段により変更された画素値に基づいて、前記画素群を拡大し、
前記符号化手段は、前記拡大手段により拡大された画素群の画像データを符号化する
請求項３に記載の画像処理装置。
【請求項５】
前記前処理手段は、注目画素の画像データを符号化する場合に、この注目画素の周辺画素の画素値を参照して、注目画素の画素値を、符号化される被符号化データに変換し、
前記符号化手段は、前記前処理手段により変換された被符号化データを符号化する
請求項２〜４のいずれかに記載の画像処理装置。
【請求項６】
前記拡大手段が画素群を拡大する方向は、前記符号化手段が参照する方向と１つ以上一致する
請求項５に記載の画像処理装置。
【請求項７】
所定数の画素からなる画素群を拡大する拡大手段と、
前記画素群の画素値を変更する画素値変更手段と、
前記画素値変更手段による画素値の変更量を、他の画素群に分配する分配手段と、
前記分配手段により分配された画素値を受け入れ、前記画素値変更手段により変更された画素値に基づいて、前記画素群の画像データを符号化する符号化手段と
を有し、
前記拡大手段は、前記分配手段により画素値の分配を受けた後の画素群を少なくとも１方向に拡大する
画像処理装置。
【請求項８】
入力手段と、
この入力手段により入力された画像データから、画像を構成する１列の画素群に対応する画像データを処理単位として取得する取得手段と
をさらに有し、
前記符号化手段は、前記取得手段により取得された処理単位毎に、画像データを符号化し、
前記拡大手段は、前記取得手段により取得された処理単位毎に、画素群を拡大する
請求項１、２または７に記載の画像処理装置。
【請求項９】
前記符号化手段により符号化された画像データを復号化して出力する出力手段
をさらに有する請求項１、２または７に記載の画像処理装置。
【請求項１０】
所定数の画素からなる画素群の画像データを符号化し、
符号化された画像データに基づいて、前記画素群を拡大する
画像処理方法。
【請求項１１】
コンピュータを含む画像処理装置において、
所定数の画素からなる画素群の画像データを符号化するステップと、
符号化された画像データに基づいて、前記画素群を拡大するステップと
を前記画像処理装置のコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を構成する画素群の拡大処理および符号化処理を行う画像処理装置に関する。
【０００２】
【従来の技術】
画像データを形成する場合に、画像形成するデバイス（プリンタまたはモニタ等）の出力解像度と、デバイスに入力された画像データの入力解像度とが異なることがあり、画像データの解像度を出力解像度に変換する必要がある。例えば、ｗｅｂページの画像は、モニタの解像度に合わせて７２〜１００ドット／インチ程度であるが、プリンタの出力解像度は、３００〜２４００ドット／インチ程度であり、ｗｅｂページ上の画像をプリンタで出力する場合には、画素データを補完してプリンタの出力解像度に合わせる必要がある。
解像度の変換方法としては、注目画素の近傍にある周辺画素に基づいて補完する方法がある。例えば、Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ法では、最近傍位置の画素値に基づいて画素データを補完し、画像サイズを変更する。
また、プリンタ等の画像形成装置は、利用可能なメモリ量またはバスの帯域に上限があるため、画像データを圧縮した状態で保持および伝送する必要がある。なお、画像データを圧縮する手段としては様々な符号化方法が提案されている（例えば、特許文献１および特許文献２）。
【０００３】
【特許文献１】
特開平９−２２４２５３号公報
【特許文献２】
特開平１０−２９４６７０号公報
【０００４】
【発明が解決しようとする課題】
本発明は、上述した背景からなされたものであり、画像の解像度を変更し、さらに、効率よく画像データを圧縮する画像処理装置、画像処理方法、およびプログラムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
［画像処理装置］
上記目的を達成するために、本発明にかかる画像処理装置は、所定数の画素からなる画素群の画像データを符号化する符号化手段と、前記符号化手段により符号化された画像データに基づいて、前記画素群を拡大する拡大手段とを有する。
【０００６】
また、本発明にかかる画像処理装置は、所定数の画素からなる画素群の画像データに対して、符号化のための前処理を施す前処理手段と、前記前処理手段により前処理が施された画像データに基づいて、前記画素群を拡大する拡大手段と、前記拡大手段により拡大された画素群の画像データを符号化する符号化手段とを有する。
【０００７】
好適には、前記前処理手段は、処理対象として注目されている注目画素の画素値と、この注目画素の周辺画素の画素値とに基づいて、注目画素の画素値を変更する画素値変更手段を含み、前記拡大手段は、前記画素値変更手段により変更された画素値に基づいて、画素群を拡大し、前記符号化手段は、前記拡大手段により拡大された画素群の画像データを符号化する。
【０００８】
好適には、前記前処理手段は、前記画素値変更手段による画素値の変更量を、他の画素に分配する分配手段をさらに含み、前記拡大手段は、前記分配手段により分配された画素値を受け入れ、さらに、前記画素値変更手段により変更された画素値に基づいて、前記画素群を拡大し、前記符号化手段は、前記拡大手段により拡大された画素群の画像データを符号化する。
【０００９】
好適には、前記前処理手段は、注目画素の画像データを符号化する場合に、この注目画素の周辺画素の画素値を参照して、注目画素の画素値を、符号化される被符号化データに変換し、前記符号化手段は、前記前処理手段により変換された被符号化データを符号化する。
【００１０】
好適には、前記拡大手段が画素群を拡大する方向は、前記符号化手段が参照する方向と１つ以上一致する。
【００１１】
また、本発明にかかる画像処理装置は、所定数の画素からなる画素群を拡大する拡大手段と、前記画素群の画素値を変更する画素値変更手段と、前記画素値変更手段による画素値の変更量を、他の画素群に分配する分配手段と、前記分配手段により分配された画素値を受け入れ、前記画素値変更手段により変更された画素値に基づいて、前記画素群の画像データを符号化する符号化手段とを有し、前記拡大手段は、前記分配手段により画素値の分配を受けた後の画素群を少なくとも１方向に拡大する。
【００１２】
好適には、画像処理装置は、入力手段と、この入力手段により入力された画像データから、画像を構成する１列の画素群に対応する画像データを処理単位として取得する取得手段とをさらに有し、前記符号化手段は、前記取得手段により取得された処理単位毎に、画像データを符号化し、前記拡大手段は、前記取得手段により取得された処理単位毎に、画素群を拡大する。
好適には、画像処理装置は、前記符号化手段により符号化された画像データを復号化して出力する出力手段（画像形成手段および通信手段等）をさらに有する。
【００１３】
［画像処理方法］
また、本発明にかかる画像処理方法は、所定数の画素からなる画素群の画像データをコンピュータが符号化し、符号化された画像データに基づいて、コンピュータが前記画素群を拡大する。
【００１４】
［プログラム］
また、本発明にかかるプログラムは、コンピュータを含む画像処理装置において、所定数の画素からなる画素群の画像データを符号化するステップと、符号化された画像データに基づいて、前記画素群を拡大するステップとを前記画像処理装置のコンピュータに実行させる。
【００１５】
［用語］
解像度とは、画像を構成する画素の数量を示す指標であり、例えば、画像における単位長（１インチなど）あたりの画素数である。
また、前処理とは、符号化処理の前に行われる処理のことであり、例えば、画像の性質を変更する処理、同一画素値の連続数をカウントする処理、および、画素データを予測符号化の予測情報に変更する処理などを含む。
また、画像データとは、画像の形成に必要なデータであり、例えば、各画素の画素値を示すデータ、各画素の画素値の変化量を示すデータ、画素値の予測方法を特定するデータ、および、これらのデータを符号化した符号データなどを含む。
【００１６】
【発明の実施の形態】
［背景］
まず、本発明の理解を助けるために、その背景を説明する。
画像に画素を補完して解像度を高くすると、画像データのデータサイズが大きくなり、圧縮の必要性がより一層高くなる。また、圧縮処理は、符号化に先立って画像データを扱う前処理と、前処理が施された画像データを符号化する符号化処理とで構成されるが、この圧縮処理の対象となる画像データが大きくなるので、前処理および符号化処理の処理負荷も増大する。
以下、解像度変換処理および圧縮処理の一例を挙げて、処理負荷の増大過程を説明する。
図８は、画像データに拡大処理を施して、予測符号化するために前処理を施した画素データを例示する。なお、前処理の一部および符号化処理は、特開平９−２２４２５３号公報または特開平１０−２９４６７０号公報に開示された方法により行われる。すなわち、本例の前処理では、予測符号化の予測的中率を高めて符号量を小さくするために、真の画素値と予測値との差分が１以内の場合には、真の画素値を予測値に変換し、同一の予測値が連続する場合に、連続する数をカウントして被符号化データとしてまとめる。また、本例の予測符号化は、前処理により生成された被符号化データ（予測値を特定するためのデータ、予測値の連続数、および画素値など）を符号に変換する。
本図において、「画素群１」は、元の画像データの最初の１ライン目の画素であり、「画素群１」の各数値は、１ライン目の各画素の画素値を示す。「画素群１」は、Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ法で縦方向および横方向（ライン方向）に補完され、２倍の大きさに拡大されて「画素群２」になる。
「画素群２」の１ライン目および２ライン目の各画素値は、それぞれ直上のラインで生じた誤差値（後述）が加算されてそれぞれ「画素群３」の１ライン目および２ライン目になる。
「画素群３」の１ライン目および２ライン目の各画素値は、それぞれ直左の画素値（予測値）との差分が１以内の場合に、注目画素の画素値を予測値に変更して「画素群４」の１ライン目および２ライン目になる。この変更により、真の画素値と予測値との間に誤差が生じるが、この誤差の値は、次のラインに加算される。例えば、１ライン目で生じた誤差値は、２ライン目の各画素値に加算される。
「画素群４」の１ライン目および２ライン目の各画素は、それぞれ直上または直左にある画素と一致するか否か判断され、一致する場合に、一致する画素の位置を示す予測データ（本例では図中の矢印記号）に変換されて「画素群５」の１ライン目および２ライン目になる。なお、直上および直左の画素値がいずれも一致しない場合には、画素値そのものが予測データ（本例では図中の数字）として適用される。
【００１７】
本例の「画素群５」は、例えば、予測値の一致／不一致を示す２ビット符号（「００」＝「直左が一致」、「０１」＝「直上が一致」、「１１」＝「いずれも一致せず」）と、連続数または画素値を示す４ビット符号とを用いて符号化される。例えば、「画素群５」の２ライン目は、
「０１，００１０，１１，００１１，００，００１１，・・・」
と符号化される。
このように、１ラインの画素データが補完処理（拡大処理）により２ラインになると、前処理および符号化処理を２つのラインの画素データそれぞれに対して行う必要があり、処理負荷が増大する。また、拡大処理により生成された２ライン目の各画素値は、前処理が施される前には、１ライン目の各画素値に類似しており、高い圧縮率が期待できるが、前処理における誤差値分配などによりこの類似性が破壊されている。
【００１８】
そこで、本発明にかかる画像処理方法は、前処理を行った後で、拡大処理を行うことにより処理負荷を低減させることができる。さらに、拡大処理により生成される画素データ（２ライン目）は元の画像データ（１ライン目）と類似するので、前処理の少なくとも一部（好ましくは、画素値を変更する処理）を拡大処理の前に実施することにより、この類似性を保持したまま符号化でき、高い圧縮率を実現することが可能となる。
【００１９】
［実施形態］
以下、本発明の実施の形態を説明する。
図１は、本発明にかかる画像処理方法が適応されるプリンタ２（画像処理装置）のハードウェア構成を、制御装置２０を中心に例示する図である。
図１に示すように、プリンタ２は、制御装置２０およびプリンタ本体２３（出力手段）から構成される。制御装置２０は、ＣＰＵ２１２およびメモリ２１４などを含む制御装置本体２１、通信装置２２、ＨＤＤ・ＣＤ装置などの記録装置２４、および、ＬＣＤ表示装置あるいはＣＲＴ表示装置およびキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２５から構成される。
プリンタ２は、通信装置２２または記録装置２４などを介して、画像データを取得し、プリンタ本体２３のプリントエンジン（不図示）を制御して画像データを印刷する。
【００２０】
図２は、制御装置２０（図１）により実行され、本発明にかかる画像処理方法を実現する画像形成プログラム５の構成を示す図である。図２に示すように、画像形成プログラム５は、画像データ取得部５００、画像編集部５１０、前処理部５２０、解像度変換部５４０（拡大手段）、符号化部５５０、および印刷部５６０を有する。
画像形成プログラム５は、例えば記録媒体２４０（図１）を介して制御装置２０に供給され、メモリ２１４にロードされて実行される。
【００２１】
画像データ取得部５００は、通信装置２２（図１）または記録装置２４（図１）を介して、印刷する画像データを取得し、画像編集部５１０に対して出力する。
画像編集部５１０は、画像データ取得部５００から入力された画像データに対して、色変換、回転、またはトーン変換などの処理を施し、前処理部５２０に対して出力する。
【００２２】
解像度変換部５４０は、画像データ取得部５００により取得された画像データの解像度と、印刷部５６０により印刷される印刷解像度とに応じて、画像データの画素数を変更する。画素数を変更する手段として、解像度変換部５４０は、前処理部５２０により前処理が施された画像データに対して補完処理（拡大処理）を施して画素数を変更する。本例の解像度変換部５４０は、互いに直行する２方向に、Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ法で画素を補完して、画像群を拡大する。
なお、画素の補完方法は、Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ法に限定されるものではなく、周辺画素に基づいて補完画素の画素値を決定するものであればよい。例えば、線形補完法、３次元補完法および面積平均法などであってもよい。
【００２３】
前処理部５２０は、画像編集部５１０から入力された画像データに対して、符号化処理の方式に応じた前処理を施し、符号化部５５０に対して出力する。好ましくは、前処理部５２０は、圧縮率が高くなるように画素値を変更し、変更された画素値に基づいて、符号化される被符号化データを生成する。なお、前処理部５２０が行う前処理は、後述する符号化部５５０の符号化方法に対応している。例えば、符号化部５５０がＲＬＥ符号化を行う場合には、前処理部５２０は、略同一の画素値を有する画素が連続する数をカウントして、その画素値およびカウント数を示すデータを生成し、符号化部５５０が予測符号化を行う場合には、前処理部５２０は、予測データ（予測方法を識別するデータ、予測順位を識別するデータ、または予測誤差など）を生成する。
符号化部５５０は、前処理部５２０から入力された画像データを符号データに変換し、印刷部５６０に対して出力する。
印刷部５６０は、符号化部５５０から入力された符号データを画像データに復号化し、プリンタ本体２３（図２）のプリントエンジン（不図示）を制御して、画像を印刷させる。
【００２４】
図３は、前処理部５２０の構成をより詳細に説明する図である。
前処理部５２０は、処理単位制御部５２１（取得手段）、第１予測部５２２ａ、第２予測部５２２ｂ、画素値変更処理部５２４、誤差分配処理部５２６、第１予測部５２２ｃ、第２予測部５２２ｄ、予測誤差算出部５２８、選択部５３０およびラン計数部５３２を有する。なお、本例では、２種類の予測部（第１予測部と第２予測部）が互いに異なる予測方法を用いて画素値を予測する予測符号化を具体例として説明するが、予測部は１種類以上であればよく、例えば、５種類の予測部を設けてもよい。
【００２５】
処理単位制御部５２１は、画像編集部５１０から入力された画像データを蓄積し、所定数の画素群（処理単位）の画像データを、第１予測部５２２ａ、第２予測部５２２ｂおよび画素値変更処理部５２４に対して出力する。処理単位は、例えば、画像の一ライン、画像一枚、または、既定の画素数などである。本実施形態では、画像の横方向の一ラインを処理単位の具体例として説明する。
第１予測部５２２ａおよび第２予測部５２２ｂは、それぞれ所定の手法で画像データに基づいて注目画素の画素値を予測する。第１予測部５２２ａおよび第２予測部５２２ｂは、処理単位制御部５２１から入力された画像データに基づいて予測値を生成し、画素値変更処理部５１４に対して出力する。また、第１予測部５２２ｃは、第１予測部５２２ａと実質的に同一な機能を有し、第２予測部５２２ｄは、第２予測部５２２ｂと実質的に同一な機能を有する。第１予測部５２２ｃおよび第２予測部５２２ｄは、画素値変更処理部５２４から画素値を受け取り、予測値を選択部５３０に対して出力する。
本例では、第１予測部５１２ａ（５１２ｃ）および第２予測部５１２ｂ（５１２ｄ）は、それぞれ異なる位置にある画素の画素値を参照して、注目画素の画素値を予測する。なお、注目画素とは、処理の対象となっている画素のことである。
【００２６】
画素値変更処理部５２４は、注目画素の画素値と予測値とを比較し、その差が既定値より小さい場合には、この予測値を第１予測部５２２ｃ、第２予測部５２２ｄ、予測誤差算出部５２８、および選択部５３０に対して出力し、さらに、注目画素の画素値と予測値との差分（以下、誤差値）を誤差分配処理部５２６に対して出力する。一方、画素値変更処理部５２４は、注目画素の画素値と予測値との差が既定値以上の場合には、着目画素の画素値をそのまま第１予測部５２２ｃ、第２予測部５２２ｄ、予測誤差算出部５２８、および選択部５３０に対して出力し、誤差分配処理部５２６に対して０を出力する。すなわち、前処理部５２０は、既定値以上の誤差値を誤差分配しない。
誤差分配処理部５２６は、画素値変更処理部５２４から入力された誤差値に基づいて、誤差分配値を生成し、画像データに含まれる所定の画素の画素値にこれを加算する。誤差分配値は、例えば、重み行列を用いた誤差拡散法や平均誤差最小法に従って、誤差値に重み行列の値を掛け合わせて算出される。
【００２７】
予測誤差算出部５２８は、予め定められた予測方法で注目画素の画素値を予測し、その予測値を注目画素の実際の画素値から減算し、予測誤差値として選択部５３０に対して出力する。予測誤差算出部５２８の予測方法は、符号データを復号化する復号化装置の予測方法と対応していればよい。本例では、予測誤差算出部５２８は、第１予測部５２２と同じ予測方法で予測値を生成し、予測値と実際の画素値との差分を算出する。
選択部５３０は、実際の画素値および予測値から注目画素における予測の一致／不一致を検出する。選択部５３０は、その結果、予測が的中した予測部５２２があればその識別番号を、いずれも的中しなかった場合は予測誤差値を、ラン計数部５２８および符号化部５２９に対して出力する。
【００２８】
ラン計数部５３２は、同一の識別番号が連続する数をカウントし、識別番号と連続数とを示す被符号化データを生成する。また、予測誤差値が入力された場合には、ラン計数部５３２は、入力された予測誤差値を被符号化データとして符号化部５５０に対して出力する。
例えば、第１予測部のランをカウントする場合には、ラン計数部５３２は、識別番号が第１予測部５２２ｃを指している場合には、内部カウンタを１だけ増やし、識別番号が第１予測部５２２ｃ以外を指している場合で、かつ内部カウンタが０でない場合には、内部カウンタの値をランデータとして符号化部５５０に対して出力する。この例の場合、符号化部５５０は、ランデータおよび予測誤差値が同時に与えられた場合、まずランデータを符号化してから予測誤差値を符号化する。一方、符号化部５５０は、識別番号または予測誤差値のみが与えられた場合には、識別番号または予測誤差値を符号化する。
なお、上記ラン計数部５３２および符号化部５５０による符号化処理は、第１予測部５２２ｃの的中確率が高いことを想定した形態であるが、他の符号化方法を用いてもよい。例えば、高速復号等の目的から固定長符号を与えた場合、符号化部５５０は、第１予測部５２２ｃが的中した旨を２進数「０１」、第２予測部５２２ｄが的中した旨を２進数「１０」、いずれの予測部も外れた旨を２進数「００」でそれぞれ符号化し、予測誤差を符号＋８ｂｉｔの２進数で符号化する。また、圧縮率を向上させたい場合には、符号化部５５０は、Ｈｕｆｆｍａｎ符号化、算術符号化等の可変長符号化を用いて符号化してもよい。例えば、発生確率の高そうな第１予測部５２２ｃに１ｂｉｔの符号を与えたＨｕｆｆｍａｎ符号の場合、第１予測部５２２ｃが的中した旨を２進数「０」、第２予測部５２２ｄが的中した旨を２進数「１０」、いずれの予測部５２２も予測が外れた旨を２進数「１１」で符号化する。また、符号化部５５０は、算術符号化を用いて符号化してもよい。このように符号化の手法はいくつも考えられる。
このように本実施形態における前処理部５２０は、符号化５５０が画像データを圧縮しやすいように画像データに含まれる画素値を変更する。その際に、前処理部５２０は、画素値の変更により生じた真の画素値との差分を、周辺画素に分配して、画素値の変更を巨視的に目立たなくする。
【００２９】
次に、全体の動作を説明する。
図４は、プリンタ２（画像形成プログラム５）の第１の動作（Ｓ１０）を示すフローチャートである。
図４に示すように、ステップ１００（Ｓ１００）において、画像データ取得部５００が、通信装置２２または記録装置２４を介して、画像データを取得すると、画像編集部５１０は、取得された画像データに対して、色変換等の編集処理を施し、前処理部５２０に対して出力する。前処理部５２０の処理単位制御部５２１は、画像編集部５１０から入力された画像データを蓄積し、１ライン分（以下、注目ライン）の画像データを解像度変換部５４０に対して出力する。
なお、処理単位制御部５２１が出力する画像データは、ラスタ画像であることが望ましく、ベクトル画像が入力された場合に、処理単位制御部５２１は、ラスタ画像に変換して予測部５２２等に出力する。
【００３０】
ステップ１１０（Ｓ１１０）において、解像度変換部５４０は、処理単位制御部５２１から入力された注目ラインの画像データを、横方向に画素を補完して画像群を横方向に拡大する。解像度変換部５４０は、拡大後の画素群の画像データを、処理単位制御部５２１に対して出力する。
【００３１】
ステップ１２０（Ｓ１２０）において、処理単位制御部５２１は、誤差分配処理部５２６から入力された先行ライン（注目ラインの一つ先のライン）の誤差値を、注目ラインの画素値に加算して、第１予測部５２２ａ、第２予測部５２２ｂおよび画素値変更処理部５２４に対して出力する。
【００３２】
ステップ１３０（Ｓ１３０）において、第１予測部５２２ａは、入力された注目ラインの画像データに対して、注目画素の直左にある画素の画素値を予測値として画素値変更処理部５２４に対して出力し、第２予測部５２２ｂは、入力された注目ラインの画像データに対して、注目画素の直上にある画素の画素値を予測値として画素値変更処理部５２４に対して出力する。画素値変更処理部５２６は、入力された注目ラインの画素群における注目画素の画素値と、第１予測部５２２ａおよび第２予測部５２２ｂから入力された予測値とを比較し、既定値以上の差がある場合に、その注目画素の画素値そのものを第１予測部５２２ｃ、第２予測部５２２ｄ、予測誤差算出部５２８および選択部５３０に対して出力し、いずれかの予測値との差が既定値未満の場合に、注目画素との差が既定値以内の予測値を第１予測部５２２ｃ、第２予測部５２２ｄ、予測誤差算出部５２８および選択部５３０に対して出力すると共に、注目画素の画素値と予測値との差分（誤差値）を誤差分配処理部５２６に対して出力する。誤差分配処理部５２６は、画素値変更処理部５２４から入力された誤差値を処理単位制御部５２１に対して出力し、次のラインの画素に分配させる。
【００３３】
ステップ１４０（Ｓ１４０）において、第１予測部５２２ｃは、第１予測部５２２ａと同じ位置の画素値を予測値として選択部５３０に対して出力し、第２予測部５２２ｄは、第２予測部５２２ｂと同じ位置の画素値を予測値として選択部５３０に対して出力する。予測誤差算出部５２８は、画素値変更部５２４から入力された画素値と、直左にある画素の画素値（予測値）との差分を算出し、選択部５３０に対して出力する。選択部５３０は、第１予測部５２２ｃまたは第２予測部５２２ｄから入力された予測値が画素値変更処理部５２４から入力された画素値と一致する場合に、一致した予測値を出力した予測部５２２の識別番号をラン計数部５３２に対して出力し、これ以外の場合に、予測誤差算出部５２８から入力された差分を予測誤差値としてラン計数部５３２に対して出力する。
ラン計数部５３２は、入力された識別番号が連続する場合に、識別番号のラン数（連続数）をカウントする。そして、ラン計数部５３２は、注目ラインについて、識別番号およびそのラン数と、予測誤差値とを予測データとしてまとめる。
【００３４】
ステップ１５０（Ｓ１５０）において、解像度変換部５４０は、ラン計数部５３２によりまとめられた予測データに基づいて、縦方向に画素を補完し、画素群を縦方向に拡大する。本例の符号化部５５０は、直上にある画素を参照して画素値を予測する予測符号化を行うので、解像度変換部５４０は、注目ラインを参照する予測データ（直上の画素を参照する旨を指示するデータ）を生成して、注目ラインの直下を補完する。次いで、解像度変換部５４０は、縦方向に補完した後の予測データを、ラン計数部５３２を介して符号化部５５０に対して出力する。
【００３５】
ステップ１６０（Ｓ１６０）において、符号化部５５０は、ラン計数部５３２から入力された予測データを符号データに変換し、印刷部５６０に対して出力する。
【００３６】
ステップ１７０（Ｓ１７０）において、画像形成プログラム５は、全てのラインについて処理を行ったか否かを判断し、全てのラインについて処理が終了した場合に、処理を完了し、これ以外の場合に、Ｓ１００からＳ１６０までの処理を繰り返す。
【００３７】
ステップ１８０（Ｓ１８０）のおいて、印刷部５６０は、符号化部５５０から入力された符号データを１ライン毎に復号化して、印刷データを生成し、プリンタ本体２３を制御して画像を印刷させる。
【００３８】
図５は、図４のフローチャートに示された前処理および拡大処理による画素データの変化を説明する図である。
本図における「画素群１」は、Ｓ１００において処理単位制御部５２１が取得する注目ラインの画素を示し、「画素群１」の各数値は、注目ラインを構成する各画素の画素値を示す。「画素群１」は、Ｓ１１０において解像度変換部５４０により横方向に１画素補完されて「画素群２」になる。次に、「画素群２」の各画素は、一つ上のラインで生じた誤差値の分配を受けて「画素群３」になる。なお、本注目ラインは、最初のラインであり、誤差値の分配は０である。
「画素群３」は、画素値変更処理部５２４により各画素の画素値が直左の画素との画素値に差分に応じて変更されて「画素群４」になる。「画素群４」は、選択部５３０およびラン計数部５３２により予測データに変換されて「画素群５」になる。
解像度変換部５４０は、注目ラインの予測データを縦方向に補完するために、注目ラインを参照する旨を指示する予測データ「画素群５（２ライン目）」を生成する。
【００３９】
このように本実施形態におけるプリンタ２は、横方向（ラインの画素配列方向）に補完した後の画像データに対して前処理を施し、前処理後の画像データに対して縦方向の補完を行うことにより、縦方向の補完ライン（２ライン目）について誤差値分配処理および画素値変更処理を省略することができる。さらに、補完ライン（２ライン目）が、補完されるライン（１ライン目）とほぼ同一な画像データになる補完方法を用いるときには、補完するライン（２ライン目）に対して誤差値を分配すると圧縮率が低下する場合もあるが、本例のプリンタ２は、補完するライン（２ライン目）に対して誤差値を分配しないので、補完されるライン（１ライン目）とほぼ同一な画素値となり、高い圧縮率を実現することができる。
また、本例では、上方を参照する符号化方式を用いているので、補完するライン（２ライン目）の予測データは、直上の画素を参照する旨を指示するデータのみであり、圧縮率が高くなる。このように、補完する方向と、予測符号化における参照方向（第２予測部５２２ｄの参照方向）とが一致する場合には、補完するラインの圧縮率が高くなるので、より好適である。
【００４０】
［変形例］
なお、上記実施形態では、横方向に補完した後の画像データに対して前処理を施し、前処理が施された後に縦方向に対して補完処理（拡大処理）を施した。すなわち、上記例では、複数の補完方向のうち、１つの方向に関しては、前処理が行われる前に拡大処理を行い、他の方向に関してのみ、前処理が行われた後に拡大処理を行ったが、全ての方向の拡大処理を、前処理が行われた後に行ってもよい。
【００４１】
図６は、プリンタ２（画像形成プログラム５）の第２の動作（Ｓ１２）を示すフローチャートである。なお、図６に示された各処理のうち、図４に示されたものと実質的に同一なものには同一の符号が付されている。
図６に示すように、本例の画像形成プログラム５が、１ライン分の画像データの取得（Ｓ１００）、先行ラインで生じた誤差値の分配（Ｓ１２０）、および、画素値の変更（Ｓ１３０）の各処理を行った後で、Ｓ１４０において、解像度変換部５４０は、１ライン分の画像データを横方向に補完して、画像群を拡大する。
ステップ１４０（Ｓ１４０）において、前処理部５２０は、１ライン分の画像データを予測データに変換して、解像度変換部５４０に対して出力する。
ステップ１５０（Ｓ１５０）において、解像度変換部５４０は、縦方向に補完する補完データとして、上ラインを参照する旨を指示する予測データを生成する。
【００４２】
図７は、図６に示された前処理および拡大処理における画素データの変化を説明する図である。
本図における「画素群１」は、Ｓ１００において処理単位制御部５２１が取得する注目ラインの画素を示し、「画素群１」の各数値は、注目ラインを構成する各画素の画素値を示す。「画素群１」の各画素は、一つ前のラインで生じた誤差値の分配を受けて「画素群２」になる。なお、本注目ラインは、最初のラインであり、誤差値の分配が０である。
「画素群２」の各画素は、画素値変更処理部５２４により画素値が変更されて「画素群３」になる。
「画素群３」は、Ｓ１１０において解像度変換部５４０により横方向に１画素補完されて「画素群４」になる。
「画素群４」は、選択部５３０およびラン計数部５３２により予測データに変換されて「画素群５」になる。
解像度変換部５４０は、注目ラインの予測データを縦方向に補完するために、注目ライン（「画素群５」の１ライン目）を参照する旨を指示する予測データ「画素群５（２ライン目）」を生成する。
【００４３】
このように、変形例におけるプリンタ２のよれば、前処理の誤差分配および画素値変更の各処理を行った後で、横方向および縦方向の補完を行うことにより、全ての補完ラインについて誤差分配処理および画素値変更処理を省略することができ、処理負荷を低減させることが可能となる。
【００４４】
また、上記実施形態では、誤差分配処理の後で拡大処理を行うことにより、誤差分配処理の処理負荷低減などを実現しているが、誤差分配処理部５２６は、拡大処理により生成される画素を飛び越して誤差値を分配するように、解像度変換部５４０による補完量に応じた位置の画素に誤差値を分配してもよい。この場合、補完するラインの予測データは、誤差値が分配されたラインを参照する旨を指示するものである必要がある。これにより、拡大処理と誤差分配処理のいずれを先に行っても誤差分配処理の処理負荷は増大しない。
例えば、上記実施形態において、解像度変換部５４０がｎ倍の解像度に変換する場合（ｎ画素補完する場合）、誤差分配処理部５２６は、ｎライン先の画素に誤差値を分配する。
このように誤差値が分配される位置を補完量に応じて変更することにより、誤差分配処理と拡大処理との前後関係を気にせず、画像形成プログラム５の設計を行うことができる。
【００４５】
また、上記実施形態では、解像度変換部５４０は、前処理が施された後であって、符号化される前の画像データに対して拡大処理を行ったが、符号化部５５０により符号化された画像データに対して、画素群を拡大する拡大処理を施してもよい。
【００４６】
【発明の効果】
以上説明したように、本発明にかかる画像処理装置によれば、画像の拡大処理および圧縮処理を含む一連の処理における処理負荷を低減することができる。
【図面の簡単な説明】
【図１】本発明にかかる画像処理方法が適応されるプリンタ２（画像処理装置）のハードウェア構成を、制御装置２０を中心に例示する図である。
【図２】制御装置２０（図１）により実行され、本発明にかかる画像処理方法を実現する画像形成プログラム５の構成を示す図である。
【図３】前処理部５２０の構成をより詳細に説明する図である。
【図４】プリンタ２（画像形成プログラム５）の第１の動作（Ｓ１０）を示すフローチャートである。
【図５】図４のフローチャートに示された前処理および拡大処理による画素データの変化を説明する図である。
【図６】プリンタ２（画像形成プログラム５）の第２の動作（Ｓ１２）を示すフローチャートである。
【図７】図６に示された前処理および拡大処理における画素データの変化を説明する図である。
【図８】画像データに拡大処理を施した後で、予測符号化するために前処理を施す場合の画素データの変化を説明する図である。
【符号の説明】
２・・・プリンタ
２３・・・プリンタ本体
２０・・・制御装置
２１・・・制御装置本体
２１２・・・ＣＰＵ
２１４・・・メモリ
２２・・・通信装置
２４・・・記録装置
２４０・・・記録媒体
２５・・・ＵＩ装置
５・・・画像形成プログラム
５００・・・画像データ取得部
５１０・・・画像編集部
５２０・・・前処理部
５２１・・・処理単位制御部
５２２・・・予測部
５２４・・・画素値変更処理部
５２６・・・誤差分配処理部
５２８・・・予測誤差算出部
５３０・・・選択部
５３２・・・ラン計数部
５４０・・・解像度変換部
５５０・・・符号化部
５６０・・・印刷部
【図１】
2004201071.tif 000003
【図２】
2004201071.tif 000004
【図３】
2004201071.tif 000005
【図４】
2004201071.tif 000006
【図５】
2004201071.tif 000007
【図６】
2004201071.tif 000008
【図７】
2004201071.tif 000009
【図８】
2004201071.tif 000010