(57)【要約】      （修正有）【課題】長方形の直交変換に対応した量子化マトリクスの生成を行い、変換係数を量子化する装置および方法を提供する。【解決手段】Ｎ×Ｎ（Ｎは正の整数）のサイズを有する第１の量子化マトリクスから、Ｐ×Ｑのサイズ（Ｐ，Ｑは、Ｐ＜Ｎ＜ＱあるいはＱ＜Ｎ＜Ｐを満たす正の整数）を有する第２の量子化マトリクスを生成する。Ｐ×Ｑのサイズに対応するサイズのサブブロック内の変換係数を第２の量子化マトリクスを用いて量子化する。【選択図】図３
2020098983.tif 000002
【特許請求の範囲】
【請求項１】
画像を符号化する画像符号化装置であって、
Ｎ×Ｎ（Ｎは正の整数）のサイズを有する第１の量子化マトリクスから、Ｐ×Ｑのサイズ（Ｐ，Ｑは、Ｐ＜Ｎ＜ＱあるいはＱ＜Ｎ＜Ｐを満たす正の整数）を有する第２の量子化マトリクスを生成する生成手段と、
前記Ｐ×Ｑのサイズに対応するサイズのサブブロック内の変換係数を前記第２の量子化マトリクスを用いて量子化する量子化手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記生成手段は、前記第２の量子化マトリクス中の（２ｍ、ｎ）（ｍ、ｎは整数）における要素および（２ｍ＋１、ｎ）における要素に、前記第１の量子化マトリクス中の（ｍ、２ｎ）における要素を設定することで前記第２の量子化マトリクスを生成することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記生成手段は、前記第２の量子化マトリクス中の（ｍ、２ｎ）（ｍ、ｎは整数）における要素および（ｍ、２ｎ＋１）における要素に、前記第１の量子化マトリクス中の（２ｍ、ｎ）における要素を設定することで前記第２の量子化マトリクスを生成することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記生成手段は、前記第２の量子化マトリクス中の（２ｍ、ｎ）（ｍ、ｎは整数）における要素および（２ｍ＋１、ｎ）における要素に、前記第１の量子化マトリクス中の（ｍ、２ｎ＋１）における要素を設定することで前記第２の量子化マトリクスを生成することを特徴とする請求項１に記載の画像符号化装置。
【請求項５】
前記生成手段は、前記第２の量子化マトリクス中の（ｍ、２ｎ）（ｍ、ｎは整数）における要素および（ｍ、２ｎ＋１）における要素に、前記第１の量子化マトリクス中の（２ｍ＋１、ｎ）における要素を設定することで前記第２の量子化マトリクスを生成することを特徴とする請求項１に記載の画像符号化装置。
【請求項６】
前記生成手段は、前記第１の量子化マトリクスから前記第２の量子化マトリクスを生成する際、前記第１の量子化マトリクスの各行の要素から補間を行うことによって行方向の拡大を行い、前記第１の量子化マトリクスを１列おきに間引くことにより、前記第２の量子化マトリクスを生成することを特徴とする請求項１に記載の画像符号化装置。
【請求項７】
前記生成手段は、前記第１の量子化マトリクスから前記第２の量子化マトリクスを生成する際、前記第１の量子化マトリクスの各列の要素から補間を行うことによって列方向の拡大を行い、前記第１の量子化マトリクスを１行おきに間引くことにより、前記第２の量子化マトリクスを生成することを特徴とする請求項１に記載の画像符号化装置。
【請求項８】
前記生成手段は、直交変換の種類に応じて前記第２の量子化マトリクスの生成方法を切り替えることを特徴とする請求項１乃至７の何れか１項に記載の画像符号化装置。
【請求項９】
更に、
前記第１の量子化マトリクスを符号化する手段と、
前記画像の符号化データと前記第１の量子化マトリクスの符号化データとを含むビットストリームを出力する手段と
を備えることを特徴とする請求項１乃至８の何れか１項に記載の画像符号化装置。
【請求項１０】
符号化された画像を復号する画像復号装置であって、
Ｎ×Ｎ（Ｎは正の整数）のサイズを有する第１の量子化マトリクスから、Ｐ×Ｑのサイズ（Ｐ，Ｑは、Ｐ＜Ｎ＜ＱあるいはＱ＜Ｎ＜Ｐを満たす正の整数）を有する第２の量子化マトリクスを生成する生成手段と、
前記Ｐ×Ｑのサイズに対応するサイズのサブブロック内の量子化された変換係数を、前記第２の量子化マトリクスを用いて逆量子化する逆量子化手段と
を備えることを特徴とする画像復号装置。
【請求項１１】
画像を符号化する画像符号化装置が行う画像符号化方法であって、
前記画像符号化装置の生成手段が、Ｎ×Ｎ（Ｎは正の整数）のサイズを有する第１の量子化マトリクスから、Ｐ×Ｑのサイズ（Ｐ，Ｑは、Ｐ＜Ｎ＜ＱあるいはＱ＜Ｎ＜Ｐを満たす正の整数）を有する第２の量子化マトリクスを生成する生成工程と、
前記画像符号化装置の量子化手段が、前記Ｐ×Ｑのサイズに対応するサイズのサブブロック内の変換係数を前記第２の量子化マトリクスを用いて量子化する量子化工程と
を備えることを特徴とする画像符号化方法。
【請求項１２】
符号化された画像を復号する画像復号装置が行う画像復号方法であって、
前記画像復号装置の生成手段が、Ｎ×Ｎ（Ｎは正の整数）のサイズを有する第１の量子化マトリクスから、Ｐ×Ｑのサイズ（Ｐ，Ｑは、Ｐ＜Ｎ＜ＱあるいはＱ＜Ｎ＜Ｐを満たす正の整数）を有する第２の量子化マトリクスを生成する生成工程と、
前記画像復号装置の逆量子化手段が、前記Ｐ×Ｑのサイズに対応するサイズのサブブロック内の量子化された変換係数を、前記第２の量子化マトリクスを用いて逆量子化する逆量子化工程と
を備えることを特徴とする画像復号方法。
【請求項１３】
コンピュータを請求項１乃至９の何れか１項に記載の画像符号化装置の各手段として機能させるためのコンピュータプログラム。
【請求項１４】
コンピュータを請求項１０に記載の画像復号装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の符号化技術および復号技術に関するものである。
【背景技術】
【０００２】
動画像の圧縮記録の符号化方式として、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＨＥＶＣと記す）が知られている。ＨＥＶＣでは符号化効率向上のため、従来のマクロブロック（１６画素×１６画素）より大きなサイズの基本ブロックが採用された。この大きなサイズの基本ブロックはＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）と呼ばれ、そのサイズは最大６４画素×６４画素である。ＣＴＵはさらに予測や変換を行う単位となるサブブロックに分割される。
【０００３】
また、ＨＥＶＣにおいては、量子化マトリクスと呼ばれる、直交変換を施した後の係数（以下、直交変換係数と記す）を、周波数成分に応じて重み付けをする為のマトリクスが用いられている。人間の視覚には劣化が目立ちにくい高周波成分のデータをより削減することで、画質を維持しながら圧縮効率を高めることが可能となっている。特許文献１には、このような量子化マトリクスを符号化する技術が開示されている。
【０００４】
近年、ＨＥＶＣの後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。ＪＶＥＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｅｘｐｅｒｔｓ  Ｔｅａｍ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立され、ＶＶＣ（Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＶＶＣ）として標準化が進められている。符号化効率向上のため、従来の正方形サブブロックベースのイントラ予測・直交変換方法に加え、長方形サブブロックベースのイントラ予測・直交変換方法が検討されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−３８７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＶＶＣにおいても、ＨＥＶＣと同様に量子化マトリクスの導入が検討されている。さらにＶＶＣでは、正方形だけでなく長方形のサブブロック分割およびそれに対応した直交変換の形状が検討されている。それぞれの直交変換係数の分布は直交変換の形状によって異なるため、直交変換の形状に応じて最適な量子化マトリクスを適用することが望ましい。しかしながら、全ての直交変換形状に対して個別の量子化マトリクスを定義すると、量子化マトリクスの符号量が不必要に増大する。本発明では、長方形の直交変換に対応した量子化マトリクスの生成技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の一様態は、画像を符号化する画像符号化装置であって、Ｎ×Ｎ（Ｎは正の整数）のサイズを有する第１の量子化マトリクスから、Ｐ×Ｑのサイズ（Ｐ，Ｑは、Ｐ＜Ｎ＜ＱあるいはＱ＜Ｎ＜Ｐを満たす正の整数）を有する第２の量子化マトリクスを生成する生成手段と、前記Ｐ×Ｑのサイズに対応するサイズのサブブロック内の変換係数を前記第２の量子化マトリクスを用いて量子化する量子化手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明の構成によれば、長方形の直交変換に対応した量子化マトリクスの生成技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】画像符号化装置の機能構成例を示すブロック図。
【図２】画像復号装置の機能構成例を示すブロック図。
【図３】入力画像および量子化マトリクスの符号化処理のフローチャート。
【図４】ビットストリームの復号処理のフローチャート。
【図５】コンピュータ装置のハードウェア構成例を示すブロック図。
【図６】ビットストリームの構成例を示す図。
【図７】分割方法の一例を示す図。
【図８】オリジナル量子化マトリクスの一例を示す図。
【図９】量子化マトリクスの一例を示す図。
【図１０】量子化マトリクスの一例を示す図。
【図１１】（ａ）は走査方法を示す図、（ｂ）は差分行列１０００を示す図。
【図１２】符号化テーブルの構成例を示す図。
【図１３】量子化マトリクスの一例を示す図。
【図１４】量子化マトリクスの一例を示す図。
【図１５】量子化マトリクスの一例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の１つである。
【００１１】
［第１の実施形態］
先ず、本実施形態に係る画像符号化装置の機能構成例について、図１のブロック図を用いて説明する。制御部１９９は、画像符号化装置全体の動作制御を行う。ブロック分割部１０２は、入力画像（動画像を構成する各フレームの画像もしくは静止画像）を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロック（分割画像）を出力する。
【００１２】
生成部１０３は、Ｎ×Ｎのサイズを有する量子化マトリクス（行方向にＮ個の要素、列方向にＮ個の要素を有する量子化マトリクス）をオリジナル量子化マトリクスとする。そして生成部１０３は、このオリジナル量子化マトリクスから、直交変換単位となるサブブロックの画素分のサイズ（Ｐ×Ｑ）を有する量子化マトリクスを生成する。ここで、Ｐ，Ｑは、正の整数でＰ≠Ｑである。
【００１３】
予測部１０４は、基本ブロックごとに、該基本ブロックを複数のサブブロック（分割画像）に分割する。そして予測部１０４は、サブブロックごとに、フレーム内予測であるイントラ予測やフレーム間予測であるインター予測等を行って予測画像を生成し、入力画像と該予測画像との差分を予測誤差として求める。また予測部１０４は、基本ブロックをどのようにサブブロックに分割したのかを示す情報、予測モード、動きベクトル等の予測に必要な情報を予測情報として生成する。
【００１４】
変換・量子化部１０５は、サブブロックごとの予測誤差を直交変換することで、サブブロックごとの変換係数を生成する。そして変換・量子化部１０５はそれぞれのサブブロックについて、該サブブロックのサイズに応じた量子化マトリクスを生成部１０３から取得し、該量子化マトリクスを用いて該サブブロック内の変換係数を量子化することで該サブブロックの量子化係数を生成する。
【００１５】
逆量子化・逆変換部１０６は、変換・量子化部１０５により生成されたそれぞれのサブブロックの量子化係数を、該サブブロックの量子化に用いた量子化マトリクスを用いて逆量子化して変換係数を生成し、該変換係数を逆直交変換して予測誤差を生成する。
【００１６】
画像再生部１０７は、予測部１０４が生成した予測情報に基づいて、フレームメモリ１０８に格納されている符号化の処理済の画像データから予測画像を生成し、該予測画像と、逆量子化・逆変換部１０６が生成した予測誤差と、から画像を再生する。そして画像再生部１０７は、該再生した画像をフレームメモリ１０８に格納する。フレームメモリ１０８に格納されている画像データは、予測部１０４が現フレームあるいは次のフレームの画像について予測を行う際に参照される画像データとなる。
【００１７】
インループフィルタ部１０９は、フレームメモリ１０８に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
【００１８】
符号化部１１０は、変換・量子化部１０５により生成された量子化係数と、予測部１０４により生成された予測情報と、を符号化して符号化データを生成する。量子化マトリクス符号化部１１３は、オリジナル量子化マトリクスを符号化して符号化データを生成する。
【００１９】
統合符号化部１１１は、量子化マトリクス符号化部１１３により生成された符号化データを用いてヘッダ符号データを生成し、符号化部１１０により生成された符号化データと、該ヘッダ符号データと、を含むビットストリームを生成して出力する。
【００２０】
次に、本実施形態に係る画像符号化装置の動作について説明する。なお、本実施形態では、説明を容易にするため、入力画像のイントラ予測符号化処理について説明するが、これに限定されず、入力画像のインター予測符号化処理にも適用可能である。また本実施形態では、基本ブロックの量子化マトリクスのサイズを１６×１６の要素を有するサイズとするが、基本ブロックのサイズは１６×１６に限らない。本実施形態では、上記の符号化処理においては、変換・量子化部１０５や逆量子化・逆変換部１０６による処理の開始時には量子化マトリクスが用意されている必要がある。
【００２１】
先ず、量子化マトリクスの生成および符号化について説明する。オリジナル量子化マトリクスの一例を図８に示す。図８のオリジナル量子化マトリクス８００は、８×８の直交変換係数に対応する量子化マトリクスの一例である。オリジナル量子化マトリクスを構成する各要素の要素値の決定方法は特に限定しない。例えば、オリジナル量子化マトリクスを構成する各要素の要素値として規定の初期値を用いても良いし、該各要素の要素値を個別に設定しても良い。またオリジナル量子化マトリクスは、画像の特性に応じて生成されても構わない。
【００２２】
本実施形態では、生成部１０３は、このようなオリジナル量子化マトリクス８００から、他の直交変換の大きさ（つまり分割するサブブロックのサイズ）に対応する量子化マトリクスを生成する。本実施形態では、生成部１０３は、図８のオリジナル量子化マトリクス８００から、図９（ａ）、９（ｂ），図１０（ａ）、１０（ｂ）のそれぞれに示す長方形形状の量子化マトリクス９０１，９０２，１００１，１００２を生成する。なお、図９（ｂ）、図１０（ｂ）の量子化マトリクス９０２、１００２は、オリジナル量子化マトリクスのサイズをＮＸＮとしたときに生成される量子化マトリクスのサイズＰＸＱとしたとき、Ｐ，Ｑは、Ｐ＜Ｎ＜ＱあるいはＱ＜Ｎ＜Ｐを満たす正の整数となる。
【００２３】
図９（ａ）に示す量子化マトリクス９０１は、８×１６の直交変換係数に対応する量子化マトリクスである。量子化マトリクス９０１は、該量子化マトリクス９０１中（量子化マトリクス中）の位置（行、列）＝（２ｍ、ｎ）および位置（行、列）＝（２ｍ＋１、ｎ）に、オリジナル量子化マトリクス８００中の位置（行、列）＝（ｍ、ｎ）の要素を配置したものである。ここで、ｍ、ｎは０以上の整数である。
【００２４】
図１０（ａ）に示す量子化マトリクス１００１は、１６×８の直交変換係数に対応する量子化マトリクスである。量子化マトリクス１００１は、該量子化マトリクス１００１中の位置（行、列）＝（ｍ、２ｎ）および位置（行、列）＝（ｍ、２ｎ＋１）に、オリジナル量子化マトリクス８００中の位置（行、列）＝（ｍ、ｎ）の要素を配置したものである。
【００２５】
図９（ｂ）に示す量子化マトリクス９０２は、４×１６の直交変換係数に対応する量子化マトリクスである。量子化マトリクス９０２は、該量子化マトリクス９０２中の位置（行、列）＝（２ｍ、ｎ）および位置（行、列）＝（２ｍ＋１、ｎ）に、オリジナル量子化マトリクス８００中の位置（行、列）＝（ｍ、２ｎ）の要素を配置したものである。
【００２６】
図１０（ｂ）に示す量子化マトリクス１００２は、１６×４の直交変換係数に対応する量子化マトリクスである。量子化マトリクス１００２は、該量子化マトリクス１００２中の位置（行、列）＝（ｍ、２ｎ）および位置（行、列）＝（ｍ、２ｎ＋１）に、オリジナル量子化マトリクス８００中の位置（行、列）＝（２ｍ、ｎ）の要素を配置したものである。
【００２７】
このように、本実施形態では、生成部１０３は、オリジナル量子化マトリクス８００から量子化マトリクス９０１，９０２，１００１，１００２を生成して保持する。これにより、分割した長方形形状のサブブロックのサイズが８×１６、１６×８、１６×４、４×１６の何れのサイズであっても、対応するサイズの量子化マトリクスは生成済みであるから、該サブブロックの量子化／逆量子化を行うことができる。特に、図９（ｂ）、図１０（ｂ）の量子化マトリクス９０２、１００２について、オリジナル量子化マトリクスから、ある方向に関しては拡大し、もう一方の方向に関しては縮小して（１行／１列おきに間引いて）生成される。これは、オリジナル量子化マトリクスから単純縮小して生成される場合よりもオリジナル量子化マトリクスのデータ量を削減でき、かつオリジナル量子化マトリクスから単純拡大して生成される場合よりも画質の劣化を抑制することが可能となる。然るに、rate-distortionのバランスがとれた結果が期待できる。
【００２８】
そして生成部１０３は、このようにして生成したオリジナル量子化マトリクス８００および量子化マトリクス９０１，９０２，１００１，１００２を二次元の形状で保持する。なお、後述の予測方法、例えばイントラ予測を用いるかインター予測を用いるかによって、あるいは符号化対象が輝度ブロックか色差ブロックかによって、同じ大きさの直交変換に対して複数の量子化マトリクスを保持することも可能である。一般的に、量子化マトリクスは人間の視覚特性に応じた量子化処理を実現するため、図８〜１０に示すように量子化マトリクスの左上部分に相当する低周波部分の要素は小さく、右下部分に相当する高周波部分の要素は大きくなっている。
【００２９】
量子化マトリクス符号化部１１３は、二次元形状で保持されている量子化マトリクスを生成部１０３から取得し、各要素を走査して差分を計算し、計算順に該差分を一次元的に並べた一次元の行列（差分行列）を生成する。そして量子化マトリクス符号化部１１３は、該生成した差分行列を符号化して符号化データを生成する。
【００３０】
本実施形態では、図９，１０に示した量子化マトリクスはオリジナル量子化マトリクス８００から上記のようにして生成可能であるため、量子化マトリクス符号化部１１３は、オリジナル量子化マトリクス８００のみを符号化する。具体的には、図１１（ａ）に矢印で示された順序で各要素を走査する走査方法に従って、オリジナル量子化マトリクス８００の要素ごとに走査順に直前の要素との差分を計算する。例えば、オリジナル量子化マトリクス８００は図１１（ａ）で示された対角線スキャンによって走査されるが、左上隅に位置する最初の要素「６」の次はそのすぐ下に位置する要素「９」が走査され、差分である「＋３」が計算される。また、オリジナル量子化マトリクス８００の最初の要素（本実施形態では「６」）の符号化には、所定の初期値（例えば「８」）との差分を計算するものとするが、これに限らず、任意の値との差分や、最初の要素の値そのものを差分として用いても良い。
【００３１】
このようにして、本実施形態では、量子化マトリクス符号化部１１３は、図１１（ａ）の走査方法を用いてオリジナル量子化マトリクス８００から図１１（ｂ）に示す差分行列１０００を生成する。そして量子化マトリクス符号化部１１３は、差分行列１０００を符号化して符号化データを生成する。本実施形態では図１２（ａ）に示される符号化テーブルを用いて符号化するものとするが、符号化テーブルはこれに限定されず、例えば図１２（ｂ）に示される符号化テーブルを用いても良い。
【００３２】
本実施形態では、オリジナル量子化マトリクス８００および量子化マトリクス９０１，９０２，１００１，１００２のうちオリジナル量子化マトリクス８００のみを符号化しているため、長方形形状の量子化マトリクスに対する符号量を削減することができる。また、生成される量子化マトリクスの形状によらず、図１１（ａ）に示す１種類の走査方法のみを用いて符号化することにより、図１１（ａ）の走査方法を実装するためのテーブルを１つのみに限定し、メモリを節約することができる。
【００３３】
統合符号化部１１１は、後述する画像の復号に必要なヘッダ情報を符号化し、該ヘッダ情報と、量子化マトリクス符号化部１１３によって生成された量子化マトリクスの符号化データと、を統合する。
【００３４】
次に、入力画像の符号化について説明する。ブロック分割部１０２は、入力画像を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロックを出力する。予測部１０４は、基本ブロックを複数のサブブロックに分割する分割方法を決定する。基本ブロックを複数のサブブロックに分割する分割方法の一例を図７に示す。
【００３５】
図７（ｂ）は、サブブロック分割方法（四分木分割）を示している。つまり図７（ｂ）は、基本ブロック７００を水平方向および垂直方向に２等分することで該基本ブロック７００を４つのサブブロック（１つのサブブロックのサイズは８×８画素分のサイズ）に分割する分割方法（分割パターン）を示している。一方、図７（ｃ）〜（ｆ）は、基本ブロック７００を長方形のサブブロックに分割するサブブロック分割方法を示している。
【００３６】
図７（ｃ）は、基本ブロック７００を垂直方向に２等分に分割することで該基本ブロック７００を２つの縦長のサブブロック（１つのサブブロックのサイズは８×１６画素分のサイズ）に分割する分割方法を示している。
【００３７】
図７（ｄ）は、基本ブロック７００を水平方向に２等分に分割することで該基本ブロック７００を２つの横長のサブブロック（１つのサブブロックのサイズは１６×８画素分のサイズ）に分割する分割方法を示している。
【００３８】
図７（ｅ）は、基本ブロック７００を垂直方向に分割して得られる３つの縦長のサブブロック（左から４×１６画素分のサブブロック、８×１６画素分のサブブロック、４×１６画素分のサブブロック）を示している（三分木分割）。
【００３９】
図７（ｆ）は、基本ブロック７００を水平方向に分割して得られる３つの横長のサブブロック（上から１６×４画素分のサブブロック、１６×８画素分のサブブロック、１６×４画素分のサブブロック）を示している（三分木分割）。
【００４０】
本実施形態では、図７（ｂ）〜（ｆ）に示した分割方法（分割パターン）の何れかを用いるものとするが、図７（ｂ）〜（ｆ）に限らない。なお、図７（ａ）に示す如く、基本ブロック７００を分割せずに、基本ブロック７００をサブブロックとしても構わない。
【００４１】
また予測部１０４は、例えば、サブブロック単位で水平予測や垂直予測などのイントラ予測モードを決定する。そして予測部１０４は基本ブロックごとに、決定した分割方法に従って該基本ブロックを複数のサブブロックに分割する。そして予測部１０４は、サブブロックごとに、フレームメモリ１０８内の画像を用いて、決定したイントラ予測モードに従って予測を行うことで予測画像を生成し、入力画像と該予測画像との差分を予測誤差として求める。また予測部１０４は、サブブロック分割方法（分割パターン）を示す情報、イントラ予測モード、動きベクトル等の予測に必要な情報を予測情報として生成する。
【００４２】
変換・量子化部１０５は、サブブロックごとの予測誤差を直交変換することで、サブブロックごとの変換係数を生成する。そして変換・量子化部１０５はそれぞれのサブブロックについて、該サブブロックのサイズに応じた量子化マトリクスを生成部１０３から取得し、該量子化マトリクスを用いて該サブブロックの変換係数を量子化することで該サブブロックの量子化係数を生成する。
【００４３】
変換・量子化部１０５は、８画素×８画素のサブブロックの変換係数の量子化を行う場合には、オリジナル量子化マトリクス８００を生成部１０３から取得し、該取得したオリジナル量子化マトリクス８００を用いて該変換係数の量子化を行う。
【００４４】
変換・量子化部１０５は、８画素×１６画素のサブブロックの変換係数の量子化を行う場合には、量子化マトリクス９０１を生成部１０３から取得し、該取得した量子化マトリクス９０１を用いて該変換係数の量子化を行う。
【００４５】
変換・量子化部１０５は、１６画素×８画素のサブブロックの変換係数の量子化を行う場合には、量子化マトリクス１００１を生成部１０３から取得し、該取得した量子化マトリクス１００１を用いて該変換係数の量子化を行う。
【００４６】
変換・量子化部１０５は、４画素×１６画素のサブブロックの変換係数の量子化を行う場合には、量子化マトリクス９０２を生成部１０３から取得し、該取得した量子化マトリクス９０２を用いて該変換係数の量子化を行う。
【００４７】
変換・量子化部１０５は、１６画素×４画素のサブブロックの変換係数の量子化を行う場合には、量子化マトリクス１００２を生成部１０３から取得し、該取得した量子化マトリクス１００２を用いて該変換係数の量子化を行う。
【００４８】
逆量子化・逆変換部１０６は、変換・量子化部１０５により生成されたそれぞれのサブブロックの量子化係数を、該サブブロックの量子化に用いた量子化マトリクスを用いて逆量子化して変換係数を生成し、該変換係数を逆直交変換して予測誤差を生成する。
【００４９】
画像再生部１０７は、予測部１０４が生成した予測情報に基づいて、フレームメモリ１０８に格納されている処理済の画像から予測画像を生成し、該予測画像と、逆量子化・逆変換部１０６が生成した予測誤差と、から画像を再生する。そして画像再生部１０７は、該再生した画像をフレームメモリ１０８に格納する。
【００５０】
インループフィルタ部１０９は、フレームメモリ１０８に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
【００５１】
符号化部１１０は、変換・量子化部１０５により生成された量子化係数（量子化された変換係数）と、予測部１０４により生成された予測情報と、をエントロピー符号化して符号化データを生成する。エントロピー符号化の方法は特定の方法に限らず、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。
【００５２】
統合符号化部１１１は、量子化マトリクス符号化部１１３により生成された符号化データを用いてヘッダ符号データを生成し、符号化部１１０により生成された符号化データと、該ヘッダ符号データと、を多重化してビットストリームを生成する。そして統合符号化部１１１は、該生成したビットストリームを出力する。
【００５３】
ビットストリームの構成例を図６（ａ）に示す。シーケンスヘッダには、オリジナル量子化マトリクス８００に対応する符号データが含まれ、各要素の符号化結果で構成されている。ただし、符号化される位置はこれに限定されず、ピクチャヘッダやその他のヘッダに符号化される構成をとっても構わない。また、１つのシーケンスの中で量子化マトリクスの変更を行う場合、量子化マトリクスを新たに符号化することで更新することも可能である。その際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスの変換ブロックサイズを指定することでその一部を変更するようにすることも可能である。
【００５４】
以上説明した画像符号化装置による入力画像および量子化マトリクスの符号化処理について、図３のフローチャートに従って説明する。ステップＳ３０１では、生成部１０３は、オリジナル量子化マトリクス８００を生成し、該オリジナル量子化マトリクス８００から上記の量子化マトリクス９０１，９０２，１００１，１００２を生成する。
【００５５】
ステップＳ３０２では、量子化マトリクス符号化部１１３は、オリジナル量子化マトリクス８００の各要素を図１１（ａ）の走査方法に従って走査して差分を計算し、計算順に該差分を一次元的に並べた一次元の行列を差分行列１０００として生成する。そして量子化マトリクス符号化部１１３は、該生成した差分行列１０００を符号化して符号化データを生成する。
【００５６】
ステップＳ３０３では、統合符号化部１１１は、画像の符号化に必要なヘッダ情報を符号化し、該ヘッダ情報と、量子化マトリクス符号化部１１３によって生成された量子化マトリクスの符号化データと、を統合する。
【００５７】
ステップＳ３０４では、ブロック分割部１０２は、入力画像を複数の基本ブロックに分割する。
【００５８】
ステップＳ３０５では、予測部１０４は、ステップＳ３０４で分割されたそれぞれの基本ブロックのうち未選択の１つを選択基本ブロックとして選択する。そして予測部１０４は、サブブロック分割方法（分割パターン）を決定し、該決定したサブブロック分割方法に従って選択基本ブロックを複数のサブブロックに分割する。また予測部１０４は、サブブロック単位でイントラ予測モードを決定する。そして予測部１０４は、サブブロックごとに、フレームメモリ１０８内の画像を用いて、決定したイントラ予測モードに従って予測を行うことで予測画像を生成し、入力画像と該予測画像との差分を予測誤差として求める。また予測部１０４は、サブブロック分割方法を示す情報、イントラ予測モード、動きベクトル等の予測に必要な情報を予測情報として生成する。
【００５９】
ステップＳ３０６では、変換・量子化部１０５は、サブブロックごとの予測誤差を直交変換することで、サブブロックごとの変換係数を生成する。そして変換・量子化部１０５はそれぞれのサブブロックについて、ステップＳ３０１で生成した量子化マトリクスのうち該サブブロックのサイズに応じた量子化マトリクスを用いて該サブブロックの変換係数を量子化して、該サブブロックの量子化係数を生成する。
【００６０】
ステップＳ３０７では、逆量子化・逆変換部１０６は、ステップＳ３０６で生成されたそれぞれのサブブロックの量子化係数を、該サブブロックの量子化で用いた量子化マトリクスを用いて逆量子化して変換係数を生成する。そして逆量子化・逆変換部１０６は、該生成された変換係数を逆直交変換して予測誤差を生成する。
【００６１】
ステップＳ３０８では、画像再生部１０７は、予測部１０４が生成した予測情報に基づいて、フレームメモリ１０８に格納されている処理済みの画像から予測画像を生成する。そして画像再生部１０７は、該予測画像と、逆量子化・逆変換部１０６が生成した予測誤差と、から画像を再生する。そして画像再生部１０７は、該再生した画像をフレームメモリ１０８に格納する。
【００６２】
ステップＳ３０９では、符号化部１１０は、変換・量子化部１０５により生成された量子化係数と、予測部１０４により生成された予測情報と、をエントロピー符号化して符号化データを生成する。統合符号化部１１１は、量子化マトリクス符号化部１１３により生成された符号化データを用いてヘッダ符号データを生成し、符号化部１１０により生成された符号化データと、該ヘッダ符号データと、を多重化してビットストリームを生成する。
【００６３】
ステップＳ３１０では、制御部１９９は、全ての基本ブロックが符号化されたか否かを判断する。この判断の結果、全ての基本ブロックが符号化された場合には、処理はステップＳ３１１に進み、未だ符号化されていない基本ブロックが残っている場合には、処理はステップＳ３０５に進む。
【００６４】
ステップＳ３１１では、インループフィルタ部１０９は、フレームメモリ１０８に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
【００６５】
以上説明した本実施形態によれば、特にステップＳ３０１で１つの量子化マトリクスから複数の量子化マトリクスを生成し、ステップＳ３０２で１つの量子化マトリクスのみを符号化することで、量子化マトリクスの符号量を削減することができる。その結果、生成されるビットストリーム全体のデータ量を削減することになるため、圧縮効率を向上させることができる。また、特に図９（ｂ）、図１０（ｂ）の量子化マトリクスについて、オリジナル量子化マトリクスから、ある方向に関しては拡大し、もう一方の方向に関しては縮小して生成される。これは、オリジナル量子化マトリクスから単純縮小して生成される場合よりもオリジナル量子化マトリクスのデータ量を削減でき、かつオリジナル量子化マトリクスから単純拡大して生成される場合よりも画質の劣化を抑制することが可能となる。然るに、rate-distortionのバランスがとれた結果が期待できる。
【００６６】
なお、本実施形態では、１つの量子化マトリクスから複数の量子化マトリクスを生成するものとした。しかし、量子化マトリクスごとに別の量子化マトリクスから生成するのか、各要素を符号化するのかを選択し、その選択結果を示す識別子をヘッダ内に符号化する構成としても構わない。例えば、量子化マトリクスの各要素を他の量子化マトリクスから生成するのか個別に符号化するのかを示す情報を、量子化マトリクス符号化方法情報符号としてヘッダに符号化し、図６（ｂ）に示されるビットストリームを生成する構成としても良い。これにより、サブブロックの大きさに応じた画質制御を優先したビットストリーム、量子化マトリクスの符号量がより少ないビットストリーム、を選択的に生成することができる。
【００６７】
また、本実施形態では、オリジナル量子化マトリクス８００から量子化マトリクス９０１，９０２，１００１，１００２を生成する方法を説明した。しかし、正方形の量子化マトリクスから長方形の量子化マトリクスを生成する方法は第１の実施形態で説明した方法に限らない。
【００６８】
例えば、オリジナル量子化マトリクス８００から、図１３（ａ）、（ｂ）および図１４（ａ）、（ｂ）のそれぞれに示す長方形形状の量子化マトリクス１２０１〜１２０４を生成する方法を採用しても良い。
【００６９】
図１３（ａ）に示す量子化マトリクス１２０１は、８×１６の直交変換係数に対応する量子化マトリクスである。オリジナル量子化マトリクス８００の各行が量子化マトリクス１２０１の偶数行に配置されている。量子化マトリクス１２０１の奇数行には、該奇数行を挟む偶数行から補間した要素が配列されている。例えば、量子化マトリクス１２０１において（行、列）＝（１，２）の位置にある要素「１４」は、その直上の偶数行の要素「１３」とその直下の偶数行の要素「１５」とから補間した値として求められたものである。
【００７０】
図１３（ｂ）に示す量子化マトリクス１２０２は、４×１６の直交変換係数に対応する量子化マトリクスである。量子化マトリクス１２０２は、上記のとおりオリジナル量子化マトリクス８００から生成された量子化マトリクス１２０１からの奇数列を除いた偶数列のみから成るものである。
【００７１】
図１４（ａ）に示す量子化マトリクス１２０３は、１６×８の直交変換係数に対応する量子化マトリクスである。オリジナル量子化マトリクス８００の各列が量子化マトリクス１２０３の偶数列に配置されている。量子化マトリクス１２０３の奇数列には、該奇数列を挟む偶数列から補間した要素が配列されている。例えば、量子化マトリクス１２０３において（行、列）＝（２，１）の位置にある要素「１４」は、左に隣接する列の要素「１３」と右に隣接する列の要素「１５」とから補間した値として求められたものである。
【００７２】
図１４（ｂ）に示す量子化マトリクス１２０４は、１６×４の直交変換係数に対応する量子化マトリクスである。量子化マトリクス１２０４は、上記のとおりオリジナル量子化マトリクス８００から生成された量子化マトリクス１２０３の奇数行を除く偶数行のみから成るものである。
【００７３】
このように、オリジナル量子化マトリクス８００を行方向もしくは列方向に拡大若しくは縮小することで他の量子化マトリクスを生成する。このような生成方法により、周波数成分に応じたより細かい量子化制御を行うことができ、結果として画質を高めることができる。
【００７４】
また本実施形態では、量子化マトリクス９０２や量子化マトリクス１００２を生成する際には、オリジナル量子化マトリクス８００の偶数列や偶数行の要素を用いた。しかし、オリジナル量子化マトリクス８００の奇数列や奇数行の要素を用いて量子化マトリクスを生成しても良い。
【００７５】
例えば、図１５（ａ）に示す如く４×１６の直交変換係数に対応する量子化マトリクス１６０１や、図１５（ｂ）に示す如く１６×４の直交変換係数に対応する量子化マトリクス１６０２を生成しても良い。
【００７６】
量子化マトリクス１６０１は、該量子化マトリクス１６０１中の位置（行、列）＝（２ｍ、ｎ）および位置（行、列）＝（２ｍ＋１、ｎ）に、オリジナル量子化マトリクス８００中の位置（行、列）＝（ｍ、２ｎ＋１）の要素を配置したものである。
【００７７】
量子化マトリクス１６０２は、該量子化マトリクス１６０２中の位置（行、列）＝（ｍ、２ｎ）および位置（行、列）＝（ｍ、２ｎ＋１）に、オリジナル量子化マトリクス８００中の位置（行、列）＝（２ｍ＋１、ｎ）の要素を配置したものである。
【００７８】
このように、１つのオリジナル量子化マトリクスから同じ形状であって異なる要素を有する複数の量子化マトリクスを生成することが可能である。オリジナル量子化マトリクスの偶数列あるいは奇数列の選択を示すフラグ、偶数行あるいは奇数行の選択を示すフラグがそれぞれ符号化されてもよい。
【００７９】
さらには、用いられる直交変換方法の種類に応じて、このように生成された同じ形状の複数の量子化マトリクスを切り替える構成としても良い。例えば、直交変換が離散コサイン変換に基づいたものである場合には、量子化マトリクス９０２や量子化マトリクス１００２を生成し、直交変換が離散サイン変換に基づいたものである場合には量子化マトリクス１６０１や量子化マトリクス１６０２を生成する。これにより、使用される直交変換の性質に応じた量子化マトリクスを使用することができる。
【００８０】
また、使用される直交変換のサイズに制限がある場合は一部の量子化マトリクスの生成や符号化を省略しても良い。例えば、４×１６サイズや１６×４サイズのサブブロックの画素に対する直交変換が行われない場合は、量子化マトリクス９０２や量子化マトリクス１００２の生成を省いても良い。さらには、８×８、１６×８、８×１６、１６×４、４×１６のいずれのサイズのサブブロックの画素に対する直交変換が行われない場合は、オリジナル量子化マトリクス８００の符号化自体を省略しても構わない。その場合、量子化マトリクス９０１，９０２，１００１，１００２の生成も当然省略される。ただし、８×８のサブブロックの画素に対する直交変換が用いられない場合でも、１６×８、８×１６、１６×４、４×１６の少なくともいずれか１つのサイズのサブブロックの画素に対する直交変換が行われる場合は、オリジナル量子化マトリクス８００は符号化され、直交変換に対応する量子化マトリクスが生成される。これにより、用いられる量子化マトリクスのみを符号化・生成することとなり、量子化マトリクスが用いられない場合の余分な符号量を削減することができる。
【００８１】
［第２の実施形態］
本実施形態では、第１の実施形態に係る画像符号化装置によって符号化された入力画像を復号する画像復号装置について説明する。以下では第１の実施形態との差分について説明し、以下で特に触れない限りは第１の実施形態と同様である。本実施形態に係る画像復号装置の機能構成例について、図２のブロック図を用いて説明する。
【００８２】
制御部２９９は、画像復号装置全体の動作制御を行う。分離復号部２０２は、画像符号化装置によって生成されたビットストリームを取得し、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。本実施形態では、分離復号部２０２は、量子化マトリクスの符号化データをビットストリームから分離する。つまり分離復号部２０２は上記の統合符号化部１１１と逆の動作を行う。
【００８３】
量子化マトリクス復号部２０９は、分離復号部２０２によってビットストリームから分離された量子化マトリクスの符号化データを取得し、該取得した符号化データを復号することで量子化マトリクスを生成する。
【００８４】
復号部２０３は、分離復号部２０２によってビットストリームから分離された符号化データを復号することで、量子化係数および予測情報を取得する。逆量子化・逆変換部２０４は、上記の画像符号化装置が有する逆量子化・逆変換部１０６と同様の動作を行うものである。逆量子化・逆変換部２０４は、量子化マトリクス復号部２０９によって復号された量子化マトリクスに基づいて量子化係数に対する逆量子化を行うことで変換係数を取得し、該変換係数に対して逆直交変換を行うことで予測誤差を取得する。
【００８５】
画像再生部２０５は、復号部２０３によって復号された予測情報に基づいてフレームメモリ２０６に格納されている画像を参照することで予測画像を生成する。そして画像再生部２０５は、該生成された予測画像と、逆量子化・逆変換部２０４によって得られた予測誤差と、を用いて、再生画像を生成し、該生成した再生画像をフレームメモリ２０６に格納する。
【００８６】
インループフィルタ部２０７は、フレームメモリ２０６に格納されている再生画像に対して、デブロッキングフィルタなどのインループフィルタ処理を行う。フレームメモリ２０６に格納されている再生画像は、制御部２９９によって適宜出力される。再生画像の出力先は特定の出力先に限らず、例えば、ディスプレイなどの表示装置の表示画面に再生画像を表示しても良いし、プロジェクタなどの投影装置に対して該再生画像を出力しても良い。
【００８７】
次に、上記の構成を有する画像復号装置の動作（ビットストリームの復号処理）について説明する。本実施形態では、分離復号部２０２に入力されるビットストリームは、動画像におけるフレームごとのビットストリームであるものとするが、静止画像のビットストリームであっても構わない。また、本実施形態では説明を容易にするため、イントラ予測復号処理のみを説明するが、これに限定されずインター予測復号処理においても適用可能である。
【００８８】
分離復号部２０２は、画像符号化装置によって生成された１フレーム分のビットストリームを取得し、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。分離復号部２０２は、図６（ａ）のビットストリームのシーケンスヘッダから量子化マトリクス符号データ（量子化マトリクスの畚かデータ）を抽出し、該量子化マトリクス符号データを量子化マトリクス復号部２０９に対して送出する。また分離復号部２０２は、ピクチャデータの基本ブロック単位の符号化データを復号部２０３に出力する。
【００８９】
量子化マトリクス復号部２０９は、分離復号部２０２によってビットストリームから分離された量子化マトリクスの符号化データを復号することで、一次元の差分行列を生成する。量子化マトリクスの符号化データの復号には、符号化側で使用した符号化テーブル（第１の実施形態では、図１２（ａ）の符号化テーブルおよび図１２（ｂ）の符号化テーブルのうち符号化側で使用した符号化テーブル）を使用する。そして量子化マトリクス復号部２０９は、生成した一次元の差分行列を逆走査することで、二次元の量子化マトリクス（オリジナル量子化マトリクス）を生成する。この処理は、第１の実施形態にて説明した量子化マトリクス符号化部１１３と逆の処理である。すなわち、本実施形態では、図１１（ｂ）の差分行列１０００は、図１１（ａ）の走査方法を用いて、図８のオリジナル量子化マトリクス８００を生成する。そして量子化マトリクス復号部２０９は、該生成したオリジナル量子化マトリクス８００から、第１の実施形態と同様にして量子化マトリクス９０１，９０２，１００１，１００２を生成する。その際、必要に応じて、上述したオリジナル量子化マトリクスの偶数列あるいは奇数列の選択を示すフラグ、偶数行あるいは奇数行の選択を示すフラグの復号を行う。そしてこのフラグに従って、オリジナル量子化マトリクスからの生成が行われる。
【００９０】
復号部２０３は、分離復号部２０２によってビットストリームから分離された符号化データを復号することで、量子化係数および予測情報を取得する。逆量子化・逆変換部２０４は、量子化マトリクス復号部２０９によって生成されたオリジナル量子化マトリクス８００および量子化マトリクス９０１，９０２，１００１，１００２のうち、予測情報の１つであるサブブロックの分割パターンを示す情報に基づいて復号されるサブブロックのサイズに応じた量子化マトリクスを選択する。そして逆量子化・逆変換部２０４は、該選択した量子化マトリクスを用いて、該復号対象のサブブロックの量子化係数に対する逆量子化を行うことで変換係数を取得し、該変換係数に対して逆直交変換を行うことで予測誤差を取得する。
【００９１】
画像再生部２０５は、復号部２０３によって復号された予測情報に基づいてフレームメモリ２０６に格納されている画像を参照することで予測画像を生成する。そして画像再生部２０５は、該生成された予測画像と、逆量子化・逆変換部２０４によって得られた予測誤差と、を用いて、再生画像を生成し、該生成した再生画像をフレームメモリ２０６に格納する。インループフィルタ部２０７は、フレームメモリ２０６に格納されている再生画像に対して、デブロッキングフィルタなどのインループフィルタ処理を行う。
【００９２】
以上説明した画像復号装置による１フレーム分のビットストリームの復号処理について、図４のフローチャートに従って説明する。ステップＳ４０１では、分離復号部２０２は、画像符号化装置によって生成された１フレーム分のビットストリームを取得する。そして分離復号部２０２は、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。
【００９３】
ステップＳ４０２では、量子化マトリクス復号部２０９は、分離復号部２０２によってビットストリームから分離された量子化マトリクスの符号化データを復号することで、一次元の差分行列を生成する。そして量子化マトリクス復号部２０９は、該生成した一次元の差分行列を逆走査して二次元のオリジナル量子化マトリクス８００を生成する。そして量子化マトリクス復号部２０９は、該生成したオリジナル量子化マトリクス８００から第１の実施形態と同様にして量子化マトリクス９０１，９０２，１００１，１００２を生成する。特に、図９（ｂ）、図１０（ｂ）の量子化マトリクス９０２、１００２について、オリジナル量子化マトリクスから、ある方向に関しては拡大し、もう一方の方向に関しては縮小して生成される。これは、オリジナル量子化マトリクスから単純縮小して生成される場合よりもオリジナル量子化マトリクスのデータ量を削減でき、かつオリジナル量子化マトリクスから単純拡大して生成される場合よりも画質の劣化を抑制することが可能となる。然るに、rate-distortionのバランスがとれた結果が期待できる。
【００９４】
なお、図９（ｂ）、図１０（ｂ）の量子化マトリクス９０２、１００２は、オリジナル量子化マトリクスのサイズをＮＸＮとしたときに生成される量子化マトリクスのサイズＰＸＱとしたとき、Ｐ，Ｑは、Ｐ＜Ｎ＜ＱあるいはＱ＜Ｎ＜Ｐを満たす正の整数となる。なお、ブロックからサブブロックへ分割する際、図７（ｂ）〜（ｆ）のうちどの種類のパターンを用いるかを示す分割情報に従って適応的に生成してもよい。
【００９５】
ステップＳ４０３〜Ｓ４０６の処理は、入力画像におけるそれぞれの基本ブロックについて行われる。ステップＳ４０３では、復号部２０３は、分離復号部２０２によってビットストリームから分離された符号化データを復号することで、量子化係数および予測情報を取得する。
【００９６】
ステップＳ４０４では、逆量子化・逆変換部２０４は、量子化マトリクス復号部２０９によって生成された量子化マトリクスのうち、復号対象のサブブロックのサイズおよび形状に応じた量子化マトリクスを選択する。そして逆量子化・逆変換部２０４は、該選択した量子化マトリクスを用いて、該復号対象のサブブロックの量子化係数に対する逆量子化を行うことで変換係数を取得し、該変換係数に対して逆直交変換を行うことで予測誤差を取得する。
【００９７】
ステップＳ４０５では、画像再生部２０５は、復号部２０３によって復号された予測情報に基づいてフレームメモリ２０６に格納されている画像を参照することで予測画像を生成する。そして画像再生部２０５は、該生成された予測画像と、逆量子化・逆変換部２０４によって得られた予測誤差と、を用いて、再生画像を生成し、該生成した再生画像をフレームメモリ２０６に格納する。
【００９８】
ステップＳ４０６では、制御部２９９は、ビットストリームに含まれている全ての基本ブロックの復号が完了したか否かを判断する。この判断の結果、ビットストリームに含まれている全ての基本ブロックの復号が完了した場合には、処理はステップＳ４０７に進む。一方、ビットストリームに含まれている全ての基本ブロックのうち未だ復号が完了していないサブブロックが残っている場合には、該未だ復号が完了していないサブブロックについてステップＳ４０３以降の処理を繰り返す。
【００９９】
ステップＳ４０７では、インループフィルタ部２０７は、フレームメモリ２０６に格納されている再生画像に対して、デブロッキングフィルタなどのインループフィルタ処理を行う。
【０１００】
以上説明した本実施形態によれば、第１の実施形態で生成された、オリジナル量子化マトリクスのみが符号化されるため、量子化マトリクスの符号量を削減したビットストリームを復号することができる。また、量子化マトリクスの復号に用いられる要素の走査方法が図１１（ａ）の１種類に限定されているため、図１１（ａ）の走査方法を実装するためのテーブルを１つのみに限定し、メモリを節約することができる。
【０１０１】
なお、本実施形態では、１つの量子化マトリクスから複数の量子化マトリクスを生成するものとした。しかし、量子化マトリクスごとに、別の量子化マトリクスから派生して生成するのか、別の量子化マトリクスとは独立して符号化された各要素を復号するのかを選択する識別子をヘッダから復号する構成としても構わない。例えば、量子化マトリクスの各要素を他の量子化マトリクスから生成するのか個別に復号するのかを示す情報を、図６（ｂ）のビットストリームのヘッダから量子化マトリクス符号化方法情報符号として復号する構成としても良い。これにより、サブブロックの大きさに応じた画質制御を優先するか、量子化マトリクスの符号量をより少なくするか、が選択されたビットストリームを復号することができる。
【０１０２】
また、本実施形態では、オリジナル量子化マトリクス８００から量子化マトリクス９０１，９０２，１００１，１００２を生成する方法を説明した。しかし画像符号化装置側と同様に、正方形の量子化マトリクスから長方形の量子化マトリクスを生成する方法は第１の実施形態で説明した方法に限らない。例えば、オリジナル量子化マトリクス８００から、図１３（ａ）、（ｂ）および図１４（ａ）、（ｂ）のそれぞれに示す量子化マトリクス１２０１〜１２０４を生成する方法を採用しても良い。これにより、周波数成分に応じたより細かい量子化制御を行い、結果として画質を高めたビットストリームを復号することができる。
【０１０３】
また、使用される直交変換のサイズに制限があるなどによってある量子化マトリクスのサイズが用いられない場合は、使用されない量子化マトリクスの復号や生成を省略しても良い。例えば、４×１６や１６×４の画素サイズのサブブロックに対する直交変換が行われない場合は、量子化マトリクス９０２や量子化マトリクス１００２の生成を省いても良い。さらには、８×８、１６×８、８×１６、１６×４、４×１６の画素サイズのサブブロックに対する直交変換が行われない場合は、オリジナル量子化マトリクス８００の復号自体を省略しても構わない。その場合、量子化マトリクス９０１，９０２，１００１，１００２の生成も当然省略される。ただし、８×８画素サイズのサブブロックに対する直交変換が行われない場合でも、１６×８、８×１６、１６×４、４×１６の長方形形状の少なくとも１つのサイズのサブブロックに対して直交変換が行われる場合は、オリジナル量子化マトリクス８００は復号され、直交変換に対応する量子化マトリクスが生成される。これにより、用いられる量子化マトリクスのみを復号・生成することとなり、量子化マトリクスが用いられない場合の余分な符号量を削減したビットストリームの復号を行うことができる。
【０１０４】
なお、本実施形態では、画像復号装置は第１の実施形態に係る画像符号化装置とは別個の装置であるものとして説明したが、画像復号装置と第１の実施形態に係る画像符号化装置とを１つの装置に統合しても良い。その場合、この装置は、入力画像を符号化し、必要に応じて該符号化した入力画像を復号することができる。
【０１０５】
［第３の実施形態］
図１，図２に示した各機能部は全てハードウェアで実装しても良いが、一部をソフトウェア（コンピュータプログラム）で実装しても良い。その場合、フレームメモリ１０８やフレームメモリ２０６をメモリ装置として有し、該コンピュータプログラムを実行可能なコンピュータ装置は、上記の画像符号化装置や画像復号装置に適用することができる。上記の画像符号化装置や画像復号装置に適用可能なコンピュータ装置のハードウェア構成例について、図５のブロック図を用いて説明する。
【０１０６】
ＣＰＵ５０１は、ＲＡＭ５０２やＲＯＭ５０３に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりＣＰＵ５０１は、コンピュータ装置全体の動作制御を行うと共に、上記の画像符号化装置や画像復号装置が行うものとして上述した各処理を実行若しくは制御する。
【０１０７】
ＲＡＭ５０２は、ＲＯＭ５０３や外部記憶装置５０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）５０７を介して外部から受信したデータ（例えば上記の動画像や静止画像のデータ）を格納するためのエリアを有する。さらにＲＡＭ５０２は、ＣＰＵ５０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ５０２は、各種のエリアを適宜提供することができる。ＲＯＭ５０３には、コンピュータ装置の設定データや起動プログラムなどが格納されている。
【０１０８】
操作部５０４は、キーボード、マウス、タッチパネルなどのユーザインターフェースであり、ユーザが操作することで、各種の指示をＣＰＵ５０１に対して入力することができる。
【０１０９】
表示部５０５は、液晶画面やタッチパネル画面などにより構成されており、ＣＰＵ５０１による処理結果を画像や文字などでもって表示することができる。例えば、上記の画像復号装置によって復号される再生画像をこの表示部５０５に表示させても良い。なお、表示部５０５は、画像や文字を投影するプロジェクタなどの投影装置であっても良い。
【０１１０】
外部記憶装置５０６は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置５０６には、ＯＳ（オペレーティングシステム）、上記の画像符号化装置や画像復号装置が行うものとして上述した各種の処理をＣＰＵ５０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置５０６に保存されているコンピュータプログラムには、上記のフレームメモリ１０８やフレームメモリ２０６以外の各機能部の機能をＣＰＵ５０１に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置５０６に保存されているデータには、図１２（ａ）や図１２（ｂ）に示した符号化テーブルなど、符号化や復号に必要な各種の情報が含まれている。
【０１１１】
外部記憶装置５０６に保存されているコンピュータプログラムやデータは、ＣＰＵ５０１による制御に従って適宜ＲＡＭ５０２にロードされ、ＣＰＵ５０１による処理対象となる。なお、上記のフレームメモリ１０８やフレームメモリ２０６は、ＲＡＭ５０２、ＲＯＭ５０３、外部記憶装置５０６などのメモリ装置によって実装可能である。
【０１１２】
Ｉ／Ｆ５０７は外部の機器との間のデータ通信を行うためのインターフェースとして機能するものである。例えば、外部のサーバ装置や撮像装置から動画像や静止画像をＩ／Ｆ５０７を介してＲＡＭ５０２や外部記憶装置５０６に取得することができる。
【０１１３】
ＣＰＵ５０１、ＲＡＭ５０２、ＲＯＭ５０３、操作部５０４、表示部５０５、外部記憶装置５０６、Ｉ／Ｆ５０７は何れもバス５０８に接続されている。なお、図５に示した構成は、上記の画像符号化装置や画像復号装置に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎず、各種の変更／変形が可能である。
【０１１４】
［第４の実施形態］
上記の説明において使用した数値は具体的な説明を行うために使用したものであり、上記の各実施形態が、使用した数値に限定されることを意図したものではない。例えば、量子化マトリクスのサイズや量子化マトリクスの各要素は上記の数値に限らない。
【０１１５】
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
【０１１６】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１７】
１０２：ブロック分割部  １０３：生成部  １０４：予測部  １０５：変換・量子化部  １０６：逆量子化・逆変換部  １０７：画像再生部  １０８：フレームメモリ  １０９：インループフィルタ部  １１０：符号化部  １１１：統合符号化部  １１３：量子化マトリクス符号化部
【図１】
2020098983.tif 000003
【図２】
2020098983.tif 000004
【図３】
2020098983.tif 000005
【図４】
2020098983.tif 000006
【図５】
2020098983.tif 000007
【図６】
2020098983.tif 000008
【図７】
2020098983.tif 000009
【図８】
2020098983.tif 000010
【図９】
2020098983.tif 000011
【図１０】
2020098983.tif 000012
【図１１】
2020098983.tif 000013
【図１２】
2020098983.tif 000014
【図１３】
2020098983.tif 000015
【図１４】
2020098983.tif 000016
【図１５】
2020098983.tif 000017