(57)【特許請求の範囲】
【請求項１】
カラー画像を構成する画素データと該画素データに対し既定の予測方法を用いて予測した予測データとを比較し、該画素データと該予測データとの差分が既定の範囲内であるか否かを走査順に順次判定する予測手段と、
前記予測手段により画素データと予測データとの差分が既定の範囲内であると判定された場合、該差分が既定の範囲内である連続数をラン長として計数し、前記予測手段により画素データと予測データとの差分が既定の範囲内ではないと判定された場合、該差分が既定の範囲内ではない連続数をリテラル数として計数する計数手段と、
前記予測手段により連続して画素データと予測データとの差分が既定の範囲内であると判定された場合には該差分が既定の範囲内である画素データの１つを色毎の成分値に分解し、前記予測手段により画素データと予測データとの差分が既定の範囲内ではないと判定された場合には該画素データを色毎の成分値に分解する色情報分解手段と、
前記計数手段により計数されたラン長、又は、前記計数手段により計数されたリテラル数及び画素データと予測データとの差分が既定の範囲内でない旨を示す識別子を符号化する第１の符号化手段と、
前記色情報分解手段により分解された成分値について、色毎に符号化する第２の符号化手段と、
を有する符号化装置。
【請求項２】
請求項１に記載の符号化装置により予測符号化処理されて生成されたカラー画像の符号データを復号化する復号化装置であって、
入力された符号データのうち、複数の色成分に共通する符号を復号化して、符号化の際の予測的中の連続数、又は、予測外れの連続数及び予測外れの旨を示す識別子を生成する第１の復号化手段と、
入力された符号データのうち、既定の色成分に固有の固有符号を復号化して、色成分値を生成する第２の復号化手段と、
前記第１の復号化手段により生成された情報、及び、前記第２の復号化手段により生成された情報を用いて、前記既定の色成分の画像データを生成する画像生成手段と
を有する復号化装置。
【請求項３】
カラー画像を構成する画素データと該画素データに対し既定の予測方法を用いて予測した予測データとを比較し、該画素データと該予測データとの差分が既定の範囲内であるか否かを走査順に順次判定し、
画素データと予測データとの差分が既定の範囲内であると判定された場合には、該差分が既定の範囲内である連続数をラン長として計数するとともに該差分が既定の範囲内である画素データの１つを色毎の成分値に分解し、画素データと予測データとの差分が既定の範囲内ではないと出力された場合には該差分が既定の範囲内ではない連続数をリテラル数として計数するとともに該画素データを色毎の成分値に分解し、
計数されたラン長、又は、計数されたリテラル数及び画素データと予測データとの差分が既定の範囲内でない旨を示す識別子について符号化し、
分解された成分値については、色毎に符号化する
符号化方法。
【請求項４】
請求項３に記載の符号化方法により予測符号化処理されて生成されたカラー画像の符号データを復号化する復号化方法であって、
入力された符号データのうち、複数の色成分に共通する符号を復号化して、符号化の際の予測的中の連続数、又は、予測外れの連続数及び予測外れの旨を示す識別子を生成し、
入力された符号データのうち、既定の色成分に固有の固有符号を復号化して、色成分値を生成し、
生成された情報を用いて、前記既定の色成分の画像データを生成する
復号化方法。
【請求項５】
カラー画像を構成する画素データと該画素データに対し既定の予測方法を用いて予測した予測データとを比較し、該画素データと該予測データとの差分が既定の範囲内であるか否かを走査順に順次判定するステップと、
画素データと予測データとの差分が既定の範囲内であると判定された場合には、該差分が既定の範囲内である連続数をラン長として計数するとともに該差分が既定の範囲内である画素データの１つを色毎の成分値に分解し、画素データと予測データとの差分が既定の範囲内ではないと出力された場合には該差分が既定の範囲内ではない連続数をリテラル数として計数するとともに該画素データを色毎の成分値に分解するステップと、
計数されたラン長、又は、計数されたリテラル数及び画素データと予測データとの差分が既定の範囲内でない旨を示す識別子について符号化するステップと、
分解された成分値については、色毎に符号化するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラー画像の画像データを符号化する符号化装置に関する。
【背景技術】
【０００２】
例えば、特許文献１は、入力された画像を複数の符号器に均等に振り分けながら複数の符号器で並列して処理を行う符号化処理を開示する。
【特許文献１】特開２０００−２１７００３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであり、比較的軽い処理負荷で、カラー画像の符号データを生成することができる符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
［符号化装置］
上記目的を達成するために、本発明にかかる符号化装置は、カラー画像を構成する画素データと該画素データに対し既定の予測方法を用いて予測した予測データとを比較し、該画素データと該予測データとの差分が既定の範囲内であるか否かを走査順に順次判定する予測手段と、前記予測手段により画素データと予測データとの差分が既定の範囲内であると判定された場合、該差分が既定の範囲内である連続数をラン長として計数し、前記予測手段により画素データと予測データとの差分が既定の範囲内ではないと判定された場合、該差分が既定の範囲内ではない連続数をリテラル数として計数する計数手段と、前記予測手段により連続して画素データと予測データとの差分が既定の範囲内であると判定された場合には該差分が既定の範囲内である画素データの１つを色毎の成分値に分解し、前記予測手段により画素データと予測データとの差分が既定の範囲内ではないと判定された場合には該画素データを色毎の成分値に分解する色情報分解手段と、前記計数手段により計数されたラン長、又は、前記計数手段により計数されたリテラル数及び画素データと予測データとの差分が既定の範囲内でない旨を示す識別子を符号化する第１の符号化手段と、前記色情報分解手段により分解された成分値について、色毎に符号化する第２の符号化手段とを有する。
【０００９】
［復号化装置］
また、本発明にかかる復号化装置は、上記の符号化装置により予測符号化処理されて生成されたカラー画像の符号データを復号化する復号化装置であって、入力された符号データのうち、複数の色成分に共通する符号を復号化して、符号化の際の予測的中の連続数、又は、予測外れの連続数及び予測外れの旨を示す識別子を生成する第１の復号化手段と、入力された符号データのうち、既定の色成分に固有の固有符号を復号化して、色成分値を生成する第２の復号化手段と、前記第１の復号化手段により生成された情報、及び、前記第２の復号化手段により生成された情報を用いて、前記既定の色成分の画像データを生成する画像生成手段と  を有する。
【００１０】
［符号化方法］
また、本発明にかかる符号化方法は、カラー画像を構成する画素データと該画素データに対し既定の予測方法を用いて予測した予測データとを比較し、該画素データと該予測データとの差分が既定の範囲内であるか否かを走査順に順次判定し、画素データと予測データとの差分が既定の範囲内であると判定された場合には、該差分が既定の範囲内である連続数をラン長として計数するとともに該差分が既定の範囲内である画素データの１つを色毎の成分値に分解し、画素データと予測データとの差分が既定の範囲内ではないと出力された場合には該差分が既定の範囲内ではない連続数をリテラル数として計数するとともに該画素データを色毎の成分値に分解し、計数されたラン長、又は、計数されたリテラル数及び画素データと予測データとの差分が既定の範囲内でない旨を示す識別子について符号化し、分解された成分値については、色毎に符号化する。
【００１１】
［復号化方法］
また、本発明にかかる復号化方法は、上記の符号化方法により予測符号化処理されて生成されたカラー画像の符号データを復号化する復号化方法であって、入力された符号データのうち、複数の色成分に共通する符号を復号化して、符号化の際の予測的中の連続数、又は、予測外れの連続数及び予測外れの旨を示す識別子を生成し、入力された符号データのうち、既定の色成分に固有の固有符号を復号化して、色成分値を生成し、生成された情報を用いて、前記既定の色成分の画像データを生成する。
【００１２】
［プログラム］
また、本発明にかかるプログラムは、カラー画像を構成する画素データと該画素データに対し既定の予測方法を用いて予測した予測データとを比較し、該画素データと該予測データとの差分が既定の範囲内であるか否かを走査順に順次判定するステップと、画素データと予測データとの差分が既定の範囲内であると判定された場合には、該差分が既定の範囲内である連続数をラン長として計数するとともに該差分が既定の範囲内である画素データの１つを色毎の成分値に分解し、画素データと予測データとの差分が既定の範囲内ではないと出力された場合には該差分が既定の範囲内ではない連続数をリテラル数として計数するとともに該画素データを色毎の成分値に分解するステップと、計数されたラン長、又は、計数されたリテラル数及び画素データと予測データとの差分が既定の範囲内でない旨を示す識別子について符号化するステップと、分解された成分値については、色毎に符号化するステップとをコンピュータに実行させる。
【発明の効果】
【００１３】
本発明の符号化装置によれば、比較的軽い処理負荷で、カラー画像の符号データを生成することができる。
【発明を実施するための最良の形態】
【００１４】
［背景と概略］
カラー画像の符号化処理は、点順符号化処理と面順符号化処理とに大別される。点順符号化処理とは、画素ごとに色成分をまとめて符号化する形式をいい、面順符号化処理とは、色成分ごとに１つの画像として符号化する形式をいう。
一般的な処理では、部分画像を構成する画素データが局在する点順が扱いやすい。ここで、画素データとは、それぞれの画素に関するデータであり、例えば、複数の色成分値などが含まれる。
一方、色ごとに印字するプリンタのようなデバイスでは、面順で扱う必要がある。
【００１５】
面順符号化処理は、点順符号化処理と比較して、以下に示す２つの問題を有する。
第１の問題点は、処理時間が長いことである。すなわち、処理時間は符号化方式に依存するが、処理時間が画素数に比例する符号化方式の場合、面順で符号化すると、色数分だけ画素が増えることになるので、処理時間が増加する。
第２の問題点は、符号量が多いことである。すなわち、面順で符号すると、複数の面（色）の間で重複する情報でも、各面で個別に持つ必要があり、このため、符号量が増加する傾向にある。なお、各面を完全に無相関にできれば、そのような符号量の増加は発生しないが、通常の画像では色成分間に相関がある。
【００１６】
ここで、画像データの符号化処理は、画像データを中間コードに変換するソースコーダと、中間コードを符号データに変換するエントロピーコーダとで実現されることが多い。
そこで、本実施形態における画像処理装置２は、ソースコーダにおける処理を点順で行い、後段のエントロピーコーダを並列化することで、主に第１の問題点を解消し、各面の共通情報と各面に固有の個別情報とに分解して符号化することにより、主に第２の問題点を解消する。
【００１７】
［ハードウェア構成］
次に、本実施形態における画像処理装置２のハードウェア構成を説明する。
図１は、本発明にかかる符号化方法及び復号化方法が適応される画像処理装置２のハードウェア構成を、制御装置２１を中心に例示する図である。
図１に例示するように、画像処理装置２は、ＣＰＵ２１２及びメモリ２１４などを含む制御装置２１、通信装置２２、ＨＤＤ・ＣＤ装置などの記録装置２４、並びに、ＬＣＤ表示装置あるいはＣＲＴ表示装置およびキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２５から構成される。
画像処理装置２は、例えば、プリンタ装置３の内部に設けられた処理ユニットであり、本発明にかかる符号化プログラム５及び復号化プログラム６（後述）がインストールされている。なお、本例では、プログラムの形式で説明するが、符号化プログラム５及び復号化プログラム６の全部又は一部がＡＳＩＣなどのハードウェアで実現されてもよい。
【００１８】
［符号化プログラム］
図２は、制御装置２１（図１）により実行され、本発明にかかる符号化方法を実現する第１の符号化プログラム５の機能構成を例示する図である。
図２に例示するように、第１の符号化プログラム５は、データ調整部５００、予測部５１０、ラン計数部５２０、色情報分解部５３０、共通情報符号器５４０、及び、固有情報符号器を有し、固有情報符号器は、Ｒ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６を含む。なお、予測部５１０、ラン計数部５２０及び色情報分解部５３０は、ソースコーダに相当し、共通情報符号器５４０及び固有情報符号器（Ｒ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６）は、エントロピーコーダに相当する。
【００１９】
符号化プログラム５において、データ調整部５００は、入力された画像データを、予測部５１０における処理単位の画素データに変換する。
例えば、データ調整部５００は、入力された画像データが色成分毎に分類されている場合には、各色成分値をまとめて画素データを生成する。
本例のデータ調整部５００は、入力されたＲＧＢ画像のＲ値、Ｇ値及びＢ値をそれぞれ３ビット、３ビット及び２ビットに限定色化し、限定色化されたＲ値、Ｇ値及びＢ値を並べて、８ビットの画素データを生成し、生成された画素データを予測部５１０及び色情報分解部５３０に出力する。
【００２０】
予測部５１０は、既定の予測方法で、処理対象となる注目画素の予測データを生成し、生成された予測データと、注目画素の画素データとを比較し、比較結果（予測データと画素データとの差が既定の範囲内であるか否か）をラン計数部５２０に出力する。この既定の範囲とは、符号化処理における非可逆性を規定する情報であり、この範囲が大きいほど、非可逆性が大きくなり、高圧縮率が実現される。
本例では、連長符号化方式（ランレングス符号化方式）が適用されるため、予測部５１０は、直前画素の画素データ（８ビット）を予測データとして読み出し、この予測データと注目画素の画素データとを比較し、これらのデータが一致したか否かをラン計数部５２０に出力する。
【００２１】
ラン計数部５２０は、予測部５１０から入力される比較結果に基づいて、同一の画素データが連続する連続数（ラン）を計数する。また、ラン計数部５２０は、予測部５１０から入力される比較結果を色情報分解部５３０に通知する。
本例のラン計数部５２０は、予測部５１０から一致した旨が入力される場合には、ランのカウント値をカウントアップしていき、予測部５１０から一致しなかった旨が入力された時に、これまでのカウント値をランとして共通情報符号器５４０に出力する。また、本例のラン計数部５２０は、予測部５１０から一致しなかった旨が入力される場合には、連続して予測が外れている数（以下、リテラル数）をカウントしていき、予測部５１０から一致した旨が入力された時に、これまでのリテラル数を共通情報符号器５４０に出力する。
【００２２】
色情報分解部５３０は、予測部５１０により比較結果に応じて、データ調整部５００から入力される画素データを複数の色成分値に分解し、分解された各色成分値を固有情報符号器（Ｒ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６）に出力する。
本例の色情報分解部５３０は、予測データと画素データとが一致した旨をラン計数部５２０から連続して通知される場合には、１つの画素データのみをＲ成分、Ｇ成分及びＢ成分に分解し、分解されたＲ成分、Ｇ成分及びＢ成分をそれぞれＲ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６に出力する。また、本例の色情報分解部５３０は、予測データと画素データとが一致しなかった旨をラン計数部５２０から通知される場合には、それぞれの画素データをＲ成分、Ｇ成分及びＢ成分に分解し、分解されたＲ成分、Ｇ成分及びＢ成分をそれぞれＲ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６に出力する。
すなわち、本例の符号化プログラム５は、ランが続いている間は、ランに含まれる１つの画素値（複数の色成分）のみを符号化し、ラン以外の画素については、各画素の画素値を符号化する。
【００２３】
共通情報符号器５４０は、ラン計数部５２０から入力される共通の中間コードをエントロピー符号化する。共通の中間コードとは、ソースコーダで生成される中間コードのうち、複数の色成分で共通する中間コードである。
本例の共通情報符号器５４０は、ラン計数部５２０から入力されるラン長、又は、ラン中の画素でないことを示す識別子（リテラル）及びリテラル数をエントロピー符号化し、生成された符号データを共通符号データとして外部に出力する。
【００２４】
固有情報符号器（Ｒ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６）は、色情報分解部５３０から入力される固有の中間コードをエントロピー符号化する。固有の中間コードとは、ソースコーダで生成される中間コードのうち、各色成分に固有の中間コードである。
本例の固有情報符号器（Ｒ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６）は、色情報分解部５３０から入力される色成分値をエントロピー符号化し、符号化された色成分値を固有符号データとして外部に出力する。すなわち、Ｒ色情報符号器５５２は、Ｒ成分値を符号化し、Ｇ色情報符号器５５４は、Ｇ成分値を符号化し、Ｂ色情報符号器５５６は、Ｂ成分値を符号化する。
【００２５】
図３は、符号化プログラム５（図２）による符号化処理（Ｓ１０）のフローチャートである。
また、図４は、符号化処理（Ｓ１０）において生成されるデータを例示する図である。
図３に示すように、ステップ１００（Ｓ１００）において、データ調整部５００（図２）は、入力された画像データ（ＲＧＢ）に対して、限定色化処理を施して、限定色化された複数の色成分を配列して画素データを生成する。
生成される画素データは、図４（Ａ）に例示するように、階調数を落としたＲ値、Ｇ値及びＢ値を含む。
【００２６】
ステップ１０５（Ｓ１０５）において、データ調整部５００は、生成された画素データの中から、走査順に注目画素Ｘを設定し、注目画素Ｘの画素データを予測部５１０及び色情報分解部５３０に出力する。
予測部５１０（図２）は、注目画素Ｘの直前画素の画素データを予測データとして保持しており、この予測データと、注目画素Ｘの画素データとを比較し、比較結果をラン計数部５２０に出力する。
【００２７】
ステップ１１０（Ｓ１１０）において、符号化プログラム５は、注目画素Ｘの画素データが予測データと一致した場合（予測が的中した場合）に、Ｓ１１５の処理に移行し、注目画素Ｘの画素データが予測データと一致しない場合（予測が外れた場合）に、Ｓ１３５の処理に移行する。
【００２８】
ステップ１１５（Ｓ１１５）において、ラン計数部５２０は、画素データと予測データとが一致した旨を予測部５１０から入力されると、ランのカウントアップを開始する。
データ調整部５００は、画素データと予測データとが不一致となるまで、走査順に注目画素Ｘを設定し、予測部５１０は、順に設定される画素データとその直前の画素データ（すなわち、予測データ）とを比較して、一致した旨をラン計数部５２０に出力する。
ラン計数部５２０は、画素データと予測データとが不一致となるまで、ランをカウントし、カウント値をラン長として共通情報符号器５４０に出力する。
また、ラン計数部５２０は、ランがカウントされている旨を色情報分解部５３０に通知する。
【００２９】
ステップ１２０（Ｓ１２０）において、共通情報符号器５４０は、ラン計数部５２０から入力されたラン長（共通の中間コード）をエントロピー符号化し、ラン長の符号を共通符号として外部に出力する。
【００３０】
ステップ１２５（Ｓ１２５）において、色情報分解部５３０は、ランがカウントされている旨をラン計数部５２０から通知されると、データ調整部５００から入力される画素データの１つを、各色成分値に分解し、分解されたＲ値、Ｇ値及びＢ値をそれぞれＲ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６に出力する。
【００３１】
ステップ１３０（Ｓ１３０）において、Ｒ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６は、色情報分解部５３０から入力されるＲ値、Ｇ値及びＢ値をそれぞれエントロピー符号化し、Ｒ値、Ｇ値及びＢ値の符号を各色の固有符号として外部に出力する。
【００３２】
ステップ１３５（Ｓ１３５）において、ラン計数部５２０は、画素データと予測データとが一致しなかった旨を予測部５１０から入力されると、リテラル数のカウントアップを開始する。
データ調整部５００は、画素データと予測データとが一致するまで、走査順に注目画素Ｘを設定し、予測部５１０は、順に設定される画素データとその直前の画素データ（すなわち、予測データ）とを比較して、一致しなかった旨をラン計数部５２０に出力する。
ラン計数部５２０は、画素データと予測データとが一致するまで、リテラル数をカウントし、リテラル及びリテラル数を共通情報符号器５４０に出力する。
また、ラン計数部５２０は、リテラル数がカウントされている旨を色情報分解部５３０に通知する。
【００３３】
ステップ１４０（Ｓ１４０）において、共通情報符号器５４０は、ラン計数部５２０から入力されたリテラル（画素データと予測データとが一致しない旨を示す識別子）及びリテラル数をエントロピー符号化し、リテラル及びリテラル数の符号を共通符号として外部に出力する。
【００３４】
ステップ１４５（Ｓ１４５）において、色情報分解部５３０は、リテラル数がカウントされている旨をラン計数部５２０から通知されると、データ調整部５００から入力される画素データそれぞれを、各色成分値に分解し、分解されたＲ値、Ｇ値及びＢ値をそれぞれＲ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６に出力する。
【００３５】
ステップ１５０（Ｓ１５０）において、Ｒ色情報符号器５５２、Ｇ色情報符号器５５４及びＢ色情報符号器５５６は、色情報分解部５３０から入力されるＲ値、Ｇ値及びＢ値をそれぞれエントロピー符号化し、Ｒ値、Ｇ値及びＢ値の符号を各色の固有符号として外部に出力する。
【００３６】
ステップ１５５（Ｓ１５５）において、符号化プログラム５は、入力された画像データの全画素について処理を行ったか否かを判断し、未処理の画素が存在する場合には、Ｓ１０５の処理に戻り、全ての画素が処理された場合には、符号化処理（Ｓ１０）を終了する。
【００３７】
このように、画素データと予測データとが一致する場合には、共通符号９０２（図４（Ｂ））としてラン長が符号化され、固有符号（図４（Ｃ）では、Ｒ色のみを例示）として、画素値が符号化される。また、画素データと予測データとが一致しない場合には、共通符号９０２（図４（Ｂ））として、リテラル及びリテラル数（画素数）が符号化され、固有符号（図４（Ｃ）のＲ固有符号９０４を参照）として、複数の画素値が符号化される。  
【００３８】
図５（Ａ）は、符号化処理（Ｓ１０）により生成される符号データ９００を説明する図であり、図５（Ｂ）は、各色成分を単純に連長符号化方式で符号化した符号データを説明する図である。
図５（Ａ）に例示するように、本実施形態における符号化処理（Ｓ１０）で生成される符号データ９００は、複数の色成分に共通して必要となる共通符号９０２と、各色成分（本例では、Ｒ成分、Ｇ成分及びＢ成分）に固有の固有符号（本例では、Ｒ固有符号９０４、Ｇ固有符号９０６及びＢ固有符号９０８）とを含む。
本例の共通符号９０２には、画素データと予測データとが連続して一致した数を示すラン長と、画素データと予測データとが不一致であったことを示すリテラルと、画素データと予測データとが連続して不一致となる数を示すリテラル数とが含まれる。
また、本例のＲ固有符号９０４には、Ｒ成分に固有の情報として、画素データと予測データとが一致している場合のＲ成分値（ラン中のＲ画素値）と、画素データと予測データとが不一致となる場合のＲ成分値（予測外れのＲ画素値）とが含まれる。同様に、Ｇ固有符号９０６には、ラン中のＧ画素値、及び、予測外れのＧ画素値が含まれ、Ｂ固有符号９０８には、ラン中のＢ画素値、及び、予測外れのＢ画素値が含まれる。
【００３９】
一方、カラー画像（ＲＧＢ）をＲ画像、Ｇ画像及びＢ画像に分版し、分版された画像それぞれを連長符号化方式で符号化すると、図５（Ｂ）に例示する面順符号データが生成される。
図５（Ａ）に例示する符号データ９００と、図５（Ｂ）に例示する面順符号データとを比較してわかるように、単に面順に符号化した面順符号データでは、ラン長、リテラル及び画素数（リテラル数）が冗長である。
なお、画素データ単位で予測処理を行うか、各色成分値単位で予測処理を行うかの違いがあるため、符号データ９００に含まれるラン長及び画素数（リテラル数）と、面順符号データに含まれるラン長（Ｒラン長、Ｇラン長及びＢラン長）及びリテラル数（Ｒ画素数、Ｇ画素数及びＢ画素数）とが完全に一致するわけではないが、大部分において一致するものと考えられる。
【００４０】
［復号化プログラム］
次に、復号化処理を説明する。
図６は、制御装置２１（図１）により実行され、本発明にかかる復号化方法を実現する第１の復号化プログラム６の機能構成を例示する図である。
図６に例示するように、第１の復号化プログラム６は、複数の復号ユニット６０を有する。本例では、Ｒ成分の復号処理を行うＲ色復号ユニット６０Ｒ、Ｇ成分の復号処理を行うＧ色復号ユニット６０Ｇ、及び、Ｂ成分の復号処理を行うＢ色復号ユニット６０Ｂが設けられており、複数の色成分が並行して復号化される。これらの復号ユニット６０は、処理対象となる色が異なるだけで、実質的に同一の機能を有する。そこで、以下、Ｒ色復号ユニット６０Ｒを説明する。
Ｒ色復号ユニット６０Ｒは、符号入力部６００Ｒ、共通情報復号器６１０Ｒ、Ｒ色情報復号器６２０Ｒ、ラン制御部６３０Ｒ、及び、色データ生成部６４０Ｒを有する。
【００４１】
復号化プログラム６において、符号入力部６００Ｒは、入力された符号データのうち、共通符号９０２（図５）及びＲ固有符号９０４（図５）を選択し、選択された共通符号９０２を共通情報復号器６１０Ｒに出力し、選択されたＲ固有符号９０４をＲ色情報復号器６２０Ｒに出力する。
【００４２】
共通情報復号器６１０Ｒは、符号入力部６００Ｒから入力された共通符号９０２をエントロピー復号化し、復号化されたラン長、又は、リテラル及びリテラル数をラン制御部６３０Ｒに出力する。
【００４３】
Ｒ色情報復号器６２０Ｒは、符号入力部６００Ｒから入力されたＲ固有符号９０４をエントロピー復号化し、復号化されたラン中の画素値、又は、予測外れの画素値を色データ生成部６４０Ｒに出力する。
【００４４】
ラン制御部６３０Ｒは、共通情報復号器６１０Ｒからラン長が入力された場合には、入力されたラン長に対応する回数だけ、同一の画素値を複製するよう色データ生成部６４０Ｒに指示する。
また、ラン制御部６３０Ｒは、共通情報復号器６１０Ｒからリテラル及びリテラル数が入力された場合には、入力されたリテラル数に対応する数の画素値を切り出すよう色データ生成部６４０に指示する。
【００４５】
色データ生成部６４０Ｒは、ラン制御部６３０Ｒからの指示に応じて、Ｒ色情報復号器６２０Ｒから入力された画素値を配列して、Ｒ成分の画像データを生成し、生成されたＲ成分の画像データを外部に出力する。
具体的には、色データ生成部６４０Ｒは、ラン制御部６３０Ｒからラン長に対応する回数だけ同一の画素値を複製するよう指示されると、Ｒ色情報復号器６２０Ｒから入力された画素値を、指示された回数だけ複製することにより、同一の画素値からなるランを再現する。また、色データ生成部６４０Ｒは、ラン制御部６３０Ｒからリテラル数だけ画素値を切り出すよう指示されると、Ｒ色情報復号器６２０Ｒから入力されるデータ列（画素値群）から、指定された個数の画素値を切り出すことにより、予測外れの画素群を再現する。
【００４６】
図７は、復号化プログラム６（図６）による復号化処理（Ｓ２０）のフローチャートである。なお、複数の色成分の復号化処理は、実質的に同一の動作により並行して行われる。以下の説明では、Ｒ成分に関する復号化処理のみを説明する。
図７に示すように、ステップ２００（Ｓ２００）において、符号入力部６００Ｒ（図６）は、入力された符号データのうち、共通符号９０２（図５）及びＲ固有符号９０４（図５）を選択し、選択された共通符号９０２を共通情報復号器６１０Ｒに出力し、選択されたＲ固有符号９０４をＲ色情報復号器６２０Ｒに出力する。
共通情報復号器６１０Ｒは、符号入力部６００Ｒから入力された共通符号９０２の１つを注目符号としてエントロピー復号化し、復号化されたラン長、又は、リテラル及びリテラル数をラン制御部６３０Ｒに出力する。
Ｒ色情報復号器６２０Ｒは、共通情報復号器６１０Ｒとは独立して、符号入力部６００Ｒから入力されたＲ固有符号９０４をエントロピー復号化し、復号化された画素値（ラン中の画素値又は予測外れの画素値）を色データ生成部６４０Ｒに出力する。なお、本例では、Ｒ色情報復号器６２０Ｒが、エントロピー復号化された画素値を保持するバッファ残量に応じてＲ固有符号を復号化していく形態を具体例として説明するが、Ｒ色情報復号器６２０Ｒは、共通情報復号器６１０Ｒにより復号化されるラン長及びリテラル数に応じて、Ｒ固有符号を復号化してもよい。
【００４７】
ステップ２０５（Ｓ２０５）において、ラン制御部６３０Ｒは、共通情報復号器６１０Ｒからリテラルが入力されるか否かに基づいて、復号化された情報がラン長であるかリテラル数であるかを判断する。
復号化プログラム６は、復号化された注目符号がラン長である場合には、Ｓ２１０の処理に移行し、復号化された注目符号がリテラル数を含む場合には、Ｓ２２０の処理に移行する。
【００４８】
ステップ２１０（Ｓ２１０）において、ラン制御部６３０Ｒは、共通情報復号器６１０Ｒからラン長が入力されると、入力されたラン長に対応する回数だけ、同一の画素値を複製するよう色データ生成部６４０Ｒに指示する。
【００４９】
ステップ２１５（Ｓ２１５）において、色データ生成部６４０Ｒは、ラン制御部６３０Ｒからの指示に応じて、色情報復号器６２０Ｒから入力された画素値（本例では、最初の３ビット）を、指示された回数だけ複製して、同一の画素値からなるランを再現し、再現されたラン（ランの画素群）を外部に出力する。
【００５０】
ステップ２２０（Ｓ２２０）において、ラン制御部６３０Ｒは、共通情報復号器６１０Ｒからリテラル及びリテラル数が入力されると、入力されたリテラル数に対応する数の画素値を切り出すよう色データ生成部６４０に指示する。
【００５１】
ステップ２２５（Ｓ２２５）において、色データ生成部６４０Ｒは、ラン制御部６３０Ｒからの指示に応じて、Ｒ色情報復号器６２０Ｒから入力されるデータ列（画素値群）から、指定された個数の画素値（本例では、それぞれの画素値が３ビット）を切り出して、予測外れの画素群を再現し、再現された画素群を外部に出力する。
【００５２】
ステップ２３０（Ｓ２３０）において、復号化プログラム６は、入力された全ての共通符号９０２を処理したか否かを判断し、未処理の共通符号９０２が存在する場合には、Ｓ２００に戻って、次の共通符号９０２を注目符号としてＳ２００〜Ｓ２２５までの処理を行い、全ての共通符号９０２が処理された場合には、復号化処理（Ｓ２０）を終了する。
【００５３】
このように、本実施形態における復号化プログラム６は、各色成分の符号データをそれぞれ独立して復号化することができる。すなわち、面順での復号化処理が可能になるため、プリンタ装置などのように各色成分で独立して処理を行うデバイスでは、本符号化処理が好適である。
【００５４】
［第２実施形態］
次に、第２の実施形態を説明する。
上記実施形態では、本発明を連長符号化方式に適用する形態を説明したが、他の符号化方式に適用できる。
そこで、第２の実施形態では、複数の予測器が設けられた予測符号化方式に本発明を適用する形態を説明する。
【００５５】
図８は、第２の実施形態で用いられる予測符号化方式を説明する図であり、図８（Ａ）は、複数の予測器それぞれにより参照される画素の位置を例示し、図８（Ｂ）は、それぞれの予測器（すなわち、参照画素）に対応付けられた符号を例示し、図８（Ｃ）は、本予測符号化方式で生成される符号データを例示する。
図８（Ａ）に例示するように、複数の予測器は、注目画素Ｘに対して既定の相対位置にある複数の参照画素Ａ〜Ｄ（参照画素とは、参照される画素を意味する）を参照して、参照画素Ａ〜Ｄの画素値それぞれを、注目画素Ｘに対する予測値として読み出す。具体的には、参照画素Ａは、注目画素Ｘの主走査方向上流に設定され、参照画素Ｂ〜Ｄは、注目画素Ｘの上方（副走査方向上流）の主走査ライン上に設定されている。
また、予測誤差算出部は、注目画素Ｘの画素値と、参照画素Ａ（注目画素の直前の画素）の画素値との差分を予測誤差値として算出する。
【００５６】
また、図８（Ｂ）に例示するように、それぞれの予測器Ａ〜Ｄ（すなわち、参照画素Ａ〜Ｄ）には、符号が対応付けられている。すなわち、本例では、各参照位置（参照画素Ａ〜Ｄ）が予測方法に対応しており、それぞれ符号が割り当てられている。
いずれかの予測値（すなわち、参照画素Ａ〜Ｄの画素値）が注目画素Ｘの画素値と一致する場合（すなわち、予測が的中した場合）には、予測が的中した参照位置に対応する予測器ＩＤの連続一致数をカウントして、その予測器ＩＤ及び連続一致数を符号化し、いずれの予測値も注目画素Ｘの画素値と一致しなかった場合（すなわち、予測が外れた場合）には、予測誤差値が符号化される。
生成される符号データは、図８（Ｃ）に例示するように、予測器ＩＤを示す符号（符号Ａ、符号Ｂなど）と、その予測器で予測が連続して的中した連続一致数（ラン数）の符号と、予測誤差値の符号とを含む。
【００５７】
図９は、図８で説明した予測符号化方式で生成される符号データを説明する図であり、図９（Ａ）は、本実施形態で生成される符号データ９２２を例示し、図９（Ｂ）は、本予測符号化方式で単純に各色成分を符号化した場合の面順符号データを例示し、図９（Ｃ）は、本予測符号化方式で画素毎に符号化した場合の点順符号データを例示する。
本実施形態では、画素単位（すなわち、画素データの単位）で予測処理を行う。本例の画素データは、複数の色成分の画素値、及び、それぞれの画素に付加される付加情報（タグ情報）を含むため、図９（Ａ）に例示するように、予測器ＩＤ、そのラン長（連続一致数）、予測外れであることを示すリテラル、及び、画素に対する付加情報（本例では、タグ誤差）が、複数の色成分で共通する共通符号９２２として符号化され、各色成分に固有の固有符号（Ｃ固有符号９２４、Ｍ固有符号９２６、Ｙ固有符号９２８及びＫ固有符号９３０）として、各色成分の予測画素値（Ｃ誤差、Ｍ誤差、Ｙ誤差及びＫ誤差）が符号化される。
【００５８】
一方、単純に面順符号化すると、図９（Ｂ）に例示する面順符号データが生成される。この面順符号データでは、予測器ＩＤ、ラン長、リテラル及びタグ誤差が、複数の色成分の間で重複し冗長である。
また、単純に点順符号化すると、図９（Ｃ）に例示する点順符号データが生成される。この点順符号データでは、画素データの単位で算出された画素データが含まれているため、画素データ全体を復号化した後でないと、各色成分の画素値を算出できない。すなわち、単純に点順符号化すると、面順で復号化することができない。
【００５９】
［符号化プログラム］
図１０は、制御装置２１（図１）により実行され、本発明にかかる符号化方法を実現する第２の符号化プログラム７の機能構成を例示する図である。
図１０に例示するように、第２の符号化プログラム７は、データ調整部７００、複数の予測器７１０、複数のラン計数部７２０、色情報分解部７３０、予測誤差算出部７４０、選択部７５０、共通情報符号器７６０、及び、固有情報符号器を有し、固有情報符号器は、Ｃ色情報符号器７７２、Ｍ色情報符号器７７４、Ｙ色情報符号器７７６及びＫ色情報符号器７７８を含む。なお、複数の予測器７１０、複数のラン計数部７２０、色情報分解部７３０、予測誤差算出部７４０、及び選択部７５０は、ソースコーダに相当し、共通情報符号器７６０及び固有情報符号器は、エントロピーコーダに相当する。
【００６０】
符号化プログラム７において、データ調整部７００は、入力された画像データを、予測器７１０における処理単位の画素データに変換する。
本例では、ＣＭＹＫのカラー画像が入力される場合を具体例として説明するため、本例のデータ調整部７００は、入力されたＣＭＹＫ画像のＣ値、Ｍ値、Ｙ値及びＫ値、並びに、画素に対する制御方法を指定するタグ情報を並べて、画素データを生成し、生成された画素データを予測器７１０及び色情報分解部７３０に出力する。
【００６１】
複数の予測器７１０それぞれは、既定の予測方法で、入力された画素データについて予測データを生成し、生成された予測データと、処理対象である画素データとを比較して、比較結果を、対応するラン計数部７２０に出力する。比較結果とは、画素データと予測データとの差分が既定の範囲（以下、許容範囲という）内であるか否かを示す情報であり、例えば、画素データと予測データとが一致しているか否かを示す情報である。この許容範囲は、非可逆性を許容する範囲であり、画像データと予測データとが差分が許容範囲内であれば、一致していたものとみなして符号化する。
本例のＡ予測器７１０Ａは、図８（Ａ）に例示する参照画素Ａの画素データを予測データとして読み出して、予測データと注目画素Ｘの画素データとを比較し、その比較結果をＡラン計数部７２０Ａに出力する。同様に、Ｂ予測器７１０Ｂは、図８（Ａ）に例示する参照画素Ｂの画素データを予測データとして読み出し、比較結果をＢラン計数部７２０Ｂに出力し、Ｃ予測器７１０Ｃは、図８（Ａ）に例示する参照画素Ｃの画素データを予測データとして読み出し、比較結果をＣラン計数部７２０Ｃに出力し、Ｄ予測器７１０Ｄは、図８（Ａ）に例示する参照画素Ｄの画素データを予測データとして読み出し、比較結果をＤラン計数部７２０Ｄに出力する。
【００６２】
各ラン計数部７２０は、各予測器７１０から入力される比較結果に基づいて、同一の参照位置で予測が連続して的中する連続一致数（ラン長）を計数する。また、各ラン計数部７２０は、各予測器７１０から入力される比較結果を選択部７５０に通知する。
本例のＡラン計数部７２０Ａは、Ａ予測器７１０から入力される比較結果に基づいて、参照位置Ａのラン長を計数し、参照位置Ａの予測器ＩＤ及びそのラン長を選択部７５０に出力する。同様に、他のラン計数部７２０は、対応する予測器７１０から入力される比較結果に基づいて、各参照位置のラン長を計数し、各参照位置の予測器ＩＤ及びそのラン長を選択部７５０に出力する。
【００６３】
色情報分解部７３０は、データ調整部７００から入力される画素データを複数の色成分値及びタグ情報に分解し、分解された各色成分値及びタグ情報を予測誤差算出部７４０に出力する。
【００６４】
予測誤差算出部７４０は、色情報分解部７３０から入力された複数の色成分値及びタグ情報に基づいて、各色成分値及びタグ情報の予測誤差値を算出し、算出された各色成分の予測誤差値（Ｃ誤差、Ｍ誤差、Ｙ誤差及びＫ誤差）及び各色成分のタグ誤差値を選択部７５０に出力する。
【００６５】
選択部７５０は、ラン計数部７２０のいずれかから予測が的中した旨が入力されている間は、各ラン計数部７２０から入力される予測器ＩＤ及びそのラン長を保持し、いずれのラン計数部７２０からも予測が外れた旨が入力されると、保持されている予測器ＩＤ及びラン長に基づいて、最長のランとなる予測部ＩＤ及びラン長の組合せを決定し、決定された予測部ＩＤ及びラン長を共通情報符号器７６０に出力する。
次に、選択部７５０は、予測誤差算出部７４０から入力された各色成分の予測誤差値（Ｃ誤差、Ｍ誤差、Ｙ誤差及びＫ誤差）をそれぞれＣ色情報符号器７７２、Ｍ色情報符号器７７４、Ｙ色情報符号器７７６及びＫ色情報符号器７７８に出力し、予測誤差算出部７４０から入力されたタグ情報の予測誤差（タグ誤差）を共通情報符号器７６０に出力する。
【００６６】
共通情報符号器７６０は、選択部７５０から入力される共通の中間コード（予測器ＩＤ、ラン長、リテラル、及び、タグ誤差）をエントロピー符号化する。
【００６７】
固有情報符号器（Ｃ色情報符号器７７２、Ｍ色情報符号器７７４、Ｙ色情報符号器７７６及びＫ色情報符号器７７８）は、選択部７５０から入力される固有の中間コード（Ｃ誤差、Ｍ誤差、Ｙ誤差、及びＫ誤差）をエントロピー符号化する。
【００６８】
図１１は、符号化プログラム７（図１０）による符号化処理（Ｓ３０）のフローチャートである。
図１１に示すように、ステップ３００（Ｓ３００）において、データ調整部７００（図１０）は、入力された画像データ（ＣＭＹＫ、タグ）を配列して画素データを生成する。
【００６９】
ステップ３０５（Ｓ３０５）において、データ調整部７００は、生成された画素データの中から、走査順に注目画素Ｘを設定し、注目画素Ｘの画素データを複数の予測器７１０及び色情報分解部７３０に出力する。
複数の予測器７１０（図１０）それぞれは、注目画素Ｘに対応する参照画素の画素データを予測データとして保持しており、この予測データと、注目画素Ｘの画素データとを比較し、比較結果を、対応するラン計数部７２０に出力する。
【００７０】
ステップ３１０（Ｓ３１０）において、符号化プログラム７は、注目画素Ｘの画素データがいずれかの予測データと一致した場合（予測が的中した場合）に、Ｓ３１５の処理に移行し、注目画素Ｘの画素データがいずれの予測データとも一致しない場合（予測が外れた場合）に、Ｓ３３０の処理に移行する。
【００７１】
ステップ３１５（Ｓ３１５）において、複数のラン計数部７２０それぞれは、画素データと予測データとが一致した旨を、対応する予測器７１０から入力されると、ランのカウントアップを開始する。
データ調整部７００は、画素データと予測データとがいずれも不一致となるまで、走査順に注目画素Ｘを設定し、複数の予測部７１０は、順に設定される画素データと予測データとを比較して、一致した旨をラン計数部７２０に出力する。
ラン計数部７２０は、画素データと予測データとが不一致となるまで、ランをカウントし、カウント値をラン長として選択部７５０に出力する。
また、複数のラン計数部７２０それぞれは、選択部７５０に比較結果（画素データと予測データとが一致しているか否か）を通知する。
【００７２】
ステップ３２０（Ｓ３２０）において、選択部７５０は、いずれのラン計数部７２０からも予測が外れた旨（画素データと予測データとが一致しなかった旨）が入力されると、複数のラン計数部７２０から入力された予測器ＩＤ及びラン長に基づいて、最適な予測器ＩＤ及びラン長の組合せを決定し、決定された予測部ＩＤ及びラン長を共通情報符号器７６０に出力する。
【００７３】
ステップ３２５（Ｓ３２５）において、共通情報符号器７６０は、選択部７５０から入力された予測器ＩＤ及びラン長をエントロピー符号化し、予測器ＩＤ及びラン長の符号を共通符号９２２（図９（Ａ））として外部に出力する。
【００７４】
ステップ３３０（Ｓ３３０）において、色情報分解部７３０は、データ調整部７００から入力される画素データそれぞれを色成分値（Ｃ値、Ｍ値、Ｙ値及びＫ値）及びタグ情報に分解し、分解された各色成分値及びタグ情報を予測誤差算出部７４０に出力する。
【００７５】
ステップ３３５（Ｓ３３５）において、予測誤差算出部７４０は、色情報分解部７３０から入力された注目画素Ｘの各色成分値及びタグ情報それぞれについて、予測誤差を算出し、各色成分の予測誤差値（Ｃ誤差、Ｍ誤差、Ｙ誤差及びＫ誤差）及びタグ情報の誤差（タグ誤差）を選択部７５０に出力する。
なお、本フローチャートでは、便宜上、色情報分解部７３０による画素データの分解処理、及び、予測誤差算出部７４０による予測誤差の算出処理は、予測部７１０による予測処理などの後の処理として記載しているが、実際には予測器７１０などの動作とは独立して、全ての注目画素Ｘについて画素データの分解処理及び予測誤差算出処理が行われる。  
【００７６】
選択部７５０は、いずれの予測器７１０も予測が外れた場合（すなわち、ランが途切れた場合（Ｓ３１５からＳ３２５を経由）、又は、予測外れが連続する場合（Ｓ３１０：Ｎｏ））に、予測誤差算出部７４０から入力される予測誤差（各色成分の予測誤差値、及び、タグ誤差）のうち、そのときの注目画素Ｘのタグ誤差とリテラルを共通情報符号器７６０に出力し、そのときの注目画素ＸのＣ誤差、Ｍ誤差、Ｙ誤差及びＫ誤差をそれぞれＣ色情報符号器７７２、Ｍ色情報符号器７７４、Ｙ色情報符号器７７６及びＫ色情報符号器７７８に出力する。
【００７７】
ステップ３４０（Ｓ３４０）において、共通情報符号器７６０は、選択部７５０から入力されたリテラル及びタグ誤差をエントロピー符号化し、符号かされたリテラル及びタグ誤差を共通符号９２２として外部に出力する。
【００７８】
ステップ３４５（Ｓ３４５）において、Ｃ色情報符号器７７２、Ｍ色情報符号器７７４、Ｙ色情報符号器７７６及びＫ色情報符号器７７８は、選択部７５０から入力されるＣ誤差、Ｍ誤差、Ｙ誤差及びＫ誤差をそれぞれエントロピー符号化し、符号化されたＣ誤差、Ｍ誤差、Ｙ誤差及びＫ誤差を、それぞれＣ固有符号９２４、Ｍ固有符号９２６、Ｙ固有符号９２８及びＫ固有符号９３０として外部に出力する。
【００７９】
ステップ３５０（Ｓ３５０）において、符号化プログラム７は、入力された画像データの全画素について処理を行ったか否かを判断し、未処理の画素が存在する場合には、Ｓ３０５の処理に戻り、全ての画素が処理された場合には、符号化処理（Ｓ３０）を終了する。
【００８０】
［復号化プログラム］
次に、第２の実施形態における復号化処理を説明する。
図１２は、制御装置２１（図１）により実行され、本発明にかかる復号化方法を実現する第２の復号化プログラム８の機能構成を例示する図である。
図１２に例示するように、第２の復号化プログラム８は、４つの復号ユニット８０を有する。これらの復号ユニット８０は、処理対象となる色が異なるだけで、実質的に同一の機能を有する。そこで、以下、Ｃ成分の復号処理を行うＣ色復号ユニット８０Ｃを説明する。
Ｃ色復号ユニット８０Ｃは、符号入力部８００Ｃ、共通情報復号器８１０Ｃ、ラン制御部８２０Ｃ、逆予測部８３０Ｃ、Ｃ色情報復号器８４０Ｃ、及び、色データ生成部８５０Ｃを有する。
【００８１】
復号化プログラム８において、符号入力部８００Ｃは、入力された符号データのうち、共通符号９２２（図９）及びＣ固有符号９２４（図９）を選択し、選択された共通符号９２２を共通情報復号器８１０Ｃに出力し、選択されたＣ固有符号９２４をＣ色情報復号器８４０Ｃに出力する。
【００８２】
共通情報復号器８１０Ｃは、符号入力部８００Ｃから入力された共通符号９２２をエントロピー復号化し、復号化された予測器ＩＤ及びラン長、又は、リテラル及びタグ誤差をラン制御部８２０Ｃに出力する。
【００８３】
ラン制御部８２０Ｃは、共通情報復号器８１０Ｃから予測器ＩＤ及びラン長が入力された場合には、入力された予測器ＩＤ及びラン長に応じて予測データ（Ｃ値及びタグ情報）を生成するよう逆予測部８３０Ｃに指示する。
また、ラン制御部８２０Ｃは、共通情報復号器８１０Ｃからリテラル及びタグ誤差が入力された場合には、参照画素Ａの予測データ（Ｃ値及びタグ情報）を読み出すよう逆予測部８３０Ｃに指示する。なお、リテラル及びタグ誤差は、逆予測部８３０Ｃを介して、色データ生成部８５０Ｃに出力される。
【００８４】
逆予測部８３０Ｃは、ラン制御部８２０Ｃの指示に応じて、予測データを生成し、生成された予測データを色データ生成部８５０Ｃに出力する。
具体的には、逆予測部８３０Ｃは、ラン制御部８２０Ｃから予測器ＩＤ及びラン長が指定された場合に、ラン長に対応する回数だけ、予測器ＩＤに対応する参照画素（図８（Ａ））のＣ値及びタグ情報（復号済みのＣ値及びタグ情報）を読み出し色データ生成部８５０に復号画素値として出力する。また、逆予測部８３０は、ラン制御部８２０Ｃから参照画素Ａの画素データを読み出すように指示された場合に、これに応じて、参照画素ＡのＣ値及びタグ情報を読み出し、読み出されたＣ値及びタグ情報を色データ生成部８５０Ｃに出力する。
【００８５】
Ｃ色情報復号器８４０Ｃは、符号入力部８００Ｃから入力されたＣ固有符号９２４をエントロピー復号化し、復号化されたＣ誤差を色データ生成部８５０Ｃに出力する。
【００８６】
色データ生成部８５０Ｃは、逆予測部８３０Ｃから入力された予測データと、Ｃ色情報復号器８４０Ｃから入力された予測誤差（Ｃ誤差）とに基づいて、Ｃ色成分の画像データを生成し、生成されたＣ色成分の画像データを外部に出力する。
具体的には、色データ生成部８５０Ｃは、逆予測部８３０からリテラルが入力された場合（すなわち、予測外れに相当する画素を復号化する場合）、逆予測部８３０Ｃから入力される参照画素ＡのＣ値（予測データ）と、Ｃ色情報復号器８４０Ｃから入力されるＣ誤差とを合算して、注目画素ＸのＣ値を生成し、逆予測部８３０から入力される参照画素Ａのタグ情報（予測データ）とタグ誤差とを合算して、注目画素Ｘのタグ情報を生成する。
また、色データ生成部８５０Ｃは、逆予測部８３０からリテラルが入力されない場合（すなわち、予測的中の画素を復号化する場合）、逆予測部８３０Ｃから入力される予測データ（予測部ＩＤに対応する参照画素のＣ値及びタグ情報）をそのまま注目画素ＸのＣ値及びタグ情報とする。
【００８７】
図１３は、復号化プログラム８（図１２）による復号化処理（Ｓ４０）のフローチャートである。なお、複数の色成分の復号化処理は、実質的に同一の動作により並行して行われる。以下の説明では、Ｃ成分に関する復号化処理のみを説明する。
図１３に示すように、ステップ４００（Ｓ４００）において、符号入力部８００Ｃ（図１２）は、入力された符号データのうち、共通符号９２２（図９）及びＣ固有符号９２４（図９）を選択し、選択された共通符号９２２を共通情報復号器８１０Ｃに出力し、選択されたＣ固有符号９２４をＣ色情報復号器８４０Ｃに出力する。
共通情報復号器８１０Ｃは、符号入力部８００Ｃから入力された共通符号９２２の１つを注目符号としてエントロピー復号化し、復号化された予測器ＩＤ及びラン長、又は、リテラル及びタグ誤差をラン制御部８２０Ｃに出力する。
Ｃ色情報復号器８４０Ｃは、共通情報復号器８１０Ｃとは独立して、符号入力部８００Ｃから入力されたＣ固有符号９２４をエントロピー復号化し、復号化された予測誤差値（Ｃ誤差）を色データ生成部８５０Ｃに出力する。なお、本例では、Ｃ色情報復号器８４０Ｃが、エントロピー復号化された予測誤差値を保持するバッファ残量に応じて、Ｃ固有符号を復号化していく形態を具体例として説明するが、Ｃ色情報復号器８４０Ｃは、共通情報復号器８１０Ｃによりリテラルが復号化されるか否かに応じて、Ｃ固有符号を復号化してもよい。
【００８８】
ステップ４０５（Ｓ４０５）において、ラン制御部８２０Ｃは、共通情報復号器８１０Ｃからリテラルが入力されるか否かに基づいて、復号化された情報が予測器ＩＤ及びラン長であるかリテラル及びタグ誤差であるかを判断する。
復号化プログラム８は、復号化された注目符号が予測器ＩＤ及びラン長である場合には、Ｓ４１０の処理に移行し、復号化された注目符号がリテラル及びタグ誤差である場合には、Ｓ４２０の処理に移行する。
【００８９】
ステップ４１０（Ｓ４１０）において、ラン制御部８２０Ｃは、共通情報復号器８１０Ｃから予測器ＩＤ及びラン長が入力されると、入力された予測器ＩＤ及びラン長に対応する予測処理を行うよう逆予測部８３０Ｃに指示する。
【００９０】
ステップ４１５（Ｓ４１５）において、逆予測部８３０は、注目画素Ｘの位置を走査方向に更新しながら、ラン長に対応する回数だけ、予測器ＩＤに対応する予測処理を行う。この予測処理によって、予測器ＩＤに対応する参照画素のＣ値及びタグ情報が読み出されて、注目画素ＸのＣ値及びタグ情報として色データ生成部８５０Ｃに出力される。
色データ生成部８５０Ｃは、逆予測部８３０から入力されたＣ値及びタグ情報を各注目画素Ｘの値として外部に出力する。
【００９１】
ステップ４２０（Ｓ４２０）において、ラン制御部８２０Ｃは、共通情報復号器６１０Ｒからリテラル及びタグ情報が入力されると、参照画素ＡのＣ値及びタグ情報を読み出すよう逆予測部８３０に指示する。
逆予測部８３０Ｃは、ラン制御部８２０Ｃからの指示に応じて、参照画素ＡのＣ値及びタグ情報を予測データとして読み出し、読み出された予測データを色データ生成部８５０に出力する。
【００９２】
ステップ４２５（Ｓ４２５）において、色データ生成部８５０Ｃは、逆予測部８３０Ｃから入力される予測データ（参照画素ＡのＣ値及びタグ情報）と、共通情報復号器８１０Ｃにより復号化されたタグ誤差と、Ｃ色情報復号器８４０Ｃにより復号化された予測誤差（Ｃ誤差）とに基づいて、注目画素ＸのＣ値及びタグ情報を算出し、算出された注目画素ＸのＣ値及びタグ情報を外部に出力する。すなわち、参照画素ＡのＣ値と、Ｃ誤差との合算値が、注目画素ＸのＣ値となり、参照画素Ａのタグ情報と、タグ誤差との合算値が、注目画素Ｘのタグ情報となる。
【００９３】
ステップ４３０（Ｓ４３０）において、復号化プログラム８は、入力された全ての共通符号９２２を処理したか否かを判断し、未処理の共通符号９２２が存在する場合には、Ｓ４００に戻って、次の共通符号９２２を注目符号としてＳ４００〜Ｓ４２５までの処理を行い、全ての共通符号９２２が処理された場合には、復号化処理（Ｓ４０）を終了する。
【００９４】
このように、本発明は、複数の予測器７１０が設けられた予測符号化方式に対しても適用可能である。
【００９５】
［変形例］
次に、上記実施形態の変形例を説明する。
図１４は、第１の実施形態における符号化プログラムの変形例である。なお、本図に示された各構成のうち、図６に示された構成と実質的に同一のものには同一の符号が付されている。
図１４に例示するように、第３の復号化プログラム６２は、図６に示された符号化プログラム６の共通部分（符号入力部、共通情報復号器、及びラン制御部）を複数の色成分で共用するように構成したものである。
図６では、複数の色成分の復号化処理を非同期に実行させるため、各復号ユニットを完全に分離させたが、複数の色成分の復号化処理を同じタイミングで実行させてもかまわない場合には、図１４に例示するように、一部の構成を共用してもよい。
同様に、図１２に例示した復号化プログラム８でも、共通情報復号器及びラン制御部を共用させることができる。
【図面の簡単な説明】
【００９６】
【図１】本発明にかかる符号化方法及び復号化方法が適応される画像処理装置２のハードウェア構成を、制御装置２１を中心に例示する図である。
【図２】制御装置２１（図１）により実行され、本発明にかかる符号化方法を実現する第１の符号化プログラム５の機能構成を例示する図である。
【図３】符号化プログラム５（図２）による符号化処理（Ｓ１０）のフローチャートである。
【図４】符号化処理（Ｓ１０）において生成されるデータを例示する図である。
【図５】（Ａ）は、符号化処理（Ｓ１０）により生成される符号データ９００を説明する図であり、（Ｂ）は、各色成分を単純に連長符号化方式で符号化した符号データを説明する図である。
【図６】制御装置２１（図１）により実行され、本発明にかかる復号化方法を実現する第１の復号化プログラム６の機能構成を例示する図である。
【図７】復号化プログラム６（図６）による復号化処理（Ｓ２０）のフローチャートである。
【図８】第２の実施形態で用いられる予測符号化方式を説明する図である。
【図９】図８で説明した予測符号化方式で生成される符号データを説明する図である。
【図１０】制御装置２１（図１）により実行され、本発明にかかる符号化方法を実現する第２の符号化プログラム７の機能構成を例示する図である。
【図１１】符号化プログラム７（図１０）による符号化処理（Ｓ３０）のフローチャートである。
【図１２】制御装置２１（図１）により実行され、本発明にかかる復号化方法を実現する第２の復号化プログラム８の機能構成を例示する図である。
【図１３】復号化プログラム８（図１２）による復号化処理（Ｓ４０）のフローチャートである。
【図１４】第１の実施形態における符号化プログラムの変形例である。
【符号の説明】
【００９７】
２・・・画像処理装置
５，７・・・符号化プログラム
５００・・・データ調整部
５１０・・・予測部
５２０・・・ラン計数部
５３０・・・色情報分解部
５４０・・・共通情報符号器
５５２・・・Ｒ色情報符号器
５５４・・・Ｇ色情報符号器
５５６・・・Ｂ色情報符号器
６・・・復号化プログラム
６００・・・符号入力部
６１０・・・共通情報復号器
６２０・・・色情報復号器
６３０・・・ラン制御部
６４０・・・色データ生成部
９００・・・符号データ
９０２・・・共通符号
９０４・・・Ｒ固有符号
９０６・・・Ｇ固有符号
９０８・・・Ｂ固有符号
【図１】
0004618436.tif 000002
【図２】
0004618436.tif 000003
【図３】
0004618436.tif 000004
【図４】
0004618436.tif 000005
【図５】
0004618436.tif 000006
【図６】
0004618436.tif 000007
【図７】
0004618436.tif 000008
【図８】
0004618436.tif 000009
【図９】
0004618436.tif 000010
【図１０】
0004618436.tif 000011
【図１１】
0004618436.tif 000012
【図１２】
0004618436.tif 000013
【図１３】
0004618436.tif 000014
【図１４】
0004618436.tif 000015