(57)【要約】【課題】  Ｌ乃至Ｋの範囲内にあるｎビットで表わされる画像データをＪＰＥＧ符号化する場合であっても、基本量子化値Ｑi,jに応じた共通のハフマンテーブルを用いてハフマン符号化することが可能となり、ハフマンテーブルの容量を増大することを抑制する。【解決手段】  基本量子化テーブル格納部２２０には、ベースラインＪＰＥＧ符号化する場合に利用する量子化ステップ値Ｑ00乃至Ｑ77を記憶する。最小量子化ステップ生成部２２１は、符号化対象の画像データの各色成分のビット数ｎに応じた最小量子化ステップ値Ｑn_minを比較選択部２２２に出力する。比較選択部２２２は、量子化ステップ値Ｑ00乃至Ｑ77とＱn_minとを比較し、大きい方を選択し、その結果をＱ’i,jとして量子化部２０９に出力する。量子化部２０９は、Ｑ’i,jを量子化テーブル格納部２０９ａに格納し、ＤＣＴ変換部２０７より出力された直交変換係数を量子化する。【選択図】  図１
2007037049.tif 000002
【特許請求の範囲】
【請求項１】
１色成分がＫ乃至Ｌビット（Ｌ＞Ｋ）の範囲内のビット数ｎで表わされる画像データをＪＰＥＧ符号化する画像符号化装置であって、
基本量子化値Ｑi,jを格納する基本量子化値格納手段と、
前記ビット数ｎで特定される許容最小量子化ステップ値Ｑn_minを決定する決定手段と、
該決定手段で決定された許容最小量子化ステップ値Ｑn_minと、前記基本量子化値Ｑi,jとに基づき、少なくとも前記許容最小量子化ステップ値Ｑn_min以上の値を持つ量子化ステップ値Ｑ’i,jを算出する算出手段と、
算出された量子化ステップ値Ｑ’i,jを用いて、直交変換して得られた変換係数を量子化する量子化手段と、
該量子化手段で量子化して得られた量子化係数を、前記基本量子化値Ｑi,jに応じたハフマンテーブルを用いてハフマン符号化するハフマン符号化手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記決定手段は、Ｈビット用の許容最小量子化ステップ値をＱH_min、Ｈ−１ビット用の最小量子化ステップ値ＱH-1_minとした場合、
ＱH_min≒２×ＱH-1_min
で定義される最小量子化ステップ値を、前記ビット数ｎに応じて生成する最小量子化ステップ生成部を有することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記算出手段は、
Ｑ’i,j＝Ｍａｘ（Ｑn_min、Ｑi,j）
（Ｍａｘ（ａ，ｂ）はａ，ｂの大きいほうを選択する関数）
を算出することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
前記算出手段は、前記基本量子化値格納部に格納された最小量子化値をＱminとした場合、
Ｑ’i,j＝Ｑi,j×｛Ｑmin／Ｑn_min｝
を算出することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項５】
基本量子化値格納手段は、符号化可能なビット数の範囲を、複数のグループに分割し、各グループ内の最小ビット数用の量子化値を前記基本量子化値として格納し、
更に、入力される符号化対象の画素のビット数に応じて、いずれのグループに属するのかに応じて、利用する基本量子化値を決定する手段を備えることを特徴とする請求項１乃至４のいずれか１項に記載の画像符号化装置。
【請求項６】
１色成分がＫ乃至Ｌビット（Ｌ＞Ｋ）の範囲内のビット数ｎで表わされる画像データをＪＰＥＧ符号化する画像符号化装置の制御方法であって、
基本量子化値Ｑi,jを格納する基本量子化値格納工程と、
前記ビット数ｎで特定される許容最小量子化ステップ値Ｑn_minを決定する決定工程と、
該決定工程で決定された許容最小量子化ステップ値Ｑn_minと、前記基本量子化値Ｑi,jとに基づき、少なくとも前記許容最小量子化ステップ値Ｑn_min以上の値を持つ量子化ステップ値Ｑ’i,jを算出する算出工程と、
算出された量子化ステップ値Ｑ’i,jを用いて、直交変換して得られた変換係数を量子化する量子化工程と、
該量子化工程で量子化して得られた量子化係数を、前記基本量子化値Ｑi,jに応じたハフマンテーブルを用いてハフマン符号化するハフマン符号化工程と
を備えることを特徴とする画像符号化装置の制御方法。
【請求項７】
コンピュータが読み込み実行することで、１色成分がＫ乃至Ｌビット（Ｌ＞Ｋ）の範囲内のビット数ｎで表わされる画像データをＪＰＥＧ符号化する画像符号化装置として機能するコンピュータプログラムであって、
基本量子化値Ｑi,jを格納する基本量子化値格納手段と、
前記ｎビットで特定される許容最小量子化ステップ値Ｑn_minを決定する決定手段と、
該決定手段で決定された許容最小量子化ステップ値Ｑn_minと、前記基本量子化値Ｑi,jとに基づき、少なくとも前記許容最小量子化ステップ値Ｑn_min以上の値を持つ量子化ステップ値Ｑ’i,jを算出する算出手段と、
算出された量子化ステップ値Ｑ’i,jを用いて、直交変換して得られた変換係数を量子化する量子化手段と、
該量子化手段で量子化して得られた量子化係数を、前記基本量子化値Ｑi,jに応じたハフマンテーブルを用いてハフマン符号化するハフマン符号化手段
として機能することを特徴とするコンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの圧縮符号化技術に関するものである。
【背景技術】
【０００２】
静止画像データの国際標準符号化方式であるＪＰＥＧには、離散コサイン変換（ＤＣＴ）を利用する非可逆符号化方式と予測符号化を用いる可逆符号化方式とがある。また、ＪＰＥＧには、各色成分が８ビットのカラー画像データと、各１２ビットのカラー画像データの符号化・復号化処理が規定されている。ＤＣＴを用いる８ビット画像の符号化はベースラインＪＰＥＧ、８ビットを含む１２ビット画像の符号化は拡張ＪＰＥＧとして区別されている。本発明はＤＣＴを用いる非可逆符号化方式に関する。
【０００３】
詳細については、“ＩＴＵ−Ｔ勧告Ｔ．８１（ＩＳＯ／ＩＥＣ １０９１８−１）”の付属書ＢのＢ．２．２節フレームヘッダシンタックスに記述されている。該Ｂ．２．２節の表Ｂ．２にフレームヘッダパラメータのサイズと値が規定されており、符号化・復号化する画像データのビット数が２番目のパラメータＰとして規定されている。シーケンシャルＤＣＴのベースラインは８ビット画像のみに限定され、シーケンシャルＤＣＴの拡張とプログレッシブＤＣＴは８ビットと１２ビット画像の符号化・復号化ができるようになっている。画像データ中の符号化したビット数が前記フレームヘッダパラメータに記述されている。また、復号時は該パラメータに基づいて復号処理を行うので、いずれのビット数であっても符号化した画像データのビット数と、復号後の画像データのビット数は同じになる。
【０００４】
これまでのカラー画像入力機器は、技術的な課題やコスト上の理由から、各色成分８ビット以下の精度でデータを生成してものがほとんどである。従って、ＪＰＥＧ圧縮もしくは単にＪＰＥＧと言えば、一般に、８ビットデータの圧縮を行うベースラインＪＰＥＧを指す。
【０００５】
近年、画像入力機器の精度が向上し、デジタルカメラやスキャナなど８ビットを越える精度を有する画像データの生成が手軽にできるようになってきた。これに対応して、１２ビットデータの圧縮が可能な拡張ＪＰＥＧの必要性が増大してきている。
【０００６】
拡張ＪＰＥＧがベースラインＪＰＥＧと大きく異なる点は、入力データのビット数が１２ビット（４ビット増えている）であり、これにより、色変換部、ＤＣＴ変換部、量子化部において１６倍の値（精度）で処理できるようビット数の拡張が図られている。
【０００７】
ここでは、各色１２ビット画像の拡張ＪＰＥＧ符号化処理フローを、図１に示すブロック図を用いて説明する。同図において、
１０１は入力される各色１２ビット画像データである。１０３は色変換部、１０５はレベルシフト部である。１０７はＤＣＴ変換部、１０９は量子化部、１１１はハフマン符号化部でる。１１３は量子化テーブル格納部、１１５は符号化処理で生成された符号データである。
【０００８】
フルカラー画像の３つのコンポーネントがＲＧＢ３原色の場合、色変換部１０３では、ＲＧＢ３原色を輝度と色差信号であるＹＣｂＣｒへ変換する。この色変換は、ＩＴＵ−Ｒ  ＢＴ．６０１から導出される次式が一般的に用いられる。
Ｙ  ＝０．２９９×Ｒ＋０．５８７×Ｇ＋０．１１４×Ｂ
Ｃｂ＝（−０．２９９×Ｒ−０．５８７×Ｇ＋０．８８６×Ｂ）×０．５６４
Ｃｒ＝（  ０．７０１×Ｒ−０．５８７×Ｇ−０．１１４×Ｂ）×０．７１３
【０００９】
次のレベルシフト部１０５では下式の処理を行う。
Ｙ’＝Ｙ−ｋ
ここで、１２ビットデータの変換なので、ｋ＝２０４８という値を用いる。
【００１０】
色変換されたＹ’ＣｂＣｒは、ＤＣＴ変換部１０５にてＤＣＴ変換係数に変換され、次の量子化部１０７に送られる。
【００１１】
ベースラインＪＰＥＧに対し拡張ＪＰＥＧでは、画像データが８ビットから１２ビットに拡大しているので、レンジが約１６倍に拡大する。色変換もＤＣＴ変換も線形変換であるため、１６倍に拡大されたデータは、変換後も１６倍拡大されている。よって、拡張ＪＰＥＧにおけるＤＣＴ変換係数は、ベースラインＪＰＥＧにおけるＤＣＴ変換係数の１６倍になる。
【００１２】
量子化部１０９は、該ＤＣＴ変換係数を量子化テーブル格納部１１３から読み出した量子化ステップ値で除算して、ＤＣＴ変換係数を量子化値に変換する。１６倍に拡大されたＤＣＴ変換係数をベースラインＪＰＥＧ用の量子化テーブルで量子化すると、量子化値も１６倍になる。この１６倍の量子化値をハフマン符号化部１１１へ送ることになる。
【００１３】
ハフマン符号化部１１１は、前記量子化値を不図示のハフマンテーブルに基づき、ハフマン符号化して符号１１５を生成する。
【００１４】
１６倍の量子化値をハフマン符号化する際に用いるハフマンテーブルは、ベースライン用のハフマンテーブルでは対応できず、１〜１６倍の量子化値とゼロランの組合せすべてにハフマンコードを割り当てたテーブルが必要になってくる。単純に考えるとベースライン用ハフマンテーブルを１６倍したサイズのテーブルになる。
【００１５】
符号データ１１５にはヘッダ情報として、拡張ＪＰＥＧ符号であることを示すＳＯＦ１マーカや画像サイズをはじめとする各種パラメータ、及び、量子化テーブル情報が書き込まれる。これは、“ＩＴＵ−Ｔ勧告Ｔ．８１（ＩＳＯ／ＩＥＣ １０９１８−１）”に定められていることである。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
拡張ＪＰＥＧ符号化処理に対応した図１の処理系では、１２ビットのフルレンジの入力を想定した実装になっている。
【００１７】
上記従来の処理系で、１２ビット画像を拡張ＪＰＥＧで符号化する場合、次のような問題点があった。
【００１８】
先ず、１２ビット画像を符号化することが可能なエントロピー符号化部のハフマンテーブルサイズは、ベースラインＪＰＥＧのテーブルサイズの１６倍もの大きさになり、エントロピー符号化部の回路規模が大規模になる点である。
【００１９】
また、ビット数の異なる画像を各々効率よく圧縮するには、各ビット数専用のハフマンテーブルを用意する必要があり、ハフマンテーブル全体の規模がさらに大きくなるといった問題があった。単純には、８、８、１０、１１、１２ビット画像用のハフマンテーブルが必要になる。
【００２０】
本発明はかかる問題点に鑑みなされたものであり、入力される符号化対象の画像データの各成分のビット数によらず、ハフマンテーブルの容量を少なくできる技術を提供しようとするものである。
【課題を解決するための手段】
【００２１】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
１色成分がＫ乃至Ｌビット（Ｌ＞Ｋ）の範囲内のビット数ｎで表わされる画像データをＪＰＥＧ符号化する画像符号化装置であって、
基本量子化値Ｑi,jを格納する基本量子化値格納手段と、
前記ビット数ｎで特定される許容最小量子化ステップ値Ｑn_minを決定する決定手段と、
該決定手段で決定された許容最小量子化ステップ値Ｑn_minと、前記基本量子化値Ｑi,jとに基づき、少なくとも前記許容最小量子化ステップ値Ｑn_min以上の値を持つ量子化ステップ値Ｑ’i,jを算出する算出手段と、
算出された量子化ステップ値Ｑ’i,jを用いて、直交変換して得られた変換係数を量子化する量子化手段と、
該量子化手段で量子化して得られた量子化係数を、前記基本量子化値Ｑi,jに応じたハフマンテーブルを用いてハフマン符号化するハフマン符号化手段とを備える。
【発明の効果】
【００２２】
本発明によれば、Ｌ乃至Ｋの範囲内にあるｎビットで表わされる画像データをＪＰＥＧ符号化する場合、基本量子化値Ｑi,jに応じた共通のハフマンテーブルを用いてハフマン符号化することが可能となる。従って、ハフマンテーブルの容量が増大することを抑制できる。
【発明を実施するための最良の形態】
【００２３】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００２４】
＜第１の実施形態＞
第１の実施形態では、ベースラインＪＰＥＧ用のハフマンテーブルで９〜１２ビットの画像データをＪＰＥＧ符号化する例を説明する。
【００２５】
ベースラインＪＰＥＧは８ビットデータ、拡張ＪＰＥＧは８または１２ビットデータの圧縮に対応する。従って、他のビット数、例えば９，１０，１１ビットのデータはそのまま圧縮できない。そこで、９，１０，１１ビットデータについては、下位ビットに０を付加するか、スケーリングを施して、１２ビット化してから拡張ＪＰＥＧで圧縮する。これが従来の方法である。
【００２６】
１２ビットモードの拡張ＪＰＥＧ符号化では、輝度信号のレンジ０〜４０９５を−２０４８〜２０４７にレベルシフトするため、全輝度信号から中間レベル２０４８（先に示した式２のｋ）を減算するといった処理を行う。これにより輝度信号と色差信号のレンジを合わせることができ、これ以降の処理を共通化することができる。
【００２７】
ところが、１０ビットデータを１２ビット化せずに拡張ＪＰＥＧ圧縮処理を施すと、輝度信号に対し前述の中間レベル２０４８を減算するため、０〜１０２３のレンジが−２０４８〜−１０２５になる。従って、輝度信号のレンジが色差信号のレンジ：−５１２〜５１１とは合わなくなってしまう。また絶対値で見たレンジが拡大してしまい、圧縮効率の点でも信号処理回路の規模の点でも好ましくない。
【００２８】
このような不具合は、データのビット数に対応して、輝度信号から減算する中間レベルを切り換えれば済む。例えば、１０ビットデータをそのまま圧縮処理する場合、輝度信号から減算する中間レベルとして５１２を用いれば、減算後のレンジは−５１２〜５１１となり、色差信号のレンジと同じになる。
【００２９】
輝度信号を色差信号のレンジと一致するようレベルシフトした信号の最大絶対値は、８，９，１０，１１，１２ビットデータに対して、それぞれ、１２８，２５６，５１２，１０２４，２０４８となり、１ビット増える毎に最大絶対値は２倍になる。
【００３０】
色変換，レベルシフト処理したデータは、次にＤＣＴ変換を行う。ＤＣＴ変換は線形変換であるため、入力データが２倍，４倍，８倍，１６倍になれば、変換後の係数データの大きさも２倍，４倍，８倍，１６倍になる。
【００３１】
よって、８ビットデータ符号化時に１で量子化した時の量子化値は、９，１０，１１，１２ビットデータ符号化時に、それぞれ、２，４，８，１６で量子化した時の量子化値と基本的に同じになる。元が同じデータならこれら量子化値の間の差は、データビット数と演算ビット数の違いによる演算精度の差であると言える。
【００３２】
８ビットデータ符号化時に仮に“１”で量子化して得られる量子化値は、ベースラインＪＰＥＧ用のハフマンテーブルで、エントロピー符号化することができる。従って、９，１０，１１，１２ビットデータ符号化時には、それぞれ、“２，４，８，１６”で量子化して得られる量子化値も、前記ベースライン用のハフマンテーブルで符号化することが可能である。
【００３３】
したがって、９ビットデータ符号化時は８ビットの量子化ステップの２倍以上の量子化ステップ値を用いて量子化すれば、ベースライン用のハフマンテーブルで符号化することができることがわかる。また、１０ビットデータ符号化時は８ビットの量子化ステップの４倍以上、１１ビットデータ符号化時は８ビットの量子化ステップの８倍以上、１２ビットデータ符号化時は１６倍以上の量子化ステップを用いて量子化すればよい。ただし、ハフマン符号化部２１１が符号化データを出力する際には、そのヘッダには入力されたビット数を示す情報を格納する。
【００３４】
図２は第１の実施形態における画像符号化装置のブロック構成図である。
【００３５】
図示において、符号２０１乃至２１５は、図１における符号１０１乃至１１５とほぼ同じ機能を有するものである。ただし、レベルシフト部２０５は、符号化しようとする画像の各色成分のビット数に応じて、シフトレベル数ｋを変更する。すなわち、画像データがｉビット（ｉ≧８）で表現される場合、ｋ＝１２８×２i-8を、色変換された輝度成分Ｙから減算する。
【００３６】
基本量子化テーブル格納部２２０は、ベースラインＪＰＥＧ符号化する際に利用する量子化ステップ値を格納する。ＤＣＴ変換は８×８画素単位に行うので、この基本量子化テーブル格納部２２０には、図４に示すように量子化ステップ値Ｑ0,0乃至Ｑ7,7が格納されている。
【００３７】
最小量子化ステップ生成部２２１は、例えば図５に示すように最小ステップ値Ｑn_min（ｎ＝８、９、…、１２）を格納するテーブルを有する。そして、画像データ２０１の符号化を開始する際、入力される画像データの各色成分のビット数を調べ、そのビット数に応じて１つの最小量子化ステップ値Ｑn_minを選択し、比較選択部２２２に出力する。
【００３８】
比較選択部２２２は、最小量子化ステップ生成部２２１から出力された最小量子化ステップ値Ｑn_minと、基本量子化テーブル格納部２２０に格納された量子化ステップＱi,jとを順に比較し、大きい方を量子化部２０９に出力する。出力される量子化ステップ値をＱ’i,jとすると次の演算処理を行う。
Ｑ’i,j＝ＭＡＸ（Ｑi,j、Ｑn_min）
ここで、ＭＡＸ（Ａ，Ｂ）は、値Ａ，Ｂの大きい方を返す関数を意味する。ハードウェアで実現する場合には、コンパレータ回路等で実現できよう。
【００３９】
量子化部２０９は、上記のようにして比較選択部２２２から出力された８×８個の量子化ステップ値Ｑ’i,jを量子化テーブル格納部２０９ａに格納し、ＤＣＴ変換部２０７から出力された８×８のＤＣＴ係数を単位に量子化を行う。通常、１つの画像データの各画素のビット数は固定であるので、量子化テーブル格納部２０９ａへの量子化ステップ値Ｑ’の格納処理は、画像データ２０１の符号化開始時の一回だけ行えば良い。
【００４０】
ここで、最小量子化ステップ生成部２２１についてより詳しく説明する。図５において、Ｑ8_minは、基本量子化テーブル格納部２２０に格納された８×８個の量子化ステップ値の最小の値と等しい。従って、符号化対象の画像データの各成分が８ビットの場合、量子化部２０９内の量子化テーブル格納部２０９ａに格納される量子化ステップ値Ｑ’i,jは、基本量子化テーブル格納部２２０に格納されている量子化ステップ値Ｑi,jと等しい。この結果、入力画像の各成分が８ビットの場合には、図１の装置は、ベースラインＪＰＥＧ符号化装置として機能する。
【００４１】
入力される画素データが９ビットの場合、先に説明した原理に従えば、そのＤＣＴ変換後のＤＣＴ係数は、ベースラインＪＰＥＧで利用する係数の２倍のレンジを持っている。従って、最低でもＱ8_min×２の値を持つ量子化ステップ値で量子化すれば、量子化後の値をベースラインＪＰＥＧ用のハフマン符号化部で符号化できることになる。
【００４２】
つまり、Ｑ9_minの値はＱ8_minの２倍の値とすれば良い。また、Ｑ10_minの値はＱ9_minの２倍の値とすれば良い。一般式で示せば、
Ｑn_min＝Ｑ8_min×２(n-8)          （１）
の関係にあれば良いことになる（ただし、ｎは８以上の整数）。
【００４３】
以上説明したように本実施形態の構成によると、利用する量子化ステップを、入力データのビット数に対応した最小量子化ステップ値以上の値にすることにより、如何なるビット数の画像データに対してもベースライン用の共通のハフマンテーブルを利用できる。
【００４４】
ここで、８ビットデータ符号化時に量子化ステップ“１”で量子化すると、ベースライン用のハフマンテーブルで符号化できるという点について、少し細かく考察してみる。
【００４５】
該量子化ステップ“１”には少しマージンがあるはずであるが、このマージンがどれぐらいあるかは明らかではない。仮にマージンが１０％あったとすると、量子化ステップ０．９で量子化して得られる量子化値も前記８ビット用のハフマンテーブルで符号化することができることになる。
【００４６】
ＪＰＥＧ規格では整数の量子化値しか使えないので、量子化ステップ“０．９”には意味が無いが、１２ビットデータ符号化時には意味がでてくる。すなわち、“０．９”を１６倍した“１４．４”を切り上げて整数化した“１５”という量子化ステップで量子化した場合にも、ベースライン用のハフマンテーブルで符号化することができることを意味する。
【００４７】
マージンがもっと大きければ、さらに小さな“１４”という量子化ステップで量子化しても、８ビット用のハフマンテーブルが使えるかもしれない。この場合、１１ビットデータ符号化時の量子化ステップは７以上であればよいことになる。
【００４８】
従って、先の式（１）は、上記のマージンがないことを前提にしたものである点に留意されたい。すなわち、
Ｑn_min≒Ｑ(n-1)_min×２、
もしくは、ビット数に応じて変動する定数Ｃ（n)（Ｃ(n)＞０）を定義し、
Ｑ(n-1)_min×２−Ｃ（ｎ）≦Ｑn_min≦Ｑ(n-1)_min×２＋Ｃ（ｎ）
の関係を有するものでも構わない。
【００４９】
なお、図１において、最小量子化ステップ設定部２０１は、符号化対象となる画像データファイルを入力する場合には、そのヘッダを調べてビット数を検出することになる。また、場合によっては、入力するのがファイルではなく、ハードウェア等に依存して決めるような場合には、ディップスイッチの状態や操作パネルからの指示に基づいて最小ステップ値を決定し、出力するようにしても構わない。
【００５０】
また、上記実施形態でのベースライン用のハフマンテーブルは、前記規格書にも載っているよく知られたテーブルであり、これを基準にして説明したが、当然、他のハフマンテーブルであってもよい。例えば、８ビット画像を最小量子化ステップ２に合わせたハフマンテーブルはベースライン用ハフマンテーブルより小さくなる。これを共通ハフマンテーブルとすることも可能である。この場合、９ビット画像では２×２、１０ビット画像では２×４といった最小量子化ステップを設定して符号化すればよい。
【００５１】
図６は上記処理をソフトウェア（コンピュータプログラム）で実現する場合の処理手順を示すフローチャートである。このプログラムは、例えばパーソナルコンピュータ等の汎用の情報処理装置で実行するアプリケーションプログラムの一部として考えることもできる。
【００５２】
先ず、ステップＳ１において、符号化しようとする画像データの各色成分のビット数ｎを設定する。この設定は、符号化対象の画像データファイルのヘッダを調べることで設定しても良いし、ユーザがＧＵＩを介して設定しても構わない。
【００５３】
次いで、ステップＳ２に進んで、設定されたビット数ｎに応じた最小量子化ステップ値Ｑn_minを求める。この後、処理はステップＳ３に進んで、基本量子化ステップ値Ｑi,j（ｉ，ｊ＝０、１、…、７）と、最小量子化ステップ値Ｑn_minとを順に比較し、大きい方をＱ’i,jとして決定する。
【００５４】
以上の結果、符号化処理の準備ができたことになるので、ステップＳ４乃至Ｓ９にて、図２の処理ブロックの順序と同等の処理を行う。注目する点は、量子化処理（ステップＳ８）では、先に決定した量子化ステップＱ’i,jを用いて量子化する点である。そして、この処理をステップＳ１０で画像全体に対する処理が完了したと判断するまで繰り返すことになる。
【００５５】
＜第２の実施形態＞
第２の実施形態における画像符号化装置のブロック構成図を図３に示す。基本的に図１と同様である。すなわち、符号３０１乃至３１５、３２１、３２０は図２と同じである。異なる点は、比較選択部２２２の代わりにスケーリング部３２２を設けた点と、検出保持部３２３を追加した点である。
【００５６】
検出保持部３２３は、基本量子化テーブル３２０に格納された量子化ステップ値の最小値を検出して保持する。スケーリング部３０３は、基本量子化テーブル格納部３２０から出力される量子化ステップにスケーリングを施す。以下、追加した２つの処理部について、さらに詳しく説明する。
【００５７】
検出保持部３０１は、１つの画像の符号化を開始する際に、符号化処理に用いるために指定された基本量子化テーブル格納部３２０の中で最小の量子化ステップを検出して保持する。
【００５８】
スケーリング部３０３は、最小量子化ステップ生成部３２１からの設定量子化ステップ値を、検出保持部３０１に検出保持した最小量子化ステップ値で除算する。そして、その除算した結果を量子化テーブル格納部３２０から量子化ステップ値を読み出す毎に乗算し、その結果を量子化部３０９に出力する。この結果、量子化部３０９内の量子化テーブル格納部３０９ａに、入力する画像用の量子化ステップ値が格納される。
【００５９】
例えば、基本量子化テーブル格納部３２０内のステップ値Ｑi,jの中の最小値をＱminとする。また、符号化対象の画像データの１画素の各色成分ｎビットであり、最小量子化ステップ生成部３２１が出力する最小量子化ステップ値をＱn_minとする。この場合、量子化部３０９内の量子化テーブル格納部３０９ａに格納される量子化ステップ値Ｑ'i,jは次の通りになる。
Ｑ’i,j＝Ｑi,j×Ｑmin／Ｑn_min
これにより、基本量子化テーブル中の最小量子化ステップＱminは設定量子化ステップ値Ｑn_minに比例した値になり、他の量子化ステップもそれに比例した値になる。なお、先に説明したように、実際に使用する量子化ステップ値Ｑ’i,jは整数である。従って、厳密には、上記の変換式は、整数化関数Ｉｎｔ（）を用いれば次の通りになる。
Ｑ’i,j＝Ｉｎｔ（Ｑi,j×Ｑmin／Ｑn_min）
ハードウェアで実現する場合には小数点以下のビットを切り捨てるようにすれば良いでであろう。
【００６０】
先に説明した第１の実施形態では、量子化ステップ値Ｑi,jの中で、最小量子化ステップ値Ｑn_minの値以上を持つ量子化ステップ値はそのまま量子化テーブル格納部３０９ａに格納された。これに対して、第２の実施形態によれば、量子化ステップＱi,j全体が、入力する画像のビット数に応じて変換されることになり、より高画質となる符号化データを生成することが可能になる。
【００６１】
また、特に第２の実施形態によれば、基本量子化ステップ格納部３２０に格納する量子化ステップ値は、ベースラインＪＰＥＧ（８ビットＪＰＥＧ）用の量子化ステップ値に限らない。例えば、１色成分が１０ビット用の量子化ステップ値を基本量子化テーブル格納部３２０に格納するようにすれば、８ビット、９ビットの画像データに対する画質劣化は、それ専用の量子化ステップ値で量子化した場合と実質的に同等のものとすることができる。
【００６２】
以上説明したように本第２の実施形態によれば、特定のビット数のための共通のハフマンテーブルを用いてエントロピー符号化することが可能である。
【００６３】
＜第３の実施形態＞
上記２つの実施形態では、共通の１つのハフマンテーブルのみを用いるものであった。すなわち、いかなるビット数の画像も共通した１つのハフマンテーブルで符号化するものであった。
【００６４】
本第３の実施形態では、符号化する画像のビット数をグループ分けして、各グループ毎に共通するハフマンテーブルを用いて符号化する場合について説明する。
【００６５】
具体的には、ビット数が８，９，１０ビットの画像を符号化する第１の共通ハフマンテーブルと、１１ビット以上画像を符号化する第２の共通ハフマンテーブルとを用意し、エントロピー符号化するというものである。
【００６６】
この場合、８，９，１０ビット画像に対して、α，２α，４αという最小量子化ステップを設定し、１１ビット以上のｎビット画像に対して、β×２の（ｎ−１１）乗という最小量子化ステップを設定する。
【００６７】
本実施形態は、前記図２、図３のいずれにも適用可能であり、違いは、ハフマン符号化部１１１において、２つのハフマンテーブルを用意し、画像のビット数に対応して２つのハフマンテーブルの一方を選択することである。
【００６８】
以上説明したように本第３の実施形態によれば、１画素の１色成分が８ビット以上のＮビット（実施形態ではＮ＝１２）の画像を符号化する際に、「Ｎ−８＋１」個の各ビット数毎のハフマンテーブルを用意しなくても、簡易的に符号化を行うことが可能になる。
【００６９】
以上本発明に係る実施形態を説明したが、本発明は、コンピュータプログラムによっても実現できるのは、先に説明した通りである。また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されていて、その媒体をコンピュータにセットして、システムにコピーもしくはインストールすることで実行可能になる。従って、そのようなコンピュータ可読記憶媒体も本発明の範疇に入るのは明らかである。
【図面の簡単な説明】
【００７０】
【図１】一般的な符号化装置のブロック構成図である。
【図２】第１実施形態における符号化装置のブロック構成図である。
【図３】第２実施形態における符号化装置のブロック構成図である。
【図４】基本量子化テーブル格納部に格納されている量子化ステップ値を示す図である。
【図５】最小量子化ステップ値設定部が有するテーブルの一例を示す図である。
【図６】第１の実施形態の処理手順を示すフローチャートである。
【図１】
2007037049.tif 000003
【図２】
2007037049.tif 000004
【図３】
2007037049.tif 000005
【図４】
2007037049.tif 000006
【図５】
2007037049.tif 000007
【図６】
2007037049.tif 000008