(57)【要約】  【課題】  より効率的な符号化処理を実現する符号化装置を提供する。  【解決手段】  画像処理装置２は、ランレングス符号化処理において、一致長及び不一致長を固定長符号で表現し、かつ、一致長及び不一致長に対して固定長符号の符号群を排他的に割り当てる。一致長及び不一致長の符号割当比率は、入力画像（例えば、ランの発生率など）に応じて変更する。これにより、固定長符号の符号空間を有効に利用でき、かつ、ビット単位の演算を必要とせず、高速な符号化が実現できる。【選択図】図２
2007221439.tif 000002
【特許請求の範囲】
【請求項１】
既定の予測方法を用いて、処理対象のデータを予測し、予測が連続して的中する回数を符号化する連続的中数符号化手段と、
前記予測方法による予測結果が連続して外れる回数を符号化する連続外れ数符号化手段と、
前記連続的中数符号化手段により生成される符号に対して、既定長のビット列で表現される符号空間の一部を割り当て、前記連続外れ数符号化手段により生成される符号に対して、前記符号空間の他部を割り当てる割当手段と
を有する符号化装置。
【請求項２】
前記割当手段は、処理対象のデータに応じて、前記連続的中数符号化手段により生成される符号に対して割り当てる符号空間と、前記連続外れ数符号化手段により生成される符号に対して割り当てる符号空間との比率を変更する
請求項１に記載の符号化装置。
【請求項３】
前記連続的中数符号化手段は、処理対象のデータと、直前のデータとが連続して一致する回数を符号化し、
前記連続外れ数符号化種段は、処理対象のデータと、直前のデータとが連続して不一致となる回数を符号化する
請求項１又は２に記載の符号化装置。
【請求項４】
符号空間のうち、予測が連続して的中する場合の連続数に対して割り当てられた一致符号群と、予測が連続して外れた場合の連続数に対して割り当てられた不一致符号群とを判別する符号判別手段と、
処理対象となる注目符号が前記符号判別手段により一致符号群に属すると判別された場合に、この注目符号に対応する連続的中数に基づいて、復号データを生成する第１の復号手段と、
処理対象となる注目符号が前記符号判別手段により不一致符号群に属すると判別された場合に、この注目符号に対応する連続外れ数に基づいて、復号データを生成する第２の復号手段と
を有する復号化装置。
【請求項５】
予測符号化方式で符号化処理を行うコンピュータにおいて、
予測処理の連続的中数に対して、既定長のビット列で表現される符号空間の一部を割り当てるステップと、
予測処理の連続外れ数に対して、前記符号空間の他部を割り当てるステップと、
前記予測処理によって予測が連続して的中した回数を、連続的中数に割り当てられた符号空間を用いて符号化するステップと、
前記予測処理によって予測が連続して外れる回数を、連続外れ回数に割り当てられた符号空間を用いて符号化するステップと
を前記コンピュータに実行させるプログラム。
【請求項６】
予測符号化方式で復号化処理を行うコンピュータにおいて、
処理対象となる注目符号が、予測の連続的中数に対して割り当てられた一致符号群に属するか、予測の連続外れ数に対して割り当てられた不一致符号群に属するかを判別するステップと、
処理対象となる注目符号が前記一致符号群に属すると判別された場合に、この注目符号に対応する連続的中数に基づいて、復号データを生成するステップと、
処理対象となる注目符号が前記不一致符号群に属すると判別された場合に、この注目符号に対応する連続外れ数に基づいて、復号データを生成するステップと
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを符号化する符号化装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、同一情報が入力される状態の連続回数及び互いに異なる情報が入力される状態の連続回数を可変長符号化する情報符号化方法が開示されている。
【特許文献１】特開２００１−２１７７２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、上述した背景からなされたものであり、より効率的な符号化処理を実現する符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
［符号化装置］
上記目的を達成するために、本発明にかかる符号化装置は、既定の予測方法を用いて、処理対象のデータを予測し、予測が連続して的中する回数を符号化する連続的中数符号化手段と、前記予測方法による予測結果が連続して外れる回数を符号化する連続外れ数符号化手段と、前記連続的中数符号化手段により生成される符号に対して、既定長のビット列で表現される符号空間の一部を割り当て、前記連続外れ数符号化手段により生成される符号に対して、前記符号空間の他部を割り当てる割当手段とを有する。
【０００５】
好適には、前記割当手段は、処理対象のデータに応じて、前記連続的中数符号化手段により生成される符号に対して割り当てる符号空間と、前記連続外れ数符号化手段により生成される符号に対して割り当てる符号空間との比率を変更する。
【０００６】
好適には、前記連続的中数符号化手段は、処理対象のデータと、直前のデータとが連続して一致する回数を符号化し、前記連続外れ数符号化種段は、処理対象のデータと、直前のデータとが連続して不一致となる回数を符号化する。
【０００７】
［復号化装置］
また、本発明にかかる復号化装置は、符号空間のうち、予測が連続して的中する場合の連続数に対して割り当てられた一致符号群と、予測が連続して外れた場合の連続数に対して割り当てられた不一致符号群とを判別する符号判別手段と、処理対象となる注目符号が前記符号判別手段により一致符号群に属すると判別された場合に、この注目符号に対応する連続的中数に基づいて、復号データを生成する第１の復号手段と、処理対象となる注目符号が前記符号判別手段により不一致符号群に属すると判別された場合に、この注目符号に対応する連続外れ数に基づいて、復号データを生成する第２の復号手段とを有する。
【０００８】
［プログラム］
また、本発明にかかるプログラムは、予測符号化方式で符号化処理を行うコンピュータにおいて、予測処理の連続的中数に対して、既定長のビット列で表現される符号空間の一部を割り当てるステップと、予測処理の連続外れ数に対して、前記符号空間の他部を割り当てるステップと、前記予測処理によって予測が連続して的中した回数を、連続的中数に割り当てられた符号空間を用いて符号化するステップと、前記予測処理によって予測が連続して外れる回数を、連続外れ回数に割り当てられた符号空間を用いて符号化するステップとを前記コンピュータに実行させる。
【０００９】
また、本発明にかかるプログラムは、予測符号化方式で復号化処理を行うコンピュータにおいて、処理対象となる注目符号が、予測の連続的中数に対して割り当てられた一致符号群に属するか、予測の連続外れ数に対して割り当てられた不一致符号群に属するかを判別するステップと、処理対象となる注目符号が前記一致符号群に属すると判別された場合に、この注目符号に対応する連続的中数に基づいて、復号データを生成するステップと、処理対象となる注目符号が前記不一致符号群に属すると判別された場合に、この注目符号に対応する連続外れ数に基づいて、復号データを生成するステップとを前記コンピュータに実行させる。
【発明の効果】
【００１０】
本発明の符号化装置によれば、より効率的な符号化処理を実現することができる。
【発明を実施するための最良の形態】
【００１１】
まず、本発明の理解を助けるために、その背景及び概略を説明する。なお、以下の説明では、画像データを符号化する場合を具体例として説明するが、これに限定されるものではなく、バイナリデータ又は音声データなど他のデータを符号化する場合にも本発明を適用できる。
ランレングス符号化方式（連長符号化方式）では、画素値が変化しない場合（すなわち、同一画素値が連続する場合）には、その連続数がカウントされ、カウントされた連続数及びこの画素値が被符号化シンボルとなり、画素値が変化する場合（すなわち、前後の画素値が異なる場合）には、その連続数をカウントし、カウントされた連続数及びこれらの画素値群が被符号化シンボルとなる。
【００１２】
図１（Ａ）は、ランレングス符号化方式の符号データを例示し、図１（Ｂ）は、符号の一部を可変長符号としたランレングス符号データを例示し、図１（Ｃ）は、図１（Ｂ）の符号データで用いられる符号表を例示する図である。
図１（Ａ）に例示するように、ランレングス符号化方式では、同一画素値が連続する場合には、一致長（すなわち、同一画素値が連続する数）と、その画素値とが被符号化シンボルとなり、一致長の符号及び画素値の符号が、それぞれ１バイトで表現される。また、画素値が変化する場合には、その旨を示す識別子（リテラル）と、不一致長（すなわち、画素値が連続して変化する数）と、これらの画素の画素値とが被符号化シンボルとなり、リテラルの符号、不一致長の符号、及び各画素値の符号が、それぞれ１バイトで表現される。
【００１３】
また、図１（Ｂ）及び図１（Ｃ）に例示するように、最大不一致長と最大一致長を変化させて、可変長符号化処理を行ってもよい。この場合には、図１（Ａ）に示したランレングス符号化よりも効率的な符号化が実現される。しかしながら、図１（Ｂ）及び図１（Ｃ）に示す符号化処理では、最大一致長及び最小不一致長に対して最短符号を、最大不一致長に最長符号を割り当てて可変長符号化を行うため、ビット単位での演算が必要となり、処理速度が遅い。
【００１４】
そこで、本実施形態における画像処理装置２は、最大不一致長と最大一致長との和が一定値（すなわち、固定長のビット列で表現されるデータ数）となる範囲を満たしながら、それぞれに割り当てる領域を変化させる。
【００１５】
より具体的には、本画像処理装置２は、図２（Ａ）に例示するように、一致長及び不一致長を固定長符号（本例では、１バイト）で表現し、かつ、図２（Ｂ）に例示するように、一致長及び不一致長に対して、固定長符号の符号群を排他的に割り当てる。そのため、ビット単位の演算を必要とせず、高速な符号化が実現できる。
【００１６】
さらに、本画像処理装置２は、図２（Ｂ）の割当境界の位置を変更して、最大不一致長と最大一致長を入力画像に応じて制御することにより、より効率のよい符号化を可能にする。例えば、画像処理装置２は、一致確率が高い場合には、一致長に割り当てる符号の数を増加させ、不一致確率が高い場合には、不一致長に割り当てる符号の数を増加させる。
【００１７】
［ハードウェア構成］
次に、本実施形態における画像処理装置２のハードウェア構成を説明する。
図３は、本発明にかかる符号化方法及び復号化方法が適応される画像処理装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
図３に例示するように、画像処理装置２は、ＣＰＵ２０２及びメモリ２０４などを含む制御装置２０、通信装置２２、ＨＤＤ・ＣＤ装置などの記録装置２４、並びに、ＬＣＤ表示装置あるいはＣＲＴ表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２６から構成される。
画像処理装置２は、例えば、プリンタ装置１０に設けられた処理装置であり、通信装置２２又は記録装置２４などを介して画像データを取得し、取得された画像データを符号化する。
【００１８】
［符号化プログラム］
図４は、制御装置２０（図３）により実行され、本発明にかかる符号化方法を実現する符号化プログラム５の機能構成を例示する図である。
図４に例示するように、符号化プログラム５は、予測部５１０、符号割当部５２０、一致長計数部５３０、不一致長計数部５４０、及び、符号生成部５５０を有する。
【００１９】
符号化プログラム５において、予測部５１０は、既定の予測方法を用いて、注目データのデータ値を予測し、予測値がデータ値と一致しているか否かを符号割当部５２０、一致長計数部５３０及び不一致長計数部５４０に出力する。
本例の予測部５１０は、注目画素Ｘの画素値と、注目画素Ｘの直前画素Ａの画素値とを比較して、比較結果（一致又は不一致）を符号割当部５２０、一致長計数部５３０及び不一致長計数部５４０に出力する。
【００２０】
符号割当部５２０は、固定長のビット列で表現される符号群の一部を、一致長に割り当て、この符号群の他部を、不一致長に割り当てる。
例えば、符号割当部５２０は、予測部５１０から入力される比較結果（一致又は不一致）に基づいて、一致長に割り当てる符号の数と、不一致長に割り当てる符号の数を変更する。例えば、既定の範囲内における一致率が高いほど、一致長に割り当てる符号の数を増加させ、これに応じて、不一致長に割り当てる符号の数を減少させる。
本例の符号割当部５２０は、予測部５１０から入力される比較結果に基づいて、直近５０画素における一致率を算出し、算出された一致率に応じて、一致長及び不一致長に割り当てる符号表を切り替える。
【００２１】
一致長計数部５３０は、予測部５１０から入力される比較結果に基づいて、予測が連続して的中する回数を計数し、計数結果（すなわち、連続的中数）を符号生成部５５０に出力する。
本例の一致長計数部５３０は、予測部５１０から入力される比較結果（一致又は不一致）に基づいて、画素値が一致する画素の連続数（すなわち、一致長）を計数し、その一致長を符号生成部５５０に出力する。
【００２２】
不一致長計数部５４０は、予測部５１０から入力される比較結果に基づいて、予測が連続して外れる回数を計数し、計数結果（すなわち、連続外れ数）を符号生成部５５０に出力する。
本例の不一致長計数部５４０は、予測部５１０から入力される比較結果（一致又は不一致）に基づいて、直前画素と画素値が一致しない画素の連続数（すなわち、不一致長）を計数し、その不一致長を符号生成部５５０に出力する。
【００２３】
符号生成部５５０は、符号割当部５２０により一致長及び不一致長に割り当てられた固定長符号を用いて、一致長計数部５３０から入力される一致長、及び、不一致長計数部５４０から入力される不一致長を符号化する。
なお、本例の符号生成部５５０は、一致長又は不一致長を符号化することに加えて、図２（Ａ）に例示するように、同一画素値が連続している場合（すなわち、一致長に対応する画素群を符号化する場合）に、この画素値９０２を固定長符号で符号化し、画素値が変化している場合（すなわち、不一致長に対応する画素群を符号化する場合）に、これらの画素群の画素値９１２Ａ〜９１２Ｎそれぞれを固定長符号で符号化する。
【００２４】
図５は、符号割当部５２０により選択される符号表を例示する図であり、図５（Ａ）は、一致率が既定の中間的な範囲（５０％を含む範囲）内である場合に用いられる標準符号表８００を例示し、図５（Ｂ）は、一致率が上記範囲を下回る場合に用いられる低的中率符号表８０２を例示し、図５（Ｃ）は、一致率が上記範囲を超える場合に用いられる高的中率符号表８０４を例示する。
図５（Ａ）に例示するように、標準符号表８００では、一致長に割り当てられる符号数と、不一致長に割り当てられる符号数とが同一である。また、図５（Ｂ）に例示するように、一致率が低い場合に用いられる低的中率符号表８０２では、一致長に割り当てられる符号数が、不一致長に割り当てられる符号数よりも少ない。逆に、図５（Ｃ）に例示するように、一致率が高い場合に用いられる高的中率符号表８０４では、一致長に割り当てられる符号数が、不一致長に割り当てられる符号数よりも多い。
これは、入力画像を無記憶情報源であると仮定すると、最大不一致長Neは、おおよそ、不一致確率Peを用いて以下の式で表すことができる。
Ne = log(0.5) / log (Pe)
このように、不一致確率から最大不一致長を推定できる。したがって、符号割当部５２０は、図５に例示する符号表を、一致率又は不一致率に応じて切り替えることにより、最大一致長及び最大不一致長に応じた符号の割当てを行うことができる。なお、本例では、固定長符号で表現される符号数が２５６である場合（すなわち、符号長は１バイト）を具体例とするため、最大一致長Nhは、（２５６−Ne）となる。
これにより、所定の入力処理単位毎に、最大一致長及び最大不一致長を制御すれば、一層効率的な符号化が実現できる。
【００２５】
［符号化処理］
次に、画像処理装置２（符号化プログラム５）の動作を説明する。
図６は、符号化プログラム５（図４）による符号化処理（Ｓ１０）のフローチャートである。
図６に示すように、ステップ１００（Ｓ１００）において、符号化プログラム５（図４）は、外部から、画像データが入力されると、入力された画像データにおいて走査順に注目画素Ｘを設定する。注目画素とは、処理対象となる画素である。
予測部５１０は、注目画素Ｘの画素値と、次の画素の画素値とを比較し、比較結果（一致又は不一致）を符号割当部５２０、一致長計数部５３０及び不一致長計数部５４０に出力する。
【００２６】
ステップ１０５（Ｓ１０５）において、符号割当部５２０は、予測部５１０から入力される比較結果に基づいて、既定の範囲の画素群における一致率を算出し、算出された一致率に基づいて、図５に例示した符号表のいずれかを選択する。
【００２７】
ステップ１１０（Ｓ１１０）において、符号化プログラム５は、注目画素Ｘと次の画素とが同一の画素値を有する場合には、Ｓ１１５の処理に移行し、注目画素Ｘと次の画素とが互いに異なる画素値を有する場合には、Ｓ１２０の処理に移行する。
【００２８】
ステップ１１５（Ｓ１１５）において、一致長計数部５３０は、予測部５１０から一致した旨の比較結果が入力されると、一致長のカウントを開始する。
符号化プログラム５は、予測部５１０により不一致と判断されるまで、注目画素Ｘを走査順に更新していき、予測部５１０は、順次更新される注目画素Ｘの画素値と、その次の画素の画素値とを比較して、比較結果を符号割当部５２０、一致長計数部５３０及び不一致長計数部５４０に出力する。
予測部５１０がいずれかの注目画素Ｘについて不一致であると判断すると、一致長計数部５３０は、これまでにカウントした一致長を符号生成部５５０に出力する。
【００２９】
ステップ１２０（Ｓ１２０）において、不一致長計数部５４０は、予測部５１０から不一致である旨の比較結果が入力されると、不一致長のカウントを開始する。
符号化プログラム５は、予測部５１０により一致する判断されるまで、注目画素Ｘを走査順に更新していき、予測部５１０は、順次更新される注目画素Ｘの画素値と、その次の画素の画素値とを比較して、比較結果を符号割当部５２０、一致長計数部５３０及び不一致長計数部５４０に出力する。
予測部５１０がいずれかの注目画素Ｘについて一致すると判断すると、不一致長計数部５４０は、これまでにカウントした不一致長を符号生成部５５０に出力する。
【００３０】
ステップ１２５（Ｓ１２５）において、符号生成部５５０は、符号割当部５２０により選択された符号表を用いて、一致長計数部５３０から入力される一致長、又は、不一致長計数部５４０から入力される不一致長を符号化する。
さらに、符号生成部５５０は、一致長を符号化した場合には、この一致長に相当する画素群の画素値（１つの画素値）を符号化し、一致長の符号９００（図２）と、画素値の符号９０２（図２）とを互いに対応付けて外部に出力し、不一致長を符号化した場合には、この不一致長に相当する画素群の各画素値（少なくとも１つの画素値）を符号化し、不一致長の符号９１０（図２）と、画素値の符号９１２（図２）とを互いに対応付けて外部に出力する。
【００３１】
ステップ１３０（Ｓ１３０）において、符号化プログラム５は、全ての画素を注目画素Ｘとして符号化したか否かを判断し、全ての画素が符号化された場合には、符号化処理（Ｓ１０）を終了し、未処理の画素が存在する場合には、Ｓ１００の処理に戻って、次の画素を注目画素Ｘとする。
【００３２】
［復号化プログラム］
図７は、制御装置２０（図３）により実行され、本発明にかかる復号化方法を実現する復号化プログラム６の機能構成を例示する図である。
図７に例示するように、復号化プログラム６は、符号表決定部６００、復号化部６１０、ラン復元部６２０、リテラル復元部６３０、及び、データ統合部５５０予測部５１０、符号割当部５２０、一致長計数部５３０、不一致長計数部５４０、及び、符号生成部５５０を有する。
【００３３】
復号化プログラム６において、符号表決定部６００（符号判別手段）は、入力された符号データに基づいて、一致長及び不一致長それぞれに対する符号の割当範囲を特定し、特定された符号割当範囲を復号化部６１０に通知する。
本例の符号表決定部６００は、順に復号化される一致長及び不一致長に基づいて、所定の範囲内にある画素群の一致率を算出し、算出された一致率に応じて、図５に示されたいずれかの符号表を選択する。
【００３４】
復号化部６１０は、入力される符号データを固定長のビット列（本例では１バイト）に分割し、分割されたビット列（符号）を、符号表決定部６００により選択された符号表を用いて復号化し、一致長、不一致長及び画素値を生成する。
復号化部６１０は、一致長が復号化された場合には、その後に続く１つの符号を画素値として復号化し、復号化された一致長及びその画素値をラン復元部６２０に出力し、不一致長が復号化された場合には、その後に続く複数の符号（すなわち、不一致長に相当する数の符号）を複数の画素値として復号化し、復号化された不一致長及びその画素値をリテラル復元部６３０に出力する。
なお、復号化部６１０は、復号化された一致長又は不一致長を符号表決定部６００に出力する。
【００３５】
ラン復元部６２０は、復号化部６１０から入力される一致長及び画素値に基づいて、同一画素値からなる画素群を復元し、復元された画素群の画素値をデータ統合部６４０に出力する。
より具体的には、ラン復元部６２０は、入力された一致長だけ、入力された画素値を複製してデータ統合部６４０に出力する。
【００３６】
リテラル復元部６３０は、復号化部６１０から入力される画素値（不一致長に相当する画素群の画素値）を配列して、これらの画素群の画素値をデータ統合部６４０に出力する。
【００３７】
データ統合部６４０は、ラン復元部６２０から入力される画素群、及び、リテラル復元部６３０から入力される画素群を、復号化される順序で統合し、統合された画像データを外部に出力する。
【００３８】
［復号化処理］
次に、画像処理装置２（復号化プログラム６）の動作を説明する。
図８は、復号化プログラム６（図７）による復号化処理（Ｓ２０）のフローチャートである。
図８に示すように、ステップ２００（Ｓ２００）において、復号化部６１０（図７）は、入力される符号データを順に既定長の符号に分割する。
符号表決定部６００は、復号化部６１０から入力される一致長及び不一致長に基づいて、既定範囲内の画素群における一致率を算出し、算出された一致率に応じて、図５に示されたいずれかの符号表を選択する。なお、一致率の初期値は、５０％に設定されており、復号化された一致長及び不一致長の総和が基準値に達したことを条件として、上記符号表の選択を開始する。
【００３９】
ステップ２０５（Ｓ２０５）において、復号化部６１０は、符号表決定部６００により選択された符号表を用いて、先頭の符号を復号化する。ここで復号化されるデータは、一致長又は不一致長である。
【００４０】
ステップ２１０（Ｓ２１０）において、復号化プログラム６は、復号化された符号が一致長である場合に、Ｓ２１５の処理に移行し、復号化された符号が不一致長である場合に、Ｓ２２０の処理に移行する。
【００４１】
ステップ２１５（Ｓ２１５）において、復号化部６１０は、一致長の次に続く符号を画素値として復号化し、復号化された一致長及び画素値をラン復元部６２０に出力する。
ラン復元部６２０は、復号化部６１０から入力された画素値を、入力された一致長だけ複製して、データ統合部６４０に出力する。
【００４２】
ステップ２２０（Ｓ２２０）において、復号化部６１０は、不一致長の次に続く、不一致長の数に応じた符号を画素値として復号化し、復号化された画素値（不一致長に相当する数の画素値）をリテラル復元部６３０に出力する。
リテラル復元部６３０は、復号化部６１０から入力された画素値を順に配列して、データ統合部６４０に出力する。
【００４３】
ステップ２２５（Ｓ２２５）において、復号化プログラム６は、全ての符号が復号化されたか否かを判断し、全ての符号が復号化された場合には、データ統合部６４０により統合された画像データを外部に出力して、復号化処理（Ｓ２０）を終了し、未処理の符号が存在する場合には、Ｓ２００に戻って、次の符号を復号化する。
【００４４】
以上説明したように、本実施形態における画像処理装置２は、一致長及び不一致長を固定長の符号で符号化することにより、符号化処理及び復号化処理を高速化できる。
また、本画像処理装置２は、固定長のビット列で表現される符号群を一致長及び不一致長に対して排他的に割り当てることにより、図１（Ａ）に示した固定長符号データよりも符号量を小さくすることができる。
また、本画像処理装置２は、一致率（すなわち、予測の的中率）に応じて、一致長及び不一致長に割り当てる符号の割合を変更することにより、固定長のビット列で表現される符号群を有効に活用し、効率的な符号化処理を実現することができる。特に、同一の画像内に、画素値の変化が少ない画像領域（例えば、コンピュータグラフィックス）と、画素値の変化が多い画像領域（例えば、写真画像、スキャン画像など）とが混在する場合などに好適である。
【００４５】
［変形例］
次に、上記実施形態の変形例を説明する。
図９（Ａ）は、符号表の変形例を例示し、図９（Ｂ）は、最大一致長が符号の割当て範囲を超えた場合の符号データを例示し、図９（Ｃ）は、最大不一致長が符号の割当て範囲を超えた場合の符号データを例示する図である。
符号割当部５２０（図４）は、図９（Ａ）に例示するように、固定ビット長で表現される符号群の一部（本例では、「00000000」、及び、「11111111」）を、最大一致長又は最大不一致長が符号の割当て範囲を超えた旨を示す情報（本例では、最大一致長がその符号割当範囲を超えたことを示す一致長フロー、及び、最大不一致長がその符号割当範囲を超えたことを示す不一致長フロー）に固定的に割り当ててもよい。
この場合、符号生成部５５０は、一致長計数部５３０から入力される一致長がその符号割当範囲（図９の例では、２〜１２８の範囲）を超えると、図９（Ｂ）に例示するように、一致長フローを示す符号「00000000」を出力し、次に、固定長符号全体（１バイトの符号全体）で一致長を表現する符号を出力し、その後で、一致長の画素値を表現する符号を出力する。また、符号生成部５５０は、一致長計数部５３０から入力される不一致長がその符号割当範囲（図９の例では、１〜１２７の範囲）を超えると、図９（Ｃ）に例示するように、不一致長フローを示す符号「11111111」を出力し、次に、固定長符号全体（１バイトの符号全体）で不一致長を表現する符号を出力し、その後で、不一致長の画素値を表現する符号を出力する。
一致率と最大一致長及び最大不一致長とは高い相関関係を有するが、一致率に基づいて一致長及び不一致長に符号を割り当てても、最大一致長又は最大不一致長が符号の割当範囲を超える場合がありうる。そこで、本変形例の符号化プログラム５は、一致長フロー及び不一致長フローを示す符号を用意することにより、最大一致長又は最大不一致長が符号割当範囲を超える場合にも正常に符号化処理を行うことができる。
【００４６】
また、上記実施形態では、符号化処理において、近傍画素の一致率に応じて符号表を選択し、復号化処理において、復号化された一致長及び不一致長に基づいて一致率を算出し、算出された一致率に応じて（すなわち、近傍画素の状況に応じて）符号表を選択しているが、これに限定されるものではなく、例えば、符号データのヘッダ又はマーカなどに、符号の割当を指定する情報を埋め込むよう構成してもよい。
【図面の簡単な説明】
【００４７】
【図１】（Ａ）は、ランレングス符号化方式の符号データを例示し、（Ｂ）は、符号の一部を可変長符号としたランレングス符号データを例示し、（Ｃ）は、（Ｂ）の符号データで用いられる符号表を例示する図である。
【図２】本実施形態の概要を説明する図である。
【図３】本発明にかかる符号化方法及び復号化方法が適応される画像処理装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
【図４】制御装置２０（図３）により実行され、本発明にかかる符号化方法を実現する符号化プログラム５の機能構成を例示する図である。
【図５】符号割当部５２０により選択される符号表を例示する図である。
【図６】符号化プログラム５（図４）による符号化処理（Ｓ１０）のフローチャートである。
【図７】制御装置２０（図３）により実行され、本発明にかかる復号化方法を実現する復号化プログラム６の機能構成を例示する図である。
【図８】復号化プログラム６（図７）による復号化処理（Ｓ２０）のフローチャートである。
【図９】（Ａ）は、符号表の変形例を例示し、（Ｂ）は、最大一致長が符号の割当て範囲を超えた場合の符号データを例示し、（Ｃ）は、最大不一致長が符号の割当て範囲を超えた場合の符号データを例示する図である。
【符号の説明】
【００４８】
２・・・画像処理装置
５・・・符号化プログラム
５１０・・・予測部
５２０・・・符号割当部
５３０・・・一致長計数部
５４０・・・不一致長計数部
５５０・・・符号生成部
６・・・復号化プログラム
６００・・・符号表決定部
６１０・・・復号化部
６２０・・・ラン復元部
６３０・・・リテラル復元部
６４０・・・データ統合部
【図１】
2007221439.tif 000003
【図２】
2007221439.tif 000004
【図３】
2007221439.tif 000005
【図４】
2007221439.tif 000006
【図５】
2007221439.tif 000007
【図６】
2007221439.tif 000008
【図７】
2007221439.tif 000009
【図８】
2007221439.tif 000010
【図９】
2007221439.tif 000011