(57)【要約】  本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換をスキップさせる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換もスキップさせる。本開示は、例えば、画像処理装置、画像符号化装置、または画像復号装置等に適用することができる。
2017195476.tif 000002
【特許請求の範囲】
【請求項１】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換をスキップさせる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換もスキップさせる制御部
を備える画像処理装置。
【請求項２】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換をスキップさせる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換もスキップさせる
画像処理方法。
【請求項３】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換をスキップさせる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換もスキップさせる制御部
を備える画像処理装置。
【請求項４】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換をスキップさせる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換もスキップさせる
画像処理方法。
【請求項５】
画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対してセカンダリ変換が行われる場合、前記プライマリ変換のスキップに関する第１の情報の符号化をスキップする符号化部
を備える画像処理装置。
【請求項６】
画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対してセカンダリ変換が行われる場合、前記プライマリ変換のスキップに関する第１の情報の符号化をスキップする
画像処理方法。
【請求項７】
画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換が行われる場合、前記プライマリ変換の逆変換である逆プライマリ変換のスキップに関する第１の情報の符号化データの復号をスキップする復号部
画像処理装置。
【請求項８】
画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換が行われる場合、前記プライマリ変換の逆変換である逆プライマリ変換のスキップに関する第１の情報の符号化データの復号をスキップする
画像処理方法。
【請求項９】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換がスキップされる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする符号化部
を備える画像処理装置。
【請求項１０】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換がスキップされる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする
画像処理方法。
【請求項１１】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換がスキップされる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする復号部
を備える画像処理装置。
【請求項１２】
前記復号部は、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックの水平方向のサイズおよび垂直方向のサイズに基づいて、前記逆プライマリ変換のスキップに関する逆プライマリ変換スキップ情報の復号をスキップする
ように構成された
請求項１１に記載の画像処理装置。
【請求項１３】
前記復号部は、前記変換ブロックの水平方向および垂直方向のサイズのうちの大きい方が所定値より大きい場合、前記逆プライマリ変換スキップ情報の復号をスキップする
ように構成された
請求項１２に記載の画像処理装置。
【請求項１４】
前記復号部は、前記変換ブロックの水平方向と垂直方向のサイズの和または積が所定値より大きい場合、前記逆プライマリ変換スキップ情報の復号をスキップする
ように構成された
請求項１２に記載の画像処理装置。
【請求項１５】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換がスキップされる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする
画像処理方法。
【請求項１６】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合、前記プライマリ変換の内容を示す第１の情報の符号化をスキップする符号化部
を備える画像処理装置。
【請求項１７】
画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合、前記プライマリ変換の内容を示す第１の情報の符号化をスキップする
画像処理方法。
【請求項１８】
符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、前記量子化変換係数レベルが前記逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、前記プライマリ変換係数を画像と前記画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、前記逆プライマリ変換の内容に関する第１の情報の符号化データの復号をスキップする復号部
を備える画像処理装置。
【請求項１９】
符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、前記量子化変換係数レベルが前記逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、前記プライマリ変換係数を画像と前記画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、前記逆プライマリ変換の内容に関する第１の情報の符号化データの復号をスキップする
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
従来、画像符号化において、画像とその予測画像の差分である予測残差に対してプライマリ変換を行った後に、さらに、エナジーコンパクションを高める（低域に変換係数を集中させる）ために、変換ブロック内のサブブロック毎に、セカンダリ変換を適用することが開示されている（例えば、非特許文献１参照）。その非特許文献１には、どのセカンダリ変換を適用するかを示すセカンダリ変換識別子をCU単位でシグナルすることも開示されている。【０００３】
また、エンコーダにおいて、RDO（Rate-Distortion Optimization）に基づいて、非特許文献１に記載のCU単位でどのセカンダリ変換を適用するか決定するのは、計算複雑度が大きく、変換ブロック単位でのセカンダリ変換を適用するか否かを示すセカンダリ変換フラグをシグナルすることが開示されている（例えば、非特許文献２参照）。その非特許文献２には、どのセカンダリ変換を適用するかを示すセカンダリ変換識別子を、プライマリ変換識別子およびイントラ予測モードに基づいて導出することも開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】J. Chen, E. Alshina, G. J. Sullivan, J. R. Ohm, J. 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の形状を説明する図である。
【図４５】シンタクステーブルの例を示す図である。
【図４６】符号化部の主な構成例を示すブロック図である。
【図４７】符号化処理の流れの例を説明するフローチャートである。
【図４８】符号化処理の流れの例を説明する、図４７に続くフローチャートである。
【図４９】復号部の主な構成例を示すブロック図である。
【図５０】復号処理の流れの例を説明するフローチャートである。
【図５１】復号処理の流れの例を説明する、図５０に続くフローチャートである。
【図５２】JEM-4.0における冗長なシンタックスについて説明するための図である。
【図５３】冗長なシンタックスを抑制する方法の例について説明するための図である。
【図５４】変換ユニットのシンタックスの例について説明するための図である。
【図５５】残差符号化のシンタックスの例について説明するための図である。
【図５６】符号化部の主な構成例を示すブロック図である。
【図５７】符号化処理の流れの例を説明するフローチャートである。
【図５８】変換ユニットのシンタックスの例について説明するための図である。
【図５９】残差符号化のシンタックスの例について説明するための図である。
【図６０】残差符号化のシンタックスの例について説明するための図である。
【図６１】復号部の主な構成例を示すブロック図である。
【図６２】復号処理の流れの例を説明するフローチャートである。
【図６３】JVET-E0037における冗長なシンタックスについて説明するための図である。
【図６４】冗長なシンタックスを抑制する方法の例について説明するための図である。
【図６５】変換ユニットのシンタックスの例について説明するための図である。
【図６６】残差符号化のシンタックスの例について説明するための図である。
【図６７】符号化処理の流れの例を説明するフローチャートである。
【図６８】残差符号化のシンタックスの例について説明するための図である。
【図６９】復号処理の流れの例を説明するフローチャートである。
【図７０】コンピュータの主な構成例を示すブロック図である。
【図７１】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図７２】携帯電話機の概略的な構成の一例を示すブロック図である。
【図７３】記録再生装置の概略的な構成の一例を示すブロック図である。
【図７４】撮像装置の概略的な構成の一例を示すブロック図である。
【図７５】ビデオセットの概略的な構成の一例を示すブロック図である。
【図７６】ビデオプロセッサの概略的な構成の一例を示すブロック図である。
【図７７】ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
【図７８】ネットワークシステムの概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００３３】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（（逆）変換スキップに応じた（逆）セカンダリ変換のスキップ）
２．第２の実施の形態（（逆）セカンダリ変換に応じた変換スキップフラグの符号化・復号のスキップ）
３．第３の実施の形態（（逆）変換スキップに応じたセカンダリ変換フラグの符号化・復号のスキップ）
４．第４の実施の形態（非ゼロ係数のサブブロック平均に応じたセカンダリ変換フラグの符号化・復号のスキップ）
５．第５の実施の形態（変換量子化のバイパスに応じたプライマリ変換識別子の符号化・復号のスキップ）
６．第６の実施の形態（ブロックが正方形または長方形からなる矩形である場合の変換スキップフラグの符号化・復号のスキップ）
７．第７の実施の形態（適応プライマリ変換フラグと変換スキップフラグの制御）
８．第８の実施の形態（適応プライマリ変換フラグと変換スキップフラグの制御）
９．第９の実施の形態（その他）
【００３４】
＜１．第１の実施の形態＞
＜変換処理のスキップ＞
例えば非特許文献１には、画像符号化において、画像とその予測画像の差分である予測残差に対してプライマリ変換を行った後に、さらに、エナジーコンパクションを高める（低域に変換係数を集中させる）ために、変換ブロック内のサブブロック毎に、セカンダリ変換を適用することが開示されている。また、その非特許文献１には、どのセカンダリ変換を適用するかを示すセカンダリ変換識別子をCU単位でシグナルすることも開示されている。
【００３５】
また、例えば非特許文献２には、エンコーダにおいて、RDO（Rate-Distortion Optimization）に基づいて、非特許文献１に記載のCU単位でどのセカンダリ変換を適用するか決定するのは、計算複雑度が大きく、変換ブロック単位でのセカンダリ変換を適用するか否かを示すセカンダリ変換フラグをシグナルすることが開示されている。また、その非特許文献２には、どのセカンダリ変換を適用するかを示すセカンダリ変換識別子を、プライマリ変換識別子およびイントラ予測モードに基づいて導出することも開示されている。
【００３６】
しかしながら、非特許文献１および非特許文献２のいずれに記載の方法においても、変換ブロック単位で変換スキップフラグが１、すなわち、変換スキップを適用することを示す場合、プライマリ変換にのみ変換スキップが適用されていた。すなわち、プライマリ変換のみ変換スキップが適用された場合にも、セカンダリ変換が適用されうる。そのため、変換スキップのコンセプトを鑑みた場合に、セカンダリ変換をスキップ（省略）することができず、演算量が増大するおそれがあった。また、例えば非ゼロ係数（非ゼロ変換係数とも称する）が少ない疎な残差信号のような、変換スキップを適用した方が良い残差信号に対して、変換スキップフラグによって変換スキップを適用するようにしても、セカンダリ変換が適用されてしまい、エナジーコンパクションが低下し、符号化効率が低減するおそれがあった。
【００３７】
プライマリ変換では、プライマリ変換識別子pt_idxで指定される水平方向のプライマリ変換Phorおよび垂直方向のプライマリ変換Pverが選択され、予測残差Ｄに対して、例えば以下の式（１）のように行列演算が行われ、プライマリ変換後の変換係数Coeff_P（プライマリ変換係数とも称する）が得られる。
【００３８】
Coeff_P = Phor ・D・PverT
・・・（１）
【００３９】
なお、式（１）において、演算子"・"は、行列同士の内積（行列積）を行う操作を示し、演算子"T"は、転置行列の操作を示す。以上のように求められたプライマリ変換係数（Coeff_P）は、次に、セカンダリ変換が行われる。また、上述のようなプライマリ変換がスキップ（省略）される場合、予測残差Ｄがセカンダリ変換される。
【００４０】
例えば、予測残差Ｄが、以下の式（２）に示されるように４×４の行列＝[[255,0,0,0],[0,0,0,0], [0,0,0,0],[0,0,0,0]]であり、スキャン識別子scanIdxが水平スキャンhorを示すとする。
【００４１】
【数１】
2017195476.tif 000003
・・・（２）
【００４２】
予測残差Ｄは、水平スキャンの係数のスキャン順に沿ってスキャンされ、以下の式（３）に示されるような１×１６次元のベクトルX1dに変換される。
【００４３】
【数２】
2017195476.tif 000004
・・・（３）
【００４４】
この１×１６次元のベクトルX1dとセカンダリ変換の行列Ｒを用いて、以下の式（４）のような行列演算が行われ、以下の式（４）に示されるような信号Y1dが求められる。
【００４５】
Y1dT = R ・X1dT
・・・（４）
【００４６】
ここで、演算子"T"は、転置行列の操作を表す。この行列演算により、例えば、以下の式（５）に示されるような信号Y1dが得られる。
【００４７】
【数３】
2017195476.tif 000005
・・・（５）
【００４８】
この演算結果Y1dのノルムを正規化するために、以下の式（６）のようなＮビットのビットシフト演算が行われ、ビットシフト後の信号Z1dが求められる。
【００４９】
Z1d = （ Y1d )>>N
・・・（６）
【００５０】
このビットシフト演算により、例えば、以下の式（７）に示されるような信号Z1dが得られる。
【００５１】
【数４】
2017195476.tif 000006
・・・（７）
【００５２】
ノルム正規化後の信号Z1dは、スキャン識別子scanIdxによって指定されるスキャン方法に基づいて、１×１６次元のベクトルZ1dが以下の式（８）に示されるような４×４行列Coeffに変換される。
【００５３】
【数５】
2017195476.tif 000007
・・・（８）
【００５４】
式（２）のような非ゼロ係数の数が少ない（疎な残差信号）残差信号（予測残差）の場合、プライマリ変換をスキップし、そのあとに、セカンダリ変換を適用した場合、式（８）のように非ゼロ係数が周波数ドメイン全体に広がるおそれがあった。すなわち、セカンダリ変換を適用することにより、エナジーコンパクションが低下し、符号化効率が低減するおそれがあった。
【００５５】
＜セカンダリ変換・逆セカンダリ変換のスキップ＞
そこで、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換をスキップさせる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換もスキップさせるようにする。
【００５６】
このようにすることにより、プライマリ変換だけでなくセカンダリ変換もスキップすることができるようになるので、演算量の増大を抑制することができる。また、上述した例のように、非ゼロ係数が少なく、変換スキップを適用した方が良い残差信号に対してセカンダリ変換を適用することを抑制することができ、エナジーコンパクションの低減を抑制することができる。すなわち、符号化効率の低減を抑制することができる。
【００５７】
また、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換をスキップさせる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換もスキップさせるようにする。
【００５８】
このようにすることにより、逆プライマリ変換だけでなく逆セカンダリ変換もスキップすることができるようになるので、演算量の増大を抑制することができる。また、上述した例のように、非ゼロ係数が少なく、変換スキップを適用した方が良い残差信号に対して逆セカンダリ変換を適用することを抑制することができ、エナジーコンパクションの低減を抑制することができる。すなわち、符号化効率の低減を抑制することができる。
【００５９】
＜ブロック分割＞
ところで、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（Coding Tree Unit）という。
【００６２】
図１の上部には、一例として、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）、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域（処理単位）が含まれるものとする。
【００６８】
＜画像符号化装置＞
図５は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図５に示される画像符号化装置１００は、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に含まれる符号化ツールのオンオフフラグとしては、以下に示す変換、量子化処理に関わるオンオフフラグがある。なお、符号化ツールのオンオフフラグは、該符号化ツールに関わるシンタックスが符号化データ中に存在するか否かを示すフラグとも解釈することができる。また、オンオフフラグの値が１（真）の場合、該符号化ツールが使用可能であることを示し、オンオフフラグの値が０（偽）の場合、該符号化ツールが使用不可であることを示す。なお、フラグ値の解釈は逆であってもいい。
【００７４】
セカンダリ変換有効フラグ（st_enabled_flag）は、変換処理およびその逆処理の１つとして、セカンダリ変換をする符号化ツールまたはその逆変換（逆セカンダリ変換）をする符号化ツールが使用可能か否かを示すフラグである。換言するに、このセカンダリ変換有効フラグは、対象とするデータ単位において、セカンダリ変換または逆セカンダリ変換（（逆）セカンダリ変換とも称する）が許可されているか否かを示す情報である。さらに換言するに、このセカンダリ変換有効フラグは、対象とするデータ単位における（逆）セカンダリ変換の許可に関する情報である。
【００７５】
例えば、このセカンダリ変換有効フラグst_enabled_flagが１（真）の場合、（逆）セカンダリ変換が許可されている（（逆）セカンダリ変換を実行することができる）。また、セカンダリ変換有効フラグst_enabled_flagが０（偽）の場合、（逆）セカンダリ変換が許可されていない（（逆）セカンダリ変換を実行することができない）。
【００７６】
変換量子化バイパス有効フラグ（transquant_bypass_enabled_flag）は、変換および量子化、または、その逆処理（逆変換および逆量子化）の１つとして、変換および量子化、または、逆量子化および逆変換をスキップする符号化ツールが使用可能か否かを示すフラグである。換言するに、この変換量子化バイパス有効フラグは、対象とするデータ単位において、変換および量子化、または、逆量子化および逆変換（（逆）変換および（逆）量子化とも称する）のスキップ（バイパス）を許可するか否かを示す情報である。さらに換言するに、この変換量子化バイパス有効フラグは、対象とするデータ単位における（逆）変換および（逆）量子化のスキップ（バイパス）の許可に関する情報である。
【００７７】
例えば、この変換量子化バイパス有効フラグtransquant_bypass_enabled_flagが１（真）の場合、（逆）変換および（逆）量子化のバイパスが許可されている。すなわち、（逆）変換および（逆）量子化をバイパスすることができる。また、変換量子化バイパス有効フラグtransquant_bypass_enabled_flagが０（偽）の場合、（逆）変換および（逆）量子化のバイパスが許可されていない。すなわち、（逆）変換および（逆）量子化をバイパスすることができない。
【００７８】
変換スキップ有効フラグ（ts_enabled_flag）は、変換処理およびその逆処理の１つとして、プライマリ変換およびセカンダリ変換を含む（逆）変換をスキップする符号化ツールが使用可能か示すフラグである。換言するに、この変換スキップ有効フラグは、対象とするデータ単位において、（逆）変換のスキップが許可されているか否かを示す情報である。さらに換言するに、この変換スキップ有効フラグは、対象とするデータ単位における（逆）変換のスキップの許可に関する情報である。
【００７９】
例えば、この変換スキップ有効フラグts_enabled_flagが１（真）の場合、（逆）変換のスキップが許可されている。すなわち、（逆）変換をスキップすることができる。また、変換スキップ有効フラグts_enabled_flagが０（偽）の場合、（逆）変換のスキップが許可されていない。すなわち、（逆）変換をスキップすることができない。
【００８０】
なお、非特許文献１や非特許文献２に記載の方法の場合、この変換スキップ有効フラグは、上述のように、プライマリ変換または逆プライマリ変換（（逆）プライマリ変換とも称する）にしか作用しなかった。そのため、本明細書においては、この変換スキップ有効フラグが、『（逆）プライマリ変換』に関する情報とみなして説明する場合もある。つまり、例えば、この変換スキップ有効フラグが、「対象とするデータ単位における『（逆）プライマリ変換』のスキップの許可に関する情報（対象とするデータ単位において、『（逆）プライマリ変換』のスキップが許可されているか否かを示す情報）」であるとして説明する場合もある。
【００８１】
もちろん、ヘッダ情報Hinfoの内容は任意であり、上述した例以外のどのような情報がこのヘッダ情報Hinfoに含まれるようにしてもよい。
【００８２】
予測モード情報Pinfoには、例えば、以下のような情報が含まれる。
【００８３】
PUサイズPUSizeは、処理対象PUのPUサイズ（予測ブロックサイズ）を示す情報である。イントラ予測モード情報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、変換ブロックサイズとも称する）は、処理対象変換ブロックのブロックサイズを示す情報である。
【００８７】
変換量子化バイパスフラグ（transquant_bypass_flag）は、対象とするデータ単位において、（逆）変換および（逆）量子化をスキップ（バイパス）するか否かを示す情報である（例えば、JCTVC-W1005, 7.3.8.5 Coding unit syntax中のcu_transquant_bypass_flag等）。換言するに、この変換量子化バイパスフラグは、対象とするデータ単位における（逆）変換および（逆）量子化のスキップ（バイパス）に関する情報である。
【００８８】
例えば、この変換量子化バイパスフラグtransquant_bypass _flagが１（真）の場合、（逆）変換および（逆）量子化がバイパスされる。また、変換量子化バイパス有効フラグtransquant_bypass _flagが０（偽）の場合、（逆）変換および（逆）量子化がバイパスされない。
【００８９】
変換スキップフラグ（ts_flag）は、（逆）変換をスキップするか否かを示す情報である（例えば、JCTVC-W1005, 7.3.8.11 Residual coding syntax syntax中のtransfrom_skip_flag等）。換言するに、この変換スキップフラグは、対象とするデータ単位における（逆）変換のスキップに関する情報である。
【００９０】
例えば、この変換スキップフラグts_flagが１（真）の場合、（逆）変換（（逆）プライマリ変換）がスキップされる。また、変換スキップフラグts_flagが０（偽）の場合、（逆）変換（（逆）プライマリ変換）が実行される。
【００９１】
なお、非特許文献１や非特許文献２に記載の方法の場合、この変換スキップフラグは、上述のように、（逆）プライマリ変換とも称するにしか作用しなかった。そのため、本明細書においては、この変換スキップフラグが、『（逆）プライマリ変換』に関する情報とみなして説明する場合もある。つまり、例えば、この変換スキップフラグが、「対象とするデータ単位における『（逆）プライマリ変換』のスキップに関する情報（対象とするデータ単位において、『（逆）プライマリ変換』をスキップするか否かを示す情報）」であるとして説明する場合もある。
【００９２】
プライマリ変換識別子（pt_idx）は、対象とするデータ単位において、垂直方向、及び水平方向の（逆）プライマリ変換にどの（逆）プライマリ変換を適用するかを示す識別子である（例えば、JVET-B1001、2.5.1 Adaptive multiple Core transformを参照。JEM2ではemt_idxとも称する）。換言するに、このプライマリ変換識別子は、対象とするデータ単位における（逆）プライマリ変換の内容に関する情報である。
【００９３】
セカンダリ変換識別子（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を量子化部１１３に供給する。なお、変換部１１２は、変換スキップまたは変換量子化バイパス時に、変換処理（プライマリ変換およびセカンダリ変換）をスキップ（省略）し、予測残差Ｄを変換係数Coeffとして量子化部１１３に供給することもできる。
【０１０１】
量子化部１１３は、制御部１０１から供給される変換情報Tinfoに基づいて、変換部１１２から供給される変換係数Coeffをスケーリング（量子化）する。つまり、量子化部１１３は、変換処理が行われた変換係数Coeff、または、変換処理がスキップ（省略）された変換係数Coeff（つまり予測残差Ｄ）の量子化を行う。量子化部１１３は、その量子化により得られた量子化後の変換係数、すなわち量子化変換係数レベルlevelを符号化部１１４および逆量子化部１１５に供給する。なお、量子化部１１３は、変換量子化バイパス時に、量子化処理をスキップ（省略）し、変換係数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を逆変換部１１６に供給する。なお、逆量子化部１１５は、変換量子化バイパス時に、逆量子化処理をスキップ（省略）し、量子化変換係数レベルlevelを変換係数Coeff_IQとして逆変換部１１６に供給することもできる。この逆量子化部１１５により行われる逆量子化は、量子化部１１３により行われる量子化の逆処理であり、後述する画像復号装置において行われる逆量子化と同様の処理である。したがって、この逆量子化については、画像復号装置に関する説明において後述する。
【０１０８】
逆変換部１１６は、制御部１０１から供給される変換情報Tinfoに基づいて、逆量子化部１１５から供給される変換係数Coeff_IQに対して逆変換を行い、予測残差Ｄ’を導出する。逆変換部１１６は、その予測残差Ｄ’を演算部１１７に供給する。なお、逆変換部１１６は、変換スキップまたは変換量子化バイパス時に、逆変換処理（逆セカンダリ変換および逆プライマリ変換）をスキップ（省略）し、変換係数Coeff_IQを予測残差Ｄ'としてとして演算部１１７に供給することもできる。この逆変換部１１６により行われる逆変換は、変換部１１２により行われる変換の逆処理であり、後述する画像復号装置において行われる逆変換と同様の処理である。したがって、この逆変換については、画像復号装置に関する説明において後述する。
【０１０９】
演算部１１７は、逆変換部１１６から供給される予測残差Ｄ’と、予測部１１９より供給される、その予測残差Ｄ’に対応する予測画像Ｐ（予測信号）とを、以下の式（１０）のように加算して局所復号画像Recを導出する。演算部１１７は、その局所復号画像Recをフレームメモリ１１８に供給する。
【０１１０】
Rec＝Ｄ’＋Ｐ
・・・（１０）
【０１１１】
フレームメモリ１１８は、演算部１１７より供給される局所復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、フレームメモリ１１８内のバッファへ格納する。フレームメモリ１１８は、予測部１１９により指定される復号画像を参照画像としてバッファより読み出し、予測部１１９に供給する。また、フレームメモリ１１８は、復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfoなどを、フレームメモリ１１８内のバッファに格納するようにしても良い。
【０１１２】
予測部１１９は、予測モード情報PInfoによって指定される、フレームメモリ１１８に格納された復号画像を参照画像として取得し、その参照画像を用いて、予測モード情報Pinfoによって指定される予測方法により予測画像Ｐを生成する。予測部１１９は、生成した予測画像Ｐを演算部１１１や演算部１１７に供給する。
【０１１３】
このような画像符号化装置１００において、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換をスキップさせる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換もスキップさせる制御部を備えるようにする。
【０１１４】
＜変換部＞
図６は、変換部１１２の主な構成例を示すブロック図である。図６において、変換部１１２は、スイッチ１３１、プライマリ変換部１３２、およびセカンダリ変換部１３３を有する。
【０１１５】
スイッチ１３１は、プライマリ変換およびセカンダリ変換の実行を制御する制御部の一実施の形態である。例えば、スイッチ１３１は、プライマリ変換をスキップさせる場合、セカンダリ変換もスキップさせるように制御する。例えば、スイッチ１３１は、変換情報Tinfoに含まれる、プライマリ変換のスキップに関する変換スキップフラグts_flagの値に応じて、演算部１１１から供給される予測残差Ｄの供給先を制御する。
【０１１６】
例えば、変換スキップフラグts_flagの値が０の場合、すなわち、変換スキップフラグts_flagが変換（プライマリ変換）の実行を示す場合、スイッチ１３１は、少なくともプライマリ変換を実行させる。つまり、この場合、スイッチ１３１は、予測残差Ｄをプライマリ変換部１３２に供給する。
【０１１７】
また、変換スキップフラグts_flagの値が１の場合、すなわち、変換スキップフラグts_flagが変換（プライマリ変換）のスキップ（省略）を示す場合、スイッチ１３１は、プライマリ変換およびセカンダリ変換をスキップさせる。つまり、この場合、スイッチ１３１は、予測残差Ｄを変換係数Coeffとして量子化部１１３に供給する。
【０１１８】
したがって、変換部１１２は、容易に、変換の処理量の不要な増大を抑制することができる。
【０１１９】
例えば、４×４行列の予測残差Ｄ＝[[255, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0,0,0,0]]のような、非ゼロ係数の数が少ない疎な残差信号（予測残差Ｄ）は、エナジーコンパクションの低下を抑制し、符号化効率の低減を抑制するために、変換スキップ（プライマリ変換およびセカンダリ変換のスキップ）を適用するのが望ましい。スイッチ１３１が、上述のように変換スキップフラグts_flagの値に応じて変換の実行を制御することにより、特にこのような非ゼロ係数の数が少ない疎な残差信号に対して、より容易にプライマリ変換だけでなくセカンダリ変換もスキップさせることができ、変換の処理量の増大を抑制し、符号化効率の低減を抑制することができる。
【０１２０】
なお、スイッチ１３１は、変換情報Tinfoに含まれる、変換量子化バイパスフラグtransquant_bypass_flagの値に応じて、演算部１１１から供給される予測残差Ｄの供給先を制御してもよい。
【０１２１】
例えば、変換量子化バイパスフラグtransquant_bypass_flagの値が０の場合、すなわち、変換量子化バイパスフラグtransquant_bypass_flagが変換および量子化の実行を示す場合、スイッチ１３１は、少なくともプライマリ変換を実行させる。つまり、この場合、スイッチ１３１は、予測残差Ｄをプライマリ変換部１３２に供給する。
【０１２２】
また、変換量子化バイパスフラグtransquant_bypass_flagの値が１の場合、すなわち、変換量子化バイパスフラグtransquant bypass_flagが変換および量子化のスキップ（省略）を示す場合、スイッチ１３１は、プライマリ変換およびセカンダリ変換をスキップさせる。つまり、この場合、スイッチ１３１は、予測残差Ｄを変換係数Coeffとして量子化部１１３に供給する。
【０１２３】
このようにすることにより、変換部１１２は、変換スキップの場合と同様に、容易に、変換の処理量の不要な増大を抑制することができる。
【０１２４】
プライマリ変換部１３２は、スイッチ１３１から供給される予測残差Ｄに対して、例えば直交変換等のプライマリ変換を実行する。つまり、プライマリ変換部１３２は、スイッチ１３１の制御に従って、プライマリ変換を行う。
【０１２５】
プライマリ変換を行う場合、プライマリ変換部１３２は、例えば、プライマリ変換の内容に関する情報であるプライマリ変換識別子pt_idxの値に応じた方法でプライマリ変換を実行する。例えば、プライマリ変換部１３２は、プライマリ変換識別子pt_idxで指定される水平方向のプライマリ変換Phorおよび垂直方向のプライマリ変換Pverを選択し、スイッチ１３１から供給される予測残差Ｄに対して、例えば以下の式（１１）のように行列演算を行い、プライマリ変換後の変換係数Coeff_P（プライマリ変換係数とも称する）を導出する。
【０１２６】
Coeff_P＝Phor・Ｄ・PverT
・・・（１１）
【０１２７】
なお、式（１１）は、以下の式（１２）のようにしてもよい。
【０１２８】
Coeff_P＝Pver・Ｄ・PhorT
・・・（１２）
【０１２９】
なお、演算子"・"は、行列同士の内積（行列積）を行う操作を表し、演算子"T"は、転置行列の操作を表す。プライマリ変換部１３２は、導出したプライマリ変換係数Coeff_Pをセカンダリ変換部１３３に供給する。
【０１３０】
セカンダリ変換部１３３は、プライマリ変換部１３２から供給されるプライマリ変換係数Coeff_Pを１次元のベクトルに変換し、その１次元のベクトルに対する行列演算を行い、その行列演算が行われた１次元のベクトルのスケーリングを行い、そのスケーリングされた前記１次元のベクトルを行列化する変換処理であるセカンダリ変換を行う。つまり、セカンダリ変換部１３３は、スイッチ１３１の制御に従ってセカンダリ変換を行う。
【０１３１】
セカンダリ変換部１３３は、セカンダリ変換の内容に関する情報であるセカンダリ変換識別子st_idxと、変換係数のスキャン方法に関する情報であるスキャン識別子scanIdxとに基づいて、プライマリ変換係数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）のスキャン順の例を示す。
【０１３５】
例えば、変換スキップフラグts_flagが０であって、プライマリ変換部１３２から供給されるプライマリ変換係数Coeff_Pが、以下の式（１３）に示されるような４×４の行列であるとする。
【０１３６】
【数６】
2017195476.tif 000008
・・・（１３）
【０１３７】
また、スキャン識別子scanIdxが水平スキャンhorを示すとする。この場合、ラスタライズ部１４１は、プライマリ変換係数Coeff_Pを、図７のＢの水平スキャンの係数のスキャン順に沿ってスキャンし、以下の式（１４）に示されるような１×１６次元のベクトルX1dに変換する。ラスタライズ部１４１は、求めたベクトルX1dを行列演算部１４２に供給する。
【０１３８】
【数７】
2017195476.tif 000009
・・・（１４）
【０１３９】
セカンダリ変換選択部１４５は、セカンダリ変換識別子st_idxで指定されるセカンダリ変換の行列Ｒを、セカンダリ変換選択部１４５の内部メモリ（不図示）より読み出し、行列演算部１４２に供給する。例えば、セカンダリ変換選択部１４５は、あるセカンダリ変換識別子st_idxの値のとき、セカンダリ変換として、図８に示される１６×１６の行列Ｒを読み出し、行列演算部１４２に供給する。
【０１４０】
なお、セカンダリ変換選択部１４５が、セカンダリ変換識別子st_idxおよびイントラ予測モード情報IPinfo（例えば、予測モード番号）に応じて、セカンダリ変換の行列Ｒを選択するようにしてもよい。また、セカンダリ変換選択部１４５が、イントラ予測モード情報IPinfoの代わりに、動き予測情報MVinfoおよびセカンダリ変換識別子st_idxに応じて、変換Ｒを選択するようにしてもよい。
【０１４１】
行列演算部１４２は、１次元ベクトルX1dおよびセカンダリ変換の行列Ｒを用いて、以下の式（１５）に示すような行列演算を行い、その結果Y1dをスケーリング部１４３に供給する。
【０１４２】
Y1dT＝Ｒ・X1dT
・・・（１５）
【０１４３】
ここで、演算子"T"は、転置行列の操作を表す。例えば、式（１４）のベクトルX1dと図８に示すセカンダリ変換の行列Ｒの行列積により、以下の式（１６）のような結果Y1dが得られる。
【０１４４】
【数８】
2017195476.tif 000010
・・・（１６）
【０１４５】
スケーリング部１４３は、行列演算部１４２から供給される信号Y1dのノルムを正規化するために、以下の式（１７）に示されるようなＮ（Ｎは自然数）ビットのビットシフト演算を行い、ビットシフト後の信号Z1dを求める。
【０１４６】
Z1d＝（Y1d）>>Ｎ
・・・（１７）
【０１４７】
なお、以下の式（１８）のようにＮビットのシフト演算前に、オフセットとして、1<<（N-1)の値を、信号Z1dの各要素へ加算するようにしてもよい。
【０１４８】
Z1d＝（Y1d＋（（N-1）<<1）・Ｅ）>>Ｎ
・・・（１８）
【０１４９】
なお、式（１８）において、Ｅは、すべての要素の値が１の１×１６次元のベクトルである。例えば、図８に示されるセカンダリ変換の行列Ｒは、８ビットスケーリングされた行列であるため、スケーリング部１４３において、ノルムの正規化に用いるＮの値は８である。例えば、式（１６）に示される信号Y1dを式（１８）において、Ｎ＝８として演算すると、式（１９）に示されるような結果Z1dが得られる。
【０１５０】
【数９】
2017195476.tif 000011
・・・（１９）
【０１５１】
一般的に、セカンダリ変換の行列Ｒが、Ｎビットスケーリングされている場合、ノルム正規化のビットシフト量は、Ｎビットである。スケーリング部１４３は、以上のように得られた信号Z1dを行列化部１４４に供給する。
【０１５２】
行列化部１４４は、スキャン識別子scanIdxによって指定されるスキャン方法に基づいて、ノルム正規化後の１×１６次元のベクトルZ1dを４×４行列Xへ変換する。例えば、行列化部１４４は、式（１９）に示される１×１６次元のベクトルZ1dを、図７のＢに示される水平スキャンに基づいて行列化し、以下の式（２０）に示される４ｘ４行列の変換係数Coeffを得る。
【０１５３】
【数１０】
2017195476.tif 000012
・・・（２０）
【０１５４】
行列化部１４４は、得られた変換係数Coeffを量子化部１１３に供給する。
【０１５５】
例えば、変換スキップフラグts_flagが変換処理（プライマリ変換）のスキップを示す場合、スイッチ１３１がプライマリ変換およびセカンダリ変換をスキップさせ、量子化部１１３が予測残差Ｄに対して量子化を行い、符号化部１１４が量子化変換係数レベルや変換スキップフラグts_flagを符号化し、それらの符号化データを含むビットストリームを生成するようにしてもよい。
【０１５６】
＜画像符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。最初に、画像符号化処理の流れの例を、図９のフローチャートを参照して説明する。
【０１５７】
画像符号化処理が開始されると、ステップＳ１０１において、制御部１０１は、符号化制御処理を行い、ブロック分割や符号化パラメータの設定等を行う。
【０１５８】
ステップＳ１０２において、予測部１１９は、予測処理を行い、最適な予測モードの予測画像等を生成する。例えば、この予測処理において、予測部１１９は、イントラ予測を行って最適なイントラ予測モードの予測画像等を生成し、インター予測を行って最適なインター予測モードの予測画像等を生成し、それらの中から、コスト関数値等に基づいて最適な予測モードを選択する。
【０１５９】
ステップＳ１０３において、演算部１１１は、入力画像と、ステップＳ１０２の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部１１１は、入力画像と予測画像との予測残差Ｄを生成する。このようにして求められた予測残差Ｄは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
【０１６０】
ステップＳ１０４において、変換部１１２は、ステップＳ１０３の処理により生成された予測残差Ｄに対して変換処理を行い、変換係数Coeffを導出する。ステップＳ１０４の処理の詳細については後述する。
【０１６１】
ステップＳ１０５において、量子化部１１３は、制御部１０１により算出された量子化パラメータを用いる等して、ステップＳ１０４の処理により得られた変換係数Coeffを量子化し、量子化変換係数レベルlevelを導出する。
【０１６２】
ステップＳ１０６において、逆量子化部１１５は、ステップＳ１０５の処理により生成された量子化変換係数レベルlevelを、そのステップＳ１０５の量子化の特性に対応する特性で逆量子化し、変換係数Coeff_IQを導出する。
【０１６３】
ステップＳ１０７において、逆変換部１１６は、ステップＳ１０６の処理により得られた変換係数Coeff_IQを、ステップＳ１０４の変換処理に対応する方法で逆変換し、予測残差Ｄ’を導出する。なお、この逆変換処理は、ステップＳ１０４の変換処理の逆処理であり、後述する画像復号処理において実行される逆変換処理と同様に実行される。そのため、この逆変換処理の説明は、復号側の説明において行う。
【０１６４】
ステップＳ１０８において、演算部１１７は、ステップＳ１０７の処理により導出された予測残差Ｄ’に、ステップＳ１０２の予測処理により得られた予測画像を加算することにより、局所的に復号された復号画像を生成する。
【０１６５】
ステップＳ１０９において、フレームメモリ１１８は、ステップＳ１０８の処理により得られた、局所的に復号された復号画像を記憶する。
【０１６６】
ステップＳ１１０において、符号化部１１４は、ステップＳ１０５の処理により得られた量子化変換係数レベルlevelを符号化する。例えば、符号化部１１４は、画像に関する情報である量子化変換係数レベルlevelを、算術符号化等により符号化し、符号化データを生成する。また、このとき、符号化部１１４は、各種符号化パラメータ（ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo）を符号化する。さらに、符号化部１１４は、量子化変換係数レベルlevelから残差情報RInfoを導出し、その残差情報RInfoを符号化する。符号化部１１４は、このように生成した各種情報の符号化データをまとめて、ビットストリームとして画像符号化装置１００の外部に出力する。このビットストリームは、例えば、伝送路や記録媒体を介して復号側に伝送される。
【０１６７】
ステップＳ１１０の処理が終了すると、画像符号化処理が終了する。
【０１６８】
なお、これらの各処理の処理単位は任意であり、互いに同一でなくてもよい。したがって、各ステップの処理は、適宜、他のステップの処理等と並行して、または、処理順を入れ替えて実行することもできる。
【０１６９】
＜変換処理の流れ＞
次に、図９のステップＳ１０４において実行される変換処理の流れの例を、図１０のフローチャートを参照して説明する。
【０１７０】
変換処理が開始されると、ステップＳ１２１において、スイッチ１３１は、変換スキップフラグts_flagが１（真）であるか否かを判定する。変換スキップフラグts_flagが１（真）である（変換スキップフラグts_flagが変換処理のスキップを示す）と判定された場合、プライマリ変換およびセカンダリ変換（ステップＳ１２２乃至ステップＳ１３０の処理）がスキップされ、変換処理が終了し、処理は図９に戻る。つまり、スイッチ１３１は、予測残差Ｄを変換係数Coeffとして量子化部１１３に供給する。また、ステップＳ１２１において、変換スキップフラグts_flagが０（偽）である（変換スキップフラグts_flagが変換処理の実行を示す）と判定された場合、処理はステップＳ１２２に進む。
【０１７１】
なお、ステップＳ１２１において、スイッチ１３１が、さらに、変換量子化バイパスフラグtransquant_bypass_flagが１（真）であるか否かを判定するようにしてもよい。その際、変換量子化バイパスフラグtransquant_bypass_flagが１（真）である（変換量子化バイパスフラグtransquant_bypass_flagが変換処理および量子化処理のスキップを示す）と判定された場合、プライマリ変換およびセカンダリ変換（ステップＳ１２２乃至ステップＳ１３０の処理）がスキップされ、変換処理が終了し、処理は図９に戻る。つまり、スイッチ１３１は、予測残差Ｄを変換係数Coeffとして量子化部１１３に供給する。また、ステップＳ１２１において、変換量子化バイパスフラグtransquant_bypass_flagが０（偽）である（変換量子化バイパスフラグtransquant_bypass_flagが変換処理および量子化処理の実行を示す）と判定された場合、処理はステップＳ１２２に進む。
【０１７２】
ステップＳ１２２において、プライマリ変換部１３２は、プライマリ変換識別子pt_idxに基づいて、予測残差Ｄに対するプライマリ変換を行い、プライマリ変換係数Coeff_Pを導出する。
【０１７３】
ステップＳ１２３において、セカンダリ変換部１３３は、セカンダリ変換識別子st_idxがセカンダリ変換を適用するか否か（st_idx>0）を判定する。セカンダリ変換識別子st_idxが０である（セカンダリ変換識別子st_idxがセカンダリ変換のスキップを示す）と判定された場合、セカンダリ変換（ステップＳ１２４乃至ステップＳ１３０の処理）がスキップされ、変換処理が終了し、処理は図９に戻る。すなわち、セカンダリ変換部１３３は、プライマリ変換係数Coeff_Pを変換係数Coeffとして量子化部１１３に供給する。
【０１７４】
また、ステップＳ１２３において、セカンダリ変換識別子st_idxが０より大きい（セカンダリ変換識別子st_idxがセカンダリ変換の実行を示す）と判定された場合、処理はステップＳ１２４に進む。ステップＳ１２４乃至ステップＳ１３０の処理によりセカンダリ変換が実行される。
【０１７５】
ステップＳ１２４において、セカンダリ変換選択部１４５は、セカンダリ変換識別子st_idxにより指定されるセカンダリ変換の行列Ｒを選択する。
【０１７６】
ステップＳ１２５において、セカンダリ変換部１３３は、処理対象の変換ブロックをサブブロックに分割し、未処理のサブブロックを選択する。
【０１７７】
ステップＳ１２６において、ラスタライズ部１４１は、スキャン識別子scanIdxで指定されるスキャン方法に基づいて、プライマリ変換係数Coeff_Pを１×１６次元のベクトルX1dに変換する。
【０１７８】
ステップＳ１２７において、行列演算部１４２は、ベクトルX1dとセカンダリ変換の行列Ｒとの行列積を演算し、ベクトルY1dを求める。
【０１７９】
ステップＳ１２８において、スケーリング部１４３は、ベクトルY1dのノルムを正規化し、ベクトルZ1dを求める。
【０１８０】
ステップＳ１２９において、行列化部１４４は、スキャン識別子scanIdxで指定されるスキャン方法に基づいて、ベクトルZ1dを４×４の行列へ変換し、処理対象のサブブロックの変換係数Coeffを求める。この変換係数Coeffが量子化部１１３に供給される。
【０１８１】
ステップＳ１３０において、セカンダリ変換部１３３は、処理対象の変換ブロックの全てのサブブロックを処理したか否かを判定する。未処理のサブブロックが存在すると判定された場合、処理はステップＳ１２５に戻り、それ以降の処理を繰り返す。つまり、処理対象の変換ブロックの各サブブロックについて、ステップＳ１２５乃至ステップＳ１３０の各処理（セカンダリ変換）が実行される。ステップＳ１３０において、全てのサブブロックを処理した（全てのサブブロックのセカンダリ変換を行った）と判定された場合、変換処理が終了し、処理は図９に戻る。
【０１８２】
なお、変換処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ１２３においてセカンダリ変換識別子st_idx＝０であると判定された場合、１６×１６の単位行列がセカンダリ変換の行列Ｒとして選択され、ステップＳ１２５乃至ステップＳ１３０の各処理が実行されるようにしてもよい。
【０１８３】
以上のように各処理を実行することにより、画像符号化装置１００は、変換スキップフラグts_flagで変換処理のスキップを示すことによりプライマリ変換だけでなくセカンダリ変換もスキップすることができる。したがって、例えば、変換スキップを適用するのが望ましい非ゼロ係数の数が少ない疎な残差信号に対して、より容易に、変換の処理量の低減、及びエナジーコンパクションの低下を抑制し、符号化効率の向上した変換処理を行うことができる。
【０１８４】
＜画像復号装置＞
次に、以上のように符号化された符号化データの復号について説明する。図１１は、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図１１に示される画像復号装置２００は、図５の画像符号化装置１００に対応する画像復号装置であり、画像符号化装置１００が生成した符号化データ（ビットストリーム）を、画像符号化装置１００による符号化方法に対応する復号方法で復号する。例えば、画像復号装置２００は、HEVCに提案された技術や、JVETにて提案された技術を実装している。
【０１８５】
なお、図１１においては、処理部やデータの流れ等の主なものを示しており、図１１に示されるものが全てとは限らない。つまり、画像復号装置２００において、図１１においてブロックとして示されていない処理部が存在したり、図１１において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【０１８６】
図１１に示されるように画像復号装置２００は、復号部２１１、逆量子化部２１２、逆変換部２１３、演算部２１４、フレームメモリ２１５、および予測部２１６を有する。画像復号装置２００には、例えば伝送媒体や記録媒体等を介して、画像符号化装置１００等が生成した符号化データが例えばビットストリーム等として供給される。
【０１８７】
復号部２１１は、供給される符号化データを、その符号化方法に対応する所定の復号方法で復号する。例えば、復号部２１１は、シンタックステーブルの定義に沿って、供給された符号化データ（ビットストリーム）のビット列から、各シンタックス要素のシンタックス値を復号する。シンタックス要素には、例えば、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfoなどの情報が含まれる。
【０１８８】
復号部２１１は、残差情報Rinfoを参照して、各変換ブロック内の各係数位置の量子化変換係数レベルlevelを導出する。復号部２１１は、復号して得た予測モード情報Pinfo、量子化変換係数レベルlevel、変換情報Tinfoを各ブロックへ供給する。例えば、復号部２１１は、予測モード情報Pinfoを予測部２１６に供給し、量子化変換係数レベルlevelを逆量子化部２１２に供給し、変換情報Tinfoを逆量子化部２１２および逆変換部２１３に供給する。
【０１８９】
逆量子化部２１２は、復号部２１１から供給される変換情報Tinfoに基づいて、復号部２１１から供給される量子化変換係数レベルlevelの値をスケーリング（逆量子化）し、逆量子化後の変換係数Coeff_IQを導出する。この逆量子化は、画像符号化装置１００の量子化部１１３（図５）により行われる量子化の逆処理である。なお、逆量子化部１１５（図５）は、この逆量子化部２１２と同様の逆量子化を行う。逆量子化部２１２は、得られた変換係数Coeff_IQを逆変換部２１３に供給する。なお、逆量子化部２１２は、変換量子化バイパス時に、逆量子化処理をスキップ（省略）し、量子化変換係数レベルlevelを変換係数Coeff_IQとして逆変換部２１３に供給することもできる。
【０１９０】
逆変換部２１３は、復号部２１１から供給される変換情報Tinfoに基づいて、逆量子化部２１２より供給される変換係数Coeff_IQを逆変換し、予測残差Ｄ’を導出する。この逆変換は、画像符号化装置１００の変換部１１２（図５）により行われる変換処理の逆処理である。なお、逆変換部１１６は、この逆変換部２１３と同様の逆変換を行う。この逆変換の詳細については、後述する。逆変換部２１３は、得られた予測残差Ｄ’を演算部２１４に供給する。なお、逆変換部２１３は、変換スキップまたは変換量子化バイパス時に、逆変換処理（逆セカンダリ変換および逆プライマリ変換）をスキップ（省略）し、変換係数Coeff_IQを予測残差Ｄ’として演算部２１４に供給することもできる。
【０１９１】
演算部２１４は、以下の式（２１）に示されるように、逆変換部２１３から供給される予測残差Ｄ’とその予測残差Ｄ’に対応する予測画像Ｐ（予測信号）とを加算し、局所的な復号画像Recを導出する。演算部２１４は、得られた局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、得られた復号画像を画像復号装置２００の外部に出力する。また、演算部２１４は、その局所的な復号画像Recをフレームメモリ２１５にも供給する。
【０１９２】
Rec＝Ｄ’＋Ｐ
・・・（２１）
【０１９３】
フレームメモリ２１５は、演算部２１４より供給される局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、フレームメモリ２１５内のバッファに格納する。フレームメモリ２１５は、予測部２１６の予測モード情報Pinfoによって指定される復号画像を参照画像としてバッファより読み出し、予測部２１６に供給する。また、フレームメモリ２１５は、その復号画像の生成に係るヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfoなどをフレームメモリ２１５内のバッファに格納するようにしても良い。
【０１９４】
予測部２１６は、復号部２１１から供給される予測モード情報PInfoによって指定される、フレームメモリ２１５に格納された復号画像を参照画像として取得し、その参照画像を用いて、その予測モード情報Pinfoによって指定される予測方法により予測画像Ｐを生成する。予測部２１６は、生成した予測画像Ｐを、演算部２１４に供給する。
【０１９５】
このような画像復号装置２００において、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換をスキップさせる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換もスキップさせる制御部を備えるようにする。
【０１９６】
＜逆変換部＞
図１２は、図１１の逆変換部２１３の主な構成例を示すブロック図である。図１２に示されるように、逆変換部２１３は、スイッチ２３１、逆セカンダリ変換部２３２、および逆プライマリ変換部２３３を有する。
【０１９７】
スイッチ２３１は、逆セカンダリ変換および逆プライマリ変換の実行を制御する制御部の一実施の形態である。例えば、スイッチ２３１は、逆プライマリ変換をスキップさせる場合、逆セカンダリ変換もスキップさせるように制御する。例えば、スイッチ２３１は、逆プライマリ変換のスキップに関する情報である変換スキップフラグts_flagの値の値に応じてこのような制御を行う。
【０１９８】
例えば、変換スキップフラグts_flagの値が０の場合、すなわち、変換スキップフラグts_flagが逆変換（逆プライマリ変換）の実行を示す場合、スイッチ２３１は、逆セカンダリ変換および逆プライマリ変換を実行させる。つまり、この場合、スイッチ２３１は、変換係数Coeff_IQを逆セカンダリ変換部２３２に供給する。
【０１９９】
これに対して、変換スキップフラグts_flagの値が１の場合、すなわち、変換スキップフラグts_flagが逆変換（逆プライマリ変換）のスキップ（省略）を示す場合、スイッチ２３１は、逆セカンダリ変換および逆プライマリ変換をスキップさせる。つまり、この場合、スイッチ２３１は、変換係数Coeff_IQを予測残差Ｄ’として演算部２１４に供給する。
【０２００】
したがって、逆変換部２１３は、容易に、逆変換の処理量の不要な増大を抑制することができる。
【０２０１】
例えば、４×４行列Coeff_IQ = [[255, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0,0,0,0]]のような、非ゼロ係数の数が少ない疎な残差信号（変換係数Coeff_IQ）は、エナジーコンパクションの低下を抑制し、符号化効率の低減を抑制するために、変換スキップ（逆セカンダリ変換および逆プライマリ変換のスキップ）を適用するのが望ましい。スイッチ２３１が、上述のように変換スキップフラグts_flagの値に応じて逆変換の実行を制御することにより、特にこのような非ゼロ係数の数が少ない疎な残差信号に対して、より容易に逆プライマリ変換だけでなく逆セカンダリ変換もスキップさせることができ、逆変換の処理量の増大を抑制し、符号化効率の低減を抑制することができる。
【０２０２】
なお、スイッチ２３１は、変換情報Tinfoに含まれる、変換量子化バイパスフラグtransquant_bypass_flagの値に応じて、外部より供給される変換係数Coeff_IQの供給先を制御してもよい。
【０２０３】
例えば、変換量子化バイパスフラグtransquant_bypass_flagの値が０の場合、すなわち、変換量子化バイパスフラグtransquant_bypass_flagが逆変換および逆量子化の実行を示す場合、スイッチ２３１は、変換係数Coeff_IQを逆セカンダリ変換部２３２に供給する。
【０２０４】
また、変換量子化バイパスフラグtransquant_bypass_flagの値が１の場合、すなわち、変換量子化バイパスフラグtransquant bypass_flagが変換および量子化のスキップ（省略）を示す場合、スイッチ２３１は、逆セカンダリ変換および逆プライマリ変換をスキップさせる。つまり、この場合、スイッチ２３１は、変換係数Coeff_IQを予測残差Ｄ'として演算部２１４に供給する。
【０２０５】
したがって、逆変換部２１３は、変換スキップと同様に、容易に、変換の処理量の不要な増大を抑制することができる。
【０２０６】
逆セカンダリ変換部２３２は、スイッチ２３１から供給されるセカンダリ変換係数、すなわち、符号化データが復号され、逆量子化されて得られるセカンダリ変換係数を１次元のベクトルに変換し、その１次元のベクトルに対する行列演算を行い、その行列演算が行われた１次元のベクトルのスケーリングを行い、そのスケーリングされた１次元のベクトルを行列化する変換処理である逆セカンダリ変換を行う。つまり、逆セカンダリ変換部２３２は、スイッチ２３１の制御に従って逆セカンダリ変換を行う。
【０２０７】
逆セカンダリ変換部２３２は、セカンダリ変換の内容に関する情報であるセカンダリ変換識別子st_idxと、変換係数のスキャン方法に関する情報であるスキャン識別子scanIdxとに基づいて、変換係数Coeff_IQに対して逆セカンダリ変換を行い、逆セカンダリ変換後の変換係数Coeff_IS（プライマリ変換係数ともいう）を導出する。逆セカンダリ変換部２３２は、そのプライマリ変換係数Coeff_ISを、逆プライマリ変換部２３３に供給する。なお、逆セカンダリ変換部２３２の詳細については、後述する。
【０２０８】
逆プライマリ変換部２３３は、逆セカンダリ変換部２３２から供給されるプライマリ変換係数Coeff_ISに対して、例えば逆直交変換等の逆プライマリ変換を実行する。つまり、逆プライマリ変換部２３３は、スイッチ２３１の制御に従って、逆プライマリ変換を行う。
【０２０９】
逆プライマリ変換を行う場合、逆プライマリ変換部２３３は、例えば、逆プライマリ変換の内容に関する情報であるプライマリ変換識別子pt_idxの値に応じた方法で逆プライマリ変換を実行する。例えば、逆プライマリ変換部２３３は、復号部２１１から供給されるプライマリ変換識別子pt_idxにより指定される水平方向の逆プライマリ変換IPhorおよび垂直方向の逆プライマリ変換IPverを選択し、変換係数Coeff_ISに対して、例えば式（２２）のような行列演算を行い、予測残差Ｄ’を導出する。
【０２１０】
Ｄ’＝IPhor・Coeff_IS・IPverT
・・・（２２）
【０２１１】
ここで、演算子"・"は、行列同士の内積（行列積）を行う操作を表し、演算子"T"は、置換行列の操作を表す。また、水平方向の逆プライマリ変換IPhorは、水平方向のプライマリ変換Phorの逆変換であり、PhorT（＝Phor-1）とも表現される。同様に、垂直方向の逆プライマリ変換IPverは、垂直方向のプライマリ変換Pverの逆変換であり、PverT（＝Pver-1）とも表現される。なお、上述した式（２２）は、以下の式（２３）のようにしてもよい。
【０２１２】
Ｄ’＝IPver・Coeff_IS・IPhorT
・・・（２３）
【０２１３】
逆プライマリ変換部２３３は、得られた予測残差Ｄ’を演算部２１４に供給する。
【０２１４】
次に、逆セカンダリ変換部２３２について説明する。図１２に示されるように、逆セカンダリ変換部２３２は、ラスタライズ部２４１、行列演算部２４２、スケーリング部２４３、行列化部２４４、および逆セカンダリ変換選択部２４５を有する。
【０２１５】
ラスタライズ部２４１は、復号部２１１から供給されるスキャン識別子scanIdxによって指定される変換係数のスキャン方法に基づいて、サブブロック（４×４サブブロック）毎に、スイッチ２３１から供給される変換係数Coeff_IQを１×１６次元のベクトルX1dに変換する。ラスタライズ部２４１は、得られたベクトルX1dを行列演算部２４２に供給する。なお、変換係数のスキャン方法に関する情報であるスキャン識別子scanIdxと対応する各スキャン方法については、図７を参照して上述した通りである。
【０２１６】
例えば、逆変換部２１３に供給される変換係数Coeff_IQが、以下の式（２４）に示されるような４×４行列であるとする。
【０２１７】
【数１１】
2017195476.tif 000013
・・・（２４）
【０２１８】
変換スキップフラグts_flagが０であり、スキャン識別子scanIdxが水平スキャンhorを示す場合、ラスタライズ部２４１は、変換係数Coeff_IQを図７のＢに示される水平スキャンの係数のスキャン順に沿ってスキャンし、以下の式（２５）に示されるような１×１６次元のベクトルX1dに変換する。そして、ラスタライズ部２４１は、得られたベクトルX1dを行列演算部２４２に供給する。
【０２１９】
【数１２】
2017195476.tif 000014
・・・（２５）
【０２２０】
逆セカンダリ変換選択部２４５は、復号部２１１から供給される、セカンダリ変換の内容に関する情報であるセカンダリ変換識別子st_idxにより指定される逆セカンダリ変換の行列IR（＝ＲT）を、逆セカンダリ変換選択部２４５の内部メモリ（不図示）より読み出し、行列演算部２４２に供給する。例えば、逆セカンダリ変換選択部２４５は、あるセカンダリ変換識別子st_idxの値のとき、逆セカンダリ変換の行列IRとして、図８に示される１６×１６の行列Ｒの転置行列ＲTを読み出し、それを行列演算部２４２に供給する。
【０２２１】
なお、逆セカンダリ変換選択部２４５が、例えば、復号部２１１から供給されるセカンダリ変換識別子st_idxやイントラ予測モード情報IPinfo（例えば、イントラ予測モード番号）に応じて、逆セカンダリ変換の行列IR（＝ＲT）を選択するようにしてもよい。また、イントラ予測モード情報IPinfoの代わりに、動き予測情報MVinfoとセカンダリ変換識別子st_idxに応じて、逆変換IRが選択されるようにしてもよい。
【０２２２】
行列演算部２４２は、サブブロック（４×４サブブロック）毎に、１×１６次元のベクトルX1dおよび逆セカンダリ変換の行列IR（＝ＲT）を用いて、以下の式（２６）に示されるような行列演算を行い、その結果としてベクトルY1dを導出する。
【０２２３】
Y1dT＝IR・X1dT＝ＲT・X1dT
・・・（２６）
【０２２４】
ここで、演算子"T"は、転置行列の操作を表す。例えば、行列演算部２４２は、上述した式（２５）に示されるベクトルX1dと図８に示されるセカンダリ変換の行列Ｒの転置行列ＲTとを用いて、式（２６）に示されるような行列積を行い、以下の式（２７）に示されるようなベクトルY1dを導出する。行列演算部２４２は、得られたベクトルY1dをスケーリング部２４３に供給する。
【０２２５】
【数１３】
2017195476.tif 000015
・・・（２７）
【０２２６】
スケーリング部２４３は、サブブロック（４×４サブブロック）毎に、行列演算部２４２から供給される信号Y1dのノルムを正規化するために、以下の式（２８）に示されるよなＮ（Ｎは自然数）ビットのビットシフト演算を信号Y1dのすべての要素に対して行い、ビットシフト後の信号Z1dを求める。
【０２２７】
Z1d＝（Y1d）>>Ｎ
・・・（２８）
【０２２８】
なお、以下の式（２９）に示されるように、Ｎビットのシフト演算前に、オフセットとして、1<<（N-1）の値が、信号Z1dの各要素に加算されるようにしてもよい。なお、式（２９）において、ベクトルＥは、すべての要素の値が１の１×１６次元のベクトルである。
【０２２９】
Z1d＝（Y1d＋（（N-1）<<1)・E）>>Ｎ
・・・（２９）
【０２３０】
例えば、図８に示される逆セカンダリ変換の行列IR（＝ＲT）は、８ビットスケーリングされた行列であるため、スケーリング部２４３において、ノルムの正規化に用いられるＮの値は８である。
【０２３１】
例えば、式（２９)において、Ｎ＝8として演算した結果（信号Z1d）は、以下の式（３０）のようになる。
【０２３２】
【数１４】
2017195476.tif 000016
・・・（３０）
【０２３３】
一般的に、逆セカンダリ変換の行列IR（＝ＲT）が、Ｎビットスケーリングされている場合、ノルム正規化のビットシフト量は、Ｎビットである。
【０２３４】
行列化部２４４は、サブブロック（４×４サブブロック）毎に、ノルム正規化後の信号Z1dおよびスキャン識別子scanIdxを入力とし、復号部２１１から供給されるスキャン識別子scanIdxによって指定されるスキャン方法に基づいて、スケーリング部２４３から供給される１×１６次元のベクトルZ1dを４×４行列のプライマリ変換係数Coeff_ISに変換する。
【０２３５】
例えば、行列化部２４４は、式（３０）に示される１×１６次元のベクトルZ1dを、図７のＢに示される水平スキャンに基づいて行列化し、以下の式（３１）に示されるような４×４行列のプライマリ変換係数Coeff_ISを得る。
【０２３６】
【数１５】
2017195476.tif 000017
・・・（３１）
【０２３７】
行列化部２４４は、得られたプライマリ変換係数Coeff_ISを逆プライマリ変換部２３３に供給する。
【０２３８】
＜画像復号処理の流れ＞
次に、以上のような画像復号装置２００により実行される各処理の流れについて説明する。最初に、図１３のフローチャートを参照して、画像復号処理の流れの例を説明する。
【０２３９】
画像復号処理が開始されると、ステップＳ２０１において、復号部２１１は、画像復号装置２００に供給されるビットストリーム（符号化データ）を復号し、ヘッダ情報Hinfo、予測モード情報Pinfo、変換情報Tinfo、残差情報Rinfo、量子化変換係数レベルlevel等の情報を得る。
【０２４０】
ステップＳ２０２において、逆量子化部２１２は、ステップＳ２０１の処理により得られた量子化変換係数レベルlevelを逆量子化して変換係数Coeff_IQを導出する。この逆量子化は、画像符号化処理のステップＳ１０５（図９）において行われる量子化の逆処理であり、画像符号化処理のステップＳ１０６（図９）において行われる逆量子化と同様の処理である。
【０２４１】
ステップＳ２０３において、逆変換部２１３は、ステップＳ２０２の処理により得られた変換係数Coeff_IQを逆変換し、予測残差Ｄ'を導出する。この逆変換は、画像符号化処理のステップＳ１０４（図９）において行われる変換処理の逆処理であり、画像符号化処理のステップＳ１０７（図９）において行われる逆変換と同様の処理である。
【０２４２】
ステップＳ２０４において、予測部２１６は、予測モード情報PInfoに基づいて、符号化の際の予測と同一の予測モードで予測を行い、予測画像生成する。
【０２４３】
ステップＳ２０５において、演算部２１４は、ステップＳ２０３の処理により得られた予測残差Ｄ’に、ステップＳ２０４の処理により得られた予想画像を加算し、復号画像を得る。
【０２４４】
ステップＳ２０５の処理が終了すると、画像復号処理が終了される。
【０２４５】
＜逆変換処理の流れ＞
次に、図１３のステップＳ２０３において実行される逆変換処理の流れの例を、図１４のフローチャートを参照して説明する。
【０２４６】
逆変換処理が開始されると、ステップＳ２２１において、スイッチ２３１は、変換スキップフラグts_flagが１（真）であるか否かを判定する。変換スキップフラグts_flagが１（真）である（変換スキップフラグts_flagが逆変換処理のスキップを示す）と判定された場合、逆セカンダリ変換および逆プライマリ変換（ステップＳ２２２乃至ステップＳ２３０の処理）がスキップされ、逆変換処理が終了し、処理は図１３に戻る。つまり、スイッチ２３１は、変換係数Coeff_IQを、予測残差Ｄ’として演算部２１４に供給する。また、変換スキップフラグts_flagが０（偽）である（変換スキップフラグts_flagが逆変換処理の実行を示す）と判定された場合、処理はステップＳ２２２に進む。
【０２４７】
なお、ステップＳ２２１において、スイッチ２３１が、さらに、変換量子化バイパスフラグtransquant_bypass_flagが１（真）であるか否かを判定するようにしてもよい。その際、変換量子化バイパスフラグtransquant_bypass_flagが１（真）である（変換量子化バイパスフラグtransquant_bypass_flagが逆量子化処理および逆変換処理のスキップを示す）と判定された場合、逆セカンダリ変換および逆プライマリ変換（ステップＳ２２２乃至ステップＳ２３０の処理）がスキップされ、逆変換処理が終了し、処理は図１３に戻る。つまり、スイッチ２３１は、変換係数Coeff_IQを、予測残差Ｄ'として演算部２１４に供給する。また、変換量子化バイパスフラグtransquant_bypass_flagが０（偽）である（変換量子化バイパスフラグtransquant_bypass_flagが逆量子化処理および逆変換処理の実行を示す）と判定された場合、処理はステップＳ２２２に進む。
【０２４８】
ステップＳ２２２において、逆セカンダリ変換部２３２は、セカンダリ変換識別子st_idxが逆セカンダリ変換を適用するか否か（st_idx>0）を判定する。セカンダリ変換識別子st_idxが０である（セカンダリ変換識別子st_idxが逆セカンダリ変換のスキップを示す）と判定された場合、逆セカンダリ変換（ステップＳ２２３乃至ステップＳ２２９の処理）がスキップされ、処理はステップＳ２３０に進む。つまり、逆セカンダリ変換部２３２は、変換係数Coeff_IQをプライマリ変換係数Coeff_Pとして、逆プライマリ変換部２３３に供給する。
【０２４９】
また、ステップＳ２２２において、セカンダリ変換識別子st_idxが０より大きい（セカンダリ変換識別子st_idxが逆セカンダリ変換の実行を示す）と判定された場合、処理はステップＳ２２３に進む。ステップＳ２２３乃至ステップＳ２２９の処理により逆セカンダリ変換が実行される。
【０２５０】
ステップＳ２２３において、逆セカンダリ変換選択部２４５は、セカンダリ変換識別子st_idxにより指定される逆セカンダリ変換の行列IRを選択する。
【０２５１】
ステップＳ２２４において、逆セカンダリ変換部２３２は、処理対象の変換ブロックに含まれる未処理のサブブロックを選択する。
【０２５２】
ステップＳ２２５において、ラスタライズ部２４１は、スキャン識別子scanIdxにより指定されるスキャン方法に基づいて、変換係数Coeff_IQを１×１６次元のベクトルX1dに変換する。
【０２５３】
ステップＳ２２６において、行列演算部２４２は、ベクトルX1dと逆セカンダリ変換の行列IRとの行列積を演算し、ベクトルY1dを求める。
【０２５４】
ステップＳ２２７において、スケーリング部２４３は、ベクトルY1dのノルムを正規化し、ベクトルZ1dを求める。
【０２５５】
ステップＳ２２８において、行列化部２４４は、スキャン識別子scanIdxにより指定されるスキャン方法に基づいて、ベクトルZ1dを４×４の行列へ変換し、処理対象のサブブロックのプライマリ変換係数Coeff_Pを求める。
【０２５６】
ステップＳ２２９において、逆セカンダリ変換部２３２は、処理対象の変換ブロックの全てのサブブロックを処理したか否かを判定する。未処理のサブブロックが存在すると判定された場合、処理はステップＳ２２４に戻り、それ以降の処理を繰り返す。つまり、処理対象の変換ブロックの各サブブロックについて、ステップＳ２２４乃至ステップＳ２２９の各処理（逆セカンダリ変換）が実行される。ステップＳ２２９において、全てのサブブロックを処理した（全てのサブブロックの逆セカンダリ変換を行った）と判定された場合、処理はステップＳ２３０に進む。
【０２５７】
ステップＳ２３０において、逆プライマリ変換部２３３は、プライマリ変換識別子pt_idxに基づいて、プライマリ変換係数Coeff_Pに対する逆プライマリ変換を行い、予測残差Ｄ’を導出する。この予測残差Ｄ’は、演算部２１４に供給される。
【０２５８】
ステップＳ２３０の処理が終了すると、逆変換処理が終了し、処理は図１３に戻る。
【０２５９】
なお、以上の逆変換処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ２２２においてセカンダリ変換識別子st_idxが０であると判定された場合、１６×１６の単位行列が逆セカンダリ変換の行列IRとして選択され、ステップＳ２２３乃至ステップＳ２２９の各処理が実行されるようにしてもよい。
【０２６０】
以上のように各処理を実行することにより、画像復号装置２００は、変換スキップフラグts_flagにより変換処理のスキップを示すことにより逆プライマリ変換だけでなく逆セカンダリ変換もスキップすることができる。したがって、例えば、変換スキップを適用するのが望ましい非ゼロ係数の数が少ない疎な残差信号に対して、逆変換の処理量の低減、及びエナジーコンパクションの低下を抑制し、符号化効率の向上した逆変換処理を行うことができる。
【０２６１】
＜２．第２の実施の形態＞
＜変換スキップフラグの符号化・復号のスキップ＞
非特許文献１に記載の技術（JEM2）では、セカンダリ変換識別子st_idxは、CU単位で符号化され、変換スキップフラグts_flagは、CUに含まれる各変換ブロック単位で符号化される。
【０２６２】
例えば、この技術（JEM2）に対して第１の実施の形態において説明した本技術を適用し、変換スキップフラグts_flagが１である（変換スキップを適用する）場合に（逆）プライマリ変換および（逆）セカンダリ変換をスキップするようにする。この場合、セカンダリ変換識別子st_idxがセカンダリ変換の実行を示す場合、そのCUにおいて変換スキップフラグts_flagが（逆）変換処理のスキップを示すことはできず、変換スキップフラグts_flagは０に決定する。つまり、この場合、変換スキップフラグts_flagの符号化は冗長となる。したがって、符号化効率が低減するおそれがあった。
【０２６３】
そこで、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対してセカンダリ変換が行われる場合、そのプライマリ変換のスキップに関する第１の情報の符号化をスキップするようにする。
【０２６４】
このようにすることにより、セカンダリ変換が行われる場合に第１の情報の符号化をスキップすることができるようになるので、符号化効率の低減を抑制することができる。
【０２６５】
また、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換が行われる場合、プライマリ変換の逆変換である逆プライマリ変換のスキップに関する第１の情報の符号化データの復号をスキップするようにする。
【０２６６】
このようにすることにより、逆セカンダリ変換が行われる場合に第１の情報の符号化データの復号をスキップすることができるようになるので、符号化効率の低減を抑制することができる。
【０２６７】
＜シンタクス＞
このような制御を表す疑似コードを記載したシンタクステーブルの例を図１５に示す。図１５の上から４段目に示されるように、変換スキップフラグts_flagの符号化（すなわち、変換スキップフラグts_flagの符号化データの復号）は、セカンダリ変換識別子st_idxが０であることが条件の１つとなる。つまり、セカンダリ変換識別子st_idxが０でない場合、すなわち、（逆）セカンダリ変換が実行される場合、変換スキップフラグts_flagの符号化（変換スキップフラグts_flagの符号化データの復号）がスキップされる。
【０２６８】
＜符号化部＞
この場合も画像符号化装置１００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像符号化装置１００は、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対してセカンダリ変換が行われる場合、プライマリ変換のスキップに関する第１の情報の符号化をスキップする符号化部を備える。つまり、この場合の符号化部１１４は、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対してセカンダリ変換が行われる場合、プライマリ変換のスキップに関する第１の情報の符号化をスキップする。
【０２６９】
図１６は、この場合の符号化部１１４がプログラム等を実行することにより実現する、変換スキップフラグts_flagの符号化に関する主な機能の例を示す機能ブロック図である。図１６に示されるように、符号化部１１４は、プログラムを実行することにより、変換スキップフラグts_flagの符号化に関する機能として、例えば、セカンダリ変換有効フラグ符号化部３０１、セカンダリ変換識別子符号化部３０２、変換スキップ有効フラグ符号化部３０３、最大変換スキップブロックサイズ符号化部３０４、変換量子化バイパスフラグ符号化部３０５、および変換スキップフラグ符号化部３０６の機能を有することができる。
【０２７０】
セカンダリ変換有効フラグ符号化部３０１は、セカンダリ変換の許可に関する情報であるセカンダリ変換有効フラグst_enabled_flagの符号化に関する処理を行う。セカンダリ変換識別子符号化部３０２は、セカンダリ変換の内容に関する情報であるセカンダリ変換識別子st_idxの符号化に関する処理を行う。変換スキップ有効フラグ符号化部３０３は、変換（プライマリ変換）のスキップの許可に関する情報である変換スキップ有効フラグts_enabled_flagの符号化に関する処理を行う。最大変換スキップブロックサイズ符号化部３０４は、変換（プライマリ変換）のスキップが許可される変換ブロックの最大サイズを示す最大変換スキップブロックサイズMaxTSSizeの符号化に関する処理を行う。変換量子化バイパスフラグ符号化部３０５は、変換（プライマリ変換およびセカンダリ変換）並びに量子化のスキップ（バイパス）に関する情報である変換量子化バイパスフラグtransquant_bypass_flagの符号化に関する処理を行う。変換スキップフラグ符号化部３０６は、変換（プライマリ変換）のスキップに関する情報である変換スキップフラグts_flagの符号化に関する処理を行う。
【０２７１】
＜符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。この場合画像符号化装置１００は、画像符号化処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像符号化装置１００は、画像符号化処理のステップＳ１１０（図９）において、変換スキップフラグts_flag等の符号化を、セカンダリ変換識別子st_idxの値等に応じて行う。この変換スキップフラグts_flag等の符号化の流れの例を図１７のフローチャートを参照して説明する。つまり、図１７に示される符号化処理は、図９のステップＳ１１０において行われる符号化処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化は任意の方法で行われる。
【０２７２】
符号化処理が開始されると、ステップＳ３０１において、セカンダリ変換有効フラグ符号化部３０１は、ヘッダ情報Hinfoに含まれるセカンダリ変換有効フラグst_enabled_flagを符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られたセカンダリ変換有効フラグst_enabled_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０２７３】
ステップＳ３０２において、セカンダリ変換識別子符号化部３０２は、ヘッダ情報Hinfoに含まれるセカンダリ変換有効フラグst_enabled_flagが１（真）であるか否かを判定する。セカンダリ変換有効フラグst_enabled_flagが１であると判定された場合、すなわち、セカンダリ変換の実行が許可されていると判定された場合、処理はステップＳ３０３に進む。
【０２７４】
ステップＳ３０３において、セカンダリ変換識別子符号化部３０２は、セカンダリ変換識別子st_idxを符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られたセカンダリ変換識別子st_idxの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。ステップＳ３０３の処理が終了すると、処理はステップＳ３０４に進む。
【０２７５】
また、ステップＳ３０２において、セカンダリ変換有効フラグst_enabled_flagが０（偽）であると判定された場合、すなわち、セカンダリ変換の実行が許可されていないと判定された場合、ステップＳ３０３の処理がスキップされ、処理はステップＳ３０４に進む。
【０２７６】
セカンダリ変換が行われないのであれば、セカンダリ変換識別子st_idxは不要である。したがって、この場合、セカンダリ変換識別子符号化部３０２は、セカンダリ変換識別子st_idxの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０２７７】
ステップＳ３０４において、変換スキップ有効フラグ符号化部３０３は、ヘッダ情報HInfoに含まれる変換スキップ有効フラグts_enabled_flagを符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られた変換スキップ有効フラグts_enabled_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０２７８】
ステップＳ３０５において、最大変換スキップブロックサイズ符号化部３０４は、ヘッダ情報Hinfoに含まれる変換スキップ有効フラグts_enabled_flagが、１（真）であるか否かを判定する。変換スキップ有効フラグts_enabled_flagが１であると判定された場合、すなわち、変換スキップ（プライマリ変換およびセカンダリ変換のスキップ）が許可されていると判定された場合、処理はステップＳ３０６に進む。
【０２７９】
ステップＳ３０６において、最大変換スキップブロックサイズ符号化部３０４は、最大変換スキップブロックサイズMaxTSSize（または、２を底とする対数値log2MaxTSSize）を符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られた最大変換スキップブロックサイズMaxTSSizeの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。ステップＳ３０６の処理が終了すると処理はステップＳ３０７に進む。
【０２８０】
また、ステップＳ３０５において、変換スキップ有効フラグts_enabled_flagが０であると判定された場合、すなわち、変換スキップが許可されていないと判定された場合、ステップＳ３０６の処理がスキップされ、処理はステップＳ３０７に進む。
【０２８１】
変換スキップを行うことができなければ、最大変換スキップブロックサイズMaxTSSize（またはlog2MaxTSSize）は不要である。したがって、この場合、最大変換スキップブロックサイズ符号化部３０４は、最大変換スキップブロックサイズMaxTSSize（またはlog2MaxTSSize）の符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０２８２】
ステップＳ３０７において、変換量子化バイパスフラグ符号化部３０５は、変換量子化バイパスフラグtransquant_bypass_flagを符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られた変換量子化バイパスフラグtransquant_bypass_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０２８３】
ステップＳ３０８において、変換スキップフラグ符号化部３０６は、変換情報Tinfoに含まれる変換量子化バイパスフラグtransquant_bypass_flagが１（真）であるか否かを判定する。変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、すなわち、変換（プライマリ変換およびセカンダリ変換）並びに量子化をスキップ（バイパス）すると判定された場合、ステップＳ３０９乃至ステップＳ３１２の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０２８４】
変換および量子化がバイパスされるのであれば、変換スキップフラグts_flagは不要である。したがって、この場合、変換スキップフラグ符号化部３０６は、変換スキップフラグts_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０２８５】
ステップＳ３０８において、変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、すなわち、変換および量子化をスキップ（バイパス）しないと判定された場合、処理はステップＳ３０９に進む。
【０２８６】
ステップＳ３０９において、変換スキップフラグ符号化部３０６は、セカンダリ変換識別子st_idxの値が０より大きいか否か（st_idx>0）を判定する。セカンダリ変換識別子st_idxの値が０より大きい、すなわち、セカンダリ変換が実行されると判定された場合、ステップＳ３１０乃至ステップＳ３１２の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０２８７】
セカンダリ変換が実行されるのであれば、変換スキップは行われないので、変換スキップフラグts_flagの値は０に固定される。したがって、この場合、変換スキップフラグts_flagを復号側に伝送する必要がないので、変換スキップフラグ符号化部３０６は、変換スキップフラグts_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０２８８】
ステップＳ３０９において、セカンダリ変換識別子st_idxの値が０である、すなわち、セカンダリ変換がスキップされると判定された場合、処理はステップＳ３１０に進む。
【０２８９】
ステップＳ３１０において、変換スキップフラグ符号化部３０６は、ヘッダ情報HInfoに含まれる変換スキップ有効フラグts_enabled_flagが１（真）であるか否かを判定する。変換スキップ有効フラグts_enabled_flagが０である、すなわち、変換スキップが許可されていないと判定された場合、ステップＳ３１１およびステップＳ３１２の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０２９０】
変換スキップを行うことができなければ、変換スキップフラグts_flagの値は０に固定される。したがって、この場合、変換スキップフラグts_flagを復号側に伝送する必要がないので、変換スキップフラグ符号化部３０６は、変換スキップフラグts_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０２９１】
ステップＳ３１０において、変換スキップ有効フラグts_enabled_flagが１であると判定された場合、すなわち、変換スキップが許可されていると判定された場合、処理はステップＳ３１１に進む。
【０２９２】
ステップＳ３１１において、変換スキップフラグ符号化部３０６は、処理対象の変換ブロックのサイズTBSizeが最大変換スキップブロックサイズMaxTSSize以下であるか否か（条件式TBSize<=MaxTSSizeが真であるか否か）を判定する。処理対象の変換ブロックのサイズTBSizeが最大変換スキップブロックサイズMaxTSSizeより大きいと判定された場合、すなわち、上述の条件式が０（偽）であると判定された場合、ステップＳ３１２の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０２９３】
変換ブロックのサイズが最大変換スキップブロックサイズより大きい場合、変換スキップが許可されないので、変換スキップフラグts_flagの値は０に固定される。したがって、この場合、変換スキップフラグts_flagを復号側に伝送する必要がないので、変換スキップフラグ符号化部３０６は、変換スキップフラグts_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０２９４】
ステップＳ３１１において、処理対象の変換ブロックのサイズTBSizeが最大変換スキップブロックサイズMaxTSSize以下であると判定された場合、すなわち、上述の条件式が１（真）であると判定された場合、処理はステップＳ３１２に進む。
【０２９５】
なお、ステップＳ３１１において、上述した条件式（TBSize<=MaxTSSize）は、２を底とするTBサイズの対数値log2TrafoSize（またはlog2TBSize）、２を底とする最大変換スキップブロックサイズMaxTSSizeの対数値log2MaxTSSizeを用いて、条件式（log2TrafroSize<=log2MaxTSSize）に置き換えても良い。
【０２９６】
ステップＳ３１２において、変換スキップフラグ符号化部３０６は、変換スキップフラグts_flagを符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られた変換スキップフラグts_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０２９７】
つまり、以下の条件式（３２）が１（真）となる場合のみ、変換スキップフラグts_flagが符号化される。これは、図１５を参照して説明したシンタックスの上から４段目に対応する。
【０２９８】
論理値＝（ts_enabled_flag &&
!transquant_bypass_flag &&
（log2TrafoSize <= log2MaxTSSize） &&
st_idx==0）
・・・（３２）
【０２９９】
ステップＳ３１２の処理が終了すると、符号化処理が終了し、処理は図９に戻る。
【０３００】
以上のように符号化処理を実行することにより、画像符号化装置１００は、CU単位でセカンダリ変換識別子st_idxを符号化する場合において、セカンダリ変換識別子st_idxがセカンダリ変換を適用することを示す場合（st_idx > 0）、変換スキップフラグts_flagの符号化をスキップすることができる。すなわち、変換スキップフラグts_flagに係る符号量の削減、及び符号化にかかる処理量を低減することができる。
【０３０１】
なお、上述した符号化処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（３２）は、実施可能な範囲で演算を変更可能である。
【０３０２】
＜復号部＞
次に画像復号装置２００について説明する。この場合も画像復号装置２００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像復号装置２００は、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換が行われる場合、そのプライマリ変換の逆変換である逆プライマリ変換のスキップに関する第１の情報の符号化データの復号をスキップする復号部を備える。つまり、この場合の復号部２１１は、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換が行われる場合、そのプライマリ変換の逆変換である逆プライマリ変換のスキップに関する第１の情報の符号化データの復号をスキップする。
【０３０３】
図１８は、この場合の復号部２１１がプログラム等を実行することにより実現する、変換スキップフラグts_flagの復号に関する主な機能の例を示す機能ブロック図である。図１８に示されるように、復号部２１１は、プログラムを実行することにより、変換スキップフラグts_flagの復号に関する機能として、例えば、セカンダリ変換有効フラグ復号部３１１、セカンダリ変換識別子復号部３１２、変換スキップ有効フラグ復号部３１３、最大変換スキップブロックサイズ復号部３１４、変換量子化バイパスフラグ復号部３１５、および変換スキップフラグ復号部３１６の機能を有することができる。
【０３０４】
セカンダリ変換有効フラグ復号部３１１は、逆セカンダリ変換の許可に関する情報であるセカンダリ変換有効フラグst_enabled_flagの符号化データの復号に関する処理を行う。セカンダリ変換識別子復号部３１２は、逆セカンダリ変換の内容に関する情報であるセカンダリ変換識別子st_idxの符号化データの復号に関する処理を行う。変換スキップ有効フラグ復号部３１３は、逆変換（逆プライマリ変換）のスキップの許可に関する情報である変換スキップ有効フラグts_enabled_flagの符号化データの復号に関する処理を行う。最大変換スキップブロックサイズ復号部３１４は、逆変換（逆プライマリ変換）のスキップが許可される変換ブロックの最大サイズを示す最大変換スキップブロックサイズMaxTSSizeの符号化データの復号に関する処理を行う。変換量子化バイパスフラグ復号部３１５は、逆変換（逆セカンダリ変換および逆プライマリ変換）並びに逆量子化のスキップ（バイパス）に関する情報である変換量子化バイパスフラグtransquant_bypass_flagの符号化データの復号に関する処理を行う。変換スキップフラグ復号部３１６は、逆変換（逆プライマリ変換）のスキップに関する情報である変換スキップフラグts_flagの符号化データの復号に関する処理を行う。
【０３０５】
＜復号処理の流れ＞
次に、画像復号装置２００により実行される各処理の流れの例を説明する。この場合画像復号装置２００は、画像復号処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像復号装置２００は、画像復号処理のステップＳ２０１（図１３）において、変換スキップフラグts_flag等の符号化データの復号を、セカンダリ変換識別子st_idxの値等に応じて行う。この変換スキップフラグts_flag等の符号化データの復号の流れの例を図１９のフローチャートを参照して説明する。つまり、図１９に示される復号処理は、図１３のステップＳ２０１において行われる復号処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化データの復号は任意の方法で行われる。
【０３０６】
復号処理が開始されると、ステップＳ３３１において、セカンダリ変換有効フラグ復号部３１１は、ビットストリーム（符号化データ）に含まれるセカンダリ変換有効フラグst_enabled_flagの符号化データを復号し、ヘッダ情報Hinfoの一部として出力する。
【０３０７】
ステップＳ３３２において、セカンダリ変換識別子復号部３１２は、その復号されたセカンダリ変換有効フラグst_enabled_flagが、１（真）であるか否かを判定する。セカンダリ変換有効フラグst_enabled_flagが０であると判定された場合、つまり、逆セカンダリ変換の実行が許可されていないと判定された場合、処理はステップＳ３３３に進む。
【０３０８】
この場合、逆セカンダリ変換はスキップされるので、セカンダリ変換識別子st_idxは符号化されていない。したがって、ステップＳ３３３において、セカンダリ変換識別子復号部３１２は、セカンダリ変換識別子st_idxの符号化データの復号をスキップする。また、この場合、逆セカンダリ変換はスキップされるので、セカンダリ変換識別子st_idxの値は０に固定される。したがって、セカンダリ変換識別子復号部３１２は、セカンダリ変換識別子st_idxの値が０であると推定する。つまり、セカンダリ変換識別子復号部３１２は、セカンダリ変換識別子st_idxの値を０に設定する（st_idx＝0）。ステップＳ３３３の処理が終了すると処理はステップＳ３３５に進む。
【０３０９】
また、ステップＳ３３２において、セカンダリ変換有効フラグst_enabled_flagが１であると判定された場合、処理はステップＳ３３４に進む。この場合、逆セカンダリ変換の実行が許可されているので、ステップＳ３３４において、セカンダリ変換識別子復号部３１２は、ビットストリーム（符号化データ）に含まれるセカンダリ変換識別子st_idxの符号化データを復号する。ステップＳ３３４の処理が終了すると処理はステップＳ３３５に進む。
【０３１０】
なお、以上のセカンダリ変換識別子st_idxの復号に係る処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。
【０３１１】
ステップＳ３３５において、変換スキップ有効フラグ復号部３１３は、ビットストリーム（符号化データ）に含まれる変換スキップ有効フラグts_enabled_flagの符号化データを復号し、ヘッダ情報Hinfoの一部として出力する。
【０３１２】
ステップＳ３３６において、最大変換スキップブロックサイズ復号部３１４は、その復号された変換スキップ有効フラグts_enabled_flagが、１（真）であるか否かを判定する。変換スキップ有効フラグts_enabled_flagが１であると判定された場合、すなわち、逆変換（逆セカンダリ変換および逆プライマリ変換）のスキップが許可されていると判定された場合、処理はステップＳ３３７に進む。
【０３１３】
ステップＳ３３７において、最大変換スキップブロックサイズ復号部３１４は、ビットストリーム（符号化データ）に含まれる最大変換スキップブロックサイズMaxTSSize（または、２を底とする対数値log2MaxTSSize）の符号化データを復号する。ステップＳ３３７の処理が終了すると処理はステップＳ３３８に進む。
【０３１４】
また、ステップＳ３３６において、変換スキップ有効フラグts_enabled_flagが０であると判定された場合、すなわち、逆変換のスキップが許可されていないと判定された場合、逆変換のスキップが行われないのであるから、最大変換スキップブロックサイズMaxTSSizeは不要である。したがって、この場合、ステップＳ３３７の処理がスキップされ、処理はステップＳ３３８に進む。
【０３１５】
ステップＳ３３８において、変換量子化バイパスフラグ復号部３１５は、ビットストリーム（符号化データ）に含まれる変換量子化バイパスフラグtransquant_bypass_flagの符号化データを復号し、変換情報Tinfoの一部として出力する。
【０３１６】
ステップＳ３３９において、変換スキップフラグ復号部３１６は、その変換量子化バイパスフラグtransquant_bypass_flagが１（真）であるか否かを判定する。変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、すなわち、逆変換（逆セカンダリ変換および逆プライマリ変換）並びに逆量子化をスキップ（バイパス）すると判定された場合、ステップＳ３４０乃至ステップＳ３４２の処理がスキップされ、処理はステップＳ３４３に進む。
【０３１７】
逆変換および量子化がバイパスされるのであれば、変換スキップフラグts_flagは不要である。したがって、この場合、変換スキップフラグ復号部３１６は、変換スキップフラグts_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３１８】
また、ステップＳ３３９において、変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、すなわち、逆変換および量子化をスキップ（バイパス）しないと判定された場合、処理はステップＳ３４０に進む。
【０３１９】
ステップＳ３４０において、変換スキップフラグ復号部３１６は、セカンダリ変換識別子st_idxの値が０より大きいか否か（st_idx>0）を判定する。セカンダリ変換識別子st_idxの値が０より大きい、すなわち、逆セカンダリ変換が実行されると判定された場合、ステップＳ３４１およびステップＳ３４２の処理がスキップされ、処理はステップＳ３４３に進む。
【０３２０】
セカンダリ変換が実行されるのであれば、変換スキップ（逆変換のスキップ）は行われないので、変換スキップフラグts_flagの値は０に固定される。したがって、この場合、変換スキップフラグts_flagは符号化側から伝送されないので、変換スキップフラグ復号部３１６は、変換スキップフラグts_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３２１】
ステップＳ３４０において、セカンダリ変換識別子st_idxの値が０である、すなわち、逆セカンダリ変換がスキップされると判定された場合、処理はステップＳ３４１に進む。
【０３２２】
ステップＳ３４１において、変換スキップフラグ復号部３１６は、ヘッダ情報HInfoに含まれる変換スキップ有効フラグts_enabled_flagが１（真）であるか否かを判定する。変換スキップ有効フラグts_enabled_flagが０であると判定された場合、すなわち、変換スキップが許可されていないと判定された場合、ステップＳ３４２の処理がスキップされ、処理はステップＳ３４３に進む。
【０３２３】
変換スキップ（逆変換のスキップ）を行うことができなければ、変換スキップフラグts_flagの値は０に固定される。したがって、この場合、変換スキップフラグts_flagは符号化側から伝送されないので、変換スキップフラグ復号部３１６は、変換スキップフラグts_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３２４】
ステップＳ３４１において、変換スキップ有効フラグts_enabled_flagが１であると判定された場合、すなわち、変換スキップ（逆変換のスキップ）が許可されていると判定された場合、処理はステップＳ３４２に進む。
【０３２５】
ステップＳ３４２において、変換スキップフラグ復号部３１６は、処理対象の変換ブロックのサイズTBSizeが最大変換スキップブロックサイズMaxTSSize以下であるか否か（条件式TBSize<=MaxTSSizeが真であるか否か）を判定する。処理対象の変換ブロックのサイズTBSizeが最大変換スキップブロックサイズMaxTSSizeより大きいと判定された場合、すなわち、上述の条件式が０（偽）であると判定された場合、処理はステップＳ３４３に進む。
【０３２６】
変換ブロックのサイズが最大変換スキップブロックサイズより大きい場合、変換スキップが許可されないので、変換スキップフラグts_flagの値は０に固定される。したがって、この場合、変換スキップフラグts_flagは符号化側から伝送されないので、変換スキップフラグ復号部３１６は、変換スキップフラグts_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。なお、ステップＳ３４２において、上述した条件式（TBSize <= MaxTSSize）は、２を底とするTBサイズの対数値log2TrafoSize（あるいは、log2TBSize)、２を底とする最大変換スキップブロックサイズMaxTSSizeの対数値log2MaxTSSizeを用いて、条件式（log2TrafroSize <= log2MaxTSSize）に置き換えても良い。
【０３２７】
ステップＳ３４３において、変換スキップフラグ復号部３１６は、変換スキップフラグts_flagの符号化データの復号をスキップする。また、この場合、変換スキップ（逆変換のスキップ）は行われない、すなわち、逆変換が実行されるので、変換スキップフラグts_flagの値は０に固定される。したがって、変換スキップフラグ復号部３１６は、変換スキップフラグts_flagの値が０であると推定する。つまり、変換スキップフラグ復号部３１６は、変換スキップフラグts_flagの値を０に設定する（ts_flag＝0）。ステップＳ３４３の処理が終了すると復号処理が終了し、処理は、図１３に戻る。
【０３２８】
また、ステップＳ３４２において、処理対象の変換ブロックのサイズTBSizeが最大変換スキップブロックサイズMaxTSSize以下であると判定された場合、すなわち、上述の条件式が１（真）であると判定された場合、処理はステップＳ３４４に進む。
【０３２９】
ステップＳ３４４において、変換スキップフラグ復号部３１６は、変換スキップフラグts_flagの符号化データを復号する。
【０３３０】
つまり、上述の条件式（３２）が１（真）となる場合のみ、変換スキップフラグts_flagの符号化データが復号される。これは、図１５を参照して説明したシンタックスの上から４段目に対応する。
【０３３１】
ステップＳ３４４の処理が終了すると、復号処理が終了し、処理は、図１３に戻る。
【０３３２】
以上のように復号処理を実行することにより、画像復号装置２００は、CU単位でセカンダリ変換識別子st_idxが符号化される場合において、そのセカンダリ変換識別子st_idxが逆セカンダリ変換の実行を示す場合（st_idx > 0）、変換スキップフラグts_flagの符号化データの復号をスキップすることができる。すなわち、変換スキップフラグts_flagに係る符号量の削減、及び復号にかかる処理量を低減することができる。
【０３３３】
なお、上述した復号処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（３２）は、実施可能な範囲で演算を変更可能である。
【０３３４】
＜３．第３の実施の形態＞
＜セカンダリ変換フラグの符号化・復号のスキップ＞
非特許文献２には、非特許文献１に記載の技術（JEM2）においてCU単位で復号されるセカンダリ変換識別子st_idxが、変換ブロック単位で復号されるセカンダリ変換を適用するか否かを示すセカンダリ変換フラグst_flagと、PU単位で復号されるイントラ予測モード情報IPinfoに基づいて、変換ブロック単位で導出されることが記載されている。
【０３３５】
例えば、この非特許文献２に記載の技術に対して第１の実施の形態において説明した本技術を適用し、変換スキップフラグts_flagが１である（変換スキップを適用する）場合に（逆）プライマリ変換および（逆）セカンダリ変換をスキップするようにする。この場合、変換ブロック単位で復号される変換スキップフラグts_flagが、（逆）変換処理のスキップの実行を示す場合（ts_flag＝1）、（逆）セカンダリ変換がスキップされるので、そのセカンダリ変換の実行に関する情報であるセカンダリ変換フラグst_flagの符号化が冗長となる。したがって、符号化効率が低減するおそれがあった。
【０３３６】
そこで、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換がスキップされる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップするようにする。
【０３３７】
このようにすることにより、プライマリ変換がスキップされる場合に第１の情報の符号化をスキップすることができるようになるので、符号化効率の低減を抑制することができる。
【０３３８】
また、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換がスキップされる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップするようにする。
【０３３９】
このようにすることにより、逆プライマリ変換がスキップされる場合に第１の情報の符号化データの復号をスキップすることができるようになるので、符号化効率の低減を抑制することができる。
【０３４０】
＜シンタクス＞
このような制御を表す疑似コードを記載したシンタクステーブルの例を図２０に示す。図２０の上から７段目に示されるように、セカンダリ変換フラグst_flagの符号化（すなわち、セカンダリ変換フラグst_flagの符号化データの復号）は、変換スキップフラグts_flagが０であることが条件の１つとなる。つまり、変換スキップフラグts_flagが１の場合、すなわち、（逆）プライマリ変換がスキップされる場合、セカンダリ変換フラグst_flagの符号化（セカンダリ変換フラグst_flagの符号化データの復号）がスキップされる。
【０３４１】
また、変換量子化バイパスフラグtransquant_bypass_flagが０であることも、セカンダリ変換フラグst_flagの符号化（すなわち、セカンダリ変換フラグst_flagの符号化データの復号）の条件の１つとなる。つまり、変換量子化バイパスフラグtransquant_bypass_flagが１の場合、すなわち、（逆）変換および（逆）量子化がスキップされる場合、セカンダリ変換フラグst_flagの符号化（セカンダリ変換フラグst_flagの符号化データの復号）がスキップされる。
【０３４２】
＜符号化部＞
この場合も画像符号化装置１００は、第１の実施の形態の場合と基本的に同様の構成を有する。つまり、第１の実施の形態において説明した画像符号化装置１００が、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換がスキップされる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする符号化部を備える。つまり、この場合の符号化部１１４は、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換がスキップされる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする。
【０３４３】
図２１は、この場合の符号化部１１４がプログラム等を実行することにより実現する、セカンダリ変換フラグst_flagの符号化に関する主な機能の例を示す機能ブロック図である。図２１に示されるように、この場合の符号化部１１４は、プログラムを実行することにより、セカンダリ変換フラグst_flagの符号化に関する機能として、例えば、第２の実施の形態において説明した符号化部１１４と同様の、セカンダリ変換有効フラグ符号化部３０１、変換スキップ有効フラグ符号化部３０３、最大変換スキップブロックサイズ符号化部３０４、変換量子化バイパスフラグ符号化部３０５、および変換スキップフラグ符号化部３０６の機能を有することができる。さらに、符号化部１１４は、プログラムを実行することにより、セカンダリ変換フラグst_flagの符号化に関する機能として、例えば、セカンダリ変換フラグ符号化部３２１の機能を有することができる。
【０３４４】
セカンダリ変換フラグ符号化部３２１は、セカンダリ変換の実行に関する情報であるセカンダリ変換フラグst_flagの符号化に関する処理を行う。例えば、セカンダリ変換フラグst_flagが１（真）の場合、セカンダリ変換が実行される。また、例えば、セカンダリ変換フラグst_flagが０（偽）の場合、セカンダリ変換がスキップされる。
【０３４５】
＜符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。この場合画像符号化装置１００は、画像符号化処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像符号化装置１００は、画像符号化処理のステップＳ１１０（図９）において、セカンダリ変換フラグst_flag等の符号化を、変換スキップフラグts_flagの値等に応じて行う。このセカンダリ変換フラグst_flag等の符号化の流れの例を図２２および図２３のフローチャートを参照して説明する。つまり、図２２および図２３に示される符号化処理は、図９のステップＳ１１０において行われる符号化処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化は任意の方法で行われる。
【０３４６】
符号化処理が開始されると、図２２のステップＳ３６１乃至ステップＳ３６８の各処理が、ステップＳ３０４乃至ステップＳ３０８、並びに、ステップＳ３１０乃至ステップＳ３１２の各処理（図１７）と同様に実行される。
【０３４７】
なお、ステップＳ３６５において、変換（プライマリ変換およびセカンダリ変換）並びに量子化のスキップ（バイパス）に関する情報である変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、すなわち、変換（プライマリ変換およびセカンダリ変換）並びに量子化をスキップ（バイパス）すると判定された場合、処理は図２３のステップＳ３７１に進む。また、ステップＳ３６５において、変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、すなわち、変換および量子化をスキップ（バイパス）しないと判定された場合、処理はステップＳ３６６に進む。
【０３４８】
また、ステップＳ３６６において、変換（プライマリ変換）のスキップの許可に関する情報である変換スキップ有効フラグts_enabled_flagが０である、すなわち、変換スキップが許可されていないと判定された場合、処理は図２３のステップＳ３７１に進む。また、ステップＳ３６６において、変換スキップ有効フラグts_enabled_flagが１である、すなわち、変換スキップが許可されていると判定された場合、処理はステップＳ３６７に進む。
【０３４９】
また、ステップＳ３６７において、処理対象の変換ブロックのサイズTBSizeが、変換（プライマリ変換）のスキップが許可される変換ブロックの最大サイズである最大変換スキップブロックサイズMaxTSSizeより大きいと判定された場合、処理は図２３のステップＳ３７１に進む。また、ステップＳ３６７において、処理対象の変換ブロックのサイズTBSizeが最大変換スキップブロックサイズMaxTSSize以下であると判定された場合、処理はステップＳ３６８に進む。
【０３５０】
ステップＳ３６８において変換（プライマリ変換）のスキップに関する情報である変換スキップフラグts_flagが生成され、その処理が終了すると、処理は図２３のステップＳ３７１に進む。
【０３５１】
図２３のステップＳ３７１において、セカンダリ変換有効フラグ符号化部３０１は、ヘッダ情報Hinfoに含まれる、セカンダリ変換の許可に関する情報であるセカンダリ変換有効フラグst_enabled_flagを符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られたセカンダリ変換有効フラグst_enabled_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０３５２】
ステップＳ３７２において、セカンダリ変換フラグ符号化部３２１は、ヘッダ情報Hinfoに含まれるセカンダリ変換有効フラグst_enabled_flagが１（真）であるか否かを判定する。セカンダリ変換有効フラグst_enabled_flagが０であると判定された場合、すなわち、セカンダリ変換の実行が許可されていないと判定された場合、ステップＳ３７３乃至ステップＳ３７７の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０３５３】
セカンダリ変換が行われないのであれば、セカンダリ変換フラグst_flagの値は０に固定される。したがって、この場合、セカンダリ変換フラグst_flagを復号側に伝送する必要がないので、セカンダリ変換フラグ符号化部３２１は、セカンダリ変換フラグst_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３５４】
ステップＳ３７２において、セカンダリ変換有効フラグst_enabled_flagが１であると判定された場合、すなわち、セカンダリ変換の実行が許可されていると判定された場合、処理はステップＳ３７３に進む。
【０３５５】
ステップＳ３７３において、セカンダリ変換フラグ符号化部３２１は、変換量子化バイパスフラグtransquant_bypass_flagが、１（真）であるか否かを判定する。変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、すなわち、変換（プライマリ変換およびセカンダリ変換）並びに量子化をスキップ（バイパス）すると判定された場合、ステップＳ３７４乃至ステップＳ３７７の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０３５６】
変換および量子化がバイパスされるのであれば、セカンダリ変換フラグst_flagは不要である。したがって、この場合、変換スキップフラグ符号化部３０６は、セカンダリ変換フラグst_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３５７】
ステップＳ３７３において、変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、すなわち、変換および量子化をスキップ（バイパス）しないと判定された場合、処理はステップＳ３７４に進む。
【０３５８】
ステップＳ３７４において、セカンダリ変換フラグ符号化部３２１は、変換スキップフラグts_flagが、１（真）であるか否かを判定する。変換スキップフラグts_flagが１であると判定された場合、すなわち、変換（プライマリ変換）をスキップすると判定された場合、ステップＳ３７５乃至ステップＳ３７７の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０３５９】
プライマリ変換がスキップされる場合、セカンダリ変換もスキップされる。したがってセカンダリ変換フラグst_flagの値は０に固定される。したがって、この場合、セカンダリ変換フラグst_flagを復号側に伝送する必要がないので、セカンダリ変換フラグ符号化部３２１は、セカンダリ変換フラグst_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３６０】
ステップＳ３７４において、変換スキップフラグts_flagが０であると判定された場合、すなわち、変換（プライマリ変換）を実行すると判定された場合、処理はステップＳ３７５に進む。
【０３６１】
ステップＳ３７５において、セカンダリ変換フラグ符号化部３２１は、残差情報Rinfoを参照して、変換ブロック内に存在する非ゼロ係数をカウントし、その総数numSig（sig_coeff_flag==1の総数）を求める。
【０３６２】
ステップＳ３７６において、セカンダリ変換フラグ符号化部３２１は、非ゼロ係数の総数numSigが所定の閾値TH以上であるか否か（numSig >= TH）を判定する。非ゼロ係数の総数numSigが所定の閾値THより少ない（numSig < TH）と判定された場合、ステップＳ３７７の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０３６３】
非ゼロ係数の総数numSigが所定の閾値THより少ない場合、すなわち、非ゼロ係数が少ない疎な残差信号の場合、セカンダリ変換によりエナジーコンパクションが低下し、符号化効率が低減するおそれがあるので、符号化効率の低減を抑制するためには、セカンダリ変換をスキップするのが望ましい。つまり、この場合、セカンダリ変換をスキップするように制御される。したがって、セカンダリ変換フラグst_flagの値は０に固定される。したがって、この場合、セカンダリ変換フラグst_flagを復号側に伝送する必要がないので、セカンダリ変換フラグ符号化部３２１は、セカンダリ変換フラグst_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３６４】
ステップＳ３７６において、非ゼロ係数の総数numSigが所定の閾値TH以上であると判定された場合、処理はステップＳ３７７に進む。
【０３６５】
ステップＳ３７７において、セカンダリ変換フラグ符号化部３２１は、セカンダリ変換フラグst_flagを符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られたセカンダリ変換フラグst_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０３６６】
つまり、以下の条件式（３３）が１（真）となる場合のみ、セカンダリ変換フラグst_flagが符号化される。これは、図２０を参照して説明したシンタックスの上から７段目に対応する。
【０３６７】
論理値＝（st_enabled_flag &&
（transquant_bypass_flag==0 || ts_flag==0） &&
numSig >= TH）
・・・（３３）
【０３６８】
ステップＳ３７７の処理が終了すると、符号化処理が終了し、処理は図９に戻る。
【０３６９】
以上のように符号化処理を実行することにより、画像符号化装置１００は、変換ブロック単位でセカンダリ変換フラグst_flagを符号化する場合において、変換スキップを適用する場合（ts_flag＝１）、セカンダリ変換フラグst_flagの符号化をスキップすることができる。また、画像符号化装置１００は、変換および量子化のバイパスを適用する場合（transquant_bypass_flag＝１）、セカンダリ変換フラグst_flagの符号化をスキップすることができる。すなわち、セカンダリ変換フラグst_flagに係る符号量の削減、及び符号化に係る処理量を低減することができる。
【０３７０】
なお、上述した符号化処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（３３）は、実施可能な範囲で演算を変更可能である。
【０３７１】
上述の例では、変換ブロック単位でセカンダリ変換フラグst_flagの符号化処理について説明したが、セカンダリ変換フラグst_flagの代わりに、セカンダリ変換識別子st_idxを符号化してもよい。この場合、図２０に示すシンタクステーブルの上から８段目に示される、セカンダリ変換フラグst_flagをセカンダリ変換識別子st_idxへ置き換える。また、同様に、図２１において、セカンダリ変換フラグ符号化部３２１を、図１６に示すセカンダリ変換識別子st_idxの符号化に関する機能を有するセカンダリ変換識別子符号化部３０２へ置きかえる。同様に、図２３のフローチャートにおける各ステップにおいて、セカンダリ変換フラグst_flagの部分を、セカンダリ変換識別子st_idxへ置き換えて解釈する。
【０３７２】
以上のように符号化処理を実行することにより、画像符号化装置１００は、変換ブロック単位でセカンダリ変換識別子st_idxを符号化する場合において、変換スキップを適用する場合（ts_flag＝１）、セカンダリ変換識別子st_idxの符号化をスキップすることができる。また、画像符号化装置１００は、変換および量子化のバイパスを適用する場合（transquant_bypass_flag＝１）、セカンダリ変換識別子st_idxの符号化をスキップすることができる。すなわち、セカンダリ変換識別子st_idxに係る符号量の削減、及び符号化に係る処理量を低減することができる。
【０３７３】
また、上述の条件式（３３）に限定されず、輝度の場合にのみ、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx）を符号化するように、下記条件式（３４）へ変更してもよい。すなわち、色空間を示す識別子cIdxが輝度の値Luma （=0)を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)の符号化をし、cIdxが色差の値Cb（=1)またはCr（=2)を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx）の符号化を省略する。
【０３７４】
論理値＝（cIdx==Luma && st_enabled_flag &&
（transquant_bypass_flag==0 || ts_flag==0） &&
numSig >= TH）
・・・（３４）
【０３７５】
また、上述の条件式（３３）に限定されず、イントラの場合にのみ、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx）を符号化するように、下記条件式（３５）へ変更してもよい。すなわち、ＣＵの予測モードを示すCuPredMode[x0][y0]がイントラ予測（=MODE_INTRA）を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)を符号化し、インター予測の場合、符号化を省略する。
【０３７６】
論理値＝（CuPredMode[x0][y0]==MODE_INTRA && st_enabled_flag &&
（transquant_bypass_flag==0 || ts_flag==0） &&
numSig >= TH）
・・・（３５）
【０３７７】
なお、条件式（３３）乃至（３５）の条件は、それぞれ組み合わせてもよい。
【０３７８】
＜復号部＞
次に画像復号装置２００について説明する。この場合も画像復号装置２００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像復号装置２００は、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換がスキップされる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする復号部を備える。つまり、この場合の復号部２１１は、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換がスキップされる場合、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする。
【０３７９】
図２４は、この場合の復号部２１１がプログラム等を実行することにより実現する、セカンダリ変換フラグst_flagの復号に関する主な機能の例を示す機能ブロック図である。図２４に示されるように、この場合の復号部２１１は、プログラムを実行することにより、セカンダリ変換フラグst_flagの復号に関する機能として、例えば、第２の実施の形態において説明した復号部２１１と同様の、セカンダリ変換有効フラグ復号部３１１、変換スキップ有効フラグ復号部３１３、最大変換スキップブロックサイズ復号部３１４、変換量子化バイパスフラグ復号部３１５、および変換スキップフラグ復号部３１６の機能を有することができる。さらに、復号部２１１は、プログラムを実行することにより、セカンダリ変換フラグst_flagの復号に関する機能として、例えば、セカンダリ変換フラグ復号部３３１の機能を有することができる。
【０３８０】
セカンダリ変換フラグ復号部３３１は、逆セカンダリ変換の実行に関する情報であるセカンダリ変換フラグst_flagの符号化データの復号に関する処理を行う。例えば、セカンダリ変換フラグst_flagが１（真）の場合、逆セカンダリ変換が実行される。また、例えば、セカンダリ変換フラグst_flagが０（偽）の場合、逆セカンダリ変換がスキップされる。
【０３８１】
＜復号処理の流れ＞
次に、画像復号装置２００により実行される各処理の流れの例を説明する。この場合画像復号装置２００は、画像復号処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像復号装置２００は、画像復号処理のステップＳ２０１（図１３）において、セカンダリ変換フラグst_flag等の符号化データの復号を、変換スキップフラグts_flagの値等に応じて行う。このセカンダリ変換フラグst_flag等の符号化データの復号の流れの例を図２５および図２６のフローチャートを参照して説明する。つまり、図２５および図２６に示される符号化処理は、図１３のステップＳ２０１において行われる復号処理の一部として実行される。
【０３８２】
復号処理が開始されると、図２５のステップＳ３８１乃至ステップＳ３８９の各処理が、ステップＳ３３５乃至ステップＳ３３９、並びに、ステップＳ３４１乃至ステップＳ３４４の各処理（図１９）と同様に実行される。
【０３８３】
なお、ステップＳ３８５において、変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、すなわち、変換および量子化をスキップ（バイパス）しないと判定された場合、処理はステップＳ３８６に進む。
【０３８４】
また、ステップＳ３８８において、変換スキップフラグts_flagが０と推定され、変換スキップフラグts_flagが０に設定されると、処理は図２６のステップＳ３９１に進む。同様に、ステップＳ３８９において、変換スキップフラグts_flagの符号化データが復号されると、処理は図２６のステップＳ３９１に進む。
【０３８５】
図２６のステップＳ３９１において、セカンダリ変換有効フラグ復号部３１１は、ビットストリーム（符号化データ）に含まれるセカンダリ変換有効フラグst_enabled_flagの符号化データを復号し、ヘッダ情報Hinfoの一部として出力する。
【０３８６】
ステップＳ３９２において、セカンダリ変換フラグ復号部３３１は、その復号されたセカンダリ変換有効フラグst_enabled_flagが、１（真）であるか否かを判定する。セカンダリ変換有効フラグst_enabled_flagが０であると判定された場合、つまり、逆セカンダリ変換の実行が許可されていないと判定された場合、ステップＳ３９３乃至ステップＳ３９６の処理がスキップされ、処理はステップＳ３９７に進む。
【０３８７】
逆セカンダリ変換が許可されていないであれば、逆セカンダリ変換はスキップされる。すなわち、セカンダリ変換フラグst_flagの値は０に固定される。したがって、この場合、セカンダリ変換フラグst_flagは符号化側から伝送されないので、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３８８】
ステップＳ３９２において、セカンダリ変換有効フラグst_enabled_flagが１であると判定された場合、つまり、逆セカンダリ変換の実行が許可されていると判定された場合、処理はステップＳ３９３に進む。
【０３８９】
ステップＳ３９３において、セカンダリ変換フラグ復号部３３１は、変換量子化バイパスフラグtransquant_bypass_flagが１（真）であるか否かを判定する。変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、すなわち、逆変換（逆セカンダリ変換および逆プライマリ変換）並びに逆量子化をスキップ（バイパス）すると判定された場合、ステップＳ３９４乃至ステップＳ３９６の処理がスキップされ、処理はステップＳ３９７に進む。
【０３９０】
逆変換および逆量子化がバイパスされるのであれば、セカンダリ変換フラグst_flagは不要である。したがって、この場合、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３９１】
ステップＳ３９３において、変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、すなわち、逆変換および逆量子化をスキップ（バイパス）しないと判定された場合、処理はステップＳ３９４に進む。
【０３９２】
ステップＳ３９４において、セカンダリ変換フラグ復号部３３１は、変換スキップフラグts_flagが１（真）であるか否かを判定する。変換スキップフラグts_flagが１（真）であると判定された場合、すなわち、逆変換（逆プライマリ変換）をスキップすると判定された場合、ステップＳ３９５およびステップＳ３９６の処理がスキップされ、処理はステップＳ３９７に進む。
【０３９３】
逆プライマリ変換がスキップされるのであれば、逆セカンダリ変換もスキップされる。すなわち、セカンダリ変換フラグst_flagの値は０に固定される。したがって、この場合、セカンダリ変換フラグst_flagは符号化側から伝送されないので、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３９４】
ステップＳ３９４において、変換スキップフラグts_flagが０（偽）であると判定された場合、すなわち、逆変換（逆プライマリ変換）を実行すると判定された場合、処理はステップＳ３９５に進む。
【０３９５】
ステップＳ３９５において、セカンダリ変換フラグ復号部３３１は、残差情報Rinfoを参照して、変換ブロック内に存在する非ゼロ係数をカウントし、その総数numSig（sig_coeff_flag==1の総数）を求める。
【０３９６】
ステップＳ３９６において、セカンダリ変換フラグ復号部３３１は、非ゼロ係数の総数numSigが所定の閾値TH以上であるか否か（numSig >= TH）を判定する。非ゼロ係数の総数numSigが所定の閾値THより少ない（numSig < TH）と判定された場合、処理はステップＳ３９７に進む。
【０３９７】
非ゼロ係数の総数numSigが所定の閾値THより少ない場合、すなわち、非ゼロ係数が少ない疎な残差信号の場合、逆セカンダリ変換によりエナジーコンパクションが低下し、符号化効率が低減するおそれがあるので、符号化効率の低減を抑制するためには、逆セカンダリ変換をスキップするのが望ましい。つまり、この場合、逆セカンダリ変換をスキップするように制御される。したがって、セカンダリ変換フラグst_flagの値は０に固定される。したがって、この場合、セカンダリ変換フラグst_flagは符号化側から伝送されないので、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０３９８】
ステップＳ３９７において、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの符号化データの復号をスキップする。また、この場合、逆セカンダリ変換はスキップされるので、セカンダリ変換フラグst_flagの値は０に固定される。したがって、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの値が０であると推定する。つまり、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの値を０に設定する（st_flag＝0）。ステップＳ３９７の処理が終了すると復号処理が終了し、処理は、図１３に戻る。
【０３９９】
ステップＳ３９６において、非ゼロ係数の総数numSigが所定の閾値TH以上である（numSig >= TH）と判定された場合、処理はステップＳ３９８に進む。
【０４００】
ステップＳ３９８において、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの符号化データを復号する。
【０４０１】
つまり、上述の条件式（３３）が１（真）となる場合のみ、セカンダリ変換フラグst_flagの符号化データが復号される。これは、図２０を参照して説明したシンタックスの上から７段目に対応する。
【０４０２】
ステップＳ３９８の処理が終了すると、復号処理が終了し、処理は、図１３に戻る。
【０４０３】
以上のように復号処理を実行することにより、画像復号装置２００は、変換ブロック単位でセカンダリ変換フラグst_flagを復号する場合において、変換スキップを適用する場合（ts_flag＝１）、セカンダリ変換フラグst_flagの符号化データの復号をスキップすることができる。また、画像復号装置２００は、逆変換および逆量子化のバイパスを適用する場合（transquant_bypass_flag＝１）、セカンダリ変換フラグst_flagの符号化データの復号をスキップすることができる。すなわち、セカンダリ変換フラグst_flagに係る符号量の削減、及び復号にかかる処理量を低減することができる。
【０４０４】
なお、上述した復号処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（３３）は、実施可能な範囲で演算を変更可能である。
【０４０５】
上述の例では、変換ブロック単位でセカンダリ変換フラグst_flagの復号処理について説明したが、セカンダリ変換フラグst_flagの代わりに、セカンダリ変換識別子st_idxを復号してもよい。この場合、図２７に示すシンタクステーブルの上から８段目に示される、セカンダリ変換フラグst_flagをセカンダリ変換識別子st_idxへ置き換える。また、同様に、図２４において、セカンダリ変換フラグ復号部３３１を、図１８に示すセカンダリ変換識別子st_idxの復号に関する機能を有するセカンダリ変換識別子復号部３１２へ置きかえる。同様に、図２６のフローチャートの各ステップにおいて、セカンダリ変換フラグst_flagの部分を、セカンダリ変換識別子st_idxへ置き換えて解釈する。
【０４０６】
以上のように復号処理を実行することにより、画像復号装置２００は、変換ブロック単位でセカンダリ変換識別子st_idxを復号する場合において、変換スキップを適用する場合（ts_flag＝１）、セカンダリ変換識別子st_idxの復号をスキップすることができる。また、画像復号装置２００は、逆量子化及び逆変換のバイパスを適用する場合（transquant_bypass_flag＝１）、セカンダリ変換識別子st_idxの復号をスキップすることができる。すなわち、セカンダリ変換識別子st_idxに係る符号量の削減、及び復号に係る処理量を低減することができる。
【０４０７】
また、上述の条件式（３３）に限定されず、輝度の場合にのみ、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx）を復号するように、上述の条件式（３４）へ変更してもよい。すなわち、色空間を示す識別子cIdxが輝度の値Luma （=0)を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)の復号をし、cIdxが色差の値Cb（=1)またはCr（=2)を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)の復号を省略する。
【０４０８】
また、上述の条件式（３３）に限定されず、イントラの場合にのみ、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx）を復号するように、上述の条件式（３５）へ変更してもよい。すなわち、ＣＵの予測モードを示すCuPredMode[x0][y0]がイントラ予測（=MODE_INTRA）を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)を復号し、インター予測の場合、復号を省略する。なお、条件式（３３）乃至（３５）の条件は、それぞれ組み合わせてもよい。
【０４０９】
＜４．第４の実施の形態＞
＜セカンダリ変換フラグの符号化・復号のスキップ＞
非特許文献２には、セカンダリ変換フラグst_flagのオーバヘッドを削減するため、変換ブロック内の非ゼロ係数が所定閾値TH（例えば２）以下の場合、セカンダリ変換を適用しないこととし、セカンダリ変換フラグst_flagのシグナルをスキップすることが開示されている。
【０４１０】
例えば、８×８変換ブロックにおいて、８×８変換ブロックの各サブブロック（４×４）に非ゼロ係数が各１個存在するとすると、変換ブロック内の非ゼロ係数の総数は４である。したがって、この総数を閾値TH（＝２）と比較すると、セカンダリ変換を適用するか否かを示すst_flagをシグナル（符号化）することになる。
【０４１１】
したがって、以下の課題がある。各サブブロックに疎な非ゼロ係数が存在する信号に対してセカンダリ変換を適用するおそれがあり、エナジーコンパクションが低下する可能性があった。また、（逆）セカンダリ変換のスキップが明らかな場合（つまり、セカンダリ変換フラグst_flag＝０が明らかな場合）、このセカンダリ変換フラグst_flagをシグナル（符号化）すると、そのセカンダリ変換フラグst_flagのオーバヘッドが無駄になり、符号化効率が低減するおそれがあった。
【０４１２】
そこで、処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップするようにする。
【０４１３】
このようにすることにより、サブブロックの非ゼロ係数が疎である場合に、セカンダリ変換をスキップすることができるようになる。これにより、エナジーコンパクションの低下を抑制し、符号化効率の低減を抑制することができる。
【０４１４】
また、処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップするようにする。
【０４１５】
このようにすることにより、サブブロックの非ゼロ係数が疎である場合に、逆セカンダリ変換をスキップすることができるようになる。これにより、エナジーコンパクションの低下を抑制し、符号化効率の低減を抑制することができる。
【０４１６】
＜シンタクス＞
このような制御を表す疑似コードを記載したシンタクステーブルの例を図２７に示す。図２７の上から７段目に示されるように、セカンダリ変換フラグst_flagの符号化（セカンダリ変換フラグst_flagの符号化データの復号）は、処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値であるサブブロック内平均非ゼロ係数数numSigInSBKが、所定の閾値（TH）以上であることが条件の１つとなる。つまり、サブブロック内平均非ゼロ係数数numSigInSBKが所定の閾値（TH）より少ない場合、つまり、サブブロックの非ゼロ係数が疎である場合、セカンダリ変換フラグst_flagの符号化（セカンダリ変換フラグst_flagの符号化データの復号）がスキップされる。
【０４１７】
＜符号化部＞
この場合、画像符号化装置１００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像符号化装置１００は、処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする符号化部を備える。つまり、この場合の符号化部１１４は、処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする。
【０４１８】
この場合の符号化部１１４は、プログラム等を実行することにより、第３の実施の形態において説明したのと基本的に同様の機能を有する。つまり、符号化部１１４は、図２１を参照して説明したような機能ブロックを有する。
【０４１９】
＜符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。この場合画像符号化装置１００は、画像符号化処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像符号化装置１００は、画像符号化処理のステップＳ１１０（図９）において、セカンダリ変換フラグst_flag等の符号化を、サブブロック内平均非ゼロ係数数numSigInSBK等に応じて行う。このセカンダリ変換フラグst_flag等の符号化の流れの例を図２８および図２９のフローチャートを参照して説明する。つまり、図２８および図２９に示される符号化処理は、図９のステップＳ１１０において行われる符号化処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化は任意の方法で行われる。
【０４２０】
符号化処理が開始されると、図２８のステップＳ４０１乃至ステップＳ４０８の各処理が、図２２のステップＳ３６１乃至ステップＳ３６８の各処理と同様に実行される。
【０４２１】
ステップＳ４０５またはステップＳ４０８の処理が終了すると、処理は図２９のステップＳ４１１に進む。
【０４２２】
図２９のステップＳ４１１乃至ステップＳ４１４の各処理は、図２３のステップＳ３７１乃至ステップＳ３７４の各処理と同様に実行される。
【０４２３】
ステップＳ４１４において、変換スキップフラグts_flagが０であると判定された場合、すなわち、変換（プライマリ変換）を実行すると判定された場合、処理はステップＳ４１５に進む。
【０４２４】
ステップＳ４１５において、セカンダリ変換フラグ符号化部３２１は、サブブロック内平均非ゼロ係数数nmSigInSBKを求める。例えば、セカンダリ変換フラグ符号化部３２１は、残差情報Rinfoを参照して、変換ブロック内に存在する非ゼロ係数の総数numSig（sig_coeff_flag == 1の総数）を以下の式（３６）のように導出する。
【０４２５】
numSig＝Σ（sig_coeff_flag（i,j））
（i＝0…TBSize-1，j＝0…TBSize-1）
・・・（３６）
【０４２６】
次に、セカンダリ変換フラグ符号化部３２１は、求めた非ゼロ係数の総数numSigを、変換ブロック内のサブブロックの総数で除算し、サブブロック内平均非ゼロ係数数numSigInSBKを以下の式（３７）により導出する。
【０４２７】
numSigInSBK＝numSig /（TBSize*TBSize / 16）
・・・（３７）
【０４２８】
なお、式（３７）において、除算の代わりにシフト演算を用いて、以下の式（３８）のように、サブブロック内平均非ゼロ係数数numSigInSBKを導出するようにしてもよい。
【０４２９】
numSigInSBK＝numSig >> （2 *（log2TBSize-2））
・・・（３８）
【０４３０】
ここで、log2TBSizeは、変換ブロックサイズTBSizeの２を底とする対数値である。なお、ここで、変換ブロックはTBSize×TBSizeの矩形であることを想定しているが、TBXSize×TBYSizeの長方形であってもよい。この場合、上述した式（３６）は以下の式（３９）に置き換え、上述した式（３８）は以下の式（４０）に置き換えればよい。
【０４３１】
numSig＝Σ（sig_coeff_flag（i,j））
（i＝0…TBXSize-1，j＝0…TBYSize-1）
・・・（３９）
numSigInSBK＝numSig >> （（log2TBXSize-2）+（log2TBYSize-2））
・・・（４０）
【０４３２】
ここで、log2TBXSizeは、変換ブロックの横幅TBXSizeの２を底とする対数値であり、log2TBYSizeは、変換ブロックの縦幅TBYSizeの２を底とする対数値である。
【０４３３】
また、以上の式（３６）乃至式（４０）では、変換ブロック内のすべてのサブブロックにおける非ゼロ係数の数を数え上げているが、所定の領域に限定してもよい。例えば、TBXSize×TBYSizeの変換ブロックにおいて、低周波領域に存在するサブブロック内の非ゼロ係数を数え上げてもよい。例えば、以下の式（４１）に示されるように、TBXSize×TBYSizeの変換ブロックの左上半分に存在するサブブロックを対象とするようにしてもよい。この場合、式（４０）は以下の式（４２）に置き換えればよい。
【０４３４】
numSig＝Σ（sig_coeff_flag（i,j））
（i＝0…TBXSize/2-1，j＝0…TBYSize/2-1）
・・・（４１）
numSigInSBK＝numSig >> （（log2TBXSize-3）+（log2TBYSize-3））
・・・（４２）
【０４３５】
また、以上の式（３６）乃至式（４２）では、変換ブロック内のすべて（あるいは所定領域）のサブブロックにおける非ゼロ係数の数numSigを、変換ブロック内のすべて（あるいは所定領域）のサブブロックの総数で除算（あるいはシフト演算）をしているが、除算（あるいはシフト演算）の前に、サブブロック数/2（= numSBK>>1)の値をオフセットとして加算してから、除算（またはシフト演算）してもよい（例えば、以下の式（４３）、式（４４）、式（４５）、式（４６））。ここで、numSBKは、変換ブロック内のすべて（あるいは所定領域）のサブブロック数を表し、式（４３）乃至式（４５）におけるnumSBKは、numSBK = TBXSize*TBYSize/16 = 1<<（（log2TBXSize-2) + （logTBYSize-2))となり、式（４６）におけるnumSBKは、numSBK =  1<<（（log2TBXSize-3) + （logTBYSize-3))である。
【０４３６】
numSigInSBK＝（numSig + （numSBK>>1)) /（TBSize*TBSize / 16）
・・・（４３）
numSigInSBK＝（numSig + （numSBK>>1)) >> （2*（log2TBSize-2））
・・・（４４）
numSigInSBK＝（numSig + （numSBK>>1)) >> （（log2TBXSize-2）+（log2TBYSize-2））
・・・（４５）
numSigInSBK＝（numSig + （numSBK>>1)) >> （（log2TBXSize-3）+（log2TBYSize-3））
・・・（４６）
【０４３７】
また、以上の式（３６）乃至式（４２）では、変換ブロック内のすべて（あるいは所定領域）のサブブロックにおける非ゼロ係数の数numSigを、変換ブロック内のすべて（あるいは所定領域）のサブブロックの総数で除算（あるいはシフト演算）をすることにより、サブブロック内平均非ゼロ係数数numSigInSBKを導出しているが、除算に用いるサブブロック数を非ゼロ係数が存在するサブブロックの総数numNonZeroSBK（非ゼロサブブロック数とも呼ぶ）に置き換えてもよい。例えば、非ゼロサブブロック数numNonZeroSBKを以下の式（４７）によって導出する。すなわち、サブブロック非ゼロ係数有無フラグcoded_sub_blck_flag（i,j)が１となるサブブロックの数を数え上げることで非ゼロサブブロック数numNonZeroSBKを導出することができる。この場合、サブブロック内平均非ゼロ係数数numSigInSBKは、式（４０）の代わりに、以下の式（４８）によって導出することができる。なお、式（４８）では、ゼロ割を回避するため、非ゼロサブブロック数numNonZeroSBKが０であるか否か判定し、０であれば、numSigInSBKに０を設定し、０より大きければ、numSigInSBKにnumSigをnumNonZeroSBKで除算した値を設定する。
【０４３８】
numNonZero =Σ（coded_sub_block_flag（i,j））
（i＝0…（TBXSize>>2）-1，j＝0…（TBYSize>>2)-1）
・・・（４７）
numSigInSBK＝numNonZeroSBK==0 ? 0 : numSig / numNonZeroSBK
・・・（４８）
【０４３９】
また、変換ブロック内の所定領域を対象とし、その所定領域内にあるサブブロックにおける非ゼロ係数の数、及び非ゼロ係数を有するサブブロックの数に基づいて、サブブロック内平均非ゼロ係数数numSigInSBKを導出してもよい。例えば、TBXSize×TBYSizeの変換ブロックの左上半分に存在するサブブロックを対象とするようにしてもよい。この場合、非ゼロ係数数numSigは、上述の式（４１）により導出し、非ゼロサブブロック数numNonZeroSBKは以下の式（４９）により導出する。導出したnumSig、及びnumNonZeroSBKを参照して、上述の式（４８)により、サブブロック内平均非ゼロ係数数numSigInSBKを導出する。
【０４４０】
numNonZero =Σ（coded_sub_block_flag（i,j））
（i＝0…（TBXSize>>3)-1，j＝0…（TBYSize>>3)-1）
・・・（４９）
【０４４１】
以上のように、サブブロック内平均非ゼロ係数数nmSigInSBKが求められると、処理はステップＳ４１６に進む。
【０４４２】
ステップＳ４１６において、セカンダリ変換フラグ符号化部３２１は、サブブロック内平均非ゼロ係数数numSigInSBKが所定の閾値TH以上であるか否か（numSigInSBK >= TH）を判定する。該条件式の論理値が０（偽）であると判定された場合、すなわち、numSigInSBK<THを満たすと判定された場合、ステップＳ４１７の処理がスキップされ、符号化処理が終了し、処理は、図９に戻る。
【０４４３】
サブブロック内平均非ゼロ係数数numSigInSBKが所定の閾値THより少ない場合、非ゼロ係数が疎なサブブロックが存在する。そのようなサブブロックに対してセカンダリ変換を行うと、エナジーコンパクションが低下し、符号化効率が低減するおそれがある。したがって、符号化効率の低減を抑制するためには、セカンダリ変換をスキップするのが望ましい。つまり、この場合、セカンダリ変換をスキップするように制御される。したがって、セカンダリ変換フラグst_flagの値は０に固定される。したがって、この場合、セカンダリ変換フラグst_flagを復号側に伝送する必要がない。したがって、セカンダリ変換フラグ符号化部３２１は、セカンダリ変換フラグst_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０４４４】
ステップＳ４１６において、該条件式の論理値が１（真）であると判定された場合、すなわち、numSigInSBK >= THを満たす場合、処理はステップＳ４１７に進む。
【０４４５】
ステップＳ４１７において、セカンダリ変換フラグ符号化部３２１は、セカンダリ変換フラグst_flagを符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られたセカンダリ変換フラグst_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０４４６】
つまり、以下の条件式（５０）が１（真）となる場合のみ、セカンダリ変換フラグst_flagが符号化される。これは、図２７を参照して説明したシンタックスの上から７段目に対応する。
【０４４７】
論理値＝（st_enabled_flag &&
（transquant_bypass_flag==0 || ts_flag==0） &&
numSigInSBK >= TH）
・・・（５０）
【０４４８】
以上のように符号化処理を実行することにより、画像符号化装置１００は、変換ブロック内の各サブブロックに疎な非ゼロ係数が存在する信号に対して、セカンダリ変換フラグst_flagの符号化処理をスキップすることができる。すなわち、セカンダリ変換フラグの符号化に係る処理量を低減することができる。また、変換ブロック内の各サブブロックに疎な非ゼロ係数が存在する信号に対して、エナジーコンパクションの低下を抑制することができる。すなわち、符号化効率の低減を抑制することができる。
【０４４９】
上述の例では、変換ブロック単位でセカンダリ変換フラグst_flagの符号化処理について説明したが、セカンダリ変換フラグst_flagの代わりに、セカンダリ変換識別子st_idxを符号化してもよい。この場合、図２７に示すシンタクステーブルの上から８段目に示される、セカンダリ変換フラグst_flagをセカンダリ変換識別子st_idxへ置き換える。また、同様に、図２１において、セカンダリ変換フラグ符号化部３２１を、図１６に示すセカンダリ変換識別子st_idxの符号化に関する機能を有するセカンダリ変換識別子符号化部３０２へ置きかえる。同様に、図２９のフローチャートの各ステップにおいて、セカンダリ変換フラグst_flagの部分を、セカンダリ変換識別子st_idxへ置き換えて解釈する。
【０４５０】
以上のように符号化処理を実行することにより、画像符号化装置１００は、変換ブロック内の各サブブロックに疎な非ゼロ係数が存在する信号に対して、セカンダリ変換識別子st_idxの符号化処理をスキップすることができる。すなわち、セカンダリ変換識別子の符号化に係る処理量を低減することができる。また、変換ブロック内の各サブブロックに疎な非ゼロ係数が存在する信号に対して、エナジーコンパクションの低下を抑制することができる。すなわち、符号化効率の低減を抑制することができる。
【０４５１】
また、上述の条件式（５０）に限定されず、輝度の場合にのみ、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx）を符号化するように、下記条件式（５１）へ変更してもよい。すなわち、色空間を示す識別子cIdxが輝度の値Luma （=0)を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)の符号化をし、cIdxが色差Cb（=1)またはCr（=2)の場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)の符号化を省略する。この場合、色差に関するセカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)は符号化されないため、輝度のセカンダリフラグst_flag（あるいはセカンダリ変換識別子st_idx)と等しいと推定してもよい。あるいは、色差の残差は、一般的に輝度に比べて、疎な残差信号であることが多いため、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)をセカンダリ変換をスキップ（省略）することを示す値（０）に等しいと推定してもよい。
【０４５２】
論理値＝（cIdx==Luma && st_enabled_flag &&
（transquant_bypass_flag==0 || ts_flag==0） &&
numSigInSBK >= TH）
・・・（５１）
【０４５３】
また、上述の条件式（５０）に限定されず、イントラの場合にのみ、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx）を符号化するように、下記条件式（５２）へ変更してもよい。すなわち、ＣＵの予測モードを示すCuPredMode[x0][y0]がイントラ予測（=MODE_INTRA）を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)を符号化し、インター予測の場合、符号化を省略する。
【０４５４】
論理値＝（CuPredMode[x0][y0]==MODE_INTRA && st_enabled_flag &&
（transquant_bypass_flag==0 || ts_flag==0） &&
numSigInSBK >= TH）
・・・（５２）
【０４５５】
なお、条件式（５０）乃至（５２）の条件は、それぞれ組み合わせてもよい。
【０４５６】
なお、上述した符号化処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（５０）乃至（５２）は、実施可能な範囲で演算を変更可能である。
【０４５７】
＜復号部＞
次に画像復号装置２００について説明する。この場合も画像復号装置２００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像復号装置２００は、処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする復号部を備える。つまり、この場合の復号部２１１は、処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像とその画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする。
【０４５８】
この場合の復号部２１１は、プログラム等を実行することにより、第３の実施の形態において説明したのと基本的に同様の機能を有する。つまり、復号部２１１は、図２４を参照して説明したような機能ブロックを有する。
【０４５９】
＜復号処理の流れ＞
次に、画像復号装置２００により実行される各処理の流れの例を説明する。この場合画像復号装置２００は、画像復号処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像復号装置２００は、画像復号処理のステップＳ２０１（図１３）において、セカンダリ変換フラグst_flag等の符号化データの復号を、サブブロック内平均非ゼロ係数数numSigInSBK等に応じて行う。このセカンダリ変換フラグst_flag等の符号化データの復号の流れの例を図３０および図３１のフローチャートを参照して説明する。つまり、図３０および図３１に示される復号処理は、図１３のステップＳ２０１において行われる復号処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化データの復号は任意の方法で行われる。
【０４６０】
復号処理が開始されると、図３０のステップＳ４２１乃至ステップＳ４２９の各処理が、図２５のステップＳ３８１乃至ステップＳ３８９の各処理と同様に実行される。
【０４６１】
ステップＳ４２８またはステップＳ４２９の処理が終了すると、処理は図３１のステップＳ４３１に進む。
【０４６２】
図３１のステップＳ４３１乃至ステップＳ４３４の各処理は、図２６のステップＳ３９１乃至ステップＳ３９４の各処理と同様に実行される。
【０４６３】
ステップＳ４３４において、変換スキップフラグts_flagが０であると判定された場合、すなわち、変換（プライマリ変換）を実行すると判定された場合、処理はステップＳ４３５に進む。
【０４６４】
ステップＳ４３５において、セカンダリ変換フラグ復号部３３１は、処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値であるサブブロック内平均非ゼロ係数数nmSigInSBKを求める。例えば、セカンダリ変換フラグ復号部３３１は、残差情報Rinfoを参照して、変換ブロック内に存在する非ゼロ係数の総数numSig（sig_coeff_flag==1の総数）を以下の式（５３）のように導出する。
【０４６５】
numSig＝Σ（sig_coeff_flag（i,j））
（i＝0…TBSize-1，j＝0…TBSize-1）
・・・（５３）
【０４６６】
次に、セカンダリ変換フラグ復号部３３１は、非ゼロ係数の総数numSigを、変換ブロック内のサブブロックの総数で除算し、サブブロック内平均非ゼロ係数数numSigInSBKを以下の式（５４）により導出する。
【０４６７】
numSigInSBK＝numSig / （TBSize * TBSize / 16）
・・・（５４）
【０４６８】
なお、式（５４）において、除算の代わりにシフト演算を用いて、以下の式（５５）のように、サブブロック内平均非ゼロ係数数numSigInSBKを導出するようにしてもよい。
【０４６９】
numSigInSBK＝numSig >> （2*（log2TBSize-2））
・・・（５５）
【０４７０】
ここで、log2TBSizeは、変換ブロックサイズTBSizeの２を底とする対数値である。なお、ここで、変換ブロックはTBSize×TBSizeの矩形であることを想定しているが、TBXSize×TBYSizeの長方形であってもよい。この場合、上述した式（５３）は以下の式（５６）に置き換え、上述した式（５５）は以下の式（５７）に置き換えればよい。
【０４７１】
numSig＝Σ（sig_coeff_flag（i,j））
（i＝0…TBXSize-1，j＝0…TBYSize-1）
・・・（５６）
numSigInSBK＝numSig >> （（log2TBXSize-2）+（log2TBYSize-2））
・・・（５７）
【０４７２】
ここで、log2TBXSizeは、変換ブロックの横幅TBXSizeの２を底とする対数値であり、log2TBYSizeは、変換ブロックの縦幅TBYSizeの２を底とする対数値である。
【０４７３】
また、以上の式（５３）乃至式（５７）では、変換ブロック内のすべてのサブブロックにおける非ゼロ係数の数を数え上げているが、所定の領域に限定してもよい。例えば、TBXSize×TBYSizeの変換ブロックにおいて、低周波領域に存在するサブブロック内の非ゼロ係数を数え上げてもよい。例えば、以下の式（５８）に示されるように、TBXSize×TBYSizeの変換ブロックの左上半分に存在するサブブロックを対象とするようにしてもよい。この場合、式（５７）は以下の式（５９）に置き換えればよい。
【０４７４】
numSig＝Σ（sig_coeff_flag（i,j））
（i＝0…TBXSize/2-1，j＝0…TBYSize/2-1）
・・・（５８）
numSigInSBK＝numSig >> （（log2TBXSize-3）+（log2TBYSize-3））
・・・（５９）
【０４７５】
また、以上の式（５３）乃至式（５９）では、変換ブロック内のすべて（あるいは所定領域）のサブブロックにおける非ゼロ係数の数numSigを、変換ブロック内のすべて（あるいは所定領域）のサブブロックの総数で除算（あるいはシフト演算）をしているが、除算（あるいはシフト演算）の前に、サブブロック数/2（= numSBK>>1)の値をオフセットとして加算してから、除算（またはシフト演算）してもよい（例えば、式（６０）、式（６１）、式（６２）、式（６３））。ここで、numSBKは、変換ブロック内のすべて（あるいは所定領域）のサブブロック数を表し、式（６０）乃至式（６２）におけるnumSBKは、numSBK = TBXSize*TBYSize/16 = 1<<（（log2TBXSize-2) + （logTBYSize-2))となり、式（６３）におけるnumSBKは、numSBK =  1<<（（log2TBXSize-3) + （logTBYSize-3))である。
【０４７６】
numSigInSBK＝（numSig + （numSBK>>1)) /（TBSize*TBSize / 16）
・・・（６０）
numSigInSBK＝（numSig + （numSBK>>1)) >> （2*（log2TBSize-2））
・・・（６１）
numSigInSBK＝（numSig + （numSBK>>1)) >> （（log2TBXSize-2）+（log2TBYSize-2））
・・・（６２）
numSigInSBK＝（numSig + （numSBK>>1)) >> （（log2TBXSize-3）+（log2TBYSize-3））
・・・（６３）
【０４７７】
また、以上の式（５３）乃至式（５９）では、変換ブロック内のすべて（あるいは所定領域）のサブブロックにおける非ゼロ係数の数numSigを、変換ブロック内のすべて（あるいは所定領域）のサブブロックの総数で除算（あるいはシフト演算）をすることにより、サブブロック内平均非ゼロ係数数numSigInSBKを導出しているが、除算に用いるサブブロック数を非ゼロ係数が存在するサブブロックの総数numNonZeroSBK（非ゼロサブブロック数とも呼ぶ）に置き換えてもよい。例えば、非ゼロサブブロック数numNonZeroSBKを上述の式（４７）によって導出する。すなわち、サブブロック非ゼロ係数有無フラグcoded_sub_blck_flag（i,j)が１となるサブブロックの数を数え上げることで非ゼロサブブロック数numNonZeroSBKを導出することができる。この場合、サブブロック内平均非ゼロ係数数numSigInSBKは、式（５４）の代わりに、上述の式（４８）によって導出することができる。なお、式（４８）では、ゼロ割を回避するため、非ゼロサブブロック数numNonZeroSBKが０であるか否か判定し、０であれば、numSigInSBKに０を設定し、０より大きければ、numSigInSBKにnumSigをnumNonZeroSBKで除算した値を設定する。
【０４７８】
また、変換ブロック内の所定領域を対象とし、その所定領域内にあるサブブロックにおける非ゼロ係数の数、及び非ゼロ係数を有するサブブロックの数に基づいて、サブブロック内平均非ゼロ係数数numSigInSBKを導出してもよい。例えば、TBXSize×TBYSizeの変換ブロックの左上半分に存在するサブブロックを対象とするようにしてもよい。この場合、非ゼロ係数数numSigは、上述の式（４１）により導出し、非ゼロサブブロック数numNonZeroSBKは上述の式（４９）により導出する。導出したnumSig、及びnumNonZeroSBKを参照して、上述の式（４８)により、サブブロック内平均非ゼロ係数数numSigInSBKを導出する。
【０４７９】
以上のように、サブブロック内平均非ゼロ係数数nmSigInSBKが求められると、処理はステップＳ４３６に進む。
【０４８０】
ステップＳ４１６において、セカンダリ変換フラグ復号部３３１は、サブブロック内平均非ゼロ係数数numSigInSBKが所定の閾値TH以上であるか否か（numSigInSBK >= TH）を判定する。該条件式の論理値が０（偽）であると判定された場合、すなわち、numSigInSBK<THを満たすと判定された場合、処理はステップＳ４３７に進む。
【０４８１】
サブブロック内平均非ゼロ係数数numSigInSBKが所定の閾値THより少ない場合、非ゼロ係数が疎なサブブロックが存在する。そのようなサブブロックに対して逆セカンダリ変換を行うと、エナジーコンパクションが低下し、符号化効率が低減するおそれがある。したがって、符号化効率の低減を抑制するためには、逆セカンダリ変換をスキップするのが望ましい。つまり、この場合、逆セカンダリ変換をスキップするように制御される。したがって、セカンダリ変換フラグst_flagの値は０に固定される。したがって、この場合、セカンダリ変換フラグst_flagは符号化側から伝送されないので、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０４８２】
ステップＳ４３７において、セカンダリ変換フラグst_flagの符号化データの復号をスキップする。また、この場合、逆セカンダリ変換はスキップされるので、セカンダリ変換フラグst_flagの値は０に固定される。したがって、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの値が０であると推定する。つまり、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの値を０に設定する（st_flag＝0）。ステップＳ４３７の処理が終了すると復号処理が終了し、処理は、図１３に戻る。
【０４８３】
ステップＳ４３６において、該条件式の論理値が１（真）であると判定された場合、すなわち、numSigInSBK >= THを満たす場合、処理はステップＳ４３８に進む。
【０４８４】
ステップＳ４３８において、セカンダリ変換フラグ復号部３３１は、セカンダリ変換フラグst_flagの符号化データを復号する。
【０４８５】
つまり、上述の条件式（５０）が１（真）となる場合のみ、セカンダリ変換フラグst_flagの符号化データが復号される。これは、図２７を参照して説明したシンタックスの上から７段目に対応する。
【０４８６】
ステップＳ４３８の処理が終了すると、復号処理が終了し、処理は、図１３に戻る。
【０４８７】
以上のように復号処理を実行することにより、画像復号装置２００は、変換ブロック内の各サブブロックに疎な非ゼロ係数が存在する信号に対して、セカンダリ変換フラグst_flagの復号処理をスキップすることができる。すなわち、セカンダリ変換フラグの符号化データの復号に係る処理量を低減することができる。また、変換ブロック内の各サブブロックに疎な非ゼロ係数が存在する信号に対して、エナジーコンパクションの低下を抑制することができる。すなわち、符号化効率の低減を抑制することができる。
【０４８８】
上述の例では、変換ブロック単位でセカンダリ変換フラグst_flagの復号処理について説明したが、セカンダリ変換フラグst_flagの代わりに、セカンダリ変換識別子st_idxを復号してもよい。この場合、図２７に示すシンタクステーブルの上から８段目に示される、セカンダリ変換フラグst_flagをセカンダリ変換識別子st_idxへ置き換える。また、同様に、図２４において、セカンダリ変換フラグ復号部３３１を、図１８に示すセカンダリ変換識別子st_idxの復号に関する機能を有するセカンダリ変換識別子復号部３１２へ置きかえる。同様に、図３１のフローチャートの各ステップにおいて、セカンダリ変換フラグst_flagの部分を、セカンダリ変換識別子st_idxへ置き換えて解釈する。
【０４８９】
以上のように復号処理を実行することにより、画像復号装置２００は、変換ブロック内の各サブブロックに疎な非ゼロ係数が存在する信号に対して、セカンダリ変換識別子st_idxの復号処理をスキップすることができる。すなわち、セカンダリ変換識別子の復号に係る処理量を低減することができる。また、変換ブロック内の各サブブロックに疎な非ゼロ係数が存在する信号に対して、エナジーコンパクションの低下を抑制することができる。すなわち、符号化効率の低減を抑制することができる。
【０４９０】
また、上述の条件式（５０）に限定されず、輝度の場合にのみ、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx）を復号するように、上述の条件式（５１）へ変更してもよい。すなわち、色空間を示す識別子cIdxが輝度の値Luma （=0)を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)の復号をし、cIdxが色差Cb（=1)またはCr（=2)の場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)の復号を省略する。この場合、色差に関するセカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)は復号されないため、輝度のセカンダリフラグst_flag（あるいはセカンダリ変換識別子st_idx)と等しいと推定してもよい、すなわち、同一の逆セカンダリ変換を適用する。あるいは、色差の残差は、一般的に輝度に比べて、疎な残差信号であることが多いため、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)を逆セカンダリ変換をスキップ（省略）することを示す値（０）に等しいと推定してもよい。
【０４９１】
また、上述の条件式（５０）に限定されず、イントラの場合にのみ、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx）を復号するように、上述の条件式（５２）へ変更してもよい。すなわち、ＣＵの予測モードを示すCuPredMode[x0][y0]がイントラ予測（=MODE_INTRA）を示す場合、セカンダリ変換フラグst_flag（あるいはセカンダリ変換識別子st_idx)を復号し、インター予測の場合、復号を省略する。なお、条件式（５０）乃至（５２）の条件は、それぞれ組み合わせてもよい。
【０４９２】
なお、上述した復号処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（５０）乃至（５２）は、実施可能な範囲で演算を変更可能である。
【０４９３】
＜５．第５の実施の形態＞
＜プライマリ変換識別子の符号化・復号のスキップ＞
非特許文献１に記載の方法では、変換ブロック毎に、水平方向のプライマリ変換Phor、及び垂直方向のプライマリ変換Pverにどのプライマリ変換を適用するか指定するプライマリ変換識別子pt_idxを符号化していた。より具体的には、水平方向のプライマリ変換PhorをThor1、Thor2のどちらにするか指定する水平方向プライマリ変換指定フラグpt_hor_flagと、垂直方向のプライマリ変換PverをTver1、Tver2のどちらにするか指定する垂直方向プライマリ変換指定フラグpt_ver_flagより、固定長符号のプライマリ変換識別子pt_idxを以下の式（６４）のように導出する。
【０４９４】
pt_idx＝{（pt_hor_flag << 1）＋pt_ver_flag }
・・・（６４）
【０４９５】
その後、プライマリ変換識別子pt_idxのbin列に対して、算術符号化を適用して、ビット列を生成することで、符号化が実施される。図３２にその符号化の様子を示す。また、その符号化に対応するプライマリ変換識別子pt_idxの復号の様子を図３３に示す。図３２のＡや図３３のＡに示されるように、プライマリ変換識別子pt_idxは固定長符号で２値化される。算術符号化・算術復号におけるコンテキストの選択は、図３２のＢや図３３のＢに示されるテーブルのように行われる。
【０４９６】
しかしながら、非特許文献１では、変換量子化バイパスフラグtransquant_bypass_flagが１（真）の場合（変換量子化バイパスを適用する場合）において、プライマリ変換識別子pt_idxをシグナルするため、該識別子のオーバヘッドが無駄であり、符号化効率が低減するおそれがあった。
【０４９７】
そこで、画像符号化の際に、変換量子化バイパスフラグtransquant_bypass_flagが変換量子化バイパスを行うことを示す場合、プライマリ変換識別子pt_idxの符号化をスキップ（省略）するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０４９８】
また、画像復号の際に、変換量子化バイパスフラグtransquant_bypass_flagが変換量子化バイパスを行うことを示す場合、プライマリ変換識別子pt_idxの復号をスキップ（省略）し、かつ、プライマリ変換識別子pt_idxの値が、水平方向のプライマリ変換Phorおよび垂直方向のプライマリ変換Pverに所定の直交変換（例えば、DCT-Type 2）を用いることを示す識別子の値（例えば−１）であると推定するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０４９９】
また、非特許文献１に記載の方法では、プライマリ変換識別子pt_idxの値の出現頻度を考慮した２値化でないため、算術符号化する際に、符号化効率が低減するおそれがあった。
【０５００】
そこで、プライマリ変換識別子pt_idxの２値化方法として、トランケーテッド・ユーナリー二値化（Truncated Unary Binarization（TUとも称する））を適用するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０５０１】
＜シンタクス＞
このような制御を表す疑似コードを記載したシンタクステーブルの例を図３４に示す。図３４の上から７段目に示されるように、変換量子化バイパスフラグtransquant_bypass_flagが０であることが、プライマリ変換識別子pt_idxの符号化（すなわち、プライマリ変換識別子pt_idxの符号化データの復号）の条件の１つとなる。つまり、変換量子化バイパスフラグtransquant_bypass_flagが１の場合、すなわち、（逆）変換および（逆）量子化がスキップされる場合、プライマリ変換識別子pt_idxの符号化（プライマリ変換識別子pt_idxの符号化データの復号）がスキップされる。
【０５０２】
＜符号化部＞
この場合も画像符号化装置１００は、第１の実施の形態の場合と基本的に同様の構成を有する。つまり、第１の実施の形態において説明した画像符号化装置１００が、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、そのプライマリ変換係数がセカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合、プライマリ変換の内容を示す第１の情報の符号化をスキップする符号化部を備える。
【０５０３】
つまり、この場合の符号化部１１４は、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、そのプライマリ変換係数がセカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合、プライマリ変換の内容を示す第１の情報の符号化をスキップする。
【０５０４】
図３５は、この場合の符号化部１１４がプログラム等を実行することにより実現する、プライマリ変換識別子の符号化に関する主な機能の例を示す機能ブロック図である。図３４に示されるように、この場合の符号化部１１４は、プログラムを実行することにより、プライマリ変換識別子の符号化に関する機能として、例えば、プライマリ変換有効フラグ符号化部４０１およびプライマリ変換識別子符号化部４０２を有することができる。
【０５０５】
プライマリ変換有効フラグ符号化部４０１は、プライマリ変換の許可に関する情報であるプライマリ変換有効フラグpt_enabled_flagの符号化に関する処理を行う。プライマリ変換識別子符号化部４０２は、プライマリ変換の内容に関する情報であるプライマリ変換識別子pt_idxの符号化に関する処理を行う。
【０５０６】
＜符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。この場合画像符号化装置１００は、画像符号化処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像符号化装置１００は、画像符号化処理のステップＳ１１０（図９）において、プライマリ変換識別子pt_idx等の符号化を、変換量子化バイパスフラグtransquant_bypass_flagの値等に応じて行う。このプライマリ変換識別子pt_idx等の符号化の流れの例を図３６のフローチャートを参照して説明する。つまり、図３６に示される符号化処理は、図９のステップＳ１１０において行われる符号化処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化は任意の方法で行われる。
【０５０７】
符号化処理が開始されると、ステップＳ５０１において、プライマリ変換有効フラグ符号化部４０１は、ヘッダ情報Hinfoに含まれるプライマリ変換有効フラグpt_enabled_flagを符号化し、ビット列（符号化データ）を生成し出力する。この符号化により得られたプライマリ変換有効フラグpt_enabled_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０５０８】
ステップＳ５０２において、プライマリ変換識別子符号化部４０２は、ヘッダ情報Hinfoに含まれるプライマリ変換有効フラグpt_enabled_flagが１（真）であるか否かを判定する。プライマリ変換有効フラグpt_enabled_flagが０であると判定された場合、すなわち、プライマリ変換の実行が許可されていないと判定された場合、ステップＳ５０３乃至ステップＳ５０８の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０５０９】
プライマリ変換の実行が許可されていないのであれば、プライマリ変換は実行されず、プライマリ変換識別子pt_idxを復号側に伝送する必要がない。したがって、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０５１０】
ステップＳ５０２において、プライマリ変換有効フラグpt_enabled_flagが１であると判定された場合、すなわち、プライマリ変換の実行が許可されていると判定された場合、処理はステップＳ５０３に進む。
【０５１１】
ステップＳ５０３において、プライマリ変換識別子符号化部４０２は、変換情報Tinfoに含まれる変換量子化バイパスフラグtransquant_bypass_flagが１（真）であるか否かを判定する。変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、すなわち、変換（プライマリ変換およびセカンダリ変換）並びに量子化をスキップ（バイパス）すると判定された場合、ステップＳ５０４乃至ステップＳ５０８の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０５１２】
変換および量子化がバイパスされるのであれば、プライマリ変換識別子pt_idxを復号側に伝送する必要がない。したがって、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０５１３】
ステップＳ５０３において、変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、すなわち、変換および量子化をスキップ（バイパス）しないと判定された場合、処理はステップＳ５０４に進む。
【０５１４】
ステップＳ５０４において、プライマリ変換識別子符号化部４０２は、変換情報Tinfoに含まれる変換スキップフラグts_flagが１（真）であるか否かを判定する。変換スキップフラグts_flagが１であると判定された場合、すなわち、変換（プライマリ変換）をスキップすると判定された場合、ステップＳ５０５乃至ステップＳ５０８の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０５１５】
変換（プライマリ変換）がスキップされるのであれば、プライマリ変換識別子pt_idxを復号側に伝送する必要がない。したがって、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０５１６】
ステップＳ５０４において、変換スキップフラグts_flagが０であると判定された場合、すなわち、変換（プライマリ変換）をスキップしないと判定された場合、処理はステップＳ５０５に進む。
【０５１７】
ステップＳ５０５において、プライマリ変換識別子符号化部４０２は、処理対象の変換ブロックのサイズTBSizeが最大プライマリ変換ブロックサイズMaxPTSize以下であるか否か（条件式TBSize<=MaxPTSizeが真であるか否か）を判定する。処理対象の変換ブロックのサイズTBSizeが最大プライマリ変換ブロックサイズMaxPTSizeより大きいと判定された場合、すなわち、上述の条件式が０（偽）であると判定された場合、ステップＳ５０６乃至ステップＳ５０８の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０５１８】
最大プライマリ変換ブロックサイズMaxPTSizeは、プライマリ変換の実行が許可される最大のブロックサイズを示す情報である。つまり、変換ブロックのサイズがこの最大プライマリ変換ブロックサイズMaxPTSizeより大きい場合、プライマリ変換の実行が許可されないので、プライマリ変換識別子pt_idxを復号側に伝送する必要がない。したがって、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０５１９】
ステップＳ５０５において、処理対象の変換ブロックのサイズTBSizeが最大プライマリ変換ブロックサイズMaxPTSize以下であると判定された場合、すなわち、上述の条件式が１（真）であると判定された場合、処理はステップＳ５０６に進む。
【０５２０】
なお、ステップＳ５０５において、上述した条件式（TBSize<=MaxTSSize）は、２を底とするTBサイズの対数値log2TBSize、２を底とする最大プライマリ変換ブロックサイズMaxPTSizeの対数値log2MaxPTSizeを用いて、条件式（log2TBSize <= log2MaxPTSize）に置き換えても良い。
【０５２１】
ステップＳ５０６において、プライマリ変換識別子符号化部４０２は、残差情報Rinfoを参照して、変換ブロック内に存在する非ゼロ係数の総数numSig（sig_coeff_flag == 1の総数）を以下の式（６５）のように導出する。
【０５２２】
numSig＝Σ（sig_coeff_flag（i,j））
（i＝0…TBSize-1，j＝0…TBSize-1）
・・・（６５）
【０５２３】
ステップＳ５０７において、プライマリ変換識別子符号化部４０２は、非ゼロ係数の総数numSigが所定の閾値TH以上であるか否か（numSig >= TH）を判定する。非ゼロ係数の総数numSigが所定の閾値THより少ない（numSig < TH）と判定された場合、ステップＳ５０８の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０５２４】
非ゼロ係数の総数numSigが所定の閾値THより少ない場合、すなわち、非ゼロ係数が少ない疎な残差信号の場合、エナジーコンパクションが低下し、符号化効率が低減するおそれがあるので、符号化効率の低減を抑制するためには、変換スキップまたは所定の直交変換（例えば、DCT - Type 2）を適用するのが望ましい。つまり、この場合、プライマリ変換識別子pt_idxを復号側に伝送する必要がない。したがって、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０５２５】
ステップＳ５０７において、非ゼロ係数の総数numSigが所定の閾値TH以上であると判定された場合、処理はステップＳ５０８に進む。
【０５２６】
ステップＳ５０８において、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxを可変長符号化し、ビット列（符号化データ）を生成し出力する。この符号化の詳細については後述する。この符号化により得られたプライマリ変換識別子pt_idxの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０５２７】
つまり、以下の条件式（６６）が１（真）となる場合のみ、プライマリ変換識別子pt_idxが符号化される。これは、図３４を参照して説明したシンタックスの上から７段目に対応する。
【０５２８】
論理値＝（pt_enabled_flag && （transquant_bypass_flag == 0 || ts_flag == 0） && （log2TBSize <= log2MaxPTSize） && numSig >= TH）
・・・（６６）
【０５２９】
ステップＳ５０８の処理が終了すると、符号化処理が終了し、処理は図９に戻る。
【０５３０】
以上のように符号化処理を実行することにより、画像符号化装置１００は、変換量子化バイパスを適用する場合に、プライマリ変換識別子pt_idxの符号化処理をスキップすることができる。すなわち、プライマリ変換識別子pt_idxの符号化に係る処理量および符号量を低減することができる。
【０５３１】
また、上述の条件式（６６）に限定されず、輝度の場合にのみ、プライマリ変換識別子pt_idxを符号化するように、下記条件式（６７）へ変更してもよい。すなわち、色空間を示す識別子cIdxが輝度の値Luma （=0)を示す場合、プライマリ変換識別子pt_idxの符号化をし、cIdxが色差Cb（=1)またはCr（=2)の場合、プライマリ変換識別子pt_idxの符号化を省略する。
【０５３２】
論理値＝（cIdx==Luma && st_enabled_flag &&
（transquant_bypass_flag==0 || ts_flag==0） &&
numSig >= TH）
・・・（６７）
【０５３３】
なお、条件式（６６）および（６７）の条件は、それぞれ組み合わせてもよい。
【０５３４】
なお、上述した符号化処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（６６）および（６７）は、実施可能な範囲で演算を変更可能である。
【０５３５】
＜補足：ＣＵプライマリ変換フラグ（適応プライマリ変換フラグ）の符号化のスキップ＞
上記の画像符号化装置１００では、変換量子化バイパスを適用する場合に、変換ブロック単位でのプライマリ変換識別子pt_idxの符号化処理をスキップする事例について説明したが、これに限定にされない。例えば、ＣＵ単位で、変換ブロック単位のプライマリ変換識別子pt_idxを符号化するか否かを示すＣＵプライマリ変換フラグcu_pt_flag（適応プライマリ変換フラグapt_flagとも称する）を変換量子化バイパスフラグtransquant_bypass_flagの値に応じて符号化する。
【０５３６】
ＣＵプライマリ変換フラグcu_pt_flagが１（真）の場合には、変換ブロック単位のプライマリ変換識別子pt_idxの符号化をし、ＣＵプライマリ変換フラグcu_pt_flagが０（偽）の場合には、変換ブロック単位のプライマリ変換識別子pt_idxの符号化を省略してもよい。この場合、符号化部１１４は、さらに、不図示のＣＵプライマリ変換フラグ符号化部４０３を備える。
【０５３７】
ＣＵプライマリ変換フラグ符号化部４０３は、ＴＵ単位でのプライマリ変換識別子pt_idxの符号化の許可に関する情報であるＣＵプライマリ変換フラグcu_pt_flagの符号化に関する処理を行う。ＣＵプライマリ変換フラグ符号化部４０３におけるＣＵプライマリ変換フラグcu_pt_flagの符号化は例えば、以下の疑似コードに基づいて行う。
【０５３８】
if （ !transquant_bypass_flag && pt_enabled_flag )
{
encode cu_pt_flag
}
【０５３９】
すなわち、ＣＵプライマリ変換フラグ符号化部４０３は、変換量子化バイパスフラグtransquant_bypass_flagが０（偽）、かつプライマリ変換有効フラグpt_enabled_flagが１（真）のときにＣＵプライマリ変換フラグcu_pt_flagを符号化し、それ以外の場合（変換量子化バイパスフラグtransquant_bypass_flagが１（真）、またはプライマリ変換有効フラグpt_enabled_flagが０（偽））のときは、ＣＵプライマリ変換フラグcu_pt_flagの符号化を省略する。すなわち、変換量子化バイパスフラグを適用する場合には、ＣＵプライマリ変換フラグcu_pt_flagを復号側に伝送する必要がない。従って、ＣＵプライマリ変換フラグ符号化部４０３は、ＣＵプライマリ変換フラグcu_pt_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減をすることができる。
【０５４０】
なお、この場合、プライマリ変換識別子符号化部４０２における、プライマリ変換識別子pt_idxの符号化条件は、例えば、以下の疑似コードに基づいて行う。
【０５４１】
if（ cu_pt_flag && ts_flag==0 && numSig >= TH）
{
encode pt_idx
}
【０５４２】
すなわち、プライマリ変換識別子符号化部４０２は、ＣＵプライマリ変換フラグcu_pt_flagが１（真）、かつ変換スキップフラグts_flagが０（偽）、かつ、非ゼロ係数数numSigが閾値TH以上のとき、プライマリ変換識別子pt_idxを符号化し、それ以外の場合（ＣＵプライマリ変換フラグcu_pt_flagが０（偽）、または変換スキップフラグts_flagが１（真）、または、非ゼロ係数数numSigが閾値THより小さい）ときは、プライマリ変換識別子pt_idxの符号化を省略する。すなわち、ＣＵプライマリ変換フラグが０の場合には、プライマリ変換識別子pt_idxを復号側に伝送する必要がない。従って、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減をすることができる。
【０５４３】
＜プライマリ変換識別子符号化処理の流れ＞
次に、図３７のフローチャートを参照して、図３６のステップＳ５０８において実行されるプライマリ変換識別子符号化処理の流れの例を説明する。
【０５４４】
プライマリ変換識別子符号化処理が開始されると、プライマリ変換識別子符号化部４０２は、ステップＳ５１１において、変数の初期化を行う。例えば、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxの最大値であるmaxPTIdxを３に設定する（maxPTIdx＝３）。
【０５４５】
ステップＳ５１２において、プライマリ変換識別子符号化部４０２は、予測モード情報Pinfoを参照して、処理対象変換ブロックを含むCUがイントラ予測であるか、インター予測であるか判定する。インター予測であると判定された場合、処理はステップＳ５１３に進む。
【０５４６】
ステップＳ５１３において、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxの値を以下の式（６８）のように修正する。
【０５４７】
pt_idx＝maxPTIdx - pt_idx
・・・（６８）
【０５４８】
プライマリ変換識別子pt_idxの各値の出現確率が、イントラ予測とインター予測で逆の傾向にある。そこで、プライマリ変換識別子符号化部４０２は、イントラ予測の場合、最も出現頻度高い値（０）を０、２番目に出現頻度の高い値（１）を１、３番目に出現頻度に高い値（２）を２、４番目に出現頻度の高い値（３）を３として算術符号化を行い、インター予測の場合、最も出現頻度高い値（３）を０、２番目に出現頻度の高い値（２）を１、３番目に出現頻度に高い値（３）を２、４番目に出現頻度の高い値（０）を３として算術符号化を行うために、算術符号化の対象とするプライマリ変換識別子pt_idxの値を上述の式（６８）のように変更する。
【０５４９】
ステップＳ５１３の処理が終了すると処理はステップＳ５１４に進む。また、ステップＳ５１２において、イントラ予測であると判定された場合、処理はステップＳ５１４に進む。
【０５５０】
ステップＳ５１４において、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxをTUにより２値化した場合のbin列の長さを示すmaxBinIdxを以下の式（６９）のように導出する。具体的には、プライマリ変換識別子pt_idxと、プライマリ変換識別子pt_idxの最大値maxPTIdxのうち小さい値をmaxBinIdxの値とする。
【０５５１】
maxBinIdx＝min（pt_idx，maxPTIdx）
・・・（６９）
【０５５２】
ステップＳ５１５において、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxを２値化したbin列の現在のbinの位置を示すbinIdxの値が、binIdxの最大値maxBinIdxより小さいか判定する。binIdxの値が、maxBinIdxの値より小さいと判定された場合（binIdx < maxBinIdx）、処理はステップＳ５１６に進む。
【０５５３】
ステップＳ５１６において、プライマリ変換識別子符号化部４０２は、binIdx=iの位置のbinのシンボルsymbolの値を１に設定する（symbol＝１）。
【０５５４】
ステップＳ５１７において、プライマリ変換識別子符号化部４０２は、２値化されたプライマリ変換識別子pt_idxのbin列でbinIdx=iの位置のbinのシンボルsymbolを算術符号化する。
【０５５５】
ここで、プライマリ変換識別子符号化部４０２は、binIdx=iの位置のbinを算術符号化する際に、図３８に示すように、各binIdxに応じたコンテキストを用いて、算術符号化する。例えば、図３８のM0の場合は、binIdx＝0…2まですべてのbinについて、コンテキストを用いないバイパスモードにより算術符号化を行う例を示している。なお、バイパスモードとは、シンボル０とシンボル１の発生確率が等確率であるとして、算術符号化を行うモードである。
【０５５６】
また、図３８のM1の場合は、binIdx=0（先頭）のbinについて、コンテキストを用いるレギュラーモードにより算術符号化を行い、binIdx＝1…2のbinについては、バイパスモードにより算術符号化を行う例を示している。なお、レギュラーモードとは、シンボル０とシンボル１の発生確率を更新しながら、算術符号化を行うモードである。例えば、M1の場合、binIdx＝0のbinについては、イントラの場合、コンテキストを指定するインデックスctxIncの値を０にし、インターの場合には、１を割り当てる。
【０５５７】
また、図３８のM2の場合は、binIdx＝0…1のbinについて、コンテキストを用いるレギュラーモードにより算術符号化を行い、binIdx＝2のbinについては、バイパスモードにより算術符号化を行う例を示している。例えば、M2の場合、binIdx＝0のbinについては、イントラの場合、コンテキストを指定するインデックスctxIncの値を０にし、インターの場合には、１を割り当てる。また、binIdx=1のbinについては、イントラの場合、コンテキストを指定するインデックスctxIncの値を２にし、インターの場合には、３を割り当てる。
【０５５８】
また、図３８のM1及びM2では、レギュラーモードにより算術符号化の対象となるbinIdx=iの位置のbinに対して、イントラとインターの場合とで、異なるコンテキストを指定するコンテキストインデックスctxIncを割り当ている。しかし、上述の式（６８）において、プライマリ変換識別子pt_idxの各値の出現確率が、イントラ予測とインター予測で逆の傾向を利用して、プライマリ変換識別子pt_idxについて、イントラ予測の場合、最も出現頻度高い値（０）を０、２番目に出現頻度の高い値（１）を１、３番目に出現頻度に高い値（２）を２、４番目に出現頻度の高い値（３）を３として、インター予測の場合、最も出現頻度高い値（３）を０、２番目に出現頻度の高い値（２）を１、３番目に出現頻度に高い値（３）を２、４番目に出現頻度の高い値（０）を３として修正している。こうすることで、式（６８）後のプライマリ変換識別子pt_idxのbinIdx=iのbinのシンボルが０、又は１となる発生確率をイントラとインターで同等にすることができる。従って、イントラとインターの場合とで、レギュラーモードにより算術符号化の対象となるbinIdx=iの位置のbinに対して、同一のコンテキストを指定するコンテキストインデックスctxIncを割り当ててもよい。この場合、イントラとインターで異なるコンテキストを指定するコンテキストインデックスctxIncを割り当てる場合と同等の符号化効率を達成しつつ、さらに、コンテキストを保持するメモリサイズを削減することができる。
【０５５９】
例えば、図３８のM3の場合は、binIdx=0（先頭）のbinについて、コンテキストを用いるレギュラーモードにより算術符号化を行い、binIdx＝1…2のbinについては、バイパスモードにより算術符号化を行う例を示している。M3の場合、binIdx＝0のbinについては、イントラ、インターによらず、コンテキストを指定するインデックスctxIncの値を０にする。
【０５６０】
また、図３８のM4の場合は、binIdx＝0…1のbinについて、コンテキストを用いるレギュラーモードにより算術符号化を行い、binIdx＝2のbinについては、バイパスモードにより算術符号化を行う例を示している。M4の場合、イントラ、インターによらず、binIdx＝0のbinについては、コンテキストを指定するインデックスctxIncの値を０にし、binIdx=1のbinについては、コンテキストを指定するインデックスctxIncの値を１にする。
【０５６１】
図３８のM0を用いることにより、コンテキストを用いるレギュラーモードによる算術符号化をせずに、すべてバイパスモードにより算術符号化するため、非特許文献１に記載の方法に比べて、高速にbin列を算術符号化することができ、かつ、従来技術比べてコンテキストを保持するメモリサイズを削減することができる。
【０５６２】
また、図３８のM1を用いることにより、先頭のbin（binIdx＝0）に対して、コンテキストを用いるレギュラーモードによる算術符号化を行い、残りのbinをバイパスモードにより算術符号化するため、非特許文献１に記載の方法よりも比較的高速にbin列を算術符号化することができ、かつ、コンテキストを保持するメモリサイズを削減することができる。また、符号化効率も改善される。
【０５６３】
図３８のM2を用いるメリットは、binIdx＝0…1のbinに対して、コンテキストを用いるレギュラーモードによる算術符号化を行い、残りのbinをバイパスモードにより算術符号化するため、非特許文献１に記載の方法よりも比較的高速にbin列を算術符号化することができる。また、符号化効率も改善される。
【０５６４】
また、図３８のM3の場合、先頭のbin（binIdx＝0）に対して、イントラ、インターによらず、同一のコンテキストを指定するコンテキストインデックスを割り当てる。従って、M1と比較して、同等の処理量、及び同等の符号化効率を達成しつつ、さらにコンテキストを保持するメモリサイズを削減することができる。
【０５６５】
図３８のM4の場合、binIdx＝0…1のbinに対して、イントラ、インターによらず、それぞれ、同一のコンテキストを指定するコンテキストインデックスを割り当てる。従って、M2と比較して、同等の処理量、及び符号化効率を達成しつつ、さらにコンテキストを保持するメモリサイズを削減することができる。
【０５６６】
ステップＳ５１８において、プライマリ変換識別子符号化部４０２は、変数binIdxの値を更新する（binIdx += 1）。ステップＳ５１８の処理が終了すると、処理はステップＳ５１５に戻り、それ以降の処理を繰り返す。すなわち、ステップＳ５１５において、binIdxの値が、maxBinIdxの値以上と判定されるまで、ステップＳ５１５乃至ステップＳ５１８の処理を繰り返す。ステップＳ５１５において、binIdxの値が、maxBinIdxの値以上と判定された場合、処理はステップＳ５１９に進む。
【０５６７】
ステップＳ５１９において、プライマリ変換識別子符号化部４０２は、プライマリ変換識別子pt_idxが、プライマリ変換識別子pt_idxの最大値maxPTIdxより小さいか否かを判定する。プライマリ変換識別子pt_idxの値が、maxPTIdxの値より小さいと判定された場合（pt_idx < maxPTIdx）、処理はステップＳ５２０に進む。
【０５６８】
ステップＳ５２０において、プライマリ変換識別子符号化部４０２は、binIdx＝iの位置のbinのシンボルsymbolの値を0に設定する（symbol＝0）。
【０５６９】
ステップＳ５２１において、プライマリ変換識別子符号化部４０２は、２値化されたプライマリ変換識別子pt_idxのbin列でbinIdx＝iの位置のbinのシンボルを算術符号化する。
【０５７０】
ステップＳ５２１の処理が終了すると、プライマリ変換識別子符号化処理が終了し、処理は図３６に戻る。また、ステップＳ５１９において、プライマリ変換識別子pt_idxの値が、maxPTIdxの値以上であると判定された場合（pt_idx >= maxPTIdx）、ステップＳ５２０およびステップＳ５２１の処理がスキップされ、プライマリ変換識別子符号化処理が終了し、処理は図３６に戻る。
【０５７１】
以上の処理の疑似コードを図３９のＡに示す。このようにすることにより、図３９のＢに示されるようなTU（トランケーテッド・ユーナリー２値化）を用いた２値化を実現することができる。例えば、プライマリ変換識別子pt_idxの値が０であれば、ビット列0が得られる。また、例えば、プライマリ変換識別子pt_idxの値が１であれば、ビット列10が得られる。
【０５７２】
このようにすることにより、プライマリ変換識別子pt_idxの符号化効率の低減を抑制することができる。
【０５７３】
また、ステップＳ５１３の処理を行うことにより、イントラ予測とインター予測でのプライマリ変換識別子pt_idxの出現頻度が逆傾向にある性質を利用することができ、より効率的な算術符号化を行うことができる。
【０５７４】
さらに、ステップＳ５１７の処理において図３８のM0を用いる場合、コンテキストを用いるレギュラーモードによる算術符号化をせずに、すべてバイパスモードにより算術符号化するため、非特許文献１に記載の方法に比べて、高速にbin列を算術符号化することができ、かつ、従来技術比べてコンテキストを保持するメモリサイズを削減することができる。
【０５７５】
また、ステップＳ５１７の処理において図３８のM1を用いる場合、先頭のbin（binIdx＝０）に対して、コンテキストを用いるレギュラーモードによる算術符号化を行い、残りのbinをバイパスモードにより算術符号化するため、非特許文献１に記載の方法よりも比較的高速にbin列を算術符号化することができ、かつ、コンテキストを保持するメモリサイズを削減することができる。また、符号化効率も改善される。
【０５７６】
さらに、ステップＳ５１７の処理において図３８のM2を用いる場合、binIdx＝0…1のbinに対して、コンテキストを用いるレギュラーモードによる算術符号化を行い、残りのbinをバイパスモードにより算術符号化するため、非特許文献１に記載の方法よりも比較的高速にbin列を算術符号化することができる。また、符号化効率も改善される。
【０５７７】
また、ステップＳ５１７の処理において図３８のM3を用いる場合、先頭のbin（binIdx＝０）に対して、イントラ、インターによらず、同一のコンテキストを用いるレギュラーモードによる算術符号化を行い、残りのbinをバイパスモードにより算術符号化する。従って、M1と比較して、同等の処理量、及び同等の符号化効率を達成しつつ、さらに、コンテキストを保持するメモリサイズを削減することができる。
【０５７８】
さらに、ステップＳ５１７の処理において図３８のM4を用いる場合、binIdx＝0…1のbinに対して、イントラ、インターによらず、それぞれ同一のコンテキストを用いるレギュラーモードによる算術符号化を行い、残りのbinをバイパスモードにより算術符号化する。従って、M2と比較して、同等の処理量、及び同等の符号化効率を達成しつつ、さらに、コンテキストを保持するメモリサイズを削減することができる。
【０５７９】
なお、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ５１６のシンボルsymbolを０とし、ステップＳ５２０のシンボルsymbolを１として算術符号化を行うようにしてもよい。その場合、図３９のＣに示されるTUを用いて、プライマリ変換識別子pt_idxの２値化を行うことになる。
【０５８０】
また、ステップＳ５１４乃至ステップＳ５２１の処理の代わりに、図３９のＢや図３９のＣに示されるTUのルックアップテーブルを参照して、直接プライマリ変換識別子pt_idxの値からbin列を求め、そのbin列を算術符号化するようにしてもよい。
【０５８１】
＜復号部＞
次に画像復号装置２００について説明する。この場合も画像復号装置２００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像復号装置２００は、符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、その量子化変換係数レベルが逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、そのプライマリ変換係数を画像とその画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、逆プライマリ変換の内容に関する第１の情報の符号化データの復号をスキップする復号部を備える。つまり、この場合の復号部２１１は、符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、その量子化変換係数レベルが逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、そのプライマリ変換係数を画像とその画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、逆プライマリ変換の内容に関する第１の情報の符号化データの復号をスキップする。
【０５８２】
図４０は、この場合の復号部２１１がプログラム等を実行することにより実現する、プライマリ変換識別子の復号に関する主な機能の例を示す機能ブロック図である。図４０に示されるように、この場合の復号部２１１は、プログラムを実行することにより、プライマリ変換識別子の復号に関する機能として、例えば、プライマリ変換有効フラグ復号部４１１およびプライマリ変換識別子復号部４１２を有することができる。
【０５８３】
プライマリ変換有効フラグ復号部４１１は、逆プライマリ変換の許可に関する情報であるプライマリ変換有効フラグpt_enabled_flagの符号化データの復号に関する処理を行う。プライマリ変換識別子復号部４１２は、逆プライマリ変換の内容に関する情報であるプライマリ変換識別子pt_idxの復号に関する処理を行う。
【０５８４】
＜復号処理の流れ＞
次に、画像復号装置２００により実行される各処理の流れの例を説明する。この場合画像復号装置２００は、画像復号処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像復号装置２００は、画像復号処理のステップＳ２０１（図１３）において、プライマリ変換識別子pt_idx等の符号化データの復号を、変換量子化バイパスフラグtransquant_bypass_flagの値等に応じて行う。このプライマリ変換識別子pt_idx等の復号の流れの例を図４１のフローチャートを参照して説明する。つまり、図４１に示される復号処理は、図１３のステップＳ２０１において行われる復号処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化データの復号は任意の方法で行われる。
【０５８５】
復号処理が開始されると、ステップＳ５４１において、プライマリ変換有効フラグ復号部４１１は、ビットストリーム（符号化データ）のビット列からプライマリ変換有効フラグpt_enabled_flagの符号化データを復号し、ヘッダ情報の一部として出力する。
【０５８６】
ステップＳ５４２において、プライマリ変換識別子復号部４１２は、ヘッダ情報Hinfoに含まれるプライマリ変換有効フラグpt_enabled_flagが、１（真）であるか否かを判定する。プライマリ変換有効フラグpt_enabled_flagが０であると判定された場合、ステップＳ５４３乃至ステップＳ５４７の処理がスキップされ、処理はステップＳ５４８に進む。
【０５８７】
逆プライマリ変換の実行が許可されていないのであれば、逆プライマリ変換は実行されず、プライマリ変換識別子pt_idxは符号化側から伝送されないので、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０５８８】
また、ステップＳ５４２において、プライマリ変換有効フラグpt_enabled_flagが１であると判定された場合、処理はステップＳ５４３に進む。
【０５８９】
ステップＳ５４３において、プライマリ変換識別子復号部４１２は、変換情報Tinfoに含まれる変換量子化バイパスフラグtransquant_bypass_flagが１（真）であるか否かを判定する。変換量子化バイパスフラグtransquant_bypass_flagが１であると判定された場合、すなわち、逆変換（逆セカンダリ変換および逆プライマリ変換）並びに逆量子化をスキップ（バイパス）すると判定された場合、ステップＳ５４３乃至ステップＳ５４７の処理がスキップされ、処理はステップＳ５４８に進む。
【０５９０】
逆変換および逆量子化がバイパスされるのであれば、プライマリ変換識別子pt_idxは不要である。したがって、この場合、プライマリ変換識別子pt_idxは符号化側から伝送されないので、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０５９１】
ステップＳ５４３において、変換量子化バイパスフラグtransquant_bypass_flagが０であると判定された場合、すなわち、逆変換および逆量子化をスキップ（バイパス）しないと判定された場合、処理はステップＳ５４４に進む。
【０５９２】
ステップＳ５４４において、プライマリ変換識別子復号部４１２は、変換情報TInfoに含まれる変換スキップフラグts_flagが１（真）であるか否かを判定する。変換スキップフラグts_flagが１であると判定された場合、すなわち、逆変換（逆プライマリ変換）をスキップすると判定された場合、ステップＳ５４５乃至ステップＳ５４７の処理がスキップされ、処理はステップＳ５４８に進む。
【０５９３】
逆プライマリ変換がスキップされるのであれば、プライマリ変換識別子pt_idxは不要である。したがって、この場合、プライマリ変換識別子pt_idxは符号化側から伝送されないので、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０５９４】
ステップＳ５４４において、変換スキップフラグts_flagが０であると判定された場合、すなわち、逆変換（逆プライマリ変換）を実行すると判定された場合、処理はステップＳ５４５に進む。
【０５９５】
ステップＳ５４５において、プライマリ変換識別子復号部４１２は、処理対象の変換ブロックのサイズTBSizeが最大プライマリ変換ブロックサイズMaxPTSize以下であるかいなか（条件式（TBSize <= MaxPTSize）の論理値が１（真）であるかいなか）判定する。処理対象の変換ブロックのサイズTBSizeが最大プライマリ変換ブロックサイズMaxPTSizeより大きいと判定された場合（TBSize > MaxPTSize）、ステップＳ５４６およびステップＳ５４７の処理がスキップされ、処理はステップＳ５４８に進む。
【０５９６】
最大プライマリ変換ブロックサイズMaxPTSizeは、逆プライマリ変換の実行が許可される最大のブロックサイズを示す情報である。つまり、変換ブロックのサイズがこの最大プライマリ変換ブロックサイズMaxPTSizeより大きい場合、逆プライマリ変換の実行が許可されないので、プライマリ変換識別子pt_idxは符号化側から伝送されない。したがって、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０５９７】
ステップＳ５４５において、処理対象の変換ブロックのサイズTBSizeが最大プライマリ変換ブロックサイズMaxPTSize以下であると判定された場合（TBSize <= MaxPTSize）、処理はステップＳ５４６に進む。
【０５９８】
なお、条件式（TBSize <= MaxPTSize）は、２を底とするTBサイズの対数値log2TBSize、２を底とする最大プライマリ変換ブロックサイズMaxPTSizeの対数値log2MaxPTSizeを用いて、条件式（log2TBSize <= log2MaxPTSize）に置き換えても良い。
【０５９９】
ステップＳ５４６において、プライマリ変換識別子復号部４１２は、残差情報Rinfoを参照して、変換ブロック内に存在する非ゼロ係数の総数numSig（sig_coeff_flag == 1の総数）を以下の式（７０）のように導出する。
【０６００】
numSig＝Σ（sig_coeff_flag（i,j））
（i＝0…TBSize-1，j＝0…TBSize-1）
・・・（７０）
【０６０１】
ステップＳ５４７において、プライマリ変換識別子復号部４１２は、変換ブロック内の非ゼロ係数の数numSigが閾値THより大きいか否か（numSig >= TH）を判定する。非ゼロ係数の総数numSigが所定の閾値THより少ない（numSig < TH）と判定された場合、処理はステップＳ５４８に進む。
【０６０２】
非ゼロ係数の総数numSigが所定の閾値THより少ない場合、すなわち、非ゼロ係数が少ない疎な残差信号の場合、エナジーコンパクションが低下し、符号化効率が低減するおそれがあるので、符号化効率の低減を抑制するためには、変換スキップまたは所定の逆直交変換（例えば、DCT-Type 2の逆変換）を適用するのが望ましい。つまり、この場合、プライマリ変換識別子pt_idxは符号化側から伝送されない。したがって、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０６０３】
ステップＳ５４８において、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの復号をスキップする。また、この場合、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの値が、水平方向のプライマリ変換Phor、及び垂直方向のプライマリ変換Pverに所定の直交変換（例えば、DCT-Type 2）を用いることを示す識別子の値（例えば−１）であると推定する。つまり、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの値を−１に設定する（pt_idx＝-1）。ステップＳ５４８の処理が終了すると復号処理が終了し、処理は、図１３に戻る。
【０６０４】
ステップＳ５４７において、非ゼロ係数の総数numSigが所定の閾値TH以上である（numSig >= TH）と判定された場合、処理はステップＳ５４９に進む。
【０６０５】
ステップＳ５４９において、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの符号化データを復号する。この復号の詳細については後述する。
【０６０６】
つまり、上述の条件式（６６）が１（真）となる場合のみ、プライマリ変換識別子pt_idxの符号化データが復号される。これは、図３４を参照して説明したシンタックスの上から７段目に対応する。
【０６０７】
ステップＳ５４９の処理が終了すると、復号処理が終了し、処理は、図１３に戻る。
【０６０８】
以上のように復号処理を実行することにより、画像復号装置２００は、変換量子化バイパスを適用する場合に、プライマリ変換識別子pt_idxの復号処理をスキップすることができる。すなわち、プライマリ変換識別子pt_idxの復号に係る処理量および符号量を低減することができる。
【０６０９】
なお、上述した復号処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（６６）は、実施可能な範囲で演算を変更可能である。
【０６１０】
上記の画像復号装置２００では、変換量子化バイパスを適用する場合に、変換ブロック単位でのプライマリ変換識別子pt_idxの復号処理をスキップする事例について説明したが、これに限定にされない。例えば、ＣＵ単位で、変換ブロック単位のプライマリ変換識別子pt_idxを復号（符号化）する否かを示すＣＵプライマリ変換フラグcu_pt_flagを変換量子化バイパスフラグtransquant_bypass_flagの値に応じて復号する。ＣＵプライマリ変換フラグcu_pt_flagが１（真）の場合には、変換ブロック単位のプライマリ変換識別子pt_idxの復号をし、ＣＵプライマリ変換フラグcu_pt_flagが０（偽）の場合には、変換ブロック単位のプライマリ変換識別子pt_idxの復号を省略し、プライマリ変換識別子pt_idxの値を-１と推定してもよい。この場合、復号部２１４は、さらに、不図示のＣＵプライマリ変換フラグ復号部４１３を備える。
【０６１１】
ＣＵプライマリ変換フラグ復号部４１３は、ＴＵ単位でのプライマリ変換識別子pt_idxの復号（符号化）の許可に関する情報であるＣＵプライマリ変換フラグcu_pt_flagの復号に関する処理を行う。ＣＵプライマリ変換フラグ復号部４１３におけるＣＵプライマリ変換フラグcu_pt_flagの復号は例えば、以下の疑似コードに基づいて行う。
【０６１２】
if （ !transquant_bypass_flag && pt_enabled_flag )
{
decode cu_pt_flag
}
【０６１３】
すなわち、ＣＵプライマリ変換フラグ復号部４１３は、変換量子化バイパスフラグtransquant_bypass_flagが０（偽）、かつプライマリ変換有効フラグpt_enabled_flagが１（真）のときにＣＵプライマリ変換フラグcu_pt_flagを復号し、それ以外の場合（変換量子化バイパスフラグtransquant_bypass_flagが１（真）、またはプライマリ変換有効フラグpt_enabled_flagが０（偽））のときは、ＣＵプライマリ変換フラグcu_pt_flagの復号を省略し、ＣＵプライマリ変換フラグcu_pt_flagの値を０と推定する。すなわち、変換量子化バイパスフラグを適用する場合には、ＣＵプライマリ変換フラグcu_pt_flagは伝送されない。従って、ＣＵプライマリ変換フラグ復号部４１３は、ＣＵプライマリ変換フラグcu_pt_flagの復号をスキップし、ＣＵプライマリ変換フラグcu_pt_flagの値を０と推定する。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減をすることができる。
【０６１４】
なお、この場合、プライマリ変換識別子復号部４１２における、プライマリ変換識別子pt_idxの復号条件は、例えば、以下の疑似コードに基づいて行う。
【０６１５】
if（ cu_pt_flag && ts_flag==0 && numSig >= TH）
{
decode pt_idx
}
else {
pt_idx = -1
}
【０６１６】
すなわち、プライマリ変換識別子復号部４１２は、ＣＵプライマリ変換フラグcu_pt_flagが１（真）、かつ変換スキップフラグts_flagが０（偽）、かつ、非ゼロ係数数numSigが閾値TH以上のとき、プライマリ変換識別子pt_idxを復号し、それ以外の場合（ＣＵプライマリ変換フラグcu_pt_flagが０（偽）、または変換スキップフラグts_flagが１（真）、または、非ゼロ係数数numSigが閾値THより小さい）ときは、プライマリ変換識別子pt_idxの復号を省略し、プライマリ変換識別子pt_idxの値を所定の直交変換（例えば、DCT-Type 2など）を適用することを示す値（‐１）であると推定する。すなわち、ＣＵプライマリ変換フラグが０の場合には、プライマリ変換識別子pt_idxを復号側に伝送されない。従って、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの復号をスキップし、該識別子の値を、所定の直交変換を適用することを示す値（−１）へ推定する。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減をすることができる。
【０６１７】
＜プライマリ変換識別子復号処理の流れ＞
次に、図４２のフローチャートを参照して、図４１のステップＳ５４９において実行されるプライマリ変換識別子復号処理の流れの例を説明する。
【０６１８】
プライマリ変換識別子復号処理が開始されると、プライマリ変換識別子復号部４１２は、ステップＳ５５１において、変数の初期化を行う。例えば、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxを０に設定する（pt_idx＝０）。また、例えば、プライマリ変換識別子復号部４１２は、符号化データのビット列の1binを算術復号して得られるシンボルの値を入れる変数であるsymbolを０に設定する（symbol＝０）。また、例えば、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの符号化データのビット列で復号対象のbinの位置を示すインデックスであるbinIdxを０に設定する（binIdx＝０）。また、例えば、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの最大値であるmaxPTIdxを３に設定する（maxPTIdx＝３）。
【０６１９】
ステップＳ５５２において、プライマリ変換識別子復号部４１２は、ビット列でbinIdx=iの位置のbinを算術復号し、得られたシンボルの値を、変数symbolへ設定する。ここで、プライマリ変換識別子復号部４１２は、binIdx=iの位置のbinを算術復号する際に、図３８に示すように、各binIdxに応じたコンテキストを用いて、算術復号する。
【０６２０】
例えば、図３８のM0の場合は、binIdx=0…2まですべてのbinについて、コンテキストを用いないバイパスモードにより算術復号を行う例を示している。なお、バイパスモードとは、シンボル０とシンボル１の発生確率が等確率であるとして、算術復号を行うモードである。
【０６２１】
また、図３８のM1の場合は、binIdx=0（先頭）のbinについて、コンテキストを用いるレギュラーモードにより算術復号を行い、binIdx=1…2のbinについては、バイパスモードにより算術復号を行う例を示している。なお、レギュラーモードとは、シンボル０とシンボル１の発生確率を更新しながら、算術復号を行うモードである。例えば、M1の場合、binIdx=0のbinについては、イントラの場合、コンテキスを指定するインデックスctxIncの値を０にし、インターの場合には、１を割り当てる。
【０６２２】
また、図３８のM2の場合は、binIdx=0…1のbinについて、コンテキストを用いるレギュラーモードにより算術復号を行い、binIdx=2のbinについては、バイパスモードにより算術復号を行う例を示している。例えば、M2の場合、binIdx＝0のbinについては、イントラの場合、コンテキストを指定するインデックスctxIncの値を０にし、インターの場合には、１を割り当てる。また、binIdx=1のbinについては、イントラの場合、コンテキストを指定するインデックスctxIncの値を２にし、インターの場合には、３を割り当てる。
【０６２３】
また、図３８のM1及びM2では、レギュラーモードにより算術復号の対象となるbinIdx=iの位置のbinに対して、イントラとインターの場合とで、異なるコンテキストを指定するコンテキストインデックスctxIncを割り当ている。しかし、画像符号化装置１００では、上述の式（６８）において、プライマリ変換識別子pt_idxの各値の出現確率が、イントラ予測とインター予測で逆の傾向を利用して、プライマリ変換識別子pt_idxについて、イントラ予測の場合、最も出現頻度高い値（０）を０、２番目に出現頻度の高い値（１）を１、３番目に出現頻度に高い値（２）を２、４番目に出現頻度の高い値（３）を３として、インター予測の場合、最も出現頻度高い値（３）を０、２番目に出現頻度の高い値（２）を１、３番目に出現頻度に高い値（３）を２、４番目に出現頻度の高い値（０）を３として修正して、算術符号化を行っている。こうすることで、式（６８）後のプライマリ変換識別子pt_idxのbinIdx=iのbinのシンボルが０、又は１となる発生確率をイントラとインターで同等にすることができる。従って、画像復号装置２００においても、イントラとインターの場合とで、レギュラーモードにより算術復号の対象となるbinIdx=iの位置のbinに対して、同一のコンテキストを指定するコンテキストインデックスctxIncを割り当ててもよい。この場合、イントラとインターで異なるコンテキストを指定するコンテキストインデックスctxIncを割り当てる場合と同等の符号化効率を達成しつつ、さらに、コンテキストを保持するメモリサイズを削減することができる。
【０６２４】
例えば、図３８のM3の場合は、binIdx=0（先頭）のbinについて、コンテキストを用いるレギュラーモードにより算術復号を行い、binIdx＝1…2のbinについては、バイパスモードにより算術復号を行う例を示している。M3の場合、binIdx＝0のbinについては、イントラ、インターによらず、コンテキストを指定するインデックスctxIncの値を０にする。
【０６２５】
また、図３８のM4の場合は、binIdx＝0…1のbinについて、コンテキストを用いるレギュラーモードにより算術復号を行い、binIdx＝2のbinについては、バイパスモードにより算術復号を行う例を示している。M4の場合、イントラ、インターによらず、binIdx＝0のbinについては、コンテキストを指定するインデックスctxIncの値を０にし、binIdx=1のbinについては、コンテキストを指定するインデックスctxIncの値を１にする。
【０６２６】
図３８のM0を用いることにより、コンテキストを用いるレギュラーモードによる算術復号をせずに、すべてバイパスモードにより算術復号するため、非特許文献１に記載の方法に比べて、高速にbin列からシンボルを復号することができ、かつ、非特許文献１に記載の方法に比べてコンテキストを保持するメモリサイズを削減することができる。
【０６２７】
図３８のM1を用いることにより、先頭のbin（binIdx=0)に対して、コンテキストを用いるレギュラーモードによる算術復号を行い、残りのbinをバイパスモードにより算術復号するため、非特許文献１に記載の方法より比較的高速にbin列からシンボルを復号することができ、かつ、コンテキストを保持するメモリサイズを削減することができる。また、符号化効率も改善される。
【０６２８】
図３８のM2を用いることにより、binIdx=0…1のbinに対して、コンテキストを用いるレギュラーモードによる算術復号を行い、残りのbinをバイパスモードにより算術復号するため、非特許文献１に記載の方法より比較的高速にbin列からシンボルを復号することができる。また、符号化効率も改善される。
【０６２９】
また、図３８のM3の場合、先頭のbin（binIdx＝0）に対して、イントラ、インターによらず、同一のコンテキストを指定するコンテキストインデックスを割り当てる。従って、M1と比較して、同等の処理量、及び同等の符号化効率を達成しつつ、さらにコンテキストを保持するメモリサイズを削減することができる。
【０６３０】
図３８のM4の場合、binIdx＝0…1のbinに対して、イントラ、インターによらず、それぞれ、同一のコンテキストを指定するコンテキストインデックスを割り当てる。従って、M2と比較して、同等の処理量、及び同等の符号化効率を達成しつつ、さらにコンテキストを保持するメモリサイズを削減することができる。
【０６３１】
ステップＳ５５３において、プライマリ変換識別子復号部４１２は、シンボルsymbolの値が１であるか判定する。シンボルsymbolが１であると判定された場合、処理はステップＳ５５４に進む。
【０６３２】
ステップＳ５５４において、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxおよび変数binIdxの値を更新する。例えば、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの値を＋１インクリメントする（pt_idx += 1）。また、例えば、プライマリ変換識別子復号部４１２は、変数binIdxの値を＋１インクリメントする（binIdx += 1）。
【０６３３】
ステップＳ５５５において、プライマリ変換識別子復号部４１２は、プライマリ変換識別子pt_idxの値が、プライマリ変換識別子pt_idxの最大値maxPTIdxに等しいか否か判定する。プライマリ変換識別子pt_idxの値が、最大値maxPTIdxの値と等しくないと判定された場合（pt_idx != maxPTIdx）、処理はステップＳ５５６に進む。また、ステップＳ５５３において、シンボルsymbolが０であると判定された場合、処理はステップＳ５５６に進む。
【０６３４】
ステップＳ５５６において、プライマリ変換識別子復号部４１２は、シンボルsymbolの値が１であるか否かを判定する。シンボルsymbolの値が１であると判定された場合、処理はステップＳ５５２に戻り、それ以降の処理が繰り返される。
【０６３５】
また、ステップＳ５５５において、プライマリ変換識別子pt_idxの値が、最大値maxPTIdxの値と等しいと判定された場合（pt_idx == maxPTIdx）、処理はステップＳ５５７に進む。また、ステップＳ５５６において、シンボルsymbolの値が０であると判定された場合、処理はステップＳ５５７に進む。
【０６３６】
ステップＳ５５７において、プライマリ変換識別子復号部４１２は、予測モード情報Pinfoを参照して、処理対象変換ブロックを含むCUがイントラ予測であるか、インター予測であるか判定する。インター予測であると判定された場合、処理はステップＳ５５８に進む。
【０６３７】
ステップＳ５５８において、プライマリ変換識別子復号部４１２は、復号して得られたプライマリ変換識別子pt_idxの値を以下の式（７１）に基づいて、修正する。
【０６３８】
pt_idx＝maxPTIdx - pt_idx
・・・（７１）
【０６３９】
プライマリ変換識別子pt_idxの各値の出現確率が、イントラ予測とインター予測で逆の傾向にある。そこで、イントラ予測の場合、最も出現頻度高い値（０）を０、２番目に出現頻度の高い値（１）を１、３番目に出現頻度に高い値（２）を２、４番目に出現頻度の高い値（３）を３として算術符号化され、インター予測の場合、最も出現頻度高い値（３）を０、２番目に出現頻度の高い値（２）を１、３番目に出現頻度に高い値（３）を２、４番目に出現頻度の高い値（０）を３として算術符号化されている。プライマリ変換識別子復号部４１２は、このようなプライマリ変換識別子pt_idxの値の正しい割り当てへ戻すために、式（７１）のように処理を行う。
【０６４０】
ステップＳ５５８の処理が終了すると、プライマリ変換識別子復号処理が終了し、処理は図４１に戻る。また、ステップＳ５５７において、イントラ予測であると判定された場合、ステップＳ５５８の処理はスキップされ、プライマリ変換識別子復号処理が終了し、処理は図４１に戻る。
【０６４１】
以上の処理の疑似コードを図４３のＡに示す。このようにすることにより、図４３のＢに示されるようなTU（トランケーテッド・ユーナリー２値化）を用いた多値化（逆２値化）を実現することができる。例えば、ビット列が0であれば、プライマリ変換識別子pt_idxの値は０となる。また、例えば、ビット列が10であれば、プライマリ変換識別子pt_idxの値は１となる。
【０６４２】
このようにすることにより、プライマリ変換識別子pt_idxの符号化効率の低減を抑制することができる。
【０６４３】
また、ステップＳ５５８の処理を行うことにより、イントラ予測とインター予測でのプライマリ変換識別子pt_idxの出現頻度が逆傾向にある性質を利用することができ、より効率的な算術復号を行うことができる。
【０６４４】
さらに、ステップＳ５５２の処理において、図３８のM0を用いる場合、コンテキストを用いるレギュラーモードによる算術復号をせずに、すべてバイパスモードにより算術復号するため、非特許文献１に記載の方法に比べて、高速にbin列からシンボルを復号することができ、かつ、非特許文献１に記載の方法に比べてコンテキストを保持するメモリサイズを削減することができる。
【０６４５】
また、ステップＳ５５２の処理において、図３８のM1を用いる場合、先頭のbin（binIdx=0)に対して、コンテキストを用いるレギュラーモードによる算術復号を行い、残りのbinをバイパスモードにより算術復号するため、非特許文献１に記載の方法よりも比較的高速にbin列からシンボルを復号することができ、かつ、コンテキストを保持するメモリサイズを削減することができる。また、符号化効率も改善される。
【０６４６】
また、ステップＳ５５２の処理において、図３８のM2を用いる場合、binIdx=0…1のbinに対して、コンテキストを用いるレギュラーモードによる算術復号を行い、残りのbinをバイパスモードにより算術復号するため、非特許文献１に記載の方法よりも比較的高速にbin列からシンボルを復号することができる。また、符号化効率も改善される。
【０６４７】
また、ステップＳ５５２の処理において図３８のM3を用いる場合、先頭のbin（binIdx＝０）に対して、イントラ、インターによらず、同一のコンテキストを用いるレギュラーモードによる算術復号を行い、残りのbinをバイパスモードにより算術復号する。従って、M1と比較して、同等の処理量、及び同等の符号化効率を達成しつつ、さらに、コンテキストを保持するメモリサイズを削減することができる。
【０６４８】
さらに、ステップＳ５５２の処理において図３８のM4を用いる場合、binIdx＝0…1のbinに対して、イントラ、インターによらず、それぞれ同一のコンテキストを用いるレギュラーモードによる算術復号を行い、残りのbinをバイパスモードにより算術復号する。従って、M2と比較して、同等の処理量、及び同等の符号化効率を達成しつつ、さらに、コンテキストを保持するメモリサイズを削減することができる。
【０６４９】
なお、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。例えば、ステップＳ５５３やステップＳ５５６において、シンボルsymboの判定条件を１に等しいとしているが、０に等しいとしてもよい。その場合、図４３のＣに示されるTUを用いて、プライマリ変換識別子pt_idxの逆２値化を行うことになる。
【０６５０】
また、ステップＳ５５２乃至ステップＳ５５６の処理の代わりに、図４３のＢや図４３のＣに示されるTUのルックアップテーブルを参照して、直接ビット列からプライマリ変換識別子pt_idxの値を求めるようにしてもよい。
【０６５１】
＜６．第６の実施の形態＞
＜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と同一である。
【０６５５】
＜変換スキップフラグの符号化・復号のスキップ＞
以上により、第６の実施の形態では、変換ブロックの水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeが異なる場合がある。従って、第６の実施の形態では、最大変換スキップブロックサイズMaxTSSizeとして、変換スキップブロックの水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeのうちの大きい方max（TBXSize,TBYSize）の最大値が設定される。そして、max（TBXSize,TBYSize）と最大変換スキップブロックサイズMaxTSSizeの比較結果に基づいて、（逆）変換のスキップに関する変換スキップフラグts_flagの符号化や復号がスキップされる。第６の実施の形態の変換スキップフラグts_flagの符号化や復号のスキップ以外の処理は、第３の実施の形態の処理と同様である。
【０６５６】
＜シンタクス＞
図４５は、第６の実施の形態における変換スキップフラグts_flag等の符号化の制御を表す疑似コードを記載したシンタクステーブルの例を示す図である。
【０６５７】
図４５のシンタクステーブルは、上から４段目を除いて、図２０のシンタクステーブルと同一である。
【０６５８】
図４５の上から４段目に示されるように、変換スキップフラグts_flagの符号化（すなわち、変換スキップフラグts_flagの符号化データの復号）は、max（TBXSize,TBYSize）が最大変換スキップブロックサイズMaxTSSize以下であることが条件の１つとなる。つまり、max（TBXSize,TBYSize）が最大変換スキップブロックサイズMaxTSSizeより大きい場合、変換スキップフラグts_flagの符号化（変換スキップフラグts_flagの符号化データの復号）がスキップされる。
【０６５９】
また、変換スキップ有効フラグts_enabled_flagと変換量子化バイパスフラグtransquant_bypass_flagが１であることも、変換スキップフラグts_flagの符号化（変換スキップフラグts_flagの符号化データの復号）の条件の１つとなる。つまり、（逆）変換と（逆）量子化の両方がスキップされる場合、および、変換スキップが許可されていない場合、変換スキップフラグts_flagの符号化（変換スキップフラグts_flagの符号化データの復号）がスキップされる。
【０６６０】
＜符号化部＞
この場合も画像符号化装置１００は、第１の実施の形態の場合と基本的に同様の構成を有する。つまり、第１の実施の形態において説明した画像符号化装置１００が、max（TBXSize,TBYSize）と最大変換スキップブロックサイズMaxTSSizeの比較結果に基づいて、変換スキップフラグts_flagの符号化をスキップする符号化部を備える。つまり、この場合の符号化部１１４は、max（TBXSize,TBYSize）と最大変換スキップブロックサイズMaxTSSizeの比較結果に基づいて、変換スキップフラグts_flagの符号化をスキップする。
【０６６１】
図４６は、この場合の符号化部１１４がプログラム等を実行することにより実現する、変換スキップフラグts_flagの符号化に関する主な機能の例を示す機能ブロック図である。図４６に示されるように、この場合の符号化部１１４は、プログラムを実行することにより、変換スキップフラグts_flagの符号化に関する機能として、例えば、第３の実施の形態において説明した符号化部１１４と同様の、セカンダリ変換有効フラグ符号化部３０１、変換スキップ有効フラグ符号化部３０３、最大変換スキップブロックサイズ符号化部３０４、変換量子化バイパスフラグ符号化部３０５、およびセカンダリ変換フラグ符号化部３２１の機能を有することができる。さらに、符号化部１１４は、プログラムを実行することにより、変換スキップフラグts_flagの符号化に関する機能として、例えば、変換スキップフラグ符号化部４４１の機能を有することができる。
【０６６２】
変換スキップフラグ符号化部４４１は、max（TBXSize,TBYSize）と最大変換スキップブロックサイズMaxTSSizeの比較結果に基づいて、変換スキップフラグts_flagの符号化に関する処理を行う。
【０６６３】
＜符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。この場合画像符号化装置１００は、画像符号化処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像符号化装置１００は、画像符号化処理のステップＳ１１０（図９）において、変換スキップフラグts_flagの符号化を、max（TBXSize,TBYSize）と最大変換スキップブロックサイズMaxTSSizeの比較結果等に基づいて行う。この変換スキップフラグts_flag等の符号化の流れの例を図４７および図４８のフローチャートを参照して説明する。つまり、図４７および図４８に示される符号化処理は、図９のステップＳ１１０において行われる符号化処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化は任意の方法で行われる。
【０６６４】
図４７のステップＳ６０１乃至Ｓ６０６の処理は、図２２のステップＳ３６１乃至Ｓ３６６の処理と同様であるので、説明は省略する。
【０６６５】
ステップＳ６０７において、変換スキップフラグ符号化部４４１は、処理対象の変換ブロックのmax（TBXSize,TBYSize）が最大変換スキップブロックサイズMaxTSSize以下であるか否か（条件式max（TBXSize,TBYSize）<=MaxTSSizeが真であるか否か）を判定する。処理対象の変換ブロックのmax（TBXSize,TBYSize）が最大変換スキップブロックサイズMaxTSSizeより大きいと判定された場合、すなわち、上述の条件式が０（偽）であると判定された場合、ステップＳ６０８の処理がスキップ（省略）され、処理は図４８のステップＳ６０９に進む。
【０６６６】
max（TBXSize,TBYSize）が最大変換スキップブロックサイズより大きい場合、変換スキップが許可されないので、変換スキップフラグts_flagの値は０に固定される。したがって、この場合、変換スキップフラグts_flagを復号側に伝送する必要がないので、変換スキップフラグ符号化部４４１は、変換スキップフラグts_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０６６７】
ステップＳ６０７において、処理対象の変換ブロックのmax（TBXSize,TBYSize）が最大変換スキップブロックサイズMaxTSSize以下であると判定された場合、すなわち、上述の条件式が１（真）であると判定された場合、処理はステップＳ６０８に進む。
【０６６８】
ステップＳ６０８乃至Ｓ６１５の処理は、図２２のステップＳ３６８の処理および図２３のステップＳ３７１乃至Ｓ３７７の処理と同様であるので、説明は省略する。
【０６６９】
以上のように、変換スキップフラグ符号化部４４１は、変換ブロックの水平方向のサイズTBXSizeおよび垂直方向のサイズTBYSizeに基づいて、変換スキップフラグts_flagの符号化をスキップする。従って、変換ブロックの形状が長方形である場合であっても、変換スキップフラグts_flagの符号化を適切にスキップすることができる。
【０６７０】
＜復号部＞
次に画像復号装置２００について説明する。この場合も画像復号装置２００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像復号装置２００は、max（TBXSize,TBYSize）と最大変換スキップブロックサイズMaxTSSizeの比較結果に基づいて、変換スキップフラグts_flagの復号をスキップする復号部を備える。つまり、この場合の復号部２１１は、max（TBXSize,TBYSize）と最大変換スキップブロックサイズMaxTSSizeの比較結果に基づいて、変換スキップフラグts_flagの復号をスキップする。
【０６７１】
図４９は、この場合の復号部２１１がプログラム等を実行することにより実現する、変換スキップフラグts_flagの符号化データの復号に関する主な機能の例を示す機能ブロック図である。図４９に示されるように、この場合の復号部２１１は、プログラムを実行することにより、変換スキップフラグts_flagの符号化データの復号に関する機能として、例えば、第３の実施の形態において説明した復号部２１１と同様の、セカンダリ変換有効フラグ復号部３１１、変換スキップ有効フラグ復号部３１３、最大変換スキップブロックサイズ復号部３１４、変換量子化バイパスフラグ復号部３１５、およびセカンダリ変換フラグ復号部３３１の機能を有することができる。さらに、復号部２１１は、プログラムを実行することにより、変換スキップフラグts_flagの符号化データの復号に関する機能として、例えば、変換スキップフラグ復号部４６１の機能を有することができる。
【０６７２】
セカンダリ変換フラグ復号部３３１は、max（TBXSize,TBYSize）と最大変換スキップブロックサイズMaxTSSizeの比較結果に基づいて、変換スキップフラグts_flagの符号化データの復号に関する処理を行う。
【０６７３】
＜復号処理の流れ＞
次に、画像復号装置２００により実行される各処理の流れの例を説明する。この場合画像復号装置２００は、画像復号処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像復号装置２００は、画像復号処理のステップＳ２０１（図１３）において、変換スキップフラグts_flagの符号化データの復号を、max（TBXSize,TBYSize）と最大変換スキップブロックサイズMaxTSSizeの比較結果等に基づいて行う。この変換スキップフラグts_flag等の符号化データの復号の流れの例を図５０および図５１のフローチャートを参照して説明する。つまり、図５０および図５１に示される符号化処理は、図１３のステップＳ２０１において行われる復号処理の一部として実行される。
【０６７４】
図５０のステップＳ６３１乃至Ｓ６３６の処理は、図２５のステップＳ３８１乃至Ｓ３８６の処理と同様であるので、説明は省略する。
【０６７５】
ステップＳ６３７において、変換スキップフラグ復号部４６１は、処理対象の変換ブロックのmax（TBXSize,TBYSize）が最大変換スキップブロックサイズMaxTSSize以下であるか否か（条件式max（TBXSize,TBYSize）<=MaxTSSizeが真であるか否か）を判定する。処理対象の変換ブロックのmax（TBXSize,TBYSize）が最大変換スキップブロックサイズMaxTSSizeより大きいと判定された場合、すなわち、上述の条件式が０（偽）であると判定された場合、処理はステップＳ６３８に進む。
【０６７６】
変換ブロックのmax（TBXSize,TBYSize）が最大変換スキップブロックサイズより大きい場合、変換スキップが許可されないので、変換スキップフラグts_flagの値は０に固定される。したがって、この場合、変換スキップフラグts_flagは符号化側から伝送されないので、変換スキップフラグ復号部４６１は、変換スキップフラグts_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０６７７】
また、ステップＳ６３７において、処理対象の変換ブロックのmax（TBXSize,TBYSize）が最大変換スキップブロックサイズMaxTSSize以下であると判定された場合、すなわち、上述の条件式が１（真）であると判定された場合、処理はステップＳ６３９に進む。
【０６７８】
ステップＳ６３８乃至Ｓ６４７の処理は、図２５のステップＳ３８８およびＳ３８９並びに図２６のステップＳ３９１乃至Ｓ３９８の処理と同様であるので、説明は省略する。
【０６７９】
以上のように、変換スキップフラグ復号部４６１は、変換ブロックの水平方向のサイズTBXSizeおよび垂直方向のサイズTBYSizeに基づいて、変換スキップフラグts_flagの符号化をスキップする。従って、変換ブロックの形状が長方形である場合であっても、変換スキップフラグts_flagの復号を適切にスキップすることができる。
【０６８０】
なお、変換スキップフラグts_flagの符号化や復号のスキップを行うか否かの判定方法は、水平方向のサイズTBXSizeおよび垂直方向のサイズTBYSizeに基づいて変換ブロックのサイズが変換スキップブロックサイズの最大値より大きいかどうかを判定する方法であれば、上述した方法に限定されない。
【０６８１】
例えば、水平方向のサイズTBXSizeおよび垂直方向のサイズTBYSizeの対数の大きい方であるmax（log2TBXSize,log2TBYSize)が変換スキップブロックサイズの最大値の対数log2MaxTSSizeより大きい場合（max（log2TBXSize,log2TBYSize)＞log2MaxTSSize）に、変換スキップフラグts_flagの符号化や復号のスキップが行われるようにしてもよい。
【０６８２】
また、最大変換スキップブロックサイズMaxTSSizeを、最大変換スキップブロックの水平方向のサイズMaxTSXSizeと垂直方向のサイズMaxTSYSizeの和として、水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeの和が、最大変換スキップブロックサイズMaxTSSizeより大きい場合（TBXSize+TBYSize>MaxTSSize)に、変換スキップフラグts_flagの符号化や復号のスキップが行われるようにしてもよい。
【０６８３】
さらに、水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeの積が、最大変換スキップブロックの水平方向のサイズMaxTSXSizeと垂直方向のサイズMaxTSYSizeの積より大きい場合（TBXSize*TBYSize>MaxTSXSize*MaxTSYSize)に、変換スキップフラグts_flagの符号化や復号のスキップが行われるようにしてもよい。
【０６８４】
また、水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeの対数の和（log2TBXSize+log2TBYSize)が、最大変換スキップブロックの水平方向のサイズMaxTSXSizeと垂直方向のサイズMaxTSYSizeの対数の和（log2MaxTSXSize +log2MaxTSYSize)より大きい場合（log2TBXSize+log2TBYSize>log2MaxTSXSize +log2MaxTSYSize)に、変換スキップフラグts_flagの符号化や復号のスキップが行われるようにしてもよい。
【０６８５】
さらに、対数log2MaxTSSizeを、最大変換スキップブロックの水平方向のサイズMaxTSXSizeと垂直方向のサイズMaxTSYSizeの対数の和として、水平方向のサイズTBXSizeと垂直方向のサイズTBYSizeの対数の和（log2TBXSize+log2TBYSize)が対数log2MaxTSSizeより大きい場合（log2TBXSize+log2TBYSize＞log2MaxTSSize)に、変換スキップフラグts_flagの符号化や復号のスキップが行われるようにしてもよい。
【０６８６】
なお、判定に用いられる最大変換スキップブロックの水平方向のサイズMaxTSXSize（またはその対数値log2MaxTSXSize)と垂直方向のサイズMaxTSYSize（またはその対数値log2MaxTSYSize)は、SPS,PPS、スライスヘッダ（SH）などのパラメータセットに設定されて、符号化側から復号側に通知される。
【０６８７】
また、第６の実施の形態では、第３の実施の形態におけるブロックに図４４に示した正方形または長方形からなる矩形のブロックが適用されたが、第３の実施の形態以外の実施の形態におけるブロックに図４４に示した矩形のブロックが適用されるようにしてもよい。この場合、各実施の形態において、第６の実施の形態と同様に、水平方向のサイズTBXSizeおよび垂直方向のサイズTBYSizeに基づいて変換スキップフラグts_flagの符号化や復号のスキップが行われる。
【０６８８】
＜７．第７の実施の形態＞
＜従来技術の概要＞
H. Huang, K. Zhang, Y.-W. Huang, S. Lei,"EE2.1: Quadtree plus binary tree structure integration with JEM tools", JVET-C0024, Joint Video Exploration Team （JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 3rd Meeting: Geneva, CH, 26 May - 1 June 2016（以下、非特許文献３と称する）や、J. Chen, E. Alshina, G. J. Sullivan, J.-R. Ohm, J. Boyce,"Algorithm Description of Joint Exploration Test Model 4" JVET-D1001, Joint Video Exploration Team （JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 4th Meeting: Chendu, CN, 15 - 21 Octover 2016（以下、非特許文献４と称する）には、輝度の変換ブロックについて、水平方向のプライマリ変換PThor、及び垂直方向の変換PTver毎に、適応的に複数の異なる１次元直交変換から、プライマリ変換を選択する適応プライマリ変換（AMT: Adaptive Multiple core Transform）が開示されている。
【０６８９】
この適応プライマリ変換を実施するか否かを示す適応プライマリ変換フラグapt_flag（ＣＵプライマリ変換フラグcu_pt_flagとも称する）は、処理対象の輝度変換ブロックを含むＣＵにおいてシグナルされる（復号側に伝送される）。
【０６９０】
しかしながら、上記従来技術では、apt_flag==1の場合（適応プライマリ変換を適用する場合）に、変換スキップの適否を示す変換スキップフラグts_flagがシグナルされうる。従って、ts_flagまたはapt_flagに関する符号量が冗長となり、不要に符号量が増大するおそれがあった。
【０６９１】
また、変換量子化バイパスフラグtransquant_bypass_flag==1の場合（変換量子化バイパスを適用する場合）、適応プライマリ変換フラグapt_flagがシグナルされうる。従って、apt_flagに関する符号量が冗長となり、不要に符号量が増大するおそれがあった。
【０６９２】
非特許文献３および非特許文献４に記載の方法おいて、冗長な符号量が発生する場合の例を図５２に示す。図５２に示される表は、非特許文献３および非特許文献４に記載の方法における、変換量子化バイパスフラグtransquant_bypass_flag、適応プライマリ変換フラグapt_flag、変換スキップフラグts_flag、プライマリ変換識別子pt_idx、およびセカンダリ変換識別子st_idxのとりうるバリエーションを示している。
【０６９３】
例えば、図５２に示される表において、case#1は、"transquant_bypass_flag==0、apt_flag==0、ts_flag==0、pt_idxはシグナルされない、st_idx==0"の状態を示しており、このとき、プライマリ変換（1st Tr.）は、DCTが選択され、セカンダリ変換（2nd Tr.）は、スキップされることを示す。
【０６９４】
これに対して、case#3およびcase#4は、apt_flag==1とts_flag==0とがシグナルされているが、適応プライマリ変換フラグapt_flagをシグナルする必要がある場合はts_flag==0であることは明らかであるのでこの変換スキップフラグts_flagのシグナルは不要である。つまり、この場合、変換スキップフラグts_flagが冗長である。また、case#5は、ts_flag==1がシグナルされているにも関わらず適応プライマリ変換フラグapt_flagがシグナルされており冗長である。case#6およびcase#7は、transquant_bypass_flag==1がシグナルされているにも関わらず適応プライマリ変換フラグapt_flagがシグナルされており冗長である。
【０６９５】
＜適応プライマリ変換フラグおよび変換スキップフラグの符号化・復号のスキップ＞
以上のように、非特許文献３および非特許文献４に記載の方法では、適応プライマリ変換フラグapt_flag==1の場合（適応プライマリ変換を適用する場合）に、変換スキップの適否を示す変換スキップフラグts_flagがシグナルされる可能性があり、不要に符号量が増大するおそれがあった。また、変換スキップフラグts_flag==1の場合に、適応プライマリ変換フラグapt_flagがシグナルされる可能性があり、不要に符号量が増大するおそれがあった。また、変換量子化バイパスフラグtransquant_bypass_flag==1の場合（変換量子化バイパスを適用する場合）に、適応プライマリ変換フラグapt_flagがシグナルされる可能性があり、不要に符号量が増大するというおそれがあった。
【０６９６】
そこで、例えば図５３のcase#5のように、画像符号化の際に、変換量子化バイパスフラグtransquant_bypass_flag==1の場合（変換量子化バイパスを行うことを示す場合）、適応プライマリ変換フラグapt_flagの符号化をスキップ（省略）するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０６９７】
また、例えば図５３のcase#3およびcase#4のように、適応プライマリ変換フラグapt_flag==1の場合（適応プライマリ変換を適用する場合）、変換スキップフラグts_flagの符号化をスキップ（省略）するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０６９８】
また、例えば図５３のcase#5のように、画像復号の際に、変換量子化バイパスフラグtransquant_bypass_flag==1の場合、適応プライマリ変換フラグapt_flagの復号をスキップ（省略）するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０６９９】
また、例えば図５３のcase#3およびcase#4のように、適応プライマリ変換フラグapt_flag==1の場合、変換スキップフラグts_flagの復号をスキップ（省略）するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０７００】
＜シンタクス＞
このような制御を表す疑似コードを記載したシンタクステーブルの例を図５４および図５５に示す。なお、これらのシンタクスにおいて、countNonZeroCoeffs（compID)は、compIDが示す色信号の変換ブロック内に存在する非ゼロ係数（有意係数）の数を返す関数である。この例の場合、図５４の上から６段目に示されるように、変換量子化バイパスフラグtransquant_bypass_flagが０（偽）であることが、適応プライマリ変換フラグapt_flagの符号化（適応プライマリ変換フラグapt_flagの符号化データの復号）の条件の１つとされている。つまり、変換量子化バイパスフラグtransquant_bypass_flagが１（真）の場合、すなわち、（逆）変換および（逆）量子化がスキップされる場合、適応プライマリ変換フラグapt_flagの符号化（適応プライマリ変換フラグapt_flagの符号化データの復号）がスキップされる。
【０７０１】
また、図５５の上から３段目に示されるように、適応プライマリ変換フラグapt_flagが０（偽）であることが、変換スキップフラグts_flagの符号化（変換スキップフラグts_flagの符号化データの復号）の条件の１つとされている。つまり、適応プライマリ変換フラグapt_flagが１（真）の場合、すなわち、適応プライマリ変換が適用される場合、輝度変換ブロック及び色差の変換ブロックに関する変換スキップフラグts_flagの符号化（変換スキップフラグts_flagの符号化データの復号）がスキップされる。
【０７０２】
＜符号化＞
この場合も画像符号化装置１００は、第１の実施の形態の場合と基本的に同様の構成を有する。つまり、第１の実施の形態において説明した画像符号化装置１００が、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、そのプライマリ変換係数がセカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合（変換量子化バイパス時）、適応プライマリ変換のオン・オフを示す第１の情報の符号化をスキップする符号化部を備える。
【０７０３】
つまり、この場合の符号化部１１４は、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、そのプライマリ変換係数がセカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合、適応プライマリ変換のオン・オフを示す第１の情報の符号化をスキップする。
【０７０４】
また、画像符号化装置１００は、適応プライマリ変換が適用される場合、変換スキップのオン・オフを示す第２の情報の符号化をスキップする符号化部を備える。つまり、この場合の符号化部１１４は、画像とその画像の予測画像との差分である予測残差に対する変換処理である適応プライマリ変換が実施される場合（apt_flag==1）、変換スキップのオン・オフを示す第２の情報の符号化をスキップする。
【０７０５】
図５６は、この場合の符号化部１１４がプログラム等を実行することにより実現する、適応プライマリ変換フラグの符号化、および変換スキップフラグの符号化に関する主な機能の例を示す機能ブロック図である。図５６に示されるように、この場合の符号化部１１４は、プログラムを実行することにより、適応プライマリ変換フラグの符号化に関する機能として、例えば、適応プライマリ変換フラグ符号化部５０１を有し、変換スキップフラグの符号化に関する機能として、変換スキップフラグ符号化部５０２を有することができる。
【０７０６】
適応プライマリ変換フラグ符号化部５０１は、適応プライマリ変換のオン・オフに関する情報である適応プライマリ変換フラグapt_flagの符号化に関する処理を行う。変換スキップフラグ符号化部５０２は、変換スキップのオン・オフに関する情報である変換スキップフラグts_flagの符号化に関する処理を行う。
【０７０７】
＜符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。この場合画像符号化装置１００は、画像符号化処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像符号化装置１００は、画像符号化処理のステップＳ１１０（図９）において、適応プライマリ変換フラグapt_flag等の符号化を、変換量子化バイパスフラグtransquant_bypass_flagの値等に応じて行う。この適応プライマリ変換フラグapt_flag等の符号化の流れの例を図５７のフローチャートを参照して説明する。つまり、図５７に示される符号化処理は、図９のステップＳ１１０において行われる符号化処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化は任意の方法で行われる。
【０７０８】
符号化処理が開始されると、ステップＳ７０１において、適応プライマリ変換フラグ符号化部５０１は、以下の条件式（７２）に示す条件Condition 1が１（真）であるか否かを判定する。条件Condition 1は、図５４を参照して説明したシンタックスの上から6段目に対応する。
【０７０９】
Condition 1:
apt_enabled_flag
&& compID==COMPONENT_Y
&& width <= MaxPTSize
&& height<= MaxPTSize
&& !transquant_bypass_flag
・・・（７２）
【０７１０】
ここで、MaxPTSizeは、適応プライマリ変換が適用可能なブロックサイズの最大値を表し、例えば、64である。なお、MaxPTSizeは、上記値に限定されず、ヘッダ情報において通知されるMaxPTSizeを規定するパラメータによって設定されてもよい。
【０７１１】
また、条件式（７２）において、ブロックサイズと閾値を比較する部分を、以下の条件式（７３）のように、対数表現に置き換えてもよい。
【０７１２】
apt_enabled_flag
&& compID==COMPONENT_Y
&& log2TbWidth <= log2MaxPTSize
&& log2TbHeight<= log2MaxPTSize
&& !transquant_bypass_flag
・・・（７３）
【０７１３】
ここで、log2MaxPTSizeの値は、6である。なお、log2MaxPTSizeの値は、これに限定されず、ヘッダ情報において通知されるlog2MaxPTSizeを規定するパラメータによって設定されてもよい。
【０７１４】
ステップＳ７０１において、条件Condition 1が１（真）であると判定された場合、すなわち、適応プライマリ変換フラグを符号化すると判定された場合、処理はステップＳ７０２に進む。ステップＳ７０２において、適応プライマリ変換フラグ符号化部５０１は、適応プライマリ変換フラグapt_flagを可変長符号化し、ビット列（符号化データ）を生成し出力する。ステップＳ７０２の処理が終了すると処理はステップＳ７０３に進む。
【０７１５】
これに対して、ステップＳ７０１において、条件Condition 1が０（偽）であると判定された場合、すなわち、適応プライマリ変換フラグを符号化しないと判定された場合、ステップＳ７０２の処理がスキップされ、処理はステップＳ７０３に進む。
【０７１６】
適応プライマリ変換フラグの符号化条件を満たさないのであれば、適応プライマリ変換フラグapt_flagを復号側に伝送する必要がない。したがって、適応プライマリ変換フラグ符号化部５０１は、適応プライマリ変換フラグapt_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０７１７】
ステップ７０３において、変換スキップフラグ符号化部５０２は、以下の条件式（７４）に示す条件Condition 2が１（真）であるか否かを判定する。条件Condition 2は、図５５を参照して説明したシンタックスの上から3段目に対応する。
【０７１８】
Condition 2:
ts_enabled_flag
&& width * height <= MaxTSSize
&& !transquant_bypass_flag
&& !apt_flag
・・・（７４）
【０７１９】
ここで、MaxTSSizeは、変換スキップが適用可能なブロックサイズの最大値を表し、例えば、16である。なお、MaxTSSizeは、上記値に限定されず、ヘッダ情報において通知されるMaxTSSizeを規定するパラメータによって設定されてもよい。
【０７２０】
また、条件式（７４）において、ブロックサイズと閾値を比較する部分を、以下の条件式（７５）のように、対数表現に置き換えてもよい。
【０７２１】
ts_enabled_flag
&& （log2TbWidth + log2TbHeight) <= log2MaxTSSize
&& !transquant_bypass_flag
&& !apt_flag
・・・（７５）
【０７２２】
ここで、log2MaxTSSizeの値は、４である。なお、log2MaxTSSizeの値は、これに限定されず、ヘッダ情報において通知されるlog2MaxTSSizeを規定するパラメータによって設定されてもよい。
【０７２３】
ステップＳ７０３において、条件Condition 2が１（真）であると判定された場合、すなわち、変換スキップフラグを符号化すると判定された場合、処理はステップＳ７０４に進む。ステップＳ７０４において、変換スキップフラグ符号化部５０２は、変換スキップフラグts_flagを可変長符号化し、ビット列（符号化データ）を生成し出力する。ステップＳ７０４の処理が終了すると符号化処理が終了し、処理は図９に戻る。
【０７２４】
これに対して、ステップＳ７０３において、条件Condition 2が０（偽）であると判定された場合、すなわち、変換スキップフラグを符号化しないと判定された場合、ステップＳ７０４の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０７２５】
変換スキップフラグの符号化条件を満たさないのであれば、変換スキップフラグts_flagを復号側に伝送する必要がない。したがって、変換スキップフラグ符号化部５０２は、変換スキップフラグts_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０７２６】
この符号化により得られた適応プライマリ変換フラグapt_flagの符号化データおよび変換スキップフラグts_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０７２７】
以上のように符号化処理を実行することにより、画像符号化装置１００は、変換量子化バイパスを適用する場合に、適応プライマリ変換フラグapt_flagの符号化処理をスキップすることができる。すなわち、適応プライマリ変換フラグapt_flagの符号化に係る処理量および符号量を低減することができる。
【０７２８】
また、画像符号化装置１００は、適応プライマリ変換を適用する場合に、変換スキップフラグts_flagの符号化処理をスキップすることができる。すなわち、変換スキッフラグts_flagの符号化に係る処理量および符号量を低減することができる。
【０７２９】
＜補足＞
上述の条件condition 1は、条件式（７２）に限定されず、各色空間毎に適応プライマリ変換フラグを符号化（復号）するように、以下の条件式（７６）へ変更してもよい。この場合、上述の条件式（７４）に示される条件condition 2も以下の条件式（７７）へ併せて変更することが望ましい。
【０７３０】
Condition 1b:
apt_enabled_flag
&& width <= MaxPTSize
&& height<= MaxPTSize
&& !transquant_bypass_flag
・・・（７６）
【０７３１】
Condition 2b:
ts_enabled_flag
&& width * height <= MaxTSSize
&& !transquant_bypass_flag
&& !apt_flag[compID]
・・・（７７）
【０７３２】
上記変更に対応するシンタックステーブルを図５８、及び図５９に示す。なお、これらのシンタクスにおいて、countNonZeroCoeffs（compID)は、compIDが示す色信号の変換ブロック内に存在する非ゼロ係数（有意係数）の数を返す関数である。条件式（７６）に示される条件Condition 1bは、図５８のシンタックスの上から６段目に対応する。また、条件式（７７）に示される条件Condition 2bは、図５９のシンタックスの上から３段目に対応する。
【０７３３】
また、上述の条件Condition 2は、条件式（７４）に限定されず、例えば、色空間識別子compIDが輝度を示し、かつ適応プライマリ変換フラグapt_flagが１（真）である場合、変換スキップフラグts_flagの符号化（復号）を省略するように、以下の条件式（７８）へ変更してもよい。
【０７３４】
Codntion 2c:
ts_enabled_flag
&& width * height <= MaxTSSize
&& !transquant_bypass_flag
&& !（apt_flag && compID==COMPONENT_Y)
・・・（７８）
【０７３５】
上記変更に対応するシンタックステーブルを図６０に示す。countNonZeroCoeffs（compID)は、compIDが示す色信号の変換ブロック内に存在する非ゼロ係数（有意係数）の数を返す関数である。条件Condition 2cは、図６０のシンタックスの上から３段目に対応する。
【０７３６】
なお、上述した符号化処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（７２）乃至（７８）は、実施可能な範囲で演算を変更可能である。
【０７３７】
＜復号＞
次に画像復号装置２００について説明する。この場合も画像復号装置２００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像復号装置２００は、符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、その量子化変換係数レベルが逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、そのプライマリ変換係数を画像とその画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、適応プライマリ変換のオン・オフに関する第１の情報の符号化データの復号をスキップする復号部を備える。
【０７３８】
つまり、この場合の復号部２１１は、符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、その量子化変換係数レベルが逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、そのプライマリ変換係数を画像とその画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、適応プライマリ変換のオン・オフに関する第１の情報の符号化データの復号をスキップする。
【０７３９】
また、画像復号装置２００は、適応プライマリ変換が適用される場合（apt_flag==1）、変換スキップのオン・オフを示す第２の情報の符号化データの復号をスキップする復号部２１１を備える。つまり、この場合の復号部２１１は、符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化・逆セカンダリ変換して得られるプライマリ変換係数に対して、適応プライマリ変換の逆処理、つまり、逆適応プライマリ変換が実施される場合、変換スキップのオン・オフを示す第２の情報の符号化データの復号をスキップする。
【０７４０】
図６１は、この場合の復号部２１１がプログラム等を実行することにより実現する、プライマリ変換識別子の復号に関する主な機能の例を示す機能ブロック図である。図６１に示されるように、この場合の復号部２１１は、プログラムを実行することにより、適応プライマリ変換フラグの復号に関する機能として、例えば、適応プライマリ変換フラグ復号部５１１を有し、変換スキップフラグの復号に関する機能として、変換スキップフラグ復号部５１２を有することができる。
【０７４１】
適応プライマリ変換フラグ復号部５１１は、逆適応プライマリ変換のオン・オフに関する情報である適応プライマリ変換フラグapt_flagの符号化データの復号に関する処理を行う。変換スキップフラグ復号部５１２は、変換スキップのオン・オフに関する情報である変換スキップフラグts_flagの符号化データの復号に関する処理を行う。
【０７４２】
＜復号処理の流れ＞
次に、画像復号装置２００により実行される各処理の流れの例を説明する。この場合画像復号装置２００は、画像復号処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像復号装置２００は、画像復号処理のステップＳ２０１（図１３）において、適応プライマリ変換フラグapt_flag等の符号化データの復号を、変換量子化バイパスフラグtransquant_bypass_flagの値等に応じて行う。この適応プライマリ変換フラグapt_flag等の復号の流れの例を図６２のフローチャートを参照して説明する。つまり、図６２に示される復号処理は、図１３のステップＳ２０１において行われる復号処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化データの復号は任意の方法で行われる。
【０７４３】
復号処理が開始されると、ステップＳ７１１において、適応プライマリ変換フラグ号部５１１は、上述の条件式（７２）に示す条件condition 1が１（真）であるか否かを判定する。条件condition 1が０（偽）であると判定された場合、すなわち、適応プライマリ変換フラグを復号しないと判定された場合、処理はステップＳ７１２に進む。
【０７４４】
ステップＳ７１２において、適応プライマリ変換フラグ復号部５１１は、適応プライマリ変換フラグapt_flagの復号をスキップする。この場合、適応プライマリ変換フラグ復号部５１１は、適応プライマリ変換を実施しないと解釈し、そのことを示す値（０）を、適応プライマリ変換フラグapt_flagへ設定する（apt_flag=0）。
【０７４５】
つまり、適応プライマリ変換フラグの符号化条件を満たさないのであれば、適応プライマリ変換フラグapt_flagは符号化側から伝送されないので、適応プライマリ変換フラグ復号部５１１は、適応プライマリ変換フラグapt_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０７４６】
ステップＳ７１２の処理が終了すると、処理はステップＳ７１４に進む。また、ステップＳ７１１において、条件condition 1が１（真）であると判定された場合、すなわち、適応プライマリ変換フラグを復号すると判定された場合、処理はステップＳ７１３に進む。
【０７４７】
ステップＳ７１３において、適応プライマリ変換フラグ復号部５１１は、適応プライマリ変換フラグapt_flagの符号化データを復号する。ステップＳ７１３の処理が終了すると、処理はステップＳ７１４に進む。
【０７４８】
ステップＳ７１４において、変換スキップフラグ復号部５１２は、上述の条件式（７４）に示すcondition 2が１（真）であるか否かを判定する。条件condition 2が０（偽）であると判定された場合、すなわち、変換スキップフラグを復号しないと判定された場合、処理はステップ７１５に進む。
【０７４９】
ステップＳ７１５において、変換スキップフラグ復号部５１２は、変換スキップフラグts_flagの復号をスキップする。この場合、変換スキップフラグ復号部５１２は、変換スキップを実施しないと解釈し、そのことを示す値（０）を、変換スキップフラグts_flagへ設定する（ts_flag=0）)。
【０７５０】
つまり、変換スキップフラグの符号化条件を満たさないのであれば、変換スキップフラグts_flagは符号化側から伝送されないので、変換スキップフラグ復号部５１２は、変換スキップフラグts_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０７５１】
ステップＳ７１５の処理が終了すると、復号処理が終了し、処理は図１３に戻る。また、ステップＳ７１４において、条件condition 2が１（真）であると判定された場合、すなわち、変換スキップフラグを復号すると判定された場合、処理はステップＳ７１６に進む。
【０７５２】
ステップＳ７１６において、変換スキップフラグ復号部５１２は、変換スキップフラグts_flagの符号化データを復号する。ステップＳ７１６の処理が終了すると、復号処理が終了し、処理は図１３に戻る。
【０７５３】
以上のように復号処理を実行することにより、画像復号装置２００は、変換量子化バイパスを適用する場合に、適応プライマリ変換フラグapt_flagの復号処理をスキップすることができる。すなわち、適応プライマリ変換フラグapt_flagの復号に係る処理量および符号量を低減することができる。
【０７５４】
また、画像復号装置２００は、適応プライマリ変換を適用する場合に、変換スキップフラグts_flagの復号処理をスキップすることができる。すなわち、変換スキッフラグts_flagの復号に係る処理量および符号量を低減することができる。
【０７５５】
＜補足＞
上述の条件condition 1は、条件式（７２）に限定されず、各色空間毎に適応プライマリ変換フラグを復号するように、上述の条件式（７６）へ変更してもよい。この場合、上述の条件式（７４）を上述の条件式（７７）へ合わせて変更することが望ましい。
【０７５６】
また、上述の条件Condition 2は、上述の条件式（７４）に限定されず、色空間識別子compIDが輝度を示し、かつ適応プライマリ変換フラグapt_flagが０（偽）を示す場合、変換スキップフラグts_flagの復号を省略するように、上述の条件式（７８）へ変更してもよい。
【０７５７】
なお、上述した復号処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（７２）乃至（７８）は、実施可能な範囲で演算を変更可能である。
【０７５８】
＜８．第８の実施の形態＞
＜従来技術の概要＞
H. Jang, J. Lim, J. Nam, S.-H. Kim, "Signaling for primary transform and transform skip" JVET-E0037, Joint Video Exploration Team （JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 5th Meeting: Geneva, CH, 12 - 20 January 2017（以下、非特許文献５と称する）では、非特許文献２に記載のQTBT （Quad Tree + Binary Tree)の導入により、符号化ユニットＣＵと変換ユニットＴＵが同一となったため、変換スキップフラグts_flag==1の場合（変換スキップを適用する場合）、ＣＵレベルでの適応プライマリ変換フラグapt_flagのシグナルは冗長であることを指摘している。
【０７５９】
そこで、非特許文献５では、適応プライマリ変換フラグapt_flagのシンタックス位置を、変換スキップフラグts_flagの後へ配置し、ts_flag==1のとき、該適応プライマリ変換フラグapt_flagの復号（符号化）を省略することが提案されている。
【０７６０】
しかしながら、非特許文献５に記載の構成では、符号化効率が低下することが指摘されている。また、非特許文献５に記載の構成では、非特許文献３や非特許文献４の場合と同様に、変換量子化バイパスが適用される場合（transquant_bypass_flag==1）において、適応プライマリ変換フラグapt_flagがシグナルされうる。従って、、apt_flagに関する符号量が冗長となり、不要に符号量が増大するおそれがあった。
【０７６１】
非特許文献５に記載の方法おいて、冗長な符号量が発生する場合の例を図６３に示す。図６３に示される表は、非特許文献５に記載の方法における、変換量子化バイパスフラグtransquant_bypass_flag、変換スキップフラグts_flag、適応プライマリ変換フラグapt_flag、プライマリ変換識別子pt_idx、及びセカンダリ変換識別子st_idxのとりうるバリエーションについて記載したものである。
【０７６２】
例えば、図６３に示される表において、case#6およびcase#7は、transquant_bypass_flag==1がシグナルされているにも関わらず適応プライマリ変換フラグapt_flagがシグナルされており冗長である。
【０７６３】
＜適応プライマリ変換フラグ・変換スキップフラグの符号化・復号のスキップ＞
以上のように、非特許文献５に記載の方法では、変換量子化バイパスが適用される場合（transquant_bypass_flag==1）において、適応プライマリ変換フラグapt_flagがシグナルされる可能性があり、不要に符号量が増大するというおそれがあった。
【０７６４】
そこで、例えば図６４のcase#6のように、画像符号化の際に、変換量子化バイパスフラグtransquant_bypass_flag==1の場合（変換量子化バイパスを行うことを示す場合）、適応プライマリ変換フラグapt_flagの符号化をスキップ（省略）するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０７６５】
また、例えば図６４のcase#4のように、変換スキップフラグts_flag==1の場合 （変換スキップを適用する場合)、適応プライマリ変換フラグapt_flagの符号化をスキップ（省略）するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０７６６】
また、例えば図６４のcase#6のように、画像復号の際に、変換量子化バイパスフラグtransquant_bypass_flag==1の場合、適応プライマリ変換フラグapt_flagの復号をスキップ（省略）するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０７６７】
また、例えば図６４のcase#4のように、変換スキップフラグts_flag==1の場合、適応プライマリ変換フラグapt_flagの復号をスキップ（省略）するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
【０７６８】
＜シンタクス＞
このような制御を表す疑似コードを記載したシンタクステーブルの例を図６５および図６６に示す。なお、これらのシンタクスにおいて、countNonZeroCoeffs（compID)は、compIDが示す色信号の変換ブロック内に存在する非ゼロ係数（有意係数）の数を返す関数である。図６５および図６６の例の場合、図５４においては上から６段目乃至８段目（図６５の上から５段目と６段目との間）にあった適応プライマリ変換フラグapt_flagに関する記述が、図６６の上から５段目および６段目に移動されており、さらに、変換スキップフラグts_flagが０（偽）、かつ、変換量子化バイパスフラグtransquant_bypass_flagが０（偽）であることが、適応プライマリ変換フラグapt_flagの符号化（適応プライマリ変換フラグapt_flagの符号化データの復号）の条件の１つとされている。
【０７６９】
つまり、変換量子化バイパスフラグtransquant_bypass_flagが１（真）の場合、すなわち、（逆）変換および（逆）量子化がスキップされる場合、適応プライマリ変換フラグapt_flagの符号化（適応プライマリ変換フラグapt_flagの符号化データの復号）がスキップされる。また、変換スキップフラグts_flagが１（真）の場合、すなわち、変換スキップされる場合、適応プライマリ変換フラグapt_flagの符号化（適応プライマリ変換フラグapt_flagの符号化データの復号）がスキップされる。
【０７７０】
＜符号化＞
この場合も画像符号化装置１００は、第１の実施の形態の場合と基本的に同様の構成を有する。つまり、第１の実施の形態において説明した画像符号化装置１００が、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、そのプライマリ変換係数がセカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合（変換量子化バイパス時）、または、変換がスキップされる場合（変換スキップ時）、適応プライマリ変換のオン・オフを示す第１の情報の符号化をスキップする符号化部を備える。
【０７７１】
つまり、この場合の符号化部１１４は、画像とその画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、その予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、そのプライマリ変換係数がセカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合、または、変換がスキップされる場合、適応プライマリ変換のオン・オフを示す第１の情報の符号化をスキップする。
【０７７２】
この場合の符号化部１１４がプログラムを実行することにより有する適応プライマリ変換フラグの符号化に関する機能は、図５６を参照して説明した第７の実施の形態の場合と同様であるので、その説明は省略する。
【０７７３】
＜符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。この場合画像符号化装置１００は、画像符号化処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像符号化装置１００は、画像符号化処理のステップＳ１１０（図９）において、適応プライマリ変換フラグapt_flag等の符号化を、変換量子化バイパスフラグtransquant_bypass_flagの値等に応じて行う。この適応プライマリ変換フラグapt_flag等の符号化の流れの例を図６７のフローチャートを参照して説明する。つまり、図６７に示される符号化処理は、図９のステップＳ１１０において行われる符号化処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化は任意の方法で行われる。
【０７７４】
符号化処理が開始されると、ステップＳ７２１において、変換スキップフラグフラグ符号化部５０２は、以下の条件式（７９）に示す条件Condition 3が１（真）であるか否かを判定する。条件Condition 3は、図６６を参照して説明したシンタックスの上から３段目に対応する。
【０７７５】
Condition 3:
ts_enabled_flag
&& width*height <= MaxTSSize
&& !transquant_bypass_flag
・・・（７９）
【０７７６】
ここで、MaxTSSizeは、変換スキップが適用可能なブロックサイズの最大値を表し、例えば、16である。なお、MaxTSSizeは、上記値に限定されず、ヘッダ情報において通知されるMaxTSSizeを規定するパラメータによって設定されてもよい。
【０７７７】
また、条件式（７９）において、ブロックサイズと閾値を比較する部分を、以下の条件式（８０）のように、対数表現に置き換えてもよい。
【０７７８】
ts_enabled_flag
&& （（log2TbWidth + log2TbHeight) <= log2MaxTSSize)
&& !transquant_bypass_flag
・・・（８０）
【０７７９】
ここで、log2MaxTSSizeの値は、４である。なお、log2MaxTSSizeの値は、これに限定されず、ヘッダ情報において通知されるlog2MaxTSSizeを規定するパラメータによって設定されてもよい。
【０７８０】
ステップＳ７２１において、条件Condition 3が１（真）であると判定された場合、すなわち、変換スキップフラグを符号化すると判定された場合、処理はステップＳ７２２に進む。ステップＳ７２２において、変換スキップフラグ符号化部５０２は、変換スキップフラグts_flagを可変長符号化し、ビット列（符号化データ）を生成し出力する。ステップＳ７２２の処理が終了すると処理はステップＳ７２３に進む。
【０７８１】
これに対して、ステップＳ７２１において、条件Condition 3が０（偽）であると判定された場合、すなわち、変換スキップフラグを符号化しないと判定された場合、ステップＳ７２２の処理がスキップされ、処理はステップＳ７２３に進む。
【０７８２】
変換スキップフラグの符号化条件を満たさないのであれば、変換スキップフラグts_flagを復号側に伝送する必要がない。したがって、変換スキップフラグ符号化部５０２は、変換スキップフラグts_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０７８３】
ステップＳ７２３において、適応プライマリ変換フラグ符号化部５０１は、以下の条件式（８１）に示す条件Condition 4が１（真）であるか否かを判定する。条件Condition 4は、図６６を参照して説明したシンタックスの上から５段目に対応する。
【０７８４】
Condition 4:
apt_enabled_flag
&& compID==COMPONENT_Y
&& width <= MaxPTSize
&& height<= MaxPTSize
&& !ts_flag[compID]
&& !transquant_bypass_flag
・・・（８１）
【０７８５】
ここで、MaxPTSizeは、適応プライマリ変換が適用可能なブロックサイズの最大値を表し、例えば、64である。なお、MaxPTSizeは、上記値に限定されず、ヘッダ情報において通知されるMaxPTSizeを規定するパラメータによって設定されてもよい。
【０７８６】
また、条件式（８１）において、ブロックサイズと閾値を比較する部分を、以下の条件式（８２）のように、対数表現に置き換えてもよい。
【０７８７】
apt_enabled_flag
&& compID==COMPONENT_Y
&& log2TbWidth <= log2MaxPTSize
&& log2TbHeight<= log2MaxPTSize
&& !ts_flag[compID]
&& !transquant_bypass_flag
・・・（８２）
【０７８８】
ここで、log2MaxPTSizeの値は、6である。なお、log2MaxPTSizeの値は、これに限定されず、ヘッダ情報において通知されるlog2MaxPTSizeを規定するパラメータによって設定されてもよい。
【０７８９】
ステップＳ７２３において、条件Condition 4が１（真）であると判定された場合、すなわち、適応プライマリ変換フラグを符号化すると判定された場合、処理はステップＳ７２４に進む。ステップＳ７２４において、適応プライマリ変換フラグ符号化部５０１は、適応プライマリ変換フラグapt_flagを可変長符号化し、ビット列（符号化データ）を生成し出力する。符号化処理が終了し、処理は図９に戻る。ステップＳ７２４の処理が終了すると符号化処理が終了し、処理は図９に戻る。
【０７９０】
これに対して、ステップＳ７２３において、条件Condition 4が０（偽）であると判定された場合、すなわち、適応プライマリ変換フラグを符号化しないと判定された場合、ステップＳ７２４の処理がスキップされ、符号化処理が終了し、処理は図９に戻る。
【０７９１】
適応プライマリ変換フラグの符号化条件を満たさないのであれば、適応プライマリ変換フラグapt_flagを復号側に伝送する必要がない。したがって、適応プライマリ変換フラグ符号化部５０１は、適応プライマリ変換フラグapt_flagの符号化をスキップする。このようにすることにより、冗長な情報の符号化をスキップすることができるので、符号化処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０７９２】
この符号化により得られた適応プライマリ変換フラグapt_flagの符号化データおよび変換スキップフラグts_flagの符号化データは、量子化変換係数レベルlevelの符号化データを含むビットストリームに含められる。
【０７９３】
以上のように符号化処理を実行することにより、画像符号化装置１００は、変換量子化バイパスを適用する場合に、適応プライマリ変換フラグapt_flagの符号化処理をスキップすることができる。すなわち、適応プライマリ変換フラグapt_flagの符号化に係る処理量および符号量を低減することができる。
【０７９４】
また、画像符号化装置１００は、変換スキップを適用する場合に、適応プライマリ変換フラグapt_ flagの符号化処理をスキップすることができる。すなわち、適応プライマリ変換フラグapt_ flagの符号化に係る処理量および符号量を低減することができる。
【０７９５】
＜補足＞
上述の条件condition 4は、式（８１）に限定されず、各色空間毎に適応プライマリ変換フラグを符号化（復号）するように、以下の条件式（８３）へ変更してもよい。
【０７９６】
Condition 4a:
apt_enabled_flag && compID==COMPONENT_Y
&& width <= MaxPTSize
&& height<= MaxPTSize
&& !ts_flag[compID] && !transquant_bypass_flag
・・・（８３）
【０７９７】
上記変更に対応するシンタックステーブルを図６８に示す。なお、このシンタクスにおいて、countNonZeroCoeffs（compID)は、compIDが示す色信号の変換ブロック内に存在する非ゼロ係数（有意係数）の数を返す関数である。条件Condition 4aは、図６８のシンタックスの上から５段目に対応する。
【０７９８】
なお、上述した符号化処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（７９）乃至（８３）は、実施可能な範囲で演算を変更可能である。
【０７９９】
＜復号＞
次に画像復号装置２００について説明する。この場合も画像復号装置２００は、第１の実施の形態の場合と基本的に同様の構成を有する。ただし、この場合の画像復号装置２００は、符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、その量子化変換係数レベルが逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、そのプライマリ変換係数を画像とその画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、または、変換がスキップされる場合（変換スキップ時）、適応プライマリ変換のオン・オフに関する第１の情報の符号化データの復号をスキップする復号部を備える。
【０８００】
つまり、この場合の復号部２１１は、符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、その量子化変換係数レベルが逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、そのプライマリ変換係数を画像とその画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、または、変換がスキップが適用される場合、適応プライマリ変換のオン・オフに関する第１の情報の符号化データの復号をスキップする。
【０８０１】
この場合の復号部２１１がプログラムを実行することにより有する適応プライマリ変換フラグの符号化に関する機能は、図６１を参照して説明した第７の実施の形態の場合と同様であるので、その説明は省略する。
【０８０２】
＜復号処理の流れ＞
次に、画像復号装置２００により実行される各処理の流れの例を説明する。この場合画像復号装置２００は、画像復号処理を、第１の実施の形態の場合と基本的に同様に行う。ただし、この場合、画像復号装置２００は、画像復号処理のステップＳ２０１（図１３）において、適応プライマリ変換フラグapt_flag等の符号化データの復号を、変換量子化バイパスフラグtransquant_bypass_flagの値等に応じて行う。この適応プライマリ変換フラグapt_flag等の復号の流れの例を図６９のフローチャートを参照して説明する。つまり、図６９に示される復号処理は、図１３のステップＳ２０１において行われる復号処理の一部として実行される。その他の符号化パラメータや量子化変換係数レベルlevelの符号化データの復号は任意の方法で行われる。
【０８０３】
復号処理が開始されると、ステップＳ７３１において、変換スキップフラグ号部５１２は、上述の条件式（７９）に示す条件Condition 3が１（真）であるか否かを判定する。条件Condition 3が０（偽）であると判定された場合、すなわち、変換スキップフラグを復号しないと判定された場合、処理はステップＳ７３２に進む。
【０８０４】
ステップＳ７３２において、変換スキップフラグ復号部５１２は、変換スキップフラグts_flagの復号をスキップする。この場合、変換スキップフラグ復号部５１２は、変換スキップを実施しないと解釈し、そのことを示す値（０）を、変換スキップフラグts_flagへ設定する（ts_flag=0)。
【０８０５】
つまり、変換スキップフラグの符号化条件を満たさないのであれば、変換スキップフラグts_flagは符号化側から伝送されないので、変換スキップフラグ復号部５１２は、変換スキップフラグts_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０８０６】
ステップＳ７３２の処理が終了すると、処理はステップＳ７３４に進む。また、ステップＳ７３１において、条件condition 3が１（真）であると判定された場合、すなわち、変換スキップフラグを復号すると判定された場合、処理はステップＳ７３３に進む。
【０８０７】
ステップＳ７３３において、変換スキップフラグ復号部５１２は、変換スキップフラグts_flagの符号化データを復号する。ステップＳ７３３の処理が終了すると、処理はステップＳ７３４に進む。
【０８０８】
ステップＳ７３４において、適応プライマリ変換フラグ復号部５１１は、上述の条件式（８１）に示すCondition 4が１（真）であるか否かを判定する。条件Condition 4が０（偽）であると判定された場合、すなわち、適応プライマリ変換フラグを復号しないと判定された場合、処理はステップＳ７３５に進む。
【０８０９】
ステップＳ７３５において、適応プライマリ変換フラグ復号部５１１は、適応プライマリ変換フラグapt_flagの復号をスキップする。この場合、適応プライマリ変換フラグ復号部５１１は、適応プライマリ変換を実施しないと解釈し、そのことを示す値（０）を、適応プライマリ変換フラグapt_flagへ設定する（apt_flag=0）。復号処理が終了し、処理は図１３に戻る。
【０８１０】
つまり、適応プライマリ変換フラグの符号化条件を満たさないのであれば、適応プライマリ変換フラグapt_flagは符号化側から伝送されないので、適応プライマリ変換フラグ復号部５１１は、適応プライマリ変換フラグapt_flagの符号化データの復号をスキップする。このようにすることにより、冗長な情報の復号をスキップすることができるので、復号処理の負荷の増大を抑制することができるとともに、符号化効率の低減を抑制することができる。
【０８１１】
ステップＳ７３５の処理が終了すると、復号処理が終了し、処理は図１３に戻る。また、ステップＳ７３４において、条件condition 2が１（真）であると判定された場合、すなわち、変換スキップフラグを復号すると判定された場合、処理はステップＳ７３６に進む。
【０８１２】
ステップＳ７３６において、適応プライマリ変換フラグ復号部５１１は、適応プライマリ変換フラグapt_flagの符号化データを復号する。ステップＳ７３６の処理が終了すると、復号処理が終了し、処理は図１３に戻る。
【０８１３】
以上のように復号処理を実行することにより、画像復号装置２００は、変換量子化バイパスを適用する場合、または、変換スキップを適用する場合に、適応プライマリ変換フラグapt_flagの復号処理をスキップすることができる。すなわち、適応プライマリ変換フラグapt_flagの復号に係る処理量および符号量を低減することができる。
【０８１４】
なお、上述した復号処理は、実施可能な範囲で、各ステップの処理順の入れ替えや、処理の内容を変更してよい。また、上述したシンタックスや条件式（７９）乃至（８２）は、実施可能な範囲で演算を変更可能である。
【０８１５】
＜９．第９の実施の形態＞
＜情報のデータ単位＞
以上において説明した画像に関する情報や画像の符号化・復号に関する情報が設定される（または対象とするデータの）データ単位は、それぞれ任意であり、上述した例に限定されない。例えば、これらの情報が、それぞれ、TU、TB、PU、PB、CU、LCU、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報毎に設定される。つまり、全ての情報が同一のデータ単位毎に設定される（または対象とする）ようにしなくてもよい。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
【０８１６】
＜制御情報＞
以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可（または禁止）するか否かを制御する制御情報（例えばenabled_flag）を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可（または禁止）するブロックサイズの上限若しくは下限、またはその両方を指定する制御情報を伝送するようにしてもよい。
【０８１７】
＜符号化・復号＞
本技術は、プライマリ変換、セカンダリ変換、および符号化（復号、逆セカンダリ変換、および逆プライマリ変換）を行う任意の画像符号化・復号に適用することができる。つまり、変換（逆変換）、量子化（逆量子化）、符号化（復号）、予測等の仕様は任意であり、上述した例に限定されない。例えば、変換（逆変換）において、（逆）プライマリ変換および（逆）セカンダリ変換以外の（逆）変換（すなわち３以上の（逆）変換）が行われるようにしてもよい。また、符号化（復号）は、可逆な方式であってもよいし、非可逆な方式であってもよい。さらに、量子化（逆量子化）や予測等は省略するようにしてもよい。また、フィルタ処理等の上述していない処理が行われるようにしてもよい。
【０８１８】
例えば、ループ内フィルタとして、デブロッキングフィルタ、サンプル適応オフセット（SAO; Sample Adaptive Offset)や適応ループフィルタ（ALF; Adaptive Loop Filter）を適用してもよい。なお、ロスレス符号化を行う場合、画像符号化装置１００では、変換量子化バイパス有効フラグtransquant_bypass_enabled_flagを１にして符号化し、所定単位毎（例えば、ＣＴＵやＣＵ）に変換量子化バイパスフラグtransquant_bypass_flagを１として符号化する。従って、所定単位毎の変換量子化バイパスフラグtransquant_bypass_flagが１である場合、復号画像を修正する作用があるフィルタやループ内フィルタ（デブロッキングフィルタ、サンプル適応オフセット、適応ループフィルタ）の処理を省略することが必要である。また、所定単位毎の変換量子化バイパスフラグtransquant_bypass_flagが１である場合、復号画像を修正する作用があるフィルタやループ内フィルタ（デブロッキングフィルタ、サンプル適応オフセット、適応ループフィルタ）に関する所定単位毎のシンタックス要素の符号化を省略することで、冗長な符号量を削減することができる。例えば、適応ループフィルタであれば、フィルタ係数やフィルタ処理のオンオフフラグなどのシンタックス要素の符号化を省略する。
【０８１９】
同様にして、ロスレス符号化された符号化データを復号する画像復号装置２００では、変換量子化バイパス有効フラグtransquant_bypass_enabled_flagを復号し、所定単位毎（例えば、ＣＴＵやＣＵ）に変換量子化バイパスフラグtransquant_bypass_flagを復号する。従って、所定単位毎の変換量子化バイパスフラグtransquant_bypass_flagが１である場合、復号画像を修正する作用があるフィルタやループ内フィルタ（デブロッキングフィルタ、サンプル適応オフセット、適応ループフィルタ）の処理を省略することが必要である。また、所定単位毎の変換量子化バイパスフラグtransquant_bypass_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デバイス１６１４）やクラウドサービス１６０１が、それぞれ、上述した画像符号化装置１００や画像復号装置２００の機能を有するようにしてもよい。このようにすることにより、画像データを授受する端末やクラウドサービス１６０１は、符号化効率の低減を抑制することができる。
【０９６０】
＜その他＞
なお、符号化データ（ビットストリーム）に関する各種情報は、符号化データに多重化されて伝送され又は記録されるようにしてもよいし、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る（リンクさせ得る）ようにすることを意味する。つまり、互いに関連付けられたデータは、１つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【０９６１】
また、上述したように、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを１つのデータにまとめるといった、複数の物を１つにまとめることを意味し、上述の「関連付ける」の１つの方法を意味する。
【０９６２】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０９６３】
例えば、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０９６４】
また、例えば、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０９６５】
また、例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０９６６】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能（機能ブロック等）を有し、必要な情報を得ることができるようにすればよい。
【０９６７】
また、例えば、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０９６８】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【０９６９】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術を、他の実施の形態において説明した本技術と組み合わせて実施することもできる。また、上述した任意の本技術を、上述していない他の技術と併用して実施することもできる。
【０９７０】
なお、本技術は以下のような構成も取ることができる。
（１）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換をスキップさせる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換もスキップさせる制御部
を備える画像処理装置。
（２）  前記制御部は、前記プライマリ変換のスキップに関する第１の情報が前記プライマリ変換のスキップを示す場合、前記プライマリ変換および前記セカンダリ変換をスキップさせる
（１）に記載の画像処理装置。
（３）  前記制御部は、前記第１の情報が前記プライマリ変換の実行を示す場合、前記プライマリ変換を実行させ、前記セカンダリ変換の内容に関する第２の情報が前記セカンダリ変換のスキップを示すとき、前記セカンダリ変換をスキップさせる
（１）または（２）に記載の画像処理装置。
（４）  前記プライマリ変換は直交変換である
（１）乃至（３）のいずれかに記載の画像処理装置。
（５）  前記セカンダリ変換は、
前記プライマリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（１）乃至（４）のいずれかに記載の画像処理装置。
（６）  前記制御部の制御に従って前記プライマリ変換を行うプライマリ変換部と、
前記制御部の制御に従って前記セカンダリ変換を行うセカンダリ変換部と
をさらに備える（１）乃至（５）のいずれかに記載の画像処理装置。
（７）  前記セカンダリ変換部により前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数または前記予測残差に対して量子化を行う量子化部と、
前記量子化部により前記セカンダリ変換係数または前記予測残差が量子化されて得られる量子化変換係数レベルを符号化する符号化部と
をさらに備える（１）乃至（６）のいずれかに記載の画像処理装置。
（８）  前記制御部は、前記プライマリ変換のスキップに関する第１の情報が前記プライマリ変換のスキップを示す場合、前記プライマリ変換および前記セカンダリ変換をスキップさせ、
前記量子化部は、前記予測残差に対して量子化を行い、
前記符号化部は、前記量子化変換係数レベルおよび前記第１の情報を符号化し、前記量子化変換係数レベルの符号化データおよび前記第１の情報の符号化データを含むビットストリームを生成する
（１）乃至（７）のいずれかに記載の画像処理装置。
（９）  前記予測画像を生成する予測部をさらに備える
（１）乃至（８）のいずれかに記載の画像処理装置。
（１０）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換をスキップさせる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換もスキップさせる
画像処理方法。
【０９７１】
（１１）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換をスキップさせる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換もスキップさせる制御部
を備える画像処理装置。
（１２）  前記制御部は、前記逆プライマリ変換のスキップに関する第１の情報が前記逆プライマリ変換のスキップを示す場合、前記逆プライマリ変換および前記逆セカンダリ変換をスキップさせる
（１１）に記載の画像処理装置。
（１３）  前記制御部は、前記第１の情報が前記逆プライマリ変換の実行を示し、かつ、前記逆セカンダリ変換の内容に関する第２の情報が前記逆セカンダリ変換のスキップを示す場合、前記逆セカンダリ変換をスキップさせて、前記逆プライマリ変換を実行させる
（１１）または（１２）に記載の画像処理装置。
（１４）  前記逆プライマリ変換は逆直交変換である
（１１）乃至（１３）のいずれかに記載の画像処理装置。
（１５）  前記逆セカンダリ変換は、
符号化データが復号され、逆量子化されて得られるセカンダリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（１１）乃至（１４）のいずれかに記載の画像処理装置。
（１６）  前記制御部の制御に従って前記逆プライマリ変換を行う逆プライマリ変換部と、
前記制御部の制御に従って前記逆セカンダリ変換を行う逆セカンダリ変換部と
をさらに備える（１１）乃至（１５）のいずれかに記載の画像処理装置。
（１７）  符号化データを復号する復号部と、
前記復号部により前記符号化データが復号されて得られる量子化変換係数レベルを逆量子化する逆量子化部と
をさらに備え、
前記逆セカンダリ変換部は、前記逆量子化部により前記量子化変換係数レベルが逆量子化されて得られるセカンダリ変換係数に対して前記逆セカンダリ変換を行い、
前記逆プライマリ変換部は、前記逆セカンダリ変換部により前記セカンダリ変換係数が前記逆セカンダリ変換されて得られる前記プライマリ変換係数に対して前記逆プライマリ変換を行う
（１１）乃至（１６）のいずれかに記載の画像処理装置。
（１８）  前記復号部は、ビットストリームより、前記量子化変換係数レベルの符号化データと、前記逆プライマリ変換のスキップに関する第１の情報の符号化データとを取得して復号し、
前記制御部は、前記復号部により復号されて得られる前記第１の情報が前記プライマリ変換のスキップを示す場合、前記逆プライマリ変換および前記逆セカンダリ変換をスキップさせる
（１１）乃至（１７）のいずれかに記載の画像処理装置。
（１９）  前記予測画像を生成する予測部をさらに備える
（１１）乃至（１８）のいずれかに記載の画像処理装置。
（２０）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換をスキップさせる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換もスキップさせる
画像処理方法。
【０９７２】
（２１）  画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対してセカンダリ変換が行われる場合、前記プライマリ変換のスキップに関する第１の情報の符号化をスキップする符号化部
を備える画像処理装置。
（２２）  前記符号化部は、前記セカンダリ変換の内容に関する第２の情報が前記セカンダリ変換の実行を示す場合、前記第１の情報の符号化をスキップする
（２１）に記載の画像処理装置。
（２３）  前記符号化部は、
前記プライマリ変換、前記セカンダリ変換、および、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する量子化のスキップに関する第３の情報が前記プライマリ変換、前記セカンダリ変換、および前記量子化の実行を示し、
前記第２の情報が前記セカンダリ変換のスキップを示し、
前記プライマリ変換のスキップの許可に関する第４の情報が前記プライマリ変換のスキップの許可を示し、
かつ、処理対象の変換ブロックのサイズが、前記プライマリ変換のスキップが許可される変換ブロックの最大サイズ以下である場合、
前記第１の情報を符号化する
（２１）または（２２）に記載の画像処理装置。
（２４）  前記プライマリ変換は直交変換である
（２１）乃至（２３）のいずれかに記載の画像処理装置。
（２５）  前記セカンダリ変換は、
前記プライマリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（２１）乃至（２４）のいずれかに記載の画像処理装置。
（２６）  前記プライマリ変換を行うプライマリ変換部と、
前記セカンダリ変換を行うセカンダリ変換部と、
前記セカンダリ変換部により前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数または前記予測残差に対して量子化を行う量子化部と
をさらに備え、
前記符号化部は、前記量子化部により前記セカンダリ変換係数または前記予測残差が量子化されて得られる量子化変換係数レベルを符号化し、前記量子化変換係数レベルの符号化データを含むビットストリームを生成する
（２１）乃至（２５）のいずれかに記載の画像処理装置。
（２７）  前記符号化部は、前記第１の情報の符号化を行う場合、さらに、前記第１の情報を符号化し、生成した前記第１の情報の符号化データを前記ビットストリームに含める
（２１）乃至（２６）のいずれかに記載の画像処理装置。
（２８）  前記符号化部は、さらに、前記セカンダリ変換の内容に関する第２の情報を符号化し、生成した前記第２の情報の符号化データを前記ビットストリームに含める
（２１）乃至（２７）のいずれかに記載の画像処理装置。
（２９）  前記予測画像を生成する予測部をさらに備える
（２１）乃至（２８）のいずれかに記載の画像処理装置。
（３０）  画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対してセカンダリ変換が行われる場合、前記プライマリ変換のスキップに関する第１の情報の符号化をスキップする
画像処理方法。
【０９７３】
（３１）  画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換が行われる場合、前記プライマリ変換の逆変換である逆プライマリ変換のスキップに関する第１の情報の符号化データの復号をスキップする復号部
画像処理装置。
（３２）  前記復号部は、前記逆セカンダリ変換の内容に関する第２の情報が前記逆セカンダリ変換の実行を示す場合、前記第１の情報の符号化データの復号をスキップする
（３１）に記載の画像処理装置。
（３３）  前記復号部は、前記第１の情報の符号化データの復号をスキップする場合、前記第１の情報が前記逆プライマリ変換の実行を示すと推定する
（３１）または（３２）に記載の画像処理装置。
（３４）  前記復号部は、
前記逆プライマリ変換、前記逆セカンダリ変換、および、符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化のスキップに関する第３の情報が前記逆プライマリ変換、前記逆セカンダリ変換、および前記逆量子化の実行を示し、
前記第２の情報が前記逆セカンダリ変換のスキップを示し、
前記逆プライマリ変換のスキップの許可に関する第４の情報が前記逆プライマリ変換のスキップの許可を示し、
かつ、処理対象の変換ブロックのサイズが、前記逆プライマリ変換のスキップが許可される変換ブロックの最大サイズ以下である場合、
前記第１の情報の符号化データを復号する
（３１）乃至（３３）のいずれかに記載の画像処理装置。
（３５）  前記復号部は、さらに、量子化変換係数レベルの符号化データを復号するように構成され、
前記復号部により前記符号化データが復号されて得られる前記量子化変換係数レベルを逆量子化する逆量子化部をさらに備える
（３１）乃至（３４）のいずれかに記載の画像処理装置。
（３６）  前記逆セカンダリ変換を行う逆セカンダリ変換部と、
前記逆プライマリ変換を行う逆プライマリ変換部と
をさらに備える（３１）乃至（３５）のいずれかに記載の画像処理装置。
（３７）  前記逆プライマリ変換は逆直交変換である
（３１）乃至（３６）のいずれかに記載の画像処理装置。
（３８）  前記逆セカンダリ変換は、
符号化データが復号され、逆量子化されて得られるセカンダリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（３１）乃至（３７）のいずれかに記載の画像処理装置。
（３９）  前記予測画像を生成する予測部をさらに備える
（３１）乃至（３８）のいずれかに記載の画像処理装置。
（４０）  画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換が行われる場合、前記プライマリ変換の逆変換である逆プライマリ変換のスキップに関する第１の情報の符号化データの復号をスキップする
画像処理方法。
【０９７４】
（４１）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換がスキップされる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする符号化部
を備える画像処理装置。
（４２）  前記符号化部は、前記プライマリ変換のスキップに関する第２の情報が前記プライマリ変換のスキップを示す場合、前記第１の情報の符号化をスキップする
（４１）に記載の画像処理装置。
（４３）  前記符号化部は、
前記セカンダリ変換の許可に関する第３の情報が前記セカンダリ変換の許可を示し、
前記プライマリ変換、前記セカンダリ変換、および、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する量子化のスキップに関する第４の情報が前記プライマリ変換、前記セカンダリ変換、および前記量子化の実行を示し、
前記第２の情報が前記プライマリ変換の実行を示し、
かつ、処理対象の変換ブロック内の非ゼロ係数の総数が所定の閾値以上である場合、
前記第１の情報を符号化する
（４１）または（４２）に記載の画像処理装置。
（４４）  前記プライマリ変換は直交変換である
（４１）乃至（４３）のいずれかに記載の画像処理装置。
（４５）  前記セカンダリ変換は、
前記プライマリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（４１）乃至（４４）のいずれかに記載の画像処理装置。
（４６）  前記プライマリ変換を行うプライマリ変換部と、
前記セカンダリ変換を行うセカンダリ変換部と、
前記セカンダリ変換部により前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数または前記予測残差に対して量子化を行う量子化部と
をさらに備え、
前記符号化部は、前記量子化部により前記セカンダリ変換係数または前記予測残差が量子化されて得られる量子化変換係数レベルを符号化し、前記量子化変換係数レベルの符号化データを含むビットストリームを生成する
（４１）乃至（４５）のいずれかに記載の画像処理装置。
（４７）  前記符号化部は、前記第１の情報の符号化を行う場合、さらに、前記第１の情報を符号化し、生成した前記第１の情報の符号化データを前記ビットストリームに含める
（４１）乃至（４６）のいずれかに記載の画像処理装置。
（４８）  前記符号化部は、前記プライマリ変換のスキップに関する第２の情報の符号化を行う場合、さらに、前記第２の情報を符号化し、生成した前記第２の情報の符号化データを前記ビットストリームに含める
（４１）乃至（４７）のいずれかに記載の画像処理装置。
（４９）  前記予測画像を生成する予測部をさらに備える
（４１）乃至（４８）のいずれかに記載の画像処理装置。
（５０）  前記復号部は、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックの水平方向のサイズおよび垂直方向のサイズに基づいて、前記逆プライマリ変換のスキップに関する逆プライマリ変換スキップ情報の復号をスキップする
ように構成された
（４１）乃至（４９）のいずれかに記載の画像処理装置。
（５１）  前記復号部は、前記変換ブロックの水平方向および垂直方向のサイズのうちの大きい方が所定値より大きい場合、前記逆プライマリ変換スキップ情報の復号をスキップする
ように構成された
（５０）に記載の画像処理装置。
（５２）  前記復号部は、前記変換ブロックの水平方向と垂直方向のサイズの和または積が所定値より大きい場合、前記逆プライマリ変換スキップ情報の復号をスキップする
ように構成された
（５０）に記載の画像処理装置。
（５３）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換がスキップされる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする
画像処理方法。
【０９７５】
（５４）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換がスキップされる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする復号部
を備える画像処理装置。
（５５）  前記復号部は、前記逆プライマリ変換のスキップに関する第２の情報が前記逆プライマリ変換のスキップを示す場合、前記第１の情報の符号化データの復号をスキップする
（５４）に記載の画像処理装置。
（５６）  前記復号部は、前記第１の情報の符号化データの復号をスキップする場合、前記第１の情報が前記逆セカンダリ変換のスキップを示すと推定する
（５４）または（５５）に記載の画像処理装置。
（５７）  前記復号部は、
前記逆セカンダリ変換の許可に関する第３の情報が前記逆セカンダリ変換の許可を示し、
前記逆プライマリ変換、前記逆セカンダリ変換、および、符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化のスキップに関する第４の情報が前記プライマリ変換、前記セカンダリ変換、および前記量子化の実行を示し、
前記第２の情報が前記プライマリ変換の実行を示し、
かつ、処理対象の変換ブロック内の非ゼロ係数の総数が所定の閾値以上である場合、
前記第１の情報の符号化データを復号する
（５４）乃至（５６）のいずれかに記載の画像処理装置。
（５８）  前記復号部は、さらに、量子化変換係数レベルの符号化データを復号するように構成され、
前記復号部により前記符号化データが復号されて得られる前記量子化変換係数レベルを逆量子化する逆量子化部をさらに備える
（５４）乃至（５７）のいずれかに記載の画像処理装置。
（５９）  前記逆セカンダリ変換を行う逆セカンダリ変換部と、
前記逆プライマリ変換を行う逆プライマリ変換部と
をさらに備える（５４）乃至（５８）のいずれかに記載の画像処理装置。
（６０）  前記逆プライマリ変換は逆直交変換である
（５４）乃至（５９）のいずれかに記載の画像処理装置。
（６１）  前記逆セカンダリ変換は、
符号化データが復号され、逆量子化されて得られるセカンダリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（５４）乃至（６０）のいずれかに記載の画像処理装置。
（６２）  前記予測画像を生成する予測部をさらに備える
（５４）乃至（６１）のいずれかに記載の画像処理装置。
（６３）  前記復号部は、前記逆プライマリ変換および前記逆セカンダリ変換の変換ブロックの水平方向のサイズおよび垂直方向のサイズに基づいて、前記逆プライマリ変換のスキップに関する逆プライマリ変換スキップ情報の復号をスキップする
ように構成された
（５４）乃至（６２）のいずれかに記載の画像処理装置。
（６４）  前記復号部は、前記変換ブロックの水平方向および垂直方向のサイズのうちの大きい方が所定値より大きい場合、前記逆プライマリ変換スキップ情報の復号をスキップする
ように構成された
（６３）に記載の画像処理装置。
（６５）  前記復号部は、前記変換ブロックの水平方向と垂直方向のサイズの和または積が所定値より大きい場合、前記逆プライマリ変換スキップ情報の復号をスキップする
ように構成された
（６３）に記載の画像処理装置。
（６６）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換の逆変換である逆プライマリ変換がスキップされる場合、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする
画像処理方法。
【０９７６】
（６７）  処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする符号化部
を備える画像処理装置。
（６８）  前記符号化部は、処理対象の変換ブロックに含まれる前記非ゼロ係数の総数を求め、前記総数を前記変換ブロックのサブブロック数で除算することにより、前記平均値を求める
（６７）に記載の画像処理装置。
（６９）  前記符号化部は、
前記セカンダリ変換の許可に関する第２の情報が前記セカンダリ変換の許可を示し、
前記プライマリ変換、前記セカンダリ変換、および、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する量子化のスキップに関する第３の情報が前記プライマリ変換、前記セカンダリ変換、および前記量子化の実行を示し、
前記プライマリ変換のスキップに関する第４の情報が前記プライマリ変換の実行を示し、
かつ、前記平均値が前記閾値以上である場合、
前記第１の情報を符号化する
（６７）または（６８）に記載の画像処理装置。
（７０）  前記プライマリ変換は直交変換である
（６７）乃至（６９）のいずれかに記載の画像処理装置。
（７１）  前記セカンダリ変換は、
前記プライマリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（６７）乃至（７０）のいずれかに記載の画像処理装置。
（７２）  前記プライマリ変換を行うプライマリ変換部と、
前記セカンダリ変換を行うセカンダリ変換部と
をさらに備える（６７）乃至（７１）のいずれかに記載の画像処理装置。
（７３）  前記セカンダリ変換部により前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数または前記予測残差に対して量子化を行う量子化部と
をさらに備え、
前記符号化部は、前記量子化部により前記セカンダリ変換係数または前記予測残差が量子化されて得られる量子化変換係数レベルを符号化し、前記量子化変換係数レベルの符号化データを含むビットストリームを生成する
（６７）乃至（７２）のいずれかに記載の画像処理装置。
（７４）  前記符号化部は、前記第１の情報の符号化を行う場合、さらに、前記第１の情報を符号化し、生成した前記第１の情報の符号化データを前記ビットストリームに含める
（６７）乃至（７３）のいずれかに記載の画像処理装置。
（７５）  前記予測画像を生成する予測部をさらに備える
（６７）乃至（７４）のいずれかに記載の画像処理装置。
（７６）  処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換のスキップに関する第１の情報の符号化をスキップする
画像処理方法。
【０９７７】
（７７）  処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする復号部
を備える画像処理装置。
（７８）  前記復号部は、処理対象の変換ブロックに含まれる前記非ゼロ係数の総数を求め、前記総数を前記変換ブロックのサブブロック数で除算することにより、前記平均値を求める
（７７）に記載の画像処理装置。
（７９）  前記復号部は、前記第１の情報の符号化データの復号をスキップする場合、前記第１の情報が前記逆セカンダリ変換のスキップを示すと推定する
（７７）または（７８）に記載の画像処理装置。
（８０）  前記復号部は、
前記セカンダリ変換の許可に関する第２の情報が前記セカンダリ変換の許可を示し、
前記プライマリ変換、前記セカンダリ変換、および、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する量子化のスキップに関する第３の情報が前記プライマリ変換、前記セカンダリ変換、および前記量子化の実行を示し、
前記プライマリ変換のスキップに関する第４の情報が前記プライマリ変換の実行を示し、
かつ、前記平均値が前記閾値以上である場合、
前記第１の情報の符号化データを復号する
（７７）乃至（７９）のいずれかに記載の画像処理装置。
（８１）  前記復号部は、さらに、量子化変換係数レベルの符号化データを復号するように構成され、
前記復号部により前記符号化データが復号されて得られる前記量子化変換係数レベルを逆量子化する逆量子化部をさらに備える
（７７）乃至（８０）のいずれかに記載の画像処理装置。
（８２）  前記逆セカンダリ変換を行う逆セカンダリ変換部と、
前記逆プライマリ変換を行う逆プライマリ変換部と
をさらに備える（７７）乃至（８１）のいずれかに記載の画像処理装置。
（８３）  前記逆プライマリ変換は逆直交変換である
（７７）乃至（８２）のいずれかに記載の画像処理装置。
（８４）  前記逆セカンダリ変換は、
符号化データが復号され、逆量子化されて得られるセカンダリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（７７）乃至（８３）のいずれかに記載の画像処理装置。
（８５）  前記予測画像を生成する予測部をさらに備える
（７７）乃至（８４）のいずれかに記載の画像処理装置。
（８６）  処理対象の変換ブロックに含まれる非ゼロ係数の数の、サブブロック単位の平均値が閾値より少ない場合、画像と前記画像の予測画像との差分である予測残差がプライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換の逆変換である逆セカンダリ変換のスキップに関する第１の情報の符号化データの復号をスキップする
画像処理方法。
【０９７８】
（８７）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合、前記プライマリ変換の内容を示す第１の情報の符号化をスキップする符号化部
を備える画像処理装置。
（８８）  前記符号化部は、前記プライマリ変換、前記セカンダリ変換、および、前記量子化のスキップに関する第２の情報が前記プライマリ変換、前記セカンダリ変換、および前記量子化のスキップを示す場合、前記第１の情報の符号化をスキップする
（８７）に記載の画像処理装置。
（８９）  前記符号化部は、
前記プライマリ変換の許可に関する第３の情報が前記プライマリ変換の許可を示し、
前記第２の情報が前記プライマリ変換、前記セカンダリ変換、および前記量子化の実行を示し、
前記プライマリ変換のスキップに関する第４の情報が前記プライマリ変換の実行を示し、
かつ、処理対象の変換ブロック内の非ゼロ係数の総数が所定の閾値以上である場合、
前記第１の情報を符号化する
（８７）または（８８）に記載の画像処理装置。
（９０）  前記符号化部は、前記第１の情報を、トランケーテッド・ユーナリー２値化を用いて２値化し、符号化する
（８７）乃至（８９）のいずれかに記載の画像処理装置。
（９１）  前記符号化部は、前記第１の情報の値を前記画像の予測モードに応じた値に設定する
（８７）乃至（９０）のいずれかに記載の画像処理装置。
（９２）  前記符号化部は、前記画像の予測がインター予測の場合、前記第１の情報の値を、前記第１の情報の最大値から前記第１の情報の値を減算した値に変更する
（８７）乃至（９１）のいずれかに記載の画像処理装置。
（９３）  前記符号化部は、２値化した前記第１の情報の先頭のbinを、コンテキストを用いるレギュラーモードで算術符号化し、残りのbinを、コンテキストを用いないバイパスモードで算術符号化する
（８７）乃至（９２）のいずれかに記載の画像処理装置。
（９４）  前記プライマリ変換は直交変換であり、
前記セカンダリ変換は、
前記プライマリ変換係数を１次元のベクトルに変換し、
前記１次元のベクトルに対する行列演算を行い、
前記行列演算が行われた前記１次元のベクトルのスケーリングを行い、
スケーリングされた前記１次元のベクトルを行列化する
変換処理である
（８７）乃至（９３）のいずれかに記載の画像処理装置。
（９５）  前記プライマリ変換を行うプライマリ変換部と、
前記セカンダリ変換を行うセカンダリ変換部と、
前記セカンダリ変換係数または前記予測残差に対して量子化を行う量子化部と
をさらに備え、
前記符号化部は、
前記量子化部により前記セカンダリ変換係数または前記予測残差が量子化されて得られる量子化変換係数レベルを符号化し、前記量子化変換係数レベルの符号化データを含むビットストリームを生成し、
前記第１の情報の符号化を行う場合、さらに、前記第１の情報の符号化データを前記ビットストリームに含める
（８７）乃至（９４）のいずれかに記載の画像処理装置。
（９６）  画像と前記画像の予測画像との差分である予測残差に対する変換処理であるプライマリ変換、前記予測残差が前記プライマリ変換されて得られるプライマリ変換係数に対する変換処理であるセカンダリ変換、および、前記プライマリ変換係数が前記セカンダリ変換されて得られるセカンダリ変換係数に対する量子化がスキップされる場合、前記プライマリ変換の内容を示す第１の情報の符号化をスキップする
画像処理方法。
【０９７９】
（９７）  符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、前記量子化変換係数レベルが前記逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、前記プライマリ変換係数を画像と前記画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、前記逆プライマリ変換の内容に関する第１の情報の符号化データの復号をスキップする復号部
を備える画像処理装置。
（９８）  前記復号部は、前記逆量子化、前記逆セカンダリ変換、および、前記逆プライマリ変換のスキップに関する第２の情報が前記逆量子化、前記逆セカンダリ変換、および前記逆プライマリ変換のスキップを示す場合、前記第１の情報の符号化データの復号をスキップする
（９７）に記載の画像処理装置。
（９９）  前記復号部は、前記第１の情報の符号化データの復号をスキップする場合、前記第１の情報が、水平方向の逆プライマリ変換および垂直方向の逆プライマリ変換に所定の直交変換を用いることを示すと推定する
（９７）または（９８）に記載の画像処理装置。
（１００）  前記復号部は、
前記逆プライマリ変換の許可に関する第３の情報が前記逆プライマリ変換の許可を示し、
前記第２の情報が前記逆量子化、前記逆セカンダリ変換、および前記逆プライマリ変換の実行を示し、
前記逆プライマリ変換のスキップに関する第４の情報が前記逆プライマリ変換の実行を示し、
かつ、処理対象の変換ブロック内の非ゼロ係数の総数が所定の閾値以上である場合、
前記第１の情報の符号化データを復号する
（９７）乃至（９９）のいずれかに記載の画像処理装置。
（１０１）  前記復号部は、前記第１の情報の符号化データを算術復号し、得られたbinをトランケーテッド・ユーナリー２値化を用いて多値化して、前記第１の情報を得る
（９７）乃至（１００）のいずれかに記載の画像処理装置。
（１０２）  前記復号部は、復号して得られた前記第１の情報の値を前記画像の予測モードに応じた値に設定する
（９７）乃至（１０１）のいずれかに記載の画像処理装置。
（１０３）  前記復号部は、前記画像の予測がインター予測の場合、前記第１の情報の値を、前記第１の情報の最大値から前記第１の情報の値を減算した値に変更する
（９７）乃至（１０２）のいずれかに記載の画像処理装置。
（１０４）  前記復号部は、前記第１の情報の符号化データの先頭のbinを、コンテキストを用いるレギュラーモードで算術復号し、残りのbinを、コンテキストを用いないバイパスモードで算術復号する
（９７）乃至（１０３）のいずれかに記載の画像処理装置。
（１０５）  前記復号部は、さらに、前記量子化変換係数レベルの符号化データを復号するように構成され、
前記復号部により前記符号化データが復号されて得られる前記量子化変換係数レベルを前記逆量子化する逆量子化部と、
前記逆量子化部により前記量子化変換係数レベルが前記逆量子化されて得られる前記セカンダリ変換係数に対して前記逆セカンダリ変換を行う逆セカンダリ変換部と、
前記逆セカンダリ変換部により前記セカンダリ変換係数が前記逆セカンダリ変換されて得られる前記プライマリ変換係数に対して前記逆プライマリ変換を行う逆プライマリ変換部と
をさらに備える（９７）乃至（１０４）のいずれかに記載の画像処理装置。
（１０６）  符号化データが復号されて得られる量子化変換係数レベルに対する逆量子化、前記量子化変換係数レベルが前記逆量子化されて得られるセカンダリ変換係数をプライマリ変換係数に変換する逆セカンダリ変換、および、前記プライマリ変換係数を画像と前記画像の予測画像との差分である予測残差に変換する逆プライマリ変換がスキップされる場合、前記逆プライマリ変換の内容に関する第１の情報の符号化データの復号をスキップする
画像処理方法。
【０９８０】
（１１１）  画像データより得られる情報を符号化し、前記画像データに対する変換処理および量子化をスキップする場合、適応プライマリ変換を実施するか否かを示す適応プライマリ変換情報の符号化をスキップする符号化部
を備える画像処理装置。
（１１２）  前記符号化部は、前記画像データの輝度成分に対する前記変換処理および前記量子化をスキップする場合、前記画像データの輝度成分に対する前記適応プライマリ変換情報の符号化をスキップする
（１１１）に記載の画像処理装置。
（１１３）  前記符号化部は、色成分毎に、前記適応プライマリ変換情報を符号化するか否かを設定する
（１１１）に記載の画像処理装置。
（１１４）  前記符号化部は、さらに、前記画像データに対して前記適応プライマリ変換を実施する場合、前記画像データに対する前記変換処理をスキップするか否かを示す変換スキップ情報の符号化をスキップする
（１１１）乃至（１１３）のいずれかに記載の画像処理装置。
（１１５）  前記符号化部は、色成分毎に、前記変換スキップ情報を符号化するか否かを設定する
（１１４）に記載の画像処理装置。
（１１６）  前記符号化部は、前記画像データの輝度成分に対する前記適応プライマリ変換を実施する場合、前記画像データの輝度成分に対する前記変換スキップ情報の符号化をスキップする
（１１４）に記載の画像処理装置。
（１１７）  画像データより得られる情報を符号化し、前記画像データに対する変換処理および量子化をスキップする場合、適応プライマリ変換を実施するか否かを示す適応プライマリ変換情報の符号化をスキップする
画像処理方法。
【０９８１】
（１２１）  画像データより得られる情報が符号化された符号化データを復号し、前記符号化データ復号されたデータに対する逆変換処理および逆量子化をスキップする場合、逆適応プライマリ変換を実施するか否かを示す逆適応プライマリ変換情報の復号をスキップする復号部
を備える画像処理装置。
（１２２）  前記復号部は、前記画像データの輝度成分に関するデータに対する前記逆変換処理および前記逆量子化をスキップする場合、前記画像データの輝度成分に関するデータに対する前記逆適応プライマリ変換情報の復号をスキップする
（１２１）に記載の画像処理装置。
（１２３）  前記復号部は、色成分毎に、前記逆適応プライマリ変換情報を復号するか否かを設定する
（１２１）に記載の画像処理装置。
（１２４）  前記復号部は、さらに、前記データに対して前記逆適応プライマリ変換を実施する場合、前記データに対する前記逆変換処理をスキップするか否かを示す逆変換スキップ情報の復号をスキップする
（１２１）乃至（１２３）のいずれかに記載の画像処理装置。
（１２５）  前記復号部は、色成分毎に、前記逆変換スキップ情報を復号するか否かを設定する
（１２４）に記載の画像処理装置。
（１２６）  前記復号部は、前記画像データの輝度成分に関するデータに対する前記逆適応プライマリ変換を実施する場合、前記画像データの輝度成分に関するデータに対する前記逆変換スキップ情報の復号をスキップする
（１２４）に記載の画像処理装置。
（１２７）  画像データより得られる情報が符号化された符号化データを復号し、前記符号化データ復号されたデータに対する逆変換処理および逆量子化をスキップする場合、逆適応プライマリ変換を実施するか否かを示す逆適応プライマリ変換情報の復号をスキップする
画像処理方法。
【０９８２】
（１３１）  画像データより得られる情報を符号化し、前記画像データに対する変換処理および量子化をスキップする場合、前記画像データに対する前記変換処理をスキップするか否かを示す変換スキップ情報の符号化をスキップする符号化部
を備える画像処理装置。
（１３２）  前記符号化部は、色成分毎に、前記変換スキップ情報を符号化するか否かを設定する
（１３１）に記載の画像処理装置。
（１３３）  前記符号化部は、さらに、適応プライマリ変換を実施するか否かを示す適応プライマリ変換情報の符号化をスキップする
（１３１）または（１３２）のいずれかに記載の画像処理装置。
（１３４）  前記符号化部は、前記画像データの輝度成分に対する前記適応プライマリ変換情報の符号化をスキップする
（１３３）に記載の画像処理装置。
（１３５）  前記符号化部は、色成分毎に、前記適応プライマリ変換情報を符号化するか否かを設定する
（１３３）に記載の画像処理装置。
（１３６）  画像データより得られる情報を符号化し、前記画像データに対する変換処理および量子化をスキップする場合、前記画像データに対する前記変換処理をスキップするか否かを示す変換スキップ情報の符号化をスキップする
画像処理方法。
【０９８３】
（１４１）  画像データより得られる情報が符号化された符号化データを復号し、前記符号化データ復号されたデータに対する逆変換処理および逆量子化をスキップする場合、前記符号化データ復号されたデータに対する逆変換処理をスキップするか否かを示す逆変換スキップ情報の復号をスキップする復号部
を備える画像処理装置。
（１４２）  前記復号部は、色成分毎に、前記逆変換スキップ情報を復号するか否かを設定する
（１４１）に記載の画像処理装置。
（１４３）  前記復号部は、さらに、逆適応プライマリ変換を実施するか否かを示す逆適応プライマリ変換情報の復号をスキップする
（１４１）または（１４２）のいずれかに記載の画像処理装置。
（１４４）  前記復号部は、前記画像データの輝度成分に関するデータに対する前記逆適応プライマリ変換情報の復号をスキップする
（１４３）に記載の画像処理装置。
（１４５）  前記復号部は、色成分毎に、前記逆適応プライマリ変換情報を復号するか否かを設定する
（１４３）に記載の画像処理装置。
（１４６）  画像データより得られる情報が符号化された符号化データを復号し、前記符号化データ復号されたデータに対する逆変換処理および逆量子化をスキップする場合、前記符号化データ復号されたデータに対する逆変換処理をスキップするか否かを示す逆変換スキップ情報の復号をスキップする
画像処理方法。
【符号の説明】
【０９８４】
１００  画像符号化装置，  １０１  制御部，  １１１  演算部，  １１２  変換部，  １１３  量子化部，  １１４  符号化部，  １１５  逆量子化部，  １１６  逆変換部，  １１７  演算部，  １１８  フレームメモリ，  １１９  予測部，  １３１  スイッチ，  １３２  プライマリ変換部，  １３３  セカンダリ変換部，  １４１  ラスタライズ部，  １４２  行列演算部，  １４３  スケーリング部，  １４４  行列化部，  １４５  セカンダリ変換選択部，  ２００  画像復号装置，  ２１１  復号部，  ２１２  逆量子化部，  ２１３  逆変換部，  ２１４  演算部，  ２１５  フレームメモリ，  ２１６  予測部，  ２３１  スイッチ，  ２３２  逆セカンダリ変換部，  ２３３  逆プライマリ変換部，  ２４１  ラスタライズ部，  ２４２  行列演算部，  ２４３  スケーリング部，  ２４４行列化部，  ２４５  逆セカンダリ変換選択部，  ３０１  セカンダリ変換有効フラグ符号化部，  ３０２  セカンダリ変換識別子符号化部，  ３０３  変換スキップ有効フラグ符号化部，  ３０４  最大変換スキップブロックサイズ符号化部，  ３０５  変換量子化バイパスフラグ符号化部，  ３０６  変換スキップフラグ符号化部，  ３１１  セカンダリ変換有効フラグ復号部，  ３１２  セカンダリ変換識別子復号部，  ３１３  変換スキップ有効フラグ復号部，  ３１４  最大変換スキップブロックサイズ復号部，  ３１５  変換量子化バイパスフラグ復号部，  ３１６  変換スキップフラグ復号部，  ３２１  セカンダリ変換フラグ符号化部，  ３３１  セカンダリ変換フラグ復号部，  ４０１  プライマリ変換有効フラグ符号化部，  ４０２  プライマリ変換識別子符号化部，  ４１１  プライマリ変換有効フラグ復号部，  ４１２  プライマリ変換識別子復号部，  ４６１  変換スキップフラグ復号部
【図１】
2017195476.tif 000018
【図２】
2017195476.tif 000019
【図３】
2017195476.tif 000020
【図４】
2017195476.tif 000021
【図５】
2017195476.tif 000022
【図６】
2017195476.tif 000023
【図７】
2017195476.tif 000024
【図８】
2017195476.tif 000025
【図９】
2017195476.tif 000026
【図１０】
2017195476.tif 000027
【図１１】
2017195476.tif 000028
【図１２】
2017195476.tif 000029
【図１３】
2017195476.tif 000030
【図１４】
2017195476.tif 000031
【図１５】
2017195476.tif 000032
【図１６】
2017195476.tif 000033
【図１７】
2017195476.tif 000034
【図１８】
2017195476.tif 000035
【図１９】
2017195476.tif 000036
【図２０】
2017195476.tif 000037
【図２１】
2017195476.tif 000038
【図２２】
2017195476.tif 000039
【図２３】
2017195476.tif 000040
【図２４】
2017195476.tif 000041
【図２５】
2017195476.tif 000042
【図２６】
2017195476.tif 000043
【図２７】
2017195476.tif 000044
【図２８】
2017195476.tif 000045
【図２９】
2017195476.tif 000046
【図３０】
2017195476.tif 000047
【図３１】
2017195476.tif 000048
【図３２】
2017195476.tif 000049
【図３３】
2017195476.tif 000050
【図３４】
2017195476.tif 000051
【図３５】
2017195476.tif 000052
【図３６】
2017195476.tif 000053
【図３７】
2017195476.tif 000054
【図３８】
2017195476.tif 000055
【図３９】
2017195476.tif 000056
【図４０】
2017195476.tif 000057
【図４１】
2017195476.tif 000058
【図４２】
2017195476.tif 000059
【図４３】
2017195476.tif 000060
【図４４】
2017195476.tif 000061
【図４５】
2017195476.tif 000062
【図４６】
2017195476.tif 000063
【図４７】
2017195476.tif 000064
【図４８】
2017195476.tif 000065
【図４９】
2017195476.tif 000066
【図５０】
2017195476.tif 000067
【図５１】
2017195476.tif 000068
【図５２】
2017195476.tif 000069
【図５３】
2017195476.tif 000070
【図５４】
2017195476.tif 000071
【図５５】
2017195476.tif 000072
【図５６】
2017195476.tif 000073
【図５７】
2017195476.tif 000074
【図５８】
2017195476.tif 000075
【図５９】
2017195476.tif 000076
【図６０】
2017195476.tif 000077
【図６１】
2017195476.tif 000078
【図６２】
2017195476.tif 000079
【図６３】
2017195476.tif 000080
【図６４】
2017195476.tif 000081
【図６５】
2017195476.tif 000082
【図６６】
2017195476.tif 000083
【図６７】
2017195476.tif 000084
【図６８】
2017195476.tif 000085
【図６９】
2017195476.tif 000086
【図７０】
2017195476.tif 000087
【図７１】
2017195476.tif 000088
【図７２】
2017195476.tif 000089
【図７３】
2017195476.tif 000090
【図７４】
2017195476.tif 000091
【図７５】
2017195476.tif 000092
【図７６】
2017195476.tif 000093
【図７７】
2017195476.tif 000094
【図７８】
2017195476.tif 000095
【国際調査報告】
2017195476.tif 000096
2017195476.tif 000097
2017195476.tif 000098
2017195476.tif 000099
2017195476.tif 000100
2017195476.tif 000101
2017195476.tif 000102
2017195476.tif 000103