IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

特許7449690インター予測装置、画像符号化装置、画像復号装置、及びプログラム
<>
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図1
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図2
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図3
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図4
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図5
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図6
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図7
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図8
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図9
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図10
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図11
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図12
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図13
  • 特許-インター予測装置、画像符号化装置、画像復号装置、及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-06
(45)【発行日】2024-03-14
(54)【発明の名称】インター予測装置、画像符号化装置、画像復号装置、及びプログラム
(51)【国際特許分類】
   H04N 19/105 20140101AFI20240307BHJP
   H04N 19/139 20140101ALI20240307BHJP
   H04N 19/176 20140101ALI20240307BHJP
   H04N 19/513 20140101ALI20240307BHJP
【FI】
H04N19/105
H04N19/139
H04N19/176
H04N19/513
【請求項の数】 6
(21)【出願番号】P 2019233775
(22)【出願日】2019-12-25
(65)【公開番号】P2020109959
(43)【公開日】2020-07-16
【審査請求日】2022-11-25
(31)【優先権主張番号】P 2018248654
(32)【優先日】2018-12-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】岩村 俊輔
(72)【発明者】
【氏名】市ヶ谷 敦郎
(72)【発明者】
【氏名】根本 慎平
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2020-053725(JP,A)
【文献】特開2011-066569(JP,A)
【文献】特開2006-246396(JP,A)
【文献】特開平07-322253(JP,A)
【文献】米国特許出願公開第2007/0009038(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
原画像を分割して得た符号化対象ブロックのインター予測を行うインター予測装置であって、
前記符号化対象ブロックの周囲のブロックに適用した第1動きベクトルを取得する隣接ベクトル取得部と、
前記符号化対象ブロックに適用する第2動きベクトルを、前記第1動きベクトルを用いて補正することにより補正動きベクトルを生成する動きベクトル補正部と、
前記補正動きベクトルを用いて前記インター予測を行うことにより、前記符号化対象ブロックの予測画像を生成する予測画像生成部と、を備え
前記動きベクトル補正部は、
前記符号化対象ブロックの幅及び高さに応じて決定したパラメータと前記第1動きベクトルとを用いて前記第2動きベクトルを補正することを特徴とするインター予測装置。
【請求項2】
前記符号化対象ブロックを複数の小領域に分割する小領域分割部をさらに備え、
前記動きベクトル補正部は、前記符号化対象ブロックの各小領域に適用する第2動きベクトルを、当該小領域の位置に対応する前記第1動きベクトルを用いて補正することにより補正動きベクトルを生成することを特徴とする請求項1に記載のインター予測装置。
【請求項3】
前記動きベクトル補正部は、
前記小領域の位置に応じて決定した重みを用いて、当該小領域の位置に対応する前記第1動きベクトルを重み付けし、
前記重み付けされた第1動きベクトルを用いて、当該小領域に適用する第2動きベクトルを補正することを特徴とする請求項に記載のインター予測装置。
【請求項4】
請求項1乃至のいずれか1項に記載のインター予測装置を備えることを特徴とする画像符号化装置。
【請求項5】
請求項1乃至のいずれか1項に記載のインター予測装置を備えることを特徴とする画像復号装置。
【請求項6】
コンピュータを請求項1乃至のいずれか1項に記載のインター予測装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インター予測装置、画像符号化装置、画像復号装置、及びプログラムに関する。
【背景技術】
【0002】
非特許文献1に記載のHEVCに代表される従来の映像符号化方式では、画像符号化装置は、原画像をブロックに分割し、ブロックごとにインター予測とイントラ予測とを切り替えながら予測を行い、予測により得られた予測画像の誤差を表す予測残差に対し直交変換、量子化、エントロピー符号化を施すことにより、ストリーム出力するように構成されている。
【0003】
かかる映像符号化方式におけるインター予測では、符号化対象のブロック(Coding Unit:CU)に適用する動きベクトルが、当該符号化対象CUに隣接する隣接CUに適用する動きベクトルと異なる場合には、符号化対象CUの予測画像及び隣接CUの予測画像は特徴が大きく異なる。
【0004】
図1に示す従来の映像符号化方式の例では、オブジェクト#1は左上に動いており、オブジェクト#2は右上に動いているものとする。オブジェクト#1のみが含まれる符号化対象CUの左側に位置する隣接CU#1に対するインター予測では、オブジェクト#1の動きと同様の動きベクトル(MV#3)が適用される可能性が高い。符号化対象CUは、オブジェクト#1及びオブジェクト#2の両方を含むオブジェクト境界に位置するが、多くの領域をオブジェクト#1が占めることから、左側に隣接する隣接CU#1の動きベクトル(MV#2)と同様の動きベクトル(MV#1)が符号化対象CUに適用される可能性が高い。
【0005】
隣り合うCU同士の動きベクトルが同様である場合には、CUの境界領域の動きの連続性は高く、予測精度は高くなる可能性が高い。一方、図1の符号化対象CUの上側に隣接するCU#2はオブジェクト#2を多く含むことから、オブジェクト#2の動きと同様の動きベクトル(MV#3)が適用される可能性が高い。すなわち、符号化対象CUに適用する動きベクトル(MV#1)と隣接CU#1に適用する動きベクトル(MV#3)とは大きく異なる可能性が高い。このような隣り合うCU同士の動きベクトルが大きく異なる場合には、これらのCUのどちらか少なくとも一方にオブジェクト境界が含まれる可能性が高い。
【先行技術文献】
【非特許文献】
【0006】
【文献】Recommendation ITU-T H.265,(12/2016), "High efficiency video coding", International Telecommunication Union
【発明の概要】
【発明が解決しようとする課題】
【0007】
オブジェクト境界における動きベクトルの不連続性は予測精度の低下を招き、符号化効率が低下してしまう問題がある。HEVCでは、この問題を解決するため、ループフィルタにおいて、符号化対象CUに適用した動きベクトルと隣接ブロックに適用した動きベクトルとの差が予め規定した値より大きいか否かに応じて、ブロック歪を除去するデブロッキングフィルタを適用するか否かを制御する手法が導入されている。
【0008】
しかしながら、予測(インター予測)においては、上記の動きベクトルの不連続性にかかわらず同一の処理が適用されているため、直交変換係数の伝送に必要な情報量がオブジェクト境界付近のブロックで増大し、符号化効率が低下してしまう問題がある。
【0009】
そこで、本発明は、インター予測を行う場合において符号化効率を向上させることが可能なインター予測装置、画像符号化装置、画像復号装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
第1の態様に係るインター予測装置は、原画像を分割して得た符号化対象ブロックのインター予測を行う。前記インター予測装置は、前記符号化対象ブロックに隣接する隣接復号済みブロック群に適用した1つ以上の第1動きベクトルを取得する隣接ベクトル取得部と、前記符号化対象ブロックに適用する第2動きベクトルを、前記第1動きベクトルを用いて補正することにより補正動きベクトルを生成する動きベクトル補正部と、前記補正動きベクトルを用いて前記インター予測を行うことにより、前記符号化対象ブロックの予測画像を生成する予測画像生成部とを備える。
【0011】
第2の態様に係る画像符号化装置は、第1の態様に係るインター予測装置を備えることを要旨とする。
【0012】
第3の態様に係る画像復号装置は、第1の態様に係るインター予測装置を備えることを要旨とする。
【0013】
第4の態様に係るプログラムは、コンピュータを第1の態様に係るインター予測装置として機能させることを要旨とする。
【発明の効果】
【0014】
本発明によれば、インター予測を行う場合において符号化効率を向上させることが可能なインター予測装置、画像符号化装置、画像復号装置、及びプログラムを提供できる。
【図面の簡単な説明】
【0015】
図1】背景技術を説明するための図である。
図2】第1及び第2実施形態に係る画像符号化装置の構成を示す図である。
図3】第1実施形態に係るインター予測部(インター予測装置)の構成を示す図である。
図4】第1及び第2実施形態に係る隣接ベクトル取得部の動作例を示す図である。
図5】第1実施形態に係る動きベクトル補正部の動作例を示す図である。
図6】第1及び第2実施形態に係る画像復号装置の構成を示す図である。
図7】第1実施形態に係るインター予測部の動作を示す図である。
図8】第1実施形態に係るインター予測部の変更例を示す図である。
図9】第2実施形態に係るインター予測部(インター予測装置)の構成を示す図である。
図10】第2実施形態に係る小領域の一例を示す図である。
図11】第2実施形態に係る動きベクトル補正部の動作例を示す図である。
図12】第2実施形態に係るインター予測部の動作を示す図である。
図13】第2実施形態に係る動きベクトル補正部の変更例を示す図である。
図14】第2実施形態に係る動きベクトル補正部の変更例の動作を示す図である。
【発明を実施するための形態】
【0016】
図面を参照して、実施形態に係る画像符号化装置及び画像復号装置について説明する。実施形態に係る画像符号化装置及び画像復号装置は、MPEGに代表される動画の符号化及び復号をそれぞれ行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【0017】
<1.第1実施形態>
<画像符号化装置>
まず、本実施形態に係る画像符号化装置について説明する。図2は、本実施形態に係る画像符号化装置1の構成を示す図である。
【0018】
図2に示すように、画像符号化装置1は、ブロック分割部100と、減算部110と、変換・量子化部120と、エントロピー符号化部130と、逆量子化・逆変換部140と、合成部150と、メモリ160と、予測部170とを有する。
【0019】
ブロック分割部100は、動画像を構成するフレーム(或いはピクチャ)単位の入力画像を複数のブロックに分割し、分割により得たブロックを減算部110に出力する。ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。ブロックの形状は正方形に限らず、長方形であってもよい。ブロックは、画像符号化装置1が符号化を行う単位及び画像復号装置が復号を行う単位である。以下において、かかるブロックをCU(Coding Unit)と呼ぶ。また、画像符号化装置1が処理するCUを符号化対象CUと呼び、画像復号装置が処理するCUを復号対象CUと呼ぶ。
【0020】
減算部110は、ブロック分割部100から入力された符号化対象CUと、符号化対象CUを予測部170が予測して得た予測画像との差分(誤差)を表す予測残差を算出する。具体的には、減算部110は、CUの各画素値から予測画像の各画素値を減算することにより予測残差を算出し、算出した予測残差を変換・量子化部120に出力する。
【0021】
変換・量子化部120は、CU単位で直交変換処理及び量子化処理を行う。変換・量子化部120は、変換部121と、量子化部122とを有する。
【0022】
変換部121は、減算部110から入力された予測残差に対して直交変換処理を行って直交変換係数を算出し、算出した直交変換係数を量子化部122に出力する。直交変換とは、例えば、離散コサイン変換(DCT:Discrete Cosine Transform)や離散サイン変換(DST:Discrete Sine Transform)、カルーネンレーブ変換(KLT: Karhunen-Loeve Transform)等をいう。
【0023】
量子化部122は、変換部121から入力された直交変換係数を量子化パラメータ(Qp)及び量子化行列を用いて量子化し、量子化した直交変換係数をエントロピー符号化部130及び逆量子化・逆変換部140に出力する。なお、量子化パラメータ(Qp)は、CU内の各直交変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各直交変換係数を量子化する際の量子化値を要素として有する行列である。
【0024】
エントロピー符号化部130は、量子化部122から入力された直交変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化ストリーム(ビットストリーム)を生成し、符号化ストリームを画像符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。なお、エントロピー符号化部130は、予測部170から予測に関する制御情報が入力され、入力された制御情報のエントロピー符号化も行う。
【0025】
逆量子化・逆変換部140は、CU単位で逆量子化処理及び逆直交変換処理を行う。逆量子化・逆変換部140は、逆量子化部141と、逆変換部142とを有する。
【0026】
逆量子化部141は、量子化部122が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部141は、量子化部122から入力された直交変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより直交変換係数を復元し、復元した直交変換係数を逆変換部142に出力する。
【0027】
逆変換部142は、変換部121が行う直交変換処理に対応する逆直交変換処理を行う。例えば、変換部121が離散コサイン変換を行った場合には、逆変換部142は逆離散コサイン変換を行う。逆変換部142は、逆量子化部141から入力された直交変換係数に対して逆直交変換処理を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部150に出力する。
【0028】
合成部150は、逆変換部142から入力された復元予測残差を、予測部170から入力された予測画像と画素単位で合成する。合成部150は、復元予測残差の各画素値と予測画像の各画素値を加算して符号化対象CUを再構成(復号)し、復号したCU単位の復号画像をメモリ160に出力する。かかる復号画像は、再構成画像と称されることがある。
【0029】
メモリ160は、合成部150から入力された復号画像を記憶する。メモリ160は、復号画像をフレーム単位で記憶する。メモリ160は、記憶している復号画像を予測部170に出力する。さらに、メモリ160は、インター予測部172において算出された動きベクトルをCUごとに記憶する。なお、メモリ160は、複数のメモリにより構成されてもよい。また、合成部150とメモリ160との間にループフィルタが設けられてもよい。
【0030】
予測部170は、CU単位で予測を行う。予測部170は、イントラ予測部171と、インター予測部172と、切替部173とを有する。
【0031】
イントラ予測部171は、メモリ160に記憶された復号画像のうち、符号化対象CUの周辺にある復号画素値を参照してイントラ予測画像を生成し、生成したイントラ予測画像を切替部173に出力する。イントラ予測部171は、複数のイントラ予測モードの中から、符号化対象CUに適用する最適なイントラ予測モードを選択し、選択したイントラ予測モードを用いてイントラ予測を行う。イントラ予測部171は、選択したイントラ予測モードに関する制御情報をエントロピー符号化部130に出力する。
【0032】
インター予測部172は、メモリ160に記憶された復号画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルを算出し、符号化対象CUを予測してインター予測画像を生成し、生成したインター予測画像を切替部173に出力する。また、インター予測部172は、CUごとに算出した動きベクトルをメモリ160に出力し、当該動きベクトルをメモリ160に記憶させる。
【0033】
インター予測部172は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。インター予測部172は、インター予測に関する制御情報(動きベクトル等)をエントロピー符号化部130に出力する。
【0034】
切替部173は、イントラ予測部171から入力されるイントラ予測画像とインター予測部172から入力されるインター予測画像とを切り替えて、いずれかの予測画像を減算部110及び合成部150に出力する。
【0035】
次に、本実施形態に係る画像符号化装置1のインター予測部172について説明する。図3は、本実施形態に係る画像符号化装置1のインター予測部172の構成を示す図である。
【0036】
図3に示すように、本実施形態に係るインター予測部172は、隣接ベクトル取得部172aと、動きベクトル算出部172cと、動きベクトル補正部172dと、予測画像生成部172eとを有する。
【0037】
隣接ベクトル取得部172aは、メモリ160から、符号化対象CUの周囲(上や左)に位置する各隣接復号済みCUのインター予測に適用された動きベクトルVpを取得し、取得した動きベクトルVpのリストを動きベクトル補正部172dに出力する。なお、動きベクトルは、動きベクトルの水平方向(x軸方向)及び垂直方向(y軸方向)のベクトルの値のほか、参照するピクチャ(参照画像)の時間的な位置(例えば、POC:Picture Order Countや参照リスト内の参照インデックス)などを含んでもよい。
【0038】
図4に示すように、符号化対象CUの上や左に位置する隣接復号済みCUのうち一部の隣接復号済みCUにイントラ予測が適用された場合には、隣接ベクトル取得部172aは、当該一部の隣接復号済みCUに近接するCUに適用した動きベクトルを代用することによって動きベクトルを補間してもよいし、周囲の利用可能な動きベクトルの加重平均などによって動きベクトルを算出して補間してもよいし、符号化方式で予め規定した動きベクトルを設定してもよい。符号化対象CUが画面端である場合にも同様にして補間する。
【0039】
動きベクトル算出部172cは、メモリ160に記憶された復号画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルVを算出し、算出した動きベクトルVを動きベクトル補正部172dに出力する。
【0040】
動きベクトル補正部172dは、動きベクトル算出部172cにより算出された動きベクトルVを、隣接ベクトル取得部172aにより取得された動きベクトルVpを用いて補正することにより補正動きベクトルV'を生成し、補正動きベクトルV'を予測画像生成部172eに出力する。
【0041】
具体的には、動きベクトル補正部172dは、図5に示すようにして動きベクトルVを補正する。動きベクトル補正部172dは、隣接ベクトル取得部172aにより取得した隣接動きベクトルVp及び当該符号化対象ブロックの動きベクトルVを用いて加重平均により動きベクトルVを補正する。
【0042】
第1に、動きベクトル補正部172dは、隣接動きベクトルVpを、符号化対象CUの左側に位置する隣接動きベクトルVL及び上側に位置する隣接動きベクトルVTに下記の式(1)のように分類する。
【0043】
VL= [Vp[-1,0], Vp[-1,1], Vp[-1,2], …, Vp[-1,N-1]]
VT= [Vp[0,-1], Vp[1,-1], Vp[2,-1], …, Vp[M-1,-1]]
(1)
【0044】
第2に、動きベクトル補正部172dは、動きベクトルVの補正に用いる重み係数WL、WT、WVを決定する。動きベクトル補正部172dは、例えば、下記の式(2)により重み係数WL、WT、WVを算出する。
【0045】
WL= 32 >> log2(height)
WT= 32 >> log2(width)
WV= 32 - WL - WT
(2)
【0046】
但し、width, heightは符号化対象CUの幅、高さをそれぞれ表す。なお、重み係数WL、WTはブロックの幅や高さ、もしくはその比に応じて決定されるものであればよく、式(2)の計算方法に限定されない。
【0047】
第3に、動きベクトル補正部172dは、補正前の動きベクトルV[x,y]を、重み係数WL、WTと、隣接動きベクトルVL及びVTとに基づいて補正し、例えば下記の式(3)により補正後の動きベクトルV'を算出する。
【0048】
V'= WL・median(VL) + WT・median(VT) + WV・V)
(3)
【0049】
予測画像生成部172eは、動きベクトル補正部172dにより生成された補正動きベクトルV'を用いて符号化対象CUのインター予測を行うことにより、符号化対象CUの予測画像を生成し、生成した予測画像(インター予測画像)を切替部173に出力する。
【0050】
なお、かかる予測画像は切替部173を介して減算部110に入力され、減算部110は符号化対象CUと予測画像との間の差を表す予測残差を変換・量子化部120に出力する。変換・量子化部120は、予測残差から量子化された直交変換係数を生成し、生成した直交変換係数をエントロピー符号化部130に出力する。
【0051】
<画像復号装置>
次に、本実施形態に係る画像復号装置について説明する。但し、上記の画像符号化装置1と同様な動作については重複する説明を省略する。図6は、本実施形態に係る画像復号装置2の構成を示す図である。
【0052】
図6に示すように、画像復号装置2は、エントロピー復号部200と、逆量子化・逆変換部210と、合成部220と、メモリ230と、予測部240とを有する。
【0053】
エントロピー復号部200は、画像符号化装置1により生成された符号化ストリームを復号し、量子化された直交変換係数を逆量子化・逆変換部210に出力する。また、エントロピー復号部200は、予測(イントラ予測及びインター予測)に関する制御情報を取得し、取得した制御情報を予測部240に出力する。
【0054】
逆量子化・逆変換部210は、CU単位で逆量子化処理及び逆直交変換処理を行う。逆量子化・逆変換部210は、逆量子化部211と、逆変換部212とを有する。
【0055】
逆量子化部211は、画像符号化装置1の量子化部122が行う量子化処理に対応する逆量子化処理を行う。逆量子化部211は、エントロピー復号部200から入力された量子化直交変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、復号対象CUの直交変換係数を復元し、復元した直交変換係数を逆変換部212に出力する。
【0056】
逆変換部212は、画像符号化装置1の変換部121が行う直交変換処理に対応する逆直交変換処理を行う。逆変換部212は、逆量子化部211から入力された直交変換係数に対して逆直交変換処理を行って予測残差を復元し、復元した予測残差(復元予測残差)を合成部220に出力する。
【0057】
合成部220は、逆変換部212から入力された予測残差と、予測部240から入力された予測画像とを画素単位で合成することにより、元のCUを再構成(復号)し、CU単位の復号画像をメモリ230に出力する。
【0058】
メモリ230は、合成部220から入力された復号画像を記憶する。メモリ230は、復号画像をフレーム単位で記憶する。さらに、メモリ230は、インター予測部242において算出された動きベクトルをCUごとに記憶する。メモリ230は、フレーム単位の復号画像を画像復号装置2の外部に出力する。なお、メモリ230は、複数のメモリにより構成されてもよい。合成部220とメモリ230との間にループフィルタが設けられてもよい。
【0059】
予測部240は、CU単位で予測を行う。予測部240は、イントラ予測部241と、インター予測部242と、切替部243とを有する。
【0060】
イントラ予測部241は、メモリ230に記憶された復号画像を参照し、エントロピー復号部200から入力された制御情報に従って、復号対象CUをイントラ予測により予測することによりイントラ予測画像を生成し、生成したイントラ予測画像を切替部243に出力する。
【0061】
インター予測部242は、メモリ230に記憶された復号画像を参照画像として用いて、復号対象CUをインター予測により予測する。インター予測部242は、エントロピー復号部200から入力された制御情報に従ってインター予測を行うことによりインター予測画像を生成し、生成したインター予測画像を切替部243に出力する。本実施形態において、インター予測部242は、図3に示すインター予測部172と同じ構成を有する。
【0062】
切替部243は、イントラ予測部241から入力されるイントラ予測画像とインター予測部242から入力されるインター予測画像とを切り替えて、いずれかの予測画像を合成部220に出力する。
【0063】
<インター予測部の動作>
図7は、本実施形態に係る画像符号化装置1のインター予測部172の動作を示す図である。画像復号装置2のインター予測部242も、画像符号化装置1のインター予測部172と同様にして動作する。但し、インター予測部242の動作においては、インター予測部172の動作における「符号化対象CU」を「復号対象CU」と読み替える。
【0064】
図7に示すように、ステップS1において、隣接ベクトル取得部172aは、メモリ160から、符号化対象CUの周囲(上や左)に位置する各隣接復号済みCUのインター予測に適用された動きベクトルVpを取得する。
【0065】
ステップS2において、動きベクトル算出部172cは、メモリ160に記憶された復号画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルVを算出する。
【0066】
ステップS3において、動きベクトル補正部172dは、動きベクトル算出部172cにより算出された動きベクトルVを、隣接ベクトル取得部172aにより取得された動きベクトルVpを用いて補正することにより補正動きベクトルV'を生成する。
【0067】
ステップS4において、予測画像生成部172eは、補正動きベクトルV'を用いてインター予測を行い、符号化対象CUの予測画像を生成する。
【0068】
このように、本実施形態に係るインター予測部172によれば、隣接動きベクトルVpを用いて補正された動きベクトルを用いて、動きベクトルの不連続性を低減させることができるため、予測残差がオブジェクト境界付近のブロックで増大することを抑制し、符号化効率を向上させることができる。
【0069】
<インター予測部の変更例>
図8は、第1実施形態に係るインター予測部172の変更例を示す図である。
【0070】
図8に示すように、インター予測部172は、上述した実施形態に係る構成に加えて、連続性評価部172fと、補正用隣接ベクトル決定部172gとを有する。
【0071】
連続性評価部172fは、符号化対象CUに適用する動きベクトルVを隣接動きベクトルVpと比較することにより、隣接復号済みブロック群に含まれる各復号済みブロックと符号化対象CUとの境界の領域の動きの連続性を評価する。
【0072】
連続性評価部172fは、符号化対象CUに隣接する復号済みの1又は複数の隣接CUに適用された動きベクトルVpをメモリ160から取得する。そして、連続性評価部172fは、符号化対象CUに適用された動きベクトルVと、隣接する復号済みCU群に適用された動きベクトルVpとの比較により、隣接する復号済みCU群について符号化対象CUとの動きの連続性を評価し、評価結果を補正用隣接ベクトル決定部172gに出力する。
【0073】
例えば、連続性評価部172fは、符号化対象CUに適用される動きベクトルVと復号済みCUの動きベクトルVpとの差(距離)を表すL1ノルムが予め規定した閾値未満である場合には連続性が高いと評価する。一方、当該L1ノルムが閾値以上である場合には連続性が低いと評価する。但し、連続性の指標値としてはL1ノルムに限定されるものではなく、他の指標値を用いてもよい。
【0074】
なお、動きベクトルは、X軸及びY軸方向のベクトル値のほか、参照する復号済みフレームを示すフラグ(例えば、HEVCにおけるinter_pred_idc,ref_idx)を含むものとする。連続性評価部172fは、隣接ブロックとの動きベクトルの連続性の評価にあたっては、符号化対象CUを含むフレーム(現フレーム)と符号化対象CUの参照先の復号済みフレームとの時間的な距離(POC距離)と、現フレームと隣接する復号済みCUの参照先の復号済みフレームとのPOC距離とに応じて、当該隣接する復号済みCUに適用した動きベクトルのベクトル値をスケーリングしたのちに連続性を評価してもよい。
【0075】
補正用隣接ベクトル決定部172gは、連続性評価部172fにより評価された動きの連続性に基づいて、動きベクトルVの補正に用いる動きベクトルを動きベクトルVpに基づいて決定する。
【0076】
例えば、補正用隣接ベクトル決定部172gは、
VL= [Vp[-1,0], Vp[-1,1], Vp[-1,2], …, Vp[-1,N-1]]
VT = [Vp[0,-1], Vp[1,-1], Vp[2,-1], …, Vp[M-1,-1]]
であるとき、
V'L=[ vL ∈VL | || vL - V ||2< Th ]
V'T=[ vT ∈VT | || vT - V ||2< Th ]
というように動きベクトルVの補正に用いる動きベクトルを決定する。
【0077】
すなわち、V'Lは符号化対象CUの左側の隣接ベクトルVpのうち、動きベクトルVとのL2ノルムが閾値Th以下のベクトルにより構成される集合であり、V'Tは符号化対象CUの上側の隣接ベクトルVpのうち、動きベクトルVとのL2ノルムが閾値Th以下のベクトルにより構成される集合である。
【0078】
動きベクトル補正部172dは、これらV'L及びV'T(第3動きベクトル)を用いて、下記の式(4)により補正後の動きベクトルV'を算出する。
【0079】
V'= WL・median(V'L) + WT・median(V'T) + WV・V)
(4)
【0080】
<2.第2実施形態>
第2実施形態について、第1実施形態との相違点を主として説明する。
【0081】
図9は、第2実施形態に係る画像符号化装置1のインター予測部172の構成を示す図である。
【0082】
図9に示すように、第2実施形態に係るインター予測部172は、第1実施形態で説明した構成(隣接ベクトル取得部172a、動きベクトル算出部172c、動きベクトル補正部172d、予測画像生成部172e)に加えて、小領域分割部172bを有する。
【0083】
小領域分割部172bは、符号化対象CUをあらかじめ規定したサイズの複数の小領域に分割し、分割により得られた各小領域の情報を動きベクトル補正部172dに出力する。かかる小領域は、サブブロックと称されてもよい。
【0084】
図10は、小領域の一例を示す図である。図10(a)に示すように、各小領域のサイズを同一とし、例えば各小領域を4×4画素ごとの領域としてもよい。或いは、画像復号装置及び画像復号装置で共通の処理をあらかじめ規定しておけば、図10(b)に示すように、各小領域のサイズを異ならせてもよい。例えば、符号化対象CUの境界付近を細かく、中心付近を荒く分割するような方法で小領域に分割してもよい。
【0085】
動きベクトル算出部172cは、メモリ160に記憶された復号画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルVを算出し、算出した動きベクトルVを動きベクトル補正部172dに出力する。本実施形態において、動きベクトル算出部172cは、符号化対象CUについて1つの動きベクトルVを算出してもよいし、小領域分割部172bが符号化対象CUを分割して得た小領域ごとに動きベクトルVを算出してもよい。
【0086】
動きベクトル補正部172dは、動きベクトル算出部172cにより算出された動きベクトルVを、隣接ベクトル取得部172aにより取得された動きベクトルVpを用いて補正することにより補正動きベクトルV'を生成し、補正動きベクトルV'を予測画像生成部172eに出力する。
【0087】
本実施形態において、動きベクトル補正部172dは、図11に示すように、小領域ごとに動きベクトルVを補正する。動きベクトル補正部172dは、小領域の位置に応じて決定した重みを用いて、当該小領域の位置に対応する隣接復号済みCUの動きベクトルVpを重み付けし、重み付けした動きベクトルVpを用いて、当該小領域に適用する動きベクトルVを補正する。
【0088】
例えば、動きベクトル補正部172dは、符号化対象CUの小領域ごとの動きベクトルの配列V[x,y]に補正前の動きベクトルVを代入する。但し、補正前の動きベクトルVが符号化対象CU内の小ブロックごとに異なる動きベクトルである場合、小ブロックごとに設定された動きベクトルに基づいて、小領域ごとに異なる動きベクトルを動きベクトル配列V[x,y]に代入する。前記小ブロックのサイズが前述の小領域と異なる場合には、予め規定する方法で、代入する。例えば、小ブロックのサイズが小領域よりも大きい場合には、小ブロック内に含まれる全ての小領域の動きベクトル配列V[x,y]に小ブロックの動きベクトルを代入する。一方、小ブロックのサイズが小領域よりも小さい場合には、小領域に含まれる全ての小ブロックの動きベクトルの平均や中央値などにより算出されたベクトルを小領域の動きベクトルV[x,y]に代入する。
【0089】
第1に、動きベクトル補正部172dは、各小領域の位置に応じて重み係数WL、WT、WLT、WVを決定する。動きベクトル補正部172dは、例えば、下記の式(5)により重み係数WL、WT、WLT、WVを算出する。
【0090】
【数1】
(5)
【0091】
但し、x,yは小領域の位置を表しており、width、heightは符号化対象CUの幅、高さをそれぞれ表す。なお、重み係数WL、WT、WLT、WVは小領域の位置やCUの幅、高さに応じて決定されるものであればよく、式(5)の計算方法に限定されない。
【0092】
第2に、動きベクトル補正部172dは、補正前の動きベクトルV[x,y]を、重み係数WL、WT、WLT、WVと隣接動きベクトルVpとに基づいて補正し、例えば下記の式(6)により補正後の動きベクトルV'[x,y]を算出する。
【0093】
【数2】
(6)
【0094】
予測画像生成部172eは、動きベクトル補正部172dにより生成された補正動きベクトルV'[x,y]を用いて符号化対象CUの小領域ごとにインター予測を行うことにより、符号化対象CUの予測画像を生成し、生成した予測画像(インター予測画像)を切替部173に出力する。
【0095】
具体的には、予測画像生成部172eは、小領域ごとの動きベクトルV'[x,y]を用いて、小領域ごとにインター予測を行うことにより小領域ごとの予測画像を生成し、小領域ごとの予測画像を合成することにより符号化対象CUの予測画像を生成する。
【0096】
なお、かかる予測画像は切替部173を介して減算部110に入力され、減算部110は符号化対象CUと予測画像との間の差を表す予測残差を変換・量子化部120に出力する。変換・量子化部120は、予測残差から量子化された直交変換係数を生成し、生成した直交変換係数をエントロピー符号化部130に出力する。なお、エントロピー符号化部130は、小領域ごとの動きベクトルを符号化(シグナリング)せずに、符号化対象CUごとに1つの動きベクトルを符号化すればよい。
【0097】
また、本実施形態において、画像復号装置2のインター予測部242は、図9に示すインター予測部172と同じ構成を有する。
【0098】
<インター予測部の動作>
図12は、本実施形態に係る画像符号化装置1のインター予測部172の動作を示す図である。画像復号装置2のインター予測部242も、画像符号化装置1のインター予測部172と同様にして動作する。但し、インター予測部242の動作においては、インター予測部172の動作における「符号化対象CU」を「復号対象CU」と読み替える。
【0099】
図12に示すように、ステップS11において、隣接ベクトル取得部172aは、メモリ160から、符号化対象CUの周囲(上や左)に位置する各隣接復号済みCUのインター予測に適用された動きベクトルVpを取得する。
【0100】
ステップS12において、小領域分割部172bは、符号化対象CUをあらかじめ規定したサイズの複数の小領域に分割する。
【0101】
ステップS13において、動きベクトル算出部172cは、メモリ160に記憶された復号画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルVを算出する。
【0102】
ステップS14において、動きベクトル補正部172dは、動きベクトル算出部172cにより算出された動きベクトルVを、隣接ベクトル取得部172aにより取得された動きベクトルVpを用いて補正することにより補正動きベクトルV'を生成する。
【0103】
ステップS15において、予測画像生成部172eは、補正動きベクトルV'を用いて小領域ごとにインター予測を行い、符号化対象CUの予測画像を生成する。
【0104】
このように、本実施形態に係るインター予測部172によれば、復号対象CU内の小領域ごとに、隣接動きベクトルVpを用いて補正された動きベクトルを用いてきめ細かなインター予測を行うことができるため、予測残差がオブジェクト境界付近のブロックで増大することを抑制し、符号化効率を向上させることができる。
【0105】
<インター予測部の変更例>
図13は、第2実施形態に係るインター予測部172の変更例を示す図である。
【0106】
図13に示すように、本変更例に係るインター予測部172は、上述した実施形態に係る構成に加えて、連続性評価部172fと、補正小領域決定部172hとを有する。
【0107】
連続性評価部172fは、符号化対象CUに適用する動きベクトルVを隣接動きベクトルVpと比較することにより、隣接復号済みブロック群に含まれる各復号済みブロックと符号化対象CUとの境界の領域の動きの連続性を評価する。
【0108】
連続性評価部172fは、符号化対象CUに隣接する復号済みの1又は複数の隣接CUに適用された動きベクトルVpをメモリ160から取得する。そして、連続性評価部172fは、符号化対象CUに適用された動きベクトルVと、隣接する復号済みCU群に適用された動きベクトルVpとの比較により、隣接する復号済みCU群について符号化対象CUとの動きの連続性を評価し、評価結果を補正小領域決定部172hに出力する。
【0109】
例えば、連続性評価部172fは、図14(a)に示すように、符号化対象CUに適用される動きベクトルVと復号済みCUの動きベクトルVpとの差(距離)を表すL1ノルムが予め規定した閾値未満である場合には連続性が高いと評価する。一方、当該L1ノルムが閾値以上である場合には連続性が低いと評価する。但し、連続性の指標値としてはL1ノルムに限定されるものではなく、他の指標値を用いてもよい。
【0110】
なお、動きベクトルは、X軸及びY軸方向のベクトル値のほか、参照する復号済みフレームを示すフラグ(例えば、HEVCにおけるinter_pred_idc,ref_idx)を含むものとする。連続性評価部172fは、隣接ブロックとの動きベクトルの連続性の評価にあたっては、符号化対象CUを含むフレーム(現フレーム)と符号化対象CUの参照先の復号済みフレームとの時間的な距離(POC距離)と、現フレームと隣接する復号済みCUの参照先の復号済みフレームとのPOC距離とに応じて、当該隣接する復号済みCUに適用した動きベクトルのベクトル値をスケーリングしたのちに連続性を評価してもよい。
【0111】
補正小領域決定部172hは、連続性評価部172fにより評価された動きの連続性に基づいて、動きベクトルVを補正するべき少なくとも1つの小領域を決定する。例えば、図14(b)に示すように、補正小領域決定部172hは、動きの連続性が低い領域に対応する各小領域のみを、動きベクトルVを補正するべき小領域として決定する。但し、補正小領域決定部172hは、符号化対象CUの全ての小領域を、動きベクトルVを補正するべき小領域として決定してもよい。
【0112】
本変更例において、動きベクトル補正部172dは、補正小領域決定部172hにより決定された小領域について補正動きベクトルV'を生成する。また、動きベクトル補正部172dは、小領域の位置と、連続性評価部172fにより評価された動きの連続性とに応じて重み係数を決定し、決定した重み係数を用いて、当該小領域の位置に対応する隣接動きベクトルVpを重み付けしてもよい。
【0113】
動きベクトル補正部172dは、動きの連続性が低い領域に対応する隣接動きベクトルVpの重みを大きくするように設定してもよい。例えば、式(5)に対して動きの連続性に対応する値cx、cyを導入し、下記の式(7)により重み係数WL、WT、WLT、WVを算出する。
【0114】
【数3】
(7)
【0115】
このように、本変更例によれば、ブロック境界領域における動きの連続性を考慮して符号化対象CU(小領域)の動きベクトルVを補正することにより、インター予測を行う場合における符号化効率をさらに向上させることができる。
【0116】
<3.その他の実施形態>
画像符号化装置1が行う各処理をコンピュータに実行させるプログラム及び画像復号装置2が行う各処理をコンピュータに実行させるプログラムにより提供されてもよい。また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【0117】
また、画像符号化装置1が行う各処理を実行する回路を集積化し、画像符号化装置1を半導体集積回路(チップセット、SoC)として構成してもよい。同様に、画像復号装置2が行う各処理を実行する回路を集積化し、画像復号装置2を半導体集積回路(チップセット、SoC)として構成してもよい。
【0118】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0119】
1 :画像符号化装置
2 :画像復号装置
100 :ブロック分割部
110 :減算部
120 :変換・量子化部
121 :変換部
122 :量子化部
130 :エントロピー符号化部
140 :逆量子化・逆変換部
141 :逆量子化部
142 :逆変換部
150 :合成部
160 :メモリ
170 :予測部
171 :イントラ予測部
172 :インター予測部
172a :隣接ベクトル取得部
172b :小領域分割部
172c :動きベクトル算出部
172d :動きベクトル補正部
172e :予測画像生成部
172f :連続性評価部
172g :補正用隣接ベクトル決定部
172h :補正小領域決定部
173 :切替部
200 :エントロピー復号部
210 :逆量子化・逆変換部
211 :逆量子化部
212 :逆変換部
220 :合成部
230 :メモリ
240 :予測部
241 :イントラ予測部
242 :インター予測部
243 :切替部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14