(57)【要約】【課題】少なくとも３種のビット深度の画像データを、必要以上の消費電力を生じさせることなく符号化することができる画像符号化装置、及び、少なくとも３種のビット深度の符号データを、必要以上の消費電力を生じさせることなく復号化することができる画像復号化装置を提供する。【解決手段】画像符号化装置１は、画像データのビット深度情報を取得して出力するビット深度取得部１ａと、少なくとも３種のビット深度の各々に対応して作成された３つのハフマンテーブルを記憶するハフマンテーブル記憶部３１と、上記ビット深度情報に基づきＳＯＦマーカーセグメントに対してビット深度と同じビット深度を設定するハフマン符号化部６とを備え、ハフマン符号化部６は、少なくとも３つのハフマンテーブルのうちＳＯＦマーカーセグメントに対して設定したビット深度と同じビット深度に対応するハフマンテーブルに基づき画像成分を符号化する。【選択図】図１
2018056670.tif 000002
【特許請求の範囲】
【請求項１】
所定のビット深度を有する原データである画像データから、ＳＯＦマーカーセグメントを含むヘッダ情報と符号化された画像成分とで構成される符号データを生成する画像符号化装置であって、
前記画像データのビット深度情報を取得し、取得した当該ビット深度情報を出力するビット深度取得部と、
少なくとも３種のビット深度の各々に対応して作成された少なくとも３つのハフマンテーブルを記憶するハフマンテーブル記憶部と、
前記ビット深度取得部から与えられた前記ビット深度情報に基づき、前記ＳＯＦマーカーセグメントに対して前記ビット深度と同じビット深度を設定するハフマン符号化部と、を備え、
前記ハフマン符号化部は、前記ハフマンテーブル記憶部に記憶される前記少なくとも３つのハフマンテーブルのうち、前記ＳＯＦマーカーセグメントに対して設定したビット深度と同じビット深度に対応するハフマンテーブルを用いて、前記画像成分を符号化するように構成されていることを特徴とする画像符号化装置。
【請求項２】
前記画像データに対して離散コサイン変換処理を実行するＤＣＴ部と、
前記少なくとも３種のビット深度の各々に対応して作成された少なくとも３つの量子化テーブルを記憶する量子化テーブル記憶部と、
前記量子化テーブル記憶部に記憶される前記少なくとも３つの量子化テーブルのうち、前記ＳＯＦマーカーセグメントに対して設定されたビット深度と同じビット深度に対応する量子化テーブルを用いて、前記ＤＣＴ部による処理後のデータを量子化する量子化部と、をさらに備えることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記少なくとも３種のビット深度には、８ビット深度と、１２ビット深度と、９ビット深度乃至１１ビット深度のうち少なくとも１つのビット深度と、が含まれることを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
所定のビット深度が設定されたＳＯＦマーカーセグメントを含むヘッダ情報と符号化された画像成分とで構成される符号データを復号化する画像復号化装置であって、
前記所定のビット深度に対応するハフマンテーブルを記憶するハフマンテーブル記憶部と、
前記所定のビット深度を含む少なくとも３種のビット深度の各々に対応するハフマンテーブルの解析機能を有し、且つ、前記ＳＯＦマーカーセグメントに対して設定された前記ビット深度を解析すると共に、前記ハフマンテーブル記憶部に記憶される前記ハフマンテーブルに基づき前記画像成分を復号化するハフマン復号化部と、を備えることを特徴とする画像復号化装置。
【請求項５】
前記少なくとも３種のビット深度の各々に対応して作成された少なくとも３つの量子化テーブルを記憶する量子化テーブル記憶部と、
前記量子化テーブル記憶部に記憶される前記少なくとも３つの量子化テーブルのうち、前記ＳＯＦマーカーセグメントから解析されたビット深度と同じビット深度に対応する量子化テーブルを用いて、前記ハフマン復号化部による処理後のデータを逆量子化する逆量子化部と、をさらに備えることを特徴とする請求項４に記載の画像復号化装置。
【請求項６】
前記少なくとも３種のビット深度には、８ビット深度と、１２ビット深度と、９ビット深度乃至１１ビット深度のうち少なくとも１つのビット深度と、が含まれることを特徴とする請求項４又は５に記載の画像復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮して符号データを生成する画像符号化装置、及び符号データを復号化する画像復号化装置に関する。
【背景技術】
【０００２】
従来、通信における負担等の軽減を目的として、原データである画像データを圧縮して符号データを生成する画像符号化装置と、前記符号データを復号化する画像復号化装置とが知られている。
【０００３】
上記画像符号化装置の構成要素としては、画像データの色空間をＲＧＢから輝度色差で表現するためのＹＵＶに変換する色空間変換部と、色空間が変換された画像データを８×８画素のブロックに分割し、各ブロックについて画像信号を周波数成分（ＤＣＴ（Discrete Cosine Transform）係数と呼ばれる）に変換し、低周波成分のものから並べた８×８個のデータ（ＤＣ（Direct Current）成分及びＡＣ（Alternating Current）成分からなるデータ）を生成するＤＣＴ部と、このＤＣＴ部により生成されたデータを予め用意された量子化テーブルの値で除算する量子化部と、量子化された８×８個のデータを、ＤＣ成分からＡＣ成分に亘ってジグザグスキャンすることにより直線状に並べた（つまり、一次元配列された）６４個のデータを生成するジグザグスキャン部と、ＤＣ成分及びＡＣ成分を各々に対応するハフマンテーブルのハフマン符号に割り当てた符号データを生成するハフマン符号化部と、が挙げられる。
【０００４】
また、上記画像復号化装置の構成要素としては、画像符号化装置により生成された符号データを復号化するハフマン復号化部と、当該ハフマン復号化部により復号化されたデータに対して上記ジグザグスキャンの逆処理を行うことにより、一次元配列された量子化データを８×８個のデータに変換する逆ジグザグスキャン部と、逆ジグザグスキャン部により変換されたデータに対して量子化テーブルの値を乗算することにより量子化前のデータ（つまり、周波数成分からなるＤＣＴデータ）に変換する逆量子化部と、前記ＤＣＴデータを画像信号からなる画像データに変換する逆ＤＣＴ（Inverse Discrete Cosine Transform）部と、前記画像データの色空間をＹＵＶからＲＧＢに変換する逆色空間変換部と、が挙げられる。
【０００５】
ところで、静止画像圧縮符号化方式の国際標準規格であるＪＰＥＧ（Joint Photographic Expert Group）は、画像の圧縮率が非常に高いことや、圧縮率や復元される画像の品質をユーザが調整できることから、世界中で広く用いられている。下記非特許文献１には、ＪＰＥＧにおいて用いられる画像データのビット深度が８ビットであることが規格されており、また一般にＪＰＥＧでは、１２ビットのビット深度を有する画像データも適用されることが知られている。
【０００６】
画像符号化装置では、まず上記画像データのビット深度情報に基づき８ビット深度又は１２ビット深度のレジスタ設定を行った後、上記各処理部は設定されたビット深度に基づいて処理を実行する。すなわち、ＤＣＴ部及びジグザグスキャン部は、与えられたビット深度情報を基に演算バス幅（ビット幅）を調整して処理を実行する。また、量子化部は、与えられたビット深度情報を基に演算バス幅を拡張すると共に適用すべき量子化テーブル（つまり、８ビット深度用量子化テーブル及び１２ビット深度用量子化テーブルの何れか一方）を用いて量子化を実行する。さらに、ハフマン符号化部は、与えられたビット深度情報を基にフレームの開始を示すＳＯＦ（Start Of Frame）マーカーに当該ビット深度情報を埋め込み、そして適用すべきハフマンテーブル（つまり、８ビット深度用ハフマンテーブル及び１２ビット深度用ハフマンテーブルの何れか一方）を用いて符号データを生成する。
【０００７】
一方、画像復号化装置のハフマン復号化部は、上記ＳＯＦマーカーを解析することによりビット深度を認識し、当該ビット深度に基づき適用すべきハフマンテーブル（つまり、８ビット深度用ハフマンテーブル及び１２ビット深度用ハフマンテーブルの何れか一方）を用いて復号化を行う。また、逆量子化部は、与えられたビット深度情報を基に演算バス幅を拡張すると共に適用すべき量子化テーブル（つまり、８ビット深度用量子化テーブル及び１２ビット深度用量子化テーブルの何れか一方）を用いて逆量子化を実行する。さらに、逆ジグザグスキャン部及び逆ＤＣＴ部は、与えられたビット深度情報を基に演算バス幅を調整して処理を実行する。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】JPEG  勧告書  ITU-T.81：INFORMATION TECHNOLOGY‐DIGITAL COMPRESSION AND CODING OF CONTINUOUS-TONE STILL IMAGES-REQUIREMENTS AND GUIDELINES
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来の画像符号化装置は、画像データのビット深度が８ビット又は１２ビットである場合にしか、元のビット深度を維持して符号化処理を行うことができなかった。例えば、画像データのビット深度が１０ビット深度である場合、従来の画像符号化装置では、１２ビット深度として符号化処理を行う必要があった。また、圧縮により生成された符号データのビット深度が例えば１０ビット深度である場合、従来の画像復号化装置では、１２ビット深度として復号化処理を行う必要があった。そのため、演算量が増加し、必要以上の電力を消費していた。
【００１０】
本発明は、以上の実情に鑑みなされたものであって、少なくとも３種のビット深度の画像データを、必要以上の消費電力を生じさせることなく符号化することができる画像符号化装置、及び、少なくとも３種のビット深度の符号データを、必要以上の消費電力を生じさせることなく復号化することができる画像復号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る画像符号化装置は、所定のビット深度を有する原データである画像データから、ＳＯＦマーカーセグメントを含むヘッダ情報と符号化された画像成分とで構成される符号データを生成する画像符号化装置であって、
前記画像データのビット深度情報を取得し、取得した当該ビット深度情報を出力するビット深度取得部と、
少なくとも３種のビット深度の各々に対応して作成された少なくとも３つのハフマンテーブルを記憶するハフマンテーブル記憶部と、
前記ビット深度取得部から与えられた前記ビット深度情報に基づき、前記ＳＯＦマーカーセグメントに対して前記ビット深度と同じビット深度を設定するハフマン符号化部と、を備え、
前記ハフマン符号化部は、前記ハフマンテーブル記憶部に記憶される前記少なくとも３つのハフマンテーブルのうち、前記ＳＯＦマーカーセグメントに対して設定したビット深度と同じビット深度に対応するハフマンテーブルを用いて、前記画像成分を符号化するように構成されるものである。
【００１２】
本発明に係る画像符号化装置においては、ビット深度取得部により、画像データのビット深度情報が取得され、取得されたビット深度情報が出力される。また、ハフマンテーブル記憶部には、少なくとも３種のビット深度の各々に対応して作成された３つのハフマンテーブルが記憶されている。上記ビット深度取得部から与えられたビット深度情報に基づき、ハフマン符号化部によりＳＯＦマーカーセグメントに対して上記ビット深度情報と同じビット深度が設定される。例えば、ビット深度取得部から与えられたビット深度情報が１０ビット深度であるとき（つまり、画像データのビット深度が１０ビット深度であるとき）には、ハフマン符号化部は、ＳＯＦマーカーセグメントに対して１０ビット深度を設定する。そして、ハフマン符号化部は、上記少なくとも３つのハフマンテーブルのうち、ＳＯＦマーカーセグメントに対して設定したビット深度と同じビット深度に対応するハフマンテーブルを用いて、上記画像成分を符号化する。
【００１３】
このように、本発明の画像符号化装置によれば、ハフマンテーブル記憶部に少なくとも３種のビット深度の各々に対応した３つのハフマンテーブルが記憶されているので、ハフマン符号化部により、ＳＯＦマーカーセグメントに設定されたビット深度と同じビット深度に対応するハフマンテーブルに基づき画像成分を符号化することが可能となる。例えば、画像データのビット深度が８ビット深度、１０ビット深度及び１２ビット深度のうち何れかのビット深度である場合には、その画像データのビット深度と同じビット深度で演算処理を行うことができる。これにより、演算量が必要以上に増えないので、必要以上の電力を消費することなく符号化処理を実行することが可能となる。
【００１４】
本発明に係る画像符号化装置は、前記画像データに対して離散コサイン変換処理を実行するＤＣＴ部と、前記少なくとも３種のビット深度の各々に対応して作成された少なくとも３つの量子化テーブルを記憶する量子化テーブル記憶部と、前記量子化テーブル記憶部に記憶される前記少なくとも３つの量子化テーブルのうち、前記ＳＯＦマーカーセグメントに対して設定されたビット深度と同じビット深度に対応する量子化テーブルを用いて、前記ＤＣＴ部による処理後のデータを量子化する量子化部と、をさらに備えることが好ましい。
【００１５】
上記態様によれば、量子化部により、ＳＯＦマーカーセグメントに設定されたビット深度と同じビット深度に対応する量子化テーブルが用いられ量子化処理が実行されるので、入力される画像データのビット深度に応じた最適な量子化処理を行うことができる。これにより、後工程の符号化処理による圧縮性が高まる。
【００１６】
本発明において、前記少なくとも３種のビット深度には、８ビット深度と、１２ビット深度と、９ビット深度乃至１１ビット深度のうち少なくとも１つのビット深度と、が含まれてもよい。
【００１７】
上記態様によれば、８ビット深度の画像データを８ビット深度として符号化する場合、及び１２ビット深度の画像データを１２ビット深度として符号化する場合のみならず、画像データが９乃至１１ビット深度のうち何れかのビット深度である場合にも、そのビット深度で符号化処理を行うことができる。
【００１８】
本発明に係る画像復号化装置は、所定のビット深度が設定されたＳＯＦマーカーセグメントを含むヘッダ情報と符号化された画像成分とで構成される符号データを復号化する画像復号化装置であって、
前記所定のビット深度に対応するハフマンテーブルを記憶するハフマンテーブル記憶部と、
前記所定のビット深度を含む少なくとも３種のビット深度の各々に対応するハフマンテーブルの解析機能を有し、且つ、前記ＳＯＦマーカーセグメントに対して設定された前記ビット深度を解析すると共に、前記ハフマンテーブル記憶部に記憶される前記ハフマンテーブルに基づき前記画像成分を復号化するハフマン復号化部と、を備えるものである。
【００１９】
本発明に係る画像復号化装置において、ハフマンテーブル記憶部には、所定のビット深度に対応するハフマンテーブルが記憶される。また、ハフマン復号化部により、ＳＯＦマーカーセグメントに対して設定されたビット深度が解析される。本発明では、ハフマン復号化部は、上記所定のビット深度を含む少なくとも３種のビット深度の各々に対応するハフマンテーブルの解析機能を有する。これにより、ハフマン復号化部は、ハフマンテーブル記憶部に記憶される上記ハフマンテーブルに基づき符号データを復号化することが可能となる。例えば、ＳＯＦマーカーセグメントから解析されたビット深度が１０ビット深度であるとき（つまり、圧縮により生成された符号データのビット深度が１０ビット深度であるとき）には、ハフマン復号化部により、ＳＯＦマーカーセグメントから解析された１０ビット深度に対応するハフマンテーブルに基づき符号データが復号化される。
【００２０】
このように、本発明の画像復号化装置によれば、ハフマン復号化部が上記所定のビット深度を含む少なくとも３種のビット深度の各々に対応するハフマンテーブルの解析機能を有するので、ハフマンテーブル記憶部に記憶され、かつＳＯＦマーカーセグメントから解析されたビット深度と同じビット深度に対応するハフマンテーブルに基づき符号データを復号化することが可能となる。例えば、符号データが８ビット深度、１０ビット深度及び１２ビット深度のうち何れかのビット深度である場合には、その符号データのビット深度と同じビット深度で演算処理を行うことができる。これにより、演算量が必要以上に増えないので、必要以上の電力を消費することなく復号化処理を実行することが可能となる。
【００２１】
本発明に係る画像復号化装置は、前記少なくとも３種のビット深度の各々に対応して作成された少なくとも３つの量子化テーブルを記憶する量子化テーブル記憶部と、前記量子化テーブル記憶部に記憶される前記少なくとも３つの量子化テーブルのうち、前記ＳＯＦマーカーセグメントから解析されたビット深度と同じビット深度に対応する量子化テーブルを用いて、前記ハフマン復号化部による処理後のデータを逆量子化する逆量子化部と、をさらに備えることが好ましい。
【００２２】
上記態様によれば、逆量子化部により、ＳＯＦマーカーセグメントから解析されたビット深度と同じビット深度に対応する量子化テーブルが用いられ逆量子化処理が実行されるので、入力される符号データのビット深度に応じた最適な逆量子化処理を行うことができる。
【００２３】
本発明において、前記少なくとも３種のビット深度には、８ビット深度と、１２ビット深度と、９ビット深度乃至１１ビット深度のうち少なくとも１つのビット深度と、が含まれてもよい。
【００２４】
上記態様によれば、８ビット深度の符号データを８ビット深度として復号化する場合、及び１２ビット深度の符号データを１２ビット深度として復号化する場合のみならず、符号データが９乃至１１ビット深度のうち何れかのビット深度である場合にも、そのビット深度で復号化処理を行うことができる。
【発明の効果】
【００２５】
本発明によれば、少なくとも３種のビット深度の画像データを必要以上の消費電力を生じさせることなく符号化することができる画像符号化装置、及び少なくとも３種のビット深度の符号データを必要以上の消費電力を生じさせることなく復号化することができる画像復号化装置を提供することが可能となる。
【図面の簡単な説明】
【００２６】
【図１】（ａ）は本発明の一実施形態に係る画像符号化装置の構成を示すブロック図であり、（ｂ）は本発明の一実施形態に係る画像復号化装置の構成を示すブロック図である。
【図２】符号データの構成を示す図である。
【図３】図１（ａ）のハフマン符号化部の構成を示すブロック図である。
【図４】図１（ｂ）のハフマン復号化部の構成を示すブロック図である。
【図５】ハフマン符号化部によるビット深度毎の符号化処理を示すフローチャートである。
【図６】ハフマン復号化部によるビット深度毎の復号化処理を示すフローチャートである。
【図７】（ａ）〜（ｃ）は順に８，１０，１２ビット深度のＤＣＴ処理後データの輝度成分を量子化する際に用いる量子化テーブルを示す図であり、（ｄ）〜（ｆ）は順に８，１０，１２ビット深度のＤＣＴ処理後データの色差成分を量子化する際に用いる量子化テーブルを示す図である。
【図８】（ａ）は８ビット深度（輝度成分）に対応するＤＣ係数差分値に割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｂ）は８ビット深度（輝度成分）に対応するＤＣ係数差分値の発生頻度順のグループ番号を示すテーブルの図であり、（ｃ）は８ビット深度（輝度成分）に対応する組み合わせ（ゼロラン数とＡＣ係数のグループ番号との組み合わせ。以下同じ）に割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｄ）は８ビット深度（輝度成分）に対応する組み合わせの発生頻度順のグループ番号を示すテーブルの図である。
【図９】（ａ）は８ビット深度（色差成分）に対応するＤＣ係数差分値に割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｂ）は８ビット深度（色差成分）に対応するＤＣ係数差分値の発生頻度順のグループ番号を示すテーブルの図であり、（ｃ）は８ビット深度（色差成分）に対応する組み合わせに割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｄ）は８ビット深度（色差成分）に対応する組み合わせの発生頻度順のグループ番号を示すテーブルの図である。
【図１０】（ａ）は１０ビット深度（輝度成分）に対応するＤＣ係数差分値に割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｂ）は１０ビット深度（輝度成分）に対応するＤＣ係数差分値の発生頻度順のグループ番号を示すテーブルの図であり、（ｃ）は１０ビット深度（輝度成分）に対応する組み合わせに割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｄ）は１０ビット深度（輝度成分）に対応する組み合わせの発生頻度順のグループ番号を示すテーブルの図である。
【図１１】（ａ）は１０ビット深度（色差成分）に対応するＤＣ係数差分値に割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｂ）は１０ビット深度（色差成分）に対応するＤＣ係数差分値の発生頻度順のグループ番号を示すテーブルの図であり、（ｃ）は１０ビット深度（色差成分）に対応する組み合わせに割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｄ）は１０ビット深度（色差成分）に対応する組み合わせの発生頻度順のグループ番号を示すテーブルの図である。
【図１２】（ａ）は１２ビット深度（輝度成分）に対応するＤＣ係数差分値に割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｂ）は１２ビット深度（輝度成分）に対応するＤＣ係数差分値の発生頻度順のグループ番号を示すテーブルの図であり、（ｃ）は１２ビット深度（輝度成分）に対応する組み合わせに割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｄ）は１２ビット深度（輝度成分）に対応する組み合わせの発生頻度順のグループ番号を示すテーブルの図である。
【図１３】（ａ）は１２ビット深度（色差成分）に対応するＤＣ係数差分値に割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｂ）は１２ビット深度（色差成分）に対応するＤＣ係数差分値の発生頻度順のグループ番号を示すテーブルの図であり、（ｃ）は１２ビット深度（色差成分）に対応する組み合わせに割り当てられるハフマン符号のビット長毎の符号数を示すテーブルの図であり、（ｄ）は１２ビット深度（色差成分）に対応する組み合わせの発生頻度順のグループ番号を示すテーブルの図である。
【発明を実施するための形態】
【００２７】
以下、本発明の一実施形態に係る画像符号化装置及び画像復号化装置について、図面を参照しながら説明する。なお、本実施形態に係る画像符号化装置は、原データである画像データを例えばＪＰＥＧ圧縮方式により符号化するものであり、本実施形態に係る画像復号化装置は、例えばＪＰＥＧ圧縮方式により圧縮され生成された符号データを復号化するものである。
【００２８】
本実施形態では、符号化処理の対象となる画像データのビット深度には、例えば８ビット深度と、１２ビット深度と、９ビット深度乃至１１ビット深度のうち少なくとも１つのビット深度（後記では、一例として１０ビット深度）とが含まれ、また、復号化処理の対象となる符号データのビット深度には、例えば８ビット深度と、１２ビット深度と、９ビット深度乃至１１ビット深度のうち少なくとも１つのビット深度（後記では、一例として１０ビット深度）とが含まれる。
【００２９】
図１（ａ）に示すように、画像符号化装置１は、色空間変換部２と、ＤＣＴ部３と、量子化部４と、ジグザグスキャン部５と、ハフマン符号化部６と、ビット深度取得部１ａと、量子化テーブル記憶部３０、ハフマンテーブル記憶部３１と、を備える。これら色空間変換部２、ＤＣＴ部３、量子化部４、ジグザグスキャン部５、ハフマン符号化部６、及びビット深度取得部１ａは、画像符号化装置１が備えるＣＰＵがメモリに記憶された所定のプログラムを実行することで機能的に実現されてもよい。
【００３０】
上記ビット深度取得部１ａは、原データである画像データのビット深度情報を例えば外部装置から取得し、取得したビット深度情報をＤＣＴ部３、量子化部４、ジグザグスキャン部５、及びハフマン符号化部６に出力する。
【００３１】
色空間変換部２は、原データである画像データの色空間をＲＧＢから輝度色差で表現するためのＹＵＶに変換する。この色空間変換部２による処理後のデータには、輝度成分及び色差成分が含まれ、以降の各構成部による処理は輝度成分及び色差成分に分けて行われる。ＤＣＴ部３は、与えられたビット深度情報に基づき演算バス幅を調整する。ＤＣＴ部３は、色空間が変換された画像データを８×８画素のブロックに分割し、各ブロックについて画像信号を周波数成分（ＤＣＴ係数と呼ばれる）に変換し、低周波成分のものから並べた８×８個のデータ（ＤＣ成分及びＡＣ成分からなるデータ）を生成する。
【００３２】
量子化部４は、ＤＣＴ部３により生成されたＤＣＴ処理後のデータを、量子化テーブル記憶部３０に記憶される量子化テーブルの値で除算することにより量子化データを生成する。なお、量子化データは、ＭＣＵ（Minimum Coded Unit）と呼ばれる最小処理単位の画素ブロック毎の固定長のデータである。
【００３３】
量子化テーブル記憶部３０には、原データである画像データのビット深度が８ビット深度（２５６階調）である場合に、ＤＣＴ処理後のデータの輝度成分に対して量子化処理を行う際に用いる量子化テーブル（図７（ａ）参照）と、ＤＣＴ処理後のデータの色差成分に対して量子化処理を行う際に用いる量子化テーブル（図７（ｄ）参照）とが記憶される。また、量子化テーブル記憶部３０には、画像データのビット深度が１０ビット深度（１０２４階調）である場合に、ＤＣＴ処理後のデータの輝度成分に対して量子化処理を行う際に用いる量子化テーブル（図７（ｂ）参照）と、ＤＣＴ処理後のデータの色差成分に対して量子化処理を行う際に用いる量子化テーブル（図７（ｅ）参照）とが記憶される。さらに、量子化テーブル記憶部３０には、画像データのビット深度が１２ビット深度（４０９６階調）である場合に、ＤＣＴ処理後のデータの輝度成分に対して量子化処理を行う際に用いる量子化テーブル（図７（ｃ）参照）と、ＤＣＴ処理後のデータの色差成分に対して量子化処理を行う際に用いる量子化テーブル（図７（ｆ）参照）とが記憶される。これらの量子化テーブルは、量子化部４により、量子化処理の際にビット深度情報に応じて選択され使用される。
【００３４】
ジグザグスキャン部５は、与えられたビット深度情報に基づき演算バス幅を調整する。ジグザグスキャン部５は、量子化されたデータのＤＣ成分及びＡＣ成分に亘ってジグザグスキャンすることにより、直線状に並べた（つまり一次元配列された）６４個のデータを生成する。
【００３５】
ハフマンテーブル記憶部３１には、ＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルが記憶される。ハフマン符号化部６は、ＤＣ成分についてはＤＣ係数用ハフマンテーブルのハフマン符号と付加ビットとを割り当て、ＡＣ成分についてはＡＣ係数用ハフマンテーブルのハフマン符号と付加ビットとを割り当てることにより符号データを生成する。詳細は後述する。
【００３６】
図２に示すように、符号データは、画像成分の先頭を示すＳＯＩ（Start Of Image）マーカー、量子化テーブルを定義するＤＱＴ（Define Quantization Table）マーカー、フレームの開始を示すＳＯＦマーカー、ハフマンテーブルを定義するＤＨＴ（Define Huffman Table）マーカー、スキャンの開始を示すＳＯＳ（Start Of Scan）マーカー（これらをヘッダ情報と総称することがある）、符号化された画像成分、及び当該画像成分の末尾を示すＥＯＩ（End Of Image）マーカーが順に配列された構造を有する。
【００３７】
次に、画像符号化装置１のハフマン符号化部６について説明する。周知な事項ではあるが、最初に符号化処理の概要について説明する。ハフマン符号化部６は、量子化データのＤＣ成分（ＤＣ係数）については、現画素ブロックにおけるＤＣ係数と直前の画素ブロックにおけるＤＣ係数との差分値（以下、ＤＣ係数差分値と記載）を符号化する。この場合、まず、取得されたＤＣ係数差分値が、ハフマンテーブル記憶部３１に記憶されたＤＣ係数用ハフマンテーブルにおいてＤＣ係数差分値の範囲に基づき分けられた１２個のグループ番号ＳＳＳＳの何れに属するかについての特定が行われる。例えば、取得されたＤＣ係数差分値が「５」であるとき、ＤＣ係数差分値「５」に割り当てられるグループ番号ＳＳＳＳは、「−７，−６，−５，−４，４，５，６，７」という複数のＤＣ係数差分値が予め割り当てられた「３」に定められている。このように、取得されたＤＣ係数差分値に対しグループ番号ＳＳＳＳが割り当てられる。なお、グループ番号ＳＳＳＳは、上記取得されたＤＣ係数差分値を２進数で表した際の桁数に相当するものである。例えば、グループ番号ＳＳＳＳが「３」である場合には、当該グループ番号ＳＳＳＳの数字（つまり、「３」）は、グループ番号ＳＳＳＳ「３」に割り当てられたＤＣ係数差分値「５」を２進数表記した「１０１」の桁数、つまり「３」に一致するように決められている。これにより、グループ番号を見れば、後述の付加ビットの大きさ（つまりビット長）が分かることとなる。
【００３８】
ＤＣ係数用ハフマンテーブルにおいて、各グループ番号ＳＳＳＳには、所定のビット長のハフマン符号が予め割り当てられている。したがって、取得されたＤＣ係数差分値に対応するグループ番号が特定できれば、当該グループ番号に割り当てるべきハフマン符号が分かる。例えば、取得されたＤＣ係数差分値が「５」であるとき、「１００」というハフマン符号が割り当てられる。しかしながら、一つのグループ番号ＳＳＳＳには、ＤＣ係数差分値が０である場合を除き、上述の通り複数のＤＣ係数差分値が割り当てられているため、ＤＣ係数差分値にハフマン符号を割り当てるだけでは、そのＤＣ係数差分値を特定したことにはならない。そこで、ＤＣ係数差分値を特定するために、当該ＤＣ係数差分値に割り当てられたハフマン符号に対し付加ビットと呼ばれるコードを加える。付加ビットとは、取得されたＤＣ係数差分値を２進数表記したものである。つまり、付加ビットは、ＤＣ係数差分値固有のコードと言うことができる。例えば、取得されたＤＣ係数差分値が「５」である場合には、ハフマン符号「１００」に対し、「５」の２進数表記である「１０１」という付加ビットが加えられる。したがって、最終的に、ＤＣ係数差分値「５」は、ハフマン符号化部６によって、「１００１０１」という符号に変換される。以上のような方法により、ＤＣ係数差分値の符号化が行われる。
【００３９】
一方、ハフマン符号化部６は、ジグザグスキャン部５により一次元配列された量子化データにおけるＡＣ係数を符号化する。周知の通り、ＡＣ係数は、後述のゼロラン数ＲＲＲＲと後述のグループ番号ＳＳＳＳとからなる組み合わせ（ＲＲＲＲ／ＳＳＳＳ）に対し割り当てられたハフマン符号と、上述の付加ビットとの連接符号に変換される。以下、説明する。
【００４０】
まず、取得されたＡＣ係数が、ハフマンテーブル記憶部３１に記憶されたＡＣ係数用ハフマンテーブルにおいてＡＣ係数の範囲に基づき分けられた１１個のグループ番号ＳＳＳＳの何れに該当するかについての特定が行われる。この点、ＤＣ係数差分値の場合と同様である。例えば、取得されたＡＣ係数が「５」であるとき、当該「５」というＡＣ係数に割り当てられるグループ番号ＳＳＳＳは、「−７，−６，−５，−４，４，５，６，７」という複数のＡＣ係数が予め割り当てられた「３」に定められている。なお、グループ番号ＳＳＳＳは、取得されたＡＣ係数を２進数で表した際の桁数に相当するものである。例えば、グループ番号ＳＳＳＳが「３」である場合には、当該グループ番号ＳＳＳＳの数字（つまり、「３」）は、グループ番号「３」に割り当てられたＡＣ係数「５」を２進数表記した「１０１」の桁数、つまり「３」に一致するように決められている。これにより、グループ番号を見れば、後述の付加ビットの大きさ（つまりビット長）が分かることとなる。
【００４１】
ここで、ゼロラン数とは、一次元配列された１ブロック分のＡＣ係数（つまり、６３個のＡＣ係数）を、ジグザグスキャンの順序と同順でカウントした際に、０以外の係数（以下、ノンゼロＡＣ係数と呼ぶ）が出現するまで連続する「０」の個数のことである。したがって、一次元配列されたＡＣ係数において、あるノンゼロＡＣ係数の一つ前に位置するＡＣ係数がノンゼロＡＣ係数である場合、上記あるノンゼロＡＣ係数に対し割り当てられるゼロラン数は「０」となる。一方、あるノンゼロＡＣ係数の一つ前に位置するＡＣ係数がノンゼロＡＣ係数でない場合（つまり、「０」の場合）、上記あるノンゼロＡＣ係数に対し割り当てられるゼロラン数は１以上の自然数となる。
【００４２】
例えば、「５」というＡＣ係数を符号化する場合について説明する。まず、一次元配列されたＡＣ係数をカウントする際に、ＡＣ係数「５」が出現するまでに、「０」が例えば１５個連続したとする。この場合、ゼロラン数ＲＲＲＲは、「１５」を１６進数表記した「Ｆ」となる。また、ＡＣ係数「５」のグループ番号ＳＳＳＳは、上記の通り、「３」となる。したがって、ＡＣ係数「５」についてのゼロラン数ＲＲＲＲとグループ番号ＳＳＳＳとの組み合わせ（ＲＲＲＲ／ＳＳＳＳ）は、「Ｆ／３」となる。この「Ｆ／３」に対し割り当てられたハフマン符号は、ＡＣ係数用ハフマンテーブルから、例えば「１１１１１１１１１１１１０１１１」となる。このハフマン符号に対し、ＡＣ係数「５」の２進数表記である「１０１」という付加ビットが加えられる。したがって、最終的に、ＡＣ係数「５」は、ハフマン符号化部６によって、「１１１１１１１１１１１１０１１１１０１」という符号に変換される。以上のような方法により、ＡＣ係数の符号化が行われる。なお、ＡＣ係数の符号化では、「０」が１６個連続した場合には、「ＺＲＬ」というゼロラン数が割り当てられ、また、あるノンゼロＡＣ係数を基点に末尾のＡＣ係数まで全て「０」である場合には、「ＥＯＢ」というゼロラン数が割り当てられることが決められている。
【００４３】
図３は、図１（ａ）のハフマン符号化部の構成を示すブロック図である。図３に示すように、ハフマン符号化部６は、グループ番号変換部１３と、付加ビット変換部１４と、ゼロラン変換部１５と、マーカー生成部１６と、連接部１７と、内部ＦＩＦＯ（First-In First-Out）１８と、を備える。量子化部４（図１（ａ）参照）により生成された量子化データＤ１のＡＣ係数は、ジグザグスキャン部５（同図参照）により一次元配列された後、グループ番号変換部１３、付加ビット変換部１４、及びゼロラン変換部１５に入力される。
【００４４】
グループ番号変換部１３は、ビット深度取得部１ａ（図１（ａ）参照）から与えられたビット深度情報ＢＩに基づいて、画素ブロック毎に量子化データＤ１におけるＤＣ係数差分値を取得し、取得したＤＣ係数差分値に対応するグループ番号ＳＳＳＳをＤＣ係数用ハフマンテーブルから取得し、連接部１７に出力する。
【００４５】
付加ビット変換部１４は、画素ブロック毎に量子化データＤ１におけるＤＣ係数差分値を取得し、取得したＤＣ係数差分値を２進数表記したコードである付加ビットを取得し、連接部１７に出力する。
【００４６】
連接部１７は、与えられた上記グループ番号ＳＳＳＳに割り当てられたハフマン符号をＤＣ係数用ハフマンテーブルから取得し、取得した当該ハフマン符号と上記付加ビットとを連接し、その連接データＤ２を内部ＦＩＦＯ１８に出力する。以上の処理がＤＣ係数差分値の符号化処理である。
【００４７】
続いて、ＡＣ係数の符号化処理について説明する。グループ番号変換部１３は、ＤＣ係数差分値の場合と同様に、ビット深度取得部１ａから与えられたビット深度情報ＢＩに基づき、画素ブロック毎に量子化データＤ１におけるＡＣ係数を取得し、取得したＡＣ係数に対応するグループ番号ＳＳＳＳをＡＣ係数用ハフマンテーブルから取得し、連接部１７に出力する。この時点で、ハフマン符号が割り当てられる対象である上記組み合わせ（ＲＲＲＲ／ＳＳＳＳ）の一構成要素のグループ番号が取得されることとなる。
【００４８】
付加ビット変換部１４は、ＤＣ係数差分値の場合と同様に、画素ブロック毎に量子化データＤ１におけるＡＣ係数を取得し、取得したＡＣ係数を２進数表記したコードである付加ビットを取得し、連接部１７に出力する。
【００４９】
ゼロラン変換部１５は、画素ブロック毎に量子化データＤ１におけるゼロラン数をカウントし、連接部１７に出力する。この場合、ゼロラン変換部１５はＡＣ係数毎にゼロラン数を取得する。これにより、上記組み合わせ（ＲＲＲＲ／ＳＳＳＳ）の一構成要素であるゼロラン数が取得されることとなる。
【００５０】
連接部１７は、グループ番号とこれに対応するゼロラン数との組み合わせ（ＲＲＲＲ／ＳＳＳＳ）に割り当てられるハフマン符号をＡＣ係数用ハフマンテーブルから取得する。そして、連接部１７は、取得した当該ハフマン符号と、上記付加ビット（つまり、グループ番号に対応する付加ビット）とを連接することにより連接データＤ２を生成し、当該連接データＤ２を内部ＦＩＦＯ１８に出力する。以上の処理がＡＣ係数の符号化処理である。
【００５１】
マーカー生成部１６は、ビット深度取得部１ａ（図１（ａ）参照）から与えられたビット深度情報ＢＩに基づき、ＳＯＦマーカーセグメントに対してビット深度情報ＢＩと同じビット深度を設定し、設定したマーカー情報ＭＩを内部ＦＩＦＯ１８に出力する。そして、上記の連接データＤ２及びマーカー情報ＭＩが合わさって符号データ（つまり、画像復号化装置７により復号化されるデータ）Ｄ３として出力される。
【００５２】
ここで、ＤＣ係数差分値に対するハフマン符号の割り当て方法、及びＡＣ係数に対するハフマン符号の割り当て方法について説明する。以下では、一例として図８を用いて、８ビット深度の量子化データＤ１の輝度成分におけるＤＣ係数差分値及びＡＣ係数について説明する。
【００５３】
ＤＣ係数差分値は、その発生頻度を基に、割り当てられるグループ番号（図８（ｂ）のグループ番号）が予め定められている。図８（ｂ）の左端のグループ番号は、発生頻度が最も高いＤＣ係数差分値（「０」）に対し割り当てられるグループ番号であり、同図の右端のグループ番号は、発生頻度が最も低いＤＣ係数差分値（「−２０４７〜−１０２４」，「１０２４〜２０４７」）に対し割り当てられるグループ番号である。取得されたＤＣ係数差分値は、図８（ｂ）の１２個のグループ番号のうち何れかのグループ番号に割り当てられる。なお、図８（ａ）及び（ｃ）の各符号数、並びに図８（ｂ）及び（ｄ）の各グループ番号はそれぞれ１６進数表記となっている。例えば、図８（ｃ）の右端の「７Ｄ」が示す符号数は１２５個である。
【００５４】
図８（ａ）に示すように、上記１２個のグループ番号の各々に割り当てるべきハフマン符号のビット長の符号数が予め決められている。図８（ａ）の左端のブロックから右端のブロックにかけて順に、１ビット長であるハフマン符号の個数、２ビット長であるハフマン符号の個数、３ビット長であるハフマン符号の個数、・・・、及び１６ビット長であるハフマン符号の個数を示している。例えば、２ビット長のハフマン符号の個数は１個（つまり、「００」という１個のハフマン符号）であり、３ビット長のハフマン符号の個数は５個（つまり、「０１０」，「０１１」，「１００」，「１０１」，「１１０」という５個のハフマン符号）であることが定められている。
【００５５】
そして、図８（ｂ）の左端のグループ番号（つまり、発生頻度の最も高いＤＣ係数差分値に割り当てられたグループ番号）から右端のグループ番号（つまり、発生頻度の最も低いＤＣ係数差分値に割り当てられたグループ番号）に進むほど、ビット長が大きいハフマン符号が割り当てられる。これは圧縮効率を高めるためである。例えば、グループ番号「００」には、２ビット長のハフマン符号（つまり、「００」）が割り当てられる。なお、グループ番号「００」に、１ビット長のハフマン符号が割り当てられないのは、図８（ａ）の１ビット長のハフマン符号の個数が「００」（つまり、１０進数表記で「０」）個になっているためである。また、他の例で説明すると、図８（ｂ）のグループ番号「０１」には、３ビット長のハフマン符号（つまり、「０１０」）が割り当てられる。同図のグループ番号「０６」には、４ビット長のハフマン符号（つまり、「１１１０」）が割り当てられる。
【００５６】
図８（ａ）における、あるブロックに規定された符号数分のハフマン符号が全て割り当てられると、上記あるブロックの右側に位置するブロックに規定された符号数分のハフマン符号が割り当てられる。これを繰り返すことにより、図８（ｂ）の全てのグループ番号に対するハフマン符号の割り当てが完了する。各グループ番号に割り当てられる具体的なハフマン符号は、別のテーブル（図示せず）に予め定められている。本実施形態では、図８（ａ）及び（ｂ）のテーブルと、図８（ｂ）のグループ番号に対応するハフマン符号を格納する上記別のテーブルとを併せて、ＤＣ係数用ハフマンテーブルとする。
【００５７】
次に、ＡＣ係数に対するハフマン符号の割り当て方法について説明する。上述したように、ＡＣ係数についてのハフマン符号は、ゼロラン数とグループ番号との組み合わせ（ＲＲＲＲ／ＳＳＳＳ）に対して割り当てられる。
【００５８】
上記組み合わせ（ＲＲＲＲ／ＳＳＳＳ）は、その発生頻度を基に、割り当てられるグループ番号（図８（ｄ）のグループ番号を意味しており、上述したＡＣ係数のグループ番号ではない。）が予め定められている。図８（ｄ）の１行目の左端のグループ番号は、発生頻度が最も高い組み合わせに割り当てられるグループ番号であり、これ以降、グループ番号が右に位置するほど且つ下に位置するほど、割り当てられる組み合わせの発生頻度が低くなるように構成されている。取得された上記組み合わせは、図８（ｄ）の１６２個のグループ番号のうち何れかのグループ番号に割り当てられる。
【００５９】
図８（ｃ）に示すように、上記１６２個のグループ番号の各々に割り当てるべきハフマン符号のビット長の符号数が予め決められている。図８（ｃ）の左端のブロックから右端のブロックにかけて順に、１ビット長であるハフマン符号の個数、２ビット長であるハフマン符号の個数、３ビット長であるハフマン符号の個数、・・・、及び１６ビット長であるハフマン符号の個数を示している。例えば、２ビット長のハフマン符号の個数は２個（つまり、「００」及び「０１」）であり、３ビット長のハフマン符号の個数は１個（つまり、「１００」）であることが定められている。
【００６０】
そして、図８（ｄ）の左端のグループ番号（つまり、発生頻度の最も高い上記組み合わせに割り当てられたグループ番号）から、右に位置するグループ番号ほど且つ下に位置するグループ番号ほど、ビット長が大きいハフマン符号が割り当てられる。これは圧縮効率を高めるためである。例えば、グループ番号「０１」には、２ビット長のハフマン符号（つまり、「００」）が割り当てられる。また、グループ番号「０２」には、２ビット長のハフマン符号（つまり、「０１」）が割り当てられる。
【００６１】
図８（ｃ）における、あるブロックに規定された符号数分のハフマン符号が全て割り当てられると、上記あるブロックの右側に位置するブロックに規定された符号数分のハフマン符号が割り当てられる。これを繰り返すことにより、図８（ｄ）の全てのグループ番号に対するハフマン符号の割り当てが完了する。図８（ｄ）の各グループ番号に割り当てられる具体的なハフマン符号は、別のテーブル（図示せず）に予め定められている。本実施形態では、図８（ｃ）及び（ｄ）のテーブルと、図８（ｄ）のグループ番号に対応するハフマン符号を格納する上記別のテーブルとを併せて、ＡＣ係数用ハフマンテーブルとする。
【００６２】
本実施形態では、ハフマンテーブル記憶部３１には、図８（ａ）〜（ｄ）に示すテーブルのバリエーションとして、８ビット深度の量子化データＤ１の色差成分を符号化する際に用いるテーブル（図９（ａ）〜（ｄ）参照）と、１０ビット深度の量子化データＤ１の輝度成分を符号化する際に用いるテーブル（図１０（ａ）〜（ｄ）参照）と、１０ビット深度の量子化データＤ１の色差成分を符号化する際に用いるテーブル（図１１（ａ）〜（ｄ）参照）と、１２ビット深度の量子化データＤ１の輝度成分を符号化する際に用いるテーブル（図１２（ａ）〜（ｄ）参照）と、１２ビット深度の量子化データＤ１の色差成分を符号化する際に用いるテーブル（図１３（ａ）〜（ｄ）参照）と、が記憶される。なお、図９〜図１３の各テーブルの内容は、上述した図８の各テーブルと同様であるため、説明を省略する。
【００６３】
このように、ハフマンテーブル記憶部３１には、８ビット深度、１０ビット深度、及び１２ビット深度の量子化データＤ１を符号化する際のＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルが記憶されている。なお、８ビット深度用、１０ビット深度用及び１２ビット深度用の他に、９ビット深度用や１１ビット深度用のＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルを記憶させてもよい。
【００６４】
図５はハフマン符号化部６によるビット深度毎の符号化処理を示すフローチャートである。図５に示すように、ハフマン符号化部６は、量子化データＤ１のビット深度が８ビット深度であるか否かを判別する（ステップＳ１）。量子化データＤ１のビット深度が８ビット深度である場合（ステップＳ１でＹｅｓ）、ハフマン符号化部６は、８ビット深度用のＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルに基づき符号化処理を実行する（ステップＳ２）。
【００６５】
これに対して、量子化データＤ１のビット深度が８ビット深度でない場合（ステップＳ１でＮｏ）、ハフマン符号化部６は、量子化データＤ１のビット深度が１２ビット深度であるか否かを判別する（ステップＳ３）。量子化データＤ１のビット深度が１２ビット深度である場合（ステップＳ３でＹｅｓ）、ハフマン符号化部６は、１２ビット深度用のＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルに基づき符号化処理を実行する（ステップＳ４）。
【００６６】
一方、量子化データＤ１のビット深度が１２ビット深度でない場合（ステップＳ３でＮｏ）、例えば量子化データＤ１のビット深度が９ビット深度、１０ビット深度、及び１１ビット深度の何れかである場合、ハフマン符号化部６は、そのビット深度に対応するＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルに基づき符号化処理を実行する（ステップＳ５）。
【００６７】
次に、本実施形態に係る画像復号化装置７について説明する。図１（ｂ）に示すように、画像復号化装置７は、ハフマン復号化部８と、逆ジグザグスキャン部９と、逆量子化部１０と、逆ＤＣＴ部１１と、逆色空間変換部１２と、ハフマンテーブル記憶部３２と、量子化テーブル記憶部３３と、を備える。これらハフマン復号化部８、逆ジグザグスキャン部９、逆量子化部１０、逆ＤＣＴ部１１、及び逆色空間変換部１２は、画像復号化装置７が備えるＣＰＵがメモリに記憶された所定のプログラムを実行することで機能的に実現されてもよい。なお、画像復号化装置７は、符号データＤ３（図３参照）が有するヘッダ情報を解析することにより、当該符号データＤ３の構造を特定すると共に、符号データＤ３を復号化する際に必要なテーブルであって、ビット深度情報に応じて用いるべき量子化テーブル及びハフマンテーブルの各情報を取得するヘッダ解析部（図示せず）を備える。なお、後述のＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルは、上記ヘッダ解析部により取得された後、上記ハフマンテーブル記憶部３２に記憶される。本実施形態では、上記ＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルは、例えば８ビット深度、１０ビット深度及び１２ビット深度のうち何れかのビット深度に対応するものとする。
【００６８】
ハフマン復号化部８は少なくとも３種のビット深度の各々に対応するハフマンテーブルの解析機能を有する。具体的には、ハフマン復号化部８は、上記少なくとも３種のビット深度として、例えば８ビット深度、１０ビット深度及び１２ビット深度に対応するハフマンテーブルの解析機能を有する。これによって、ハフマン復号化部８は、入力される符号データＤ３に対し、ハフマンテーブル記憶部３２に記憶され、上記何れかのビット深度に対応するＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルに基づき復号化処理を行うことが可能となる。この復号化処理により、ＤＣ係数及びＡＣ係数が一次元配列された量子化データＤ４（図４参照）が生成される。ハフマン復号化部８は、符号データＤ３のビットストリームを順次処理して、これを量子化データＤ４のビットストリームに変換する。そして、ハフマン復号化部８は、量子化データＤ４を逆ジグザグスキャン部９に出力する。なお、ハフマン復号化部８の詳細な構成については後述する。
【００６９】
逆ジグザグスキャン部９は、与えられたビット深度情報に基づき演算バス幅を調整する。逆ジグザグスキャン部９は、ハフマン復号化部８により生成された復号データ（つまり量子化データ）に対して、上述の符号化処理で行われるジグザグスキャン処理の逆処理を実行する。符号化処理で行われるジグザグスキャン処理は、画素ブロック毎に二次元配列データである量子化データを一次元配列の量子化データに変換する処理である。したがって、逆ジグザグスキャン部９は、画素ブロック毎に上記ジグザグスキャン処理の逆処理を実行することにより、一次元配列の量子化データを二次元配列の量子化データに変換する。そして、逆ジグザグスキャン部９は量子化データを逆量子化部１０に出力する。
【００７０】
逆量子化部１０は、逆ジグザグスキャン部９からの量子化データに対して、量子化テーブル記憶部３３に記憶された、上記と同じ量子化テーブルに基づき逆量子化処理を実行することにより、上記量子化データを量子化前のデータ（つまりＤＣＴデータ）に変換する。符号化処理の際には、画像データを複数の画素ブロックに分割し、各画素ブロックの画像データに対して離散コサイン変換処理（いわゆるＤＣＴ処理）を施した後、量子化処理を実行する。したがって、逆量子化部１０は、画素ブロック毎に逆ジグザグスキャン部９から出力される量子化データをＤＣＴデータに変換する。この場合、逆量子化部１０は、上述したヘッダ解析部により抽出されたビット深度情報に応じた量子化テーブル（上述の符号化処理で用いられる量子化テーブルと同じもの）を量子化テーブル記憶部３３から読み出し、当該量子化テーブルを用いてＤＣＴデータを生成して逆ＤＣＴ部１１に出力する。
【００７１】
逆ＤＣＴ部１１は、与えられたビット深度情報に基づき演算バス幅を調整する。逆ＤＣＴ部１１は、逆量子化部１０からのＤＣＴデータに対して逆離散コサイン変換処理を実行することで、当該ＤＣＴデータを離散コサイン変換前のデータに変換する。すなわち、逆ＤＣＴ部１１は、上記ＤＣＴデータ（つまり、周波数成分のデータ）を、画像信号からなる画像データに変換する。そして、逆ＤＣＴ部１１は、変換後の画像データを逆色空間変換部１２に出力する。逆色空間変換部１２は、逆ＤＣＴ部１１からの画像データの色空間をＹＵＶからＲＧＢに変換し、色空間変換後の画像データを外部に出力する。
【００７２】
次に、ハフマン復号化部８の構成について説明する。図４に示すように、ハフマン復号化部８は、符号入力部２０と、内部バッファ２１と、符号解析部２２と、マーカー解析部２３と、周波数変換部２４とを備える。
【００７３】
符号入力部２０は、外部装置（例えば画像符号化装置１）から符号データＤ３を受信し、受信した符号データＤ３を内部バッファ２１に出力する。内部バッファ２１は、符号入力部２０からの符号データＤ３を一時的に蓄えて、符号解析部２２及びマーカー解析部２３に出力する。符号解析部２２は、符号データＤ３の画像成分を構成するハフマン符号及び付加ビットを解析し、当該解析結果からゼロラン数ＲＲＲＲ及びグループ番号ＳＳＳＳを取得し、周波数変換部２４に出力する。
【００７４】
マーカー解析部２３は、符号データＤ３のヘッダ情報に係るＳＯＦマーカーセグメントに対して設定されたビット深度を解析し、解析結果であるビット深度を示すマーカー情報ＭＩを逆ジグザグスキャン部９、逆量子化部１０、及び逆ＤＣＴ部１１に出力する。周波数変換部２４は、上記と同じＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルを用いて、符号解析部２２から与えられたゼロラン数及びグループ番号を基に、ＤＣ係数及びＡＣ係数が一次元配列された量子化データ（復号データ）Ｄ４を生成し、逆ジグザグスキャン部９に出力する。
【００７５】
図６はハフマン復号化部８によるビット深度毎の復号化処理を示すフローチャートである。図６に示すように、ハフマン復号化部８は、符号データＤ３のビット深度が８ビット深度であるか否かを判別する（ステップＳ１１）。符号データＤ３のビット深度が８ビット深度である場合（ステップＳ１１でＹｅｓ）、ハフマン復号化部８は、８ビット深度用のＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルに基づき復号化処理を実行する（ステップＳ１２）。
【００７６】
これに対して、符号データＤ３のビット深度が８ビット深度でない場合（ステップＳ１１でＮｏ）、ハフマン復号化部８は、符号データＤ３のビット深度が１２ビット深度であるか否かを判別する（ステップＳ１３）。符号データＤ３のビット深度が１２ビット深度である場合（ステップＳ１３でＹｅｓ）、ハフマン復号化部８は、１２ビット深度用のＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルに基づき復号化処理を実行する（ステップＳ１４）。
【００７７】
一方、符号データＤ３のビット深度が１２ビット深度でない場合（ステップＳ１３でＮｏ）、例えば、符号データＤ３のビット深度が９ビット深度、１０ビット深度、及び１１ビット深度の何れかである場合、ハフマン復号化部８は、そのビット深度に対応するＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルに基づき復号化処理を実行する（ステップＳ１５）。
【００７８】
以上のように、本実施形態の画像符号化装置１においては、ハフマンテーブル記憶部３１に少なくとも３種のビット深度の各々に対応した３つのハフマンテーブルが記憶されているので、ハフマン符号化部６により、ＳＯＦマーカーセグメントに設定されたビット深度と同じビット深度に対応するハフマンテーブルに基づき画像成分を符号化することが可能となる。これによって、画像データが少なくとも３種のビット深度のうち何れかのビット深度である場合、例えば、画像データが８ビット深度、１０ビット深度及び１２ビット深度のうち何れかのビット深度である場合には、その画像データのビット深度と同じビット深度としての演算処理を行うことができる。これにより、演算量が必要以上に増えないので、必要以上の電力を消費することなく符号化処理を実行することができる。
【００７９】
また、本実施形態の画像符号化装置１においては、量子化部４により、ＳＯＦマーカーセグメントに設定されたビット深度と同じビット深度に対応する量子化テーブルが選択されて量子化処理が実行される。このことによって、入力される画像データのビット深度に応じた最適な量子化処理を行うことができる。これにより、後工程の符号化処理による圧縮性が高まる。
【００８０】
さらに、本実施形態の画像符号化装置１においては、８ビット深度、１２ビット深度、及び１０ビット深度用の量子化テーブルとハフマンテーブル（ＤＣ係数用ハフマンテーブル及びＡＣ係数及びＡＣ係数用ハフマンテーブル）とが記憶されているので、８ビット深度の画像データを８ビット深度として符号化する場合、及び１２ビット深度の画像データを１２ビット深度として符号化する場合のみならず、画像データが１０ビット深度である場合にも、１０ビット深度として符号化処理を行うことができる。
【００８１】
一方、本実施形態の画像復号化装置７においては、ハフマン復号化部８がＳＯＦマーカーセグメントから解析されたビット深度（例えば、８ビット深度、１０ビット深度及び１２ビット深度の何れかのビット深度）に対応するハフマンテーブルの解析機能を有するので、ハフマンテーブル記憶部３２に記憶された上記ハフマンテーブルに基づき符号データＤ３を復号化することが可能となる。これによって、符号データＤ３が少なくとも３種のビット深度のうち何れかのビット深度である場合、例えば、符号データが８ビット深度、１０ビット深度及び１２ビット深度のうち何れかのビット深度である場合には、その符号データＤ３のビット深度と同じビット深度としての演算処理を行うことができる。これにより、演算量が必要以上に増えないので、必要以上の電力を消費することなく復号化処理を実行することができる。
【００８２】
また、本実施形態の画像復号化装置７においては、逆量子化部１０により、ＳＯＦマーカーセグメントから解析されたビット深度と同じビット深度に対応する量子化テーブルが選択されて逆量子化処理が実行される。これにより、入力される符号データＤ３のビット深度に応じた最適な逆量子化処理を行うことができる。
【００８３】
さらに、本実施形態の画像復号化装置７においては、８ビット深度、１２ビット深度、及び１０ビット深度用の量子化テーブルが量子化テーブル記憶部３３に記憶され、また、ハフマン復号化部８が８ビット深度、１０ビット深度及び１２ビット深度に対応するハフマンテーブルの解析機能を有するので、８ビット深度の符号データＤ３を８ビット深度として復号化する場合、及び１２ビット深度の符号データＤ３を１２ビット深度として復号化する場合のみならず、符号データＤ３が１０ビット深度である場合にも、１０ビット深度として復号化処理を行うことができる。
【００８４】
以上、本発明の一実施形態に係る画像符号化装置１及び画像復号化装置７について説明したが、画像符号化装置１及び画像復号化装置７はこれに限定されるものではなく、次のような変形例を適用することができる。
【００８５】
上記実施形態では、ハフマンテーブル記憶部３１に、８ビット深度、１０ビット深度、及び１２ビット深度の量子化データＤ１を符号化する際のＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルを記憶させる構成としたが、これに限定されるものではなく、１０ビット深度用に加えて、又は１０ビット深度用の代わりに、９ビット深度用や１１ビット深度用のＤＣ係数用ハフマンテーブル及びＡＣ係数用ハフマンテーブルを記憶させるようにしてもよい。ハフマンテーブル記憶部３２についても同様である。
【００８６】
また、上記実施形態では、画像符号化装置１及び画像復号化装置７の各構成要素を機能的に構成する例について説明したが、これに限定されるものではなく、画像符号化装置１及び画像復号化装置７の各構成要素の一部又は全部をハードウェアにより構成してもよい。
【符号の説明】
【００８７】
１    画像符号化装置
１ａ  ビット深度取得部
２    色空間変換部
３    ＤＣＴ部
４    量子化部
５    ジグザグスキャン部
６    ハフマン符号化部
７    画像復号化装置
８    ハフマン復号化部
９    逆ジグザグスキャン部
１０  逆量子化部
１１  逆ＤＣＴ部
１２  逆色空間変換部
１３  グループ番号変換部
１４  付加ビット変換部
１５  ゼロラン変換部
１６  マーカー生成部
１７  連接部
１８  内部ＦＩＦＯ
２０  符号入力部
２１  内部バッファ
２２  符号解析部
２３  マーカー解析部
２４  周波数変換部
３０  量子化テーブル記憶部
３１  ハフマンテーブル記憶部
３２  ハフマンテーブル記憶部
３３  量子化テーブル記憶部
Ｄ１  量子化データ
Ｄ３  符号データ
Ｄ４  量子化データ
【図１】
2018056670.tif 000003
【図２】
2018056670.tif 000004
【図３】
2018056670.tif 000005
【図４】
2018056670.tif 000006
【図５】
2018056670.tif 000007
【図６】
2018056670.tif 000008
【図７】
2018056670.tif 000009
【図８】
2018056670.tif 000010
【図９】
2018056670.tif 000011
【図１０】
2018056670.tif 000012
【図１１】
2018056670.tif 000013
【図１２】
2018056670.tif 000014
【図１３】
2018056670.tif 000015