(57)【要約】【課題】量子化行列を効率的に生成し又はシグナリングするための改善された仕組みを提供すること【解決手段】スケーリングリストデータを復号して、第１のサイズの第１の量子化行列を生成する復号部と、高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、上記復号部により生成される上記第１の量子化行列の部分行列のみを参照することにより生成する生成部と、上記生成部により生成される上記第２の量子化行列を用いて、上記第２のサイズの変換ブロックの量子化変換係数を逆量子化する逆量子化部と、を備える画像処理装置を提供する。【選択図】図４
2019188097.tif 000002
【特許請求の範囲】
【請求項１】
スケーリングリストデータを復号して、第１のサイズの第１の量子化行列を生成する復号部と、
高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、前記復号部により生成される前記第１の量子化行列の部分行列のみを参照することにより生成する生成部と、
前記生成部により生成される前記第２の量子化行列を用いて、前記第２のサイズの変換ブロックの量子化変換係数を逆量子化する逆量子化部と、
を備える画像処理装置。
【請求項２】
前記第１のサイズに対する前記部分行列のサイズの割合は、前記第２のサイズに対する非ゼロ部分の割合に等しい、請求項１に記載の画像処理装置。
【請求項３】
前記復号部は、前記スケーリングリストデータから生成される量子化行列のサイズを指し示すサイズ指示情報を復号し、
前記サイズ指示情報により指し示されるサイズは、前記第１のサイズを含み、前記第２のサイズを含まない、
請求項１に記載の画像処理装置。
【請求項４】
前記復号部は、予め定義される１つ以上のサイズの各々についてのスケーリングリストデータを復号して、前記１つ以上のサイズの量子化行列を生成し、
予め定義される前記１つ以上のサイズは、前記第１のサイズを含み、前記第２のサイズを含まない、
請求項１に記載の画像処理装置。
【請求項５】
前記生成部は、高周波成分のゼロ化が適用されない第３のサイズの変換ブロックのための第３の量子化行列を、前記復号部により生成される前記第１の量子化行列の全体を参照することにより生成する、請求項１に記載の画像処理装置。
【請求項６】
前記生成部は、どのサイズの変換ブロックに前記ゼロ化が適用されるかを予め定義するルールに従って、前記第２のサイズの変換ブロックに前記ゼロ化が適用されることを判定する、請求項１に記載の画像処理装置。
【請求項７】
前記生成部は、前記ゼロ化が適用されるかを指し示す、各変換ブロックに関連付けられるゼロ化フラグに基づいて、前記第２のサイズの変換ブロックに前記ゼロ化が適用されることを判定する、請求項１に記載の画像処理装置。
【請求項８】
前記生成部は、どのサイズの変換ブロックに前記ゼロ化が適用されるかを指し示すゼロ化サイズ情報に基づいて、前記第２のサイズの変換ブロックに前記ゼロ化が適用されることを判定する、請求項１に記載の画像処理装置。
【請求項９】
前記生成部は、前記第２の量子化行列を生成する際に前記部分行列を一時的に保持するメモリ、を含む、請求項１に記載の画像処理装置。
【請求項１０】
前記画像処理装置は、前記第１の量子化行列を複数の変換ブロックにわたる処理を通じて記憶する記憶部、をさらに備え、
前記生成部は、前記第２のサイズの個別の変換ブロックの量子化変換係数が逆量子化される際に、前記第２の量子化行列を生成する、
請求項１に記載の画像処理装置。
【請求項１１】
前記生成部は、複数の変換ブロックにわたる処理に先立って、前記第２の量子化行列を生成し、
前記画像処理装置は、前記第１の量子化行列及び前記第２の量子化行列を含む複数の量子化行列を、前記複数の変換ブロックにわたる処理を通じて記憶する記憶部、をさらに備える、
請求項１に記載の画像処理装置。
【請求項１２】
前記逆量子化部は、QTBT（Quad-Tree  plus  Binary  Tree）ブロック分割を通じて画像内に設定される複数の変換ブロックの各々について逆量子化処理を実行する、請求項１に記載の画像処理装置。
【請求項１３】
画像処理装置により実行される画像処理方法であって、
スケーリングリストデータを復号して、第１のサイズの第１の量子化行列を生成することと、
高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、生成される前記第１の量子化行列の部分行列のみを参照することにより生成することと、
生成される前記第２の量子化行列を用いて、前記第２のサイズの変換ブロックの量子化変換係数を逆量子化することと、
を含む画像処理方法。
【請求項１４】
高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、第１のサイズの第１の量子化行列の部分行列のみを参照することにより生成する生成部と、
符号化対象画像内の前記第２のサイズの変換ブロックの変換係数を、前記生成部により生成される前記第２の量子化行列を用いて量子化して、量子化変換係数を生成する量子化部と、
前記量子化変換係数及び前記第１の量子化行列を表現するスケーリングリストを符号化して、符号化ストリームを生成する符号化部と、
を備える画像処理装置。
【請求項１５】
画像処理装置により実行される画像処理方法であって、
高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、第１のサイズの第１の量子化行列の部分行列のみを参照することにより生成することと、
符号化対象画像内の前記第２のサイズの変換ブロックの変換係数を、生成される前記第２の量子化行列を用いて量子化して、量子化変換係数を生成することと、
前記量子化変換係数及び前記第１の量子化行列を表現するスケーリングリストを符号化して、符号化ストリームを生成することと、
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来、デジタル画像を効率的に伝送し、蓄積し又は記録するために、H.264/AVC、又はH.264/AVCと比較して約２倍の符号化（圧縮）効率を達成すると言われるH.265/HEVCといった、多くの映像符号化方式が標準化されてきた。ITU-TとISO/IECとの共同の標準化団体であるJVET（Joint  Video  Experts  Team）は、H.265/HEVCよりも符号化効率を一層向上させることを目的として、次世代の映像符号化方式であるFVC（Future  Video  Coding）の標準化のための検討を開始している。HEVCのモデルに基づいて開発中のFVCの参照ソフトウェアをJEM（Joint  Exploration  Model）といい、JEMに取り入れられる様々な技術要素が非特許文献１において説明されている。【０００３】
既存の映像符号化方式は、予測（イントラ／インター予測）、直交変換、量子化及びエントロピー符号化といった様々な技法を使用する。なかでも、量子化処理において、直交変換後の周波数領域で変換係数の高周波成分を低周波成分よりも粗く量子化することにより、主観的な画質の劣化を抑制しつつ所望のデータレートを達成することができる。H.265/HEVC（以下、単にHEVCという）によれば、直交変換及び量子化は、TU（Transform  Unit）と呼ばれるブロックごとに実行される。TUサイズの候補は、４×４、８×８、１６×１６又は３２×３２であり、いくつかのTUサイズに対応する量子化行列をエンコーダからデコーダへシグナリングすることができる。量子化行列は、各ブロックの変換係数の周波数成分別の量子化ステップを左右する。FVCでは、TUの最大サイズは１２８×１２８へ拡張され、正方形ではないTUもまた許容される。【０００４】
TUサイズが多様であるほど、使用される量子化行列もまた多様になるが、それら量子化行列の全てをシグナリングすると、符号化ビットストリーム内のオーバヘッドが増大し、符号化効率が低下する。そこで、特許文献１及び特許文献２は、使用される量子化行列の全てではなく一部のみをシグナリングし、シグナリングされた量子化行列から残りの量子化行列を生成することにより、オーバヘッドの増大を回避する技法を提案している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】J.  Chen，  E.  Alshina，  G.  J.  Sullivan，  J.  R.  Ohm  and  J.  Boyce，“Algorithm  Description  of  Joint  Exploration  Test  Model  (JEM7)”，  JVET-G1001，  Joint  Video  Exploration  Team  (JVET)  of  ITU−T  SG  16  WP  3  and  ISO/IEC  JTC  1/SC  29/WG  11  7th  Meeting:  Torino,  IT,  13−21  July  2017
【特許文献】
【０００６】
【特許文献１】国際公開第２０１２／０７７４０８号
【特許文献２】国際公開第２０１２／１６０８９０号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
量子化行列のシグナリングに起因する符号化効率の低下と、ある量子化行列から他の量子化行列を生成することのデバイスの性能への影響とは、トレードオフの関係にある。特に、FVCのようにブロックサイズ及び形状の組み合わせが高度に多様化する場合、符号化効率のみならず、量子化行列を生成するために要する処理コスト（例えば、ハードウェアリソースの占有、処理遅延又は増加した電力消費など）もまた無視することができない。【０００８】
従って、量子化行列を効率的に生成し又はシグナリングするための改善された仕組みが提供されることが望ましい。
【課題を解決するための手段】
【０００９】
本開示によれば、スケーリングリストデータを復号して、第１のサイズの第１の量子化行列を生成する復号部と、高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、前記復号部により生成される前記第１の量子化行列の部分行列のみを参照することにより生成する生成部と、前記生成部により生成される前記第２の量子化行列を用いて、前記第２のサイズの変換ブロックの量子化変換係数を逆量子化する逆量子化部と、を備える画像処理装置が提供される。【００１０】
また、本開示によれば、画像処理装置により実行される画像処理方法であって、スケーリングリストデータを復号して、第１のサイズの第１の量子化行列を生成することと、高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、生成される前記第１の量子化行列の部分行列のみを参照することにより生成することと、生成される前記第２の量子化行列を用いて、前記第２のサイズの変換ブロックの量子化変換係数を逆量子化することと、を含む画像処理方法が提供される。【００１１】
また、本開示によれば、高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、第１のサイズの第１の量子化行列の部分行列のみを参照することにより生成する生成部と、符号化対象画像内の前記第２のサイズの変換ブロックの変換係数を、前記生成部により生成される前記第２の量子化行列を用いて量子化して、量子化変換係数を生成する量子化部と、前記量子化変換係数及び前記第１の量子化行列を表現するスケーリングリストを符号化して、符号化ストリームを生成する符号化部と、を備える画像処理装置が提供される。【００１２】
また、本開示によれば、画像処理装置により実行される画像処理方法であって、高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、第１のサイズの第１の量子化行列の部分行列のみを参照することにより生成することと、符号化対象画像内の前記第２のサイズの変換ブロックの変換係数を、生成される前記第２の量子化行列を用いて量子化して、量子化変換係数を生成することと、前記量子化変換係数及び前記第１の量子化行列を表現するスケーリングリストを符号化して、符号化ストリームを生成することと、を含む画像処理方法が提供される。
【発明の効果】
【００１３】
本開示に係る技術によれば、量子化行列を効率的に生成し又はシグナリングすることができる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果と共に、又は上記の効果に代えて、本明細書に示されたいずれかの効果、又は本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１４】
【図１】HEVCにおいて利用可能な量子化行列の種類について説明するための説明図である。
【図２】FVCにおけるQTBTブロック分割の一例を示す説明図である。
【図３Ａ】FVCにおける正方形の変換ブロックの変換係数のゼロ化について説明するための説明図である。
【図３Ｂ】FVCにおける非正方形の変換ブロックの変換係数のゼロ化について説明するための説明図である。
【図４】本開示に係る技術のデコーダ側での基本的な実装の一例について説明するための説明図である。
【図５】ゼロ化が適用されない変換ブロックのための量子化行列の生成について説明するための説明図である。
【図６Ａ】ゼロ化が適用される変換ブロックのための量子化行列の生成について説明するための第１の説明図である。
【図６Ｂ】ゼロ化が適用される変換ブロックのための量子化行列の生成について説明するための第２の説明図である。
【図６Ｃ】ゼロ化が適用される変換ブロックのための量子化行列の生成について説明するための第３の説明図である。
【図７】本開示に係る技術のエンコーダ側での基本的な実装の一例について説明するための説明図である。
【図８】第１の実施形態に係るエンコーダの構成の一例を示すブロック図である。
【図９】図８に示したエンコーダにおいて実行される量子化関連処理の流れの一例を示すフローチャートである。
【図１０】量子化行列生成処理の流れの一例を示すフローチャートである。
【図１１】スケーリングリスト符号化処理の流れの一例を示すフローチャートである。
【図１２】第１の実施形態に係るデコーダの構成の一例を示すブロック図である。
【図１３】図１２に示したデコーダにおいて実行される逆量子化関連処理の流れの一例を示すフローチャートである。
【図１４】スケーリングリストデータ復号処理の流れの一例を示すフローチャートである。
【図１５】第２の実施形態に係るエンコーダの構成の一例を示すブロック図である。
【図１６】図１５に示したエンコーダにおいて実行される量子化関連処理の流れの一例を示すフローチャートである。
【図１７】第２の実施形態に係るデコーダの構成の一例を示すブロック図である。
【図１８】図１７に示したデコーダにおいて実行される逆量子化関連処理の流れの一例を示すフローチャートである。
【図１９】ハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１６】
本開示のスコープは、以下の詳細な説明の内容には限定されず、出願当時において公知である次の参照文献REF１〜REF３の内容もまた、参照によりここに組み込まれる。即ち、これら参照文献の内容もまた、サポート要件の充足性を判断する際の根拠となる。例えば、参照文献REF２に記載されている四分木（Quad-Tree）ブロック構造、及び参照文献REF３に記載されているQTBT（Quad  Tree  Plus  Binary  Tree）ブロック構造は、別段の明示的な説明の無い限り、本開示のスコープに包含される。同様に、例えばパース（Parsing）、シンタックス（Syntax）及びセマンティクス（Semantics）といった技術用語もまた、以下の詳細な説明において直接的に言及されているかに関わらず、本開示のスコープに包含され、特許請求の範囲に記載され得るそれら用語についてサポート要件は充足される。
・REF１：Recommendation  ITU-T  H.264  (04/2017)  “Advanced  video  coding  for  generic  audiovisual  services”,  April  2017
・REF２：Recommendation  ITU-T  H.265  (12/2016)  “High  efficiency  video  coding”,   December  2016
・REF３：J.  Chen，  E.  Alshina，  G.  J.  Sullivan，  J.  R.  Ohm  and  J.  Boyce，“Algorithm  Description  of  Joint  Exploration  Test  Model  (JEM7)”，  JVET-G1001，  Joint  Video  Exploration  Team  (JVET)  of  ITU−T  SG  16  WP  3  and  ISO/IEC  JTC  1/SC  29/WG  11  7th  Meeting:  Torino,  IT,  13−21  July  2017
【００１７】
これ以降、次の順序で説明を行う。
１．概要
１−１．用語の定義
１−２．既存の技術と問題点
１−３．本開示に係る技術の原理
１−４．ゼロ化の制御
１−５．基本量子化行列のサイズの制御
２．第１の実施形態
２−１．エンコーダの構成
２−２．シンタックス及びセマンティクスの例
２−３．参照量子化行列の選択
２−４．リサンプリング手法
２−５．符号化時の量子化関連処理の流れ
２−６．デコーダの構成
２−７．復号時の逆量子化関連処理の流れ
３．第２の実施形態
３−１．エンコーダの構成
３−２．符号化時の量子化関連処理の流れ
３−３．デコーダの構成
３−４．復号時の逆量子化関連処理の流れ
４．ハードウェア構成例
５．まとめ
【００１８】
＜１．概要＞
［１−１．用語の定義］
本明細書において使用されるいくつかの用語の定義は、次の通りである：
・変換ブロックとは、画像内に設定される、直交変換及び逆直交変換の処理単位として扱われるブロックをいう。変換ブロックは、Ｍ×Ｎのサイズを有し、Ｍは水平方向の成分の数、Ｎは垂直方向の成分の数である（Ｍ、Ｎは２以上の整数）。Ｍ＝Ｎの場合には変換ブロックは正方形であり、Ｍ≠Ｎの場合には変換ブロックは非正方形である。
・変換係数とは、空間領域の信号サンプルを周波数領域へ変換することにより導出される、周波数成分ごとの係数をいう。空間領域と周波数領域との間の変換は、例えば離散コサイン変換（DCT）又は離散サイン変換（DST）といった直交変換（又はその逆変換）であり得る。通常、２次元のＭ×Ｎの変換ブロックの信号サンプルを直交変換すると、同じサイズ、即ちＭ×Ｎの変換係数の２次元配列が導出される。典型的には、導出される２次元配列の最も左上の成分は直流（DC）成分であり、左上からより遠い位置の成分ほどより高い周波数に対応する。
・量子化行列とは、周波数領域において変換係数の２次元配列を成分ごとに異なる量子化ステップで量子化する際に利用される、量子化ステップを表現する行列である。量子化行列の要素は、必ずしもそれ自体が量子化ステップではなくてもよく、例えば量子化ステップを導出するための関係式へ入力されるパラメータであってもよい。
・スケーリングリストとは、何らかのスキャン順で量子化行列の要素を１次元化することにより導出される、一連の値のリストをいう。即ち、スケーリングリストは、量子化行列を表現する情報の一種である。通常、２次元の量子化行列を符号化ストリームにおいて明示的にシグナリングしようとする場合、２次元の量子化行列は、スケーリングリストへ変換された後に符号化される。
【００１９】
［１−２．既存の技術と問題点］
（１）HEVCにおける量子化行列のシグナリング
HEVCでは、符号化処理の処理単位となるCU（Coding  Unit）が画像内に四分木（Quad-Tree）状に設定される。そして、予測タイプとしてインター予測が選択されるCUについては直接的にCUを分割することにより１つ以上のTUが設定され、イントラ予測が選択されるCUについてはCU内の各PU（Prediction  Unit）を分割することにより１つ以上のTUが設定される。HEVCにおいては、このTU（Transform  Unit）が変換ブロックに相当し得る。TUの最小サイズは４×４であり、最大サイズは３２×３２である。エンコーダにおける直交変換及び量子化、並びにデコーダにおける逆量子化及び逆直交変換は、こうしたTUを処理単位として実行される。HEVCでは、量子化ステップは変換ブロック内で均一であってもよく、又は、変換ブロック内の位置ごとに（即ち、変換係数の周波数成分ごとに）相違してもよい。例えば、符号化ストリームのビットレートが同一であるとすると、変換係数の高周波成分を低周波成分よりも粗く量子化することにより、主観的な画質の劣化を相対的に抑制することができる。
【００２０】
変換ブロック内の位置ごとに異なる量子化ステップは、変換ブロックと同一のサイズの量子化行列の要素により表現される。HEVCでは、４×４、８×８及び１６×１６というTUサイズ候補の各々について、予測タイプ（イントラ又はインター）と色成分（Ｙ、Ｃｂ又はＣｒ）との組み合わせごとに異なる、計６（＝２×３）種類の量子化行列を使用することができる。３２×３２のTUサイズについては、予測タイプ（イントラ又はインター）ごとに異なる、計２種類の量子化行列を使用することができる。量子化行列のサイズはサイズIDにより識別され、予測タイプと色成分との組み合わせはマトリクスIDにより識別される。HEVCにおいて利用可能な量子化行列の種類が図１に概略的に示されている。
【００２１】
さらに、HEVCでは、次の３種類の既定の量子化行列が定義されている：
・予測タイプ及び色成分に依存しない、４×４のフラットな既定の量子化行列
・色成分に依存しない、イントラ予測用の８×８の非フラットな既定の量子化行列
・色成分に依存しない、インター予測用の８×８の非フラットな既定の量子化行列
１６×１６の既定の量子化行列は、８×８の既定の量子化行列の要素を最近傍（Nearest  Neighbor）法でアップサンプリングすることにより生成される。３２×３２の既定の量子化行列は、１６×１６の既定の量子化行列の要素を同様にアップサンプリングすることにより生成される。そして、HEVCでは、既定の量子化行列とは異なる量子化行列を使用することが望まれる場合に、ユーザにより定義される固有の量子化行列を明示的にシグナリングすることが可能である。但し、４×４及び８×８の量子化行列は、それらの全ての要素をスキャンすることにより全体としてシグナリングされ得る一方、１６×１６及び３２×３２の量子化行列のシグナリングは、８×８の量子化行列のシグナリングとアップサンプリングとにより実現される。なお、１６×１６及び３２×３２の固有の量子化行列の直流成分向けの要素の値は、別途シグナリングされ得る。
【００２２】
量子化行列を明示的にシグナリングする際には、上述したように、２次元の量子化行列の要素があるスキャン順に従って１次元の配列であるスケーリングリストへマッピングされ、スケーリングリストの各要素が直前の要素からの差分値として符号化される。HEVCにおいてこのように生成されるスケーリングリストを指し示すスケーリングリストデータのシンタックスが、参照文献REF２の第７．３．４節に記述されている。
【００２３】
（２）FVCにおけるQTBTブロック構造
FVCでは、画像内にQTBT状にCUが設定され、TUはCUと共通化される。より具体的には、画像内に格子状に配置されるCTU（Coding  Tree  Unit）の各々が、まず、四分木（Quad-Tree）状に分割され、必要に応じて、様々なサイズの正方形の四分木リーフが形成される。そして、各四分木リーフがさらに必要に応じて水平又は垂直のいずれかの境界で二分木（Binary-Tree）状に分割される。図２に、FVCにおけるQTBTブロック分割の一例が示されている。図２に示した画像Ｉｍ０は、各々１２８×１２８のサイズを有する４つのCTUを含む。左上のCTUは、４回の再帰的なQT分割によって形成された１３個のCUを含み、それらのうち最も小さいCUのサイズは８×８、最も大きいCUのサイズは６４×６４である。左下のCTUは、４回の再帰的なBT分割によって形成された５つのCUを含む。右上のCTUは、複数回の再帰的なQT分割及びBT分割によって形成された９つのCUを含む。右下のCTUは分割されておらず、１つのCUを含む。図２の例では最も小さいCUのサイズは８×８であるものの、一辺の長さが２又は４である正方形又は非正方形のCUもまた許容される。FVCでは、これらCUのそれぞれが変換ブロックとしての役割をも有する。
【００２４】
（３）FVCにおける高周波成分のゼロ化
上の説明から理解されるように、HEVCにおいて許容される変換ブロックサイズ（即ち、TUサイズ）の上限は３２×３２であったのに対し、FVCにおいて許容される変換ブロックサイズの上限は１２８×１２８まで引き上げられる。こうした大型の変換ブロックは、例えば、いわゆる４Ｋと呼ばれる高解像度映像を効率的に符号化する際に利用され得る。但し、実際には、３２×３２を上回るサイズで直交変換を実行することにより得られる変換係数の高周波成分は、そのデータサイズに比して主観的な画質にあまり寄与しない。そこで、FVCでは、一辺の長さが３２を上回る変換ブロックにおいて、３２番目以降の高域側の周波数成分をゼロ化（zeroing）する手法が採用される。図３Ａ及び図３Ｂは、FVCにおけるこうしたゼロ化のいくつかの例を概略的に示している。
【００２５】
図３Ａには、３つの正方形の変換ブロックＢ０１、Ｂ０２及びＢ０３が示されている。変換ブロックＢ０１のサイズは３２×３２であり、変換ブロックＢ０１にゼロ化は適用されない。変換ブロックＢ０２のサイズは６４×６４であり、変換ブロックＢ０２の左上の３２×３２の変換係数以外の変換係数はゼロ化される。変換ブロックＢ０３のサイズは１２８×１２８であり、変換ブロックＢ０３の左上の３２×３２の変換係数以外の変換係数はゼロ化される。図３Ｂには、３２×３２の正方形の変換ブロックに加えて、９つの様々なサイズの非正方形の変換ブロックが示されている。図３Ｂから理解されるように、FVCでは、６４以上の長さを有する辺において、低域側の３２個までの周波数成分が維持され、残りの（高域側の）周波数成分はゼロ化される。
【００２６】
（４）問題点の説明
上述したように、HEVCでは、量子化行列のシグナリングに起因する符号化効率の低下を回避するために、１６×１６及び３２×３２の量子化行列のシグナリングは、８×８の量子化行列のシグナリングとアップサンプリングとにより実現される。しかしながら、量子化行列のシグナリングに起因する符号化効率の低下と、ある量子化行列から他の量子化行列を（例えばアップサンプリングを通じて）生成することのデバイスの性能への影響とは、トレードオフの関係にある。特に、FVCのようにブロックサイズ及び形状の組み合わせが高度に多様化する場合、それら組み合わせの多くに対応する量子化行列を他の量子化行列から単純に生成しようとすると、その生成処理に要する処理コスト（例えば、ハードウェアリソースの占有、処理遅延又は増加した電力消費など）が顕著となり、エンコーダ又はデコーダといったデバイスの性能を劣化させかねない。
【００２７】
［１−３．本開示に係る技術の原理］
前項で説明した既存の技術の問題点を解決し又は少なくとも軽減するために、本開示に係る技術は、量子化行列を効率的に生成し又はシグナリングするための改善された仕組みを提供する。
【００２８】
（１）デコーダ側での実装例
図４は、本開示に係る技術のデコーダ側での基本的な実装の一例について説明するための説明図である。図４を参照すると、デコーダにおいて実行され得る逆量子化に関連する処理ステップＳ１１〜Ｓ１６が示されている。
【００２９】
・ステップＳ１１：符号化ストリームを復号して、逆量子化及び逆直交変換の動作を左右するいくつかの制御データをパースし、及び量子化変換係数を生成。制御パラメータは、例えば、ブロック分割を定義するブロック分割データ、及び１つ以上のサイズの量子化行列を定義するスケーリングリスト（ＳＬ）データを含む。
【００３０】
・ステップＳ１２：ブロック分割データに基づいて、画像内にQTBT状に複数の変換ブロックを設定。ブロック分割データは、例えば、各CTUの再帰的なQT分割又はBT分割を指し示すパラメータの集合を含む。ここで設定される変換ブロックは、様々な形状及びサイズを有し得る。
【００３１】
・ステップＳ１３：スケーリングリストデータを復号して、１つ以上のサイズの量子化行列を表現するスケーリングリストを生成し、生成したスケーリングリストをそれぞれの量子化行列へ変換。各サイズについて、予測タイプ及び色成分の組み合わせが互いに異なる複数の種類の量子化行列が生成され得る。本明細書では、このようにスケーリングリストデータに基づいて生成される量子化行列（即ち、明示的にシグナリングされる量子化行列）を基本量子化行列（基本ＱＭ）という。ステップＳ１３において生成される基本量子化行列は、ＱＭメモリＭ１１内に記憶される。
【００３２】
・ステップＳ１４：基本量子化行列以外の１つ以上のサイズの量子化行列の各々を、いずれかの生成済みの量子化行列を参照することにより生成。本明細書では、このようにサイズの異なる他の量子化行列を参照することにより追加的に生成される量子化行列を追加量子化行列（追加ＱＭ）という。また、追加量子化行列の生成の際に参照される量子化行列を、参照量子化行列（参照ＱＭ）という。典型的には、追加量子化行列は、参照量子化行列をリサンプリングすることにより生成され得る。追加量子化行列の一辺のサイズが参照量子化行列の対応する辺のサイズよりも大きい場合には、その辺に沿った方向においてアップサンプリングが行われる。また、追加量子化行列の一辺のサイズが参照量子化行列の対応する辺のサイズよりも小さい場合には、その辺に沿った方向においてダウンサンプリングが行われる。参照メモリＭ１２は、これらアップサンプリング及びダウンサンプリングにおいて参照される参照量子化行列を少なくとも部分的に記憶する。
【００３３】
上述したように、FVCでは、一辺の長さがある閾値を上回るサイズを有する変換ブロックの高周波成分が強制的にゼロ化される。量子化行列のサイズがこうしたゼロ化が適用されるブロックサイズに等しい場合、必ずゼロとなる変換係数に対応する量子化行列の要素を計算することは不必要なはずである。また、それら要素の計算のために多くのメモリリソースが割り当てられるとすれば、それはリソースの無駄である。そこで、本開示に係る技術では、ゼロ化が適用されるサイズの追加量子化行列を生成する際に、参照量子化行列の全体ではなく非ゼロの係数の量子化に実質的に寄与する範囲の部分行列のみを参照する手法が取り入れられる。これは、ゼロ化される係数に対応する位置の要素を計算するための演算がスキップされること、及び、参照メモリＭ１２が上記部分行列の範囲外の参照量子化行列の要素を保持しなくてよいことを意味する。ステップＳ１４において生成される追加量子化行列は、ＱＭメモリＭ１１内に記憶される。
【００３４】
・ステップＳ１５：ステップＳ１２において設定された複数の変換ブロックの各々について、量子化変換係数を逆量子化して、変換係数を復元。このステップＳ１５において使用される量子化行列は、ＱＭメモリＭ１１により記憶される複数の量子化行列のうち、対象変換ブロックの予測タイプと色成分との組み合わせに対応する、対象変換ブロックと同じサイズの量子化行列である。ゼロ化が適用される変換ブロックについては、変換係数のいくつかの周波数成分はゼロ化されており、それら周波数成分について逆量子化処理はスキップされてよい。
【００３５】
ある実施形態において、上述したステップＳ１４はステップＳ１５に包含され、個々の変換ブロックにおいて必要とされる量子化行列が（未生成である場合に）逆量子化処理の時点でいわゆる「オンザフライ」で生成されてもよい。他の実施形態において、上述したステップＳ１４は複数の変換ブロックにわたる処理に先立って実行され、全てのサイズ候補の量子化行列が事前にＱＭメモリＭ１１内に記憶されてもよい。
【００３６】
・ステップＳ１６：ステップＳ１２において設定された複数の変換ブロックの各々について、周波数領域の変換係数を逆直交変換して、空間領域の予測誤差を復元。ここで復元される予測誤差は、さらなる処理（図示せず）において、画像を再構築するために予測画像と合成され得る。
【００３７】
（２）様々なリサンプリング
図４のステップＳ１４における参照量子化行列から追加量子化行列を生成する処理は、典型的には、量子化行列の水平方向の要素のダウンサンプリング又はアップサンプリングと、垂直方向の要素のダウンサンプリング又はアップサンプリングとの組み合わせである。アップサンプリングは、例えば、最近傍（Nearest  Neighbor）法、バイリニア法又はバイキュービック法といった補間法で行列の要素を補間することを含む。ダウンサンプリングは、例えば、行列の要素を間引くことを含む。
【００３８】
図５は、ゼロ化が適用されない変換ブロックのための量子化行列の生成について説明するための説明図である。図５の左上には、参照量子化行列Ｂ１０が示されている。ここでは、説明の簡明さのために、参照量子化行列Ｂ１０の形状は正方形であるものとし、参照量子化行列Ｂ１０のサイズはＮ１×Ｎ１である。また、サイズＮ１×Ｎ１の変換ブロックには高周波成分のゼロ化が適用されないものとする。
【００３９】
図５の下に示した量子化行列Ｂ１１、Ｂ１２、Ｂ１３及びＢ１４は、生成すべき追加量子化行列である。追加量子化行列Ｂ１１の水平方向のサイズはＮ１よりも小さく、垂直方向のサイズもまたＮ１よりも小さい。追加量子化行列Ｂ１１は、高周波成分のゼロ化が適用されない変換ブロックに対応する。そのため、追加量子化行列Ｂ１１は、参照量子化行列Ｂ１０の全体を、水平方向及び垂直方向の双方でダウンサンプリングすることにより生成される。追加量子化行列Ｂ１２の水平方向のサイズはＮ１よりも小さく、垂直方向のサイズはＮ１よりも大きい。追加量子化行列Ｂ１２は、高周波成分のゼロ化が適用されない変換ブロックに対応する。そのため、追加量子化行列Ｂ１２は、参照量子化行列Ｂ１０の全体を、水平方向でダウンサンプリングし及び垂直方向でアップサンプリングすることにより生成される。追加量子化行列Ｂ１３の水平方向のサイズはＮ１よりも大きく、垂直方向のサイズはＮ１よりも小さい。追加量子化行列Ｂ１３は、高周波成分のゼロ化が適用されない変換ブロックに対応する。そのため、追加量子化行列Ｂ１３は、参照量子化行列Ｂ１０の全体を、水平方向でアップサンプリングし及び垂直方向でダウンサンプリングすることにより生成される。追加量子化行列Ｂ１４の水平方向のサイズはＮ１よりも大きく、垂直方向のサイズもまたＮ１よりも大きい。追加量子化行列Ｂ１４は、高周波成分のゼロ化が適用されない変換ブロックに対応する。そのため、追加量子化行列Ｂ１４は、参照量子化行列Ｂ１０の全体を、水平方向及び垂直方向の双方でアップサンプリングすることにより生成される。なお、図５では、水平方向のリサンプリング（ダウンサンプリング又はアップサンプリング）と垂直方向のリサンプリングとが別個の演算として描かれているが、これらリサンプリングは１回の演算として統合的に実行されてもよい。
【００４０】
図６Ａ〜図６Ｃは、ゼロ化が適用される変換ブロックのための量子化行列の生成について説明するための説明図である。上述したように、ゼロ化が適用される変換ブロックのための追加量子化行列の生成は、参照量子化行列の部分行列のみを参照することにより行われる。図５の例と同様に、ここでも、説明の簡明さのために、サイズＮ１×Ｎ１の正方形の量子化行列Ｂ１０が参照量子化行列として選択されるものとする。
【００４１】
図６Ａの下に示した量子化行列Ｂ２１及びＢ２２は、生成すべき追加量子化行列である。追加量子化行列Ｂ２１の水平方向のサイズは、高周波成分のゼロ化が適用されないサイズの上限ＮTHよりも大きく、一方で垂直方向のサイズはＮ１よりも小さい。追加量子化行列Ｂ２１は、高周波成分のゼロ化が適用される変換ブロックに対応する。そのため、追加量子化行列Ｂ２１は、参照量子化行列Ｂ１０の部分行列を、水平方向でアップサンプリングし及び垂直方向でダウンサンプリングすることにより生成される。水平方向において、参照量子化行列Ｂ１０のサイズＮ１に対する部分行列のサイズＮPARの割合は、追加量子化行列Ｂ２１のサイズＮ２に対する非ゼロ部分のサイズＮTHの割合に等しい。追加量子化行列Ｂ２２の水平方向のサイズもまた、高周波成分のゼロ化が適用されないサイズの上限ＮTHよりも大きく、一方で垂直方向のサイズは、Ｎ１よりも大きいがＮTHよりは小さい。追加量子化行列Ｂ２２は、高周波成分のゼロ化が適用される変換ブロックに対応する。そのため、追加量子化行列Ｂ２２は、参照量子化行列Ｂ１０の部分行列を、水平方向及び垂直方向の双方でアップサンプリングすることにより生成される。
【００４２】
図６Ｂの下に示した量子化行列Ｂ３１及びＢ３２は、生成すべき追加量子化行列である。追加量子化行列Ｂ３１の水平方向のサイズはＮ１よりも小さく、一方で垂直方向のサイズは高周波成分のゼロ化が適用されないサイズの上限ＮTHよりも大きい。追加量子化行列Ｂ３１は、高周波成分のゼロ化が適用される変換ブロックに対応する。そのため、追加量子化行列Ｂ３１は、参照量子化行列Ｂ１０の部分行列を、水平方向でダウンサンプリングし及び垂直方向でアップサンプリングすることにより生成される。垂直方向において、参照量子化行列Ｂ１０のサイズＮ１に対する部分行列のサイズＮPARの割合は、追加量子化行列Ｂ３１のサイズＮ２に対する非ゼロ部分のサイズＮTHの割合に等しい。追加量子化行列Ｂ３２の水平方向のサイズは、Ｎ１よりも大きいがＮTHよりは小さく、一方で垂直方向のサイズは、高周波成分のゼロ化が適用されないサイズの上限ＮTHよりも大きい。追加量子化行列Ｂ３２は、高周波成分のゼロ化が適用される変換ブロックに対応する。そのため、追加量子化行列Ｂ３２は、参照量子化行列Ｂ１０の部分行列を、水平方向及び垂直方向の双方でアップサンプリングすることにより生成される。
【００４３】
図６Ｃの下に示した量子化行列Ｂ４１は、生成すべき追加量子化行列である。追加量子化行列Ｂ４１の水平方向のサイズは高周波成分のゼロ化が適用されないサイズの上限ＮTHよりも大きく、垂直方向のサイズもまたＮTHよりも大きい。追加量子化行列Ｂ４１は、高周波成分のゼロ化が適用される変換ブロックに対応する。そのため、追加量子化行列Ｂ４１は、参照量子化行列Ｂ１０の部分行列を、水平方向及び垂直方向の双方でアップサンプリングすることにより生成される。水平方向において、参照量子化行列Ｂ１０のサイズＮ１に対する部分行列のサイズＮPAR_Hの割合は、追加量子化行列Ｂ４１のサイズＮ2_Hに対する非ゼロ部分のサイズＮTHの割合に等しい。垂直方向において、参照量子化行列Ｂ１０のサイズＮ１に対する部分行列のサイズＮPAR_Vの割合は、追加量子化行列Ｂ４１のサイズＮ2_Vに対する非ゼロ部分のサイズＮTHの割合に等しい。
【００４４】
図６Ａ〜図６Ｃの例のように、明示的にシグナリングされない量子化行列を追加的に生成する際に、参照量子化行列の全体ではなく部分行列のみを参照することで、行列要素のリサンプリングのための演算のコストを低減し、及びメモリリソースの浪費を回避することができる。
【００４５】
（３）エンコーダ側での実装例
図７は、本開示に係る技術のエンコーダ側での基本的な実装の一例について説明するための説明図である。図７を参照すると、エンコーダにおいて実行され得る量子化に関連する処理ステップＳ２１〜Ｓ２７が示されている。
【００４６】
・ステップＳ２１：画像内にQTBT状に複数の変換ブロックを設定。ブロック構造は、例えば、事前の画像の解析又は最適なブロック構造の探索の結果として決定され得る。さらに、ここで設定されるブロック構造を表現するパラメータ（例えば、各CTUの再帰的なQT分割又はBT分割を指し示すパラメータ）の集合が、ブロック分割データとして生成される。
【００４７】
・ステップＳ２２：１つ以上のサイズの、ユーザにより定義される（即ち、既定の量子化行列ではない）基本量子化行列を設定。各サイズについて、予測タイプ及び色成分の組み合わせが互いに異なる複数の種類の量子化行列が設定され得る。ある種類の量子化行列が他の種類の量子化行列と同一であってもよい。ステップＳ２２において設定される基本量子化行列は、ＱＭメモリＭ２１内に記憶される。
【００４８】
・ステップＳ２３：基本量子化行列以外の１つ以上のサイズの量子化行列（追加量子化行列）の各々を、いずれかの基本量子化行列を参照することにより生成。追加量子化行列は、図５〜図６Ｃに関連して説明したように参照量子化行列をリサンプリングすることにより生成され得る。参照メモリＭ２２は、追加量子化行列を生成する際に参照される参照量子化行列を少なくとも部分的に記憶する。上で説明したデコーダの実装と同様に、エンコーダの実装においても、ゼロ化が適用されるサイズの追加量子化行列を生成する際には、参照量子化行列の全体ではなく、非ゼロの係数の量子化に実質的に寄与する範囲の部分行列のみが参照され得る。
【００４９】
・ステップＳ２４：ステップＳ２１において設定された複数の変換ブロックの各々について、空間領域の予測誤差を直交変換して、周波数領域の変換係数を生成。
【００５０】
・ステップＳ２５：ステップＳ２１において設定された複数の変換ブロックの各々について、変換係数を量子化して、量子化変換係数を生成。このステップＳ２５において使用される量子化行列は、ＱＭメモリＭ２１により記憶される複数の量子化行列のうち、対象変換ブロックの予測タイプと色成分との組み合わせに対応する、対象変換ブロックと同じサイズの量子化行列である。ゼロ化が適用される変換ブロックについては、変換係数のいくつかの周波数成分はゼロ化されており、それら周波数成分について量子化処理はスキップされてよい。
【００５１】
ある実施形態において、上述したステップＳ２３はステップＳ２５に包含され、個々の変換ブロックにおいて必要とされる量子化行列が（未生成である場合に）量子化処理の時点でいわゆる「オンザフライ」で生成されてもよい。他の実施形態において、上述したステップＳ２３は複数の変換ブロックにわたる処理に先立って実行され、全てのサイズ候補の量子化行列が事前にＱＭメモリＭ２１内に記憶されてもよい。
【００５２】
なお、後に説明するように、エンコーダは通常ローカルデコーダを包含し、そのローカルデコーダにおいて逆量子化が実行される。図７はローカルデコーダにおける逆量子化を示していないものの、この逆量子化においてもステップＳ２５において使用されるものと同じ量子化行列が使用されてよい。
【００５３】
・ステップＳ２６：ステップＳ２２において設定された１つ以上のサイズの基本量子化行列をスケーリングリストへ変換し、さらにそれぞれのスケーリングリストを符号化してスケーリングリストデータを生成。
【００５４】
・ステップＳ２７：ブロック分割データ及びスケーリングリストデータを含む制御パラメータと量子化変換係数とを符号化して、符号化ストリームを生成。
【００５５】
［１−４．ゼロ化の制御］
前項では、少なくとも一方の辺のサイズが上限ＮTHよりも大きい変換ブロックに高周波成分のゼロ化が適用される例を主に説明した。参照文献REF３によれば、FVCにおけるこの上限ＮTHは、仕様上の静的な定義として、３２に等しい。この場合、どの変換ブロックにゼロ化が適用されるかを指し示す制御パラメータを符号化することは必要とされない。しかしながら、より柔軟なゼロ化の制御を実現するために、例えば次のような制御パラメータが追加的に符号化されてもよい：
【００５６】
・ゼロ化フラグ：本フラグが真（True）である場合には、本フラグに関連付けられる変換ブロックに高周波成分のゼロ化が適用される、偽（False）である場合には、本フラグに関連付けられる変換ブロックに高周波成分のゼロ化は適用されない。
【００５７】
・ゼロ化サイズ情報：どのサイズの変換ブロックに高周波成分のゼロ化が適用されるかを指し示す。ゼロ化サイズ情報は、例えば、ゼロ化が適用されない（又は適用される）サイズの上限及び下限のうちの少なくとも一方に相当する境界値（閾値）を含んでもよい。その代わりに、ゼロ化サイズ情報は、ゼロ化が適用されない（又は適用される）サイズを識別するインデックスを含んでもよい。ゼロ化サイズ情報は、ゼロ化フラグの有無に関わらず符号化されてもよく、又はゼロ化フラグが真である場合にのみ符号化されてもよい。
【００５８】
上述したゼロ化制御用の制御パラメータは、例えば、シーケンス、ピクチャ、スライス、タイル、CTU又は変換ブロックごとに符号化されてよい。このようにゼロ化のオン／オフ又はゼロ化の対象サイズを動的に制御することで、ユーザのニーズ又はシステムの要件若しくは制約に応じて、微細な高周波成分をも表現する画像の柔軟な再生を可能とすることができる。
【００５９】
［１−５．基本量子化行列のサイズの制御］
上述したように、HEVCでは、１６×１６及び３２×３２の固有の量子化行列は、直接的にはシグナリングされず、よりサイズの小さい量子化行列をアップサンプリングすることによりそれぞれ生成される。具体的には、HEVCでは、８×８までのサイズの量子化行列が直接的にシグナリングされることが仕様上のルールとして予め定義されている。一方、人間の視覚感度特性のモデル（例えば、下記参照文献REF４参照）に基づいて、最も効率的なＭ×Ｎの量子化行列（Ｍ及びＮは２のべき乗）の要素を計算すると、より小さい量子化行列がより大きい量子化行列のサブセットになることが知られている。従って、最適な量子化行列のセットを得るためには、よりサイズの小さい基本量子化行列をアップサンプリングして追加量子化行列を生成する代わりに、よりサイズの大きい基本量子化行列をダウンサンプリングして追加量子化行列を生成する手法もまた有益である。
・REF４：Long-Wen  Chang，  Ching-Yang  Wang  and  Shiuh-Ming  Lee，  “Designing  JPEG  quantization  tables  based  on  human  visual  system”，  International  Conference  on  Image  Processing,  ICIP  99,  24-28  October,  1999
【００６０】
そこで、後に説明するいくつかの実施形態では、スケーリングリストデータからどのサイズの量子化行列が基本量子化行列として生成されるのかを指し示すサイズ指示情報が符号化される。サイズ指示情報により基本量子化行列のサイズを可変的に指し示すことで、より多様な量子化行列を柔軟に使い分けることが可能となる。なお、当然ながら、本開示に係る技術は、サイズの大小に関わらず、どのサイズの量子化行列が直接的にシグナリングされるかが仕様において予め定義される方式にも適用可能である。
【００６１】
ここまでに説明した本開示に係る技術の原理は、映像を構成する一連の画像を符号化する画像処理装置（即ち、エンコーダ）において実装されてもよく、又は、符号化されたビットストリームを復号して映像を再構成する画像処理装置（即ち、デコーダ）において実装されてもよい。１つの画像処理装置がエンコーダ及びデコーダの双方の機能性を有していてもよい。画像処理装置は、撮像装置、映像記録装置、再生装置、表示装置、通信装置又は情報処理装置といった、いかなる種類の装置であってもよい。次節より、そうした画像処理装置に関連する２つの具体的な実施形態をより詳細に説明する。
【００６２】
＜２．第１の実施形態＞
［２−１．エンコーダの構成］
（１）全体的な構成
図８は、第１の実施形態に係る、エンコーダの機能性を有する画像処理装置１０ａの構成の一例を示すブロック図である。図８を参照すると、画像処理装置１０ａは、符号化制御部１１、並び替えバッファ１２、減算部１３、直交変換部１４、量子化部１５ａ、可逆符号化部１６、蓄積バッファ１７、レート制御部１８、逆量子化部２１、逆直交変換部２２、加算部２３、インループフィルタ２４、フレームメモリ２５、スイッチ２６、イントラ予測部３０、インター予測部３５、モード設定部４０及びＱＭ記憶部１１５ａを備える。
【００６３】
符号化制御部１１は、以下に詳しく説明するような、画像処理装置１０ａのエンコーダとしての機能性の全般を制御する。本実施形態において、符号化制御部１１は、ブロック設定部１１１及び基本ＱＭ設定部１１３を含む。ブロック設定部１１１は、図７に関連して説明したブロック設定処理Ｓ２１を実行するモジュールである。基本ＱＭ設定部１１３は、図７に関連して説明した基本ＱＭ設定処理Ｓ２２を実行するモジュールである。これらモジュールについて、後にさらに説明する。
【００６４】
並び替えバッファ１２は、符号化すべき映像を構成する一連の画像を、所定のGOP（Group  of  Pictures）構造に従って並び替える。並び替えバッファ１２は、並び替え後の画像を減算部１３、イントラ予測部３０及びインター予測部３５へ出力する。
【００６５】
減算部１３は、並び替えバッファ１２から入力される画像（原画像）と予測画像との差分である予測誤差を算出し、算出した予測誤差を直交変換部１４へ出力する。
【００６６】
直交変換部１４は、符号化対象画像内に設定される１つ以上の変換ブロックの各々について直交変換を実行する。ここでの直交変換は、例えば、離散コサイン変換（DCT）又は離散サイン変換（DST）であってよい。より具体的には、直交変換部１４は、減算部１３から入力される予測誤差を表す空間領域の信号サンプルを変換ブロックごとに直交変換して、周波数領域の変換係数を生成する。また、直交変換部１４は、符号化制御部１１による制御に従って、あるサイズを有する変換ブロックの高周波成分をゼロ化する。例えば、一辺の長さが３２を上回る変換ブロックにおいて、３２番目以降の高域側の周波数成分がゼロ化されてもよい。そして、直交変換部１４は、生成した変換係数を量子化部１５ａへ出力する。
【００６７】
量子化部１５ａには、直交変換部１４から入力される変換係数、及び後に説明するレート制御部１８からのレート制御信号が供給される。量子化部１５ａは、符号化対象画像内の１つ以上の変換ブロックの各々について、当該変換ブロックと同じサイズの量子化行列を用いて変換係数を量子化して、量子化変換係数（以下、量子化データともいう）を生成する。量子化部１５ａは、符号化制御部１１による制御に従って、変換係数に含まれる強制的にゼロ化された周波数成分の量子化をスキップする。そして、量子化部１５ａは、生成した量子化データを可逆符号化部１６及び逆量子化部２１へ出力する。また、量子化部１５ａは、レート制御部１８からのレート制御信号に基づいて量子化ステップを切り替えることにより、量子化データのビットレートを変化させる。本実施形態において、量子化部１５ａは、ＱＭ生成部１１７ａを含む。ＱＭ生成部１１７ａは、図７に関連して説明したＱＭ生成処理Ｓ２３を実行するモジュールである。ＱＭ生成部１１７ａは、図８には示していない参照メモリＭ２２をも含む。このモジュールについて、後にさらに説明する。
【００６８】
可逆符号化部１６は、量子化部１５ａから入力される量子化データを符号化して、符号化ストリームを生成する。また、可逆符号化部１６は、デコーダにより参照される様々な制御パラメータを符号化して、符号化パラメータを符号化ストリームへ挿入する。ここで符号化される制御パラメータは、例えば、上述したブロック分割データ及びスケーリングリスト（又はスケーリングリストデータ）を含む。可逆符号化部１６は、生成した符号化ストリームを蓄積バッファ１７へ出力する。本実施形態において、可逆符号化部１６は、ＳＬ符号化部１１９を含む。ＳＬ符号化部１１９は、図７に関連して説明したＱＭ変換／ＳＬデータ生成処理Ｓ２６を実行するモジュールである。このモジュールについて、後にさらに説明する。
【００６９】
蓄積バッファ１７は、可逆符号化部１６から入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ１７は、蓄積した符号化ストリームを、伝送路の帯域に応じたレートで、図示しない伝送部（例えば、通信インタフェース又は周辺機器との接続インタフェースなど）へ出力する。
【００７０】
レート制御部１８は、蓄積バッファ１７の空き容量を監視する。そして、レート制御部１８は、蓄積バッファ１７の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部１５ａへ出力する。例えば、レート制御部１８は、蓄積バッファ１７の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、レート制御部１８は、蓄積バッファ１７の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
【００７１】
逆量子化部２１、逆直交変換部２２及び加算部２３は、ローカルデコーダを構成する。ローカルデコーダは、符号化されたデータを復号して画像を再構築する役割を有する。
【００７２】
逆量子化部２１は、各変換ブロックについて、量子化部１５ａにより使用されたものと同じ量子化行列を用いて量子化変換係数を逆量子化して、変換係数を復元する。逆量子化部２１は、量子化変換係数に含まれる強制的にゼロ化された周波数成分の逆量子化をスキップする。そして、逆量子化部２１は、復元した変換係数を逆直交変換部２２へ出力する。
【００７３】
逆直交変換部２２は、各変換ブロックについて、逆直交変換を実行する。より具体的には、逆直交変換部２２は、逆量子化部２１から入力される周波数領域の変換係数を変換ブロックごとに逆直交変換して、空間領域の信号サンプルの形式の予測誤差を復元する。そして、逆直交変換部２２は、復元した予測誤差を加算部２３へ出力する。
【００７４】
加算部２３は、逆直交変換部２２から入力される復元された予測誤差とイントラ予測部３０又はインター予測部３５から入力される予測画像とを加算することにより、復号画像を再構築する。そして、加算部２３は、再構築した復号画像をインループフィルタ２４及びフレームメモリ２５へ出力する。
【００７５】
インループフィルタ２４は、画質の向上を目的として復号画像に適用される一連のフィルタから構成される。インループフィルタ２４は、例えば、参照文献REF３において説明されているバイラテラルフィルタ、デブロッキングフィルタ、適応オフセットフィルタ、及び適応ループフィルタのうちの１つ以上を含んでよい。インループフィルタ２４は、一連のフィルタを通じてフィルタリングされた復号画像をフレームメモリ２５へ出力する。
【００７６】
フレームメモリ２５は、加算部２３から入力されるフィルタリング前の復号画像、及びインループフィルタ２４から入力されるフィルタリング後の復号画像を記憶する。
【００７７】
スイッチ２６は、イントラ予測のために使用されるフィルタリング前の復号画像をフレームメモリ２５から読み出し、読み出した復号画像を参照画像としてイントラ予測部３０に供給する。また、スイッチ２６は、インター予測のために使用されるフィルタリング後の復号画像をフレームメモリ２５から読み出し、読み出した復号画像を参照画像としてインター予測部３５に供給する。
【００７８】
イントラ予測部３０は、原画像及び復号画像に基づいて、イントラ予測処理を実行する。例えば、イントラ予測部３０は、探索範囲に含まれる予測モード候補の各々について、予測誤差及び発生する符号量に基づくコストを評価する。次いで、イントラ予測部３０は、コストが最小となる予測モードを最適な予測モードとして選択する。また、イントラ予測部３０は、選択した最適な予測モードに従って予測画像を生成する。そして、イントラ予測部３０は、予測モード情報を含むいくつかの制御パラメータと共に、予測画像及び対応するコストをモード設定部４０へ出力する。
【００７９】
インター予測部３５は、原画像及び復号画像に基づいて、インター予測処理（動き補償）を実行する。例えば、インター予測部３５は、ある探索範囲に含まれる予測モード候補の各々について、予測誤差及び発生する符号量に基づくコストを評価する。次いで、インター予測部３５は、コストが最小となる予測モードを最適な予測モードとして選択する。また、インター予測部３５は、選択した最適な予測モードに従って予測画像を生成する。そして、インター予測部３５は、予測モード情報を含むいくつかの制御パラメータと共に、予測画像及び対応するコストをモード設定部４０へ出力する。
【００８０】
モード設定部４０は、イントラ予測部３０及びインター予測部３５から入力されるコストの比較に基づいて、ブロックごとに予測タイプを設定する。モード設定部４０は、予測タイプとしてイントラ予測を設定したブロックについては、イントラ予測部３０により生成される予測画像を減算部１３及び加算部２３へ出力する。また、モード設定部４０は、予測タイプとしてインター予測を設定したブロックについては、インター予測部３５により生成される予測画像を減算部１３及び加算部２３へ出力する。また、モード設定部４０は、符号化すべき制御パラメータを可逆符号化部１６へ出力する。
【００８１】
（２）量子化行列の生成に関係する機能性
図８に示した様々なコンポーネントの中で、ブロック設定部１１１、基本ＱＭ設定部１１３、ＱＭ記憶部１１５ａ、ＱＭ生成部１１７ａ及びＳＬ符号化部１１９が、エンコーダにおいて実行される量子化行列の生成に主に関係する。
【００８２】
ブロック設定部１１１は、各画像をQTBTブロック分割を通じて複数の変換ブロックへ分割することにより、一連の画像の各々に複数の変換ブロックを設定する。また、ブロック設定部１１１は、設定した変換ブロックのブロック構造を定義するブロック分割データを生成し、生成したブロック分割データを可逆符号化部１６へ出力する。ブロック設定部１１１により設定される変換ブロックのサイズは、例えば２×２から１２８×１２８までのレンジの範囲内であってよい。変換ブロックの形状は、正方形であってもよく又は非正方形であってもよい。変換ブロックの形状及びサイズのいくつかの例が図２に示されている。
【００８３】
基本ＱＭ設定部１１３は、画像処理装置１０ａにより利用される量子化行列として、１つ以上のサイズの基本量子化行列を設定する。基本量子化行列は、典型的には、FVCの仕様により定義される既定の量子化行列とは値の異なる少なくとも１つの要素を有する。基本量子化行列の要素の値は、例えば、事前の画像の解析又はパラメータのチューニングの結果として決定され得る。基本ＱＭ設定部１１３は、各サイズについて、予測タイプ及び色成分の組み合わせが互いに異なる複数の種類の量子化行列を設定し得る。ある種類の量子化行列が他の種類の量子化行列と同一であってもよい。一例として、基本量子化行列は、正方形の量子化行列のみを含む。他の例として、基本量子化行列は、正方形の量子化行列及び非正方形の量子化行列の双方を含む。後に説明するシンタックスの例において、量子化行列のサイズはサイズIDで識別され、量子化行列の種類はマトリクスIDにより識別される。
【００８４】
ＱＭ記憶部１１５ａは、画像処理装置１０ａにより利用される様々なサイズの様々な種類の量子化行列を記憶する記憶モジュールである。ＱＭ記憶部１１５ａにより記憶される量子化行列は、基本ＱＭ設定部１１３により設定される基本量子化行列、及び、後述するＱＭ生成部１１７ａにより追加的に生成される追加量子化行列を含む。本実施形態において、基本量子化行列は、複数の変換ブロックにわたる直交変換及び量子化に先立って設定され、それら処理を通じてＱＭ記憶部１１５ａにより記憶される。一方、追加量子化行列は、個別の変換ブロックの変換係数が量子化される際に必要に応じて生成され、ＱＭ記憶部１１５ａにより記憶される。ＱＭ記憶部１１５ａは、どのサイズの量子化行列が既に存在するかを指し示す内部的な制御情報である行列管理情報を管理してもよい。行列管理情報は、例えば、水平方向及び垂直方向のサイズにそれぞれ対応する２つのサイズIDにより識別される量子化行列が存在するか否か（例えば、生成済みであるか否か）を指し示すフラグのセットからなる。
【００８５】
ＱＭ生成部１１７ａは、量子化部１５ａにおいて個別の変換ブロックの変換係数が量子化される際に、その変換ブロックと同じサイズを有する量子化行列が既に生成済みであるかを、ＱＭ記憶部１１５ａにより提供される上述した行列管理情報を参照することにより判定する。そして、ＱＭ生成部１１７ａは、当該サイズの量子化行列が既に生成済みである場合には、その生成済みの量子化行列をＱＭ記憶部１１５ａから読み出す。一方、ＱＭ生成部１１７ａは、変換ブロックと同じサイズを有する量子化行列が生成済みではない場合には、生成済みの基本量子化行列のうちのいずれかを参照量子化行列として選択し、選択した参照量子化行列をリサンプリングすることにより、追加量子化行列を生成する。ＱＭ生成部１１７ａは、リサンプリングされる参照量子化行列又はその部分行列を一時的に保持するメモリを含む。
【００８６】
ＱＭ生成部１１７ａは、例えば、ある対象サイズの変換ブロックに高周波成分のゼロ化が適用されない場合には、その変換ブロックのための量子化行列を、参照量子化行列の全体を参照することにより生成する。一方、ＱＭ生成部１１７ａは、別の対象サイズの変換ブロックに高周波成分のゼロ化が適用される場合には、その変換ブロックのための量子化行列を、参照量子化行列の部分行列のみを参照することにより生成する。後者の場合、参照量子化行列のサイズに対する参照される（即ち、一時的にＱＭ生成部１１７ａのメモリにより保持される）部分行列のサイズの割合は、生成される追加量子化行列のサイズに対する非ゼロ部分の割合に等しい。量子化部１５ａは、このようにリソースを節約しつつ生成される様々な量子化行列のうちのいずれかを用いて、各変換ブロックの変換係数を量子化する。
【００８７】
ある例において、ＱＭ生成部１１７ａは、どのサイズの変換ブロックにゼロ化が適用されるかを予め定義する仕様上のルールに従って、各変換ブロックにゼロ化が適用されるかを判定してもよい。他の例において、ＱＭ生成部１１７ａは、符号化制御部１１による制御に従って、ある変換ブロックにはゼロ化が適用され、他の変換ブロックにはゼロ化が適用されないと判定してもよい。後者の例では、上で説明したような、各変換ブロックにゼロ化が適用されるかを指し示すゼロ化フラグ及びどのサイズの変換ブロックにゼロ化が適用されるかを指し示すゼロ化サイズ情報のうちの一方又は双方が、制御パラメータとして符号化され、符号化ストリームへ挿入され得る。
【００８８】
ＳＬ符号化部１１９は、基本ＱＭ設定部１１３により設定される上述した基本量子化行列を表現するスケーリングリストを符号化して、スケーリングリストデータを生成する。スケーリングリストデータは、可逆符号化部１６により生成される符号化ストリームへ挿入される。
【００８９】
ある例において、ＳＬ符号化部１１９は、どのサイズの量子化行列がスケーリングリストデータを介して基本量子化行列として明示的にシグナリングされるのかを指し示すサイズ指示情報を、スケーリングリストデータに含める。スケーリングリストデータを介していくつのサイズの量子化行列がシグナリングされるのかが可変的である場合には、ＳＬ符号化部１１９は、シグナリングの対象であるサイズの数を指し示すサイズ数情報をさらにスケーリングリストデータに含めてもよい。この場合において、２つ以上のサイズがシグナリングされるときは、それらは（異なるサイズIDにより識別される）互いに異なるサイズであるものとするというビットストリーム制約が課せられてもよい。こうしたビットストリーム制約によって、エンコーダにおけるサイズ指示情報の冗長的な符号化を防止し、符号量のオーバヘッドを削減して、リソースの浪費を回避することができる。
【００９０】
他の例において、スケーリングリストデータを介して明示的にシグナリングされる基本量子化行列のサイズは、仕様上のルールとして予め定義される。この場合、ＳＬ符号化部１１９は、上述したサイズ指示情報及びサイズ数情報をスケーリングリストデータに含めない。
【００９１】
［２−２．シンタックス及びセマンティクスの例］
次の表１は、参照文献REF２に記述されているHEVCのスケーリングリストデータのシンタックスを示している。
【００９２】
【表１】
2019188097.tif 000003
【００９３】
HEVCのスケーリングリストデータは、サイズID（sizeId）により識別される４つのサイズと、マトリクスID（matrixId）により識別される６つの種類との組み合わせの各々について、次の制御パラメータのうちの１つ以上を含む：
・scaling_list_pred_mode_flag[sizeId][matrixId]
・scaling_list_pred_matrix_id_delta[sizeId][matrixId]
・scaling_list_dc_coef_minus8[sizeId-2][matrixId]
・scaling_list_delta_coef
scaling_list_pred_mode_flag[sizeId][matrixId]は、スケーリングリストの符号化手法を切り替えるための制御フラグである。この制御フラグが偽である種類の量子化行列は、scaling_list_pred_matrix_id_delta[sizeId][matrixId]により指し示される他の種類の量子化行列を参照することにより簡易的に符号化される。上記制御フラグが真である量子化行列は、scaling_list_dc_coef_minus8[sizeId-2][matrixId]及び複数個のscaling_list_delta_coefを用いて差分符号化される。scaling_list_delta_coefの数は、中間変数coefNumにより指し示される。
【００９４】
次の表２は、本実施形態において修正され得るスケーリングリストデータのシンタックスの一例を示している。表２の例は、上の［１−５．基本量子化行列のサイズの制御］において説明した、どのサイズの量子化行列が基本量子化行列として生成されるのかを指し示すサイズ指示情報を含む。
【００９５】
【表２】
2019188097.tif 000004
【００９６】
具体的には、表２の２行目のパラメータsize_id_minusXがサイズ指示情報に相当する。パラメータsize_id_minusXの値は、実際のサイズIDから予め定義されるオフセット値Ｘを減算することにより導かれる。
【００９７】
次の表３は、HEVCにおける定義から修正され得るサイズIDの定義の一例を示している。
【００９８】
【表３】
2019188097.tif 000005
【００９９】
表３の例では、正方形の量子化行列の一辺のサイズの候補値（２〜１２８）に、小さい方から順にそれぞれ０〜６というインデックスがサイズIDとして付与されている。一辺のサイズの候補値ＮとサイズIDの値sizeIdとの間の関係は、この例では次式の通りである：
Ｎ＝１<<（sizeId＋１）
但し、サイズの候補値とサイズIDとの間の関係は、上の式には限定されない。
【０１００】
非正方形の量子化行列のサイズは、水平方向及び垂直方向のそれぞれについてサイズIDを特定することにより識別され得る。表２のシンタックスの例では、サイズ指示情報は、１つのパラメータsize_id_minusXのみを含む。これは、基本量子化行列として正方形の量子化行列のみが明示的にシグナリングされることを意味する。また、オフセット値Ｘ未満のサイズIDに対応するサイズの量子化行列はシグナリングされない。なお、かかる例に限定されず、サイズ指示情報は、非正方形の基本量子化行列を識別するための２つのサイズIDをそれぞれ識別する２つのパラメータを含んでもよい。また、オフセットが省略され、オフセットされないサイズIDがそのまま符号化されてもよい。
【０１０１】
次の表４は、HEVCにおける定義から修正され得るマトリクスIDの定義の一例を示している。
【０１０２】
【表４】
2019188097.tif 000006
【０１０３】
図１に関連して説明したHEVCにおける定義では、サイズIDが３（サイズ３２×３２に対応）に等しいケースでマトリクスIDの定義は例外的となるが、表４の例では、サイズIDの値に関わらずマトリクスIDの定義は共通的である。これが、表１のシンタックスの第３行のマトリクスIDのループと、表２のシンタックスの第４行のマトリクスIDのループとの相違に影響している。なお、中間変数coefNumにより指し示される差分符号化される要素値の最大数は、表１及び表２のシンタックスにおいて共に６４であるが、より柔軟な量子化行列の設計を可能とするために、この最大数が変更されてもよく又は可変的に設定されてもよい。
【０１０４】
［２−３．参照量子化行列の選択］
ある追加量子化行列を生成する際にどの量子化行列を参照すべきかは、いかなるルールに従って決定されてもよい。単純な例として、利用可能な正方形の量子化行列のうち最もサイズの大きい行列が、参照量子化行列として選択されてもよい。この例において、明示的にシグナリングされる最大の量子化行列のサイズIDを“maxSignaledSizeId”とし、あるサイズIDとマトリクスIDとの組み合わせにより識別される量子化行列が存在するか否かが行列管理情報“QMAvailFlag[sizeId][matrixId]”により示されるものとする（QMAvailFlag[sizeId][matrixId]が真である場合には識別される量子化行列が存在し、そうでない場合には存在しない）。すると、次のような疑似コードで、参照量子化行列のサイズを指し示す参照サイズID“refSizeId”を決定することができる。
【０１０５】
【表５】
2019188097.tif 000007
【０１０６】
他の例として、利用可能な量子化行列のうち生成すべき追加量子化行列とのサイズの差が最も小さい行列が、参照量子化行列として選択されてもよい。また、どの量子化行列を参照すべきかを指し示す参照量子化行列情報が追加的に符号化されてもよい。
【０１０７】
［２−４．リサンプリング手法］
次に、量子化行列を追加的に生成するためのリサンプリングの具体的な手法の一例について説明する。ここでは、説明の簡明さのために、対象変換ブロックの少なくとも一方の辺のサイズが上限ＮTHよりも大きいことを条件として、対象変換ブロックに高周波成分のゼロ化が適用されるものとする。なお、以下の説明は、当業者にとって明らかであろうわずかな修正と共に、ゼロ化の適用の条件が異なるケースにも適用可能である。
【０１０８】
まず、第１のサイズの第１の量子化行列が、第２のサイズの第２の量子化行列を生成するための参照量子化行列として選択されたものとする。また、第１のサイズをＷ１×Ｈ１、第２のサイズをＷ２×Ｈ２とする。次の２つの式のいずれかに従って、第２のサイズの変換ブロックに高周波成分のゼロ化が適用されるかを指し示すフラグ“zoFlag”を設定することができる：
zoFlag＝max（Ｗ２，Ｈ２）＞ＮTH
zoFlag＝Ｗ２＞ＮTH  ||  Ｈ２＞ＮTH
これらの式によれば、第２のサイズ（Ｗ２×Ｈ２）の変換ブロックに高周波成分のゼロ化が適用される場合にはフラグzoFlagは１に、そうでない場合にはフラグzoFlagは０に設定される。
【０１０９】
第２の量子化行列のうち、実際にリサンプリングを通じて生成される要素の水平方向のレンジをＲWIDTH２、垂直方向のレンジをＲHEIGHT２とすると、これらレンジは次式により与えられ得る：
ＷR２＝min（Ｗ２，ＮTH）
ＨR２＝min（Ｈ２，ＮTH）
ＲWIDTH２＝［０，ＷR２−１］
ＲHEIGHT２＝［０，ＨR２−１］
ここで、ＷR２及びＨR２は、水平方向及び垂直方向のそれぞれのレンジに含まれる要素の個数を表す。第２のサイズ（Ｗ２×Ｈ２）に対する非ゼロ部分（ゼロ化が適用されない部分）の水平方向の割合ｒWIDTH２及び垂直方向の割合ｒHEIGHT２は、次式により与えられ得る：

ｒWIDTH２＝ＷR２／Ｗ２
ｒHEIGHT２＝ＨR２／Ｈ２
これら割合ｒWIDTH２、ｒHEIGHT２を用いて、第１の量子化行列のうち第２の量子化行列の非ゼロ部分を生成する際に参照される部分の水平方向のレンジＲWIDTH１及び垂直方向のレンジＲHEIGHT１を、次のように導出することができる：
ＷR１＝Ｗ１・ｒWIDTH２
ＨR１＝Ｈ１・ｒHEIGHT２
ＲWIDTH１＝［０，ＷR１−１］
ＲHEIGHT１＝［０，ＨR１−１］
ここで、ＷR１及びＨR１は、水平方向及び垂直方向のそれぞれのレンジに含まれる要素の個数を表す。
【０１１０】
上の説明から理解されるように、対象変換ブロックにゼロ化が適用される場合、第１のサイズＷ１×Ｈ１の第１の量子化行列のうちの部分行列のみを参照することにより、対象変換ブロックの変換係数を量子化する（又は量子化変換係数を逆量子化する）ための第２の量子化行列を生成することができる。一方、対象変換ブロックにゼロ化が適用されない場合には、ＷR２＝Ｗ２及びＨR２＝Ｈ２、即ちｒWIDTH２＝ｒHEIGHT２＝１であり、ＷR１＝Ｗ１及びＨR１＝Ｈ１となる。この場合、第２の量子化行列を生成するために、第１の量子化行列の全体が参照される。そこで、ＱＭ生成部１１７ａは、対象変換ブロックに高周波成分のゼロ化が適用される場合には、参照量子化行列の要素のうち参照レンジＲWIDTH１、ＲHEIGHT１内に含まれる要素のみを、リサンプリングのためにＱＭ記憶部１１５ａから読み出してバッファリングする。対象変換ブロックにゼロ化が適用されない場合には、ＱＭ生成部１１７ａは、参照量子化行列の全ての要素をＱＭ記憶部１１５ａから読み出してバッファリングする。
【０１１１】
第２のサイズに対する第１のサイズの比を、水平方向及び垂直方向でそれぞれｓWIDTH及びｓHEIGHTとすると、サイズ比ｓWIDTH、ｓHEIGHTはそれぞれ次のように与えられる：
ｓWIDTH＝Ｗ１／Ｗ２
ｓHEIGHT＝Ｈ１／Ｈ２
一例として、第１の量子化行列ＱREFを最近傍法でアップサンプリングすることにより第２の量子化行列ＱADDの要素ＱADD[j][i]を導出する処理は、これらサイズ比ｓWIDTH、ｓHEIGHTを用いて次のように表現され得る。なお、ｊ及びｉは、行及び列にそれぞれ対応するインデックスである。第２の量子化行列の要素は、リサンプリングに先立って全て０に初期化されているものとする：
ｊ´＝Floor（ｊ・ｓWIDTH）
ｉ´＝Floor（ｉ・ｓHEIGHT）
ＱADD[ｊ][ｉ]＝ＱREF[ｊ´][ｉ´]  （for  ｉ∈ＲWIDTH２，ｊ∈ＲHEIGHT２）
ここで、Floor（ｘ）は引数ｘ以下の最大の整数を返す関数である。
【０１１２】
第１の量子化行列ＱREFをダウンサンプリングすることにより第２の量子化行列ＱADDの要素ＱADD[j][i]を導出する処理は、次のように表現され得る。第２の量子化行列の要素は、リサンプリングに先立って全て０に初期化されているものとする：
ＱADD[ｊ][ｉ]＝ＱREF[ｊ・ｓWIDTH][ｉ・ｓHEIGHT]  （for  ｉ∈ＲWIDTH２，ｊ∈ＲHEIGHT２）
【０１１３】
なお、本項で説明したリサンプリングの手法は一例に過ぎない。例えば、行列の一方の方向においてアップサンプリングを、他方の方向においてダウンサンプリングを行うことも可能である。また、行列の一方の方向においてリサンプリングを行わないことも当然に可能である。さらに、アップサンプリングにおいて、上に示した最近傍法の代わりに、バイリニア法又はバイキュービック法といった他の補間法が利用されてもよい。
【０１１４】
［２−５．符号化時の量子化関連処理の流れ］
（１）全体的な流れ
図９は、図８に示した画像処理装置１０ａにおいて実行される量子化関連処理の流れの一例を示すフローチャートである。なお、ここでは、説明の簡明さのために、符号化処理に含まれる様々な処理ステップのうち量子化に関連しない処理ステップの説明は省略される。
【０１１５】
まず、基本ＱＭ設定部１１３は、第１のサイズの第１の量子化行列を含む、１つ以上の基本量子化行列を設定する（ステップＳ１１１）。それら基本量子化行列は、ＱＭ記憶部１１５ａにより記憶される。
【０１１６】
その後のステップＳ１１３〜Ｓ１１６の処理は、ブロック設定部１１１によりQTBTブロック分割を通じて画像内に設定される複数の変換ブロックの各々について繰り返される（ステップＳ１１２）。各繰り返しの対象とされる変換ブロックを、ここでは対象変換ブロックという。
【０１１７】
ＱＭ生成部１１７ａは、まず、対象変換ブロックのブロックサイズに対応する量子化行列が存在するかを、例えばＱＭ記憶部１１５ａにより提供される行列管理情報を参照することにより判定する（ステップＳ１１３）。ＱＭ生成部１１７ａは、その量子化行列が存在しない場合、後に説明する量子化行列生成処理を実行して、参照量子化行列から追加量子化行列を生成する（ステップＳ１１４）。ここで生成される追加量子化行列は、ＱＭ記憶部１１５ａにより記憶される。一方、ＱＭ生成部１１７ａは、所要の量子化行列が既に存在する場合には、対象変換ブロックのブロックサイズに対応するその量子化行列をＱＭ記憶部１１５ａから読み出す（ステップＳ１１５）。そして、量子化部１５ａは、追加的に生成され又は読み出された量子化行列を用いて、対象変換ブロックの変換係数を量子化する（ステップＳ１１６）。
【０１１８】
ＳＬ符号化部１１９は、ステップＳ１１１において設定された１つ以上の基本量子化行列の各々を１次元化することにより、それらをスケーリングリストへ変換する（ステップＳ１１７）。次いで、ＳＬ符号化部１１９は、後に説明するスケーリングリスト符号化処理を実行して、スケーリングリストデータを生成する（ステップＳ１１８）。
【０１１９】
図９には示していないものの、ステップＳ１１６において生成される変換ブロックごとの量子化変換係数は、可逆符号化部１６により符号化され、スケーリングリストデータと共に符号化ストリームの一部となる。スケーリングリストデータは、シーケンス、ピクチャ、スライス又はタイルといったいかなる単位で更新されてもよい。
【０１２０】
（２）量子化行列生成処理
図１０は、図９のステップＳ１１４において実行され得る量子化行列生成処理の流れの一例を示すフローチャートである。
【０１２１】
まず、ＱＭ生成部１１７ａは、対象変換ブロックのための量子化行列を生成する際に参照すべき参照量子化行列を選択する（ステップＳ１２１）。一例として、参照量子化行列は、仕様において予め定義されるルール（例えば、利用可能な量子化行列のうち、最大のサイズ又は対象変換ブロックのサイズに最も近いサイズを有する量子化行列、など）に従って選択されてもよい。他の例として、参照量子化行列は、動的に選択されてもよい。
【０１２２】
次いで、ＱＭ生成部１１７ａは、対象変換ブロックに高周波成分のゼロ化が適用されるか否かを判定する（ステップＳ１２２）。一例として、ＱＭ生成部１１７ａは、仕様において予め定義されるルール（例えば、対象変換ブロックの少なくとも一辺の長さがある閾値を上回るか否か）に従って、対象変換ブロックに高周波成分のゼロ化が適用されるか否かを判定してもよい。他の例として、対象変換ブロックに高周波成分のゼロ化が適用されるか否かが動的に切り替えられてもよい。
【０１２３】
対象変換ブロックにゼロ化が適用されない場合、ＱＭ生成部１１７ａは、ステップＳ１２１において選択した参照量子化行列の全体をＱＭ記憶部１１５ａから読み出して、内部的なメモリにおいてバッファリングする（ステップＳ１２３）。次いで、ＱＭ生成部１１７ａは、読み出した参照量子化行列をリサンプリングして、追加量子化行列を生成する（ステップＳ１２４）。
【０１２４】
一方、対象変換ブロックにゼロ化が適用される場合、ＱＭ生成部１１７ａは、対象変換ブロックのサイズに対する非ゼロ部分の割合（例えば、上述した割合ｒWIDTH２、ｒHEIGHT２）を計算する（ステップＳ１２５）。次いで、ＱＭ生成部１１７ａは、計算した割合に従って、選択した参照量子化行列の部分行列をＱＭ記憶部１１５ａから読み出して、内部的なメモリにおいてバッファリングする（ステップＳ１２６）。次いで、ＱＭ生成部１１７ａは、読み出した部分行列をリサンプリングして、追加量子化行列の非ゼロ部分を生成する（ステップＳ１２７）。
【０１２５】
そして、ＱＭ生成部１１７ａは、生成した追加量子化行列をＱＭ記憶部１１５ａに記憶させる（ステップＳ１６８）。
【０１２６】
（３）スケーリングリスト符号化処理
図１１は、図９のステップＳ１１８において実行され得るスケーリングリスト符号化処理の流れの一例を示すフローチャートである。
【０１２７】
まず、ＳＬ符号化部１１９は、基本量子化行列のサイズを識別するサイズIDを符号化して、サイズ指示情報を生成する（ステップＳ１３１）。基本量子化行列が必ず正方形の行列である場合には、表３に例示したような１つのサイズIDのみが符号化される。基本量子化行列が非正方形の行列をも含む場合には、２つの方向に対応する２つのサイズIDが符号化されてもよい。サイズ指示情報は、サイズIDから予め定義されるオフセットを減算することにより生成されてもよい。
【０１２８】
その後のステップＳ１３３〜Ｓ１３６の処理は、予測タイプと色成分との組み合わせ、即ちマトリクスIDにより識別される量子化行列の種類の各々について繰り返される（ステップＳ１３２）。各繰り返しの対象とされるマトリクスIDを、ここでは対象マトリクスIDという。
【０１２９】
ＳＬ符号化部１１９は、まず、対象マトリクスIDに関連付けられるスケーリングリストの一連の要素の値を明示的に符号化するか否かを判定する（ステップＳ１３３）。即ち、ＳＬ符号化部１１９は、スケーリングリストの符号化手法を決定する。例えば、対象マトリクスIDに関連付けられるスケーリングリストが（同じサイズIDの）他のマトリクスIDに関連付けられるスケーリングリストと同一である場合には、ＳＬ符号化部１１９は、要素値を符号化する代わりに、参照スケーリング情報のみを簡易的に符号化することを選択し得る。
【０１３０】
ＳＬ符号化部１１９は、簡易的な符号化が選択される場合、参照スケーリングリストを決定し（ステップＳ１３４）、決定した参照スケーリングリストを指し示す参照スケーリングリスト情報を符号化する（ステップＳ１３５）。
【０１３１】
一方、一連の要素の値を符号化することが選択される場合、ＳＬ符号化部１１９は、図９のステップＳ１１７において導出されたスケーリングリストの一連の要素の値を例えばDPCM（Differential  Pulse  Code  Modulation）方式で符号化することにより、スケーリングリストデータを生成する（ステップＳ１３６）。
【０１３２】
なお、図１１に示したフローチャートは、基本量子化行列のサイズIDが明示的に符号化される例を示している。他の例において、基本量子化行列のサイズの符号化は省略されてもよい。また別の例において、シグナリングの対象であるサイズの数がサイズ数情報としてさらに符号化されてもよい。
【０１３３】
［２−６．デコーダの構成］
（１）全体的な構成
図１２は、第１の実施形態に係る、デコーダの機能性を有する画像処理装置６０ａの構成の一例を示すブロック図である。図１２を参照すると、画像処理装置６０ａは、復号制御部６１、可逆復号部６２、逆量子化部６３ａ、逆直交変換部６４、加算部６５、インループフィルタ６６、並び替えバッファ６７、フレームメモリ６８、セレクタ７０及び７１、イントラ予測部８０、インター予測部８５、並びにＱＭ記憶部１６５ａを備える。
【０１３４】
復号制御部６１は、以下に詳しく説明するような、画像処理装置６０ａのデコーダとしての機能性の全般を制御する。本実施形態において、復号制御部６１は、ブロック設定部１６１を含む。ブロック設定部１６１は、図４に関連して説明したブロック設定処理Ｓ１２を実行するモジュールである。このモジュールについて、後にさらに説明する。
【０１３５】
可逆復号部６２は、図示しない伝送部（例えば、通信インタフェース又は周辺機器との接続インタフェースなど）から入力される符号化ストリームから様々な制御パラメータをパースする。可逆復号部６２によりパースされる制御パラメータは、例えば、上述したブロック分割データ及びスケーリングリストデータを含む。ブロック分割データは、復号制御部６１へ出力される。本実施形態において、可逆復号部６２は、ＳＬ復号部１６３を含む。ＳＬ復号部１６３は、図４に関連して説明したスケーリングリスト復号処理Ｓ１３を実行するモジュールである。このモジュールについて、後にさらに説明する。可逆復号部６２は、さらに符号化ストリームを復号して、１つ以上の変換ブロックの各々の量子化データを生成する。可逆復号部６２は、生成した量子化データを逆量子化部６３ａへ出力する。
【０１３６】
逆量子化部６３ａは、画像に設定される１つ以上の変換ブロックの各々について、可逆復号部６２から入力される量子化データ、即ち量子化変換係数を逆量子化して、変換係数を復元する。逆量子化部６３ａは、ＱＭ記憶部１６５ａにより記憶される複数の量子化行列のうち変換ブロックと同じサイズの量子化行列を、当該変換ブロックの量子化変換係数を逆量子化するために使用する。逆量子化部６３ａは、復号制御部６１による制御に従って、強制的にゼロ化された周波数成分の逆量子化をスキップする。そして、逆量子化部６３ａは、復元した変換係数を逆直交変換部６４へ出力する。本実施形態において、逆量子化部６３ａは、ＱＭ生成部１６７ａを含む。ＱＭ生成部１６７ａは、図４に関連して説明したＱＭ生成処理Ｓ１４を実行するモジュールである。このモジュールについて、後にさらに説明する。
【０１３７】
逆直交変換部６４は、１つ以上の変換ブロックの各々について逆直交変換を実行する。ここでの逆直交変換は、例えば、逆離散コサイン変換又は逆離散サイン変換であってよい。より具体的には、逆直交変換部６４は、逆量子化部６３ａから入力される周波数領域の変換係数を変換ブロックごとに逆直交変換して、空間領域の信号サンプルである予測誤差を生成する。逆直交変換部６４は、生成した予測誤差を加算部６５へ出力する。
【０１３８】
加算部６５は、逆直交変換部６４から入力される予測誤差と、セレクタ７１から入力される予測画像とを加算することにより、復号画像を生成する。そして、加算部６５は、生成した復号画像をインループフィルタ６６及びフレームメモリ６８へ出力する。
【０１３９】
インループフィルタ６６は、画質の向上を目的として復号画像に適用される一連のフィルタから構成される。インループフィルタ６６は、例えば、参照文献REF３において説明されているバイラテラルフィルタ、デブロッキングフィルタ、適応オフセットフィルタ、及び適応ループフィルタのうちの１つ以上を含んでよい。インループフィルタ６６は、一連のフィルタを通じてフィルタリングされた復号画像を並び替えバッファ６７及びフレームメモリ６８へ出力する。
【０１４０】
並び替えバッファ６７は、インループフィルタ６６から入力される画像を並び替えることにより、映像を構成する時系列の画像のシーケンスを生成する。そして、並び替えバッファ６７は、生成した画像のシーケンスを外部機器（例えば、画像処理装置６０ａと接続されるディスプレイ）へ出力する。
【０１４１】
フレームメモリ６８は、加算部６５から入力されるフィルタリング前の復号画像、及びインループフィルタ６６から入力されるフィルタリング後の復号画像を記憶する。
【０１４２】
セレクタ７０は、ブロックごとの予測タイプに応じて、フレームメモリ６８からの画像の出力先をイントラ予測部８０とインター予測部８５との間で切り替える。例えば、セレクタ７０は、予測タイプとしてイントラ予測が指定された場合には、フレームメモリ６８から供給されるフィルタリング前の復号画像を参照画像としてイントラ予測部８０へ出力する。また、セレクタ７０は、予測タイプとしてインター予測が指定された場合には、フィルタリング後の復号画像を参照画像としてインター予測部８５へ出力する。
【０１４３】
セレクタ７１は、ブロックごとの予測タイプに応じて、加算部６５へ供給すべき予測画像の出力元をイントラ予測部８０とインター予測部８５との間で切り替える。例えば、セレクタ７１は、イントラ予測が指定された場合には、イントラ予測部８０から出力される予測画像を加算部６５へ供給する。また、セレクタ７１は、インター予測が指定された場合には、インター予測部８５から出力される予測画像を加算部６５へ供給する。
【０１４４】
イントラ予測部８０は、符号化ストリームからパースされるイントラ予測に関する情報とフレームメモリ６８からの参照画像とに基づいてイントラ予測を実行し、予測画像を生成する。そして、イントラ予測部８０は、生成した予測画像をセレクタ７１へ出力する。
【０１４５】
インター予測部８５は、符号化ストリームからパースされるインター予測に関する情報とフレームメモリ６８からの参照画像とに基づいてインター予測を実行し、予測画像を生成する。そして、インター予測部８５は、生成した予測画像をセレクタ７１へ出力する。
【０１４６】
（２）量子化行列の生成に関係する機能性
図１２に示した様々なコンポーネントの中で、ブロック設定部１６１、ＳＬ復号部１６３、ＱＭ記憶部１６５ａ及びＱＭ生成部１６７ａが、デコーダにおいて実行される量子化行列の生成に主に関係する。
【０１４７】
ブロック設定部１６１は、ブロック分割データに従って実行されるQTBTブロック分割を通じて、各画像内に複数の変換ブロックを設定する。ブロック設定部１６１により設定される変換ブロックのサイズは、例えば２×２から１２８×１２８までのレンジの範囲内であってよい。変換ブロックの形状は、正方形であってもよく又は非正方形であってもよい。変換ブロックの形状及びサイズのいくつかの例が図２に示されている。
【０１４８】
ＳＬ復号部１６３は、スケーリングリストデータを復号して、１つ以上のサイズの基本量子化行列を生成する。ある例において、ＳＬ復号部１６３は、スケーリングリストデータから生成される量子化行列のサイズを指し示すサイズ指示情報を復号する。この場合、ＳＬ復号部１６３は、どのサイズの量子化行列がスケーリングリストデータを介して基本量子化行列として明示的にシグナリングされるのかを、サイズ指示情報を参照することにより認識する。シグナリングの対象であるサイズの数を指し示すサイズ数情報がさらに復号されてもよい。この場合において、２つ以上のサイズがシグナリングされるときは、それらは（異なるサイズIDにより識別される）互いに異なるサイズであるものとするというビットストリーム制約が課せられてもよい。こうしたビットストリーム制約によって、エンコーダにおけるサイズ指示情報の冗長的な符号化を防止し、符号量のオーバヘッドを削減して、リソースの浪費を回避することができる。他の例において、スケーリングリストデータを介して明示的にシグナリングされる基本量子化行列のサイズは、仕様上のルールとして予め定義される。この場合、スケーリングリストデータは、上述したサイズ指示情報及びサイズ数情報を含まず、ＳＬ復号部１６３は、予め定義される１つ以上のサイズの各々についてのスケーリングリストデータを復号して、それら１つ以上のサイズの量子化行列を生成する。
【０１４９】
ＳＬ復号部１６３は、スケーリングリストデータに基づいて生成した基本量子化行列を、ＱＭ記憶部１６５ａに記憶させる。上述したように、各サイズについて、予測タイプ及び色成分の組み合わせが互いに異なる複数の種類の基本量子化行列が存在してよい。基本量子化行列は、差分符号化された一連の要素の値を復号することにより生成されてもよく、又は他の種類の基本量子化行列を参照することにより生成されてもよい。一例として、基本量子化行列は、正方形の量子化行列のみを含む。他の例として、基本量子化行列は、正方形の量子化行列及び非正方形の量子化行列の双方を含む。スケーリングリストデータのシンタックスの例が、上の［２−２．シンタックス及びセマンティクスの例］において説明されている。
【０１５０】
ＱＭ記憶部１６５ａは、画像処理装置６０ａにより利用される様々なサイズの様々な種類の量子化行列を記憶する記憶モジュールである。ＱＭ記憶部１６５ａにより記憶される量子化行列は、ＳＬ復号部１６３により生成される基本量子化行列、及び、後述するＱＭ生成部１６７ａにより追加的に生成される追加量子化行列を含む。本実施形態において、基本量子化行列は、複数の変換ブロックにわたる逆量子化及び逆直交変換に先立って生成され、それら処理を通じてＱＭ記憶部１６５ａにより記憶される。一方、追加量子化行列は、個別の変換ブロックの量子化変換係数が逆量子化される際に必要に応じて生成され、ＱＭ記憶部１６５ａにより記憶される。エンコーダ側のＱＭ記憶部１１５ａと同様に、ＱＭ記憶部１６５ａは、どのサイズの量子化行列が既に存在するかを指し示す行列管理情報を管理してもよい。行列管理情報は、例えば、水平方向及び垂直方向のサイズにそれぞれ対応する２つのサイズIDにより識別される量子化行列が存在するか否かを指し示すフラグのセットからなる。
【０１５１】
ＱＭ生成部１６７ａは、逆量子化部６３ａにおいて個別の変換ブロックの量子化変換係数が逆量子化される際に、その変換ブロックと同じサイズを有する量子化行列がスケーリングリストデータに基づいて既に生成済みであるかを、ＱＭ記憶部１６５ａにより提供される行列管理情報を参照することにより判定する。そして、ＱＭ生成部１６７ａは、当該サイズの量子化行列が既に生成済みである場合には、その生成済みの量子化行列をＱＭ記憶部１６５ａから読み出す。一方、変換ブロックと同じサイズを有する量子化行列が生成済みではない場合には、ＱＭ生成部１６７ａは、生成済みのいずれかの基本量子化行列又はその部分行列をリサンプリングすることにより、追加量子化行列を生成する。ＱＭ生成部１６７ａは、リサンプリングされる参照量子化行列又はその部分行列を一時的に保持するメモリを含む。
【０１５２】
ＱＭ生成部１６７ａは、例えば、ある対象サイズの変換ブロックに高周波成分のゼロ化が適用されない場合には、その変換ブロックのための量子化行列を、参照量子化行列の全体を参照することにより生成する。一方、ＱＭ生成部１６７ａは、別の対象サイズの変換ブロックに高周波成分のゼロ化が適用される場合には、その変換ブロックのための量子化行列を、参照量子化行列の部分行列のみを参照することにより生成する。上述したように、参照量子化行列のサイズに対する参照される部分行列のサイズの割合は、生成される追加量子化行列のサイズに対する非ゼロ部分の割合に等しい。これら割合を計算するための計算式の一例が、上の［２−４．リサンプリング手法］において説明されている。逆量子化部６３ａは、このようにリソースを節約しつつ生成される様々な量子化行列のうちのいずれかを用いて、各変換ブロックの量子化変換係数を逆量子化する。
【０１５３】
ある例において、ＱＭ生成部１６７ａは、どのサイズの変換ブロックにゼロ化が適用されるかを予め定義する仕様上のルールに従って、各変換ブロックにゼロ化が適用されるかを判定してもよい。他の例において、ＱＭ生成部１６７ａは、各変換ブロックにゼロ化が適用されるかを指し示すゼロ化フラグ、及びどのサイズの変換ブロックにゼロ化が適用されるかを指し示すゼロ化サイズ情報といった、符号化ストリームから追加的にパースされ得る１つ以上の制御パラメータに基づいて、各変換ブロックにゼロ化が適用されるか否かを判定してもよい。これら制御パラメータの例が、上の［１−４．ゼロ化の制御］において説明されている。
【０１５４】
［２−７．復号時の逆量子化関連処理の流れ］
（１）全体的な流れ
図１３は、図１２に示した画像処理装置６０ａにおいて実行される逆量子化関連処理の流れの一例を示すフローチャートである。なお、ここでは、説明の簡明さのために、復号処理に含まれる様々な処理ステップのうち逆量子化に関連しない処理ステップの説明は省略される。
【０１５５】
まず、ＳＬ復号部１６３は、後に説明するスケーリングリストデータ復号処理を実行して、１つ以上のサイズの基本量子化行列を表現するスケーリングリストを生成する（ステップＳ１６１）。次いで、ＳＬ復号部１６３は、１次元の要素値の配列である各スケーリングリストを、何らかのスキャン順で２次元配列へマッピングすることにより、基本量子化行列へ変換する（ステップＳ１６２）。ＱＭ記憶部１６５ａは、このように生成される基本量子化行列を記憶する（ステップＳ１６３）。
【０１５６】
その後のステップＳ１６５〜Ｓ１６８の処理は、ブロック設定部１６１によりQTBTブロック分割を通じて画像内に設定される複数の変換ブロックの各々について繰り返される（ステップＳ１６４）。各繰り返しの対象とされる変換ブロックを、ここでは対象変換ブロックという。
【０１５７】
ＱＭ生成部１６７ａは、まず、対象変換ブロックのブロックサイズに対応する量子化行列が存在するかを、例えばＱＭ記憶部１６５ａにより提供される行列管理情報を参照することにより判定する（ステップＳ１６５）。ＱＭ生成部１６７ａは、その量子化行列が存在しない場合、図１０を参照しながら上で説明した量子化行列生成処理を実行して、参照量子化行列から追加量子化行列を生成する（ステップＳ１６６）。ここで生成される追加量子化行列は、ＱＭ記憶部１６５ａにより記憶される。一方、ＱＭ生成部１６７ａは、所要の量子化行列が既に存在する場合には、対象変換ブロックのブロックサイズに対応するその量子化行列をＱＭ記憶部１６５ａから読み出す（ステップＳ１６７）。そして、逆量子化部６３ａは、追加的に生成され又は読み出された量子化行列を用いて、対象変換ブロックの量子化変換係数を逆量子化する（ステップＳ１６８）。
【０１５８】
図１３には示していないものの、ステップＳ１６８において逆量子化の結果として生成される周波数領域の変換係数は、逆直交変換部６４により空間領域の信号サンプルである予測誤差へ変換される。量子化行列は、スケーリングリストデータの更新に応じて、シーケンス、ピクチャ、スライス又はタイルといったいかなる単位で更新されてもよい。
【０１５９】
（２）スケーリングリストデータ復号処理
図１４は、図１３のステップＳ１６１において実行され得るスケーリングリストデータ復号処理の流れの一例を示すフローチャートである。
【０１６０】
まず、ＳＬ復号部１６３は、サイズ指示情報を復号して、生成すべきスケーリングリストに対応する量子化行列のサイズを識別するサイズIDを設定する（ステップＳ１７１）。基本量子化行列が必ず正方形の行列である場合には、表３に例示したような１つのサイズIDのみが設定される。基本量子化行列が非正方形の行列をも含む場合には、２つの方向に対応する２つのサイズIDが、サイズ指示情報に基づいて設定されてもよい。サイズIDは、サイズ指示情報が示す値に予め定義されるオフセットを加算することにより導出されてもよい。
【０１６１】
その後のステップＳ１７３〜Ｓ１７７の処理は、予測タイプと色成分との組み合わせ、即ちマトリクスIDにより識別される量子化行列の種類の各々について繰り返される（ステップＳ１７２）。各繰り返しの対象とされるマトリクスIDを、ここでは対象マトリクスIDという。
【０１６２】
ＳＬ復号部１６３は、まず、対象マトリクスIDに関連付けられるスケーリングリストの一連の要素の値が明示的に符号化されているかを判定する（ステップＳ１７３）。例えば、ＳＬ復号部１６３は、ステップＳ１７１で設定されたサイズID及び対象マトリクスIDに関連付けられる制御フラグ（例えば、表１のscaling_list_pred_mode_flag[sizeId][matrixId]）に基づいて、一連の要素の値が符号化されているか又は参照スケーリングリスト情報のみが符号化されているかを判定し得る。
【０１６３】
ＳＬ復号部１６３は、参照スケーリングリスト情報（例えば、表１のscaling_list_pred_matrix_id_delta[sizeId][matrixId]）のみが符号化されている場合、参照スケーリングリスト情報をパースして、参照すべき基本量子化行列のマトリクスIDを導出する（ステップＳ１７４）。そして、ＳＬ復号部１６３は、導出したマトリクスIDをキーとして用いて参照される参照スケーリングリストに基づいて、対象マトリクスIDのスケーリングリストを生成する（ステップＳ１７５）。
【０１６４】
一方、スケーリングリストの一連の要素の値が符号化されている場合、ＳＬ復号部１６３は、スケーリングリストデータ内で差分符号化されている一連の要素の差分値をパースする（ステップＳ１７６）。そして、ＳＬ復号部１６３は、それら差分値をDPCM方式で復号することにより、対象マトリクスIDのスケーリングリストを生成する（ステップＳ１７７）。
【０１６５】
なお、図１４に示したフローチャートは、基本量子化行列のサイズIDを指し示すサイズ指示情報が復号される例を示している。他の例において、基本量子化行列のサイズは仕様において予め定義されてもよく、サイズ指示情報の復号は省略されてもよい。代替的に、シグナリングの対象であるサイズの数を指し示すサイズ数情報がさらに復号されてもよい。
【０１６６】
本節で説明した第１の実施形態では、個々の変換ブロックにおいて必要とされる量子化行列が、量子化又は逆量子化の時点で未生成である場合に、いわゆる「オンザフライ」で生成される。こうした構成によれば、多様な量子化行列の形状及びサイズの組み合わせのうち、実際には使用されない組み合わせに対応する量子化行列は生成されない。従って、量子化行列の生成に要する処理コストを低減することができる。また、基本量子化行列以外に、実際に使用される追加量子化行列のみが記憶されるため、メモリリソースの消費を低減することもできる。
【０１６７】
第１の実施形態とは対照的に、次節で説明する第２の実施形態では、追加量子化行列の生成は、複数の変換ブロックにわたる処理に先立って実行される。
【０１６８】
＜３．第２の実施形態＞
［３−１．エンコーダの構成］
（１）全体的な構成
図１５は、第２の実施形態に係る、エンコーダの機能性を有する画像処理装置１０ｂの構成の一例を示すブロック図である。図１５を参照すると、画像処理装置１０ｂは、符号化制御部１１、並び替えバッファ１２、減算部１３、直交変換部１４、量子化部１５ｂ、可逆符号化部１６、蓄積バッファ１７、レート制御部１８、逆量子化部２１、逆直交変換部２２、加算部２３、インループフィルタ２４、フレームメモリ２５、スイッチ２６、イントラ予測部３０、インター予測部３５、モード設定部４０、ＱＭ記憶部１１５ｂ及びＱＭ生成部１１７ｂを備える。符号化制御部１１は、第１の実施形態と同様に、ブロック設定部１１１及び基本ＱＭ設定部１１３を含む。可逆符号化部１６は、第１の実施形態と同様に、ＳＬ符号化部１１９を含む。
【０１６９】
量子化部１５ｂには、直交変換部１４から入力される変換係数、及びレート制御部１８からのレート制御信号が供給される。量子化部１５ｂは、符号化対象画像内の１つ以上の変換ブロックの各々について、当該変換ブロックと同じサイズの量子化行列を用いて変換係数を量子化して、量子化変換係数（量子化データ）を生成する。量子化部１５ｂは、符号化制御部１１による制御に従って、変換係数に含まれる強制的にゼロ化された周波数成分の量子化をスキップする。そして、量子化部１５ｂは、生成した量子化データを可逆符号化部１６及び逆量子化部２１へ出力する。また、量子化部１５ｂは、レート制御信号に基づいて量子化ステップを切り替えることにより量子化データのビットレートを変化させてもよい。
【０１７０】
（２）量子化行列の生成に関係する機能性
図１５に示した様々なコンポーネントの中で、ブロック設定部１１１、基本ＱＭ設定部１１３、ＱＭ記憶部１１５ｂ、ＱＭ生成部１１７ｂ及びＳＬ符号化部１１９が、エンコーダにおいて実行される量子化行列の生成に主に関係する。これらコンポーネントの機能のうち、第１の実施形態における対応するコンポーネントと相違する部分について以下に説明する。
【０１７１】
ＱＭ記憶部１１５ｂは、画像処理装置１０ｂにより利用される様々なサイズの様々な種類の量子化行列を記憶する記憶モジュールである。ＱＭ記憶部１１５ｂにより記憶される量子化行列は、基本ＱＭ設定部１１３により設定される基本量子化行列、及び、後述するＱＭ生成部１１７ｂにより追加的に生成される追加量子化行列を含む。本実施形態においては、基本量子化行列及び追加量子化行列の双方が、複数の変換ブロックにわたる直交変換及び量子化に先立って生成され、それら処理を通じてＱＭ記憶部１１５ｂにより記憶される。ＱＭ記憶部１１５ｂは、どのサイズの量子化行列が既に存在するかを指し示す内部的な制御情報である行列管理情報を管理してもよい。
【０１７２】
ＱＭ生成部１１７ｂは、複数の変換ブロックの変換係数の量子化に先立って、変換ブロックの複数のサイズ候補の各々に対応する追加量子化行列を生成する。例えば、ＱＭ生成部１１７ｂは、ＱＭ記憶部１１５ｂにより提供される行列管理情報に基づいて未生成であると判定されるサイズ候補の各々について、生成済みの基本量子化行列のうちのいずれかを参照量子化行列として選択し、選択した参照量子化行列をリサンプリングすることにより、当該サイズ候補の追加量子化行列を生成する。そして、ＱＭ生成部１１７ｂは、生成した追加量子化行列をＱＭ記憶部１１５ｂに記憶させる。ＱＭ生成部１１７ｂは、リサンプリングされる参照量子化行列又はその部分行列を一時的に保持するメモリを含む。
【０１７３】
第１の実施形態に係るＱＭ生成部１１７ａと同様、ＱＭ生成部１１７ｂは、高周波成分のゼロ化が適用されないサイズの追加量子化行列を生成する際には、参照量子化行列の全体を参照する。また、ＱＭ生成部１１７ｂは、高周波成分のゼロ化が適用されるサイズの量子化行列を生成する際には、参照量子化行列の部分行列のみを参照する。後者の場合の、参照量子化行列のサイズに対する参照される部分行列のサイズの割合は、上述したように、生成される追加量子化行列のサイズに対する非ゼロ部分の割合に等しい。
【０１７４】
なお、第１の実施形態に関連して上で詳しく説明した、シンタックス及びセマンティクスの例、参照量子化行列を選択する手法の例、並びにリサンプリング（アップサンプリング又はダウンサンプリング）を通じて追加量子化行列を生成する手法の例に関する内容は、第２の実施形態にも等しく当てはまる。
【０１７５】
［３−２．符号化時の量子化関連処理の流れ］
図１６は、図１５に示した画像処理装置１０ｂにおいて実行される量子化関連処理の流れの一例を示すフローチャートである。なお、ここでは、説明の簡明さのために、符号化処理に含まれる様々な処理ステップのうち量子化に関連しない処理ステップの説明は省略される。
【０１７６】
まず、基本ＱＭ設定部１１３は、第１のサイズの第１の量子化行列を含む、１つ以上の基本量子化行列を設定する（ステップＳ２１１）。それら基本量子化行列は、ＱＭ記憶部１１５ｂにより記憶される。
【０１７７】
その後のステップＳ２１３〜Ｓ２１４の処理は、１つ以上のサイズ候補の各々について、即ち、水平方向のサイズIDと垂直方向のサイズIDとの組み合わせの各々について繰り返される（ステップＳ２１２ａ）。さらに、その繰り返しにおいて、予測タイプと色成分との組み合わせに対応する複数のマトリクスIDの各々についての繰り返しが行われる（ステップＳ２１２ｂ）。各繰り返しの対象とされるサイズ候補及びマトリクスIDを、ここではそれぞれ対象サイズ候補及び対象マトリクスIDという。
【０１７８】
ＱＭ生成部１１７ｂは、まず、対象サイズ候補及び対象マトリクスIDに対応する量子化行列が存在するかを、例えばＱＭ記憶部１１５ｂにより提供される行列管理情報を参照することにより判定する（ステップＳ２１３）。ＱＭ生成部１１７ｂは、その量子化行列が存在しない場合、図１０を参照しながら上で説明した量子化行列生成処理を実行して、参照量子化行列から追加量子化行列を生成する（ステップＳ２１４）。ここで生成される追加量子化行列は、ＱＭ記憶部１１５ｂにより記憶される。
【０１７９】
追加量子化行列を生成するための繰り返しが完了した後、ステップＳ２１６〜Ｓ２１７の処理が、ブロック設定部１１１により画像内に設定される複数の変換ブロックの各々について繰り返される（ステップＳ２１５）。各繰り返しの対象とされる変換ブロックを、ここでは対象変換ブロックという。
【０１８０】
量子化部１５ｂは、対象変換ブロックのブロックサイズに対応する量子化行列を、ＱＭ記憶部１１５ｂから読み出す（ステップＳ２１６）。そして、量子化部１５ｂは、読み出された量子化行列を用いて、対象変換ブロックの変換係数を量子化する（ステップＳ２１７）。
【０１８１】
ＳＬ符号化部１１９は、ステップＳ２１１において設定された１つ以上の基本量子化行列の各々を１次元化することにより、それらをスケーリングリストへ変換する（ステップＳ２１８）。次いで、ＳＬ符号化部１１９は、図１１を参照しながら上で説明したスケーリングリスト符号化処理を実行して、スケーリングリストデータを生成する（ステップＳ２１９）。
【０１８２】
図１６には示していないものの、ステップＳ２１７において生成される変換ブロックごとの量子化変換係数は、可逆符号化部１６により符号化され、スケーリングリストデータと共に符号化ストリームの一部となる。スケーリングリストデータは、シーケンス、ピクチャ、スライス又はタイルといったいかなる単位で更新されてもよい。
【０１８３】
［３−３．デコーダの構成］
（１）全体的な構成
図１７は、第２の実施形態に係る、デコーダの機能性を有する画像処理装置６０ｂの構成の一例を示すブロック図である。図１７を参照すると、画像処理装置６０ｂは、復号制御部６１、可逆復号部６２、逆量子化部６３ｂ、逆直交変換部６４、加算部６５、インループフィルタ６６、並び替えバッファ６７、フレームメモリ６８、セレクタ７０及び７１、イントラ予測部８０、インター予測部８５、ＱＭ記憶部１６５ｂ、並びにＱＭ生成部１６７ｂを備える。復号制御部６１は、第１の実施形態と同様に、ブロック設定部１６１を含む。可逆復号部６２は、第１の実施形態と同様に、ＳＬ復号部１６３を含む。
【０１８４】
逆量子化部６３ｂは、画像に設定される１つ以上の変換ブロックの各々について、可逆復号部６２から入力される量子化データ、即ち量子化変換係数を逆量子化して、変換係数を復元する。逆量子化部６３ｂは、ＱＭ記憶部１６５ｂにより記憶される複数の量子化行列のうち変換ブロックと同じサイズの量子化行列を、当該変換ブロックの量子化変換係数を逆量子化するために使用する。逆量子化部６３ｂは、復号制御部６１による制御に従って、強制的にゼロ化された周波数成分の逆量子化をスキップする。そして、逆量子化部６３ｂは、復元した変換係数を逆直交変換部６４へ出力する。
【０１８５】
（２）量子化行列の生成に関係する機能性
図１７に示した様々なコンポーネントの中で、ブロック設定部１６１、ＳＬ復号部１６３、ＱＭ記憶部１６５ｂ及びＱＭ生成部１６７ｂが、デコーダにおいて実行される量子化行列の生成に主に関係する。これらコンポーネントの機能のうち、第１の実施形態における対応するコンポーネントと相違する部分について以下に説明する。
【０１８６】
ＱＭ記憶部１６５ｂは、画像処理装置６０ｂにより利用される様々なサイズの様々な種類の量子化行列を記憶する記憶モジュールである。ＱＭ記憶部１６５ｂにより記憶される量子化行列は、ＳＬ復号部１６３により生成される基本量子化行列、及び、後述するＱＭ生成部１６７ｂにより追加的に生成される追加量子化行列を含む。本実施形態においては、基本量子化行列及び追加量子化行列の双方が、複数の変換ブロックにわたる逆量子化及び逆直交変換に先立って生成され、それら処理を通じてＱＭ記憶部１６５ｂにより記憶される。ＱＭ記憶部１６５ｂは、どのサイズの量子化行列が既に存在するかを指し示す内部的な制御情報である行列管理情報を管理してもよい。
【０１８７】
ＱＭ生成部１６７ｂは、複数の変換ブロックの量子化変換係数の逆量子化に先立って、変換ブロックの複数のサイズ候補の各々に対応する追加量子化行列を生成する。例えば、ＱＭ生成部１６７ｂは、ＱＭ記憶部１６５ｂにより提供される行列管理情報に基づいて未生成であると判定されるサイズ候補の各々について、生成済みの基本量子化行列のうちのいずれかを参照量子化行列として選択し、選択した参照量子化行列をリサンプリングすることにより、当該サイズ候補の追加量子化行列を生成する。そして、ＱＭ生成部１６７ｂは、生成した追加量子化行列をＱＭ記憶部１６５ｂに記憶させる。ＱＭ生成部１６７ｂは、リサンプリングされる参照量子化行列又はその部分行列を一時的に保持するメモリを含む。
【０１８８】
第１の実施形態に係るＱＭ生成部１６７ａと同様、ＱＭ生成部１６７ｂは、高周波成分のゼロ化が適用されないサイズの追加量子化行列を生成する際には、参照量子化行列の全体を参照する。また、ＱＭ生成部１１７ｂは、高周波成分のゼロ化が適用されるサイズの量子化行列を生成する際には、参照量子化行列の部分行列のみを参照する。後者の場合の、参照量子化行列のサイズに対する参照される部分行列のサイズの割合は、上述したように、生成される追加量子化行列のサイズに対する非ゼロ部分の割合に等しい。
【０１８９】
［３−４．復号時の逆量子化関連処理の流れ］
図１８は、図１７に示した画像処理装置６０ｂにおいて実行される逆量子化関連処理の流れの一例を示すフローチャートである。なお、ここでは、説明の簡明さのために、復号処理に含まれる様々な処理ステップのうち逆量子化に関連しない処理ステップの説明は省略される。
【０１９０】
まず、ＳＬ復号部１６３は、図１４を参照しながら上で説明したスケーリングリストデータ復号処理を実行して、１つ以上のサイズの基本量子化行列を表現するスケーリングリストを生成する（ステップＳ２６１）。次いで、ＳＬ復号部１６３は、１次元の要素値の配列である各スケーリングリストを、何らかのスキャン順で２次元配列へマッピングすることにより、基本量子化行列へ変換する（ステップＳ２６２）。ＱＭ記憶部１６５ｂは、このように生成される基本量子化行列を記憶する（ステップＳ２６３）。
【０１９１】
その後のステップＳ２６５〜Ｓ２６６の処理は、１つ以上のサイズ候補の各々について、即ち、水平方向のサイズIDと垂直方向のサイズIDとの組み合わせの各々について繰り返される（ステップＳ２６４ａ）。さらに、その繰り返しにおいて、予測タイプと色成分との組み合わせに対応する複数のマトリクスIDの各々についての繰り返しが行われる（ステップＳ２６４ｂ）。各繰り返しの対象とされるサイズ候補及びマトリクスIDを、ここではそれぞれ対象サイズ候補及び対象マトリクスIDという。
【０１９２】
ＱＭ生成部１６７ｂは、まず、対象サイズ候補及び対象マトリクスIDに対応する量子化行列が存在するかを、例えばＱＭ記憶部１６５ｂにより提供される行列管理情報を参照することにより判定する（ステップＳ２６５）。ＱＭ生成部１６７ｂは、その量子化行列が存在しない場合、図１０を参照しながら上で説明した量子化行列生成処理を実行して、参照量子化行列から追加量子化行列を生成する（ステップＳ２６６）。ここで生成される追加量子化行列は、ＱＭ記憶部１６５ｂにより記憶される。
【０１９３】
追加量子化行列を生成するための繰り返しが完了した後、ステップＳ２６８〜Ｓ２６９の処理が、ブロック設定部１６１により画像内に設定される複数の変換ブロックの各々について繰り返される（ステップＳ２６７）。各繰り返しの対象とされる変換ブロックを、ここでは対象変換ブロックという。
【０１９４】
逆量子化部６３ｂは、対象変換ブロックのブロックサイズに対応する量子化行列を、ＱＭ記憶部１６５ｂから読み出す（ステップＳ２６８）。そして、逆量子化部６３ｂは、読み出された量子化行列を用いて、対象変換ブロックの量子化変換係数を逆量子化する（ステップＳ２６９）。
【０１９５】
図１８には示していないものの、ステップＳ２６９において逆量子化の結果として生成される周波数領域の変換係数は、逆直交変換部６４により空間領域の信号サンプルである予測誤差へ変換される。量子化行列は、スケーリングリストデータの更新に応じて、シーケンス、ピクチャ、スライス又はタイルといったいかなる単位で更新されてもよい。
【０１９６】
本節で説明した第２の実施形態では、複数の変換ブロックにわたる処理に先立って、量子化処理又は逆量子化処理のために要する可能性のある多数の量子化行列が、予め生成される。こうした構成によれば、画像内のブロックごとの処理が開始した後に、不足している量子化行列を追加的に生成するための演算の必要性が排除され、処理性能が向上し得る。
【０１９７】
＜４．ハードウェア構成例＞
上述した実施形態は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組み合わせのいずれを用いて実現されてもよい。画像処理装置１０ａ、１０ｂ、６０ａ、６０ｂがソフトウェアを使用する場合、ソフトウェアを構成するコンピュータプログラムが、例えば、装置の内部又は外部に設けられるコンピュータ読取可能な記憶媒体（非一時的な媒体：non-transitory  media）に予め格納される。そして、各プログラムは、例えば、実行時にＲＡＭ（Random  Access  Memory）に読み込まれ、ＣＰＵ（Central  Processing  Unit）などのプロセッサにより実行される。
【０１９８】
図１９は、上述した実施形態を適用可能なデバイスのハードウェア構成の一例を示すブロック図である。図１９を参照すると、デバイス８００は、システムバス８１０、画像処理チップ８２０及びオフチップメモリ８９０を備える。画像処理チップ８２０は、ｎ個（ｎは１以上）の処理回路８３０−１、８３０−２、…、８３０−ｎ、参照バッファ８４０、システムバスインタフェース８５０及びローカルバスインタフェース８６０を含む。
【０１９９】
システムバス８１０は、画像処理チップ８２０と外部モジュール（例えば、中央制御機能、アプリケーション機能、通信インタフェース又はユーザインタフェースなど）との間の通信路を提供する。処理回路８３０−１、８３０−２、…、８３０−ｎは、システムバスインタフェース８５０を介してシステムバス８１０と接続され、及びローカルバスインタフェース８６０を介してオフチップメモリ８９０と接続される。処理回路８３０−１、８３０−２、…、８３０−ｎは、オンチップメモリ（例えば、ＳＲＡＭ）に相当し得る参照バッファ８４０にもアクセスすることができる。オンチップメモリは、例えば、図４に例示した内部メモリＭ１２、又は図７に例示した内部メモリＭ２２を含んでもよい。一方、オフチップメモリ８９０は、例えば、図４に例示したＱＭメモリＭ１１、又は図７に例示したＱＭメモリＭ２１を含んでもよい。オフチップメモリ８９０は、画像処理チップ８２０により処理される画像データを記憶するフレームメモリをさらに含んでもよい。
【０２００】
＜５．まとめ＞
ここまで、図３Ａ〜図１９を用いて、本開示に係る技術の実施形態を詳細に説明した。上述した実施形態によれば、高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を生成する際に、スケーリングリストデータを復号することにより生成される第１のサイズの第１の量子化行列の全体ではなく、当該第１の量子化行列の部分行列のみが参照される。それにより、多様な量子化行列の生成に起因する、例えばハードウェアリソースの占有、処理遅延又は増加した電力消費といった処理コストへの影響を少なくとも軽減することができる。従って、量子化行列を効率的に生成し又はシグナリングするための改善された仕組みが提供される。
【０２０１】
また、上述した実施形態によれば、第２のサイズが高周波成分のゼロ化が適用されるサイズである場合に、第１のサイズに対する、第２の量子化行列を生成する際に参照される部分行列のサイズの割合は、第２のサイズに対する非ゼロ部分の割合に等しい。それにより、必ずゼロとなる変換係数に対応する量子化行列の要素を計算することに伴うリソースの無駄が排除され得る。
【０２０２】
また、ある実施例によれば、スケーリングリストデータから生成される基本量子化行列のサイズを指し示すサイズ指示情報が、制御パラメータとして明示的に符号化され又は復号される。これは、多様な量子化行列の生成の基礎となる基本量子化行列のサイズを可変的に指し示すことが可能であること、従って、ユーザが望む形で量子化行列を柔軟に使い分けることが可能となることを意味する。他の実施形態によれば、予め定義される１つ以上のサイズの各々についてのスケーリングリストデータが復号され、当該１つ以上のサイズは、基本量子化行列のサイズを含む。この場合、サイズ指示情報の符号化の必要性が排除される。
【０２０３】
また、ある実施例によれば、どのサイズの変換ブロックに高周波成分のゼロ化が適用されるかに関するルールが、仕様において予め定義される。この場合、各変換ブロックについて高周波成分のゼロ化が適用されるか否かを判定するための制御パラメータの符号化が必要とされない。他の実施例によれば、高周波成分のゼロ化が適用されるかを指し示す各変換ブロックに関連付けられるゼロ化フラグが、制御パラメータとして明示的に符号化され又は復号される。それにより、ゼロ化のオン／オフを動的に制御することが可能となる。他の実施例によれば、どのサイズの変換ブロックに高周波成分のゼロ化が適用されるかを指し示すゼロ化サイズ情報が、制御パラメータとして明示的に符号化され又は復号される。それにより、ゼロ化の対象サイズを動的に制御することが可能となる。これら実施例によれば、ユーザのニーズ又はシステムの要件若しくは制約に応じて、微細な高周波成分をも表現する画像の柔軟な再生を可能とする仕組みが提供される。
【０２０４】
また、上述した実施形態によれば、上記第２の量子化行列を生成する際に、上記部分行列がメモリに読み出され一時的に保持される。従って、必要十分な量のメモリリソースのみが確保されるため、エンコーダ又はデコーダといったデバイスの性能が最適化される。
【０２０５】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２０６】
（実施形態の組み合わせ）
なお、上で説明した実施形態及び関連する様々な例は、いかなる態様で組み合わせられてもよく、本開示に係る技術は、上で直接的に言及した組み合わせに限定されない。例えば、第１の実施形態に関連して説明した任意の手法が、第２の実施形態に関連して説明した任意の手法と組み合わせられてよい。
【０２０７】
（提案技術の適用対象）
本開示に係る技術は、任意の映像符号化方式（映像復号方式）に適用可能である。即ち、明らかな矛盾が生じない限り、変換（逆変換）、量子化（逆量子化）、符号化（復号）、予測及びフィルタリングといった符号化及び復号に関連する処理の仕様は、本開示に係る技術のスコープを限定しない。また、明らかな矛盾が生じない限り、これら処理のうちの一部が省略されてもよい。
【０２０８】
（ブロック）
概して、「ブロック」とは、画像（ピクチャ、スライス又はタイル等を含む）の任意の部分領域を指す用語である（例外的に、何らかの機能性を実行する機能ブロックを指すことがあり得る）。別段の説明の無い限り、ブロックのサイズ、形状及び特性は、本開示に係る技術のスコープを限定しない。例えば、「ブロック」という概念は、上述した参照文献REF１〜REF３において言及されているTB（Transform  Block）、TU（Transform  Unit）、PB（Prediction  Block）、PU（Prediction  Unit）、SCU（Smallest  Coding  Unit）、CU（Coding  Unit）、LCU（Largest  Coding  Unit）、CTB（Coding  Tree  Block）、CTU（Coding  Tree  Unit）、サブブロック、マクロブロック、タイル及びスライスといった、様々な部分領域（処理単位）を含む。
【０２０９】
（データ単位／処理単位）
本明細書で言及した様々なパラメータ、データ又は情報が適用される対象の範囲は、上述した例に限定されず、いかなる範囲であってもよい。同様に、本明細書で言及した様々な処理が実行される対象の範囲は、上述した例に限定されず、いかなる範囲であってもよい。例えば、それら範囲は、TB、TU、PB、PU、SCU、CU、LCU、CTB、CTU、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、又はコンポーネントの少なくとも１つを単位（データ単位／処理単位）として設定されてもよい。当然ながら、データ単位／処理単位は、個別のパラメータ、データ若しくは情報ごとに、又は処理ごとに設定されてよく、それら全てにわたって共通していてもいなくてもよい。なお、パラメータ、データ又は情報は任意の場所で記憶され又は伝送されてよく、例えば上述した単位のヘッダ又はパラメータセット内で保持されてもよい。また、複数の場所において分散的に記憶され又は伝送されてもよい。
【０２１０】
（制御情報）
本開示に係る技術に関連するいかなる制御情報が符号化側から復号側へ伝送されてもよい。例えば、上述した様々な機能性の任意の部分を有効化し又は無効化することを指示するための制御情報（例えば、enabled_flag）が伝送されてもよい。また、上述した様々な機能性の任意の部分の適用範囲（又は適用されない範囲）を指示する制御情報が伝送されてもよい。例えば、本開示に係る技術が適用されるブロックサイズ（上限若しくは下限、又はその双方）、フレーム、コンポーネント、又はレイヤを指定する制御情報が伝送されてもよい。
【０２１１】
（ブロックサイズ情報）
制御情報において、ブロックサイズは、サイズ値で直接的に表現される代わりに、サイズの値へマッピングされる識別子又はインデックスを介して間接的に表現されてもよい。また、例えば、サイズ値又は対応する識別子若しくはインデックスは、何らかの基準値（例えば、LCU又はSCUのサイズ）との比又は差分として表現されてもよい。例えば、シンタックスエレメントに含まれるサイズ情報が、ここで説明した手法で間接的にサイズ値を指定してもよい。それにより、符号化され、伝送され又は記憶される情報量を低減し、符号化効率を向上させることができる可能性がある。また、ここで説明したブロックサイズを指定するための手法が、ブロックサイズの範囲を指定する際に利用されてもよい。
【０２１２】
（その他）
概して、「フラグ」とは、複数の状態を識別するための情報を意味し、真（１）又は偽（０）という２つの状態を区別するのみならず、３つ以上の状態を区別可能であってもよい。即ち、「フラグ」の値は、例えば１又は０の２値であってもよく、又は３値以上であってもよい。従って、１つの「フラグ」はいかなる数のビットで構成されてもよく、単一ビットであっても複数ビットであってもよい。また、フラグその他の識別情報を含み得る制御情報は、それ自体がビットストリームに包含されてもよく、又は、何らかの基準としての情報に対する差分情報としてビットストリームに包含されてもよい。
【０２１３】
さらに、符号化ストリーム又は符号化ビットストリームといった符号化データに関連する様々なデータ及びメタデータは、符号化データに関連付けられている限り、どのような形態で伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得るようにする（例えば、互いにリンクさせ又はマッピングする）ことを意味する。即ち、互いに関連付けられたデータは、１つのデータとして統合的に扱われてもよく、又は別個のデータとして扱われてもよい。例えば、符号化データ（符号化された画像）に関連付けられた情報が、その符号化データとは別の伝送路上で伝送されてもよい。また、符号化データに関連付けられた情報は、その符号化データとは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。また、データの全体ではなく任意の部分同士で、上述した「関連付け」が行われてもよい。例えば、画像とその画像に関連する情報とが、複数フレーム、１フレーム、又はフレーム内の一部分といった任意の単位で互いに関連付けられてよい。
【０２１４】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」及び「挿入する」といった用語が、別個のデータを統合的に扱うことを意味するために、又は別個のデータを互いに「関連付ける」ことを意味するために使用されているかもしれない。
【０２１５】
本開示に係る技術は、装置又はシステムを構成するいかなるコンポーネント（例えば、システムLSI（Large  Scale  Integration）などのプロセッサ、複数のプロセッサを包含するモジュール、複数のモジュールを包含するユニット、又は、モジュール若しくはユニットに追加的な機能性を付加したセット）において実装されてもよい。
【０２１６】
本明細書において、システムとは、複数のエレメント（例えば、装置、ユニット、モジュール、コンポーネントなど）の集合を意味し、但しそれらエレメントの全てが同一の筐体中に存在してもしなくてもよい。即ち、システムとは、例えば、別個の筐体に収納され、ネットワークを介して互いに接続される複数のモジュールの集合、及び、１つの筐体に収納される複数のモジュールの集合の双方を含む概念である。
【０２１７】
また、例えば、単一のコンポーネント（例えば、処理部）として説明したコンポーネントが、複数のコンポーネントへ分割される態様で構成されてもよい。逆に、本明細書において説明した複数のコンポーネントが単一のコンポーネントとして構成されてもよい。本明細書において説明したコンポーネントに、説明したもの以外の構成が付加されてもよい。さらに、システム全体としての機能性又は動作が実質的に同じである限り、ある装置の構成の一部が他の装置に包含されてもよい。また、例えば、本開示に係る技術は、１つ又は複数の機能をネットワークを介して相互接続される複数の装置で協調的に又は分散的に遂行する、クラウドコンピューティング技法を用いて実現されてもよい。
【０２１８】
あるフローチャートに記述されている１つ以上のステップが、１つの装置において実行される代わりに、複数の装置で分散的に実行されてもよい。１つのステップを構成する複数個の演算が、１つの装置において実行される代わりに、複数の装置で分散的に実行されてもよい。
【０２１９】
コンピュータにより実行されるプログラムを構成するプログラム命令は、本明細書で説明した２つ以上の処理ステップを、コンピュータに、説明した順序の通りに実行させてもよく、並列的に実行させてもよく、又は、何らかのイベントの発生若しくは外部からの呼び出しをトリガとして個別に実行させてもよい。即ち、明らかな矛盾が生じない限り、本明細書で説明した処理ステップは、説明した順序とは異なる順序で実行されてもよい。さらに、あるプログラム又はプログラム命令に基づいて実行される処理ステップが、他のプログラム又はプログラム命令に基づいて実行される処理ステップと並列的に又は共同的に実行されてもよい。
【０２２０】
本明細書に記載された効果は、あくまで説明的又は例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果と共に、又は上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
【０２２１】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
スケーリングリストデータを復号して、第１のサイズの第１の量子化行列を生成する復号部と、
高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、前記復号部により生成される前記第１の量子化行列の部分行列のみを参照することにより生成する生成部と、
前記生成部により生成される前記第２の量子化行列を用いて、前記第２のサイズの変換ブロックの量子化変換係数を逆量子化する逆量子化部と、
を備える画像処理装置。
（２）
前記第１のサイズに対する前記部分行列のサイズの割合は、前記第２のサイズに対する非ゼロ部分の割合に等しい、前記（１）に記載の画像処理装置。
（３）
前記復号部は、前記スケーリングリストデータから生成される量子化行列のサイズを指し示すサイズ指示情報を復号し、
前記サイズ指示情報により指し示されるサイズは、前記第１のサイズを含み、前記第２のサイズを含まない、
前記（１）又は前記（２）に記載の画像処理装置。
（４）
前記復号部は、予め定義される１つ以上のサイズの各々についてのスケーリングリストデータを復号して、前記１つ以上のサイズの量子化行列を生成し、
予め定義される前記１つ以上のサイズは、前記第１のサイズを含み、前記第２のサイズを含まない、
前記（１）又は前記（２）に記載の画像処理装置。
（５）
前記生成部は、高周波成分のゼロ化が適用されない第３のサイズの変換ブロックのための第３の量子化行列を、前記復号部により生成される前記第１の量子化行列の全体を参照することにより生成する、前記（１）〜（４）のいずれか１項に記載の画像処理装置。
（６）
前記生成部は、どのサイズの変換ブロックに前記ゼロ化が適用されるかを予め定義するルールに従って、前記第２のサイズの変換ブロックに前記ゼロ化が適用されることを判定する、前記（１）〜（５）のいずれか１項に記載の画像処理装置。
（７）
前記生成部は、前記ゼロ化が適用されるかを指し示す、各変換ブロックに関連付けられるゼロ化フラグに基づいて、前記第２のサイズの変換ブロックに前記ゼロ化が適用されることを判定する、前記（１）〜（５）のいずれか１項に記載の画像処理装置。
（８）
前記生成部は、どのサイズの変換ブロックに前記ゼロ化が適用されるかを指し示すゼロ化サイズ情報に基づいて、前記第２のサイズの変換ブロックに前記ゼロ化が適用されることを判定する、前記（１）〜（５）のいずれか１項に記載の画像処理装置。
（９）
前記生成部は、前記第２の量子化行列を生成する際に前記部分行列を一時的に保持するメモリ、を含む、前記（１）〜（８）のいずれか１項に記載の画像処理装置。
（１０）
前記画像処理装置は、前記第１の量子化行列を複数の変換ブロックにわたる処理を通じて記憶する記憶部、をさらに備え、
前記生成部は、前記第２のサイズの個別の変換ブロックの量子化変換係数が逆量子化される際に、前記第２の量子化行列を生成する、
前記（１）〜（９）のいずれか１項に記載の画像処理装置。
（１１）
前記生成部は、複数の変換ブロックにわたる処理に先立って、前記第２の量子化行列を生成し、
前記画像処理装置は、前記第１の量子化行列及び前記第２の量子化行列を含む複数の量子化行列を、前記複数の変換ブロックにわたる処理を通じて記憶する記憶部、をさらに備える、
前記（１）〜（９）のいずれか１項に記載の画像処理装置。
（１２）
前記逆量子化部は、QTBT（Quad-Tree  plus  Binary  Tree）ブロック分割を通じて画像内に設定される複数の変換ブロックの各々について逆量子化処理を実行する、前記（１）〜（１１）のいずれか１項に記載の画像処理装置。
（１３）
画像処理装置により実行される画像処理方法であって、
スケーリングリストデータを復号して、第１のサイズの第１の量子化行列を生成することと、
高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、生成される前記第１の量子化行列の部分行列のみを参照することにより生成することと、
生成される前記第２の量子化行列を用いて、前記第２のサイズの変換ブロックの量子化変換係数を逆量子化することと、
を含む画像処理方法。
（１４）
高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、第１のサイズの第１の量子化行列の部分行列のみを参照することにより生成する生成部と、
符号化対象画像内の前記第２のサイズの変換ブロックの変換係数を、前記生成部により生成される前記第２の量子化行列を用いて量子化して、量子化変換係数を生成する量子化部と、
前記量子化変換係数及び前記第１の量子化行列を表現するスケーリングリストを符号化して、符号化ストリームを生成する符号化部と、
を備える画像処理装置。
（１５）
画像処理装置により実行される画像処理方法であって、
高周波成分のゼロ化が適用される第２のサイズの変換ブロックのための第２の量子化行列を、第１のサイズの第１の量子化行列の部分行列のみを参照することにより生成することと、
符号化対象画像内の前記第２のサイズの変換ブロックの変換係数を、生成される前記第２の量子化行列を用いて量子化して、量子化変換係数を生成することと、
前記量子化変換係数及び前記第１の量子化行列を表現するスケーリングリストを符号化して、符号化ストリームを生成することと、
を含む画像処理方法。
【符号の説明】
【０２２２】
１０ａ，１０ｂ        画像処理装置（エンコーダ）
１５ａ，１５ｂ        量子化部
１６                  可逆符号化部
１１１                ブロック設定部
１１３                ＱＭ設定部
１１５ａ，１１５ｂ    ＱＭ記憶部
１１７ａ，１１７ｂ    ＱＭ生成部
１１９                ＳＬ符号化部
６０ａ，６０ｂ        画像処理装置（デコーダ）
６２                  可逆復号部
６３ａ，６３ｂ        逆量子化部
１６１                ブロック設定部
１６３                ＳＬ復号部
１６５ａ，１６５ｂ    ＱＭ記憶部
１６７ａ，１６７ｂ    ＱＭ生成部
【図１】
2019188097.tif 000008
【図２】
2019188097.tif 000009
【図３Ａ】
2019188097.tif 000010
【図３Ｂ】
2019188097.tif 000011
【図４】
2019188097.tif 000012
【図５】
2019188097.tif 000013
【図６Ａ】
2019188097.tif 000014
【図６Ｂ】
2019188097.tif 000015
【図６Ｃ】
2019188097.tif 000016
【図７】
2019188097.tif 000017
【図８】
2019188097.tif 000018
【図９】
2019188097.tif 000019
【図１０】
2019188097.tif 000020
【図１１】
2019188097.tif 000021
【図１２】
2019188097.tif 000022
【図１３】
2019188097.tif 000023
【図１４】
2019188097.tif 000024
【図１５】
2019188097.tif 000025
【図１６】
2019188097.tif 000026
【図１７】
2019188097.tif 000027
【図１８】
2019188097.tif 000028
【図１９】
2019188097.tif 000029
【国際調査報告】
2019188097.tif 000030
2019188097.tif 000031
2019188097.tif 000032
2019188097.tif 000033