(57)【要約】【課題】画像の予測符号化処理を、圧縮率を低下させずに高速で行うことを可能とする。【解決手段】並列簡易予測処理より、符号化対象ラインにおける符号化済みの１画素および当該１画素に連続する複数の注目画素と、これらの画素に位置が対応する、符号化対象ラインの直前に符号化が行われたラインの複数画素とを比較し、両者が一致しているか否かを判定する。両者が一致していると判定された場合、当該複数の注目画素の個数分、ランレングス値を増加させる。一方、両者が一致していないと判定された場合、注目画素のそれぞれについて予測処理を行い、予測誤差値およびランレングス値を出力する。このようにして得られた予測誤差値とランレングス値とをエントロピー符号化して画像の圧縮符号化を行う。【選択図】図６
2011019096.tif 000002
【特許請求の範囲】
【請求項１】
多値画像データを圧縮符号化する画像処理装置であって、
符号化対象ラインにおける符号化済みの１画素および該１画素に連続する複数の注目画素とからなる第１の画素群と、該符号化対象ラインの直前に符号化されたラインにおける該第１の画素群と位置が対応する第２の画素群とを比較した比較結果に基づき、注目画素の画素値に対する予測値との差分である予測誤差値が０であるか否かを、該複数の注目画素について纏めて判定する第１の予測手段と、
前記第１の予測手段で前記複数の注目画素の前記予測誤差値が０ではないと判定された場合に、該複数の注目画素のそれぞれについて、該注目画素の画素値に対する予測値を、該注目画素の画素値と該注目画素の周辺画素の画素値とに基づく予測により求め、該予測により求められた該予測値の該注目画素の画素値に対する予測誤差値を算出する第２の予測手段と、
前記第１の予測手段および前記第２の予測手段で得られた前記予測誤差値の符号化を行う符号化手段と
を有する
ことを特徴とする画像処理装置。
【請求項２】
前記第１の予測手段は、
前記第１の画素群および前記第２の画素群とで互いに位置が対応する画素の画素値をそれぞれ比較した比較結果に基づき、前記複数の注目画素の予測誤差値が０であるか否かを纏めて判定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の予測手段は、
前記第１の画素群を構成する全画素の画素データによる第１のビット列と、前記第２の画素群を構成する全画素の画素データによる第２のビット列とを比較し、該第１のビット列と該第２のビット列とが一致した場合に、前記複数の注目画素の予測誤差値が０であると判定する
ことを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記第１の予測手段および前記第２の予測手段で求められた前記予測誤差値が０の長さを示すランレングス値を生成するランレングス生成手段をさらに有し、
前記符号化手段は、
前記第１の予測手段および前記第２の予測手段で求められた前記予測誤差値と前記ランレングス生成手段で生成された前記ランレングス値とをそれぞれ符号化する
ことを特徴とする請求項１乃至請求項３の何れか１項に記載の画像処理装置。
【請求項５】
前記ランレングス生成手段は、
前記第１の予測手段で前記複数の注目画素の予測誤差値が０であると判定されたら、前記ランレングス値を該複数の注目画素の個数分だけ増加させる
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記符号化手段は、
前記ランレングス値および前記予測誤差値の符号化をハフマン符号を用いて行う
ことを特徴とする請求項４または請求項５に記載の画像処理装置。
【請求項７】
前記符号化手段は、
前記ランレングス値および前記予測誤差値の符号化を互いに独立したハフマン木に基づきそれぞれ行う
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記符号化手段は、
前記予測誤差値に対応するハフマン符号の符号長が前記注目画素による画像データのビット長以上の長さになる場合に、前記符号化を行った符号として該注目画素による画像データそのものを用いる
ことを特徴とする請求項６または請求項７に記載の画像処理装置。
【請求項９】
前記符号化手段は、
前記符号化を行った前記ランレングス値と、前記符号化を行った前記予測誤差値とによる組を単位として符号データを形成する
ことを特徴とする請求項４乃至請求項８の何れか１項に記載の画像処理装置。
【請求項１０】
多値画像データを圧縮符号化する画像処理方法であって、
符号化対象ラインにおける符号化済みの１画素および該１画素に連続する複数の注目画素とからなる第１の画素群と、該符号化対象ラインの直前に符号化されたラインにおける該第１の画素群と位置が対応する第２の画素群とを比較した比較結果に基づき、注目画素の画素値に対する予測値との差分である予測誤差値が０であるか否かを、該複数の注目画素について纏めて判定する第１の予測ステップと、
前記第１の予測ステップで前記複数の注目画素の前記予測誤差値が０ではないと判定された場合に、該複数の注目画素のそれぞれについて、該注目画素の画素値に対する予測値を、該注目画素の画素値と該注目画素の周辺画素の画素値とに基づく予測により求め、該予測により求められた該予測値の該注目画素の画素値に対する予測誤差値を算出する第２の予測ステップと、
前記第１の予測ステップおよび前記第２の予測ステップで得られた前記予測誤差値の符号化を行う符号化ステップと
を有する
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮符号化する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
プリンタ装置などの画像形成装置では、入力された画像データを一時的にメモリに記憶し、このメモリに記憶された画像データを所定のタイミングで読み出して、印刷動作を行う。この場合、画像データをそのままメモリに格納しようとすると、大容量のメモリが必要になり装置のコストが嵩んでしまう。そのため、一般的には、入力された画像データを、圧縮符号化してメモリに格納するようにしている。
【０００３】
この、プリンタ装置などでは、予測符号化を用いた圧縮符号化が一般的に用いられる。予測符号化は、画像において、隣接する画素同士の相関が高いという性質を利用し、符号化済みの画素の画素値から符号化対象である注目画素の画素値を予測し、予測値と注目画素の実際の画素値との差分を、エントロピー符号化により符号化する。
【０００４】
この予測符号化に従来から用いられる方法として、平面予測方式やＰａｅｔｈ方式、ＬＯＣＯ−Ｉ(LOw COmplexity LOssless COmpression for Images)方式などが知られている。平面予測方式は、ＪＰＥＧ(Joint Photographic Experts Group)の可逆符号化モードに採用されている。Ｐａｅｔｈ方式は、Ａｌａｎ  Ｗ．Ｐａｅｔｈ氏が考案した予測方式であり、国際標準化された可逆圧縮方式であるＰＮＧ(Portable Network Graphics)に採用されている。Ｐａｅｔｈ方式については、「Paeth, A.W.,"Image File Compression Made Easy", in Graphics Gems II, James Arvo, editor. Academic Press, San Diego, 1991」に記載がある。また、ＬＯＣＯ−Ｉ方式は、国際標準化された圧縮方式であるＪＰＥＧ−ＬＳ(Joint Photographic Experts Group-LS)に採用されている。ＬＯＣＯ−Ｉ方式については、「M.J.Weinberger," LOCO-I: A Low Complexity, Context-Based, Lossless Image Compression Algorithm" Proc. IEEE Data Compression conference(DCC),snowbird,Utah」に記載がある。
【０００５】
これらの予測方式のうち、ＬＯＣＯ−Ｉ方式およびＰａｅｔｈ方式は、平面予測と比較して、画素毎の処理量が多い一方で、予測値の注目画素の画素値に対する予測誤差が小さく、より高精度な予測が可能なことが知られている。
【０００６】
特許文献１には、注目画素を周辺画素から予測した予測誤差をハフマン符号化する際に、予測誤差の値を、その値の範囲で複数のグループに分類して分類内部の順位を示す数値である付加ビットへ変換し、グループ値と付加ビット値とをハフマン符号化する技術が開示されている。
【０００７】
また、特許文献２には、複数の予測部および予測誤差算出部と、それらを選択する選択部と、選択部で選択された予測誤差や複数の予測部の識別番号を符号化する符号化部で構成される画像符号化装置が開示されている。特許文献２では、複数の予測部において予測が的中した長さをランレングスで符号化し、的中しない場合は、予測誤差算出部で求めた予測誤差を符号化するようにしている。
【０００８】
さらに、特許文献３には、第１および第２の予測方法を用いて注目画素の画素値を予測する技術が記載されている。すなわち、特許文献３では、先ず第１の予測方法を用いて注目画素の画素値を予測し、予測値が注目画素の画素値と一致する場合には、この第１の予測方法を示すＩＤを符号に付加し、一致しない場合は、第２の予測方法で注目画素の画素値を予測する。第２の予測方法による予測値が注目画素の画素値と一致する場合には、この第２の予測方法を示すＩＤを符号に付加する。そして、第１および第２の予測方法により予測された予測値が何れも注目画素の画素値に一致しない場合は、予測誤差が小さい方の予測方法に対して不一致を示すＩＤを符号に付加し、その予測誤差を符号化するようにしている。
【０００９】
さらにまた、特許文献４には、平面予測処理を並列的に行うことで、処理の高速化を図った技術が記載されている。
【００１０】
また、特許文献５には、複数の画素値からなるビット列を注目ブロックと直前ブロックで比較して、これら注目ブロックのビット列と直前ブロックのビット列とが一致するか否かで予測を行うことで、高速に予測処理を行うようにした技術が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、プリンタ装置などでは、印字のための画像処理を、プリントエンジンの印字速度に応じて行う必要がある。印字速度の高速化に対応するためには、画像の圧縮率を高めると共に、画像の圧縮符号化に要する処理速度の高速化が必要となる。すなわち、プリントエンジンの印字速度よりも画像の圧縮符号化の処理速度の方が遅くなると、良好な印字品質が得られなくなる。そのため、より高速な画像の圧縮符号化方法が求められている。
【００１２】
多値画像の可逆圧縮方式として知られているＪＰＥＧの可逆符号化モードは、７つの予測式で予測誤差の統計を作成し、最も良い結果が得られた予測式を１つ選択し、選択された予測式を用いて画像データの符号化を行う。しかしながら、このＪＰＥＧの可逆符号化モードでは、１つの画像に対して７つの予測式のそれぞれで予測誤差の統計を作成するために、多値画像を２回処理する２パス方式となり、処理時間が多くかかるという問題点があった。
【００１３】
また、上述した特許文献２によれば、複数の予測部により複数の予測処理を行い予測誤差を求めているため、多くの処理を必要とし、この場合においても処理時間が多くかかってしまうという問題点があった。
【００１４】
さらに、上述した特許文献３によれば、少なくとも２の予測方法を試行してから予測誤差を求めるようにしているため、多くの処理が必要となり、処理時間が多くかかってしまうという問題点があった。
【００１５】
さらにまた、上述した特許文献１では、入力画像の画素単位に画素毎に予測誤差を求めてハフマン符号化を行っている。すなわち、特許文献１によれば、上述した平面予測方式、Ｐａｅｔｈ方式、ＬＯＣＯ−Ｉ方式などを用いて、画素毎に予測処理を行う必要がある。そのため、処理速度の高速化が困難であるという問題点があった。
【００１６】
また、上述した特許文献４では、並列的に平面予測処理を行うように構成された回路が記載されており、処理の高速化が実現されている。ここで、近年では、ＣＰＵ(Central Processing Unit)の処理性能が向上し、画像データの圧縮符号化処理をソフトウェアにより行う例も増えてきている。そのため、画像データの圧縮符号化アルゴリズムは、ソフトウェア処理でも高速化が可能である必要がある。しかしながら、この特許文献４の記載のような並列的な処理は、ハードウェア的には容易に構成することができるが、ソフトウェア的に構成した場合には擬似的な並列処理となってしまうことが考えられ、高速化が困難であるという問題点があった。
【００１７】
さらに、上述した特許文献５では、図９および図１０にワード単位の複数画素で平面予測処理を並列的に行うことで高速化を可能としている。しかしながら、この特許文献５の例では、平面予測処理を、画像において注目画素に対して直上に隣接する画素と、注目画素の左および左上に隣接する画素とを分離した上で、平面予測の手法を用いて予測処理を行っている。そのため、正しく平面予測を行った場合に比べて圧縮率が低下してしまうという問題点があった。
【００１８】
本発明は、上記に鑑みてなされたものであって、画像の予測符号化処理を、圧縮率を低下させずに高速で行うことを可能とする画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明は、上述した課題を解決するために、多値画像データを圧縮符号化する画像処理装置であって、符号化対象ラインにおける符号化済みの１画素および１画素に連続する複数の注目画素とからなる第１の画素群と、符号化対象ラインの直前に符号化されたラインにおける第１の画素群と位置が対応する第２の画素群とを比較した比較結果に基づき、注目画素の画素値に対する予測値との差分である予測誤差値が０であるか否かを、複数の注目画素について纏めて判定する第１の予測手段と、第１の予測手段で複数の注目画素の予測誤差値が０ではないと判定された場合に、複数の注目画素のそれぞれについて、注目画素の画素値に対する予測値を、注目画素の画素値と注目画素の周辺画素の画素値とに基づく予測により求め、予測により求められた予測値の注目画素の画素値に対する予測誤差値を算出する第２の予測手段と、第１の予測手段および第２の予測手段で得られた予測誤差値の符号化を行う符号化手段とを有することを特徴とする。
【００２０】
また、本発明は、多値画像データを圧縮符号化する画像処理方法であって、符号化対象ラインにおける符号化済みの１画素および１画素に連続する複数の注目画素とからなる第１の画素群と、符号化対象ラインの直前に符号化されたラインにおける第１の画素群と位置が対応する第２の画素群とを比較した比較結果に基づき、注目画素の画素値に対する予測値との差分である予測誤差値が０であるか否かを、複数の注目画素について纏めて判定する第１の予測ステップと、第１の予測ステップで複数の注目画素の予測誤差値が０ではないと判定された場合に、複数の注目画素のそれぞれについて、注目画素の画素値に対する予測値を、注目画素の画素値と注目画素の周辺画素の画素値とに基づく予測により求め、予測により求められた予測値の注目画素の画素値に対する予測誤差値を算出する第２の予測ステップと、第１の予測ステップおよび第２の予測ステップで得られた予測誤差値の符号化を行う符号化ステップとを有することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、画像の予測符号化処理を、圧縮率を低下させずに高速で行うことが可能となるという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】図１は、この発明の実施形態による画像処理装置を適用可能な画像形成装置の機構部の構成例を示す略線図である。
【図２】図２は、この発明の実施形態による画像処理装置を適用可能な画像形成装置における電装・制御装置の一例の構成を示すブロック図である。
【図３】図３は、メインメモリ２１０の一例のフォーマットを示す略線図である。
【図４】図４は、メインメモリおけるＣＭＹＫバンドデータ格納領域の一例のフォーマットを示す略線図である。
【図５】図５は、この発明の実施形態による画像処理装置を適用可能なカラープリンタにおける画像処理を概略的に示す一例のフローチャートである。
【図６】図６は、本発明の実施形態による符号化部の一例の構成を示すブロック図である。
【図７】図７は、ＣＭＹＫバンドデータ格納領域からのＣＭＹＫバンドデータの読み出し順を説明するための略線図である。
【図８】図８は、予測処理で用いる画素を説明するための略線図である。
【図９】図９は、平面予測方式を説明するための略線図である。
【図１０】図１０は、ＬＯＣＯ−Ｉ方式による予測処理の例を示すフローチャートである。
【図１１】図１１は、Ｐａｅｔｈ方式による予測処理の例を示すフローチャートである。
【図１２−１】図１２−１は、本発明の実施形態による符号の一例のフォーマットを示す略線図である。
【図１２−２】図１２−２は、本発明の実施形態による符号の一例のフォーマットを示す略線図である。
【図１３】図１３は、本発明の実施形態による符号の一例のフォーマットを示す略線図である。
【図１４−１】図１４−１は、実際のプリンタ画像の一例を示す略線図である。
【図１４−２】図１４−２は、実際のプリンタ画像の一例を示す略線図である。
【図１５】図１５は、現ラインおよび前ラインの例を、ラインの先頭から示す略線図である。
【図１６−１】図１６−１は、並列簡易予測処理部における処理の意味について説明するための略線図である。
【図１６−２】図１６−２は、並列簡易予測処理部における処理の意味について説明するための略線図である。
【図１６−３】図１６−３は、並列簡易予測処理部における処理の意味について説明するための略線図である。
【図１６−４】図１６−４は、並列簡易予測処理部における処理の意味について説明するための略線図である。
【図１７−１】図１７−１は、予測方式を実際の数値を用いてより具体的に説明するための略線図である。
【図１７−２】図１７−２は、予測方式を実際の数値を用いてより具体的に説明するための略線図である。
【図１７−３】図１７−３は、予測方式を実際の数値を用いてより具体的に説明するための略線図である。
【図１８−１】図１８−１は、本実施形態による予測符号化処理の例についてより具体的に説明するためのフローチャートである。
【図１８−２】図１８−２は、本実施形態による予測符号化処理の例についてより具体的に説明するためのフローチャートである。
【発明を実施するための形態】
【００２３】
以下に添付図面を参照して、この発明に係る画像処理装置の最良な実施形態を詳細に説明する。図１は、この発明の実施形態による画像処理装置を適用可能な画像形成装置（カラープリンタとする）の機構部の構成例を示す。なお、本実施形態では、本発明に係る画像処理装置および画像処理方法をカラープリンタである画像形成装置に適用した例について説明するが、文字画像を含む画像に画像処理を施すものであれば、これに限定するものではない。例えば、本発明は、複写機、ファクシミリ、複合機などの画像処理装置にも適用することができる。
【００２４】
図１に例示されるカラープリンタ１００は、４色（Ｙ、Ｍ、Ｃ、Ｋ）の画像をそれぞれ独立の作像系１Ｙ、１Ｍ、１Ｃ、１Ｋで形成し、この４色の画像を合成する４ドラムタンデムエンジンタイプの画像形成装置である。各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋは、像担持体としての感光体、例えば小径のＯＰＣ（有機感光体）ドラム２Ｙ、２Ｍ、２Ｃ、２Ｋを有し、このＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋを取り囲むように作像の上流側から帯電手段としての帯電ローラ３Ｙ、３Ｍ、３Ｃ、３Ｋと、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上の静電潜像をそれぞれ現像剤で現像してＹ、Ｍ、Ｃ、Ｋ各色のトナー像とする現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋと、クリーニング装置５Ｙ、５Ｍ、５Ｃ、５Ｋと、除電装置６Ｙ、６Ｍ、６Ｃ、６Ｋなどが配置されている。
【００２５】
各現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋの脇には、Ｙトナー、Ｍトナー、Ｃトナー、Ｋトナーをそれぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋへ補給するトナーボトルユニット７Ｙ、７Ｍ、７Ｃ、７Ｋが配置されている。また、各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋは各々独立な光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが配置され、この光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋはレーザ光源としてのレーザダイオード（ＬＤ）光源９Ｙ、９Ｍ、９Ｃ、９Ｋや、コリメートレンズ１０Ｙ、１０Ｍ、１０Ｃ、１０Ｋ、ｆθレンズ１１Ｙ、１１Ｍ、１１Ｃ、１１Ｋ、といった光学部品、偏向走査手段としてのポリゴンミラー１２Ｙ、１２Ｍ、１２Ｃ、１２Ｋ、折り返しミラー１３Ｙ、１３Ｍ、１３Ｃ、１３Ｋ、１４Ｙ、１４Ｍ、１４Ｃ、１４Ｋなどを有する。
【００２６】
各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋは垂直に配列され、その右側には転写ベルトユニット１５がＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋに接する形で配置される。転写ベルトユニット１５は、転写ベルト１６がローラ１７〜２０に張架されて図示しない駆動源により回転駆動される。装置下側には転写材としての転写紙が収納された給紙トレイ２１が配置され、装置上部に定着装置２２、排紙ローラ２３及び排紙トレイ２４が配設される。
【００２７】
作像時には、各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋにおいて、それぞれ、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋが図示しない駆動源により回転駆動され、帯電ローラ３Ｙ、３Ｍ、３Ｃ、３ＫによりＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋが一様に帯電されて光書き込み装置８Ｙ、８Ｍ、８Ｃ、８Ｋが各色の画像データに基づきＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋに光書込みを行うことによって、ＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上に静電潜像が形成される。
【００２８】
このＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上の静電潜像はそれぞれ現像装置４Ｙ、４Ｍ、４Ｃ、４Ｋにより現像されてＹ、Ｍ、Ｃ、Ｋ各色のトナー像となり、一方、給紙トレイ２１から給紙ローラ２５により転写紙が水平方向に給紙されて搬送系により作像系１Ｙ、１Ｍ、１Ｃ、１Ｋ方向へ垂直に搬送される。この転写紙は、転写ベルト１６に静電的に吸着保持されて転写ベルト１６により搬送され、図示しない転写バイアス印加手段により転写バイアスが印加されてＯＰＣドラム２Ｙ、２Ｍ、２Ｃ、２Ｋ上のＹ、Ｍ、Ｃ、Ｋ各色のトナー像が順次に重ねて転写されることでフルカラー画像が形成される。このフルカラー画像が形成された転写紙は、定着装置２２によりフルカラー画像が定着されて排紙ローラ２３により排紙トレイ２４へ排出される。
【００２９】
上述した、カラープリンタ１００における各部の制御は、電装・制御装置２６により行われる。
【００３０】
図２は  図１の電装・制御装置２６の一例の構成を示すブロック図である。図２の例では、電装・制御装置２６は、ＣＰＵ(Central Processing Unit)２００、プリンタ用ＡＳＩＣ(Application Specific Integrated Circuit)２３０およびメインメモリ２１０を備える。プリンタ用ＡＳＩＣ２３０は、ＣＰＵ  Ｉ／Ｆ２０１、メインメモリアービタ（ＡＲＢ）２０２、メインメモリコントローラ２０３、符号化部２０４、復号部２０５、階調処理部２０６およびエンジンコントローラ２０７を含む。
【００３１】
ＣＰＵ２００は、メインメモリ２１０に格納されるプログラムに従い、このカラープリンタ１００の全体の動作を制御する。ＣＰＵ２００は、ＣＰＵ  Ｉ／Ｆ２０１を介してメインメモリアービタ２０２に接続される。メインメモリアービタ２０２は、ＣＰＵ２００、符号化部２０４、復号部２０５および通信コントローラ２０８の、メインメモリ２１０に対するアクセスを調停する。
【００３２】
メインメモリ２１０は、メインメモリコントローラ２０３を介してメインメモリアービタ２０２に接続される。メインメモリコントローラ２０３は、メインメモリ２１０に対するアクセスの制御を行う。メインメモリ２１０は、上述した、ＣＰＵ２００が動作するためのプログラムや、ＣＰＵ２００から出力される描画コマンドが格納される。メインメモリ２１０は、さらに、バンドデータや、ページの圧縮データなどの各種データを格納する。
【００３３】
符号化部２０４は、メインメモリ２１０に格納されるバンドデータを符号化する。符号化されたバンドデータは、メインメモリアービタ２０２およびメインメモリコントローラ２０３を介してメインメモリ２１０に供給され、ページ符号格納領域に書き込まれる。復号部２０５は、後述するプリンタエンジン２１１に同期して、符号化部２０４で符号化されメインメモリ２１０に書き込まれた符号化バンドデータをメインメモリ２１０から読み出して復号する。復号されたバンドデータは、階調処理部２０６に供給される。階調処理部２０６は、復号部２０５から供給されたバンドデータに対して階調処理を施してエンジンコントローラ２０７に転送する。
【００３４】
エンジンコントローラ２０７は、プリンタエンジン２１１を制御する。図２では、プリンタエンジン２１１としてＣ版のものだけが記載され、Ｍ版、Ｙ版、Ｋ版については煩雑さを避けるために省略されている。
【００３５】
通信コントローラ２０８は、ネットワーク２２１を介しての通信を制御する。例えば、コンピュータ２２０から出力されたＰＤＬ(Page Description Language)データは、ネットワーク２２１を介して通信コントローラ２０８により受信される。通信コントローラ２０８は、受信したＰＤＬデータを、メインメモリアービタ２０２およびメインメモリコントローラ２０３を介してメインメモリ２１０に転送する。
【００３６】
なお、ネットワーク２２１は、ＬＡＮ(Local Area Network)などの所定の範囲内で通信を行うものでもよいし、インターネットなどより広範囲に通信可能なものでもよい。また、ネットワーク２２１は、有線通信に限らず無線通信を用いたものでもよいし、ＵＳＢ(Universal Serial Bus)やＩＥＥＥ(Institute Electrical and Electronics Engineers)１３９４といったシリアル通信を行うものでもよい。
【００３７】
図３は、メインメモリ２１０の一例のフォーマットを示す。プログラム格納領域３００は、ＣＰＵ２００が動作するためのプログラムが格納される。ＰＤＬデータ格納領域３０１は、例えばコンピュータ２２０から供給されたＰＤＬデータが格納される。ＣＭＹＫバンドデータ格納領域３０２は、ＣＭＹＫバンドデータが格納される。ページ符号格納領域３０３は、バンドデータが圧縮符号化された符号データが格納される。ページ符号格納領域３０３は、複数ページ分の符号データを格納可能とされている。領域３０４は、上述した以外のデータが格納される。
【００３８】
図４は、図３におけるＣＭＹＫバンドデータ格納領域３０２の一例のフォーマットを示す。このように、ＣＭＹＫバンドデータ格納領域３０２は、Ｃ版、Ｍ版、Ｙ版およびＫ版の各版毎のプレーン構成とされ、各画素に対してそれぞれ８ビットが割り当てられる。すなわち、ＣＭＹＫバンドデータは、各画素がそれぞれ８ビットのビット深度を持つ多値プレーン画像となっている。
【００３９】
ここで、メインメモリ２１０は、ワード単位でアクセスされる。この例では、１ワードが３２ビットで構成される。上述のように、各画素がそれぞれ８ビットのビット深度を持つ場合、ＣＭＹＫバンドデータ格納領域３０２では、連続する４画素が纏めてアクセスされることになる。
【００４０】
図５は、上述した構成を有するカラープリンタ１００における画像処理を概略的に示す一例のフローチャートである。この図５のフローチャートを用い、上述した図２を参照しながら、カラープリンタ１００の動作について概略的に説明する。
【００４１】
例えばコンピュータ２２０で生成されたＰＤＬデータがネットワーク２２１を介して通信コントローラ２０８に受信され、メインメモリ２１０のＰＤＬデータ格納領域３０１に記憶される（ステップＳ１）。ＣＰＵ２００は、メインメモリ２１０のＰＤＬデータ格納領域３０１からＰＤＬデータを読み出し、ＰＤＬを解析して（ステップＳ２）、解析結果に基づきＣＭＹＫのバンド画像を描画する（ステップＳ３）。描画されたＣＭＹＫのバンド画像によるＣＭＹＫバンドデータは、メインメモリ２１０のＣＭＹＫバンドデータ格納領域３０２に格納される（ステップＳ４）。このＣＭＹＫバンドデータは、上述したように、各画素が８ビットのビット深度を持つ多値プレーン画像データである。
【００４２】
符号化部２０４は、ＣＭＹＫバンドデータ格納領域３０２からＣＭＹＫバンドデータを読み出して、本発明の実施形態による予測符号化方法に従い符号化する（ステップＳ５）。ＣＭＹＫバンドデータが符号化された符号データは、メインメモリ２１０のページ符号格納領域３０３に格納される（ステップＳ６）。
【００４３】
復号部２０５は、ページ符号格納領域３０３からＣＭＹＫバンドデータが符号化された符号データを読み出して復号し、復号されたＣＭＹＫバンドデータを階調処理部２０６に供給する（ステップＳ７）。階調処理部２０６は、復号部２０５から供給されたＣＭＹＫバンドデータに対して階調処理を施す（ステップＳ８）。階調処理されたＣＭＹＫバンドデータは、プリンタエンジンコントローラ２０７を介してプリンタエンジン２１１に供給される（ステップＳ９）。プリンタエンジン２１１は、供給されたＣＭＹＫバンドデータに基づきプリントアウトを行う。
【００４４】
＜符号化処理の概略＞
図６は、本発明の実施形態による符号化部２０４の一例の構成を示す。符号化部２０４において、メインメモリ２１０のＣＭＹＫバンドデータ格納領域３０２から、画像読み込み部４００によりＣＭＹＫ各版毎のＣＭＹＫバンドデータが読み出される。このとき、ＣＭＹＫ各版毎のＣＭＹＫバンドデータは、図７に例示されるように、画像読み込み部４００によりスキャンライン毎に順次、ワード単位で４画素毎に、ＣＭＹＫバンドデータ格納領域３０２から読み出される。
【００４５】
画像読み込み部４００によりワード単位で読み出されたＣＭＹＫバンドデータは、ラインメモリ制御部４０１によりラインメモリ４０２に格納される。ラインメモリ４０２は、少なくとも２ライン分のＣＭＹＫバンドデータを格納可能とされており、今回供給されたデータを格納すると共に、直前に格納した１ライン分のデータを保持するように、ラインメモリ制御部４０１に制御される。
【００４６】
例えば、ラインメモリ４０２は、それぞれ１ライン分の画素を格納可能な２つの領域を有し、１ライン分の画素データの符号化が終了すると、この画素データの符号化が終了したラインを一方の領域に保持し、他方の領域に次のラインの画素データを書き込むように制御される。
【００４７】
ラインメモリ制御部４０１の制御により、ラインメモリ４０２から、符号化対象となる連続する４画素、すなわち、１ワード分の注目画素の画素データが纏めて読み出され、並列簡易予測処理部４１０に渡される。それと共に、画像において当該注目画素となる４画素に対して直上に位置する、符号化済みの１ワード分の画素データが纏めて読み出され、並列簡易予測処理部４１０に渡される。
【００４８】
以下では、符号化対象である注目画素が属するラインを現ライン、現ラインに対してスキャン順で直前のラインを前ラインと呼ぶ。また、ラインメモリ４０２における現ラインが格納される領域を現ライン領域、前ラインが格納される領域を前ライン領域と呼ぶ。
【００４９】
ここで、現ラインにおける１ワード分の画素データがラインの先頭画素の画素データを含む場合には、この先頭画素の画素データのみが別途、直接的に予測処理部４０３に転送される。それと共に、前ラインおよび現ラインそれぞれにおいて、続く１ワード分の画素データがラインメモリ４０２から読み出され、並列簡易予測処理部４１０に渡される。
【００５０】
並列簡易予測処理部４１０は、ラインメモリ制御部４０１から渡された現ラインにおける１ワード分の画素データ（注目画素の画素データ）に１画素分の画素データを加えた５画素分の画素データと、前ラインにおける１ワード分の画素データに１画素分の画素データを加えた５画素分の画素データとを纏めて比較し、両者が一致するか否かを判定する。若し、両者が一致すると判定されたら、その旨がランレングス生成処理部４０５に通知される。一方、両者が一致しないと判定されたら、これら現ラインにおける５画素分の画素データと、前ラインにおける５画素分の画素データとが予測処理部４０３に渡される。
【００５１】
なお、詳細は後述するが、並列簡易予測処理部４１０における処理は、現ラインの連続する４画素を注目画素として纏めて予測処理を行い、予測値と注目画素との差分である予測誤差が「０」となる注目画素の連続数を示すランレングス値を、１ワード毎に求めるための処理である。予測処理は、後述するように、注目画素を右下の位置に含む２画素×２画素を単位として行われる。したがって、注目画素を連続する４画素とした場合、上述したように、並列簡易予測処理部４１０において、前ラインおよび現ラインのそれぞれで連続する５画素分の画素データを用いて処理が行われる。
【００５２】
予測処理部４０３は、ライン先頭画素に対する処理以外の場合において、並列簡易予測処理部４１０から渡された、現ラインにおける５画素分の画素データと、前ラインにおける５画素分の画素データとを用いて、注目画素の１画素毎に予測処理を行う。なお、予測処理部４０３は、直前の予測処理に用いた画素データを保持しているものとする。
【００５３】
本実施形態に適用可能な予測方式としては、平面予測方式、ＬＯＣＯ−Ｉ(LOw COmplexity LOssless COmpression for Images)方式、Ｐａｅｔｈ方式などがある。これらの予測方式は、注目画素の周辺の３画素ａ、ｂおよびｃの画素値を用いて、注目画素の画素値を予測する。
【００５４】
ここで、図８を参照し、注目画素の周辺の３画素ａ、ｂおよびｃのうち、画素ａは、注目画素のスキャン順で直前の画素、画素ｂは、当該注目画素が属する現ラインに対してスキャン順で直前の前ライン、すなわち当該注目画素が属するラインの直上のラインにおいて当該注目画素の直上に位置する画素、画素ｃは、画素ｂのスキャン順で直前の画素である。
【００５５】
平面予測方式は、簡易な計算で注目画素の予測値を算出でき、高速な処理が可能である。一方、ＬＯＣＯ−Ｉ方式およびＰａｅｔｈ方式は、平面予測方式と比較して処理手順が多くなるが、より高い精度で予測値を求めることが可能である。予測処理部４０３で行われるこれらの予測方式については、後述する。
【００５６】
なお、画像の先頭の画素に対しては、上述の周辺の３画素ａ、ｂおよびｃが存在しないので、画素ａ、ｂおよびｃの画素値をそれぞれ「０」として注目画素の画素値を予測する。画像の先頭の画素は、例えば、画像内における画素のスキャンを、各ラインで画像の左端から右端にかけて行い、これを画像の上端のラインから下端のラインに向けて繰り返す場合、画像左上隅の画素となる。また、各ラインの先頭については、例えば画素ａおよび画素ｃの画素値をそれぞれ「０」として予測を行うことが考えられる。これに限らず、画像の先頭画素と同様に、画素ａ、ｂおよびｃの画素値をそれぞれ「０」として予測を行ってもよい。
【００５７】
予測処理部４０３で求められた予測値は、注目画素の画素値と共に予測誤差処理部４０４に供給される。予測誤差処理部４０４は、注目画素の画素値と、予測処理部４０３で求められた予測値との差分を予測誤差値として算出する。この予測誤差値は、ランレングス生成処理部４０５に供給される。
【００５８】
ランレングス処理部４０５は、予測誤差処理部４０４から供給された予測誤差値が「０」である場合に、ランレングス値を「１」だけ増加させる。また、並列簡易予測処理部４１０から、現ラインにおける５画素分の画素データと、前ラインにおける５画素分の画素データとが一致する旨の通知を受け取った場合には、ランレングス値を「４」だけ増加させる。一方、ランレングス処理部４０５は、予測誤差処理部４０４から供給された予測誤差値が「０」ではない場合は、予測誤差値とランレングス値と注目画素の画素値とを符号フォーマット生成処理部４０６に渡し、その後、ランレングス値を「０」にリセットする。
【００５９】
符号フォーマット生成処理部４０６は、ランレングス生成処理部４０５から渡されたランレングス値と、予測誤差値とをそれぞれ後述する符号フォーマットに従い符号化する。また、詳細を後述するように、予測誤差値が差分符号で表現可能な範囲外であれば、注目画素の画素値そのものを符号として用いる。符号フォーマット生成処理部４０６で生成された符号は、符号書き込み部４０７に渡され、メインメモリ２１０のページ符号格納領域３０３に書き込まれる。
【００６０】
＜予測処理の例＞
ここで、予測処理部４０３で用いられる予測方式について説明する。上述したように、本実施形態では、符号化済みの画素ａ、ｂおよびｃの画素値から注目画素の画素値を予測する予測処理に、平面予測方式、ＬＯＣＯ−Ｉ方式またはＰａｅｔｈ方式を用いる。
【００６１】
先ず、平面予測方式について説明する。平面予測方式は、図９に例示されるように、現ラインにおける、注目画素の直前に符号化された画素ａと、前ラインにおいて注目画素および画素ａそれぞれの直上に隣接する画素ｂおよびｃとを用いて、下記の式（１）の計算を行い、注目画素に対する予測値を求める。
予測値＝ａ＋ｂ−ｃ    …（１）
【００６２】
次に、ＬＯＣＯ−Ｉ方式について説明する。ＬＯＣＯ−Ｉ方式は、画素ｃの画素値と画素ａおよび画素ｂの画素値とを比較した結果に応じて、予測値の算出方法を切り替える。図１０は、ＬＯＣＯ−Ｉ方式による予測処理の例を示すフローチャートである。最初のステップＳ３０で、画素ｃの画素値が画素ａの画素値以上であって、且つ、画素ｃの画素値が画素ｂの画素値以上であるか否かが判定される。若し、画素ｃの画素値がこの条件を満たしていると判定されたら、処理はステップＳ３１に移行され、画素ａの画素値と画素ｂの画素値とが比較され、値が小さい方の画素値が予測値とされる。
【００６３】
一方、ステップＳ３０で、画素ｃの画素値が上述の条件を満たしていない、すなわち、画素ｃの画素値が画素ａの画素値未満であるか、または、画素ｃの画素値が画素ｂの画素値未満であると判定されたら、処理はステップＳ３２に移行される。ステップＳ３２では、画素ｃの画素値が画素ａの画素値以下であって、且つ、画素ｃの画素値が画素ｂの画素値以下であるか否かが判定される。若し、画素ｃの画素値がこの条件を満たしていると判定されたら、処理はステップＳ３３に移行され、画素ａの画素値と画素ｂの画素値とが比較され、値が大きい方の画素値が予測値とされる。
【００６４】
一方、ステップＳ３２で、画素ｃの画素値が上述の条件を満たしていない、すなわち、画素ｃの画素値が画素ａの画素値を超えるか、または、画素ｃの画素値が画素ｂの画素値を超えると判定されたら、処理はステップＳ３４に移行される。これは、換言すれば、画素ａおよび画素ｂのうち何れか一方の画素値が画素ｃの画素値を超え、他方の画素値が画素ｃの画素値未満であることを意味する。ステップＳ３４では、画素ａ、ｂおよびｃの画素値について上述した式（１）の演算を行い、得られた値ｐを予測値とする。
【００６５】
次に、Ｐａｅｔｈ方式について説明する。図１１は、Ｐａｅｔｈ方式による予測処理の例を示すフローチャートである。Ｐａｅｔｈ方式は、各画素ａ、ｂおよびｃの単純な線形関数を計算し、各画素ａ、ｂおよびｃのうち計算された値に最も近い値を予測値として選択する。より具体的には、上述の式（１）で値ｐを求め、求めた値ｐと、各画素ａ、ｂおよびｃそれぞれの画素値との差分絶対値ｐａ、ｐｂおよびｐｃを算出する。算出されたこれら差分絶対値ｐａ、ｐｂおよびｐｃの大小関係に基づき、各画素ａ、ｂおよびｃから予測値を選択する。
【００６６】
最初のステップＳ４０で、上述の式（１）により、画素ａ、ｂおよびｃの画素値から値ｐが計算される。そして、次のステップＳ４１、ステップＳ４２およびステップＳ４３で、値ｐと各画素ａ、ｂおよびｃそれぞれの画素値との差分絶対値ｐａ、ｐｂおよびｐｃが求められる。
【００６７】
なお、図１１において、演算子ａｂｓは、括弧内の値の絶対値を求めることを示す。また、以下では、煩雑さを避けるために、差分絶対値ｐａ、ｐｂおよびｐｃをそれぞれ値ｐａ、ｐｂおよびｐｃと呼ぶ。
【００６８】
ステップＳ４３までの処理により値ｐａ、ｐｂおよびｐｃが求められると、処理はステップＳ４４に移行される。ステップＳ４４では、値ｐａと値ｐｂおよび値ｐｃとが比較され、値ｐａが値ｐｂ以下であって、且つ、値ｐａが値ｐｃ以下であるか否かが判定される。若し、値ｐａがこの条件を満たしていると判定されたら、処理はステップＳ４５に移行され、画素ａの画素値が予測値とされる。
【００６９】
一方、ステップＳ４４で、値ｐａが値ｐｂ以下であって、且つ、値ｐａが値ｐｃ以下ではない、すなわち、値ｐａが値ｐｂを超えるか、または、値ｐａが値ｐｃを超えると判定されたら、処理はステップＳ４６に移行される。ステップＳ４６では、値ｐｂと値ｐａおよび値ｐｃとが比較され、値ｐｂが値ｐａ以下であって、且つ、値ｐｂが値ｐｃ以下であるか否かが判定される。若し、値ｐｂがこの条件を満たしていると判定されたら、処理はステップＳ４７に移行され、画素ｂの画素値が予測値とされる。
【００７０】
一方、ステップＳ４６で値ｐｂが値ｐａ以下であって、且つ、値ｐｂが値ｐｃ以下ではない、すなわち、値ｐｂが値ｐａを超えるか、または、値ｐｂが値ｐｃを超えると判定されたら、処理はステップＳ４８に移行され、画素ｃの画素値が予測値とされる。
【００７１】
＜符号フォーマット＞
次に、図１２−１および図１２−２を用いて、符号フォーマット生成処理部４０６で生成される符号の一例のフォーマットについて説明する。本実施形態においては、予測誤差値とランレングス値とをそれぞれ符号化する。そして、図１３に例示されるように、符号化されたランレングス値（符号化ランレングス値と呼ぶ）の後ろに符号化された予測誤差値（符号化予測誤差値と呼ぶ）を接続し、符号化ランレングス値および符号化予測誤差値の組を単位として符号列を生成する。
【００７２】
図１２−１は、符号化予測誤差値の一例の符号フォーマットを示す。本実施形態では、予測誤差値は、値が大きいほど頻度が低くなるものとしてハフマン符号化される。このとき、予測誤差値を、段階的に設定された範囲に対してグループ分けし、グループ毎に異なる符号長が割り当てられるように符号化を行う。グループの識別は、生成されたハフマン符号の先頭から、グループ数に応じたビット数分の符号を用いて行う。本実施形態では、予測誤差値を８のグループに分類し、３ビットをグループの識別用に用いている。
【００７３】
以下では、グループの識別に用いるビットをグループ識別ビットと呼び、このグループ識別ビットに付加されるビットを付加ビットと呼ぶ。グループ識別ビットと付加ビットとで、予測誤差値毎にユニークなハフマン符号が構成される。
【００７４】
本実施形態では、予測誤差値Ｐｅに対して例えば次のように範囲を設定し、予測誤差値Ｐｅをグループ＃０〜グループ＃７の８グループに分類する。
グループ＃０：Ｐｅ＝１，Ｐｅ＝−１
グループ＃１：Ｐｅ＝−３，Ｐｅ＝−２，Ｐｅ＝２，Ｐｅ＝３
グループ＃２：−７≦Ｐｅ≦−４，４≦Ｐｅ≦７
グループ＃３：−１５≦Ｐｅ≦−８，８≦Ｐｅ≦１５
グループ＃４：−３１≦Ｐｅ≦−１６，１６≦Ｐｅ≦３１
グループ＃５：−６３≦Ｐｅ≦−３２，３２≦Ｐｅ≦６３
グループ＃６：−１２７≦Ｐｅ≦−６４，６４≦Ｐｅ≦１２７
グループ＃７：Ｐｅ≦−１２８，１２８≦Ｐｅ
【００７５】
また、各グループのグループ識別ビットと、付加ビットのビット長とを、例えば次のように設定する。
グループ＃０：グループ識別ビット＝「０００」，付加ビット長＝１ビット
グループ＃１：グループ識別ビット＝「００１」，付加ビット長＝２ビット
グループ＃２：グループ識別ビット＝「０１０」，付加ビット長＝３ビット
グループ＃３：グループ識別ビット＝「０１１」，付加ビット長＝４ビット
グループ＃４：グループ識別ビット＝「１００」，付加ビット長＝５ビット
グループ＃５：グループ識別ビット＝「１０１」，付加ビット長＝６ビット
グループ＃６：グループ識別ビット＝「１１０」，付加ビット長＝７ビット
グループ＃７：グループ識別ビット＝「１１１」，付加ビット長＝８ビット
【００７６】
ここで、グループ＃７の、注目画素の予測誤差値が−１２７より小さいか、若しくは、１２７より大きい場合は、ハフマン符号を用いずに、当該注目画素の画素値をそのまま付加ビットとして用いる。これは、予測誤差値が−２５５より小さいか、若しくは、２５５よりも大きくなった場合に、符号長が８ビットよりも大きくなり圧縮率が低下してしまうことを防止するためである。
【００７７】
図１２−２は、符号化ランレングス値の一例の符号フォーマットを示す。本実施形態では、ランレングス値は、値が小さいほど短い符号長が割り当てられるようにハフマン符号化され、ランレングス値が「０」で１ビットの符号長が割り当てられ、符号「０」に符号化される。
【００７８】
以下、図１２−２に例示されるように、ランレングス値が「１」の場合には、２ビットの符号長が割り当てられ、符号「１０」に符号化される。また、ランレングス値が「２」〜「４」の場合は、４ビットの符号長が割り当てられ、それぞれ符号「１１００」、「１１０１」および「１１１０」に符号化される。
【００７９】
ランレングス値が「５」以上の場合、４ビットの符号長を持つ符号「１１１１」の後ろに所定符号長の数値部を接続した形式に符号化される。数値部は、図１２−２の下段に示されるように、例えば先頭に１ビットのヘッダを含む４ビットの符号長を有する、１または複数のフレームからなる。ランレングス値を示す符号が３ビット毎に区切られ、各フレームのヘッダを除く３ビットに対し、上述の符号「１１１１」側がＭＳＢとなるように詰め込まれる。図１２−２の例では、フレームは、最大数が７個に制限され、ランレングス値が「１０４８５７６」まで表現可能とされている。ランレングス値が「５」の場合は、フレームを省略することができる。
【００８０】
なお、ヘッダは、あるフレームに次のフレームが続くか否かを示す。例えば、ヘッダの値が「０」で次のフレームがあることを示し、ヘッダの値が「１」でそのフレームで終了することを示す。
【００８１】
＜予測符号化処理の詳細＞
次に、符号化部２０４で行われる、本実施形態による予測符号化処理の例について、より詳細に説明する。図１４−１および図１４−２は、実際のプリンタ画像の例を示す。なお、以下では、プリンタによる印刷対象の用紙において、短辺方向を横、長辺方向を縦と定義し、横方向にラインが形成されるものとする。
【００８２】
図１４−１は、一般的なビジネス文書などで多用される、白地に対して文字やＣＧ(Computer Graphics)による画像が配置されている例である。この例では、白地が多く、画像の縦および横方向において相関が高い。また、図１４−２は、画像の横方向にグラデーション処理が施された地に対して文字やＣＧによる画像が配置されている例であり、このような形式も、一般的なビジネス文書などで多用される。この例では、画像の縦方向において相関が高く、画像の横方向については画素値がなだらかに変化するため、縦方向に比べて相関が低くなっている。本実施例による予測符号化処理は、このような、画像の縦方向に相関が高い画像データに対して用いて好適なものである。
【００８３】
本実施形態による予測符号化処理を、図１５および図１６−１〜図１６−４を用いて説明する。図１５は、現ラインおよび前ラインの例を、ラインの先頭から示す。現ラインにおける画素Ｇ0、Ｇ1、Ｇ3、…と、前ラインにおける画素Ｂ0、Ｂ1、Ｂ2、…とは、それぞれ横方向の位置が対応する。また、前ラインおよび現ラインの各画素は、先頭から４画素毎に、すなわち、１ワード単位でメインメモリ２１０のＣＭＹＫバンドデータ格納領域３０２から読み出される。
【００８４】
図１５に例示される画素配列において、先ず、予測処理部４０３において現ラインの先頭画素である画素Ｇ0の予測値が求められ、当該画素Ｇ0の符号化が行われる。画素Ｇ0が符号化されると、次に、並列簡易予測処理部４１０において、画素Ｇ0と、当該画素Ｇ0に連続する４画素Ｇ1、Ｇ2、Ｇ3およびＧ4とによる５画素と、当該５画素に対応する前ラインの画素Ｂ0、Ｂ1、Ｂ2、Ｂ3およびＢ4とを比較し、両者が一致するか否かを判定する。
【００８５】
両者が一致すると判定されたら、その旨がランレングス処理部４０５に通知され、ランレングス値に「４」が加算される。一方、両者が一致しないと判定されたら、画素Ｇ1、Ｇ2、Ｇ3およびＧ4について、予測処理部４０３においてそれぞれ予測値を求め、求められた予測値に基づき符号化を行う。
【００８６】
画素Ｇ0〜画素Ｇ4の処理が終了したら、並列簡易予測処理部４１０において、既に処理が終了した画素Ｇ4と、現ラインにおける画素Ｇ4に連続する画素Ｇ5、Ｇ6、Ｇ7およびＧ8との５画素と、当該５画素に対応する前ラインの５画素Ｂ4、Ｂ5、Ｂ6、Ｂ7およびＢ8とを比較し、両者が一致するか否かを判定する。
【００８７】
両者が一致すると判定されたら、その旨がランレングス処理部４０５に通知され、ランレングス値に「４」が加算される。一方、両者が一致しないと判定されたら、画素Ｇ5、Ｇ6、Ｇ7およびＧ8について、予測処理部４０３においてそれぞれ予測値を求め、求められた予測値に基づき符号化を行う。
【００８８】
さらに、画素Ｇ5〜画素Ｇ8の処理が終了したら、並列簡易予測処理部４１０において、既に処理が終了した画素Ｇ8と、現ラインにおける画素Ｇ8に連続する画素Ｇ9、Ｇ10、Ｇ11およびＧ12との５画素と、当該５画素に対応する前ラインの５画素Ｂ8、Ｂ9、Ｂ10、Ｂ11およびＢ12とを比較し、両者が一致するか否かを判定する。
【００８９】
両者が一致すると判定されたら、その旨がランレングス処理部４０５に通知され、ランレングス値に「４」が加算される。一方、両者が一致しないと判定されたら、画素Ｇ9、Ｇ10、Ｇ11およびＧ12について、予測処理部４０３においてそれぞれ予測値を求め、求められた予測値に基づき符号化を行う。
【００９０】
以降、現ラインにおける処理が終了した最終の画素と、当該最終画素に連続する４画素との５画素と、当該５画素に対応する前ラインにおける５画素とを比較して、両者が一致すればランレングス値を「４」加算し、両者が一致しなければ、最終画素の次の４画素の予測値をそれぞれ求めて符号化する処理を繰り返す。
【００９１】
図１６−１〜図１６−４を用いて、並列簡易予測処理部４１０における処理の意味について説明する。上述したように、並列簡易予測処理部４１０では、現ラインの連続する５画素Ｇ0〜Ｇ4と、対応する前ラインの５画素Ｂ0〜Ｂ4とを比較した結果、両者が一致するか否かを判定している。これは、現ラインの５画素のうち２番目からの４画素Ｇ1、Ｇ2、Ｇ3およびＧ4それぞれを注目画素としたときの、注目画素の周辺の３画素ａ、ｂおよびｃの画素値と、注目画素の画素値とが一致するか否かを判定することと等価である。
【００９２】
すなわち、注目画素が画素Ｇ1である場合、図１６−１に例示されるように、注目画素の周辺の３画素ａ、ｂおよびｃは、それぞれ画素Ｇ0、画素Ｂ1および画素Ｂ0となる。この場合、画素Ｇ0と画素Ｂ0とで画素値が一致し、且つ、画素Ｇ1と画素Ｂ1とで画素値が一致するとき、現ラインおよび前ラインの画素値が一致する。
【００９３】
注目画素が画素Ｇ2、Ｇ3またはＧ4の場合も同様である。すなわち、注目画素が画素Ｇ2の場合、図１６−２に例示されるように、注目画素の周辺の３画素ａ、ｂおよびｃは、それぞれ画素Ｇ1、画素Ｂ2および画素Ｂ1となる。この場合、画素Ｇ1と画素Ｂ1とで画素値が一致し、且つ、画素Ｇ2（注目画素）と画素Ｂ2とで画素値が一致するとき、現ラインおよび前ラインの画素値が一致する。
【００９４】
注目画素が画素Ｇ3の場合、図１６−３に例示されるように、注目画素の周辺の３画素ａ、ｂおよびｃは、それぞれ画素Ｇ2、画素Ｂ3および画素Ｂ2となる。この場合、画素Ｇ2と画素Ｂ2とで画素値が一致し、且つ、画素Ｇ3（注目画素）と画素Ｂ3とで画素値が一致するとき、現ラインおよび前ラインの画素値が一致する。
【００９５】
また、注目画素が画素Ｇ4の場合、図１６−４に例示されるように、注目画素の周辺の３画素ａ、ｂおよびｃは、それぞれ画素Ｇ3、画素Ｂ4および画素Ｂ3となる。この場合、画素Ｇ3と画素Ｂ3とで画素値が一致し、且つ、画素Ｇ4（注目画素）と画素Ｂ4とで画素値が一致するとき、現ラインおよび前ラインの画素値が一致する。
【００９６】
注目画素と、注目画素の周辺の３画素ａ、ｂおよびｃとにおいて、縦方向で画素値が一致することで必ず注目画素の予測誤差値が「０」となるならば、上述したような、現ラインと前ラインとで複数画素の画素値を纏めて比較した結果に基づく、複数画素に対する同時的な予測処理が可能となる。
【００９７】
この点について、予測方式として上述した各予測処理方式、すなわち、平面予測方式、ＬＯＣＯ−Ｉ方式またはＰａｅｔｈ方式を用いた場合を例にとって検証を試みる。図８に示されるように、注目画素に対して左に接する画素を画素ａとし、注目画素および画素ａの直上に接する画素をそれぞれ画素ｂおよび画素ｃとする。縦方向に画素値が一致するとき、注目画素の画素値Ｇと各画素ａ、ｂおよびｃの画素値ａ、ｂおよびｃは、画素値Ｇ＝画素値ｂ、画素値ａ＝画素値ｃとなる。
【００９８】
平面予測方式では、上述した式（１）に従い予測値を求めると、画素値ａ＝画素値ｃなので、予測値＝ａ＋ｂ−ｃ＝ｂとなる。画素値ｂは注目画素の画素値Ｇと等しいので予測は的中し、予測誤差が「０」となる。図１７−１を参照し、実際の数値を用いてより具体的に説明する。各々縦方向に隣接する注目画素Ｇおよび画素ｂの画素値をそれぞれ「３０」、画素ａおよび画素ｃの画素値をそれぞれ「８０」とするとき、予測値＝８０＋３０−８０＝３０となり、注目画素Ｇの画素値と一致する。したがって、予測誤差値＝予測値−注目画素Ｇの画素値＝０となる。
【００９９】
ＬＯＣＯ−Ｉ方式の場合について、上述した図１０のフローチャートを参照しながら説明する。最初のステップＳ３０の判定では、画素値ａ＝画素値ｃなので、画素値ｂが画素値ｃ（＝画素値ａ）以下であれば処理がステップＳ３１に移行され、画素値ｂおよび画素値ａのうち値が小さい方が予測値とされる。ステップＳ３０の判定により、画素値ｂは、画素値ｃ（＝画素値ａ）以下であるので、画素値ｂが予測値として選択される。これは、画素値ａ、ｂおよびｃが等しい場合も含まれる。
【０１００】
一方、画素値ｂが画素値ｃ（＝画素値ａ）以下でない場合、すなわち画素値ｂが画素値ｃを超える場合、ステップＳ３０の判定により処理がステップＳ３２に移行される。ステップＳ３２の判定では、先のステップＳ３０の判定により画素値ｃが画素値ｂ以下であることが確定しているので、処理がステップＳ３４に移行され、上述の平面予測方式の場合と同じ計算がなされ、予測値＝画素値ｂとされる。このように、画素値ｂの値如何に関わらず予測値＝画素値ｂとされ、画素値ｂが注目画素Ｇの画素値と等しいので、予測誤差値が「０」となる。
【０１０１】
図１７−２を参照し、実際の数値を用いてより具体的に説明する。各画素値は、図１７−１と同一である。画素値ｃと画素値ａとが等しく、画素値ｃが「８０」、画素値ｂが「３０」で、画素値ｃが画素値ｂより大きいので、ステップＳ３０の判定により処理がステップＳ３１に移行される。画素値ａが「８０」、画素値ｂが「３０」であるので、値が小さい画素値ｂが予測値として選択される。
【０１０２】
Ｐａｅｔｈ方式の場合について、上述した図１１のフローチャートを参照しながら説明する。ステップＳ４０において、画素値ａおよび画素値ｃが等しいので、値ｐは、画素値ｂと等しくなる。これにより、ステップＳ４１〜ステップＳ４３により、値ｐａ、値ｐｂおよび値ｐｃは、それぞれ値ｐａ＝ａｂｓ(画素値ｂ−画素値ａ)、値ｐｂ＝０、値ｐｃ＝ａｂｓ(画素値ｂ−画素値ｃ)のように計算される。値ｐｂ＝０なので、値ｐａおよび値ｐｃは、それぞれ値ｐｂ以上となる。したがって、ステップＳ４４およびステップＳ４６の判定により、常に処理がステップＳ４７に移行され、画素値ｂが予測値として選択される。この場合においても、画素値ｂの値如何に関わらず予測値＝画素値ｂとされ、画素値ｂが注目画素Ｇの画素値と等しいので、予測誤差値が「０」となる。
【０１０３】
図１７−３を参照し、実際の数値を用いてより具体的に説明する。ステップＳ４０では、値ｐ＝８０＋３０−８０＝３０と算出される。また、ステップＳ４１〜ステップＳ４３において、値ｐａ、値ｐｂおよび値ｐｃがそれぞれ「５０」、「０」および「５０」と算出される。ステップＳ４４では、値ｐａ＝値ｐｃであり、且つ値ｐａが値ｐｂ（＝０）より大きいので、処理がステップＳ４６に移行される。ステップＳ４６では、値ｐｂ＝０であって、値ｐａおよび値ｐｃ以下となるので、処理がステップＳ４７に移行され、画素値ｂが予測値として選択される。
【０１０４】
以上のように、平面予測方式、ＬＯＣＯ−Ｉ方式およびＰａｅｔｈ方式の何れにおいても、縦方向に画素値が一致する場合には注目画素に対する予測誤差が「０」となることが検証される。したがって、これらの予測方式を用いた場合、水平方向に連続する複数画素を現ラインおよび前ラインとで比較することで、当該複数画素について同時に予測処理を行うことが可能となる。
【０１０５】
図１８−１および図１８−２のフローチャートを用いて、本実施形態による予測符号化処理の例について、より具体的に説明する。なお、図１８−１および図１８−２に示されるフローチャートは、符号Ａ、符号Ｂおよび符号Ｃにより連結される一連の処理を示す。
【０１０６】
図１８−１のフローチャートにおいて、ステップＳ１００〜ステップＳ１０７の処理は、ラインの先頭における例外的な処理である。先ず、ステップＳ１００で、画像読み込み部４００により、メインメモリ２１０のＣＭＹＫバンドデータ格納領域３０２から、現ラインの先頭の画素から開始する１ワード分のデータＧDATA0が読み出される。このデータＧDATA0は、現ラインの先頭から４画素分の画素データを含む。この１ワードのデータＧDATA0は、ラインメモリ制御処理部４０１により、ラインメモリ４０２の現ライン領域に書き込まれる（ステップＳ１０１）。
【０１０７】
次のステップＳ１０２で、ラインメモリ制御処理部４０１により、ラインメモリ４０２の前ライン領域から、前ラインの先頭の画素から開始する１ワード分のデータＢDATA0が読み出される。このデータＢDATA0は、予測処理部４０３に渡される。
【０１０８】
なお、メインメモリ２１０のＣＭＹＫバンドデータ格納領域３０２またはラインメモリ４０２から読み出される、４画素分の画素データを含む１ワードのデータは、ラインの先頭側がＬＳＢ(Least Significant Bit)、後端側がＭＳＢ(Most Significant Bit)であるものとする。すなわち、８ビットの画素データの４画素分が連なる３２ビットのビット列において、ラインの先頭側の端のビットがＬＳＢ、後端側の端のビットがＭＳＢとされる。以下では、ＭＳＢを０ビット目としてビット位置を記述する。
【０１０９】
ステップＳ１０３で、予測処理部４０３は、ラインメモリ制御処理部４０１の制御によりラインメモリ４０２からデータＧDATA0の３１ビット目（ＬＳＢ）から２４ビット目までの８ビットを、注目画素のデータとして読み込む。そして、次のステップＳ１０４で、注目画素の周辺の３画素ａ、ｂおよびｃのデータを用いて、平面予測方式、ＬＯＣＯ−Ｉ方式またはＰａｅｔｈ方式などにより、注目画素の画素値に対する予測値を求める。
【０１１０】
ここで、この注目画素はラインの先頭画素であるため、注目画素の周辺の３画素ａ、ｂおよびｃのうち注目画素の直上に接する画素ｂしか存在しないことになる。そこで、ステップＳ１０４では、例えば当該３画素ａ、ｂおよびｃの画素値をそれぞれ「０」として、注目画素の予測値を求める。予測値が求められたら、次のステップＳ１０５で、予測値から注目画素の画素値が減じられて、予測誤差値が算出される。
【０１１１】
予測誤差値が算出されると、次のステップＳ１０６およびステップＳ１０７で、予測誤差値の符号化が行われる。すなわち、ステップＳ１０６で、予測誤差値から、図１２−１に示される符号フォーマットに従い予測誤差のグループを求め、さらに、ステップＳ１０７で予測誤差の付加ビットを求め、予測誤差値の符号化を行う。
【０１１２】
なお、画像の先頭のラインを処理する場合、上述したステップＳ１０２の処理を省略することができる。
【０１１３】
処理はステップＳ１０８に移行され、画像読み込み部４００により、ＣＭＹＫバンドデータ格納領域３０２からデータＧDATA0に続く４画素分の画素データからなるデータＧDATA1が読み出される。読み出されたこのデータＧDATA1は、ラインメモリ制御部４０１の制御により、ラインメモリ４０２における現ライン領域の、上述のデータＧDATA0の次の位置に書き込まれる（ステップＳ１０９）。
【０１１４】
次のステップＳ１１０で、並列簡易予測処理部４１０は、ラインメモリ４０２の前ライン領域から、データＧDATA1に横方向の位置が対応する４画素分の画素データからなる１ワードのデータＢDATA1を、ラインメモリ制御部４０１の制御により読み込む。次のステップＳ１１１で、前回読み込んだデータＢDATA0を左に８ビットシフトさせる。そして、データＢDATA1の３１ビット目から２４ビット目の８ビット（すなわちＢDATA1の左端の画素のデータ）を、８ビットシフトさせたデータＢDATA0の下位８ビットに加えて、４０ビットのデータＢDATAを生成する。
【０１１５】
なお、画像の先頭のラインを処理する場合、上述したステップＳ１１０の処理を省略し、データＢDATA1の値を「０」とすることが考えられる。
【０１１６】
ステップＳ１１２では、ＧDATA0およびＧDATA1に対して、ステップＳ１１１と同様な処理が行われる。すなわち、並列簡易予測処理部４１０は、ラインメモリ４０２の現ライン領域から、ラインメモリ制御部４０１の制御によりデータＧDATA1を読み込む。そして、前回読み込んだＧDATA0を左に８ビットシフトさせ、データＧDATA1の３１ビット目から２４ビット目の８ビット（すなわちＧDATA1の左端の画素データ）を、８ビットシフトさせたＧDATA0の下位８ビットに加えて、４０ビットのデータＧDATAを生成する。
【０１１７】
次のステップＳ１１３では、今回読み込んだデータＧDATA1およびデータＢDATA1をそれぞれデータＧDATA0およびデータＢDATA0として、次回の処理に用いるデータとする。
【０１１８】
処理は図１８−２のフローチャートに移り、ステップＳ１２０において変数ＬＯＯＰが「０」とされる。そして、次のステップＳ１２１で、上述のステップＳ１１１およびステップＳ１１２で生成されたデータＧDATAとデータＢDATAとが比較される。比較の結果、若し、データＧDATAとデータＢDATAとが等しいと判定されたら、その旨がランレングス生成処理部４０５に通知され、ランレングス生成処理部４０５によりランレングス値に「４」が加算される（ステップＳ１２２）。そして、処理が後述するステップＳ１４１に移行される。
【０１１９】
換言すれば、ステップＳ１２１では、それぞれデータＧDATAによる４０ビットのデータ列と、データＢDATAによる４０ビットのデータ列とが比較し、データＧDATAおよびデータＢDATAとで各ビットが一致するか否かが判定される。
【０１２０】
一方、ステップＳ１２１で、データＧDATAとデータＢDATAとの比較の結果、データＧDATAとデータＢDATAとが等しくないと判定されたら、処理はステップＳ１２３に移行される。このとき、並列簡易予測処理部４１０から予測処理部４０３に対し、データＧDATAとデータＢDATAとが渡される。以降、ステップＳ１２３〜ステップＳ１３０の処理では、予測処理部４０３により、変数ＬＯＯＰの値に応じてＧDATAから注目画素のデータが抽出される。
【０１２１】
すなわち、ステップＳ１２３で変数ＬＯＯＰが値「０」であるか否かが判定される。若し、値「０」ではないと判定されたら、処理はステップＳ１２５に移行される。一方、値「０」であると判定されたら、処理はステップＳ１２４に移行され、ＧDATAの３１ビット目から２４ビット目までの８ビットが、注目画素の画素データとして抽出される。これは、当該ＧDATAの元になる上述のＧDATA0がラインの先頭画素の画素データを含む場合、先頭画素の次の画素の画素データとなる。図１５を参照すると、ラインの先頭画素を画素Ｇ0とした場合、ステップＳ１２４で抽出される画素データは、画素Ｇ0に隣接する画素Ｇ1の画素データとなる。ステップＳ１２４で画素データが抽出されると、処理はステップＳ１２５に移行される。
【０１２２】
ステップＳ１２５では、変数ＬＯＯＰが値「１」であるか否かが判定される。若し、値「１」ではないと判定されたら、処理はステップＳ１２７に移行される。一方、変数ＬＯＯＰが値「１」であると判定されたら、処理はステップＳ１２６に移行され、ＧDATAの２３ビット目から１６ビット目までの８ビットが、注目画素の画素データとして抽出される。これは、上述したステップＳ１２４で画素データが抽出される画素の次の画素の画素データである。ステップＳ１２６で画素データが抽出されると、処理はステップＳ１２７に移行される。
【０１２３】
ステップＳ１２７では、変数ＬＯＯＰが値「２」であるか否かが判定される。若し、値「２」ではないと判定されたら、処理はステップＳ１２９に移行される。一方、変数ＬＯＯＰが値「２」であると判定されたら、処理はステップＳ１２８に移行され、ＧDATAの１５ビット目から８ビット目までの８ビットが、注目画素の画素データとして抽出される。これは、上述したステップＳ１２６で画素データが抽出される画素の次の画素の画素データである。ステップＳ１２８で画素データが抽出されると、処理はステップＳ１２９に移行される。
【０１２４】
ステップＳ１２９では、変数ＬＯＯＰが値「３」であるか否かが判定される。若し、値「３」ではないと判定されたら、処理はステップＳ１３１に移行される。一方、変数ＬＯＯＰが値「３」であると判定されたら、処理はステップＳ１３０に移行され、ＧDATAの７ビット目から０ビット目までの８ビットが、注目画素の画素データとして抽出される。これは、上述したステップＳ１２８で画素データが抽出される画素の次の画素の画素データである。ステップＳ１３０で画素データが抽出されると、処理はステップＳ１３１に移行される。
【０１２５】
ステップＳ１３１では、予測処理部４０３により、上述のステップＳ１２３〜ステップＳ１３０で抽出された注目画素について、当該注目画素に対する周辺の３画素ａ、ｂおよびｃの画素データに基づき、注目画素の画素値が予測される。３画素ａ、ｂおよびｃのデータは、ステップＳ１２１からステップＳ１２３に処理が移行される際に並列簡易予測処理部４１０から渡されたＧDATAおよびＢDATAから抽出することができる。予測方式としては、例えば上述した平面予測方式、ＬＯＣＯ−Ｉ方式またはＰａｅｔｈ方式などを用いることができる。
【０１２６】
ステップＳ１３１で注目画素の画素値の予測値が求められたら、処理はステップＳ１３２に移行され、予測値から注目画素の画素値が減じられて、予測誤差値が算出される。予測誤差値が算出されると、次のステップＳ１３３で予測誤差値が「０」であるか否かが判定される。若し、「０」であると判定されたら、処理はステップＳ１３４に移行され、ランレングス値に「１」が加算され、処理が後述するステップＳ１３９に移行される。
【０１２７】
一方、ステップＳ１３３で予測誤差値が「０」ではないと判定されたら、処理はステップＳ１３５に移行され、図１２−２に例示される符号フォーマットに従いランレングス値の符号化を行う。ランレングス値が符号化されると、次のステップＳ１３６でランレングス値が「０」に初期化される。次のステップＳ１３７およびステップＳ１３８で、図１２−１に例示される符号フォーマットに従い、予測誤差値の符号化が行われる。すなわち、ステップＳ１３７で、予測誤差値から、図１２−１に示される符号フォーマットにおける予測誤差値のグループを求め、さらに、ステップＳ１３８で予測誤差値の付加ビットを求め、予測誤差値の符号化を行う。予測誤差値が符号化されると、処理はステップＳ１３９に移行される。
【０１２８】
ステップＳ１３９では、変数ＬＯＯＰに「１」が加算され、次のステップＳ１４０で変数ＬＯＯＰが値「４」未満であるか否かが判定される。若し、値「４」未満であると判定されたら、処理はステップＳ１２３に戻され、次の注目画素の抽出などの処理が行われる。
【０１２９】
一方、ステップＳ１４０で変数ＬＯＯＰが値「４」以上であると判定されたら、処理はステップＳ１４１に移行され、直前に予測値を求めた注目画素が現ラインの最終画素であるか否かが判定される。若し、ラインの最終画素ではないと判定されたら、処理は図１８−１のフローチャートにおけるステップＳ１０８に戻され、画像読み込み部４００により、次の１ワード分の画素データがＣＭＹＫバンドデータ格納領域３０２から読み出され、以降、この読み出された画素データに対する処理が行われる。
【０１３０】
一方、ステップＳ１４１で、直前に予測値を求めた注目画素が現ラインの最終画素であると判定されたら、処理はステップＳ１４２に移行され、ラインメモリ４０２に格納される現ラインデータが前ラインデータに変換される。
【０１３１】
次のステップＳ１４３では、画像の全ラインについて処理が終了したか否かが判定される。若し、終了したと判定されたら、一連の予測符号化処理が終了される。一方、画像の全ラインについて処理が終了していないと判定されたら、処理は図１８−１のフローチャートにおけるステップＳ１００に戻され、次のラインの処理が行われる。
【０１３２】
以上説明したように、本実施形態によれば、画像の横方向すなわちライン方向に連続する複数画素について、現ラインおよび前ラインを比較し、両者が一致するときに、当該複数画素を順次用いて予測処理を行った場合の予測が全て的中すると判断している。そして、この場合において、予測が的中すると判断された複数画素の画素数分、ランレングス値を加算する。複数画素の比較により現ラインと前ラインとで一致しないと判断された場合には、画素毎に通常歩予測方式を用いて予測を行う。そのため、同一色の地が占める割合が多い画像や、縦方向に相関の高い画像などで処理を高速化できる。また、予測方式としても正しいため、圧縮率が損なわれることもない。
【０１３３】
なお、上述では、５画素毎に画素値の比較を行い、１ワード単位で纏めて予測処理を行うようにしているが、これはこの例に限定されない。すなわち、５画素よりも多い画素数で画素値の比較を行い、纏めて予測処理を行うようにしてもよい。また、５画素より少ない画素数で画素値の比較を行うことも可能である。
【０１３４】
また、上述では、予測処理部４０３に適用される予測方式の例として、平面予測方式、ＬＯＣＯ−Ｉ方式およびＰａｅｔｈ方式を挙げたが、これはこの例に限定されない。すなわち、予測処理部４０３では、画像の縦方向に画素値が一致する場合に予測誤差値が「０」となる予測方式であれば、他の方式を適用することができる。
【０１３５】
＜他の実施形態＞
なお、上述では、本発明の実施形態による符号化部２０４を構成する各部がハードウェア的に構成されるように説明したが、これはこの例に限定されない。すなわち、本発明に実施形態に適用な可能なカラープリンタ１００における符号化部２０４は、カラープリンタ１００に組み込まれたＣＰＵ（図示しない）上で動作するプログラムとして、それぞれ実現可能である。
【０１３６】
この場合、ＣＰＵ上で符号化部２０４として実行されるプログラムは、例えば図６を用いて説明した符号化部２０４の各機能部（画像読み込み部４００、ラインメモリ制御処理部４０１、並列簡易予測処理部４１０、予測処理部４０３、予測誤差処理部４０４、ランレングス生成処理部４０５、符号フォーマット生成処理部４０６および符号書き込み部４０７）を含むモジュール構成となっている。
【０１３７】
このプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ(Compact Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録されて提供される。これに限らず、プログラムは、ＣＰＵに接続されるＲＯＭ（図示しない）に予め記憶させておいてもよい。さらに、プログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、このプログラムを、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。
【０１３８】
実際のハードウェアとしては、ＣＰＵが、例えば上述した記録媒体から符号化部２０４として機能するプログラムを読み出して実行することにより、上述した各部が主記憶装置（図示しない）上にロードされる。そして、画像読み込み部４００、ラインメモリ制御処理部４０１、並列簡易予測処理部４１０、予測処理部４０３、予測誤差処理部４０４、ランレングス生成処理部４０５、符号フォーマット生成処理部４０６および符号書き込み部４０７が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１３９】
２０４  符号化部
２０５  復号部
２１０  メインメモリ
３０２  ＣＭＹＫバンドデータ格納領域
３０３  ページ符号格納領域
４０１  ラインメモリ制御部
４０２  ラインメモリ
４０３  予測処理部
４０４  予測誤差処理部
４０５  ランレングス生成処理部
４０６  符号フォーマット生成処理部
４１０  並列簡易予測処理部
【先行技術文献】
【特許文献】
【０１４０】
【特許文献１】特開２００２−３４４３２３号公報
【特許文献２】特許第２８８８１８６号公報
【特許文献３】特開平１１−２３４６８３号公報
【特許文献４】特公平７−１１４３６９号公報
【特許文献５】特開２００７−３３６０５６号公報
【図１】
2011019096.tif 000003
【図２】
2011019096.tif 000004
【図３】
2011019096.tif 000005
【図４】
2011019096.tif 000006
【図５】
2011019096.tif 000007
【図６】
2011019096.tif 000008
【図７】
2011019096.tif 000009
【図８】
2011019096.tif 000010
【図９】
2011019096.tif 000011
【図１０】
2011019096.tif 000012
【図１１】
2011019096.tif 000013
【図１２−１】
2011019096.tif 000014
【図１２−２】
2011019096.tif 000015
【図１３】
2011019096.tif 000016
【図１５】
2011019096.tif 000017
【図１６−１】
2011019096.tif 000018
【図１６−２】
2011019096.tif 000019
【図１６−３】
2011019096.tif 000020
【図１６−４】
2011019096.tif 000021
【図１７−１】
2011019096.tif 000022
【図１７−２】
2011019096.tif 000023
【図１７−３】
2011019096.tif 000024
【図１８−１】
2011019096.tif 000025
【図１８−２】
2011019096.tif 000026
【図１４−１】
2011019096.tif 000027
【図１４−２】
2011019096.tif 000028