(57)【要約】【課題】量子化行列の符号量の増加を抑制することができるようにする。【解決手段】軸設定部１５１は、量子化行列のタイプに応じて、伝送する行列要素を含む基準軸を設定する。縦軸設定部１５２乃至斜め軸設定部１５４は、それぞれ、軸設定部１５１で設定された縦軸を対象として、量子化行列要素を伝送する手法に応じて、伝送する量子化行列の要素を基準行列要素として選択する。補間処理部１５５は、補間処理を行い、補間量子化行列を設定する。残差処理部１５７は、残差量子化行列を設定する。パラメータ生成部１５６は、縦軸設定部１５２乃至斜め軸設定部１５４で設定された基準行列要素、行列要素の差分、残差処理部で生成されたデータをパラメータとして伝送する。本開示は、例えば、画像処理装置に適用することができる。【選択図】図３
2012186617.tif 000002
【特許請求の範囲】
【請求項１】
変換単位に対応する量子化行列に含まれる行列要素を対象として、基準行列要素をパラメータとする演算に応じて、伝送する行列要素を基準行列要素として選択する選択部と、
前記選択部により選択された基準行列要素を伝送する伝送部と
を備える画像処理装置。
【請求項２】
前記量子化行列を対象として、前記基準行列要素を含む基準軸を設定する軸設定部を更に備え、
前記選択部は、前記軸設定部により設定された基準軸に含まれる基準行列要素を選択する  請求項１に記載の画像処理装置。
【請求項３】
前記演算は、基準行列要素をパラメータとする可逆演算によって、前記基準軸に含まれる行列要素を算出する演算である
請求項２に記載の画像処理装置。
【請求項４】
前記軸設定部は、角度の異なる複数の基準軸を設定する
請求項３に記載の画像処理装置。
【請求項５】
前記軸設定部により設定された基準軸の設定パターンを識別する軸識別データを生成する生成部を更に備え、
前記伝送部は、前記生成部により生成された軸識別データを伝送する
請求項４に記載の画像処理装置。
【請求項６】
前記軸設定部は、縦方向の基準軸と横方向の基準軸と斜め方向の基準軸とを設定する
請求項４に記載の画像処理装置。
【請求項７】
前記選択部は、前記基準軸において最初の行列要素を基準行列要素として選択し、
前記伝送部は、前記選択部においてされた基準行列要素を基準として、前の行列要素との差分を伝送する
請求項６に記載の画像処理装置。
【請求項８】
前記選択部は、前記基準軸において最初の行列要素を第１の基準行列要素として選択し、前記基準軸において最後の行列要素に対して外挿補間された行列要素を第２の基準行列要素として選択し、
前記伝送部は、前記選択部において選択された第１の基準行列要素と第２の基準行列要素とを伝送する
請求項６に記載の画像処理装置。
【請求項９】
前記選択部は、前記第１の基準行列要素と前記第２の基準行列要素との差分値を算出し、
前記伝送部は、前記第２の基準行列要素の代わりに前記差分値を伝送する
請求項８に記載の画像処理装置。
【請求項１０】
前記選択部により選択された基準行列要素に対して補間処理を行って、補間された補間行列要素を生成し、前記基準行列要素と前記補間行列要素から構成される補間量子化行列を生成する補間量子化行列生成部と、
前記基準量子化行列と前記補間量子化行列生成部より生成された補間量子化行列との差分である残差量子化行列を生成する残差量子化行列生成部と
を更に備え、
前記伝送部は、前記残差量子化行列生成部により生成された残差量子化行列に含まれる残差行列要素を伝送する
請求項１に記載の画像処理装置。
【請求項１１】
前記伝送部は、前記残差量子化行列に含まれる残差行列要素を、符号化して伝送する
請求項１０に記載の画像処理装置。
【請求項１２】
前記残差量子化行列に含まれる残差行列要素を差分符号化して伝送するか、前記残差量子化行列に含まれる残差行列要素をランレングス符号化して伝送するか、を識別する符号化識別情報を生成する符号化識別情報生成部を更に備え、
前記伝送部は、前記生成部により生成された符号化識別情報を伝送する
請求項１１に記載の画像処理装置。
【請求項１３】
前記残差量子化行列生成部は、前記残差行列要素を量子化し、
前記伝送部は、量子化された前記残差行列要素を伝送する
請求項１０に記載の画像処理装置。
【請求項１４】
前記残差量子化行列生成部は、前記残差行列要素を直交変換し、得られた直交変換係数をさらに量子化し、
前記伝送部は、量子化された前記直交変換係数を伝送する
請求項１０に記載の画像処理装置。
【請求項１５】
前記量子化行列生成部は、前記残差量子化行列の対角成分、および、前記対角成分より上に位置する残差行列要素を生成し、
前記伝送部は、生成された前記残差量子化行列の対角成分、および、前記対角成分より上に位置する残差行列要素を伝送する
請求項１０に記載の画像処理装置。
【請求項１６】
変換単位に対応する量子化行列に含まれる行列要素を対象として、基準行列要素をパラメータとする演算に応じて、伝送する行列要素を基準行列要素として選択する選択ステップと、
前記選択ステップにおいて選択された基準行列要素を伝送する伝送ステップと
を含む画像処理方法。
【請求項１７】
変換単位に対応する量子化行列に含まれる行列要素が伝送される行列要素をパラメータとする演算に応じて選択された基準行列要素を受け取る受け取り部と、
前記基準行列要素をパラメータとする演算に、前記受け取り部により受け取られた基準行列要素を適用して、前記量子化行列に含まれる行列要素を算出する算出部と、
前記受け取り部により受け取られた基準行列要素と前記算出部により算出された行列要素とに補間処理を行うことによって、補間された補間行列要素を含む補間量子化行列を生成する補間量子化行列生成部と
を備える画像処理装置。
【請求項１８】
前記量子化行列を対象として、前記基準行列要素を含む基準軸を設定する軸設定部を更に備え、
前記算出部は、基準行列要素をパラメータとする可逆演算によって、前記軸設定部により設定された基準軸に含まれる行列要素を算出する
請求項１７に記載の画像処理装置。
【請求項１９】
前記軸設定部は、角度の異なる複数の基準軸を設定する
請求項１８に記載の画像処理装置。
【請求項２０】
前記軸設定部は、縦方向の基準軸と横方向の基準軸と斜め方向の基準軸とを設定する
請求項１９に記載の画像処理装置。
【請求項２１】
前記受け取り部は、前記基準軸における最初の行列要素と前記基準軸において前の行列要素との差分とを受け取り、
前記算出部は、前記受け取り部により受け取られ最初の行列要素である基準行列要素と差分とを用いて、前記軸設定部により設定された基準軸に含まれる行列要素を算出する
請求項２０に記載の画像処理装置。
【請求項２２】
前記受け取り部は、前記基準軸における最初の行列要素と最後の行列要素に対して外挿補間された行列要素とを基準行列要素として受け取り、
前記算出部は、前記受け取り部により受け取られた基準行列要素を用いて、前記軸設定部により設定された基準軸に含まれる行列要素を算出する
請求項２０に記載の画像処理装置。
【請求項２３】
前記受け取り部は、前記基準軸における最初の行列要素である第１の基準行列要素、並びに、前記第１の基準行列要素と前記基準軸において最後の行列要素に対して外挿補間された行列要素である第２の基準行列要素との差分値を受け取り、
前記算出部は、前記受け取り部により受け取られた前記第１の基準行列要素と前記差分値から前記第２の基準行列要素を算出し、さらに前記第１の基準行列要素および前記第２の基準行列要素を用いて、前記軸設定部により設定された基準軸に含まれる行列要素を算出する
請求項２０に記載の画像処理装置。
【請求項２４】
前記受け取り部は、前記量子化行列と前記補間量子化行列生成部より生成された補間量子化行列との差分である残差量子化行列に含まれる残差行列要素を受け取り、
前記補間量子化行列生成部により生成された補間量子化行列に含まれる補間行列要素と前記受け取り部により受け取られた残差行列要素とを用いて、前記行列要素を含む量子化行列を生成する量子化行列生成部を更に備える
請求項１７に記載の画像処理装置。
【請求項２５】
前記受け取り部は、量子化された残差行列要素を受け取り、
前記量子化行列生成部は、前記受け取り部により受け取られた前記残差行列要素を逆量子化し、逆量子化された前記残差行列要素と前記補間行列要素とを用いて、前記量子化行列を生成する
請求項２４に記載の画像処理装置。
【請求項２６】
前記受け取り部は、直交変換されて量子化された残差行列要素を受け取り、
前記量子化行列生成部は、前記受け取り部により受け取られた前記残差行列要素を逆量子化し、得られた直交変換係数を逆直交変換し、得られた前記残差行列要素と前記補間行列要素とを用いて、前記量子化行列を生成する
請求項２４に記載の画像処理装置。
【請求項２７】
前記受け取り部は、前記残差量子化行列の対角成分、および、前記対角成分より上若しくは下に位置する残差行列要素を受け取り、
前記量子化行列生成部は、前記受け取り部により受け取られた前記対角成分より上若しくは下に位置する残差行列要素を用いて、前記対角成分を軸として線対象の位置の残差行列要素を生成し、得られた前記残差行列要素と前記補間行列要素とを用いて、前記量子化行列を生成する
請求項２４に記載の画像処理装置。
【請求項２８】
変換単位に対応する量子化行列に含まれる行列要素が伝送される行列要素をパラメータとする演算に応じて選択された基準行列要素を受け取る受け取りステップと、
前記基準行列要素をパラメータとする演算に、前記受け取りステップにおいて受け取られた基準行列要素を適用して、前記量子化行列に含まれる行列要素を算出する算出ステップと、
前記受け取りステップにおいて受け取られた基準行列要素と前記算出部により算出された行列要素とに補間処理を行うことによって、補間された補間行列要素を含む補間量子化行列を生成する補間量子化行列生成ステップと
を含む画像処理方法。
【請求項２９】
変換単位に対応する行列に含まれる行列要素を対象として、基準行列要素をパラメータとする演算に応じて、伝送する行列要素を基準行列要素として選択する選択部と、
前記選択部により選択された基準行列要素を伝送する伝送部と
を備える画像処理装置。
【請求項３０】
変換単位に対応する行列に含まれる行列要素を対象として、基準行列要素をパラメータとする演算に応じて、伝送する行列要素を基準行列要素として選択する選択ステップと、
前記選択ステップにおいて選択された基準行列要素を伝送する伝送ステップと
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関する。
【背景技術】
【０００２】
ビデオカメラの様なアプリケーションでは、入力に圧縮ひずみが存在しないため、極力高域まで再現するような量子化行列を使用する。量子化行列は、常に固定というわけではく、実際の運用としてはフレーム単位で変化する可能性がある。入力画像が比較的簡単な場合、量子化パラメータ（ＱＰ）を小さく設定することが出来る。この場合、周波数ごとに量子化値を変更する必要がないため、量子化行列は、平坦なものを使用したほうが最終的な主観画質が良くなる。これに対して、入力画像が圧縮しにくい場合、量子化パラメータを大きくしないと符号量が大きくなる。この場合、すべての周波数領域を同じ量子化値にしてしまうと、低域信号のひずみがブロックノイズとして認識されてしまう。そのため、高周波ほど大きな量子化値になるような量子化行列を使用することで主観画質が向上することが一般的に知られている。
【０００３】
ＭＰＥＧ−２（Moving Picture Experts Group - 2）で符号化された放送コンテンツを再圧縮するレコーダの様なアプリケーションでは、入力信号自体にＭＰＥＧ−２の圧縮ひずみが存在する。一般的にＭＰＥＧ−２の圧縮ノイズとしてモスキートノイズが知られている。これは高周波に対して大きな量子化を行うことで生じるノイズである。ノイズの周波成分は非常に高周波となる。このような入力画像に対しては、再圧縮する際に高域を大きな量子化値にするような量子化行列が利用される。
【０００４】
一般的な放送では、インタレース信号が使われている。インタレース信号は、横方向の相関が高いが、飛び越し走査が行われているため、縦方向の相関が低い。このため、圧縮の際の残差信号は、ＤＣＴ（Discrete Cosine Transform）後に縦方向に大きな残差係数が出る傾向にある。このように縦方向と横方向でＤＣＴ係数分布に偏りがある場合、より効率よく圧縮するためには、当然量子化にも同様の偏りを持たせることが望ましい。このように、入力の特性に応じて量子化行列を切り替えることで、主観画質を向上させることが可能となる。
【０００５】
映像符号化方式の標準仕様の１つであるＨ．２６４／ＡＶＣ（Advanced Video Coding）では、High  Profile以上のプロファイルにおいて、画像データの量子化の際に、直交変換係数の成分ごとに異なる量子化ステップを用いることができる。直交変換係数の成分ごとの量子化ステップは、直交変換の単位と同等のサイズで定義される量子化行列（スケーリングリストともいう）及び基準のステップ値に基づいて設定され得る。
【０００６】
図３０は、Ｈ．２６４／ＡＶＣにおいて予め定義されている４種類の量子化行列の既定値（デフォルト値）を示している。例えば、イントラ予測モードにおいて変換単位のサイズが４×４である場合には、行列ＳＬ０１が量子化行列の既定値である。インター予測モードにおいて変換単位のサイズが４×４である場合には、行列ＳＬ０２が量子化行列の既定値である。イントラ予測モードにおいて変換単位のサイズが８×８である場合には、行列ＳＬ０３が量子化行列の既定値である。インター予測モードにおいて変換単位のサイズが８×８である場合には、行列ＳＬ０４が量子化行列の既定値である。また、ユーザは、シーケンスパラメータセット又はピクチャパラメータセットにおいて、図３０に示した既定値とは異なる独自の量子化行列を指定することができる。量子化行列が使用されない場合には、量子化の際に使用される量子化ステップは、全ての成分について等しい値となる。
【０００７】
Ｈ．２６４／ＡＶＣに続く次世代の映像符号化方式として標準化が進められているＨＥＶＣ（High  Efficiency  Video  Coding）では、従来のマクロブロックに相当する符号化単位（ＣＵ：Coding  Unit）という概念が導入されている（例えば、非特許文献１参照）。符号化単位のサイズの範囲は、シーケンスパラメータセットにおいて、ＬＣＵ（LargestCoding  Unit）及びＳＣＵ（Smallest  Coding  Unit）という２のべき乗の値の組で指定される。そして、split_flagを用いて、ＬＣＵ及びＳＣＵで指定された範囲内の具体的な符号化単位のサイズが特定される。
【０００８】
ＨＥＶＣでは、１つの符号化単位は、１つ以上の直交変換の単位、即ち１つ以上の変換単位（Transform  Unit：ＴＵ）に分割され得る。変換単位のサイズとしては、４×４、８×８、１６×１６及び３２×３２のいずれかが利用可能である。従って、量子化行列もまた、これら変換単位の候補のサイズごとに指定され得る。
【０００９】
ところで、Ｈ．２６４／ＡＶＣでは、１ピクチャ内で１つの変換単位のサイズについて１つの量子化行列のみを指定することが可能であった。これに対して、１ピクチャ内で１つの変換単位のサイズについて複数の量子化行列の候補を指定し、ＲＤ（Rate-Distortion）の最適化の観点でブロックごとに適応的に量子化行列を選択することが提案されている（例えば、非特許文献２参照）。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】JCTVC-B205,  "Test Model under Consideration",  Joint  Collaborative  Team  on  Video  Coding  (JCT-VC)  of  ITU-T  SG16  WP3  and  ISO/IEC JTC1/SC29/WG11  2nd  Meeting:  Geneva,  CH,  21-28  July,  2010
【非特許文献２】VCEG-AD06,  "Adaptive  Quantization  Matrix  Selection  on  KTA  Software",  ITU  -  Telecommunications  Standardization  Sector  STUDY  GROUP  16  Question  6  Video  Coding  Experts  Group  (VCEG)  30th  Meeting:  Hangzhou,  China,  23  -  24  October,  2006
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、変換単位のサイズが大きくなれば、対応する量子化行列のサイズも大きくなり、伝送する量子化マトリクスの符号量も大きくなる。さらに、変換単位のサイズが大きくなれば、オーバーヘッドは大きくなり、量子化行列を切り替えることが圧縮効率の観点で問題になる恐れがあった。
【００１２】
本開示は、このような状況に鑑みて提案されたものであり、量子化行列の符号量の増加を抑制することができるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本開示の一側面は、変換単位に対応する量子化行列に含まれる行列要素を対象として、基準行列要素をパラメータとする演算に応じて、伝送する行列要素を基準行列要素として選択する選択部と、選択部により選択された基準行列要素を伝送する伝送部とを備える画像処理装置である。
【００１４】
上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
【００１５】
本開示の一側面は、また、変換単位に対応する量子化行列に含まれる行列要素を対象として、基準行列要素をパラメータとする演算に応じて、伝送する行列要素を基準行列要素として選択する選択ステップと、選択ステップにおいて選択された基準行列要素を伝送する伝送ステップとを含む画像処理方法である。
【００１６】
本開示の他の側面は、変換単位に対応する量子化行列に含まれる行列要素が伝送される行列要素をパラメータとする演算に応じて選択された基準行列要素を受け取る受け取り部と、基準行列要素をパラメータとする演算に、受け取り部により受け取られた基準行列要素を適用して、前記量子化行列に含まれる行列要素を算出する算出部と、受け取り部により受け取られた基準行列要素と前記算出部により算出された行列要素とに補間処理を行うことによって、補間された補間行列要素を含む補間量子化行列を生成する補間量子化行列生成部とを備える画像処理装置である。
【００１７】
上記画像処理装置は、典型的には、画像を符号化する画像復号装置として実現され得る。
【００１８】
本開示の他の側面は、また、変換単位に対応する量子化行列に含まれる行列要素が伝送される行列要素をパラメータとする演算に応じて選択された基準行列要素を受け取る受け取りステップと、基準行列要素をパラメータとする演算に、受け取りステップにおいて受け取られた基準行列要素を適用して、量子化行列に含まれる行列要素を算出する算出ステップと、受け取りステップにおいて受け取られた基準行列要素と前記算出部により算出された行列要素とに補間処理を行うことによって、補間された補間行列要素を含む補間量子化行列を生成する補間量子化行列生成ステップとを含む画像処理方法である。
【発明の効果】
【００１９】
以上説明したように、本開示の画像処理装置及び画像処理方法によれば、量子化行列の符号量の増加を抑制することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係る画像符号化装置の構成の一例を示すブロック図である。
【図２】実施形態に係る直交変換・量子化部の詳細な構成の一例を示すブロック図である。
【図３】実施形態に係る行列処理部の詳細な構成の一例を示すブロック図である。
【図４】実施形態に係る量子化行列の一例を示す図である。
【図５】実施形態に係る軸設定・軸生成の一例を示す図である。
【図６】実施形態に係る補間処理の一例を示すフローチャートである。
【図７】実施形態に係る補間量子化行列及び残差量子化行列の一例を示す図である。
【図８】実施形態に係る行列処理部の詳細な処理の一例を示すフローチャートである。
【図９Ａ】実施形態に係る行列処理部の詳細な処理の一例を示すフローチャートである。
【図９Ｂ】実施形態に係る行列処理部の詳細な処理の一例を示すフローチャートである。
【図９Ｃ】実施形態に係る行列処理部の詳細な処理の一例を示すフローチャートである。
【図１０Ａ】実施形態に係る行列処理部の詳細な処理の一例を示すフローチャートである。
【図１０Ｂ】実施形態に係る行列処理部の詳細な処理の一例を示すフローチャートである。
【図１１】実施形態に係る画像復号装置の構成の一例を示すブロック図である。
【図１２】実施形態に係る逆量子化・逆直交変換部の詳細な構成の一例を示すブロック図である。
【図１３】実施形態に係る行列生成部の詳細な構成の一例を示すブロック図である。
【図１４】実施形態に係る行列生成部の詳細な処理の一例を示すフローチャートである。
【図１５Ａ】実施形態に係る行列生成部の詳細な処理の一例を示すフローチャートである。
【図１５Ｂ】実施形態に係る行列生成部の詳細な処理の一例を示すフローチャートである。
【図１５Ｃ】実施形態に係る行列生成部の詳細な処理の一例を示すフローチャートである。
【図１６】実施形態に係る量子化行列を生成する際の別手法を示す図である。
【図１７】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図１８】携帯電話機の概略的な構成の一例を示すブロック図である。
【図１９】記録再生装置の概略的な構成の一例を示すブロック図である。
【図２０】撮像装置の概略的な構成の一例を示すブロック図である。
【図２１Ａ】量子化行列に関するシンタックスの例を示す図である。
【図２１Ｂ】量子化行列に関するシンタックスの例を示す図である。
【図２２】基準軸設定のパターンの例を説明する図である。
【図２３】残差量子化行列の他の例を説明する図である。
【図２４】補間方法の他の例を説明する図である。
【図２５】補間方法の他の例を説明する図である。
【図２６】量子化行列の量子化を説明する図である。
【図２７】VLCテーブル選択について説明する図である。
【図２８Ａ】量子化行列に関するシンタックスの例を示す図である。
【図２８Ｂ】量子化行列に関するシンタックスの例を示す図である。
【図２８Ｃ】量子化行列に関するシンタックスの例を示す図である。
【図２８Ｄ】量子化行列に関するシンタックスの例を示す図である。
【図２９】パーソナルコンピュータの主な構成例を示すブロック図である。
【図３０】Ｈ．２６４／ＡＶＣにおいて定義されている量子化行列を示す説明図である。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照しながら、好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【００２２】
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
０．着目点とポイント
１．実施形態に係る画像符号化装置の構成例
１−１．全体的な構成例
１−２．直交変換・量子化部の構成例
１−３．行列処理部の詳細な構成例
２．実施形態に係る符号化時の処理の流れ
３．実施形態に係る画像復号装置の構成例
３−１．全体的な構成例
３−２．逆量子化・逆直交変換部の構成例
３−３．行列生成部の詳細な構成例
４．実施形態に係る復号時の処理の流れ
５．シンタックス
６．応用例
７．まとめ
【００２３】
＜０．着目点とポイント＞
本節では、着目点とポイントについて説明する。
【００２４】
Ｈ．２６４  ＡＶＣ（Advanced Video Coding）に続く次世代符号化方式として、ＨＥＶＣ（High Efficiency Video Coding）の規格化作業が始まっている。出願時の現段階において、量子化行列は採用されていないが、主観画質の向上のために今後採用される可能性が高いと考えられる。ＡＶＣでは、ＤＣＴ（Discrete Cosine Transform）のサイズは最大で８×８であったが、ＨＥＶＣでは、ＤＣＴのサイズが最大で３２×３２まで拡張されている。３２×３２では、ＤＣＴの係数は１０２４個になるため量子化行列を伝送するには非常に大きな符号量が必要になる。一般的にＡＶＣでの量子化行列の符号量は１０００ビット程度であるので、３２×３２では係数の個数が１６倍になるため、単純に計算すると１６０００ビットまで大きくなってしまうことが問題となる。
【００２５】
そこで、上記問題を解決するために単純にＤＣＴ係数の数だけ量子化行列の係数(行列要素)を伝送するのではなく、重要度の高い一部の係数(基準行列要素)をパラメータとした演算を用いて、パラメトリックな量子化マトリクスの伝送方法を用いることで符号量の削減を実現するようにする。
【００２６】
量子化行列を補間して生成する際に、重要度の高い係数(基準軸に含まれる行列要素)を可逆(ロスレス)に生成することができるようにするために、基準軸という概念を導入する。なお、ここで可逆（ロスレス）とは、復号側において、符号化側の思い通りの量子化行列の係数（符号化側が供給した情報に対応する量子化行列の係数）を生成することができることを示している。つまり、この「ロスレス」は、多くの場合、符号化側において使用された量子化行列の係数と同じ係数を復号側において生成可能であることを示すが、必ずしも、符号化側において使用された量子化行列の係数と、復号側において生成される係数とが一致しなければならないわけではない。基準軸に含まれる行列要素は、復号側に伝送する行列要素(基準行列要素)をパラメータとする演算を用いて、復号側で算出される。そして、基準軸に含まれない行列要素は、補間処理によって復号側で算出される。符号化側は、基準行列要素だけを伝送してもよいし、基準行列要素と行列要素の差分をさらに伝送することもできる。このようにすることにより、量子化行列の符号量の削減におおきく寄与する。
【００２７】
基準軸の設定は、画像の走査方式（インタレース・プログレッシブ）に応じて行うのが望ましい。例えば、インタレース信号の残差係数は、縦方向と横方向で分布が異なる。そのため、量子化行列も、縦方向と横方向の行列の形を変えた方がよい（係数分布を縦方向と横方向で変えることが望ましい）。これに対して、プログレッシブ信号の残差係数の分布は、縦方向と横方向で対称に近い。そのため、量子化行列の係数分布も、縦方向と横方向とで対称となるようにするのが望ましい。以上のことから、量子化行列は、インタレース・プログレッシブに起因して対称性を有するように設定されたり、非対称性を有するように設定されたりする。したがって、基準軸の設定もその量子化行列の特徴（対称性・非対称性）に応じて行うのが望ましい。例えば、プログレッシブでは、縦軸と横軸のうち一方の軸の基準行列要素(と差分)を設定・伝送 するようにする(復号側では軸のコピーを行う)。インタレースでは、縦軸と横軸の両方を設定・伝送するようにする。
【００２８】
斜め軸の設定・伝送については、インタレース・プログレッシブ、イントラマクロブロック・インターマクロブロックに起因して、予測残差のＤＣＴ後の分布には特性がある。
（Ａ）プログレッシブ、イントラマクロブロック：
高周波ほど値が小さく、縦方向の分布の様子と横方向の分布の様子が略対称
（Ｂ）プログレッシブ、インターマクロブロック：
高周波ほど値が小さいが、傾きはイントラマクロブロックよりも緩やかであり、縦方向の分布の様子と横方向の分布の様子が略対称
（Ｃ）インタレース、イントラマクロブロック：
高周波ほど値が小さく、縦方向に分布が集中し、縦方向の分布の様子と横方向の分布の様子が非対称
（Ｄ）インタレース、インターマクロブロック：
高周波ほど値が小さいが、傾きはイントラマクロブロックよりも緩やかであり、縦方向に分布が集中し、縦方向の分布の様子と横方向の分布の様子が非対称
このように、行列の形(係数分布の傾き、縦方向の係数分布の偏り)を考慮すると、斜め軸を設定・伝送して、斜め軸に含まれる行列要素をロスレスに生成した上で、縦軸・横軸・斜め軸を用いた補間処理を行う方が補間精度は高くなる(斜め軸の設定・伝送に伴う符号量の増加はわずか)。したがって、斜め軸を設定・伝送することができるようにすることは、非常に重要な要素である。さらには、量子化行例が正方行列であること、処理の対称性等を考慮すると、縦軸と横軸との間に等角度で斜め軸を設定すれば好適である。
【００２９】
以上をまとめると、主なポイントは以下になる：
・量子化行列を伝送する際に、基準軸という概念を導入すること。
・量子化行列の特性を考慮して、縦軸・横軸・斜め軸の３つの基準軸を導入すること。
・基準軸に含まれる行列要素を復号側でロスレスに生成するために、基準行列要素をパラメータとする演算(差分モード・演算モード)を導入すること。
・基準行列要素をパラメータとする演算に従って、基準軸に含まれる行列要素を生成し、基準軸に含まれない行列要素は、基準軸に含まれる行列要素を用いた補間処理によって生成すること。
・量子化行列と生成された補間量子化行列との差分である残差量子化行列を設定・伝送すること。
【００３０】
＜１．実施形態に係る画像符号化装置の構成例＞
本節では、本開示の一実施形態に係る画像符号化装置の構成例について説明する。
【００３１】
［１−１．全体的な構成例］
図１は、本開示の一実施形態に係る画像符号化装置１０の構成の一例を示すブロック図である。図１を参照すると、画像符号化装置１０は、Ａ／Ｄ（Analogue  to  Digital）変換部１１（Ａ／Ｄ）、並べ替えバッファ１２、減算部１３、直交変換・量子化部１４、可逆符号化部１６、蓄積バッファ１７、レート制御部１８、逆量子化部２１、逆直交変換部２２、加算部２３、デブロックフィルタ２４、フレームメモリ２５、セレクタ２６、イントラ予測部３０、動き探索部４０、及びモード選択部５０を備える。
【００３２】
Ａ／Ｄ変換部１１は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並べ替えバッファ１２へ出力する。
【００３３】
並べ替えバッファ１２は、Ａ／Ｄ変換部１１から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ１２は、符号化処理に係るＧＯＰ（Group  of  Pictures）構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部１３、イントラ予測部３０及び動き探索部４０へ出力する。
【００３４】
減算部１３には、並べ替えバッファ１２から入力される画像データ、及び後に説明するモード選択部５０により選択される予測画像データが供給される。減算部１３は、並べ替えバッファ１２から入力される画像データとモード選択部５０から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換・量子化部１４へ出力する。
【００３５】
直交変換・量子化部１４は、減算部１３から入力される予測誤差データについて直交変換及び量子化を行い、量子化された変換係数データ（以下、量子化データという）を可逆符号化部１６及び逆量子化部２１へ出力する。直交変換・量子化部１４から出力される量子化データのビットレートは、レート制御部１８からのレート制御信号に基づいて制御される。直交変換・量子化部１４の詳細な構成について、後にさらに説明する。
【００３６】
可逆符号化部１６には、直交変換・量子化部１４から入力される量子化データ及び復号側で量子化行列を生成するための情報、並びに、モード選択部５０により選択されるイントラ予測又はインター予測に関する情報が供給される。イントラ予測に関する情報は、例えば、ブロックごとの最適なイントラ予測モードを示す予測モード情報を含み得る。また、インター予測に関する情報は、例えば、ブロックごとの動きベクトルの予測のための予測モード情報、差分動きベクトル情報、及び参照画像情報などを含み得る。
【００３７】
可逆符号化部１６は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部１６による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部１６は、後に詳しく説明する量子化行列を生成するための情報を、符号化ストリームのヘッダ（例えばシーケンスパラメータセット及びピクチャパラメータセット）内に多重化する。さらに、可逆符号化部１６は、上述したイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ内に多重化する。そして、可逆符号化部１６は、生成した符号化ストリームを蓄積バッファ１７へ出力する。
【００３８】
蓄積バッファ１７は、可逆符号化部１６から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ１７は、蓄積した符号化ストリームを、伝送路（又は画像符号化装置１０からの出力線）の帯域に応じたレートで出力する。
【００３９】
レート制御部１８は、蓄積バッファ１７の空き容量を監視する。そして、レート制御部１８は、蓄積バッファ１７の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を直交変換・量子化部１４へ出力する。例えば、レート制御部１８は、蓄積バッファ１７の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部１８は、蓄積バッファ１７の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
【００４０】
逆量子化部２１は、直交変換・量子化部１４から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部２１は、逆量子化処理により取得される変換係数データを、逆直交変換部２２へ出力する。
【００４１】
逆直交変換部２２は、逆量子化部２１から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部２２は、復元した予測誤差データを加算部２３へ出力する。
【００４２】
加算部２３は、逆直交変換部２２から入力される復元された予測誤差データとモード選択部５０から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部２３は、生成した復号画像データをデブロックフィルタ２４及びフレームメモリ２５へ出力する。
【００４３】
デブロックフィルタ２４は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ２４は、加算部２３から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ２５へ出力する。
【００４４】
フレームメモリ２５は、加算部２３から入力される復号画像データ、及びデブロックフィルタ２４から入力されるフィルタリング後の復号画像データを、記憶媒体を用いて記憶する。
【００４５】
セレクタ２６は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ２５から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部３０に供給する。また、セレクタ２６は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ２５から読み出し、読み出した復号画像データを参照画像データとして動き探索部４０に供給する。
【００４６】
イントラ予測部３０は、並べ替えバッファ１２から入力される符号化対象の画像データ、及びセレクタ２６を介して供給される復号画像データに基づいて、各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部３０は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部３０は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部３０は、当該最適なイントラ予測モードを示す予測モード情報、予測画像データ、及びコスト関数値などのイントラ予測に関する情報を、モード選択部５０へ出力する。
【００４７】
動き探索部４０は、並べ替えバッファ１２から入力される符号化対象の画像データ、及びセレクタ２６を介して供給される復号画像データに基づいて、インター予測処理（フレーム間予測処理）を行う。例えば、動き探索部４０は、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、動き探索部４０は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、動き探索部４０は、当該最適な予測モードに従って予測画像データを生成する。そして、動き探索部４０は、選択した最適な予測モードを表す予測モード情報を含むインター予測に関する情報、予測画像データ、及びコスト関数値などのインター予測に関する情報を、モード選択部５０へ出力する。
【００４８】
モード選択部５０は、イントラ予測部３０から入力されるイントラ予測に関するコスト関数値と動き探索部４０から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部５０は、イントラ予測及びインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部５０は、イントラ予測を選択した場合には、イントラ予測に関する情報を可逆符号化部１６へ出力すると共に、予測画像データを減算部１３及び加算部２３へ出力する。また、モード選択部５０は、インター予測を選択した場合には、インター予測に関する上述した情報を可逆符号化部１６へ出力すると共に、予測画像データを減算部１３及び加算部２３へ出力する。
【００４９】
［１−２．直交変換・量子化部の構成例］
図２は、図１に示した画像符号化装置１０の直交変換・量子化部１４の詳細な構成の一例を示すブロック図である。図２を参照すると、直交変換・量子化部１４は、選択部１１０、直交変換部１２０、量子化部１３０、量子化行列バッファ１４０及び行列処理部１５０を有する。
【００５０】
（１）選択部
選択部１１０は、サイズの異なる複数の変換単位から、符号化される画像データの直交変換のために使用される変換単位（ＴＵ）を選択する。選択部１１０により選択され得る変換単位のサイズの候補は、例えば、Ｈ．２６４／ＡＶＣでは４×４及び８×８を含み、ＨＥＶＣでは４×４、８×８、１６×１６及び３２×３２を含む。選択部１１０は、例えば、符号化される画像のサイズ若しくは画質、又は装置の性能などに応じていずれかの変換単位を選択してよい。選択部１１０による変換単位の選択は、装置を開発するユーザによってハンドチューニングされてもよい。そして、選択部１１０は、選択した変換単位のサイズを指定する情報を、直交変換部１２０、量子化部１３０、可逆符号化部１６及び逆量子化部２１へ出力する。
【００５１】
（２）直交変換部
直交変換部１２０は、選択部１１０により選択された変換単位で、減算部１３から供給される画像データ（即ち、予測誤差データ）を直交変換する。直交変換部１２０により実行される直交変換は、例えば、離散コサイン変換（Discrete  Cosine  Transform：ＤＣＴ）又はカルーネン・レーベ変換などであってよい。そして、直交変換部１２０は、直交変換処理により取得される変換係数データを量子化部１３０へ出力する。
【００５２】
（３）量子化部
量子化部１３０は、選択部１１０により選択された変換単位に対応する量子化行列を用いて、直交変換部１２０により生成された変換係数データを量子化する。また、量子化部１３０は、レート制御部１８からのレート制御信号に基づいて量子化ステップを切り替えることにより、出力される量子化データのビットレートを変化させる。
【００５３】
また、量子化部１３０は、選択部１１０により選択され得る複数の変換単位にそれぞれ対応する量子化行列のセットを、量子化行列バッファ１４０に記憶させる。例えば、ＨＥＶＣのように４×４、８×８、１６×１６及び３２×３２という４種類のサイズの変換単位の候補が存在する場合には、これら４種類のサイズにそれぞれ対応する４種類の量子化行列のセットが、量子化行列バッファ１４０により記憶され得る。
【００５４】
量子化部１３０により使用される可能性のある量子化行列のセットは、典型的には、符号化ストリームのシーケンスごとに設定され得る。また、量子化部１３０は、シーケンスごとに設定した量子化行列のセットを、ピクチャごとに更新してもよい。このような量子化行列のセットの設定及び更新を制御するための情報は、例えば、シーケンスパラメータセット及びピクチャパラメータセットに挿入され得る。
【００５５】
（４）量子化行列バッファ
量子化行列バッファ１４０は、メモリなどの記憶媒体を用いて、選択部１１０により選択され得る複数の変換単位にそれぞれ対応する量子化行列のセットを一時的に記憶する。量子化行列バッファ１４０により記憶される量子化行列のセットは、次に説明する行列処理部１５０による処理に際して参照される。
【００５６】
（５）行列処理部
行列処理部１５０は、符号化ストリームのシーケンスごとに及びピクチャごとに、量子化行列バッファ１４０に記憶されている量子化行列のセットを参照し、ある１つのサイズの変換単位に対応する量子化行列を基準量子化行列として設定する。行列処理部１５０は、基準量子化行列に含まれる行列要素(基準行列要素)から一部の行列要素(選択行列要素)を選択して伝送する。
【００５７】
［１−３．行列処理部の詳細な構成例］
図３は、図２に示した直交変換・量子化部１４の行列処理部１５０のさらに詳細な構成の一例を示すブロック図である。図３を参照すると、行列処理部１５０は、軸設定部１５１、縦軸設定部１５２、横軸設定部１５３、斜め軸設定部１５４、補間処理部１５５、パラメータ生成部１５６、および残差処理部１５７を含む。
【００５８】
以下では、主に図４に示した８×８の量子化行列を例にして行列処理部１５０で行われる処理を説明する。図４に示される量子化行列は、量子化行列バッファ１４０から行列処理部１５０に供給される量子化行列の一例である。
【００５９】
（１）軸設定部
軸設定部１５１は、量子化行列のタイプに応じて、伝送する行列要素を含む基準軸を設定する。例えば、量子化行列が、
・対称性を有している場合には：縦軸(図５Ａ)と斜め軸(図５Ｃ)
・対称性を有していない場合には：縦軸(図５Ａ)と横軸(図５Ｂ)と斜め軸(図５Ｃ)
を基準軸として設定する。なお、対称性とは、量子化行列が対称行列であるか、若しくは対称行列に近似する（所定の基準に基づいて略対称行列である）ことを示す。対称行列に近似する場合、どの程度の近似までを「対称性を有する」とするかは任意である。また、例えば、軸設定部１５１は、図５Ａに示されるように、量子化行列の最も左の列を縦軸として設定する。さらに、軸設定部１５１は、例えば、図５Ｂに示されるように、量子化行列の最も上の行を横軸として設定する。また、軸設定部１５１は、例えば、図５Ｃに示されるように、量子化行列の対角成分を斜め軸として設定する。また、軸設定部１５１は、縦軸の行列要素と横軸の行列要素とが同一であるか(軸をコピーするか)を識別する同一識別データ(Copyflag)、斜め軸を設定するかを示す斜め軸識別データを設定する。また、軸設定部１５１は、設定した基準軸の行列要素を伝送する手法(伝送モード：後述する差分モード・演算モード)を識別するモードデータをそれぞれ設定する。
【００６０】
（２）縦軸設定部
縦軸設定部１５２は、軸設定部１５１で設定された縦軸(基準軸)を対象として、量子化行列要素を伝送する手法(伝送モード)に応じて、伝送する量子化行列の要素を基準行列要素として選択する。
【００６１】
縦軸設定部１５２は、伝送モードが差分モードである場合、最初の行列要素(r0)を基準行列要素(rs)として選択し、基準行列要素を用いた補間演算を設定する(前の行列要素との差分Δを設定する)。例えば、図５Ａに示すように、差分モードでは以下のように設定する。
差分モード：(8, 2, 2, 2, 2, 2, 2, 2)
なお、図５Ａは、量子化行列が対称性を有する場合の例を示すものであり、図４の例とは係数分布が異なっている（図４の例の横軸（最も上の行）と同様の分布となっている）。
【００６２】
縦軸設定部１５２は、伝送モードが演算モードである場合には、最初の行列要素(r0)と最後の行列要素(r7)に外挿補間した行列要素(r8)とを基準行列要素(rs/re)として選択する。例えば、図５Ａに示すように、演算モードでは以下のように設定する。
演算モード：(8, 24)
また、基準行列要素を用いた補間演算を以下のように設定する。
i=0; i<=8; i++ r[i] = (rs * (8-i) + re * i + 4) / 8;
ここで、基準行列要素に外挿補間した行列要素を用いる理由は、８で除算ができるようにしているためである。
【００６３】
（３）横軸設定部
横軸設定部１５３は、軸設定部１５１で設定された横軸(基準軸)を対象として、量子化行列要素を伝送する手法(伝送モード)に応じて、伝送する量子化行列の要素を基準行列要素として選択する。ただし、量子化行列が対称性を有している(縦軸と横軸が同じ)である場合には、処理をスキップする。
【００６４】
横軸設定部１５３は、伝送モードが差分モードである場合には、最初の行列要素(c0)を基準行列要素(cs)として選択し、基準行列要素を用いた補間演算を設定する(前の行列要素との差分Δを設定する)。例えば、図５Ｂに示すように、差分モードでは以下のように設定する。
差分モード：(2, 2, 2, 2, 2, 2, 2)
最初の行列要素(c0)は、縦軸設定部１５２における基準行列要素と重複するため、改めて設定・伝送する必要はない。
【００６５】
横軸設定部１５３は、伝送モードが演算モードである場合には、最初の行列要素(c0)と最後の行列要素(c7)に外挿補間した行列要素(c8)とを基準行列要素(cs/ce)として選択する。例えば、図５Ｂに示すように、演算モードでは以下のように設定する。
演算モード：(24)
最初の行列要素(c0)は、縦軸設定部１５２における基準行列要素と重複するため、改めて設定・伝送する必要はない。また、基準行列要素を用いた補間演算を以下のように設定する。
i=0; i<=8; i++ r[i] = (cs * (8-i) + ce * i + 4) / 8;
ここで、基準行列要素に外挿補間した行列要素を用いる理由は、８で除算ができるようにしているためである。
【００６６】
（４）斜め軸設定部
斜め軸設定部１５４は、軸設定部１５１で設定された斜め軸(基準軸)を対象として、量子化行列要素を伝送する手法(伝送モード)に応じて、伝送する量子化行列の要素を基準行列要素として選択する。
【００６７】
斜め軸設定部１５４は、伝送モードが差分モードである場合には、最初の行列要素(x0)を基準行列要素(xs)として選択し、基準行列要素を用いた補間演算を設定する(前の行列要素との差分Δを設定する)。例えば、図５Ｃに示すように、差分モードでは以下のように設定する。
差分モード：(6, 6, 6, 6, 6, 6, 6)
最初の行列要素(x0)は、縦軸設定部１５２における基準行列要素又は横軸設定部１５３における基準行列要素と重複するため、改めて設定・伝送する必要はない。
【００６８】
斜め軸設定部１５４は、伝送モードが演算モードである場合には、最初の行列要素(x0)と最後の行列要素(x7)に外挿補間した行列要素(x8)とを基準行列要素(xs/xe)として選択する。例えば、図５Ｃに示すように、演算モードでは以下のように設定する。
演算モード：(56)
最初の行列要素(x0)は、縦軸設定部１５２における基準行列要素又は横軸設定部１５３における基準行列要素と重複するため、改めて設定・伝送する必要はない。また、基準行列要素を用いた補間演算を以下のように設定する。
i=0; i<=8; i++ r[i] = (xs * (8-i) + xe * i + 4) / 8;
ここで、基準行列要素に外挿補間した行列要素を用いる理由は、８で除算ができるようにしているためである。
【００６９】
（５）補間処理部
補間処理部１５５は、後述する残差量子化行列を伝送する場合に、縦軸設定部１５２における基準行列要素、横軸設定部１５３における基準行列要素、斜め軸設定部１５４における基準行列要素、を用いて補間処理を行い、補間量子化行列を設定する。
【００７０】
補間処理部１５５は、図６Ａに示すように、横軸と斜め軸とを用いて以下のような補間処理を行って、行列要素を設定する：
e12 =  (e02+e22+1)/2;
e13 =  (e04+e22+1)/2;
e23 =  (e13+e33+1)/2;
e14 =  (e23+e05+1)/2;
e24 =  (e04+e44+1)/2;
e34 =  (e24+e44+1)/2;
e15 =  (e24+e06+1)/2;
e35 =  (e15+e55+1)/2;
e25 =  (e15+e35+1)/2;
e45 =  (e35+e55+1)/2;
e16 =  (e25+e07+1)/2;
e36 =  (e06+e66+1)/2;
e26 =  (e16+e36+1)/2;
e46 =  (e26+e66+1)/2;
e56 =  (e46+e66+1)/2;
e17 =  (e07+e16+1)/2;
e47 =  (e17+e77+1)/2;
e27 =  (e07+e47+1)/2;
e37 =  (e27+e47+1)/2;
e57 =  (e37+e77+1)/2;
e67 =  (e57+e77+1)/2;
図６Ａに示された[番号]は処理する順番の一例(縦方向の補間と斜め方向の補間とを分けて行う)を示す。
【００７１】
補間処理部１５５は、図６Ｂに示すように、縦軸と斜め軸とを用いて以下のような補間処理を行って、行列要素を設定する：
e21 =  (e20+e22+1)/2;
e31 =  (e40+e22+1)/2;
e32 =  (e31+e33+1)/2;
e41 =  (e32+e50+1)/2;
e42 =  (e40+e44+1)/2;
e43 =  (e42+e44+1)/2;
e51 =  (e42+e60+1)/2;
e53 =  (e51+e55+1)/2;
e52 =  (e51+e53+1)/2;
e54 =  (e53+e55+1)/2;
e61 =  (e52+e70+1)/2;
e63 =  (e60+e66+1)/2;
e62 =  (e61+e63+1)/2;
e64 =  (e62+e66+1)/2;
e65 =  (e64+e66+1)/2;
e71 =  (e70+e61+1)/2;
e74 =  (e71+e77+1)/2;
e72 =  (e70+e74+1)/2;
e73 =  (e72+e74+1)/2;
e75 =  (e73+e77+1)/2;
e76 =  (e75+e77+1)/2;
図６Ｂに示された（番号）は処理する順番の一例(横方向の補間と斜め方向の補間とを分けて行う)を示す。
【００７２】
この結果、補間処理部１５５は、図７Ａに示すように、補間量子化行列を設定する。
【００７３】
（６）残差処理部
残差処理部１５７は、量子化行列(図４)と補間処理部１５５によって設定された補間量子化行列(図７Ａ)との残差をとって、残差量子化行列(図７Ｂ)を設定する。その際、残差処理部１５７は、残差量子化行列を設定したことを示すフラグである残差識別データを生成する。また、残差処理部１５７は、残差量子化行列に対して符号化(例えば差分符号化又はランレングス符号化)を行う。その際、残差処理部１５７は、残差量子化行列の符号化方法を示すフラグである残差符号化識別データを設定する。
【００７４】
（７）パラメータ生成部
パラメータ生成部１５６は、縦軸設定部１５２で設定された基準行列要素、横軸設定部１５３で設定された基準行列要素、斜め軸設定部１５４で設定された基準行列要素、残差処理部１５７で生成された行列要素の差分や残差符号化識別データ等をパラメータとして伝送する。
【００７５】
＜２．実施形態に係る符号化時の処理の流れ＞
図８乃至図１０は、本実施形態に係る符号化時の処理の流れの例を示すフローチャートである。
【００７６】
図８のフローチャートを参照して、行列処理部１５０により実行される行列処理の流れの例を説明する。
【００７７】
行列処理が開始されると、行列処理部１５０の軸設定部１５１は、ステップＳ１０１において、伝送モードを設定し、さらに、量子化行列のタイプを判定し、行列が対称であるか否かを判定する。量子化行列が対称行列である、若しくは、量子化行列が対称行列に近似すると判定された場合、軸設定部１５１は、量子化行列の最も左の列を、図７Ａに一例を示した補間量子化行列の縦軸（基準軸）として設定する。また、軸設定部１５１は、同一識別データ（Copyflag）を、縦軸の行列要素と横軸の行列要素が同一であることを示す値に設定する。さらに、軸設定部１５１は、処理をステップＳ１０２に進める。
【００７８】
ステップＳ１０２において、縦軸設定部１５２は、その縦軸についての設定を行う。この縦軸設定処理の流れは、図９Ａのフローチャートを参照して後述する。縦軸の設定が終了すると縦軸設定部１５２は、処理をステップＳ１０５に進める。
【００７９】
また、ステップＳ１０１において、量子化行列が対称行列で無く、近似もしないと判定された場合、軸設定部１５１は、量子化行列の最も左の列を、図７Ａに一例を示した補間量子化行列の縦軸（基準軸）として設定し、さらに、量子化行列の最も上の行を、図７Ａに一例を示した補間量子化行列の横軸（基準軸）として設定する。また、軸設定部１５１は、同一識別データ（Copyflag）を、縦軸の行列要素と横軸の行列要素が同一でないことを示す値に設定する。さらに、軸設定部１５１は、処理をステップＳ１０３に進める。
【００８０】
ステップＳ１０３において、縦軸設定部１５２は、ステップＳ１０２の場合と同様に、その縦軸についての設定を行う。ステップＳ１０４において、横軸設定部１５３は、その横軸についての設定を行う。この横軸設定処理の流れは、図９Ｂのフローチャートを参照して後述する。横軸の設定が終了すると横軸設定部１５３は、処理をステップＳ１０５に進める。
【００８１】
ステップＳ１０５において、軸設定部１５１は、斜め軸を設定するか否かを判定する。斜め軸を設定すると判定された場合、軸設定部１５１は、量子化行列の対角成分を、図７Ａに一例を示した補間量子化行列の斜め軸（基準軸）として設定する。また、軸設定部１５１は、斜め軸識別データを、斜め軸を設定することを示す値に設定する。さらに、軸設定部１５１は、処理をステップＳ１０６に進める。ステップＳ１０６において、斜め軸設定部１５４は、その斜め軸についての設定を行う。この斜め軸設定処理の流れは、図９Ｃのフローチャートを参照して後述する。
【００８２】
ステップＳ１０６の処理が終了すると斜め軸設定部１５４は、処理をステップＳ１０７に進める。また、ステップＳ１０５において、斜め軸を設定しないと判定された場合、軸設定部１５１は、斜め軸識別データを、斜め軸を設定しないことを示す値に設定する。また、軸設定部１５１は、処理をステップＳ１０７に進める。
【００８３】
ステップＳ１０７において、残差処理部１５７は、図７Ｂに一例を示した残差量子化行列を伝送するか否かを判定する。ユーザやアプリケーションの指示や設定等に基づいて残差量子化行列を伝送すると判定された場合、残差処理部１５７は、処理をステップＳ１０８に進める。
【００８４】
ステップＳ１０８において、補間処理部１５５は、図７Ａに一例を示した補間量子化行列の軸以外の各行列要素を補間処理により生成する。ステップＳ１０９において、残差処理部１５７は、量子化行列と、以上のように生成された補間量子化行列との各行列要素の差分を算出し、図７Ｂに一例を示した残差量子化行列を生成する。また、残差処理部１５７は、残差量子化行列を設定したことを示すフラグである残差識別データや、残差量子化行列の符号化方法を示すフラグである残差符号化識別データ等を生成する。
【００８５】
ステップＳ１１０において、パラメータ生成部１５６は、伝送処理２を実行し、生成された各データをパラメータとして伝送させる。伝送処理２の詳細については、図１０Ｂを参照して後述する。
【００８６】
また、ステップＳ１０７において、残差量子化行列を伝送しないと判定された場合、残差処理部１５７は、処理をステップＳ１１１に進める。
【００８７】
ステップＳ１１１において、パラメータ生成部１５６は、伝送処理１を実行し、生成された各データをパラメータとして伝送させる。伝送処理１の詳細については、図１０Ａを参照して後述する。
【００８８】
ステップＳ１１０若しくはステップＳ１１１の処理が終了すると、行列処理が終了される。
【００８９】
次に、図９Ａのフローチャートを参照して、縦軸設定部１５２により実行される縦軸設定処理の流れの例を説明する。
【００９０】
縦軸設定処理が開始されると、縦軸設定部１５２は、ステップＳ１２１において、伝送モードを参照し、ステップＳ１２２において、伝送モードが差分モードであるか否かを判定する。差分モードであると判定された場合、縦軸設定部１５２は、処理をステップＳ１２３に進める。
【００９１】
ステップＳ１２３において、縦軸設定部１５２は、縦軸の最初の（例えば一番上の）行列要素（r0）を基準行列要素（rs）として選択する。ステップＳ１２４において、縦軸設定部１５２は、基準行列要素を用いた演算（例えば前の行列要素との差分Δ）を設定する。
【００９２】
ステップＳ１２５において、縦軸設定部１５２は、処理対象が縦軸の最後の行列要素であるか否かを判定し、最後であると判定されるまで、処理対象を次の（例えば１つ下の）行列要素に進めながら、ステップＳ１２４の処理を繰り返す。つまり、この差分モードの場合、縦軸は、基準行列要素（rs）と差分Δにより表される。ステップＳ１２５において、処理対象が最後の行列要素であると判定された場合、縦軸設定部１５２は、縦軸設定処理を終了し、図８の処理に戻る。
【００９３】
また、図９ＡのステップＳ１２２において、伝送モードが演算モードであると判定された場合、縦軸設定部１５２は、処理をステップＳ１２６に進める。ステップＳ１２６において、縦軸設定部１５２は、縦軸の最初の行列要素（r0）と最後の行列要素（r7）に外挿補間した行列要素（r8）とを基準行列要素（rs/re）として選択する（i=0）。
【００９４】
ステップＳ１２７において、縦軸設定部１５２は、以下に示される例のような、演算モードの基準行列要素を用いた演算を設定する。
【００９５】
i=0; i<=8; i++  r[i] = (rs×(8-i)+re×i+4)/8;
【００９６】
つまり、この演算モードの場合、縦軸は、基準行列要素（rs/re）と演算により表される。演算を設定すると縦軸設定部１５２は、縦軸設定処理を終了し、図８の処理に戻る。
【００９７】
次に、図９Ｂのフローチャートを参照して、横軸設定部１５３により実行される横軸設定処理の流れの例を説明する。
【００９８】
横軸設定処理が開始されると、横軸設定部１５３は、ステップＳ１３１において、伝送モードを参照し、ステップＳ１３２において、伝送モードが差分モードであるか否かを判定する。差分モードであると判定された場合、横軸設定部１５３は、処理をステップＳ１３３に進める。
【００９９】
ステップＳ１３３において、横軸設定部１５３は、横軸の最初の（例えば一番左の）行列要素（c0）を基準行列要素（cs）として選択する。ステップＳ１３４において、横軸設定部１５３は、基準行列要素を用いた演算（例えば前の行列要素との差分Δ）を設定する。
【０１００】
ステップＳ１３５において、横軸設定部１５３は、処理対象が横軸の最後の行列要素であるか否かを判定し、最後であると判定されるまで、処理対象を次の（例えば１つ右の）行列要素に進めながら、ステップＳ１３４の処理を繰り返す。つまり、この差分モードの場合、横軸は、差分Δにより表される。ステップＳ１３５において、処理対象が最後の行列要素であると判定された場合、横軸設定部１５３は、横軸設定処理を終了し、図８の処理に戻る。
【０１０１】
また、図９ＢのステップＳ１３２において、伝送モードが演算モードであると判定された場合、横軸設定部１５３は、処理をステップＳ１３６に進める。ステップＳ１３６において、横軸設定部１５３は、横軸の最初の行列要素（c0）と最後の行列要素（c7）に外挿補間した行列要素（c8）とを基準行列要素（cs/ce）として選択する。
【０１０２】
ステップＳ１３７において、横軸設定部１５３は、以下に示される例のような、演算モードの基準行列要素を用いた演算を設定する。
【０１０３】
i=0; i<=8; i++  c[i] = (cs×(8-i)+ce×i+4)/8;
【０１０４】
つまり、この演算モードの場合、横軸は、基準行列要素（cs/ce）と演算により表される。演算を設定すると横軸設定部１５３は、横軸設定処理を終了し、図８の処理に戻る。
【０１０５】
次に、図９Ｃのフローチャートを参照して、斜め軸設定部１５４により実行される斜め軸設定処理の流れの例を説明する。
【０１０６】
斜め軸設定処理が開始されると、斜め軸設定部１５４は、ステップＳ１４１において、伝送モードを参照し、ステップＳ１４２において、伝送モードが差分モードであるか否かを判定する。差分モードであると判定された場合、斜め軸設定部１５４は、処理をステップＳ１４３に進める。
【０１０７】
ステップＳ１４３において、斜め軸設定部１５４は、斜め軸の最初の（例えば一番左上の）行列要素（x0）を基準行列要素（xs）として選択する。ステップＳ１４４において、斜め軸設定部１５４は、基準行列要素を用いた演算（例えば前の行列要素との差分Δ）を設定する。
【０１０８】
ステップＳ１４５において、斜め軸設定部１５４は、処理対象が斜め軸の最後の行列要素であるか否かを判定し、最後であると判定されるまで、処理対象を次の（例えば１つ右下の）行列要素に進めながら、ステップＳ１４４の処理を繰り返す。つまり、この差分モードの場合、斜め軸は、差分Δにより表される。ステップＳ１４５において、処理対象が最後の行列要素であると判定された場合、斜め軸設定部１５４は、斜め軸設定処理を終了し、図８の処理に戻る。
【０１０９】
また、図９ＣのステップＳ１４２において、伝送モードが演算モードであると判定された場合、斜め軸設定部１５４は、処理をステップＳ１４６に進める。ステップＳ１４６において、斜め軸設定部１５４は、斜め軸の最初の行列要素（x0）と最後の行列要素（x7）に外挿補間した行列要素（x8）とを基準行列要素（xs/xe）として選択する。
【０１１０】
ステップＳ１４７において、斜め軸設定部１５４は、以下に示される例のような、演算モードの基準行列要素を用いた演算を設定する。
【０１１１】
i=0; i<=8; i++
x[i] = (xs×(8-i)+xe×i+4)/8;
【０１１２】
つまり、この演算モードの場合、斜め軸は、基準行列要素（xs/xe）と演算により表される。演算を設定すると斜め軸設定部１５４は、斜め軸設定処理を終了し、図８の処理に戻る。
【０１１３】
次に、図１０Ａのフローチャートを参照して、パラメータ生成部１５６により実行される伝送処理１の流れの例を説明する。伝送処理１が開始されると、パラメータ生成部１５６は、ステップＳ１５１において、伝送モードが差分モードであるか演算モードであるかを識別する識別データ（フラグ）を設定する。
【０１１４】
ステップＳ１５２において、パラメータ生成部１５６は、伝送モードが差分モードであるか否かを判定する。差分モードであると判定された場合、パラメータ生成部１５６は、処理をステップＳ１５３に進める。
【０１１５】
ステップＳ１５３において、パラメータ生成部１５６は、設定された軸の基準行列要素（rs,cs,xs）と差分Δをパラメータとして伝送する。また、パラメータ生成部１５６は、ステップＳ１５１において設定された識別データ、同一識別データ（Copyflag）、および斜め軸識別データ等もパラメータとして伝送する。ステップＳ１５３の処理を終了すると、パラメータ生成部１５６は、伝送処理１を終了し、図８の処理に戻る。
【０１１６】
また、ステップＳ１５２において演算モードであると判定された場合、パラメータ生成部１５６は、処理をステップＳ１５４に進める。
【０１１７】
ステップＳ１５４において、パラメータ生成部１５６は、設定された軸の基準行列要素（rs/re,cs/ce,xs/xe）をパラメータとして伝送する。また、パラメータ生成部１５６は、ステップＳ１５１において設定された識別データ、同一識別データ（Copyflag）、および斜め軸識別データ等もパラメータとして伝送する。ステップＳ１５４の処理を終了すると、パラメータ生成部１５６は、伝送処理１を終了し、図８の処理に戻る。
【０１１８】
次に、図１０Ｂのフローチャートを参照して、パラメータ生成部１５６により実行される伝送処理２の流れの例を説明する。伝送処理２が開始されると、パラメータ生成部１５６は、ステップＳ１６１において、伝送モードが差分モードであるか演算モードであるかを識別する識別データ（フラグ）を設定する。
【０１１９】
ステップＳ１６２において、パラメータ生成部１５６は、伝送モードが差分モードであるか否かを判定する。差分モードであると判定された場合、パラメータ生成部１５６は、処理をステップＳ１６３に進める。
【０１２０】
ステップＳ１６３において、パラメータ生成部１５６は、設定された軸の基準行列要素（rs,cs,xs）と差分Δをパラメータとして伝送する。また、パラメータ生成部１５６は、ステップＳ１６１において設定された識別データ、同一識別データ（Copyflag）、および斜め軸識別データ等もパラメータとして伝送する。ステップＳ１６３の処理を終了すると、パラメータ生成部１５６は、処理をステップＳ１６５に進める。
【０１２１】
また、ステップＳ１６２において演算モードであると判定された場合、パラメータ生成部１５６は、処理をステップＳ１６４に進める。
【０１２２】
ステップＳ１６４において、パラメータ生成部１５６は、設定された軸の基準行列要素（rs/re,cs/ce,xs/xe）をパラメータとして伝送する。また、パラメータ生成部１５６は、ステップＳ１６１において設定された識別データ、同一識別データ（Copyflag）、および斜め軸識別データ等もパラメータとして伝送する。ステップＳ１６４の処理を終了すると、パラメータ生成部１５６は、処理をステップＳ１６５に進める。
【０１２３】
ステップＳ１６５において、パラメータ生成部１５６は、図８の処理により生成された残差識別データや残差符号化識別データ等を伝送する。ステップＳ１６６において、パラメータ生成部１５６は、図８の処理により生成された残差量子化行列を伝送する。
【０１２４】
残差量子化行列を伝送すると、パラメータ生成部１５６は、伝送処理２を終了し、図８の処理に戻る。
【０１２５】
以上のように各処理を行うことにより、画像符号化装置１０は、量子化行列の符号量の増大を抑制することができる。
【０１２６】
＜３．実施形態に係る画像復号装置の構成例＞
本節では、一実施形態に係る画像復号装置の構成例について説明する。
【０１２７】
［３−１．全体的な構成例］
図１１は、本開示の一実施形態に係る画像復号装置６０の構成の一例を示すブロック図である。図１１を参照すると、画像復号装置６０は、蓄積バッファ６１、可逆復号部６２、逆量子化・逆直交変換部６３、加算部６５、デブロックフィルタ６６、並べ替えバッファ６７、Ｄ／Ａ（Digital  to  Analogue）変換部６８（Ｄ／Ａ）、フレームメモリ６９、セレクタ７０及び７１、イントラ予測部８０、並びに動き補償部９０を備える。
【０１２８】
蓄積バッファ６１は、伝送路を介して入力される符号化ストリームを、記憶媒体を用いて一時的に蓄積する。
【０１２９】
可逆復号部６２は、蓄積バッファ６１から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部６２は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、上述した量子化行列を生成するための情報、並びにブロックヘッダ内のイントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号部６２は、復号後の量子化データ及び量子化行列を生成するための情報を、逆量子化・逆直交変換部６３へ出力する。また、可逆復号部６２は、イントラ予測に関する情報をイントラ予測部８０へ出力する。また、可逆復号部６２は、インター予測に関する情報を動き補償部９０へ出力する。
【０１３０】
逆量子化・逆直交変換部６３は、可逆復号部６２から入力される量子化データについて逆量子化及び逆直交変換を行うことにより、予測誤差データを生成する。そして、逆量子化・逆直交変換部６３は、生成した予測誤差データを加算部６５へ出力する。
【０１３１】
加算部６５は、逆量子化・逆直交変換部６３から入力される予測誤差データと、セレクタ７１から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部６５は、生成した復号画像データをデブロックフィルタ６６及びフレームメモリ６９へ出力する。
【０１３２】
デブロックフィルタ６６は、加算部６５から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並べ替えバッファ６７及びフレームメモリ６９へ出力する。
【０１３３】
並べ替えバッファ６７は、デブロックフィルタ６６から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ６７は、生成した画像データをＤ／Ａ変換部６８へ出力する。
【０１３４】
Ｄ／Ａ変換部６８は、並べ替えバッファ６７から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、Ｄ／Ａ変換部６８は、例えば、画像復号装置６０と接続されるディスプレイ（図示せず）にアナログ画像信号を出力することにより、画像を表示させる。
【０１３５】
フレームメモリ６９は、加算部６５から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ６６から入力されるフィルタリング後の復号画像データを、記憶媒体を用いて記憶する。
【０１３６】
セレクタ７０は、可逆復号部６２により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ６９からの画像データの出力先をイントラ予測部８０と動き補償部９０との間で切り替える。例えば、セレクタ７０は、イントラ予測モードが指定された場合には、フレームメモリ６９から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部８０へ出力する。また、セレクタ７０は、インター予測モードが指定された場合には、フレームメモリ６９から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部９０へ出力する。
【０１３７】
セレクタ７１は、可逆復号部６２により取得されるモード情報に応じて、画像内のブロックごとに、加算部６５へ供給すべき予測画像データの出力元をイントラ予測部８０と動き補償部９０との間で切り替える。例えば、セレクタ７１は、イントラ予測モードが指定された場合には、イントラ予測部８０から出力される予測画像データを加算部６５へ供給する。セレクタ７１は、インター予測モードが指定された場合には、動き補償部９０から出力される予測画像データを加算部６５へ供給する。
【０１３８】
イントラ予測部８０は、可逆復号部６２から入力されるイントラ予測に関する情報とフレームメモリ６９からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部８０は、生成した予測画像データをセレクタ７１へ出力する。
【０１３９】
動き補償部９０は、可逆復号部６２から入力されるインター予測に関する情報とフレームメモリ６９からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部９０は、生成した予測画像データをセレクタ７１へ出力する。
【０１４０】
［３−２．逆量子化・逆直交変換部の構成例］
図１２は、図１１に示した画像復号装置６０の逆量子化・逆直交変換部６３の詳細な構成の一例を示すブロック図である。図１２を参照すると、逆量子化・逆直交変換部６３は、行列生成部２１０、選択部２３０、逆量子化部２４０及び逆直交変換部２５０を有する。
【０１４１】
（１）行列生成部
行列生成部２１０は、符号化ストリームのシーケンスごとに及びピクチャごとに、ある１つのサイズの変換単位に対応する量子化行列から、他の１つ以上のサイズの変換単位に対応する量子化行列を生成する。
【０１４２】
（２）選択部
選択部２３０は、サイズの異なる複数の変換単位から、復号される画像データの逆直交変換のために使用される変換単位（ＴＵ）を選択する。選択部２３０により選択され得る変換単位のサイズの候補は、例えば、Ｈ．２６４／ＡＶＣでは４×４及び８×８を含み、ＨＥＶＣでは４×４、８×８、１６×１６及び３２×３２を含む。選択部２３０は、例えば、符号化ストリームのヘッダ内に含まれるＬＣＵ、ＳＣＵ及びsplit_flagに基づいて、変換単位を選択してもよい。そして、選択部２３０は、選択した変換単位のサイズを指定する情報を、逆量子化部２４０及び逆直交変換部２５０へ出力する。
【０１４３】
（３）逆量子化部
逆量子化部２４０は、選択部２３０により選択された変換単位に対応する量子化行列を用いて、画像の符号化の際に量子化された変換係数データを逆量子化する。ここで逆量子化処理のために用いられる量子化行列は、行列生成部２１０により生成される行列を含む。即ち、例えば選択部２３０により８×８、１６×１６又は３２×３２の変換単位が選択された場合には、選択された変換単位に対応する量子化行列として、行列生成部２１０により４×４の量子化行列から生成された量子化行列が用いられ得る。そして、逆量子化部２４０は、逆量子化した変換係数データを逆直交変換部２５０へ出力する。
【０１４４】
（４）逆直交変換部
逆直交変換部２５０は、符号化の際に使用された直交変換方式に従い、逆量子化部２４０により逆量子化された変換係数データを上記選択された変換単位で逆直交変換することにより、予測誤差データを生成する。そして、逆直交変換部２５０は、生成した予測誤差データを加算部６５へ出力する。
【０１４５】
［３−３．行列生成部の詳細な構成例］
図１３は、図１２に示した逆量子化・逆直交変換部６３の行列生成部２１０のさらに詳細な構成の一例を示すブロック図である。図１３を参照すると、行列生成部２１０は、行列判定部２１１、軸判定部２１２、縦軸生成部２１３、横軸生成部２１４、斜め軸生成部２１５、補間処理部２１６、行列構成部２１７、残差処理部２１８を含む。
【０１４６】
（１）行列判定部
行列判定部２１１は、残差量子化行列が伝送されたかを識別する残差識別データ(フラグ：Residual_flag)を取得して、残差量子化行列が設定された(残差量子化行列を取得した)かを判定する。行列判定部２１１は、残差量子化行列が設定された場合に、残差処理部２１８において残差量子化行列を生成するように制御する。
【０１４７】
（２）軸判定部
軸判定部２１２は、伝送された基準軸に含まれる基準量子化要素(又は斜め軸が設定されたかを示す斜め軸識別データ)を取得して、補間処理を行う基準軸を判定する。軸判定部２１２は、斜め軸が設定された場合に、斜め軸生成部２１５において斜め軸に含まれる行列要素を生成するように、斜め軸生成部２１５を制御する。
【０１４８】
軸判定部２１２は、縦軸の行列要素と横軸の行列要素とが同一であるか(軸をコピーするか)を識別する同一識別データ(Copyflag)を取得して、縦軸の行列要素と横軸の行列要素とが同一である場合に、縦軸の行列要素(又は横軸の行列要素)を生成するように、縦軸生成部２１３(又は横軸生成部２１４)を制御する。
【０１４９】
（３）縦軸生成部
縦軸生成部２１３は、軸判定部２１２で設定された縦軸(基準軸)を対象として、量子化行列要素を伝送する手法(伝送モード：差分モード・演算モード)を識別するモードデータを取得して、基準行列要素を用いた演算に従って行列要素を算出する。具体的には、縦軸生成部２１３は、縦軸設定部１５２の処理(補間量子化行列を設定する際の軸設置)と同一であるため詳細の説明は省略する。
【０１５０】
（４）横軸生成部
横軸生成部２１４は、横軸設定部１５３の処理(補間量子化行列を設定する際の軸設置)と同一であるため詳細の説明は省略する。
【０１５１】
（５）斜め軸生成部
斜め軸生成部２１５は、斜め軸設定部１５４の処理(補間量子化行列を設定する際の軸設置)と同一であるため詳細の説明は省略する。
【０１５２】
（６）補間処理部
補間処理部２１６は、前述した残差量子化行列が設定された場合に、縦軸生成部２１３における行列要素、横軸生成部２１４における行列要素、斜め軸設定部２１５における行列要素、を用いて補間処理を行い、補間量子化行列を生成する。具体的には、補間処理部２１６は、補間処理部１５５の処理と同一であるため詳細の説明は省略する。この結果、補間処理部２１６は、図７Ａに示すように、補間量子化行列を設定する。
【０１５３】
（７）残差処理部
残差処理部２１８は、残差量子化行列が設定された場合に、残差量子化行列を生成する。具体的には、残差処理部２１８は、残差量子化行列が符号化方法を示す残差符号化識別データを参照して、残差量子化行列に対して符号化(例えば差分符号化又はランレングス符号化)・されたデータを、符号化方法に対する復号方法で復号して、残差量子化行列を生成する。
【０１５４】
（８）行列構成部
行列構成部２１７は、補間処理部２１６によって生成された補間量子化行列(図７Ａ)と残差処理部２１８によって生成された残差行列(図７Ｂ)とを足しあわせて、量子化行列(図４)を生成する。
【０１５５】
＜４．実施形態に係る復号化時の処理の流れ＞
図１４乃至図１５は、本実施形態に係る符号化時の処理の流れの例を示すフローチャートである。
【０１５６】
図１４のフローチャートを参照して、行列生成部２１０により実行される行列生成処理の流れの例を説明する。
【０１５７】
行列生成処理が開始されると、軸判定部２１２は、基準軸の判定を行う。より具体的には、軸判定部２１２は、ステップＳ２０１において、斜め軸識別データを取得し、斜め軸が設定されたか否かを判定する。斜め軸が設定されたと判定された場合、軸判定部２１２は、処理をステップＳ２０２に進める。
【０１５８】
ステップＳ２０２において、斜め軸生成部２１５は、伝送モードを取得し、その伝送モードの基準行列要素を用いた演算に従って斜め軸を生成する。この斜め軸生成処理の詳細については、図１５Ｃのフローチャートを参照して後述する。ステップＳ２０２の処理が終了すると斜め軸生成部２１５は、処理をステップＳ２０３に進める。また、ステップＳ２０１において、斜め軸が設定されていないと判定された場合、軸判定部２１２は、処理をステップＳ２０３に進める。
【０１５９】
ステップＳ２０３において、軸判定部２１２は、基準軸の判定を行う。より具体的には、軸判定部２１２は、同一識別データ（Copyflag）を取得し、縦軸の行列要素と横軸の行列要素とが同じであるか否かを判定する。両者が同じであると判定された場合、軸判定部２１２は、処理をステップＳ２０４に進める。
【０１６０】
ステップＳ２０４において、縦軸生成部２１３は、伝送モードを取得し、その伝送モードの基準行列要素を用いた演算に従って縦軸を生成する。この縦軸生成処理の詳細については、図１５Ａのフローチャートを参照して後述する。ステップＳ２０５において、横軸生成部２１４は、縦軸の行列要素を横軸にコピーする。ステップＳ２０５の処理が終了すると、横軸生成部２１４は、処理をステップＳ２０８に進める。
【０１６１】
また、ステップＳ２０３において、縦軸の行列要素と横軸の行列要素とが同じでないと判定された場合、軸判定部２１２は、処理をステップＳ２０６に進める。
【０１６２】
ステップＳ２０６において、縦軸生成部２１３は、伝送モードを取得し、その伝送モードの基準行列要素を用いた演算に従って縦軸を生成する。この縦軸生成処理の詳細については、図１５Ａのフローチャートを参照して後述する。ステップＳ２０７において、横軸生成部２１４は、伝送モードを取得し、その伝送モードの基準行列要素を用いた演算に従って横軸を生成する。この横軸生成処理の詳細については、図１５Ｂのフローチャートを参照して後述する。横軸が生成されると、横軸生成部２１４は、処理をステップＳ２０８に進める。
【０１６３】
ステップＳ２０８において、補間処理部２１６は、以上の処理により生成された基準軸（縦軸、横軸、斜め軸）の行列要素を用いて補間処理を行い、補間量子化行列を生成する。
【０１６４】
ステップＳ２０９において、行列判定部２１１は、残差識別データを取得し、残差量子化行列があるか否かを判定する。残差量子化行列（符号化データ）が伝送されたと判定された場合、行列判定部２１１は、処理をステップＳ２１０に進める。
【０１６５】
ステップＳ２１０において、残差処理部２１８は、残差処理を行い、伝送された残差量子化行列の符号化データをその符号化方式に対応する復号方法で復号し、残差量子化行列を生成する。残差量子化行列を生成すると、残差処理部２１８は、処理をステップＳ２１１に進める。
【０１６６】
また、ステップＳ２０９において、残差量子化行列（符号化データ）が伝送されていないと判定された場合、行列判定部２１１は、処理をステップＳ２１１に進める。
【０１６７】
ステップＳ２１１において、行列構成部２１７は、量子化行列を生成する。具体的には、行列構成部２１７は、残差量子化行列が存在しない場合、ステップＳ２０８において生成された補間量子化行列を量子化行列とする。また、残差量子化行列が存在する場合、行列構成部２１７は、ステップＳ２０８において生成された補間量子化行列とステップＳ２１０において生成され他残差量子化行列とを加算し、量子化行列とする。
【０１６８】
量子化行列を生成すると行列構成部２１７は、行列生成処理を終了する。
【０１６９】
次に、図１５Ａのフローチャートを参照して、縦軸生成処理の流れの例を説明する。
【０１７０】
縦軸生成処理が開始されると、縦軸生成部２１３は、ステップＳ２２１において、伝送モードを参照し、ステップＳ２２２においてその伝送モードが差分モードであるか否かを判定する。差分モードであると判定された場合、縦軸生成部２１３は、処理をステップＳ２２３に進める。
【０１７１】
縦軸生成部２１３は、ステップＳ２２３において、基準行列要素（rs）（例えば縦軸の一番上の行列要素）を取得し（i=1）、ステップＳ２２４において、基準行列要素（rs）以外の場合、前の行列要素との差分Δ[i-1]を取得し、ステップＳ２２５において、以下に示される例のような、差分モードの基準行列要素を用いた演算に従って行列要素を算出する。
【０１７２】
r[i] = r[i-1] + Δ[i-1] ;
i++ ;
【０１７３】
ステップＳ２２６において、縦軸生成部２１３は、処理対象が最後の行列要素（例えば縦軸の一番下の行列要素）であるか否かを判定し、最後の行列要素であると判定されるまで、処理対象を次の（１つ下の）行列要素に進めながら、ステップＳ２２４およびステップＳ２２５の処理を繰り返す。ステップＳ２２６において、最後の行列要素（i=7）であると判定された場合、縦軸生成部２１３は、縦軸生成処理を終了し、処理を図１４に戻す。
【０１７４】
また、ステップＳ２２２において、伝送モードが演算モードであると判定された場合、縦軸生成部２１３は、処理をステップＳ２２７に進める。
【０１７５】
縦軸生成部２１３は、ステップＳ２２７において、基準行列要素（rs/re）（例えば縦軸の一番上の行列要素と一番下の行列要素）を取得し（i=0）、ステップＳ２２８において、以下に示される例のような、演算モードの基準行列要素を用いた演算に従って行列要素を算出する。
【０１７６】
i=0; i<=8; i++
r[i] = (rs×(8-i)+re×i+4)/8;
【０１７７】
ステップＳ２２９において、縦軸生成部２１３は、処理対象が最後の行列要素（例えば縦軸の一番下の行列要素）であるか否かを判定し、最後の行列要素であると判定されるまで、処理対象を次の（１つ下の）行列要素に進めながら、ステップＳ２２８の処理を繰り返す。ステップＳ２２９において、最後の行列要素（i=8）であると判定された場合、縦軸生成部２１３は、縦軸生成処理を終了し、処理を図１４に戻す。
【０１７８】
次に、図１５Ｂのフローチャートを参照して、横軸生成処理の流れの例を説明する。
【０１７９】
横軸生成処理が開始されると、横軸生成部２１４は、ステップＳ２４１において、伝送モードを参照し、ステップＳ２４２においてその伝送モードが差分モードであるか否かを判定する。差分モードであると判定された場合、横軸生成部２１４は、処理をステップＳ２４３に進める。
【０１８０】
横軸生成部２１４は、ステップＳ２４３において、基準行列要素（cs）（例えば横軸の一番左の行列要素）を取得し（i=1）、ステップＳ２２４において、基準行列要素（cs）以外の場合、前の行列要素との差分Δ[i-1]を取得し、ステップＳ２２５において、以下に示される例のような、差分モードの基準行列要素を用いた演算に従って行列要素を算出する。
【０１８１】
c[i] = c[i-1] + Δ[i-1] ;
i++ ;
【０１８２】
ステップＳ２４６において、横軸生成部２１４は、処理対象が最後の行列要素（例えば横軸の一番右の行列要素）であるか否かを判定し、最後の行列要素であると判定されるまで、処理対象を次の（１つ右の）行列要素に進めながら、ステップＳ２４４およびステップＳ２４５の処理を繰り返す。ステップＳ２４６において、最後の行列要素（i=7）であると判定された場合、横軸生成部２１４は、横軸生成処理を終了し、処理を図１４に戻す。
【０１８３】
また、ステップＳ２４２において、伝送モードが演算モードであると判定された場合、横軸生成部２１４は、処理をステップＳ２４７に進める。
【０１８４】
横軸生成部２１４は、ステップＳ２４７において、基準行列要素（cs/ce）（例えば横軸の一番左の行列要素と一番右の行列要素）を取得し（i=0）、ステップＳ２４８において、以下に示される例のような、演算モードの基準行列要素を用いた演算に従って行列要素を算出する。
【０１８５】
i=0; i<=8; i++
c[i] = (cs×(8-i)+ce×i+4)/8;
【０１８６】
ステップＳ２４９において、横軸生成部２１４は、処理対象が最後の行列要素（例えば横軸の一番右の行列要素）であるか否かを判定し、最後の行列要素であると判定されるまで、処理対象を次の（１つ右の）行列要素に進めながら、ステップＳ２４８の処理を繰り返す。ステップＳ２４９において、最後の行列要素（i=8）であると判定された場合、横軸生成部２１４は、横軸生成処理を終了し、処理を図１４に戻す。
【０１８７】
次に、図１５Ｃのフローチャートを参照して、斜め軸生成処理の流れの例を説明する。
【０１８８】
斜め軸生成処理が開始されると、斜め軸生成部２１５は、ステップＳ２６１において、伝送モードを参照し、ステップＳ２６２においてその伝送モードが差分モードであるか否かを判定する。差分モードであると判定された場合、斜め軸生成部２１５は、処理をステップＳ２６３に進める。
【０１８９】
斜め軸生成部２１５は、ステップＳ２６３において、基準行列要素（xs）（例えば斜め軸の一番左上の行列要素）を取得し（i=1）、ステップＳ２６４において、基準行列要素（xs）以外の場合、前の行列要素との差分Δ[i-1]を取得し、ステップＳ２６５において、以下に示される例のような、差分モードの基準行列要素を用いた演算に従って行列要素を算出する。
【０１９０】
x[i] = x[i-1] + Δ[i-1] ;
i++ ;
【０１９１】
ステップＳ２６６において、斜め軸生成部２１５は、処理対象が最後の行列要素（例えば斜め軸の一番右下の行列要素）であるか否かを判定し、最後の行列要素であると判定されるまで、処理対象を次の（１つ右下の）行列要素に進めながら、ステップＳ２６４およびステップＳ２６５の処理を繰り返す。ステップＳ２６６において、最後の行列要素（i=7）であると判定された場合、斜め軸生成部２１５は、斜め軸生成処理を終了し、処理を図１４に戻す。
【０１９２】
また、ステップＳ２６２において、伝送モードが演算モードであると判定された場合、斜め軸生成部２１５は、処理をステップＳ２６７に進める。
【０１９３】
斜め軸生成部２１５は、ステップＳ２６７において、基準行列要素（xs/xe）（例えば斜め軸の一番左上の行列要素と一番右下の行列要素）を取得し（i=0）、ステップＳ２６８において、以下に示される例のような、演算モードの基準行列要素を用いた演算に従って行列要素を算出する。
【０１９４】
i=0; i<=8; i++
x[i] = (xs×(8-i)+xe×i+4)/8;
【０１９５】
ステップＳ２６９において、斜め軸生成部２１５は、処理対象が最後の行列要素（例えば斜め軸の一番右下の行列要素）であるか否かを判定し、最後の行列要素であると判定されるまで、処理対象を次の（１つ右下の）行列要素に進めながら、ステップＳ２６８の処理を繰り返す。ステップＳ２６９において、最後の行列要素（i=8）であると判定された場合、斜め軸生成部２１５は、斜め軸生成処理を終了し、処理を図１４に戻す。
【０１９６】
以上のように各種処理を行うことにより、画像復号装置６０は、画像符号化装置１０が上述したように生成した量子化行列に関するデータを取得し、そのデータを用いて、画像符号化装置１０において量子化処理に用いられた量子化行列に対応する量子化行列を生成し、逆量子化処理に使用することができる。これにより、画像復号装置６０は、量子化行列の符号量の増大を抑制することができる。
【０１９７】
＜５．シンタックス＞
以上のような画像符号化装置１０から画像復号装置６０に伝送される一群の量子化行列に関するパラメータは、シーケンスパラメータセットやピクチャパラメータセット等、任意の位置に含めるようにしてもよいが、シーケンスパラメータセット及びピクチャパラメータセットとは異なる量子化行列パラメータセット（ＱＭＰＳ）内に挿入されるようにしてもよい。それにより、量子化行列の更新の際に量子化行列パラメータ以外のパラメータを符号化することも、量子化行列パラメータ以外のパラメータの更新の際に量子化行列パラメータを符号化することも不要となる。従って、量子化行列の更新に伴う符号化効率の低下が緩和され、あるいは符号化効率が向上する。特に、量子化行列のサイズがより大きい場合、又はピクチャごとに定義される量子化行列の数がより多い場合には、本明細書で開示した手法による符号量の削減は、一層効果的となる。
【０１９８】
各ＱＭＰＳには、各ＱＭＰＳを互いに識別するための識別子であるＱＭＰＳ  ＩＤが付与される。典型的には、１つのＱＭＰＳ内で、複数の種類の量子化行列が定義される。量子化行列の種類は、行列サイズ、並びに対応する予測方式及び信号成分によって互いに区別される。例えば、１つのＱＭＰＳ内で、４×４、８×８、１６×１６及び３２×３２の各サイズについて最大で６種類の量子化行列（イントラ予測／インター予測のＹ／Ｃｂ／Ｃｒ成分）が定義され得る。
【０１９９】
図２１Ａおよび図２１Ｂは、そのＱＭＰＳの例を示す図である。各行左端の数字は行番号を示し、説明の便宜上、付したものである。
【０２００】
図２１Ａの第１行の関数QuantizaionMatrixParameterSet()は、１つのＱＭＰＳのシンタックスを表現する関数である。第２行及び第３行において、ＱＭＰＳ  ＩＤ（quantization_matrix_paramter_id）、および量子化行列の予測を行うか否かを示す生成モード存在フラグ（pred_present_flag）が特定される。
【０２０１】
各パラメータの設定は、全てのサイズ（例えば、４×４、８×８、１６×１６、および３２×３２）について、イントラ予測とインター予測、並びに、Ｙ、Ｃｂ、Ｃｒのそれぞれについて行われる（第４行および第５行）。
【０２０２】
まず、生成モード存在フラグ（pred_present_flag）が読み込まれ（第３行）、その値が１の場合、その予測のモードを示すフラグ情報である予測モードフラグ（pred_mode）が読み込まれる（第６行および第７行）。この予測モードフラグ（pred_mode）が０の場合（第８行）、過去に伝送した量子化行列を利用して量子化行列を生成するコピーモードのシンタックスが選択される（第９行乃至第１６行）。
【０２０３】
また、予測モードフラグ（pred_mode）が１の場合（第１７行）、上述したような基本軸を設定する軸指定モードのシンタックスが選択される（第１８行乃至第５０行）。
【０２０４】
伝送モードが差分モードであるか否かを示す差分モードフラグ（dpcm_flag）が読み込まれ（第１８行）、その差分モードフラグ（dpcm_flag）が１の場合、差分モードのシンタックスが選択される（第１９行乃至第４０行）。第２０行乃至第２５行が縦軸に関する処理であり、第２６行乃至第３４行が横軸に関する処理であり、第３５行乃至第４０行が斜め軸に関する処理である。
【０２０５】
縦軸に関する処理において、まず、変数nextcoefの初期値が０に設定される（第２０行）。次に、縦軸について、現在処理対象とされる行列要素とその１つ前に処理された行列要素との差分値delta_coefが読み込まれ（第２２行）、変数nextcoefの値にその差分値delta_coefが加算されることにより、変数nextcoefの値が現在処理対象とされる行列要素の値に更新される（第２３行）。そして、縦軸の各行列要素を示す変数coef_vertical[i]がその変数nextcoefの値に更新される（第２４行）。
【０２０６】
以上の処理が縦軸の全行列要素に対して行われる（第２１行および第２５行）。
【０２０７】
次に横軸に関する処理において、まず、変数nextcoefの初期値（横軸の最初の（例えば一番左の）行列要素coef_horizontal[0]）が、縦軸の最初の（例えば一番上の）行列要素coef_vertical[0]に設定される（第２６行）。
【０２０８】
次に、同一識別データ（copy_from_vertical）が読み込まれ（第２７行）、その同一識別データ（copy_from_vertical）が０でない場合、すなわち、補間量子化行列が対称性を有していない場合（第２８行）、縦軸の場合と同様に、現在処理対象とされる行列要素とその１つ前に処理された行列要素との差分値delta_coefが読み込まれ（第３０行）、その差分値delta_coefが加算されて、変数nextcoefの値が現在処理対象とされる行列要素の値に更新される（第３１行）。そして、横軸の各行列要素を示す変数coef_horizontal[i]がその変数nextcoefの値に更新される（第３２行）。
【０２０９】
以上の処理が縦軸の全行列要素に対して行われる（第２９行および第３３行）。
【０２１０】
なお、同一識別データ（copy_from_vertical）が０の場合、すなわち、補間量子化行列が対称性を有する場合、横軸は縦軸がコピーされる。
【０２１１】
次に、斜め軸識別データが１で斜め軸が存在する場合、斜め軸について、縦軸や横軸の場合と同様の処理が行われる。つまり、まず、変数nextcoefの初期値（斜め軸の最初の（例えば一番左上の）行列要素coef_diagonal[0]）が、縦軸の最初の（例えば一番上の）行列要素coef_vertical[0]に設定される（第３５行）。
【０２１２】
次に、現在処理対象とされる行列要素とその１つ前に処理された行列要素との差分値delta_coefが読み込まれ（第３７行）、その差分値delta_coefが加算されて、変数nextcoefの値が現在処理対象とされる行列要素の値に更新される（第３８行）。そして、斜め軸の各行列要素を示す変数coef_diagonal[i]がその変数nextcoefの値に更新される（第３９行）。
【０２１３】
以上の処理が縦軸の全行列要素に対して行われる（第３６行および第４０行）。
【０２１４】
なお、差分モードフラグ（dpcm_flag）が１でない場合、演算モードのシンタックスが選択される（第４１行乃至第４６行）。
【０２１５】
この演算モードの場合、量子化行列の直流成分を示す行列要素（dc）、横軸の外挿補間した行列要素（horizontal_end）、縦軸の外挿補間した行列要素（vertical_end）、および斜め軸の外挿補間した行列要素（diagonal_end）のうち、伝送されたものが読み込まれる（第４２行乃至第４５行）。そして、これらの基準行列要素を用いて演算により各軸が生成される。
【０２１６】
なお、この演算モードの場合も、同一識別データ（copy_from_vertical）が０の場合、すなわち、補間量子化行列が対称性を有する場合、横軸は縦軸がコピーされる。
【０２１７】
また、以上のパラメータに基づいて基本軸が生成されると補間処理により基本軸以外の行列要素が生成される。
【０２１８】
このように補間量子化行列が生成されると、残差識別データ（residual_flag）が読み込まれる（第４７行）。残差識別データ（residual_flag）が１の場合、つまり、残差量子化行列が伝送された場合（第４８行および第５０行）、その残差量子化行列（residual_matrix(i)）が読み込まれる（第４９行）。残差量子化行列のシンタックスは、図２１Ｂの第６１行乃至第８０行に示される。上述した補間量子化行列の基本軸の場合と同様に、残差量子化行列においても、差分モードと演算モードがあり、差分モードの場合、第６３行乃至第６９行のシンタックスが選択され、演算モードの場合、第７０行乃至第７９行のシンタックスが選択される。
【０２１９】
以上のように生成された残差量子化行列の各行列要素は、補間量子化行列の各行列要素に足し込まれる。これにより量子化行列が生成される。
【０２２０】
なお、残差識別データ（residual_flag）が１でない場合、つまり、残差量子化行列が伝送されていない場合、補間量子化行列がそのまま量子化行列とされる。
【０２２１】
なお、予測モードフラグ（pred_mode）が２の場合（第５１行および第５３行）、従来と同様に伝送された量子化行列（qmatrix（i,j））が読み込まれる（第５２行）。
【０２２２】
また、生成モード存在フラグ（pred_present_flag）が１でない場合（第５４行および第５６行）も、従来と同様に伝送された量子化行列（qmatrix（i,j））が読み込まれる（第５５行）。
【０２２３】
＜６．応用例＞
上述した実施形態に係る画像符号化装置１０及び画像復号装置６０は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０２２４】
［６−１．第１の応用例］
図１７は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース９０９、制御部９１０、ユーザインタフェース９１１、及びバス９１２を備える。
【０２２５】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０２２６】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからＥＰＧ（Electronic  Program  Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０２２７】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０２２８】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのＧＵＩ（Graphical  User  Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０２２９】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はＯＬＥＤなど）の映像面上に映像又は画像を表示する。
【０２３０】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてＤ／Ａ変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０２３１】
外部インタフェース９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０２３２】
制御部９１０は、ＣＰＵ（Central  Processing  Unit）などのプロセッサ、並びにＲＡＭ（Random  Access  Memory）及びＲＯＭ（Read  Only  Memory）などのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、プログラムデータ、ＥＰＧデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０２３３】
ユーザインタフェース９１１は、制御部９１０と接続される。ユーザインタフェース９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０２３４】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース９０９及び制御部９１０を相互に接続する。
【０２３５】
このように構成されたテレビジョン装置９００において、デコーダ９０４は、上述した実施形態に係る画像復号装置６０の機能を有する。それにより、テレビジョン装置９００での画像の復号に際して、量子化行列の数が多くなる場合の符号量の増加を抑制することができる。
【０２３６】
［６−２．第２の応用例］
図１８は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０２３７】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０２３８】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０２３９】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをＡ／Ｄ変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びＤ／Ａ変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０２４０】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０２４１】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、ＲＡＭ又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、ＵＳＢメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０２４２】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記憶再生部９２９の記憶媒体に記憶させる。
【０２４３】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びＤ／Ａ変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０２４４】
このように構成された携帯電話機９２０において、画像処理部９２７は、上述した実施形態に係る画像符号化装置１０及び画像復号装置６０の機能を有する。それにより、携帯電話機９２０での画像の符号化及び復号に際して、量子化行列の数が多くなる場合の符号量の増加を抑制することができる。
【０２４５】
［６−３．第３の応用例］
図１９は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号する。
【０２４６】
記録再生装置９４０は、チューナ９４１、外部インタフェース９４２、エンコーダ９４３、ＨＤＤ（Hard  Disk  Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、ＯＳＤ（On-Screen  Display）９４８、制御部９４９、及びユーザインタフェース９５０を備える。
【０２４７】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送手段としての役割を有する。
【０２４８】
外部インタフェース９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース９４２は、例えば、ＩＥＥＥ１３９４インタフェース、ネットワークインタフェース、ＵＳＢインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース９４２は、記録再生装置９４０における伝送手段としての役割を有する。
【０２４９】
エンコーダ９４３は、外部インタフェース９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０２５０】
ＨＤＤ９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、ＨＤＤ９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０２５１】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばＤＶＤディスク（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等）又はＢｌｕ−ｒａｙ（登録商標）ディスクなどであってよい。
【０２５２】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをＨＤＤ９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、ＨＤＤ９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０２５３】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをＯＳＤ９４８へ出力する。また、デコーダ９０４は、生成した音声データを外部のスピーカへ出力する。
【０２５４】
ＯＳＤ９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、ＯＳＤ９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのＧＵＩの画像を重畳してもよい。
【０２５５】
制御部９４９は、ＣＰＵなどのプロセッサ、並びにＲＡＭ及びＲＯＭなどのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０２５６】
ユーザインタフェース９５０は、制御部９４９と接続される。ユーザインタフェース９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０２５７】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した実施形態に係る画像符号化装置１０の機能を有する。また、デコーダ９４７は、上述した実施形態に係る画像復号装置６０の機能を有する。それにより、記録再生装置９４０での画像の符号化及び復号に際して、量子化行列の数が多くなる場合の符号量の増加を抑制することができる。
【０２５８】
［６−４．第４の応用例］
図２０は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０２５９】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、ＯＳＤ９６９、制御部９７０、ユーザインタフェース９７１、及びバス９７２を備える。
【０２６０】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、ＯＳＤ９６９、及び制御部９７０を相互に接続する。
【０２６１】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、ＣＣＤ又はＣＭＯＳなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０２６２】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０２６３】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース９６６又はメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、ＯＳＤ９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０２６４】
ＯＳＤ９６９は、例えばメニュー、ボタン又はカーソルなどのＧＵＩの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０２６５】
外部インタフェース９６６は、例えばＵＳＢ入出力端子として構成される。外部インタフェース９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース９６６は、ＬＡＮ又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース９６６は、撮像装置９６０における伝送手段としての役割を有する。
【０２６６】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はＳＳＤ（Solid  State  Drive）のような非可搬性の記憶部が構成されてもよい。
【０２６７】
制御部９７０は、ＣＰＵなどのプロセッサ、並びにＲＡＭ及びＲＯＭなどのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０２６８】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０２６９】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置１０及び画像復号装置６０の機能を有する。それにより、撮像装置９６０での画像の符号化及び復号に際して、量子化行列の数が多くなる場合の符号量の増加を抑制することができる。
【０２７０】
＜７．まとめ＞
ここまで、図１乃至図２０を用いて、本開示の一実施形態に係る画像符号化装置１０及び画像復号装置６０について説明した。本実施形態によれば、量子化行列を伝送する場合に、変換単位に対応する量子化行列に含まれる行列要素を対象として、基準行列要素をパラメータとする演算に応じて、伝送する行列要素を基準行列要素として選択し、選択した基準行列要素を伝送するので、量子化行列の符号量の増加を抑制することができる。
【０２７１】
なお、量子化行列の生成方法として、図１６のように基底行列の組み合わせとして伝送してもよい。この場合は、ＤＣ成分と基底行列の各係数の演算に必要な値を伝送すればよい。基底行列の各係数は差分モードでも演算モードのどちらでもよい。また、例えば、符号化側と復号側で、予め複数のパターンの基底行列を共有し、どの行列を使用するかを示す情報を符号化側から復号側に提供するようにしてもよい。
【０２７２】
なお、本明細書では、量子化行列を生成するための情報を、符号化ストリームに多重化して伝送する、又は、パラメータセットとして符号化側から復号側へ伝送する。この場合に、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０２７３】
なお、本明細書では、縦軸の設定・生成、横軸の設定、・生成、斜め軸の設定・生成、の順に従って処理を行う例を示したが、上記処理の順番は任意に(横軸→縦軸→斜軸等)設定することができる。また、基準軸の選択は、基準軸の符号量と補間行列の補間精度を考慮して行うことが可能である。
【０２７４】
さらに基準軸の選択パターンは、上述した以外であってもよい。例えば、図２２に示される表のように、多様なパターンが考えられる。例えば、図２２に示される表の一番上の場合のように基準軸を縦軸のみとしてもよい。この場合、差分モードにしろ演算モードにしろ、縦軸に関する情報のみが伝送される。横軸は縦軸と同一とされ、斜め軸に関する情報の伝送されない。この場合、斜め軸は、縦軸と同一としてもよいし、軸以外の行列要素と同様に補間処理によって生成されるようにしてもよい。また、図２２に示される表の上から２番目の場合のように、基準軸を横軸のみとしてもよい。この場合、縦軸と横軸が入れ替わること以外、上述した１番上の場合と同様である。
【０２７５】
さらに、図２２に示される表の上から３番目の場合のように、基準軸を縦軸と斜め軸としてもよい。この場合、差分モードにしろ演算モードにしろ、縦軸と斜め軸に関する情報が伝送される。横軸は縦軸と同一とされる。また、図２２に示される表の上から４番目の場合のように、基準軸を横軸と斜め軸としてもよい。この場合、縦軸と横軸が入れ替わること以外、上述した上から３番目の場合と同様である。
【０２７６】
これらの場合、上から１番目や２番目の場合と比べて、斜め軸の情報の分、符号量が増大するが、予測精度を向上させやすい。
【０２７７】
もちろん、図２２に示される表の上から５番目の場合のように、基準軸を縦軸、横軸、および斜め軸としてもよい。この場合、差分モードにしろ演算モードにしろ、縦軸、横軸、斜め軸の全てに関する情報が伝送される。
【０２７８】
この場合、上述した他の場合よりも符号量が増大するが、量子化行列がより複雑な場合であっても予測精度を向上させやすい。もちろん、図２２に示される以外のパターンであってもよい。
【０２７９】
なお、本明細書では、３軸の設定・生成(縦軸の設定・生成、横軸の設定・生成、斜め軸の設定・生成)に従って処理を行う例を示したが、３軸よりも多くの基準軸を設定することも可能である。例えば、縦軸・横軸・斜め軸をそれぞれ３軸ずつ(合計９軸)を基準軸として設定・生成して、同様の手法を用いることも可能である。
【０２８０】
なお、本明細書では、８×８の量子化行列を例にして説明したが、１６×１６、３２×３２の量子化行列にも同様の手法を用いることが可能である。この場合。量子化行列のサイズが大きいほど、本開示の手法に得られる効果が大きくなる。
【０２８１】
なお、明細書では、差分モードの場合に、基準軸において前の行列要素との差分を用いたが、異なる基準軸間で行列要素の差分を用いることも可能である。また、直流成分（基準行列要素（rs））の差分値Δを０からの差分値（つまり基準行列要素（rs））として説明したが、この直流成分の差分値Δは、任意の値と基準行列要素（rs）の差分値としてもよい。例えば、一般的に、直流成分の行列要素の値は「８」となる場合が多いので、直流成分の差分値Δを「８」と基準行列要素（rs）の差分値としてもよい。このように差分値を出来るだけ小さくするようにすることにより符号量を低減させることができる。
【０２８２】
また、伝送モードの選択方法は任意であり、ユーザやアプリケーションの指示に基づいて決定されるようにしてもよいし、コスト関数値を求め、その値の大小判定により決定されるようにしてもよい。
【０２８３】
また、演算モードの場合、量子化行列の４隅の行列要素が基準行列要素として伝送されるように説明したが、例えば、縦軸設定部１５２乃至斜め軸設定部１５４が、基準行列要素（re,ce,xe）と、直流成分の行列要素（基準行列要素（rs=cs=xs））との差分値を算出し、パラメータ生成部１５６がその差分値と基準行列要素（rs=cs=xs）を伝送するようにしてもよい。その場合、復号側において、縦軸生成部２１３乃至斜め軸生成部２１５が、その差分値と、直修正分の行列要素から各基準行列要素（re,ce,xe）を復元するようにすればよい。このようにすることにより、各基準行列要素（re,ce,xe）の符号量を低減させることができる。
【０２８４】
なお、軸以外の行列要素の補間方法は、任意であり、上述した以外であってもよい。例えば、同じ列若しくは同じ行の２軸の行列要素（例えば、縦軸と斜め軸、横軸と斜め軸）を用いて補間するようにしてもよい。この場合、演算式のパターンは上述した例より少なくなり、開発は容易になる。ただし、上述した例の場合の方が、除算の分母が２に限定されるので、演算処理の負荷がこの場合よりも低減する可能性がある。
【０２８５】
また、例えば、斜め軸から軸以外の行列要素が補間されるようにしてもよい。例えば、演算モードの場合、図２４Ａに示されるように、量子化行列の左上の行列要素（すなわち直流（DC）成分）と、右下の行列要素の２点を基準行列要素として伝送させるようにしてもよい。この場合、図２４Ａの両矢印に示されるように、これらの２点を用いて線形演算によって斜め軸が算出される（図２４Ｂ）。そして、算出されたその斜め軸上の各行列要素が、例えば図２４Ｃに示されるように、斜め軸に垂直な方向（右上左下の斜め方向）に複製（コピー）される。このようにして各行列要素が補間され、図２４Ｄに示されるように、補間量子化行列が生成される。
【０２８６】
例えばAVCのデフォルトの行列のように、行列要素が、斜め軸に垂直な斜め方向に相関が高い量子化行列の場合、上述した２軸や３軸から加重平均等を用いて補間する方法では、予測精度が向上しにくくなる可能性がある。行列要素がこのような特徴を有する量子化行列の場合、このように、斜め軸に垂直な斜め方向に行列要素を複製することによって補間処理を行うことにより、予測精度が向上し、符号化効率を向上させることができる。
【０２８７】
なお、この斜め軸は差分モードによって生成されるようにしてもよい。差分モードの場合、上述した２点に代わって、斜め軸上の隣り合う行列要素同士の各差分値が伝送される。この差分モードの場合も、求めた斜め軸から他の行列要素を補間する方法は、上述した演算モードの場合と同様である。また、斜め軸の各行列要素を非圧縮のまま伝送させるようにしてもよい。
【０２８８】
また、例えば、斜め軸の代わりに縦軸と横軸を用いて、斜め軸の場合と同様に、その縦軸と横軸の各行列要素を、斜め軸に垂直な斜め方向に複製するようにしてもよい。例えば、図２５Ａに示されるように、量子化行列の左上の行列要素（すなわち直流（DC）成分）、右上の行列要素、および右下の行列要素の３点を基準行列要素として伝送させる。
【０２８９】
この場合、図２５Ａの両矢印に示されるように、これらの３点を用いて線形演算によって量子化行列の一番上の行と、一番右の列が求められ（図２５Ｂ）、それぞれ、横軸と縦軸とされる。そして、図２５Ｃに示されるように、その縦軸上の各行列要素と横軸上の各行列要素が、斜め軸に垂直な方向（右上左下の斜め方向）に複製（コピー）される。このようにして各行列要素が補間され、図２５Ｄに示されるように、補間量子化行列が生成される。
【０２９０】
この場合も、行列要素が斜め軸に垂直な斜め方向に相関が高い量子化行列に対して、予測精度を向上させ、符号化効率を向上させることができる。この場合ももちろん、２軸（一番上の行と一番右の列）は差分モードによって生成されるようにしてもよい。この差分モードの場合も、求めた２軸から他の行列要素を補間する方法は、上述した演算モードの場合と同様である。また、２軸の各行列要素を非圧縮のまま伝送させるようにしてもよい。
【０２９１】
なお、一番下の行と一番左の列の各行列要素を斜め軸に垂直な斜め方向に複製することにより、軸以外の行列要素を補間するようにしてもよい。つまり、一番上の行および一番右の列の代わりに、一番下の行および一番左の列を２軸としてもよい。この場合も、演算方法は、一番上の行および一番右の列を２軸とする場合と基本的に同様である。
【０２９２】
さらに、量子化行列の４隅の行列要素を伝送させ、その４点から量子化行列の４辺をそれぞれ軸として算出し、その４軸からその他の行列要素を補間するようにしてもよい。この場合も、上述したように斜め軸に垂直な斜め方向に補間演算を行うことができるが、この場合は、対向する２軸の行列要素を用いて位置に応じた加重平均を行うことにより各行列要素の補間を行う。このようにすることにより、上述したような軸上の各行列要素を複製する場合よりも、より複雑な量子化行列への予測精度を向上させることができる。ただし、演算量は増大する。
【０２９３】
以上の中で、最初に説明した、２点のみを伝送させ、演算モードで求めた斜め軸から補間処理を行う方法が、最も伝送量を低減させることができる。また、斜め軸、若しくは、縦軸および横軸を非圧縮で伝送させる方法が、最も補間処理の演算量を低減させることができる。さらに、量子化行列の４隅（４点）を伝送させる方法の場合が、最も複雑な量子化係数に対する予測精度を向上させることができる。
【０２９４】
また、以上に説明した演算モードの場合、基準軸を１次式で予測するため、補間量子化行列の予測精度が高くなる行列要素の分布パターンが限定される。そこで、基準軸に使用される演算は、例えば２次以上の式としてもよい。また、基準軸だけでなく量子化行列全体をｎ次式で予測（平面fitting）するようにしてもよい。この場合、上述した他の場合よりも演算量は増大する可能性があるが、予測精度は向上させやすく、符号量を低減させることができる可能性がある。
【０２９５】
さらに、１つの量子化行列に対して差分モードと演算モードを併用するようにしてもよい。例えば、縦軸や横軸を演算モードとし、斜め軸を差分モードとしてもよい。
【０２９６】
なお、残差量子化行列の各行列要素は、量子化して伝送するようにしてもよい。量子化されて伝送された各行列要素は、復号側において逆量子化される。このような量子化により残差量子化行列に誤差が生じる可能性が考えられるが、例えば、「１」等の値が小さい行列要素は、省略しても影響が小さい可能性が高い。そこで、そのような量子化による誤差が許容される場合、各行列要素を量子化することにより、残差量子化行列の符号量を低減させることができる。
【０２９７】
なお、量子化の前に直交変換（ＤＣＴ）するようにしてもよい。これらの量子化や直交変換の際に、符号化側においては直交変換部１２０や量子化部１３０等を用い、復号側においては逆量子化部２４０や逆直交変換部２５０等を用いるようにしてもよい。このように、既存の処理部を再利用することができ、開発が容易である。
【０２９８】
さらに、伝送モードが差分モードの場合、基準軸はロスレスとなり予測誤差は生じない。したがって、残差量子化行列において基準軸の行列要素は全て０になるので、この基準軸の行列要素の伝送は省略されるようにしてもよい。つまり、例えば、残差処理部１５７が、図２３Ａに示されるように、基準軸が縦軸、横軸、および斜め軸の場合、残差量子化行列の、斜線で示されるそれ以外の行列要素のみを生成し、パラメータ生成部１５６がそれを伝送するようにしてもよい。もちろん、基準軸が２軸や１軸に設定された場合、基準軸とされなかった部分の行列要素も伝送させる必要がある。このようにすることにより残差量子化行列の符号量を低減させることができる。
【０２９９】
また、一般的に、量子化行列は、対称性を有する（略対称行列である）場合が多い。そこで、図２３Ｂに示される例のように、線対称な行列要素の一方のみを伝送するようにしてもよい。
【０３００】
例えば、残差処理部１５７が、図２３Ｂに示される斜線部分のように、残差量子化行列の対角成分と、その対角成分より上（若しくは右）の行列要素のみを生成し、パラメータ生成部１５６がそれを残差量子化行列として伝送するようにする。そして、残差処理部２１８は、その残差量子化行列（対角成分とその対角成分より上の部分のみ）を取得し、それを用いて残差量子化行列の対角成分より下（若しくは左）の部分を生成するようにする。つまり、残差処理部２１８は、残差量子化行列の対角成分より上の部分の線対象に対応する位置の行列要素をコピーすることにより、残差量子化行列の対角成分より下の部分を復元するようにする（つまり、残差量子化行列の対角成分を軸に各行列要素を折り返してコピーするようにする）。このようにすることにより、伝送させる行列要素が低減するので、その分符号量を低減させることができる。
【０３０１】
その際も、さらに、上述したように基準軸の行列要素の伝送を省略させるようにしてももちろんよい。また、以上のように対角成分の上に位置する行列要素を折り返してコピーして生成した対角成分の下に位置する行列要素と、実際の量子化行列の行列要素との差分を、さらに伝送させるようにしてもよい。なお、伝送する部分を、前記対角成分と前記対角成分の下の部分とし、前記対角成分の上の部分を復元するようにしてももちろんよい。
【０３０２】
なお、量子化行列を量子化するようにしてもよい。この方法は、量子化行列のオーバヘッド（符号量の比率）がより大きくなるような、より低ビットレートの場合に好適である。量子化行列の量子化は、例えば、図２６に示されるように、複数の領域に分割し、その領域毎に行われるようにする。
【０３０３】
図２６の例の場合、８×８の量子化行列が右上左下の斜め方向に４つの領域に分割されている（領域０乃至領域３）。一般的に量子化行列の各行列要素は、この右上左下の斜め方向に相関性が高い。また、量子化行列の左上の行列要素ほど、係数データのより低周波な成分に対応し、右下の行列要素ほど、係数データのより高周波な成分に対応する。さらに、量子化行列は、一般的に、所謂ジグザグスキャンされることが多い。したがって、量子化行列は、図２６に示される例のように、右上左下の斜め方向に領域分割するのが好適である。
【０３０４】
各領域に対する量子化は、設定された量子化スケールで行われるようにする。この量子化スケールは、領域毎に互いに独立に設定することができる。図２８Ａ乃至図２８Ｄにシンタックスの例を示す。図２８Ａ乃至図２８Ｄにおいて、左端の数字は、説明の便宜上付した行番号であり、実際のシンタックスのものではない。各領域に対する量子化スケールは、図２８Ａの第７行目乃至第１０行目に示される（Qscale0，Qscale1，Qscale2，Qscale3）。
【０３０５】
例えば、図２６において「０」で示される領域０は、直流成分を含む低周波領域なので、一般的に、再現性を向上させることが望ましく（できるだけロスレスに近づけたい）、量子化スケール（Qscale0）は小さい方が望ましい。これに対して、例えば、図２６において「３」で示される領域３は、高周波領域なので、誤差が大きくてもその影響は小さい。したがって、一般的には、符号量は小さい方が望ましいので、領域３の量子化スケール（Qscale3）を大きい方が望ましい。。
【０３０６】
このように、一般的に、周波数帯域によって、各領域に求められることが互いに異なるので、上述したように、領域毎に量子化スケールを設定することができるようにすることにより、量子化スケールの設定の自由度が向上し、より好適な設定が可能となる。
【０３０７】
なお、量子化行列の領域分割の仕方は任意であり、右上左下の斜め方向以外であってもよい。例えば、所定の大きさの矩形毎に分割するようにしてもよい。また、各領域の大きさも任意であり、互いに異なっていてもよい。もちろん、分割数も任意である。さらに、分割数（領域の大きさ）が、量子化行列の大きさ等に応じて可変であるようにしてもよい。
【０３０８】
また、量子化スケールの値の種類に応じて領域数を可変としてもよい。例えば、図２６の例において、領域０乃至領域３の全ての領域に対して互いに同一の量子化スケールを設定する場合（Qscale0＝Qscale1＝Qscale2＝Qscale3）、４つのパラメータを伝送させる必要はない。したがってこのような場合、領域（量子化スケール）を１つに統一する（例えばQscale）ようにしてもよい。
【０３０９】
また、以上においては、残差処理部１５７が残差量子化行列に対してランレングス符号化を行うように説明したが、その際、残差処理部１５７は、複数のVLCテーブル（VLC table）の中から最も符号量が小さくなるようなテーブルを明示的に選択する（予め設定しておく）ことができるようにしてもよい。
【０３１０】
例えばLCEC（Low Complexity Entropy Coding）においては、図２７に示されるような１１個のVLCテーブルが用意されている（例えば、Kemal Ugur, Kenneth R. Andersson, Arild Fuldseth, "Description of video coding technology proposal by Tandberg, Nokia, Ericsson", JCTVC-A119,Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG111st Meeting: Dresden, DE, 15-23 April, 2010（以下、非特許文献３と称する）参照）。残差処理部１５７が、このような複数のVLCテーブルの中から最も符号量が小さくなるようなテーブルを明示的に選択する（予め設定しておく）ことができるようにしてもよい。
【０３１１】
シンタックスにおいては、例えば、図２８Ｂの第６１行目、第６３行目、第７１行目、および第７３行目、並びに、図２８Ｃの第８７行目、第９５行目、および第９６行目において、選択されたVLCテーブルが示されている。
【０３１２】
JPEGやMPEGの残差信号の符号化の場合、大きな量子化が使用されており、levelとして１や２といった小さな数字であり、さらにVLCも最適化されていた。そのため、最適なVLCテーブルを切り替えたとしても、DCT毎にテーブル識別番号を伝送すると、そのオーバーヘッドが大きいため利得につながらなかった。
【０３１３】
これに対して量子化マトリクスの符号化の場合、ロスレスとすると、差分モードで伝送される行列要素や残差信号は大きな値になる。大きな値に対して最適なVLCテーブルを選択することにより圧縮効率は高まる。VLCテーブルを選択するのに必要なオーバヘッドに対して、得られる利得の方が大きいため、明示的にVLCテーブル番号（テーブル識別番号）を伝送することに価値がある。
【０３１４】
なお、ラン（RUN）とデータ（DATA）に相関性が無い場合、これらに対して、互いに独立してテーブルを選択することができるようにしてもよい。例えば、ラン（RUN）に対して大きなテーブルを選択し、データ（DATA）に対して小さなテーブルを選択することができるようにしてもよい。
【０３１５】
図２８Ａ乃至図２８Ｄのシンタックスの例の場合、図２８Ｂの第６３行目および第７３行目、並びに、図２８Ｃの第９６行目において、ランに対して選択されたテーブル（vlc_table_run）が示されており、図２８Ｂの第６１行目および第７１行目、並びに、図２８Ｃの第８７行目および第９５行目において、データに対して選択されたテーブルが示されている。
【０３１６】
例えば、図２８Ｃの第９０行目、第９９行目、および第１００行目、並びに、図２８Ｄの第１１５行目、第１２２行目、および第１２３行目に示されるパラメータに対して、以上において選択されたVLCテーブルの値が設定される。
【０３１７】
なお、明細書では量子化行列を例にして説明したが、量子化行列以外にも、画像を符号化・復号する際に利用する行列であれば、行列要素を含む行列に対して同様の手法を適用することができる。
【０３１８】
［パーソナルコンピュータ］
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図２９に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０３１９】
図２９において、パーソナルコンピュータ１２００のCPU（Central Processing Unit）１２０１は、ROM（Read Only Memory）１２０２に記憶されているプログラム、または記憶部１２１３からRAM（Random Access Memory）１２０３にロードされたプログラムに従って各種の処理を実行する。RAM１２０３にはまた、CPU１２０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３２０】
CPU１２０１、ROM１２０２、およびRAM１２０３は、バス１２０４を介して相互に接続されている。このバス１２０４にはまた、入出力インタフェース１２１０も接続されている。
【０３２１】
入出力インタフェース１２１０には、キーボード、マウスなどよりなる入力部１２１１、CRT（Cathode Ray Tube）ディスプレイやLCD（Liquid Crystal Display）等のディスプレイ、並びにスピーカなどよりなる出力部１２１２、フラッシュメモリ等SSD（Solid State Drive）やハードディスクなどよりなる記憶部１２１３、有線LAN（Local Area Network）や無線LANのインタフェースやモデムなどよりなる通信部１２１４が接続されている。通信部１２１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０３２２】
入出力インタフェース１２１０にはまた、必要に応じてドライブ１２１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１２２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１２１３にインストールされる。
【０３２３】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０３２４】
この記録媒体は、例えば、図２９に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア１２２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM１２０２や、記憶部１２１３に含まれるハードディスクなどにより構成される。
【０３２５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３２６】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３２７】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０３２８】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【符号の説明】
【０３２９】
１０  画像処理装置（画像符号化装置），  １６  可逆符号化部，  ６０  画像処理装置（画像復号装置），  １１０  選択部，  １２０  直交変換部，  １３０  量子化部，  １５０  行列処理部，  ２１０  行列生成部，  ２３０  選択部，  ２４０  逆量子化部，  ２５０  逆直交変換部
【図１】
2012186617.tif 000003
【図２】
2012186617.tif 000004
【図３】
2012186617.tif 000005
【図４】
2012186617.tif 000006
【図５】
2012186617.tif 000007
【図６】
2012186617.tif 000008
【図７】
2012186617.tif 000009
【図８】
2012186617.tif 000010
【図９Ａ】
2012186617.tif 000011
【図９Ｂ】
2012186617.tif 000012
【図９Ｃ】
2012186617.tif 000013
【図１０Ａ】
2012186617.tif 000014
【図１０Ｂ】
2012186617.tif 000015
【図１１】
2012186617.tif 000016
【図１２】
2012186617.tif 000017
【図１３】
2012186617.tif 000018
【図１４】
2012186617.tif 000019
【図１５Ａ】
2012186617.tif 000020
【図１５Ｂ】
2012186617.tif 000021
【図１５Ｃ】
2012186617.tif 000022
【図１６】
2012186617.tif 000023
【図１７】
2012186617.tif 000024
【図１８】
2012186617.tif 000025
【図１９】
2012186617.tif 000026
【図２０】
2012186617.tif 000027
【図２１Ａ】
2012186617.tif 000028
【図２１Ｂ】
2012186617.tif 000029
【図２２】
2012186617.tif 000030
【図２３】
2012186617.tif 000031
【図２４】
2012186617.tif 000032
【図２５】
2012186617.tif 000033
【図２６】
2012186617.tif 000034
【図２７】
2012186617.tif 000035
【図２８Ａ】
2012186617.tif 000036
【図２８Ｂ】
2012186617.tif 000037
【図２８Ｃ】
2012186617.tif 000038
【図２８Ｄ】
2012186617.tif 000039
【図２９】
2012186617.tif 000040
【図３０】
2012186617.tif 000041