(57)【要約】  【課題】  より高い圧縮率でデータを符号化する符号化装置を提供する。  【解決手段】  画像処理装置２は、注目画素Ｘの位置に対応する参照位置Ａ〜Ｄを参照して注目画素Ｘの画素値を予測する位置依存予測部５００と、注目画素Ｘの位置に依存せずに、注目画素Ｘの画素値を予測する非依存予測部５１０とを有する。この非依存予測部５１０は、位置依存予測部５００による予測が外れた注目画素Ｘの画素値を、予測データの候補として記憶し、記憶されている画素値を用いて注目画素Ｘの画素値を予測する。これにより、位置依存予測部５００では予測が困難な孤立点などを予測し効率的に符号化することができる。【選択図】図４
2006270324.tif 000002
【特許請求の範囲】
【請求項１】
既定の予測方法を用いて、符号化対象となる注目部分データを予測する第１の予測手段と、
前記第１の予測手段により予測された予測データと、前記注目部分データとが一致するか否かに応じて、該予測データを記憶すべきか否かを判定する登録制御手段と、
前記登録制御手段により前記予測データを記憶すべきと判定された場合に、該部分データを記憶するデータ記憶手段と、
前記データ記憶手段に記憶されているいずれかの部分データを用いて、前記対象部分データを予測する第２の予測手段と、
前記第１の予測手段による予測結果、又は、前記第２の予測手段による予測結果に基づいて、前記注目部分データの符号データを生成する符号生成手段と
を有する符号化装置。
【請求項２】
前記登録制御手段は、前記第１の予測手段により予測された予測データと、前記注目部分データとが一致しなかったことを条件として、この部分データを記憶すべきと判定する
請求項１に記載の符号化装置。
【請求項３】
前記登録制御手段は、前記第１の予測手段により予測された予測データと、前記注目部分データとが一致しなかったことをさらなる条件として、この部分データを記憶すべきと判定する
請求項２に記載の符号化装置。
【請求項４】
前記注目部分データと、既定の予測方法により予測された予測データとの差分を予測誤差として生成する予測誤差生成手段
をさらに有し、
前記符号生成手段は、前記第１の予測手段により予測された予測データ、及び、前記第２の予測手段により予測された予測データが、いずれも注目部分データと一致しない場合に、前記予測誤差生成手段により生成された予測誤差に基づいて、この注目部分データの符号データを生成し、
前記登録制御手段は、前記予測誤差に基づいて符号データが生成されたことを条件として、前記注目部分データを記憶すべきと判定する
請求項１に記載の符号化装置。
【請求項５】
前記第２の予測手段は、少なくとも前記第１の予測手段により予測された予測データと一致しない部分データを、前記データ記憶手段により記憶されている部分データの中から選択して、前記対象部分データの予測に用いる
請求項１〜４のいずれかに記載の符号化装置。
【請求項６】
前記登録制御手段は、予め定められたデータ値を有する部分データを、記憶すべきでない部分データであると判定する
請求項１〜５のいずれかに記載の符号化装置。
【請求項７】
既定の予測方法を用いて、符号化対象となる注目部分データを予測する第１の予備予測手段と、
前記第１の予備予測手段により予測された予測データと、前記注目部分データとが一致するか否かに応じて、この注目部分データを記憶する予備データ記憶手段と、
前記予備データ記憶手段に記憶されているいずれかの部分データを用いて、前記注目部分データを予測する第２の予備予測手段と、
前記第１の予備予測手段により予測された予測データ、又は、前記第２の予備予測手段により予測された予測データについて、前記注目部分データとの差分を評価する誤差評価手段と、
前記誤差評価手段による評価結果に応じて、前記注目部分データを、前記第１の予備予測手段により予測された予測データ、又は、前記第２の予備予測手段により予測された予測データで置換するデータ置換手段と、
少なくとも前記第１の予備予測手段により適用される予測方法、及び、前記第２の予備予測手段により適用される予測方法を用いて、前記データ置換手段により少なくとも一部の部分データがいずれかの予測データで置換されたデータを予測符号化する予測符号化手段と
を有する符号化装置。
【請求項８】
前記部分データは、画像の一部に相当する画像データである
請求項１〜７のいずれかに記載の符号化装置。
【請求項９】
符号化対象となる注目領域の画像データに対して既定の相対位置にある参照領域の画像データを用いて、この注目領域に関する予測データを生成する第１の予測手段と、
前記注目領域との相対位置に依存せずに、前記注目領域に関する予測データを生成する第２の予測手段と、
前記注目領域の画像データと、前記第１の予測手段により生成された予測データ、又は、前記第２の予測手段により生成された予測データとを比較して、この注目領域の符号データを生成する符号生成手段と
を有する符号化装置。
【請求項１０】
既定の予測方法を用いて、符号化対象となる注目部分データを予測する第１の予測手段と、
前記第１の予測手段により予測された予測データと、前記注目部分データとが一致するか否かに応じて、この部分データを記憶するデータ記憶手段と、
前記データ記憶手段に記憶されているいずれかの部分データを用いて、前記注目部分データを予測する第２の予測手段と、
前記第１の予測手段により予測された予測データ、又は、前記第２の予測手段により予測された予測データについて、前記注目部分データとの差分を評価する誤差評価手段と、
前記誤差評価手段による評価結果に応じて、前記注目部分データを、前記第１の予測手段により予測された予測データ、又は、前記第２の予測手段により予測された予測データで置換するデータ置換手段と
を有するデータ処理装置。
【請求項１１】
符号データに対応する参照領域から参照データを読み出し、読み出された参照データに基づいて、部分データを生成するデータ参照手段と、
符号データに対応する差分データに基づいて、部分データを生成する差分処理手段と、
前記差分処理手段により生成された部分データを記憶する記憶手段と、
前記記憶手段により記憶されている部分データの中から、符号データに応じて、いずれかの部分データを選択するデータ選択手段と
を有する復号化装置。
【請求項１２】
既定の予測方法を用いて、符号化対象となる注目部分データを予測し、
予測された予測データと、前記注目部分データとが一致するか否かに応じて、この部分データを予測候補として登録し、
前記予測候補として登録されている部分データのいずれかを用いて、前記対象部分データを予測し、
前記既定の予測方法を用いて予測された予測結果、又は、前記予測候補の部分データを用いて予測された予測結果に基づいて、前記注目部分データの符号データを生成する
符号化方法。
【請求項１３】
符号データが参照位置を示す場合に、この参照位置から参照データを読み出し、読み出された参照データに基づいて、部分データを生成し、
符号データが差分データを示す場合に、この差分データに基づいて、部分データを生成し、
前記差分データに基づいて生成された部分データを予測候補として登録し、
符号データが、前記予測候補のいずれかを示す場合に、前記予測候補として登録されている部分データの中から、いずれかの画像データを選択する
復号化方法。
【請求項１４】
既定の予測方法を用いて、符号化対象となる注目部分データを予測するステップと、
予測された予測データと、前記注目部分データとが一致するか否かに応じて、この部分データを予測候補として登録するステップと、
前記予測候補として登録されている部分データのいずれかを用いて、前記対象部分データを予測するステップと、
前記既定の予測方法を用いて予測された予測結果、又は、前記予測候補の部分データを用いて予測された予測結果に基づいて、前記注目部分データの符号データを生成するステップと
をコンピュータに実行させるプログラム。
【請求項１５】
符号データが参照位置を示す場合に、この参照位置から参照データを読み出し、読み出された参照データに基づいて、部分データを生成するステップと、
符号データが差分データを示す場合に、この差分データに基づいて、部分データを生成するステップと、
前記差分データに基づいて生成された部分データを予測候補として登録するステップと、
符号データが前記予測候補のいずれかを示す場合に、前記予測候補として登録されている部分データの中から、いずれかの画像データを選択するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを符号化又は復号化する画像処理方法に関する。
【背景技術】
【０００２】
データの自己相関関係に着目して符号化する方法としては、例えば、ランレングス符号化、ＪＰＥＧ−ＬＳ及びＬＺ符号化（Ziv-Lempel符号化）などがある。特に、画像データの場合には、近傍の画素同士が高い相関関係を有するので、この点に着目して画像データを高い圧縮率で符号化することができる。
また、特許文献１は、複数の予測部を用いる予測符号化方式を開示する。
【特許文献１】特開２０００−３５０２１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであり、より高い圧縮率でデータを符号化する符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
［符号化装置］
上記目的を達成するために、本発明にかかる符号化装置は、既定の予測方法を用いて、符号化対象となる注目部分データを予測する第１の予測手段と、前記第１の予測手段により予測された予測データと、前記注目部分データとが一致するか否かに応じて、該予測データを記憶すべきか否かを判定する登録制御手段と、前記登録制御手段により前記予測データを記憶すべきと判定された場合に、該部分データを記憶するデータ記憶手段と、前記データ記憶手段に記憶されているいずれかの部分データを用いて、前記対象部分データを予測する第２の予測手段と、前記第１の予測手段による予測結果、又は、前記第２の予測手段による予測結果に基づいて、前記注目部分データの符号データを生成する符号生成手段とを有する。
【０００５】
好適には、前記登録制御手段は、前記第１の予測手段により予測された予測データと、前記注目部分データとが一致しなかったことを条件として、この部分データを記憶すべきと判定する。
好適には、前記登録制御手段は、前記第１の予測手段により予測された予測データと、前記注目部分データとが一致しなかったことをさらなる条件として、この部分データを記憶すべきと判定する。
【０００６】
好適には、前記注目部分データと、既定の予測方法により予測された予測データとの差分を予測誤差として生成する予測誤差生成手段をさらに有し、前記符号生成手段は、前記第１の予測手段により予測された予測データ、及び、前記第２の予測手段により予測された予測データが、いずれも注目部分データと一致しない場合に、前記予測誤差生成手段により生成された予測誤差に基づいて、この注目部分データの符号データを生成し、前記登録制御手段は、前記予測誤差に基づいて符号データが生成されたことを条件として、前記注目部分データを記憶すべきと判定する。
【０００７】
好適には、前記第２の予測手段は、少なくとも前記第１の予測手段により予測された予測データと一致しない部分データを、前記データ記憶手段により記憶されている部分データの中から選択して、前記対象部分データの予測に用いる。
【０００８】
好適には、前記登録制御手段は、予め定められたデータ値を有する部分データを、記憶すべきでない部分データであると判定する。
【０００９】
また、本発明にかかる符号化装置は、既定の予測方法を用いて、符号化対象となる注目部分データを予測する第１の予備予測手段と、前記第１の予備予測手段により予測された予測データと、前記注目部分データとが一致するか否かに応じて、この注目部分データを記憶する予備データ記憶手段と、前記予備データ記憶手段に記憶されているいずれかの部分データを用いて、前記注目部分データを予測する第２の予備予測手段と、前記第１の予備予測手段により予測された予測データ、又は、前記第２の予備予測手段により予測された予測データについて、前記注目部分データとの差分を評価する誤差評価手段と、前記誤差評価手段による評価結果に応じて、前記注目部分データを、前記第１の予備予測手段により予測された予測データ、又は、前記第２の予備予測手段により予測された予測データで置換するデータ置換手段と、少なくとも前記第１の予備予測手段により適用される予測方法、及び、前記第２の予備予測手段により適用される予測方法を用いて、前記データ置換手段により少なくとも一部の部分データがいずれかの予測データで置換されたデータを予測符号化する予測符号化手段とを有する。
【００１０】
好適には、前記部分データは、画像の一部に相当する画像データである。
【００１１】
また、本発明にかかる符号化装置は、符号化対象となる注目領域の画像データに対して既定の相対位置にある参照領域の画像データを用いて、この注目領域に関する予測データを生成する第１の予測手段と、前記注目領域との相対位置に依存せずに、前記注目領域に関する予測データを生成する第２の予測手段と、前記注目領域の画像データと、前記第１の予測手段により生成された予測データ、又は、前記第２の予測手段により生成された予測データとを比較して、この注目領域の符号データを生成する符号生成手段とを有する。
【００１２】
［データ処理装置］
また、本発明にかかるデータ処理装置は、既定の予測方法を用いて、符号化対象となる注目部分データを予測する第１の予測手段と、前記第１の予測手段により予測された予測データと、前記注目部分データとが一致するか否かに応じて、この部分データを記憶するデータ記憶手段と、前記データ記憶手段に記憶されているいずれかの部分データを用いて、前記注目部分データを予測する第２の予測手段と、前記第１の予測手段により予測された予測データ、又は、前記第２の予測手段により予測された予測データについて、前記注目部分データとの差分を評価する誤差評価手段と、前記誤差評価手段による評価結果に応じて、前記注目部分データを、前記第１の予測手段により予測された予測データ、又は、前記第２の予測手段により予測された予測データで置換するデータ置換手段とを有する。
【００１３】
［復号化装置］
また、本発明にかかる復号化装置は、符号データに対応する参照領域から参照データを読み出し、読み出された参照データに基づいて、部分データを生成するデータ参照手段と、符号データに対応する差分データに基づいて、部分データを生成する差分処理手段と、前記差分処理手段により生成された部分データを記憶する記憶手段と、前記記憶手段により記憶されている部分データの中から、符号データに応じて、いずれかの部分データを選択するデータ選択手段とを有する。
【００１４】
［符号化方法］
また、本発明にかかる符号化方法は、既定の予測方法を用いて、符号化対象となる注目部分データを予測し、予測された予測データと、前記注目部分データとが一致するか否かに応じて、この部分データを予測候補として登録し、前記予測候補として登録されている部分データのいずれかを用いて、前記対象部分データを予測し、前記既定の予測方法を用いて予測された予測結果、又は、前記予測候補の部分データを用いて予測された予測結果に基づいて、前記注目部分データの符号データを生成する。
【００１５】
［復号化方法］
また、本発明にかかる復号化方法は、符号データが参照位置を示す場合に、この参照位置から参照データを読み出し、読み出された参照データに基づいて、部分データを生成し、符号データが差分データを示す場合に、この差分データに基づいて、部分データを生成し、前記差分データに基づいて生成された部分データを予測候補として登録し、符号データが、前記予測候補のいずれかを示す場合に、前記予測候補として登録されている部分データの中から、いずれかの画像データを選択する。
【００１６】
［プログラム］
また、本発明にかかるプログラムは、既定の予測方法を用いて、符号化対象となる注目部分データを予測するステップと、予測された予測データと、前記注目部分データとが一致するか否かに応じて、この部分データを予測候補として登録するステップと、前記予測候補として登録されている部分データのいずれかを用いて、前記対象部分データを予測するステップと、前記既定の予測方法を用いて予測された予測結果、又は、前記予測候補の部分データを用いて予測された予測結果に基づいて、前記注目部分データの符号データを生成するステップとをコンピュータに実行させる。
【００１７】
また、本発明にかかるプログラムは、符号データが参照位置を示す場合に、この参照位置から参照データを読み出し、読み出された参照データに基づいて、部分データを生成するステップと、符号データが差分データを示す場合に、この差分データに基づいて、部分データを生成するステップと、前記差分データに基づいて生成された部分データを予測候補として登録するステップと、符号データが前記予測候補のいずれかを示す場合に、前記予測候補として登録されている部分データの中から、いずれかの画像データを選択するステップとをコンピュータに実行させる。
【発明の効果】
【００１８】
本発明の符号化装置によれば、より高い圧縮率で画像データを符号化することができる。
【発明を実施するための最良の形態】
【００１９】
［背景と概略］
まず、本発明の理解を助けるために、その背景及び概略を説明する。
図１は、動的にデータ辞書を変更しながら、入力データを符号化する符号化方式を説明する図であり、図１（Ａ）は、注目領域に応じてスライドするデータ辞書を用いる符号化方式を説明し、図１（Ｂ）は、注目領域に対して複数の方向にデータ辞書を有する符号化方式を説明する。
例えば、ＬＺ７７符号化方式などの予測符号化方式では、既定の参照位置の画素値を参照して予測データを生成し、生成された予測データと、符号化対象である注目部分の部分データとが一致する場合に、一致した予測データの参照位置などが注目部分の符号データとして符号化される。
より具体的には、ＬＺ７７符号化方式は、図１（Ａ）に例示するように、符号化対象となる注目領域の位置に応じてスライドするウインドウ領域内で、注目領域のデータと最長一致する最長一致列を探索し、その一致情報（最長一致列の位置情報など）を符号化する。
【００２０】
また、図１（Ｂ）に示すように、注目領域（注目画素Ｘ）に対して、主走査方向及び副走査方向又はこれらのいずれか一方に変位した位置に参照位置Ａ〜Ｄを設定し、設定された参照位置Ａ〜Ｄのデータ（画素値）をデータ辞書として、参照画素の画素値と注目画素Ｘの画素値との一致情報（画素値が一致した参照位置の識別情報など）を符号化する方式もある。
【００２１】
図２は、入力画像を例示する図であり、図２（Ａ）は、副走査方向の線を含む入力画像を例示し、図２（Ｂ）は、ディザパターンを含む入力画像を例示する。
図２（Ａ）に例示する入力画像を符号化する場合に、図１（Ａ）を参照して説明したＬＺ７７符号化方式では、ウインドウ領域内に同一の画素値（余白部分を除く）が存在しないため、入力画像に含まれる線画像を効率的に符号化することができない。
なお、図１（Ｂ）を参照して説明した方式は、線画像の領域で、参照位置Ｂ又は参照位置Ｃと、注目画素Ｘとで画素値が一致するため、効率的に符号化できる。
しかしながら、図２（Ｂ）に例示するように、入力画像の中に孤立点が存在する場合に、図１（Ｂ）を参照して説明した方式では、このような孤立点の領域で、いずれの参照位置でも画素値が一致せず、効率的に符号化することができない。
【００２２】
そこで、本実施形態における画像処理装置２は、注目領域の位置に応じて動的に変化するデータ辞書に加えて、注目領域の位置に依存しない非依存辞書を設ける。換言すると、本画像処理装置２は、注目領域との相対位置に依存する予測器に加えて、注目領域との相対位置に依存しない予測器を設けて、予測符号化処理を行う。
これにより、動的なデータ辞書から外れたデータ（注目領域との相対位置に依存する予測器で予測できないデータ）が参照可能になり、図２に示した副走査方向の線や孤立点をより効率的に符号化することが可能になる。
【００２３】
［ハードウェア構成］
次に、本実施形態における画像処理装置２のハードウェア構成を説明する。
図３は、本発明にかかる符号化方法及び復号化方法が適応される画像処理装置２のハードウェア構成を、制御装置２１を中心に例示する図である。
図３に例示するように、画像処理装置２は、ＣＰＵ２１２及びメモリ２１４などを含む制御装置２１、通信装置２２、ＨＤＤ・ＣＤ装置などの記録装置２４、並びに、ＬＣＤ表示装置あるいはＣＲＴ表示装置およびキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２５から構成される。
画像処理装置２は、例えば、本発明にかかる符号化プログラム５（後述）及び復号化プログラム６（後述）がプリンタドライバの一部としてインストールされた汎用コンピュータであり、通信装置２２又は記録装置２４などを介して画像データを取得し、取得された画像データを符号化又は復号化してプリンタ装置３に送信する。
【００２４】
［符号化プログラム］
図４は、制御装置２１（図３）により実行され、本発明にかかる符号化方法を実現する符号化プログラム５の機能構成を例示する図である。
図４に例示するように、符号化プログラム５は、位置依存予測部５００、非依存予測部５１０、予測誤差算出部５２０、ラン計数部５３０、選択部５３０、及び符号生成部５５０を有する。
【００２５】
符号化プログラム５において、位置依存予測部５００は、符号化対象となる注目部分の位置に対応する参照位置の部分データに基づいて、予測データを生成し、生成された予測データと、注目部分の部分データとを比較して、比較結果（予測結果）をラン計数部５３０に出力する。
より具体的には、位置依存予測部５００は、注目画素の画素値を符号化する場合に、この注目画素に対して既定の相対位置にある参照位置の画素値を読み出し、読み出された参照位置の画素値を予測データとして、予測データと注目画素の画素値との比較を行う。
本例の位置依存予測部５００は、図１（Ｂ）に例示したように、注目画素Ｘの位置に対応する複数の参照位置Ａ〜Ｄの画素値を予測データとし、注目画素Ｘの画素値と、各参照位置Ａ〜Ｄの画素値（予測データ）とを比較して、画素値が一致した場合（すなわち、予測が的中した場合）に、参照位置を識別する参照位置ＩＤをラン計数部５３０に対して出力し、いずれの予測データも一致しなかった場合に、一致しなかった旨をラン計数部５３０に対して出力する。
なお、位置依存予測部５００は、少なくとも１つの参照位置を参照して、少なくとも１つの予測データを生成すればよく、例えば、参照位置Ａのみを参照して予測データを生成してもよい。この場合に、位置依存予測部５００による予測データで生成される符号データは、連長符号化方式（ランレングス符号化方式）で生成されるものと同様になる。
【００２６】
非依存予測部５１０は、注目部分の位置に依存しない予測手法を用いて、注目部分の予測データを生成し、生成された予測データと、注目部分の部分データとを比較して、比較結果（予測結果）をラン計数部５３０に出力する。
ここで、「注目部分の位置に依存しない」とは、注目部分（注目画素）との相対位置によって規定されるものではないことを意味するが、「注目部分よりも前に処理されたデータ群（画像領域）内に存在する」という意味での依存関係はこの場合除外されている。すなわち、非依存予測部５１０による予測手法は、注目部分よりも前に処理されたデータ群（画像領域）内に存在する部分データを用いるという点では、注目部分の位置に依存しているとも考えられる。
より具体的には、非依存予測部５１０は、予測データの候補として記憶されている画素値のいずれかを予測データとして選択し、選択された予測データと注目画素の画素値との比較結果をラン計数部５３０に出力する。
非依存予測部５１０は、例えば、位置依存予測部５００による予測データがいずれも注目画素の画素値と一致しなかった場合（これらの予測データがいずれも的中しなかった場合）に、この注目画素の画素値を予測データの候補として記憶する。
これにより、位置依存予測部５００による予測が的中しない画素（例えば、孤立点の画素値）は、予測データの候補として登録され、非依存予測部５１０による予測に用いられる。
なお、非依存予測部５１０は、予測誤差算出部５２０により算出された予測誤差が符号化されたことを条件として、この予測誤差が算出された注目画素の画素値を予測データの候補として記憶してもよい。
【００２７】
予測誤差算出部５２０は、予め定められた予測方法で、注目部分の予測データを生成し、生成された予測データ値と、この注目部分の部分データ値との差分を算出し、算出された差分を予測誤差として選択部５４０に出力する。
より具体的には、予測誤差算出部５２０は、既定の参照位置（注目画素Ｘの位置に対応付けられた参照位置）の画素値に基づいて、注目画素の画素値を予測し、その予測値を注目画素の実際の画素値から減算し、予測誤差値として選択部５４０に対して出力する。予測誤差算出部５２０の予測方法は、符号データの復号化処理における予測方法と対応していればよい。
本例の予測誤差算出部５２０は、位置依存予測部５００と同じ参照位置（参照位置Ａ）の画素値を予測値とし、この予測値と実際の画素値（注目画素Ｘの画素値）との差分を予測誤差値として算出する。
なお、注目画素Ｘが最左端である場合のように、参照位置Ａが画像中に実在しない場合に、予測誤差算出部５２０は、デフォルトの値（復号化プログラムと同一の既定値）を予測値として、予測誤差を算出する。
【００２８】
ラン計数部５３０は、位置依存予測部５００から入力される比較結果と、非依存予測部５１０から入力される比較結果とに基づいて、的中した予測データの連続数をカウントする。
より具体的には、ラン計数部５３０は、位置依存予測部５００から入力される参照位置ＩＤ、及び、非依存予測部５１０から入力される参照位置ＩＤに基づいて、同一の参照位置ＩＤが連続する数をカウントし、参照位置ＩＤ及びその連続数を選択部５４０に対して出力する。
本例のラン計数部５３０は、位置依存予測部５００及び非依存予測部５１０による予測データがいずれも注目画素の画素値と一致しなかった場合に、内部カウンタでカウントされている参照位置ＩＤ及びその連続数を出力する。
【００２９】
選択部５４０は、ラン計数部５３０から入力された参照位置ＩＤ及び連続数、並びに、予測誤差算出部５２０から入力された予測誤差値に基づいて、最も長く連続した参照位置ＩＤを選択し、この参照位置ＩＤ及びその連続数並びに予測誤差値を一致データとして符号生成部５５０に対して出力する。
【００３０】
符号生成部５５０は、選択部５４０から入力された参照位置ＩＤ、連続数及び予測誤差値に対して符号を割り当て、割り当てられた符号を通信装置２２（図３）又は記録装置２４（図３）などに出力する。
【００３１】
図５は、非依存予測部５１０（図４）の構成をより詳細に説明する図である。
図５に例示するように、非依存予測部５１０は、登録制御部５１２、候補値記憶部５１４、候補値選択部５１６及び一致判定部５１８を含む。
登録制御部５１２は、予測データの候補として登録すべき部分データを選択し、選択された部分データ（画素値）を候補値記憶部５１４に登録する。より具体的には、登録制御部５１６は、位置依存予測部５００（図４）において全ての予測データが注目画素の画素値と一致しなかった旨を検知したことを条件として、この注目画素の画素値を候補値記憶部５１４に登録する。
本例の登録制御部５１２は、候補値記憶部５１４に登録されるエントリ数の上限を２つとしており、候補値記憶５１４への登録順が早いエントリ（予測データの候補となる画素値）により高い優先順位を与えて、各エントリ（候補となる画素値）を管理する。
【００３２】
また、登録制御部５１２は、予め設定された登録禁止条件に基づいて、たとえ位置依存予測部５００（図４）において全ての予測データが注目画素の画素値と一致しなかった場合であっても、この注目画素の画素値を候補値記憶部５１４に登録することを禁止する。登録禁止条件は、例えば、「既定のデータ値と一致すること」などである。
本例の登録制御部５１２は、背景色、黒及び白に相当する画素値と一致することを登録禁止条件として、これらの色に相当する画素値の登録を禁止する。背景色、黒及び白は、他の色と比較して孤立点となりにくいからである。
【００３３】
候補値記憶部５１４は、登録制御部５１２により登録された画素値を予測データの候補値として記憶する。
本例の候補値記憶部５１４は、２つの画素値を予測データの候補値として記憶し、より早く登録された画素値を第１候補値、より遅くに登録された画素値を第２候補値として記憶する。
【００３４】
候補値選択部５１６は、候補値記憶部５１４に記憶されている部分データ（候補値）の中から、いずれかの部分データを予測データとして一致判定部５１８に出力する。
例えば、候補値選択部５１６は、位置依存予測部５００で適用される予測データと一致しないことを選択条件として、候補値を選択する。
本例の候補値選択部５１６は、参照位置Ａの画素値と一致しない候補値を、候補値記憶部５１４に記憶されている画素値の中から選択する。なお、候補値記憶部５１４に記憶されている画素値（第１候補値及び第２候補値）がいずれも参照位置Ａの画素値と一致しない場合に、候補値選択部５１６は、第１候補値を選択する。
【００３５】
一致判定部５１８は、注目部分の部分データと、候補値選択部５１６から入力された予測データとを比較して、比較結果をラン計数部５１０（図４）に出力する。
本例の一致判定部５１８は、注目画素の画素値と、候補値選択部５１６から入力された画素値（予測データ）とを比較し、一致している場合に、非依存予測部を識別する参照位置ＩＤ（すなわち、候補値記憶部５１４に記憶されている画素値が参照先であることを示す参照位置ＩＤ）をラン計数部５３０に出力する。
【００３６】
図６は、符号化プログラム４（図４）によりなされる符号化処理を説明する図であり、図６（Ａ）は、位置依存予測部５００により参照される参照位置を例示し、図６（Ｂ）は、それぞれの参照位置に対応付けられた符号を例示し、図６（Ｃ）は、非依存予測部５１０に対応付けられた符号を例示し、図６（Ｄ）は、符号生成部５５０により生成される符号データを例示する。
図６（Ａ）に例示するように、位置依存予測部５００の参照位置は、注目画素Ｘとの相対位置として設定されている。具体的には、参照位置Ａは、注目画素Ｘの主走査方向上流に設定され、参照位置Ｂ〜Ｄは、注目画素Ｘの上方（副走査方向上流）の主走査ライン上に設定されている。
【００３７】
また、図６（Ｂ）に例示するように、それぞれの参照位置Ａ〜Ｅには符号が対応付けられている。
同様に、図６（Ｃ）に例示するように、非依存予測部５１０による予測データに対しても符号が対応付けられている。
いずれかの参照位置から読み出された画素値（予測データ）が注目画素Ｘの画素値と一致した場合（すなわち、いずれかの参照位置で予測が的中した場合）には、ラン計数部５３０（図４）は、予測が的中した参照位置について、参照位置ＩＤの連続数を増加させ、非依存予測部５１０による予測データが的中した場合には、ラン計数部５３０は、非依存予測部５１０による予測について、参照位置ＩＤの連続数を増加させ、全ての予測データが予測が的中しなかった場合に、カウントしていた参照位置ＩＤの連続数を選択部５４０に出力する。
符号生成部５５０は、図６（Ｂ）及び図６（Ｃ）に例示するように、各予測データ（位置依存予測部５００により生成される複数の予測データ、及び、非依存予測部５１０により生成される予測データ）と符号とを互いに対応付けており、注目画素Ｘと画素値が一致した予測データに対応する符号を出力する。なお、それぞれの予測データに対応付けられている符号は、例えば、予測の的中率に応じて設定されたエントロピー符号であり、的中率に応じた符号長となる。
【００３８】
また、符号生成部５５０は、同一の参照位置で連続して画素値が一致する場合、又は、非依存予測部５１０による予測が連続して的中する場合には、ラン計数部５３６によりカウントされたその連続数を符号化する。これにより、符号量が少なくなる。このように、符号化プログラム５は、図６（Ｄ）に例示するように、いずれかの予測データが注目画素の画素値と一致した場合には、その予測データに対応する符号と、この予測データが的中する連続数とを符号化し、いずれの予測データも注目画素の画素値と一致しなかった場合には、既定の参照位置の画素値と注目画素Ｘの画素値との差分（予測誤差値）を符号化する。
【００３９】
図７は、符号化プログラム５（図４）による符号化処理（Ｓ１０）のフローチャートである。
図７に示すように、ステップ１００（Ｓ１００）において、符号化プログラム５は、入力された画像データの中から、順に注目画素Ｘを設定する。
本例の注目画素Ｘは、入力画像の左上端の画素から順に主走査方向に選択されていき、主走査ラインの右端まで選択されると、次に、副走査方向下方の主走査ラインに移行し、この主走査ラインの左端から順に選択される。
【００４０】
ステップ１１０（Ｓ１１０）において、位置依存予測部５００（図４）は、選択された注目画素Ｘに対応する参照位置Ａ〜Ｄの画素値をそれぞれ予測データとし、それぞれの予測データと、注目画素Ｘの画素値とを比較して、これらの画素値が一致している場合には、参照位置に対応する参照位置ＩＤをラン計数部５３０に出力し、いずれの予測データも注目画素Ｘの画素値と一致しなかった場合に、一致しなかった旨を非依存予測部５１０及びラン計数部５３０に出力する。
また、非依存予測部５１０は、候補値として記憶されている画素値の中から、１つの画素値を予測データとして選択し、選択された予測データと、注目画素Ｘの画素値とを比較し、これらの画素値が一致している場合には、この非依存予測部５１０に対応する参照位置ＩＤをラン計数部５３０に出力し、これらの画素値が一致しなかった場合には、一致しなかった旨をラン計数部５３０に出力する。
また、予測誤差算出部５２０は、注目画素Ｘの画素値と、参照位置Ａの画素値との差分を算出し、算出された差分を予測誤差として選択部５４０に出力する。
【００４１】
ステップ１３０（Ｓ１３０）において、符号化プログラム５は、位置依存予測部５００から一致しなかった旨が出力され、かつ、非依存予測部５１０から一致しなかった旨が出力された場合に、Ｓ１５０の処理に移行し、位置依存予測部５００又は非依存予測部５１０から参照位置ＩＤが出力された場合に、Ｓ１４０の処理に移行する。
【００４２】
ステップ１４０（Ｓ１４０）において、ラン計数部５３０（図４）は、位置依存予測部５００及び非依存予測部５１０又はこれらのいずれか一方から入力された参照位置ＩＤに基づいて、この参照位置ＩＤに対応するカウント値を１つ増加させる。
なお、符号化プログラム５は、次の画素に対する処理を行うべくＳ１００に戻る。
【００４３】
ステップ１５０（Ｓ１５０）において、ラン計数部５３０は、位置依存予測部５００及び非依存予測部５１０の比較結果（予測結果）に基づいて、位置依存予測部５００及び非依存予測部５１０による予測データがいずれも注目画素Ｘの画素値と一致しなかった旨を検知すると、各参照位置ＩＤに対応するカウント値を選択部５４０に出力する。
選択部５４０は、ラン計数部５３０から各参照位置ＩＤのカウント値が入力されると、入力されたカウント値に基づいて、参照位置ＩＤの最長連続数を算出し、算出された最長連続数及び参照位置ＩＤを符号生成部５５０に出力する。
その後に、選択部５４０は、予測誤差算出部５２０から入力された最新の予測誤差（すなわち、全ての予測データが的中しなかった注目画素Ｘに関する予測誤差）を符号生成部５５０に出力する。
【００４４】
ステップ１６０（Ｓ１６０）において、符号生成部５５０（図４）は、選択部５４０から順に入力される参照位置ＩＤ、連続数、及び予測誤差を符号化し、符号データを通信装置２２（図３）又は記録装置２４（図３）に出力する。
【００４５】
ステップ１７０（Ｓ１７０）において、非依存予測部５１０は、この注目画素Ｘの画素値を予測データの候補として登録する。すなわち、本例の非依存予測部５１０は、位置依存予測部５００及び非依存予測部５１０による予測データのいずれもが注目画素Ｘの画素値と一致しなかったことを条件に、この注目画素Ｘの画素値を予測データの新たな候補として記憶する。
【００４６】
ステップ１８０（Ｓ１８０）において、符号化プログラム５は、入力された画像データの全ての画素について符号化処理が終了したか否かを判定し、未処理の画素が存在する場合に、Ｓ１００の処理に戻って、次の画素に対する処理を行い、これ以外の場合に、符号化処理（Ｓ１０）を終了する。
【００４７】
図８は、非依存予測部５１０（図４，図５）による予測処理（Ｓ１１０ａ）をより詳細に説明するフローチャートである。すなわち、本予測処理（Ｓ１１０ａ）は、図７に示された画素値予測処理（Ｓ１１０）のうち、非依存予測部５１０によりなされる部分に相当する。
図８に示すように、ステップ１１２（Ｓ１１２）において、候補値選択部５１６（図５）は、参照位置Ａの画素値（例えば、位置依存予測部５００から通知された参照位置Ａの画素値）と、候補値記憶部５１４に登録されている第１候補値とを比較する。
【００４８】
ステップ１１４（Ｓ１１４）において、非依存予測部５１０（図５）は、参照位置Ａの画素値と第１候補値とが一致する場合に、Ｓ１１８の処理に移行し、参照位置Ａの画素値と第１候補値とが一致しない場合に、Ｓ１１６の処理に移行する。
【００４９】
ステップ１１６（Ｓ１１６）において、候補値選択部５１６は、候補値記憶部５１４に登録されている第１候補値を、予測データとして選択し、選択された第１候補値を一致判定部５１８に出力する。
【００５０】
ステップ１１８（Ｓ１１８）において、候補値選択部５１６（図５）は、候補値記憶部５１４に登録されている第２候補値を、予測データとして選択し、選択された第２候補値を一致判定部５１８に出力する。
すなわち、本例の候補値選択部５１６は、第１候補値が参照位置Ａの画素値と一致しない場合に、そのまま第１候補値を予測データとして選択し、第１候補値が参照位置Ａの画素値と一致する場合に、第２候補値を選択する。
【００５１】
ステップ１２０（Ｓ１２０）において、一致判定部５１８は、候補値選択部５１６から入力された予測データと、注目画素Ｘの画素値とを比較する。
ステップ１２２（Ｓ１２２）において、一致判定部５１８は、候補値選択部５１６から入力された予測データと、注目画素Ｘの画素値とが一致している場合には、この非依存予測部に対応する参照位置ＩＤをラン計数部５３０（図４）に出力し、これらの画素値が一致しなかった場合には、一致しなかった旨をラン計数部５３０に出力する。
【００５２】
図９は、非依存予測部５１０（図４，図５）による候補値登録処理（Ｓ１７０）をより詳細に説明するフローチャートである。
図９に示すように、ステップ１７２（Ｓ１７２）において、登録制御部５１２（図５）は、注目画素Ｘの画素値が、登録禁止条件に合致する画素値であるか否かを判定する。
非依存予測部５１０は、注目画素Ｘの画素値が登録禁止条件に合致する場合に、この注目画素Ｘの画素値の登録を禁止して、そのまま候補値登録処理（Ｓ１７０）を終了し、注目画素Ｘの画素値が登録禁止条件に合致しない場合に、Ｓ１７４の処理に移行する。
【００５３】
ステップ１７４（Ｓ１７４）において、登録制御部５１２は、候補値記憶部５１４に登録されている第１候補値を削除し、登録されている第２候補値を第１候補値に繰り上げる。
【００５４】
ステップ１７６（Ｓ１７６）において、登録制御部５１２は、注目画素Ｘの画素値を、第２候補値として候補値記憶部５１４に登録する。
【００５５】
このように、本実施形態における符号化プログラム５は、注目画素Ｘとの相対位置に依存する位置依存予測部５００と、注目画素Ｘとの相対位置に依存しない非依存予測部５１０とで、注目画素Ｘの画素値を予測し、その予測結果（予測が的中したか否か）を符号化する。
【００５６】
［復号化プログラム］
次に、上記のように符号化された符号データの復号化方法について説明する。
図１０は、制御装置２１（図３）により実行され、本発明にかかる復号化方法を実現する復号化プログラム６の機能構成を例示する図である。
図１０に例示するように、復号化プログラム６は、符号解析部６００、画素値参照部６１０、差分処理部６２０、復号値記憶部６３０、データ選択部６４０、及びデータ出力部６５０を有する。
【００５７】
復号化プログラム６において、符号解析部６００は、図６（Ｂ）及び図６（Ｃ）に例示したものと同様に、符号と参照位置ＩＤ（参照位置Ａ〜Ｄ、又は、非依存予測部）とを互いに対応付けるテーブルを有し、入力された符号データを、参照位置ＩＤに復号化する。
また、符号解析部６００は、入力された符号データに基づいて、参照位置ＩＤの連続数、及び、予測誤差などの数値も復号化する。
符号解析部６００により復号化された参照位置ＩＤ（参照位置Ａ〜Ｄに相当するもの）及びその連続数は、画素値参照部６１０に出力される。また、符号解析部６００により復号化された参照位置ＩＤ（非依存予測部に相当するもの）及びその連続数は、データ選択部６４０に出力される。また、符号解析部６００により復号化された予測誤差は、差分処理部６２０に出力される。
【００５８】
画素値参照部６１０は、符号解析部６００から入力された参照位置ＩＤに基づいて、この参照位置ＩＤに対応する参照位置を参照して、画素値を読み出し、読み出された画素値を、入力された連続数だけ繰り返してデータ出力部６５０に出力する。
【００５９】
差分処理部６２０は、符号解析部６００から入力された予測誤差と、既定の予測データ（参照位置Ａの画素値）とを合算し、この合算値を復号値記憶部６３０及びデータ出力部６５０に出力する。
【００６０】
復号値記憶部６３０は、差分処理部６２０から入力された合算値（すなわち、予測誤差を用いて復号化された画素値）を記憶する。
本例の復号値記憶部６３０は、記憶できるエントリ数の上限が２つ（符号化プログラム５と同じ）であり、差分処理部６２０から入力される合算値のうち、最新の合算値を第２登録値として記憶し、一つ前に入力された合算値を第１登録値として記憶する。
【００６１】
データ選択部６４０は、符号解析部６００から入力された参照位置ＩＤ（非依存予測部に相当するもの）に応じて、復号値記憶部６３０に記憶されている合算値（画素値）の中から、いずれか１つの画素値を選択し、選択された画素値を、入力された連続数（参照位置ＩＤの連続数）だけ繰り返してデータ出力部６５０に出力する。
本例のデータ選択部６４０は、復号値記憶部６３０に記憶されている第１登録値が、直前に復号化された画素値（すなわち、参照位置Ａの画素値）と一致しない場合に、この第１登録値を選択し、復号値記憶部６３０に記憶されている第１登録値が、直前に復号化された画素値と一致する場合に、この第２登録値を選択して、データ出力部６５０に出力する。
【００６２】
データ出力部６５０は、画素値参照部６１０、差分処理部６２０及びデータ選択部６４０から順に入力される画素値を、一つのデータファイル（画像データ）にまとめて通信装置２２（図３）又は記録装置２４（図３）に出力する。
【００６３】
図１１は、復号化プログラム６（図１０）による復号化処理（Ｓ２０）のフローチャートである。
図１１に示すように、ステップ２００（Ｓ２００）において、符号解析部６００（図１０）は、入力される符号データを順に復号化して、参照位置ＩＤ及びその連続数、又は、予測誤差を生成する。
【００６４】
ステップ２０２（Ｓ２０２）において、符号解析部６００は、参照位置Ａ〜Ｄのいずれかに相当する参照位置ＩＤが復号化された場合に、この参照位置ＩＤ及びその連続数を画素値参照部６１０に出力して、Ｓ２０４の処理に移行し、予測誤差が復号化された場合に、この予測誤差を差分処理部６２０に出力して、Ｓ２０８の処理に移行し、非依存予測部に相当する参照位置ＩＤが復号化された場合に、この参照位置ＩＤ及びその連続数をデータ選択部６４０に出力して、Ｓ２１２の処理に移行する。
【００６５】
ステップ２０４（Ｓ２０４）において、画素値参照部６１０（図１０）は、符号解析部６００から入力された参照位置ＩＤに基づいて、この参照位置ＩＤに対応する参照位置の画素値を読み出し、読み出された画素値を注目画素Ｘの画素値としてデータ出力部６５０に出力する。
ステップ２０６（Ｓ２０６）において、画素値参照部６１０は、符号解析部６００から入力された連続数だけＳ２０４の処理を繰り返したか否かを判定し、連続数だけ繰り返していない場合に、注目画素Ｘの位置を主走査方向に１つずらして、Ｓ２０４の処理に戻り、連続数だけＳ２０４の処理を繰り返した場合に、Ｓ２２０の処理に移行する。
【００６６】
ステップ２０８（Ｓ２０８）において、差分処理部６２０（図１０）は、符号解析部６００から入力された予測誤差と、既定の予測データ（参照位置Ａの画素値）とを合算し、この合算値を注目画素Ｘの画素値としてデータ出力部６５０に出力する。なお、注目画素Ｘが画像の左端に相当するために、参照位置Ａに対応する参照画素が実在しない場合には、差分処理部６２０は、既定の画素値と、予測誤差とを合算して出力する。
ステップ２１０（Ｓ２１０）において、差分処理部６２０は、予測誤差と予測データとの合算値を、第２登録値として復号値記憶部６３０に登録する。この場合に、復号値記憶部６３０は、第２登録値を新規に登録する前に、既に登録されている第２登録値を第１登録値に繰り上げる。
【００６７】
ステップ２１２（Ｓ２１２）において、データ選択部６４０（図１０）は、符号解析部６００から入力された参照位置ＩＤ（非依存予測部に相当するもの）に応じて、復号値記憶部６３０に記憶されている第１登録値（画素値）を読み出し、読み出された第１登録値と、直前に復号化された画素値（すなわち、参照位置Ａの画素値）とを比較する。
データ選択部６４０は、これらの値が一致する場合に、Ｓ２１４の処理に移行し、これらの値が一致しない場合に、Ｓ２１６の処理に移行する。
ステップ２１４（Ｓ２１４）において、データ選択部６４０は、復号値記憶部６３０から、第２登録値を読み出して、読み出された第２登録値を注目画素Ｘの画素値としてデータ出力部６５０に出力する。
ステップ２１６（Ｓ２１６）において、データ選択部６４０は、読み出された第１登録値を注目画素Ｘの画素値としてデータ出力部６５０に出力する。
ステップ２１８（Ｓ２１８）において、データ選択部６４０は、符号解析部６００から入力された連続数だけ、上記Ｓ２１２〜Ｓ２１６の処理を繰り返したか否かを判定し、入力された連続数まで上記Ｓ２１２〜Ｓ２１６の処理を繰り返していない場合に、Ｓ２１２の処理に戻って、次の注目画素Ｘの画素値を出力し、入力された連続数だけＳ２１２〜Ｓ２１６の処理を繰り返した場合に、Ｓ２２０の処理に移行する。
【００６８】
ステップ２２０（Ｓ２２０）において、データ出力部６５０（図１０）は、画素値参照部６１０、差分処理部６２０又はデータ選択部６４０から入力される画素値を順に配列して、記録装置２４（図３）等に出力する。
復号化プログラム６は、全ての符号データについて復号化処理が終了したと判定した場合に、復号化処理（Ｓ２０）を終了し、復号化していない符号データが存在すると判定した場合に、Ｓ２００の処理に戻って、次の符号データを復号化する。
【００６９】
このように、本例の復号化プログラム６は、上記符号化プログラム５（図４）により生成された符号データを復号化する。
【００７０】
以上説明したように、本実施形態の画像処理装置２は、注目画素Ｘの位置に対応する参照位置の画素値を用いて、注目画素Ｘの画素値を予測すると共に、この予測が外れたときの注目画素Ｘの画素値を独立して予測データの候補として記憶し、これらの候補を用いて以後の注目画素Ｘの画素値を予測することにより、孤立点などの画素値についても予測を的中させることができ、より高い圧縮率を実現できる。
【００７１】
［第１の変形例］
次に、上記実施形態の変形例を説明する。
上記実施形態では、可逆な符号化方式を適用する形態を説明したが、第１の変形例では、非可逆な符号化方式を実現する形態を説明する。
より具体的には、上記実施形態で説明した可逆符号化処理（Ｓ１０）の前段で、非可逆な画像処理を行って、より高い圧縮率を実現する。
【００７２】
図１２は、非可逆な画像処理を行う画像処理プログラム７の構成を説明する図である。
図１２に例示するように、画像処理プログラム７は、予測値提供部７１０、誤差判定部７２０及び画素値変更処理部７３０を有する。
この画像処理プログラム７は、図４に示された符号化プログラム５の前段に設けられ、入力された画像データに対して非可逆な画像処理を施し、非可逆画像処理が施された画像データを符号化プログラム５に出力する。
なお、本画像処理プログラム７がインストールされたコンピュータ装置は、本発明にかかるデータ処理装置の一例である。
【００７３】
画像処理プログラム７において、予測値提供部７１０は、入力された画像データに基づいて、注目領域の予測データを生成し、生成された予測データを誤差判定部７２０に提供する。
本例の予測値提供部７１０は、符号化プログラム５に設けられた位置依存予測部５００及び非依存予測部５１０（図４）と同じ手法によって、注目画素Ｘについての予測データを生成する。
このように、本画像処理プログラム７は、後段の符号化プログラム５によりなされる予測符号化処理に対応し、この符号化プログラム５と協働して符号量を低減させる。
【００７４】
誤差判定部７２０は、入力された画像データの注目領域と、予測値提供部７１０により生成されたこの注目領域の予測データとを比較して、この注目領域のデータ値を変更するか否かを判定する。
より具体的には、誤差判定部７２０は、注目領域のデータ値と、この注目領域の予測データとの差分を算出し、算出された差分が既定の許容範囲内であるか否かを判定し、許容範囲内である場合に、データ値を変更できると判定し、許容範囲を超える場合に、階調値の変更を禁止する。
本例の誤差判定部７２０は、注目画素Ｘの画素値と、この注目画素Ｘに対する予測データ（位置依存予測部５００及び非依存予測部５１０と同じ手法で生成された予測データ）との差分値を予測データ毎に算出し、いずれかの予測データについて算出された差分値が許容範囲内である場合に、この注目画素Ｘの画素値をこの予測データで置換することを許可し、いずれの予測データについて差分値も許容範囲外である場合に、この注目画素Ｘの画素値の変更を禁止する。
【００７５】
画素値変更処理部７３０は、誤差判定部７２０による判定結果に応じて、注目領域のデータ値を変更する。
より具体的には、画素値変更処理部７３０は、誤差判定部７２０によりデータ値の変更が許可された場合に、符号化プログラム５（図４）による予測の的中率が向上するように注目領域のデータ値を変更し、誤差判定部７２０により階調値の変更が禁止された場合に、入力された注目領域のデータ値をそのまま出力する。
本例の画素値変更処理部７３０は、誤差判定部７２０により画素値の変更が許可された場合に、注目画素Ｘの画素値を、差分の最も小さい予測データで置換し、誤差判定部７２０により全ての予測データについて画素値の変更が禁止された場合に、注目画素Ｘの画素値をそのまま符号化プログラム５に出力する。
【００７６】
図１３は、予測値提供部７１０（図１２）の構成をより詳細に説明する図である。
図１３に例示するように、予測値提供部７１０は、画素値参照部７１２、登録制御部７１４、候補値記憶部７１６、及び候補値選択部７１８を含む。なお、画素値参照部７１２は、図４に例示した位置依存予測部５００と同様の手法により予測データを生成するブロックであり、登録制御部７１４、候補値記憶部７１６及び候補値選択部７１８のセットは、図４に例示した非依存予測部５１０と同様の手法により予測データを生成するブロックである。
【００７７】
画素値参照部７１２は、図４で例示した位置依存予測部５００により参照される参照位置Ａ〜Ｄの少なくとも一箇所を参照して、その参照位置にある画素値を予測データとして誤差判定部７２０（図１２）に出力する。
【００７８】
登録制御部７１４は、図５で例示した登録制御部５１２に相当し、予測データの候補として登録すべき部分データを選択し、選択された部分データ（画素値）を候補値記憶部７１６に登録する。
より具体的には、登録制御部７１４は、誤差判定部７２０によっていずれの予測データも注目画素Ｘの画素値と一致しないと判定されたことを条件に、この注目画素Ｘの画素値を候補値記憶部７１６に登録する。
本例の登録制御部７１４は、誤差判定部７２０によってそれぞれの予測データと注目画素Ｘの画素値との差分が全て許容範囲外であると判定された場合にのみ、この注目画素Ｘの画素値を候補値記憶部７１６に登録する。
【００７９】
候補値記憶部７１６は、図５で例示した候補値記憶部５１４に相当し、登録制御部７１４により登録された画素値を予測データの候補値として記憶する。
【００８０】
候補値選択部７１８は、図５で例示した候補値選択部５１６に相当し、候補値記憶部７１６に記憶されている候補値（本例では、第１候補値及び第２候補値）の中から、いずれかの候補値を選択し、選択された候補値を予測データとして誤差判定部７２０（図１２）に出力する。
より具体的には、候補値選択部７１８は、画素値参照部７１２により生成される予測データと値が一致しない候補値を、候補値記憶部７１６に記憶されている候補値の中から選択し、選択された候補値を予測データとして出力する。
【００８１】
画素値参照部７１２から出力される予測データ、及び、候補値選択部７１８から出力される予測データは、誤差判定部７２０において、注目画素Ｘの画素値との差分を算出され、それぞれの差分（誤差）が許容範囲内であるか否かが評価される。
【００８２】
図１４は、画像処理プログラム７（図１２）及び符号化プログラム５（図４）により実現される非可逆符号化処理（Ｓ３０）のフローチャートである。
図１４に示すように、ステップ３００（Ｓ３００）において、画像処理プログラム７は、入力された画像データの中から、順に注目画素Ｘを設定する。
予測部提供部７１０（図１２，１３）に設けられた画素値参照部７１２（図１３）は、注目画素Ｘの位置に対応する参照位置Ａ〜Ｄを参照し、これらの参照位置Ａ〜Ｄの画素値を読み出し、読み出された複数の画素値をそれぞれ予測データとして誤差判定部７２０（図１２）に出力する。
また、画素値参照部７１２は、参照位置Ａの画素値を候補値選択部７１８（図１３）に通知する。
【００８３】
ステップ３０２（Ｓ３０２）において、候補値選択部７１８（図１３）は、参照位置Ａの画素値（すなわち、画素値参照部７１２から通知された参照位置Ａの画素値）と、候補値記憶部７１６に登録されている第１候補値とを比較する。
【００８４】
ステップ３０４（Ｓ３０４）において、候補値選択部７１８は、参照位置Ａの画素値と第１候補値とが一致する場合に、Ｓ３０８の処理に移行し、参照位置Ａの画素値と第１候補値とが一致しない場合に、Ｓ３０６の処理に移行する。
【００８５】
ステップ３０６（Ｓ３０６）において、候補値選択部７１８は、候補値記憶部７１６に登録されている第１候補値を、予測データとして選択し、選択された第１候補値（予測データ）を誤差判定部７２０（図１２）に出力する。
【００８６】
ステップ３０８（Ｓ３０８）において、候補値選択部７１８（図１３）は、候補値記憶部７１６に登録されている第２候補値を、予測データとして選択し、選択された第２候補値（予測データ）を誤差判定部７２０（図１２）に出力する。
すなわち、本例の候補値選択部７１８は、第１候補値が参照位置Ａの画素値と一致しない場合に、そのまま第１候補値を予測データとして選択し、第１候補値が参照位置Ａの画素値と一致する場合に、第２候補値を選択する。
【００８７】
ステップ３１０（Ｓ３１０）において、誤差判定部７２０（図１２）は、予測値提供部７１０（すなわち、画素値参照部７１２及び候補値選択部７１８）から入力された複数の予測データそれぞれと、注目画素Ｘの画素値との差分を算出する。
ステップ３１２（Ｓ３１２）において、誤差判定部７２０は、予測値提供部７１０から入力された複数の予測データのいずれかについて、注目画素Ｘの画素値との差分が既定の許容範囲内である場合に、Ｓ３１４の処理に移行し、予測値提供部７１０から入力された複数の予測データの全てについて、注目画素Ｘの画素値との差分が既定の許容範囲外である場合に、Ｓ３１８の処理に移行する。
すなわち、画像処理プログラム７は、いずれかの予測データと注目画素Ｘの画素値との差分が許容範囲内である場合に、この注目画素Ｘの画素値変更処理に移行し、予測データと注目画素Ｘの画素値との差分がいずれも許容範囲外である場合に、候補値記憶部５１４に登録されている候補値の更新処理に移行する。
【００８８】
ステップ３１４（Ｓ３１４）において、誤差判定部７２０（図１２）は、注目画素Ｘとの差分が許容範囲内であると判定された予測データの中から、適用すべき予測データを選択し、画素値変更処理部７３０に通知する。
誤差判定部７２０は、例えば、注目画素Ｘの画素値との差分が最も小さい予測データを、適用すべき予測データとして選択する。なお、誤差判定部７２０は、既定の優先順に従って、適用すべき予測データを選択してもよい。
【００８９】
ステップ３１６（Ｓ３１６）において、画素値変更処理部７３０（図１２）は、誤差判定部７２０から通知された予測データで、注目画素Ｘの画素値を置換し、置換後の注目画素Ｘの画素値を符号化プログラム５（図４）に出力する。
すなわち、画像処理プログラム７は、注目画素Ｘの画素値を、この注目画素Ｘとの差分が許容範囲内にある予測データ（すなわち、符号化プログラム５において生成される予測データと一致するデータ値）で置換することにより、符号化プログラム５による予測処理の的中率を向上させて、より高い圧縮率を実現する。また、適切な許容範囲を設定することにより、注目画素Ｘの画素値を予測データで置換することによる画質劣化を、一定の範囲内に抑えることができる。
【００９０】
ステップ３１８（Ｓ３１８）において、誤差判定部７２０（図１２）は、この注目画素Ｘの画素値と、予測データとの差分が許容範囲外であった旨を予測値提供部７１０及び画素値変更処理部７３０に通知する。
画素値変更処理部７３０は、誤差判定部７２０からの通知に応じて、入力された注目画素Ｘの画素値をそのまま符号化プログラム５（図４）に出力する。
また、予測値提供部７１０の登録制御部７１４（図１３）は、誤差判定部７２０からの通知に応じて、候補値記憶部７１６に登録されている第２候補値を、第１候補値に繰り上げる。
ステップ３２０（Ｓ３２０）において、登録制御部７１４は、この注目画素Ｘの画素値を、第２候補値として候補値記憶部７１６に登録する。
【００９１】
ステップ３２２（Ｓ３２２）において、画像処理プログラム７（図１２）は、入力された画像データの全ての画素について処理が終了したか否かを判断し、全ての画素についてＳ３００〜Ｓ３２０までの処理が終了した場合に、Ｓ１０の処理に移行し、未処理の画素が存在する場合に、Ｓ３００の処理に戻って、次の注目画素Ｘを設定する。
【００９２】
ステップ１０（Ｓ１０）において、符号化プログラム５（図４）は、画像処理プログラム７（すなわち、画素値変更処理部７３０）から入力された画像データを、図７を参照して説明した符号化処理で符号化する。
【００９３】
このように、本変形例の画像処理装置２は、画像処理プログラム７（図１２）における非可逆処理（画素値の置換）により、符号化プログラム５（図４）による予測の的中率を向上させて、より高い圧縮率を実現する。
【００９４】
［その他の変形例］
上記実施形態では、位置依存予測部５００は、注目画素Ｘとの相対位置が既定されている複数の参照位置Ａ〜Ｄを参照して、予測データを生成しているが、これに限定されるものではなく、例えば、入力された画像データの周期性を判定し、判定された周期性に応じて参照位置を決定してもよい。
この場合に、位置依存予測部５００は、画像の周期性に応じた参照位置の画素値を予測データとすることができるため、周期性を有する画像データをより効率的に符号化することができる。
【図面の簡単な説明】
【００９５】
【図１】動的にデータ辞書を変更しながら、入力データを符号化する符号化方式を説明する図であり、（Ａ）は、注目領域に応じてスライドするデータ辞書を用いる符号化方式を説明し、（Ｂ）は、注目領域に対して複数の方向にデータ辞書を有する符号化方式を説明する。
【図２】入力画像を例示する図であり、（Ａ）は、副走査方向の線を含む入力画像を例示し、（Ｂ）は、ディザパターンを含む入力画像を例示する。
【図３】本発明にかかる符号化方法及び復号化方法が適応される画像処理装置２のハードウェア構成を、制御装置２１を中心に例示する図である。
【図４】制御装置２１（図３）により実行され、本発明にかかる符号化方法を実現する符号化プログラム５の機能構成を例示する図である。
【図５】非依存予測部５１０（図４）の構成をより詳細に説明する図である。
【図６】符号化プログラム４（図４）によりなされる符号化処理を説明する図であり、（Ａ）は、位置依存予測部５００により参照される参照位置を例示し、（Ｂ）は、それぞれの参照位置に対応付けられた符号を例示し、（Ｃ）は、非依存予測部５１０に対応付けられた符号を例示し、（Ｄ）は、符号生成部５５０により生成される符号データを例示する。
【図７】符号化プログラム５（図４）による符号化処理（Ｓ１０）のフローチャートである。
【図８】非依存予測部５１０（図４，図５）による予測処理（Ｓ１１０ａ）をより詳細に説明するフローチャートである。
【図９】非依存予測部５１０（図４，図５）による候補値登録処理（Ｓ１７０）をより詳細に説明するフローチャートである。
【図１０】制御装置２１（図３）により実行され、本発明にかかる復号化方法を実現する復号化プログラム６の機能構成を例示する図である。
【図１１】復号化プログラム６（図１０）による復号化処理（Ｓ２０）のフローチャートである。
【図１２】非可逆な画像処理を行う画像処理プログラム７の構成を説明する図である。
【図１３】予測値提供部７１０（図１２）の構成をより詳細に説明する図である。
【図１４】画像処理プログラム７（図１２）及び符号化プログラム５（図４）により実現される非可逆符号化処理（Ｓ３０）のフローチャートである。
【符号の説明】
【００９６】
２・・・画像処理装置
５・・・符号化プログラム
５００・・・位置依存予測部
５１０・・・非依存予測部
５１２・・・登録制御部
５１４・・・候補値記憶部
５１６・・・候補値選択部
５１８・・・一致判定部
５２０・・・予測誤差算出部
５３０・・・ラン計数部
５４０・・・選択部
５５０・・・符号生成部
６・・・復号化プログラム
６００・・・符号解析部
６１０・・・画素値参照部
６２０・・・差分処理部
６３０・・・復号値記憶部
６４０・・・データ選択部
６５０・・・データ出力部
７・・・画像処理プログラム
７１０・・・予測値提供部
７１２・・・画素値参照部
７１４・・・登録制御部
７１６・・・候補値記憶部
７１８・・・候補値選択部
７２０・・・誤差判定部
７３０・・・画素値変更処理部
【図１】
2006270324.tif 000003
【図２】
2006270324.tif 000004
【図３】
2006270324.tif 000005
【図４】
2006270324.tif 000006
【図５】
2006270324.tif 000007
【図６】
2006270324.tif 000008
【図７】
2006270324.tif 000009
【図８】
2006270324.tif 000010
【図９】
2006270324.tif 000011
【図１０】
2006270324.tif 000012
【図１１】
2006270324.tif 000013
【図１２】
2006270324.tif 000014
【図１３】
2006270324.tif 000015
【図１４】
2006270324.tif 000016