(57)【特許請求の範囲】
【請求項１】
注目画素値の予測値を生成する予測手段と、
前記注目画素値及び前記予測値に基づいて、予測誤差を取得する予測誤差生成手段と、
前記処理対象の予測誤差以前に前記予測誤差生成手段により取得された予測誤差の発生分布に基づいて、前記処理対象の予測誤差の値を変換する変換手段と、
前記変換手段により変換された予測誤差をエントロピー符号化するエントロピー符号化手段とを備え、
−１／２の予測誤差が前記予測誤差生成手段で取得される予測誤差の発生分布の中心になる様に、前記予測値を修正し、
前記変換手段は、前記処理対象の予測誤差以前に前記予測誤差生成手段により取得された予測誤差が、−１／２の予測誤差を境界として分けられる２つの発生分布領域のうち、０の予測誤差を含まない発生分布領域の方で多く発生している場合に、前記処理対象の予測誤差を−１／２を中心として対称変換することを特徴とする情報処理装置。
【請求項２】
前記エントロピー符号化手段は、複数のエントロピー符号化方法から一つを選択して実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記エントロピー符号化手段は、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化を実行する手段を含むことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記エントロピー符号化手段は、算術符号化を実行する手段を含むことを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
なお、前記装置は複写機であることを特徴とする請求項１乃至４に記載の情報処理装置。
【請求項６】
なお、前記装置はファクシミリ装置であることを特徴とする請求項１乃至４に記載の情報処理装置。
【請求項７】
前記請求項１乃至４の何れかの装置を含むシステムであって、ホストコンピュータを含むことを特徴とするシステム。
【請求項８】
前記請求項１乃至４の何れかの装置を含むシステムであって、リーダを含むことを特徴とするシステム。
【請求項９】
前記請求項１乃至４の何れかの装置を含むシステムであって、プリンタを含むことを特徴とするシステム。
【請求項１０】
注目画素値の予測値を生成する予測ステップと、
前記注目画素値及び前記予測値に基づいて、予測誤差を取得する予測誤差生成ステップと、
処理対象の予測誤差以前の前記予測誤差生成ステップにより取得された予測誤差の発生分布に基づいて、前記処理対象の予測誤差の値を変換する変換ステップと、
前記変換ステップにより変換された予測誤差をエントロピー符号化するエントロピー符号化ステップとを備え、
−１／２の予測誤差が前記予測誤差生成ステップで取得される予測誤差の発生分布の中心になる様に、前記予測値を修正し、
前記変換ステップでは、前記処理対象の予測誤差以前に前記予測誤差生成ステップで取得された予測誤差が、−１／２の予測誤差を境界として分けられる２つの発生分布領域のうち、０の予測誤差を含まない発生分布領域の方で多く発生している場合に、前記処理対象の予測誤差を−１／２を中心として対称変換することを特徴とする情報処理方法。
【請求項１１】
前記エントロピー符号化ステップは、複数のエントロピー符号化方法から一つを選択して実行することを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記エントロピー符号化ステップは、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化を実行するステップを含むことを特徴とする請求項１０または１１に記載の情報処理方法。
【請求項１３】
前記エントロピー符号化ステップは、算術符号化を実行するステップを含むことを特徴とする請求項１０または１１に記載の情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願発明は、静止画像を表す多値画像データを予測符号化する情報処理装置及び方法に関するものである。
【０００２】
【従来の技術】
従来、画像符号化装置で使用される符号化方式の１つとして、注目画素の画素値を周囲の画素から予測し、予測誤差をエントロピー符号化する、予測符号化があった。
【０００３】
【発明が解決しようとする課題】
従来の予測符号化において、予測誤差をエントロピー符号化する際の符号化効率を考慮すると依然改善の余地があった。
【０００４】
以上により本願発明は、画像データを予測符号化する際において、予測符号化済の予測誤差の性質を考慮して、効率良くエントロピー符号化を行うことを目的とする。
【０００５】
【課題を解決するための手段】
上述の課題を解決する為に、本発明の情報処理装置によれば、注目画素値の予測値を生成する予測手段と、前記注目画素値及び前記予測値に基づいて、予測誤差を取得する予測誤差生成手段と、前記処理対象の予測誤差以前に前記予測誤差生成手段により取得された予測誤差の発生分布に基づいて、前記処理対象の予測誤差の値を変換する変換手段と、前記変換手段により変換された予測誤差をエントロピー符号化するエントロピー符号化手段とを備え、−１／２の予測誤差が前記予測誤差生成手段で取得される予測誤差の発生分布の中心になる様に、前記予測値を修正し、前記変換手段は、前記処理対象の予測誤差以前に前記予測誤差生成手段により取得された予測誤差が、−１／２の予測誤差を境界として分けられる２つの発生分布領域のうち、０の予測誤差を含まない発生分布領域の方で多く発生している場合に、前記処理対象の予測誤差を−１／２を中心として対称変換することを特徴とする。
【０００６】
【発明の実施の形態】
（第１の実施の形態）
以下、本願発明について図面を参照して詳細に説明する。
【０００７】
図１に本願発明の第１の実施の形態を示す為のブロック図を示す。図１において１００は信号を入力する為の入力部、１０１は信号を伝送する為の信号線、１０２は３ライン分の画像データを格納するバッファである。
【０００８】
１０３は周囲画素の画素値からコンテキストを生成するコンテキスト生成回路であり、１０４は周囲画素の画素値から予測値を生成する予測回路である。
【０００９】
１０５は予測誤差の符号（＋／−）を予測する符号予測回路であり、１０６は減算回路である。
【００１０】
１０７は符号変換回路、１０８はカウンタ、１０９はカウンタ更新回路、１１０はハフマンテーブル用メモリ、１１１はハフマン符号化回路、１１２及び１１３は信号線である。
本実施の形態では、符号化される画像データを８ビット（画素値が２５５段階）のモノクロ画像として説明する。
【００１１】
ここでハフマンテーブル用メモリ１１１には、上記１００、１０２〜１０９の回路を用いて予めいくつかの標準画像を符号化した際に求められた予測誤差の統計に基づいて、符号化効率が良くなると思われる標準的なハフマンテーブルを格納しておくものとする。本実施の形態における符号化処理においては、ハフマンテーブルは図１５の様になる。即ち予測誤差ｅと−ｅを比較すると予測誤差ｅの方が符号長が短くなる場合が多くなっている。
【００１２】
また、カウンタ１０８で保持するデータの全てを０に初期化しておく。
【００１３】
以下に上述の各回路について詳細に説明する。
【００１４】
まず、入力部１００から符号化対象画素の画像データがラスタースキャン順に順次入力され、信号線１０１を通じてバッファ１０２及び減算回路１０６に出力される。
【００１５】
バッファ１０２は信号線１０１から入力される画像データのうち、符号化対象画素のラインと前２ライン分の画像データ、即ち３ライン分の画像データを格納する。
【００１６】
コンテキスト生成回路１０３は、符号化対象画素の周囲画素ｎ０〜ｎ７（図２の画素位置関係を参照）に対応する画像データをバッファ１０２から取り出す。次に、ｎ０〜ｎ７の画像データ（画素値）の平均値ｎを求め、ｎを閾値としてｎ０〜ｎ７に対応する画像データを２値化した夫々の値ｂ０〜ｂ７（２値の１ビットデータ）を求める。このｂ０〜ｂ７に対応する１ビットデータをＭＳＢから順に割り当てた８ビットの状態番号Ｓを生成し、符号化対象画素の状態番号として画素毎に符号予測回路１０５及びカウンタ更新回路１０９に出力する。この状態番号Ｓにより周囲画素値の状態は８ビットで表されることになる。
【００１７】
一方予測回路１０４では、符号化対象画素の周囲画素ｎ０〜ｎ２をバッファ１０２から取り出し、符号化対象画素Ｘに対する予測値Ｐを次式により求める。
【００１８】
Ｐ  ＝  ｎ０＋ｎ１−ｎ２        ：ｎ０，ｎ１，ｎ２は８ビットデータ
ここで求められた予測値Ｐは減算回路１０６に出力される。
【００１９】
符号予測回路１０５は、コンテキスト生成回路１０３から出力された状態Ｓのデータに基づき、この状態Ｓの発生回数Ｓｎとこの状態Ｓの時に予測誤差が負であった回数Ｓ＿ｍｉｎｕｓを後述するカウンタ１０８から取り出す。
【００２０】
ここで、Ｓｎ−Ｓ＿ｍｉｎｕｓ（即ち状態Ｓの時に予測誤差が正の値であった回数）がＳ＿ｍｉｎｕｓよりも少ない場合には信号線１１３に１を出力し、Ｓｎ−Ｓ＿ｍｉｎｕｓがＳ＿ｍｉｎｕｓ以上だった場合には信号線１１３に０を出力する。
【００２１】
減算回路１０６では、Ｘ−Ｐにより予測誤差ｅを生成し、出力する。
【００２２】
符号変換回路１０７は、信号線１１３からの入力値が０の場合には、予測誤差ｅを修正予測誤差ｅ’としてそのまま出力し、信号線１１３からの入力値が１の場合には予測誤差ｅの符号を変換した−ｅを修正予測誤差ｅ’として出力する。
【００２３】
カウンタ１０８は、符号化済の画素の各々を符号化対象画素とした時の周囲画素（ｎ０〜ｎ７）の画像データの状態Ｓの発生回数を集計した値Ｓｎを格納するものである。更には上記の各々の符号化対象画素を符号化した際に生じた予測誤差ｅが負の値であった時の回数Ｓ＿ｍｉｎｕｓを各状態Ｓに対応して格納するものである。
【００２４】
なお以上の説明において、状態Ｓは２の８乗個存在するので、発生回数Ｓｎもこれに対応して２の８乗個存在し、Ｓ＿ｍｉｎｕｓも同様に２の８乗個存在することになる。
【００２５】
カウンタ更新回路１０９は、上記のカウンタ１０８に格納されているＳｎ及びＳ＿ｍｉｎｕｓを１画素符号化する毎にインクリメントする様に制御するものであり、コンテキスト生成回路１０３から出力された状態ＳのデータによりＳｎをインクリメントし、減算回路１０６から出力された予測値ｅのデータを基にＳ＿ｍｉｎｕｓをインクリメントする。
【００２６】
ハフマン符号化回路１１１はハフマンテーブル用メモリ１１０から修正予測誤差ｅ’に対応する符号を取り出し、信号線１１２に出力する。
【００２７】
以上で説明した処理を、信号線１０１から入力される画像データが無くなるまで繰り返す。以上本実施の形態によれば、符号化済画素に対応する予測誤差の統計量に基づいて出現頻度の高い予測誤差の値に短い符号が割り当てられる様、予測誤差の正負符号を反転させ、これにより正負符号の制御された予測誤差をエントロピー符号化するので、効率良く予測符号化が行える。更に本実施の形態によれば、予測誤差の正負の出現回数をカウントするという簡単な構成により効率の良い符号長割り当てが行える。
【００２８】
（第２の実施の形態）
図３に本願発明に関わる第２の実施の形態を示すブロック図を示す。
【００２９】
図３において、１００は入力部、３０１は信号線、３０２は２ライン分の画像データを格納するバッファ、３０３は周囲画素から符号化対象画素に対する予測値を生成する予測回路、３０４は減算回路、３０５は符号判定回路、３０６は符号判定結果を格納するバッファ、３０７は符号予測のためのコンテキストを生成するコンテキスト生成回路、３０８は予測誤差の符号を予測する符号予測回路、３０９はカウンタ、３１０は符号変換回路、３１１はカウンタ更新回路、３１２はハフマン符号化回路、３１３はハフマンテーブル用メモリ、３１４は信号線である。
【００３０】
本実施の形態では、第１の実施の形態と同様に８ビットのモノクロ画像データを符号化する場合を例に説明する事とし、データ処理機能が第１の実施の形態と異なる部分のみを詳細に説明する。
【００３１】
ハフマンテーブル用メモリ３１３には、第１の実施の形態と同様、１００、３０２〜３１１の回路を用いて予めいくつかの標準画像を符号化する際に求められた予測誤差の統計に基づいて、符号化効率が良くなると思われる標準的なハフマンテーブルを格納しておくものとする。本実施の形態においても図１５の様なハフマンテーブルが用いられることになる。
【００３２】
また、カウンタ３１０で保持するデータの全てを０に初期化しておく。
【００３３】
以下詳細に説明する。まず、装置外部から信号線３０１に符号化対象となる画素値Ｘがラスタースキャン順に順序入力される。バッファ３０２は信号線３０１から入力される信号を符号化対象画素のラインとその前の１ライン、即ち２ライン分格納する。
【００３４】
予測回路３０３は符号化対象画素Ｘの直前の画素の画像データａと１ライン前の画素（直上の画素）の画像データｂ（ａ、ｂの位置は図５を参照）をバッファ３０２から取り出し、Ｐ＝（ａ＋ｂ）／２により予測値Ｐを求め出力する。
【００３５】
減算回路３０４では、予測値Ｐと符号化対象画素値Ｘを用いて、ｅ＝Ｘ−Ｐとなる様に予測誤差ｅを生成し、出力する。
【００３６】
符号判定回路３０５は、減算回路３０４から出力されたｅの符号を判定し、ｅが負の場合には０を、正の場合には１を出力する。バッファ３０６は符号判定回路３０５の生成する２値データを符号化対象画素のライン分とその前の２ライン分の合計３ライン分格納する。
【００３７】
コンテキスト生成回路３０７は、Ｓ０〜Ｓ７（図４に示す位置関係を参照）の８つの２値データを取り出し、これをＭＳＢから順に割当て、８ビットの状態番号Ｓを生成する。
【００３８】
符号予測回路３０８は、カウンタ３１０から状態Ｓにおいて予測誤差ｅが負であった回数Ｓ＿ｍｉｎｕｓと０以外の正であった回数Ｓ＿ｐｌｕｓを取り出し、Ｓ＿ｍｉｎｕｓ＞Ｓ＿ｐｌｕｓである場合には信号線３１５に１を出力し、それ以外の場合には０を出力する。
【００３９】
符号変換回路３０９では、信号線３１５から０が入力された場合には、減算回路３０４から出力された予測誤差ｅをそのまま修正予測誤差ｅ’として出力し、信号線３１５から１が入力された場合には上記の予測誤差ｅの符号を変換した−ｅを修正予測誤差ｅ’として出力する。
【００４０】
カウンタ３１０は、上述のＳ＿ｍｉｎｕｓとＳ＿ｐｌｕｓを格納しておくものである。
【００４１】
カウンタ更新回路３１１は、予測誤差ｅが負である場合にはカウンタ３１０の保持しているＳ＿ｍｉｎｕｓをインクリメントし、０以外の正であった場合はＳ＿ｐｌｕｓをインクリメントする。またｅが０であった場合には何もしない。
【００４２】
またインクリメントの処理において、Ｓ＿ｍｉｎｕｓまたはＳ＿ｐｌｕｓが一定値ａｌｐｈａ（上限値）に達した場合には、Ｓ＿ｍｉｎｕｓとＳ＿ｐｌｕｓの両方を２で割ることにより、カウンタに保持する値を一定値ａｌｐｈａ以下に保つ様にする。
【００４３】
ハフマン符号化回路３１２は修正予測誤差ｅ’に対応するハフマン符号をハフマンテーブル用メモリ３１３から取り出し、信号線３１４に出力する。
【００４４】
以上の処理を入力部１００に入力される最後の画画像データまで繰り返す。
【００４５】
本実施の形態によれば第１の実施の形態と同様の効果が得られる。また状態番号Ｓの生成は予測誤差の正負符号を用いて行うので第１実施例よりも処理が容易である。
【００４６】
（第３の実施の形態）
以下に、図面を参照して詳細に説明する。
【００４７】
図６は、第３の実施の形態を示す全体図である。
【００４８】
同図において１１００は画像データを入力するための入力部、１１０１は信号線、１１０２は２ライン分の画像データを格納するバッファ、１１０３は周辺画素からコンテキストを生成するコンテキスト生成回路、１１０４は周辺画素から符号化対象画素の予測値Ｐを生成する予測回路、１１０５は各コンテキストに対するＧｏｌｏｍｂ−Ｒｉｃｅパラメータｋを保持するメモリ、１１０６はパラメータｋを選択するパラメータｋ選択回路、１１０７は予測値Ｐを予測値Ｐ’に修正する予測修正回路、１１０８は符号化対象画素の画像データから予測値Ｐ’を減算する減算回路、１１０９は後述する領域予測を行う領域予測回路、１１１０は減算回路１１０８から出力された予測誤差ｅを後述する処理によりｅ’に変換する領域変換回路、１１１１は後述する８個のＲ（ｋ）を格納するレジスタである。１１１２はレジスタのＲ（ｋ）を更新するレジスタ更新回路、１１１３は後述するＧｏｌｏｍｂ−Ｒｉｃｅ符号化を行うＧｏｌｏｍｂ−Ｒｉｃｅ符号化回路、１１１４は符号化データを出力する信号線、１１１５は符号化方式を選択する制御を行う符号化方式セレクタ、１１１６は算術符号化を行う算術符号化回路、１１１７は符号化方式の選択信号を送信するための信号線、１１１８は上記領域変換回路１１１０による予測誤差ｅの変換を制御する制御信号を出力するための信号線である。
【００４９】
以下本実施の形態で用いるＧｏｌｏｍｂ−Ｒｉｃｅ符号化を中心とする全体処理の概略を説明する。
【００５０】
Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化は、２値データのランレングスのように１方向に減少する確率分布をもつ非負の整数を符号化対象とする。非負の整数値に対して割り当てられる符号語は、出現確率の減少の度合いによって設定されるパラメータｋ（ｋ）は非負の整数値）により異なる。
【００５１】
このパラメータｋは、予測誤差が一番発生し易い値（即ち出現確率が最も高い値）（図８の各ヒストグラムでいえば、ｅ＝０，−１／２に対応する）から発生しずらい値（即ち出現確率が最も低い値）（図８のヒストグラムでいえば、ｅ＝０，−１／２から左右方向の値）に向かい出現確率の減少が急である場合には小さな値、緩やかである場合には大きな値となる。パラメータｋが与えられた場合の、非負の整数値ＮのＧｏｌｏｍｂ−Ｒｉｃｅ符号化による符号化手順は次の通りである。
【００５２】
まず、符号化対象である非負の整数値Ｎを２進表現する。次に、これを下位ｋビット部分と上位の残りのビット部分に分割する。下位ｋビット部分に、上位の残りのビット部分を十進で表現される数だけの「０」を付加し、最後に「１」を付加して符号化語とする。例えば、ｋ＝２、Ｎ＝１３の場合、Ｎの２進表現”１１０１”の下位２ビット”０１”に上位の残りのビット部分”１１”が表す数、即ち３個の”０を付加して”０１０００”とし、最後に”１”を付加して符号語”０１０００１”を生成するという具合である。
【００５３】
図１２にパラメータｋ＝０，１，２の場合の非負の整数値と符号化語の対応を示す。このＧｏｌｏｍｂ−Ｒｉｃｅ符号化を正と負の両方向に減少する確率分布をもつ予測誤差ｅの符号化に適用するためには、予測誤差ｅを非負の整数値にマッピングする必要がある。
【００５４】
例えば、予測誤差ｅを０，−１，１，−２，２，−３，３，・・・という様な順序で非負の整数値０，１，２，３，４，５，６，・・・にマッピングし、これをＧｏｌｏｍｂ−Ｒｉｃｅ符号化するといった方法が用いられる。Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化では、２のｋ乗個のシンボルに等長の符号が与えられるので、このようなマッピングを行なった場合には正の部分より負の部分に対して全体的に短い符号が割り当てられることになる。
【００５５】
いいかえればこの場合、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化のパラメータｋ＞０の場合には予測誤差ｅが−１／２の値を中心として左右対称に符号長が割り当てられる。
【００５６】
これに合わせて、予測誤差の発生分布の中心を−１／２にずらした方が符号量が少なくなるため、種々の方法（例えば予測値を修正することにより予測誤差の平均値が０から−１／２になる様に操作する等）を用いて予測誤差分布を移動させることが必要である。
【００５７】
一方、予測符号化のエントロピー削減方法の１つに第１の実施の形態の様な符号予測がある。これは符号化済画素に対応する予測誤差の符号（＋か−か）の統計を基に、符号化対象画素の予測誤差の符号を予測し、この予測結果に従い、必要に応じた符号反転を行うことにより、符号の＋／−の何れかに偏りを持たせてエントロピーを減少させるものである。
【００５８】
予測誤差の発生分布の中心が−１／２になる様に操作した場合には、第１、第２の実施の形態の様な正負符号の予測により正負符号の反転を行ったとしてもマイナスの符号の発生回数が多くなるのが当然であり、第１、第２の実施の形態の様な符号予測に基づく符号反転では、マイナスの予測誤差が全てプラスに符号反転されるだけであり、本来の符号反転の意味がなくなってしまう。即ち予測誤差の発生分布の中心を−１／２に操作した際には、予測誤差の反転（変換）の中心も−１／２にしなければ上述の処理の効果が得られない。よって本実施の形態ではこの様な場合も考慮に入れた符号化方法を提供するものであり、以下詳細に説明する。
【００５９】
以下、図６の処理の流れについて説明する。
【００６０】
ここでは８ビット（０から２５５の値）のモノクロ画像データを符号化する場合を例に説明する。メモリ１１０５には予め幾つかの画像でテストして、各状態番号Ｓ（コンテキスト）に適したパラメータｋの値を格納しておくものとする。
【００６１】
図１４は、メモリ１１０５に格納されている状態番号Ｓとパラメータｋの対応表の一例を示したものである。メモリ１１０５は入力された状態番号Ｓを用いて上記の対応表を参照し、対応するパラメータｋを出力する。
【００６２】
また、レジスタ１１１１では、パラメータｋ毎（本実施の形態ではｋ＝０〜７の８個）の領域判定値Ｒ（ｋ）を保持するが、このカウント値の全てを０に初期化しておく。領域判定値Ｒ（ｋ）については後述する。
【００６３】
本実施の形態は、エントロピー符号化の方式としてＧｏｌｏｍｂ−Ｒｉｃｅ符号化回路１１１３が行うＧｏｌｏｍｂ−Ｒｉｃｅ符号化と算術符号化回路１１１６が行う算術符号化を有しており、ユーザが必要に応じてどちらか一方の符号化方式を選択できる様になっている。
【００６４】
エントロピー符号化を行なう前に、装置外部から信号線１１１７を通じて符号化方式選択信号が与えられるものとする。この符号化方式選択信号は、算術符号化を使用する場合には「０」、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化を使用する場合には「１」を与えるものとする。
【００６５】
次に、本実施の形態での各処理部の動作を順に説明する。
【００６６】
まず、入力部１１００から符号化対象画素の画像データがラスタースキャン順に入力され、信号線１１０１を通じてバッファ１１０２、減算器１１０８に入力される。
【００６７】
バッファ１１０２は信号線１１０１から入力される画像データを２ライン分格納する。コンテキスト生成回路１１０３では、まず、符号化対象画素の周辺画素値ａ，ｂ，ｃ（図７の画素の位置関係を参照）に対応する画像データをバッファ１１０２から入力する。
【００６８】
続いて、コンテキスト生成回路１１０３は、ａ−ｃ，ｂ−ｃの差分値を算出し、図１０に示す差分値とレベルの対応表に従って各差分値を７レベルに量子化した値ｑ（ａ−ｃ），ｑ（ｂ−ｃ）を求める。これら２つの値ｑ（ａ−ｃ），ｑ（ｂ−ｃ）の組み合わせにより、図１４に示す４９個の状態を表す状態番号Ｓ（Ｓ＝０〜４８）を生成し出力する。なお、本実施例において、状態番号ＳはＳ＝（ｑ（ａ−ｃ）＋３）×７＋ｑ（ｂ−ｃ）＋３の式により与えられる。
【００６９】
予測回路１１０４では、符号化対象画素の周囲画素値ａ，ｂ，ｃをバッファ１１０２から入力し、符号化対象画素ｘに対する予測値ＰをＰ＝ａ＋ｂ−ｃにより求める。
【００７０】
パラメータｋ選択回路１１０６は、メモリ１１０５に格納されている状態番号Ｓとパラメータｋの対応表をもとにコンテキスト生成回路１１０３で生成した状態番号Ｓに対応するパラメータｋを読み出し、出力する。
【００７１】
予測修正回路１１０７は、入力されたパラメータｋが０である場合には予測値ＰをそのままＰ’として出力する。
【００７２】
パラメータｋが０でない場合には予測値Ｐに修正値Ｍ（ｋ）を加算し、Ｐ’として減算回路１１０８に出力する。この修正値Ｍ（ｋ）の初期値は０であり、Ｍ（ｋ）＝１−Ｍ（ｋ）により更新される。即ち、Ｍ（ｋ）は０と１を繰り返す。
【００７３】
減算回路１１０８は、ｅ＝ｘ−Ｐ’により予測誤差ｅを生成する。領域予測回路１１０９は、入力されたパラメータｋに基いて、レジスタ１１１１に保持されている領域判定値Ｒ（ｋ）を読み出す。例えばｋ＝２ならばＲ（２）を読み出す。Ｒ（ｋ）についての詳細は後述する。
【００７４】
領域判定値Ｒ（ｋ）は、パラメータｋ（ｋ＝０〜７）の夫々の場合において発生した符号化済画素の前までの予測誤差が、図８に示す斜線領域（ｋ＝０の場合には、予測誤差が−１以下の領域を示し、また、ｋ＞０の場合には、予測誤差が０以上の整数である領域を示す）と、非斜線領域（同様にｋ＝０の場合には、予測誤差が１以上の領域を示し、ｋ＞０の場合には、予測誤差が−１以下の整数である領域を示す）のどちらに多く存在したかを表すカウント値であり、Ｒ（ｋ）＞０ならば、符号化対象画素に対する予測誤差が非斜線領域に存在すると予測し、領域変換回路１１１０で領域変換を行なう様に指示する制御信号「１」を信号線１１１８に出力する。
【００７５】
また、Ｒ（ｋ）＜０の場合には、符号化対象画素の予測誤差が斜線領域に存在すると予測し、領域変換回路１１１０で領域変換を行なわないように、制御信号「０」を信号線１１１８に出力する。
【００７６】
領域変換回路１１１０では、信号線１１１８から入力される制御信号（１ｏｒ０）に従って、パラメータｋに応じた方法で予測誤差ｅの変換を行なう。
【００７７】
即ち、制御信号が「０」である場合には、減算回路１１０８から入力された予測誤差ｅをそのままｅ’として出力する。制御信号が「１」である場合には、予測誤差ｅを領域変換し、出力する。この領域変換の方法はパラメータｋが０の場合と０でない場合で異なる。
【００７８】
まずパラメータｋが０の場合には、単純に予測誤差ｅの符号を反転し、出力する。即ち、ｅ’＝−ｅとし、出力する。
【００７９】
また、パラメータｋが０でない場合には、図９に示すように、予測誤差ｅのバイナリ表現においての反転処理を行なう。即ち、予測誤差ｅ＝−１／２の点を中心として、対象領域に写像（対称変換）した新たな予測誤差ｅ’（ｅ’＝−ｅ−１の関係）を出力することになる。
【００８０】
以上の処理により、後述されるエントロピー符号化が行われる際に用いられる整数値（例えば図１２の整数値等）０，１，２，３，・・・の順に発生頻度の高い予測誤差がマッピングされることになる。
【００８１】
また、説明が前後するが上述の処理（領域予測回路１１０９で制御信号１１１８を出力する処理）に伴って、レジスタ更新回路１１１２は、レジスタ１１１１に保持するＲ（ｋ）のうち、上述の処理に用いたパラメータｋに対応するＲ（ｋ）の更新も行なう。
【００８２】
具体的に説明すると、例えば、パラメータｋ＝０が入力された場合には、領域変換前の予測誤差ｅが１以上ならばＲ（ｋ＝０）をインクリメントし、−１以下ならばＲ（ｋ＝０）をデクリメントする。（予測誤差ｅが０のときは何もしない。）また、パラメータｋが０以外の場合には、領域変換前の予測誤差ｅが−１以下ならばＲ（ｋ）（ｋ＝１〜７の何れか）をインクリメントし、０以上ならばＲ（ｋ）（ｋ＝１〜７の何れか）をデクリメントする。
【００８３】
以上の更新処理により更新されたＲ（ｋ）が、次の符号化対象画素以降の処理に用いられる。即ち以上の符号化処理は画素単位に行われる。
【００８４】
次に、符号化方式セレクタ１１１５は、装置外部から信号線１１１７を通じて入力される符号化方式選択信号が「０」ならば領域変換回路１１１０から出力される予測誤差ｅ’を算術符号化回路１１１６へ入力し、符号化方式選択信号が「１」ならばｅ’をＧｏｌｏｍｂ−Ｒｉｃｅ符号化回路１１１３へ入力する様にエントロピー符号化を制御する。
【００８５】
符号化方式として算術符号化が選択された場合には、入力されたパラメータｋを用い、算術符号化回路１１１６で、予測誤差ｅ’を２値系列に変換し、これを２値算術符号化する。
【００８６】
ここでは２値算術符号化の方式としてＪＢＩＧで使用されているＱＭ−Ｃｏｄｅｒを使用する。なお算術符号化回路１１１６は２値算術符号化に限らず、公知の多値算術符号化を用いても良い。
【００８７】
尚、上述の２値系列への変換は、ｅが正ならば、２ｅの個の「０」に「１」を最後に付加することにより行ない、また、ｅが負ならば、−２ｅ−１個の「０」に「１」を付加することにより行う。
【００８８】
図１１に２値系列への変換の一例を示す。生成した２値系列はパラメータｋ選択回路１１０６で生成されるパラメータｋと２値系列の先頭からのビット数ｎによって状態分割して２値算術符号化される。生成された符号系列は信号線１１１４に出力される。
【００８９】
また、符号化方式としてＧｏｌｏｍｂ−Ｒｉｃｅ符号化を選択した場合には、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化回路１１１３は、入力されたパラメータｋに基づいて領域変換回路１１１０から出力される予測誤差ｅ’を次式により非負の整数値Ｉ（ｅ’）（Ｉ（ｅ’）の値は図１３を参照）に変換し、Ｉ（ｅ’）をパラメータｋでＧｏｌｏｍｂ−Ｒｉｃｅ符号化し、信号線１１１４に符号化データを出力する。
【００９０】
上述の処理を、信号線１１０１より入力される最後の画素まで繰り返し、符号化を行う。
【００９１】
以上により、信号線１１１７からの符号化方式選択信号により選択された符号化方式に対応する符号系列を切り換えて生成することができる。
【００９２】
（その他の実施の形態）
本願発明は上述した実施の形態に限定されるものではなく、例えば、注目画素値の予測方法として単純に前値予測を用いても良いし、幾つかの予測方法を用意して、適宜切り換えても良い。
【００９３】
また、エントロピー符号化手段としてＧｏｌｏｍｂ−Ｒｉｃｅ符号化と算術符号化とハフマン符号化を用いているが、他のエントロピー符号化を用いても良く、第３の実施の形態において他の符号化もパラレルに用いれば多数の符号化効率、符号化速度に対応することが可能である。
【００９４】
また、上述の実施の形態では予測誤差の分布の中心が０の場合と、−１／２の場合に対応する符号化方法について述べたが、それ以外の場合に対応する符号化方法も、−１／２の場合と同様に構成できる。
【００９５】
また、本願発明は上述の第１、第２、第３の実施の形態に限定されるものではない。例えば、符号化対象画素値の予測方法として単純に前値予測を用いても良いし、いくつかの予測方法を用意して、適宜切り換えても構わない。
【００９６】
なお、本発明の符号化処理は複数の機器（たとえばホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても１つの機器（たとえば複写機、ファクシミリ装置）からなる装置に適用してもよい。
【００９７】
また前述した実施の形態の機能を実現する様に各種のデバイスを動作させるためのソフトウエアのプログラムコードを供給し、上記システムあるいは装置がこのプログラムコードに従って前記各種デバイスを動作させることで本発明の符号化を実現しても良い。
【００９８】
またこの場合、前記ソフトウエアのプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明に含まれる。
【００９９】
かかるプログラムコードを格納する記憶媒体としては例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることが出来る。
【０１００】
またコンピュータが供給されたプログラムコードを実行することにより、前述の実施の形態の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）、あるいは他のアプリケーションソフト等と共同して前述の実施例の機能が実現される場合にもかかるプログラムコードは本願発明の実施例に含まれることは言うまでもない。
【０１０１】
更に供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も本願発明に含まれることは言うまでもない。
【０１０２】
【発明の効果】
以上本発明によれば、符号化済画素に対応する予測誤差の統計量に基づいて予測誤差の値を変化させた後、変化した予想誤差を符号化するので、予測符号化する際に用いられる予測誤差を効率良くエントロピー符号化することができる。
【０１０３】
もちろん復号化側でも符号化側と同様の処理（復号化済み予測誤差の統計量に基づいて予測誤差の変化を元に戻す処理）を行うので確実に復号できる。
【０１０４】
特に本発明は、上記効率の良い符号化を、予測誤差ｅは所定の予測誤差を中心として対象の値となるｅ’に変換するという簡易な方式で行うことができる。
【０１０６】
また、本発明は符号化済み画素に対する予測誤差の統計量に基づいて符号化対象画素に対する予測誤差を符号化するのでリアルタイムに符号化する事が可能である。従って画像データを大量に蓄積したり、画像を複数回スキャナーで走査したりする事がない。
【図面の簡単な説明】
【図１】本願発明の第１の実施の形態を説明する為のブロック図
【図２】符号化対象画素と周囲画素の位置関係を示す図
【図３】本願発明の第２の実施の形態を説明する為のブロック図
【図４】コンテキスト（周囲画素の状態Ｓ）生成時に利用する２値判定結果の画素位置の図
【図５】本願発明の第２の実施の形態において予測符号化の方法の説明図
【図６】第３の実施の形態でのブロック図
【図７】注目画素と周辺画素の位置関係を示す図
【図８】ｋ＝０の場合と、ｋ＞０の場合での領域の分割方法を示す図
【図９】ｋ＞０の場合の、領域変換回路１１１０における領域変換処理を示す図
【図１０】予測誤差の量子化の方法を示す図
【図１１】算術符号化回路１１６での２値系列への変換を示す図
【図１２】パラメータｋ０，１，２におけるＧｏｌｏｍｂ−Ｒｉｃｅ符号化を説明する図
【図１３】Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化されるＩ（ｅ）の値を表す図
【図１４】状態番号Ｓとパラメータｋの対応図
【図１５】第１、第２の実施の形態に用いるハフマンテーブルの図
【符号の説明】
１１０１，１１１４，１１１７，１１１８  信号線
１１０２  画像データ系列を格納するバッファ
１１０３  コンテキスト生成回路
１１０４  予測回路
１１０５  メモリ
１１０６  パラメータｋ選択回路
１１０７  予測修正回路
１１０８  減算回路
１１０９  領域予測回路
１１１０  領域変換回路
１１１１  レジスタ
１１１２  レジスタ更新回路
１１１３  Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化回路
１１１５  符号化方式セレクタ
１１１６  算術符号化回路
【図１】
0003943634.tif 000002
【図２】
0003943634.tif 000003
【図３】
0003943634.tif 000004
【図４】
0003943634.tif 000005
【図５】
0003943634.tif 000006
【図６】
0003943634.tif 000007
【図７】
0003943634.tif 000008
【図８】
0003943634.tif 000009
【図９】
0003943634.tif 000010
【図１０】
0003943634.tif 000011
【図１１】
0003943634.tif 000012
【図１２】
0003943634.tif 000013
【図１３】
0003943634.tif 000014
【図１４】
0003943634.tif 000015
【図１５】
0003943634.tif 000016