(57)【要約】【課題】四分木構造で分割されたブロックサイズにおいて、双予測用のブロックサイズを回路規模や消費電力を抑えながら正確に決定して画面内予測の符号化処理を行うことができるようにする。【解決手段】第一のインター予測モード決定部２０１は、Ｌ０参照画像を用いて動き探索を実施し、符号化コストが最小となる予測ブロックサイズおよび動きベクトルを算出する。第二のインター予測モード決定部２０２は、Ｌ１参照画像を用いて動き探索を実施し、符号化コストが最小となる予測ブロックサイズおよび動きベクトルを算出する。第三のインター予測モード決定部２０３は、Ｌ０及びＬ１ブロック分割情報を基に、四分木構造で分割された双予測用の予測ブロックサイズを決定する。【選択図】図２
2016134852.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を複数の符号化ユニットに分割し、前記符号化ユニットごとに符号化する符号化装置であって、
前記入力画像を、時間的に異なる第一の画像を参照してインター予測する際の予測ユニットの第一のブロックサイズを決定する第一の決定手段と、
前記入力画像を、時間的に異なる前記第一の画像とは異なる第二の画像を参照してインター予測する際の予測ユニットの第二のブロックサイズを決定する第二の決定手段と、
前記符号化ユニットごとに、前記第一の決定手段によって決定された第一のブロックサイズおよび前記第二の決定手段によって決定された第二のブロックサイズに基づいて、前記第一の画像および前記第二の画像を参照してインター予測する際の予測ユニットの第三のブロックサイズを決定する第三の決定手段と、
を備えることを特徴とする符号化装置。
【請求項２】
前記第三の決定手段は、前記第一のブロックサイズおよび前記第二のブロックサイズにおける水平方向および垂直方向の小さい方のブロックサイズを前記第三のブロックサイズとして決定することを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記第一の決定手段及び前記第二の決定手段は、それぞれ前記決定したブロックサイズにおける各予測ユニットの動きベクトルを算出し、
前記第三の決定手段は、前記第一の決定手段及び前記第二の決定手段によって算出された動きベクトルに基づいて、前記第三のブロックサイズにおける各予測ユニットの動きベクトルを算出することを特徴とする請求項１又は２に記載の符号化装置。
【請求項４】
前記第三の決定手段は、前記第一のブロックサイズおよび前記第二のブロックサイズに基づいて決定したブロックサイズが、所定の圧縮方式に対応したブロックサイズに該当するか否かを判定し、予測符号化を行うことが可能なブロックサイズに該当しない場合は、前記第三のブロックサイズを、予測符号化を行うことが可能なブロックサイズから選択して決定することを特徴とする請求項１〜３の何れか１項に記載の符号化装置。
【請求項５】
前記第一のブロックサイズ、前記第二のブロックサイズ及び前記第三のブロックサイズは、いずれも四分木階層構造のブロック分割情報を示すサイズであることを特徴とする請求項１〜４の何れか１項に記載の符号化装置。
【請求項６】
前記符号化されたデータを復号する復号手段をさらに有することを特徴とする請求項１〜５の何れか１項に記載の符号化装置。
【請求項７】
入力画像を複数の符号化ユニットに分割し、前記符号化ユニットごとに符号化する符号化方法であって、
前記入力画像を、時間的に異なる第一の画像を参照してインター予測する際の予測ユニットの第一のブロックサイズを決定する第一の決定工程と、
前記入力画像を、時間的に異なる前記第一の画像とは異なる第二の画像を参照してインター予測する際の予測ユニットの第二のブロックサイズを決定する第二の決定工程と、
前記符号化ユニットごとに、前記第一の決定工程において決定された第一のブロックサイズおよび前記第二の決定工程において決定された第二のブロックサイズに基づいて、前記第一の画像および前記第二の画像を参照してインター予測する際の予測ユニットの第三のブロックサイズを決定する第三の決定工程と、
を備えることを特徴とする符号化方法。
【請求項８】
入力画像を複数の符号化ユニットに分割し、前記符号化ユニットごとに符号化する符号化装置を制御するためのプログラムであって、
前記入力画像を、時間的に異なる第一の画像を参照してインター予測する際の予測ユニットの第一のブロックサイズを決定する第一の決定工程と、
前記入力画像を、時間的に異なる前記第一の画像とは異なる第二の画像を参照してインター予測する際の予測ユニットの第二のブロックサイズを決定する第二の決定工程と、
前記符号化ユニットごとに、前記第一の決定工程において決定された第一のブロックサイズおよび前記第二の決定工程において決定された第二のブロックサイズに基づいて、前記第一の画像および前記第二の画像を参照してインター予測する際の予測ユニットの第三のブロックサイズを決定する第三の決定工程と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、四分木構造に分割したブロックサイズでインター符号化を行うために用いて好適な符号化装置、符号化方法及びプログラムに関する。
【背景技術】
【０００２】
従来、動画圧縮技術として、Ｈ．２６４やＨＥＶＣ（High Efficiency Video Coding）が知られている。これらの動画圧縮技術では、画像内の符号化済みのブロックを参照して予測符号化を行う画面内（イントラ）符号化と、現在符号化中の画像とは時間的に異なる画像を参照して予測符号化を行う画面間（インター）符号化とが用いられる。
【０００３】
インター符号化では、画像を複数画素から構成されるブロック単位に分割し、参照画素とブロック内の画素との差分である残差が小さくなるような動き探索を実施し、動きベクトルを求める。そして、求めた動きベクトル、及び参照画像と符号化中の画像との残差を符号化することにより符号化データの符号量を削減している。このとき、参照画像はＬ０参照フレームリストおよびＬ１参照フレームリストに保持されている。以下、Ｌ０参照フレームリストの参照画像を用いて予測を行うことをＬ０予測と呼び、Ｌ１参照フレームリストの参照画像を用いて予測を行うことをＬ１予測と呼ぶ。
【０００４】
また、符号化対象の画像がＢスライスの場合は、Ｌ０参照フレームリストに保持されている参照画像とＬ１参照フレームリストに保持されている参照画像との両方を用いて双方向の動き補償が可能である。ＭＰＥＧ−２以前の動画圧縮技術では、Ｌ０参照フレームリストには、符号化対象の画像よりも表示順で時間的に前の画像が格納され、Ｌ１参照フレームリストには、表示順で時間的に後の画像が格納される。一方、Ｈ．２６４やＨＥＶＣでは、例えば、Ｌ１参照フレームリストに、画像の表示順で符号化対象の画像より時間的に前の画像を格納しておくことも可能である。
【０００５】
双予測で符号化を行う際には、符号化処理対象の画像の各ブロックに対して、Ｌ０参照フレームリストに保持される参照画像からの予測（Ｌ０予測）に基づく動きベクトルとＬ１参照フレームリストに保持される参照画像からの予測（Ｌ１予測）に基づく動きベクトルの両方を求める必要がある。また、ブロックサイズは複数のサイズから選択可能となっており、Ｈ．２６４では８種類のブロックサイズの中から選択することが可能である。一方、ＨＥＶＣでは、符号化ツリーユニット（ＨＥＶＣではCoding Tree Unit（ＣＴＵ）と呼ぶ）を四分木構造で階層的に分割し、異なるサイズの符号化ユニットを有することが可能となっている。さらにＨＥＶＣでは、１つの符号化ツリーユニットの中に様々なサイズの予測ユニット（Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ）が混在することが可能となっている。
【０００６】
図１３は、ＨＥＶＣにおける予測ユニットのブロックサイズの例を示す図である。図１３に示すように、ＨＥＶＣにおけるインター予測符号化では、ブロックを左右や上下に対称に分割したブロックサイズだけでなく、非対称に分割したブロックサイズをサポートしている。したがって、全部で２４種類の予測ブロックサイズから最適なサイズを選択することが可能である。
【０００７】
Ｂスライスにおけるインター符号化では、各予測ユニットのブロックサイズに対してＬ０予測、Ｌ１予測及び双予測における符号化コストを比較し、符号化コストが最小となる予測符号化を選択することによって符号化効率を向上させている。Ｌ０予測、Ｌ１予測及び双予測のうち、どの予測符号化が行われたかについての情報は、インター予測タイプ（inter＿pred＿idc）として決定される。
【０００８】
しかし、符号化コストが最小となる双予測用のブロックサイズを求めるには、すべてのブロックサイズに対してＬ０予測、Ｌ１予測及び双予測それぞれのインター予測タイプについて動きベクトルの探索および符号化コストの計算が必要である。そのため、選択可能なブロックサイズが多くなるほど、回路規模や消費電力が増加してしまう。
【０００９】
そこで、双予測用のブロックサイズを決定する技術が特許文献１に開示されている。特許文献１に記載の方法では、Ｌ０予測用のブロックサイズとＬ１予測用のブロックサイズとの最大公約数を双予測用のブロックサイズとして、動き探索を実施することにより、符号化効率の低下を抑えるとともに処理負荷を削減するとしている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−３２９６９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１では、ＨＥＶＣのような符号化ツリーユニットを四分木構造に分割して得られる符号化ユニットの様々なブロックサイズは考慮されていない。そのため、符号化ブロックが四分木階層構造を持ち、様々な予測ユニットのブロックサイズが符号化ブロック内に混在する場合は、Ｌ０予測用のブロックサイズ及びＬ１予測用のブロックサイズから双予測用のブロックサイズを正しく決定できないという問題がある。例えば、Ｌ０予測用のブロックサイズ及びＬ１予測用のブロックサイズの中に少なくとも１つの８×８のブロックが存在する場合がある。この場合、特許文献１に記載の方法により最大公約数に基づいて双予測用のブロックサイズを決定すると、図１４に示すように双予測用のブロックが全て８×８に分割されてしまう。
【００１２】
本発明は前述の問題点に鑑み、四分木構造で分割されたブロックサイズにおいて、双予測用のブロックサイズを回路規模や消費電力を抑えながら正確に決定して画面内予測の符号化処理を行うことができるようにすることを目的としている。
【課題を解決するための手段】
【００１３】
本発明に係る符号化装置は、入力画像を複数の符号化ユニットに分割し、前記符号化ユニットごとに符号化する符号化装置であって、前記入力画像を、時間的に異なる第一の画像を参照してインター予測する際の予測ユニットの第一のブロックサイズを決定する第一の決定手段と、前記入力画像を、時間的に異なる前記第一の画像とは異なる第二の画像を参照してインター予測する際の予測ユニットの第二のブロックサイズを決定する第二の決定手段と、前記符号化ユニットごとに、前記第一の決定手段によって決定された第一のブロックサイズおよび前記第二の決定手段によって決定された第二のブロックサイズに基づいて、前記第一の画像および前記第二の画像を参照してインター予測する際の予測ユニットの第三のブロックサイズを決定する第三の決定手段とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、四分木構造を持つブロックサイズにおいても、双予測用のブロックサイズを回路規模や消費電力を抑えながら正確に決定して画面内予測の符号化処理を行うことができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る画像符号化装置の構成例を示すブロック図である。
【図２】インター予測モード決定部の詳細な構成例を示すブロック図である。
【図３】第１の実施形態において、インター予測モード決定部が行う処理手順の一例を示すフローチャートである。
【図４】２Ｎ×２Ｎブロックに対する分割の種類を示す図である。
【図５】双予測ブロック分割情報を決定する方法を説明するための図である。
【図６】第１の実施形態を適用した場合の双予測ブロックサイズの例を示す図である。
【図７】予測ブロックが非対称に分割される例を示す図である。
【図８】第２の実施形態において、インター予測モード決定部が行う処理手順の一例を示すフローチャートである。
【図９】分割不可能である判定されるブロック分割情報の例を示す図である。
【図１０】分割不可となった分割情報を用いて双予測ブロック分割情報を決定する方法を説明するための図である。
【図１１】第２の実施形態を適用した場合の双予測ブロックサイズの例を示す図である。
【図１２】双予測ブロックサイズが決定される処理の流れを説明するための図である。
【図１３】ＨＥＶＣにおける予測ブロックサイズの例を示す図である。
【図１４】最大公約数に基づいて双予測用のブロックサイズを決定した場合の例を示す図である。
【発明を実施するための形態】
【００１６】
（第１の実施形態）
以下、本発明の第１の実施形態について、図面を参照しながら説明する。
図１は、本実施形態に係るＨＥＶＣにおける画像符号化装置１００の構成例を示すブロック図である。画像符号化装置１００は、図１に示すような回路構成をハードウエアとして有してもよい。
図１において、ブロック分割部１０２は、入力端子１０１から入力された画像データを所定のサイズの複数のブロックに切り出し、ブロック単位の入力画像を出力する。本実施形態では、入力画像を６４×６４画素に分割して得られる符号化ツリーユニット（ＣＴＵ）を四分岐構造で階層的に異なるブロックサイズを有する複数の符号化ユニットに分割するものとして説明する。このＣＴＵの分割の方法はこれに限定されない。例えば、入力画像の性質に応じてブロックサイズを決定したり、ブロックサイズごとに符号化コストを計算して符号化コストが最小となるブロックサイズを適応的に選択したりしても構わない。
【００１７】
イントラ予測モード決定部１０３は、画面内予測であるイントラ予測を行い、最適な予測モードを決定する。インター予測モード決定部１０４は、各符号化ユニットのブロックサイズの空間的な位置にそれぞれ対応する予測ユニットのブロックサイズおよび予測ブロックに関連付ける画面間の動きベクトルを求める。そして、インター予測モード決定部１０４は、符号化コストを計算し、最適なインター予測タイプ（inter＿pred＿idc）を決定する。
【００１８】
図２は、インター予測モード決定部１０４の詳細な構成例を示すブロック図である。
図２において、第一のインター予測モード決定部２０１は、入力画像および参照画像を入力し、各符号化ユニット内の予測ユニットのブロックサイズおよび動きベクトルを求め、後述する第三のインター予測モード決定部２０３に出力する。第一のインター予測モード決定部２０１に入力される参照画像は、Ｌ０参照フレームリストに保持され、符号化対象の画像よりも表示順で時間的に前の画像である。以降、Ｌ０参照フレームリストに保持される参照画像をＬ０参照画像と呼ぶ。
【００１９】
第二のインター予測モード決定部２０２は、同様に入力画像および参照画像を入力し、符号化ユニット内の予測ユニットのブロックサイズおよびの動きベクトルを求め、後述する第三のインター予測モード決定部２０３に出力する。第二のインター予測モード決定部２０２に入力される参照画像は、Ｌ１参照フレームリストに保持され、符号化対象の画像よりも表示順で時間的に後の画像である。以降、Ｌ１参照フレームリストに保持される参照画像をＬ１参照画像と呼ぶ。
【００２０】
第三のインター予測モード決定部２０３は、第一のインター予測モード決定部２０１および第二のインター予測モード決定部２０２から、それぞれ符号化ユニット内の予測ユニットのブロックサイズおよび各予測ユニットの動きベクトルを取得する。また、第三のインター予測モード決定部２０３は、取得した予測ユニットのブロックサイズに基づいて、双予測用の予測ユニットのブロックサイズ（以下、双予測ブロックサイズ）および動きベクトルを決定する。さらに、第三のインター予測モード決定部２０３は、各予測ブロックのインター予測タイプ（inter＿pred＿idc）を決定する。決定方法に関しては、後述する。
【００２１】
図１の説明に戻り、イントラ／インター判定部１０５は、イントラ予測モード決定部１０３及びインター予測モード決定部１０４から出力される予測モードの符号化コストを比較する。そして、各ブロックに対して、イントラ符号化を行うかインター符号化を行うかの判定を行って予測情報を生成する。予測補償部１０６は、ブロック分割部１０２から入力されたブロック単位の画像データに対し、イントラ／インター判定部１０５から出力された予測情報に基づいてイントラ予測またはインター予測を行い、予測画像データを生成する。さらに、入力された画像データと生成された予測画像データとから予測誤差を算出して出力する。
【００２２】
変換・量子化部１０７は、予測補償部１０６から入力された予測誤差をブロック単位で直交変換して変換係数を得て、さらに量子化を行い、量子化係数を得る。逆量子化・逆変換部１０８は、変換・量子化部１０７から入力された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する。
【００２３】
画像再生部１０９は、インター予測モード決定部１０４で決定されたインター予測タイプに基づいて、フレームメモリ１１０を適宜参照して予測画像データを生成する。そして、予測画像データと逆量子化・逆変換部１０８から入力された予測誤差とを加算して再生画像データを生成し、フレームメモリ１１０に出力する。フレームメモリ１１０は、画像再生部１０９で生成された再生画像データを参照画像として格納する。
【００２４】
エントロピー符号化部１１１は、変換・量子化部１０７から出力された量子化係数およびイントラ／インター判定部１０５から出力された予測情報を符号化してビットストリームを生成し、出力端子１１２から出力する。
【００２５】
以下、本実施形態におけるインター予測モード決定部１０４の制御について、図３のフローチャートを参照しながら説明する。
図３は、本実施形態におけるインター予測モード決定部１０４が行う処理手順の一例を示すフローチャートである。
まず、ステップＳ３０１において、第一のインター予測モード決定部２０１は、ブロック分割部１０２から入力画像（すなわち、符号化対象の画像）を取得するとともに、フレームメモリ１１０からＬ０参照画像を取得する。
【００２６】
続いてステップＳ３０２において、第一のインター予測モード決定部２０１は、Ｌ０参照画像を用いて動き探索を実施する。具体的には、第一のインター予測モード決定部２０１は、動き探索を複数のブロックサイズに対して実施し、符号化コストが最小となる予測ブロックサイズおよび動きベクトルを算出する。符号化コストの計算方法については特に限定されないが、本実施形態では以下の式（１）に基づいて計算されるものとする。
Ｃｏｓｔ＝Ｄｉｓｔ＋λ×Ｂｉｔｓ      ・・・（１）
【００２７】
式（１）中のＣｏｓｔは算出される符号化コストを表している。Ｄｉｓｔは予測誤差の総量を示す値を表しており、差分絶対値和であるＳＡＤなどが用いられる。λは量子化パラメータに応じて定まる係数を表している。Ｂｉｔｓは対象の符号化モードを用いた際に識別に必要となる符号量を予測したものであり、動きベクトルなどの発生符号量を予測したものである。動きベクトルの発生符号量の予測方法は特に限定されず、エントロピー符号化の動作をモデル化して発生符号量を正確に計算してもよいし、エントロピー符号化前の２値データの分量から推定してもよい。
【００２８】
第一のインター予測モード決定部２０１は、以上のような手順で決定した予測ユニットのブロックサイズ（以降、Ｌ０ブロック分割情報と呼ぶ）及び動きベクトルを、第三のインター予測モード決定部２０３に出力する。
【００２９】
一方、ステップＳ３０３においては、第二のインター予測モード決定部２０２は、ブロック分割部１０２から入力画像を取得するとともに、フレームメモリ１１０からＬ１参照画像を取得する。そして、ステップＳ３０４において、第二のインター予測モード決定部２０２は、Ｌ１参照画像を用いて動き探索を実施し、符号化コストが最小となる予測ユニットのブロックサイズおよび動きベクトルを決定する。符号化コストの計算方法についてはＳ３０２と同様である。そして、第二部のインター予測モード決定部２０２は、算出した予測ユニットのブロックサイズ（以降、Ｌ１ブロック分割情報と呼ぶ）及び動きベクトルを第三のインター予測モード決定部２０３に出力する。
【００３０】
なお、本実施形態では、ステップＳ３０１〜Ｓ３０２とステップＳ３０３〜Ｓ３０４とが並列に動作することを前提に説明しているが、これに限定されず、ステップＳ３０１〜Ｓ３０４を順番に処理してもよい。また、Ｓ３０３、Ｓ３０４、Ｓ３０１、Ｓ３０２という順序で処理を行ってもよい。
【００３１】
次に、ステップＳ３０５において、第三のインター予測モード決定部２０３は、第一のインター予測モード決定部２０１と第二のインター予測モード決定部２０２とから、Ｌ０ブロック分割情報、Ｌ１ブロック分割情報、及び動きベクトルを取得する。ここで、ブロック分割情報に関して、図４を用いて説明する。
【００３２】
図４は、２Ｎ×２Ｎ（Ｎは１以上の整数）ブロックに対する分割の種類を示す図である。図４（ｂ）は、図４（ａ）に示す２Ｎ×２Ｎブロックがどのように分割されるかを示している。例えば、２Ｎ×２Ｎブロックのブロック分割情報がＮ×Ｎである場合は、４つのＮ×Ｎブロックに分割される。
【００３３】
以降のステップＳ３０６〜Ｓ３１１では、第三のインター予測モード決定部２０３は、第一のインター予測モード決定部２０１と第二のインター予測モード決定部２０２とから出力されるブロック分割情報を基に、双予測ブロックサイズを決定する。以下、順に説明を行う。
【００３４】
まず、ステップＳ３０６において、初期サイズとして、２Ｎ×２ＮブロックにＣＴＵサイズ（つまり、最大の符号化ユニットのブロックサイズ）を割り当てる。そして、ステップＳ３１２において、２Ｎ×２Ｎのブロックサイズを有する符号化ユニットがＣＴＵ内に存在するかどうか判定する。２Ｎ×２Ｎのブロックサイズを有する場合、ステップＳ３０７に進む。存在しない場合、ステップＳ３１０に進む。そして、ステップＳ３０７において、第三のインター予測モード決定部２０３は、２Ｎ×２Ｎのブロックサイズを有する符号化ユニットの空間的な位置に対応する予測ユニットの２Ｎ×２ＮのＬ０ブロック分割情報と２Ｎ×２ＮのＬ１ブロック分割情報が参照される。そして２Ｎ×２ＮのＬ０ブロックおよび２Ｎ×２ＮのＬ１ブロックのうち少なくともどちらかがさらに分割されているか否かを判定する。この判定の結果、どちらも２Ｎ×２Ｎブロックが分割されていない場合は、ステップＳ３０８に進む。図４を用いて説明すると、２Ｎ×２ＮのＬ０ブロック分割情報が２Ｎ×２Ｎであり、かつ、２Ｎ×２ＮのＬ１ブロック分割情報が２Ｎ×２Ｎである場合は、ステップＳ３０８に進む。また、そうでない場合は、ステップＳ３０９に進む。
【００３５】
ステップＳ３０８においては、第三のインター予測モード決定部２０３は、２Ｎ×２Ｎに関する双予測用のブロックに対するブロック分割情報（以下、双予測ブロック分割情報）として、２Ｎ×２Ｎを割り当てる。
【００３６】
一方、ステップＳ３０９においては、第三のインター予測モード決定部２０３は、２Ｎ×２ＮのＬ０ブロック分割情報及びＬ１ブロック分割情報に基づいて、２Ｎ×２Ｎの双予測ブロック分割情報を決定する。具体的な決定方法として、第三のインター予測モード決定部２０３は、Ｌ０ブロック分割情報とＬ１ブロック分割情報とのうち、小さい方を選択する。このとき、ブロック分割情報の大小比較は水平分割情報と垂直分割情報とのそれぞれに対して行う。
【００３７】
ここで、ステップＳ３０９における、双予測ブロック分割情報を決定する方法について、図５を用いて説明する。例えば図５（ａ）に示すように、２Ｎ×２ＮのＬ０ブロック分割情報が２Ｎ×Ｎであり、２Ｎ×２ＮのＬ１ブロック分割情報が２Ｎ×Ｎである場合は、双予測ブロック分割情報は２Ｎ×Ｎとなる。また、図５（ｂ）に示すように、２Ｎ×２ＮのＬ０ブロック分割情報が２Ｎ×Ｎであり、２Ｎ×２ＮのＬ１ブロック分割情報がＮ×Ｎである場合は、双予測ブロック分割情報はＮ×Ｎとなる。一方、２Ｎ×２ＮのＬ０ブロック分割情報が２Ｎ×Ｎであり、２Ｎ×２ＮのＬ１ブロック分割情報がＮ×２Ｎである場合は、水平方向及び垂直方向の小さい方を選択するため、双予測ブロック分割情報はＮ×Ｎとなる。
【００３８】
続いてステップＳ３１０において、第三のインター予測モード決定部２０３は、ＣＴＵ内のすべての双予測ブロックサイズを決定したか否かを判定する。この判定の結果、すべての双予測ブロックサイズの決定が完了している場合は、処理を終了する。一方、そうでない場合は、ステップＳ３１１へ進む。そして、ステップＳ３１１においては、２Ｎの値をＮに置き換え、一階層下のブロックサイズの符号化ユニットを処理対象とする。例えば、処理対象の符号化ユニットのブロックサイズが６４×６４の場合は、ステップＳ３１１の処理の後、２Ｎ×２Ｎブロックは３２×３２ブロックを示すことになる。
【００３９】
以降、ステップＳ３０７〜Ｓ３１２の処理が、ＣＴＵ内のすべての双予測ブロックサイズが決定されるまで繰り返される。また、２Ｎ×２Ｎブロックは３２×３２を示すため、ＣＴＵのサイズが６４×６４である場合は、３２×３２のブロックサイズを有する符号化ユニットは４つ存在する。そのため、ステップＳ３０７〜Ｓ３０９の処理は４つの３２×３２ブロックに対して行われる。
【００４０】
以上のようにステップＳ３０１〜Ｓ３１２の処理を行うことによって、四分木階層構造を持つ符号化ツリーユニットの場合においても、双予測ブロックサイズを決定することができる。図６には、本実施形態を適用した場合の双予測ブロックサイズの例を示す。なお、ステップＳ３０７〜ステップＳ３１２の動作について、順番に処理を行うものとして説明したが、これに限定されない。例えば、２Ｎ＝６４、３２、１６、８などのそれぞれの場合を一度に処理して双予測ブロックサイズを決定してもよい。
【００４１】
また、双予測ブロックサイズの決定方法は、図３で示したフローチャートの手順に限定されない。例えばＬ０ブロック分割情報及びＬ１ブロック分割情報を入力とするルックアップテーブルを参照することにより、双予測ブロックサイズを決定することも可能である。また、Ｌ０ブロック分割情報及びＬ１ブロック分割情報をビットパターンとして表現し、両分割情報を示すビットパターン分割間の論理演算により、双予測ブロックサイズを示すビットパターン情報を算出してもよい。
【００４２】
また、第三のインター予測モード決定部２０３は、ステップＳ３０１〜Ｓ３１２の処理で決定した双予測用の各ブロックの動きベクトルを取得する。具体的には第一のインター予測モード決定部２０１および第二のインター予測モード決定部２０２から出力される動きベクトルを双予測用の各ブロックの動きベクトルとして取得する。しかし、双予測用の各ブロックの動きベクトルの求め方はこれに限定されるものではなく、例えば、決定された各双予測ブロックサイズに対して動き探索を実施し、動きベクトルを求めてもよい。
【００４３】
なお、インター予測モード決定部１０４は、Ｌ０予測符号化、Ｌ１予測符号化、双予測符号化の各符号化コストを符号化ユニット毎に比較し、３つの予測符号化のどれを用いるかの情報であるインター予測タイプ（inter＿pred＿idc）を決定してもよい。この場合、インター予測タイプ（inter＿pred＿idc）の決定方法に関しては、これに限定されるものではなく、例えば、各符号化ユニットの符号化コストに重みづけをした値を比較してもよいし、動きベクトルに基づいて決定してもよい。この場合、インター予測モード決定部１０４の第三のインター予測モード決定部２０３が３つの予測符号化のどれを用いるか選択することになる。
【００４４】
以上のように本実施形態によれば、Ｌ０ブロック分割情報とＬ１ブロック分割情報とに基づいて、双予測ブロック分割情報を決定するようにした。これにより、双予測ブロックサイズを回路規模や消費電力を抑えながら正確に決定することができる。
【００４５】
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。なお、本実施形態における画像符号化装置の構成は、図１及び図２に示した構成と同様であるため、説明は省略する。また、インター予測モード決定部１０４以外の処理についても第１の実施形態と同様であるため、説明は省略する。本実施形態における画像符号化装置１００は、Ｌ０予測ユニット、またはＬ１予測ユニットが非対称に分割された場合でも、双予測ブロックサイズを求めることができる。図７には、ＨＥＶＣにおいて、予測ユニットが非対称に分割される例を示す。
【００４６】
図８は、本実施形態におけるインター予測モード決定部１０４が行う処理手順の一例を示すフローチャートである。なお、ステップＳ８０１〜Ｓ８０６における処理は、それぞれ図３のステップＳ３０１〜Ｓ３０６の処理と同様であるため、説明は割愛する。以下、ステップＳ８０７〜Ｓ８１７の処理について説明する。
【００４７】
ステップＳ８０７〜Ｓ８１７において、第三のインター予測モード決定部２０３は、第一のインター予測モード決定部２０１と第二のインター予測モード決定部２０２とから出力されるブロック分割情報を基に、双予測ブロックサイズを決定する。以下、詳細な処理手順について説明する。
【００４８】
ステップＳ８２０において、２Ｎ×２Ｎのブロックサイズを有する符号化ユニットがＣＴＵ内に存在するかどうか判定する。２Ｎ×２Ｎのブロックサイズを有する場合、ステップＳ８０７に進む。存在しない場合、ステップＳ８１６に進む。ステップＳ８０７においては、第三のインター予測モード決定部２０３は、２Ｎ×２Ｎのブロックサイズを有する符号化ユニットの空間的な位置に対応する予測ユニットの２Ｎ×２ＮのＬ０ブロック分割情報と２Ｎ×２ＮのＬ１ブロック分割情報とを確認し、少なくともどちらかがさらに分割されているか否かを判定する。この判定の結果、どちらも２Ｎ×２Ｎブロックが分割されていない場合は、ステップＳ８０８に進む。一方、そうでない場合は、ステップＳ８１１に進む。
【００４９】
ステップＳ８１１においては、第三のインター予測モード決定部２０３は、分割不可となった分割情報を保持しているか否かを判定する。ここで、分割不可となった分割情報については後述する。この判定の結果、分割不可となった分割情報を保持していない場合は、ステップＳ８１２に進み、保持していない場合は、ステップＳ８１３へと進む。最初にステップＳ８１１の処理を行う段階では、分割不可となった分割情報は保持していないので、この段階ではステップＳ８１２に進むことになる。
【００５０】
ステップＳ８１２においては、第三のインター予測モード決定部２０３は、２Ｎ×２ＮのＬ０ブロック分割情報と２Ｎ×２ＮのＬ１ブロック分割情報とに基づいて、２Ｎ×２Ｎの双予測ブロック分割情報を決定する。この処理は図３のステップＳ３０９と同様の処理である。続いてステップＳ８１４において、第三のインター予測モード決定部２０３は、ステップＳ８１１で決定した２Ｎ×２Ｎの双予測ブロック分割情報に基づいて分割することが可能か否かを判定する。この判定の結果、分割が可能である場合はステップＳ８１６に進み、そうでない場合はステップＳ８１５に進む。
【００５１】
ここで、ステップＳ８１４で分割可能でないと判定する場合の例について、図９を用いて説明する。図９（ａ）は、２Ｎ×２ＮのＬ０ブロック分割情報が（１／２）ｌＮ×２Ｎであり、２Ｎ×２ＮのＬ１ブロック分割情報が２Ｎ×（１／２）ｕＮである場合の例を示している。この場合、ステップＳ８１２の処理によって、２Ｎ×２Ｎの双予測ブロック分割情報は（１／２）ｌＮ×（１／２）ｕＮとなる。しかし、動画圧縮方式がこの分割方法に対応していない場合は、この分割情報に基づいて分割することが不可能である。
【００５２】
また、図９（ｂ）は、２Ｎ×２ＮのＬ０ブロック分割情報が（１／２）ｌＮ×２Ｎであり、２Ｎ×２ＮのＬ１ブロック分割情報が（１／２）ｒＮ×Ｎである場合の例を示している。この場合は、水平方向を分割する際に（１／２）ｌＮと（１／２）ｒＮとのどちらを用いるかを判定することができない。また両方の分割を用いたとしても、動画圧縮方式がこの分割方法に対応していない場合は、この分割情報に基づいて分割することが不可能である。
【００５３】
したがって、ステップＳ８１４の判定の結果、分割が不可能である場合は、ステップＳ８１５において、第三のインター予測モード決定部２０３は、２Ｎ×２Ｎの双予測ブロック分割情報をＮ×Ｎとする。さらに、第三のインター予測モード決定部２０３は、ここで分割不可となった分割情報を保持する。保持した分割情報については、後述するステップＳ８１０およびＳ８１３にて説明する。
【００５４】
続いてステップＳ８１６において、第三のインター予測モード決定部２０３は、ＣＴＵ内のすべての双予測ブロックサイズを決定したか否かを判定する。この判定の結果、すべての双予測ブロックサイズの決定が完了している場合は、処理を終了する。一方、そうでない場合は、ステップＳ８１７へ進む。そして、ステップＳ８１７において、２Ｎの値をＮに置き換える。この処理は図３のステップＳ３１１と同様である。以降、ステップＳ８０７〜Ｓ８１７、Ｓ８２０の処理が、ＣＴＵ内のすべての双予測ブロックサイズが決定されるまで繰り返される。
【００５５】
ここで、分割が不可能と判定された場合に保持した分割情報を利用する例について説明する。第三のインター予測モード決定部２０３は、分割情報を保持している場合に、該分割情報を利用して双予測ブロックサイズを求める。
【００５６】
ステップＳ８０７の判定の結果、２Ｎ×２ＮのＬ０ブロック分割情報と２Ｎ×２ＮのＬ１ブロック分割情報とのどちらも２Ｎ×２Ｎブロックが分割されていない場合は、ステップＳ８０８に進む。そして、ステップＳ８０８において、第三のインター予測モード決定部２０３は、分割不可となった分割情報を保持しているか否かを判定する。この判定の結果、分割情報を保持している場合は、ステップＳ８１０へ進み、保持していない場合は、ステップＳ８０９へ進む。
【００５７】
ステップＳ８０９においては、第三のインター予測モード決定部２０３は、２Ｎ×２Ｎの双予測ブロック分割情報として、２Ｎ×２Ｎを割り当てる。一方、ステップＳ８１０での処理に関して、図１０を参照しながら説明する。図１０（ａ）は、２Ｎ×２Ｎ＝６４×６４における双予測用のブロックの分割方法を示している。図１０（ａ）に示す例では、ステップＳ８１４の処理で、Ｌ０ブロック分割情報とＬ１ブロック分割情報とから求められる破線に示す分割情報で分割が不可能と判定され、双予測用のブロックはＮ×Ｎに分割されている。
【００５８】
図１０（ｂ）は、処理が一度ステップＳ８０７→Ｓ８１１→Ｓ８１２→Ｓ８１４→Ｓ８１５→Ｓ８１６→Ｓ８１７と進んだ場合における双予測用の予測ユニットのブロックの分割方法を示している。ステップＳ８１７において、２Ｎ×２Ｎ＝３２×３２と設定された後、ステップＳ８０７において、２Ｎ×２ＮのＬ０及びＬ１の予測ブロックがさらに分割されていないため、ステップＳ８０８に進む。次に、ステップＳ８０８において、第三のインター予測モード決定部２０３は、分割情報を保持していると判定するため、ステップＳ８１０の処理に進む。図１０（ｂ）に示すように、６４×６４では分割不可であったが、３２×３２では分割可能となる。そこで、ステップＳ８１０の処理にて、第三のインター予測モード決定部２０３は、分割不可となった分割情報を用いて、双予測ブロック分割情報を決定する。
【００５９】
一方、ステップＳ８１１の判定の結果、分割情報を保持している場合は、ステップＳ８１３へ進む。次に、ステップＳ８１３の処理について、図１１および図１２を参照しながら説明する。
【００６０】
図１１は、Ｌ０及びＬ１の予測ユニットのブロックサイズから決定される双予測用の予測ユニットのブロックサイズを示している。また、図１２は、図１１の双予測ブロックサイズが決定される処理の流れを説明するための図である。図１２（ａ）に示す例では、２Ｎ×２Ｎ＝６４×６４における双予測ブロック分割情報を示している。図１２（ａ）に示す例の場合、まず、ステップＳ８０６にて、２Ｎ×２Ｎ＝６４×６４と設定され、以降、ステップＳ８０７→Ｓ８１１→Ｓ８１２→Ｓ８１４→Ｓ８１５→Ｓ８１６→Ｓ８１７と進んでいる。
【００６１】
次に、図１２（ｂ）に示す例では、図１２（ａ）に示した処理の後に、ステップＳ８０７→Ｓ８１１→Ｓ８１３→Ｓ８１４→Ｓ８１５→Ｓ８１６→Ｓ８１７と進んでいる。ステップＳ８１３では、２Ｎ×２Ｎ＝３２×３２におけるＬ０ブロック分割情報と３２×３２のＬ１ブロック分割情報と、２Ｎ×２Ｎ＝６４×６４での分割不可となった分割情報を用いて、３２×３２における双予測ブロック分割情報を決定する。そして、ステップＳ８１４において、決定された双予測ブロック分割情報は、分割可能か否かが判定される。図１２（ｂ）に示す例では、分割不可となる分割情報が存在しており、図１２（ｃ）に示すように、該分割情報は２Ｎ×２Ｎ＝１６×１６において利用される。
【００６２】
以上のような手順でステップＳ８０１〜Ｓ８１７、Ｓ８２０の処理を行うことにより、Ｌ０およびＬ１ブロック分割情報を組み合わせて決定したブロックに分割することが不可能な場合でも、双予測ブロックサイズを決定することができる。また、動きベクトルの取得方法及びインター予測タイプの決定方法については、第１の実施形態と同様である。なお、ステップＳ８０７〜ステップＳ８１７、Ｓ８２０の動作について、順番に処理を行うものとして説明したが、これに限定されない。例えば、２Ｎ＝６４、３２、１６、８などのそれぞれの場合を一度に処理し、その後、一度に分割可能なブロックサイズであるか否かの判定を行って、双予測ブロックサイズを決定してもよい。
【００６３】
また、双予測用の予測ユニットのブロックサイズの決定方法は、図８で示したフローチャートに限定されない。例えば、Ｌ０ブロック分割情報及びＬ１ブロック分割情報を入力とするルックアップテーブルを参照することにより、双予測用の予測ユニットのブロックサイズを決定することも可能である。また、Ｌ０ブロック分割情報及びＬ１ブロック分割情報をビットパターンとして表現し、両分割情報を示すビットパターン分割間の論理演算により、双予測ブロックサイズを示すビットパターン情報を算出してもよい。
【００６４】
（その他の実施形態）
前述した各実施形態における画像符号化装置によって符号化された符号化データを復号する場合には、図１に示した構成と逆の構成を有する復号化装置を必要する。例えば、カメラ等に前述した各実施形態の画像符号化装置に復号化装置を設けることによって、ＨＥＶＣによって符号化されたデータを復号して動画を表示することができる。
【００６５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６６】
２０１  第一のインター予測モード決定部
２０２  第二のインター予測モード決定部
２０３  第三のインター予測モード決定部
【図１】
2016134852.tif 000003
【図２】
2016134852.tif 000004
【図３】
2016134852.tif 000005
【図４】
2016134852.tif 000006
【図５】
2016134852.tif 000007
【図６】
2016134852.tif 000008
【図７】
2016134852.tif 000009
【図８】
2016134852.tif 000010
【図９】
2016134852.tif 000011
【図１０】
2016134852.tif 000012
【図１１】
2016134852.tif 000013
【図１２】
2016134852.tif 000014
【図１３】
2016134852.tif 000015
【図１４】
2016134852.tif 000016