(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024026898
(43)【公開日】2024-02-28
(54)【発明の名称】予測動きベクトル誘導方法及びその方法を使用する装置
(51)【国際特許分類】
H04N 19/52 20140101AFI20240220BHJP
【FI】
H04N19/52
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2024007606
(22)【出願日】2024-01-22
(62)【分割の表示】P 2020189819の分割
【原出願日】2012-09-14
(31)【優先権主張番号】10-2011-0093564
(32)【優先日】2011-09-16
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2011-0106108
(32)【優先日】2011-10-17
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2012-0005916
(32)【優先日】2012-01-18
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2012-0102214
(32)【優先日】2012-09-14
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】596099882
【氏名又は名称】エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート
【氏名又は名称原語表記】ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
(71)【出願人】
【識別番号】512163174
【氏名又は名称】インダストリー-ユニバーシティー コーポレーション ファウンデーション オブ コリア エアロスペース ユニバーシティー
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100096921
【弁理士】
【氏名又は名称】吉元 弘
(72)【発明者】
【氏名】リム、ソン、チャン
(72)【発明者】
【氏名】キム、ヒ、ヨン
(72)【発明者】
【氏名】リー、ジン、ホ
(72)【発明者】
【氏名】チェ、ジン、ス
(72)【発明者】
【氏名】キム、ジン、ウン
(72)【発明者】
【氏名】キム、ジェ、ゴン
(72)【発明者】
【氏名】リー、サン、ヨン
(72)【発明者】
【氏名】パク、ウン、キ
(57)【要約】
【課題】予測動きベクトル誘導方法及びその方法を使用する装置を提供する。
【解決手段】映像復号化方法は、予測対象ブロックの周辺予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定するステップ及び複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定するステップを含むことができる。したがって、最適の予測動きベクトルを誘導時に発生する複雑度を減らして符号化効率を上げることができる。
【選択図】
図14
【特許請求の範囲】
【請求項1】
予測対象ブロックの第1の動き情報を決定するステップと、
前記予測対象ブロックの前記第1の動き情報を用いて、前記予測対象ブロックに対して画面間予測を実行するステップと、
を備え、
前記予測対象ブロックに対する前記画面間予測のための複数の候補における候補は、隣接ブロックの第2の動き情報を用いて構成され、
前記複数の候補の数が前記複数の候補の最大数より小さい場合、前記候補を用いて生成された追加の候補が前記複数の候補に追加され、
前記追加の候補は、第1の動きベクトルと第2の動きベクトルとを備え、
前記候補は、第3の動きベクトルと第4の動きベクトルとを備え、
前記追加の候補の第1の動きベクトルのx成分は、前記候補の第3の動きベクトルのx成分と同一ではなく、
前記追加の候補の前記第1の動きベクトルのy成分は、前記候補の前記第3の動きベクトルのy成分と同一ではなく、
前記追加の候補の第2の動きベクトルのx成分は、前記候補の第4の動きベクトルのx成分と同一ではなく、
前記追加の候補の前記第2の動きベクトルのy成分は、前記候補の前記第4の動きベクトルのy成分と同一ではないことを特徴とする復号化方法。
【請求項2】
前記隣接ブロックは、第1の空間的隣接ブロック、第2の空間的隣接ブロック及び時間的隣接ブロックを備え、
前記第1の空間的隣接ブロックの第4の動き情報及び前記第2の空間的隣接ブロックの第5の動き情報の両方が利用可能であり、前記第1の空間的隣接ブロックの前記第4の動き情報が前記第2の空間的隣接ブロックの前記第5の動き情報と等しくない場合に、前記時間的隣接ブロックの第3の動き情報は利用可能でないことを特徴とする請求項1に記載の復号化方法。
【請求項3】
前記隣接ブロックは、第1の空間的隣接ブロック、第2の空間的隣接ブロック及び時間的隣接ブロックを備え、
前記第1の空間的隣接ブロックの第4の動き情報及び前記第2の空間的隣接ブロックの第5の動き情報の少なくともいずれか一つが利用可能ではなく、あるいは前記第1の空間的隣接ブロックの前記第4の動き情報が前記第2の空間的隣接ブロックの前記第5の動き情報と等しい場合に、前記時間的隣接ブロックの第3の動き情報が、前記予測対象ブロックに対する前記画面間予測のための前記複数の候補に追加されることを特徴とする請求項1に記載の復号化方法。
【請求項4】
予測対象ブロックの第1の動き情報を決定するステップと、
前記予測対象ブロックの前記第1の動き情報を用いて、前記予測対象ブロックに対して画面間予測を実行するステップと、
を備え、
前記予測対象ブロックに対する前記画面間予測のための複数の候補における候補は、隣接ブロックの第2の動き情報を用いて構成され、
前記複数の候補の数が前記複数の候補の最大数より小さい場合、前記候補を用いて生成された追加の候補が前記複数の候補に追加され、
前記追加の候補は、第1の動きベクトルと第2の動きベクトルとを備え、
前記候補は、第3の動きベクトルと第4の動きベクトルとを備え、
前記追加の候補の第1の動きベクトルのx成分は、前記候補の第3の動きベクトルのx成分と同一ではなく、
前記追加の候補の前記第1の動きベクトルのy成分は、前記候補の前記第3の動きベクトルのy成分と同一ではなく、
前記追加の候補の第2の動きベクトルのx成分は、前記候補の第4の動きベクトルのx成分と同一ではなく、
前記追加の候補の前記第2の動きベクトルのy成分は、前記候補の前記第4の動きベクトルのy成分と同一ではないことを特徴とする符号化方法。
【請求項5】
前記隣接ブロックは、第1の空間的隣接ブロック、第2の空間的隣接ブロック及び時間的隣接ブロックを備え、
前記第1の空間的隣接ブロックの動き情報及び前記第2の空間的隣接ブロックの動き情報の少なくともいずれか一つが利用可能ではなく、あるいは前記第1の空間的隣接ブロックの前記動き情報が前記第2の空間的隣接ブロックの前記動き情報と等しい場合に、前記時間的隣接ブロックの動き情報が、前記予測対象ブロックに対する前記画面間予測のための前記複数の候補に追加されることを特徴とする請求項4に記載の符号化方法。
【請求項6】
予測対象ブロックの複数の隣接ブロックの第2の動き情報に基づいて、前記予測対象ブロックの第1の動き情報を決定するステップと、
前記予測対象ブロックの前記第1の動き情報を用いて、前記予測対象ブロックに対して画面間予測を実行するステップと、
を備え、
前記予測対象ブロックに対する前記画面間予測のためのリストにおける複数の候補は、前記複数の隣接ブロックの前記第2の動き情報を用いて構成され、
前記リストにおける前記複数の候補の数が前記リストの候補の最大数より小さい場合、追加の候補が前記リストに追加され、
前記追加の候補は、前記リストにおける候補を用いて生成され、
前記追加の候補によって第1の動きベクトルのために参照される第1の参照ピクチャは、前記リストにおける前記候補によって第2の動きベクトルのために参照される第2の参照ピクチャと同一ではないことを特徴とする復号化方法。
【請求項7】
予測対象ブロックの複数の隣接ブロックの第2の動き情報に基づいて、前記予測対象ブロックの第1の動き情報を決定するステップと、
前記予測対象ブロックの前記第1の動き情報を用いて、前記予測対象ブロックに対して画面間予測を実行するステップと、
を備え、
前記予測対象ブロックに対する前記画面間予測のためのリストにおける複数の候補は、前記複数の隣接ブロックの前記第2の動き情報を用いて構成され、
前記リストにおける前記複数の候補の数が前記リストの候補の最大数より小さい場合、追加の候補が前記リストに追加され、
前記追加の候補は、前記リストにおける候補を用いて生成され、
前記追加の候補によって第1の動きベクトルのために参照される第1の参照ピクチャは、前記リストにおける前記候補によって第2の動きベクトルのために参照される第2の参照ピクチャと同一ではないことを特徴とする符号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復号化方法及び装置に関し、より詳しくは、予測動きベクトル誘導方法及びその方法を使用する装置に関する。
【背景技術】
【0002】
最近、HD(High Definition)映像及びUHD(Ultra High Definition)映像のような高解像度、高品質の映像に対する需要が多様な応用分野で増加している。映像データが高解像度、高品質になるほど、既存の映像データに比べて相対的にデータ量が増加するため、既存の有無線広帯域回線のような媒体を利用して映像データを送信し、又は既存の格納媒体を利用して格納する場合、送信費用と格納費用が増加するようになる。映像データが高解像度、高品質化によって発生するこのような問題を解決するためには高効率の映像圧縮技術が活用されることができる。
【0003】
映像圧縮技術として、現在ピクチャの以前又は以後ピクチャから現在ピクチャに含まれている画素値を予測する画面間予測技術、現在ピクチャ内の画素情報を利用して現在ピクチャに含まれている画素値を予測する画面内予測技術、出現頻度が高い値に短い符号を割り当て、出現頻度が低い値に長い符号を割り当てるエントロピー符号化技術など、多様な技術が存在し、このような映像圧縮技術を利用して映像データを効果的に圧縮して送信又は格納することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、映像符号化/復号化効率を増加させるための候補予測動きベクトルリスト構成方法を提供することである。
【0005】
また、本発明の他の目的は、映像符号化/復号化効率を増加させるための候補予測動きベクトルリスト構成方法を実行する装置を提供することである。
【課題を解決するための手段】
【0006】
前述した本発明の目的を達成するための本発明の一側面に係る候補予測動きベクトルリスト構成方法は、予測対象ブロックの周辺予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定するステップと、前記複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定するステップと、を含む。前記空間的候補予測動きベクトル関連情報は,空間的候補予測動きベクトルが誘導されるかどうかを示す空間的候補予測動きベクトル可用性情報及び前記空間的候補予測動きベクトルのうち少なくとも一つを含む情報であり、前記時間的候補予測動きベクトル関連情報は、時間的候補予測動きベクトルが誘導されるかどうかを示す時間的候補予測動きベクトル可用性情報及び前記時間的候補予測動きベクトルのうち少なくとも一つを含む情報である。前記予測対象ブロックの周辺予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定するステップは、第1の空間的候補予測動きベクトル可用性情報及び第1の空間的候補予測動きベクトルを決定するステップと、第2の空間的候補予測動きベクトル可用性情報及び第2の空間的候補予測動きベクトルを決定するステップと、を含む。前記複数個の空間的候補予測動きベクトル可用性情報及び前記複数個の空間的候補予測動きベクトルに基づいて時間的候補予測動きベクトル関連情報を決定するステップは、前記第1の空間的候補予測動きベクトル可用性情報、前記第2の空間的候補予測動きベクトル可用性情報、前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルに基づいて、前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルの両方ともが可用し、前記第1の空間的候補予測動きベクトルと前記第2の空間的候補予測動きベクトルが異なるかどうかを判断するステップと、前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルの両方ともが可用し、前記第1の空間的候補予測動きベクトルと第2の空間的候補予測動きベクトルが異なる場合、時間的候補予測動きベクトル可用性情報を前記時間的候補予測動きベクトルが可用しないと決定するステップと、を含み、前記時間的候補予測動きベクトル関連情報は、前記時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルのうち少なくとも一つを含む情報である。前記複数個の空間的候補予測動きベクトル可用性情報及び前記複数個の空間的候補予測動きベクトルに基づいて時間的候補予測動きベクトル関連情報を決定するステップは、前記第1の空間的候補予測動きベクトル可用性情報、前記第2の空間的候補予測動きベクトル可用性情報、前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルに基づいて、前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルの両方ともが可用し、前記第1の空間的候補予測動きベクトルと前記第2の空間的候補予測動きベクトルが異なるかどうかを判断するステップと、前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルのうち少なくとも一つの空間的候補予測動きベクトルが可用しない場合、又は前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルの両方ともが可用し、前記第1の空間的候補予測動きベクトルと前記第2の空間的候補予測動きベクトルが同じ場合、前記時間的候補予測動きベクトル関連情報の誘導過程を実行して前記時間的候補予測動きベクトル関連情報を決定するステップと、を含み、前記時間的候補予測動きベクトル関連情報は、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルのうち少なくとも一つを含む情報である。前記候補予測動きベクトルリストは、前記第1の空間的候補予測動きベクトル可用性情報に基づいて前記第1の空間的候補予測動きベクトルが可用な場合、前記第1の空間的候補予測動きベクトルと、前記第2の空間的候補予測動きベクトル可用性情報に基づいて前記第2の空間的候補予測動きベクトルが可用な場合、前記第2の空間的候補予測動きベクトルと、時間的候補予測動きベクトル可用性情報に基づいて時間的候補予測動きベクトルが可用な場合、前記時間的候補予測動きベクトルと、含んで構成し、前記時間的候補予測動きベクトル関連情報は、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルのうち少なくとも一つを含む情報である。前記候補予測動きベクトルリスト構成方法は、前記候補予測動きベクトルリストを構成する前記第1の空間的候補予測動きベクトルと前記第2の空間的候補予測動きベクトルが同じ場合、前記第2の空間的候補予測動きベクトルを前記候補予測動きベクトルリストから除去するステップをさらに含む。前記候補予測動きベクトルリスト構成方法は、前記候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が前記候補予測動きベクトルリストに含まれることができる前記候補予測動きベクトルの最大個数である最大候補予測動きベクトル数より小さいかどうかを判断するステップと、前記判断結果に基づいて前記候補予測動きベクトルリストに候補予測動きベクトルを追加又は除去するステップと、をさらに含む。前記判断結果に基づいて前記候補予測動きベクトルリストに候補予測動きベクトルを追加又は除去するステップは、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記最大候補予測動きベクトル数より小さい場合、前記候補予測動きベクトルリストに零ベクトルを追加するステップ及び前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記最大候補予測動きベクトル数より大きい又は同じ場合、前記候補予測動きベクトルが前記最大候補予測動きベクトル数ほど前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルのうち一部の候補予測動きベクトルを前記候補予測動きベクトルリストから除去するステップを含む。前記第1の空間的候補予測動きベクトル可用性情報は、第1の空間的候補予測ブロックグループに含まれている第1のブロック又は第2のブロックに第1の動きベクトルが存在するかどうかを判断するステップと、前記第1の空間的候補予測ブロックグループに含まれている前記第1のブロック又は前記第2のブロックに前記第1の動きベクトルが存在しない場合、前記第1の空間的候補予測ブロックグループの前記第1のブロックと前記第2のブロックに第2の動きベクトルが存在するかどうかを判断するステップと、前記第1の空間的候補予測ブロックグループに含まれている前記第1のブロック又は前記第2のブロックに前記第1の動きベクトル又は前記第2の動きベクトルが存在しない場合、前記第1の空間的候補予測ブロックグループの前記第1のブロックと前記第2のブロックに第3の動きベクトルが存在するかどうかを判断するステップと、前記第1の空間的候補予測ブロックグループに含まれている前記第1のブロック又は前記第2のブロックに前記第1の動きベクトル、前記第2の動きベクトル又は前記第3の動きベクトルが存在しない場合、前記第1の空間的候補予測ブロックグループの前記第1のブロックと前記第2のブロックに第4の動きベクトルが存在するかどうかを判断するステップと、を介して算出される情報である。前記第2の空間的候補予測動きベクトル可用性情報は、第2の空間的候補予測ブロックグループに含まれている第3のブロック、第4のブロック又は第5のブロックに第1の動きベクトルが存在するかどうかを判断するステップと、前記第2の空間的候補予測ブロックグループに含まれている前記第3のブロック、前記第4のブロック又は前記第5のブロックに前記第1の動きベクトルが存在しない場合、前記第2の空間的候補予測ブロックグループの前記第3のブロック、前記第4のブロック又は前記第5のブロックに第2の動きベクトルが存在するかどうかを判断するステップと、前記第2の空間的候補予測ブロックグループに含まれている前記第3のブロック、前記第4のブロック又は前記第5のブロックに前記第1の動きベクトル又は前記第2の動きベクトルが存在しない場合、前記第2の空間的候補予測ブロックグループの前記第3のブロック、前記第4のブロック又は前記第5のブロックに第3の動きベクトルが存在するかどうかを判断するステップと、前記第2の空間的候補予測ブロックグループに含まれている前記第3のブロック、前記第4のブロック又は前記第5のブロックに前記第1の動きベクトル、前記第2の動きベクトル又は前記第3の動きベクトルが存在しない場合、前記第2の空間的候補予測ブロックグループの前記第3のブロック、前記第4のブロック又は前記第5のブロックに第4の動きベクトルが存在するかどうかを判断するステップと、を介して算出される情報である。
【0007】
前述した本発明の目的を達成するための本発明の他の側面に係る映像復号化装置は、候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち予測対象ブロックに対する画面間予測を実行するために使われる予測動きベクトルに対する情報を復号化するエントロピー復号化部と、前記予測対象ブロックの周辺予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定し、前記複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定して前記候補予測動きベクトルリストを生成する予測部と、を含む。前記空間的候補予測動きベクトル関連情報は、空間的候補予測動きベクトル可用性情報及び前記空間的候補予測動きベクトルのうち少なくとも一つを含む情報であり、前記時間的候補予測動きベクトル関連情報は、時間的候補予測動きベクトル可用性情報及び前記時間的候補予測動きベクトルのうち少なくとも一つを含む情報である。前記複数個の空間的候補予測動きベクトル関連情報は、第1の空間的候補予測動きベクトル可用性情報及び第1の空間的候補予測動きベクトルのうち少なくとも一つの情報と、第2の空間的候補予測動きベクトル可用性情報及び第2の空間的候補予測動きベクトルのうち少なくとも一つの情報と、である。前記時間的候補予測動きベクトル関連情報は、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルのうち少なくとも一つを含み、前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルの両方ともが可用し、前記第1の空間的候補予測動きベクトルと第2の空間的候補予測動きベクトルが異なる場合、前記時間的候補予測動きベクトル可用性情報を前記時間的候補予測動きベクトルが可用しないと決定する。前記時間的候補予測動きベクトル関連情報は、前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルのうち少なくとも一つの空間的候補予測動きベクトルが可用しない場合、又は前記第1の空間的候補予測動きベクトル及び前記第2の空間的候補予測動きベクトルの両方ともが可用し、前記第1の空間的候補予測動きベクトルと前記第2の空間的候補予測動きベクトルが同じ場合、前記時間的候補予測動きベクトル関連情報の誘導過程を実行して決定され、前記時間的候補予測動きベクトル関連情報は、前記時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルのうち少なくとも一つを含む。前記候補予測動きベクトルリストは、前記第1の空間的候補予測動きベクトル可用性情報に基づいて前記第1の空間的候補予測動きベクトルが可用な場合、前記第1の空間的候補予測動きベクトル、前記第2の空間的候補予測動きベクトル可用性情報に基づいて前記第2の空間的候補予測動きベクトルが可用な場合、前記第2の空間的候補予測動きベクトル、時間的候補予測動きベクトル可用性情報に基づいて時間的候補予測動きベクトルが可用な場合、前記時間的候補予測動きベクトルを含んで構成し、前記時間的候補予測動きベクトル関連情報は、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルのうち少なくとも一つを含む情報である。前記候補予測動きベクトルリストは、前記第1の空間的候補予測動きベクトルと前記第2の空間的候補予測動きベクトルが同じ場合、前記第2の空間的候補予測動きベクトルを除去して再構成されるリストである。前記候補予測動きベクトルリストは、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルリストに含まれることができる前記候補予測動きベクトルの最大個数である最大候補予測動きベクトル数より小さいかどうかを判断し、前記判断結果に基づいて候補予測動きベクトルを追加又は除去して再構成されるリストである。前記候補予測動きベクトルリストは、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記最大候補予測動きベクトル数より小さい場合、前記候補予測動きベクトルリストに零ベクトルが追加されて再構成され、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記最大候補予測動きベクトル数より大きい又は同じ場合、前記候補予測動きベクトルが前記最大候補予測動きベクトル数ほど前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルのうち一部の候補予測動きベクトルが前記候補予測動きベクトルリストから除去されて再構成される。
【発明の効果】
【0008】
前述したように、本発明の実施例に係る動きベクトルリスト構成方法及びその方法を使用する装置によると、候補予測動きベクトルリストを構成して予測動きベクトルを算出する方法に関し、最適の予測動きベクトルを誘導時に発生する複雑度を減らして符号化効率を上げることができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施例に係る映像符号化装置の構成を示すブロック図である。
【
図2】本発明の実施例に係る映像復号化装置の構成を示すブロック図である。
【
図3】本発明の実施例に係る候補予測動きベクトルを算出するための空間的候補予測ブロック及び時間的候補予測ブロックを示す概念図である。
【
図4】本発明の実施例に係る予測対象ブロックの動きベクトルと空間的候補予測ブロックの動きベクトルとの関係を介して空間的候補予測ブロックの動きベクトルを分類する方法を説明するための概念図である。
【
図5】本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【
図6】本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【
図7】本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【
図8】本発明の実施例に係る追加候補予測動きベクトルを算出する過程を示すフローチャートである。
【
図9】本発明の他の実施例に係る追加候補予測動きベクトルを算出する方法を示す順序図である。
【
図10】本発明の実施例に係る予測動きベクトルを算出する方法を示すフローチャートである。
【
図11】本発明の実施例に係る予測動きベクトルを算出する方法を示すフローチャートである。
【
図12】本発明の実施例に係る予測動きベクトル算出方法を示すフローチャートである。
【
図13】本発明の他の実施例に係る予測動きベクトル算出方法を示すフローチャートである。
【
図14】本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【
図15】本発明の実施例に係る時間的候補予測動きベクトルを算出する方法を示すための概念図である。
【
図16】本発明の実施例に係る候補予測動きベクトルリストを算出する方法を示す概念図である。
【
図17】本発明の実施例に係る候補予測動きベクトルリストから同じ候補予測動きベクトルを除去することを示す概念図である。
【
図18】本発明の実施例に係る候補予測動きベクトルを追加及び除去して候補予測動きベクトルリストの大きさを調整する方法を示す概念図である。
【
図19】本発明の実施例に係る候補予測動きベクトルリストで最終予測動きベクトルを決定することを示す概念図である。
【
図20】本発明の実施例に係る候補予測動きベクトルリストを算出する方法を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施形態に対して具体的に説明する。本明細書の実施例を説明するにあたって、関連した公知構成又は機能に対する具体的な説明が本明細書の要旨を不明にすると判断される場合にはその詳細な説明は省略する。
【0011】
一構成要素が他の構成要素に“連結されている”又は“接続されている”と言及された場合、該当他の構成要素に直接的に連結されている、又は接続されていることもあるが、中間に他の構成要素が存在することもあると理解されなければならない。併せて、本発明において、特定構成を“含む”と記述する内容は、該当構成以外の構成を排除するものではなく、追加的な構成が本発明の実施又は本発明の技術的思想の範囲に含まれることができることを意味する。
【0012】
第1、第2などの用語は、多様な構成要素の説明に使われることができるが、前記構成要素は、前記用語により限定されてはならない。前記用語は、一つの構成要素を他の構成要素から区別する目的にのみ使われる。例えば、本発明の権利範囲を外れない限り、第1の構成要素は第2の構成要素と命名することができ、同様に、第2の構成要素も第1の構成要素と命名することができる。
【0013】
また、本発明の実施例に示す構成部は、互いに異なる特徴的な機能を示すために独立的に図示されるものであり、各構成部が分離されたハードウェアや一つのソフトウェア構成単位に構成されることを意味しない。即ち、各構成部は、説明の便宜上、それぞれの構成部として羅列して含むものであり、各構成部のうち少なくとも二つの構成部が統合されて一つの構成部からなり、又は一つの構成部が複数個の構成部に分けられて機能を遂行することができ、このような各構成部の統合された実施例及び分離された実施例も本発明の本質から外れない限り本発明の権利範囲に含まれる。
【0014】
また、一部の構成要素は、本発明で本質的な機能を遂行する必須な構成要素ではなく、単に性能を向上させるための選択的構成要素である。本発明は、単に性能向上のために使われる構成要素を除いた本発明の本質を具現するのに必須な構成部のみを含んで具現されることができ、単に性能向上のために使われる選択的構成要素を除いた必須構成要素のみを含む構造も本発明の権利範囲に含まれる。
【0015】
図1は、本発明の一実施例に係る映像符号化装置の構成を示すブロック図である。
【0016】
図1を参照すると、前記映像符号化装置100は、動き予測部111、動き補償部112、イントラ予測部120、スイッチ115、減算器125、変換部130、量子化部140、エントロピー符号化部150、逆量子化部160、逆変換部170、加算器175、フィルタ部180、及び参照ピクチャバッファ190を含む。
【0017】
映像符号化装置100は、入力映像に対してイントラ(intra)モード又はインター(inter)モードに符号化を実行し、ビットストリームを出力することができる。イントラモードの場合、スイッチ115がイントラに転換され、インターモードの場合、スイッチ115がインターに転換されることができる。映像符号化装置100は、入力映像の入力ブロックに対する予測ブロックを算出した後、入力ブロックと予測ブロックとの差分(residual)を符号化することができる。
【0018】
イントラモードの場合、イントラ予測部120は、現在ブロック周辺の既に符号化されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロックを算出することができる。
【0019】
インターモードの場合、動き予測部111は、動き予測過程で参照ピクチャバッファ190に格納されている参照映像で入力ブロックと最もよくマッチされる領域を探して動きベクトルを求めることができる。動き補償部112は、動きベクトルを利用して動き補償を実行することによって予測ブロックを算出することができる。
【0020】
動き予測部111では予測対象ブロックの周辺予測ブロックから誘導された複数個の空間的候補予測動きベクトル関連情報及び複数個の空間的候補予測動きベクトル関連情報に基づいて決定された時間的候補予測動きベクトル関連情報に基づいて前記候補予測動きベクトルリストを生成することができる。詳細な候補予測動きベクトルリスト生成方法に対しては、以下、本発明の実施例で後述し、このような動作を実行する予測部は、本発明の実施例に含まれる。
【0021】
減算器125は、入力ブロックと算出された予測ブロックとの差分により残差ブロック(residual block)を算出することができる。変換部130は、残差ブロックに対して変換(transform)を実行することで、変換係数(transform coefficient)を出力することができる。ここで、変換係数は、残差ブロック及び/又は残差信号に対する変換を実行することによって算出された係数値を意味することができる。以下、本明細書では変換係数に量子化が適用されて算出された、量子化された変換係数レベル(transform coefficient level)も変換係数と呼ばれることができる。
【0022】
量子化部140は、入力された変換係数を量子化パラメータによって量子化し、量子化された変換係数レベル(quantized transform coefficientlevel)を出力することができる。
【0023】
エントロピー符号化部150は、量子化部140で算出された値又は符号化過程で算出された符号化パラメータ値などに基づいてエントロピー符号化を実行することで、ビットストリーム(bit stream)を出力することができる。
【0024】
エントロピー符号化が適用される場合、高い発生確率を有するシンボル(symbol)に少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、符号化対象シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー符号化を介して映像符号化の圧縮性能が高まることができる。エントロピー符号化部150は、エントロピー符号化のために、指数ゴロム(exponential golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)のような符号化方法を使用することができる。
【0025】
エントロピー符号化部150では候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち予測対象ブロックに対する画面間予測を実行するために使われる予測動きベクトルに対する情報を符号化することができる。
【0026】
図1の実施例に係る映像符号化装置は、インター予測符号化、即ち、画面間予測符号化を実行するため、現在符号化された映像は、参照映像として使われるために復号化されて格納される必要がある。したがって、量子化された係数は、逆量子化部160で逆量子化され、逆変換部170で逆変換される。逆量子化、逆変換された係数は、加算器175を介して予測ブロックと加えられて復元ブロック(Reconstructed Block)が算出される。
【0027】
復元ブロックは、フィルタ部180を経て、フィルタ部180は、デブロッキングフィルタ(deblocking filter)、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)のうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部180を経た復元ブロックは、参照ピクチャバッファ190に格納されることができる。
【0028】
図2は、本発明の他の実施例に係る映像復号化装置の構成を示すブロック図である。
【0029】
図2を参照すると、前記映像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、イントラ予測部240、動き補償部250、加算器255、フィルタ部260、及び参照ピクチャバッファ270を含む。
【0030】
映像復号化装置200は、符号化器で出力されたビットストリームの入力を受けてイントラモード又はインターモードに復号化を実行することで、再構成された映像、即ち、復元映像を出力することができる。イントラモードの場合、スイッチがイントラに転換され、インターモードの場合、スイッチがインターに転換されることができる。映像復号化装置200は、入力を受けたビットストリームから復元された残差ブロック(reconstructed residual block)を得て予測ブロックを算出した後、復元された残差ブロックと予測ブロックとを加えて再構成されたブロック、即ち、復元ブロックを算出することができる。
【0031】
エントロピー復号化部210は、入力されたビットストリームを確率分布によってエントロピー復号化し、量子化された係数(quantized coefficient)形態のシンボルを含むシンボルを算出することができる。エントロピー復号化方法は、前述したエントロピー符号化方法と同様である。
【0032】
エントロピー復号化方法が適用される場合、高い発生確率を有するシンボルに少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、各シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー復号化方法を介して映像復号化の圧縮性能が高まることができる。
【0033】
エントロピー復号化部210では候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち予測対象ブロックに対する画面間予測を実行するために使われる予測動きベクトルに対する情報を復号化することができる。
【0034】
量子化された係数は、逆量子化部220で逆量子化され、逆変換部230で逆変換され、量子化された係数が逆量子化/逆変換された結果、復元された残差ブロックが算出されることができる。
【0035】
イントラモードの場合、イントラ予測部240は、現在ブロック周辺の既に復号化されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロックを算出することができる。インターモードの場合、動き補償部250は、動きベクトル及び参照ピクチャバッファ270に格納されている参照映像を利用して動き補償を実行することによって予測ブロックを算出することができる。
【0036】
インターモードの場合、前記予測対象ブロックの周辺予測ブロックから誘導された複数個の空間的候補予測動きベクトル関連情報及び前記複数個の空間的候補予測動きベクトル関連情報に基づいて決定された時間的候補予測動きベクトル関連情報に基づいて前記候補予測動きベクトルリストを生成することができる。詳細な候補予測動きベクトルリスト生成方法に対しては、以下、本発明の実施例で詳述し、このような実施例を実行する予測部を含む復号化装置は、本発明の権利範囲に含まれる。
【0037】
復元された残差ブロックと予測ブロックは、加算器255を介して加えられ、加えられたブロックは、フィルタ部260を経ることができる。フィルタ部260は、デブロッキングフィルタ、SAO、ALFのうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部260は、再構成された映像、即ち、復元映像を出力することができる。復元映像は、参照ピクチャバッファ270に格納されてインター予測に使われることができる。
【0038】
符号化/復号化装置の予測性能を向上させるための方法には補間(interpolation)映像の正確度を高さは方法と差信号を予測する方法がある。ここで差信号とは、原本映像と予測映像との差を示す信号である。本発明において“差信号”は文脈によって“差分信号”、“残余ブロック”又は“差分ブロック”に代替されて使われることができ、該当技術分野において通常の知識を有する者は、発明の思想、本質に影響を与えない範囲内でこれを区分することができる。
【0039】
前述したように、以下、本発明の実施例では、説明の便宜上、コーディングユニット(Coding Unit)を符号化単位と定義して使用するが、符号化だけでなく、復号化を実行する単位になることもできる。また、以下、ユニット又はブロックは、映像符号化及び復号化の単位を意味し、映像符号化及び復号化時の符号化又は復号化単位は、一つの映像を細分化されたユニットに分割して符号化又は復号化する時、その分割された単位を意味するため、マクロブロック、符号化ユニット(CU:Coding Unit)、予測ユニット(PU:Prediction Unit)、変換ユニット(TU:Transform Unit)、変換ブロック(transform block)などで呼ぶこともある。一つのブロックは、大きさが小さい下位ブロックに分割されることができる。予測ユニットとは、予測/補償実行時の基本ブロックであり、予測ユニットは、分割されて複数のパーティション(Partition)になることもできる。複数のパーティションも予測実行時の基本ブロックとなり、予測ユニットが分割されたパーティションも予測ユニットという。
【0040】
本発明の実施例で後述する映像符号化方法及び映像復号化方法は、
図1及び
図2で詳述した映像符号化器及び映像復号化器に含まれている各構成部で実行されることができる。構成部の意味は、ハードウェア的な意味だけでなく、アルゴリズムを介して実行されることができるソフトウェア的な処理単位も含むことができる。
【0041】
図3は、本発明の実施例に係る候補予測動きベクトルを算出するための空間的候補予測ブロック及び時間的候補予測ブロックを示す概念図である。
【0042】
予測対象ブロックの左側上端に存在するピクセルの位置を(xP,yP)とし、予測対象ブロックの幅をnPSW、予測対象ブロックの高さをnPSHという変数で定義する。MinPuSizeは、最も小さい予測ブロックの大きさを示すことができる。
【0043】
以下、本発明の実施例では予測対象ブロックの空間的周辺予測ブロックは、(xP-1,yP+nPSH)に存在するピクセルを含むブロックを左側第1のブロック(A0ブロック)300、(xP-1,yP+nPSH-MinPuSize)に存在するピクセルを含むブロックを左側第2のブロック(A1ブロック)310と定義して使用する。また、(xP+nPSW,yP-1)に位置するピクセルを含むブロックを上端第1のブロック(B0ブロック)320、(xP+nPSW-MinPuSize,yP-1)に位置するピクセルを含むブロックを上端第2のブロック(B1ブロック)330、(xP-MinPuSize,yP-1)に位置するピクセルを含むブロックを上端第3のブロック(B2ブロック)340と定義して使用する。
【0044】
空間的候補予測ブロックは、左側第1のブロック(A0)300、左側第2のブロック(A1、310)、上端第1のブロック(B0)320、上端第2のブロック(B1)330、上端第3のブロック(B2)340を含むことができる。空間的候補予測グループは、二つのグループに分けられ、左側第1のブロック300及び左側第2のブロック310を含むグループを第1の空間的候補予測グループと定義し、上端第1のブロック320、上端第2のブロック330、上端第3のブロック340を含むグループを第2の空間的候補予測グループと定義することができる。
【0045】
時間的候補予測ブロック350は、現在予測対象ブロックを含むピクチャ内のピクセル位置(xP,yP)に基づいて現在予測ブロックのColocatedピクチャ(Colocated Picture)で(xP+nPSW,yP+nPSH)位置のピクセルを含む予測ブロックであり、又は(xP+nPSW,yP+nPSH)位置のピクセルを含む予測ブロックが可用しない場合、(xP+(nPSW>>1),yP+(nPSH>>1))位置のピクセルを含む予測ブロックになることができる。Colocatedピクチャで(xP+nPSW,yP+nPSH)位置のピクセルを含む予測ブロックを第1のColocatedブロック(Colocated Block)といい、Colocatedピクチャで(xP+(nPSW>>1),yP+(nPSH>>1))位置のピクセルを含む予測ブロックを第2のColocatedブロックということができる。
【0046】
図3で開示した空間的候補予測ブロックの位置及び個数と時間的候補予測ブロックの位置及び個数は、任意であり、本発明の本質から外れない限り空間的候補予測ブロックの位置及び個数と時間的候補予測ブロックの位置及び個数は変わることができる。また、候補予測動きベクトルリストの構成時、優先的にスキャンされる予測ブロックの順序も変わることができる。即ち、以下、本発明の実施例で説明する候補予測動きベクトルリストの構成時に使われる候補予測ブロックの位置、個数、スキャン順序、候補予測グループなどは、一つの実施例に過ぎず、本発明の本質から外れない限り変わることができる。このとき、候補予測動きベクトルリスト(Candidate Predicted Motion Vector List)は、候補予測動きベクトルを利用して構成されたリストを意味する。
【0047】
図4は、本発明の実施例に係る予測対象ブロックの動きベクトルと空間的候補予測ブロックの動きベクトルとの関係を介して空間的候補予測ブロックの動きベクトルを分類する方法を説明するための概念図である。
【0048】
図4を参照すると、予測対象ブロックと同じ参照フレーム及び同じ参照ピクチャリストから算出された空間的候補予測ブロックの動きベクトルを第1の動きベクトル400という。
図4を参照すると、予測対象ブロック450の参照ピクチャがjピクチャであり、jピクチャが含まれている参照ピクチャリストがL0リストと仮定する場合、空間的候補予測ブロック470のベクトル400が示す参照ピクチャがjピクチャであり、jピクチャが含まれている参照ピクチャリストがL0リストであるため、空間的候補予測ブロック470の動きベクトルと予測対象ブロックの動きベクトルは、同じ参照ピクチャ及び同じ参照ピクチャリストを有する。このように予測対象ブロックと同じ参照フレームと同じリストから算出された動きベクトルを第1の動きベクトル400と定義する。
【0049】
予測対象ブロック450と同じ参照フレームを有し、互いに異なる参照ピクチャリストから算出された空間的候補予測ブロック470の動きベクトルを第2の動きベクトル410という。予測対象ブロック450の参照ピクチャがjピクチャであり、jピクチャが含まれている参照ピクチャリストがL0リストと仮定する場合、空間的候補予測ブロック470のベクトルが示す参照ピクチャがjピクチャであり、jピクチャが含まれている参照ピクチャリストがL1リストであるため、空間的候補予測ブロックの動きベクトル410と予測対象ブロックの動きベクトルは、同じ参照ピクチャを有するが、互いに異なる参照ピクチャリストを有する。このように予測対象ブロックと同じ参照フレームであるが、互いに異なるリストから算出された動きベクトルを第2の動きベクトル410と定義する。
【0050】
予測対象ブロックと互いに異なる参照フレームを有し、同じ参照ピクチャリストから算出された空間的候補予測ブロックの動きベクトルを第3の動きベクトル420という。予測対象ブロック450の参照ピクチャがjピクチャであり、jピクチャが含まれている参照ピクチャリストがL0リストと仮定する場合、空間的候補予測ブロック470のベクトル420が示す参照ピクチャがiピクチャであり、iピクチャが含まれている参照ピクチャリストがL0リストであるため、空間的候補予測ブロックの動きベクトルと予測対象ブロックの動きベクトルは、互いに異なる参照ピクチャを有するが、同じ参照ピクチャリストを有する。このように予測対象ブロック450と互いに異なる参照フレームであるが、同じリストから算出された動きベクトルを第3の動きベクトル420と定義する。第3の動きベクトル420の場合、予測対象ブロックと参照ピクチャが互いに異なるため、空間的候補予測ブロックの動きベクトルを使用時、予測対象ブロックの参照ピクチャを基準にスケーリング(Scaling)して候補予測動きベクトルリストに含まれることができる。
【0051】
予測対象ブロック450と互いに異なる参照フレームを有して互いに異なる参照ピクチャリストから算出された空間的候補予測ブロック470の動きベクトルを第4の動きベクトル430という。予測対象ブロック450の参照ピクチャがjピクチャであり、jピクチャが含まれている参照ピクチャリストがL0リストと仮定する場合、空間的候補予測ブロック470のベクトル430が示す参照ピクチャがmピクチャであり、mピクチャが含まれている参照ピクチャリストがL1リストであるため、空間的候補予測ブロックの動きベクトルと予測対象ブロックの動きベクトルは、互いに異なる参照ピクチャ及び互いに異なる参照ピクチャリストを有する。このように予測対象ブロックと互いに異なる参照フレーム及び互いに異なる参照ピクチャリストから算出された動きベクトルを第4の動きベクトル430と定義する。第4の動きベクトル430も予測対象ブロック450と参照ピクチャが互いに異なるため、空間的候補予測ブロックの動きベクトルを使用時、予測対象ブロックの参照ピクチャを基準にスケーリングを実行して候補予測動きベクトルリストに含まれることができる。
【0052】
空間的候補予測ブロックの動きベクトルは、予測対象ブロックの参照フレーム及び参照ピクチャリストによって、前述したように第1の動きベクトル乃至第4の動きベクトルに分類されることができる。第1の動きベクトル及び第2の動きベクトルの場合、スケーリングを実行せずに使用することができるベクトルであり、スケーリングを実行しない非スケーリング(Non-Scaling)動きベクトルと定義し、第3の動きベクトル及び第4の動きベクトルの場合、スケーリングを実行せずに使用することができるベクトルであり、スケーリング(Scaling)動きベクトルと定義して使用することができる。
【0053】
空間的候補予測ブロックの動きベクトルを第1の動きベクトル乃至第4の動きベクトルに分類する方法は、以下、本発明の実施例で説明する空間的候補予測ブロックの動きベクトルのうち、候補予測動きベクトルとして優先的に使われる動きベクトルに対して決定するときに使われることができる。
【0054】
以下、本発明の実施例では第1の動きベクトル乃至第4の動きベクトルのような候補予測動きベクトルのうち最適の動きベクトルとして選択された動きベクトルを予測動きベクトルと定義することができる。
【0055】
図5は、本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【0056】
候補予測動きベクトルは、空間的候補予測動きベクトルと時間的候補予測動きベクトルのうち少なくとも一つ以上を含む意味である。
【0057】
本発明の実施例に係る候補予測動きベクトル算出方法は、候補予測動きベクトルを誘導するにあたって、誘導過程が並列的に実行されることができる。例えば、候補予測動きベクトルを誘導するにあたって、2個の空間的候補予測グループ(第1の空間的候補予測グループ、第2の空間的候補予測グループ)から各々一つの候補予測動きベクトルが誘導され、時間的候補予測ブロックから一つの候補予測動きベクトルが誘導される場合、第1の空間的候補予測グループ、第2の空間的候補予測グループ、時間的候補予測ブロックから候補予測動きベクトルを算出する動作が並列的に実行されることができる。候補予測動きベクトル誘導過程が並列的に実行されるということは、候補予測動きベクトル誘導過程の複雑度を減少させることができることを意味する。
【0058】
図5を参照すると、第1の空間的候補予測グループから第1の空間的候補予測動きベクトルを算出するステップ(ステップS500)、第2の空間的候補予測グループから空間的候補予測動きベクトルを算出するステップ(ステップS520)、時間的候補予測ブロックから時間的候補予測動きベクトルを算出するステップ(ステップS540)が並列的に実行される。
【0059】
図5で並列的に実行された候補予測動きベクトルを算出するためのステップは、任意であり、並列的に候補予測動きベクトルが誘導されるという本発明の本質から外れない限り他の方法を使用することができる。例えば、時間的候補予測ブロックから候補予測動きベクトルを算出するステップは除去され、第1の空間的候補予測グループから候補予測動きベクトルが算出されるステップ及び第2の空間的候補予測グループから候補予測動きベクトルが算出されるステップのみが並列的に実行されることができる。
【0060】
本発明の実施例に係る候補予測動きベクトル誘導方法では、
【0061】
A)スケーリングを実行しない予測動きベクトルである非スケーリング動きベクトル(第1の動きベクトル又は第2の動きベクトル)のみを候補予測動きベクトルとして使用する方法。
【0062】
B)非スケーリング動きベクトル(第1の動きベクトル又は第2の動きベクトル)が存在しない場合、スケーリングを実行しない第3の動きベクトル又は第4の動きベクトルを候補予測動きベクトルとして使用する方法
【0063】
を介して候補予測動きベクトルを算出することができる。
【0064】
図6は、本発明の他の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【0065】
図6を参照すると、左側第1のブロックから左側第2のブロックの順に非スケーリング動きベクトル(第1の動きベクトル又は第2の動きベクトル)が存在するかどうかを順次に判断する(ステップS600)。
【0066】
前述したように、第1の動きベクトル及び第2の動きベクトルは、予測対象ブロックと同じ参照ピクチャインデックスを有しており、スケーリングを実行する必要がない非スケーリング候補予測動きベクトルを意味する。
【0067】
ステップS600では、例えば、下記のような順序に候補予測動きベクトルの存在可否を判断することができる。
【0068】
(1)左側第1のブロックに非スケーリング候補予測動きベクトルが存在するかどうかを判断し、左側第1のブロックに非スケーリング候補予測動きベクトルが存在する場合、該当非スケーリング候補予測動きベクトルを候補予測動きベクトルに決定。
【0069】
(2)左側第1のブロックに非スケーリング候補予測動きベクトルが存在しない場合、左側第2のブロックに非スケーリング候補予測動きベクトルが存在するかどうかを判断する。左側第2のブロックに非スケーリング候補予測動きベクトルが存在する場合、該当非スケーリング候補予測動きベクトルを候補予測動きベクトルに決定。
【0070】
(3)左側第2のブロックに非スケーリング候補予測動きベクトルが存在しない場合、第1の空間的候補予測グループ(左側第1のブロック及び左側第2のブロック)から候補予測動きベクトルを算出しない。
【0071】
ステップS600では他の実施例として、下記のような順序に候補予測動きベクトルの存在可否を判断することができる。
【0072】
(1)左側第1のブロックに第1の動きベクトルが存在するかどうかを判断し、左側第1のブロックに第1の動きベクトルが存在する場合、該当ベクトルを候補予測動きベクトルに決定。
【0073】
(2)左側第1のブロックに第1の動きベクトルが存在しない場合、左側第2のブロックに第1の動きベクトルが存在するかどうかを判断し、左側第2のブロックに第1の動きベクトルが存在する場合、該当ベクトルを候補予測動きベクトルに決定。
【0074】
(3)左側第2のブロックに第1の動きベクトルが存在しない場合、左側第1のブロックに第2の動きベクトルが存在するかどうかを判断し、左側第1のブロックに第2の動きベクトルが存在する場合、該当ベクトルを候補予測動きベクトルに決定。
【0075】
(4)左側第1のブロックに第2の動きベクトルが存在しない場合、左側第2のブロックに第2の動きベクトルが存在するかどうかを判断し、左側第2のブロックに第2の動きベクトルが存在する場合、該当ベクトルを候補予測動きベクトルに決定。
【0076】
前記のような順序は、第1の空間的候補予測グループから非スケーリング候補予測動きベクトルを算出する方法の例示に過ぎず、他の順序を介して第1の空間的候補予測グループから非スケーリング候補予測動きベクトルを算出することも可能である。
【0077】
前述したように、ステップS600を介して判断した結果、非スケーリング候補予測動きベクトルが存在しない場合、第1の空間的候補予測グループ(左側第1のブロック及び左側第2のブロック)から候補予測動きベクトルを算出しない。
【0078】
第1の空間的候補予測グループから非スケーリング候補予測動きベクトルを算出する方法を介して非スケーリング候補予測動きベクトルが存在する場合、第1の空間的候補予測グループ可用性情報(例えば、availableFlagLXY)を1に設定し、第1の空間的候補予測グループに候補予測動きベクトルが存在することを表示することができる。1は、候補予測動きベクトルの存在可否を表示するための任意の二進数であり、他の二進符号を介して同じ意味を含むこともできる。本発明の実施例で所定の情報の内容を表示する1及び0の二進数は、任意であり、他の二進符号化方法又は他の符号化方法を使用して算出された符号に基づいて該当情報を表現することができる。
【0079】
他の実施例として、ステップS600を介して算出された非スケーリング候補予測動きベクトルが存在しない場合、左側第1のブロック及び左側第2のブロックでスケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)が存在するかどうかを順次に判断する(ステップS610)。
【0080】
例えば、ステップS610では下記のようなステップを介してスケーリング動きベクトルが存在するかどうかを判断することができる。
【0081】
(1)左側第1のブロックで第3の動きベクトル又は第4の動きベクトルが存在するかどうかを順次に判断した後、左側第1のブロックで第3の動きベクトル又は第4の動きベクトルが存在する場合、該当第3の動きベクトル又は第4の動きベクトルをスケーリングせずに候補予測動きベクトルに決定する。
【0082】
(2)左側第1のブロックで第3の動きベクトル又は第4の動きベクトルが存在しない場合、左側第2のブロックで第3の動きベクトル乃至第4の動きベクトルが存在するかどうかを順次に判断し、左側第2のブロックで第3の動きベクトル又は第4の動きベクトルが存在する場合、該当第3の動きベクトル又は第4の動きベクトルをスケーリングせずに候補予測動きベクトルに決定する。
【0083】
即ち、第1の空間的候補予測グループに非スケーリング候補予測動きベクトルが存在しない場合、第1の空間的候補予測グループ(左側第1のブロック及び左側第2のブロック)からスケーリング候補予測動きベクトル(第3の動きベクトル又は第4の動きベクトル)を算出し、スケーリングを実行しない動きベクトルを候補予測動きベクトルとして算出することができる。
【0084】
ステップS610である左側第1のブロック及び左側第2のブロックでスケーリング候補予測動きベクトル(第3の動きベクトル又は第4の動きベクトル)が存在するかどうかを順次に判断する方法として前述した左側第1のブロック及び左側第2のブロックからスケーリング動きベクトル(第1の動きベクトル又は第1の動きベクトル)を算出する方法のように多様な方法が使われることができ、このような多様な実施例も本発明の権利範囲に含まれる。
【0085】
ステップS600又はステップS600乃至ステップS610を介して条件を満たす動きベクトルが存在する場合、第1の空間的候補予測グループ可用性情報を1に設定し、以後の動きベクトル存在可否判断手順は実行されない。
【0086】
第2の空間的候補予測グループでも同様な方法により候補予測動きベクトルが算出されることができる。
【0087】
上端第1のブロック、上端第2のブロック、上端第3のブロックの順に非スケーリング動きベクトルが存在するかどうかを順次に判断する(ステップS620)。
【0088】
第2の空間的候補予測グループから候補予測動きベクトルを算出するステップS620は、前述したように、第1の空間的候補予測グループから候補予測動きベクトルを算出するステップS600又はステップS610のうち少なくとも一つのステップと並列的に実行されることができる。
【0089】
例えば、ステップS600で詳述した方法と同様に、ステップS620では上端第1のブロックから上端第3のブロックの順に第1の動きベクトルが存在するかどうかを判断し、上端第1のブロックから上端第3のブロックに第1の動きベクトルが存在しない場合、上端第1のブロックから上端第3のブロックの順に第2の動きベクトルが存在するかどうかを判断し、又は上端第1のブロックで第1の動きベクトル又は第2の動きベクトルが存在するかどうかを判断し、次に、上端第2のブロックで第1の動きベクトル又は第2の動きベクトルが存在するかどうかを判断し、上端第3のブロックで第1の動きベクトル又は第2の動きベクトルが存在するかどうかを判断する方法を介して空間的候補予測動きベクトルを算出することができる。
【0090】
ステップS620の判断手順は、ステップS600と同様に、多様な方法により実行されることができ、このような多様な判断手順は、本発明の権利範囲に含まれる。
【0091】
ステップS620の順次的な判断手順に基づいて上端第1のブロック乃至上端第3のブロックに条件に合う候補予測動きベクトルが存在する場合、その以後の判断手順は実行されない。算出された動きベクトルは、候補予測動きベクトルリストに含まれることができ、第2の空間的候補予測グループ可用性情報を1に設定し、第2の空間的候補予測グループに候補予測動きベクトルが存在することを表示することができる。
【0092】
ステップS600と同様に、ステップS620を介して上端第1のブロック乃至上端第3のブロックに非スケーリング候補予測動きベクトルである第1の動きベクトル又は第2の動きベクトルが存在しない場合、第2の空間的候補予測グループから候補予測動きベクトルを算出しない。
【0093】
他の実施例として、ステップS620を介して上端第1のブロック、上端第2のブロック、上端第3のブロックに非スケーリング動きベクトルが存在するかどうかを判断した結果、非スケーリング動きベクトルが存在しない場合、上端第1のブロック、上端第2のブロック、上端第3のブロックにスケーリング動きベクトル(第3の動きベクトル及び第4の動きベクトル)が存在するかどうかを順次に判断する(ステップS630)。
【0094】
ステップS620を介して上端第1のブロックから上端第3のブロックの順に第1の動きベクトル又は第2の動きベクトルが存在するかどうかを順次に判断した結果、条件に合うベクトルを発見することができない場合、ステップS630を介して候補予測動きベクトルを算出することができる。
【0095】
もし、ステップS630を介して上端第1のブロック、上端第2のブロック及び上端第3のブロックのうち少なくとも一つのブロックに第3の動きベクトル又は第4の動きベクトルが存在すると判断される場合、該当ベクトルに対してスケーリングを実行せずにスケーリングを実行しない第3の動きベクトル及び第4の動きベクトルを候補予測動きベクトルリストに含ませることができる。
【0096】
上端第1のブロック、上端第2のブロック及び上端第3のブロックのうち少なくとも一つのブロックに第3の動きベクトル又は第4の動きベクトルが存在するかどうかを判断する手順は、第1の空間的候補予測グループから動きベクトルを算出する方法のように、多様な判断方法を使用して実行されることができる。
【0097】
ステップS620及びステップS630を介して条件を満たす動きベクトルが存在する場合、第2の空間的候補予測グループから一つの候補予測動きベクトルを算出することができる。
【0098】
時間的候補予測ブロック(Colocatedブロック)で候補予測動きベクトルが存在するかどうかを判断する(ステップS640)。
【0099】
時間的候補予測ブロックで候補予測動きベクトルが存在するかどうかを判断するステップS640は、第1の空間的候補予測グループから候補予測動きベクトルを算出するステップS600又はS610及び第2の空間的候補予測グループから候補予測動きベクトルを算出するステップS620又はS630と並列的に実行されることができる。
【0100】
時間的候補予測ブロックは、前述したように、第1のColocatedブロックと第2のColocatedブロックに分けられることができ、第1のColocatedブロックの可用性可否を判断した後、第1のColocatedブロックが可用しない場合、第2のColocatedブロックがColocatedブロックとして選択されることができる。
【0101】
時間的候補予測ブロックが含まれるColocatedピクチャは、所定の情報によって現在ピクチャの参照ピクチャリスト内の参照ピクチャのうち一つのピクチャになることができる。それだけでなく、時間的候補予測ブロックが含まれるColocatedピクチャを算出する方法は、多様な方法が使われることができる。二つの参照ピクチャリストを使用する時間的候補予測ブロックは、所定のフラグ情報によって優先的に一つのリストに存在する動きベクトルのみを候補予測動きベクトルとして使用することができる。現在ピクチャと現在ピクチャの参照ピクチャとの間の距離と、時間的候補予測ブロックが含まれているピクチャと時間的候補予測ブロックの参照ピクチャとの間の距離が異なる場合、時間的候補予測ブロックから算出された候補予測動きベクトルにスケーリングを実行することができる。
【0102】
本発明の実施例によると、時間的候補予測ブロック(Colocatedブロック)に対してもスケーリングを実行しない。例えば、計算複雑度を減少させる具現が必要な場合、スケーリングを実行しない、又はフラグ情報を介してColocatedブロックの動きベクトルに対して適応的にスケーリングを実行しないように設定する方法を介して時間的候補予測ブロックに対するスケーリングを実行しない。
【0103】
時間的候補予測ブロックから算出された候補予測動きベクトルが算出されることができる場合、時間的候補予測ブロック可用性情報を1に設定することができる。
【0104】
即ち、本発明の実施例では、第1の空間的候補予測グループ、第2の空間的候補予測グループ、時間的候補予測ブロックで可用な候補予測動きベクトルが存在するかどうかを判断する手順を並列的に実行することで、候補予測動きベクトルを算出するにあたって、第1の空間的候補予測グループ、第2の空間的候補予測グループ、時間的候補予測ブロックから候補予測動きベクトルを算出する時に発生する従属性を除去することができる。
【0105】
また、並列的に第1の空間的候補予測グループ、第2の空間的候補予測グループ、時間的候補予測ブロックで可用な候補予測動きベクトルが存在するかどうかを判断するにあたって、第1の空間的候補予測グループ、第2の空間的候補予測グループで可用な候補予測動きベクトルが存在するかどうかに対してのみを並列的に判断し、時間的候補予測ブロックで可用な候補予測動きベクトルが存在するかどうかを判断する手順は、従属的に実行すると同様に、第1の空間的候補予測グループ、第2の空間的候補予測グループ、時間的候補予測ブロックから候補予測動きベクトルを算出するにあたって、少なくとも二つのグループでのみ並列的に候補予測動きベクトルを算出するプロセスが実行されるようにすることも可能である。
【0106】
前記の過程を介して第1の空間的候補予測グループ、第2の空間的候補予測グループ又は時間的候補予測ブロックから算出されることができる動きベクトルが存在する場合、可用性情報フラグ(availableFlagLXY又はavailableFlagCol)を利用して可用な候補予測動きベクトルが存在することを表示することができる。
【0107】
前述したように、候補予測動きベクトルを算出するにあたって、前述したように、第1の空間的候補予測グループに含まれているブロックの個数及び位置、第2の空間的候補予測グループに含まれているブロックの個数及び位置、時間的候補予測ブロックの個数及び位置は、任意であり、第1の空間的候補予測グループ及び第2の空間的候補予測グループに含まれるブロックの個数及び位置は変わることができ、このような実施例も本発明の権利範囲に含まれる。
【0108】
図7は、本発明の他の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【0109】
本発明の実施例によると、第1の空間的候補予測グループと第2の空間的候補予測グループから候補予測動きベクトルを誘導する時、他の候補予測ブロックから算出された動きベクトルにスケーリングが実行されたかどうかと関係なしに個別的にスケーリングを実行するようにすることで、並列的に候補予測動きベクトルを誘導するようにすることができる。
【0110】
第1の空間的候補予測グループ(左側第1のブロック、左側第2のブロック)から候補予測動きベクトルを誘導する。
【0111】
第1の空間的候補予測グループから候補予測動きベクトルを誘導するために、第1の空間的候補予測グループに非スケーリング動きベクトル(第1の動きベクトル又は第2の動きベクトル)が存在するかどうかを判断することができる(ステップS700)。
【0112】
第1の空間的候補予測グループに非スケーリング動きベクトル(第1の動きベクトル又は第2の動きベクトル)が存在するかどうかを判断するためにステップS600で詳述した方法を使用することができる。
【0113】
第1の空間的候補予測グループから候補予測動きベクトルを誘導するために第1の空間的候補予測グループにスケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)が存在するかどうかを判断することができる(ステップS710)。
【0114】
ステップS700を介した判断結果、非スケーリング動きベクトルが存在しない場合、スケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)が存在するかどうかを判断し、スケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)を候補予測動きベクトルとして選択することができる。
【0115】
ステップS710ではステップS610のように多様な方法により第1の空間的候補予測グループで第3の動きベクトル又は第4の動きベクトルが存在するかどうかを判断することができ、ステップS710ではステップS610と違ってスケーリングを実行した後に算出された第3の動きベクトル及び第4の動きベクトルを候補予測動きベクトルとして使用することができる。
【0116】
第2の空間的候補予測グループ(上端第1のブロック、上端第2のブロック、上端第3のブロック)から候補予測動きベクトルを誘導する。
【0117】
第2の空間的候補予測グループから候補予測動きベクトルを誘導するために第2の空間的候補予測グループに非スケーリング動きベクトル(第1の動きベクトル又は第2の動きベクトル)が存在するかどうかを判断することができる(ステップS720)。
【0118】
第2の空間的候補予測グループに非スケーリング動きベクトル(第1の動きベクトル又は第2の動きベクトル)が存在するかどうかを判断するためにステップS620で詳述した方法を使用することができる。
【0119】
第2の空間的候補予測グループから候補予測動きベクトルを誘導するために第2の空間的候補予測グループにスケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)が存在するかどうかを判断することができる(ステップS730)。
【0120】
ステップS720を介した判断結果、非スケーリング動きベクトルが存在しない場合、スケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)を候補予測動きベクトルとして選択することができる。
【0121】
ステップS730ではステップS630のように多様な方法により第2の空間的候補予測グループで第3の動きベクトル又は第4の動きベクトルが存在するかどうかを判断することができ、ステップS730ではステップS630と違ってスケーリングを実行した後に算出された第3の動きベクトル及び第4の動きベクトルを候補予測動きベクトルとして使用することができる。
【0122】
第2の空間的候補予測グループから算出された第3の動きベクトル及び第4の動きベクトルに対してスケーリングを実行するかどうかは、第1の空間的候補予測グループから候補予測動きベクトルを算出するためにスケーリングを実行したかどうかと関係なしに独立的にスケーリングを実行することができる。
【0123】
時間的候補予測ブロック(Colocatedブロック)で候補予測動きベクトルが存在するかどうかを判断する(ステップS740)。
【0124】
時間的候補予測ブロックで候補予測動きベクトルが存在するかどうかを判断するステップS740は、前述した第1の空間的候補予測グループから候補予測動きベクトルを算出するステップS700又はS710と第2の空間的候補予測グループから候補予測動きベクトルを算出するステップS720又はS730と並列的に実行されることができる。
【0125】
時間的候補予測ブロックは、前述したように、第1のColocatedブロックと第2のColocatedブロックのように複数の候補予測ブロックに分けられることができ、もし、時間的候補予測ブロックから一つの時間的候補予測動きベクトルが算出される場合、第1のColocatedブロックの可用性可否を判断した後、第1のColocatedブロックが可用しない場合、第2のColocatedブロックがColocatedブロックとして選択されることができる。
【0126】
本発明の実施例によると、時間的候補予測ブロックから算出された候補予測動きベクトルに対しても第1の空間的候補予測グループから算出された候補予測動きベクトル及び第2の空間的候補予測グループから算出された候補予測動きベクトルのスケーリング可否を判断せずに独立的にスケーリングを実行することができる。また、他の方法により時間的候補予測ブロック(Colocatedブロック)に対してスケーリングを実行しない。例えば、計算複雑度を減少させる具現が必要な場合、スケーリングを実行しない、又はフラグ情報を介してColocatedブロックの動きベクトルに対して適応的にスケーリングを実行しないように設定する方法を介して時間的候補予測ブロックに対するスケーリングを実行しない。前記の過程を介して第1の空間的候補予測グループ、第2の空間的候補予測グループ又は時間的候補予測ブロックから算出されることができる動きベクトルが存在する場合、可用性情報フラグ(availableFlagLXY又はavailableFlagCol)を利用して可用な候補予測動きベクトルが存在することを表示することができる。
【0127】
図6と同様に、前述したように、候補予測動きベクトルを算出するにあたって、前述したように、第1の空間的候補予測グループに含まれているブロックの個数及び位置、第2の空間的候補予測グループに含まれているブロックの個数及び位置、時間的候補予測ブロックの個数及び位置は、任意であり、第1の空間的候補予測グループ及び第2の空間的候補予測グループに含まれるブロックの個数及び位置は、変わることができ、このような実施例も本発明の権利範囲に含まれる。
【0128】
図7のように第1の空間的候補予測グループ及び第2の空間的候補予測グループの両方ともに対してスケーリングを実行することも可能であるが、本発明の実施例によると、第1の空間的候補予測グループ又は第2の空間的候補予測グループのうち少なくとも一つのグループでのみスケーリングを実行することもできる。
【0129】
例えば、第1の空間的候補予測グループに対してのみスケーリングを実行することができる。第1の空間的候補予測グループに対してのみスケーリングを実行する場合、
図7と類似するが、
図7のステップS730において、第2の空間的候補予測グループから候補予測動きベクトルを誘導するために第2の空間的候補予測グループにスケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)が存在するかどうかを判断した後、スケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)に対してスケーリングを実行せずにスケーリングを実行しない第3の動きベクトル又は第4の動きベクトルを候補予測動きベクトルとして使用することができる。
【0130】
同様の方法として、第2の空間的候補予測グループに対してのみスケーリングを実行することもできる。このような場合ステップS710において、第1の空間的候補予測グループから候補予測動きベクトルを誘導するために第1の空間的候補予測グループにスケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)が存在するかどうかを判断した後、スケーリング動きベクトル(第3の動きベクトル又は第4の動きベクトル)に対してスケーリングを実行せずにスケーリングを実行しない第3の動きベクトル又は第4の動きベクトルを候補予測動きベクトルとして使用することができる。
【0131】
他の方法として、スケーリング可否を示す所定のフラグ情報を利用して候補予測動きベクトルに対して1回のスケーリングのみを使用するようにすることができる。例えば、第1の空間的候補予測グループで一回のスケーリングが実行された場合、第2の空間的候補予測グループではスケーリングが実行されないようにし、第1の空間的候補予測グループでスケーリングが実行されない場合、第2の空間的候補予測グループでスケーリングを使用するようにフラグ情報を利用してスケーリング可否を表示することができる。
【0132】
図8は、本発明の実施例に係る追加候補予測動きベクトルを算出する過程を示すフローチャートである。
【0133】
図8では候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数に基づいて現在候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が最大でない場合、追加の候補予測動きベクトルを候補予測動きベクトルリストに追加する方法に対して開示する。追加の候補予測動きベクトルを候補予測動きベクトルリストに追加する方法を利用して動きベクトル予測時、符号化効率を向上させることができる。
【0134】
図8を参照すると、空間的候補予測グループ又は時間的候補予測ブロックから誘導された候補予測動きベクトルの個数が候補予測動きベクトルリストの大きさより小さいかどうかを判断する(ステップS800)。
【0135】
誘導された候補予測動きベクトルの数と候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数が同じ場合、前記誘導された候補予測動きベクトルのみを候補予測動きベクトルリストに含ませて予測対象ブロックの候補予測動きベクトルとして使用することができる。以下、本発明の実施例では誘導された候補予測動きベクトルの数は、空間的候補予測グループ及び時間的候補予測ブロックから誘導された候補予測動きベクトルで重なる候補予測動きベクトルを除去し、残った候補予測動きベクトルの数を意味する。
【0136】
誘導された候補予測動きベクトルが候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数より小さい場合、追加の候補予測動きベクトルを算出する(ステップS810)。
【0137】
追加の候補予測動きベクトルを算出する方法として、スケーリングを実行する方法、オフセットを使用する方法、統計的結果を使用する方法など、多様な候補予測動きベクトル算出方法が使われることができる。以下、本発明の実施例で追加候補予測動きベクトルを算出する方法を詳細に開示する。
【0138】
算出された追加の候補予測動きベクトルが候補予測動きベクトルリストに含まれている動きベクトルと重なるかどうかを判断する(ステップS820)。
【0139】
算出された追加の候補予測動きベクトルが候補予測動きベクトルリストに含まれている動きベクトルと重なる場合、新たな追加候補予測動きベクトルを誘導する(ステップS810)。
【0140】
算出された追加の候補予測動きベクトルが候補予測動きベクトルリストに含まれている動きベクトルと重複しない場合、算出された追加候補予測動きベクトルを候補予測動きベクトルリストに含ませる(ステップS830)。
【0141】
図9は、本発明の他の実施例に係る追加候補予測動きベクトルを算出する方法を示す順序図である。
【0142】
図9は、ステップS810で詳述した追加候補予測動きベクトルを誘導する方法のうちスケーリングを利用した方法を示す。
【0143】
図9を参照すると、空間的候補予測ブロック900を、2個の動きベクトル(参照ピクチャリストL0に含まれているn-1ピクチャを参照する動きベクトル920及び参照ピクチャリストL1に含まれているn+1ピクチャを参照する動きベクトル940)に基づいて画面間予測を実行する予測ブロックと仮定することができる。
【0144】
予測対象ブロックの候補予測動きベクトルを算出するにあたって、上端予測ブロックの動きベクトルのうち参照ピクチャリストL0のn-1ピクチャを参照する動きベクトル920は、重複性除去のために候補予測動きベクトルリストから除去され、残りの参照ピクチャリストL1のn+1ピクチャを参照する動きベクトル940のみが候補予測動きベクトルとして使われると仮定する場合、まだ追加候補予測動きベクトルとして使用しない参照ピクチャリストL1を参照する動きベクトル940をスケーリングして誘導された動きベクトルを追加候補予測動きベクトルとして使用することができる。
【0145】
即ち、参照ピクチャリストL1方向のn+1ピクチャを参照する動きベクトルを、現在予測ブロックのL0リストに含まれている参照ピクチャn-1と参照ピクチャリストL1方向のn+1ピクチャとの間の距離を基準にスケーリングを実行して算出された動きベクトルを追加候補予測動きベクトルとして候補予測動きベクトルリストに含ませることができる。このような動きベクトルを反対方向スケーリング候補予測動きベクトルと定義することができる。
【0146】
即ち、本発明の実施例によると、ref_list[X]、X=0又は1を参照する予測ブロックから候補予測動きベクトルが誘導された場合、ref_list[1-X]を参照する動きベクトルを、予測ブロックの参照ピクチャを基準にスケーリングして追加候補予測動きベクトルとして誘導して使用することができる。
【0147】
本発明の他の実施例に係る追加候補予測動きベクトルを算出する方法としてオフセットに基づいた方法が使われることができる。
【0148】
例えば、候補予測動きベクトルリスト内の候補予測動きベクトルのうち一つの候補予測動きベクトルが{mvp_x,mvp_y}の場合、動きベクトルのX成分とY成分にそれぞれのオフセットα、βを加えて追加候補予測動きベクトル{mvp_x+α,mvp_y+β}を誘導することができる。
【0149】
このとき、オフセット値は、ピクチャ単位、スライス単位、LCU(largest coding unit)単位、CU単位、PU単位に送信されることができる。
【0150】
オフセット値は、符号化/復号化された動きベクトル差分(MVD:motion vector difference)値に基づいて算出されることができる。特定の映像単位を基準に最も多く発生したMVD値に高い優先順位を割り当ててオフセット値として使用することができる。多発したMVD値の順に優先順位を有するリストを算出することができ、追加候補予測動きベクトルの個数が複数個の場合、リスト内で優先順位順序に候補予測動きベクトルリスト内の候補予測動きベクトルにオフセットを加えて新たな候補予測動きベクトルを誘導することができる。
【0151】
本発明の他の実施例に係る追加候補予測動きベクトルを算出する方法として統計的な方法を使用することができる。
【0152】
例えば、所定のスライスに含まれている予測ブロックの動きベクトルを発生頻度順序に整列し、整列された動きベクトル値のうち少なくとも一つのベクトル値を予測対象ブロックの候補予測動きベクトルとして使用することができる。このとき、複雑度を減少させるために所定の限界値を設定して発生可否及び頻度数をチェックする動きベクトル値を一定の数に制限することができる。
【0153】
追加候補予測動きベクトルを算出するにあたって、統計的な方法を使用する他の実施例として既に符号化及び復号化されたスライスで最も発生頻度数が多い候補予測動きベクトル値を追加候補予測動きベクトルとして使用することができる。
【0154】
このとき、符号化/復号化対象ピクチャ又はスライスで符号化/復号化されたピクチャ又はスライスの動きベクトルを参照することは、ビットストリームでエラーが発生する場合、正常に参照することができないため、発生頻度数が高い動きベクトルのうち少なくとも一つ以上をビットストリーム内の上位レベルシンタックス要素(picture parameter set、adaptive parameter set、slice header等)で符号化/復号化することができる。
【0155】
図10は、本発明の実施例に係る予測動きベクトルを算出する方法を示すフローチャートである。
【0156】
以下、予測動きベクトルは、候補予測動きベクトルのうち最適の動きベクトルとして選択された動きベクトルを定義する用語で使用することができる。
【0157】
図10を参照すると、予測対象ブロックの予測動きベクトルが零ベクトルかどうかを判断し、シンタックス要素情報を介して入力を受けることができる。シンタックス要素情報を介して予測動きベクトルが零ベクトルという情報が送信された場合、予測対象ブロックの予測動きベクトルとして使用する候補予測動きベクトルに対して判断するための候補予測動きベクトルリスト情報及びインデックス情報を追加的に符号化及び復号化しないことによって符号化及び復号化過程の複雑度を減少させることができる。このとき、零ベクトルは、ベクトルのx成分とy成分の値の両方ともが0で構成された(0,0)ベクトルを意味する。
【0158】
予測動きベクトルが零ベクトルかどうかを判断する(ステップS1000)。
【0159】
所定のシンタックス要素情報を算出するために予測対象ブロックに使われる予測動きベクトルが零ベクトルかどうかを判断する。
【0160】
予測動きベクトルが零ベクトルの場合、シンタックス要素である零ベクトル決定フラグ(zero_mvp_flag)を1に設定し(ステップS1010)、予測動きベクトルが零ベクトルでない場合、シンタックス要素である零ベクトル決定フラグを0に設定する(ステップS1020)。
【0161】
シンタックス要素である零ベクトル決定フラグ(zero_mvp_flag)は、現在予測ブロックで使われる予測動きベクトルが零ベクトルということを表示するフラグの例示である。予測対象ブロックで使われる予測動きベクトルが零ベクトルという情報は、フラグ情報でない他の形態のシンタックス要素情報で表現されることができる。
【0162】
予測動きベクトルが零ベクトルでない場合、予測動きベクトルのインデックス情報を符号化する(ステップS1030)。
【0163】
予測動きベクトルが零ベクトルでない場合、
図3乃至
図8で詳述した方法のように候補予測動きベクトルを算出する方法を使用して算出した候補予測動きベクトルリストに基づいて候補予測動きベクトルのうち、予測動きベクトルとして使われたベクトルに対するインデックス情報を符号化することができる。
【0164】
図11は、本発明の他の実施例に係る予測動きベクトルを算出する方法を示すフローチャートである。
【0165】
図11では
図10で詳述した予測動きベクトルの符号化方法に基づいた復号化方法に対して開示する。
【0166】
図11を参照すると、零ベクトル決定フラグ情報を復号化してフラグ値が1かどうかを判断する(ステップS1100)。
【0167】
前述したように、予測対象ブロックで使われる予測動きベクトルが零ベクトルという情報は、フラグ情報でない他の情報と結合されたシンタックス要素情報又は他の形態のシンタックス要素情報で表現されることができる。また、フラグ値が1かどうかを判断することは、任意であり、フラグの定義によってフラグ値が0かどうかを判断することも可能である。
【0168】
零ベクトル決定フラグ情報が1の場合、予測対象ブロックの予測動きベクトルを零ベクトルに決定する(ステップS1110)。
【0169】
零ベクトル決定フラグ情報が0の場合、予測対象ブロックの予測動きベクトルを算出するためにインデックス情報を復号化する(ステップS1120)。
【0170】
零ベクトル決定フラグ値が0と1であることは、予測対象ブロックの予測動きベクトルを零ベクトルかどうかを示すために任意に設定された値である。
【0171】
零ベクトル決定フラグ情報が0の場合、予測対象ブロックの予測動きベクトルを算出するために予測動きベクトルのインデックス情報を復号化することができる。
【0172】
復号化されたインデックス情報に基づいて現在予測ブロックの予測動きベクトルを決定する。
【0173】
表1は、零ベクトル決定フラグが含まれているシンタックス構造を示す。
【0174】
【0175】
表1を参照すると、零ベクトル決定フラグが1かどうかによって候補予測動きベクトルのインデックス情報を復号化する過程を実行することで、復号化過程で不必要に候補予測動きベクトルと候補予測動きベクトルリストを算出する過程が選択的に実行されない。
【0176】
図12は、本発明の実施例に係る予測動きベクトル算出方法を示すフローチャートである。
【0177】
図12を参照すると、候補予測動きベクトルリストを算出する(ステップS1200)。
【0178】
例えば、候補予測動きベクトルリストを算出するためには、前述した方法のように、第1の空間的候補予測グループ、第2の空間的候補予測グループ、時間的候補予測ブロックから候補予測動きベクトルを算出し、各々一つの候補予測動きベクトルが算出されると仮定すると、算出された候補予測動きベクトルは、候補予測動きベクトルリストに含まれて予測対象ブロックの予測動きベクトルを算出するために使われることができる。もし、候補予測動きベクトルリストに一定の個数の候補予測動きベクトルのみを含む場合、候補予測動きベクトルリストに一定の個数の候補予測動きベクトルが存在しないと、追加の候補予測動きベクトル(例えば、零ベクトル、スケーリングベクトル等)を候補予測動きベクトルリストに含ませることができる。第1の空間的候補予測グループ、第2の空間的候補予測グループ、時間的候補予測ブロックから算出された候補予測動きベクトルが候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数より大きい数が存在する場合、算出された候補予測動きベクトルのうち一部を除去して使用することもできる。
【0179】
予測ブロックの予測動きベクトルを候補予測動きベクトルリストから誘導する(ステップS1210)。
【0180】
本発明の実施例に係る予測動きベクトル算出方法では、候補予測動きベクトルに対するインデックス情報を使用せずに候補予測動きベクトルリスト自体で予測動きベクトルを決定することができる。符号化器で候補予測動きベクトルに対するインデックス情報を復号化器に送信する必要がないため、インデックス情報の符号化に必要なビットを節約することができて符号化効率が向上することができる。
【0181】
例えば、候補予測動きベクトルリスト自体で予測動きベクトルを決定するために候補予測動きベクトルリスト大きさによって各々異なる方法を使用することができる。候補予測動きベクトルリストの大きさは、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの最大個数を意味する。
【0182】
候補予測動きベクトルリスト大きさが0の場合、零ベクトルを予測ブロックの予測動きベクトルとして使用し、予測動きベクトルを決定するためのインデックス情報は、追加に復号化しない。
【0183】
候補予測動きベクトルリストの大きさが1の場合、候補予測動きベクトルリストに存在する候補予測動きベクトルが1個であるため、リストに存在する候補予測動きベクトルを予測ブロックの予測動きベクトルとして使用することができる。候補予測動きベクトルリスト大きさが0の場合と同様に、予測動きベクトルを決定するためのインデックス情報は、追加に復号化しない。
【0184】
候補予測動きベクトルリストの大きさが2の場合、候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち符号化/復号化対象スライス内で発生頻度数がより多い候補予測動きベクトルを、予測対象ブロックを復号化するための予測動きベクトルとして誘導することができる。複数の候補予測動きベクトルを誘導する場合、発生頻度順序に候補予測動きベクトルを整列した後、高い発生頻度の候補予測動きベクトルを予測ブロックの予測動きベクトルとして誘導することができる。このとき、候補予測動きベクトル発生頻度数計算の複雑度を減少するために、N個の候補予測動きベクトルに対してのみ発生頻度数を計算することができる(Nは、自然数)。
【0185】
候補予測動きベクトルリストの大きさが2の場合、予測動きベクトルを算出する他の実施例として以下の数式1と数式2を利用して各候補予測動きベクトルのx方向及びy方向の絶対値大きさの和を比較し、絶対値の和が小さい候補予測動きベクトルを予測ブロックの予測動きベクトルとして使用することができる。
【0186】
【0187】
【0188】
候補予測動きベクトルリストの大きさが2の場合、予測動きベクトルを算出する他の実施例として以下の数式3を使用することができる。
【0189】
【0190】
数式3を参照すると、予測動きベクトルの各成分を抽出するために、予測動きベクトルのx方向成分を二つの候補予測動きベクトルのx方向成分の平均値として使用し、予測動きベクトルのy方向成分を二つの候補予測動きベクトルのy方向成分の平均値として使用することができる。
【0191】
候補予測動きベクトルリストの大きさが2の場合、予測動きベクトルを算出する他の実施例として以下の数式4を使用することができる。
【0192】
【0193】
数式4を参照すると、予測動きベクトルの各成分を抽出するために、予測動きベクトルのx方向成分を二つの候補予測動きベクトルのx方向成分と零ベクトルの中間値(Median Value)として使用し、予測動きベクトルのy方向成分を二つの候補予測動きベクトルのy方向成分と零ベクトルの中間値として使用することができる。
【0194】
候補予測動きベクトルリストの大きさが2の場合、予測動きベクトルを算出する他の実施例として以下の数式5を使用することができる。
【0195】
【0196】
数式5を参照すると、動きベクトルの各成分を抽出するために、予測動きベクトルのx方向成分を二つの候補予測動きベクトルのx方向成分と零ベクトルの平均値として使用し、予測動きベクトルのy方向成分を二つの候補予測動きベクトルのy方向成分と零ベクトルの平均値として使用することができる。
【0197】
候補予測動きベクトルリストの大きさが2の場合、予測動きベクトルを算出する他の実施例では、前述した統計的方法で使用する発生頻度数を計算するにあたって、使われるN個の動きベクトルと頻度数計算の対象となる候補予測動きベクトルリスト内の2個の候補予測動きベクトルが異なる場合、インデックス情報に基づいて発生頻度が高いインデックス情報を予測ブロックの予測動きベクトルとして使用することができる。例えば、以前の候補予測動きベクトルリストでインデックス(Index)0に存在する候補予測動きベクトルが予測動きベクトルとして使われた場合、インデックス0値に存在する候補予測動きベクトルを予測動きベクトルとして使用することができる。
【0198】
候補予測動きベクトルリストの大きさが3の場合、候補予測動きベクトルリストに存在する候補予測動きベクトルが3個であるため、このうち一つの候補予測動きベクトルを予測動きベクトルに決定することができる。
【0199】
以下の数式6は、予測動きベクトルを決定する方法を示す。
【0200】
【0201】
数式6を参照すると、予測動きベクトルを算出するために、3個の候補予測動きベクトルのx方向成分のうち中間値に該当する候補予測動きベクトルと3個の候補予測動きベクトルのy方向成分のうち中間値に該当する候補予測動きベクトルに基づいて予測対象ブロックの予測動きベクトルを算出することができる。
【0202】
候補予測動きベクトルリストの大きさが3の場合、予測動きベクトルを算出する他の実施例として以下の数式7を使用することができる。
【0203】
【0204】
数式7を参照すると、予測動きベクトルを算出するために、3個の候補予測動きベクトルのx方向成分の平均値に該当する候補予測動きベクトルと3個の候補予測動きベクトルのy方向成分の平均値に該当する候補予測動きベクトルに基づいて予測対象ブロックの予測動きベクトルを算出することができる。
【0205】
候補予測動きベクトルリストに候補予測動きベクトルが3個存在する場合も、候補予測動きリストから一つの予測動きベクトルを算出するにあたって、インデックス情報を使用しない。
【0206】
図13は、本発明の他の実施例に係る予測動きベクトル算出方法を示すフローチャートである。
【0207】
候補予測動きベクトルリストに含まれることができる最大候補予測動きベクトルの個数がN個であり、ます、空間的候補予測グループから空間的候補予測動きベクトルが誘導され、その後、時間的候補予測ブロックから時間的候補予測動きベクトルが誘導される場合を仮定することができる。本発明の実施例によると、空間的候補予測グループから誘導された候補予測動きベクトルの個数がN個であり、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの大きさと同じ場合、時間的候補予測グループから候補予測動きベクトルが誘導されるステップ及び追加的に候補予測動きベクトルを誘導するステップを実行しない。
【0208】
即ち、本発明の実施例によると、候補予測動きベクトルリストに必要な動きベクトルが既に算出された場合、不必要な候補予測動きベクトル誘導ステップを実行しないことで、符号化及び復号化ステップで複雑度を減少させることができる。
【0209】
図13を参照すると、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数が算出された空間的候補予測動きベクトルの個数より大きいかどうかを確認する(ステップS1300)。
【0210】
候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数は制限されることができる。例えば、N個の予測動きベクトルが候補予測動きベクトルリストに含まれることができると仮定すると、空間的候補予測グループから算出された空間的候補予測動きベクトルがN個より小さい場合、時間的候補予測ブロックから時間的予測動きベクトルを算出し、又は追加予測動きベクトルを算出することができる。一方、N個の予測動きベクトルが候補予測動きベクトルリストに含まれることができると仮定すると、空間的候補予測グループから算出された空間的候補予測動きベクトルがN個より大きい又は同じ場合、時間的候補予測ブロックから時間的予測動きベクトルを算出し、又は追加予測動きベクトルを算出しなくても候補予測動きベクトルリストを算出することができる(ステップS1320)。
【0211】
空間的候補予測グループから算出された空間的候補予測動きベクトルがN個より小さい場合、時間的候補予測動きベクトル又は追加予測動きベクトルを算出する(ステップS1310)。このとき、追加予測動きベクトルは、零ベクトルである。
【0212】
候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数が算出された空間的候補予測動きベクトルの個数より大きいかどうかを確認するステップを介して候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数が算出された空間的候補予測動きベクトルの個数より大きい場合、時間的予測動きベクトル又は追加予測動きベクトルを算出するステップS1310を介して算出された候補予測動きベクトルを候補予測動きベクトルリストに含ませることができる。
【0213】
算出された空間的候補予測動きベクトル、時間的候補予測動きベクトル又は追加予測動きベクトルを利用して候補予測動きベクトルリストを算出する(ステップS1320)。
【0214】
図14は、本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【0215】
図14を参照すると、空間的候補予測動きベクトルを算出する(ステップS1400)。
【0216】
予測対象ブロックの空間的な周辺に位置した符号化/復号化されたブロック(又は周辺予測ブロック)から複数個の空間的候補予測動きベクトル関連情報を誘導することができる。空間的候補予測動きベクトル関連情報は、空間的候補予測動きベクトル可用性情報(availableFlagLXN)及び空間的候補予測動きベクトル(mvLXN)のうち少なくとも一つを含む情報を示すことができる。即ち、空間的候補予測動きベクトル可用性情報及び空間的候補予測動きベクトルの両方ともを含む情報の単位を空間的候補予測動きベクトル関連情報といい、又は空間的候補予測動きベクトル又は空間的候補予測動きベクトル可用性情報のうち一つを空間的候補予測動きベクトル関連情報ということができる。
【0217】
例えば、
図3のように予測対象ブロックXの上端に隣接したブロックであるB1、予測対象ブロックの左側に隣接したブロックであるA1、予測対象ブロックの右側上端コーナに位置したブロックであるB0、予測対象ブロックの左側上端コーナに位置したブロックであるB2、予測対象ブロックの左側下端コーナに位置したブロックであるA0に該当するブロックから空間的候補予測動きベクトルを誘導し、予測対象ブロックに対する空間的候補予測動きベクトルとして決定することができる。ブロックA0、A1、B0、B1及びB2ブロック(以下、空間的候補予測ブロックという)で符号化/復号化対象ブロックに対する空間的候補予測動きベクトルは、最大2個が算出されることができる。以下、A0、A1、B0、B1及びB2ブロックを空間的候補予測ブロックといい、A0、A1ブロックを第1の空間的候補予測ブロックグループ、B0、B1及びB2ブロックを第2の空間的候補予測グループに分類することができる。
【0218】
このような空間的候補予測グループは、一つの例示に過ぎず、他の位置のブロックで空間的候補予測グループを生成することができ、このような実施例も本発明の権利範囲に含まれる。以下、本発明の実施例では、説明の便宜上、前述した位置に存在するブロックで構成された空間的候補予測ブロックグループを仮定して説明する。
【0219】
このとき、空間的候補予測ブロックから空間的候補予測動きベクトルが誘導された場合、availableFlagLXYを1に設定し、そうでない場合、0に設定する。そして、availableFlagLXYにおけるLXは、参照映像リストL0とL1のうち、予測対象ブロックが参照する参照映像リストに対して示し、LXは、L0又はL1に代替されることができる。また、availableFlagLXYにおけるYは、空間的候補予測動きベクトルが誘導された位置を示し、
図2のように、A0又はA1位置のブロックから空間的候補予測動きベクトルが誘導された場合、YはAとなり、B0、B1、又はB2位置のブロックから空間的候補予測動きベクトルが誘導された場合、YはBとなることができる。このとき、参照映像リスト(Reference Picture List)は、画面間予測又は動き補償に使われる参照映像が含まれているリストを意味する。参照映像リストの種類は、LC(List Combined)、L0(List0)、L1(List1)などがある。そして、参照映像(Reference Picture)は、画面間予測又は動き補償のために特定ブロックが参照する映像を意味する。
【0220】
例えば、A0又はA1位置のブロックから一つの空間的候補予測動きベクトルが誘導することができ、B0、B1、又はB2位置のブロックから一つの空間的候補予測動きベクトルが誘導することができる。このとき、予測対象ブロックが参照映像リストL0を参照し、A0位置のブロックから一つの空間的候補予測動きベクトルが誘導され、B1位置のブロックから一つの空間的候補予測動きベクトルが誘導された場合、availableFlagL0Aは1に設定し、availableFlagL0Bも1に設定する。即ち、availableFlagLXYは、予測対象ブロックが参照映像リストLXを参照する場合、所定の位置のブロックから誘導された空間的候補予測動きベクトルが存在するかを示す。
【0221】
また、前述した
図4を参照すると、誘導されることができる空間的候補予測動きベクトルは、下記のように4個の動きベクトルに分類することができる。
【0222】
(1)第1の動きベクトル:所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照映像リスト及び参照映像と符号化/復号化対象ブロックの参照映像リスト及び参照映像とが同じ場合、該当ブロックから誘導される候補予測動きベクトル。
【0223】
(2)第2の動きベクトル:所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照映像リストと符号化/復号化対象ブロックの参照映像リストが異なるが、該当ブロックと符号化/復号化対象ブロックが互いに同じ参照映像を参照する場合、該当ブロックから誘導される候補予測動きベクトル。
【0224】
(3)第3の動きベクトル:所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照映像リストと符号化/復号化対象ブロックの参照映像リストが同じであるが、該当ブロックの参照映像と符号化/復号化対象ブロックの参照映像が異なる場合、該当ブロックの動きベクトルにスケーリングを実行して算出された候補予測動きベクトル。
【0225】
(4)第4の動きベクトル:所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照映像リスト及び参照映像と、符号化/復号化対象ブロックの参照映像リスト及び参照映像とが異なる場合、該当ブロックの動きベクトルにスケーリングを実行して算出された候補予測動きベクトル。
【0226】
前記のように分類された4個の空間的候補予測動きベクトルが空間的候補予測ブロックに存在するかどうかを下記の順序によって探索することができる。
【0227】
(1)第1の空間的候補予測ブロックグループ
【0228】
1)A0ブロックに第1の動きベクトル又は第2の動きベクトルが存在するかどうかを判断。
【0229】
2)A1ブロックに第1の動きベクトル又は第2の動きベクトルが存在するかどうかを判断。
【0230】
3)A0ブロックに第3の動きベクトル又は第4の動きベクトルが存在するかどうかを判断。
【0231】
4)A1ブロックに第3の動きベクトル又は第4の動きベクトルが存在するかどうかを判断。
【0232】
前記の1)~4)を順次に実行して該当ブロックに条件を満たす空間的候補予測動きベクトルが存在するかどうかを判断することができ、条件を満たす空間的候補予測動きベクトルが存在する場合、該当存在する動きベクトルを誘導し、次の手順は実行されない。例えば、1)を満たす空間的候補予測動きベクトルが存在する場合、2)乃至4)手順は実行されない。
【0233】
3)及び4)を介して条件を満たす空間的候補予測動きベクトルが第3の動きベクトル又は第4の動きベクトルの場合、スケーリングを介して空間的候補予測動きベクトルを算出することができ、このような場合、スケーリング実行可否を表示するフラグ情報を使用してスケーリングが使われたことを示すことができる。または、ブロックA0が可用であり、ブロックA0が画面内予測モードを使用しない場合、又はブロックA1が可用であり、ブロックA1が画面内予測モードを使用しない場合は、スケーリング可否表示フラグを1に設定し、A0ブロック及びA1ブロックが可用しない、又は画面内予測を使用する場合のように第1の空間的候補予測ブロックグループから空間的候補予測動きベクトルを算出することができない場合、スケーリング可否表示フラグを0に設定し、第2の空間的候補予測ブロックグループから2個の空間的候補予測動きベクトルを算出することも可能である。以下、本発明の実施例では、説明の便宜上、第1の空間的候補予測グループから第1の空間的候補予測動きベクトルが算出され、第2の空間的候補予測グループから第2の空間的候補予測動きベクトルが算出される場合を仮定して説明する。
【0234】
以下、第2の空間的候補予測ブロックグループから空間的候補予測動きベクトルを算出する順序を示す。
【0235】
(2)第2の空間的候補予測ブロックグループ
【0236】
1)B0ブロックに第1の動きベクトル又は第2の動きベクトルが存在するかどうかを判断。
【0237】
2)B1ブロックに第1の動きベクトル又は第2の動きベクトルが存在するかどうかを判断。
【0238】
3)B2ブロックに第1の動きベクトル又は第2の動きベクトルが存在するかどうかを判断。
【0239】
4)B0ブロックに第3の動きベクトル又は第4の動きベクトルが存在するかどうかを判断。
【0240】
5)B1ブロックに第3の動きベクトル又は第4の動きベクトルが存在するかどうかを判断。
【0241】
6)B2ブロックに第3の動きベクトル又は第4の動きベクトルが存在するかどうかを判断。
【0242】
第1の空間的候補予測動きベクトルを算出する時と同様に、前記の1)から6)を順次に実行して該当ブロックに条件を満たす空間的候補予測動きベクトルが存在するかどうかを判断することができ、条件を満たす空間的候補予測動きベクトルが存在する場合、該当存在する動きベクトルを誘導し、次の手順は実行されない。
【0243】
また、空間的候補予測動きベクトルは、最大N個まで誘導することができる。このとき、Nは正の定数であり、一例として、Nは2である。
【0244】
誘導された2個の空間的候補予測動きベクトルが互いに異なるかどうかを判断する(ステップS1410)。
【0245】
本発明の実施例によると、空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報(例えば、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルのうち少なくとも一つ)を決定することができる。即ち、ステップS1400において、誘導された空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトルを誘導すするかどうかを決定することができる。
【0246】
誘導された2個の空間的候補予測動きベクトルが互いに異なるかどうかを判断するために2個の空間的候補予測動きベクトルを誘導することができるかどうかを判断し、2個の空間的候補予測動きベクトルが誘導された場合、誘導された空間的候補予測動きベクトルが互いに異なるかどうかを判断するためにavailableFlagLXAとavailableFlagLXBの両方ともが1であり、mvLXAとmvLXBが異なるかどうかを判断する。availableFlagLXAは、第1の空間的候補予測グループから第1の空間的候補予測動きベクトルが算出可能かどうかを示すフラグであり、availableFlagLXBは、第2の空間的候補予測グループから第2の空間的候補予測動きベクトルが算出可能かどうかを示すフラグである。例えば、第1の空間的候補予測グループから第1の空間的候補予測動きベクトルが算出可能な場合、availableFlagLXAは、1に設定されることができる。mvLXAは、第1の空間的候補予測動きベクトルとしてavailableFlagLXAが可用な場合に算出されることができ、mvLXBは、第2の空間的候補予測動きベクトルとしてavailableFlagLXBが可用な場合に算出されることができる。
【0247】
以下、本発明の実施例ではavailableFlagLXAを第1の空間的候補予測動きベクトル可用性情報と定義し、availableFlagLXBを第2の空間的候補予測動きベクトル可用性情報と定義して使用することができる。また、mvLXAは第1の空間的候補予測動きベクトルと定義し、mvLXBは第2の空間的候補予測動きベクトルと定義することができる。
【0248】
availableFlagLXAとavailableFlagLXBの両方ともが1であり、mvLXAとmvLXBが異なり、候補予測動きベクトルリストに含まれることができる最大の候補予測動きベクトルリストが2個と仮定すると、空間的候補予測動きベクトルで候補予測動きベクトルリストを構成することができるため、追加的な候補予測動きベクトルの誘導が必要でなくて、Colocatedブロック(時間的候補予測ブロック)から誘導される候補予測動きベクトルである時間的候補予測動きベクトルを誘導する必要がない。したがって、時間的候補予測動きベクトルが可用するかどうかを表示するフラグ情報であるavailableFlagLXColを0に設定し、以下説明するステップS1430のように誘導された空間的候補予測動きベクトルのみで候補予測動きベクトルリストを算出する。即ち、前記時間的候補予測動きベクトルを誘導しないため、候補予測動きベクトル誘導過程の複雑度を減少させることができる。
【0249】
即ち、空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定することができる。
【0250】
availableFlagLXAとavailableFlagLXBの両方ともが1の場合、選択的にmvLXAとmvLXBが異なるどうかを判断することも可能である。例えば、二つの判断条件を使用して1)availableFlagLXAとavailableFlagLXBの両方ともが1かどうかを判断するステップと、2)availableFlagLXAとavailableFlagLXBの両方ともが1の場合、mvLXAとmvLXBが異なるかどうかを判断するステップと、を実行することができる。
【0251】
空間的候補予測動きベクトルが2個誘導されない、又は誘導された2個の空間的候補予測動きベクトルが互いに同じ場合、Colocatedブロックから時間的候補予測動きベクトルを算出する(ステップS1420)。
【0252】
即ち、ステップS1420では空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定することができる。
【0253】
availableFlagLXAとavailableFlagLXBの両方ともが1でない、又はmvLXAとmvLXBが同じ場合、Colocatedブロックから時間的候補予測動きベクトルを算出する。
【0254】
候補予測動きベクトルリストに2個の候補予測動きベクトルが含まれなければならないと仮定すると、availableFlagLXAとavailableFlagLXBの両方ともが1でない、又はmvLXAとmvLXBが同じ場合、候補予測動きベクトルリストに2個の候補予測動きベクトルが含まれないため、Colocatedブロックから時間的候補予測動きベクトルを算出しなければならない。
【0255】
以下の表2及び表3は、空間的候補予測動きベクトルが誘導された結果によって時間的候補予測動きベクトルの誘導過程実行可否を示す。
【0256】
【0257】
【0258】
表2及び表3を参照すると、空間的候補予測動きベクトルを算出した場合、空間的候補予測動きベクトルが可用するかどうかを示すavailableFlagLXYと誘導された空間的候補予測動きベクトルの同一性可否によって、時間的候補予測動きベクトル誘導過程は四つに分けられることができる。以下、空間的候補予測動きベクトルのavailableFlagLXYによる四つに対して時間的候補予測動きベクトル誘導に対して説明する。
【0259】
(1)1個の空間的候補予測動きベクトルが誘導される場合であり、availableFlagLXAは1であり、availableFlagLXBは0の場合、又はavailableFlagLXAは0でありavailableFlagLXBは1の場合である。1の場合は一つの空間的候補予測動きベクトルのみ誘導されるため、空間的候補予測動きベクトルの同一性を判断することができない。候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数が2個の場合、追加の候補予測動きベクトルを算出するために時間的候補予測動きベクトルを誘導するステップを実行する。そして、時間的候補予測動きベクトルが誘導されると、availableFlagLXColを1に設定し、そうでない場合、availableFlagLXColを0に設定する。
【0260】
(2)2個の空間的候補予測動きベクトルが誘導される場合であり、availableFlagLXA及びavailableFlagLXBが1の場合である。誘導された空間的候補予測動きベクトルが同じ値を有すると、同じ空間的候補予測動きベクトルのうち一つの候補予測動きベクトルは除去される。残った候補予測動きベクトルが一個であるため、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数が2個である場合、追加の候補予測動きベクトルを算出するために時間的候補予測動きベクトルを誘導するステップを実行する。時間的候補予測動きベクトルが誘導される場合、availableFlagLXColを1に設定し、時間的候補予測動きベクトルが誘導されない場合、availableFlagLXColを0に設定することができる。
【0261】
(3)2個の空間的候補予測動きベクトルが誘導される場合であり、availableFlagLXA及びavailableFlagLXBが1の場合である。誘導された空間的候補予測動きベクトルの値が異なると、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数が2個である場合、追加の候補予測動きベクトルを算出するために時間的候補予測動きベクトルを誘導するステップを実行する必要がなく、時間的候補予測動きベクトルの可用性を示すavailableFlagLXColを0に設定する。このとき、時間的候補予測動きベクトルの可用性情報であるavailableFlagLXColが所定の値である0の場合、時間的候補予測動きベクトルが誘導されない、又は時間的候補予測動きベクトルが可用しないということを意味する。
【0262】
(4)2個の空間的候補予測動きベクトルが誘導されない場合であり、availableFlagLXA及びavailableFlagLXBが0の場合である。このような場合、時間的候補予測動きベクトル誘導過程を実行して時間的候補予測動きベクトルを算出することができる。
【0263】
即ち、候補予測動きベクトルリストに入ることができる候補予測動きベクトルの最大個数が2個であり、空間的候補予測動きベクトル可用性情報(availableFlagLXA、availableFlagLXB)の両方ともが1であり、算出された2個の空間的候補予測動きベクトルが異なる場合、時間的候補予測動きベクトルを算出しない。
【0264】
前述した本発明の実施例では空間的候補予測動きベクトル関連情報として空間的候補予測動きベクトル可用性情報及び空間的候補予測動きベクトルの両方ともを使用して時間的候補予測動きベクトル関連情報を誘導する方法に対して開示したが、空間的候補予測動きベクトル可用性情報及び空間的候補予測動きベクトルのうち少なくとも一つの情報に基づいて空間的候補予測動き関連情報として時間的候補予測動きベクトル関連情報を誘導するために使用することもできる。
【0265】
例えば、空間的候補予測動きベクトルを誘導し、誘導された2個の空間的候補予測動きベクトルが互いに異なる値を有する場合、空間的候補予測動きベクトル可用性情報が有する値に対して判断せずに時間的候補予測動きベクトル関連情報を誘導することができる。
【0266】
以下、時間的候補予測動きベクトルを算出する方法に対して開示する。
【0267】
図15は、本発明の実施例に係る時間的候補予測動きベクトルを算出する方法を示すための概念図である。
【0268】
図15を参照すると、予測対象ブロック1500のColocatedピクチャに存在するColocatedブロック1520から時間的候補予測動きベクトルを算出することができる。
【0269】
予測対象ブロックの左側上端に位置した点が(xP,yP)、予測対象ブロックの広さ値をnPSW、予測対象ブロックの高さ値をnPSHとする場合、第1のColocatedブロック1540はColocatedピクチャに位置した点(xP+nPSW,yP+nPSH)を含むブロックになり、第2のColocatedブロック1560はColocatedピクチャに位置した点(xP+(nPSW>>1),yP+(nPSH>>1))を含むブロックになることができる。第1のColocatedブロックから時間的候補予測動きベクトルが誘導されない場合(例えば、第1のColocatedブロックが画面内予測符号化された場合)、第2のColocatedブロックから時間的候補予測動きベクトルが誘導されることができる。算出される時間的候補予測動きベクトルの個数は制限されることができる。例えば、最大1個の時間的候補予測動きベクトルのみが算出されるようにする場合、第1のColocatedブロックから時間的候補予測動きベクトルが算出されると、第2のColocatedブロックでは時間的候補予測動きベクトルを算出しない。時間的候補予測動きベクトルの場合、予測対象ブロックが含まれているピクチャと予測対象ブロックの参照ピクチャとの間の距離と、Colocatedブロックが含まれているピクチャとColocatedブロックの参照ピクチャとの間の距離と、の関係に基づいて時間的候補予測動きベクトル値をスケーリングして使用することができる。
【0270】
時間的候補予測動きベクトルが誘導されたかどうかによってavailableFlagLXColの値が決定される。availableFlagLXColにおけるLXは、参照映像リストL0とL1のうち、符号化/復号化対象ブロックが参照する参照映像リストに対して示し、LXは、L0又はL1に代替されることができる。時間的候補予測動きベクトルが誘導された場合、availableFlagLXColを1に設定し、時間的候補予測動きベクトルが誘導されない場合、availableFlagLXColを0に設定することができる。
【0271】
例えば、符号化/復号化対象ブロックが参照映像リストL0を参照し、
図15のH位置ブロックから時間的候補予測動きベクトルが誘導された場合、availableFlagL0Colを1に設定し、時間的候補予測動きベクトルが誘導されない場合、availableFlagL0Colを0に設定する。
【0272】
誘導された候補予測動きベクトルを候補予測動きベクトルリストに追加する(ステップS1430)。
【0273】
誘導された空間的候補予測動きベクトル及び時間的候補予測動きベクトルを、誘導された順序通りに候補予測動きベクトルリストに追加する。例えば、候補予測動きベクトルリストは、availableFlagLXA、availableFlagLXB、そして、availableFlagLXColの値によって候補予測動きベクトルを候補予測動きベクトルリストに追加することができる。例えば、availableFlagLXAは1であり、availableFlagLXBは0であり、そして、availableFlagLXColは1の場合、一つの空間的候補予測動きベクトルmvLXAと一つの時間的候補予測動きベクトルmvLXColを候補予測動きベクトルリストに追加する。他の例として、availableFlagLXAは1であり、availableFlagLXBは1であり、そして、availableFlagLXColは0の場合、2個の空間的候補予測動きベクトルmvLXAとmvLXBを候補予測動きベクトルリストに追加する。
【0274】
他の実施例として、空間的候補予測動きベクトル可用性情報又は時間的候補予測動きベクトル可用性情報に対して判断せずに空間的候補予測動きベクトル又は時間的候補予測動きベクトルが誘導される場合、直接候補予測動きベクトルリストに追加することも可能である。
【0275】
候補予測動きベクトルリストの大きさは、所定の大きさに制限されることができる。例えば、所定の大きさは3であり、候補予測動きベクトルリストに最初に追加された候補予測動きベクトルはインデックス値0を有し、最後に追加された候補予測動きベクトルはインデックス値2を有することができる。
【0276】
即ち、候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの最大個数である最大候補予測動きベクトル数より小さいかどうかを判断することができる。判断結果に基づいて前記候補予測動きベクトルリストに候補予測動きベクトルを追加又は除去することができる。
【0277】
例えば、候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記最大候補予測動きベクトル数より小さい場合、前記候補予測動きベクトルリストに零ベクトルを追加することができる。また、候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記最大候補予測動きベクトル数より大きい又は同じ場合、前記候補予測動きベクトルが前記最大候補予測動きベクトル数ほど前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルのうち一部の候補予測動きベクトルを前記候補予測動きベクトルリストから除去することができる。
【0278】
図16は、本発明の実施例に係る候補予測動きベクトルリストを算出する方法を示す概念図である。
【0279】
図16を参照すると、A1ブロックからスケーリングされない空間的候補予測動きベクトル(1,0)が誘導され、B1ブロックからスケーリングされた空間的候補予測動きベクトル(-2,0)が誘導され、Hブロックからスケーリングされた時間的候補予測動きベクトル(4,1)が誘導された場合、誘導された候補予測動きベクトルは、誘導された順序通りに右側の表のように候補予測動きベクトルリストに追加される。このとき、A1位置のブロックから誘導された候補予測動きベクトルインデックス値は0であり、B1の位置のブロックから誘導された候補予測動きベクトルインデックス値は1であり、Hの位置のブロックから誘導された候補予測動きベクトルインデックス値は2である。
【0280】
もし、表3の3番の場合のように、候補予測動きベクトルリストの大きさが2であり、誘導された空間的候補予測動きベクトルが2個であり、空間的候補予測動きベクトル2個が互いに異なる場合、候補予測動きベクトルリストの大きさが2であるため、時間的候補予測動きベクトルを別に誘導する必要無しに誘導された空間的候補予測動きベクトルに順次にインデックスを付与して候補予測動きベクトルリストを構成することができる。
【0281】
同じ候補予測動きベクトルを除去して候補予測動きベクトルリストを再構成する(ステップS1440)。
【0282】
候補予測動きベクトルリストに含まれている空間的候補予測動きベクトルと時間的候補予測動きベクトルのうち同じ候補予測動きベクトルが存在するかどうかを判断し、同じ候補予測動きベクトルが存在する場合、同じ候補予測動きベクトルのうち一つを除去することで、候補予測動きベクトルリストを再構成する。
【0283】
例えば、候補予測動きベクトルリストを構成する第1の空間的候補予測動きベクトルと第2の空間的候補予測動きベクトルが同じ場合、第2の空間的候補予測動きベクトルを候補予測動きベクトルリストから除去することができる。
【0284】
図17は、本発明の実施例に係る候補予測動きベクトルリストから同じ候補予測動きベクトルを除去することを示す概念図である。
【0285】
図17を参照すると、候補予測動きベクトルリストに含まれているインデックス0及びインデックス1の候補予測動きベクトルが同じベクトルの場合、このうち小さいインデックス値を有する候補予測動きベクトルのみを残し、残りの同じ値を有する候補予測動きベクトルを除去することができる。除去された候補予測動きベクトルのインデックス値より大きいインデックス値を有する候補予測動きベクトルのインデックス値を、除去された候補予測動きベクトルの個数ほど変化させる。
【0286】
候補予測動きベクトルを追加及び除去して候補予測動きベクトルリストの大きさを調整する(ステップS1450)。
【0287】
候補予測動きベクトルリストに候補予測動きベクトルを追加し、又は除去して候補予測動きベクトルリストの大きさを調整することができる。Pが候補予測動きベクトルリスト内の候補予測動きベクトルの個数であり、Qが最終候補予測動きベクトルリストの大きさである場合、Pの大きさとQの大きさを同じにするために、PがQより小さい場合、候補予測動きベクトルリストに候補予測動きベクトルを追加することができ、PがQより大きい場合、候補予測動きベクトルリストから候補予測動きベクトルを除去することができる。
【0288】
図18は、本発明の実施例に係る候補予測動きベクトルを追加及び除去して候補予測動きベクトルリストの大きさを調整する方法を示す概念図である。
【0289】
例えば、候補予測動きベクトルリストの大きさが2と仮定する場合、
図18の上段を参照すると、候補予測動きベクトルリストに含まれている候補予測動きベクトルが一個であるため、候補予測動きベクトルリストに零ベクトル(0,0)を追加して候補予測動きベクトルリストを構成することができる。
【0290】
図18の下段を参照すると、候補予測動きベクトルリストに含まれている候補予測動きベクトルが3個であるため、候補予測動きベクトルリストのうちインデックス値が最も大きい一つの候補予測動きベクトルを除去して候補予測動きベクトルリストを構成することができる。
【0291】
候補予測動きベクトルリストから最終予測動きベクトルを決定する(ステップS1460)。
【0292】
前述したステップS1400~S1460を介して算出された候補予測動きベクトルリストと符号化器から送信された最終予測動きベクトルのインデックス情報に基づいて動き補償に使用する最終予測動きベクトルを決定する。
【0293】
図19は、本発明の実施例に係る候補予測動きベクトルリストで最終予測動きベクトルを決定することを示す概念図である。
【0294】
図19を参照すると、符号化器でインデックス1に該当する候補予測動きベクトルを最終予測動きベクトルとして使用したという情報を送信した場合、算出された候補予測動きベクトルリストでインデックス1に該当する候補予測動きベクトルである(-3,6)を最終予測動きベクトルとして決定することができる。
【0295】
図20は、本発明の実施例に係る候補予測動きベクトルリストを算出する方法を示すフローチャートである。
【0296】
図20では
図14乃至
図19で詳述したように、誘導された空間的候補予測動きベクトルが互いに異なる場合、時間的候補予測動きベクトルを誘導せずに空間的候補予測動きベクトルが互いに同じ場合、時間的候補予測動きベクトルを誘導して候補予測動きベクトルリストを算出する方法に対して整理する。
【0297】
1)第1の空間的候補予測ブロックグループ(A0,A1)で空間的候補予測動きベクトルが存在するかどうかを示す第1の空間的候補予測動きベクトル可用性情報と、第2の空間的候補予測ブロックグループ(B0,B1,B2)で空間的候補予測動きベクトルが存在するかどうかを示す第2の空間的候補予測動きベクトル可用性情報の両方ともが存在し、
【0298】
2)第1の空間的候補予測グループから誘導された第1の空間的候補予測動きベクトルと、第2の空間的候補予測グループから誘導された第2の空間的候補予測動きベクトルが互いに異なるかどうかを判断する(ステップS2000)。
【0299】
ステップS2000は、前述したステップS1410と同様に、可用性情報に基づいて空間的候補予測動きベクトルを誘導し、誘導された2個の空間的候補予測動きベクトルが互いに異なるかどうかを判断することができる。
【0300】
第1の空間的候補予測動きベクトルの可用性情報は、下記のようなステップを介して算出されることができる。
【0301】
第1の動きベクトル乃至第4の動きベクトルは、前述した
図4での定義と同じである。
【0302】
(1)第1の空間的候補予測ブロックグループに含まれている第1のブロック(A0)又は第2のブロック(A1)に第1の動きベクトルが存在するかどうかを判断するステップ
【0303】
(2)第1の空間的候補予測ブロックグループに含まれている第1のブロック(A0)又は第2のブロック(A1)に第1の動きベクトルが存在しない場合、第1の空間的候補予測ブロックグループの第1のブロック(A0)と第2のブロック(A1)に第2の動きベクトルが存在するかどうかを判断するステップ
【0304】
(3)第1の空間的候補予測ブロックグループに含まれている第1のブロック(A0)又は第2のブロック(A1)に第1の動きベクトル又は第2の動きベクトルが存在しない場合、第1の空間的候補予測ブロックグループの第1のブロック(A0)と第2のブロック(A1)に第3の動きベクトルが存在するかどうかを判断するステップ
【0305】
(4)第1の空間的候補予測ブロックグループに含まれている第1のブロック(A0)又は第2のブロック(A1)に第1の動きベクトル、第2の動きベクトル又は第3の動きベクトルが存在しない場合、第1の空間的候補予測ブロックグループの第1のブロック(A0)と第2のブロック(A1)に第4の動きベクトルが存在するかどうかを判断するステップ
【0306】
本発明の実施例によると、第1の空間的候補予測ブロックグループに含まれている第1のブロック(A0)と第2のブロック(A1)が存在しない、又は第1の空間的候補予測ブロックグループに含まれている第1のブロック(A0)と第2のブロック(A1)が画面内予測を実行したブロックの場合、所定のフラグ情報を利用してこのような情報を表示することができる。本発明の実施例によると、第1の空間的候補予測ブロックグループに含まれている第1のブロック(A0)と第2のブロック(A1)が存在しない、又は第1の空間的候補予測ブロックグループに含まれている第1のブロック(A0)と第2のブロック(A1)が画面内予測を実行したブロックであり、第2の空間的候補予測ブロックグループで第3のブロック、第4のブロック又は第5のブロックに第1の動きベクトル又は第2の動きベクトルが存在する場合、第2の空間的候補予測ブロックグループから誘導された第1の動きベクトル又は第2の動きベクトルを第1の空間的候補予測ベクトルとして使用することができる。
【0307】
第2の空間的候補予測動きベクトルの可用性情報は、下記のようなステップを介して算出されることができる。
【0308】
(1)第2の空間的候補予測ブロックグループに含まれている第3のブロック(B0)、第4のブロック(B1)又は第5のブロック(B2)に第1の動きベクトルが存在するかどうかを判断するステップ
【0309】
(2)第2の空間的候補予測ブロックグループに含まれている第3のブロック(B0)、第4のブロック(B1)又は第5のブロック(B2)に第1の動きベクトルが存在しない場合、第2の空間的候補予測ブロックグループの第3のブロック(B0)、第4のブロック(B1)又は第5のブロック(B2)に第2の動きベクトルが存在するかどうかを判断するステップ
【0310】
(3)第2の空間的候補予測ブロックグループに含まれている第3のブロック(B0)、第4のブロック(B1)又は第5のブロック(B2)に第1の動きベクトル又は第2の動きベクトルが存在しない場合、第2の空間的候補予測ブロックグループの第3のブロック(B0)、第4のブロック(B1)又は第5のブロック(B2)に第3の動きベクトルが存在するかどうかを判断するステップ
【0311】
(4)第2の空間的候補予測ブロックグループに含まれている第3のブロック(B0)、第4のブロック(B1)又は第5のブロック(B2)に第1の動きベクトル、第2の動きベクトル又は第3の動きベクトルが存在しない場合、第2の空間的候補予測ブロックグループの第3のブロック(B0)、第4のブロック(B1)又は第5のブロック(B2)に第4の動きベクトルが存在するかどうかを判断するステップ
【0312】
ステップS2000に開示された条件を満たさない場合、時間的候補予測動きベクトルを誘導する(ステップS2010)。
【0313】
前述したステップS2000に開示された条件を満たす場合、互いに異なる二つの空間的候補予測動きベクトルが存在するが、前述したステップS2000に開示された条件を満たさない場合、一つ以下の空間的候補予測動きベクトルが存在し、又は二つの同じ空間的候補予測動きベクトルが存在する。したがって、前述したステップS2000に開示された条件を満たさない場合、時間的候補予測動きベクトルを誘導することができる。
【0314】
ステップS2000に開示された条件を満たす場合、時間的候補予測動きベクトル可用性情報を0に設定する(ステップS2020)。
【0315】
ステップS2000に開示された条件を満たす場合、時間的候補予測動きベクトルを算出するための動作を実行せずに時間的候補予測動きベクトルが可用するかどうかを示す情報である時間的候補予測動きベクトル可用性情報を0に設定する。
【0316】
候補予測動きベクトルリストを算出する(ステップS2030)。
【0317】
候補予測動きベクトルリストは、下記のような順序にインデキシングされて算出されることができる。
【0318】
1)第1の空間的候補予測動きベクトルが可用な場合、第1の空間的候補予測動きベクトル。
【0319】
2)第2の空間的候補予測動きベクトルが可用な場合、第2の空間的候補予測動きベクトル。
【0320】
3)時間的候補予測動きベクトルが可用な場合、時間的候補予測動きベクトル。
【0321】
同じ空間的候補予測動きベクトルを除去する(ステップS2040)。
【0322】
第1の空間的候補予測動きベクトルの値と第2の空間的候補予測動きベクトル値が同じ場合、第2の空間的候補予測動きベクトルの値を候補予測動きベクトルリストから除去することができる。
【0323】
候補予測動きベクトルリストを追加及び除去して候補予測動きベクトルリストの大きさを調整する(ステップS2050)。
【0324】
候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が2より小さい場合、零ベクトルのような追加のベクトルを候補予測動きベクトルリストに追加することができ、候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が2より大きい場合、候補予測動きベクトルリストのインデックス0及びインデックス1を除いた残りの候補予測動きベクトルを除去することができる。
【0325】
候補予測動きベクトルリストから最終予測動きベクトルを決定する(ステップS2060)。
【0326】
候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち一つを予測対象ブロックの動きベクトルの予測値である最終予測動きベクトルとして使用することができる。
【0327】
以上で説明した映像符号化及び映像復号化方法は、
図1及び
図2で詳述した各映像符号化器及び映像復号化器装置の各構成部で具現されることができる。
【0328】
以上、実施例を参照して説明したが、該当技術分野において、熟練された当業者は、特許請求の範囲に記載された本発明の思想及び領域から外れない範囲内で本発明を多様に修正及び変更可能であることを理解することができる。