JP2013145974A - 動画像復号装置、動画像復号方法及び動画像復号プログラム - Google Patents

動画像復号装置、動画像復号方法及び動画像復号プログラム Download PDF

Info

Publication number
JP2013145974A
JP2013145974A JP2012005605A JP2012005605A JP2013145974A JP 2013145974 A JP2013145974 A JP 2013145974A JP 2012005605 A JP2012005605 A JP 2012005605A JP 2012005605 A JP2012005605 A JP 2012005605A JP 2013145974 A JP2013145974 A JP 2013145974A
Authority
JP
Japan
Prior art keywords
prediction
motion information
candidate list
motion
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.)
Pending
Application number
JP2012005605A
Other languages
English (en)
Inventor
Kazumi Arakage
和美 荒蔭
Shigeru Fukushima
茂 福島
Hideki Takehara
英樹 竹原
Hiroya Nakamura
博哉 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2012005605A priority Critical patent/JP2013145974A/ja
Publication of JP2013145974A publication Critical patent/JP2013145974A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】隣接ブロックの動き情報を使用して符号化を行う場合に、処理負荷を抑え、動き情報の符号化効率を向上させる。
【解決手段】結合動き情報候補リスト生成部1000、1001は、復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する。結合動き情報候補リスト削除部1002は、生成された候補リストに含まれる2つの動き情報の候補間で、単予測であるか双予測であるかに関係なく、第1予測の動きベクトル値同士が一致すると共に第2予測の動きベクトル値同士が一致する場合に、これら2つの動き情報の候補のいずれか一方の動き情報の候補を候補リストから削除する。
【選択図】図10

Description

本発明は、動き補償予測を用いた動画像復号技術に関し、特に動き補償予測に利用する動画像復号装置、動画像復号方法及び動画像復号プログラムに関する。
MPEG−4 AVC/H.264(以後、AVC)等に代表される動画像符号化では、ピクチャを矩形ブロックに分割し、ピクチャ間でブロック単位に動き推定、補償を行う動き補償予測が用いられる。動き補償予測において各ブロックで生成される動きベクトルは、その符号量を削減するために、予測処理が施される。
AVCでは、隣接するブロックの動きベクトルの間に強い相関があることを利用して、隣接ブロックから予測値を算出し、その予測値との差分ベクトルを符号化することによって符号量を削減している。しかし、これらの予測方法では、参照する隣接ブロックの位置が限定されているために、予測が当たらないと、動きベクトルの差分が大きくなり、発生符号量が増加する課題があった。また、動きベクトルの符号量は削減されるものの、予測方向や参照画像インデックス等の他の動き情報は処理対象のブロック毎に符号化されるので、効率的な符号化に至っていないという課題もあった。
これらの課題を解決するために、特許文献1のように、複数の隣接ブロックの中から参照する隣接ブロックを特定する付加情報を符号化することによって、処理対象のブロックの動き情報を符号化せずに、隣接ブロックの動き情報を使用して符号化を行い、符号量を削減するマージ符号化技術が用いられる。
特開平10−276439号公報
マージ符号化は、処理対象のブロックの動き情報を符号化せずに、空間及び時間的に隣接するブロックの動き情報を使用して符号化を行うことで、符号量を削減して符号化効率を向上させている。また、参照する隣接ブロックの候補を複数用意し、参照する隣接ブロックを特定する付加情報を符号化することによって、より符号化対象ブロックの動き情報に近い隣接ブロックを参照できるようにしている。
そのため、参照隣接ブロック候補に同じ動き情報を持つ隣接ブロックが複数含まれていると、参照隣接ブロック候補で表現可能な動き情報の種類が少なくなり、結果として符号化効率の向上に結びつかない。そこで、参照隣接ブロック候補の動き情報を詳細に比較し、同じ動き情報を持つ参照隣接ブロック候補を削減すると、処理量の増加につながる。
本発明はこうした状況に鑑みてなされたものであり、その目的は、隣接ブロックの動き情報を使用して符号化を行う場合に、処理負荷が少なく、動き情報の符号化効率を向上させる技術を提供することにある。
上記課題を解決するために、本発明のある態様の動画像復号装置は、動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号装置であって、復号対象ブロックの動き情報の候補を算出し、動き情報の候補リストを生成する動き情報算出部(2704)と、前記動き情報算出部(2704)から出力される前記候補リスト内の動き情報を備える隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記動き情報算出部(2704)から出力される前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号部(602、606)とを備える。前記動き情報算出部(2704)は、前記復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成部(1000、1001)と、前記候補リスト生成部(1000、1001)により生成された前記候補リストに含まれる動き情報の候補の中で、互いに動きベクトル値が一致するものがある場合、いずれか一方の動き情報の候補を前記候補リストから削除する候補リスト削除部(1002)とを含む。ブロック単位の予測種別として、第1予測および第2予測の両方に予測処理のための動きベクトル値が設定される双予測と、第1予測または第2予測のいずれか一方に予測処理のための動きベクトル値が設定される単予測とが定義され、単予測の場合は、予測処理のための動きベクトル値が設定されない方について動きベクトル値として規定値が設定されており、前記候補リスト削除部(1002)は、前記候補リストに含まれる2つの動き情報の候補間で、単予測であるか双予測であるかに関係なく、第1予測の動きベクトル値同士が一致すると共に第2予測の動きベクトル値同士が一致する場合に、これら2つの動き情報の候補のいずれか一方の動き情報の候補を前記候補リストから削除する。
本発明の別の態様は、動画像復号方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号方法であって、復号対象ブロックの動き情報の候補を算出し、動き情報の候補リストを生成する動き情報算出ステップと、前記動き情報算出ステップから出力される前記候補リスト内の動き情報を備える隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記動き情報算出ステップから出力される前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号ステップとを備える。前記動き情報算出ステップは、前記復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成ステップと、前記候補リスト生成ステップにより生成された前記候補リストに含まれる動き情報の候補の中で、互いに動きベクトル値が一致するものがある場合、いずれか一方の動き情報の候補を前記候補リストから削除する候補リスト削除ステップとを含む。ブロック単位の予測種別として、第1予測および第2予測の両方に予測処理のための動きベクトル値が設定される双予測と、第1予測または第2予測のいずれか一方に予測処理のための動きベクトル値が設定される単予測とが定義され、単予測の場合は、予測処理のための動きベクトル値が設定されない方について動きベクトル値として規定値が設定されており、前記候補リスト削除ステップは、前記候補リストに含まれる2つの動き情報の候補間で、単予測であるか双予測であるかに関係なく、第1予測の動きベクトル値同士が一致すると共に第2予測の動きベクトル値同士が一致する場合に、これら2つの動き情報の候補のいずれか一方の動き情報の候補を前記候補リストから削除する。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、動き情報を処理する際の負荷を抑制しつつ、動き情報の符号化効率を向上させることができる。
本発明の実施の形態に係る動画像符号化装置の構成を示す図である。 符号化対象画像の一例を示す図である。 予測ブロックサイズの詳細な定義を示す図である。 図4(a)〜(d)は、動き補償予測の予測方向について説明する図である。 本発明の実施の形態に係る動画像符号化装置における符号化処理の動作の流れを示すフローチャートである。 本発明の実施の形態に係る動画像復号装置の構成を示す図である。 本発明の実施の形態に係る動画像復号装置における復号処理の動作の流れを示すフローチャートである。 図8(a)、(b)は、本発明の実施の形態における動き補償予測において使用される動き情報を符号化するための2つの予測モードを説明する図である。 実施の形態の動画像符号化装置における予測モード判定部の詳細な構成を示す図である。 実施の形態における図9の結合動き情報算出部の構成を示す図である。 図5のステップS502の動き補償予測モード/予測信号生成処理の詳細動作を説明するフローチャートである。 実施の形態における図11の結合動き情報候補リスト生成の詳細動作を説明するフローチャートである。 空間結合動き情報候補リスト生成に用いる空間候補ブロック群を示す図である。 空間結合動き情報候補リスト生成の詳細動作を説明するフローチャートである。 時間結合動き情報候補リスト生成に用いる時間候補ブロック群を示す図である。 時間結合動き情報候補リスト生成の詳細動作を説明するフローチャートである。 時間結合動き情報に対する基準動きベクトル値ColMvに対する、L0予測、L1予測に対して登録する動きベクトル値mvL0t、mvL1tの算出手法を説明する図である。 実施の形態における結合動き情報候補削除の詳細動作を説明するフローチャートである。 図19(a)、(b)は、結合動き情報候補削除処理を行う前後の結合動き情報候補リストの一例を示す図である。 図20(a)、(b)は、動きベクトルと参照画像インデックスの関係を説明する図である。 第1結合動き情報候補リスト追加部の詳細動作を説明するフローチャートである。 組み合わせ検査回数と結合動き情報候補Mと結合動き情報候補Nの関係を説明する図である。 第2結合動き情報候補リスト追加部の詳細動作を説明するフローチャートである。 図11の結合予測モード評価値生成処理の詳細動作を説明するフローチャートである。 結合動き情報候補数が5の場合のTruncated Unary符号列を示す図である。 図11の予測モード評価値生成処理の詳細動作を説明するフローチャートである。 実施の形態の動画像復号装置における動き情報復号部の詳細な構成を示す図である。 図7の動き情報復号処理の詳細動作を説明するフローチャートである。 図28の結合予測動き情報復号処理の詳細動作を説明するフローチャートである。 図28の予測動き情報復号処理の詳細動作を説明するフローチャートである。
以下、図面とともに本発明の実施の形態に係る動画像符号化装置、動画像符号化方法、動画像符号化プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラムの好適な実施の形態について詳細に説明する。なお、図面の説明には同一要素には同一符号を付与して重複する説明を省略する。
(実施の形態)
[動画像符号化装置全体構成]
図1は、本発明の実施の形態に係る動画像符号化装置の構成を示す図である。以下、各部の動作について説明する。実施の形態に係る動画像符号化装置は、入力端子100、減算部101、直交変換・量子化部102、予測誤差符号化部103、逆量子化・逆変換部104、加算部105、復号画像メモリ106、動きベクトル検出部107、動き補償予測部108、予測モード判定部109、動き情報符号化部110、動き情報メモリ111、多重化部112、及び出力端子113を備える。
入力端子100より入力される画像信号から符号化処理対象の予測ブロックの画像信号が、予測ブロックの位置情報と予測ブロックサイズに基づいて切り出され、予測ブロックの画像信号は、減算部101、動きベクトル検出部107及び予測モード判定部109に供給される。
図2は、符号化対象画像の一例を示す図である。実施の形態に係る予測ブロックサイズに関しては、図2に示すように符号化対象画像が64×64画素の符号化ブロック(CU)単位で符号化処理され、予測ブロックは符号化ブロックが更に分割された単位で構成される。最大予測ブロックサイズは符号化ブロックと同じ64×64画素で、最小予測ブロックサイズは4×4画素である。符号化ブロックの予測ブロックへの分割構成は、非分割(2N×2N)、水平・垂直への分割(N×N)、水平方向のみへの分割(2N×N)、垂直方向のみへの分割(N×2N)が可能である。水平・垂直への分割の場合のみ、更に分割された予測ブロックを符号化ブロックとして階層的に予測ブロックに分割でき、その階層をCU分割数で表現する。
図3は、予測ブロックサイズの詳細な定義を示す図である。CU分割数が0であって最大の予測ブロックサイズである64画素×64画素から、CU分割数が3であって最小の予測ブロックサイズである4画素×4画素までの13の予測ブロックサイズが存在することになる。
本発明の実施の形態に係る予測ブロックの分割構成に関して、この組み合わせに限定されない。また、動画像符号化装置における予測ブロックサイズの選択は、符号化ブロック単位で符号化効率のより良い構造を適応的に選択することが可能であるが、実施の形態は予測ブロック単位での画面間予測及び画面間動き情報の符号化に注目したものであるため、最適な予測ブロックサイズの選択に関する構成要素及び説明を省略する。以降の動画像符号化装置の動作に関しては、選択した予測ブロックサイズ単位で施される動作を説明する。
図1に戻り、減算部101は、入力端子100より供給される画像信号と予測モード判定部109より供給される予測信号を減算して予測誤差信号を算出し、予測誤差信号を直交変換・量子化部102に供給する。
直交変換・量子化部102は、減算部101より供給される予測誤差信号に直交変換及び量子化を施し、量子化された予測誤差信号を予測誤差符号化部103及び逆量子化・逆変換部104に供給する。
予測誤差符号化部103は、直交変換・量子化部102より供給される量子化された予測誤差信号をエントロピー符号化して、予測誤差信号に対する符号列を生成して、多重化部112に供給する。
逆量子化・逆変換部104は、直交変換・量子化部102より供給される量子化された予測誤差信号に対して、逆量子化や逆直交変換などの処理を行い、復号予測誤差信号を生成し加算部105に供給する。
加算部105は、逆量子化・逆変換部104より供給される復号予測誤差信号と、予測モード判定部109より供給される予測信号を加算して、復号画像信号を生成し、復号画像信号を復号画像メモリ116に供給する。
復号画像メモリ106は、加算部105より供給される復号画像信号を格納する。また、画像全体の復号が完了した復号画像については参照画像として1以上の所定画像数記憶し、参照画像信号を動きベクトル検出部107と動き補償予測部108に供給する。
動きベクトル検出部107は、入力端子100より供給される予測ブロックの画像信号と、復号画像メモリ106に記憶された参照画像信号の入力を受けて、各参照画像に対する動きベクトルを検出し、動きベクトル値を予測モード判定部109に供給する。
一般的な動きベクトルの検出方法は、画像信号と同一位置より所定の移動量だけ移動させた参照画像に相当する画像信号について誤差評価値を算出し、誤差評価値が最小となる移動量を動きベクトルとする。誤差評価値としては、画素毎の差分絶対値の総和SAD(Sum of Absolute Difference)や、画素毎の二乗誤差値の総和SSE(Sum of Square Error)等を利用する。さらに、動きベクトルの符号化に関わる符号量も誤差評価値に含めることも可能である。
動き補償予測部108は、予測モード判定部109より指定される参照画像指定情報と、動きベクトル値に従って、復号画像メモリ106内の参照画像指定情報で示される参照画像を、動きベクトル値だけ予測ブロックの画像信号と同一位置より移動させた位置の画像信号を取得して予測信号を生成する。
予測モード判定部109より指定される予測モードが単予測の場合には、1つの参照画像から取得した予測信号を動き補償予測信号とし、予測モードが双予測の場合には、2つの参照画像から取得した予測信号を重みづけ平均したものを動き補償予測信号とし、動き補償予測信号を予測モード判定部109に供給する。ここでは双予測の重みづけ平均の比率を1:1とする。
図4(a)〜(d)は、動き補償予測の予測種別について説明するための図である。単一の参照画像からの予測を行う処理を単予測と定義し、単予測の場合はL0予測またはL1予測という2つの参照画像管理リストに登録された参照画像のいずれか一方を利用する。
図4(a)は単予測であってL0予測の参照画像(RefL0Pic)が符号化対象画像(CurPic)より前の時刻にある場合を示している。図4(b)は単予測であってL0予測の参照画像が符号化対象画像より後の時刻にある場合を示している。同様に、図4(a)および図4(b)のL0予測の参照画像をL1予測の参照画像(RefL1Pic)に置き換えて単予測を行うこともできる。
2つの参照画像からの予測を行う処理を双予測と定義し、双予測の場合はL0予測とL1予測の双方を利用してBI予測と表現する。図4(c)は双予測であってL0予測の参照画像が符号化対象画像より前の時刻にあって、L1予測の参照画像が符号化対象画像より後の時刻にある場合を示している。図4(d)は双予測であってL0予測の参照画像とL1予測の参照画像が符号化対象画像より前の時刻にある場合を示している。このように、L0/L1の予測種別と時間の関係は、L0が過去方向、L1が未来方向とは限定されずに用いることが可能である。
また、単予測、双予測ともに使用可能なピクチャをBピクチャ(Bスライス)、単予測のみが使用可能なピクチャをPピクチャ(Pスライス)と定義する。
図1に戻り、予測モード判定部109は、動きベクトル検出部107より入力される各参照画像に対して検出された動きベクトル値と、動き情報メモリ111に格納された動き情報(予測種別、動きベクトル値、及び参照画像指定情報)をもとに、実施の形態において定義した動き補償予測モードのそれぞれに対して用いられる、参照画像指定情報と動きベクトル値を動き補償予測部108に設定する。設定した値によって、動き補償予測部108から供給される動き補償予測信号と、入力端子100より供給される予測ブロックの画像信号を用いて、最適な動き補償予測モードを決定する。
予測モード判定部109は、決定した予測モード、及び予測モードに応じた予測種別、動きベクトル、及び参照画像指定情報を特定する情報を、動き情報符号化部110に供給し、決定した予測モード及びその予測モードに対する、予測種別、動きベクトル値、及び参照画像指定情報を動き情報メモリ111に供給すると共に、減算部101及び加算部105に決定した予測モードに対応する予測信号を供給する。
動画像符号化装置において、基準とする参照画像を符号化するために同一画面内の符号化済画像を用いて予測を行う画面内予測が行われるが、実施の形態は画面間予測に注目したものであるため、画面内予測に関連する構成要素は省略する。予測モード判定部109の詳細な構成については後述する。
動き情報符号化部110は、予測モード判定部109より供給される予測モード、及び予測モードに応じた予測種別、動きベクトル、及び参照画像指定情報を特定する情報を所定のシンタックス構造に従って符号化することで、動き情報の符号列を生成し、多重化部112に供給する。
動き情報メモリ111は、予測モード判定部109より供給される動き情報(予測種別、動きベクトル、及び参照画像インデックス)を、最小予測ブロックサイズ単位を基準として所定画像分記憶する。このとき、予測種別が単予測である場合には、使用していない参照画像リストの動きベクトルを(0,0)として記憶する。
処理対象の予測ブロックの隣接ブロックの動き情報を空間候補ブロック群とし、処理対象の予測ブロックと同一位置にあるColPic上のブロックとその周辺ブロックの動き情報を時間候補ブロック群とする。
ColPicとは、処理対象の予測ブロックとは別の復号済みの画像であって、復号画像メモリ106に参照画像として記憶されている。実施の形態では、ColPicは直前に復号した参照画像とする。なお、実施の形態では、ColPicは直前に復号した参照画像としたが、表示順で直前の参照画像や表示順で直後の参照画像でもよく、符号化ストリーム中に、ColPicに用いる参照画像を直接指定することも可能である。
動き情報メモリ111は、空間候補ブロック群と時間候補ブロック群の動き情報を、候補ブロック群の動き情報として予測モード判定部109に供給する。多重化部112は、予測誤差符号化部103から供給される予測誤差の符号化列と、動き情報符号化部110から供給される動き情報の符号化列を多重化することで符号化ビットストリームを生成し、出力端子113経由で、記録媒体・伝送路等に当該符号化ビットストリームを出力する。
図1に示した動画像符号化装置の構成は、CPU(Central Processing Unit)、フレームメモリ、ハードディスクなどを備える情報処理装置等のハードウェアによっても実現可能である。
図5は、本発明の実施の形態に係る動画像符号化装置における符号化処理の動作の流れ示すフローチャートである。予測ブロック単位毎に、入力端子100より処理対象の予測ブロック画像を取得する(S500)。動きベクトル検出部107は、処理対象の予測ブロック画像と復号画像メモリ106に格納された複数の参照画像より、参照画像毎の動きベクトル値を算出する(S501)。
続いて、予測モード判定部109は、動きベクトル検出部107より供給される動きベクトルと、動き情報メモリ111に格納された動き情報を用いて、実施の形態において定義した動き補償予測モードのそれぞれに対する予測信号を、動き補償予測部108を用いて取得し、最適な予測モードを選択し、予測信号を生成する(S502)。ステップS502の処理の詳細については後述する。
続いて、減算部101は、処理対象の予測ブロック画像と予測モード判定部109より供給された予測信号との差分を予測誤差信号として算出する(S503)。動き情報符号化部110は、予測モード判定部109より供給される予測モード、及び予測モードに応じた予測種別、動きベクトル、及び参照画像指定情報を特定する情報を所定のシンタックス構造に従って符号化し、動き情報の符号化データを生成する(S504)。
続いて、予測誤差符号化部103は、直交変換・量子化部102で生成された量子化された予測誤差信号をエントロピー符号化して、予測誤差の符号化データを生成する(S505)。多重化部112は、動き情報符号化部110から供給される動き情報の符号化データと、予測誤差符号化部103から供給される予測誤差の符号化データを多重化し、符号化ビットストリームを生成する(S506)。
加算部105は、逆量子化・逆変換部104より供給される復号予測誤差信号と、予測モード判定部109より供給される予測信号を加算して、復号画像信号を生成する(S507)。加算部105によって、生成された復号画像信号が復号画像メモリ106に供給、格納され、以降に符号化する符号化画像の動き補償予測処理に用いられる(S508)。動き情報メモリ111は、動きベクトル検出部107より供給される動き情報(予測種別、動きベクトル、及び参照画像指定情報)を最小の予測ブロックサイズ単位で格納する(S509)。
[動画像復号装置全体構成]
図6は、本発明の実施の形態に係る動画像復号装置の構成を示す図である。以下、各部の動作について説明する。実施の形態に係る動画像復号装置は、入力端子600、多重分離部601、予測差分情報復号部602、逆量子化・逆変換部603、加算部604、復号画像メモリ605、動き情報復号部606、動き情報メモリ607、動き補償予測部608、及び出力端子609を備える。
入力端子600より符号化ビットストリームが多重分離部601に供給される。多重分離部601は、供給された符号化ビットストリームの符号列を予測誤差情報の符号化列と、予測モード、並びに予測モードに応じた予測種別、動きベクトル、及び参照画像指定情報を特定する情報で構成される動き情報の符号化列に分離する。当該予測誤差情報の符号化列を予測差分情報復号部602に供給し、当該動き情報の符号化列を動き情報復号部606に供給する。
予測差分情報復号部602は、多重分離部601より供給された予測誤差情報の符号化列を復号し、量子化された予測誤差信号を生成する。予測差分情報復号部602は、生成した量子化された予測誤差信号を逆量子化・逆変換部603に供給する。
逆量子化・逆変換部603は、予測差分情報復号部602より供給される量子化された予測誤差信号を逆量子化や逆直交変換などの処理を行って予測誤差信号を生成し、復号予測誤差信号を加算部604に供給する。
加算部604は、逆量子化・逆変換部603より供給される復号予測誤差信号と、動き補償予測部608より供給される予測信号を加算して復号画像信号を生成し、復号画像信号を復号画像メモリ605に供給する。
復号画像メモリ605は、図1の動画像符号化装置における復号画像メモリ106と同じ機能を有し、加算部604から供給された復号画像信号を格納し、参照画像信号を動き補償予測部608に供給する。また、復号画像メモリ605は、格納された復号画像信号を再生時刻に合わせて、画像の表示順序に従い出力端子609に供給する。
動き情報復号部606は、多重分離部601より供給される動き情報の符号化列より、予測モード、並びに予測モードに応じた予測種別、動きベクトル、及び参照画像指定情報を特定する情報を動き情報として復号する。復号した動き情報と、動き情報メモリ607より供給される候補ブロック群の動き情報より、動き補償予測に用いる予測種別、動きベクトル及び参照画像指定情報を再生し、動き補償予測部608に供給する。また、動き情報復号部606は再生した動き情報を、動き情報メモリ607に供給する。動き情報復号部606の詳細な構成については後述する。
動き情報メモリ607は、図1の動画像符号化装置における動き情報メモリ111と同じ機能を持ち、動き情報復号部606より供給される再生した動き情報を最小予測ブロックサイズ単位を基準として所定画像分記憶する。また、動き情報メモリ607は、空間候補ブロック群と時間候補ブロック群の動き情報を、候補ブロック群の動き情報として動き情報復号部606に供給する。
動き補償予測部608は、図1の動画像符号化装置における動き補償予測部108と同じ機能を持ち、動き情報復号部606より供給される動き情報に基づいて、復号画像メモリ605内の参照画像指定情報が示す参照画像を、動きベクトル値だけ予測ブロックの画像信号と同一位置より移動させた位置の画像信号を取得して予測信号を生成する。動き補償予測の予測種別が双予測であれば、各予測種別の予測信号を平均したものを予測信号として生成し、予測信号を加算部604に供給する。
出力端子609は、復号画像メモリ605より供給された復号画像信号を、ディスプレイなどの表示媒体に出力することで、復号画像信号が再生される。
図6に示した動画像復号装置の構成も、図1に示した動画像符号化装置の構成と同様に、CPU、フレームメモリ、ハードディスクなどを備える情報処理装置等のハードウェアによっても実現可能である。
図7は、本発明の実施の形態に係る動画像復号装置における復号処理の動作の流れを示すフローチャートである。多重分離部601は、入力端子600より供給された符号化ビットストリームを予測誤差情報の符号化列と、動き情報の符号化列に分離する(S700)。分離された動き情報の符号化列は動き情報復号部606に供給され、動き情報メモリ607より供給される候補ブロック群の動き情報を用いて、復号対象ブロックの動き情報を復号する(S701)。ステップS701の処理の詳細については後述する。
分離された予測誤差情報の符号化列は、予測差分情報復号部602に供給され、量子化された予測誤差信号として復号され、逆量子化・逆変換部603で逆量子化や逆直交変換などの処理を施されることで、復号予測誤差信号が生成される(S702)。
動き情報復号部606より、復号対象ブロックの動き情報が動き補償予測部608に供給され、動き補償予測部608は動き情報にしたがって動き補償予測を行い予測信号を算出する(S703)。加算部604は、逆量子化・逆変換部603から供給された復号予測誤差信号と、動き補償予測部608から供給された予測信号とを加算し、復号画像信号を生成する(S704)。
加算部604より供給された復号画像信号は、復号画像メモリ605に格納される(S705)と共に、動き情報復号部606より供給された復号対象ブロックの動き情報が動き情報メモリ607に格納される(S706)。これで、予測ブロック単位の復号処理が終了する。
[実施の形態の詳細機能説明]
本発明の実施の形態に係る動画像符号化装置の予測モード判定部109の動作、図5のフローチャートにおけるステップS502の処理、並びに本発明の実施の形態に係る動画像復号装置における動き情報復号部606の動作、図7のフローチャートにおけるステップS701の処理の詳細動作を、以下説明する。
[実施の形態における動き補償予測モードの定義]
図8(a)、(b)は、本発明の実施の形態における動き補償予測において使用される動き情報を符号化するための2つの予測モードを説明するための図である。
第一の予測モードは、予測対象ブロックと当該予測対象ブロックに隣接する符号化済ブロックにおける時間方向や空間方向の動きの連続性を用いて、当該予測対象ブロックは自身の動き情報を直接符号化せずに、空間及び時間的に隣接するブロックの動き情報を符号化に使用する手法であり、結合予測モード(マージモード)と呼ぶ。
ここで、空間的に隣接するブロックとは予測対象ブロックと同じ画像に属する符号化済ブロックの中で、予測対象ブロックに隣接するブロックを指す。ここで、時間的に隣接するブロックとは復号画像メモリ106に参照画像として記憶されている処理対象の予測ブロックとは別の復号済みの画像に属するブロックの中で、予測対象ブロックと同一空間位置及びその周辺にあるブロックを指す。
結合予測モードの場合には、複数の隣接ブロック候補より選択的に結合する動き情報が定義でき、動き情報は使用する隣接ブロックを指定する情報(インデックス)を符号化することで、指定情報をもとに取得した動き情報をそのまま動き補償予測に用いる。更に、結合予測モードにおいては、予測差分情報を符号化伝送せずに、結合予測モードで予測された予測信号を復号ピクチャとするSkipモードを定義し、結合した動き情報のみの少ない情報で復号画像が再生できる構成を有する。Skipモードにおいて伝送する動き情報は、結合予測モードと同様に隣接ブロックを定義する指定情報となる。
第二の予測モードは、動き情報の構成要素を個別にすべて符号化し、予測ブロックに対して予測誤差の少ない動き情報を伝送する手法であり、動き検出予測モードと呼ぶ。動き検出予測モードは、従来の動き補償予測の動き情報の符号化と同様に、参照画像を特定するための情報(参照画像インデックス)と、動きベクトルを特定するための情報が別々に符号化される。
動き検出予測モードには、単予測と双予測のどちらを使用するか予測モードで指示し、単予測単予測の場合には1つの参照画像に対する参照画像を特定する情報と、動きベクトルの予測ベクトルとの差分ベクトルを符号化する。双予測の場合には2つの参照画像に対する参照画像を特定する情報と、動きベクトルがそれぞれ個別に符号化される。動きベクトルに対する予測ベクトルは、AVCと同様に隣接ブロックの動き情報から生成されるが、結合予測モードと同様に、複数の隣接ブロック候補より予測ベクトルに用いる動きベクトルを選択でき、動きベクトルは予測ベクトルに使用する隣接ブロックを指定する情報(インデックス)と差分ベクトルの2つを符号化することで伝送される。
[実施の形態における動画像符号化装置における予測モード判定部の詳細動作説明]
図9は、実施の形態の動画像符号化装置における予測モード判定部109の詳細な構成を示す図である。予測モード判定部109は、最適な動き補償予測モードを決定する機能を有する。
予測モード判定部109は、動き補償予測生成部900、予測誤差算出部901、予測ベクトル算出部902、差分ベクトル算出部903、動き情報符号量算出部904、予測モード評価部905、結合動き情報算出部906、及び結合動き補償予測生成部907を含む。
図1における予測モード判定部109に対して、動きベクトル検出部107より入力された動きベクトル値が、動き補償予測生成部900に供給され、動き情報メモリ111より入力された動き情報が、予測ベクトル算出部902、及び結合動き情報算出部906に供給される。
また、動き補償予測部108に対して、動き補償予測生成部900、及び結合動き補償予測生成部907から、動き補償予測に用いる参照画像指定情報と動きベクトルが出力され、動き補償予測部108より、生成された動き補償予測画像が予測誤差算出部901に供給される。予測誤差算出部901には更に、入力端子100より符号化対象となる予測ブロックの画像信号が供給される。
また、予測モード評価部905から、動き情報符号化部110に対して符号化する動き情報と確定した予測モード情報を供給し、動き情報メモリ111に動き情報を供給し、動き補償予測信号を減算部101及び加算部105に供給する。
動き補償予測生成部900は、予測に使用可能な各参照画像に対して算出された動きベクトル値を受信し、参照画像指定情報を予測ベクトル算出部902に供給し、参照画像指定情報と動きベクトルを出力する。
予測誤差算出部901は、入力された動き補償予測画像と処理対象の予測ブロック画像より、予測誤差評価値を算出する。誤差評価値を算出するための演算としては、動きベクトル検出における誤差評価値と同様に、画素毎の差分絶対値の総和SADや、画素毎の二乗誤差値の総和SSE等を使用できる。更に、予測残差の符号化を行う際に施される、直交変換・量子化を行うことによって復号画像に生じる歪成分の量を加味することで、より正確な誤差評価値が算出可能である。この場合には、予測誤差算出部901内に、図1における減算部101、直交変換・量子化部102、逆量子化・逆変換部104、加算部105の機能を有することで実現できる。
予測誤差算出部901は、各予測モードにおいて算出された予測誤差評価値と、動き補償予測信号を予測モード評価部905に供給する。
予測ベクトル算出部902は、動き補償予測生成部900より参照画像指定情報を供給され、動き情報メモリ111から供給される隣接ブロックの動き情報における候補ブロック群より、指定された参照画像に対する動きベクトル値を入力し、複数の予測ベクトルを予測ベクトル候補リストと共に生成し、差分ベクトル算出部903に、参照画像指定情報と共に供給する。予測ベクトル算出部902は、予測ベクトルの候補を作成し、予測ベクトル候補として登録する。
差分ベクトル算出部903は、予測ベクトル算出部902より供給された、予測ベクトル候補のそれぞれに対して、動き補償予測生成部900から供給される動きベクトル値との差分を計算し、差分ベクトル値を算出する。算出された差分ベクトル値と予測ベクトル候補に対する指定情報である予測ベクトルインデックスを符号化した際、符号量が最も少ない。差分ベクトル算出部903は、最も少ない情報量である予測ベクトルに対する予測ベクトルインデックスと差分ベクトル値を参照画像指定情報と共に、動き情報符号量算出部904に供給する。
動き情報符号量算出部904は、差分ベクトル算出部903より供給される、差分ベクトル値、参照画像指定情報、予測ベクトルインデックス、および予測モードより、各予測モードにおける動き情報に要する符号量を算出する。また、動き情報符号量算出部904は、結合動き補償予測生成部907より、結合予測モードにおいて伝送する必要がある、結合動き情報インデックスと予測モードを示すための情報を受け取り、結合予測モードにおける動き情報に要する符号量を算出する。
動き情報符号量算出部904は、各予測モードにおいて算出された動き情報及び動き情報に要する符号量を予測モード評価部905に供給する。
予測モード評価部905は、予測誤差算出部901より供給された各予測モードの予測誤差評価値と、動き情報符号量算出部904から供給された各予測モードの動き情報符号量を用いて、各予測モードの総合動き補償予測誤差評価値を算出し、最も少ない評価値である予測モードを選択し、選択した予測モードと選択した予測モードに対する動き情報を、動き情報符号化部110、動き情報メモリ111に出力する。また、予測モード評価部905は同様に、予測誤差算出部901より供給された動き補償予測信号に対して、選択した予測モードにおける予測信号を選択して減算部101及び加算部105に出力する。
結合動き情報算出部906は、動き情報メモリ111より供給される隣接ブロックの動き情報における候補ブロック群を用いて、単予測であるか双予測であるかを示す予測種別、参照画像指定情報、動きベクトル値で構成される動き情報として、複数の動き情報を結合動き情報候補リストと共に生成し、結合動き補償予測生成部907に供給する。
図10は、結合動き情報算出部906の構成を示す図である。結合動き情報算出部906は、空間結合動き情報候補リスト生成部1000、時間結合動き情報候補リスト生成部1001、結合動き情報候補リスト削除部1002、第1結合動き情報候補リスト追加部1003および第2結合動き情報候補リスト追加部1004を含む。結合動き情報算出部906は、候補ブロック群より所定の順番で動き情報の候補を作成し、その中から、同一の動き情報を持つ候補を削除することで、有効な動き情報のみを結合動き情報候補として登録する。結合動き情報算出部906の詳細動作に関しては、後述する。
図9に戻り、結合動き補償予測生成部907は、結合動き情報算出部906より供給された結合動き情報候補リストより、登録された結合動き情報候補のそれぞれに対して、動き情報より、予測種別に応じて1つの参照画像(単予測)もしくは2つの参照画像(双予測)の参照画像指定情報と動きベクトル値を動き補償予測部108に指定して、動き補償予測画像を生成すると共に、それぞれの結合動き情報インデックスを動き情報符号量算出部904に供給する。
図9の構成では、それぞれの結合動き情報インデックスにおける予測モード評価は、予測モード評価部905で施されるが、予測誤差評価値及び動き情報符号量を予測誤差算出部901及び動き情報符号量算出部904より受け取り、結合動き補償予測生成部907内で、最適な結合動き補償予測の結合動きインデックスを確定させた後に、他の予測モードを含めた最適予測モードの評価を行う構成を取ることも可能である。
図11は、図5のステップS502の動き補償予測モード/予測信号生成処理の詳細動作を説明するためのフローチャートである。この動作は、図9の予測モード判定部109における詳細動作を示している。
最初に、結合動き情報候補リスト生成を行い(S1100)、結合予測モード評価値を生成する(S1101)。続いて、予測モード評価値を生成し(S1102)、生成した評価値を比較することで最適な予測モードを選択する(S1103)。ただし、ステップS1101及びS1102の評価値生成の順序はこれに限らない。
選択された予測モードに従い予測信号を出力し(S1104)、選択された予測モードに従い動き情報を出力する(S1105)ことで、予測ブロック単位の動き補償予測モード/予測信号生成処理が終了する。ステップS1100、S1101、及びS1102の詳細動作に関しては後述する。
図12は、図11のステップS1100の結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。この動作は、図9の結合動き情報算出部906における構成の詳細動作を示している。
図10の空間結合動き情報候補リスト生成部1000は、動き情報メモリ111より供給される空間候補ブロック群から領域外である候補ブロックや、イントラモードである候補ブロックを除いた候補ブロックから空間結合動き情報候補リストを生成する(S1200)。空間結合動き情報候補リスト生成の詳細な動作は後述する。
時間結合動き情報候補リスト生成部1001は、続いて動き情報メモリ111より供給される時間候補ブロック群から領域外である候補ブロックや、イントラモードである候補ブロックを除いた候補ブロックから時間結合動き情報候補リストを生成し(S1201)、時間結合動き情報候補リストと結合して結合動き情報候補リストとする。時間結合動き情報候補リスト生成の詳細な動作は後述する。
続いて、結合動き情報候補リスト削除部1002において、生成された空間結合動き情報候補リストと時間結合動き情報候補リストを統合した結合動き情報候補リストより、信頼度の低い動き情報を持つ結合動き情報候補を削除して動き情報候補リストを更新する(S1202)。結合動き情報候補削除の詳細な動作は後述する。
次に、第1結合動き情報候補リスト追加部1003は、時間結合動き情報候補リスト生成部1001で生成された結合動き情報候補リストに登録された結合動き情報候補から0個から4個の第1補充結合動き情報候補を生成して結合動き情報候補リストに追加し(S1203)、当該結合動き情報候補リストを第2結合動き情報候補リスト追加部1004に供給する。第1結合動き情報候補リスト追加の詳細な動作は後述する。
次に、第2結合動き情報候補リスト追加部1004は、第1結合動き情報候補リスト追加部1003より供給される結合動き情報候補リストに依存しない0個から2個の第2補充結合動き情報候補を生成して第1結合動き情報候補リスト追加部1003より供給される結合動き情報候補リストに追加し(S1204)、処理を終了する。第2結合動き情報候補リスト追加の詳細な動作は後述する。
動き情報メモリ111より、結合動き情報算出部906に供給される動き情報の候補ブロック群には、空間候補ブロック群と時間候補ブロック群が含まれる。まず、空間結合動き情報候補リスト生成について説明する。
図13は、空間結合動き情報候補リスト生成に用いる空間候補ブロック群を示す図である。空間候補ブロック群は、符号化対象画像の予測対象ブロックに隣接している同一画像のブロックを示す。ブロック群は、その管理が最小予測ブロックサイズ単位で行われ、候補ブロックの位置は、最小予測ブロックサイズの単位で管理されるが、隣接ブロックの予測ブロックサイズが最小予測ブロックサイズよりも大きな場合には、予測ブロックサイズ内の全ての候補ブロックに同一の動き情報が格納される。実施の形態においては、隣接するブロック群の内、図13に示すようなブロックA0、ブロックA1、ブロックB0、ブロックB1、ブロックB2の5ブロックを空間候補ブロック群とする。
図14は、空間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。空間候補ブロック群に含まれる5つの候補ブロックのうち、ブロックA0、ブロックA1、ブロックB0、ブロックB1、ブロックB2について、ブロックA1、ブロックB1、ブロックB0、ブロックA0の順序で以下の処理を繰り返し行う(S1400〜S1403)。
最初に候補ブロックの有効性を検査する(S1401)。候補ブロックが領域外でなくイントラモードでない場合、候補ブロックは有効となる。候補ブロックが有効であれば(S1401:YES)、候補ブロックの動き情報を空間結合動き情報候補リストに追加する(S1402)。
ステップS1400からS1403までの繰り返し処理に続いて、空間結合動き情報候補リストに追加された候補数が4未満だった場合(S1404:YES)、候補ブロックB2の有効性を検査する(S1405)。ブロックB2が領域外でなくイントラモードでない場合(S1405:YES)、ブロックB2の動き情報を空間結合動き情報候補リストに追加する(S1406)。
ここでは、空間結合動き情報候補リストには4以下の候補ブロックの動き情報が含まれるとしたが、空間候補ブロック群は、処理対象の予測ブロックに隣接する少なくとも1以上の処理済みのブロックであり、候補ブロックの有効性によって空間結合動き情報候補リストの数が変動すればよく、これに限定されない。
続いて、時間結合動き情報候補リスト生成について説明する。図15は、時間結合動き情報候補リスト生成に用いる時間方向周辺予測ブロックの定義を説明する図である。時間候補ブロック群は、予測対象ブロックが属する画像とは別の復号済みの画像ColPicに属するブロックの中で、予測対象ブロックと同位置及びその周辺にあるブロックを示す。ブロック群は、その管理が最小空間予測ブロックサイズ単位で行われ、候補ブロックの位置は、最小空間予測ブロックサイズの単位で管理される。本発明の実施の形態においては、最小空間予測ブロックサイズは最小予測ブロックサイズを垂直方向、水平方向にそれぞれ2倍した大きさとする。時間的に隣接するブロックの予測ブロックのサイズが最小空間予測ブロックサイズよりも大きな場合には、予測ブロックサイズ内のすべての候補ブロックに同一の動きの情報が格納される。一方、予測ブロックのサイズが最小空間予測ブロックサイズよりも小さな場合には、時間方向周辺予測ブロックの左上に位置する予測ブロックの動きの情報を時間方向周辺予測ブロックの情報とする。図15(b)に予測ブロックサイズが最小空間予測ブロックサイズより小さい場合の時間方向周辺予測ブロックの動き情報を示す。
図15(a)におけるA1〜A4、B1〜B4、C、D、E、F1〜F4、G1〜G4、H、I1〜I16の位置のブロックが、時間的に隣接するブロック群となる。実施の形態においては、これら時間的に隣接するブロック群の内、時間候補ブロック群をブロックHとブロックI6の2ブロックとする。
図16は、時間結合動き情報候補リスト生成の詳細動作を説明するためのフローチャートである。時間候補ブロック群に含まれる2つの候補ブロックであるブロックHとブロックI6について(S1600、S1605)、ブロックH、ブロックI6の順序で候補ブロックの有効性を検査する(S1601)。候補ブロックが有効である場合(S1601:YES)、ステップS1602〜ステップS1604の処理が行われ、生成された動き情報が時間結合動き情報候補リストに登録され、処理が終了する。候補ブロックが画面領域外の位置を示す場合や、候補ブロックがイントラ予測ブロックである場合(S1601:NO)、候補ブロックが有効でなく、次の候補ブロックの有効/無効判定が行われる。
候補ブロックが有効である場合(S1601:YES)、候補ブロックの動き情報をもとに結合動き情報候補に登録する参照画像選択候補を確定する(S1602)。実施の形態ではL0予測の参照画像を、L0予測の参照画像のうち処理対象画像に最も近い距離にある参照画像とし、L1予測の参照画像を、L1予測の参照画像のうち処理対象画像に最も近い距離にある参照画像とする。
ここでの参照画像選択候補の確定手法は、L0予測の参照画像とL1予測の参照画像が決定できればよく、これに限定されない。符号化処理と復号処理で同一の手法で参照画像を確定することで、符号化時に意図した参照画像を確定できる。他の確定手法としては、例えばL0予測の参照画像及びL1予測の参照画像の参照画像インデックスが0である参照画像を選択する手法や、空間隣接ブロックが使用しているL0参照画像及びL1参照画像で、最も多く使用されている参照画像を予測対象ブロックにおける参照画像として選択する手法や、符号化ストリーム中で各予測種別の参照画像を指定する手法を用いることが可能である。
次に、候補ブロックの動き情報をもとに結合動き情報候補に登録する動きベクトル値を確定する(S1603)。実施の形態における、時間結合動き情報は、候補ブロックの動き情報で有効な予測種別である動きベクトル値をもとに、双予測の動き情報を算出する。候補ブロックの予測種別がL0予測もしくはL1予測の単予測の場合には、予測に用いられている予測種別(L0予測或いはL1予測)の動き情報を選択し、その参照画像指定情報と動きベクトル値を双予測動き情報生成の基準値とする。
候補ブロックの予測種別が双予測である場合には、L0予測或いはL1予測のどちらか一方の動き情報を基準値として選択する。基準値の選択方法は、例えばColPicと同じ予測種別に存在する動き情報を選択する、候補ブロックのL0予測、L1予測のそれぞれの参照画像でColPicとの画像間距離が近い方を選択する、或いは候補ブロックのL0予測、L1予測のそれぞれの動きベクトルが符号化処理対象画像と交差する方を選択する等が挙げられる。
双予測動き情報生成の基準とする動きベクトル値が確定したら、結合動き情報候補に登録する動きベクトル値を算出する。
図17は、時間結合動き情報に対する基準動きベクトル値ColMvに対する、L0予測、L1予測に対して登録する動きベクトル値mvL0t、mvL1tの算出手法を説明するための図である。
基準動きベクトル値ColMvに対するColPicと候補ブロックの基準とする動きベクトルの対象となる参照画像との画像間距離をColDistとする。L0予測、L1予測の各参照画像と処理対象画像との画像間距離をCurrL0Dist、CurrL1Distとする。ColMvを、ColDistとCurrL0Dist、CurrL1Distの距離比率でスケーリングした動きベクトルを、それぞれに登録する動きベクトルとする。具体的には、登録する動きベクトル値mvL0t、mvL1tは、下記式1、2で算出される。
mvL0t=mvCol×CurrL0Dist/ColDist・・・(式1)
mvL1t=mvCol×CurrL1Dist/ColDist・・・(式2)
となる。
図16に戻り、このようにして生成された、双予測の参照画像選択情報(インデックス)と、動きベクトル値を結合動き情報候補に追加し(S1604)、時間結合動き情報候補リスト作成処理が終了する。
図18は、結合動き情報候補削除の詳細動作を説明するためのフローチャートである。空間結合動き情報候補リスト作成処理及び時間結合動き情報候補リスト作成処理により、生成される結合動き情報候補の最大数をMaxMergeCandとすると、i=MaxMergeCand−1からi>0までの結合動き情報候補(候補(i))に対して以下の処理を繰り返し行う(S1800〜S1806)。
候補(i)が存在していれば(S1801のYES)、ii=i−1からii>=0までの結合動き情報候補(候補(ii))に対して以下の処理を繰り返し行い(S1802〜S1805)、候補(i)が存在しない場合(S1801のNO)はステップS1802からS1805までの候補(ii)についての繰り返し処理をスキップする。
まず、候補(i)の動きベクトル値(動きベクトル(i))と候補(ii)の動きベクトル値を比較する(S1803)。すなわち、候補(i)と候補(ii)のL0予測およびL1予測における動きベクトル値の水平成分と垂直成分をそれぞれ比較する。
候補(i)と候補(ii)のL0予測およびL1予測における動きベクトル値の水平成分と垂直成分がそれぞれ同一の場合には(S1803:YES)、候補(i)を結合動き情報候補リストから削除し(S1804)、候補(ii)についての繰り返し処理を終了する。
候補(i)と候補(ii)のL0予測およびL1予測における動きベクトル値の水平成分と垂直成分が少なくとも1つ以上異なる場合(S1803のNO)、iiから1を減算し、候補(ii)についての処理を繰り返す(S1802〜S1805)。
ステップS1800からS1805までの繰り返し処理に続いて、iから1を減算し、候補(i)についての処理を繰り返す(S1800〜S1806)。
また、動きベクトルの比較においては、予測種別はすべて双予測であるとしてL0予測、L1予測の動きベクトルをそれぞれ比較する。前述したように、結合動き情報候補リストに含まれる動き情報候補の予測種別が単予測である場合、使用されない参照画像リストの予測ベクトル、すなわち、L0予測におけるL1予測の動きベクトルと、L1予測におけるL0予測の動きベクトルの値は(0、0)である。
図19(a)、(b)は、結合動き情報候補削除処理を行う前後の結合動き情報候補リストの一例を示す図である。図19(a)において、インデックス2はL0予測であるから、使用されていないL1予測のベクトル値は(0,0)であり、比較を行うと、インデックス0の動き情報とインデックス2の動き情報は、L0予測およびL1予測の動きベクトル値が同じであるから、結合動き情報候補削除の処理によってインデックス2の結合動き情報候補が削除される。同様に、インデックス3はL1予測であるから、使用されていないL0予測のベクトル値は(0、0)であり、比較を行うと、インデックス3の動き情報と、インデックス4の動き情報は、L0予測およびL1予測の動きベクトル値が同じであるから、結合動き情報候補削除の処理によってインデックス4の動き情報候補が削除され、結果として図19(b)のようになる。
以上の処理を結合動き情報候補に対して行うことにより、結合動き情報候補のうちで、L0予測およびL1予測のベクトル値が同じ候補を削除することができる。この点が本実施の形態において符号化効率を向上する特徴的な構成であり、結合動き情報候補を削除する処理において、予測種別、動きベクトル値、および参照画像インデックスを比較して、完全に同じ動き情報を持つ結合動き情報候補を削減するのではなく、すべての候補を双予測として、L0予測およびL1予測の動きベクトル値のみを比較することにより、信頼度の低い動き情報を持つ結合動き情報候補も削除することが可能である。
なお、ここではBピクチャ(Bスライス)について説明したが、Pピクチャ(Pスライス)の場合は、すべての候補をL0予測として、ベクトル値の比較を行う。
図20(a)、(b)は、動きベクトルと参照画像インデックスの関係を説明する図である。動画像では被写体が等速度運動をしている動きが多く、等速度運動をしている被写体の動きを示す動きベクトルは、図20(a)に示すように参照画像の距離に応じてスケーリングした関係にある。すなわち、一つ前の時刻の参照画像(参照インデックスidx0)からの動きを示す動きベクトルと、二つ前の時刻の参照画像(参照インデックスidx1)からの動きを示す動きベクトルとは、予測方向が同じで動きベクトル値は時間差分だけスケーリングした関係にある。
一方、図20(b)に示すように、予測方向と動きベクトル値が同じで、参照画像インデックスのみ異なる二つの動きベクトルは、被写体が等速度運動していることを否定する。すなわち、一つ前の時刻の参照画像(参照インデックスidx0)からの動きを示す動きベクトルと、二つ前の時刻の参照画像(参照インデックスidx1)からの動きを示す動きベクトルとは、予測方向が同じで動きベクトル値も同じである。これは、二つ前の時刻から一つ前の時刻にかけて被写体に動きがなく、一つ前の時刻から現時刻にかけて被写体が動いたことを意味しており、被写体の動きは等速度運動していないことになる。被写体が等速度運動をしていることを仮定すると、このような場合、これら二つの動きベクトルをともに結合動き情報候補として残しても、結合動き情報インデックスの符号量が増加することに見合わない。
図20(b)に示したような、互いに予測方向と動きベクトル値が同じで参照画像インデックスが異なる動き情報の候補を、結合動き情報候補として残すには、当然のことながら、参照画像インデックスが同一であるか否かをチェックする必要がある。そのため、候補を削除する条件式が増加し、演算量が増加してしまう。そこで、本実施の形態では、2つの動き情報の候補について、参照画像インデックスが同一であるかどうかをチェックすることなく(参照画像インデックスが同じであろうとなかろうと)、いずれか一方の動き情報の候補を結合動き情報候補から削除することで、演算量を削減しつつ、冗長な動き情報の候補の登録を抑制し符号化効率を向上させることができる。
2つの動き情報の候補について、互いに予測種別と動きベクトル値が同じであって、参照画像インデックスも同じであれば、それらは冗長な候補であるから、両方の動き情報を残すことは結合動き情報インデックスの符号量を無駄に増加させる。一方、2つの動き情報の候補について、互いに予測種別と動きベクトル値が同じであって、参照画像インデックスが異なれば、それらは等速度運動を意味しないものであるから、信頼性が低く、両方の動き情報を登録することは結合動き情報インデックスの符号量の増加に見合わない。したがって、参照画像インデックスが同じであろうとなかろうと、2つの動き情報の候補について、互いに動きベクトル値が同じであれば、いずれか一方の候補を削除することにメリットがある。
また、本実施の形態においては、予測種別が単予測である場合にも、すべて双予測として比較を行うことにより、予測種別の比較を行うことなく結合動き情報の同一性をチェックしている。前述したように、予測種別が単予測である場合に、使われていない参照画像リストのベクトル値は(0、0)であるから、すべて双予測として比較を行えば、使用可能なベクトル値が(0,0)である場合以外においては、予測種別の比較を行ったうえに使用されている参照画像リストのベクトル値のみ比較する場合と全く同様の比較結果が得られる。
また、後述する第1結合動き情報候補リスト追加部1003での結合動き情報候補追加の処理においては、結合動き情報候補リストに含まれる複数の候補の動き情報を元に、L0予測とL1予測の動きベクトルをそれぞれ組み合わせて新たな候補を生成して追加を行う。ここで、結合動き情報候補リストに含まれている動き情報候補が単予測と双予測であり、単予測で使用される参照リストの動きベクトルが互いに一致していると、結果的に生成される組み合わせは減少する。しかし、本実施の形態の方法によれば、結合動き情報候補リストに含まれている動き情報候補が単予測と双予測であり、単予測で使用される参照リストの動きベクトルが互いに一致している場合であっても、双予測の他方の動きベクトルが(0,0)であれば、単予測と双予測のいずれかの動き情報候補が削除されるので、その結果、結合動き情報候補リストに新たな結合動き情報候補を追加することができるようになり、結合予測モードに用いることができる動き情報の種類が増加し、符号化効率を向上させることができる。
さらに、結合動き情報候補の使用可能なベクトル値に(0,0)が含まれる場合、例えば、インデックス0の候補がL0予測でL0ベクトル値が(0,0)、インデックス1の候補が双予測でL0予測、L1予測ともにベクトル値が(0,0)である場合には、インデックス1が削除される。しかし、後述する第2結合動き情報候補リスト追加部1004での結合動き情報候補追加の処理において、双予測でベクトル値が(0,0)であるベクトルが追加されるため、符号化効率の低下に結びつくことはない。
このように、結合動き情報候補削除において、予測種別、動きベクトル値および参照画像インデックスをすべて比較するのではなく、すべての候補を双予測であるとして、動きベクトル値のみを比較することで、結合動き情報候補から冗長性の高い信頼度の低い動き情報を持つ候補を適切に削除して符号化効率を向上しながら、比較処理を減らすことが可能となり、回路規模や処理時間を削減することが可能である。
続いて、第1結合動き情報候補リスト追加部1003の詳細な動作について説明する。図21は、第1結合動き情報候補リスト追加部1003の動作を説明するためのフローチャートである。最初に、時間結合動き情報候補リスト生成部1001より供給される結合動き情報候補リストに登録された結合動き情報候補の数(NumCandList)と結合動き情報候補最大数(MaxNumMergeCand)から、第1追加結合動き情報候補を生成する最大数であるMaxNumGenCandを式3より算出する(S2100)。
MaxNumGenCand=MaxNumMergeCand-NumCandList; (NumCandList>1)
MaxNumGenCand=0; (NumCandList<=1) (式3)
次に、MaxNumGenCandが0より大きいか検査する(S2101)。MaxNumGenCandが0より大きくなければ(S2101のNO)、処理を終了する。MaxNumGenCandが0より大きければ(S2101のYES)、以下の処理を行う。まず、組み合わせ検査回数であるloopTimesを決定する。loopTimesはNumCandList×NumCandListに設定する。ただし、loopTimesが8を超える場合にはloopTimesは8に制限する(S2102)。ここで、loopTimesは0から7までの整数となる。loopTimesだけ以下の処理を繰り返し行う(S2102からS2109)。
結合動き情報候補Mと結合動き情報候補Nの組み合わせを決定する(S2103)。ここで、組み合わせ検査回数と結合動き情報候補Mと結合動き情報候補Nの関係について説明する。
図22は組み合わせ検査回数と結合動き情報候補Mと結合動き情報候補Nの関係を説明するための図である。図22のようにMとNは異なる値であって、MとNの合計値が小さくなる順に設定される。
結合動き情報候補MのL0予測が有効で且つ結合動き情報候補NのL1予測が有効であるか検査する(S2104)。結合動き情報候補MのL0予測が有効で且つ結合動き情報候補NのL1予測が有効であれば(S2104のYES)、結合動き情報候補MのL0予測の参照画像と動きベクトルが結合動き情報候補NのL1予測の参照画像と動きベクトルと異なるか検査する(S2105)。結合動き情報候補MのL0予測が有効で且つ結合動き情報候補NのL1予測が有効でなければ(S2104のNO)、次の組み合わせを処理する。結合動き情報候補MのL0予測の参照画像と結合動き情報候補NのL1予測の参照画像が異なれば(S2105のYES)、結合動き情報候補MのL0予測の動きベクトルと参照画像を結合動き情報候補NのL1予測の動きベクトルと参照画像と組み合わせて双結合動き情報候補を生成する(S2106)。ここでは、第1追加結合動き情報候補として、ある結合動き情報候補のL0予測とそれとは異なる結合動き情報候補のL1予測の動き情報を組み合わせた双結合動き情報を生成する。結合動き情報候補MのL0予測の参照画像と結合動き情報候補NのL1予測の参照画像が同じであれば(S2105のNO)、次の組み合わせを処理する。ステップS2106に続いて、双結合動き情報候補を結合動き情報候補リストに追加する(S2107)。ステップS2107に続いて、生成した双結合動き情報の数がMaxNumGenCandであるか検査する(S2108)。生成された双結合動き情報の数がMaxNumGenCandであれば(S2108のYES)、処理を終了する。生成された双結合動き情報の数がMaxNumGenCandでなければ(S2108のNO)、次の組み合わせを処理する。
ここでは、第1追加結合動き情報候補を、結合動き情報候補リストに登録されたある結合動き情報候補のL0予測の動きベクトルと参照画像を、別の結合動き情報候補のL1予測の動きベクトルと参照画像と組み合わせて、動き補償予測の予測種別が双予測である双結合動き情報候補としたが、これに限定されない。例えば、結合動き情報候補リストに登録されたある結合動き情報候補のL0予測の動きベクトルとL1予測の動きベクトルに+1などのオフセット値を加えた動き補償予測の予測種別が双予測である結合動き情報候補、結合動き情報候補リストに登録されたある結合動き情報候補のL0予測の動きベクトルまたはL1予測の動きベクトルに+1などのオフセット値を加えた動き補償予測の予測種別が単予測である結合動き情報候補としてもよいし、それらを任意に組み合わせてもよい。
ここで、第1追加結合動き情報候補は、結合動き情報候補リストに登録された結合動き情報候補の動き情報と処理対象の動き情報候補の動きに微妙にずれがある場合に、結合動き情報候補リストに登録された結合動き情報候補の動き情報を修正して有効な結合動き情報候補を生成することで、符号化効率を高めることができる。
続いて、第2結合動き情報候補リスト追加部1004の詳細な動作について説明する。図23は、第2結合動き情報候補リスト追加部1004の動作を説明するためのフローチャートである。最初に、第1結合動き情報候補リスト追加部1003より供給される結合動き情報候補リストに登録された結合動き情報候補の数(NumCandList)と結合動き情報候補最大数(MaxNumMergeCand)から、第1追加結合動き情報候補を生成する最大数であるMaxNumGenCandを式4より算出する(S2300)。
MaxNumGenCand=MaxNumMergeCand-NumCandList; (式4)
次に、以下の処理をiについてMaxNumGenCand回繰り返し行う(S2301からS2305)。ここで、iは0からMaxNumGenCand−1の整数となる。L0予測の動きベクトルが(0,0)、参照インデックスがiであって、L1予測の動きベクトルが(0,0)、参照インデックスがiである予測種別が双予測である第2追加結合動き情報候補を生成する(S2302)。第2追加結合動き情報候補を結合動き情報候補リストに追加する(S2303)。次のiについて処理する(S2304)。
ここでは、第2追加結合動き情報候補を、L0予測の動きベクトルが(0,0)、参照インデックスがiであって、L1予測の動きベクトルが(0,0)、参照インデックスがiである予測種別が双予測である結合動き情報候補とした。これは、一般的な動画像において、L0予測の動きベクトルとL1予測の動きベクトルが(0,0)である結合動き情報候補の発生頻度が統計的に高いためである。結合動き情報候補リストに登録された結合動き情報候補の動き情報に依存せず、統計的に利用頻度が高い結合動き情報候補であれば、これに限定されない。例えば、L0予測やL1予測の動きベクトルはそれぞれ(0,0)以外のベクトル値でもよく、L0予測とL1予測の参照インデックスが異なるように設定してもよい。また、第2追加結合動き情報候補を符号化済みの画像や符号化済みの画像の一部の発生頻度の高い動き情報とし、符号化ストリームに符号化して伝送して設定することもできる。なお、ここではBピクチャ(Bスライス)について説明したが、Pピクチャ(Pスライス)の場合は、L0予測の動きベクトルが(0,0)で、予測種別がL0予測である第2追加結合動き情報候補を生成する。
ここで、第2追加結合動き情報候補として結合動き情報候補リストに登録された結合動き情報候補に依存しない結合動き情報候補を設定することで、結合動き情報候補リストに登録された結合動き情報候補が0個である場合に、結合予測モードを利用することを可能とし、符号化効率を向上させることができる。また、結合動き情報候補リストに登録された結合動き情報候補の動き情報と処理対象の動き情報候補の動きが異なる場合に、新たな結合動き情報候補を生成して選択肢の幅を広げることで、符号化効率を向上させることができる。
図24は、図11のステップS1101における結合予測モード評価値生成処理の詳細動作を説明するためのフローチャートである。この動作は、図9の結合動き補償予測生成部908を用いた構成の詳細動作を示している。
最初に予測誤差評価値を最大値に設定し、予測誤差が最小となる結合動き情報インデックスを初期化(例えば、−1などのリスト外の値)する(S2400)。結合動き情報候補リスト生成処理により、生成された結合動き情報候補リストの数をnum_of_indexとすると、i=0からnum_of_index−1までの結合動き情報候補について以下の処理を繰り返し行う(S2401からS2409)。
先ず、結合動き情報候補リストよりインデックスiに格納された動き情報を取得する(S2402)。続いて動き情報符号量を算出する(S2403)。結合予測モードにおいては、結合動き情報インデックスのみが符号化されるので、結合動き情報インデックスのみが動き情報符号量となる。
結合動き情報インデックスの符号列としては、実施の形態では、Truncated Unary符号列を用いる。図25は、結合動き情報候補数が5の場合のTruncated Unary符号列を示す図である。Truncated Unary符号列を用いて結合動き情報インデックスの値を符号化する場合には、結合動き情報インデックスが小さいほど、結合動き情報インデックスに割り当てられる符号ビットが小さくなる。例えば、結合動き情報候補数が5個である場合、結合動き情報インデックスが1であれば'10'の2ビットで表現されるが、結合動き情報インデックスが3であれば'1110'の4ビットで表現される。なお、ここでは上記のように結合動き情報インデックスの符号化にTruncated Unary符号列を利用しているが、他の符号列生成手法を用いることも可能であり、これに限定されない。
続いて、動き情報の予測種別が単予測である場合(S2404:YES)、1つの参照画像に対する参照画像指定情報と動きベクトルを、図1における動き補償予測部108に設定して、動き補償単予測ブロックを生成する(S2405)。動き情報が単予測でない場合(S2404:NO)、2つの参照画像に対する参照画像指定情報と動きベクトルを動き補償予測部108に設定して、動き補償双予測ブロックを生成する(S2406)。
続いて、動き補償予測ブロックと予測対象ブロックの予測誤差と動き情報符号量より、予測誤差評価値を算出し(S2407)、予測誤差評価値が最小値である場合には評価値を更新すると共に、予測誤差最小インデックスを更新する(S2408)。
全ての結合動き情報候補についての予測誤差評価値が比較された結果、選択された予測誤差最小インデックスを、結合予測モードで用いる結合動き情報インデックスとして、予測誤差最小値、動き補償予測ブロックと共に出力し(S2410)、結合予測モード評価値生成処理を終了する。
図26は、図11のステップS1102の予測モード評価値生成処理の詳細動作を説明するためのフローチャートである。
最初に、予測モードが単予測であるか否かを判別する(S2600)。単予測であれば、処理対象とする参照画像リスト(LX)を予測に用いている参照画像リストに設定する(S2601)。単予測でなければ、双予測であるから、この場合はLXをL0とする(S2602)。
次に、LX予測に対する参照画像指定情報(インデックス)と動きベクトル値を取得する(S2603)。続いて、予測ベクトル候補リストを生成し(S2604)、予測ベクトルの中から最適予測ベクトルを選択し、差分ベクトルを生成する(S2605)。最適予測ベクトルの選択手法は、予測ベクトルと伝送する動きベクトルの差分ベクトルを実際に符号化する際の符号量が最も少ないものを選択することが望ましいが、単純に差分ベクトルの水平・垂直成分の絶対値の総和が小さいものを選択するなどの手法で、簡易的に算出してもよい。
続いて、再度予測モードが単予測である否かを判別し(S2606)、予測モードが単予測であればステップS2609に進む。単予測でない、すなわち、双予測であれば、処理対象の参照リストLXがL1か否かを判定する(S2607)。参照リストLXがL1であれば、ステップS2609に進み、L1でない、すなわち、L0であればLXをL1として(S2608)、ステップS2603からステップS2606までの処理と同じ処理が行われる。
続いて、動き情報符号量を算出する(S2609)。単予測モードの場合に、符号化する動き情報としては、1つの参照画像に対する、参照画像指定情報、差分ベクトル値、及び予測ベクトルインデックスの3要素、双予測モードの場合には、L0とL1の2つの参照画像に対する、参照画像指定情報、差分ベクトル値、及び予測ベクトルインデックスの計6要素となり、各々符号化された符号量の総量が動き情報符号量として算出される。本実施の形態における予測ベクトルインデックスの符号列生成手法としては、結合動き情報インデックスの符号列と同様にTruncated Unary符号列を用いるものとする。
続いて、参照画像に対する参照画像指定情報と動きベクトルを図1における動き補償予測部108に設定して、動き補償予測ブロックを生成する(S2610)。
さらに、動き補償予測ブロックと予測対象ブロックの予測誤差と動き情報符号量より、予測誤差評価値を算出し(S2611)、予測誤差評価値と、参照画像に対する動き情報である、参照画像指定情報と差分ベクトル値と予測ベクトルインデックスを動き補償予測ブロックと共に出力し(S2612)、予測モード評価値生成処理を終了する。
以上の処理が、実施の形態における動画像符号化装置における予測モード判定部109の詳細動作となる。
[実施の形態における動画像復号装置における動き情報復号部の詳細動作説明]
図27は、図6に示した実施の形態の動画像復号装置における動き情報復号部606の詳細な構成を示す図である。動き情報復号部606は、動き情報ビットストリーム復号部2700、予測ベクトル算出部2701、ベクトル加算部2702、動き補償予測復号部2703、結合動き情報算出部2704、及び結合動き補償予測復号部2705を含む。
図6における動き情報復号部606に対して、多重分離部601より入力された動き情報ビットストリームが、動き情報ビットストリーム復号部2700に供給され、動き情報メモリ607より入力された動き情報が、予測ベクトル算出部2701、及び結合動き情報算出部2704に供給される。
また、動き補償予測部608に対して、動き補償予測復号部2703、及び結合動き補償予測復号部2705から、動き補償予測に用いる参照画像指定情報と動きベクトルが出力され、予測種別を示す情報を含めた復号された動き情報が、動き情報メモリ607に格納される。
動き情報ビットストリーム復号部2700は、多重分離部601より入力された動き情報ビットストリームを符号化シンタックスに従って復号していくことで、伝送された予測モードと、予測モードに応じた動き情報を生成する。生成した動き情報の中で、結合動き情報インデックスは、結合動き補償予測復号部2705に供給され、参照画像指定情報が予測ベクトル算出部2701に供給され、予測ベクトルインデックスがベクトル加算部2702に供給され、差分ベクトル値がベクトル加算部2702に供給される。
予測ベクトル算出部2701は、動き情報メモリ607より供給された隣接ブロックの動き情報と、動き情報ビットストリーム復号部2700より供給された参照画像指定情報から、動き補償予測の対象となる参照画像に対する予測ベクトル候補リストを生成し、参照画像指定情報と共にベクトル加算部2702に供給する。予測ベクトル算出部2701の動作に関しては、動画像符号化装置における図9の予測ベクトル算出部902と同一の動作が行われ、符号化時の予測ベクトル候補リストと同一の候補リストが生成される。
ベクトル加算部2702は、予測ベクトル算出部2701より供給された予測ベクトル候補リスト及び参照画像指定情報と、動き情報ビットストリーム復号部2700から供給された予測ベクトルインデックス及び差分ベクトルより、予測ベクトルインデックスで示された位置に登録された予測ベクトル値と差分ベクトル値を加算することで、動き補償予測対象となる参照画像に対しての動きベクトル値が再生される。再生された動きベクトル値は、参照画像指定情報と共に、動き補償予測復号部2703に供給される。
動き補償予測復号部2703は、ベクトル加算部2702より参照画像に対する、再生された動きベクトル値と参照画像指定情報が供給され、動きベクトル値と参照画像指定情報を動き補償予測部608に設定することで、動き補償予測信号を生成する。
結合動き情報算出部2704は、動き情報メモリ607から供給される隣接ブロックの動き情報より、結合動き情報候補リストを生成し、結合動き情報候補リストとリスト内の構成要素である結合動き情報候補の参照画像指定情報と動きベクトル値を、結合動き補償予測復号部2705に供給する。
結合動き情報算出部2704の動作に関しては、動画像符号化装置における図9の結合動き情報算出部906と同一の動作が行われ、符号化時の結合動き情報候補リストと同一の候補リストが生成される。
結合動き補償予測復号部2705は、結合動き情報算出部2704より供給される結合動き情報候補リストとリスト内の構成要素である結合動き情報候補の参照画像指定情報と動きベクトル値と、動き情報ビットストリーム復号部2700より供給される結合動き情報インデックスより、結合動き情報インデックスで示された結合動き情報候補リストにおける参照画像指定情報と動きベクトル値を再生し、動き補償予測部608に設定することで、動き補償予測信号を生成する。
図28は、図7のステップS701の動き情報復号処理の詳細動作を説明するためのフローチャートである。動き情報ビットストリーム復号部2700と予測ベクトル算出部2701、及び結合動き情報算出部2704により、図7のステップS701の動き情報復号処理が行われる。
動き情報復号処理は、特定のシンタックス構造で符号化された符号化ビットストリームより動き情報を復号する処理である。最初に符号化ブロックの所定単位でSkipフラグを復号する(S2800)。以降は予測ブロック単位の処理となる。
SkipフラグがSkipモードを示している場合(S2801:YES)、結合予測動き情報復号を行う(S2802)。ステップS2802の詳細処理については、後述する。
Skipモードでない場合(S2801:NO)、マージフラグを復号する(S2803)。マージフラグが1を示している場合(S2804:YES)には、ステップS2802の結合予測動き情報復号に進む。
マージフラグが1でない場合(S2804:NO)、動き予測フラグを復号し(S2805)、予測動き情報復号を行う(S2806)。ステップS2806の詳細動作については、後述する。
図29は、図28のステップS2802の結合予測動き情報復号処理の詳細動作を説明するためのフローチャートである。
最初に予測モードに結合予測モードを設定し(S2900)、結合動き情報候補リストを生成する(S2901)。ステップS2901の処理は、動画像符号化装置における図11のステップS1100の結合動き情報候補リスト生成処理と同一の処理である。
つぎに、結合動き情報インデックスを復号し(S2902)、続いて、結合動き情報候補リストより、結合動き情報インデックスで示す位置に格納されている動き情報を取得する(S2903)。取得する動き情報としては、単予測/双予測を示す予測種別、参照画像指定情報、動きベクトル値となる。
生成された動き情報は、結合予測モードの動き情報として格納され(S2904)、結合動き補償予測復号部2706に供給される。
図30は、図28のステップS2806の予測動き情報復号処理の詳細動作を説明するためのフローチャートである。
最初に、予測種別が単予測であるか否かを判別する(S3000)。単予測であれば、処理対象とする参照画像リスト(LX)を予測に用いている参照画像リストに設定する(S3001)。単予測でなければ、双予測であるから、この場合はLXをL0とする(S3002)。
次に、参照画像指定情報を復号し(S3003)、差分ベクトル値を復号する(S3004)。次に、予測ベクトル候補リストを生成し(S3005)、予測ベクトル候補リストが1より大きな場合(S3006:YES)、予測ベクトルインデックスを復号し(S3007)、予測ベクトル候補リストが1の場合(S3006:NO)、予測ベクトルインデックスに0を設定する(S3008)。
ここで、ステップS3005では、動画像符号化装置における図26のフローチャートのステップS2604と同様の処理が行われる。
次に、予測ベクトル候補リストより、予測ベクトルインデックスで示す位置に格納されている動きベクトル値を取得する(S3009)。復号した差分ベクトル値と動きベクトル値を加算することで動きベクトルを再生する(S3010)。
続いて、再度予測種別が単予測である否かを判別し(S3011)、予測種別が単予測であればステップS3014に進む。単予測でない、すなわち、双予測であれば、処理対象の参照リストLXがL1か否かを判定する(S3012)。参照リストLXがL1であれば、ステップS3014に進み、L1でない、すなわち、L0であればLXをL1として(S3013)、ステップS3003からステップS3011までの処理と同じ処理が行われる。
続いて、生成された動き情報として、単予測の場合には、1つの参照画像に対する参照画像指定情報と動きベクトル値が、双予測の場合には、2つの参照画像に対する参照画像指定情報と動きベクトル値が、動き情報として格納され(S3014)、動き補償予測復号部2703に供給される。
以上のように、実施の形態における、動画像符号化装置及び動画像復号装置においては、結合動き情報算出部における結合動き情報候補を削除する処理において、予測種別、動きベクトル値、および参照画像インデックスを比較して、完全に同じ動き情報を持つ結合動き情報候補を削減するのではなく、すべての候補を双予測として、L0予測およびL1予測の動きベクトル値のみを比較することにより、少ない演算量で結合動き情報候補リストから同一の動き情報を持つ結合動き情報候補および信頼性の低い結合動き情報候補を適切に削除することが可能となり、その結果、結合動き情報候補リストに新たな結合動き情報候補を追加することにより結合予測モードに用いることができる動き情報の種類が増加し、符号化効率を向上させることができる。
以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
また、以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(Read Only Memory)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
100 入力端子、 101 減算部、 102 直交変換・量子化部、 103 予測誤差符号化部、 104 逆量子化・逆変換部、 105 加算部、 106 復号画像メモリ、 107 動きベクトル検出部、 108 動き補償予測部、 109 予測モード判定部、 110 動き情報符号化部、 111 動き情報メモリ、 112 多重化部、 113 出力端子、 600 入力端子、 601 多重分離部、 602 予測差分情報復号部、 603 逆量子化・逆変換部、 604 加算部、 605 復号画像メモリ、 606 動き情報復号部、 607 動き情報メモリ、 608 動き補償予測部、 609 出力端子、 900 動き補償予測生成部、 901 予測誤差算出部、 902 予測ベクトル算出部、 903 差分ベクトル算出部、 904 動き情報符号量算出部、 905 予測モード評価部、 906 結合動き情報算出部、 907 結合動き補償予測生成部、 1000 空間結合動き情報候補リスト生成部、 1001 時間結合動き情報候補リスト生成部、 1002 結合動き情報候補リスト削除部、 1003 第1結合動き情報候補リスト追加部、 1004 第2結合動き情報候補リスト追加部、 2700 動き情報ビットストリーム復号部、 2701 予測ベクトル算出部、 2702 ベクトル加算部、 2703 動き補償予測復号部、 2704 結合動き情報算出部、 2705 結合動き補償予測復号部。

Claims (3)

  1. 動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号装置であって、
    復号対象ブロックの動き情報の候補を算出し、動き情報の候補リストを生成する動き情報算出部と、
    前記動き情報算出部から出力される前記候補リスト内の動き情報を備える隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記動き情報算出部から出力される前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号部とを備え、
    前記動き情報算出部は、
    前記復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成部と、
    前記候補リスト生成部により生成された前記候補リストに含まれる動き情報の候補の中で、互いに動きベクトル値が一致するものがある場合、いずれか一方の動き情報の候補を前記候補リストから削除する候補リスト削除部とを含み、
    ブロック単位の予測種別として、第1予測および第2予測の両方に予測処理のための動きベクトル値が設定される双予測と、第1予測または第2予測のいずれか一方に予測処理のための動きベクトル値が設定される単予測とが定義され、単予測の場合は、予測処理のための動きベクトル値が設定されない方について動きベクトル値として規定値が設定されており、前記候補リスト削除部は、前記候補リストに含まれる2つの動き情報の候補間で、単予測であるか双予測であるかに関係なく、第1予測の動きベクトル値同士が一致すると共に第2予測の動きベクトル値同士が一致する場合に、これら2つの動き情報の候補のいずれか一方の動き情報の候補を前記候補リストから削除することを特徴とする動画像復号装置。
  2. 動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号方法であって、
    復号対象ブロックの動き情報の候補を算出し、動き情報の候補リストを生成する動き情報算出ステップと、
    前記動き情報算出ステップから出力される前記候補リスト内の動き情報を備える隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記動き情報算出ステップから出力される前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号ステップとを備え、
    前記動き情報算出ステップは、
    前記復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成ステップと、
    前記候補リスト生成ステップにより生成された前記候補リストに含まれる動き情報の候補の中で、互いに動きベクトル値が一致するものがある場合、いずれか一方の動き情報の候補を前記候補リストから削除する候補リスト削除ステップとを含み、
    ブロック単位の予測種別として、第1予測および第2予測の両方に予測処理のための動きベクトル値が設定される双予測と、第1予測または第2予測のいずれか一方に予測処理のための動きベクトル値が設定される単予測とが定義され、単予測の場合は、予測処理のための動きベクトル値が設定されない方について動きベクトル値として規定値が設定されており、前記候補リスト削除ステップは、前記候補リストに含まれる2つの動き情報の候補間で、単予測であるか双予測であるかに関係なく、第1予測の動きベクトル値同士が一致すると共に第2予測の動きベクトル値同士が一致する場合に、これら2つの動き情報の候補のいずれか一方の動き情報の候補を前記候補リストから削除することを特徴とする動画像復号方法。
  3. 動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化された符号列を復号する動画像復号プログラムであって、
    復号対象ブロックの動き情報の候補を算出し、動き情報の候補リストを生成する動き情報算出ステップと、
    前記動き情報算出ステップから出力される前記候補リスト内の動き情報を備える隣接ブロックの中から一つの隣接ブロックを、動き情報を参照するための参照ブロックとして指定して、指定された参照ブロックの動き情報を前記復号対象ブロックの動き情報として使用する結合予測モードが選択された場合に、前記指定された参照ブロックを示すインデックスを含む前記動き情報を前記符号列から復号するとともに、前記動き情報算出ステップから出力される前記候補リストから得た前記指定された参照ブロックの動き情報を用いて、前記復号対象ブロックを復号する復号ステップとをコンピュータに実行させ、
    前記動き情報算出ステップは、
    前記復号対象ブロックに隣接する複数の復号済みの隣接ブロックの動き情報を前記復号対象ブロックの動き情報の候補として算出し、動き情報の候補リストを生成する候補リスト生成ステップと、
    前記候補リスト生成ステップにより生成された前記候補リストに含まれる動き情報の候補の中で、互いに動きベクトル値が一致するものがある場合、いずれか一方の動き情報の候補を前記候補リストから削除する候補リスト削除ステップとを含み、
    ブロック単位の予測種別として、第1予測および第2予測の両方に予測処理のための動きベクトル値が設定される双予測と、第1予測または第2予測のいずれか一方に予測処理のための動きベクトル値が設定される単予測とが定義され、単予測の場合は、予測処理のための動きベクトル値が設定されない方について動きベクトル値として規定値が設定されており、前記候補リスト削除ステップは、前記候補リストに含まれる2つの動き情報の候補間で、単予測であるか双予測であるかに関係なく、第1予測の動きベクトル値同士が一致すると共に第2予測の動きベクトル値同士が一致する場合に、これら2つの動き情報の候補のいずれか一方の動き情報の候補を前記候補リストから削除することを特徴とする動画像復号プログラム。
JP2012005605A 2012-01-13 2012-01-13 動画像復号装置、動画像復号方法及び動画像復号プログラム Pending JP2013145974A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012005605A JP2013145974A (ja) 2012-01-13 2012-01-13 動画像復号装置、動画像復号方法及び動画像復号プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012005605A JP2013145974A (ja) 2012-01-13 2012-01-13 動画像復号装置、動画像復号方法及び動画像復号プログラム

Publications (1)

Publication Number Publication Date
JP2013145974A true JP2013145974A (ja) 2013-07-25

Family

ID=49041563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012005605A Pending JP2013145974A (ja) 2012-01-13 2012-01-13 動画像復号装置、動画像復号方法及び動画像復号プログラム

Country Status (1)

Country Link
JP (1) JP2013145974A (ja)

Similar Documents

Publication Publication Date Title
CN110786012B (zh) 用于图像运动补偿的方法和装置
JP6079912B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法、及び送信プログラム
WO2013099244A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
WO2013140807A1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2021502729A (ja) 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置
KR20210142009A (ko) 블록 사이즈를 기반으로 bdpcm 을 수행하는 영상 디코딩 방법 및 그 장치
JP6065069B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP6414307B2 (ja) 動画像復号装置、動画像復号方法、及び、動画像復号プログラム
WO2013021617A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
KR20220134632A (ko) 영상 디코딩 방법 및 그 장치
JP2013042225A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013042235A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2015035660A (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム
JP6065070B2 (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2013145974A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013145973A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP6399183B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP6399184B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP6399182B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP6406409B2 (ja) 動画像復号装置、動画像復号方法、及び、動画像復号プログラム
JP6406408B2 (ja) 動画像復号装置、動画像復号方法、及び、動画像復号プログラム
JP2013131918A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP6311782B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP6323543B2 (ja) 動画像復号装置、動画像復号方法、及び、動画像復号プログラム
JP2013042236A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム