【文献】
Shunsuke Iwamura et al.,Description of SDR and HDR video coding technology proposal by NHK and SHARP,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,10th Meeting: San Diego,2018年 4月,JVET-J0027_v1,pp.i,1-10
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0017】
図面を参照して、実施形態に係る画像符号化装置及び画像復号装置について説明する。実施形態に係る画像符号化装置及び画像復号装置は、MPEGに代表される動画の符号化及び復号を行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【0018】
(1.画像符号化装置の構成)
図1は、本実施形態に係る画像符号化装置1の構成を示す図である。
図1に示すように、画像符号化装置1は、ブロック分割部100と、減算部101と、変換部102aと、量子化部102bと、エントロピー符号化部103と、逆量子化部104aと、逆変換部104bと、合成部105と、メモリ106と、イントラ予測部107と、インター予測部108と、予測精度評価部109と、予測画像補正部(補正部)110とを備える。本実施形態において、イントラ予測部107、インター予測部108、予測精度評価部109、及び予測画像補正部110は、予測画像補正装置を構成する。
【0019】
ブロック分割部100は、フレーム(或いはピクチャ)単位の入力画像をブロック状の小領域に分割し、画像ブロックを減算部101(及びインター予測部108)に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックは、画像符号化装置1が符号化を行う単位及び画像復号装置2が復号を行う単位であり、かかる画像ブロックを対象画像ブロックと称する。なお、画像ブロックの形状は正方形に限定されるものではなく、長方形の形状であってもよい。
【0020】
減算部101は、ブロック分割部100から入力された対象画像ブロックと対象画像ブロックに対応する予測画像(予測画像ブロック)との間の画素単位での差分を示す予測残差を算出する。具体的には、減算部101は、符号化対象ブロックの各画素値から予測画像の各画素値を減算することにより予測残差を算出し、算出した予測残差を変換部102aに出力する。本実施形態において、予測画像は、後述する予測画像補正部110により補正されたものであって、予測画像補正部110から減算部101に入力される。
【0021】
変換部102a及び量子化部102bは、ブロック単位で直交変換処理及び量子化処理を行う変換・量子化部102を構成する。
【0022】
変換部102aは、減算部101から入力された予測残差に対して直交変換を行って変換係数を算出し、算出した変換係数を量子化部102bに出力する。直交変換とは、例えば、離散コサイン変換(DCT:Discrete Cosine Transform)や離散サイン変換(DST:Discrete Sine Transform)、カルーネンレーブ変換(KLT: Karhunen?Loeve Transform)等をいう。
【0023】
量子化部102bは、変換部102aから入力された変換係数を量子化パラメータ(Qp)及び量子化行列を用いて量子化し、量子化変換係数を生成する。量子化パラメータ(Qp)は、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各変換係数を量子化する際の量子化値を要素として有する行列である。量子化部102bは、量子化制御情報、生成した量子化変換係数情報などをエントロピー符号化部103及び逆量子化部104aに出力する。
【0024】
エントロピー符号化部103は、量子化部102bから入力された量子化変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化データ(ビットストリーム)を生成し、符号化データを画像符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context−based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。なお、エントロピー符号化部103には、イントラ予測部107及びインター予測部108から予測に関する情報が入力される。エントロピー符号化部103は、これらの情報のエントロピー符号化も行う。
【0025】
逆量子化部104a及び逆変換部104bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部104を構成する。
【0026】
逆量子化部104aは、量子化部102bが行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部104aは、量子化部102bから入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部104bに出力する。
【0027】
逆変換部104bは、変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。例えば、変換部102aが離散コサイン変換を行った場合には、逆変換部104bは逆離散コサイン変換を行う。逆変換部104bは、逆量子化部104aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部105に出力する。
【0028】
合成部105は、逆変換部104bから入力された復元予測残差を予測画像補正部110から入力された予測画像と画素単位で合成する。合成部105は、復元予測残差の各画素値と予測画像の各画素値を加算して対象画像ブロックを再構成(復号)し、再構成した対象画像ブロックである再構成画像ブロックをメモリ106に出力する。なお、かかる再構成画像ブロックは、復号済みブロックと称されることがある。
【0029】
メモリ106は、合成部105から入力された再構成画像ブロックを記憶する。メモリ106は、再構成画像ブロックをフレーム単位で記憶する。
【0030】
イントラ予測部107は、メモリ106に記憶された再構成画像ブロック(復号済みブロック)のうち、対象画像ブロックに隣接する復号済み隣接ブロックを参照してイントラ予測画像を生成する。イントラ予測部107は、最適なイントラ予測モードを選択し、選択したイントラ予測モードを用いてイントラ予測を行う。複数のイントラ予測方向に対応する複数のイントラ予測モードが予め規定されている。イントラ予測方向とは、対象画像ブロックに隣接する隣接画素を参照して対象画像ブロック中の対象画素を予測する際に、対象画素を基準とした隣接参照画素の方向をいう。すなわち、イントラ予測モード(イントラ予測方向)により、対象画像ブロック中の各画素の予測に用いるべき隣接参照画素が定められる。イントラ予測部107は、イントラ予測画像(及び/又は隣接参照画素)を予測画像補正部110に出力するとともに、選択したイントラ予測モードの情報をエントロピー符号化部103に出力する。
【0031】
インター予測部108は、メモリ106に記憶されたフレーム単位の再構成画像(復号画像)を参照画像として用いて対象画像ブロックを予測するインター予測を行う。具体的には、インター予測部108は、ブロックマッチングなどの手法により動きベクトルを算出し、動きベクトルに基づいてインター予測画像を生成する。インター予測部108は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。本実施形態において、インター予測部108が双予測を用いる場合を主として説明し、インター予測部108は複数の参照画像を用いて予測を行う予測部に相当する。インター予測部108は、生成したインター予測画像を予測画像補正部110に出力するとともに、選択したインター予測方法及び動きベクトルに関する情報をエントロピー符号化部103に出力する。また、インター予測部108は、インター予測に用いる複数の参照画像を予測精度評価部109に出力する。
【0032】
予測精度評価部109は、インター予測画像の生成に用いる複数の参照画像間の類似度に基づいて、インター予測画像の端部領域における予測精度を評価する。具体的には、インター予測部108が複数の参照画像を用いてインター予測を行う場合において、インター予測に用いる複数の参照画像間の類似度を1又は複数の画素からなる画像部分ごとに算出し、かかる類似度によりインター予測画像の予測精度を画像部分ごとに評価し、評価結果の情報を予測画像補正部110に出力する。本実施形態において、予測精度評価部109が、予測に用いる複数の参照画像間の類似度を1画素単位で算出し、インター予測画像の予測精度を1画素単位で評価する一例を主として説明する。予測精度評価部109の詳細については後述する。
【0033】
予測画像補正部110は、インター予測部108から入力されるインター予測画像とイントラ予測部107から入力されるイントラ予測画像とを重み付け平均することで補正する。具体的には、予測画像補正部110は、イントラ予測画像に対応する復号済み隣接ブロック(隣接参照画素)を用いて、インター予測画像の端部領域をフィルタ処理により補正する。また、予測画像補正部110は、予測精度評価部109による評価結果に少なくとも基づいてフィルタ処理を制御する。「フィルタ処理を制御する」とは、フィルタ処理を行うか否かの制御やフィルタ強度の制御を含む。本実施形態において、予測画像補正部110が、予測精度評価部109による評価結果に少なくとも基づいてフィルタ処理を行うか否かを制御する一例を主として説明する。例えば、予測画像補正部110は、予測精度評価部109により評価された予測精度が第1閾値以下である場合にはフィルタ処理を行い、予測精度評価部109により評価された予測精度が第1閾値を超える場合にはフィルタ処理を行わない。予測画像補正部110は、フィルタ処理を行う場合にはフィルタ処理後のインター予測画像を予測画像として減算部101及び合成部105に出力し、フィルタ処理を行わない場合にはインター予測画像をそのまま予測画像として減算部101及び合成部105に出力する。なお、「予測精度」を「予測の当たらなさ」で表してもよい。「予測の当たらなさ」について、例えば、予測精度が第1閾値以下であることは、予測の当たらなさが高いことを意味してもよい。予測精度が第1閾値を超えることは、予測の当たらなさが低いことを意味してもよい。予測画像補正部110の詳細については後述する。
【0034】
(2.画像復号装置の構成)
図2は、本実施形態に係る画像復号装置2の構成を示す図である。
図2に示すように、画像復号装置2は、エントロピー復号部200と、逆量子化部201aと、逆変換部201bと、合成部202と、メモリ203と、イントラ予測部204と、インター予測部205と、予測精度評価部206と、予測画像補正部207とを備える。本実施形態において、イントラ予測部204、インター予測部205、予測精度評価部206、及び予測画像補正部207は、予測画像補正装置を構成する。
【0035】
エントロピー復号部200は、符号化装置1により生成された符号化データを復号し、量子化変換係数を逆量子化部201aに出力する。また、エントロピー復号部200は、符号化データを復号し、予測(イントラ予測及びインター予測)に関する情報を取得し、予測に関する情報をイントラ予測部204及びインター予測部205に出力する。
【0036】
逆量子化部201a及び逆変換部201bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部201を構成する。
【0037】
逆量子化部201aは、画像符号化装置1の量子化部102bが行う量子化処理に対応する逆量子化処理を行う。逆量子化部201aは、エントロピー復号部200から入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部201bに出力する。
【0038】
逆変換部201bは、画像符号化装置1の変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。逆変換部201bは、逆量子化部201aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差(復元予測残差)を合成部202に出力する。
【0039】
合成部202は、逆変換部201bから入力された予測残差と、予測画像補正部207から入力された予測画像とを画素単位で合成することにより、元の対象画像ブロックを再構成(復号)し、再構成画像ブロックをメモリ203に出力する。
【0040】
メモリ203は、合成部202から入力された再構成画像ブロックを記憶する。メモリ203は、再構成画像ブロックをフレーム単位で記憶する。メモリ203は、フレーム単位の再構成画像(復号画像)を表示順に画像復号装置2の外部に出力する。
【0041】
イントラ予測部204は、メモリ203に記憶された再構成画像ブロックを参照し、エントロピー復号部200から入力されたイントラ予測情報(イントラ予測モード)に従ってイントラ予測を行うことによりイントラ予測画像を生成する。具体的には、イントラ予測部204は、メモリ203に記憶された再構成画像ブロック(復号済みブロック)のうち、イントラ予測モードに応じて定められる隣接参照画素を参照してイントラ予測画像を生成する。イントラ予測部204は、イントラ予測画像(及び/又は隣接参照画素)を予測画像補正部207に出力する。
【0042】
インター予測部205は、メモリ106に記憶されたフレーム単位の再構成画像(復号画像)を参照画像として用いて対象画像ブロックを予測するインター予測を行う。インター予測部205は、エントロピー復号部200から入力されたインター予測情報(動きベクトル情報等)に従ってインター予測を行うことによりインター予測画像を生成し、インター予測画像を予測画像補正部207に出力する。また、インター予測部205は、インター予測に用いる複数の参照画像を予測精度評価部206に出力する。
【0043】
予測精度評価部206は、画像符号化装置1の予測精度評価部109と同様な動作を行う。予測精度評価部206は、インター予測部205が複数の参照画像を用いてインター予測を行う場合において、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、評価結果の情報を予測画像補正部207に出力する。
【0044】
予測画像補正部207は、画像符号化装置1の予測画像補正部110と同様な動作を行う。予測画像補正部207は、イントラ予測画像に対応する復号済み隣接ブロック(隣接参照画素)を用いて、インター予測画像の端部領域をフィルタ処理により補正する。予測画像補正部207は、予測精度評価部206により評価された予測精度が第1閾値以下である場合にはフィルタ処理を行い、予測精度評価部206により評価された予測精度が第1閾値を超える場合にはフィルタ処理を行わない。予測画像補正部207は、フィルタ処理を行う場合にはフィルタ処理後のインター予測画像を予測画像として合成部202に出力し、フィルタ処理を行わない場合にはインター予測画像をそのまま予測画像として合成部202に出力する。予測画像補正部207の詳細については後述する。
【0045】
(3.インター予測)
図3は、インター予測の一例を示す図である。
図4は、インター予測により生成される予測画像の一例を示す図である。インター予測のシンプルな例として、HEVCで用いられている双予測、特に前方向及び後方向予測(両方向予測)を用いる場合について説明する。
【0046】
図3に示すように、双予測は、対象フレーム(現フレーム)に対して時間的に前及び後のフレームを参照する。
図3の例では、tフレーム目の画像中のブロックの予測を、t−1フレーム目とt+1フレーム目とを参照して行う。動き検出では、t−1及びt+1フレーム目の参照フレーム内から、対象画像ブロックと類似する箇所(ブロック)をシステムで設定された探索範囲の中から検出する。
【0047】
検出された箇所が参照画像である。対象画像ブロックに対する参照画像の相対位置を示す情報が図中に示す矢印であり、動きベクトルと呼ばれる。動きベクトルの情報は、画像符号化装置1において、参照画像のフレーム情報とともにエントロピー符号化によって符号化される。一方、画像復号装置2は、画像符号化装置1により生成された動きベクトルの情報に基づいて参照画像を検出する。
【0048】
図3及び
図4に示すように、動き検出によって検出された参照画像1及び2は、対象画像ブロックに対し、参照するフレーム内で位置合わせされた類似する部分画像であるため、対象画像ブロック(符号化対象画像)に類似した画像となる。
図4の例では、対象画像ブロックは、星の絵柄と部分的な円の絵柄とを含んでいる。参照画像1は、星の絵柄と全体的な円の絵柄とを含んでいる。参照画像2は、星の絵柄を含むが、円の絵柄を含んでいない。
【0049】
かかる参照画像1及び2から予測画像を生成する。なお、予測処理は、一般的に、特徴は異なるが部分的に類似する参照画像1及び2を平均化することによって、それぞれの参照画像の特徴を備えた予測画像を生成する。但し、より高度な処理、例えば、ローパスフィルタやハイパスフィルタ等による信号強調処理を併用して予測画像を生成してもよい。ここで、参照画像1は円の絵柄を含み、参照画像2は円の絵柄を含まないため、参照画像1及び2を平均化して予測画像を生成すると、予測画像における円の絵柄は、参照画像1に比べて信号が半減する。
【0050】
参照画像1及び2から得られた予測画像と対象画像ブロック(符号化対象画像)との差分が予測残差である。
図4に示す予測残差において、星の絵柄のエッジのずれ部分と丸の絵柄のずれた部分(斜線部)とにのみ大きな差分が生じているが、それ以外の部分については、精度よく予測が行えており、差分が少なくなる(
図4の例では差分が生じていない)。
【0051】
差分が生じていない部分(星の絵柄の非エッジ部分及び背景部分)は、参照画像1と参照画像2との間の類似度が高い部分であって、高精度な予測が行われた部分である。一方、大きな差分が生じている部分は、各参照画像に特有な部分、すなわち、参照画像1と参照画像2との間の類似度が著しく低い部分である。よって、参照画像1と参照画像2との間の類似度が著しく低い部分は、予測の精度が低く、大きな差分(残差)を生じさせることが分かる。
【0052】
このように差分が大きい部分と差分が無い部分とが混在した予測残差を直交変換し、量子化による変換係数の劣化が生じると、かかる変換係数の劣化が逆量子化及び逆直交変換を経て画像(ブロック)内に全体的に伝搬する。そして、逆量子化及び逆直交変換によって復元された予測残差(復元予測残差)を予測画像に合成して対象画像ブロックを再構成すると、
図4に示す星の絵柄の非エッジ部分及び背景部分のように高精度な予測が行われた部分にも画質の劣化が伝搬してしまう。
【0053】
(4.予測精度評価部)
図5は、画像符号化装置1における予測精度評価部109の構成の一例を示す図である。予測精度評価部109は、インター予測に用いる複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。ここでは、予測精度評価部109が予測画像の全画素について予測精度を評価する一例を説明するが、予測精度評価部109は、必ずしも予測画像の全画素について予測精度を評価しなくてもよい。予測精度評価部109は、少なくとも予測画像の端部領域における画素について予測精度を評価すればよい。
【0054】
図5に示すように、予測精度評価部109は、差分算出部(減算部)109aと、正規化部109bと、調整部109cとを備える。
【0055】
差分算出部109aは、参照画像1と参照画像2との間の差分値の絶対値を画素単位で算出し、算出した差分値の絶対値を正規化部109bに出力する。差分値の絶対値は、類似度を示す値の一例である。差分値の絶対値が小さいほど類似度が高く、差分値の絶対値が大きいほど類似度が低いといえる。差分算出部109aは、各参照画像に対してフィルタ処理を行ったうえで差分値の絶対値を算出してもよい。差分算出部109aは、二乗誤差等の統計量を算出し、かかる統計量を類似度として用いてもよい。
【0056】
正規化部109bは、差分算出部109aから入力された各画素の差分値を、ブロック内で差分値の絶対値が最大となる画素の差分値の絶対値(すなわち、ブロック内の差分値の絶対値の最大値)で正規化し、正規化した差分値の絶対値である正規化差分値を調整部109cに出力する。本実施形態において、正規化差分値は、合成部105において予測画像と合成する復元予測残差を画素単位で重み付けするための重みとして用いられる。
【0057】
調整部109cは、量子化の粗さを定める量子化パラメータ(Qp)に基づいて、正規化部109bから入力された正規化差分値(重み)を調整し、この重みを出力する。量子化の粗さが大きいほど復元予測残差の劣化度が高いため、調整部109cは、量子化パラメータ(Qp)に基づいて正規化差分値(重み)を調整することにより、劣化度を考慮して復元予測残差の重み付けを行うことができる。
【0058】
予測精度評価部109が出力する各画素(ij)の推定予測精度Rijは、例えば下記の式(1)のように表現することができる。
【0059】
Rij = 1 - (abs(Xij-Yij)/maxD × Scale(Qp)) ・・・(1)
【0060】
式(1)において、Xijは参照画像1の画素ijの画素値であり、Yijは参照画像2の画素ijの画素値であり、absは絶対値を得る関数である。
【0061】
また、式(1)において、maxDは、ブロック内の差分値abs(Xij−Yij)の最大値である。maxDを求めるために、ブロック内のすべての画素について差分値を求める必要があるが、この処理を省略するためにすでに処理済みの隣接するブロックの最大値などで代用してもよく、例えば、その値以上が存在する場合は、使用した最大値でクリップすることで、maxDの正規化を行ってもよい。或いは、量子化パラメータ(Qp)とmaxDとの対応関係を定めるテーブルを用いて、量子化パラメータ(Qp)からmaxDを求めてもよい。或いは、予め仕様で規定された固定値をmaxDとして用いてもよい。
【0062】
また、式(1)において、Scale(Qp)は、量子化パラメータ(Qp)に応じて乗じられる係数である。Scale(Qp)は、Qpが大きい場合に1.0に近づき、小さい場合に0に近づくように設計され、その度合いはシステムによって調整するものとする。或いは、予め仕様で規定された固定値をScale(Qp)として用いてもよい。さらに、処理を簡略化するため、Scale(QP)を1.0などシステムに応じて設計された固定値としてもよい。
【0063】
調整部109cは、推定予測精度Rijを出力する。また、このRijは、システムに応じて設計される感度関数によって調整された重み付けを出力しても良い。例えば、abs(Xij−Yij)/maxD×Scale(Qp)=Rijとし、Rij=Clip(rij,1.0,0.0)だけではなく、Rij=Clip(rij+offset,1.0,0.0)と例えばQPなどの制御情報に応じたオフセットをつけて感度を調整してもよい。なお、Clip(x,max,min)は、xがmaxを超える場合はmaxで、xがminを下回る場合はminでクリップする処理を示す。
【0064】
このようにして算出された推定予測精度Rijは、0から1.0までの範囲内の値となる。基本的には、推定予測精度Rijは、参照画像間の画素ijの差分値の絶対値が大きい(すなわち、予測精度が低い)場合に0に近づき、参照画像間の画素ijの差分値の絶対値が小さい(すなわち、予測精度が高い)場合に1に近づく。予測精度評価部109は、ブロック内の各画素ijの推定予測精度Rijからなるマップ情報をブロック単位で予測画像補正部110に出力する。
【0065】
なお、予測精度評価部109は、複数の参照画像を用いるインター予測を適用する場合にのみ評価(推定予測精度Rijの算出)を行い、それ以外のモード、例えば単方向予測や複数参照画像を用いないイントラ予測処理においては、評価を行わなくてもよい。
【0066】
また、画像符号化装置1における予測精度評価部109について説明したが、画像復号装置2における予測精度評価部206は、画像符号化装置1における予測精度評価部109と同様に構成される。具体的には、画像復号装置2における予測精度評価部206は、差分算出部206aと、正規化部206bと、調整部206cとを備える。
【0067】
(5.予測画像補正部)
図6は、画像符号化装置1における予測画像補正部110の構成の一例を示す図である。
図6に示すように、予測画像補正部110は、連続性評価部110aと、フィルタ判定部110bと、フィルタ処理部110cとを備える。
【0068】
連続性評価部110aは、インター予測部108から入力されるインター予測画像と、イントラ予測部107から入力される復号済み隣接ブロックとの連続性を評価する。復号済み隣接ブロックは、対象画像ブロックに隣接する復号済みブロックである。連続性評価部110aは、インター予測画像と復号済み隣接ブロックとの連続性の評価結果をフィルタ判定部110bに出力する。
【0069】
図7は、連続性評価部110aの動作例を示す図である。
図7の例では、符号化の対象画像ブロックの左側及び上側に復号済みブロックが存在しているものとする。連続性評価部110aは、インター予測画像(対象画像ブロック)と復号済みブロックとのブロック境界について画素単位で上から下(又は、下から上)の順に連続性を評価する。連続性評価部110aは、例えば、
図7における画素p0及びq0に跨るブロック境界の連続性Contを下記の式(2)により算出する。
【0070】
Cont=|p
2-2×p
1+p
0|+|q
2-2×q
1+q
0| ・・・(2)
【0071】
なお、連続性を評価する際の単位や評価指標は、式(2)に示すものに限らず、システムで予め規定していれば他の単位や評価指標に変更可能である。例えば、連続性の評価の単位をブロック境界の辺単位(左側境界の連続性評価、上側境界の連続性評価で行う)としてもよいし、処理の簡略化のために連続性の評価指標として境界を跨ぐ画素値差分(abs(p0−q0))としてもよい。
【0072】
フィルタ判定部110bは、予測精度評価部109から入力される予測精度評価結果と連続性評価部110aから入力される連続性評価結果とに基づいて、フィルタ処理を行うか否かを判定する。フィルタ判定部110bは、インター予測画像と復号済みブロックとのブロック境界の画素単位で判定を行ってもよいし、ブロック境界の辺単位で判定を行ってもよい。フィルタ判定部110bは、予測精度評価結果及び連続性評価結果に基づいて、フィルタの強度(例えば、フィルタのタップ数や周波数応答)を変更すると判定してもよい。なお、予測精度評価部109が画素単位で予測精度を評価する場合、フィルタ判定部110bは、インター予測画像の端部領域(フィルタ処理の対象領域)の各画素の推定予測精度Rの平均値を予測精度評価結果として用いてもよい。
【0073】
フィルタ判定部110bは、予測精度評価部109により評価された予測精度が第1閾値α以下であって、且つ、連続性評価部110aにより評価された連続性が第2閾値β以下である場合には、フィルタ処理を行うと判定する。一方、予測精度評価部109により評価された予測精度が第1閾値αを超える、及び/又は、連続性評価部110aにより評価された連続性が第2閾値βを超える場合には、フィルタ判定部110bは、フィルタ処理を行わないと判定する。ここで、閾値α及びβとしては、システム固定の値を設定してもよいし、量子化パラメータ(Qp)を用いる関数により可変な値を算出及び設定してもよい。また、閾値αは、推定予測精度Rが正規化されていない場合には、対象画像ブロック内の推定予測精度の最大値を用いる関数により可変な値を算出及び設定してもよい。
【0074】
フィルタ処理部110cは、フィルタ判定部110bにより、フィルタ処理を行うと判定された場合に、インター予測画像の端部領域に対してフィルタ処理を行う。
図7に示すように、フィルタ処理部110cは、インター予測画像(符号化対象ブロック)の端部領域に含まれる予測画素q0、q1、q2およびイントラ予測部107より入力される隣接する復号済み参照画素p0、p1、p2を用いて下記の式(3)により補正し、補正後の予測画素q'0、q'1、q'2を出力する。
【0076】
ここで、clip(x,max,min)は、xがmaxを超える場合はmaxで、xがminを下回る場合はminでクリップする処理を示す。また、式(3)におけるtcは、クリッピングに用いる処理の調整オフセットであり、量子化パラメータ(Qp)を用いる関数により可変な値を算出及び設定可能である。
【0077】
なお、画像符号化装置1における予測画像補正部110について説明したが、画像復号装置2における予測画像補正部207は、画像符号化装置1における予測画像補正部110と同様に構成される。具体的には、画像復号装置2における予測画像補正部207は、連続性評価部207aと、フィルタ判定部207bと、フィルタ処理部207cとを備える。
【0078】
(6.予測画像補正動作)
図8は、予測画像補正動作の一例を示す図である。ここでは、画像符号化装置1における予測画像補正動作について説明するが、画像復号装置2においても同様な予測画像補正動作を行う。
図8の動作フローは、インター予測画像と復号済みブロックとのブロック境界の画素単位で行われてもよい。
【0079】
図8に示すように、ステップS1において、予測精度評価部109は、インター予測部108がインター予測画像の生成に用いる複数の参照画像間の類似度に基づいて、インター予測画像の端部領域における予測精度を評価する。
【0080】
ステップS2において、連続性評価部110aは、インター予測部108が出力するインター予測画像と、インター予測画像に隣接する復号済み隣接ブロックとの連続性を評価する。
【0081】
ステップS3において、フィルタ判定部110bは、予測精度評価部109により評価された予測精度を第1閾値αと比較し、連続性評価部110aにより評価された連続性を第2閾値βと比較する。
【0082】
予測精度が第1閾値α以下であって、且つ連続性が第2閾値β以下である場合(ステップS3:YES)、フィルタ判定部110bは、フィルタ処理を行うと判定する。かかる場合、ステップS4において、フィルタ処理部110cは、復号済み隣接ブロック(隣接参照画素)を用いて、インター予測画像の端部領域をフィルタ処理により補正する。
【0083】
一方、予測精度が第1閾値αを超える、及び/又は、連続性が第2閾値βを超える場合(ステップS3:NO)、フィルタ判定部110bは、フィルタ処理を行わないと判定する。かかる場合、フィルタ処理部110cは、フィルタ処理を行わない。
【0084】
(7.実施形態のまとめ)
本実施形態に係る画像符号化装置1及び画像復号装置2は、インター予測の予測精度の評価結果に基づいてフィルタ処理を制御する。これにより、インター予測画像の端部領域の予測精度が高い場合には、この端部領域にフィルタ処理を適用しないよう制御できるため、フィルタ処理による予測画像の精度低下を防止できる。言い換えると、インター予測画像の端部領域の予測精度が低い場合にのみ、この端部領域にフィルタ処理を適用可能とすることができるため、フィルタ処理を適切に行うことができる。
【0085】
また、本実施形態において、画像符号化装置1及び画像復号装置2で共通の動作によりフィルタ処理の適用有無を判定する。具体的には、インター予測の予測精度の評価を画像符号化装置1及び画像復号装置2のそれぞれで行い、かかる評価結果に基づいてフィルタ処理の適用有無を判定する。これにより、フィルタ処理の適用有無を示すフラグを画像符号化装置1から画像復号装置2に伝送する必要がないため、フラグによる符号量の増加を防止できる。
【0086】
(8.実施形態の変更例1)
上述した実施形態に係る連続性評価及びフィルタ処理において、復号済み隣接ブロックに適用されたイントラ予測モード(イントラ予測方向)を考慮してもよい。これにより、連続性評価及びフィルタ処理の精度を向上させることができる。
図9は、本変更例に係る予測画像補正部110の構成を示す図である。
図9に示すように、連続性評価部110a及びフィルタ処理部110cには、イントラ予測部107から、復号済み隣接ブロックに適用されたイントラ予測モードが入力される。連続性評価部110aは、復号済み隣接ブロックに適用したイントラ予測モードに応じて連続性を評価する。また、フィルタ処理部110cは、復号済み隣接ブロックに適用したイントラ予測モードに応じてフィルタ処理を行う。
【0087】
図10は、本変更例に係る連続性評価部110a及びフィルタ処理部110cの動作例を示す図である。
図10に示すように、連続性評価部110a及びフィルタ処理部110cは、符号化対象ブロックに対応するインター予測画像の端部画素q0について連続性の評価及びフィルタ処理を行う際に、復号済み隣接ブロックに適用したイントラ予測モード(イントラ予測方向)に沿って、q0を通る直線上のp1、p0、q1、q2を加重平均により算出する。具体的には、復号済み隣接ブロック中の画素値を用いて、q0を通る直線上のp1、p0を算出し、インター予測画像中の画素値を用いて、q0を通る直線上のq1、q2を算出する。連続性評価部110aは、このようにして算出されたp1、p0、q1、q2を用いて、上記の式(2)により連続性Contを評価する。フィルタ処理部110cは、このようにして算出されたp1、p0、q1、q2を用いて、上記の式(3)によりq'0を算出する。
【0088】
(9.実施形態の変更例2)
上述した実施形態において、予測画像補正部110が、インター予測画像に対する補正処理として、復号済み隣接ブロックを用いてインター予測画像の端部領域に対してフィルタ処理を行う一例について説明した。
【0089】
さらに、補正処理は、かかるフィルタ処理に限定されるものではなく、インター予測画像及びイントラ予測画像の重み付け平均処理を補正処理として用いてもよい。
【0090】
本変更例において、
図1に示す画像符号化装置1のイントラ予測部107及び予測画像補正部110は、対象画像ブロックに隣接する復号済み隣接ブロックを用いてインター予測画像に対して補正処理を行う補正部を構成する。
【0091】
イントラ予測部107は、復号済み隣接ブロックを用いて対象画像ブロックに対応するイントラ予測画像を生成する。例えば、イントラ予測部107は、予め定められたイントラ予測モードにより復号済み隣接ブロックからイントラ予測画像を生成する。予測画像補正部110は、補正処理として、インター予測部108から入力されたインター予測画像及びイントラ予測部107から入力されたイントラ予測画像の重み付け平均処理を行う。なお、送信側で複数のイントラ予測モード候補の中から1つの予測モードを選択し、イントラ予測画像を生成するように構成してもよい。その際には、送信側でいずれのイントラ予測モードを用いてイントラ予測画像をしたかを示すイントラ予測モードフラグをエントロピー符号化部103はエントロピー符号化する。
【0092】
同様に、
図2に示す画像復号装置2のイントラ予測部204及び予測画像補正部207は、対象画像ブロックに隣接する復号済み隣接ブロックを用いてインター予測画像に対して補正処理を行う補正部を構成する。イントラ予測部204は、復号済み隣接ブロックを用いて対象画像ブロックに対応するイントラ予測画像を生成する。
【0093】
例えば、イントラ予測部204は、予め定められたイントラ予測モードにより復号済み隣接ブロックからイントラ予測画像を生成する。予測画像補正部207は、補正処理として、インター予測部205から入力されたインター予測画像及びイントラ予測部204から入力されたイントラ予測画像の重み付け平均処理を行う。なお、送信側から送られてきたイントラ予測モードフラグに基づいて、イントラ予測画像生成に用いるイントラ予測モードを決定するよう構成してもよい。
【0094】
本変更例の構成を適用する場合には、上述した実施形態における「フィルタ処理」を「重み付け平均処理」と読み替えればよい。また、かかる重み付け平均処理を行うか否かの判定だけではなく、予測精度の評価結果や連続性の評価結果に基づいて、重み付け平均処理における重みを調整してもよい。
【0095】
(10.その他の実施形態)
上述した実施形態において、複数の参照画像を用いる予測として双予測を主として説明した。しかしながら、複数の参照画像を用いる予測としてイントラブロックコピーと呼ばれる技術も適用することが可能である。イントラブロックコピーにおいては、現フレームと同じフレーム内の参照画像が現フレームの対象画像ブロックの予測に用いられる。
【0096】
画像符号化装置1が行う各処理をコンピュータに実行させるプログラム及び画像復号装置2が行う各処理をコンピュータに実行させるプログラムにより提供されてもよい。また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD−ROMやDVD−ROM等の記録媒体であってもよい。また、画像符号化装置1が行う各処理を実行する回路を集積化し、画像符号化装置1を半導体集積回路(チップセット、SoC)として構成してもよい。同様に、画像復号装置2が行う各処理を実行する回路を集積化し、画像復号装置2を半導体集積回路(チップセット、SoC)として構成してもよい。
【0097】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0098】
なお、日本国特許出願第2018−72451号(2018年4月4日出願)の全内容が、参照により、本願明細書に組み込まれている。