(57)【要約】  本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。スイッチは、画像と画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換と、予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換とをスキップさせる場合、プライマリ変換係数がセカンダリ変換されて得られるセカンダリ変換係数に対する帯域制限もスキップさせる。本開示は、例えば、画像処理装置、画像符号化装置、または画像復号装置等に適用することができる。
2017195667.tif 000002
【特許請求の範囲】
【請求項１】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御部
を備える画像処理装置。
【請求項２】
画像処理装置が、
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御ステップ
を含む画像処理方法。
【請求項３】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて帯域制限されることにより得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御部
を備える画像処理装置。
【請求項４】
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックサイズが所定のサイズ以上であるとき、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
請求項３に記載の画像処理装置。
【請求項５】
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックの水平方向のサイズおよび垂直方向のサイズに基づいて、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
請求項４に記載の画像処理装置。
【請求項６】
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記変換ブロックの水平方向および垂直方向のサイズのうちの大きい方が所定値以上であるとき、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
請求項５に記載の画像処理装置。
【請求項７】
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記変換ブロックの水平方向と垂直方向のサイズの和または積が所定値以上であるとき、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
請求項５に記載の画像処理装置。
【請求項８】
前記帯域制限は、前記逆プライマリ変換および前記逆セカンダリ変換の長方形の変換ブロック内の所定のサイズの正方形の領域以外の領域の帯域制限後の前記セカンダリ変換係数を０にすることにより行われる
ように構成された
請求項４に記載の画像処理装置。
【請求項９】
前記帯域制限は、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックを構成する画素のうちの、処理順が所定値以上である画素の帯域制限後の前記セカンダリ変換係数を０にすることにより行われる
ように構成された
請求項４に記載の画像処理装置。
【請求項１０】
画像処理装置が、
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて帯域制限されることにより得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御ステップ
を含む画像処理方法。
【請求項１１】
逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する制御部
を備える画像処理装置。
【請求項１２】
前記制御部は、符号化データが復号されて得られるセカンダリ変換係数に対する逆セカンダリ変換のスキップを、前記サブブロック毎の前記変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する
請求項１１に記載の画像処理装置。
【請求項１３】
前記セカンダリ変換係数に基づいて、前記逆セカンダリ変換をスキップさせるか否かを、前記サブブロック毎に判定する判定部をさらに備え、
前記制御部は、前記判定部による判定の結果に応じて、前記逆セカンダリ変換のスキップを、前記サブブロック毎に制御するように構成される
請求項１２に記載の画像処理装置。
【請求項１４】
前記逆セカンダリ変換は、
前記セカンダリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
請求項１２に記載の画像処理装置。
【請求項１５】
逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する
画像処理方法。
【請求項１６】
変換係数に対する逆変換処理の行列を、前記逆変換処理の内容とスキャン方法とに基づいて設定する設定部と、
逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数を１次元のベクトルに変換するラスタライズ部と、
前記設定部により設定された前記行列を用いて、前記１次元のベクトルに対する行列演算を行う行列演算部と、
前記行列演算が行われた前記１次元のベクトルに対してスケーリングを行うスケーリング部と、
スケーリングされた前記１次元のベクトルを行列化する行列化部と
を備える画像処理装置。
【請求項１７】
前記行列の候補を記憶する記憶部をさらに備え、
前記設定部は、前記逆変換処理の内容および前記スキャン方法に対応する前記行列を、前記記憶部に記憶されている前記行列の候補の中から選択することにより、前記行列を設定するように構成される
請求項１６に記載の画像処理装置。
【請求項１８】
前記設定部は、前記逆変換処理の内容と、前記ラスタライズ部および前記行列化部において採用される前記スキャン方法とに対応する前記行列を設定する
請求項１６に記載の画像処理装置。
【請求項１９】
前記設定部は、前記逆変換処理の内容を示す変換識別子と、前記スキャン方法に関する情報であるスキャン識別子とに基づいて前記行列を設定する
請求項１６に記載の画像処理装置。
【請求項２０】
変換係数に対する逆変換処理の行列を、前記逆変換処理の内容とスキャン方法とに基づいて設定し、
逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数を１次元のベクトルに変換し、
設定された前記行列を用いて、前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルに対してスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
従来、画像符号化において、画像とその予測画像の差分である予測残差に対してプライマリ変換を行った後に、さらに、エナジーコンパクションを高める（低域に変換係数を集中させる）ために、変換ブロック内のサブブロック毎に、セカンダリ変換を適用することが開示されている（例えば、非特許文献１参照）。その非特許文献１には、どのセカンダリ変換を適用するかを示すセカンダリ変換識別子をCU単位でシグナルすることも開示されている。【０００３】
また、エンコーダにおいて、RDO（Rate-Distortion Optimization）に基づいて、非特許文献１に記載のCU単位でどのセカンダリ変換を適用するか決定するのは、計算複雑度が大きく、変換ブロック単位でのセカンダリ変換を適用するか否かを示すセカンダリ変換フラグをシグナルすることが開示されている（例えば、非特許文献２参照）。その非特許文献２には、どのセカンダリ変換を適用するかを示すセカンダリ変換識別子を、プライマリ変換識別子およびイントラ予測モードに基づいて導出することも開示されている。【０００４】
しかしながら、非特許文献１および非特許文献２のいずれに記載の方法においても、非ゼロ係数が疎なサブブロックがセカンダリ変換係数に入力された場合、セカンダリ変換が適用され、サブブロック内の低次から高次の成分にまで係数が拡散してエナジーコンパクションが低下し、符号化効率が低減するおそれがあった。【０００５】
また、Joint Exploration Test Model 1(JEM1)では、4Kなどの高解像度の画像における符号化効率向上のために、CTU（Coding Tree Unit）の最大サイズを256x256へ拡張し、それに合わせて、変換ブロックの最大サイズも64x64へ拡張することが開示されている(例えば、非特許文献１参照)。その非特許文献１には、変換ブロックサイズが64x64である場合、エンコーダが、変換ブロックの左上の32x32の低周波数成分以外の高周波数成分の変換係数が強制的に０になるように帯域制限を行い（高周波数成分を切り捨て）、低周波数成分の非ゼロ係数のみを符号化することも開示されている。【０００６】
この場合、デコーダは、低周波成分の非ゼロ係数のみを復号し、その非ゼロ係数に対して逆量子化および逆変換を行えばよい。従って、エンコーダが帯域制限を行わない場合に比べて、デコーダの計算複雑度や実装コストを低減することができる。【０００７】
しかしながら、エンコーダが、64x64の変換ブロックに対して、変換スキップ（Transform Skip）、または、変換および量子化のスキップ（以下、変換量子化バイパスという）を行う場合、64x64の変換ブロックの変換係数は、変換前の予測残差である。従って、この場合に帯域制限が行われると、歪が増大する。その結果、符号化効率が低減するおそれがあった。また、ロスレス符号化を目的として変換量子化バイパス(Trans/Quant Bypass)を行うにもかかわらず、ロスレス符号化を行うことができない。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer Ohm, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 2", JVET-B1001_v3, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 2nd Meeting: San Diego, USA, 20-26 February 2016
【非特許文献２】X.Zhao, A.Said, V.Seregin, M.Karczewicz, J.Chen, R.Joshi, "TU-level non-separable secondary transform", JVET-B0059, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 2nd Meeting: San Diego, USA, 20-26 February 2016
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以上のように、符号化効率が低減するおそれがあった。【００１０】
本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
【課題を解決するための手段】
【００１１】
本技術の第１の側面の画像処理装置は、画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御部を備える画像処理装置である。【００１２】
本技術の第１の側面の画像処理方法は、画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて帯域制限されることにより得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御部を備える画像処理装置である。【００１３】
本技術の第２の側面の画像処理装置は、画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて帯域制限されることにより得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御部を備える画像処理装置である。【００１４】
本技術の第２の側面の画像処理方法は、画像処理装置が、画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて帯域制限されることにより得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御ステップを含む画像処理方法である。【００１５】
本技術の第３の側面の画像処理装置は、逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する制御部を備える画像処理装置である。【００１６】
本技術の第３の側面の画像処理方法は、逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する画像処理方法である。【００１７】
本技術の第４の側面の画像処理装置は、変換係数に対する逆変換処理の行列を、前記逆変換処理の内容とスキャン方法とに基づいて設定する設定部と、逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数を１次元のベクトルに変換するラスタライズ部と、前記設定部により設定された前記行列を用いて、前記１次元のベクトルに対する行列演算を行う行列演算部と、前記行列演算が行われた前記１次元のベクトルに対してスケーリングを行うスケーリング部と、スケーリングされた前記１次元のベクトルを行列化する行列化部とを備える画像処理装置である。【００１８】
本技術の第４の側面の画像処理方法は、変換係数に対する逆変換処理の行列を、前記逆変換処理の内容とスキャン方法とに基づいて設定し、逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数を１次元のベクトルに変換し、設定された前記行列を用いて、前記１次元のベクトルに対する行列演算を行い、前記行列演算が行われた前記１次元のベクトルに対してスケーリングを行い、スケーリングされた前記１次元のベクトルを行列化する画像処理方法である。【００１９】
本技術の第１の側面の画像処理装置および方法においては、画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する帯域制限もスキップされる。【００２０】
本技術の第２の側面の画像処理装置および方法においては、画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて帯域制限されることにより得られるセカンダリ変換係数に対する帯域制限もスキップされる。【００２１】
本技術の第３の側面の画像処理装置および方法においては、逆変換処理することにより画像とその画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップが、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、サブブロック毎に制御される。【００２２】
本技術の第４の側面の画像処理装置および方法においては、変換係数に対する逆変換処理の行列が、その逆変換処理の内容とスキャン方法とに基づいて設定され、逆変換処理することにより画像とその画像の予測画像との差分である予測残差が得られる変換係数が１次元のベクトルに変換され、設定された行列を用いて、その１次元のベクトルに対する行列演算が行われ、その行列演算が行われた１次元のベクトルに対してスケーリングが行われ、そのスケーリングされた１次元のベクトルが行列化される。
【発明の効果】
【００２３】
本開示によれば、画像を処理することができる。特に、符号化効率の低減を抑制することができる。
【図面の簡単な説明】
【００２４】
【図１】CUについての再帰的なブロック分割の概要を説明するための説明図である。
【図２】図１に示したCUへのPUの設定について説明するための説明図である。
【図３】図１に示したCUへのTUの設定について説明するための説明図である。
【図４】CU／PUの走査順について説明するための説明図である。
【図５】セカンダリ変換部の主な構成例を示すブロック図である。
【図６】セカンダリ変換の様子の例を説明する図である。
【図７】画像符号化装置の主な構成例を示すブロック図である。
【図８】変換部の主な構成例を示すブロック図である。
【図９】スキャン識別子に対応する各スキャン方法の例を示す図である。
【図１０】セカンダリ変換の行列の例を示す図である。
【図１１】画像符号化処理の流れの例を説明するフローチャートである。
【図１２】変換処理の流れの例を説明するフローチャートである。
【図１３】画像復号装置の主な構成例を示すブロック図である。
【図１４】逆変換部の主な構成例を示すブロック図である。
【図１５】画像復号処理の流れの例を説明するフローチャートである。
【図１６】逆変換処理の流れの例を説明するフローチャートである。
【図１７】イントラ予測モードとスキャン方法との関係例を説明する図である。
【図１８】変換部の主な構成例を示すブロック図である。
【図１９】セカンダリ変換選択部の主な構成例を示すブロック図である。
【図２０】変換処理の流れの例を説明するフローチャートである。
【図２１】逆変換部の主な構成例を示すブロック図である。
【図２２】逆セカンダリ変換選択部の主な構成例を示すブロック図である。
【図２３】逆変換処理の流れの例を説明するフローチャートである。
【図２４】変換部の主な構成例を示すブロック図である。
【図２５】帯域制限を説明する図である。
【図２６】変換部の主な構成例を示すブロック図である。
【図２７】変換処理の流れの例を説明するフローチャートである。
【図２８】逆変換部の主な構成例を示すブロック図である。
【図２９】逆変換処理の流れの例を説明するフローチャートである。
【図３０】CU,PU、およびTUの形状を説明する図である。
【図３１】変換部の主な構成例を示すブロック図である。
【図３２】帯域制限フィルタの例を示す図である。
【図３３】変換処理の流れの例を説明するフローチャートである。
【図３４】逆変換部の主な構成例を示すブロック図である。
【図３５】逆変換処理の流れの例を説明するフローチャートである。
【図３６】帯域制限フィルタの他の例を示す図である。
【図３７】帯域制限フィルタの他の例を示す図である。
【図３８】帯域制限フィルタの他の例を示す図である。
【図３９】変換処理の流れの他の例を説明するフローチャートである。
【図４０】逆変換処理の流れの他の例を説明するフローチャートである。
【図４１】コンピュータの主な構成例を示すブロック図である。
【図４２】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図４３】携帯電話機の概略的な構成の一例を示すブロック図である。
【図４４】記録再生装置の概略的な構成の一例を示すブロック図である。
【図４５】撮像装置の概略的な構成の一例を示すブロック図である。
【図４６】ビデオセットの概略的な構成の一例を示すブロック図である。
【図４７】ビデオプロセッサの概略的な構成の一例を示すブロック図である。
【図４８】ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
【図４９】ネットワークシステムの概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２５】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（サブブロック毎のセカンダリ変換のスキップ）
２．第２の実施の形態（スキャン方法を用いたセカンダリ変換の選択）
３．第３の実施の形態（ブロックが正方形である場合の帯域制限のスキップ）
４．第４の実施の形態（ブロックが正方形または長方形からなる矩形である場合の帯域制限のスキップ）
５．第５の実施の形態（その他）
【００２６】
＜１．第１の実施の形態＞
＜ブロック分割＞
MPEG2（Moving Picture Experts Group 2(ISO/IEC 13818-2)）やMPEG-4 Part10 （Advanced Video Coding、以下AVCと記す）などの旧来の画像符号化方式では、符号化処理は、マクロブロックと呼ばれる処理単位で実行される。マクロブロックは、16x16画素の均一なサイズを有するブロックである。これに対し、HEVC（High Efficiency Video Coding）では、符号化処理は、CU（Coding Unit）と呼ばれる処理単位（符号化単位）で実行される。CUは、最大符号化単位であるLCU（Largest Coding Unit）を再帰的に分割することにより形成される、可変的なサイズを有するブロックである。選択可能なCUの最大サイズは、64x64画素である。選択可能なCUの最小サイズは、8x8画素である。最小サイズのCUは、SCU（Smallest Coding Unit）と呼ばれる。なお、CUの最大サイズは、64x64画素に限定されず、より大きい128x128画素、256x256画素などのブロックサイズとしてもよい。
【００２７】
このように、可変的なサイズを有するCUが採用される結果、HEVCでは、画像の内容に応じて画質及び符号化効率を適応的に調整することが可能である。予測符号化のための予測処理は、PU（Prediction Unit）と呼ばれる処理単位（予測単位）で実行される。PUは、CUをいくつかの分割パタンのうちの１つで分割することにより形成される。また、PUは、輝度(Y)及び色差(Cb,Cr)毎のPB(Prediction Block)と呼ばれる処理単位(予測ブロック)から構成される。さらに、直交変換処理は、TU（Transform Unit）と呼ばれる処理単位（変換単位）で実行される。TUは、CU又はPUをある深さまで分割することにより形成される。また、TUは、輝度(Y)及び色差(Cb, Cr)毎のTB(Transform Block)と呼ばれる処理単位（変換ブロック）から構成される。
【００２８】
＜再帰的なブロックの分割＞
図１は、HEVCにおけるCUについての再帰的なブロック分割の概要を説明するための説明図である。CUのブロック分割は、１つのブロックの４（=2x2）個のサブブロックへの分割を再帰的に繰り返すことにより行われ、結果として四分木（Quad-Tree）状のツリー構造が形成される。１つの四分木の全体をCTB（Coding Tree Block）といい、CTBに対応する論理的な単位をCTUという。
【００２９】
図１の上部には、一例として、64x64画素のサイズを有するCUであるＣ０１が示されている。Ｃ０１の分割の深さは、ゼロに等しい。これは、Ｃ０１がCTUのルートでありLCUに相当することを意味する。LCUサイズは、SPS（Sequence Parameter Set）又はPPS（Picture Parameter Set）において符号化されるパラメータにより指定され得る。CUであるＣ０２は、Ｃ０１から分割される４つのCUのうちの１つであり、32x32画素のサイズを有する。Ｃ０２の分割の深さは、１に等しい。CUであるＣ０３は、Ｃ０２から分割される４つのCUのうちの１つであり、16x16画素のサイズを有する。Ｃ０３の分割の深さは、２に等しい。CUであるＣ０４は、Ｃ０３から分割される４つのCUのうちの１つであり、8x8画素のサイズを有する。Ｃ０４の分割の深さは、３に等しい。このように、CUは、符号化される画像を再帰的に分割することにより形成される。分割の深さは、可変的である。例えば、青空のような平坦な画像領域には、より大きいサイズの（即ち、深さが小さい）CUが設定され得る。一方、多くのエッジを含む急峻な画像領域には、より小さいサイズの（即ち、深さが大きい）CUが設定され得る。そして、設定されたCUの各々が、符号化処理の処理単位となる。
【００３０】
＜CUへのPUの設定＞
PUは、イントラ予測及びインター予測を含む予測処理の処理単位である。PUは、CUをいくつかの分割パタンのうちの１つで分割することにより形成される。図２は、図１に示したCUへのPUの設定について説明するための説明図である。図２の右には、2Nx2N、2NxN、Nx2N、NxN、2NxnU、2NxnD、nLx2N及びnRx2Nという、８種類の分割パタンが示されている。これら分割パタンのうち、イントラ予測では、2Nx2N及びNxNの２種類が選択可能である（NxNはSCUでのみ選択可能）。これに対してインター予測では、非対称動き分割が有効化されている場合に、８種類の分割パタンの全てが選択可能である。
【００３１】
＜CUへのTUの設定＞
TUは、直交変換処理の処理単位である。TUは、CU（イントラCUについては、CU内の各PU）をある深さまで分割することにより形成される。図３は、図２に示したCUへのTUの設定について説明するための説明図である。図３の右には、Ｃ０２に設定され得る１つ以上のTUが示されている。例えば、TUであるＴ０１は、32x32画素のサイズを有し、そのTU分割の深さはゼロに等しい。TUであるＴ０２は、16x16画素のサイズを有し、そのTU分割の深さは１に等しい。TUであるＴ０３は、8x8画素のサイズを有し、そのTU分割の深さは２に等しい。
【００３２】
上述したCU、PU及びTUといったブロックを画像に設定するためにどのようなブロック分割を行うかは、典型的には、符号化効率を左右するコストの比較に基づいて決定される。エンコーダは、例えば１つの2Mx2M画素のCUと、４つのMxM画素のCUとの間でコストを比較し、４つのMxM画素のCUを設定した方が符号化効率が高いならば、2Mx2M画素のCUを４つのMxM画素のCUへと分割することを決定する。
【００３３】
＜CUとPUの走査順＞
画像を符号化する際、画像（又はスライス、タイル）内に格子状に設定されるCTB（又はLCU）が、ラスタスキャン順に走査される。１つのCTBの中では、CUは、四分木を左から右、上から下に辿るように走査される。カレントブロックを処理する際、上及び左の隣接ブロックの情報が入力情報として利用される。図４は、CUとPUの走査順について説明するための説明図である。図４の左上には、１つのCTBに含まれ得る４つのCUである、Ｃ１０、Ｃ１１、Ｃ１２及びＣ１３が示されている。各CUの枠内の数字は、処理の順序を表現している。符号化処理は、左上のCUであるＣ１０、右上のCUであるＣ１１、左下のCUであるＣ１２、右下のCUであるＣ１３の順で実行される。図４の右には、CUであるＣ１１に設定され得るインター予測のための１つ以上のPUが示されている。図４の下には、CUであるＣ１２に設定され得るイントラ予測のための１つ以上のPUが示されている。これらPUの枠内の数字に示したように、PUもまた、左から右、上から下に辿るように走査される。
【００３４】
以下においては、画像（ピクチャ）の部分領域や処理単位として「ブロック」を用いて説明する場合がある（処理部のブロックではない）。この場合の「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、この場合の「ブロック」には、例えば、TB、TU、PB、PU、SCU、CU、LCU（CTB）、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域（処理単位）が含まれるものとする。
【００３５】
＜セカンダリ変換＞
非特許文献１および非特許文献２には、画像とその予測画像の差分である予測残差に対してプライマリ変換を行った後に、さらに、エナジーコンパクションを高める（低域に変換係数を集中させる）ために、変換ブロック内のサブブロック毎に、セカンダリ変換を適用することが記載されている。
【００３６】
しかしながら、非ゼロ係数が疎な予測残差をセカンダリ変換すると、低次から高次の成分にまで係数が拡散してエナジーコンパクションが低下し、符号化効率が低減するおそれがあった。
【００３７】
図５は、セカンダリ変換を行うセカンダリ変換部の主な構成例を示すブロック図である。図５に示されるセカンダリ変換部１１は、予測残差がプライマリ変換されたプライマリ変換係数に対して、非特許文献１や非特許文献２に記載の方法でセカンダリ変換を行う処理部である。図５に示されるように、セカンダリ変換部１１は、ラスタライズ部２１、行列演算部２２、スケーリング部２３、および行列化部２４を有する。
【００３８】
ラスタライズ部２１は、入力されたプライマリ変換係数Coeff_Pを、スキャン識別子scanIdxが示すスキャン方法に従ってスキャンし、１次元のベクトルX1dに変換する。例えば、プライマリ変換係数Coeff_Pが、以下の式（１）に示されるような非ゼロ係数が疎な４×４行列であり、スキャン識別子scanIdxが水平スキャン（hor）を示すとすると、ラスタライズ部２１は、そのプライマリ変換係数Coeff_Pを以下の式（２）に示されるような１次元のベクトルX1dに変換する。
【００３９】
【数１】
2017195667.tif 000003
・・・（１）
【数２】
2017195667.tif 000004
・・・（２）
【００４０】
行列演算部２２は、以上のように得られた１次元のベクトルX1dに対して、セカンダリ変換の行列Ｒを用いて以下の式（３）のような行列演算を行う。例えば、上述の式（２）に示される１次元のベクトルX1dに対して、この行列演算が行われることにより、以下の式（４）に示されるような１次元のベクトルY1dが得られる。
【００４１】
Y1dT = R ・X1dT
・・・（３）
【数３】
2017195667.tif 000005
・・・（４）
【００４２】
スケーリング部２３は、以上のように得られた１次元のベクトルY1dに対して、ノルムを正規化するために、以下の式（５）のようなN（Nは自然数）ビットのビットシフト演算を行う。例えば、上述の式（４）に示される１次元のベクトルY1dに対して、このビットシフト演算が行われることにより、以下の式（６）に示されるような１次元のベクトルZ1dが得られる。
【００４３】
Z1d = ( Y1d )>>N
・・・（５）
【数４】
2017195667.tif 000006
・・・（６）
【００４４】
行列化部２４は、以上のように得られた１次元のベクトルZ1dを、スキャン識別子scanIdxによって指定されるスキャン方法に基づいて、行列に変換する。この行列が、プライマリ変換係数Coeff_Pがセカンダリ変換されたセカンダリ変換係数Coeffとして後段の処理部（例えば量子化部等）に供給される。例えば、上述の式（４）に示される１次元のベクトルZ1dに対して、この行列化が行われることにより、以下の式（７）に示されるような４×４の行列のセカンダリ変換係数Coeffが得られる。
【００４５】
【数５】
2017195667.tif 000007
・・・（７）
【００４６】
以上のように、非ゼロ係数が疎なプライマリ変換係数Coeff_Pをセカンダリ変換すると、係数が低次から高次の成分にまで拡散してエナジーコンパクションが低下し、符号化効率が低減するおそれがあった。
【００４７】
なお、非特許文献２には、セカンダリ変換フラグのオーバヘッドを削減するために、変換ブロック内の非ゼロ係数が所定の閾値以下の場合、セカンダリ変換を適用しないこととし、フラグのシグナルを省略することが開示されている。例えば、閾値TH = 2とすると、プライマリ変換係数Coeff_Pが、上述の式（１）に示されるような行列の場合、セカンダリ変換がスキップ（省略）される。
【００４８】
しかしながら、非特許文献１や非特許文献２に記載の方法の場合、変換ブロックをサブブロック毎にセカンダリ変換する。したがって、例えば、図６に示されるように、プライマリ変換係数Coeff_Pの変換ブロックが２×２のサブブロックにより構成され、各サブブロックが上述の式（１）に示されるような４×４行列である場合、変換ブロック内の非ゼロ係数は４であるので、閾値TH（= 2）より大きく、セカンダリ変換が適用されることとなる。上述のようにセカンダリ変換は、サブブロック毎（４×４行列毎）に行われるので、各サブブロックのセカンダリ変換係数Coeffは、上述の式（７）のようになる。つまり、係数が低次から高次の成分にまで拡散してエナジーコンパクションが低下し、符号化効率が低減するおそれがあった。
【００４９】
＜サブブロック単位のセカンダリ変換スキップ制御＞
そこで、画像とその画像の予測画像との差分である予測残差から得られる変換係数に対する変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、サブブロック毎に制御するようにする。また、逆変換処理することにより画像とその画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、サブブロック毎に制御するようにする。例えば、サブブロック内の非ゼロ係数が閾値以下の場合、セカンダリ変換や逆セカンダリ変換をスキップ（省略）するようにする。
【００５０】
このようにすることにより、非ゼロ係数が疎なサブブロックの変換係数に対して、変換処理（逆変換処理）を適用することを抑制することができるので、エナジーコンパクションの低下を抑制し、符号化効率の低減を抑制することができる。
【００５１】
＜画像符号化装置＞
図７は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図７に示される画像符号化装置１００は、AVCやHEVCのように、画像とその予測画像との予測残差を符号化する装置である。例えば、画像符号化装置１００は、HEVCに提案された技術や、JVET（Joint Video Exploration Team）にて提案された技術を実装している。
【００５２】
なお、図７においては、処理部やデータの流れ等の主なものを示しており、図７に示されるものが全てとは限らない。つまり、画像符号化装置１００において、図７においてブロックとして示されていない処理部が存在したり、図７において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【００５３】
図７に示されるように画像符号化装置１００は、制御部１０１、演算部１１１、変換部１１２、量子化部１１３、符号化部１１４、逆量子化部１１５、逆変換部１１６、演算部１１７、フレームメモリ１１８、および予測部１１９を有する。
【００５４】
制御部１０１は、外部、または予め指定された処理単位のブロックサイズに基づいて、画像符号化装置１００に入力される動画像を処理単位のブロック（CU, PU, 変換ブロック（TB）など）へ分割し、分割されたブロックに対応する画像Iを演算部１１１へ供給させる。また、制御部１０１は、各ブロックへ供給する符号化パラメータ（ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo等）を、例えば、RDO（Rate-Distortion Optimization）に基づいて決定する。決定された符号化パラメータは、各ブロックへ供給される。
【００５５】
ヘッダ情報Hinfoは、例えば、ビデオパラメータセット（VPS（Video Parameter Set））、シーケンスパラメータセット（SPS（Sequence Parameter Set））、ピクチャパラメータセット（PPS（Picture Parameter Set））、スライスヘッダ（SH）等の情報を含む。例えば、ヘッダ情報Hinfoには、画像サイズ（横幅PicWidth、縦幅PicHeight）、ビット深度（輝度bitDepthY, 色差bitDepthC）、CUサイズの最大値MaxCUSize／最小値MinCUSize、変換ブロックサイズの最大値MaxTBSize／最小値MinTBSize、変換スキップブロックの最大値MaxTSSize（最大変換スキップブロックサイズとも称する）、各符号化ツールのオンオフフラグ（有効フラグとも称する）などを規定する情報が含まれる。もちろん、ヘッダ情報Hinfoの内容は任意であり、上述した例以外のどのような情報がこのヘッダ情報Hinfoに含まれるようにしてもよい。
【００５６】
予測モード情報Pinfoには、例えば、処理対象PUのPUサイズ（予測ブロックサイズ）を示す情報であるPUサイズPUSize、処理対象のブロックのイントラ予測モードに関する情報であるイントラ予測モード情報IPinfo（例えば、JCTVC-W1005, 7.3.8.5 Coding Unit syntax中のprev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode等）、処理対象のブロックの動き予測に関する情報である動き予測情報MVinfo（例えば、JCTVC-W1005, 7.3.8.6 Prediction Unit Syntax中のmerge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,1}, mvd等）等が含まれる。もちろん、予測モード情報Pinfoの内容は任意であり、上述した例以外のどのような情報がこの予測モード情報Pinfoに含まれるようにしてもよい。
【００５７】
変換情報Tinfoには、例えば、以下のような情報が含まれる。
【００５８】
ブロックサイズTBSize（あるいは、２を底とするTBSizeの対数値log2TBSize、変換ブロックサイズとも称する）は、処理対象変換ブロックのブロックサイズを示す情報である。
【００５９】
セカンダリ変換識別子（st_idx）は、対象とするデータ単位において、どのセカンダリ変換または逆セカンダリ変換（（逆）セカンダリ変換とも称する）を適用するかを示す識別子である（例えば、JVET-B1001、2.5.2 Secondary Transformsを参照。JEM2では、nsst_idx, rot_idxとも称する）。換言するに、このセカンダリ変換識別子は、対象とするデータ単位における（逆）セカンダリ変換の内容に関する情報である。
【００６０】
例えば、セカンダリ変換識別子st_idxは、その値が０より大きい場合、（逆）セカンダリ変換の行列を指定する識別子である。換言するに、この場合、セカンダリ変換識別子st_idxは、（逆）セカンダリ変換の実行を示す。また、例えば、セカンダリ変換識別子st_idxは、その値が０の場合、（逆）セカンダリ変換のスキップを示す。
【００６１】
スキャン識別子（scanIdx）は、スキャン方法に関する情報である。量子化パラメータ（qp）は、対象とするデータ単位において、（逆）量子化に用いられる量子化パラメータを示す情報である。量子化マトリックス（scaling_matrix）は、対象とするデータ単位において、（逆）量子化に用いられる量子化マトリックスを示す情報である（例えば、JCTVC-W1005, 7.3.4 Scaling list data syntax）。
【００６２】
もちろん、変換情報Tinfoの内容は任意であり、上述した例以外のどのような情報がこの変換情報Tinfoに含まれるようにしてもよい。
【００６３】
ヘッダ情報Hinfoは、例えば、各ブロックに供給される。予測モード情報Pinfoは、例えば、符号化部１１４および予測部１１９に供給される。変換情報Tinfoは、例えば、変換部１１２、量子化部１１３、符号化部１１４、逆量子化部１１５、および逆変換部１１６に供給される。
【００６４】
演算部１１１は、入力された処理単位のブロックに対応する画像Ｉから、予測部１１９から供給された予測画像Ｐを、式（８）に示すように減算して予測残差Ｄを求め、それを変換部１１２に供給する。
【００６５】
Ｄ＝Ｉ−Ｐ
・・・（８）
【００６６】
変換部１１２は、制御部１０１から供給される変換情報Tinfoに基づいて、演算部１１１から供給される予測残差Ｄに対して変換処理を行い、変換係数Coeffを導出する。変換部１１２は、その変換係数Coeffを量子化部１１３に供給する。
【００６７】
量子化部１１３は、制御部１０１から供給される変換情報Tinfoに基づいて、変換部１１２から供給される変換係数Coeffをスケーリング（量子化）する。つまり、量子化部１１３は、変換処理が行われた変換係数Coeffの量子化を行う。量子化部１１３は、その量子化により得られた量子化後の変換係数、すなわち量子化変換係数レベルlevelを符号化部１１４および逆量子化部１１５に供給する。
【００６８】
符号化部１１４は、量子化部１１３から供給される量子化変換係数レベルlevel等を所定の方法で符号化する。例えば、符号化部１１４は、シンタックステーブルの定義に沿って、制御部１０１から供給される符号化パラメータ（ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo等）や、量子化部１１３から供給される量子化変換係数レベルlevelを、各シンタックス要素のシンタックス値へ変換し、各シンタックス値を符号化（例えば、算術符号化）し、ビット列（符号化データ）を生成する。
【００６９】
また、符号化部１１４は、量子化変換係数レベルlevelから残差情報RInfoを導出し、残差情報RInfoを符号化し、ビット列（符号化データ）を生成する。
【００７０】
残差情報RInfoには、例えば、ラスト非ゼロ係数X座標（last_sig_coeff_x_pos）、ラスト非ゼロ係数Y座標（last_sig_coeff_y_pos）、サブブロック非ゼロ係数有無フラグ（coded_sub_block_flag）、非ゼロ係数有無フラグ（sig_coeff_flag）、非ゼロ係数のレベルが１より大きいかを示すフラグ情報であるGR1フラグ（gr1_flag）、非ゼロ係数のレベルが２より大きいかを示すフラグ情報であるGR2フラグ（gr2_flag）、非ゼロ係数の正負を示す符号であるサイン符号（sign_flag）、非ゼロ係数の残余レベルを示す情報である非ゼロ係数残余レベル（coeff_abs_level_remaining）などが含まれる（例えば、JCTVC-W1005の7.3.8.11 Residual Coding syntaxを参照）。もちろん、残差情報RInfoの内容は任意であり、上述した例以外のどのような情報がこの残差情報RInfoに含まれるようにしてもよい。
【００７１】
符号化部１１４は、例えば、符号化された各シンタックス要素のビット列（符号化データ）を多重化し、ビットストリームとして出力する。
【００７２】
逆量子化部１１５は、制御部１０１から供給される変換情報Tinfoに基づいて、量子化部１１３から供給される量子化変換係数レベルlevelの値をスケーリング（逆量子化）し、逆量子化後の変換係数Coeff_IQを導出する。逆量子化部１１５は、その変換係数Coeff_IQを逆変換部１１６に供給する。この逆量子化部１１５により行われる逆量子化は、量子化部１１３により行われる量子化の逆処理であり、後述する画像復号装置において行われる逆量子化と同様の処理である。したがって、この逆量子化については、画像復号装置に関する説明において後述する。
【００７３】
逆変換部１１６は、制御部１０１から供給される変換情報Tinfoに基づいて、逆量子化部１１５から供給される変換係数Coeff_IQに対して逆変換を行い、予測残差Ｄ’を導出する。逆変換部１１６は、その予測残差Ｄ’を演算部１１７に供給する。この逆変換部１１６により行われる逆変換は、変換部１１２により行われる変換の逆処理であり、後述する画像復号装置において行われる逆変換と同様の処理である。したがって、この逆変換については、画像復号装置に関する説明において後述する。
【００７４】
演算部１１７は、逆変換部１１６から供給される予測残差Ｄ’と、予測部１１９より供給される、その予測残差Ｄ’に対応する予測画像Ｐ（予測信号）とを、以下の式（９）のように加算して局所的な復号画像Recを導出する。演算部１１７は、その局所的な復号画像Recをフレームメモリ１１８に供給する。
【００７５】
Rec＝Ｄ’＋Ｐ
・・・（９）
【００７６】
フレームメモリ１１８は、演算部１１７より供給される局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、フレームメモリ１１８内のバッファへ格納する。フレームメモリ１１８は、予測部１１９により指定される復号画像を参照画像としてバッファより読み出し、予測部１１９に供給する。また、フレームメモリ１１８は、復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfoなどを、フレームメモリ１１８内のバッファに格納するようにしても良い。
【００７７】
予測部１１９は、予測モード情報PInfoによって指定される、フレームメモリ１１８に格納された復号画像を参照画像として取得し、その参照画像を用いて、予測モード情報Pinfoによって指定される予測方法により予測画像Ｐを生成する。予測部１１９は、生成した予測画像Ｐを演算部１１１や演算部１１７に供給する。
【００７８】
このような画像符号化装置１００において、画像とその画像の予測画像との差分である予測残差から得られる変換係数に対する変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、サブブロック毎に制御する制御部を備えるようにする。つまり、変換部１１２が、画像とその画像の予測画像との差分である予測残差から得られる変換係数に対する変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、サブブロック毎に制御するようにする。
【００７９】
＜変換部＞
図８は、変換部１１２の主な構成例を示すブロック図である。図８において、変換部１１２は、プライマリ変換部１３１およびセカンダリ変換部１３２を有する。
【００８０】
プライマリ変換部１３１は、演算部１１１から供給される予測残差Ｄに対して、例えば直交変換等のプライマリ変換を実行し、その予測残差Ｄに対応するプライマリ変換後の変換係数Coeff_P（プライマリ変換係数とも称する）を導出する。すなわち、プライマリ変換部１３１は、予測残差Ｄをプライマリ変換係数Coeff_Pに変換する。プライマリ変換部１３１は、導出したプライマリ変換係数Coeff_Pをセカンダリ変換部１３２（後述するラスタライズ部１４１およびスイッチ１４８）に供給する。
【００８１】
セカンダリ変換部１３２は、プライマリ変換部１３１から供給されるプライマリ変換係数Coeff_Pを１次元のベクトル（行ベクトルとも称する）に変換し、その１次元のベクトルに対する行列演算を行い、その行列演算が行われた１次元のベクトルのスケーリングを行い、そのスケーリングされた前記１次元のベクトルを行列化する変換処理であるセカンダリ変換を行う。
【００８２】
セカンダリ変換部１３２は、セカンダリ変換の内容に関する情報であるセカンダリ変換識別子st_idxと、変換係数のスキャン方法に関する情報であるスキャン識別子scanIdxとに基づいて、プライマリ変換係数Coeff_Pに対してセカンダリ変換を行い、セカンダリ変換後の変換係数Coeff（セカンダリ変換係数とも称する）を導出する。つまり、セカンダリ変換部１３２は、プライマリ変換係数Coeff_Pをセカンダリ変換係数Coeffに変換する。セカンダリ変換部１３２は、そのセカンダリ変換係数Coeffを、量子化部１１３に供給する。
【００８３】
なお、セカンダリ変換部１３２は、セカンダリ変換をスキップ（省略）し、プライマリ変換係数Coeff_Pを、セカンダリ変換係数Coeffとして、量子化部１１３に供給することもできる。
【００８４】
図８に示されるように、セカンダリ変換部１３２は、ラスタライズ部１４１、行列演算部１４２、スケーリング部１４３、行列化部１４４、セカンダリ変換選択部１４５、量子化部１４６、非ゼロ係数数判定部１４７、およびスイッチ１４８を有する。
【００８５】
ラスタライズ部１４１は、スキャン識別子scanIdxによって指定される変換係数のスキャン方法に基づいて、サブブロック単位（４×４サブブロック）毎に、プライマリ変換部１３１から供給されるプライマリ変換係数Coeff_Pを１次元のベクトルX1dへ変換する。ラスタライズ部１４１は、得られた１次元のベクトルX1dを行列演算部１４２に供給する。
【００８６】
図９のＡは、スキャン識別子scanIdxの各値によって指定されるスキャンタイプscanTypeを示している。図９のＡに示されうように、スキャン識別子scanIdxが０の場合、斜め方向スキャン（up-right diagonal scan）が指定され、スキャン識別子scanIdxが１の場合、水平方向スキャン（horizontal fast scan）が指定され、スキャン識別子scanIdxが２の場合、垂直方向スキャン（vertical fast scan）が指定される。図９のＢ乃至図９のＤは、４×４サブブロックにおける各スキャンの係数のスキャン順を示している。図９のＢ乃至図９のＤにおいて、各係数位置に付された番号は、該係数位置がスキャンされる順番を示している。図９のＢは、水平方向スキャン（horizontal fast scan）のスキャン順の例を示し、図９のＣは、垂直方向スキャン（vertical fast scan）のスキャン順の例を示し、図９のＤは、斜め方向スキャン（up-right diagonal scan）のスキャン順の例を示す。
【００８７】
セカンダリ変換選択部１４５は、セカンダリ変換識別子st_idxで指定されるセカンダリ変換の行列Ｒを、セカンダリ変換選択部１４５の内部メモリ（不図示）より読み出し、行列演算部１４２に供給する。例えば、セカンダリ変換選択部１４５は、あるセカンダリ変換識別子st_idxの値のとき、セカンダリ変換として、図１０に示される１６×１６の行列Ｒを読み出し、行列演算部１４２に供給する。
【００８８】
なお、セカンダリ変換選択部１４５が、セカンダリ変換識別子st_idxおよびイントラ予測モード情報IPinfo（例えば、予測モード番号）に応じて、セカンダリ変換の行列Ｒを選択するようにしてもよい。また、セカンダリ変換選択部１４５が、イントラ予測モード情報IPinfoの代わりに、動き予測情報MVinfoおよびセカンダリ変換識別子st_idxに応じて、セカンダリ変換の行列Ｒを選択するようにしてもよい。
【００８９】
行列演算部１４２は、１次元のベクトルX1dおよびセカンダリ変換の行列Ｒを用いて、以下の式（１０）に示すような行列演算を行い、その結果である１次元のベクトルY1dをスケーリング部１４３に供給する。式（１０）において、演算子"・"は、行列同士の内積（行列積）を行う操作を表し、演算子"T"は、転置行列の操作を表す。
【００９０】
Y1dT＝Ｒ・X1dT
・・・（１０）
【００９１】
スケーリング部１４３は、行列演算部１４２から供給される信号Y1d（すなわち１次元のベクトルY1d）のノルムを正規化するために、以下の式（１１）に示されるようなＮ（Ｎは自然数）ビットのビットシフト演算を行い、ビットシフト後の信号Z1d（すなわち１次元のベクトルZ1d）を求める。なお、以下の式（１２）のようにＮビットのシフト演算前に、オフセットとして、1<<(N-1)の値を、１次元のベクトルZ1dの各要素へ加算するようにしてもよい。
【００９２】
Z1d＝（Y1d）>>Ｎ
・・・（１１）
Z1d＝（Y1d＋（（N-1）<<1）・Ｅ）>>Ｎ
・・・（１２）
【００９３】
なお、式（１２）において、Ｅは、すべての要素の値が１の１×１６次元のベクトルである。例えば、図１０に示されるセカンダリ変換の行列Ｒは、８ビットスケーリングされた行列であるため、スケーリング部１４３において、ノルムの正規化に用いるＮの値は８である。一般的に、セカンダリ変換の行列Ｒが、Ｎビットスケーリングされている場合、ノルム正規化のビットシフト量は、Ｎビットである。スケーリング部１４３は、以上のように得られた１次元のベクトルZ1dを行列化部１４４に供給する。
【００９４】
行列化部１４４は、スキャン識別子scanIdxによって指定されるスキャン方法に基づいて、ノルム正規化後の１×１６次元のベクトルZ1dを４×４行列へ変換する。行列化部１４４は、得られた変換係数Coeffを、量子化部１４６およびスイッチ１４８に供給する。
【００９５】
量子化部１４６は、量子化部１１３と基本的に同様の処理（量子化）を行う。ただし、量子化部１４６は、プライマリ変換係数Coeff_P、セカンダリ変換係数Coeff（ラスタライズ部１４１乃至行列化部１４４までの処理実行後）、変換情報Tinfoの一部である量子化パラメータqp、および、量子化マトリックスscaling_matrixを入力とする。量子化部１４６は、プライマリ変換部１３１から供給されるプライマリ変換係数Coeff_Pと、行列化部１４４から供給される変換係数であるセカンダリ変換係数Coeffとのそれぞれについて、量子化パラメータqp、量子化マトリックスscaling_matrixを参照し、例えば、以下の式（１３）および式（１４）のように量子化し、量子化後のプライマリ変換係数level_P(量子化プライマリ変換係数とよぶ)、量子化後のセカンダリ変換係数level_S（量子化セカンダリ変換係数とよぶ）を導出する。
【００９６】
level_P(i,j) = sign (coeff_P(i,j)) × (( abs ( coeff_P(i,j)) × f[qp%6] × (16 / w(i,j)) + offsetQ ) >> qp / 6 ) >> shift1
・・・（１３）
level_S(i,j) = sign (coeff (i,j)) × (( abs ( coeff (i,j)) × f[qp%6] × (16 / w(i,j)) + offsetQ ) >> qp / 6 ) >> shift1
・・・（１４）
【００９７】
式（１３）や式（１４）において、演算子sign(X)は、入力値Ｘの正負の符号を返す演算子である。例えば、Ｘ >= 0であれば、+1を、X < 0であれば、-1を返す。また、f[]は、量子化パラメータに依存するスケーリングファクターであり、以下の式（１５）のような値をとる。
【００９８】
F[qp%6] = [26214, 23302, 20560, 18396, 16384, 16384, 14564]
・・・（１５）
【００９９】
また、式（１３）や式（１４）において、w(i,j)は、Coeff(i,j)や(Coeff_P(i,j))の係数位置(i,j)に対応する量子化マトリックスscaling_matrixの値である。つまり、このw(i,j)は、以下の式（１６）のように求められる。さらに、shift1およびoffsetQは、以下の式（１７）や（１８）のように求められる。
【０１００】
w(i,j) = scaling_matrix(i,j)
・・・（１６）
shift1 = 29 - M - B
・・・（１７）
offsetQ = 28 - M - B
・・・（１８）
ただし、式（１７）および（１８）において、Mは２を底とする変換ブロックのブロックサイズTBSizeの対数値であり、Bは、入力信号のビット深度bitDepthである。
M = log2(TBSize)
B = bitDepth
【０１０１】
なお、式（１３）および式（１４）に示される量子化によらず、量子化方法は実施可能な範囲で変更可能である。
【０１０２】
量子化部１４６は、以上のようにして得られた量子化プライマリ変換係数level_Pおよび量子化セカンダリ変換係数level_Sを非ゼロ係数数判定部１４７に供給する。
【０１０３】
非ゼロ係数数判定部１４７は、サブブロック毎に、量子化プライマリ変換係数level_Pおよび量子化セカンダリ変換係数level_Sを入力とする。非ゼロ係数数判定部１４７は、量子化部１４６から供給された量子化プライマリ変換係数level_Pおよび量子化セカンダリ変換係数level_Sを参照して、それぞれについて、サブブロック内の非ゼロ係数の数numSigInSBK_P（量子化プライマリ変換係数の非ゼロ係数数とも称する）およびnumSingInSBK_S（量子化セカンダリ変換係数の非ゼロ係数数とも称する）を、例えば、以下の式（１９）および式（２０）により導出する。なお、式（１９）および式（２０）において、(i,j)は、サブブロック内の座標を表し、i=0…3, j=0…3である。また、演算子abs(X)は、入力値Xの絶対値を返す演算子である。式（１９）及び式（２０）によって、量子化後の変換係数のレベル値が０より大きい変換係数（非ゼロ係数）の数を導出することができる。なお、式（１９）及び式（２０）において、非ゼロ係数の判定条件(abs(level_X(i,j))>0)(X=P, S)は、(level_X(i,j)!=0)の判定条件に置き換えてもよい。
【０１０４】
numSigInSBK_P = Σ{abs(level_P(i,j))>0 ? 1 : 0}
・・・（１９）
numSigInSBK_S = Σ{abs(level_S(i,j))>0 ? 1 : 0}
・・・（２０）
【０１０５】
非ゼロ係数数判定部１４７は、量子化プライマリ変換係数の非ゼロ係数数numSigInSBK_Pと、量子化セカンダリ変換係数の非ゼロ係数数numSigInSBK_Sと所定の閾値THを参照して、以下の式（２１）により、セカンダリ変換のスキップに関する情報であるセカンダリ変換スキップフラグStSkipFlagを導出する。
【０１０６】
StSkipFlag = ( numSigInSBK_P <= numSigInSBK_S && numSigInSBK_P <= TH )  ? 1 : 0
・・・（２１）
【０１０７】
閾値THは、例えば２を設定するが、これに限定されず、0乃至16までの値に設定することができる。また、閾値THは、VPS/SPS/PPS/スライスヘッダSHなどのヘッダ情報において通知してもよい。また、閾値THは、符号化側（例えば画像符号化装置１００）と復号側（例えば、後述する画像復号装置２００）との間で予め取り決めておき、符号化側から復号側への通知（閾値THの、符号化側から復号側への伝送）を省略するようにしてもよい。
【０１０８】
式（２１）では、量子化プライマリ変換係数の非ゼロ係数数numSigInSBK_Pが量子化セカンダリ変換係数の非ゼロ係数数numSigInSBK_S以下の場合であって、かつ、量子化プライマリ変換係数の非ゼロ係数数numSigInSBK_Pが閾値TH以下の場合、セカンダリ変換スキップStSkipFlagの値が１に設定される。すなわち、セカンダリ変換スキップStSkipFlagにおいて、セカンダリ変換をスキップすることが示される。それ以外の場合（numSigInSBK_P>numSigInSBK_S || numSigInSBK_P > TH ）、セカンダリ変換スキップStSkipFlagの値が０に設定される。すなわち、セカンダリ変換スキップStSkipFlagにおいて、セカンダリ変換を実行することが示される。
【０１０９】
なお、上述の式（２１）の代わりに、以下の式（２２）または式（２３）を用いるようにしてもよい。式（２３）を用いる場合、セカンダリ変換係数の量子化処理を省略してもよい。
【０１１０】
StSkipFlag = ( numSigInSBK_P <= numSigInSBK_S && numSigInSBK_S <= TH )  ? 1 : 0
・・・（２２）
StSkipFlag = ( numSigInSBK_P <= TH )  ? 1 : 0
・・・（２３）
【０１１１】
非ゼロ係数数判定部１４７は、導出したセカンダリ変換スキップフラグStSkipFlagをスイッチ１４８に供給する。
【０１１２】
スイッチ１４８は、サブブロック単位のプライマリ変換係数Coeff_P、セカンダリ変換係数Coeff、およびセカンダリ変換スキップフラグStSkipfFlagを入力とする。スイッチ１４８は、非ゼロ係数数判定部１４７から供給されるセカンダリ変換スキップフラグStSkipFlagに応じて、セカンダリ変換のスキップを制御する。
【０１１３】
例えば、セカンダリ変換スキップフラグStSkipFlagの値が０の場合、すなわち、セカンダリ変換スキップStSkipFlagにおいて、セカンダリ変換の実行が示されている場合、スイッチ１４８は、セカンダリ変換を実行させる。すなわち、スイッチ１４８は、行列化部１４４から供給されるセカンダリ変換係数Coeffを量子化部１１３に供給する。また、例えば、セカンダリ変換スキップフラグStSkipFlagの値が１の場合、すなわち、セカンダリ変換スキップStSkipFlagにおいて、セカンダリ変換のスキップが示されている場合、スイッチ１４８は、セカンダリ変換をスキップさせる。すなわち、スイッチ１４８は、プライマリ変換部１３１から供給されるプライマリ変換係数Coeff_Pをセカンダリ変換係数Coeffとして量子化部１１３に供給する。
【０１１４】
なお、スイッチ１４８は、セカンダリ変換識別子st_idxにも基づいて、セカンダリ変換のスキップを制御することができる。例えば、セカンダリ変換識別子st_idxが０である（セカンダリ変換のスキップを示す）場合、スイッチ１４８は、セカンダリ変換スキップフラグStSkipFlagの値に関わらず、セカンダリ変換をスキップさせる。すなわち、スイッチ１４８は、プライマリ変換部１３１から供給されるプライマリ変換係数Coeff_Pをセカンダリ変換係数Coeffとして量子化部１１３に供給する。また、例えば、セカンダリ変換識別子st_idxが０より大きい（セカンダリ変換の実行を示す）場合、スイッチ１４８は、セカンダリ変換スキップフラグStSkipFlagを参照して、上述したようにセカンダリ変換を制御する。
【０１１５】
以上のように、非ゼロ係数数判定部１４７がサブブロック毎の非ゼロ係数の数に基づいて、セカンダリ変換スキップフラグStSkipFlagを設定し、スイッチ１４８が、そのセカンダリ変換スキップフラグStSkipFlagに基づいて、セカンダリ変換のスキップを制御する。このようにすることにより、非ゼロ係数が疎なサブブロックに対するセカンダリ変換をスキップさせることができるようになるので、エナジーコンパクションの低下を抑制し、符号化効率の低減を抑制することができる。
【０１１６】
＜画像符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。最初に、画像符号化処理の流れの例を、図１１のフローチャートを参照して説明する。
【０１１７】
画像符号化処理が開始されると、ステップＳ１０１において、制御部１０１は、符号化制御処理を行い、ブロック分割や符号化パラメータの設定等を行う。
【０１１８】
ステップＳ１０２において、予測部１１９は、予測処理を行い、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部１１９は、イントラ予測を行って最適なイントラ予測モードの予測画像等を生成し、インター予測を行って最適なインター予測モードの予測画像等を生成し、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。
【０１１９】
ステップＳ１０３において、演算部１１１は、入力画像と、ステップＳ１０２の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部１１１は、入力画像と予測画像との予測残差Ｄを生成する。このようにして求められた予測残差Ｄは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
【０１２０】
ステップＳ１０４において、変換部１１２は、ステップＳ１０３の処理により生成された予測残差Ｄに対して変換処理を行い、変換係数Coeffを導出する。ステップＳ１０４の処理の詳細については後述する。
【０１２１】
ステップＳ１０５において、量子化部１１３は、制御部１０１により算出された量子化パラメータを用いる等して、ステップＳ１０４の処理により得られた変換係数Coeffを量子化し、量子化変換係数レベルlevelを導出する。
【０１２２】
ステップＳ１０６において、逆量子化部１１５は、ステップＳ１０５の処理により生成された量子化変換係数レベルlevelを、そのステップＳ１０５の量子化の特性に対応する特性で逆量子化し、変換係数Coeff_IQを導出する。
【０１２３】
ステップＳ１０７において、逆変換部１１６は、ステップＳ１０６の処理により得られた変換係数Coeff_IQを、ステップＳ１０４の変換処理に対応する方法で逆変換し、予測残差Ｄ’を導出する。なお、この逆変換処理は、ステップＳ１０４の変換処理の逆処理であり、後述する画像復号処理において実行される逆変換処理と同様に実行される。そのため、この逆変換処理の説明は、復号側の説明において行う。
【０１２４】
ステップＳ１０８において、演算部１１７は、ステップＳ１０７の処理により導出された予測残差Ｄ’に、ステップＳ１０２の予測処理により得られた予測画像を加算することにより、局所的に復号された復号画像を生成する。
【０１２５】
ステップＳ１０９において、フレームメモリ１１８は、ステップＳ１０８の処理により得られた、局所的に復号された復号画像を記憶する。
【０１２６】
ステップＳ１１０において、符号化部１１４は、ステップＳ１０５の処理により得られた量子化変換係数レベルlevelを符号化する。例えば、符号化部１１４は、画像に関する情報である量子化変換係数レベルlevelを、算術符号化等により符号化し、符号化データを生成する。また、このとき、符号化部１１４は、各種符号化パラメータ（ヘッダ情報HInfo、予測モード情報Pinfo、変換情報Tinfo）を符号化する。さらに、符号化部１１４は、量子化変換係数レベルlevelから残差情報RInfoを導出し、その残差情報RInfoを符号化する。符号化部１１４は、このように生成した各種情報の符号化データをまとめて、ビットストリームとして画像符号化装置１００の外部に出力する。このビットストリームは、例えば、伝送路や記録媒体を介して復号側に伝送される。
【０１２７】
ステップＳ１１０の処理が終了すると、画像符号化処理が終了する。
【０１２８】
なお、これらの各処理の処理単位は任意であり、互いに同一でなくてもよい。したがって、各ステップの処理は、適宜、他のステップの処理等と並行して、または、処理順を入れ替えて実行することもできる。
【０１２９】
＜変換処理の流れ＞
次に、図１１のステップＳ１０４において実行される変換処理の流れの例を、図１２のフローチャートを参照して説明する。
【０１３０】
変換処理が開始されると、ステップＳ１２１において、プライマリ変換部１３１は、プライマリ変換識別子pt_idxに基づいて、予測残差Ｄに対するプライマリ変換を行い、プライマリ変換係数Coeff_Pを導出する。
【０１３１】
ステップＳ１２２において、セカンダリ変換部１３２（スイッチ１４８）は、セカンダリ変換識別子st_idxがセカンダリ変換を適用するか否か（st_idx>0）を判定する。セカンダリ変換識別子st_idxが０である（セカンダリ変換のスキップを示す）と判定された場合、セカンダリ変換（ステップＳ１２３乃至ステップＳ１３４の処理）がスキップされ、変換処理が終了し、処理は図１１に戻る。すなわち、セカンダリ変換部１３２（スイッチ１４８）は、プライマリ変換係数Coeff_Pを変換係数Coeffとして量子化部１１３に供給する。
【０１３２】
また、ステップＳ１２２において、セカンダリ変換識別子st_idxが０より大きい（セカンダリ変換の実行を示す）と判定された場合、処理はステップＳ１２３に進む。
【０１３３】
ステップＳ１２３において、セカンダリ変換選択部１４５は、セカンダリ変換識別子st_idxにより指定されるセカンダリ変換の行列Ｒを選択する。
【０１３４】
ステップＳ１２４において、セカンダリ変換部１３２は、処理対象の変換ブロックをサブブロックに分割し、未処理のサブブロックを選択する。
【０１３５】
ステップＳ１２５において、ラスタライズ部１４１は、スキャン識別子scanIdxで指定されるスキャン方法に基づいて、プライマリ変換係数Coeff_Pを１次元のベクトルX1dに変換する。
【０１３６】
ステップＳ１２６において、行列演算部１４２は、１次元のベクトルX1dとセカンダリ変換の行列Ｒとの行列積を演算し、１次元のベクトルY1dを求める。
【０１３７】
ステップＳ１２７において、スケーリング部１４３は、１次元のベクトルY1dのノルムを正規化し、１次元のベクトルZ1dを求める。
【０１３８】
ステップＳ１２８において、行列化部１４４は、スキャン識別子scanIdxで指定されるスキャン方法に基づいて、１次元のベクトルZ1dを４×４の行列へ変換し、処理対象のサブブロックのセカンダリ変換係数Coeffを求める。
【０１３９】
ステップＳ１２９において、量子化部１４６は、プライマリ変換係数Coeff_Pおよびセカンダリ変換係数Coeffのそれぞれについて、量子化パラメータqp、量子化マトリックスscaling_matrixを参照して量子化し、量子化プライマリ変換係数level_Pと、量子化セカンダリ変換係数level_Sとを導出する。
【０１４０】
ステップＳ１３０において、非ゼロ係数数判定部１４７は、サブブロック毎に、量子化プライマリ変換係数level_P、量子化セカンダリ変換係数level_S、および閾値THに基づいて、セカンダリ変換スキップフラグStSkipFlagを上述したように導出する。
【０１４１】
ステップＳ１３１において、スイッチ１４８は、ステップＳ１３０において導出されたセカンダリ変換スキップフラグStSkipfFlagがセカンダリ変換のスキップを示すか否かを判定する。セカンダリ変換の実行を示す、すなわち、セカンダリ変換スキップフラグStSkipFlagの値が０の場合、処理はステップＳ１３２に進む。
【０１４２】
ステップＳ１３２において、スイッチ１４８は、ステップＳ１２８の処理により得られたセカンダリ変換係数Coeffを出力する（量子化部１１３に供給する）。ステップＳ１３２の処理が終了すると処理はステップＳ１３４に進む。
【０１４３】
また、ステップＳ１３１において、セカンダリ変換のスキップを示す、すなわち、セカンダリ変換スキップフラグStSkipFlagの値が１の場合、処理はステップＳ１３３に進む。
【０１４４】
ステップＳ１３３において、スイッチ１４８は、ステップＳ１２１の処理により得られたプライマリ変換係数Coeff_Pをセカンダリ変換係数Coeffとして出力する（量子化部１１３に供給する）。ステップＳ１３３の処理が終了すると処理はステップＳ１３４に進む。
【０１４５】
ステップＳ１３４において、セカンダリ変換部１３２は、処理対象の変換ブロックの全てのサブブロックを処理したか否かを判定する。未処理のサブブロックが存在すると判定された場合、処理はステップＳ１２４に戻り、それ以降の処理を繰り返す。つまり、処理対象の変換ブロックの各サブブロックについて、ステップＳ１２４乃至ステップＳ１３４の各処理（セカンダリ変換）が実行される。ステップＳ１３４において、全てのサブブロックを処理した（全てのサブブロックのセカンダリ変換の実行またはスキップを行った）と判定された場合、変換処理が終了し、処理は図１１に戻る。
【０１４６】
なお、変換処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ１２２においてセカンダリ変換識別子st_idx＝０であると判定された場合、１６×１６の単位行列がセカンダリ変換の行列Ｒとして選択され、ステップＳ１２４乃至ステップＳ１３４の各処理が実行されるようにしてもよい。
【０１４７】
以上のように各処理を実行することにより、サブブロック単位で、セカンダリ変換のスキップ（実行）を制御することができる。従って、非ゼロ係数が疎な残差信号に対して、エナジーコンパクションの低下を抑制することができる。すなわち、符号化効率の低減を抑制することができる。換言するに、符号化効率の低減を抑制しながら、符号化（セカンダリ変換・逆セカンダリ変換）の負荷の増大を抑制することができる。
【０１４８】
＜画像復号装置＞
次に、以上のように符号化された符号化データの復号について説明する。図１３は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図１３に示される画像復号装置２００は、図７の画像符号化装置１００に対応する画像復号装置であり、画像符号化装置１００が生成した符号化データ（ビットストリーム）を、画像符号化装置１００による符号化方法に対応する復号方法で復号する。例えば、画像復号装置２００は、HEVCに提案された技術や、JVETにて提案された技術を実装している。
【０１４９】
なお、図１３においては、処理部やデータの流れ等の主なものを示しており、図１３に示されるものが全てとは限らない。つまり、画像復号装置２００において、図１３においてブロックとして示されていない処理部が存在したり、図１３において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【０１５０】
図１３に示されるように画像復号装置２００は、復号部２１１、逆量子化部２１２、逆変換部２１３、演算部２１４、フレームメモリ２１５、および予測部２１６を有する。画像復号装置２００には、例えば伝送媒体や記録媒体等を介して、画像符号化装置１００等が生成した符号化データが例えばビットストリーム等として供給される。
【０１５１】
復号部２１１は、供給される符号化データを、その符号化方法に対応する所定の復号方法で復号する。例えば、復号部２１１は、シンタックステーブルの定義に沿って、供給された符号化データ（ビットストリーム）のビット列から、各シンタックス要素のシンタックス値を復号する。シンタックス要素には、例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfoなどの情報が含まれる。
【０１５２】
復号部２１１は、残差情報Rinfoを参照して、各変換ブロック内の各係数位置の量子化変換係数レベルlevelを導出する。復号部２１１は、復号して得た予測モード情報Pinfo、量子化変換係数レベルlevel、変換情報Tinfoを各ブロックへ供給する。例えば、復号部２１１は、予測モード情報Pinfoを予測部２１６に供給し、量子化変換係数レベルlevelを逆量子化部２１２に供給し、変換情報Tinfoを逆量子化部２１２および逆変換部２１３に供給する。
【０１５３】
逆量子化部２１２は、復号部２１１から供給される変換情報Tinfoに基づいて、復号部２１１から供給される量子化変換係数レベルlevelの値をスケーリング（逆量子化）し、逆量子化後の変換係数Coeff_IQを導出する。この逆量子化は、画像符号化装置１００の量子化部１１３（図７）により行われる量子化の逆処理である。なお、逆量子化部１１５（図７）は、この逆量子化部２１２と同様の逆量子化を行う。逆量子化部２１２は、得られた変換係数Coeff_IQを逆変換部２１３に供給する。
【０１５４】
逆変換部２１３は、復号部２１１から供給される変換情報Tinfoに基づいて、逆量子化部２１２より供給される変換係数Coeff_IQを逆変換し、予測残差Ｄ’を導出する。この逆変換は、画像符号化装置１００の変換部１１２（図７）により行われる変換処理の逆処理である。なお、逆変換部１１６は、この逆変換部２１３と同様の逆変換を行う。この逆変換の詳細については、後述する。逆変換部２１３は、得られた予測残差Ｄ’を演算部２１４に供給する。
【０１５５】
演算部２１４は、以下の式（２４）に示されるように、逆変換部２１３から供給される予測残差Ｄ’とその予測残差Ｄ’に対応する予測画像Ｐ（予測信号）とを加算し、局所的な復号画像Recを導出する。演算部２１４は、得られた局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、得られた復号画像を画像復号装置２００の外部に出力する。また、演算部２１４は、その局所的な復号画像Recをフレームメモリ２１５にも供給する。
【０１５６】
Rec＝Ｄ’＋Ｐ
・・・（２４）
【０１５７】
フレームメモリ２１５は、演算部２１４より供給される局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、フレームメモリ２１５内のバッファに格納する。フレームメモリ２１５は、予測部２１６の予測モード情報Pinfoによって指定される復号画像を参照画像としてバッファより読み出し、予測部２１６に供給する。また、フレームメモリ２１５は、その復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfoなどをフレームメモリ２１５内のバッファに格納するようにしても良い。
【０１５８】
予測部２１６は、復号部２１１から供給される予測モード情報PInfoによって指定される、フレームメモリ２１５に格納された復号画像を参照画像として取得し、その参照画像を用いて、その予測モード情報Pinfoによって指定される予測方法により予測画像Ｐを生成する。予測部２１６は、生成した予測画像Ｐを、演算部２１４に供給する。
【０１５９】
このような画像復号装置２００において、逆変換処理することにより画像とその画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、サブブロック毎に制御する制御部を備えるようにする。つまり、逆変換部２１３が、逆変換処理することにより画像とその画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、サブブロック毎に制御するようにする。
【０１６０】
＜逆変換部＞
図１４は、図１３の逆変換部２１３の主な構成例を示すブロック図である。図１４に示されるように、逆変換部２１３は、逆セカンダリ変換部２３１、および逆プライマリ変換部２３２を有する。
【０１６１】
逆セカンダリ変換部２３１は、逆量子化部２１２から供給される変換係数Coeff_IQ、すなわち、符号化データが復号され、逆量子化されて得られる変換係数Coeff_IQ（セカンダリ変換係数とも称する）を１次元のベクトルに変換し、その１次元のベクトルに対する行列演算を行い、その行列演算が行われた１次元のベクトルのスケーリングを行い、そのスケーリングされた１次元のベクトルを行列化する変換処理である逆セカンダリ変換を行う。
【０１６２】
逆セカンダリ変換部２３１は、セカンダリ変換の内容に関する情報であるセカンダリ変換識別子st_idxと、変換係数のスキャン方法に関する情報であるスキャン識別子scanIdxとに基づいて、セカンダリ変換係数Coeff_IQに対して逆セカンダリ変換を行い、逆セカンダリ変換後の変換係数Coeff_IS（プライマリ変換係数とも称する）を導出する。つまり、逆セカンダリ変換部２３１は、セカンダリ変換係数Coeff_IQをプライマリ変換係数Coeff_ISに変換する。逆セカンダリ変換部２３１は、そのプライマリ変換係数Coeff_ISを、逆プライマリ変換部２３２に供給する。
【０１６３】
なお、逆セカンダリ変換部２３１は、逆セカンダリ変換をスキップ（省略）し、セカンダリ変換係数Coeff_IQを、プライマリ変換係数Coeff_ISとして、逆プライマリ変換部２３２に供給することもできる。逆セカンダリ変換部２３１の詳細については、後述する。
【０１６４】
逆プライマリ変換部２３２は、逆セカンダリ変換部２３１から供給されるプライマリ変換係数Coeff_ISに対して、例えば逆直交変換等の逆プライマリ変換を実行し、予測残差Ｄ’を導出する。すなわち、逆プライマリ変換部２３２は、プライマリ変換係数Coeff_ISを予測残差Ｄ’に変換する。逆プライマリ変換部２３２は、導出した予測残差Ｄ’を演算部２１４に供給する。
【０１６５】
次に、逆セカンダリ変換部２３１について説明する。図１４に示されるように、逆セカンダリ変換部２３１は、非ゼロ係数数判定部２４１、スイッチ２４２、ラスタライズ部２４３、行列演算部２４４、スケーリング部２４５、行列化部２４６、および逆セカンダリ変換選択部２４７を有する。
【０１６６】
非ゼロ係数数判定部２４１は、サブブロック単位のセカンダリ変換係数Coeff_IQを入力とする。非ゼロ係数数判定部２４１は、逆量子化部２１２から供給されるセカンダリ変換係数Coeff_IQを参照して、サブブロック内の非ゼロ係数の数numSigInSBK（変換係数の非ゼロ係数数とも称する）を、例えば、以下の式（２５）のように導出する。なお、式（２５）において、セカンダリ変換係数Coeff_IQ(i,j)の(i,j)は、サブブロック内の座標を表し、i=0…3, j=0…3である。また、演算子abs(X)は、入力値Xの絶対値を返す演算子である。
【０１６７】
numSigInSBK = Σ{abs(Coeff_IQ(i,j))>0 ? 1 : 0}
・・・（２５）
【０１６８】
なお、セカンダリ変換係数Coeff_IQを参照せずに、非ゼロ係数有無フラグsig_coeff_flagに基づいて、変換係数の非ゼロ係数数numSigInSBKを導出するようにしてもよい。
【０１６９】
そして、非ゼロ係数数判定部２４１は、変換係数の非ゼロ係数数numSigInSBKが所定の閾値TH以下であるか否かを判定し、以下の式（２６）に示されるように、その判定結果に基づいて、セカンダリ変換スキップフラグStSkipFlagを導出する。
【０１７０】
StSkipFlag = numSigInSBK <= TH ? 1 : 0
・・・（２６）
【０１７１】
この閾値THは、例えば、２であってもよいし、0乃至16までのいずれかの値であってもよい。また、閾値THは、VPS/SPS/PPS/スライスヘッダSHなどのヘッダ情報において外部（例えば符号化側や制御側等）から通知されるようにしてもよい。また、閾値THは、符号化側（例えば画像符号化装置１００）と復号側（例えば、後述する画像復号装置２００）との間で予め取り決めておき、符号化側から復号側への通知（閾値THの、符号化側から復号側への伝送）を省略するようにしてもよい。
【０１７２】
式（２６）において、例えば、変換係数の非ゼロ係数数numSigInSBKの値が閾値TH以下の場合、セカンダリ変換スキップフラグStSkipFlagの値が１に設定される。また、例えば、変換係数の非ゼロ係数数numSigInSBKの値が、閾値THより大きい場合、セカンダリ変換スキップフラグStSkipFlagの値が０に設定される。
【０１７３】
非ゼロ係数数判定部２４１は、導出したStSkipFlagをスイッチ２４２に供給する。
【０１７４】
スイッチ２４２は、サブブロック単位のセカンダリ変換係数Coeff_IQ、およびセカンダリ変換スキップフラグStSkipfFlagを入力とする。スイッチ２４２は、非ゼロ係数数判定部２４１から供給されるセカンダリ変換スキップフラグStSkipFlagに応じて、逆セカンダリ変換のスキップを制御する。
【０１７５】
例えば、セカンダリ変換スキップフラグStSkipFlagの値が０の場合、すなわち、セカンダリ変換スキップStSkipFlagにおいて、セカンダリ変換の実行が示されている場合、スイッチ２４２は、セカンダリ変換を実行させる。すなわち、スイッチ２４２は、逆量子化部２１２から供給されるセカンダリ変換係数Coeff_IQをラスタライズ部２４３に供給する。また、例えば、セカンダリ変換スキップフラグStSkipFlagの値が１の場合、すなわち、セカンダリ変換スキップStSkipFlagにおいて、逆セカンダリ変換のスキップが示されている場合、スイッチ２４２は、逆セカンダリ変換をスキップさせる。すなわち、スイッチ２４２は、逆量子化部２１２から供給されるセカンダリ変換係数Coeff_IQをプライマリ変換係数Coeff_ISとして、逆プライマリ変換部２３２に供給する。
【０１７６】
ラスタライズ部２４３は、復号部２１１から供給されるスキャン識別子scanIdxによって指定される変換係数のスキャン方法に基づいて、サブブロック（４×４サブブロック）毎に、スイッチ２４２から供給される変換係数Coeff_IQを１次元のベクトルX1dに変換する。ラスタライズ部２４３は、得られた１次元のベクトルX1dを行列演算部２４４に供給する。
【０１７７】
逆セカンダリ変換選択部２４７は、復号部２１１から供給される、逆セカンダリ変換の内容に関する情報であるセカンダリ変換識別子st_idxにより指定される逆セカンダリ変換の行列IR（＝ＲＴ）を、逆セカンダリ変換選択部２４７の内部メモリ（不図示）より読み出し、行列演算部２４４に供給する。例えば、逆セカンダリ変換選択部２４７は、あるセカンダリ変換識別子st_idxの値のとき、逆セカンダリ変換の行列IRとして、図１０に示される１６×１６の行列Ｒの転置行列ＲＴを読み出し、それを行列演算部２４４に供給する。
【０１７８】
なお、逆セカンダリ変換選択部２４７が、例えば、復号部２１１から供給されるセカンダリ変換識別子st_idxやイントラ予測モード情報IPinfo（例えば、イントラ予測モード番号）に応じて、逆セカンダリ変換の行列IR（＝ＲＴ）を選択するようにしてもよい。また、イントラ予測モード情報IPinfoの代わりに、動き予測情報MVinfoとセカンダリ変換識別子st_idxに応じて、逆変換IRが選択されるようにしてもよい。
【０１７９】
行列演算部２４４は、サブブロック（４×４サブブロック）毎に、１次元のベクトルX1dおよび逆セカンダリ変換の行列IR（＝ＲＴ）の行列を用いて、以下の式（２７）に示されるような行列演算を行い、その結果として１次元のベクトルY1dを導出する。ここで、演算子"・"は、行列同士の内積（行列積）を行う操作を表し、演算子"T"は、転置行列の操作を表す。行列演算部２４４は、導出した１次元のベクトルY1dをスケーリング部２４５に供給する。
【０１８０】
Y1dT＝IR・X1dT＝ＲＴ・X1dT
・・・（２７）
【０１８１】
スケーリング部２４５は、サブブロック（４×４サブブロック）毎に、行列演算部２４４から供給される１次元のベクトルY1dのノルムを正規化するために、以下の式（２８）に示されるよなＮ（Ｎは自然数）ビットのビットシフト演算を１次元のベクトルY1dのすべての要素に対して行い、ビットシフト後の１次元のベクトルZ1dを求める。
【０１８２】
Z1d＝（Y1d）>>Ｎ
・・・（２８）
【０１８３】
なお、以下の式（２９）に示されるように、Ｎビットのシフト演算前に、オフセットとして、1<<（N-1）の値が、１次元のベクトルZ1dの各要素に加算されるようにしてもよい。なお、式（２９）において、ベクトルＥは、すべての要素の値が１の１次元のベクトルである。
【０１８４】
Z1d＝（Y1d＋（（N-1）<<1)・E）>>Ｎ
・・・（２９）
【０１８５】
例えば、逆セカンダリ変換の行列IR（＝ＲＴ）の行列は、図１０に示されるセカンダリ変換の行列Ｒの転置行列であり、８ビットスケーリングされた行列であるため、スケーリング部２４５において、ノルムの正規化に用いられるＮの値は８である。一般的に、逆セカンダリ変換の行列IR（＝ＲＴ）が、Ｎビットスケーリングされている場合、ノルム正規化のビットシフト量は、Ｎビットである。スケーリング部２４５は、以上のようにして得られたノルム正規化後の１次元のベクトルZ1dを行列化部２４６に供給する。
【０１８６】
行列化部２４６は、サブブロック（４×４サブブロック）毎に、ノルム正規化後の１次元のベクトルZ1dおよびスキャン識別子scanIdxを入力とし、復号部２１１から供給されるスキャン識別子scanIdxによって指定されるスキャン方法に基づいて、スケーリング部２４５から供給される１次元のベクトルZ1dを４×４行列のプライマリ変換係数Coeff_ISに変換する。行列化部２４６は、得られたプライマリ変換係数Coeff_ISを逆プライマリ変換部２３２に供給する。
【０１８７】
以上のように、非ゼロ係数数判定部２４１がサブブロック毎の非ゼロ係数の数に基づいて、セカンダリ変換スキップフラグStSkipFlagを設定し、スイッチ２４２が、そのセカンダリ変換スキップフラグStSkipFlagに基づいて、セカンダリ変換のスキップを制御する。このようにすることにより、非ゼロ係数が疎なサブブロックに対するセカンダリ変換をスキップさせることができるようになるので、エナジーコンパクションの低下を抑制し、符号化効率の低減を抑制することができる。
【０１８８】
＜画像復号処理の流れ＞
次に、以上のような画像復号装置２００により実行される各処理の流れについて説明する。最初に、図１５のフローチャートを参照して、画像復号処理の流れの例を説明する。
【０１８９】
画像復号処理が開始されると、ステップＳ２０１において、復号部２１１は、画像復号装置２００に供給されるビットストリーム（符号化データ）を復号し、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、量子化変換係数レベルlevel等の情報を得る。
【０１９０】
ステップＳ２０２において、逆量子化部２１２は、ステップＳ２０１の処理により得られた量子化変換係数レベルlevelを逆量子化して変換係数Coeff_IQを導出する。この逆量子化は、画像符号化処理のステップＳ１０５（図１１）において行われる量子化の逆処理であり、画像符号化処理のステップＳ１０６（図１１）において行われる逆量子化と同様の処理である。
【０１９１】
ステップＳ２０３において、逆変換部２１３は、ステップＳ２０２の処理により得られた変換係数Coeff_IQを逆変換し、予測残差Ｄ'を導出する。この逆変換は、画像符号化処理のステップＳ１０４（図１１）において行われる変換処理の逆処理であり、画像符号化処理のステップＳ１０７（図１１）において行われる逆変換と同様の処理である。
【０１９２】
ステップＳ２０４において、予測部２１６は、予測モード情報PInfoに基づいて、符号化の際の予測と同一の予測モードで予測を行い、予測画像生成する。
【０１９３】
ステップＳ２０５において、演算部２１４は、ステップＳ２０３の処理により得られた予測残差Ｄ’に、ステップＳ２０４の処理により得られた予測画像を加算し、復号画像を得る。
【０１９４】
ステップＳ２０５の処理が終了すると、画像復号処理が終了される。
【０１９５】
＜逆変換処理の流れ＞
次に、図１５のステップＳ２０３において実行される逆変換処理の流れの例を、図１６のフローチャートを参照して説明する。
【０１９６】
逆変換処理が開始されると、ステップＳ２２１において、逆セカンダリ変換部２３１（スイッチ２４２）は、セカンダリ変換識別子st_idxが逆セカンダリ変換を適用するか否か（st_idx>0）を判定する。セカンダリ変換識別子st_idxが０である（セカンダリ変換識別子st_idxが逆セカンダリ変換のスキップを示す）と判定された場合、逆セカンダリ変換（ステップＳ２２２乃至ステップＳ２３０の処理）がスキップされ、処理はステップＳ２３１に進む。つまり、逆セカンダリ変換部２３１（スイッチ２４２）は、図１５のステップＳ２０２の処理により得られたセカンダリ変換係数Coeff_IQをプライマリ変換係数Coeff_ISとして、逆プライマリ変換部２３２に供給する。
【０１９７】
また、ステップＳ２２１において、セカンダリ変換識別子st_idxが０より大きい（セカンダリ変換識別子st_idxが逆セカンダリ変換の実行を示す）と判定された場合、処理はステップＳ２２２に進む。
【０１９８】
ステップＳ２２２において、逆セカンダリ変換選択部２４７は、セカンダリ変換識別子st_idxにより指定される逆セカンダリ変換の行列IRを選択する。
【０１９９】
ステップＳ２２３において、逆セカンダリ変換部２３１は、処理対象の変換ブロックに含まれる未処理のサブブロックを選択する。
【０２００】
ステップＳ２２４において、非ゼロ係数数判定部２４１は、上述したように、図１５のステップＳ２０２の処理により得られたサブブロック単位のセカンダリ変換係数Coeff_IQに基づいて変換係数の非ゼロ係数数numSigInSBKを導出し、さらにその変換係数の非ゼロ係数数numSigInSBKおよび閾値THを用いてセカンダリ変換スキップフラグStSkipFlagを導出する。
【０２０１】
ステップＳ２２５において、スイッチ２４２は、ステップＳ２２４の処理により得られたセカンダリ変換スキップフラグStSkipFlagが逆セカンダリ変換のスキップを示すか否かを判定する。セカンダリ変換の実行を示す、すなわち、セカンダリ変換スキップフラグStSkipFlagの値が０であると判定された場合、処理はステップＳ２２６に進む。
【０２０２】
ステップＳ２２６において、ラスタライズ部２４３は、スキャン識別子scanIdxにより指定されるスキャン方法に基づいて、図１５のステップＳ２０２の処理により得られたセカンダリ変換係数Coeff_IQを１次元のベクトルX1dに変換する。
【０２０３】
ステップＳ２２７において、行列演算部２４４は、その１次元のベクトルX1dと、ステップＳ２２２の処理により得られた逆セカンダリ変換の行列IRとの行列積を演算し、１次元のベクトルY1dを求める。
【０２０４】
ステップＳ２２８において、スケーリング部２４５は、その１次元のベクトルY1dのノルムを正規化し、１次元のベクトルZ1dを求める。
【０２０５】
ステップＳ２２９において、行列化部２４６は、スキャン識別子scanIdxにより指定されるスキャン方法に基づいて、その１次元のベクトルZ1dを４×４の行列へ変換し、処理対象のサブブロックのプライマリ変換係数Coeff_ISを求める。ステップＳ２２９の処理が終了すると、処理はステップＳ２３０に進む。また、ステップＳ２２５において、逆セカンダリ変換のスキップを示す、すなわち、セカンダリ変換スキップフラグStSkipFlagの値が１の場合、処理はステップＳ２３０に進む。
【０２０６】
ステップＳ２３０において、逆セカンダリ変換部２３１は、処理対象の変換ブロックの全てのサブブロックを処理したか否かを判定する。未処理のサブブロックが存在すると判定された場合、処理はステップＳ２２３に戻り、それ以降の処理を繰り返す。つまり、処理対象の変換ブロックの各サブブロックについて、ステップＳ２２３乃至ステップＳ２３０の各処理（逆セカンダリ変換）が実行される。ステップＳ２３０において、全てのサブブロックを処理した（全てのサブブロックの逆セカンダリ変換の実行またはスキップを行った）と判定された場合、処理はステップＳ２３１に進む。
【０２０７】
ステップＳ２３１において、逆プライマリ変換部２３２は、プライマリ変換識別子pt_idxに基づいて、プライマリ変換係数Coeff_ISに対する逆プライマリ変換を行い、予測残差Ｄ’を導出する。この予測残差Ｄ’は、演算部２１４に供給される。
【０２０８】
ステップＳ２３１の処理が終了すると、逆変換処理が終了し、処理は図１５に戻る。
【０２０９】
なお、以上の逆変換処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ２２１においてセカンダリ変換識別子st_idxが０であると判定された場合、１６×１６の単位行列が逆セカンダリ変換の行列IRとして選択され、ステップＳ２２２乃至ステップＳ２３０の各処理が実行されるようにしてもよい。
【０２１０】
以上のように各処理を実行することにより、サブブロック単位で、逆セカンダリ変換のスキップ（実行）を制御することができる。従って、非ゼロ係数が疎な残差信号に対して、エナジーコンパクションの低下を抑制することができる。すなわち、符号化効率の低減を抑制することができる。換言するに、符号化効率の低減を抑制しながら、復号（逆セカンダリ変換）の負荷の増大を抑制することができる。
【０２１１】
なお、以上においては、（逆）セカンダリ変換のスキップをサブブロック毎に制御するように説明したが、サブブロック毎に行うスキップの制御は、（逆）セカンダリ変換だけでなく、任意の変換処理に適用することができる。
【０２１２】
＜２．第２の実施の形態＞
＜スキャン方法を用いたセカンダリ変換の選択＞
ところで、非特許文献１および非特許文献２のいずれに記載の方法においても、セカンダリ変換は、イントラ予測モードのクラス数と各クラスに対応するセカンダリ変換の数だけ、セカンダリ変換の行列を有していた。そのため、セカンダリ変換の行列を保持するために巨大なメモリサイズが必要であった。例えば、非特許文献１に記載の方法の場合、イントラ予測モードのクラス数が12であり、各クラスに対するセカンダリ変換の数が 3であるので、12*3 = 36の行列が存在していた。また、非特許文献２に記載の方法の場合、イントラ予測モードのクラス数が35であり、各クラスに対するセカンダリ変換の数=が5であるので、35*5 = 175の行列が存在していた。
【０２１３】
したがって、例えば、各行列の要素を9bit精度で保持する場合、非特許文献１に記載の方法の場合、以下の式（３０）に示されるようなメモリサイズが必要になることになる。また、非特許文献２に記載の方法の場合、以下の式（３１）に示されるようなメモリサイズが必要になることになる。
【０２１４】
メモリサイズ = 9bit * 16*16 * 36 = 829944 (bits) = 10368 (bytes) = 10.125 (KB)
・・・（３０）
メモリサイズ = 9bit * 16*16 * 175 = 403200 (bits) = 50400 (bytes) = 49.21875 (KB)
・・・（３１）
【０２１５】
このように、保持する（逆）セカンダリ変換の行列のデータ量が増大すると、符号化・復号の負荷が増大するおそれがあった。また、必要とするメモリサイズも増大するため、コストが増大するおそれがあった。
【０２１６】
そこで、セカンダリ変換の行列Ｒや逆セカンダリ変換の行列IRを、セカンダリ変換識別子とスキャン識別子とに基づいて設定するようにする。すなわち、イントラ予測モードの方向と、スキャン方法とが対応している点に着目し、イントラ予測モードのクラス分類を、スキャン方法に関する情報であるスキャン識別子（scanIdx）に置き換える。図１７には、イントラ予測モードとスキャン識別子（scanIdx）との対応関係の例が示されている。
【０２１７】
スキャン識別子（scanIdx）の各値に対応するセカンダリ変換は５種類である。これはセカンダリ変換識別子（st_idx）毎に割り当てるためである。したがって、この場合、セカンダリ変換の総数は、3×5 = 15となる。つまり、上述の非特許文献１や非特許文献２に記載の方法に比べてセカンダリ変換の数を低減することができる。そして、9bit精度の場合、全セカンダリ変換の保持に必要なメモリサイズは、以下の式（３２）のようになる。
【０２１８】
メモリサイズ = 9bit * 16 * 16 = 15 = 34560 (bits) = 4320 (bytes) = 4.21875 (KB)
・・・（３２）
【０２１９】
したがって、上述の式（３０）や（３１）の場合（非特許文献１や非特許文献２に記載の方法の場合）と比べて、セカンダリ変換の行列のデータ量を大幅に低減することができる。これにより、符号化・復号の負荷の増大を抑制し、（逆）セカンダリ変換の行列の保持に必要なメモリサイズの増大を抑制することができる。
【０２２０】
＜変換部＞
この場合も画像符号化装置１００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像符号化装置１００は、変換係数に対する変換処理の行列を、その変換処理の内容とスキャン方法とに基づいて設定する設定部と、画像とその画像の予測画像との差分である予測残差が変換処理されて得られる変換係数を１次元のベクトルに変換するラスタライズ部と、その設定部により設定された行列を用いて、その１次元のベクトルに対する行列演算を行う行列演算部と、その行列演算が行われた１次元のベクトルに対してスケーリングを行うスケーリング部と、そのスケーリングされた１次元のベクトルを行列化する行列化部とを備える。つまり、この場合の変換部１１２は、変換係数に対する変換処理の行列を、その変換処理の内容とスキャン方法とに基づいて設定し、画像とその画像の予測画像との差分である予測残差が変換処理されて得られる変換係数を１次元のベクトルに変換し、その設定された行列を用いて、その１次元のベクトルに対する行列演算を行い、その行列演算が行われた１次元のベクトルに対してスケーリングを行い、そのスケーリングされた１次元のベクトルを行列化するようにする。
【０２２１】
図１８は、この場合の変換部１１２の主な構成例を示すブロック図である。図１８に示されるように、この場合も変換部１１２は、基本的に第１の実施の形態の場合（図８）と同様の構成を有する。ただし、この場合のセカンダリ変換部１３２は、量子化部１４６乃至スイッチ１４８を省略することができ、また、セカンダリ変換選択部１４５の代わりにセカンダリ変換選択部３０１を有する。
【０２２２】
セカンダリ変換選択部３０１は、セカンダリ変換識別子st_idx、及びスキャン識別子scanIdxを入力とする。セカンダリ変換選択部３０１は、入力されたセカンダリ変換識別子st_idxおよびスキャン識別子scanIdxに基づいて、セカンダリ変換の行列Ｒを選択し、行列演算部１４２に供給する。
【０２２３】
＜セカンダリ変換選択部＞
図１９は、セカンダリ変換選択部３０１の主な構成例を示すブロック図である。図１９に示されるように、セカンダリ変換選択部３０１は、セカンダリ変換導出部３１１およびセカンダリ変換保持部３１２を有する。
【０２２４】
セカンダリ変換導出部３１１は、セカンダリ変換識別子st_idxおよびスキャン識別子scanIdxを入力とする。セカンダリ変換導出部３１１は、入力されたセカンダリ変換識別子st_idxおよびスキャン識別子scanIdxに基づいて、セカンダリ変換保持部３１２に格納されているセカンダリ変換行列テーブルLIST_FwdST[][]より、該当するセカンダリ変換の行列Ｒを以下の式（３３）のように読み出し、外部へ出力する。ここで、逆セカンダリ変換行列テーブルLIST_FwdST[][]には、スキャン識別子scanIdxとセカンダリ変換識別子st_idx毎に対応するセカンダリ変換の行列Ｒが格納されている。
【０２２５】
R = LIST_FwdST[ scanIdx ][ st_idx ]
・・・（３３）
【０２２６】
セカンダリ変換保持部３１２は、スキャン識別子scanIdxとセカンダリ変換識別子st_idx毎に対応するセカンダリ変換の行列Ｒが格納されたセカンダリ変換行列テーブルLIST_FwdST[][]を保持している。セカンダリ変換導出部３１１の指示に基づいて、該当するセカンダリ変換の行列Ｒをセカンダリ変換導出部３１１に供給する。
【０２２７】
＜変換処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。この場合画像符号化装置１００は、画像符号化処理を、第１の実施の形態の場合（図１１）と基本的に同様に行う。この場合の変換処理の流れの例を、図２０のフローチャートを参照して説明する。
【０２２８】
変換処理が開始されると、ステップＳ３０１およびステップＳ３０２の各処理は、図１２のステップＳ１２１およびステップＳ１２２の各処理と同様に実行される。つまり、セカンダリ変換識別子st_idxが０である（セカンダリ変換のスキップを示す）と判定された場合、セカンダリ変換（ステップＳ３０３乃至ステップＳ３０９の処理）がスキップされ、変換処理が終了し、処理は図１１に戻る。すなわち、セカンダリ変換部１３２は、プライマリ変換係数Coeff_Pを変換係数Coeffとして量子化部１１３に供給する。
【０２２９】
また、ステップＳ３０２において、セカンダリ変換識別子st_idxが０より大きい（セカンダリ変換の実行を示す）と判定された場合、処理はステップＳ３０３に進む。
【０２３０】
ステップＳ３０３において、セカンダリ変換選択部３０１は、セカンダリ変換識別子st_idxとスキャン識別子scanIdxとに対応するセカンダリ変換の行列Ｒを選択する。つまり、セカンダリ変換導出部３１１は、セカンダリ変換保持部３１２に保持されているセカンダリ変換行列テーブルよりセカンダリ変換識別子st_idxとスキャン識別子scanIdxとに対応するセカンダリ変換の行列Ｒを読み出して選択する。
【０２３１】
ステップＳ３０４乃至ステップＳ３０９の各処理は、図１２のステップＳ１２４乃至ステップＳ１２８、並びに、ステップＳ１３４の各処理と同様に実行される。つまり、ステップＳ３０４乃至ステップＳ３０９の各処理がサブブロック毎に行われることにより、サブブロック毎にセカンダリ変換が行われる。そして、ステップＳ３０９において、全てのサブブロックを処理したと判定された場合、変換処理が終了し、処理は図１１に戻る。
【０２３２】
なお、変換処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ３０２においてセカンダリ変換識別子st_idx＝０であると判定された場合、１６×１６の単位行列がセカンダリ変換の行列Ｒとして選択され、ステップＳ３０４乃至ステップＳ３０９の各処理が実行されるようにしてもよい。
【０２３３】
以上のように各処理を実行することにより、セカンダリ変換識別子st_idxおよびスキャン識別子scanIdxに基づいてセカンダリ変換の行列Ｒを選択することができる。したがって、セカンダリ変換の行列のデータ量を大幅に低減することができる。これにより、符号化の負荷の増大を抑制し、セカンダリ変換の行列の保持に必要なメモリサイズの増大を抑制することができる。
【０２３４】
＜逆変換部＞
次に画像復号装置２００について説明する。この場合も画像復号装置２００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像復号装置２００は、変換係数に対する逆変換処理の行列を、その逆変換処理の内容とスキャン方法とに基づいて設定する設定部と、逆変換処理することにより画像とその画像の予測画像との差分である予測残差が得られる変換係数を１次元のベクトルに変換するラスタライズ部と、その設定部により設定された行列を用いて、その１次元のベクトルに対する行列演算を行う行列演算部と、その行列演算が行われた１次元のベクトルに対してスケーリングを行うスケーリング部と、そのスケーリングされた１次元のベクトルを行列化する行列化部とを備える。つまり、逆変換部２１３は、変換係数に対する逆変換処理の行列を、その逆変換処理の内容とスキャン方法とに基づいて設定し、逆変換処理することにより画像とその画像の予測画像との差分である予測残差が得られる変換係数を１次元のベクトルに変換し、その設定された行列を用いて、その１次元のベクトルに対する行列演算を行い、その行列演算が行われた１次元のベクトルに対してスケーリングを行い、そのスケーリングされた１次元のベクトルを行列化する。
【０２３５】
図２１は、この場合の逆変換部２１３の主な構成例を示すブロック図である。図２１に示されるように、この場合も逆変換部２１３は、基本的に第１の実施の形態の場合（図１４）と同様の構成を有する。ただし、この場合の逆セカンダリ変換部２３１は、非ゼロ係数数判定部２４１およびスイッチ２４２を省略することができ、また、逆セカンダリ変換選択部２４７の代わりに逆セカンダリ変換選択部３２１を有する。
【０２３６】
逆セカンダリ変換選択部３２１は、セカンダリ変換識別子st_idxおよびスキャン識別子scanIdxを入力とする。逆セカンダリ変換選択部３２１は、入力されたセカンダリ変換識別子st_idxおよびスキャン識別子scanIdxに基づいて、逆セカンダリ変換の行列IRを選択し、行列演算部２４４に供給する。
【０２３７】
＜逆セカンダリ変換選択部＞
図２２は、逆セカンダリ変換選択部３２１の主な構成例を示すブロック図である。図２２に示されるように、逆セカンダリ変換選択部３２１は、逆セカンダリ変換導出部３３１および逆セカンダリ変換保持部３３２を有する。
【０２３８】
逆セカンダリ変換導出部３３１は、セカンダリ変換識別子st_idxおよびスキャン識別子scanIdxを入力とする。逆セカンダリ変換導出部３３１は、入力されたセカンダリ変換識別子st_idxおよびスキャン識別子scanIdxに基づいて、逆セカンダリ変換保持部３３２に格納されている逆セカンダリ変換行列テーブルLIST_InvST[][]より、該当する逆セカンダリ変換の行列IR(=RT)を以下の式（３４）のように読み出し、外部へ出力する。ここで、逆セカンダリ変換行列テーブルLIST_InvST[][]には、スキャン識別子scanIdxとセカンダリ変換識別子st_idx毎に対応する逆セカンダリ変換の行列IRが格納されている。
【０２３９】
IR = LIST_InvST[ scanIdx ][ st_idx ]
・・・（３４）
【０２４０】
逆セカンダリ変換保持部３３２は、スキャン識別子scanIdxとセカンダリ変換識別子st_idx毎に対応する逆セカンダリ変換の行列IRが格納された逆セカンダリ変換行列テーブルLIST_InvST[][]を保持している。逆セカンダリ変換保持部３３２は、逆セカンダリ変換導出部３３１の指示に基づいて、該当する逆セカンダリ変換の行列IR(=RT)を逆セカンダリ変換導出部３３１に供給する。
【０２４１】
＜逆変換処理の流れ＞
次に、画像復号装置２００により実行される各処理の流れの例を説明する。この場合画像復号装置２００は、画像復号処理を、第１の実施の形態の場合（図１５）と基本的に同様に行う。この場合の逆変換処理の流れの例を、図２３のフローチャートを参照して説明する。
【０２４２】
逆変換処理が開始されると、ステップＳ３２１において、逆セカンダリ変換部２３１は、セカンダリ変換識別子st_idxが逆セカンダリ変換を適用するか否か（st_idx>0）を判定する。セカンダリ変換識別子st_idxが０である（セカンダリ変換識別子st_idxが逆セカンダリ変換のスキップを示す）と判定された場合、逆セカンダリ変換（ステップＳ３２２乃至ステップＳ３２８の処理）がスキップされ、処理はステップＳ３２９に進む。つまり、逆セカンダリ変換部２３１は、図１５のステップＳ２０２の処理により得られたセカンダリ変換係数Coeff_IQをプライマリ変換係数Coeff_ISとして、逆プライマリ変換部２３２に供給する。
【０２４３】
また、ステップＳ３２１において、セカンダリ変換識別子st_idxが０より大きい（セカンダリ変換識別子st_idxが逆セカンダリ変換の実行を示す）と判定された場合、処理はステップＳ３２２に進む。
【０２４４】
ステップＳ３２２において、逆セカンダリ変換選択部３２１は、セカンダリ変換識別子st_idxおよびスキャン識別子scanIdxに対応する逆セカンダリ変換の行列IRを選択する。つまり、逆セカンダリ変換導出部３３１は、逆セカンダリ変換保持部３３２に保持されている逆セカンダリ変換行列テーブルよりセカンダリ変換識別子st_idxとスキャン識別子scanIdxとに対応する逆セカンダリ変換の行列IRを読み出して選択する。
【０２４５】
ステップＳ３２３において、逆セカンダリ変換部２３１は、処理対象の変換ブロックに含まれる未処理のサブブロックを選択する。
【０２４６】
ステップＳ３２４乃至ステップＳ３２８の各処理は、図１６のステップＳ２２６乃至ステップＳ２３０の各処理と同様に実行される。つまり、ステップＳ３２３乃至ステップＳ３２８の各処理がサブブロック毎に行われることにより、サブブロック毎にセカンダリ変換が行われる。そして、ステップＳ３２８において、全てのサブブロックを処理したと判定された場合、処理はステップＳ３２９に進む。
【０２４７】
ステップＳ３２９において、逆プライマリ変換部２３２は、プライマリ変換識別子pt_idxに基づいて、プライマリ変換係数Coeff_ISに対する逆プライマリ変換を行い、予測残差Ｄ'を導出する。この予測残差Ｄ'は、演算部２１４に供給される。
【０２４８】
ステップＳ２３１の処理が終了すると、逆変換処理が終了し、処理は図１５に戻る。
【０２４９】
なお、以上の逆変換処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ３２１においてセカンダリ変換識別子st_idxが０であると判定された場合、１６×１６の単位行列が逆セカンダリ変換の行列IRとして選択され、ステップＳ３２３乃至ステップＳ３２８の各処理が実行されるようにしてもよい。
【０２５０】
以上のように各処理を実行することにより、セカンダリ変換識別子st_idxおよびスキャン識別子scanIdxに基づいて逆セカンダリ変換の行列IRを選択することができる。したがって、逆セカンダリ変換の行列のデータ量を大幅に低減することができる。これにより、符号化・復号の負荷の増大を抑制し、（逆）セカンダリ変換の行列の保持に必要なメモリサイズの増大を抑制することができる。
【０２５１】
＜３．第３の実施の形態＞
＜帯域制限＞
非特許文献１には、変換ブロックサイズが64×64である場合、予測残差に対して１以上の直交変換を行った後に、左上の32×32の低周波成分以外の高周波数成分を強制的に０にするように帯域制限を行うことにより、デコーダの計算複雑度や実装コストを低減することが記載されている。
【０２５２】
図２４は、非特許文献１に記載の方法で、予測残差Ｄに対して、プライマリ変換、セカンダリ変換、および帯域制限を行う変換部の主な構成例を示すブロック図である。図２４に示されるように、変換部４００は、スイッチ４０１、プライマリ変換部４０２、セカンダリ変換部４０３、および帯域制限部４０４を有する。
【０２５３】
スイッチ４０１には、変換スキップフラグts_flag、変換量子化バイパスフラグtransquant_bypass_flag、および予測残差Ｄが入力される。変換スキップフラグts_flagは、対象とするデータ単位において、（逆）プライマリ変換および（逆）セカンダリ変換をスキップするか否かを示す情報である。例えば、この変換スキップフラグts_flagが１（真）である場合、（逆）プライマリ変換および（逆）セカンダリ変換がスキップされる。また、変換スキップフラグts_flagが０（偽）である場合、（逆）プライマリ変換および（逆）セカンダリ変換が実行される。
【０２５４】
また、変換量子化バイパスフラグtransquant_bypass_flagは、対象とするデータ単位において、（逆）プライマリ変換、（逆）セカンダリ変換、および（逆）量子化をスキップ（バイパス）するか否かを示す情報である。例えば、この変換量子化バイパスフラグtransquant_bypass _flagが１（真）である場合、（逆）プライマリ変換、（逆）セカンダリ変換、および（逆）量子化をがバイパスされる。また、変換量子化バイパスフラグtransquant_bypass _flagが０（偽）である場合、（逆）プライマリ変換、（逆）セカンダリ変換、および（逆）量子化がバイパスされない。
【０２５５】
スイッチ４０１は、変換スキップフラグts_flagと変換量子化バイパスフラグtransquant_bypass_flagに基づいて、予測残差Ｄに対するプライマリ変換およびセカンダリ変換のスキップを制御する。
【０２５６】
具体的には、変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが０である場合、スイッチ４０１は、予測残差Ｄをプライマリ変換部４０２に供給することにより、プライマリ変換およびセカンダリ変換を実行させる。一方、変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１である場合、スイッチ４０１は、予測残差Ｄをセカンダリ変換係数Coeffとして帯域制限部４０４に供給することにより、プライマリ変換およびセカンダリ変換をスキップさせる。
【０２５７】
プライマリ変換部４０２は、図８のプライマリ変換部１３１と同様に、プライマリ変換識別子pt_idxに基づいて予測残差Ｄに対するプライマリ変換を行い、プライマリ変換係数Coeff_Pを導出する。プライマリ変換識別子pt_idxは、対象とするデータ単位において、垂直方向および水平方向の（逆）プライマリ変換にどの（逆）プライマリ変換を適用するかを示す識別子である（例えば、JVET-B1001、2.5.1 Adaptive multiple Core transformを参照。JEM2ではemt_idxとも称する）。プライマリ変換部４０２は、プライマリ変換係数Coeff_Pをセカンダリ変換部４０３に供給する。
【０２５８】
セカンダリ変換部４０３は、セカンダリ変換識別子st_idxに基づいて、プライマリ変換部４０２から供給されるプライマリ変換係数Coeff_Pに対して、非特許文献１に記載の方法でセカンダリ変換を行い、セカンダリ変換係数Coeffを導出する。セカンダリ変換部４０３は、セカンダリ変換係数Coeffを帯域制限部４０４に供給する。
【０２５９】
帯域制限部４０４は、処理対象変換ブロックのブロックサイズTBSizeが64×64である場合、スイッチ４０１またはセカンダリ変換部４０３から供給されるセカンダリ変換係数Coeffに対して高周波成分を０にするように帯域制限を行い、帯域制限後のセカンダリ変換係数Coeff´を導出する。一方、帯域制限部４０４は、処理対象変換ブロックのブロックサイズTBSizeが64×64ではない場合、セカンダリ変換係数Coeffをそのまま帯域制限後のセカンダリ変換係数Coeff´とする。帯域制限部４０４は、帯域制限後のセカンダリ変換係数Coeff´を出力する。
【０２６０】
以上のように、図２４の変換部４００では、プライマリ変換およびセカンダリ変換がスキップされる場合であっても、ブロックサイズTBSizeが64×64である場合、帯域制限（ローパスフィルタ処理）が行われる。しかしながら、プライマリ変換およびセカンダリ変換がスキップされる場合、帯域制限部４０４に入力されるセカンダリ変換係数Coeffは、予測残差Ｄである。従って、帯域制限部４０４は、予測残差Ｄに対して帯域制限を行うことになり、帯域制限により歪みが増大する。
【０２６１】
例えば、64×64の変換ブロックの予測残差Ｄが図２５のＡに示す64×64の画像である場合、プライマリ変換およびセカンダリ変換がスキップされると、帯域制限部４０４には、図２５のＡに示す64×64の画像がセカンダリ変換係数Coeffとして入力される。従って、帯域制限部４０４が、高周波成分として変換ブロックの左上の32×32の変換係数以外の変換係数を０にするように帯域制限を行うと、帯域制限後のセカンダリ変換係数Coeff´は、図２５のＢに示す64×64の画像になる。よって、帯域制限後のセカンダリ変換係数Coeff´では歪みが増大する。その結果、符号化効率が低下する。また、ロスレス符号化を目的として変換量子化バイパスを行うにもかかわらず、ロスレス符号化を行うことができない。
【０２６２】
なお、図２５において、白色の領域は画素値が０である領域であり、黒色の領域は画素値が２５５である領域である。
【０２６３】
＜変換スキップまたは変換量子化バイパス時の帯域制限の禁止＞
第３の実施の形態では、セカンダリ変換係数Coeffに対する帯域制限を、変換スキップフラグts_flagおよび変換量子化バイパスフラグtransquant_bypass_flagに基づいて制御するようにする。また、逆量子化することにより得られるセカンダリ変換係数Coeff_IQに対する帯域制限を、変換スキップフラグts_flagおよび変換量子化バイパスフラグtransquant_bypass_flagに基づいて制御するようにする。具体的には、変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１である場合、（逆）プライマリ変換、（逆）セカンダリ変換、および帯域制限をスキップするようにする。
【０２６４】
このようにすることにより、予測残差Ｄであるセカンダリ変換係数Coeff（Coeff_IQ）、即ち画素領域のセカンダリ変換係数に対して帯域制限を適用することが禁止されので、歪の増大が抑制される。その結果、符号化効率の低減を抑制することができる。また、変換量子化バイパスを行うことにより、ロスレス符号化を行うことができる。
【０２６５】
＜画像符号化装置＞
本技術を適用した画像処理装置としての画像符号化装置の第３の実施の形態の構成は、変換情報Tinfo、変換部、および逆変換部の構成を除いて、図７の構成と同一である。従って、以下では、変換情報Tinfo、変換部、および逆変換部についてのみ説明する。
【０２６６】
第３の実施の形態では、変換情報Tinfoには、変換スキップフラグts_flag、変換量子化バイパスフラグtransquant_bypass_flag、プライマリ変換識別子pt_idx、セカンダリ変換識別子st_idx、およびブロックサイズTBSizeが含まれる。
【０２６７】
また、第３の実施の形態における逆変換部により行われる逆変換は、変換部により行われる変換の逆処理であり、後述する画像復号装置において行われる逆変換と同様の処理である。したがって、この逆変換については、画像復号装置に関する説明において後述する。
【０２６８】
＜変換部＞
図２６は、本技術を適用した画像処理装置としての画像符号化装置の第３の実施の形態における変換部の主な構成例を示すブロック図である。
【０２６９】
図２６に示す構成のうち、図２４の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２７０】
図２６の変換部４２０の構成は、スイッチ４０１、帯域制限部４０４の代わりに、スイッチ４２１、帯域制限部４２４が設けられる点が、図２４の変換部４００の構成と異なる。
【０２７１】
変換部４２０のスイッチ４２１には、変換スキップフラグts_flagと変換量子化バイパスフラグtransquant_bypass_flagが制御部１０１から供給され、予測残差Ｄが演算部１１１から供給される。スイッチ４２１は、変換スキップフラグts_flagおよび変換量子化バイパスフラグtransquant_bypass_flagに基づいて、予測残差Ｄに対するプライマリ変換、セカンダリ変換、および帯域制限のスキップを制御する。
【０２７２】
具体的には、変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが０である場合、スイッチ４２１は、予測残差Ｄをプライマリ変換部４０２に供給することにより、プライマリ変換、セカンダリ変換、および帯域制限を実行させる。一方、変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１である場合、スイッチ４２１(制御部)は、予測残差Ｄを帯域制限後のセカンダリ変換係数Coeff´として量子化部１１３に供給することにより、プライマリ変換、セカンダリ変換、および帯域制限をスキップさせる。
【０２７３】
帯域制限部４２４は、制御部１０１から供給されるブロックサイズTBSizeに基づいて、セカンダリ変換部４０３から出力されるセカンダリ変換係数Coeffに対して高周波成分を０にするように帯域制限を行い、帯域制限後のセカンダリ変換係数Coeff´を導出する。帯域制限部４２４は、帯域制限後のセカンダリ変換係数Coeff´を量子化部１１３に供給する。
【０２７４】
具体的には、帯域制限部４２４は、ブロックサイズTBSizeが所定のブロックサイズTH_TBSize未満である場合、セカンダリ変換係数Coeffに対して帯域制限を行わず、セカンダリ変換係数Coeffを帯域制限後のセカンダリ変換係数Coeff´として量子化部１１３に供給する。
【０２７５】
一方、帯域制限部４２４は、ブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上である場合、変換ブロック内の座標(i,j)ごとに、以下の式（３５）により、帯域制限フィルタH(i,j)とセカンダリ変換係数Coeff(i,j)を用いて、帯域制限後のセカンダリ変換係数Coeff(i,j)´を導出する。
【０２７６】
【数６】
2017195667.tif 000008
【０２７７】
なお、帯域制限フィルタH(i,j)は、以下の式（３６）で定義される。
【０２７８】
【数７】
2017195667.tif 000009
【０２７９】
また、TBXSize, TBYSizeは、それぞれ、処理対象変換ブロックの横幅のサイズ、縦幅のサイズである。式（３５）と式（３６）によれば、セカンダリ変換係数Coeff (i,j)´の高周波成分は０になる。帯域制限部４２４は、以上のようにして導出された帯域制限後のセカンダリ変換係数Coeff´を量子化部１１３に供給する。
【０２８０】
＜画像符号化処理の流れ＞
本技術を適用した画像処理装置としての画像符号化装置の第３の実施の形態により実行される画像符号化処理は、ステップＳ１０４の変換処理およびＳ１０７の逆変換処理を除いて、図１１の画像符号化処理と同様である。逆変換処理は、変換処理の逆処理であり、後述する画像復号処理において実行される逆変換処理と同様に実行されるので、ここでは、変換処理についてのみ説明する。
【０２８１】
＜変換処理の流れ＞
図２７は、本技術を適用した画像処理装置としての画像符号化装置の第３の実施の形態により実行される変換処理の流れの例を説明するフローチャートである。
【０２８２】
変換処理が開始されると、ステップＳ４０１において、スイッチ４２１は、制御部１０１から供給される変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１であるか否かを判定する。
【０２８３】
ステップＳ４０１で変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、スイッチ４２１は、プライマリ変換、セカンダリ変換、および帯域制限をスキップすると判定する。そして、スイッチ４２１は、ステップＳ４０２乃至Ｓ４０６の処理を行わず、演算部１１１から供給される予測残差Ｄを帯域制限後のセカンダリ変換係数Coeff´として量子化部１１３に供給し、処理を終了する。
【０２８４】
一方、ステップＳ４０１で変換スキップフラグts_flagと変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、スイッチ４２１は、プライマリ変換、セカンダリ変換、および帯域制限を実行すると判定する。そして、スイッチ４２１は、予測残差Ｄをプライマリ変換部４０２に供給し、処理をＳ４０２に進める。
【０２８５】
ステップＳ４０２において、プライマリ変換部４０２は、制御部１０１から供給されるプライマリ変換識別子pt_idxに基づいて、スイッチ４２１から供給される予測残差Ｄに対してプライマリ変換を行い、プライマリ変換係数Coeff_Pを導出する。プライマリ変換部４０２は、プライマリ変換係数Coeff_Pをセカンダリ変換部４０３に供給する。
【０２８６】
ステップＳ４０３において、セカンダリ変換部４０３は、セカンダリ変換識別子st_idxが０より大きいか否かを判定する。ステップＳ４０３でセカンダリ変換識別子st_idxが０より大きいと判定された場合、即ちセカンダリ変換識別子st_idxがセカンダリ変換の実行を示す場合、処理はステップＳ４０４に進む。
【０２８７】
ステップＳ４０４において、セカンダリ変換部４０３は、プライマリ変換係数Coeff_Pに対して、セカンダリ変換識別子st_idxに対応するセカンダリ変換を実行し、セカンダリ変換係数Coeffを導出する。セカンダリ変換部４０３は、セカンダリ変換係数Coeffを帯域制限部４２４に供給し、処理をステップＳ４０５に進める。
【０２８８】
一方、ステップＳ４０３でセカンダリ変換識別子st_idxが０より大きくはないと判定された場合、即ちセカンダリ変換識別子st_idxがセカンダリ変換のスキップを示す場合、セカンダリ変換部４０３は、ステップＳ４０４の処理をスキップする。そして、セカンダリ変換部４０３は、ステップＳ４０２の処理により得られたプライマリ変換係数Coeff_Pをセカンダリ変換係数Coeffとして帯域制限部４２４に供給し、処理をステップＳ４０５に進める。
【０２８９】
ステップＳ４０５において、帯域制限部４２４は、処理対象変換ブロックのブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上であるか否かを判定する。ステップＳ４０５でブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上であると判定された場合、処理はステップＳ４０６に進む。
【０２９０】
ステップＳ４０６において、帯域制限部４２４は、上述した式（３５）により、セカンダリ変換係数Coeffに対して、上述した式（３６）で定義される帯域制限フィルタHを適用して帯域制限を行い、帯域制限後のセカンダリ変換係数Coeff´を導出する。そして、帯域制限部４２４は、帯域制限後のセカンダリ変換係数Coeff´を量子化部１１３に供給し、処理を終了する。
【０２９１】
一方、ステップＳ４０５でブロックサイズTBSizeが所定のブロックサイズTH_TBSize未満であると判定された場合、帯域制限部４２４は、ステップＳ４０６の処理をスキップする。そして、帯域制限部４２４は、セカンダリ変換係数Coeffをそのまま帯域制限後のセカンダリ変換係数Coeff´として量子化部１１３に供給し、処理を終了する。
【０２９２】
なお、変換処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ４０３においてセカンダリ変換識別子st_idxが０より大きくはないと判定された場合、単位行列がセカンダリ変換の行列Ｒとして選択され、ステップＳ４０４の処理が実行されるようにしてもよい。
【０２９３】
以上のように、スイッチ４２１は、変換スキップまたは変換量子化バイパスが行われない場合、予測残差Ｄをプライマリ変換部４０２およびセカンダリ変換部４０３を介して帯域制限部４２４に供給する。これにより、帯域制限部４２４は、ブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上である場合、セカンダリ変換係数Coeffの高周波成分を０にするように帯域制限を行う。従って、この場合、画像符号化装置は、セカンダリ変換係数Coeffの低周波成分のみを符号化すれば済み、セカンダリ変換係数Coeffの符号化処理を削減することができる。
【０２９４】
また、スイッチ４２１は、変換スキップまたは変換量子化バイパスが行われる場合、予測残差Ｄを帯域制限部４２４に供給しない。これにより、帯域制限部４２４は、ブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上であっても、予測残差Ｄであるセカンダリ変換係数Coeffに対しては帯域制限を行わない。即ち、変換スキップまたは変換量子化バイパスが行われる場合、帯域制限もスキップされる。従って、変換スキップまたは変換量子化バイパスが行われる場合にも帯域制限が行われる場合に比べて、変換スキップまたは変換量子化バイパスが行われ、ブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上であるときの歪の増大を防止することができる。その結果、符号化効率の低減を抑制する、即ち符号化効率を改善することができる。また、変換量子化バイパスを行うことにより、ロスレス符号化を行うことができる。
【０２９５】
＜画像復号装置＞
次に、以上のように符号化された符号化データの復号について説明する。本技術を適用した画像処理装置としての画像復号装置の第３の実施の形態の構成は、変換情報Tinfoと逆変換部の構成を除いて、図１３の構成と同一である。変換情報Tinfoについては上述したため、以下では、逆変換部についてのみ説明する。
【０２９６】
＜逆変換部＞
図２８は、本技術を適用した画像処理装置としての画像復号装置の第３の実施の形態における逆変換部の主な構成例を示すブロック図である。
【０２９７】
図２８に示されるように、逆変換部４４０は、スイッチ４４１、帯域制限部４４２、逆セカンダリ変換部４４３、および逆プライマリ変換部４４４を有する。
【０２９８】
スイッチ４４１には、復号部２１１から変換スキップフラグts_flagと変換量子化バイパスフラグtransquant_bypass_flagが供給され、逆量子化部２１２からセカンダリ変換係数Coeff_IQが供給される。スイッチ４４１は、変換スキップフラグts_flagと変換量子化バイパスフラグtransquant_bypass_flagに基づいて、セカンダリ変換係数Coeff_IQに対する帯域制限、逆セカンダリ変換、および逆プライマリ変換のスキップを制御する。
【０２９９】
具体的には、変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが０である場合、スイッチ４４１は、セカンダリ変換係数Coeff_IQを帯域制限部４４２に供給することにより、帯域制限、逆セカンダリ変換、および逆プライマリ変換を実行させる。一方、変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１である場合、スイッチ４４１（制御部）は、セカンダリ変換係数Coeff_IQを予測残差Ｄ´として演算部２１４に供給することにより、帯域制限、逆セカンダリ変換、および逆プライマリ変換をスキップさせる。
【０３００】
帯域制限部４４２は、復号部２１１から供給される処理対象変換ブロックのブロックサイズTBSizeに基づいて、スイッチ４４１から供給されるセカンダリ変換係数Coeff_IQに対して高周波成分を０にするように帯域制限を行い、帯域制限後のセカンダリ変換係数Coeff_IQ´を導出する。帯域制限部４４２は、帯域制限後のセカンダリ変換係数Coeff_IQ´を、逆セカンダリ変換部４４３に供給する。
【０３０１】
具体的には、帯域制限部４４２は、ブロックサイズTBSizeが所定のブロックサイズTH_TBSize未満である場合、セカンダリ変換係数Coeff_IQに対して帯域制限を行わず、セカンダリ変換係数Coeff_IQを帯域制限後のセカンダリ変換係数Coeff_IQ´として逆セカンダリ変換部４４３に供給する。
【０３０２】
一方、帯域制限部４４２は、ブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上である場合、上述した式（３５）に示す帯域制限フィルタHをセカンダリ変換係数Coeff_IQに対して適用し、セカンダリ変換係数Coeff_IQ(i,j)´を導出する。
【０３０３】
即ち、帯域制限部４４２は、変換ブロック内の座標(i,j)ごとに、以下の式（３７）により、帯域制限フィルタH(i,j)とセカンダリ変換係数Coeff_IQ(i,j)を用いて、帯域制限後のセカンダリ変換係数Coeff_IQ(i,j)´を導出する。
【０３０４】
【数８】
2017195667.tif 000010
【０３０５】
式（３７）によれば、セカンダリ変換係数Coeff_IQ(i,j)´の高周波成分は０になる。帯域制限部４４２は、以上のようにして導出された帯域制限後のセカンダリ変換係数Coeff_IQ´を逆セカンダリ変換部４４３に供給する。
【０３０６】
逆セカンダリ変換部４４３は、復号部２１１から供給されるセカンダリ変換識別子st_idxに基づいて、帯域制限部４４２から供給される帯域制限後のセカンダリ変換係数Coeff_IQ´に対して逆セカンダリ変換を行い、プライマリ変換係数Coeff_ISを導出する。逆セカンダリ変換部４４３は、プライマリ変換係数Coeff_ISを逆プライマリ変換部４４４に供給する。
【０３０７】
逆プライマリ変換部４４４は、プライマリ変換識別子pt_idxに基づいて、逆セカンダリ変換部４４３から供給されるプライマリ変換係数Coeff_ISに対して、図１４の逆プライマリ変換部２３２と同様に逆プライマリ変換を実行し、予測残差Ｄ´を導出する。逆プライマリ変換部４４４は、導出した予測残差Ｄ´を演算部２１４に供給する。
【０３０８】
＜画像復号処理の流れ＞
本技術を適用した画像処理装置としての画像復号装置の第３の実施の形態により実行される画像復号処理は、ステップＳ２０３の逆変換処理を除いて、図１５の画像復号処理と同様であるので、以下では、逆変換処理についてのみ説明する。
【０３０９】
＜逆変換処理の流れ＞
図２９は、本技術を適用した画像処理装置としての画像復号装置の第３の実施の形態により実行される逆変換処理の流れの例を説明するフローチャートである。
【０３１０】
逆変換処理が開始されると、ステップＳ４２１において、スイッチ４４１は、復号部２１１から供給される変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１であるか否かを判定する。
【０３１１】
ステップＳ４２１で変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、スイッチ４４１は、帯域制限、逆セカンダリ変換、および逆プライマリ変換をスキップすると判定する。そして、スイッチ４４１は、ステップＳ４２２乃至Ｓ４２６の処理を行わず、逆量子化部２１２から供給されるセカンダリ変換係数Coeff_IQを予測残差Ｄ´として演算部２１４に供給し、処理を終了する。
【０３１２】
一方、ステップＳ４２１で変換スキップフラグts_flagと変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、スイッチ４４１は、帯域制限、逆セカンダリ変換、および逆プライマリ変換を実行すると判定する。そして、スイッチ４４１は、逆量子化部２１２から供給されるセカンダリ変換係数Coeff_IQを帯域制限部４４２に供給し、処理をステップＳ４２２に進める。
【０３１３】
ステップＳ４２２において、帯域制限部４４２は、処理対象変換ブロックのブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上であるか否かを判定する。ステップＳ４２２でブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上であると判定された場合、処理はステップＳ４２３に進む。
【０３１４】
ステップＳ４２３において、帯域制限部４４２は、セカンダリ変換係数Coeff_IQに対して帯域制限フィルタHを適用して帯域制限を行い、帯域制限後のセカンダリ変換係数Coeff_IQ´を導出する。そして、帯域制限部４２４は、帯域制限後のセカンダリ変換係数Coeff_IQ´を逆セカンダリ変換部４４３に供給し、処理をステップＳ４２４に進める。
【０３１５】
一方、ステップＳ４２２でブロックサイズTBSizeが所定のブロックサイズTH_TBSize未満であると判定された場合、帯域制限部４４２は、ステップＳ４２３の処理をスキップする。そして、帯域制限部４４２は、セカンダリ変換係数Coeff_IQをそのまま帯域制限後のセカンダリ変換係数Coeff_IQ´として逆セカンダリ変換部４４３に供給し、処理をステップＳ４２４に進める。
【０３１６】
ステップＳ４２４において、逆セカンダリ変換部４４３は、セカンダリ変換識別子st_idxが０より大きいか否かを判定する。ステップＳ４２４でセカンダリ変換識別子st_idxが０より大きいと判定された場合、即ちセカンダリ変換識別子st_idxが逆セカンダリ変換の実行を示す場合、処理はステップＳ４２５に進む。
【０３１７】
ステップＳ４２５において、逆セカンダリ変換部４４３は、帯域制限部４４２から供給される帯域制限後のセカンダリ変換係数Coeff_IQ´に対して、セカンダリ変換識別子st_idxに対応する逆セカンダリ変換を実行し、プライマリ変換係数Coeff_Pを導出する。逆セカンダリ変換部４４３は、プライマリ変換係数Coeff_Pを逆プライマリ変換部４４４に供給し、処理をステップＳ４２６に進める。
【０３１８】
一方、ステップＳ４２４でセカンダリ変換識別子st_idxが０より大きくはないと判定された場合、即ちセカンダリ変換識別子st_idxが逆セカンダリ変換のスキップを示す場合、逆セカンダリ変換部４４３は、ステップＳ４２５の処理をスキップする。そして、逆セカンダリ変換部４４３は、帯域制限後のセカンダリ変換係数Coeff_IQ´をプライマリ変換係数Coeff_ISとして逆プライマリ変換部４４４に供給し、処理をステップＳ４２６に進める。
【０３１９】
ステップＳ４２６において、逆プライマリ変換部４４４は、逆セカンダリ変換部４４３から供給されるプライマリ変換係数Coeff_ISに対して逆プライマリ変換を実行し、予測残差Ｄ’を導出して演算部２１４に供給する。そして、処理は終了する。
【０３２０】
なお、以上の逆変換処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ４２４においてセカンダリ変換識別子st_idxが０より大きくはないと判定された場合、単位行列が逆セカンダリ変換の行列IRとして選択され、ステップＳ４２５の処理が実行されるようにしてもよい。
【０３２１】
以上のように、スイッチ４４１は、逆変換スキップ、または、逆量子化と逆変換のスキップ（以下、逆量子化逆変換バイパスという）が行われない場合、セカンダリ変換係数Coeff_IQを帯域制限部４４２に供給する。これにより、帯域制限部４４２は、ブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上である場合、セカンダリ変換係数Coeff_IQの高周波成分を０にするように帯域制限を行う。従って、この場合、画像復号装置は、セカンダリ変換係数Coeff_IQの低周波成分のみを逆変換すれば済み、セカンダリ変換係数Coeff_IQの逆変換処理を削減することができる。
【０３２２】
また、スイッチ４４１は、変換スキップまたは逆量子化逆変換バイパスが行われる場合、セカンダリ変換係数Coeff_IQを帯域制限部４４２に供給しない。これにより、帯域制限部４４２は、ブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上であっても、予測残差であるセカンダリ変換係数Coeff_IQに対しては帯域制限を行わない。即ち、逆変換スキップまたは逆量子化逆変換バイパスが行われる場合、帯域制限もスキップされる。従って、変換スキップまたは変換量子化バイパスが行われる場合に帯域制限もスキップすることにより歪みの増大が防止された符号化データを復号することができる。その結果、符号化効率が改善された符号化データを復号することができる。また、変換量子化バイパスによりロスレス符号化された符号化データをロスレス復号することができる。
【０３２３】
なお、上述した説明では、画像復号装置の第３の実施の形態において帯域制限が行われたが、「ブロックサイズTBSizeが所定のブロックサイズTH_TBSize以上である場合に非ゼロ係数が左上の低周波数領域（(TH_TBSize>>1)×(TH_TBSize>>1)）内に制限される」というビットストリーム制約が設けられる場合、帯域制限は行われなくてもよい。このビットストリーム制約は、「変換スキップフラグts_flagおよび変換量子化バイパスフラグtransquant_bypass_flagが０であり、かつ、ブロックサイズTBSizeが所定のブロックサイズTH_TBSizeであるとき、変換ブロック内のラスト非ゼロ係数の位置を示すラスト非ゼロ係数X座標(last_sig_coeff_x_pos)およびラスト非ゼロ係数Y座標(last_sig_coeff_y_pos)の値は、0から(TH_TBSize/2)-1までの範囲内の値である」と表現することもできる。
【０３２４】
また、所定のブロックサイズTH_TBSizeは、64×64のほか、任意の値に設定することができる。
【０３２５】
さらに、第３の実施の形態におけるセカンダリ変換の方法は、非特許文献１に記載されている方法に限定されない。例えば、第１や第２の実施の形態における方法であってもよい。また、セカンダリ変換係数は、クリップして所定の範囲内に制限されるようにしてもよい。
【０３２６】
＜４．第４の実施の形態＞
＜CU,PU、およびTUの形状＞
図３０は、第４の実施の形態におけるCU,PU、およびTUの形状について説明する図である。
【０３２７】
第４の実施の形態におけるCU,PU、およびTUは、JVET-C0024, “EE2.1: Quadtree plus binary tree structure integration with JEM tools”に記載されているQTBT(Quad tree plus binary tree)のCU,PU、およびTUである。
【０３２８】
具体的には、第４の実施の形態におけるCUのブロック分割では、１つのブロックを４（=2x2）個だけでなく、２（=1x2,2x1）個のサブブロックにも分割することができる。即ち、第４の実施の形態では、CUのブロック分割は、１つのブロックを４個または２個のサブブロックへの分割を再帰的に繰り返すことにより行われ、結果として四分木（Quad-Tree）状または水平方向もしくは垂直方向の２分木（Binary-Tree）状のツリー構造が形成される。
【０３２９】
その結果、CUの形状は、正方形だけでなく、長方形である可能性がある。例えば、LCUサイズが128x128である場合、CUのサイズ（水平方向のサイズｗ×垂直方向のサイズｈ）は、図３０に示すように、128x128,64x64,32x32,16x16,8x8,4x4といった正方形のサイズだけでなく、128x64,128x32,128x16,128x8,128x4,64x128,32x128,16x128,8x128,4x128,64x32,64x16,64x8,64x4,32x64,16x64,8x64,4x64,32x16,32x8,32x4,16x32,8x32,4x32,16x8,16x4,8x16,4x16, 8x4,4x8といった長方形のサイズである可能性がある。また、第４の実施の形態では、PUとTUは、CUと同一である。
【０３３０】
＜画像符号化装置＞
本技術を適用した画像処理装置としての画像符号化装置の第４の実施の形態の構成は、変換情報Tinfo、変換部、および逆変換部の構成を除いて、第３の実施の形態の構成と同一である。従って、以下では、変換情報Tinfo、変換部、および逆変換部についてのみ説明する。
【０３３１】
第４の実施の形態における変換情報Tinfoは、ブロックサイズTBSizeの代わりに、変換ブロックの横幅のサイズ(水平方向のサイズ)TBXSizeと縦幅のサイズ(垂直方向のサイズ)TBYSizeが含まれる点を除いて、第３の実施の形態における変換情報Tinfoと同一である。
【０３３２】
また、第４の実施の形態における逆変換部により行われる逆変換は、変換部により行われる変換の逆処理であり、後述する画像復号装置において行われる逆変換と同様の処理である。したがって、この逆変換については、画像復号装置に関する説明において後述する。
【０３３３】
＜変換部＞
図３１は、本技術を適用した画像処理装置としての画像符号化装置の第４の実施の形態における変換部の主な構成例を示すブロック図である。
【０３３４】
図３１に示す構成のうち、図２６の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０３３５】
図３１の変換部４６０の構成は、帯域制限部４０４の代わりに帯域制限部４６４が設けられる点が、図２６の変換部４２０の構成と異なる。
【０３３６】
変換部４６０の帯域制限部４６４は、制御部１０１から供給される水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeに基づいて、セカンダリ変換部４０３から出力されるセカンダリ変換係数Coeffに対して高周波成分を０にするように帯域制限を行い、帯域制限後のセカンダリ変換係数Coeff´を導出する。帯域制限部４６４は、帯域制限後のセカンダリ変換係数Coeff´を量子化部１１３に供給する。
【０３３７】
具体的には、帯域制限部４６４は、水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeの大きい方であるmax（TBXSize,TBYSize）が所定のサイズTHSize未満である場合(max（TBXSize,TBYSize）<THSize)、セカンダリ変換係数Coeffに対して帯域制限を行わず、セカンダリ変換係数Coeffを帯域制限後のセカンダリ変換係数Coeff´として量子化部１１３に供給する。
【０３３８】
一方、帯域制限部４６４は、max（TBXSize,TBYSize）が所定のサイズTHSize以上である場合(max（TBXSize,TBYSize）>=THSize)、変換ブロック内の画素単位の座標(i,j)ごとに、上述した式（３５）により、帯域制限後のセカンダリ変換係数Coeff(i,j)´を導出する。即ち、条件式max（TBXSize,TBYSize）>=THSizeの論理値の値が１（真）である場合、帯域制限部４６４は、帯域制限を行い、０（偽）である場合、帯域制限を行わない。
【０３３９】
なお、帯域制限フィルタH(i,j)は、以下の式（３８）で定義される。
【０３４０】
【数９】
2017195667.tif 000011
【０３４１】
THは閾値である。式（３５）と式（３８）によれば、座標(i,j)を含む、セカンダリ変換における変換ブロック内の処理単位である２Ｎx２Ｍのサブブロックが左上のTH×THのサブブロックからなる正方形の領域以外のサブブロックである場合、セカンダリ変換係数Coeff (i,j)´は０になる。即ち、セカンダリ変換係数Coeff (i,j)´の高周波成分は０になる。帯域制限部４６４は、以上のようにして導出された帯域制限後のセカンダリ変換係数Coeff´を量子化部１１３に供給する。
【０３４２】
＜帯域制限フィルタの例＞
図３２は、帯域制限フィルタH(i,j)の例を示す図である。
【０３４３】
図３２において、実線の矩形は、変換ブロックを示し、点線の矩形は、サブブロックを示している。このことは、後述する図３６乃至図３８においても同様である。また、図３２の例では、サブブロックのサイズが２２x２２であり、サイズTHSizeが、８個のサブブロックのサイズであり、帯域制限フィルタH(i,j)における閾値THが４である。また、図３２のＡは、変換ブロックサイズTBXSize×TBYSizeが８×８のサブブロックからなるサイズ（３２×３２の変換ブロックサイズ）である例を示し、図３２のＢは、変換ブロックサイズTBXSize×TBYSizeが８×４のサブブロックからなるサイズ（３２×１６の変換ブロックサイズ）である例を示し、図３２のＣは、変換ブロックサイズTBXSize×TBYSizeが４×８のサブブロックからなるサイズ（１６×３２の変換ブロックサイズ）である例を示す。
【０３４４】
この場合、図３２のＡに示すように、水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeの両方が８個のサブブロックのサイズであるとき、帯域制限フィルタH(i,j)が設定される。このとき、左上の図中斜線が付された４×４のサブブロック群４７１Ａに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、サブブロック群４７１Ａ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３４５】
また、図３２のＢに示すように、水平方向のサイズTBXSizeが８個のサブブロックのサイズであり、垂直方向のサイズTBYSizeが水平方向のサイズTBXSizeより小さい４個のサブブロックのサイズであるときにも、帯域制限フィルタH(i,j)が設定される。このとき、左側の図中斜線が付された４×４のサブブロック群４７１Ｂに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、サブブロック群４７１Ｂ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３４６】
さらに、図３２のＣに示すように、水平方向のサイズTBXSizeが４個のサブブロックサイズであり、垂直方向のサイズTBYSizeが水平方向のサイズTBXSizeより大きい８個のサブブロックのサイズであるときにも、帯域制限フィルタH(i,j)が設定される。このとき、上側の図中斜線が付された４×４のサブブロック群４７１Ｃに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、サブブロック群４７１Ｃ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３４７】
以上のように、max（TBXSize,TBYSize）がサイズTHSize以上である場合、帯域制限フィルタH(i,j)は、座標(i,j)を含むサブブロックの位置に応じて０または１に設定される。
【０３４８】
＜画像符号化処理の流れ＞
本技術を適用した画像処理装置としての画像符号化装置の第４の実施の形態により実行される画像符号化処理は、変換処理および逆変換処理を除いて、第３の実施の形態における画像符号化処理と同様である。逆変換処理は、変換処理の逆処理であり、後述する画像復号処理において実行される逆変換処理と同様に実行されるので、ここでは、変換処理についてのみ説明する。
【０３４９】
＜変換処理の流れ＞
図３３は、本技術を適用した画像処理装置としての画像符号化装置の第４の実施の形態により実行される変換処理の流れの例を説明するフローチャートである。
【０３５０】
ステップＳ４６１乃至Ｓ４６４の処理は、図２７のステップＳ４０１乃至Ｓ４０４の処理と同様であるので、説明は省略する。
【０３５１】
ステップＳ４６５において、帯域制限部４６４は、処理対象変換ブロックのmax（TBXSize,TBYSize）が所定のサイズTHSize以上であるか否かを判定する。ステップＳ４６５でmax（TBXSize,TBYSize）が所定のサイズTHSize以上であると判定された場合、処理はステップＳ４６６に進む。
【０３５２】
ステップＳ４６６において、帯域制限部４６４は、上述した式（３５）により、セカンダリ変換係数Coeffに対して、上述した式（３８）で定義される帯域制限フィルタHを適用して帯域制限を行い、帯域制限後のセカンダリ変換係数Coeff´を導出する。そして、帯域制限部４６４は、帯域制限後のセカンダリ変換係数Coeff´を量子化部１１３に供給し、処理を終了する。
【０３５３】
一方、ステップＳ４６５でmax（TBXSize,TBYSize）が所定のサイズTHSize未満であると判定された場合、帯域制限部４６４は、ステップＳ４６６の処理をスキップする。そして、帯域制限部４６４は、セカンダリ変換係数Coeffをそのまま帯域制限後のセカンダリ変換係数Coeff´として量子化部１１３に供給し、処理を終了する。
【０３５４】
なお、変換処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ４６３においてセカンダリ変換識別子st_idxが０より大きくはないと判定された場合、単位行列がセカンダリ変換の行列Ｒとして選択され、ステップＳ４６４の処理が実行されるようにしてもよい。
【０３５５】
以上のように、帯域制限部４６４は、変換ブロックの水平方向のサイズTBXSizeおよび垂直方向のサイズTBYSizeに基づいて帯域制限を行う。従って、変換ブロックの形状が長方形である場合であっても、適切に帯域制限を行うことができる。
【０３５６】
また、帯域制限部４６４は、帯域制限によってセカンダリ変換係数Coeffを０にする領域を、TH×THのサブブロックからなる正方形の領域以外の領域に設定する。従って、変換ブロックの形状が長方形である場合であっても、所定のサイズの正方形の領域以外の領域のセカンダリ変換係数Coeffを０にすることができる。
【０３５７】
＜画像復号装置＞
次に、以上のように符号化された符号化データの復号について説明する。本技術を適用した画像処理装置としての画像復号装置の第４の実施の形態の構成は、変換情報Tinfoと逆変換部の構成を除いて、第３の実施の形態の構成と同一である。変換情報Tinfoについては上述したため、以下では、逆変換部についてのみ説明する。
【０３５８】
＜逆変換部＞
図３４は、本技術を適用した画像処理装置としての画像復号装置の第４の実施の形態における逆変換部の主な構成例を示すブロック図である。
【０３５９】
図３４に示す構成のうち、図２８の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０３６０】
図３４の逆変換部４８０の構成は、帯域制限部４４２の代わりに帯域制限部４８２が設けられる点が、図２８の逆変換部４４０の構成と異なる。
【０３６１】
逆変換部４８０の帯域制限部４８２は、復号部２１１から供給される処理対象変換ブロックの水平方向のサイズTBXSizeおよび垂直方向のサイズTBYSizeに基づいて、スイッチ４４１から供給されるセカンダリ変換係数Coeff_IQに対して高周波成分を０にするように帯域制限を行い、帯域制限後のセカンダリ変換係数Coeff_IQ´を導出する。帯域制限部４８２は、帯域制限後のセカンダリ変換係数Coeff_IQ´を、逆セカンダリ変換部４４３に供給する。
【０３６２】
具体的には、帯域制限部４８２は、max（TBXSize,TBYSize）が所定のサイズTHSize未満である場合、セカンダリ変換係数Coeff_IQに対して帯域制限を行わず、セカンダリ変換係数Coeff_IQを帯域制限後のセカンダリ変換係数Coeff_IQ´として逆セカンダリ変換部４４３に供給する。
【０３６３】
一方、帯域制限部４８２は、max（TBXSize,TBYSize）が所定のサイズTHSize以上である場合、上述した式（３７）により、上述した式（３８）で定義された帯域制限フィルタHをセカンダリ変換係数Coeff_IQに対して適用する。帯域制限部４８２は、その結果導出された帯域制限後のセカンダリ変換係数Coeff_IQ´を逆セカンダリ変換部４４３に供給する。
【０３６４】
＜画像復号処理の流れ＞
本技術を適用した画像処理装置としての画像復号装置の第４の実施の形態により実行される画像復号処理は、ステップＳ２０３の逆変換処理を除いて、図１５の画像復号処理と同様であるので、以下では、逆変換処理についてのみ説明する。
【０３６５】
＜逆変換処理の流れ＞
図３５は、本技術を適用した画像処理装置としての画像復号装置の第４の実施の形態により実行される逆変換処理の流れの例を説明するフローチャートである。
【０３６６】
逆変換処理が開始されると、ステップＳ４８１において、スイッチ４４１は、復号部２１１から供給される変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１であるか否かを判定する。
【０３６７】
ステップＳ４８１で変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、スイッチ４４１は、帯域制限、逆セカンダリ変換、および逆プライマリ変換をスキップすると判定する。そして、スイッチ４４１は、ステップＳ４８２乃至Ｓ４８６の処理を行わず、逆量子化部２１２から供給されるセカンダリ変換係数Coeff_IQを予測残差Ｄ´として演算部２１４に供給し、処理を終了する。
【０３６８】
一方、ステップＳ４８１で変換スキップフラグts_flagと変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、スイッチ４４１は、帯域制限、逆セカンダリ変換、および逆プライマリ変換を実行すると判定する。そして、スイッチ４４１は、逆量子化部２１２から供給されるセカンダリ変換係数Coeff_IQを帯域制限部４８２に供給し、処理をステップＳ４８２に進める。
【０３６９】
ステップＳ４８２において、帯域制限部４８２は、max（TBXSize,TBYSize）が所定のサイズTHSize以上であるか否かを判定する。ステップＳ４８２でmax（TBXSize,TBYSize）が所定のサイズTHSize以上であると判定された場合、処理はステップＳ４８３に進む。
【０３７０】
ステップＳ４８３において、帯域制限部４８２は、上述した式（３７）により、上述した式（３８）で定義されたセカンダリ変換係数Coeff_IQに対して帯域制限フィルタHを適用して帯域制限を行い、帯域制限後のセカンダリ変換係数Coeff_IQ´を導出する。そして、帯域制限部４６４は、帯域制限後のセカンダリ変換係数Coeff_IQ´を逆セカンダリ変換部４４３に供給し、処理をステップＳ４８４に進める。
【０３７１】
一方、ステップＳ４８２でmax（TBXSize,TBYSize）が所定のサイズTHSize未満であると判定された場合、帯域制限部４８２は、ステップＳ４８３の処理をスキップする。そして、帯域制限部４８２は、セカンダリ変換係数Coeff_IQをそのまま帯域制限後のセカンダリ変換係数Coeff_IQ´として逆セカンダリ変換部４４３に供給し、処理をステップＳ４８４に進める。
【０３７２】
ステップＳ４８４乃至Ｓ４８６の処理は、図２９のステップＳ４２４乃至Ｓ４２６の処理と同様であるので、説明は省略する。
【０３７３】
以上のように、帯域制限部４８２は、変換ブロックの水平方向のサイズTBXSizeおよび垂直方向のサイズTBYSizeに基づいて帯域制限を行う。従って、変換ブロックの形状が長方形である場合であっても、適切に帯域制限を行うことができる。
【０３７４】
また、帯域制限部４８２は、帯域制限によってセカンダリ変換係数Coeffを０にする領域を、TH×THのサブブロックからなる正方形の領域以外の領域に設定する。従って、変換ブロックの形状が長方形である場合であっても、所定のサイズの正方形の領域以外の領域のセカンダリ変換係数Coeffを０にすることができる。
【０３７５】
なお、上述した説明では、画像復号装置の第４の実施の形態において帯域制限が行われたが、「max（TBXSize,TBYSize）が所定のサイズTHSize以上である場合に、非ゼロ係数が左上の低周波数領域（例えば(THSize>>1)×(THSize>>1の領域)内に制限される」というビットストリーム制約が設けられる場合、帯域制限は行われなくてもよい。このビットストリーム制約は、「変換スキップフラグts_flagおよび変換量子化バイパスフラグtransquant_bypass_flagが０であり、かつ、変換ブロックのmax（TBXSize,TBYSize）が所定のサイズTHSize以上であるとき、ラスト非ゼロ係数X座標(last_sig_coeff_x_pos)およびラスト非ゼロ係数Y座標(last_sig_coeff_y_pos)の値は、0から所定値（例えば(THSize/2)-1）までの範囲内の値である」と表現することもできる。
【０３７６】
また、第４の実施の形態におけるセカンダリ変換の方法は、非特許文献１に記載されている方法に限定されない。例えば、第１や第２の実施の形態における方法であってもよい。また、セカンダリ変換係数は、クリップして所定の範囲内に制限されるようにしてもよい。
【０３７７】
さらに、帯域制限を行うか否かの判定方法は、水平方向のサイズTBXSize（またはその対数値log2TBXSize）および垂直方向のサイズTBYSize（またはその対数値log2TBYSize）に基づいて変換ブロックのサイズが所定のサイズ以上であるかどうかを判定する方法であれば、上述した方法に限定されない。
【０３７８】
例えば、帯域制限部４６４（４８２）は、水平方向のサイズTBXSizeおよび垂直方向のサイズTBYSizeの対数の大きい方であるmax(log2TBXSize,log2TBYSize)が所定の閾値log2THSize以上である場合（max(log2TBXSize, log2TBYSize)＞＝log2THSize）の論理値が１（真）である場合）に帯域制限を行うようにしてもよい。また、帯域制限部４６４（４８２）は、水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeの和または積が所定の閾値TH_Size以上である場合（TBXSize＋TBYSize＞＝TH_SizeまたはTBXSize＊TBYSize＞＝TH_Sizeの論理値が１（真）である場合）に帯域制限を行うようにしてもよい。さらに、帯域制限部４６４（４８２）は、水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeの対数の和が所定の閾値log2THSize以上である場合（log2TBXSize＋log2TBYSize＞＝log2THSizeの論理値が１（真）である場合）に帯域制限を行うようにしてもよい。これらの場合、論理値が０（偽）であるときには、帯域制限は行われない。
【０３７９】
また、帯域制限部４６４（４８２）は、座標(i,j)を含むサブブロックの位置ではなく、座標(i,j)の位置に応じて帯域制限フィルタH(i,j)を０または１に設定するようにしてもよい。この場合、帯域制限フィルタH(i,j)は、以下の式（３９）により定義される。
【０３８０】
【数１０】
2017195667.tif 000012
【０３８１】
＜帯域制限フィルタの他の例＞
図３６乃至図３８は、帯域制限フィルタH(i,j)の他の例を示す図である。
【０３８２】
図３６乃至図３８の例では、帯域制限フィルタH(i,j)は、座標 (i,j)を含むサブブロックの処理順（スキャン順）sbk_scanorder(i>>N,j>>M)に基づいて、以下の式（４０）により定義される。なお、サブブロックのスキャン順sbk_scanorder(i>>N,j>>M)は、スキャン識別子scanIdxと変換ブロックのサイズに基づいて決定される。
【０３８３】
【数１１】
2017195667.tif 000013
【０３８４】
THscanorderは閾値である。式（４０）において、閾値THscanorderは、例えば、変換ブロック内のサブブロックの総数のalpha (alphaは0から1までの値)倍にすることができる。
【０３８５】
式（３５）と式（４０）によれば、座標(i,j)を含む２Ｎx２Ｍのサブブロックのスキャン順sbk_scanorder(i>>N,j>>M)が閾値THscanorder以上である場合、セカンダリ変換係数Coeff (i,j)´は０になる。即ち、スキャン順が早いTHscanorder個のサブブロック以外の高周波成分のサブブロックのセカンダリ変換係数Coeff (i,j)´は０になる。
【０３８６】
また、図３６乃至図３８の例では、サブブロックのサイズが２２x２２であり、サイズTHSizeが、８個のサブブロックのサイズである。さらに、図３６の例では、帯域制限フィルタH(i,j)における閾値THscanorderは１０であり、図３７および図３８の例では、１６である。また、図３６のＡ乃至図３８のＡは、変換ブロックサイズTBXSize×TBYSizeが８×８のサブブロックからなるサイズ（３２×３２の変換ブロックサイズ）である例を示し、図３６のＢ乃至図３８のＢは、変換ブロックサイズTBXSize×TBYSizeが８×４のサブブロックからなるサイズ（３２×１６の変換ブロックサイズ）である例を示し、図３６のＣ乃至図３８のＣは、変換ブロックサイズTBXSize×TBYSizeが４×８のサブブロックからなるサイズ（１６×３２の変換ブロックサイズ）である例を示す。
【０３８７】
この場合、図３６のＡ乃至図３８のＡに示すように、水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeの両方が８個のサブブロックのサイズであるとき、帯域制限フィルタH(i,j)が設定される。
【０３８８】
図３６のＡに示すように、サブブロックが斜め方向スキャン（up-right diagonal scan）される場合、左上の１０個の図中斜線が付されたサブブロック群５０１Ａに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、そのサブブロック群５０１Ａ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３８９】
また、図３７のＡに示すように、サブブロックが水平方向スキャン（horizontal fast scan）される場合、上側の１６個の図中斜線が付されたサブブロック群５０２Ａに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、そのサブブロック群５０２Ａ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３９０】
図３８のＡに示すように、サブブロックが垂直方向スキャン（vertical fast scan）される場合、左側の１６個の図中斜線が付されたサブブロック群５０３Ａに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、そのサブブロック群５０３Ａ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３９１】
また、図３６のＢ乃至図３８のＢに示すように、水平方向のサイズTBXSizeが８個のサブブロックのサイズであり、垂直方向のサイズTBYSizeが水平方向のサイズTBXSizeより小さい４個のサブブロックのサイズであるときにも、帯域制限フィルタH(i,j)が設定される。
【０３９２】
図３６のＢに示すように、サブブロックが斜め方向スキャンされる場合、左上の１０個の図中斜線が付されたサブブロック群５０１Ｂに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、そのサブブロック群５０１Ｂ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３９３】
また、図３７のＢに示すように、サブブロックが水平方向スキャンされる場合、上側の１６個の図中斜線が付されたサブブロック群５０２Ｂに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、そのサブブロック群５０２Ｂ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３９４】
図３８のＢに示すように、サブブロックが垂直方向スキャンされる場合、左側の１６個の図中斜線が付されたサブブロック群５０３Ｂに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、そのサブブロック群５０３Ｂ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３９５】
さらに、図３６のＣ乃至図３８のＣに示すように、水平方向のサイズTBXSizeが４個のサブブロックサイズであり、垂直方向のサイズTBYSizeが水平方向のサイズTBXSizeより大きい８個のサブブロックのサイズであるときにも、帯域制限フィルタH(i,j)が設定される。
【０３９６】
図３６のＣに示すように、サブブロックが斜め方向スキャンされる場合、左上の１０個の図中斜線が付されたサブブロック群５０１Ｃに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、そのサブブロック群５０１Ｃ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３９７】
また、図３７のＣに示すように、サブブロックが水平方向スキャンされる場合、上側の１６個の図中斜線が付されたサブブロック群５０２Ｃに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、そのサブブロック群５０２Ｃ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３９８】
図３８のＣに示すように、サブブロックが垂直方向スキャンされる場合、左側の１６個の図中斜線が付されたサブブロック群５０３Ｃに含まれる座標(i,j)の帯域制限フィルタH(i,j)は１であり、そのサブブロック群５０３Ｃ以外のサブブロック内の座標(i,j)の帯域制限フィルタH(i,j)は０である。
【０３９９】
以上のように、図３６乃至図３８の例では、max（TBXSize,TBYSize）がサイズTHSize以上である場合、帯域制限フィルタH(i,j)は、座標(i,j)を含むサブブロックのスキャン順に基づいて０または１に設定される。なお、図３６乃至図３８の例では、サブブロックが斜め方向スキャンされる場合と、サブブロックが水平方向スキャンまたは垂直方向スキャンされる場合とで、閾値THscanorderが異なっているが、同一であってもよい。
【０４００】
なお、帯域制限フィルタH(i,j)は、座標(i,j)のスキャン順coef_scanorder(i,j)に基づいて、以下の式（４１）により定義されるようにしてもよい。スキャン順coef_scanorder(i,j)は、スキャン識別子scanIdxと変換ブロックのサイズに基づいて決定される。
【０４０１】
【数１２】
2017195667.tif 000014
【０４０２】
式（４１）において、閾値THscanorderは、例えば、変換ブロック内の画素の総数（TBXSize x TBYSize）のalpha (alphaは0から1までの値)倍にすることができる。
【０４０３】
＜変換処理・逆変換処理の流れの他の例＞
第４の実施の形態において、変換ブロックサイズだけでなく、変換ブロックサイズが所定のブロックサイズ以上である場合に帯域制限フィルタを適用するか否かを示す帯域制限フィルタ有効フラグbandpass_filter_enabled_flagにも基づいて、帯域制限を制御するようにしてもよい。この場合、制御部１０１は、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagを、SPS,PPS,SH,CUなどの単位で符号化パラメータに含める。この帯域制限フィルタ有効フラグbandpass_filter_enabled_flagは、符号化部１１４に供給されて符号化されるほか、変換部４６０の帯域制限部４６４に供給される。
【０４０４】
図３９は、この場合の変換部４６０の変換処理の流れの例を説明するフローチャートである。
【０４０５】
図３９のステップＳ５０１乃至Ｓ５０４の処理は、図３３のステップＳ４６１乃至Ｓ４６４の処理と同様であるので、説明は省略する。
【０４０６】
ステップＳ５０５において、帯域制限部４６４は、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagが、変換ブロックサイズが所定のブロックサイズ以上である場合に帯域制限フィルタを適用することを示す１（真）であるかどうかを判定する。ステップＳ５０５で帯域制限フィルタ有効フラグbandpass_filter_enabled_flagが１であると判定された場合、処理はステップＳ５０６に進む。ステップＳ５０６およびＳ５０７の処理は、図３３のステップＳ４６５およびＳ４６６の処理と同様であるので、説明は省略する。
【０４０７】
一方、ステップＳ５０５で帯域制限フィルタ有効フラグbandpass_filter_enabled_flagが、変換ブロックサイズが所定のブロックサイズ以上であっても帯域制限フィルタを適用しないことを示す０（偽）であると判定された場合、変換処理は終了する。
【０４０８】
以上のように、帯域制限部４６４は、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagに基づいて、正方形または長方形からなる矩形の変換ブロックのブロックサイズが所定のブロックサイズ以上である場合に、非ゼロ係数を低周波数領域内に制限する帯域制限フィルタを適用するか否かを制御する。
【０４０９】
具体的には、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagが１（真）である場合、変換ブロックサイズが所定のブロックサイズ以上であるときには、帯域制限部４６４は、高周波成分の変換係数を強制的に０になるように帯域制限を行う。従って、符号化部１１４は、変換ブロックの低周波成分の非ゼロ係数のみを符号化する。よって、符号化効率を維持しつつ、非ゼロ係数の符号化処理を低減することができる。
【０４１０】
また、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagが０（偽）である場合、変換ブロックが所定のブロックサイズ以上であるときであっても、帯域制限部４６４は帯域制限を行わない。従って、符号化部１１４は、低周波成分から高周波成分に存在する非ゼロ係数を符号化する。よって、大きい変換ブロックにおいて、帯域制限フィルタを適用する場合と比較して、高周波成分の再現性が高まり、符号化効率が向上する。
【０４１１】
さらに、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagは、所定の単位(SPS,PPS,SH,CUなど)毎に設定される。従って、帯域制限部４６４は、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagを用いて、所定の単位毎に、適応的に、変換ブロックサイズが所定のブロックサイズ以上である場合に帯域制限フィルタを適用するか否かを制御することができる。
【０４１２】
また、第４の実施の形態において、変換ブロックサイズだけでなく、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagにも基づいて、帯域制限を制御する場合、復号部２１１は、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagを含む符号化パラメータの符号化データを所定の単位(SPS,PPS,SH,CUなど)で復号する。復号の結果得られる帯域制限フィルタ有効フラグbandpass_filter_enabled_flagは、逆変換部４８０の帯域制限部４８２に供給する。
【０４１３】
図４０は、この場合の逆変換部４８０の逆変換処理の流れの例を説明するフローチャートである。
【０４１４】
図４０のステップＳ５２１において、スイッチ４４１は、復号部２１１から供給される変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１であるか否かを判定する。
【０４１５】
ステップＳ５２１で変換スキップフラグts_flagまたは変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、スイッチ４４１は、帯域制限、逆セカンダリ変換、および逆プライマリ変換をスキップすると判定する。そして、スイッチ４４１は、ステップＳ５２２乃至Ｓ５２７の処理を行わず、逆量子化部２１２から供給されるセカンダリ変換係数Coeff_IQを予測残差Ｄ´として演算部２１４に供給し、処理を終了する。
【０４１６】
一方、ステップＳ５２１で変換スキップフラグts_flagと変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、スイッチ４４１は、逆量子化部２１２から供給されるセカンダリ変換係数Coeff_IQを帯域制限部４８２に供給する。そして、処理はステップＳ５２２に進む。
【０４１７】
ステップＳ５２２において、帯域制限部４８２は、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagの値が１（真）であるか否かを判定する。ステップＳ５２２で帯域制限フィルタ有効フラグの値が１（真）であると判定された場合、処理はステップＳ５２３に進む。ステップＳ５２３乃至Ｓ５２７の処理は、図３５のステップＳ４８２乃至Ｓ４８６の処理と同様であるので、説明は省略する。
【０４１８】
ステップＳ５２２で帯域制限フィルタ有効フラグの値が０（偽）であると判定された場合、処理は、ステップＳ５２３およびＳ５２４の処理をスキップし、ステップＳ５２５に進む。
【０４１９】
以上のように、帯域制限部４８２は、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagに基づいて、正方形または長方形からなる矩形の変換ブロックのブロックサイズが所定のブロックサイズ以上である場合に、非ゼロ係数を低周波数領域内に制限する帯域制限フィルタを適用するか否かを制御する。
【０４２０】
具体的には、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagが１（真）である場合、変換ブロックサイズが所定のブロックサイズ以上であるときには、帯域制限部４８２は、高周波成分の変換係数を強制的に０になるように帯域制限を行う。従って、演算部２１４は、変換ブロックの低周波成分の非ゼロ係数のみを復号する。よって、符号化効率を維持しつつ、非ゼロ係数の復号処理を低減することができる。また、逆変換部２１３は、変換ブロックの低周波成分の非ゼロ係数に対してのみ逆変換の処理を実行すればよいため、逆変換の処理量を低減することができる。従って、画像符号化装置が帯域制限を行わない場合に比べて、画像復号装置の計算複雑度や実装コストを低減することができる。
【０４２１】
また、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagが０（偽）である場合、変換ブロックが所定のブロックサイズ以上であるときであっても、帯域制限部４８２は帯域制限を行わない。従って、演算部２１４は、低周波成分から高周波成分に存在する非ゼロ係数を復号する。よって、大きい変換ブロックにおいて、帯域制限フィルタを適用する場合と比較して、高周波成分の再現性が高まり、復号画像の画質が向上する。
【０４２２】
さらに、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagは、所定の単位(SPS,PPS,SH,CUなど)毎に設定される。従って、帯域制限部４８２は、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagを用いて、所定の単位毎に、適応的に、変換ブロックサイズが所定のブロックサイズ以上である場合に帯域制限フィルタを適用するか否かを制御することができる。
【０４２３】
なお、図３９および図４０の例では、max（TBXSize,TBYSize）が所定のサイズTHSize以上であるかどうかによって、変換ブロックサイズが所定のブロックサイズ以上であるかどうかが判定されたが、その他の上述した方法によって判定されるようにしてもよい。
【０４２４】
また、第３の実施の形態においても、第４の実施の形態と同様に、変換ブロックサイズだけでなく、帯域制限フィルタ有効フラグbandpass_filter_enabled_flagにも基づいて、帯域制限を制御するようにしてもよい。
【０４２５】
＜５．第５の実施の形態＞
＜情報のデータ単位＞
以上において説明した画像に関する情報や画像の符号化・復号に関する情報が設定される（または対象とするデータの）データ単位は、それぞれ任意であり、上述した例に限定されない。例えば、これらの情報が、それぞれ、TU、TB、PU、PB、CU、LCU、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報毎に設定される。つまり、全ての情報が同一のデータ単位毎に設定される（または対象とする）ようにしなくてもよい。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
【０４２６】
＜制御情報＞
以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可（または禁止）するか否かを制御する制御情報（例えばenabled_flag）を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可（または禁止）するブロックサイズの上限若しくは下限、またはその両方を指定する制御情報を伝送するようにしてもよい。
【０４２７】
＜符号化・復号＞
本技術は、プライマリ変換およびセカンダリ変換（逆セカンダリ変および逆プライマリ変換）を行う任意の画像符号化・復号に適用することができる。つまり、変換（逆変換）、量子化（逆量子化）、符号化（復号）、予測等の仕様は任意であり、上述した例に限定されない。例えば、変換（逆変換）において、（逆）プライマリ変換および（逆）セカンダリ変換以外の（逆）変換（すなわち３以上の（逆）変換）が行われるようにしてもよい。また、符号化（復号）は、可逆な方式であってもよいし、非可逆な方式であってもよい。さらに、量子化（逆量子化）や予測等は省略するようにしてもよい。また、フィルタ処理等の上述していない処理が行われるようにしてもよい。
【０４２８】
＜本技術の適用分野＞
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。
【０４２９】
例えば、本技術は、鑑賞の用に供される画像を伝送するシステムやデバイスにも適用することができる。また、例えば、本技術は、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、農業の用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、畜産業の用に供されるシステムやデバイスにも適用することができる。さらに、本技術は、例えば火山、森林、海洋等の自然の状態を監視するシステムやデバイスにも適用することができる。また、本技術は、例えば天気、気温、湿度、風速、日照時間等を観測する気象観測システムや気象観測装置に適用することができる。さらに、本技術は、例えば鳥類、魚類、ハ虫類、両生類、哺乳類、昆虫、植物等の野生生物の生態を観測するシステムやデバイス等にも適用することができる。
【０４３０】
＜多視点画像符号化・復号システムへの適用＞
上述した一連の処理は、複数の視点（ビュー（view））の画像を含む多視点画像の符号化・復号を行う多視点画像符号化・復号システムに適用することができる。その場合、各視点（ビュー（view））の符号化・復号において、本技術を適用するようにすればよい。
【０４３１】
＜階層画像符号化・復号システムへの適用＞
また、上述した一連の処理は、所定のパラメータについてスケーラビリティ（scalability）機能を有するように複数レイヤ化（階層化）された階層画像の符号化・復号を行う階層画像符号化（スケーラブル符号化）・復号システムに適用することができる。その場合、各階層（レイヤ）の符号化・復号において、本技術を適用するようにすればよい。
【０４３２】
＜コンピュータ＞
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【０４３３】
図４１は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０４３４】
図４１に示されるコンピュータ８００において、CPU（Central Processing Unit）８０１、ROM（Read Only Memory）８０２、RAM（Random Access Memory）８０３は、バス８０４を介して相互に接続されている。
【０４３５】
バス８０４にはまた、入出力インタフェース８１０も接続されている。入出力インタフェース８１０には、入力部８１１、出力部８１２、記憶部８１３、通信部８１４、およびドライブ８１５が接続されている。
【０４３６】
入力部８１１は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部８１２は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部８１３は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部８１４は、例えば、ネットワークインタフェースよりなる。ドライブ８１５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア８２１を駆動する。
【０４３７】
以上のように構成されるコンピュータでは、CPU８０１が、例えば、記憶部８１３に記憶されているプログラムを、入出力インタフェース８１０およびバス８０４を介して、RAM８０３にロードして実行することにより、上述した一連の処理が行われる。RAM８０３にはまた、CPU８０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０４３８】
コンピュータ（CPU８０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア８２１に記録して適用することができる。その場合、プログラムは、リムーバブルメディア８２１をドライブ８１５に装着することにより、入出力インタフェース８１０を介して、記憶部８１３にインストールすることができる。
【０４３９】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部８１４で受信し、記憶部８１３にインストールすることができる。
【０４４０】
その他、このプログラムは、ROM８０２や記憶部８１３に、あらかじめインストールしておくこともできる。
【０４４１】
＜本技術の応用＞
上述した実施形態に係る画像符号化装置１００や画像復号装置２００は、例えば、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機や受信機、または、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置や、これら記憶媒体から画像を再生する再生装置などの、様々な電子機器に応用され得る。
【０４４２】
＜第１の応用例：テレビジョン受像機＞
図４２は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース（I/F）部９０９、制御部９１０、ユーザインタフェース（I/F）部９１１、及びバス９１２を備える。
【０４４３】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０４４４】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからEPG（Electronic Program Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０４４５】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０４４６】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのGUI（Graphical User Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０４４７】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD（Organic ElectroLuminescence Display）（有機ELディスプレイ）など）の映像面上に映像又は画像を表示する。
【０４４８】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０４４９】
外部インタフェース部９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース部９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０４５０】
制御部９１０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０４５１】
ユーザインタフェース部９１１は、制御部９１０と接続される。ユーザインタフェース部９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０４５２】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース部９０９及び制御部９１０を相互に接続する。
【０４５３】
このように構成されたテレビジョン装置９００において、デコーダ９０４が、上述した画像復号装置２００の機能を有するようにしてもよい。つまり、デコーダ９０４が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、テレビジョン装置９００は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４５４】
また、このように構成されたテレビジョン装置９００において、映像信号処理部９０５が、例えば、デコーダ９０４から供給される画像データを符号化し、得られた符号化データを、外部インタフェース部９０９を介してテレビジョン装置９００の外部に出力させることができるようにしてもよい。そして、その映像信号処理部９０５が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、映像信号処理部９０５が、デコーダ９０４から供給される画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、テレビジョン装置９００は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４５５】
＜第２の応用例：携帯電話機＞
図４３は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０４５６】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０４５７】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０４５８】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０４５９】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９に供給し、その記憶媒体に書き込ませる。
【０４６０】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB（Universal Serial Bus）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０４６１】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記録再生部９２９に供給し、その記憶媒体に書き込ませる。
【０４６２】
さらに、画像表示モードにおいて、記録再生部９２９は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部９２７へ出力する。画像処理部９２７は、記録再生部９２９から入力される符号化ストリームを復号し、画像データを表示部９３０に供給し、その画像を表示させる。
【０４６３】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０４６４】
このように構成された携帯電話機９２０において、例えば画像処理部９２７が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、画像処理部９２７が、画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、携帯電話機９２０は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４６５】
また、このように構成された携帯電話機９２０において、例えば画像処理部９２７が、上述した画像復号装置２００の機能を有するようにしてもよい。つまり、画像処理部９２７が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、携帯電話機９２０は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４６６】
＜第３の応用例：記録再生装置＞
図４４は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データおよび映像データを復号する。
【０４６７】
記録再生装置９４０は、チューナ９４１、外部インタフェース（I/F）部９４２、エンコーダ９４３、HDD（Hard Disk Drive）部９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、OSD（On-Screen Display）部９４８、制御部９４９、およびユーザインタフェース（I/F）部９５０を備える。
【０４６８】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送部としての役割を有する。
【０４６９】
外部インタフェース部９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部９４２は、例えば、IEEE（Institute of Electrical and Electronic Engineers）1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部９４２を介して受信される映像データおよび音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース部９４２は、記録再生装置９４０における伝送部としての役割を有する。
【０４７０】
エンコーダ９４３は、外部インタフェース部９４２から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０４７１】
HDD部９４４は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD部９４４は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
【０４７２】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばDVD（Digital Versatile Disc）ディスク（DVD-Video、DVD-RAM（DVD - Random Access Memory）、DVD-R（DVD - Recordable）、DVD-RW（DVD - Rewritable）、DVD+R（DVD + Recordable）、DVD+RW（DVD + Rewritable）等）又はBlu-ray（登録商標）ディスクなどであってよい。
【０４７３】
セレクタ９４６は、映像および音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、HDD９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０４７４】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをOSD部９４８へ出力する。また、デコーダ９４７は、生成した音声データを外部のスピーカへ出力する。
【０４７５】
OSD部９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、OSD部９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【０４７６】
制御部９４９は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０４７７】
ユーザインタフェース部９５０は、制御部９４９と接続される。ユーザインタフェース部９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０４７８】
このように構成された記録再生装置９４０において、例えばエンコーダ９４３が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、エンコーダ９４３が、画像データを、以上の各実施の形態において説明方法で符号化するようにしてもよい。このようにすることにより、記録再生装置９４０は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４７９】
また、このように構成された記録再生装置９４０において、例えばデコーダ９４７が、上述した画像復号装置２００の機能を有するようにしてもよい。つまり、デコーダ９４７が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、記録再生装置９４０は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４８０】
＜第４の応用例：撮像装置＞
図４５は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０４８１】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース（I/F）部９６６、メモリ部９６７、メディアドライブ９６８、OSD部９６９、制御部９７０、ユーザインタフェース（I/F）部９７１、およびバス９７２を備える。
【０４８２】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース部９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース部９６６、メモリ部９６７、メディアドライブ９６８、OSD部９６９、および制御部９７０を相互に接続する。
【０４８３】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、CCD（Charge Coupled Device）又はCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０４８４】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０４８５】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース部９６６またはメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース部９６６またはメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、OSD部９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０４８６】
OSD部９６９は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０４８７】
外部インタフェース部９６６は、例えばUSB入出力端子として構成される。外部インタフェース部９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース部９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース部９６６は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部９６６は、撮像装置９６０における伝送部としての役割を有する。
【０４８８】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD（Solid State Drive）のような非可搬性の記憶部が構成されてもよい。
【０４８９】
制御部９７０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０４９０】
ユーザインタフェース部９７１は、制御部９７０と接続される。ユーザインタフェース部９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０４９１】
このように構成された撮像装置９６０において、例えば画像処理部９６４が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、画像処理部９６４が、画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、撮像装置９６０は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４９２】
また、このように構成された撮像装置９６０において、例えば画像処理部９６４が、上述した画像復号装置２００の機能を有するようにしてもよい。つまり、画像処理部９６４が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、撮像装置９６０は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４９３】
＜第５の応用例：ビデオセット＞
また、本技術は、任意の装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI（Large Scale Integration）等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等（すなわち、装置の一部の構成）として実施することもできる。図４６は、本技術を適用したビデオセットの概略的な構成の一例を示している。
【０４９４】
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、１機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する１セットとして実施を行う場合も多く見られるようになってきた。
【０４９５】
図４６に示されるビデオセット１３００は、このような多機能化された構成であり、画像の符号化や復号（いずれか一方でもよいし、両方でも良い）に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
【０４９６】
図４６に示されるように、ビデオセット１３００は、ビデオモジュール１３１１、外部メモリ１３１２、パワーマネージメントモジュール１３１３、およびフロントエンドモジュール１３１４等のモジュール群と、コネクティビティ１３２１、カメラ１３２２、およびセンサ１３２３等の関連する機能を有するデバイスとを有する。
【０４９７】
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
【０４９８】
図４６の例の場合、ビデオモジュール１３１１は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム１３３３、およびRFモジュール１３３４を有する。
【０４９９】
プロセッサは、所定の機能を有する構成をSoC（System On a Chip）により半導体チップに集積したものであり、例えばシステムLSI（Large Scale Integration）等と称されるものもある。この所定の機能を有する構成は、論理回路（ハードウエア構成）であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム（ソフトウエア構成）であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路（ハードウエア構成）により実現し、その他の機能をCPUにおいて実行されるプログラム（ソフトウエア構成）により実現するようにしてもよい。
【０５００】
図４６のアプリケーションプロセッサ１３３１は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ１３３１において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ１３３２等、ビデオモジュール１３１１内外の構成を必要に応じて制御することもできる。
【０５０１】
ビデオプロセッサ１３３２は、画像の符号化・復号（その一方または両方）に関する機能を有するプロセッサである。
【０５０２】
ブロードバンドモデム１３３３は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線（またはその両方）の広帯域通信により送信するデータ（デジタル信号）をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ（デジタル信号）に変換したりする。ブロードバンドモデム１３３３は、例えば、ビデオプロセッサ１３３２が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
【０５０３】
RFモジュール１３３４は、アンテナを介して送受信されるRF（Radio Frequency）信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール１３３４は、ブロードバンドモデム１３３３により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール１３３４は、フロントエンドモジュール１３１４を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
【０５０４】
なお、図４６において点線１３４１に示されるように、アプリケーションプロセッサ１３３１とビデオプロセッサ１３３２を、一体化し、１つのプロセッサとして構成されるようにしてもよい。
【０５０５】
外部メモリ１３１２は、ビデオモジュール１３１１の外部に設けられた、ビデオモジュール１３１１により利用される記憶デバイスを有するモジュールである。この外部メモリ１３１２の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM（Dynamic Random Access Memory）のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
【０５０６】
パワーマネージメントモジュール１３１３は、ビデオモジュール１３１１（ビデオモジュール１３１１内の各構成）への電力供給を管理し、制御する。
【０５０７】
フロントエンドモジュール１３１４は、RFモジュール１３３４に対してフロントエンド機能（アンテナ側の送受信端の回路）を提供するモジュールである。図４６に示されるように、フロントエンドモジュール１３１４は、例えば、アンテナ部１３５１、フィルタ１３５２、および増幅部１３５３を有する。
【０５０８】
アンテナ部１３５１は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部１３５１は、増幅部１３５３から供給される信号を無線信号として送信し、受信した無線信号を電気信号（RF信号）としてフィルタ１３５２に供給する。フィルタ１３５２は、アンテナ部１３５１を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール１３３４に供給する。増幅部１３５３は、RFモジュール１３３４から供給されるRF信号を増幅し、アンテナ部１３５１に供給する。
【０５０９】
コネクティビティ１３２１は、外部との接続に関する機能を有するモジュールである。コネクティビティ１３２１の物理構成は、任意である。例えば、コネクティビティ１３２１は、ブロードバンドモデム１３３３が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
【０５１０】
例えば、コネクティビティ１３２１が、Bluetooth（登録商標）、IEEE 802.11（例えばWi-Fi（Wireless Fidelity、登録商標））、NFC（Near Field Communication）、IrDA（InfraRed Data Association）等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ１３２１が、USB（Universal Serial Bus）、HDMI（登録商標）（High-Definition Multimedia Interface）等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ１３２１が、アナログ入出力端子等のその他のデータ（信号）伝送機能等を有するようにしてもよい。
【０５１１】
なお、コネクティビティ１３２１が、データ（信号）の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ１３２１が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ（リムーバブルメディアのドライブだけでなく、ハードディスク、SSD（Solid State Drive）、NAS（Network Attached Storage）等も含む）を有するようにしてもよい。また、コネクティビティ１３２１が、画像や音声の出力デバイス（モニタやスピーカ等）を有するようにしてもよい。
【０５１２】
カメラ１３２２は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ１３２２の撮像により得られた画像データは、例えば、ビデオプロセッサ１３３２に供給されて符号化される。
【０５１３】
センサ１３２３は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ１３２３により検出されたデータは、例えば、アプリケーションプロセッサ１３３１に供給されてアプリケーション等により利用される。
【０５１４】
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
【０５１５】
以上のような構成のビデオセット１３００において、後述するようにビデオプロセッサ１３３２に本技術を適用することができる。したがって、ビデオセット１３００は、本技術を適用したセットとして実施することができる。
【０５１６】
＜ビデオプロセッサの構成例＞
図４７は、本技術を適用したビデオプロセッサ１３３２（図４６）の概略的な構成の一例を示している。
【０５１７】
図４７の例の場合、ビデオプロセッサ１３３２は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
【０５１８】
図４７に示されるように、ビデオプロセッサ１３３２は、ビデオ入力処理部１４０１、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３、ビデオ出力処理部１４０４、フレームメモリ１４０５、およびメモリ制御部１４０６を有する。また、ビデオプロセッサ１３３２は、エンコード・デコードエンジン１４０７、ビデオES（Elementary Stream）バッファ１４０８Ａおよび１４０８Ｂ、並びに、オーディオESバッファ１４０９Ａおよび１４０９Ｂを有する。さらに、ビデオプロセッサ１３３２は、オーディオエンコーダ１４１０、オーディオデコーダ１４１１、多重化部（MUX（Multiplexer））１４１２、逆多重化部（DMUX（Demultiplexer））１４１３、およびストリームバッファ１４１４を有する。
【０５１９】
ビデオ入力処理部１４０１は、例えばコネクティビティ１３２１（図４６）等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第１画像拡大縮小部１４０２は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第２画像拡大縮小部１４０３は、画像データに対して、ビデオ出力処理部１４０４を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第１画像拡大縮小部１４０２と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部１４０４は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ１３２１等に出力する。
【０５２０】
フレームメモリ１４０５は、ビデオ入力処理部１４０１、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３、ビデオ出力処理部１４０４、およびエンコード・デコードエンジン１４０７によって共用される画像データ用のメモリである。フレームメモリ１４０５は、例えばDRAM等の半導体メモリとして実現される。
【０５２１】
メモリ制御部１４０６は、エンコード・デコードエンジン１４０７からの同期信号を受けて、アクセス管理テーブル１４０６Ａに書き込まれたフレームメモリ１４０５へのアクセススケジュールに従ってフレームメモリ１４０５に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル１４０６Ａは、エンコード・デコードエンジン１４０７、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３等で実行される処理に応じて、メモリ制御部１４０６により更新される。
【０５２２】
エンコード・デコードエンジン１４０７は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン１４０７は、フレームメモリ１４０５から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ１４０８Ａに順次書き込む。また、例えば、ビデオESバッファ１４０８Ｂからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ１４０５に順次書き込む。エンコード・デコードエンジン１４０７は、これらの符号化や復号において、フレームメモリ１４０５を作業領域として使用する。また、エンコード・デコードエンジン１４０７は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部１４０６に対して同期信号を出力する。
【０５２３】
ビデオESバッファ１４０８Ａは、エンコード・デコードエンジン１４０７によって生成されたビデオストリームをバッファリングして、多重化部（MUX）１４１２に供給する。ビデオESバッファ１４０８Ｂは、逆多重化部（DMUX）１４１３から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン１４０７に供給する。
【０５２４】
オーディオESバッファ１４０９Ａは、オーディオエンコーダ１４１０によって生成されたオーディオストリームをバッファリングして、多重化部（MUX）１４１２に供給する。オーディオESバッファ１４０９Ｂは、逆多重化部（DMUX）１４１３から供給されたオーディオストリームをバッファリングして、オーディオデコーダ１４１１に供給する。
【０５２５】
オーディオエンコーダ１４１０は、例えばコネクティビティ１３２１等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3（AudioCode number 3）方式等の所定の方式で符号化する。オーディオエンコーダ１４１０は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ１４０９Ａに順次書き込む。オーディオデコーダ１４１１は、オーディオESバッファ１４０９Ｂから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ１３２１等に供給する。
【０５２６】
多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法（すなわち、多重化により生成されるビットストリームのフォーマット）は任意である。また、この多重化の際に、多重化部（MUX）１４１２は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部（MUX）１４１２は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ（ファイルデータ）に変換する。
【０５２７】
逆多重化部（DMUX）１４１３は、多重化部（MUX）１４１２による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部（DMUX）１４１３は、ストリームバッファ１４１４から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する（ビデオストリームとオーディオストリームとを分離する）。つまり、逆多重化部（DMUX）１４１３は、逆多重化によりストリームのフォーマットを変換（多重化部（MUX）１４１２による変換の逆変換）することができる。例えば、逆多重化部（DMUX）１４１３は、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等から供給されたトランスポートストリームを、ストリームバッファ１４１４を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部（DMUX）１４１３は、例えばコネクティビティ１３２１により各種記録媒体から読み出されたファイルデータを、ストリームバッファ１４１４を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
【０５２８】
ストリームバッファ１４１４は、ビットストリームをバッファリングする。例えば、ストリームバッファ１４１４は、多重化部（MUX）１４１２から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等に供給する。
【０５２９】
また、例えば、ストリームバッファ１４１４は、多重化部（MUX）１４１２から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、例えばコネクティビティ１３２１等に供給し、各種記録媒体に記録させる。
【０５３０】
さらに、ストリームバッファ１４１４は、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、逆多重化部（DMUX）１４１３に供給する。
【０５３１】
また、ストリームバッファ１４１４は、例えばコネクティビティ１３２１等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、逆多重化部（DMUX）１４１３に供給する。
【０５３２】
次に、このような構成のビデオプロセッサ１３３２の動作の例について説明する。例えば、コネクティビティ１３２１等からビデオプロセッサ１３３２に入力されたビデオ信号は、ビデオ入力処理部１４０１において４：２：２Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式のデジタル画像データに変換され、フレームメモリ１４０５に順次書き込まれる。このデジタル画像データは、第１画像拡大縮小部１４０２または第２画像拡大縮小部１４０３に読み出されて、４：２：０Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ１４０５に書き込まれる。この画像データは、エンコード・デコードエンジン１４０７によって符号化され、ビデオストリームとしてビデオESバッファ１４０８Ａに書き込まれる。
【０５３３】
また、コネクティビティ１３２１等からビデオプロセッサ１３３２に入力されたオーディオ信号は、オーディオエンコーダ１４１０によって符号化され、オーディオストリームとして、オーディオESバッファ１４０９Ａに書き込まれる。
【０５３４】
ビデオESバッファ１４０８Ａのビデオストリームと、オーディオESバッファ１４０９Ａのオーディオストリームは、多重化部（MUX）１４１２に読み出されて多重化され、トランスポートストリームまたはファイルデータ等に変換される。多重化部（MUX）１４１２により生成されたトランスポートストリームは、ストリームバッファ１４１４にバッファされた後、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークに出力される。また、多重化部（MUX）１４１２により生成されたファイルデータは、ストリームバッファ１４１４にバッファされた後、例えばコネクティビティ１３２１等に出力され、各種記録媒体に記録される。
【０５３５】
また、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークからビデオプロセッサ１３３２に入力されたトランスポートストリームは、ストリームバッファ１４１４にバッファされた後、逆多重化部（DMUX）１４１３により逆多重化される。また、例えばコネクティビティ１３２１等において各種記録媒体から読み出され、ビデオプロセッサ１３３２に入力されたファイルデータは、ストリームバッファ１４１４にバッファされた後、逆多重化部（DMUX）１４１３により逆多重化される。つまり、ビデオプロセッサ１３３２に入力されたトランスポートストリームまたはファイルデータは、逆多重化部（DMUX）１４１３によりビデオストリームとオーディオストリームとに分離される。
【０５３６】
オーディオストリームは、オーディオESバッファ１４０９Ｂを介してオーディオデコーダ１４１１に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ１４０８Ｂに書き込まれた後、エンコード・デコードエンジン１４０７により順次読み出されて復号されてフレームメモリ１４０５に書き込まれる。復号された画像データは、第２画像拡大縮小部１４０３によって拡大縮小処理されて、フレームメモリ１４０５に書き込まれる。そして、復号された画像データは、ビデオ出力処理部１４０４に読み出されて、４：２：２Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
【０５３７】
このように構成されるビデオプロセッサ１３３２に本技術を適用する場合、エンコード・デコードエンジン１４０７に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン１４０７が、上述した画像符号化装置１００の機能若しくは画像復号装置２００の機能またはその両方を有するようにしてもよい。このようにすることにより、ビデオプロセッサ１３３２は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０５３８】
なお、エンコード・デコードエンジン１４０７において、本技術（すなわち、画像符号化装置１００の機能若しくは画像復号装置２００の機能またはその両方）は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
【０５３９】
＜ビデオプロセッサの他の構成例＞
図４８は、本技術を適用したビデオプロセッサ１３３２の概略的な構成の他の例を示している。図４８の例の場合、ビデオプロセッサ１３３２は、ビデオデータを所定の方式で符号化・復号する機能を有する。
【０５４０】
より具体的には、図４８に示されるように、ビデオプロセッサ１３３２は、制御部１５１１、ディスプレイインタフェース１５１２、ディスプレイエンジン１５１３、画像処理エンジン１５１４、および内部メモリ１５１５を有する。また、ビデオプロセッサ１３３２は、コーデックエンジン１５１６、メモリインタフェース１５１７、多重化・逆多重化部（MUX DMUX）１５１８、ネットワークインタフェース１５１９、およびビデオインタフェース１５２０を有する。
【０５４１】
制御部１５１１は、ディスプレイインタフェース１５１２、ディスプレイエンジン１５１３、画像処理エンジン１５１４、およびコーデックエンジン１５１６等、ビデオプロセッサ１３３２内の各処理部の動作を制御する。
【０５４２】
図４８に示されるように、制御部１５１１は、例えば、メインCPU１５３１、サブCPU１５３２、およびシステムコントローラ１５３３を有する。メインCPU１５３１は、ビデオプロセッサ１３３２内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU１５３１は、そのプログラム等に従って制御信号を生成し、各処理部に供給する（つまり、各処理部の動作を制御する）。サブCPU１５３２は、メインCPU１５３１の補助的な役割を果たす。例えば、サブCPU１５３２は、メインCPU１５３１が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ１５３３は、メインCPU１５３１およびサブCPU１５３２が実行するプログラムを指定する等、メインCPU１５３１およびサブCPU１５３２の動作を制御する。
【０５４３】
ディスプレイインタフェース１５１２は、制御部１５１１の制御の下、画像データを例えばコネクティビティ１３２１等に出力する。例えば、ディスプレイインタフェース１５１２は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ１３２１のモニタ装置等に出力する。
【０５４４】
ディスプレイエンジン１５１３は、制御部１５１１の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
【０５４５】
画像処理エンジン１５１４は、制御部１５１１の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
【０５４６】
内部メモリ１５１５は、ディスプレイエンジン１５１３、画像処理エンジン１５１４、およびコーデックエンジン１５１６により共用される、ビデオプロセッサ１３３２の内部に設けられたメモリである。内部メモリ１５１５は、例えば、ディスプレイエンジン１５１３、画像処理エンジン１５１４、およびコーデックエンジン１５１６の間で行われるデータの授受に利用される。例えば、内部メモリ１５１５は、ディスプレイエンジン１５１３、画像処理エンジン１５１４、またはコーデックエンジン１５１６から供給されるデータを格納し、必要に応じて（例えば、要求に応じて）、そのデータを、ディスプレイエンジン１５１３、画像処理エンジン１５１４、またはコーデックエンジン１５１６に供給する。この内部メモリ１５１５は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM（Static Random Access Memory）のような比較的（例えば外部メモリ１３１２と比較して）小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
【０５４７】
コーデックエンジン１５１６は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン１５１６が対応する符号化・復号の方式は任意であり、その数は１つであってもよいし、複数であってもよい。例えば、コーデックエンジン１５１６は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化または符号化データの復号を行うようにしてもよい。
【０５４８】
図４８に示される例において、コーデックエンジン１５１６は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video１５４１、AVC/H.264１５４２、HEVC/H.265１５４３、HEVC/H.265(Scalable)１５４４、HEVC/H.265(Multi-view)１５４５、およびMPEG-DASH１５５１を有する。
【０５４９】
MPEG-2 Video１５４１は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.264１５４２は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265１５４３は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)１５４４は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)１５４５は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
【０５５０】
MPEG-DASH１５５１は、画像データをMPEG-DASH（MPEG-Dynamic Adaptive Streaming over HTTP）方式で送受信する機能ブロックである。MPEG-DASHは、HTTP（HyperText Transfer Protocol）を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の１つとする。MPEG-DASH１５５１は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video１５４１乃至HEVC/H.265(Multi-view)１５４５を利用する。
【０５５１】
メモリインタフェース１５１７は、外部メモリ１３１２用のインタフェースである。画像処理エンジン１５１４やコーデックエンジン１５１６から供給されるデータは、メモリインタフェース１５１７を介して外部メモリ１３１２に供給される。また、外部メモリ１３１２から読み出されたデータは、メモリインタフェース１５１７を介してビデオプロセッサ１３３２（画像処理エンジン１５１４またはコーデックエンジン１５１６）に供給される。
【０５５２】
多重化・逆多重化部（MUX DMUX）１５１８は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部（MUX DMUX）１５１８は、複数のデータを１つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部（MUX DMUX）１５１８は、１つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部（MUX DMUX）１５１８は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部（MUX DMUX）１５１８は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ（ファイルデータ）に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
【０５５３】
ネットワークインタフェース１５１９は、例えばブロードバンドモデム１３３３やコネクティビティ１３２１等向けのインタフェースである。ビデオインタフェース１５２０は、例えばコネクティビティ１３２１やカメラ１３２２等向けのインタフェースである。
【０５５４】
次に、このようなビデオプロセッサ１３３２の動作の例について説明する。例えば、コネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース１５１９を介して多重化・逆多重化部（MUX DMUX）１５１８に供給されて逆多重化され、コーデックエンジン１５１６により復号される。コーデックエンジン１５１６の復号により得られた画像データは、例えば、画像処理エンジン１５１４により所定の画像処理が施され、ディスプレイエンジン１５１３により所定の変換が行われ、ディスプレイインタフェース１５１２を介して例えばコネクティビティ１３２１等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン１５１６の復号により得られた画像データは、コーデックエンジン１５１６により再符号化され、多重化・逆多重化部（MUX DMUX）１５１８により多重化されてファイルデータに変換され、ビデオインタフェース１５２０を介して例えばコネクティビティ１３２１等に出力され、各種記録媒体に記録される。
【０５５５】
さらに、例えば、コネクティビティ１３２１等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース１５２０を介して多重化・逆多重化部（MUX DMUX）１５１８に供給されて逆多重化され、コーデックエンジン１５１６により復号される。コーデックエンジン１５１６の復号により得られた画像データは、画像処理エンジン１５１４により所定の画像処理が施され、ディスプレイエンジン１５１３により所定の変換が行われ、ディスプレイインタフェース１５１２を介して例えばコネクティビティ１３２１等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン１５１６の復号により得られた画像データは、コーデックエンジン１５１６により再符号化され、多重化・逆多重化部（MUX DMUX）１５１８により多重化されてトランスポートストリームに変換され、ネットワークインタフェース１５１９を介して例えばコネクティビティ１３２１やブロードバンドモデム１３３３等に供給され図示せぬ他の装置に伝送される。
【０５５６】
なお、ビデオプロセッサ１３３２内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ１５１５や外部メモリ１３１２を利用して行われる。また、パワーマネージメントモジュール１３１３は、例えば制御部１５１１への電力供給を制御する。
【０５５７】
このように構成されるビデオプロセッサ１３３２に本技術を適用する場合、コーデックエンジン１５１６に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン１５１６が、上述した画像符号化装置１００の機能若しくは画像復号装置２００の機能またはその両方を有するようにすればよい。このようにすることにより、ビデオプロセッサ１３３２は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０５５８】
なお、コーデックエンジン１５１６において、本技術（すなわち、画像符号化装置１００の機能）は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
【０５５９】
以上にビデオプロセッサ１３３２の構成を２例示したが、ビデオプロセッサ１３３２の構成は任意であり、上述した２例以外のものであってもよい。また、このビデオプロセッサ１３３２は、１つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する３次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
【０５６０】
＜装置への適用例＞
ビデオセット１３００は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット１３００は、テレビジョン装置９００（図４２）、携帯電話機９２０（図４３）、記録再生装置９４０（図４４）、撮像装置９６０（図４５）等に組み込むことができる。ビデオセット１３００を組み込むことにより、その装置は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０５６１】
なお、上述したビデオセット１３００の各構成の一部であっても、ビデオプロセッサ１３３２を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ１３３２のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線１３４１により示されるプロセッサやビデオモジュール１３１１等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール１３１１、外部メモリ１３１２、パワーマネージメントモジュール１３１３、およびフロントエンドモジュール１３１４を組み合わせ、本技術を適用したビデオユニット１３６１として実施することもできる。いずれの構成の場合であっても、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０５６２】
つまり、ビデオプロセッサ１３３２を含むものであればどのような構成であっても、ビデオセット１３００の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ１３３２、点線１３４１により示されるプロセッサ、ビデオモジュール１３１１、または、ビデオユニット１３６１を、テレビジョン装置９００（図４２）、携帯電話機９２０（図４３）、記録再生装置９４０（図４４）、撮像装置９６０（図４５）等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット１３００の場合と同様に、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０５６３】
＜第６の応用例：ネットワークシステム＞
また、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。図４９は、本技術を適用したネットワークシステムの概略的な構成の一例を示している。
【０５６４】
図４９に示されるネットワークシステム１６００は、機器同士が、ネットワークを介して画像（動画像）に関する情報を授受するシステムである。このネットワークシステム１６００のクラウドサービス１６０１は、自身に通信可能に接続されるコンピュータ１６１１、AV（Audio Visual）機器１６１２、携帯型情報処理端末１６１３、IoT（Internet of Things）デバイス１６１４等の端末に対して、画像（動画像）に関するサービスを提供するシステムである。例えば、クラウドサービス１６０１は、所謂動画配信（オンデマンドやライブ配信）のような、画像（動画像）のコンテンツの供給サービスを端末に提供する。また、例えば、クラウドサービス１６０１は、端末から画像（動画像）のコンテンツを受け取って保管するバックアップサービスを提供する。また、例えば、クラウドサービス１６０１は、端末同士の画像（動画像）のコンテンツの授受を仲介するサービスを提供する。
【０５６５】
クラウドサービス１６０１の物理構成は任意である。例えば、クラウドサービス１６０１は、動画像を保存し、管理するサーバ、動画像を端末に配信するサーバ、動画像を端末から取得するサーバ、ユーザ（端末）や課金を管理するサーバ等の各種サーバや、インターネットやLAN等の任意のネットワークを有するようにしてもよい。
【０５６６】
コンピュータ１６１１は、例えば、パーソナルコンピュータ、サーバ、ワークステーション等のような情報処理装置により構成される。AV機器１６１２は、例えば、テレビジョン受像機、ハードディスクレコーダ、ゲーム機器、カメラ等のような画像処理装置により構成される。携帯型情報処理端末１６１３は、例えば、ノート型パーソナルコンピュータ、タブレット端末、携帯電話機、スマートフォン等のような携帯型の情報処理装置により構成される。IoTデバイス１６１４は、例えば、機械、家電、家具、その他の物、ICタグ、カード型デバイス等、画像に関する処理を行う任意の物体により構成される。これらの端末は、いずれも通信機能を有し、クラウドサービス１６０１に接続し（セッションを確立し）、クラウドサービス１６０１と情報の授受を行う（すなわち通信を行う）ことができる。また、各端末は、他の端末と通信を行うこともできる。端末間の通信は、クラウドサービス１６０１を介して行うようにしてもよいし、クラウドサービス１６０１を介さずに行うようにしてもよい。
【０５６７】
以上のようなネットワークシステム１６００に本技術を適用し、端末間や、端末とクラウドサービス１６０１との間で画像（動画像）のデータが授受される際に、その画像データを各実施の形態において上述したように符号化・復号するようにしてもよい。つまり、端末（コンピュータ１６１１乃至IoTデバイス１６１４）やクラウドサービス１６０１が、それぞれ、上述した画像符号化装置１００や画像復号装置２００の機能を有するようにしてもよい。このようにすることにより、画像データを授受する端末（コンピュータ１６１１乃至IoTデバイス１６１４）やクラウドサービス１６０１は、図１乃至図２３を参照して上述した各実施の形態と同様の効果を得ることができる。
【０５６８】
＜その他＞
なお、符号化データ（ビットストリーム）に関する各種情報は、符号化データに多重化されて伝送され又は記録されるようにしてもよいし、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る（リンクさせ得る）ようにすることを意味する。つまり、互いに関連付けられたデータは、１つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【０５６９】
また、上述したように、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを１つのデータにまとめるといった、複数の物を１つにまとめることを意味し、上述の「関連付ける」の１つの方法を意味する。
【０５７０】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０５７１】
例えば、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０５７２】
また、例えば、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０５７３】
また、例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０５７４】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能（機能ブロック等）を有し、必要な情報を得ることができるようにすればよい。
【０５７５】
また、例えば、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０５７６】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【０５７７】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術を、他の実施の形態において説明した本技術と組み合わせて実施することもできる。また、上述した任意の本技術を、上述していない他の技術と併用して実施することもできる。
【０５７８】
なお、本技術は以下のような構成も取ることができる。
（１）
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御部
を備える画像処理装置。
（２）
前記制御部は、前記プライマリ変換をスキップさせない場合、前記プライマリ変換および前記セカンダリ変換の変換ブロックサイズが所定のサイズ以上であるとき、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
（１）に記載の画像処理装置。
（３）
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックの水平方向のサイズおよび垂直方向のサイズに基づいて、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
（２）に記載の画像処理装置。
（４）
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記変換ブロックの水平方向および垂直方向のサイズのうちの大きい方が所定値以上であるとき、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
（３）に記載の画像処理装置。
（５）
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記変換ブロックの水平方向と垂直方向のサイズの和または積が所定値以上であるとき、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
（３）に記載の画像処理装置。
（６）
前記帯域制限は、前記逆プライマリ変換および前記逆セカンダリ変換の長方形の変換ブロック内の所定のサイズの正方形の領域以外の領域の帯域制限後の前記セカンダリ変換係数を０にすることにより行われる
ように構成された
（２）乃至（５）のいずれかに記載の画像処理装置。
（７）
前記帯域制限は、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックを構成する画素のうちの、処理順が所定値以上である画素の帯域制限後の前記セカンダリ変換係数を０にすることにより行われる
ように構成された
（２）乃至（５）のいずれかに記載の画像処理装置。
（８）
画像処理装置が、
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御ステップ
を含む画像処理方法。
（９）
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて帯域制限されることにより得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御部
を備える画像処理装置。
（１０）
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックサイズが所定のサイズ以上であるとき、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
（９）に記載の画像処理装置。
（１１）
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックの水平方向のサイズおよび垂直方向のサイズに基づいて、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
（１０）に記載の画像処理装置。
（１２）
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記変換ブロックの水平方向および垂直方向のサイズのうちの大きい方が所定値以上であるとき、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
（１１）に記載の画像処理装置。
（１３）
前記制御部は、前記逆プライマリ変換をスキップさせない場合、前記変換ブロックの水平方向と垂直方向のサイズの和または積が所定値以上であるとき、前記セカンダリ変換係数に対する帯域制限を行わせる
ように構成された
（１１）に記載の画像処理装置。
（１４）
前記帯域制限は、前記逆プライマリ変換および前記逆セカンダリ変換の長方形の変換ブロック内の所定のサイズの正方形の領域以外の領域の帯域制限後の前記セカンダリ変換係数を０にすることにより行われる
ように構成された
（１０）に記載の画像処理装置。
（１５）
前記帯域制限は、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックを構成する画素のうちの、処理順が所定値以上である画素の帯域制限後の前記セカンダリ変換係数を０にすることにより行われる
ように構成された
（１０）に記載の画像処理装置。
（１６）
画像処理装置が、
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換と、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換とをスキップさせる場合、前記プライマリ変換係数が前記セカンダリ変換されて帯域制限されることにより得られるセカンダリ変換係数に対する帯域制限もスキップさせる制御ステップ
を含む画像処理方法。
（１７）
画像と前記画像の予測画像との差分である予測残差から得られる変換係数に対する変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する制御部
を備える画像処理装置。
（１８）
前記制御部は、前記予測残差がプライマリ変換されて得られるプライマリ変換係数に対するセカンダリ変換のスキップを、前記サブブロック毎の前記変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する
（１７）に記載の画像処理装置。
（１９）
前記プライマリ変換係数が量子化されて得られる量子化プライマリ変換係数と、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数が量子化されて得られる量子化セカンダリ変換係数とに基づいて、前記セカンダリ変換をスキップさせるか否かを、前記サブブロック毎に判定する判定部をさらに備え、
前記制御部は、前記判定部による判定の結果に応じて、前記プライマリ変換係数に対する前記セカンダリ変換のスキップを、前記サブブロック毎に制御するように構成される
（１７）または（１８）に記載の画像処理装置。
（２０）
前記判定部は、前記量子化プライマリ変換係数の非ゼロ係数の数と、前記量子化セカンダリ変換係数の非ゼロ係数の数とを求め、求めた前記量子化プライマリ変換係数の非ゼロ係数の数と、前記量子化セカンダリ変換係数の非ゼロ係数の数と、所定の閾値とに基づいて、前記セカンダリ変換をスキップさせるか否かを、前記サブブロック毎に判定する
（１７）乃至（１９）のいずれかに記載の画像処理装置。
（２１）
前記判定部は、前記量子化プライマリ変換係数の非ゼロ係数の数が前記量子化セカンダリ変換係数の非ゼロ係数の数以下の場合であって、かつ、前記量子化プライマリ変換係数の非ゼロ係数の数、または、前記量子化セカンダリ変換係数の非ゼロ係数の数が、前記閾値以下の場合、前記セカンダリ変換をスキップさせるように判定する
（１７）乃至（２０）のいずれかに記載の画像処理装置。
（２２）
前記プライマリ変換係数を量子化して前記量子化プライマリ変換係数を求め、前記セカンダリ変換係数を量子化して前記量子化セカンダリ変換係数を求める量子化部をさらに備え、
前記判定部は、前記量子化部により量子化されて得られた前記量子化プライマリ変換係数および前記量子化セカンダリ変換係数に基づいて、前記セカンダリ変換をスキップさせるか否かを、前記サブブロック毎に判定するように構成される
（１７）乃至（２１）のいずれかに記載の画像処理装置。
（２３）
前記プライマリ変換は直交変換であり、
前記セカンダリ変換は、
前記プライマリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（１７）乃至（２２）のいずれかに記載の画像処理装置。
（２４）
前記プライマリ変換を行うプライマリ変換部と、
前記制御部の制御に従って前記セカンダリ変換を行うセカンダリ変換部と
をさらに備える（１７）乃至（２３）のいずれかに記載の画像処理装置。
（２５）
前記セカンダリ変換部により前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数または前記プライマリ変換係数に対して量子化を行う量子化部と、
前記量子化部により前記セカンダリ変換係数または前記プライマリ変換係数が量子化されて得られる量子化変換係数レベルを符号化する符号化部と
をさらに備える（１７）乃至（２４）のいずれかに記載の画像処理装置。
（２６）
画像と前記画像の予測画像との差分である予測残差から得られる変換係数に対する変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する
画像処理方法。
（２７）
逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する制御部
を備える画像処理装置。
（２８）
前記制御部は、符号化データが復号されて得られるセカンダリ変換係数に対する逆セカンダリ変換のスキップを、前記サブブロック毎の前記変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する
（２７）に記載の画像処理装置。
（２９）
前記セカンダリ変換係数に基づいて、前記逆セカンダリ変換をスキップさせるか否かを、前記サブブロック毎に判定する判定部をさらに備え、
前記制御部は、前記判定部による判定の結果に応じて、前記逆セカンダリ変換のスキップを、前記サブブロック毎に制御するように構成される
（２７）または（２８）に記載の画像処理装置。
（３０）
前記判定部は、前記セカンダリ変換係数の非ゼロ係数の数が、所定の閾値以下の場合、前記逆セカンダリ変換をスキップさせるように判定する
（２７）乃至（２９）のいずれかに記載の画像処理装置。
（３１）
前記逆セカンダリ変換は、
前記セカンダリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（２７）乃至（３０）のいずれかに記載の画像処理装置。
（３２）
前記制御部の制御に従って前記逆セカンダリ変換を行う逆セカンダリ変換部をさらに備える
（２７）乃至（３１）のいずれかに記載の画像処理装置。
（３３）
前記逆セカンダリ変換部により前記セカンダリ変換係数が前記逆セカンダリ変換されて得られるプライマリ変換係数を前記予測残差に変換する逆プライマリ変換を行う逆プライマリ変換部をさらに備える
（２７）乃至（３２）のいずれかに記載の画像処理装置。
（３４）
前記符号化データが復号されて得られる量子化変換係数レベルを逆量子化する逆量子化部をさらに備え、
前記逆セカンダリ変換部は、前記逆量子化部により前記量子化変換係数レベルが逆量子化されて得られる前記セカンダリ変換係数に対して、前記制御部の制御に従って前記逆セカンダリ変換を行うように構成される
（２７）乃至（３３）のいずれかに記載の画像処理装置。
（３５）
前記符号化データを復号する復号部をさらに備え、
前記逆量子化部は、前記復号部により前記符号化データが復号されて得られる前記量子化変換係数レベルを逆量子化するように構成される
（２７）乃至（３４）のいずれかに記載の画像処理装置。
（３６）
逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数に対する逆変換処理のスキップを、サブブロック毎の変換係数の非ゼロ係数の数に基づいて、前記サブブロック毎に制御する
画像処理方法。
（３７）
変換係数に対する変換処理の行列を、前記変換処理の内容とスキャン方法とに基づいて設定する設定部と、
画像と前記画像の予測画像との差分である予測残差が変換処理されて得られる変換係数を１次元のベクトルに変換するラスタライズ部と、
前記設定部により設定された前記行列を用いて、前記１次元のベクトルに対する行列演算を行う行列演算部と、
前記行列演算が行われた前記１次元のベクトルに対してスケーリングを行うスケーリング部と、
スケーリングされた前記１次元のベクトルを行列化する行列化部と
を備える画像処理装置。
（３８）
前記行列の候補を記憶する記憶部をさらに備え、
前記設定部は、前記変換処理の内容および前記スキャン方法に対応する前記行列を、前記記憶部に記憶されている前記行列の候補の中から選択することにより、前記行列を設定するように構成される
（３７）に記載の画像処理装置。
（３９）
前記設定部は、前記変換処理の内容と、前記ラスタライズ部および前記行列化部において採用される前記スキャン方法とに対応する前記行列を設定する
（３７）または（３８）に記載の画像処理装置。
（４０）
前記設定部は、前記変換処理の内容を示す変換識別子と、前記スキャン方法に関する情報であるスキャン識別子とに基づいて前記行列を設定する
（３７）乃至（３９）のいずれかに記載の画像処理装置。
（４１）
前記変換識別子は、前記予測残差がプライマリ変換されて得られるプライマリ変換係数に対するセカンダリ変換の内容を示すセカンダリ変換識別子であり、
前記設定部は、前記予測残差がプライマリ変換されて得られるプライマリ変換係数に対するセカンダリ変換の行列を、前記セカンダリ変換識別子および前記スキャン識別子に基づいて設定するように構成される
（３７）乃至（４０）のいずれかに記載の画像処理装置。
（４２）
前記プライマリ変換は直交変換である
（３７）乃至（４１）のいずれかに記載の画像処理装置。
（４３）
前記プライマリ変換を行うプライマリ変換部をさらに備える
（３７）乃至（４２）のいずれかに記載の画像処理装置。
（４４）
前記行列化部によりスケーリングされた前記１次元のベクトルが行列化されて得られるセカンダリ変換係数を量子化する量子化部をさらに備える
（３７）乃至（４３）のいずれかに記載の画像処理装置。
（４５）
前記量子化部により前記セカンダリ変換係数が量子化されて得られる量子化変換係数レベルを符号化する符号化部をさらに備える
（３７）乃至（４４）のいずれかに記載の画像処理装置。
（４６）
変換係数に対する変換処理の行列を、前記変換処理の内容とスキャン方法とに基づいて設定し、
画像と前記画像の予測画像との差分である予測残差が変換処理されて得られる変換係数を１次元のベクトルに変換し、
設定された前記行列を用いて、前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルに対してスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
画像処理方法。
（４７）
変換係数に対する逆変換処理の行列を、前記逆変換処理の内容とスキャン方法とに基づいて設定する設定部と、
逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数を１次元のベクトルに変換するラスタライズ部と、
前記設定部により設定された前記行列を用いて、前記１次元のベクトルに対する行列演算を行う行列演算部と、
前記行列演算が行われた前記１次元のベクトルに対してスケーリングを行うスケーリング部と、
スケーリングされた前記１次元のベクトルを行列化する行列化部と
を備える画像処理装置。
（４８）
前記行列の候補を記憶する記憶部をさらに備え、
前記設定部は、前記逆変換処理の内容および前記スキャン方法に対応する前記行列を、前記記憶部に記憶されている前記行列の候補の中から選択することにより、前記行列を設定するように構成される
（４７）に記載の画像処理装置。
（４９）
前記設定部は、前記逆変換処理の内容と、前記ラスタライズ部および前記行列化部において採用される前記スキャン方法とに対応する前記行列を設定する
（４７）または（４８）に記載の画像処理装置。
（５０）
前記設定部は、前記逆変換処理の内容を示す変換識別子と、前記スキャン方法に関する情報であるスキャン識別子とに基づいて前記行列を設定する
（４７）乃至（４９）のいずれかに記載の画像処理装置。
（５１）
前記変換識別子は、符号化データが復号されて得られるセカンダリ変換係数に対する逆セカンダリ変換の内容を示すセカンダリ変換識別子であり、
前記設定部は、前記逆セカンダリ変換の行列を、前記セカンダリ変換識別子および前記スキャン識別子に基づいて設定するように構成され、
前記ラスタライズ部は、前記セカンダリ変換係数を前記１次元のベクトルに変換するように構成され、
前記行列化部は、スケーリングされた前記１次元のベクトルを行列化してプライマリ変換係数を得るように構成される
（４７）乃至（５０）のいずれかに記載の画像処理装置。
（５２）
前記行列化部により得られた前記プライマリ変換係数に対して前記逆プライマリ変換を行い、前記予測残差を得る逆プライマリ変換部をさらに備える
（４７）乃至（５１）のいずれかに記載の画像処理装置。
（５３）
前記逆プライマリ変換は逆直交変換である
（４７）乃至（５２）のいずれかに記載の画像処理装置。
（５４）
符号化データが復号されて得られる量子化変換係数レベルを逆量子化する逆量子化部をさらに備え、
前記ラスタライズ部は、前記逆量子化部により前記量子化変換係数レベルが逆量子化されて得られる前記セカンダリ変換係数を前記１次元のベクトルに変換するように構成される
（４７）乃至（５３）のいずれかに記載の画像処理装置。
（５５）
前記符号化データを復号する復号部をさらに備え、
前記逆量子化部は、前記復号部により前記符号化データが復号されて得られる前記量子化変換係数レベルを逆量子化するように構成される
（４７）乃至（５４）のいずれかに記載の画像処理装置。
（５６）
変換係数に対する逆変換処理の行列を、前記逆変換処理の内容とスキャン方法とに基づいて設定し、
逆変換処理することにより画像と前記画像の予測画像との差分である予測残差が得られる変換係数を１次元のベクトルに変換し、
設定された前記行列を用いて、前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルに対してスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
画像処理方法。
【符号の説明】
【０５７９】
１００  画像符号化装置，  １０１  制御部，  １１１  演算部，  １１２  変換部，  １１３  量子化部，  １１４  符号化部，  １１５  逆量子化部，  １１６  逆変換部，  １１７  演算部，  １１８  フレームメモリ，  １１９  予測部，  １３１  プライマリ変換部，  １３２  セカンダリ変換部，  １４１  ラスタライズ部，  １４２  行列演算部，  １４３  スケーリング部，  １４４  行列化部，  １４５  セカンダリ変換選択部，  １４６  量子化部，  １４７  非ゼロ係数数判定部，  １４８  スイッチ，  ２００  画像復号装置，  ２１１  復号部，  ２１２  逆量子化部，  ２１３  逆変換部，  ２１４  演算部，  ２１５  フレームメモリ，  ２１６  予測部，  ２３１  逆セカンダリ変換部，  ２３２  逆プライマリ変換部，  ２４１  非ゼロ係数数判定部，  ２４２  スイッチ，  ２４３  ラスタライズ部，  ２４４  行列演算部，  ２４５  スケーリング部，  ２４６  行列化部，  ２４７  逆セカンダリ変換選択部，  ３０１  セカンダリ変換選択部，  ３１１  セカンダリ変換導出部，  ３１２  セカンダリ変換保持部，  ３２１  逆セカンダリ変換選択部，  ３３１  逆セカンダリ変換導出部，  ３３２  逆セカンダリ変換保持部，  ４２１，４４１  スイッチ
【図１】
2017195667.tif 000015
【図２】
2017195667.tif 000016
【図３】
2017195667.tif 000017
【図４】
2017195667.tif 000018
【図５】
2017195667.tif 000019
【図６】
2017195667.tif 000020
【図７】
2017195667.tif 000021
【図８】
2017195667.tif 000022
【図９】
2017195667.tif 000023
【図１０】
2017195667.tif 000024
【図１１】
2017195667.tif 000025
【図１２】
2017195667.tif 000026
【図１３】
2017195667.tif 000027
【図１４】
2017195667.tif 000028
【図１５】
2017195667.tif 000029
【図１６】
2017195667.tif 000030
【図１７】
2017195667.tif 000031
【図１８】
2017195667.tif 000032
【図１９】
2017195667.tif 000033
【図２０】
2017195667.tif 000034
【図２１】
2017195667.tif 000035
【図２２】
2017195667.tif 000036
【図２３】
2017195667.tif 000037
【図２４】
2017195667.tif 000038
【図２５】
2017195667.tif 000039
【図２６】
2017195667.tif 000040
【図２７】
2017195667.tif 000041
【図２８】
2017195667.tif 000042
【図２９】
2017195667.tif 000043
【図３０】
2017195667.tif 000044
【図３１】
2017195667.tif 000045
【図３２】
2017195667.tif 000046
【図３３】
2017195667.tif 000047
【図３４】
2017195667.tif 000048
【図３５】
2017195667.tif 000049
【図３６】
2017195667.tif 000050
【図３７】
2017195667.tif 000051
【図３８】
2017195667.tif 000052
【図３９】
2017195667.tif 000053
【図４０】
2017195667.tif 000054
【図４１】
2017195667.tif 000055
【図４２】
2017195667.tif 000056
【図４３】
2017195667.tif 000057
【図４４】
2017195667.tif 000058
【図４５】
2017195667.tif 000059
【図４６】
2017195667.tif 000060
【図４７】
2017195667.tif 000061
【図４８】
2017195667.tif 000062
【図４９】
2017195667.tif 000063
【国際調査報告】
2017195667.tif 000064
2017195667.tif 000065
2017195667.tif 000066
2017195667.tif 000067
2017195667.tif 000068
2017195667.tif 000069
2017195667.tif 000070
2017195667.tif 000071