JP5680778B2 - 動画像符号化方法及び動画像復号化方法 - Google Patents
動画像符号化方法及び動画像復号化方法 Download PDFInfo
- Publication number
- JP5680778B2 JP5680778B2 JP2014074669A JP2014074669A JP5680778B2 JP 5680778 B2 JP5680778 B2 JP 5680778B2 JP 2014074669 A JP2014074669 A JP 2014074669A JP 2014074669 A JP2014074669 A JP 2014074669A JP 5680778 B2 JP5680778 B2 JP 5680778B2
- Authority
- JP
- Japan
- Prior art keywords
- motion information
- information
- unit
- prediction
- block
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明の実施形態は、動画像の符号化及び復号化における動き情報圧縮方法、動画像符号化方法及び動画像復号化方法に関する。
近年、大幅に符号化効率を向上させた画像符号化方法が、ITU-TとISO/IECとの共同で、ITU-T Rec. H.264及びISO/IEC 14496-10(以下、H.264という)として勧告されている。H.264では、予測処理、変換処理及びエントロピー符号化処理は、矩形ブロック単位(例えば、16×16画素ブロック単位、8×8画素ブロック単位等)で行われる。予測処理においては、符号化対象の矩形ブロック(符号化対象ブロック)に対して、既に符号化済みのフレーム(参照フレーム)を参照して、時間方向の予測を行う動き補償が行われる。このような動き補償では、符号化対象ブロックと参照フレーム内において参照されるブロックとの空間的シフト情報としての動きベクトルを含む動き情報を符号化して復号化側に送る必要がある。さらに、複数の参照フレームを用いて動き補償を行う場合、動き情報とともに参照フレーム番号も符号化する必要がある。このため、動き情報及び参照フレーム番号に関する符号量が増大する場合がある。また、参照フレームの動き情報メモリに格納されている動き情報を参照して、符号化対象ブロックの予測動き情報を導出する動き情報予測方法があり(特許文献1及び非特許文献2)、動き情報を格納する動き情報メモリの容量が増加する場合がある。
動き情報メモリの容量を削減する方法の一例として、(非特許文献2)では、予め定められたブロック内で代表する動き情報を導出し、代表する動き情報のみを動き情報メモリに格納する。
しかしながら、非特許文献1で示される予測動き情報の導出方法と非特許文献2で示される代表動き情報の導出方法が異なる場合に、予測動き情報の時間相関が低減するために、動き情報に関する符号量が増加される問題がある。
本発明が解決しようとする課題は、上記問題点を解決するためになされたものであり、符号化効率を向上可能な動き情報圧縮装置を含んだ動画像符号化装置及び動画像復号化装置を提供することである。
実施形態によれば、動画像符号化方法は、入力画像信号を画素ブロックに分割し、これら分割した画素ブロックに対してインター予測を行う方法である。この方法は、符号化済み領域における動き情報を保持する動き情報バッファの中から、予測動き情報を選択し、前記予測動き情報を用いて、符号化対象ブロックの動き情報を予測することを含み。さらに、この方法は符号化が終了した領域内の複数の動き情報の中から、前記予測動き情報の選択方法を示す第1情報に従って代表動き情報を取得し、前記代表動き情報のみを得ることを含む。
以下、図面を参照して、各実施形態に係る動画像符号化装置及び動画像復号化装置について詳細に説明する。なお、以降の説明において、「画像」という用語は、「映像」「画素」「画像信号」、「画像データ」などの用語として適宜読み替えることができる。また、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
(第1の実施形態)
第1の実施形態は画像符号化装置に関する。本実施形態に係る画像符号化装置に対応する動画像復号化装置は、第2の実施形態において説明する。この画像符号化装置は、LSI(Large-Scale Integration)チップやDSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)などのハードウェアにより実現可能である。また、この画像符号化装置は、コンピュータに画像符号化プログラムを実行させることによっても実現可能である。
(第1の実施形態)
第1の実施形態は画像符号化装置に関する。本実施形態に係る画像符号化装置に対応する動画像復号化装置は、第2の実施形態において説明する。この画像符号化装置は、LSI(Large-Scale Integration)チップやDSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)などのハードウェアにより実現可能である。また、この画像符号化装置は、コンピュータに画像符号化プログラムを実行させることによっても実現可能である。
図1に示すように、本実施形態に係る画像符号化装置100は、減算部101、直交変換部102、量子化部103、逆量子化部104、逆直交変換部105、加算部106、参照画像メモリ107、インター予測部108、動き情報圧縮部109、動き情報メモリ110、及びエントロピー符号化部112を含む。符号化制御部114、及び出力バッファ113は通常、画像符号化装置100の外部に設置される。
図1の画像符号化装置100は、入力画像信号151を構成する各フレームまたは各フィールドまたは各スライスを複数の画素ブロックに分割し、これら分割した画素ブロックに対して予測符号化を行って、符号化データ163を出力する。以降の説明では、簡単化のために、図2Aに示されるように左上から右下に向かって画素ブロックの予測符号化が行われることを仮定する。図2Aでは、符号化処理対象のフレームfにおいて、符号化対象画素ブロックcよりも左側及び上側に符号化済み画素ブロックpが位置している。
ここで、画素ブロックは、例えば、M×Nサイズのブロック(N及びMは自然数)、コーディングユニット、マクロブロック、サブブロック、1画素などの画像を処理する単位を指す。なお、以降の説明では、画素ブロックをコーディングユニットの意味で基本的に使用するが、説明を適宜読み替えることにより画素ブロックを上述した意味で解釈することも可能である。コーディングユニットは、典型的には、例えば図2Bに示す16×16画素ブロックであるが、図2Cに示す32×32画素ブロック、図2Dに示す64×64画素ブロックであってもよいし、図示しない8×8画素ブロック、4×4画素ブロックであってもよい。また、コーディングユニットは必ずしも正方形である必要はない。以下、入力画像信号151の符号化対象ブロックもしくはコーディングニットを「予測対象ブロック」と称することもある。また、符号化単位には、コーディングユニットのような画素ブロックに限らず、フレームまたはフィールド、スライス、或いはこれらの組み合わせを用いることができる。
図3Aから図3Dまでは、コーディングユニットの具体例を示した図である。図3Aは、コーディングユニットのサイズが64×64(N=32)の場合の例を示している。ここでNは、基準となるコーディングユニットのサイズを表しており、分割された場合のサイズをNと定義し、分割されない場合を2Nと定義する。コーディングツリーユニットは四分木構造を持ち、分割された場合は、4つの画素ブロックに対してZスキャン順でインデックスが付される。図3Bに、図3Aの64x64画素ブロックを四分木分割した例を示す。図中に示される番号がZスキャンの順番を表している。また、コーディングユニットの1つの四分木のインデックス内でさらに四分木分割することが可能である。分割の深さをDepthで定義する。つまり、図3AはDepth=0の例を示している。図3CにDepth=1の場合の32×32(N=16)サイズのコーディングツリーユニットの例を示す。このようなコーディングツリーユニットの最も大きいユニットをラージコーディングツリーユニット若しくはツリーブロックと呼び、図2Aに示すように、この単位で入力画像信号がラスタースキャン順に符号化される。
図1の画像符号化装置100は、符号化制御部114から入力される符号化パラメータに基づいて、画素ブロックに対するインター予測(画面間予測、フレーム間予測、動き補償予測などとも称される)または図示されないイントラ予測(画面内予測、フレーム内予測などとも称される)を行って、予測画像信号159を生成する。この画像符号化装置100は、画素ブロック(入力画像信号151)と予測画像信号159との間の予測誤差信号152を直交変換及び量子化し、エントロピー符号化を行って符号化データ163を生成して出力する。
図1の画像符号化装置100は、ブロックサイズ及び予測画像信号159の生成方法の異なる複数の予測モードを選択的に適用して符号化を行う。予測画像信号159の生成方法は、大別すると、符号化対象フレーム内で予測を行うイントラ予測と、時間的に異なる1つまたは複数の参照フレームを用いて予測を行うインター予測との2種類である。
以下、図1の画像符号化装置100に含まれる各要素を説明する。
減算部101は、入力画像信号151の符号化対象ブロックから、対応する予測画像信号159を減算して予測誤差信号152を得る。減算部101は、予測誤差信号152を直交変換部102に入力する。
減算部101は、入力画像信号151の符号化対象ブロックから、対応する予測画像信号159を減算して予測誤差信号152を得る。減算部101は、予測誤差信号152を直交変換部102に入力する。
直交変換部102は、減算部101からの予測誤差信号152に対して、例えば離散コサイン変換(DCT)のような直交変換を行い、変換係数153を得る。直交変換部102は、変換係数153を量子化部103に出力する。
量子化部103は、直交変換部102からの変換係数153に対して量子化を行い、量子化変換係数154を得る。具体的には、量子化部103は、符号化制御部114によって指定される量子化パラメータ、量子化マトリクスなどの量子化情報に従って量子化を行う。量子化パラメータは、量子化の細かさを示す。量子化マトリクスは、量子化の細かさを変換係数の成分毎に重み付けするために使用されるが、量子化マトリクスの使用・不使用は本発明の実施形態の本質部分ではない。量子化部103は、量子化変換係数154をエントロピー符号化部112及び逆量子化部104に出力する。
エントロピー符号化部112は、量子化部103からの量子化変換係数154、インター予測部108からの動き情報160、符号化制御部114によって指定される予測情報165、符号化制御部114からの参照位置情報164、量子化情報などの様々な符号化パラメータに対してエントロピー符号化(例えば、ハフマン符号化、算術符号化など)を行い、符号化データ163を生成する。なお、符号化パラメータとは、予測情報165、変換係数に関する情報、量子化に関する情報、などの復号に必要となるパラメータである。例えば、符号化制御部114が内部メモリ(図示しない)を持ち、このメモリに符号化パラメータが保持され、予測対象ブロックを符号化する際に隣接する既に符号化済みの画素ブロックの符号化パラメータを用いる。
具体的には、エントロピー符号化部112は、図4に示すように、パラメータ符号化部401、変換係数符号化部402、動き情報符号化部403、並びに多重化部404を備える。パラメータ符号化部401は、符号化制御部114から受け取った予測情報165などの符号化パラメータを符号化して符号化データ451Aを生成する。変換係数符号化部402は、量子化部103から受け取った量子化後の変換係数154を符号化して符号化データ451Bを生成する。
動き情報符号化部403は、動き情報メモリ110から受け取った参照動き情報166、符号化制御部114から受け取った参照位置情報164を参照して、インター予測部108から受け取った動き情報160を符号化して符号化データ451Cを生成する。動き情報符号化部403に関してはその詳細を後述する。
多重化部404は、符号化データ451A、451B、451Cを多重化して符号化データ163を生成する。生成された符号化データ163は、動き情報160、予測情報165とともに、変換係数に関する情報、量子化に関する情報などの復号の際に必要になるあらゆるパラメータを含む。
エントロピー符号化部112によって生成された符号化データ163は、例えば多重化を経て出力バッファ113に一時的に蓄積され、符号化制御部114が管理する適切な出力タイミングに従って符号化データ163として出力される。符号化データ163は、例えば、図示しない蓄積系(蓄積メディア)または伝送系(通信回線)へ出力される。
逆量子化部104は、量子化部103からの量子化変換係数154に対して逆量子化を行い、復元変換係数155を得る。具体的には、逆量子化部104は、量子化部103において使用された量子化情報に従って逆量子化を行う。量子化部103において使用された量子化情報は、符号化制御部114の内部メモリからロードされる。逆量子化部104は、復元変換係数155を逆直交変換部105に出力する。
逆直交変換部105は、逆量子化部104からの復元変換係数155に対して、例えば逆離散コサイン変換などのような直交変換部102において行われた直交変換に対応する逆直交変換を行い、復元予測誤差信号156を得る。逆直交変換部105は、復元予測誤差信号156を加算部106に出力する。
加算部106は、復元予測誤差信号156と、対応する予測画像信号159とを加算し、局所的な復号画像信号157を生成する。復号画像信号157は図示しないデブロッキングフィルタやウィナーフィルタなどを施し、参照画像メモリ107へと入力される。
参照画像メモリ107は、メモリに局部復号後の被フィルタ画像信号158を蓄積しておりインター予測部108によって必要に応じて予測画像を生成する際に、参照画像信号158として参照される。
インター予測部108は、参照画像メモリ107に保存されている参照画像信号158を利用してインター予測を行う。具体的には、インター予測部108は、予測対象ブロックと参照画像信号158との間でブロックマッチング処理を行って動きのズレ量(動きベクトル)を導出する。インター予測部108は、この動きベクトルに基づいて動き補償(小数精度の動きの場合は補間処理)を行ってインター予測画像を生成する。H.264では、1/4画素精度までの補間処理が可能である。導出された動きベクトルは動き情報160の一部としてエントロピー符号化される。
動き情報メモリ110は、動き情報圧縮部109を有し、動き情報160に対して適宜圧縮処理を行い情報量を削減し、参照動き情報166として一時的に格納する。図5に示されるように、動き情報メモリ110がフレーム(またはスライス)単位で保持されており、同一フレーム上の動き情報160を参照動き情報166として格納する空間方向参照動き情報メモリ501及び、既に符号化が終了したフレームの動き情報160を参照動き情報166として格納する時間方向参照動き情報メモリ502を更に有する。時間方向参照動き情報メモリ502は符号化対象フレームが予測に用いる参照フレームの数に応じて、複数有しても構わない。
また、空間方向参照動き情報メモリ501及び時間方向参照動き情報メモリ502は、物理的に同一のメモリを論理的に区切っても構わない。更に、空間方向参照動き情報メモリ501は、現在符号化を行っているフレームで必要な空間方向動き情報のみを保持し、参照が不要となった空間方向動き情報を順次圧縮して時間方向参照動き情報メモリ502に格納しても構わない。
参照動き情報166は、所定の領域単位(例えば、4×4画素ブロック単位)で空間方向参照動き情報メモリ501及び時間方向参照動き情報メモリ502内に保持される。参照動き情報166は、その領域が後述するインター予測で符号化されたのか或いは後述するイントラ予測で符号化されたのかを示す情報をさらに有する。また、コーディングユニット(又はプレディクションユニット)がH.264で規定されるスキップモード、ダイレクトモード若しくは後述するマージモードのように、動き情報160内の動きベクトルの値が符号化されず、符号化済みの領域から予測された動き情報160を用いてインター予測される場合においても、当該コーディングユニット(又はプレディクションユニット)の動き情報が参照動き情報166として保持される。
符号化対象のフレーム又はスライスの符号化処理が終了したら、当該フレームの空間方向参照動き情報メモリ501は、次に符号化処理を行うフレームに用いる時間方向参照動き情報メモリ502としてその扱いが変更される。この際、時間方向参照動き情報メモリ502のメモリ容量を削減するために、後述する動き情報圧縮部109によって圧縮された動き情報160を時間方向参照動き情報メモリ502に格納する。
予測情報165は符号化制御部114が制御する予測モードに従っており、前述のように、予測画像信号159の生成のためにインター予測または図示されないイントラ予測またはインター予測が選択可能であるが、イントラ予測及びインター予測の夫々に複数のモードがさらに選択可能である。符号化制御部114はイントラ予測及びインター予測の複数の予測モードのうちの1つを最適な予測モードとして判定し、予測情報165を設定する。
例えば、符号化制御部114は、次の数式(1)に示すコスト関数を用いて最適な予測モードを判定する。
数式(1)(以下、簡易符号化コストと呼ぶ)において、OHは予測情報160(例えば、動きベクトル情報、予測ブロックサイズ情報)に関する符号量を示し、SADは予測対象ブロックと予測画像信号159との間の差分絶対値和(即ち、予測誤差信号152の絶対値の累積和)を示す。また、λは量子化情報(量子化パラメータ)の値に基づいて決定されるラグランジュ未定乗数を示し、Kは符号化コストを示す。数式(1)を用いる場合には、符号化コストKを最小化する予測モードが発生符号量及び予測誤差の観点から最適な予測モードとして判定される。数式(1)の変形として、OHのみまたはSADのみから符号化コストを見積もってもよいし、SADにアダマール変換を施した値またはその近似値を利用して符号化コストを見積もってもよい。
また、図示しない仮符号化ユニットを用いることにより最適な予測モードを判定することも可能である。例えば、符号化制御部114は、次の数式(2)に示すコスト関数を用いて最適な予測モードを判定する。
数式(2)において、Dは予測対象ブロックと局所復号画像との間の二乗誤差和(即ち、符号化歪)を示し、Rは予測対象ブロックと予測モードの予測画像信号159との間の予測誤差について仮符号化によって見積もられた符号量を示し、Jは符号化コストを示す。数式(2)の符号化コストJ(以後、詳細符号化コストと呼ぶ)を導出する場合には予測モード毎に仮符号化処理及び局部復号化処理が必要なので、回路規模または演算量が増大する。反面、より正確な符号化歪と符号量とに基づいて符号化コストJが導出されるので、最適な予測モードを高精度に判定して高い符号化効率を維持しやすい。なお、数式(2)の変形として、RのみまたはDのみから符号化コストを見積もってもよいし、RまたはDの近似値を利用して符号化コストを見積もってもよい。また、これらのコストを階層的に用いてもよい。符号化制御部114は、予測対象ブロックに関して事前に得られる情報(周囲の画素ブロックの予測モード、画像解析の結果など)に基づいて、数式(1)または数式(2)を用いた判定を行う予測モードの候補の数を、予め絞り込んでおいてもよい。
本実施形態の変形例として、数式(1)と数式(2)を組み合わせた二段階のモード判定を行うことで、符号化性能を維持しつつ、予測モードの候補数をさらに削減することが可能となる。ここで、数式(1)で示される簡易符号化コストは、数式(2)と異なり局部復号化処理が必要ないため、高速に演算が可能である。本実施形態の動画像符号化装置では、H.264と比較しても予測モード数が多いため、詳細符号化コストを用いたモード判定は現実的ではない。そこで、第一ステップとして、簡易符号化コストを用いたモード判定を、当該画素ブロックで利用可能な予測モードに対して行い、予測モード候補を導出する。
ここで、量子化の粗さを定めた量子化パラメータの値が大きくなるほど、簡易符号化コストと詳細符号化コストの相関が高くなる性質を利用して、予測モード候補数を変更する。
次に、画像符号化装置100の予測処理について説明する。
図1の画像符号化装置100には、図示していないが、複数の予測モードが用意されており、各予測モードでは、予測画像信号159の生成方法及び動き補償ブロックサイズが互いに異なる。予測部108が予測画像信号159を生成する方法としては、具体的には大きく分けて、符号化対象フレーム(又は、フィールド)の参照画像信号158を用いて予測画像を生成するイントラ予測(フレーム内予測)と、1以上の符号化済みの参照フレーム(又は、参照フィールド)の参照画像信号158を用いて予測画像を生成するインター予測(フレーム間予測)とがある。予測部108は、イントラ予測及びインター予測を選択的に切り替えて、符号化対象ブロックの予測画像信号159を生成する。
図1の画像符号化装置100には、図示していないが、複数の予測モードが用意されており、各予測モードでは、予測画像信号159の生成方法及び動き補償ブロックサイズが互いに異なる。予測部108が予測画像信号159を生成する方法としては、具体的には大きく分けて、符号化対象フレーム(又は、フィールド)の参照画像信号158を用いて予測画像を生成するイントラ予測(フレーム内予測)と、1以上の符号化済みの参照フレーム(又は、参照フィールド)の参照画像信号158を用いて予測画像を生成するインター予測(フレーム間予測)とがある。予測部108は、イントラ予測及びインター予測を選択的に切り替えて、符号化対象ブロックの予測画像信号159を生成する。
図6Aは、インター予測の一例を示している。インター予測は、典型的にはプレディクションユニットの単位で実行され、プレディクションユニット単位で異なる動き情報160を有することが可能となる。インター予測では、図6Aに示されるように、既に符号化が完了している参照フレーム(例えば、1フレーム前の符号化済みフレーム)内の画素ブロックであって、符号化対象のプレディクションユニットと同じ位置のブロック601から、動き情報160に含まれる動きベクトルに応じて空間的にシフトした位置のブロック602の参照画像信号158を使用して、予測画像信号159が生成される。即ち、予測画像信号159の生成では、符号化対象ブロックの位置(座標)及び動き情報160に含まれる動きベクトルで特定される、参照フレーム内のブロック602の参照画像信号158が使用される。
インター予測では、少数画素精度(例えば、1/2画素精度又は1/4画素精度)の動き補償が可能であり、参照画像信号158に対してフィルタリング処理を行うことによって、補間画素の値が生成される。例えば、H.264では、輝度信号に対して1/4画素精度までの補間処理が可能である。当該補間処理は、H.264で規定されるフィルタリングの他に、任意のフィルタリングを用いることにより実行可能である。
なお、インター予測では、図6Aに示されるような1フレーム前の参照フレームを使用する例に限らず、図6Bに示されるように、いずれの符号化済みの参照フレームが使用されてもよい。時間位置が異なる複数の参照フレームの参照画像信号158が保持されている場合、どの時間位置の参照画像信号158から予測画像信号159を生成したかを示す情報は、参照フレーム番号で表わされる。参照フレーム番号は、動き情報160に含まれる。参照フレーム番号は、領域単位(ピクチャ、スライス、ブロック単位など)で変更することができる。即ち、プレディクションユニット毎に異なる参照フレームが使用されることができる。一例として、符号化済みの1フレーム前の参照フレームを予測に使用した場合、この領域の参照フレーム番号は、0に設定され、符号化済みの2フレーム前の参照フレームを予測に使用した場合、この領域の参照フレーム番号は、1に設定される。他の例として、1フレーム分だけの参照画像信号158が参照画像メモリ107に保持されている(保持されている参照フレームの数が1つのみである)場合、参照フレーム番号は、常に0に設定される。
さらに、インター予測では、予め用意される複数のプレディクションユニットのサイズの中から符号化対象ブロックに適したサイズを選択して用いることができる。例えば、図7Aから図7Gに示されるようなコーディングツリーユニットを分割して得られるプレディクションユニット毎に動き補償を行うことが可能である。また、図7F、図7Gに示されるような矩形以外に分割して得られるプレディクションユニット毎に動き補償を行うことが可能である。
前述したように、インター予測に使用する符号化対象フレーム内の符号化済みの画素ブロック(例えば、4×4画素ブロック)の動き情報160は参照動き情報166として保持されているので、入力画像信号151の局所的な性質に従って、最適な動き補償ブロックの形状及び動きベクトル、参照フレーム番号を利用することができる。また、コーディングユニット及びプレディクションユニットは任意に組み合わせることができる。コーディングツリーユニットが64×64画素ブロックである場合、64×64画素ブロックを分割した4つのコーディングツリーユニット(32×32画素ブロック)の各々に対して、さらにコーディングツリーユニットを4つに分割することで階層的に64×64画素ブロックから16×16画素ブロックを利用することができる。同様にして、階層的に64×64画素ブロックから8×8画素ブロックを利用することができる。ここで、プレディクションユニットがコーディングツリーユニットを4つに分割したものであるとすれば、64×64画素ブロックから4×4画素ブロックまでの階層的な動き補償処理を実行することが可能となる。
また、インター予測では、符号化対象画素ブロックに対して2種類の動き補償を用いた双方向予測を実行することができる。H.264では、符号化対象画素ブロックに対し2種類の動き補償を行い、2種類の予測画像信号を加重平均することで、新しい予測画像信号を得る(図示せず)。双方向予測において2種類の動き補償をそれぞれリスト0予測、リスト1予測と称する。
<スキップモード、マージモード、インターモードの説明>
本実施形態に係る画像符号化装置100は、図8に示す符号化処理の異なる複数の予測モードを使用する。図中のスキップモードは後述する予測動き情報位置954に関するシンタクスのみを符号化し、その他のシンタクスは符号化しないモードである。マージモードは予測動き情報位置954に関するシンタクス、変換係数情報153のみを符号化し、その他のシンタクスは符号化しないモードである。インターモードは、予測動き情報位置954に関するシンタクス、後述する差分動き情報953、変換係数情報153を符号化するモードである。これらのモードは符号化制御部114が制御する予測情報165によって切り替えられる。
本実施形態に係る画像符号化装置100は、図8に示す符号化処理の異なる複数の予測モードを使用する。図中のスキップモードは後述する予測動き情報位置954に関するシンタクスのみを符号化し、その他のシンタクスは符号化しないモードである。マージモードは予測動き情報位置954に関するシンタクス、変換係数情報153のみを符号化し、その他のシンタクスは符号化しないモードである。インターモードは、予測動き情報位置954に関するシンタクス、後述する差分動き情報953、変換係数情報153を符号化するモードである。これらのモードは符号化制御部114が制御する予測情報165によって切り替えられる。
<動き情報符号化部403>
以下、動き情報符号化部403について図9を用いて説明する。
以下、動き情報符号化部403について図9を用いて説明する。
動き情報符号化部403は、参照動きベクトル取得部901、予測動きベクトル選択スイッチ(予測動き情報選択スイッチ、とも称す)902、減算部903、差分動き情報符号化部904、予測動き情報位置符号化部905及び多重化部906を有する。
参照動きベクトル取得部901は、参照動き情報166及び参照位置情報164を入力として、少なくとも一つ以上の予測動き情報候補(予測動きベクトル候補、とも称す)951(951A、951B、…)を生成する。図10、図11は、対象プレディクションユニットに対する、予測動き情報候補951の位置の一例を示している。図10は対象プレディクションユニットに空間的に隣接するプレディクションユニットの位置を示している。AX(X=0〜nA−1)は、対象プレディクションユニットに対して左に隣接するプレディクションユニット、BY(Y=0〜nB−1)は対象プレディクションユニットに対して上に隣接するプレディクションユニット、C、D、Eは対象プレディクションユニットに対してそれぞれ右上、左上、左下に隣接するプレディクションユニットを示している。また、図11は符号化対象プレディクションユニットに対して、既に符号化済みの参照フレームにおけるプレディクションユニットの位置を示している。図11中のColは、参照フレーム内であって符号化対象プレディクションユニットと同一位置にあるプレディクションユニットを示している。図12は、複数の予測動き情報候補951のブロック位置とインデクスMvpidxの関係を示すリストの一例を示す。Mvpidxが0〜2は空間方向に位置する予測動きベクトル候補951、Mvpidxが3は時間方向に位置する予測動きベクトル候補951をそれぞれ示している。プレディクションユニット位置Aは図10に示されるAXの内、インター予測である、つまり参照動き情報166を有するプレディクションユニットであって、Xの値が最も小さい位置をプレディクションユニット位置Aとする。また、プレディクションユニット位置Bは図10に示されるBYの内、インター予測である、つまり参照動き情報166を有するプレディクションユニットであって、Yの値が最も小さい位置をプレディクションユニット位置Aとする。プレディクションユニット位置Cがインター予測ではない場合、プレディクションユニット位置Dの参照動き情報166をプレディクションユニット位置Cの参照動き情報166として置き換える。プレディクションユニット位置C及びDがインター予測ではない場合、プレディクションユニット位置Eの参照動き情報166をプレディクションユニット位置Cの参照動き情報166として置き換える。
符号化対象プレディクションユニットのサイズが最小プレディクションユニットより大きい場合には、プレディクションユニット位置Colは、複数の参照動き情報166を時間方向参照動き情報メモリ502に保持している可能性がある。この場合、参照位置情報164に従って位置Colのプレディクションユニット中の参照動き情報166を取得する。以降、位置Colのプレディクションユニット中の参照動き情報166の取得位置を参照動き情報取得位置と称する。図13A〜Fは、参照位置情報164が位置Colのプレディクションユニットの中心を示す場合の参照動き情報取得位置の一例を符号化対象プレディクションユニットのサイズ(32x32〜16x16)毎に示す。図中のブロックはそれぞれ4x4プレディクションユニットを示し、丸印は予測動き情報候補951として取得する4x4プレディクションユニットの位置を示している。参照動き情報取得位置の別の一例を図14A〜Fに示す。図14A〜Fにおいて、丸印の位置は4x4プレディクションユニットが存在しないため、丸印に隣接する4つの4x4プレディクションユニットにおける参照動き情報166の平均値やメディアン値といった予め定められた方式で、予測動き情報候補951を生成する。参照動き情報取得位置の更に別の一例として、位置Colのプレディクションユニットの左上端に位置する4x4プレディクションユニットの参照動き情報166を予測動き情報候補951としても構わない。上記の例以外に置いても、予め定められた方式であれば、いずれの位置及び方式を用いて予測動き情報候補951を生成しても構わない。
なお、参照動き情報166が存在しない場合、ゼロベクトルを有する動き情報160を、予測動き情報候補951として出力する。
以上により、少なくとも一つ以上の予測動き情報候補951が参照動きブロックから出力される。上記の予測動き情報候補951が有する参照フレーム番号と符号化対象プレディクションユニットの参照フレーム番号が異なる場合は、予測動き情報候補951を予測動き情報候補951が有する参照フレーム番号と符号化対象プレディクションユニットの参照フレーム番号に従ってスケーリングしても構わない。
予測動き情報選択スイッチ902は、符号化制御部114からの指令に応じて複数の予測動き情報候補951から一つを選択し、予測動き情報952を出力する。また予測動き情報選択スイッチ902が、後述する予測動き情報位置情報954を出力してもよい。上記、選択には数式(1)や(2)といった評価関数を用いて選択しても構わない。減算部903は、動き情報160から予測動きベクトル情報952を減算し、差分動き情報953を差分動き情報符号化部904に出力する。差分動き情報符号化部904は、差分動き情報953を符号化処理し符号化データ960Aを出力する。なお、スキップモード及びマージモードでは差分動き情報符号化部904において、差分動き情報953の符号化は不要となる。
予測動き情報位置符号化部905は、図12で示されるリストのうち、どの予測動き情報候補951を選択したかを示す予測動き情報位置情報954(Mvpidx)を符号化し、符号化データ960Bを出力する。予測動き情報位置情報954は予測動き情報候補951の総数から生成される等長符号化や可変長符号化を用いて符号化される。隣接ブロックとの相関を利用して可変長符号化しても構わない。更に、複数の予測動き情報候補951で重複する情報を有する場合、重複する予測動き情報候補951を削除した予測動き情報候補951の総数から符号表を作成し、予測動き情報位置情報954を符号化しても構わない。また、予測動き情報候補951の総数が1種類である場合、当該予測動き情報候補951が予測動き情報952と決定されるため、予測動き情報位置情報954を符号化する必要はない。
また、スキップモード、マージモード、インターモードそれぞれにおいて、予測動き情報候補951の導出方法は同一である必要はなく、それぞれ独立に予測動き情報候補951の導出方法を設定しても構わない。本実施形態では、スキップモードとインターモードの予測動き情報候補951の導出方法は同一で、マージモードの予測動き情報候補951の導出方法は異なるものとして説明する。
<動き情報圧縮部109の詳細>
まず、動き情報圧縮処理について図15を用いて説明する。図15は、空間方向参照動き情報メモリ501の参照動き情報166を圧縮し、時間方向参照動き情報メモリ502へ格納する。空間方向参照動き情報メモリ501では動き情報圧縮ブロック(同図では16x16画素ブロック)毎に代表動き情報位置に保持される参照動き情報166を時間方向参照動き情報メモリ502に格納する。上述の動き情報符号化処理を行う場合には、前述の参照動き情報取得位置に保持される参照動き情報166を予測動き情報候補951として設定する。このとき、仮想的に動き情報圧縮ブロック内は同一の参照動き情報166を持つこととして、前述の参照動き情報取得位置に保持される参照動き情報166を予測動き情報候補951として設定しても構わない(同一の予測動き情報候補951が導出される。)
次に、動き情報圧縮部109について図16に示すフローチャートを用いて説明する。動き情報圧縮部109は、フレーム(もしくはスライス、コーディングユニットなど任意の単位)の符号化処理が終了した際に、動き情報160を圧縮して時間方向参照動き情報メモリ502に動き情報160を格納する。
まず、動き情報圧縮処理について図15を用いて説明する。図15は、空間方向参照動き情報メモリ501の参照動き情報166を圧縮し、時間方向参照動き情報メモリ502へ格納する。空間方向参照動き情報メモリ501では動き情報圧縮ブロック(同図では16x16画素ブロック)毎に代表動き情報位置に保持される参照動き情報166を時間方向参照動き情報メモリ502に格納する。上述の動き情報符号化処理を行う場合には、前述の参照動き情報取得位置に保持される参照動き情報166を予測動き情報候補951として設定する。このとき、仮想的に動き情報圧縮ブロック内は同一の参照動き情報166を持つこととして、前述の参照動き情報取得位置に保持される参照動き情報166を予測動き情報候補951として設定しても構わない(同一の予測動き情報候補951が導出される。)
次に、動き情報圧縮部109について図16に示すフローチャートを用いて説明する。動き情報圧縮部109は、フレーム(もしくはスライス、コーディングユニットなど任意の単位)の符号化処理が終了した際に、動き情報160を圧縮して時間方向参照動き情報メモリ502に動き情報160を格納する。
まず、符号化制御部114から参照位置情報164を取得し(ステップS1601)、フレームを動き情報160の圧縮単位である動き情報圧縮ブロックに分割する(ステップS1602)。動き情報圧縮ブロックは、動き補償処理により動き情報160が保持される単位(典型的には4x4画素ブロック)より大きい画素ブロックであり、典型的には16x16画素ブロックである。動き情報圧縮ブロックは64x64画素ブロックや32x32画素ブロック、8x8画素ブロック、長方形画素ブロック、任意の形状の画素領域であっても構わない。
次に、参照位置情報164に従って代表動き情報位置を生成する(ステップS1603)。代表動き情報位置を生成する一例として、動き情報圧縮ブロックが16x16画素ブロックの場合、図13D、図14D、図17Dにそれぞれ示されるプレディクションユニットのサイズが16x16の場合の参照動き情報取得位置を代表動き情報位置とする。次に、生成した代表動き情報位置の参照動き情報166を代表動き情報に設定し(ステップS1604)、当該代表動き情報を時間方向参照動き情報メモリに格納する(ステップS1605)。上記のステップS1604〜S1605をすべての動き情報圧縮ブロックに対して実行する。
動き情報160が保持される単位をMxMブロック、動き情報圧縮ブロックのサイズをNxN(NはMの倍数)とすると、上記動き情報圧縮処理を実行することにより、参照動き情報メモリの容量を(MxM)/(NxN)に削減することが可能となる。
<代表動き情報位置の別の実施形態>
代表動き情報位置を生成する別の例として、複数の参照動き情報取得位置の中心位置を代表動き情報位置としても構わない。図18A及び図18Bはサイズが16x16である動き圧縮ブロック毎の代表動き情報位置を示している。図18Aは、参照動き情報取得位置が図13Dに示される位置である場合の代表動き情報位置、同様に図18Bは、参照動き情報取得位置が図17Dに示される位置である場合の代表動き情報位置をそれぞれ示している。図18A及び図18B中の丸印は、プレディクションユニットが16x16ブロックである際の、参照動き情報取得位置を示しており、4点の参照動き情報取得位置の中心位置(重心位置とも称す)にバツ印で示される代表動き情報位置を配置している。
代表動き情報位置を生成する別の例として、複数の参照動き情報取得位置の中心位置を代表動き情報位置としても構わない。図18A及び図18Bはサイズが16x16である動き圧縮ブロック毎の代表動き情報位置を示している。図18Aは、参照動き情報取得位置が図13Dに示される位置である場合の代表動き情報位置、同様に図18Bは、参照動き情報取得位置が図17Dに示される位置である場合の代表動き情報位置をそれぞれ示している。図18A及び図18B中の丸印は、プレディクションユニットが16x16ブロックである際の、参照動き情報取得位置を示しており、4点の参照動き情報取得位置の中心位置(重心位置とも称す)にバツ印で示される代表動き情報位置を配置している。
代表動き情報位置を生成する更に別の例として、複数のプレディクションユニットのサイズ毎の参照動き情報取得位置を参照位置情報164として有し、複数の参照動き情報取得位置から代表動き情報位置を生成しても構わない。
代表動き情報位置を生成する一例として、複数のプレディクションユニットのサイズ毎の参照動き情報取得位置を参照位置情報164として有し、複数の参照動き情報取得位置から代表動き情報位置を生成しても構わない。図19は、ツリーブロックが64x64画素ブロックである場合の、プレディクションユニットのサイズが16x16以上の各サイズにおけるプレディクションユニットの中心(参照動き情報取得位置)をそれぞれ示している。
代表動き情報位置を生成する別の一例として、代表動き情報位置は動き情報圧縮ブロック毎に配置される参照動き情報取得位置を用いて設定されても構わない。図20Aは、動き情報圧縮ブロック毎の複数の参照動き情報取得位置の重心を代表動き情報位置と設定した場合の例を示す。重心位置が4x4ブロックの位置と一致しない場合には、最近傍の4x4ブロックを代表動き情報位置としてもよいし、共一次内挿法などの内挿法を用いて重心位置の参照動きベクトル166を生成しても構わない。
また、図20Bは動き情報圧縮ブロック毎に複数の参照動き情報取得位置のいずれかを選択し、代表動き情報位置と設定した場合の例を示す。
更に、図21A、図21Bにツリーブロック内で各動き情報圧縮ブロックで参照動き情報取得位置を同一にした場合の例を更に示す。全ての動き情報圧縮ブロック内で同一の代表動き情報位置であるため、ツリーブロック内の位置に応じて、代表動き情報位置を切り替える必要はない。また、代表動き情報位置は図21A、図21B以外にも、動き情報圧縮ブロック内の左上端や右上端など、いずれの位置にあっても構わない。
代表動き情報位置を生成する一例、動き情報圧縮ブロック内の4x4ブロック位置をZスキャン順で示すBlkIdxを用いて代表動き情報位置を示しても構わない。動き情報圧縮ブロックのサイズが16x16である場合に、図21Aに示される代表動き情報位置はBlkIdx=12の位置に相当する。また、図21Bに示される代表動き情報位置はBlkIdx=15の位置に相当する。
動き情報圧縮処理における別の一例として、参照フレーム番号に関するメモリ容量を削減するために、動き情報圧縮処理に参照フレーム番号を含めても構わない。この場合、代表動き情報位置に保持される参照フレーム番号を参照フレーム番号に関するメモリ容量に格納する。従って、図5に示される空間方向参照動き情報メモリ501及び空間方向参照動き情報メモリ502は動きベクトル情報に追加して参照フレーム番号を格納する。
動き情報圧縮処理における更に別の一例として、動き情報圧縮処理に参照フレーム番号を含めない場合に、代表動き情報位置にある動き情報内の動きベクトル情報を、参照フレーム番号を用いてスケーリング処理を施して、動き情報メモリ110に格納しても構わない。スケーリング処理の典型例として、参照フレーム番号ゼロを基準とした線形スケーリング処理がある。これは、参照フレーム番号がゼロ以外の値である場合に、動きベクトル情報が参照フレーム番号ゼロに対応する参照フレームを参照するように線形スケーリング処理するものである。上述のスケーリング処理の基準は参照フレーム番号がゼロ以外の値であっても構わない。上述の線形スケーリング処理を行う場合に除算が発生する場合には、予め除算処理をテーブル化しておき、都度テーブルを引くことで上記除算を実現しても構わない。
動き情報圧縮ブロックのサイズが16x16ブロック以外の場合、上述と同様の処理を用いて代表動き情報位置を生成する。一例では、動き情報圧縮ブロックのサイズが64x64の場合、プレディクションユニットのサイズが64x64における参照動き情報取得位置を代表動き情報位置とする。更に別の一例では、図21A、図21B等で示される動き情報圧縮ブロックのサイズが16x16ブロックにおける代表動き情報位置を、動き情報圧縮ブロックのサイズに従って水平方向及び垂直方向でスケーリングした位置を代表動き情報位置としても構わない。
代表動き情報位置が、ピクチャやスライスの外であるとして参照動き情報が存在しない場合には、動き情報圧縮ブロックの左上端といった動き情報圧縮ブロック内で参照動き情報が取得可能な位置を新しい代表動き情報位置として置き換えても構わない。また、代表動き情報位置が、イントラ予測が適用された領域であって、参照動き情報が存在しない場合にも同様の処理を実行して、新しい代表動き情報位置として置き換えても構わない。
<シンタクス構成>
以下、図1の画像符号化装置100が利用するシンタクスについて説明する。
シンタクスは、画像符号化装置が動画像データを符号化する際の符号化データ(例えば、図1の符号化データ163)の構造を示している。この符号化データを復号化する際に、同じシンタクス構造を参照して動画像復号化装置がシンタクス解釈を行う。図1の動画像符号化装置が利用するシンタクス2200を図22に例示する。
以下、図1の画像符号化装置100が利用するシンタクスについて説明する。
シンタクスは、画像符号化装置が動画像データを符号化する際の符号化データ(例えば、図1の符号化データ163)の構造を示している。この符号化データを復号化する際に、同じシンタクス構造を参照して動画像復号化装置がシンタクス解釈を行う。図1の動画像符号化装置が利用するシンタクス2200を図22に例示する。
シンタクス2200は、ハイレベルシンタクス2201、スライスレベルシンタクス2202及びコーディングツリーレベルシンタクス2203の3つのパートを含む。ハイレベルシンタクス2201は、スライスよりも上位のレイヤのシンタクス情報を含む。スライスとは、フレームまたはフィールドに含まれる矩形領域もしくは連続領域を指す。スライスレベルシンタクス2202は、各スライスを復号化するために必要な情報を含む。コーディングツリーレベルシンタクス2203は、各コーディングツリー(即ち、各コーディングツリーユニット)を復号化するために必要な情報を含む。これら各パートは、さらに詳細なシンタクスを含む。
ハイレベルシンタクス2201は、シーケンスパラメータセットシンタクス2204及びピクチャパラメータセットシンタクス2205などの、シーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス2202は、スライスヘッダーシンタクス2206及びスライスデータシンタクス2207などを含む。コーディングツリーレベルシンタクス2203は、コーディングツリーユニットシンタクス2208、トランスフォームユニットシンタクス2209及びプレディクションユニットシンタクス2210などを含む。
コーディングツリーユニットシンタクス2208は、四分木構造を持つことができる。具体的には、コーディングツリーユニットシンタクス2208のシンタクス要素として、さらにコーディングツリーユニットシンタクス2208を再帰呼び出しすることができる。即ち、1つのコーディングツリーユニットを四分木で細分化することができる。また、コーディングツリーユニットシンタクス2208内にはトランスフォームユニットシンタクス2209及びプレディクッションユニットシンタクス2210が含まれている。トランスフォームユニットシンタクス2209及びプレディクッションユニットシンタクス2210は、四分木の最末端の各コーディングツリーユニットシンタクス2208において呼び出される。プレディクッションユニットシンタクス2210は予測に関わる情報、トランスフォームユニットシンタクス2209は、逆直交変換及び量子化などに関わる情報がそれぞれ記述されている。
図23は、本実施形態に係るシーケンスパラメータセットシンタクス2204を例示する。図23A及び図23Bに示されるmotion_vector_buffer_comp_flagは、当該シーケンスに関して本実施形態に係る動き情報圧縮の有効/無効を示すシンタクスである。motion_vector_buffer_comp_flagが0である場合、当該シーケンスに関して本実施形態に係る動き情報圧縮は無効である。従って、図1に示される動き情報圧縮部の処理はスキップされる。一例として、motion_vector_buffer_comp_flagが1である場合、当該シーケンスに関して本実施携帯に係る動き情報圧縮は有効である。図23及び図23Bに示されるmotion_vector_buffer_comp_ratio_log2は、動き情報圧縮処理の単位を示す情報であり、motion_vector_buffer_comp_flagが1である場合に示される。motion_vector_buffer_comp_ratio_log2は、例えば本実施形態に係る動き情報圧縮ブロックのサイズの情報を示し、motion_vector_buffer_comp_ratio_log2は、動き補償の最小単位に2(motion_vector_buffer_comp_ratio_log2)を乗じた値が動き情報圧縮ブロックのサイズとなる。動き補償の最小単位が4x4画素ブロックである、つまり参照動き情報メモリが4x4画素ブロック単位に保持される場合の例を以下に示す。motion_vector_buffer_comp_ratio_log2が1の場合、本実施形態に係る動き情報圧縮ブロックのサイズは8x8画素ブロックとなる。同様に、motion_vector_buffer_comp_ratio_log2が2の場合、本実施形態に係る動き情報圧縮ブロックのサイズは16x16画素ブロックとなる。図23Bに示されるmotion_vector_buffer_comp_positionは、動き情報圧縮ブロック内の代表動き情報位置を示す情報であり、motion_vector_buffer_comp_flagが1である場合に示される。motion_vector_buffer_comp_positionは、例えば図21A、図21Bに示されるような動き情報圧縮ブロック内の参照動き情報位置を示したり、図20A、図20Bに示されるように動き情報圧縮ブロック毎の参照動き情報位置を示しても構わない。また、複数のブロックの中心にあっても構わない。
また、別の例として、motion_vector_buffer_comp_flag、motion_vector_buffer_comp_ratio_log2、motion_vector_buffer_comp_positionより下位のレイヤ(ピクチャパラメータセットシンタクス、スライスレベルシンタクス、コーディングツリーユニット、トランスフォームユニットなど)のシンタクスにおいて当該スライス内部の局所領域毎に本実施形態に係る予測の有効/無効が規定されてもよい。
図24に、プレディクションユニットシンタクスの一例を示す。図中のskip_flagは、プレディクションユニットシンタクスが属するコーディングユニットの予測モードがスキップモードであるか否かを示すフラグである。skip_flagが1である場合、予測動き情報位置情報954以外のシンタクス(コーディングユニットシンタクス、プレディクションユニットシンタクス、トランスフォームユニットシンタクス)を符号化しないことを示す。NumMVPCand(L0)、NumMVPCand(L1)は、それぞれリスト0予測、リスト1予測における予測動き情報候補951の数を示す。予測動き情報候補951が存在する(NumMVPCand(LX)>0、X=0若しくは1)場合、予測動き情報位置情報954を示すmvp_idx_lXが符号化される。
skip_flagが0である場合、プレディクションユニットシンタクスが属するコーディングユニットの予測モードがスキップモードではないことを示す。NumMergeCandidatesは、図12などで導出される予測動き情報候補951の数を示す。予測動き情報候補951が存在する(NumMergeCandidates>0)場合、プレディクションユニットがマージモードであるか否かを示すフラグであるmerge_flagが符号化される。merge_flagは、その値が1である場合、プレディクションユニットがマージモードであることを示し、その値が0である場合、プレディクションユニットがインターモードを用いることを示す。merge_flagが1且つ予測動き情報候補951が2つ以上存在する(NumMergeCandidates>1)場合、予測動き情報候補951の内、どのブロックからマージするかを示す予測動き情報952であるmerge_idxが符号化される。
merge_flagが1である場合、merge_flag、merge_idx以外のプレディクションユニットシンタクスは符号化する必要はない。
merge_flagが0である場合、プレディクションユニットがインターモードであることを示す。インターモードでは差分動き情報953が含む差分動きベクトル情報を示すmvd_lX(X=0若しくは1)や参照フレーム番号ref_idx_lX、Bスライスの場合、プレディクションユニットが単方向予測(リスト0若しくはリスト1)であるか双方向予測であるかを示すinter_pred_idcが符号化される。また、スキップモードと同様にNumMVPCand(L0)、NumMVPCand(L1)を取得し、予測動き情報候補951が存在する(NumMVPCand(LX)>0、X=0若しくは1)場合、予測動き情報位置情報954を示すmvp_idx_lXが符号化される。
以上が、本実施形態に係るシンタクス構成である。
(第2の実施形態)
第2の実施形態は動画像復号化装置に関する。本実施形態に係る動画像復号化装置に対応する動画像符号化装置は、第1の実施形態において説明した通りである。即ち、本実施形態に係る動画像復号化装置は、例えば第1の実施形態に係る動画像符号化装置によって生成された符号化データを復号化する。
第2の実施形態は動画像復号化装置に関する。本実施形態に係る動画像復号化装置に対応する動画像符号化装置は、第1の実施形態において説明した通りである。即ち、本実施形態に係る動画像復号化装置は、例えば第1の実施形態に係る動画像符号化装置によって生成された符号化データを復号化する。
図25に示すように、本実施形態に係る動画像復号化装置は、エントロピー復号化部2501、逆量子化部2502、逆直交変換部2503、加算部2504、参照画像メモリ2505、インター予測部2506、参照動き情報メモリ2507、参照動き情報圧縮部2508及び復号化制御部2510を含む。
図25の動画像復号化装置は、符号化データ2550を復号し、復号画像信号2554を出力バッファ2511に蓄積して出力画像として出力する。符号化データ2550は、例えば図1の動画像符号化装置などから出力され、図示しない蓄積系または伝送系を経て、動画像復号化装置2500に入力される。
エントロピー復号化部2501は、符号化データ2550の復号化のために、シンタクスに基づいて解読を行う。エントロピー復号化部2501は、各シンタクスの符号列を順次エントロピー復号化し、動き情報2559、量子化変換係数2551などの符号化対象ブロックの符号化パラメータを再生する。符号化パラメータとは、予測情報、変換係数に関する情報、量子化に関する情報、などの復号に必要となるパラメータである。
具体的には、エントロピー復号化部2501は、図26に示すように、分離部2601、パラメータ復号化部2602、変換係数復号化部2603、並びに動き情報復号化部2604を備える。分離部2601は符号化データ2550を分離し、パラメータに関する符号化データ2651Aをパラメータ復号化部2602、変換係数に関する符号化データ2651Bを変換係数復号化部2603、動き情報に関する符号化データ2651Cを動き情報復号化部2604にそれぞれ出力する。パラメータ復号化部2602は、予測情報などの符号化パラメータ2570を復号化し符号化パラメータ2570を出力し復号化制御部2510に出力する。変換係数復号化部2603は、符号化データ2651Bを入力し、変換係数情報2551を復号化して逆量子化部2502に出力する。
動き情報復号化部2604は、分離部2601から符号化データ2651C、復号化制御部2510から参照位置情報2560、参照動き情報メモリ2507から参照動き情報2558をそれぞれ受け取り、動き情報2559を出力する。出力された動き情報2559はインター予測部2506に入力される。
動き情報復号化部2604は、図27に示すように、分離部2701、差分動き情報復号化部2702、予測動き情報位置復号化部2503、参照動き情報取得部2704、予測動き情報選択スイッチ2705及び加算部2706を含む。
動き情報に関する符号化データ2651Cを分離部2701に入力し、差分動き情報に関する符号化データ2751と予測動き情報位置に関する符号化データ2752に分離する。差分動き情報符号化部2702は、差分動き情報に関する符号化データ2751を入力し、差分動き情報2753を復号化する。差分動き情報2753は加算部2706にて後述する予測動き情報2756と加算され、動き情報2759が出力される。予測動き情報位置復号化部2703は予測動き情報位置に関する符号化データ2752を入力し、予測動き情報位置2754を復号化する。
予測動き情報位置2754は予測動き情報選択スイッチ2705に入力され、予測動き情報候補2755の中から予測動き情報2756を選択する。予測動き情報位置情報2560は予測動き情報候補2755の数から生成される等長復号化や可変長復号化を用いて復号化される。隣接ブロックとの相関を利用して可変長復号化しても構わない。更に、複数の予測動き情報候補2755で重複する場合、重複を削除した予測動き情報候補2755の総数から生成される符号表から、予測動き情報位置情報2560を復号化しても構わない。また、予測動き情報候補2755の総数が1種類である場合、当該予測動き情報候補2755が予測動き情報2556と決定されるため、予測動き情報位置情報2754を復号化する必要はない。
参照動き情報取得部2704は第1の実施形態で説明した参照動き情報取得部901とその構成、処理内容は同一である。
参照動き情報取得部2704は、参照動き情報2558及び参照位置情報2560を入力として、少なくとも一つ以上の予測動き情報候補2755(2755A、2755B、…)を生成する。図10、図11は、復号化対象プレディクションユニットに対する、予測動き情報候補2755の位置の一例を示している。図10は復号化対象プレディクションユニットに空間的に隣接するプレディクションユニットの位置を示している。AX(X=0〜nA−1)は、対象プレディクションユニットに対して左に隣接するプレディクションユニット、BY(Y=0〜nB−1)は対象プレディクションユニットに対して上に隣接するプレディクションユニット、C、D、Eは復号化対象プレディクションユニットに対してそれぞれ右上、左上、左下に隣接するプレディクションユニットを示している。また、図11は復号化対象プレディクションユニットに対して、既に復号化済みの参照フレームにおけるプレディクションユニットの位置を示している。図中のColは、参照フレーム内であって復号化対象プレディクションユニットと同一位置にあるプレディクションユニットを示している。図12は、複数の予測動き情報候補2755のブロック位置とインデクスMvpidxの関係を示すリストの一例を示す。Mvpidxが0〜2は空間方向に位置する予測動き情報候補2755、Mvpidxが3は時間方向に位置する測動きベクトル候補2755をそれぞれ示している。プレディクションユニット位置Aは図10に示されるAXの内、インター予測である、つまり参照動き情報2558を有するプレディクションユニットであって、Xの値が最も小さい位置をプレディクションユニット位置Aとする。また、プレディクションユニット位置Bは図10に示されるBYの内、インター予測である、つまり参照動き情報2558を有するプレディクションユニットであって、Yの値が最も小さい位置をプレディクションユニット位置Aとする。プレディクションユニット位置Cがインター予測ではない場合、プレディクションユニット位置Dの参照動き情報2558をプレディクションユニット位置Cの参照動き情報2558として置き換える。プレディクションユニット位置C及びDがインター予測ではない場合、プレディクションユニット位置Eの参照動き情報2558をプレディクションユニット位置Cの参照動き情報2558として置き換える。
復号化対象プレディクションユニットのサイズが最小プレディクションユニットより大きい場合には、プレディクションユニット位置Colは、複数の参照動き情報2558を時間方向参照動き情報メモリ2507に保持している可能性がある。この場合、参照位置情報2560に従って位置Colのプレディクションユニット中の参照動き情報2558を取得する。以降、位置Colのプレディクションユニット中の参照動き情報2558の取得位置を参照動き情報取得位置と称する。図13A〜Fは、参照位置情報2560が位置Colのプレディクションユニットの中心を示す場合の参照動き情報取得位置の一例を復号化対象プレディクションユニットのサイズ(32x32〜16x16)毎に示す。図中のブロックはそれぞれ4x4プレディクションユニットを示し、丸印は予測動き情報候補2755として取得する4x4プレディクションユニットの位置を示している。参照動き情報取得位置の別の一例を図14A〜Fに示す。図14A〜Fにおいて、丸印の位置は4x4プレディクションユニットが存在しないため、丸印に隣接する4つのx4プレディクションユニットにおける参照動き情報2558の平均値やメディアン値といった予め定められた方式で、予測動き情報候補2755を生成する。参照動き情報取得位置の更に別の一例として、位置Colのプレディクションユニットの左上端に位置する4x4プレディクションユニットの参照動き情報2558を予測動き情報候補2755としても構わない。上記の例以外に置いても、予め定められた方式であれば、いずれの位置及び方式を用いて予測動き情報候補2755を生成しても構わない。
なお、参照動き情報2558が存在しない場合、ゼロベクトルを有する動き情報2559を、予測動き情報候補2755として出力する。
以上により、少なくとも一つ以上の予測動き情報候補2755が参照動きブロックから出力される。上記の予測動き情報候補2755が有する参照フレーム番号と復号化対象プレディクションユニットの参照フレーム番号が異なる場合、予測動き情報候補2755を予測動き情報候補2755が有する参照フレーム番号と復号化対象プレディクションユニットの参照フレーム番号に従ってスケーリングしても構わない。予測動き情報選択スイッチ2705は、複数の予測動き情報候補2755から予測動き情報位置2754に従って一つを選択し、予測動き情報952を出力する。
逆量子化部2502は、エントロピー復号化部2501からの量子化変換係数2551に逆量子化を行って、復元変換係数2552を得る。具体的には、逆量子化部2502は、エントロピー復号化部2501によって復号化された量子化に関する情報に従って逆量子化を行う。逆量子化部2502は、復元変換係数2552を逆直交変換部2503に出力する。
逆直交変換部2503は、逆量子化部2502からの復元変換係数2552に対して、符号化側において行われた直交変換に対応する逆直交変換を行い、復元予測誤差信号2553を得る。逆直交変換部2503は、復元予測誤差信号2553を加算部2504に入力する。
加算部2504は、復元予測誤差信号2553と、対応する予測画像信号2556とを加算し、復号画像信号2554を生成する。復号画像信号2554は、図示されないデブロッキングフィルタやウィナーフィルタなどを施し、出力画像のために出力バッファ2511に一時的に蓄積されると共に、参照画像信号2555のために参照画像メモリ2505にも保存される。参照画像メモリ2505に保存された復号画像信号2554は、参照画像信号2555としインター予測部2506によって必要に応じてフレーム単位またはフィールド単位で参照される。出力バッファ2511に一時的に蓄積された復号画像信号2554は、復号化制御部2510によって管理される出力タイミングに従って出力される。
インター予測部2506は、参照画像メモリ2505に保存されている参照画像信号2555を利用してインター予測を行う。具体的には、インター予測部2506は、予測対象ブロックと参照画像信号2555との間の動きのズレ量(動きベクトル)を含む動き情報2559をエントロピー復号化部2501から取得し、この動きベクトルに基づいて補間処理(動き補償)を行ってインター予測画像を生成する。インター予測画像の生成に関しては、第一の実施形態と同一であるので、説明を省略する。
復号化制御部2510は、図25の動画像復号化装置の各要素を制御する。具体的には、復号化制御部2510は、後述する参照位置情報2560をエントロピー復号化部2501に出力したり、上述の動作を含む復号化処理のための種々の制御を行う。
<スキップモード、マージモード、インターモードの説明>
本実施形態に係る画像復号化装置2500は、図8に示す復号化処理の異なる複数の予測モードを使用する。図中のスキップモードは後述する予測動き情報位置2754に関するシンタクスのみを復号化し、その他のシンタクスは復号化しないモードである。マージモードは予測動き情報位置2754に関するシンタクス、変換係数情報2551のみを復号化し、その他のシンタクスは復号化しないモードである。インターモードは、予測動き情報位置2754に関するシンタクス、後述する差分動き情報2753、変換係数情報2551を復号化するモードである。これらのモードは復号化制御部2510が制御する予測情報2571によって切り替えられる。
本実施形態に係る画像復号化装置2500は、図8に示す復号化処理の異なる複数の予測モードを使用する。図中のスキップモードは後述する予測動き情報位置2754に関するシンタクスのみを復号化し、その他のシンタクスは復号化しないモードである。マージモードは予測動き情報位置2754に関するシンタクス、変換係数情報2551のみを復号化し、その他のシンタクスは復号化しないモードである。インターモードは、予測動き情報位置2754に関するシンタクス、後述する差分動き情報2753、変換係数情報2551を復号化するモードである。これらのモードは復号化制御部2510が制御する予測情報2571によって切り替えられる。
また、図25の動画像復号化装置は、図28説明したシンタクスと同一または類似のシンタクスを利用するのでその詳細な説明を省略する。
<動き情報圧縮部2508の詳細>
次に、動き情報圧縮部2508について図16に示すフローチャートを用いて説明する。動き情報圧縮部2508は、フレーム(もしくはスライス、コーディングユニットなど任意の単位)の復号化処理が終了した際に、動き情報2559を圧縮して時間方向参照動き情報メモリ502に動き情報2559を格納する。
次に、動き情報圧縮部2508について図16に示すフローチャートを用いて説明する。動き情報圧縮部2508は、フレーム(もしくはスライス、コーディングユニットなど任意の単位)の復号化処理が終了した際に、動き情報2559を圧縮して時間方向参照動き情報メモリ502に動き情報2559を格納する。
まず、復号化制御部2510から参照位置情報2560を取得し(ステップS1601)、フレームを動き情報2559の圧縮単位である動き情報圧縮ブロックに分割する(ステップS1602)。動き情報圧縮ブロックは、動き補償処理により動き情報2559が保持される単位(典型的には4x4画素ブロック)より大きい画素ブロックであり、典型的には16x16画素ブロックである。動き情報圧縮ブロックは32x32画素ブロックや8x8画素ブロック、長方形画素ブロック、任意の形状の画素領域であっても構わない。
次に、参照位置情報2560に従って代表動き情報位置を生成する(ステップS1603)。代表動き情報位置を生成する一例として、動き情報圧縮ブロックが16x16画素ブロックの場合、図13D、図14D、図17Dにそれぞれ示されるプレディクションユニットのサイズが16x16の場合の参照動き情報取得位置を代表動き情報位置とする。次に、生成した代表動き情報位置の参照動き情報2558を代表動き情報に設定し(ステップS1605)、当該代表動き情報を時間方向参照動き情報メモリに格納する(ステップS1606)。上記のステップS1604〜S1605をすべての動き情報圧縮ブロックに対して実行する。
動き情報2559が保持される単位をMxMブロック、動き情報圧縮ブロックのサイズをNxN(NはMの倍数)とすると、上記動き情報圧縮処理を実行することにより、参照動き情報メモリの容量を(MxM)/(NxN)に削減することが可能となる。
<代表動き情報位置の別の実施形態>
代表動き情報位置を生成する別の例として、複数の参照動き情報取得位置の中心位置を代表動き情報位置としても構わない。図18A及び図18Bはサイズが16x16である動き圧縮ブロック毎の代表動き情報位置を示している。図18Aは、参照動き情報取得位置が図13Dに示される位置である場合の代表動き情報位置、同様に図18Bは、参照動き情報取得位置が図17Dに示される位置である場合の代表動き情報位置をそれぞれ示している。図18A及び図18B中の丸印は、プレディクションユニットが16x16である際の、参照動き情報取得位置を示しており、4点の参照動き情報取得位置の中心位置にバツ印で示される代表動き情報位置を配置している。
代表動き情報位置を生成する別の例として、複数の参照動き情報取得位置の中心位置を代表動き情報位置としても構わない。図18A及び図18Bはサイズが16x16である動き圧縮ブロック毎の代表動き情報位置を示している。図18Aは、参照動き情報取得位置が図13Dに示される位置である場合の代表動き情報位置、同様に図18Bは、参照動き情報取得位置が図17Dに示される位置である場合の代表動き情報位置をそれぞれ示している。図18A及び図18B中の丸印は、プレディクションユニットが16x16である際の、参照動き情報取得位置を示しており、4点の参照動き情報取得位置の中心位置にバツ印で示される代表動き情報位置を配置している。
代表動き情報位置を生成する更に別の例として、複数のプレディクションユニットのサイズ毎の参照動き情報取得位置を参照位置情報2560として有し、複数の参照動き情報取得位置から代表動き情報位置を生成しても構わない。図19は、ツリーブロックが64x64画素ブロックである場合の、プレディクションユニットのサイズが16x16以上の各サイズにおけるプレディクションユニットの中心(参照動き情報取得位置)をそれぞれ示している。
代表動き情報位置を生成する別の一例として、代表動き情報位置は動き情報圧縮ブロック毎に配置される参照動き情報取得位置を用いて設定されても構わない。図20Aは、動き情報圧縮ブロック毎の複数の参照動き情報取得位置の重心を代表動き情報位置と設定した場合の例を示す。重心位置が4x4ブロックの位置と一致しない場合には、最近傍の4x4ブロックを代表動き情報位置としてもよいし、共一次内挿法などの内挿法を用いて重心位置の参照動きベクトル166を生成しても構わない。
また、図20Bは動き情報圧縮ブロック毎に複数の参照動き情報取得位置のいずれかを選択し、代表動き情報位置と設定した場合の例を示す。
更に、図21A、Bにツリーブロック内で各動き情報圧縮ブロックで参照動き情報取得位置を同一にした場合の例を更に示す。全ての動き情報圧縮ブロック内で同一の代表動き情報位置であるため、ツリーブロック内の位置に応じて、代表動き情報位置を切り替える必要はない。また、代表動き情報位置は図21A、B以外にも、動き情報圧縮ブロック内の左上端や右上端等いずれの位置にあっても構わない。
代表動き情報位置を生成する一例、動き情報圧縮ブロック内の4x4ブロック位置をZスキャン順で示すBlkIdxを用いて代表動き情報位置を示しても構わない。動き情報圧縮ブロックのサイズが16x16である場合に、図21Aに示される代表動き情報位置はBlkIdx=12の位置に相当する。また、図21Bに示される代表動き情報位置はBlkIdx=15の位置に相当する。
動き情報圧縮処理における別の一例として、参照フレーム番号に関するメモリ容量を削減するために、動き情報圧縮処理に参照フレーム番号を含めても構わない。この場合、代表動き情報位置に保持される参照フレーム番号を参照フレーム番号に関するメモリ容量に格納する。従って、図5に示される空間方向参照動き情報メモリ501及び空間方向参照動き情報メモリ502は動きベクトル情報に追加して参照フレーム番号を格納する。
動き情報圧縮処理における更に別の一例として、動き情報圧縮処理に参照フレーム番号を含めない場合に、代表動き情報位置にある動き情報内の動きベクトル情報を、参照フレーム番号を用いてスケーリング処理を施して、動き情報メモリ110に格納しても構わない。スケーリング処理の典型例として、参照フレーム番号ゼロを基準とした線形スケーリング処理がある。これは、参照フレーム番号がゼロ以外の値である場合に、動きベクトル情報が参照フレーム番号ゼロに対応する参照フレームを参照するように線形スケーリング処理するものである。上述のスケーリング処理の基準は参照フレーム番号がゼロ以外の値であっても構わない。上述の線形スケーリング処理を行う場合に除算が発生する場合には、予め除算処理をテーブル化しておき、都度テーブルを引くことで上記除算を実現しても構わない。
動き情報圧縮ブロックのサイズが16x16ブロック以外の場合、上述と同様の処理を用いて代表動き情報位置を生成する。一例では、動き情報圧縮ブロックのサイズが64x64の場合、プレディクションユニットのサイズが64x64における参照動き情報取得位置を代表動き情報位置とする。更に別の一例では、図21A、図21B等で示される動き情報圧縮ブロックのサイズが16x16ブロックにおける代表動き情報位置を、動き情報圧縮ブロックのサイズに従って水平方向及び垂直方向でスケーリングした位置を代表動き情報位置としても構わない。
代表動き情報位置が、ピクチャやスライスの外であるとして参照動き情報が存在しない場合には、動き情報圧縮ブロックの左上端といった動き情報圧縮ブロック内で参照動き情報が取得可能な位置を新しい代表動き情報位置として置き換えても構わない。また、代表動き情報位置がイントラ予測が適用された領域であって、参照動き情報が存在しない場合にも同様の処理を実行して、新しい代表動き情報位置として置き換えても構わない。
以下、各実施形態の変形例を列挙して紹介する。
第1及び第2の実施形態において、フレームを16×16画素サイズなどの矩形ブロックに分割し、画面左上のブロックから右下に向かって順に符号化/復号化を行う例について説明している(図2Aを参照)。しかしながら、符号化順序及び復号化順序はこの例に限定されない。例えば、右下から左上に向かって順に符号化及び復号化が行われてもよいし、画面中央から画面端に向かって渦巻を描くように符号化及び復号化が行われてもよい。さらに、右上から左下に向かって順に符号化及び復号化が行われてもよいし、画面端から画面中央に向かって渦巻きを描くように符号化及び復号化が行われてもよい。
第1及び第2の実施形態において、フレームを16×16画素サイズなどの矩形ブロックに分割し、画面左上のブロックから右下に向かって順に符号化/復号化を行う例について説明している(図2Aを参照)。しかしながら、符号化順序及び復号化順序はこの例に限定されない。例えば、右下から左上に向かって順に符号化及び復号化が行われてもよいし、画面中央から画面端に向かって渦巻を描くように符号化及び復号化が行われてもよい。さらに、右上から左下に向かって順に符号化及び復号化が行われてもよいし、画面端から画面中央に向かって渦巻きを描くように符号化及び復号化が行われてもよい。
第1及び第2の実施形態において、4×4画素ブロック、8×8画素ブロック、16×16画素ブロックなどの予測対象ブロックサイズを例示して説明を行ったが、予測対象ブロックは均一なブロック形状でなくてもよい。例えば、予測対象ブロック(プレディクションユニット)サイズは、16×8画素ブロック、8×16画素ブロック、8×4画素ブロック、4×8画素ブロックなどであってもよい。また、1つのコーディングツリーユニット内で全てのブロックサイズを統一させる必要はなく、複数の異なるブロックサイズを混在させてもよい。1つのコーディングツリーユニット内で複数の異なるブロックサイズを混在させる場合、分割数の増加に伴って分割情報を符号化または復号化するための符号量も増加する。そこで、分割情報の符号量と局部復号画像または復号画像の品質との間のバランスを考慮して、ブロックサイズを選択することが望ましい。
第1及び第2の実施形態において、簡単化のために、輝度信号と色差信号とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、予測処理が輝度信号と色差信号との間で異なる場合には、同一または異なる予測方法が用いられてよい。輝度信号と色差信号との間で異なる予測方法が用いられるならば、色差信号に対して選択した予測方法を輝度信号と同様の方法で符号化または復号化できる。
第1及び第2の実施形態において、簡単化のために、輝度信号と色差信号とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、直交変換処理が輝度信号と色差信号との間で異なる場合には、同一または異なる直交変換方法が用いられてよい。輝度信号と色差信号との間で異なる直交変換方法が用いられるならば、色差信号に対して選択した直交変換方法を輝度信号と同様の方法で符号化または復号化できる。
第1及び第2までの実施形態において、シンタクス構成に示す表の行間には、実施形態で規定していないシンタクス要素が挿入されることも可能であるし、それ以外の条件分岐に関する記述が含まれていても構わない。或いは、シンタクステーブルを複数のテーブルに分割、統合することも可能である。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更しても構わない。
以上説明したように、各実施形態は、ハードウェア実装及びソフトウェア実装における困難性を緩和しつつ、高効率な直交変換及び逆直交変換を実現することができる。故に、各実施形態によれば、符号化効率が向上し、ひいては主観画質も向上する。
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の動画像符号化装置及び動画像復号化装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の動画像符号化装置及び動画像復号化装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明の実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明の実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明の実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明の実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本願発明の実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100…画像符号化装置、101…減算部、102…直交変換部、103…量子化部、104、2502…逆量子化部、105、2503…逆直交変換部、106、2504、2706…加算部、107、2505…参照画像メモリ、108、2506…インター予測部、109…動き情報圧縮部、110…動き情報メモリ、112…エントロピー符号化部、113…出力バッファ、114…符号化制御部、401…パラメータ符号化部、402…変換係数符号化部、403…動き情報符号化部、404…多重化部、901…参照動きベクトル取得部、902…予測動きベクトル選択スイッチ、903…減算部、904…差分動き情報符号化部、905…予測動き情報位置符号化部、906…多重化部、2500…動画像復号化装置、2501…エントロピー復号化部、2507…参照動き情報メモリ、2508…参照動き情報圧縮部、2510…復号化制御部、2601、2701…分離部、2602…パラメータ復号化部、2603…変換係数復号化部、2604…動き情報復号化部、2702…差分動き情報復号化部、2503…予測動き情報位置復号化部、2704…参照動き情報取得部、2705…予測動き情報選択スイッチ。
Claims (14)
- 入力画像信号を画素ブロックに分割し、これら分割した画素ブロックに対してインター予測を行う動画像復号化方法において、
復号化済み領域における動き情報を保持する動き情報バッファの中から、予測動き情報を選択し、前記予測動き情報を用いて、復号化対象ブロックの動き情報を予測することと、
復号化が終了した領域内の複数の動き情報の中から、前記予測動き情報の選択方法を示す第1情報に従って代表動き情報を取得する、
ことを具備し、
前記第1情報は、
前記動き情報を選択するための、前記復号化対象ブロック内の位置を特定する第2情報を含む、動画像復号化方法。 - 前記代表動き情報は、
前記復号化対象ブロック及び隣接する前記画素ブロックが有する複数の前記第2情報の中心に位置する前記動き情報バッファ内の前記動き情報である、
請求項1に記載の動画像復号化方法。 - 前記復号化対象ブロックが複数のブロックサイズから選択される場合、
前記複数のブロックサイズに対応する複数の前記第2情報から、前記複数のブロックサイズに対応した前記復号化対象ブロック内の位置を特定する第3情報を生成することをさらに具備し、
前記第1情報は前記第3情報を含む、
請求項1に記載の動画像復号化方法。 - 前記第3情報には、
(A)複数の前記第2情報の内、いずれかの前記第2情報が特定する位置情報
(B)複数の前記第2情報の中心に相当する位置情報
のいずれかを設定する、
請求項3に記載の動画像復号化方法。 - 予め定められた領域内で複数の異なる前記第3情報が生成された場合に、
最も頻度が多い前記第3情報を示す第4情報を、前記領域内で前記第3情報と置き換える、
ことをさらに具備する請求項4に記載の動画像復号化方法。 - 前記代表動き情報に含まれる参照フレームに関する情報に従ってスケーリング処理を行って、前記動き情報バッファに保持することと、
前記予測動き情報に含まれる前記参照フレームに関する情報に従って前記代表動き情報に含まれる前記動き情報のスケーリングを行う、
ことをさらに具備する請求項2または請求項5に記載の動画像復号化方法。 - 前記代表動き情報は参照フレームに関する情報を含む、
請求項2または請求項5に記載の動画像復号化方法。 - 入力画像信号を画素ブロックに分割し、これら分割した画素ブロックに対してインター予測を行う動画像復号化装置において、
復号化済み領域における動き情報を保持する動き情報バッファの中から、予測動き情報を選択し、前記予測動き情報を用いて、復号化対象ブロックの動き情報を予測する予測部と、
復号化が終了した領域内の複数の動き情報の中から、前記予測動き情報の選択方法を示す第1情報に従って代表動き情報を取得する取得部と、
を具備し、
前記第1情報は、
前記動き情報を選択するための、前記復号化対象ブロック内の位置を特定する第2情報を含む、動画像復号化装置。 - 前記代表動き情報は、
前記復号化対象ブロック及び隣接する前記画素ブロックが有する複数の前記第2情報の中心に位置する前記動き情報バッファ内の前記動き情報である、
請求項8に記載の動画像復号化装置。 - 前記復号化対象ブロックが複数のブロックサイズから選択される場合、
前記複数のブロックサイズに対応する複数の前記第2情報から、前記複数のブロックサイズに対応した前記復号化対象ブロック内の位置を特定する第3情報を生成する生成部をさらに具備し、
前記第1情報は前記第3情報を含む、
請求項8に記載の動画像復号化装置。 - 前記第3情報には、
(A)複数の前記第2情報の内、いずれかの前記第2情報が特定する位置情報
(B)複数の前記第2情報の中心に相当する位置情報
のいずれかを設定する、
請求項10に記載の動画像復号化装置。 - 予め定められた領域内で複数の異なる前記第3情報が生成された場合に、
最も頻度が多い前記第3情報を示す第4情報を、前記領域内で前記第3情報と置き換える置換部、
をさらに具備する請求項11に記載の動画像復号化装置。 - 前記代表動き情報に含まれる参照フレームに関する情報に従ってスケーリング処理を行って、前記動き情報バッファに保持する保持部と、
前記予測動き情報に含まれる前記参照フレームに関する情報に従って前記代表動き情報に含まれる前記動き情報のスケーリングを行うスケーリング部と、
をさらに具備する請求項9または請求項12に記載の動画像復号化装置。 - 前記代表動き情報は参照フレームに関する情報を含む、請求項9または請求項12に記載の動画像復号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014074669A JP5680778B2 (ja) | 2014-03-31 | 2014-03-31 | 動画像符号化方法及び動画像復号化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014074669A JP5680778B2 (ja) | 2014-03-31 | 2014-03-31 | 動画像符号化方法及び動画像復号化方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013503291A Division JP5563148B2 (ja) | 2011-03-09 | 2011-03-09 | 動画像符号化方法及び動画像復号化方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015001058A Division JP5893178B2 (ja) | 2015-01-06 | 2015-01-06 | 動画像符号化方法及び動画像復号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014161041A JP2014161041A (ja) | 2014-09-04 |
JP5680778B2 true JP5680778B2 (ja) | 2015-03-04 |
Family
ID=51612404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014074669A Active JP5680778B2 (ja) | 2014-03-31 | 2014-03-31 | 動画像符号化方法及び動画像復号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5680778B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978769B2 (en) * | 2003-06-30 | 2011-07-12 | Ntt Docomo, Inc. | Method and apparatus for coding motion information |
JP2008283490A (ja) * | 2007-05-10 | 2008-11-20 | Ntt Docomo Inc | 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム |
CN101884219B (zh) * | 2007-10-16 | 2014-08-20 | Lg电子株式会社 | 处理视频信号的方法和装置 |
JP5807588B2 (ja) * | 2011-03-08 | 2015-11-10 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに、送信装置、送信方法及び送信プログラム |
JP2012186760A (ja) * | 2011-03-08 | 2012-09-27 | Jvc Kenwood Corp | 動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
GB2501835B (en) * | 2011-03-09 | 2014-09-03 | Canon Kk | Video encoding and decoding |
-
2014
- 2014-03-31 JP JP2014074669A patent/JP5680778B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014161041A (ja) | 2014-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5563148B2 (ja) | 動画像符号化方法及び動画像復号化方法 | |
JP6503014B2 (ja) | 動画像符号化方法及び動画像復号化方法 | |
JP6871447B2 (ja) | 動画像符号化方法及び動画像復号化方法 | |
JP6871442B2 (ja) | 動画像符号化方法及び動画像復号化方法 | |
JP6510084B2 (ja) | 動画像復号化方法及び電子装置 | |
JP2016106494A (ja) | 動画像符号化方法及び動画像復号化方法 | |
JP6871343B2 (ja) | 動画像符号化方法及び動画像復号化方法 | |
JP5680778B2 (ja) | 動画像符号化方法及び動画像復号化方法 | |
JP5893178B2 (ja) | 動画像符号化方法及び動画像復号化方法 | |
CN105933709B (zh) | 运动图像编码方法、装置以及运动图像解码方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141127 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150107 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5680778 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |