(57)【要約】  第１符号化部は、映像に含まれる画像内の符号化対象ブロックに対するイントラ予測の角度を決定し、イントラ予測の角度を用いて符号化対象ブロックを符号化する。推定部は、符号化対象ブロックに隣接する符号化済み画素の局所復号画素値を用いて、角度の推定結果を示すビット値を生成する。生成部は、イントラ予測の角度を示すビット列を生成し、ビット列の一部のビット値が角度の推定結果を示すビット値と一致するか否かを示すフラグ情報を生成する。第２符号化部は、フラグ情報を第１符号化方式で符号化し、ビット列の残りのビット値を第２符号化方式で符号化する。
2019150435.tif 000002
【特許請求の範囲】
【請求項１】
映像に含まれる画像内の符号化対象ブロックに対するイントラ予測の角度を決定し、前記イントラ予測の角度を用いて前記符号化対象ブロックを符号化する第１符号化部と、
前記符号化対象ブロックに隣接する符号化済み画素の局所復号画素値を用いて、前記角度の推定結果を示すビット値を生成する推定部と、
前記イントラ予測の角度を示すビット列を生成し、前記ビット列の一部のビット値が前記角度の推定結果を示すビット値と一致するか否かを示すフラグ情報を生成する生成部と、
前記フラグ情報を第１符号化方式で符号化し、前記ビット列の残りのビット値を第２符号化方式で符号化する第２符号化部と、
を備えることを特徴とする映像符号化装置。
【請求項２】
前記第１符号化方式は、コンテキスト適応型２値算術符号化における可変の生起確率を用いた符号化方式であり、前記第２符号化方式は、前記コンテキスト適応型２値算術符号化における固定の生起確率を用いた符号化方式であることを特徴とする請求項１記載の映像符号化装置。
【請求項３】
前記ビット列の一部のビット値は、前記ビット列の最上位ビットのビット値であり、前記最上位ビットのビット値は、前記イントラ予測の角度が、前記イントラ予測における２つの角度範囲のうちいずれに属するかを示し、
前記フラグ情報は、前記最上位ビットのビット値が前記角度の推定結果を示すビット値と一致するか否かを示すことを特徴とする請求項１又は２記載の映像符号化装置。
【請求項４】
前記推定部は、前記画像内において前記符号化対象ブロックの水平方向の辺に隣接する符号化済み画素の局所復号画素値の変化の大きさを示す第１指標を計算し、前記画像内において前記符号化対象ブロックの垂直方向の辺に隣接する符号化済み画素の局所復号画素値の変化の大きさを示す第２指標を計算し、前記第１指標と前記第２指標とを比較することで、前記角度の推定結果を示すビット値を生成することを特徴とする請求項３記載の映像符号化装置。
【請求項５】
前記ビット列の一部のビット値は、前記ビット列の上位２ビットのビット値であり、前記上位２ビットのビット値は、前記イントラ予測の角度が、前記イントラ予測における４つの角度範囲のうちいずれに属するかを示し、
前記角度の推定結果を示すビット値は、２ビットのビット列のビット値であり、
前記フラグ情報は、前記上位２ビットのうち第１ビットのビット値が前記２ビットのビット列のうち第１ビットのビット値と一致するか否かを示す第１フラグと、前記上位２ビットのうち第２ビットのビット値が前記２ビットのビット列のうち第２ビットのビット値と一致するか否かを示す第２フラグとを含むことを特徴とする請求項１又は２記載の映像符号化装置。
【請求項６】
前記推定部は、前記画像内において前記符号化対象ブロックの水平方向の辺に隣接する符号化済み画素の局所復号画素値の変化の大きさを示す第１指標を計算し、前記画像内において前記符号化対象ブロックの垂直方向の辺に隣接する符号化済み画素の局所復号画素値の変化の大きさを示す第２指標を計算し、前記第１指標と前記第２指標とを比較することで、前記２ビットのビット列のうち第１ビットのビット値を生成し、前記画像内において前記符号化対象ブロックの水平方向又は垂直方向の辺に隣接する２列の符号化済み画素の局所復号画素値から、斜め方向における局所復号画素値の変化の大きさを示す第３指標を計算し、前記２列の符号化済み画素の局所復号画素値から、前記斜め方向と交差する斜め方向における局所復号画素値の変化の大きさを示す第４指標を計算し、前記第３指標と前記第４指標とを比較することで、前記２ビットのビット列のうち第２ビットのビット値を生成することを特徴とする請求項５記載の映像符号化装置。
【請求項７】
映像符号化装置が、
映像に含まれる画像内の符号化対象ブロックに対するイントラ予測の角度を決定し、
前記イントラ予測の角度を用いて前記符号化対象ブロックを符号化し、
前記符号化対象ブロックに隣接する符号化済み画素の局所復号画素値を用いて、前記角度の推定結果を示すビット値を生成し、
前記イントラ予測の角度を示すビット列を生成し、
前記ビット列の一部のビット値が前記角度の推定結果を示すビット値と一致するか否かを示すフラグ情報を生成し、
前記フラグ情報を第１符号化方式で符号化し、
前記ビット列の残りのビット値を第２符号化方式で符号化する、
ことを特徴とする映像符号化方法。
【請求項８】
映像に含まれる画像内の符号化対象ブロックに対するイントラ予測の角度を決定し、
前記イントラ予測の角度を用いて前記符号化対象ブロックを符号化し、
前記符号化対象ブロックに隣接する符号化済み画素の局所復号画素値を用いて、前記角度の推定結果を示すビット値を生成し、
前記イントラ予測の角度を示すビット列を生成し、
前記ビット列の一部のビット値が前記角度の推定結果を示すビット値と一致するか否かを示すフラグ情報を生成し、
前記フラグ情報を第１符号化方式で符号化し、
前記ビット列の残りのビット値を第２符号化方式で符号化する、
処理をコンピュータに実行させるための映像符号化プログラム。
【請求項９】
符号化映像を第１復号方式で復号して、前記符号化映像に含まれる画像内の復号対象ブロックに対するイントラ予測の角度を示すビット列の一部のビット値が、前記角度の推定結果を示すビット値と一致するか否かを示す、フラグ情報を復元し、前記符号化映像を第２復号方式で復号して、前記ビット列の残りのビット値を復元する第１復号部と、
前記復号対象ブロックに隣接する復号済み画素の復号画素値を用いて、前記角度の推定結果を示すビット値を生成する推定部と、
前記フラグ情報に基づいて、前記角度の推定結果を示すビット値から前記ビット列の一部のビット値を生成し、前記ビット列の一部のビット値と前記ビット列の残りのビット値とを用いて、前記イントラ予測の角度を求める生成部と、
前記イントラ予測の角度を用いて前記復号対象ブロックの係数情報を復号する第２復号部と、
を備えることを特徴とする映像復号装置。
【請求項１０】
前記第１復号方式は、コンテキスト適応型２値算術符号化における可変の生起確率を用いた復号方式であり、前記第２復号方式は、前記コンテキスト適応型２値算術符号化における固定の生起確率を用いた復号方式であることを特徴とする請求項９記載の映像復号装置。
【請求項１１】
前記ビット列の一部のビット値は、前記ビット列の最上位ビットのビット値であり、前記最上位ビットのビット値は、前記イントラ予測の角度が、前記イントラ予測における２つの角度範囲のうちいずれに属するかを示し、
前記フラグ情報は、前記最上位ビットのビット値が前記角度の推定結果を示すビット値と一致するか否かを示すことを特徴とする請求項９又は１０記載の映像復号装置。
【請求項１２】
前記推定部は、前記画像内において前記復号対象ブロックの水平方向の辺に隣接する復号済み画素の復号画素値の変化の大きさを示す第１指標を計算し、前記画像内において前記復号対象ブロックの垂直方向の辺に隣接する復号済み画素の復号画素値の変化の大きさを示す第２指標を計算し、前記第１指標と前記第２指標とを比較することで、前記角度の推定結果を示すビット値を生成することを特徴とする請求項１１記載の映像復号装置。
【請求項１３】
前記ビット列の一部のビット値は、前記ビット列の上位２ビットのビット値であり、前記上位２ビットのビット値は、前記イントラ予測の角度が、前記イントラ予測における４つの角度範囲のうちいずれに属するかを示し、
前記角度の推定結果を示すビット値は、２ビットのビット列のビット値であり、
前記フラグ情報は、前記上位２ビットのうち第１ビットのビット値が前記２ビットのビット列のうち第１ビットのビット値と一致するか否かを示す第１フラグと、前記上位２ビットのうち第２ビットのビット値が前記２ビットのビット列のうち第２ビットのビット値と一致するか否かを示す第２フラグとを含むことを特徴とする請求項９又は１０記載の映像復号装置。
【請求項１４】
前記推定部は、前記画像内において前記復号対象ブロックの水平方向の辺に隣接する復号済み画素の復号画素値の変化の大きさを示す第１指標を計算し、前記画像内において前記復号対象ブロックの垂直方向の辺に隣接する復号済み画素の復号画素値の変化の大きさを示す第２指標を計算し、前記第１指標と前記第２指標とを比較することで、前記２ビットのビット列のうち第１ビットのビット値を生成し、前記画像内において前記復号対象ブロックの水平方向又は垂直方向の辺に隣接する２列の復号済み画素の復号画素値から、斜め方向における復号画素値の変化の大きさを示す第３指標を計算し、前記２列の復号済み画素の復号画素値から、前記斜め方向と交差する斜め方向における復号画素値の変化の大きさを示す第４指標を計算し、前記第３指標と前記第４指標とを比較することで、前記２ビットのビット列のうち第２ビットのビット値を生成することを特徴とする請求項１３記載の映像復号装置。
【請求項１５】
映像復号装置が、
符号化映像を第１復号方式で復号して、前記符号化映像に含まれる画像内の復号対象ブロックに対するイントラ予測の角度を示すビット列の一部のビット値が、前記角度の推定結果を示すビット値と一致するか否かを示す、フラグ情報を復元し、
前記符号化映像を第２復号方式で復号して、前記ビット列の残りのビット値を復元し、
前記復号対象ブロックに隣接する復号済み画素の復号画素値を用いて、前記角度の推定結果を示すビット値を生成し、
前記フラグ情報に基づいて、前記角度の推定結果を示すビット値から前記ビット列の一部のビット値を生成し、
前記ビット列の一部のビット値と前記ビット列の残りのビット値とを用いて、前記イントラ予測の角度を求め、
前記イントラ予測の角度を用いて前記復号対象ブロックの係数情報を復号する、
ことを特徴とする映像復号方法。
【請求項１６】
符号化映像を第１復号方式で復号して、前記符号化映像に含まれる画像内の復号対象ブロックに対するイントラ予測の角度を示すビット列の一部のビット値が、前記角度の推定結果を示すビット値と一致するか否かを示す、フラグ情報を復元し、
前記符号化映像を第２復号方式で復号して、前記ビット列の残りのビット値を復元し、
前記復号対象ブロックに隣接する復号済み画素の復号画素値を用いて、前記角度の推定結果を示すビット値を生成し、
前記フラグ情報に基づいて、前記角度の推定結果を示すビット値から前記ビット列の一部のビット値を生成し、
前記ビット列の一部のビット値と前記ビット列の残りのビット値とを用いて、前記イントラ予測の角度を求め、
前記イントラ予測の角度を用いて前記復号対象ブロックの係数情報を復号する、
処理をコンピュータに実行させるための映像復号プログラム。
【請求項１７】
映像に含まれる画像内の符号化対象ブロックに対するイントラ予測の第１角度を決定し、前記イントラ予測の第１角度を用いて前記符号化対象ブロックを符号化する第１符号化部と、
前記符号化対象ブロックに隣接する符号化済み画素の局所復号画素値を用いて、前記第１角度の推定結果を示すビット値を生成する第１推定部と、
前記イントラ予測の第１角度を示すビット列を生成し、前記第１角度を示すビット列の一部のビット値が前記第１角度の推定結果を示すビット値と一致するか否かを示すフラグ情報を生成する第１生成部と、
前記フラグ情報を第１符号化方式で符号化し、前記第１角度を示すビット列の残りのビット値を第２符号化方式で符号化する第２符号化部と、
符号化映像を第１復号方式で復号して、前記符号化映像に含まれる画像内の復号対象ブロックに対するイントラ予測の第２角度を示すビット列の一部のビット値が、前記第２角度の推定結果を示すビット値と一致するか否かを示す、フラグ情報を復元し、前記符号化映像を第２復号方式で復号して、前記第２角度を示すビット列の残りのビット値を復元する第１復号部と、
前記復号対象ブロックに隣接する復号済み画素の復号画素値を用いて、前記第２角度の推定結果を示すビット値を生成する第２推定部と、
前記フラグ情報に基づいて、前記第２角度の推定結果を示すビット値から前記第２角度を示すビット列の一部のビット値を生成し、前記第２角度を示すビット列の一部のビット値と前記第２角度を示すビット列の残りのビット値とを用いて、前記イントラ予測の第２角度を求める第２生成部と、
前記イントラ予測の第２角度を用いて前記復号対象ブロックの係数情報を復号する第２復号部と、
を備えることを特徴とする映像符号化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システムに関する。
【背景技術】
【０００２】
最新の映像符号化規格であるHigh Efficiency Video Coding（ＨＥＶＣ）では、符号化済みのブロックの情報を用いて符号化対象ブロックを符号化するための予測方法として、インター予測及びイントラ予測の２つの予測方法が採用されている。インター予測は、符号化対象ブロックに対して時間的に近いブロックの画素値を用いる予測方法であり、イントラ予測は、符号化対象ブロックに対して距離的に近いブロックの画素値を用いる予測方法である。【０００３】
また、ＨＥＶＣでは、可変長符号化方式として、圧縮効率の高いコンテキスト適応型２値算術符号化（Context-Adaptive Binary Arithmetic Coding，ＣＡＢＡＣ）が採用されている。【０００４】
次世代の映像符号化規格であるFuture Video Coding（ＦＶＣ）の標準化活動においては、圧縮効率のさらなる向上が検討されている。【０００５】
αチャンネル映像のための符号化ブロックパターンを生成する装置、及びイントラ予測モードの情報を重複して伝送することを防止するイントラ予測符号化方法も知られている（例えば、特許文献１及び特許文献２を参照）。また、周辺ブロックの情報を利用して参照画素値に対するフィルタの適用可否を決定するビデオコーディング装置も知られている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１３５０３３号公報
【特許文献２】特開２０１３−０７８１６１号公報
【特許文献３】特開２０１７−１４３５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＨＥＶＣでは、イントラ予測の角度を示す予測モード情報がＣＡＢＡＣによって符号化される。しかしながら、角度を示す予測モード情報の符号量は十分に圧縮されていない。【０００８】
なお、かかる問題は、ＨＥＶＣを採用した映像符号化に限らず、イントラ予測を用いる他の映像符号化においても生ずるものである。【０００９】
１つの側面において、本発明は、映像符号化におけるイントラ予測の角度を示す予測モード情報の符号量を削減することを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、映像符号化装置は、第１符号化部、推定部、生成部、及び第２符号化部を含む。【００１１】
第１符号化部は、映像に含まれる画像内の符号化対象ブロックに対するイントラ予測の角度を決定し、イントラ予測の角度を用いて符号化対象ブロックを符号化する。推定部は、符号化対象ブロックに隣接する符号化済み画素の局所復号画素値を用いて、角度の推定結果を示すビット値を生成する。【００１２】
生成部は、イントラ予測の角度を示すビット列を生成し、ビット列の一部のビット値が角度の推定結果を示すビット値と一致するか否かを示すフラグ情報を生成する。第２符号化部は、フラグ情報を第１符号化方式で符号化し、ビット列の残りのビット値を第２符号化方式で符号化する。
【発明の効果】
【００１３】
実施形態によれば、映像符号化におけるイントラ予測の角度を示す予測モード情報の符号量を削減することができる。
【図面の簡単な説明】
【００１４】
【図１】イントラ予測符号化を示す図である。
【図２】イントラ予測の角度を示す図である。
【図３】角度モードのイントラ予測を示す図である。
【図４】映像符号化装置の機能的構成図である。
【図５】映像符号化処理のフローチャートである。
【図６】映像復号装置の機能的構成図である。
【図７】映像復号処理のフローチャートである。
【図８】映像符号化装置の具体例を示す機能的構成図である。
【図９】算術符号化部の機能的構成図である。
【図１０】選択された角度を示す図である。
【図１１】第１の推定方法を示す図である。
【図１２】イントラ予測の角度を示すビット列を示す図である。
【図１３】映像符号化処理の具体例を示すフローチャートである。
【図１４】第１の推定処理のフローチャートである。
【図１５】重みｗ（ｉ）を示す図である。
【図１６】映像復号装置の具体例を示す機能的構成図である。
【図１７】算術復号部の機能的構成図である。
【図１８】映像復号処理の具体例を示すフローチャートである。
【図１９】第２の推定方法を示す図である。
【図２０】第２の推定処理のフローチャートである。
【図２１】第１ビットの推定値が“０”である場合の指標の計算方法を示す図である。
【図２２】第１ビットの推定値が“１”である場合の指標の計算方法を示す図である。
【図２３】映像符号化システムの機能的構成図である。
【図２４】情報処理装置の構成図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、符号化対象ブロックに対するイントラ予測符号化の例を示している。イントラ予測符号化では、符号化対象ブロック１０１を含む画像内における符号化済み画素が参照画素として用いられ、参照画素の局所復号画素値を用いて、符号化対象ブロック１０１の画素値が予測される。そして、予測誤差と予測方法を示す予測モード情報とが符号化される。
【００１６】
図１の例では、符号化対象ブロック１０１の上方に位置する上隣接ブロック内の上隣接画素１０２と、符号化対象ブロック１０１の左側に位置する左隣接ブロック内の左隣接画素１０３とが、参照画素として用いられる。上隣接画素１０２は、上隣接ブロック内の画素のうち、符号化対象ブロック１０１の水平方向の辺に隣接する画素であり、左隣接画素１０３は、左隣接ブロック内の画素のうち、符号化対象ブロック１０１の垂直方向の辺に隣接する画素である。
【００１７】
ＨＥＶＣでは、イントラ予測の予測モードとして、直流（Direct Current，ＤＣ）モード、プラナー（planar）モード、及び角度（angular）モードの３種類が規定されている。このうち、角度モードでは、符号化対象ブロック毎に１つの角度が選択され、選択された角度が示す方向に位置する参照画素を用いて、符号化対象ブロック１０１内の各画素の予測画素値が生成される。ＨＥＶＣでは、角度モードにおける角度として、３３個の角度が規定されているが、ＦＶＣでは、６５個の角度に拡張されることが予想される。
【００１８】
図２は、符号化対象ブロックに対するイントラ予測の角度の例を示している。この例では、簡単のため、１７本の矢印を用いて１７個の角度が示されているが、角度モードにおける角度がＮ個（Ｎは１以上の整数）である場合、Ｎ本の矢印を用いてそれらの角度を示すことができる。
【００１９】
図３は、角度モードのイントラ予測の例を示している。この例では、符号化対象ブロック１０１内の各画素から、矢印が示す左上方向に位置する参照画素が特定され、それらの参照画素を左上方向に沿って外挿することで、各画素の予測画素値が生成される。
【００２０】
角度モードのイントラ予測が行われた場合、イントラ予測で用いた角度を示す予測モード情報が符号化される。この角度を示す予測モード情報を効率的に符号化するために、最確モード（Most Probable Mode，ＭＰＭ）テーブルが用いられる。
【００２１】
符号化対象ブロックに対する最確モードは、周囲の符号化済みブロックの角度モードから予測され、ＨＥＶＣでは、３種類の予測方法が規定されている。予測された最確モードと実際の角度モードとの同異を符号化することで、角度を示す予測モード情報の情報量を削減することができる。
【００２２】
ＨＥＶＣの場合、３３個の角度のうち最確モードを除く３２個の角度を表現するために、５ビットのビット列が用いられる。一方、ＦＶＣの場合、６５個の角度のうち最確モードを除く６４個の角度を表現するために、６ビットのビット列を用いることが予想される。
【００２３】
符号化対象ブロックの量子化係数及び予測モード情報は、ＣＡＢＡＣによって符号化される。ＨＥＶＣで採用されているＣＡＢＡＣの処理手順は、以下の通りである。
【００２４】
（１）２値化
符号化対象シンタックス要素の中で多値となるシンタックス要素が、算術符号化の対象となる２値信号（ｂｉｎ）に変換される。
【００２５】
（２）コンテキストモデリング
コンテキストモードでは、シンタックス要素の各ｂｉｎについて、他のシンタックス要素又は符号化対象となる領域に隣接するシンタックス要素の値等に応じて、算術符号化に用いる生起確率モデルが決定される。この場合、論理“０”及び論理“１”の各値の生起確率は可変である。
一方、生起確率の推定が困難なｂｉｎについては、論理“０”及び論理“１”の各値の生起確率を０．５に固定したバイパスモードが選択される。
【００２６】
（３）算術符号化
生起シンボルの発生確率に基づいて、０以上１未満の実数直線が、順次、区間分割され、最終的に分割された区間を示す実数から、２進数表記の符号語が生成される。
【００２７】
バイパスモードによる算術符号化では、符号量の圧縮は行われない。しかし、確率推定処理がスキップされ、実数直線分割処理の演算量が低減されるため、符号化処理が高速化されるとともに、生起確率を記憶するメモリの記憶領域が削減される。
【００２８】
しかしながら、最確モードを除く角度を示す予測モード情報は、ＣＡＢＡＣのバイパスモードで符号化されるため、予測モード情報の圧縮効率は低い。
【００２９】
図４は、実施形態の映像符号化装置の機能的構成例を示している。図４の映像符号化装置４０１は、第１符号化部４１１、推定部４１２、生成部４１３、及び第２符号化部４１４を含む。
【００３０】
図５は、図４の映像符号化装置４０１が行う映像符号化処理の例を示すフローチャートである。まず、第１符号化部４１１は、映像に含まれる画像内の符号化対象ブロックに対するイントラ予測の角度を決定し（ステップ５０１）、イントラ予測の角度を用いて符号化対象ブロックを符号化する（ステップ５０２）。次に、推定部４１２は、符号化対象ブロックに隣接する符号化済み画素の局所復号画素値を用いて、角度の推定結果を示すビット値を生成する（ステップ５０３）。
【００３１】
次に、生成部４１３は、イントラ予測の角度を示すビット列を生成し（ステップ５０４）、ビット列の一部のビット値が角度の推定結果を示すビット値と一致するか否かを示すフラグ情報を生成する（ステップ５０５）。そして、第２符号化部４１４は、フラグ情報を第１符号化方式で符号化し、ビット列の残りのビット値を第２符号化方式で符号化する（ステップ５０６）。
【００３２】
図６は、実施形態の映像復号装置の機能的構成例を示している。図６の映像復号装置６０１は、第１復号部６１１、推定部６１２、生成部６１３、及び第２復号部６１４を含む。
【００３３】
図７は、図６の映像復号装置６０１が行う映像復号処理の例を示すフローチャートである。まず、第１復号部６１１は、符号化映像を第１復号方式で復号して、フラグ情報を復元する（ステップ７０１）。フラグ情報は、符号化映像に含まれる画像内の復号対象ブロックに対するイントラ予測の角度を示すビット列の一部のビット値が、角度の推定結果を示すビット値と一致するか否かを示す。そして、第１復号部６１１は、符号化映像を第２復号方式で復号して、ビット列の残りのビット値を復元する。
【００３４】
次に、推定部６１２は、復号対象ブロックに隣接する復号済み画素の復号画素値を用いて、角度の推定結果を示すビット値を生成する（ステップ７０２）。次に、生成部６１３は、フラグ情報に基づいて、角度の推定結果を示すビット値からビット列の一部のビット値を生成し、ビット列の一部のビット値とビット列の残りのビット値とを用いて、イントラ予測の角度を求める（ステップ７０３）。そして、第２復号部６１４は、イントラ予測の角度を用いて復号対象ブロックの係数情報を復号する（ステップ７０４）。
【００３５】
図４の映像符号化装置４０１及び図６の映像復号装置６０１によれば、映像符号化におけるイントラ予測の角度を示す予測モード情報の符号量を削減することができる。
【００３６】
図８は、図４の映像符号化装置４０１の具体例を示している。図８の映像符号化装置８０１は、ブロック分割部８１１、予測誤差生成部８１２、直交変換部８１３、量子化部８１４、算術符号化部８１５、及び符号化制御部８１６を含む。さらに、映像符号化装置８０１は、フレーム内予測部８１７、フレーム間予測部８１８、選択部８１９、逆量子化部８２０、逆直交変換部８２１、再構成部８２２、ループ内フィルタ８２３、メモリ８２４、及び推定部８２５を含む。
【００３７】
予測誤差生成部８１２、直交変換部８１３、量子化部８１４、フレーム内予測部８１７、フレーム間予測部８１８、選択部８１９、逆量子化部８２０、逆直交変換部８２１、再構成部８２２、及びループ内フィルタ８２３は、図４の第１符号化部４１１に対応する。また、推定部８２５は、図４の推定部４１２に対応する。
【００３８】
映像符号化装置８０１は、例えば、ハードウェア回路として実装することができる。この場合、映像符号化装置８０１の各構成要素を個別の回路として実装してもよく、１つの集積回路として実装してもよい。
【００３９】
映像符号化装置８０１は、入力される符号化対象映像を符号化し、符号化映像を符号化ストリームとして出力する。映像符号化装置８０１は、符号化ストリームを、通信ネットワークを介して図６の映像復号装置６０１へ送信することができる。
【００４０】
符号化対象映像は、複数の時刻それぞれに対応する複数の画像を含む。各時刻の画像は、符号化対象画像に対応し、ピクチャ又はフレームと呼ばれることもある。各画像は、カラー画像であってもよく、モノクロ画像であってもよい。カラー画像の場合、画素値はＲＧＢ形式であってもよく、ＹＵＶ形式であってもよい。
【００４１】
ブロック分割部８１１は、符号化対象画像を複数のブロックに分割し、符号化対象ブロックの原画像を、予測誤差生成部８１２、フレーム内予測部８１７、及びフレーム間予測部８１８へ出力する。
【００４２】
フレーム内予測部８１７は、符号化対象ブロックに対するイントラ予測を行って、イントラ予測の予測画像を選択部８１９へ出力し、イントラ予測の予測方法を示す予測モード情報を算術符号化部８１５へ出力する。角度モードのイントラ予測の場合、Ｎ個の異なる角度が示すＮ個の予測方向のうち、いずれかの予測方向が選択される。フレーム間予測部８１８は、符号化対象ブロックに対するインター予測を行って、インター予測の予測画像を選択部８１９へ出力する。
【００４３】
選択部８１９は、フレーム内予測部８１７又はフレーム間予測部８１８のいずれかが出力する予測画像を選択して、予測誤差生成部８１２及び再構成部８２２へ出力する。予測誤差生成部８１２は、選択部８１９が出力する予測画像と、符号化対象ブロックの原画像との差分を、予測誤差として直交変換部８１３へ出力する。
【００４４】
直交変換部８１３は、予測誤差生成部８１２が出力する予測誤差に対して直交変換を行い、変換係数を量子化部８１４へ出力する。量子化部８１４は、変換係数を量子化し、量子化係数を算術符号化部８１５及び逆量子化部８２０へ出力する。
【００４５】
推定部８２５は、符号化対象ブロックに隣接する符号化済み画素の局所復号画素値を用いて、符号化対象ブロックに対するイントラ予測の角度の推定結果を示すビット値を生成し、生成したビット値を算術符号化部８１５へ出力する。
【００４６】
算術符号化部８１５は、量子化部８１４が出力する量子化係数とフレーム内予測部８１７が出力する予測モード情報とを、ＣＡＢＡＣによって符号化し、符号化ストリームを出力する。そして、算術符号化部８１５は、ＣＡＢＡＣによって発生する情報量を符号化制御部８１６へ出力する。
【００４７】
逆量子化部８２０は、量子化部８１４が出力する量子化係数に対して逆量子化を行って、逆量子化係数を生成し、生成した逆量子化係数を逆直交変換部８２１へ出力する。逆直交変換部８２１は、逆量子化係数に対して逆直交変換を行って、予測誤差を生成し、生成した予測誤差を再構成部８２２へ出力する。
【００４８】
再構成部８２２は、選択部８１９が出力する予測画像と、逆直交変換部８２１が出力する予測誤差とを加算して、再構成画像を生成し、生成した再構成画像をループ内フィルタ８２３へ出力する。ループ内フィルタ８２３は、再構成部８２２が出力する再構成画像に対して、デブロッキングフィルタ等のフィルタ処理を行って、局所復号画像を生成し、生成した局所復号画像をメモリ８２４へ出力する。
【００４９】
メモリ８２４は、ループ内フィルタ８２３が出力する局所復号画像を記憶する。メモリ８２４が記憶する局所復号画像は、フレーム内予測部８１７、フレーム間予測部８１８、及び推定部８２５へ出力される。フレーム内予測部８１７は、局所復号画像に含まれる局所復号画素値を、後続するブロックに対する参照画素値として用い、フレーム間予測部８１８は、局所復号画像を後続する画像に対する参照画像として用いる。推定部８２５は、局所復号画像に含まれる局所復号画素値を、符号化済み画素の局所復号画素値として用いる。
【００５０】
符号化制御部８１６は、算術符号化部８１５が出力する情報量が目標情報量になるように、量子化パラメータ（ＱＰ）を決定し、決定したＱＰを量子化部８１４へ出力する。
【００５１】
図９は、図８の算術符号化部８１５の機能的構成例を示している。図９の算術符号化部８１５は、生成部９０１及び符号化部９０２を含む。生成部９０１及び符号化部９０２は、図４の生成部４１３及び第２符号化部４１４にそれぞれ対応する。
【００５２】
生成部９０１は、フレーム内予測部８１７が出力する予測モード情報を２値化して、イントラ予測の角度を示すビット列を生成する。そして、生成部９０１は、そのビット列の一部のビット値と、推定部８２５が出力するビット値とを比較することで、それらのビット値が一致するか否かを示すフラグ情報を生成する。ビット列の一部のビット値としては、そのビット列の上位Ｍビット（Ｍは１以上の整数）のビット値を用いることができる。
【００５３】
符号化部９０２は、生成部９０１が生成したフラグ情報と、量子化部８１４が出力する量子化係数とを、ＣＡＢＡＣのコンテキストモードにより、可変の生起確率を用いて符号化する。そして、生成部９０１が生成したビット列の残りのビット値を、ＣＡＢＡＣのバイパスモードにより、固定の生起確率を用いて符号化する。コンテキストモードは第１符号化方式に対応し、バイパスモードは第２符号化方式に対応する。
【００５４】
図１０は、選択された角度の例を示している。図１０の例では、図２に示した１７個の角度のうち、０番目〜１５番目の１６個の角度が選択肢として用いられる。このうち１１番目の角度を用いることで予測誤差の大きさが最小になる場合、１１番目の角度がイントラ予測の角度として選択される。
【００５５】
図１１は、イントラ予測の角度を推定する第１の推定方法の例を示している。推定部８２５は、符号化対象ブロック１０１に隣接する隣接ブロックの画素値分布を調べ、その画素値分布からイントラ予測の角度が属する角度範囲を推定する。
【００５６】
図１１（ａ）は、推定された角度範囲が水平方向の角度範囲である場合の例を示している。例えば、推定部８２５は、上隣接ブロック１１０１及び左隣接ブロック１１０２の画素値分布から、各画素のエッジ方向の平均値を計算する。そして、推定部８２５は、エッジ方向の平均値が示す角度が水平方向の角度範囲に属する場合、イントラ予測の角度も水平方向の角度範囲に属する可能性が高いと判定する。
【００５７】
図１１（ｂ）は、推定された角度範囲が垂直方向の角度範囲である場合の例を示している。推定部８２５は、上隣接ブロック１１０１及び左隣接ブロック１１０２におけるエッジ方向の平均値が示す角度が、垂直方向の角度範囲に属する場合、イントラ予測の角度も垂直方向の角度範囲に属する可能性が高いと判定する。
【００５８】
図１２は、生成部９０１によって生成される、イントラ予測の角度を示すビット列の例を示している。図１０に示した１６個の角度は、４ビットのビット列を用いて表現することができる。それぞれの角度を示すビット列のビット値は、以下の通りである。
０番目の角度：００００
１番目の角度：０００１
２番目の角度：００１０
３番目の角度：００１１
４番目の角度：０１００
５番目の角度：０１０１
６番目の角度：０１１０
７番目の角度：０１１１
８番目の角度：１０００
９番目の角度：１００１
１０番目の角度：１０１０
１１番目の角度：１０１１
１２番目の角度：１１００
１３番目の角度：１１０１
１４番目の角度：１１１０
１５番目の角度：１１１１
【００５９】
例えば、ビット列の一部のビット値が最上位ビット（Most Significant Bit，ＭＳＢ）である場合、推定部８２５は、そのビット列のＭＳＢを推定し、ＭＳＢの推定結果を示すビット値（推定値）を生成する。
【００６０】
図１２の例では、ＭＳＢ＝０である０番目〜７番目の角度が水平方向の角度範囲に属し、ＭＳＢ＝１である８番目〜１５番目の角度が垂直方向の角度範囲に属する。そこで、推定部８２５は、イントラ予測の角度が水平方向の角度範囲に属すると判定した場合、ＭＳＢの推定値を“０”に設定し、イントラ予測の角度が垂直方向の角度範囲に属すると判定した場合、ＭＳＢの推定値を“１”に設定する。
【００６１】
そして、生成部９０１は、イントラ予測の角度を示すビット列のＭＳＢと、ＭＳＢの推定値との排他的論理和（ＸＯＲ）を計算し、そのＸＯＲの値をフラグ情報として符号化部９０２へ出力する。また、生成部９０１は、イントラ予測の角度を示すビット列のＭＳＢ以外のビット値を、残りのビット値として符号化部９０２へ出力する。この場合、フラグ情報は、ビット列のＭＳＢがその推定値と一致するか否かを示している。
【００６２】
例えば、イントラ予測の角度が１１番目の角度である場合、そのビット列“１０１１”のＭＳＢである“１”と、ＭＳＢの推定値とのＸＯＲが、フラグ情報として出力され、ＭＳＢを除いたビット列“０１１”が残りのビット値として出力される。
【００６３】
このように、フラグ情報は、イントラ予測の角度を直接示すのではなく、イントラ予測の角度を示すビット列の一部のビット値とその推定値との同異を示している。これにより、２つのビット値が同じであることを示す値“０”の生起確率を、２つのビット値が異なることを示す値“１”の生起確率よりも高くすることが可能になる。したがって、ＣＡＢＡＣのコンテキストモードによりフラグ情報を符号化することができ、イントラ予測の角度を示す予測モード情報の符号量が削減される。
【００６４】
図１３は、図８の映像符号化装置８０１が行う映像符号化処理の具体例を示すフローチャートである。まず、フレーム内予測部８１７は、符号化対象ブロックに対するイントラ予測を行い（ステップ１３０１）、フレーム間予測部８１８は、符号化対象ブロックに対するインター予測を行う（ステップ１３０２）。
【００６５】
次に、予測誤差生成部８１２、直交変換部８１３、及び量子化部８１４は、フレーム内予測部８１７又はフレーム間予測部８１８のいずれかが出力する予測画像を用いて、符号化対象ブロックを符号化し、量子化係数を生成する（ステップ１３０３）。そして、推定部８２５は、イントラ予測の角度を推定し（ステップ１３０４）、算術符号化部８１５の生成部９０１は、推定結果に対するフラグ情報を生成する（ステップ１３０５）。
【００６６】
次に、映像符号化装置８０１は、符号化対象画像の符号化が終了したか否かを判定する（ステップ１３０６）。未処理のブロックが残っている場合（ステップ１３０６，ＮＯ）、映像符号化装置８０１は、次のブロックについてステップ１３０１以降の処理を繰り返す。
【００６７】
一方、符号化対象画像の符号化が終了した場合（ステップ１３０６，ＹＥＳ）、算術符号化部８１５の符号化部９０２は、量子化係数及び予測モード情報に対する可変長符号化を行う（ステップ１３０７）。予測モード情報には、イントラ予測の角度を示すビット列の残りのビット値及びフラグ情報が含まれる。
【００６８】
次に、映像符号化装置８０１は、符号化対象映像の符号化が終了したか否かを判定する（ステップ１３０８）。未処理の画像が残っている場合（ステップ１３０８，ＮＯ）、映像符号化装置８０１は、次の画像についてステップ１３０１以降の処理を繰り返す。そして、符号化対象映像の符号化が終了した場合（ステップ１３０８，ＹＥＳ）、映像符号化装置８０１は、処理を終了する。
【００６９】
図１４は、図１３のステップ１３０４における第１の推定処理の例を示すフローチャートである。図１４の推定処理では、ビット列のＭＳＢのビット値が推定される。
【００７０】
まず、推定部８２５は、符号化対象ブロックに対するイントラ予測において、上隣接ブロックが参照可能か否かをチェックする（ステップ１４０１）。例えば、符号化対象ブロックが画像、スライス、又はタイルの上端に接している場合、上隣接ブロックが参照可能ではないと判定される。
【００７１】
上隣接ブロックが参照可能である場合（ステップ１４０１，ＹＥＳ）、推定部８２５は、符号化対象ブロックに対するイントラ予測において、左隣接ブロックが参照可能か否かをチェックする（ステップ１４０２）。例えば、符号化対象ブロックが画像、スライス、又はタイルの左端に接している場合、左隣接ブロックが参照可能ではないと判定される。
【００７２】
左隣接ブロックが参照可能である場合（ステップ１４０２，ＹＥＳ）、推定部８２５は、上隣接ブロック内における上隣接画素の局所復号画素値の変化の大きさを示す指標Ａ１を計算する（ステップ１４０３）。次に、推定部８２５は、左隣接ブロック内における左隣接画素の局所復号画素値の変化の大きさを示す指標Ａ２を計算し（ステップ１４０４）、指標Ａ１と指標Ａ２を比較する（ステップ１４０５）。
【００７３】
指標Ａ１が指標Ａ２よりも大きい場合（ステップ１４０５，ＹＥＳ）、推定部８２５は、ＭＳＢの推定値Ｐ１を“１”に設定する（ステップ１４０６）。一方、指標Ａ１が指標Ａ２以下である場合（ステップ１４０５，ＮＯ）、推定部８２５は、推定値Ｐ１を“０”に設定する（ステップ１４０７）。
【００７４】
上隣接ブロックが参照可能ではない場合（ステップ１４０１，ＮＯ）、推定部８２５は、推定値Ｐ１を“０”に設定する（ステップ１４０７）。また、左隣接ブロックが参照可能ではない場合（ステップ１４０２，ＮＯ）、推定部８２５は、推定値Ｐ１を“１”に設定する（ステップ１４０６）。
【００７５】
指標Ａ１としては、上隣接画素の局所復号画素値を周波数領域に変換して得られる周波数係数の重み付き総和を用いることができる。この場合、指標Ａ１は、例えば、次式により計算される。
【００７６】
【数１】
2019150435.tif 000003
【００７７】
式（１）において、ｎは、符号化対象ブロックの幅を表し、Ｄは、画像のビット深度を表す。ｄｃｔ１（ｉ）は、ｎ個の上隣接画素の局所復号画素値に対して１次元離散コサイン変換（Discrete Cosine Transform，ＤＣＴ）を施すことで得られるｎ個の変換係数のうち、ｉ番目の変換係数を表す。ｉが大きいほど、変換係数が表す成分の空間周波数は高くなる。ｗ（ｉ）は、ｉ番目の変換係数に対する所定の重みを表し、次式の制約を満たす。
【００７８】
【数２】
2019150435.tif 000004
【００７９】
ｎ個の上隣接画素における高周波成分が大きくなるにつれて、指標Ａ１が大きくなる。したがって、指標Ａ１が大きいほど、上隣接画素のエッジ方向が垂直方向である可能性が高い。
【００８０】
一方、指標Ａ２としては、左隣接画素の局所復号画素値を周波数領域に変換して得られる周波数係数の重み付き総和を用いることができる。この場合、指標Ａ２は、例えば、次式により計算される。
【００８１】
【数３】
2019150435.tif 000005
【００８２】
式（３）において、ｍは、符号化対象ブロックの高さを表す。ｄｃｔ２（ｉ）は、ｍ個の左隣接画素の局所復号画素値に対して１次元ＤＣＴを施すことで得られるｍ個の変換係数のうち、ｉ番目の変換係数を表す。ｗ（ｉ）は、ｉ番目の変換係数に対する所定の重みを表し、次式の制約を満たす。
【００８３】
【数４】
2019150435.tif 000006
【００８４】
ｍ個の左隣接画素における高周波成分が大きくなるにつれて、指標Ａ２が大きくなる。したがって、指標Ａ２が大きいほど、左隣接画素のエッジ方向が水平方向である可能性が高い。
【００８５】
例えば、ｎが２のべき乗であり、かつ、ｎ≧８である場合、式（１）の重みｗ（ｉ）は、次式により定義することができる。
【００８６】
【数５】
2019150435.tif 000007
【００８７】
【数６】
2019150435.tif 000008
【００８８】
式（５）及び式（６）のｆｌｏｏｒ（ｐ）は、実数ｐ以下の最大の整数を表す。この場合、ｗ（ｉ）は２のべき乗の逆数であり、ｗ（ｉ）＜ｗ（ｉ＋１）となる。したがって、ｉが大きくなるにつれてｗ（ｉ）は増加し、空間周波数が高くなるほど、重みを大きくすることができる。
【００８９】
図１５は、重みｗ（ｉ）の例を示している。図１５（ａ）は、ｎ＝８の場合に式（５）及び式（６）により計算される重みｗ（ｉ）の例を示している。図１５（ｂ）は、ｎ＝４の場合の重みｗ（ｉ）の例を示している。式（３）の重みｗ（ｉ）も、式（１）の重みｗ（ｉ）と同様にして定義することができる。
【００９０】
図１４の推定処理によれば、フレーム内予測部８１７におけるイントラ予測よりも少ない演算量で、イントラ予測の角度を示すビット列のＭＳＢのビット値と一致する可能性が高い推定値を求めることができる。これにより、フラグ情報における値“０”の生起確率を、値“１”の生起確率よりも高くすることが可能になる。
【００９１】
図１６は、図６の映像復号装置６０１の具体例を示している。図１６の映像復号装置１６０１は、算術復号部１６１１、逆量子化部１６１２、逆直交変換部１６１３、再構成部１６１４、ループ内フィルタ１６１５を含む。さらに、映像復号装置１６０１は、選択１６１６、フレーム間予測部１６１７、フレーム内予測部１６１８、選択部１６１９、メモリ１６２０、及び推定部１６２１を含む。
【００９２】
推定部１６２１は、図６の推定部６１２に対応する。逆量子化部１６１２、逆直交変換部１６１３、再構成部１６１４、ループ内フィルタ１６１５、選択１６１６、フレーム間予測部１６１７、フレーム内予測部１６１８、及び選択部１６１９は、図６の第２復号部６１４に対応する。
【００９３】
映像復号装置１６０１は、例えば、ハードウェア回路として実装することができる。この場合、映像復号装置１６０１の各構成要素を個別の回路として実装してもよく、１つの集積回路として実装してもよい。
【００９４】
映像復号装置１６０１は、入力される符号化ストリームを復号し、復号映像を出力する。映像復号装置１６０１は、図８の映像符号化装置８０１から、通信ネットワークを介して符号化ストリームを受信することができる。
【００９５】
算術復号部１６１１は、ＣＡＢＡＣの復号方式によって符号化ストリームを復号して、復号対象画像内の復号対象ブロックの量子化係数を逆量子化部１６１２へ出力し、復号対象ブロックに対する予測モード情報を選択部１６１６へ出力する。
【００９６】
逆量子化部１６１２は、算術復号部１６１１が出力する量子化係数に対して逆量子化を行って、逆量子化係数を生成し、生成した逆量子化係数を逆直交変換部１６１３へ出力する。逆直交変換部１６１３は、逆量子化係数に対して逆直交変換を行って、予測誤差を生成し、生成した予測誤差を再構成部１６１４へ出力する。
【００９７】
選択部１６１６は、インター予測の予測モード情報をフレーム間予測部１６１７へ出力し、イントラ予測の予測モード情報をフレーム内予測部１６１８へ出力する。
【００９８】
フレーム間予測部１６１７は、インター予測の予測モード情報と、メモリ１６２０が出力する参照画像とを用いて、復号対象ブロックに対するインター予測を行い、インター予測の予測画像を生成して、選択部１６１９へ出力する。
【００９９】
フレーム内予測部１６１６は、イントラ予測の予測モード情報と、メモリ１６２０が出力する復号済みブロックの復号画像とを用いて、復号対象ブロックに対するイントラ予測を行い、イントラ予測の予測画像を生成して、選択部１６１９へ出力する。
【０１００】
選択部１６１９は、フレーム間予測部１６１７又はフレーム内予測部１６１８のいずれかが出力する予測画像を選択して、再構成部１６１４へ出力する。
【０１０１】
再構成部１６１４は、選択部１６１９が出力する予測画像と、逆直交変換部１６１３が出力する予測誤差とを加算して、再構成画像を生成し、生成した再構成画像をループ内フィルタ１６１５へ出力する。
【０１０２】
ループ内フィルタ１６１５は、再構成部１６１４が出力する再構成画像に対して、デブロッキングフィルタ、サンプルアダプティブオフセットフィルタ等のフィルタ処理を行って、復号画像を生成する。そして、ループ内フィルタ１６１５は、１フレーム分の復号画像を復号映像として出力するとともに、メモリ１６２０へ出力する。
【０１０３】
メモリ１６２０は、ループ内フィルタ１６１５が出力する復号画像を記憶する。メモリ１６２０が記憶する復号画像は、フレーム間予測部１６１７、フレーム内予測部１６１８、及び推定部１６２１へ出力される。フレーム間予測部１６１７は、復号画像を後続する画像に対する参照画像として用い、フレーム内予測部１６１８は、復号画像に含まれる復号画素値を、後続するブロックに対する参照画素値として用いる。推定部１６２１は、復号画像に含まれる復号画素値を、復号済み画素の復号画素値として用いる。
【０１０４】
推定部１６２１は、復号対象ブロックに隣接する復号済み画素の復号画素値を用いて、図８の推定部８２５と同様の推定処理を行い、復号対象ブロックに対するイントラ予測の角度の推定結果を示すビット値を生成する。そして、推定部１６２１は、生成したビット値を算術復号部１６１１へ出力する。
【０１０５】
図１７は、図１６の算術復号部１６１１の機能的構成例を示している。図１７の算術復号部１６１１は、復号部１７０１及び生成部１７０２を含む。復号部１７０１及び生成部１７０２は、図６の第１復号部６１１及び生成部６１３にそれぞれ対応する。
【０１０６】
復号部１７０１は、ＣＡＢＡＣのコンテキストモードにより、可変の生起確率を用いて符号化ストリームを復号し、復号対象ブロックの量子化係数と、イントラ予測の角度に対するフラグ情報を含む予測モード情報とを復元する。さらに、復号部１７０１は、ＣＡＢＡＣのバイパスモードにより、固定の生起確率を用いて符号化ストリームを復号し、イントラ予測の角度を示すビット列の残りのビット値を含む、予測モード情報を復元する。コンテキストモードは第１復号方式に対応し、バイパスモードは第２復号方式に対応する。
【０１０７】
そして、復号部１７０１は、フラグ情報及びビット列の残りのビット値を、生成部１７０２へ出力する。生成部１７０２は、フラグ情報を用いて、推定部１６２１が出力するビット値から、イントラ予測の角度を示すビット列の一部のビット値を生成する。そして、生成部１７０２は、ビット列の一部のビット値とビット列の残りのビット値とを連結して、イントラ予測の角度を示すビット列を生成する。
【０１０８】
例えば、ビット列の一部のビット値がＭＳＢである場合、推定部１６２１は、そのビット列のＭＳＢを推定し、ＭＳＢの推定値を生成する。次に、生成部１７０２は、ＭＳＢの推定値とフラグ情報が示すビット値とのＸＯＲを計算し、そのＸＯＲの値を、イントラ予測の角度を示すビット列のＭＳＢに設定する。そして、生成部１７０２は、復号部１７０１が出力する残りのビット値を、イントラ予測の角度を示すビット列のＭＳＢ以外のビットに設定する。
【０１０９】
例えば、イントラ予測の角度が１１番目の角度である場合、ＭＳＢの推定値とフラグ情報が示すビット値とのＸＯＲは“１”になる。そこで、“１”がＭＳＢに設定され、残りのビット値“０１１”と連結されて、１１番目の角度を示すビット列“１０１１”が生成される。このように、ＭＳＢの推定値、フラグ情報、及び残りのビット値からビット列全体が復元され、イントラ予測の角度を求めることができる。
【０１１０】
図１８は、図１６の映像復号装置１６０１が行う映像復号処理の具体例を示すフローチャートである。まず、算術復号部１６１１は、符号化ストリームに対する可変長復号を行って、復号対象ブロックの量子化係数及び予測モード情報を生成する（ステップ１８０１）。
【０１１１】
次に、算術復号部１６１１は、復号対象ブロックの予測モード情報がインター予測又はイントラ予測のいずれを示しているかをチェックする（ステップ１８０２）。イントラ予測の予測モード情報には、イントラ予測の角度を示すビット列の残りのビット値及びフラグ情報が含まれる。
【０１１２】
予測モード情報がイントラ予測を示している場合（ステップ１８０２，ＹＥＳ）、推定部１６２１は、イントラ予測の角度を推定する（ステップ１８０３）。次に、算術復号部１６１１は、推定結果、フラグ情報、及び残りのビット値を用いて、イントラ予測の角度を求める（ステップ１８０４）。そして、フレーム内予測部１６１８は、イントラ予測の角度を用いて、復号対象ブロックに対するイントラ予測を行う（ステップ１８０５）。
【０１１３】
一方、予測モード情報がインター予測を示している場合（ステップ１８０２，ＮＯ）、フレーム間予測部１６１７は、予測モード情報を用いて、復号対象ブロックに対するインター予測を行う（ステップ１８０８）。
【０１１４】
次に、逆量子化部１６１２及び逆直交変換部１６１３は、復号対象ブロックの量子化係数を復号して、予測誤差を生成する（ステップ１８０６）。そして、選択部１６１９、再構成部１６１４、及びループ内フィルタ１６１５は、フレーム間予測部１６１７又はフレーム内予測部１６１８のいずれかが出力する予測画像を用いて、予測誤差から復号画像を生成する。
【０１１５】
次に、映像復号装置１６０１は、符号化ストリームの復号が終了したか否かを判定する（ステップ１８０７）。未処理の符号列が残っている場合（ステップ１８０７，ＮＯ）、映像復号装置１６０１は、次の符号列についてステップ１８０１以降の処理を繰り返す。そして、符号化ストリームの復号が終了した場合（ステップ１８０７，ＹＥＳ）、映像復号装置１６０１は、処理を終了する。
【０１１６】
次に、図１９〜図２２を参照しながら、ビット列の一部のビット値が上位２ビットである場合の映像符号化処理及び映像復号処理について説明する。この場合、映像符号化装置８０１の推定部８２５は、ビット列の上位２ビットを推定し、２ビットのビット列の推定結果を示すビット値（推定値）を生成する。
【０１１７】
図１９は、イントラ予測の角度を推定する第２の推定方法の例を示している。推定部８２５は、図１１の推定方法と同様に、符号化対象ブロック１０１に隣接する隣接ブロックの画素値分布を調べ、その画素値分布からイントラ予測の角度が属する角度範囲を推定する。
【０１１８】
図１９（ａ）は、推定された角度範囲が水平方向の角度範囲である場合の例を示している。例えば、推定部８２５は、上隣接ブロック１９０１及び左隣接ブロック１９０２の画素値分布から、各画素のエッジ方向の平均値を計算する。そして、推定部８２５は、エッジ方向の平均値が示す角度が水平方向の角度範囲に属する場合、イントラ予測の角度も水平方向の角度範囲に属する可能性が高いと判定する。
【０１１９】
図１９（ｂ）は、推定された角度範囲が垂直方向の角度範囲である場合の例を示している。推定部８２５は、上隣接ブロック１９０１及び左隣接ブロック１９０２におけるエッジ方向の平均値が示す角度が、垂直方向の角度範囲に属する場合、イントラ予測の角度も垂直方向の角度範囲に属する可能性が高いと判定する。
【０１２０】
上位２ビットの推定値を用いた場合、水平方向の角度範囲を２つの角度範囲に分割し、垂直方向の角度範囲を２つの角度範囲に分割して、４つの角度範囲を生成することができる。
【０１２１】
図１２に示した例では、上位２ビットが“００”である０番目〜３番目の角度が水平方向の角度範囲Ｇ１に属し、上位２ビットが“０１”である４番目〜７番目の角度が水平方向の角度範囲Ｇ２に属する。また、上位２ビットが“１０”である８番目〜１１番目の角度が垂直方向の角度範囲Ｇ３に属し、上位２ビットが“１１”である１２番目〜１５番目の角度が垂直方向の角度範囲Ｇ４に属する。
【０１２２】
角度範囲Ｇ１では、角度を示す矢印が左下方向を指しており、角度範囲Ｇ２及び角度範囲Ｇ３では、角度を示す矢印が左上方向を指しており、角度範囲Ｇ４では、角度を示す矢印が右上方向を指している。
【０１２３】
推定部８２５は、イントラ予測の角度が角度範囲Ｇ１に属すると判定した場合、上位２ビットの推定値を“００”に設定し、イントラ予測の角度が角度範囲Ｇ２に属すると判定した場合、上位２ビットの推定値を“０１”に設定する。また、推定部８２５は、イントラ予測の角度が角度範囲Ｇ３に属すると判定した場合、上位２ビットの推定値を“１０”に設定し、イントラ予測の角度が角度範囲Ｇ４に属すると判定した場合、上位２ビットの推定値を“１１”に設定する。
【０１２４】
そして、生成部９０１は、イントラ予測の角度を示すビット列の上位２ビットと、上位２ビットの推定値とのＸＯＲを計算し、そのＸＯＲの値をフラグ情報として符号化部９０２へ出力する。また、生成部９０１は、イントラ予測の角度を示すビット列の上位２ビット以外のビット値を、残りのビット値として符号化部９０２へ出力する。
【０１２５】
この場合、フラグ情報には、第１フラグ及び第２フラグが含まれる。第１フラグは、上位２ビットのうち第１ビット（ＭＳＢ）のビット値が、上位２ビットの推定値のうち第１ビットのビット値と一致するか否かを示す。一方、第２フラグは、上位２ビットのうち第２ビットのビット値が、上位２ビットの推定値のうち第２ビットのビット値と一致するか否かを示す。
【０１２６】
例えば、イントラ予測の角度が１１番目の角度である場合、そのビット列“１０１１”の上位２ビットである“１０”の各ビット値と、上位２ビットの推定値の各ビット値とのＸＯＲが、フラグ情報として出力される。そして、上位２ビットを除いたビット列“１１”が残りのビット値として出力される。
【０１２７】
このように、イントラ予測の角度を示すビット列の上位２ビットの推定値を用いることで、ＭＳＢのみの推定値を用いる場合よりも、残りのビット値のビット数が減少する。したがって、ＣＡＢＡＣのバイパスモードにより符号化されるビット数を削減することができ、イントラ予測の角度を示す予測モード情報の符号量がさらに削減される。
【０１２８】
図１３のステップ１３０４において、推定部８２５は、上位２ビットのうち第１ビットのビット値を、図１４の推定処理により推定することができる。
【０１２９】
図２０は、図１３のステップ１３０４において、上隣接ブロック及び左隣接ブロックが参照可能である場合に、上位２ビットのうち第２ビットのビット値を推定する第２の推定処理の例を示すフローチャートである。
【０１３０】
まず、推定部８２５は、上隣接ブロック又は左隣接ブロック内の２列の符号化済み画素の局所復号画素値から、斜め方向Ｖ１における局所復号画素値の変化の大きさを示す指標Ｂ１を計算する（ステップ２００１）。次に、推定部８２５は、それらの２列の符号化済み画素の局所復号画素値から、斜め方向Ｖ１と交差する斜め方向Ｖ２における局所復号画素値の変化の大きさを示す指標Ｂ２を計算し（ステップ２００２）、指標Ｂ１と指標Ｂ２を比較する（ステップ２００３）。
【０１３１】
指標Ｂ１が指標Ｂ２よりも大きい場合（ステップ２００３，ＹＥＳ）、推定部８２５は、第２ビットの推定値Ｐ２を“１”に設定する（ステップ２００４）。一方、指標Ｂ１が指標Ｂ２以下である場合（ステップ２００３，ＮＯ）、推定部８２５は、推定値Ｐ２を“０”に設定する（ステップ２００５）。
【０１３２】
指標Ｂ１としては、上隣接ブロック又は左隣接ブロック内において、符号化対象ブロックに隣接する２列の画素のうち、斜め方向Ｖ１に並んでいる画素の局所復号画素値の差分絶対値和を用いることができる。
【０１３３】
第１ビットの推定値が“０”である場合、すなわち、推定された角度が角度範囲Ｇ１又は角度範囲Ｇ２に属する場合、左隣接ブロック内の右端の２列の画素が用いられる。一方、第１ビットの推定値が“１”である場合、すなわち、推定された角度が角度範囲Ｇ３又は角度範囲Ｇ４に属する場合、上隣接ブロック内の下端の２列の画素が用いられる。
【０１３４】
指標Ｂ２としては、指標Ｂ１の計算に用いた２列の画素のうち、斜め方向Ｖ２に並んでいる画素の局所復号画素値の差分絶対値和を用いることができる。
【０１３５】
図２１は、第１ビットの推定値が“０”である場合の指標Ｂ１及び指標Ｂ２の計算方法の例を示している。この場合、指標Ｂ１は、例えば、次式により計算される。
【０１３６】
【数７】
2019150435.tif 000009
【０１３７】
式（７）において、ｍは、符号化対象ブロックの高さを表し、ｒｅｆ（ｘ，ｙ）は、左隣接ブロック内の位置（ｘ，ｙ）に存在する画素の局所復号画素値を表す。ｘ及びｙは、左隣接ブロックの右上の画素Ｒ１を基準位置（０，０）とする相対座標であり、ｘは左に向かって増加し、ｙは下に向かって増加する。
【０１３８】
この場合、ｘ＝０の列の画素とｘ＝１の列の画素の間で差分絶対値和が計算され、斜め方向Ｖ１は、右上から左下へ向かう方向に対応する。差分絶対値和が大きいほど、指標Ｂ１が大きくなる。したがって、指標Ｂ１が大きいほど、斜め方向Ｖ１における局所復号画素値の変化が大きく、２列の画素のエッジ方向が、斜め方向Ｖ１と交差する方向である可能性が高い。
【０１３９】
一方、指標Ｂ２は、例えば、次式により計算される。
【０１４０】
【数８】
2019150435.tif 000010
【０１４１】
この場合も、ｘ＝０の列の画素とｘ＝１の列の画素の間で差分絶対値和が計算される。斜め方向Ｖ２は、右下から左上へ向かう方向に対応し、斜め方向Ｖ１と直交する。差分絶対値和が大きいほど、指標Ｂ２が大きくなる。したがって、指標Ｂ２が大きいほど、斜め方向Ｖ２における局所復号画素値の変化が大きく、２列の画素のエッジ方向が、斜め方向Ｖ２と交差する方向である可能性が高い。
【０１４２】
図２２は、第１ビットの推定値が“１”である場合の指標Ｂ１及び指標Ｂ２の計算方法の例を示している。この場合、指標Ｂ１は、例えば、次式により計算される。
【０１４３】
【数９】
2019150435.tif 000011
【０１４４】
式（９）において、ｎは、符号化対象ブロックの幅を表し、ｒｅｆ（ｘ，ｙ）は、上隣接ブロック内の位置（ｘ，ｙ）に存在する画素の局所復号画素値を表す。ｘ及びｙは、上隣接ブロックの左下の画素Ｒ２を基準位置（０，０）とする相対座標であり、ｘは右に向かって増加し、ｙは上に向かって増加する。
【０１４５】
この場合、ｙ＝０の列の画素とｙ＝１の列の画素の間で差分絶対値和が計算され、斜め方向Ｖ１は、右下から左上へ向かう方向に対応する。指標Ｂ１が大きいほど、斜め方向Ｖ１における局所復号画素値の変化が大きく、２列の画素のエッジ方向が、斜め方向Ｖ１と交差する方向である可能性が高い。
【０１４６】
一方、指標Ｂ２は、例えば、次式により計算される。
【０１４７】
【数１０】
2019150435.tif 000012
【０１４８】
この場合も、ｙ＝０の列の画素とｙ＝１の列の画素の間で差分絶対値和が計算される。斜め方向Ｖ２は、左下から右上へ向かう方向に対応し、斜め方向Ｖ１と直交する。指標Ｂ２が大きいほど、斜め方向Ｖ２における局所復号画素値の変化が大きく、２列の画素のエッジ方向が、斜め方向Ｖ２と交差する方向である可能性が高い。
【０１４９】
図１４及び図２０の推定処理によれば、フレーム内予測部８１７におけるイントラ予測よりも少ない演算量で、イントラ予測の角度を示すビット列の上位２ビットのビット値と一致する可能性が高い推定値を求めることができる。これにより、第１フラグ及び第２フラグにおける値“０”の生起確率を、値“１”の生起確率よりも高くすることが可能になる。
【０１５０】
映像復号装置１６０１の推定部１６２１は、推定部８２５と同様の推定処理を行い、上位２ビットの推定値を生成する。そして、算術復号部１６１１の生成部１７０２は、上位２ビットの推定値とフラグ情報が示す２ビットのビット値とのＸＯＲを計算し、そのＸＯＲの値を、イントラ予測の角度を示すビット列の上位２ビットに設定する。そして、生成部１７０２は、復号部１７０１が出力する残りのビット値を、イントラ予測の角度を示すビット列の上位２ビット以外のビットに設定する。
【０１５１】
例えば、イントラ予測の角度が１１番目の角度である場合、上位２ビットの推定値とフラグ情報が示す２ビットのビット値とのＸＯＲは“１０”になる。そこで、“１０”が上位２ビットに設定され、残りのビット値“１１”と連結されて、１１番目の角度を示すビット列“１０１１”が生成される。
【０１５２】
図２３は、映像符号化システムの機能的構成例を示している。図２３の映像符号化システム２３０１は、図８の映像符号化装置８０１及び図１６の映像復号装置１６０１を含み、様々な用途に利用される。例えば、映像符号化システム３２０１は、ビデオカメラ、映像送信装置、映像受信装置、テレビ電話システム、コンピュータ、又は携帯電話機であってもよい。
【０１５３】
図４及び図８の映像符号化装置の構成は一例に過ぎず、映像符号化装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図９の算術符号化部８１５の構成は一例に過ぎず、映像符号化装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。映像符号化装置は、ＨＥＶＣ以外の符号化方式を採用してもよく、ＣＡＢＡＣ以外の可変長符号化方式を採用してもよい。
【０１５４】
図６及び図１６の映像復号装置の構成は一例に過ぎず、映像復号装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図１７の算術復号部１６１１の構成は一例に過ぎず、映像復号装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。映像復号装置は、ＨＥＶＣ以外の復号方式を採用してもよく、ＣＡＢＡＣ以外の可変長復号方式を採用してもよい。
【０１５５】
図２３の映像符号化システム２３０１の構成は一例に過ぎず、映像符号化システム２３０１の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【０１５６】
図５、図７、図１３、図１４、図１８、及び図２０に示したフローチャートは一例に過ぎず、映像符号化装置又は映像復号装置の構成又は条件に応じて、一部の処理を省略又は変更してもよい。
【０１５７】
例えば、図１４のステップ１４０３及びステップ１４０４において、周波数係数の重み付き総和の代わりに、局所復号画素値の変化の大きさを示す別の指標を用いてもよい。また、図２０のステップ２００１及びステップ２００２において、局所復号画素値の差分絶対値和の代わりに、斜め方向における局所復号画素値の変化の大きさを示す別の指標を用いてもよい。図１３のステップ１３０４及び図１８のステップ１８０３において、イントラ予測の角度を示すビット列の上位３ビット以上のビット値を推定してもよい。
【０１５８】
図１に示した符号化対象ブロック１０１、上隣接画素１０２、及び左隣接画素１０３は一例に過ぎず、これらのブロック及び画素は符号化対象映像に応じて変化する。図２、図３、及び図１０に示したイントラ予測の角度は一例に過ぎず、イントラ予測の角度は、符号化対象映像に対して適用される符号化方式に応じて変化する。
【０１５９】
図１１及び図１９に示した上隣接ブロック及び左隣接ブロックは一例に過ぎず、上隣接ブロック及び左隣接ブロックのエッジ方向は、符号化対象映像に応じて変化する。図１２に示したイントラ予測の角度を示すビット列は一例に過ぎず、このビット列は、イントラ予測の角度の個数に応じて変化する。
【０１６０】
図１５に示した重みｗ（ｉ）は一例に過ぎず、重みｗ（ｉ）として別の値を用いてもよい。図２１及び図２２に示した指標Ｂ１及び指標Ｂ２の計算方法は一例に過ぎず、別の計算方法により指標Ｂ１及び指標Ｂ２を計算してもよい。
【０１６１】
式（１）〜式（１０）は一例に過ぎず、別の計算式を用いて、イントラ予測の角度を示すビット列の一部のビット値を推定してもよい。
【０１６２】
図４の映像符号化装置４０１、図６の映像復号装置６０１、図８の映像符号化装置８０１、及び図１６の映像復号装置１６０１は、ハードウェア回路として実装することもでき、図２４に示すような情報処理装置（コンピュータ）を用いて実装することもできる。
【０１６３】
図２４の情報処理装置は、Central Processing Unit（ＣＰＵ）２４０１、メモリ２４０２、入力装置２４０３、出力装置２４０４、補助記憶装置２４０５、媒体駆動装置２４０６、及びネットワーク接続装置２４０７を含む。これらの構成要素はバス２４０８により互いに接続されている。
【０１６４】
メモリ２４０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを記憶する。メモリ２４０２は、図８のメモリ８２４及び図１６のメモリ１６２０として用いることができる。
【０１６５】
ＣＰＵ２４０１（プロセッサ）は、例えば、メモリ２４０２を利用してプログラムを実行することにより、図４の第１符号化部４１１、推定部４１２、生成部４１３、及び第２符号化部４１４として動作する。
【０１６６】
ＣＰＵ２４０１は、メモリ２４０２を利用してプログラムを実行することにより、図６の第１復号部６１１、推定部６１２、生成部６１３、及び第２復号部６１４としても動作する。
【０１６７】
ＣＰＵ２４０１は、メモリ２４０２を利用してプログラムを実行することにより、図８のブロック分割部８１１、予測誤差生成部８１２、直交変換部８１３、量子化部８１４、算術符号化部８１５、及び符号化制御部８１６としても動作する。ＣＰＵ２４０１は、メモリ２４０２を利用してプログラムを実行することにより、フレーム内予測部８１７、フレーム間予測部８１８、選択部８１９、逆量子化部８２０、逆直交変換部８２１、再構成部８２２、及びループ内フィルタ８２３としても動作する。ＣＰＵ２４０１は、メモリ２４０２を利用してプログラムを実行することにより、推定部８２５としても動作する。
【０１６８】
ＣＰＵ２４０１は、メモリ２４０２を利用してプログラムを実行することにより、図９の生成部９０１及び符号化部９０２としても動作する。
【０１６９】
ＣＰＵ２４０１は、メモリ２４０２を利用してプログラムを実行することにより、図１６の算術復号部１６１１、逆量子化部１６１２、逆直交変換部１６１３、再構成部１６１４、及びループ内フィルタ１６１５としても動作する。ＣＰＵ２４０１は、メモリ２４０２を利用してプログラムを実行することにより、選択部１６１６、フレーム間予測部１６１７、フレーム内予測部１６１８、選択部１６１９、及び推定部１６２１としても動作する。
【０１７０】
ＣＰＵ２４０１は、メモリ２４０２を利用してプログラムを実行することにより、図１７の復号部１７０１及び生成部１７０２としても動作する。
【０１７１】
入力装置２４０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置２４０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。処理結果は、復号映像であってもよい。
【０１７２】
補助記憶装置２４０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置２４０５は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置２４０５にプログラム及びデータを格納しておき、それらをメモリ２４０２にロードして使用することができる。
【０１７３】
媒体駆動装置２４０６は、可搬型記録媒体２４０９を駆動し、その記録内容にアクセスする。可搬型記録媒体２４０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体２４０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、又はUniversal Serial Bus（ＵＳＢ）メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体２４０９にプログラム及びデータを格納しておき、それらをメモリ２４０２にロードして使用することができる。
【０１７４】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ２４０２、補助記憶装置２４０５、及び可搬型記録媒体２４０９のような、物理的な（非一時的な）記録媒体が含まれる。
【０１７５】
ネットワーク接続装置２４０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。ネットワーク接続装置２４０７は、符号化ストリームを映像復号装置へ送信したり、符号化ストリームを映像符号化装置から受信したりすることができる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２４０７を介して受信し、それらをメモリ２４０２にロードして使用することができる。
【０１７６】
なお、情報処理装置が図２４のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要である場合は、入力装置２４０３及び出力装置２４０４を省略してもよい。また、情報処理装置が可搬型記録媒体２４０９にアクセスしない場合は、媒体駆動装置２４０６を省略してもよい。
【０１７７】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【図１】
2019150435.tif 000013
【図２】
2019150435.tif 000014
【図３】
2019150435.tif 000015
【図４】
2019150435.tif 000016
【図５】
2019150435.tif 000017
【図６】
2019150435.tif 000018
【図７】
2019150435.tif 000019
【図８】
2019150435.tif 000020
【図９】
2019150435.tif 000021
【図１０】
2019150435.tif 000022
【図１１】
2019150435.tif 000023
【図１２】
2019150435.tif 000024
【図１３】
2019150435.tif 000025
【図１４】
2019150435.tif 000026
【図１５】
2019150435.tif 000027
【図１６】
2019150435.tif 000028
【図１７】
2019150435.tif 000029
【図１８】
2019150435.tif 000030
【図１９】
2019150435.tif 000031
【図２０】
2019150435.tif 000032
【図２１】
2019150435.tif 000033
【図２２】
2019150435.tif 000034
【図２３】
2019150435.tif 000035
【図２４】
2019150435.tif 000036
【国際調査報告】
2019150435.tif 000037
2019150435.tif 000038
2019150435.tif 000039
2019150435.tif 000040