(57)【特許請求の範囲】
【請求項１】
複数の画素毎に画像の階調を求め、当該階調を複数の区分に分けてそれぞれ符号を割り当てることにより、複数の画素単位で符号化を行うＢＴＣ圧縮部を備え、
前記ＢＴＣ圧縮部は、符号化及び復号化を行う区分の範囲を異なるものとした複数の符号化及び復号化の条件のうち、一の条件を選択し、当該選択した条件により符号化を行い、
前記複数の符号化及び復号化の条件は、前記区分の数を同じとし、前記区分の範囲が均等である条件と、前記区分の範囲がそれぞれ異なる複数の条件と、を混在させた条件である画像処理装置。
【請求項２】
前記ＢＴＣ圧縮部は、各条件により符号化及び復号化を行って符号化前と復号化後の画素値の誤差を算出し、当該誤差が最小となる条件を選択する請求項１に記載の画像処理装置。
【請求項３】
前記ＢＴＣ圧縮部は、前記複数の画素の画素値の分布を求め、当該分布に応じた条件を選択する請求項１に記載の画像処理装置。
【請求項４】
前記ＢＴＣ圧縮部は、前記複数の画素の階調を示す代表値の情報を符号化後の画像に付加し、当該代表値を操作して前記選択した条件を示す情報を付加する請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
前記ＢＴＣ圧縮部は、前記代表値のメモリへの保持位置を操作する請求項４に記載の画像処理装置。
【請求項６】
前記ＢＴＣ圧縮部は、前記代表値のデータ値を操作する請求項４又は５に記載の画像処理装置。
【請求項７】
請求項４〜６の何れか一項に記載の画像処理装置により符号化された画像に付加されている情報に基づいて、符号化時に選択された条件を判断し、当該条件により前記画像の復号化を行うＢＴＣ伸張部を備える画像処理装置。
【請求項８】
複数の画素毎に画像の階調を求め、当該階調を複数の区分に分けてそれぞれ符号を割り当てることにより、複数の画素単位で符号化を行うにあたり、前記区分の範囲をそれぞれ異なるものとした複数の符号化及び復号化の条件のうち、一の条件を選択し、当該選択した条件により符号化を行い、
前記複数の符号化及び復号化の条件は、前記区分の数を同じとし、前記区分の範囲が均等である条件と、前記区分の範囲がそれぞれ異なる複数の条件と、を混在させた条件である符号化方法。
【請求項９】
請求項８に記載の符号化方法により符号化された画像であって、その複数の画素の階調を示す代表値の情報及び当該代表値が操作されて符号化の際に選択された条件を示す情報が付加された画像に対し、当該選択された条件を示す情報に基づいて、符号化時に選択された条件を判断し、当該条件により前記画像の復号化を行う復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、符号化方法及び復号化方法に関する。
【背景技術】
【０００２】
プリンタ等では、画像データが入力されるとこれを一旦メモリに保存し、出力すべきタイミングがくるとメモリから順次読み出して出力を行っている。メモリに保存する際には、画像データに圧縮処理を施してデータ量を削減することが一般的である。
【０００３】
従来、圧縮方式としてＢＴＣ（Block Truncation Coding）方式が提案されている。これは、画像を複数の画素を１ブロックして、ブロック単位で各ブロックの階調特性に応じて符号化を行う方法である。
圧縮率を高めるため、ＢＴＣ方式により画像をさらにＪＢＩＣ圧縮する方法も開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００１−２６８３６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＢＴＣ方式は、符号化した状態で画像の回転を行うことができる点でメリットがある。しかし、非可逆圧縮であるため、ブロック内の画素値の最大値と最小値の差が大きかったり、画素値の分布に偏りがあったりすると、復号化した画像は元の画像との画素値の誤差が大きくなるという欠点もある。圧縮率よりも階調性を優先したい場合には、誤差が大きいと所望の画質が得られなくなってしまう。
【０００５】
本発明の課題は、ＢＴＣ方式において階調性に優れた符号化又は復号化を可能とすることである。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明によれば、
複数の画素毎に画像の階調を求め、当該階調を複数の区分に分けてそれぞれ符号を割り当てることにより、複数の画素単位で符号化を行うＢＴＣ圧縮部を備え、
前記ＢＴＣ圧縮部は、符号化及び復号化を行う区分の範囲を異なるものとした複数の符号化及び復号化の条件のうち、一の条件を選択し、当該選択した条件により符号化を行い、
前記複数の符号化及び復号化の条件は、前記区分の数を同じとし、前記区分の範囲が均等である条件と、前記区分の範囲がそれぞれ異なる複数の条件と、を混在させた条件である画像処理装置が提供される。
【０００７】
請求項２に記載の発明によれば、
前記ＢＴＣ圧縮部は、各条件により符号化及び復号化を行って符号化前と復号化後の画素値の誤差を算出し、当該誤差が最小となる条件を選択する請求項１に記載の画像処理装置が提供される。
【０００８】
請求項３に記載の発明によれば、
前記ＢＴＣ圧縮部は、前記複数の画素の画素値の分布を求め、当該分布に応じた条件を選択する請求項１に記載の画像処理装置が提供される。
【０００９】
請求項４に記載の発明によれば、
前記ＢＴＣ圧縮部は、前記複数の画素の階調を示す代表値の情報を符号化後の画像に付加し、当該代表値を操作して前記選択した条件を示す情報を付加する請求項１〜３の何れか一項に記載の画像処理装置が提供される。
【００１０】
請求項５に記載の発明によれば、
前記ＢＴＣ圧縮部は、前記代表値のメモリへの保持位置を操作する請求項４に記載の画像処理装置が提供される。
【００１１】
請求項６に記載の発明によれば、
前記ＢＴＣ圧縮部は、前記代表値のデータ値を操作する請求項４又は５に記載の画像処理装置が提供される。
【００１２】
請求項７に記載の発明によれば、
請求項４〜６の何れか一項に記載の画像処理装置により符号化された画像に付加されている情報に基づいて、符号化時に選択された条件を判断し、当該条件により前記画像の復号化を行うＢＴＣ伸張部を備える画像処理装置が提供される。
【００１３】
請求項８に記載の発明によれば、
複数の画素毎に画像の階調を求め、当該階調を複数の区分に分けてそれぞれ符号を割り当てることにより、複数の画素単位で符号化を行うにあたり、前記区分の範囲をそれぞれ異なるものとした複数の符号化及び復号化の条件のうち、一の条件を選択し、当該選択した条件により符号化を行い、
前記複数の符号化及び復号化の条件は、前記区分の数を同じとし、前記区分の範囲が均等である条件と、前記区分の範囲がそれぞれ異なる複数の条件と、を混在させた条件である符号化方法が提供される。
【００１４】
請求項９に記載の発明によれば、
請求項８に記載の符号化方法により符号化された画像であって、その複数の画素の階調を示す代表値の情報及び当該代表値が操作されて符号化の際に選択された条件を示す情報が付加された画像に対し、当該選択された条件を示す情報に基づいて、符号化時に選択された条件を判断し、当該条件により前記画像の復号化を行う復号化方法が提供される。
【発明の効果】
【００１５】
請求項１、８、９に記載の発明によれば、複数の画素毎の階調を複数の区分に分けて符号化するＢＴＣ方式において、符号化を行う複数の画素単位の階調に応じた区分の範囲を定めている条件を選択して符号化に用いることができる。従って、符号化及び復号化による階調の再現性を向上させることができ、ＢＴＣ方式において階調性に優れた符号化及び復号化が可能となる。
【００１６】
請求項２に記載の発明によれば、符号化及び復号化により誤差が最小となるように、つまり階調の再現性が最良となるように符号化及び復号化を行うことができる。
【００１７】
請求項３に記載の発明によれば、複数の画素の画素値の分布に応じて符号化及び復号化する区分の範囲を調整することができ、画像の階調性の再現を優先した符号化及び復号化が可能となる。
【００１８】
請求項４に記載の発明によれば、画像の付加情報を参照することにより選択した条件を容易に判別することができる。
【００１９】
請求項５に記載の発明によれば、代表値のメモリへの保持位置を操作することにより選択した条件を示すので、当該条件を示すためにメモリを増設する必要がなく、コストを抑えることができる。
【００２０】
請求項６に記載の発明によれば、代表値のデータ値を操作することにより選択した条件を示すので、当該条件を示すためにメモリを増設する必要がなく、コストを抑えることができる。
【発明を実施するための最良の形態】
【００２１】
本実施形態では、本発明をＭＦＰ（Multi Function Peripheral）に適用した例を説明する。
【００２２】
まず、構成を説明する。
図１に、本実施形態におけるＭＦＰ１００の機能的構成を示す。
ＭＦＰ１００は、用紙上に画像をプリントするものである。
図１に示すように、ＭＦＰ１００は本体部１０、画像読取部２０、操作部３０、タッチパネル４０、表示部５０、プリンタ部６０を備えて構成されている。また、本体部１０は画像処理部１、本体制御部２、記憶部３、画像制御部４、画像メモリ５等から構成されている。
【００２３】
画像読取部２０は、光源、ＣＣＤ（Charge Coupled Device）、Ａ／Ｄ変換器等を備えている。画像を読み取る際には、光源から原稿を照明走査した光の反射光を結像してＣＣＤにより光電変換し、画像（アナログ信号）を生成する。その後、画像をＡ／Ｄ変換器によりデジタル変換し、本体部１０の画像処理部１に出力する。ここで、画像は図形や写真等のイメージに限らず、文字や記号等のキャラクタイメージ等も含む。
【００２４】
なお、画像読取部２０では生成した画像をＲ（赤）、Ｇ（緑）、Ｂ（青）の各色に分離して色毎の画像を出力する。画像読取部２０と画像処理部１の間には図示しない補正処理部が設けられ、各色の画像はこの補正処理部において輝度ムラの補正処理、輝度特性の補正処理、変倍処理、γ変換処理（輝度リニアな特性から濃度リニアな特性に変換する処理）、色補正処理等の各種処理が施された後、画像処理部１に出力される。
【００２５】
操作部３０は、プリント開始を指示するためのスタートキーや数字キー等の各種機能キーを備え、これら機能キーやタッチパネル４０が走査されると、対応する走査信号を本体制御部２に出力する。
表示部５０は、タッチパネル４０と一体に形成されたＬＣＤ（Liquid Crystal Display）を備え、このＬＣＤ上にプリントの設定操作するための操作画面等を表示させる。
【００２６】
プリンタ部６０は、露光部、感光ドラム、現像部、定着器、給紙ユニット等を備えて構成され、本体部１０の画像処理部１から入力される画像のデータに基づいてプリントを実行する。本実施形態では、Ｙ（黄）、Ｍ（マジェンタ）、Ｃ（シアン）、Ｋ（黒）の４色の色材を用いてプリントする。プリント時には、まず露光部により感光ドラム表面に静電潜像を形成する。そして、現像部によりトナーを付着させて感光ドラム表面にトナー像を形成し、このトナー像を給紙ユニットから給紙された用紙に転写する。その後、定着器が定着処理を行う。
【００２７】
次に、本体部１０の各部について説明する。
本体制御部２は、記憶部３に記憶されている制御用のプログラムとの協働により各種演算を行うとともに、ＭＦＰ１００の各部の動作を集中制御する。
記憶部３は、本体制御部２で実行される各種プログラムの他、各部で必要なパラメータやデータ等を記憶している。
【００２８】
画像制御部４は、画像メモリ５への画像の入出力を制御する。
画像メモリ５は、ＤＲＡＭ（Dynamic Random Access Memory）、ハードディスク等のメモリであり、画像を記憶する。
【００２９】
次に、画像処理部１について説明する。
画像処理部１は、図２に示すように、色変換部１１、ＢＴＣ圧縮部１２、ＢＴＣ伸張部１３、γ補正部１４、スクリーン処理部１５を備えて構成されている。
【００３０】
色変換部１１は、Ｒ、Ｇ、Ｂの色の画像を、プリントに用いる色材Ｙ、Ｍ、Ｃ、Ｋの画像に変換する。
【００３１】
ＢＴＣ圧縮部１２は、Ｙ、Ｍ、Ｃ、Ｋの画像について、ＢＴＣ方式による符号化を行い、画像のデータ圧縮を行う。ここでは、図３を参照して８bit（階調２５５値）の画像を３bitの符号に符号化する例を説明する。
【００３２】
図３に示すように、まずＢＴＣ圧縮部１２は符号化する画像を複数の画素単位で入力する（ステップＳ１）。例えば、図４に示すように４画素×４画素の１６画素単位で入力する。図４に示す枠が入力単位を示している。各画素の画素値をＤｉｊ（ｉは画像の主走査方向、ｊは副走査方向における画素の並び順を示す）で表す。図４において画素を示すマス内に表された数字はＤｉｊである。
【００３３】
次いで、ＢＴＣ圧縮部１２は、Ｄｉｊのうち最大値Maxと最小値minを求める（ステップＳ２）。この最大値Maxと最小値minが１６画素についての階調を示す。
次いで、ＢＴＣ圧縮部１２は１６画素について符号化を行うが、符号化及び復号化の条件が複数あるので、このうちの１の条件を選択する必要がある。そこで、複数の条件によりそれぞれ符号化及び復号化を行って符号化前と復号化後の画素値の誤差を算出し、その誤差の最小二乗和が最小となる条件を選択する（ステップＳ３）。
【００３４】
図５Ａを参照して、ＢＴＣ方式による符号化及び復号化について説明する。
符号化時には、図５Ａに示すように閾値ＴＨｎ（０≦ｎ≦８）によって最大値Maxと最小値minからなる階調を複数の区分に分けて、各区分に符号φｉｊを割り当てておき、符号化する画像の画素値がどの区分に該当するかで符号φｉｊを決定する。符号φｉｊは３bitのデータである。
閾値ＴＨｎと符号φｉｊ（２進数表記）の関係は以下の通りである。
ＴＨ７＜Ｄｉｊ≦ＴＨ８のとき、φｉｊ＝１１１
ＴＨ６＜Ｄｉｊ≦ＴＨ７のとき、φｉｊ＝１１０
ＴＨ５＜Ｄｉｊ≦ＴＨ６のとき、φｉｊ＝１０１
ＴＨ４＜Ｄｉｊ≦ＴＨ５のとき、φｉｊ＝１００
ＴＨ３＜Ｄｉｊ≦ＴＨ４のとき、φｉｊ＝０１１
ＴＨ２＜Ｄｉｊ≦ＴＨ３のとき、φｉｊ＝０１０
ＴＨ１＜Ｄｉｊ≦ＴＨ２のとき、φｉｊ＝００１
ＴＨ０≦ＤＩｊ≦ＴＨ１のとき、φｉｊ＝０００
【００３５】
符号φｉｊには復号後の値Ｌｎ（０≦ｎ≦７、Ｌｎは８bitのデータ）が定められているので、復号時には符号φｉｊに対応する復号値Ｌｎを符号後の画素値Ｄｉｊとして取得すればよい。つまり、符号φｉｊを１０進数で表記したときの値がｎのとき、復号後の画素値はＤｉｊ＝Ｌｎをとる。
符号φｉｊと復号後の画素値Ｄｉｊとの関係を示す。
φｉｊ＝１１１のとき、復号後のＤｉｊ＝Ｌ７
φｉｊ＝１１０のとき、復号後のＤｉｊ＝Ｌ６
φｉｊ＝１０１のとき、復号後のＤｉｊ＝Ｌ５
φｉｊ＝１００のとき、復号後のＤｉｊ＝Ｌ４
φｉｊ＝０１１のとき、復号後のＤｉｊ＝Ｌ３
φｉｊ＝０１０のとき、復号後のＤｉｊ＝Ｌ２
φｉｊ＝００１のとき、復号後のＤｉｊ＝Ｌ１
φｉｊ＝０００のとき、復号後のＤｉｊ＝Ｌ０
【００３６】
符号化の際の条件となる閾値ＴＨｎは、閾値ＴＨ０がmin、閾値ＴＨ８がMaxであり、閾値ＴＨ１〜ＴＨ７は各復号値Ｌｎの中間値である。
閾値ＴＨｎは下記式により表される。
１≦ｎ≦７のとき、ＴＨｎ＝１／２｛Ｌ（ｎ−１）＋Ｌｎ｝
ｎ＝０のとき、ＴＨｎ＝min
ｎ＝８のとき、ＴＨｎ＝Max
【００３７】
本実施形態では、符号化及び復号化の条件によって、符号化及び復号化を行う区分の範囲がそれぞれ異なるように設計した複数の条件を用意する。各条件を示す情報は記憶部３に記憶し、符号化及び復号化の際に読み出して処理に用いる。通常のＢＴＣ方式では、復号化を行う区分範囲は均等であるが、符号化及び復号化を行う画素群の濃度分布に偏りがある場合、誤差が大きくなる場合がある。そこで、本実施形態では符号化及び復号化を行う区分範囲を異なるものとした符号化及び復号化の条件を複数備え、誤差が最小となる条件を選択する。
ここでは、図５Ｂを参照して５つの符号化及び復号化の条件１〜５の例を説明する。図５Ｂは、各条件１〜５について定められた復号値Ｌｎを示す図である。
【００３８】
図５Ｂに示すように、条件１〜５によって復号化を行う区分範囲、つまり復号値Ｌｎの区間範囲は異なるものとされている。なお、符号化時の閾値ＴＨｎは復号値Ｌｎによって定まるため、条件が異なれば当然符号化を行う区分の範囲（閾値ＴＨｎの区間範囲）についても異なるものとなる。図５Ａから分かるように復号値Ｌｎの区間範囲の割合はおおむね閾値ＴＨｎの区間範囲の割合と一致することとなる。
【００３９】
条件１では、区間範囲が全て均等となるように復号値Ｌｎが設計されている。条件１は従来から用いられている基本的な条件である。
条件２では、最小値min側から順に４：４；４：５：５：５：５の割合となるように各復号値Ｌｎを定めている。最小値min付近を細かく区分けすることにより、最小値min付近の領域での誤差を小さくする設計としている。図５Ａは、この条件２の場合の符号化及び復号化の例を示す図である。
【００４０】
条件３では、最小値min側から順に５：５：５：５：４：４：４の割合となるように各復号値Ｌｎを定めている。条件２とは逆に、最大値Max付近を細かく区分けすることにより、最大値Max付近の領域での誤差を小さくする設計としている。
条件４では、最小値min側から順に４：４：５：６：４：４の割合となるように復号値Ｌｎを定めている。最小値min及び最大値Max付近を細かく区分けすることにより、その領域での誤差を小さくする設計としている。
条件５では、最小値min側から順に５：５：４：４：４：５：５の割合となるように復号値Ｌｎを定めている。最小値minと最大値Maxの中間付近を細かく区分けすることにより中間領域での誤差を小さくする設計としている。
【００４１】
復号値ＬｎはＬ０＝min、Ｌ７＝Maxであり、Ｌ１〜Ｌ６は最小値minと最大値Max間を条件１〜５でそれぞれ定められた割合で区分けしたときの値である。
つまり、復号値Ｌｎは次のように求められる。
ｎ＝０のとき、Ｌｎ＝min
ｎ＝７のとき、Ｌｎ＝Max
１≦ｎ≦６のとき、Ｌｎ＝（Max−min）×Ｐｎ＋min
上記式において、Ｐｎはmin〜Max間を占めるmin〜Ｌｎの割合である。図５Ａの例で説明すると、Ｌ２の割合Ｐ２は（４＋４）／（４＋４＋４＋５＋５＋５＋５）＝８／３２である。
【００４２】
ＢＴＣ圧縮部１２は、１６画素のＤｉｊについて条件１〜５で定められている閾値ＴＨｎを用いてそれぞれ符号化した場合の符号φｉｊを求める。そして、求めた符号φｉｊを条件１〜５に応じて復号化する。そして、符号化前と復号化後のＤｉｊの差を条件１〜５毎に算出する。この差が符号化及び復号化による誤差である。１６画素分の誤差の和を比較してもよいが、ここでは比較しやすいように各画素の誤差の二乗和（二乗値の総和）を算出し、比較に用いる。ＢＴＣ圧縮部１２は条件１〜５のうち、誤差の二乗和が最小となる条件１〜５を選択する。つまり、選択した条件１〜５による符号φｉｊを、符号化の結果として選択する。
【００４３】
もともとＢＴＣ方式は非可逆圧縮であることから、多くの場合、符号化及び復号化によって誤差が生じるが、Max〜min間の階調の中でも画素値の分布に偏りがある場合、符号化及び復号化の条件によっては大きな誤差を生じる場合がある。よって、予め画素値の分布状態に応じて複数の条件１〜５を準備しておき、この中から実際に符号化及び復号化する画素群の画素値の分布に応じた条件１〜５を選択することにより、誤差が小さく画像の再現性が高い符号化及び復号化を行うことが可能となる。画像の再現度に係る評価値としてＰＳＮＲ（Peak Signal-to-Noise Ratio）があるが、ＰＳＮＲは元の画像と伸張後の画像との画素値の差の二乗平均を用いて算出され、その値が小さいほど評価が高いものとなる。上記算出した誤差の二乗和はＰＳＮＲで用いられる差の二乗平均と同様に扱えるため、算出した誤差が小さいほどＰＳＮＲによる評価も高くなるといえる。
【００４４】
例えば、１６画素の各画素値Ｄｉｊの画素値の分布が最小値min付近に集中している場合、条件２又は４によって符号化及び復号化すれば、最小値min付近は符号化及び復号化を行う範囲が細かいため、符号化及び復号化による誤差は小さいと考えられる。一方、その他の条件１、３又は５によれば、最小値min付近の区分の範囲は大まかであることから、誤差は条件２、４に比して大きくなると考えられる。
【００４５】
ＢＴＣ圧縮部１２は、選択した条件１〜５による符号φｉｊに代表値の情報を付加し、符号化後の画像とする。代表値とは符号化を行った１６画素の階調を示す値をいい、最大値Max、最小値minや、復号値Ｌｎ等、その値から元の１６画素の階調を求めることができるのであれば何れを採用してもよい。ここでは、代表値として最大値Max、最小値minを用いる。
【００４６】
図６に示す符号化後の画像（１６画素分）を例に説明する。
図６に示すように、符号化後の画像は３bitの符号φｉｊと８bitの代表値の情報からなり、これらを保存するため、画像メモリ５には１画素につき４bit分の保持領域が形成される。各画素の４bitの保持領域のうち、１〜３bit目には符号φｉｊを保持し、０bit目には８bitの最大値Max、最小値minのうちの１bitをそれぞれ保持する。図７は、１６画素の０bit目のデータ層を示す図であり、最大値MaxをMax(k)、最小値minをmin(k)（kはビット位置を示す。0≦k≦7）で示している。最大値Max、最小値minは保持位置が定められており、図７に示すように１６画素のうちビット位置kによって定められた位置に保持される。
【００４７】
ＢＴＣ圧縮部１２は、この符号化後の画像に、選択した条件が何れであるかを示す情報を付加する（ステップＳ４）。情報の付加は、代表値の情報を操作することにより行う。選択した条件が基本以外の条件２〜５であった場合、ＢＴＣ圧縮部１２は代表値である最大値Max、最小値minの保持位置を入れ替えて、図８に示す配置とする。つまり、最大値Maxを保持すべき領域に最小値minを保持し、最小値minを保持すべき領域に最大値Maxを保持する。保持位置の入替えにより、基本の条件１とは異なる条件２〜５を選択したことを示すためである。
【００４８】
次に、入れ替えた最大値Max、最小値minの最下位１bitのデータ値を、選択した条件２〜５を示す値に変更操作する。図８に示すように、最大値Max、最小値minの最下位１bitのデータ値Max(7)、min(7)を、それぞれｘ、ｙとすると、ｘ、ｙの組合せと条件２〜５との関係は以下の通りである。
（ｘ、ｙ）＝（０、０）のとき、条件２
（ｘ、ｙ）＝（０、１）のとき、条件３
（ｘ、ｙ）＝（１、０）のとき、条件４
（ｘ、ｙ）＝（１、１）のとき、条件５
【００４９】
例えば、条件３を用いて符号化を行っている場合、ＢＴＣ圧縮部１２は最大値Max(7)のデータ値ｘを０、最小値min(7)のデータ値ｙを１に変更する。
最下位ビットのデータ値を変更することで最大値Max及び最小値minは元の値と異なるものとなるが、８ビットのうちの最下位ビットの変更であるので、階調の再現にはほとんど影響はない。
【００５０】
一方、選択した条件が基本の条件１である場合、ＢＴＣ圧縮部１２は特に上記のような入替えは行わない。入替えがなされていないことで基本の条件１を選択したことを示すためである。
このようにして、符号化後の画像に選択した条件を示す情報を付加すると、ＢＴＣ圧縮部１２は当該画像を画像メモリ５に出力する。符号化後の画像は画像制御部４を介して画像メモリ５に保存される。
【００５１】
次に、ＢＴＣ伸張部１３について説明する。
画像メモリ５に保存された画像のプリントを行う際には、画像制御部４が画像メモリ５からプリントする画像を読み出して、ＢＴＣ伸張部１３に出力する。
ＢＴＣ伸張部１３は、入力された画像の復号化を行う。
【００５２】
図９を参照して、復号化の処理について説明する。
図９に示すように、ＢＴＣ伸張部１３は符号化を行った単位毎に復号化するため、復号化する画像を４画素×４画素単位で入力する（ステップＳ１１）。
【００５３】
次に、ＢＴＣ伸張部１３は、入力した１６画素に付加されている代表値の情報に基づいて、最大値Maxと最小値minの配置が入れ替えられているかどうかを判別する（ステップＳ１２）。図７に示したように、１６画素の０bit目には最大値Max(k)と最小値min(k)が、それぞれ定められた保持位置に保持されているはずである。よって、それぞれの領域に保持されているデータ値を読み出し、比較する。最大値Maxの保持領域に保存されていたデータ値の方が最小値minの保持領域に保存されていたデータ値よりも大きい場合、最大値Maxと最小値minの配置は入れ替えられていないと判別する。一方、読み出したデータ値の大小関係が逆転している場合、最大値Maxと最小値minの配置が入れ替えられていると判別する。
【００５４】
最大値Maxと最小値minの配置が入れ替えられていない場合（ステップＳ１２；Ｎ）、ＢＴＣ伸張部１３は符号化時には基本の条件１が選択されたと判断し（ステップＳ１３）、ＢＴＣ伸張部１３は１６画素の符号φｉｊについて条件１により復号化を行う（ステップＳ１５）。つまり、条件１で定められた復号値Ｌｎを用いて符号φｉｊを復号するが、詳細な復号化の方法については上述した通りであるので、ここでは説明を省略する。
【００５５】
一方、最大値Maxと最小値minの配置が入れ替えられている場合（ステップＳ１２；Ｙ）、ＢＴＣ伸張部１３は符号化時には条件２〜５が選択されたと判断する。ＢＴＣ伸張部１３はさらにデータ値が大きい方が最大値Max(k)、データ値が小さい方が最小値min(k)であるとして、それぞれ最下位１bitの組合せ（ｘ、ｙ）に基づいて、選択されたのは条件２〜５の何れであるかを判断する（ステップＳ１４）。つまり、（ｘ、ｙ）＝（０、０）のとき、条件２であるし、（ｘ、ｙ）＝（０、１）のとき、条件３である。また、（ｘ、ｙ）＝（１、０）のとき、条件４であり、（ｘ、ｙ）＝（１、１）のとき、条件５である。
【００５６】
選択された条件２〜５を判断すると、ＢＴＣ伸張部１３は判断した条件２〜５により１６画素の符号φｉｊについて復号化を行う（ステップＳ１５）。復号化の方法は上述した通りであるので、ここでは説明を省略する。
以上のように復号化された画像は、γ補正部１４へ出力される。
【００５７】
γ補正部１４は、伸張された画像に対し、γ補正処理を施す。
スクリーン処理部１５は、γ補正された画像をスクリーン処理し、プリンタ部６０に出力する。
【００５８】
以上のように、本実施形態によれば、ＢＴＣ方式により複数の画素単位で符号化を行うにあたり、ＢＴＣ圧縮部１２は符号化及び復号化を行う区分範囲を異なるものとした複数の条件１〜５のうち、一の条件を選択して符号化に用いる。これにより、符号化を行う複数の画素単位の階調に応じた区分の範囲を定めている条件を選択して符号化に用いることができ、符号化及び復号化による階調の再現性を向上させることができる。従って、ＢＴＣ方式において階調性に優れた符号化及び復号化が可能となる。
【００５９】
ＢＴＣ圧縮部１２は、各条件１〜５により実際に符号化及び復号化を行ったときの符号化前と復号化後の誤差を算出し、この誤差が最小となる条件を選択する。よって、符号化及び復号化による誤差が最小となるように、つまり階調の再現性が最良となるように符号化及び復号化を行うことができる。
【００６０】
また、ＢＴＣ圧縮部１２は、符号化を行った複数の画素の階調を示す代表値の情報を符号化後の符号φｉｊに付加し、この代表値の保持位置をそのままとすることにより条件１を選択したことを示し、代表値の画像メモリ５への保持位置を入れ替えることにより条件２〜５を選択したことを示す。さらに、条件２〜５の場合、ＢＴＣ圧縮部１２は代表値の最下位bitのデータ値を条件２〜５に応じて変更する。すなわち、代表値を操作することにより、選択した条件を示す情報を付加するので、復号化の際には代表値の保持位置や最下位bitの値の組合せに基づいて条件１〜５の何れが選択されたのかを判別することが可能となる。この方法によれば、選択した条件を示す情報を保持するためにメモリを増設する必要がなく、コストを抑えることができる。
【００６１】
ＢＴＣ伸張部１３は、符号化した複数の画素単位で復号化する際に、符号化された画像に付加されている代表値の保持位置や最下位bitの値の組合せに基づいて、符号化時に選択された条件を判断し、当該条件に応じた復号化を行うので、階調の再現性の高い符号化及び復号化を行うことが可能となる。
【００６２】
なお、上記実施形態は本発明を適用した好適な一例であり、これに限定されない。
例えば、複数の条件の内容については目的に応じて適宜設計すればよい。閾値ＴＨｎの区分の範囲（つまり復号値Ｌｎの区分範囲）を多様に変える等して、選択できる条件の数を増減させてもよい。
【００６３】
また、条件の選択方法についても、上記のように実際に生じる誤差を算出する方法に限らず、１６画素について画素値の分布を求め、この分布に応じた条件を選択することとしてもよい。具体的には、最大値Max〜最小値min間を３つの領域に分け、どの領域にどれだけ画素値が集中するかによって条件を選択する。例えば、最大値Max付近の領域に１６画素のうち５〜７画素以上の画素の画素値が集中する場合は条件３を選択し、逆に最小値min付近に集中する場合は条件４、中間領域に集中する場合は条件５を選択する。最大値Max付近と最小値min付近にそれぞれ５〜７画素以上が集中する場合は条件４、これらの条件の何れにも該当しない場合は条件１を選択する。これにより、画素値の分布に応じて符号化及び復号化する区分の範囲を調整することができ、画像の階調性の再現を優先した符号化及び復号化が可能となる。
【００６４】
また、上記実施形態では、最大値Max、最小値minの代表値を操作することにより、選択した条件を示すこととしたが、これに限らず、他の情報を付加する場合にも利用することができる。例えば、最大値Max(7)、最小値min(7)を入替操作することにより、その４画素×４画素の画像が文字領域か、写真領域かを示す等、属性の判別に用いることとしてもよい。さらに、画像の合成編集を行う際に、最大値Max(7)、最小値min(7)の組合せによってウォーターマークやナンバリング、地紋の領域を示す等、合成位置を示すために用いることとしてもよい。
【００６５】
また、上記実施形態に係る符号化及び復号化の処理をソフトウェアにより実行することとしてもよい。この場合、処理を実行するためのプログラムを記憶するコンピュータ読み取り可能な媒体としては、ＲＯＭ等のメモリの他、ＤＶＤ等の可搬型のものも適用可能である。また、プログラムのデータをネットワークを介して提供する媒体として、キャリアウェーブ（搬送波）も適用可能である。
【００６６】
また、ＭＦＰへの適用は一例である。画像処理を行うのであれば、ＰＣ（Personal Computer）等の他の装置に適用することも可能である。
【図面の簡単な説明】
【００６７】
【図１】本実施形態におけるＭＦＰを示す図である。
【図２】図１の画像処理部の機能的構成を示す図である。
【図３】符号化時の処理の流れを説明するフローチャートである。
【図４】複数の画素単位で行う符号化の例を示す図である。
【図５Ａ】符号化及び復号化を説明する図である。
【図５Ｂ】複数の条件の一例を示す図である。
【図６】符号化された画像のデータ構成例を示す図である。
【図７】代表値である最大値及び最小値の例を示す図である。
【図８】最大値と最小値の配置を入れ替えた状態を示す図である。
【図９】復号化時の処理の流れを説明するフローチャートである。
【符号の説明】
【００６８】
１００  ＭＦＰ
１  画像処理部
１２  ＢＴＣ圧縮部
１３  ＢＴＣ伸張部
５  画像メモリ
【図１】
0005115203.tif 000002
【図２】
0005115203.tif 000003
【図３】
0005115203.tif 000004
【図４】
0005115203.tif 000005
【図５Ａ】
0005115203.tif 000006
【図５Ｂ】
0005115203.tif 000007
【図６】
0005115203.tif 000008
【図７】
0005115203.tif 000009
【図８】
0005115203.tif 000010
【図９】
0005115203.tif 000011