JP2013121167A - 画像符号化装置、画像符号化方法及び画像符号化プログラム - Google Patents

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

Info

Publication number
JP2013121167A
JP2013121167A JP2011269641A JP2011269641A JP2013121167A JP 2013121167 A JP2013121167 A JP 2013121167A JP 2011269641 A JP2011269641 A JP 2011269641A JP 2011269641 A JP2011269641 A JP 2011269641A JP 2013121167 A JP2013121167 A JP 2013121167A
Authority
JP
Japan
Prior art keywords
prediction
block
candidate
motion information
encoded
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
JP2011269641A
Other languages
English (en)
Inventor
Hideki Takehara
英樹 竹原
Shigeru Fukushima
茂 福島
Hiroya Nakamura
博哉 中村
Katsuyoshi Nishitani
勝義 西谷
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 JP2011269641A priority Critical patent/JP2013121167A/ja
Publication of JP2013121167A publication Critical patent/JP2013121167A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】隣接する複数の予測ブロックをまとめて動き補償予測する場合、並列的な動き補償予測処理が行えなかった。
【解決手段】予測ベクトル候補リスト生成部130は、符号化対象の予測ブロックと同一の符号化ブロックに属するブロックである同一符号化ブロック候補を除く符号化対象の予測ブロックに隣接する符号化済みの複数の隣接ブロックの動きベクトルから予測ベクトル候補を導出し、予測ベクトル候補リストを生成する。代替予測ベクトル候補補充部155は、同一符号化ブロック候補が検出された場合には、符号化ブロック内の符号化対象の予測ブロックとは異なる予測ブロックに隣接する符号化済みの所定の隣接ブロックの動きベクトルから導出した予測ベクトル候補を、同一符号化ブロック候補の動きベクトルから導出される予測ベクトル候補の代わりとなる代替予測ベクトル候補としてベクトル候補リストに追加する。
【選択図】図29

Description

本発明は、動き補償予測を用いた動画像符号化技術に関し、特に動き補償予測で利用する動き情報を符号化する画像符号化装置、画像符号化方法および画像符号化プログラムに関する。
一般的な動画像圧縮符号化では動き補償予測が利用される。動き補償予測は、対象画像を細かいブロックに分割し、復号済みの画像を参照画像として、動きベクトルで示される動き量に基づいて、対象画像の処理対象ブロックから参照画像の参照ブロックに移動した位置の信号を予測信号として生成する技術である。動き補償予測には1本の動きベクトルを利用して単予測に行うものと、2本の動きベクトルを利用して双予測に行うものがある。
動きベクトルについては、処理対象ブロックに隣接する符号化済みのブロックの動きベクトルを予測動きベクトル(単に「予測ベクトル」ともいう)とし、処理対象ブロックの動きベクトルと予測ベクトルとの差分を求め、差分ベクトルを符号化ベクトルとして伝送することで圧縮効率を向上させている。
MPEG−4AVC/H.264(以下、MPEG−4AVC)のような動画像圧縮符号化では、動き補償予測を行うブロックサイズを細かく且つ多様にすることで、精度の高い動き補償予測を可能としている。一方、ブロックサイズを小さくすることで、符号化ベクトルの符号量は大きくなる問題があった。
そこで、MPEG−4AVCでは、時間方向の動きの連続性に着目し、処理対象ブロックと同一位置にある参照画像のブロックが有する動きベクトルを処理対象ブロックの動きベクトルとして利用して、符号化ベクトルを伝送することなく動き補償予測を実現する時間ダイレクト動き補償予測が用いられている。
また、特許文献1では、空間方向の動きの連続性に着目し、処理対象ブロックに隣接する処理済みのブロックが有する動きベクトルを処理対象ブロックの動きベクトルとして利用して、符号化ベクトルを伝送することなく動き補償予測を実現する方法が開示されている。
特開平10−276439号公報
特許文献1に記載された方法においては、処理対象予測ブロックに隣接する処理済みのブロックが有する動きベクトルを処理対象予測ブロックの動きベクトルとして利用しており、隣接する複数の予測ブロックをまとめて動き補償予測を行うようにした場合に、並列的な動き補償予測処理が行えない場合がある。
本発明はこうした状況に鑑みてなされたものであり、その目的は、処理対象予測ブロックに隣接する処理済みのブロックが有する動きベクトルを処理対象予測ブロックの動きベクトル生成に利用しながら、隣接する複数の予測ブロックをまとめて動き補償予測する動き補償予測の並立処理を高効率に実現することのできる動画像符号化および動画像復号技術を提供することにある。
上記課題を解決するために、本発明のある態様の画像符号化装置は、分割タイプに基づいて符号化ブロックを複数の予測ブロックに分割して動き補償予測を行う画像符号化装置であって、符号化対象の予測ブロックに隣接する、符号化順で前記符号化対象の予測ブロックよりも先に符号化される複数の隣接ブロックの中から、前記符号化対象の予測ブロックと同一の符号化ブロックに属するブロックを同一符号化ブロック候補として検出する同一符号化ブロック候補判定部(154)と、前記符号化対象の予測ブロックで利用するための予測ベクトル候補として、前記同一符号化ブロック候補を除く前記符号化対象の予測ブロックに隣接する符号化済みの複数の隣接ブロックの動きベクトルから予測ベクトル候補を導出し、予測ベクトル候補リストを生成する予測ベクトル候補リスト生成部(130)と、前記同一符号化ブロック候補が検出された場合には、前記符号化ブロック内の前記符号化対象の予測ブロックとは異なる予測ブロックに隣接する符号化済みの所定の隣接ブロックの動きベクトルから導出した予測ベクトル候補を、前記同一符号化ブロック候補の動きベクトルから導出される予測ベクトル候補の代わりとなる代替予測ベクトル候補として前記予測ベクトル候補リストに追加する代替予測ベクトル候補補充部(155)と、前記予測ベクトル候補リストから1つの予測ベクトル候補を選択し、前記符号化対象の予測ブロックの予測ベクトルとする予測ベクトル選択部(131)と、前記選択された予測ベクトル候補を前記予測ベクトル候補リストにおいて特定するためのインデックスを候補特定インデックスとして符号化する符号化部(104)とを備える。
本発明の別の態様は、画像符号化方法である。この方法は、分割タイプに基づいて符号化ブロックを複数の予測ブロックに分割して動き補償予測を行う画像符号化方法であって、符号化対象の予測ブロックに隣接する、符号化順で前記符号化対象の予測ブロックよりも先に符号化される複数の隣接ブロックの中から、前記符号化対象の予測ブロックと同一の符号化ブロックに属するブロックを同一符号化ブロック候補として検出する同一符号化ブロック候補判定ステップと、前記符号化対象の予測ブロックで利用するための予測ベクトル候補として、前記同一符号化ブロック候補を除く前記符号化対象の予測ブロックに隣接する符号化済みの複数の隣接ブロックの動きベクトルから予測ベクトル候補を導出し、予測ベクトル候補リストを生成する予測ベクトル候補リスト生成ステップと、前記同一符号化ブロック候補が検出された場合には、前記符号化ブロック内の前記符号化対象の予測ブロックとは異なる予測ブロックに隣接する符号化済みの所定の隣接ブロックの動きベクトルから導出した予測ベクトル候補を、前記同一符号化ブロック候補の動きベクトルから導出される予測ベクトル候補の代わりとなる代替予測ベクトル候補として前記予測ベクトル候補リストに追加する代替予測ベクトル候補補充ステップと、前記予測ベクトル候補リストから1つの予測ベクトル候補を選択し、前記符号化対象の予測ブロックの予測ベクトルとする予測ベクトル選択ステップと、前記選択された予測ベクトル候補を前記予測ベクトル候補リストにおいて特定するためのインデックスを候補特定インデックスとして符号化する符号化ステップとを備える。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、処理対象予測ブロックに隣接する処理済みのブロックが有する動きベクトルを処理対象予測ブロックの動きベクトル生成に利用しながら、隣接する複数の予測ブロックをまとめて動き補償予測する動き補償予測の並立処理を高効率に実現することができる。
図1(a)、(b)は、符号化ブロックを説明する図である。 図2(a)〜(d)は、予測ブロックサイズタイプを説明する図である。 予測ブロックサイズタイプを説明する図である。 予測符号化モードを説明する図である。 マージインデックスと符号列の関係を説明する図である。 予測ブロックのシンタックスの一例を説明する図である。 実施の形態1に係る動画像符号化装置の構成を示す図である。 図7の動き情報生成部の構成を示す図である。 図8のマージモード決定部の構成を説明する図である。 処理対象の予測ブロックサイズが16画素×16画素である場合の処理対象の予測ブロックの隣接ブロックを示す図である。 処理対象の予測ブロックサイズが16画素×16画素である場合の処理対象の予測ブロックと同一位置にあるColPic上の予測ブロック内のブロックとその周辺ブロックを示す図である。 図9の結合動き情報候補リスト生成部の構成を説明する図である。 図9の結合動き情報候補リスト生成部の動作を説明するフローチャートである。 図14(a)から(d)は劣性結合動き情報候補を説明する図である。 劣性結合動き情報候補の判定処理を説明するフローチャートである。 図12の空間結合動き情報候補生成部の動作を説明するフローチャートである。 図12の代替結合動き情報候補補充部の動作を説明するフローチャートである。 図18(a)から(e)は、代替結合動き情報候補を説明するための図である。 図12の時間結合動き情報候補生成部の動作を説明するフローチャートである。 図12の第1結合動き情報候補補充部の動作を説明するフローチャートである。 組み合わせ検査回数と結合動き情報候補Mと結合動き情報候補Nの関係を説明する図である。 図12の第2結合動き情報候補補充部の動作を説明するフローチャートである。 実施の形態1に係る動画像復号装置の構成を示す図である。 図23の動き情報再生部の構成を示す図である。 図24の結合動き情報再生部の構成を示す図である。 代替結合動き情報候補補充部の動作を説明するフローチャートである。 実施の形態1の変形例1の結合動き情報候補リスト生成部の構成を説明する図である。 予測ベクトルモード決定部の構成を示す。 予測ベクトル候補リスト生成部の構成を説明する図である。 予測ベクトル候補リスト生成部の動作を説明するフローチャートである。 図31(a)から(e)は同一CU候補を説明するための図である。 空間予測ベクトル候補生成部の動作を説明するフローチャートである。 空間スケーリング予測ベクトル候補生成部の動作を説明するフローチャートである。 図34(a)と(b)は予測ブロックサイズタイプがN×Nの場合の劣性結合動き情報候補と同一CU候補を説明する図である。 実施の形態2の変形例2の劣性結合動き情報候補判定部の動作を説明する図である。 図36(a)から(d)は、代替結合動き情報候補または代替予測ベクトル候補を説明する図である。
まず、本発明の実施の形態の前提となる技術を説明する。
現在、MPEG(Moving Picture Experts Group)などの符号化方式に準拠した装置およびシステムが普及している。そのような符号化方式では、時間軸上に連続する複数の画像をデジタル信号の情報として取り扱う。その際、効率の高い情報の放送、伝送または蓄積などを目的とし、画像を複数のブロックに分割して時間方向の冗長性を利用した動き補償予測、および空間方向の冗長性を利用した離散コサイン変換などの直交変換を用いて圧縮符号化する。
2003年に、国際標準化機構(ISO)と国際電気標準会議(IEC)のジョイント技術委員会(ISO/IEC)と、国際電気通信連合電気通信標準化部門(ITU−T)の共同作業によってMPEG−4 AVC/H.264と呼ばれる符号化方式(ISO/IECでは14496−10、ITU−TではH.264の規格番号がつけられている。以下、これをMPEG−4AVCと呼ぶ)が国際標準として制定された。MPEG−4AVCでは、基本的に処理対象ブロックの複数の隣接ブロックの動きベクトルの中央値を予測ベクトルとする。予測ブロックサイズが正方形でない場合で処理対象ブロックの特定の隣接ブロックの参照インデックスと処理対象ブロックの参照インデックスが一致する場合には、その特定の隣接ブロックの動きベクトルを予測ベクトルとする。
現在、国際標準化機構(ISO)と国際電気標準会議(IEC)のジョイント技術委員会(ISO/IEC)と、国際電気通信連合電気通信標準化部門(ITU−T)の共同作業によってHEVCと呼ばれる符号化方式の標準化が検討されている。
HEVCの標準化では、複数の隣接ブロックと復号済みの別の画像のブロックを候補ブロック群として、これら候補ブロック群から1つの候補ブロックが選択されて、選択された候補ブロックの情報が符号化および復号されるマージモードが検討されている。
[実施の形態1]
(符号化ブロック)
本実施の形態では、入力された画像信号は最大符号化ブロック単位に分割され、分割された最大符号化ブロックをラスタースキャン順序で処理する。符号化ブロックは階層構造となっており、符号化効率などを考慮して順次均等に4分割することでより小さい符号化ブロックにすることができる。なお、4分割された符号化ブロックはジグザグスキャン順で符号化される。これ以上小さくすることのできない符号化ブロックを最小符号化ブロックと呼ぶ。符号化ブロックは符号化の単位となり、最大符号化ブロックも分割数が0である場合は符号化ブロックとなる。本実施の形態では、最大符号化ブロックを64画素×64画素、最小符号化ブロックを8画素×8画素とする。
図1(a)、(b)は、符号化ブロックを説明するための図である。図1(a)の例では、符号化ブロックが10個に分割されている。CU0、CU1およびCU9は32画素×32画素の符号化ブロック、CU2、CU3およびCU8は16画素×16画素の符号化ブロック、ならびにCU4、CU5、CU6およびCU7は8画素×8画素の符号化ブロックとなっている。図1(b)の例では、符号化ブロックが1個に分割されている。
(予測ブロック)
本実施の形態では、符号化ブロックはさらに予測ブロック(パーティションともいう)に分割される。符号化ブロックは予測ブロックサイズタイプ(「分割タイプ」やパーティションタイプともいう)によって1以上の予測ブロックに分割される。図2(a)〜(d)は、予測ブロックサイズタイプを説明するための図である。図2(a)は符号化ブロックを分割しない2N×2N、図2(b)は水平に2分割する2N×N、図2(c)は垂直に2分割するN×2N、および図2(d)は水平と垂直に4分割するN×Nを示す。2N×2Nは1個の予測ブロック0、2N×NとN×2Nは2個の予測ブロック0と予測ブロック1、N×Nは4個の予測ブロック0、予測ブロック1、予測ブロック2、予測ブロック3からなる。予測ブロック0、予測ブロック1、予測ブロック2、予測ブロック3の順に符号化される。
図3は、符号化ブロックの分割数と予測ブロックサイズタイプによる予測ブロックサイズを説明するための図である。本実施の形態における予測ブロックサイズは、CU分割数が0であって予測ブロックサイズタイプが2N×2Nである64画素×64画素からCU分割数が3であって予測ブロックサイズタイプN×Nである4画素×4画素までの13の予測ブロックサイズが存在することになる。例えば、非対称に水平や垂直に2分割することもできる。
本実施の形態では、最大符号化ブロックを64画素×64画素、最小符号化ブロックを8画素×8画素とするが、この組み合わせに限定されない。また、予測ブロックの分割のパターンを図2(a)〜(d)としたが、1以上に分割される組み合わせであればよくこれに限定されない。
(予測符号化モード)
本実施の形態では、動き補償予測や符号化ベクトル数を予測ブロックのブロック毎に切り替えることが可能となっている。ここで、動き補償予測と符号化ベクトル数を関連付けた予測符号化モードの一例について図4を用いて簡単に説明する。図4は、予測符号化モードを説明するための図である。
図4に示す予測符号化モードには、動き補償予測の予測方向が単予測(L0予測)であって符号化ベクトル数が1であるPredL0、動き補償予測の予測方向が単予測(L1予測)であって符号化ベクトル数が1であるPredL1、動き補償予測の予測方向が双予測(BI予測)であって符号化ベクトル数が2であるPredBI、および動き補償予測の予測方向が単予測(L0予測/L1予測)または双予測(BI予測)であって符号化ベクトル数が0であるマージモード(MERGE)がある。また、動き補償予測を実施しない予測符号化モードであるイントラモード(Intra)もある。ここで、PredL0、PredL1、およびPredBIが予測ベクトルモードとなる。
マージモードでは予測方向がL0予測/L1予測/BI予測のいずれにもなるが、それは、マージモードの予測方向は候補ブロック群から選択された候補ブロックの予測方向をそのまま引き継ぐか、復号済みの情報から導出されるためである。また、マージモードでは符号化ベクトルが符号化されない。これは、マージモードの符号化ベクトルは候補ブロック群から選択された候補ブロックの動きベクトルをそのまま引き継ぐか、復号済みの情報から導出されるためである。
(参照インデックス)
本実施の形態では、動き補償予測の精度向上のために、動き補償予測において複数の参照画像の中から最適な参照画像を選択することを可能とする。そのため、動き補償予測で利用した参照画像を参照画像インデックスとして符号化ベクトルとともに符号化する。動き補償予測で利用される参照画像インデックスは0以上の数値となる。動き補償予測が単予測であれば、参照インデックスは1つ利用され、動き補償予測が双予測であれば、2つの参照インデックスが利用される(図4)。
マージモードでは参照インデックスは符号化されない。これは、マージモードの参照インデックスは候補ブロック群から選択された候補ブロックの参照インデックスをそのまま引き継ぐか、復号済みの情報から導出されるためである。
(参照インデックスリスト)
本実施の形態では、動き補償予測で利用できる複数の参照画像を参照インデックスリスト内に登録しておき、参照インデックスリスト内に登録された参照画像を参照インデックスで示すことによって参照画像を確定させて動き補償予測で利用する。参照インデックスリストには、参照インデックスリストL0と参照インデックスリストL1がある。動き補償予測が単予測の場合は、参照インデックスリストL0の中の参照画像を用いたL0予測、または参照インデックスリストL1の中の参照画像を用いたL1予測のいずれかを利用する。双予測の場合は参照インデックスリストL0と参照インデックスリストL1の2つを利用したBI予測を利用する。各参照インデックスリストに登録できる参照画像の最大数は16とする。
(マージインデックス)
本実施の形態では、マージモードの場合には、処理対象画像内の複数の隣接ブロックおよび符号化済みの別の画像内の処理対象ブロックと同一位置の周辺にあるブロックを候補ブロック群として、候補ブロック群の中から最適な予測符号化モード、動きベクトル、及び参照インデックスを持つ候補ブロックを選択し、選択した候補ブロックを示すためのマージインデックスを符号化および復号する。マージモードのときのみマージインデックスが1つ利用される(図4)。マージインデックスの最大数(マージ候補最大数ともいう)は5であり、マージインデックスは0から4までの整数となる。ここでは、マージインデックスの最大数を5としたが、2以上であればよく、これに限定されない。
以降、マージインデックスの対象となる候補ブロックの動き情報を結合動き情報候補と呼び、結合動き情報候補の集合体を結合動き情報候補リストと呼ぶ。以降、動き情報とは予測方向、動きベクトル、及び参照インデックスを含む。
なお、マージインデックスと符号列の関係について図を用いて説明する。図5はマージインデックスと符号列の関係を説明するための図である。マージインデックスが0の場合の符号列は'0'、マージインデックスが1の場合の符号列は'10'、マージインデックスが2の場合の符号列は'110'、マージインデックスが3の場合の符号列は'1110'、マージインデックスが4の場合の符号列は'11110'となり、マージインデックスが大きくなるほど符号列を長く設定する。そのため、選択率の高い候補ブロックに小さいマージインデックスを割り当てることで、符号化効率を向上させることができる。
(予測ベクトルインデックス)
本実施の形態では、予測ベクトルの精度を向上させるために、複数の隣接ブロックおよび符号化済みの別の画像の処理対象ブロックと同一位置の周辺にあるブロックを候補ブロック群として、候補ブロック群から予測ベクトルとして最適な動きベクトルを持つ候補ブロックを選択し、選択した候補ブロックを示すための予測ベクトルインデックスを符号化および復号する。動き補償予測が単予測であれば、予測ベクトルインデックスは1つ利用され、動き補償予測が双予測であれば、2つの予測ベクトルインデックスが利用される(図4)。予測ベクトルインデックスの最大数(予測ベクトル候補最大数ともいう)は2であり、予測ベクトルインデックスは0または1の整数となる。ここでは、予測ベクトル候補最大数を2としたが、2以上であればよく、これに限定されない。なお、予測ベクトルインデックスの符号列は予測ベクトルインデックスが0の場合の符号列は'0'、予測ベクトルインデックスが1の場合の符号列は'1'とする。予測ベクトル候補最大数が3以上である場合にはマージインデックスと同様な規則で符号列が割り当てられる。
以降、予測ベクトルインデックスの対象となる候補ブロックの動きベクトルを予測ベクトル候補と呼び、予測ベクトル候補の集合体を予測ベクトル候補リストと呼ぶ。
(シンタックス)
本実施の形態による予測ブロックのシンタックスの一例について図6を用いて説明する。予測ブロックがイントラであるかインターであるかは上位の符号化ブロックによって指定されているものとし、図6は予測ブロックがインターの場合の予測ブロックのシンタックスだけを示す。また、予測ブロックサイズタイプについても符号化ブロックで指定されているものとする。
予測ブロック(図6のPU)には、マージフラグ(merge_flag)、マージインデックス(merge_idx)、インター予測タイプ(inter_pred_type)、L0予測の参照インデックス(ref_idx_l0)、L0予測の差分ベクトル(mvd_l0[0]、mvd_l0[1])、L0予測の予測ベクトルインデックス(mvp_idx_l0)、L1予測の参照インデックス(ref_idx_l1)、L1予測の差分ベクトル(mvd_l1[0]、mvd_l1[1])、及びL1予測の予測ベクトルインデックス(mvp_idx_l1)が設置されている。差分ベクトルの[0]は水平成分、[1]は垂直成分を示す。
ここで、inter_pred_typeは動き補償予測の予測方向(インター予測タイプとも呼ぶ)を示し、Pred_L0(L0予測の単予測)、Pred_L1(L1予測の単予測)およびPred_BI(BI予測の双予測)の3種類がある。inter_pred_typeがPred_L0またはPred_BIの場合は、L0予測に関する情報が設置されて、inter_pred_typeがPred_L1またはPred_BIの場合は、L1予測に関する情報が設置される。
なお、本実施の形態による予測ブロックのシンタックスを図6のように設定したが、これに限定されない。
以下、図面とともに本発明の好適な実施の形態に係る動画像符号化装置、動画像符号化方法および動画像符号化プログラム、ならびに動画像復号装置、動画像復号方法および動画像復号プログラムの詳細について説明する。なお、図面の説明において同一要素には同一符号を付与して重複する説明を省略する。
(動画像符号化装置100の構成)
図7は、本実施の形態1に係る動画像符号化装置100の構成を示す。動画像符号化装置100は、動画像信号を、動き補償予測を実施する予測ブロック単位で符号化する装置である。符号化ブロックの分割、予測ブロックサイズタイプの決定、予測ブロックサイズと予測ブロックの符号化ブロック内の位置(予測ブロックの位置情報や予測ブロック番号ともいう)の決定、予測符号化モードがイントラであるかの決定は図示しない上位の符号化制御部で決定されているものとし、実施の形態1では予測符号化モードがイントラでない場合について説明する。また、実施の形態1では双予測に対応したBピクチャについて説明するが、双予測に対応しないPピクチャについてはL1予測を省略すればよい。
動画像符号化装置100は、CPU(Central Processing Unit)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアにより実現される。動画像符号化装置100は、上記の構成要素が動作することにより、以下に説明する機能的な構成要素を実現する。なお、処理対象の予測ブロックの位置情報、予測ブロックサイズおよび動き補償予測の予測方向に関しては動画像符号化装置100内で共有していることとし、図示しない。
実施の形態1の動画像符号化装置100は、予測ブロック画像取得部101、減算部102、予測誤差符号化部103、符号列生成部104、予測誤差復号部105、動き補償部106、加算部107、動きベクトル検出部108、動き情報生成部109、フレームメモリ110、および動き情報メモリ111を含む。
(動画像符号化装置100の機能と動作)
以下、各部の機能と動作について説明する。予測ブロック画像取得部101は、予測ブロックの位置情報と予測ブロックサイズに基づいて、端子10より供給される画像信号から処理対象の予測ブロックの画像信号を取得し、予測ブロックの画像信号を減算部102、動きベクトル検出部108および動き情報生成部109に供給する。
動きベクトル検出部108は、予測ブロック画像取得部101より供給される画像信号および内部に記憶している複数の参照画像に相当する画像信号から、L0予測とL1予測それぞれの動きベクトルと参照画像を示す参照インデックスを検出する。当該L0予測とL1予測の動きベクトル、および当該L0予測とL1予測の参照インデックスを動き情報生成部109に供給する。ここでは、動きベクトル検出部108は参照画像として内部に記憶している複数の参照画像に相当する画像信号を利用するとしたが、フレームメモリ110に記憶されている参照画像を利用することもできる。
一般的な動きベクトルの検出方法は、対象画像の画像信号と、同一位置より所定の移動量だけ移動させた参照画像の予測信号について誤差評価値を算出し、誤差評価値が最小となる移動量を動きベクトルとする。参照画像が複数ある場合には各参照画像について動きベクトルを検出し、誤差評価値が最小となる参照画像を選択する。誤差評価値としては、絶対差分和を示すSAD(Sum of Absolute Difference)や二乗誤差平均を示すMSE(Mean Square Error)などを利用することが可能である。また、動きベクトル符号量を誤差評価値に加算して評価することも可能である。
動き情報生成部109は、動きベクトル検出部108より供給されるL0予測とL1予測の動きベクトルおよびL0予測とL1予測の参照インデックス、動き情報メモリ111より供給される候補ブロック群、参照インデックスで示されるフレームメモリ110内の参照画像、および予測ブロック画像取得部101より供給される画像信号から、予測符号化モードを決定する。
決定された予測符号化モードに基づいて、マージフラグ、マージインデックス、動き補償予測の予測方向、L0予測とL1予測の参照インデックス、L0予測とL1予測の差分ベクトルおよびL0予測とL1予測の予測ベクトルインデックスを必要に応じて、符号列生成部104に供給する。動き補償予測の予測方向、L0予測とL1予測の参照インデックス、およびL0予測とL1予測の動きベクトルを動き補償部106および動き情報メモリ111に供給する。動き情報生成部109の詳細については後述する。
動き補償部106は、動き情報生成部109より供給される動き補償予測の予測方向がLN予測であれば、動き情報生成部109より供給されるLN予測の参照インデックスで示されるフレームメモリ110内の参照画像を、動き情報生成部109より供給されるLN予測の動きベクトルに基づき動き補償してLN予測の予測信号を生成する。Nは0または1である。ここで、動き補償予測の予測方向が双予測であれば、L0予測とL1予測の予測信号の平均値が予測信号となる。なお、L0予測とL1予測の予測信号を重みづけしてもよい。動き補償部106は、当該予測信号を減算部102に供給する。
減算部102は、予測ブロック画像取得部101より供給される画像信号と動き補償部106より供給される予測信号を減算して予測誤差信号を算出し、当該予測誤差信号を予測誤差符号化部103に供給する。
予測誤差符号化部103は、減算部102より供給される予測誤差信号に対して、直交変換や量子化などの処理を行って予測誤差符号化データを生成し、当該予測誤差符号化データを符号列生成部104および予測誤差復号部105に供給する。
符号列生成部104は、予測誤差符号化部103より供給される予測誤差符号化データ、ならびに動き情報生成部109より供給されるマージフラグ、マージインデックス、動き補償予測の予測方向(インター予測タイプ)、L0予測とL1予測の参照インデックス、L0予測とL1予測の差分ベクトルおよびL0予測とL1予測の予測ベクトルインデックスを図6に示すシンタックスの順序に従ってエントロピー符号化して符号列を生成し、当該符号列を符号化ストリームとして端子11に供給する。エントロピー符号化は算術符号化やハフマン符号化などの可変長符号化を含む方法によって実施される。
また、符号列生成部104は、動画像符号化装置100で利用された符号化ブロックの分割情報、予測ブロックサイズタイプ、予測ブロックの符号化ブロック内の位置、及び予測符号化モードを、符号化ストリームの特性を決定するためのパラメータ群を定義したSPS(Sequence Parameter Set)、ピクチャの特性を決定するためのパラメータ群を定義したPPS(Picture Parameter Set)、やスライスの特性を決定するためのパラメータ群を定義したスライスヘッダなどと共に符号化ストリーム中に多重化する。
予測誤差復号部105は、予測誤差符号化部103より供給される予測誤差符号化データに対して、逆量子化や逆直交変換などの処理を行って予測誤差信号を生成し、当該予測誤差信号を加算部107に供給する。加算部107は、予測誤差復号部105より供給される予測誤差信号と、動き補償部106より供給される予測信号を加算して復号画像信号を生成し、当該復号画像信号をフレームメモリ110に供給する。
フレームメモリ110は、加算部107より供給される復号画像信号を記憶する。また、画像全体の復号が完了した復号画像については参照画像として、1以上の所定の画像数を記憶する。フレームメモリ110は、記憶した参照画像信号を動き補償部106および動き情報生成部109に供給する。参照画像を記憶する記憶領域はFIFO(First In First Out)方式で制御される。
動き情報メモリ111は、動き情報生成部109より供給される動き情報を最小の予測ブロックサイズ単位で所定の画像数、記憶する。処理対象の予測ブロックの隣接ブロックの動き情報を空間候補ブロック群とする。
また、動き情報メモリ111は、処理対象の予測ブロックと同一位置にあるColPic上のブロックとその周辺ブロックの動き情報を時間候補ブロック群とする。動き情報メモリ111は、空間候補ブロック群と時間候補ブロック群を候補ブロック群として動き情報生成部109に供給する。動き情報メモリ111は、フレームメモリ110と同期しており、FIFO(First In First Out)方式で制御される。
ここで、ColPicとは、処理対象の予測ブロックとは別の復号済みの画像であって、フレームメモリ110に参照画像として記憶されている。実施の形態1では、ColPicは処理対象画像の直前に復号した参照画像とする。なお、実施の形態1では、ColPicは処理対象画像の直前に復号した参照画像としたが、復号済みの画像であればよく、例えば、表示順で直前の参照画像や表示順で直後の参照画像でもよく、符号化ストリーム中で指定することも可能である。
ここで、動き情報メモリ111における動き情報の管理方法について説明する。動き情報は最小の予測ブロック単位で各メモリエリアに記憶される。各メモリエリアには、少なくとも予測方向、L0予測の動きベクトル、L0予測の参照インデックス、L1予測の動きベクトル、およびL1予測の参照インデックスが記憶される。
なお、予測符号化モードがイントラモードである場合、L0予測とL1予測の動きベクトルとして(0,0)が記憶され、L0予測とL予測の参照インデックスとして「−1」が記憶される。これ以降、動きベクトルの(H、V)は、Hが水平成分、Vが垂直成分を表すこととする。なお、参照インデックスの「−1」は動き補償予測を実施しないモードであることが判定できればどのような値でもよい。これ以降は特に断らない限り単にブロックと表現する場合には、最小の予測ブロック単位のことを示すこととする。また、領域外のブロックである場合もイントラモードと同様に、L0予測とL1予測の動きベクトルとして(0,0)が記憶され、L0予測とL1予測の参照インデックスとして「−1」が記憶される。LX方向(Xは0または1)が有効であるとはLX方向の参照インデックスが0以上であることで、LX方向が無効である(有効でない)とはLX方向の参照インデックスが「−1」であることである。
(動き情報生成部109の構成)
続いて、動き情報生成部109の詳細な構成について説明する。図8は、動き情報生成部109の構成を示す。動き情報生成部109は、予測ベクトルモード決定部120、マージモード決定部121および予測符号化モード決定部122を含む。端子12は動き情報メモリ111に、端子13は動きベクトル検出部108に、端子14はフレームメモリ110に、端子15は予測ブロック画像取得部101に、端子16は符号列生成部104に、端子50は動き補償部106に、および端子51は動き情報メモリ111にそれぞれ接続されている。
(動き情報生成部109の機能と動作)
以下、各部の機能と動作について説明する。予測ベクトルモード決定部120は、端子12より供給される候補ブロック群、端子13より供給されるL0予測とL1予測の動きベクトルおよびL0予測とL1予測の参照インデックス、端子14より供給される参照インデックスで示される参照画像、および端子15より供給される画像信号から、インター予測タイプを決定し、インター予測タイプに従って、L0予測とL1予測の予測ベクトルインデックスを選択してL0予測とL1予測の差分ベクトルを算出するとともに、予測誤差を算出し、レート歪み評価値を算出する。そして、当該インター予測タイプに基づいた動き情報、差分ベクトル、予測ベクトルインデックス、およびレート歪み評価値を予測符号化モード決定部122に供給する。
マージモード決定部121は、端子12より供給される候補ブロック群、端子14より供給される参照画像、および端子15より供給される画像信号から、結合動き情報候補リストを生成し、当該結合動き情報候補リストの中から1つの結合動き情報候補を選択してマージインデックスを決定し、レート歪み評価値を算出する。そして、当該結合動き情報候補の動き情報、当該マージインデックスおよび当該レート歪み評価値を予測符号化モード決定部122に供給する。マージモード決定部121の詳細については後述する。
予測符号化モード決定部122は、予測ベクトルモード決定部120より供給されるレート歪み評価値と、マージモード決定部121より供給されるレート歪み評価値とを比較してマージフラグを決定する。
予測ベクトルモードレート歪み評価値がマージモードレート歪み評価値未満の場合は、マージフラグを「0」に設定する。予測符号化モード決定部122は、当該マージフラグ、予測ベクトルモード決定部120より供給されるインター予測タイプ、参照インデックス、差分ベクトルと予測ベクトルインデックスを端子16に供給し、予測ベクトルモード決定部120より供給される動き情報を端子50および端子51に供給する。
マージモードレート歪み評価値が予測ベクトルモードレート歪み評価値以下の場合は、マージフラグを「1」に設定する。予測符号化モード決定部122は、当該マージフラグおよびマージモード決定部121より供給されるマージインデックスを端子16に供給し、マージモード決定部121より供給される動き情報を端子50および端子51に供給する。なお、レート歪み評価値の具体的な算出方法は本発明の主眼ではないため詳細な説明は省略するが、予測誤差と符号量から符号量当たりの予測誤差量を算出し、レート歪み評価値が小さいほど符号化効率は高くなる特性を持つ評価値である。そのため、レート歪み評価値が小さい予測符号化モードを選択することで符号化効率を向上させることができる。
(マージモード決定部121の構成)
続いて、マージモード決定部121の詳細な構成について説明する。図9は、マージモード決定部121の構成を説明するための図である。マージモード決定部121は、結合動き情報候補リスト生成部140および結合動き情報選択部141を含む。結合動き情報候補リスト生成部140は、実施の形態1に係る動画像符号化装置100により生成された符号列を復号する動画像復号装置200にも同様に設置されて、動画像符号化装置100と動画像復号装置200にて同一の結合動き情報リストが生成される。
(マージモード決定部121の機能と動作)
以下、各部の機能と動作について説明する。結合動き情報候補リスト生成部140は、端子12より供給される候補ブロック群からマージ候補最大数の結合動き情報候補を含む結合動き情報候補リストを生成し、当該結合動き情報候補リストを結合動き情報選択部141に供給する。結合動き情報候補リスト生成部140の詳細な構成については後述する。
結合動き情報選択部141は、結合動き情報候補リスト生成部140より供給される結合動き情報候補リストの中から、最適な結合動き情報候補を選択し、選択された結合動き情報候補を示す情報であるマージインデックスを決定して、当該マージインデックスを端子17に供給する。
ここで、最適な結合動き情報候補の選択方法について説明する。結合動き情報候補の予測方向、動きベクトルおよび参照インデックスに基づいて動き補償予測されて得られる端子14より供給される参照画像と、端子15より供給される画像信号とから予測誤差量が算出される。マージインデックスの符号量と、当該予測誤差量とからレート歪み評価値が算出されて、レート歪み評価値が最小となる結合動き情報候補が最適な結合動き情報候補として選択される。
(結合動き情報候補リスト生成部140に供給される候補ブロック群)
次に、結合動き情報候補リスト生成部140に供給される候補ブロック群について図10と図11を用いて説明する。候補ブロック群には空間候補ブロック群と時間候補ブロック群が含まれる。
図10は、処理対象の予測ブロックサイズが16画素×16画素である場合の処理対象の予測ブロックの隣接ブロックを示す。実施の形態1では、空間候補ブロック群として、図10に示すブロックA1、ブロックC、ブロックD、ブロックB1およびブロックEの5ブロックとする。ここでは、空間候補ブロック群をブロックA1、ブロックC、ブロックD、ブロックB1およびブロックEの5ブロックとしたが、空間候補ブロック群は、処理対象の予測ブロックに隣接する少なくとも1以上の処理済みのブロックであればよく、これらに限定されない。例えば、ブロックA1、ブロックA2、ブロックA3、ブロックA4、ブロックB1、ブロックB2、ブロックB3、ブロックB4、ブロックC、ブロックDおよびブロックEの全てを空間候補ブロックとしてもよい。
次に、時間候補ブロック群について図11を用いて説明する。図11は、処理対象の予測ブロックサイズが16画素×16画素である場合の処理対象の予測ブロックと同一位置にあるColPic上の予測ブロック内のブロックとその周辺ブロックを示す。実施の形態1では、時間候補ブロック群として、図11に示すブロックHとブロックI6の2ブロックとする。ここでは、時間候補ブロック群をColPic上のブロックHとブロックI6の2ブロックとしたが、時間候補ブロック群は、処理対象の予測ブロックとは別の復号済みの画像上の少なくとも1以上のブロックであればよく、これらに限定されない。例えば、ブロックHのみとしてもよい。以降、ブロックA4をブロックA、ブロックB4をブロックBと表記し、ブロックI6をブロックIと表記し、ブロックHとブロックI6のブロックを時間ブロックと表記する。
(結合動き情報候補リスト生成部140の構成)
続いて、結合動き情報候補リスト生成部140の詳細な構成について説明する。図12は、結合動き情報候補リスト生成部140の構成を説明するための図である。端子19は結合動き情報選択部141に接続されている。結合動き情報候補リスト生成部140は、空間結合動き情報候補生成部160、時間結合動き情報候補生成部161、冗長結合動き情報候補削除部162、第1結合動き情報候補補充部163、および第2結合動き情報候補補充部164を含む。ここで、空間結合動き情報候補生成部160は劣性結合動き情報候補判定部165と代替結合動き情報候補補充部166を含む。以降、結合動き情報候補を生成すると表記するが、導出すると言い換えてもよい。
(結合動き情報候補リスト生成部140の機能と動作)
以下、各部の機能と動作について説明する。図13は、結合動き情報候補リスト生成部140の動作を説明するためのフローチャートである。まず、結合動き情報候補リスト生成部140は、結合動き情報候補リストを初期化する(S100)。初期化された結合動き情報候補リストには結合動き情報候補は存在しない。
次に、空間結合動き情報候補生成部160は、端子12より供給される候補ブロック群から0個から空間結合動き情報候補最大数の空間結合動き情報候補を生成して結合動き情報候補リストに追加する(S101)。次に、空間結合動き情報候補生成部160内に設置された代替結合動き情報候補補充部166は、劣性結合動き情報候補の代わりとなる代替結合動き情報候補を結合動き情報候補リストに追加し(S102)、当該結合動き情報候補リストと候補ブロック群を時間結合動き情報候補生成部161に供給する。空間結合動き情報候補生成部160の詳細な動作については後述する。また、劣性結合動き情報候補判定部165、代替結合動き情報候補補充部166、及び空間結合動き情報候補最大数についても後述する。
次に、時間結合動き情報候補生成部161は、空間結合動き情報候補生成部160より供給される候補ブロック群から0個または時間結合動き情報候補最大数の時間結合動き情報候補を生成して空間結合動き情報候補生成部160より供給される結合動き情報候補リストに追加し(S103)、当該結合動き情報候補リストを冗長結合動き情報候補削除部162に供給する。時間結合動き情報候補生成部161の詳細な動作については後述する。また、時間結合動き情報候補最大数についても後述する。
次に、冗長結合動き情報候補削除部162は、時間結合動き情報候補生成部161より供給される結合動き情報候補リストに登録されている結合動き情報候補を検査し、同一の動き情報を有する結合動き情報候補が複数存在する場合には1つの結合動き情報候補を残してその他の結合動き情報候補を削除し(S104)、当該結合動き情報候補リストを第1結合動き情報候補補充部163に供給する。したがって、当該結合動き情報候補リストに登録されている結合動き情報候補は全てが異なる結合動き情報候補となる。
次に、第1結合動き情報候補補充部163は、冗長結合動き情報候補削除部162より供給される結合動き情報候補リストに登録された結合動き情報候補から0個から2個の第1補充結合動き情報候補を生成して結合動き情報候補リストに追加し(S105)、当該結合動き情報候補リストを第2結合動き情報候補補充部164に供給する。第1結合動き情報候補補充部163の詳細な動作については後述する。
次に、第2結合動き情報候補補充部164は、第1結合動き情報候補補充部163より供給される結合動き情報候補リストに依存しない第2補充結合動き情報候補を結合動き情報候補リストに登録された結合動き情報候補がマージ候補最大数に達するまで生成して第1結合動き情報候補補充部163より供給される結合動き情報候補リストに追加し(S106)、当該結合動き情報候補リストを端子19に供給する。第2結合動き情報候補補充部164の詳細な動作については後述する。
(劣性結合動き情報候補)
以下、劣性結合動き情報候補について説明する。図14(a)から(d)は劣性結合動き情報候補を説明するための図である。符号化ブロックは、1または2または4の予測ブロックに分割できることは上述した。図14では符号化ブロックが16x16である例を示す。符号化ブロックを多数の予測ブロックに分割することで、符号化ブロックに係る予測誤差を最小化できる一方、図6で示した予測ブロックに係るシンタックスのオーバーヘッドが予測ブロックの個数分増加する。そのため、動き情報が同一であって予測誤差が同一となる複数の予測ブロックについては1つの予測ブロックにまとめて、予測ブロックの分割数を抑制することで符号化効率を向上させることができる。
図14(a)は候補ブロックAが劣性結合動き情報候補となる例1を説明するための図である。符号化ブロックはマージモードで、予測ブロックサイズタイプはN×2Nとして符号化される場合の予測ブロック1の空間結合動き情報候補の位置を示している。ここで、予測ブロック0の動き情報と予測ブロック1の動き情報が同一であれば、予測ブロック0と予測ブロック1をまとめて2N×2Nとして符号化することで、予測ブロックに係るシンタックスのオーバーヘッドを減らし、符号化効率を向上させることができる。つまり、予測ブロックサイズタイプがN×2Nで且つ処理対象ブロックが予測ブロック1である場合、2N×2Nとして符号化される場合の候補ブロックに相当する候補ブロックAは結合動き情報候補として選択される可能性は低い。したがって、予測ブロックサイズタイプがN×2Nで且つ処理対象ブロックが予測ブロック1である場合に、候補ブロックAを劣性結合動き情報候補とする。
図14(b)は候補ブロックAが劣性結合動き情報候補となる例2を説明するための図である。符号化ブロックはマージモードで、予測ブロックサイズタイプはN×Nとして符号化される場合の予測ブロック3の空間結合動き情報候補の位置を示している。ここで、予測ブロック0の動き情報と予測ブロック1の動き情報が同一で且つ予測ブロック2の動き情報と予測ブロック3の動き情報が同一であれば、予測ブロック0と予測ブロック1をまとめ、さらに予測ブロック2と予測ブロック3をまとめて2N×Nとして符号化することで、予測ブロックに係るシンタックスのオーバーヘッドを減らし、符号化効率を向上させることができる。したがって、予測ブロックサイズタイプがN×Nで且つ予測ブロック0の動き情報と予測ブロック1の動き情報が同一且つ予測ブロック3である場合に、候補ブロックAを劣性結合動き情報候補とする。
図14(c)は候補ブロックBが劣性結合動き情報候補となる例1を説明するための図である。符号化ブロックはマージモードで、予測ブロックサイズタイプは2N×Nとして符号化する様子を示している。ここで、予測ブロック0の動き情報と予測ブロック1の動き情報が同一であれば、予測ブロック0と予測ブロック1をまとめて2N×2Nとして符号化することで、予測ブロックに係るシンタックスのオーバーヘッドを減らし、符号化効率を向上させることができる。したがって、予測ブロックサイズタイプが2N×Nで且つ処理対象ブロックが予測ブロック1である場合に、候補ブロックBを劣性結合動き情報候補とする。
図14(d)は候補ブロックBが劣性結合動き情報候補となる例2を説明するための図である。符号化ブロックはマージモードで、予測ブロックサイズタイプはN×Nとして符号化される場合の予測ブロック3の空間結合動き情報候補の位置を示している。ここで、予測ブロック0の動き情報と予測ブロック2の動き情報が同一で且つ予測ブロック1の動き情報と予測ブロック3の動き情報が同一であれば、予測ブロック0と予測ブロック2をまとめ、さらに予測ブロック1と予測ブロック3をまとめてN×2Nとして符号化することで、予測ブロックに係るシンタックスのオーバーヘッドを減らし、符号化効率を向上させることができる。したがって、予測ブロックサイズタイプがN×Nで且つ予測ブロック0の動き情報と予測ブロック2の動き情報が同一で且つ予測ブロック3である場合に、候補ブロックBを劣性結合動き情報候補とする。
このように、符号化対象の予測ブロックの分割タイプと符号化対象の予測ブロックの符号化ブロック内の位置とに基づいて、符号化対象の予測ブロックのサイズよりも大きなサイズの予測ブロックで動き補償予測することが符号化効率の点でより適切である結合動き情報候補を劣性結合動き情報候補として選択する。以上のように、劣性結合動き情報候補とは、より大きな予測ブロックサイズに結合されることで、符号化効率の向上する結合動き情報候補である。劣性結合動き情報とは、劣性結合動き情報候補の動き情報である。
(劣性結合動き情報候補判定部165の動作)
図15は劣性結合動き情報候補判定部165の判定処理の一例を説明するためのフローチャートである。
最初に、予測ブロックサイズタイプが2N×2Nであるか検査する(S150)。予測ブロックサイズタイプが2N×2Nであれば(S150のY)、処理を終了する。予測ブロックサイズタイプが2N×2Nでなければ(S150のN)、予測ブロックサイズタイプを検査する(S151)。予測ブロックサイズタイプがN×2Nであれば(S151のN×2N)、処理対象の予測ブロックが予測ブロック1であるかを検査する(S152)。予測ブロックサイズタイプが2N×Nであれば(S151の2N×N)、処理対象の予測ブロックが予測ブロック1であるかを検査する(S154)。予測ブロックサイズタイプがN×Nであれば(S151のN×N)、処理を終了する。予測ブロックサイズタイプがN×2Nであって、処理対象の予測ブロックが予測ブロック1であれば(S152のY)、ブロックAを劣性結合動き情報候補とする(S153)。予測ブロックサイズタイプがN×2Nであって、処理対象の予測ブロックが予測ブロック1でなければ(S152のN)、処理を終了する。予測ブロックサイズタイプが2N×Nであって、処理対象の予測ブロックが予測ブロック1であれば(S154のY)、ブロックBを劣性結合動き情報候補とする(S155)。予測ブロックサイズタイプが2N×Nであって、処理対象の予測ブロックが予測ブロック1でなければ(S154のN)、処理を終了する。
図15は劣性結合動き情報候補判定部165の判定処理の一例であって、少なくとも符号化ブロックの予測ブロックへの分割数と符号化ブロック内の予測ブロックの位置の両方またはいずれかを用いて劣性結合動き情報候補が判定できればよく、これに限定されない。例えば、予測ブロックタイプがN×Nである場合についても、符号化ブロックの予測ブロックへの分割数と符号化ブロック内の予測ブロックの位置を用いて、分割数が4で予測ブロック3であれば、候補ブロックAと候補ブロックBの両方を劣性結合動き情報候補として判定したり、候補ブロックAまたは候補ブロックBのいずれか一方だけを劣性結合動き情報候補として判定するような判定処理を追加することもできる。
(空間結合動き情報候補生成部160の詳細な動作)
続いて、空間結合動き情報候補生成部160の詳細な動作について説明する。図16は、空間結合動き情報候補生成部160の動作を説明するためのフローチャートである。最初に、各候補ブロックの置換フラグはOFFに初期化される。空間結合動き情報候補生成部160は、候補ブロック群の空間候補ブロック群に含まれる候補ブロックであるブロックA、ブロックB、ブロックC、ブロックE、ブロックDの順に以下の処理を繰り返し行う(S110からS115)。
最初に、候補ブロックが有効であるか検査する(S111)。候補ブロックが有効であるとは、候補ブロックのL0予測とL1予測の参照インデックスの少なくとも一方が0以上であることである。候補ブロックが有効であれば(S111のY)、候補ブロックが劣性結合動き情報候補であるか検査する(S112)。ここでは、劣性結合動き情報候補判定部165が動作する。候補ブロックが有効でなければ(S111のN)、ステップS112からステップS115をスキップして次の候補ブロックを検査する(S116)。候補ブロックが劣性結合動き情報候補であれば(S112のY)、候補ブロックの置換フラグをONにする(S113)。候補ブロックが劣性結合動き情報候補でなければ(S112のN)、候補ブロックの動き情報を空間結合動き情報候補として結合動き情報候補リストに追加する(S114)。ステップS114に続いて、結合動き情報候補リストに追加された空間結合動き情報候補の数が空間結合動き情報候補最大数であるか検査する(S115)。ここでは、空間結合動き情報候補最大数を4とする。結合動き情報候補リストに追加された空間結合動き情報候補の数が空間結合動き情報候補最大数でなければ(S115のN)、次の候補ブロックを検査する(S115)。結合動き情報候補リストに追加された空間結合動き情報候補の数が空間結合動き情報候補最大数であれば(S115のY)、処理を終了する。
空間結合動き情報候補生成部160において劣性結合動き情報候補を結合動き情報候補リストに登録しないことで、例えば、ブロックA、ブロックB、ブロックC、ブロックE、ブロックDの全てが有効である場合に、劣性結合動き情報候補の代わりに劣性結合動き情報候補よりも相対的に選択確率の高いブロックDの動き情報を結合動き情報候補リストに登録することが可能となって、符号化効率を向上させることができる。
ここでは、処理対象ブロックとの接線の長く一般的に処理対象ブロックとの相関性の高いと考えられるブロックAとブロックBの動き情報を優先して結合動き情報候補リストに登録できるように処理の順序をブロックA、ブロックB、ブロックC、ブロックE、ブロックDとしたが、相関性の高い順序で結合動き情報候補が結合動き情報候補リストに登録されればよく、これに限定されない。また、空間結合動き情報候補最大数を4としたが、空間結合動き情報候補最大数は1以上でマージ候補最大数以下であればよく、これに限定されない。
(代替結合動き情報候補補充部166の詳細な動作)
続いて、代替結合動き情報候補補充部166の詳細な動作について説明する。図17は、代替結合動き情報候補補充部166の動作を説明するためのフローチャートである。ここでは、代替結合動き情報候補補充部166は、結合動き情報候補リストに登録された空間結合動き情報候補の数が空間結合動き情報候補最大数でない場合に以下の処理を行う。代替結合動き情報候補補充部166は、候補ブロックAの置換フラグがONであるか検査する(S140)。候補ブロックAの置換フラグがONであれば(S140のY)、代替結合動き情報候補である候補ブロックXの動き情報を結合動き情報候補リストの最後尾に追加し(S141)、処理を終了する。候補ブロックAの置換フラグがONでなければ(S140のN)、候補ブロックBの置換フラグがONであるか検査する(S142)。候補ブロックBの置換フラグがONであれば(S142のY)、代替結合動き情報候補である候補ブロックYの動き情報を結合動き情報候補リストの最後尾に追加し(S143)、処理を終了する。候補ブロックBの置換フラグがONでなければ(S142のN)、処理を終了する。
引き続いて、候補ブロックXと候補ブロックYについて説明する。図18(a)から(e)は、代替結合動き情報候補を説明するための図である。図18(a)は予測ブロックサイズタイプがN×2Nであって、予測ブロック0である場合の空間結合動き情報候補の位置を示す。図18(b)は予測ブロックサイズタイプがN×2Nであって、予測ブロック1であり、候補ブロックAが劣性結合動き情報候補となる場合の空間結合動き情報候補の位置を示す。候補ブロックXは予測ブロック0の空間結合動き情報候補の中から選択する。ここでは、予測ブロック0の候補ブロックの中で予測ブロック1の候補ブロックAと性質の最も近い可能性の高い最短距離の関係にある予測ブロック0の候補ブロックAを候補ブロックXとする。なお、予測ブロック0の候補ブロックAは、予測ブロック0の候補ブロックの中で結合動き情報候補リストへの登録順において予測ブロック1の候補ブロックと重複しない最初の候補ブロックでもあるため、予測ブロック0においては選択確率の高い候補ブロックとなる。
図18(c)は予測ブロックサイズタイプが2N×Nであって、予測ブロック0である場合の空間結合動き情報候補の位置を示す。図18(d)は予測ブロックサイズタイプが2N×Nであって、予測ブロック1であり、候補ブロックBが劣性結合動き情報候補となる場合の空間結合動き情報候補の位置を示す。候補ブロックYは予測ブロック0の空間結合動き情報候補の中から選択する。ここでは、予測ブロック0の候補ブロックの中で予測ブロック1の候補ブロックBと性質の最も近い可能性の高い最短距離の関係にある予測ブロック0の候補ブロックBを候補ブロックYとする。なお、予測ブロック0の候補ブロックBは、予測ブロック0の候補ブロックの中で結合動き情報候補リストへの登録順において予測ブロック1の候補ブロックと重複しない最初の候補ブロックでもあるため、予測ブロック0においては選択確率の高い候補ブロックとなる。図18(e)は予測ブロックサイズタイプが2N×2Nの場合の空間結合動き情報候補の位置を示す。
ここでは、候補ブロックXを予測ブロック0の候補ブロックAとしたが、候補ブロックX及び候補ブロックYは予測ブロック0の空間結合動き情報候補のいずれかであればよく、これに限定されない。例えば、符号化対象の予測ブロックとの相関性の最も高い符号化対象の予測ブロックと最短距離の予測ブロック0の候補ブロックCを候補ブロックXとすることもできる。同様に、予測ブロック0の候補ブロックEを候補ブロックYとすることもできる。なお、予測ブロックサイズがN×2Nである場合、予測ブロック0の候補ブロックAは予測ブロックサイズが2N×2Nの候補ブロックと重複しない関係にあり、予測ブロックサイズが2N×Nである場合、予測ブロック0の候補ブロックEは予測ブロックサイズが2N×2Nの候補ブロックと重複しない関係にあるため、符号化アルゴリズムによっては予測ブロック0の他の候補ブロックよりも有効な候補ブロックであることもある。
また、冗長結合動き情報候補削除部162において削除される可能性を低減させるために、符号化対象の予測ブロックと距離の遠い候補ブロックである予測ブロック0の候補ブロックDや候補ブロックEを候補ブロックXとすることもできる。同様に、予測ブロック0の候補ブロックCや候補ブロックDを候補ブロックYとすることもできる。
ここでは、代替結合動き情報候補を結合動き情報候補リストの最後尾に追加するとしたが、他の位置に追加してもよい。例えば、代替結合動き情報候補を劣性結合動き情報候補が追加されたであろう位置に追加することもできる。これは、予測ブロックサイズタイプがN×2Nであれば、代替結合動き情報候補を結合動き情報候補リストの先頭に補充し、予測ブロックサイズタイプが2N×Nであれば、代替結合動き情報候補を結合動き情報候補リストの先頭または2番目に補充することで実現できる。
以上のように、予測ブロック1の代替結合動き情報候補として予測ブロック0の空間結合動き情報候補を利用することで、符号化ブロック単位での空間結合動き情報候補の位置を増加させることなく、予測ブロック1の符号化効率を向上させることができる。また、予測ブロック1が予測ブロック0を参照しないため、符号化ブロックを2分割する場合に符号化ブロックを2分割する場合に予測ブロック0と予測ブロック1を並列に処理することも可能となる。
なお、予測ブロックサイズがN×Nである場合は、符号化対象の予測ブロックが予測ブロック3で予測ブロック0の動き情報と予測ブロック1の動き情報が同一で且つ予測ブロック2の動き情報と予測ブロック3の動き情報が同一であれば、候補ブロックAの代わりに予測ブロック2の空間結合動き情報候補のいずれかを代替結合動き情報候補とすることができ、符号化対象の予測ブロックが予測ブロック3で予測ブロック0の動き情報と予測ブロック2の動き情報が同一で且つ予測ブロック1の動き情報と予測ブロック3の動き情報が同一であれば、候補ブロックBの代わりに予測ブロック1の空間結合動き情報候補のいずれかを代替結合動き情報候補とすることができる。
(時間結合動き情報候補生成部161の詳細な動作)
続いて、時間結合動き情報候補生成部161の詳細な動作について説明する。図19は、時間結合動き情報候補生成部161の動作を説明するためのフローチャートである。L0予測とL1予測の各予測方向LXについて以下の処理を繰り返し行う(S120からS127)。ここで、Xは0または1である。また、候補ブロック群の時間候補ブロック群に含まれる候補ブロックであるブロックH、ブロックIの順に以下の処理を繰り返し行う(S121からS126)。
時間結合動き情報候補生成部161は、候補ブロックのLN予測が有効であるか検査する(S122)。ここで、Nは0または1である。ここでは、NはXと同じであるとする。候補ブロックのLN予測が有効であるとは、候補ブロックのLN予測の参照インデックスが0以上であることである。候補ブロックのLN予測が有効であれば(S122のY)、候補ブロックのLN予測の動きベクトルを基準動きベクトルとする(S123)。候補ブロックのLN予測が有効でなければ(S122のN)、ステップ123からステップ126をスキップして次の候補ブロックを検査する(S126)。
ステップS123に続いて、時間結合動き情報候補のLX予測の参照画像を決定する(S124)。ここでは、時間結合動き情報候補のLX予測の参照画像は、参照インデックス0の参照画像とする。次に、基準動きベクトルを処理対象画像と時間結合動き情報候補のLX予測の参照画像の距離に合うようにスケーリングしてスケーリングベクトルを算出し、当該スケーリングベクトルを時間結合動き情報候補のLX予測の動きベクトルとし(S125)、次の予測方向を処理する(S127)。ここでは、スケーリングベクトルの算出式については、MPEG−4AVCでの時間ダイレクト動き補償予測のスケーリングベクトルの算出式と同様とする。L0予測とL1予測について処理が終了したステップS127に続いて、時間結合動き情報候補のL0予測とL1予測の少なくとも一方の予測が有効であるか検査する(S128)。時間結合動き情報候補のLN予測が有効であるとは、時間結合動き情報候補のLN予測の参照画像が決定していることである。時間結合動き情報候補のL0予測とL1予測の少なくとも一方の予測が有効であれば(S128のY)、時間結合動き情報候補のインター予測タイプを決定して、当該時間結合動き情報候補を結合動き情報候補リストに追加する(S129)。ここでは、インター予測タイプの決定は、L0予測だけが有効であれば、時間結合動き情報候補のインター予測タイプをPred_L0とし、L1予測だけが有効であれば、時間結合動き情報候補のインター予測タイプをPred_L1とし、L0予測とL1予測の両方が有効であれば、時間結合動き情報候補のインター予測タイプをPred_BIとする。
ここでは、結合動き情報候補リストに登録できる時間結合動き情報候の最大数である時間結合動き情報候補最大数を1とした。そのため、図19には空間結合動き情報候補生成部160の動作を説明するフローチャートである図16で示したステップS115に相当する処理を省略したが、時間結合動き情報候補最大数が2以上である場合にはステップS129の後にステップS115に相当する処理を追加することもできる。
ここでは、NはXと同じであるとしたが、NはXと異なっていても良く、これに限定されない。また、時間結合動き情報候補のLX予測の参照画像は、参照インデックス0の参照画像としたが、これに限定されず、空間候補ブロック群に含まれる候補ブロックのLX予測の参照画像として利用される参照画像に決定する等してもよい。また、インター予測タイプはPred_L0、Pred_L1、Pred_BIのいずれかであるとしたが、Pred_BIだけでもよく、これに限定されない。
(第1結合動き情報候補補充部163の詳細な動作)
続いて、第1結合動き情報候補補充部163の詳細な動作について説明する。図20は、第1結合動き情報候補補充部163の動作を説明するためのフローチャートである。最初に、より供給される結合動き情報候補リストに登録された結合動き情報候補の数(NumCandList)とマージ候補最大数(MaxNumMergeCand)から、第1補充結合動き情報候補を生成する最大数であるMaxNumGenCandを式1より算出する(S170)。
MaxNumGenCand=MaxNumMergeCand-NumCandList; (NumCandList>0)
MaxNumGenCand=0; (NumCandList==0) 式1
次に、MaxNumGenCandが0より大きいか検査する(S171)。MaxNumGenCandが0より大きくなければ(S171のN)、処理を終了する。MaxNumGenCandが0より大きければ(S171のY)、以下の処理を行う。まず、組み合わせ検査回数であるloopTimesを決定する。loopTimesはNumCandList×NumCandListに設定する。ただし、loopTimesが8を超える場合にはloopTimesは8に制限する(S172)。ここで、loopTimesは0から7までの整数となる。loopTimesだけ以下の処理を繰り返し行う(S172からS180)。結合動き情報候補Mと結合動き情報候補Nの組み合わせを決定する(S173)。ここで、組み合わせ検査回数と結合動き情報候補Mと結合動き情報候補Nの関係について説明する。図21は組み合わせ検査回数と結合動き情報候補Mと結合動き情報候補Nの関係を説明するための図である。図21のようにMとNは異なる値であって、MとNの合計値が小さくなる順に設定される。結合動き情報候補MのL0予測が有効で且つ結合動き情報候補NのL1予測が有効であるか検査する(S174)。結合動き情報候補MのL0予測が有効で且つ結合動き情報候補NのL1予測が有効であれば(S174のY)、結合動き情報候補MのL0予測の参照画像と動きベクトルが結合動き情報候補NのL1予測の参照画像と動きベクトルと異なるか検査する(S175)。結合動き情報候補MのL0予測が有効で且つ結合動き情報候補NのL1予測が有効でなければ(S174のN)、次の組み合わせを処理する。結合動き情報候補MのL0予測の参照画像と結合動き情報候補NのL1予測の参照画像が異なれば(S175のY)、結合動き情報候補MのL0予測の動きベクトルと参照画像を結合動き情報候補NのL1予測の動きベクトルと参照画像と組み合わせてインター予測タイプがPred_BIである双結合動き情報候補を生成する(S176)。ここでは、第1補充結合動き情報候補として、ある結合動き情報候補のL0予測とそれとは異なる結合動き情報候補のL1予測の動き情報を組み合わせた双結合動き情報を生成する。結合動き情報候補MのL0予測の参照画像と結合動き情報候補NのL1予測の参照画像が同じであれば(S175のN)、次の組み合わせを処理する。ステップS176に続いて、双結合動き情報候補が結合動き情報候補リストに存在しないかを検査する(S177)。双結合動き情報候補が結合動き情報候補リストに存在しなければ(S177のY)、双結合動き情報候補を結合動き情報候補リストに追加する(S178)。双結合動き情報候補が結合動き情報候補リストに存在すれば(S177のN)、ステップS178をスキップする。ステップS177またはステップS178に続いて、生成した双結合動き情報の数がMaxNumGenCandであるか検査する(S179)。生成された双結合動き情報の数がMaxNumGenCandであれば(S179のY)、処理を終了する。生成された双結合動き情報の数がMaxNumGenCandでなければ(S179のN)、次の組み合わせを処理する。
ここでは、第1補充結合動き情報候補を、結合動き情報候補リストに登録されたある結合動き情報候補のL0予測の動きベクトルと参照画像を、別の結合動き情報候補のL1予測の動きベクトルと参照画像と組み合わせて、動き補償予測の方向が双方向である双結合動き情報候補としたが、これに限定されない。例えば、結合動き情報候補リストに登録されたある結合動き情報候補のL0予測の動きベクトルとL1予測の動きベクトルに+1などのオフセット値を加えた動き補償予測の方向が双方向である結合動き情報候補、結合動き情報候補リストに登録されたある結合動き情報候補のL0予測の動きベクトルまたはL1予測の動きベクトルに+1などのオフセット値を加えた動き補償予測の方向が単方向である結合動き情報候補としてもよい。第1補充結合動き情報候補の別の例として、結合動き情報候補リストに登録されたある結合動き情報候補のL0予測の動きベクトルを基準としてL1予測の動きベクトルをスケーリングにより求め、それらを組み合わせて動き補償予測の方向が双方向である新たな結合動き情報候補を生成してもよい。また、それらを任意に組み合わせてもよい。
ここで、第1補充結合動き情報候補は、結合動き情報候補リストに登録された結合動き情報候補の動き情報と処理対象の動き情報候補の動きに微妙にずれがある場合に、結合動き情報候補リストに登録された結合動き情報候補の動き情報を修正して新たな有効となる結合動き情報候補を生成することで、符号化効率を高めることができる。
以上のように、代替結合動き情報候補の動き情報を結合動き情報候補リストに追加しておくことで、代替結合動き情報候補の動き情報を他の結合動き情報候補の動き情報と組み合わせたり、代替結合動き情報候補の動き情報を修正して、第2補充結合動き情報候補よりも相対的に選択率の高い第1補充結合動き情報候補を結合動き情報候補リストに追加することで、符号化効率を高めることができる。特に、双結合動き情報候補を利用する場合には少なくとも2つの結合動き情報候補が必要となるため、代替結合動き情報候補以外の結合動き情報候補が結合動き情報候補リストに登録されていない場合に、代替結合動き情報候補の動き情報を結合動き情報候補リストに追加しておくことで、代替結合動き情報候補の動き情報を他の結合動き情報候補の動き情報と組み合わせることで、符号化効率を高めることができる。
(第2結合動き情報候補補充部164の詳細な動作)
続いて、第2結合動き情報候補補充部164の詳細な動作について説明する。図22は、第2結合動き情報候補補充部164の動作を説明するためのフローチャートである。最初に、第1結合動き情報候補補充部163より供給される結合動き情報候補リストに登録された結合動き情報候補の数(NumCandList)とマージ候補最大数(MaxNumMergeCand)から、第1補充結合動き情報候補を生成する最大数であるMaxNumGenCandを式2より算出する(S190)。
MaxNumGenCand=MaxNumMergeCand-NumCandList; 式2
次に、以下の処理をiについてMaxNumGenCand回繰り返し行う(S191からS195)。ここで、iは0からMaxNumGenCand−1の整数となる。L0予測の動きベクトルが(0,0)、参照インデックスがiであって、L1予測の動きベクトルが(0,0)、参照インデックスがiであるインター予測タイプがPred_BIである第2補充結合動き情報候補を生成する(S192)。第2補充結合動き情報候補が結合動き情報候補リストに存在しないかを検査する(S193)。第2補充結合動き情報候補が結合動き情報候補リストに存在しなければ(S193のY)、第2補充結合動き情報候補を結合動き情報候補リストに追加する(S194)。第2補充結合動き情報候補が結合動き情報候補リストに存在すれば(S193のN)、次のiについて処理する(S195)。
ここでは、第2補充結合動き情報候補を、L0予測の動きベクトルが(0,0)、参照インデックスがiであって、L1予測の動きベクトルが(0,0)、参照インデックスがiであるインター予測タイプがPred_BIである結合動き情報候補とした。これは、一般的な動画像において、L0予測の動きベクトルとL1予測の動きベクトルが(0,0)である結合動き情報候補の発生頻度が統計的に高いためである。結合動き情報候補リストに登録された結合動き情報候補の動き情報に依存せず、統計的に利用頻度が高い結合動き情報候補であれば、これに限定されない。例えば、L0予測やL1予測の動きベクトルはそれぞれ(0,0)以外のベクトル値でもよく、L0予測とL1予測の参照インデックスが異なるように設定してもよい。また、第2補充結合動き情報候補を符号化済みの画像や符号化済みの画像の一部の発生頻度の高い動き情報とし、符号化ストリームに符号化して伝送して設定することもできる。
ここで、第2補充結合動き情報候補として結合動き情報候補リストに登録された結合動き情報候補に依存しない結合動き情報候補を設定することで、結合動き情報候補リストに登録された結合動き情報候補が0個である場合に、マージモードを利用することを可能とし、符号化効率を向上させることができる。また、結合動き情報候補リストに登録された結合動き情報候補の動き情報と処理対象の動き情報候補の動きが異なる場合に、新たな結合動き情報候補を生成して選択肢の幅を広げることで、符号化効率を向上させることができる。
(動画像復号装置200の構成)
次に、実施の形態1の動画像復号装置を説明する。図23は、実施の形態1に係る動画像復号装置200の構成を示す図である。動画像復号装置200は、動画像符号化装置100により符号化された符号列を復号して再生画像を生成する装置である。
動画像復号装置200は、CPU(Central Processing Unit)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアにより実現される。動画像復号装置200は、上記の構成要素が動作することにより、以下に説明する機能的な構成要素を実現する。符号化ブロックの分割、予測ブロックサイズタイプの決定、予測ブロックサイズと予測ブロックの符号化ブロック内の位置(予測ブロックの位置情報)の決定、予測符号化モードがイントラであるかの決定は図示しない上位の制御部で決定されているものとし、ここでは予測符号化モードがイントラでない場合について説明する。なお、復号対象の予測ブロックの位置情報、予測ブロックサイズに関しては動画像復号装置200内で共有していることとし、図示しない。
実施の形態1の動画像復号装置200は、符号列解析部201、予測誤差復号部202、加算部203、動き情報再生部204、動き補償部205、フレームメモリ206および動き情報メモリ207を備える。
(動画像復号装置200の動作)
以下、各部の機能と動作について説明する。符号列解析部201は、端子30より供給された符号列を解析して予測誤差符号化データ、マージフラグ、マージインデックス、動き補償予測の予測方向(インター予測タイプ)、参照インデックス、差分ベクトル、および予測ベクトルインデックスをシンタックスに従ってエントロピー復号する。エントロピー復号は算術符号化やハフマン符号化などの可変長符号化を含む方法によって実施される。そして、当該予測誤差符号化データを予測誤差復号部202に、当該マージフラグ、当該マージインデックス、当該インター予測タイプ、当該参照インデックス、当該差分ベクトル、および当該予測ベクトルインデックスを動き情報再生部204に供給する。
また、符号列解析部201は、動画像復号装置200で利用される符号化ブロックの分割情報、予測ブロックサイズタイプ、予測ブロックの符号化ブロック内の位置、及び予測符号化モードを、符号化ストリームの特性を決定するためのパラメータ群を定義したSPS(Sequence Parameter Set)、ピクチャの特性を決定するためのパラメータ群を定義したPPS(Picture Parameter Set)、やスライスの特性を決定するためのパラメータ群を定義したスライスヘッダなどと共に符号化ストリームから復号する。
動き情報再生部204は、符号列解析部201より供給されるマージフラグ、マージインデックス、インター予測タイプ、参照インデックス、差分ベクトル、および予測ベクトルインデックスと、動き情報メモリ207より供給される候補ブロック群から、動き情報を再生し、当該動き情報を動き補償部205および動き情報メモリ207に供給する。動き情報再生部204の詳細な構成については後述する。
動き補償部205は、動き情報再生部204より供給される動き情報に基づいて、フレームメモリ206内の参照インデックスが示す参照画像を、動きベクトルに基づき動き補償して予測信号を生成する。予測方向が双予測であれば、L0予測とL1予測の予測信号を平均したものを予測信号として生成し、当該予測信号を加算部203に供給する。
予測誤差復号部202は、符号列解析部201より供給される予測誤差符号化データに対して、逆量子化や逆直交変換などの処理を行って予測誤差信号を生成し、当該予測誤差信号を加算部203に供給する。
加算部203は、予測誤差復号部202より供給される予測誤差信号と、動き補償部205より供給される予測信号とを加算して復号画像信号を生成し、当該復号画像信号をフレームメモリ206および端子31に供給する。
フレームメモリ206および動き情報メモリ207は、動画像符号化装置100のフレームメモリ110および動き情報メモリ111と同一の機能を有する。フレームメモリ206は、加算部203より供給される復号画像信号を記憶する。動き情報メモリ207は、動き情報再生部204より供給される動き情報を最小の予測ブロックサイズ単位で記憶する。
(動き情報再生部204の詳細な構成)
続いて、動き情報再生部204の詳細な構成について説明する。図24は、動き情報再生部204の構成を示す。動き情報再生部204は、符号化モード判定部210、動きベクトル再生部211および結合動き情報再生部212を含む。端子32は符号列解析部201に、端子33は動き情報メモリ207に、端子34は動き補償部205に、端子36は動き情報メモリ207にそれぞれ接続されている。
(動き情報再生部204の詳細な動作)
以下、各部の機能と動作について説明する。符号化モード判定部210は、符号列解析部201より供給されるマージフラグが「0」であるか「1」であるか判定する。マージフラグが「0」であれば、符号列解析部201より供給されるインター予測タイプ、参照インデックス、差分ベクトル、および予測ベクトルインデックスを動きベクトル再生部211に供給する。マージフラグが「1」であれば、符号列解析部201より供給されるマージインデックスを結合動き情報再生部212に供給する。
動きベクトル再生部211は、符号化モード判定部210より供給されるインター予測タイプ、参照インデックス、差分ベクトル、および予測ベクトルインデックスと、端子33より供給される候補ブロック群から、動きベクトルを再生して動き情報を生成し、端子34及び端子36に供給する。
結合動き情報再生部212は、符号化モード判定部210より供給されるマージインデックスと、端子33より供給される候補ブロック群から、動き情報を再生して端子34及び端子36に供給する。
(結合動き情報再生部212の詳細な構成)
続いて、結合動き情報再生部212の詳細な構成について説明する。図25は、結合動き情報再生部212の構成を示す。結合動き情報再生部212は、結合動き情報候補リスト生成部230および結合動き情報選択部231を含む。端子35は符号化モード判定部210に接続されている。
(結合動き情報再生部212の詳細な動作)
以下、各部の機能と動作について説明する。結合動き情報候補リスト生成部230は動画像符号化装置100の結合動き情報候補リスト生成部140と同一の機能を有し、動画像符号化装置100の結合動き情報候補リスト生成部140と同一の動作によって結合動き情報候補リストを生成し、当該結合動き情報候補リストを結合動き情報選択部231に供給する。
結合動き情報選択部231は、結合動き情報候補リスト生成部230より供給される結合動き情報候補リストの中から、端子35より供給されるマージインデックスで示される結合動き情報候補を選択して結合動き情報を決定し、当該結合動き情報の動き情報を端子34及び端子36に供給する。
以上のように、動画像復号装置200は、動画像符号化装置100により符号化された符号列を復号して再生画像を生成することができる。
(実施の形態1の変形例1)
実施の形態1の結合動き情報候補リスト生成部140の構成は図12としたが、代替結合動き情報候補補充部166は空間結合動き情報候補生成部160の外に設置してもよく、例えば、代替結合動き情報候補補充部166の位置を次のようにすることもできる。図27は、実施の形態1の変形例1の結合動き情報候補リスト生成部140の構成を説明するための図である。実施の形態1の結合動き情報候補リスト生成部140とは代替結合動き情報候補補充部166の位置が時間結合動き情報候補生成部161の後にある点が異なる。
実施の形態1の変形例1の結合動き情報候補リスト生成部140の動作は、実施の形態1の結合動き情報候補リスト生成部140の動作を説明する図13のステップS103とステップS104を入れ替えたものになる。
なお、代替結合動き情報候補補充部166は、結合動き情報候補リストに登録された空間結合動き情報候補の数が空間結合動き情報候補最大数でない場合に図17の処理を行うことは実施の形態1と同様である。
以上のように、代替結合動き情報候補補充部166の位置を時間結合動き情報候補生成部161の後にすることで、予測ブロックサイズタイプが2N×2Nの場合と時間結合動き情報候補生成部161までの動作を同一にすることができ、ソフトウェアやハードウェアの設計を容易にし、回路規模を小さくすることができる。また、代替結合動き情報候補よりも時間結合動き情報の方が相対的に選択率の高ければ、符号化効率を向上させることができる。
また、劣性結合動き情報候補判定部165を空間結合動き情報候補生成部160の外に設置してもよく、例えば、予測ブロックサイズタイプと予測ブロックの位置が決定するタイミングに設置することもできる。
また、劣性結合動き情報補充部166が作用するか否かを符号化ストリーム中のSPS、PPS、スライスヘッダなどで伝送してもよく、Bピクチャのときだけ劣性結合動き情報補充部166が作用するようにピクチャタイプで切り替えて制御することもできる。
[実施の形態2]
以下、実施の形態2について説明する。実施の形態1とは予測ベクトルモード決定部120の構成と動作が異なる。以下、予測ベクトルモード決定部120の詳細な構成について説明する。
(予測ベクトルモード決定部120の構成)
続いて、予測ベクトルモード決定部120の詳細な構成について説明する。図28は、予測ベクトルモード決定部120の構成を示す。予測ベクトルモード決定部120は、予測ベクトル候補リスト生成部130および予測ベクトル決定部131を含む。端子17は予測符号化モード決定部122に接続されている。
予測ベクトル候補リスト生成部130は、実施の形態2に係る動画像符号化装置100により生成された符号列を復号する動画像復号装置200内の動きベクトル再生部211の中にも同様に設置されて、動画像符号化装置100と動画像復号装置200にて矛盾のない予測ベクトル候補リストが生成される。
(予測ベクトルモード決定部120の動作)
以下、予測ベクトルモード決定部120の動作について説明する。
最初に、L0予測について以下の処理を行う。以下、Xは0とする。予測ベクトル候補リスト生成部130は、端子13より供給されるLX予測の参照インデックスを取得する。端子12より供給される候補ブロック群とLX予測の参照インデックスから予測ベクトル候補最大数の予測ベクトル候補を含むLX予測の予測ベクトル候補リストを生成する。予測ベクトル候補リスト生成部130は、当該LX予測の予測ベクトル候補リストを予測ベクトル決定部131に供給する。
予測ベクトル決定部131は、予測ベクトル候補リスト生成部130より供給されるLX予測の予測ベクトル候補リストから1つの予測ベクトル候補をLX予測の予測ベクトルとして選択して、当該LX予測の予測ベクトルインデックスを決定する。
予測ベクトル決定部131は、端子13より供給されるL0予測の動きベクトルからLX予測の予測ベクトルを減算してLX予測の差分ベクトルを算出し、当該LX予測の差分ベクトルと当該LX予測の予測ベクトルインデックスを出力する。
予測ベクトル決定部131は、端子15より供給される画像信号と、端子14より供給される参照画像を端子13より供給されるLX予測の動きベクトルおよびLX予測の参照インデックスに基づいて動き補償予測したLX予測の予測信号とから予測誤差量を算出し、当該予測誤差量と、L0予測の差分ベクトル、LX予測の参照インデックス、およびLX予測の予測ベクトルインデックスの符号量とからPred_LXのレート歪評価値を算出する。
次に、Xを1としてL1予測についてL0予測と同じ処理を行う。
続いて、予測ベクトル決定部131は、端子15より供給される画像信号と、L0予測の予測信号およびL1予測の予測信号を平均したBI予測の予測信号とから予測誤差量を算出し、当該予測誤差量と、L0予測とL1予測の差分ベクトル、L0予測とL1予測の参照インデックス、およびL0予測とL1予測の予測ベクトルインデックスの符号量とからPred_BIのレート歪評価値を算出する。
予測ベクトル決定部131は、Pred_L0のレート歪評価値、Pred_L1のレート歪評価値、およびPred_BIのレート歪評価値を比較して、最小のレート歪評価値である予測符号化モードを1つ選択する。そして、予測符号化モードに基づいた動き情報、差分ベクトル、予測ベクトルインデックス、およびレート歪み評価値を予測符号化モード決定部122に供給する。なお、予測符号化モードがPred_L0であれば、L1予測の動きベクトルは(0,0)、L1予測の参照インデックスは「−1」となり、予測符号化モードがPred_L1であれば、L0予測の動きベクトルは(0,0)、L0予測の参照インデックスは「−1」となる。
(予測ベクトル候補リスト生成部130の構成)
続いて、予測ベクトル候補リスト生成部130の詳細な構成について説明する。図29は、予測ベクトル候補リスト生成部130の構成を説明するための図である。端子18は予測ベクトル決定部131に接続されている。予測ベクトル候補リスト生成部130は、空間予測ベクトル候補生成部150、空間スケーリング予測ベクトル候補生成部151、時間予測ベクトル候補生成部152、及び予測ベクトル候補補充部153を含む。ここで、空間予測ベクトル候補生成部150と空間スケーリング予測ベクトル候補生成部151は同一CU候補判定部154と代替予測ベクトル候補補充部155を含む。以降、予測ベクトル候補を生成すると表記するが、導出すると言い換えてもよい。
(予測ベクトル候補リスト生成部130の動作)
以下、各部の機能と動作について説明する。図30は、予測ベクトル候補リスト生成部130の動作を説明するためのフローチャートである。まず、予測ベクトル候補リスト生成部130は、予測ベクトル報候補リストを初期化する(S200)。初期化された予測ベクトル候補リストには予測ベクトル候補は存在しない。予測ベクトル候補リスト生成部130は、端子12より供給される空間候補ブロック群に含まれる候補ブロックを第1グループであるブロックEとブロックA、第2グループであるブロックC、ブロックB、及びブロックDの2グループに分け、第1グループ、第2グループの順に以下の処理を繰り返す(S201からS206)。
空間予測ベクトル候補生成部150は、端子12より供給される候補ブロック群から各予測方向について空間予測ベクトル候補を0個または1個生成し、当該空間予測ベクトル候補を予測ベクトル候補リストに追加する(S202)。次に、空間予測ベクトル候補生成部150内に設置された代替予測ベクトル候補補充部155は、代替予測ベクトル候補を0個または1個生成し、予測ベクトル候補リストに登録された予測ベクトル候補数が予測ベクトル候補最大数を超えないように当該代替予測ベクトル候補を予測ベクトル候補リストに追加し(S203)、当該予測ベクトル候補リストと候補ブロック群を空間スケーリング予測ベクトル候補生成部151に供給する。空間予測ベクトル候補生成部150の詳細な動作については後述する。
空間スケーリング予測ベクトル候補生成部151は、空間予測ベクトル候補生成部150より供給される候補ブロック群から各予測方向について空間スケーリング予測ベクトル候補を0個または1個生成し、予測ベクトル候補リストに登録された予測ベクトル候補数が予測ベクトル候補最大数を超えないように当該空間スケーリング予測ベクトル候補を予測ベクトル候補リストに追加する(S204)。次に、空間スケーリング予測ベクトル候補生成部151内に設置された代替予測ベクトル候補補充部155は、代替予測ベクトル候補を0個または1個生成し、予測ベクトル候補リストに登録された予測ベクトル候補数が予測ベクトル候補最大数を超えないように当該代替予測ベクトル候補を予測ベクトル候補リストに追加し(S205)、当該予測ベクトル候補リストと候補ブロック群を時間予測ベクトル候補生成部152に供給する。空間スケーリング予測ベクトル候補生成部151の詳細については後述する。
次に、時間予測ベクトル候補生成部152は、空間スケーリング予測ベクトル候補生成部151より供給される候補ブロック群から各予測方向について時間予測ベクトル候補を0個または1個生成し、予測ベクトル候補リストに登録された予測ベクトル候補数が予測ベクトル候補最大数を超えないように当該時間予測ベクトル候補を予測ベクトル候補リストに追加し(S205)、当該予測ベクトル候補リストと候補ブロック群を予測ベクトル候補補充部153に供給する。
予測ベクトル候補補充部153は、予測ベクトル補充候補を生成し、予測ベクトル候補リストに登録された予測ベクトル候補数が予測ベクトル候補最大数を超えないように当該予測ベクトル補充候補を予測ベクトル候補リストに追加し(S206)、端子18に供給する。予測ベクトル補充候補は動きベクトル(0,0)とする。ここでは、予測ベクトル補充候補を動きベクトル(0,0)としたが、(1,1)などの所定値でもよく、空間予測ベクトル候補の水平成分や垂直成分を+1や−1などした動きベクトルでもよい。
ここでは、端子12より供給される空間候補ブロック群に含まれる候補ブロックを2グループに分けて、各グループから1個ずつ空間予測動きベクトル候補を選択できるようにしたが、1グループにして2個の空間予測動きベクトル候補を選択してもよい。
(同一CU候補)
以下、同一CU候補について説明する。図31(a)から(e)は同一CU候補を説明するための図である。図31では符号化ブロックが16x16である例を示す。図31(a)は予測ブロックサイズタイプがN×2Nで予測ブロック1である場合にブロックAが同一CU候補となる例を示す。図31(b)は予測ブロックサイズタイプが2N×Nで予測ブロック1である場合にブロックBが同一CU候補となる例を示す。図31(c)は予測ブロックサイズタイプがN×Nで予測ブロック1である場合にブロックA、ブロックEが同一CU候補となる例を示す。図31(d)は予測ブロックサイズタイプがN×Nで予測ブロック2である場合にブロックC、ブロックDが同一CU候補となる例を示す。図31(e)は予測ブロックサイズタイプがN×Nで予測ブロック3である場合にブロックA、ブロックB、ブロックCが同一CU候補となる例を示す。
予測ブロックサイズタイプがN×2Nで予測ブロック1である場合と予測ブロックサイズタイプが2N×Nで予測ブロック1である場合の同一CU候補は、図14の劣性結合動き情報候補と同一となる。
(同一CU候補判定部154の動作)
同一CU候補判定部154の動作を劣性結合動き情報候補判定部165の動作を説明する図15を用いて説明する。劣性結合動き情報候補判定部165の動作とは、ステップS153とステップS155だけが異なる。以下、同一CU候補判定部154の動作におけるステップS153とステップS155について説明する。ブロックAを同一CU候補とする(S153)。ブロックBを同一CU候補とする(S155)。
ここでは、判定処理の共通化のため、同一CU候補判定部154の動作を劣性結合動き情報候補判定部165の動作と同一の判定処理としたが、これに限定されない。例えば、予測ブロックタイプがN×Nである場合について劣性結合動き情報候補判定部165の動作と同一の判定処理を追加することもできる。
(空間予測ベクトル候補生成部150の詳細な動作)
引き続いて、空間予測ベクトル候補生成部150の詳細な動作について説明する。図32は、空間予測ベクトル候補生成部150の動作を説明するためのフローチャートである。以降、空間予測ベクトル候補を生成する対象の動き補償予測の予測方向をLXとして説明する(Xは0または1)。空間予測ベクトル候補生成部150は、端子12より供給される空間候補ブロック群に含まれる候補ブロックの第1グループまたは第2グループについて以下の処理を繰り返し行う(S210からS217)。
候補ブロックが処理対象ブロックと同一符号化ブロック内にあるか検査する(S211)。ここでは、空間予測ベクトル候補生成部150内の同一CU候補判定部154が動作する。候補ブロックが処理対象ブロックと同一符号化ブロック内にあれば(S211のY)、候補ブロックの置換フラグをONにして(S212)、次の候補ブロックを検査する(S217)。候補ブロックが処理対象ブロックと同一符号化ブロック内になければ(S211のN)、候補ブロックが有効であるか検査する(S213)。候補ブロックが有効であるとは、候補ブロックのLX予測の参照インデックスが−1でないことである。
候補ブロックが有効であれば(S213のY)、候補ブロックのLX予測の参照インデックスが示す参照画像と端子13より供給されるLX予測の参照インデックスが示す参照画像が同一であるか検査する(S214)。候補ブロックが有効でなければ(S213のN)、次の候補ブロックを検査する(S217)。候補ブロックのLX予測の参照インデックスが示す参照画像と端子13より供給されるLX予測の参照インデックスが示す参照画像が同一であれば(S214のY)、候補ブロックのLX予測の動きベクトルを空間予測ベクトル候補とする(S215)。候補ブロックのLX予測の参照インデックスが示す参照画像と端子13より供給されるLX予測の参照インデックスが示す参照画像が同一でなければ(S214のN)、次の候補ブロックを検査する(S217)。ステップS215に続いて、空間予測ベクトル候補数が所定数であるか検査する(S216)。ここで、所定数は1とする。空間予測ベクトル候補数が所定数でなければ(S216のN)、次の候補ブロックを検査する(S217)。空間予測ベクトル候補数が所定数であれば(S216のY)、処理を終了する。
ここでは、LX予測の空間予測ベクトル候補の対象を同一予測方向である候補ブロックのLX予測の動きベクトルとしたが、候補ブロックのLX予測の参照インデックスが示す参照画像と端子13より供給されるLX予測の参照インデックスが示す参照画像が同一であればよく、例えば、候補ブロックの反対の予測方向の動きベクトルを利用することもできる。また、ここでは、候補ブロックが処理対象ブロックと同一符号化ブロック内にあれば候補ブロックの置換フラグをONとするとしたが、候補ブロックが処理対象ブロックと同一符号化ブロック内にあって、候補ブロックが有効であれば候補ブロックの置換フラグをONしてもよい。
(代替予測ベクトル候補補充部155の詳細な動作)
代替予測ベクトル候補補充部155の動作を代替結合動き情報候補補充部166の動作を説明する図17を用いて説明する。代替結合動き情報候補補充部166の動作とは、ステップS141とステップS143だけが異なる。以下、代替予測ベクトル候補補充部155におけるステップS141とステップS143について説明する。代替予測ベクトル候補である候補ブロックXの動きベクトルを予測ベクトル候補リストの最後尾に追加する(S141)。代替予測ベクトル候補である候補ブロックYの動きベクトルを予測ベクトル候補リストの最後尾に追加する(S143)。候補ブロックXと候補ブロックYについては図18で説明したものと同一であるとする。
ここでは、代替予測ベクトル候補を予測ベクトル候補リストの最後尾に追加するとしたが、他の位置に追加してもよい。例えば、代替予測ベクトル候補を同一CU候補が追加されたであろう位置に追加することもできる。これは、予測ブロックサイズタイプがN×2Nであれば、代替結合動き情報候補を結合動き情報候補リストの先頭に補充し、予測ブロックサイズタイプが2N×Nであれば、代替結合動き情報候補を結合動き情報候補リストの先頭または2番目に補充することで実現できる。また、代替予測ベクトル候補を予測ベクトル候補リストに補充しないようにすることもできる。
以上のように、予測ブロック1の代替予測ベクトル候補として予測ブロック0の空間予測ベクトル候補を利用することで、符号化ブロック単位での空間予測ベクトル候補の位置を増加させることなく、予測ブロック1の符号化効率を向上させることができる。また、予測ブロック1が予測ブロック0を参照しないため、符号化ブロックを2分割する場合に予測ブロック0と予測ブロック1を並列に処理することも可能となる。
(空間スケーリング予測ベクトル候補生成部151の詳細な動作)
引き続いて、空間スケーリング予測ベクトル候補生成部151の詳細な動作について説明する。図33は、空間スケーリング予測ベクトル候補生成部151の動作を説明するためのフローチャートである。以降、空間スケーリング予測ベクトル候補を生成する対象の動き補償予測の予測方向をLXとして説明する(Xは0または1)。空間スケーリング予測ベクトル候補生成部151は、端子12より供給される空間候補ブロック群に含まれる候補ブロックの第1グループまたは第2グループについて以下の処理を繰り返し行う(S220からS227)。
候補ブロックが処理対象ブロックと同一符号化ブロック内にあるか検査する(S221)。ここでは、空間スケーリング予測ベクトル候補生成部151内の同一CU候補判定部154が動作する。候補ブロックが処理対象ブロックと同一符号化ブロック内にあれば(S221のY)、候補ブロックの置換フラグをONにして(S222)、次の候補ブロックを検査する(S227)。候補ブロックが処理対象ブロックと同一符号化ブロック内になければ(S221のN)、候補ブロックが有効であるか検査する(S223)。候補ブロックが有効であるとは、候補ブロックのLX予測の参照インデックスが−1でないことである。
候補ブロックが有効であれば(S223のY)、候補ブロックのLX予測の参照インデックスが示す参照画像と端子13より供給されるLX予測の参照インデックスが示す参照画像が同一でないか検査する(S224)。候補ブロックが有効でなければ(S223のN)、次の候補ブロックを検査する(S227)。候補ブロックのLX予測の参照インデックスが示す参照画像と端子13より供給されるLX予測の参照インデックスが示す参照画像が同一でなければ(S224のY)、候補ブロックのLX予測の動きベクトルをスケーリングしたスケーリングベクトルを空間スケーリング予測ベクトル候補とする(S225)。スケーリングベクトルは、候補ブロックのLX予測の動きベクトルに処理対象画像と端子13より供給されるLX予測の参照インデックスが示す参照画像の距離を乗算し、処理対象画像と候補ブロックのLX予測の参照インデックスが示す参照画像の距離を除算することで算出する。候補ブロックのLX予測の参照インデックスが示す参照画像と端子13より供給されるLX予測の参照インデックスが示す参照画像が同一であれば(S224のN)、次の候補ブロックを検査する(S227)。ステップS225に続いて、空間スケーリング予測ベクトル候補数が所定数であるか検査する(S226)。ここで、所定数は1とする。空間スケーリング予測ベクトル候補数が所定数でなければ(S226のN)、次の候補ブロックを検査する(S227)。空間スケーリング予測ベクトル候補数が所定数であれば(S226のY)、処理を終了する。
ここでは、LX予測の空間スケーリング予測ベクトル候補の対象を同一予測方向である候補ブロックのLX予測の動きベクトルとしたが、候補ブロックのLX予測の参照インデックスが示す参照画像と端子13より供給されるLX予測の参照インデックスが示す参照画像が同一でなければよく、例えば、候補ブロックの反対の予測方向の動きベクトルを利用することもできる。また、ここでは、候補ブロックが処理対象ブロックと同一符号化ブロック内にあれば候補ブロックの置換フラグをONとするとしたが、候補ブロックが処理対象ブロックと同一符号化ブロック内にあって、候補ブロックが有効であれば候補ブロックの置換フラグをONしてもよい。 以上のように、マージモードでは予測ブロック1の代替結合動き情報候補として予測ブロック0の空間結合動き情報候補を利用し、予測ベクトルモードでは予測ブロック1の代替予測ベクトル候補として予測ブロック0の空間予測ベクトル候補を利用することで、符号化ブロック単位での空間予測ベクトル候補の位置を増加させることなく、予測ブロック1の符号化効率を向上させることができる。また、マージモード及び予測ベクトルモードのいずれにおいても予測ブロック1が予測ブロック0を参照しないため、符号化ブロックを2分割する場合であって、マージモード及び予測ベクトルモードが混在するような符号化ブロックにおいても予測ブロック0と予測ブロック1を並列に処理することも可能となる。
(実施の形態2の変形例1)
実施の形態2の予測ベクトル候補リスト生成部130の構成は図29としたが、代替予測ベクトル候補補充部155は空間予測ベクトル候補生成部150や空間スケーリング予測ベクトル候補生成部151の外に設置してもよく、例えば、代替予測ベクトル候補補充部155を1つにして空間スケーリング予測ベクトル候補生成部151の後に設置してもよく、時間予測ベクトル候補生成部152の後に設置してもよい。
以上のように、代替予測ベクトル候補補充部155の位置を空間スケーリング予測ベクトル候補生成部151の外に設置にすることで、予測ブロックサイズタイプが2N×2Nの場合との動作の共通化に図ることができ、ソフトウェアやハードウェアの設計を容易にすることができる。また、代替予測ベクトル候補が他の予測ベクトル候補よりも相対的に選択率の低ければ、他の予測ベクトル候補を優先することで符号化効率を向上させることができる。
(実施の形態2の変形例2)
実施の形態2では劣性結合動き情報候補判定部165の動作は図15としたが、符号化ブロック数の分割数が4である予測ブロックサイズタイプがN×Nの場合について劣性結合動き情報候補判定部165と同一CU候補判定部154の動作を共通としてもよく、例えば、次のようにすることができる。
(N×Nの場合の劣性結合動き情報候補と同一CU候補の定義)
最初に、予測ブロックサイズタイプがN×Nの場合の劣性結合動き情報候補と同一CU候補について説明する。ここでは、予測ブロック1と予測ブロック3について劣性結合動き情報候補と同一CU候補を定義する。図34(a)と(b)は予測ブロックサイズタイプがN×Nの場合の劣性結合動き情報候補と同一CU候補を説明するための図である。図34(a)は予測ブロック1の劣性結合動き情報候補と同一CU候補が符号化順で1つ前の予測ブロック内にある予測ブロックAとなることを示す。図34(b)は予測ブロック3の劣性結合動き情報候補と同一CU候補が符号化順で1つ前の予測ブロック内にある候補ブロックAとすることを示す。
(劣性結合動き情報候補判定部165の動作)
図35は、実施の形態2の変形例2の劣性結合動き情報候補判定部165の動作を説明するための図である。実施の形態2では劣性結合動き情報候補判定部165の動作とは、ステップS156、ステップS157が追加されていることが異なる。以下、実施の形態2の変形例2の劣性結合動き情報候補判定部165のステップS156、ステップS157について説明する。処理対象の予測ブロックが予測ブロック1または予測ブロック3であるか検査する(S156)。処理対象の予測ブロックが予測ブロック1または予測ブロック3であれば(S156のY)、ブロックAを劣性結合動き情報候補とする(S157)。処理対象の予測ブロックが予測ブロック1または予測ブロック3でなければ(S156のN)、処理を終了する。
(同一CU候補判定部154の動作)
実施の形態2の変形例2の同一CU候補判定部154の動作を劣性結合動き情報候補判定部165の動作を説明する図35を用いて説明する。劣性結合動き情報候補判定部165の動作とは、ステップS153、ステップS155、及びステップS157が異なる。以下、実施の形態2の変形例2の同一CU候補判定部154の動作におけるステップS153、ステップS155、及びステップS157について説明する。ブロックAを同一CU候補とする(S153)。ブロックBを同一CU候補とする(S155)。ブロックAを同一CU候補とする(S157)。
(ブロックX)
引き続いて、代替結合動き情報候補補充部166及び代替予測ベクトル候補補充部155で利用する候補ブロックXについて説明する。図36(a)から(d)は、代替結合動き情報候補または代替予測ベクトル候補を説明するための図である。
図36(a)は予測ブロックサイズタイプがN×Nで、処理対象の予測ブロックが予測ブロック0である場合の候補ブロックの位置を示す。図36(b)は予測ブロックサイズタイプがN×Nで、処理対象の予測ブロックが予測ブロック1である場合の候補ブロックの位置を示す。このとき、候補ブロックAが劣性結合動き情報候補または同一CU候補となる。候補ブロックXは予測ブロック0の候補ブロックの中から選択する。ここでは、予測ブロック0の候補ブロックの中で予測ブロック1の候補ブロックAと最短距離の関係にあるは予測ブロック0の候補ブロックAをブロックXとする。
図36(c)は予測ブロックサイズタイプがN×Nで、処理対象の予測ブロックが予測ブロック2である場合の候補ブロックの位置を示す。図36(d)は予測ブロックサイズタイプがN×Nで、処理対象の予測ブロックが予測ブロック3である場合の候補ブロックの位置を示す。このとき、候補ブロックAが劣性結合動き情報候補または同一CU候補となる。候補ブロックXは予測ブロック2の候補ブロックの中から選択する。ここでは、予測ブロック2の候補ブロックの中で予測ブロック3の候補ブロックAと最短距離の関係にあるは予測ブロック2の候補ブロックAをブロックXとする。
ここでは、候補ブロックXを予測ブロック0または予測ブロック2の候補ブロックAとしたが、符号化対象の予測ブロックとの相関性の最も高い符号化対象の予測ブロックと最短距離の予測ブロック0または予測ブロック2の候補ブロックCを候補ブロックXとすることもできる。また、冗長結合動き情報候補削除部162において削除される可能性を低減させるために、符号化対象の予測ブロックと距離の遠い候補ブロックである予測ブロック0または予測ブロック2の候補ブロックDや候補ブロックEを候補ブロックXとすることもできる。
以上のように、予測ブロックサイズタイプがN×Nである場合に、マージモードでは、予測ブロック1と予測ブロック3の代替結合動き情報候補としてそれぞれ1つ前の予測ブロックである予測ブロック0とブロック2の候補ブロックを利用し、予測ベクトルモードでは、予測ブロック1と予測ブロック3の代替予測ベクトル候補としてそれぞれ予測ブロック0と予測ブロック2の候補ブロックを利用することで、符号化ブロック単位での候補ブロックの位置を増加させることなく、予測ブロック1と予測ブロック3の符号化効率を向上させることができる。また、マージモード及び予測ベクトルモードのいずれにおいても予測ブロック1が予測ブロック0を参照せず、予測ブロック3が予測ブロック2を参照しないため、符号化ブロックを4分割する場合であって、マージモード及び予測ベクトルモードが混在するような符号化ブロックにおいても、予測ブロック0と予測ブロック1、予測ブロック2と予測ブロック3をそれぞれ並列に処理することも可能となる。
以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
100 動画像符号化装置、 101 予測ブロック画像取得部、 102 減算部、 103 予測誤差符号化部、 104 符号列生成部、 105 予測誤差復号部、 106 動き補償部、 107 加算部、 108 動きベクトル検出部、 109 動き情報生成部、 110 フレームメモリ、 111 動き情報メモリ、 120 予測ベクトルモード決定部、 121 マージモード決定部、 122 予測符号化モード決定部、 130 予測ベクトル候補リスト生成部、 131 予測ベクトル決定部、 140 結合動き情報候補リスト生成部、 141 結合動き情報選択部、 150 空間予測ベクトル候補生成部、 151 空間スケーリング予測ベクトル候補生成部、 152 時間予測ベクトル候補生成部、 153 予測ベクトル候補補充部、 154 同一CU候補判定部、 155 代替予測ベクトル候補補充部、 160 空間結合動き情報候補生成部、 161 時間結合動き情報候補生成部、 162 冗長結合動き情報候補削除部、 163 第1結合動き情報候補補充部、 164 第2結合動き情報候補補充部、 165 劣性結合動き情報候補判定部、 166 代替結合動き情報候補補充部、 200 動画像復号装置、 201 符号列解析部、 202 予測誤差復号部、 203 加算部、 204 動き情報再生部、 205 動き補償部、 206 フレームメモリ、 207 動き情報メモリ、 210 符号化モード判定部、 211 動きベクトル再生部、 212 結合動き情報再生部、 230 結合動き情報候補リスト生成部、 231 結合動き情報選択部。

Claims (7)

  1. 分割タイプに基づいて符号化ブロックを複数の予測ブロックに分割して動き補償予測を行う画像符号化装置であって、
    符号化対象の予測ブロックに隣接する、符号化順で前記符号化対象の予測ブロックよりも先に符号化される複数の隣接ブロックの中から、前記符号化対象の予測ブロックと同一の符号化ブロックに属するブロックを同一符号化ブロック候補として検出する同一符号化ブロック候補判定部と、
    前記符号化対象の予測ブロックで利用するための予測ベクトル候補として、前記同一符号化ブロック候補を除く前記符号化対象の予測ブロックに隣接する符号化済みの複数の隣接ブロックの動きベクトルから予測ベクトル候補を導出し、予測ベクトル候補リストを生成する予測ベクトル候補リスト生成部と、
    前記同一符号化ブロック候補が検出された場合には、前記符号化ブロック内の前記符号化対象の予測ブロックとは異なる予測ブロックに隣接する符号化済みの所定の隣接ブロックの動きベクトルから導出した予測ベクトル候補を、前記同一符号化ブロック候補の動きベクトルから導出される予測ベクトル候補の代わりとなる代替予測ベクトル候補として前記予測ベクトル候補リストに追加する代替予測ベクトル候補補充部と、
    前記予測ベクトル候補リストから1つの予測ベクトル候補を選択し、前記符号化対象の予測ブロックの予測ベクトルとする予測ベクトル選択部と、
    前記選択された予測ベクトル候補を前記予測ベクトル候補リストにおいて特定するためのインデックスを候補特定インデックスとして符号化する符号化部とを備えることを特徴とする画像符号化装置。
  2. 前記代替予測ベクトル候補補充部は、前記符号化ブロック内の前記符号化対象の予測ブロックとは異なる予測ブロックに隣接する符号化済みの隣接ブロックの内、前記同一符号化ブロック候補と最短距離であるものを前記所定の隣接ブロックとすることを特徴とする請求項1に記載の画像符号化装置。
  3. 前記代替予測ベクトル候補補充部は、前記符号化ブロック内の前記符号化対象の予測ブロックとは異なる予測ブロックに隣接する符号化済みの隣接ブロックの内、前記符号化対象の予測ブロックと最短距離であるものを前記所定の隣接ブロックとすることを特徴とする請求項1に記載の画像符号化装置。
  4. 前記代替予測ベクトル候補補充部は、前記代替予測ベクトル候補の候補特定インデックスが前記代替予測ベクトル候補ではない前記予測ベクトル候補の候補特定インデックスよりも符号長が長くなるように、前記代替予測ベクトル候補を前記予測ベクトル候補リストに追加することを特徴とする請求項1から請求項3のいずれかに記載の画像符号化装置。
  5. 前記代替予測ベクトル候補補充部は、前記代替予測ベクトル候補を前記符号化対象の予測ブロックの前記分割タイプに応じて前記予測ベクトル候補リストの1番目または2番目に追加することを特徴とする請求項1から請求項3のいずれかに記載の画像符号化装置。
  6. 分割タイプに基づいて符号化ブロックを複数の予測ブロックに分割して動き補償予測を行う画像符号化方法であって、
    符号化対象の予測ブロックに隣接する、符号化順で前記符号化対象の予測ブロックよりも先に符号化される複数の隣接ブロックの中から、前記符号化対象の予測ブロックと同一の符号化ブロックに属するブロックを同一符号化ブロック候補として検出する同一符号化ブロック候補判定ステップと、
    前記符号化対象の予測ブロックで利用するための予測ベクトル候補として、前記同一符号化ブロック候補を除く前記符号化対象の予測ブロックに隣接する符号化済みの複数の隣接ブロックの動きベクトルから予測ベクトル候補を導出し、予測ベクトル候補リストを生成する予測ベクトル候補リスト生成ステップと、
    前記同一符号化ブロック候補が検出された場合には、前記符号化ブロック内の前記符号化対象の予測ブロックとは異なる予測ブロックに隣接する符号化済みの所定の隣接ブロックの動きベクトルから導出した予測ベクトル候補を、前記同一符号化ブロック候補の動きベクトルから導出される予測ベクトル候補の代わりとなる代替予測ベクトル候補として前記予測ベクトル候補リストに追加する代替予測ベクトル候補補充ステップと、
    前記予測ベクトル候補リストから1つの予測ベクトル候補を選択し、前記符号化対象の予測ブロックの予測ベクトルとする予測ベクトル選択ステップと、
    前記選択された予測ベクトル候補を前記予測ベクトル候補リストにおいて特定するためのインデックスを候補特定インデックスとして符号化する符号化ステップとを備えることを特徴とする画像符号化方法。
  7. 分割タイプに基づいて符号化ブロックを複数の予測ブロックに分割して動き補償予測を行う画像符号化プログラムであって、
    符号化対象の予測ブロックに隣接する、符号化順で前記符号化対象の予測ブロックよりも先に符号化される複数の隣接ブロックの中から、前記符号化対象の予測ブロックと同一の符号化ブロックに属するブロックを同一符号化ブロック候補として検出する同一符号化ブロック候補判定ステップと、
    前記符号化対象の予測ブロックで利用するための予測ベクトル候補として、前記同一符号化ブロック候補を除く前記符号化対象の予測ブロックに隣接する符号化済みの複数の隣接ブロックの動きベクトルから予測ベクトル候補を導出し、予測ベクトル候補リストを生成する予測ベクトル候補リスト生成ステップと、
    前記同一符号化ブロック候補が検出された場合には、前記符号化ブロック内の前記符号化対象の予測ブロックとは異なる予測ブロックに隣接する符号化済みの所定の隣接ブロックの動きベクトルから導出した予測ベクトル候補を、前記同一符号化ブロック候補の動きベクトルから導出される予測ベクトル候補の代わりとなる代替予測ベクトル候補として前記予測ベクトル候補リストに追加する代替予測ベクトル候補補充ステップと、
    前記予測ベクトル候補リストから1つの予測ベクトル候補を選択し、前記符号化対象の予測ブロックの予測ベクトルとする予測ベクトル選択ステップと、
    前記選択された予測ベクトル候補を前記予測ベクトル候補リストにおいて特定するためのインデックスを候補特定インデックスとして符号化する符号化ステップとをコンピュータに実行させることを特徴とする画像符号化プログラム。
JP2011269641A 2011-12-09 2011-12-09 画像符号化装置、画像符号化方法及び画像符号化プログラム Pending JP2013121167A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011269641A JP2013121167A (ja) 2011-12-09 2011-12-09 画像符号化装置、画像符号化方法及び画像符号化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011269641A JP2013121167A (ja) 2011-12-09 2011-12-09 画像符号化装置、画像符号化方法及び画像符号化プログラム

Publications (1)

Publication Number Publication Date
JP2013121167A true JP2013121167A (ja) 2013-06-17

Family

ID=48773600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011269641A Pending JP2013121167A (ja) 2011-12-09 2011-12-09 画像符号化装置、画像符号化方法及び画像符号化プログラム

Country Status (1)

Country Link
JP (1) JP2013121167A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015083300A1 (ja) * 2013-12-04 2015-06-11 日本電気株式会社 動画像符号化装置、動画像符号化方法および非一時的なコンピュータ可読媒体
JP2017504243A (ja) * 2013-12-06 2017-02-02 クゥアルコム・インコーポレイテッドQualcomm Incorporated 並列動き推定領域のためのスケーラブル実装形態
US10462479B2 (en) 2015-07-10 2019-10-29 Nec Corporation Motion picture encoding device, motion picture encoding method, and storage medium storing motion picture encoding program
WO2020244425A1 (zh) * 2019-06-05 2020-12-10 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11330269B2 (en) 2017-09-27 2022-05-10 Nec Corporation Moving image coding device, moving image coding method and moving image coding program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015083300A1 (ja) * 2013-12-04 2015-06-11 日本電気株式会社 動画像符号化装置、動画像符号化方法および非一時的なコンピュータ可読媒体
JPWO2015083300A1 (ja) * 2013-12-04 2017-03-16 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化用プログラム
US10136154B2 (en) 2013-12-04 2018-11-20 Nec Corporation Video coding apparatus, video coding method, and non-transitory computer readable medium
JP2017504243A (ja) * 2013-12-06 2017-02-02 クゥアルコム・インコーポレイテッドQualcomm Incorporated 並列動き推定領域のためのスケーラブル実装形態
US10462479B2 (en) 2015-07-10 2019-10-29 Nec Corporation Motion picture encoding device, motion picture encoding method, and storage medium storing motion picture encoding program
US11330269B2 (en) 2017-09-27 2022-05-10 Nec Corporation Moving image coding device, moving image coding method and moving image coding program
WO2020244425A1 (zh) * 2019-06-05 2020-12-10 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备

Similar Documents

Publication Publication Date Title
WO2013099283A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP6065088B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
JP2013121167A (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム
JP5725006B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5725009B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP6036972B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5843042B1 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2013118626A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP2013121168A (ja) 画像復号装置、画像復号方法及び画像復号プログラム
JP2013168930A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013077897A (ja) 画像復号装置、画像復号方法及び画像復号プログラム
JP2013121163A (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム
JP2013121164A (ja) 画像復号装置、画像復号方法及び画像復号プログラム
JP6256539B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム
WO2013065300A1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2013121165A (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム
JP2013121166A (ja) 画像復号装置、画像復号方法及び画像復号プログラム
JP2013123218A (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2013077896A (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム
WO2013069269A1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2013123217A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム