(57)【特許請求の範囲】
【請求項１】
画像データの圧縮を行う画像圧縮装置であって、
前記画像データに含まれる複数の画素値を、Ａ１＜Ｂ１なる２つの値Ａ１およびＢ１を用い、前記Ａ１と前記Ｂ１とで定義される１つの領域内で量子化する量子化モード１を実行する第一量子化部と、
前記複数の画素値を、Ａ２＞Ｂ２なる２つの値Ａ２およびＢ２を用い、前記Ａ２と前記Ｂ２とで定義される２つの領域内で量子化する量子化モード２を実行する第二量子化部と、
値Ａと、値Ｂと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成部とを備え、
前記圧縮データ生成部は、
前記Ａに、前記量子化モード１が選択された場合には前記Ａ１を格納し、前記量子化モード２が選択された場合には前記Ａ２を格納し、
前記Ｂに、前記量子化モード１が選択された場合には前記Ｂ１を格納し、前記量子化モード２が選択された場合には前記Ｂ２を格納することで、前記圧縮データを生成し、
前記第一量子化部は、前記複数の画素値を、前記Ａ１以上前記Ｂ１以下の領域である前記１つの領域内で量子化する前記量子化モード１を実行し、
前記第二量子化部は、ｎビットの前記複数の画素値を、０以上前記Ｂ２以下の領域、及び前記Ａ２以上２ｎ−１以下の領域である前記２つの領域内で量子化する前記量子化モード２を実行する
画像圧縮装置。
【請求項２】
前記圧縮データ生成部は、
前記量子化モード１および前記量子化モード２のうち、量子化すべき量子化モードを選択する量子化モード選択部を備え、
選択された量子化モードに従って、前記圧縮データを生成する
請求項１に記載の画像圧縮装置。
【請求項３】
前記第一量子化部は、さらに、前記量子化モード１における量子化誤差を算出し、
前記第二量子化部は、さらに、前記量子化モード２における量子化誤差を算出し、
前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一量子化部および前記第二量子化部による量子化誤差の算出結果を用いて、量子化誤差の小さい量子化モードを選択する
請求項２に記載の画像圧縮装置。
【請求項４】
前記第一量子化部は、さらに、前記Ｂ１から前記Ａ１を差し引いた値を、前記量子化モード１における領域幅である第一領域幅として算出し、
前記第二量子化部は、さらに、前記複数の画素値がｎビットで表現される場合に、前記Ｂ２の値と、２ｎ−１から前記Ａ２を差し引いた値との合計値を、前記量子化モード２における領域幅である第二領域幅として算出し、
前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一領域幅および前記第二領域幅のうち小さい領域幅に対応する量子化モードを選択する
請求項２に記載の画像圧縮装置。
【請求項５】
前記第二量子化部は、複数の前記Ａ２と前記Ｂ２との組について、前記量子化モード２における量子化誤差または領域幅を算出し、
前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一量子化部による算出結果、および前記第二量子化部による前記複数の組についての複数の算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択し、
前記圧縮データ生成部は、選択された量子化モードが前記量子化モード２の場合、最小の量子化誤差または領域幅となるＡ２およびＢ２をＡおよびＢとして、当該Ａと、当該Ｂと、当該量子化モード２で量子化された前記複数の画素値における量子化値とを含む前記圧縮データを生成する
請求項３または４に記載の画像圧縮装置。
【請求項６】
前記第一量子化部は、前記複数の画素値のうち、最小の画素値を前記Ａ１とし、最大の画素値を前記Ｂ１として、前記量子化モード１を実行し、
前記第二量子化部は、前記複数の画素値を２つの領域に分割した場合の、画素値が小さい方の領域における最大の画素値を前記Ｂ２とし、画素値が大きい方の領域における最小の画素値を前記Ａ２として、前記量子化モード２を実行する
請求項１〜５のいずれか１項に記載の画像圧縮装置。
【請求項７】
前記第二量子化部は、前記量子化モード２を実行する２つの領域に対して、それぞれの領域に量子化値を配分して割り当て、それぞれの領域内で割り当てた量子化値での量子化を行う
請求項１〜６のいずれか１項に記載の画像圧縮装置。
【請求項８】
前記第二量子化部は、前記２つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当て、それぞれの領域内で割り当てた量子化値での量子化を行う
請求項７に記載の画像圧縮装置。
【請求項９】
前記画像データは、複数のチャネルを有する画像データであり、
前記第一量子化部は、前記複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行い、
前記第二量子化部は、前記複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う
請求項１〜８のいずれか１項に記載の画像圧縮装置。
【請求項１０】
前記第一量子化部は、前記複数のチャネルに対して、それぞれのチャネルの領域幅であるダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行い、
前記第二量子化部は、前記複数のチャネルに対して、それぞれのチャネルの前記ダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う
請求項９に記載の画像圧縮装置。
【請求項１１】
前記第一量子化部は、前記画像データに含まれる複数の画素からなる画像ブロックごとに、前記画像ブロックにおける前記複数の画素値を量子化する前記量子化モード１を実行し、
前記第二量子化部は、前記画像ブロックごとに、前記複数の画素値を量子化する前記量子化モード２を実行し、
前記圧縮データ生成部は、前記画像ブロックごとに、前記圧縮データを生成する
請求項１〜１０のいずれか１項に記載の画像圧縮装置。
【請求項１２】
請求項１〜１１のいずれか１項に記載の画像圧縮装置により圧縮された画像データである前記圧縮データを伸長する画像伸長装置であって、
前記圧縮データに含まれる前記Ａおよび前記Ｂの大小関係により、前記量子化モード１および前記量子化モード２のうち、前記圧縮データに含まれる量子化値に対応する量子化モードを判定する量子化モード判定部と、
判定された量子化モードにより、前記量子化値を画素値に逆量子化する逆量子化部と
を備える画像伸長装置。
【請求項１３】
請求項１〜１１のいずれか１項に記載の画像圧縮装置と、
請求項１２に記載の画像伸長装置と、
前記画像圧縮装置に画像データを送信するとともに、前記画像伸長装置から画像データを受信する画像処理部とを備え、
前記画像圧縮装置は、前記画像処理部から受信した画像データを圧縮して圧縮データを生成し、生成した圧縮データをメモリに書き込み、
前記画像伸長装置は、前記メモリに書き込まれている圧縮データを前記メモリから読み出し、読み出した圧縮データを伸長して画像データを生成し、生成した画像データを前記画像処理部に送信する
画像処理装置。
【請求項１４】
画像データの圧縮を行う集積回路であって、
前記画像データに含まれる複数の画素値を、Ａ１＜Ｂ１なる２つの値Ａ１およびＢ１を用い、前記Ａ１と前記Ｂ１とで定義される１つの領域内で量子化する量子化モード１を実行する第一量子化部と、
前記複数の画素値を、Ａ２＞Ｂ２なる２つの値Ａ２およびＢ２を用い、前記Ａ２と前記Ｂ２とで定義される２つの領域内で量子化する量子化モード２を実行する第二量子化部と、
値Ａと、値Ｂと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成部とを備え、
前記圧縮データ生成部は、
前記Ａに、前記量子化モード１が選択された場合には前記Ａ１を格納し、前記量子化モード２が選択された場合には前記Ａ２を格納し、
前記Ｂに、前記量子化モード１が選択された場合には前記Ｂ１を格納し、前記量子化モード２が選択された場合には前記Ｂ２を格納することで、前記圧縮データを生成し、
前記第一量子化部は、前記複数の画素値を、前記Ａ１以上前記Ｂ１以下の領域である前記１つの領域内で量子化する前記量子化モード１を実行し、
前記第二量子化部は、ｎビットの前記複数の画素値を、０以上前記Ｂ２以下の領域、及び前記Ａ２以上２ｎ−１以下の領域である前記２つの領域内で量子化する前記量子化モード２を実行する
集積回路。
【請求項１５】
請求項１〜１１のいずれか１項に記載の画像圧縮装置により圧縮された画像データである前記圧縮データを伸長する集積回路であって、
前記圧縮データに含まれる前記Ａおよび前記Ｂの大小関係により、前記量子化モード１および前記量子化モード２のうち、前記圧縮データに含まれる量子化値に対応する量子化モードを判定する量子化モード判定部と、
判定された量子化モードにより、前記量子化値を画素値に逆量子化する逆量子化部と
を備える集積回路。
【請求項１６】
画像データの圧縮を行う画像圧縮方法であって、
前記画像データに含まれる複数の画素値を、Ａ１＜Ｂ１なる２つの値Ａ１およびＢ１を用い、前記Ａ１と前記Ｂ１とで定義される１つの領域内で量子化する量子化モード１を実行する第一量子化ステップと、
前記複数の画素値を、Ａ２＞Ｂ２なる２つの値Ａ２およびＢ２を用い、前記Ａ２と前記Ｂ２とで定義される２つの領域内で量子化する量子化モード２を実行する第二量子化ステップと、
値Ａと、値Ｂと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成ステップとを含み、
前記圧縮データ生成ステップでは、
前記Ａに、前記量子化モード１が選択された場合には前記Ａ１を格納し、前記量子化モード２が選択された場合には前記Ａ２を格納し、
前記Ｂに、前記量子化モード１が選択された場合には前記Ｂ１を格納し、前記量子化モード２が選択された場合には前記Ｂ２を格納することで、前記圧縮データを生成し、
前記第一量子化ステップでは、前記複数の画素値を、前記Ａ１以上前記Ｂ１以下の領域である前記１つの領域内で量子化する前記量子化モード１を実行し、
前記第二量子化ステップでは、ｎビットの前記複数の画素値を、０以上前記Ｂ２以下の領域、及び前記Ａ２以上２ｎ−１以下の領域である前記２つの領域内で量子化する前記量子化モード２を実行する
画像圧縮方法。
【請求項１７】
請求項１６に記載の画像圧縮方法に含まれるステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮する画像圧縮装置、圧縮された画像データを伸長する画像伸長装置、および画像圧縮装置または画像伸長装置を備える画像処理装置に関する。
【背景技術】
【０００２】
画像データを圧縮するための一般的な方法としては、あるビット数で表わされた画素値を、より少ないビット数で表現する、量子化が挙げられる。量子化は、データ量を削減できる反面、量子化誤差が発生するため、画像圧縮においては画質の劣化が生じる。【０００３】
このような画質劣化を低減するための従来の画像圧縮技術としては、画素値のダイナミックレンジを利用する方法が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第２７８５８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の画像圧縮方法では、画像ブロックに含まれる画素値のダイナミックレンジが広い場合、量子化誤差が大きくなるという課題を有していた。【０００６】
本発明は、上記従来の課題を解決するためになされたものであり、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる画像圧縮装置、画像伸長装置および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一態様に係る画像圧縮装置は、画像データの圧縮を行う画像圧縮装置であって、前記画像データに含まれる複数の画素値を、Ａ１＜Ｂ１なる２つの値Ａ１およびＢ１を用い、前記Ａ１と前記Ｂ１とで定義される１つの領域内で量子化する量子化モード１を実行する第一量子化部と、前記複数の画素値を、Ａ２＞Ｂ２なる２つの値Ａ２およびＢ２を用い、前記Ａ２と前記Ｂ２とで定義される２つの領域内で量子化する量子化モード２を実行する第二量子化部と、値Ａと、値Ｂと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成部とを備え、前記圧縮データ生成部は、前記Ａに、前記量子化モード１が選択された場合には前記Ａ１を格納し、前記量子化モード２が選択された場合には前記Ａ２を格納し、前記Ｂに、前記量子化モード１が選択された場合には前記Ｂ１を格納し、前記量子化モード２が選択された場合には前記Ｂ２を格納することで、前記圧縮データを生成する。【０００８】
なお、本発明は、このような画像圧縮装置として実現することができるだけでなく、画像伸長装置や画像処理装置として実現したりすることもできる。また、本発明は、画像圧縮装置、画像伸長装置または画像処理装置に含まれる各処理部を備える集積回路として実現したりすることもできる。また、本発明は、画像圧縮装置、画像伸長装置または画像処理装置に含まれる各処理部の特徴的な処理をステップとする画像圧縮方法、画像伸長方法または画像処理方法として実現したりすることもできる。また、画像圧縮方法、画像伸長方法または画像処理方法に含まれる特徴的な処理をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【発明の効果】
【０００９】
本発明に係る画像圧縮装置によれば、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができ、圧縮画像の画質を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施の形態における画像処理装置の構成を示す構成図である。
【図２Ａ】図２Ａは、本発明の実施の形態における画像圧縮装置の構成を示す構成図である。
【図２Ｂ】図２Ｂは、本発明の実施の形態における圧縮データ生成部の構成を示す構成図である。
【図３】図３は、本発明の実施の形態における第一量子化部の構成を示す構成図である。
【図４】図４は、本発明の実施の形態における第二量子化部の構成を示す構成図である。
【図５】図５は、本発明の実施の形態における画像伸長装置の構成を示す構成図である。
【図６】図６は、本発明の実施の形態における画像圧縮装置が画像データを圧縮する処理の一例を示すフローチャートである。
【図７】図７は、本発明の実施の形態における第一量子化部が量子化モード１で画素値を量子化する処理の一例を示すフローチャートである。
【図８】図８は、本発明の実施の形態における第一量子化部が画像ブロック内の画素値に対し、値Ａ１および値Ｂ１を取得する処理を説明する図である。
【図９】図９は、本発明の実施の形態における量子化部がＡ１以上Ｂ１以下の範囲内で量子化を行うことを説明する図である。
【図１０】図１０は、本発明の実施の形態における第二量子化部が量子化モード２で画素値を量子化する処理の一例を示すフローチャートである。
【図１１】図１１は、本発明の実施の形態における第二量子化部が画像ブロック内の画素値に対し、値Ａ２および値Ｂ２を取得する処理を説明する図である。
【図１２】図１２は、本発明の実施の形態における第二量子化部が２つの領域内で量子化を行うことを説明する図である。
【図１３】図１３は、本発明の実施の形態における量子化値割当部が２つの領域に量子化値を配分して割り当てることを説明する図である。
【図１４】図１４は、本発明の実施の形態における画像伸長装置が圧縮データを伸長する処理の一例を示すフローチャートである。
【図１５】図１５は、本発明の実施の形態の変形例１における第一量子化部が量子化モード１で画素値を量子化する処理の一例を示すフローチャートである。
【図１６】図１６は、本発明の実施の形態の変形例１における第二量子化部が量子化モード２で画素値を量子化する処理の一例を示すフローチャートである。
【図１７】図１７は、本発明の実施の形態の変形例２における画像圧縮装置が画像データを圧縮する処理の一例を示すフローチャートである。
【図１８】図１８は、本発明の実施の形態の変形例３における画像圧縮装置が複数チャネルの画像データを圧縮する処理を説明する図である。
【図１９】図１９は、本発明の実施の形態の変形例４における画像処理装置の構成を示す構成図である。
【図２０】図２０は、本発明の実施の形態の変形例５における画像圧縮装置の構成を示す構成図である。
【図２１】図２１は、本発明の実施の形態の変形例６における第一量子化部が量子化を行う処理を説明する図である。
【図２２】図２２は、本発明の実施の形態の変形例７における第二量子化部が量子化を行う処理を説明する図である。
【図２３】図２３は、従来の画像圧縮方法の処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
（本発明の基礎となった知見）
本発明者は、「背景技術」の欄において記載した画像圧縮技術に関し、以下の問題が生じることを見出した。
【００１２】
図２３は、上記特許文献１に記載された従来の画像圧縮方法の処理を説明するためのフローチャートである。
【００１３】
同図に示すように、複数の画素から成る画像ブロック単位で、画素値の最小値Ａと最大値Ｂとを取得する（Ｓ２）。そして、最大値Ｂと最小値Ａとの差として、ダイナミックレンジＤＲ＝Ｂ−Ａを算出する（Ｓ４）。そして、上記ダイナミックレンジを（２ｍ−１）個の領域に等分し、２ｍ個の値を割り当てることでｍビット値への量子化を行う（Ｓ６）。そして、上記最小値Ａおよび最大値Ｂの２値と、各画素の量子化値とを含む圧縮データを生成する（Ｓ８）。
【００１４】
これにより、画素値の取り得るレンジ全体に対して量子化を行う場合に比べ、上記特許文献１の手法では、ダイナミックレンジが狭い場合に量子化誤差を小さくすることができる。一般的な画像においては、局所的な画像ブロック内ではダイナミックレンジが狭い場合が多いため、上記手法は画像圧縮の画質向上に効果的である。
【００１５】
しかしながら、上記の画像圧縮方法では、画像ブロックに含まれる画素値のダイナミックレンジが広い場合、ダイナミックレンジを（２ｍ−１）個の領域に等分した際の個々の領域幅が大きくなり、それに伴い量子化誤差が大きくなるという課題を有していた。
【００１６】
このような場合、量子化を行う領域を複数の領域に分割し、画素値の存在する領域のみで量子化することにより量子化誤差を低減することが可能であるが、複数の領域を用いる場合、量子化後のデータがどの領域に属するかを識別するための情報が余分に必要となり、圧縮後のデータ量が大きくなり、圧縮率の低下を招く。
【００１７】
本発明は、上記の課題を解決するためになされたものであり、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる画像圧縮装置、画像伸長装置および画像処理装置を提供することを目的とする。
【００１８】
上記目的を達成するために、本発明の一態様に係る画像圧縮装置は、画像データの圧縮を行う画像圧縮装置であって、前記画像データに含まれる複数の画素値を、Ａ１＜Ｂ１なる２つの値Ａ１およびＢ１を用い、前記Ａ１と前記Ｂ１とで定義される１つの領域内で量子化する量子化モード１を実行する第一量子化部と、前記複数の画素値を、Ａ２＞Ｂ２なる２つの値Ａ２およびＢ２を用い、前記Ａ２と前記Ｂ２とで定義される２つの領域内で量子化する量子化モード２を実行する第二量子化部と、値Ａと、値Ｂと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成部とを備え、前記圧縮データ生成部は、前記Ａに、前記量子化モード１が選択された場合には前記Ａ１を格納し、前記量子化モード２が選択された場合には前記Ａ２を格納し、前記Ｂに、前記量子化モード１が選択された場合には前記Ｂ１を格納し、前記量子化モード２が選択された場合には前記Ｂ２を格納することで、前記圧縮データを生成する。
【００１９】
これによれば、画像圧縮装置は、複数の画素値を１つの領域内で量子化する量子化モード１と、複数の画素値を２つの領域に分割して当該２つの領域内で量子化する量子化モード２とを実行する機能を備えている。そして、画像圧縮装置は、量子化モード１が選択された場合には、Ａ１＜Ｂ１の関係にあるＡ１をＡとしＢ１をＢとし、量子化モード２が選択された場合には、Ａ２＞Ｂ２の関係にあるＡ２をＡとしＢ２をＢとして、当該Ａと、当該Ｂと、量子化値とを含む圧縮データを生成する。つまり、Ａ＜Ｂであれば量子化モード１が選択されており、Ａ＞Ｂであれば量子化モード２が選択されていることになるため、従来から必要なデータであったＡおよびＢの２つの値を利用して、選択された量子化モードを区別することができる。このため、２つの量子化モードを区別するための情報を圧縮データに付加することなく、従来技術と同等の量子化モード１に加えて、２つの領域で量子化を行う量子化モード２が利用可能となり、これらのうち選択される適切な量子化モードで、画像圧縮を行うことができる。また、量子化モード２を実行することにより、ダイナミックレンジが広い画像データにおいても、画素値が２つの領域に集中している場合には、それぞれの領域幅が狭くなり、量子化誤差を小さくすることができる。これらにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
【００２０】
また、例えば、前記第一量子化部は、前記複数の画素値を、前記Ａ１以上前記Ｂ１以下の領域である前記１つの領域内で量子化する前記量子化モード１を実行することにしてもよい。
【００２１】
これによれば、第一量子化部において定義される１つの領域は、Ａ１以上Ｂ１以下の領域である。つまり、画像圧縮装置は、複数の画素値が当該Ａ１以上Ｂ１以下の当該１つの領域内に集中している場合に、当該複数の画素値を当該１つの領域内で量子化する第一量子化部を備えている。これにより、画像圧縮装置は、複数の画素値が当該１つの領域内に集中している場合には、Ａ１およびＢ１の２つの値を利用して、画像圧縮を行うことができる。
【００２２】
また、例えば、前記第二量子化部は、ｎビットの前記複数の画素値を、０以上前記Ｂ２以下の領域、及び前記Ａ２以上２ｎ−１以下の領域である前記２つの領域内で量子化する前記量子化モード２を実行することにしてもよい。
【００２３】
これによれば、第二量子化部において定義される２つの領域は、０以上Ｂ２以下の領域、及びＡ２以上２ｎ−１以下の領域である。つまり、画像圧縮装置は、複数の画素値が当該０以上Ｂ２以下の領域とＡ２以上２ｎ−１以下の領域との当該２つの領域内に集中している場合に、当該複数の画素値を当該２つの領域内で量子化する第二量子化部を備えている。これにより、画像圧縮装置は、複数の画素値が当該２つの領域内に集中している場合には、Ａ２およびＢ２の２つの値を利用して、画像圧縮を行うことができる。
【００２４】
また、例えば、前記圧縮データ生成部は、前記量子化モード１および前記量子化モード２のうち、量子化すべき量子化モードを選択する量子化モード選択部を備え、選択された量子化モードに従って、前記圧縮データを生成することにしてもよい。
【００２５】
これによれば、画像圧縮装置は、量子化モード１および量子化モード２のうち、量子化すべき量子化モードを選択して、選択された量子化モードに従って、圧縮データを生成する。このため、画像圧縮装置は、適切な量子化モードを選択し、選択された量子化モードに従って、最適な画像圧縮を行うことができる。
【００２６】
また、例えば、前記第一量子化部は、さらに、前記量子化モード１における量子化誤差を算出し、前記第二量子化部は、さらに、前記量子化モード２における量子化誤差を算出し、前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一量子化部および前記第二量子化部による量子化誤差の算出結果を用いて、量子化誤差の小さい量子化モードを選択することにしてもよい。
【００２７】
これによれば、画像圧縮装置は、量子化モード１および量子化モード２における量子化誤差を算出し、量子化誤差の小さい量子化モードを選択する。これにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
【００２８】
また、例えば、前記第一量子化部は、さらに、前記Ｂ１から前記Ａ１を差し引いた値を、前記量子化モード１における領域幅である第一領域幅として算出し、前記第二量子化部は、さらに、前記複数の画素値がｎビットで表現される場合に、前記Ｂ２の値と、２ｎ−１から前記Ａ２を差し引いた値との合計値を、前記量子化モード２における領域幅である第二領域幅として算出し、前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一領域幅および前記第二領域幅のうち小さい領域幅に対応する量子化モードを選択することにしてもよい。
【００２９】
これによれば、画像圧縮装置は、量子化モード１における領域幅と、量子化モード２における領域幅とを算出し、小さい領域幅に対応する量子化モードを選択する。ここで、領域幅が小さい場合には、画素値が当該領域に集中していることになるので、領域幅が小さい場合の量子化モードで量子化を行った方が、量子化誤差を小さくすることができる。このため、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
【００３０】
また、例えば、前記第二量子化部は、複数の前記Ａ２と前記Ｂ２との組について、前記量子化モード２における量子化誤差または領域幅を算出し、前記量子化モード選択部は、前記量子化すべき量子化モードとして、前記第一量子化部による算出結果、および前記第二量子化部による前記複数の組についての複数の算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択し、前記圧縮データ生成部は、選択された量子化モードが前記量子化モード２の場合、最小の量子化誤差または領域幅となるＡ２およびＢ２をＡおよびＢとして、当該Ａと、当該Ｂと、当該量子化モード２で量子化された前記複数の画素値における量子化値とを含む前記圧縮データを生成することにしてもよい。
【００３１】
これによれば、画像圧縮装置は、複数のＡ２とＢ２との組について、量子化モード２における量子化誤差または領域幅を算出し、その算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択し、選択した量子化モードにおける圧縮データを生成する。ここで、量子化モード２においては、Ａ２とＢ２との組合せによっては、量子化誤差が異なる場合がある。このため、画像圧縮装置は、量子化モード２において、複数のＡ２とＢ２との組について計算を行うことで、量子化誤差が小さくなる最適なケースを選択することができる。これにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
【００３２】
また、例えば、前記第一量子化部は、前記複数の画素値のうち、最小の画素値を前記Ａ１とし、最大の画素値を前記Ｂ１として、前記量子化モード１を実行し、前記第二量子化部は、前記複数の画素値を２つの領域に分割した場合の、画素値が小さい方の領域における最大の画素値を前記Ｂ２とし、画素値が大きい方の領域における最小の画素値を前記Ａ２として、前記量子化モード２を実行することにしてもよい。
【００３３】
これによれば、画像圧縮装置は、複数の画素値のうちの最小値をＡ１、最大値をＢ１として、量子化モード１を実行し、複数の画素値を分割した２つの領域のうち、画素値が小さい方の領域における画素値の最大値をＢ２、画素値が大きい方の領域における画素値の最小値をＡ２として、量子化モード２を実行する。これにより、Ａ１、Ｂ１、Ａ２およびＢ２を容易に取得し、量子化モードを実行することができる。
【００３４】
また、例えば、前記第二量子化部は、前記量子化モード２を実行する２つの領域に対して、それぞれの領域に量子化値を配分して割り当て、それぞれの領域内で割り当てた量子化値での量子化を行うことにしてもよい。
【００３５】
これによれば、画像圧縮装置は、量子化モード２において、２つの領域に量子化値を配分して割り当て、それぞれの領域内で量子化を行う。例えば、量子化モード１と同じ量子化値を２つの領域に配分して割り当てる。これにより、量子化モード２において領域が２つに分割されても、領域が１つの量子化モード１と同じ量子化値で、量子化を行うことができる。
【００３６】
また、例えば、前記第二量子化部は、前記２つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当て、それぞれの領域内で割り当てた量子化値での量子化を行うことにしてもよい。
【００３７】
これによれば、画像圧縮装置は、量子化モード２において、２つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当て、それぞれの領域内で量子化を行う。つまり、領域の幅が大きいほど、画素値のばらつきが大きいため、多くの量子化値を割り当てる。これにより、当該２つの領域において、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
【００３８】
また、例えば、前記画像データは、複数のチャネルを有する画像データであり、前記第一量子化部は、前記複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行い、前記第二量子化部は、前記複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行うことにしてもよい。
【００３９】
これによれば、画像データは、複数のチャネルを有する画像データであり、画像圧縮装置は、量子化モード１および量子化モード２において、当該複数のチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて量子化を行う。例えば、画像の特徴から、それぞれのチャネルのデータ量に応じたビット数を割り当てる。これにより、画像圧縮装置は、当該複数のチャネルにおいて、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
【００４０】
また、例えば、前記第一量子化部は、前記複数のチャネルに対して、それぞれのチャネルの領域幅であるダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行い、前記第二量子化部は、前記複数のチャネルに対して、それぞれのチャネルの前記ダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行うことにしてもよい。
【００４１】
これによれば、画像圧縮装置は、量子化モード１および量子化モード２において、それぞれのチャネルのダイナミックレンジ幅に応じて、当該複数のチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて量子化を行う。つまり、ダイナミックレンジ幅が大きいほど、多くの量子化値を割り当てる。これにより、複数のチャネルにおいて、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
【００４２】
また、例えば、前記第一量子化部は、前記画像データに含まれる複数の画素からなる画像ブロックごとに、前記画像ブロックにおける前記複数の画素値を量子化する前記量子化モード１を実行し、前記第二量子化部は、前記画像ブロックごとに、前記複数の画素値を量子化する前記量子化モード２を実行し、前記圧縮データ生成部は、前記画像ブロックごとに、前記圧縮データを生成することにしてもよい。
【００４３】
これによれば、画像圧縮装置は、画像ブロックごとに、量子化モード１および量子化モード２を実行し、圧縮データを生成する。つまり、画像圧縮装置は、画像データのデータ量が多い場合には、当該画像データを複数の画像ブロックに分割して、当該画像ブロックごとに画像圧縮を行う。これにより、画像圧縮装置は、画像データのデータ量が多い場合でも、全ての画像データについて、画像圧縮を行うことができる。
【００４４】
また、上記目的を達成するために、本発明の一態様に係る画像伸長装置は、画像圧縮装置により圧縮された画像データである前記圧縮データを伸長する画像伸長装置であって、前記圧縮データに含まれる前記Ａおよび前記Ｂの大小関係により、前記量子化モード１および前記量子化モード２のうち、前記圧縮データに含まれる量子化値に対応する量子化モードを判定する量子化モード判定部と、判定された量子化モードにより、前記量子化値を画素値に逆量子化する逆量子化部とを備える。
【００４５】
これによれば、画像伸長装置は、圧縮データに含まれるＡおよびＢの大小関係により量子化モードを判定し、判定した量子化モードに対応した逆量子化を行う。画像伸長装置は、例えば、Ａ＜Ｂであれば量子化モード１であると判定し、Ａ＞Ｂであれば量子化モード２であると判定して、逆量子化を行う。これにより、画像伸長装置は、ＡおよびＢを参照することで、画像圧縮装置により圧縮された圧縮データを伸長して、当該圧縮データが圧縮される前の画像データを生成することができる。
【００４６】
また、上記目的を達成するために、本発明の一態様に係る画像処理装置は、画像圧縮装置と、画像伸長装置と、前記画像圧縮装置に画像データを送信するとともに、前記画像伸長装置から画像データを受信する画像処理部とを備え、前記画像圧縮装置は、前記画像処理部から受信した画像データを圧縮して圧縮データを生成し、生成した圧縮データをメモリに書き込み、前記画像伸長装置は、前記メモリに書き込まれている圧縮データを前記メモリから読み出し、読み出した圧縮データを伸長して画像データを生成し、生成した画像データを前記画像処理部に送信する。
【００４７】
これによれば、画像処理装置は、圧縮データを生成してメモリに書き込む画像圧縮装置と、メモリから圧縮データを読み出し伸長して画像データを生成する画像伸長装置と、画像圧縮装置に画像データを送信するとともに、画像伸長装置から画像データを受信する画像処理部とを備えている。これにより、画像データを圧縮して圧縮率の低下を防ぎつつ量子化誤差が小さい圧縮データを生成し、当該圧縮データを画像データに戻す画像処理装置を実現することができる。
【００４８】
なお、本発明は、このような画像圧縮装置、画像伸長装置および画像処理装置として実現することができるだけでなく、画像圧縮装置、画像伸長装置または画像処理装置に含まれる各処理部を備える集積回路として実現したりすることもできる。また、本発明は、画像圧縮装置、画像伸長装置または画像処理装置に含まれる各処理部の特徴的な処理をステップとする画像圧縮方法、画像伸長方法または画像処理方法として実現したりすることもできる。また、画像圧縮方法、画像伸長方法または画像処理方法に含まれる特徴的な処理をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。また、本発明は、上記の装置、方法、集積回路、プログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００４９】
以下、本発明の実施の形態における画像圧縮装置、画像伸長装置および画像処理装置について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００５０】
（実施の形態）
図１は、本発明の実施の形態における画像処理装置１０の構成を示す構成図である。
【００５１】
画像処理装置１０は、画像データに所定の処理を加えたり、画像データを圧縮して圧縮データを生成したり、当該圧縮データを伸長して元の画像データに戻したりする装置である。例えば、画像処理装置１０は、テレビ、レコーダ、携帯電話、ビデオカメラ等のディジタル画像処理機器、または当該ディジタル画像処理機器に内蔵されている装置である。同図に示すように、画像処理装置１０は、画像処理部１００、画像圧縮装置２００、メモリ３００および画像伸長装置４００を備えている。
【００５２】
画像処理部１００は、画像データに対して何らかの処理を行う装置である。例えば、画像処理部１００として、簡単なものでは、レベル変換やフィルタリングを行う装置が、複雑なものではコンピュータグラフィックスを描画するグラフィックスエンジン等が挙げられる。
【００５３】
また、画像処理部１００は、メモリ３００に対して必要な画像データの読み出し、および処理結果である画像データの書き込みを行う。つまり、画像処理部１００は、画像圧縮装置２００に画像データを送信してメモリ３００に書き込むとともに、画像伸長装置４００がメモリ３００から読み出して伸長した画像データを画像伸長装置４００から受信する。
【００５４】
画像圧縮装置２００は、画像データの書き込み時に、画像データの圧縮を行う。つまり、画像圧縮装置２００は、画像処理部１００から受信した画像データを圧縮して圧縮データを生成し、生成した圧縮データをメモリ３００に書き込む。
【００５５】
メモリ３００は、画像圧縮装置２００が生成した圧縮データなどを記憶しているメモリである。なお、メモリ３００は、画像処理装置１０に含まれておらず、画像処理装置１０に外付けされていることにしてもよい。
【００５６】
画像伸長装置４００は、画像データの読み出し時に、画像データの伸長を行う。つまり、画像伸長装置４００は、メモリ３００に書き込まれている圧縮データをメモリ３００から読み出し、読み出した圧縮データを伸長して画像データを生成し、生成した画像データを画像処理部１００に送信する。
【００５７】
次に、画像圧縮装置２００の構成の詳細について、説明する。
【００５８】
図２Ａは、本発明の実施の形態における画像圧縮装置２００の構成を示す構成図である。また、図２Ｂは、本発明の実施の形態における圧縮データ生成部２４０の構成を示す構成図である。
【００５９】
画像圧縮装置２００は、画像データの圧縮を行う装置であり、画像処理部１００から入力される画像データを圧縮して、メモリ３００に圧縮データを出力する。なお、本実施の形態では、画像圧縮装置２００は、当該画像データに含まれる複数の画素からなる画像ブロックごとに画像データの圧縮を行う。ここで、画像ブロックとは、例えば、４×４＝１６画素で構成されるブロックである。
【００６０】
まず、図２Ａに示すように、画像圧縮装置２００は、第一量子化部２１０、第二量子化部２２０および圧縮データ生成部２４０を備えている。
【００６１】
第一量子化部２１０は、画像データに含まれる複数の画素値を、Ａ１＜Ｂ１なる２つの値Ａ１およびＢ１を用い、当該Ａ１とＢ１とで定義される１つの領域内で量子化する量子化モード１を実行する。具体的には、本実施の形態では、第一量子化部２１０は、画像ブロックごとに、当該画像ブロックにおける複数の画素値を、Ａ１以上Ｂ１以下の領域である１つの領域内で量子化する量子化モード１を実行する。
【００６２】
また、第一量子化部２１０は、当該量子化モード１における量子化誤差を算出する。なお、第一量子化部２１０の詳細な構成については、後述する。
【００６３】
第二量子化部２２０は、当該複数の画素値を、Ａ２＞Ｂ２なる２つの値Ａ２およびＢ２を用い、当該Ａ２とＢ２とで定義される２つの領域内で量子化する量子化モード２を実行する。具体的には、本実施の形態では、第二量子化部２２０は、画像ブロックごとに、当該画像ブロックにおけるｎビットの複数の画素値を、０以上Ｂ２以下の領域、及びＡ２以上２ｎ−１以下の領域である２つの領域内で量子化する量子化モード２を実行する。
【００６４】
また、第二量子化部２２０は、当該量子化モード２における量子化誤差を算出する。なお、第二量子化部２２０の詳細な構成については、後述する。
【００６５】
圧縮データ生成部２４０は、値Ａと、値Ｂと、選択された量子化モードで量子化された複数の画素値における量子化値とを含む圧縮データを生成する。具体的には、圧縮データ生成部２４０は、当該Ａに、量子化モード１が選択された場合にはＡ１を格納し、量子化モード２が選択された場合にはＡ２を格納し、当該Ｂに、量子化モード１が選択された場合にはＢ１を格納し、量子化モード２が選択された場合にはＢ２を格納することで、当該圧縮データを生成する。そして、圧縮データ生成部２４０は、生成した圧縮データをメモリ３００に出力する。
【００６６】
ここで、図２Ｂに示すように、圧縮データ生成部２４０は、量子化モード選択部２３０を備えている。つまり、圧縮データ生成部２４０は、量子化モード選択部２３０が選択した量子化モードに従って、画像ブロックごとに、圧縮データを生成する。
【００６７】
量子化モード選択部２３０は、量子化モード１および量子化モード２のうち、量子化すべき量子化モードを選択する。具体的には、量子化モード選択部２３０は、量子化すべき量子化モードとして、第一量子化部２１０および第二量子化部２２０による量子化誤差の算出結果を用いて、量子化誤差の小さい量子化モードを選択する。
【００６８】
次に、第一量子化部２１０の構成の詳細について、説明する。
【００６９】
図３は、本発明の実施の形態における第一量子化部２１０の構成を示す構成図である。
【００７０】
同図に示すように、第一量子化部２１０は、入力された画像データを量子化モード１によって量子化する処理部であり、量子化モード１での量子化値を算出する第一量子化値算出部２１１と、量子化モード１における量子化誤差を算出する量子化誤差算出部２１５とを備えている。また、第一量子化値算出部２１１は、最小値計算部２１２、最大値計算部２１３および量子化部２１４を備えている。
【００７１】
最小値計算部２１２は、入力された画像ブロック内に含まれる複数の画素における複数の画素値のうち、最小の画素値であるＡ１を計算する。
【００７２】
最大値計算部２１３は、入力された画像ブロック内に含まれる複数の画素における複数の画素値のうち、最大の画素値であるＢ１を計算する。
【００７３】
量子化部２１４は、最小値計算部２１２および最大値計算部２１３が計算した最小値Ａ１および最大値Ｂ１を用い、Ａ１以上Ｂ１以下の範囲内で各画素値の量子化を行い、量子化値を出力する。
【００７４】
量子化誤差算出部２１５は、量子化部２１４により量子化された値をもとに、元の入力画像からの量子化誤差を計算する。
【００７５】
次に、第二量子化部２２０の構成の詳細について、説明する。
【００７６】
図４は、本発明の実施の形態における第二量子化部２２０の構成を示す構成図である。
【００７７】
同図に示すように、第二量子化部２２０は、入力された画像データを量子化モード２によって量子化する処理部であり、量子化モード２での量子化値を算出する第二量子化値算出部２２１と、量子化モード２における量子化誤差を算出する量子化誤差算出部２２７とを備えている。また、第二量子化値算出部２２１は、領域判定部２２２、最小値計算部２２３、最大値計算部２２４、量子化値割当部２２５および量子化部２２６を備えている。
【００７８】
領域判定部２２２は、入力された画像データに含まれる各画素値が、０以上２ｎ−１以下の値Ｐに対し、０以上Ｐ未満の領域と、Ｐ以上２ｎ−１以下の領域の、どちらに属するかの判定を行う。
【００７９】
最小値計算部２２３は、画素値が小さい方の領域である０以上Ｐ未満の画素値における、最大の画素値であるＢ２を計算する。
【００８０】
最大値計算部２２４は、画素値が大きい方の領域であるＰ以上２ｎ−１以下の画素値における、最小の画素値であるＡ２を計算する。
【００８１】
量子化値割当部２２５は、最小値計算部２２３および最大値計算部２２４が計算した最小値Ａ２および最大値Ｂ２を用い、量子化モード２を実行する２つの領域に対して、各領域に量子化値を配分して割り当てる。具体的には、量子化値割当部２２５は、当該２つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当てる。
【００８２】
量子化部２２６は、それぞれの領域内で割り当てられた量子化値により、各画素値の量子化を行い、量子化値を出力する。
【００８３】
量子化誤差算出部２２７は、量子化部２２６により量子化された値をもとに、元の入力画像からの量子化誤差を計算する。
【００８４】
次に、画像伸長装置４００の構成の詳細について、説明する。
【００８５】
図５は、本発明の実施の形態における画像伸長装置４００の構成を示す構成図である。
【００８６】
画像伸長装置４００は、画像圧縮装置２００により圧縮された画像データである圧縮データを伸長する装置であり、メモリ３００から入力される圧縮データを伸長して、画像処理部１００に画像データを出力する。同図に示すように、画像伸長装置４００は、量子化モード判定部４１０と逆量子化部４２０とを備えている。
【００８７】
量子化モード判定部４１０は、入力される圧縮データに含まれる値Ａおよび値Ｂの大小関係により、量子化モード１および量子化モード２のうち、圧縮データに含まれる量子化値に対応する量子化モードを判定する。つまり、量子化モード判定部４１０は、ＡおよびＢの大小を比較し、圧縮データが量子化モード１で生成されたものか、量子化モード２で生成されたものか、いずれであるかを判定する。
【００８８】
逆量子化部４２０は、量子化モード判定部４１０が判定した量子化モードにより、量子化値を画素値に逆量子化する。ここで、逆量子化部４２０は、第一逆量子化部４２１、第二逆量子化部４２２および量子化モード選択部４２３を備えている。
【００８９】
第一逆量子化部４２１は、圧縮データに含まれる各画素の量子化値を、量子化モード１により量子化されたものとして逆量子化を行い、それぞれの画素値を計算する。
【００９０】
第二逆量子化部４２２は、圧縮データに含まれる各画素の量子化値を、量子化モード２により量子化されたものとして逆量子化を行い、それぞれの画素値を計算する。
【００９１】
量子化モード選択部４２３は、量子化モード判定部４１０の判定結果により、第一逆量子化部４２１の出力結果、または第二逆量子化部４２２の出力結果を選択し、画像処理部１００に画像データとして出力する。
【００９２】
なお、量子化モード選択部４２３は、量子化モード判定部４１０の判定結果に従って、第一逆量子化部４２１または第二逆量子化部４２２に逆量子化を行わせ、逆量子化を行った第一逆量子化部４２１または第二逆量子化部４２２が、出力結果を画像処理部１００に画像データとして出力することにしてもよい。
【００９３】
次に、画像圧縮装置２００が画像データを圧縮する処理の詳細について、説明する。
【００９４】
図６は、本発明の実施の形態における画像圧縮装置２００が画像データを圧縮する処理の一例を示すフローチャートである。
【００９５】
ここでは、入力画素値のビット幅をｎとし、各画素値をｍビットに量子化するものとする。なお、簡単のため、入力画像は１チャネルのグレースケール画像とするが、ＲＧＢの３チャネルや、ＡＲＧＢの４チャネル等、複数チャネルを持つ画像に対しても、各チャネルに対して本実施の形態を適用することにより、容易に拡張することができる。
【００９６】
同図に示すように、第一量子化ステップとして、第一量子化部２１０は、Ａ１＜Ｂ１なる２つの値Ａ１およびＢ１を用い、Ａ１とＢ１とで定義される１つの領域内で量子化する量子化モード１で画素値を量子化し、量子化誤差を算出する（Ｓ１０２）。つまり、第一量子化部２１０は、複数の画素値を、Ａ１＜Ｂ１なる２つの値Ａ１およびＢ１を用いて、Ａ１以上Ｂ１以下の領域内で量子化する量子化モード１を実行する。なお、この第一量子化部２１０が量子化モード１で画素値を量子化する処理の詳細な説明については、後述する。
【００９７】
また、第二量子化ステップとして、第二量子化部２２０は、Ａ２＞Ｂ２なる２つの値Ａ２およびＢ２を用い、Ａ２とＢ２とで定義される２つの領域内で量子化する量子化モード２で画素値を量子化し、量子化誤差を算出する（Ｓ１０４）。つまり、第二量子化部２２０は、当該複数の画素値を、Ａ２＞Ｂ２なる２つの値Ａ２およびＢ２を用いて、０以上Ｂ２以下の領域と、Ａ２以上２ｎ−１以下の領域との、２つの領域内で量子化する量子化モード２を実行する。なお、この第二量子化部２２０が量子化モード２で画素値を量子化する処理の詳細な説明については、後述する。
【００９８】
なお、量子化モード１での量子化処理（Ｓ１０２）と量子化モード２での量子化処理（Ｓ１０４）とを並行して行う必要はなく、いずれかの処理を先に行うことで当該２つの処理を順番に行うことにしてもよい。特に、第一量子化部２１０および第二量子化部２２０がソフトウェアで構成されている場合には、当該２つの処理を順番に行うことで実現可能である。
【００９９】
そして、圧縮データ生成ステップとして、圧縮データ生成部２４０は、値Ａと、値Ｂと、選択された量子化モードで量子化された複数の画素値における量子化値とを含む圧縮データを生成する（Ｓ１０８）。
【０１００】
具体的には、量子化モード１および量子化モード２によりそれぞれ量子化が行われた後、量子化モード選択部２３０が、量子化誤差の少ない量子化モードを選択する。この際、各量子化モードは、値Ａおよび値Ｂの大小により区別可能であるため、新たに量子化モードを識別するための情報ビットを付加する必要はない。
【０１０１】
そして、圧縮データ生成部２４０は、選択された量子化モードが量子化モード１の場合にはＡ１をＡとしＢ１をＢとし、選択された量子化モードが量子化モード２の場合にはＡ２をＡとしＢ２をＢとして、当該Ａと、当該Ｂと、当該選択された量子化モードで量子化された複数の画素値における量子化値とを含む圧縮データを生成する。そして、圧縮データ生成部２４０は、生成した圧縮データをメモリ３００に出力する。
【０１０２】
以上により、画像圧縮装置２００が画像データを圧縮する処理は、終了する。
【０１０３】
次に、第一量子化部２１０が量子化モード１で画素値を量子化する処理（図６のＳ１０２）の詳細について、説明する。
【０１０４】
図７は、本発明の実施の形態における第一量子化部２１０が量子化モード１で画素値を量子化する処理の一例を示すフローチャートである。
【０１０５】
同図に示すように、まず、第一量子化部２１０は、画像ブロック内の画素値に対して、値Ａ１および値Ｂ１を取得する（Ｓ２０２）。
【０１０６】
図８は、本発明の実施の形態における第一量子化部２１０が画像ブロック内の画素値に対し、値Ａ１および値Ｂ１を取得する処理を説明する図である。
【０１０７】
同図に示すように、第一量子化部２１０の第一量子化値算出部２１１の最小値計算部２１２は、入力された画像ブロック内に含まれる複数の画素における複数の画素値のうち、最小の画素値である最小値Ａ１を計算により取得する。また、最大値計算部２１３は、当該複数の画素値のうち、最大の画素値である最大値Ｂ１を計算により取得する。ここで、最小値Ａ１および最大値Ｂ１は、０≦Ａ１≦Ｂ１≦２ｎ−１を満たす２つの値である。
【０１０８】
図７に戻り、次に、量子化部２１４は、最小値計算部２１２および最大値計算部２１３が計算した最小値Ａ１および最大値Ｂ１を用いて、ダイナミックレンジＤＲ＝Ｂ１−Ａ１を算出する（Ｓ２０４）。具体的には、量子化部２１４は、図８に示す領域の幅ＤＲを算出する。
【０１０９】
そして、量子化部２１４は、当該ダイナミックレンジ内であるＡ１以上Ｂ１以下の範囲内で各画素値の量子化を行い、量子化値を出力する（Ｓ２０６）。
【０１１０】
図９は、本発明の実施の形態における量子化部２１４がＡ１以上Ｂ１以下の範囲内で量子化を行うことを説明する図である。
【０１１１】
同図に示すように、量子化部２１４は、同図の（ａ）および（ｂ）に示すように、０〜２５５（上記のｎ＝８の場合）の画素値のうち、画素のある部分の画素値であるＡ１以上Ｂ１以下のダイナミックレンジＤＲを取り出す。そして、同図の（ｂ）および（ｃ）に示すように、量子化部２１４は、当該ダイナミックレンジＤＲの範囲内で量子化（同図では、３ｂｉｔへの量子化）を行う。これにより、量子化誤差を低減することができる。
【０１１２】
そして、図７に戻り、量子化誤差算出部２１５は、量子化部２１４により量子化された値をもとに、元の入力画像からの量子化誤差を算出する（Ｓ２０８）。
【０１１３】
以上により、第一量子化部２１０が量子化モード１で画素値を量子化する処理（図６のＳ１０２）は、終了する。
【０１１４】
次に、第二量子化部２２０が量子化モード２で画素値を量子化する処理（図６のＳ１０４）の詳細について、説明する。
【０１１５】
図１０は、本発明の実施の形態における第二量子化部２２０が量子化モード２で画素値を量子化する処理の一例を示すフローチャートである。
【０１１６】
同図に示すように、まず、第二量子化部２２０は、画像ブロック内の画素値に対して、２つの値Ａ２、Ｂ２を取得する（Ｓ３０２）。
【０１１７】
図１１は、本発明の実施の形態における第二量子化部２２０が画像ブロック内の画素値に対し、値Ａ２および値Ｂ２を取得する処理を説明する図である。
【０１１８】
同図に示すように、これらの２値は、０≦Ｂ２＜Ａ２≦２ｎ−１となるように求められる。具体的には、第二量子化部２２０の第二量子化値算出部２２１の領域判定部２２２は、入力された画像データに含まれる各画素値が、０以上２ｎ−１以下の値Ｐに対し、０以上Ｐ未満の領域と、Ｐ以上２ｎ−１以下の領域の、どちらに属するかの判定を行う。
【０１１９】
そして、最小値計算部２２３は、画素値が小さい方の領域である０以上Ｐ未満の画素値における、最大の画素値であるＢ２を計算する。
【０１２０】
そして、最大値計算部２２４は、画素値が大きい方の領域であるＰ以上２ｎ−１以下の画素値における、最小の画素値であるＡ２を計算する。なお、同図に示すように、一般的には、Ｐは２ｎ−１等の中間的な値にするのが好ましい。
【０１２１】
図１０に戻り、次に、量子化値割当部２２５は、最大値計算部２２４および最小値計算部２２３が計算した値Ａおよび値Ｂから、２つの領域の幅ＤＲ１およびＤＲ２を算出する（Ｓ３０４）。具体的には、量子化値割当部２２５は、ＤＲ１＝Ｂ２、ＤＲ２＝２ｎ−１−Ａ２として、それぞれの領域の幅を算出する。
【０１２２】
図１２は、本発明の実施の形態における第二量子化部２２０が２つの領域内で量子化を行うことを説明する図である。
【０１２３】
同図に示すように、第二量子化部２２０は、同図の（ａ）および（ｂ）に示すように、０〜２５５（上記のｎ＝８の場合）の画素値のうち、画素のある部分の画素値である０以上Ｂ２以下の領域ＤＲ１とＡ２以上２５５以下の領域ＤＲ２とを取り出す。そして、第二量子化部２２０は、ＤＲ１およびＤＲ２の範囲内で量子化を行う。これにより、量子化誤差を低減することができる。
【０１２４】
つまり、図９に示したように、量子化モード１においては、画素値の分散が小さく、ダイナミックレンジＤＲが小さくなる時に効果的に量子化が行えることが分かる。
【０１２５】
一方、図１２に示すように、量子化モード２においては、画素値の分布が２つの領域に分かれており、かつそれぞれの分散が小さく、ＤＲ１およびＤＲ２が小さくなる時に効果的に量子化が行えることが分かる。ここで、上記量子化方法によれば、量子化モード１においては、Ａ１≦Ｂ１が、量子化モード２においてはＡ２＞Ｂ２が、それぞれ成立することが保証される。
【０１２６】
そして、図１０に戻り、量子化値割当部２２５は、量子化モード２を実行する２つの領域に対して、各領域に量子化値を配分して割り当てる（Ｓ３０６）。
【０１２７】
図１３は、本発明の実施の形態における量子化値割当部２２５が２つの領域に量子化値を配分して割り当てることを説明する図である。
【０１２８】
量子化値割当部２２５は、ＤＲ１およびＤＲ２を用い、２ｍ個の量子化値を２つの領域へと割り当てる。例えば、同図に示すように、量子化値割当部２２５は、８ビット（ｎ＝８）の画素値である０〜２５５の範囲の画素値に、４ビット（ｍ＝４）の量子化値である０〜１５の１６値を割り当てる。
【０１２９】
具体的には、量子化値割当部２２５は、ＤＲ１およびＤＲ２の大きさにより、２ｍ個の量子化値を比例配分し、各領域に割り当てる。同図では、０〜１０の画素値のＤＲ１の領域に０〜３の４値の量子化値を割り当て、２２５〜２５５の画素値のＤＲ２の領域に４〜１５の１２値の量子化値を割り当てている。
【０１３０】
なお、ＤＲ１へと割り当てられた量子化値の数をＮ１個、ＤＲ２へと割り当てられた量子化値の数をＮ２個とすると、Ｎ１＋Ｎ２＝２ｍである。
【０１３１】
そして、図１０に戻り、量子化部２２６は、それぞれの領域内で割り当てられた量子化値を用い、各領域内で各画素値の量子化を行い、量子化値を出力する（Ｓ３０８）。
【０１３２】
そして、量子化誤差算出部２２７は、量子化部２２６により量子化された値をもとに、画像ブロック全体の量子化誤差を算出する（Ｓ３１０）。
【０１３３】
以上により、第二量子化部２２０が量子化モード２で画素値を量子化する処理（図６のＳ１０４）は、終了する。
【０１３４】
次に、画像伸長装置４００が、画像圧縮処理により圧縮された画像データである圧縮データを伸長する処理について、説明する。
【０１３５】
図１４は、本発明の実施の形態における画像伸長装置４００が圧縮データを伸長する処理の一例を示すフローチャートである。つまり、同図は、値Ａ、値Ｂおよびｍビットに量子化された各画素に対応する量子化値が含まれた圧縮データから、複数の画素値より成る画像ブロックを生成する処理を示す図である。なお、圧縮処理同様、１チャネルの画像についてのみ説明するが、複数チャネル画像への拡張も可能である。
【０１３６】
同図に示すように、量子化モード判定部４１０は、圧縮データに含まれる値Ａおよび値Ｂを比較して、Ａ≦Ｂであるか否かを判断する（Ｓ４０２）。
【０１３７】
そして、量子化モード判定部４１０は、Ａ≦Ｂであると判断した場合（Ｓ４０２でＹ）は、量子化モード１による逆量子化を行うと判定し、Ａ＞Ｂであると判断した場合（Ｓ４０２でＮ）は、量子化モード２による逆量子化を行うと判定する。
【０１３８】
つまり、量子化モード１による逆量子化においては、第一逆量子化部４２１は、圧縮データ中の量子化値を、量子化モード１により量子化されたものとして、Ａ以上Ｂ以下の範囲内で逆量子化を行う（Ｓ４０４）。
【０１３９】
また、量子化モード２による逆量子化においては、第二逆量子化部４２２は、圧縮データ中の量子化値を、量子化モード２により量子化されたものとして、逆量子化を行う。
【０１４０】
具体的には、第二逆量子化部４２２は、圧縮処理中の処理（図１０のＳ３０４およびＳ３０６）と同様の処理により、まず、０以上Ｂ以下の領域と、Ａ以上２ｎ−１以下の領域との２つの領域に対し、２つの領域の幅として、ＤＲ１＝ＢとＤＲ２＝２ｎ−１−Ａとを算出する（Ｓ４０６）。そして、第二逆量子化部４２２は、２ｍ個の量子化値をＤＲ１とＤＲ２の大きさによりＮ１個、Ｎ２個に比例配分し、それぞれの領域へと割り当てを行う（Ｓ４０８）。
【０１４１】
そして、第二逆量子化部４２２は、上記のＮ１を用い、圧縮データ中のある量子化値ｘが、ｘ≦Ｎ１ならば０以上Ｂ以下の領域で逆量子化を行い、ｘ＞Ｎ１ならばＡ以上２ｎ−１以下の領域で逆量子化を行う（Ｓ４１０）。
【０１４２】
次に、量子化モード選択部４２３は、量子化モード判定部４１０の判定結果により、第一逆量子化部４２１または第二逆量子化部４２２のいずれかの逆量子化処理により求められた画素値を集め、画像ブロックを生成する（Ｓ４１２）。これにより、量子化モード選択部４２３は、画像処理部１００に、複数の画像ブロックで構成された画像データを出力する。
【０１４３】
以上のように、本発明の実施の形態における画像圧縮装置２００によれば、複数の画素値を１つの領域内で量子化する量子化モード１と、複数の画素値を２つの領域に分割して当該２つの領域内で量子化する量子化モード２とを実行する機能を備えている。そして、画像圧縮装置２００は、量子化モード１が選択された場合には、Ａ１≦Ｂ１の関係にあるＡ１をＡとしＢ１をＢとし、量子化モード２が選択された場合には、Ａ２＞Ｂ２の関係にあるＡ２をＡとしＢ２をＢとして、当該Ａと、当該Ｂと、量子化値とを含む圧縮データを生成する。つまり、Ａ≦Ｂであれば量子化モード１が選択されており、Ａ＞Ｂであれば量子化モード２が選択されていることになるため、従来から必要なデータであったＡおよびＢの２つの値を利用して、選択された量子化モードを区別することができる。このため、２つの量子化モードを区別するための情報を圧縮データに付加することなく、従来技術と同等の量子化モード１に加えて、２つの領域で量子化を行う量子化モード２が利用可能となり、これらのうち選択される適切な量子化モードで、画像圧縮を行うことができる。また、量子化モード２を実行することにより、ダイナミックレンジが広い画像データにおいても、画素値が２つの領域に集中している場合には、それぞれの領域幅が狭くなり、量子化誤差を小さくすることができる。これらにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
【０１４４】
また、第一量子化部２１０において定義される１つの領域は、Ａ１以上Ｂ１以下の領域である。つまり、画像圧縮装置２００は、複数の画素値が当該Ａ１以上Ｂ１以下の当該１つの領域内に集中している場合に、当該複数の画素値を当該１つの領域内で量子化する第一量子化部２１０を備えている。これにより、画像圧縮装置２００は、複数の画素値が当該１つの領域内に集中している場合には、Ａ１およびＢ１の２つの値を利用して、画像圧縮を行うことができる。
【０１４５】
また、第二量子化部２２０において定義される２つの領域は、０以上Ｂ２以下の領域、及びＡ２以上２ｎ−１以下の領域である。つまり、画像圧縮装置２００は、複数の画素値が当該０以上Ｂ２以下の領域とＡ２以上２ｎ−１以下の領域との当該２つの領域内に集中している場合に、当該複数の画素値を当該２つの領域内で量子化する第二量子化部２２０を備えている。これにより、画像圧縮装置２００は、複数の画素値が当該２つの領域内に集中している場合には、Ａ２およびＢ２の２つの値を利用して、画像圧縮を行うことができる。
【０１４６】
また、画像圧縮装置２００は、量子化モード１および量子化モード２のうち、量子化すべき量子化モードを選択して、選択された量子化モードに従って、圧縮データを生成する。このため、画像圧縮装置２００は、適切な量子化モードを選択し、選択された量子化モードに従って、最適な画像圧縮を行うことができる。
【０１４７】
また、画像圧縮装置２００は、量子化モード１および量子化モード２における量子化誤差を算出し、量子化誤差の小さい量子化モードを選択する。これにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
【０１４８】
また、画像圧縮装置２００は、複数の画素値のうちの最小値をＡ１、最大値をＢ１として、量子化モード１を実行し、複数の画素値を分割した２つの領域のうち、画素値が小さい方の領域における画素値の最大値をＢ２、画素値が大きい方の領域における画素値の最小値をＡ２として、量子化モード２を実行する。これにより、Ａ１、Ｂ１、Ａ２およびＢ２を容易に取得し、量子化モードを実行することができる。
【０１４９】
また、画像圧縮装置２００は、量子化モード２において、２つの領域に量子化値を配分して割り当て、それぞれの領域内で量子化を行う。例えば、量子化モード１と同じ量子化値を２つの領域に配分して割り当てる。これにより、量子化モード２において領域が２つに分割されても、領域が１つの量子化モード１と同じ量子化値で、量子化を行うことができる。
【０１５０】
また、画像圧縮装置２００は、量子化モード２において、２つの領域に対して、それぞれの領域の幅に応じて量子化値を比例配分して割り当て、それぞれの領域内で量子化を行う。つまり、領域の幅が大きいほど、画素値のばらつきが大きいため、多くの量子化値を割り当てる。これにより、当該２つの領域において、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
【０１５１】
また、画像圧縮装置２００は、画像ブロックごとに、量子化モード１および量子化モード２を実行し、圧縮データを生成する。つまり、画像圧縮装置２００は、画像データのデータ量が多い場合には、当該画像データを複数の画像ブロックに分割して、当該画像ブロックごとに画像圧縮を行う。これにより、画像圧縮装置２００は、画像データのデータ量が多い場合でも、全ての画像データについて、画像圧縮を行うことができる。
【０１５２】
また、本発明の実施の形態における画像伸長装置４００によれば、圧縮データに含まれるＡおよびＢの大小関係により量子化モードを判定し、判定した量子化モードに対応した逆量子化を行う。画像伸長装置４００は、例えば、Ａ≦Ｂであれば量子化モード１であると判定し、Ａ＞Ｂであれば量子化モード２であると判定して、逆量子化を行う。これにより、画像伸長装置４００は、ＡおよびＢを参照することで、画像圧縮装置２００により圧縮された圧縮データを伸長して、当該圧縮データが圧縮される前の画像データを生成することができる。
【０１５３】
また、本発明の実施の形態における画像処理装置１０によれば、圧縮データを生成してメモリ３００に書き込む画像圧縮装置２００と、メモリ３００から圧縮データを読み出し伸長して画像データを生成する画像伸長装置４００と、画像圧縮装置２００に画像データを送信するとともに、画像伸長装置４００から画像データを受信する画像処理部１００とを備えている。これにより、画像データを圧縮して圧縮率の低下を防ぎつつ量子化誤差が小さい圧縮データを生成し、当該圧縮データを画像データに戻す画像処理装置１０を実現することができる。
【０１５４】
（実施の形態の変形例１）
次に、本発明の実施の形態の変形例１について、説明する。上記実施の形態では、画像圧縮装置２００は、量子化モード１および量子化モード２における量子化誤差を算出し、量子化誤差の小さい量子化モードを選択することとした。しかし、本変形例１では、画像圧縮装置２００は、量子化モード１における領域幅と、量子化モード２における領域幅とを算出し、小さい領域幅に対応する量子化モードを選択する。
【０１５５】
具体的には、第一量子化部２１０は、Ｂ１からＡ１を差し引いた値を、量子化モード１における領域幅である第一領域幅として算出する。
【０１５６】
第二量子化部２２０は、Ｂ２の値と、２ｎ−１からＡ２を差し引いた値との合計値を、量子化モード２における領域幅である第二領域幅として算出する。
【０１５７】
量子化モード選択部２３０は、量子化すべき量子化モードとして、第一領域幅および第二領域幅のうち小さい領域幅に対応する量子化モードを選択する。
【０１５８】
なお、本変形例１における画像圧縮装置２００が備える他の処理部の機能については、上記実施の形態における画像圧縮装置２００が備える他の処理部の機能と同様であるため、詳細な説明は省略する。
【０１５９】
図１５は、本発明の実施の形態の変形例１における第一量子化部２１０が量子化モード１で画素値を量子化する処理の一例を示すフローチャートである。
【０１６０】
同図に示すように、第一量子化部２１０は、上記実施の形態と同様に、最小値Ａ１および最大値Ｂ１を取得し（Ｓ２０２）、最小値Ａ１および最大値Ｂ１を用いて、ダイナミックレンジＤＲ＝Ｂ１−Ａ１を算出し（Ｓ２０４）、当該ダイナミックレンジ内で量子化を行う（Ｓ２０６）。ここで、第一量子化部２１０は、ＤＲを第一領域幅とする。
【０１６１】
ここで、第一量子化部２１０は、上記実施の形態のような量子化誤差算出部２１５による量子化誤差の算出（図７のＳ２０８）を行わない。なお、第一量子化部２１０は、量子化誤差算出部２１５を備えていないことにしてもよい。
【０１６２】
図１６は、本発明の実施の形態の変形例１における第二量子化部２２０が量子化モード２で画素値を量子化する処理の一例を示すフローチャートである。
【０１６３】
同図に示すように、第二量子化部２２０は、上記実施の形態と同様に、最小値Ａ２および最大値Ｂ２を取得し（Ｓ３０２）、ＤＲ１およびＤＲ２を算出し（Ｓ３０４）、各領域に量子化値を配分して割り当て（Ｓ３０６）、各領域内で量子化を行う（Ｓ３０８）。
【０１６４】
そして、第二量子化部２２０は、ＤＲ１とＤＲ２との合計値を、第二領域幅として算出する（Ｓ３１０）。つまり、第二量子化部２２０は、上記実施の形態のような量子化誤差算出部２２７による量子化誤差の算出（図１０のＳ３１０）を行わず、第二領域幅の算出を行う。なお、第二量子化部２２０は、量子化誤差算出部２２７を備えていないことにしてもよい。
【０１６５】
これらにより、量子化モード選択部２３０は、量子化すべき量子化モードとして、第一領域幅および第二領域幅のうち小さい領域幅に対応する量子化モードを選択する。
【０１６６】
以上のように、本発明の実施の形態の変形例１における画像圧縮装置２００によれば、量子化モード１における領域幅と、量子化モード２における領域幅とを算出し、小さい領域幅に対応する量子化モードを選択する。ここで、領域幅が小さい場合には、画素値が当該領域に集中していることになるので、領域幅が小さい場合の量子化モードで量子化を行った方が、量子化誤差を小さくすることができる。このため、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
【０１６７】
（実施の形態の変形例２）
次に、本発明の実施の形態の変形例２について、説明する。上記実施の形態では、画像圧縮装置２００は、量子化モード２において、所定のＰについてのＡ２とＢ２とを取得して、量子化を行った。しかし、本変形例２では、画像圧縮装置２００は、複数のＰについて複数のＡ２とＢ２とを取得することで、最適なＡ２とＢ２とを選定する。
【０１６８】
具体的には、第二量子化部２２０は、複数のＡ２とＢ２との組について、量子化モード２における量子化誤差または領域幅を算出する。
【０１６９】
量子化モード選択部２３０は、量子化すべき量子化モードとして、第一量子化部２１０による算出結果、および第二量子化部２２０による複数の組についての複数の算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択する。
【０１７０】
圧縮データ生成部２４０は、選択された量子化モードが量子化モード２の場合、最小の量子化誤差または領域幅となるＡ２およびＢ２をＡおよびＢとして、当該Ａと、当該Ｂと、当該量子化モード２で量子化された複数の画素値における量子化値とを含む圧縮データを生成する。
【０１７１】
なお、本変形例２における画像圧縮装置２００が備える他の処理部の機能については、上記実施の形態における画像圧縮装置２００が備える他の処理部の機能と同様であるため、詳細な説明は省略する。
【０１７２】
図１７は、本発明の実施の形態の変形例２における画像圧縮装置２００が画像データを圧縮する処理の一例を示すフローチャートである。
【０１７３】
同図に示すように、画像圧縮装置２００における量子化モード２での量子化において、第二量子化部２２０は、量子化モード２での画素値を量子化し、量子化誤差または領域幅を算出する処理（Ｓ１０４）を、複数のＰについて繰り返し行う（ループ１：Ｓ１０３〜Ｓ１０５）。
【０１７４】
以上のようにして、第二量子化部２２０は、複数のＡ２とＢ２との組について、量子化モード２における量子化誤差または領域幅を算出する。
【０１７５】
そして、量子化モード選択部２３０は、第一量子化部２１０による算出結果（Ｓ１０２）、および第二量子化部２２０による複数の組についての複数の算出結果（ループ１：Ｓ１０３〜Ｓ１０５）を用いて、量子化誤差または領域幅が最小となる量子化モードを選択する（Ｓ１０６）。
【０１７６】
そして、圧縮データ生成部２４０は、選択された量子化モードが量子化モード１の場合にはＡ１をＡとしＢ１をＢとし、選択された量子化モードが量子化モード２の場合には、最小の量子化誤差または領域幅となるＡ２およびＢ２をＡおよびＢとして、当該Ａと、当該Ｂと、量子化値とを含む圧縮データを生成する。
【０１７７】
以上のように、本発明の実施の形態の変形例２における画像圧縮装置２００によれば、複数のＡ２とＢ２との組について、量子化モード２における量子化誤差または領域幅を算出し、その算出結果を用いて、量子化誤差または領域幅が最小となる量子化モードを選択し、選択した量子化モードにおける圧縮データを生成する。ここで、量子化モード２においては、Ａ２とＢ２との組合せによっては、量子化誤差が異なる場合がある。このため、画像圧縮装置２００は、量子化モード２において、複数のＡ２とＢ２との組について計算を行うことで、量子化誤差が小さくなる最適なケースを選択することができる。これにより、ダイナミックレンジが広い場合でも、データ量の増加による圧縮率の低下を防ぎつつ、量子化誤差を小さくすることができる。
【０１７８】
（実施の形態の変形例３）
次に、本発明の実施の形態の変形例３について、説明する。上記実施の形態では、画像処理装置１０は、１チャネルのグレースケール画像を処理することとした。しかし、本変形例３では、画像処理装置１０は、複数チャネルの動画像データやグラフィックスデータなどの画像データを処理する。
【０１７９】
具体的には、第一量子化部２１０は、画像データが有する複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う。
【０１８０】
第二量子化部２２０は、複数のチャネルに対して、それぞれのチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う。
【０１８１】
なお、本変形例３における画像圧縮装置２００が備える他の処理部の機能については、上記実施の形態における画像圧縮装置２００が備える他の処理部の機能と同様であるため、詳細な説明は省略する。
【０１８２】
図１８は、本発明の実施の形態の変形例３における画像圧縮装置２００が複数チャネルの画像データを圧縮する処理を説明する図である。
【０１８３】
同図は、３チャネルの画像データを、ｂｏｕｎｄｉｎｇ  ｂｏｘを用いて、例示している。つまり、同図の（ａ）に示すように、画像圧縮装置２００は、画像データの３チャネルの成分の最大値と最小値とから、２つの画素値ｐ、ｑを定義し、当該ｂｏｕｎｄｉｎｇ  ｂｏｘを作成する。
【０１８４】
そして、同図の（ｂ）に示すように、画像圧縮装置２００は、３チャネルの画像データにおいて、画素のある部分を取り出す。そして、同図の（ｃ）に示すように、画像圧縮装置２００は、ｂｏｕｎｄｉｎｇ  ｂｏｘ内で各画素値を正規化し、画像の特徴により、各チャネルに、ビットを割り当てる。
【０１８５】
具体的には、第一量子化部２１０は、複数のチャネルに対して、それぞれのチャネルの領域幅であるダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う。
【０１８６】
また、第二量子化部２２０は、複数のチャネルに対して、それぞれのチャネルのダイナミックレンジ幅に応じて、それぞれのチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて割り当てたビット数に従って量子化を行う。
【０１８７】
例えば、ＲＧＢの３チャネルを有する画像データに対し、同図の（ｂ）に示された各辺の長さに応じて、合計が１１ビットになるように、同図の（ｃ）に示すようにＲに４ビット、Ｇに３ビット、Ｂに４ビットが割り当てられる。なお、当該画像データは、アルファチャネルを加えたＡＲＧＢフォーマット等のグラフィックスデータのように、４チャネルを有していてもよい。
【０１８８】
そして、画像圧縮装置２００は、各チャネルごとに割り当てられたビット数で量子化を行う。
【０１８９】
以上のように、本発明の実施の形態の変形例２における画像圧縮装置２００によれば、量子化モード１および量子化モード２において、画像データが有する複数のチャネルに量子化するビット数を配分して割り当て、それぞれのチャネルにおいて量子化を行う。例えば、画像の特徴から、それぞれのチャネルのデータ量に応じたビット数を割り当てる。これにより、画像圧縮装置２００は、当該複数のチャネルにおいて、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
【０１９０】
また、画像圧縮装置２００は、量子化モード１および量子化モード２において、それぞれのチャネルのダイナミックレンジ幅に応じて、当該複数のチャネルに量子化するビット数を比例配分して割り当て、それぞれのチャネルにおいて量子化を行う。つまり、ダイナミックレンジ幅が大きいほど、多くの量子化値を割り当てる。これにより、複数のチャネルにおいて、量子化誤差の値を均等化し、当該量子化誤差を小さくすることができる。
【０１９１】
（実施の形態の変形例４）
次に、本発明の実施の形態の変形例４について、説明する。上記実施の形態では、画像処理装置１０は、画像圧縮装置２００および画像伸長装置４００の双方を備えていた。しかし、本変形例４では、画像処理装置は、画像圧縮装置２００および画像伸長装置４００のうちいずれか一方を備えている。
【０１９２】
図１９は、本発明の実施の形態の変形例４における画像処理装置の構成を示す構成図である。
【０１９３】
同図に示すように、第一画像処理装置１１は、画像圧縮装置２００に画像データを送信する第一画像処理部１０１と、圧縮データを生成してメモリ３００に書き込む画像圧縮装置２００とを備えている。なお、第一画像処理装置１１は、メモリを備えていてもよい。
【０１９４】
また、第二画像処理装置１２は、メモリ３００から圧縮データを読み出し伸長して画像データを生成する画像伸長装置４００と、画像伸長装置４００から画像データを受信する第二画像処理部１０２とを備えている。なお、第二画像処理装置１２は、メモリを備えていてもよい。
【０１９５】
つまり、複数の画像処理装置が存在し、それらの間でデータをやり取りするような用途に適用してもよい。なお、画像処理装置の個数は、１個または２個に限定されない。
【０１９６】
以上のように、本実施の形態およびその変形例により、画質をほとんど劣化させずに、メモリ３００に対して読み書きされるデータ量を削減することができるため、画像処理装置を構成するために必要なメモリ量を削減することができる。また、メモリ３００に対する読み書きに必要なデータ帯域も削減することができ、該当部分の帯域幅の削減、あるいはデータ転送速度の向上の効果がある。
【０１９７】
なお、メモリ３００は、バスを介して接続されていてもよい。この場合、画像圧縮を行うことにより、画像処理部が消費するバス帯域を削減することができる。
【０１９８】
（実施の形態の変形例５）
次に、本発明の実施の形態の変形例５について、説明する。上記実施の形態では、画像圧縮装置２００の圧縮データ生成部２４０は、量子化モード選択部２３０を備えていることとした。しかし、本変形例５では、画像圧縮装置の圧縮データ生成部は、量子化モード選択部を備えていない。
【０１９９】
図２０は、本発明の実施の形態の変形例５における画像圧縮装置２０１の構成を示す構成図である。
【０２００】
同図に示すように、画像圧縮装置２０１は、第一量子化部２１０、第二量子化部２２０および圧縮データ生成部２４１を備えている。ここで、画像圧縮装置２０１が備える第一量子化部２１０および第二量子化部２２０は、上記実施の形態における画像圧縮装置２００が備える第一量子化部２１０および第二量子化部２２０と同様の機能を有するため、詳細な説明は省略する。
【０２０１】
また、画像圧縮装置２０１が備える圧縮データ生成部２４１は、上記実施の形態における画像圧縮装置２００が備える圧縮データ生成部２４０のうち、量子化モード選択部２３０の機能以外の機能を有している。
【０２０２】
つまり、第一量子化部２１０は量子化モード１を実行し、第二量子化部２２０は量子化モード２を実行し、実行結果を外部の量子化モード選択部２３０に送信する。そして、圧縮データ生成部２４１は、当該外部の量子化モード選択部２３０が選択した量子化モードに従って圧縮データを生成する。ここで、当該外部の量子化モード選択部２３０は、上記実施の形態における画像圧縮装置２００が備える量子化モード選択部２３０と同様の機能を有する。
【０２０３】
このように、本変形例５における画像圧縮装置２０１は、上記実施の形態における画像圧縮装置２００のように量子化モード選択部２３０の機能を備えていなくとも、上記実施の形態と同様の効果を奏することができる。
【０２０４】
（実施の形態の変形例６）
次に、本発明の実施の形態の変形例６について、説明する。上記実施の形態では、第一量子化部２１０は、複数の画素値の最小値をＡ１とし、最大値をＢ１として、Ａ１以上Ｂ１以下の領域である１つの領域内で量子化することとした。しかし、Ａ１及びＢ１の定め方は、上記には限定されない。
【０２０５】
例えば、第一量子化部２１０は、当該複数の画素値の最小値に多少の誤差を含めた値をＡ１とし、当該最大値に多少の誤差を含めた値をＢ１として、Ａ１以上Ｂ１以下の領域である１つの領域内で量子化することにしてもよい。また、第一量子化部２１０は、当該複数の画素値の最小値以上最大値以下の領域を含む領域を定義することができる２値をＡ１およびＢ１として定めることで、当該Ａ１及びＢ１で示される領域内で量子化することにしてもよい。
【０２０６】
また、第一量子化部２１０は、以下の方法によって、Ａ１及びＢ１を取得し、当該Ａ１及びＢ１で示される領域内で量子化することにしてもよい。
【０２０７】
図２１は、本発明の実施の形態の変形例６における第一量子化部２１０が量子化を行う処理を説明する図である。
【０２０８】
同図に示すように、第一量子化部２１０は、複数の画素値の最小値と最大値との中間値をＸ１とし、当該中間値から最小値または最大値までの幅をＹ１として、当該Ｘ１及びＹ１を取得する。そして、第一量子化部２１０は、当該Ｘ１及びＹ１を用いて、Ａ１及びＢ１を定義する。
【０２０９】
これにより、第一量子化部２１０は、Ａ１及びＢ１を用いてダイナミックレンジＤＲを算出することができるため、当該ダイナミックレンジＤＲ内で各画素値の量子化を行うことができる。
【０２１０】
（実施の形態の変形例７）
次に、本発明の実施の形態の変形例７について、説明する。上記実施の形態では、第二量子化部２２０は、Ｐ以上２ｎ−１以下の画素値における最小値をＡ２とし、０以上Ｐ未満の画素値における最大値をＢ２として、０以上Ｂ２以下の領域、及びＡ２以上２ｎ−１以下の領域の２つの領域内で量子化することとした。しかし、Ａ２及びＢ２の定め方は、上記には限定されない。
【０２１１】
例えば、第二量子化部２２０は、当該最小値に多少の誤差を含めた値をＡ２とし、当該最大値に多少の誤差を含めた値をＢ２として、当該２つの領域内で量子化することにしてもよい。また、第二量子化部２２０は、当該２つの領域を含む領域を定義することができる２値をＡ２およびＢ２として定めることで、当該Ａ２及びＢ２で示される領域内で量子化することにしてもよい。
【０２１２】
また、第二量子化部２２０は、以下の方法によって、Ａ２及びＢ２を取得し、当該Ａ２及びＢ２で示される領域内で量子化することにしてもよい。
【０２１３】
図２２は、本発明の実施の形態の変形例７における第二量子化部２２０が量子化を行う処理を説明する図である。
【０２１４】
同図に示すように、第二量子化部２２０は、Ｐ以上２ｎ−１以下の画素値における最小値から２ｎ−１までの領域と、０から０以上Ｐ未満の画素値における最大値までの領域との２つの領域を繋げた場合の中間値をＸ２とし、当該中間値から当該最小値または当該最大値までの幅をＹ２として、当該Ｘ２及びＹ２を取得する。そして、第二量子化部２２０は、当該Ｘ２及びＹ２を用いて、Ａ２及びＢ２を定義する。
【０２１５】
これにより、第二量子化部２２０は、Ａ２及びＢ２を用いてダイナミックレンジＤＲ１およびＤＲ２を算出することができるため、当該ダイナミックレンジＤＲ１およびＤＲ２内で各画素値の量子化を行うことができる。
【０２１６】
なお、上記実施の形態およびその変形例では、画像圧縮装置は、画像データに含まれる複数の画素からなる画像ブロックごとに画像データの圧縮を行うこととした。しかし、画像圧縮装置は、画像データに含まれる画素数が少ない場合には、画像データを当該画像ブロックごとに分割することなく、全ての画像データを対象にして画像圧縮を行うことにしてもよい。また、画像圧縮装置は、画像データを様々な大きさの画像ブロックに分割して、当該画像ブロックごとに画像データの圧縮を行うことにしてもよい。
【０２１７】
また、上記実施の形態およびその変形例では、値Ａ１および値Ｂ１は、Ａ１≦Ｂ１を満たす２つの値であり、値Ａ２および値Ｂ２は、Ｂ２＜Ａ２を満たす２つの値であることとした。しかし、値Ａ１および値Ｂ１は、Ａ１＜Ｂ１を満たす２つの値であり、値Ａ２および値Ｂ２は、Ｂ２≦Ａ２を満たす２つの値であることにしてもよい。また、値Ａ１および値Ｂ１は、Ａ１＜Ｂ１を満たす２つの値であり、値Ａ２および値Ｂ２は、Ｂ２＜Ａ２を満たす２つの値であることにしてもよい。
【０２１８】
また、本発明は、このような画像圧縮装置２００、２０１、画像伸長装置４００および画像処理装置として実現することができるだけでなく、図２Ａの画像圧縮装置２００、図２０の画像圧縮装置２０１、図５の画像伸長装置４００、図１の画像処理装置１０、または図１９の第一画像処理装置１１または第二画像処理装置１２に含まれる各処理部を備える集積回路として実現したりすることもできる。当然、他の機能と組み合わせたシステムＬＳＩを構成することも可能である。この場合は、システムＬＳＩ内部のメモリ量やメモリ帯域を削減することができるため、製造コストの低減に効果がある。さらに、当該システムＬＳＩを用い、他の機能と組合せ、ディジタル画像処理機器を構成することも可能である。具体的にはテレビ、レコーダ、携帯電話、ビデオカメラ等が挙げられる。この場合、機器を構成する際に必要な外部メモリ量の削減や、ＬＳＩ内部の使用帯域の減少による消費電力の削減が可能となるため、機器の製造コストの低減や性能向上の効果を見込むことができる。
【０２１９】
ここでは、ＬＳＩまたはシステムＬＳＩとしたが、集積度の違いにより、ＩＣ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２２０】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２２１】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０２２２】
また、本発明は、画像圧縮装置２００、２０１、画像伸長装置４００または画像処理装置に含まれる各処理部の特徴的な処理をステップとする画像圧縮方法、画像伸長方法または画像処理方法として実現したりすることもできる。また、画像圧縮方法、画像伸長方法または画像処理方法に含まれる特徴的な処理をコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０２２３】
つまり、上記実施の形態およびその変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０２２４】
ここで、上記実施の形態およびその変形例における画像圧縮装置を実現するソフトウェアは、次のようなプログラムである。すなわち、このプログラムは、画像データの圧縮を行う画像圧縮方法のためのプログラムであって、前記画像データに含まれる複数の画素値を、Ａ１＜Ｂ１なる２つの値Ａ１およびＢ１を用い、前記Ａ１と前記Ｂ１とで定義される１つの領域内で量子化する量子化モード１を実行する第一量子化ステップと、前記複数の画素値を、Ａ２＞Ｂ２なる２つの値Ａ２およびＢ２を用い、前記Ａ２と前記Ｂ２とで定義される２つの領域内で量子化する量子化モード２を実行する第二量子化ステップと、値Ａと、値Ｂと、選択された量子化モードで量子化された前記複数の画素値における量子化値とを含む圧縮データを生成する圧縮データ生成ステップとをコンピュータに実行させ、前記圧縮データ生成ステップでは、前記Ａに、前記量子化モード１が選択された場合には前記Ａ１を格納し、前記量子化モード２が選択された場合には前記Ａ２を格納し、前記Ｂに、前記量子化モード１が選択された場合には前記Ｂ１を格納し、前記量子化モード２が選択された場合には前記Ｂ２を格納することで、前記圧縮データを生成する。
【０２２５】
また、上記実施の形態およびその変形例における画像伸長装置を実現するソフトウェアは、次のようなプログラムである。すなわち、このプログラムは、画像圧縮装置により圧縮された画像データである圧縮データを伸長する画像伸長方法のためのプログラムであって、当該圧縮データに含まれる値Ａおよび値Ｂの大小関係により、量子化モード１および量子化モード２のうち、当該圧縮データに含まれる量子化値に対応する量子化モードを判定する量子化モード判定ステップと、判定された量子化モードにより、前記量子化値を画素値に逆量子化する逆量子化ステップとをコンピュータに実行させる。
【０２２６】
また、上記実施の形態およびその変形例における画像処理装置を実現するソフトウェアは、次のようなプログラムである。すなわち、このプログラムは、画像圧縮装置に、画像処理部から受信した画像データを圧縮して圧縮データを生成させて、生成した圧縮データをメモリに書き込ませるステップと、画像伸長装置に、当該メモリに書き込まれている圧縮データを当該メモリから読み出させ、読み出した圧縮データを伸長して画像データを生成させて、生成した画像データを画像処理部に送信させるステップとをコンピュータに実行させる。
【０２２７】
以上、本発明に係る画像圧縮装置、画像伸長装置、画像処理装置およびそれらの方法について、上記実施の形態およびその変形例に基づいて説明したが、本発明は、この実施の形態およびその変形例に限定されるものではない。本発明の範囲は上記した説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態およびその変形例に施したものや、異なる実施の形態およびその変形例における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【産業上の利用可能性】
【０２２８】
本発明に係る画像圧縮方法および装置は、圧縮後の画質をほとんど劣化させずにデータ量を削減することができ、これを用いたシステムＬＳＩや画像処理機器のコスト削減および性能向上等に有用である。グレースケール画像、ＲＧＢやＹＵＶフォーマットのカラー画像の圧縮が可能であるため、多くのディジタルＡＶ機器に応用可能である。また、アルファチャネルを加えたＡＲＧＢフォーマット等のグラフィックスデータの圧縮も可能であるため、グラフィックスエンジン等のグラフィックス処理装置への応用も可能である。
【符号の説明】
【０２２９】
１０  画像処理装置
１１  第一画像処理装置
１２  第二画像処理装置
１００  画像処理部
１０１  第一画像処理部
１０２  第二画像処理部
２００、２０１  画像圧縮装置
２１０  第一量子化部
２１１  第一量子化値算出部
２１２  最小値計算部
２１３  最大値計算部
２１４  量子化部
２１５  量子化誤差算出部
２２０  第二量子化部
２２１  第二量子化値算出部
２２２  領域判定部
２２３  最小値計算部
２２４  最大値計算部
２２５  量子化値割当部
２２６  量子化部
２２７  量子化誤差算出部
２３０  量子化モード選択部
２４０、２４１  圧縮データ生成部
３００  メモリ
４００  画像伸長装置
４１０  量子化モード判定部
４２０  逆量子化部
４２１  第一逆量子化部
４２２  第二逆量子化部
４２３  量子化モード選択部
【図１】
0005903597.tif 000002
【図２Ａ】
0005903597.tif 000003
【図２Ｂ】
0005903597.tif 000004
【図３】
0005903597.tif 000005
【図４】
0005903597.tif 000006
【図５】
0005903597.tif 000007
【図６】
0005903597.tif 000008
【図７】
0005903597.tif 000009
【図８】
0005903597.tif 000010
【図９】
0005903597.tif 000011
【図１０】
0005903597.tif 000012
【図１１】
0005903597.tif 000013
【図１２】
0005903597.tif 000014
【図１３】
0005903597.tif 000015
【図１４】
0005903597.tif 000016
【図１５】
0005903597.tif 000017
【図１６】
0005903597.tif 000018
【図１７】
0005903597.tif 000019
【図１８】
0005903597.tif 000020
【図１９】
0005903597.tif 000021
【図２０】
0005903597.tif 000022
【図２１】
0005903597.tif 000023
【図２２】
0005903597.tif 000024
【図２３】
0005903597.tif 000025