(57)【要約】【課題】イントラ予測の予測精度を高めることを可能とする。【解決手段】動画像を構成するフレーム単位の画像を分割して得られた長方形のブロックに対するイントラ予測を行うイントラ予測装置は、イントラ予測の対象ブロックに適用するイントラ予測モードを選択する予測モード選択部と、前記選択されたイントラ予測モードが、参照画素位置が整数画素位置ではない方向性予測である場合、前記対象ブロックの幅及び高さを乗算した結果に応じて、予測画素の生成に用いるフィルタを制御するフィルタ制御部と、を備える。【選択図】図１１
2022000953.tif 000002
【特許請求の範囲】
【請求項１】
動画像を構成するフレーム単位の画像を分割して得られた長方形のブロックに対するイントラ予測を行うイントラ予測装置であって、
イントラ予測の対象ブロックに適用するイントラ予測モードを選択する予測モード選択部と、
前記選択されたイントラ予測モードが、参照画素位置が整数画素位置ではない方向性予測である場合、前記対象ブロックの幅及び高さを乗算した結果に応じて、予測画素の生成に用いるフィルタを制御するフィルタ制御部と、を備える
イントラ予測装置。
【請求項２】
請求項１に記載のイントラ予測装置を備える、画像符号化装置。
【請求項３】
請求項１に記載のイントラ予測装置を備える、画像復号装置。
【請求項４】
コンピュータを請求項１に記載のイントラ予測装置として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イントラ予測装置、画像符号化装置、画像復号装置、及びプログラムに関する。
【背景技術】
【０００２】
近年、映像符号化技術では８Ｋ−ＳＨＶに代表されるような超高解像度映像の普及が進んでおり、膨大なデータ量の動画像を伝送するための手法としてＡＶＣ／Ｈ．２６４やＨＥＶＣ／Ｈ．２６５などの符号化方式が知られている。
【０００３】
かかる符号化方式ではフレーム内の空間的な相関を利用したイントラ予測が利用されている（例えば、非特許文献１）。非特許文献１に記載のイントラ予測では、対象ブロックの周辺の復号済参照画素を利用して、Ｐｌａｎａｒ予測、ＤＣ予測、および方向性予測の計３５通りの予測モードから符号化装置側で最適なモードを選択し、その情報を復号装置側へ送る。
【０００４】
また、ＩＳＯ／ＩＥＣ  ＳＣ２９  ＷＧ１１とＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３  Ｑ６が合同で検討する次世代映像符号化方式の性能評価用ソフトウェア（ＪＥＭ）において、イントラ予測では、参照画素の内挿が必要な一部の方向性予測において４タップ内挿フィルタを用いており、４つの予測参照画素から１つの予測画素を生成している。その際に対象ブロックのブロックサイズに応じて適用するフィルタの種類を決定しており、ある大きさ以下のブロックサイズではバイキュービックフィルタ、それ以外ではガウシアンフィルタを用いて予測画素を生成している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ＩＴＵ−Ｔ  Ｈ．２６５，（１２／２０１６），  “Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ”，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ
【発明の開示】
【０００６】
ところで、イントラ予測は、本来、参照画素に近い画素位置における予測画素を生成する場合には急峻なフィルタを用い、参照画素から離れた画素位置における予測画素を生成する場合にはなだらかなフィルタを用いるべきである。
【０００７】
しかしながら、従来の方法では、１つの対象ブロックについて適用するフィルタは１種類のみである。このため、大きなサイズのブロック、又はブロック内の一部の画素が参照画素に対して離れているような細長いブロックなどにおいて、イントラ予測の予測精度を高めることができないという問題があった。
【０００８】
そこで、本発明は、イントラ予測の予測精度を高めることが可能なイントラ予測装置、画像符号化装置、画像復号装置、及びプログラムを提供することを目的とする。
【０００９】
第１の特徴に係るイントラ予測装置は、動画像を構成するフレーム単位の画像を分割して得られた長方形のブロックに対するイントラ予測を行う。イントラ予測装置は、イントラ予測の対象ブロックに適用するイントラ予測モードを選択する予測モード選択部と、前記選択されたイントラ予測モードが、参照画素位置が整数画素位置ではない方向性予測である場合、前記対象ブロックの幅及び高さを乗算した結果に応じて、予測画素の生成に用いるフィルタを制御するフィルタ制御部と、を備える。一実施形態に係るイントラ予測装置は、動画像を構成するフレーム単位の画像を分割して得られた各ブロックに対するイントラ予測を行う。当該イントラ予測装置は、前記イントラ予測の対象とする１つの対象ブロック内の画素位置ごとに、予測画素の生成に用いるフィルタを複数種類のフィルタの中から決定するフィルタ決定部と、前記フィルタ決定部により決定された前記フィルタを用いて、前記１つの対象ブロック周辺の参照画素から前記予測画素を生成する予測画素生成部と、を備える。前記フィルタ決定部は、前記１つの対象ブロック内の１つの画素位置に対応する前記フィルタを決定する際に、前記１つの画素位置に最も近い参照画素の位置と前記１つの画素位置との間の距離に応じて、前記フィルタを決定する。
【００１０】
一実施形態に係るイントラ予測装置は、動画像を構成するフレーム単位の画像を分割して得られた各ブロックに対するイントラ予測を行う。当該イントラ予測装置は、予測画素の生成に用いる予測参照画素の数を決定する参照画素数決定部と、前記イントラ予測の対象とするブロック周辺の参照画素の中から、前記参照画素数決定部により決定された数の予測参照画素に対してフィルタを適用することにより、前記予測画素を生成する予測画素生成部と、を備える。前記参照画素数決定部は、前記イントラ予測の対象とするブロックごとに、又は前記イントラ予測の対象とするブロック内の画素位置ごとに、前記予測参照画素の数を決定する。
【００１１】
一実施形態に係る画像符号化装置は、第１の特徴に係るイントラ予測装置を備える。
【００１２】
一実施形態に係る画像復号装置は、第１の特徴に係るイントラ予測装置を備える。
【００１３】
一実施形態に係るプログラムは、コンピュータを第１の特徴に係るイントラ予測装置として機能させる。
【００１４】
本発明によれば、イントラ予測の予測精度を高めることが可能なイントラ予測装置、画像符号化装置、画像復号装置、及びプログラムを提供できる。
【図面の簡単な説明】
【００１５】
【図１】第１及び第２実施形態に係る画像符号化装置の構成を示す図である。
【図２】第１及び第２実施形態に係る画像復号装置の構成を示す図である。
【図３】第１実施形態に係るイントラ予測部の構成を示す図である。
【図４】対象ブロックに適用され得るイントラ予測モードの一例を示す図である。
【図５】フィルタを用いた予測画素の生成方法の一例を示す図である。
【図６】第１実施形態に係るフィルタ決定部の動作の一例を示す図である。
【図７】第１実施形態に係るイントラ予測部の動作フロー例を示す図である。
【図８】第１実施形態の変更例に係るフィルタ決定部の動作の一例を示す図である。
【図９】第２実施形態に係るイントラ予測部の構成を示す図である。
【図１０】第２実施形態に係るイントラ予測部の動作フロー例を示す図である。
【図１１】第２実施形態の変更例に係るイントラ予測部の動作フロー例を示す図である。
【発明を実施するための形態】
【００１６】
図面を参照して、実施形態に係る画像符号化装置及び画像復号装置について説明する。実施形態に係る画像符号化装置及び画像復号装置は、ＭＰＥＧに代表される動画の符号化及び復号を行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００１７】
＜１．第１実施形態＞
（１．１．画像符号化装置の構成）
図１は、本実施形態に係る画像符号化装置１の構成を示す図である。図１に示すように、画像符号化装置１は、ブロック分割部１００と、減算部１１０と、変換部１２１と、量子化部１２２と、エントロピー符号化部１３０と、逆量子化部１４１と、逆変換部１４２と、合成部１５０と、メモリ１６０と、イントラ予測部（イントラ予測装置）１７０と、インター予測部１８０と、切替部１９０とを備える。
【００１８】
ブロック分割部１００は、フレーム（或いはピクチャ）単位の入力画像をブロック状の小領域に分割し、分割により得たブロックを減算部１１０に出力する。ブロックのサイズは、例えば３２×３２画素、１６×１６画素、８×８画素、又は４×４画素等である。ブロックの形状は正方形に限らず、長方形であってもよい。ブロックは、画像符号化装置１が符号化を行う単位及び画像復号装置２が復号を行う単位であり、符号化ユニット（ＣＵ）と称されることもある。
【００１９】
減算部１１０は、ブロック分割部１００から入力されたブロックとこのブロックに対応する予測画像（予測ブロック）との間の画素単位での差分を示す予測残差を算出する。具体的には、減算部１１０は、ブロックの各画素値から予測画像の各画素値を減算することにより予測残差を算出し、算出した予測残差を変換部１２１に出力する。予測画像は、後述する切替部１９０から減算部１１０に入力される。
【００２０】
変換部１２１及び量子化部１２２は、ブロック単位で直交変換処理及び量子化処理を行う変換・量子化部１２０を構成する。
【００２１】
変換部１２１は、減算部１１０から入力された予測残差に対して直交変換を行って変換係数を算出し、算出した変換係数を量子化部１２２に出力する。直交変換とは、例えば、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）や離散サイン変換（ＤＳＴ：Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、カルーネンレーブ変換（ＫＬＴ：  Ｋａｒｈｕｎｅｎ  Ｌｏeｖｅ  Ｔｒａｎｓｆｏｒｍ）等をいう。
【００２２】
量子化部１２２は、変換部１２１から入力された変換係数を量子化パラメータ（Ｑｐ）及び量子化行列を用いて量子化し、量子化変換係数を生成する。量子化パラメータ（Ｑｐ）は、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各変換係数を量子化する際の量子化値を要素として有する行列である。量子化部１２２は、生成した量子化変換係数情報などをエントロピー符号化部１３０及び逆量子化部１４１に出力する。
【００２３】
エントロピー符号化部１３０は、量子化部１２２から入力された量子化変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化データ（ビットストリーム）を生成し、符号化データを画像符号化装置１の外部に出力する。エントロピー符号化には、ハフマン符号やＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ：コンテキスト適応型２値算術符号）等を用いることができる。なお、エントロピー符号化部１３０には、イントラ予測部１７０及びインター予測部１８０から予測に関する情報が入力される。エントロピー符号化部１３０は、これらの情報のエントロピー符号化も行う。
【００２４】
逆量子化部１４１及び逆変換部１４２は、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部１４０を構成する。
【００２５】
逆量子化部１４１は、量子化部１２２が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部１４１は、量子化部１２２から入力された量子化変換係数を、量子化パラメータ（Ｑｐ）及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部１４２に出力する。
【００２６】
逆変換部１４２は、変換部１２１が行う直交変換処理に対応する逆直交変換処理を行う。例えば、変換部１２１が離散コサイン変換を行った場合には、逆変換部１４２は逆離散コサイン変換を行う。逆変換部１４２は、逆量子化部１４１から入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部１５０に出力する。
【００２７】
合成部１５０は、逆変換部１４２から入力された復元予測残差を、切替部１９０から入力された予測画像と画素単位で合成する。合成部１５０は、復元予測残差の各画素値と予測画像の各画素値を加算してブロックを再構成（復号）し、再構成したブロックである再構成ブロックをメモリ１６０に出力する。かかる再構成ブロックは、復号済みブロックと称されることがある。
【００２８】
メモリ１６０は、合成部１５０から入力された再構成ブロックを記憶する。メモリ１６０は、再構成ブロックをフレーム単位で記憶する。
【００２９】
イントラ予測部１７０は、メモリ１６０に記憶された再構成ブロック（復号済みブロック）のうち、予測対象のブロックに隣接する復号済み隣接ブロックを参照してイントラ予測画像を生成する。また、イントラ予測部１７０は、最適なイントラ予測モードを選択し、選択したイントラ予測モードを用いてイントラ予測を行う。複数の予測方向に対応する複数のイントラ予測モードが予め規定されている。予測方向とは、対象ブロックに隣接する隣接画素を参照して対象ブロック中の対象画素を予測する際に、対象画素を基準とした隣接参照画素の方向をいう。すなわち、イントラ予測モード（予測方向）により、対象ブロック中の画素の予測に用いるべき隣接参照画素が定められる。イントラ予測部１７０は、イントラ予測画像を切替部１９０に出力するとともに、選択したイントラ予測モードの情報をエントロピー符号化部１３０に出力する。
【００３０】
インター予測部１８０は、メモリ１６０に記憶されたフレーム単位の再構成画像（復号画像）を参照画像として用いて対象ブロックを予測するインター予測を行う。具体的には、インター予測部１８０は、ブロックマッチングなどの手法により動きベクトルを算出し、動きベクトルに基づいてインター予測画像を生成する。インター予測部１８０は、複数の参照画像を用いるインター予測（典型的には、双予測）や、１つの参照画像を用いるインター予測（片方向予測）の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。インター予測部１８０は、生成したインター予測画像を切替部１９０に出力するとともに、選択したインター予測方法及び動きベクトルに関する情報をエントロピー符号化部１３０に出力する。
【００３１】
切替部１９０は、イントラ予測部１７０から入力されるイントラ予測画像とインター予測部１８０から入力されるインター予測画像とを切り替えて、いずれかの予測画像を減算部１１０及び合成部１５０に出力する。
【００３２】
（１．２．画像復号装置の構成）
図２は、本実施形態に係る画像復号装置２の構成を示す図である。図２に示すように、画像復号装置２は、エントロピー符号復号部２００と、逆量子化部２１１と、逆変換部２１２と、合成部２２０と、メモリ２３０と、イントラ予測部２４０と、インター予測部２５０と、切替部２６０とを備える。
【００３３】
エントロピー符号復号部２００は、符号化装置１により生成された符号化データを復号し、量子化変換係数を逆量子化部２１１に出力する。また、エントロピー符号復号部２００は、符号化データを復号し、予測（イントラ予測及びインター予測）に関する情報を取得し、予測に関する情報をイントラ予測部２４０及びインター予測部２５０に出力する。具体的には、エントロピー符号復号部２００は、イントラ予測モードの情報をイントラ予測部２４０に出力し、インター予測方法及び動きベクトルに関する情報をインター予測部２５０に出力する。
【００３４】
逆量子化部２１１及び逆変換部２１２は、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部２１０を構成する。
【００３５】
逆量子化部２１１は、画像符号化装置１の量子化部１２２が行う量子化処理に対応する逆量子化処理を行う。逆量子化部２１１は、エントロピー符号復号部２００から入力された量子化変換係数を、量子化パラメータ（Ｑｐ）及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部２１２に出力する。
【００３６】
逆変換部２１２は、画像符号化装置１の変換部１２１が行う直交変換処理に対応する逆直交変換処理を行う。逆変換部２１２は、逆量子化部２１１から入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差（復元予測残差）を合成部２２０に出力する。
【００３７】
合成部２２０は、逆変換部２１２から入力された予測残差と、切替部２６０から入力された予測画像とを画素単位で合成することにより、元のブロックを再構成（復号）し、再構成ブロックをメモリ２３０に出力する。
【００３８】
メモリ２３０は、合成部２２０から入力された再構成ブロックを記憶する。メモリ２３０は、再構成ブロックをフレーム単位で記憶する。メモリ２３０は、フレーム単位の再構成画像（復号画像）を画像復号装置２の外部に出力する。
【００３９】
イントラ予測部２４０は、メモリ２３０に記憶された再構成ブロックを参照し、エントロピー符号復号部２００から入力されたイントラ予測情報（イントラ予測モード）に従ってイントラ予測を行うことによりイントラ予測画像を生成する。具体的には、イントラ予測部２４０は、メモリ２３０に記憶された再構成ブロック（復号済みブロック）のうち、イントラ予測モードに応じて定められる隣接参照画素を参照してイントラ予測画像を生成する。イントラ予測部２４０は、イントラ予測画像を切替部２６０に出力する。
【００４０】
インター予測部２５０は、メモリ１６０に記憶されたフレーム単位の再構成画像（復号画像）を参照画像として用いてブロックを予測するインター予測を行う。インター予測部２５０は、エントロピー符号復号部２００から入力されたインター予測情報（動きベクトル情報等）に従ってインター予測を行うことによりインター予測画像を生成し、インター予測画像を切替部２６０に出力する。
【００４１】
切替部２６０は、イントラ予測部２４０から入力されるイントラ予測画像とインター予測部２５０から入力されるインター予測画像とを切り替えて、いずれかの予測画像を合成部２２０に出力する。
【００４２】
（１．３．イントラ予測部の構成）
図３は、本実施形態に係る画像符号化装置１のイントラ予測部１７０の構成を示す図である。画像復号装置２のイントラ予測部２４０は、画像符号化装置１のイントラ予測部１７０と同様の構成を有し、かつ同様の動作を行う。
【００４３】
イントラ予測部１７０は、動画像を構成するフレーム単位の原画像を分割して得られた各ブロックに対するイントラ予測を行う。以下において、イントラ予測の対象とする１つのブロックを対象ブロックと称する。
【００４４】
図３に示すように、イントラ予測部１７０は、予測モード選択部１７１と、フィルタ決定部１７２Ａと、予測画素生成部１７３とを備える。
【００４５】
予測モード選択部１７１は、対象ブロックに適用するイントラ予測モードを選択し、選択したイントラ予測モードをフィルタ決定部１７２Ａ及び予測画素生成部１７３に出力する。また、予測モード選択部１７１により選択されたイントラ予測モードの情報はエントロピー符号化部１３０にも出力され、エントロピー符号化部１３０において符号化される。画像復号装置２は、イントラ予測モードの情報を復号し、画像符号化装置１と同じイントラ予測モードを選択する。図４は、対象ブロックに適用され得るイントラ予測モードの一例を示す図である。図４の例において、０から６６までの６７通りのイントラ予測モードを示す。イントラ予測モード「０」はＰｌａｎａｒ予測であり、イントラ予測モード「１」はＤＣ予測であり、イントラ予測モード「２」〜「６６」は方向性予測である。予測モード選択部１７１は、例えばＲＤ（Ｒａｔｅ  Ｄｉｓｔｏｒｔｉｏｎ）コストに基づいて最適なイントラ予測モードを選択する。方向性予測において、矢印の方向は予測方向を示し、矢印の起点は予測対象の画素の位置を示し、矢印の終点はこの予測対象画素の予測に用いる参照画素の位置を示す。
【００４６】
方向性予測の矢印の終点がちょうど参照画素の座標を示している場合（整数画素位置）はその位置の参照画素値がそのまま予測値となるが、矢印の終点が２つの参照画素の座標の間を示す場合には、複数の参照画素に内挿フィルタをかけて予測値を決定する。
【００４７】
フィルタ決定部１７２Ａは、予測モード選択部１７１により選択されたイントラ予測モードが所定の方向性予測であり、かつ参照画素が整数画素位置ではない場合に、対象ブロック内の画素位置ごとに、予測画素の生成に用いるフィルタ（内挿フィルタ）を複数種類のフィルタの中から決定する。具体的には、フィルタ決定部１７２Ａは、予測対象画素の画素位置からイントラ予測方向に延ばした直線上に整数位置の参照画素がない場合に、フィルタを適用すると判定する。
【００４８】
なお、所定の方向性予測とは、参照画素の内挿が必要な方向性予測をいう。例えば、水平方向（モード「１８」）、垂直方向（モード「５０」）、４５度斜め方向（モード「２」、「３４」、「６６」）などの方向性予測については、整数位置の参照画素を参照可能であるため、かかるフィルタは適用されない。これらのモード以外のモードについては、フィルタ決定部１７２Ａは、イントラ予測方向に延ばした直線上に整数位置の参照画素がある場合にはフィルタを適用しないと判定し、そうでない場合にはフィルタを適用すると判定する。以下において、フィルタ決定部１７２Ａがフィルタを適用すると判定したと仮定して説明を進める。
【００４９】
また、本実施形態において、フィルタとは４タップ内挿フィルタをいう。フィルタは、予測対象画素について、４つの予測参照画素から１つの予測画素を生成するために用いられる。予測参照画素とは、対象ブロックの左側及び上側の隣接参照画素のうち、対象画素の予測に用いる参照画素（すなわち、フィルタが適用される参照画素）をいう。本実施形態においてフィルタは４タップ内挿フィルタであるため、予測参照画素の数は４である。
【００５０】
また、複数種類のフィルタとは、フィルタ特性が互いに異なるフィルタをいう。複数種類のフィルタは、例えばバイキュービックフィルタ及びガウシアンフィルタを含む。バイキュービックフィルタは急峻なフィルタであり、ガウシアンフィルタはなだらかなフィルタである。
【００５１】
本実施形態において、フィルタ決定部１７２Ａは、対象ブロック内の１つの画素位置に対応するフィルタを決定する際に、当該１つの画素位置に最も近い参照画素の位置と、当該１つの画素位置との間の距離に応じて、フィルタを決定する。このように、フィルタ決定部１７２Ａは、対象ブロック内の画素位置ごとにフィルタを決定するため、対象ブロック内でフィルタを画素単位で適切に使い分けることができる。また、１つの画素位置に対応するフィルタを決定する際に、当該１つの画素位置に最も近い参照画素の位置と当該１つの画素位置との間の距離に応じてフィルタを決定するため、例えば、参照画素に近い画素位置における予測画素を生成する場合には急峻なフィルタを用い、参照画素から離れた画素位置における予測画素を生成する場合にはなだらかなフィルタを用いることができる。これにより、イントラ予測の予測精度を高めることができる。
【００５２】
予測画素生成部１７３は、対象ブロック内の画素位置ごとに、フィルタ決定部１７２Ａにより決定されたフィルタを用いて予測参照画素から予測画素を生成する。図５は、フィルタを用いた予測画素の生成方法の一例を示す図である。図５において、対象ブロックのブロックサイズが４×４であり、２行目３列目の画素位置（座標位置）について予測画素を生成することを想定している。予測画素生成部１７３は、対象ブロックの上側の参照画素のうち４つの予測参照画素＃１〜＃４にフィルタを適用することにより予測画素を生成する。このようにして対象ブロック内の全画素位置について予測画素を生成すると、予測画素生成部１７３は、生成した予測画素からなるブロックをイントラ予測画像として出力する。
【００５３】
次に、本実施形態に係るフィルタ決定部１７２Ａの構成について説明する。図３に示すように、フィルタ決定部１７２Ａは、参照画素決定部１７２ａと、距離算出部１７２ｂと、閾値設定部１７２ｃと、比較決定部１７２ｄとを備える。
【００５４】
参照画素決定部１７２ａは、対象ブロック内の画素位置ごとに、最も近い参照画素（すなわち、距離の算出に用いる参照画素）を決定する。具体的には、参照画素決定部１７２ａは、予測モード選択部１７１により選択されたイントラ予測モードに応じて、予測対象画素の画素位置に最も近い参照画素として、対象ブロックの上側の参照画素及び左側の参照画素の何れを用いるか決定する。イントラ予測に用いられる予測参照画素はイントラ予測モードに応じて変化するが、距離を求めるための参照画素をイントラ予測モードに応じて決定することにより、適切に距離を算出することができる。例えば、参照画素決定部１７２ａは、イントラ予測モードが「２」〜「３４」の場合は左側参照画素を決定し、イントラ予測モードが「３５」〜「６６」の場合は上側参照画素を決定する。参照画素決定部１７２ａは、決定した参照画素の位置（座標）を距離算出部１７２ｂに出力する。
【００５５】
距離算出部１７２ｂは、参照画素決定部１７２ａにより決定された参照画素の位置と、対象画素の位置との間の距離を算出し、算出した距離を比較決定部１７２ｄに出力する。
【００５６】
閾値設定部１７２ｃは、予測モード選択部１７１により選択されたイントラ予測モードに応じて、距離と比較すべき１又は複数の閾値を設定する。具体的には、閾値設定部１７２ｃは、イントラ予測モードと閾値とを対応付けたマッピングテーブルを保持しており、マッピングテーブルを用いて、イントラ予測モードに対応する閾値を設定する。イントラ予測に用いられる予測参照画素はイントラ予測モードに応じて変化し、それに応じて予測参照画素と対象画素との間の距離も変化するが、イントラ予測モードに応じて閾値を設定することでフィルタを適切に決定できる。本実施形態においては閾値が１つである場合について説明するが、閾値は複数であってもよい。閾値設定部１７２ｃは、設定する閾値を比較決定部１７２ｄに出力する。
【００５７】
比較決定部１７２ｄは、距離算出部１７２ｂにより算出された距離を、閾値設定部１７２ｃにより設定された閾値と比較することにより、対象画素に対応するフィルタを決定し、決定したフィルタを予測画素生成部１７３に出力する。例えば、比較決定部１７２ｄは、距離が閾値以下である対象画素に対してフィルタ１を決定し、距離が閾値を超える対象画素に対してフィルタ２を決定する。フィルタ１は、フィルタ２に比べて急峻なフィルタである。フィルタ１はバイキュービックフィルタであってもよく、フィルタ２はガウシアンフィルタであってもよい。
【００５８】
図６は、フィルタ決定部１７２Ａの動作の一例を示す図である。図６において、対象ブロックのブロックサイズは８×８である。
【００５９】
図６に示すように、第１に、参照画素決定部１７２ａは、予測モード選択部１７１により選択されたイントラ予測モードが「３５」〜「６６」の範囲内であることから、距離を算出するための参照画素として上側参照画素を決定する。また、閾値設定部１７２ｃは、予測モード選択部１７１により選択されたイントラ予測モードに応じて、距離と比較すべき閾値を設定する。ここでは、閾値設定部１７２ｃが設定した閾値が「４」であると仮定して説明を進める。
【００６０】
第２に、距離算出部１７２ｂは、対象ブロック内の各画素位置について、参照画素決定部１７２ａにより決定された上側参照画素との間の距離を算出する。例えば、距離算出部１７２ｂは、対象ブロック内の１行目の各画素位置については距離を「１」と算出し、対象ブロック内の２行目の各画素位置については距離を「２」と算出し、対象ブロック内の３行目の各画素位置については距離を「３」と算出し、対象ブロック内の４行目の各画素位置については距離を「４」と算出し、対象ブロック内の５行目の各画素位置については距離を「５」と算出し、対象ブロック内の６行目の各画素位置については距離を「６」と算出し、対象ブロック内の７行目の各画素位置については距離を「７」と算出し、対象ブロック内の８行目の各画素位置については距離を「８」と算出する。
【００６１】
第３に、比較決定部１７２ｄは、距離算出部１７２ｂにより算出された距離を、閾値設定部１７２ｃにより設定された閾値と比較することにより、対象ブロック内の各画素位置についてフィルタを決定する。閾値設定部１７２ｃが設定した閾値が「４」であるため、対象ブロック内の１〜４行目の各画素位置については上側参照画素との距離が閾値以下である。よって、比較決定部１７２ｄは、対象ブロック内の１〜４行目の各画素位置についてはフィルタ１（例えば、バイキュービックフィルタ）を決定する。一方で、対象ブロック内の５〜８行目の各画素位置については上側参照画素との距離が閾値を超える。よって、比較決定部１７２ｄは、対象ブロック内の５〜８行目の各画素位置についてはフィルタ２（例えば、ガウシアンフィルタ）を決定する。
【００６２】
（１．４．イントラ予測部の動作フロー例）
図７は、本実施形態に係る画像符号化装置１のイントラ予測部１７０の動作フロー例を示す図である。
【００６３】
図７に示すように、ステップＳ１０１において、予測モード選択部１７１は、対象ブロックに適用するイントラ予測モードを選択する。
【００６４】
ステップＳ１０２において、参照画素決定部１７２ａは、予測モード選択部１７１により選択されたイントラ予測モードに応じて、対象ブロック内の画素位置ごとに、距離の算出に用いる参照画素を決定する。
【００６５】
ステップＳ１０３において、距離算出部１７２ｂは、参照画素決定部１７２ａにより決定された参照画素の位置と、対象画素の位置との間の距離を算出する。
【００６６】
ステップＳ１０４において、閾値設定部１７２ｃは、予測モード選択部１７１により選択されたイントラ予測モードに応じて、距離と比較すべき閾値を設定する。
【００６７】
ステップＳ１０５において、比較決定部１７２ｄは、距離算出部１７２ｂにより算出された距離を、閾値設定部１７２ｃにより設定された閾値と比較する。
【００６８】
ステップＳ１０６において、比較決定部１７２ｄは、距離と閾値との比較結果に応じて、対象画素に対応するフィルタを決定する。
【００６９】
ステップＳ１０７において、予測画素生成部１７３は、フィルタ決定部１７２Ａにより決定されたフィルタを用いて予測参照画素から予測画素を生成する。
【００７０】
対象ブロック内の全予測画素の生成が終了した場合（ステップＳ１０８：ＹＥＳ）、イントラ予測部１７０（予測画素生成部１７３）は、対象ブロックに対応するイントラ予測画像を出力する。
【００７１】
一方で、対象ブロック内の全予測画素の生成が未だ終了していない場合（ステップＳ１０８：ＮＯ）、対象ブロック内の次の予測対象画素に処理を移し（ステップＳ１０９）、次の予測対象画素について、距離の算出（ステップＳ１０３）、距離と閾値との比較（ステップＳ１０５）、フィルタの決定（ステップＳ１０６）、及び予測画素の生成（ステップＳ１０６）を行う。
【００７２】
（１．５．第１実施形態の変更例）
上述の第１実施形態においては、距離算出部１７２ｂが、予測対象画素と参照画素との間の距離を算出する際に、予測対象画素と左側参照画素との間の水平方向の距離、又は予測対象画素と上側参照画素との間の垂直方向の距離を算出することを想定していた。かかる場合、距離の算出に用いる参照画素は、予測参照画素（すなわち、実際に予測に用いる参照画素）でなくてもよい。
【００７３】
これに対し、本変更例においては、距離の算出に用いる参照画素として予測参照画素（すなわち、実際に予測に用いる参照画素）を用いる。本変更例に係る参照画素決定部１７２ａは、複数の予測参照画素からなる参照画素列と、予測対象画素の位置からイントラ予測モードの予測方向へ伸ばした線分との交点に対応する参照画素を、距離の算出に用いる参照画素として決定する。そして、距離算出部１７２ｂは、参照画素決定部１７２ａにより決定された参照画素の位置と予測対象画素との間の距離を算出する。実際に予測に用いる参照画素との距離を算出することにより、フィルタを適切に決定できる。
【００７４】
図８は、本変更例に係るフィルタ決定部１７２Ａの動作の一例を示す図である。図８において、対象ブロックのブロックサイズは８×８である。
【００７５】
図８に示すように、参照画素決定部１７２ａは、複数の予測参照画素（予測参照画素＃１〜＃４）からなる参照画素列と、予測対象画素の位置からイントラ予測モードの予測方向へ伸ばした線分との交点に対応する参照画素を、距離の算出に用いる参照画素として決定する。
【００７６】
図８（ａ）の例では、参照画素決定部１７２ａは、予測参照画素＃２を、距離の算出に用いる参照画素として決定する。また、本変更例においても、閾値設定部１７２ｃは、イントラ予測モードに応じて、距離と比較すべき閾値を設定する。ここでは、閾値設定部１７２ｃが設定した閾値が「４」であるとしている。
【００７７】
図８（ｂ）の例では、参照画素決定部１７２ａは、予測参照画素＃３を、距離の算出に用いる参照画素として決定する。また、本変更例においても、閾値設定部１７２ｃは、イントラ予測モードに応じて、距離と比較すべき閾値を設定する。ここでは、閾値設定部１７２ｃが設定した閾値が「３」であるとしている。
【００７８】
＜２．第２実施形態＞
第２実施形態について、第１実施形態との相違点を主として説明する。
【００７９】
第１実施形態は、フィルタが４タップ内挿フィルタであることを前提として、予測画素を生成するためのフィルタの種類を決定するための実施形態であった。これに対し、第２実施形態は、フィルタの種類を固定としつつ、フィルタのタップ数（すなわち、予測参照画素の数）を決定するための実施形態である。
【００８０】
（２．１．イントラ予測部の構成）
図９は、本実施形態に係る画像符号化装置１のイントラ予測部１７０の構成を示す図である。画像復号装置２のイントラ予測部２４０は、画像符号化装置１のイントラ予測部１７０と同様の構成を有し、かつ同様の動作を行う。
【００８１】
図９に示すように、本実施形態に係るイントラ予測部１７０は、予測モード選択部１７１と、参照画素数決定部１７２Ｂと、予測画素生成部１７３とを備える。予測モード選択部１７１については第１実施形態と同様である。
【００８２】
参照画素数決定部１７２Ｂは、予測画素の生成に用いる予測参照画素の数（フィルタのタップ数）を決定する。参照画素数決定部１７２Ｂは、イントラ予測の対象とする対象ブロック内の画素位置ごとに、予測参照画素の数を決定する。
【００８３】
予測画素生成部１７３は、イントラ予測の対象とするブロック周辺の参照画素の中から、参照画素数決定部１７２Ｂにより決定された数の予測参照画素に対してフィルタを適用することにより、予測画素を生成する。
【００８４】
このように、予測画素の生成に用いる予測参照画素の数をブロック単位又は画素単位で変更可能にすることで、イントラ予測の予測精度を高めることができる。また、フィルタの種類が１種類であっても、予測参照画素の数によってフィルタ特性を変化させることができる。
【００８５】
本実施形態において、参照画素数決定部１７２Ｂは、イントラ予測の対象とするブロック内の１つの画素位置（予測対象画素）に対応する予測参照画素の数を決定する際に、当該１つの画素位置に最も近い参照画素の位置と当該１つの画素位置との間の距離に応じて、予測参照画素の数を決定する。
【００８６】
このように、１つのブロック内の画素位置ごとにフィルタを決定するため、対象ブロック内でフィルタを画素単位で適切に使い分けることができる。例えば、参照画素に近い画素位置における予測画素を生成する場合には予測参照画素の数を少なくし、参照画素から離れた画素位置における予測画素を生成する場合には予測参照画素の数を増やすことで、適切なフィルタ特性を得ることができる。
【００８７】
次に、本実施形態に係る参照画素数決定部１７２Ｂの構成について説明する。図９に示すように、参照画素数決定部１７２Ｂは、参照画素決定部１７２ａと、距離算出部１７２ｂと、閾値設定部１７２ｃと、比較決定部１７２ｄとを備える。
【００８８】
参照画素決定部１７２ａ、距離算出部１７２ｂ、及び閾値設定部１７２ｃのそれぞれは、第１実施形態又はその変更例と同様な動作を行う。
【００８９】
比較決定部１７２ｄは、距離算出部１７２ｂにより算出された距離を、閾値設定部１７２ｃにより設定された閾値と比較することにより、対象画素に対応する予測対象画素数を決定し、決定した予測対象画素数を予測画素生成部１７３に出力する。例えば、比較決定部１７２ｄは、距離が閾値以下である対象画素に対して予測対象画素数Ａを決定し、距離が閾値を超える対象画素に対して予測対象画素数Ｂを決定する。予測画素数Ａは、予測画素数Ｂよりも少ない数である。例えば、予測対象画素数Ａは「４」であり、予測対象画素数Ａは「５」又は「６」である。
【００９０】
（２．２．イントラ予測部の動作フロー）
図１０は、本実施形態に係る画像符号化装置１のイントラ予測部１７０の動作フロー例を示す図である。
【００９１】
図１０に示すように、ステップＳ２０１において、予測モード選択部１７１は、対象ブロックに適用するイントラ予測モードを選択する。
【００９２】
ステップＳ２０２において、参照画素決定部１７２ａは、予測モード選択部１７１により選択されたイントラ予測モードに応じて、対象ブロック内の画素位置ごとに、距離の算出に用いる参照画素を決定する。
【００９３】
ステップＳ２０３において、距離算出部１７２ｂは、参照画素決定部１７２ａにより決定された参照画素の位置と、対象画素の位置との間の距離を算出する。
【００９４】
ステップＳ２０４において、閾値設定部１７２ｃは、予測モード選択部１７１により選択されたイントラ予測モードに応じて、距離と比較すべき閾値を設定する。
【００９５】
ステップＳ２０５において、比較決定部１７２ｄは、距離算出部１７２ｂにより算出された距離を、閾値設定部１７２ｃにより設定された閾値と比較する。
【００９６】
ステップＳ２０６において、比較決定部１７２ｄは、距離と閾値との比較結果に応じて、対象画素に対応する予測参照画素の数（フィルタのタップ数）を決定する。
【００９７】
ステップＳ２０７において、予測画素生成部１７３は、フィルタ決定部１７２Ａにより決定された数の予測参照画素から予測画素を生成する。
【００９８】
対象ブロック内の全予測画素の生成が終了した場合（ステップＳ２０８：ＹＥＳ）、イントラ予測部１７０（予測画素生成部１７３）は、対象ブロックに対応するイントラ予測画像を出力する。
【００９９】
一方で、対象ブロック内の全予測画素の生成が未だ終了していない場合（ステップＳ２０８：ＮＯ）、対象ブロック内の次の予測対象画素に処理を移し（ステップＳ２０９）、次の予測対象画素について、距離の算出（ステップＳ２０３）、距離と閾値との比較（ステップＳ２０５）、フィルタの決定（ステップＳ２０６）、及び予測画素の生成（ステップＳ２０６）を行う。
【０１００】
（２．３．第２実施形態の変更例）
上述の第２実施形態においては、参照画素数決定部１７２Ｂが、イントラ予測の対象とする対象ブロック内の画素位置ごとに、参照画素との距離に応じて予測参照画素の数を決定していた。
【０１０１】
これに対し、本変更例においては、参照画素数決定部１７２Ｂは、イントラ予測の対象とする対象ブロックに対応する予測参照画素の数を決定する際に、対象ブロックのブロックサイズに応じて予測参照画素の数を決定する。例えば、ブロックサイズが小さい場合には予測参照画素の数を少なくし、ブロックサイズが大きい場合には予測参照画素の数を増やすことで、適切なフィルタ特性を得ることができる。
【０１０２】
なお、ブロックサイズとは、対象ブロックの縦方向の長さ×横方向の長さを定義してもよいし、縦方向の長さまたは横方向の長さのうち片方を定義してもよいし、イントラ予測方向によって縦方向の長さまたは横方向の長さのうちいずれを使うかを切り替えてもよい。イントラ予測方向によって縦方向の長さまたは横方向の長さのうちいずれを使うかを切り替える場合、参照画素数決定部１７２Ｂは、例えば、イントラ予測モードが「２」〜「３４」のときは横方向の長さをブロックサイズとして用い、イントラ予測モードが「３５」〜「６６」のときは縦方向の長さをブロックサイズとして用いる。
【０１０３】
図１１は、本変更例に係る画像符号化装置１のイントラ予測部１７０の動作フロー例を示す図である。
【０１０４】
図１１に示すように、ステップＳ３０１において、予測モード選択部１７１は、対象ブロックに適用するイントラ予測モードを選択する。
【０１０５】
ステップＳ３０２において、参照画素数決定部１７２Ｂは、対象ブロックのブロックサイズを取得する。
【０１０６】
ステップＳ３０３において、参照画素数決定部１７２Ｂは、対象ブロックのブロックサイズに応じて、予測参照画素の数（フィルタのタップ数）を決定する。例えば、参照画素数決定部１７２Ｂは、対象ブロックのブロックサイズを閾値と比較し、ブロックサイズが閾値以下である場合には予測対象画素数Ａを決定し、ブロックサイズが閾値を超える場合には予測対象画素数Ｂを決定する。
【０１０７】
ステップＳ３０４において、予測画素生成部１７３は、フィルタ決定部１７２Ａにより決定された数の予測参照画素から予測画素を生成する。
【０１０８】
対象ブロック内の全予測画素の生成が終了した場合（ステップＳ３０５：ＹＥＳ）、イントラ予測部１７０（予測画素生成部１７３）は、対象ブロックに対応するイントラ予測画像を出力する。
【０１０９】
一方で、対象ブロック内の全予測画素の生成が未だ終了していない場合（ステップＳ３０８：ＮＯ）、対象ブロック内の次の予測対象画素に処理を移し（ステップＳ３０９）、次の予測対象画素について予測画素の生成（ステップＳ３０４）を行う。
【０１１０】
＜３．その他の実施形態＞
上述の第１実施形態及び第２実施形態において、転写について特に触れなかった。イントラ予測モードが「３４」以下の場合には対象ブロックの上側参照画素を左側に転写し、イントラ予測モードが「３４」よりも大きい場合には対象ブロックの左参照画素を上側に転写してもよい。かかる転写により参照画素を垂直方向又は水平方向に直線状に並べることができるため、フィルタ処理を画一的に行うことができる。かかる転写を行う場合に、参照画素決定部１７２ａは、上述の距離の算出に、転写後の参照画素を用いてもよい。
【０１１１】
画像符号化装置１が行う各処理をコンピュータに実行させるプログラム及び画像復号装置２が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体であってもよい。また、画像符号化装置１が行う各処理を実行する回路を集積化し、画像符号化装置１を半導体集積回路（チップセット、ＳｏＣ）として構成してもよい。同様に、画像復号装置２が行う各処理を実行する回路を集積化し、画像復号装置２を半導体集積回路（チップセット、ＳｏＣ）として構成してもよい。
【０１１２】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【０１１３】
なお、日本国特許出願第２０１８−６５７８０号（２０１８年３月２９日出願）の全内容が、参照により、本願明細書に組み込まれている。
【図１】
2022000953.tif 000003
【図２】
2022000953.tif 000004
【図３】
2022000953.tif 000005
【図４】
2022000953.tif 000006
【図５】
2022000953.tif 000007
【図６】
2022000953.tif 000008
【図７】
2022000953.tif 000009
【図８】
2022000953.tif 000010
【図９】
2022000953.tif 000011
【図１０】
2022000953.tif 000012
【図１１】
2022000953.tif 000013