(57)【要約】【課題】  処理に要する時間および計算コストを抑えつつ、領域毎に最適なフィルタ効果を得ることができる画像符号化装置、画像符号化方法、画像符号化プログラムおよび画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。【解決手段】  画像符号化装置１０４は、画像を所定の大きさに分割した領域毎に画像データを関数変換する関数変換処理部１１０と、Ｎ種類の符号化時量子化テーブルのうちから１種類の量子化テーブルを領域毎に選択し、選択した符号化時量子化テーブルを用いて関数変換されたデータを領域毎に量子化する量子化処理部１１２と、量子化されたデータを符号化し、符号化したデータに対して各領域の復号に用いる復号化時量子化テーブルのデータを付加した画像符号化データを作成する画像符号化データ作成処理部１１４とを備える。【選択図】        図１
2006109051.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像符号化装置であって、
前記画像データを関数変換する関数変換手段と、
複数種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを前記画像を所定の大きさに分割した領域毎に選択し、当該選択した前記符号化時量子化テーブルを用いて前記関数変換されたデータを前記領域毎に量子化する量子化手段と、
前記量子化されたデータを符号化し、当該符号化したデータに対して復号化時量子化テーブルのデータを付加した画像符号化データを作成する画像符号化データ作成手段とを備えることを特徴とする、画像符号化装置。
【請求項２】
画像データを符号化する画像符号化装置であって、
前記画像データを関数変換する関数変換手段と、
複数種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを前記画像を所定の大きさに分割した領域毎に選択し、当該選択した前記符号化時量子化テーブルを用いて前記関数変換されたデータを前記領域毎に量子化する量子化手段と、
前記量子化されたデータを符号化し、当該符号化したデータに対して複数種類の復号化時量子化テーブルのデータと該複数種類の復号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した画像符号化データを作成する画像符号化データ作成手段とを備えることを特徴とする、画像符号化装置。
【請求項３】
画像データを符号化する画像符号化装置であって、
前記画像データを関数変換する関数変換手段と、
前記関数変換されたデータを、前記画像を所定の大きさに分割した領域毎に符号化時量子化テーブルを用いて量子化する量子化手段と、
前記量子化されたデータを符号化し、当該符号化したデータに対して複数種類の復号化時量子化テーブルのデータと該複数種類の復号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した画像符号化データを作成する画像符号化データ作成手段とを備えることを特徴とする、画像符号化装置。
【請求項４】
前記量子化手段が前記関数変換されたデータを量子化するときに用いる符号化時量子化テーブルのデータと、前記画像符号化データ作成手段が前記画像符号化データに付加した復号化時量子化テーブルのデータとは異なることを特徴とする、請求項１〜請求項３のいずれかに記載した画像符号化装置。
【請求項５】
画像データを符号化する画像符号化装置であって、
前記画像データを関数変換する関数変換手段と、
複数種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを前記画像を所定の大きさに分割した領域毎に選択し、当該選択した前記符号化時量子化テーブルを用いて前記関数変換されたデータを前記領域毎に量子化する量子化手段と、
前記量子化されたデータを符号化し、当該符号化したデータに１種類の量子化テーブルのデータを付加した画像符号化データを作成する画像符号化データ作成手段とを備えることを特徴とする、画像符号化装置。
【請求項６】
画像データを符号化する画像符号化方法であって、
前記画像データを関数変換する関数変換ステップと、
複数種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを前記画像を所定の大きさに分割した領域毎に選択し、当該選択した前記符号化時量子化テーブルを用いて前記関数変換されたデータを前記領域毎に量子化する量子化ステップと、
前記量子化されたデータを符号化し、当該符号化したデータに対して復号化時量子化テーブルのデータを付加した画像符号化データを作成する画像符号化データ作成ステップとを備えることを特徴とする、画像符号化方法。
【請求項７】
画像データを符号化する画像符号化方法であって、
前記画像データを関数変換する関数変換ステップと、
前記関数変換されたデータを、前記画像を所定の大きさに分割した領域毎に符号化時量子化テーブルを用いて量子化する量子化ステップと、
前記量子化されたデータを符号化し、当該符号化したデータに対して複数種類の復号化時量子化テーブルのデータと、該複数種類の復号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した画像符号化データを作成する画像符号化データ作成ステップとを備えることを特徴とする、画像符号化方法。
【請求項８】
請求項６または請求項７に記載の画像符号化方法の各ステップをコンピュータに実行させるための画像符号化プログラム。
【請求項９】
請求項８に記載の画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを符号化する画像符号化装置、画像符号化方法、画像符号化プログラムおよび画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、デジタルカメラ、スキャナ、デジタルビデオカメラ等のデジタル画像を出力する機器の普及により、デジタル画像を圧縮する画像符号化技術を利用する機会が増してきている。それに伴い、様々な性質の画像に対する圧縮性能が求められるようになってきている。
【０００３】
一方、従来からデジタル静止画像を高能率で圧縮する画像符号化方式であるＪＰＥＧ（Joint Photographic Experts Group）またはデジタル動画像を高能率で圧縮する画像符号化方式であるＭＰＥＧ（Moving Picture Video Disc）等、広く一般に普及した画像符号化方式が存在し、その規格に準拠したデータが広く使われている。
【０００４】
規格に準拠したデータの多くは、１種類の量子化テーブルを用いて符号化処理または復号化処理を行なうものである。１種類の量子化テーブルを用いて復号可能な符号化データを作成し、圧縮性能を高める技術として、画像の平滑化、先鋭化、ノイズ除去等のフィルタ効果を利用したものがあった（たとえば、特許文献１）。
【０００５】
また、複数種類の量子化テーブルを用いた復号化処理を前提とした画像符号化技術として、画像領域毎に異なる量子化テーブルを用いて符号化し、復号化時には符号化時に用いた画像領域毎の量子化テーブルを用いて復号化するものがあった。これにより、領域毎に圧縮率をコントロールすることができる（たとえば、特許文献２）。
【特許文献１】特開平９−２２４２４６号公報
【特許文献２】特開平５−３４４３４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１で開示されている画像圧縮符号化および画像圧縮復号化装置では、画像データを符号化する過程で用いる量子化テーブルと、符号化された画像データを復号化する過程で用いる量子化テーブルとを異ならせることにより、符号化および復号化にかかる時間および計算コストをほとんど変えずにフィルタ効果を得ることを実現していた。しかし、この画像圧縮符号化および画像圧縮復号化装置では、画像領域全体に１種類の量子化テーブルを用いて画像データを符号化し、符号化された画像データの復号化の過程で符号化の過程で用いた量子化テーブルとは異なる１種類の量子化テーブルを用いていたため、単一のフィルタ効果を全画像領域に一律にかけることしかできず、画質が劣化する領域ができる（たとえば、平滑化フィルタは写真部分については品質向上につながるが、文字部分についてはエッジがぼやけるため、多くの場合画質が劣化してしまう）という問題があった。
【０００７】
特許文献２で開示されている画像符号化装置では、複数種類の量子化テーブルのうちから領域毎に最適な量子化テーブルを選択して画像データを符号化するため、画像の領域毎に圧縮度合いを変えることが可能であった。しかし、画像データを符号化する過程および符号化された画像データを復号化する過程で用いる量子化テーブルが領域毎に同じであるため、フィルタ効果を得ることができないという問題点があった。
【０００８】
本発明は、係る事情に鑑み考え出されたものであり、その目的は、処理に要する時間および計算コストを抑えつつ、領域毎に最適なフィルタ効果を得ることができる画像符号化装置、画像符号化方法、画像符号化プログラムおよび画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【０００９】
上述した目的を達成するためにこの発明のある局面によれば、画像符号化装置は、画像データを符号化する画像符号化装置であって、画像データを関数変換する関数変換手段と、複数種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを画像を所定の大きさに分割した領域毎に選択し、選択した符号化時量子化テーブルを用いて関数変換されたデータを領域毎に量子化する量子化手段と、量子化されたデータを符号化し、符号化したデータに対して復号化時量子化テーブルのデータを付加した画像符号化データを作成する画像符号化データ作成手段とを備えることを特徴とする。
【００１０】
この発明に従えば、関数変換されたデータを量子化するときに用いる符号化時量子化テーブルと画像復号化データを復号化する過程で用いる復号化時量子化テーブルとの組合せによって領域毎に最適なフィルタ効果を得ることができる。また、各領域の画像データに応じて領域毎に複数種類の符号化時量子化テーブルを使い分けることができるため、高い圧縮性能を実現することができる。また、領域毎に複数種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。また、フィルタ効果を得るためだけのフィルタ処理を設けることなくフィルタ効果を得ることができるため、処理に要する時間および計算コストを抑えることができる。
【００１１】
この発明の他の局面によれば、画像符号化装置は、画像データを符号化する画像符号化装置であって、画像データを関数変換する関数変換手段と、複数種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを画像を所定の大きさに分割した領域毎に選択し、選択した符号化時量子化テーブルを用いて関数変換されたデータを領域毎に量子化する量子化手段と、量子化されたデータを符号化し、符号化したデータに対して複数種類の復号化時量子化テーブルのデータと複数種類の符号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時量子化情報のデータとを付加した画像符号化データを作成する画像符号化データ作成手段とを備えることを特徴とする。
【００１２】
この発明に従えば、関数変換されたデータを量子化するときに用いる符合化時量子化テーブルと画像復号化データを復号化する過程で用いる複合化時量子化テーブルとの組合せによって領域毎に最適なフィルタ効果を得ることができる。また、各領域の画像データに応じて領域毎に複数種類の符号化時量子化テーブルを使い分けることができるため、高い圧縮性能を実現することができる。また、領域毎に複数種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。また、フィルタ効果を得るためだけのフィルタ処理を設けることなくフィルタ効果を得ることができるため、処理に要する時間および計算コストを抑えることができる。
【００１３】
この発明の他の局面によれば、画像符号化装置は、画像データを符号化する画像符号化装置であって、画像データを関数変換する関数変換手段と、関数変換されたデータを、画像を所定の大きさに分割した領域毎に符号化時量子化テーブルを用いて量子化する量子化手段と、量子化されたデータを符号化し、符号化したデータに対して複数種類の復号化時量子化テーブルのデータと複数種類の符号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時量子化情報のデータとを付加した画像符号化データを作成する画像符号化データ作成手段とを備えることを特徴とする。
【００１４】
この発明に従えば、関数変換されたデータを量子化するときに用いる符合化時量子化テーブルと画像復号化データを復号化する過程で用いる復号化時量子化テーブルとの組合せによって領域毎に最適なフィルタ効果を得ることができる。また、領域毎に複数種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。また、フィルタ効果を得るためだけのフィルタ処理を設けることなくフィルタ効果を得ることができるため、処理に要する時間および計算コストを抑えることができる。
【００１５】
好ましくは、量子化手段が関数変換されたデータを量子化するときに用いる符号化時量子化テーブルのデータと、画像符号化データ作成手段が画像符号化データに付加した復号化時量子化テーブルのデータとは異なることを特徴とする。
【００１６】
この発明に従えば、関数変換されたデータを量子化するときに用いる符合化時量子化テーブルと画像復号化データを復号化する過程で用いる復号化時量子化テーブルとを領域毎に異ならせることができるため、符号化時量子化テーブルと復号化時量子化テーブルとの組合せによって領域毎に最適なフィルタ効果を得ることができる。
【００１７】
この発明の他の局面によれば、画像データを符号化する画像符号化装置であって、画像データを関数変換する関数変換手段と、複数種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを画像を所定の大きさに分割した領域毎に選択し、選択した符号化時量子化テーブルを用いて関数変換されたデータを領域毎に量子化する量子化手段と、量子化されたデータを符号化し、符号化したデータに１種類の量子化テーブルのデータを付加した画像符号化データを作成する画像符号化データ作成手段とを備えることを特徴とする。
【００１８】
この発明に従えば、関数変換されたデータを量子化するときに用いる符合化時量子化テーブルと画像復号化データを復号化する過程で用いる復号化時量子化テーブルとの組合せによって領域毎に最適なフィルタ効果を得ることができる。また、各領域の画像データに応じて領域毎に複数種類の符号化時量子化テーブルを使い分けることができるため、高い圧縮性能を実現することができる。また、領域毎に複数種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。また、画像復号化データを復号化する過程で用いられる復号化時量子化テーブルが１種類であるため、現在広く普及しているＪＰＥＧ符号化方式およびＭＰＥＧ符号化方式等にそのまま適用することができる。また、フィルタ効果を得るためだけのフィルタ処理を設けることなくフィルタ効果を得ることができるため、処理に要する時間および計算コストを抑えることができる。
【００１９】
この発明の他の局面によれば、画像符号化方法は、画像データを符号化する画像符号化方法であって、画像データを関数変換する関数変換ステップと、複数種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを画像を所定の大きさに分割した領域毎に選択し、選択した符号化時量子化テーブルを用いて関数変換されたデータを領域毎に量子化する量子化ステップと、量子化されたデータを符号化し、符号化したデータに対して復号化時量子化テーブルのデータを付加した画像符号化データを作成する画像符号化データ作成ステップとを備えることを特徴とする。
【００２０】
この発明に従えば、関数変換されたデータを量子化するときに用いる符号化時量子化テーブルと画像復号化データを復号化する過程で用いる復号化時量子化テーブルとの組合せによって領域毎に最適なフィルタ効果を得ることができる。また、各領域の画像データに応じて領域毎に複数種類の符号化時量子化テーブルを使い分けることができるため、高い圧縮性能を実現することができる。また、領域毎に複数種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。また、フィルタ効果を得るためだけのフィルタ処理を設けることなくフィルタ効果を得ることができるため、処理に要する時間および計算コストを抑えることができる。
【００２１】
この発明の他の局面によれば、画像符号化方法は、画像データを符号化する画像符号化方法であって、画像データを関数変換する関数変換ステップと、関数変換されたデータを、画像を所定の大きさに分割した領域毎に符号化時量子化テーブルを用いて量子化する量子化ステップと、量子化されたデータを符号化し、符号化したデータに対して複数種類の復号化時量子化テーブルのデータと、複数種類の符号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時量子化情報のデータとを付加した画像符号化データを作成する画像符号化データ作成ステップとを備えることを特徴とする。
【００２２】
この発明に従えば、関数変換されたデータを量子化するときに用いる符合化時量子化テーブルと画像復号化データを復号化する過程で用いる復号化時量子化テーブルとの組合せによって領域毎に最適なフィルタ効果を得ることができる。また、領域毎に複数種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。また、フィルタ効果を得るためだけのフィルタ処理を設けることなくフィルタ効果を得ることができるため、処理に要する時間および計算コストを抑えることができる。
【００２３】
この発明の他の局面によれば、画像符号化プログラムは、上記画像符号化方法の各ステップをコンピュータに実行させる。
【００２４】
この発明に従えば、処理に要する時間および計算コストを抑えつつ、最適なフィルタ効果を得ることができる画像符号化プログラムを提供することができる。
【００２５】
この発明の他の局面によれば、コンピュータ読み取り可能な記録媒体は、上記画像符号化プログラムを記録する。
【００２６】
この発明に従えば、処理に要する時間および計算コストを抑えつつ、最適なフィルタ効果を得ることができる画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では、基底関数の組による空間領域からの変換を関数変換と呼び、空間領域に対して関数変換された領域を関数変換領域と呼ぶ。また、関数変換領域から空間領域への基底関数の組による変換を関数逆変換と呼ぶ。また、関数変換処理により得られる係数を関数変換係数と呼び、関数変換係数の値を関数変換係数値と呼ぶ。
［実施の形態１］
図１は、実施の形態１における画像符号化システム１００の概略構成を示すブロック図である。画像符号化システム１００は、領域量子化情報入力装置１０１、画像入力装置１０２、量子化テーブル入力装置１０３、画像符号化装置１０４および画像符号化データ出力装置１０５を含む。
【００２８】
画像入力装置１０２は、後述する画像符号化装置１０４の入力画像データバッファ１０９と接続されている。画像入力装置１０２は、入力画像データバッファ１０９に原画像の画像データを出力する。画像入力装置１０２は、たとえば、デジタルカメラ、スキャナ、デジタルビデオカメラ等である。
【００２９】
量子化テーブル入力装置１０３は、後述する画像符号化装置１０４の符号化時量子化テーブルデータバッファ群１０７および復号化時量子化テーブルデータバッファ１０８と接続されている。量子化テーブル入力装置１０３は、符号化時量子化テーブルデータバッファ群１０７にＮ種類（Ｎは任意の自然数）の符号化時量子化テーブルのデータを出力する。また、量子化テーブル入力装置１０３は、復号化時量子化テーブルデータバッファ１０８に１種類の復号化時量子化テーブルのデータを出力する。符号化時量子化テーブルおよび復号化時量子化テーブルについては後述する。
【００３０】
領域量子化情報入力装置１０１は、後述する画像符号化装置１０４の符号化時領域量子化情報データバッファ１０６と接続されている。領域量子化情報入力装置１０１は、符号化時領域量子化情報データバッファ１０６に符号化時領域量子化情報のデータを出力する。符号化時領域量子化情報データについては後述する。
【００３１】
画像符号化装置１０４は、符号化時領域量子化情報データバッファ１０６、符号化時量子化テーブルデータバッファ群１０７、復号化時量子化テーブルデータバッファ１０８、入力画像データバッファ１０９、関数変換処理部１１０、関数変換係数データバッファ１１１、量子化処理部１１２、量子化関数変換係数データバッファ１１３、画像符号化データ作成処理部１１４および画像符号化データバッファ１１５を含む。
【００３２】
入力画像データバッファ１０９は、画像入力装置１０２が出力した原画像の画像データを格納する。符号化時量子化テーブルデータバッファ群１０７は、量子化テーブル入力装置１０３が出力したＮ種類の符号化時量子化テーブルのデータを格納する。復号化時量子化テーブルデータバッファ１０８は、量子化テーブル入力装置１０３が出力した１種類の復号化時量子化テーブルのデータを格納する。符号化時領域量子化情報データバッファ１０６は、領域量子化情報入力装置１０１が出力した符号化時領域量子化情報のデータを格納する。
【００３３】
関数変換処理部１１０は、入力画像データバッファ１０９と接続されている。関数変換処理部１１０は、入力画像データバッファ１０９から画像データを読み出し、読み出した画像データを関数変換する処理を行なう。また、関数変換処理部１１０は、関数変換係数データバッファ１１１と接続されている。関数変換処理部１１０は、関数変換係数データバッファ１１１に画像データを関数変換して得た関数変換係数データを格納する。
【００３４】
なお、関数変換処理部１１０で行なわれる画像データの関数変換は、たとえば、離散コサイン変換（ＤＣＴ（Discrete Cosine Transform））、離散フーリエ変換（ＤＦＴ（Discrete Fourier Transform））、直交ウェーブレット変換等に代表される直交変換や、非直交ウェーブレット変換等に代表される非直交変換等である。
【００３５】
量子化処理部１１２は、関数変換係数データバッファ１１１、符号化時領域量子化情報データバッファ１０６および符号化時量子化テーブルデータバッファ群１０７と接続されている。量子化処理部１１２は、関数変換係数データバッファ１１１から関数変換係数データを読み出し、符号化時領域量子化情報データバッファ１０６から符号化時領域量子化情報のデータを読み出し、符号化時量子化テーブルデータバッファ群１０７からＮ種類の符号化時量子化テーブルのデータを読み出す。
【００３６】
Ｎ種類の符号化時量子化テーブルのデータには、それぞれの符号化時量子化テーブルを識別するための識別番号（たとえば、「１」〜「Ｎ」番）のデータが含まれている。また、符号化時領域量子化情報データバッファ１０６から読み出された符号化時領域量子化情報のデータには、Ｎ種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを選択するために、たとえば、符号化時量子化テーブルの識別番号のデータが規定されている。
【００３７】
量子化処理部１１２は、符号化時領域量子化情報のデータに規定されている符号化時量子化テーブルの識別番号のデータに基づいてＮ種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを選択し、選択した符号化時量子化テーブルを用いて関数変換係数データを量子化する処理を行なう。また、量子化処理部１１２は、量子化関数変換係数データバッファ１１３と接続されている。量子化処理部１１２は、量子化関数変換係数データバッファ１１３に関数変換係数データを量子化して得た量子化関数変換係数データを格納する。
【００３８】
画像符号化データ作成処理部１１４は、量子化関数変換係数データバッファ１１３および復号化時量子化テーブルデータバッファ１０８と接続されている。画像符号化データ作成処理部１１４は、量子化関数変換係数データバッファ１１３から量子化関数変換係数データを読み出し、復号化時量子化テーブルデータバッファ１０８から１種類の復号化時量子化テーブルのデータを読み出す。
【００３９】
画像符号化データ作成処理部１１４は、量子化関数変換係数データを符号化する処理を行なうとともに、符号化して得たデータに対して１種類の復号化時量子化テーブルのデータを付加した所定のフォーマットの画像符号化データを作成する処理を行なう。また、画像符号化データ作成処理部１１４は、画像符号化データバッファ１１５と接続されている。画像符号化データ作成処理部１１４は、画像符号化データバッファ１１５に作成した画像符号化データを格納する。
【００４０】
なお、画像符号化データ作成処理部１１４で行なわれる量子化関数変換計数データの符号化は、可逆符号化方式であればハフマン符号化等、いかなる方式の可逆符号化処理であってもかまわない。また、画像符号化データ作成処理部１１４において、復号化時量子化テーブルデータの可逆符号化処理を併せて行なうようにしてもよい。
【００４１】
画像符号化データ出力装置１０５は、画像符号化データバッファ１１５と接続されている。画像符号化データ出力装置１０５は、画像符号化データバッファ１１５に格納されている画像符号化データを読み出し、出力する。
【００４２】
なお、図１には図示していないが、画像符号化データ出力装置１０５から出力された画像符号化データは、画像復号化装置によって画像を復元する処理が行なわれる。画像復号化装置は、画像符号化データを復号化し、復号化して得た量子化関数変換係数データを画像符号化データに含ませていた復号化時量子化テーブルを用いて逆量子化し、逆量子化して得た関数変換係数データを関数逆変換し、画像を復元する。
【００４３】
なお、量子化関数変換係数データを符号化して得られるデータに付加する１種類の復号化時量子化テーブルは、関数変換係数データを量子化するときに用いるＮ種類の符合化時量子化テーブルのうちのいずれかと同一であってもよいが、ここでは量子化関数変換係数データを符号化して得られるデータに付加する１種類の復号化時量子化テーブルは、関数変換係数データを量子化するときに用いるＮ種類の符号化時量子化テーブルのうちのいずれとも同一でないものとする。
【００４４】
符号化時領域量子化情報データバッファ１０６、符号化時量子化テーブルデータバッファ群１０７、復号化時量子化テーブルデータバッファ１０８、入力画像データバッファ１０９、関数変換係数データバッファ１１１、量子化関数変換係数データバッファ１１３および画像符号化データバッファ１１５は、フラッシュメモリ、ハードディスク等のＲＡＭ（Random Access Memory）等の記憶装置により実現される。
【００４５】
関数変換処理部１１０、量子化処理部１１２、画像符号化データ作成処理部１１４は、たとえば、それぞれ独立した回路によって実現される。また、たとえばコンピュータ等の演算処理回路によって実現される仮想回路としてもよい。
【００４６】
関数変換処理部１１０は、画像データ全部を一度に関数変換することも可能であるが、非常に多くの演算処理が必要となり、処理速度を上げるためには演算量を減らす必要がある。そのため、関数変換処理部１１０は、原画像を縦横それぞれ８画素（８画素×８画素）の領域（ブロック）に分割し、分割した領域毎に画像データを関数変換する。なお、１つの領域の画素数として８画素×８画素の例を示したがこれに限られず、８画素×８画素以外の大きさのものでもよい。
【００４７】
図２は、横Ｘｓｉｚｅ、縦Ｙｓｉｚｅの原画像２００を示す図である。原画像２００は、複数の領域（たとえば、領域２０１〜２０４、領域２１１〜２１４および領域２２１〜２２４）から構成されている。各領域は領域２０１に示すように８画素×８画素で形成されている。従って、横Ｘｓｉｚｅ（横方向の画素数がＸ）、縦Ｙｓｉｚｅ（縦方向の画素数がＹ）の原画像２００の領域数は（Ｘｓｉｚｅ／８）×（Ｙｓｉｚｅ／８）となる。１つの領域の画素数を８画素×８画素とするときは、横Ｘｓｉｚｅと縦Ｙｓｉｚｅとは８で割り切れる大きさが好ましい。
【００４８】
図３は、符号化時領域量子化情報３００を示す図である。前述したように、横Ｘｓｉｚｅ、縦Ｙｓｉｚｅの原画像２００の領域数は、各領域が８画素×８画素で形成されているため、（Ｘｓｉｚｅ／８）×（Ｙｓｉｚｅ／８）により求められる。この場合の符号化時領域量子化情報３００は、原画像２００の領域数に合わせて（Ｘｓｉｚｅ／８）×（Ｙｓｉｚｅ／８）の要素（要素３０１〜３０４、要素３１１〜３１４および要素３２１〜３２４）から成る行列として表される。
【００４９】
前述したように、Ｎ種類の符号化時量子化テーブルのデータには、それぞれの符号化時量子化テーブルを識別するための識別番号（「１」〜「Ｎ」番）のデータが含まれている。符号化時領域量子化情報３００の要素３０１には、原画像２００の領域２０１の画像データを関数変換して得られた関数変換係数データを量子化するときに用いる１種類の符号化時量子化テーブルをＮ種類の符号化時量子化テーブルのうちから選択するために、たとえば、符号化時量子化テーブルの識別番号のデータが規定されている。
【００５０】
符号化時量子化情報３００の他の要素（たとえば、ｉ行ｊ列の要素）にも同じく、原画像２００の他の領域（たとえば、ｉ行ｊ列の領域）の画像データを関数変換して得られた関数変換係数データを量子化するときに用いる１種類の符号化時量子化テーブルをＮ種類の符号化時量子化テーブルのうちから選択するための符号化時量子化テーブルの識別番号のデータが規定されている。
【００５１】
従って、実際には、関数変換処理部１１０は、まず入力画像データバッファ１０９から領域２０１の画像データを読み出し、読み出した画像データを関数変換する。関数変換処理部１１０は、次に領域２０２の画像データを読み出し、読み出した画像データを関数変換する。このようにして関数変換処理部１１０は、入力画像データバッファ１０９から画像データを領域毎に読み出し、読み出した画像データを領域毎に関数変換する処理を繰り返し行なう。関数変換処理部１１０は、全ての領域の画像データを関数変換すると、関数変換係数データバッファ１１１に画像データを関数変換して得た関数変換係数データを格納する。
【００５２】
なお、関数変換処理部１１０は、領域２０１の画像データを関数変換した次に領域２０２の画像データを関数変換する例を示したが、各領域の画像データを関数変換する順番はこれに限られるものではない。
【００５３】
量子化処理部１１２は、関数変換係数データバッファ１１１から関数変換係数データを領域毎に読み出し、符号化時領域量子化情報データバッファ１０６から符号化時領域量子化情報のデータを読み出し、符号化時量子化テーブルデータバッファ群１０７からＮ種類の符号化時量子化テーブルのデータを読み出す。量子化処理部１１２は、読み出した領域に対応する符号化時領域量子化情報の要素に規定されている符号化時量子化テーブルの識別番号のデータに基づいてＮ種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを選択し、選択した符号化時量子化テーブルを用いて関数変換係数データを領域毎に量子化する処理を繰り返し行なう。量子化処理部１１２は、全ての領域の関数変換係数データを量子化すると、量子化関数変換係数データバッファ１１３に関数変換係数データを量子化して得た量子化関数変換係数データを格納する。
【００５４】
画像符号化データ作成処理部１１４は、量子化関数変換係数データバッファ１１３から量子化関数変換係数データを読み出し、読み出した量子化関数変換係数データを符号化する処理を行なう。画像符号化データ作成処理部１１４は、符号化して得たデータに対して１種類の復号化時量子化テーブルのデータを付加した所定のフォーマットの画像符号化データを作成する処理を行なう。画像符号化データ作成処理部１１４は、画像符号化データバッファ１１５に作成した画像符号化データを格納する。
【００５５】
次に、図４〜図６を参照して、フィルタ効果について説明する。図４、図５および図６は、量子化テーブルの一例を示す図である。ここでは、図４に示す量子化テーブル４００は画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときに用いる復号化時量子化テーブルとし、図５および図６に示す量子化テーブル５００および量子化テーブル６００は関数変換係数データを量子化するときに用いる符号化時量子化テーブルとして説明する。量子化テーブルの大きさは、前述した領域と同じく８画素×８画素である。
【００５６】
画像は、濃淡の変化の回数等により周波数で表すことができる。前述したように画像データを関数変換すると、画像を周波数成分に変換することができる。８画素×８画素の画像データを関数変換すると、８画素×８画素の関数変換係数データが得られ、一般的には低周波成分が大きくなり、高周波成分が小さくなるという特性をもっている。人間の目は、画像の高周波成分ほど認識しにくいという特徴がある。関数変換係数データの量子化には、視覚に対応して高周波成分を省略することにより符号量を削減するという目的がある。
【００５７】
関数変換係数を量子化して得られる量子化関数変換係数は、関数変換係数を量子化テーブルの各値で除算することにより得られる。一方、画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化して得られる関数変換係数は、画像符号化データを復号化して得られた量子化関数変換係数データを量子化テーブルの各値で乗算することにより得られる。
【００５８】
従って、関数変換係数データを量子化するときに用いる量子化テーブルと、画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときに用いる量子化テーブルとが同じときは、画像データを関数変換したときに得られる関数変換係数と、量子化関数変換係数データを逆量子化したときに得られる関数変換係数とは同じになる。
【００５９】
また、関数変換係数データを量子化するときに用いる量子化テーブルのある要素（たとえば、ｉ行ｊ列の要素）が、画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときに用いる量子化テーブルの対応する要素（たとえば、ｉ行ｊ列の要素）より小さい場合、得られる関数変換係数は、量子化および逆量子化する前の関数変換係数よりも縮減される。
【００６０】
また、関数変換係数データを量子化するときに用いる量子化テーブルのある要素（たとえば、ｉ行ｊ列の要素）が、画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときに用いる量子化テーブルの対応する要素（たとえば、ｉ行ｊ列の要素）より大きい場合、得られる関数変換係数は、量子化および逆量子化する前の関数変換係数よりも増幅される。
【００６１】
たとえば、図５に示す量子化テーブル５００を用いて関数変換係数データを量子化し、図４に示す量子化テーブル４００を用いて画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化したときに得られる関数変換係数の高周波成分は、量子化および逆量子化する前の関数変換係数の高周波成分と比較して大幅に縮減される。すなわち、平滑フィルタの効果を得ることができる。
【００６２】
また、図６に示す量子化テーブル６００を用いて関数変換計数データを量子化し、図４に示す量子化テーブル４００を用いて画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化したときに得られる関数変換計数の高周波成分は、量子化および逆量子化する前の関数変換係数の高周波成分と比較して大幅に増幅される。すなわち、エッジ強調フィルタの効果を得ることができる。
【００６３】
このように、関数変換係数データを量子化するときに用いる符合化時量子化テーブルと、画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときに用いる復号化時量子化テーブルとの組合せにより、様々なフィルタ効果を得ることができる。
【００６４】
図７は、実施の形態１における画像符号化装置１０４で実行される画像符号化処理の流れを示すフローチャートである。ステップＳ（以下、単に「Ｓ」という）７０１において、入力画像データバッファ１０９に画像入力装置１０２が出力した原画像の画像データを格納する処理が行なわれる。
【００６５】
Ｓ７０２において、Ｓ７０１で入力画像データバッファ１０９に格納された画像データが読み出され、読み出された画像データを関数変換する処理が行なわれる。なお、Ｓ７０２では、入力画像データバッファ１０９に格納されている画像データが領域毎に読み出され、読み出された画像データを領域毎に関数変換する処理が繰り返し行なわれる。全ての領域の画像データを関数変換する処理が終了すると、Ｓ７０３に進む。
【００６６】
Ｓ７０３において、関数変換係数データバッファ１１１にＳ７０２の処理で得られた関数変換係数データを格納する処理が行なわれる。Ｓ７０４において、符号化時量子化テーブルデータバッファ群１０７に量子化テーブル入力装置１０３が出力したＮ種類の符号化時量子化テーブルのデータを格納する処理が行なわれる。また、さらにＳ７０４において、復号化時量子化テーブルデータバッファ１０８に量子化テーブル入力装置１０３が出力した１種類の復号化時量子化テーブルのデータを格納する処理が行なわれる。Ｓ７０５において、符号化時領域量子化情報データバッファ１０６に領域量子化情報入力装置１０１が出力した符号化時領域量子化情報のデータを格納する処理が行なわれる。
【００６７】
Ｓ７０６において、Ｓ７０３で関数変換係数データバッファ１１１に格納された関数変換係数データが読み出され、Ｓ７０４で符号化時量子化テーブルデータバッファ群１０７に格納されたＮ種類の符号化時量子化テーブルのデータが読み出され、Ｓ７０５で符号化時領域量子化情報データバッファ１０６に格納された符号化時領域量子化情報のデータが読み出される。そして、さらにＳ７０６において、符号化時領域量子化情報のデータに規定されている符号化時量子化テーブルの識別番号のデータに基づいてＮ種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルが選択され、選択された符号化時量子化テーブルを用いて関数変換係数データを量子化する処理が行なわれる。
【００６８】
なお、Ｓ７０６では、関数変換係数データバッファ１１１に格納されている関数変換係数データが領域毎に読み出され、読み出された領域に対応する符号化時領域量子化情報の要素に規定されている符号化時量子化テーブルの識別番号のデータに基づいてＮ種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルが領域毎に選択される。選択された符号化時量子化テーブルを用いて関数変換係数データを領域毎に量子化する処理が繰り返し行なわれる。全ての領域の関数変換係数データを量子化する処理が終了すると、Ｓ７０７に進む。
【００６９】
Ｓ７０７において、量子化関数変換係数データバッファ１１３にＳ７０６の処理で得られた量子化関数変換係数データを格納する処理が行なわれる。Ｓ７０８において、Ｓ７０７で量子化関数変換係数データバッファ１１３に格納された量子化関数変換係数データが読み出され、読み出された量子化関数変換係数データを符号化する処理が行なわれる。
【００７０】
また、Ｓ７０８では、Ｓ７０４で復号化時量子化テーブルデータバッファ１０８に格納された１種類の復号化時量子化テーブルのデータが読み出される。さらにＳ７０８では、量子化関数変換係数データを符号化して得られたデータに対して１種類の復号化時量子化テーブルのデータを付加した所定のフォーマットの画像符号化データを作成する処理が行なわれる。Ｓ７０９において、画像符号化データバッファ１１５にＳ７０８の処理で得られた画像符号化データを格納する処理が行なわれ、このフローチャートは終了する。
【００７１】
図１に示した画像符号化装置１０４をパーソナルコンピュータやマイコン等で構成させる場合に、後述する画像符号化処理をコンピュータに実行させるためのプログラムとして記述するようにしてもよい。そのようなプログラムは、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）等の記録媒体に記録されて流通し、ＣＤ−ＲＯＭドライブ等によりコンピュータが備えるＲＡＭ等に読み込まれ、中央演算装置（ＣＰＵ）で実行される。
【００７２】
なお、プログラムが記憶される記録媒体は、ＣＤ−ＲＯＭの他に、たとえば、フレキシブルディスク、カセットテープ、ハードディスク、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、ＩＣカード（メモリーカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ等の半導体メモリ等の固定的にプログラムを担持する媒体でもよい。さらに、インターネット等のネットワークを介して他の装置からダウンロードされてもよい。
【００７３】
ここでいうプログラムは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００７４】
このようにすると、関数変換係数データを量子化するときには、Ｎ種類（Ｎは任意の自然数）の符号化時量子化テーブルのうちから領域毎に選択された１種類の符号化時量子化テーブルを用いて関数変換係数データが領域毎に量子化され、画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときには、領域毎に１種類の復号化時量子化テーブルを用いて量子化関数変換係数データが領域毎に逆量子化されるため、符号化時量子化テーブルと復号化時量子化テーブルとの組合せによって領域毎に最大Ｎ種類のフィルタ効果を得ることができ、領域毎に最適なフィルタ効果を得ることができる。
【００７５】
また、フィルタ効果は、関数変換係数データを量子化するときに用いる符号化時量子化テーブルと画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときに用いる復号化時量子化テーブルとを異ならせることにより得ることができ、フィルタ効果を得るためだけのフィルタ処理を設ける必要がないため、処理に要する時間および計算コストを抑えることができる。
【００７６】
また、各領域の画像データに応じて領域毎にＮ種類の符号化時量子化テーブルを使い分けることができるため、高い圧縮性能を実現することができる。また、領域毎にＮ種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。また、画像を復元するときに用いる量子化テーブルが１種類であるため、現在普及しているＪＰＥＧ符号化方式およびＭＰＥＧ符号化方式等に適用することができる。
【００７７】
また、画像符号化装置１０４が符号化時量子化テーブルのデータおよび復号化時量子化テーブルのデータを予め記憶しているのではなく、画像符号化装置１０４の外部から符号化時量子化テーブルのデータおよび復号化時量子化テーブルのデータを入力するため、符号化時量子化テーブルおよび復号化時量子化テーブルの種類や個数を自由に設定することができる。
【００７８】
なお、前述の実施の形態１では、画像符号化データを復号化する過程で用いる復号化時量子化テーブルは、関数変換係数データを量子化するときに用いる符号化時量子化テーブルとは異なるバッファに格納され、そのデータも異なる例を示したがこれに限られない。たとえば、関数変換係数データを量子化するときに用いるＮ種類の符号化時量子化テーブルのうち予め定められている１種類の符号化量子化テーブルを量子化関数変換係数データを符号化して得られるデータに付加して画像符号化データを作成するようにしておいてもよい。
［実施の形態２］
次に実施の形態２について説明する。実施の形態２では、実施の形態１と相違する点を主として説明する。実施の形態１では、Ｎ種類（Ｎは任意の自然数）の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを領域毎に選択し、選択した符号化時量子化テーブルを用いて関数変換係数データを領域毎に量子化し、量子化関数変換係数データを符号化して得られるデータに対して１種類の復号化時量子化テーブルのデータを付加した画像符号化データを作成する画像符号化装置について説明した。
【００７９】
実施の形態２では、１種類の符号化時量子化テーブルを用いて関数変換係数データを領域毎に量子化し、量子化関数変換係数データを符号化して得られるデータに対してＭ種類（Ｍは任意の自然数）の復号化時量子化テーブルのデータと、Ｍ種類の復号化時量子化テーブルのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した画像符号化データを作成する画像符号化装置について説明する。
【００８０】
なお、関数変換係数データを量子化するときに用いる１種類の符号化時量子化テーブルは、量子化関数変換係数データを符号化して得られるデータに付加するＭ種類の復号化時量子化テーブルのうちのいずれかと同一であってもよいが、ここでは関数変換係数データを量子化するときに用いる１種類の符号化時量子化テーブルは、量子化関数変換係数データを符号化して得られるデータに付加するＭ種類の復号化時量子化テーブルのうちのいずれとも同一ではないとして説明する。
【００８１】
図８は、実施の形態２における画像符号化システム８００の概略構成を示すブロック図である。画像符号化システム８００は、領域量子化情報入力装置８０１、画像入力装置８０２、量子化テーブル入力装置８０３、画像符号化装置８０４および画像符号化データ出力装置８０５を含む。
【００８２】
画像入力装置８０２は、後述する画像符号化装置８０４の入力画像データバッファ８０９と接続されている。画像入力装置８０２は、入力画像データバッファ８０９に原画像の画像データを出力する。画像入力装置８０２は、たとえば、デジタルカメラ、スキャナ、デジタルビデオカメラ等である。
【００８３】
量子化テーブル入力装置８０３は、後述する画像符号化装置８０４の符号化時量子化テーブルデータバッファ８０７および復号化時量子化テーブルデータバッファ群８０８と接続されている。量子化テーブル入力装置８０３は、符号化時量子化テーブルデータバッファ８０７に１種類の符号化時量子化テーブルのデータを出力する。また、量子化テーブル入力装置８０３は、復号化時量子化テーブルデータバッファ群８０８にＭ種類（Ｍは任意の自然数）の復号化時量子化テーブルのデータを出力する。
【００８４】
領域量子化情報入力装置８０１は、後述する画像符号化装置８０４の復号化時領域量子化情報データバッファ８０６と接続されている。領域量子化情報入力装置８０１は、復号化時領域量子化情報データバッファ８０６に復号化時領域量子化情報のデータを出力する。復号化時領域量子化情報については後述する。
【００８５】
画像符号化装置８０４は、復号化時領域量子化情報データバッファ８０６、符号化時量子化テーブルデータバッファ８０７、復号化時領域量子化テーブルデータバッファ群８０８、入力画像データバッファ８０９、関数変換処理部８１０、関数変換係数データバッファ８１１、量子化処理部８１２、量子化関数変換係数データバッファ８１３、画像符号化データ作成処理部８１４および画像符号化データバッファ８１５を含む。
【００８６】
入力画像データバッファ８０９は、画像入力装置８０２が出力した原画像の画像データを格納する。符号化時量子化テーブルデータバッファ８０７は、量子化テーブル入力装置８０３が出力した１種類の符号化時量子化テーブルのデータを格納する。復号化時量子化テーブルデータバッファ群８０８は、量子化テーブル入力装置８０３が出力したＭ種類の復号化時量子化テーブルのデータを格納する。復号化時領域量子化情報データバッファ８０６は、領域量子化情報入力装置８０１が出力した復号化時領域量子化情報のデータを格納する。
【００８７】
関数変換処理部８１０は、前述した実施の形態１と同じく、入力画像データバッファ８０９から画像データを領域毎に読み出し、読み出した画像データを領域毎に関数変換する処理を繰り返し行なう。関数変換処理部８１０は、全ての領域の画像データを関数変換すると、関数変換係数データバッファ８１１に画像データを関数変換して得た関数変換係数データを格納する。
【００８８】
量子化処理部８１２は、関数変換係数データバッファ９１１および符号化時量子化テーブルデータバッファ９０７と接続されている。実施の形態２では、実施の形態１で示したような符号化時領域量子化情報データバッファ１０６は存在しない。これは、符号化時量子化テーブルデータバッファ９０７に格納されている符号化時量子化テーブルのデータが１種類であり、関数変換係数データを量子化するときに用いる符号化時量子化テーブルを符号化時領域量子化情報の要素に規定されている符号化時量子化テーブルの識別番号のデータに基づいて選択する必要がないためである。
【００８９】
量子化処理部８１２は、関数変換係数データバッファ８１１から領域毎に関数変換係数データを読み出し、符号化時量子化テーブルデータバッファ８０７から１種類の符号化時量子化テーブルのデータを読み出す。量子化処理部８１２は、関数変換係数データを符号化時量子化テーブルを用いて領域毎に量子化する処理を繰り返し行なう。また、量子化処理部８１２は、量子化関数変換係数データバッファ８１３と接続されている。量子化処理部８１２は、全ての領域の関数変換係数データを量子化すると、量子化関数変換係数データバッファ８１３に関数変換係数データを量子化して得た量子化関数変換係数データを格納する。
【００９０】
画像符号化データ作成処理部８１４は、量子化関数変換係数データバッファ８１３、復号化時領域量子化情報データバッファ８０６および復号化時量子化テーブルデータバッファ群８０８と接続されている。画像符号化データ作成処理部８１４は、量子化関数変換係数データバッファ８１３から量子化関数変換係数データを読み出し、読み出した量子化関数変換係数データを符号化する処理を行なう。
【００９１】
また、画像符号化データ作成処理部８１４は、復号化領域量子化情報データバッファ８０６から復号化時領域量子化情報のデータを読み出し、復号化時量子化テーブルデータバッファ群８０８からＭ種類の復号化時量子化テーブルのデータを読み出す。そして、画像符号化データ作成処理部８１４は、符号化して得たデータに対してＭ種類の復号化時量子化テーブルのデータと、Ｍ種類の復号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した所定のフォーマットの画像符号化データを作成する。
【００９２】
なお、画像符号化データ作成処理部８１４で行なわれる量子化関数変換係数データの符号化は、可逆符号化方式であればハフマン符号化等、いかなる方式の可逆符号化処理であってもかまわない。また、画像符号化データ作成処理部８１４において、復号化時量子化テーブルデータ、および復号化時領域量子化情報データの可逆符号化処理を併せて行なうようにしてもよい。
【００９３】
Ｍ種類の復号化時量子化テーブルのデータには、実施の形態１のＮ種類の符号化時量子化テーブルのデータと同じく、それぞれの復号化時量子化テーブルを識別するための識別番号（たとえば、「１」〜「Ｍ」番）のデータが含まれている。
【００９４】
復号化時領域量子化情報は、前述した実施の形態１の符号化時領域量子化情報３００と同じく、原画像２００の領域数に合わせて（Ｘｓｉｚｅ／８）×（Ｙｓｉｚｅ／８）の要素からなる行列として表される。復号化時領域量子化情報のｉ行ｊ列の要素には、画像符号化データを復号化して得られる量子化関数変換係数データのｉ行ｊ列の領域の量子化関数変換係数データを逆量子化するときに用いる１種類の復号化時量子化テーブルをＭ種類の復号化時量子化テーブルのうちから選択するための復号化時量子化テーブルの識別番号のデータが規定されている。
【００９５】
画像符号化データ作成処理部８１４は、画像符号化データバッファ８１５と接続されている。画像符号化データ作成処理部８１４は、画像符号化データバッファ８１５に作成した画像符号化データを格納する。画像符号化データ出力装置８０５は、画像符号化データバッファ８１５と接続されている。画像符号化データ出力装置８０５は、画像符号化データバッファ８１５に格納されている画像符号化データを読み出し、出力する。
【００９６】
符号化時領域量子化情報データバッファ８０６、符号化時量子化テーブルデータバッファ８０７、復号化時量子化テーブルデータバッファ群８０８、入力画像データバッファ８０９、関数変換係数データバッファ８１１、量子化関数変換係数データバッファ８１３および画像符号化データバッファ８１５は、フラッシュメモリ、ハードディスク等のＲＡＭ（Random Access Memory）等の記憶装置により実現される。
【００９７】
関数変換処理部８１０、量子化処理部８１２、画像符号化データ作成処理部８１４は、たとえば、それぞれ独立した回路によって実現される。また、たとえばコンピュータ等の演算処理回路によって実現される仮想回路としてもよい。
【００９８】
図９は、実施の形態２における画像符号化装置８０４で実行される画像符号化処理の流れを示すフローチャートである。Ｓ９０１において、入力画像データバッファ８０９に画像入力装置８０２が出力した原画像の画像データを格納する処理が行なわれる。
【００９９】
Ｓ９０２において、Ｓ９０１で入力画像データバッファ８０９に格納された画像データが読み出され、読み出された画像データを関数変換する処理が行なわれる。なお、Ｓ９０２では、入力画像データバッファ８０９に格納されている画像データが領域毎に読み出され、読み出された画像データを領域毎に関数変換する処理が繰り返し行なわれる。全ての領域の画像データを関数変換する処理が終了すると、Ｓ９０３に進む。
【０１００】
Ｓ９０３において、関数変換係数データバッファ８１１にＳ７０２の処理で得られた関数変換係数データを格納する処理が行なわれる。Ｓ９０４において、符号化時量子化テーブルデータバッファ８０７に量子化テーブル入力装置８０３が出力した１種類の符号化時量子化テーブルのデータを格納する処理が行なわれる。また、さらにＳ９０４において、復号化時量子化テーブルデータバッファ群８０８に量子化テーブル入力装置８０３が出力したＭ種類の復号化時量子化テーブルのデータを格納する処理が行なわれる。
【０１０１】
Ｓ９０５において、Ｓ９０３で関数変換係数データバッファ８１１に格納された関数変換係数データが読み出され、Ｓ９０４で符号化時量子化テーブルデータバッファ８０７に格納された１種類の符号化時量子化テーブルのデータが読み出される。そして、さらにＳ９０５において、関数変換係数データを１種類の符号化時量子化テーブルを用いて量子化する処理が行なわれる。
【０１０２】
なお、Ｓ９０５では、関数変換係数データバッファ８１１に格納されている関数変換係数データが領域毎に読み出され、読み出された関数変換係数データを１種類の符号化時量子化テーブルを用いて領域毎に量子化する処理が繰り返し行なわれる。全ての領域の関数変換係数データを量子化する処理が終了すると、Ｓ９０６に進む。
【０１０３】
Ｓ９０６において、量子化関数変換係数データバッファ８１３にＳ９０５の処理で得られた量子化関数変換係数データを格納する処理が行なわれる。Ｓ９０７において、復号化時領域量子化情報データバッファ８０６に領域量子化情報入力装置８０１が出力した復号化時領域量子化情報のデータを格納する処理が行なわれる。
【０１０４】
Ｓ９０８において、Ｓ９０６で量子化関数変換係数データバッファ８１３に格納された量子化関数変換係数データが読み出され、読み出された量子化関数変換係数データを符号化する処理が行なわれる。なお、Ｓ９０８では、量子化関数変換係数データバッファ８１３に格納されている量子化関数変換係数データが領域毎に読み出され、読み出された量子化関数変換係数データを領域毎に符号化する処理が繰り返し行なわれる。
【０１０５】
また、Ｓ９０８では、Ｓ９０４で復号化時量子化テーブルデータバッファ群８０８に格納されたＭ種類の復号化時量子化テーブルのデータが読み出され、Ｓ９０７で復号化時領域量子化情報データバッファ８０６に格納された復号化時領域量子化情報のデータが読み出される。さらにＳ９０８では、量子化関数変換係数データを符号化して得られたデータに対してＭ種類の復号化時量子化テーブルのデータと、Ｍ種類の復号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した所定のフォーマットの画像符号化データを作成する処理が行なわれる。Ｓ９０９において、画像符号化データバッファ８１５にＳ９０８の処理で得られた画像符号化データを格納する処理が行なわれ、このフローチャートは終了する。
【０１０６】
図８に示した画像符号化装置８０４をパーソナルコンピュータやマイコン等で構成させる場合に、後述する画像符号化処理をコンピュータに実行させるためのプログラムとして記述するようにしてもよい。そのようなプログラムは、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）等の記録媒体に記録されて流通し、ＣＤ−ＲＯＭドライブ等によりコンピュータが備えるＲＡＭ等に読み込まれ、中央演算装置（ＣＰＵ）で実行される。
【０１０７】
なお、プログラムが記憶される記録媒体は、ＣＤ−ＲＯＭの他に、たとえば、フレキシブルディスク、カセットテープ、ハードディスク、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、ＩＣカード（メモリーカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ等の半導体メモリ等の固定的にプログラムを担持する媒体でもよい。さらに、インターネット等のネットワークを介して他の装置からダウンロードされてもよい。
【０１０８】
ここでいうプログラムは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【０１０９】
このようにすると、関数変換係数データを量子化するときには、１種類の符号化時量子化テーブルを用いて関数変換係数データが領域毎に量子化され、画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときには、Ｍ種類（Ｍは任意の自然数）の復号化時量子化テーブルのうちから領域毎に選択された１種類の復号化時量子化テーブルを用いて量子化関数変換係数データが領域毎に逆量子化されるため、符号化時量子化テーブルと復号化時量子化テーブルとの組合せによって領域毎に最大Ｍ種類のフィルタ効果を得ることができ、領域毎に最適なフィルタ効果を得ることができる。
【０１１０】
また、フィルタ効果は、関数変換係数データを量子化するときに用いる符号化時量子化テーブルと画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときに用いる復号化時量子化テーブルとを異ならせることにより得ることができ、フィルタ効果を得るためだけのフィルタ処理を設ける必要がないため、処理に要する時間および計算コストを抑えることができる。
【０１１１】
また、領域毎にＭ種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。また、画像符号化装置８０４が符号化時量子化テーブルのデータおよび復号化時量子化テーブルのデータを予め記憶しているのではなく、画像符号化装置８０４の外部から符号化時量子化テーブルのデータおよび復号化時量子化テーブルのデータを入力するため、符号化時量子化テーブルおよび復号化時量子化テーブルの種類や個数を自由に設定することができる。
［実施の形態３］
次に実施の形態３について説明する。実施の形態３では、実施の形態１および実施の形態２と相違する点を主として説明する。実施の形態１では、Ｎ種類（Ｎは任意の自然数）の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを領域毎に選択し、選択した符号化時量子化テーブルを用いて関数変換係数データを領域毎に量子化し、量子化関数変換係数データを符号化したデータに対して１種類の復号化時量子化テーブルのデータを付加した画像符号化データを作成する画像符号化装置について説明した。
【０１１２】
実施の形態２では、１種類の符号化時量子化テーブルを用いて関数変換係数データを領域毎に量子化し、量子化関数変換係数データを符号化して得られるデータに対してＭ種類（Ｍは任意の自然数）の復号化時量子化テーブルのデータと、Ｍ種類の復号化時量子化テーブルのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した画像符号化データを作成する画像符号化装置について説明した。
【０１１３】
実施の形態３では、Ｎ種類（Ｎは任意の自然数）の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを領域毎に選択し、選択した符号化時量子化テーブルを用いて関数変換係数データを領域毎に量子化し、量子化関数変換係数データを符号化して得られるデータに対してＭ種類（Ｍは任意の自然数）の復号化時量子化テーブルのデータと、Ｍ種類の復号化時量子化テーブルデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した画像符号化データを作成する画像符号化装置について説明する。
【０１１４】
なお、関数変換係数データを量子化するときに用いるＮ種類の符号化時量子化テーブルのそれぞれは、画像符号化データに含めるＭ種類の復号化時量子化テーブルのいずれかと同一であってもよいが、ここでは関数変換係数データを量子化するときに用いるＮ種類の符号化時量子化テーブルのそれぞれは、画像符号化データに含めるＭ種類の復号化時量子化テーブルのいずれとも同一ではないとして説明する。
【０１１５】
図１０は、実施の形態３における画像符号化システム１０００の概略構成を示すブロック図である。画像符号化システム１０００は、領域量子化情報入力装置１００１、画像入力装置１００２、量子化テーブル入力装置１００３、画像符号化装置１００４および画像符号化データ出力装置１００５を含む。
【０１１６】
画像入力装置１００２は、後述する画像符号化装置１００４の入力画像データバッファ１０１０と接続されている。画像入力装置１００２は、入力画像データバッファ１０１０に原画像の画像データを出力する。画像入力装置１００２は、たとえば、デジタルカメラ、スキャナ、デジタルビデオカメラ等である。
【０１１７】
量子化テーブル入力装置１００３は、後述する画像符号化装置１００４の符号化時量子化テーブルデータバッファ群１００８および復号化時量子化テーブルデータバッファ群１００９と接続されている。量子化テーブル入力装置１００３は、符号化時量子化テーブルデータバッファ群１００８にＮ種類（Ｎは任意の自然数）の符号化時量子化テーブルのデータを出力する。また、量子化テーブル入力装置１００３は、復号化時量子化テーブルデータバッファ群１００９にＭ種類（Ｍは任意の自然数）の復号化時量子化テーブルのデータを出力する。
【０１１８】
領域量子化情報入力装置１００１は、後述する画像符号化装置１００４の符号化時領域量子化情報データバッファ１００６および復号化時領域量子化情報データバッファ１００７と接続されている。領域量子化情報入力装置８０１は、符号化時時領域量子化情報データバッファ１００６に符号化時領域量子化情報のデータを出力し、復号化時領域量子化情報データバッファ１００７に復号化時領域量子化情報のデータを出力する。
【０１１９】
画像符号化装置１００４は、符号化時領域量子化情報データバッファ１００６、復号化時領域量子化情報データバッファ１００７、符号化時量子化テーブルデータバッファ群１００８、復号化時領域量子化テーブルデータバッファ群１００９、入力画像データバッファ１０１０、関数変換処理部１０１１、関数変換係数データバッファ１０１２、量子化処理部１０１３、量子化関数変換係数データバッファ１０１４、画像符号化データ作成処理部１０１５および画像符号化データバッファ１０１６を含む。
【０１２０】
入力画像データバッファ１０１０は、画像入力装置１００２が出力した原画像の画像データを格納する。符号化時量子化テーブルデータバッファ群１００８は、量子化テーブル入力装置１００３が出力したＮ種類の符号化時量子化テーブルのデータを格納する。復号化時量子化テーブルデータバッファ群１００９は、量子化テーブル入力装置８０３が出力したＭ種類の復号化時量子化テーブルのデータを格納する。符号化時領域量子化情報データバッファ１００６は、領域量子化情報入力装置１００１が出力した符号化時領域量子化情報のデータを格納する。復号化時領域量子化情報データバッファ１００７は、領域量子化情報入力装置１００１が出力した復号化時領域量子化情報のデータを格納する。
【０１２１】
関数変換処理部１０１１は、入力画像データバッファ１０１０と接続されている。関数変換処理部１０１１は、前述した実施の形態１等と同じく、入力画像データバッファ１０１０から画像データを領域毎に読み出し、読み出した画像データを領域毎に関数変換する処理を繰り返し行なう。関数変換処理部１０１１は、関数変換係数データバッファ１０１２と接続されている。関数変換処理部１０１１は、全ての領域の画像データを関数変換すると、関数変換係数データバッファ１０１２に関数変換して得た関数変換係数データを格納する。
【０１２２】
量子化処理部１０１３は、関数変換係数データバッファ１０１２、符号化時領域量子化情報データバッファ１００６および符号化時量子化テーブルデータバッファ群１００８と接続さている。量子化処理部１０１３は、前述した実施の形態１と同じく、関数変換係数データバッファ１０１２から関数変換係数データを領域毎に読み出し、符号化時領域量子化情報データバッファ１００６から符号化時領域量子化情報のデータを読み出し、符号化時量子化テーブルデータバッファ群１００８からＮ種類の符号化時量子化テーブルのデータを読み出す。
【０１２３】
量子化処理部１０１３は、読み出した領域に対応する符号化時領域量子化情報の要素に規定されている符号化時量子化テーブルの識別番号のデータに基づいてＮ種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルを選択し、選択した符号化時量子化テーブルを用いて関数変換係数データを領域毎に量子化する処理を繰り返し行なう。また、量子化処理部１０１３は、量子化関数変換係数データバッファ１０１４と接続されている。量子化処理部１０１３は、全ての領域の関数変換係数データを量子化すると、量子化関数変換係数データバッファ１０１４に関数変換係数データを量子化して得た量子化関数変換係数データを格納する。
【０１２４】
画像符号化データ作成処理部１０１５は、量子化関数変換係数データバッファ１０１４、復号化時領域量子化情報データバッファ１００７および復号化時量子化テーブルデータバッファ群１００９と接続されている。画像符号化データ作成処理部１０１５は、量子化関数変換係数データバッファ１０１４から量子化関数変換係数データを読み出し、読み出した量子化関数変換係数データを符号化する処理を行なう。
【０１２５】
また、画像符号化データ作成処理部１０１５は、復号化時領域量子化情報データバッファ１００７から復号化時領域量子化情報のデータと、復号化時量子化テーブルデータバッファ群１００９からＭ種類の復号化時量子化テーブルのデータとを読み出す。そして、画像符号化データ作成処理部１０１５は、符号化して得たデータに対してＭ種類の復号化時量子化テーブルのデータと、Ｍ種類の復号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した所定のフォーマットの画像符号化データを作成する。
【０１２６】
画像符号化データ作成処理部１０１５は、画像符号化データバッファ１０１６と接続さている。画像符号化データ作成処理部１０１５は、画像符号化データバッファ１０１６に作成した画像符号化データを格納する。画像符号化データ出力装置１００５は、画像符号化データバッファ１０１６と接続されている。画像符号化データ出力装置１００５は、画像符号化データバッファ１０１６に格納されている画像符号化データを読み出し、出力する。
【０１２７】
なお、画像符号化データ作成処理部１０１５で行なわれる量子化関数変換係数データの符号化は、可逆符号化方式であればハフマン符号化等、いかなる方式の可逆符号化処理であってもかまわない。また、画像符号化データ作成処理部１０１５において、復号化時量子化テーブルデータ、および復号化時領域量子化情報データの可逆符号化処理を併せて行なうようにしてもよい。
【０１２８】
符号化時領域量子化情報データバッファ１００６、復号化時領域量子化情報データバッファ１００７、符号化時量子化テーブルデータバッファ群１００８、復号化時量子化テーブルデータバッファ群１００９、入力画像データバッファ１０１０、関数変換係数データバッファ１０１２、量子化関数変換係数データバッファ１０１４および画像符号化データバッファ１０１６は、フラッシュメモリ、ハードディスク等のＲＡＭ（Random Access Memory）等の記憶装置により実現される。
【０１２９】
関数変換処理部１０１１、量子化処理部１０１３、画像符号化データ作成処理部１０１５は、たとえば、それぞれ独立した回路によって実現される。また、たとえばコンピュータ等の演算処理回路によって実現される仮想回路としてもよい。
【０１３０】
図１１は、実施の形態３における画像符号化装置１００４で実行される画像符号化処理の流れを示すフローチャートである。Ｓ１１０１において、入力画像データバッファ１０１０に画像入力装置１００２が出力した原画像の画像データを格納する処理が行なわれる。
【０１３１】
Ｓ１１０２において、Ｓ１１０１で入力画像データバッファ１０１０に格納された画像データが読み出され、読み出された画像データを関数変換する処理が行なわれる。なお、Ｓ１１０２では、入力画像データバッファ１０１０に格納されている画像データが領域毎に読み出され、読み出された画像データを領域毎に関数変換する処理が繰り返し行なわれる。全ての領域の画像データを関数変換する処理が終了すると、Ｓ１１０３に進む。
【０１３２】
Ｓ１１０３において、関数変換係数データバッファ１０１２にＳ１１０２の処理で得られた関数変換係数データを格納する処理が行なわれる。Ｓ１１０４において、符号化時量子化テーブルデータバッファ群１００８に量子化テーブル入力装置１００３が出力したＮ種類の符号化時量子化テーブルのデータを格納する処理が行なわれる。また、復号化時量子化テーブルデータバッファ群１００９に量子化テーブル入力装置１００３が出力したＭ種類の復号化時量子化テーブルのデータを格納する処理が行なわれる。Ｓ１１０５において、符号化時領域量子化情報データバッファ１００６に領域量子化情報入力装置１００１が出力した符号化時領域量子化情報のデータを格納する処理が行なわれる。
【０１３３】
Ｓ１１０６において、Ｓ１１０３で関数変換係数データバッファ１０１２に格納された関数変換係数データが読み出され、Ｓ１１０４で符号化時量子化テーブルデータバッファ群１００８に格納されたＮ種類の符号化時量子化テーブルのデータが読み出され、Ｓ１１０５で符号化時領域量子化情報データバッファ１００６に格納された符号化時領域量子化情報のデータが読み出される。そして、さらにＳ１１０６において、符号化時領域量子化情報のデータに規定されている符号化時量子化テーブルの識別番号のデータに基づいてＮ種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルが選択され、選択された符号化時量子化テーブルのデータを用いて関数変換係数データを量子化する処理が行なわれる。
【０１３４】
なお、Ｓ１１０６では、関数変換係数データバッファ１０１２に格納されている関数変換係数データが領域毎に読み出され、読み出された領域に対応する符号化時領域量子化情報の要素に規定されている符号化時量子化テーブルの識別番号のデータに基づいてＮ種類の符号化時量子化テーブルのうちから１種類の符号化時量子化テーブルが領域毎に選択される。選択された符号化時量子化テーブルを用いて関数変換係数データを領域毎に量子化する処理が繰り返し行なわれる。全ての領域の関数変換係数データを量子化する処理が終了すると、Ｓ１１０７に進む。
【０１３５】
Ｓ１１０７において、量子化関数変換係数データバッファ１０１４にＳ１１０６の処理で得られた量子化関数変換係数データを格納する処理が行なわれる。Ｓ１１０８において、復号化時領域量子化情報データバッファ１００７に領域量子化情報入力装置１００１が出力した復号化時領域量子化情報のデータを格納する処理が行なわれる。
【０１３６】
Ｓ１１０９において、Ｓ１１０７で量子化関数変換係数データバッファ１０１４に格納された量子化関数変換係数データが読み出され、読み出された量子化関数変換係数データを符号化する処理が行なわれる。なお、Ｓ１１０９では、量子化関数変換係数データバッファ１０１４に格納されている量子化関数変換係数データが読み出され、読み出された量子化関数変換係数データを符号化する処理が行なわれる。
【０１３７】
また、Ｓ１１０９では、Ｓ１１０４で復号化時量子化テーブルデータバッファ群１００９に格納されたＭ種類の復号化時量子化テーブルのデータが読み出され、Ｓ１１０８で復号化時領域量子化情報データバッファ１００７に格納された復号化時領域量子化情報のデータ読み出される。さらにＳ１１０９では、量子化関数変換係数データを符号化して得られたデータに対してＭ種類の復号化時量子化テーブルのデータと、Ｍ種類の符号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した所定のフォーマットの画像符号化データを作成する処理が行なわれる。Ｓ１１１０において、画像符号化データバッファ１０１６にＳ１１０９の処理で得られた画像符号化データを格納する処理が行なわれ、このフローチャートは終了する。
【０１３８】
図１０に示した画像符号化装置１００４を、パーソナルコンピュータやマイコン等で構成させる場合に、後述する画像符号化処理をコンピュータに実行させるためのプログラムとして記述するようにしてもよい。そのようなプログラムは、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）等の記録媒体に記録されて流通し、ＣＤ−ＲＯＭドライブ等によりコンピュータが備えるＲＡＭ等に読み込まれ、中央演算装置（ＣＰＵ）で実行される。
【０１３９】
なお、プログラムが記憶される記録媒体は、ＣＤ−ＲＯＭの他に、たとえば、フレキシブルディスク、カセットテープ、ハードディスク、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、ＩＣカード（メモリーカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ等の半導体メモリ等の固定的にプログラムを担持する媒体でもよい。さらに、インターネット等のネットワークを介して他の装置からダウンロードされてもよい。
【０１４０】
ここでいうプログラムは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【０１４１】
このようにすると、関数変換係数データを量子化するときには、Ｎ種類（Ｎは任意の自然数）の符号化時量子化テーブルのうちから領域毎に選択された１種類の符号化時量子化テーブルを用いて関数変換係数データが領域毎に量子化され、画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときには、Ｍ種類（Ｍは任意の自然数）の復号化時量子化テーブルのうちから領域毎に選択された１種類の復号化時量子化テーブルを用いて量子化関数変換係数データが領域毎に逆量子化されるため、符号化時量子化テーブルと復号化時量子化テーブルとの組合せによって領域毎に最大Ｎ×Ｍ種類のフィルタ効果を得ることができ、領域毎に最適なフィルタ効果を得ることができる。
【０１４２】
また、フィルタ効果は、関数変換係数データを量子化するときに用いる符号化時量子化テーブルと画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときに用いる復号化時量子化テーブルとを異ならせることにより得ることができ、フィルタ効果を得るためだけのフィルタ処理を設ける必要がないため、処理に要する時間および計算コストを抑えることができる。
【０１４３】
また、各領域の画像データに応じて領域毎にＮ種類の符号化時量子化テーブルを使い分けることができるため、高い圧縮性能を実現することができる。また、領域毎にＮ×Ｍ種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。
【０１４４】
また、画像符号化装置１００４が符号化時量子化テーブルのデータおよび復号化時量子化テーブルのデータを予め記憶しているのではなく、画像符号化装置１００４の外部から符号化時量子化テーブルのデータおよび復号化時量子化テーブルのデータを入力するため、符号化時量子化テーブルおよび復号化時量子化テーブルの種類や個数を自由に設定することができる。
［実施の形態４］
次に実施の形態４について説明する。実施の形態４では、実施の形態１、実施の形態２および実施の形態３と相違する点を主として説明する。実施の形態１から実施の形態３まででは、原画像の画像データを符号化する画像符号化装置について説明した。実施の形態４では、画像符号化装置において画像データを符号化して得られた画像符号化データから画像を復元する画像復号化装置について説明する。
【０１４５】
なお、実施の形態４では、実施の形態２および実施の形態３で説明した量子化関数変換係数データを符号化して得られたデータに対してＭ種類の復号化時量子化テーブルのデータと、Ｍ種類の復号化時量子化テーブルのデータのうち各領域の復号に用いる復号化時量子化テーブルを規定する復号化時領域量子化情報のデータとを付加した所定のフォーマットの画像符号化データから画像を復元する画像復号化装置について説明する。
【０１４６】
図１２は、実施の形態４における画像復号化システム１２００の概略構成を示すブロック図である。画像復号化システム１２００は、画像符号化データ入力装置１２０１、画像復号化装置１２０２および画像データ出力装置１２０３を含む。
【０１４７】
画像符号化データ入力装置１２０１は、後述する画像復号化装置１２０２の画像符号化データバッファ１２０４と接続されている。画像符号化データ入力装置１２０１は、前述した実施の形態１〜実施の形態３で説明した画像符号化データ出力装置が出力した画像符号化データを受信し、画像符号化データバッファ１２０４に画像符号化データを出力する。
【０１４８】
画像復号化装置１２０２は、画像符号化データバッファ１２０４、画像符号化データ分離処理部１２０５、復号化時領域量子化情報データバッファ１２０６、復号化時量子化テーブルデータバッファ群１２０７、量子化関数変換係数データバッファ１２０８、逆量子化処理部１２０９、関数変換係数データバッファ１２１０、関数逆変換処理部１２１１および画像データバッファ１２１２を含む。
【０１４９】
画像符号化データバッファ１２０４は、画像符号化データ入力装置１２０１が出力した画像符号化データを格納する。画像符号化データ分離処理部１２０５は、画像符号化データバッファ１２０４と接続されている。画像符号化データ分離処理部１２０５は、画像符号化データバッファ１２０４から画像符号化データを読み出し、読み出した画像符号化データのうちから復号化時領域量子化情報のデータとＭ種類（Ｍは任意の自然数）の復号化時量子化テーブルのデータとを分離する。
【０１５０】
また、画像符号化データ分離処理部１２０５は、復号化時領域量子化情報データバッファ１２０６、復号化時量子化テーブルデータバッファ群１２０７および量子化関数変換係数データバッファ１２０８と接続されている。画像符号化データ分離処理部１２０５は、復号化時領域量子化情報データバッファ１２０６に画像符号化データから分離した復号化時領域量子化情報のデータを格納する。また、画像符号化データ分離処理部１２０５は、復号化時量子化テーブルデータバッファ群１２０７に画像符号化データから分離したＭ種類の復号化時量子化テーブルのデータを格納する。
【０１５１】
画像符号化データ分離処理部１２０５は、復号化時領域量子化情報のデータとＭ種類の復号化時量子化テーブルのデータとが分離された後の画像符号化データを復号化する処理を行なう。画像符号化データ分離処理部１２０５は、量子化関数変換係数データバッファ１２０８に画像符号化データを復号化して得た量子化関数変換係数データを格納する。
【０１５２】
逆量子化処理部１２０９は、量子化関数変換係数データバッファ１２０８、復号化時領域量子化情報データバッファ１２０６および復号化時量子化テーブルデータバッファ群１２０７と接続されている。逆量子化処理部１２０９は、量子化関数変換係数データバッファ１２０８から量子化関数変換係数データを領域毎に読み出し、復号化時領域量子化情報データバッファ１２０６から復号化時領域量子化情報のデータを読み出し、復号化時量子化テーブルデータバッファ群１２０７からＭ種類の復号化時量子化テーブルのデータを読み出す。
【０１５３】
前述した実施の形態２で説明したように、復号化時領域量子化情報の各要素には、画像符号化データ分離処理部１２０５が画像符号化データを復号化して得られる量子化関数変換係数データを領域毎に逆量子化するときに用いる１種類の復号化時量子化テーブルをＭ種類の復号化時量子化テーブルのうちから選択するための復号化時量子化テーブルの識別番号のデータが規定されている。
【０１５４】
逆量子化処理部１２０９は、読み出した領域に対応する復号化時領域量子化情報の要素に規定されている復号化時量子化テーブルの識別番号のデータに基づいてＭ種類の復号化時量子化テーブルのうちから１種類の復号化時量子化テーブルを選択し、選択した復号化時量子化テーブルを用いて量子化関数変換係数データを領域毎に逆量子化する処理を繰り返し行なう。また、逆量子化処理部１２０９は、関数変換係数データバッファ１２１０と接続されている。逆量子化処理部１２０９は、全ての領域の量子化関数変換係数データを逆量子化すると、関数変換係数データバッファ１２１０に量子化関数変換係数データを逆量子化して得た関数変換係数データを格納する。
【０１５５】
関数逆変換処理部１２１１は、関数変換係数データバッファ１２１０と接続されている。関数逆変換処理部１２１１は、関数変換係数データバッファ１２１０から関数変換係数データを領域毎に読み出し、読み出した関数変換係数データを領域毎に関数逆変換する処理を繰り返し行なう。また、関数逆変換処理部１２１１は、画像データバッファ１２１２と接続されている。関数逆変換処理部１２１１は、全ての領域の関数変換係数データを関数逆変換すると、画像データバッファ１２１２に関数変換係数データを関数逆変換して得た画像データを格納する。
【０１５６】
画像データ出力装置１２０３は、画像データバッファ１２１２と接続されている。画像データ出力装置１２０３は、画像データバッファ１２１２に格納されている画像データを読み出し、出力する。
【０１５７】
画像符号化データバッファ１２０４、復号化時領域量子化情報データバッファ１２０６、復号化時量子化テーブルデータバッファ群１２０７、量子化関数変換係数データバッファ１２０８、関数変換係数データバッファ１２１０および画像データバッファ１２１２は、フラッシュメモリ、ハードディスク等のＲＡＭ等の記憶装置により実現される。
【０１５８】
画像符号化データ分離処理部１２０５、逆量子化処理部１２０９および関数逆変換処理部１２１１は、たとえば、それぞれ独立した回路によって実現される。また、たとえばコンピュータ等の演算処理回路によって実現される仮想回路としてもよい。
【０１５９】
図１３は、実施の形態４の画像復号化装置１２０２で実行される画像復号化処理の流れを示すフローチャートである。Ｓ１３０１において、画像符号化データバッファ１２０４に画像符号化データ入力装置１２０１が出力した画像復号化データを格納する処理が行なわれる。
【０１６０】
Ｓ１３０２において、Ｓ１３０１で画像符号化データバッファ１３０４に格納された画像符号化データが読み出され、読み出された画像符号化データのうちから復号化時領域量子化情報のデータとＭ種類（Ｍは任意の自然数）の復号化時量子化テーブルのデータとを分離する処理が行なわれる。そして、さらにＳ１３０２において、復号化時領域量子化情報のデータとＭ種類の復号化時量子化テーブルのデータとが分離された後の画像符号化データを復号化する処理が行なわれる。画像符号化データを復号化する処理が終了すると、Ｓ１３０３に進む。
【０１６１】
Ｓ１３０３において、復号化時領域量子化情報データバッファ１２０６にＳ１３０２の処理で分離された復号化時領域量子化情報のデータを格納する処理が行なわれる。Ｓ１３０４において、量子化関数変換係数データバッファ１２０８にＳ１３０２の処理で得られた量子化関数変換係数データを格納する処理が行なわれる。Ｓ１３０５において、復号化時量子化テーブルデータバッファ群１２０７にＳ１３０２の処理で分離されたＭ種類の復号化時量子化テーブルのデータを格納する処理が行なわれる。
【０１６２】
Ｓ１３０６において、Ｓ１３０３で復号化時領域量子化情報データバッファ１２０６に格納された復号化時領域量子化情報のデータが読み出され、Ｓ１３０４で量子化関数変換係数データバッファ１２０８に格納された量子化関数変換係数データが読み出され、Ｓ１３０５で復号化時量子化テーブルデータバッファ群１２０７に格納されたＭ種類の復号化時量子化テーブルのデータ読み出される。そして、さらにＳ１３０６において、復号化時領域量子化情報のデータに規定されている復号化時量子化テーブルの識別番号のデータに基づきＭ種類の復号化時量子化テーブルのうちから１種類の復号化時量子化テーブルが選択され、選択された復号化時量子化テーブルのデータを用いて量子化関数変換係数データを逆量子化する処理が行なわれる。
【０１６３】
なお、Ｓ１３０６では、量子化関数変換係数データバッファ１２０８に格納されている量子化関数変換係数データが領域毎に読み出され、読み出された領域に対応する復号化時領域量子化情報の要素に規定されている復号化時量子化テーブルの識別番号のデータに基づいてＭ種類の復号化時量子化テーブルのうちから１種類の復号化時量子化テーブルが領域毎に選択される。選択された復号化時量子化テーブルを用いて量子化関数変換係数データを領域毎に逆量子化する処理が繰り返し行なわれる。全ての領域の量子化関数変換係数データを逆量子化する処理が終了すると、Ｓ１３０７に進む。
【０１６４】
Ｓ１３０７において、関数変換係数データバッファ１２１０にＳ１３０６の処理で得られた関数変換係数データを格納する処理が行なわれる。Ｓ１３０８において、Ｓ１３０７で関数変換係数データに格納された関数変換係数データが読み出され、読み出された関数変換係数データを関数逆変換する処理が行なわれる。なお、Ｓ１３０８では、関数変換係数データバッファ１２１０に格納されている関数変換係数データが領域毎に読み出され、読み出された関数変換係数データを領域毎に関数逆変換する処理が繰り返し行なわれる。全ての領域の関数変換係数データを関数逆変換する処理が終了すると、Ｓ１３０９に進む。Ｓ１３０９において、画像データバッファ１２１２に、Ｓ１３０８において関数変換係数データを関数逆変換する処理がされて得られた画像データを格納する処理が行なわれ、このフローチャートは終了する。
【０１６５】
図１２に示した画像復号化装置１２０２を、パーソナルコンピュータやマイコン等で構成させる場合に、後述する画像符号化処理をコンピュータに実行させるためのプログラムとして記述するようにしてもよい。そのようなプログラムは、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）等の記録媒体に記録されて流通し、ＣＤ−ＲＯＭドライブ等によりコンピュータが備えるＲＡＭ等に読み込まれ、中央演算装置（ＣＰＵ）で実行される。
【０１６６】
なお、プログラムが記憶される記録媒体は、ＣＤ−ＲＯＭの他に、たとえば、フレキシブルディスク、カセットテープ、ハードディスク、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、ＩＣカード（メモリーカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ等の半導体メモリ等の固定的にプログラムを担持する媒体でもよい。さらに、インターネット等のネットワークを介して他の装置からダウンロードされてもよい。
【０１６７】
ここでいうプログラムは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【０１６８】
このようにすると、画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときには、Ｍ種類（Ｍは任意の自然数）の復号化時量子化テーブルのうちから領域毎に選択された１種類の復号化時量子化テーブルを用いて量子化関数変換係数データが領域毎に逆量子化されるため、符号化時量子化テーブルと復号化時量子化テーブルとの組合せによって領域毎に最適なフィルタ効果を得ることができる。
【０１６９】
また、フィルタ効果は、関数変換係数データを量子化するときに用いる符号化時量子化テーブルと画像符号化データを復号化して得られる量子化関数変換係数データを逆量子化するときに用いる復号化時量子化テーブルとを異ならせることにより得ることができ、フィルタ効果を得るためだけのフィルタ処理を設ける必要がないため、処理に要する時間および計算コストを抑えることができる。また、領域毎に少なくともＭ種類のフィルタ効果を使い分けることができるため、復元する画像の品質を向上させることができる。
【０１７０】
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１７１】
【図１】実施の形態１における画像符号化システムの概略構成を示すブロック図である。
【図２】横Ｘｓｉｚｅ、縦Ｙｓｉｚｅの原画像を示す図である。
【図３】符号化時領域量子化情報を示す図である。
【図４】量子化テーブルの一例を示す図である。
【図５】量子化テーブルの一例を示す図である。
【図６】量子化テーブルの一例を示す図である。
【図７】実施の形態１における画像符号化装置で実行される画像符号化処理の流れを示すフローチャートである。
【図８】実施の形態２における画像符号化システムの概略構成を示すブロック図である。
【図９】実施の形態２における画像符号化装置で実行される画像符号化処理の流れを示すフローチャートである。
【図１０】実施の形態３における画像符号化システムの概略構成を示すブロック図である。
【図１１】実施の形態３における画像符号化装置で実行される画像符号化処理の流れを示すフローチャートである。
【図１２】実施の形態４における画像復号化システムの概略構成を示すブロック図である。
【図１３】実施の形態４の画像復号化装置で実行される画像復号化処理の流れを示すフローチャートである。
【符号の説明】
【０１７２】
１００  画像符号化システム、１０１  領域量子化情報入力装置、１０２  画像入力装置、１０３  量子化テーブル入力装置、１０４  画像符号化装置、１０５  画像符号化データ出力装置、１０６  符号化時領域量子化情報データバッファ、１０７  符号化時量子化テーブルデータバッファ群、１０８  復号化時量子化テーブルデータバッファ、１０９  入力画像データバッファ、１１０  関数変換処理部、１１１  関数変換係数データバッファ、１１２  量子化処理部、１１３  量子化関数変換係数データバッファ、１１４  画像符号化データ作成処理部、１１５  画像符号化データバッファ。
【図１】
2006109051.tif 000003
【図２】
2006109051.tif 000004
【図３】
2006109051.tif 000005
【図４】
2006109051.tif 000006
【図５】
2006109051.tif 000007
【図６】
2006109051.tif 000008
【図７】
2006109051.tif 000009
【図８】
2006109051.tif 000010
【図９】
2006109051.tif 000011
【図１０】
2006109051.tif 000012
【図１１】
2006109051.tif 000013
【図１２】
2006109051.tif 000014
【図１３】
2006109051.tif 000015