(57)【要約】  イントラ予測において、符号量を削減する。符号化装置は、処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成する変換部と、前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出する算出部と、前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化するための二値信号を生成する生成部とを有する。
2020059092.tif 000002
【特許請求の範囲】
【請求項１】
処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成する変換部と、
前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出する算出部と、
前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化のための二値信号を生成する生成部と
を有することを特徴とする符号化装置。
【請求項２】
前記生成部は、
前記参照方向に応じた値に基づいて生成された二値信号の上位ｍビット（ｍは１以上の整数）の値について、前記予測値との排他的論理和を演算することで、前記算術符号化のための二値信号を生成することを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記算出部は、
前記処理対象のブロックの上側に隣接する上隣接ブロック及び左側に隣接する左隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの前記予測値を算出することを特徴とする請求項１に記載の符号化装置。
【請求項４】
前記算出部は、
前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値が、水平方向を示す値であるか、垂直方向を示す値であるかを判定することで、前記予測値を算出することを特徴とする請求項１に記載の符号化装置。
【請求項５】
前記算術符号化のための二値信号のうち、前記予測値との前記排他的論理和を演算した上位ｍビットの値について、コンテキストモードにより算術符号化する符号化部を更に有することを特徴とする請求項２に記載の符号化装置。
【請求項６】
前記符号化部は、
前記算術符号化のための二値信号のうち、上位ｍビット以外の各ビットの値について、バイパスモードにより算術符号化することを特徴とする請求項５に記載の符号化装置。
【請求項７】
前記処理対象のブロックでのイントラ予測において選択された参照方向が、１８０°反転した場合でもイントラ予測が可能であり、かつ、選択された参照方向における参照画素までの距離が、１８０°反転した場合の参照画素までの距離よりも小さい場合、前記変換部は、１８０°反転した参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで生成する前記参照方向に応じた値とすることを特徴とする請求項１に記載の符号化装置。
【請求項８】
処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成し、
前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出し、
前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化のための二値信号を生成する、
処理をコンピュータが実行する符号化方法。
【請求項９】
処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成し、
前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出し、
前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化のための二値信号を生成する、
処理をコンピュータに実行させるための符号化プログラム。
【請求項１０】
符号化ストリームを復号し、処理対象のブロックのイントラ予測モード情報を生成する復号部と、
前記処理対象のブロックの形状に応じて変換することで、前記イントラ予測モード情報から参照方向を示す値を算出し、前記処理対象のブロックでのイントラ予測を行う予測部と、を有し、
前記復号部は、
前記予測部が前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報に基づいて、前記処理対象のブロックでの予測値を算出する算出部と、
前記予測値を用いて前記イントラ予測モード情報を生成する生成部と
を有することを特徴とする復号装置。
【請求項１１】
前記生成部は、
前記符号化ストリームを復号した二値信号の上位ｍビットの値について、前記予測値との排他的論理和を演算することで、前記イントラ予測モード情報を生成することを特徴とする請求項１０に記載の復号装置。
【請求項１２】
前記算出部は、
前記処理対象のブロックの上側に隣接する上隣接ブロック及び左側に隣接する左隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報に基づいて、前記処理対象のブロックでの前記予測値を算出することを特徴とする請求項１０に記載の復号装置。
【請求項１３】
前記算出部は、
前記予測部が前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報から算出される参照方向に応じた値が、水平方向を示す値であるか、垂直方向を示す値であるかを判定することで、前記予測値を算出することを特徴とする請求項１０に記載の復号装置。
【請求項１４】
符号化ストリームを復号し、処理対象のブロックのイントラ予測モード情報を生成し、
前記処理対象のブロックの形状に応じて変換することで、前記イントラ予測モード情報から参照方向を示す値を算出し、前記処理対象のブロックでのイントラ予測を行う、処理をコンピュータが実行する復号方法であって、
前記生成する処理は、
前記イントラ予測を行う処理が、前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報に基づいて、前記処理対象のブロックでの予測値を算出し、
前記予測値を用いて前記イントラ予測モード情報を生成する、
ことを特徴とする復号方法。
【請求項１５】
符号化ストリームを復号し、処理対象のブロックのイントラ予測モード情報を生成し、
前記処理対象のブロックの形状に応じて変換することで、前記イントラ予測モード情報から参照方向を示す値を算出し、前記処理対象のブロックでのイントラ予測を行う、処理をコンピュータに実行させるための復号プログラムであって、
前記生成する処理は、
前記イントラ予測を行う処理が、前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測を行う際に用いた、前記イントラ予測モード情報に基づいて、前記処理対象のブロックでの予測値を算出し、
前記予測値を用いて前記イントラ予測モード情報を生成する、
ことを特徴とする復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラムに関する。
【背景技術】
【０００２】
動画像データの圧縮符号化に関する国際標準として、Ｈ．２６５／ＨＥＶＣが知られている。Ｈ．２６５／ＨＥＶＣでは、イントラ予測とインタ予測の２つの予測方法が採用されており、イントラ予測には、更に、３種類の予測モード（プレーナ予測、直流予測、角度予測）が規定されている。【０００３】
このうち、角度予測モードによるイントラ予測では、予め定義されたＮ個の異なる角度（参照方向）のうち、選択された参照方向を参照することで、処理対象のブロックの画素値を予測する。【０００４】
角度予測モードによるイントラ予測の場合、符号化装置では、参照方向の数（Ｎ個）に応じたビット数の二値信号を、発生確率モデルを用いて算術符号化することで、符号化ストリームを生成する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】"Description of SDR and HDR video coding technology proposal by Ericsson and Nokia", JVET-J0012, April 2018
【非特許文献２】"Versatile Video Coding (Draft 2)", JVET-K1001, July 2018
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、従来の符号化装置では、発生確率の推定が困難な二値信号については、発生確率を０．５に固定するバイパスモードを用いて算術符号化を行っていた。このため、かかる二値信号については、符号化ストリーム生成時の符号量の削減が十分ではないといった問題があった。更に、かかる問題は、動画像データの圧縮符号化に関する次世代の国際標準であるＶＶＣ（Versatile Video Codec）においても同様に起こり得る。【０００７】
一つの側面では、イントラ予測において、符号量を削減することを目的としている。
【課題を解決するための手段】
【０００８】
一態様によれば、符号化装置は、
処理対象のブロックでのイントラ予測において選択された参照方向を示す値を、前記処理対象のブロックの形状に応じて変換することで、参照方向に応じた値を生成する変換部と、
前記処理対象のブロックに隣接する隣接ブロックでのイントラ予測において生成された、前記参照方向に応じた値から、前記処理対象のブロックでの予測値を算出する算出部と、
前記処理対象のブロックでのイントラ予測において生成された、前記参照方向に応じた値と前記予測値とに基づいて、算術符号化のための二値信号を生成する生成部とを有する。
【発明の効果】
【０００９】
イントラ予測において、符号量を削減することができる。
【図面の簡単な説明】
【００１０】
【図１】イントラ予測モード情報の符号化処理及び復号処理の概要を説明するための図である。
【図２】図２は、符号化装置の機能構成の一例を示す図である。
【図３】図３は、符号化装置のハードウェア構成の一例を示す図である。
【図４】図４は、ＶＶＣ規格のイントラ予測において用いられる処理対象のブロックの一例を示す図である。
【図５】図５は、ＨＥＶＣ規格において規定されたイントラ予測の参照方向及びイントラ予測モードの番号を示す図である。
【図６】図６は、ＶＶＣ規格において規定されたイントラ予測の参照方向を示す図である。
【図７】図７は、ＶＶＣ規格において規定された第２のイントラ予測モードの番号を説明するための図である。
【図８】図８は、イントラ予測モードの番号の総数を削減する方法を説明するための図である。
【図９】図９は、符号化装置のイントラ予測部の機能構成の一例を示す図である。
【図１０】図１０は、イントラ予測部によるイントラ予測処理の流れを示すフローチャートである。
【図１１】図１１は、符号化装置のエントロピ符号化部の機能構成の一例を示す図である。
【図１２】図１２は、二値化部により生成された二値信号の具体例を示す第１の図である。
【図１３】図１３は、ＭＳＢ予測値の算出方法を説明するための図である。
【図１４】図１４は、復号装置の機能構成の一例を示す図である。
【図１５】図１５は、復号装置のエントロピ復号部の機能構成の一例を示す図である。
【図１６】図１６は、復号装置のイントラ予測部の機能構成の一例を示す図である。
【図１７】図１７は、エントロピ復号部及びイントラ予測部による、復号及びイントラ予測処理の流れを示すフローチャートである。
【図１８】図１８は、二値化部により生成された二値信号の具体例を示す第２の図である。
【図１９】図１９は、上位２ビットの予測値の算出方法を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【００１２】
［第１の実施形態］
＜イントラ予測モード情報の符号化処理及び復号処理の概要＞
はじめに、第１の実施形態に係る符号化装置が、イントラ予測を行う場合の、イントラ予測モード情報の符号化処理と、対応する復号装置がイントラ予測モード情報の符号化ストリームを復号する場合の復号処理の概要について説明する。
【００１３】
なお、イントラ予測モードには、直流予測モード、プレーナ予測モード、角度予測モードが含まれる。また、イントラ予測モード情報とは、いずれのイントラ予測モードによりイントラ予測を行ったかを特定するための情報である。
【００１４】
図１は、イントラ予測モード情報の符号化処理及び復号処理の概要を説明するための図である。
【００１５】
処理対象のブロックに対して、イントラ予測を行う場合、符号化装置１１０では、第２のイントラ予測モードの番号（符号１１１）を選択する。第２のイントラ予測モードの番号（符号１１１）とは、参照方向を示す値であり、
・角度予測モードによるイントラ予測において、処理対象のブロックが参照可能な参照方向を示す番号のうちのいずれかの番号、または、
・直流予測モードを示す番号、または、
・プレーナ予測モードを示す番号、
のいずれかを指すものとする。
【００１６】
なお、次世代の国際標準であるＶＶＣ規格では、処理対象のブロックが参照可能な参照方向として、８７通りの参照方向が規定されている。
【００１７】
続いて、符号化装置１１０では、処理対象のブロックが参照可能な参照方向を示す番号の総数が、８７通りから６７通りに削減されるように、処理対象のブロックの形状に応じて、第２のイントラ予測モードの番号（符号１１１）を変換する。これにより、符号化装置１１０では、変換後の番号（参照方向に応じた値）として、第１のイントラ予測モードの番号（符号１１２）を生成する。なお、以下の説明では、第１のイントラ予測モードの番号（符号１１２）と、第２のイントラ予測モードの番号（符号１１１）のいずれかを指す場合、単にイントラ予測モードの番号と称する場合がある。
【００１８】
続いて、符号化装置１１０では、処理対象のブロックが参照可能な参照方向を示す番号の総数を、６７通りから６４通りにし、６ビットに収まるように、第１のイントラ予測モードの番号（符号１１２）を変換する。これにより、符号化装置１１０では、変換後の番号として、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ（符号１１３）を得る。
【００１９】
続いて、符号化装置１１０では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ（符号１１３）を二値化することで二値信号を生成する。また、符号化装置１１０では、生成した二値信号とＭＳＢ予測値（符号１１４）との排他的論理和を演算したうえで、算術符号化することで、イントラ予測モード情報の符号化ストリーム（符号１１７）を生成する。また、符号化装置１１０では、生成したイントラ予測モード情報の符号化ストリーム（符号１１７）を、復号装置１２０に送信する。
【００２０】
なお、ＭＳＢ予測値（符号１１４）とは、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを二値化することで生成される二値信号の最上位ビット（ＭＳＢ（Most Significant Bit））の予測値を指す。
【００２１】
一方で、符号化装置１１０では、処理対象のブロックに隣接する処理済みのブロックに対してイントラ予測を行った際のイントラ予測モードの番号と同じイントラ予測モードの番号を用いて、処理対象のブロックに対してイントラ予測を行う場合がある。この場合、符号化装置１１０では、隣接する処理済みのブロックに対してイントラ予測を行った際のイントラ予測モードの番号と同じであることを示す情報を、イントラ予測モード情報とする。
【００２２】
かかる情報をイントラ予測モード情報とするために、符号化装置１１０では、ＭＰＭリスト（符号１１５）を生成する。ＭＰＭリストとは、隣接するブロックに対してイントラ予測を行った際に用いた、イントラ予測モードの番号の一覧を指す。
【００２３】
続いて、符号化装置１１０では、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘ（符号１１６）を生成する。ＩｎｔｒａＬｕｍａＭＰＭＩｄｘ（符号１１６）とは、処理対象のブロックに対してイントラ予測を行った際のイントラ予測モードの番号が、隣接ブロックに対してイントラ予測を行った際のいずれのイントラ予測モードの番号と同じであるかを示す情報を指す。
【００２４】
更に、符号化装置１１０では、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘ（符号１１６）を二値化することで二値信号を生成し、算術符号化することで、イントラ予測モード情報の符号化ストリーム（符号１１７）を生成する。符号化装置１１０では、生成したイントラ予測モード情報の符号化ストリーム（符号１１７）を、復号装置１２０に送信する。
【００２５】
このように、符号化装置１１０では、イントラ予測モード情報として、
・ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ（符号１１３）
・ＩｎｔｒａＬｕｍａＭＰＭＩｄｘ（符号１１６）
のいずれかを符号化する。
【００２６】
また、符号化装置１１０では、イントラ予測モード情報として、
・いずれを符号化したかを示すＩｎｔｒａＬｕｍａＭＰＭＦｌａｇ
を符号化する。なお、ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇ＝０とは、符号化装置１１０が、イントラ予測モード情報として、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを符号化したことを示す。また、ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇ＝１とは、符号化装置１１０が、イントラ予測モード情報として、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘを符号化したことを示す。
【００２７】
一方、復号装置１２０では、イントラ予測モード情報の符号化ストリーム（符号１１７）を受信すると、まず、当該符号化ストリームを復号し、復号したイントラ予測モード情報（符号１２１）を得る。
【００２８】
続いて、復号装置１２０では、復号したイントラ予測モード情報（符号１２１）に含まれるＩｎｔｒａＬｕｍａＭＰＭＦｌａｇを判定する。判定の結果、ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇが０の場合、復号装置１２０では、復号したイントラ予測モード情報（符号１２１）に含まれる、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒに応じた二値信号を取得する。
【００２９】
続いて、復号装置１２０では、取得したＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒに応じた二値信号とＭＳＢ予測値（符号１２２）との排他的論理和を演算したうえで、多値化する。これにより、復号装置１２０では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ（符号１２４）を生成する。
【００３０】
続いて、復号装置１２０では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ（符号１２４）を７ビット化することで、６７通りの第１のイントラ予測モードの番号のいずれかの番号を得る（符号１２５）。
【００３１】
一方、復号装置１２０では、復号したイントラ予測モード情報（符号１２１）に含まれるＩｎｔｒａＬｕｍａＭＰＭＦｌａｇが１の場合には、復号したイントラ予測モード情報（符号１２１）に含まれる、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘの二値信号を取得する。
【００３２】
続いて、復号装置１２０では、取得したＩｎｔｒａＬｕｍａＭＰＭＩｄｘの二値信号を多値化し、ＭＰＭリスト（符号１２３）より、第１のイントラ予測モードの番号（符号１２５）を得る。
【００３３】
続いて、復号装置１２０では、第１のイントラ予測モードの番号（符号１２５）を、処理対象のブロックの形状に応じて、８７通りの第２のイントラ予測モードの番号（符号１２６）のいずれかに振り直す。
【００３４】
これにより、復号装置１２０では、８７通りの参照方向のうちのいずれかの参照方向を示す第２のイントラ予測モードの番号（符号１２６）を得る。
【００３５】
このように、第１の実施形態に係る符号化装置１１０では、第２のイントラ予測モードの番号を、処理対象のブロックの形状に応じて変換することでＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを得る。また、第１の実施形態に係る符号化装置１１０では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号を符号化する際、ＭＳＢ予測値を算出する。そして、二値信号のＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの最上位ビットを、算出したＭＳＢ予測値（符号１１４）で置き換えることで、当該二値信号の最上位ビットの発生確率を上げる。
【００３６】
これにより、符号化装置１１０では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ（符号１１３）の二値信号を算術符号化する際、最上位ビットについて、コンテキストモードによる算術符号化を実現する確率を上げることができる。この結果、符号化装置１１０によれば、バイパスモードによる算術符号化を行った場合と比べて、符号化時の符号量を削減することができる。
【００３７】
＜符号化装置の機能構成＞
次に、符号化装置１１０の機能構成について説明する。符号化装置１１０には符号化プログラムがインストールされており、当該プログラムが実行されることで、符号化装置１１０は、原画像として入力された動画像データを符号化し、符号化ストリームを復号装置１２０に送信する。
【００３８】
図２は、符号化装置の機能構成の一例を示す図である。図２に示すように、符号化装置１１０は、ブロック分割部２０１、直交変換部２０２、量子化部２０３、逆量子化部２０４、逆直交変換部２０５を有する。また、符号化装置１１０は、ループフィルタ部２０６、局所復号画像メモリ２０７、イントラ予測部２０８、インタ予測部２０９、エントロピ符号化部２１１を有する。
【００３９】
ブロック分割部２０１は、入力された動画像データに含まれる各フレームを、複数のブロックに分割することで、原画ブロックを生成する。
【００４０】
直交変換部２０２は、ブロック分割部２０１において生成された原画ブロックと、後述する予測部（イントラ予測部２０８またはインタ予測部２０９）にて生成された予測ブロックとの差分である、予測誤差ブロックを取得する。また、直交変換部２０２は、取得した予測誤差ブロックに対して直交変換処理を行い、変換係数を算出する。
【００４１】
量子化部２０３は、直交変換部２０２において算出された変換係数を量子化し、予測誤差符号化パラメータを算出する。
【００４２】
逆量子化部２０４は、量子化部２０３において算出された予測誤差符号化パラメータを逆量子化し、逆量子化変換係数を算出する。
【００４３】
逆直交変換部２０５は、逆量子化部２０４において算出された逆量子化変換係数に対して逆直交変換を行い、予測誤差復号ブロックを生成する。逆直交変換部２０５において生成された予測誤差復号ブロックに対しては、後述する予測部（イントラ予測部２０８またはインタ予測部２０９）にて生成された予測ブロックが加算されることで、加算部出力ブロックが生成される。
【００４４】
ループフィルタ部２０６は、生成された加算部出力ブロックに対して、デブロッキングフィルタ等を用いてフィルタ処理を行うことで局所復号ブロックを生成し、局所復号画像メモリ２０７に格納する。
【００４５】
イントラ予測部２０８は変換部の一例であり、イントラ予測を行い、イントラ予測ブロックを生成する。なお、以下では、イントラ予測部２０８において、角度予測モードによるイントラ予測が行われるものとして説明する。
【００４６】
具体的には、イントラ予測部２０８は、原画ブロックのうちの処理対象のブロックにおいてイントラ予測を行う際、加算部出力ブロックのうちの処理対象のブロックの上側または左側に隣接するブロックを参照し、イントラ予測ブロックを生成する。
【００４７】
また、イントラ予測部２０８は、処理対象のブロックについてのイントラ予測モード情報をエントロピ符号化部２１１に通知する。更に、イントラ予測部２０８は、処理対象のブロックに隣接する隣接ブロックの第１のイントラ予測モードの番号をエントロピ符号化部２１１に通知する。
【００４８】
インタ予測部２０９は、原画ブロックのうちの処理対象のブロックについて、他のフレーム内の局所復号ブロックを用いてインタ予測を行い、インタ予測ブロックを生成する。
【００４９】
符号化装置１１０では、イントラ予測部２０８において生成されたイントラ予測ブロック、または、インタ予測部２０９において生成されたインタ予測ブロックのいずれか一方が選択される。
【００５０】
選択された予測ブロックは、予測誤差復号ブロックに加算される。また、選択された予測ブロックは、原画ブロックのうちの処理対象のブロックとの差分の算出に用いられ、予測誤差ブロックとして、直交変換部２０２に入力される。なお、以下では、予測ブロックとしてイントラ予測ブロックが選択されるものとして説明する。
【００５１】
エントロピ符号化部２１１は、量子化部２０３において算出された予測誤差符号化パラメータを符号化する。また、エントロピ符号化部２１１は、イントラ予測部２０８より通知されたイントラ予測モード情報を含む各種シンタックス要素を符号化する。なお、エントロピ符号化部２１１は、イントラ予測モード情報を符号化するにあたり、隣接ブロックの第１のイントラ予測モードの番号を用いる。
【００５２】
このように、エントロピ符号化部２１１は、予測誤差符号化パラメータ及び各種シンタックス要素を符号化することで、符号化ストリームを生成し、復号装置１２０に送信する。
【００５３】
＜符号化装置のハードウェア構成＞
次に、符号化装置１１０のハードウェア構成について説明する。図３は、符号化装置のハードウェア構成の一例を示す図である。図３に示すように、符号化装置１１０は、ＣＰＵ（Central Processing Unit）３０１、ＲＯＭ（Read Only Memory）３０２、ＲＡＭ（Random Access Memory）３０３を有する。ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３は、いわゆるコンピュータを形成する。
【００５４】
また、符号化装置１１０は、補助記憶装置３０４、表示装置３０５、操作装置３０６、Ｉ／Ｆ（Interface）装置３０７、ドライブ装置３０８を有する。なお、符号化装置１１０の各ハードウェアは、バス３０９を介して相互に接続されている。
【００５５】
ＣＰＵ３０１は、補助記憶装置３０４にインストールされている各種プログラム（例えば、符号化プログラム等）を実行する演算デバイスである。
【００５６】
ＲＯＭ３０２は、不揮発性メモリである。ＲＯＭ３０２は、補助記憶装置３０４にインストールされている各種プログラムをＣＰＵ３０１が実行するために必要な各種プログラム、データ等を格納する、主記憶デバイスとして機能する。具体的には、ＲＯＭ３０２はＢＩＯＳ（Basic Input/Output System）やＥＦＩ（Extensible Firmware Interface）等のブートプログラム等を格納する、主記憶デバイスとして機能する。
【００５７】
ＲＡＭ３０３は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）等の揮発性メモリである。ＲＡＭ３０３は、補助記憶装置３０４にインストールされている各種プログラムがＣＰＵ３０１によって実行される際に展開される作業領域を提供する、主記憶デバイスとして機能する。
【００５８】
補助記憶装置３０４は、各種プログラムや、各種プログラムが実行される際に用いられるデータ（例えば、動画像データ）を格納する補助記憶デバイスである。
【００５９】
表示装置３０５は、符号化装置１１０の内部状態を表示する表示デバイスである。操作装置３０６は、符号化装置１１０のユーザが符号化装置１１０に対して各種指示を入力する入力デバイスである。
【００６０】
Ｉ／Ｆ装置３０７は、他の装置（例えば、復号装置１２０）と接続し、他の装置との間で符号化ストリームの送受信を行うための接続デバイスである。
【００６１】
ドライブ装置３０８は記録媒体３１０をセットするためのデバイスである。ここでいう記録媒体３１０には、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体３１０には、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【００６２】
なお、補助記憶装置３０４にインストールされる各種プログラムは、例えば、配布された記録媒体３１０がドライブ装置３０８にセットされ、該記録媒体３１０に記録された各種プログラムがドライブ装置３０８により読み出されることでインストールされる。あるいは、補助記憶装置３０４にインストールされる各種プログラムは、不図示のネットワークよりダウンロードされることでインストールされてもよい。
【００６３】
なお、説明の簡略化のため、図３では、符号化装置１１０のハードウェア構成のみを示したが、復号装置１２０も同様のハードウェア構成を有しているものとする。
【００６４】
＜ＶＶＣ規格のイントラ予測に関する規定＞
次に、次世代の国際標準であるＶＶＣ規格のイントラ予測に関する規定として、処理対象のブロック、イントラ予測モードの番号、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒに関する規定について説明する。
【００６５】
（１）処理対象のブロックに関する規定
はじめに、ＶＶＣ規格のイントラ予測に関する規定のうち、処理対象のブロックに関する規定について説明する。図４は、ＶＶＣ規格のイントラ予測において用いられる処理対象のブロックの一例を示す図である。ＨＥＶＣ規格のイントラ予測では、処理対象のブロックとして、形状が正方形のみのブロックが用いられていたが、ＶＶＣ規格の場合、図４に示すように長方形のブロックも用いられる。
【００６６】
図４において、フレーム４００は、ＶＶＣ規格のイントラ予測において用いられる各種ブロックの形状、サイズを示しており、符号４１０〜４３０は、このうちの典型的なブロックの形状、サイズを抜粋して示したものである。
【００６７】
このうち、符号４１０は、横方向画素数＝Ｗ、縦方向画素数＝Ｈのブロックを、横方向画素数＝（Ｗ／２）、縦方向画素数＝（Ｈ／２）の４つのブロックに分割することで得られたブロックを示している。
【００６８】
また、符号４２０は、横方向画素数＝Ｗ、縦方向画素数＝Ｈのブロックを、横方向画素数＝（Ｗ／２）、縦方向画素数＝Ｈの２つのブロック、または、横方向画素数＝Ｗ、縦方向画素数＝（Ｈ／２）の２つのブロックに分割することで得られたブロックを示している。
【００６９】
また、符号４３０は、横方向画素数＝Ｗ、縦方向画素数＝Ｈのブロックを、横方向画素数＝（Ｗ／４）、縦方向画素数＝Ｈの２つのブロックと、横方向画素数＝（Ｗ／２）、縦方向画素数＝Ｈの１つのブロックとに分割することで得られたブロックを示している。あるいは、符号４３０は、横方向画素数＝Ｗ、縦方向画素数＝Ｈのブロックを、横方向画素数＝Ｗ、縦方向画素数＝（Ｈ／４）の２つのブロックと、横方向画素数＝Ｗ、縦方向画素数＝（Ｈ／２）の１つのブロックとに分割することで得られたブロックを示している。
【００７０】
このように、ＶＶＣ規格では、様々な形状及びサイズの長方形のブロックが用いられる。なお、図４の例では、長方形のブロックの縦横比が１：２の場合と、２：１の場合とについて示したが、１：２または２：１以外の縦横比の長方形のブロックが用いられてもよい。
【００７１】
（２）イントラ予測モードの番号に関する規定
次に、ＶＶＣ規格のイントラ予測に関する規定のうち、イントラ予測モードの番号に関する規定について、ＨＥＶＣ規格のイントラ予測モードの番号に関する規定と対比しながら説明する。
【００７２】
（２−１）ＨＥＶＣ規格の場合
図５は、ＨＥＶＣ規格において規定されたイントラ予測の参照方向及びイントラ予測モードの番号を示す図である。
【００７３】
イントラ予測は、ラスタスキャン順で先に処理されたブロック（加算部出力ブロック）の画素値を予測画素値とする。このため、参照方向は、図５に示すように、フレーム内の左下方向から右上方向までの時計回りの範囲（左水平方向を０°とした場合、−４５°〜＋１３５°の範囲）となる。
【００７４】
また、図５に示すように、各角度には、−４５°から＋１３５°の順で、２番から３４番までの３３通りの角度予測モードによるイントラ予測モードの番号が割り当てられている。なお、０番及び１番には、それぞれ、プレーナ予測モード及び直流予測モード（空間的な方向性をもたない予測モード）によるイントラ予測モードの番号が割り当てられている。
【００７５】
角度予測モードによるイントラ予測モードでは、３３通りの参照方向のうち、指定された参照方向に合致した外挿を行うことで、処理対象のブロックの各画素の予測画素値を生成する。
【００７６】
（２−２）ＶＶＣ規格の場合の参照方向
一方、図６は、ＶＶＣ規格において規定されたイントラ予測の参照方向を示す図である。ＶＶＣ規格の場合、ＨＥＶＣ規格と比較して、参照方向の数が２倍となる。また、ＶＶＣ規格の場合、処理対象のブロックが非正方形である場合を考慮して、参照方向の範囲が追加されている（−７３°〜−４５°、及び、＋１３５°〜＋１６３°が追加されている）。
【００７７】
図６において、符号６０１は、処理対象のブロックが正方形である場合の参照方向である、−４５°〜＋４５°の範囲を示している。また、符号６０２は、処理対象のブロックが正方形である場合の参照方向である、＋４５°〜＋１３５°の範囲を示している。
【００７８】
一方、符号６０３は、処理対象のブロックが非正方形である場合の参照方向として追加された、−７３°〜−４５°の範囲を示している。更に、符号６０４は、処理対象のブロックが非正方形である場合の参照方向として追加された、＋１３５°〜＋１６３°の範囲を示している。
【００７９】
なお、ＶＶＣ規格の場合、第２のイントラ予測モードの番号の総数は、８５通りの参照方向を有する角度予測モードの番号に、プレーナ予測モード及び直流予測モードの番号を加えた８７通りとなる。
【００８０】
（２−３）第２のイントラ予測モードの番号
次に、ＶＶＣ規格において規定された、８７通りの参照方向を有する角度予測モード、プレーナ予測モード及び直流予測モードを含む、第２のイントラ予測モードの番号の割り当てについて説明する。図７は、ＶＶＣ規格において規定された第２のイントラ予測モードの番号を説明するための図である、
図７に示すように、−４５°から＋１３５°の順で、２番から６６番までの角度予測モードによる第２のイントラ予測モードの番号が割り当てられる。なお、０番及び１番には、それぞれ、プレーナ予測モード及び直流予測モードによる第２のイントラ予測モードの番号が割り当てられる。
【００８１】
加えて、＋１３５°以上の各角度には、６７番から７６番までの角度予測モードによる第２のイントラ予測モードの番号が割り当てられる。また、−７３°から−４５°までの各角度には、−１０番から−１番までの角度予測モードによる第２のイントラ予測モードの番号が割り当てられる。
【００８２】
（２−４）第１のイントラ予測モードの番号
ここで、ＶＶＣ規格では、図１を用いて説明したとおり、８７通りの第２のイントラ予測モードの番号（符号１１１）を、６７通りの第１のイントラ予測モードの番号（符号１１２）へと、総数を削減する。
【００８３】
これは、イントラ予測モードの番号の総数を８７通りとすることで、ＨＥＶＣ規格と比較して、予測誤差を低減できる一方で、符号化した際のイントラ予測モード情報の符号量が増加することを考慮したものである。
【００８４】
図８は、イントラ予測モードの番号の総数を削減する方法を説明するための図である。図８において、処理対象のブロック８０１は、横方向画素数＝Ｗ、縦方向画素数＝（Ｗ／２）であるとする。また、画素８０２は、処理対象のブロック８０１の最も右下に位置する画素であり、画素８０３は、処理対象のブロック８０１に隣接し、角度予測モードによるイントラ予測の際に参照される画素である。
【００８５】
また、矢印８１０、８１１、８２０、８２１は、それぞれ、画素８０２に対する、−４５°、−３０°、＋１３５°、＋１５０°の参照方向を示している。そして、矢印８１０、８１１、８２０、８２１の先端に位置する画素は、画素８０２によって参照される画素を示している。つまり、矢印８１０、８１１、８２０、８２１の先端に位置する画素の画素値は、画素８０２の予測画素値である。
【００８６】
一般に、角度予測モードによるイントラ予測の予測性能は、予測対象となる画素（ここでは、画素８０２）と、参照画素（ここでは、矢印８１０、８１１、８２０、８２１の先端に位置する画素）との間の距離に反比例する。つまり、予測対象となる画素と、参照画素との間の距離が近いほど予測誤差は小さくなり、符号化効率が向上する。
【００８７】
図８の例では、−４５°の参照方向の場合、参照画素（矢印８１０の先端に位置する画素）までの距離は、その対角線上にある＋１３５°の参照方向の場合の、参照画素（矢印８２０の先端に位置する画素）までの距離と比べて、大きくなる。
【００８８】
なお、処理対象のブロックの形状が正方形であった場合には、両者の距離は等しくなる。一方で、処理対象のブロックの形状が図８に示す長方形であった場合、同一線上にある角度で、画素８０２と参照画素との距離が等しくなるのは、−３０°の参照方向と＋１５０°の参照方向の場合である。
【００８９】
つまり、処理対象のブロックの縦横比が１：２の場合、角度が−３０°〜−４５°の範囲の参照方向は、角度予測モードによるイントラ予測の予測性能が低く、実際に選択される確率が低いといえる。例えば、処理対象のブロックの周囲に均一なテクスチャがあり、その方向が、矢印８１０及び矢印８２０と平行であった場合、矢印８１０の参照方向の代わりに、矢印８２０の参照方向を選択することで、予測効率を向上させることが期待できる。
【００９０】
ＶＶＣ規格では、このことを利用して、イントラ予測モードの番号の総数が６７通りとなるように（ＨＥＶＣ規格と同じになるように）、イントラ予測モードの番号を振り直す。
【００９１】
つまり、イントラ予測において選択された参照方向が、
・１８０°反転した場合でもイントラ予測が可能、かつ、
・選択された参照方向における参照画素までの距離が、１８０°反転した場合の参照画素までの距離よりも小さい、
場合には、１８０°反転した参照方向を示す値が用いられることになる。
【００９２】
このようにして、ＶＶＣ規格では、８７通りの第２のイントラ予測モードの番号（符号１１１）を、６７通りの第１のイントラ予測モードの番号（符号１１２）へと変換し、総数を削減する。
【００９３】
（２−５）総数削減処理の具体例
ここで、第２のイントラ予測モードの番号の総数を削減する処理の具体例を、図６を参照しながら説明する。
【００９４】
ＶＶＣ規格の場合、処理対象のブロックの横方向画素数と縦方向画素数とに基づいて、処理対象のブロックが横長のブロックであるのか、縦長のブロックであるのかを判定する。
【００９５】
そして、横長のブロックであると判定した場合、ＶＶＣ規格では、符号６０４で示した参照方向を、１８０°反転させた角度（符号６０１の最下から順に上側の１０方向）を特定する。また、ＶＶＣ規格では、特定した１０方向の参照方向については使用せず、これら１０方向の第２のイントラ予測モードの番号を、符号６０４で示した参照方向に対応する第１のイントラ予測モードの番号に振り直す。具体的には、ＶＶＣ規格では、第２のイントラ予測モードの番号が２〜１１の場合、６５を加算して、６７〜７６に変換する。
【００９６】
一方、縦長のブロックであると判定した場合、ＶＶＣ規格では、符号６０３で示した参照方向を、１８０°反転させた角度（符号６０２の最右から順に左側の１０方向）を特定する。また、ＶＶＣ規格では、特定した１０方向の参照方向については使用せず、これら１０方向の第２のイントラ予測モードの番号を、符号６０２で示した参照方向に対応する第１のイントラ予測モードの番号に振り直す。具体的には、ＶＶＣ規格では、第２のイントラ予測モードの番号が５７〜６６の場合、６７を減算して−１０〜−１に変換する。
【００９７】
なお、上記以外であると判定した場合、ＶＶＣ規格では第２のイントラ予測モードの番号を変換しない。このため、第１のイントラ予測モードの番号は、第２のイントラ予測モードの番号と同じとなる。例えば、第２のイントラ予測モードの番号が１２〜５６の場合には、第１のイントラ予測モードの番号は１２〜５６となる。
【００９８】
以上のとおり、ＶＶＣ規格において、イントラ予測モードの番号の総数を削減し、第２のイントラ予測モードの番号を、第１のイントラ予測モードの番号に変換するための処理は、下記のように整理することができる。なお、下記において、Ｍ１は、第１のイントラ予測モードの番号を表し、Ｍ２は、第２のイントラ予測モードの番号を表しているものとする。
・横方向画素数（Ｗ）＝縦方向画素数（Ｈ）の場合
Ｍ１＝Ｍ２
・横方向画素数（Ｗ）＝縦方向画素数（Ｈ）の場合
２≦Ｍ２＜ｍＬの場合、Ｍ１＝Ｍ２＋６５
ただし、Ｗ＝２Ｈの場合には、ｍＬ＝８、Ｗ＞２Ｈの場合には、ｍＬ＝１２
それ以外の場合には、Ｍ１＝Ｍ２
・横方向画素数（Ｗ）＜縦方向画素数（Ｈ）の場合
ｍＨ＜Ｍ２≦６６の場合、Ｍ１＝Ｍ２−６７
ただし、Ｈ＝２Ｗの場合、ｍＨ＝６０、Ｈ＞２Ｗの場合、ｍＨ＝５６
それ以外の場合、Ｍ１＝Ｍ２
これにより、ＶＶＣ規格では、第２のイントラ予測モードの番号（Ｍ２）を、第１のイントラ予測モードの番号（Ｍ１）に変換することができる。
【００９９】
（３）ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの説明
次に、第１のイントラ予測モードの番号の総数（６７通り）を、６ビット化し、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ（符号１１３）を導出する処理について説明する。ここでは、第１のイントラ予測モードの番号（符号１１２）をＩｎｔｒａＤｉｒとおく。
【０１００】
ＶＶＣ規格によれば、以下の手順により、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを導出することができる。
【０１０１】
ｉ）はじめに、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ＝ＩｎｔｒａＤｉｒとおく。
【０１０２】
ｉｉ）続いて、ＭＰＭ（Most Probable Mode）の各エントリについて昇順でソートし、ｍｐｍ＿ｓｏｒｔ［ｉ］（ｉ＝０．．２，ｍｐｍ＿ｓｏｒｔ［０］＜ｍｐｍ＿ｓｏｒｔ［１］＜ｍｐｍ＿ｓｏｒｔ［２］）を得る。
【０１０３】
ｉｉｉ）続いて、ｍｐｍ＿ｓｏｒｔ［ｉ］と、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒとを順に比較する。
【０１０４】
ｉｖ）比較の結果、ｍｐｍ＿ｓｏｒｔ［ｉ］＜＝ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒが成立する場合には、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを１減算する。
【０１０５】
これにより、ＶＶＣ規格によれば、第１のイントラ予測モードの番号（符号１１２）に基づいて、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを導出することができる。なお、上記手順により導出される最終的なＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒは、第１のイントラ予測モードの番号（符号１１３）より、最大で"３"小さくなる。
【０１０６】
＜イントラ予測部の機能構成＞
次に、符号化装置１１０のイントラ予測部２０８の機能構成について説明する。図９は、符号化装置のイントラ予測部の機能構成の一例を示す図である。図９に示すように、イントラ予測部２０８は、制御部９０１、第２の予測モード算出部９０２、フィルタ部９０３、コスト算出部９０４、予測モード保持部９０５、ＭＰＭ生成部９０６を有する。
【０１０７】
制御部９０１は、処理対象のブロックについてイントラ予測モード情報を選択する。具体的には、制御部９０１では、コスト評価の対象となる第１のイントラ予測モードの番号を、順次、第２の予測モード算出部９０２に通知する。また、制御部９０１では、処理対象のブロックの横方向画素数（Ｗ）及び縦方向画素数（Ｈ）を、第２の予測モード算出部９０２に通知する。
【０１０８】
また、制御部９０１では、コスト算出部９０４で算出された符号化コストが、最小となる第１のイントラ予測モードの番号について、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを算出する。
【０１０９】
あるいは、制御部９０１では、コスト算出部９０４で算出された符号化コストが、最小となる第１のイントラ予測モードの番号に対応する第２のイントラ予測モードの番号を特定し、ＭＰＭ生成部９０６により生成されたＭＰＭリストを参照する。そして、制御部９０１では、特定した第２のイントラ予測モードの番号が、ＭＰＭリスト内の、処理対象のブロックに隣接するブロックについてイントラ予測された際の第２のイントラ予測モードの番号と一致するかを判定する。更に、制御部９０１では、一致すると判定した場合、当該ＭＰＭリスト内において、当該第２のイントラ予測モードの番号を特定するためのＩｎｔｒａＬｕｍａＭＰＭＩｄｘを生成する。
【０１１０】
このようにして、制御部９０１では、
・ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇ、
・ＩｎｔｒａＬｕｍａＭＰＭＩｄｘ、または、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒのいずれか、
が含まれるイントラ予測モード情報を選択する。
【０１１１】
また、制御部９０１は、選択したイントラ予測モード情報を、エントロピ符号化部２１１に通知する。なお、制御部９０１では、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘを通知する場合、ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇ＝１に設定し、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを通知する場合、ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇ＝０に設定する。
【０１１２】
また、制御部９０１は、処理対象のブロックに隣接するブロックについてイントラ予測された際の第２のイントラ予測モードの番号を、ＭＰＭリストより取得し、第１のイントラ予測モードの番号に変換する。これにより、制御部９０１は、隣接するブロックの第１のイントラ予測モードの番号を取得する。また、制御部９０１は、隣接するブロックの第１のイントラ予測モードの番号を、エントロピ符号化部２１１に通知する。
【０１１３】
第２の予測モード算出部９０２は、制御部９０１から通知された、コスト評価の対象となる第１のイントラ予測モードの番号を、処理対象のブロックの横方向画素数（Ｗ）と縦方向画素数（Ｈ）とに基づいて、第２のイントラ予測モードの番号に変換する。また、第２の予測モード算出部９０２は、第２のイントラ予測モードの番号を、フィルタ部９０３に通知する。
【０１１４】
フィルタ部９０３は、加算部出力ブロックのうちの処理対象のブロックに隣接するブロックの画素値について、第２のイントラ予測モードの番号に対応する参照方向に基づきフィルタ演算を行い、予測画素値を算出する。また、フィルタ部９０３は、符号化コストが最小となる第２のイントラ予測モードの番号に対応する参照方向に基づきフィルタ演算を行った際の予測画素値を、イントラ予測ブロックとして出力する。
【０１１５】
コスト算出部９０４は、原画ブロックのうちの処理対象のブロックから、フィルタ部９０３にてフィルタ演算された予測画素値を減算し、符号化コストを算出する。コスト算出部９０４では、符号化コストを、歪み量（予測誤差の強度）と、量子化値に比例して増加する重みを該量子化値に乗算したデータ量と、を和算することで算出する。また、コスト算出部９０４では、当該データ量を、予測誤差を仮想的に符号化した際の発生データ量と、エントロピ符号化部２１１に出力するイントラ予測モード情報のデータ量とを和算することで算出する。
【０１１６】
なお、コスト算出部９０４では、イントラ予測モード情報にＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒが含まれる場合、
・ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒのデータ量を、固定の６ビットとして符号化コストを算出する。あるいは、
・ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号の最上位ビットとＭＳＢ予測値との排他的論理和が０となる発生確率のエントロピに基づいて算出したビット量を、データ量として符号化コストを算出する。
【０１１７】
このとき、排他的論理和が０となる発生確率は、エントロピ符号化部２１１が、直前の処理対象のブロックについて算出した発生確率を用いてもよい。あるいは、エントロピ符号化部２１１が、直前のピクチャの最終ブロックについて算出した発生確率を用いてもよい。
【０１１８】
更に、コスト算出部９０４は、算出した符号化コストが、すでに算出済みの符号化コストよりも小さいか否かを判定する。すでに算出済みの符号化コストよりも小さいと判定した場合、コスト算出部９０４は、判定結果及び符号化コストを制御部９０１に通知する。これにより、制御部９０１は、対応する第１のイントラ予測モードの番号及び符号化コストを、予測モード保持部９０５に通知する。
【０１１９】
なお、コスト算出部９０４が、全ての第１のイントラ予測モードの番号について符号化コストを算出することで、制御部９０１では、イントラ予測モード情報を選択することができる。
【０１２０】
予測モード保持部９０５は、制御部９０１から通知される、第１のイントラ予測モードの番号に対応する第２のイントラ予測モードの番号を保持する。なお、処理対象のブロックに対して、イントラ予測が行われなかった場合、予測モード保持部９０５では、直流予測モードを示す番号を保持する。
【０１２１】
また、予測モード保持部９０５は、保持した第２のイントラ予測モードの番号を、ＭＰＭ生成部９０６に対して、処理済みの隣接ブロックの第２のイントラ予測モードの番号として出力する。
【０１２２】
ＭＰＭ生成部９０６は、処理対象のブロックに隣接するブロックについてイントラ予測された際の第２のイントラ予測モードの番号を、制御部９０１に提供する。また、ＭＰＭ生成部９０６は、予測モード保持部９０５から、処理済みの隣接ブロックの第２のイントラ予測モードの番号を、次の処理対象のブロックの隣接ブロックの第２のイントラ予測モードの番号として、ＭＰＭリストに登録する。
【０１２３】
＜イントラ予測部によるイントラ予測処理の流れ＞
次に、イントラ予測部２０８によるイントラ予測処理の流れについて説明する。図１０は、イントラ予測部によるイントラ予測処理の流れを示すフローチャートである。
【０１２４】
ステップＳ１００１において、イントラ予測部２０８は、初期化を行う。具体的には、制御部９０１は、コスト評価の対象となる第１のイントラ予測モードの番号を"０"にする。また、ＭＰＭ生成部９０６は、ＭＰＭリストを生成する。更に、予測モード保持部９０５は、最小コストＣｍに、取り得る最大値（例えば、２３２−１）を設定する。
【０１２５】
ステップＳ１００２において、第２の予測モード算出部９０２は、制御部９０１より出力された第１のイントラ予測モードの番号を、第２のイントラ予測モードの番号に変換する。
【０１２６】
ステップＳ１００３において、フィルタ部９０３は、第２のイントラ予測モードの番号に対応する参照方向に位置する加算部出力ブロックを参照し、予測画素値を生成する。また、コスト算出部９０４は、原画ブロックのうちの処理対象のブロックと生成した予測画素値との残差と、第１のイントラ予測モードの番号に対応するＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒのデータ量とに従い、符号化コストＣｔを算出する。
【０１２７】
ステップＳ１００４において、予測モード保持部９０５は、符号化コストＣｔが最小コストＣｍよりも小さいか否かを判定する。ステップＳ１００４において、符号化コストＣｔが最小コストＣｍよりも小さいと判定された場合には（ステップＳ１００４においてＹｅｓの場合には）、ステップＳ１００５に進む。
【０１２８】
ステップＳ１００５において、予測モード保持部９０５は、第１のイントラ予測モードの番号に対応する、第２のイントラ予測モードの番号を保持する。また、予測モード保持部９０５は、符号化コストＣｔを最小コストＣｍにセットし、予測画素値を保持する。
【０１２９】
一方、ステップＳ１００４において、符号化コストＣｔが最小コストＣｍ以上であると判定した場合には（ステップＳ１００４においてＮｏの場合には）、ステップＳ１００６に進む。
【０１３０】
ステップＳ１００６において、制御部９０１は、第１のイントラ予測モードの番号が取り得る最大値（＝６６）未満であるか否かを判定する。ステップＳ１００６において、イントラ予測モードの番号が最大値未満であると判定した場合（ステップＳ１００６においてＹｅｓの場合）、制御部９０１は、コスト評価の対象となっていない第１のイントラ予測モードの番号が残っていると判定する。この場合、制御部９０１は、ステップＳ１００７に進む。
【０１３１】
ステップＳ１００７において、制御部９０１は、第１のイントラ予測モードの番号をインクリメントした後、ステップＳ１００２に戻る。
【０１３２】
一方、ステップＳ１００６において、第１のイントラ予測モードの番号が最大値以上であると判定した場合（ステップＳ１００６においてＮｏの場合）、制御部９０１は、第１のイントラ予測モードの番号全てについて、コスト評価の対象となったと判定する。この場合、制御部９０１は、ステップＳ１００８に進む。
【０１３３】
ステップＳ１００８において、フィルタ部９０３は、予測モード保持部９０５に保持されている予測画素値を、イントラ予測ブロックとして出力する。
【０１３４】
また、制御部９０１は、予測モード保持部９０５に保持されている、第２のイントラ予測モードの番号に基づいて、第１のイントラ予測モードの番号を算出し、更に、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを生成する。
【０１３５】
また、制御部９０１は、予測モード保持部９０５に保持されている、第２のイントラ予測モードの番号に基づいて、ＭＰＭリストを参照する。そして、制御部９０１は、処理対象のブロックに隣接するブロックについてイントラ予測された際の第２のイントラ予測モードの番号と一致する場合には、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘを生成する。
【０１３６】
更に、制御部９０１は、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ（またはＩｎｔｒａＬｕｍａＭＰＭＩｄｘ）と、ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇとを、イントラ予測モード情報として、エントロピ符号化部２１１に出力する。
【０１３７】
＜エントロピ符号化部の機能構成＞
次に、符号化装置１１０のエントロピ符号化部２１１の機能構成について説明する。図１１は、符号化装置のエントロピ符号化部の機能構成の一例を示す図である。図１１に示すように、エントロピ符号化部２１１は、二値化部１１０１、算術符号化部１１０２、コンテキスト保持・計算部１１０３、モード予測値生成部１１０４、符号化値生成部１１０５を有する。
【０１３８】
算術符号化部１１０２は符号化部の一例であり、処理対象のブロックについての予測誤差符号化パラメータ、処理対象のブロックの符号化パラメータ（ここでは、イントラ予測モード情報）、及び、ピクチャの符号化パラメータを、符号化対象として取得する。また、算術符号化部１１０２は、取得した符号化対象を、コンテキストを使った二値算術符号化方式でエントロピ符号化する。
【０１３９】
二値化部１１０１は、符号化対象のうち、シンタックス要素について二値信号を生成する。二値化部１１０１は、例えば、イントラ予測部２０８より通知された、イントラ予測モード情報の二値信号を生成する。
【０１４０】
コンテキスト保持・計算部１１０３は、エントロピ符号化した各シンタックス要素の二値信号を保存し、処理対象のブロックのシンタックス要素のコンテキスト値（ＭＰＳ（Most Probable Symbol）とその発生確率）を算出し、更新する。
【０１４１】
例えば、コンテキスト保持・計算部１１０３は、処理対象のブロックに対応するＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号の各ビットについて、ＭＰＳとその発生確率を算出し、保存する。
【０１４２】
モード予測値生成部１１０４は算出部の一例であり、イントラ予測部２０８から、隣接ブロックの第１のイントラ予測モードの番号が通知されると、該第１のイントラ予測モードの番号を保存する。また、モード予測値生成部１１０４は、隣接ブロックの第１のイントラ予測モードの番号に基づいて、処理対象のブロックのＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号の最上位ビットの予測値を算出する。更に、モード予測値生成部１１０４は、算出した最上位ビットの予測値（ＭＳＢ（Most Significant Bit）予測値）を、符号化値生成部１１０５に通知する。
【０１４３】
符号化値生成部１１０５は生成部の一例であり、二値化部１１０１において生成されたイントラ予測モード情報の二値信号のうち、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号を取得する。また、符号化値生成部１１０５は、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号の各ビットのうち、最上位ビットについて、モード予測値生成部１１０４にて算出されたＭＳＢ予測値との排他的論理和を演算する。また、符号化値生成部１１０５は、排他的論理和を演算したＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号（算術符号化のための二値信号）を算術符号化部１１０２に通知する。
【０１４４】
これにより、算術符号化部１１０２では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒについて二値算術符号化方式でエントロピ符号化するにあたり、最上位ビットについては、コンテキストモードによりエントロピ符号化を行うことができる。
【０１４５】
＜二値化部の処理の詳細＞
次に、二値化部１１０１の処理の詳細について説明する。上述したとおり、二値化部１１０１は、符号化対象のうち、シンタックス要素の二値信号を生成する。図１２は、二値化部により生成された二値信号の具体例を示す第１の図であり、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号を示す図である。
【０１４６】
ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒは、０〜６３の６４通りの番号のいずれかであり、概ね、６４通りの参照方向と対応している。したがって、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号は、図１２のように表すことができる。
【０１４７】
つまり、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号において、最上位ビット（ＭＳＢ）＝０とは、参照方向が左隣接ブロック（水平方向）であることを示しているといえる。また、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号において、最上位ビット（ＭＳＢ）＝１とは、参照方向が上隣接ブロック（垂直方向）であることを示しているといえる。
【０１４８】
＜モード予測値生成部の詳細＞
次に、モード予測値生成部１１０４の処理の詳細について説明する。上述したとおり、モード予測値生成部１１０４は、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号の各ビットの中で、コンテキストを使った二値算術符号化方式を行う最上位ビットの予測値（ＭＳＢ予測値）を算出する。
【０１４９】
図１３は、ＭＳＢ予測値の算出方法を説明するための図である。モード予測値生成部１１０４では、ＭＳＢ予測値を算出するにあたり、処理対象のブロック１３００の上側に隣接する上隣接ブロック１３０１におけるイントラ予測モードと、左側に隣接する左隣接ブロック１３０２のイントラ予測モードとを用いる。
【０１５０】
ここで、モード予測値生成部１１０４では、隣接ブロックの第１のイントラ予測モードの番号が２未満の場合には、隣接ブロックのイントラ予測が直流予測モードまたはプレーナ予測モードであったと判定する。
【０１５１】
一方、隣接ブロックの第１のイントラ予測モードの番号が、２〜３４の範囲内の場合には、隣接ブロックのイントラ予測が角度予測モードであり、参照方向が水平方向であったと判定する。更に、隣接ブロックの第１のイントラ予測モードの番号が、３５〜６６の範囲内の場合には、隣接ブロックのイントラ予測が角度予測モードであり、参照方向が垂直方向であったと判定する。
【０１５２】
そして、モード予測値生成部１１０４では、隣接ブロックのイントラ予測モードに基づいて、処理対象のブロックにおけるＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号のＭＳＢ予測値を算出する（図１３の一覧表１３１０参照）。
・コンテキストモデル１
上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号が、いずれも、"直流予測モードまたはプレーナ予測モード"を示す番号であった場合、モード予測値生成部１１０４では、ＭＳＢ予測値を、"０"と算出する。
・コンテキストモデル２
上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号のいずれか一方が、"直流予測モードまたはプレーナ予測モード"を示す番号でなかった場合、モード予測値生成部１１０４では、
・いずれか一方が、角度予測モードであり、かつ、参照方向が"水平方向"を示す番号であった場合には、ＭＳＢ予測値を"０"と算出する。
【０１５３】
・いずれか一方が、角度予測モードであり、かつ、参照方向が"垂直方向"を示す番号であった場合には、ＭＳＢ予測値を"１"と算出する。
・コンテキストモデル３
上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号が、角度予測モードであり、かつ、参照方向がいずれも、"水平方向"を示す番号であった場合、モード予測値生成部１１０４では、ＭＳＢ予測値を"０"と算出する。また、上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号が、角度予測モードであり、かつ、参照方向がいずれも、"垂直方向"を示す番号であった場合、モード予測値生成部１１０４では、ＭＳＢ予測値を"１"と算出する。
・コンテキストモデル４
上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号が角度予測モードであり、かつ、参照方向のいずれか一方が"水平方向"で、他方が"垂直方向"を示す番号であった場合、モード予測値生成部１１０４では、ＭＳＢ予測値を"０"と算出する。
【０１５４】
＜復号装置の機能構成＞
次に、復号装置１２０の機能構成について説明する。復号装置１２０には復号プログラムがインストールされており、当該プログラムが実行されることで、復号装置１２０は、不図示のネットワークを介して符号化装置１１０より受信した符号化ストリームを復号し、動画像データを出力する。
【０１５５】
図１４は、復号装置の機能構成の一例を示す図である。図１４に示すように、復号装置１２０は、エントロピ復号部１４０１、逆量子化部１４０２、逆直交変換部１４０３、ループフィルタ部１４０４、局所復号画像メモリ１４０５を有する。また、復号装置１２０は、イントラ予測部１４０６、インタ予測部１４０７を有する。
【０１５６】
エントロピ復号部１４０１は復号部の一例であり、符号化ストリームを復号し、処理対象のブロックの復号パラメータを逆量子化部１４０２に通知する。
【０１５７】
また、エントロピ復号部１４０１は、符号化ストリームを復号することで処理対象のブロックのイントラ予測モード情報及び横方向画素数、縦方向画素数を取得し、イントラ予測部１４０６に通知する。なお、エントロピ復号部１４０１は、イントラ予測モード情報を取得する際、イントラ予測部１４０６より通知された、隣接ブロックの第１のイントラ予測モードの番号を用いる。
【０１５８】
逆量子化部１４０２は、エントロピ復号部１４０１より通知された復号パラメータに対して逆量子化を行い、逆量子化係数を算出する。また、逆量子化部１４０２は、算出した逆量子化係数を逆直交変換部１４０３に通知する。
【０１５９】
逆直交変換部１４０３は、逆量子化部１４０２より通知された逆量子化係数に対して逆直交変換を行い、予測誤差ブロックを生成する。逆直交変換部１４０３において生成された予測誤差ブロックには、後述する予測部（イントラ予測部１４０６またはインタ予測部１４０７）にて生成された予測ブロックが加算され、加算部出力ブロックが生成される。
【０１６０】
ループフィルタ部１４０４は、生成された加算部出力ブロックに対して、デブロッキングフィルタ等を用いてフィルタ処理を行い、フィルタ処理後の局所復号ブロックを、フレーム単位で出力することで、動画像データを出力する。
【０１６１】
また、ループフィルタ部１４０４は、フィルタ処理後の局所復号ブロックを、局所復号画像メモリ１４０５に格納する。
【０１６２】
イントラ予測部１４０６は予測部の一例であり、イントラ予測を行い、イントラ予測ブロックを生成する。具体的には、イントラ予測部１４０６は、エントロピ復号部１４０１より、イントラ予測モード情報及び横方向画素数、縦方向画素数を取得する。また、イントラ予測部１４０６は、取得したイントラ予測モード情報及び横方向画素数、縦方向画素数に基づいて、加算部出力ブロックのうちの処理対象のブロックの上側または左側に隣接するブロックを参照し、イントラ予測ブロックを生成する。また、イントラ予測部１４０６は、イントラ予測ブロックを生成する際に算出した第１のイントラ予測モードの番号を、次の処理対象のブロックを復号する際に用いる、隣接ブロックの第１のイントラ予測モードの番号として、エントロピ復号部１４０１に通知する。
【０１６３】
インタ予測部１４０７は、処理対象のブロックについて、他のフレーム内の局所復号ブロックを用いてインタ予測を行い、インタ予測ブロックを生成する。
【０１６４】
なお、復号装置１２０では、符号化ストリームを復号することで得られる情報に基づいて、イントラ予測部１４０６またはインタ予測部１４０７のいずれか一方が実行されるが、以下では、イントラ予測部１４０６が実行される場合について説明する。
【０１６５】
＜エントロピ復号部の機能構成＞
次に、エントロピ復号部１４０１の機能構成について説明する。図１５は、復号装置のエントロピ復号部の機能構成の一例を示す図である。図１５に示すように、エントロピ復号部１４０１は、コンテキスト保持・計算部１５０１、算術復号部１５０２、二値化部１５０３、モード予測値生成部１５０４、イントラ予測モード生成部１５０５を有する。なお、以下では、符号化ストリームのうち、シンタックス要素の復号について説明する。
【０１６６】
算術復号部１５０２は、二値化部１５０３から出力される復号対象のシンタックス要素の二値信号を取得する。また、算術復号部１５０２は、コンテキスト保持・計算部１５０１から出力される、復号対象のシンタックス要素の二値信号の各ビットについて、コンテキスト値（ＭＰＳとその発生確率）を取得する。更に、算術復号部１５０２は、
・コンテキスト保持・計算部１５０１から取得した、復号対象のシンタックス要素の二値信号の各ビットについてのコンテキスト値（ＭＰＳとその発生確率）と、
・二値化部１５０３から取得した、復号対象のシンタックス要素の二値信号と、
を用いて、符号化ストリームのうち、復号対象のシンタックス要素の算術復号を行う。
【０１６７】
なお、算術復号部１５０２は、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ以外の全算術復号対象のシンタックス要素については、ＶＶＣ規格に基づいて算術復号を行う。また、算術復号部１５０２は、算術復号が適用されないシンタックス要素については、ＶＶＣ規格に基づいて復号を行う。
【０１６８】
算術復号部１５０２は、シンタックス要素の復号結果を、復号装置１２０内の各部に通知するとともに、コンテキスト保持・計算部１５０１に通知する。また、算術復号部１５０２は、復号装置１２０内の各部に通知するシンタックス要素の復号結果のうち、
・ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇ、
・ＩｎｔｒａＬｕｍａＭＰＭＩｄｘまたはＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号（ただし、最上位ビットはＭＳＢ予測値との排他的論理和に置き換えられているもの）、
・横方向画素数（Ｗ）、縦方向画素数（Ｈ）、
については、イントラ予測モード生成部１５０５に通知する。
【０１６９】
二値化部１５０３は、復号対象のシンタックス要素の二値信号を出力する。なお、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ以外の全算術復号対象のシンタックス要素の二値信号は、ＶＶＣ規格に基づくものとする。
【０１７０】
コンテキスト保持・計算部１５０１は、復号対象のシンタックス要素の二値信号の各ビットについてのコンテキスト値（ＭＰＳとその発生確率）を出力する。また、コンテキスト保持・計算部１５０１は、算術復号部１５０２より、復号対象のシンタックス要素の二値信号の各ビットについての復号結果が通知されると、コンテキスト値（ＭＰＳと発生確率）を更新する。更に、コンテキスト保持・計算部１５０１は、更新したコンテキスト値（ＭＰＳとその発生確率）を以降の復号対象のシンタックス要素のコンテキスト値を導出するために保存する。
【０１７１】
なお、コンテキスト保持・計算部１５０１による処理のうち、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ以外の全算術復号対象のシンタックス要素についての処理は、ＶＶＣ規格に基づいて行われるものとする。
【０１７２】
また、コンテキスト保持・計算部１５０１は、イントラ予測部１４０６から、隣接ブロックの第１のイントラ予測モードの番号が通知されると、該第１のイントラ予測モードの番号を保存する。また、コンテキスト保持・計算部１５０１は、第１のイントラ予測モードの番号に基づいて、復号対象のＩｎｔｒａＬｕｍａＲｅｍａｉｎｄｅｒの二値信号の各ビットについてのコンテキスト値（ＭＰＳとその発生確率）を生成し、管理する。
【０１７３】
モード予測値生成部１５０４は算出部の一例であり、イントラ予測部１４０６から、隣接ブロックの第１のイントラ予測モードの番号が通知されると、該第１のイントラ予測モードの番号を保存する。また、モード予測値生成部１５０４は、隣接ブロックの第１のイントラ予測モードの番号に基づいて、処理対象のブロックのＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号のＭＳＢ予測値を算出し、イントラ予測モード生成部１５０５に通知する。なお、モード予測値生成部１５０４の処理は、符号化装置１１０のモード予測値生成部１１０４の処理と同様である。
【０１７４】
イントラ予測モード生成部１５０５は生成部の一例であり、算術復号部１５０２から通知された、
・ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇ、
・ＩｎｔｒａＬｕｍａＭＰＭＩｄｘまたはＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号（ただし、最上位ビットはＭＳＢ予測値との排他的論理和に置き換えられているもの）
・横方向画素数（Ｗ）、縦方向画素数（Ｈ）、
を取得する。
【０１７５】
また、イントラ予測モード生成部１５０５は、取得したＩｎｔｒａＬｕｍａＭＰＭＦｌａｇが"０"であるか"１"であるかを判定する。"０"であった場合には、イントラ予測モード生成部１５０５は、取得した二値信号のＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒと、モード予測値生成部１５０４より通知されたＭＳＢ予測値との排他的論理和を演算したうえで、多値化する。ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号を（ｂ０，ｂ１，ｂ２，ｂ３，ｂ４，ｂ５）とすると、イントラ予測モード生成部１５０５では、下式に基づいて、多値化したＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを算出する。
【０１７６】
【数１】
2020059092.tif 000003
ただし、Ｐは、ＭＳＢ予測値である。
【０１７７】
これにより、イントラ予測モード生成部１５０５では、多値化したＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを取得する。
【０１７８】
また、取得したＩｎｔｒａＬｕｍａＭＰＭＦｌａｇが"１"であった場合、イントラ予測モード生成部１５０５は、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘを取得する。
【０１７９】
更に、イントラ予測モード生成部１５０５は、イントラ予測モード情報として、
・取得したＩｎｔｒａＬｕｍａＭＰＭＦｌａｇ、
・取得したＩｎｔｒａＬｕｍａＭＰＭＩｄｘまたはＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒ、
をイントラ予測部２０８に通知するとともに、取得した横方向画素数（Ｗ）及び縦方向画素数（Ｈ）を、イントラ予測部２０８に通知する。
【０１８０】
＜イントラ予測部の機能構成＞
次に、イントラ予測部１４０６の機能構成について説明する。図１６は、復号装置のイントラ予測部の機能構成の一例を示す図である。図１６に示すように、イントラ予測部１４０６は、第１の予測モード算出部１６０１、ＭＰＭ生成部１６０２、フィルタ部１６０３、第２の予測モード算出部１６０４、予測モード保持部１６０５を有する。
【０１８１】
ＭＰＭ生成部１６０２は、予測モード保持部１６０５から隣接ブロックの第１のイントラ予測モードの番号が通知されると、処理対象のブロックのＭＰＭリストを生成する。ＭＰＭ生成部１６０２は、生成したＭＰＭリストを、第１の予測モード算出部１６０１に通知する。なお、ＭＰＭリストの生成は、ＶＶＣ規格に基づいて行われる。
【０１８２】
予測モード保持部１６０５は、処理対象のフレーム内の各ブロックの第１のイントラ予測モードの番号を保持する。処理対象のブロックがインタ予測の場合には、当該処理対象のブロックの第１のイントラ予測モードの番号として、直流予測モードを示す番号を保持する。また、予測モード保持部１６０５は、保持している隣接ブロックの第１のイントラ予測モードの番号を、ＭＰＭ生成部１６０２に通知する。
【０１８３】
第１の予測モード算出部１６０１は、エントロピ復号部１４０１から通知される、処理対象のブロックのイントラ予測モード情報から、ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇを抽出する。
【０１８４】
また、第１の予測モード算出部１６０１は、抽出したＩｎｔｒａＬｕｍａＭＰＭＦｌａｇが"１"の場合、処理対象のブロックのイントラ予測モード情報から、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘを取得する。また、第１の予測モード算出部１６０１は、ＭＰＭリスト内において、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘにより特定される第１のイントラ予測モードの番号を、第２の予測モード算出部１６０４及び予測モード保持部１６０５に通知する。
【０１８５】
また、第１の予測モード算出部１６０１は、抽出したＩｎｔｒａＬｕｍａＭＰＭＦｌａｇが"０"の場合、処理対象のブロックのイントラ予測モード情報からＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを取得する。更に、第１の予測モード算出部１６０１は、取得したＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒについて補正処理を行い（最大３を加算し）、第１のイントラ予測モードの番号を生成する。なお、当該補正処理は、ＶＶＣ規格に基づいて行われる。
【０１８６】
また、第１の予測モード算出部１６０１は、生成した第１のイントラ予測モードの番号を、第２の予測モード算出部１６０４及び予測モード保持部１６０５に通知する。
【０１８７】
第２の予測モード算出部１６０４は、エントロピ復号部１４０１から通知される、処理対象のブロックの横方向画素数（Ｗ）及び縦方向画素数（Ｈ）に基づいて、第１のイントラ予測モードの番号を、第２のイントラ予測モードの番号に変換する。なお、当該変換処理は、ＶＶＣ規格に基づいて行われる。
【０１８８】
フィルタ部１６０３は、加算部出力ブロックの画素値に対して、第２の予測モード算出部１６０４から出力される第２のイントラ予測モードの番号に対応するフィルタを適用し、処理対象のブロックの予測画素値を算出する。また、フィルタ部１６０３は、算出した予測画素値を、イントラ予測ブロックとして出力する。なお、当該フィルタ処理は、ＶＶＣ規格に基づいて行われる。
【０１８９】
＜エントロピ復号部及びイントラ予測部による、復号及びイントラ予測処理の流れ＞
次に、エントロピ復号部１４０１及びイントラ予測部１４０６による、復号及びイントラ予測処理の流れについて説明する。図１７は、エントロピ復号部及びイントラ予測部による、復号及びイントラ予測処理の流れを示すフローチャートである。
【０１９０】
ステップＳ１７０１において、ＭＰＭ生成部１６０２は、予測モード保持部１６０５に保持されている左隣接ブロック及び上隣接ブロックの第１のイントラ予測モードの番号から、ＭＰＭリストを生成する。
【０１９１】
ステップＳ１７０２において、算術復号部１５０２は、符号化ストリームを復号し、ＩｎｔｒａＬｕｍａＭＰＭＦｌａｇを取得する。また、算術復号部１５０２は、復号したＩｎｔｒａＬｕｍａＭＰＭＦｌａｇが"１"であった場合、ステップＳ１７０３に進む。
【０１９２】
ステップＳ１７０３において、算術復号部１５０２は、符号化ストリームを復号し、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘを取得する。
【０１９３】
ステップＳ１７０４において、第１の予測モード算出部１６０１は、ＭＰＭリストにおいて、ＩｎｔｒａＬｕｍａＭＰＭＩｄｘにより特定される第１のイントラ予測モードの番号を取得する。
【０１９４】
一方、ステップＳ１７０２において、復号したＩｎｔｒａＬｕｍａＭＰＭＦｌａｇが"０"であった場合、エントロピ復号部１４０１は、ステップＳ１７０５に進む。
【０１９５】
ステップＳ１７０５において、モード予測値生成部１５０４は、左隣接ブロック及び上隣接ブロックの第１のイントラ予測モードの番号から、処理対象のブロックのＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒのＭＳＢ予測値を算出する。
【０１９６】
ステップＳ１７０６において、算術復号部１５０２は、符号化ストリームを復号し、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号を取得する。算術復号部１５０２では、ＭＳＢをコンテキスト適応型二値算術復号し、ＬＳＢをバイパスモードの二値算術復号で復号することで、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号を取得する。
【０１９７】
ステップＳ１７０７において、イントラ予測モード生成部１５０５は、復号したＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号のＭＳＢと、ＭＳＢ予測値との排他的論理和を演算する。これにより、イントラ予測モード生成部１５０５は、処理対象のブロックのＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを取得する。
【０１９８】
ステップＳ１７０８において、第１の予測モード算出部１６０１は、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒを補正し、第１のイントラ予測モードの番号を取得する。
【０１９９】
ステップＳ１７０９において、第２の予測モード算出部１６０４は、処理対象のブロックの横方向画素数及び縦方向画素数を用いて、第１のイントラ予測モードの番号を、第２のイントラ予測モードの番号に変換する。
【０２００】
ステップＳ１７０９において、フィルタ部１６０３は、第２のイントラ予測モードの番号に対応する参照方向を参照し、参照画素のフィルタリング及び予測画素値の生成を行う。
【０２０１】
以上の説明から明らかなように、第１の実施形態に係る符号化装置では、ＶＶＣ規格に基づいて６ビット化されたイントラ予測モードの番号の二値信号について、ＭＳＢ予測値との排他的論理和を演算して、算術符号化する。また、第１の実施形態に係る符号化装置では、当該ＭＳＢ予測値を、隣接ブロックのイントラ予測モードの番号に基づいて算出する。
【０２０２】
これにより、第１の実施形態に係る符号化装置によれば、６ビット化されたイントラ予測モードの番号の二値信号を符号化する際、最上位ビットについて、コンテキストモードによる算術符号化を実現する確率を上げることが可能となる。この結果、第１の実施形態に係る符号化装置によれば、６ビット化されたイントラ予測モードの番号の二値信号を符号化した際の符号量を削減することができる。つまり、第１の実施形態に係る符号化装置によれば、イントラ予測において、符号量を削減することができる。
【０２０３】
また、第１の実施形態に係る復号装置では、符号化ストリームの復号結果に対して、隣接ブロックのイントラ予測モードの番号に基づいて算出したＭＳＢ予測値を用いて、イントラ予測モードの番号を算出する。
【０２０４】
これにより、第１の実施形態に係る復号装置によれば、符号量が削減された符号化ストリームを復号し、イントラ予測モード情報を生成することができる。
【０２０５】
［第２の実施形態］
上記第１の実施形態では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号の各ビットのうち、最上位ビット（上位１ビット）について、予測値を算出するものとして説明した。これに対して、第２の実施形態では、上位２ビットについて、予測値を算出する。以下、第２の実施形態について、上記第１の実施形態との相違点を中心に説明する。
【０２０６】
＜二値化部の処理の詳細＞
はじめに、第２の実施形態における二値化部１１０１の処理の詳細について説明する。図１８は、二値化部により生成された二値信号の具体例を示す第２の図であり、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号を示す図である。
【０２０７】
上述したとおり、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒは、０〜６３の６４通りの番号のいずれかであり、概ね、６４通りの参照方向と対応している。したがって、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号（ｂ０、ｂ１、ｂ２、ｂ３、ｂ４、ｂ５）は、図１８のように表すことができる。
【０２０８】
つまり、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号において、上位２ビット（ｂ０、ｂ１）＝（０、０）とは、参照方向が左下隣接ブロック（水平下方向）であることを示しているといえる。
【０２０９】
また、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号において、上位２ビット（ｂ０、ｂ１）＝（０、１）とは、参照方向が左上隣接ブロック（水平上方向）であることを示しているといえる。
【０２１０】
また、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号において、上位２ビット（ｂ０、ｂ１）＝（１、０）とは、参照方向が上左隣接ブロック（垂直左方向）であることを示しているといえる。
【０２１１】
更に、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号において、上位２ビット（ｂ０、ｂ１）＝（１、１）とは、参照方向が上右隣接ブロック（垂直右方向）であることを示しているといえる。
【０２１２】
＜モード予測値生成部の処理の詳細＞
次に、第２の実施形態におけるモード予測値生成部１１０４の処理の詳細について説明する。第２の実施形態において、モード予測値生成部１１０４は、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号の各ビットの中で、コンテキストを使った二値算術符号化方式を行う上位２ビットの予測値を算出する。具体的には、第２の実施形態において、モード予測値生成部１１０４は、隣接する第１のイントラ予測モードの番号を以下のように分類する。
・第１のイントラ予測モードの番号が２未満：直流予測またはプレーナ予測
・第１のイントラ予測モードの番号が２〜１８：水平下方向
・第１のイントラ予測モードの番号が１９〜３４：水平上方向
・第１のイントラ予測モードの番号が３５〜５０：垂直左方向
・第１のイントラ予測モードの番号が５１〜６６：垂直右方向
そして、第２の実施形態において、モード予測値生成部１１０４は、隣接ブロックの第１のイントラ予測モードの番号に基づいて、上位２ビット（ｂ０、ｂ１）の予測値を算出する。図１９は、上位２ビットの予測値の算出方法を説明するための図である。図１９の一覧表１９００に示すように、第２の実施形態において、モード予測値生成部１１０４は、上位２ビット（ｂ０、ｂ１）の予測値を以下のように算出する。
・コンテキストモデル１
上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号が、いずれも、"直流予測モードまたはプレーナ予測モード"を示す番号であった場合、モード予測値生成部１１０４では、上位２ビットの予測値を、ｂ０＝０、ｂ１＝０と算出する。
・コンテキストモデル２
上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号のいずれか一方が、"直流予測モードまたはプレーナ予測モード"を示す番号であった場合、
・他方が角度予測モードであり、かつ、参照方向が"水平下方向"を示す番号であった場合、モード予測値生成部１１０４では、ｂ０＝０、ｂ１＝０と算出する。
【０２１３】
・他方が角度予測モードであり、かつ、参照方向が"水平上方向"を示す番号であった場合、モード予測値生成部１１０４では、ｂ０＝０、ｂ１＝１と算出する。
【０２１４】
・他方が角度予測モードであり、かつ、参照方向が"垂直左方向"を示す番号であった場合、モード予測値生成部１１０４では、ｂ０＝１、ｂ１＝０と算出する。
【０２１５】
・他方が角度予測モードであり、かつ、参照方向が"垂直右方向"を示す番号であった場合、モード予測値生成部１１０４では、ｂ０＝１、ｂ１＝１と算出する。
・コンテキストモデル３
上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号が、いずれも、"直流予測モードまたはプレーナ予測モード"を示す番号ではなく、かつ、両方が角度予測モードであり、かつ、"水平下方向"または"水平上方向"を示す番号であって、
・両方とも"水平上方向"を示す番号であった場合、モード予測値生成部１１０４では、ｂ０＝０、ｂ１＝１と算出する。
【０２１６】
・両方とも"水平上方向"を示す番号以外の番号であった場合、モード予測値生成部１１０４では、ｂ０＝０、ｂ１＝０と算出する。
【０２１７】
また、上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号が、いずれも、"直流予測モードまたはプレーナ予測モード"を示す番号ではなく、かつ、両方が角度予測モードであり、かつ、"垂直左方向"または"垂直右方向"を示す番号であって、
・両方とも"垂直右方向"を示す番号であった場合、モード予測値生成部１１０４では、ｂ０＝１、ｂ１＝１と算出する。
【０２１８】
・両方とも"垂直右方向"を示す番号以外の番号であった場合、モード予測値生成部１１０４では、ｂ０＝１、ｂ１＝０と算出する。
・コンテキストモデル４
上隣接ブロックと左隣接ブロックの第１のイントラ予測モードの番号のいずれか一方が、角度予測モードであって、"水平下方向"または"水平上方向"を示す番号の場合、
・他方が"垂直左方向"または"垂直右方向"を示す番号であった場合、モード予測値生成部１１０４では、ｂ０＝０、ｂ１＝０と算出する。
【０２１９】
＜イントラ予測モード生成部による処理＞
次に、第２の実施形態における、イントラ予測モード生成部１５０５による処理の詳細について説明する。第２の実施形態において、イントラ予測モード生成部１５０５では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号（ｂ０、ｂ１、ｂ２、ｂ３、ｂ４、ｂ５）を、下式に基づいて多値化する。
【０２２０】
【数２】
2020059092.tif 000004
ただし、Ｐ０、Ｐ１は、上位２ビットの予測値である。
【０２２１】
以上の説明から明らかなように、第２の実施形態に係る符号化装置では、ＶＶＣ規格に基づいて６ビット化されたイントラ予測モードの番号の二値信号について、上位２ビットの予測値との排他的論理和を演算して、算術符号化する。また、第２の実施形態に係る符号化装置では、当該上位２ビットの予測値を、隣接ブロックのイントラ予測モードの番号に基づいて算出する。
【０２２２】
これにより、第２の実施形態に係る符号化装置によれば、６ビット化されたイントラ予測モードの番号の二値信号を符号化する際、上位２ビットについて、コンテキストモードによる算術符号化を実現する確率を上げることが可能となる。この結果、第２の実施形態に係る符号化装置によれば、６ビット化されたイントラ予測モードの番号の二値信号を符号化した際の符号量を削減することができる。つまり、第２の実施形態に係る符号化装置によれば、イントラ予測において、符号量を削減することができる。
【０２２３】
また、第２の実施形態に係る復号装置では、符号化ストリームの復号結果に対して、隣接ブロックのイントラ予測モードの番号に基づいて算出した上位２ビットの予測値を用いて、イントラ予測モードの番号を算出する。
【０２２４】
これにより、第１の実施形態に係る復号装置によれば、符号量が削減された符号化ストリームを復号し、イントラ予測モード情報を生成することができる。
【０２２５】
［その他の実施形態］
上記第１及び第２の実施形態では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの二値信号の、上位１ビットまたは上位２ビットについて、予測値を算出するものとして説明した。しかしながら、予測値の算出対象ビットはこれに限定されるものではなく、上位ｍビット（ｍは１以上の整数）について、予測値を算出するように構成してもよい。この場合、算術符号化部１１０２では、ＩｎｔｒａＬｕｍａＭＰＭＲｅｍａｉｎｄｅｒの上位ｍビットについては、コンテキストモードによる算術符号化を行い、上位ｍビット以外の各ビットの値について、バイパスモードによる算術符号化を行うことになる。
【０２２６】
また、上記第１及び第２の実施形態では、符号化装置と復号装置とを別体の装置として説明したが、符号化装置と復号装置とは一体の装置であってもよい。
【０２２７】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０２２８】
１１０              ：符号化装置
１２０              ：復号装置
２０８              ：イントラ予測部
２１１              ：エントロピ符号化部
９０１              ：制御部
９０２              ：第２の予測モード算出部
９０３              ：フィルタ部
９０４              ：コスト算出部
９０５              ：予測モード保持部
９０６              ：ＭＰＭ生成部
１１０１            ：二値化部
１１０２            ：算術符号化部
１１０３            ：コンテキスト保持・計算部
１１０４            ：モード予測値生成部
１１０５            ：符号化値生成部
１４０１            ：エントロピ復号部
１４０６            ：イントラ予測部
１５０１            ：コンテキスト保持・計算部
１５０２            ：算術復号部
１５０３            ：二値化部
１５０４            ：モード予測値生成部
１５０５            ：イントラ予測モード生成部
１６０１            ：第１の予測モード算出部
１６０２            ：ＭＰＭ生成部
１６０３            ：フィルタ部
１６０４            ：第２の予測モード算出部
１６０５            ：予測モード保持部
【図１】
2020059092.tif 000005
【図２】
2020059092.tif 000006
【図３】
2020059092.tif 000007
【図４】
2020059092.tif 000008
【図５】
2020059092.tif 000009
【図６】
2020059092.tif 000010
【図７】
2020059092.tif 000011
【図８】
2020059092.tif 000012
【図９】
2020059092.tif 000013
【図１０】
2020059092.tif 000014
【図１１】
2020059092.tif 000015
【図１２】
2020059092.tif 000016
【図１３】
2020059092.tif 000017
【図１４】
2020059092.tif 000018
【図１５】
2020059092.tif 000019
【図１６】
2020059092.tif 000020
【図１７】
2020059092.tif 000021
【図１８】
2020059092.tif 000022
【図１９】
2020059092.tif 000023
【国際調査報告】
2020059092.tif 000024
2020059092.tif 000025
2020059092.tif 000026
2020059092.tif 000027