(57)【要約】【課題】符号化効率の低下を抑制しつつ、動き探索処理におけるメモリアクセス量を削減できる動画像符号化装置を提供する。【解決手段】動画像符号化装置１は、各探索モードについて、符号化済みの他のピクチャに対応する縮小ピクチャ上のその探索モードでの探索範囲に対応する領域内で符号化対象ブロックに対応する縮小ブロックと最も一致する領域を求めることで動きベクトル候補及び符号化コストを算出する符号化コスト算出部１１と、各探索モードの探索範囲に基づいて各探索モードのメモリアクセス量を算出するメモリアクセス量算出部１２と、各探索モードのメモリアクセス量及び符号化コストに基づいて符号化対象ブロックに適用する探索モードを選択する探索モード決定部１４と、選択された探索モードに従って設定した符号化済みの他のピクチャ上の探索範囲から動きベクトルを算出する動きベクトル算出部１５とを有する。【選択図】図２
2015231124.tif 000002
【特許請求の範囲】
【請求項１】
動画像データに含まれるピクチャ上の符号化対象ブロックと、符号化済みの他のピクチャ上の動きベクトルで示された参照ブロック間の誤差を符号化する動画像符号化装置であって、
前記動きベクトルの探索方法を規定する複数の探索モードのそれぞれについて、前記他のピクチャに含まれる画素の数を減じた縮小ピクチャ上の当該探索モードで規定される前記動きベクトルの探索範囲に対応する領域内で前記符号化対象ブロックに含まれる画素の数を減じた縮小ブロックと最も一致する領域を求め、前記縮小ブロックと当該最も一致する領域間の移動量から前記探索範囲を特定する動きベクトル候補及び前記符号化対象ブロックの符号量を表す符号化コストを算出する符号化コスト算出部と、
前記複数の探索モードのそれぞれについて、当該探索モードでの前記探索範囲に基づいて、前記動きベクトルを算出するために前記他のピクチャを記憶している記憶部から読み出すデータ量を表すメモリアクセス量を算出するメモリアクセス量算出部と、
前記複数の探索モードのそれぞれについての前記メモリアクセス量及び前記符号化コストに基づいて、前記複数の探索モードの中から前記符号化対象ブロックに適用する探索モードを選択する探索モード決定部と、
前記選択された探索モードに従って前記他のピクチャ上に前記探索範囲を設定し、前記記憶部から前記他のピクチャ上の当該探索範囲に含まれる画素のデータを読み出して、当該探索範囲内で前記符号化対象ブロックと最も一致する領域を求め、前記符号化対象ブロックと当該領域間の移動量を表すベクトルを前記動きベクトルとして算出する動きベクトル算出部と、
を有する動画像符号化装置。
【請求項２】
前記符号化対象ブロックは、サイズの異なる複数のサブブロックに分割可能であり、
前記符号化コスト算出部は、前記複数の探索モードのそれぞれについて、前記サブブロックの組み合わせごとに、当該組み合わせに含まれる各サブブロックの前記動きベクトル候補と該サブブロックの符号量を表す符号化コストを求め、各サブブロックの符号化コストの合計の最小値を前記符号化対象ブロックの符号化コストとし、かつ、当該最小値に対応する前記サブブロックの組み合わせを当該探索モードについてのサブブロックの組み合わせとし、
前記メモリアクセス量算出部は、前記複数の探索モードのそれぞれについて、当該探索モードについての前記サブブロックの組み合わせに含まれる各サブブロックの前記動きベクトル候補が示す前記探索範囲の位置関係に基づいて当該探索モードについての前記メモリアクセス量を求め、
前記動きベクトル算出部は、前記選択された探索モードについての前記サブブロックの組み合わせに含まれるサブブロックごとに前記動きベクトルを算出する、請求項１に記載の動画像符号化装置。
【請求項３】
前記探索モード決定部は、前記複数の探索モードのうち、前記メモリアクセス量が目標アクセス量以下となる探索モードのうちで前記符号化コストが最小となる探索モードを選択する、請求項１または２に記載の動画像符号化装置。
【請求項４】
前記符号化対象ブロックの直近の所定数のブロックのそれぞれの前記メモリアクセス量の合計が少ないほど前記目標アクセス量を大きくする目標アクセス量決定部をさらに有する、請求項３に記載の動画像符号化装置。
【請求項５】
前記探索モード決定部は、前記複数の探索モードのうちの前記メモリアクセス量が前記目標アクセス量以下となる探索モードの何れについても、当該探索モードの前記符号化コストと前記ブロックの直前のブロックの前記符号化コストとの差が許容範囲から外れる場合、前記差が前記許容範囲に含まれる探索モードのうちの前記メモリアクセス量が最小となる探索モードを選択する、請求項３または４に記載の動画像符号化装置。
【請求項６】
動画像データに含まれるピクチャ上の符号化対象ブロックと、符号化済みの他のピクチャ上の動きベクトルで示された参照ブロック間の誤差を符号化する動画像符号化方法であって、
前記動きベクトルの探索方法を規定する複数の探索モードのそれぞれについて、前記他のピクチャに含まれる画素の数を減じた縮小ピクチャ上の当該探索モードで規定される前記動きベクトルの探索範囲に対応する領域内で前記符号化対象ブロックに含まれる画素の数を減じた縮小ブロックと最も一致する領域を求め、前記縮小ブロックと当該最も一致する領域間の移動量から前記探索範囲を特定する動きベクトル候補及び前記符号化対象ブロックの符号量を表す符号化コストを算出し、
前記複数の探索モードのそれぞれについて、当該探索モードでの前記探索範囲に基づいて、前記動きベクトルを算出するために前記他のピクチャを記憶している記憶部から読み出すデータ量を表すメモリアクセス量を算出し、
前記複数の探索モードのそれぞれについての前記メモリアクセス量及び前記符号化コストに基づいて、前記複数の探索モードの中から前記符号化対象ブロックに適用する探索モードを選択し、
前記選択された探索モードに従って前記他のピクチャ上に前記探索範囲を設定し、前記記憶部から前記他のピクチャ上の当該探索範囲に含まれる画素のデータを読み出して、当該探索範囲内で前記符号化対象ブロックと最も一致する領域を求め、前記符号化対象ブロックと当該領域間の移動量を表すベクトルを前記動きベクトルとして算出する、
ことを含む動画像符号化方法。
【請求項７】
動画像データに含まれるピクチャ上の符号化対象ブロックと、符号化済みの他のピクチャ上の動きベクトルで示された参照ブロック間の誤差を符号化するための動画像符号化用コンピュータプログラムであって、
前記動きベクトルの探索方法を規定する複数の探索モードのそれぞれについて、前記他のピクチャに含まれる画素の数を減じた縮小ピクチャ上の当該探索モードで規定される前記動きベクトルの探索範囲に対応する領域内で前記符号化対象ブロックに含まれる画素の数を減じた縮小ブロックと最も一致する領域を求め、前記縮小ブロックと当該最も一致する領域間の移動量から前記探索範囲を特定する動きベクトル候補及び前記符号化対象ブロックの符号量を表す符号化コストを算出し、
前記複数の探索モードのそれぞれについて、当該探索モードでの前記探索範囲に基づいて、前記動きベクトルを算出するために前記他のピクチャを記憶している記憶部から読み出すデータ量を表すメモリアクセス量を算出し、
前記複数の探索モードのそれぞれについての前記メモリアクセス量及び前記符号化コストに基づいて、前記複数の探索モードの中から前記符号化対象ブロックに適用する探索モードを選択し、
前記選択された探索モードに従って前記他のピクチャ上に前記探索範囲を設定し、前記記憶部から前記他のピクチャ上の当該探索範囲に含まれる画素のデータを読み出して、当該探索範囲内で前記符号化対象ブロックと最も一致する領域を求め、前記符号化対象ブロックと当該領域間の移動量を表すベクトルを前記動きベクトルとして算出する、
ことをコンピュータに実行させるための動画像符号化用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ピクチャを符号化済みの他のピクチャを参照して符号化する動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラムに関する。
【背景技術】
【０００２】
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを高能率符号化する。なお、「高能率符号化」とは、あるデータ列を他のデータ列に変換する符号化処理であって、そのデータ量を圧縮する処理をいう。
【０００３】
動画像データの高能率符号化方法として、ピクチャ内予測（イントラ予測）符号化方法が知られている。この符号化方法は、動画像データが空間方向に相関性が高いことを利用し、他のピクチャの符号化画像を用いない。ピクチャ内予測符号化方法で符号化されたピクチャは、そのピクチャ内の情報のみで復元できる。
【０００４】
また、高能率符号化方法で採用されている他の符号化方式として、ピクチャ間予測（インター予測）符号化方法が知られている。この符号化方法は、動画像データが時間方向に相関性が高いことを利用する。動画像データでは、一般に、あるタイミングのピクチャとそのピクチャに後続するピクチャ間の類似度が高いことが多い。そのため、インター予測符号化方法は、動画像データのその性質を使用する。一般に、動画像符号化装置は、符号化対象の原ピクチャを複数のブロックに分割する。動画像符号化装置は、ブロックごとに、動き探索処理と呼ばれる処理を実行して、符号化済みピクチャを復号して得られた参照ピクチャから、そのブロックと類似している領域を参照領域として選択する。そして動画像符号化装置は、参照領域とブロック間の差分を表す予測誤差ブロックを計算することで、時間的な冗長性を取り除く。そして動画像符号化装置は、参照領域を示す動きベクトル情報および予測誤差ブロックを符号化することにより、高い圧縮率が実現される。一般的に、イントラ予測符号化方法よりも、インター予測符号化方法の方が圧縮効率が高い。
【０００５】
動き探索処理において、動画像符号化装置は、符号化対象ブロックについて、参照ピクチャとのブロックマッチングを行って参照領域を特定することで、動きベクトルを求める。このブロックマッチングでは、参照ピクチャ上の符号化対象ブロックよりも広い領域がブロックマッチングが行われる探索範囲となるので、参照ピクチャが記憶されているメモリから読み込むデータ量を表すメモリアクセス量が多い。そのため、インター予測符号化処理全体でのメモリアクセス量に占める、動き探索処理によるメモリアクセス量の割合は大きい。
【０００６】
また、最新の動画像符号化方式(High Efficiency Video Coding、HEVC)では、4K UHDといった高解像度を持つ動画像データを扱うことが想定されている。動画像符号化装置がこのような高解像度を持つ動画像データを符号化する場合、一つのピクチャに含まれるブロックの数も増えるので、メモリアクセス量も増加する。メモリアクセス量が増加すると、動画像符号化処理の実行に要する電力が増加したり、レイテンシが大きくなる。そこで、動き探索処理のメモリアクセス量を削減できることが好ましい。
【０００７】
例えば、特許文献１には、画像復号装置における動き補償処理の際の、参照画像のデータ転送量を低減できる符号化画像を生成する画像符号化装置が提案されている。この画像符号化装置は、符号化された画像の復号時の動き補償処理において生じるデータの転送量が少ない転送量である探索範囲を設定し、その探索範囲の画素データを画像記憶部から取得して動き予測する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第１０／１４０３３８号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１に開示された画像符号化装置では、探索範囲が狭く制限され過ぎてしまい、探索範囲内では、符号化対象ブロックに対する予測誤差が十分に小さい参照領域が設定できずに動き探索の精度が低下してしまうことがある。この場合、予測誤差ブロックにおいて0以外の値を持つ画素の数が多くなり、予測誤差ブロックを直交変換して得られる直交変換係数の組においても、0以外の値を持つ直交変換係数の数が多くなる。そのため、再生されるピクチャの画質を一定以上に保つためには、直交変換係数に対して適用できる量子化幅が小さくなり、その結果として、符号化効率が低下してしまう。
【００１０】
そこで、本明細書は、符号化効率の低下を抑制しつつ、動き探索処理におけるメモリアクセス量を削減できる動画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
一つの実施形態によれば、動画像データに含まれるピクチャ上の符号化対象ブロックと、符号化済みの他のピクチャ上の動きベクトルで示された参照ブロック間の誤差を符号化する動画像符号化装置が提供される。この動画像符号化装置は、動きベクトルの探索方法を規定する複数の探索モードのそれぞれについて、符号化済みの他のピクチャに含まれる画素の数を減じた縮小ピクチャ上のその探索モードで規定される動きベクトルの探索範囲に対応する領域内で符号化対象ブロックに含まれる画素の数を減じた縮小ブロックと最も一致する領域を求め、縮小ブロックとその最も一致する領域間の移動量から探索範囲を特定する動きベクトル候補及び符号化対象ブロックの符号量を表す符号化コストを算出する符号化コスト算出部と、複数の探索モードのそれぞれについて、その探索モードでの探索範囲に基づいて、動きベクトルを算出するために他のピクチャを記憶している記憶部から読み出すデータ量を表すメモリアクセス量を算出するメモリアクセス量算出部と、複数の探索モードのそれぞれについてのメモリアクセス量及び符号化コストに基づいて、複数の探索モードの中から符号化対象ブロックに適用する探索モードを選択する探索モード決定部と、選択された探索モードに従って符号化済みの他のピクチャ上に探索範囲を設定し、記憶部から符号化済みの他のピクチャ上の探索範囲に含まれる画素のデータを読み出して、その探索範囲内で符号化対象ブロックと最も一致する領域を求め、符号化対象ブロックとその最も一致する領域間の移動量を表すベクトルを動きベクトルとして算出する動きベクトル算出部とを有する。
【００１２】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００１３】
本明細書に開示された動画像符号化装置は、符号化効率の低下を抑制しつつ、動き探索処理におけるメモリアクセス量を削減できる。
【図面の簡単な説明】
【００１４】
【図１】HEVCによる、ピクチャの分割の一例を示す図である。
【図２】一つの実施形態による動画像符号化装置の概略構成図である。
【図３】（ａ）〜（ｃ）は、それぞれ、探索モードに応じた探索範囲の制限の例を示す図である。
【図４】（ａ）及び（ｂ）は、それぞれ、符号化対象CTUに対して適用されるPUの組の一例を示す図である。
【図５】メモリアクセス量の履歴と目標アクセス量の関係の一例を示す図である。
【図６】探索モードごとのメモリアクセス量と符号化コストの分布の一例を示す図である。
【図７】動画像符号化処理の動作フローチャートである。
【図８】探索モードごとのメモリアクセス量と符号化コストの分布の他の一例を示す図である。
【図９】変形例による動画像符号化処理の動作フローチャートである。
【図１０】実施形態またはその変形例による動画像符号化装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像符号化装置として動作するコンピュータの構成図である。
【発明を実施するための形態】
【００１５】
以下、図を参照しつつ、動画像符号化装置について説明する。この動画像符号化装置は、インター予測符号化モードが適用される符号化対象ブロックに対する動き探索処理を行う際に、動きベクトルの探索方法を規定する複数の探索モードの中から、適用する探索モードを選択する。その際、この動画像符号化装置は、符号化済みの参照ピクチャから画素を間引いて生成される縮小ピクチャ上で動き探索処理を行うことで、複数の探索モードのそれぞれについて符号化対象ブロックの符号量の指標である符号化コストを算出する。さらに、この動画像符号化装置は、各探索モードについて、参照ピクチャが記憶されている記憶部から動き探索処理において読み出すデータ量を表すメモリアクセス量を求める。そしてこの動画像符号化装置は、目標とするメモリアクセス量以下のメモリアクセス量となる探索モードの中から、符号化コストが最小となる探索モードを、符号化対象ブロックに適用する探索モードとして選択する。これにより、この動画像符号化装置は、符号化効率の低下を抑制しつつ、動き探索処理におけるメモリアクセス量を削減する。
【００１６】
本実施形態では、動画像符号化装置は、HEVCに準拠して、動画像データを符号化する。そこで最初に、HEVCに従って、ピクチャを複数のブロックに分割する方法について説明する。
【００１７】
図１は、HEVCによる、ピクチャの分割の一例を示す図である。
図１に示されるように、ピクチャ１００は、ブロックの一例であるCoding Tree Unit(CTU)単位で分割され、各CTU１０１は、ラスタスキャン順に符号化される。CTU１０１のサイズは、16x16〜64x64画素の中から選択できる。ただし、CTU１０１のサイズは、シーケンス単位で一定とされる。
【００１８】
CTU１０１は、さらに、四分木構造で複数のCoding Unit（CU）１０２に分割される。一つのCTU１０１内の各CU１０２は、Zスキャン順に符号化される。CU１０２のサイズは可変であり、そのサイズは、CU分割モード8x8〜64x64画素の中から選択される。CU１０２は、符号化モードであるイントラ予測符号化モードとインター予測符号化モードを選択する単位となる。CU１０２は、Prediction Unit（PU）１０３単位またはTransform Unit（TU）１０４単位で個別に処理される。PU１０３は、符号化モードに応じた予測が行われる単位となる。例えば、PU１０３は、イントラ予測符号化モードでは、予測ブロックの生成の際に予測ブロック内の各画素の値を求めるための参照方向を表す予測モードが適用される単位となり、インター予測符号化モードでは、動き補償を行う単位となる。PU１０３のサイズは、例えば、インター予測符号化では、PU分割モードPartMode =2Nx2N, NxN, 2NxN, Nx2N, 2NxU, 2NxnD, nRx2N, nLx2Nの中から選択できる。
【００１９】
一方、TU１０４は、直交変換の単位である。またイントラ予測符号化モードでは、TU１０４は、予測ブロックの生成単位でもある。TU１０４のサイズは、4x4画素〜32x32画素の中から選択される。TU１０４は、四分木構造で分割され、Zスキャン順に処理される。CU、PU及びTUは、それぞれ、サブブロックの一例である。
【００２０】
図２は、本実施形態による動画像符号化装置の概略構成図である。動画像符号化装置１は、符号化コスト算出部１１と、メモリアクセス量算出部１２と、目標アクセス量決定部１３と、探索モード決定部１４と、動きベクトル算出部１５と、符号化モード決定部１６と、符号化部１７と、記憶部１８とを有する。
【００２１】
動画像符号化装置１が有するこれらの各部は、それぞれ別個の回路として形成される。あるいは動画像符号化装置１が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として動画像符号化装置１に実装されてもよい。さらに、動画像符号化装置１が有するこれらの各部は、動画像符号化装置１が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
【００２２】
符号化対象となるピクチャは、例えば、動画像符号化装置１全体を制御する制御部（図示せず）により複数のCTUに分割される。そして動画像符号化装置１には、各CTUが、例えばラスタスキャン順で入力される。そして動画像符号化装置１は、CTUごとに符号化する。以下、動画像符号化装置１が有する各部について説明する。
【００２３】
符号化コスト算出部１１、メモリアクセス量算出部１２、目標アクセス量決定部１３、探索モード決定部１４及び動きベクトル算出部１５の処理は、PピクチャまたはBピクチャといった、インター予測符号化モードを適用可能なピクチャに対して実行される。また、Bピクチャ上のCTUのように、双方向予測されるブロックについては、予測方向ごとに、符号化コスト算出部１１、メモリアクセス量算出部１２、目標アクセス量決定部１３、探索モード決定部１４及び動きベクトル算出部１５の処理が実行される。
【００２４】
符号化コスト算出部１１は、複数の探索モードのそれぞれについて、符号化対象CTUに設定可能な各PUについて動きベクトルの探索範囲を特定する動きベクトル候補とそのCTUの符号量の指標である符号化コストを算出する。
【００２５】
本実施形態では、動きベクトルの候補の算出及び符号化コストの算出に要する演算量を削減するために、符号化コスト算出部１１は、参照ピクチャから所定数の画素ごとに一つの画素を取り出して生成される縮小ピクチャを記憶部１８から読み込んで利用する。
【００２６】
さらに、符号化コスト算出部１１は、符号化対象のCTUから、所定数の画素ごとに一つの画素を取り出して縮小CTUを生成する。例えば、符号化コスト算出部１１は、水平方向及び垂直方向のそれぞれについて、符号化対象のCTUから１画素おきに画素を取り出して縮小CTUを生成する。なお、対象となるPUのサイズが8画素x8画素以上であれば、符号化コスト算出部１１は、水平方向及び垂直方向について、符号化対象のCTUの連続する4画素の組ごとに、一つの画素を取り出して縮小CTUを生成してもよい。
【００２７】
符号化コスト算出部１１は、動きベクトル算出部１５による動き探索処理における記憶部１８へのメモリアクセス量を軽減するために、例えば、下記のような探索範囲を限定した探索モードを設定する。
（ａ）探索モード１：
この探索モードでは、個々のPUについて設定される探索範囲は最も広い。例えば、探索範囲は、参照ピクチャ上で、着目するPUと同じサイズの領域と、その外周に沿った、所定幅を持つオフセット領域を合成した領域に設定される。さらに、動きベクトル候補の決定のために参照される、探索範囲に対応する領域として、縮小ピクチャ上で、着目するPUと同じ位置及びサイズの領域と、その外周に沿った、所定幅（例えば、３〜５画素）を持つオフセット領域を合成した領域が設定される。またこの探索モードでは、適用される動きベクトルの設定方法に応じて、符号化コスト算出部１１は、複数の縮小ピクチャを参照可能である。
【００２８】
なお、以下に説明する各探索モードについては、探索モード１と異なる点について説明する。
（ｂ）探索モード２：
この探索モードでは、符号化コスト算出部１１は、最小サイズのPUの適用を禁止する。  図３（ａ）は、探索モード２についての探索範囲の制限の一例を示す図である。符号化対象CTU３００に適用されるPU３１０についての探索範囲３１１に占めるオフセット領域の割合は、PU３１０よりも小さいPU３２０についての探索範囲３２１に占めるオフセット領域の割合よりも小さい。このように、PUサイズが小さいほど、探索範囲に占めるオフセット領域の割合が増加する。したがって、符号化対象CTU３００を複数のPU３１０に分割したときの各探索範囲に含まれる画素の数の合計は、符号化対象CTU３００を複数のPU３２０に分割したときの各探索範囲に含まれる画素の数の合計よりも多い。そこで、最小のPUサイズの適用を禁止することで、動きベクトル算出部１５における動き探索処理でのメモリアクセス量が削減される。
（ｃ）探索モード３：
この探索モードでは、符号化コスト算出部１１は、最小サイズのPU及び最小サイズの次に大きいサイズのPUの適用を禁止する。
【００２９】
（ｄ）探索モード４：
この探索モードでは、符号化コスト算出部１１は、探索範囲設定のための参照ピクチャ上でのオフセット領域の幅を１画素狭くする。
図３（ｂ）は、探索モード４についての探索範囲の制限の一例を示す図である。符号化対象CTUに対して適用可能なPU３３０についての探索モード１でのオフセット領域３３１の幅に対して、探索モード４では、オフセット領域３３２のように狭くなる。そのため、探索モード１での探索範囲３３３と比較して、探索モード４での探索範囲３３４は狭くなる。そのため、動きベクトル算出部１５における動き探索処理でのメモリアクセス量が削減される。
（ｅ）探索モード５：
この探索モードでは、符号化コスト算出部１１は、探索範囲設定のための参照ピクチャ上でのオフセット領域の幅を２画素狭くする。
なお、符号化コスト算出部１１は、探索モード４及び５について、参照ピクチャ上でのオフセット領域の幅を狭くする分だけ、動きベクトル候補を探索するための縮小ピクチャ上での領域を設定するためのオフセット領域の幅も狭くしてもよい。
【００３０】
（ｆ）探索モード６：
この探索モードでは、符号化コスト算出部１１は、参照ピクチャの枚数を、探索モード１における、参照ピクチャの枚数よりも少なくする。
図３（ｃ）は、探索モード６についての探索範囲の制限の一例を示す図である。参照ピクチャの数が多いほど、PUごとに異なる参照ピクチャが参照される可能性が高くなる。例えば、探索モード１では、符号化対象CTU３５０に含まれるPU３５１について符号化コストが最小となるのは参照ピクチャ３６１であり、PU３５２について符号化コストが最小となるのは参照ピクチャ３６２であるとする。さらに、PU３５３及びPU３５４について符号化コストが最小となるのは参照ピクチャ３６３であるとする。これに対して、探索モード６では、PU３５１〜PU３５４のそれぞれについて参照ピクチャ３６１が参照されるとする。この場合、探索モード１では、PU３５１及びPU３５２についての参照ピクチャとPU３５３及びPU３５４についての参照ピクチャが異なる。そのため、PU３５１についての探索範囲３７１とPU３５２についての探索範囲３７２は、PU３５３についての探索範囲３７３及びPU３５４についての探索範囲３７４と重ならない。一方、探索モード６では、各PUについての参照ピクチャが同一なので、各PUについての探索範囲３８１〜３８４が互いに重なることがある。そのため、動きベクトル算出部１５における動き探索処理でのメモリアクセス量が削減される。
【００３１】
符号化コスト算出部１１は、上記以外の探索モードを設定してもよい。例えば、符号化コスト算出部１１は、上記の探索モード２〜６のうちの二つ以上を組み合わせた探索モードを設定してもよい。あるいは、符号化コスト算出部１１は、符号化対象CTUに含まれるPUの数の合計が所定数以下となる探索モードを設定してもよい。
【００３２】
符号化コスト算出部１１は、探索モードごとに、適用可能なPUのそれぞれについて、探索範囲に対応する縮小ピクチャ上の領域内でブロックマッチングを実行して、PUと最も一致する縮小ピクチャ及びその縮小ピクチャ上の参照領域の位置を決定する。なお、本実施形態では、符号化コスト算出部１１は、符号化対象CTU内に設定される着目するPUに相当する、縮小CTU内のブロックをブロックマッチングに利用すればよい。そして符号化コスト算出部１１は、PUとその参照領域間の空間的な移動量を表すベクトルを動きベクトル候補として算出する。
【００３３】
符号化コスト算出部１１は、例えば、ブロックマッチングにおいて、着目するPUに対応する縮小CTU内のブロックと、そのブロックと同じサイズの領域間での画素差分絶対値和SADを算出する。そして符号化コスト算出部１１は、動きベクトル候補が探索される領域内で画素差分絶対値和SADが最小となる領域を、着目するPUの参照領域とする。
【００３４】
画素差分絶対値和SADが小さいほど、予測ブロックに含まれる各画素の値が小さくなり、その結果として符号量が少なくなると推定される。そこで符号化コスト算出部１１は、各探索モードについて、適用可能なPUの組み合わせごとに、その組み合わせに含まれる各PUの動きベクトル候補に対応する画素差分絶対値和SADの合計ΣSADを算出する。そして符号化コスト算出部１１は、その合計ΣSADの最小値を、その探索モードの符号化コストとする。
【００３５】
図４（ａ）及び図４（ｂ）は、それぞれ、符号化対象CTUに対して適用されるPUの組の一例を示す図である。図４（ａ）に示される例では、符号化対象CTU４００は、４個のPU４０１〜４０４に等分割される。そのため、符号化コストは、４個のPU４０１〜４０４のそれぞれの画素差分絶対値和SAD1〜SAD4の合計となる。なお、各PUが参照する参照ピクチャは異なっていてもよい。ただし、制限モード６において参照ピクチャが１枚に制限されている場合には、各PUが参照する参照ピクチャは同一となる。一方、図４（ｂ）に示される例では、符号化対象CTU４００は、右下のPU４０４がさらに４個のPU４０５〜４０８に分割されている。そのため、符号化コストは、７個のPU４０１〜４０３、４０５〜４０８のそれぞれの画素差分絶対値和SAD1〜SAD3、SAD5〜SAD8の合計となる。
【００３６】
なお、符号化コスト算出部１１は、演算量を削減するために、サイズが小さい方のPUから順に動きベクトル候補及び差分絶対値和SADを算出し、符号化コスト算出部１１が有するメモリに保存してもよい。そして符号化コスト算出部１１は、着目するPUに含まれる、既に動きベクトル候補が求められたPUの動きベクトル候補及び画素差分絶対値和SADに基づいて、着目するPUの動きベクトル候補及び画素差分絶対値和SADを算出してもよい。例えば、符号化コスト算出部１１は、着目するPUのサイズが16x16画素である場合、そのPUに含まれる、４個の8x8画素のPUのそれぞれについて求められた動きベクトル候補の平均値を、着目するPUの動きベクトル候補としてもよい。そして符号化コスト算出部１１は、着目するPUに含まれる４個の8x8画素のPUのそれぞれの画素差分絶対値和SADの合計を、着目するPUの画素差分絶対値和SADとしてもよい。
また、符号化コスト算出部１１は、探索モード１〜５で求められた、探索モード６で参照される参照ピクチャに対応する縮小ピクチャを参照するPUについての画素差分絶対値和SADを、探索モード６で利用してもよい。これにより、探索モード６での演算量が削減される。
【００３７】
符号化コスト算出部１１は、探索モードごとに、符号化対象CTUについての符号化コスト、適用されるPUの組合わせ、及び、各PUについて求められた動きベクトル候補をメモリアクセス量算出部１２及び探索モード決定部１４へ出力する。
【００３８】
メモリアクセス量算出部１２は、符号化対象CTUについて、探索モードごとに、動きベクトル算出部１５による動き探索処理での記憶部１８から読み出されるデータ量を表すメモリアクセス量を算出する。本実施形態では、メモリアクセス量算出部１２は、探索モード及びその探索モードでの各PUの動きベクトル候補が示す探索範囲に応じてメモリアクセス量を算出する。例えば、メモリアクセス量算出部１２は、着目する探索モードについて、各PUで示される探索範囲に含まれる画素の数の合計を、記憶部１８から読み込まれる画素の数として算出する。なお、探索範囲同士の位置関係によっては、複数の探索範囲が互いに重複することがある。この場合、メモリアクセス量算出部１２は、その重複する領域に含まれる画素については１回だけカウントすればよい。また、動きベクトル算出部１５での探索範囲のサイズは、PUのサイズと同サイズの領域に、その領域の外周に沿った、所定幅（例えば、６〜１０画素）を持つオフセット領域を合成した領域のサイズとなる。したがって、探索モード４または探索モード５のように、オフセット領域が狭くなる探索モードでは、探索範囲は狭くなる。
【００３９】
メモリアクセス量算出部１２は、着目する探索モードについての、記憶部１８から読み込まれる画素の数を、符号化対象CTUの画素数(例えば、64画素x64画素=4096画素)で除した値に100を乗じて得られるパーセント値をその探索モードのメモリアクセス量とする。なお、メモリアクセス量は、記憶部１８から読み込まれる画素の数そのものであってもよく、あるいは、記憶部１８から読み込まれる画素の数に、１画素当たりのビット数またはバイト数を乗じた値であってもよい。そしてメモリアクセス量算出部１２は、各探索モードのメモリアクセス量を探索モード決定部１４へ出力する。
【００４０】
目標アクセス量決定部１３は、符号化対象CTUごとに、動きベクトル算出部１５でのメモリアクセス量の上限となる目標アクセス量を決定する。本実施形態では、目標アクセス量決定部１３は、直近の所定個数の符号化済みのCTUの実際のメモリアクセス量の合計が少ないほど、目標アクセス量を大きくする。例えば、目標アクセス量決定部１３は、CTU当たりのメモリアクセス量の基準値をn倍した値（ただし、nは2以上の整数）から、直近の(n-1)個のCTUについての実際のメモリアクセス量の合計を減じた値を目標アクセス量とする。例えば、n=10であり、CTU当たりのメモリアクセス量の基準値が550(%)であったとする。そして直近の9個のCTUについて、動きベクトル算出部１５の記憶部１８に対するメモリアクセス量の合計が4900(%)であったとする。この場合、符号化対象CTUに対する目標アクセス量は、600(%)(=550x10-4900)となる。このように目標アクセス量が設定されることで、動画像符号化装置１は、符号化対象CTUに対するメモリアクセス量を適応的に設定できる。
【００４１】
なお、CTU当たりのメモリアクセス量の基準値は、例えば、動画像符号化装置１が有するハードウェアリソースまたは要求される符号化レートなどに応じて設定される。ただし、その基準値は、符号化対象CTUを最小サイズのPUで分割し、各PUについて探索範囲を制限しない場合のメモリアクセス量よりも小さい値に設定されることが好ましい。また基準値は、符号化対象CTUを最大サイズのPUで分割し、各PUについて探索範囲を最小とした場合のメモリアクセス量よりも大きい値に設定されることが好ましい。またnは、例えば、2〜1枚のピクチャに含まれるCTUの数の範囲内の何れかに設定される。nが大きいほど、目標アクセス量決定部１３は、多数の符号化済みのCTUについてのメモリアクセス量を参照するので、基準値に対する、符号化対象CTUについての目標アクセス量の増減が許容され易くなる。
【００４２】
図５は、メモリアクセス量の履歴と目標アクセス量の関係の一例を示す図である。図５において、横軸は符号化済みのCTUの数を表し、縦軸はメモリアクセス量を表す。そして線５００は、CTU当たりのメモリアクセス量の基準値を表す。またグラフ５０１は、CTUごとのメモリアクセス量の履歴を表す。例えば、m番目のCTUについての目標アクセス量は、その直近の(m-(n-1))〜(m-1)番目のCTUのメモリアクセス量について決定される。そのため、(m-(n-1))〜(m-1)番目のCTUのメモリアクセス量の平均値が基準値よりも低ければ、目標アクセス量決定部１３は、m番目のCTUについての目標アクセス量を、基準値よりも大きくできる。逆に、(m-(n-1))〜(m-1)番目のCTUのメモリアクセス量の平均値が基準値よりも高ければ、m番目のCTUについての目標アクセス量は、基準値よりも低くなる。
【００４３】
目標アクセス量決定部１３は、符号化対象CTUごとに、目標アクセス量を探索モード決定部１４へ通知する。また目標アクセス量決定部１３は、次以降のCTUについての目標アクセス量を決定するために、探索モード決定部１４から通知された、符号化対象CTUについて選択された探索モードのメモリアクセス量を、目標アクセス量決定部１３が有するメモリに保存する。
【００４４】
探索モード決定部１４は、符号化対象CTUごとに、目標アクセス量及び複数の探索モードのそれぞれの符号化コストに基づいて、複数の探索モードの中から適用する探索モードを決定する。
【００４５】
本実施形態では、探索モード決定部１４は、メモリアクセス量が目標アクセス量以下となる探索モードのうちで、符号化コストが最小となる探索モードを適用する探索モードとして選択する。
【００４６】
図６は、探索モードごとのメモリアクセス量と符号化コストの分布の一例を示す図である。図６において、横軸はメモリアクセス量を表し、縦軸は、符号化コストを表す。点６０１〜点６０６は、それぞれ、探索モード１〜探索モード６についてのメモリアクセス量と符号化コストを表す。また線６１０は、目標アクセス量を表す。この例では、点６０１で表される、探索モード１のメモリアクセス量は目標アクセス量よりも大きい。そのため、探索モード１は選択されない。メモリアクセス量が目標アクセス量以下となる、残りの探索モードのうち、点６０２に示される、探索モード２の符号化コストが最小となる。そこでこの例では、探索モード２が選択される。
【００４７】
なお、探索モード決定部１４は、符号化対象ピクチャがBピクチャである場合のように、双方向予測可能な場合には、予測方向ごとに探索モードを選択してもよい。あるいは、探索モード決定部１４は、全ての予測方向に対して同一の探索モードを選択してもよい。この場合には、探索モードごとのメモリアクセス量及び符号化コストは、各予測方向について求められたメモリアクセス量及び符号化コストの合計とすることができる。
【００４８】
探索モード決定部１４は、符号化対象CTUごとに、選択した探索モードと、その探索モードに対応するPUの組み合わせ及び各PUの動きベクトル候補を動きベクトル算出部１５へ出力する。また探索モード決定部１４は、選択した探索モードを目標アクセス量決定部１３へ通知する。
【００４９】
動きベクトル算出部１５は、符号化対象CTUについて、探索モード決定部１４から通知された探索モード及び各PUの動きベクトル候補に基づいて、PUごとに探索範囲を設定し、その探索範囲内で動きベクトルを算出する。
【００５０】
本実施形態では、動きベクトル算出部１５は、着目するPUについて、参照ピクチャ上のそのPUと同じ位置の領域から動きベクトル候補に示される水平方向及び垂直方向の画素数だけ移動した領域を特定する。そして動きベクトル算出部１５は、その特定した領域を、その外周に沿って所定幅（例えば、6画素〜10画素）を持つオフセット領域だけ拡げた領域を探索範囲とする。その際、探索モード４または５のように、オフセット領域の幅が制限される探索モードが設定されている場合、その制限に応じてオフセット領域の幅を狭くする。例えば、探索モード４では、動きベクトル算出部１５は、オフセット領域の幅を１画素分狭くする。同様に、探索モード５では、動きベクトル算出部１５は、オフセット領域の幅を２画素分狭くする。
【００５１】
動きベクトル算出部１５は、符号化対象CTU内の各PUについて、記憶部１８から探索範囲に含まれる画素の値を読み込む。その際、動きベクトル算出部１５は、複数のPUの探索範囲が重複している場合、その重複部分に含まれる画素については１回だけ記憶部１８から読み込むようにしてもよい。
【００５２】
動きベクトル算出部１５は、符号化対象CTU内の各PUについて、探索範囲内でブロックマッチングを実行して、PUと最も一致する探索範囲内の領域の位置を決定する。そして動きベクトル算出部１５は、PUとその領域間の空間的な移動量を表すベクトルを動きベクトルとして算出する。なお、動きベクトル算出部１５は、動きベクトルの精度を1画素未満とするために、探索範囲に対して補間処理を実行して、探索範囲内の各画素に対して1/2画素または1/4画素だけ水平方向または垂直方向に位置がずれた画素を持つ補間探索範囲を設定してもよい。そして動きベクトル算出部１５は、探索範囲及び補間探索範囲のそれぞれに対してブロックマッチングを行って、PUと最も一致する領域の位置を求めることで、動きベクトルを算出してもよい。
【００５３】
動きベクトル算出部１５は、符号化対象CTU内の各PUの動きベクトル及びその動きベクトルが参照する参照ピクチャを示す情報を符号化モード決定部１６へ出力する。
【００５４】
符号化モード決定部１６は、符号化対象CTUにおいて、適用可能なCUサイズ、PUサイズ、TUサイズ、及び符号化モードの組み合わせを求める。そして符号化モード決定部１６は、各組み合わせについて、符号量の推定値である符号化コストを算出する。そして符号化モード決定部１６は、その符号化コストが最小となる組合せを、符号化対象CTUに適用するCUサイズ、PUサイズ、TUサイズ及び符号化モードとする。
【００５５】
本実施形態では、その組み合わせを設定する際、符号化モード決定部１６は、符号化モードをインター予測符号化モードとする場合、選択された探索モードに応じて設定された各PUについての動きベクトルを利用する。すなわち、符号化モード決定部１６は、選択された探索モードに応じて決定された動きベクトルで、参照ピクチャ上の参照領域を動き補償することで予測ブロックを生成する。
【００５６】
符号化モード決定部１６は、例えば、着目する組み合わせの符号化コストを算出するために、次式に従って、その組み合わせに含まれるTUごとに、予測誤差、すなわち画素差分絶対値和SADを算出する。
SAD=Σ|OrgPixel-PredPixel|
ここで、OrgPixelは符号化対象ピクチャの着目するブロック、例えば、TUに含まれる画素の値であり、PredPixelはHEVC規格で求められる、着目するブロックに対応する予測ブロックに含まれる画素の値である。予測ブロックは、着目する組み合わせに含まれる符号化モード（イントラ予測符号化モードまたはインター予測符号化モード）に従って、符号化済みの参照ピクチャまたは符号化済みの他のブロックから生成される。
【００５７】
なお、符号化モード決定部１６は、SADの代わりに、着目するブロックと予測ブロックとの差分画像をアダマール変換した後の各画素の絶対値和SATDなどを算出してもよい。
【００５８】
符号化モード決定部１６は、着目する組み合わせについて、次式に従って符号化コストCostを算出する。
Cost = ΣSAD+λR
ここで、ΣSADは、符号化対象のCTUに含まれる各TUについて算出されたSADの総和である。またRは、動きベクトル、イントラ予測符号化モードにおける予測方向を表す予測モードを示すフラグなど、直交変換係数以外の項目についての符号量の推定値である。そしてλは定数である。
【００５９】
符号化モード決定部１６は、符号化コストが最小となる組み合わせを求めると、その組み合わせに含まれる、符号化対象のCTUに適用するCUサイズ、PUサイズ、TUサイズ及び符号化モードを符号化部１７に出力する。なお、インター予測符号化されるCUについては、符号化モード決定部１６は、そのCUに含まれるPUについて算出された動きベクトルも符号化部１７へ出力する。
【００６０】
符号化部１７は、符号化モード決定部１６により決定されたCUサイズ、PUサイズ及びTUサイズに従って、符号化対象のCTUを分割する。そして符号化部１７は、符号化モード決定部１６により決定されたCUごとの符号化モードに従って、そのCUに含まれる各TUの予測ブロックを作成する。そして符号化部１７は、符号化対象のCTUと予測ブロック間の予測誤差信号を、TUごとに直交変換して得られる直交変換係数を量子化及び可変長符号化することで、符号化対象のCTUを符号化する。
【００６１】
再度図２を参照すると、符号化部１７は、予測ブロック生成部２１と、予測誤差信号算出部２２と、直交変換部２３と、量子化部２４と、復号部２５と、可変長符号化部２６とを有する。
【００６２】
予測ブロック生成部２１は、予測ブロックを生成する。予測ブロック生成部２１は、符号化対象のCTUに含まれる着目するCUがインター予測符号化される場合、そのCUに含まれる各PUについて、そのPUに設定される動きベクトルを用いて参照ピクチャを動き補償することで予測ブロックを生成する。また、予測ブロック生成部２１は、着目するCUがイントラ予測符号化される場合、そのCUに含まれる各PUについて、そのPUに適用される予測モードに従って、そのPUの周囲の符号化済みのブロックに含まれる画素から予測ブロックを生成する。
【００６３】
予測ブロック生成部２１は、予測ブロックを予測誤差信号算出部２２へ出力する。
【００６４】
予測誤差信号算出部２２は、符号化対象のCTU内の各画素について、予測ブロックの対応する画素との差分演算を実行する。そして予測誤差信号算出部２２は、その差分演算により得られた各画素に対応する差分値を、予測誤差信号とする。予測誤差信号算出部２２は、予測誤差信号を直交変換部２３へ出力する。
【００６５】
直交変換部２３は、符号化対象のCTU内のTUごとに、予測誤差信号を直交変換することにより、直交変換係数の組を求める。例えば、直交変換部２３は、直交変換処理として、離散コサイン変換（Discrete Cosine Transform、DCT）を用いることで、直交変換係数として、TUごとのDCT係数の組を得る。
直交変換部２３は、TUごとの直交変換係数の組を量子化部２４へ出力する。
【００６６】
量子化部２４は、TUごとに、直交変換係数を量子化することにより、その直交変換係数の量子化係数を算出する。この量子化処理は、一定区間に含まれる信号値を一つの信号値で表す処理である。そしてその一定区間は、量子化幅と呼ばれる。例えば、量子化部２４は、直交変換係数から、量子化幅に相当する所定数の下位ビットを切り捨てることにより、その直交変換係数を量子化する。量子化幅は、量子化パラメータによって決定される。例えば、量子化部２４は、量子化パラメータの値に対する量子化幅の値を表す関数にしたがって、使用される量子化幅を決定する。またその関数は、量子化パラメータの値に対する単調増加関数とすることができ、予め設定される。
【００６７】
また量子化部２４は、HEVCなどの動画像符号化規格に対応した様々な量子化パラメータ決定方法の何れかに従って量子化パラメータを決定すればよい。量子化部２４は、例えば、MPEG-2の標準テストモデル5に関する量子化パラメータの算出方法を用いることができる。なお、MPEG-2の標準テストモデル5に関する量子化パラメータの算出方法に関しては、例えば、http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.htmlで特定されるURLを参照されたい。
量子化部２４は、量子化処理を実行することにより、直交変換係数を表すために使用されるビットの数を削減できるので、符号化対象のCTUに含まれる情報量を低減できる。量子化部２４は、量子化係数を復号部２５及び可変長符号化部２６へ出力する。
【００６８】
復号部２５は、符号化対象のCTUの量子化係数から、そのCTUよりも後のCTU及び符号化対象のCTUを含むピクチャよりも符号化順で後のピクチャを符号化するために参照される参照ピクチャを生成する。そのために、復号部２５は、量子化係数に、量子化パラメータにより決定された量子化幅に相当する所定数を乗算することにより、量子化係数を逆量子化する。この逆量子化により、各TUの直交変換係数の組、例えば、DCT係数の組が復元される。その後、復号部２５は、TUごとに、直交変換係数の組を逆直交変換処理する。例えば、直交変換部２３がDCTを用いている場合、復号部２５は、各TUに対して逆DCT処理を実行する。逆量子化処理及び逆直交変換処理を量子化信号に対して実行することにより、符号化前の予測誤差信号と同程度の情報を有する予測誤差信号が再生される。
【００６９】
復号部２５は、予測ブロックの各画素値に、その画素に対応する再生された予測誤差信号を加算する。これらの処理を各予測ブロックについて実行することにより、復号部２５は、その後に符号化されるPUに対する予測ブロックを生成するために参照されるブロックを復元する。さらに、復号部２５は、復元したブロックに対してデブロッキングフィルタ処理を実行してもよい。
復号部２５は、ブロックを復元する度に、その復元されたブロックを、記憶部１８に記憶する。
【００７０】
復号部２５は、さらに、復元されたブロックから画素を間引くことで、そのブロックの画素数よりも画素数が少ない間引きブロックを生成し、その間引きブロックも記憶部１８に記憶する。この間引きブロックは、参照ピクチャの縮小ピクチャを生成するために利用される。
【００７１】
記憶部１８は、復元されたブロックを一時的に記憶する。各ブロックの符号化順序にしたがって、１枚のピクチャ分の復元されたブロックを結合することで、後続するピクチャの符号化の際に参照されるピクチャが得られる。同様に、各ブロックの符号化順序にしたがって、１枚のピクチャ分の間引きブロックを結合することで、その参照ピクチャに対応する縮小ピクチャが得られる。記憶部１８は、符号化対象ピクチャが参照する可能性がある、予め定められた所定枚数分の参照ピクチャ及び縮小ピクチャを記憶し、記憶している参照ピクチャの枚数がその所定枚数を超えると、符号化順序が古い参照ピクチャ及び縮小ピクチャから順に破棄する。
【００７２】
さらに、記憶部１８は、インター予測符号化されたPUのそれぞれについての動きベクトルを記憶する。
【００７３】
可変長符号化部２６は、符号化対象のCTUに含まれる量子化係数を可変長符号化する。さらに、可変長符号化部２６は、予測ブロックの作成に利用された動きベクトルなども可変長符号化する。そして可変長符号化部２６は、その可変長符号化によって得られた符号化ビットを、HEVCなどに従って所定の順序に並べたビットストリームを出力する。なお、可変長符号化部２６は、可変長符号化方式として、Context-based Adaptive Variable Length Coding (CAVLC)といったハフマン符号化処理あるいはContext-based Adaptive Binary Arithmetic Coding(CABAC)といった算術符号化処理を用いることができる。
【００７４】
制御部（図示せず）は、出力されたビットストリームを所定の順序で結合し、HEVCなどに従ったヘッダ情報などを付加することで、符号化された動画像データを含むビットストリームを得る。
【００７５】
図７は、動画像符号化装置１による動画像符号化処理の動作フローチャートである。動画像符号化装置１はCTUごとに、下記の動作フローチャートに従って符号化する。
【００７６】
制御部（図示せず）は、符号化対象のCTUが含まれる符号化対象ピクチャがPピクチャまたはBピクチャか否か判定する（ステップＳ１０１）。符号化対象ピクチャがPピクチャまたはBピクチャであれば（ステップＳ１０１−Ｙｅｓ）、符号化コスト算出部１１は、探索モードごとに、符号化対象CTUの符号化コスト、適用するPUの組み合わせ及び各PUの動きベクトル候補を算出する（ステップＳ１０２）。そして符号化コスト算出部１１は、探索モードごとに、符号化対象CTUの符号化コスト、PUの組み合わせ及び各PUの動きベクトル候補をメモリアクセス量算出部１２及び探索モード決定部１４へ出力する。
【００７７】
メモリアクセス量算出部１２は、探索モードごとに、各PUの探索範囲に基づいてメモリアクセス量を算出する（ステップＳ１０３）。そしてメモリアクセス量算出部１２は、各探索モードのメモリアクセス量を探索モード決定部１４へ出力する。
【００７８】
また、目標アクセス量決定部１３は、直近の(n-1)個のCTUのメモリアクセス量に基づいて符号化対象CTUの目標アクセス量を決定する（ステップＳ１０４）。そして目標アクセス量決定部１３は、その目標アクセス量を探索モード決定部１４へ出力する。
【００７９】
探索モード決定部１４は、メモリアクセス量が目標アクセス量以下となる探索モードのうちで、符号化コストが最小となる探索モードを適用する探索モードとして選択する（ステップＳ１０５）。そして探索モード決定部１４は、選択した探索モードと、その探索モードに対応するPUの組み合わせ及び各PUの動きベクトル候補を動きベクトル算出部１５へ出力する。
【００８０】
動きベクトル算出部１５は、符号化対象CTUについて、選択された探索モード及びその探索モードについての符号化対象CTU内の各PUの動きベクトル候補に基づいて、PUごとに探索範囲を設定し、その探索範囲内で動きベクトルを算出する（ステップＳ１０６）。
【００８１】
ステップＳ１０６の後、あるいは、ステップＳ１０１にて符号化対象ピクチャがIピクチャである場合（ステップＳ１０１−Ｎｏ）、符号化モード決定部１６は、符号化対象CTUに適用する符号化モード、CUサイズ、PUサイズ及びTUサイズの組み合わせを決定する。すなわち、符号化モード決定部１６は、符号化モード、CUサイズ、PUサイズ及びTUサイズの組み合わせのうちで符号化コストが最小となる組み合わせを符号化対象CTUに適用する組み合わせとする（ステップＳ１０７）。符号化部１７の予測ブロック生成部２１は、決定した組み合わせに含まれる符号化モードに従って、予測ブロックを算出する（ステップＳ１０８）。予測ブロック生成部２１は、符号化対象CTU内でインター予測符号化されるCUについて、そのCU内の各PUについて、動きベクトル算出部１５により算出された動きベクトルで参照ピクチャ内のそのPUに対応する参照領域を動き補償することで予測ブロックを求める。そして符号化部１７の予測誤差信号算出部２２は、TUごとに、TUとそのTUに対応する予測ブロック間で画素ごとに差分演算することで、予測誤差信号を算出する（ステップＳ１０９）。
【００８２】
その後、符号化部１７の直交変換部２３は、予測誤差信号をTUごとに直交変換して直交変換係数の組を算出する（ステップＳ１１０）。そして符号化部１７の量子化部２４は、各直交変換係数を量子化する（ステップＳ１１１）。
【００８３】
符号化部１７の復号部２５は、量子化係数を逆量子化及び逆直交変換して再生した予測誤差信号と予測ブロックを加算して参照ブロックを生成する（ステップＳ１１２）。そして復号部２５は、その参照ブロックを記憶部１８に記憶する。さらに、復号部２５は、参照ブロックから画素を間引くことで生成される縮小ブロックも記憶部１８に記憶する。一方、符号化部１７の可変長符号化部２６は、各量子化係数を可変長符号化する（ステップＳ１１３）。そして動画像符号化装置１は、動画像符号化処理を終了する。
【００８４】
以上に説明してきたように、この動画像符号化装置は、元のピクチャよりも画素数を減らした縮小ピクチャを利用して、各CTUについて、複数の探索モードの中からメモリアクセス量が目標値以下となるうちで最も符号化コストが低い探索モードを選択する。そのため、この動画像符号化装置は、符号化効率を維持しつつ、動きベクトル算出の際の参照ピクチャが記憶された記憶部へのメモリアクセス量を抑制できる。
【００８５】
変形例によれば、探索モード決定部１４は、符号化コストが所定の基準値以下となる探索モードのうちで、メモリアクセス量が最小となる探索モードを、符号化対象のCTUに適用する探索モードとして選択してもよい。この変形例では、動画像符号化装置は、符号化効率を一定水準に保ちつつ、最もメモリアクセス量を少なくできる探索モードを選択できる。なお、この場合には、目標アクセス量決定部１３は省略されてもよい。
【００８６】
また他の変形例によれば、探索モード決定部１４は、再生されたピクチャ上で、隣接するCTU間で画質が急激に変化することがないように、連続する二つのCTU間での符号化コストの差が許容変化量以下となるように、探索モードを選択してもよい。この場合には、探索モード決定部１４は、メモリアクセス量が目標アクセス量以下となる探索モードのうちで、直前のCTUの符号化コストとの差が許容変化量以下となる探索モードが無いことがある。このような場合には、探索モード決定部１４は、目標アクセス量を超える探索モードの中から探索モードを選択してもよい。なお、許容変化量は、例えば、直近のCTUについての符号化コストとすることができる。すなわち、ある探索モードについて符号化対象CTUの符号化コストが直近のCTUについての符号化コストの２倍以下であれば、その探索モードについては符号化コストの差が許容変化量以下となる。
【００８７】
図８は、探索モードごとのメモリアクセス量と符号化コストの分布の他の一例を示す図である。図８において、横軸はメモリアクセス量を表し、縦軸は、符号化コストを表す。点８０１〜点８０６は、それぞれ、符号化対象CTUについての探索モード１〜探索モード６についてのメモリアクセス量と符号化コストを表す。また線８１０は、目標アクセス量を表す。さらに、線８２０は、直前のCTUについての符号化コストを表し、線８２１は、直前のCTUについての符号化コストから許容変化量を加えた符号化コストを表す。この例では、目標アクセス量以下のメモリアクセス量となる、探索モード３〜探索モード６では、直前のCTUからの符号化コストの変化量が許容変化量よりも大きくなってしまう。そこで、探索モード決定部１４は、メモリアクセス量が目標アクセス量よりも大きいものの、直前のCTUからの符号化コストの変化量が許容変化量以内となる探索モード１及び探索モード２のうち、メモリアクセス量が少ない方の探索モード２を選択する。
【００８８】
図９は、この変形例による動画像符号化処理の動作フローチャートである。動画像符号化装置１は、図７に示された動画像符号化処理におけるステップＳ１０５の代わりに、図９に示される各ステップの処理を実行する。
【００８９】
ステップＳ１０４の後、探索モード決定部１４は、メモリアクセス量が目標アクセス量以下となり、かつ、符号化コストと直前のCTUの符号化コストとの差が許容変化量以下となる探索モードが有るか否か判定する（ステップＳ２０１）。ステップＳ２０１の条件を満たす探索モードが有る場合（ステップＳ２０１−Ｙｅｓ）、探索モード決定部１４は、その条件を満たす探索モードのうちで符号化コストが最小となる探索モードを選択する（ステップＳ２０２）。一方、ステップＳ２０１の条件を満たす探索モードが無い場合（ステップＳ２０１−Ｎｏ）、探索モード決定部１４は、符号化コストと直前のCTUの符号化コストとの差が許容変化量以下となる探索モードを抽出する。そして探索モード決定部１４は、抽出した探索モードのうちでメモリアクセス量が最小となる探索モードを選択する（ステップＳ２０３）。
ステップＳ２０２またはＳ２０３の後、動画像符号化装置１は、ステップＳ１０６以降の処理を実行する。
【００９０】
この変形例によれば、動画像符号化装置は、隣接するCTU間で再生ピクチャの画質が急激に変化することを抑制しつつ、動き探索におけるメモリアクセス量も抑制できる。
【００９１】
また他の変形例によれば、探索モード決定部１４は、符号化対象CTUについて、複数の探索モードの何れについてもメモリアクセス量が目標アクセス量以下とならない場合、その符号化対象CTUについてはイントラ予測符号化モードを適用すると判定してもよい。あるいは、何れの探索モードについても、直近のCTUに対する符号化コストと符号化対象CTUの符号化コストの差が許容変化量以下とならない場合も、探索モード決定部１４は、符号化対象CTUにイントラ予測符号化モードを適用すると判定してもよい。そして探索モード決定部１４は、その旨を符号化モード決定部１６に通知してもよい。この場合には、符号化モード決定部１６は、符号化対象CTUに適用されるCU、PU及びTUの組み合わせごとに、イントラ予測符号化モードを適用する場合の符号化コストだけを算出すればよい。
【００９２】
また、この場合には、動きベクトル算出部１５における動き探索処理は行われないので、動きベクトル算出部１５による符号化対象CTUについてのメモリアクセス量は0になる。そのため、探索モード決定部１４は、後続するCTUについての目標アクセス量を高くすることができる。その結果として、後続するCTUについては、探索モード選択の自由度が高くなる。
【００９３】
さらに他の変形例によれば、動きベクトル算出部１５は、探索モード決定部１４により選択された探索モードに従って、符号化対象CTUについて適用するPUの組み合わせ及び各PUの動きベクトルの算出を最初から実行してもよい。この場合には、動きベクトル算出部１５は、縮小ピクチャを用いて求められたPUの組み合わせ及び動きベクトル候補を利用しないので、演算量は増加するものの、より符号化コストが低くなる動きベクトルを求めることができる可能性がある。
【００９４】
さらに他の変形例によれば、動画像符号化装置は、HEVC以外の動画像符号化方式に準拠していてもよい。この場合には、動画像符号化装置は、一つの符号化対象ブロックに対して一つの動きベクトルを設定してもよい。
【００９５】
図１０は、上記の各実施形態またはその変形例による動画像符号化装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像符号化装置として動作するコンピュータの構成図である。
【００９６】
コンピュータ１００は、ユーザインターフェース部１０１と、通信インターフェース部１０２と、記憶部１０３と、記憶媒体アクセス装置１０４と、プロセッサ１０５とを有する。プロセッサ１０５は、ユーザインターフェース部１０１、通信インターフェース部１０２、記憶部１０３及び記憶媒体アクセス装置１０４と、例えば、バスを介して接続される。
【００９７】
ユーザインターフェース部１０１は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部１０１は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部１０１は、例えば、ユーザの操作に応じて、符号化する動画像データあるいは復号する符号化動画像データを選択する操作信号をプロセッサ１０５へ出力する。またユーザインターフェース部１０１は、プロセッサ１０５から受け取った、復号された動画像データを表示してもよい。
【００９８】
通信インターフェース部１０２は、コンピュータ１００を、動画像データを生成する装置、例えば、ビデオカメラと接続するための通信インターフェース及びその制御回路を有してもよい。そのような通信インターフェースは、例えば、Universal Serial Bus（ユニバーサル・シリアル・バス、USB）とすることができる。
【００９９】
さらに、通信インターフェース部１０２は、イーサネット（登録商標）などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。
【０１００】
この場合には、通信インターフェース部１０２は、通信ネットワークに接続された他の機器から、符号化する動画像データを取得し、そのデータをプロセッサ１０５へ渡す。また通信インターフェース部１０２は、プロセッサ１０５から受け取った、符号化動画像データを通信ネットワークを介して他の機器へ出力してもよい。
【０１０１】
記憶部１０３は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部１０３は、プロセッサ１０５上で実行される、動画像符号化処理を実行するためのコンピュータプログラム、及びこれらの処理の途中または結果として生成されるデータを記憶する。
【０１０２】
記憶媒体アクセス装置１０４は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１０６にアクセスする装置である。記憶媒体アクセス装置１０４は、例えば、記憶媒体１０６に記憶されたプロセッサ１０５上で実行される、動画像符号化処理用のコンピュータプログラムを読み込み、プロセッサ１０５に渡す。
【０１０３】
プロセッサ１０５は、上記の実施形態または変形例による動画像符号化処理用コンピュータプログラムを実行することにより、符号化動画像データを生成する。そしてプロセッサ１０５は、生成された符号化動画像データを記憶部１０３に保存し、または通信インターフェース部１０２を介して他の機器へ出力する。
【０１０４】
なお、動画像符号化装置１の各部の機能をプロセッサ上で実行可能なコンピュータプログラムは、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。ただし、そのような記録媒体には、搬送波は含まれない。
【０１０５】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【０１０６】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
動画像データに含まれるピクチャ上の符号化対象ブロックと、符号化済みの他のピクチャ上の動きベクトルで示された参照ブロック間の誤差を符号化する動画像符号化装置であって、
前記動きベクトルの探索方法を規定する複数の探索モードのそれぞれについて、前記他のピクチャに含まれる画素の数を減じた縮小ピクチャ上の当該探索モードで規定される前記動きベクトルの探索範囲に対応する領域内で前記符号化対象ブロックに含まれる画素の数を減じた縮小ブロックと最も一致する領域を求め、前記縮小ブロックと当該最も一致する領域間の移動量から前記探索範囲を特定する動きベクトル候補及び前記符号化対象ブロックの符号量を表す符号化コストを算出する符号化コスト算出部と、
前記複数の探索モードのそれぞれについて、当該探索モードでの前記探索範囲に基づいて、前記動きベクトルを算出するために前記他のピクチャを記憶している記憶部から読み出すデータ量を表すメモリアクセス量を算出するメモリアクセス量算出部と、
前記複数の探索モードのそれぞれについての前記メモリアクセス量及び前記符号化コストに基づいて、前記複数の探索モードの中から前記符号化対象ブロックに適用する探索モードを選択する探索モード決定部と、
前記選択された探索モードに従って前記他のピクチャ上に前記探索範囲を設定し、前記記憶部から前記他のピクチャ上の当該探索範囲に含まれる画素のデータを読み出して、当該探索範囲内で前記符号化対象ブロックと最も一致する領域を求め、前記符号化対象ブロックと当該領域間の移動量を表すベクトルを前記動きベクトルとして算出する動きベクトル算出部と、
を有する動画像符号化装置。
（付記２）
前記符号化対象ブロックは、サイズの異なる複数のサブブロックに分割可能であり、
前記符号化コスト算出部は、前記複数の探索モードのそれぞれについて、前記サブブロックの組み合わせごとに、当該組み合わせに含まれる各サブブロックの前記動きベクトル候補と該サブブロックの符号量を表す符号化コストを求め、各サブブロックの符号化コストの合計の最小値を前記符号化対象ブロックの符号化コストとし、かつ、当該最小値に対応する前記サブブロックの組み合わせを当該探索モードについてのサブブロックの組み合わせとし、
前記メモリアクセス量算出部は、前記複数の探索モードのそれぞれについて、当該探索モードについての前記サブブロックの組み合わせに含まれる各サブブロックの前記動きベクトル候補が示す前記探索範囲の位置関係に基づいて当該探索モードについての前記メモリアクセス量を求め、
前記動きベクトル算出部は、前記選択された探索モードについての前記サブブロックの組み合わせに含まれるサブブロックごとに前記動きベクトルを算出する、付記１に記載の動画像符号化装置。
（付記３）
前記複数の探索モードは、前記サブブロックごとの前記探索範囲のサイズが第１のサイズとなる第１の探索モードと、前記サブブロックごとの前記探索範囲のサイズが前記第１のサイズよりも小さい第２のサイズとなる第２の探索モードを含む、付記２に記載の動画像符号化装置。
（付記４）
前記複数の探索モードは、適用可能な前記サブブロックのサイズの最小値が、前記第１の探索モードにおける、適用可能な前記サブブロックのサイズの最小値よりも大きい第３の探索モードをさらに含む、付記３に記載の動画像符号化装置。
（付記５）
前記複数の探索モードは、参照可能な前記他のピクチャの数が前記第１の探索モードよりも少ない第４の探索モードをさらに含む、付記３または４に記載の動画像符号化装置。（図３）
（付記６）
前記探索モード決定部は、前記複数の探索モードのうち、前記メモリアクセス量が目標アクセス量以下となる探索モードのうちで前記符号化コストが最小となる探索モードを選択する、付記１〜５の何れか一項に記載の動画像符号化装置。
（付記７）
前記符号化対象ブロックの直近の所定数のブロックのそれぞれの前記メモリアクセス量の合計が少ないほど前記目標アクセス量を大きくする目標アクセス量決定部をさらに有する、付記６に記載の動画像符号化装置。
（付記８）
前記探索モード決定部は、前記複数の探索モードのうちの前記メモリアクセス量が前記目標アクセス量以下となる探索モードの何れについても、当該探索モードの前記符号化コストと前記ブロックの直前のブロックの前記符号化コストとの差が許容範囲から外れる場合、前記差が前記許容範囲に含まれる探索モードのうちの前記メモリアクセス量が最小となる探索モードを選択する、付記６または７に記載の動画像符号化装置。
（付記９）
動画像データに含まれるピクチャ上の符号化対象ブロックと、符号化済みの他のピクチャ上の動きベクトルで示された参照ブロック間の誤差を符号化する動画像符号化方法であって、
前記動きベクトルの探索方法を規定する複数の探索モードのそれぞれについて、前記他のピクチャに含まれる画素の数を減じた縮小ピクチャ上の当該探索モードで規定される前記動きベクトルの探索範囲に対応する領域内で前記符号化対象ブロックに含まれる画素の数を減じた縮小ブロックと最も一致する領域を求め、前記縮小ブロックと当該最も一致する領域間の移動量から前記探索範囲を特定する動きベクトル候補及び前記符号化対象ブロックの符号量を表す符号化コストを算出し、
前記複数の探索モードのそれぞれについて、当該探索モードでの前記探索範囲に基づいて、前記動きベクトルを算出するために前記他のピクチャを記憶している記憶部から読み出すデータ量を表すメモリアクセス量を算出し、
前記複数の探索モードのそれぞれについての前記メモリアクセス量及び前記符号化コストに基づいて、前記複数の探索モードの中から前記符号化対象ブロックに適用する探索モードを選択し、
前記選択された探索モードに従って前記他のピクチャ上に前記探索範囲を設定し、前記記憶部から前記他のピクチャ上の当該探索範囲に含まれる画素のデータを読み出して、当該探索範囲内で前記符号化対象ブロックと最も一致する領域を求め、前記符号化対象ブロックと当該領域間の移動量を表すベクトルを前記動きベクトルとして算出する、
ことを含む動画像符号化方法。
（付記１０）
動画像データに含まれるピクチャ上の符号化対象ブロックと、符号化済みの他のピクチャ上の動きベクトルで示された参照ブロック間の誤差を符号化するための動画像符号化用コンピュータプログラムであって、
前記動きベクトルの探索方法を規定する複数の探索モードのそれぞれについて、前記他のピクチャに含まれる画素の数を減じた縮小ピクチャ上の当該探索モードで規定される前記動きベクトルの探索範囲に対応する領域内で前記符号化対象ブロックに含まれる画素の数を減じた縮小ブロックと最も一致する領域を求め、前記縮小ブロックと当該最も一致する領域間の移動量から前記探索範囲を特定する動きベクトル候補及び前記符号化対象ブロックの符号量を表す符号化コストを算出し、
前記複数の探索モードのそれぞれについて、当該探索モードでの前記探索範囲に基づいて、前記動きベクトルを算出するために前記他のピクチャを記憶している記憶部から読み出すデータ量を表すメモリアクセス量を算出し、
前記複数の探索モードのそれぞれについての前記メモリアクセス量及び前記符号化コストに基づいて、前記複数の探索モードの中から前記符号化対象ブロックに適用する探索モードを選択し、
前記選択された探索モードに従って前記他のピクチャ上に前記探索範囲を設定し、前記記憶部から前記他のピクチャ上の当該探索範囲に含まれる画素のデータを読み出して、当該探索範囲内で前記符号化対象ブロックと最も一致する領域を求め、前記符号化対象ブロックと当該領域間の移動量を表すベクトルを前記動きベクトルとして算出する、
ことをコンピュータに実行させるための動画像符号化用コンピュータプログラム。
【符号の説明】
【０１０７】
１    動画像符号化装置
１１    符号化コスト算出部
１２    メモリアクセス量算出部
１３    目標アクセス量決定部
１４    探索モード決定部
１５    動きベクトル算出部
１６    符号化モード決定部
１７    符号化部
１８    記憶部
２１    予測ブロック生成部
２２    予測誤差信号算出部
２３    直交変換部
２４    量子化部
２５    復号部
２６    可変長符号化部
１００    コンピュータ
１０１    ユーザインターフェース部
１０２    通信インターフェース部
１０３    記憶部
１０４    記憶媒体アクセス装置
１０５    プロセッサ
１０６    記憶媒体
【図１】
2015231124.tif 000003
【図２】
2015231124.tif 000004
【図３】
2015231124.tif 000005
【図４】
2015231124.tif 000006
【図５】
2015231124.tif 000007
【図６】
2015231124.tif 000008
【図７】
2015231124.tif 000009
【図８】
2015231124.tif 000010
【図９】
2015231124.tif 000011
【図１０】
2015231124.tif 000012