JP2016134852A - 符号化装置、符号化方法及びプログラム - Google Patents
符号化装置、符号化方法及びプログラム Download PDFInfo
- Publication number
- JP2016134852A JP2016134852A JP2015009708A JP2015009708A JP2016134852A JP 2016134852 A JP2016134852 A JP 2016134852A JP 2015009708 A JP2015009708 A JP 2015009708A JP 2015009708 A JP2015009708 A JP 2015009708A JP 2016134852 A JP2016134852 A JP 2016134852A
- Authority
- JP
- Japan
- Prior art keywords
- block size
- prediction
- block
- image
- encoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】四分木構造で分割されたブロックサイズにおいて、双予測用のブロックサイズを回路規模や消費電力を抑えながら正確に決定して画面内予測の符号化処理を行うことができるようにする。【解決手段】第一のインター予測モード決定部201は、L0参照画像を用いて動き探索を実施し、符号化コストが最小となる予測ブロックサイズおよび動きベクトルを算出する。第二のインター予測モード決定部202は、L1参照画像を用いて動き探索を実施し、符号化コストが最小となる予測ブロックサイズおよび動きベクトルを算出する。第三のインター予測モード決定部203は、L0及びL1ブロック分割情報を基に、四分木構造で分割された双予測用の予測ブロックサイズを決定する。【選択図】図2
Description
本発明は、特に、四分木構造に分割したブロックサイズでインター符号化を行うために用いて好適な符号化装置、符号化方法及びプログラムに関する。
従来、動画圧縮技術として、H.264やHEVC(High Efficiency Video Coding)が知られている。これらの動画圧縮技術では、画像内の符号化済みのブロックを参照して予測符号化を行う画面内(イントラ)符号化と、現在符号化中の画像とは時間的に異なる画像を参照して予測符号化を行う画面間(インター)符号化とが用いられる。
インター符号化では、画像を複数画素から構成されるブロック単位に分割し、参照画素とブロック内の画素との差分である残差が小さくなるような動き探索を実施し、動きベクトルを求める。そして、求めた動きベクトル、及び参照画像と符号化中の画像との残差を符号化することにより符号化データの符号量を削減している。このとき、参照画像はL0参照フレームリストおよびL1参照フレームリストに保持されている。以下、L0参照フレームリストの参照画像を用いて予測を行うことをL0予測と呼び、L1参照フレームリストの参照画像を用いて予測を行うことをL1予測と呼ぶ。
また、符号化対象の画像がBスライスの場合は、L0参照フレームリストに保持されている参照画像とL1参照フレームリストに保持されている参照画像との両方を用いて双方向の動き補償が可能である。MPEG−2以前の動画圧縮技術では、L0参照フレームリストには、符号化対象の画像よりも表示順で時間的に前の画像が格納され、L1参照フレームリストには、表示順で時間的に後の画像が格納される。一方、H.264やHEVCでは、例えば、L1参照フレームリストに、画像の表示順で符号化対象の画像より時間的に前の画像を格納しておくことも可能である。
双予測で符号化を行う際には、符号化処理対象の画像の各ブロックに対して、L0参照フレームリストに保持される参照画像からの予測(L0予測)に基づく動きベクトルとL1参照フレームリストに保持される参照画像からの予測(L1予測)に基づく動きベクトルの両方を求める必要がある。また、ブロックサイズは複数のサイズから選択可能となっており、H.264では8種類のブロックサイズの中から選択することが可能である。一方、HEVCでは、符号化ツリーユニット(HEVCではCoding Tree Unit(CTU)と呼ぶ)を四分木構造で階層的に分割し、異なるサイズの符号化ユニットを有することが可能となっている。さらにHEVCでは、1つの符号化ツリーユニットの中に様々なサイズの予測ユニット(Prediction Unit)が混在することが可能となっている。
図13は、HEVCにおける予測ユニットのブロックサイズの例を示す図である。図13に示すように、HEVCにおけるインター予測符号化では、ブロックを左右や上下に対称に分割したブロックサイズだけでなく、非対称に分割したブロックサイズをサポートしている。したがって、全部で24種類の予測ブロックサイズから最適なサイズを選択することが可能である。
Bスライスにおけるインター符号化では、各予測ユニットのブロックサイズに対してL0予測、L1予測及び双予測における符号化コストを比較し、符号化コストが最小となる予測符号化を選択することによって符号化効率を向上させている。L0予測、L1予測及び双予測のうち、どの予測符号化が行われたかについての情報は、インター予測タイプ(inter_pred_idc)として決定される。
しかし、符号化コストが最小となる双予測用のブロックサイズを求めるには、すべてのブロックサイズに対してL0予測、L1予測及び双予測それぞれのインター予測タイプについて動きベクトルの探索および符号化コストの計算が必要である。そのため、選択可能なブロックサイズが多くなるほど、回路規模や消費電力が増加してしまう。
そこで、双予測用のブロックサイズを決定する技術が特許文献1に開示されている。特許文献1に記載の方法では、L0予測用のブロックサイズとL1予測用のブロックサイズとの最大公約数を双予測用のブロックサイズとして、動き探索を実施することにより、符号化効率の低下を抑えるとともに処理負荷を削減するとしている。
しかしながら、特許文献1では、HEVCのような符号化ツリーユニットを四分木構造に分割して得られる符号化ユニットの様々なブロックサイズは考慮されていない。そのため、符号化ブロックが四分木階層構造を持ち、様々な予測ユニットのブロックサイズが符号化ブロック内に混在する場合は、L0予測用のブロックサイズ及びL1予測用のブロックサイズから双予測用のブロックサイズを正しく決定できないという問題がある。例えば、L0予測用のブロックサイズ及びL1予測用のブロックサイズの中に少なくとも1つの8×8のブロックが存在する場合がある。この場合、特許文献1に記載の方法により最大公約数に基づいて双予測用のブロックサイズを決定すると、図14に示すように双予測用のブロックが全て8×8に分割されてしまう。
本発明は前述の問題点に鑑み、四分木構造で分割されたブロックサイズにおいて、双予測用のブロックサイズを回路規模や消費電力を抑えながら正確に決定して画面内予測の符号化処理を行うことができるようにすることを目的としている。
本発明に係る符号化装置は、入力画像を複数の符号化ユニットに分割し、前記符号化ユニットごとに符号化する符号化装置であって、前記入力画像を、時間的に異なる第一の画像を参照してインター予測する際の予測ユニットの第一のブロックサイズを決定する第一の決定手段と、前記入力画像を、時間的に異なる前記第一の画像とは異なる第二の画像を参照してインター予測する際の予測ユニットの第二のブロックサイズを決定する第二の決定手段と、前記符号化ユニットごとに、前記第一の決定手段によって決定された第一のブロックサイズおよび前記第二の決定手段によって決定された第二のブロックサイズに基づいて、前記第一の画像および前記第二の画像を参照してインター予測する際の予測ユニットの第三のブロックサイズを決定する第三の決定手段とを備えることを特徴とする。
本発明によれば、四分木構造を持つブロックサイズにおいても、双予測用のブロックサイズを回路規模や消費電力を抑えながら正確に決定して画面内予測の符号化処理を行うことができる。
(第1の実施形態)
以下、本発明の第1の実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係るHEVCにおける画像符号化装置100の構成例を示すブロック図である。画像符号化装置100は、図1に示すような回路構成をハードウエアとして有してもよい。
図1において、ブロック分割部102は、入力端子101から入力された画像データを所定のサイズの複数のブロックに切り出し、ブロック単位の入力画像を出力する。本実施形態では、入力画像を64×64画素に分割して得られる符号化ツリーユニット(CTU)を四分岐構造で階層的に異なるブロックサイズを有する複数の符号化ユニットに分割するものとして説明する。このCTUの分割の方法はこれに限定されない。例えば、入力画像の性質に応じてブロックサイズを決定したり、ブロックサイズごとに符号化コストを計算して符号化コストが最小となるブロックサイズを適応的に選択したりしても構わない。
以下、本発明の第1の実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係るHEVCにおける画像符号化装置100の構成例を示すブロック図である。画像符号化装置100は、図1に示すような回路構成をハードウエアとして有してもよい。
図1において、ブロック分割部102は、入力端子101から入力された画像データを所定のサイズの複数のブロックに切り出し、ブロック単位の入力画像を出力する。本実施形態では、入力画像を64×64画素に分割して得られる符号化ツリーユニット(CTU)を四分岐構造で階層的に異なるブロックサイズを有する複数の符号化ユニットに分割するものとして説明する。このCTUの分割の方法はこれに限定されない。例えば、入力画像の性質に応じてブロックサイズを決定したり、ブロックサイズごとに符号化コストを計算して符号化コストが最小となるブロックサイズを適応的に選択したりしても構わない。
イントラ予測モード決定部103は、画面内予測であるイントラ予測を行い、最適な予測モードを決定する。インター予測モード決定部104は、各符号化ユニットのブロックサイズの空間的な位置にそれぞれ対応する予測ユニットのブロックサイズおよび予測ブロックに関連付ける画面間の動きベクトルを求める。そして、インター予測モード決定部104は、符号化コストを計算し、最適なインター予測タイプ(inter_pred_idc)を決定する。
図2は、インター予測モード決定部104の詳細な構成例を示すブロック図である。
図2において、第一のインター予測モード決定部201は、入力画像および参照画像を入力し、各符号化ユニット内の予測ユニットのブロックサイズおよび動きベクトルを求め、後述する第三のインター予測モード決定部203に出力する。第一のインター予測モード決定部201に入力される参照画像は、L0参照フレームリストに保持され、符号化対象の画像よりも表示順で時間的に前の画像である。以降、L0参照フレームリストに保持される参照画像をL0参照画像と呼ぶ。
図2において、第一のインター予測モード決定部201は、入力画像および参照画像を入力し、各符号化ユニット内の予測ユニットのブロックサイズおよび動きベクトルを求め、後述する第三のインター予測モード決定部203に出力する。第一のインター予測モード決定部201に入力される参照画像は、L0参照フレームリストに保持され、符号化対象の画像よりも表示順で時間的に前の画像である。以降、L0参照フレームリストに保持される参照画像をL0参照画像と呼ぶ。
第二のインター予測モード決定部202は、同様に入力画像および参照画像を入力し、符号化ユニット内の予測ユニットのブロックサイズおよびの動きベクトルを求め、後述する第三のインター予測モード決定部203に出力する。第二のインター予測モード決定部202に入力される参照画像は、L1参照フレームリストに保持され、符号化対象の画像よりも表示順で時間的に後の画像である。以降、L1参照フレームリストに保持される参照画像をL1参照画像と呼ぶ。
第三のインター予測モード決定部203は、第一のインター予測モード決定部201および第二のインター予測モード決定部202から、それぞれ符号化ユニット内の予測ユニットのブロックサイズおよび各予測ユニットの動きベクトルを取得する。また、第三のインター予測モード決定部203は、取得した予測ユニットのブロックサイズに基づいて、双予測用の予測ユニットのブロックサイズ(以下、双予測ブロックサイズ)および動きベクトルを決定する。さらに、第三のインター予測モード決定部203は、各予測ブロックのインター予測タイプ(inter_pred_idc)を決定する。決定方法に関しては、後述する。
図1の説明に戻り、イントラ/インター判定部105は、イントラ予測モード決定部103及びインター予測モード決定部104から出力される予測モードの符号化コストを比較する。そして、各ブロックに対して、イントラ符号化を行うかインター符号化を行うかの判定を行って予測情報を生成する。予測補償部106は、ブロック分割部102から入力されたブロック単位の画像データに対し、イントラ/インター判定部105から出力された予測情報に基づいてイントラ予測またはインター予測を行い、予測画像データを生成する。さらに、入力された画像データと生成された予測画像データとから予測誤差を算出して出力する。
変換・量子化部107は、予測補償部106から入力された予測誤差をブロック単位で直交変換して変換係数を得て、さらに量子化を行い、量子化係数を得る。逆量子化・逆変換部108は、変換・量子化部107から入力された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する。
画像再生部109は、インター予測モード決定部104で決定されたインター予測タイプに基づいて、フレームメモリ110を適宜参照して予測画像データを生成する。そして、予測画像データと逆量子化・逆変換部108から入力された予測誤差とを加算して再生画像データを生成し、フレームメモリ110に出力する。フレームメモリ110は、画像再生部109で生成された再生画像データを参照画像として格納する。
エントロピー符号化部111は、変換・量子化部107から出力された量子化係数およびイントラ/インター判定部105から出力された予測情報を符号化してビットストリームを生成し、出力端子112から出力する。
以下、本実施形態におけるインター予測モード決定部104の制御について、図3のフローチャートを参照しながら説明する。
図3は、本実施形態におけるインター予測モード決定部104が行う処理手順の一例を示すフローチャートである。
まず、ステップS301において、第一のインター予測モード決定部201は、ブロック分割部102から入力画像(すなわち、符号化対象の画像)を取得するとともに、フレームメモリ110からL0参照画像を取得する。
図3は、本実施形態におけるインター予測モード決定部104が行う処理手順の一例を示すフローチャートである。
まず、ステップS301において、第一のインター予測モード決定部201は、ブロック分割部102から入力画像(すなわち、符号化対象の画像)を取得するとともに、フレームメモリ110からL0参照画像を取得する。
続いてステップS302において、第一のインター予測モード決定部201は、L0参照画像を用いて動き探索を実施する。具体的には、第一のインター予測モード決定部201は、動き探索を複数のブロックサイズに対して実施し、符号化コストが最小となる予測ブロックサイズおよび動きベクトルを算出する。符号化コストの計算方法については特に限定されないが、本実施形態では以下の式(1)に基づいて計算されるものとする。
Cost=Dist+λ×Bits ・・・(1)
Cost=Dist+λ×Bits ・・・(1)
式(1)中のCostは算出される符号化コストを表している。Distは予測誤差の総量を示す値を表しており、差分絶対値和であるSADなどが用いられる。λは量子化パラメータに応じて定まる係数を表している。Bitsは対象の符号化モードを用いた際に識別に必要となる符号量を予測したものであり、動きベクトルなどの発生符号量を予測したものである。動きベクトルの発生符号量の予測方法は特に限定されず、エントロピー符号化の動作をモデル化して発生符号量を正確に計算してもよいし、エントロピー符号化前の2値データの分量から推定してもよい。
第一のインター予測モード決定部201は、以上のような手順で決定した予測ユニットのブロックサイズ(以降、L0ブロック分割情報と呼ぶ)及び動きベクトルを、第三のインター予測モード決定部203に出力する。
一方、ステップS303においては、第二のインター予測モード決定部202は、ブロック分割部102から入力画像を取得するとともに、フレームメモリ110からL1参照画像を取得する。そして、ステップS304において、第二のインター予測モード決定部202は、L1参照画像を用いて動き探索を実施し、符号化コストが最小となる予測ユニットのブロックサイズおよび動きベクトルを決定する。符号化コストの計算方法についてはS302と同様である。そして、第二部のインター予測モード決定部202は、算出した予測ユニットのブロックサイズ(以降、L1ブロック分割情報と呼ぶ)及び動きベクトルを第三のインター予測モード決定部203に出力する。
なお、本実施形態では、ステップS301〜S302とステップS303〜S304とが並列に動作することを前提に説明しているが、これに限定されず、ステップS301〜S304を順番に処理してもよい。また、S303、S304、S301、S302という順序で処理を行ってもよい。
次に、ステップS305において、第三のインター予測モード決定部203は、第一のインター予測モード決定部201と第二のインター予測モード決定部202とから、L0ブロック分割情報、L1ブロック分割情報、及び動きベクトルを取得する。ここで、ブロック分割情報に関して、図4を用いて説明する。
図4は、2N×2N(Nは1以上の整数)ブロックに対する分割の種類を示す図である。図4(b)は、図4(a)に示す2N×2Nブロックがどのように分割されるかを示している。例えば、2N×2Nブロックのブロック分割情報がN×Nである場合は、4つのN×Nブロックに分割される。
以降のステップS306〜S311では、第三のインター予測モード決定部203は、第一のインター予測モード決定部201と第二のインター予測モード決定部202とから出力されるブロック分割情報を基に、双予測ブロックサイズを決定する。以下、順に説明を行う。
まず、ステップS306において、初期サイズとして、2N×2NブロックにCTUサイズ(つまり、最大の符号化ユニットのブロックサイズ)を割り当てる。そして、ステップS312において、2N×2Nのブロックサイズを有する符号化ユニットがCTU内に存在するかどうか判定する。2N×2Nのブロックサイズを有する場合、ステップS307に進む。存在しない場合、ステップS310に進む。そして、ステップS307において、第三のインター予測モード決定部203は、2N×2Nのブロックサイズを有する符号化ユニットの空間的な位置に対応する予測ユニットの2N×2NのL0ブロック分割情報と2N×2NのL1ブロック分割情報が参照される。そして2N×2NのL0ブロックおよび2N×2NのL1ブロックのうち少なくともどちらかがさらに分割されているか否かを判定する。この判定の結果、どちらも2N×2Nブロックが分割されていない場合は、ステップS308に進む。図4を用いて説明すると、2N×2NのL0ブロック分割情報が2N×2Nであり、かつ、2N×2NのL1ブロック分割情報が2N×2Nである場合は、ステップS308に進む。また、そうでない場合は、ステップS309に進む。
ステップS308においては、第三のインター予測モード決定部203は、2N×2Nに関する双予測用のブロックに対するブロック分割情報(以下、双予測ブロック分割情報)として、2N×2Nを割り当てる。
一方、ステップS309においては、第三のインター予測モード決定部203は、2N×2NのL0ブロック分割情報及びL1ブロック分割情報に基づいて、2N×2Nの双予測ブロック分割情報を決定する。具体的な決定方法として、第三のインター予測モード決定部203は、L0ブロック分割情報とL1ブロック分割情報とのうち、小さい方を選択する。このとき、ブロック分割情報の大小比較は水平分割情報と垂直分割情報とのそれぞれに対して行う。
ここで、ステップS309における、双予測ブロック分割情報を決定する方法について、図5を用いて説明する。例えば図5(a)に示すように、2N×2NのL0ブロック分割情報が2N×Nであり、2N×2NのL1ブロック分割情報が2N×Nである場合は、双予測ブロック分割情報は2N×Nとなる。また、図5(b)に示すように、2N×2NのL0ブロック分割情報が2N×Nであり、2N×2NのL1ブロック分割情報がN×Nである場合は、双予測ブロック分割情報はN×Nとなる。一方、2N×2NのL0ブロック分割情報が2N×Nであり、2N×2NのL1ブロック分割情報がN×2Nである場合は、水平方向及び垂直方向の小さい方を選択するため、双予測ブロック分割情報はN×Nとなる。
続いてステップS310において、第三のインター予測モード決定部203は、CTU内のすべての双予測ブロックサイズを決定したか否かを判定する。この判定の結果、すべての双予測ブロックサイズの決定が完了している場合は、処理を終了する。一方、そうでない場合は、ステップS311へ進む。そして、ステップS311においては、2Nの値をNに置き換え、一階層下のブロックサイズの符号化ユニットを処理対象とする。例えば、処理対象の符号化ユニットのブロックサイズが64×64の場合は、ステップS311の処理の後、2N×2Nブロックは32×32ブロックを示すことになる。
以降、ステップS307〜S312の処理が、CTU内のすべての双予測ブロックサイズが決定されるまで繰り返される。また、2N×2Nブロックは32×32を示すため、CTUのサイズが64×64である場合は、32×32のブロックサイズを有する符号化ユニットは4つ存在する。そのため、ステップS307〜S309の処理は4つの32×32ブロックに対して行われる。
以上のようにステップS301〜S312の処理を行うことによって、四分木階層構造を持つ符号化ツリーユニットの場合においても、双予測ブロックサイズを決定することができる。図6には、本実施形態を適用した場合の双予測ブロックサイズの例を示す。なお、ステップS307〜ステップS312の動作について、順番に処理を行うものとして説明したが、これに限定されない。例えば、2N=64、32、16、8などのそれぞれの場合を一度に処理して双予測ブロックサイズを決定してもよい。
また、双予測ブロックサイズの決定方法は、図3で示したフローチャートの手順に限定されない。例えばL0ブロック分割情報及びL1ブロック分割情報を入力とするルックアップテーブルを参照することにより、双予測ブロックサイズを決定することも可能である。また、L0ブロック分割情報及びL1ブロック分割情報をビットパターンとして表現し、両分割情報を示すビットパターン分割間の論理演算により、双予測ブロックサイズを示すビットパターン情報を算出してもよい。
また、第三のインター予測モード決定部203は、ステップS301〜S312の処理で決定した双予測用の各ブロックの動きベクトルを取得する。具体的には第一のインター予測モード決定部201および第二のインター予測モード決定部202から出力される動きベクトルを双予測用の各ブロックの動きベクトルとして取得する。しかし、双予測用の各ブロックの動きベクトルの求め方はこれに限定されるものではなく、例えば、決定された各双予測ブロックサイズに対して動き探索を実施し、動きベクトルを求めてもよい。
なお、インター予測モード決定部104は、L0予測符号化、L1予測符号化、双予測符号化の各符号化コストを符号化ユニット毎に比較し、3つの予測符号化のどれを用いるかの情報であるインター予測タイプ(inter_pred_idc)を決定してもよい。この場合、インター予測タイプ(inter_pred_idc)の決定方法に関しては、これに限定されるものではなく、例えば、各符号化ユニットの符号化コストに重みづけをした値を比較してもよいし、動きベクトルに基づいて決定してもよい。この場合、インター予測モード決定部104の第三のインター予測モード決定部203が3つの予測符号化のどれを用いるか選択することになる。
以上のように本実施形態によれば、L0ブロック分割情報とL1ブロック分割情報とに基づいて、双予測ブロック分割情報を決定するようにした。これにより、双予測ブロックサイズを回路規模や消費電力を抑えながら正確に決定することができる。
(第2の実施形態)
以下、本発明の第2の実施形態について説明する。なお、本実施形態における画像符号化装置の構成は、図1及び図2に示した構成と同様であるため、説明は省略する。また、インター予測モード決定部104以外の処理についても第1の実施形態と同様であるため、説明は省略する。本実施形態における画像符号化装置100は、L0予測ユニット、またはL1予測ユニットが非対称に分割された場合でも、双予測ブロックサイズを求めることができる。図7には、HEVCにおいて、予測ユニットが非対称に分割される例を示す。
以下、本発明の第2の実施形態について説明する。なお、本実施形態における画像符号化装置の構成は、図1及び図2に示した構成と同様であるため、説明は省略する。また、インター予測モード決定部104以外の処理についても第1の実施形態と同様であるため、説明は省略する。本実施形態における画像符号化装置100は、L0予測ユニット、またはL1予測ユニットが非対称に分割された場合でも、双予測ブロックサイズを求めることができる。図7には、HEVCにおいて、予測ユニットが非対称に分割される例を示す。
図8は、本実施形態におけるインター予測モード決定部104が行う処理手順の一例を示すフローチャートである。なお、ステップS801〜S806における処理は、それぞれ図3のステップS301〜S306の処理と同様であるため、説明は割愛する。以下、ステップS807〜S817の処理について説明する。
ステップS807〜S817において、第三のインター予測モード決定部203は、第一のインター予測モード決定部201と第二のインター予測モード決定部202とから出力されるブロック分割情報を基に、双予測ブロックサイズを決定する。以下、詳細な処理手順について説明する。
ステップS820において、2N×2Nのブロックサイズを有する符号化ユニットがCTU内に存在するかどうか判定する。2N×2Nのブロックサイズを有する場合、ステップS807に進む。存在しない場合、ステップS816に進む。ステップS807においては、第三のインター予測モード決定部203は、2N×2Nのブロックサイズを有する符号化ユニットの空間的な位置に対応する予測ユニットの2N×2NのL0ブロック分割情報と2N×2NのL1ブロック分割情報とを確認し、少なくともどちらかがさらに分割されているか否かを判定する。この判定の結果、どちらも2N×2Nブロックが分割されていない場合は、ステップS808に進む。一方、そうでない場合は、ステップS811に進む。
ステップS811においては、第三のインター予測モード決定部203は、分割不可となった分割情報を保持しているか否かを判定する。ここで、分割不可となった分割情報については後述する。この判定の結果、分割不可となった分割情報を保持していない場合は、ステップS812に進み、保持していない場合は、ステップS813へと進む。最初にステップS811の処理を行う段階では、分割不可となった分割情報は保持していないので、この段階ではステップS812に進むことになる。
ステップS812においては、第三のインター予測モード決定部203は、2N×2NのL0ブロック分割情報と2N×2NのL1ブロック分割情報とに基づいて、2N×2Nの双予測ブロック分割情報を決定する。この処理は図3のステップS309と同様の処理である。続いてステップS814において、第三のインター予測モード決定部203は、ステップS811で決定した2N×2Nの双予測ブロック分割情報に基づいて分割することが可能か否かを判定する。この判定の結果、分割が可能である場合はステップS816に進み、そうでない場合はステップS815に進む。
ここで、ステップS814で分割可能でないと判定する場合の例について、図9を用いて説明する。図9(a)は、2N×2NのL0ブロック分割情報が(1/2)lN×2Nであり、2N×2NのL1ブロック分割情報が2N×(1/2)uNである場合の例を示している。この場合、ステップS812の処理によって、2N×2Nの双予測ブロック分割情報は(1/2)lN×(1/2)uNとなる。しかし、動画圧縮方式がこの分割方法に対応していない場合は、この分割情報に基づいて分割することが不可能である。
また、図9(b)は、2N×2NのL0ブロック分割情報が(1/2)lN×2Nであり、2N×2NのL1ブロック分割情報が(1/2)rN×Nである場合の例を示している。この場合は、水平方向を分割する際に(1/2)lNと(1/2)rNとのどちらを用いるかを判定することができない。また両方の分割を用いたとしても、動画圧縮方式がこの分割方法に対応していない場合は、この分割情報に基づいて分割することが不可能である。
したがって、ステップS814の判定の結果、分割が不可能である場合は、ステップS815において、第三のインター予測モード決定部203は、2N×2Nの双予測ブロック分割情報をN×Nとする。さらに、第三のインター予測モード決定部203は、ここで分割不可となった分割情報を保持する。保持した分割情報については、後述するステップS810およびS813にて説明する。
続いてステップS816において、第三のインター予測モード決定部203は、CTU内のすべての双予測ブロックサイズを決定したか否かを判定する。この判定の結果、すべての双予測ブロックサイズの決定が完了している場合は、処理を終了する。一方、そうでない場合は、ステップS817へ進む。そして、ステップS817において、2Nの値をNに置き換える。この処理は図3のステップS311と同様である。以降、ステップS807〜S817、S820の処理が、CTU内のすべての双予測ブロックサイズが決定されるまで繰り返される。
ここで、分割が不可能と判定された場合に保持した分割情報を利用する例について説明する。第三のインター予測モード決定部203は、分割情報を保持している場合に、該分割情報を利用して双予測ブロックサイズを求める。
ステップS807の判定の結果、2N×2NのL0ブロック分割情報と2N×2NのL1ブロック分割情報とのどちらも2N×2Nブロックが分割されていない場合は、ステップS808に進む。そして、ステップS808において、第三のインター予測モード決定部203は、分割不可となった分割情報を保持しているか否かを判定する。この判定の結果、分割情報を保持している場合は、ステップS810へ進み、保持していない場合は、ステップS809へ進む。
ステップS809においては、第三のインター予測モード決定部203は、2N×2Nの双予測ブロック分割情報として、2N×2Nを割り当てる。一方、ステップS810での処理に関して、図10を参照しながら説明する。図10(a)は、2N×2N=64×64における双予測用のブロックの分割方法を示している。図10(a)に示す例では、ステップS814の処理で、L0ブロック分割情報とL1ブロック分割情報とから求められる破線に示す分割情報で分割が不可能と判定され、双予測用のブロックはN×Nに分割されている。
図10(b)は、処理が一度ステップS807→S811→S812→S814→S815→S816→S817と進んだ場合における双予測用の予測ユニットのブロックの分割方法を示している。ステップS817において、2N×2N=32×32と設定された後、ステップS807において、2N×2NのL0及びL1の予測ブロックがさらに分割されていないため、ステップS808に進む。次に、ステップS808において、第三のインター予測モード決定部203は、分割情報を保持していると判定するため、ステップS810の処理に進む。図10(b)に示すように、64×64では分割不可であったが、32×32では分割可能となる。そこで、ステップS810の処理にて、第三のインター予測モード決定部203は、分割不可となった分割情報を用いて、双予測ブロック分割情報を決定する。
一方、ステップS811の判定の結果、分割情報を保持している場合は、ステップS813へ進む。次に、ステップS813の処理について、図11および図12を参照しながら説明する。
図11は、L0及びL1の予測ユニットのブロックサイズから決定される双予測用の予測ユニットのブロックサイズを示している。また、図12は、図11の双予測ブロックサイズが決定される処理の流れを説明するための図である。図12(a)に示す例では、2N×2N=64×64における双予測ブロック分割情報を示している。図12(a)に示す例の場合、まず、ステップS806にて、2N×2N=64×64と設定され、以降、ステップS807→S811→S812→S814→S815→S816→S817と進んでいる。
次に、図12(b)に示す例では、図12(a)に示した処理の後に、ステップS807→S811→S813→S814→S815→S816→S817と進んでいる。ステップS813では、2N×2N=32×32におけるL0ブロック分割情報と32×32のL1ブロック分割情報と、2N×2N=64×64での分割不可となった分割情報を用いて、32×32における双予測ブロック分割情報を決定する。そして、ステップS814において、決定された双予測ブロック分割情報は、分割可能か否かが判定される。図12(b)に示す例では、分割不可となる分割情報が存在しており、図12(c)に示すように、該分割情報は2N×2N=16×16において利用される。
以上のような手順でステップS801〜S817、S820の処理を行うことにより、L0およびL1ブロック分割情報を組み合わせて決定したブロックに分割することが不可能な場合でも、双予測ブロックサイズを決定することができる。また、動きベクトルの取得方法及びインター予測タイプの決定方法については、第1の実施形態と同様である。なお、ステップS807〜ステップS817、S820の動作について、順番に処理を行うものとして説明したが、これに限定されない。例えば、2N=64、32、16、8などのそれぞれの場合を一度に処理し、その後、一度に分割可能なブロックサイズであるか否かの判定を行って、双予測ブロックサイズを決定してもよい。
また、双予測用の予測ユニットのブロックサイズの決定方法は、図8で示したフローチャートに限定されない。例えば、L0ブロック分割情報及びL1ブロック分割情報を入力とするルックアップテーブルを参照することにより、双予測用の予測ユニットのブロックサイズを決定することも可能である。また、L0ブロック分割情報及びL1ブロック分割情報をビットパターンとして表現し、両分割情報を示すビットパターン分割間の論理演算により、双予測ブロックサイズを示すビットパターン情報を算出してもよい。
(その他の実施形態)
前述した各実施形態における画像符号化装置によって符号化された符号化データを復号する場合には、図1に示した構成と逆の構成を有する復号化装置を必要する。例えば、カメラ等に前述した各実施形態の画像符号化装置に復号化装置を設けることによって、HEVCによって符号化されたデータを復号して動画を表示することができる。
前述した各実施形態における画像符号化装置によって符号化された符号化データを復号する場合には、図1に示した構成と逆の構成を有する復号化装置を必要する。例えば、カメラ等に前述した各実施形態の画像符号化装置に復号化装置を設けることによって、HEVCによって符号化されたデータを復号して動画を表示することができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
201 第一のインター予測モード決定部
202 第二のインター予測モード決定部
203 第三のインター予測モード決定部
202 第二のインター予測モード決定部
203 第三のインター予測モード決定部
Claims (8)
- 入力画像を複数の符号化ユニットに分割し、前記符号化ユニットごとに符号化する符号化装置であって、
前記入力画像を、時間的に異なる第一の画像を参照してインター予測する際の予測ユニットの第一のブロックサイズを決定する第一の決定手段と、
前記入力画像を、時間的に異なる前記第一の画像とは異なる第二の画像を参照してインター予測する際の予測ユニットの第二のブロックサイズを決定する第二の決定手段と、
前記符号化ユニットごとに、前記第一の決定手段によって決定された第一のブロックサイズおよび前記第二の決定手段によって決定された第二のブロックサイズに基づいて、前記第一の画像および前記第二の画像を参照してインター予測する際の予測ユニットの第三のブロックサイズを決定する第三の決定手段と、
を備えることを特徴とする符号化装置。 - 前記第三の決定手段は、前記第一のブロックサイズおよび前記第二のブロックサイズにおける水平方向および垂直方向の小さい方のブロックサイズを前記第三のブロックサイズとして決定することを特徴とする請求項1に記載の符号化装置。
- 前記第一の決定手段及び前記第二の決定手段は、それぞれ前記決定したブロックサイズにおける各予測ユニットの動きベクトルを算出し、
前記第三の決定手段は、前記第一の決定手段及び前記第二の決定手段によって算出された動きベクトルに基づいて、前記第三のブロックサイズにおける各予測ユニットの動きベクトルを算出することを特徴とする請求項1又は2に記載の符号化装置。 - 前記第三の決定手段は、前記第一のブロックサイズおよび前記第二のブロックサイズに基づいて決定したブロックサイズが、所定の圧縮方式に対応したブロックサイズに該当するか否かを判定し、予測符号化を行うことが可能なブロックサイズに該当しない場合は、前記第三のブロックサイズを、予測符号化を行うことが可能なブロックサイズから選択して決定することを特徴とする請求項1〜3の何れか1項に記載の符号化装置。
- 前記第一のブロックサイズ、前記第二のブロックサイズ及び前記第三のブロックサイズは、いずれも四分木階層構造のブロック分割情報を示すサイズであることを特徴とする請求項1〜4の何れか1項に記載の符号化装置。
- 前記符号化されたデータを復号する復号手段をさらに有することを特徴とする請求項1〜5の何れか1項に記載の符号化装置。
- 入力画像を複数の符号化ユニットに分割し、前記符号化ユニットごとに符号化する符号化方法であって、
前記入力画像を、時間的に異なる第一の画像を参照してインター予測する際の予測ユニットの第一のブロックサイズを決定する第一の決定工程と、
前記入力画像を、時間的に異なる前記第一の画像とは異なる第二の画像を参照してインター予測する際の予測ユニットの第二のブロックサイズを決定する第二の決定工程と、
前記符号化ユニットごとに、前記第一の決定工程において決定された第一のブロックサイズおよび前記第二の決定工程において決定された第二のブロックサイズに基づいて、前記第一の画像および前記第二の画像を参照してインター予測する際の予測ユニットの第三のブロックサイズを決定する第三の決定工程と、
を備えることを特徴とする符号化方法。 - 入力画像を複数の符号化ユニットに分割し、前記符号化ユニットごとに符号化する符号化装置を制御するためのプログラムであって、
前記入力画像を、時間的に異なる第一の画像を参照してインター予測する際の予測ユニットの第一のブロックサイズを決定する第一の決定工程と、
前記入力画像を、時間的に異なる前記第一の画像とは異なる第二の画像を参照してインター予測する際の予測ユニットの第二のブロックサイズを決定する第二の決定工程と、
前記符号化ユニットごとに、前記第一の決定工程において決定された第一のブロックサイズおよび前記第二の決定工程において決定された第二のブロックサイズに基づいて、前記第一の画像および前記第二の画像を参照してインター予測する際の予測ユニットの第三のブロックサイズを決定する第三の決定工程と、
をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015009708A JP2016134852A (ja) | 2015-01-21 | 2015-01-21 | 符号化装置、符号化方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015009708A JP2016134852A (ja) | 2015-01-21 | 2015-01-21 | 符号化装置、符号化方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016134852A true JP2016134852A (ja) | 2016-07-25 |
Family
ID=56464706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015009708A Pending JP2016134852A (ja) | 2015-01-21 | 2015-01-21 | 符号化装置、符号化方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016134852A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110463203A (zh) * | 2017-03-31 | 2019-11-15 | 松下电器(美国)知识产权公司 | 图像编码装置、图像解码装置、图像编码方法及图像解码方法 |
-
2015
- 2015-01-21 JP JP2015009708A patent/JP2016134852A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110463203A (zh) * | 2017-03-31 | 2019-11-15 | 松下电器(美国)知识产权公司 | 图像编码装置、图像解码装置、图像编码方法及图像解码方法 |
CN110463203B (zh) * | 2017-03-31 | 2023-07-14 | 松下电器(美国)知识产权公司 | 图像解码方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102620624B1 (ko) | 영상 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체 | |
JP7117352B2 (ja) | 候補リスト共有方法及びこのような方法を使用する装置 | |
US10554996B2 (en) | Video encoding and decoding | |
JP7351463B2 (ja) | 画像符号化方法及び装置、画像復号方法及び装置並びにプログラム | |
RU2530318C2 (ru) | Способ выполнения локализованного многогипотезного прогнозирования во время видеокодирования элемента кодирования и соответствующее устройство | |
US20210329292A1 (en) | Method for encoding and decoding motion information, and apparatus for encoding and decoding motion information | |
JP2015106747A (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム | |
JP6501532B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム | |
CN111263144B (zh) | 一种运动信息确定方法及其设备 | |
JP2017034531A (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2017069866A (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム | |
KR20110135471A (ko) | 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법 | |
JP6652068B2 (ja) | 動画像符号化装置、動画像符号化方法および動画像符号化プログラム | |
KR20200084300A (ko) | 영상 복호화 방법, 영상 부호화 방법, 영상 복호화 장치, 영상 부호화 장치 및 컴퓨터 판독 가능한 기록 매체 | |
CN113709499B (zh) | 一种编解码方法、装置及其设备 | |
JP2016134852A (ja) | 符号化装置、符号化方法及びプログラム | |
JP5281597B2 (ja) | 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム | |
WO2019064934A1 (ja) | 動画像符号化装置、動画像符号化方法および動画像符号化プログラム | |
JP5957513B2 (ja) | 動画像復号化方法 | |
WO2024010943A1 (en) | Template matching prediction with block vector difference refinement |